@uni-design-system/uni-react 0.0.18 → 1.0.0
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/.storybook/main.ts +26 -0
- package/.storybook/preview.ts +21 -0
- package/.turbo/turbo-build.log +12 -0
- package/CHANGELOG.md +12 -0
- package/dist/{cjs/components → components}/button/button.component.d.ts +2 -1
- package/dist/components/button/button.component.d.ts.map +1 -0
- package/dist/components/button/button.stories.d.ts +73 -0
- package/dist/components/button/button.stories.d.ts.map +1 -0
- package/dist/{esm/components → components}/button/index.d.ts +1 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/card/card.component.d.ts +2 -1
- package/dist/components/card/card.component.d.ts.map +1 -0
- package/dist/components/card/card.stories.d.ts +11 -0
- package/dist/components/card/card.stories.d.ts.map +1 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts +1 -1
- package/dist/components/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/DragHandle/index.d.ts +1 -0
- package/dist/components/draggable/SortableList/components/DragHandle/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/SortableItem/index.d.ts +1 -0
- package/dist/components/draggable/SortableList/components/SortableItem/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts +3 -2
- package/dist/components/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts +2 -2
- package/dist/components/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/SortableOverlay/index.d.ts +1 -0
- package/dist/components/draggable/SortableList/components/SortableOverlay/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts +2 -1
- package/dist/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/components/index.d.ts +1 -0
- package/dist/components/draggable/SortableList/components/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/draggable/SortableList/index.d.ts +1 -0
- package/dist/components/draggable/SortableList/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/SortableList/mockData.d.ts +1 -0
- package/dist/components/draggable/SortableList/mockData.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/SortableList/sortableList.component.d.ts +3 -3
- package/dist/components/draggable/SortableList/sortableList.component.d.ts.map +1 -0
- package/dist/components/draggable/SortableList/sortableList.stories.d.ts +8 -0
- package/dist/components/draggable/SortableList/sortableList.stories.d.ts.map +1 -0
- package/dist/components/draggable/index.d.ts +2 -0
- package/dist/components/draggable/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/utilities/createRange.d.ts +1 -0
- package/dist/components/draggable/utilities/createRange.d.ts.map +1 -0
- package/dist/{cjs/components → components}/draggable/utilities/index.d.ts +1 -0
- package/dist/components/draggable/utilities/index.d.ts.map +1 -0
- package/dist/components/forms/index.d.ts +2 -0
- package/dist/components/forms/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/forms/text-input/index.d.ts +1 -0
- package/dist/components/forms/text-input/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/forms/text-input/text-input.component.d.ts +2 -2
- package/dist/components/forms/text-input/text-input.component.d.ts.map +1 -0
- package/dist/{cjs/components → components}/forms/utils/validations.d.ts +1 -0
- package/dist/components/forms/utils/validations.d.ts.map +1 -0
- package/dist/components/grainy-gradient-background/grainy-gradient-background.component.d.ts +14 -0
- package/dist/components/grainy-gradient-background/grainy-gradient-background.component.d.ts.map +1 -0
- package/dist/components/grainy-gradient-background/grainy-gradient-background.component.stories.d.ts +91 -0
- package/dist/components/grainy-gradient-background/grainy-gradient-background.component.stories.d.ts.map +1 -0
- package/dist/{esm/components → components}/icon-text-row/icon-text-row.component.d.ts +1 -0
- package/dist/components/icon-text-row/icon-text-row.component.d.ts.map +1 -0
- package/dist/components/icon-text-row/icon-text-row.stories.d.ts +11 -0
- package/dist/components/icon-text-row/icon-text-row.stories.d.ts.map +1 -0
- package/dist/{esm/components → components}/icon-text-row/index.d.ts +1 -0
- package/dist/components/icon-text-row/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/modal/index.d.ts +1 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/{cjs/components → components}/modal/modal-close-button.component.d.ts +1 -0
- package/dist/components/modal/modal-close-button.component.d.ts.map +1 -0
- package/dist/{cjs/components → components}/modal/modal.component.d.ts +3 -2
- package/dist/components/modal/modal.component.d.ts.map +1 -0
- package/dist/components/modal/modal.stories.d.ts +8 -0
- package/dist/components/modal/modal.stories.d.ts.map +1 -0
- package/dist/{esm/components → components}/switch/index.d.ts +1 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/{esm/components → components}/switch/switch.component.d.ts +2 -2
- package/dist/components/switch/switch.component.d.ts.map +1 -0
- package/dist/{cjs/components → components}/switch/switch.config.d.ts +1 -0
- package/dist/components/switch/switch.config.d.ts.map +1 -0
- package/dist/components/switch/switch.stories.d.ts +11 -0
- package/dist/components/switch/switch.stories.d.ts.map +1 -0
- package/dist/{esm/core → core}/background/background.component.d.ts +1 -0
- package/dist/core/background/background.component.d.ts.map +1 -0
- package/dist/core/background/background.stories.d.ts +14 -0
- package/dist/core/background/background.stories.d.ts.map +1 -0
- package/dist/{esm/core → core}/background/index.d.ts +1 -0
- package/dist/core/background/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/border/border.style.d.ts +1 -0
- package/dist/core/border/border.style.d.ts.map +1 -0
- package/dist/core/border/index.d.ts +2 -0
- package/dist/core/border/index.d.ts.map +1 -0
- package/dist/core/container/container.component.d.ts +12 -0
- package/dist/core/container/container.component.d.ts.map +1 -0
- package/dist/{esm/core → core}/container/index.d.ts +1 -0
- package/dist/core/container/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/filter/filter.argTypes.d.ts +1 -0
- package/dist/core/filter/filter.argTypes.d.ts.map +1 -0
- package/dist/{esm/core → core}/filter/filter.component.d.ts +2 -1
- package/dist/core/filter/filter.component.d.ts.map +1 -0
- package/dist/{cjs/core → core}/filter/filter.config.d.ts +1 -0
- package/dist/core/filter/filter.config.d.ts.map +1 -0
- package/dist/{cjs/core → core}/filter/filter.model.d.ts +1 -0
- package/dist/core/filter/filter.model.d.ts.map +1 -0
- package/dist/{cjs/core → core}/filter/filter.style.d.ts +1 -0
- package/dist/core/filter/filter.style.d.ts.map +1 -0
- package/dist/{cjs/core → core}/filter/filter.types.d.ts +1 -0
- package/dist/core/filter/filter.types.d.ts.map +1 -0
- package/dist/{esm/core → core}/filter/index.d.ts +1 -0
- package/dist/core/filter/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/flex/flex.component.d.ts +2 -1
- package/dist/core/flex/flex.component.d.ts.map +1 -0
- package/dist/{cjs/core → core}/flex/flex.style.d.ts +1 -0
- package/dist/core/flex/flex.style.d.ts.map +1 -0
- package/dist/{esm/core → core}/flex/index.d.ts +1 -0
- package/dist/core/flex/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/hooks/index.d.ts +1 -0
- package/dist/core/hooks/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/hooks/use-media.d.ts +1 -0
- package/dist/core/hooks/use-media.d.ts.map +1 -0
- package/dist/{esm/core → core}/hooks/use-toggle.d.ts +1 -0
- package/dist/core/hooks/use-toggle.d.ts.map +1 -0
- package/dist/{cjs/core → core}/icon/icon.component.d.ts +3 -3
- package/dist/core/icon/icon.component.d.ts.map +1 -0
- package/dist/core/icon/icon.stories.d.ts +16 -0
- package/dist/core/icon/icon.stories.d.ts.map +1 -0
- package/dist/core/icon/index.d.ts +3 -0
- package/dist/core/icon/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/image/image.argTypes.d.ts +1 -0
- package/dist/core/image/image.argTypes.d.ts.map +1 -0
- package/dist/{cjs/core → core}/image/image.component.d.ts +1 -1
- package/dist/core/image/image.component.d.ts.map +1 -0
- package/dist/{cjs/core → core}/image/image.model.d.ts +1 -0
- package/dist/core/image/image.model.d.ts.map +1 -0
- package/dist/core/image/image.stories.d.ts +201 -0
- package/dist/core/image/image.stories.d.ts.map +1 -0
- package/dist/{esm/core → core}/image/image.style.d.ts +1 -0
- package/dist/core/image/image.style.d.ts.map +1 -0
- package/dist/{esm/core → core}/image/image.types.d.ts +1 -0
- package/dist/core/image/image.types.d.ts.map +1 -0
- package/dist/{esm/core → core}/image/index.d.ts +1 -0
- package/dist/core/image/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/layout/index.d.ts +1 -0
- package/dist/core/layout/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/layout/layout.context.d.ts +2 -1
- package/dist/core/layout/layout.context.d.ts.map +1 -0
- package/dist/{cjs/core → core}/layout/layout.hook.d.ts +1 -0
- package/dist/core/layout/layout.hook.d.ts.map +1 -0
- package/dist/core/layout/layout.provider.d.ts +4 -0
- package/dist/core/layout/layout.provider.d.ts.map +1 -0
- package/dist/{esm/core → core}/overlay/index.d.ts +1 -0
- package/dist/core/overlay/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/overlay/overlay.component.d.ts +1 -1
- package/dist/core/overlay/overlay.component.d.ts.map +1 -0
- package/dist/{esm/core → core}/overlay/overlay.config.d.ts +1 -0
- package/dist/core/overlay/overlay.config.d.ts.map +1 -0
- package/dist/{esm/core → core}/overlay/overlay.model.d.ts +1 -0
- package/dist/core/overlay/overlay.model.d.ts.map +1 -0
- package/dist/core/overlay/overlay.stories.d.ts +132 -0
- package/dist/core/overlay/overlay.stories.d.ts.map +1 -0
- package/dist/core/padding/index.d.ts +2 -0
- package/dist/core/padding/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/padding/padding.style.d.ts +1 -0
- package/dist/core/padding/padding.style.d.ts.map +1 -0
- package/dist/core/shadow/index.d.ts +2 -0
- package/dist/core/shadow/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/shadow/shadow.style.d.ts +1 -0
- package/dist/core/shadow/shadow.style.d.ts.map +1 -0
- package/dist/core/text/index.d.ts +2 -0
- package/dist/core/text/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/text/text.component.d.ts +3 -2
- package/dist/core/text/text.component.d.ts.map +1 -0
- package/dist/core/text/text.stories.d.ts +134 -0
- package/dist/core/text/text.stories.d.ts.map +1 -0
- package/dist/core/theme/index.d.ts +2 -0
- package/dist/core/theme/index.d.ts.map +1 -0
- package/dist/core/theme/theming.d.ts +11 -0
- package/dist/core/theme/theming.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/collapse/collapse.component.d.ts +3 -2
- package/dist/core/transition/collapse/collapse.component.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/collapse/index.d.ts +1 -0
- package/dist/core/transition/collapse/index.d.ts.map +1 -0
- package/dist/{cjs/core → core}/transition/fade/fade.argTypes.d.ts +1 -0
- package/dist/core/transition/fade/fade.argTypes.d.ts.map +1 -0
- package/dist/{cjs/core → core}/transition/fade/fade.component.d.ts +3 -2
- package/dist/core/transition/fade/fade.component.d.ts.map +1 -0
- package/dist/core/transition/fade/fade.stories.d.ts +27 -0
- package/dist/core/transition/fade/fade.stories.d.ts.map +1 -0
- package/dist/core/transition/fade/index.d.ts +2 -0
- package/dist/core/transition/fade/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/index.d.ts +1 -0
- package/dist/core/transition/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/slide/index.d.ts +1 -0
- package/dist/core/transition/slide/index.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/slide/slide.component.d.ts +3 -2
- package/dist/core/transition/slide/slide.component.d.ts.map +1 -0
- package/dist/core/transition/slide/slide.stories.d.ts +12 -0
- package/dist/core/transition/slide/slide.stories.d.ts.map +1 -0
- package/dist/{cjs/core → core}/transition/transition.argTypes.d.ts +1 -0
- package/dist/core/transition/transition.argTypes.d.ts.map +1 -0
- package/dist/{esm/core → core}/transition/transition.utils.d.ts +2 -1
- package/dist/core/transition/transition.utils.d.ts.map +1 -0
- package/dist/{esm/index.d.ts → index.d.ts} +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13575 -0
- package/dist/{cjs/layouts → layouts}/parallax-hero/parallax-hero.component.d.ts +1 -1
- package/dist/layouts/parallax-hero/parallax-hero.component.d.ts.map +1 -0
- package/dist/{cjs/layouts → layouts}/parallax-hero/parallax-hero.model.d.ts +1 -0
- package/dist/layouts/parallax-hero/parallax-hero.model.d.ts.map +1 -0
- package/dist/stories/Button.d.ts +15 -0
- package/dist/stories/Button.d.ts.map +1 -0
- package/dist/stories/Button.stories.d.ts +24 -0
- package/dist/stories/Button.stories.d.ts.map +1 -0
- package/dist/stories/Header.d.ts +12 -0
- package/dist/stories/Header.d.ts.map +1 -0
- package/dist/stories/Header.stories.d.ts +19 -0
- package/dist/stories/Header.stories.d.ts.map +1 -0
- package/dist/stories/Page.d.ts +3 -0
- package/dist/stories/Page.d.ts.map +1 -0
- package/dist/stories/Page.stories.d.ts +13 -0
- package/dist/stories/Page.stories.d.ts.map +1 -0
- package/dist/{cjs/tools → tools}/color-picker/color-picker.component.d.ts +1 -1
- package/dist/tools/color-picker/color-picker.component.d.ts.map +1 -0
- package/dist/tools/color-picker/color-picker.stories.d.ts +14 -0
- package/dist/tools/color-picker/color-picker.stories.d.ts.map +1 -0
- package/dist/{cjs/tools → tools}/color-swatch/color-swatch.component.d.ts +2 -1
- package/dist/tools/color-swatch/color-swatch.component.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/{cjs/utils → utils}/storage-manager.d.ts +1 -0
- package/dist/utils/storage-manager.d.ts.map +1 -0
- package/package.json +51 -59
- package/src/components/button/button.component.tsx +125 -0
- package/src/components/button/button.stories.tsx +79 -0
- package/src/components/card/card.component.tsx +56 -0
- package/src/components/card/card.stories.tsx +22 -0
- package/src/components/draggable/SortableList/components/DragHandle/dragHandle.component.tsx +20 -0
- package/src/components/draggable/SortableList/components/SortableItem/sortableItem.component.tsx +46 -0
- package/src/components/draggable/SortableList/components/SortableItem/sortableItem.context.ts +14 -0
- package/src/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.tsx +20 -0
- package/src/components/draggable/SortableList/mockData.ts +50 -0
- package/src/components/draggable/SortableList/sortableList.component.tsx +69 -0
- package/src/components/draggable/SortableList/sortableList.stories.tsx +67 -0
- package/src/components/draggable/utilities/createRange.ts +8 -0
- package/src/components/draggable/utilities/index.ts +1 -0
- package/src/components/forms/text-input/text-input.component.tsx +14 -0
- package/src/components/forms/utils/validations.ts +61 -0
- package/src/components/grainy-gradient-background/grainy-gradient-background.component.stories.tsx +57 -0
- package/src/components/grainy-gradient-background/grainy-gradient-background.component.tsx +68 -0
- package/src/components/icon-text-row/icon-text-row.component.tsx +65 -0
- package/src/components/icon-text-row/icon-text-row.stories.tsx +18 -0
- package/src/components/modal/modal-close-button.component.tsx +13 -0
- package/src/components/modal/modal.component.tsx +43 -0
- package/src/components/modal/modal.stories.tsx +25 -0
- package/src/components/switch/switch.component.tsx +56 -0
- package/src/components/switch/switch.config.ts +24 -0
- package/src/components/switch/switch.stories.tsx +12 -0
- package/src/core/background/background.component.tsx +47 -0
- package/src/core/background/background.stories.tsx +22 -0
- package/src/core/border/border.style.ts +30 -0
- package/src/core/container/container.component.tsx +20 -0
- package/src/core/filter/filter.argTypes.ts +111 -0
- package/src/core/filter/filter.component.tsx +11 -0
- package/src/core/filter/filter.config.ts +68 -0
- package/src/core/filter/filter.model.ts +22 -0
- package/src/core/filter/filter.style.ts +22 -0
- package/src/core/filter/filter.types.ts +12 -0
- package/src/core/flex/flex.component.tsx +91 -0
- package/src/core/flex/flex.style.ts +106 -0
- package/src/core/hooks/use-media.ts +29 -0
- package/src/core/hooks/use-toggle.tsx +23 -0
- package/src/core/icon/icon.component.tsx +19 -0
- package/src/core/icon/icon.stories.tsx +49 -0
- package/src/core/icon/index.ts +2 -0
- package/src/core/image/image.argTypes.ts +23 -0
- package/src/core/image/image.component.tsx +7 -0
- package/{dist/esm/core/image/image.model.d.ts → src/core/image/image.model.ts} +6 -5
- package/src/core/image/image.stories.tsx +22 -0
- package/src/core/image/image.style.ts +19 -0
- package/src/core/layout/layout.context.tsx +14 -0
- package/src/core/layout/layout.hook.tsx +11 -0
- package/src/core/layout/layout.provider.tsx +28 -0
- package/src/core/overlay/overlay.component.tsx +27 -0
- package/src/core/overlay/overlay.config.ts +23 -0
- package/src/core/overlay/overlay.model.ts +13 -0
- package/src/core/overlay/overlay.stories.tsx +73 -0
- package/src/core/padding/padding.style.ts +36 -0
- package/src/core/shadow/shadow.style.ts +5 -0
- package/src/core/text/text.component.tsx +47 -0
- package/src/core/text/text.stories.tsx +84 -0
- package/src/core/theme/index.ts +1 -0
- package/src/core/theme/theming.tsx +29 -0
- package/src/core/transition/collapse/collapse.component.tsx +133 -0
- package/src/core/transition/fade/fade.argTypes.ts +5 -0
- package/src/core/transition/fade/fade.component.tsx +45 -0
- package/src/core/transition/fade/fade.stories.tsx +52 -0
- package/src/core/transition/slide/slide.component.tsx +101 -0
- package/src/core/transition/slide/slide.stories.tsx +38 -0
- package/src/core/transition/transition.argTypes.ts +10 -0
- package/src/core/transition/transition.utils.ts +159 -0
- package/src/layouts/parallax-hero/parallax-hero.component.tsx +25 -0
- package/{dist/esm/layouts/parallax-hero/parallax-hero.model.d.ts → src/layouts/parallax-hero/parallax-hero.model.ts} +7 -5
- package/src/stories/Button.stories.ts +54 -0
- package/src/stories/Button.tsx +37 -0
- package/src/stories/Configure.mdx +388 -0
- package/src/stories/Header.stories.ts +34 -0
- package/src/stories/Header.tsx +56 -0
- package/src/stories/Page.stories.ts +33 -0
- package/src/stories/Page.tsx +73 -0
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +1 -0
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +1 -0
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +1 -0
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +1 -0
- package/src/stories/assets/youtube.svg +1 -0
- package/src/stories/button.css +30 -0
- package/src/stories/header.css +32 -0
- package/src/stories/page.css +68 -0
- package/src/tools/color-picker/color-picker.component.tsx +146 -0
- package/src/tools/color-picker/color-picker.stories.tsx +21 -0
- package/src/tools/color-swatch/color-swatch.component.tsx +61 -0
- package/src/utils/storage-manager.ts +48 -0
- package/tsconfig.json +12 -0
- package/vite.config.ts +29 -0
- package/vitest.config.ts +36 -0
- package/vitest.shims.d.ts +1 -0
- package/README.md +0 -22
- package/dist/cjs/components/button/button.component.js +0 -98
- package/dist/cjs/components/button/index.js +0 -17
- package/dist/cjs/components/card/card.component.js +0 -34
- package/dist/cjs/components/card/index.js +0 -17
- package/dist/cjs/components/draggable/SortableList/components/DragHandle/dragHandle.component.js +0 -48
- package/dist/cjs/components/draggable/SortableList/components/DragHandle/index.js +0 -5
- package/dist/cjs/components/draggable/SortableList/components/SortableItem/index.js +0 -5
- package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.component.d.ts +0 -8
- package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.component.js +0 -44
- package/dist/cjs/components/draggable/SortableList/components/SortableItem/sortableItem.context.js +0 -9
- package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/index.js +0 -5
- package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.d.ts +0 -5
- package/dist/cjs/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.js +0 -19
- package/dist/cjs/components/draggable/SortableList/components/index.js +0 -9
- package/dist/cjs/components/draggable/SortableList/index.js +0 -18
- package/dist/cjs/components/draggable/SortableList/mockData.js +0 -53
- package/dist/cjs/components/draggable/SortableList/sortableList.component.js +0 -57
- package/dist/cjs/components/draggable/index.js +0 -17
- package/dist/cjs/components/draggable/utilities/createRange.js +0 -8
- package/dist/cjs/components/draggable/utilities/index.js +0 -5
- package/dist/cjs/components/forms/index.js +0 -17
- package/dist/cjs/components/forms/text-input/index.js +0 -17
- package/dist/cjs/components/forms/text-input/text-input.component.js +0 -12
- package/dist/cjs/components/forms/utils/validations.js +0 -55
- package/dist/cjs/components/icon-text-row/icon-text-row.component.d.ts +0 -12
- package/dist/cjs/components/icon-text-row/icon-text-row.component.js +0 -35
- package/dist/cjs/components/icon-text-row/index.js +0 -17
- package/dist/cjs/components/index.js +0 -23
- package/dist/cjs/components/modal/index.js +0 -17
- package/dist/cjs/components/modal/modal-close-button.component.js +0 -30
- package/dist/cjs/components/modal/modal.component.js +0 -22
- package/dist/cjs/components/switch/index.js +0 -17
- package/dist/cjs/components/switch/switch.component.d.ts +0 -8
- package/dist/cjs/components/switch/switch.component.js +0 -65
- package/dist/cjs/components/switch/switch.config.js +0 -25
- package/dist/cjs/core/background/background.component.d.ts +0 -15
- package/dist/cjs/core/background/background.component.js +0 -22
- package/dist/cjs/core/background/index.js +0 -17
- package/dist/cjs/core/border/border.style.js +0 -30
- package/dist/cjs/core/border/index.js +0 -17
- package/dist/cjs/core/container/container.component.d.ts +0 -6
- package/dist/cjs/core/container/container.component.js +0 -22
- package/dist/cjs/core/container/index.js +0 -17
- package/dist/cjs/core/filter/filter.argTypes.d.ts +0 -155
- package/dist/cjs/core/filter/filter.argTypes.js +0 -104
- package/dist/cjs/core/filter/filter.component.d.ts +0 -3
- package/dist/cjs/core/filter/filter.component.js +0 -15
- package/dist/cjs/core/filter/filter.config.js +0 -68
- package/dist/cjs/core/filter/filter.model.js +0 -2
- package/dist/cjs/core/filter/filter.style.js +0 -21
- package/dist/cjs/core/filter/filter.types.js +0 -2
- package/dist/cjs/core/filter/index.js +0 -20
- package/dist/cjs/core/flex/flex.component.d.ts +0 -54
- package/dist/cjs/core/flex/flex.component.js +0 -33
- package/dist/cjs/core/flex/flex.style.js +0 -86
- package/dist/cjs/core/flex/index.js +0 -18
- package/dist/cjs/core/hooks/index.js +0 -18
- package/dist/cjs/core/hooks/use-media.js +0 -29
- package/dist/cjs/core/hooks/use-toggle.d.ts +0 -14
- package/dist/cjs/core/hooks/use-toggle.js +0 -21
- package/dist/cjs/core/icon/icon.component.js +0 -17
- package/dist/cjs/core/icon/index.d.ts +0 -2
- package/dist/cjs/core/icon/index.js +0 -21
- package/dist/cjs/core/image/image.argTypes.js +0 -19
- package/dist/cjs/core/image/image.component.js +0 -24
- package/dist/cjs/core/image/image.model.js +0 -2
- package/dist/cjs/core/image/image.style.d.ts +0 -3
- package/dist/cjs/core/image/image.style.js +0 -22
- package/dist/cjs/core/image/image.types.js +0 -2
- package/dist/cjs/core/image/index.js +0 -18
- package/dist/cjs/core/index.js +0 -30
- package/dist/cjs/core/layout/index.js +0 -18
- package/dist/cjs/core/layout/layout.context.d.ts +0 -7
- package/dist/cjs/core/layout/layout.context.js +0 -11
- package/dist/cjs/core/layout/layout.hook.js +0 -16
- package/dist/cjs/core/layout/layout.provider.d.ts +0 -4
- package/dist/cjs/core/layout/layout.provider.js +0 -25
- package/dist/cjs/core/overlay/index.js +0 -18
- package/dist/cjs/core/overlay/overlay.component.js +0 -17
- package/dist/cjs/core/overlay/overlay.config.d.ts +0 -4
- package/dist/cjs/core/overlay/overlay.config.js +0 -20
- package/dist/cjs/core/overlay/overlay.model.d.ts +0 -12
- package/dist/cjs/core/overlay/overlay.model.js +0 -2
- package/dist/cjs/core/padding/index.js +0 -17
- package/dist/cjs/core/padding/padding.style.d.ts +0 -3
- package/dist/cjs/core/padding/padding.style.js +0 -34
- package/dist/cjs/core/shadow/index.js +0 -17
- package/dist/cjs/core/shadow/shadow.style.js +0 -8
- package/dist/cjs/core/text/index.js +0 -17
- package/dist/cjs/core/text/text.component.d.ts +0 -11
- package/dist/cjs/core/text/text.component.js +0 -30
- package/dist/cjs/core/theme/index.d.ts +0 -9
- package/dist/cjs/core/theme/index.js +0 -7
- package/dist/cjs/core/transition/collapse/collapse.component.d.ts +0 -24
- package/dist/cjs/core/transition/collapse/collapse.component.js +0 -79
- package/dist/cjs/core/transition/collapse/index.js +0 -17
- package/dist/cjs/core/transition/fade/fade.argTypes.js +0 -8
- package/dist/cjs/core/transition/fade/fade.component.js +0 -53
- package/dist/cjs/core/transition/fade/index.js +0 -17
- package/dist/cjs/core/transition/index.js +0 -19
- package/dist/cjs/core/transition/slide/index.js +0 -17
- package/dist/cjs/core/transition/slide/slide.component.d.ts +0 -15
- package/dist/cjs/core/transition/slide/slide.component.js +0 -54
- package/dist/cjs/core/transition/transition.argTypes.js +0 -13
- package/dist/cjs/core/transition/transition.utils.d.ts +0 -245
- package/dist/cjs/core/transition/transition.utils.js +0 -99
- package/dist/cjs/index.js +0 -19
- package/dist/cjs/layouts/parallax-hero/parallax-hero.component.js +0 -15
- package/dist/cjs/layouts/parallax-hero/parallax-hero.model.js +0 -2
- package/dist/cjs/tools/color-picker/color-picker.component.js +0 -138
- package/dist/cjs/tools/color-swatch/color-swatch.component.js +0 -38
- package/dist/cjs/utils/index.js +0 -17
- package/dist/cjs/utils/storage-manager.js +0 -49
- package/dist/esm/components/button/button.component.d.ts +0 -16
- package/dist/esm/components/button/button.component.js +0 -68
- package/dist/esm/components/button/index.js +0 -1
- package/dist/esm/components/card/card.component.d.ts +0 -14
- package/dist/esm/components/card/card.component.js +0 -27
- package/dist/esm/components/card/index.d.ts +0 -1
- package/dist/esm/components/card/index.js +0 -1
- package/dist/esm/components/draggable/SortableList/components/DragHandle/dragHandle.component.d.ts +0 -3
- package/dist/esm/components/draggable/SortableList/components/DragHandle/dragHandle.component.js +0 -21
- package/dist/esm/components/draggable/SortableList/components/DragHandle/index.js +0 -1
- package/dist/esm/components/draggable/SortableList/components/SortableItem/index.js +0 -1
- package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.component.js +0 -17
- package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.context.d.ts +0 -9
- package/dist/esm/components/draggable/SortableList/components/SortableItem/sortableItem.context.js +0 -6
- package/dist/esm/components/draggable/SortableList/components/SortableOverlay/index.js +0 -1
- package/dist/esm/components/draggable/SortableList/components/SortableOverlay/sortableOverlay.component.js +0 -12
- package/dist/esm/components/draggable/SortableList/components/index.js +0 -3
- package/dist/esm/components/draggable/SortableList/index.js +0 -2
- package/dist/esm/components/draggable/SortableList/mockData.d.ts +0 -4
- package/dist/esm/components/draggable/SortableList/mockData.js +0 -50
- package/dist/esm/components/draggable/SortableList/sortableList.component.d.ts +0 -13
- package/dist/esm/components/draggable/SortableList/sortableList.component.js +0 -30
- package/dist/esm/components/draggable/index.d.ts +0 -1
- package/dist/esm/components/draggable/index.js +0 -1
- package/dist/esm/components/draggable/utilities/createRange.d.ts +0 -1
- package/dist/esm/components/draggable/utilities/createRange.js +0 -4
- package/dist/esm/components/draggable/utilities/index.d.ts +0 -1
- package/dist/esm/components/draggable/utilities/index.js +0 -1
- package/dist/esm/components/forms/index.d.ts +0 -1
- package/dist/esm/components/forms/index.js +0 -1
- package/dist/esm/components/forms/text-input/index.js +0 -1
- package/dist/esm/components/forms/text-input/text-input.component.d.ts +0 -6
- package/dist/esm/components/forms/text-input/text-input.component.js +0 -5
- package/dist/esm/components/forms/utils/validations.d.ts +0 -2
- package/dist/esm/components/forms/utils/validations.js +0 -52
- package/dist/esm/components/icon-text-row/icon-text-row.component.js +0 -28
- package/dist/esm/components/icon-text-row/index.js +0 -1
- package/dist/esm/components/index.js +0 -7
- package/dist/esm/components/modal/index.js +0 -1
- package/dist/esm/components/modal/modal-close-button.component.d.ts +0 -3
- package/dist/esm/components/modal/modal-close-button.component.js +0 -23
- package/dist/esm/components/modal/modal.component.d.ts +0 -13
- package/dist/esm/components/modal/modal.component.js +0 -15
- package/dist/esm/components/switch/index.js +0 -1
- package/dist/esm/components/switch/switch.component.js +0 -38
- package/dist/esm/components/switch/switch.config.d.ts +0 -5
- package/dist/esm/components/switch/switch.config.js +0 -22
- package/dist/esm/core/background/background.component.js +0 -15
- package/dist/esm/core/background/index.js +0 -1
- package/dist/esm/core/border/border.style.d.ts +0 -3
- package/dist/esm/core/border/border.style.js +0 -26
- package/dist/esm/core/border/index.d.ts +0 -1
- package/dist/esm/core/border/index.js +0 -1
- package/dist/esm/core/container/container.component.d.ts +0 -6
- package/dist/esm/core/container/container.component.js +0 -16
- package/dist/esm/core/container/index.js +0 -1
- package/dist/esm/core/filter/filter.argTypes.js +0 -101
- package/dist/esm/core/filter/filter.component.js +0 -8
- package/dist/esm/core/filter/filter.config.d.ts +0 -3
- package/dist/esm/core/filter/filter.config.js +0 -65
- package/dist/esm/core/filter/filter.model.d.ts +0 -20
- package/dist/esm/core/filter/filter.model.js +0 -1
- package/dist/esm/core/filter/filter.style.d.ts +0 -3
- package/dist/esm/core/filter/filter.style.js +0 -17
- package/dist/esm/core/filter/filter.types.d.ts +0 -2
- package/dist/esm/core/filter/filter.types.js +0 -1
- package/dist/esm/core/filter/index.js +0 -4
- package/dist/esm/core/flex/flex.component.js +0 -27
- package/dist/esm/core/flex/flex.style.d.ts +0 -28
- package/dist/esm/core/flex/flex.style.js +0 -83
- package/dist/esm/core/flex/index.js +0 -2
- package/dist/esm/core/hooks/index.js +0 -2
- package/dist/esm/core/hooks/use-media.d.ts +0 -1
- package/dist/esm/core/hooks/use-media.js +0 -25
- package/dist/esm/core/hooks/use-toggle.js +0 -17
- package/dist/esm/core/icon/icon.component.d.ts +0 -10
- package/dist/esm/core/icon/icon.component.js +0 -10
- package/dist/esm/core/icon/index.d.ts +0 -2
- package/dist/esm/core/icon/index.js +0 -2
- package/dist/esm/core/image/image.argTypes.d.ts +0 -187
- package/dist/esm/core/image/image.argTypes.js +0 -16
- package/dist/esm/core/image/image.component.d.ts +0 -3
- package/dist/esm/core/image/image.component.js +0 -17
- package/dist/esm/core/image/image.model.js +0 -1
- package/dist/esm/core/image/image.style.js +0 -18
- package/dist/esm/core/image/image.types.js +0 -1
- package/dist/esm/core/image/index.js +0 -2
- package/dist/esm/core/index.js +0 -14
- package/dist/esm/core/layout/index.js +0 -2
- package/dist/esm/core/layout/layout.context.js +0 -6
- package/dist/esm/core/layout/layout.hook.d.ts +0 -2
- package/dist/esm/core/layout/layout.hook.js +0 -9
- package/dist/esm/core/layout/layout.provider.d.ts +0 -4
- package/dist/esm/core/layout/layout.provider.js +0 -18
- package/dist/esm/core/overlay/index.js +0 -2
- package/dist/esm/core/overlay/overlay.component.d.ts +0 -3
- package/dist/esm/core/overlay/overlay.component.js +0 -10
- package/dist/esm/core/overlay/overlay.config.js +0 -16
- package/dist/esm/core/overlay/overlay.model.js +0 -1
- package/dist/esm/core/padding/index.d.ts +0 -1
- package/dist/esm/core/padding/index.js +0 -1
- package/dist/esm/core/padding/padding.style.js +0 -30
- package/dist/esm/core/shadow/index.d.ts +0 -1
- package/dist/esm/core/shadow/index.js +0 -1
- package/dist/esm/core/shadow/shadow.style.d.ts +0 -2
- package/dist/esm/core/shadow/shadow.style.js +0 -4
- package/dist/esm/core/text/index.d.ts +0 -1
- package/dist/esm/core/text/index.js +0 -1
- package/dist/esm/core/text/text.component.js +0 -23
- package/dist/esm/core/theme/index.d.ts +0 -9
- package/dist/esm/core/theme/index.js +0 -3
- package/dist/esm/core/transition/collapse/collapse.component.js +0 -73
- package/dist/esm/core/transition/collapse/index.js +0 -1
- package/dist/esm/core/transition/fade/fade.argTypes.d.ts +0 -5
- package/dist/esm/core/transition/fade/fade.argTypes.js +0 -5
- package/dist/esm/core/transition/fade/fade.component.d.ts +0 -7
- package/dist/esm/core/transition/fade/fade.component.js +0 -47
- package/dist/esm/core/transition/fade/index.d.ts +0 -1
- package/dist/esm/core/transition/fade/index.js +0 -1
- package/dist/esm/core/transition/index.js +0 -3
- package/dist/esm/core/transition/slide/index.js +0 -1
- package/dist/esm/core/transition/slide/slide.component.js +0 -48
- package/dist/esm/core/transition/transition.argTypes.d.ts +0 -19
- package/dist/esm/core/transition/transition.argTypes.js +0 -10
- package/dist/esm/core/transition/transition.utils.js +0 -93
- package/dist/esm/index.js +0 -3
- package/dist/esm/layouts/parallax-hero/parallax-hero.component.d.ts +0 -3
- package/dist/esm/layouts/parallax-hero/parallax-hero.component.js +0 -8
- package/dist/esm/layouts/parallax-hero/parallax-hero.model.js +0 -1
- package/dist/esm/tools/color-picker/color-picker.component.d.ts +0 -8
- package/dist/esm/tools/color-picker/color-picker.component.js +0 -111
- package/dist/esm/tools/color-swatch/color-swatch.component.d.ts +0 -12
- package/dist/esm/tools/color-swatch/color-swatch.component.js +0 -31
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/storage-manager.d.ts +0 -7
- package/dist/esm/utils/storage-manager.js +0 -44
- /package/{dist/cjs/components/button/index.d.ts → src/components/button/index.ts} +0 -0
- /package/{dist/cjs/components/card/index.d.ts → src/components/card/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/SortableList/components/DragHandle/index.d.ts → src/components/draggable/SortableList/components/DragHandle/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/SortableList/components/SortableItem/index.d.ts → src/components/draggable/SortableList/components/SortableItem/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/SortableList/components/SortableOverlay/index.d.ts → src/components/draggable/SortableList/components/SortableOverlay/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/SortableList/components/index.d.ts → src/components/draggable/SortableList/components/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/SortableList/index.d.ts → src/components/draggable/SortableList/index.ts} +0 -0
- /package/{dist/cjs/components/draggable/index.d.ts → src/components/draggable/index.ts} +0 -0
- /package/{dist/cjs/components/forms/index.d.ts → src/components/forms/index.ts} +0 -0
- /package/{dist/cjs/components/forms/text-input/index.d.ts → src/components/forms/text-input/index.ts} +0 -0
- /package/{dist/cjs/components/icon-text-row/index.d.ts → src/components/icon-text-row/index.ts} +0 -0
- /package/{dist/cjs/components/index.d.ts → src/components/index.ts} +0 -0
- /package/{dist/cjs/components/modal/index.d.ts → src/components/modal/index.ts} +0 -0
- /package/{dist/cjs/components/switch/index.d.ts → src/components/switch/index.ts} +0 -0
- /package/{dist/cjs/core/background/index.d.ts → src/core/background/index.ts} +0 -0
- /package/{dist/cjs/core/border/index.d.ts → src/core/border/index.ts} +0 -0
- /package/{dist/cjs/core/container/index.d.ts → src/core/container/index.ts} +0 -0
- /package/{dist/cjs/core/filter/index.d.ts → src/core/filter/index.ts} +0 -0
- /package/{dist/cjs/core/flex/index.d.ts → src/core/flex/index.ts} +0 -0
- /package/{dist/cjs/core/hooks/index.d.ts → src/core/hooks/index.ts} +0 -0
- /package/{dist/cjs/core/image/image.types.d.ts → src/core/image/image.types.ts} +0 -0
- /package/{dist/cjs/core/image/index.d.ts → src/core/image/index.ts} +0 -0
- /package/{dist/cjs/core/index.d.ts → src/core/index.ts} +0 -0
- /package/{dist/cjs/core/layout/index.d.ts → src/core/layout/index.ts} +0 -0
- /package/{dist/cjs/core/overlay/index.d.ts → src/core/overlay/index.ts} +0 -0
- /package/{dist/cjs/core/padding/index.d.ts → src/core/padding/index.ts} +0 -0
- /package/{dist/cjs/core/shadow/index.d.ts → src/core/shadow/index.ts} +0 -0
- /package/{dist/cjs/core/text/index.d.ts → src/core/text/index.ts} +0 -0
- /package/{dist/cjs/core/transition/collapse/index.d.ts → src/core/transition/collapse/index.ts} +0 -0
- /package/{dist/cjs/core/transition/fade/index.d.ts → src/core/transition/fade/index.ts} +0 -0
- /package/{dist/cjs/core/transition/index.d.ts → src/core/transition/index.ts} +0 -0
- /package/{dist/cjs/core/transition/slide/index.d.ts → src/core/transition/slide/index.ts} +0 -0
- /package/{dist/cjs/index.d.ts → src/index.ts} +0 -0
- /package/{dist/cjs/utils/index.d.ts → src/utils/index.ts} +0 -0
package/src/components/draggable/SortableList/components/SortableItem/sortableItem.component.tsx
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import type { CSSProperties, PropsWithChildren } from 'react';
|
|
3
|
+
import type { UniqueIdentifier } from '@dnd-kit/core';
|
|
4
|
+
import { useSortable } from '@dnd-kit/sortable';
|
|
5
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
6
|
+
import { SortableItemContext } from './sortableItem.context';
|
|
7
|
+
|
|
8
|
+
export interface SortableItemProps {
|
|
9
|
+
id: UniqueIdentifier;
|
|
10
|
+
style?: CSSProperties;
|
|
11
|
+
onRemove?(id: UniqueIdentifier): void;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const SortableItem = ({
|
|
15
|
+
children,
|
|
16
|
+
id,
|
|
17
|
+
style: userStyle,
|
|
18
|
+
onRemove,
|
|
19
|
+
}: PropsWithChildren<SortableItemProps>): JSX.Element => {
|
|
20
|
+
const { attributes, isDragging, listeners, setNodeRef, setActivatorNodeRef, transform, transition } = useSortable({
|
|
21
|
+
id,
|
|
22
|
+
});
|
|
23
|
+
const context = useMemo(
|
|
24
|
+
() => ({
|
|
25
|
+
attributes,
|
|
26
|
+
listeners,
|
|
27
|
+
ref: setActivatorNodeRef,
|
|
28
|
+
}),
|
|
29
|
+
[attributes, listeners, setActivatorNodeRef],
|
|
30
|
+
);
|
|
31
|
+
const style: CSSProperties = {
|
|
32
|
+
opacity: isDragging ? 0.4 : undefined,
|
|
33
|
+
transform: CSS.Translate.toString(transform),
|
|
34
|
+
transition,
|
|
35
|
+
listStyle: 'none',
|
|
36
|
+
...userStyle,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<SortableItemContext.Provider value={context}>
|
|
41
|
+
<li className="SortableItem" ref={setNodeRef} style={style}>
|
|
42
|
+
{children}
|
|
43
|
+
</li>
|
|
44
|
+
</SortableItemContext.Provider>
|
|
45
|
+
);
|
|
46
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DraggableSyntheticListeners } from '@dnd-kit/core';
|
|
2
|
+
import { createContext } from 'react';
|
|
3
|
+
|
|
4
|
+
interface Context {
|
|
5
|
+
attributes: Record<string, any>;
|
|
6
|
+
listeners: DraggableSyntheticListeners;
|
|
7
|
+
ref(node: HTMLElement | null): void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const SortableItemContext = createContext<Context>({
|
|
11
|
+
attributes: {},
|
|
12
|
+
listeners: undefined,
|
|
13
|
+
ref() {},
|
|
14
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PropsWithChildren } from 'react';
|
|
3
|
+
import { DragOverlay, defaultDropAnimationSideEffects } from '@dnd-kit/core';
|
|
4
|
+
import type { DropAnimation } from '@dnd-kit/core';
|
|
5
|
+
|
|
6
|
+
const dropAnimationConfig: DropAnimation = {
|
|
7
|
+
sideEffects: defaultDropAnimationSideEffects({
|
|
8
|
+
styles: {
|
|
9
|
+
active: {
|
|
10
|
+
opacity: '0.4',
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
interface Props {}
|
|
17
|
+
|
|
18
|
+
export const SortableOverlay = ({ children }: PropsWithChildren<Props>): JSX.Element => (
|
|
19
|
+
<DragOverlay dropAnimation={dropAnimationConfig}>{children}</DragOverlay>
|
|
20
|
+
);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export const findManyChannelStatus = [
|
|
2
|
+
{
|
|
3
|
+
id: 'ckj03ha63t2760708sl9i1wrt',
|
|
4
|
+
name: 'Open',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
id: 'ckkis9tk41bjc07776r52w8vi',
|
|
8
|
+
name: 'Arrived',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'cl0myohr5153501vkyhdttc84',
|
|
12
|
+
name: 'Completed Workflow',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'ckziqok792091401wchnc8w0x6',
|
|
16
|
+
name: 'Confirmed',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'cl0hr30kt2157201za2zu4z22e',
|
|
20
|
+
name: 'Connect Request',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'cl8ow0o5q14155je153hnxnkep',
|
|
24
|
+
name: 'Service Reminder Response',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'ckkisaejj1bkp0777q7tz03en',
|
|
28
|
+
name: 'Needs Consult',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'cl0hqr4x91927701zaaqtpeq97',
|
|
32
|
+
name: 'Scheduled',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'clalb5upd6062601xqa9ww3zi4',
|
|
36
|
+
name: 'Incoming Triage',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'clcnp56pq489001wka1zxwm0k',
|
|
40
|
+
name: 'Survey Sent',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'clcgj0vp75288301yy99juvg1f',
|
|
44
|
+
name: 'Closed w/comments',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'ckj03ha67t2780708l1lccn1a',
|
|
48
|
+
name: 'Archived',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React, { CSSProperties, useMemo, useState } from 'react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import { DndContext, KeyboardSensor, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
|
|
4
|
+
import type { Active, UniqueIdentifier } from '@dnd-kit/core';
|
|
5
|
+
import { SortableContext, arrayMove, sortableKeyboardCoordinates } from '@dnd-kit/sortable';
|
|
6
|
+
|
|
7
|
+
import { SortableOverlay } from './components';
|
|
8
|
+
|
|
9
|
+
export interface SortableItemProps {
|
|
10
|
+
id: UniqueIdentifier;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface SortableProps<T extends SortableItemProps> {
|
|
14
|
+
items: T[];
|
|
15
|
+
onChange(items: T[]): void;
|
|
16
|
+
renderItem(item: T, index?: number): ReactNode;
|
|
17
|
+
style?: CSSProperties;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const SortableList = <T extends SortableItemProps>({
|
|
21
|
+
items,
|
|
22
|
+
onChange,
|
|
23
|
+
renderItem,
|
|
24
|
+
style: userStyle,
|
|
25
|
+
}: SortableProps<T>): JSX.Element => {
|
|
26
|
+
const [active, setActive] = useState<Active | null>(null);
|
|
27
|
+
const activeItem = useMemo(() => items.find((item) => item.id === active?.id), [active, items]);
|
|
28
|
+
const sensors = useSensors(
|
|
29
|
+
useSensor(PointerSensor),
|
|
30
|
+
useSensor(KeyboardSensor, {
|
|
31
|
+
coordinateGetter: sortableKeyboardCoordinates,
|
|
32
|
+
}),
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const style: CSSProperties = {
|
|
36
|
+
display: 'flex',
|
|
37
|
+
flexDirection: 'column',
|
|
38
|
+
padding: 0,
|
|
39
|
+
listStyle: 'none',
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<DndContext
|
|
44
|
+
sensors={sensors}
|
|
45
|
+
onDragStart={({ active }): void => {
|
|
46
|
+
setActive(active);
|
|
47
|
+
}}
|
|
48
|
+
onDragEnd={({ active, over }): void => {
|
|
49
|
+
if (over && active.id !== over?.id) {
|
|
50
|
+
const activeIndex = items.findIndex(({ id }) => id === active.id);
|
|
51
|
+
const overIndex = items.findIndex(({ id }) => id === over.id);
|
|
52
|
+
|
|
53
|
+
onChange(arrayMove(items, activeIndex, overIndex));
|
|
54
|
+
}
|
|
55
|
+
setActive(null);
|
|
56
|
+
}}
|
|
57
|
+
onDragCancel={(): void => setActive(null)}
|
|
58
|
+
>
|
|
59
|
+
<SortableContext items={items}>
|
|
60
|
+
<ul style={style}>
|
|
61
|
+
{items.map((item, index) => (
|
|
62
|
+
<React.Fragment key={item.id}>{renderItem(item, index)}</React.Fragment>
|
|
63
|
+
))}
|
|
64
|
+
</ul>
|
|
65
|
+
</SortableContext>
|
|
66
|
+
<SortableOverlay>{activeItem ? renderItem(activeItem) : null}</SortableOverlay>
|
|
67
|
+
</DndContext>
|
|
68
|
+
);
|
|
69
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { SortableList } from './sortableList.component';
|
|
3
|
+
import { DragHandle, SortableItem } from './components';
|
|
4
|
+
import { createRange } from '../utilities';
|
|
5
|
+
|
|
6
|
+
import { findManyChannelStatus } from './mockData';
|
|
7
|
+
|
|
8
|
+
import { Button } from '../../button';
|
|
9
|
+
import { UniqueIdentifier } from '@dnd-kit/core';
|
|
10
|
+
import { Text } from '../../../core';
|
|
11
|
+
import { Flex } from '../../../core/flex/flex.component';
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
title: 'Components/Draggable/Sortable List',
|
|
15
|
+
component: SortableList,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
interface MockItem {
|
|
19
|
+
id: number;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const getMockItems = (): MockItem[] => createRange(50, (index) => ({ id: index + 1 }));
|
|
23
|
+
|
|
24
|
+
export const BasicList = (): JSX.Element => {
|
|
25
|
+
const [items, setItems] = useState(getMockItems);
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<SortableList
|
|
29
|
+
items={items}
|
|
30
|
+
onChange={setItems}
|
|
31
|
+
renderItem={(item): JSX.Element => (
|
|
32
|
+
<SortableItem id={item.id}>
|
|
33
|
+
<DragHandle />
|
|
34
|
+
{item.id}
|
|
35
|
+
</SortableItem>
|
|
36
|
+
)}
|
|
37
|
+
/>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const SortableRows = (): JSX.Element => {
|
|
42
|
+
const [items, setItems] = useState(findManyChannelStatus);
|
|
43
|
+
|
|
44
|
+
const handleRemove = (id: UniqueIdentifier): void => setItems((items) => items.filter((item) => item.id !== id));
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<SortableList
|
|
48
|
+
items={items}
|
|
49
|
+
onChange={setItems}
|
|
50
|
+
renderItem={({ id, name }, index): JSX.Element => (
|
|
51
|
+
<SortableItem
|
|
52
|
+
id={id}
|
|
53
|
+
style={{
|
|
54
|
+
padding: '8px',
|
|
55
|
+
background: (index && index % 2 === 0) || index === 0 ? '#f1f5f6' : '#fff',
|
|
56
|
+
}}
|
|
57
|
+
>
|
|
58
|
+
<Flex align="center">
|
|
59
|
+
<DragHandle />
|
|
60
|
+
<Text role="paragraph">{name}</Text>
|
|
61
|
+
<Button buttonType="icon" onClick={(): void => handleRemove(id)} iconName="trashCanRegular" />
|
|
62
|
+
</Flex>
|
|
63
|
+
</SortableItem>
|
|
64
|
+
)}
|
|
65
|
+
/>
|
|
66
|
+
);
|
|
67
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {createRange} from './createRange';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
export interface TextInputProps {
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: () => void;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const TextInput = ({ value, onChange }: TextInputProps) => {
|
|
9
|
+
return (
|
|
10
|
+
<div>
|
|
11
|
+
<input type="text" value={value} onChange={onChange} />
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export type ValidationRule =
|
|
2
|
+
| 'email'
|
|
3
|
+
| 'required'
|
|
4
|
+
| 'numeric'
|
|
5
|
+
| 'alphaNumeric'
|
|
6
|
+
| 'alphabetic'
|
|
7
|
+
| 'maxLength'
|
|
8
|
+
| 'minLength';
|
|
9
|
+
|
|
10
|
+
export const validations: Record<ValidationRule, unknown> = {
|
|
11
|
+
email: {
|
|
12
|
+
rule: () => /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i,
|
|
13
|
+
formatter(fieldName: string) {
|
|
14
|
+
return `${fieldName} is not valid email`;
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
required: {
|
|
18
|
+
rule: () => /\S/,
|
|
19
|
+
formatter(fieldName: string) {
|
|
20
|
+
return `${fieldName} is required.`;
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
numeric: {
|
|
24
|
+
rule: () => /^\d+$/,
|
|
25
|
+
formatter(fieldName: string) {
|
|
26
|
+
return `${fieldName} should contain only numbers.`;
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
alphaNumeric: {
|
|
30
|
+
rule: () => /^[a-z0-9]+$/i,
|
|
31
|
+
formatter(fieldName: string) {
|
|
32
|
+
return `${fieldName} should not contain special characters, please use only alphabets and numbers.`;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
alphabetic: {
|
|
36
|
+
rule: () => /^[a-z]+$/i,
|
|
37
|
+
formatter(fieldName: string) {
|
|
38
|
+
return `${fieldName} should contain only alphabets.`;
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
maxLength: {
|
|
42
|
+
rule: (number: number) => ({
|
|
43
|
+
test: (value: string) => value.length <= number,
|
|
44
|
+
}),
|
|
45
|
+
formatter(fieldName: string, number: number) {
|
|
46
|
+
return number
|
|
47
|
+
? `${fieldName} can contain maximum ${number} characters.`
|
|
48
|
+
: `${fieldName} contains more characters than expected.`;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
minLength: {
|
|
52
|
+
rule: (number: number) => ({
|
|
53
|
+
test: (value: string) => value.length >= number,
|
|
54
|
+
}),
|
|
55
|
+
formatter(fieldName: string, number: number) {
|
|
56
|
+
return number
|
|
57
|
+
? `${fieldName} should contain minimum ${number} characters.`
|
|
58
|
+
: `${fieldName} contains less characters than expected.`;
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
package/src/components/grainy-gradient-background/grainy-gradient-background.component.stories.tsx
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GrainyGradientBackground, GrainyGradientProps } from './grainy-gradient-background.component';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Components/Background',
|
|
6
|
+
component: GrainyGradientBackground,
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: 'fullscreen',
|
|
9
|
+
},
|
|
10
|
+
argTypes: {
|
|
11
|
+
noiseFrequency: {
|
|
12
|
+
control: { type: 'range', min: 0, max: 5, step: 0.01 },
|
|
13
|
+
table: {
|
|
14
|
+
type: { summary: 'number' },
|
|
15
|
+
defaultValue: { summary: '0.65' },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
noiseOctaves: {
|
|
19
|
+
control: { type: 'range', min: 0, max: 6, step: 1 },
|
|
20
|
+
table: {
|
|
21
|
+
type: { summary: 'number' },
|
|
22
|
+
defaultValue: { summary: '3' },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
control: { type: 'range', min: 0, max: 2400, step: 1 },
|
|
27
|
+
table: {
|
|
28
|
+
type: { summary: 'number' },
|
|
29
|
+
defaultValue: { summary: '250' },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
angle: {
|
|
33
|
+
control: { type: 'range', min: 0, max: 360, step: 1 },
|
|
34
|
+
table: {
|
|
35
|
+
type: { summary: 'number' },
|
|
36
|
+
defaultValue: { summary: '20' },
|
|
37
|
+
},
|
|
38
|
+
description: 'The angle of the gradient.',
|
|
39
|
+
},
|
|
40
|
+
gradientColor: {
|
|
41
|
+
control: { type: 'color' },
|
|
42
|
+
},
|
|
43
|
+
backgroundColor: {
|
|
44
|
+
control: { type: 'color' },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const GrainyGradient = (args: GrainyGradientProps) => {
|
|
50
|
+
return <GrainyGradientBackground {...args} />;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const GrainyGradientBackgroundArgs: GrainyGradientProps = {
|
|
54
|
+
minHeight: '100vh',
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
GrainyGradient.args = GrainyGradientBackgroundArgs;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React, { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { Property } from 'csstype';
|
|
3
|
+
|
|
4
|
+
export interface GrainyGradientProps {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
noiseFrequency?: number;
|
|
7
|
+
noiseOctaves?: number;
|
|
8
|
+
size?: number;
|
|
9
|
+
minHeight?: Property.MinHeight;
|
|
10
|
+
angle?: number;
|
|
11
|
+
gradientColor?: Property.Color;
|
|
12
|
+
backgroundColor?: Property.Color;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const GrainyGradientBackground = ({
|
|
16
|
+
children,
|
|
17
|
+
noiseFrequency = 0.65,
|
|
18
|
+
noiseOctaves = 3,
|
|
19
|
+
minHeight,
|
|
20
|
+
size = 740,
|
|
21
|
+
angle = 20,
|
|
22
|
+
gradientColor = 'rebeccapurple',
|
|
23
|
+
backgroundColor = 'moccasin',
|
|
24
|
+
}: GrainyGradientProps) => {
|
|
25
|
+
const gradient = `linear-gradient(${angle}deg, ${gradientColor}, transparent)`;
|
|
26
|
+
|
|
27
|
+
const image = `url("data:image/svg+xml,%3Csvg viewBox='0 0 ${size} ${size}' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${noiseFrequency}' numOctaves='${noiseOctaves}' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")`;
|
|
28
|
+
|
|
29
|
+
const container: CSSProperties = {};
|
|
30
|
+
|
|
31
|
+
const content: CSSProperties = {
|
|
32
|
+
position: 'absolute',
|
|
33
|
+
width: '100%',
|
|
34
|
+
height: '100%',
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const noise: CSSProperties = {
|
|
38
|
+
filter: 'contrast(290%) brightness(1000%)',
|
|
39
|
+
background: gradient + ', ' + image,
|
|
40
|
+
minHeight,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const isolate: CSSProperties = {
|
|
44
|
+
isolation: 'isolate',
|
|
45
|
+
position: 'absolute',
|
|
46
|
+
width: '100%',
|
|
47
|
+
height: '100%',
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const overlay: CSSProperties = {
|
|
51
|
+
position: 'absolute',
|
|
52
|
+
top: 0,
|
|
53
|
+
width: '100%',
|
|
54
|
+
height: '100%',
|
|
55
|
+
background: backgroundColor,
|
|
56
|
+
mixBlendMode: 'multiply',
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
<div style={container}>
|
|
61
|
+
<div style={isolate}>
|
|
62
|
+
<div style={noise}></div>
|
|
63
|
+
<div style={overlay}></div>
|
|
64
|
+
</div>
|
|
65
|
+
<div style={content}>{children}</div>
|
|
66
|
+
</div>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { ContentColorToken, getValue, HorizontalAlign, TextRole } from '@uni-design-system/uni-core';
|
|
3
|
+
|
|
4
|
+
import { alignCenter, expand, fix, row, Text, Icon, useTheme } from '../../core';
|
|
5
|
+
import { IconName } from '../../core/icon';
|
|
6
|
+
|
|
7
|
+
export interface IconTextRowProps {
|
|
8
|
+
iconName: IconName;
|
|
9
|
+
color: ContentColorToken;
|
|
10
|
+
align?: HorizontalAlign;
|
|
11
|
+
text?: string;
|
|
12
|
+
textRole?: TextRole;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const IconTextRow = ({
|
|
17
|
+
iconName,
|
|
18
|
+
color,
|
|
19
|
+
align = 'left',
|
|
20
|
+
text,
|
|
21
|
+
textRole = 'title-medium',
|
|
22
|
+
children,
|
|
23
|
+
}: IconTextRowProps): JSX.Element => {
|
|
24
|
+
const theme = useTheme();
|
|
25
|
+
const textProps = getValue(theme, `typography.${textRole}`, theme.typography['title-medium']);
|
|
26
|
+
const textHeight = textProps.fontSize;
|
|
27
|
+
const textLineHeight = textProps.lineHeight || textHeight;
|
|
28
|
+
const textMargin = text || children ? textLineHeight - textHeight : 0;
|
|
29
|
+
|
|
30
|
+
function RowIcon() {
|
|
31
|
+
return (
|
|
32
|
+
<div style={{ ...fix, maxHeight: textLineHeight }}>
|
|
33
|
+
<Icon name={iconName} width={textLineHeight} height={textLineHeight} color={color} />
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function RowText() {
|
|
39
|
+
return (
|
|
40
|
+
<div style={{ ...expand, paddingLeft: textMargin, paddingRight: textMargin }}>
|
|
41
|
+
<Text align={align} colorToken={color} role={textRole}>
|
|
42
|
+
{text || children}
|
|
43
|
+
</Text>
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function RowCenter() {
|
|
49
|
+
return align === 'center' ? <div style={{ ...expand }} /> : null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return ['left', 'center'].includes(align) ? (
|
|
53
|
+
<div style={{ ...row, ...alignCenter }}>
|
|
54
|
+
<RowCenter />
|
|
55
|
+
<RowIcon />
|
|
56
|
+
<RowText />
|
|
57
|
+
<RowCenter />
|
|
58
|
+
</div>
|
|
59
|
+
) : (
|
|
60
|
+
<div style={{ ...row, ...alignCenter }}>
|
|
61
|
+
<RowText />
|
|
62
|
+
<RowIcon />
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IconTextRow, IconTextRowProps } from './icon-text-row.component';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Typography/Icon Text Row',
|
|
6
|
+
component: IconTextRow,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export const IconTextRowPlayground = (args: IconTextRowProps) => <IconTextRow {...args} />;
|
|
10
|
+
|
|
11
|
+
const IconTextRowPlaygroundProps: IconTextRowProps = {
|
|
12
|
+
color: 'on-background',
|
|
13
|
+
iconName: 'mapLocationDotSolid',
|
|
14
|
+
text: 'Location',
|
|
15
|
+
textRole: 'headline-small',
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
IconTextRowPlayground.args = IconTextRowPlaygroundProps;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { CSSProperties, PropsWithChildren } from 'react';
|
|
2
|
+
import { Button, ButtonProps } from '../button';
|
|
3
|
+
|
|
4
|
+
export const ModalCloseButton = ({ ...rest }: PropsWithChildren<ButtonProps>): JSX.Element => {
|
|
5
|
+
const style: CSSProperties = {
|
|
6
|
+
position: 'absolute',
|
|
7
|
+
top: '8px',
|
|
8
|
+
right: '8px',
|
|
9
|
+
padding: '8px',
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
return <Button buttonType="icon" iconName="xmarkSolid" style={style} {...rest} />;
|
|
13
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { Card } from '../card';
|
|
3
|
+
import { Overlay } from '../../core';
|
|
4
|
+
import { motion } from 'framer-motion';
|
|
5
|
+
|
|
6
|
+
type ModalSize = 'sm' | 'md' | 'lg';
|
|
7
|
+
|
|
8
|
+
const ModalSizes: Record<ModalSize, number> = {
|
|
9
|
+
sm: 260,
|
|
10
|
+
md: 320,
|
|
11
|
+
lg: 500,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export interface ModalProps {
|
|
15
|
+
size: ModalSize;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface ModalOverlayProps {
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
fadeDuration?: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const Modal = ({ children, isOpen, size = 'lg' }: ModalProps) => {
|
|
26
|
+
return (
|
|
27
|
+
<>
|
|
28
|
+
<Overlay isOpen={isOpen}>
|
|
29
|
+
<motion.div
|
|
30
|
+
style={{ position: 'fixed' }}
|
|
31
|
+
initial={{ y: 36, opacity: 0 }}
|
|
32
|
+
animate={{ y: 0, opacity: 1 }}
|
|
33
|
+
exit={{ y: 36, opacity: 0 }}
|
|
34
|
+
transition={{ duration: 0.2 }}
|
|
35
|
+
>
|
|
36
|
+
<Card colorToken="background" width={ModalSizes[size]} cardType="elevated" elevation="modal">
|
|
37
|
+
{children}
|
|
38
|
+
</Card>
|
|
39
|
+
</motion.div>
|
|
40
|
+
</Overlay>
|
|
41
|
+
</>
|
|
42
|
+
);
|
|
43
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { Modal, ModalProps } from './modal.component';
|
|
3
|
+
import { Text } from '../../core';
|
|
4
|
+
import { Button } from '../button';
|
|
5
|
+
import { ModalCloseButton } from './modal-close-button.component';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Components/Modal',
|
|
9
|
+
component: Modal,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const Basic = (args: ModalProps) => {
|
|
13
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<>
|
|
17
|
+
<Button onClick={() => setIsOpen(true)}>Open Modal</Button>
|
|
18
|
+
|
|
19
|
+
<Modal {...args} isOpen={isOpen}>
|
|
20
|
+
<ModalCloseButton onClick={() => setIsOpen(false)} />
|
|
21
|
+
<Text role="body-1-short">This is a simple modal component.</Text>
|
|
22
|
+
</Modal>
|
|
23
|
+
</>
|
|
24
|
+
);
|
|
25
|
+
};
|