reshaped 3.9.0-canary.0 → 3.9.0-canary.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.css +1 -1
- package/dist/bundle.js +2 -31
- package/dist/cli/theming/index.js +4 -4
- package/dist/cli/theming/reshaped.config.js +1 -1
- package/dist/components/Accordion/Accordion.types.d.ts +1 -1
- package/dist/components/Accordion/AccordionControlled.js +2 -2
- package/dist/components/Accordion/AccordionTrigger.js +2 -2
- package/dist/components/Accordion/index.d.ts +1 -1
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/ActionBar/ActionBar.js +1 -1
- package/dist/components/ActionBar/ActionBar.types.d.ts +1 -1
- package/dist/components/Actionable/Actionable.js +1 -1
- package/dist/components/Alert/Alert.js +1 -1
- package/dist/components/Alert/Alert.types.d.ts +1 -1
- package/dist/components/Autocomplete/Autocomplete.js +6 -6
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +3 -3
- package/dist/components/Avatar/Avatar.js +9 -26
- package/dist/components/Avatar/Avatar.module.css +1 -1
- package/dist/components/Badge/Badge.js +4 -4
- package/dist/components/Badge/Badge.module.css +1 -1
- package/dist/components/Badge/Badge.types.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +3 -3
- package/dist/components/Breadcrumbs/Breadcrumbs.types.d.ts +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsItem.js +1 -1
- package/dist/components/Button/Button.js +2 -2
- package/dist/components/Button/Button.module.css +1 -1
- package/dist/components/Button/Button.types.d.ts +3 -3
- package/dist/components/Calendar/Calendar.types.d.ts +25 -6
- package/dist/components/Calendar/CalendarControlled.js +45 -10
- package/dist/components/Calendar/CalendarControls.js +11 -11
- package/dist/components/Calendar/CalendarDate.js +13 -11
- package/dist/components/Calendar/CalendarMonth.js +3 -3
- package/dist/components/Calendar/CalendarYear.js +1 -1
- package/dist/components/Calendar/useCalendarKeyboardNavigation.js +1 -1
- package/dist/components/Card/Card.js +2 -2
- package/dist/components/Card/Card.module.css +1 -1
- package/dist/components/Card/Card.types.d.ts +1 -1
- package/dist/components/Carousel/Carousel.js +4 -4
- package/dist/components/Carousel/Carousel.types.d.ts +1 -1
- package/dist/components/Carousel/CarouselControl.d.ts +1 -1
- package/dist/components/Carousel/CarouselControl.js +3 -3
- package/dist/components/Checkbox/Checkbox.js +5 -15
- package/dist/components/CheckboxGroup/CheckboxGroup.types.d.ts +1 -1
- package/dist/components/Container/Container.js +1 -1
- package/dist/components/Container/Container.types.d.ts +1 -1
- package/dist/components/ContextMenu/ContextMenu.js +1 -1
- package/dist/components/Dismissible/Dismissible.js +1 -1
- package/dist/components/Divider/Divider.d.ts +1 -1
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +6 -6
- package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +4 -4
- package/dist/components/FileUpload/FileUpload.js +9 -7
- package/dist/components/FileUpload/FileUpload.module.css +1 -1
- package/dist/components/FileUpload/FileUpload.types.d.ts +3 -1
- package/dist/components/Flyout/Flyout.constants.d.ts +3 -6
- package/dist/components/Flyout/Flyout.constants.js +1 -3
- package/dist/components/Flyout/Flyout.js +1 -1
- package/dist/components/Flyout/Flyout.module.css +1 -1
- package/dist/components/Flyout/Flyout.types.d.ts +6 -7
- package/dist/components/Flyout/FlyoutContent.js +7 -7
- package/dist/components/Flyout/FlyoutControlled.js +17 -14
- package/dist/components/Flyout/index.d.ts +1 -1
- package/dist/components/Flyout/index.js +1 -1
- package/dist/components/Flyout/useFlyout.d.ts +2 -2
- package/dist/components/Flyout/useFlyout.js +5 -18
- package/dist/components/Flyout/utilities/calculatePosition.d.ts +6 -6
- package/dist/components/Flyout/utilities/calculatePosition.js +6 -6
- package/dist/components/Flyout/utilities/cooldown.js +1 -2
- package/dist/components/Flyout/utilities/flyout.d.ts +1 -1
- package/dist/components/Flyout/utilities/flyout.js +5 -2
- package/dist/components/FormControl/FormControlCaption.js +1 -1
- package/dist/components/FormControl/FormControlLabel.js +1 -1
- package/dist/components/FormControl/index.d.ts +2 -2
- package/dist/components/FormControl/index.js +2 -2
- package/dist/components/Grid/Grid.js +1 -1
- package/dist/components/Grid/Grid.types.d.ts +2 -2
- package/dist/components/HiddenInput/HiddenInput.js +34 -0
- package/dist/components/HiddenInput/HiddenInput.types.d.ts +26 -0
- package/dist/components/Icon/Icon.js +1 -1
- package/dist/components/Icon/Icon.module.css +1 -1
- package/dist/components/Image/Image.js +14 -9
- package/dist/components/Image/Image.module.css +1 -1
- package/dist/components/Image/Image.types.d.ts +4 -2
- package/dist/components/Link/Link.js +1 -1
- package/dist/components/MenuItem/MenuItem.js +1 -1
- package/dist/components/MenuItem/MenuItem.types.d.ts +2 -2
- package/dist/components/Modal/Modal.js +8 -8
- package/dist/components/Modal/Modal.module.css +1 -1
- package/dist/components/Modal/Modal.types.d.ts +1 -1
- package/dist/components/NumberField/NumberFieldControlled.js +7 -7
- package/dist/components/Overlay/Overlay.js +8 -8
- package/dist/components/PinField/PinFieldControlled.js +4 -4
- package/dist/components/Popover/Popover.js +3 -3
- package/dist/components/Popover/Popover.module.css +1 -1
- package/dist/components/Popover/Popover.types.d.ts +2 -2
- package/dist/components/Progress/Progress.module.css +1 -1
- package/dist/components/Radio/Radio.js +5 -15
- package/dist/components/RadioGroup/RadioGroup.types.d.ts +1 -1
- package/dist/components/Reshaped/Reshaped.css +1 -1
- package/dist/components/Reshaped/Reshaped.js +4 -4
- package/dist/components/Reshaped/Reshaped.types.d.ts +1 -1
- package/dist/components/Resizable/Resizable.js +2 -2
- package/dist/components/Resizable/Resizable.types.d.ts +1 -1
- package/dist/components/Resizable/ResizableHandle.js +1 -1
- package/dist/components/Scrim/Scrim.js +4 -3
- package/dist/components/Scrim/Scrim.module.css +1 -1
- package/dist/components/Scrim/Scrim.types.d.ts +2 -1
- package/dist/components/ScrollArea/ScrollArea.js +5 -5
- package/dist/components/Select/Select.types.d.ts +3 -3
- package/dist/components/Select/SelectCustomControlled.js +6 -3
- package/dist/components/Select/SelectEndContent.js +1 -1
- package/dist/components/Select/SelectGroup.js +1 -1
- package/dist/components/Select/SelectNative.js +2 -2
- package/dist/components/Select/SelectRoot.js +1 -1
- package/dist/components/Select/SelectTrigger.js +1 -1
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Slider/SliderControlled.js +7 -7
- package/dist/components/Slider/SliderThumb.js +3 -3
- package/dist/components/Stepper/Stepper.js +4 -4
- package/dist/components/Switch/Switch.js +1 -1
- package/dist/components/Table/Table.js +2 -2
- package/dist/components/Tabs/Tabs.module.css +1 -1
- package/dist/components/Tabs/Tabs.types.d.ts +4 -2
- package/dist/components/Tabs/TabsContext.d.ts +1 -0
- package/dist/components/Tabs/TabsControlled.js +2 -1
- package/dist/components/Tabs/TabsItem.js +4 -4
- package/dist/components/Tabs/TabsList.js +17 -13
- package/dist/components/Tabs/TabsPanel.js +3 -3
- package/dist/components/Text/Text.js +3 -3
- package/dist/components/Text/Text.module.css +1 -1
- package/dist/components/Text/Text.types.d.ts +2 -0
- package/dist/components/TextArea/TextArea.js +1 -1
- package/dist/components/TextArea/TextArea.types.d.ts +1 -1
- package/dist/components/TextField/TextField.js +2 -2
- package/dist/components/TextField/TextField.types.d.ts +2 -2
- package/dist/components/Theme/GlobalColorMode.js +1 -1
- package/dist/components/Theme/Theme.js +2 -2
- package/dist/components/Theme/Theme.module.css +1 -1
- package/dist/components/Timeline/Timeline.js +1 -1
- package/dist/components/Toast/Toast.js +2 -2
- package/dist/components/Toast/Toast.types.d.ts +1 -1
- package/dist/components/Toast/ToastContainer.js +3 -3
- package/dist/components/Toast/ToastProvider.js +1 -1
- package/dist/components/Toast/ToastRegion.js +2 -2
- package/dist/components/ToggleButtonGroup/ToggleButtonGroup.types.d.ts +1 -1
- package/dist/components/ToggleButtonGroup/ToggleButtonGroupControlled.js +1 -1
- package/dist/components/Tooltip/Tooltip.js +5 -3
- package/dist/components/View/View.js +2 -2
- package/dist/components/View/View.types.d.ts +1 -1
- package/dist/components/_private/Expandable/Expandable.js +2 -2
- package/dist/components/_private/Portal/Portal.js +1 -1
- package/dist/config/tailwind.js +2 -2
- package/dist/hooks/_private/useDrag.js +4 -4
- package/dist/hooks/_private/useFadeSide.js +1 -1
- package/dist/hooks/useOnClickOutside.js +2 -4
- package/dist/hooks/useResponsiveClientValue.js +1 -1
- package/dist/styles/mixin.js +1 -1
- package/dist/tests/ThemesPlayground.js +16 -16
- package/dist/themes/_generator/definitions/slate.js +1 -1
- package/dist/themes/_generator/tokens/color/utilities/generateColors.d.ts +1 -1
- package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.d.ts +1 -1
- package/dist/themes/_generator/tokens/color/utilities/generateMetaColors.js +1 -1
- package/dist/themes/_generator/tokens/css.js +2 -2
- package/dist/themes/_generator/tokens/font/font.types.d.ts +2 -2
- package/dist/themes/_generator/tokens/transforms.js +1 -1
- package/dist/themes/_generator/tokens/types.d.ts +3 -3
- package/dist/themes/_generator/transform.d.ts +1 -1
- package/dist/themes/_generator/transform.js +3 -3
- package/dist/themes/figma/theme.css +1 -1
- package/dist/themes/fragments/twitter/theme.css +1 -1
- package/dist/themes/index.d.ts +1 -1
- package/dist/themes/reshaped/theme.css +1 -1
- package/dist/themes/slate/theme.css +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/utilities/a11y/TrapFocus.js +4 -4
- package/dist/utilities/scroll/lock.js +1 -1
- package/dist/utilities/scroll/lockStandard.js +1 -1
- package/dist/utilities/storybook/Example.js +1 -1
- package/package.json +42 -35
- package/dist/components/Accordion/tests/Accordion.stories.d.ts +0 -44
- package/dist/components/Accordion/tests/Accordion.stories.js +0 -204
- package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +0 -40
- package/dist/components/ActionBar/tests/ActionBar.stories.js +0 -223
- package/dist/components/Actionable/tests/Actionable.stories.d.ts +0 -41
- package/dist/components/Actionable/tests/Actionable.stories.js +0 -220
- package/dist/components/Alert/tests/Alert.stories.d.ts +0 -24
- package/dist/components/Alert/tests/Alert.stories.js +0 -78
- package/dist/components/Autocomplete/tests/Autocomplete.stories.d.ts +0 -32
- package/dist/components/Autocomplete/tests/Autocomplete.stories.js +0 -246
- package/dist/components/Avatar/tests/Avatar.stories.d.ts +0 -31
- package/dist/components/Avatar/tests/Avatar.stories.js +0 -176
- package/dist/components/Badge/tests/Badge.stories.d.ts +0 -55
- package/dist/components/Badge/tests/Badge.stories.js +0 -328
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.d.ts +0 -40
- package/dist/components/Breadcrumbs/tests/Breadcrumbs.stories.js +0 -187
- package/dist/components/Button/tests/Button.stories.d.ts +0 -79
- package/dist/components/Button/tests/Button.stories.js +0 -789
- package/dist/components/Calendar/tests/Calendar.stories.d.ts +0 -29
- package/dist/components/Calendar/tests/Calendar.stories.js +0 -255
- package/dist/components/Card/tests/Card.stories.d.ts +0 -52
- package/dist/components/Card/tests/Card.stories.js +0 -125
- package/dist/components/Carousel/tests/Carousel.stories.d.ts +0 -34
- package/dist/components/Carousel/tests/Carousel.stories.js +0 -224
- package/dist/components/Checkbox/tests/Checkbox.stories.d.ts +0 -30
- package/dist/components/Checkbox/tests/Checkbox.stories.js +0 -171
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.d.ts +0 -19
- package/dist/components/CheckboxGroup/tests/CheckboxGroup.stories.js +0 -83
- package/dist/components/Container/tests/Container.stories.d.ts +0 -24
- package/dist/components/Container/tests/Container.stories.js +0 -75
- package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +0 -26
- package/dist/components/ContextMenu/tests/ContextMenu.stories.js +0 -70
- package/dist/components/Dismissible/tests/Dismissible.stories.d.ts +0 -25
- package/dist/components/Dismissible/tests/Dismissible.stories.js +0 -97
- package/dist/components/Divider/tests/Divider.stories.d.ts +0 -20
- package/dist/components/Divider/tests/Divider.stories.js +0 -120
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +0 -53
- package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +0 -278
- package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +0 -31
- package/dist/components/FileUpload/tests/FileUpload.stories.js +0 -140
- package/dist/components/Flyout/tests/Flyout.stories.d.ts +0 -103
- package/dist/components/Flyout/tests/Flyout.stories.js +0 -738
- package/dist/components/FormControl/tests/FormControl.stories.d.ts +0 -31
- package/dist/components/FormControl/tests/FormControl.stories.js +0 -143
- package/dist/components/Grid/tests/Grid.stories.d.ts +0 -38
- package/dist/components/Grid/tests/Grid.stories.js +0 -245
- package/dist/components/Hidden/tests/Hidden.stories.d.ts +0 -16
- package/dist/components/Hidden/tests/Hidden.stories.js +0 -48
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.d.ts +0 -16
- package/dist/components/HiddenVisually/tests/HiddenVisually.stories.js +0 -28
- package/dist/components/Hotkey/tests/Hotkey.stories.d.ts +0 -13
- package/dist/components/Hotkey/tests/Hotkey.stories.js +0 -53
- package/dist/components/Icon/tests/Icon.stories.d.ts +0 -25
- package/dist/components/Icon/tests/Icon.stories.js +0 -113
- package/dist/components/Image/tests/Image.stories.d.ts +0 -41
- package/dist/components/Image/tests/Image.stories.js +0 -196
- package/dist/components/Link/tests/Link.stories.d.ts +0 -42
- package/dist/components/Link/tests/Link.stories.js +0 -155
- package/dist/components/Loader/tests/Loader.stories.d.ts +0 -21
- package/dist/components/Loader/tests/Loader.stories.js +0 -68
- package/dist/components/MenuItem/tests/MenuItem.stories.d.ts +0 -59
- package/dist/components/MenuItem/tests/MenuItem.stories.js +0 -236
- package/dist/components/Modal/tests/Modal.stories.d.ts +0 -64
- package/dist/components/Modal/tests/Modal.stories.js +0 -410
- package/dist/components/NumberField/tests/NumberField.stories.d.ts +0 -28
- package/dist/components/NumberField/tests/NumberField.stories.js +0 -258
- package/dist/components/Overlay/tests/Overlay.stories.d.ts +0 -28
- package/dist/components/Overlay/tests/Overlay.stories.js +0 -202
- package/dist/components/Pagination/tests/Pagination.stories.d.ts +0 -24
- package/dist/components/Pagination/tests/Pagination.stories.js +0 -105
- package/dist/components/PinField/tests/PinField.stories.d.ts +0 -34
- package/dist/components/PinField/tests/PinField.stories.js +0 -209
- package/dist/components/Popover/tests/Popover.stories.d.ts +0 -69
- package/dist/components/Popover/tests/Popover.stories.js +0 -340
- package/dist/components/Progress/tests/Progress.stories.d.ts +0 -30
- package/dist/components/Progress/tests/Progress.stories.js +0 -102
- package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.d.ts +0 -19
- package/dist/components/ProgressIndicator/tests/ProgressIndicator.stories.js +0 -92
- package/dist/components/Radio/tests/Radio.stories.d.ts +0 -35
- package/dist/components/Radio/tests/Radio.stories.js +0 -162
- package/dist/components/RadioGroup/tests/RadioGroup.stories.d.ts +0 -19
- package/dist/components/RadioGroup/tests/RadioGroup.stories.js +0 -77
- package/dist/components/Reshaped/tests/Reshaped.stories.d.ts +0 -34
- package/dist/components/Reshaped/tests/Reshaped.stories.js +0 -108
- package/dist/components/Resizable/tests/Resizable.stories.d.ts +0 -38
- package/dist/components/Resizable/tests/Resizable.stories.js +0 -185
- package/dist/components/Scrim/tests/Scrim.stories.d.ts +0 -20
- package/dist/components/Scrim/tests/Scrim.stories.js +0 -67
- package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +0 -37
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +0 -244
- package/dist/components/Select/tests/Select.stories.d.ts +0 -53
- package/dist/components/Select/tests/Select.stories.js +0 -616
- package/dist/components/Skeleton/tests/Skeleton.stories.d.ts +0 -20
- package/dist/components/Skeleton/tests/Skeleton.stories.js +0 -63
- package/dist/components/Slider/tests/Slider.stories.d.ts +0 -47
- package/dist/components/Slider/tests/Slider.stories.js +0 -279
- package/dist/components/Stepper/tests/Stepper.stories.d.ts +0 -31
- package/dist/components/Stepper/tests/Stepper.stories.js +0 -135
- package/dist/components/Switch/tests/Switch.stories.d.ts +0 -22
- package/dist/components/Switch/tests/Switch.stories.js +0 -137
- package/dist/components/Switch/tests/Switch.test.stories.d.ts +0 -13
- package/dist/components/Switch/tests/Switch.test.stories.js +0 -11
- package/dist/components/Table/tests/Table.stories.d.ts +0 -42
- package/dist/components/Table/tests/Table.stories.js +0 -348
- package/dist/components/Tabs/tests/Tabs.stories.d.ts +0 -62
- package/dist/components/Tabs/tests/Tabs.stories.js +0 -539
- package/dist/components/Text/tests/Text.stories.d.ts +0 -48
- package/dist/components/Text/tests/Text.stories.js +0 -201
- package/dist/components/TextArea/tests/TextArea.stories.d.ts +0 -53
- package/dist/components/TextArea/tests/TextArea.stories.js +0 -204
- package/dist/components/TextField/tests/TextField.stories.d.ts +0 -54
- package/dist/components/TextField/tests/TextField.stories.js +0 -252
- package/dist/components/Theme/tests/Theme.stories.d.ts +0 -25
- package/dist/components/Theme/tests/Theme.stories.js +0 -171
- package/dist/components/Timeline/tests/Timeline.stories.d.ts +0 -22
- package/dist/components/Timeline/tests/Timeline.stories.js +0 -86
- package/dist/components/Toast/tests/Toast.stories.d.ts +0 -41
- package/dist/components/Toast/tests/Toast.stories.js +0 -432
- package/dist/components/ToggleButton/tests/ToggleButton.stories.d.ts +0 -27
- package/dist/components/ToggleButton/tests/ToggleButton.stories.js +0 -97
- package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.d.ts +0 -27
- package/dist/components/ToggleButtonGroup/tests/ToggleButtonGroup.stories.js +0 -169
- package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +0 -28
- package/dist/components/Tooltip/tests/Tooltip.stories.js +0 -182
- package/dist/components/View/tests/View.stories.d.ts +0 -141
- package/dist/components/View/tests/View.stories.js +0 -1329
- package/dist/components/_private/HiddenInput/HiddenInput.js +0 -10
- package/dist/components/_private/HiddenInput/HiddenInput.types.d.ts +0 -15
- package/dist/components/_private/Portal/tests/Portal.stories.d.ts +0 -6
- package/dist/components/_private/Portal/tests/Portal.stories.js +0 -17
- package/dist/hooks/tests/useDrag.stories.d.ts +0 -31
- package/dist/hooks/tests/useDrag.stories.js +0 -147
- package/dist/hooks/tests/useElementId.stories.d.ts +0 -11
- package/dist/hooks/tests/useElementId.stories.js +0 -23
- package/dist/hooks/tests/useHandlerRef.stories.d.ts +0 -14
- package/dist/hooks/tests/useHandlerRef.stories.js +0 -44
- package/dist/hooks/tests/useHotkeys.stories.d.ts +0 -43
- package/dist/hooks/tests/useHotkeys.stories.js +0 -158
- package/dist/hooks/tests/useKeyboardArrowNavigation.stories.d.ts +0 -15
- package/dist/hooks/tests/useKeyboardArrowNavigation.stories.js +0 -128
- package/dist/hooks/tests/useKeyboardMode.stories.d.ts +0 -11
- package/dist/hooks/tests/useKeyboardMode.stories.js +0 -42
- package/dist/hooks/tests/useOnClickOutside.stories.d.ts +0 -23
- package/dist/hooks/tests/useOnClickOutside.stories.js +0 -111
- package/dist/hooks/tests/useRTL.stories.d.ts +0 -11
- package/dist/hooks/tests/useRTL.stories.js +0 -23
- package/dist/hooks/tests/useResponsiveClientValue.stories.d.ts +0 -18
- package/dist/hooks/tests/useResponsiveClientValue.stories.js +0 -30
- package/dist/hooks/tests/useScrollLock.stories.d.ts +0 -14
- package/dist/hooks/tests/useScrollLock.stories.js +0 -97
- package/dist/hooks/tests/useToggle.stories.d.ts +0 -13
- package/dist/hooks/tests/useToggle.stories.js +0 -59
- package/dist/tests/ShadowDOM.stories.d.ts +0 -6
- package/dist/tests/ShadowDOM.stories.js +0 -110
- package/dist/tests/themes.stories.d.ts +0 -16
- package/dist/tests/themes.stories.js +0 -327
- package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +0 -14
- package/dist/utilities/a11y/tests/TrapFocus.stories.js +0 -615
- /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.d.ts +0 -0
- /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.module.css +0 -0
- /package/dist/components/{_private/HiddenInput → HiddenInput}/HiddenInput.types.js +0 -0
- /package/dist/components/{_private/HiddenInput → HiddenInput}/index.d.ts +0 -0
- /package/dist/components/{_private/HiddenInput → HiddenInput}/index.js +0 -0
|
@@ -4,14 +4,14 @@ import React from "react";
|
|
|
4
4
|
import View from "../View/index.js";
|
|
5
5
|
import { onNextFrame } from "../../utilities/animation.js";
|
|
6
6
|
import { setMonthToPrevious, setMonthToNext, setMonthTo, setYearToNext, setYearToPrevious, applyNavigationBounds, } from "./Calendar.utils.js";
|
|
7
|
-
import
|
|
7
|
+
import CalendarControls from "./CalendarControls.js";
|
|
8
8
|
import CalendarMonth from "./CalendarMonth.js";
|
|
9
9
|
import CalendarYear from "./CalendarYear.js";
|
|
10
|
-
import
|
|
10
|
+
import useCalendarKeyboardNavigation from "./useCalendarKeyboardNavigation.js";
|
|
11
11
|
const CalendarControlled = (props) => {
|
|
12
|
-
const { value, onChange, defaultMonth, min, max, range, firstWeekDay, selectedDates, renderMonthLabel, renderSelectedMonthLabel, renderWeekDay, previousMonthAriaLabel, previousYearAriaLabel, nextMonthAriaLabel, nextYearAriaLabel, monthSelectionAriaLabel, renderMonthAriaLabel, renderDateAriaLabel, } = props;
|
|
12
|
+
const { value, onChange, defaultMonth, month, onMonthChange, min, max, range, firstWeekDay, selectedDates, disabledDates, monthsToRender = 1, renderMonthLabel, renderSelectedMonthLabel, renderWeekDay, previousMonthAriaLabel, previousYearAriaLabel, nextMonthAriaLabel, nextYearAriaLabel, monthSelectionAriaLabel, renderMonthAriaLabel, renderDateAriaLabel, renderDateSlot, } = props;
|
|
13
13
|
const [selectionMode, setSelectionMode] = React.useState("date");
|
|
14
|
-
const [monthDate, setMonthDate] = React.useState(defaultMonth || new Date());
|
|
14
|
+
const [monthDate, setMonthDate] = React.useState(month || defaultMonth || new Date());
|
|
15
15
|
const [hoveredDate, setHoveredDate] = React.useState(null);
|
|
16
16
|
const monthTitleRef = React.useRef(null);
|
|
17
17
|
const prevSelectionModeRef = React.useRef(selectionMode);
|
|
@@ -19,23 +19,38 @@ const CalendarControlled = (props) => {
|
|
|
19
19
|
const selectionRootRef = React.useRef(null);
|
|
20
20
|
const handlePreviousClick = () => {
|
|
21
21
|
if (selectionMode === "month") {
|
|
22
|
-
|
|
22
|
+
const updatedMonth = setYearToPrevious(monthDate);
|
|
23
|
+
onMonthChange?.({ date: updatedMonth });
|
|
24
|
+
if (month === undefined)
|
|
25
|
+
setMonthDate(updatedMonth);
|
|
23
26
|
return;
|
|
24
27
|
}
|
|
25
|
-
|
|
28
|
+
const updatedMonth = setMonthToPrevious(monthDate);
|
|
29
|
+
onMonthChange?.({ date: updatedMonth });
|
|
30
|
+
if (month === undefined)
|
|
31
|
+
setMonthDate(updatedMonth);
|
|
26
32
|
};
|
|
27
33
|
const handleNextClick = () => {
|
|
28
34
|
if (selectionMode === "month") {
|
|
29
|
-
|
|
35
|
+
const updatedMonth = setYearToNext(monthDate);
|
|
36
|
+
onMonthChange?.({ date: updatedMonth });
|
|
37
|
+
if (month === undefined)
|
|
38
|
+
setMonthDate(updatedMonth);
|
|
30
39
|
return;
|
|
31
40
|
}
|
|
32
|
-
|
|
41
|
+
const updatedMonth = setMonthToNext(monthDate);
|
|
42
|
+
onMonthChange?.({ date: updatedMonth });
|
|
43
|
+
if (month === undefined)
|
|
44
|
+
setMonthDate(updatedMonth);
|
|
33
45
|
};
|
|
34
46
|
const handleMonthTitleClick = () => {
|
|
35
47
|
setSelectionMode("month");
|
|
36
48
|
};
|
|
37
49
|
const handleMonthClick = (i) => {
|
|
38
|
-
|
|
50
|
+
const updatedMonth = setMonthTo(monthDate, i);
|
|
51
|
+
onMonthChange?.({ date: updatedMonth });
|
|
52
|
+
if (month === undefined)
|
|
53
|
+
setMonthDate(updatedMonth);
|
|
39
54
|
setSelectionMode("date");
|
|
40
55
|
};
|
|
41
56
|
const handleDateHover = (date) => {
|
|
@@ -53,6 +68,14 @@ const CalendarControlled = (props) => {
|
|
|
53
68
|
}
|
|
54
69
|
prevSelectionModeRef.current = selectionMode;
|
|
55
70
|
}, [selectionMode]);
|
|
71
|
+
/**
|
|
72
|
+
* Handle rendering in controlled mode
|
|
73
|
+
*/
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
if (!month)
|
|
76
|
+
return;
|
|
77
|
+
setMonthDate(month);
|
|
78
|
+
}, [month]);
|
|
56
79
|
useCalendarKeyboardNavigation({
|
|
57
80
|
monthDate,
|
|
58
81
|
rootRef: selectionRootRef,
|
|
@@ -63,7 +86,19 @@ const CalendarControlled = (props) => {
|
|
|
63
86
|
min,
|
|
64
87
|
max,
|
|
65
88
|
});
|
|
66
|
-
return (_jsxs(View, { gap: 2, children: [_jsx(
|
|
89
|
+
return (_jsxs(View, { gap: 2, children: [_jsx(View, { direction: "row", gap: 4, children: Array.from({ length: selectionMode === "date" ? monthsToRender : 1 }).map((_, index) => {
|
|
90
|
+
const hidePrevious = bounds.isFirstMonth || (monthsToRender > 0 && index > 0);
|
|
91
|
+
const hideNext = bounds.isLastMonth ||
|
|
92
|
+
(selectionMode === "date" && monthsToRender > 0 && index < monthsToRender - 1);
|
|
93
|
+
const currentMonthDate = new Date(monthDate);
|
|
94
|
+
currentMonthDate.setMonth(currentMonthDate.getMonth() + index);
|
|
95
|
+
return (_jsx(View.Item, { grow: true, children: _jsx(CalendarControls, { renderSelectedMonthLabel: renderSelectedMonthLabel, monthDate: currentMonthDate, selectionMode: selectionMode, hidePrevious: hidePrevious, hideNext: hideNext, monthTitleRef: index === 0 ? monthTitleRef : undefined, onMonthTitleClick: handleMonthTitleClick, onNextClick: handleNextClick, onPreviousClick: handlePreviousClick, previousMonthAriaLabel: previousMonthAriaLabel, previousYearAriaLabel: previousYearAriaLabel, nextMonthAriaLabel: nextMonthAriaLabel, nextYearAriaLabel: nextYearAriaLabel, monthSelectionAriaLabel: monthSelectionAriaLabel, monthsToRender: monthsToRender }) }, index));
|
|
96
|
+
}) }), _jsxs(View, { direction: "row", gap: 4, attributes: { ref: selectionRootRef }, children: [selectionMode === "date" &&
|
|
97
|
+
Array.from({ length: monthsToRender }).map((_, index) => {
|
|
98
|
+
const currentMonthDate = new Date(monthDate);
|
|
99
|
+
currentMonthDate.setMonth(currentMonthDate.getMonth() + index);
|
|
100
|
+
return (_jsx(View.Item, { grow: true, children: _jsx(CalendarMonth, { date: currentMonthDate, value: value, onChange: onChange, min: min, max: max, range: range, firstWeekDay: firstWeekDay, hoveredDate: hoveredDate, selectedDates: selectedDates, disabledDates: disabledDates, onDateHover: handleDateHover, onDateHoverEnd: handleDateHoverEnd, renderWeekDay: renderWeekDay, renderDateAriaLabel: renderDateAriaLabel, renderDateSlot: renderDateSlot }) }, index));
|
|
101
|
+
}), selectionMode === "month" && (_jsx(CalendarYear, { monthDate: monthDate, onMonthClick: handleMonthClick, renderMonthLabel: renderMonthLabel, renderMonthAriaLabel: renderMonthAriaLabel, min: min, max: max }))] })] }));
|
|
67
102
|
};
|
|
68
103
|
CalendarControlled.displayName = "CalendarControlled";
|
|
69
104
|
export default CalendarControlled;
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import Button from "../Button/index.js";
|
|
4
|
-
import View from "../View/index.js";
|
|
5
4
|
import Hidden from "../Hidden/index.js";
|
|
6
|
-
import Text from "../Text/index.js";
|
|
7
5
|
import HiddenVisually from "../HiddenVisually/index.js";
|
|
6
|
+
import Text from "../Text/index.js";
|
|
7
|
+
import View from "../View/index.js";
|
|
8
8
|
import IconChevronLeft from "../../icons/ChevronLeft.js";
|
|
9
9
|
import IconChevronRight from "../../icons/ChevronRight.js";
|
|
10
10
|
import { onNextFrame } from "../../utilities/animation.js";
|
|
11
11
|
import s from "./Calendar.module.css";
|
|
12
12
|
const CalendarControls = (props) => {
|
|
13
|
-
const { selectionMode, onMonthTitleClick, monthTitleRef, monthDate, renderSelectedMonthLabel,
|
|
13
|
+
const { selectionMode, onMonthTitleClick, monthTitleRef, monthDate, renderSelectedMonthLabel, hidePrevious, hideNext, onNextClick, onPreviousClick, monthSelectionAriaLabel = "Select a month", previousMonthAriaLabel = "Previous month", previousYearAriaLabel = "Previous year", nextMonthAriaLabel = "Next month", nextYearAriaLabel = "Next year", } = props;
|
|
14
14
|
const prevRef = React.useRef(null);
|
|
15
15
|
const nextRef = React.useRef(null);
|
|
16
16
|
React.useEffect(() => {
|
|
17
|
-
if (!
|
|
17
|
+
if (!hidePrevious)
|
|
18
18
|
return;
|
|
19
19
|
if (document.activeElement !== prevRef.current)
|
|
20
20
|
return;
|
|
21
|
-
const targetEl = nextRef.current || monthTitleRef
|
|
21
|
+
const targetEl = nextRef.current || monthTitleRef?.current;
|
|
22
22
|
onNextFrame(() => {
|
|
23
23
|
targetEl?.focus();
|
|
24
24
|
});
|
|
25
|
-
}, [
|
|
25
|
+
}, [hidePrevious, monthTitleRef]);
|
|
26
26
|
React.useEffect(() => {
|
|
27
|
-
if (!
|
|
27
|
+
if (!hideNext)
|
|
28
28
|
return;
|
|
29
29
|
if (document.activeElement !== nextRef.current)
|
|
30
30
|
return;
|
|
31
|
-
const targetEl = prevRef.current || monthTitleRef
|
|
31
|
+
const targetEl = prevRef.current || monthTitleRef?.current;
|
|
32
32
|
onNextFrame(() => {
|
|
33
33
|
targetEl?.focus();
|
|
34
34
|
});
|
|
35
|
-
}, [
|
|
36
|
-
return (_jsxs(View, { direction: "row", gap: 2, align: "center", children: [_jsx(Hidden, { visibility: true, hide:
|
|
35
|
+
}, [hideNext, monthTitleRef]);
|
|
36
|
+
return (_jsxs(View, { direction: "row", gap: 2, align: "center", children: [_jsx(Hidden, { visibility: true, hide: hidePrevious, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronLeft, onClick: onPreviousClick, attributes: {
|
|
37
37
|
ref: prevRef,
|
|
38
38
|
"aria-label": selectionMode === "date" ? previousMonthAriaLabel : previousYearAriaLabel,
|
|
39
39
|
} }) }) }), _jsxs(View.Item, { grow: true, children: [selectionMode === "date" && (_jsxs(Button, { fullWidth: true, variant: "ghost", onClick: onMonthTitleClick, attributes: { ref: monthTitleRef }, children: [renderSelectedMonthLabel
|
|
40
40
|
? renderSelectedMonthLabel({ date: monthDate })
|
|
41
|
-
: monthDate.toLocaleDateString("en-US", { month: "long", year: "numeric" }), _jsx(HiddenVisually, { children: monthSelectionAriaLabel })] })), selectionMode === "month" && (_jsx(Text, { align: "center", weight: "medium", children: monthDate.toLocaleDateString("en-US", { year: "numeric" }) }))] }), _jsx(Hidden, { visibility: true, hide:
|
|
41
|
+
: monthDate.toLocaleDateString("en-US", { month: "long", year: "numeric" }), _jsx(HiddenVisually, { children: monthSelectionAriaLabel })] })), selectionMode === "month" && (_jsx(Text, { align: "center", weight: "medium", children: monthDate.toLocaleDateString("en-US", { year: "numeric" }) }))] }), _jsx(Hidden, { visibility: true, hide: hideNext, children: _jsx("div", { className: s.control, children: _jsx(Button, { variant: "ghost", icon: IconChevronRight, onClick: onNextClick, attributes: {
|
|
42
42
|
ref: nextRef,
|
|
43
43
|
"aria-label": selectionMode === "date" ? nextMonthAriaLabel : nextYearAriaLabel,
|
|
44
44
|
} }) }) })] }));
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import Actionable from "../Actionable/index.js";
|
|
4
4
|
import { classNames } from "../../utilities/props.js";
|
|
5
|
-
import { getLocalISODate } from "./Calendar.utils.js";
|
|
6
5
|
import s from "./Calendar.module.css";
|
|
6
|
+
import { getLocalISODate } from "./Calendar.utils.js";
|
|
7
7
|
const CalendarDate = (props) => {
|
|
8
|
-
const { date, isoDate, startValue, endValue, disabled, focusable, onChange, range, hoveredDate, onDateHover, onDateHoverEnd, onDateFocus, renderAriaLabel,
|
|
8
|
+
const { date, isoDate, startValue, endValue, disabled: passedDisabled, focusable, onChange, range, hoveredDate, onDateHover, onDateHoverEnd, onDateFocus, selectedDates, disabledDates, renderAriaLabel, renderSlot, } = props;
|
|
9
9
|
if (!date)
|
|
10
10
|
return _jsx("td", { className: s.cell, "aria-hidden": "true" });
|
|
11
11
|
const isoStartValue = startValue && getLocalISODate({ date: startValue });
|
|
12
12
|
const isoEndValue = endValue && getLocalISODate({ date: endValue });
|
|
13
|
-
const isStartValue =
|
|
14
|
-
const isEndValue =
|
|
15
|
-
const isAfterStartValue =
|
|
16
|
-
const isBeforeEndValue =
|
|
17
|
-
const isInHoveredRange = hoveredDate && !endValue && hoveredDate > date;
|
|
18
|
-
const isInSelectedDates = !!selectedDates?.
|
|
13
|
+
const isStartValue = Boolean(isoDate && !!isoStartValue && isoDate === isoStartValue);
|
|
14
|
+
const isEndValue = Boolean(isoDate && !!isoEndValue && isoDate === isoEndValue);
|
|
15
|
+
const isAfterStartValue = Boolean(isoDate && isoStartValue && isoDate > isoStartValue);
|
|
16
|
+
const isBeforeEndValue = Boolean(isoDate && isoEndValue && isoDate < isoEndValue);
|
|
17
|
+
const isInHoveredRange = Boolean(hoveredDate && !endValue && hoveredDate > date);
|
|
18
|
+
const isInSelectedDates = !!selectedDates?.some((selectedDate) => getLocalISODate({ date: selectedDate }) === isoDate);
|
|
19
|
+
const disabled = passedDisabled ||
|
|
20
|
+
disabledDates?.some((disabledDate) => getLocalISODate({ date: disabledDate }) === isoDate);
|
|
19
21
|
let selection;
|
|
20
22
|
switch (true) {
|
|
21
23
|
case isAfterStartValue && isInHoveredRange:
|
|
@@ -61,7 +63,7 @@ const CalendarDate = (props) => {
|
|
|
61
63
|
handleMouseEnter();
|
|
62
64
|
onDateFocus(date);
|
|
63
65
|
};
|
|
64
|
-
return (_jsx("td", { className: dateClassNames, role: disabled ? "presentation" : "gridcell", children:
|
|
66
|
+
return (_jsx("td", { className: dateClassNames, role: disabled ? "presentation" : "gridcell", children: _jsxs(Actionable, { fullWidth: true, insetFocus: true, className: s["cell-button"], disabled: disabled, onClick: handleClick, attributes: {
|
|
65
67
|
role: "checkbox",
|
|
66
68
|
tabIndex: focusable ? 0 : -1,
|
|
67
69
|
"aria-hidden": disabled,
|
|
@@ -74,7 +76,7 @@ const CalendarDate = (props) => {
|
|
|
74
76
|
onMouseLeave: handleMouseLeave,
|
|
75
77
|
onFocus: handleFocus,
|
|
76
78
|
onBlur: handleMouseLeave,
|
|
77
|
-
}, children: date.getDate() }) }));
|
|
79
|
+
}, children: [date.getDate(), renderSlot?.({ date, selected: Boolean(selection && selection !== "range") })] }) }));
|
|
78
80
|
};
|
|
79
81
|
CalendarDate.displayName = "CalendarDate";
|
|
80
82
|
export default CalendarDate;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useState } from "react";
|
|
4
|
+
import s from "./Calendar.module.css";
|
|
4
5
|
import { getMonthWeeks, getWeekdayNames, getLocalISODate, isDateFocusable } from "./Calendar.utils.js";
|
|
5
6
|
import CalendarDate from "./CalendarDate.js";
|
|
6
|
-
import s from "./Calendar.module.css";
|
|
7
7
|
const CalendarMonth = (props) => {
|
|
8
|
-
const { date, value, onChange, min, max, range, firstWeekDay, selectedDates, hoveredDate, onDateHover, onDateHoverEnd, renderWeekDay, renderDateAriaLabel, } = props;
|
|
8
|
+
const { date, value, onChange, min, max, range, firstWeekDay, selectedDates, disabledDates, hoveredDate, onDateHover, onDateHoverEnd, renderWeekDay, renderDateAriaLabel, renderDateSlot, } = props;
|
|
9
9
|
let foundFocusableDate = false;
|
|
10
10
|
const [lastFocusedDate, setLastFocusedDate] = useState();
|
|
11
11
|
const month = date.getMonth();
|
|
@@ -26,7 +26,7 @@ const CalendarMonth = (props) => {
|
|
|
26
26
|
// eslint-disable-next-line react-hooks/immutability
|
|
27
27
|
if (focusable)
|
|
28
28
|
foundFocusableDate = true;
|
|
29
|
-
return (_jsx(CalendarDate, { date: date, isoDate: isoDate, disabled: disabled, range: range, focusable: focusable, startValue: startValue, endValue: endValue, onChange: onChange, hoveredDate: hoveredDate, onDateHover: onDateHover, onDateHoverEnd: onDateHoverEnd, onDateFocus: setLastFocusedDate, renderAriaLabel: renderDateAriaLabel, selectedDates: selectedDates }, index));
|
|
29
|
+
return (_jsx(CalendarDate, { date: date, isoDate: isoDate, disabled: disabled, range: range, focusable: focusable, startValue: startValue, endValue: endValue, onChange: onChange, hoveredDate: hoveredDate, onDateHover: onDateHover, onDateHoverEnd: onDateHoverEnd, onDateFocus: setLastFocusedDate, renderAriaLabel: renderDateAriaLabel, selectedDates: selectedDates, disabledDates: disabledDates, renderSlot: renderDateSlot }, index));
|
|
30
30
|
}) }, key));
|
|
31
31
|
}) })] }));
|
|
32
32
|
};
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import Actionable from "../Actionable/index.js";
|
|
4
4
|
import { onNextFrame } from "../../utilities/animation.js";
|
|
5
|
-
import { getMonthNames } from "./Calendar.utils.js";
|
|
6
5
|
import s from "./Calendar.module.css";
|
|
6
|
+
import { getMonthNames } from "./Calendar.utils.js";
|
|
7
7
|
const MONTHS_PER_ROW = 3;
|
|
8
8
|
const CalendarYear = (props) => {
|
|
9
9
|
const { renderMonthLabel, renderMonthAriaLabel, monthDate, min, max, onMonthClick } = props;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import useHotkeys from "../../hooks/useHotkeys.js";
|
|
3
2
|
import * as keys from "../../constants/keys.js";
|
|
3
|
+
import useHotkeys from "../../hooks/useHotkeys.js";
|
|
4
4
|
import { getFocusableDates } from "./Calendar.utils.js";
|
|
5
5
|
const useCalendarKeyboardNavigation = (props) => {
|
|
6
6
|
const { rootRef, changeToNextMonth, changeToPreviousMonth, monthDate, verticalDelta, min, max } = props;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { classNames } from "../../utilities/props.js";
|
|
4
3
|
import Actionable from "../Actionable/index.js";
|
|
5
|
-
import s from "./Card.module.css";
|
|
6
4
|
import { resolveMixin } from "../../styles/mixin.js";
|
|
5
|
+
import { classNames } from "../../utilities/props.js";
|
|
6
|
+
import s from "./Card.module.css";
|
|
7
7
|
const Card = forwardRef((props, ref) => {
|
|
8
8
|
const { padding = 4 } = props;
|
|
9
9
|
const { selected, elevated, bleed, height, onClick, href, children, className, attributes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.root{--rs-
|
|
1
|
+
.root{--rs-border-w:1px;background:var(--rs-color-background-elevation-base);border:var(--rs-border-w) solid var(--rs-color-border-neutral-faded);color:var(--rs-color-foreground-neutral);display:block;overflow:hidden;position:relative;text-align:initial;transition:var(--rs-duration-fast) var(--rs-easing-accelerate);transition-property:box-shadow,border-color}.--selected{border-color:transparent;box-shadow:0 0 0 2px var(--rs-color-border-primary);transition-timing-function:var(--rs-easing-decelerate)}.--elevated{background:var(--rs-color-background-elevation-raised);box-shadow:var(--rs-shadow-raised)}.--actionable:not(.--selected){color:inherit;cursor:pointer;outline:none;text-decoration:none}[data-rs-keyboard] .--actionable:not(.--selected):focus{box-shadow:var(--rs-shadow-focus)}.--actionable:not(.--selected):before{background:rgba(var(--rs-color-rgb-background-neutral-faded),32%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}@media (hover:hover) and (pointer:fine){.--actionable:not(.--selected):hover:before{opacity:1}}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
1
|
import type { ActionableProps } from "../Actionable";
|
|
3
2
|
import type { ViewProps } from "../View";
|
|
3
|
+
import type React from "react";
|
|
4
4
|
import type * as G from "../../types/global";
|
|
5
5
|
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
|
6
6
|
/** Component padding, base unit multiplier */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { classNames, responsiveVariables, responsiveClassNames } from "../../utilities/props.js";
|
|
5
|
-
import { rafThrottle } from "../../utilities/helpers.js";
|
|
6
4
|
import View from "../View/index.js";
|
|
7
|
-
import useRTL from "../../hooks/useRTL.js";
|
|
8
5
|
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
9
|
-
import
|
|
6
|
+
import useRTL from "../../hooks/useRTL.js";
|
|
7
|
+
import { rafThrottle } from "../../utilities/helpers.js";
|
|
8
|
+
import { classNames, responsiveVariables, responsiveClassNames } from "../../utilities/props.js";
|
|
10
9
|
import s from "./Carousel.module.css";
|
|
10
|
+
import CarouselControl from "./CarouselControl.js";
|
|
11
11
|
const Carousel = (props) => {
|
|
12
12
|
const { children, gap = 3, visibleItems, bleed, navigationDisplay, onChange, onScroll, instanceRef, className, attributes, } = props;
|
|
13
13
|
const currentIndexRef = React.useRef(0);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ActionableRef } from "../Actionable";
|
|
1
2
|
import type React from "react";
|
|
2
3
|
import type * as G from "../../types/global";
|
|
3
|
-
import type { ActionableRef } from "../Actionable";
|
|
4
4
|
export type Instance = {
|
|
5
5
|
/** Scroll to the previous item */
|
|
6
6
|
navigateBack: () => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionableRef } from "../Actionable";
|
|
2
1
|
import * as T from "./Carousel.types";
|
|
2
|
+
import type { ActionableRef } from "../Actionable";
|
|
3
3
|
declare const CarouselControl: import("react").ForwardRefExoticComponent<T.ControlProps & import("react").RefAttributes<ActionableRef>>;
|
|
4
4
|
export default CarouselControl;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef, useState } from "react";
|
|
4
|
-
import { classNames } from "../../utilities/props.js";
|
|
5
4
|
import Button from "../Button/index.js";
|
|
6
|
-
import IconChevronRight from "../../icons/ChevronRight.js";
|
|
7
|
-
import IconChevronLeft from "../../icons/ChevronLeft.js";
|
|
8
5
|
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
6
|
+
import IconChevronLeft from "../../icons/ChevronLeft.js";
|
|
7
|
+
import IconChevronRight from "../../icons/ChevronRight.js";
|
|
8
|
+
import { classNames } from "../../utilities/props.js";
|
|
9
9
|
import s from "./Carousel.module.css";
|
|
10
10
|
const CarouselControl = forwardRef((props, ref) => {
|
|
11
11
|
const { type, scrollElRef, oppositeControlElRef, scrollPosition, onClick, isRTL, mounted } = props;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
|
|
5
|
-
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
6
|
-
import HiddenInput from "../_private/HiddenInput/index.js";
|
|
7
|
-
import { useFormControl } from "../FormControl/index.js";
|
|
8
4
|
import { useCheckboxGroup } from "../CheckboxGroup/index.js";
|
|
5
|
+
import { useFormControl } from "../FormControl/index.js";
|
|
6
|
+
import HiddenInput from "../HiddenInput/index.js";
|
|
9
7
|
import Icon from "../Icon/index.js";
|
|
10
8
|
import Text from "../Text/index.js";
|
|
9
|
+
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
11
10
|
import IconCheckmark from "../../icons/Checkmark.js";
|
|
11
|
+
import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
|
|
12
12
|
import s from "./Checkbox.module.css";
|
|
13
13
|
const Checkbox = (props) => {
|
|
14
14
|
const { children, value, onChange, onFocus, onBlur, indeterminate, size = "medium", className, attributes, inputAttributes, } = props;
|
|
@@ -21,20 +21,10 @@ const Checkbox = (props) => {
|
|
|
21
21
|
const name = checkboxGroup ? checkboxGroup.name : props.name;
|
|
22
22
|
const inputRef = React.useRef(null);
|
|
23
23
|
const rootClassName = classNames(s.root, className, size && hasError && s["--error"], disabled && s["--disabled"], size && responsiveClassNames(s, "--size", size));
|
|
24
|
-
const handleChange = (event) => {
|
|
25
|
-
if (!name)
|
|
26
|
-
return;
|
|
27
|
-
const { checked } = event.target;
|
|
28
|
-
const changeArgs = { name, value, checked, event };
|
|
29
|
-
if (onChange)
|
|
30
|
-
onChange(changeArgs);
|
|
31
|
-
if (checkboxGroup?.onChange)
|
|
32
|
-
checkboxGroup.onChange(changeArgs);
|
|
33
|
-
};
|
|
34
24
|
useIsomorphicLayoutEffect(() => {
|
|
35
25
|
inputRef.current.indeterminate = indeterminate || false;
|
|
36
26
|
}, [indeterminate, checked]);
|
|
37
|
-
return (_jsxs("label", { ...attributes, className: rootClassName, children: [_jsxs("span", { className: s.field, children: [_jsx(HiddenInput, { className: s.input, type: "checkbox", checked: checked, defaultChecked: defaultChecked, name: name, disabled: disabled, value: value, onChange:
|
|
27
|
+
return (_jsxs("label", { ...attributes, className: rootClassName, children: [_jsxs("span", { className: s.field, children: [_jsx(HiddenInput, { className: s.input, type: "checkbox", checked: checked, defaultChecked: defaultChecked, name: name, disabled: disabled, value: value, onChange: onChange, onFocus: onFocus, onBlur: onBlur, attributes: {
|
|
38
28
|
...inputAttributes,
|
|
39
29
|
ref: inputRef,
|
|
40
30
|
} }), _jsx("div", { className: s.decorator, children: _jsx(Icon, { svg: IconCheckmark, className: s.icon, size: responsivePropDependency(size, (size) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { classNames } from "../../utilities/props.js";
|
|
3
2
|
import View from "../View/index.js";
|
|
3
|
+
import { classNames } from "../../utilities/props.js";
|
|
4
4
|
import s from "./Container.module.css";
|
|
5
5
|
const Container = (props) => {
|
|
6
6
|
const { children, padding = 4, width, align, justify, height, maxHeight, className, attributes, } = props;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
1
|
import type { ViewProps } from "../View";
|
|
2
|
+
import type React from "react";
|
|
3
3
|
import type * as G from "../../types/global";
|
|
4
4
|
export type Props = Pick<ViewProps, "align" | "justify" | "height" | "maxHeight"> & {
|
|
5
5
|
/** Component inline padding */
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import DropdownMenu from "../DropdownMenu/index.js";
|
|
5
|
+
import useHandlerRef from "../../hooks/useHandlerRef.js";
|
|
5
6
|
import useScrollLock from "../../hooks/useScrollLock.js";
|
|
6
7
|
import s from "./ContextMenu.module.css";
|
|
7
|
-
import useHandlerRef from "../../hooks/useHandlerRef.js";
|
|
8
8
|
const ContextMenu = (props) => {
|
|
9
9
|
const { position = "end-top", onOpen, onClose, ...dropdownMenuProps } = props;
|
|
10
10
|
const [coordinates, setCoordinates] = React.useState();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { classNames } from "../../utilities/props.js";
|
|
4
3
|
import Button from "../Button/index.js";
|
|
5
4
|
import IconClose from "../../icons/Close.js";
|
|
5
|
+
import { classNames } from "../../utilities/props.js";
|
|
6
6
|
import s from "./Dismissible.module.css";
|
|
7
7
|
const Dismissible = (props) => {
|
|
8
8
|
const { children, align, onClose, hideCloseButton, variant, closeAriaLabel, className, attributes, } = props;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { classNames, responsiveClassNames } from "../../utilities/props.js";
|
|
3
2
|
import Text from "../Text/index.js";
|
|
3
|
+
import { classNames, responsiveClassNames } from "../../utilities/props.js";
|
|
4
4
|
import s from "./Divider.module.css";
|
|
5
5
|
const Divider = (props) => {
|
|
6
6
|
const { vertical, blank, children, contentPosition = "center", color, offset, className, attributes, } = props;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import Popover from "../Popover/index.js";
|
|
5
|
-
import MenuItem from "../MenuItem/index.js";
|
|
6
|
-
import Icon from "../Icon/index.js";
|
|
7
4
|
import { useFlyoutContext } from "../Flyout/index.js";
|
|
8
|
-
import
|
|
5
|
+
import Icon from "../Icon/index.js";
|
|
6
|
+
import MenuItem from "../MenuItem/index.js";
|
|
7
|
+
import Popover from "../Popover/index.js";
|
|
8
|
+
import * as keys from "../../constants/keys.js";
|
|
9
9
|
import useHotkeys from "../../hooks/useHotkeys.js";
|
|
10
10
|
import useRTL from "../../hooks/useRTL.js";
|
|
11
|
+
import IconChevronRight from "../../icons/ChevronRight.js";
|
|
11
12
|
import { classNames } from "../../utilities/props.js";
|
|
12
|
-
import * as keys from "../../constants/keys.js";
|
|
13
13
|
import s from "./DropdownMenu.module.css";
|
|
14
14
|
const DropdownMenuSubContext = React.createContext(null);
|
|
15
15
|
const DropdownMenuSubTriggerContext = React.createContext(false);
|
|
16
16
|
const DropdownMenu = (props) => {
|
|
17
17
|
const { children, position = "bottom-start", triggerType = "click", trapFocusMode = "action-menu", borderRadius = "small", ...popoverProps } = props;
|
|
18
|
-
return (_jsx(Popover, { ...popoverProps, position: position, padding: 0, trapFocusMode: trapFocusMode, triggerType: triggerType, borderRadius: borderRadius, disableHideAnimation:
|
|
18
|
+
return (_jsx(Popover, { ...popoverProps, position: position, padding: 0, trapFocusMode: trapFocusMode, triggerType: triggerType, borderRadius: borderRadius, disableHideAnimation: triggerType !== "hover", children: children }));
|
|
19
19
|
};
|
|
20
20
|
export const DropdownMenuContent = (props) => {
|
|
21
21
|
const { children, attributes, className } = props;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { PopoverProps, PopoverInstance } from "../Popover";
|
|
3
|
-
import type { MenuItemProps } from "../MenuItem";
|
|
4
1
|
import type { FlyoutContentProps } from "../Flyout";
|
|
2
|
+
import type { MenuItemProps } from "../MenuItem";
|
|
3
|
+
import type { PopoverProps, PopoverInstance } from "../Popover";
|
|
4
|
+
import type React from "react";
|
|
5
5
|
export type Instance = PopoverInstance;
|
|
6
|
-
export type Props = Pick<PopoverProps, "children" | "position" | "forcePosition" | "fallbackPositions" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight" | "triggerType" | "contentGap" | "contentShift" | "onOpen" | "onClose" | "active" | "defaultActive" | "width" | "disableHideAnimation" | "disableCloseOnOutsideClick" | "instanceRef" | "containerRef" | "positionRef" | "originCoordinates" | "borderRadius" | "elevation" | "initialFocusRef"> & {
|
|
6
|
+
export type Props = Pick<PopoverProps, "children" | "position" | "forcePosition" | "fallbackPositions" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight" | "triggerType" | "contentGap" | "contentShift" | "contentMaxHeight" | "onOpen" | "onClose" | "active" | "defaultActive" | "width" | "disableHideAnimation" | "disableCloseOnOutsideClick" | "instanceRef" | "containerRef" | "positionRef" | "originCoordinates" | "borderRadius" | "elevation" | "initialFocusRef"> & {
|
|
7
7
|
/** Change component trap focus keyboard behavior and shortcuts */
|
|
8
8
|
trapFocusMode?: Extract<PopoverProps["trapFocusMode"], "action-menu" | "selection-menu"> | false;
|
|
9
9
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { classNames } from "../../utilities/props.js";
|
|
4
|
-
import View from "../View/index.js";
|
|
5
3
|
import HiddenVisually from "../HiddenVisually/index.js";
|
|
4
|
+
import View from "../View/index.js";
|
|
6
5
|
import useToggle from "../../hooks/useToggle.js";
|
|
6
|
+
import { classNames } from "../../utilities/props.js";
|
|
7
7
|
import s from "./FileUpload.module.css";
|
|
8
8
|
export const FileUploadTrigger = (props) => {
|
|
9
9
|
const { children } = props;
|
|
10
10
|
return _jsx("span", { className: s.trigger, children: children });
|
|
11
11
|
};
|
|
12
12
|
const FileUpload = (props) => {
|
|
13
|
-
const { name, children, height, variant = "outline", inline, className, attributes, inputAttributes, onChange, } = props;
|
|
13
|
+
const { name, children, height, variant = "outline", inline, className, disabled, attributes, inputAttributes, onChange, } = props;
|
|
14
14
|
const highlightToggle = useToggle();
|
|
15
|
-
const rootClassNames = classNames(s.root, variant && s[`--variant-${variant}`], inline && s[`--inline`], highlightToggle.active && s["--highlighted"], className);
|
|
15
|
+
const rootClassNames = classNames(s.root, variant && s[`--variant-${variant}`], inline && s[`--inline`], highlightToggle.active && s["--highlighted"], disabled && s["--disabled"], className);
|
|
16
16
|
const handleDragOver = (event) => {
|
|
17
17
|
event.preventDefault();
|
|
18
18
|
attributes?.onDragOver?.(event);
|
|
@@ -41,15 +41,17 @@ const FileUpload = (props) => {
|
|
|
41
41
|
onChange?.({ name, event, value: Array.from(nextValue) });
|
|
42
42
|
inputAttributes?.onChange?.(event);
|
|
43
43
|
};
|
|
44
|
-
const inputNode = (_jsx(HiddenVisually, { children: _jsx("input", { ...inputAttributes, type: "file", className: s.field, name: name, onChange: handleChange }) }));
|
|
44
|
+
const inputNode = (_jsx(HiddenVisually, { children: _jsx("input", { ...inputAttributes, type: "file", className: s.field, name: name, disabled: disabled, onChange: handleChange }) }));
|
|
45
45
|
const childrenNode = typeof children === "function" ? children({ highlighted: highlightToggle.active }) : children;
|
|
46
|
-
return (_jsx(View, { className: rootClassNames, height: height,
|
|
46
|
+
return (_jsx(View, { className: rootClassNames, height: height,
|
|
47
|
+
// For the focus ring radius
|
|
48
|
+
borderRadius: "medium", attributes: {
|
|
47
49
|
...attributes,
|
|
48
50
|
onDragOver: handleDragOver,
|
|
49
51
|
onDragEnter: handleDragEnter,
|
|
50
52
|
onDragLeave: handleDragLeave,
|
|
51
53
|
onDrop: handleDrop,
|
|
52
|
-
}, children: variant === "outline" && !inline ? (_jsxs(View, { as: "label", className: s.triggerLayer, padding: 6, borderRadius: "medium", gap: 2, align: "center", justify: "center", textAlign: "center",
|
|
54
|
+
}, children: variant === "outline" && !inline ? (_jsxs(View, { as: "label", className: s.triggerLayer, padding: 6, borderRadius: "medium", gap: 2, align: "center", justify: "center", textAlign: "center", height: "100%", children: [inputNode, _jsx(View.Item, { children: childrenNode })] })) : (_jsxs("label", { className: s.triggerLayer, children: [inputNode, childrenNode] })) }));
|
|
53
55
|
};
|
|
54
56
|
FileUpload.displayName = "FileUpload";
|
|
55
57
|
FileUploadTrigger.displayName = "FileUpload.Trigger";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.root{--rs-file-upload-radius:var(--rs-radius-medium);display:block}[data-rs-keyboard] .root:focus-within{box-shadow:var(--rs-shadow-focus)}.--inline{--rs-file-upload-radius:var(--rs-radius-small)}.--inline,.--inline .triggerLayer{display:inline-block;vertical-align:top}[data-rs-keyboard] .--inline:focus-within{box-shadow:none}[data-rs-keyboard] .--inline:focus-within .triggerLayer>*{box-shadow:var(--rs-shadow-focus)}.--variant-outline .triggerLayer{border:1px dashed var(--rs-
|
|
1
|
+
.root{--rs-file-upload-radius:var(--rs-radius-medium);--rs-file-upload-border-color:var(--rs-color-border-neutral);--rs-file-upload-hover-background-color:rgba(var(--rs-color-rgb-background-neutral),0.16);display:block}[data-rs-keyboard] .root:focus-within{box-shadow:var(--rs-shadow-focus)}.triggerLayer:has(.trigger){pointer-events:none}.triggerLayer:has(.trigger) .trigger,.triggerLayer:has(.trigger) a,.triggerLayer:has(.trigger) button{pointer-events:all}.trigger{display:contents}.--inline{--rs-file-upload-radius:var(--rs-radius-small)}.--inline,.--inline .triggerLayer{display:inline-block;vertical-align:top}[data-rs-keyboard] .--inline:focus-within{box-shadow:none}[data-rs-keyboard] .--inline:focus-within .triggerLayer>*{box-shadow:var(--rs-shadow-focus)}.--variant-outline .triggerLayer{border:1px dashed var(--rs-file-upload-border-color);border-radius:var(--rs-file-upload-radius);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,border-color}.--highlighted.--variant-outline .triggerLayer{background:rgba(var(--rs-color-rgb-background-primary),.08);border-color:var(--rs-color-border-primary)}@media (hover:hover) and (pointer:fine){.--variant-outline .triggerLayer:hover:not(:has(.trigger)){background:var(--rs-file-upload-hover-background-color)}}.--disabled{--rs-file-upload-border-color:var(--rs-color-border-disabled);--rs-file-upload-hover-background-color:transparent}.--disabled .triggerLayer{cursor:not-allowed;opacity:.4}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
1
|
import type { ViewProps } from "../View";
|
|
2
|
+
import type React from "react";
|
|
3
3
|
import type * as G from "../../types/global";
|
|
4
4
|
export type Props = {
|
|
5
5
|
/** Name of the input element */
|
|
6
6
|
name: string;
|
|
7
|
+
/** Disable the file upload input */
|
|
8
|
+
disabled?: boolean;
|
|
7
9
|
/** Node for inserting children, can be a render function that receives component state */
|
|
8
10
|
children?: React.ReactNode | ((props: {
|
|
9
11
|
highlighted?: boolean;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const mouseLeave = 150;
|
|
5
|
-
export declare const defaultStyles: T.Styles;
|
|
6
|
-
export declare const resetStyles: T.Styles;
|
|
1
|
+
export declare const mouseEnter = 600;
|
|
2
|
+
export declare const defaultStyles: React.CSSProperties;
|
|
3
|
+
export declare const resetStyles: React.CSSProperties;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import FlyoutUncontrolled from "./FlyoutUncontrolled.js";
|
|
3
2
|
import FlyoutControlled from "./FlyoutControlled.js";
|
|
3
|
+
import FlyoutUncontrolled from "./FlyoutUncontrolled.js";
|
|
4
4
|
const Flyout = (props) => {
|
|
5
5
|
const { active } = props;
|
|
6
6
|
if (typeof active === "boolean")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.content{--rs-flyout-gap:0;--rs-flyout-origin-x:50%;--rs-flyout-origin-y:50%;isolation:isolate;pointer-events:none;position:absolute}.content.--hover{pointer-events:all}.content.--hover-disabled,.content.--hover-disabled .inner{pointer-events:none}.inner{backface-visibility:hidden;height:100%;max-height:
|
|
1
|
+
.content{--rs-flyout-gap:0;--rs-flyout-max-h:100%;--rs-flyout-origin-x:50%;--rs-flyout-origin-y:50%;display:flex;flex-direction:column;isolation:isolate;pointer-events:none;position:absolute}.content.--hover{pointer-events:all}.content.--hover-disabled,.content.--hover-disabled .inner{pointer-events:none}.inner{backface-visibility:hidden;flex-grow:1;height:100%;max-height:var(--rs-flyout-max-h);max-width:100%;opacity:0;outline:none;overflow:auto;pointer-events:all;transform:scale(.92) translateY(0);transform-origin:var(--rs-flyout-origin-x) var(--rs-flyout-origin-y);transition:1ms var(--rs-easing-accelerate)}[data-rs-keyboard] .inner:focus{box-shadow:var(--rs-shadow-focus)}.content.--width-trigger .inner{transform:scale(1) translateY(var(--rs-unit-x2))}.content.--position-top,.content.--position-top-end,.content.--position-top-start{--rs-flyout-origin-y:100%;padding-bottom:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom,.content.--position-bottom-end,.content.--position-bottom-start{--rs-flyout-origin-y:0%;padding-top:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-bottom-start,.content.--position-top-start{--rs-flyout-origin-x:0%}.content.--position-bottom-end,.content.--position-top-end{--rs-flyout-origin-x:100%}.content.--position-start,.content.--position-start-bottom,.content.--position-start-top{--rs-flyout-origin-x:100%;padding-right:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end,.content.--position-end-bottom,.content.--position-end-top{--rs-flyout-origin-x:0%;padding-left:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}.content.--position-end-top,.content.--position-start-top{--rs-flyout-origin-y:0%}.content.--position-end-bottom,.content.--position-start-bottom{--rs-flyout-origin-y:100%}.content.--visible .inner{opacity:1;transform:scale(1) translateY(0)}.content.--animated .inner{transition-duration:var(--rs-duration-rapid);transition-property:opacity,transform}.content.--animated.--visible .inner{transition-duration:var(--rs-duration-fast);transition-timing-function:var(--rs-easing-decelerate)}
|