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
|
@@ -23,17 +23,14 @@ export type Options = Pick<BaseProps, "width" | "fallbackAdjustLayout" | "fallba
|
|
|
23
23
|
lastUsedPosition: Position;
|
|
24
24
|
onPositionChoose: (position: Position) => void;
|
|
25
25
|
};
|
|
26
|
-
export type Styles = React.CSSProperties;
|
|
27
26
|
export type State = {
|
|
28
|
-
styles: Styles;
|
|
29
27
|
position?: Position;
|
|
30
28
|
status: "idle" | "rendered" | "positioned" | "visible" | "hidden";
|
|
31
29
|
};
|
|
32
30
|
export type FlyoutData = {
|
|
33
|
-
styles: Styles;
|
|
34
31
|
position: Position;
|
|
35
32
|
};
|
|
36
|
-
export type UseFlyoutData = Pick<State, "
|
|
33
|
+
export type UseFlyoutData = Pick<State, "position" | "status"> & {
|
|
37
34
|
updatePosition: (args?: {
|
|
38
35
|
sync?: boolean;
|
|
39
36
|
fallback?: boolean;
|
|
@@ -72,7 +69,7 @@ export type TriggerAttributes = {
|
|
|
72
69
|
onFocus?: () => void;
|
|
73
70
|
onMouseDown?: () => void;
|
|
74
71
|
onMouseEnter?: () => void;
|
|
75
|
-
onMouseLeave?: () => void;
|
|
72
|
+
onMouseLeave?: (e: React.MouseEvent) => void;
|
|
76
73
|
onTouchStart?: () => void;
|
|
77
74
|
onClick?: () => void;
|
|
78
75
|
"aria-describedby"?: string;
|
|
@@ -132,6 +129,8 @@ type BaseProps = {
|
|
|
132
129
|
contentGap?: number;
|
|
133
130
|
/** Shift the content on the secondary axis, relative to its original position */
|
|
134
131
|
contentShift?: number;
|
|
132
|
+
/** Maximum height for the content */
|
|
133
|
+
contentMaxHeight?: string;
|
|
135
134
|
/** Additional classname for the content element */
|
|
136
135
|
contentClassName?: string;
|
|
137
136
|
/** Additional attributes for the content element */
|
|
@@ -178,7 +177,7 @@ export type ContextProps = {
|
|
|
178
177
|
}) => void;
|
|
179
178
|
handleOpen: () => void;
|
|
180
179
|
handleMouseEnter: () => void;
|
|
181
|
-
handleMouseLeave: () => void;
|
|
180
|
+
handleMouseLeave: (e: React.MouseEvent) => void;
|
|
182
181
|
handleMouseDown: () => void;
|
|
183
182
|
handleTransitionEnd: (e: React.TransitionEvent) => void;
|
|
184
183
|
handleTransitionStart: (e: TransitionEvent) => void;
|
|
@@ -189,7 +188,7 @@ export type ContextProps = {
|
|
|
189
188
|
handleContentMouseDown: () => void;
|
|
190
189
|
handleContentMouseUp: () => void;
|
|
191
190
|
isSubmenu: boolean;
|
|
192
|
-
} & Pick<Props, "triggerType" | "contentClassName" | "contentAttributes" | "contentGap" | "trapFocusMode" | "containerRef" | "disableContentHover" | "autoFocus">;
|
|
191
|
+
} & Pick<Props, "triggerType" | "contentClassName" | "contentAttributes" | "contentGap" | "contentMaxHeight" | "trapFocusMode" | "containerRef" | "disableContentHover" | "autoFocus">;
|
|
193
192
|
export type TriggerContextProps = {
|
|
194
193
|
elRef?: ContextProps["triggerElRef"];
|
|
195
194
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { classNames } from "../../utilities/props.js";
|
|
5
|
-
import { rafThrottle } from "../../utilities/helpers.js";
|
|
6
|
-
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
7
4
|
import Portal from "../_private/Portal/index.js";
|
|
5
|
+
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
8
6
|
import { findClosestPositionContainer, findClosestScrollableContainer } from "../../utilities/dom/index.js";
|
|
9
|
-
import
|
|
7
|
+
import { rafThrottle } from "../../utilities/helpers.js";
|
|
8
|
+
import { classNames } from "../../utilities/props.js";
|
|
10
9
|
import { useFlyoutContext, ContentProvider } from "./Flyout.context.js";
|
|
11
10
|
import s from "./Flyout.module.css";
|
|
11
|
+
import cooldown from "./utilities/cooldown.js";
|
|
12
12
|
const FlyoutContent = (props) => {
|
|
13
13
|
const { children, className, attributes } = props;
|
|
14
|
-
const { flyout, id, flyoutElRef, triggerElRef, handleClose, handleTransitionEnd, handleTransitionStart, triggerType, handleMouseEnter, handleMouseLeave, handleContentMouseDown, handleContentMouseUp, contentClassName, contentAttributes, contentGap, trapFocusMode, disableContentHover, autoFocus, width, containerRef: passedContainerRef, isSubmenu, } = useFlyoutContext();
|
|
15
|
-
const {
|
|
14
|
+
const { flyout, id, flyoutElRef, triggerElRef, handleClose, handleTransitionEnd, handleTransitionStart, triggerType, handleMouseEnter, handleMouseLeave, handleContentMouseDown, handleContentMouseUp, contentClassName, contentAttributes, contentGap, contentMaxHeight, trapFocusMode, disableContentHover, autoFocus, width, containerRef: passedContainerRef, isSubmenu, } = useFlyoutContext();
|
|
15
|
+
const { status, position } = flyout;
|
|
16
16
|
const [mounted, setMounted] = React.useState(false);
|
|
17
17
|
const closestFixedContainer = React.useMemo(() => {
|
|
18
18
|
if (!mounted)
|
|
@@ -95,8 +95,8 @@ const FlyoutContent = (props) => {
|
|
|
95
95
|
role = "menubar";
|
|
96
96
|
}
|
|
97
97
|
const content = (_jsx(ContentProvider, { value: { elRef: flyoutElRef }, children: _jsx("div", { className: rootClassNames, style: {
|
|
98
|
-
...styles,
|
|
99
98
|
"--rs-flyout-gap": contentGap,
|
|
99
|
+
"--rs-flyout-max-h": contentMaxHeight,
|
|
100
100
|
}, ref: flyoutElRef, onTransitionEnd: handleTransitionEnd, onMouseEnter: triggerType === "hover" ? handleMouseEnter : undefined, onMouseLeave: triggerType === "hover" ? handleMouseLeave : undefined, onMouseDown: handleContentMouseDown, onTouchStart: handleContentMouseDown, onMouseUp: handleContentMouseUp, onTouchEnd: handleContentMouseUp, children: _jsx("div", { role: role, ...attributes, id: id, tabIndex: !autoFocus ? -1 : undefined, "aria-modal": role === "dialog" ? true : undefined, style: { ...attributes?.style, ...contentAttributes?.style }, className: innerClassNames, children: children }) }) }));
|
|
101
101
|
return _jsx(Portal, { targetRef: containerRef, children: content });
|
|
102
102
|
};
|
|
@@ -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 { TrapFocus, checkKeyboardMode } from "../../utilities/a11y/index.js";
|
|
5
4
|
import useIsDismissible from "../../hooks/_private/useIsDismissible.js";
|
|
6
5
|
import useElementId from "../../hooks/useElementId.js";
|
|
7
|
-
import
|
|
6
|
+
import useHandlerRef from "../../hooks/useHandlerRef.js";
|
|
8
7
|
import useHotkeys from "../../hooks/useHotkeys.js";
|
|
8
|
+
import useIsomorphicLayoutEffect from "../../hooks/useIsomorphicLayoutEffect.js";
|
|
9
9
|
import useOnClickOutside from "../../hooks/useOnClickOutside.js";
|
|
10
10
|
import useRTL from "../../hooks/useRTL.js";
|
|
11
|
+
import { TrapFocus, checkKeyboardMode } from "../../utilities/a11y/index.js";
|
|
11
12
|
import { checkTransitions, onNextFrame } from "../../utilities/animation.js";
|
|
12
|
-
import useFlyout from "./useFlyout.js";
|
|
13
13
|
import * as timeouts from "./Flyout.constants.js";
|
|
14
|
-
import cooldown from "./utilities/cooldown.js";
|
|
15
14
|
import { Provider, useFlyoutTriggerContext, useFlyoutContext, useFlyoutContentContext, } from "./Flyout.context.js";
|
|
16
|
-
import
|
|
15
|
+
import useFlyout from "./useFlyout.js";
|
|
16
|
+
import cooldown from "./utilities/cooldown.js";
|
|
17
17
|
const FlyoutControlled = (props) => {
|
|
18
|
-
const { triggerType = "click", groupTimeouts, onOpen, onClose, children, disabled, forcePosition, fallbackAdjustLayout, fallbackMinWidth, fallbackMinHeight, trapFocusMode = "dialog", width, disableHideAnimation, disableContentHover, disableCloseOnOutsideClick, autoFocus = true, originCoordinates, contentGap = 2, contentShift, contentClassName, contentAttributes, position: passedPosition, active: passedActive, id: passedId, instanceRef, containerRef, initialFocusRef, positionRef, } = props;
|
|
18
|
+
const { triggerType = "click", groupTimeouts, onOpen, onClose, children, disabled, forcePosition, fallbackAdjustLayout, fallbackMinWidth, fallbackMinHeight, trapFocusMode = "dialog", width, disableHideAnimation, disableContentHover, disableCloseOnOutsideClick, autoFocus = true, originCoordinates, contentGap = 2, contentShift, contentMaxHeight, contentClassName, contentAttributes, position: passedPosition, active: passedActive, id: passedId, instanceRef, containerRef, initialFocusRef, positionRef, } = props;
|
|
19
19
|
const fallbackPositions = props.fallbackPositions === false || forcePosition ? [] : props.fallbackPositions;
|
|
20
20
|
const onOpenRef = useHandlerRef(onOpen);
|
|
21
21
|
const onCloseRef = useHandlerRef(onClose);
|
|
@@ -84,7 +84,7 @@ const FlyoutControlled = (props) => {
|
|
|
84
84
|
const clearTimer = React.useCallback(() => {
|
|
85
85
|
if (timerRef.current)
|
|
86
86
|
clearTimeout(timerRef.current);
|
|
87
|
-
}, [
|
|
87
|
+
}, []);
|
|
88
88
|
/**
|
|
89
89
|
* Component open/close handlers
|
|
90
90
|
* Called from the internal actions
|
|
@@ -143,16 +143,18 @@ const FlyoutControlled = (props) => {
|
|
|
143
143
|
cooldown.warm();
|
|
144
144
|
timerRef.current = setTimeout(() => {
|
|
145
145
|
handleOpen();
|
|
146
|
-
}, groupTimeouts && cooldown.status === "warming"
|
|
147
|
-
? timeouts.mouseEnter
|
|
148
|
-
: timeouts.mouseEnterShort);
|
|
146
|
+
}, groupTimeouts && cooldown.status === "warming" ? timeouts.mouseEnter : 0);
|
|
149
147
|
}
|
|
150
|
-
}, [clearTimer,
|
|
151
|
-
const handleMouseLeave = React.useCallback(() => {
|
|
148
|
+
}, [clearTimer, handleOpen, groupTimeouts]);
|
|
149
|
+
const handleMouseLeave = React.useCallback((e) => {
|
|
150
|
+
if (e.relatedTarget === flyoutElRef.current)
|
|
151
|
+
return;
|
|
152
|
+
if (e.relatedTarget === triggerElRef.current)
|
|
153
|
+
return;
|
|
152
154
|
cooldown.cool();
|
|
153
155
|
clearTimer();
|
|
154
|
-
|
|
155
|
-
}, [clearTimer,
|
|
156
|
+
handleClose({});
|
|
157
|
+
}, [clearTimer, handleClose, triggerElRef, flyoutElRef]);
|
|
156
158
|
const handleTriggerClick = React.useCallback(() => {
|
|
157
159
|
if (!isRendered) {
|
|
158
160
|
handleOpen();
|
|
@@ -333,6 +335,7 @@ const FlyoutControlled = (props) => {
|
|
|
333
335
|
contentClassName,
|
|
334
336
|
contentAttributes,
|
|
335
337
|
contentGap,
|
|
338
|
+
contentMaxHeight,
|
|
336
339
|
containerRef,
|
|
337
340
|
disableContentHover,
|
|
338
341
|
autoFocus,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Flyout from "./Flyout";
|
|
2
|
-
import FlyoutTrigger from "./FlyoutTrigger";
|
|
3
2
|
import FlyoutContent from "./FlyoutContent";
|
|
3
|
+
import FlyoutTrigger from "./FlyoutTrigger";
|
|
4
4
|
declare const FlyoutRoot: typeof Flyout & {
|
|
5
5
|
Trigger: typeof FlyoutTrigger;
|
|
6
6
|
Content: typeof FlyoutContent;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Flyout from "./Flyout.js";
|
|
2
|
-
import FlyoutTrigger from "./FlyoutTrigger.js";
|
|
3
2
|
import FlyoutContent from "./FlyoutContent.js";
|
|
3
|
+
import FlyoutTrigger from "./FlyoutTrigger.js";
|
|
4
4
|
const FlyoutRoot = Flyout;
|
|
5
5
|
FlyoutRoot.Trigger = FlyoutTrigger;
|
|
6
6
|
FlyoutRoot.Content = FlyoutContent;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type * as G from "../../types/global";
|
|
3
2
|
import type * as T from "./Flyout.types";
|
|
3
|
+
import type * as G from "../../types/global";
|
|
4
4
|
type UseFlyout = (args: Pick<T.Props, "width" | "position" | "defaultActive" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight" | "contentGap" | "contentShift"> & {
|
|
5
5
|
fallbackPositions?: T.Position[];
|
|
6
6
|
container?: HTMLElement | null;
|
|
7
7
|
triggerElRef: React.RefObject<HTMLElement | null>;
|
|
8
8
|
flyoutElRef: React.RefObject<HTMLElement | null>;
|
|
9
9
|
triggerBounds?: DOMRect | G.Coordinates | null;
|
|
10
|
-
}) => Pick<T.State, "
|
|
10
|
+
}) => Pick<T.State, "position" | "status"> & {
|
|
11
11
|
updatePosition: (options?: {
|
|
12
12
|
sync?: boolean;
|
|
13
13
|
}) => void;
|
|
@@ -1,37 +1,26 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import useRTL from "../../hooks/useRTL.js";
|
|
3
3
|
import flyout from "./utilities/flyout.js";
|
|
4
|
-
import { defaultStyles, resetStyles } from "./Flyout.constants.js";
|
|
5
4
|
const flyoutReducer = (state, action) => {
|
|
6
5
|
switch (action.type) {
|
|
7
6
|
case "render":
|
|
8
|
-
if (state.status !== "idle")
|
|
9
|
-
return state;
|
|
10
7
|
// Disable events before it's positioned to avoid mouseleave getting triggered
|
|
11
|
-
return { ...state, status: "rendered"
|
|
8
|
+
return { ...state, status: "rendered" };
|
|
12
9
|
case "position":
|
|
13
|
-
if (!action.payload.sync && state.status !== "rendered")
|
|
14
|
-
return state;
|
|
15
|
-
if (action.payload.sync && state.status !== "visible")
|
|
16
|
-
return state;
|
|
17
10
|
return {
|
|
18
11
|
...state,
|
|
19
|
-
status: action.payload.sync ?
|
|
12
|
+
status: action.payload.sync ? state.status : "positioned",
|
|
20
13
|
position: action.payload.position,
|
|
21
|
-
styles: { ...defaultStyles, ...action.payload.styles },
|
|
22
14
|
};
|
|
23
15
|
case "show":
|
|
16
|
+
// Checking because we're positioning inside nextAnimationFrame
|
|
24
17
|
if (state.status !== "positioned")
|
|
25
18
|
return state;
|
|
26
19
|
return { ...state, status: "visible" };
|
|
27
20
|
case "hide":
|
|
28
|
-
if (state.status !== "visible")
|
|
29
|
-
return state;
|
|
30
21
|
return { ...state, status: "hidden" };
|
|
31
22
|
case "remove":
|
|
32
|
-
|
|
33
|
-
return state;
|
|
34
|
-
return { ...state, status: "idle", styles: resetStyles };
|
|
23
|
+
return { ...state, status: "idle" };
|
|
35
24
|
default:
|
|
36
25
|
throw new Error("[Reshaped] Invalid flyout reducer type");
|
|
37
26
|
}
|
|
@@ -47,7 +36,6 @@ const useFlyout = (args) => {
|
|
|
47
36
|
const [isRTL] = useRTL();
|
|
48
37
|
const [state, dispatch] = React.useReducer(flyoutReducer, {
|
|
49
38
|
position: defaultPosition,
|
|
50
|
-
styles: defaultStyles,
|
|
51
39
|
status: "idle",
|
|
52
40
|
});
|
|
53
41
|
const render = React.useCallback(() => {
|
|
@@ -114,13 +102,12 @@ const useFlyout = (args) => {
|
|
|
114
102
|
}, [state.status, updatePosition]);
|
|
115
103
|
return React.useMemo(() => ({
|
|
116
104
|
position: state.position,
|
|
117
|
-
styles: state.styles,
|
|
118
105
|
status: state.status,
|
|
119
106
|
updatePosition,
|
|
120
107
|
render,
|
|
121
108
|
hide,
|
|
122
109
|
remove,
|
|
123
110
|
show,
|
|
124
|
-
}), [render, updatePosition, hide, remove, show, state.position, state.
|
|
111
|
+
}), [render, updatePosition, hide, remove, show, state.position, state.status]);
|
|
125
112
|
};
|
|
126
113
|
export default useFlyout;
|
|
@@ -13,13 +13,13 @@ declare const calculatePosition: (args: {
|
|
|
13
13
|
} & Pick<T.Options, "position" | "rtl" | "width" | "contentGap" | "contentShift" | "fallbackAdjustLayout" | "fallbackMinWidth" | "fallbackMinHeight">) => {
|
|
14
14
|
position: T.Position;
|
|
15
15
|
styles: {
|
|
16
|
-
left:
|
|
17
|
-
right:
|
|
18
|
-
top:
|
|
19
|
-
bottom:
|
|
16
|
+
left: string | null;
|
|
17
|
+
right: string | null;
|
|
18
|
+
top: string | null;
|
|
19
|
+
bottom: string | null;
|
|
20
20
|
transform: string;
|
|
21
|
-
height:
|
|
22
|
-
width: string |
|
|
21
|
+
height: string | null;
|
|
22
|
+
width: string | null;
|
|
23
23
|
};
|
|
24
24
|
boundaries: {
|
|
25
25
|
left: number;
|
|
@@ -159,13 +159,13 @@ const calculatePosition = (args) => {
|
|
|
159
159
|
return {
|
|
160
160
|
position,
|
|
161
161
|
styles: {
|
|
162
|
-
left: right === null ?
|
|
163
|
-
right: right === null ?
|
|
164
|
-
top: bottom === null ?
|
|
165
|
-
bottom: bottom === null ?
|
|
162
|
+
left: right === null ? "0px" : null,
|
|
163
|
+
right: right === null ? null : "0px",
|
|
164
|
+
top: bottom === null ? "0px" : null,
|
|
165
|
+
bottom: bottom === null ? null : "0px",
|
|
166
166
|
transform: `translate(${translateX}px, ${translateY}px)`,
|
|
167
|
-
height,
|
|
168
|
-
width: width ??
|
|
167
|
+
height: height !== undefined ? `${height}px` : null,
|
|
168
|
+
width: width !== undefined ? `${width}px` : (passedWidth ?? null),
|
|
169
169
|
},
|
|
170
170
|
boundaries: {
|
|
171
171
|
left,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as timeouts from "../Flyout.constants.js";
|
|
2
1
|
class Cooldown {
|
|
3
2
|
status = "cold";
|
|
4
3
|
timer;
|
|
@@ -12,7 +11,7 @@ class Cooldown {
|
|
|
12
11
|
this.timer = setTimeout(() => {
|
|
13
12
|
this.status = "warm";
|
|
14
13
|
this.timer = undefined;
|
|
15
|
-
},
|
|
14
|
+
}, 100);
|
|
16
15
|
};
|
|
17
16
|
cool = () => {
|
|
18
17
|
clearTimeout(this.timer);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getRectFromCoordinates, getShadowRoot, findClosestPositionContainer } from "../../../utilities/dom/index.js";
|
|
2
|
+
import { resetStyles } from "../Flyout.constants.js";
|
|
2
3
|
import calculatePosition from "./calculatePosition.js";
|
|
3
4
|
import getPositionFallbacks from "./getPositionFallbacks.js";
|
|
4
5
|
import isFullyVisible from "./isFullyVisible.js";
|
|
5
|
-
import { resetStyles } from "../Flyout.constants.js";
|
|
6
6
|
/**
|
|
7
7
|
* Set position of the target element to fit on the screen
|
|
8
8
|
*/
|
|
@@ -79,6 +79,9 @@ const flyout = (args) => {
|
|
|
79
79
|
calculated = applyPosition(lastUsedPosition);
|
|
80
80
|
onPositionChoose(calculated.position);
|
|
81
81
|
targetClone.parentNode?.removeChild(targetClone);
|
|
82
|
-
|
|
82
|
+
Object.entries(calculated.styles).forEach(([key, value]) => {
|
|
83
|
+
flyoutEl.style.setProperty(key, value);
|
|
84
|
+
});
|
|
85
|
+
return { position: calculated.position };
|
|
83
86
|
};
|
|
84
87
|
export default flyout;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import Text from "../Text/index.js";
|
|
4
4
|
import { useFormControlPrivate } from "./FormControl.context.js";
|
|
5
|
-
import { getCaptionId } from "./FormControl.utilities.js";
|
|
6
5
|
import s from "./FormControl.module.css";
|
|
6
|
+
import { getCaptionId } from "./FormControl.utilities.js";
|
|
7
7
|
const FormControlCaption = (props) => {
|
|
8
8
|
const { children, variant, disabled } = props;
|
|
9
9
|
const { attributes, size, helperRef, errorRef } = useFormControlPrivate();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useFormControlPrivate } from "./FormControl.context.js";
|
|
4
3
|
import Text from "../Text/index.js";
|
|
4
|
+
import { useFormControlPrivate } from "./FormControl.context.js";
|
|
5
5
|
import s from "./FormControl.module.css";
|
|
6
6
|
const FormControlLabel = (props) => {
|
|
7
7
|
const { children } = props;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import FormControl from "./FormControl";
|
|
2
|
-
import FormControlLabel from "./FormControlLabel";
|
|
3
|
-
import FormControlHelper from "./FormControlHelper";
|
|
4
2
|
import FormControlError from "./FormControlError";
|
|
3
|
+
import FormControlHelper from "./FormControlHelper";
|
|
4
|
+
import FormControlLabel from "./FormControlLabel";
|
|
5
5
|
declare const FormControlRoot: typeof FormControl & {
|
|
6
6
|
Label: typeof FormControlLabel;
|
|
7
7
|
Helper: typeof FormControlHelper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import FormControl from "./FormControl.js";
|
|
2
|
-
import FormControlLabel from "./FormControlLabel.js";
|
|
3
|
-
import FormControlHelper from "./FormControlHelper.js";
|
|
4
2
|
import FormControlError from "./FormControlError.js";
|
|
3
|
+
import FormControlHelper from "./FormControlHelper.js";
|
|
4
|
+
import FormControlLabel from "./FormControlLabel.js";
|
|
5
5
|
const FormControlRoot = FormControl;
|
|
6
6
|
FormControlRoot.Label = FormControlLabel;
|
|
7
7
|
FormControlRoot.Helper = FormControlHelper;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { classNames, responsiveVariables, responsivePropDependency } from "../../utilities/props.js";
|
|
3
2
|
import { resolveMixin } from "../../styles/mixin.js";
|
|
3
|
+
import { classNames, responsiveVariables, responsivePropDependency } from "../../utilities/props.js";
|
|
4
4
|
import s from "./Grid.module.css";
|
|
5
5
|
export const GridItem = (props) => {
|
|
6
6
|
const { area, colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, children, className,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
1
|
import type { Property } from "csstype";
|
|
3
|
-
import type
|
|
2
|
+
import type React from "react";
|
|
4
3
|
import type * as TStyles from "../../styles/types";
|
|
4
|
+
import type * as G from "../../types/global";
|
|
5
5
|
export type Props<TagName extends keyof React.JSX.IntrinsicElements = "div"> = {
|
|
6
6
|
/** Gap between grid items */
|
|
7
7
|
gap?: G.Responsive<number>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCheckboxGroup } from "../CheckboxGroup/index.js";
|
|
3
|
+
import { useFormControl } from "../FormControl/index.js";
|
|
4
|
+
import { useRadioGroup } from "../RadioGroup/index.js";
|
|
5
|
+
import { classNames } from "../../utilities/props.js";
|
|
6
|
+
import s from "./HiddenInput.module.css";
|
|
7
|
+
const HiddenInput = (props) => {
|
|
8
|
+
const { type, value, className, onBlur, onFocus, onChange, attributes } = props;
|
|
9
|
+
const rootClassNames = classNames(s.root, className);
|
|
10
|
+
const checkboxGroup = useCheckboxGroup();
|
|
11
|
+
const radioGroup = useRadioGroup();
|
|
12
|
+
const formControl = useFormControl();
|
|
13
|
+
const name = checkboxGroup?.name ?? radioGroup?.name ?? props.name;
|
|
14
|
+
const disabled = formControl?.disabled ?? props.disabled ?? checkboxGroup?.disabled ?? radioGroup?.disabled;
|
|
15
|
+
const checked = (value && checkboxGroup?.value?.includes(value)) ||
|
|
16
|
+
(value && radioGroup?.value === value) ||
|
|
17
|
+
props.checked;
|
|
18
|
+
const defaultChecked = checkboxGroup ? undefined : props.defaultChecked;
|
|
19
|
+
const handleChange = (event) => {
|
|
20
|
+
if (!name)
|
|
21
|
+
return;
|
|
22
|
+
const { checked } = event.target;
|
|
23
|
+
const changeArgs = { name, value, checked, event };
|
|
24
|
+
if (onChange)
|
|
25
|
+
onChange(changeArgs);
|
|
26
|
+
if (checkboxGroup?.onChange)
|
|
27
|
+
checkboxGroup.onChange(changeArgs);
|
|
28
|
+
if (radioGroup?.onChange)
|
|
29
|
+
radioGroup.onChange(changeArgs);
|
|
30
|
+
};
|
|
31
|
+
return (_jsx("input", { ...attributes, className: rootClassNames, type: type, name: name, value: value, checked: checked, defaultChecked: defaultChecked, disabled: disabled, onChange: handleChange, onFocus: onFocus || attributes?.onFocus, onBlur: onBlur || attributes?.onBlur }));
|
|
32
|
+
};
|
|
33
|
+
HiddenInput.displayName = "HiddenInput";
|
|
34
|
+
export default HiddenInput;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type * as G from "../../types/global";
|
|
3
|
+
export type Props = {
|
|
4
|
+
/** Name of the input element */
|
|
5
|
+
name?: string;
|
|
6
|
+
/** Value of the input element that is used for form submission */
|
|
7
|
+
value?: string;
|
|
8
|
+
/** Checked state of the input element, enables controlled mode */
|
|
9
|
+
checked?: boolean;
|
|
10
|
+
/** Default checked state of the input element, enables uncontrolled mode */
|
|
11
|
+
defaultChecked?: boolean;
|
|
12
|
+
/** Disable the input element */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Callback when the input value changes */
|
|
15
|
+
onChange?: G.ChangeHandler<boolean>;
|
|
16
|
+
/** Callback when the input or label is focused */
|
|
17
|
+
onFocus?: (e: React.FocusEvent) => void;
|
|
18
|
+
/** Callback when the input or label is blurred */
|
|
19
|
+
onBlur?: (e: React.FocusEvent) => void;
|
|
20
|
+
/** Type of the input element */
|
|
21
|
+
type: "checkbox" | "radio";
|
|
22
|
+
/** Additional classname for the root element */
|
|
23
|
+
className?: G.ClassName;
|
|
24
|
+
/** Additional attributes for the input element */
|
|
25
|
+
attributes?: G.Attributes<"input">;
|
|
26
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { classNames } from "../../utilities/props.js";
|
|
4
3
|
import { resolveMixin } from "../../styles/mixin.js";
|
|
4
|
+
import { classNames } from "../../utilities/props.js";
|
|
5
5
|
import s from "./Icon.module.css";
|
|
6
6
|
const Icon = (props) => {
|
|
7
7
|
const { svg: Component, className, color, size = "1em", autoWidth, attributes } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.root{align-items:center;aspect-ratio:1;display:flex;justify-content:center}.--auto{aspect-ratio:auto;justify-content:flex-start;width:auto}.root svg{display:block;height:100%;min-width:100%;width:auto}.--color-neutral{color:var(--rs-color-foreground-neutral)}.--color-neutral-faded{color:var(--rs-color-foreground-neutral-faded)}.--color-primary{color:var(--rs-color-foreground-primary)}.--color-positive{color:var(--rs-color-foreground-positive)}.--color-warning{color:var(--rs-color-foreground-warning)}.--color-critical{color:var(--rs-color-foreground-critical)}.--color-disabled{color:var(--rs-color-foreground-disabled)}
|
|
1
|
+
.root{align-items:center;aspect-ratio:1;display:flex;justify-content:center;transition:color var(--rs-duration-fast) var(--rs-easing-standard)}.--auto{aspect-ratio:auto;justify-content:flex-start;width:auto}.root svg{display:block;height:100%;min-width:100%;width:auto}.--color-neutral{color:var(--rs-color-foreground-neutral)}.--color-neutral-faded{color:var(--rs-color-foreground-neutral-faded)}.--color-primary{color:var(--rs-color-foreground-primary)}.--color-positive{color:var(--rs-color-foreground-positive)}.--color-warning{color:var(--rs-color-foreground-warning)}.--color-critical{color:var(--rs-color-foreground-critical)}.--color-disabled{color:var(--rs-color-foreground-disabled)}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { classNames } from "../../utilities/props.js";
|
|
5
4
|
import { resolveMixin } from "../../styles/mixin.js";
|
|
5
|
+
import { classNames } from "../../utilities/props.js";
|
|
6
6
|
import s from "./Image.module.css";
|
|
7
7
|
const Image = (props) => {
|
|
8
|
-
const { src, alt, width, maxWidth, height, aspectRatio, onLoad, onError, fallback, displayMode = "cover", borderRadius, className, attributes, imageAttributes: passedImageAttributes, renderImage, } = props;
|
|
8
|
+
const { src, alt, width, maxWidth, height, aspectRatio, onLoad, onError, fallback, outline, displayMode = "cover", borderRadius, className, attributes, imageAttributes: passedImageAttributes, renderImage, } = props;
|
|
9
9
|
const [status, setStatus] = React.useState("loading");
|
|
10
10
|
const mixinStyles = resolveMixin({ radius: borderRadius, width, height, maxWidth, aspectRatio });
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
11
|
+
const rootClassNames = classNames(s.root, mixinStyles.classNames, outline && s["--outline"], className);
|
|
12
|
+
const imageClassNames = classNames([
|
|
13
|
+
s.image,
|
|
14
|
+
displayMode && s[`image--display-mode-${displayMode}`],
|
|
15
|
+
]);
|
|
14
16
|
const isFallback = (status === "error" || !src) && !!fallback;
|
|
15
17
|
const style = {
|
|
16
18
|
...attributes?.style,
|
|
@@ -19,10 +21,12 @@ const Image = (props) => {
|
|
|
19
21
|
const handleLoad = (e) => {
|
|
20
22
|
setStatus("success");
|
|
21
23
|
onLoad?.(e);
|
|
24
|
+
passedImageAttributes?.onLoad?.(e);
|
|
22
25
|
};
|
|
23
26
|
const handleError = (e) => {
|
|
24
27
|
setStatus("error");
|
|
25
28
|
onError?.(e);
|
|
29
|
+
passedImageAttributes?.onError?.(e);
|
|
26
30
|
};
|
|
27
31
|
React.useEffect(() => {
|
|
28
32
|
setStatus("loading");
|
|
@@ -34,13 +38,13 @@ const Image = (props) => {
|
|
|
34
38
|
src: fallback ?? "",
|
|
35
39
|
alt: alt ?? "",
|
|
36
40
|
role: alt ? undefined : "presentation",
|
|
37
|
-
className:
|
|
41
|
+
className: imageClassNames,
|
|
38
42
|
style,
|
|
39
43
|
};
|
|
40
44
|
// eslint-disable-next-line jsx-a11y/alt-text
|
|
41
45
|
return renderImage ? renderImage(imageAttributes) : _jsx("img", { ...imageAttributes });
|
|
42
46
|
}
|
|
43
|
-
return (_jsx("div", { ...attributes, className:
|
|
47
|
+
return (_jsx("div", { ...attributes, className: classNames([s.fallback, rootClassNames]), style: style, children: fallback }));
|
|
44
48
|
}
|
|
45
49
|
const imageAttributes = {
|
|
46
50
|
...attributes,
|
|
@@ -50,11 +54,12 @@ const Image = (props) => {
|
|
|
50
54
|
role: alt ? undefined : "presentation",
|
|
51
55
|
onLoad: handleLoad,
|
|
52
56
|
onError: handleError,
|
|
53
|
-
className:
|
|
57
|
+
className: outline ? imageClassNames : classNames([imageClassNames, rootClassNames]),
|
|
54
58
|
style,
|
|
55
59
|
};
|
|
56
60
|
// eslint-disable-next-line jsx-a11y/alt-text
|
|
57
|
-
|
|
61
|
+
const imageNode = renderImage ? renderImage(imageAttributes) : _jsx("img", { ...imageAttributes });
|
|
62
|
+
return outline ? (_jsx("div", { ...attributes, className: rootClassNames, style: style, children: imageNode })) : (imageNode);
|
|
58
63
|
};
|
|
59
64
|
Image.displayName = "Image";
|
|
60
65
|
export default Image;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.root{display:block;max-width:100%}.fallback{align-items:center;background:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-disabled);display:flex;justify-content:center}.--display-mode-cover{object-fit:cover!important}
|
|
1
|
+
.root{position:relative}.root .image{border-radius:inherit;height:100%;width:100%}.image{display:block;max-width:100%}.fallback{align-items:center;background:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-disabled);display:flex;justify-content:center}.--outline:after{border:1px solid var(--rs-color-border-neutral-faded);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.image--display-mode-cover{object-fit:cover!important}.image--display-mode-contain{object-fit:scale-down!important}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
|
-
import type * as G from "../../types/global";
|
|
3
2
|
import type * as TStyles from "../../styles/types";
|
|
3
|
+
import type * as G from "../../types/global";
|
|
4
4
|
export type Props = {
|
|
5
5
|
/** Image URL */
|
|
6
6
|
src?: string;
|
|
@@ -15,9 +15,11 @@ export type Props = {
|
|
|
15
15
|
/** Image aspect ratio, width / height */
|
|
16
16
|
aspectRatio?: G.Responsive<number>;
|
|
17
17
|
/** Image border radius, based on the radius tokens */
|
|
18
|
-
borderRadius?: Extract<TStyles.Radius, "small" | "medium" | "large">;
|
|
18
|
+
borderRadius?: Extract<TStyles.Radius, "small" | "medium" | "large" | "circular">;
|
|
19
19
|
/** Image display mode for controlling how it fits into the provided boundaries */
|
|
20
20
|
displayMode?: "cover" | "contain";
|
|
21
|
+
/** Add a semi-transparent border on top of the image for better background contrast */
|
|
22
|
+
outline?: boolean;
|
|
21
23
|
/** Image on load event */
|
|
22
24
|
onLoad?: (e: React.SyntheticEvent) => void;
|
|
23
25
|
/** Image on error event */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } 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
4
|
import Icon from "../Icon/index.js";
|
|
5
|
+
import { classNames } from "../../utilities/props.js";
|
|
6
6
|
import s from "./Link.module.css";
|
|
7
7
|
const Link = forwardRef((props, ref) => {
|
|
8
8
|
const { icon, disabled, href, color = "primary", variant = "underline", className, children, attributes, type, onClick, stopPropagation, render, } = props;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
|
|
4
3
|
import Actionable from "../Actionable/index.js";
|
|
5
4
|
import Icon from "../Icon/index.js";
|
|
6
5
|
import View from "../View/index.js";
|
|
6
|
+
import { classNames, responsiveClassNames, responsivePropDependency } from "../../utilities/props.js";
|
|
7
7
|
import s from "./MenuItem.module.css";
|
|
8
8
|
const MenuItem = forwardRef((props, ref) => {
|
|
9
9
|
const { icon, startSlot, endSlot, children, color = "primary", selected, highlighted, disabled, onClick, href, size = "medium", roundedCorners, stopPropagation, as, render, className, attributes, } = props;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { IconProps } from "../Icon";
|
|
3
1
|
import type { ActionableProps } from "../Actionable";
|
|
2
|
+
import type { IconProps } from "../Icon";
|
|
3
|
+
import type React from "react";
|
|
4
4
|
import type * as G from "../../types/global";
|
|
5
5
|
export type Size = "small" | "medium" | "large";
|
|
6
6
|
export type Props = Pick<ActionableProps, "attributes" | "className" | "disabled" | "children" | "href" | "onClick" | "as" | "stopPropagation" | "render"> & {
|