@shohojdhara/atomix 0.1.17 → 0.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +151 -0
- package/NEXTJS_INTEGRATION.md +358 -0
- package/README.md +168 -119
- package/babel.config.js +58 -0
- package/css.d.ts +10 -0
- package/dist/css/atomix.css +1 -1
- package/dist/js/244.js +1 -0
- package/dist/js/atomix.react.cjs.js +1 -0
- package/dist/js/atomix.react.esm.js +1 -1
- package/dist/js/atomix.react.umd.js +1 -1
- package/dist/js/chunks/cjs/202.9d3b1ef1eaa0d5c8a309.js +1 -0
- package/dist/js/chunks/cjs/308.6ea9685ea38ead4120d0.js +1 -0
- package/dist/js/chunks/cjs/54.73db6922594e421ba6b1.js +1 -0
- package/dist/js/chunks/cjs/619.51feecaadcab819780d4.js +1 -0
- package/dist/js/chunks/cjs/690.90f6d11164081cbcbc4d.js +1 -0
- package/dist/js/chunks/cjs/894.24877561df336a8dfd14.js +1 -0
- package/dist/js/chunks/cjs/897.6c2a71fae95338890de7.js +1 -0
- package/dist/types/components/{Navbar → Navigation/Menu}/MegaMenu.d.ts +1 -1
- package/dist/types/components/{Navbar → Navigation/Menu}/Menu.d.ts +1 -1
- package/dist/types/components/Navigation/Nav/Nav.d.ts +20 -0
- package/dist/types/components/{Navbar → Navigation/Nav}/NavDropdown.d.ts +1 -1
- package/dist/types/components/Navigation/Nav/NavItem.d.ts +33 -0
- package/dist/types/components/Navigation/Navbar/Navbar.d.ts +19 -0
- package/dist/types/components/Navigation/SideMenu/SideMenu.d.ts +20 -0
- package/dist/types/components/Navigation/SideMenu/SideMenuItem.d.ts +30 -0
- package/dist/types/components/Navigation/SideMenu/SideMenuList.d.ts +17 -0
- package/dist/types/components/Navigation/index.d.ts +10 -0
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/lib/composables/index.d.ts +1 -0
- package/dist/types/lib/composables/useSideMenu.d.ts +28 -0
- package/dist/types/lib/constants/components.d.ts +72 -0
- package/dist/types/lib/types/components.d.ts +103 -0
- package/examples/nextjs-example.tsx +271 -0
- package/implementation-guide.md +505 -0
- package/next.config.js +69 -0
- package/package.json +26 -5
- package/postcss.config.js +28 -0
- package/src/Introduction.mdx +44 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Alternatives.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Expert.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Expert.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Expert.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-Expert.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-ItalicSwash.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslon-SmallCaps.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Black.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BlackItalic.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Bold.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Italic.woff2 +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.eot +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.ttf +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.woff +0 -0
- package/src/assets/fonts/BigCaslon/BigCaslonFB-Regular.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Black.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Black.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Black.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Black.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BlackItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Bold.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Bold.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Bold.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Bold.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Book.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Book.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Book.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Book.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-BookItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Heavy.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-HeavyItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Light.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Light.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Light.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Light.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-LightItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Medium.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Medium.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Medium.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Medium.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-MediumItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Regular.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Regular.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Regular.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Regular.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-RegularItalic.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Thin.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Thin.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Thin.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-Thin.woff2 +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.eot +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.ttf +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.woff +0 -0
- package/src/assets/fonts/FilsonPro/FilsonPro-ThinItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Bold.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBlack.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-CondensedBold.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Italic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Light.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-LightItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Medium.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-MediumItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-Thin.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-ThinItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLight.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue-UltraLightItalic.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue.eot +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue.ttf +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue.woff +0 -0
- package/src/assets/fonts/HelveticaNeue/HelveticaNeue.woff2 +0 -0
- package/src/assets/fonts/HelveticaNeue/demo.html +569 -0
- package/src/assets/fonts/HelveticaNeue/stylesheet.css +181 -0
- package/src/assets/fonts/Lato/Lato-Black.eot +0 -0
- package/src/assets/fonts/Lato/Lato-Black.ttf +0 -0
- package/src/assets/fonts/Lato/Lato-Black.woff +0 -0
- package/src/assets/fonts/Lato/Lato-Black.woff2 +0 -0
- package/src/assets/fonts/Lato/Lato-Bold.eot +0 -0
- package/src/assets/fonts/Lato/Lato-Bold.ttf +0 -0
- package/src/assets/fonts/Lato/Lato-Bold.woff +0 -0
- package/src/assets/fonts/Lato/Lato-Bold.woff2 +0 -0
- package/src/assets/fonts/Lato/Lato-Light.eot +0 -0
- package/src/assets/fonts/Lato/Lato-Light.ttf +0 -0
- package/src/assets/fonts/Lato/Lato-Light.woff +0 -0
- package/src/assets/fonts/Lato/Lato-Light.woff2 +0 -0
- package/src/assets/fonts/Lato/Lato-Regular.eot +0 -0
- package/src/assets/fonts/Lato/Lato-Regular.ttf +0 -0
- package/src/assets/fonts/Lato/Lato-Regular.woff +0 -0
- package/src/assets/fonts/Lato/Lato-Regular.woff2 +0 -0
- package/src/assets/fonts/Lux-Icons.woff2 +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.eot +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.ttf +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.woff +0 -0
- package/src/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
- package/src/assets/fonts/OpenSans-Regular.ttf +0 -0
- package/src/assets/fonts/Roboto-Regular.ttf +0 -0
- package/src/assets/images/logo-transparent.png +0 -0
- package/src/assets/svgs/atomix-logo.svg +9 -0
- package/src/components/Accordion/Accordion.stories.tsx +271 -0
- package/src/components/Accordion/Accordion.tsx +131 -0
- package/src/components/Accordion/index.ts +3 -0
- package/src/components/Accordion/scripts/accordionInteractions.ts +70 -0
- package/src/components/Accordion/scripts/bundle.ts +24 -0
- package/src/components/Accordion/scripts/constants.ts +11 -0
- package/src/components/Accordion/scripts/index.ts +212 -0
- package/src/components/AtomixLogo/AtomixLogo.tsx +36 -0
- package/src/components/AtomixLogo/index.ts +3 -0
- package/src/components/AtomixLogo.tsx +40 -0
- package/src/components/Avatar/Avatar.stories.tsx +263 -0
- package/src/components/Avatar/Avatar.tsx +68 -0
- package/src/components/Avatar/AvatarGroup.tsx +73 -0
- package/src/components/Avatar/index.ts +3 -0
- package/src/components/Avatar/scripts/index.ts +497 -0
- package/src/components/Badge/Badge.stories.tsx +374 -0
- package/src/components/Badge/Badge.tsx +39 -0
- package/src/components/Badge/index.ts +3 -0
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +108 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +98 -0
- package/src/components/Breadcrumb/index.ts +3 -0
- package/src/components/Breadcrumb/scripts/breadcrumb.ts +208 -0
- package/src/components/Breadcrumb/scripts/demo.html +246 -0
- package/src/components/Breadcrumb/scripts/index.ts +5 -0
- package/src/components/Breadcrumb/scripts/types.ts +69 -0
- package/src/components/Button/Button.stories.tsx +313 -0
- package/src/components/Button/Button.tsx +70 -0
- package/src/components/Button/index.ts +3 -0
- package/src/components/Button/scripts/buttonInteractions.ts +73 -0
- package/src/components/Button/scripts/index.ts +1 -0
- package/src/components/Callout/Callout.stories.tsx +595 -0
- package/src/components/Callout/Callout.tsx +78 -0
- package/src/components/Callout/index.ts +1 -0
- package/src/components/Callout/scripts/CalloutInteractions.ts +350 -0
- package/src/components/Callout/scripts/bundle.ts +18 -0
- package/src/components/Callout/scripts/index.ts +130 -0
- package/src/components/Card/Card.stories.tsx +107 -0
- package/src/components/Card/Card.tsx +69 -0
- package/src/components/Card/ElevationCard.tsx +47 -0
- package/src/components/Card/index.ts +15 -0
- package/src/components/Card/scripts/bundle.ts +30 -0
- package/src/components/Card/scripts/cardInteractions.ts +171 -0
- package/src/components/Card/scripts/demo.html +322 -0
- package/src/components/Card/scripts/index.ts +318 -0
- package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +46 -0
- package/src/components/ColorModeToggle/ColorModeToggle.tsx +85 -0
- package/src/components/ColorModeToggle/index.ts +2 -0
- package/src/components/Countdown/Countdown.stories.tsx +47 -0
- package/src/components/Countdown/Countdown.tsx +90 -0
- package/src/components/Countdown/index.ts +2 -0
- package/src/components/Countdown/scripts/index.ts +238 -0
- package/src/components/DataTable/DataTable.stories.tsx +249 -0
- package/src/components/DataTable/DataTable.tsx +213 -0
- package/src/components/DataTable/index.ts +3 -0
- package/src/components/DataTable/scripts/bundle.ts +20 -0
- package/src/components/DataTable/scripts/index.ts +781 -0
- package/src/components/DatePicker/DatePicker.stories.tsx +365 -0
- package/src/components/DatePicker/DatePicker.tsx +504 -0
- package/src/components/DatePicker/index.ts +4 -0
- package/src/components/DatePicker/readme.md +106 -0
- package/src/components/DatePicker/scripts/bundle.ts +39 -0
- package/src/components/DatePicker/scripts/componentInteractions.ts +230 -0
- package/src/components/DatePicker/scripts/index.ts +907 -0
- package/src/components/DatePicker/types.ts +167 -0
- package/src/components/DatePicker/utils.ts +163 -0
- package/src/components/Dropdown/Dropdown.stories.tsx +359 -0
- package/src/components/Dropdown/Dropdown.tsx +342 -0
- package/src/components/Dropdown/index.ts +14 -0
- package/src/components/Dropdown/readme.md +151 -0
- package/src/components/Dropdown/scripts/bundle.ts +24 -0
- package/src/components/Dropdown/scripts/componentInteractions.ts +39 -0
- package/src/components/Dropdown/scripts/index.ts +612 -0
- package/src/components/EdgePanel/EdgePanel.stories.tsx +267 -0
- package/src/components/EdgePanel/EdgePanel.tsx +73 -0
- package/src/components/EdgePanel/index.ts +1 -0
- package/src/components/EdgePanel/scripts/bundle.ts +30 -0
- package/src/components/EdgePanel/scripts/edgePanelInteractions.ts +206 -0
- package/src/components/EdgePanel/scripts/index.ts +415 -0
- package/src/components/Form/Checkbox.stories.tsx +77 -0
- package/src/components/Form/Checkbox.tsx +69 -0
- package/src/components/Form/Form.stories.tsx +491 -0
- package/src/components/Form/Form.tsx +46 -0
- package/src/components/Form/FormGroup.stories.tsx +163 -0
- package/src/components/Form/FormGroup.tsx +53 -0
- package/src/components/Form/Input.stories.tsx +107 -0
- package/src/components/Form/Input.tsx +87 -0
- package/src/components/Form/Radio.stories.tsx +95 -0
- package/src/components/Form/Radio.tsx +65 -0
- package/src/components/Form/Select.stories.tsx +152 -0
- package/src/components/Form/Select.tsx +191 -0
- package/src/components/Form/Textarea.stories.tsx +124 -0
- package/src/components/Form/Textarea.tsx +78 -0
- package/src/components/Form/index.ts +7 -0
- package/src/components/Hero/Hero.stories.tsx +297 -0
- package/src/components/Hero/Hero.tsx +175 -0
- package/src/components/Hero/index.ts +6 -0
- package/src/components/Hero/scripts/bundle.ts +33 -0
- package/src/components/Hero/scripts/heroInteractions.ts +130 -0
- package/src/components/Hero/scripts/index.ts +144 -0
- package/src/components/Icon/Icon.tsx +87 -0
- package/src/components/Icon/index.ts +2 -0
- package/src/components/List/List.stories.tsx +123 -0
- package/src/components/List/List.tsx +35 -0
- package/src/components/List/ListGroup.tsx +34 -0
- package/src/components/List/index.ts +2 -0
- package/src/components/Messages/Messages.stories.tsx +161 -0
- package/src/components/Messages/Messages.tsx +172 -0
- package/src/components/Messages/index.ts +3 -0
- package/src/components/Messages/scripts/bundle.ts +47 -0
- package/src/components/Messages/scripts/componentInteractions.ts +132 -0
- package/src/components/Messages/scripts/index.ts +378 -0
- package/src/components/Modal/Modal.stories.tsx +288 -0
- package/src/components/Modal/Modal.tsx +198 -0
- package/src/components/Modal/README.md +169 -0
- package/src/components/Modal/index.ts +1 -0
- package/src/components/Modal/scripts/bundle.ts +23 -0
- package/src/components/Modal/scripts/index.ts +374 -0
- package/src/components/Modal/scripts/modalInteractions.ts +141 -0
- package/src/components/Navigation/Menu/MegaMenu.tsx +107 -0
- package/src/components/Navigation/Menu/Menu.stories.tsx +340 -0
- package/src/components/Navigation/Menu/Menu.tsx +110 -0
- package/src/components/Navigation/Nav/Nav.stories.tsx +458 -0
- package/src/components/Navigation/Nav/Nav.tsx +50 -0
- package/src/components/Navigation/Nav/NavDropdown.tsx +105 -0
- package/src/components/Navigation/Nav/NavItem.tsx +159 -0
- package/src/components/Navigation/Navbar/Navbar.stories.tsx +552 -0
- package/src/components/Navigation/Navbar/Navbar.tsx +150 -0
- package/src/components/Navigation/README.md +314 -0
- package/src/components/Navigation/SideMenu/SideMenu.README.md +494 -0
- package/src/components/Navigation/SideMenu/SideMenu.stories.tsx +618 -0
- package/src/components/Navigation/SideMenu/SideMenu.tsx +101 -0
- package/src/components/Navigation/SideMenu/SideMenuItem.tsx +95 -0
- package/src/components/Navigation/SideMenu/SideMenuList.tsx +41 -0
- package/src/components/Navigation/index.ts +23 -0
- package/src/components/Navigation/scripts/NavbarInteractions.ts +171 -0
- package/src/components/Navigation/scripts/SideMenu.ts +319 -0
- package/src/components/Navigation/scripts/SideMenuBundle.ts +69 -0
- package/src/components/Navigation/scripts/SideMenuInteractions.ts +250 -0
- package/src/components/Navigation/scripts/bundle.ts +58 -0
- package/src/components/Navigation/scripts/index.ts +248 -0
- package/src/components/Pagination/Pagination.stories.tsx +194 -0
- package/src/components/Pagination/Pagination.tsx +162 -0
- package/src/components/Pagination/index.ts +1 -0
- package/src/components/Pagination/scripts/bundle.ts +15 -0
- package/src/components/Pagination/scripts/index.ts +315 -0
- package/src/components/PhotoViewer/PhotoViewer.stories.tsx +160 -0
- package/src/components/PhotoViewer/PhotoViewer.tsx +246 -0
- package/src/components/PhotoViewer/PhotoViewerHeader.tsx +177 -0
- package/src/components/PhotoViewer/PhotoViewerImage.tsx +173 -0
- package/src/components/PhotoViewer/PhotoViewerInfo.tsx +65 -0
- package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +82 -0
- package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +53 -0
- package/src/components/PhotoViewer/README.md +358 -0
- package/src/components/PhotoViewer/examples/ImageGallery.tsx +190 -0
- package/src/components/PhotoViewer/examples/SimpleGallery.tsx +77 -0
- package/src/components/PhotoViewer/examples/index.ts +2 -0
- package/src/components/PhotoViewer/index.ts +14 -0
- package/src/components/PhotoViewer/scripts/PhotoViewerInteractions.ts +253 -0
- package/src/components/PhotoViewer/scripts/bundle.ts +81 -0
- package/src/components/PhotoViewer/scripts/index.ts +947 -0
- package/src/components/Popover/Popover.stories.tsx +143 -0
- package/src/components/Popover/Popover.tsx +137 -0
- package/src/components/Popover/index.ts +5 -0
- package/src/components/Popover/readme.md +120 -0
- package/src/components/Popover/scripts/bundle.ts +12 -0
- package/src/components/Popover/scripts/componentInteractions.ts +299 -0
- package/src/components/Popover/scripts/index.ts +342 -0
- package/src/components/ProductReview/ProductReview.stories.tsx +88 -0
- package/src/components/ProductReview/ProductReview.tsx +169 -0
- package/src/components/ProductReview/index.ts +3 -0
- package/src/components/ProductReview/scripts/bundle.ts +3 -0
- package/src/components/ProductReview/scripts/componentInteractions.ts +129 -0
- package/src/components/ProductReview/scripts/index.ts +3 -0
- package/src/components/Progress/Progress.stories.tsx +75 -0
- package/src/components/Progress/Progress.tsx +45 -0
- package/src/components/Progress/index.ts +1 -0
- package/src/components/Progress/scripts/bundle.ts +17 -0
- package/src/components/Progress/scripts/componentInteractions.ts +101 -0
- package/src/components/Progress/scripts/index.ts +184 -0
- package/src/components/Rating/Rating.stories.tsx +109 -0
- package/src/components/Rating/Rating.tsx +286 -0
- package/src/components/Rating/index.ts +6 -0
- package/src/components/Rating/scripts/bundle.ts +39 -0
- package/src/components/Rating/scripts/index.d.ts +12 -0
- package/src/components/Rating/scripts/index.ts +336 -0
- package/src/components/Rating/scripts/ratingInteractions.ts +160 -0
- package/src/components/River/River.stories.tsx +230 -0
- package/src/components/River/River.tsx +162 -0
- package/src/components/River/examples.html +223 -0
- package/src/components/River/index.ts +2 -0
- package/src/components/River/scripts/index.ts +137 -0
- package/src/components/SectionIntro/SectionIntro.stories.tsx +145 -0
- package/src/components/SectionIntro/SectionIntro.tsx +197 -0
- package/src/components/SectionIntro/index.ts +3 -0
- package/src/components/SectionIntro/scripts/bundle.ts +9 -0
- package/src/components/SectionIntro/scripts/componentInteractions.ts +37 -0
- package/src/components/SectionIntro/scripts/index.ts +163 -0
- package/src/components/Spinner/Spinner.stories.tsx +66 -0
- package/src/components/Spinner/Spinner.tsx +36 -0
- package/src/components/Spinner/index.ts +2 -0
- package/src/components/Steps/Steps.stories.tsx +158 -0
- package/src/components/Steps/Steps.tsx +154 -0
- package/src/components/Steps/index.ts +3 -0
- package/src/components/Steps/scripts/index.ts +159 -0
- package/src/components/Tab/Tab.stories.tsx +129 -0
- package/src/components/Tab/Tab.tsx +133 -0
- package/src/components/Tab/index.ts +2 -0
- package/src/components/Tab/scripts/index.ts +200 -0
- package/src/components/Testimonial/Testimonial.stories.tsx +180 -0
- package/src/components/Testimonial/Testimonial.tsx +148 -0
- package/src/components/Testimonial/index.ts +3 -0
- package/src/components/Testimonial/scripts/index.ts +107 -0
- package/src/components/Todo/Todo.stories.tsx +155 -0
- package/src/components/Todo/Todo.tsx +158 -0
- package/src/components/Todo/index.ts +1 -0
- package/src/components/Todo/scripts/bundle.ts +14 -0
- package/src/components/Todo/scripts/index.ts +534 -0
- package/src/components/Todo/scripts/todoInteractions.ts +118 -0
- package/src/components/Todo/scripts/types.ts +19 -0
- package/src/components/Toggle/Toggle.stories.tsx +50 -0
- package/src/components/Toggle/Toggle.tsx +114 -0
- package/src/components/Toggle/index.ts +2 -0
- package/src/components/Toggle/scripts/bundle.ts +19 -0
- package/src/components/Toggle/scripts/index.ts +118 -0
- package/src/components/Toggle/scripts/toggleInteractions.ts +77 -0
- package/src/components/Tooltip/Tooltip.stories.tsx +115 -0
- package/src/components/Tooltip/Tooltip.tsx +105 -0
- package/src/components/Tooltip/index.ts +3 -0
- package/src/components/Tooltip/scripts/bundle.ts +0 -0
- package/src/components/Tooltip/scripts/index.ts +395 -0
- package/src/components/Tooltip/scripts/tooltipInteractions.ts +165 -0
- package/src/components/Upload/Upload.stories.tsx +221 -0
- package/src/components/Upload/Upload.tsx +422 -0
- package/src/components/Upload/index.ts +3 -0
- package/src/components/Upload/scripts/index.ts +467 -0
- package/src/components/index.ts +117 -0
- package/src/design-tokens/BoxShadow/BoxShadow.stories.tsx +115 -0
- package/src/design-tokens/Colors/colors.scss +121 -0
- package/src/design-tokens/Colors/colors.stories.tsx +313 -0
- package/src/design-tokens/Spacing/Spacing.scss +62 -0
- package/src/design-tokens/Spacing/Spacing.stories.tsx +115 -0
- package/src/design-tokens/Typography/Typography.scss +240 -0
- package/src/design-tokens/Typography/Typography.stories.tsx +167 -0
- package/src/docs/atomix-component-guidelines.mdx +942 -0
- package/src/docs/atomix-roadmap.mdx +325 -0
- package/src/docs/implementation-guide.mdx +506 -0
- package/src/htmlComponentsEntry.ts +318 -0
- package/src/index.ts +21 -0
- package/src/layouts/Grid/Container.tsx +56 -0
- package/src/layouts/Grid/Grid.stories.tsx +560 -0
- package/src/layouts/Grid/Grid.tsx +67 -0
- package/src/layouts/Grid/GridCol.tsx +160 -0
- package/src/layouts/Grid/README.md +108 -0
- package/src/layouts/Grid/Row.tsx +68 -0
- package/src/layouts/Grid/index.ts +8 -0
- package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +388 -0
- package/src/layouts/MasonryGrid/MasonryGrid.tsx +406 -0
- package/src/layouts/MasonryGrid/MasonryGridItem.tsx +42 -0
- package/src/layouts/MasonryGrid/README.md +117 -0
- package/src/layouts/MasonryGrid/index.ts +4 -0
- package/src/layouts/index.ts +9 -0
- package/src/lib/README.md +89 -0
- package/src/lib/composables/index.ts +44 -0
- package/src/lib/composables/useAccordion.ts +129 -0
- package/src/lib/composables/useBadge.ts +42 -0
- package/src/lib/composables/useBreadcrumb.ts +74 -0
- package/src/lib/composables/useButton.ts +59 -0
- package/src/lib/composables/useCallout.ts +55 -0
- package/src/lib/composables/useCard.ts +155 -0
- package/src/lib/composables/useCheckbox.ts +70 -0
- package/src/lib/composables/useDataTable.ts +208 -0
- package/src/lib/composables/useDatePicker.ts +562 -0
- package/src/lib/composables/useDropdown.ts +272 -0
- package/src/lib/composables/useEdgePanel.ts +261 -0
- package/src/lib/composables/useForm.ts +62 -0
- package/src/lib/composables/useFormGroup.ts +51 -0
- package/src/lib/composables/useHero.ts +250 -0
- package/src/lib/composables/useInput.ts +58 -0
- package/src/lib/composables/useMessages.ts +77 -0
- package/src/lib/composables/useModal.ts +110 -0
- package/src/lib/composables/useNavbar.ts +288 -0
- package/src/lib/composables/usePagination.ts +101 -0
- package/src/lib/composables/usePhotoViewer.ts +904 -0
- package/src/lib/composables/usePopover.ts +354 -0
- package/src/lib/composables/useProgress.ts +74 -0
- package/src/lib/composables/useRadio.ts +47 -0
- package/src/lib/composables/useRating.ts +174 -0
- package/src/lib/composables/useRiver.ts +205 -0
- package/src/lib/composables/useSelect.ts +52 -0
- package/src/lib/composables/useSideMenu.ts +197 -0
- package/src/lib/composables/useSpinner.ts +42 -0
- package/src/lib/composables/useTextarea.ts +55 -0
- package/src/lib/composables/useTodo.ts +142 -0
- package/src/lib/constants/components.ts +1050 -0
- package/src/lib/constants/index.ts +4 -0
- package/src/lib/index.ts +11 -0
- package/src/lib/types/components.ts +2498 -0
- package/src/lib/types/index.ts +2 -0
- package/src/lib/utils/dom.ts +41 -0
- package/src/lib/utils/icons.ts +74 -0
- package/src/lib/utils/index.ts +7 -0
- package/src/lib/utils/useForkRef.ts +36 -0
- package/src/styles/01-settings/_index.scss +64 -0
- package/src/styles/01-settings/_settings.accordion.scss +29 -0
- package/src/styles/01-settings/_settings.animations.scss +2 -0
- package/src/styles/01-settings/_settings.avatar-group.scss +20 -0
- package/src/styles/01-settings/_settings.avatar.scss +46 -0
- package/src/styles/01-settings/_settings.badge.scss +12 -0
- package/src/styles/01-settings/_settings.border-radius.scss +12 -0
- package/src/styles/01-settings/_settings.border.scss +14 -0
- package/src/styles/01-settings/_settings.box-shadow.scss +28 -0
- package/src/styles/01-settings/_settings.breadcrumb.scss +19 -0
- package/src/styles/01-settings/_settings.breakpoints.scss +8 -0
- package/src/styles/01-settings/_settings.btn-group.scss +1 -0
- package/src/styles/01-settings/_settings.button.scss +81 -0
- package/src/styles/01-settings/_settings.callout.scss +61 -0
- package/src/styles/01-settings/_settings.card.scss +36 -0
- package/src/styles/01-settings/_settings.checkbox-group.scss +2 -0
- package/src/styles/01-settings/_settings.checkbox.scss +20 -0
- package/src/styles/01-settings/_settings.color-mode.scss +5 -0
- package/src/styles/01-settings/_settings.colors.scss +252 -0
- package/src/styles/01-settings/_settings.config.scss +4 -0
- package/src/styles/01-settings/_settings.countdown.scss +15 -0
- package/src/styles/01-settings/_settings.data-table.scss +52 -0
- package/src/styles/01-settings/_settings.datepicker.scss +44 -0
- package/src/styles/01-settings/_settings.dropdown.scss +38 -0
- package/src/styles/01-settings/_settings.edge-panel.scss +17 -0
- package/src/styles/01-settings/_settings.fonts.scss +17 -0
- package/src/styles/01-settings/_settings.form-group.scss +11 -0
- package/src/styles/01-settings/_settings.form.scss +3 -0
- package/src/styles/01-settings/_settings.grid.scss +15 -0
- package/src/styles/01-settings/_settings.hero.scss +30 -0
- package/src/styles/01-settings/_settings.input.scss +38 -0
- package/src/styles/01-settings/_settings.link.scss +12 -0
- package/src/styles/01-settings/_settings.list-group.scss +14 -0
- package/src/styles/01-settings/_settings.list.scss +10 -0
- package/src/styles/01-settings/_settings.maps.scss +278 -0
- package/src/styles/01-settings/_settings.masonry-grid.scss +17 -0
- package/src/styles/01-settings/_settings.menu.scss +35 -0
- package/src/styles/01-settings/_settings.messages.scss +71 -0
- package/src/styles/01-settings/_settings.modal.scss +31 -0
- package/src/styles/01-settings/_settings.nav.scss +18 -0
- package/src/styles/01-settings/_settings.navbar.scss +46 -0
- package/src/styles/01-settings/_settings.pagination.scss +29 -0
- package/src/styles/01-settings/_settings.photoviewer.scss +35 -0
- package/src/styles/01-settings/_settings.popover.scss +13 -0
- package/src/styles/01-settings/_settings.position.scss +7 -0
- package/src/styles/01-settings/_settings.progress.scss +15 -0
- package/src/styles/01-settings/_settings.rating.scss +8 -0
- package/src/styles/01-settings/_settings.river.scss +34 -0
- package/src/styles/01-settings/_settings.sectionintro.scss +21 -0
- package/src/styles/01-settings/_settings.select.scss +32 -0
- package/src/styles/01-settings/_settings.side-menu.scss +64 -0
- package/src/styles/01-settings/_settings.skeleton.scss +14 -0
- package/src/styles/01-settings/_settings.spacing.scss +68 -0
- package/src/styles/01-settings/_settings.spinner.scss +13 -0
- package/src/styles/01-settings/_settings.steps.scss +26 -0
- package/src/styles/01-settings/_settings.tabs.scss +28 -0
- package/src/styles/01-settings/_settings.testimonials.scss +18 -0
- package/src/styles/01-settings/_settings.todo.scss +50 -0
- package/src/styles/01-settings/_settings.toggle.scss +34 -0
- package/src/styles/01-settings/_settings.tooltip.scss +19 -0
- package/src/styles/01-settings/_settings.typography.scss +93 -0
- package/src/styles/01-settings/_settings.upload.scss +70 -0
- package/src/styles/01-settings/_settings.z-layers.scss +9 -0
- package/src/styles/02-tools/_index.scss +20 -0
- package/src/styles/02-tools/_tools.animations.scss +19 -0
- package/src/styles/02-tools/_tools.border-radius.scss +78 -0
- package/src/styles/02-tools/_tools.breakpoints.scss +48 -0
- package/src/styles/02-tools/_tools.button.scss +115 -0
- package/src/styles/02-tools/_tools.clearfix.scss +10 -0
- package/src/styles/02-tools/_tools.color-functions.scss +28 -0
- package/src/styles/02-tools/_tools.color-mode.scss +22 -0
- package/src/styles/02-tools/_tools.event.scss +22 -0
- package/src/styles/02-tools/_tools.grid.scss +76 -0
- package/src/styles/02-tools/_tools.hidden-visually.scss +32 -0
- package/src/styles/02-tools/_tools.hidden.scss +2 -0
- package/src/styles/02-tools/_tools.map-loop.scss +31 -0
- package/src/styles/02-tools/_tools.media-queries.scss +69 -0
- package/src/styles/02-tools/_tools.object-fit.scss +4 -0
- package/src/styles/02-tools/_tools.placeholder.scss +17 -0
- package/src/styles/02-tools/_tools.rem.scss +5 -0
- package/src/styles/02-tools/_tools.size.scss +8 -0
- package/src/styles/02-tools/_tools.spacing.scss +140 -0
- package/src/styles/02-tools/_tools.to-rgb.scss +9 -0
- package/src/styles/02-tools/_tools.transition.scss +50 -0
- package/src/styles/02-tools/_tools.utilities.scss +14 -0
- package/src/styles/02-tools/_tools.utility-api.scss +144 -0
- package/src/styles/03-generic/_generic.fonts.scss +24 -0
- package/src/styles/03-generic/_generic.reset.scss +402 -0
- package/src/styles/03-generic/_generic.root.scss +184 -0
- package/src/styles/03-generic/_generic.selection.scss +15 -0
- package/src/styles/03-generic/_index.scss +5 -0
- package/src/styles/04-elements/_elements.all.scss +16 -0
- package/src/styles/04-elements/_elements.body.scss +15 -0
- package/src/styles/04-elements/_elements.heading.scss +54 -0
- package/src/styles/04-elements/_elements.html.scss +9 -0
- package/src/styles/04-elements/_elements.links.scss +11 -0
- package/src/styles/04-elements/_index.scss +6 -0
- package/src/styles/05-objects/_index.scss +4 -0
- package/src/styles/05-objects/_objects.container.scss +36 -0
- package/src/styles/05-objects/_objects.grid.scss +25 -0
- package/src/styles/05-objects/_objects.masonry-grid.scss +96 -0
- package/src/styles/06-components/_components.accordion.scss +109 -0
- package/src/styles/06-components/_components.avatar-group.scss +85 -0
- package/src/styles/06-components/_components.avatar.scss +101 -0
- package/src/styles/06-components/_components.badge.scss +62 -0
- package/src/styles/06-components/_components.breadcrumb.scss +80 -0
- package/src/styles/06-components/_components.btn-group.scss +35 -0
- package/src/styles/06-components/_components.button.scss +134 -0
- package/src/styles/06-components/_components.callout.scss +272 -0
- package/src/styles/06-components/_components.card.scss +148 -0
- package/src/styles/06-components/_components.checkbox-group.scss +17 -0
- package/src/styles/06-components/_components.checkbox.scss +135 -0
- package/src/styles/06-components/_components.color-mode-toggle.scss +36 -0
- package/src/styles/06-components/_components.countdown.scss +63 -0
- package/src/styles/06-components/_components.data-table.scss +183 -0
- package/src/styles/06-components/_components.datepicker.scss +546 -0
- package/src/styles/06-components/_components.dropdown.scss +255 -0
- package/src/styles/06-components/_components.edge-panel.scss +350 -0
- package/src/styles/06-components/_components.form-group.scss +78 -0
- package/src/styles/06-components/_components.form.scss +21 -0
- package/src/styles/06-components/_components.hero.scss +147 -0
- package/src/styles/06-components/_components.icon.scss +80 -0
- package/src/styles/06-components/_components.image-gallery.scss +72 -0
- package/src/styles/06-components/_components.input.scss +107 -0
- package/src/styles/06-components/_components.list-group.scss +63 -0
- package/src/styles/06-components/_components.list.scss +57 -0
- package/src/styles/06-components/_components.menu.scss +239 -0
- package/src/styles/06-components/_components.messages.scss +332 -0
- package/src/styles/06-components/_components.modal.scss +153 -0
- package/src/styles/06-components/_components.nav.scss +172 -0
- package/src/styles/06-components/_components.navbar.scss +310 -0
- package/src/styles/06-components/_components.pagination.scss +155 -0
- package/src/styles/06-components/_components.photoviewer.scss +878 -0
- package/src/styles/06-components/_components.popover.scss +99 -0
- package/src/styles/06-components/_components.product-review.scss +128 -0
- package/src/styles/06-components/_components.progress.scss +43 -0
- package/src/styles/06-components/_components.rating.scss +161 -0
- package/src/styles/06-components/_components.river.scss +216 -0
- package/src/styles/06-components/_components.sectionintro.scss +163 -0
- package/src/styles/06-components/_components.select.scss +125 -0
- package/src/styles/06-components/_components.side-menu.scss +234 -0
- package/src/styles/06-components/_components.skeleton.scss +55 -0
- package/src/styles/06-components/_components.spinner.scss +45 -0
- package/src/styles/06-components/_components.steps.scss +99 -0
- package/src/styles/06-components/_components.tabs.scss +124 -0
- package/src/styles/06-components/_components.testimonials.scss +65 -0
- package/src/styles/06-components/_components.todo.scss +163 -0
- package/src/styles/06-components/_components.toggle.scss +100 -0
- package/src/styles/06-components/_components.tooltip.scss +136 -0
- package/src/styles/06-components/_components.upload.scss +250 -0
- package/src/styles/06-components/_index.scss +49 -0
- package/src/styles/99-utilities/_index.scss +21 -0
- package/src/styles/99-utilities/_utilities.background.scss +28 -0
- package/src/styles/99-utilities/_utilities.border.scss +157 -0
- package/src/styles/99-utilities/_utilities.clearfix.scss +5 -0
- package/src/styles/99-utilities/_utilities.display.scss +13 -0
- package/src/styles/99-utilities/_utilities.flex.scss +109 -0
- package/src/styles/99-utilities/_utilities.link.scss +96 -0
- package/src/styles/99-utilities/_utilities.object-fit.scss +17 -0
- package/src/styles/99-utilities/_utilities.opacity.scss +16 -0
- package/src/styles/99-utilities/_utilities.overflow.scss +20 -0
- package/src/styles/99-utilities/_utilities.position.scss +40 -0
- package/src/styles/99-utilities/_utilities.scss +42 -0
- package/src/styles/99-utilities/_utilities.shadow.scss +19 -0
- package/src/styles/99-utilities/_utilities.sizes.scss +81 -0
- package/src/styles/99-utilities/_utilities.spacing.scss +188 -0
- package/src/styles/99-utilities/_utilities.text.scss +87 -0
- package/src/styles/99-utilities/_utilities.visibility.scss +13 -0
- package/src/styles/99-utilities/_utilities.visually-hidden.scss +5 -0
- package/src/styles/99-utilities/_utilities.z-index.scss +11 -0
- package/src/styles/index.scss +12 -0
- package/tsconfig.json +74 -0
- package/webpack.config.js +463 -0
- package/dist/types/components/Navbar/Nav.d.ts +0 -5
- package/dist/types/components/Navbar/NavItem.d.ts +0 -5
- package/dist/types/components/Navbar/Navbar.d.ts +0 -5
- package/dist/types/components/Navbar/index.d.ts +0 -6
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
# Atomix Implementation Guide
|
|
2
|
+
|
|
3
|
+
Welcome to the Atomix Implementation Guide! This beginner-friendly document will help you integrate and use the Atomix design system in your projects.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
1. [Introduction](#introduction)
|
|
8
|
+
2. [Installation](#installation)
|
|
9
|
+
3. [Basic Setup](#basic-setup)
|
|
10
|
+
4. [CSS Architecture](#css-architecture)
|
|
11
|
+
5. [Using Components](#using-components)
|
|
12
|
+
6. [Layout System](#layout-system)
|
|
13
|
+
7. [Utility Classes](#utility-classes)
|
|
14
|
+
8. [Theming and Customization](#theming-and-customization)
|
|
15
|
+
9. [Best Practices](#best-practices)
|
|
16
|
+
10. [Troubleshooting](#troubleshooting)
|
|
17
|
+
|
|
18
|
+
## Introduction
|
|
19
|
+
|
|
20
|
+
Atomix is a modern, component-based design system built with scalability and flexibility in mind. It follows the BEM methodology for CSS naming and uses an ITCSS architecture for organizing styles.
|
|
21
|
+
|
|
22
|
+
### Key Features
|
|
23
|
+
|
|
24
|
+
- **Component-based architecture**: Modular and reusable UI components
|
|
25
|
+
- **Responsive by default**: Mobile-first approach
|
|
26
|
+
- **Accessibility focused**: WCAG-compliant components
|
|
27
|
+
- **Customizable**: Extensive theming capabilities via CSS variables
|
|
28
|
+
- **Framework agnostic**: Can be used with React or vanilla HTML/CSS/JS
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
### NPM/Yarn Installation
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Using npm
|
|
36
|
+
npm install atomix
|
|
37
|
+
|
|
38
|
+
# Using yarn
|
|
39
|
+
yarn add atomix
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Manual Installation
|
|
43
|
+
|
|
44
|
+
Alternatively, you can download and include the CSS and JavaScript files directly:
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<link rel="stylesheet" href="path/to/atomix/dist/css/atomix-0.1.0.styles.min.css">
|
|
48
|
+
<script src="path/to/atomix/dist/js/atomix-0.1.0.main.js"></script>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Basic Setup
|
|
52
|
+
|
|
53
|
+
### React Projects
|
|
54
|
+
|
|
55
|
+
For React projects, import the main styles in your entry file:
|
|
56
|
+
|
|
57
|
+
```jsx
|
|
58
|
+
// In your index.js or App.js
|
|
59
|
+
import '@shohojdhara/atomix/css';
|
|
60
|
+
|
|
61
|
+
// Then import components as needed
|
|
62
|
+
import { Button, Card, Avatar } from '@shohojdhara/atomix';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### HTML/CSS/JS Projects
|
|
66
|
+
|
|
67
|
+
For projects without a module bundler, include the CSS and JS files in your HTML:
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<!DOCTYPE html>
|
|
71
|
+
<html lang="en">
|
|
72
|
+
<head>
|
|
73
|
+
<meta charset="UTF-8">
|
|
74
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
75
|
+
<title>My Atomix Project</title>
|
|
76
|
+
|
|
77
|
+
<!-- Atomix CSS -->
|
|
78
|
+
<link rel="stylesheet" href="path/to/atomix/dist/css/atomix-0.1.0.styles.min.css">
|
|
79
|
+
</head>
|
|
80
|
+
<body>
|
|
81
|
+
<!-- Your content here -->
|
|
82
|
+
|
|
83
|
+
<!-- Atomix JS (optional, only if using JS components) -->
|
|
84
|
+
<script src="path/to/atomix/dist/js/atomix-0.1.0.main.js"></script>
|
|
85
|
+
|
|
86
|
+
<!-- Your scripts -->
|
|
87
|
+
<script src="path/to/your-script.js"></script>
|
|
88
|
+
</body>
|
|
89
|
+
</html>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## CSS Architecture
|
|
93
|
+
|
|
94
|
+
Atomix follows the ITCSS (Inverted Triangle CSS) methodology combined with BEM (Block Element Modifier) naming conventions.
|
|
95
|
+
|
|
96
|
+
### Class Naming Conventions
|
|
97
|
+
|
|
98
|
+
- **Components**: `.c-component-name`
|
|
99
|
+
- **Elements**: `.c-component-name__element`
|
|
100
|
+
- **Modifiers**: `.c-component-name--modifier` or `.c-component-name__element--modifier`
|
|
101
|
+
- **Utilities**: `.u-utility-name`
|
|
102
|
+
- **Objects**: `.o-object-name` (layout primitives)
|
|
103
|
+
|
|
104
|
+
### Example
|
|
105
|
+
|
|
106
|
+
```html
|
|
107
|
+
<!-- Button component with primary modifier -->
|
|
108
|
+
<button class="c-button c-button--primary">
|
|
109
|
+
Button Text
|
|
110
|
+
|
|
111
|
+
<!-- An element within the button -->
|
|
112
|
+
<span class="c-button__icon">
|
|
113
|
+
<!-- Icon content -->
|
|
114
|
+
</span>
|
|
115
|
+
</button>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Using Components
|
|
119
|
+
|
|
120
|
+
### React Components
|
|
121
|
+
|
|
122
|
+
Import and use Atomix components in your React applications:
|
|
123
|
+
|
|
124
|
+
```jsx
|
|
125
|
+
import React from 'react';
|
|
126
|
+
import { Button, Card, Avatar, AvatarGroup } from 'atomix/react';
|
|
127
|
+
|
|
128
|
+
function MyComponent() {
|
|
129
|
+
return (
|
|
130
|
+
<div>
|
|
131
|
+
{/* Basic Button */}
|
|
132
|
+
<Button variant="primary">Click Me</Button>
|
|
133
|
+
|
|
134
|
+
{/* Avatar component */}
|
|
135
|
+
<Avatar
|
|
136
|
+
src="https://example.com/avatar.jpg"
|
|
137
|
+
size="md"
|
|
138
|
+
circle={true}
|
|
139
|
+
alt="User Avatar"
|
|
140
|
+
/>
|
|
141
|
+
|
|
142
|
+
{/* Card component */}
|
|
143
|
+
<Card>
|
|
144
|
+
<Card.Header>Card Title</Card.Header>
|
|
145
|
+
<Card.Body>
|
|
146
|
+
<p>This is a card content.</p>
|
|
147
|
+
<Button variant="secondary">Read More</Button>
|
|
148
|
+
</Card.Body>
|
|
149
|
+
<Card.Footer>Footer information</Card.Footer>
|
|
150
|
+
</Card>
|
|
151
|
+
|
|
152
|
+
{/* Avatar Group example */}
|
|
153
|
+
<AvatarGroup max={3}>
|
|
154
|
+
<Avatar src="user1.jpg" size="md" circle={true} />
|
|
155
|
+
<Avatar src="user2.jpg" size="md" circle={true} />
|
|
156
|
+
<Avatar src="user3.jpg" size="md" circle={true} />
|
|
157
|
+
<Avatar src="user4.jpg" size="md" circle={true} />
|
|
158
|
+
<Avatar src="user5.jpg" size="md" circle={true} />
|
|
159
|
+
</AvatarGroup>
|
|
160
|
+
</div>
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### HTML/CSS Components
|
|
166
|
+
|
|
167
|
+
Use Atomix components directly in your HTML with the appropriate classes:
|
|
168
|
+
|
|
169
|
+
```html
|
|
170
|
+
<!-- Button component -->
|
|
171
|
+
<button class="c-button c-button--primary">Click Me</button>
|
|
172
|
+
|
|
173
|
+
<!-- Avatar component -->
|
|
174
|
+
<div class="c-avatar c-avatar--md c-avatar--circle">
|
|
175
|
+
<img src="user.jpg" alt="User Avatar" class="c-avatar__image">
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<!-- Card component -->
|
|
179
|
+
<div class="c-card">
|
|
180
|
+
<div class="c-card__header">Card Title</div>
|
|
181
|
+
<div class="c-card__body">
|
|
182
|
+
<p>This is a card content.</p>
|
|
183
|
+
<button class="c-button c-button--secondary">Read More</button>
|
|
184
|
+
</div>
|
|
185
|
+
<div class="c-card__footer">Footer information</div>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
188
|
+
<!-- Avatar Group component -->
|
|
189
|
+
<div class="c-avatar-group">
|
|
190
|
+
<div class="c-avatar c-avatar--md c-avatar--circle">
|
|
191
|
+
<img src="user1.jpg" alt="User 1" class="c-avatar__image">
|
|
192
|
+
</div>
|
|
193
|
+
<div class="c-avatar c-avatar--md c-avatar--circle">
|
|
194
|
+
<img src="user2.jpg" alt="User 2" class="c-avatar__image">
|
|
195
|
+
</div>
|
|
196
|
+
<div class="c-avatar c-avatar--md c-avatar--circle">
|
|
197
|
+
<img src="user3.jpg" alt="User 3" class="c-avatar__image">
|
|
198
|
+
</div>
|
|
199
|
+
<!-- More indicator (shown when max is reached) -->
|
|
200
|
+
<div class="c-avatar c-avatar--md c-avatar--circle c-avatar-group__more">+2</div>
|
|
201
|
+
</div>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Form Components
|
|
205
|
+
|
|
206
|
+
Atomix provides various form components for creating accessible forms:
|
|
207
|
+
|
|
208
|
+
```html
|
|
209
|
+
<!-- Form Group -->
|
|
210
|
+
<div class="c-form-group">
|
|
211
|
+
<label class="c-form-group__label" for="username">Username</label>
|
|
212
|
+
<input type="text" id="username" class="c-input" placeholder="Enter username">
|
|
213
|
+
<div class="c-form-group__helper">Enter your username or email</div>
|
|
214
|
+
</div>
|
|
215
|
+
|
|
216
|
+
<!-- Radio buttons -->
|
|
217
|
+
<div class="c-radio">
|
|
218
|
+
<input type="radio" id="radio1" name="radio-group" class="c-radio__input">
|
|
219
|
+
<label for="radio1" class="c-radio__label">Option 1</label>
|
|
220
|
+
</div>
|
|
221
|
+
|
|
222
|
+
<!-- Checkbox -->
|
|
223
|
+
<div class="c-checkbox">
|
|
224
|
+
<input type="checkbox" id="checkbox1" class="c-checkbox__input">
|
|
225
|
+
<label for="checkbox1" class="c-checkbox__label">Option 1</label>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
<!-- Textarea -->
|
|
229
|
+
<textarea class="c-input c-input--textarea" rows="4" placeholder="Enter your message"></textarea>
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Layout System
|
|
233
|
+
|
|
234
|
+
### Grid System
|
|
235
|
+
|
|
236
|
+
Atomix includes a flexible 12-column grid system:
|
|
237
|
+
|
|
238
|
+
```html
|
|
239
|
+
<div class="o-container">
|
|
240
|
+
<div class="o-row">
|
|
241
|
+
<div class="o-col-12 o-col-md-6 o-col-lg-4">
|
|
242
|
+
<!-- Content for first column -->
|
|
243
|
+
</div>
|
|
244
|
+
<div class="o-col-12 o-col-md-6 o-col-lg-4">
|
|
245
|
+
<!-- Content for second column -->
|
|
246
|
+
</div>
|
|
247
|
+
<div class="o-col-12 o-col-md-12 o-col-lg-4">
|
|
248
|
+
<!-- Content for third column -->
|
|
249
|
+
</div>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Key features:
|
|
255
|
+
- Responsive breakpoints: `sm`, `md`, `lg`, `xl`
|
|
256
|
+
- 12-column layout
|
|
257
|
+
- Auto-layout options
|
|
258
|
+
- Nesting support
|
|
259
|
+
- Alignment controls
|
|
260
|
+
|
|
261
|
+
### Spacing System
|
|
262
|
+
|
|
263
|
+
Atomix uses a consistent spacing scale:
|
|
264
|
+
|
|
265
|
+
```html
|
|
266
|
+
<!-- Margin examples -->
|
|
267
|
+
<div class="u-mt-4">Margin top 4 (1rem)</div>
|
|
268
|
+
<div class="u-mb-8">Margin bottom 8 (2rem)</div>
|
|
269
|
+
<div class="u-mx-6">Margin left and right 6 (1.5rem)</div>
|
|
270
|
+
|
|
271
|
+
<!-- Padding examples -->
|
|
272
|
+
<div class="u-pt-4">Padding top 4 (1rem)</div>
|
|
273
|
+
<div class="u-pb-8">Padding bottom 8 (2rem)</div>
|
|
274
|
+
<div class="u-px-6">Padding left and right 6 (1.5rem)</div>
|
|
275
|
+
|
|
276
|
+
<!-- Gap examples for flex/grid layouts -->
|
|
277
|
+
<div class="u-d-flex u-gap-4">
|
|
278
|
+
<div>Item 1</div>
|
|
279
|
+
<div>Item 2</div>
|
|
280
|
+
</div>
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
The spacing scale follows this pattern:
|
|
284
|
+
- `0`: 0
|
|
285
|
+
- `1`: 0.25rem (4px)
|
|
286
|
+
- `2`: 0.5rem (8px)
|
|
287
|
+
- `3`: 0.75rem (12px)
|
|
288
|
+
- `4`: 1rem (16px)
|
|
289
|
+
- And so on...
|
|
290
|
+
|
|
291
|
+
## Utility Classes
|
|
292
|
+
|
|
293
|
+
Atomix includes a comprehensive set of utility classes for quick styling without writing custom CSS.
|
|
294
|
+
|
|
295
|
+
### Display Utilities
|
|
296
|
+
|
|
297
|
+
```html
|
|
298
|
+
<div class="u-d-block">Display block</div>
|
|
299
|
+
<div class="u-d-flex">Display flex</div>
|
|
300
|
+
<div class="u-d-grid">Display grid</div>
|
|
301
|
+
<div class="u-d-none u-d-md-block">Hidden on mobile, visible on medium screens and up</div>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Flex Utilities
|
|
305
|
+
|
|
306
|
+
```html
|
|
307
|
+
<!-- Flex container with items aligned and justified -->
|
|
308
|
+
<div class="u-d-flex u-justify-content-between u-align-items-center">
|
|
309
|
+
<div>Left content</div>
|
|
310
|
+
<div>Right content</div>
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
<!-- Flex column layout with gap -->
|
|
314
|
+
<div class="u-d-flex u-flex-column u-gap-4">
|
|
315
|
+
<div>Item 1</div>
|
|
316
|
+
<div>Item 2</div>
|
|
317
|
+
<div>Item 3</div>
|
|
318
|
+
</div>
|
|
319
|
+
|
|
320
|
+
<!-- Flex grow/shrink -->
|
|
321
|
+
<div class="u-d-flex">
|
|
322
|
+
<div class="u-flex-grow-1">Grows to fill space</div>
|
|
323
|
+
<div class="u-flex-shrink-0">Won't shrink</div>
|
|
324
|
+
</div>
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Text Utilities
|
|
328
|
+
|
|
329
|
+
```html
|
|
330
|
+
<p class="u-text-center">Centered text</p>
|
|
331
|
+
<p class="u-fw-bold">Bold text</p>
|
|
332
|
+
<p class="u-fs-4">Font size 4</p>
|
|
333
|
+
<p class="u-text-primary">Primary text color</p>
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### Spacing Utilities
|
|
337
|
+
|
|
338
|
+
```html
|
|
339
|
+
<div class="u-p-4">Padding 4 on all sides</div>
|
|
340
|
+
<div class="u-m-4">Margin 4 on all sides</div>
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Responsive Utilities
|
|
344
|
+
|
|
345
|
+
Many utilities include responsive variants:
|
|
346
|
+
|
|
347
|
+
```html
|
|
348
|
+
<!-- Visible only on medium screens and up -->
|
|
349
|
+
<div class="u-d-none u-d-md-block">Shown on medium screens and up</div>
|
|
350
|
+
|
|
351
|
+
<!-- Different text alignment based on screen size -->
|
|
352
|
+
<p class="u-text-center u-text-md-start u-text-lg-end">
|
|
353
|
+
Centered on mobile, left-aligned on medium, right-aligned on large screens
|
|
354
|
+
</p>
|
|
355
|
+
|
|
356
|
+
<!-- Responsive column widths -->
|
|
357
|
+
<div class="o-col-12 o-col-md-6 o-col-lg-4">
|
|
358
|
+
Full width on mobile, half width on medium, one-third on large screens
|
|
359
|
+
</div>
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
## Theming and Customization
|
|
363
|
+
|
|
364
|
+
### Using CSS Variables
|
|
365
|
+
|
|
366
|
+
Atomix uses CSS variables (custom properties) for easy theming:
|
|
367
|
+
|
|
368
|
+
```css
|
|
369
|
+
/* In your custom CSS file */
|
|
370
|
+
:root {
|
|
371
|
+
/* Primary colors */
|
|
372
|
+
--atomix-primary-color: #3366ff;
|
|
373
|
+
--atomix-primary-hover: #2a52cc;
|
|
374
|
+
|
|
375
|
+
/* Border radius */
|
|
376
|
+
--atomix-border-radius: 4px;
|
|
377
|
+
|
|
378
|
+
/* Font family */
|
|
379
|
+
--atomix-font-family: 'Montserrat', sans-serif;
|
|
380
|
+
}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Component-Specific Customization
|
|
384
|
+
|
|
385
|
+
You can also customize specific components:
|
|
386
|
+
|
|
387
|
+
```css
|
|
388
|
+
/* Custom button styles */
|
|
389
|
+
:root {
|
|
390
|
+
--atomix-btn-border-radius: 8px;
|
|
391
|
+
--atomix-btn-padding-x: 1.5rem;
|
|
392
|
+
--atomix-btn-padding-y: 0.75rem;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/* Custom card styles */
|
|
396
|
+
:root {
|
|
397
|
+
--atomix-card-border-radius: 12px;
|
|
398
|
+
--atomix-card-box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### Dark Mode Support
|
|
403
|
+
|
|
404
|
+
Atomix provides built-in dark mode support:
|
|
405
|
+
|
|
406
|
+
```html
|
|
407
|
+
<!-- Toggle between light and dark mode -->
|
|
408
|
+
<div class="c-color-mode-toggle">
|
|
409
|
+
<button data-theme-mode="light">Light</button>
|
|
410
|
+
<button data-theme-mode="dark">Dark</button>
|
|
411
|
+
</div>
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
You can also customize dark mode colors:
|
|
415
|
+
|
|
416
|
+
```css
|
|
417
|
+
[data-theme="dark"] {
|
|
418
|
+
--atomix-primary-color: #5c8aff;
|
|
419
|
+
--atomix-body-bg: #121212;
|
|
420
|
+
--atomix-body-color: #f8f9fa;
|
|
421
|
+
}
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## Best Practices
|
|
425
|
+
|
|
426
|
+
### Component Patterns
|
|
427
|
+
|
|
428
|
+
1. **Consistent Component Usage**:
|
|
429
|
+
```jsx
|
|
430
|
+
// Good - using variants consistently
|
|
431
|
+
<Button variant="primary" size="md">Primary Button</Button>
|
|
432
|
+
<Button variant="secondary" size="md">Secondary Button</Button>
|
|
433
|
+
|
|
434
|
+
// Avoid inconsistent naming
|
|
435
|
+
<Button type="primary" btnSize="md">Inconsistent Button</Button>
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
2. **Composition over Configuration**:
|
|
439
|
+
```jsx
|
|
440
|
+
// Compose simple components to create complex UIs
|
|
441
|
+
<Card>
|
|
442
|
+
<Card.Header>
|
|
443
|
+
<Avatar src="user.jpg" size="sm" />
|
|
444
|
+
<h4>User Profile</h4>
|
|
445
|
+
</Card.Header>
|
|
446
|
+
<Card.Body>
|
|
447
|
+
{/* Card content */}
|
|
448
|
+
</Card.Body>
|
|
449
|
+
</Card>
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
3. **Use Utility Classes for Minor Adjustments**:
|
|
453
|
+
```jsx
|
|
454
|
+
<Button className="u-mt-4 u-mb-2">With spacing adjustments</Button>
|
|
455
|
+
<Card className="u-shadow-lg u-border-0">Enhanced card</Card>
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Accessibility
|
|
459
|
+
|
|
460
|
+
1. **Always provide alt text for images**:
|
|
461
|
+
```html
|
|
462
|
+
<img src="image.jpg" alt="Descriptive text for the image">
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
```jsx
|
|
466
|
+
<Avatar src="user.jpg" alt="User Profile" />
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
2. **Use semantic markup when possible**:
|
|
470
|
+
```jsx
|
|
471
|
+
<Button as="a" href="https://example.com">Link Button</Button>
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
3. **Ensure sufficient color contrast** and don't rely solely on color to convey information.
|
|
475
|
+
|
|
476
|
+
4. **Support keyboard navigation** by preserving tab order and providing focus styles.
|
|
477
|
+
|
|
478
|
+
## Troubleshooting
|
|
479
|
+
|
|
480
|
+
### Common Issues
|
|
481
|
+
|
|
482
|
+
1. **Components don't display correctly**:
|
|
483
|
+
- Check if you've imported the CSS file correctly
|
|
484
|
+
- Verify you're using the right class names or component props
|
|
485
|
+
- Check for console errors
|
|
486
|
+
|
|
487
|
+
2. **Responsive behavior issues**:
|
|
488
|
+
- Ensure you've added the viewport meta tag
|
|
489
|
+
- Verify you're using the correct responsive utility classes
|
|
490
|
+
- Test on different screen sizes
|
|
491
|
+
|
|
492
|
+
3. **Styling conflicts**:
|
|
493
|
+
- Check for CSS specificity issues with existing styles
|
|
494
|
+
- Use Atomix's utility classes instead of custom CSS when possible
|
|
495
|
+
- Consider using CSS modules or scoped styles in complex projects
|
|
496
|
+
|
|
497
|
+
### Getting Support
|
|
498
|
+
|
|
499
|
+
- Check the [Atomix documentation site](https://github.com/liimonx/atomix)
|
|
500
|
+
- Review component examples in Storybook
|
|
501
|
+
- Open an issue on GitHub for bugs or feature requests
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
This implementation guide provides a foundation for using Atomix in your projects. For more detailed information on specific components, refer to Storybook documentation or the component source code.
|
package/next.config.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** @type {import('next').NextConfig} */
|
|
2
|
+
const nextConfig = {
|
|
3
|
+
// Enable experimental features for better compatibility
|
|
4
|
+
experimental: {
|
|
5
|
+
// Enable CSS-in-JS support
|
|
6
|
+
esmExternals: true,
|
|
7
|
+
},
|
|
8
|
+
|
|
9
|
+
// Configure webpack for Atomix components
|
|
10
|
+
webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
|
|
11
|
+
// Handle SCSS files from Atomix
|
|
12
|
+
config.module.rules.push({
|
|
13
|
+
test: /\.scss$/,
|
|
14
|
+
use: [
|
|
15
|
+
'style-loader',
|
|
16
|
+
'css-loader',
|
|
17
|
+
{
|
|
18
|
+
loader: 'sass-loader',
|
|
19
|
+
options: {
|
|
20
|
+
implementation: require('sass-embedded'),
|
|
21
|
+
sassOptions: {
|
|
22
|
+
outputStyle: 'expanded',
|
|
23
|
+
precision: 8,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Handle font files
|
|
31
|
+
config.module.rules.push({
|
|
32
|
+
test: /\.(woff|woff2|eot|ttf|otf)$/i,
|
|
33
|
+
type: 'asset/resource',
|
|
34
|
+
generator: {
|
|
35
|
+
filename: 'static/fonts/[name].[hash][ext]'
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// Handle image files
|
|
40
|
+
config.module.rules.push({
|
|
41
|
+
test: /\.(png|jpg|jpeg|gif|svg)$/i,
|
|
42
|
+
type: 'asset',
|
|
43
|
+
parser: {
|
|
44
|
+
dataUrlCondition: {
|
|
45
|
+
maxSize: 4 * 1024 // 4kb
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
generator: {
|
|
49
|
+
filename: 'static/images/[name].[hash][ext]'
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
return config;
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
// Configure CSS handling
|
|
57
|
+
cssLoaderOptions: {
|
|
58
|
+
importLoaders: 1,
|
|
59
|
+
modules: {
|
|
60
|
+
auto: true,
|
|
61
|
+
localIdentName: '[local]--[hash:base64:5]',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
// Transpile Atomix package
|
|
66
|
+
transpilePackages: ['@shohojdhara/atomix'],
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
module.exports = nextConfig;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shohojdhara/atomix",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Atomix Design System - A modern component library for
|
|
3
|
+
"version": "0.1.18",
|
|
4
|
+
"description": "Atomix Design System - A modern component library for Web, React and Next.js applications with SSR support",
|
|
5
5
|
"main": "dist/js/atomix.react.cjs.js",
|
|
6
6
|
"module": "dist/js/atomix.react.esm.js",
|
|
7
7
|
"unpkg": "dist/js/atomix.react.umd.js",
|
|
@@ -29,7 +29,13 @@
|
|
|
29
29
|
"types": "./css.d.ts",
|
|
30
30
|
"default": "./dist/css/atomix.min.css"
|
|
31
31
|
},
|
|
32
|
-
"./scss": "./src/styles/index.scss"
|
|
32
|
+
"./scss": "./src/styles/index.scss",
|
|
33
|
+
"./next": {
|
|
34
|
+
"types": "./dist/types/index.d.ts",
|
|
35
|
+
"import": "./dist/js/atomix.react.esm.js",
|
|
36
|
+
"require": "./dist/js/atomix.react.cjs.js",
|
|
37
|
+
"default": "./dist/js/atomix.react.esm.js"
|
|
38
|
+
}
|
|
33
39
|
},
|
|
34
40
|
"typesVersions": {
|
|
35
41
|
"*": {
|
|
@@ -164,15 +170,28 @@
|
|
|
164
170
|
},
|
|
165
171
|
"files": [
|
|
166
172
|
"dist",
|
|
173
|
+
"src",
|
|
167
174
|
"README.md",
|
|
168
175
|
"LICENSE",
|
|
169
|
-
"CHANGELOG.md"
|
|
176
|
+
"CHANGELOG.md",
|
|
177
|
+
"CONTRIBUTING.md",
|
|
178
|
+
"NEXTJS_INTEGRATION.md",
|
|
179
|
+
"next.config.js",
|
|
180
|
+
"css.d.ts",
|
|
181
|
+
"examples",
|
|
182
|
+
"implementation-guide.md",
|
|
183
|
+
"tsconfig.json",
|
|
184
|
+
"babel.config.js",
|
|
185
|
+
"postcss.config.js",
|
|
186
|
+
"webpack.config.js"
|
|
170
187
|
],
|
|
171
188
|
"keywords": [
|
|
172
189
|
"ui",
|
|
173
190
|
"components",
|
|
174
191
|
"design-system",
|
|
175
192
|
"react",
|
|
193
|
+
"nextjs",
|
|
194
|
+
"next.js",
|
|
176
195
|
"typescript",
|
|
177
196
|
"css",
|
|
178
197
|
"scss",
|
|
@@ -182,7 +201,9 @@
|
|
|
182
201
|
"accessibility",
|
|
183
202
|
"responsive",
|
|
184
203
|
"modern",
|
|
185
|
-
"frontend"
|
|
204
|
+
"frontend",
|
|
205
|
+
"ssr",
|
|
206
|
+
"server-side-rendering"
|
|
186
207
|
],
|
|
187
208
|
"repository": {
|
|
188
209
|
"type": "git",
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
plugins: {
|
|
3
|
+
'postcss-import': {},
|
|
4
|
+
'postcss-flexbugs-fixes': {},
|
|
5
|
+
'postcss-preset-env': {
|
|
6
|
+
autoprefixer: {
|
|
7
|
+
flexbox: 'no-2009',
|
|
8
|
+
grid: 'autoplace'
|
|
9
|
+
},
|
|
10
|
+
stage: 3,
|
|
11
|
+
features: {
|
|
12
|
+
'custom-properties': false,
|
|
13
|
+
'nesting-rules': true
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
autoprefixer: {},
|
|
17
|
+
...(process.env.NODE_ENV === 'production' ? {
|
|
18
|
+
cssnano: {
|
|
19
|
+
preset: ['default', {
|
|
20
|
+
discardComments: {
|
|
21
|
+
removeAll: true,
|
|
22
|
+
},
|
|
23
|
+
normalizeWhitespace: false,
|
|
24
|
+
}],
|
|
25
|
+
}
|
|
26
|
+
} : {})
|
|
27
|
+
},
|
|
28
|
+
}
|