@shohojdhara/atomix 0.1.16 → 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 -2
- package/dist/js/194.js +1 -2
- package/dist/js/244.js +1 -0
- package/dist/js/atomix.react.cjs.js +1 -0
- package/dist/js/atomix.react.esm.js +1 -2
- package/dist/js/atomix.react.umd.js +1 -2
- 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/js/chunks/esm/{202.ff48d27672233280e021.js → 202.82aa7b3244e53c9edb72.js} +1 -2
- package/dist/js/chunks/esm/{308.f873332126eba90e5c62.js → 308.27e1e4005705ae320432.js} +1 -2
- package/dist/js/chunks/esm/{54.4db919e5e4e5cc6d7c72.js → 54.ece1fd6964f98d4d994f.js} +1 -2
- package/dist/js/chunks/esm/{619.afc5a718eff77fa423b5.js → 619.ebeb0298432a066ac05c.js} +1 -2
- package/dist/js/chunks/esm/{690.a9e968c7497d61e56cdc.js → 690.c5f412cc979b55740359.js} +1 -2
- package/dist/js/chunks/esm/{894.f1091a4a8758c26d29e4.js → 894.3604ddc9367d75191198.js} +1 -2
- package/dist/js/chunks/esm/{897.561a50f7d043d42169da.js → 897.a4aab2fad9401693eb12.js} +1 -2
- package/dist/js/chunks/umd/{202.dac7605cc555b6bda542.js → 202.5017dd0403d696bf1644.js} +1 -2
- package/dist/js/chunks/umd/{308.6709979849dcbdb90c9b.js → 308.4bc14b9d7b16b6ee0ab8.js} +1 -2
- package/dist/js/chunks/umd/{54.403470e1f7d0ef4424a7.js → 54.7fdfb4a031989470a70d.js} +1 -2
- package/dist/js/chunks/umd/{619.fa05ea98c10270eb64c5.js → 619.84a0c35ecee695250085.js} +1 -2
- package/dist/js/chunks/umd/{690.aa7054d1c53e5402c2d6.js → 690.d7041094a34a4a434be2.js} +1 -2
- package/dist/js/chunks/umd/{894.3e1eaf0a2aadf4434390.js → 894.c127ee4e9513c22ee97d.js} +1 -2
- package/dist/js/chunks/umd/{897.554ea37be4453698c167.js → 897.26932ac837a39fc91907.js} +1 -2
- package/dist/types/components/Badge/index.d.ts +3 -3
- 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/PhotoViewer/PhotoViewer.d.ts +2 -2
- package/dist/types/components/PhotoViewer/PhotoViewerHeader.d.ts +2 -2
- package/dist/types/components/Tab/index.d.ts +2 -2
- package/dist/types/components/Toggle/index.d.ts +2 -2
- package/dist/types/components/Tooltip/index.d.ts +3 -3
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/lib/composables/index.d.ts +1 -0
- package/dist/types/lib/composables/useDatePicker.d.ts +1 -1
- package/dist/types/lib/composables/useDropdown.d.ts +1 -1
- package/dist/types/lib/composables/useModal.d.ts +1 -1
- package/dist/types/lib/composables/usePhotoViewer.d.ts +1 -1
- package/dist/types/lib/composables/useRating.d.ts +1 -1
- 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 +80 -42
- package/postcss.config.js +28 -0
- package/src/Introduction.mdx +3 -5
- package/src/assets/fonts/HelveticaNeue/stylesheet.css +140 -127
- package/src/components/Accordion/Accordion.stories.tsx +58 -45
- package/src/components/Accordion/Accordion.tsx +14 -4
- package/src/components/Accordion/scripts/accordionInteractions.ts +9 -9
- package/src/components/Accordion/scripts/bundle.ts +1 -1
- package/src/components/Accordion/scripts/index.ts +3 -3
- package/src/components/AtomixLogo.tsx +13 -19
- package/src/components/Avatar/Avatar.stories.tsx +24 -21
- package/src/components/Avatar/Avatar.tsx +5 -8
- package/src/components/Avatar/AvatarGroup.tsx +11 -11
- package/src/components/Avatar/index.ts +1 -1
- package/src/components/Avatar/scripts/index.ts +66 -71
- package/src/components/Badge/Badge.stories.tsx +51 -21
- package/src/components/Badge/Badge.tsx +14 -12
- package/src/components/Badge/index.ts +3 -3
- package/src/components/Breadcrumb/Breadcrumb.stories.tsx +40 -40
- package/src/components/Breadcrumb/Breadcrumb.tsx +19 -26
- package/src/components/Breadcrumb/index.ts +1 -1
- package/src/components/Breadcrumb/scripts/breadcrumb.ts +36 -34
- package/src/components/Breadcrumb/scripts/index.ts +1 -1
- package/src/components/Breadcrumb/scripts/types.ts +9 -9
- package/src/components/Button/Button.stories.tsx +36 -12
- package/src/components/Button/Button.tsx +52 -39
- package/src/components/Button/index.ts +1 -1
- package/src/components/Button/scripts/buttonInteractions.ts +9 -9
- package/src/components/Button/scripts/index.ts +1 -1
- package/src/components/Callout/Callout.stories.tsx +207 -114
- package/src/components/Callout/Callout.tsx +12 -12
- package/src/components/Callout/index.ts +1 -1
- package/src/components/Callout/scripts/CalloutInteractions.ts +58 -48
- package/src/components/Callout/scripts/bundle.ts +2 -2
- package/src/components/Callout/scripts/index.ts +19 -15
- package/src/components/Card/Card.stories.tsx +2 -2
- package/src/components/Card/Card.tsx +49 -72
- package/src/components/Card/ElevationCard.tsx +4 -8
- package/src/components/Card/index.ts +1 -1
- package/src/components/Card/scripts/bundle.ts +7 -7
- package/src/components/Card/scripts/cardInteractions.ts +24 -24
- package/src/components/Card/scripts/index.ts +25 -26
- package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +6 -3
- package/src/components/ColorModeToggle/ColorModeToggle.tsx +12 -15
- package/src/components/ColorModeToggle/index.ts +1 -1
- package/src/components/Countdown/Countdown.stories.tsx +6 -2
- package/src/components/Countdown/Countdown.tsx +56 -48
- package/src/components/Countdown/index.ts +1 -1
- package/src/components/Countdown/scripts/index.ts +33 -28
- package/src/components/DataTable/DataTable.stories.tsx +23 -18
- package/src/components/DataTable/DataTable.tsx +39 -39
- package/src/components/DataTable/index.ts +1 -1
- package/src/components/DataTable/scripts/bundle.ts +8 -3
- package/src/components/DataTable/scripts/index.ts +182 -164
- package/src/components/DatePicker/DatePicker.stories.tsx +136 -148
- package/src/components/DatePicker/DatePicker.tsx +461 -420
- package/src/components/DatePicker/scripts/bundle.ts +12 -7
- package/src/components/DatePicker/scripts/componentInteractions.ts +76 -46
- package/src/components/DatePicker/scripts/index.ts +176 -156
- package/src/components/DatePicker/types.ts +32 -32
- package/src/components/DatePicker/utils.ts +41 -30
- package/src/components/Dropdown/Dropdown.stories.tsx +85 -55
- package/src/components/Dropdown/Dropdown.tsx +97 -88
- package/src/components/Dropdown/index.ts +5 -10
- package/src/components/Dropdown/scripts/bundle.ts +10 -10
- package/src/components/Dropdown/scripts/componentInteractions.ts +10 -2
- package/src/components/Dropdown/scripts/index.ts +122 -117
- package/src/components/EdgePanel/EdgePanel.stories.tsx +142 -58
- package/src/components/EdgePanel/EdgePanel.tsx +7 -13
- package/src/components/EdgePanel/index.ts +1 -1
- package/src/components/EdgePanel/scripts/bundle.ts +5 -5
- package/src/components/EdgePanel/scripts/edgePanelInteractions.ts +26 -26
- package/src/components/EdgePanel/scripts/index.ts +53 -53
- package/src/components/Form/Checkbox.stories.tsx +2 -2
- package/src/components/Form/Checkbox.tsx +13 -7
- package/src/components/Form/Form.stories.tsx +144 -218
- package/src/components/Form/Form.tsx +6 -6
- package/src/components/Form/FormGroup.stories.tsx +21 -38
- package/src/components/Form/FormGroup.tsx +18 -20
- package/src/components/Form/Input.stories.tsx +1 -1
- package/src/components/Form/Input.tsx +18 -8
- package/src/components/Form/Radio.stories.tsx +12 -25
- package/src/components/Form/Radio.tsx +11 -6
- package/src/components/Form/Select.stories.tsx +6 -6
- package/src/components/Form/Select.tsx +31 -33
- package/src/components/Form/Textarea.stories.tsx +7 -2
- package/src/components/Form/Textarea.tsx +17 -8
- package/src/components/Form/index.ts +1 -1
- package/src/components/Hero/Hero.stories.tsx +44 -42
- package/src/components/Hero/Hero.tsx +28 -38
- package/src/components/Hero/index.ts +1 -1
- package/src/components/Hero/scripts/bundle.ts +6 -6
- package/src/components/Hero/scripts/heroInteractions.ts +24 -29
- package/src/components/Hero/scripts/index.ts +16 -17
- package/src/components/Icon/Icon.tsx +16 -18
- package/src/components/Icon/index.ts +1 -1
- package/src/components/List/List.stories.tsx +1 -3
- package/src/components/List/List.tsx +6 -10
- package/src/components/List/ListGroup.tsx +1 -1
- package/src/components/List/index.ts +1 -1
- package/src/components/Messages/Messages.stories.tsx +30 -29
- package/src/components/Messages/Messages.tsx +60 -55
- package/src/components/Messages/index.ts +1 -1
- package/src/components/Messages/scripts/bundle.ts +1 -6
- package/src/components/Messages/scripts/componentInteractions.ts +32 -37
- package/src/components/Messages/scripts/index.ts +61 -55
- package/src/components/Modal/Modal.stories.tsx +77 -53
- package/src/components/Modal/Modal.tsx +63 -62
- package/src/components/Modal/index.ts +1 -1
- package/src/components/Modal/scripts/bundle.ts +3 -3
- package/src/components/Modal/scripts/index.ts +96 -84
- package/src/components/Modal/scripts/modalInteractions.ts +16 -14
- package/src/components/{Navbar → Navigation/Menu}/MegaMenu.tsx +50 -59
- 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/{Navbar → Navigation/Navbar}/Navbar.stories.tsx +198 -104
- 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 +34 -33
- package/src/components/Pagination/Pagination.tsx +25 -35
- package/src/components/Pagination/index.ts +1 -1
- package/src/components/Pagination/scripts/index.ts +42 -37
- package/src/components/PhotoViewer/PhotoViewer.stories.tsx +48 -48
- package/src/components/PhotoViewer/PhotoViewer.tsx +29 -46
- package/src/components/PhotoViewer/PhotoViewerHeader.tsx +20 -26
- package/src/components/PhotoViewer/PhotoViewerImage.tsx +19 -17
- package/src/components/PhotoViewer/PhotoViewerInfo.tsx +13 -5
- package/src/components/PhotoViewer/PhotoViewerNavigation.tsx +5 -5
- package/src/components/PhotoViewer/PhotoViewerThumbnails.tsx +31 -30
- package/src/components/PhotoViewer/examples/ImageGallery.tsx +27 -37
- package/src/components/PhotoViewer/examples/SimpleGallery.tsx +19 -13
- package/src/components/PhotoViewer/examples/index.ts +1 -1
- package/src/components/PhotoViewer/index.ts +1 -1
- package/src/components/PhotoViewer/scripts/PhotoViewerInteractions.ts +43 -33
- package/src/components/PhotoViewer/scripts/bundle.ts +14 -14
- package/src/components/PhotoViewer/scripts/index.ts +173 -129
- package/src/components/Popover/Popover.stories.tsx +11 -12
- package/src/components/Popover/Popover.tsx +36 -36
- package/src/components/Popover/index.ts +1 -1
- package/src/components/Popover/scripts/bundle.ts +1 -1
- package/src/components/Popover/scripts/componentInteractions.ts +34 -46
- package/src/components/Popover/scripts/index.ts +64 -53
- package/src/components/ProductReview/ProductReview.stories.tsx +10 -8
- package/src/components/ProductReview/ProductReview.tsx +28 -32
- package/src/components/ProductReview/scripts/componentInteractions.ts +20 -20
- package/src/components/Progress/Progress.tsx +36 -34
- package/src/components/Progress/scripts/bundle.ts +7 -2
- package/src/components/Progress/scripts/componentInteractions.ts +29 -23
- package/src/components/Progress/scripts/index.ts +45 -39
- package/src/components/Rating/Rating.stories.tsx +3 -16
- package/src/components/Rating/Rating.tsx +250 -231
- package/src/components/Rating/scripts/bundle.ts +11 -6
- package/src/components/Rating/scripts/index.ts +85 -80
- package/src/components/Rating/scripts/ratingInteractions.ts +27 -24
- package/src/components/River/River.stories.tsx +70 -24
- package/src/components/River/River.tsx +28 -38
- package/src/components/River/index.ts +1 -1
- package/src/components/River/scripts/index.ts +11 -12
- package/src/components/SectionIntro/SectionIntro.stories.tsx +12 -9
- package/src/components/SectionIntro/SectionIntro.tsx +25 -31
- package/src/components/SectionIntro/scripts/componentInteractions.ts +1 -1
- package/src/components/SectionIntro/scripts/index.ts +30 -16
- package/src/components/Spinner/Spinner.stories.tsx +5 -7
- package/src/components/Spinner/Spinner.tsx +11 -6
- package/src/components/Spinner/index.ts +2 -2
- package/src/components/Steps/Steps.stories.tsx +44 -48
- package/src/components/Steps/Steps.tsx +20 -20
- package/src/components/Steps/index.ts +1 -1
- package/src/components/Steps/scripts/index.ts +9 -9
- package/src/components/Tab/Tab.stories.tsx +14 -6
- package/src/components/Tab/Tab.tsx +16 -18
- package/src/components/Tab/index.ts +2 -2
- package/src/components/Tab/scripts/index.ts +13 -13
- package/src/components/Testimonial/Testimonial.stories.tsx +54 -51
- package/src/components/Testimonial/Testimonial.tsx +18 -19
- package/src/components/Testimonial/index.ts +1 -1
- package/src/components/Testimonial/scripts/index.ts +19 -8
- package/src/components/Todo/Todo.stories.tsx +7 -24
- package/src/components/Todo/Todo.tsx +35 -46
- package/src/components/Todo/index.ts +1 -1
- package/src/components/Todo/scripts/bundle.ts +1 -1
- package/src/components/Todo/scripts/index.ts +99 -81
- package/src/components/Todo/scripts/todoInteractions.ts +12 -12
- package/src/components/Todo/scripts/types.ts +3 -3
- package/src/components/Toggle/Toggle.stories.tsx +2 -2
- package/src/components/Toggle/Toggle.tsx +18 -18
- package/src/components/Toggle/index.ts +2 -2
- package/src/components/Toggle/scripts/bundle.ts +7 -2
- package/src/components/Toggle/scripts/index.ts +14 -10
- package/src/components/Toggle/scripts/toggleInteractions.ts +11 -14
- package/src/components/Tooltip/Tooltip.stories.tsx +13 -6
- package/src/components/Tooltip/Tooltip.tsx +25 -15
- package/src/components/Tooltip/index.ts +3 -3
- package/src/components/Tooltip/scripts/bundle.ts +0 -1
- package/src/components/Tooltip/scripts/index.ts +44 -41
- package/src/components/Tooltip/scripts/tooltipInteractions.ts +22 -22
- package/src/components/Upload/Upload.stories.tsx +28 -34
- package/src/components/Upload/Upload.tsx +86 -71
- package/src/components/Upload/index.ts +1 -1
- package/src/components/Upload/scripts/index.ts +58 -43
- package/src/components/index.ts +5 -6
- package/src/design-tokens/BoxShadow/BoxShadow.stories.tsx +13 -10
- package/src/design-tokens/Colors/colors.scss +10 -7
- package/src/design-tokens/Colors/colors.stories.tsx +46 -59
- package/src/design-tokens/Spacing/Spacing.scss +7 -5
- package/src/design-tokens/Spacing/Spacing.stories.tsx +19 -18
- package/src/design-tokens/Typography/Typography.scss +88 -25
- package/src/design-tokens/Typography/Typography.stories.tsx +22 -25
- package/src/docs/implementation-guide.mdx +2 -2
- package/src/htmlComponentsEntry.ts +23 -23
- package/src/index.ts +1 -1
- package/src/layouts/Grid/Container.tsx +6 -10
- package/src/layouts/Grid/Grid.stories.tsx +72 -34
- package/src/layouts/Grid/Grid.tsx +6 -13
- package/src/layouts/Grid/GridCol.tsx +29 -26
- package/src/layouts/Grid/Row.tsx +6 -13
- package/src/layouts/MasonryGrid/MasonryGrid.stories.tsx +79 -72
- package/src/layouts/MasonryGrid/MasonryGrid.tsx +23 -25
- package/src/layouts/MasonryGrid/MasonryGridItem.tsx +4 -12
- package/src/layouts/index.ts +3 -4
- package/src/lib/composables/index.ts +3 -3
- package/src/lib/composables/useAccordion.ts +15 -6
- package/src/lib/composables/useBadge.ts +3 -3
- package/src/lib/composables/useBreadcrumb.ts +6 -12
- package/src/lib/composables/useButton.ts +3 -3
- package/src/lib/composables/useCallout.ts +3 -3
- package/src/lib/composables/useCard.ts +50 -28
- package/src/lib/composables/useCheckbox.ts +7 -7
- package/src/lib/composables/useDataTable.ts +61 -57
- package/src/lib/composables/useDatePicker.ts +255 -231
- package/src/lib/composables/useDropdown.ts +90 -75
- package/src/lib/composables/useEdgePanel.ts +50 -47
- package/src/lib/composables/useForm.ts +4 -7
- package/src/lib/composables/useFormGroup.ts +11 -12
- package/src/lib/composables/useHero.ts +36 -38
- package/src/lib/composables/useInput.ts +9 -10
- package/src/lib/composables/useMessages.ts +12 -14
- package/src/lib/composables/useModal.ts +37 -34
- package/src/lib/composables/useNavbar.ts +33 -22
- package/src/lib/composables/usePagination.ts +3 -10
- package/src/lib/composables/usePhotoViewer.ts +625 -578
- package/src/lib/composables/usePopover.ts +68 -62
- package/src/lib/composables/useProgress.ts +9 -12
- package/src/lib/composables/useRadio.ts +4 -4
- package/src/lib/composables/useRating.ts +82 -70
- package/src/lib/composables/useRiver.ts +28 -31
- package/src/lib/composables/useSelect.ts +7 -8
- package/src/lib/composables/useSideMenu.ts +197 -0
- package/src/lib/composables/useSpinner.ts +3 -3
- package/src/lib/composables/useTextarea.ts +8 -9
- package/src/lib/composables/useTodo.ts +14 -18
- package/src/lib/constants/components.ts +191 -118
- package/src/lib/constants/index.ts +1 -1
- package/src/lib/types/components.ts +454 -324
- package/src/lib/utils/dom.ts +2 -6
- package/src/lib/utils/icons.ts +20 -12
- package/src/lib/utils/index.ts +2 -2
- package/src/lib/utils/useForkRef.ts +1 -2
- package/src/styles/01-settings/_index.scss +59 -59
- package/src/styles/01-settings/_settings.accordion.scss +21 -21
- package/src/styles/01-settings/_settings.animations.scss +2 -2
- package/src/styles/01-settings/_settings.avatar-group.scss +14 -14
- package/src/styles/01-settings/_settings.avatar.scss +31 -31
- package/src/styles/01-settings/_settings.badge.scss +11 -11
- package/src/styles/01-settings/_settings.border-radius.scss +10 -9
- package/src/styles/01-settings/_settings.border.scss +7 -7
- package/src/styles/01-settings/_settings.box-shadow.scss +24 -12
- package/src/styles/01-settings/_settings.breadcrumb.scss +18 -18
- package/src/styles/01-settings/_settings.btn-group.scss +1 -1
- package/src/styles/01-settings/_settings.button.scss +63 -49
- package/src/styles/01-settings/_settings.callout.scss +27 -7
- package/src/styles/01-settings/_settings.card.scss +27 -30
- package/src/styles/01-settings/_settings.checkbox-group.scss +2 -3
- package/src/styles/01-settings/_settings.checkbox.scss +17 -18
- package/src/styles/01-settings/_settings.color-mode.scss +1 -1
- package/src/styles/01-settings/_settings.colors.scss +197 -214
- package/src/styles/01-settings/_settings.config.scss +1 -3
- package/src/styles/01-settings/_settings.countdown.scss +14 -14
- package/src/styles/01-settings/_settings.data-table.scss +6 -6
- package/src/styles/01-settings/_settings.datepicker.scss +40 -42
- package/src/styles/01-settings/_settings.dropdown.scss +30 -30
- package/src/styles/01-settings/_settings.edge-panel.scss +16 -16
- package/src/styles/01-settings/_settings.fonts.scss +14 -12
- package/src/styles/01-settings/_settings.form-group.scss +10 -10
- package/src/styles/01-settings/_settings.form.scss +3 -3
- package/src/styles/01-settings/_settings.grid.scss +1 -1
- package/src/styles/01-settings/_settings.hero.scss +23 -23
- package/src/styles/01-settings/_settings.input.scss +32 -32
- package/src/styles/01-settings/_settings.link.scss +6 -6
- package/src/styles/01-settings/_settings.list-group.scss +12 -12
- package/src/styles/01-settings/_settings.list.scss +2 -2
- package/src/styles/01-settings/_settings.maps.scss +183 -188
- package/src/styles/01-settings/_settings.masonry-grid.scss +2 -2
- package/src/styles/01-settings/_settings.menu.scss +35 -38
- package/src/styles/01-settings/_settings.messages.scss +71 -77
- package/src/styles/01-settings/_settings.modal.scss +24 -24
- package/src/styles/01-settings/_settings.nav.scss +15 -15
- package/src/styles/01-settings/_settings.navbar.scss +39 -12
- package/src/styles/01-settings/_settings.pagination.scss +21 -21
- package/src/styles/01-settings/_settings.photoviewer.scss +1 -1
- package/src/styles/01-settings/_settings.popover.scss +3 -3
- package/src/styles/01-settings/_settings.position.scss +2 -2
- package/src/styles/01-settings/_settings.progress.scss +15 -18
- package/src/styles/01-settings/_settings.rating.scss +7 -7
- package/src/styles/01-settings/_settings.river.scss +25 -25
- package/src/styles/01-settings/_settings.sectionintro.scss +15 -16
- package/src/styles/01-settings/_settings.select.scss +31 -31
- package/src/styles/01-settings/_settings.side-menu.scss +64 -16
- package/src/styles/01-settings/_settings.skeleton.scss +12 -12
- package/src/styles/01-settings/_settings.spacing.scss +62 -33
- package/src/styles/01-settings/_settings.spinner.scss +10 -10
- package/src/styles/01-settings/_settings.steps.scss +22 -22
- package/src/styles/01-settings/_settings.tabs.scss +25 -25
- package/src/styles/01-settings/_settings.testimonials.scss +17 -19
- package/src/styles/01-settings/_settings.todo.scss +1 -1
- package/src/styles/01-settings/_settings.toggle.scss +26 -26
- package/src/styles/01-settings/_settings.tooltip.scss +15 -15
- package/src/styles/01-settings/_settings.typography.scss +65 -48
- package/src/styles/01-settings/_settings.upload.scss +70 -77
- package/src/styles/01-settings/_settings.z-layers.scss +1 -1
- package/src/styles/02-tools/_index.scss +19 -19
- package/src/styles/02-tools/_tools.animations.scss +4 -4
- package/src/styles/02-tools/_tools.border-radius.scss +4 -5
- package/src/styles/02-tools/_tools.breakpoints.scss +33 -34
- package/src/styles/02-tools/_tools.button.scss +49 -25
- package/src/styles/02-tools/_tools.color-mode.scss +11 -11
- package/src/styles/02-tools/_tools.event.scss +1 -1
- package/src/styles/02-tools/_tools.hidden-visually.scss +1 -1
- package/src/styles/02-tools/_tools.hidden.scss +1 -1
- package/src/styles/02-tools/_tools.map-loop.scss +9 -9
- package/src/styles/02-tools/_tools.media-queries.scss +5 -3
- package/src/styles/02-tools/_tools.object-fit.scss +3 -3
- package/src/styles/02-tools/_tools.placeholder.scss +0 -1
- package/src/styles/02-tools/_tools.rem.scss +1 -1
- package/src/styles/02-tools/_tools.spacing.scss +8 -34
- package/src/styles/02-tools/_tools.to-rgb.scss +3 -3
- package/src/styles/02-tools/_tools.transition.scss +1 -1
- package/src/styles/02-tools/_tools.utility-api.scss +29 -14
- package/src/styles/03-generic/_generic.fonts.scss +0 -1
- package/src/styles/03-generic/_generic.reset.scss +13 -8
- package/src/styles/03-generic/_generic.root.scss +5 -5
- package/src/styles/03-generic/_index.scss +4 -4
- package/src/styles/04-elements/_elements.all.scss +2 -2
- package/src/styles/04-elements/_elements.body.scss +1 -2
- package/src/styles/04-elements/_elements.heading.scss +37 -21
- package/src/styles/04-elements/_elements.links.scss +0 -1
- package/src/styles/04-elements/_index.scss +5 -5
- package/src/styles/05-objects/_index.scss +3 -3
- package/src/styles/05-objects/_objects.container.scss +5 -4
- package/src/styles/05-objects/_objects.grid.scss +12 -12
- package/src/styles/05-objects/_objects.masonry-grid.scss +80 -74
- package/src/styles/06-components/_components.accordion.scss +12 -6
- package/src/styles/06-components/_components.avatar-group.scss +9 -8
- package/src/styles/06-components/_components.avatar.scss +78 -77
- package/src/styles/06-components/_components.badge.scss +48 -48
- package/src/styles/06-components/_components.breadcrumb.scss +57 -58
- package/src/styles/06-components/_components.btn-group.scss +22 -22
- package/src/styles/06-components/_components.button.scss +118 -110
- package/src/styles/06-components/_components.callout.scss +21 -15
- package/src/styles/06-components/_components.card.scss +6 -10
- package/src/styles/06-components/_components.checkbox-group.scss +9 -10
- package/src/styles/06-components/_components.checkbox.scss +10 -17
- package/src/styles/06-components/_components.color-mode-toggle.scss +6 -6
- package/src/styles/06-components/_components.countdown.scss +53 -54
- package/src/styles/06-components/_components.data-table.scss +40 -36
- package/src/styles/06-components/_components.datepicker.scss +95 -73
- package/src/styles/06-components/_components.dropdown.scss +15 -9
- package/src/styles/06-components/_components.edge-panel.scss +87 -46
- package/src/styles/06-components/_components.form-group.scss +5 -4
- package/src/styles/06-components/_components.hero.scss +128 -132
- package/src/styles/06-components/_components.icon.scss +16 -16
- package/src/styles/06-components/_components.image-gallery.scss +9 -7
- package/src/styles/06-components/_components.input.scss +18 -16
- package/src/styles/06-components/_components.list-group.scss +52 -51
- package/src/styles/06-components/_components.list.scss +15 -15
- package/src/styles/06-components/_components.menu.scss +225 -220
- package/src/styles/06-components/_components.messages.scss +45 -32
- package/src/styles/06-components/_components.modal.scss +0 -1
- package/src/styles/06-components/_components.nav.scss +56 -11
- package/src/styles/06-components/_components.navbar.scss +278 -202
- package/src/styles/06-components/_components.pagination.scss +7 -6
- package/src/styles/06-components/_components.photoviewer.scss +121 -116
- package/src/styles/06-components/_components.popover.scss +10 -10
- package/src/styles/06-components/_components.product-review.scss +3 -3
- package/src/styles/06-components/_components.progress.scss +32 -35
- package/src/styles/06-components/_components.rating.scss +9 -8
- package/src/styles/06-components/_components.river.scss +4 -2
- package/src/styles/06-components/_components.sectionintro.scss +19 -26
- package/src/styles/06-components/_components.select.scss +7 -8
- package/src/styles/06-components/_components.side-menu.scss +154 -28
- package/src/styles/06-components/_components.skeleton.scss +0 -1
- package/src/styles/06-components/_components.spinner.scss +2 -4
- package/src/styles/06-components/_components.steps.scss +76 -77
- package/src/styles/06-components/_components.tabs.scss +17 -12
- package/src/styles/06-components/_components.testimonials.scss +49 -52
- package/src/styles/06-components/_components.todo.scss +26 -26
- package/src/styles/06-components/_components.tooltip.scss +114 -115
- package/src/styles/06-components/_components.upload.scss +8 -18
- package/src/styles/06-components/_index.scss +48 -48
- package/src/styles/99-utilities/_index.scss +18 -18
- package/src/styles/99-utilities/_utilities.background.scss +13 -13
- package/src/styles/99-utilities/_utilities.border.scss +30 -30
- package/src/styles/99-utilities/_utilities.clearfix.scss +1 -1
- package/src/styles/99-utilities/_utilities.display.scss +5 -4
- package/src/styles/99-utilities/_utilities.flex.scss +19 -19
- package/src/styles/99-utilities/_utilities.link.scss +52 -35
- package/src/styles/99-utilities/_utilities.object-fit.scss +3 -3
- package/src/styles/99-utilities/_utilities.opacity.scss +6 -6
- package/src/styles/99-utilities/_utilities.overflow.scss +4 -4
- package/src/styles/99-utilities/_utilities.position.scss +8 -8
- package/src/styles/99-utilities/_utilities.shadow.scss +13 -13
- package/src/styles/99-utilities/_utilities.sizes.scss +17 -17
- package/src/styles/99-utilities/_utilities.spacing.scss +72 -37
- package/src/styles/99-utilities/_utilities.text.scss +15 -15
- package/src/styles/99-utilities/_utilities.visibility.scss +8 -8
- package/src/styles/99-utilities/_utilities.visually-hidden.scss +1 -1
- package/src/styles/99-utilities/_utilities.z-index.scss +2 -2
- package/tsconfig.json +74 -0
- package/webpack.config.js +463 -0
- package/NPM_PUBLISHING.md +0 -221
- package/dist/css/atomix.css.map +0 -1
- package/dist/js/194.js.map +0 -1
- package/dist/js/atomix.react.esm.js.map +0 -1
- package/dist/js/atomix.react.umd.js.map +0 -1
- package/dist/js/chunks/esm/202.ff48d27672233280e021.js.map +0 -1
- package/dist/js/chunks/esm/308.f873332126eba90e5c62.js.map +0 -1
- package/dist/js/chunks/esm/54.4db919e5e4e5cc6d7c72.js.map +0 -1
- package/dist/js/chunks/esm/619.afc5a718eff77fa423b5.js.map +0 -1
- package/dist/js/chunks/esm/690.a9e968c7497d61e56cdc.js.map +0 -1
- package/dist/js/chunks/esm/894.f1091a4a8758c26d29e4.js.map +0 -1
- package/dist/js/chunks/esm/897.561a50f7d043d42169da.js.map +0 -1
- package/dist/js/chunks/umd/202.dac7605cc555b6bda542.js.map +0 -1
- package/dist/js/chunks/umd/308.6709979849dcbdb90c9b.js.map +0 -1
- package/dist/js/chunks/umd/54.403470e1f7d0ef4424a7.js.map +0 -1
- package/dist/js/chunks/umd/619.fa05ea98c10270eb64c5.js.map +0 -1
- package/dist/js/chunks/umd/690.aa7054d1c53e5402c2d6.js.map +0 -1
- package/dist/js/chunks/umd/894.3e1eaf0a2aadf4434390.js.map +0 -1
- package/dist/js/chunks/umd/897.554ea37be4453698c167.js.map +0 -1
- 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
- package/src/components/Navbar/Menu.tsx +0 -122
- package/src/components/Navbar/Nav.tsx +0 -35
- package/src/components/Navbar/NavDropdown.tsx +0 -108
- package/src/components/Navbar/NavItem.tsx +0 -128
- package/src/components/Navbar/Navbar.tsx +0 -124
- package/src/components/Navbar/index.ts +0 -6
|
@@ -7,13 +7,13 @@ import { addClass, removeClass } from '../../../lib/utils/dom';
|
|
|
7
7
|
*/
|
|
8
8
|
export function applyHoverEffect(button: HTMLButtonElement): void {
|
|
9
9
|
const hoverClass = 'is-hovered';
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
button.addEventListener('mouseenter', () => {
|
|
12
12
|
if (!button.disabled) {
|
|
13
13
|
addClass(button, hoverClass);
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
button.addEventListener('mouseleave', () => {
|
|
18
18
|
removeClass(button, hoverClass);
|
|
19
19
|
});
|
|
@@ -25,17 +25,17 @@ export function applyHoverEffect(button: HTMLButtonElement): void {
|
|
|
25
25
|
*/
|
|
26
26
|
export function applyActiveEffect(button: HTMLButtonElement): void {
|
|
27
27
|
const activeClass = 'is-active';
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
button.addEventListener('mousedown', () => {
|
|
30
30
|
if (!button.disabled) {
|
|
31
31
|
addClass(button, activeClass);
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
button.addEventListener('mouseup', () => {
|
|
36
36
|
removeClass(button, activeClass);
|
|
37
37
|
});
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
button.addEventListener('mouseleave', () => {
|
|
40
40
|
removeClass(button, activeClass);
|
|
41
41
|
});
|
|
@@ -56,18 +56,18 @@ export function initializeButton(
|
|
|
56
56
|
): void {
|
|
57
57
|
const { onClick, enableHoverEffect = true, enableActiveEffect = true } = options || {};
|
|
58
58
|
const { handleClick } = useButton();
|
|
59
|
-
|
|
59
|
+
|
|
60
60
|
// Set up click handler with disabled state check
|
|
61
61
|
if (onClick) {
|
|
62
62
|
button.addEventListener('click', handleClick(onClick));
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
|
|
65
65
|
// Apply interaction effects
|
|
66
66
|
if (enableHoverEffect) {
|
|
67
67
|
applyHoverEffect(button);
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
if (enableActiveEffect) {
|
|
71
71
|
applyActiveEffect(button);
|
|
72
72
|
}
|
|
73
|
-
}
|
|
73
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './buttonInteractions';
|
|
1
|
+
export * from './buttonInteractions';
|
|
@@ -11,9 +11,10 @@ const meta: Meta<typeof Callout> = {
|
|
|
11
11
|
layout: 'padded',
|
|
12
12
|
docs: {
|
|
13
13
|
description: {
|
|
14
|
-
component:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
component:
|
|
15
|
+
'Callout components are used to display important messages, notifications, or alerts to users. They can be used to provide feedback, warnings, errors, or general information.',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
17
18
|
},
|
|
18
19
|
argTypes: {
|
|
19
20
|
variant: {
|
|
@@ -92,25 +93,49 @@ type Story = StoryObj<typeof Callout>;
|
|
|
92
93
|
// Icon components for different callout types
|
|
93
94
|
const InfoIcon = () => (
|
|
94
95
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
95
|
-
<path
|
|
96
|
+
<path
|
|
97
|
+
d="M12 16V12M12 8H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z"
|
|
98
|
+
stroke="currentColor"
|
|
99
|
+
strokeWidth="2"
|
|
100
|
+
strokeLinecap="round"
|
|
101
|
+
strokeLinejoin="round"
|
|
102
|
+
/>
|
|
96
103
|
</svg>
|
|
97
104
|
);
|
|
98
105
|
|
|
99
106
|
const SuccessIcon = () => (
|
|
100
107
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
101
|
-
<path
|
|
108
|
+
<path
|
|
109
|
+
d="M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z"
|
|
110
|
+
stroke="currentColor"
|
|
111
|
+
strokeWidth="2"
|
|
112
|
+
strokeLinecap="round"
|
|
113
|
+
strokeLinejoin="round"
|
|
114
|
+
/>
|
|
102
115
|
</svg>
|
|
103
116
|
);
|
|
104
117
|
|
|
105
118
|
const WarningIcon = () => (
|
|
106
119
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
107
|
-
<path
|
|
120
|
+
<path
|
|
121
|
+
d="M12 9V13M12 17H12.01M3.98069 8.00001C3.32275 9.15122 3 10.5502 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C10.5502 3 9.15122 3.32275 8.00001 3.98069"
|
|
122
|
+
stroke="currentColor"
|
|
123
|
+
strokeWidth="2"
|
|
124
|
+
strokeLinecap="round"
|
|
125
|
+
strokeLinejoin="round"
|
|
126
|
+
/>
|
|
108
127
|
</svg>
|
|
109
128
|
);
|
|
110
129
|
|
|
111
130
|
const ErrorIcon = () => (
|
|
112
131
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
113
|
-
<path
|
|
132
|
+
<path
|
|
133
|
+
d="M12 9V13M12 17H12.01M11.2926 3.05737C11.5093 3.01652 11.7321 3 11.9565 3C16.3908 3 20 6.60914 20 11.0435C20 11.2679 19.9835 11.4907 19.9426 11.7074C19.4862 15.0952 16.5609 17.7241 13 17.9711C12.6712 17.9903 12.3375 18 12 18C7.58172 18 4 14.4183 4 10C4 6.43913 6.62884 3.51375 10.0166 3.05736C10.2333 3.01652 10.4561 3 10.6805 3C10.9049 3 11.1277 3.01652 11.3444 3.05736L11.2926 3.05737Z"
|
|
134
|
+
stroke="currentColor"
|
|
135
|
+
strokeWidth="2"
|
|
136
|
+
strokeLinecap="round"
|
|
137
|
+
strokeLinejoin="round"
|
|
138
|
+
/>
|
|
114
139
|
</svg>
|
|
115
140
|
);
|
|
116
141
|
|
|
@@ -125,10 +150,10 @@ export const Default: Story = {
|
|
|
125
150
|
parameters: {
|
|
126
151
|
docs: {
|
|
127
152
|
description: {
|
|
128
|
-
story: 'The default callout with a title, content, and an icon.'
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
153
|
+
story: 'The default callout with a title, content, and an icon.',
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
},
|
|
132
157
|
};
|
|
133
158
|
|
|
134
159
|
export const Success: Story = {
|
|
@@ -141,10 +166,10 @@ export const Success: Story = {
|
|
|
141
166
|
parameters: {
|
|
142
167
|
docs: {
|
|
143
168
|
description: {
|
|
144
|
-
story: 'Use success callouts to confirm that an action was completed successfully.'
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
169
|
+
story: 'Use success callouts to confirm that an action was completed successfully.',
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
},
|
|
148
173
|
};
|
|
149
174
|
|
|
150
175
|
export const Warning: Story = {
|
|
@@ -157,10 +182,11 @@ export const Warning: Story = {
|
|
|
157
182
|
parameters: {
|
|
158
183
|
docs: {
|
|
159
184
|
description: {
|
|
160
|
-
story:
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
185
|
+
story:
|
|
186
|
+
'Warning callouts alert users to potential issues or important information they should be aware of.',
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
},
|
|
164
190
|
};
|
|
165
191
|
|
|
166
192
|
export const Error: Story = {
|
|
@@ -173,10 +199,10 @@ export const Error: Story = {
|
|
|
173
199
|
parameters: {
|
|
174
200
|
docs: {
|
|
175
201
|
description: {
|
|
176
|
-
story: 'Error callouts indicate that something went wrong and requires attention.'
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
202
|
+
story: 'Error callouts indicate that something went wrong and requires attention.',
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
},
|
|
180
206
|
};
|
|
181
207
|
|
|
182
208
|
// Layout variants
|
|
@@ -196,10 +222,11 @@ export const WithActions: Story = {
|
|
|
196
222
|
parameters: {
|
|
197
223
|
docs: {
|
|
198
224
|
description: {
|
|
199
|
-
story:
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
225
|
+
story:
|
|
226
|
+
'Callouts can include action buttons to allow users to respond directly to the message.',
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
},
|
|
203
230
|
};
|
|
204
231
|
|
|
205
232
|
export const Dismissible: Story = {
|
|
@@ -213,10 +240,11 @@ export const Dismissible: Story = {
|
|
|
213
240
|
parameters: {
|
|
214
241
|
docs: {
|
|
215
242
|
description: {
|
|
216
|
-
story:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
243
|
+
story:
|
|
244
|
+
'Dismissible callouts include a close button that allows users to remove the callout from view.',
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
},
|
|
220
248
|
};
|
|
221
249
|
|
|
222
250
|
export const OneLine: Story = {
|
|
@@ -229,10 +257,11 @@ export const OneLine: Story = {
|
|
|
229
257
|
parameters: {
|
|
230
258
|
docs: {
|
|
231
259
|
description: {
|
|
232
|
-
story:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
260
|
+
story:
|
|
261
|
+
'One-line callouts are more compact and display the title and icon in a single line.',
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
},
|
|
236
265
|
};
|
|
237
266
|
|
|
238
267
|
export const Toast: Story = {
|
|
@@ -247,10 +276,11 @@ export const Toast: Story = {
|
|
|
247
276
|
parameters: {
|
|
248
277
|
docs: {
|
|
249
278
|
description: {
|
|
250
|
-
story:
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
279
|
+
story:
|
|
280
|
+
'Toast notifications are temporary messages that appear and disappear automatically.',
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
},
|
|
254
284
|
};
|
|
255
285
|
|
|
256
286
|
// Theme variants
|
|
@@ -264,10 +294,11 @@ export const Dark: Story = {
|
|
|
264
294
|
parameters: {
|
|
265
295
|
docs: {
|
|
266
296
|
description: {
|
|
267
|
-
story:
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
297
|
+
story:
|
|
298
|
+
'Dark callouts are useful for dark-themed interfaces or for creating visual contrast.',
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
},
|
|
271
302
|
};
|
|
272
303
|
|
|
273
304
|
export const Light: Story = {
|
|
@@ -280,68 +311,120 @@ export const Light: Story = {
|
|
|
280
311
|
parameters: {
|
|
281
312
|
docs: {
|
|
282
313
|
description: {
|
|
283
|
-
story:
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
314
|
+
story:
|
|
315
|
+
'Light callouts are useful for light-themed interfaces or for creating visual contrast.',
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
},
|
|
287
319
|
};
|
|
288
320
|
|
|
289
321
|
// Interactive examples
|
|
290
322
|
const ToastDemoTemplate = () => {
|
|
291
|
-
const [toasts, setToasts] = useState<{id: string
|
|
292
|
-
|
|
323
|
+
const [toasts, setToasts] = useState<{ id: string; variant: string }[]>([]);
|
|
324
|
+
|
|
293
325
|
const addToast = (variant: string) => {
|
|
294
326
|
const id = Math.random().toString(36).substring(2, 9);
|
|
295
|
-
setToasts([...toasts, {id, variant}]);
|
|
296
|
-
|
|
327
|
+
setToasts([...toasts, { id, variant }]);
|
|
328
|
+
|
|
297
329
|
// Auto-remove after 5 seconds
|
|
298
330
|
setTimeout(() => {
|
|
299
331
|
setToasts(current => current.filter(toast => toast.id !== id));
|
|
300
332
|
}, 5000);
|
|
301
333
|
};
|
|
302
|
-
|
|
334
|
+
|
|
303
335
|
const removeToast = (id: string) => {
|
|
304
336
|
setToasts(current => current.filter(toast => toast.id !== id));
|
|
305
337
|
};
|
|
306
|
-
|
|
338
|
+
|
|
307
339
|
const getIcon = (variant: string) => {
|
|
308
|
-
switch(variant) {
|
|
309
|
-
case 'success':
|
|
310
|
-
|
|
311
|
-
case '
|
|
312
|
-
|
|
340
|
+
switch (variant) {
|
|
341
|
+
case 'success':
|
|
342
|
+
return <SuccessIcon />;
|
|
343
|
+
case 'warning':
|
|
344
|
+
return <WarningIcon />;
|
|
345
|
+
case 'error':
|
|
346
|
+
return <ErrorIcon />;
|
|
347
|
+
default:
|
|
348
|
+
return <InfoIcon />;
|
|
313
349
|
}
|
|
314
350
|
};
|
|
315
|
-
|
|
351
|
+
|
|
316
352
|
const getTitle = (variant: string) => {
|
|
317
|
-
switch(variant) {
|
|
318
|
-
case 'success':
|
|
319
|
-
|
|
320
|
-
case '
|
|
321
|
-
|
|
353
|
+
switch (variant) {
|
|
354
|
+
case 'success':
|
|
355
|
+
return 'Success';
|
|
356
|
+
case 'warning':
|
|
357
|
+
return 'Warning';
|
|
358
|
+
case 'error':
|
|
359
|
+
return 'Error';
|
|
360
|
+
default:
|
|
361
|
+
return 'Information';
|
|
322
362
|
}
|
|
323
363
|
};
|
|
324
|
-
|
|
364
|
+
|
|
325
365
|
const getMessage = (variant: string) => {
|
|
326
|
-
switch(variant) {
|
|
327
|
-
case 'success':
|
|
328
|
-
|
|
329
|
-
case '
|
|
330
|
-
|
|
366
|
+
switch (variant) {
|
|
367
|
+
case 'success':
|
|
368
|
+
return 'Operation completed successfully!';
|
|
369
|
+
case 'warning':
|
|
370
|
+
return 'Please review before continuing.';
|
|
371
|
+
case 'error':
|
|
372
|
+
return 'An error occurred. Please try again.';
|
|
373
|
+
default:
|
|
374
|
+
return 'This is an informational message.';
|
|
331
375
|
}
|
|
332
376
|
};
|
|
333
|
-
|
|
377
|
+
|
|
334
378
|
return (
|
|
335
379
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
|
|
336
380
|
<div style={{ display: 'flex', gap: '8px' }}>
|
|
337
|
-
<Button
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
381
|
+
<Button
|
|
382
|
+
label="Add Info Toast"
|
|
383
|
+
variant="primary"
|
|
384
|
+
size="sm"
|
|
385
|
+
onClick={() => addToast('info')}
|
|
386
|
+
/>
|
|
387
|
+
<Button
|
|
388
|
+
label="Add Success Toast"
|
|
389
|
+
variant="success"
|
|
390
|
+
size="sm"
|
|
391
|
+
onClick={() => addToast('success')}
|
|
392
|
+
/>
|
|
393
|
+
<Button
|
|
394
|
+
label="Add Warning Toast"
|
|
395
|
+
variant="warning"
|
|
396
|
+
size="sm"
|
|
397
|
+
onClick={() => addToast('warning')}
|
|
398
|
+
/>
|
|
399
|
+
<Button
|
|
400
|
+
label="Add Error Toast"
|
|
401
|
+
variant="error"
|
|
402
|
+
size="sm"
|
|
403
|
+
onClick={() => addToast('error')}
|
|
404
|
+
/>
|
|
341
405
|
</div>
|
|
342
|
-
|
|
343
|
-
<div
|
|
344
|
-
|
|
406
|
+
|
|
407
|
+
<div
|
|
408
|
+
style={{
|
|
409
|
+
position: 'relative',
|
|
410
|
+
height: '300px',
|
|
411
|
+
border: '1px dashed #ccc',
|
|
412
|
+
borderRadius: '8px',
|
|
413
|
+
padding: '16px',
|
|
414
|
+
overflow: 'hidden',
|
|
415
|
+
}}
|
|
416
|
+
>
|
|
417
|
+
<div
|
|
418
|
+
style={{
|
|
419
|
+
position: 'absolute',
|
|
420
|
+
top: '16px',
|
|
421
|
+
right: '16px',
|
|
422
|
+
display: 'flex',
|
|
423
|
+
flexDirection: 'column',
|
|
424
|
+
gap: '8px',
|
|
425
|
+
maxWidth: '350px',
|
|
426
|
+
}}
|
|
427
|
+
>
|
|
345
428
|
{toasts.map(toast => (
|
|
346
429
|
<Callout
|
|
347
430
|
key={toast.id}
|
|
@@ -356,7 +439,15 @@ const ToastDemoTemplate = () => {
|
|
|
356
439
|
))}
|
|
357
440
|
</div>
|
|
358
441
|
{toasts.length === 0 && (
|
|
359
|
-
<div
|
|
442
|
+
<div
|
|
443
|
+
style={{
|
|
444
|
+
display: 'flex',
|
|
445
|
+
height: '100%',
|
|
446
|
+
alignItems: 'center',
|
|
447
|
+
justifyContent: 'center',
|
|
448
|
+
color: '#666',
|
|
449
|
+
}}
|
|
450
|
+
>
|
|
360
451
|
Click a button above to show toast notifications here
|
|
361
452
|
</div>
|
|
362
453
|
)}
|
|
@@ -370,19 +461,20 @@ export const ToastDemo: Story = {
|
|
|
370
461
|
parameters: {
|
|
371
462
|
docs: {
|
|
372
463
|
description: {
|
|
373
|
-
story:
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
464
|
+
story:
|
|
465
|
+
'Interactive demo showing how toast notifications can be triggered and displayed in different variants.',
|
|
466
|
+
},
|
|
467
|
+
},
|
|
468
|
+
},
|
|
377
469
|
};
|
|
378
470
|
|
|
379
471
|
const AutoDismissTemplate = () => {
|
|
380
472
|
const [visible, setVisible] = useState(true);
|
|
381
473
|
const [countdown, setCountdown] = useState(5);
|
|
382
|
-
|
|
474
|
+
|
|
383
475
|
useEffect(() => {
|
|
384
476
|
if (!visible) return;
|
|
385
|
-
|
|
477
|
+
|
|
386
478
|
const timer = setInterval(() => {
|
|
387
479
|
setCountdown(prev => {
|
|
388
480
|
if (prev <= 1) {
|
|
@@ -393,15 +485,15 @@ const AutoDismissTemplate = () => {
|
|
|
393
485
|
return prev - 1;
|
|
394
486
|
});
|
|
395
487
|
}, 1000);
|
|
396
|
-
|
|
488
|
+
|
|
397
489
|
return () => clearInterval(timer);
|
|
398
490
|
}, [visible]);
|
|
399
|
-
|
|
491
|
+
|
|
400
492
|
const resetCallout = () => {
|
|
401
493
|
setVisible(true);
|
|
402
494
|
setCountdown(5);
|
|
403
495
|
};
|
|
404
|
-
|
|
496
|
+
|
|
405
497
|
return (
|
|
406
498
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
|
|
407
499
|
{visible ? (
|
|
@@ -411,7 +503,8 @@ const AutoDismissTemplate = () => {
|
|
|
411
503
|
icon={<WarningIcon />}
|
|
412
504
|
onClose={() => setVisible(false)}
|
|
413
505
|
>
|
|
414
|
-
This callout will automatically dismiss after the countdown. You can also dismiss it
|
|
506
|
+
This callout will automatically dismiss after the countdown. You can also dismiss it
|
|
507
|
+
manually.
|
|
415
508
|
</Callout>
|
|
416
509
|
) : (
|
|
417
510
|
<Button label="Show Auto-dismiss Callout" variant="primary" onClick={resetCallout} />
|
|
@@ -425,24 +518,28 @@ export const AutoDismiss: Story = {
|
|
|
425
518
|
parameters: {
|
|
426
519
|
docs: {
|
|
427
520
|
description: {
|
|
428
|
-
story: 'Example of a callout that automatically dismisses after a countdown.'
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}
|
|
521
|
+
story: 'Example of a callout that automatically dismisses after a countdown.',
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
},
|
|
432
525
|
};
|
|
433
526
|
|
|
434
527
|
const AllVariantsTemplate = () => {
|
|
435
528
|
const variants = ['primary', 'secondary', 'success', 'info', 'warning', 'error', 'light', 'dark'];
|
|
436
|
-
|
|
529
|
+
|
|
437
530
|
const getIcon = (variant: string) => {
|
|
438
|
-
switch(variant) {
|
|
439
|
-
case 'success':
|
|
440
|
-
|
|
441
|
-
case '
|
|
442
|
-
|
|
531
|
+
switch (variant) {
|
|
532
|
+
case 'success':
|
|
533
|
+
return <SuccessIcon />;
|
|
534
|
+
case 'warning':
|
|
535
|
+
return <WarningIcon />;
|
|
536
|
+
case 'error':
|
|
537
|
+
return <ErrorIcon />;
|
|
538
|
+
default:
|
|
539
|
+
return <InfoIcon />;
|
|
443
540
|
}
|
|
444
541
|
};
|
|
445
|
-
|
|
542
|
+
|
|
446
543
|
return (
|
|
447
544
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
|
|
448
545
|
{variants.map(variant => (
|
|
@@ -464,18 +561,14 @@ export const AllVariants: Story = {
|
|
|
464
561
|
parameters: {
|
|
465
562
|
docs: {
|
|
466
563
|
description: {
|
|
467
|
-
story: 'Overview of all available callout color variants.'
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
}
|
|
564
|
+
story: 'Overview of all available callout color variants.',
|
|
565
|
+
},
|
|
566
|
+
},
|
|
567
|
+
},
|
|
471
568
|
};
|
|
472
569
|
|
|
473
570
|
const CalloutWithCustomContentTemplate = () => (
|
|
474
|
-
<Callout
|
|
475
|
-
title="Custom Content Example"
|
|
476
|
-
variant="primary"
|
|
477
|
-
icon={<InfoIcon />}
|
|
478
|
-
>
|
|
571
|
+
<Callout title="Custom Content Example" variant="primary" icon={<InfoIcon />}>
|
|
479
572
|
<div style={{ display: 'flex', flexDirection: 'column', gap: '12px' }}>
|
|
480
573
|
<p>Callouts can contain rich content including:</p>
|
|
481
574
|
<ul style={{ margin: 0, paddingLeft: '20px' }}>
|
|
@@ -495,8 +588,8 @@ export const CustomContent: Story = {
|
|
|
495
588
|
parameters: {
|
|
496
589
|
docs: {
|
|
497
590
|
description: {
|
|
498
|
-
story: 'Callouts can contain rich, custom content beyond simple text.'
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
};
|
|
591
|
+
story: 'Callouts can contain rich, custom content beyond simple text.',
|
|
592
|
+
},
|
|
593
|
+
},
|
|
594
|
+
},
|
|
595
|
+
};
|
|
@@ -22,7 +22,7 @@ export const Callout: React.FC<CalloutProps> = ({
|
|
|
22
22
|
variant,
|
|
23
23
|
oneLine,
|
|
24
24
|
toast,
|
|
25
|
-
className
|
|
25
|
+
className,
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
// Determine appropriate ARIA attributes based on variant
|
|
@@ -30,7 +30,7 @@ export const Callout: React.FC<CalloutProps> = ({
|
|
|
30
30
|
const baseAttributes: Record<string, string> = {
|
|
31
31
|
role: 'region',
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
// For toast notifications or alerts, use appropriate role and live region
|
|
35
35
|
if (toast) {
|
|
36
36
|
baseAttributes.role = 'alert';
|
|
@@ -42,12 +42,16 @@ export const Callout: React.FC<CalloutProps> = ({
|
|
|
42
42
|
baseAttributes.role = 'status';
|
|
43
43
|
baseAttributes['aria-live'] = 'polite';
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
|
|
46
46
|
return baseAttributes;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
return (
|
|
50
|
-
<div
|
|
50
|
+
<div
|
|
51
|
+
className={generateCalloutClass({ variant, oneLine, toast, className })}
|
|
52
|
+
{...getAriaAttributes()}
|
|
53
|
+
{...props}
|
|
54
|
+
>
|
|
51
55
|
<div className="c-callout__content">
|
|
52
56
|
{icon && <div className="c-callout__icon">{icon}</div>}
|
|
53
57
|
<div className="c-callout__message">
|
|
@@ -55,15 +59,11 @@ export const Callout: React.FC<CalloutProps> = ({
|
|
|
55
59
|
{children && <div className="c-callout__text">{children}</div>}
|
|
56
60
|
</div>
|
|
57
61
|
</div>
|
|
58
|
-
|
|
62
|
+
|
|
59
63
|
{actions && <div className="c-callout__actions">{actions}</div>}
|
|
60
|
-
|
|
64
|
+
|
|
61
65
|
{onClose && (
|
|
62
|
-
<button
|
|
63
|
-
className="c-callout__close-btn"
|
|
64
|
-
onClick={handleClose(onClose)}
|
|
65
|
-
aria-label="Close"
|
|
66
|
-
>
|
|
66
|
+
<button className="c-callout__close-btn" onClick={handleClose(onClose)} aria-label="Close">
|
|
67
67
|
<Icon name="X" size="md" />
|
|
68
68
|
</button>
|
|
69
69
|
)}
|
|
@@ -75,4 +75,4 @@ Callout.displayName = 'Callout';
|
|
|
75
75
|
|
|
76
76
|
export type { CalloutProps };
|
|
77
77
|
|
|
78
|
-
export default Callout;
|
|
78
|
+
export default Callout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Callout } from './Callout';
|
|
1
|
+
export { Callout } from './Callout';
|