@a-type/ui 3.1.1 → 4.0.0-beta.2
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/dist/cjs/components/actions/ActionBar.d.ts +1 -1
- package/dist/cjs/components/actions/ActionBar.js +2 -2
- package/dist/cjs/components/actions/ActionBar.js.map +1 -1
- package/dist/cjs/components/actions/ActionButton.d.ts +3 -3
- package/dist/cjs/components/actions/ActionButton.js +2 -2
- package/dist/cjs/components/actions/ActionButton.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.d.ts +4 -2
- package/dist/cjs/components/avatar/Avatar.js +4 -14
- package/dist/cjs/components/avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/box/Box.stories.js +1 -1
- package/dist/cjs/components/box/Box.stories.js.map +1 -1
- package/dist/cjs/components/button/Button.d.ts +7 -7
- package/dist/cjs/components/button/Button.js +7 -12
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/Button.stories.d.ts +1 -1
- package/dist/cjs/components/button/ConfirmedButton.js +1 -2
- package/dist/cjs/components/button/ConfirmedButton.js.map +1 -1
- package/dist/cjs/components/camera/Camera.d.ts +4 -4
- package/dist/cjs/components/camera/Camera.js +6 -7
- package/dist/cjs/components/camera/Camera.js.map +1 -1
- package/dist/cjs/components/card/Card.d.ts +8 -2
- package/dist/cjs/components/card/Card.js +21 -9
- package/dist/cjs/components/card/Card.js.map +1 -1
- package/dist/cjs/components/card/Card.stories.js +3 -3
- package/dist/cjs/components/card/Card.stories.js.map +1 -1
- package/dist/cjs/components/checkbox/Checkbox.d.ts +3 -3
- package/dist/cjs/components/checkbox/Checkbox.js +5 -38
- package/dist/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/chip/Chip.d.ts +3 -2
- package/dist/cjs/components/chip/Chip.js +3 -4
- package/dist/cjs/components/chip/Chip.js.map +1 -1
- package/dist/cjs/components/chip/Chip.stories.d.ts +6 -1
- package/dist/cjs/components/chip/Chip.stories.js +9 -3
- package/dist/cjs/components/chip/Chip.stories.js.map +1 -1
- package/dist/cjs/components/collapsible/Collapsible.d.ts +9 -9
- package/dist/cjs/components/collapsible/Collapsible.js +15 -38
- package/dist/cjs/components/collapsible/Collapsible.js.map +1 -1
- package/dist/cjs/components/collapsible/Collapsible.stories.d.ts +1 -1
- package/dist/cjs/components/colorMode/ColorModeToggle.d.ts +4 -2
- package/dist/cjs/components/colorMode/ColorModeToggle.js +8 -9
- package/dist/cjs/components/colorMode/ColorModeToggle.js.map +1 -1
- package/dist/cjs/components/colorPicker/ColorPicker.d.ts +4 -3
- package/dist/cjs/components/colorPicker/ColorPicker.js +8 -4
- package/dist/cjs/components/colorPicker/ColorPicker.js.map +1 -1
- package/dist/cjs/components/contextMenu/contextMenu.d.ts +11 -12
- package/dist/cjs/components/contextMenu/contextMenu.js +9 -42
- package/dist/cjs/components/contextMenu/contextMenu.js.map +1 -1
- package/dist/cjs/components/contextMenu/contextMenu.stories.d.ts +22 -0
- package/dist/cjs/components/contextMenu/contextMenu.stories.js +22 -0
- package/dist/cjs/components/contextMenu/contextMenu.stories.js.map +1 -0
- package/dist/cjs/components/dialog/Dialog.d.ts +27 -22
- package/dist/cjs/components/dialog/Dialog.js +109 -80
- package/dist/cjs/components/dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/dialog/Dialog.stories.d.ts +8 -8
- package/dist/cjs/components/dialog/Dialog.stories.js +6 -6
- package/dist/cjs/components/dialog/Dialog.stories.js.map +1 -1
- package/dist/cjs/components/divider/Divider.js +2 -1
- package/dist/cjs/components/divider/Divider.js.map +1 -1
- package/dist/cjs/components/dropdownMenu/DropdownMenu.d.ts +26 -21
- package/dist/cjs/components/dropdownMenu/DropdownMenu.js +22 -19
- package/dist/cjs/components/dropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
- package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js +6 -2
- package/dist/cjs/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
- package/dist/cjs/components/forms/EmojiField.d.ts +3 -2
- package/dist/cjs/components/forms/EmojiField.js +1 -1
- package/dist/cjs/components/forms/EmojiField.js.map +1 -1
- package/dist/cjs/components/forms/FormikForm.d.ts +2 -2
- package/dist/cjs/components/forms/FormikForm.stories.d.ts +2 -2
- package/dist/cjs/components/forms/SubmitButton.d.ts +1 -1
- package/dist/cjs/components/forms/SubmitButton.js +14 -2
- package/dist/cjs/components/forms/SubmitButton.js.map +1 -1
- package/dist/cjs/components/forms/TextField.js.map +1 -1
- package/dist/cjs/components/forms/ToggleGroupField.d.ts +3 -2
- package/dist/cjs/components/forms/ToggleGroupField.js +9 -2
- package/dist/cjs/components/forms/ToggleGroupField.js.map +1 -1
- package/dist/cjs/components/horizontalList/HorizontalList.d.ts +1 -3
- package/dist/cjs/components/horizontalList/HorizontalList.js +3 -3
- package/dist/cjs/components/horizontalList/HorizontalList.js.map +1 -1
- package/dist/cjs/components/horizontalList/HorizontalList.stories.js +1 -1
- package/dist/cjs/components/horizontalList/HorizontalList.stories.js.map +1 -1
- package/dist/cjs/components/icon/Icon.d.ts +7 -3
- package/dist/cjs/components/icon/Icon.js +14 -2
- package/dist/cjs/components/icon/Icon.js.map +1 -1
- package/dist/cjs/components/icon/Icon.stories.d.ts +28 -0
- package/dist/cjs/components/icon/Icon.stories.js +34 -0
- package/dist/cjs/components/icon/Icon.stories.js.map +1 -0
- package/dist/cjs/components/imageUploader/ImageUploader.js +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -1
- package/dist/cjs/components/index.js +1 -4
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/input/Input.d.ts +1 -2
- package/dist/cjs/components/input/Input.js +4 -5
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/input/Input.stories.d.ts +1 -1
- package/dist/cjs/components/layouts/layouts.stories.js +6 -6
- package/dist/cjs/components/layouts/layouts.stories.js.map +1 -1
- package/dist/cjs/components/lightbox/Lightbox.d.ts +18 -16
- package/dist/cjs/components/lightbox/Lightbox.js +10 -43
- package/dist/cjs/components/lightbox/Lightbox.js.map +1 -1
- package/dist/cjs/components/lightbox/Lightbox.stories.d.ts +9 -7
- package/dist/cjs/components/marquee/marquee.stories.js +1 -1
- package/dist/cjs/components/marquee/marquee.stories.js.map +1 -1
- package/dist/cjs/components/navBar/NavBar.d.ts +9 -9
- package/dist/cjs/components/navBar/NavBar.js +5 -7
- package/dist/cjs/components/navBar/NavBar.js.map +1 -1
- package/dist/cjs/components/popover/Popover.d.ts +19 -13
- package/dist/cjs/components/popover/Popover.js +23 -50
- package/dist/cjs/components/popover/Popover.js.map +1 -1
- package/dist/cjs/components/popover/Popover.stories.d.ts +3 -23
- package/dist/cjs/components/popover/Popover.stories.js +7 -2
- package/dist/cjs/components/popover/Popover.stories.js.map +1 -1
- package/dist/cjs/components/progress/Progress.d.ts +22 -6
- package/dist/cjs/components/progress/Progress.js +17 -42
- package/dist/cjs/components/progress/Progress.js.map +1 -1
- package/dist/cjs/components/progress/Progress.stories.d.ts +13 -3
- package/dist/cjs/components/progress/Progress.stories.js +7 -2
- package/dist/cjs/components/progress/Progress.stories.js.map +1 -1
- package/dist/cjs/components/pwaInstall/PwaInstall.d.ts +3 -3
- package/dist/cjs/components/pwaInstall/PwaInstall.js +6 -4
- package/dist/cjs/components/pwaInstall/PwaInstall.js.map +1 -1
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
- package/dist/cjs/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
- package/dist/cjs/components/scrollArea/ScrollArea.d.ts +23 -28
- package/dist/cjs/components/scrollArea/ScrollArea.js +26 -56
- package/dist/cjs/components/scrollArea/ScrollArea.js.map +1 -1
- package/dist/cjs/components/scrollArea/ScrollArea.stories.d.ts +13 -10
- package/dist/cjs/components/scrollArea/ScrollArea.stories.js +16 -12
- package/dist/cjs/components/scrollArea/ScrollArea.stories.js.map +1 -1
- package/dist/cjs/components/select/Select.d.ts +37 -46
- package/dist/cjs/components/select/Select.js +37 -83
- package/dist/cjs/components/select/Select.js.map +1 -1
- package/dist/cjs/components/select/Select.stories.d.ts +15 -11
- package/dist/cjs/components/select/Select.stories.js +23 -2
- package/dist/cjs/components/select/Select.stories.js.map +1 -1
- package/dist/cjs/components/slider/Slider.d.ts +36 -13
- package/dist/cjs/components/slider/Slider.js +26 -41
- package/dist/cjs/components/slider/Slider.js.map +1 -1
- package/dist/cjs/components/slider/Slider.stories.d.ts +16 -7
- package/dist/cjs/components/slider/Slider.stories.js +23 -10
- package/dist/cjs/components/slider/Slider.stories.js.map +1 -1
- package/dist/cjs/components/switch/Switch.d.ts +4 -4
- package/dist/cjs/components/switch/Switch.js +3 -3
- package/dist/cjs/components/switch/Switch.js.map +1 -1
- package/dist/cjs/components/switch/Switch.stories.d.ts +27 -0
- package/dist/cjs/components/switch/Switch.stories.js +24 -0
- package/dist/cjs/components/switch/Switch.stories.js.map +1 -0
- package/dist/cjs/components/tabs/tabs.d.ts +16 -12
- package/dist/cjs/components/tabs/tabs.js +12 -47
- package/dist/cjs/components/tabs/tabs.js.map +1 -1
- package/dist/cjs/components/tabs/tabs.stories.js +3 -3
- package/dist/cjs/components/tabs/tabs.stories.js.map +1 -1
- package/dist/cjs/components/textArea/TextArea.d.ts +4 -4
- package/dist/cjs/components/textArea/TextArea.js +6 -8
- package/dist/cjs/components/textArea/TextArea.js.map +1 -1
- package/dist/cjs/components/textArea/TextArea.stories.d.ts +1 -1
- package/dist/cjs/components/toggleGroup/toggleGroup.d.ts +5 -6
- package/dist/cjs/components/toggleGroup/toggleGroup.js +6 -38
- package/dist/cjs/components/toggleGroup/toggleGroup.js.map +1 -1
- package/dist/cjs/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
- package/dist/cjs/components/toggleGroup/toggleGroup.stories.js +21 -0
- package/dist/cjs/components/toggleGroup/toggleGroup.stories.js.map +1 -0
- package/dist/cjs/components/tooltip/Tooltip.d.ts +12 -9
- package/dist/cjs/components/tooltip/Tooltip.js +12 -43
- package/dist/cjs/components/tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/tooltip/Tooltip.stories.d.ts +2 -20
- package/dist/cjs/components/tooltip/Tooltip.stories.js +14 -5
- package/dist/cjs/components/tooltip/Tooltip.stories.js.map +1 -1
- package/dist/cjs/components/utility/ArrowSvg.d.ts +1 -0
- package/dist/cjs/components/utility/ArrowSvg.js +9 -0
- package/dist/cjs/components/utility/ArrowSvg.js.map +1 -0
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.js +3 -4
- package/dist/cjs/components/utility/HideWhileKeyboardOpen.js.map +1 -1
- package/dist/cjs/components/utility/SlotDiv.d.ts +3 -4
- package/dist/cjs/components/utility/SlotDiv.js +9 -7
- package/dist/cjs/components/utility/SlotDiv.js.map +1 -1
- package/dist/cjs/hooks/useTitleBarColor.stories.js +1 -1
- package/dist/cjs/hooks/useTitleBarColor.stories.js.map +1 -1
- package/dist/cjs/hooks/useVisualViewportOffset.js +31 -10
- package/dist/cjs/hooks/useVisualViewportOffset.js.map +1 -1
- package/dist/cjs/hooks/withClassName.d.ts +2 -2
- package/dist/cjs/hooks/withClassName.js.map +1 -1
- package/dist/cjs/themes.stories.js +2 -2
- package/dist/cjs/themes.stories.js.map +1 -1
- package/dist/cjs/uno/preflights/globals.js +29 -25
- package/dist/cjs/uno/preflights/globals.js.map +1 -1
- package/dist/cjs/uno/rules/util.js +18 -8
- package/dist/cjs/uno/rules/util.js.map +1 -1
- package/dist/cjs/uno/theme/animations.js +0 -74
- package/dist/cjs/uno/theme/animations.js.map +1 -1
- package/dist/css/main.css +9 -42
- package/dist/esm/components/actions/ActionBar.js +2 -2
- package/dist/esm/components/actions/ActionBar.js.map +1 -1
- package/dist/esm/components/actions/ActionButton.d.ts +3 -3
- package/dist/esm/components/actions/ActionButton.js +2 -2
- package/dist/esm/components/actions/ActionButton.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.d.ts +4 -2
- package/dist/esm/components/avatar/Avatar.js +4 -14
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/box/Box.stories.js +1 -1
- package/dist/esm/components/box/Box.stories.js.map +1 -1
- package/dist/esm/components/button/Button.d.ts +7 -7
- package/dist/esm/components/button/Button.js +7 -12
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/Button.stories.d.ts +1 -1
- package/dist/esm/components/button/ConfirmedButton.js +1 -2
- package/dist/esm/components/button/ConfirmedButton.js.map +1 -1
- package/dist/esm/components/camera/Camera.d.ts +4 -4
- package/dist/esm/components/camera/Camera.js +6 -7
- package/dist/esm/components/camera/Camera.js.map +1 -1
- package/dist/esm/components/card/Card.d.ts +8 -2
- package/dist/esm/components/card/Card.js +21 -9
- package/dist/esm/components/card/Card.js.map +1 -1
- package/dist/esm/components/card/Card.stories.js +3 -3
- package/dist/esm/components/card/Card.stories.js.map +1 -1
- package/dist/esm/components/checkbox/Checkbox.d.ts +3 -3
- package/dist/esm/components/checkbox/Checkbox.js +5 -5
- package/dist/esm/components/checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/chip/Chip.d.ts +3 -2
- package/dist/esm/components/chip/Chip.js +3 -4
- package/dist/esm/components/chip/Chip.js.map +1 -1
- package/dist/esm/components/chip/Chip.stories.d.ts +6 -1
- package/dist/esm/components/chip/Chip.stories.js +9 -3
- package/dist/esm/components/chip/Chip.stories.js.map +1 -1
- package/dist/esm/components/collapsible/Collapsible.d.ts +9 -9
- package/dist/esm/components/collapsible/Collapsible.js +15 -5
- package/dist/esm/components/collapsible/Collapsible.js.map +1 -1
- package/dist/esm/components/collapsible/Collapsible.stories.d.ts +1 -1
- package/dist/esm/components/colorMode/ColorModeToggle.d.ts +4 -2
- package/dist/esm/components/colorMode/ColorModeToggle.js +8 -9
- package/dist/esm/components/colorMode/ColorModeToggle.js.map +1 -1
- package/dist/esm/components/colorPicker/ColorPicker.d.ts +4 -3
- package/dist/esm/components/colorPicker/ColorPicker.js +9 -5
- package/dist/esm/components/colorPicker/ColorPicker.js.map +1 -1
- package/dist/esm/components/contextMenu/contextMenu.d.ts +11 -12
- package/dist/esm/components/contextMenu/contextMenu.js +9 -9
- package/dist/esm/components/contextMenu/contextMenu.js.map +1 -1
- package/dist/esm/components/contextMenu/contextMenu.stories.d.ts +22 -0
- package/dist/esm/components/contextMenu/contextMenu.stories.js +19 -0
- package/dist/esm/components/contextMenu/contextMenu.stories.js.map +1 -0
- package/dist/esm/components/dialog/Dialog.d.ts +27 -22
- package/dist/esm/components/dialog/Dialog.js +110 -49
- package/dist/esm/components/dialog/Dialog.js.map +1 -1
- package/dist/esm/components/dialog/Dialog.stories.d.ts +8 -8
- package/dist/esm/components/dialog/Dialog.stories.js +6 -6
- package/dist/esm/components/dialog/Dialog.stories.js.map +1 -1
- package/dist/esm/components/divider/Divider.js +2 -1
- package/dist/esm/components/divider/Divider.js.map +1 -1
- package/dist/esm/components/dropdownMenu/DropdownMenu.d.ts +26 -21
- package/dist/esm/components/dropdownMenu/DropdownMenu.js +22 -19
- package/dist/esm/components/dropdownMenu/DropdownMenu.js.map +1 -1
- package/dist/esm/components/dropdownMenu/DropdownMenu.stories.d.ts +3 -26
- package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js +5 -1
- package/dist/esm/components/dropdownMenu/DropdownMenu.stories.js.map +1 -1
- package/dist/esm/components/forms/EmojiField.d.ts +3 -2
- package/dist/esm/components/forms/EmojiField.js +1 -1
- package/dist/esm/components/forms/EmojiField.js.map +1 -1
- package/dist/esm/components/forms/FormikForm.d.ts +2 -2
- package/dist/esm/components/forms/FormikForm.stories.d.ts +2 -2
- package/dist/esm/components/forms/SubmitButton.d.ts +1 -1
- package/dist/esm/components/forms/SubmitButton.js +14 -2
- package/dist/esm/components/forms/SubmitButton.js.map +1 -1
- package/dist/esm/components/forms/TextField.js.map +1 -1
- package/dist/esm/components/forms/ToggleGroupField.d.ts +3 -2
- package/dist/esm/components/forms/ToggleGroupField.js +9 -2
- package/dist/esm/components/forms/ToggleGroupField.js.map +1 -1
- package/dist/esm/components/horizontalList/HorizontalList.d.ts +1 -3
- package/dist/esm/components/horizontalList/HorizontalList.js +4 -4
- package/dist/esm/components/horizontalList/HorizontalList.js.map +1 -1
- package/dist/esm/components/horizontalList/HorizontalList.stories.js +1 -1
- package/dist/esm/components/horizontalList/HorizontalList.stories.js.map +1 -1
- package/dist/esm/components/icon/Icon.d.ts +7 -3
- package/dist/esm/components/icon/Icon.js +14 -2
- package/dist/esm/components/icon/Icon.js.map +1 -1
- package/dist/esm/components/icon/Icon.stories.d.ts +28 -0
- package/dist/esm/components/icon/Icon.stories.js +31 -0
- package/dist/esm/components/icon/Icon.stories.js.map +1 -0
- package/dist/esm/components/imageUploader/ImageUploader.js +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/input/Input.d.ts +1 -2
- package/dist/esm/components/input/Input.js +4 -5
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.stories.d.ts +1 -1
- package/dist/esm/components/layouts/layouts.stories.js +4 -4
- package/dist/esm/components/layouts/layouts.stories.js.map +1 -1
- package/dist/esm/components/lightbox/Lightbox.d.ts +18 -16
- package/dist/esm/components/lightbox/Lightbox.js +6 -6
- package/dist/esm/components/lightbox/Lightbox.js.map +1 -1
- package/dist/esm/components/lightbox/Lightbox.stories.d.ts +9 -7
- package/dist/esm/components/marquee/marquee.stories.js +1 -1
- package/dist/esm/components/marquee/marquee.stories.js.map +1 -1
- package/dist/esm/components/navBar/NavBar.d.ts +9 -9
- package/dist/esm/components/navBar/NavBar.js +5 -7
- package/dist/esm/components/navBar/NavBar.js.map +1 -1
- package/dist/esm/components/popover/Popover.d.ts +19 -13
- package/dist/esm/components/popover/Popover.js +18 -13
- package/dist/esm/components/popover/Popover.js.map +1 -1
- package/dist/esm/components/popover/Popover.stories.d.ts +3 -23
- package/dist/esm/components/popover/Popover.stories.js +6 -1
- package/dist/esm/components/popover/Popover.stories.js.map +1 -1
- package/dist/esm/components/progress/Progress.d.ts +22 -6
- package/dist/esm/components/progress/Progress.js +16 -9
- package/dist/esm/components/progress/Progress.js.map +1 -1
- package/dist/esm/components/progress/Progress.stories.d.ts +13 -3
- package/dist/esm/components/progress/Progress.stories.js +6 -1
- package/dist/esm/components/progress/Progress.stories.js.map +1 -1
- package/dist/esm/components/pwaInstall/PwaInstall.d.ts +3 -3
- package/dist/esm/components/pwaInstall/PwaInstall.js +6 -4
- package/dist/esm/components/pwaInstall/PwaInstall.js.map +1 -1
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.d.ts +1 -2
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js +1 -1
- package/dist/esm/components/pwaInstall/PwaInstallTrigger.stories.js.map +1 -1
- package/dist/esm/components/scrollArea/ScrollArea.d.ts +23 -28
- package/dist/esm/components/scrollArea/ScrollArea.js +25 -21
- package/dist/esm/components/scrollArea/ScrollArea.js.map +1 -1
- package/dist/esm/components/scrollArea/ScrollArea.stories.d.ts +13 -10
- package/dist/esm/components/scrollArea/ScrollArea.stories.js +13 -12
- package/dist/esm/components/scrollArea/ScrollArea.stories.js.map +1 -1
- package/dist/esm/components/select/Select.d.ts +37 -46
- package/dist/esm/components/select/Select.js +32 -77
- package/dist/esm/components/select/Select.js.map +1 -1
- package/dist/esm/components/select/Select.stories.d.ts +15 -11
- package/dist/esm/components/select/Select.stories.js +22 -1
- package/dist/esm/components/select/Select.stories.js.map +1 -1
- package/dist/esm/components/slider/Slider.d.ts +36 -13
- package/dist/esm/components/slider/Slider.js +23 -7
- package/dist/esm/components/slider/Slider.js.map +1 -1
- package/dist/esm/components/slider/Slider.stories.d.ts +16 -7
- package/dist/esm/components/slider/Slider.stories.js +22 -9
- package/dist/esm/components/slider/Slider.stories.js.map +1 -1
- package/dist/esm/components/switch/Switch.d.ts +4 -4
- package/dist/esm/components/switch/Switch.js +3 -3
- package/dist/esm/components/switch/Switch.js.map +1 -1
- package/dist/esm/components/switch/Switch.stories.d.ts +27 -0
- package/dist/esm/components/switch/Switch.stories.js +21 -0
- package/dist/esm/components/switch/Switch.stories.js.map +1 -0
- package/dist/esm/components/tabs/tabs.d.ts +16 -12
- package/dist/esm/components/tabs/tabs.js +10 -12
- package/dist/esm/components/tabs/tabs.js.map +1 -1
- package/dist/esm/components/tabs/tabs.stories.js +3 -3
- package/dist/esm/components/tabs/tabs.stories.js.map +1 -1
- package/dist/esm/components/textArea/TextArea.d.ts +4 -4
- package/dist/esm/components/textArea/TextArea.js +7 -9
- package/dist/esm/components/textArea/TextArea.js.map +1 -1
- package/dist/esm/components/textArea/TextArea.stories.d.ts +1 -1
- package/dist/esm/components/toggleGroup/toggleGroup.d.ts +5 -6
- package/dist/esm/components/toggleGroup/toggleGroup.js +4 -3
- package/dist/esm/components/toggleGroup/toggleGroup.js.map +1 -1
- package/dist/esm/components/toggleGroup/toggleGroup.stories.d.ts +17 -0
- package/dist/esm/components/toggleGroup/toggleGroup.stories.js +18 -0
- package/dist/esm/components/toggleGroup/toggleGroup.stories.js.map +1 -0
- package/dist/esm/components/tooltip/Tooltip.d.ts +12 -9
- package/dist/esm/components/tooltip/Tooltip.js +11 -9
- package/dist/esm/components/tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/tooltip/Tooltip.stories.d.ts +2 -20
- package/dist/esm/components/tooltip/Tooltip.stories.js +14 -5
- package/dist/esm/components/tooltip/Tooltip.stories.js.map +1 -1
- package/dist/esm/components/utility/ArrowSvg.d.ts +1 -0
- package/dist/esm/components/utility/ArrowSvg.js +6 -0
- package/dist/esm/components/utility/ArrowSvg.js.map +1 -0
- package/dist/esm/components/utility/HideWhileKeyboardOpen.d.ts +1 -2
- package/dist/esm/components/utility/HideWhileKeyboardOpen.js +3 -4
- package/dist/esm/components/utility/HideWhileKeyboardOpen.js.map +1 -1
- package/dist/esm/components/utility/SlotDiv.d.ts +3 -4
- package/dist/esm/components/utility/SlotDiv.js +9 -7
- package/dist/esm/components/utility/SlotDiv.js.map +1 -1
- package/dist/esm/hooks/useTitleBarColor.stories.js +1 -1
- package/dist/esm/hooks/useTitleBarColor.stories.js.map +1 -1
- package/dist/esm/hooks/useVisualViewportOffset.js +31 -10
- package/dist/esm/hooks/useVisualViewportOffset.js.map +1 -1
- package/dist/esm/hooks/withClassName.d.ts +2 -2
- package/dist/esm/hooks/withClassName.js +2 -2
- package/dist/esm/hooks/withClassName.js.map +1 -1
- package/dist/esm/themes.stories.js +2 -2
- package/dist/esm/themes.stories.js.map +1 -1
- package/dist/esm/uno/preflights/globals.js +29 -25
- package/dist/esm/uno/preflights/globals.js.map +1 -1
- package/dist/esm/uno/rules/util.js +18 -8
- package/dist/esm/uno/rules/util.js.map +1 -1
- package/dist/esm/uno/theme/animations.js +0 -74
- package/dist/esm/uno/theme/animations.js.map +1 -1
- package/package.json +1 -21
- package/src/components/actions/ActionBar.tsx +13 -9
- package/src/components/actions/ActionButton.tsx +2 -4
- package/src/components/avatar/Avatar.tsx +24 -40
- package/src/components/box/Box.stories.tsx +1 -1
- package/src/components/button/Button.tsx +13 -21
- package/src/components/button/ConfirmedButton.tsx +3 -7
- package/src/components/camera/Camera.tsx +23 -21
- package/src/components/card/Card.stories.tsx +22 -15
- package/src/components/card/Card.tsx +57 -40
- package/src/components/checkbox/Checkbox.tsx +13 -9
- package/src/components/chip/Chip.stories.tsx +13 -6
- package/src/components/chip/Chip.tsx +6 -7
- package/src/components/collapsible/Collapsible.tsx +29 -18
- package/src/components/colorMode/ColorModeToggle.tsx +13 -12
- package/src/components/colorPicker/ColorPicker.tsx +33 -27
- package/src/components/contextMenu/contextMenu.stories.tsx +39 -0
- package/src/components/contextMenu/contextMenu.tsx +33 -32
- package/src/components/dialog/Dialog.stories.tsx +15 -37
- package/src/components/dialog/Dialog.tsx +219 -102
- package/src/components/divider/Divider.tsx +5 -1
- package/src/components/dropdownMenu/DropdownMenu.stories.tsx +63 -5
- package/src/components/dropdownMenu/DropdownMenu.tsx +86 -47
- package/src/components/forms/EmojiField.tsx +18 -15
- package/src/components/forms/SubmitButton.tsx +2 -2
- package/src/components/forms/TextField.tsx +2 -2
- package/src/components/forms/ToggleGroupField.tsx +9 -1
- package/src/components/horizontalList/HorizontalList.stories.tsx +2 -2
- package/src/components/horizontalList/HorizontalList.tsx +10 -18
- package/src/components/icon/Icon.stories.tsx +47 -0
- package/src/components/icon/Icon.tsx +30 -17
- package/src/components/imageUploader/ImageUploader.tsx +8 -9
- package/src/components/index.ts +1 -1
- package/src/components/input/Input.tsx +3 -7
- package/src/components/layouts/layouts.stories.tsx +10 -16
- package/src/components/lightbox/Lightbox.tsx +25 -13
- package/src/components/marquee/marquee.stories.tsx +5 -3
- package/src/components/navBar/NavBar.tsx +9 -17
- package/src/components/popover/Popover.stories.tsx +25 -7
- package/src/components/popover/Popover.tsx +90 -38
- package/src/components/progress/Progress.stories.tsx +15 -3
- package/src/components/progress/Progress.tsx +65 -11
- package/src/components/pwaInstall/PwaInstall.tsx +21 -22
- package/src/components/pwaInstall/PwaInstallTrigger.stories.tsx +5 -4
- package/src/components/pwaInstall/PwaInstallTrigger.tsx +1 -1
- package/src/components/scrollArea/ScrollArea.stories.tsx +86 -45
- package/src/components/scrollArea/ScrollArea.tsx +108 -96
- package/src/components/select/Select.stories.tsx +39 -10
- package/src/components/select/Select.tsx +158 -218
- package/src/components/slider/Slider.stories.tsx +40 -15
- package/src/components/slider/Slider.tsx +60 -30
- package/src/components/switch/Switch.stories.tsx +24 -0
- package/src/components/switch/Switch.tsx +9 -8
- package/src/components/tabs/tabs.stories.tsx +7 -13
- package/src/components/tabs/tabs.tsx +35 -28
- package/src/components/textArea/TextArea.tsx +17 -25
- package/src/components/toggleGroup/toggleGroup.stories.tsx +27 -0
- package/src/components/toggleGroup/toggleGroup.tsx +10 -8
- package/src/components/tooltip/Tooltip.stories.tsx +20 -10
- package/src/components/tooltip/Tooltip.tsx +72 -30
- package/src/components/utility/ArrowSvg.tsx +15 -0
- package/src/components/utility/HideWhileKeyboardOpen.tsx +3 -8
- package/src/components/utility/SlotDiv.tsx +10 -10
- package/src/hooks/useTitleBarColor.stories.tsx +1 -3
- package/src/hooks/useVisualViewportOffset.ts +34 -11
- package/src/hooks/withClassName.tsx +3 -3
- package/src/themes.stories.tsx +10 -20
- package/src/uno/preflights/globals.ts +25 -21
- package/src/uno/rules/util.ts +18 -8
- package/src/uno/theme/animations.ts +0 -74
|
@@ -64,9 +64,7 @@ export const Default: Story = {
|
|
|
64
64
|
args: {
|
|
65
65
|
children: (
|
|
66
66
|
<ParticleLayer noPortal>
|
|
67
|
-
<DialogTrigger
|
|
68
|
-
<Button>Open</Button>
|
|
69
|
-
</DialogTrigger>
|
|
67
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
70
68
|
<DummyContent />
|
|
71
69
|
<DialogContent>
|
|
72
70
|
<DialogTitle>Hello world</DialogTitle>
|
|
@@ -74,9 +72,8 @@ export const Default: Story = {
|
|
|
74
72
|
<DummyContent />
|
|
75
73
|
<DummyContent />
|
|
76
74
|
<DialogActions>
|
|
77
|
-
<DialogClose
|
|
78
|
-
|
|
79
|
-
</DialogClose>
|
|
75
|
+
<DialogClose />
|
|
76
|
+
<Button emphasis="primary">Accept</Button>
|
|
80
77
|
</DialogActions>
|
|
81
78
|
</DialogContent>
|
|
82
79
|
</ParticleLayer>
|
|
@@ -88,17 +85,13 @@ export const Small: Story = {
|
|
|
88
85
|
args: {
|
|
89
86
|
children: (
|
|
90
87
|
<ParticleLayer noPortal>
|
|
91
|
-
<DialogTrigger
|
|
92
|
-
<Button>Open</Button>
|
|
93
|
-
</DialogTrigger>
|
|
88
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
94
89
|
<DummyContent />
|
|
95
90
|
<DialogContent>
|
|
96
91
|
<DialogTitle>Hello world</DialogTitle>
|
|
97
92
|
<DummyContent />
|
|
98
93
|
<DialogActions>
|
|
99
|
-
<DialogClose
|
|
100
|
-
<Button>Close</Button>
|
|
101
|
-
</DialogClose>
|
|
94
|
+
<DialogClose />
|
|
102
95
|
</DialogActions>
|
|
103
96
|
</DialogContent>
|
|
104
97
|
</ParticleLayer>
|
|
@@ -110,16 +103,12 @@ export const NoSheet: Story = {
|
|
|
110
103
|
args: {
|
|
111
104
|
children: (
|
|
112
105
|
<ParticleLayer noPortal>
|
|
113
|
-
<DialogTrigger
|
|
114
|
-
<Button>Open</Button>
|
|
115
|
-
</DialogTrigger>
|
|
106
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
116
107
|
<DummyContent />
|
|
117
108
|
<DialogContent disableSheet>
|
|
118
109
|
<DialogTitle>Hello world</DialogTitle>
|
|
119
110
|
<DialogActions>
|
|
120
|
-
<DialogClose
|
|
121
|
-
<Button>Close</Button>
|
|
122
|
-
</DialogClose>
|
|
111
|
+
<DialogClose />
|
|
123
112
|
</DialogActions>
|
|
124
113
|
</DialogContent>
|
|
125
114
|
</ParticleLayer>
|
|
@@ -131,16 +120,12 @@ export const Positioned: Story = {
|
|
|
131
120
|
args: {
|
|
132
121
|
children: (
|
|
133
122
|
<ParticleLayer noPortal>
|
|
134
|
-
<DialogTrigger
|
|
135
|
-
<Button>Open</Button>
|
|
136
|
-
</DialogTrigger>
|
|
123
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
137
124
|
<DummyContent />
|
|
138
125
|
<DialogContent className="top-auto bottom-0px">
|
|
139
126
|
<DialogTitle>Hello world</DialogTitle>
|
|
140
127
|
<DialogActions>
|
|
141
|
-
<DialogClose
|
|
142
|
-
<Button>Close</Button>
|
|
143
|
-
</DialogClose>
|
|
128
|
+
<DialogClose />
|
|
144
129
|
</DialogActions>
|
|
145
130
|
</DialogContent>
|
|
146
131
|
</ParticleLayer>
|
|
@@ -166,17 +151,13 @@ export const VirtualKeyboard: Story = {
|
|
|
166
151
|
return (
|
|
167
152
|
<Provider virtualKeyboardBehavior="overlay">
|
|
168
153
|
<Dialog>
|
|
169
|
-
<DialogTrigger
|
|
170
|
-
<Button>Open</Button>
|
|
171
|
-
</DialogTrigger>
|
|
154
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
172
155
|
<DummyContent />
|
|
173
156
|
<DialogContent>
|
|
174
157
|
<DialogTitle>Hello world</DialogTitle>
|
|
175
158
|
<Input />
|
|
176
159
|
<DialogActions>
|
|
177
|
-
<DialogClose
|
|
178
|
-
<Button>Close</Button>
|
|
179
|
-
</DialogClose>
|
|
160
|
+
<DialogClose />
|
|
180
161
|
<Button onClick={() => setKeyboard((v) => !v)}>
|
|
181
162
|
Toggle fake kb
|
|
182
163
|
</Button>
|
|
@@ -193,26 +174,23 @@ export const MultiNested: Story = {
|
|
|
193
174
|
render() {
|
|
194
175
|
return (
|
|
195
176
|
<Dialog>
|
|
196
|
-
<DialogTrigger
|
|
197
|
-
<Button>Open</Button>
|
|
198
|
-
</DialogTrigger>
|
|
177
|
+
<DialogTrigger render={<Button />}>Open</DialogTrigger>
|
|
199
178
|
<DialogContent>
|
|
200
179
|
<DialogTitle>Hello world</DialogTitle>
|
|
201
180
|
<DummyContent />
|
|
202
181
|
<Select value="">
|
|
203
182
|
<Select.Trigger>
|
|
204
|
-
<Select.Value
|
|
183
|
+
<Select.Value />
|
|
205
184
|
</Select.Trigger>
|
|
206
185
|
<Select.Content>
|
|
186
|
+
<Select.Item value={null}>Select an option</Select.Item>
|
|
207
187
|
<Select.Item value="option1">Option 1</Select.Item>
|
|
208
188
|
<Select.Item value="option2">Option 2</Select.Item>
|
|
209
189
|
<Select.Item value="option3">Option 3</Select.Item>
|
|
210
190
|
</Select.Content>
|
|
211
191
|
</Select>
|
|
212
192
|
<Dialog>
|
|
213
|
-
<DialogTrigger
|
|
214
|
-
<Button>Open nested</Button>
|
|
215
|
-
</DialogTrigger>
|
|
193
|
+
<DialogTrigger render={<Button />}>Open nested</DialogTrigger>
|
|
216
194
|
<DialogContent>
|
|
217
195
|
<DialogTitle>Nested dialog</DialogTitle>
|
|
218
196
|
<Tooltip content="This is a tooltip">
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
Dialog as BaseDialog,
|
|
3
|
+
DialogCloseProps,
|
|
4
|
+
DialogPopupProps,
|
|
5
|
+
DialogRootProps,
|
|
6
|
+
DialogTriggerProps,
|
|
7
|
+
} from '@base-ui/react/dialog';
|
|
8
|
+
import { Radio as BaseRadio } from '@base-ui/react/radio';
|
|
9
|
+
import { RadioGroup as BaseRadioGroup } from '@base-ui/react/radio-group';
|
|
3
10
|
import { useDrag } from '@use-gesture/react';
|
|
4
|
-
import
|
|
11
|
+
import clsx from 'clsx';
|
|
5
12
|
import {
|
|
6
13
|
ComponentPropsWithoutRef,
|
|
7
|
-
ComponentPropsWithRef,
|
|
8
14
|
createContext,
|
|
15
|
+
Ref,
|
|
16
|
+
TouchEvent,
|
|
9
17
|
useCallback,
|
|
10
18
|
useContext,
|
|
11
19
|
useRef,
|
|
12
20
|
useState,
|
|
13
21
|
} from 'react';
|
|
22
|
+
import { withProps } from '../../hooks.js';
|
|
14
23
|
import { useMediaQuery } from '../../hooks/useMediaQuery.js';
|
|
15
24
|
import useMergedRef from '../../hooks/useMergedRef.js';
|
|
16
25
|
import { withClassName } from '../../hooks/withClassName.js';
|
|
@@ -19,42 +28,45 @@ import { Button } from '../button/index.js';
|
|
|
19
28
|
import { Icon } from '../icon/Icon.js';
|
|
20
29
|
import { useParticles } from '../particles/index.js';
|
|
21
30
|
import { useConfig } from '../provider/Provider.js';
|
|
31
|
+
import { ScrollArea } from '../scrollArea/ScrollArea.js';
|
|
22
32
|
import { selectTriggerClassName } from '../select/index.js';
|
|
23
33
|
|
|
24
34
|
const StyledOverlay = withClassName(
|
|
25
|
-
|
|
26
|
-
'layer-components:(fixed inset-0
|
|
27
|
-
'layer-components:[&[data-state=closed]]:animate-fade-out',
|
|
28
|
-
'motion-reduce:animate-none',
|
|
35
|
+
BaseDialog.Backdrop,
|
|
36
|
+
'layer-components:(fixed inset-0 bg-black/15 shadow-inset shadow-[0_30px_60px_0px] shadow-black/20 border-top-1 border-top-solid border-top-gray transition)',
|
|
29
37
|
'layer-components:backdrop-blur-sm',
|
|
38
|
+
'data-[starting-style]:(opacity-0)',
|
|
39
|
+
'data-[ending-style]:(opacity-0)',
|
|
30
40
|
);
|
|
31
41
|
|
|
32
42
|
const StyledContent = withClassName(
|
|
33
|
-
|
|
34
|
-
'layer-components:(
|
|
43
|
+
BaseDialog.Popup,
|
|
44
|
+
'layer-components:(fixed shadow-xl bg-white border border-gray border border-gray-dark transition pointer-events-auto overflow-hidden flex flex-col items-stretch)',
|
|
35
45
|
'layer-components:sm:shadow-down',
|
|
36
|
-
'transform-gpu
|
|
37
|
-
'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-w-450px max-h-85vh
|
|
38
|
-
|
|
39
|
-
'
|
|
46
|
+
'transform-gpu',
|
|
47
|
+
'layer-components:(left-50% top-50% translate-[-50%] w-90vw max-w-450px max-h-85vh rounded-lg border-b-1)',
|
|
48
|
+
|
|
49
|
+
'data-[starting-style]:layer-components:(opacity-0 scale-95)',
|
|
50
|
+
'data-[ending-style]:layer-components:(opacity-0 scale-95)',
|
|
40
51
|
);
|
|
41
|
-
const sheetClassNames =
|
|
42
|
-
'layer-variants:lt-sm:(translate-0 left-0 right-0 top-auto h-min-content rounded-tl-xl rounded-tr-xl rounded-b-0 border-b-0
|
|
43
|
-
'layer-variants:lt-sm:pb-[calc(
|
|
44
|
-
|
|
45
|
-
'layer-variants:lt-sm:
|
|
52
|
+
const sheetClassNames = clsx(
|
|
53
|
+
'layer-variants:lt-sm:(translate-0 left-0 right-0 top-auto h-min-content rounded-tl-xl rounded-tr-xl rounded-b-0 border-b-0 pt-lg w-screen max-w-none shadow-up)',
|
|
54
|
+
'layer-variants:lt-sm:pb-[calc(env(safe-area-inset-bottom,0px))]',
|
|
55
|
+
|
|
56
|
+
'data-[starting-style]:layer-variants:lt-sm:(opacity-0 translate-y-full)',
|
|
57
|
+
'data-[ending-style]:layer-variants:lt-sm:(opacity-0 translate-y-full)',
|
|
46
58
|
);
|
|
47
|
-
const sheetClassNameWithOverlayKeyboard =
|
|
48
|
-
'layer-variants:lt-sm:
|
|
59
|
+
const sheetClassNameWithOverlayKeyboard = clsx(
|
|
60
|
+
'layer-variants:lt-sm:bottom-[calc(var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px))+var(--gesture-y,0px))]',
|
|
61
|
+
'layer-variants:lt-sm:max-h-[calc(95vh-var(--mock-virtual-keyboard-height,env(keyboard-inset-height,0px)))]',
|
|
49
62
|
);
|
|
50
|
-
const sheetClassNameWithDisplaceKeyboard =
|
|
63
|
+
const sheetClassNameWithDisplaceKeyboard = clsx(
|
|
51
64
|
'layer-variants:lt-sm:(bottom-[calc(var(--viewport-bottom-offset,0px)+var(--gesture-y,0px))] max-h-[calc(0.85*var(--viewport-height,100vh))])',
|
|
52
65
|
);
|
|
53
66
|
|
|
54
67
|
function sheetCloseGestureLogic(
|
|
55
68
|
swipeY: number,
|
|
56
69
|
dy: number,
|
|
57
|
-
vy: number,
|
|
58
70
|
last: boolean,
|
|
59
71
|
close: () => void,
|
|
60
72
|
content: HTMLElement,
|
|
@@ -91,20 +103,24 @@ function filterScrollables(
|
|
|
91
103
|
cur &&
|
|
92
104
|
cur.scrollHeight > cur.clientHeight &&
|
|
93
105
|
cur.scrollTop !== 0 &&
|
|
94
|
-
vy
|
|
106
|
+
vy >= 0
|
|
95
107
|
)
|
|
96
108
|
return true;
|
|
97
109
|
}
|
|
98
110
|
return false;
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
export interface DialogContentProps
|
|
102
|
-
extends ComponentPropsWithRef<typeof DialogPrimitive.Content> {
|
|
113
|
+
export interface DialogContentProps extends DialogPopupProps {
|
|
103
114
|
width?: 'sm' | 'md' | 'lg';
|
|
104
115
|
disableSheet?: boolean;
|
|
116
|
+
disableDefaultClose?: boolean;
|
|
117
|
+
/** @deprecated */
|
|
105
118
|
outerClassName?: string;
|
|
119
|
+
ref?: Ref<HTMLDivElement>;
|
|
106
120
|
}
|
|
107
121
|
|
|
122
|
+
const SWIPE_VELOCITY_THRESHOLD = 1.5;
|
|
123
|
+
|
|
108
124
|
export const Content = function Content({
|
|
109
125
|
ref,
|
|
110
126
|
children,
|
|
@@ -112,16 +128,14 @@ export const Content = function Content({
|
|
|
112
128
|
outerClassName,
|
|
113
129
|
className,
|
|
114
130
|
disableSheet,
|
|
131
|
+
disableDefaultClose,
|
|
115
132
|
...props
|
|
116
133
|
}: DialogContentProps) {
|
|
117
134
|
const particles = useParticles();
|
|
118
135
|
const wasOpenRef = useRef(false);
|
|
119
136
|
const openRef = useCallback(
|
|
120
137
|
(element: HTMLDivElement | null) => {
|
|
121
|
-
if (
|
|
122
|
-
!wasOpenRef.current &&
|
|
123
|
-
element?.getAttribute('data-state') === 'open'
|
|
124
|
-
) {
|
|
138
|
+
if (!wasOpenRef.current && element?.hasAttribute('data-open')) {
|
|
125
139
|
wasOpenRef.current = true;
|
|
126
140
|
|
|
127
141
|
const matchesSmall =
|
|
@@ -159,58 +173,32 @@ export const Content = function Content({
|
|
|
159
173
|
}),
|
|
160
174
|
);
|
|
161
175
|
}, 180);
|
|
162
|
-
} else if (element?.
|
|
176
|
+
} else if (!element?.hasAttribute('data-open')) {
|
|
163
177
|
wasOpenRef.current = false;
|
|
164
178
|
}
|
|
165
179
|
},
|
|
166
180
|
[particles, disableSheet],
|
|
167
181
|
);
|
|
168
182
|
|
|
169
|
-
const gestureRef =
|
|
170
|
-
|
|
183
|
+
const { gestureRef, onTouchStart, onTouchMove, onTouchEnd } =
|
|
184
|
+
useDialogInherentSwipe({ disableSheet });
|
|
171
185
|
const finalRef = useMergedRef(ref, openRef, gestureRef);
|
|
172
186
|
|
|
173
187
|
const { virtualKeyboardBehavior } = useConfig();
|
|
174
188
|
|
|
175
|
-
const close = useContext(DialogCloseContext);
|
|
176
|
-
const isSmall = useMediaQuery('(max-width: 640px)');
|
|
177
|
-
const bind = useDrag(
|
|
178
|
-
({
|
|
179
|
-
swipe: [, swipeY],
|
|
180
|
-
movement: [, dy],
|
|
181
|
-
velocity: [, vy],
|
|
182
|
-
last,
|
|
183
|
-
active,
|
|
184
|
-
target,
|
|
185
|
-
}) => {
|
|
186
|
-
if (
|
|
187
|
-
filterScrollables(target as HTMLElement, gestureRef.current!, dy, vy)
|
|
188
|
-
) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
if (
|
|
192
|
-
(active || last) &&
|
|
193
|
-
gestureRef.current &&
|
|
194
|
-
gestureRef.current.scrollTop < 3
|
|
195
|
-
) {
|
|
196
|
-
sheetCloseGestureLogic(swipeY, dy, vy, last, close, gestureRef.current);
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
axis: 'y',
|
|
201
|
-
enabled: isSmall && !disableSheet,
|
|
202
|
-
},
|
|
203
|
-
);
|
|
204
|
-
|
|
205
189
|
return (
|
|
206
|
-
<
|
|
190
|
+
<BaseDialog.Portal>
|
|
207
191
|
<StyledOverlay />
|
|
208
192
|
<GroupScaleReset>
|
|
209
193
|
<StyledContent
|
|
210
194
|
data-dialog-content
|
|
211
|
-
{...bind(props)}
|
|
212
195
|
ref={finalRef}
|
|
213
|
-
|
|
196
|
+
{...props}
|
|
197
|
+
onTouchStart={onTouchStart}
|
|
198
|
+
onTouchMove={onTouchMove}
|
|
199
|
+
onTouchEnd={onTouchEnd}
|
|
200
|
+
onTouchCancel={onTouchEnd}
|
|
201
|
+
className={clsx(
|
|
214
202
|
{
|
|
215
203
|
'layer-variants:md:max-w-800px': width === 'lg',
|
|
216
204
|
'layer-variants:max-w-600px': width === 'md',
|
|
@@ -226,14 +214,111 @@ export const Content = function Content({
|
|
|
226
214
|
outerClassName || className,
|
|
227
215
|
)}
|
|
228
216
|
>
|
|
217
|
+
{!disableDefaultClose && <DialogDefaultClose />}
|
|
229
218
|
{!disableSheet && <DialogSwipeHandle />}
|
|
230
|
-
|
|
219
|
+
<ScrollArea className="w-full h-full">
|
|
220
|
+
<ScrollArea.Content className="p-md">{children}</ScrollArea.Content>
|
|
221
|
+
</ScrollArea>
|
|
231
222
|
</StyledContent>
|
|
232
223
|
</GroupScaleReset>
|
|
233
|
-
</
|
|
224
|
+
</BaseDialog.Portal>
|
|
234
225
|
);
|
|
235
226
|
};
|
|
236
227
|
|
|
228
|
+
function useDialogInherentSwipe({ disableSheet }: { disableSheet?: boolean }) {
|
|
229
|
+
const gestureRef = useRef<HTMLDivElement>(null);
|
|
230
|
+
|
|
231
|
+
const close = useContext(DialogCloseContext);
|
|
232
|
+
const isSmall = useMediaQuery('(max-width: 640px)');
|
|
233
|
+
|
|
234
|
+
const gestureState = useRef({
|
|
235
|
+
sy: 0,
|
|
236
|
+
dy: 0,
|
|
237
|
+
vy: 0,
|
|
238
|
+
active: false,
|
|
239
|
+
timeStamp: 0,
|
|
240
|
+
filtered: false,
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
const onTouchStart = useCallback(
|
|
244
|
+
(event: TouchEvent) => {
|
|
245
|
+
if (!isSmall || disableSheet) return;
|
|
246
|
+
const touch = event.touches[0];
|
|
247
|
+
gestureState.current.sy = touch.clientY;
|
|
248
|
+
gestureState.current.timeStamp = event.timeStamp;
|
|
249
|
+
},
|
|
250
|
+
[isSmall, disableSheet],
|
|
251
|
+
);
|
|
252
|
+
const onTouchMove = useCallback(
|
|
253
|
+
(event: TouchEvent) => {
|
|
254
|
+
if (!isSmall || disableSheet) return;
|
|
255
|
+
|
|
256
|
+
const touch = event.touches[0];
|
|
257
|
+
const dy = touch.clientY - gestureState.current.sy;
|
|
258
|
+
const vy =
|
|
259
|
+
(dy - gestureState.current.dy) /
|
|
260
|
+
(event.timeStamp -
|
|
261
|
+
(gestureState.current.timeStamp ?? event.timeStamp - 1));
|
|
262
|
+
|
|
263
|
+
gestureState.current.dy = dy;
|
|
264
|
+
gestureState.current.vy = vy;
|
|
265
|
+
|
|
266
|
+
if (
|
|
267
|
+
gestureState.current.filtered ||
|
|
268
|
+
filterScrollables(
|
|
269
|
+
event.target as HTMLElement,
|
|
270
|
+
gestureRef.current!,
|
|
271
|
+
dy,
|
|
272
|
+
vy,
|
|
273
|
+
)
|
|
274
|
+
) {
|
|
275
|
+
gestureState.current.filtered = true;
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
if (!gestureState.current.active) {
|
|
279
|
+
gestureState.current.active = true;
|
|
280
|
+
gestureState.current.sy = touch.clientY;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
if (gestureRef.current && gestureRef.current.scrollTop < 3) {
|
|
284
|
+
sheetCloseGestureLogic(
|
|
285
|
+
Math.abs(vy) > SWIPE_VELOCITY_THRESHOLD ? Math.sign(vy) : 0,
|
|
286
|
+
dy,
|
|
287
|
+
false,
|
|
288
|
+
close,
|
|
289
|
+
gestureRef.current,
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
gestureState.current.timeStamp = event.timeStamp;
|
|
294
|
+
},
|
|
295
|
+
[isSmall, disableSheet, close],
|
|
296
|
+
);
|
|
297
|
+
const onTouchEnd = useCallback(
|
|
298
|
+
(event: TouchEvent) => {
|
|
299
|
+
if (gestureState.current.active && gestureRef.current) {
|
|
300
|
+
const { vy, dy } = gestureState.current;
|
|
301
|
+
sheetCloseGestureLogic(
|
|
302
|
+
Math.abs(vy) > SWIPE_VELOCITY_THRESHOLD ? Math.sign(vy) : 0,
|
|
303
|
+
dy,
|
|
304
|
+
true,
|
|
305
|
+
close,
|
|
306
|
+
gestureRef.current,
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
gestureState.current.active = false;
|
|
310
|
+
gestureState.current.filtered = false;
|
|
311
|
+
gestureState.current.timeStamp = event.timeStamp;
|
|
312
|
+
gestureState.current.vy = 0;
|
|
313
|
+
gestureState.current.dy = 0;
|
|
314
|
+
gestureState.current.sy = 0;
|
|
315
|
+
},
|
|
316
|
+
[close],
|
|
317
|
+
);
|
|
318
|
+
|
|
319
|
+
return { gestureRef, onTouchStart, onTouchMove, onTouchEnd };
|
|
320
|
+
}
|
|
321
|
+
|
|
237
322
|
export const DialogSwipeHandle = function DialogSwipeHandle({
|
|
238
323
|
ref,
|
|
239
324
|
className,
|
|
@@ -247,7 +332,7 @@ export const DialogSwipeHandle = function DialogSwipeHandle({
|
|
|
247
332
|
({ swipe: [, swipeY], movement: [, dy], velocity: [, vy], last }) => {
|
|
248
333
|
const content = findParentDialogContent(innerRef.current);
|
|
249
334
|
if (!content) return;
|
|
250
|
-
sheetCloseGestureLogic(swipeY, dy,
|
|
335
|
+
sheetCloseGestureLogic(swipeY, dy, last, close, content);
|
|
251
336
|
},
|
|
252
337
|
{
|
|
253
338
|
target: innerRef,
|
|
@@ -259,7 +344,7 @@ export const DialogSwipeHandle = function DialogSwipeHandle({
|
|
|
259
344
|
<div
|
|
260
345
|
ref={finalRef}
|
|
261
346
|
{...props}
|
|
262
|
-
className={
|
|
347
|
+
className={clsx(
|
|
263
348
|
'layer-components:(absolute top-0 left-50% transform-gpu -translate-x-1/2 w-20% py-2 rounded-lg cursor-grab sm:hidden touch-none)',
|
|
264
349
|
className,
|
|
265
350
|
)}
|
|
@@ -279,69 +364,101 @@ function findParentDialogContent(
|
|
|
279
364
|
|
|
280
365
|
const DialogCloseContext = createContext<() => void>(() => {});
|
|
281
366
|
|
|
367
|
+
export const DialogDefaultClose = function DialogDefaultClose({
|
|
368
|
+
ref,
|
|
369
|
+
className,
|
|
370
|
+
...props
|
|
371
|
+
}: DialogCloseProps & {
|
|
372
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
373
|
+
}) {
|
|
374
|
+
return (
|
|
375
|
+
<DialogClose
|
|
376
|
+
className={clsx(
|
|
377
|
+
'absolute top-sm right-sm hidden sm:flex z-101',
|
|
378
|
+
className,
|
|
379
|
+
)}
|
|
380
|
+
aria-label="Close dialog"
|
|
381
|
+
ref={ref}
|
|
382
|
+
{...props}
|
|
383
|
+
render={<Button emphasis="ghost" size="small" />}
|
|
384
|
+
>
|
|
385
|
+
<Icon name="x" />
|
|
386
|
+
</DialogClose>
|
|
387
|
+
);
|
|
388
|
+
};
|
|
389
|
+
|
|
282
390
|
const StyledTitle = withClassName(
|
|
283
|
-
|
|
391
|
+
BaseDialog.Title,
|
|
284
392
|
'layer-components:(font-title color-black text-3xl mb-4 mt-0)',
|
|
285
393
|
);
|
|
286
394
|
|
|
287
395
|
const StyledDescription = withClassName(
|
|
288
|
-
|
|
396
|
+
BaseDialog.Description,
|
|
289
397
|
'layer-components:(mt-3 mb-6 color-gray-dark text-md leading-6)',
|
|
290
398
|
);
|
|
291
399
|
|
|
292
400
|
// Exports
|
|
293
|
-
const DialogRoot = (props:
|
|
294
|
-
const [innerOpen, innerOnOpenChange] = useState(props.defaultOpen);
|
|
401
|
+
const DialogRoot = (props: DialogRootProps) => {
|
|
402
|
+
const [innerOpen, innerOnOpenChange] = useState(props.defaultOpen || false);
|
|
295
403
|
const open = props.open ?? innerOpen;
|
|
296
|
-
const onOpenChange = useCallback
|
|
297
|
-
|
|
404
|
+
const onOpenChange = useCallback<
|
|
405
|
+
Exclude<DialogRootProps['onOpenChange'], undefined>
|
|
406
|
+
>(
|
|
407
|
+
(open, eventDetails) => {
|
|
298
408
|
innerOnOpenChange(open);
|
|
299
|
-
props.onOpenChange?.(open);
|
|
409
|
+
props.onOpenChange?.(open, eventDetails);
|
|
300
410
|
},
|
|
301
411
|
[props.onOpenChange],
|
|
302
412
|
);
|
|
303
413
|
|
|
304
414
|
const close = useCallback(() => {
|
|
305
|
-
onOpenChange(false
|
|
415
|
+
onOpenChange(false, {
|
|
416
|
+
allowPropagation() {},
|
|
417
|
+
cancel() {},
|
|
418
|
+
isCanceled: false,
|
|
419
|
+
event: null as any,
|
|
420
|
+
isPropagationAllowed: true,
|
|
421
|
+
preventUnmountOnClose() {},
|
|
422
|
+
reason: 'imperative-action',
|
|
423
|
+
trigger: undefined,
|
|
424
|
+
});
|
|
306
425
|
}, [onOpenChange]);
|
|
307
426
|
|
|
308
427
|
return (
|
|
309
428
|
<DialogCloseContext.Provider value={close}>
|
|
310
|
-
<
|
|
311
|
-
{...props}
|
|
312
|
-
open={open}
|
|
313
|
-
onOpenChange={onOpenChange}
|
|
314
|
-
/>
|
|
429
|
+
<BaseDialog.Root {...props} open={open} onOpenChange={onOpenChange} />
|
|
315
430
|
</DialogCloseContext.Provider>
|
|
316
431
|
);
|
|
317
432
|
};
|
|
318
433
|
|
|
319
|
-
export const DialogTrigger =
|
|
434
|
+
export const DialogTrigger = withProps(BaseDialog.Trigger, {
|
|
435
|
+
render: <Button />,
|
|
436
|
+
});
|
|
320
437
|
export const DialogContent = Content;
|
|
321
438
|
export const DialogTitle = StyledTitle;
|
|
322
439
|
export const DialogDescription = StyledDescription;
|
|
323
440
|
export const DialogClose = function DialogClose({
|
|
324
|
-
ref,
|
|
325
|
-
asChild,
|
|
326
441
|
children,
|
|
442
|
+
render,
|
|
327
443
|
...props
|
|
328
|
-
}:
|
|
444
|
+
}: DialogCloseProps & {
|
|
329
445
|
ref?: React.Ref<HTMLButtonElement>;
|
|
330
446
|
}) {
|
|
331
447
|
return (
|
|
332
|
-
<
|
|
333
|
-
{
|
|
334
|
-
|
|
448
|
+
<BaseDialog.Close
|
|
449
|
+
render={render ?? <Button emphasis="default" />}
|
|
450
|
+
{...props}
|
|
451
|
+
>
|
|
452
|
+
{children ?? 'Close'}
|
|
453
|
+
</BaseDialog.Close>
|
|
335
454
|
);
|
|
336
455
|
};
|
|
337
456
|
|
|
338
|
-
export type { DialogProps } from '@
|
|
457
|
+
export type { DialogRootProps as DialogProps } from '@base-ui/react/dialog';
|
|
339
458
|
|
|
340
459
|
export const DialogActions = withClassName(
|
|
341
460
|
'div',
|
|
342
|
-
'layer-components:(flex justify-end sticky
|
|
343
|
-
'layer-components:bottom--6',
|
|
344
|
-
'layer-components:sm:(bottom-0)',
|
|
461
|
+
'layer-components:(flex justify-end self-end sticky gap-sm items-center flex-wrap z-100 pb-1px mt-md bottom-md rounded-lg bg-white [--global-shadow-spread:1] shadow-md shadow-white shadow-up)',
|
|
345
462
|
);
|
|
346
463
|
|
|
347
464
|
export const DialogSelectTrigger = function DialogSelectTrigger({
|
|
@@ -349,27 +466,27 @@ export const DialogSelectTrigger = function DialogSelectTrigger({
|
|
|
349
466
|
children,
|
|
350
467
|
className,
|
|
351
468
|
...props
|
|
352
|
-
}:
|
|
469
|
+
}: DialogTriggerProps & {
|
|
353
470
|
ref?: React.Ref<HTMLButtonElement>;
|
|
354
471
|
}) {
|
|
355
472
|
return (
|
|
356
|
-
<
|
|
357
|
-
className={
|
|
473
|
+
<BaseDialog.Trigger
|
|
474
|
+
className={clsx(selectTriggerClassName, className)}
|
|
358
475
|
{...props}
|
|
359
476
|
>
|
|
360
477
|
<span>{children}</span>
|
|
361
478
|
<Icon name="chevron" />
|
|
362
|
-
</
|
|
479
|
+
</BaseDialog.Trigger>
|
|
363
480
|
);
|
|
364
481
|
};
|
|
365
482
|
|
|
366
483
|
export const DialogSelectList = withClassName(
|
|
367
|
-
|
|
484
|
+
BaseRadioGroup,
|
|
368
485
|
'layer-components:(flex flex-col gap-2 overflow-y-auto p-2)',
|
|
369
486
|
);
|
|
370
487
|
|
|
371
488
|
export const DialogSelectItemRoot = withClassName(
|
|
372
|
-
|
|
489
|
+
BaseRadio.Root,
|
|
373
490
|
'layer-components:(color-black flex items-center border-1 border-solid border-bg gap-3 w-full py-3 px-4 text-left border-none rounded-lg font-normal bg-gray-light cursor-pointer transition-all)',
|
|
374
491
|
'layer-components:[&[data-state=checked]]:(bg-main-wash color-main-ink border-color)',
|
|
375
492
|
);
|
|
@@ -386,9 +503,9 @@ export const DialogSelectItem = function DialogSelectItem({
|
|
|
386
503
|
<span className="flex-1 flex-row items-center gap-md min-h-18px">
|
|
387
504
|
{children}
|
|
388
505
|
</span>
|
|
389
|
-
<
|
|
506
|
+
<BaseRadio.Indicator className="flex-0-0-auto">
|
|
390
507
|
<Icon name="check" />
|
|
391
|
-
</
|
|
508
|
+
</BaseRadio.Indicator>
|
|
392
509
|
</DialogSelectItemRoot>
|
|
393
510
|
);
|
|
394
511
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { Separator as BaseSeparator } from '@base-ui/react/separator';
|
|
1
2
|
import classNames from 'clsx';
|
|
2
3
|
import { HTMLAttributes } from 'react';
|
|
3
4
|
import { withClassName } from '../../hooks/withClassName.js';
|
|
4
5
|
|
|
5
|
-
const DividerBase = withClassName(
|
|
6
|
+
const DividerBase = withClassName(
|
|
7
|
+
BaseSeparator,
|
|
8
|
+
'w-full h-1px bg-black relative',
|
|
9
|
+
);
|
|
6
10
|
|
|
7
11
|
export interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
12
|
compensate?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|