reshaped 4.2.0 → 4.3.0-canary.1
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/bin/cli.js +1 -1
- package/dist/bundle.cjs +2 -0
- package/dist/bundle.css +1 -1
- package/dist/bundle.d.cts +158 -0
- package/dist/components/Accordion/Accordion.context.d.ts +1 -1
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Accordion/Accordion.js +2 -2
- package/dist/components/Accordion/Accordion.types.d.ts +3 -3
- package/dist/components/Accordion/AccordionContent.d.ts +1 -1
- package/dist/components/Accordion/AccordionContent.js +3 -3
- package/dist/components/Accordion/AccordionControlled.d.ts +1 -1
- package/dist/components/Accordion/AccordionControlled.js +3 -3
- package/dist/components/Accordion/AccordionTrigger.d.ts +1 -1
- package/dist/components/Accordion/AccordionTrigger.js +5 -5
- package/dist/components/Accordion/AccordionUncontrolled.d.ts +1 -1
- package/dist/components/Accordion/AccordionUncontrolled.js +1 -1
- package/dist/components/Accordion/index.d.ts +4 -4
- package/dist/components/Accordion/index.js +3 -3
- package/dist/components/Accordion/tests/Accordion.stories.d.ts +3 -3
- package/dist/components/Accordion/tests/Accordion.stories.js +152 -158
- package/dist/components/Actionable/Actionable.d.ts +1 -1
- package/dist/components/Actionable/Actionable.types.d.ts +1 -1
- package/dist/components/Actionable/index.d.ts +2 -2
- package/dist/components/Actionable/index.js +1 -1
- package/dist/components/Actionable/tests/Actionable.stories.d.ts +1 -1
- package/dist/components/Actionable/tests/Actionable.stories.js +136 -142
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js +3 -3
- package/dist/components/Alert/Alert.types.d.ts +3 -3
- package/dist/components/Alert/index.d.ts +2 -2
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/Alert/tests/Alert.stories.d.ts +1 -1
- package/dist/components/Alert/tests/Alert.stories.js +46 -52
- package/dist/components/Autocomplete/Autocomplete.d.ts +1 -1
- package/dist/components/Autocomplete/Autocomplete.js +10 -8
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +5 -5
- package/dist/components/Autocomplete/index.d.ts +2 -2
- package/dist/components/Autocomplete/index.js +1 -1
- package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +2 -2
- package/dist/components/Autocomplete/tests/Autocomplete.stories.js +118 -124
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +5 -5
- package/dist/components/Avatar/Avatar.types.d.ts +3 -3
- package/dist/components/Avatar/index.d.ts +2 -2
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/Avatar/tests/Avatar.stories.d.ts +1 -1
- package/dist/components/Avatar/tests/Avatar.stories.js +122 -128
- package/dist/components/Badge/Badge.context.d.ts +7 -0
- package/dist/components/Badge/Badge.context.js +8 -0
- package/dist/components/Badge/Badge.d.ts +4 -3
- package/dist/components/Badge/Badge.js +26 -6
- package/dist/components/Badge/Badge.module.css +1 -1
- package/dist/components/Badge/Badge.types.d.ts +3 -3
- package/dist/components/Badge/BadgeContainer.d.ts +2 -1
- package/dist/components/Badge/BadgeContainer.js +5 -1
- package/dist/components/Badge/index.d.ts +3 -3
- package/dist/components/Badge/index.js +2 -2
- package/dist/components/Badge/tests/Badge.stories.d.ts +3 -2
- package/dist/components/Badge/tests/Badge.stories.js +298 -274
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +6 -6
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +2 -2
- package/dist/components/Breadcrumbs/BreadcrumbsItem.d.ts +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsItem.js +2 -2
- package/dist/components/Breadcrumbs/index.d.ts +3 -3
- package/dist/components/Breadcrumbs/index.js +2 -2
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +2 -2
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +137 -143
- package/dist/components/Button/Button.d.ts +7 -7
- package/dist/components/Button/Button.js +4 -4
- package/dist/components/Button/Button.module.css +1 -1
- package/dist/components/Button/Button.types.d.ts +5 -5
- package/dist/components/Button/ButtonAligner.d.ts +1 -1
- package/dist/components/Button/ButtonAligner.js +1 -1
- package/dist/components/Button/ButtonGroup.d.ts +1 -1
- package/dist/components/Button/index.d.ts +4 -4
- package/dist/components/Button/index.js +3 -3
- package/dist/components/Button/tests/Button.stories.d.ts +9 -12
- package/dist/components/Button/tests/Button.stories.js +590 -585
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.js +2 -2
- package/dist/components/Calendar/Calendar.module.css +1 -1
- package/dist/components/Calendar/Calendar.utils.d.ts +1 -1
- package/dist/components/Calendar/CalendarControlled.d.ts +1 -1
- package/dist/components/Calendar/CalendarControlled.js +7 -7
- package/dist/components/Calendar/CalendarControls.d.ts +1 -1
- package/dist/components/Calendar/CalendarControls.js +8 -8
- package/dist/components/Calendar/CalendarDate.d.ts +1 -1
- package/dist/components/Calendar/CalendarDate.js +5 -2
- package/dist/components/Calendar/CalendarMonth.d.ts +1 -1
- package/dist/components/Calendar/CalendarMonth.js +2 -2
- package/dist/components/Calendar/CalendarUncontrolled.d.ts +1 -1
- package/dist/components/Calendar/CalendarUncontrolled.js +1 -1
- package/dist/components/Calendar/CalendarYear.d.ts +1 -1
- package/dist/components/Calendar/CalendarYear.js +3 -3
- package/dist/components/Calendar/index.d.ts +2 -2
- package/dist/components/Calendar/index.js +1 -1
- package/dist/components/Calendar/tests/Calendar.stories.d.ts +2 -1
- package/dist/components/Calendar/tests/Calendar.stories.js +237 -228
- package/dist/components/Calendar/useCalendarKeyboardNavigation.js +3 -3
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +3 -3
- package/dist/components/Card/Card.types.d.ts +3 -3
- package/dist/components/Card/index.d.ts +2 -2
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Card/tests/Card.stories.d.ts +1 -1
- package/dist/components/Card/tests/Card.stories.js +111 -117
- package/dist/components/Carousel/Carousel.d.ts +1 -1
- package/dist/components/Carousel/Carousel.js +5 -5
- package/dist/components/Carousel/Carousel.types.d.ts +3 -3
- package/dist/components/Carousel/CarouselControl.d.ts +1 -1
- package/dist/components/Carousel/CarouselControl.js +4 -4
- package/dist/components/Carousel/index.d.ts +2 -2
- package/dist/components/Carousel/index.js +1 -1
- package/dist/components/Carousel/tests/Carousel.stories.d.ts +1 -1
- package/dist/components/Carousel/tests/Carousel.stories.js +163 -169
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +10 -8
- package/dist/components/Checkbox/Checkbox.types.d.ts +2 -2
- package/dist/components/Checkbox/index.d.ts +2 -2
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +1 -1
- package/dist/components/Checkbox/tests/Checkbox.stories.js +97 -103
- package/dist/components/CheckboxGroup/CheckboxGroup.context.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.js +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroup.types.d.ts +2 -2
- package/dist/components/CheckboxGroup/CheckboxGroupControlled.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupControlled.js +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.d.ts +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupUncontrolled.js +1 -1
- package/dist/components/CheckboxGroup/index.d.ts +3 -3
- package/dist/components/CheckboxGroup/index.js +2 -2
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +1 -1
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +44 -50
- package/dist/components/Container/Container.d.ts +1 -1
- package/dist/components/Container/Container.js +1 -1
- package/dist/components/Container/Container.types.d.ts +3 -3
- package/dist/components/Container/index.d.ts +2 -2
- package/dist/components/Container/index.js +1 -1
- package/dist/components/Container/tests/Container.stories.d.ts +1 -1
- package/dist/components/Container/tests/Container.stories.js +55 -61
- package/dist/components/ContentToggle/ContentToggle.d.ts +1 -1
- package/dist/components/ContentToggle/ContentToggle.js +1 -1
- package/dist/components/ContentToggle/ContentToggle.types.d.ts +1 -1
- package/dist/components/ContentToggle/index.d.ts +2 -2
- package/dist/components/ContentToggle/index.js +1 -1
- package/dist/components/ContentToggle/tests/ContentToggle.stories.d.ts +1 -1
- package/dist/components/ContentToggle/tests/ContentToggle.stories.js +32 -38
- package/dist/components/ContextMenu/ContextMenu.d.ts +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +6 -6
- package/dist/components/ContextMenu/ContextMenu.types.d.ts +10 -2
- package/dist/components/ContextMenu/index.d.ts +3 -3
- package/dist/components/ContextMenu/index.js +2 -2
- package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +13 -6
- package/dist/components/ContextMenu/tests/ContextMenu.stories.js +164 -70
- package/dist/components/Dismissible/Dismissible.d.ts +1 -1
- package/dist/components/Dismissible/Dismissible.js +2 -2
- package/dist/components/Dismissible/Dismissible.types.d.ts +1 -1
- package/dist/components/Dismissible/index.d.ts +2 -2
- package/dist/components/Dismissible/index.js +1 -1
- package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +1 -1
- package/dist/components/Dismissible/tests/Dismissible.stories.js +60 -66
- package/dist/components/Divider/Divider.d.ts +1 -1
- package/dist/components/Divider/Divider.js +3 -3
- package/dist/components/Divider/Divider.types.d.ts +2 -2
- package/dist/components/Divider/index.d.ts +2 -2
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Divider/tests/Divider.stories.d.ts +1 -1
- package/dist/components/Divider/tests/Divider.stories.js +85 -91
- package/dist/components/DropdownMenu/DropdownMenu.context.d.ts +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +6 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +18 -12
- package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +5 -5
- package/dist/components/DropdownMenu/index.d.ts +3 -3
- package/dist/components/DropdownMenu/index.js +2 -2
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +8 -8
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +247 -253
- package/dist/components/Expandable/Expandable.d.ts +1 -1
- package/dist/components/Expandable/Expandable.js +3 -3
- package/dist/components/Expandable/Expandable.module.css +1 -1
- package/dist/components/Expandable/Expandable.types.d.ts +1 -1
- package/dist/components/Expandable/index.d.ts +2 -2
- package/dist/components/Expandable/index.js +1 -1
- package/dist/components/Expandable/tests/Expandable.stories.d.ts +1 -1
- package/dist/components/Expandable/tests/Expandable.stories.js +56 -62
- package/dist/components/FileUpload/FileUpload.d.ts +1 -1
- package/dist/components/FileUpload/FileUpload.js +3 -3
- package/dist/components/FileUpload/FileUpload.types.d.ts +3 -3
- package/dist/components/FileUpload/index.d.ts +2 -2
- package/dist/components/FileUpload/index.js +1 -1
- package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +2 -2
- package/dist/components/FileUpload/tests/FileUpload.stories.js +102 -108
- package/dist/components/Flyout/Flyout.constants.d.ts +0 -3
- package/dist/components/Flyout/Flyout.constants.js +0 -17
- package/dist/components/Flyout/Flyout.context.d.ts +1 -1
- package/dist/components/Flyout/Flyout.d.ts +1 -1
- package/dist/components/Flyout/Flyout.js +2 -2
- package/dist/components/Flyout/Flyout.module.css +1 -1
- package/dist/components/Flyout/Flyout.types.d.ts +5 -2
- package/dist/components/Flyout/FlyoutContent.d.ts +1 -1
- package/dist/components/Flyout/FlyoutContent.js +11 -8
- package/dist/components/Flyout/FlyoutControlled.d.ts +1 -1
- package/dist/components/Flyout/FlyoutControlled.js +72 -20
- package/dist/components/Flyout/FlyoutTrigger.d.ts +1 -1
- package/dist/components/Flyout/FlyoutTrigger.js +1 -1
- package/dist/components/Flyout/FlyoutUncontrolled.d.ts +1 -1
- package/dist/components/Flyout/FlyoutUncontrolled.js +1 -1
- package/dist/components/Flyout/index.d.ts +5 -5
- package/dist/components/Flyout/index.js +4 -4
- package/dist/components/Flyout/tests/Flyout.stories.d.ts +7 -0
- package/dist/components/Flyout/tests/Flyout.stories.js +521 -386
- package/dist/components/Flyout/useFlyout.d.ts +1 -1
- package/dist/components/Flyout/useFlyout.js +1 -1
- package/dist/components/FormControl/FormControl.context.d.ts +1 -3
- package/dist/components/FormControl/FormControl.d.ts +1 -1
- package/dist/components/FormControl/FormControl.js +20 -11
- package/dist/components/FormControl/FormControl.types.d.ts +4 -5
- package/dist/components/FormControl/FormControl.utilities.d.ts +1 -1
- package/dist/components/FormControl/FormControlCaption.d.ts +1 -1
- package/dist/components/FormControl/FormControlCaption.js +14 -8
- package/dist/components/FormControl/FormControlError.d.ts +1 -1
- package/dist/components/FormControl/FormControlError.js +2 -2
- package/dist/components/FormControl/FormControlHelper.d.ts +1 -1
- package/dist/components/FormControl/FormControlHelper.js +2 -2
- package/dist/components/FormControl/FormControlLabel.d.ts +1 -1
- package/dist/components/FormControl/FormControlLabel.js +5 -5
- package/dist/components/FormControl/index.d.ts +6 -6
- package/dist/components/FormControl/index.js +5 -5
- package/dist/components/FormControl/tests/FormControl.stories.d.ts +4 -4
- package/dist/components/FormControl/tests/FormControl.stories.js +114 -113
- package/dist/components/Grid/Grid.d.ts +1 -1
- package/dist/components/Grid/Grid.js +2 -2
- package/dist/components/Grid/Grid.types.d.ts +3 -3
- package/dist/components/Grid/index.d.ts +2 -2
- package/dist/components/Grid/index.js +1 -1
- package/dist/components/Grid/tests/Grid.stories.d.ts +2 -2
- package/dist/components/Grid/tests/Grid.stories.js +180 -186
- package/dist/components/Hidden/Hidden.d.ts +1 -1
- package/dist/components/Hidden/Hidden.js +1 -1
- package/dist/components/Hidden/Hidden.types.d.ts +1 -1
- package/dist/components/Hidden/index.d.ts +2 -2
- package/dist/components/Hidden/index.js +1 -1
- package/dist/components/Hidden/tests/Hidden.stories.d.ts +1 -1
- package/dist/components/Hidden/tests/Hidden.stories.js +33 -39
- package/dist/components/HiddenInput/HiddenInput.d.ts +1 -1
- package/dist/components/HiddenInput/HiddenInput.js +5 -7
- package/dist/components/HiddenInput/HiddenInput.types.d.ts +2 -2
- package/dist/components/HiddenInput/index.d.ts +2 -2
- package/dist/components/HiddenInput/index.js +1 -1
- package/dist/components/HiddenInput/tests/HiddenInput.stories.d.ts +5 -1
- package/dist/components/HiddenInput/tests/HiddenInput.stories.js +138 -119
- package/dist/components/HiddenVisually/HiddenVisually.d.ts +1 -1
- package/dist/components/HiddenVisually/index.d.ts +2 -2
- package/dist/components/HiddenVisually/index.js +1 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +1 -1
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +14 -20
- package/dist/components/Icon/Icon.d.ts +1 -1
- package/dist/components/Icon/Icon.js +1 -1
- package/dist/components/Icon/Icon.types.d.ts +2 -2
- package/dist/components/Icon/index.d.ts +2 -2
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/Icon/tests/Icon.stories.d.ts +1 -1
- package/dist/components/Icon/tests/Icon.stories.js +78 -84
- package/dist/components/IconToggle/IconToggle.d.ts +1 -1
- package/dist/components/IconToggle/IconToggle.js +2 -2
- package/dist/components/IconToggle/IconToggle.module.css +1 -1
- package/dist/components/IconToggle/IconToggle.types.d.ts +1 -1
- package/dist/components/IconToggle/index.d.ts +2 -2
- package/dist/components/IconToggle/index.js +1 -1
- package/dist/components/IconToggle/tests/IconToggle.stories.d.ts +1 -1
- package/dist/components/IconToggle/tests/IconToggle.stories.js +12 -18
- package/dist/components/Image/Image.d.ts +1 -1
- package/dist/components/Image/Image.js +8 -5
- package/dist/components/Image/Image.module.css +1 -1
- package/dist/components/Image/Image.types.d.ts +3 -3
- package/dist/components/Image/index.d.ts +2 -2
- package/dist/components/Image/index.js +1 -1
- package/dist/components/Image/tests/Image.stories.d.ts +6 -5
- package/dist/components/Image/tests/Image.stories.js +182 -151
- package/dist/components/Link/Link.d.ts +3 -3
- package/dist/components/Link/Link.js +2 -2
- package/dist/components/Link/Link.types.d.ts +2 -2
- package/dist/components/Link/index.d.ts +2 -2
- package/dist/components/Link/index.js +1 -1
- package/dist/components/Link/tests/Link.stories.d.ts +3 -3
- package/dist/components/Link/tests/Link.stories.js +98 -104
- package/dist/components/Loader/Loader.d.ts +1 -1
- package/dist/components/Loader/Loader.js +1 -1
- package/dist/components/Loader/Loader.types.d.ts +2 -2
- package/dist/components/Loader/index.d.ts +2 -2
- package/dist/components/Loader/index.js +1 -1
- package/dist/components/Loader/tests/Loader.stories.d.ts +1 -1
- package/dist/components/Loader/tests/Loader.stories.js +43 -49
- package/dist/components/LoaderText/LoaderText.d.ts +1 -1
- package/dist/components/LoaderText/LoaderText.js +2 -2
- package/dist/components/LoaderText/LoaderText.types.d.ts +2 -2
- package/dist/components/LoaderText/index.d.ts +2 -2
- package/dist/components/LoaderText/index.js +1 -1
- package/dist/components/LoaderText/tests/LoaderText.stories.d.ts +1 -1
- package/dist/components/LoaderText/tests/LoaderText.stories.js +35 -41
- package/dist/components/MenuItem/MenuItem.d.ts +7 -6
- package/dist/components/MenuItem/MenuItem.js +6 -6
- package/dist/components/MenuItem/MenuItem.module.css +1 -1
- package/dist/components/MenuItem/MenuItem.types.d.ts +7 -4
- package/dist/components/MenuItem/MenuItemAligner.d.ts +1 -1
- package/dist/components/MenuItem/MenuItemAligner.js +1 -1
- package/dist/components/MenuItem/index.d.ts +3 -3
- package/dist/components/MenuItem/index.js +2 -2
- package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +11 -6
- package/dist/components/MenuItem/tests/MenuItem.stories.js +157 -143
- package/dist/components/Modal/Modal.d.ts +1 -1
- package/dist/components/Modal/Modal.js +27 -187
- package/dist/components/Modal/Modal.module.css +1 -1
- package/dist/components/Modal/Modal.types.d.ts +5 -4
- package/dist/components/Modal/index.d.ts +2 -2
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/Modal/tests/Modal.stories.d.ts +3 -3
- package/dist/components/Modal/tests/Modal.stories.js +277 -269
- package/dist/components/Modal/useModalDrag.d.ts +21 -0
- package/dist/components/Modal/useModalDrag.js +318 -0
- package/dist/components/NumberField/NumberField.d.ts +1 -1
- package/dist/components/NumberField/NumberField.js +2 -2
- package/dist/components/NumberField/NumberField.types.d.ts +2 -2
- package/dist/components/NumberField/NumberFieldControlled.d.ts +1 -1
- package/dist/components/NumberField/NumberFieldControlled.js +29 -20
- package/dist/components/NumberField/NumberFieldUncontrolled.d.ts +1 -1
- package/dist/components/NumberField/NumberFieldUncontrolled.js +1 -1
- package/dist/components/NumberField/index.d.ts +2 -2
- package/dist/components/NumberField/index.js +1 -1
- package/dist/components/NumberField/tests/NumberField.stories.d.ts +1 -1
- package/dist/components/NumberField/tests/NumberField.stories.js +182 -188
- package/dist/components/Overlay/Overlay.d.ts +1 -1
- package/dist/components/Overlay/Overlay.js +14 -13
- package/dist/components/Overlay/Overlay.module.css +1 -1
- package/dist/components/Overlay/Overlay.types.d.ts +1 -1
- package/dist/components/Overlay/index.d.ts +2 -2
- package/dist/components/Overlay/index.js +1 -1
- package/dist/components/Overlay/tests/Overlay.stories.d.ts +1 -1
- package/dist/components/Overlay/tests/Overlay.stories.js +127 -131
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/Pagination/Pagination.js +2 -2
- package/dist/components/Pagination/Pagination.types.d.ts +1 -1
- package/dist/components/Pagination/PaginationControlled.d.ts +1 -1
- package/dist/components/Pagination/PaginationControlled.js +5 -5
- package/dist/components/Pagination/PaginationUncontrolled.d.ts +1 -1
- package/dist/components/Pagination/PaginationUncontrolled.js +1 -1
- package/dist/components/Pagination/index.d.ts +2 -2
- package/dist/components/Pagination/index.js +1 -1
- package/dist/components/Pagination/tests/Pagination.stories.d.ts +1 -1
- package/dist/components/Pagination/tests/Pagination.stories.js +55 -61
- package/dist/components/PinField/PinField.d.ts +1 -1
- package/dist/components/PinField/PinField.js +2 -2
- package/dist/components/PinField/PinField.types.d.ts +2 -2
- package/dist/components/PinField/PinFieldControlled.d.ts +1 -1
- package/dist/components/PinField/PinFieldControlled.js +46 -16
- package/dist/components/PinField/PinFieldUncontrolled.d.ts +1 -1
- package/dist/components/PinField/PinFieldUncontrolled.js +1 -1
- package/dist/components/PinField/index.d.ts +2 -2
- package/dist/components/PinField/index.js +1 -1
- package/dist/components/PinField/tests/PinField.stories.d.ts +1 -1
- package/dist/components/PinField/tests/PinField.stories.js +121 -127
- package/dist/components/Popover/Popover.d.ts +2 -2
- package/dist/components/Popover/Popover.js +4 -4
- package/dist/components/Popover/Popover.types.d.ts +1 -1
- package/dist/components/Popover/index.d.ts +3 -3
- package/dist/components/Popover/index.js +2 -2
- package/dist/components/Popover/tests/Popover.stories.d.ts +4 -4
- package/dist/components/Popover/tests/Popover.stories.js +231 -237
- package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +1 -1
- package/dist/components/ProgressBar/ProgressBar.types.d.ts +1 -1
- package/dist/components/ProgressBar/index.d.ts +2 -2
- package/dist/components/ProgressBar/index.js +1 -1
- package/dist/components/ProgressBar/tests/ProgressBar.stories.d.ts +1 -1
- package/dist/components/ProgressBar/tests/ProgressBar.stories.js +72 -78
- package/dist/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
- package/dist/components/ProgressIndicator/ProgressIndicator.types.d.ts +1 -1
- package/dist/components/ProgressIndicator/index.d.ts +2 -2
- package/dist/components/ProgressIndicator/index.js +1 -1
- package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +1 -1
- package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.js +52 -58
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +10 -6
- package/dist/components/Radio/Radio.types.d.ts +2 -2
- package/dist/components/Radio/index.d.ts +2 -2
- package/dist/components/Radio/index.js +1 -1
- package/dist/components/Radio/tests/Radio.stories.d.ts +1 -1
- package/dist/components/Radio/tests/Radio.stories.js +85 -91
- package/dist/components/RadioGroup/RadioGroup.context.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroup.js +2 -2
- package/dist/components/RadioGroup/RadioGroup.types.d.ts +3 -3
- package/dist/components/RadioGroup/RadioGroupControlled.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroupControlled.js +1 -1
- package/dist/components/RadioGroup/RadioGroupUncontrolled.d.ts +1 -1
- package/dist/components/RadioGroup/RadioGroupUncontrolled.js +1 -1
- package/dist/components/RadioGroup/index.d.ts +3 -3
- package/dist/components/RadioGroup/index.js +2 -2
- package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +1 -1
- package/dist/components/RadioGroup/tests/RadioGroup.stories.js +38 -44
- package/dist/components/Reshaped/Reshaped.d.ts +1 -1
- package/dist/components/Reshaped/Reshaped.js +7 -7
- package/dist/components/Reshaped/Reshaped.types.d.ts +3 -3
- package/dist/components/Reshaped/index.d.ts +2 -2
- package/dist/components/Reshaped/index.js +1 -1
- package/dist/components/Reshaped/tests/Reshaped.stories.js +56 -62
- package/dist/components/Resizable/Resizable.d.ts +1 -1
- package/dist/components/Resizable/Resizable.js +2 -2
- package/dist/components/Resizable/Resizable.types.d.ts +2 -2
- package/dist/components/Resizable/ResizableContext.d.ts +1 -1
- package/dist/components/Resizable/ResizableHandle.d.ts +1 -1
- package/dist/components/Resizable/ResizableHandle.js +3 -3
- package/dist/components/Resizable/index.d.ts +3 -3
- package/dist/components/Resizable/index.js +2 -2
- package/dist/components/Resizable/tests/Resizable.stories.d.ts +3 -3
- package/dist/components/Resizable/tests/Resizable.stories.js +131 -137
- package/dist/components/ScrollArea/ScrollArea.d.ts +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +32 -19
- package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.types.d.ts +3 -3
- package/dist/components/ScrollArea/index.d.ts +2 -2
- package/dist/components/ScrollArea/index.js +1 -1
- package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +1 -1
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +220 -226
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.js +11 -6
- package/dist/components/Select/Select.types.d.ts +7 -7
- package/dist/components/Select/SelectCustom.d.ts +1 -1
- package/dist/components/Select/SelectCustom.js +2 -2
- package/dist/components/Select/SelectCustomControlled.d.ts +1 -1
- package/dist/components/Select/SelectCustomControlled.js +27 -14
- package/dist/components/Select/SelectCustomUncontrolled.d.ts +1 -1
- package/dist/components/Select/SelectCustomUncontrolled.js +1 -1
- package/dist/components/Select/SelectEndContent.d.ts +1 -1
- package/dist/components/Select/SelectEndContent.js +3 -3
- package/dist/components/Select/SelectGroup.d.ts +1 -1
- package/dist/components/Select/SelectGroup.js +2 -2
- package/dist/components/Select/SelectHiddenInput.d.ts +1 -1
- package/dist/components/Select/SelectNative.d.ts +1 -1
- package/dist/components/Select/SelectNative.js +4 -4
- package/dist/components/Select/SelectOption.d.ts +1 -1
- package/dist/components/Select/SelectOption.js +1 -1
- package/dist/components/Select/SelectStartContent.d.ts +1 -1
- package/dist/components/Select/SelectStartContent.js +2 -2
- package/dist/components/Select/SelectTrigger.d.ts +1 -1
- package/dist/components/Select/SelectTrigger.js +8 -8
- package/dist/components/Select/index.d.ts +5 -5
- package/dist/components/Select/index.js +4 -4
- package/dist/components/Select/tests/Select.stories.d.ts +4 -4
- package/dist/components/Select/tests/Select.stories.js +452 -470
- package/dist/components/Skeleton/Skeleton.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Skeleton/Skeleton.types.d.ts +2 -2
- package/dist/components/Skeleton/index.d.ts +2 -2
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +1 -1
- package/dist/components/Skeleton/tests/Skeleton.stories.js +39 -45
- package/dist/components/Slider/Slider.d.ts +1 -1
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/Slider.types.d.ts +2 -1
- package/dist/components/Slider/SliderControlled.d.ts +1 -1
- package/dist/components/Slider/SliderControlled.js +11 -7
- package/dist/components/Slider/SliderThumb.d.ts +1 -1
- package/dist/components/Slider/SliderThumb.js +5 -6
- package/dist/components/Slider/SliderUncontrolled.d.ts +1 -1
- package/dist/components/Slider/SliderUncontrolled.js +1 -1
- package/dist/components/Slider/index.d.ts +2 -2
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/Slider/tests/Slider.stories.d.ts +1 -1
- package/dist/components/Slider/tests/Slider.stories.js +172 -178
- package/dist/components/Switch/Switch.d.ts +1 -1
- package/dist/components/Switch/Switch.js +8 -5
- package/dist/components/Switch/Switch.types.d.ts +2 -2
- package/dist/components/Switch/index.d.ts +2 -2
- package/dist/components/Switch/index.js +1 -1
- package/dist/components/Switch/tests/Switch.stories.d.ts +1 -1
- package/dist/components/Switch/tests/Switch.stories.js +90 -98
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Table/Table.js +2 -2
- package/dist/components/Table/Table.types.d.ts +1 -1
- package/dist/components/Table/index.d.ts +2 -2
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Table/tests/Table.stories.d.ts +6 -6
- package/dist/components/Table/tests/Table.stories.js +281 -287
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js +2 -2
- package/dist/components/Tabs/Tabs.types.d.ts +3 -3
- package/dist/components/Tabs/TabsContext.d.ts +1 -1
- package/dist/components/Tabs/TabsControlled.d.ts +1 -1
- package/dist/components/Tabs/TabsControlled.js +2 -2
- package/dist/components/Tabs/TabsItem.d.ts +2 -2
- package/dist/components/Tabs/TabsItem.js +6 -6
- package/dist/components/Tabs/TabsList.d.ts +1 -1
- package/dist/components/Tabs/TabsList.js +10 -10
- package/dist/components/Tabs/TabsPanel.d.ts +1 -1
- package/dist/components/Tabs/TabsPanel.js +2 -2
- package/dist/components/Tabs/TabsUncontrolled.d.ts +1 -1
- package/dist/components/Tabs/TabsUncontrolled.js +1 -1
- package/dist/components/Tabs/index.d.ts +5 -5
- package/dist/components/Tabs/index.js +4 -4
- package/dist/components/Tabs/tests/Tabs.stories.d.ts +4 -4
- package/dist/components/Tabs/tests/Tabs.stories.js +503 -509
- package/dist/components/Text/Text.d.ts +1 -1
- package/dist/components/Text/Text.js +2 -2
- package/dist/components/Text/Text.types.d.ts +2 -2
- package/dist/components/Text/index.d.ts +2 -2
- package/dist/components/Text/index.js +1 -1
- package/dist/components/Text/tests/Text.stories.d.ts +1 -1
- package/dist/components/Text/tests/Text.stories.js +159 -165
- package/dist/components/TextArea/TextArea.d.ts +1 -1
- package/dist/components/TextArea/TextArea.js +9 -5
- package/dist/components/TextArea/TextArea.types.d.ts +3 -3
- package/dist/components/TextArea/index.d.ts +3 -3
- package/dist/components/TextArea/index.js +2 -2
- package/dist/components/TextArea/tests/TextArea.stories.d.ts +2 -2
- package/dist/components/TextArea/tests/TextArea.stories.js +131 -137
- package/dist/components/TextField/TextField.d.ts +1 -1
- package/dist/components/TextField/TextField.js +11 -7
- package/dist/components/TextField/TextField.types.d.ts +4 -4
- package/dist/components/TextField/index.d.ts +3 -3
- package/dist/components/TextField/index.js +2 -2
- package/dist/components/TextField/tests/TextField.stories.d.ts +2 -2
- package/dist/components/TextField/tests/TextField.stories.js +160 -166
- package/dist/components/Theme/GlobalColorMode.d.ts +1 -1
- package/dist/components/Theme/GlobalColorMode.js +5 -5
- package/dist/components/Theme/Theme.context.d.ts +1 -1
- package/dist/components/Theme/Theme.d.ts +1 -1
- package/dist/components/Theme/Theme.js +4 -4
- package/dist/components/Theme/Theme.types.d.ts +1 -1
- package/dist/components/Theme/index.d.ts +4 -4
- package/dist/components/Theme/index.js +3 -3
- package/dist/components/Theme/tests/Theme.stories.d.ts +1 -1
- package/dist/components/Theme/tests/Theme.stories.js +99 -138
- package/dist/components/Theme/useTheme.d.ts +7 -7
- package/dist/components/Theme/useTheme.js +1 -1
- package/dist/components/Toast/Toast.constants.d.ts +1 -1
- package/dist/components/Toast/Toast.context.d.ts +1 -1
- package/dist/components/Toast/Toast.context.js +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.js +4 -4
- package/dist/components/Toast/Toast.types.d.ts +2 -2
- package/dist/components/Toast/ToastContainer.d.ts +1 -1
- package/dist/components/Toast/ToastContainer.js +4 -4
- package/dist/components/Toast/ToastProvider.d.ts +1 -1
- package/dist/components/Toast/ToastProvider.js +4 -4
- package/dist/components/Toast/ToastRegion.d.ts +1 -1
- package/dist/components/Toast/ToastRegion.js +2 -2
- package/dist/components/Toast/index.d.ts +3 -3
- package/dist/components/Toast/index.js +2 -2
- package/dist/components/Toast/tests/Toast.stories.js +199 -205
- package/dist/components/Toast/useToast.d.ts +1 -1
- package/dist/components/Toast/useToast.js +1 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButton.js +2 -2
- package/dist/components/ToggleButton/ToggleButton.types.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButtonControlled.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButtonControlled.js +2 -2
- package/dist/components/ToggleButton/ToggleButtonUncontrolled.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButtonUncontrolled.js +2 -2
- package/dist/components/ToggleButton/index.d.ts +2 -2
- package/dist/components/ToggleButton/index.js +1 -1
- package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +1 -1
- package/dist/components/ToggleButton/tests/ToggleButton.stories.js +60 -66
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.context.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.js +2 -2
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +2 -2
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +3 -3
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupUncontrolled.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupUncontrolled.js +1 -1
- package/dist/components/ToggleButtonGroup/index.d.ts +3 -3
- package/dist/components/ToggleButtonGroup/index.js +2 -2
- package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +134 -140
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -1
- package/dist/components/Tooltip/Tooltip.types.d.ts +1 -1
- package/dist/components/Tooltip/index.d.ts +2 -2
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +1 -1
- package/dist/components/Tooltip/tests/Tooltip.stories.js +144 -150
- package/dist/components/View/View.d.ts +1 -1
- package/dist/components/View/View.js +4 -4
- package/dist/components/View/View.types.d.ts +5 -5
- package/dist/components/View/index.d.ts +2 -2
- package/dist/components/View/index.js +1 -1
- package/dist/components/View/tests/View.stories.d.ts +2 -2
- package/dist/components/View/tests/View.stories.js +1098 -1131
- package/dist/components/_private/Aligner/Aligner.d.ts +1 -1
- package/dist/components/_private/Aligner/Aligner.types.d.ts +1 -1
- package/dist/components/_private/Aligner/index.d.ts +2 -2
- package/dist/components/_private/Aligner/index.js +1 -1
- package/dist/components/_private/Freeze/Freeze.d.ts +4 -0
- package/dist/components/_private/Freeze/Freeze.js +46 -0
- package/dist/components/_private/Freeze/Freeze.module.css +1 -0
- package/dist/components/_private/Freeze/Freeze.types.d.ts +14 -0
- package/dist/components/_private/Freeze/Freeze.types.js +1 -0
- package/dist/components/_private/Freeze/index.d.ts +1 -0
- package/dist/components/_private/Freeze/index.js +1 -0
- package/dist/components/_private/Freeze/tests/Freeze.stories.d.ts +7 -0
- package/dist/components/_private/Freeze/tests/Freeze.stories.js +82 -0
- package/dist/components/_private/Portal/Portal.d.ts +1 -1
- package/dist/components/_private/Portal/Portal.js +11 -5
- package/dist/components/_private/Portal/Portal.types.d.ts +1 -1
- package/dist/components/_private/Portal/index.d.ts +2 -2
- package/dist/components/_private/Portal/index.js +1 -1
- package/dist/components/_private/Portal/tests/Portal.stories.d.ts +2 -0
- package/dist/components/_private/Portal/tests/Portal.stories.js +40 -15
- package/dist/components/_private/Presence/Presence.d.ts +1 -1
- package/dist/components/_private/Presence/Presence.js +1 -1
- package/dist/components/_private/Presence/Presence.types.d.ts +1 -1
- package/dist/components/_private/Presence/index.d.ts +1 -1
- package/dist/components/_private/Presence/index.js +1 -1
- package/dist/hooks/_internal/useDrag.js +4 -4
- package/dist/hooks/_internal/useFadeSide.js +2 -2
- package/dist/hooks/_internal/useSingletonHotkeys.js +4 -0
- package/dist/hooks/_internal/useSingletonRTL.d.ts +5 -0
- package/dist/hooks/_internal/useSingletonRTL.js +2 -2
- package/dist/hooks/_internal/useSingletonViewport.d.ts +1 -1
- package/dist/hooks/_internal/useSingletonViewport.js +1 -1
- package/dist/hooks/tests/useDrag.stories.js +57 -63
- package/dist/hooks/tests/useElementId.stories.js +7 -13
- package/dist/hooks/tests/useHandlerRef.stories.js +12 -18
- package/dist/hooks/tests/useHotkeys.stories.d.ts +3 -0
- package/dist/hooks/tests/useHotkeys.stories.js +65 -54
- package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +56 -62
- package/dist/hooks/tests/useKeyboardMode.stories.js +16 -22
- package/dist/hooks/tests/useOnClickOutside.stories.d.ts +10 -0
- package/dist/hooks/tests/useOnClickOutside.stories.js +130 -48
- package/dist/hooks/tests/useRTL.stories.js +8 -14
- package/dist/hooks/tests/useResponsiveClientValue.stories.js +8 -14
- package/dist/hooks/tests/useScrollLock.stories.js +37 -43
- package/dist/hooks/tests/useToggle.stories.js +20 -26
- package/dist/hooks/useHandlerRef.js +1 -1
- package/dist/hooks/useHotkeys.d.ts +1 -1
- package/dist/hooks/useHotkeys.js +1 -1
- package/dist/hooks/useIsDismissible.js +1 -1
- package/dist/hooks/useKeyboardArrowNavigation.js +1 -1
- package/dist/hooks/useKeyboardMode.d.ts +1 -1
- package/dist/hooks/useKeyboardMode.js +1 -1
- package/dist/hooks/useOnClickOutside.js +23 -19
- package/dist/hooks/useRTL.d.ts +2 -2
- package/dist/hooks/useRTL.js +4 -2
- package/dist/hooks/useResponsiveClientValue.d.ts +1 -1
- package/dist/hooks/useResponsiveClientValue.js +1 -1
- package/dist/hooks/useViewport.d.ts +1 -1
- package/dist/hooks/useViewport.js +1 -1
- package/dist/index.d.ts +139 -139
- package/dist/index.js +76 -76
- package/dist/styles/mixin.d.ts +1 -1
- package/dist/styles/mixin.js +18 -18
- package/dist/styles/resolvers/align/index.d.ts +1 -1
- package/dist/styles/resolvers/align/index.js +1 -1
- package/dist/styles/resolvers/aspectRatio/index.d.ts +1 -1
- package/dist/styles/resolvers/aspectRatio/index.js +1 -1
- package/dist/styles/resolvers/bleed/index.d.ts +1 -1
- package/dist/styles/resolvers/bleed/index.js +1 -1
- package/dist/styles/resolvers/border/index.d.ts +1 -1
- package/dist/styles/resolvers/border/index.js +1 -1
- package/dist/styles/resolvers/height/index.d.ts +1 -1
- package/dist/styles/resolvers/height/index.js +1 -1
- package/dist/styles/resolvers/inset/index.d.ts +2 -2
- package/dist/styles/resolvers/inset/index.js +12 -2
- package/dist/styles/resolvers/inset/inset.css +1 -1
- package/dist/styles/resolvers/justify/index.d.ts +1 -1
- package/dist/styles/resolvers/justify/index.js +1 -1
- package/dist/styles/resolvers/margin/index.d.ts +1 -1
- package/dist/styles/resolvers/margin/index.js +1 -1
- package/dist/styles/resolvers/maxHeight/index.d.ts +1 -1
- package/dist/styles/resolvers/maxHeight/index.js +1 -1
- package/dist/styles/resolvers/maxWidth/index.d.ts +1 -1
- package/dist/styles/resolvers/maxWidth/index.js +1 -1
- package/dist/styles/resolvers/minHeight/index.d.ts +1 -1
- package/dist/styles/resolvers/minHeight/index.js +1 -1
- package/dist/styles/resolvers/minWidth/index.d.ts +1 -1
- package/dist/styles/resolvers/minWidth/index.js +1 -1
- package/dist/styles/resolvers/padding/index.d.ts +1 -1
- package/dist/styles/resolvers/padding/index.js +1 -1
- package/dist/styles/resolvers/position/index.d.ts +1 -1
- package/dist/styles/resolvers/position/index.js +1 -1
- package/dist/styles/resolvers/radius/index.d.ts +1 -1
- package/dist/styles/resolvers/radius/index.js +1 -1
- package/dist/styles/resolvers/shadow/index.d.ts +1 -1
- package/dist/styles/resolvers/textAlign/index.d.ts +1 -1
- package/dist/styles/resolvers/textAlign/index.js +1 -1
- package/dist/styles/resolvers/width/index.d.ts +1 -1
- package/dist/styles/resolvers/width/index.js +1 -1
- package/dist/styles/resolvers/zIndex/index.d.ts +1 -1
- package/dist/styles/types.d.ts +2 -2
- package/dist/tests/ShadowDOM.stories.js +46 -86
- package/dist/tests/ThemesPlayground.js +22 -22
- package/dist/tests/themes.stories.js +207 -250
- package/dist/themes/slate/theme.css +1 -1
- package/dist/utilities/animation.d.ts +17 -0
- package/dist/utilities/animation.js +73 -0
- package/dist/utilities/props.d.ts +2 -2
- package/dist/utilities/storybook/Example.js +2 -2
- package/dist/utilities/storybook/index.d.ts +2 -2
- package/dist/utilities/storybook/index.js +2 -2
- package/package.json +8 -7
- package/dist/bundle.d.ts +0 -158
- package/dist/bundle.js +0 -2
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const TextField_1 = __importDefault(require("../../../components/TextField"));
|
|
15
|
-
const Theme_1 = __importDefault(require("../../../components/Theme"));
|
|
16
|
-
const View_1 = __importDefault(require("../../../components/View"));
|
|
17
|
-
const helpers_1 = require("../../../utilities/helpers");
|
|
18
|
-
const storybook_1 = require("../../../utilities/storybook");
|
|
19
|
-
exports.default = { title: "Utility components/Flyout" };
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { userEvent, waitFor, within, expect, fn } from "storybook/test";
|
|
3
|
+
import Button from "../../../components/Button/index.js";
|
|
4
|
+
import Flyout from "../../../components/Flyout/index.js";
|
|
5
|
+
import Modal from "../../../components/Modal/index.js";
|
|
6
|
+
import Select from "../../../components/Select/index.js";
|
|
7
|
+
import Switch from "../../../components/Switch/index.js";
|
|
8
|
+
import TextField from "../../../components/TextField/index.js";
|
|
9
|
+
import Theme from "../../../components/Theme/index.js";
|
|
10
|
+
import View from "../../../components/View/index.js";
|
|
11
|
+
import { sleep } from "../../../utilities/helpers.js";
|
|
12
|
+
import { Example } from "../../../utilities/storybook/index.js";
|
|
13
|
+
export default { title: "Utility components/Flyout" };
|
|
20
14
|
const Content = (props) => (<div style={{
|
|
21
15
|
background: "var(--rs-color-background-elevation-overlay)",
|
|
22
16
|
padding: "var(--rs-unit-x4)",
|
|
@@ -30,7 +24,7 @@ const Content = (props) => (<div style={{
|
|
|
30
24
|
</div>);
|
|
31
25
|
const Demo = (props) => {
|
|
32
26
|
const { position = "bottom-start", children, text, contentHeight, contentWidth, ...rest } = props;
|
|
33
|
-
return (<
|
|
27
|
+
return (<Flyout position={position} {...rest} scrollableAttributes={{
|
|
34
28
|
style: {
|
|
35
29
|
padding: "var(--rs-unit-x4)",
|
|
36
30
|
},
|
|
@@ -44,138 +38,138 @@ const Demo = (props) => {
|
|
|
44
38
|
boxSizing: "border-box",
|
|
45
39
|
},
|
|
46
40
|
}}>
|
|
47
|
-
<
|
|
48
|
-
{(attributes) => <
|
|
49
|
-
</
|
|
50
|
-
<
|
|
51
|
-
</
|
|
41
|
+
<Flyout.Trigger>
|
|
42
|
+
{(attributes) => <Button attributes={attributes}>{text || position}</Button>}
|
|
43
|
+
</Flyout.Trigger>
|
|
44
|
+
<Flyout.Content>{children || "Content"}</Flyout.Content>
|
|
45
|
+
</Flyout>);
|
|
52
46
|
};
|
|
53
|
-
|
|
47
|
+
export const position = {
|
|
54
48
|
name: "position",
|
|
55
49
|
render: () => {
|
|
56
|
-
return (<
|
|
57
|
-
<
|
|
50
|
+
return (<View gap={4} padding={50} align="center" justify="center" height="100vh" width="120%">
|
|
51
|
+
<View gap={4} direction="row">
|
|
58
52
|
<Demo position="top-start" defaultActive/>
|
|
59
53
|
<Demo position="top"/>
|
|
60
54
|
<Demo position="top-end"/>
|
|
61
|
-
</
|
|
55
|
+
</View>
|
|
62
56
|
|
|
63
|
-
<
|
|
57
|
+
<View gap={4} direction="row">
|
|
64
58
|
<Demo position="end-top"/>
|
|
65
59
|
<Demo position="end"/>
|
|
66
60
|
<Demo position="end-bottom"/>
|
|
67
|
-
</
|
|
61
|
+
</View>
|
|
68
62
|
|
|
69
|
-
<
|
|
63
|
+
<View gap={4} direction="row">
|
|
70
64
|
<Demo position="start-top"/>
|
|
71
65
|
<Demo position="start"/>
|
|
72
66
|
<Demo position="start-bottom"/>
|
|
73
|
-
</
|
|
67
|
+
</View>
|
|
74
68
|
|
|
75
|
-
<
|
|
69
|
+
<View gap={4} direction="row">
|
|
76
70
|
<Demo position="bottom-start"/>
|
|
77
71
|
<Demo position="bottom"/>
|
|
78
72
|
<Demo position="bottom-end"/>
|
|
79
|
-
</
|
|
80
|
-
</
|
|
73
|
+
</View>
|
|
74
|
+
</View>);
|
|
81
75
|
},
|
|
82
76
|
};
|
|
83
|
-
|
|
77
|
+
export const defaultActive = {
|
|
84
78
|
name: "defaultActive, uncontrolled",
|
|
85
79
|
args: {
|
|
86
|
-
handleOpen:
|
|
87
|
-
handleClose:
|
|
88
|
-
},
|
|
89
|
-
render: (args) => (<
|
|
90
|
-
<
|
|
91
|
-
{(attributes) => <
|
|
92
|
-
</
|
|
93
|
-
<
|
|
80
|
+
handleOpen: fn(),
|
|
81
|
+
handleClose: fn(),
|
|
82
|
+
},
|
|
83
|
+
render: (args) => (<Flyout onOpen={args.handleOpen} onClose={args.handleClose} defaultActive>
|
|
84
|
+
<Flyout.Trigger>
|
|
85
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
86
|
+
</Flyout.Trigger>
|
|
87
|
+
<Flyout.Content>
|
|
94
88
|
<Content />
|
|
95
|
-
</
|
|
96
|
-
</
|
|
89
|
+
</Flyout.Content>
|
|
90
|
+
</Flyout>),
|
|
97
91
|
play: async ({ canvasElement, args }) => {
|
|
98
|
-
const canvas =
|
|
92
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
99
93
|
const trigger = canvas.getAllByRole("button")[0];
|
|
100
94
|
let item = canvas.getByText("Content");
|
|
101
|
-
await
|
|
102
|
-
await
|
|
103
|
-
await
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
95
|
+
await sleep(500);
|
|
96
|
+
await userEvent.click(document.body);
|
|
97
|
+
await waitFor(() => {
|
|
98
|
+
expect(args.handleClose).toHaveBeenCalledTimes(1);
|
|
99
|
+
expect(args.handleClose).toHaveBeenCalledWith({ reason: "outside-click" });
|
|
100
|
+
expect(item).not.toBeInTheDocument();
|
|
107
101
|
});
|
|
108
|
-
await
|
|
109
|
-
await
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
await userEvent.click(trigger);
|
|
103
|
+
await waitFor(() => {
|
|
104
|
+
expect(args.handleOpen).toHaveBeenCalledTimes(1);
|
|
105
|
+
expect(args.handleOpen).toHaveBeenCalledWith();
|
|
112
106
|
});
|
|
113
107
|
item = canvas.getByText("Content");
|
|
114
|
-
|
|
108
|
+
expect(item).toBeInTheDocument();
|
|
115
109
|
},
|
|
116
110
|
};
|
|
117
|
-
|
|
111
|
+
export const active = {
|
|
118
112
|
name: "active, controlled",
|
|
119
113
|
args: {
|
|
120
|
-
handleOpen:
|
|
121
|
-
handleClose:
|
|
122
|
-
},
|
|
123
|
-
render: (args) => (<
|
|
124
|
-
<
|
|
125
|
-
{(attributes) => <
|
|
126
|
-
</
|
|
127
|
-
<
|
|
114
|
+
handleOpen: fn(),
|
|
115
|
+
handleClose: fn(),
|
|
116
|
+
},
|
|
117
|
+
render: (args) => (<Flyout onOpen={args.handleOpen} onClose={args.handleClose} active>
|
|
118
|
+
<Flyout.Trigger>
|
|
119
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
120
|
+
</Flyout.Trigger>
|
|
121
|
+
<Flyout.Content>
|
|
128
122
|
<Content />
|
|
129
|
-
</
|
|
130
|
-
</
|
|
123
|
+
</Flyout.Content>
|
|
124
|
+
</Flyout>),
|
|
131
125
|
play: async ({ canvasElement, args }) => {
|
|
132
|
-
const canvas =
|
|
126
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
133
127
|
const item = canvas.getByText("Content");
|
|
134
|
-
await
|
|
135
|
-
await
|
|
136
|
-
|
|
137
|
-
|
|
128
|
+
await userEvent.click(document.body);
|
|
129
|
+
await waitFor(() => {
|
|
130
|
+
expect(args.handleClose).toHaveBeenCalledTimes(1);
|
|
131
|
+
expect(args.handleClose).toHaveBeenCalledWith({ reason: "outside-click" });
|
|
138
132
|
});
|
|
139
|
-
|
|
133
|
+
expect(item).toBeInTheDocument();
|
|
140
134
|
},
|
|
141
135
|
};
|
|
142
|
-
|
|
136
|
+
export const activeFalse = {
|
|
143
137
|
name: "active: false, controlled",
|
|
144
138
|
args: {
|
|
145
|
-
handleOpen:
|
|
146
|
-
handleClose:
|
|
147
|
-
},
|
|
148
|
-
render: (args) => (<
|
|
149
|
-
<
|
|
150
|
-
{(attributes) => <
|
|
151
|
-
</
|
|
152
|
-
<
|
|
139
|
+
handleOpen: fn(),
|
|
140
|
+
handleClose: fn(),
|
|
141
|
+
},
|
|
142
|
+
render: (args) => (<Flyout onOpen={args.handleOpen} onClose={args.handleClose} active={false}>
|
|
143
|
+
<Flyout.Trigger>
|
|
144
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
145
|
+
</Flyout.Trigger>
|
|
146
|
+
<Flyout.Content>
|
|
153
147
|
<Content />
|
|
154
|
-
</
|
|
155
|
-
</
|
|
148
|
+
</Flyout.Content>
|
|
149
|
+
</Flyout>),
|
|
156
150
|
play: async ({ canvasElement, args }) => {
|
|
157
|
-
const canvas =
|
|
151
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
158
152
|
const trigger = canvas.getAllByRole("button")[0];
|
|
159
|
-
await
|
|
160
|
-
await
|
|
161
|
-
|
|
162
|
-
|
|
153
|
+
await userEvent.click(trigger);
|
|
154
|
+
await waitFor(() => {
|
|
155
|
+
expect(args.handleOpen).toHaveBeenCalledTimes(1);
|
|
156
|
+
expect(args.handleOpen).toHaveBeenCalledWith();
|
|
163
157
|
});
|
|
164
158
|
const item = canvas.queryByText("Content");
|
|
165
|
-
|
|
159
|
+
expect(item).not.toBeInTheDocument();
|
|
166
160
|
},
|
|
167
161
|
};
|
|
168
|
-
const modeContent = (<
|
|
169
|
-
<
|
|
170
|
-
<
|
|
171
|
-
<
|
|
172
|
-
</
|
|
173
|
-
|
|
162
|
+
const modeContent = (<View direction="row" gap={2}>
|
|
163
|
+
<Button onClick={() => { }}>Action 1</Button>
|
|
164
|
+
<Button onClick={() => { }}>Action 2</Button>
|
|
165
|
+
<Button onClick={() => { }}>Action 3</Button>
|
|
166
|
+
</View>);
|
|
167
|
+
export const modes = {
|
|
174
168
|
name: "triggerType, trapFocusMode",
|
|
175
169
|
render: () => {
|
|
176
|
-
return (<
|
|
177
|
-
<
|
|
178
|
-
<
|
|
170
|
+
return (<Example>
|
|
171
|
+
<Example.Item title="triggerType: click">
|
|
172
|
+
<View direction="row" gap={4}>
|
|
179
173
|
<Demo position="bottom-start" trapFocusMode="dialog" text="dialog">
|
|
180
174
|
{modeContent}
|
|
181
175
|
</Demo>
|
|
@@ -191,11 +185,11 @@ exports.modes = {
|
|
|
191
185
|
<Demo position="bottom-start" trapFocusMode={false} text="false">
|
|
192
186
|
{modeContent}
|
|
193
187
|
</Demo>
|
|
194
|
-
</
|
|
195
|
-
</
|
|
188
|
+
</View>
|
|
189
|
+
</Example.Item>
|
|
196
190
|
|
|
197
|
-
<
|
|
198
|
-
<
|
|
191
|
+
<Example.Item title="triggerType: hover">
|
|
192
|
+
<View direction="row" gap={4}>
|
|
199
193
|
<Demo position="bottom-start" trapFocusMode="dialog" triggerType="hover" text="dialog">
|
|
200
194
|
{modeContent}
|
|
201
195
|
</Demo>
|
|
@@ -208,31 +202,31 @@ exports.modes = {
|
|
|
208
202
|
<Demo position="bottom-start" trapFocusMode="content-menu" triggerType="hover" text="content-menu">
|
|
209
203
|
{modeContent}
|
|
210
204
|
</Demo>
|
|
211
|
-
</
|
|
212
|
-
</
|
|
213
|
-
</
|
|
205
|
+
</View>
|
|
206
|
+
</Example.Item>
|
|
207
|
+
</Example>);
|
|
214
208
|
},
|
|
215
209
|
};
|
|
216
|
-
|
|
210
|
+
export const positionFallbacks = {
|
|
217
211
|
name: "fallbackPositions",
|
|
218
212
|
render: () => {
|
|
219
|
-
return (<
|
|
220
|
-
<
|
|
221
|
-
<
|
|
213
|
+
return (<Example>
|
|
214
|
+
<Example.Item title="position: top, default fallbacks">
|
|
215
|
+
<View justify="center" align="center">
|
|
222
216
|
<Demo position="top"/>
|
|
223
|
-
</
|
|
224
|
-
</
|
|
225
|
-
<
|
|
226
|
-
<
|
|
217
|
+
</View>
|
|
218
|
+
</Example.Item>
|
|
219
|
+
<Example.Item title="position: top, fallbackPositions: [start]">
|
|
220
|
+
<View justify="center" align="center">
|
|
227
221
|
<Demo position="top" fallbackPositions={["start"]} contentHeight={200} defaultActive/>
|
|
228
|
-
</
|
|
229
|
-
</
|
|
230
|
-
<
|
|
231
|
-
<
|
|
222
|
+
</View>
|
|
223
|
+
</Example.Item>
|
|
224
|
+
<Example.Item title="position: top, fallbackPositions: false">
|
|
225
|
+
<View justify="center" align="center">
|
|
232
226
|
<Demo position="top" fallbackPositions={false} contentHeight={400}/>
|
|
233
|
-
</
|
|
234
|
-
</
|
|
235
|
-
</
|
|
227
|
+
</View>
|
|
228
|
+
</Example.Item>
|
|
229
|
+
</Example>);
|
|
236
230
|
},
|
|
237
231
|
};
|
|
238
232
|
const FallbackAdjustLayoutControls = ({ containerRef, large, }) => {
|
|
@@ -241,16 +235,16 @@ const FallbackAdjustLayoutControls = ({ containerRef, large, }) => {
|
|
|
241
235
|
const content = <div style={{ height: "1500px" }}>Content</div>;
|
|
242
236
|
return (<>
|
|
243
237
|
{/* Left side */}
|
|
244
|
-
<
|
|
238
|
+
<View position="absolute" insetStart={4} insetTop={10} gap={2}>
|
|
245
239
|
<Demo contentHeight={contentHeight} position="end" fallbackAdjustLayout fallbackPositions={false} containerRef={containerRef}>
|
|
246
240
|
{content}
|
|
247
241
|
</Demo>
|
|
248
242
|
<Demo contentHeight={contentHeight} position="end-bottom" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
249
243
|
{content}
|
|
250
244
|
</Demo>
|
|
251
|
-
</
|
|
245
|
+
</View>
|
|
252
246
|
|
|
253
|
-
<
|
|
247
|
+
<View position="absolute" insetStart={4} insetTop={80} gap={2}>
|
|
254
248
|
<Demo position="top" fallbackPositions={false} fallbackAdjustLayout contentWidth={contentWidth} containerRef={containerRef}>
|
|
255
249
|
{content}
|
|
256
250
|
</Demo>
|
|
@@ -263,29 +257,29 @@ const FallbackAdjustLayoutControls = ({ containerRef, large, }) => {
|
|
|
263
257
|
<Demo position="bottom" fallbackPositions={false} fallbackAdjustLayout contentWidth={contentWidth} containerRef={containerRef}>
|
|
264
258
|
{content}
|
|
265
259
|
</Demo>
|
|
266
|
-
</
|
|
260
|
+
</View>
|
|
267
261
|
|
|
268
|
-
<
|
|
262
|
+
<View position="absolute" insetBottom={4} insetStart={4} gap={2}>
|
|
269
263
|
<Demo contentHeight={contentHeight} position="end-top" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
270
264
|
{content}
|
|
271
265
|
</Demo>
|
|
272
266
|
<Demo contentHeight={contentHeight} position="end" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
273
267
|
{content}
|
|
274
268
|
</Demo>
|
|
275
|
-
</
|
|
269
|
+
</View>
|
|
276
270
|
|
|
277
271
|
{/* Right side */}
|
|
278
272
|
|
|
279
|
-
<
|
|
273
|
+
<View position="absolute" insetTop={10} insetEnd={4} gap={2}>
|
|
280
274
|
<Demo contentHeight={contentHeight} position="start" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
281
275
|
{content}
|
|
282
276
|
</Demo>
|
|
283
277
|
<Demo contentHeight={contentHeight} position="start-bottom" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
284
278
|
{content}
|
|
285
279
|
</Demo>
|
|
286
|
-
</
|
|
280
|
+
</View>
|
|
287
281
|
|
|
288
|
-
<
|
|
282
|
+
<View position="absolute" insetEnd={4} insetTop={80} gap={2}>
|
|
289
283
|
<Demo position="top-start" fallbackPositions={false} fallbackAdjustLayout contentWidth={contentWidth} containerRef={containerRef}>
|
|
290
284
|
{content}
|
|
291
285
|
</Demo>
|
|
@@ -298,19 +292,19 @@ const FallbackAdjustLayoutControls = ({ containerRef, large, }) => {
|
|
|
298
292
|
<Demo position="bottom" fallbackPositions={false} fallbackAdjustLayout contentWidth={contentWidth} containerRef={containerRef}>
|
|
299
293
|
{content}
|
|
300
294
|
</Demo>
|
|
301
|
-
</
|
|
295
|
+
</View>
|
|
302
296
|
|
|
303
|
-
<
|
|
297
|
+
<View position="absolute" insetBottom={4} insetEnd={4} gap={2}>
|
|
304
298
|
<Demo contentHeight={contentHeight} position="start-top" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
305
299
|
{content}
|
|
306
300
|
</Demo>
|
|
307
301
|
<Demo contentHeight={contentHeight} position="start" fallbackPositions={false} fallbackAdjustLayout containerRef={containerRef}>
|
|
308
302
|
{content}
|
|
309
303
|
</Demo>
|
|
310
|
-
</
|
|
304
|
+
</View>
|
|
311
305
|
</>);
|
|
312
306
|
};
|
|
313
|
-
|
|
307
|
+
export const fallbackAdjustLayout = {
|
|
314
308
|
name: "fallbackAdjustLayout",
|
|
315
309
|
render: () => {
|
|
316
310
|
return (<Demo contentHeight={false} position="bottom-start" width="200px" fallbackAdjustLayout defaultActive>
|
|
@@ -318,7 +312,7 @@ exports.fallbackAdjustLayout = {
|
|
|
318
312
|
</Demo>);
|
|
319
313
|
},
|
|
320
314
|
};
|
|
321
|
-
|
|
315
|
+
export const fallbackMinHeight = {
|
|
322
316
|
name: "fallbackAdjustLayout, fallbackMinHeight",
|
|
323
317
|
render: () => {
|
|
324
318
|
return (<div style={{ height: "1000px", paddingTop: "700px" }}>
|
|
@@ -328,189 +322,330 @@ exports.fallbackMinHeight = {
|
|
|
328
322
|
</div>);
|
|
329
323
|
},
|
|
330
324
|
};
|
|
331
|
-
|
|
325
|
+
export const fallbackAdjustLayoutShift = {
|
|
332
326
|
name: "fallbackAdjustLayout, shift",
|
|
333
327
|
render: () => {
|
|
334
|
-
const containerRef =
|
|
335
|
-
return (<
|
|
336
|
-
<
|
|
337
|
-
<
|
|
328
|
+
const containerRef = React.useRef(null);
|
|
329
|
+
return (<View gap={10}>
|
|
330
|
+
<View height="95vh" width="100%" align="center" justify="center">
|
|
331
|
+
<View backgroundColor="neutral-faded" borderRadius="medium" height="1000px" width="600px" padding={4} paddingBlock={15} overflow="auto">
|
|
338
332
|
<FallbackAdjustLayoutControls />
|
|
339
|
-
<
|
|
340
|
-
</
|
|
341
|
-
</
|
|
333
|
+
<View height="150%" width="150%" attributes={{ style: { pointerEvents: "none" } }}/>
|
|
334
|
+
</View>
|
|
335
|
+
</View>
|
|
342
336
|
|
|
343
|
-
<
|
|
344
|
-
<
|
|
337
|
+
<View height="95vh" width="100%" align="center" justify="center">
|
|
338
|
+
<View backgroundColor="neutral-faded" borderRadius="medium" height="1000px" width="600px" attributes={{ ref: containerRef }} padding={4} paddingBlock={15} overflow="auto">
|
|
345
339
|
<FallbackAdjustLayoutControls containerRef={containerRef}/>
|
|
346
|
-
<
|
|
347
|
-
</
|
|
348
|
-
</
|
|
340
|
+
<View height="150%" width="150%" attributes={{ style: { pointerEvents: "none" } }}/>
|
|
341
|
+
</View>
|
|
342
|
+
</View>
|
|
349
343
|
|
|
350
344
|
<FallbackAdjustLayoutControls />
|
|
351
345
|
<div style={{ height: "100vh", width: "250%" }}/>
|
|
352
|
-
</
|
|
346
|
+
</View>);
|
|
353
347
|
},
|
|
354
348
|
};
|
|
355
|
-
|
|
349
|
+
export const fallbackAdjustLayoutSize = {
|
|
356
350
|
name: "fallbackAdjustLayout, size",
|
|
357
351
|
render: () => {
|
|
358
|
-
const containerRef =
|
|
359
|
-
return (<
|
|
360
|
-
<
|
|
361
|
-
<
|
|
352
|
+
const containerRef = React.useRef(null);
|
|
353
|
+
return (<View gap={10}>
|
|
354
|
+
<View height="95vh" width="100%" align="center" justify="center">
|
|
355
|
+
<View backgroundColor="neutral-faded" borderRadius="medium" height="1000px" width="600px" padding={4} paddingBlock={15} overflow="auto">
|
|
362
356
|
<FallbackAdjustLayoutControls large/>
|
|
363
|
-
<
|
|
364
|
-
</
|
|
365
|
-
</
|
|
357
|
+
<View height="150%" width="150%" attributes={{ style: { pointerEvents: "none" } }}/>
|
|
358
|
+
</View>
|
|
359
|
+
</View>
|
|
366
360
|
|
|
367
|
-
<
|
|
368
|
-
<
|
|
361
|
+
<View height="95vh" width="100%" align="center" justify="center">
|
|
362
|
+
<View backgroundColor="neutral-faded" borderRadius="medium" height="1000px" width="600px" attributes={{ ref: containerRef }} padding={4} paddingBlock={15} overflow="auto">
|
|
369
363
|
<FallbackAdjustLayoutControls containerRef={containerRef} large/>
|
|
370
|
-
<
|
|
371
|
-
</
|
|
372
|
-
</
|
|
364
|
+
<View height="150%" width="150%" attributes={{ style: { pointerEvents: "none" } }}/>
|
|
365
|
+
</View>
|
|
366
|
+
</View>
|
|
373
367
|
|
|
374
368
|
<FallbackAdjustLayoutControls large/>
|
|
375
369
|
<div style={{ height: "100vh", width: "250%" }}/>
|
|
376
|
-
</
|
|
370
|
+
</View>);
|
|
377
371
|
},
|
|
378
372
|
};
|
|
379
|
-
|
|
373
|
+
export const originCoordinates = {
|
|
380
374
|
name: "originCoordinates",
|
|
381
375
|
render: () => {
|
|
382
|
-
return (<
|
|
376
|
+
return (<View gap={4} direction="row">
|
|
383
377
|
<Demo position="bottom-start" originCoordinates={{ x: 150, y: 150 }} defaultActive/>
|
|
384
|
-
</
|
|
378
|
+
</View>);
|
|
385
379
|
},
|
|
386
380
|
};
|
|
387
|
-
|
|
381
|
+
export const width = {
|
|
388
382
|
name: "width",
|
|
389
|
-
render: () => (<
|
|
390
|
-
<
|
|
383
|
+
render: () => (<Example>
|
|
384
|
+
<Example.Item title="width: 300px">
|
|
391
385
|
<Demo width="300px" contentWidth={false} position="bottom"/>
|
|
392
|
-
</
|
|
386
|
+
</Example.Item>
|
|
393
387
|
|
|
394
|
-
<
|
|
388
|
+
<Example.Item title="width: trigger">
|
|
395
389
|
<Demo width="trigger" contentWidth={false} defaultActive/>
|
|
396
|
-
</
|
|
397
|
-
</
|
|
390
|
+
</Example.Item>
|
|
391
|
+
</Example>),
|
|
398
392
|
};
|
|
399
|
-
|
|
393
|
+
export const contentGap = {
|
|
400
394
|
name: "contentGap",
|
|
401
395
|
render: () => <Demo contentGap={10} defaultActive/>,
|
|
402
396
|
};
|
|
403
|
-
|
|
397
|
+
export const contentShift = {
|
|
404
398
|
name: "contentShift",
|
|
405
399
|
render: () => <Demo contentShift={10} defaultActive/>,
|
|
406
400
|
};
|
|
407
|
-
|
|
401
|
+
export const contentZIndex = {
|
|
408
402
|
name: "contentZIndex",
|
|
409
|
-
render: () => (<
|
|
410
|
-
<
|
|
403
|
+
render: () => (<View gap={6}>
|
|
404
|
+
<View direction="row" gap={20}>
|
|
411
405
|
<Demo contentZIndex={8999} active/>
|
|
412
406
|
<Demo contentZIndex={9001} active/>
|
|
413
|
-
</
|
|
414
|
-
<
|
|
415
|
-
</
|
|
407
|
+
</View>
|
|
408
|
+
<View backgroundColor="primary-faded" height={100} width={100} borderRadius="medium" position="relative" zIndex={9000}/>
|
|
409
|
+
</View>),
|
|
416
410
|
};
|
|
417
|
-
|
|
411
|
+
export const contentMaxHeight = {
|
|
418
412
|
name: "contentMaxHeight",
|
|
419
413
|
render: () => (<Demo contentMaxHeight="500px" defaultActive contentHeight={false} fallbackAdjustLayout>
|
|
420
|
-
<
|
|
421
|
-
{Array.from({ length: 20 }).map((_, index) => (<
|
|
422
|
-
</
|
|
414
|
+
<View gap={4}>
|
|
415
|
+
{Array.from({ length: 20 }).map((_, index) => (<View.Item key={index}>Item {index + 1}</View.Item>))}
|
|
416
|
+
</View>
|
|
423
417
|
</Demo>),
|
|
424
418
|
};
|
|
425
|
-
|
|
419
|
+
export const disableContentHover = {
|
|
426
420
|
name: "disableContentHover",
|
|
427
421
|
render: () => <Demo triggerType="hover" disableContentHover/>,
|
|
428
422
|
// Can't trigger real mouse move from trigger to content in play function, so testing it manually
|
|
429
423
|
};
|
|
430
|
-
|
|
424
|
+
export const disableCloseOnOutsideClick = {
|
|
431
425
|
name: "disableCloseOnOutsideClick",
|
|
432
426
|
render: () => <Demo disableCloseOnOutsideClick/>,
|
|
433
427
|
play: async ({ canvasElement }) => {
|
|
434
|
-
const canvas =
|
|
428
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
435
429
|
const trigger = canvas.getAllByRole("button")[0];
|
|
436
|
-
await
|
|
437
|
-
await
|
|
430
|
+
await userEvent.click(trigger);
|
|
431
|
+
await waitFor(() => {
|
|
438
432
|
const content = canvas.getByText("Content");
|
|
439
|
-
|
|
433
|
+
expect(content).toBeVisible();
|
|
440
434
|
});
|
|
441
|
-
await
|
|
442
|
-
await
|
|
435
|
+
await userEvent.click(document.body);
|
|
436
|
+
await sleep(500);
|
|
443
437
|
const content = canvas.getByText("Content");
|
|
444
|
-
|
|
438
|
+
expect(content).toBeVisible();
|
|
445
439
|
},
|
|
446
440
|
};
|
|
447
|
-
|
|
441
|
+
export const disableHideAnimation = {
|
|
448
442
|
name: "disableHideAnimation",
|
|
449
443
|
render: () => <Demo disableHideAnimation defaultActive/>,
|
|
450
444
|
};
|
|
451
|
-
|
|
445
|
+
export const testFrozenContentOnClose = {
|
|
446
|
+
name: "test: content doesn't change while closing",
|
|
447
|
+
args: {
|
|
448
|
+
handleAfterClose: fn(),
|
|
449
|
+
},
|
|
450
|
+
render: (args) => {
|
|
451
|
+
const [active, setActive] = React.useState(false);
|
|
452
|
+
const [value, setValue] = React.useState("First");
|
|
453
|
+
return (<Flyout active={active} onOpen={() => setActive(true)} onClose={() => setActive(false)} onAfterClose={args.handleAfterClose}>
|
|
454
|
+
<Flyout.Trigger>
|
|
455
|
+
{(attributes) => <Button attributes={attributes}>{value}</Button>}
|
|
456
|
+
</Flyout.Trigger>
|
|
457
|
+
<Flyout.Content>
|
|
458
|
+
<Content>
|
|
459
|
+
<div data-testid="selected-value">Selected: {value}</div>
|
|
460
|
+
<Button onClick={() => {
|
|
461
|
+
setValue("Second");
|
|
462
|
+
setActive(false);
|
|
463
|
+
}}>
|
|
464
|
+
Select second
|
|
465
|
+
</Button>
|
|
466
|
+
</Content>
|
|
467
|
+
</Flyout.Content>
|
|
468
|
+
</Flyout>);
|
|
469
|
+
},
|
|
470
|
+
play: async ({ canvasElement, args }) => {
|
|
471
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
472
|
+
// Transitions are disabled for the first frames after the color mode gets applied
|
|
473
|
+
await waitFor(() => {
|
|
474
|
+
expect(document.documentElement).not.toHaveAttribute("data-rs-no-transition");
|
|
475
|
+
});
|
|
476
|
+
await userEvent.click(canvas.getByRole("button", { name: "First" }));
|
|
477
|
+
await waitFor(() => {
|
|
478
|
+
expect(canvas.getByTestId("selected-value")).toBeVisible();
|
|
479
|
+
});
|
|
480
|
+
// Record the content state after every DOM update since the hide animation might end before click resolves
|
|
481
|
+
const snapshots = [];
|
|
482
|
+
const observer = new MutationObserver(() => {
|
|
483
|
+
const el = canvasElement.ownerDocument.querySelector("[data-testid=selected-value]");
|
|
484
|
+
if (!el)
|
|
485
|
+
return;
|
|
486
|
+
snapshots.push({ text: el.textContent, visible: el.checkVisibility() });
|
|
487
|
+
});
|
|
488
|
+
observer.observe(canvasElement.ownerDocument.body, {
|
|
489
|
+
subtree: true,
|
|
490
|
+
childList: true,
|
|
491
|
+
attributes: true,
|
|
492
|
+
characterData: true,
|
|
493
|
+
});
|
|
494
|
+
await userEvent.click(canvas.getByText("Select second"));
|
|
495
|
+
await waitFor(() => {
|
|
496
|
+
expect(canvas.queryByTestId("selected-value")).not.toBeInTheDocument();
|
|
497
|
+
});
|
|
498
|
+
observer.disconnect();
|
|
499
|
+
// Trigger is updated right away while the content keeps its last state during the hide animation
|
|
500
|
+
expect(canvas.getAllByRole("button")[0]).toHaveTextContent("Second");
|
|
501
|
+
expect(snapshots.length).toBeGreaterThan(0);
|
|
502
|
+
snapshots.forEach((snapshot) => {
|
|
503
|
+
expect(snapshot).toEqual({ text: "Selected: First", visible: true });
|
|
504
|
+
});
|
|
505
|
+
expect(args.handleAfterClose).toHaveBeenCalledTimes(1);
|
|
506
|
+
},
|
|
507
|
+
};
|
|
508
|
+
export const testCloseRightAfterOpen = {
|
|
509
|
+
name: "test: close right after opening",
|
|
510
|
+
args: {
|
|
511
|
+
handleAfterClose: fn(),
|
|
512
|
+
},
|
|
513
|
+
render: (args) => {
|
|
514
|
+
const [active, setActive] = React.useState(false);
|
|
515
|
+
const [closeOnOpen, setCloseOnOpen] = React.useState(false);
|
|
516
|
+
// Closing in the same frame, before the open transition starts
|
|
517
|
+
React.useEffect(() => {
|
|
518
|
+
if (active && closeOnOpen)
|
|
519
|
+
setActive(false);
|
|
520
|
+
}, [active, closeOnOpen]);
|
|
521
|
+
return (<Flyout active={active} onAfterClose={args.handleAfterClose}>
|
|
522
|
+
<Flyout.Trigger>
|
|
523
|
+
{(attributes) => (<Button attributes={attributes} onClick={() => {
|
|
524
|
+
setCloseOnOpen(true);
|
|
525
|
+
setActive(true);
|
|
526
|
+
}}>
|
|
527
|
+
Trigger
|
|
528
|
+
</Button>)}
|
|
529
|
+
</Flyout.Trigger>
|
|
530
|
+
<Flyout.Content>
|
|
531
|
+
<Content />
|
|
532
|
+
</Flyout.Content>
|
|
533
|
+
</Flyout>);
|
|
534
|
+
},
|
|
535
|
+
play: async ({ canvasElement, args }) => {
|
|
536
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
537
|
+
// Transitions are disabled for the first frames after the color mode gets applied
|
|
538
|
+
await waitFor(() => {
|
|
539
|
+
expect(document.documentElement).not.toHaveAttribute("data-rs-no-transition");
|
|
540
|
+
});
|
|
541
|
+
await userEvent.click(canvas.getByRole("button", { name: "Trigger" }));
|
|
542
|
+
await waitFor(() => {
|
|
543
|
+
expect(canvas.queryByText("Content")).not.toBeInTheDocument();
|
|
544
|
+
expect(args.handleAfterClose).toHaveBeenCalledTimes(1);
|
|
545
|
+
});
|
|
546
|
+
},
|
|
547
|
+
};
|
|
548
|
+
export const testFocusReturnWithoutTransitions = {
|
|
549
|
+
name: "test: focus returns to the trigger with transitions disabled",
|
|
550
|
+
render: () => (<Flyout>
|
|
551
|
+
<Flyout.Trigger>
|
|
552
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
553
|
+
</Flyout.Trigger>
|
|
554
|
+
<Flyout.Content>
|
|
555
|
+
<Content>
|
|
556
|
+
<Button onClick={() => { }}>Inside</Button>
|
|
557
|
+
</Content>
|
|
558
|
+
</Flyout.Content>
|
|
559
|
+
</Flyout>),
|
|
560
|
+
play: async ({ canvasElement }) => {
|
|
561
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
562
|
+
const trigger = canvas.getByRole("button", { name: "Trigger" });
|
|
563
|
+
// Wait for the provider to enable transitions after mount before disabling them again
|
|
564
|
+
await waitFor(() => {
|
|
565
|
+
expect(document.documentElement).not.toHaveAttribute("data-rs-no-transition");
|
|
566
|
+
});
|
|
567
|
+
// Same as prefers-reduced-motion, content is removed without the hide animation
|
|
568
|
+
document.documentElement.setAttribute("data-rs-no-transition", "true");
|
|
569
|
+
try {
|
|
570
|
+
trigger.focus();
|
|
571
|
+
await userEvent.keyboard("{Enter}");
|
|
572
|
+
await waitFor(() => {
|
|
573
|
+
expect(canvas.getByRole("dialog")).toContainElement(document.activeElement);
|
|
574
|
+
});
|
|
575
|
+
await userEvent.keyboard("{Escape}");
|
|
576
|
+
await waitFor(() => {
|
|
577
|
+
expect(canvas.queryByRole("dialog")).not.toBeInTheDocument();
|
|
578
|
+
});
|
|
579
|
+
expect(trigger).toHaveFocus();
|
|
580
|
+
}
|
|
581
|
+
finally {
|
|
582
|
+
document.documentElement.removeAttribute("data-rs-no-transition");
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
};
|
|
586
|
+
export const disabled = {
|
|
452
587
|
name: "disabled",
|
|
453
588
|
args: {
|
|
454
|
-
handleOpen:
|
|
589
|
+
handleOpen: fn(),
|
|
455
590
|
},
|
|
456
|
-
render: () => (<
|
|
457
|
-
<
|
|
458
|
-
{(attributes) => <
|
|
459
|
-
</
|
|
460
|
-
<
|
|
591
|
+
render: () => (<Flyout disabled>
|
|
592
|
+
<Flyout.Trigger>
|
|
593
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
594
|
+
</Flyout.Trigger>
|
|
595
|
+
<Flyout.Content>
|
|
461
596
|
<Content />
|
|
462
|
-
</
|
|
463
|
-
</
|
|
597
|
+
</Flyout.Content>
|
|
598
|
+
</Flyout>),
|
|
464
599
|
play: async ({ canvasElement, args }) => {
|
|
465
|
-
const canvas =
|
|
600
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
466
601
|
const button = canvas.getAllByRole("button")[0];
|
|
467
|
-
await
|
|
468
|
-
|
|
602
|
+
await userEvent.click(button);
|
|
603
|
+
expect(args.handleOpen).toHaveBeenCalledTimes(0);
|
|
469
604
|
},
|
|
470
605
|
};
|
|
471
|
-
|
|
606
|
+
export const containerRef = {
|
|
472
607
|
name: "containerRef",
|
|
473
608
|
render: () => {
|
|
474
|
-
const portalRef =
|
|
475
|
-
const portalRef2 =
|
|
476
|
-
const portalRef3 =
|
|
477
|
-
const [tall, setTall] =
|
|
609
|
+
const portalRef = React.useRef(null);
|
|
610
|
+
const portalRef2 = React.useRef(null);
|
|
611
|
+
const portalRef3 = React.useRef(null);
|
|
612
|
+
const [tall, setTall] = React.useState(false);
|
|
478
613
|
const height = tall ? 90 : 120;
|
|
479
|
-
return (<
|
|
480
|
-
<
|
|
481
|
-
<
|
|
482
|
-
</
|
|
483
|
-
<
|
|
484
|
-
<
|
|
614
|
+
return (<View gap={4}>
|
|
615
|
+
<View>
|
|
616
|
+
<Button onClick={() => setTall((prev) => !prev)}>Toggle container height</Button>
|
|
617
|
+
</View>
|
|
618
|
+
<View gap={4} direction="row">
|
|
619
|
+
<View grow backgroundColor="neutral-faded" borderRadius="small" height={height} attributes={{
|
|
485
620
|
ref: portalRef,
|
|
486
621
|
"data-testid": "container",
|
|
487
622
|
style: { transition: "height 0.3s ease-in-out" },
|
|
488
623
|
}} justify="end" align="start" padding={4}>
|
|
489
624
|
<Demo containerRef={portalRef} position="bottom-start" active/>
|
|
490
|
-
</
|
|
491
|
-
<
|
|
625
|
+
</View>
|
|
626
|
+
<View grow backgroundColor="neutral-faded" borderRadius="small" height={height} attributes={{ ref: portalRef2, style: { transition: "height 0.3s ease-in-out" } }} justify="start" align="end" padding={4}>
|
|
492
627
|
<Demo containerRef={portalRef2} position="top-end"/>
|
|
493
|
-
</
|
|
494
|
-
<
|
|
495
|
-
<
|
|
628
|
+
</View>
|
|
629
|
+
<View width={50} backgroundColor="neutral-faded" borderRadius="small" height={height} attributes={{ ref: portalRef3, style: { transition: "height 0.3s ease-in-out" } }} padding={4} overflow="auto">
|
|
630
|
+
<View height={200} width="120%" justify="center" align="center">
|
|
496
631
|
<Demo containerRef={portalRef3} position="bottom-end"/>
|
|
497
|
-
</
|
|
498
|
-
</
|
|
499
|
-
</
|
|
500
|
-
</
|
|
632
|
+
</View>
|
|
633
|
+
</View>
|
|
634
|
+
</View>
|
|
635
|
+
</View>);
|
|
501
636
|
},
|
|
502
637
|
};
|
|
503
|
-
|
|
638
|
+
export const positionRef = {
|
|
504
639
|
name: "positionRef",
|
|
505
640
|
render: () => {
|
|
506
|
-
const ref =
|
|
507
|
-
return (<
|
|
508
|
-
<
|
|
509
|
-
<
|
|
510
|
-
<
|
|
511
|
-
{(attributes) => <
|
|
512
|
-
</
|
|
513
|
-
<
|
|
641
|
+
const ref = React.useRef(null);
|
|
642
|
+
return (<View gap={10}>
|
|
643
|
+
<View.Item>
|
|
644
|
+
<Flyout position="bottom" positionRef={ref} width="trigger" active>
|
|
645
|
+
<Flyout.Trigger>
|
|
646
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
647
|
+
</Flyout.Trigger>
|
|
648
|
+
<Flyout.Content attributes={{
|
|
514
649
|
style: {
|
|
515
650
|
background: "var(--rs-color-background-elevation-overlay)",
|
|
516
651
|
padding: "var(--rs-unit-x4)",
|
|
@@ -520,229 +655,229 @@ exports.positionRef = {
|
|
|
520
655
|
},
|
|
521
656
|
}}>
|
|
522
657
|
Content
|
|
523
|
-
</
|
|
524
|
-
</
|
|
525
|
-
</
|
|
658
|
+
</Flyout.Content>
|
|
659
|
+
</Flyout>
|
|
660
|
+
</View.Item>
|
|
526
661
|
|
|
527
|
-
<
|
|
662
|
+
<Button onClick={() => { }} ref={ref}>
|
|
528
663
|
Trigger 2
|
|
529
|
-
</
|
|
530
|
-
</
|
|
664
|
+
</Button>
|
|
665
|
+
</View>);
|
|
531
666
|
},
|
|
532
667
|
};
|
|
533
|
-
|
|
668
|
+
export const initialFocusRef = {
|
|
534
669
|
name: "initialFocusRef",
|
|
535
670
|
render: () => {
|
|
536
|
-
const initialFocusRef =
|
|
671
|
+
const initialFocusRef = React.useRef(null);
|
|
537
672
|
return (<Demo initialFocusRef={initialFocusRef}>
|
|
538
|
-
<
|
|
539
|
-
<
|
|
540
|
-
<
|
|
541
|
-
</
|
|
673
|
+
<View gap={4}>
|
|
674
|
+
<Button onClick={() => { }}>Action 1</Button>
|
|
675
|
+
<TextField name="foo" inputAttributes={{ ref: initialFocusRef }}/>
|
|
676
|
+
</View>
|
|
542
677
|
</Demo>);
|
|
543
678
|
},
|
|
544
679
|
play: async ({ canvasElement }) => {
|
|
545
|
-
const canvas =
|
|
680
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
546
681
|
const trigger = canvas.getAllByRole("button")[0];
|
|
547
|
-
await
|
|
548
|
-
await
|
|
682
|
+
await userEvent.click(trigger);
|
|
683
|
+
await waitFor(() => {
|
|
549
684
|
const input = canvas.getByRole("textbox");
|
|
550
|
-
|
|
685
|
+
expect(input).toBe(document.activeElement);
|
|
551
686
|
});
|
|
552
687
|
},
|
|
553
688
|
};
|
|
554
|
-
|
|
689
|
+
export const instanceRef = {
|
|
555
690
|
name: "instanceRef",
|
|
556
691
|
args: {
|
|
557
|
-
handleOpen:
|
|
558
|
-
handleClose:
|
|
692
|
+
handleOpen: fn(),
|
|
693
|
+
handleClose: fn(),
|
|
559
694
|
},
|
|
560
695
|
render: (args) => {
|
|
561
|
-
const flyoutRef =
|
|
562
|
-
return (<
|
|
696
|
+
const flyoutRef = React.useRef(null);
|
|
697
|
+
return (<View direction="row" gap={4}>
|
|
563
698
|
<Demo instanceRef={flyoutRef} disableCloseOnOutsideClick onOpen={args.handleOpen} onClose={args.handleClose}/>
|
|
564
699
|
|
|
565
|
-
<
|
|
566
|
-
<
|
|
567
|
-
</
|
|
700
|
+
<Button onClick={() => flyoutRef.current?.open()}>Open</Button>
|
|
701
|
+
<Button onClick={() => flyoutRef.current?.close()}>Close</Button>
|
|
702
|
+
</View>);
|
|
568
703
|
},
|
|
569
704
|
play: async ({ canvasElement, args }) => {
|
|
570
|
-
const canvas =
|
|
705
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
571
706
|
const openTrigger = canvas.getAllByRole("button")[1];
|
|
572
707
|
const closeTrigger = canvas.getAllByRole("button")[2];
|
|
573
|
-
await
|
|
574
|
-
await
|
|
575
|
-
|
|
576
|
-
|
|
708
|
+
await userEvent.click(openTrigger);
|
|
709
|
+
await waitFor(() => {
|
|
710
|
+
expect(args.handleOpen).toHaveBeenCalledTimes(1);
|
|
711
|
+
expect(args.handleOpen).toHaveBeenCalledWith();
|
|
577
712
|
});
|
|
578
|
-
await
|
|
579
|
-
await
|
|
580
|
-
await
|
|
581
|
-
|
|
582
|
-
|
|
713
|
+
await sleep(500);
|
|
714
|
+
await userEvent.click(closeTrigger);
|
|
715
|
+
await waitFor(() => {
|
|
716
|
+
expect(args.handleClose).toHaveBeenCalledTimes(1);
|
|
717
|
+
expect(args.handleClose).toHaveBeenCalledWith({});
|
|
583
718
|
});
|
|
584
719
|
},
|
|
585
720
|
};
|
|
586
|
-
|
|
721
|
+
export const contentAttributes = {
|
|
587
722
|
name: "content: className, attributes",
|
|
588
723
|
render: () => {
|
|
589
|
-
return (<
|
|
590
|
-
<
|
|
591
|
-
{(attributes) => <
|
|
592
|
-
</
|
|
593
|
-
<
|
|
724
|
+
return (<Flyout position="bottom" defaultActive>
|
|
725
|
+
<Flyout.Trigger>
|
|
726
|
+
{(attributes) => <Button attributes={attributes}>Trigger</Button>}
|
|
727
|
+
</Flyout.Trigger>
|
|
728
|
+
<Flyout.Content attributes={{ "data-testid": "test-id" }} className="test-classname">
|
|
594
729
|
<Content />
|
|
595
|
-
</
|
|
596
|
-
</
|
|
730
|
+
</Flyout.Content>
|
|
731
|
+
</Flyout>);
|
|
597
732
|
},
|
|
598
733
|
play: async ({ canvasElement }) => {
|
|
599
|
-
const canvas =
|
|
734
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
600
735
|
const content = canvas.getByTestId("test-id");
|
|
601
|
-
|
|
736
|
+
expect(content).toHaveClass("test-classname");
|
|
602
737
|
},
|
|
603
738
|
};
|
|
604
739
|
/*
|
|
605
740
|
* Test edge cases
|
|
606
741
|
*/
|
|
607
|
-
|
|
742
|
+
export const testInsideFixed = {
|
|
608
743
|
name: "test: inside position fixed",
|
|
609
|
-
render: () => (<
|
|
610
|
-
<
|
|
744
|
+
render: () => (<React.Fragment>
|
|
745
|
+
<View position="fixed" insetBottom={2} insetStart={2} insetEnd={2} backgroundColor="elevation-overlay" borderColor="neutral-faded" borderRadius="small" padding={4} zIndex={10} attributes={{ "data-testid": "container" }} height={20}>
|
|
611
746
|
<Demo defaultActive position="top-start"/>
|
|
612
|
-
</
|
|
613
|
-
<
|
|
614
|
-
<
|
|
615
|
-
<
|
|
616
|
-
</
|
|
617
|
-
</
|
|
618
|
-
};
|
|
619
|
-
|
|
747
|
+
</View>
|
|
748
|
+
<View paddingTop={18} gap={4}>
|
|
749
|
+
<View height={200} backgroundColor="neutral-faded" borderRadius="small"/>
|
|
750
|
+
<View height={200} backgroundColor="neutral-faded" borderRadius="small"/>
|
|
751
|
+
</View>
|
|
752
|
+
</React.Fragment>),
|
|
753
|
+
};
|
|
754
|
+
export const testInsideSticky = {
|
|
620
755
|
name: "test: inside position sticky",
|
|
621
|
-
render: () => (<
|
|
622
|
-
<
|
|
756
|
+
render: () => (<React.Fragment>
|
|
757
|
+
<View position="sticky" insetTop={4} insetStart={0} insetEnd={0} backgroundColor="elevation-overlay" borderColor="neutral-faded" borderRadius="small" padding={4} zIndex={10} attributes={{ "data-testid": "container" }}>
|
|
623
758
|
<Demo defaultActive/>
|
|
624
|
-
</
|
|
625
|
-
<
|
|
626
|
-
<
|
|
627
|
-
<
|
|
628
|
-
</
|
|
629
|
-
</
|
|
630
|
-
};
|
|
631
|
-
|
|
759
|
+
</View>
|
|
760
|
+
<View gap={4} paddingTop={2}>
|
|
761
|
+
<View height={200} backgroundColor="neutral-faded" borderRadius="small"/>
|
|
762
|
+
<View height={200} backgroundColor="neutral-faded" borderRadius="small"/>
|
|
763
|
+
</View>
|
|
764
|
+
</React.Fragment>),
|
|
765
|
+
};
|
|
766
|
+
export const testInsideScrollable = {
|
|
632
767
|
name: "test: inside scrollable",
|
|
633
768
|
render: () => {
|
|
634
|
-
const containerRef =
|
|
635
|
-
return (<
|
|
636
|
-
<
|
|
637
|
-
<
|
|
769
|
+
const containerRef = React.useRef(null);
|
|
770
|
+
return (<View padding={20}>
|
|
771
|
+
<View height={30} overflow="auto" backgroundColor="neutral-faded" borderRadius="small">
|
|
772
|
+
<View height={50} attributes={{ ref: containerRef }} padding={20} paddingBottom={50}>
|
|
638
773
|
<Demo position="bottom"/>
|
|
639
|
-
</
|
|
640
|
-
</
|
|
641
|
-
</
|
|
774
|
+
</View>
|
|
775
|
+
</View>
|
|
776
|
+
</View>);
|
|
642
777
|
},
|
|
643
778
|
};
|
|
644
|
-
|
|
779
|
+
export const testInsideModal = {
|
|
645
780
|
name: "test: inside modal",
|
|
646
781
|
render: () => {
|
|
647
|
-
return (<
|
|
648
|
-
<
|
|
649
|
-
<
|
|
782
|
+
return (<Modal active position="end">
|
|
783
|
+
<View gap={4} align="start">
|
|
784
|
+
<Modal.Title>Title</Modal.Title>
|
|
650
785
|
<Demo position="bottom-start"/>
|
|
651
|
-
<
|
|
786
|
+
<View height={300} width={25} backgroundColor="neutral-faded"/>
|
|
652
787
|
<Demo position="start"/>
|
|
653
|
-
<
|
|
788
|
+
<View height={300} width={25} backgroundColor="neutral-faded"/>
|
|
654
789
|
<Demo position="bottom-start"/>
|
|
655
|
-
</
|
|
656
|
-
</
|
|
790
|
+
</View>
|
|
791
|
+
</Modal>);
|
|
657
792
|
},
|
|
658
793
|
};
|
|
659
|
-
|
|
794
|
+
export const testDynamicBounds = {
|
|
660
795
|
name: "test: auto position update",
|
|
661
796
|
render: () => {
|
|
662
|
-
const [left, setLeft] =
|
|
663
|
-
const [top, setTop] =
|
|
664
|
-
const [size, setSize] =
|
|
665
|
-
const [contentSize, setContentSize] =
|
|
666
|
-
const flyoutRef =
|
|
667
|
-
|
|
797
|
+
const [left, setLeft] = React.useState(50);
|
|
798
|
+
const [top, setTop] = React.useState(50);
|
|
799
|
+
const [size, setSize] = React.useState("medium");
|
|
800
|
+
const [contentSize, setContentSize] = React.useState("medium");
|
|
801
|
+
const flyoutRef = React.useRef(null);
|
|
802
|
+
React.useEffect(() => {
|
|
668
803
|
flyoutRef.current?.updatePosition();
|
|
669
804
|
}, [left, top]);
|
|
670
|
-
return (<
|
|
671
|
-
<
|
|
672
|
-
<
|
|
673
|
-
<
|
|
674
|
-
<
|
|
675
|
-
<
|
|
676
|
-
<
|
|
805
|
+
return (<View gap={4}>
|
|
806
|
+
<View direction="row" gap={2}>
|
|
807
|
+
<Button onClick={() => setLeft((prev) => prev - 10)}>Left</Button>
|
|
808
|
+
<Button onClick={() => setLeft((prev) => prev + 10)}>Right</Button>
|
|
809
|
+
<Button onClick={() => setTop((prev) => prev - 10)}>Up</Button>
|
|
810
|
+
<Button onClick={() => setTop((prev) => prev + 10)}>Down</Button>
|
|
811
|
+
<Button onClick={() => {
|
|
677
812
|
setLeft(50);
|
|
678
813
|
setTop(50);
|
|
679
814
|
}}>
|
|
680
815
|
Center
|
|
681
|
-
</
|
|
682
|
-
<
|
|
683
|
-
<
|
|
684
|
-
<
|
|
685
|
-
<
|
|
686
|
-
</
|
|
687
|
-
<
|
|
688
|
-
<
|
|
689
|
-
<
|
|
816
|
+
</Button>
|
|
817
|
+
<Button onClick={() => setSize("large")}>Large button</Button>
|
|
818
|
+
<Button onClick={() => setSize("medium")}>Small button</Button>
|
|
819
|
+
<Button onClick={() => setContentSize("large")}>Large content</Button>
|
|
820
|
+
<Button onClick={() => setContentSize("medium")}>Small content</Button>
|
|
821
|
+
</View>
|
|
822
|
+
<View height={100}>
|
|
823
|
+
<Flyout position="bottom" instanceRef={flyoutRef} disableCloseOnOutsideClick defaultActive>
|
|
824
|
+
<Flyout.Trigger>
|
|
690
825
|
{(attributes) => (<div style={{ position: "absolute", left: `${left}%`, top: `${top}%` }}>
|
|
691
|
-
<
|
|
826
|
+
<Button color="primary" attributes={attributes} size={size}>
|
|
692
827
|
Open
|
|
693
|
-
</
|
|
828
|
+
</Button>
|
|
694
829
|
</div>)}
|
|
695
|
-
</
|
|
696
|
-
<
|
|
830
|
+
</Flyout.Trigger>
|
|
831
|
+
<Flyout.Content>
|
|
697
832
|
<Content height={contentSize === "large" ? 200 : undefined} width={contentSize === "large" ? 200 : undefined}/>
|
|
698
|
-
</
|
|
699
|
-
</
|
|
700
|
-
</
|
|
701
|
-
</
|
|
833
|
+
</Flyout.Content>
|
|
834
|
+
</Flyout>
|
|
835
|
+
</View>
|
|
836
|
+
</View>);
|
|
702
837
|
},
|
|
703
838
|
};
|
|
704
|
-
|
|
839
|
+
export const testScopedTheming = {
|
|
705
840
|
name: "test: content uses scope theme",
|
|
706
|
-
render: () => (<
|
|
707
|
-
<
|
|
708
|
-
<
|
|
709
|
-
<
|
|
710
|
-
<
|
|
711
|
-
{(attributes) => (<
|
|
841
|
+
render: () => (<View gap={3} align="start">
|
|
842
|
+
<Button color="primary">Slate button</Button>
|
|
843
|
+
<Theme name="figma">
|
|
844
|
+
<Flyout triggerType="click" active position="bottom-start">
|
|
845
|
+
<Flyout.Trigger>
|
|
846
|
+
{(attributes) => (<Button color="primary" attributes={attributes}>
|
|
712
847
|
Figma button
|
|
713
|
-
</
|
|
714
|
-
</
|
|
715
|
-
<
|
|
848
|
+
</Button>)}
|
|
849
|
+
</Flyout.Trigger>
|
|
850
|
+
<Flyout.Content>
|
|
716
851
|
<Content>
|
|
717
|
-
<
|
|
718
|
-
<
|
|
719
|
-
<
|
|
720
|
-
</
|
|
852
|
+
<View gap={1}>
|
|
853
|
+
<View.Item>Portal content, rendered in body</View.Item>
|
|
854
|
+
<Button color="primary">Figma button</Button>
|
|
855
|
+
</View>
|
|
721
856
|
</Content>
|
|
722
|
-
</
|
|
723
|
-
</
|
|
724
|
-
</
|
|
725
|
-
</
|
|
857
|
+
</Flyout.Content>
|
|
858
|
+
</Flyout>
|
|
859
|
+
</Theme>
|
|
860
|
+
</View>),
|
|
726
861
|
};
|
|
727
|
-
|
|
862
|
+
export const testWithoutFocusable = {
|
|
728
863
|
name: "test: without focusable content",
|
|
729
864
|
render: () => <Demo position="bottom-start"/>,
|
|
730
865
|
play: async ({ canvasElement }) => {
|
|
731
|
-
const canvas =
|
|
866
|
+
const canvas = within(canvasElement.ownerDocument.body);
|
|
732
867
|
const trigger = canvas.getAllByRole("button")[0];
|
|
733
|
-
await
|
|
734
|
-
await
|
|
868
|
+
await userEvent.click(trigger);
|
|
869
|
+
await waitFor(() => {
|
|
735
870
|
const content = canvas.getByText("Content");
|
|
736
|
-
|
|
871
|
+
expect(content).toBeVisible();
|
|
737
872
|
});
|
|
738
|
-
|
|
873
|
+
expect(document.activeElement).toBe(trigger);
|
|
739
874
|
},
|
|
740
875
|
};
|
|
741
|
-
|
|
876
|
+
export const testChangeSize = {
|
|
742
877
|
name: "test: size updates",
|
|
743
878
|
render: () => {
|
|
744
|
-
const [position, setPosition] =
|
|
745
|
-
const [updatedHeight, setUpdatedHeight] =
|
|
879
|
+
const [position, setPosition] = React.useState("bottom-start");
|
|
880
|
+
const [updatedHeight, setUpdatedHeight] = React.useState(false);
|
|
746
881
|
const positions = [
|
|
747
882
|
"bottom-start",
|
|
748
883
|
"bottom",
|
|
@@ -758,16 +893,16 @@ exports.testChangeSize = {
|
|
|
758
893
|
"end-bottom",
|
|
759
894
|
];
|
|
760
895
|
return (<>
|
|
761
|
-
<
|
|
762
|
-
<
|
|
763
|
-
{positions.map((p) => (<
|
|
896
|
+
<View direction="row" gap={4} align="center">
|
|
897
|
+
<Select name="position" onChange={(args) => setPosition(args.value)} value={position}>
|
|
898
|
+
{positions.map((p) => (<Select.Option key={p} value={p}>
|
|
764
899
|
{p}
|
|
765
|
-
</
|
|
766
|
-
</
|
|
767
|
-
<
|
|
900
|
+
</Select.Option>))}
|
|
901
|
+
</Select>
|
|
902
|
+
<Switch name="height" onChange={(args) => setUpdatedHeight(args.checked)}>
|
|
768
903
|
Change height
|
|
769
|
-
</
|
|
770
|
-
</
|
|
904
|
+
</Switch>
|
|
905
|
+
</View>
|
|
771
906
|
<div style={{
|
|
772
907
|
position: "fixed",
|
|
773
908
|
top: "50%",
|
|
@@ -775,7 +910,7 @@ exports.testChangeSize = {
|
|
|
775
910
|
transform: "translate(-50%, -50%)",
|
|
776
911
|
}}>
|
|
777
912
|
<Demo position={position} disableCloseOnOutsideClick active contentHeight={false}>
|
|
778
|
-
<
|
|
913
|
+
<View backgroundColor="neutral-faded" borderRadius="small" height={updatedHeight ? 50 : 25} attributes={{ style: { transition: "0.2s ease-in-out" } }}/>
|
|
779
914
|
</Demo>
|
|
780
915
|
</div>
|
|
781
916
|
</>);
|