Dynamic UI
Build financial applications with React components and customizable templates designed for micro frontend integration.
Getting Started
Requirements
- Node.js
>= 22.0.0
Browser Support
.browserslistrc declares the minimum supported browsers for both the JavaScript and the CSS of the library:
| Browser | Minimum |
|---|---|
| Chrome / Edge | 111 |
| Firefox | 121 (and the current ESR) |
| Safari / iOS Safari | 16.2 |
The floor comes from features the library already relies on: color-mix() in table variant colors and the file input button hover (Chrome 111, Safari 16.2), and :has() in form validation and input group styles (Firefox 121).
- The library ships modern JavaScript as is:
tsctargets ES2017 syntax, but there is no API transpilation or polyfills (core-js). Dependencies such as React or framer-motion have their own minimums. npm run eslintcheckssrcwitheslint-plugin-compatagainst.browserslistrc. It detects global APIs (queueMicrotask,Object.fromEntries, …) but not instance methods (.at(),.flatMap(),MediaQueryList.addEventListener), so review those by hand.npm run stylelint:compatchecks the compileddist/css/dynamic-ui.min.css(runnpm run buildfirst). It ignores features no version of a target browser supports, such ascursoron iOS orscrollbar-widthstyling, because they only degrade the experience. caniuse-lite has no data forcolor-mix(), so this check does not catch it either.autoprefixerreads the same file when building the CSS.
Supporting older browsers requires refactoring that code and adding polyfills; open an issue first.
Installation
npm install @dynamic-framework/ui-react
For more details, visit the npm package page.
CSS Distribution Change
Important: Starting from version 2.3.0, only
dynamic-ui.cssanddynamic-ui.min.cssare distributed. The previous variantsdynamic-ui-root.cssanddynamic-ui-non-root.csshave been removed to simplify upgrades and avoid desynchronization issues.
- To customize design tokens or variables, include
dynamic-ui.cssand override the variables you need in your own stylesheet or snippet. - All default variables are included in the main bundle, ensuring safe upgrades and consistent behavior.
- For advanced customization, refer to the Storybook design tokens documentation and docs.modyo.com.
Development Commands
For local development and testing, you can use the following commands after clone the project:
-
Install deps: Install required deps for development
npm install -
Build: Compiles the project for distribution.
npm run build -
Test: Runs all unit tests.
npm test -
Test with Coverage: Runs unit tests and generates a coverage report.
npm run test:coverage -
Storybook: Starts the Storybook development server to browse components.
npm run storybook
Documentation and Useful Links
- Official Documentation: Find guides and in-depth documentation at docs.modyo.com/en/dynamic.
- Framework Website: dynamicframework.dev.
- Component Catalog (Storybook): react.dynamicframework.dev.
Made with 💚 by Modyo