@seed-design/react 0.0.0-alpha-20260324091316
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/README.md +6 -0
- package/lib/components/ActionButton/ActionButton.cjs +74 -0
- package/lib/components/ActionButton/ActionButton.d.ts +22 -0
- package/lib/components/ActionButton/ActionButton.d.ts.map +1 -0
- package/lib/components/ActionButton/ActionButton.js +51 -0
- package/lib/components/ActionButton/index.cjs +9 -0
- package/lib/components/ActionButton/index.d.ts +2 -0
- package/lib/components/ActionButton/index.d.ts.map +1 -0
- package/lib/components/ActionButton/index.js +1 -0
- package/lib/components/ActionChip/ActionChip.cjs +18 -0
- package/lib/components/ActionChip/ActionChip.d.ts +23 -0
- package/lib/components/ActionChip/ActionChip.d.ts.map +1 -0
- package/lib/components/ActionChip/ActionChip.js +14 -0
- package/lib/components/ActionChip/index.cjs +9 -0
- package/lib/components/ActionChip/index.d.ts +2 -0
- package/lib/components/ActionChip/index.d.ts.map +1 -0
- package/lib/components/ActionChip/index.js +1 -0
- package/lib/components/ActionSheet/ActionSheet.cjs +67 -0
- package/lib/components/ActionSheet/ActionSheet.d.ts +113 -0
- package/lib/components/ActionSheet/ActionSheet.d.ts.map +1 -0
- package/lib/components/ActionSheet/ActionSheet.js +53 -0
- package/lib/components/ActionSheet/ActionSheet.namespace.cjs +19 -0
- package/lib/components/ActionSheet/ActionSheet.namespace.d.ts +2 -0
- package/lib/components/ActionSheet/ActionSheet.namespace.d.ts.map +1 -0
- package/lib/components/ActionSheet/ActionSheet.namespace.js +1 -0
- package/lib/components/ActionSheet/index.cjs +21 -0
- package/lib/components/ActionSheet/index.d.ts +3 -0
- package/lib/components/ActionSheet/index.d.ts.map +1 -0
- package/lib/components/ActionSheet/index.js +3 -0
- package/lib/components/Article/Article.cjs +45 -0
- package/lib/components/Article/Article.d.ts +6 -0
- package/lib/components/Article/Article.d.ts.map +1 -0
- package/lib/components/Article/Article.js +22 -0
- package/lib/components/Article/index.cjs +9 -0
- package/lib/components/Article/index.d.ts +2 -0
- package/lib/components/Article/index.d.ts.map +1 -0
- package/lib/components/Article/index.js +1 -0
- package/lib/components/AspectRatio/AspectRatio.cjs +56 -0
- package/lib/components/AspectRatio/AspectRatio.d.ts +23 -0
- package/lib/components/AspectRatio/AspectRatio.d.ts.map +1 -0
- package/lib/components/AspectRatio/AspectRatio.js +33 -0
- package/lib/components/AspectRatio/index.cjs +9 -0
- package/lib/components/AspectRatio/index.d.ts +2 -0
- package/lib/components/AspectRatio/index.d.ts.map +1 -0
- package/lib/components/AspectRatio/index.js +1 -0
- package/lib/components/Avatar/Avatar.cjs +57 -0
- package/lib/components/Avatar/Avatar.d.ts +21 -0
- package/lib/components/Avatar/Avatar.d.ts.map +1 -0
- package/lib/components/Avatar/Avatar.js +31 -0
- package/lib/components/Avatar/Avatar.namespace.cjs +13 -0
- package/lib/components/Avatar/Avatar.namespace.d.ts +2 -0
- package/lib/components/Avatar/Avatar.namespace.d.ts.map +1 -0
- package/lib/components/Avatar/Avatar.namespace.js +1 -0
- package/lib/components/Avatar/index.cjs +15 -0
- package/lib/components/Avatar/index.d.ts +3 -0
- package/lib/components/Avatar/index.d.ts.map +1 -0
- package/lib/components/Avatar/index.js +3 -0
- package/lib/components/Badge/Badge.cjs +21 -0
- package/lib/components/Badge/Badge.d.ts +7 -0
- package/lib/components/Badge/Badge.d.ts.map +1 -0
- package/lib/components/Badge/Badge.js +17 -0
- package/lib/components/Badge/index.cjs +9 -0
- package/lib/components/Badge/index.d.ts +2 -0
- package/lib/components/Badge/index.d.ts.map +1 -0
- package/lib/components/Badge/index.js +1 -0
- package/lib/components/BottomSheet/BottomSheet.cjs +70 -0
- package/lib/components/BottomSheet/BottomSheet.d.ts +40 -0
- package/lib/components/BottomSheet/BottomSheet.d.ts.map +1 -0
- package/lib/components/BottomSheet/BottomSheet.js +56 -0
- package/lib/components/BottomSheet/BottomSheet.namespace.cjs +21 -0
- package/lib/components/BottomSheet/BottomSheet.namespace.d.ts +3 -0
- package/lib/components/BottomSheet/BottomSheet.namespace.d.ts.map +1 -0
- package/lib/components/BottomSheet/BottomSheet.namespace.js +2 -0
- package/lib/components/BottomSheet/index.cjs +21 -0
- package/lib/components/BottomSheet/index.d.ts +3 -0
- package/lib/components/BottomSheet/index.d.ts.map +1 -0
- package/lib/components/BottomSheet/index.js +3 -0
- package/lib/components/BottomSheetHandle/BottomSheetHandle.cjs +21 -0
- package/lib/components/BottomSheetHandle/BottomSheetHandle.d.ts +6 -0
- package/lib/components/BottomSheetHandle/BottomSheetHandle.d.ts.map +1 -0
- package/lib/components/BottomSheetHandle/BottomSheetHandle.js +17 -0
- package/lib/components/BottomSheetHandle/index.cjs +9 -0
- package/lib/components/BottomSheetHandle/index.d.ts +2 -0
- package/lib/components/BottomSheetHandle/index.d.ts.map +1 -0
- package/lib/components/BottomSheetHandle/index.js +1 -0
- package/lib/components/Box/Box.cjs +63 -0
- package/lib/components/Box/Box.d.ts +10 -0
- package/lib/components/Box/Box.d.ts.map +1 -0
- package/lib/components/Box/Box.js +40 -0
- package/lib/components/Box/index.cjs +9 -0
- package/lib/components/Box/index.d.ts +2 -0
- package/lib/components/Box/index.d.ts.map +1 -0
- package/lib/components/Box/index.js +1 -0
- package/lib/components/Callout/Callout.cjs +39 -0
- package/lib/components/Callout/Callout.d.ts +23 -0
- package/lib/components/Callout/Callout.d.ts.map +1 -0
- package/lib/components/Callout/Callout.js +30 -0
- package/lib/components/Callout/Callout.namespace.cjs +14 -0
- package/lib/components/Callout/Callout.namespace.d.ts +2 -0
- package/lib/components/Callout/Callout.namespace.d.ts.map +1 -0
- package/lib/components/Callout/Callout.namespace.js +1 -0
- package/lib/components/Callout/index.cjs +16 -0
- package/lib/components/Callout/index.d.ts +3 -0
- package/lib/components/Callout/index.d.ts.map +1 -0
- package/lib/components/Callout/index.js +3 -0
- package/lib/components/Celsius/Celsius.cjs +10 -0
- package/lib/components/Celsius/Celsius.d.ts +6 -0
- package/lib/components/Celsius/Celsius.d.ts.map +1 -0
- package/lib/components/Celsius/Celsius.js +6 -0
- package/lib/components/Celsius/index.cjs +9 -0
- package/lib/components/Celsius/index.d.ts +2 -0
- package/lib/components/Celsius/index.d.ts.map +1 -0
- package/lib/components/Celsius/index.js +1 -0
- package/lib/components/Checkbox/Checkbox.cjs +100 -0
- package/lib/components/Checkbox/Checkbox.d.ts +49 -0
- package/lib/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/lib/components/Checkbox/Checkbox.js +91 -0
- package/lib/components/Checkbox/Checkbox.namespace.cjs +14 -0
- package/lib/components/Checkbox/Checkbox.namespace.d.ts +2 -0
- package/lib/components/Checkbox/Checkbox.namespace.d.ts.map +1 -0
- package/lib/components/Checkbox/Checkbox.namespace.js +1 -0
- package/lib/components/Checkbox/index.cjs +16 -0
- package/lib/components/Checkbox/index.d.ts +3 -0
- package/lib/components/Checkbox/index.d.ts.map +1 -0
- package/lib/components/Checkbox/index.js +3 -0
- package/lib/components/Chip/Chip.cjs +49 -0
- package/lib/components/Chip/Chip.d.ts +19 -0
- package/lib/components/Chip/Chip.d.ts.map +1 -0
- package/lib/components/Chip/Chip.js +41 -0
- package/lib/components/Chip/Chip.namespace.cjs +13 -0
- package/lib/components/Chip/Chip.namespace.d.ts +2 -0
- package/lib/components/Chip/Chip.namespace.d.ts.map +1 -0
- package/lib/components/Chip/Chip.namespace.js +1 -0
- package/lib/components/Chip/index.cjs +15 -0
- package/lib/components/Chip/index.d.ts +3 -0
- package/lib/components/Chip/index.d.ts.map +1 -0
- package/lib/components/Chip/index.js +3 -0
- package/lib/components/ChipTabs/ChipTabs.cjs +60 -0
- package/lib/components/ChipTabs/ChipTabs.d.ts +22 -0
- package/lib/components/ChipTabs/ChipTabs.d.ts.map +1 -0
- package/lib/components/ChipTabs/ChipTabs.js +51 -0
- package/lib/components/ChipTabs/ChipTabs.namespace.cjs +14 -0
- package/lib/components/ChipTabs/ChipTabs.namespace.d.ts +2 -0
- package/lib/components/ChipTabs/ChipTabs.namespace.d.ts.map +1 -0
- package/lib/components/ChipTabs/ChipTabs.namespace.js +1 -0
- package/lib/components/ChipTabs/index.cjs +16 -0
- package/lib/components/ChipTabs/index.d.ts +3 -0
- package/lib/components/ChipTabs/index.d.ts.map +1 -0
- package/lib/components/ChipTabs/index.js +3 -0
- package/lib/components/Columns/Columns.cjs +59 -0
- package/lib/components/Columns/Columns.d.ts +22 -0
- package/lib/components/Columns/Columns.d.ts.map +1 -0
- package/lib/components/Columns/Columns.js +35 -0
- package/lib/components/Columns/index.cjs +10 -0
- package/lib/components/Columns/index.d.ts +2 -0
- package/lib/components/Columns/index.d.ts.map +1 -0
- package/lib/components/Columns/index.js +1 -0
- package/lib/components/ConsistentWidth/ConsistentWidth.cjs +24 -0
- package/lib/components/ConsistentWidth/ConsistentWidth.d.ts +7 -0
- package/lib/components/ConsistentWidth/ConsistentWidth.d.ts.map +1 -0
- package/lib/components/ConsistentWidth/ConsistentWidth.js +20 -0
- package/lib/components/ConsistentWidth/index.cjs +9 -0
- package/lib/components/ConsistentWidth/index.d.ts +2 -0
- package/lib/components/ConsistentWidth/index.d.ts.map +1 -0
- package/lib/components/ConsistentWidth/index.js +1 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.cjs +58 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.d.ts +10 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.d.ts.map +1 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.js +35 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.namespace.cjs +10 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.namespace.d.ts +2 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.namespace.d.ts.map +1 -0
- package/lib/components/ContentPlaceholder/ContentPlaceholder.namespace.js +1 -0
- package/lib/components/ContentPlaceholder/index.cjs +12 -0
- package/lib/components/ContentPlaceholder/index.d.ts +3 -0
- package/lib/components/ContentPlaceholder/index.d.ts.map +1 -0
- package/lib/components/ContentPlaceholder/index.js +3 -0
- package/lib/components/ContentPlaceholder/presets.cjs +78 -0
- package/lib/components/ContentPlaceholder/presets.d.ts +3 -0
- package/lib/components/ContentPlaceholder/presets.d.ts.map +1 -0
- package/lib/components/ContentPlaceholder/presets.js +74 -0
- package/lib/components/ContextualFloatingButton/ContextualFloatingButton.cjs +54 -0
- package/lib/components/ContextualFloatingButton/ContextualFloatingButton.d.ts +8 -0
- package/lib/components/ContextualFloatingButton/ContextualFloatingButton.d.ts.map +1 -0
- package/lib/components/ContextualFloatingButton/ContextualFloatingButton.js +31 -0
- package/lib/components/ContextualFloatingButton/index.cjs +9 -0
- package/lib/components/ContextualFloatingButton/index.d.ts +2 -0
- package/lib/components/ContextualFloatingButton/index.d.ts.map +1 -0
- package/lib/components/ContextualFloatingButton/index.js +1 -0
- package/lib/components/ControlChip/ControlChip.cjs +18 -0
- package/lib/components/ControlChip/ControlChip.d.ts +28 -0
- package/lib/components/ControlChip/ControlChip.d.ts.map +1 -0
- package/lib/components/ControlChip/ControlChip.js +14 -0
- package/lib/components/ControlChip/index.cjs +9 -0
- package/lib/components/ControlChip/index.d.ts +2 -0
- package/lib/components/ControlChip/index.d.ts.map +1 -0
- package/lib/components/ControlChip/index.js +1 -0
- package/lib/components/Count/Count.cjs +16 -0
- package/lib/components/Count/Count.d.ts +5 -0
- package/lib/components/Count/Count.d.ts.map +1 -0
- package/lib/components/Count/Count.js +12 -0
- package/lib/components/Count/index.cjs +9 -0
- package/lib/components/Count/index.d.ts +2 -0
- package/lib/components/Count/index.d.ts.map +1 -0
- package/lib/components/Count/index.js +1 -0
- package/lib/components/Dialog/Dialog.cjs +54 -0
- package/lib/components/Dialog/Dialog.d.ts +43 -0
- package/lib/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib/components/Dialog/Dialog.js +41 -0
- package/lib/components/Dialog/Dialog.namespace.cjs +18 -0
- package/lib/components/Dialog/Dialog.namespace.d.ts +2 -0
- package/lib/components/Dialog/Dialog.namespace.d.ts.map +1 -0
- package/lib/components/Dialog/Dialog.namespace.js +1 -0
- package/lib/components/Dialog/index.cjs +20 -0
- package/lib/components/Dialog/index.d.ts +3 -0
- package/lib/components/Dialog/index.d.ts.map +1 -0
- package/lib/components/Dialog/index.js +3 -0
- package/lib/components/Divider/Divider.cjs +69 -0
- package/lib/components/Divider/Divider.d.ts +29 -0
- package/lib/components/Divider/Divider.d.ts.map +1 -0
- package/lib/components/Divider/Divider.js +46 -0
- package/lib/components/Divider/index.cjs +9 -0
- package/lib/components/Divider/index.d.ts +2 -0
- package/lib/components/Divider/index.d.ts.map +1 -0
- package/lib/components/Divider/index.js +1 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.cjs +55 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.d.ts +122 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.d.ts.map +1 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.js +40 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.cjs +20 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.d.ts +2 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.d.ts.map +1 -0
- package/lib/components/ExtendedActionSheet/ExtendedActionSheet.namespace.js +1 -0
- package/lib/components/ExtendedActionSheet/index.cjs +22 -0
- package/lib/components/ExtendedActionSheet/index.d.ts +3 -0
- package/lib/components/ExtendedActionSheet/index.d.ts.map +1 -0
- package/lib/components/ExtendedActionSheet/index.js +3 -0
- package/lib/components/ExtendedFab/ExtendedFab.cjs +18 -0
- package/lib/components/ExtendedFab/ExtendedFab.d.ts +13 -0
- package/lib/components/ExtendedFab/ExtendedFab.d.ts.map +1 -0
- package/lib/components/ExtendedFab/ExtendedFab.js +14 -0
- package/lib/components/ExtendedFab/index.cjs +9 -0
- package/lib/components/ExtendedFab/index.d.ts +2 -0
- package/lib/components/ExtendedFab/index.d.ts.map +1 -0
- package/lib/components/ExtendedFab/index.js +1 -0
- package/lib/components/Fab/Fab.cjs +13 -0
- package/lib/components/Fab/Fab.d.ts +13 -0
- package/lib/components/Fab/Fab.d.ts.map +1 -0
- package/lib/components/Fab/Fab.js +9 -0
- package/lib/components/Fab/index.cjs +9 -0
- package/lib/components/Fab/index.d.ts +2 -0
- package/lib/components/Fab/index.d.ts.map +1 -0
- package/lib/components/Fab/index.js +1 -0
- package/lib/components/Field/Field.cjs +116 -0
- package/lib/components/Field/Field.d.ts +41 -0
- package/lib/components/Field/Field.d.ts.map +1 -0
- package/lib/components/Field/Field.js +104 -0
- package/lib/components/Field/Field.namespace.cjs +17 -0
- package/lib/components/Field/Field.namespace.d.ts +2 -0
- package/lib/components/Field/Field.namespace.d.ts.map +1 -0
- package/lib/components/Field/Field.namespace.js +1 -0
- package/lib/components/Field/index.cjs +19 -0
- package/lib/components/Field/index.d.ts +3 -0
- package/lib/components/Field/index.d.ts.map +1 -0
- package/lib/components/Field/index.js +3 -0
- package/lib/components/FieldButton/FieldButton.cjs +201 -0
- package/lib/components/FieldButton/FieldButton.d.ts +61 -0
- package/lib/components/FieldButton/FieldButton.d.ts.map +1 -0
- package/lib/components/FieldButton/FieldButton.js +161 -0
- package/lib/components/FieldButton/FieldButton.namespace.cjs +26 -0
- package/lib/components/FieldButton/FieldButton.namespace.d.ts +2 -0
- package/lib/components/FieldButton/FieldButton.namespace.d.ts.map +1 -0
- package/lib/components/FieldButton/FieldButton.namespace.js +1 -0
- package/lib/components/FieldButton/index.cjs +28 -0
- package/lib/components/FieldButton/index.d.ts +3 -0
- package/lib/components/FieldButton/index.d.ts.map +1 -0
- package/lib/components/FieldButton/index.js +3 -0
- package/lib/components/Fieldset/Fieldset.cjs +86 -0
- package/lib/components/Fieldset/Fieldset.d.ts +30 -0
- package/lib/components/Fieldset/Fieldset.d.ts.map +1 -0
- package/lib/components/Fieldset/Fieldset.js +75 -0
- package/lib/components/Fieldset/Fieldset.namespace.cjs +16 -0
- package/lib/components/Fieldset/Fieldset.namespace.d.ts +2 -0
- package/lib/components/Fieldset/Fieldset.namespace.d.ts.map +1 -0
- package/lib/components/Fieldset/Fieldset.namespace.js +1 -0
- package/lib/components/Fieldset/index.cjs +18 -0
- package/lib/components/Fieldset/index.d.ts +3 -0
- package/lib/components/Fieldset/index.d.ts.map +1 -0
- package/lib/components/Fieldset/index.js +3 -0
- package/lib/components/Flex/Flex.cjs +47 -0
- package/lib/components/Flex/Flex.d.ts +35 -0
- package/lib/components/Flex/Flex.d.ts.map +1 -0
- package/lib/components/Flex/Flex.js +24 -0
- package/lib/components/Flex/index.cjs +9 -0
- package/lib/components/Flex/index.d.ts +2 -0
- package/lib/components/Flex/index.d.ts.map +1 -0
- package/lib/components/Flex/index.js +1 -0
- package/lib/components/Float/Float.cjs +108 -0
- package/lib/components/Float/Float.d.ts +17 -0
- package/lib/components/Float/Float.d.ts.map +1 -0
- package/lib/components/Float/Float.js +85 -0
- package/lib/components/Float/index.cjs +9 -0
- package/lib/components/Float/index.d.ts +2 -0
- package/lib/components/Float/index.d.ts.map +1 -0
- package/lib/components/Float/index.js +1 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.cjs +18 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.d.ts +14 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.d.ts.map +1 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.js +12 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.namespace.cjs +11 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.namespace.d.ts +2 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.namespace.d.ts.map +1 -0
- package/lib/components/FloatingActionButton/FloatingActionButton.namespace.js +1 -0
- package/lib/components/FloatingActionButton/index.cjs +13 -0
- package/lib/components/FloatingActionButton/index.d.ts +3 -0
- package/lib/components/FloatingActionButton/index.d.ts.map +1 -0
- package/lib/components/FloatingActionButton/index.js +3 -0
- package/lib/components/Grid/Grid.cjs +58 -0
- package/lib/components/Grid/Grid.d.ts +42 -0
- package/lib/components/Grid/Grid.d.ts.map +1 -0
- package/lib/components/Grid/Grid.js +35 -0
- package/lib/components/Grid/index.cjs +9 -0
- package/lib/components/Grid/index.d.ts +2 -0
- package/lib/components/Grid/index.d.ts.map +1 -0
- package/lib/components/Grid/index.js +1 -0
- package/lib/components/GridItem/GridItem.cjs +45 -0
- package/lib/components/GridItem/GridItem.d.ts +35 -0
- package/lib/components/GridItem/GridItem.d.ts.map +1 -0
- package/lib/components/GridItem/GridItem.js +22 -0
- package/lib/components/GridItem/index.cjs +9 -0
- package/lib/components/GridItem/index.d.ts +2 -0
- package/lib/components/GridItem/index.d.ts.map +1 -0
- package/lib/components/GridItem/index.js +1 -0
- package/lib/components/HelpBubble/HelpBubble.cjs +102 -0
- package/lib/components/HelpBubble/HelpBubble.d.ts +63 -0
- package/lib/components/HelpBubble/HelpBubble.d.ts.map +1 -0
- package/lib/components/HelpBubble/HelpBubble.js +87 -0
- package/lib/components/HelpBubble/HelpBubble.namespace.cjs +20 -0
- package/lib/components/HelpBubble/HelpBubble.namespace.d.ts +2 -0
- package/lib/components/HelpBubble/HelpBubble.namespace.d.ts.map +1 -0
- package/lib/components/HelpBubble/HelpBubble.namespace.js +1 -0
- package/lib/components/HelpBubble/index.cjs +22 -0
- package/lib/components/HelpBubble/index.d.ts +3 -0
- package/lib/components/HelpBubble/index.d.ts.map +1 -0
- package/lib/components/HelpBubble/index.js +3 -0
- package/lib/components/Icon/Icon.cjs +128 -0
- package/lib/components/Icon/Icon.d.ts +23 -0
- package/lib/components/Icon/Icon.d.ts.map +1 -0
- package/lib/components/Icon/Icon.js +120 -0
- package/lib/components/Icon/index.cjs +11 -0
- package/lib/components/Icon/index.d.ts +2 -0
- package/lib/components/Icon/index.d.ts.map +1 -0
- package/lib/components/Icon/index.js +1 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.cjs +77 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.d.ts +10 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.d.ts.map +1 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.js +53 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.namespace.cjs +10 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.namespace.d.ts +2 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.namespace.d.ts.map +1 -0
- package/lib/components/IdentityPlaceholder/IdentityPlaceholder.namespace.js +1 -0
- package/lib/components/IdentityPlaceholder/index.cjs +12 -0
- package/lib/components/IdentityPlaceholder/index.d.ts +3 -0
- package/lib/components/IdentityPlaceholder/index.d.ts.map +1 -0
- package/lib/components/IdentityPlaceholder/index.js +3 -0
- package/lib/components/ImageFrame/ImageFrame.cjs +186 -0
- package/lib/components/ImageFrame/ImageFrame.d.ts +53 -0
- package/lib/components/ImageFrame/ImageFrame.d.ts.map +1 -0
- package/lib/components/ImageFrame/ImageFrame.js +158 -0
- package/lib/components/ImageFrame/ImageFrame.test.d.ts +2 -0
- package/lib/components/ImageFrame/ImageFrame.test.d.ts.map +1 -0
- package/lib/components/ImageFrame/index.cjs +14 -0
- package/lib/components/ImageFrame/index.d.ts +2 -0
- package/lib/components/ImageFrame/index.d.ts.map +1 -0
- package/lib/components/ImageFrame/index.js +1 -0
- package/lib/components/Inline/Inline.cjs +44 -0
- package/lib/components/Inline/Inline.d.ts +12 -0
- package/lib/components/Inline/Inline.d.ts.map +1 -0
- package/lib/components/Inline/Inline.js +21 -0
- package/lib/components/Inline/index.cjs +9 -0
- package/lib/components/Inline/index.d.ts +2 -0
- package/lib/components/Inline/index.d.ts.map +1 -0
- package/lib/components/Inline/index.js +1 -0
- package/lib/components/InlineBanner/InlineBanner.cjs +42 -0
- package/lib/components/InlineBanner/InlineBanner.d.ts +59 -0
- package/lib/components/InlineBanner/InlineBanner.d.ts.map +1 -0
- package/lib/components/InlineBanner/InlineBanner.js +33 -0
- package/lib/components/InlineBanner/InlineBanner.namespace.cjs +14 -0
- package/lib/components/InlineBanner/InlineBanner.namespace.d.ts +2 -0
- package/lib/components/InlineBanner/InlineBanner.namespace.d.ts.map +1 -0
- package/lib/components/InlineBanner/InlineBanner.namespace.js +1 -0
- package/lib/components/InlineBanner/index.cjs +16 -0
- package/lib/components/InlineBanner/index.d.ts +3 -0
- package/lib/components/InlineBanner/index.d.ts.map +1 -0
- package/lib/components/InlineBanner/index.js +3 -0
- package/lib/components/LinkContent/LinkContent.cjs +16 -0
- package/lib/components/LinkContent/LinkContent.d.ts +14 -0
- package/lib/components/LinkContent/LinkContent.d.ts.map +1 -0
- package/lib/components/LinkContent/LinkContent.js +12 -0
- package/lib/components/LinkContent/index.cjs +9 -0
- package/lib/components/LinkContent/index.d.ts +2 -0
- package/lib/components/LinkContent/index.d.ts.map +1 -0
- package/lib/components/LinkContent/index.js +1 -0
- package/lib/components/List/List.cjs +71 -0
- package/lib/components/List/List.d.ts +28 -0
- package/lib/components/List/List.d.ts.map +1 -0
- package/lib/components/List/List.js +61 -0
- package/lib/components/List/List.namespace.cjs +15 -0
- package/lib/components/List/List.namespace.d.ts +2 -0
- package/lib/components/List/List.namespace.d.ts.map +1 -0
- package/lib/components/List/List.namespace.js +1 -0
- package/lib/components/List/ListHeader.cjs +20 -0
- package/lib/components/List/ListHeader.d.ts +11 -0
- package/lib/components/List/ListHeader.d.ts.map +1 -0
- package/lib/components/List/ListHeader.js +16 -0
- package/lib/components/List/index.cjs +19 -0
- package/lib/components/List/index.d.ts +4 -0
- package/lib/components/List/index.d.ts.map +1 -0
- package/lib/components/List/index.js +4 -0
- package/lib/components/LoadingIndicator/LoadingIndicator.cjs +28 -0
- package/lib/components/LoadingIndicator/LoadingIndicator.d.ts +6 -0
- package/lib/components/LoadingIndicator/LoadingIndicator.d.ts.map +1 -0
- package/lib/components/LoadingIndicator/LoadingIndicator.js +24 -0
- package/lib/components/LoadingIndicator/index.cjs +9 -0
- package/lib/components/LoadingIndicator/index.d.ts +2 -0
- package/lib/components/LoadingIndicator/index.d.ts.map +1 -0
- package/lib/components/LoadingIndicator/index.js +1 -0
- package/lib/components/LoadingIndicator/usePendingButton.cjs +52 -0
- package/lib/components/LoadingIndicator/usePendingButton.d.ts +873 -0
- package/lib/components/LoadingIndicator/usePendingButton.d.ts.map +1 -0
- package/lib/components/LoadingIndicator/usePendingButton.js +27 -0
- package/lib/components/MannerTemp/MannerTemp.cjs +20 -0
- package/lib/components/MannerTemp/MannerTemp.d.ts +7 -0
- package/lib/components/MannerTemp/MannerTemp.d.ts.map +1 -0
- package/lib/components/MannerTemp/MannerTemp.js +16 -0
- package/lib/components/MannerTemp/MannerTempEmote.cjs +101 -0
- package/lib/components/MannerTemp/MannerTempEmote.d.ts +7 -0
- package/lib/components/MannerTemp/MannerTempEmote.d.ts.map +1 -0
- package/lib/components/MannerTemp/MannerTempEmote.js +96 -0
- package/lib/components/MannerTemp/index.cjs +11 -0
- package/lib/components/MannerTemp/index.d.ts +3 -0
- package/lib/components/MannerTemp/index.d.ts.map +1 -0
- package/lib/components/MannerTemp/index.js +2 -0
- package/lib/components/MannerTempBadge/MannerTempBadge.cjs +13 -0
- package/lib/components/MannerTempBadge/MannerTempBadge.d.ts +7 -0
- package/lib/components/MannerTempBadge/MannerTempBadge.d.ts.map +1 -0
- package/lib/components/MannerTempBadge/MannerTempBadge.js +9 -0
- package/lib/components/MannerTempBadge/index.cjs +9 -0
- package/lib/components/MannerTempBadge/index.d.ts +2 -0
- package/lib/components/MannerTempBadge/index.d.ts.map +1 -0
- package/lib/components/MannerTempBadge/index.js +1 -0
- package/lib/components/MenuSheet/MenuSheet.cjs +155 -0
- package/lib/components/MenuSheet/MenuSheet.d.ts +62 -0
- package/lib/components/MenuSheet/MenuSheet.d.ts.map +1 -0
- package/lib/components/MenuSheet/MenuSheet.js +117 -0
- package/lib/components/MenuSheet/MenuSheet.namespace.cjs +24 -0
- package/lib/components/MenuSheet/MenuSheet.namespace.d.ts +2 -0
- package/lib/components/MenuSheet/MenuSheet.namespace.d.ts.map +1 -0
- package/lib/components/MenuSheet/MenuSheet.namespace.js +1 -0
- package/lib/components/MenuSheet/index.cjs +26 -0
- package/lib/components/MenuSheet/index.d.ts +3 -0
- package/lib/components/MenuSheet/index.d.ts.map +1 -0
- package/lib/components/MenuSheet/index.js +3 -0
- package/lib/components/NotificationBadge/NotificationBadge.cjs +44 -0
- package/lib/components/NotificationBadge/NotificationBadge.d.ts +11 -0
- package/lib/components/NotificationBadge/NotificationBadge.d.ts.map +1 -0
- package/lib/components/NotificationBadge/NotificationBadge.js +21 -0
- package/lib/components/NotificationBadge/index.cjs +10 -0
- package/lib/components/NotificationBadge/index.d.ts +2 -0
- package/lib/components/NotificationBadge/index.d.ts.map +1 -0
- package/lib/components/NotificationBadge/index.js +1 -0
- package/lib/components/PageBanner/PageBanner.cjs +58 -0
- package/lib/components/PageBanner/PageBanner.d.ts +26 -0
- package/lib/components/PageBanner/PageBanner.d.ts.map +1 -0
- package/lib/components/PageBanner/PageBanner.js +48 -0
- package/lib/components/PageBanner/PageBanner.namespace.cjs +15 -0
- package/lib/components/PageBanner/PageBanner.namespace.d.ts +2 -0
- package/lib/components/PageBanner/PageBanner.namespace.d.ts.map +1 -0
- package/lib/components/PageBanner/PageBanner.namespace.js +1 -0
- package/lib/components/PageBanner/index.cjs +17 -0
- package/lib/components/PageBanner/index.d.ts +3 -0
- package/lib/components/PageBanner/index.d.ts.map +1 -0
- package/lib/components/PageBanner/index.js +3 -0
- package/lib/components/Portal/index.cjs +12 -0
- package/lib/components/Portal/index.d.ts +2 -0
- package/lib/components/Portal/index.d.ts.map +1 -0
- package/lib/components/Portal/index.js +1 -0
- package/lib/components/ProgressCircle/ProgressCircle.cjs +26 -0
- package/lib/components/ProgressCircle/ProgressCircle.d.ts +13 -0
- package/lib/components/ProgressCircle/ProgressCircle.d.ts.map +1 -0
- package/lib/components/ProgressCircle/ProgressCircle.js +20 -0
- package/lib/components/ProgressCircle/ProgressCircle.namespace.cjs +11 -0
- package/lib/components/ProgressCircle/ProgressCircle.namespace.d.ts +2 -0
- package/lib/components/ProgressCircle/ProgressCircle.namespace.d.ts.map +1 -0
- package/lib/components/ProgressCircle/ProgressCircle.namespace.js +1 -0
- package/lib/components/ProgressCircle/index.cjs +13 -0
- package/lib/components/ProgressCircle/index.d.ts +3 -0
- package/lib/components/ProgressCircle/index.d.ts.map +1 -0
- package/lib/components/ProgressCircle/index.js +3 -0
- package/lib/components/PullToRefresh/PullToRefresh.cjs +23 -0
- package/lib/components/PullToRefresh/PullToRefresh.d.ts +13 -0
- package/lib/components/PullToRefresh/PullToRefresh.d.ts.map +1 -0
- package/lib/components/PullToRefresh/PullToRefresh.js +17 -0
- package/lib/components/PullToRefresh/PullToRefresh.namespace.cjs +16 -0
- package/lib/components/PullToRefresh/PullToRefresh.namespace.d.ts +3 -0
- package/lib/components/PullToRefresh/PullToRefresh.namespace.d.ts.map +1 -0
- package/lib/components/PullToRefresh/PullToRefresh.namespace.js +2 -0
- package/lib/components/PullToRefresh/index.cjs +18 -0
- package/lib/components/PullToRefresh/index.d.ts +4 -0
- package/lib/components/PullToRefresh/index.d.ts.map +1 -0
- package/lib/components/PullToRefresh/index.js +4 -0
- package/lib/components/RadioGroup/RadioGroup.cjs +82 -0
- package/lib/components/RadioGroup/RadioGroup.d.ts +35 -0
- package/lib/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/lib/components/RadioGroup/RadioGroup.js +73 -0
- package/lib/components/RadioGroup/RadioGroup.namespace.cjs +14 -0
- package/lib/components/RadioGroup/RadioGroup.namespace.d.ts +2 -0
- package/lib/components/RadioGroup/RadioGroup.namespace.d.ts.map +1 -0
- package/lib/components/RadioGroup/RadioGroup.namespace.js +1 -0
- package/lib/components/RadioGroup/index.cjs +16 -0
- package/lib/components/RadioGroup/index.d.ts +3 -0
- package/lib/components/RadioGroup/index.d.ts.map +1 -0
- package/lib/components/RadioGroup/index.js +3 -0
- package/lib/components/RadioGroupField/RadioGroupField.cjs +79 -0
- package/lib/components/RadioGroupField/RadioGroupField.d.ts +30 -0
- package/lib/components/RadioGroupField/RadioGroupField.d.ts.map +1 -0
- package/lib/components/RadioGroupField/RadioGroupField.js +68 -0
- package/lib/components/RadioGroupField/RadioGroupField.namespace.cjs +16 -0
- package/lib/components/RadioGroupField/RadioGroupField.namespace.d.ts +2 -0
- package/lib/components/RadioGroupField/RadioGroupField.namespace.d.ts.map +1 -0
- package/lib/components/RadioGroupField/RadioGroupField.namespace.js +1 -0
- package/lib/components/RadioGroupField/index.cjs +18 -0
- package/lib/components/RadioGroupField/index.d.ts +3 -0
- package/lib/components/RadioGroupField/index.d.ts.map +1 -0
- package/lib/components/RadioGroupField/index.js +3 -0
- package/lib/components/ReactionButton/ReactionButton.cjs +49 -0
- package/lib/components/ReactionButton/ReactionButton.d.ts +8 -0
- package/lib/components/ReactionButton/ReactionButton.d.ts.map +1 -0
- package/lib/components/ReactionButton/ReactionButton.js +26 -0
- package/lib/components/ReactionButton/index.cjs +9 -0
- package/lib/components/ReactionButton/index.d.ts +2 -0
- package/lib/components/ReactionButton/index.d.ts.map +1 -0
- package/lib/components/ReactionButton/index.js +1 -0
- package/lib/components/ResponsivePair/ResponsivePair.cjs +61 -0
- package/lib/components/ResponsivePair/ResponsivePair.d.ts +11 -0
- package/lib/components/ResponsivePair/ResponsivePair.d.ts.map +1 -0
- package/lib/components/ResponsivePair/ResponsivePair.js +38 -0
- package/lib/components/ResponsivePair/index.cjs +9 -0
- package/lib/components/ResponsivePair/index.d.ts +2 -0
- package/lib/components/ResponsivePair/index.d.ts.map +1 -0
- package/lib/components/ResponsivePair/index.js +1 -0
- package/lib/components/ScrollFog/ScrollFog.cjs +63 -0
- package/lib/components/ScrollFog/ScrollFog.d.ts +28 -0
- package/lib/components/ScrollFog/ScrollFog.d.ts.map +1 -0
- package/lib/components/ScrollFog/ScrollFog.js +59 -0
- package/lib/components/ScrollFog/index.cjs +9 -0
- package/lib/components/ScrollFog/index.d.ts +2 -0
- package/lib/components/ScrollFog/index.d.ts.map +1 -0
- package/lib/components/ScrollFog/index.js +1 -0
- package/lib/components/SegmentedControl/SegmentedControl.cjs +26 -0
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +17 -0
- package/lib/components/SegmentedControl/SegmentedControl.d.ts.map +1 -0
- package/lib/components/SegmentedControl/SegmentedControl.js +19 -0
- package/lib/components/SegmentedControl/SegmentedControl.namespace.cjs +12 -0
- package/lib/components/SegmentedControl/SegmentedControl.namespace.d.ts +2 -0
- package/lib/components/SegmentedControl/SegmentedControl.namespace.d.ts.map +1 -0
- package/lib/components/SegmentedControl/SegmentedControl.namespace.js +1 -0
- package/lib/components/SegmentedControl/index.cjs +14 -0
- package/lib/components/SegmentedControl/index.d.ts +3 -0
- package/lib/components/SegmentedControl/index.d.ts.map +1 -0
- package/lib/components/SegmentedControl/index.js +3 -0
- package/lib/components/SelectBox/CheckSelectBox.cjs +149 -0
- package/lib/components/SelectBox/CheckSelectBox.d.ts +51 -0
- package/lib/components/SelectBox/CheckSelectBox.d.ts.map +1 -0
- package/lib/components/SelectBox/CheckSelectBox.js +135 -0
- package/lib/components/SelectBox/CheckSelectBox.namespace.cjs +19 -0
- package/lib/components/SelectBox/CheckSelectBox.namespace.d.ts +2 -0
- package/lib/components/SelectBox/CheckSelectBox.namespace.d.ts.map +1 -0
- package/lib/components/SelectBox/CheckSelectBox.namespace.js +1 -0
- package/lib/components/SelectBox/RadioSelectBox.cjs +141 -0
- package/lib/components/SelectBox/RadioSelectBox.d.ts +43 -0
- package/lib/components/SelectBox/RadioSelectBox.d.ts.map +1 -0
- package/lib/components/SelectBox/RadioSelectBox.js +129 -0
- package/lib/components/SelectBox/RadioSelectBox.namespace.cjs +17 -0
- package/lib/components/SelectBox/RadioSelectBox.namespace.d.ts +2 -0
- package/lib/components/SelectBox/RadioSelectBox.namespace.d.ts.map +1 -0
- package/lib/components/SelectBox/RadioSelectBox.namespace.js +1 -0
- package/lib/components/SelectBox/index.cjs +33 -0
- package/lib/components/SelectBox/index.d.ts +5 -0
- package/lib/components/SelectBox/index.d.ts.map +1 -0
- package/lib/components/SelectBox/index.js +6 -0
- package/lib/components/Skeleton/Skeleton.cjs +14 -0
- package/lib/components/Skeleton/Skeleton.d.ts +8 -0
- package/lib/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/lib/components/Skeleton/Skeleton.js +10 -0
- package/lib/components/Skeleton/index.cjs +9 -0
- package/lib/components/Skeleton/index.d.ts +2 -0
- package/lib/components/Skeleton/index.d.ts.map +1 -0
- package/lib/components/Skeleton/index.js +1 -0
- package/lib/components/Slider/Slider.cjs +110 -0
- package/lib/components/Slider/Slider.d.ts +51 -0
- package/lib/components/Slider/Slider.d.ts.map +1 -0
- package/lib/components/Slider/Slider.js +94 -0
- package/lib/components/Slider/Slider.namespace.cjs +21 -0
- package/lib/components/Slider/Slider.namespace.d.ts +2 -0
- package/lib/components/Slider/Slider.namespace.d.ts.map +1 -0
- package/lib/components/Slider/Slider.namespace.js +1 -0
- package/lib/components/Slider/index.cjs +23 -0
- package/lib/components/Slider/index.d.ts +3 -0
- package/lib/components/Slider/index.d.ts.map +1 -0
- package/lib/components/Slider/index.js +3 -0
- package/lib/components/Snackbar/Snackbar.cjs +66 -0
- package/lib/components/Snackbar/Snackbar.d.ts +39 -0
- package/lib/components/Snackbar/Snackbar.d.ts.map +1 -0
- package/lib/components/Snackbar/Snackbar.js +53 -0
- package/lib/components/Snackbar/Snackbar.namespace.cjs +18 -0
- package/lib/components/Snackbar/Snackbar.namespace.d.ts +2 -0
- package/lib/components/Snackbar/Snackbar.namespace.d.ts.map +1 -0
- package/lib/components/Snackbar/Snackbar.namespace.js +1 -0
- package/lib/components/Snackbar/index.cjs +26 -0
- package/lib/components/Snackbar/index.d.ts +5 -0
- package/lib/components/Snackbar/index.d.ts.map +1 -0
- package/lib/components/Snackbar/index.js +5 -0
- package/lib/components/Snackbar/useSnackbarAdapter.cjs +29 -0
- package/lib/components/Snackbar/useSnackbarAdapter.d.ts +11 -0
- package/lib/components/Snackbar/useSnackbarAdapter.d.ts.map +1 -0
- package/lib/components/Snackbar/useSnackbarAdapter.js +25 -0
- package/lib/components/Stack/Stack.cjs +41 -0
- package/lib/components/Stack/Stack.d.ts +18 -0
- package/lib/components/Stack/Stack.d.ts.map +1 -0
- package/lib/components/Stack/Stack.js +16 -0
- package/lib/components/Stack/index.cjs +11 -0
- package/lib/components/Stack/index.d.ts +2 -0
- package/lib/components/Stack/index.d.ts.map +1 -0
- package/lib/components/Stack/index.js +1 -0
- package/lib/components/Switch/Switch.cjs +69 -0
- package/lib/components/Switch/Switch.d.ts +27 -0
- package/lib/components/Switch/Switch.d.ts.map +1 -0
- package/lib/components/Switch/Switch.js +61 -0
- package/lib/components/Switch/Switch.namespace.cjs +13 -0
- package/lib/components/Switch/Switch.namespace.d.ts +2 -0
- package/lib/components/Switch/Switch.namespace.d.ts.map +1 -0
- package/lib/components/Switch/Switch.namespace.js +1 -0
- package/lib/components/Switch/index.cjs +15 -0
- package/lib/components/Switch/index.d.ts +3 -0
- package/lib/components/Switch/index.d.ts.map +1 -0
- package/lib/components/Switch/index.js +3 -0
- package/lib/components/Tabs/Tabs.cjs +40 -0
- package/lib/components/Tabs/Tabs.d.ts +25 -0
- package/lib/components/Tabs/Tabs.d.ts.map +1 -0
- package/lib/components/Tabs/Tabs.js +30 -0
- package/lib/components/Tabs/Tabs.namespace.cjs +20 -0
- package/lib/components/Tabs/Tabs.namespace.d.ts +3 -0
- package/lib/components/Tabs/Tabs.namespace.d.ts.map +1 -0
- package/lib/components/Tabs/Tabs.namespace.js +2 -0
- package/lib/components/Tabs/index.cjs +22 -0
- package/lib/components/Tabs/index.d.ts +4 -0
- package/lib/components/Tabs/index.d.ts.map +1 -0
- package/lib/components/Tabs/index.js +4 -0
- package/lib/components/TagGroup/TagGroup.cjs +54 -0
- package/lib/components/TagGroup/TagGroup.d.ts +16 -0
- package/lib/components/TagGroup/TagGroup.d.ts.map +1 -0
- package/lib/components/TagGroup/TagGroup.js +48 -0
- package/lib/components/TagGroup/TagGroup.namespace.cjs +11 -0
- package/lib/components/TagGroup/TagGroup.namespace.d.ts +2 -0
- package/lib/components/TagGroup/TagGroup.namespace.d.ts.map +1 -0
- package/lib/components/TagGroup/TagGroup.namespace.js +1 -0
- package/lib/components/TagGroup/index.cjs +13 -0
- package/lib/components/TagGroup/index.d.ts +3 -0
- package/lib/components/TagGroup/index.d.ts.map +1 -0
- package/lib/components/TagGroup/index.js +3 -0
- package/lib/components/Text/Text.cjs +97 -0
- package/lib/components/Text/Text.d.ts +45 -0
- package/lib/components/Text/Text.d.ts.map +1 -0
- package/lib/components/Text/Text.js +93 -0
- package/lib/components/Text/index.cjs +9 -0
- package/lib/components/Text/index.d.ts +2 -0
- package/lib/components/Text/index.d.ts.map +1 -0
- package/lib/components/Text/index.js +1 -0
- package/lib/components/TextField/TextField.cjs +131 -0
- package/lib/components/TextField/TextField.d.ts +32 -0
- package/lib/components/TextField/TextField.d.ts.map +1 -0
- package/lib/components/TextField/TextField.js +121 -0
- package/lib/components/TextField/TextField.namespace.cjs +15 -0
- package/lib/components/TextField/TextField.namespace.d.ts +2 -0
- package/lib/components/TextField/TextField.namespace.d.ts.map +1 -0
- package/lib/components/TextField/TextField.namespace.js +1 -0
- package/lib/components/TextField/TextField.test.d.ts +2 -0
- package/lib/components/TextField/TextField.test.d.ts.map +1 -0
- package/lib/components/TextField/index.cjs +19 -0
- package/lib/components/TextField/index.d.ts +4 -0
- package/lib/components/TextField/index.d.ts.map +1 -0
- package/lib/components/TextField/index.js +4 -0
- package/lib/components/TextField/memoize.cjs +18 -0
- package/lib/components/TextField/memoize.d.ts +2 -0
- package/lib/components/TextField/memoize.d.ts.map +1 -0
- package/lib/components/TextField/memoize.js +14 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.cjs +52 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.d.ts +23 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.d.ts.map +1 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.js +48 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.test.d.ts +2 -0
- package/lib/components/TextField/useTextFieldWithGraphemes.test.d.ts.map +1 -0
- package/lib/components/ToggleButton/ToggleButton.cjs +49 -0
- package/lib/components/ToggleButton/ToggleButton.d.ts +8 -0
- package/lib/components/ToggleButton/ToggleButton.d.ts.map +1 -0
- package/lib/components/ToggleButton/ToggleButton.js +26 -0
- package/lib/components/ToggleButton/index.cjs +9 -0
- package/lib/components/ToggleButton/index.d.ts +2 -0
- package/lib/components/ToggleButton/index.d.ts.map +1 -0
- package/lib/components/ToggleButton/index.js +1 -0
- package/lib/components/VisuallyHidden/VisuallyHidden.cjs +16 -0
- package/lib/components/VisuallyHidden/VisuallyHidden.d.ts +6 -0
- package/lib/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/lib/components/VisuallyHidden/VisuallyHidden.js +12 -0
- package/lib/components/VisuallyHidden/index.cjs +9 -0
- package/lib/components/VisuallyHidden/index.d.ts +2 -0
- package/lib/components/VisuallyHidden/index.d.ts.map +1 -0
- package/lib/components/VisuallyHidden/index.js +1 -0
- package/lib/components/index.cjs +465 -0
- package/lib/components/index.d.ts +69 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js +142 -0
- package/lib/components/private/Icon.cjs +16 -0
- package/lib/components/private/Icon.d.ts +6 -0
- package/lib/components/private/Icon.d.ts.map +1 -0
- package/lib/components/private/Icon.js +12 -0
- package/lib/components/private/useDismissible.cjs +79 -0
- package/lib/components/private/useDismissible.d.ts +1749 -0
- package/lib/components/private/useDismissible.d.ts.map +1 -0
- package/lib/components/private/useDismissible.js +52 -0
- package/lib/hooks/useBreakpoint.cjs +18 -0
- package/lib/hooks/useBreakpoint.d.ts +12 -0
- package/lib/hooks/useBreakpoint.d.ts.map +1 -0
- package/lib/hooks/useBreakpoint.js +13 -0
- package/lib/hooks/useBreakpoint.test.d.ts +2 -0
- package/lib/hooks/useBreakpoint.test.d.ts.map +1 -0
- package/lib/hooks/useBreakpointValue.cjs +28 -0
- package/lib/hooks/useBreakpointValue.d.ts +8 -0
- package/lib/hooks/useBreakpointValue.d.ts.map +1 -0
- package/lib/hooks/useBreakpointValue.js +23 -0
- package/lib/hooks/useBreakpointValue.test.d.ts +2 -0
- package/lib/hooks/useBreakpointValue.test.d.ts.map +1 -0
- package/lib/index.cjs +471 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +145 -0
- package/lib/primitive.cjs +91 -0
- package/lib/primitive.d.ts +13 -0
- package/lib/primitive.d.ts.map +1 -0
- package/lib/primitive.js +12 -0
- package/lib/primitives/breakpoint-store.cjs +63 -0
- package/lib/primitives/breakpoint-store.d.ts +7 -0
- package/lib/primitives/breakpoint-store.d.ts.map +1 -0
- package/lib/primitives/breakpoint-store.js +58 -0
- package/lib/providers/BreakpointProvider.cjs +24 -0
- package/lib/providers/BreakpointProvider.d.ts +8 -0
- package/lib/providers/BreakpointProvider.d.ts.map +1 -0
- package/lib/providers/BreakpointProvider.js +20 -0
- package/lib/types/responsive.cjs +10 -0
- package/lib/types/responsive.d.ts +12 -0
- package/lib/types/responsive.d.ts.map +1 -0
- package/lib/types/responsive.js +6 -0
- package/lib/utils/createRecipeContext.cjs +40 -0
- package/lib/utils/createRecipeContext.d.ts +16 -0
- package/lib/utils/createRecipeContext.d.ts.map +1 -0
- package/lib/utils/createRecipeContext.js +36 -0
- package/lib/utils/createSlotRecipeContext.cjs +77 -0
- package/lib/utils/createSlotRecipeContext.d.ts +24 -0
- package/lib/utils/createSlotRecipeContext.d.ts.map +1 -0
- package/lib/utils/createSlotRecipeContext.js +73 -0
- package/lib/utils/createWithStateProps.cjs +28 -0
- package/lib/utils/createWithStateProps.d.ts +14 -0
- package/lib/utils/createWithStateProps.d.ts.map +1 -0
- package/lib/utils/createWithStateProps.js +24 -0
- package/lib/utils/splitMultipleVariantsProps.cjs +32 -0
- package/lib/utils/splitMultipleVariantsProps.d.ts +21 -0
- package/lib/utils/splitMultipleVariantsProps.js +28 -0
- package/lib/utils/styled.cjs +353 -0
- package/lib/utils/styled.d.ts +160 -0
- package/lib/utils/styled.d.ts.map +1 -0
- package/lib/utils/styled.js +344 -0
- package/lib/vars.cjs +14 -0
- package/lib/vars.d.ts +2 -0
- package/lib/vars.d.ts.map +1 -0
- package/lib/vars.js +1 -0
- package/package.json +89 -0
- package/src/components/ActionButton/ActionButton.tsx +92 -0
- package/src/components/ActionButton/index.ts +4 -0
- package/src/components/ActionChip/ActionChip.tsx +34 -0
- package/src/components/ActionChip/index.ts +4 -0
- package/src/components/ActionSheet/ActionSheet.namespace.ts +24 -0
- package/src/components/ActionSheet/ActionSheet.tsx +192 -0
- package/src/components/ActionSheet/index.ts +26 -0
- package/src/components/Article/Article.tsx +19 -0
- package/src/components/Article/index.ts +1 -0
- package/src/components/AspectRatio/AspectRatio.tsx +56 -0
- package/src/components/AspectRatio/index.ts +1 -0
- package/src/components/Avatar/Avatar.namespace.ts +12 -0
- package/src/components/Avatar/Avatar.tsx +62 -0
- package/src/components/Avatar/index.ts +14 -0
- package/src/components/Badge/Badge.tsx +26 -0
- package/src/components/Badge/index.ts +1 -0
- package/src/components/BottomSheet/BottomSheet.namespace.ts +29 -0
- package/src/components/BottomSheet/BottomSheet.tsx +122 -0
- package/src/components/BottomSheet/index.ts +26 -0
- package/src/components/BottomSheetHandle/BottomSheetHandle.tsx +23 -0
- package/src/components/BottomSheetHandle/index.ts +1 -0
- package/src/components/Box/Box.tsx +45 -0
- package/src/components/Box/index.ts +1 -0
- package/src/components/Callout/Callout.namespace.ts +14 -0
- package/src/components/Callout/Callout.tsx +57 -0
- package/src/components/Callout/index.ts +16 -0
- package/src/components/Celsius/Celsius.tsx +9 -0
- package/src/components/Celsius/index.ts +4 -0
- package/src/components/Checkbox/Checkbox.namespace.ts +14 -0
- package/src/components/Checkbox/Checkbox.tsx +176 -0
- package/src/components/Checkbox/index.ts +16 -0
- package/src/components/Chip/Chip.namespace.ts +12 -0
- package/src/components/Chip/Chip.tsx +67 -0
- package/src/components/Chip/index.ts +14 -0
- package/src/components/ChipTabs/ChipTabs.namespace.ts +14 -0
- package/src/components/ChipTabs/ChipTabs.tsx +80 -0
- package/src/components/ChipTabs/index.ts +16 -0
- package/src/components/Columns/Columns.tsx +49 -0
- package/src/components/Columns/index.ts +1 -0
- package/src/components/ConsistentWidth/ConsistentWidth.tsx +21 -0
- package/src/components/ConsistentWidth/index.ts +1 -0
- package/src/components/ContentPlaceholder/ContentPlaceholder.namespace.ts +6 -0
- package/src/components/ContentPlaceholder/ContentPlaceholder.tsx +59 -0
- package/src/components/ContentPlaceholder/index.ts +8 -0
- package/src/components/ContentPlaceholder/presets.tsx +96 -0
- package/src/components/ContextualFloatingButton/ContextualFloatingButton.tsx +49 -0
- package/src/components/ContextualFloatingButton/index.ts +4 -0
- package/src/components/ControlChip/ControlChip.tsx +38 -0
- package/src/components/ControlChip/index.ts +5 -0
- package/src/components/Count/Count.tsx +10 -0
- package/src/components/Count/index.ts +4 -0
- package/src/components/Dialog/Dialog.namespace.ts +22 -0
- package/src/components/Dialog/Dialog.tsx +105 -0
- package/src/components/Dialog/index.ts +24 -0
- package/src/components/Divider/Divider.tsx +80 -0
- package/src/components/Divider/index.ts +1 -0
- package/src/components/ExtendedActionSheet/ExtendedActionSheet.namespace.ts +26 -0
- package/src/components/ExtendedActionSheet/ExtendedActionSheet.tsx +220 -0
- package/src/components/ExtendedActionSheet/index.ts +28 -0
- package/src/components/ExtendedFab/ExtendedFab.tsx +25 -0
- package/src/components/ExtendedFab/index.ts +4 -0
- package/src/components/Fab/Fab.tsx +21 -0
- package/src/components/Fab/index.ts +4 -0
- package/src/components/Field/Field.namespace.ts +19 -0
- package/src/components/Field/Field.tsx +140 -0
- package/src/components/Field/index.ts +21 -0
- package/src/components/FieldButton/FieldButton.namespace.ts +38 -0
- package/src/components/FieldButton/FieldButton.tsx +249 -0
- package/src/components/FieldButton/index.ts +40 -0
- package/src/components/Fieldset/Fieldset.namespace.ts +17 -0
- package/src/components/Fieldset/Fieldset.tsx +101 -0
- package/src/components/Fieldset/index.ts +19 -0
- package/src/components/Flex/Flex.tsx +58 -0
- package/src/components/Flex/index.ts +1 -0
- package/src/components/Float/Float.tsx +124 -0
- package/src/components/Float/index.ts +1 -0
- package/src/components/FloatingActionButton/FloatingActionButton.namespace.tsx +8 -0
- package/src/components/FloatingActionButton/FloatingActionButton.tsx +38 -0
- package/src/components/FloatingActionButton/index.ts +10 -0
- package/src/components/Grid/Grid.tsx +86 -0
- package/src/components/Grid/index.ts +1 -0
- package/src/components/GridItem/GridItem.tsx +70 -0
- package/src/components/GridItem/index.ts +1 -0
- package/src/components/HelpBubble/HelpBubble.namespace.ts +26 -0
- package/src/components/HelpBubble/HelpBubble.tsx +173 -0
- package/src/components/HelpBubble/index.ts +28 -0
- package/src/components/Icon/Icon.tsx +167 -0
- package/src/components/Icon/index.ts +8 -0
- package/src/components/IdentityPlaceholder/IdentityPlaceholder.namespace.ts +6 -0
- package/src/components/IdentityPlaceholder/IdentityPlaceholder.tsx +77 -0
- package/src/components/IdentityPlaceholder/index.ts +8 -0
- package/src/components/ImageFrame/ImageFrame.test.tsx +57 -0
- package/src/components/ImageFrame/ImageFrame.tsx +268 -0
- package/src/components/ImageFrame/index.ts +14 -0
- package/src/components/Inline/Inline.tsx +24 -0
- package/src/components/Inline/index.ts +1 -0
- package/src/components/InlineBanner/InlineBanner.namespace.ts +14 -0
- package/src/components/InlineBanner/InlineBanner.tsx +103 -0
- package/src/components/InlineBanner/index.ts +16 -0
- package/src/components/LinkContent/LinkContent.tsx +23 -0
- package/src/components/LinkContent/index.ts +4 -0
- package/src/components/List/List.namespace.ts +16 -0
- package/src/components/List/List.tsx +96 -0
- package/src/components/List/ListHeader.tsx +24 -0
- package/src/components/List/index.ts +20 -0
- package/src/components/LoadingIndicator/LoadingIndicator.tsx +27 -0
- package/src/components/LoadingIndicator/index.ts +4 -0
- package/src/components/LoadingIndicator/usePendingButton.tsx +45 -0
- package/src/components/MannerTemp/MannerTemp.tsx +25 -0
- package/src/components/MannerTemp/MannerTempEmote.tsx +136 -0
- package/src/components/MannerTemp/index.ts +2 -0
- package/src/components/MannerTempBadge/MannerTempBadge.tsx +18 -0
- package/src/components/MannerTempBadge/index.ts +4 -0
- package/src/components/MenuSheet/MenuSheet.namespace.ts +34 -0
- package/src/components/MenuSheet/MenuSheet.tsx +229 -0
- package/src/components/MenuSheet/index.ts +36 -0
- package/src/components/NotificationBadge/NotificationBadge.tsx +47 -0
- package/src/components/NotificationBadge/index.ts +6 -0
- package/src/components/PageBanner/PageBanner.namespace.ts +16 -0
- package/src/components/PageBanner/PageBanner.tsx +108 -0
- package/src/components/PageBanner/index.ts +18 -0
- package/src/components/Portal/index.ts +4 -0
- package/src/components/ProgressCircle/ProgressCircle.namespace.ts +8 -0
- package/src/components/ProgressCircle/ProgressCircle.tsx +31 -0
- package/src/components/ProgressCircle/index.ts +10 -0
- package/src/components/PullToRefresh/PullToRefresh.namespace.ts +10 -0
- package/src/components/PullToRefresh/PullToRefresh.tsx +28 -0
- package/src/components/PullToRefresh/index.ts +12 -0
- package/src/components/RadioGroup/RadioGroup.namespace.ts +14 -0
- package/src/components/RadioGroup/RadioGroup.tsx +138 -0
- package/src/components/RadioGroup/index.ts +16 -0
- package/src/components/RadioGroupField/RadioGroupField.namespace.ts +18 -0
- package/src/components/RadioGroupField/RadioGroupField.tsx +114 -0
- package/src/components/RadioGroupField/index.ts +2 -0
- package/src/components/ReactionButton/ReactionButton.tsx +36 -0
- package/src/components/ReactionButton/index.ts +4 -0
- package/src/components/ResponsivePair/ResponsivePair.tsx +44 -0
- package/src/components/ResponsivePair/index.ts +1 -0
- package/src/components/ScrollFog/ScrollFog.tsx +90 -0
- package/src/components/ScrollFog/index.ts +1 -0
- package/src/components/SegmentedControl/SegmentedControl.namespace.ts +10 -0
- package/src/components/SegmentedControl/SegmentedControl.tsx +39 -0
- package/src/components/SegmentedControl/index.ts +12 -0
- package/src/components/SelectBox/CheckSelectBox.namespace.ts +24 -0
- package/src/components/SelectBox/CheckSelectBox.tsx +265 -0
- package/src/components/SelectBox/RadioSelectBox.namespace.ts +20 -0
- package/src/components/SelectBox/RadioSelectBox.tsx +248 -0
- package/src/components/SelectBox/index.ts +48 -0
- package/src/components/Skeleton/Skeleton.tsx +15 -0
- package/src/components/Skeleton/index.ts +1 -0
- package/src/components/Slider/Slider.namespace.ts +28 -0
- package/src/components/Slider/Slider.tsx +154 -0
- package/src/components/Slider/index.ts +30 -0
- package/src/components/Snackbar/Snackbar.namespace.ts +22 -0
- package/src/components/Snackbar/Snackbar.tsx +110 -0
- package/src/components/Snackbar/index.ts +32 -0
- package/src/components/Snackbar/useSnackbarAdapter.ts +28 -0
- package/src/components/Stack/Stack.tsx +26 -0
- package/src/components/Stack/index.ts +8 -0
- package/src/components/Switch/Switch.namespace.ts +12 -0
- package/src/components/Switch/Switch.tsx +102 -0
- package/src/components/Switch/index.ts +14 -0
- package/src/components/Tabs/Tabs.namespace.ts +18 -0
- package/src/components/Tabs/Tabs.tsx +62 -0
- package/src/components/Tabs/index.ts +20 -0
- package/src/components/TagGroup/TagGroup.namespace.ts +8 -0
- package/src/components/TagGroup/TagGroup.tsx +90 -0
- package/src/components/TagGroup/index.ts +10 -0
- package/src/components/Text/Text.tsx +169 -0
- package/src/components/Text/index.ts +1 -0
- package/src/components/TextField/TextField.namespace.ts +16 -0
- package/src/components/TextField/TextField.test.tsx +257 -0
- package/src/components/TextField/TextField.tsx +182 -0
- package/src/components/TextField/index.ts +23 -0
- package/src/components/TextField/memoize.ts +14 -0
- package/src/components/TextField/useTextFieldWithGraphemes.test.tsx +306 -0
- package/src/components/TextField/useTextFieldWithGraphemes.ts +65 -0
- package/src/components/ToggleButton/ToggleButton.tsx +36 -0
- package/src/components/ToggleButton/index.ts +4 -0
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +11 -0
- package/src/components/VisuallyHidden/index.ts +1 -0
- package/src/components/index.ts +68 -0
- package/src/components/private/Icon.tsx +16 -0
- package/src/components/private/useDismissible.tsx +86 -0
- package/src/hooks/useBreakpoint.test.tsx +94 -0
- package/src/hooks/useBreakpoint.ts +24 -0
- package/src/hooks/useBreakpointValue.test.tsx +102 -0
- package/src/hooks/useBreakpointValue.ts +33 -0
- package/src/index.ts +12 -0
- package/src/primitive.ts +12 -0
- package/src/primitives/breakpoint-store.ts +69 -0
- package/src/providers/BreakpointProvider.tsx +26 -0
- package/src/types/responsive.ts +19 -0
- package/src/utils/createRecipeContext.tsx +54 -0
- package/src/utils/createSlotRecipeContext.tsx +128 -0
- package/src/utils/createWithStateProps.tsx +33 -0
- package/src/utils/splitMultipleVariantsProps.d.ts +21 -0
- package/src/utils/splitMultipleVariantsProps.mjs +25 -0
- package/src/utils/styled.tsx +765 -0
- package/src/vars.ts +1 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { render } from "@testing-library/react";
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { describe, expect, it, mock } from "bun:test";
|
|
4
|
+
import type { ReactElement } from "react";
|
|
5
|
+
import React from "react";
|
|
6
|
+
|
|
7
|
+
import { TextFieldRoot, TextFieldInput } from "./TextField";
|
|
8
|
+
import {
|
|
9
|
+
FieldRoot,
|
|
10
|
+
FieldCharacterCount,
|
|
11
|
+
FieldLabel,
|
|
12
|
+
FieldFooter,
|
|
13
|
+
FieldHeader,
|
|
14
|
+
} from "../Field/Field";
|
|
15
|
+
import { useTextFieldWithGraphemes } from "./useTextFieldWithGraphemes";
|
|
16
|
+
|
|
17
|
+
function setUp(jsx: ReactElement) {
|
|
18
|
+
return {
|
|
19
|
+
user: userEvent.setup(),
|
|
20
|
+
...render(jsx),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface TextFieldWithGraphemesProps {
|
|
25
|
+
maxGraphemeCount?: number;
|
|
26
|
+
value?: string;
|
|
27
|
+
defaultValue?: string;
|
|
28
|
+
onValueChange?: (values: {
|
|
29
|
+
value: string;
|
|
30
|
+
graphemes: string[];
|
|
31
|
+
slicedValue: string;
|
|
32
|
+
slicedGraphemes: string[];
|
|
33
|
+
}) => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const TextFieldWithGraphemes = (props: TextFieldWithGraphemesProps) => {
|
|
37
|
+
const { textFieldRootProps, counterProps } = useTextFieldWithGraphemes(props);
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<FieldRoot>
|
|
41
|
+
<FieldHeader>
|
|
42
|
+
<FieldLabel>Text Field</FieldLabel>
|
|
43
|
+
</FieldHeader>
|
|
44
|
+
<TextFieldRoot {...textFieldRootProps}>
|
|
45
|
+
<TextFieldInput data-testid="input" />
|
|
46
|
+
</TextFieldRoot>
|
|
47
|
+
<FieldFooter>
|
|
48
|
+
<FieldCharacterCount {...counterProps} data-testid="counter" />
|
|
49
|
+
</FieldFooter>
|
|
50
|
+
</FieldRoot>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
describe("useTextFieldWithGraphemes", () => {
|
|
55
|
+
describe("basic functionality", () => {
|
|
56
|
+
it("should render with empty default value", () => {
|
|
57
|
+
const { getByTestId } = setUp(<TextFieldWithGraphemes />);
|
|
58
|
+
const input = getByTestId("input");
|
|
59
|
+
|
|
60
|
+
expect(input).toHaveValue("");
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it("should render with provided default value", () => {
|
|
64
|
+
const { getByTestId } = setUp(<TextFieldWithGraphemes defaultValue="Hello" />);
|
|
65
|
+
const input = getByTestId("input");
|
|
66
|
+
|
|
67
|
+
expect(input).toHaveValue("Hello");
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("should handle typing in uncontrolled mode", async () => {
|
|
71
|
+
const { getByTestId, user } = setUp(<TextFieldWithGraphemes />);
|
|
72
|
+
const input = getByTestId("input");
|
|
73
|
+
|
|
74
|
+
await user.type(input, "test");
|
|
75
|
+
expect(input).toHaveValue("test");
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("should handle controlled mode", async () => {
|
|
79
|
+
function ControlledComponent() {
|
|
80
|
+
const [value, setValue] = React.useState("initial");
|
|
81
|
+
return (
|
|
82
|
+
<TextFieldWithGraphemes value={value} onValueChange={({ value }) => setValue(value)} />
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const { getByTestId, user } = setUp(<ControlledComponent />);
|
|
87
|
+
const input = getByTestId("input");
|
|
88
|
+
|
|
89
|
+
expect(input).toHaveValue("initial");
|
|
90
|
+
|
|
91
|
+
await user.clear(input);
|
|
92
|
+
await user.type(input, "new");
|
|
93
|
+
|
|
94
|
+
expect(input).toHaveValue("new");
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it("should track grapheme count with counter", async () => {
|
|
98
|
+
const { getByTestId, user } = setUp(<TextFieldWithGraphemes maxGraphemeCount={20} />);
|
|
99
|
+
const input = getByTestId("input");
|
|
100
|
+
const counter = getByTestId("counter");
|
|
101
|
+
|
|
102
|
+
expect(counter).toHaveTextContent("0/20");
|
|
103
|
+
|
|
104
|
+
await user.type(input, "Hello");
|
|
105
|
+
expect(counter).toHaveTextContent("5/20");
|
|
106
|
+
|
|
107
|
+
await user.type(input, " 👨👩👧👦");
|
|
108
|
+
expect(counter).toHaveTextContent("7/20");
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
describe("counter functionality", () => {
|
|
113
|
+
it("should show the right character count with defaultValue", () => {
|
|
114
|
+
const { getByTestId } = setUp(
|
|
115
|
+
<TextFieldWithGraphemes maxGraphemeCount={10} defaultValue="Hello" />,
|
|
116
|
+
);
|
|
117
|
+
const counter = getByTestId("counter");
|
|
118
|
+
|
|
119
|
+
expect(counter).toBeInTheDocument();
|
|
120
|
+
expect(counter).toHaveTextContent("5/10");
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it("should update counter as user types", async () => {
|
|
124
|
+
const { getByTestId, user } = setUp(<TextFieldWithGraphemes maxGraphemeCount={10} />);
|
|
125
|
+
const input = getByTestId("input");
|
|
126
|
+
const counter = getByTestId("counter");
|
|
127
|
+
|
|
128
|
+
expect(counter).toHaveTextContent("0/10");
|
|
129
|
+
|
|
130
|
+
await user.type(input, "Test");
|
|
131
|
+
expect(counter).toHaveTextContent("4/10");
|
|
132
|
+
|
|
133
|
+
await user.clear(input);
|
|
134
|
+
expect(counter).toHaveTextContent("0/10");
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it("should handle maxGraphemes of 0", () => {
|
|
138
|
+
const { getByTestId } = setUp(
|
|
139
|
+
<TextFieldWithGraphemes maxGraphemeCount={0} defaultValue="Test" />,
|
|
140
|
+
);
|
|
141
|
+
const counter = getByTestId("counter");
|
|
142
|
+
|
|
143
|
+
expect(counter).toHaveTextContent("4/0");
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
describe("onValueChange callback", () => {
|
|
148
|
+
type ValueChangeParams = {
|
|
149
|
+
value: string;
|
|
150
|
+
graphemes: string[];
|
|
151
|
+
slicedValue: string;
|
|
152
|
+
slicedGraphemes: string[];
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
it("should call onValueChange with correct parameters", async () => {
|
|
156
|
+
const handleValueChange = mock<(params: ValueChangeParams) => void>(() => {});
|
|
157
|
+
const { getByTestId, user } = setUp(
|
|
158
|
+
<TextFieldWithGraphemes onValueChange={handleValueChange} />,
|
|
159
|
+
);
|
|
160
|
+
const input = getByTestId("input");
|
|
161
|
+
|
|
162
|
+
await user.type(input, "H");
|
|
163
|
+
expect(handleValueChange).toHaveBeenLastCalledWith({
|
|
164
|
+
value: "H",
|
|
165
|
+
graphemes: ["H"],
|
|
166
|
+
slicedValue: "H",
|
|
167
|
+
slicedGraphemes: ["H"],
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
await user.type(input, "i");
|
|
171
|
+
expect(handleValueChange).toHaveBeenLastCalledWith({
|
|
172
|
+
value: "Hi",
|
|
173
|
+
graphemes: ["H", "i"],
|
|
174
|
+
slicedValue: "Hi",
|
|
175
|
+
slicedGraphemes: ["H", "i"],
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
it("should provide sliced values when maxGraphemes is set", async () => {
|
|
180
|
+
const handleValueChange = mock<(params: ValueChangeParams) => void>(() => {});
|
|
181
|
+
const { getByTestId, user } = setUp(
|
|
182
|
+
<TextFieldWithGraphemes maxGraphemeCount={3} onValueChange={handleValueChange} />,
|
|
183
|
+
);
|
|
184
|
+
const input = getByTestId("input");
|
|
185
|
+
|
|
186
|
+
await user.type(input, "Hello");
|
|
187
|
+
|
|
188
|
+
const lastCall = handleValueChange.mock.calls[handleValueChange.mock.calls.length - 1]?.[0];
|
|
189
|
+
if (!lastCall) throw new Error("Expected lastCall to be defined");
|
|
190
|
+
|
|
191
|
+
expect(lastCall.value).toBe("Hello");
|
|
192
|
+
expect(lastCall.graphemes).toEqual(["H", "e", "l", "l", "o"]);
|
|
193
|
+
expect(lastCall.slicedValue).toBe("Hel");
|
|
194
|
+
expect(lastCall.slicedGraphemes).toEqual(["H", "e", "l"]);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
it("should handle empty string", async () => {
|
|
198
|
+
const handleValueChange = mock(() => {});
|
|
199
|
+
const { getByTestId, user } = setUp(
|
|
200
|
+
<TextFieldWithGraphemes defaultValue="Test" onValueChange={handleValueChange} />,
|
|
201
|
+
);
|
|
202
|
+
const input = getByTestId("input");
|
|
203
|
+
|
|
204
|
+
await user.clear(input);
|
|
205
|
+
|
|
206
|
+
expect(handleValueChange).toHaveBeenLastCalledWith({
|
|
207
|
+
value: "",
|
|
208
|
+
graphemes: [],
|
|
209
|
+
slicedValue: "",
|
|
210
|
+
slicedGraphemes: [],
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
it("should be called in both controlled and uncontrolled modes", async () => {
|
|
215
|
+
const handleUncontrolled = mock<(params: ValueChangeParams) => void>(() => {});
|
|
216
|
+
const handleControlled = mock<(params: ValueChangeParams) => void>(() => {});
|
|
217
|
+
|
|
218
|
+
function TestBothModes() {
|
|
219
|
+
const [controlledValue, setControlledValue] = React.useState("controlled");
|
|
220
|
+
|
|
221
|
+
return (
|
|
222
|
+
<>
|
|
223
|
+
<TextFieldWithGraphemes
|
|
224
|
+
defaultValue="uncontrolled"
|
|
225
|
+
onValueChange={handleUncontrolled}
|
|
226
|
+
/>
|
|
227
|
+
<TextFieldWithGraphemes
|
|
228
|
+
value={controlledValue}
|
|
229
|
+
onValueChange={(values) => {
|
|
230
|
+
handleControlled(values);
|
|
231
|
+
setControlledValue(values.value);
|
|
232
|
+
}}
|
|
233
|
+
/>
|
|
234
|
+
</>
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const { getAllByTestId, user } = setUp(<TestBothModes />);
|
|
239
|
+
const [uncontrolledInput, controlledInput] = getAllByTestId("input");
|
|
240
|
+
|
|
241
|
+
await user.type(uncontrolledInput, "!");
|
|
242
|
+
await user.type(controlledInput, "!");
|
|
243
|
+
|
|
244
|
+
expect(handleUncontrolled).toHaveBeenCalled();
|
|
245
|
+
expect(handleControlled).toHaveBeenCalled();
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
describe("controlled vs uncontrolled", () => {
|
|
250
|
+
it("should maintain internal state in uncontrolled mode", async () => {
|
|
251
|
+
const { getByTestId, user } = setUp(<TextFieldWithGraphemes defaultValue="initial" />);
|
|
252
|
+
const input = getByTestId("input");
|
|
253
|
+
|
|
254
|
+
expect(input).toHaveValue("initial");
|
|
255
|
+
|
|
256
|
+
await user.clear(input);
|
|
257
|
+
await user.type(input, "changed");
|
|
258
|
+
expect(input).toHaveValue("changed");
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
it("should not update without onValueChange in controlled mode", async () => {
|
|
262
|
+
const { getByTestId, user } = setUp(<TextFieldWithGraphemes value="fixed" />);
|
|
263
|
+
const input = getByTestId("input");
|
|
264
|
+
|
|
265
|
+
expect(input).toHaveValue("fixed");
|
|
266
|
+
|
|
267
|
+
await user.type(input, "test");
|
|
268
|
+
expect(input).toHaveValue("fixed");
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
describe("edge cases", () => {
|
|
273
|
+
it("should handle very long text", () => {
|
|
274
|
+
const longText = "a".repeat(1000);
|
|
275
|
+
const { getByTestId } = setUp(
|
|
276
|
+
<TextFieldWithGraphemes defaultValue={longText} maxGraphemeCount={2000} />,
|
|
277
|
+
);
|
|
278
|
+
const counter = getByTestId("counter");
|
|
279
|
+
|
|
280
|
+
expect(counter).toHaveTextContent("1000/2000");
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
it("should handle special unicode characters", () => {
|
|
284
|
+
const { getByTestId } = setUp(
|
|
285
|
+
<TextFieldWithGraphemes defaultValue="👫🏼é🏳️🌈" maxGraphemeCount={2} />,
|
|
286
|
+
);
|
|
287
|
+
const counter = getByTestId("counter");
|
|
288
|
+
|
|
289
|
+
// 3 graphemes: family emoji, rainbow flag, é
|
|
290
|
+
expect(counter).toHaveTextContent("3/2");
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
it("should call onValueChange even when value doesn't change in controlled mode", async () => {
|
|
294
|
+
const handleValueChange = mock(() => {});
|
|
295
|
+
const { getByTestId, user } = setUp(
|
|
296
|
+
<TextFieldWithGraphemes value="fixed" onValueChange={handleValueChange} />,
|
|
297
|
+
);
|
|
298
|
+
const input = getByTestId("input");
|
|
299
|
+
|
|
300
|
+
await user.type(input, "test");
|
|
301
|
+
|
|
302
|
+
expect(handleValueChange).toHaveBeenCalled();
|
|
303
|
+
expect(input).toHaveValue("fixed");
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useState, useMemo, useCallback } from "react";
|
|
2
|
+
import { splitGraphemes } from "unicode-segmenter/grapheme";
|
|
3
|
+
import { memoize } from "./memoize";
|
|
4
|
+
|
|
5
|
+
export interface UseTextFieldWithGraphemesParams {
|
|
6
|
+
maxGraphemeCount?: number;
|
|
7
|
+
value?: string;
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
onValueChange?: (values: {
|
|
10
|
+
value: string;
|
|
11
|
+
graphemes: string[];
|
|
12
|
+
slicedValue: string;
|
|
13
|
+
slicedGraphemes: string[];
|
|
14
|
+
}) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const getGraphemes = (string: string) => Array.from(splitGraphemes(string));
|
|
18
|
+
const memoizedGetGraphemes = memoize(getGraphemes);
|
|
19
|
+
|
|
20
|
+
export function useTextFieldWithGraphemes({
|
|
21
|
+
maxGraphemeCount,
|
|
22
|
+
value: controlledValue,
|
|
23
|
+
defaultValue = "",
|
|
24
|
+
onValueChange,
|
|
25
|
+
}: UseTextFieldWithGraphemesParams) {
|
|
26
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
|
|
27
|
+
const isControlled = controlledValue !== undefined;
|
|
28
|
+
const value = isControlled ? controlledValue : uncontrolledValue;
|
|
29
|
+
|
|
30
|
+
const graphemes = useMemo(() => memoizedGetGraphemes(value), [value]);
|
|
31
|
+
|
|
32
|
+
const handleValueChange = useCallback(
|
|
33
|
+
(newValue: string) => {
|
|
34
|
+
const newGraphemes = memoizedGetGraphemes(newValue);
|
|
35
|
+
const newSlicedGraphemes =
|
|
36
|
+
maxGraphemeCount === undefined ? newGraphemes : newGraphemes.slice(0, maxGraphemeCount);
|
|
37
|
+
const newSlicedValue = newSlicedGraphemes.join("");
|
|
38
|
+
|
|
39
|
+
// Update internal state if uncontrolled
|
|
40
|
+
if (!isControlled) {
|
|
41
|
+
setUncontrolledValue(newValue);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
onValueChange?.({
|
|
45
|
+
value: newValue,
|
|
46
|
+
graphemes: newGraphemes,
|
|
47
|
+
slicedValue: newSlicedValue,
|
|
48
|
+
slicedGraphemes: newSlicedGraphemes,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
[isControlled, maxGraphemeCount, onValueChange],
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
textFieldRootProps: {
|
|
56
|
+
value,
|
|
57
|
+
onValueChange: handleValueChange,
|
|
58
|
+
},
|
|
59
|
+
counterProps: {
|
|
60
|
+
current: graphemes.length,
|
|
61
|
+
max: maxGraphemeCount ?? 0,
|
|
62
|
+
},
|
|
63
|
+
graphemes,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
toggleButton,
|
|
3
|
+
type ToggleButtonVariantProps,
|
|
4
|
+
} from "@seed-design/css/recipes/toggle-button";
|
|
5
|
+
import { Toggle as TogglePrimitive } from "@seed-design/react-toggle";
|
|
6
|
+
import clsx from "clsx";
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import {
|
|
9
|
+
PendingButtonProvider,
|
|
10
|
+
usePendingButton,
|
|
11
|
+
type UsePendingButtonProps,
|
|
12
|
+
} from "../LoadingIndicator/usePendingButton";
|
|
13
|
+
|
|
14
|
+
export interface ToggleButtonProps
|
|
15
|
+
extends ToggleButtonVariantProps,
|
|
16
|
+
UsePendingButtonProps,
|
|
17
|
+
TogglePrimitive.RootProps {}
|
|
18
|
+
|
|
19
|
+
export const ToggleButton = React.forwardRef<HTMLButtonElement, ToggleButtonProps>(
|
|
20
|
+
({ variant = "brandSolid", size = "small", loading = false, className, ...otherProps }, ref) => {
|
|
21
|
+
const recipeClassName = toggleButton({ variant, size });
|
|
22
|
+
const api = usePendingButton({ loading, disabled: otherProps.disabled });
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<PendingButtonProvider value={api}>
|
|
26
|
+
<TogglePrimitive.Root
|
|
27
|
+
ref={ref}
|
|
28
|
+
className={clsx(recipeClassName, className)}
|
|
29
|
+
{...api.stateProps}
|
|
30
|
+
{...otherProps}
|
|
31
|
+
/>
|
|
32
|
+
</PendingButtonProvider>
|
|
33
|
+
);
|
|
34
|
+
},
|
|
35
|
+
);
|
|
36
|
+
ToggleButton.displayName = "ToggleButton";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { visuallyHidden } from "@seed-design/dom-utils";
|
|
2
|
+
import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
|
|
3
|
+
import type * as React from "react";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
|
|
6
|
+
export interface VisuallyHiddenProps extends PrimitiveProps, React.HTMLAttributes<HTMLDivElement> {}
|
|
7
|
+
|
|
8
|
+
export const VisuallyHidden = forwardRef<HTMLDivElement, VisuallyHiddenProps>((props, ref) => {
|
|
9
|
+
const { style, ...otherProps } = props;
|
|
10
|
+
return <Primitive.div ref={ref} style={{ ...visuallyHidden, ...style }} {...otherProps} />;
|
|
11
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { VisuallyHidden, type VisuallyHiddenProps } from "./VisuallyHidden";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export * from "./ActionButton";
|
|
2
|
+
export * from "./ActionChip";
|
|
3
|
+
export * from "./ActionSheet";
|
|
4
|
+
export * from "./Article";
|
|
5
|
+
export * from "./AspectRatio";
|
|
6
|
+
export * from "./Avatar";
|
|
7
|
+
export * from "./Badge";
|
|
8
|
+
export * from "./BottomSheet";
|
|
9
|
+
export * from "./Box";
|
|
10
|
+
export * from "./Callout";
|
|
11
|
+
export * from "./Celsius";
|
|
12
|
+
export * from "./Checkbox";
|
|
13
|
+
export * from "./Chip";
|
|
14
|
+
export * from "./ChipTabs";
|
|
15
|
+
export * from "./Columns";
|
|
16
|
+
export * from "./ConsistentWidth";
|
|
17
|
+
export * from "./ContentPlaceholder";
|
|
18
|
+
export * from "./ContextualFloatingButton";
|
|
19
|
+
export * from "./ControlChip";
|
|
20
|
+
export * from "./Count";
|
|
21
|
+
export * from "./Dialog";
|
|
22
|
+
export * from "./Divider";
|
|
23
|
+
export * from "./ExtendedActionSheet";
|
|
24
|
+
export * from "./ExtendedFab";
|
|
25
|
+
export * from "./Fab";
|
|
26
|
+
export * from "./Field";
|
|
27
|
+
export * from "./FieldButton";
|
|
28
|
+
export * from "./Fieldset";
|
|
29
|
+
export * from "./Flex";
|
|
30
|
+
export * from "./Float";
|
|
31
|
+
export * from "./FloatingActionButton";
|
|
32
|
+
export * from "./Grid";
|
|
33
|
+
export * from "./GridItem";
|
|
34
|
+
export * from "./HelpBubble";
|
|
35
|
+
export * from "./Icon";
|
|
36
|
+
export * from "./IdentityPlaceholder";
|
|
37
|
+
export * from "./ImageFrame";
|
|
38
|
+
export * from "./Inline";
|
|
39
|
+
export * from "./InlineBanner";
|
|
40
|
+
export * from "./LinkContent";
|
|
41
|
+
export * from "./List";
|
|
42
|
+
export * from "./LoadingIndicator";
|
|
43
|
+
export * from "./MannerTemp";
|
|
44
|
+
export * from "./MannerTempBadge";
|
|
45
|
+
export * from "./MenuSheet";
|
|
46
|
+
export * from "./NotificationBadge";
|
|
47
|
+
export * from "./PageBanner";
|
|
48
|
+
export * from "./Portal";
|
|
49
|
+
export * from "./ProgressCircle";
|
|
50
|
+
export * from "./PullToRefresh";
|
|
51
|
+
export * from "./RadioGroup";
|
|
52
|
+
export * from "./RadioGroupField";
|
|
53
|
+
export * from "./ReactionButton";
|
|
54
|
+
export * from "./ResponsivePair";
|
|
55
|
+
export * from "./ScrollFog";
|
|
56
|
+
export * from "./SegmentedControl";
|
|
57
|
+
export * from "./SelectBox";
|
|
58
|
+
export * from "./Skeleton";
|
|
59
|
+
export * from "./Slider";
|
|
60
|
+
export * from "./Snackbar";
|
|
61
|
+
export * from "./Stack";
|
|
62
|
+
export * from "./Switch";
|
|
63
|
+
export * from "./Tabs";
|
|
64
|
+
export * from "./TagGroup";
|
|
65
|
+
export * from "./Text";
|
|
66
|
+
export * from "./TextField";
|
|
67
|
+
export * from "./ToggleButton";
|
|
68
|
+
export * from "./VisuallyHidden";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
|
|
4
|
+
export interface InternalIconProps {
|
|
5
|
+
svg: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const InternalIcon = forwardRef<SVGSVGElement, InternalIconProps>(
|
|
9
|
+
({ svg, ...otherProps }, ref) => {
|
|
10
|
+
return (
|
|
11
|
+
<Slot ref={ref as React.ForwardedRef<HTMLElement>} aria-hidden {...otherProps}>
|
|
12
|
+
{svg}
|
|
13
|
+
</Slot>
|
|
14
|
+
);
|
|
15
|
+
},
|
|
16
|
+
);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
|
2
|
+
import { buttonProps, elementProps, mergeProps } from "@seed-design/dom-utils";
|
|
3
|
+
import { Primitive, type PrimitiveProps } from "@seed-design/react-primitive";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
|
|
6
|
+
export interface UseDismissibleProps {
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
open?: boolean;
|
|
9
|
+
onDismiss?: () => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type UseDismissibleReturn = ReturnType<typeof useDismissible>;
|
|
13
|
+
|
|
14
|
+
export function useDismissible(props: UseDismissibleProps) {
|
|
15
|
+
const [open = true, setOpen] = useControllableState({
|
|
16
|
+
prop: props.open,
|
|
17
|
+
defaultProp: props.defaultOpen,
|
|
18
|
+
onChange: (open) => {
|
|
19
|
+
if (!open) {
|
|
20
|
+
props.onDismiss?.();
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const dismiss = React.useCallback(() => setOpen(false), [setOpen]);
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
open,
|
|
29
|
+
dismiss,
|
|
30
|
+
|
|
31
|
+
rootProps: elementProps({}),
|
|
32
|
+
|
|
33
|
+
dismissButtonProps: buttonProps({
|
|
34
|
+
onClick: (e) => {
|
|
35
|
+
if (e.defaultPrevented) return;
|
|
36
|
+
|
|
37
|
+
dismiss();
|
|
38
|
+
},
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const DismissibleContext = React.createContext<ReturnType<typeof useDismissible> | null>(null);
|
|
44
|
+
|
|
45
|
+
export const DismissibleProvider = DismissibleContext.Provider;
|
|
46
|
+
|
|
47
|
+
export const useDismissibleContext = () => {
|
|
48
|
+
const context = React.useContext(DismissibleContext);
|
|
49
|
+
if (context === null) {
|
|
50
|
+
throw new Error("useDismissibleContext should be used within DismissibleProvider");
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return context;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export interface DismissibleRootProps
|
|
57
|
+
extends PrimitiveProps,
|
|
58
|
+
UseDismissibleProps,
|
|
59
|
+
React.HTMLAttributes<HTMLDivElement> {}
|
|
60
|
+
|
|
61
|
+
export const DismissibleRoot = React.forwardRef<HTMLDivElement, DismissibleRootProps>(
|
|
62
|
+
({ defaultOpen, open, onDismiss, ...otherProps }, ref) => {
|
|
63
|
+
const api = useDismissible({ defaultOpen, open, onDismiss });
|
|
64
|
+
|
|
65
|
+
if (!api.open) return null;
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<DismissibleProvider value={api}>
|
|
69
|
+
<Primitive.div ref={ref} {...otherProps} />
|
|
70
|
+
</DismissibleProvider>
|
|
71
|
+
);
|
|
72
|
+
},
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export interface DismissibleCloseButtonProps
|
|
76
|
+
extends PrimitiveProps,
|
|
77
|
+
React.HTMLAttributes<HTMLButtonElement> {}
|
|
78
|
+
|
|
79
|
+
export const DismissibleCloseButton = React.forwardRef<
|
|
80
|
+
HTMLButtonElement,
|
|
81
|
+
DismissibleCloseButtonProps
|
|
82
|
+
>((props, ref) => {
|
|
83
|
+
const { dismissButtonProps } = useDismissibleContext();
|
|
84
|
+
|
|
85
|
+
return <Primitive.button ref={ref} {...mergeProps(dismissButtonProps, props)} />;
|
|
86
|
+
});
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { act, renderHook } from "@testing-library/react";
|
|
2
|
+
import { beforeEach, describe, expect, it, mock } from "bun:test";
|
|
3
|
+
import type * as React from "react";
|
|
4
|
+
|
|
5
|
+
import { BreakpointProvider } from "../providers/BreakpointProvider";
|
|
6
|
+
import { useBreakpoint } from "./useBreakpoint";
|
|
7
|
+
|
|
8
|
+
type ChangeHandler = (e: { matches: boolean }) => void;
|
|
9
|
+
|
|
10
|
+
let currentWidth = 0;
|
|
11
|
+
const entries = new Map<string, { minWidth: number; handlers: Set<ChangeHandler> }>();
|
|
12
|
+
|
|
13
|
+
function mockMatchMedia(query: string) {
|
|
14
|
+
const match = query.match(/min-width:\s*(\d+)px/);
|
|
15
|
+
const minWidth = match ? Number(match[1]) : 0;
|
|
16
|
+
const entry = entries.get(query) ?? { minWidth, handlers: new Set<ChangeHandler>() };
|
|
17
|
+
entries.set(query, entry);
|
|
18
|
+
return {
|
|
19
|
+
get matches() {
|
|
20
|
+
return currentWidth >= entry.minWidth;
|
|
21
|
+
},
|
|
22
|
+
media: query,
|
|
23
|
+
addEventListener(_: string, handler: ChangeHandler) {
|
|
24
|
+
entry.handlers.add(handler);
|
|
25
|
+
},
|
|
26
|
+
removeEventListener(_: string, handler: ChangeHandler) {
|
|
27
|
+
entry.handlers.delete(handler);
|
|
28
|
+
},
|
|
29
|
+
onchange: null,
|
|
30
|
+
addListener: mock(),
|
|
31
|
+
removeListener: mock(),
|
|
32
|
+
dispatchEvent: () => false,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function setViewport(minWidthPx: number) {
|
|
37
|
+
currentWidth = minWidthPx;
|
|
38
|
+
for (const [, entry] of entries) {
|
|
39
|
+
const nowMatches = currentWidth >= entry.minWidth;
|
|
40
|
+
for (const handler of entry.handlers) {
|
|
41
|
+
handler({ matches: nowMatches });
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
beforeEach(() => {
|
|
47
|
+
currentWidth = 0;
|
|
48
|
+
entries.clear();
|
|
49
|
+
window.matchMedia = mockMatchMedia as unknown as typeof window.matchMedia;
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
describe("useBreakpoint", () => {
|
|
53
|
+
it("returns 'base' when no media query matches", () => {
|
|
54
|
+
const { result } = renderHook(() => useBreakpoint());
|
|
55
|
+
expect(result.current).toBe("base");
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("returns 'md' when viewport is 768px", () => {
|
|
59
|
+
currentWidth = 768;
|
|
60
|
+
const { result } = renderHook(() => useBreakpoint());
|
|
61
|
+
expect(result.current).toBe("md");
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("returns the largest matching breakpoint", () => {
|
|
65
|
+
currentWidth = 1440;
|
|
66
|
+
const { result } = renderHook(() => useBreakpoint());
|
|
67
|
+
expect(result.current).toBe("xl");
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("updates when viewport changes", () => {
|
|
71
|
+
const { result } = renderHook(() => useBreakpoint());
|
|
72
|
+
expect(result.current).toBe("base");
|
|
73
|
+
|
|
74
|
+
act(() => setViewport(768));
|
|
75
|
+
expect(result.current).toBe("md");
|
|
76
|
+
|
|
77
|
+
act(() => setViewport(1280));
|
|
78
|
+
expect(result.current).toBe("lg");
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("respects defaultBreakpoint option", () => {
|
|
82
|
+
const { result } = renderHook(() => useBreakpoint({ defaultBreakpoint: "lg" }));
|
|
83
|
+
expect(result.current).toBe("base");
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("uses BreakpointProvider context when wrapped", () => {
|
|
87
|
+
currentWidth = 768;
|
|
88
|
+
const wrapper = ({ children }: { children: React.ReactNode }) => (
|
|
89
|
+
<BreakpointProvider>{children}</BreakpointProvider>
|
|
90
|
+
);
|
|
91
|
+
const { result } = renderHook(() => useBreakpoint(), { wrapper });
|
|
92
|
+
expect(result.current).toBe("md");
|
|
93
|
+
});
|
|
94
|
+
});
|