reshaped 3.4.1 → 3.4.3
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/CHANGELOG.md +4 -0
- package/dist/bundle.css +1 -1
- package/dist/bundle.d.ts +8 -6
- package/dist/bundle.js +11 -11
- package/dist/cjs/cli/theming/index.js +0 -1
- package/dist/cjs/themes/_generator/definitions/figma.d.ts +1 -1
- package/dist/cjs/themes/_generator/definitions/figma.js +6 -5
- package/dist/cjs/themes/_generator/utilities/color.js +11 -11
- package/dist/cjs/themes/_generator/utilities/generateBackgroundColors.js +0 -2
- package/dist/cjs/themes/_generator/utilities/generateColors.js +1 -1
- package/dist/cjs/themes/_generator/utilities/generateUnits.js +0 -1
- package/dist/cjs/themes/_generator/utilities/mergeDeep.js +1 -1
- package/dist/cjs/themes/_generator/utilities/resolveTokenReference.js +2 -0
- package/dist/cjs/themes/figma/tailwind.css +1 -1
- package/dist/cjs/themes/figma/theme.css +1 -1
- package/dist/cli/theming/index.js +0 -1
- package/dist/components/Accordion/Accordion.d.ts +9 -2
- package/dist/components/Accordion/Accordion.js +1 -0
- package/dist/components/Accordion/AccordionContent.d.ts +4 -1
- package/dist/components/Accordion/AccordionContent.js +1 -0
- package/dist/components/Accordion/AccordionControlled.d.ts +4 -1
- package/dist/components/Accordion/AccordionControlled.js +1 -0
- package/dist/components/Accordion/AccordionTrigger.d.ts +4 -1
- package/dist/components/Accordion/AccordionTrigger.js +1 -0
- package/dist/components/Accordion/AccordionUncontrolled.d.ts +4 -1
- package/dist/components/Accordion/AccordionUncontrolled.js +1 -0
- package/dist/components/Accordion/tests/Accordion.stories.d.ts +9 -2
- package/dist/components/Accordion/tests/Accordion.stories.js +1 -1
- package/dist/components/ActionBar/ActionBar.d.ts +4 -1
- package/dist/components/ActionBar/ActionBar.js +1 -0
- package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +4 -1
- package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +4 -1
- package/dist/components/Actionable/Actionable.js +3 -0
- package/dist/components/Actionable/tests/Actionable.stories.js +1 -1
- package/dist/components/Actionable/tests/Actionable.test.stories.js +1 -1
- package/dist/components/Alert/Alert.d.ts +4 -1
- package/dist/components/Alert/Alert.js +1 -0
- package/dist/components/Alert/tests/Alert.stories.d.ts +4 -1
- package/dist/components/Alert/tests/Alert.test.stories.d.ts +4 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +5 -1
- package/dist/components/Autocomplete/Autocomplete.js +3 -0
- package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +5 -1
- package/dist/components/Autocomplete/tests/Autocomplete.test.stories.d.ts +5 -1
- package/dist/components/Avatar/Avatar.d.ts +4 -1
- package/dist/components/Avatar/Avatar.js +1 -0
- package/dist/components/Avatar/tests/Avatar.stories.d.ts +4 -1
- package/dist/components/Avatar/tests/Avatar.test.stories.d.ts +4 -1
- package/dist/components/Badge/Badge.js +1 -0
- package/dist/components/Badge/BadgeContainer.d.ts +4 -1
- package/dist/components/Badge/BadgeContainer.js +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +1 -0
- package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts +4 -1
- package/dist/components/Breadcrumbs/BreadcrumbsItem.js +1 -0
- package/dist/components/Breadcrumbs/index.d.ts +4 -1
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +8 -2
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.test.stories.d.ts +8 -2
- package/dist/components/Button/Button.js +1 -0
- package/dist/components/Button/ButtonAligner.d.ts +4 -1
- package/dist/components/Button/ButtonAligner.js +1 -0
- package/dist/components/Button/ButtonGroup.d.ts +4 -1
- package/dist/components/Button/ButtonGroup.js +1 -0
- package/dist/components/Calendar/Calendar.d.ts +4 -1
- package/dist/components/Calendar/Calendar.js +1 -0
- package/dist/components/Calendar/Calendar.module.css +1 -1
- package/dist/components/Calendar/Calendar.types.d.ts +4 -4
- package/dist/components/Calendar/CalendarControlled.d.ts +4 -1
- package/dist/components/Calendar/CalendarControlled.js +3 -2
- package/dist/components/Calendar/CalendarControls.d.ts +4 -1
- package/dist/components/Calendar/CalendarControls.js +1 -0
- package/dist/components/Calendar/CalendarDate.d.ts +4 -1
- package/dist/components/Calendar/CalendarDate.js +30 -11
- package/dist/components/Calendar/CalendarMonth.d.ts +4 -1
- package/dist/components/Calendar/CalendarMonth.js +3 -6
- package/dist/components/Calendar/CalendarUncontrolled.d.ts +4 -1
- package/dist/components/Calendar/CalendarUncontrolled.js +1 -0
- package/dist/components/Calendar/CalendarYear.d.ts +4 -1
- package/dist/components/Calendar/CalendarYear.js +1 -0
- package/dist/components/Calendar/tests/Calendar.stories.d.ts +23 -6
- package/dist/components/Calendar/tests/Calendar.stories.js +237 -27
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +3 -4
- package/dist/components/Card/tests/Card.stories.d.ts +1 -1
- package/dist/components/Card/tests/Card.test.stories.d.ts +1 -1
- package/dist/components/Carousel/Carousel.d.ts +4 -1
- package/dist/components/Carousel/Carousel.js +2 -2
- package/dist/components/Carousel/Carousel.types.d.ts +1 -5
- package/dist/components/Carousel/Carousel.types.js +1 -5
- package/dist/components/Carousel/CarouselControl.d.ts +4 -1
- package/dist/components/Carousel/CarouselControl.js +3 -3
- package/dist/components/Carousel/tests/Carousel.stories.d.ts +4 -1
- package/dist/components/Checkbox/Checkbox.d.ts +4 -1
- package/dist/components/Checkbox/Checkbox.js +1 -0
- package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +4 -1
- package/dist/components/Checkbox/tests/Checkbox.test.stories.d.ts +4 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +4 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroupControlled.d.ts +4 -1
- package/dist/components/CheckboxGroup/CheckboxGroupControlled.js +1 -0
- package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.d.ts +4 -1
- package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.js +1 -0
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +4 -1
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.test.stories.d.ts +4 -1
- package/dist/components/Container/Container.d.ts +4 -1
- package/dist/components/Container/Container.js +1 -0
- package/dist/components/Container/tests/Container.stories.d.ts +4 -1
- package/dist/components/Container/tests/Container.stories.js +1 -1
- package/dist/components/Container/tests/Container.test.stories.d.ts +4 -1
- package/dist/components/Container/tests/Container.test.stories.js +1 -1
- package/dist/components/ContextMenu/ContextMenu.d.ts +21 -5
- package/dist/components/ContextMenu/ContextMenu.js +1 -0
- package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +21 -5
- package/dist/components/ContextMenu/tests/ContextMenu.test.stories.d.ts +21 -5
- package/dist/components/Dismissible/Dismissible.d.ts +4 -1
- package/dist/components/Dismissible/Dismissible.js +1 -0
- package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +4 -1
- package/dist/components/Dismissible/tests/Dismissible.stories.js +1 -1
- package/dist/components/Dismissible/tests/Dismissible.test.stories.d.ts +4 -1
- package/dist/components/Dismissible/tests/Dismissible.test.stories.js +1 -1
- package/dist/components/Divider/Divider.d.ts +4 -1
- package/dist/components/Divider/Divider.js +1 -0
- package/dist/components/Divider/tests/Divider.stories.d.ts +4 -1
- package/dist/components/Divider/tests/Divider.test.stories.d.ts +4 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +29 -7
- package/dist/components/DropdownMenu/DropdownMenu.js +7 -1
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +29 -7
- package/dist/components/DropdownMenu/tests/DropdownMenu.test.stories.d.ts +29 -7
- package/dist/components/FileUpload/FileUpload.d.ts +5 -1
- package/dist/components/FileUpload/FileUpload.js +2 -0
- package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +5 -1
- package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +5 -1
- package/dist/components/FormControl/FormControl.context.d.ts +4 -0
- package/dist/components/FormControl/FormControl.js +1 -0
- package/dist/components/FormControl/FormControlError.d.ts +4 -1
- package/dist/components/FormControl/FormControlError.js +1 -0
- package/dist/components/FormControl/FormControlHelper.d.ts +4 -1
- package/dist/components/FormControl/FormControlHelper.js +1 -0
- package/dist/components/FormControl/FormControlLabel.d.ts +4 -1
- package/dist/components/FormControl/FormControlLabel.js +1 -0
- package/dist/components/FormControl/tests/FormControl.stories.js +1 -1
- package/dist/components/FormControl/tests/FormControl.test.stories.js +1 -1
- package/dist/components/Grid/Grid.d.ts +5 -1
- package/dist/components/Grid/Grid.js +10 -2
- package/dist/components/Grid/tests/Grid.stories.d.ts +5 -1
- package/dist/components/Grid/tests/Grid.stories.js +1 -1
- package/dist/components/Grid/tests/Grid.test.stories.d.ts +5 -1
- package/dist/components/Grid/tests/Grid.test.stories.js +1 -1
- package/dist/components/Hidden/Hidden.d.ts +4 -1
- package/dist/components/Hidden/Hidden.js +1 -0
- package/dist/components/Hidden/tests/Hidden.stories.d.ts +4 -1
- package/dist/components/Hidden/tests/Hidden.stories.js +1 -1
- package/dist/components/Hidden/tests/Hidden.test.stories.d.ts +4 -1
- package/dist/components/Hidden/tests/Hidden.test.stories.js +1 -1
- package/dist/components/HiddenVisually/HiddenVisually.d.ts +4 -1
- package/dist/components/HiddenVisually/HiddenVisually.js +1 -0
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +4 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +1 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.d.ts +4 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.test.stories.js +1 -1
- package/dist/components/Hotkey/Hotkey.d.ts +4 -1
- package/dist/components/Hotkey/Hotkey.js +1 -0
- package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +4 -1
- package/dist/components/Hotkey/tests/Hotkey.test.stories.d.ts +4 -1
- package/dist/components/Icon/Icon.d.ts +4 -1
- package/dist/components/Icon/Icon.js +2 -3
- package/dist/components/Icon/tests/Icon.stories.d.ts +4 -1
- package/dist/components/Icon/tests/Icon.stories.js +1 -1
- package/dist/components/Icon/tests/Icon.test.stories.d.ts +4 -1
- package/dist/components/Icon/tests/Icon.test.stories.js +1 -1
- package/dist/components/Image/Image.d.ts +4 -1
- package/dist/components/Image/Image.js +1 -0
- package/dist/components/Image/tests/Image.stories.d.ts +4 -1
- package/dist/components/Image/tests/Image.stories.js +1 -1
- package/dist/components/Image/tests/Image.test.stories.d.ts +4 -1
- package/dist/components/Image/tests/Image.test.stories.js +1 -1
- package/dist/components/Link/Link.js +1 -0
- package/dist/components/Loader/Loader.d.ts +4 -1
- package/dist/components/Loader/Loader.js +1 -0
- package/dist/components/Loader/tests/Loader.stories.d.ts +4 -1
- package/dist/components/Loader/tests/Loader.test.stories.d.ts +4 -1
- package/dist/components/MenuItem/MenuItem.js +1 -0
- package/dist/components/MenuItem/MenuItemAligner.d.ts +4 -1
- package/dist/components/MenuItem/MenuItemAligner.js +1 -0
- package/dist/components/Modal/Modal.d.ts +9 -2
- package/dist/components/Modal/Modal.js +3 -0
- package/dist/components/Modal/tests/Modal.stories.d.ts +9 -2
- package/dist/components/Modal/tests/Modal.test.stories.d.ts +9 -2
- package/dist/components/Overlay/Overlay.d.ts +4 -1
- package/dist/components/Overlay/Overlay.js +1 -0
- package/dist/components/Overlay/tests/Overlay.stories.d.ts +4 -1
- package/dist/components/Overlay/tests/Overlay.stories.js +1 -1
- package/dist/components/Overlay/tests/Overlay.test.stories.d.ts +4 -1
- package/dist/components/Overlay/tests/Overlay.test.stories.js +1 -1
- package/dist/components/Pagination/Pagination.d.ts +4 -1
- package/dist/components/Pagination/Pagination.js +1 -0
- package/dist/components/Pagination/PaginationControlled.d.ts +4 -1
- package/dist/components/Pagination/PaginationControlled.js +1 -0
- package/dist/components/Pagination/PaginationUncontrolled.d.ts +4 -1
- package/dist/components/Pagination/PaginationUncontrolled.js +1 -0
- package/dist/components/Pagination/tests/Pagination.stories.d.ts +4 -1
- package/dist/components/Pagination/tests/Pagination.test.stories.d.ts +4 -1
- package/dist/components/PinField/PinField.d.ts +4 -1
- package/dist/components/PinField/PinField.js +1 -0
- package/dist/components/PinField/PinFieldControlled.d.ts +4 -1
- package/dist/components/PinField/PinFieldControlled.js +1 -1
- package/dist/components/PinField/PinFieldUncontrolled.d.ts +4 -1
- package/dist/components/PinField/PinFieldUncontrolled.js +1 -0
- package/dist/components/PinField/tests/PinField.stories.d.ts +4 -1
- package/dist/components/PinField/tests/PinField.test.stories.d.ts +4 -1
- package/dist/components/Popover/Popover.d.ts +13 -3
- package/dist/components/Popover/Popover.js +2 -0
- package/dist/components/Popover/tests/Popover.stories.d.ts +13 -3
- package/dist/components/Popover/tests/Popover.test.stories.d.ts +13 -3
- package/dist/components/Progress/Progress.d.ts +4 -1
- package/dist/components/Progress/Progress.js +1 -0
- package/dist/components/Progress/tests/Progress.stories.d.ts +4 -1
- package/dist/components/Progress/tests/Progress.test.stories.d.ts +4 -1
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +4 -1
- package/dist/components/ProgressIndicator/ProgressIndicator.js +1 -0
- package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +4 -1
- package/dist/components/Radio/Radio.d.ts +4 -1
- package/dist/components/Radio/Radio.js +1 -0
- package/dist/components/Radio/tests/Radio.stories.d.ts +4 -1
- package/dist/components/Radio/tests/Radio.test.stories.d.ts +4 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +4 -1
- package/dist/components/RadioGroup/RadioGroup.js +1 -0
- package/dist/components/RadioGroup/RadioGroupControlled.d.ts +4 -1
- package/dist/components/RadioGroup/RadioGroupControlled.js +1 -0
- package/dist/components/RadioGroup/RadioGroupUncontrolled.d.ts +4 -1
- package/dist/components/RadioGroup/RadioGroupUncontrolled.js +1 -0
- package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +4 -1
- package/dist/components/RadioGroup/tests/RadioGroup.test.stories.d.ts +4 -1
- package/dist/components/Reshaped/Reshaped.d.ts +4 -1
- package/dist/components/Reshaped/Reshaped.js +1 -0
- package/dist/components/Reshaped/tests/Reshaped.stories.js +1 -1
- package/dist/components/Resizable/Resizable.d.ts +1 -0
- package/dist/components/Resizable/Resizable.js +3 -1
- package/dist/components/Resizable/Resizable.types.d.ts +1 -1
- package/dist/components/Resizable/tests/Resizable.stories.d.ts +1 -0
- package/dist/components/Resizable/tests/Resizable.test.stories.d.ts +1 -0
- package/dist/components/Scrim/Scrim.d.ts +4 -1
- package/dist/components/Scrim/Scrim.js +1 -0
- package/dist/components/Scrim/tests/Scrim.stories.d.ts +4 -1
- package/dist/components/Scrim/tests/Scrim.test.stories.d.ts +4 -1
- package/dist/components/ScrollArea/ScrollArea.js +1 -0
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +1 -1
- package/dist/components/ScrollArea/tests/ScrollArea.test.stories.js +1 -1
- package/dist/components/Select/Select.d.ts +4 -1
- package/dist/components/Select/Select.js +1 -0
- package/dist/components/Select/tests/Select.stories.d.ts +4 -1
- package/dist/components/Select/tests/Select.test.stories.d.ts +4 -1
- package/dist/components/Skeleton/Skeleton.d.ts +4 -1
- package/dist/components/Skeleton/Skeleton.js +1 -0
- package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +4 -1
- package/dist/components/Skeleton/tests/Skeleton.test.stories.d.ts +4 -1
- package/dist/components/Slider/Slider.d.ts +4 -1
- package/dist/components/Slider/Slider.js +1 -0
- package/dist/components/Slider/SliderControlled.d.ts +4 -1
- package/dist/components/Slider/SliderControlled.js +10 -3
- package/dist/components/Slider/SliderThumb.js +1 -0
- package/dist/components/Slider/SliderUncontrolled.d.ts +4 -1
- package/dist/components/Slider/SliderUncontrolled.js +1 -0
- package/dist/components/Slider/tests/Slider.stories.d.ts +4 -1
- package/dist/components/Slider/tests/Slider.test.stories.d.ts +4 -1
- package/dist/components/Stepper/Stepper.d.ts +5 -1
- package/dist/components/Stepper/Stepper.js +9 -2
- package/dist/components/Stepper/tests/Stepper.stories.d.ts +5 -1
- package/dist/components/Stepper/tests/Stepper.test.stories.d.ts +5 -1
- package/dist/components/Switch/Switch.d.ts +4 -1
- package/dist/components/Switch/Switch.js +1 -0
- package/dist/components/Switch/tests/Switch.stories.d.ts +4 -1
- package/dist/components/Switch/tests/Switch.test.stories.d.ts +4 -1
- package/dist/components/Table/Table.d.ts +21 -5
- package/dist/components/Table/Table.js +6 -0
- package/dist/components/Table/tests/Table.stories.d.ts +21 -5
- package/dist/components/Table/tests/Table.test.stories.d.ts +21 -5
- package/dist/components/Tabs/Tabs.d.ts +9 -2
- package/dist/components/Tabs/Tabs.js +1 -0
- package/dist/components/Tabs/TabsControlled.d.ts +4 -1
- package/dist/components/Tabs/TabsControlled.js +1 -0
- package/dist/components/Tabs/TabsItem.js +1 -0
- package/dist/components/Tabs/TabsList.d.ts +4 -1
- package/dist/components/Tabs/TabsList.js +8 -3
- package/dist/components/Tabs/TabsPanel.d.ts +4 -1
- package/dist/components/Tabs/TabsPanel.js +1 -0
- package/dist/components/Tabs/TabsUncontrolled.d.ts +4 -1
- package/dist/components/Tabs/TabsUncontrolled.js +1 -0
- package/dist/components/Tabs/tests/Tabs.stories.d.ts +9 -2
- package/dist/components/Tabs/tests/Tabs.test.stories.d.ts +9 -2
- package/dist/components/Text/Text.d.ts +4 -1
- package/dist/components/Text/Text.js +3 -4
- package/dist/components/Text/tests/Text.stories.d.ts +4 -1
- package/dist/components/Text/tests/Text.stories.js +1 -1
- package/dist/components/Text/tests/Text.test.stories.d.ts +4 -1
- package/dist/components/Text/tests/Text.test.stories.js +1 -1
- package/dist/components/TextArea/TextArea.d.ts +5 -1
- package/dist/components/TextArea/TextArea.js +1 -0
- package/dist/components/TextArea/tests/TextArea.stories.d.ts +5 -1
- package/dist/components/TextArea/tests/TextArea.test.stories.d.ts +5 -1
- package/dist/components/TextField/TextField.d.ts +5 -1
- package/dist/components/TextField/TextField.js +1 -0
- package/dist/components/TextField/tests/TextField.stories.d.ts +5 -1
- package/dist/components/TextField/tests/TextField.test.stories.d.ts +5 -1
- package/dist/components/Theme/GlobalColorMode.d.ts +4 -1
- package/dist/components/Theme/GlobalColorMode.js +1 -0
- package/dist/components/Theme/Theme.d.ts +4 -1
- package/dist/components/Theme/Theme.js +1 -0
- package/dist/components/Theme/tests/Theme.test.stories.d.ts +4 -1
- package/dist/components/Theme/tests/Theme.test.stories.js +1 -1
- package/dist/components/Timeline/Timeline.d.ts +5 -1
- package/dist/components/Timeline/Timeline.js +3 -1
- package/dist/components/Timeline/tests/Timeline.stories.d.ts +5 -1
- package/dist/components/Timeline/tests/Timeline.test.stories.d.ts +5 -1
- package/dist/components/Toast/Toast.d.ts +6 -3
- package/dist/components/Toast/Toast.js +1 -0
- package/dist/components/Toast/ToastContainer.d.ts +4 -1
- package/dist/components/Toast/ToastContainer.js +1 -0
- package/dist/components/Toast/ToastProvider.d.ts +4 -1
- package/dist/components/Toast/ToastProvider.js +9 -4
- package/dist/components/Toast/ToastRegion.d.ts +4 -1
- package/dist/components/Toast/ToastRegion.js +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +4 -1
- package/dist/components/Tooltip/Tooltip.js +1 -0
- package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +4 -1
- package/dist/components/Tooltip/tests/Tooltip.test.stories.d.ts +4 -1
- package/dist/components/View/View.d.ts +5 -1
- package/dist/components/View/View.js +12 -5
- package/dist/components/View/tests/View.stories.d.ts +5 -1
- package/dist/components/View/tests/View.stories.js +1 -1
- package/dist/components/View/tests/View.test.stories.d.ts +5 -1
- package/dist/components/View/tests/View.test.stories.js +1 -1
- package/dist/components/_private/Aligner/Aligner.d.ts +4 -1
- package/dist/components/_private/Aligner/Aligner.js +1 -0
- package/dist/components/_private/Expandable/Expandable.d.ts +4 -1
- package/dist/components/_private/Expandable/Expandable.js +1 -0
- package/dist/components/_private/Flyout/Flyout.d.ts +9 -2
- package/dist/components/_private/Flyout/Flyout.js +1 -0
- package/dist/components/_private/Flyout/FlyoutContent.d.ts +4 -1
- package/dist/components/_private/Flyout/FlyoutContent.js +5 -1
- package/dist/components/_private/Flyout/FlyoutControlled.d.ts +5 -2
- package/dist/components/_private/Flyout/FlyoutControlled.js +8 -9
- package/dist/components/_private/Flyout/FlyoutTrigger.d.ts +4 -1
- package/dist/components/_private/Flyout/FlyoutTrigger.js +2 -1
- package/dist/components/_private/Flyout/FlyoutUncontrolled.d.ts +4 -1
- package/dist/components/_private/Flyout/FlyoutUncontrolled.js +1 -0
- package/dist/components/_private/Flyout/useFlyout.js +2 -0
- package/dist/components/_private/HiddenInput/HiddenInput.d.ts +4 -1
- package/dist/components/_private/HiddenInput/HiddenInput.js +1 -0
- package/dist/components/_private/Portal/Portal.d.ts +5 -1
- package/dist/components/_private/Portal/Portal.js +2 -0
- package/dist/config/tailwind.d.ts +1 -1
- package/dist/hooks/{useDrag.js → _private/useDrag.js} +6 -6
- package/dist/hooks/_private/useSingletonHotkeys.js +2 -0
- package/dist/hooks/tests/useDrag.stories.d.ts +26 -1
- package/dist/hooks/tests/useDrag.stories.js +120 -3
- package/dist/hooks/tests/useElementId.stories.d.ts +5 -0
- package/dist/hooks/tests/useElementId.stories.js +6 -2
- package/dist/hooks/tests/useHandlerRef.stories.d.ts +14 -0
- package/dist/hooks/tests/useHandlerRef.stories.js +44 -0
- package/dist/hooks/tests/useHotkeys.stories.d.ts +39 -1
- package/dist/hooks/tests/useHotkeys.stories.js +157 -38
- package/dist/hooks/tests/useKeyboardMode.stories.d.ts +5 -0
- package/dist/hooks/tests/useKeyboardMode.stories.js +6 -1
- package/dist/hooks/tests/useOnClickOutside.stories.d.ts +23 -0
- package/dist/hooks/tests/useOnClickOutside.stories.js +111 -0
- package/dist/hooks/tests/useRTL.stories.d.ts +5 -0
- package/dist/hooks/tests/useRTL.stories.js +9 -11
- package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +5 -0
- package/dist/hooks/tests/useResponsiveClientValue.stories.js +6 -1
- package/dist/hooks/tests/useScrollLock.stories.d.ts +7 -0
- package/dist/hooks/tests/useScrollLock.stories.js +47 -1
- package/dist/hooks/tests/useToggle.stories.d.ts +5 -0
- package/dist/hooks/tests/useToggle.stories.js +6 -1
- package/dist/hooks/useHandlerRef.js +1 -1
- package/dist/hooks/{_private/useOnClickOutside.d.ts → useOnClickOutside.d.ts} +3 -1
- package/dist/hooks/{_private/useOnClickOutside.js → useOnClickOutside.js} +13 -4
- package/dist/hooks/useResponsiveClientValue.d.ts +1 -1
- package/dist/hooks/useScrollLock.d.ts +1 -1
- package/dist/hooks/useScrollLock.js +2 -2
- package/dist/index.d.ts +8 -6
- package/dist/index.js +7 -4
- package/dist/tests/ShadowDOM.stories.js +1 -1
- package/dist/themes/_generator/definitions/figma.d.ts +1 -1
- package/dist/themes/_generator/definitions/figma.js +6 -5
- package/dist/themes/_generator/tests/themes.stories.js +1 -1
- package/dist/themes/_generator/utilities/color.js +11 -11
- package/dist/themes/_generator/utilities/generateBackgroundColors.js +0 -2
- package/dist/themes/_generator/utilities/generateColors.js +1 -1
- package/dist/themes/_generator/utilities/generateUnits.js +0 -1
- package/dist/themes/_generator/utilities/mergeDeep.js +1 -1
- package/dist/themes/_generator/utilities/resolveTokenReference.js +2 -0
- package/dist/themes/figma/tailwind.css +1 -1
- package/dist/themes/figma/theme.css +1 -1
- package/dist/types/global.d.ts +2 -2
- package/dist/utilities/a11y/TrapFocus.d.ts +1 -1
- package/dist/utilities/a11y/TrapFocus.js +17 -11
- package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +10 -2
- package/dist/utilities/a11y/tests/TrapFocus.stories.js +596 -40
- package/dist/utilities/a11y/types.d.ts +3 -1
- package/dist/utilities/helpers.js +4 -1
- package/dist/utilities/platform.js +1 -0
- package/package.json +36 -40
- package/dist/components/Calendar/tests/Calendar.test.stories.d.ts +0 -26
- package/dist/components/Calendar/tests/Calendar.test.stories.js +0 -161
- package/dist/hooks/tests/useDrag.test.stories.d.ts +0 -26
- package/dist/hooks/tests/useDrag.test.stories.js +0 -120
- package/dist/hooks/tests/useHotkeys.test.stories.d.ts +0 -39
- package/dist/hooks/tests/useHotkeys.test.stories.js +0 -119
- /package/dist/hooks/{useDrag.d.ts → _private/useDrag.d.ts} +0 -0
@@ -1,3 +1,6 @@
|
|
1
1
|
import type * as T from "./HiddenInput.types";
|
2
|
-
declare const HiddenInput:
|
2
|
+
declare const HiddenInput: {
|
3
|
+
(props: T.Props): import("react/jsx-runtime").JSX.Element;
|
4
|
+
displayName: string;
|
5
|
+
};
|
3
6
|
export default HiddenInput;
|
@@ -6,4 +6,5 @@ const HiddenInput = (props) => {
|
|
6
6
|
const rootClassNames = classNames(s.root, className);
|
7
7
|
return (_jsx("input", { ...attributes, className: rootClassNames, type: type, name: name, value: value, checked: checked, defaultChecked: defaultChecked, disabled: disabled, onChange: onChange, onFocus: onFocus || attributes?.onFocus, onBlur: onBlur || attributes?.onBlur }));
|
8
8
|
};
|
9
|
+
HiddenInput.displayName = "HiddenInput";
|
9
10
|
export default HiddenInput;
|
@@ -5,8 +5,12 @@ export declare const usePortalScope: () => T.Context;
|
|
5
5
|
* That gives Portal time to receive scope on first render
|
6
6
|
*/
|
7
7
|
declare const Portal: {
|
8
|
-
(props: T.Props):
|
8
|
+
(props: T.Props): import("react/jsx-runtime").JSX.Element[];
|
9
9
|
Scope: typeof PortalScope;
|
10
|
+
displayName: string;
|
10
11
|
};
|
11
12
|
declare function PortalScope<T extends HTMLElement>(props: T.ScopeProps<T>): import("react/jsx-runtime").JSX.Element;
|
13
|
+
declare namespace PortalScope {
|
14
|
+
var displayName: string;
|
15
|
+
}
|
12
16
|
export default Portal;
|
@@ -40,4 +40,6 @@ function PortalScope(props) {
|
|
40
40
|
return (_jsx(PortalScopeContext.Provider, { value: { scopeRef: ref }, children: children(ref) }));
|
41
41
|
}
|
42
42
|
Portal.Scope = PortalScope;
|
43
|
+
Portal.displayName = "Portal";
|
44
|
+
PortalScope.displayName = "PortalScope";
|
43
45
|
export default Portal;
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import type { ThemeDefinition } from "../themes/_generator/tokens/types";
|
2
|
-
export declare const getTheme: (theme?: ThemeDefinition) => Record<"borderRadius" | "backgroundColor" | "borderColor" | "boxShadow" | "
|
2
|
+
export declare const getTheme: (theme?: ThemeDefinition) => Record<"borderRadius" | "backgroundColor" | "borderColor" | "boxShadow" | "spacing" | "textColor" | "colors" | "screens", Record<string, string>>;
|
@@ -1,11 +1,11 @@
|
|
1
1
|
"use client";
|
2
2
|
import React from "react";
|
3
|
-
import { disableUserSelect, enableUserSelect } from "
|
4
|
-
import { disableScroll, enableScroll } from "
|
5
|
-
import useToggle from "
|
6
|
-
import useHotkeys from "
|
7
|
-
import
|
8
|
-
import
|
3
|
+
import { disableUserSelect, enableUserSelect } from "../../utilities/dom/index.js";
|
4
|
+
import { disableScroll, enableScroll } from "../../utilities/scroll/index.js";
|
5
|
+
import useToggle from "../useToggle.js";
|
6
|
+
import useHotkeys from "../useHotkeys.js";
|
7
|
+
import useHandlerRef from "../useHandlerRef.js";
|
8
|
+
import * as keys from "../../constants/keys.js";
|
9
9
|
const useDrag = (cb, options) => {
|
10
10
|
const { disabled, containerRef: passedContainerRef, orientation = "all" } = options || {};
|
11
11
|
const cbRef = useHandlerRef(cb);
|
@@ -24,6 +24,8 @@ const getEventKey = (e) => {
|
|
24
24
|
}
|
25
25
|
return e.key.toLowerCase();
|
26
26
|
};
|
27
|
+
// Removing the unknown gets highlighted an invalid syntax
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint
|
27
29
|
const walkHotkeys = (hotkeys, cb) => {
|
28
30
|
Object.keys(hotkeys).forEach((key) => {
|
29
31
|
key.split(",").forEach((hotkey) => {
|
@@ -1,6 +1,31 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import { StoryObj } from "@storybook/react";
|
3
|
+
import { fn } from "@storybook/test";
|
2
4
|
declare const _default: {
|
3
5
|
title: string;
|
6
|
+
parameters: {
|
7
|
+
chromatic: {
|
8
|
+
disableSnapshot: boolean;
|
9
|
+
};
|
10
|
+
};
|
4
11
|
};
|
5
12
|
export default _default;
|
6
|
-
export declare const
|
13
|
+
export declare const base: {
|
14
|
+
name: string;
|
15
|
+
render: () => React.JSX.Element;
|
16
|
+
};
|
17
|
+
export declare const mouseEvents: StoryObj<{
|
18
|
+
handleDrag: ReturnType<typeof fn>;
|
19
|
+
}>;
|
20
|
+
export declare const touchEvents: StoryObj<{
|
21
|
+
handleDrag: ReturnType<typeof fn>;
|
22
|
+
}>;
|
23
|
+
export declare const orientationHorizontal: StoryObj<{
|
24
|
+
handleDrag: ReturnType<typeof fn>;
|
25
|
+
}>;
|
26
|
+
export declare const orientationVertical: StoryObj<{
|
27
|
+
handleDrag: ReturnType<typeof fn>;
|
28
|
+
}>;
|
29
|
+
export declare const disabled: StoryObj<{
|
30
|
+
handleDrag: ReturnType<typeof fn>;
|
31
|
+
}>;
|
@@ -1,9 +1,15 @@
|
|
1
1
|
import React from "react";
|
2
|
+
import { fireEvent, fn, expect } from "@storybook/test";
|
2
3
|
import View from "../../components/View/index.js";
|
3
|
-
import useDrag from "../useDrag.js";
|
4
|
+
import useDrag from "../_private/useDrag.js";
|
4
5
|
import useToggle from "../useToggle.js";
|
5
6
|
import Button from "../../components/Button/index.js";
|
6
|
-
export default {
|
7
|
+
export default {
|
8
|
+
title: "Internal/Hooks/useDrag",
|
9
|
+
parameters: {
|
10
|
+
chromatic: { disableSnapshot: true },
|
11
|
+
},
|
12
|
+
};
|
7
13
|
function Example() {
|
8
14
|
const [state, setState] = React.useState({ x: 0, y: 0 });
|
9
15
|
const disabledToggle = useToggle();
|
@@ -27,4 +33,115 @@ function Example() {
|
|
27
33
|
</Button>
|
28
34
|
</View>);
|
29
35
|
}
|
30
|
-
export const
|
36
|
+
export const base = { name: "base", render: () => <Example /> };
|
37
|
+
const Demo = (props) => {
|
38
|
+
const { ref, containerRef } = useDrag((options) => {
|
39
|
+
props.onDrag(options);
|
40
|
+
}, {
|
41
|
+
orientation: props.orientation,
|
42
|
+
disabled: props.disabled,
|
43
|
+
});
|
44
|
+
return (<View backgroundColor="neutral-faded" width="200px" height="200px" attributes={{ ref: containerRef, "data-testid": "test-id" }}>
|
45
|
+
<View height={8} width={8} backgroundColor="primary" attributes={{
|
46
|
+
"data-testid": "test-handle-id",
|
47
|
+
ref,
|
48
|
+
}}/>
|
49
|
+
</View>);
|
50
|
+
};
|
51
|
+
export const mouseEvents = {
|
52
|
+
name: "onDrag, mouse events",
|
53
|
+
args: {
|
54
|
+
handleDrag: fn(),
|
55
|
+
},
|
56
|
+
render: (args) => {
|
57
|
+
return <Demo onDrag={args.handleDrag}/>;
|
58
|
+
},
|
59
|
+
play: ({ canvas, args }) => {
|
60
|
+
const trigger = canvas.getByTestId("test-handle-id");
|
61
|
+
fireEvent.mouseDown(trigger);
|
62
|
+
fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
|
63
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
64
|
+
expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 50 }));
|
65
|
+
fireEvent.mouseUp(trigger);
|
66
|
+
fireEvent.mouseUp(document.body, { clientX: 50, clientY: 100 });
|
67
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
68
|
+
},
|
69
|
+
};
|
70
|
+
export const touchEvents = {
|
71
|
+
name: "onDrag, touch events",
|
72
|
+
args: {
|
73
|
+
handleDrag: fn(),
|
74
|
+
},
|
75
|
+
render: (args) => {
|
76
|
+
return <Demo onDrag={args.handleDrag}/>;
|
77
|
+
},
|
78
|
+
play: ({ canvas, args }) => {
|
79
|
+
const createTouch = (target, x, y) => {
|
80
|
+
return new Touch({
|
81
|
+
identifier: Date.now(),
|
82
|
+
target,
|
83
|
+
clientX: x,
|
84
|
+
clientY: y,
|
85
|
+
screenX: x,
|
86
|
+
screenY: y,
|
87
|
+
pageX: x,
|
88
|
+
pageY: y,
|
89
|
+
});
|
90
|
+
};
|
91
|
+
const trigger = canvas.getByTestId("test-handle-id");
|
92
|
+
fireEvent.touchStart(trigger, { changedTouches: [createTouch(trigger, 0, 0)] });
|
93
|
+
fireEvent.touchMove(document.body, { changedTouches: [createTouch(trigger, 100, 50)] });
|
94
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
95
|
+
expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 50 }));
|
96
|
+
fireEvent.touchEnd(trigger);
|
97
|
+
fireEvent.touchEnd(document.body, { changedTouches: [createTouch(trigger, 100, 50)] });
|
98
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
99
|
+
},
|
100
|
+
};
|
101
|
+
export const orientationHorizontal = {
|
102
|
+
name: "orientation horizontal",
|
103
|
+
args: {
|
104
|
+
handleDrag: fn(),
|
105
|
+
},
|
106
|
+
render: (args) => {
|
107
|
+
return <Demo onDrag={args.handleDrag} orientation="horizontal"/>;
|
108
|
+
},
|
109
|
+
play: ({ canvas, args }) => {
|
110
|
+
const trigger = canvas.getByTestId("test-handle-id");
|
111
|
+
fireEvent.mouseDown(trigger);
|
112
|
+
fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
|
113
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
114
|
+
expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 100, y: 0 }));
|
115
|
+
},
|
116
|
+
};
|
117
|
+
export const orientationVertical = {
|
118
|
+
name: "orientation vertical",
|
119
|
+
args: {
|
120
|
+
handleDrag: fn(),
|
121
|
+
},
|
122
|
+
render: (args) => {
|
123
|
+
return <Demo onDrag={args.handleDrag} orientation="vertical"/>;
|
124
|
+
},
|
125
|
+
play: ({ canvas, args }) => {
|
126
|
+
const trigger = canvas.getByTestId("test-handle-id");
|
127
|
+
fireEvent.mouseDown(trigger);
|
128
|
+
fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
|
129
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(1);
|
130
|
+
expect(args.handleDrag).toHaveBeenCalledWith(expect.objectContaining({ x: 0, y: 50 }));
|
131
|
+
},
|
132
|
+
};
|
133
|
+
export const disabled = {
|
134
|
+
name: "disabled",
|
135
|
+
args: {
|
136
|
+
handleDrag: fn(),
|
137
|
+
},
|
138
|
+
render: (args) => {
|
139
|
+
return <Demo onDrag={args.handleDrag} disabled/>;
|
140
|
+
},
|
141
|
+
play: ({ canvas, args }) => {
|
142
|
+
const trigger = canvas.getByTestId("test-handle-id");
|
143
|
+
fireEvent.mouseDown(trigger);
|
144
|
+
fireEvent.mouseMove(document.body, { clientX: 100, clientY: 50 });
|
145
|
+
expect(args.handleDrag).toHaveBeenCalledTimes(0);
|
146
|
+
},
|
147
|
+
};
|
@@ -1,7 +1,11 @@
|
|
1
|
-
import React from "react";
|
2
1
|
import { expect, waitFor } from "@storybook/test";
|
3
2
|
import useElementId from "../useElementId.js";
|
4
|
-
export default {
|
3
|
+
export default {
|
4
|
+
title: "Hooks/useElementId",
|
5
|
+
parameters: {
|
6
|
+
chromatic: { disableSnapshot: true },
|
7
|
+
},
|
8
|
+
};
|
5
9
|
const Component = (props) => {
|
6
10
|
const id = useElementId(props.id);
|
7
11
|
return <div id={id}>{id}</div>;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
2
|
+
import { Mock } from "@storybook/test";
|
3
|
+
declare const _default: {
|
4
|
+
title: string;
|
5
|
+
parameters: {
|
6
|
+
chromatic: {
|
7
|
+
disableSnapshot: boolean;
|
8
|
+
};
|
9
|
+
};
|
10
|
+
};
|
11
|
+
export default _default;
|
12
|
+
export declare const base: StoryObj<{
|
13
|
+
handleEffect: Mock;
|
14
|
+
}>;
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { expect, fn, userEvent } from "@storybook/test";
|
3
|
+
import Button from "../../components/Button/index.js";
|
4
|
+
import View from "../../components/View/index.js";
|
5
|
+
import useHandlerRef from "../useHandlerRef.js";
|
6
|
+
export default {
|
7
|
+
title: "Hooks/useHandlerRef",
|
8
|
+
parameters: {
|
9
|
+
chromatic: { disableSnapshot: true },
|
10
|
+
},
|
11
|
+
};
|
12
|
+
const Component = (props) => {
|
13
|
+
const { onEffect, count } = props;
|
14
|
+
const onEffectRef = useHandlerRef(onEffect);
|
15
|
+
React.useEffect(() => {
|
16
|
+
onEffectRef.current();
|
17
|
+
}, [onEffectRef]);
|
18
|
+
return <>Counter: {count}</>;
|
19
|
+
};
|
20
|
+
export const base = {
|
21
|
+
name: "base",
|
22
|
+
args: {
|
23
|
+
handleEffect: fn(),
|
24
|
+
},
|
25
|
+
render: (args) => {
|
26
|
+
const [count, setCount] = React.useState(0);
|
27
|
+
// Creating a new handler on each render
|
28
|
+
const handleEffect = () => {
|
29
|
+
args.handleEffect(0);
|
30
|
+
};
|
31
|
+
return (<View gap={4}>
|
32
|
+
<Button onClick={() => setCount((prev) => prev + 1)}>Increase count</Button>
|
33
|
+
<Component onEffect={handleEffect} count={count}/>
|
34
|
+
</View>);
|
35
|
+
},
|
36
|
+
play: async ({ canvas, args }) => {
|
37
|
+
const button = canvas.getAllByRole("button")[0];
|
38
|
+
// mount, triggerred twice in dev mode
|
39
|
+
expect(args.handleEffect).toHaveBeenCalledTimes(2);
|
40
|
+
await userEvent.click(button);
|
41
|
+
// Rerendering the component doesn't re-trigger the effect
|
42
|
+
expect(args.handleEffect).toHaveBeenCalledTimes(2);
|
43
|
+
},
|
44
|
+
};
|
@@ -1,5 +1,43 @@
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
2
|
+
import { fn } from "@storybook/test";
|
1
3
|
declare const _default: {
|
2
4
|
title: string;
|
5
|
+
parameters: {
|
6
|
+
chromatic: {
|
7
|
+
disableSnapshot: boolean;
|
8
|
+
};
|
9
|
+
};
|
3
10
|
};
|
4
11
|
export default _default;
|
5
|
-
export declare const
|
12
|
+
export declare const base: {
|
13
|
+
name: string;
|
14
|
+
render: () => import("react").JSX.Element;
|
15
|
+
};
|
16
|
+
export declare const singleKey: StoryObj<{
|
17
|
+
handleHotkey: ReturnType<typeof fn>;
|
18
|
+
}>;
|
19
|
+
export declare const modKey: StoryObj<{
|
20
|
+
handleHotkey: ReturnType<typeof fn>;
|
21
|
+
}>;
|
22
|
+
export declare const modKeyHold: StoryObj<{
|
23
|
+
handleHotkey: ReturnType<typeof fn>;
|
24
|
+
}>;
|
25
|
+
export declare const keyList: StoryObj<{
|
26
|
+
handleHotkey: ReturnType<typeof fn>;
|
27
|
+
}>;
|
28
|
+
export declare const keyCombination: StoryObj<{
|
29
|
+
handleHotkey: ReturnType<typeof fn>;
|
30
|
+
}>;
|
31
|
+
export declare const keyCombinationFormat: StoryObj<{
|
32
|
+
handleHotkey: ReturnType<typeof fn>;
|
33
|
+
}>;
|
34
|
+
export declare const keyCombinationOrder: StoryObj<{
|
35
|
+
handleHotkey: ReturnType<typeof fn>;
|
36
|
+
}>;
|
37
|
+
export declare const keyCombinationMoreThanRequired: StoryObj<{
|
38
|
+
handleHotkey: ReturnType<typeof fn>;
|
39
|
+
}>;
|
40
|
+
export declare const optionModified: StoryObj<{
|
41
|
+
handleHotkey: ReturnType<typeof fn>;
|
42
|
+
handleHotkeyModified: ReturnType<typeof fn>;
|
43
|
+
}>;
|
@@ -1,39 +1,158 @@
|
|
1
|
-
import
|
1
|
+
import { expect, fn, userEvent } from "@storybook/test";
|
2
2
|
import View from "../../components/View/index.js";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
3
|
+
import useHotkeys from "../useHotkeys.js";
|
4
|
+
export default {
|
5
|
+
title: "Hooks/useHotkeys",
|
6
|
+
parameters: {
|
7
|
+
chromatic: { disableSnapshot: true },
|
8
|
+
},
|
9
|
+
};
|
10
|
+
export const base = {
|
11
|
+
name: "base",
|
12
|
+
render: () => {
|
13
|
+
const { checkHotkeyState } = useHotkeys({
|
14
|
+
"shift + b + n": () => console.log("pressed"),
|
15
|
+
"c + v": () => console.log("c + v"),
|
16
|
+
"Meta + k": () => console.log("meta + k"),
|
17
|
+
"Meta + f": () => console.log("meta + f"),
|
18
|
+
"Meta + v": () => console.log("meta + v"),
|
19
|
+
"Meta + b": () => console.log("meta + b"),
|
20
|
+
"control + enter": () => console.log("control + enter"),
|
21
|
+
"meta + enter": () => console.log("meta + enter"),
|
22
|
+
"mod + enter": () => console.log("mod + enter"),
|
23
|
+
"mod + ArrowRight": () => console.log("right"),
|
24
|
+
"mod + ArrowUp": () => console.log("top"),
|
25
|
+
"shift + ArrowRight": () => console.log("right"),
|
26
|
+
"shift + ArrowUp": () => console.log("top"),
|
27
|
+
"alt+shift+n": () => console.log("alt+shift+n"),
|
28
|
+
"shift+alt+n": () => console.log("shift+alt+n"),
|
29
|
+
"alt+shiftLeft+n": () => console.log("alt+shiftLeft+n"),
|
30
|
+
});
|
31
|
+
const active = checkHotkeyState("shift + b + n");
|
32
|
+
const shiftActive = checkHotkeyState("shift");
|
33
|
+
const bActive = checkHotkeyState("b");
|
34
|
+
const nActive = checkHotkeyState("n");
|
35
|
+
return (<View animated gap={2} direction="row" backgroundColor={active ? "positive-faded" : undefined} padding={2} borderRadius="small">
|
36
|
+
<View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={shiftActive ? "neutral-faded" : "elevation-raised"} shadow={shiftActive ? undefined : "raised"}>
|
37
|
+
Shift
|
38
|
+
</View>
|
39
|
+
<View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={bActive ? "neutral-faded" : "elevation-raised"} shadow={bActive ? undefined : "raised"}>
|
40
|
+
b
|
41
|
+
</View>
|
42
|
+
<View paddingInline={4} paddingBlock={2} borderRadius="small" borderColor="neutral-faded" animated backgroundColor={nActive ? "neutral-faded" : "elevation-raised"} shadow={nActive ? undefined : "raised"}>
|
43
|
+
n
|
44
|
+
</View>
|
45
|
+
</View>);
|
46
|
+
},
|
47
|
+
};
|
48
|
+
const Component = (props) => {
|
49
|
+
const { hotkeys } = props;
|
50
|
+
useHotkeys(hotkeys);
|
51
|
+
return <div />;
|
52
|
+
};
|
53
|
+
export const singleKey = {
|
54
|
+
name: "single key",
|
55
|
+
args: {
|
56
|
+
handleHotkey: fn(),
|
57
|
+
},
|
58
|
+
render: (args) => <Component hotkeys={{ a: args.handleHotkey }}/>,
|
59
|
+
play: async ({ args }) => {
|
60
|
+
await userEvent.keyboard("a");
|
61
|
+
await userEvent.keyboard("b");
|
62
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
63
|
+
},
|
64
|
+
};
|
65
|
+
export const modKey = {
|
66
|
+
name: "mod key",
|
67
|
+
args: {
|
68
|
+
handleHotkey: fn(),
|
69
|
+
},
|
70
|
+
render: (args) => <Component hotkeys={{ mod: args.handleHotkey }}/>,
|
71
|
+
play: async ({ args }) => {
|
72
|
+
await userEvent.keyboard("{Meta/}");
|
73
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
74
|
+
},
|
75
|
+
};
|
76
|
+
export const modKeyHold = {
|
77
|
+
name: "mod key on hold",
|
78
|
+
args: {
|
79
|
+
handleHotkey: fn(),
|
80
|
+
},
|
81
|
+
render: (args) => <Component hotkeys={{ "Meta + b": args.handleHotkey }}/>,
|
82
|
+
play: async ({ args }) => {
|
83
|
+
await userEvent.keyboard("{Meta>}bb{/Meta}");
|
84
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(2);
|
85
|
+
},
|
86
|
+
};
|
87
|
+
export const keyList = {
|
88
|
+
name: "key list",
|
89
|
+
args: {
|
90
|
+
handleHotkey: fn(),
|
91
|
+
},
|
92
|
+
render: (args) => <Component hotkeys={{ "a,b": args.handleHotkey }}/>,
|
93
|
+
play: async ({ args }) => {
|
94
|
+
await userEvent.keyboard("a");
|
95
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
96
|
+
await userEvent.keyboard("b");
|
97
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(2);
|
98
|
+
},
|
99
|
+
};
|
100
|
+
export const keyCombination = {
|
101
|
+
name: "key combination",
|
102
|
+
args: {
|
103
|
+
handleHotkey: fn(),
|
104
|
+
},
|
105
|
+
render: (args) => <Component hotkeys={{ "a+b": args.handleHotkey }}/>,
|
106
|
+
play: async ({ args }) => {
|
107
|
+
await userEvent.keyboard("{a>}b{/a}");
|
108
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
109
|
+
},
|
110
|
+
};
|
111
|
+
export const keyCombinationFormat = {
|
112
|
+
name: "key combination without formatting",
|
113
|
+
args: {
|
114
|
+
handleHotkey: fn(),
|
115
|
+
},
|
116
|
+
render: (args) => <Component hotkeys={{ "A + b": args.handleHotkey }}/>,
|
117
|
+
play: async ({ args }) => {
|
118
|
+
await userEvent.keyboard("{a>}b{/a}");
|
119
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
120
|
+
},
|
121
|
+
};
|
122
|
+
export const keyCombinationOrder = {
|
123
|
+
name: "key combination without order",
|
124
|
+
args: {
|
125
|
+
handleHotkey: fn(),
|
126
|
+
},
|
127
|
+
render: (args) => <Component hotkeys={{ "b+a": args.handleHotkey }}/>,
|
128
|
+
play: async ({ args }) => {
|
129
|
+
await userEvent.keyboard("{a>}b{/a}");
|
130
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
131
|
+
},
|
132
|
+
};
|
133
|
+
export const keyCombinationMoreThanRequired = {
|
134
|
+
name: "key combination, more keys pressed",
|
135
|
+
args: {
|
136
|
+
handleHotkey: fn(),
|
137
|
+
},
|
138
|
+
render: (args) => <Component hotkeys={{ "z + x": args.handleHotkey }}/>,
|
139
|
+
play: async ({ args }) => {
|
140
|
+
await userEvent.keyboard("{z>}{x>}c{/x}{/z}");
|
141
|
+
// When c is pressed, it doesn't trigger a+b for the second time
|
142
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
143
|
+
},
|
144
|
+
};
|
145
|
+
export const optionModified = {
|
146
|
+
name: "modified with alt/option",
|
147
|
+
args: {
|
148
|
+
handleHotkey: fn(),
|
149
|
+
handleHotkeyModified: fn(),
|
150
|
+
},
|
151
|
+
render: (args) => (<Component hotkeys={{ "alt+n": args.handleHotkeyModified, "alt+shift": args.handleHotkey }}/>),
|
152
|
+
play: async ({ args }) => {
|
153
|
+
await userEvent.keyboard("{Alt>}n{/Alt}");
|
154
|
+
expect(args.handleHotkeyModified).toHaveBeenCalledTimes(1);
|
155
|
+
await userEvent.keyboard("{Alt>}{Shift}{/Alt}");
|
156
|
+
expect(args.handleHotkey).toHaveBeenCalledTimes(1);
|
157
|
+
},
|
158
|
+
};
|
@@ -2,7 +2,12 @@ import { expect, userEvent } from "@storybook/test";
|
|
2
2
|
import Button from "../../components/Button/index.js";
|
3
3
|
import View from "../../components/View/index.js";
|
4
4
|
import useKeyboardMode from "../useKeyboardMode.js";
|
5
|
-
export default {
|
5
|
+
export default {
|
6
|
+
title: "Hooks/useKeyboardMode",
|
7
|
+
parameters: {
|
8
|
+
chromatic: { disableSnapshot: true },
|
9
|
+
},
|
10
|
+
};
|
6
11
|
const Component = () => {
|
7
12
|
const { activate, deactivate, disable, enable } = useKeyboardMode();
|
8
13
|
return (<View direction="row" gap={2}>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { StoryObj } from "@storybook/react";
|
2
|
+
import { type Mock } from "@storybook/test";
|
3
|
+
declare const _default: {
|
4
|
+
title: string;
|
5
|
+
parameters: {
|
6
|
+
chromatic: {
|
7
|
+
disableSnapshot: boolean;
|
8
|
+
};
|
9
|
+
};
|
10
|
+
};
|
11
|
+
export default _default;
|
12
|
+
export declare const base: StoryObj<{
|
13
|
+
handleOutsideClick: Mock;
|
14
|
+
}>;
|
15
|
+
export declare const refs: StoryObj<{
|
16
|
+
handleOutsideClick: Mock;
|
17
|
+
}>;
|
18
|
+
export declare const disabled: StoryObj<{
|
19
|
+
handleOutsideClick: Mock;
|
20
|
+
}>;
|
21
|
+
export declare const deps: StoryObj<{
|
22
|
+
handleOutsideClick: Mock;
|
23
|
+
}>;
|