@seed-design/react 2.6.0 → 3.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/lib/components/Accordion/Accordion.cjs +2 -1
- package/lib/components/Accordion/Accordion.d.ts.map +1 -1
- package/lib/components/Accordion/Accordion.js +2 -1
- package/lib/components/ActionButton/ActionButton.cjs +1 -1
- package/lib/components/ActionButton/ActionButton.js +1 -1
- package/lib/components/AlertDialog/AlertDialog.cjs +34 -0
- package/lib/components/AlertDialog/AlertDialog.d.ts +51 -0
- package/lib/components/AlertDialog/AlertDialog.d.ts.map +1 -0
- package/lib/components/AlertDialog/AlertDialog.js +24 -0
- package/lib/components/AlertDialog/AlertDialog.namespace.cjs +22 -0
- package/lib/components/AlertDialog/AlertDialog.namespace.d.ts +2 -0
- package/lib/components/AlertDialog/AlertDialog.namespace.d.ts.map +1 -0
- package/lib/components/AlertDialog/AlertDialog.namespace.js +17 -0
- package/lib/components/AlertDialog/AlertDialog.test.d.ts +2 -0
- package/lib/components/AlertDialog/AlertDialog.test.d.ts.map +1 -0
- package/lib/components/AlertDialog/index.cjs +19 -0
- package/lib/components/AlertDialog/index.d.ts +3 -0
- package/lib/components/AlertDialog/index.d.ts.map +1 -0
- package/lib/components/AlertDialog/index.js +3 -0
- package/lib/components/AttachmentDisplay/AttachmentDisplay.cjs +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplay.js +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplayItem.cjs +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplayItem.d.ts.map +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplayItem.js +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.cjs +1 -1
- package/lib/components/AttachmentDisplay/AttachmentDisplayTrigger.js +1 -1
- package/lib/components/AttachmentDisplay/index.cjs +8 -0
- package/lib/components/AttachmentDisplay/index.d.ts +2 -0
- package/lib/components/AttachmentDisplay/index.d.ts.map +1 -1
- package/lib/components/AttachmentDisplay/index.js +2 -1
- package/lib/components/AttachmentInput/AttachmentInput.cjs +1 -1
- package/lib/components/AttachmentInput/AttachmentInput.js +1 -1
- package/lib/components/AttachmentInput/AttachmentInputDropzone.cjs +1 -1
- package/lib/components/AttachmentInput/AttachmentInputDropzone.js +1 -1
- package/lib/components/AttachmentInput/AttachmentInputItem.cjs +2 -2
- package/lib/components/AttachmentInput/AttachmentInputItem.d.ts.map +1 -1
- package/lib/components/AttachmentInput/AttachmentInputItem.js +2 -2
- package/lib/components/AttachmentInput/AttachmentInputTrigger.cjs +1 -1
- package/lib/components/AttachmentInput/AttachmentInputTrigger.js +1 -1
- package/lib/components/AttachmentInput/index.cjs +8 -0
- package/lib/components/AttachmentInput/index.d.ts +2 -0
- package/lib/components/AttachmentInput/index.d.ts.map +1 -1
- package/lib/components/AttachmentInput/index.js +2 -1
- package/lib/components/Badge/Badge.cjs +52 -10
- package/lib/components/Badge/Badge.d.ts +13 -4
- package/lib/components/Badge/Badge.d.ts.map +1 -1
- package/lib/components/Badge/Badge.js +49 -11
- package/lib/components/Badge/Badge.namespace.cjs +16 -0
- package/lib/components/Badge/Badge.namespace.d.ts +2 -0
- package/lib/components/Badge/Badge.namespace.d.ts.map +1 -0
- package/lib/components/Badge/Badge.namespace.js +11 -0
- package/lib/components/Badge/Badge.test.d.ts +2 -0
- package/lib/components/Badge/Badge.test.d.ts.map +1 -0
- package/lib/components/Badge/index.cjs +11 -1
- package/lib/components/Badge/index.d.ts +2 -1
- package/lib/components/Badge/index.d.ts.map +1 -1
- package/lib/components/Badge/index.js +3 -2
- package/lib/components/Checkbox/Checkbox.cjs +2 -2
- package/lib/components/Checkbox/Checkbox.d.ts +3 -1
- package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/lib/components/Checkbox/Checkbox.js +2 -2
- package/lib/components/Checkbox/Checkbox.namespace.d.ts +1 -1
- package/lib/components/Checkbox/Checkbox.namespace.d.ts.map +1 -1
- package/lib/components/Checkbox/index.d.ts +1 -1
- package/lib/components/Checkbox/index.d.ts.map +1 -1
- package/lib/components/Chip/Chip.cjs +13 -5
- package/lib/components/Chip/Chip.d.ts +13 -2
- package/lib/components/Chip/Chip.d.ts.map +1 -1
- package/lib/components/Chip/Chip.js +10 -5
- package/lib/components/Chip/Chip.namespace.cjs +5 -2
- package/lib/components/Chip/Chip.namespace.d.ts +1 -1
- package/lib/components/Chip/Chip.namespace.d.ts.map +1 -1
- package/lib/components/Chip/Chip.namespace.js +6 -3
- package/lib/components/Chip/index.cjs +4 -1
- package/lib/components/Chip/index.d.ts +1 -1
- package/lib/components/Chip/index.d.ts.map +1 -1
- package/lib/components/Chip/index.js +2 -2
- package/lib/components/ChipTabs/ChipTabs.cjs +1 -1
- package/lib/components/ChipTabs/ChipTabs.js +1 -1
- package/lib/components/DatePicker/DatePicker.cjs +192 -190
- package/lib/components/DatePicker/DatePicker.d.ts +50 -21
- package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/components/DatePicker/DatePicker.js +189 -187
- package/lib/components/DatePicker/DatePicker.namespace.cjs +16 -0
- package/lib/components/DatePicker/DatePicker.namespace.d.ts +2 -0
- package/lib/components/DatePicker/DatePicker.namespace.d.ts.map +1 -0
- package/lib/components/DatePicker/DatePicker.namespace.js +11 -0
- package/lib/components/DatePicker/index.cjs +11 -4
- package/lib/components/DatePicker/index.d.ts +3 -2
- package/lib/components/DatePicker/index.d.ts.map +1 -1
- package/lib/components/DatePicker/index.js +3 -2
- package/lib/components/Dialog/Dialog.cjs +84 -9
- package/lib/components/Dialog/Dialog.d.ts +21 -14
- package/lib/components/Dialog/Dialog.d.ts.map +1 -1
- package/lib/components/Dialog/Dialog.js +80 -9
- package/lib/components/Dialog/Dialog.namespace.cjs +2 -0
- package/lib/components/Dialog/Dialog.namespace.d.ts +1 -1
- package/lib/components/Dialog/Dialog.namespace.d.ts.map +1 -1
- package/lib/components/Dialog/Dialog.namespace.js +3 -1
- package/lib/components/Dialog/index.cjs +2 -0
- package/lib/components/Dialog/index.d.ts +1 -1
- package/lib/components/Dialog/index.d.ts.map +1 -1
- package/lib/components/Dialog/index.js +2 -2
- package/lib/components/HelpBubble/HelpBubble.cjs +18 -5
- package/lib/components/HelpBubble/HelpBubble.d.ts +5 -0
- package/lib/components/HelpBubble/HelpBubble.d.ts.map +1 -1
- package/lib/components/HelpBubble/HelpBubble.js +18 -5
- package/lib/components/HelpBubble/HelpBubble.test.d.ts +2 -0
- package/lib/components/HelpBubble/HelpBubble.test.d.ts.map +1 -0
- package/lib/components/ImageFrame/ImageFrame.cjs +5 -4
- package/lib/components/ImageFrame/ImageFrame.d.ts +2 -2
- package/lib/components/ImageFrame/ImageFrame.d.ts.map +1 -1
- package/lib/components/ImageFrame/ImageFrame.js +6 -5
- package/lib/components/List/List.cjs +14 -3
- package/lib/components/List/List.d.ts +15 -0
- package/lib/components/List/List.d.ts.map +1 -1
- package/lib/components/List/List.js +11 -4
- package/lib/components/List/List.namespace.cjs +4 -0
- package/lib/components/List/List.namespace.d.ts +1 -1
- package/lib/components/List/List.namespace.d.ts.map +1 -1
- package/lib/components/List/List.namespace.js +5 -1
- package/lib/components/List/index.cjs +4 -0
- package/lib/components/List/index.d.ts +1 -1
- package/lib/components/List/index.d.ts.map +1 -1
- package/lib/components/List/index.js +2 -2
- package/lib/components/Menu/Menu.cjs +3 -2
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.js +3 -2
- package/lib/components/MenuSheet/MenuSheet.cjs +4 -3
- package/lib/components/MenuSheet/MenuSheet.d.ts.map +1 -1
- package/lib/components/MenuSheet/MenuSheet.js +4 -3
- package/lib/components/NavigationMenu/NavigationMenu.cjs +4 -3
- package/lib/components/NavigationMenu/NavigationMenu.d.ts.map +1 -1
- package/lib/components/NavigationMenu/NavigationMenu.js +4 -3
- package/lib/components/PageBanner/PageBanner.cjs +3 -2
- package/lib/components/PageBanner/PageBanner.d.ts.map +1 -1
- package/lib/components/PageBanner/PageBanner.js +3 -2
- package/lib/components/{ContentDialog/ContentDialog.cjs → Popover/Popover.cjs} +61 -40
- package/lib/components/Popover/Popover.d.ts +69 -0
- package/lib/components/Popover/Popover.d.ts.map +1 -0
- package/lib/components/{ContentDialog/ContentDialog.js → Popover/Popover.js} +49 -29
- package/lib/components/Popover/Popover.namespace.cjs +26 -0
- package/lib/components/Popover/Popover.namespace.d.ts +2 -0
- package/lib/components/Popover/Popover.namespace.d.ts.map +1 -0
- package/lib/components/Popover/Popover.namespace.js +21 -0
- package/lib/components/Popover/Popover.test.d.ts +2 -0
- package/lib/components/Popover/Popover.test.d.ts.map +1 -0
- package/lib/components/Popover/index.cjs +23 -0
- package/lib/components/Popover/index.d.ts +3 -0
- package/lib/components/Popover/index.d.ts.map +1 -0
- package/lib/components/Popover/index.js +3 -0
- package/lib/components/QuantityPicker/QuantityPicker.d.ts.map +1 -1
- package/lib/components/RadioGroup/RadioGroup.cjs +2 -2
- package/lib/components/RadioGroup/RadioGroup.d.ts +2 -0
- package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/lib/components/RadioGroup/RadioGroup.js +2 -2
- package/lib/components/RadioGroup/RadioGroup.namespace.d.ts +1 -1
- package/lib/components/RadioGroup/RadioGroup.namespace.d.ts.map +1 -1
- package/lib/components/RadioGroup/index.d.ts +1 -1
- package/lib/components/RadioGroup/index.d.ts.map +1 -1
- package/lib/components/RadioGroupField/RadioGroupField.cjs +2 -2
- package/lib/components/RadioGroupField/RadioGroupField.d.ts +5 -1
- package/lib/components/RadioGroupField/RadioGroupField.d.ts.map +1 -1
- package/lib/components/RadioGroupField/RadioGroupField.js +2 -2
- package/lib/components/RadioGroupField/RadioGroupField.namespace.d.ts +1 -1
- package/lib/components/RadioGroupField/RadioGroupField.namespace.d.ts.map +1 -1
- package/lib/components/ReactionButton/ReactionButton.cjs +1 -1
- package/lib/components/ReactionButton/ReactionButton.js +1 -1
- package/lib/components/ResponsiveDialog/ResponsiveDialog.cjs +13 -13
- package/lib/components/ResponsiveDialog/ResponsiveDialog.d.ts +15 -15
- package/lib/components/ResponsiveDialog/ResponsiveDialog.d.ts.map +1 -1
- package/lib/components/ResponsiveDialog/ResponsiveDialog.js +13 -13
- package/lib/components/SegmentedControl/SegmentedControl.cjs +2 -1
- package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/lib/components/SegmentedControl/SegmentedControl.js +2 -1
- package/lib/components/Select/Select.cjs +5 -4
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/Select.js +5 -4
- package/lib/components/SelectBox/CheckSelectBox.cjs +20 -6
- package/lib/components/SelectBox/CheckSelectBox.d.ts +7 -0
- package/lib/components/SelectBox/CheckSelectBox.d.ts.map +1 -1
- package/lib/components/SelectBox/CheckSelectBox.js +21 -7
- package/lib/components/SelectBox/RadioSelectBox.cjs +20 -6
- package/lib/components/SelectBox/RadioSelectBox.d.ts +7 -0
- package/lib/components/SelectBox/RadioSelectBox.d.ts.map +1 -1
- package/lib/components/SelectBox/RadioSelectBox.js +21 -7
- package/lib/components/SelectBox/SelectBox.test.d.ts +2 -0
- package/lib/components/SelectBox/SelectBox.test.d.ts.map +1 -0
- package/lib/components/SideNavigation/SideNavigation.cjs +2 -2
- package/lib/components/SideNavigation/SideNavigation.js +2 -2
- package/lib/components/SideNavigation/index.cjs +8 -0
- package/lib/components/SideNavigation/index.d.ts +1 -0
- package/lib/components/SideNavigation/index.d.ts.map +1 -1
- package/lib/components/SideNavigation/index.js +2 -1
- package/lib/components/SidePanel/SidePanel.d.ts +0 -12
- package/lib/components/SidePanel/SidePanel.d.ts.map +1 -1
- package/lib/components/Slider/Slider.cjs +1 -1
- package/lib/components/Slider/Slider.js +1 -1
- package/lib/components/Snackbar/Snackbar.cjs +2 -2
- package/lib/components/Snackbar/Snackbar.js +2 -2
- package/lib/components/Snackbar/useSnackbarAdapter.cjs +1 -1
- package/lib/components/Snackbar/useSnackbarAdapter.js +1 -1
- package/lib/components/Stack/Stack.cjs +0 -12
- package/lib/components/Stack/Stack.d.ts +0 -8
- package/lib/components/Stack/Stack.d.ts.map +1 -1
- package/lib/components/Stack/Stack.js +1 -12
- package/lib/components/Stack/index.cjs +0 -1
- package/lib/components/Stack/index.d.ts +1 -1
- package/lib/components/Stack/index.d.ts.map +1 -1
- package/lib/components/Stack/index.js +2 -2
- package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.cjs +3 -2
- package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.d.ts.map +1 -1
- package/lib/components/SwipeableMenuSheet/SwipeableMenuSheet.js +3 -2
- package/lib/components/Switch/Switch.cjs +3 -3
- package/lib/components/Switch/Switch.d.ts +5 -1
- package/lib/components/Switch/Switch.d.ts.map +1 -1
- package/lib/components/Switch/Switch.js +3 -3
- package/lib/components/Switch/Switch.namespace.d.ts +1 -1
- package/lib/components/Switch/Switch.namespace.d.ts.map +1 -1
- package/lib/components/Switch/index.d.ts +1 -1
- package/lib/components/Switch/index.d.ts.map +1 -1
- package/lib/components/TagGroup/TagGroup.d.ts.map +1 -1
- package/lib/components/ToggleButton/ToggleButton.cjs +1 -1
- package/lib/components/ToggleButton/ToggleButton.js +1 -1
- package/lib/components/WheelPicker/WheelPicker.cjs +11 -12
- package/lib/components/WheelPicker/WheelPicker.d.ts +7 -2
- package/lib/components/WheelPicker/WheelPicker.d.ts.map +1 -1
- package/lib/components/WheelPicker/WheelPicker.js +11 -12
- package/lib/components/index.cjs +90 -94
- package/lib/components/index.d.ts +2 -12
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js +17 -24
- package/lib/index.cjs +116 -94
- package/lib/index.d.ts +4 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +20 -25
- package/lib/utils/withContentScale.cjs +30 -0
- package/lib/utils/withContentScale.d.ts +12 -0
- package/lib/utils/withContentScale.d.ts.map +1 -0
- package/lib/utils/withContentScale.js +27 -0
- package/lib/utils/withContentScale.test.d.ts +2 -0
- package/lib/utils/withContentScale.test.d.ts.map +1 -0
- package/package.json +9 -14
- package/src/components/Accordion/Accordion.tsx +3 -3
- package/src/components/AlertDialog/AlertDialog.namespace.ts +22 -0
- package/src/components/AlertDialog/AlertDialog.test.tsx +61 -0
- package/src/components/AlertDialog/AlertDialog.tsx +115 -0
- package/src/components/AlertDialog/index.ts +24 -0
- package/src/components/AttachmentDisplay/AttachmentDisplayItem.tsx +2 -0
- package/src/components/AttachmentDisplay/index.ts +10 -0
- package/src/components/AttachmentInput/AttachmentInputItem.tsx +2 -0
- package/src/components/AttachmentInput/index.ts +10 -0
- package/src/components/Badge/Badge.namespace.ts +10 -0
- package/src/components/Badge/Badge.test.tsx +56 -0
- package/src/components/Badge/Badge.tsx +82 -11
- package/src/components/Badge/index.ts +12 -1
- package/src/components/Checkbox/Checkbox.namespace.ts +1 -0
- package/src/components/Checkbox/Checkbox.tsx +3 -1
- package/src/components/Checkbox/index.ts +1 -0
- package/src/components/Chip/Chip.namespace.ts +8 -2
- package/src/components/Chip/Chip.tsx +34 -7
- package/src/components/Chip/index.ts +8 -2
- package/src/components/DatePicker/DatePicker.namespace.ts +14 -0
- package/src/components/DatePicker/DatePicker.test.tsx +85 -276
- package/src/components/DatePicker/DatePicker.tsx +327 -284
- package/src/components/DatePicker/index.ts +25 -21
- package/src/components/Dialog/Dialog.namespace.ts +4 -0
- package/src/components/Dialog/Dialog.tsx +128 -10
- package/src/components/Dialog/index.ts +4 -5
- package/src/components/HelpBubble/HelpBubble.test.tsx +111 -0
- package/src/components/HelpBubble/HelpBubble.tsx +19 -3
- package/src/components/ImageFrame/ImageFrame.tsx +12 -4
- package/src/components/List/List.namespace.ts +8 -0
- package/src/components/List/List.tsx +43 -3
- package/src/components/List/index.ts +8 -0
- package/src/components/Menu/Menu.tsx +4 -3
- package/src/components/MenuSheet/MenuSheet.tsx +20 -17
- package/src/components/NavigationMenu/NavigationMenu.tsx +20 -17
- package/src/components/PageBanner/PageBanner.tsx +6 -3
- package/src/components/Popover/Popover.namespace.ts +30 -0
- package/src/components/Popover/Popover.test.tsx +222 -0
- package/src/components/Popover/Popover.tsx +282 -0
- package/src/components/Popover/index.ts +32 -0
- package/src/components/QuantityPicker/QuantityPicker.tsx +2 -0
- package/src/components/RadioGroup/RadioGroup.namespace.ts +1 -0
- package/src/components/RadioGroup/RadioGroup.tsx +2 -0
- package/src/components/RadioGroup/index.ts +1 -0
- package/src/components/RadioGroupField/RadioGroupField.namespace.ts +1 -0
- package/src/components/RadioGroupField/RadioGroupField.tsx +5 -3
- package/src/components/ResponsiveDialog/ResponsiveDialog.tsx +45 -48
- package/src/components/SegmentedControl/SegmentedControl.tsx +3 -3
- package/src/components/Select/Select.tsx +7 -6
- package/src/components/SelectBox/CheckSelectBox.tsx +28 -10
- package/src/components/SelectBox/RadioSelectBox.tsx +28 -10
- package/src/components/SelectBox/SelectBox.test.tsx +138 -0
- package/src/components/SideNavigation/index.ts +5 -0
- package/src/components/SidePanel/SidePanel.tsx +1 -16
- package/src/components/Stack/Stack.tsx +0 -12
- package/src/components/Stack/index.ts +1 -8
- package/src/components/SwipeableMenuSheet/SwipeableMenuSheet.tsx +20 -18
- package/src/components/Switch/Switch.namespace.ts +1 -0
- package/src/components/Switch/Switch.tsx +6 -3
- package/src/components/Switch/index.ts +1 -0
- package/src/components/TagGroup/TagGroup.tsx +2 -0
- package/src/components/WheelPicker/WheelPicker.test.tsx +53 -44
- package/src/components/WheelPicker/WheelPicker.tsx +24 -21
- package/src/components/index.ts +2 -12
- package/src/index.ts +25 -2
- package/src/utils/withContentScale.test.tsx +88 -0
- package/src/utils/withContentScale.tsx +48 -0
- package/lib/components/ActionChip/ActionChip.cjs +0 -15
- package/lib/components/ActionChip/ActionChip.d.ts +0 -23
- package/lib/components/ActionChip/ActionChip.d.ts.map +0 -1
- package/lib/components/ActionChip/ActionChip.js +0 -14
- package/lib/components/ActionChip/index.cjs +0 -3
- package/lib/components/ActionChip/index.d.ts +0 -2
- package/lib/components/ActionChip/index.d.ts.map +0 -1
- package/lib/components/ActionChip/index.js +0 -2
- package/lib/components/ActionSheet/ActionSheet.cjs +0 -72
- package/lib/components/ActionSheet/ActionSheet.d.ts +0 -113
- package/lib/components/ActionSheet/ActionSheet.d.ts.map +0 -1
- package/lib/components/ActionSheet/ActionSheet.js +0 -61
- package/lib/components/ActionSheet/ActionSheet.namespace.cjs +0 -23
- package/lib/components/ActionSheet/ActionSheet.namespace.d.ts +0 -2
- package/lib/components/ActionSheet/ActionSheet.namespace.d.ts.map +0 -1
- package/lib/components/ActionSheet/ActionSheet.namespace.js +0 -18
- package/lib/components/ActionSheet/index.cjs +0 -20
- package/lib/components/ActionSheet/index.d.ts +0 -3
- package/lib/components/ActionSheet/index.d.ts.map +0 -1
- package/lib/components/ActionSheet/index.js +0 -3
- package/lib/components/Columns/Columns.cjs +0 -38
- package/lib/components/Columns/Columns.d.ts +0 -22
- package/lib/components/Columns/Columns.d.ts.map +0 -1
- package/lib/components/Columns/Columns.js +0 -35
- package/lib/components/Columns/index.cjs +0 -4
- package/lib/components/Columns/index.d.ts +0 -2
- package/lib/components/Columns/index.d.ts.map +0 -1
- package/lib/components/Columns/index.js +0 -2
- package/lib/components/ContentDialog/ContentDialog.d.ts +0 -50
- package/lib/components/ContentDialog/ContentDialog.d.ts.map +0 -1
- package/lib/components/ContentDialog/ContentDialog.namespace.cjs +0 -24
- package/lib/components/ContentDialog/ContentDialog.namespace.d.ts +0 -2
- package/lib/components/ContentDialog/ContentDialog.namespace.d.ts.map +0 -1
- package/lib/components/ContentDialog/ContentDialog.namespace.js +0 -19
- package/lib/components/ContentDialog/index.cjs +0 -21
- package/lib/components/ContentDialog/index.d.ts +0 -3
- package/lib/components/ContentDialog/index.d.ts.map +0 -1
- package/lib/components/ContentDialog/index.js +0 -3
- package/lib/components/ControlChip/ControlChip.cjs +0 -15
- package/lib/components/ControlChip/ControlChip.d.ts +0 -28
- package/lib/components/ControlChip/ControlChip.d.ts.map +0 -1
- package/lib/components/ControlChip/ControlChip.js +0 -14
- package/lib/components/ControlChip/index.cjs +0 -3
- package/lib/components/ControlChip/index.d.ts +0 -2
- package/lib/components/ControlChip/index.d.ts.map +0 -1
- package/lib/components/ControlChip/index.js +0 -2
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.cjs +0 -77
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.d.ts +0 -122
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.d.ts.map +0 -1
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.js +0 -65
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.cjs +0 -24
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.d.ts +0 -2
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.d.ts.map +0 -1
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.js +0 -19
- package/lib/components/ExtendedActionSheet/index.cjs +0 -21
- package/lib/components/ExtendedActionSheet/index.d.ts +0 -3
- package/lib/components/ExtendedActionSheet/index.d.ts.map +0 -1
- package/lib/components/ExtendedActionSheet/index.js +0 -3
- package/lib/components/ExtendedFab/ExtendedFab.cjs +0 -16
- package/lib/components/ExtendedFab/ExtendedFab.d.ts +0 -13
- package/lib/components/ExtendedFab/ExtendedFab.d.ts.map +0 -1
- package/lib/components/ExtendedFab/ExtendedFab.js +0 -15
- package/lib/components/ExtendedFab/index.cjs +0 -3
- package/lib/components/ExtendedFab/index.d.ts +0 -2
- package/lib/components/ExtendedFab/index.d.ts.map +0 -1
- package/lib/components/ExtendedFab/index.js +0 -2
- package/lib/components/Fab/Fab.cjs +0 -13
- package/lib/components/Fab/Fab.d.ts +0 -13
- package/lib/components/Fab/Fab.d.ts.map +0 -1
- package/lib/components/Fab/Fab.js +0 -12
- package/lib/components/Fab/index.cjs +0 -3
- package/lib/components/Fab/index.d.ts +0 -2
- package/lib/components/Fab/index.d.ts.map +0 -1
- package/lib/components/Fab/index.js +0 -2
- package/lib/components/Inline/Inline.cjs +0 -23
- package/lib/components/Inline/Inline.d.ts +0 -12
- package/lib/components/Inline/Inline.d.ts.map +0 -1
- package/lib/components/Inline/Inline.js +0 -21
- package/lib/components/Inline/index.cjs +0 -3
- package/lib/components/Inline/index.d.ts +0 -2
- package/lib/components/Inline/index.d.ts.map +0 -1
- package/lib/components/Inline/index.js +0 -2
- package/lib/components/InlineBanner/InlineBanner.cjs +0 -39
- package/lib/components/InlineBanner/InlineBanner.d.ts +0 -59
- package/lib/components/InlineBanner/InlineBanner.d.ts.map +0 -1
- package/lib/components/InlineBanner/InlineBanner.js +0 -33
- package/lib/components/InlineBanner/InlineBanner.namespace.cjs +0 -18
- package/lib/components/InlineBanner/InlineBanner.namespace.d.ts +0 -2
- package/lib/components/InlineBanner/InlineBanner.namespace.d.ts.map +0 -1
- package/lib/components/InlineBanner/InlineBanner.namespace.js +0 -13
- package/lib/components/InlineBanner/index.cjs +0 -15
- package/lib/components/InlineBanner/index.d.ts +0 -3
- package/lib/components/InlineBanner/index.d.ts.map +0 -1
- package/lib/components/InlineBanner/index.js +0 -3
- package/lib/components/LinkContent/LinkContent.cjs +0 -14
- package/lib/components/LinkContent/LinkContent.d.ts +0 -14
- package/lib/components/LinkContent/LinkContent.d.ts.map +0 -1
- package/lib/components/LinkContent/LinkContent.js +0 -13
- package/lib/components/LinkContent/index.cjs +0 -3
- package/lib/components/LinkContent/index.d.ts +0 -2
- package/lib/components/LinkContent/index.d.ts.map +0 -1
- package/lib/components/LinkContent/index.js +0 -2
- package/lib/components/TimePicker/TimePicker.cjs +0 -97
- package/lib/components/TimePicker/TimePicker.d.ts +0 -28
- package/lib/components/TimePicker/TimePicker.d.ts.map +0 -1
- package/lib/components/TimePicker/TimePicker.js +0 -94
- package/lib/components/TimePicker/TimePicker.test.d.ts +0 -2
- package/lib/components/TimePicker/TimePicker.test.d.ts.map +0 -1
- package/lib/components/TimePicker/index.cjs +0 -3
- package/lib/components/TimePicker/index.d.ts +0 -2
- package/lib/components/TimePicker/index.d.ts.map +0 -1
- package/lib/components/TimePicker/index.js +0 -2
- package/lib/components/private/WheelPicker.cjs +0 -63
- package/lib/components/private/WheelPicker.d.ts +0 -16
- package/lib/components/private/WheelPicker.d.ts.map +0 -1
- package/lib/components/private/WheelPicker.js +0 -59
- package/lib/components/private/WheelPicker.test.d.ts +0 -2
- package/lib/components/private/WheelPicker.test.d.ts.map +0 -1
- package/lib/primitive.cjs +0 -154
- package/lib/primitive.d.ts +0 -18
- package/lib/primitive.d.ts.map +0 -1
- package/lib/primitive.js +0 -17
- package/src/components/ActionChip/ActionChip.tsx +0 -34
- package/src/components/ActionChip/index.ts +0 -4
- package/src/components/ActionSheet/ActionSheet.namespace.ts +0 -24
- package/src/components/ActionSheet/ActionSheet.tsx +0 -192
- package/src/components/ActionSheet/index.ts +0 -26
- package/src/components/Columns/Columns.tsx +0 -50
- package/src/components/Columns/index.ts +0 -1
- package/src/components/ContentDialog/ContentDialog.namespace.ts +0 -26
- package/src/components/ContentDialog/ContentDialog.tsx +0 -224
- package/src/components/ContentDialog/index.ts +0 -33
- package/src/components/ControlChip/ControlChip.tsx +0 -38
- package/src/components/ControlChip/index.ts +0 -5
- package/src/components/ExtendedActionSheet/ExtendedActionSheet.namespace.ts +0 -26
- package/src/components/ExtendedActionSheet/ExtendedActionSheet.tsx +0 -220
- package/src/components/ExtendedActionSheet/index.ts +0 -28
- package/src/components/ExtendedFab/ExtendedFab.tsx +0 -25
- package/src/components/ExtendedFab/index.ts +0 -4
- package/src/components/Fab/Fab.tsx +0 -21
- package/src/components/Fab/index.ts +0 -4
- package/src/components/Inline/Inline.tsx +0 -25
- package/src/components/Inline/index.ts +0 -1
- package/src/components/InlineBanner/InlineBanner.namespace.ts +0 -14
- package/src/components/InlineBanner/InlineBanner.tsx +0 -103
- package/src/components/InlineBanner/index.ts +0 -16
- package/src/components/LinkContent/LinkContent.tsx +0 -23
- package/src/components/LinkContent/index.ts +0 -4
- package/src/components/TimePicker/TimePicker.test.tsx +0 -166
- package/src/components/TimePicker/TimePicker.tsx +0 -163
- package/src/components/TimePicker/index.ts +0 -6
- package/src/components/private/WheelPicker.test.tsx +0 -55
- package/src/components/private/WheelPicker.tsx +0 -110
- package/src/primitive.ts +0 -17
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
let clsx = require("clsx");
|
|
4
|
+
clsx = require_runtime.__toESM(clsx);
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_runtime.__toESM(react);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let _radix_ui_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
9
|
+
let _radix_ui_react_slot = require("@radix-ui/react-slot");
|
|
10
|
+
let _seed_design_react_scale_feedback = require("@seed-design/react-scale-feedback");
|
|
11
|
+
//#region src/utils/withContentScale.tsx
|
|
12
|
+
function withContentScale(Component) {
|
|
13
|
+
const Pressable = react.forwardRef(({ children, ...props }, ref) => {
|
|
14
|
+
const { scaleFeedbackRef, scaleFeedbackClassName } = (0, _seed_design_react_scale_feedback.useScaleFeedback)();
|
|
15
|
+
const composedRef = (0, _radix_ui_react_compose_refs.useComposedRefs)(scaleFeedbackRef, ref);
|
|
16
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
|
|
17
|
+
...props,
|
|
18
|
+
ref: composedRef,
|
|
19
|
+
className: (0, clsx.default)(scaleFeedbackClassName, props.className),
|
|
20
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_slot.Slottable, {
|
|
21
|
+
child: children,
|
|
22
|
+
children: (content) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_seed_design_react_scale_feedback.ContentScale, { children: content })
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
Pressable.displayName = Component.displayName;
|
|
27
|
+
return Pressable;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.withContentScale = withContentScale;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a component so its element opts into scale feedback and renders its
|
|
4
|
+
* children inside a `ContentScale` box, for slots whose recipe publishes
|
|
5
|
+
* `--seed-content-scale` instead of scaling the element itself.
|
|
6
|
+
*
|
|
7
|
+
* The children go through `Slottable`, so the box lands inside whichever element
|
|
8
|
+
* ends up rendered: the component's own element, or the `asChild` child, whose
|
|
9
|
+
* children are wrapped in its place.
|
|
10
|
+
*/
|
|
11
|
+
export declare function withContentScale<P>(Component: React.ForwardRefExoticComponent<P>): React.ForwardRefExoticComponent<P>;
|
|
12
|
+
//# sourceMappingURL=withContentScale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withContentScale.d.ts","sourceRoot":"","sources":["../../src/utils/withContentScale.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,SAAS,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAC5C,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import clsx$1 from "clsx";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
6
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
7
|
+
import { ContentScale, useScaleFeedback } from "@seed-design/react-scale-feedback";
|
|
8
|
+
//#region src/utils/withContentScale.tsx
|
|
9
|
+
function withContentScale(Component) {
|
|
10
|
+
const Pressable = React$1.forwardRef(({ children, ...props }, ref) => {
|
|
11
|
+
const { scaleFeedbackRef, scaleFeedbackClassName } = useScaleFeedback();
|
|
12
|
+
const composedRef = useComposedRefs(scaleFeedbackRef, ref);
|
|
13
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
14
|
+
...props,
|
|
15
|
+
ref: composedRef,
|
|
16
|
+
className: clsx$1(scaleFeedbackClassName, props.className),
|
|
17
|
+
children: /* @__PURE__ */ jsx(Slottable, {
|
|
18
|
+
child: children,
|
|
19
|
+
children: (content) => /* @__PURE__ */ jsx(ContentScale, { children: content })
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
Pressable.displayName = Component.displayName;
|
|
24
|
+
return Pressable;
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { withContentScale };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withContentScale.test.d.ts","sourceRoot":"","sources":["../../src/utils/withContentScale.test.tsx"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seed-design/react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/daangn/seed-design.git",
|
|
@@ -17,11 +17,6 @@
|
|
|
17
17
|
"import": "./lib/index.js",
|
|
18
18
|
"require": "./lib/index.cjs"
|
|
19
19
|
},
|
|
20
|
-
"./primitive": {
|
|
21
|
-
"types": "./lib/primitive.d.ts",
|
|
22
|
-
"import": "./lib/primitive.js",
|
|
23
|
-
"require": "./lib/primitive.cjs"
|
|
24
|
-
},
|
|
25
20
|
"./package.json": "./package.json"
|
|
26
21
|
},
|
|
27
22
|
"main": "./lib/index.cjs",
|
|
@@ -39,18 +34,17 @@
|
|
|
39
34
|
},
|
|
40
35
|
"dependencies": {
|
|
41
36
|
"@radix-ui/react-compose-refs": "^1.1.2",
|
|
42
|
-
"@radix-ui/react-slot": "^1.2.
|
|
37
|
+
"@radix-ui/react-slot": "^1.2.5",
|
|
43
38
|
"@radix-ui/react-use-controllable-state": "1.2.2",
|
|
44
39
|
"@radix-ui/react-use-layout-effect": "^1.1.1",
|
|
45
40
|
"@seed-design/dom-utils": "^2.1.0",
|
|
46
41
|
"@seed-design/react-accordion": "^1.0.1",
|
|
47
42
|
"@seed-design/react-attachment-display": "^1.0.1",
|
|
48
|
-
"@seed-design/react-avatar": "^2.0.1",
|
|
49
43
|
"@seed-design/react-checkbox": "^2.0.1",
|
|
50
44
|
"@seed-design/react-collapsible": "^1.0.1",
|
|
45
|
+
"@seed-design/react-date-picker": "^1.3.0",
|
|
51
46
|
"@seed-design/react-dialog": "^2.0.3",
|
|
52
|
-
"@seed-design/react-
|
|
53
|
-
"@seed-design/react-drawer": "^2.0.7",
|
|
47
|
+
"@seed-design/react-drawer": "^3.0.0",
|
|
54
48
|
"@seed-design/react-field": "^2.0.1",
|
|
55
49
|
"@seed-design/react-field-button": "^2.0.1",
|
|
56
50
|
"@seed-design/react-fieldset": "^1.0.1",
|
|
@@ -59,14 +53,15 @@
|
|
|
59
53
|
"@seed-design/react-menu": "^2.0.3",
|
|
60
54
|
"@seed-design/react-middle-truncate": "^1.0.1",
|
|
61
55
|
"@seed-design/react-navigation-menu": "^2.0.2",
|
|
62
|
-
"@seed-design/react-
|
|
56
|
+
"@seed-design/react-pagination": "^1.0.0",
|
|
57
|
+
"@seed-design/react-popover": "^3.0.0",
|
|
63
58
|
"@seed-design/react-portal": "^2.0.1",
|
|
64
|
-
"@seed-design/react-primitive": "^2.0.
|
|
59
|
+
"@seed-design/react-primitive": "^2.0.2",
|
|
65
60
|
"@seed-design/react-progress": "^2.0.1",
|
|
66
61
|
"@seed-design/react-pull-to-refresh": "^2.1.0",
|
|
67
62
|
"@seed-design/react-quantity-picker": "^1.0.0",
|
|
68
63
|
"@seed-design/react-radio-group": "^2.0.1",
|
|
69
|
-
"@seed-design/react-scale-feedback": "^
|
|
64
|
+
"@seed-design/react-scale-feedback": "^2.0.0",
|
|
70
65
|
"@seed-design/react-segmented-control": "^2.0.2",
|
|
71
66
|
"@seed-design/react-select": "^1.0.2",
|
|
72
67
|
"@seed-design/react-side-navigation": "^1.0.1",
|
|
@@ -83,7 +78,7 @@
|
|
|
83
78
|
"unicode-segmenter": "^0.17.3"
|
|
84
79
|
},
|
|
85
80
|
"peerDependencies": {
|
|
86
|
-
"@seed-design/css": "^
|
|
81
|
+
"@seed-design/css": "^3.0.0",
|
|
87
82
|
"react": ">=18.0.0",
|
|
88
83
|
"react-dom": ">=18.0.0"
|
|
89
84
|
},
|
|
@@ -9,6 +9,7 @@ import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
|
|
|
9
9
|
import type * as React from "react";
|
|
10
10
|
import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
|
|
11
11
|
import { createWithStateProps } from "../../utils/createWithStateProps";
|
|
12
|
+
import { withContentScale } from "../../utils/withContentScale";
|
|
12
13
|
|
|
13
14
|
const { withProvider, withContext } = createSlotRecipeContext(accordion);
|
|
14
15
|
const withStateProps = createWithStateProps([useAccordionItemContext]);
|
|
@@ -47,9 +48,8 @@ AccordionHeader.displayName = "AccordionHeader";
|
|
|
47
48
|
|
|
48
49
|
export interface AccordionTriggerProps extends AccordionPrimitive.TriggerProps {}
|
|
49
50
|
|
|
50
|
-
export const AccordionTrigger =
|
|
51
|
-
AccordionPrimitive.Trigger,
|
|
52
|
-
"trigger",
|
|
51
|
+
export const AccordionTrigger = withContentScale(
|
|
52
|
+
withContext<HTMLButtonElement, AccordionTriggerProps>(AccordionPrimitive.Trigger, "trigger"),
|
|
53
53
|
);
|
|
54
54
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
55
55
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export {
|
|
2
|
+
AlertDialogBackdrop as Backdrop,
|
|
3
|
+
AlertDialogPositioner as Positioner,
|
|
4
|
+
AlertDialogContent as Content,
|
|
5
|
+
AlertDialogDescription as Description,
|
|
6
|
+
AlertDialogFooter as Footer,
|
|
7
|
+
AlertDialogHeader as Header,
|
|
8
|
+
AlertDialogRoot as Root,
|
|
9
|
+
AlertDialogTitle as Title,
|
|
10
|
+
AlertDialogTrigger as Trigger,
|
|
11
|
+
AlertDialogAction as Action,
|
|
12
|
+
type AlertDialogBackdropProps as BackdropProps,
|
|
13
|
+
type AlertDialogPositionerProps as PositionerProps,
|
|
14
|
+
type AlertDialogContentProps as ContentProps,
|
|
15
|
+
type AlertDialogDescriptionProps as DescriptionProps,
|
|
16
|
+
type AlertDialogFooterProps as FooterProps,
|
|
17
|
+
type AlertDialogHeaderProps as HeaderProps,
|
|
18
|
+
type AlertDialogRootProps as RootProps,
|
|
19
|
+
type AlertDialogTitleProps as TitleProps,
|
|
20
|
+
type AlertDialogTriggerProps as TriggerProps,
|
|
21
|
+
type AlertDialogActionProps as ActionProps,
|
|
22
|
+
} from "./AlertDialog";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { act, render } from "@testing-library/react";
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { describe, expect, it, mock } from "bun:test";
|
|
4
|
+
import {
|
|
5
|
+
AlertDialogBackdrop,
|
|
6
|
+
AlertDialogContent,
|
|
7
|
+
AlertDialogPositioner,
|
|
8
|
+
AlertDialogRoot,
|
|
9
|
+
type AlertDialogRootProps,
|
|
10
|
+
AlertDialogTitle,
|
|
11
|
+
} from "./AlertDialog";
|
|
12
|
+
|
|
13
|
+
function renderAlertDialog(props: Omit<AlertDialogRootProps, "children">) {
|
|
14
|
+
return render(
|
|
15
|
+
<AlertDialogRoot defaultOpen {...props}>
|
|
16
|
+
<AlertDialogPositioner>
|
|
17
|
+
<AlertDialogBackdrop data-testid="backdrop" />
|
|
18
|
+
<AlertDialogContent>
|
|
19
|
+
<AlertDialogTitle>제목</AlertDialogTitle>
|
|
20
|
+
</AlertDialogContent>
|
|
21
|
+
</AlertDialogPositioner>
|
|
22
|
+
</AlertDialogRoot>,
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
describe("AlertDialog", () => {
|
|
27
|
+
it("기본 role로 alertdialog를 사용한다", () => {
|
|
28
|
+
renderAlertDialog({});
|
|
29
|
+
|
|
30
|
+
expect(document.querySelector('[role="alertdialog"]')).not.toBeNull();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("role을 명시하면 기본값 대신 사용한다", () => {
|
|
34
|
+
renderAlertDialog({ role: "dialog" });
|
|
35
|
+
|
|
36
|
+
expect(document.querySelector('[role="dialog"]')).not.toBeNull();
|
|
37
|
+
expect(document.querySelector('[role="alertdialog"]')).toBeNull();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it("기본적으로 바깥을 눌러도 닫히지 않는다", async () => {
|
|
41
|
+
const user = userEvent.setup({ pointerEventsCheck: 0 });
|
|
42
|
+
const onOpenChange = mock(() => {});
|
|
43
|
+
const { getByTestId } = renderAlertDialog({ onOpenChange });
|
|
44
|
+
|
|
45
|
+
await act(() => new Promise((resolve) => setTimeout(resolve, 10)));
|
|
46
|
+
await user.click(getByTestId("backdrop"));
|
|
47
|
+
|
|
48
|
+
expect(onOpenChange).not.toHaveBeenCalled();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("closeOnInteractOutside를 켜면 바깥을 눌렀을 때 닫힌다", async () => {
|
|
52
|
+
const user = userEvent.setup({ pointerEventsCheck: 0 });
|
|
53
|
+
const onOpenChange = mock(() => {});
|
|
54
|
+
const { getByTestId } = renderAlertDialog({ onOpenChange, closeOnInteractOutside: true });
|
|
55
|
+
|
|
56
|
+
await act(() => new Promise((resolve) => setTimeout(resolve, 10)));
|
|
57
|
+
await user.click(getByTestId("backdrop"));
|
|
58
|
+
|
|
59
|
+
expect(onOpenChange).toHaveBeenCalledTimes(1);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Dialog as DialogPrimitive } from "@seed-design/react-dialog";
|
|
2
|
+
import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
|
|
3
|
+
import { alertDialog, type AlertDialogVariantProps } from "@seed-design/css/recipes/alert-dialog";
|
|
4
|
+
import { createSlotRecipeContext } from "../../utils/createSlotRecipeContext";
|
|
5
|
+
|
|
6
|
+
const { withRootProvider, withContext } = createSlotRecipeContext(alertDialog);
|
|
7
|
+
|
|
8
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
9
|
+
|
|
10
|
+
export interface AlertDialogRootProps extends AlertDialogVariantProps, DialogPrimitive.RootProps {
|
|
11
|
+
/**
|
|
12
|
+
* @default "alertdialog"
|
|
13
|
+
*/
|
|
14
|
+
role?: DialogPrimitive.RootProps["role"];
|
|
15
|
+
/**
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
closeOnInteractOutside?: DialogPrimitive.RootProps["closeOnInteractOutside"];
|
|
19
|
+
/**
|
|
20
|
+
* @default true
|
|
21
|
+
*/
|
|
22
|
+
lazyMount?: DialogPrimitive.RootProps["lazyMount"];
|
|
23
|
+
/**
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
unmountOnExit?: DialogPrimitive.RootProps["unmountOnExit"];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const AlertDialogRoot = withRootProvider<AlertDialogRootProps>(DialogPrimitive.Root, {
|
|
30
|
+
defaultProps: {
|
|
31
|
+
role: "alertdialog",
|
|
32
|
+
closeOnInteractOutside: false,
|
|
33
|
+
lazyMount: true,
|
|
34
|
+
unmountOnExit: true,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
39
|
+
|
|
40
|
+
export interface AlertDialogTriggerProps extends DialogPrimitive.TriggerProps {}
|
|
41
|
+
|
|
42
|
+
export const AlertDialogTrigger = DialogPrimitive.Trigger;
|
|
43
|
+
|
|
44
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
45
|
+
|
|
46
|
+
export interface AlertDialogPositionerProps extends DialogPrimitive.PositionerProps {}
|
|
47
|
+
|
|
48
|
+
export const AlertDialogPositioner = withContext<HTMLDivElement, AlertDialogPositionerProps>(
|
|
49
|
+
DialogPrimitive.Positioner,
|
|
50
|
+
"positioner",
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
54
|
+
|
|
55
|
+
export interface AlertDialogBackdropProps extends DialogPrimitive.BackdropProps {}
|
|
56
|
+
|
|
57
|
+
export const AlertDialogBackdrop = withContext<HTMLDivElement, AlertDialogBackdropProps>(
|
|
58
|
+
DialogPrimitive.Backdrop,
|
|
59
|
+
"backdrop",
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
63
|
+
|
|
64
|
+
export interface AlertDialogContentProps extends DialogPrimitive.ContentProps {}
|
|
65
|
+
|
|
66
|
+
export const AlertDialogContent = withContext<HTMLDivElement, AlertDialogContentProps>(
|
|
67
|
+
DialogPrimitive.Content,
|
|
68
|
+
"content",
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
72
|
+
|
|
73
|
+
export interface AlertDialogHeaderProps
|
|
74
|
+
extends PrimitiveProps,
|
|
75
|
+
React.HTMLAttributes<HTMLDivElement> {}
|
|
76
|
+
|
|
77
|
+
export const AlertDialogHeader = withContext<HTMLDivElement, AlertDialogHeaderProps>(
|
|
78
|
+
Primitive.div,
|
|
79
|
+
"header",
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
83
|
+
|
|
84
|
+
export interface AlertDialogTitleProps extends DialogPrimitive.TitleProps {}
|
|
85
|
+
|
|
86
|
+
export const AlertDialogTitle = withContext<HTMLHeadingElement, AlertDialogTitleProps>(
|
|
87
|
+
DialogPrimitive.Title,
|
|
88
|
+
"title",
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
92
|
+
|
|
93
|
+
export interface AlertDialogDescriptionProps extends DialogPrimitive.DescriptionProps {}
|
|
94
|
+
|
|
95
|
+
export const AlertDialogDescription = withContext<
|
|
96
|
+
HTMLParagraphElement,
|
|
97
|
+
AlertDialogDescriptionProps
|
|
98
|
+
>(DialogPrimitive.Description, "description");
|
|
99
|
+
|
|
100
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
101
|
+
|
|
102
|
+
export interface AlertDialogFooterProps
|
|
103
|
+
extends PrimitiveProps,
|
|
104
|
+
React.HTMLAttributes<HTMLDivElement> {}
|
|
105
|
+
|
|
106
|
+
export const AlertDialogFooter = withContext<HTMLDivElement, AlertDialogFooterProps>(
|
|
107
|
+
Primitive.div,
|
|
108
|
+
"footer",
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
112
|
+
|
|
113
|
+
export interface AlertDialogActionProps extends DialogPrimitive.CloseButtonProps {}
|
|
114
|
+
|
|
115
|
+
export const AlertDialogAction = DialogPrimitive.CloseButton;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export {
|
|
2
|
+
AlertDialogBackdrop,
|
|
3
|
+
AlertDialogPositioner,
|
|
4
|
+
AlertDialogContent,
|
|
5
|
+
AlertDialogDescription,
|
|
6
|
+
AlertDialogFooter,
|
|
7
|
+
AlertDialogHeader,
|
|
8
|
+
AlertDialogRoot,
|
|
9
|
+
AlertDialogTitle,
|
|
10
|
+
AlertDialogTrigger,
|
|
11
|
+
AlertDialogAction,
|
|
12
|
+
type AlertDialogBackdropProps,
|
|
13
|
+
type AlertDialogPositionerProps,
|
|
14
|
+
type AlertDialogContentProps,
|
|
15
|
+
type AlertDialogDescriptionProps,
|
|
16
|
+
type AlertDialogFooterProps,
|
|
17
|
+
type AlertDialogHeaderProps,
|
|
18
|
+
type AlertDialogRootProps,
|
|
19
|
+
type AlertDialogTitleProps,
|
|
20
|
+
type AlertDialogTriggerProps,
|
|
21
|
+
type AlertDialogActionProps,
|
|
22
|
+
} from "./AlertDialog";
|
|
23
|
+
|
|
24
|
+
export * as AlertDialog from "./AlertDialog.namespace";
|
|
@@ -166,6 +166,8 @@ export const AttachmentDisplayItemBadge = React.forwardRef<
|
|
|
166
166
|
const classNames = useClassNames();
|
|
167
167
|
|
|
168
168
|
return (
|
|
169
|
+
// FIXME: `asChild` slots onto the label span below, not this element, so the caller's element
|
|
170
|
+
// lands inside the badge without its class or ref. Route `children` through `Slottable`.
|
|
169
171
|
<Primitive.div ref={ref} className={clsx(classNames.badge, className)} {...props}>
|
|
170
172
|
<Primitive.span className={classNames.badgeLabel}>{children}</Primitive.span>
|
|
171
173
|
</Primitive.div>
|
|
@@ -57,3 +57,13 @@ export {
|
|
|
57
57
|
} from "./AttachmentDisplayTrigger";
|
|
58
58
|
|
|
59
59
|
export * as AttachmentDisplay from "./AttachmentDisplay.namespace";
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
useAttachmentDisplayContext,
|
|
63
|
+
type UseAttachmentDisplayContext as AttachmentDisplayContextValue,
|
|
64
|
+
} from "@seed-design/react-attachment-display";
|
|
65
|
+
|
|
66
|
+
export type {
|
|
67
|
+
DisplayItemEntry as AttachmentDisplayItemEntry,
|
|
68
|
+
DisplayItemStatusDetails as AttachmentDisplayItemStatusDetails,
|
|
69
|
+
} from "@seed-design/react-attachment-display";
|
|
@@ -171,6 +171,8 @@ export const AttachmentInputItemBadge = React.forwardRef<
|
|
|
171
171
|
const classNames = useClassNames();
|
|
172
172
|
|
|
173
173
|
return (
|
|
174
|
+
// FIXME: `asChild` slots onto the label span below, not this element, so the caller's element
|
|
175
|
+
// lands inside the badge without its class or ref. Route `children` through `Slottable`.
|
|
174
176
|
<Primitive.div ref={ref} className={clsx(classNames.badge, className)} {...props}>
|
|
175
177
|
<Primitive.span className={classNames.badgeLabel}>{children}</Primitive.span>
|
|
176
178
|
</Primitive.div>
|
|
@@ -54,3 +54,13 @@ export {
|
|
|
54
54
|
} from "./AttachmentInputTrigger";
|
|
55
55
|
|
|
56
56
|
export * as AttachmentInput from "./AttachmentInput.namespace";
|
|
57
|
+
|
|
58
|
+
export {
|
|
59
|
+
useFileUploadContext as useAttachmentInputContext,
|
|
60
|
+
type UseFileUploadContext as AttachmentInputContextValue,
|
|
61
|
+
} from "@seed-design/react-file-upload";
|
|
62
|
+
|
|
63
|
+
export type {
|
|
64
|
+
FileEntry as AttachmentInputFileEntry,
|
|
65
|
+
FileStatusDetails as AttachmentInputFileStatusDetails,
|
|
66
|
+
} from "@seed-design/react-file-upload";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export {
|
|
2
|
+
BadgeRoot as Root,
|
|
3
|
+
BadgePrefix as Prefix,
|
|
4
|
+
BadgeLabel as Label,
|
|
5
|
+
BadgeAction as Action,
|
|
6
|
+
type BadgeRootProps as RootProps,
|
|
7
|
+
type BadgePrefixProps as PrefixProps,
|
|
8
|
+
type BadgeLabelProps as LabelProps,
|
|
9
|
+
type BadgeActionProps as ActionProps,
|
|
10
|
+
} from "./Badge";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { badge } from "@seed-design/css/recipes/badge";
|
|
2
|
+
import { SCALE_FEEDBACK_CLASS_NAME } from "@seed-design/css/scale-feedback";
|
|
3
|
+
import { render } from "@testing-library/react";
|
|
4
|
+
import { describe, expect, it } from "bun:test";
|
|
5
|
+
import { BadgeAction, BadgeLabel, BadgePrefix, BadgeRoot } from "./Badge";
|
|
6
|
+
|
|
7
|
+
describe("Badge", () => {
|
|
8
|
+
it("applies root and label classes", () => {
|
|
9
|
+
const classNames = badge();
|
|
10
|
+
const { container } = render(
|
|
11
|
+
<BadgeRoot>
|
|
12
|
+
<BadgeLabel>New</BadgeLabel>
|
|
13
|
+
</BadgeRoot>,
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
expect(container.firstElementChild).toHaveClass(classNames.root);
|
|
17
|
+
expect(container.querySelector("span span")).toHaveClass(classNames.label);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it("renders prefix without an action", () => {
|
|
21
|
+
const classNames = badge();
|
|
22
|
+
const { container } = render(
|
|
23
|
+
<BadgeRoot>
|
|
24
|
+
<BadgePrefix>New</BadgePrefix>
|
|
25
|
+
</BadgeRoot>,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
expect(container.querySelector("span span")).toHaveClass(classNames.prefix);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("renders action without a prefix", () => {
|
|
32
|
+
const classNames = badge();
|
|
33
|
+
const { getByRole } = render(
|
|
34
|
+
<BadgeRoot>
|
|
35
|
+
<BadgeAction aria-label="Dismiss" />
|
|
36
|
+
</BadgeRoot>,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const action = getByRole("button", { name: "Dismiss" });
|
|
40
|
+
expect(action).toHaveClass(classNames.action, SCALE_FEEDBACK_CLASS_NAME);
|
|
41
|
+
expect(action).toHaveAttribute("type", "button");
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("renders a prefix and action together", () => {
|
|
45
|
+
const classNames = badge();
|
|
46
|
+
const { getByRole, getByText } = render(
|
|
47
|
+
<BadgeRoot>
|
|
48
|
+
<BadgePrefix>New</BadgePrefix>
|
|
49
|
+
<BadgeAction aria-label="Details" />
|
|
50
|
+
</BadgeRoot>,
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
expect(getByText("New")).toHaveClass(classNames.prefix);
|
|
54
|
+
expect(getByRole("button", { name: "Details" })).toHaveClass(classNames.action);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -1,26 +1,97 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
4
|
+
import { badge, type BadgeSlotName, type BadgeVariantProps } from "@seed-design/css/recipes/badge";
|
|
1
5
|
import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
|
|
2
|
-
import {
|
|
3
|
-
import type * as React from "react";
|
|
4
|
-
import { forwardRef } from "react";
|
|
6
|
+
import { useScaleFeedback } from "@seed-design/react-scale-feedback";
|
|
5
7
|
import clsx from "clsx";
|
|
8
|
+
import * as React from "react";
|
|
9
|
+
|
|
10
|
+
type BadgeClassNames = Record<BadgeSlotName, string>;
|
|
11
|
+
|
|
12
|
+
interface BadgeSlotContextValue {
|
|
13
|
+
classNames: BadgeClassNames;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const BadgeSlotContext = React.createContext<BadgeSlotContextValue | null>(null);
|
|
17
|
+
|
|
18
|
+
function useBadgeSlotContext() {
|
|
19
|
+
const context = React.useContext(BadgeSlotContext);
|
|
20
|
+
|
|
21
|
+
if (!context) {
|
|
22
|
+
throw new Error("Badge slots must be rendered within Badge.Root.");
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return context;
|
|
26
|
+
}
|
|
6
27
|
|
|
7
28
|
////////////////////////////////////////////////////////////////////////////////////
|
|
8
29
|
|
|
9
|
-
export interface
|
|
30
|
+
export interface BadgeRootProps
|
|
10
31
|
extends BadgeVariantProps,
|
|
11
32
|
PrimitiveProps,
|
|
12
33
|
React.HTMLAttributes<HTMLSpanElement> {}
|
|
13
34
|
|
|
14
|
-
export const
|
|
15
|
-
({ className,
|
|
35
|
+
export const BadgeRoot = React.forwardRef<HTMLSpanElement, BadgeRootProps>(
|
|
36
|
+
({ className, ...props }, ref) => {
|
|
16
37
|
const [variantProps, restProps] = badge.splitVariantProps(props);
|
|
17
|
-
const
|
|
38
|
+
const classNames = badge(variantProps);
|
|
39
|
+
const contextValue: BadgeSlotContextValue = { classNames };
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<BadgeSlotContext.Provider value={contextValue}>
|
|
43
|
+
<Primitive.span ref={ref} className={clsx(classNames.root, className)} {...restProps} />
|
|
44
|
+
</BadgeSlotContext.Provider>
|
|
45
|
+
);
|
|
46
|
+
},
|
|
47
|
+
);
|
|
48
|
+
BadgeRoot.displayName = "Badge.Root";
|
|
49
|
+
|
|
50
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
51
|
+
|
|
52
|
+
export interface BadgePrefixProps extends PrimitiveProps, React.HTMLAttributes<HTMLSpanElement> {}
|
|
53
|
+
|
|
54
|
+
export const BadgePrefix = React.forwardRef<HTMLSpanElement, BadgePrefixProps>(
|
|
55
|
+
({ className, ...props }, ref) => {
|
|
56
|
+
const { classNames } = useBadgeSlotContext();
|
|
57
|
+
|
|
58
|
+
return <Primitive.span ref={ref} className={clsx(classNames.prefix, className)} {...props} />;
|
|
59
|
+
},
|
|
60
|
+
);
|
|
61
|
+
BadgePrefix.displayName = "Badge.Prefix";
|
|
62
|
+
|
|
63
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
64
|
+
|
|
65
|
+
export interface BadgeLabelProps extends PrimitiveProps, React.HTMLAttributes<HTMLSpanElement> {}
|
|
66
|
+
|
|
67
|
+
export const BadgeLabel = React.forwardRef<HTMLSpanElement, BadgeLabelProps>(
|
|
68
|
+
({ className, ...props }, ref) => {
|
|
69
|
+
const { classNames } = useBadgeSlotContext();
|
|
70
|
+
|
|
71
|
+
return <Primitive.span ref={ref} className={clsx(classNames.label, className)} {...props} />;
|
|
72
|
+
},
|
|
73
|
+
);
|
|
74
|
+
BadgeLabel.displayName = "Badge.Label";
|
|
75
|
+
|
|
76
|
+
////////////////////////////////////////////////////////////////////////////////////
|
|
77
|
+
|
|
78
|
+
export interface BadgeActionProps
|
|
79
|
+
extends PrimitiveProps,
|
|
80
|
+
React.ButtonHTMLAttributes<HTMLButtonElement> {}
|
|
81
|
+
|
|
82
|
+
export const BadgeAction = React.forwardRef<HTMLButtonElement, BadgeActionProps>(
|
|
83
|
+
({ className, ...props }, ref) => {
|
|
84
|
+
const { classNames } = useBadgeSlotContext();
|
|
85
|
+
const { scaleFeedbackRef, scaleFeedbackClassName } = useScaleFeedback();
|
|
18
86
|
|
|
19
87
|
return (
|
|
20
|
-
<Primitive.
|
|
21
|
-
|
|
22
|
-
|
|
88
|
+
<Primitive.button
|
|
89
|
+
ref={useComposedRefs(scaleFeedbackRef, ref)}
|
|
90
|
+
type="button"
|
|
91
|
+
className={clsx(classNames.action, scaleFeedbackClassName, className)}
|
|
92
|
+
{...props}
|
|
93
|
+
/>
|
|
23
94
|
);
|
|
24
95
|
},
|
|
25
96
|
);
|
|
26
|
-
|
|
97
|
+
BadgeAction.displayName = "Badge.Action";
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {
|
|
2
|
+
BadgeRoot,
|
|
3
|
+
BadgePrefix,
|
|
4
|
+
BadgeLabel,
|
|
5
|
+
BadgeAction,
|
|
6
|
+
type BadgeRootProps,
|
|
7
|
+
type BadgePrefixProps,
|
|
8
|
+
type BadgeLabelProps,
|
|
9
|
+
type BadgeActionProps,
|
|
10
|
+
} from "./Badge";
|
|
11
|
+
|
|
12
|
+
export * as Badge from "./Badge.namespace";
|