@womp/kookie-ui 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/components.css +13017 -12024
- package/dist/cjs/components/_internal/base-button.d.ts +11 -1
- package/dist/cjs/components/_internal/base-button.d.ts.map +1 -1
- package/dist/cjs/components/_internal/base-button.js +2 -1
- package/dist/cjs/components/_internal/base-button.js.map +4 -4
- package/dist/cjs/components/_internal/base-button.props.js +1 -0
- package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -0
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +1 -1
- package/dist/cjs/components/_internal/base-menu.props.js +1 -0
- package/dist/cjs/components/_internal/base-menu.props.js.map +1 -1
- package/dist/cjs/components/_internal/base-menu.utils.js +1 -0
- package/dist/cjs/components/_internal/base-menu.utils.js.map +1 -1
- package/dist/cjs/components/_internal/base-radio.props.js +1 -0
- package/dist/cjs/components/_internal/base-radio.props.js.map +1 -1
- package/dist/cjs/components/_internal/base-tab-list.props.js +1 -0
- package/dist/cjs/components/_internal/base-tab-list.props.js.map +1 -1
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts +19 -7
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +2 -1
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +3 -3
- package/dist/cjs/components/_internal/menu-context.d.ts +12 -0
- package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -1
- package/dist/cjs/components/_internal/menu-context.js +2 -1
- package/dist/cjs/components/_internal/menu-context.js.map +3 -3
- package/dist/cjs/components/_internal/pane-chrome.d.ts +19 -2
- package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/cjs/components/_internal/pane-chrome.js +2 -1
- package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
- package/dist/cjs/components/_internal/shell-bottom.d.ts +1 -1
- package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-bottom.js +2 -1
- package/dist/cjs/components/_internal/shell-bottom.js.map +3 -3
- package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-handles.js +2 -1
- package/dist/cjs/components/_internal/shell-handles.js.map +3 -3
- package/dist/cjs/components/_internal/shell-inspector.d.ts +1 -1
- package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-inspector.js +2 -1
- package/dist/cjs/components/_internal/shell-inspector.js.map +3 -3
- package/dist/cjs/components/_internal/shell-pane.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-pane.js +2 -1
- package/dist/cjs/components/_internal/shell-pane.js.map +3 -3
- package/dist/cjs/components/_internal/shell-resizable.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-resizable.js +2 -1
- package/dist/cjs/components/_internal/shell-resizable.js.map +3 -3
- package/dist/cjs/components/_internal/shell-resize.js +1 -0
- package/dist/cjs/components/_internal/shell-resize.js.map +1 -1
- package/dist/cjs/components/_internal/shell-rest.js +1 -0
- package/dist/cjs/components/_internal/shell-rest.js.map +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-sidebar.js +2 -1
- package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
- package/dist/cjs/components/_internal/shell-store.d.ts.map +1 -1
- package/dist/cjs/components/_internal/shell-store.js +2 -1
- package/dist/cjs/components/_internal/shell-store.js.map +3 -3
- package/dist/cjs/components/accessible-icon.js +1 -0
- package/dist/cjs/components/accessible-icon.js.map +1 -1
- package/dist/cjs/components/accordion.d.ts +2 -2
- package/dist/cjs/components/accordion.d.ts.map +1 -1
- package/dist/cjs/components/accordion.js +2 -1
- package/dist/cjs/components/accordion.js.map +4 -4
- package/dist/cjs/components/accordion.props.js +1 -0
- package/dist/cjs/components/accordion.props.js.map +1 -1
- package/dist/cjs/components/alert-dialog.d.ts.map +1 -1
- package/dist/cjs/components/alert-dialog.js +2 -1
- package/dist/cjs/components/alert-dialog.js.map +4 -4
- package/dist/cjs/components/alert-dialog.props.js +1 -0
- package/dist/cjs/components/alert-dialog.props.js.map +1 -1
- package/dist/cjs/components/avatar.d.ts +1 -1
- package/dist/cjs/components/avatar.d.ts.map +1 -1
- package/dist/cjs/components/avatar.js +2 -1
- package/dist/cjs/components/avatar.js.map +3 -3
- package/dist/cjs/components/avatar.props.d.ts +8 -0
- package/dist/cjs/components/avatar.props.d.ts.map +1 -1
- package/dist/cjs/components/avatar.props.js +2 -1
- package/dist/cjs/components/avatar.props.js.map +2 -2
- package/dist/cjs/components/blockquote.d.ts +1 -1
- package/dist/cjs/components/blockquote.d.ts.map +1 -1
- package/dist/cjs/components/blockquote.js +2 -1
- package/dist/cjs/components/blockquote.js.map +4 -4
- package/dist/cjs/components/blockquote.props.js +1 -0
- package/dist/cjs/components/blockquote.props.js.map +1 -1
- package/dist/cjs/components/box.js +1 -0
- package/dist/cjs/components/box.js.map +1 -1
- package/dist/cjs/components/box.props.js +1 -0
- package/dist/cjs/components/box.props.js.map +1 -1
- package/dist/cjs/components/button.d.ts.map +1 -1
- package/dist/cjs/components/button.js +2 -1
- package/dist/cjs/components/button.js.map +4 -4
- package/dist/cjs/components/button.props.js +1 -0
- package/dist/cjs/components/button.props.js.map +2 -2
- package/dist/cjs/components/card.js +1 -0
- package/dist/cjs/components/card.js.map +1 -1
- package/dist/cjs/components/card.props.js +1 -0
- package/dist/cjs/components/card.props.js.map +1 -1
- package/dist/cjs/components/chatbar.d.ts.map +1 -1
- package/dist/cjs/components/chatbar.js +2 -1
- package/dist/cjs/components/chatbar.js.map +4 -4
- package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.js +2 -1
- package/dist/cjs/components/checkbox-group.js.map +3 -3
- package/dist/cjs/components/checkbox-group.primitive.d.ts +12 -5
- package/dist/cjs/components/checkbox-group.primitive.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.primitive.js +2 -1
- package/dist/cjs/components/checkbox-group.primitive.js.map +3 -3
- package/dist/cjs/components/checkbox-group.props.js +1 -0
- package/dist/cjs/components/checkbox-group.props.js.map +1 -1
- package/dist/cjs/components/checkbox.js +2 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/checkbox.props.js +1 -0
- package/dist/cjs/components/checkbox.props.js.map +1 -1
- package/dist/cjs/components/chip.d.ts.map +1 -1
- package/dist/cjs/components/chip.js +2 -1
- package/dist/cjs/components/chip.js.map +3 -3
- package/dist/cjs/components/chip.props.js +1 -0
- package/dist/cjs/components/chip.props.js.map +1 -1
- package/dist/cjs/components/code.d.ts.map +1 -1
- package/dist/cjs/components/code.js +2 -1
- package/dist/cjs/components/code.js.map +2 -2
- package/dist/cjs/components/code.props.js +1 -0
- package/dist/cjs/components/code.props.js.map +1 -1
- package/dist/cjs/components/combobox.d.ts.map +1 -1
- package/dist/cjs/components/combobox.js +2 -1
- package/dist/cjs/components/combobox.js.map +4 -4
- package/dist/cjs/components/combobox.props.js +1 -0
- package/dist/cjs/components/combobox.props.js.map +1 -1
- package/dist/cjs/components/context-menu.d.ts +1 -2
- package/dist/cjs/components/context-menu.d.ts.map +1 -1
- package/dist/cjs/components/context-menu.js +2 -1
- package/dist/cjs/components/context-menu.js.map +4 -4
- package/dist/cjs/components/context-menu.props.js +1 -0
- package/dist/cjs/components/context-menu.props.js.map +1 -1
- package/dist/cjs/components/dialog.d.ts +1 -1
- package/dist/cjs/components/dialog.d.ts.map +1 -1
- package/dist/cjs/components/dialog.js +2 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/dialog.props.js +1 -0
- package/dist/cjs/components/dialog.props.js.map +1 -1
- package/dist/cjs/components/dropdown-menu.d.ts +1 -2
- package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
- package/dist/cjs/components/dropdown-menu.js +2 -1
- package/dist/cjs/components/dropdown-menu.js.map +4 -4
- package/dist/cjs/components/dropdown-menu.props.js +1 -0
- package/dist/cjs/components/dropdown-menu.props.js.map +1 -1
- package/dist/cjs/components/flex.js +1 -0
- package/dist/cjs/components/flex.js.map +2 -2
- package/dist/cjs/components/flex.props.js +1 -0
- package/dist/cjs/components/flex.props.js.map +2 -2
- package/dist/cjs/components/grid.js +1 -0
- package/dist/cjs/components/grid.js.map +2 -2
- package/dist/cjs/components/grid.props.js +1 -0
- package/dist/cjs/components/grid.props.js.map +2 -2
- package/dist/cjs/components/heading.d.ts +2 -2
- package/dist/cjs/components/heading.d.ts.map +1 -1
- package/dist/cjs/components/heading.js +2 -1
- package/dist/cjs/components/heading.js.map +2 -2
- package/dist/cjs/components/heading.props.d.ts +1 -1
- package/dist/cjs/components/heading.props.js +2 -1
- package/dist/cjs/components/heading.props.js.map +2 -2
- package/dist/cjs/components/icons.d.ts +3 -1
- package/dist/cjs/components/icons.d.ts.map +1 -1
- package/dist/cjs/components/icons.js +2 -1
- package/dist/cjs/components/icons.js.map +3 -3
- package/dist/cjs/components/image.d.ts +9 -2
- package/dist/cjs/components/image.d.ts.map +1 -1
- package/dist/cjs/components/image.js +2 -1
- package/dist/cjs/components/image.js.map +3 -3
- package/dist/cjs/components/image.props.js +1 -0
- package/dist/cjs/components/image.props.js.map +1 -1
- package/dist/cjs/components/index.d.ts +2 -2
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +3 -10
- package/dist/cjs/components/index.js.map +4 -4
- package/dist/cjs/components/kbd.js +1 -0
- package/dist/cjs/components/kbd.js.map +1 -1
- package/dist/cjs/components/kbd.props.js +1 -0
- package/dist/cjs/components/kbd.props.js.map +1 -1
- package/dist/cjs/components/link.js +1 -0
- package/dist/cjs/components/link.js.map +1 -1
- package/dist/cjs/components/link.props.js +1 -0
- package/dist/cjs/components/link.props.js.map +1 -1
- package/dist/cjs/components/message-scroller.d.ts +2 -2
- package/dist/cjs/components/message-scroller.d.ts.map +1 -1
- package/dist/cjs/components/message-scroller.js +2 -1
- package/dist/cjs/components/message-scroller.js.map +4 -4
- package/dist/cjs/components/navbar.d.ts.map +1 -1
- package/dist/cjs/components/navbar.js +2 -1
- package/dist/cjs/components/navbar.js.map +3 -3
- package/dist/cjs/components/navbar.props.js +1 -0
- package/dist/cjs/components/navbar.props.js.map +1 -1
- package/dist/cjs/components/notice.d.ts +4 -1
- package/dist/cjs/components/notice.d.ts.map +1 -1
- package/dist/cjs/components/notice.js +2 -1
- package/dist/cjs/components/notice.js.map +4 -4
- package/dist/cjs/components/popover.d.ts +3 -1
- package/dist/cjs/components/popover.d.ts.map +1 -1
- package/dist/cjs/components/popover.js +2 -1
- package/dist/cjs/components/popover.js.map +3 -3
- package/dist/cjs/components/popover.props.js +1 -0
- package/dist/cjs/components/popover.props.js.map +1 -1
- package/dist/cjs/components/portal.js +1 -0
- package/dist/cjs/components/portal.js.map +1 -1
- package/dist/cjs/components/progress.d.ts.map +1 -1
- package/dist/cjs/components/progress.js +2 -1
- package/dist/cjs/components/progress.js.map +3 -3
- package/dist/cjs/components/progress.props.js +1 -0
- package/dist/cjs/components/progress.props.js.map +1 -1
- package/dist/cjs/components/radio-group.js +1 -0
- package/dist/cjs/components/radio-group.js.map +1 -1
- package/dist/cjs/components/radio-group.props.js +1 -0
- package/dist/cjs/components/radio-group.props.js.map +1 -1
- package/dist/cjs/components/radio.js +1 -0
- package/dist/cjs/components/radio.js.map +1 -1
- package/dist/cjs/components/radio.props.js +1 -0
- package/dist/cjs/components/radio.props.js.map +1 -1
- package/dist/cjs/components/reset.js +1 -0
- package/dist/cjs/components/reset.js.map +1 -1
- package/dist/cjs/components/schemas/base-button.schema.js +1 -0
- package/dist/cjs/components/schemas/base-button.schema.js.map +1 -1
- package/dist/cjs/components/schemas/button.schema.d.ts +2 -2
- package/dist/cjs/components/schemas/button.schema.js +1 -0
- package/dist/cjs/components/schemas/button.schema.js.map +1 -1
- package/dist/cjs/components/schemas/index.js +1 -0
- package/dist/cjs/components/schemas/index.js.map +1 -1
- package/dist/cjs/components/schemas/shell.schema.js +1 -0
- package/dist/cjs/components/schemas/shell.schema.js.map +1 -1
- package/dist/cjs/components/schemas/toggle.schema.d.ts +1 -1
- package/dist/cjs/components/schemas/toggle.schema.js +1 -0
- package/dist/cjs/components/schemas/toggle.schema.js.map +1 -1
- package/dist/cjs/components/scroll-area.d.ts +3 -1
- package/dist/cjs/components/scroll-area.d.ts.map +1 -1
- package/dist/cjs/components/scroll-area.js +2 -1
- package/dist/cjs/components/scroll-area.js.map +4 -4
- package/dist/cjs/components/scroll-area.props.js +1 -0
- package/dist/cjs/components/scroll-area.props.js.map +1 -1
- package/dist/cjs/components/segmented-control.d.ts +3 -1
- package/dist/cjs/components/segmented-control.d.ts.map +1 -1
- package/dist/cjs/components/segmented-control.js +2 -1
- package/dist/cjs/components/segmented-control.js.map +3 -3
- package/dist/cjs/components/segmented-control.props.d.ts +0 -1
- package/dist/cjs/components/segmented-control.props.d.ts.map +1 -1
- package/dist/cjs/components/segmented-control.props.js +2 -1
- package/dist/cjs/components/segmented-control.props.js.map +2 -2
- package/dist/cjs/components/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +2 -1
- package/dist/cjs/components/select.js.map +4 -4
- package/dist/cjs/components/select.props.js +1 -0
- package/dist/cjs/components/select.props.js.map +1 -1
- package/dist/cjs/components/separator.d.ts.map +1 -1
- package/dist/cjs/components/separator.js +2 -1
- package/dist/cjs/components/separator.js.map +4 -4
- package/dist/cjs/components/separator.props.d.ts +1 -1
- package/dist/cjs/components/separator.props.js +2 -1
- package/dist/cjs/components/separator.props.js.map +2 -2
- package/dist/cjs/components/sheet.d.ts +2 -1
- package/dist/cjs/components/sheet.d.ts.map +1 -1
- package/dist/cjs/components/sheet.js +2 -1
- package/dist/cjs/components/sheet.js.map +3 -3
- package/dist/cjs/components/shell.context.js +2 -1
- package/dist/cjs/components/shell.context.js.map +3 -3
- package/dist/cjs/components/shell.d.ts +17 -3
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.hooks.js +2 -1
- package/dist/cjs/components/shell.hooks.js.map +3 -3
- package/dist/cjs/components/shell.js +2 -1
- package/dist/cjs/components/shell.js.map +4 -4
- package/dist/cjs/components/shell.types.js +1 -0
- package/dist/cjs/components/shell.types.js.map +1 -1
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +2 -1
- package/dist/cjs/components/sidebar.js.map +4 -4
- package/dist/cjs/components/slider.d.ts.map +1 -1
- package/dist/cjs/components/slider.js +2 -1
- package/dist/cjs/components/slider.js.map +3 -3
- package/dist/cjs/components/slider.props.d.ts +0 -2
- package/dist/cjs/components/slider.props.d.ts.map +1 -1
- package/dist/cjs/components/slider.props.js +2 -1
- package/dist/cjs/components/slider.props.js.map +2 -2
- package/dist/cjs/components/slot.js +1 -0
- package/dist/cjs/components/slot.js.map +1 -1
- package/dist/cjs/components/spinner.d.ts.map +1 -1
- package/dist/cjs/components/spinner.js +2 -1
- package/dist/cjs/components/spinner.js.map +3 -3
- package/dist/cjs/components/spinner.props.js +1 -0
- package/dist/cjs/components/spinner.props.js.map +1 -1
- package/dist/cjs/components/switch.js +1 -0
- package/dist/cjs/components/switch.js.map +1 -1
- package/dist/cjs/components/switch.props.js +1 -0
- package/dist/cjs/components/switch.props.js.map +1 -1
- package/dist/cjs/components/table.d.ts.map +1 -1
- package/dist/cjs/components/table.js +2 -1
- package/dist/cjs/components/table.js.map +4 -4
- package/dist/cjs/components/table.props.d.ts +0 -2
- package/dist/cjs/components/table.props.d.ts.map +1 -1
- package/dist/cjs/components/table.props.js +2 -1
- package/dist/cjs/components/table.props.js.map +3 -3
- package/dist/cjs/components/tabs.d.ts.map +1 -1
- package/dist/cjs/components/tabs.js +2 -1
- package/dist/cjs/components/tabs.js.map +3 -3
- package/dist/cjs/components/tabs.props.js +1 -0
- package/dist/cjs/components/tabs.props.js.map +1 -1
- package/dist/cjs/components/text-area.d.ts.map +1 -1
- package/dist/cjs/components/text-area.js +2 -1
- package/dist/cjs/components/text-area.js.map +2 -2
- package/dist/cjs/components/text-area.props.js +1 -0
- package/dist/cjs/components/text-area.props.js.map +1 -1
- package/dist/cjs/components/text-field.d.ts.map +1 -1
- package/dist/cjs/components/text-field.js +3 -2
- package/dist/cjs/components/text-field.js.map +3 -3
- package/dist/cjs/components/text-field.props.js +1 -0
- package/dist/cjs/components/text-field.props.js.map +2 -2
- package/dist/cjs/components/text.js +1 -0
- package/dist/cjs/components/text.js.map +1 -1
- package/dist/cjs/components/text.props.js +1 -0
- package/dist/cjs/components/text.props.js.map +1 -1
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +2 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.js +1 -0
- package/dist/cjs/components/theme.props.js.map +1 -1
- package/dist/cjs/components/toggle.d.ts +3 -2
- package/dist/cjs/components/toggle.d.ts.map +1 -1
- package/dist/cjs/components/toggle.js +2 -9
- package/dist/cjs/components/toggle.js.map +4 -4
- package/dist/cjs/components/toolbar.d.ts +83 -8
- package/dist/cjs/components/toolbar.d.ts.map +1 -1
- package/dist/cjs/components/toolbar.js +2 -1
- package/dist/cjs/components/toolbar.js.map +4 -4
- package/dist/cjs/components/toolbar.props.js +1 -0
- package/dist/cjs/components/toolbar.props.js.map +1 -1
- package/dist/cjs/components/tooltip.d.ts +13 -2
- package/dist/cjs/components/tooltip.d.ts.map +1 -1
- package/dist/cjs/components/tooltip.js +2 -1
- package/dist/cjs/components/tooltip.js.map +3 -3
- package/dist/cjs/components/tooltip.props.js +1 -0
- package/dist/cjs/components/tooltip.props.js.map +1 -1
- package/dist/cjs/components/virtual-menu.d.ts +22 -17
- package/dist/cjs/components/virtual-menu.d.ts.map +1 -1
- package/dist/cjs/components/virtual-menu.js +2 -1
- package/dist/cjs/components/virtual-menu.js.map +3 -3
- package/dist/cjs/components/visually-hidden.js +1 -0
- package/dist/cjs/components/visually-hidden.js.map +1 -1
- package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
- package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -1
- package/dist/cjs/helpers/get-margin-styles.js +1 -1
- package/dist/cjs/helpers/get-margin-styles.js.map +3 -3
- package/dist/cjs/helpers/index.js +4 -4
- package/dist/cjs/helpers/index.js.map +3 -3
- package/dist/cjs/hooks/index.js +5 -4
- package/dist/cjs/hooks/index.js.map +3 -3
- package/dist/cjs/hooks/use-appearance.d.ts.map +1 -1
- package/dist/cjs/hooks/use-appearance.js +4 -3
- package/dist/cjs/hooks/use-appearance.js.map +3 -3
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts +1 -1
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +2 -1
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +3 -3
- package/dist/cjs/hooks/use-breakpoint.js +1 -0
- package/dist/cjs/hooks/use-breakpoint.js.map +1 -1
- package/dist/cjs/hooks/use-live-announcer.js +1 -0
- package/dist/cjs/hooks/use-live-announcer.js.map +1 -1
- package/dist/cjs/hooks/use-prop-synced-state.js +1 -0
- package/dist/cjs/hooks/use-prop-synced-state.js.map +1 -1
- package/dist/cjs/hooks/use-scroll-edges.d.ts +4 -2
- package/dist/cjs/hooks/use-scroll-edges.d.ts.map +1 -1
- package/dist/cjs/hooks/use-scroll-edges.js +2 -1
- package/dist/cjs/hooks/use-scroll-edges.js.map +3 -3
- package/dist/cjs/hooks/use-thumb-sync.js +1 -0
- package/dist/cjs/hooks/use-thumb-sync.js.map +1 -1
- package/dist/cjs/hooks/use-toggle-state.js +1 -0
- package/dist/cjs/hooks/use-toggle-state.js.map +1 -1
- package/dist/cjs/hooks/use-tooltip-wrapper.js +1 -0
- package/dist/cjs/hooks/use-tooltip-wrapper.js.map +1 -1
- package/dist/cjs/index.js +6 -5
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/props/gap.props.d.ts +4 -4
- package/dist/cjs/props/gap.props.js.map +1 -1
- package/dist/cjs/props/index.js +1 -1
- package/dist/cjs/props/index.js.map +3 -3
- package/dist/esm/chunk-2EXOL2BR.js +3 -0
- package/dist/esm/chunk-2EXOL2BR.js.map +7 -0
- package/dist/esm/chunk-2IU5XPR2.js +3 -0
- package/dist/esm/chunk-2IU5XPR2.js.map +7 -0
- package/dist/esm/chunk-2IUGM657.js +3 -0
- package/dist/esm/chunk-2IUGM657.js.map +7 -0
- package/dist/esm/chunk-2VSRZ4IT.js +3 -0
- package/dist/esm/chunk-2VSRZ4IT.js.map +7 -0
- package/dist/esm/chunk-2XZ7477Y.js +3 -0
- package/dist/esm/{chunk-HKPXDQ2B.js.map → chunk-2XZ7477Y.js.map} +1 -1
- package/dist/esm/{chunk-GNTNGLYR.js → chunk-2Z2I27ZS.js} +3 -2
- package/dist/esm/{chunk-GNTNGLYR.js.map → chunk-2Z2I27ZS.js.map} +1 -1
- package/dist/esm/chunk-3223MHQK.js +3 -0
- package/dist/esm/{chunk-DSPYHO3L.js.map → chunk-3223MHQK.js.map} +2 -2
- package/dist/esm/{chunk-MPTTUBFU.js → chunk-3H23GRNQ.js} +3 -2
- package/dist/esm/{chunk-MPTTUBFU.js.map → chunk-3H23GRNQ.js.map} +2 -2
- package/dist/esm/chunk-3LIF53YY.js +13 -0
- package/dist/esm/chunk-3LIF53YY.js.map +7 -0
- package/dist/esm/chunk-3QWGSRYC.js +3 -0
- package/dist/esm/chunk-3QWGSRYC.js.map +7 -0
- package/dist/esm/chunk-3WZLXGUE.js +3 -0
- package/dist/esm/chunk-3WZLXGUE.js.map +7 -0
- package/dist/esm/chunk-45O3JZWQ.js +6 -0
- package/dist/esm/chunk-45O3JZWQ.js.map +7 -0
- package/dist/esm/chunk-4ABQ6CDI.js +3 -0
- package/dist/esm/chunk-4ABQ6CDI.js.map +7 -0
- package/dist/esm/{chunk-IAEAXIBI.js → chunk-4J7QDLKI.js} +3 -2
- package/dist/esm/{chunk-IAEAXIBI.js.map → chunk-4J7QDLKI.js.map} +1 -1
- package/dist/esm/chunk-4Q5PUIDJ.js +3 -0
- package/dist/esm/chunk-4Q5PUIDJ.js.map +7 -0
- package/dist/esm/chunk-54HUG34P.js +3 -0
- package/dist/esm/chunk-54HUG34P.js.map +7 -0
- package/dist/esm/chunk-5EP3UTM7.js +3 -0
- package/dist/esm/{chunk-Q4IA622Q.js.map → chunk-5EP3UTM7.js.map} +1 -1
- package/dist/esm/chunk-5JYSYTHA.js +3 -0
- package/dist/esm/chunk-5JYSYTHA.js.map +7 -0
- package/dist/esm/{chunk-FWB47YCH.js → chunk-5KMEUZWN.js} +2 -1
- package/dist/esm/{chunk-FWB47YCH.js.map → chunk-5KMEUZWN.js.map} +1 -1
- package/dist/esm/{chunk-7MC7N4BC.js → chunk-5KQCG7AV.js} +2 -1
- package/dist/esm/{chunk-7MC7N4BC.js.map → chunk-5KQCG7AV.js.map} +1 -1
- package/dist/esm/chunk-5RFDCAKC.js +3 -0
- package/dist/esm/{chunk-SKOYHBIE.js.map → chunk-5RFDCAKC.js.map} +1 -1
- package/dist/esm/{chunk-BIITGC3Z.js → chunk-5WTSKXAE.js} +3 -2
- package/dist/esm/{chunk-BIITGC3Z.js.map → chunk-5WTSKXAE.js.map} +1 -1
- package/dist/esm/{chunk-OSSNMF5U.js → chunk-647DRBXQ.js} +3 -2
- package/dist/esm/{chunk-OSSNMF5U.js.map → chunk-647DRBXQ.js.map} +1 -1
- package/dist/esm/{chunk-KKMOGHIY.js → chunk-64EFWPHI.js} +3 -2
- package/dist/esm/{chunk-KKMOGHIY.js.map → chunk-64EFWPHI.js.map} +1 -1
- package/dist/esm/{chunk-BWLCTTTN.js → chunk-65KD6WS6.js} +3 -2
- package/dist/esm/{chunk-BWLCTTTN.js.map → chunk-65KD6WS6.js.map} +2 -2
- package/dist/esm/{chunk-RWTSGUVJ.js → chunk-6AMWYEM7.js} +3 -2
- package/dist/esm/{chunk-RWTSGUVJ.js.map → chunk-6AMWYEM7.js.map} +1 -1
- package/dist/esm/{chunk-ELAW7ZUG.js → chunk-6FLLFCBU.js} +2 -2
- package/dist/esm/{chunk-4P6TKZCA.js → chunk-6UZT3ZLO.js} +3 -2
- package/dist/esm/{chunk-4P6TKZCA.js.map → chunk-6UZT3ZLO.js.map} +1 -1
- package/dist/esm/chunk-7IHBNDCE.js +3 -0
- package/dist/esm/{chunk-XKSU3NLG.js.map → chunk-7IHBNDCE.js.map} +2 -2
- package/dist/esm/chunk-7J7RPEPB.js +3 -0
- package/dist/esm/chunk-7J7RPEPB.js.map +7 -0
- package/dist/esm/chunk-7N2Q5WOM.js +3 -0
- package/dist/esm/chunk-7N2Q5WOM.js.map +7 -0
- package/dist/esm/{chunk-25FNCKUM.js → chunk-7ROKZHH2.js} +3 -2
- package/dist/esm/{chunk-25FNCKUM.js.map → chunk-7ROKZHH2.js.map} +1 -1
- package/dist/esm/chunk-7VJF6EXN.js +3 -0
- package/dist/esm/chunk-7VJF6EXN.js.map +7 -0
- package/dist/esm/chunk-A2OMWZI7.js +2 -0
- package/dist/esm/chunk-A7QRPXXB.js +3 -0
- package/dist/esm/chunk-A7QRPXXB.js.map +7 -0
- package/dist/esm/chunk-AG2YETE6.js +3 -0
- package/dist/esm/chunk-AG2YETE6.js.map +7 -0
- package/dist/esm/{chunk-4BU4R7UM.js → chunk-AOBY2OUZ.js} +3 -2
- package/dist/esm/{chunk-4BU4R7UM.js.map → chunk-AOBY2OUZ.js.map} +1 -1
- package/dist/esm/{chunk-XEZXKPLE.js → chunk-AXODGYRY.js} +2 -1
- package/dist/esm/{chunk-XEZXKPLE.js.map → chunk-AXODGYRY.js.map} +1 -1
- package/dist/esm/chunk-AYKOOEZR.js +2 -0
- package/dist/esm/{chunk-YHYPIJCR.js → chunk-AZHSPPBV.js} +3 -2
- package/dist/esm/{chunk-YHYPIJCR.js.map → chunk-AZHSPPBV.js.map} +1 -1
- package/dist/esm/{chunk-ERNM3KVF.js → chunk-B6YGNB3V.js} +2 -1
- package/dist/esm/{chunk-ERNM3KVF.js.map → chunk-B6YGNB3V.js.map} +1 -1
- package/dist/esm/chunk-BMKUGZ4I.js +3 -0
- package/dist/esm/{chunk-VPSMETY2.js.map → chunk-BMKUGZ4I.js.map} +1 -1
- package/dist/esm/chunk-BOLSK63X.js +3 -0
- package/dist/esm/{chunk-X4A3XRBY.js.map → chunk-BOLSK63X.js.map} +1 -1
- package/dist/esm/chunk-BUZGRMDD.js +3 -0
- package/dist/esm/chunk-BUZGRMDD.js.map +7 -0
- package/dist/esm/{chunk-IDOZJVO6.js → chunk-CAAEEHGQ.js} +3 -2
- package/dist/esm/{chunk-IDOZJVO6.js.map → chunk-CAAEEHGQ.js.map} +1 -1
- package/dist/esm/{chunk-3QZBWH2A.js → chunk-CKJXTEVO.js} +3 -2
- package/dist/esm/chunk-CKJXTEVO.js.map +7 -0
- package/dist/esm/chunk-CLJ6SEGP.js +3 -0
- package/dist/esm/chunk-CLJ6SEGP.js.map +7 -0
- package/dist/esm/chunk-CR65RYGM.js +3 -0
- package/dist/esm/chunk-CR65RYGM.js.map +7 -0
- package/dist/esm/chunk-CRCYUJMK.js +3 -0
- package/dist/esm/chunk-CRCYUJMK.js.map +7 -0
- package/dist/esm/chunk-CV7QQTI3.js +3 -0
- package/dist/esm/chunk-CV7QQTI3.js.map +7 -0
- package/dist/esm/chunk-CYTPMHSJ.js +3 -0
- package/dist/esm/chunk-CYTPMHSJ.js.map +7 -0
- package/dist/esm/chunk-D4P7332M.js +3 -0
- package/dist/esm/chunk-D4P7332M.js.map +7 -0
- package/dist/esm/chunk-DI7RUMLO.js +3 -0
- package/dist/esm/chunk-DI7RUMLO.js.map +7 -0
- package/dist/esm/{chunk-OY5NT7VT.js → chunk-DVXDFCCV.js} +3 -2
- package/dist/esm/{chunk-OY5NT7VT.js.map → chunk-DVXDFCCV.js.map} +1 -1
- package/dist/esm/chunk-E4EMG3RC.js +3 -0
- package/dist/esm/chunk-E4EMG3RC.js.map +7 -0
- package/dist/esm/chunk-EAIQIW23.js +3 -0
- package/dist/esm/chunk-EAIQIW23.js.map +7 -0
- package/dist/esm/chunk-ENAW44VE.js +3 -0
- package/dist/esm/chunk-ENAW44VE.js.map +7 -0
- package/dist/esm/chunk-EVCQ6TG5.js +3 -0
- package/dist/esm/{chunk-JBHRV364.js.map → chunk-EVCQ6TG5.js.map} +2 -2
- package/dist/esm/{chunk-RAVZ7F5L.js → chunk-EY6TCYGG.js} +3 -2
- package/dist/esm/{chunk-RAVZ7F5L.js.map → chunk-EY6TCYGG.js.map} +1 -1
- package/dist/esm/chunk-FFJE25TJ.js +3 -0
- package/dist/esm/chunk-FFJE25TJ.js.map +7 -0
- package/dist/esm/chunk-FI32HA4X.js +3 -0
- package/dist/esm/{chunk-YXLDRDHW.js.map → chunk-FI32HA4X.js.map} +3 -3
- package/dist/esm/{chunk-NA237RHQ.js → chunk-FJLYSZV3.js} +1 -1
- package/dist/esm/{chunk-NA237RHQ.js.map → chunk-FJLYSZV3.js.map} +1 -1
- package/dist/esm/{chunk-DNOQ6E3W.js → chunk-FM3GBCX5.js} +3 -2
- package/dist/esm/{chunk-DNOQ6E3W.js.map → chunk-FM3GBCX5.js.map} +1 -1
- package/dist/esm/chunk-G32GSPNO.js +3 -0
- package/dist/esm/chunk-G32GSPNO.js.map +7 -0
- package/dist/esm/{chunk-TBZO22XK.js → chunk-G66WDIIV.js} +3 -2
- package/dist/esm/{chunk-TBZO22XK.js.map → chunk-G66WDIIV.js.map} +1 -1
- package/dist/esm/{chunk-PN3RQFSU.js → chunk-GHUAUFG7.js} +2 -1
- package/dist/esm/{chunk-PN3RQFSU.js.map → chunk-GHUAUFG7.js.map} +1 -1
- package/dist/esm/chunk-GHWEXMF6.js +3 -0
- package/dist/esm/chunk-GHWEXMF6.js.map +7 -0
- package/dist/esm/{chunk-IX5HIHVI.js → chunk-GKDGNPBD.js} +3 -2
- package/dist/esm/{chunk-IX5HIHVI.js.map → chunk-GKDGNPBD.js.map} +3 -3
- package/dist/esm/chunk-GNPTPIL7.js +3 -0
- package/dist/esm/{chunk-ZNDCZM5A.js.map → chunk-GNPTPIL7.js.map} +2 -2
- package/dist/esm/chunk-GPQSC6GL.js +3 -0
- package/dist/esm/chunk-GPQSC6GL.js.map +7 -0
- package/dist/esm/{chunk-THUBY6L2.js → chunk-GZ333J7L.js} +3 -2
- package/dist/esm/{chunk-THUBY6L2.js.map → chunk-GZ333J7L.js.map} +1 -1
- package/dist/esm/chunk-HBWBPBSA.js +3 -0
- package/dist/esm/chunk-HBWBPBSA.js.map +7 -0
- package/dist/esm/chunk-I3SRUPUP.js +3 -0
- package/dist/esm/chunk-I3SRUPUP.js.map +7 -0
- package/dist/esm/{chunk-3XHTJZNP.js → chunk-I6SMGWS5.js} +3 -2
- package/dist/esm/{chunk-3XHTJZNP.js.map → chunk-I6SMGWS5.js.map} +1 -1
- package/dist/esm/chunk-ILWS2JUE.js +3 -0
- package/dist/esm/chunk-ILWS2JUE.js.map +7 -0
- package/dist/esm/{chunk-QWDCLL6R.js → chunk-IN2WND4B.js} +3 -2
- package/dist/esm/{chunk-QWDCLL6R.js.map → chunk-IN2WND4B.js.map} +1 -1
- package/dist/esm/chunk-IO43RGNR.js +3 -0
- package/dist/esm/chunk-IO43RGNR.js.map +7 -0
- package/dist/esm/{chunk-OJQNLROL.js → chunk-IQ2RMFOM.js} +3 -2
- package/dist/esm/{chunk-OJQNLROL.js.map → chunk-IQ2RMFOM.js.map} +2 -2
- package/dist/esm/{chunk-DCNHG6VN.js → chunk-IZIDRDQW.js} +3 -2
- package/dist/esm/{chunk-DCNHG6VN.js.map → chunk-IZIDRDQW.js.map} +1 -1
- package/dist/esm/{chunk-7FTUTUMD.js → chunk-IZXML75Y.js} +2 -2
- package/dist/esm/chunk-J3QIUJ6F.js +2 -0
- package/dist/esm/chunk-JIF77MRB.js +3 -0
- package/dist/esm/chunk-JIF77MRB.js.map +7 -0
- package/dist/esm/{chunk-PBFSBHBS.js → chunk-JUY7CBSL.js} +2 -2
- package/dist/esm/chunk-JZ5Z53MN.js +2 -0
- package/dist/esm/{chunk-YEHM3FZN.js → chunk-JZVLP2VF.js} +3 -2
- package/dist/esm/{chunk-YEHM3FZN.js.map → chunk-JZVLP2VF.js.map} +1 -1
- package/dist/esm/chunk-KNBSG2WA.js +3 -0
- package/dist/esm/chunk-KNBSG2WA.js.map +7 -0
- package/dist/esm/{chunk-IWCFJJBI.js → chunk-KOAWATCI.js} +2 -1
- package/dist/esm/{chunk-IWCFJJBI.js.map → chunk-KOAWATCI.js.map} +1 -1
- package/dist/esm/chunk-KRFXTPEW.js +3 -0
- package/dist/esm/{chunk-63PQNLFJ.js.map → chunk-KRFXTPEW.js.map} +1 -1
- package/dist/esm/chunk-KSYHZCLD.js +3 -0
- package/dist/esm/{chunk-EZYXYLR2.js.map → chunk-KSYHZCLD.js.map} +1 -1
- package/dist/esm/{chunk-VW46DG7H.js → chunk-L4NF3Q2T.js} +3 -2
- package/dist/esm/{chunk-VW46DG7H.js.map → chunk-L4NF3Q2T.js.map} +1 -1
- package/dist/esm/chunk-L54FWKJE.js +3 -0
- package/dist/esm/chunk-L54FWKJE.js.map +7 -0
- package/dist/esm/{chunk-XTDXXQTB.js → chunk-L66IUPDW.js} +3 -2
- package/dist/esm/{chunk-XTDXXQTB.js.map → chunk-L66IUPDW.js.map} +1 -1
- package/dist/esm/chunk-LB2HB4NG.js +3 -0
- package/dist/esm/{chunk-NNZTSXKH.js.map → chunk-LB2HB4NG.js.map} +2 -2
- package/dist/esm/{chunk-VVWYAVHM.js → chunk-LCG3JZ3C.js} +3 -2
- package/dist/esm/{chunk-VVWYAVHM.js.map → chunk-LCG3JZ3C.js.map} +1 -1
- package/dist/esm/chunk-LPLW7OWA.js +3 -0
- package/dist/esm/chunk-LPLW7OWA.js.map +7 -0
- package/dist/esm/chunk-M37GE2TE.js +3 -0
- package/dist/esm/{chunk-UONSKZQT.js.map → chunk-M37GE2TE.js.map} +1 -1
- package/dist/esm/{chunk-5YLKKQFK.js → chunk-MAA6LEE2.js} +2 -1
- package/dist/esm/{chunk-5YLKKQFK.js.map → chunk-MAA6LEE2.js.map} +1 -1
- package/dist/esm/chunk-MXIVYALY.js +3 -0
- package/dist/esm/chunk-MXIVYALY.js.map +7 -0
- package/dist/esm/chunk-N53NJCEM.js +3 -0
- package/dist/esm/chunk-N53NJCEM.js.map +7 -0
- package/dist/esm/{chunk-LXTGEI62.js → chunk-NBVCQQSY.js} +3 -2
- package/dist/esm/{chunk-LXTGEI62.js.map → chunk-NBVCQQSY.js.map} +1 -1
- package/dist/esm/chunk-NG54K6FL.js +2 -0
- package/dist/esm/chunk-NMQGDBLD.js +3 -0
- package/dist/esm/chunk-NMQGDBLD.js.map +7 -0
- package/dist/esm/chunk-OAJ5DARR.js +3 -0
- package/dist/esm/chunk-OAJ5DARR.js.map +7 -0
- package/dist/esm/chunk-OKQAVYW4.js +3 -0
- package/dist/esm/chunk-OKQAVYW4.js.map +7 -0
- package/dist/esm/chunk-PF67GJ5D.js +3 -0
- package/dist/esm/chunk-PF67GJ5D.js.map +7 -0
- package/dist/esm/chunk-PHWT772P.js +3 -0
- package/dist/esm/{chunk-XZQSSRTG.js.map → chunk-PHWT772P.js.map} +1 -1
- package/dist/esm/chunk-PPQ7URZL.js +3 -0
- package/dist/esm/chunk-PPQ7URZL.js.map +7 -0
- package/dist/esm/{chunk-FNAE6HUI.js → chunk-PT45Q47V.js} +3 -2
- package/dist/esm/{chunk-FNAE6HUI.js.map → chunk-PT45Q47V.js.map} +1 -1
- package/dist/esm/{chunk-HCBR74BW.js → chunk-PT4KBXXP.js} +3 -2
- package/dist/esm/{chunk-HCBR74BW.js.map → chunk-PT4KBXXP.js.map} +1 -1
- package/dist/esm/chunk-PZ6Z7WTR.js +3 -0
- package/dist/esm/chunk-PZ6Z7WTR.js.map +7 -0
- package/dist/esm/{chunk-PSPENFPH.js → chunk-PZCQDZVJ.js} +3 -2
- package/dist/esm/{chunk-PSPENFPH.js.map → chunk-PZCQDZVJ.js.map} +1 -1
- package/dist/esm/{chunk-I53SGTKV.js → chunk-QH64BDXO.js} +3 -2
- package/dist/esm/{chunk-I53SGTKV.js.map → chunk-QH64BDXO.js.map} +1 -1
- package/dist/esm/{chunk-LUNWI377.js → chunk-QQY4WFJL.js} +3 -2
- package/dist/esm/{chunk-LUNWI377.js.map → chunk-QQY4WFJL.js.map} +1 -1
- package/dist/esm/{chunk-BE7LMBBC.js → chunk-RIHTVZVJ.js} +3 -2
- package/dist/esm/{chunk-BE7LMBBC.js.map → chunk-RIHTVZVJ.js.map} +1 -1
- package/dist/esm/chunk-RVPLXLRA.js +3 -0
- package/dist/esm/chunk-RVPLXLRA.js.map +7 -0
- package/dist/esm/{chunk-GS2QSZUR.js → chunk-SCIFT27R.js} +2 -1
- package/dist/esm/{chunk-GS2QSZUR.js.map → chunk-SCIFT27R.js.map} +1 -1
- package/dist/esm/chunk-SGJKXIWG.js +3 -0
- package/dist/esm/{chunk-DFGY2NZB.js.map → chunk-SGJKXIWG.js.map} +1 -1
- package/dist/esm/chunk-SHLERRO3.js +3 -0
- package/dist/esm/chunk-SHLERRO3.js.map +7 -0
- package/dist/esm/chunk-SV3CYQY5.js +3 -0
- package/dist/esm/{chunk-LVCUY2OS.js.map → chunk-SV3CYQY5.js.map} +2 -2
- package/dist/esm/chunk-TDT2CNES.js +2 -0
- package/dist/esm/chunk-TDT2CNES.js.map +7 -0
- package/dist/esm/chunk-TGRHRMQI.js +3 -0
- package/dist/esm/chunk-TGRHRMQI.js.map +7 -0
- package/dist/esm/{chunk-HIEGLLY7.js → chunk-TGUWRU7N.js} +2 -1
- package/dist/esm/{chunk-HIEGLLY7.js.map → chunk-TGUWRU7N.js.map} +1 -1
- package/dist/esm/{chunk-7ZOGH5NT.js → chunk-U5GQ3IFS.js} +2 -1
- package/dist/esm/{chunk-7ZOGH5NT.js.map → chunk-U5GQ3IFS.js.map} +1 -1
- package/dist/esm/chunk-UFJGZUKK.js +3 -0
- package/dist/esm/chunk-UFJGZUKK.js.map +7 -0
- package/dist/esm/chunk-UUQGOQ5H.js +3 -0
- package/dist/esm/{chunk-23KT3D2Z.js.map → chunk-UUQGOQ5H.js.map} +3 -3
- package/dist/esm/chunk-UZAS4PYM.js +3 -0
- package/dist/esm/chunk-UZAS4PYM.js.map +7 -0
- package/dist/esm/{chunk-OS3FCYZY.js → chunk-VQPANPMI.js} +2 -1
- package/dist/esm/chunk-VVBSYWUA.js +3 -0
- package/dist/esm/chunk-VVBSYWUA.js.map +7 -0
- package/dist/esm/chunk-WCGQ4IDE.js +3 -0
- package/dist/esm/{chunk-H3IAGAEL.js.map → chunk-WCGQ4IDE.js.map} +1 -1
- package/dist/esm/{chunk-HWQ3NTJP.js → chunk-WEBNIUEX.js} +2 -1
- package/dist/esm/{chunk-HWQ3NTJP.js.map → chunk-WEBNIUEX.js.map} +1 -1
- package/dist/esm/chunk-WH7PQSSG.js +2 -0
- package/dist/esm/{chunk-KL73COYX.js → chunk-WMZLMZHB.js} +2 -1
- package/dist/esm/{chunk-KL73COYX.js.map → chunk-WMZLMZHB.js.map} +1 -1
- package/dist/esm/{chunk-GBQZ4Z2H.js → chunk-WN3WMFAM.js} +3 -2
- package/dist/esm/{chunk-GBQZ4Z2H.js.map → chunk-WN3WMFAM.js.map} +1 -1
- package/dist/esm/{chunk-ETQNRMHU.js → chunk-WT2SYGTU.js} +3 -2
- package/dist/esm/{chunk-ETQNRMHU.js.map → chunk-WT2SYGTU.js.map} +1 -1
- package/dist/esm/{chunk-SUPFDIJL.js → chunk-WTP2KIK3.js} +2 -1
- package/dist/esm/{chunk-SUPFDIJL.js.map → chunk-WTP2KIK3.js.map} +1 -1
- package/dist/esm/{chunk-AGAQC4HH.js → chunk-WUCBFB25.js} +2 -1
- package/dist/esm/{chunk-AGAQC4HH.js.map → chunk-WUCBFB25.js.map} +1 -1
- package/dist/esm/chunk-WZKSLTBH.js +3 -0
- package/dist/esm/{chunk-BJUCBOGU.js.map → chunk-WZKSLTBH.js.map} +1 -1
- package/dist/esm/chunk-X272YV2E.js +3 -0
- package/dist/esm/chunk-X272YV2E.js.map +7 -0
- package/dist/esm/chunk-XH2CRCXR.js +3 -0
- package/dist/esm/chunk-XH2CRCXR.js.map +7 -0
- package/dist/esm/{chunk-KZEZDBE7.js → chunk-XL5OHW6Z.js} +3 -2
- package/dist/esm/{chunk-KZEZDBE7.js.map → chunk-XL5OHW6Z.js.map} +1 -1
- package/dist/esm/chunk-XMHNOIPB.js +3 -0
- package/dist/esm/{chunk-3BUQ7ADW.js.map → chunk-XMHNOIPB.js.map} +1 -1
- package/dist/esm/chunk-XU74PNM2.js +3 -0
- package/dist/esm/chunk-XU74PNM2.js.map +7 -0
- package/dist/esm/{chunk-3J6AUDID.js → chunk-XUCR7L4G.js} +2 -1
- package/dist/esm/{chunk-3J6AUDID.js.map → chunk-XUCR7L4G.js.map} +1 -1
- package/dist/esm/chunk-XVDT6DQZ.js +3 -0
- package/dist/esm/{chunk-TZTUPQYK.js.map → chunk-XVDT6DQZ.js.map} +1 -1
- package/dist/esm/{chunk-2N2AQNJH.js → chunk-Y2DBXOLT.js} +2 -1
- package/dist/esm/{chunk-2N2AQNJH.js.map → chunk-Y2DBXOLT.js.map} +1 -1
- package/dist/esm/chunk-YD2D73LF.js +3 -0
- package/dist/esm/chunk-YD2D73LF.js.map +7 -0
- package/dist/esm/chunk-YIKLO2XL.js +3 -0
- package/dist/esm/chunk-YIKLO2XL.js.map +7 -0
- package/dist/esm/chunk-YNCI5PY6.js +3 -0
- package/dist/esm/chunk-YNCI5PY6.js.map +7 -0
- package/dist/esm/chunk-YOSLXJI5.js +3 -0
- package/dist/esm/chunk-YOSLXJI5.js.map +7 -0
- package/dist/esm/chunk-YVZTQA2L.js +3 -0
- package/dist/esm/chunk-YVZTQA2L.js.map +7 -0
- package/dist/esm/chunk-YWG476GC.js +3 -0
- package/dist/esm/{chunk-MGQ4A2FI.js.map → chunk-YWG476GC.js.map} +1 -1
- package/dist/esm/chunk-YZZMQ457.js +3 -0
- package/dist/esm/{chunk-S6GWR6EZ.js.map → chunk-YZZMQ457.js.map} +1 -1
- package/dist/esm/chunk-Z27REN6T.js +3 -0
- package/dist/esm/chunk-Z27REN6T.js.map +7 -0
- package/dist/esm/{chunk-FVY44PTM.js → chunk-ZFDHZEWN.js} +3 -2
- package/dist/esm/{chunk-FVY44PTM.js.map → chunk-ZFDHZEWN.js.map} +1 -1
- package/dist/esm/chunk-ZPWKWESI.js +3 -0
- package/dist/esm/chunk-ZPWKWESI.js.map +7 -0
- package/dist/esm/components/_internal/base-button.d.ts +11 -1
- package/dist/esm/components/_internal/base-button.d.ts.map +1 -1
- package/dist/esm/components/_internal/base-button.js +2 -1
- package/dist/esm/components/_internal/base-button.props.js +2 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +2 -1
- package/dist/esm/components/_internal/base-menu.props.js +2 -1
- package/dist/esm/components/_internal/base-menu.utils.js +2 -1
- package/dist/esm/components/_internal/base-radio.props.js +2 -1
- package/dist/esm/components/_internal/base-tab-list.props.js +2 -1
- package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts +19 -7
- package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -1
- package/dist/esm/components/_internal/dropdown-menu-drill-down.js +2 -1
- package/dist/esm/components/_internal/menu-context.d.ts +12 -0
- package/dist/esm/components/_internal/menu-context.d.ts.map +1 -1
- package/dist/esm/components/_internal/menu-context.js +2 -1
- package/dist/esm/components/_internal/pane-chrome.d.ts +19 -2
- package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
- package/dist/esm/components/_internal/pane-chrome.js +2 -1
- package/dist/esm/components/_internal/shell-bottom.d.ts +1 -1
- package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-bottom.js +2 -1
- package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-handles.js +2 -1
- package/dist/esm/components/_internal/shell-inspector.d.ts +1 -1
- package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-inspector.js +2 -1
- package/dist/esm/components/_internal/shell-pane.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-pane.js +2 -1
- package/dist/esm/components/_internal/shell-resizable.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-resizable.js +2 -1
- package/dist/esm/components/_internal/shell-resize.js +2 -1
- package/dist/esm/components/_internal/shell-rest.js +2 -1
- package/dist/esm/components/_internal/shell-sidebar.d.ts +1 -1
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-sidebar.js +2 -1
- package/dist/esm/components/_internal/shell-store.d.ts.map +1 -1
- package/dist/esm/components/_internal/shell-store.js +2 -1
- package/dist/esm/components/accessible-icon.js +2 -1
- package/dist/esm/components/accordion.d.ts +2 -2
- package/dist/esm/components/accordion.d.ts.map +1 -1
- package/dist/esm/components/accordion.js +2 -1
- package/dist/esm/components/accordion.props.js +2 -1
- package/dist/esm/components/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/alert-dialog.js +2 -1
- package/dist/esm/components/alert-dialog.props.js +2 -1
- package/dist/esm/components/avatar.d.ts +1 -1
- package/dist/esm/components/avatar.d.ts.map +1 -1
- package/dist/esm/components/avatar.js +2 -1
- package/dist/esm/components/avatar.props.d.ts +8 -0
- package/dist/esm/components/avatar.props.d.ts.map +1 -1
- package/dist/esm/components/avatar.props.js +2 -1
- package/dist/esm/components/blockquote.d.ts +1 -1
- package/dist/esm/components/blockquote.d.ts.map +1 -1
- package/dist/esm/components/blockquote.js +2 -1
- package/dist/esm/components/blockquote.props.js +2 -1
- package/dist/esm/components/box.js +2 -1
- package/dist/esm/components/box.props.js +2 -1
- package/dist/esm/components/button.d.ts.map +1 -1
- package/dist/esm/components/button.js +2 -1
- package/dist/esm/components/button.props.js +2 -1
- package/dist/esm/components/card.js +2 -1
- package/dist/esm/components/card.props.js +2 -1
- package/dist/esm/components/chatbar.d.ts.map +1 -1
- package/dist/esm/components/chatbar.js +2 -1
- package/dist/esm/components/checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.js +2 -1
- package/dist/esm/components/checkbox-group.primitive.d.ts +12 -5
- package/dist/esm/components/checkbox-group.primitive.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.primitive.js +2 -1
- package/dist/esm/components/checkbox-group.props.js +2 -1
- package/dist/esm/components/checkbox.js +2 -1
- package/dist/esm/components/checkbox.props.js +2 -1
- package/dist/esm/components/chip.d.ts.map +1 -1
- package/dist/esm/components/chip.js +2 -1
- package/dist/esm/components/chip.props.js +2 -1
- package/dist/esm/components/code.d.ts.map +1 -1
- package/dist/esm/components/code.js +2 -1
- package/dist/esm/components/code.props.js +2 -1
- package/dist/esm/components/combobox.d.ts.map +1 -1
- package/dist/esm/components/combobox.js +2 -1
- package/dist/esm/components/combobox.props.js +2 -1
- package/dist/esm/components/context-menu.d.ts +1 -2
- package/dist/esm/components/context-menu.d.ts.map +1 -1
- package/dist/esm/components/context-menu.js +2 -1
- package/dist/esm/components/context-menu.props.js +2 -1
- package/dist/esm/components/dialog.d.ts +1 -1
- package/dist/esm/components/dialog.d.ts.map +1 -1
- package/dist/esm/components/dialog.js +2 -1
- package/dist/esm/components/dialog.props.js +2 -1
- package/dist/esm/components/dropdown-menu.d.ts +1 -2
- package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/dropdown-menu.js +2 -1
- package/dist/esm/components/dropdown-menu.props.js +2 -1
- package/dist/esm/components/flex.js +2 -1
- package/dist/esm/components/flex.props.js +2 -1
- package/dist/esm/components/grid.js +2 -1
- package/dist/esm/components/grid.props.js +2 -1
- package/dist/esm/components/heading.d.ts +2 -2
- package/dist/esm/components/heading.d.ts.map +1 -1
- package/dist/esm/components/heading.js +2 -1
- package/dist/esm/components/heading.props.d.ts +1 -1
- package/dist/esm/components/heading.props.js +2 -1
- package/dist/esm/components/icons.d.ts +3 -1
- package/dist/esm/components/icons.d.ts.map +1 -1
- package/dist/esm/components/icons.js +2 -1
- package/dist/esm/components/image.d.ts +9 -2
- package/dist/esm/components/image.d.ts.map +1 -1
- package/dist/esm/components/image.js +2 -1
- package/dist/esm/components/image.props.js +2 -1
- package/dist/esm/components/index.d.ts +2 -2
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +2 -1
- package/dist/esm/components/kbd.js +2 -1
- package/dist/esm/components/kbd.props.js +2 -1
- package/dist/esm/components/link.js +2 -1
- package/dist/esm/components/link.props.js +2 -1
- package/dist/esm/components/message-scroller.d.ts +2 -2
- package/dist/esm/components/message-scroller.d.ts.map +1 -1
- package/dist/esm/components/message-scroller.js +2 -1
- package/dist/esm/components/navbar.d.ts.map +1 -1
- package/dist/esm/components/navbar.js +2 -1
- package/dist/esm/components/navbar.props.js +2 -1
- package/dist/esm/components/notice.d.ts +4 -1
- package/dist/esm/components/notice.d.ts.map +1 -1
- package/dist/esm/components/notice.js +2 -1
- package/dist/esm/components/popover.d.ts +3 -1
- package/dist/esm/components/popover.d.ts.map +1 -1
- package/dist/esm/components/popover.js +2 -1
- package/dist/esm/components/popover.props.js +2 -1
- package/dist/esm/components/portal.js +2 -1
- package/dist/esm/components/progress.d.ts.map +1 -1
- package/dist/esm/components/progress.js +2 -1
- package/dist/esm/components/progress.props.js +2 -1
- package/dist/esm/components/radio-group.js +2 -1
- package/dist/esm/components/radio-group.props.js +2 -1
- package/dist/esm/components/radio.js +2 -1
- package/dist/esm/components/radio.props.js +2 -1
- package/dist/esm/components/reset.js +2 -1
- package/dist/esm/components/schemas/base-button.schema.js +2 -1
- package/dist/esm/components/schemas/button.schema.d.ts +2 -2
- package/dist/esm/components/schemas/button.schema.js +2 -1
- package/dist/esm/components/schemas/index.js +2 -1
- package/dist/esm/components/schemas/index.js.map +1 -1
- package/dist/esm/components/schemas/shell.schema.js +2 -1
- package/dist/esm/components/schemas/toggle.schema.d.ts +1 -1
- package/dist/esm/components/schemas/toggle.schema.js +2 -1
- package/dist/esm/components/scroll-area.d.ts +3 -1
- package/dist/esm/components/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/scroll-area.js +2 -1
- package/dist/esm/components/scroll-area.props.js +2 -1
- package/dist/esm/components/segmented-control.d.ts +3 -1
- package/dist/esm/components/segmented-control.d.ts.map +1 -1
- package/dist/esm/components/segmented-control.js +2 -1
- package/dist/esm/components/segmented-control.props.d.ts +0 -1
- package/dist/esm/components/segmented-control.props.d.ts.map +1 -1
- package/dist/esm/components/segmented-control.props.js +2 -1
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +2 -1
- package/dist/esm/components/select.props.js +2 -1
- package/dist/esm/components/separator.d.ts.map +1 -1
- package/dist/esm/components/separator.js +2 -1
- package/dist/esm/components/separator.props.d.ts +1 -1
- package/dist/esm/components/separator.props.js +2 -1
- package/dist/esm/components/sheet.d.ts +2 -1
- package/dist/esm/components/sheet.d.ts.map +1 -1
- package/dist/esm/components/sheet.js +2 -1
- package/dist/esm/components/shell.context.js +2 -1
- package/dist/esm/components/shell.d.ts +17 -3
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.hooks.js +2 -1
- package/dist/esm/components/shell.js +2 -1
- package/dist/esm/components/shell.types.js +2 -1
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +2 -1
- package/dist/esm/components/slider.d.ts.map +1 -1
- package/dist/esm/components/slider.js +2 -1
- package/dist/esm/components/slider.props.d.ts +0 -2
- package/dist/esm/components/slider.props.d.ts.map +1 -1
- package/dist/esm/components/slider.props.js +2 -1
- package/dist/esm/components/slot.js +2 -1
- package/dist/esm/components/spinner.d.ts.map +1 -1
- package/dist/esm/components/spinner.js +2 -1
- package/dist/esm/components/spinner.props.js +2 -1
- package/dist/esm/components/switch.js +2 -1
- package/dist/esm/components/switch.props.js +2 -1
- package/dist/esm/components/table.d.ts.map +1 -1
- package/dist/esm/components/table.js +2 -1
- package/dist/esm/components/table.props.d.ts +0 -2
- package/dist/esm/components/table.props.d.ts.map +1 -1
- package/dist/esm/components/table.props.js +2 -1
- package/dist/esm/components/tabs.d.ts.map +1 -1
- package/dist/esm/components/tabs.js +2 -1
- package/dist/esm/components/tabs.props.js +2 -1
- package/dist/esm/components/text-area.d.ts.map +1 -1
- package/dist/esm/components/text-area.js +2 -1
- package/dist/esm/components/text-area.props.js +2 -1
- package/dist/esm/components/text-field.d.ts.map +1 -1
- package/dist/esm/components/text-field.js +2 -1
- package/dist/esm/components/text-field.props.js +2 -1
- package/dist/esm/components/text.js +2 -1
- package/dist/esm/components/text.props.js +2 -1
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +2 -1
- package/dist/esm/components/theme.props.js +2 -1
- package/dist/esm/components/toggle.d.ts +3 -2
- package/dist/esm/components/toggle.d.ts.map +1 -1
- package/dist/esm/components/toggle.js +2 -1
- package/dist/esm/components/toolbar.d.ts +83 -8
- package/dist/esm/components/toolbar.d.ts.map +1 -1
- package/dist/esm/components/toolbar.js +2 -1
- package/dist/esm/components/toolbar.props.js +2 -1
- package/dist/esm/components/tooltip.d.ts +13 -2
- package/dist/esm/components/tooltip.d.ts.map +1 -1
- package/dist/esm/components/tooltip.js +2 -1
- package/dist/esm/components/tooltip.props.js +2 -1
- package/dist/esm/components/virtual-menu.d.ts +22 -17
- package/dist/esm/components/virtual-menu.d.ts.map +1 -1
- package/dist/esm/components/virtual-menu.js +2 -1
- package/dist/esm/components/visually-hidden.js +2 -1
- package/dist/esm/helpers/compile-prop-defs.js +1 -1
- package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
- package/dist/esm/helpers/extract-margin-props.js +1 -1
- package/dist/esm/helpers/extract-props.js +1 -1
- package/dist/esm/helpers/font-config.js +1 -1
- package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -1
- package/dist/esm/helpers/get-margin-styles.js +1 -1
- package/dist/esm/helpers/get-matching-gray-color.js +1 -1
- package/dist/esm/helpers/get-responsive-styles.js +1 -1
- package/dist/esm/helpers/get-subtree.js +1 -1
- package/dist/esm/helpers/has-own-property.js +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/inert.js +1 -1
- package/dist/esm/helpers/inert.js.map +1 -1
- package/dist/esm/helpers/is-responsive-object.js +1 -1
- package/dist/esm/helpers/map-prop-values.js +1 -1
- package/dist/esm/helpers/merge-styles.js +1 -1
- package/dist/esm/helpers/normalize-to-px.js +1 -1
- package/dist/esm/helpers/require-react-element.js +1 -1
- package/dist/esm/helpers/theme-size.js +1 -1
- package/dist/esm/helpers/warn-deprecated.js +1 -1
- package/dist/esm/helpers/warn-deprecated.js.map +4 -4
- package/dist/esm/hooks/appearance-script.js +11 -1
- package/dist/esm/hooks/appearance-script.js.map +4 -4
- package/dist/esm/hooks/index.js +2 -1
- package/dist/esm/hooks/use-appearance.d.ts.map +1 -1
- package/dist/esm/hooks/use-appearance.js +2 -1
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts +1 -1
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -1
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js +2 -1
- package/dist/esm/hooks/use-breakpoint.js +2 -1
- package/dist/esm/hooks/use-live-announcer.js +2 -1
- package/dist/esm/hooks/use-prop-synced-state.js +2 -1
- package/dist/esm/hooks/use-scroll-edges.d.ts +4 -2
- package/dist/esm/hooks/use-scroll-edges.d.ts.map +1 -1
- package/dist/esm/hooks/use-scroll-edges.js +2 -1
- package/dist/esm/hooks/use-thumb-sync.js +2 -1
- package/dist/esm/hooks/use-toggle-state.js +2 -1
- package/dist/esm/hooks/use-tooltip-wrapper.js +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/props/as-child.prop.js +1 -1
- package/dist/esm/props/color.prop.js +1 -1
- package/dist/esm/props/emphasis.prop.js +1 -1
- package/dist/esm/props/font-family.prop.js +1 -1
- package/dist/esm/props/gap.props.d.ts +4 -4
- package/dist/esm/props/gap.props.js +1 -1
- package/dist/esm/props/height.props.js +1 -1
- package/dist/esm/props/index.js +1 -1
- package/dist/esm/props/index.js.map +4 -4
- package/dist/esm/props/layout.props.js +1 -1
- package/dist/esm/props/leading-trim.prop.js +1 -1
- package/dist/esm/props/margin.props.js +1 -1
- package/dist/esm/props/padding.props.js +1 -1
- package/dist/esm/props/prop-def.js +1 -1
- package/dist/esm/props/radius.prop.js +1 -1
- package/dist/esm/props/shadow.props.js +1 -1
- package/dist/esm/props/text-align.prop.js +1 -1
- package/dist/esm/props/text-wrap.prop.js +1 -1
- package/dist/esm/props/truncate.prop.js +1 -1
- package/dist/esm/props/weight.prop.js +1 -1
- package/dist/esm/props/width.props.js +1 -1
- package/layout/utilities.css +2 -2
- package/layout.css +2 -2
- package/package.json +3 -7
- package/src/components/_internal/base-button.css +24 -6
- package/src/components/_internal/base-button.props.ts +1 -1
- package/src/components/_internal/base-button.tsx +127 -43
- package/src/components/_internal/base-checkbox.css +23 -0
- package/src/components/_internal/base-menu.css +9 -3
- package/src/components/_internal/base-radio.css +22 -0
- package/src/components/_internal/base-sidebar-menu.css +8 -0
- package/src/components/_internal/base-tab-list.css +5 -0
- package/src/components/_internal/dropdown-menu-drill-down.tsx +45 -26
- package/src/components/_internal/menu-context.tsx +47 -1
- package/src/components/_internal/pane-chrome.tsx +50 -11
- package/src/components/_internal/shell-bottom.tsx +2 -0
- package/src/components/_internal/shell-handles.tsx +10 -1
- package/src/components/_internal/shell-inspector.tsx +3 -0
- package/src/components/_internal/shell-pane.tsx +5 -4
- package/src/components/_internal/shell-resizable.tsx +17 -8
- package/src/components/_internal/shell-sidebar.tsx +3 -0
- package/src/components/_internal/shell-store.tsx +2 -1
- package/src/components/accordion.css +76 -58
- package/src/components/accordion.tsx +12 -42
- package/src/components/alert-dialog.tsx +63 -161
- package/src/components/avatar.css +6 -2
- package/src/components/avatar.props.tsx +6 -0
- package/src/components/avatar.tsx +79 -60
- package/src/components/blockquote.css +2 -2
- package/src/components/blockquote.tsx +8 -9
- package/src/components/button.tsx +12 -5
- package/src/components/card.css +14 -3
- package/src/components/chatbar.css +20 -3
- package/src/components/chatbar.tsx +41 -31
- package/src/components/checkbox-group.css +1 -5
- package/src/components/checkbox-group.primitive.tsx +40 -51
- package/src/components/checkbox-group.tsx +1 -9
- package/src/components/checkbox.css +1 -5
- package/src/components/chip.css +18 -23
- package/src/components/chip.tsx +3 -4
- package/src/components/code.tsx +3 -2
- package/src/components/combobox.tsx +25 -26
- package/src/components/context-menu.tsx +69 -31
- package/src/components/dialog.tsx +59 -160
- package/src/components/dropdown-menu.css +0 -6
- package/src/components/dropdown-menu.tsx +78 -38
- package/src/components/heading.props.tsx +1 -1
- package/src/components/heading.tsx +4 -4
- package/src/components/icons.tsx +11 -1
- package/src/components/image.css +5 -0
- package/src/components/image.tsx +29 -3
- package/src/components/index.tsx +8 -1
- package/src/components/kbd.css +6 -5
- package/src/components/link.css +1 -5
- package/src/components/message-scroller.tsx +56 -45
- package/src/components/navbar.css +9 -1
- package/src/components/navbar.tsx +34 -69
- package/src/components/notice.tsx +6 -3
- package/src/components/popover.css +14 -10
- package/src/components/popover.tsx +13 -11
- package/src/components/progress.css +33 -6
- package/src/components/progress.tsx +8 -3
- package/src/components/scroll-area.css +62 -6
- package/src/components/scroll-area.tsx +49 -3
- package/src/components/segmented-control.css +181 -273
- package/src/components/segmented-control.props.tsx +1 -1
- package/src/components/segmented-control.tsx +98 -42
- package/src/components/select.css +16 -29
- package/src/components/select.tsx +27 -18
- package/src/components/separator.css +8 -1
- package/src/components/separator.props.tsx +1 -1
- package/src/components/separator.tsx +31 -1
- package/src/components/sheet.css +11 -11
- package/src/components/sheet.tsx +76 -141
- package/src/components/shell.css +162 -21
- package/src/components/shell.tsx +47 -9
- package/src/components/sidebar.css +1 -135
- package/src/components/sidebar.tsx +202 -173
- package/src/components/slider.css +90 -21
- package/src/components/slider.props.tsx +2 -2
- package/src/components/slider.tsx +120 -114
- package/src/components/spinner.css +10 -2
- package/src/components/spinner.tsx +15 -3
- package/src/components/switch.css +40 -8
- package/src/components/table.css +5 -1
- package/src/components/table.props.tsx +0 -9
- package/src/components/table.tsx +20 -6
- package/src/components/tabs.css +34 -0
- package/src/components/tabs.tsx +10 -5
- package/src/components/text-area.css +19 -3
- package/src/components/text-area.tsx +20 -16
- package/src/components/text-field.css +51 -36
- package/src/components/text-field.tsx +100 -49
- package/src/components/theme.tsx +14 -44
- package/src/components/toggle.tsx +21 -39
- package/src/components/toolbar.css +34 -0
- package/src/components/toolbar.tsx +459 -23
- package/src/components/tooltip.css +8 -1
- package/src/components/tooltip.tsx +30 -3
- package/src/components/virtual-menu.css +80 -0
- package/src/components/virtual-menu.tsx +209 -95
- package/src/helpers/get-margin-styles.ts +8 -10
- package/src/hooks/use-appearance.ts +32 -19
- package/src/hooks/use-body-pointer-events-cleanup.ts +123 -124
- package/src/hooks/use-scroll-edges.ts +11 -2
- package/src/props/gap.props.ts +4 -4
- package/src/styles/utilities/margin.css +2 -2
- package/src/styles/utilities/text-align.css +8 -0
- package/src/styles/utilities/truncate.css +10 -0
- package/styles.css +2024 -990
- package/utilities.css +43 -2
- package/dist/esm/chunk-23KT3D2Z.js +0 -2
- package/dist/esm/chunk-2E4P5XQL.js +0 -2
- package/dist/esm/chunk-2E4P5XQL.js.map +0 -7
- package/dist/esm/chunk-2KZ4NI3X.js +0 -1
- package/dist/esm/chunk-3BUQ7ADW.js +0 -2
- package/dist/esm/chunk-3JA7SJDT.js +0 -2
- package/dist/esm/chunk-3JA7SJDT.js.map +0 -7
- package/dist/esm/chunk-3KQE2PSJ.js +0 -2
- package/dist/esm/chunk-3KQE2PSJ.js.map +0 -7
- package/dist/esm/chunk-3PTKPDSA.js +0 -2
- package/dist/esm/chunk-3PTKPDSA.js.map +0 -7
- package/dist/esm/chunk-3QZBWH2A.js.map +0 -7
- package/dist/esm/chunk-5BWLY27A.js +0 -2
- package/dist/esm/chunk-5BWLY27A.js.map +0 -7
- package/dist/esm/chunk-5ROQAZ7J.js +0 -2
- package/dist/esm/chunk-5ROQAZ7J.js.map +0 -7
- package/dist/esm/chunk-63PQNLFJ.js +0 -2
- package/dist/esm/chunk-6CK7UTNH.js +0 -2
- package/dist/esm/chunk-6CK7UTNH.js.map +0 -7
- package/dist/esm/chunk-6DDOR73D.js +0 -2
- package/dist/esm/chunk-6DDOR73D.js.map +0 -7
- package/dist/esm/chunk-6DWDNKLS.js +0 -1
- package/dist/esm/chunk-6RK26HIY.js +0 -2
- package/dist/esm/chunk-6RK26HIY.js.map +0 -7
- package/dist/esm/chunk-7CUQMU3T.js +0 -2
- package/dist/esm/chunk-7CUQMU3T.js.map +0 -7
- package/dist/esm/chunk-7ESWH773.js +0 -2
- package/dist/esm/chunk-7ESWH773.js.map +0 -7
- package/dist/esm/chunk-7SS4UUJH.js +0 -2
- package/dist/esm/chunk-7SS4UUJH.js.map +0 -7
- package/dist/esm/chunk-AB3QCCUM.js +0 -2
- package/dist/esm/chunk-AB3QCCUM.js.map +0 -7
- package/dist/esm/chunk-BEP4AH5V.js +0 -2
- package/dist/esm/chunk-BEP4AH5V.js.map +0 -7
- package/dist/esm/chunk-BJUCBOGU.js +0 -2
- package/dist/esm/chunk-BOL3VVSN.js +0 -2
- package/dist/esm/chunk-BOL3VVSN.js.map +0 -7
- package/dist/esm/chunk-CLZW2IDD.js +0 -2
- package/dist/esm/chunk-CLZW2IDD.js.map +0 -7
- package/dist/esm/chunk-DBROSD2J.js +0 -2
- package/dist/esm/chunk-DBROSD2J.js.map +0 -7
- package/dist/esm/chunk-DFGY2NZB.js +0 -2
- package/dist/esm/chunk-DSPYHO3L.js +0 -2
- package/dist/esm/chunk-E2D2VWUI.js +0 -2
- package/dist/esm/chunk-E2D2VWUI.js.map +0 -7
- package/dist/esm/chunk-EMNSA65L.js +0 -2
- package/dist/esm/chunk-EMNSA65L.js.map +0 -7
- package/dist/esm/chunk-EZYXYLR2.js +0 -2
- package/dist/esm/chunk-FDHWAC6W.js +0 -2
- package/dist/esm/chunk-FDHWAC6W.js.map +0 -7
- package/dist/esm/chunk-FFG32ERA.js +0 -5
- package/dist/esm/chunk-FFG32ERA.js.map +0 -7
- package/dist/esm/chunk-FHPHEIYJ.js +0 -2
- package/dist/esm/chunk-FHPHEIYJ.js.map +0 -7
- package/dist/esm/chunk-FJFBM7HW.js +0 -2
- package/dist/esm/chunk-FJFBM7HW.js.map +0 -7
- package/dist/esm/chunk-FYT7TYGS.js +0 -2
- package/dist/esm/chunk-FYT7TYGS.js.map +0 -7
- package/dist/esm/chunk-GLV7VGBH.js +0 -2
- package/dist/esm/chunk-GLV7VGBH.js.map +0 -7
- package/dist/esm/chunk-H3IAGAEL.js +0 -2
- package/dist/esm/chunk-HIKMKGPT.js +0 -2
- package/dist/esm/chunk-HIKMKGPT.js.map +0 -7
- package/dist/esm/chunk-HKPXDQ2B.js +0 -2
- package/dist/esm/chunk-HT7RFHLW.js +0 -2
- package/dist/esm/chunk-HT7RFHLW.js.map +0 -7
- package/dist/esm/chunk-IUER6BNH.js +0 -12
- package/dist/esm/chunk-IUER6BNH.js.map +0 -7
- package/dist/esm/chunk-IVQHRM33.js +0 -2
- package/dist/esm/chunk-IVQHRM33.js.map +0 -7
- package/dist/esm/chunk-JBHRV364.js +0 -2
- package/dist/esm/chunk-KS4U4VPH.js +0 -2
- package/dist/esm/chunk-KS4U4VPH.js.map +0 -7
- package/dist/esm/chunk-KT2CMUS5.js +0 -2
- package/dist/esm/chunk-KT2CMUS5.js.map +0 -7
- package/dist/esm/chunk-L2R62BOB.js +0 -2
- package/dist/esm/chunk-L2R62BOB.js.map +0 -7
- package/dist/esm/chunk-LHIS3UKQ.js +0 -2
- package/dist/esm/chunk-LHIS3UKQ.js.map +0 -7
- package/dist/esm/chunk-LVCUY2OS.js +0 -2
- package/dist/esm/chunk-M7I6ISPL.js +0 -2
- package/dist/esm/chunk-M7I6ISPL.js.map +0 -7
- package/dist/esm/chunk-MGQ4A2FI.js +0 -2
- package/dist/esm/chunk-MHANZINI.js +0 -2
- package/dist/esm/chunk-MHANZINI.js.map +0 -7
- package/dist/esm/chunk-MYYXOFU5.js +0 -1
- package/dist/esm/chunk-NNZTSXKH.js +0 -2
- package/dist/esm/chunk-NQDMTOGB.js +0 -2
- package/dist/esm/chunk-NQDMTOGB.js.map +0 -7
- package/dist/esm/chunk-OA7C34MJ.js +0 -1
- package/dist/esm/chunk-PJR6GRZC.js +0 -2
- package/dist/esm/chunk-PJR6GRZC.js.map +0 -7
- package/dist/esm/chunk-PPZY7PJA.js +0 -2
- package/dist/esm/chunk-PPZY7PJA.js.map +0 -7
- package/dist/esm/chunk-Q4IA622Q.js +0 -2
- package/dist/esm/chunk-Q6MFPATL.js +0 -2
- package/dist/esm/chunk-Q6MFPATL.js.map +0 -7
- package/dist/esm/chunk-QGCXTULQ.js +0 -2
- package/dist/esm/chunk-QGCXTULQ.js.map +0 -7
- package/dist/esm/chunk-QOHJIF25.js +0 -2
- package/dist/esm/chunk-QOHJIF25.js.map +0 -7
- package/dist/esm/chunk-R4XJNQX5.js +0 -2
- package/dist/esm/chunk-R4XJNQX5.js.map +0 -7
- package/dist/esm/chunk-S6GWR6EZ.js +0 -2
- package/dist/esm/chunk-SKOYHBIE.js +0 -2
- package/dist/esm/chunk-STPMPY3X.js +0 -1
- package/dist/esm/chunk-TZTUPQYK.js +0 -2
- package/dist/esm/chunk-UE3HATOA.js +0 -2
- package/dist/esm/chunk-UE3HATOA.js.map +0 -7
- package/dist/esm/chunk-UICSVJ3B.js +0 -1
- package/dist/esm/chunk-UONSKZQT.js +0 -2
- package/dist/esm/chunk-V32EP3S7.js +0 -2
- package/dist/esm/chunk-V32EP3S7.js.map +0 -7
- package/dist/esm/chunk-VPSMETY2.js +0 -2
- package/dist/esm/chunk-VXQQ6KXI.js +0 -2
- package/dist/esm/chunk-VXQQ6KXI.js.map +0 -7
- package/dist/esm/chunk-WOR3JCLX.js +0 -1
- package/dist/esm/chunk-WOR3JCLX.js.map +0 -7
- package/dist/esm/chunk-X4A3XRBY.js +0 -2
- package/dist/esm/chunk-XKSU3NLG.js +0 -2
- package/dist/esm/chunk-XRCMPBAY.js +0 -2
- package/dist/esm/chunk-XRCMPBAY.js.map +0 -7
- package/dist/esm/chunk-XZQSSRTG.js +0 -2
- package/dist/esm/chunk-Y3JYEEFB.js +0 -2
- package/dist/esm/chunk-Y3JYEEFB.js.map +0 -7
- package/dist/esm/chunk-YIK4ACXS.js +0 -2
- package/dist/esm/chunk-YIK4ACXS.js.map +0 -7
- package/dist/esm/chunk-YXLDRDHW.js +0 -2
- package/dist/esm/chunk-YZM54IJE.js +0 -2
- package/dist/esm/chunk-YZM54IJE.js.map +0 -7
- package/dist/esm/chunk-ZEX2DECM.js +0 -2
- package/dist/esm/chunk-ZEX2DECM.js.map +0 -7
- package/dist/esm/chunk-ZJI2IK7C.js +0 -2
- package/dist/esm/chunk-ZJI2IK7C.js.map +0 -7
- package/dist/esm/chunk-ZNDCZM5A.js +0 -2
- /package/dist/esm/{chunk-ELAW7ZUG.js.map → chunk-6FLLFCBU.js.map} +0 -0
- /package/dist/esm/{chunk-2KZ4NI3X.js.map → chunk-A2OMWZI7.js.map} +0 -0
- /package/dist/esm/{chunk-6DWDNKLS.js.map → chunk-AYKOOEZR.js.map} +0 -0
- /package/dist/esm/{chunk-7FTUTUMD.js.map → chunk-IZXML75Y.js.map} +0 -0
- /package/dist/esm/{chunk-MYYXOFU5.js.map → chunk-J3QIUJ6F.js.map} +0 -0
- /package/dist/esm/{chunk-PBFSBHBS.js.map → chunk-JUY7CBSL.js.map} +0 -0
- /package/dist/esm/{chunk-OA7C34MJ.js.map → chunk-JZ5Z53MN.js.map} +0 -0
- /package/dist/esm/{chunk-OS3FCYZY.js.map → chunk-NG54K6FL.js.map} +0 -0
- /package/dist/esm/{chunk-STPMPY3X.js.map → chunk-VQPANPMI.js.map} +0 -0
- /package/dist/esm/{chunk-UICSVJ3B.js.map → chunk-WH7PQSSG.js.map} +0 -0
|
@@ -10,6 +10,30 @@ import { tooltipPropDefs } from './tooltip.props.js';
|
|
|
10
10
|
import type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';
|
|
11
11
|
import type { GetPropDefTypes } from '../props/prop-def.js';
|
|
12
12
|
|
|
13
|
+
/** The rest before a tooltip opens, in milliseconds. */
|
|
14
|
+
const TOOLTIP_DELAY = 200;
|
|
15
|
+
|
|
16
|
+
/** True inside a `TooltipProvider`, so a Tooltip knows it need not bring its own. */
|
|
17
|
+
const TooltipProviderContext = React.createContext(false);
|
|
18
|
+
|
|
19
|
+
interface TooltipProviderProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider> {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Groups the tooltips inside it: the first one waits `delayDuration` (200ms), and the next ones
|
|
23
|
+
* open at once while the pointer moves between them. Put it once near the root of the app.
|
|
24
|
+
* A Tooltip outside one still works, with the same delay, but each one waits on its own.
|
|
25
|
+
*/
|
|
26
|
+
function TooltipProvider({ delayDuration = TOOLTIP_DELAY, children, ...props }: TooltipProviderProps) {
|
|
27
|
+
return (
|
|
28
|
+
<TooltipProviderContext.Provider value={true}>
|
|
29
|
+
<TooltipPrimitive.Provider delayDuration={delayDuration} {...props}>
|
|
30
|
+
{children}
|
|
31
|
+
</TooltipPrimitive.Provider>
|
|
32
|
+
</TooltipProviderContext.Provider>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
TooltipProvider.displayName = 'TooltipProvider';
|
|
36
|
+
|
|
13
37
|
type TooltipElement = React.ElementRef<typeof TooltipPrimitive.Content>;
|
|
14
38
|
type TooltipOwnProps = GetPropDefTypes<typeof tooltipPropDefs>;
|
|
15
39
|
interface TooltipProps
|
|
@@ -34,7 +58,8 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
|
|
|
34
58
|
...tooltipContentProps
|
|
35
59
|
} = extractProps(props, tooltipPropDefs);
|
|
36
60
|
const rootProps = { open, defaultOpen, onOpenChange, delayDuration, disableHoverableContent };
|
|
37
|
-
|
|
61
|
+
const hasProvider = React.useContext(TooltipProviderContext);
|
|
62
|
+
const tooltip = (
|
|
38
63
|
<TooltipPrimitive.Root {...rootProps}>
|
|
39
64
|
<TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>
|
|
40
65
|
<TooltipPrimitive.Portal container={container} forceMount={forceMount}>
|
|
@@ -56,8 +81,10 @@ const Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwarded
|
|
|
56
81
|
</TooltipPrimitive.Portal>
|
|
57
82
|
</TooltipPrimitive.Root>
|
|
58
83
|
);
|
|
84
|
+
// Radix needs a provider above every tooltip. Outside a TooltipProvider, bring one.
|
|
85
|
+
return hasProvider ? tooltip : <TooltipPrimitive.Provider delayDuration={TOOLTIP_DELAY}>{tooltip}</TooltipPrimitive.Provider>;
|
|
59
86
|
});
|
|
60
87
|
Tooltip.displayName = 'Tooltip';
|
|
61
88
|
|
|
62
|
-
export { Tooltip };
|
|
63
|
-
export type { TooltipProps };
|
|
89
|
+
export { Tooltip, TooltipProvider };
|
|
90
|
+
export type { TooltipProps, TooltipProviderProps };
|
|
@@ -47,3 +47,83 @@
|
|
|
47
47
|
/* - cursor, user-select */
|
|
48
48
|
/* - transition */
|
|
49
49
|
}
|
|
50
|
+
|
|
51
|
+
/*
|
|
52
|
+
* On its own (in a Popover, a panel), the list is not inside a menu surface, so it sets the
|
|
53
|
+
* menu row tokens itself at its `size`. The class is only added outside a menu.
|
|
54
|
+
*/
|
|
55
|
+
.kui-VirtualMenuRoot:where(.kui-r-size-1, .kui-r-size-2, .kui-r-size-3, .kui-r-size-4) {
|
|
56
|
+
--base-menu-item-height: max(24px, calc(var(--base-menu-line-height) + 2 * var(--base-menu-item-padding-y)));
|
|
57
|
+
--base-menu-item-padding-x: calc(
|
|
58
|
+
var(--base-menu-item-px) + min(var(--radius-full, 0px), var(--base-menu-item-px-pill) - var(--base-menu-item-px))
|
|
59
|
+
);
|
|
60
|
+
--base-menu-item-padding-left: var(--base-menu-item-padding-x);
|
|
61
|
+
--base-menu-item-padding-right: var(--base-menu-item-padding-x);
|
|
62
|
+
--base-menu-content-padding: 0px;
|
|
63
|
+
|
|
64
|
+
& :where(.kui-BaseMenuItem[data-highlighted]) {
|
|
65
|
+
background-color: var(--accent-4);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@media (prefers-contrast: more) {
|
|
69
|
+
& :where(.kui-BaseMenuItem[data-highlighted]) {
|
|
70
|
+
background-color: var(--accent-solid);
|
|
71
|
+
color: var(--accent-solid-contrast);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@media (forced-colors: active) {
|
|
76
|
+
& :where(.kui-BaseMenuItem[data-highlighted]) {
|
|
77
|
+
background-color: Highlight;
|
|
78
|
+
color: HighlightText;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.kui-VirtualMenuRoot:where(.kui-r-size-1) {
|
|
84
|
+
--base-menu-item-padding-y: var(--row-inset-1);
|
|
85
|
+
--base-menu-item-px: var(--control-px-1);
|
|
86
|
+
--base-menu-item-px-pill: var(--control-px-pill-1);
|
|
87
|
+
--base-menu-item-gap: var(--control-gap-1);
|
|
88
|
+
--base-menu-item-radius: var(--radius-row-1);
|
|
89
|
+
--base-menu-icon-size: var(--icon-size-1);
|
|
90
|
+
--base-menu-font-size: var(--font-size-1);
|
|
91
|
+
--base-menu-line-height: var(--line-height-1);
|
|
92
|
+
--base-menu-letter-spacing: var(--letter-spacing-1);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.kui-VirtualMenuRoot:where(.kui-r-size-2) {
|
|
96
|
+
--base-menu-item-padding-y: var(--row-inset-2);
|
|
97
|
+
--base-menu-item-px: var(--control-px-2);
|
|
98
|
+
--base-menu-item-px-pill: var(--control-px-pill-2);
|
|
99
|
+
--base-menu-item-gap: var(--control-gap-2);
|
|
100
|
+
--base-menu-item-radius: var(--radius-row-2);
|
|
101
|
+
--base-menu-icon-size: var(--icon-size-2);
|
|
102
|
+
--base-menu-font-size: var(--font-size-2);
|
|
103
|
+
--base-menu-line-height: var(--line-height-2);
|
|
104
|
+
--base-menu-letter-spacing: var(--letter-spacing-2);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.kui-VirtualMenuRoot:where(.kui-r-size-3) {
|
|
108
|
+
--base-menu-item-padding-y: var(--row-inset-3);
|
|
109
|
+
--base-menu-item-px: var(--control-px-3);
|
|
110
|
+
--base-menu-item-px-pill: var(--control-px-pill-3);
|
|
111
|
+
--base-menu-item-gap: var(--control-gap-3);
|
|
112
|
+
--base-menu-item-radius: var(--radius-row-3);
|
|
113
|
+
--base-menu-icon-size: var(--icon-size-3);
|
|
114
|
+
--base-menu-font-size: var(--font-size-3);
|
|
115
|
+
--base-menu-line-height: var(--line-height-3);
|
|
116
|
+
--base-menu-letter-spacing: var(--letter-spacing-3);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.kui-VirtualMenuRoot:where(.kui-r-size-4) {
|
|
120
|
+
--base-menu-item-padding-y: var(--row-inset-4);
|
|
121
|
+
--base-menu-item-px: var(--control-px-4);
|
|
122
|
+
--base-menu-item-px-pill: var(--control-px-pill-4);
|
|
123
|
+
--base-menu-item-gap: var(--control-gap-4);
|
|
124
|
+
--base-menu-item-radius: var(--radius-row-4);
|
|
125
|
+
--base-menu-icon-size: var(--icon-size-4);
|
|
126
|
+
--base-menu-font-size: var(--font-size-4);
|
|
127
|
+
--base-menu-line-height: var(--line-height-4);
|
|
128
|
+
--base-menu-letter-spacing: var(--letter-spacing-4);
|
|
129
|
+
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
5
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
6
|
-
import {
|
|
6
|
+
import { useLayoutEffect } from 'radix-ui/internal';
|
|
7
|
+
import { useMenuContext, useMenuClose, getMenuItemHeight } from './_internal/menu-context.js';
|
|
7
8
|
|
|
8
9
|
import type { MenuSize } from './_internal/menu-context.js';
|
|
9
10
|
|
|
@@ -55,37 +56,58 @@ interface VirtualMenuRenderItemProps<T> {
|
|
|
55
56
|
'data-highlighted': true | undefined;
|
|
56
57
|
/** Data attribute for event delegation */
|
|
57
58
|
'data-index': number;
|
|
59
|
+
/** Number of items in the whole list, since only some rows are mounted */
|
|
60
|
+
'aria-setsize': number;
|
|
61
|
+
/** Position of this row in the whole list, from 1 */
|
|
62
|
+
'aria-posinset': number;
|
|
58
63
|
/** Mouse enter handler */
|
|
59
64
|
onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
|
|
60
65
|
/** Mouse leave handler */
|
|
61
|
-
onMouseLeave: () => void;
|
|
66
|
+
onMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
|
|
62
67
|
/** Click handler */
|
|
63
68
|
onClick: (e: React.MouseEvent<HTMLElement>) => void;
|
|
64
69
|
/** Keyboard handler for Enter/Space activation */
|
|
65
70
|
onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
|
|
73
|
+
/** How rows are drawn: one of `itemLabel` or `renderItem` is required. */
|
|
74
|
+
type VirtualMenuRowProps<T> =
|
|
75
|
+
| {
|
|
76
|
+
/**
|
|
77
|
+
* Simple label accessor for basic text items.
|
|
78
|
+
* Can be a property key or a function.
|
|
79
|
+
* @example
|
|
80
|
+
* itemLabel="name"
|
|
81
|
+
* itemLabel={(item) => item.name}
|
|
82
|
+
*/
|
|
83
|
+
itemLabel: keyof T | ((item: T) => React.ReactNode);
|
|
84
|
+
renderItem?: undefined;
|
|
85
|
+
}
|
|
86
|
+
| {
|
|
87
|
+
itemLabel?: undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Custom component for rendering items.
|
|
90
|
+
* Must be memoized (React.memo) for optimal performance.
|
|
91
|
+
* @example
|
|
92
|
+
* const MyItem = React.memo(({ item, ...props }) => (
|
|
93
|
+
* <VirtualMenu.Item {...props}>{item.name}</VirtualMenu.Item>
|
|
94
|
+
* ));
|
|
95
|
+
* <VirtualMenu items={items} renderItem={MyItem} />
|
|
96
|
+
*/
|
|
97
|
+
renderItem: React.ComponentType<VirtualMenuRenderItemProps<T>>;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/** Attributes of the list element that pass through, such as `id`, `aria-labelledby` or `data-*`. */
|
|
101
|
+
type VirtualMenuDivProps = Omit<
|
|
102
|
+
React.ComponentPropsWithoutRef<'div'>,
|
|
103
|
+
'children' | 'onSelect' | 'role' | 'tabIndex' | 'aria-activedescendant'
|
|
104
|
+
>;
|
|
105
|
+
|
|
106
|
+
type VirtualMenuProps<T> = VirtualMenuDivProps & VirtualMenuRowProps<T> & VirtualMenuOwnProps<T>;
|
|
107
|
+
|
|
108
|
+
interface VirtualMenuOwnProps<T> {
|
|
69
109
|
/** Array of items to render */
|
|
70
110
|
items: T[];
|
|
71
|
-
/**
|
|
72
|
-
* Simple label accessor for basic text items.
|
|
73
|
-
* Can be a property key or a function.
|
|
74
|
-
* @example
|
|
75
|
-
* itemLabel="name"
|
|
76
|
-
* itemLabel={(item) => item.name}
|
|
77
|
-
*/
|
|
78
|
-
itemLabel?: keyof T | ((item: T) => React.ReactNode);
|
|
79
|
-
/**
|
|
80
|
-
* Custom component for rendering items.
|
|
81
|
-
* Must be memoized (React.memo) for optimal performance.
|
|
82
|
-
* @example
|
|
83
|
-
* const MyItem = React.memo(({ item, ...props }) => (
|
|
84
|
-
* <VirtualMenu.Item {...props}>{item.name}</VirtualMenu.Item>
|
|
85
|
-
* ));
|
|
86
|
-
* <VirtualMenu items={items} renderItem={MyItem} />
|
|
87
|
-
*/
|
|
88
|
-
renderItem?: React.ComponentType<VirtualMenuRenderItemProps<T>>;
|
|
89
111
|
/**
|
|
90
112
|
* Menu size - controls item height.
|
|
91
113
|
* Automatically inherited from parent DropdownMenu.Content/ContextMenu.Content.
|
|
@@ -104,18 +126,24 @@ interface VirtualMenuProps<T> {
|
|
|
104
126
|
overscan?: number;
|
|
105
127
|
/** Callback when an item is selected */
|
|
106
128
|
onSelect?: (item: T, index: number) => void;
|
|
107
|
-
/** Additional class name */
|
|
108
|
-
className?: string;
|
|
109
|
-
/** Additional styles */
|
|
110
|
-
style?: React.CSSProperties;
|
|
111
|
-
/** Accessible label for the menu */
|
|
112
|
-
'aria-label'?: string;
|
|
113
129
|
}
|
|
114
130
|
|
|
115
131
|
// ============================================================================
|
|
116
132
|
// Internal Memoized Item Component
|
|
117
133
|
// ============================================================================
|
|
118
134
|
|
|
135
|
+
/**
|
|
136
|
+
* Rows get a new style object every render, so style is compared by the two values the
|
|
137
|
+
* list sets. Every other prop is compared shallowly, so aria-*, data-* and handlers update.
|
|
138
|
+
*/
|
|
139
|
+
function areRowPropsEqual<P extends { style?: React.CSSProperties }>(prev: P, next: P) {
|
|
140
|
+
if (prev.style?.height !== next.style?.height) return false;
|
|
141
|
+
if (prev.style?.transform !== next.style?.transform) return false;
|
|
142
|
+
const prevKeys = Object.keys(prev) as (keyof P)[];
|
|
143
|
+
if (prevKeys.length !== Object.keys(next).length) return false;
|
|
144
|
+
return prevKeys.every((key) => key === 'style' || Object.is(prev[key], next[key]));
|
|
145
|
+
}
|
|
146
|
+
|
|
119
147
|
interface SimpleItemProps {
|
|
120
148
|
label: React.ReactNode;
|
|
121
149
|
isHighlighted: boolean;
|
|
@@ -124,8 +152,10 @@ interface SimpleItemProps {
|
|
|
124
152
|
tabIndex: number;
|
|
125
153
|
'data-highlighted': true | undefined;
|
|
126
154
|
'data-index': number;
|
|
155
|
+
'aria-setsize': number;
|
|
156
|
+
'aria-posinset': number;
|
|
127
157
|
onMouseEnter: (e: React.MouseEvent<HTMLElement>) => void;
|
|
128
|
-
onMouseLeave: () => void;
|
|
158
|
+
onMouseLeave: (e: React.MouseEvent<HTMLElement>) => void;
|
|
129
159
|
onClick: (e: React.MouseEvent<HTMLElement>) => void;
|
|
130
160
|
onKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
131
161
|
}
|
|
@@ -139,6 +169,8 @@ const SimpleItem = React.memo(
|
|
|
139
169
|
tabIndex,
|
|
140
170
|
'data-highlighted': dataHighlighted,
|
|
141
171
|
'data-index': dataIndex,
|
|
172
|
+
'aria-setsize': setSize,
|
|
173
|
+
'aria-posinset': posInSet,
|
|
142
174
|
onMouseEnter,
|
|
143
175
|
onMouseLeave,
|
|
144
176
|
onClick,
|
|
@@ -153,6 +185,8 @@ const SimpleItem = React.memo(
|
|
|
153
185
|
tabIndex={tabIndex}
|
|
154
186
|
data-highlighted={dataHighlighted}
|
|
155
187
|
data-index={dataIndex}
|
|
188
|
+
aria-setsize={setSize}
|
|
189
|
+
aria-posinset={posInSet}
|
|
156
190
|
onMouseEnter={onMouseEnter}
|
|
157
191
|
onMouseLeave={onMouseLeave}
|
|
158
192
|
onClick={onClick}
|
|
@@ -162,47 +196,84 @@ const SimpleItem = React.memo(
|
|
|
162
196
|
</div>
|
|
163
197
|
);
|
|
164
198
|
},
|
|
165
|
-
|
|
166
|
-
// Custom comparison - only re-render if these change
|
|
167
|
-
if (prev.label !== next.label) return false;
|
|
168
|
-
if (prev['data-highlighted'] !== next['data-highlighted']) return false;
|
|
169
|
-
if (prev.style.height !== next.style.height) return false;
|
|
170
|
-
if (prev.style.transform !== next.style.transform) return false;
|
|
171
|
-
if (prev.tabIndex !== next.tabIndex) return false;
|
|
172
|
-
if (prev.id !== next.id) return false;
|
|
173
|
-
// Event handlers are stable, skip comparison
|
|
174
|
-
return true;
|
|
175
|
-
},
|
|
199
|
+
areRowPropsEqual,
|
|
176
200
|
);
|
|
177
201
|
|
|
178
202
|
// ============================================================================
|
|
179
203
|
// VirtualMenu Component
|
|
180
204
|
// ============================================================================
|
|
181
205
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
206
|
+
/**
|
|
207
|
+
* Measures the row height the menu's CSS draws (--base-menu-item-height), so rows follow
|
|
208
|
+
* the theme scale instead of the fixed 100% table. Returns undefined until measured.
|
|
209
|
+
*/
|
|
210
|
+
function useMeasuredRowHeight(
|
|
211
|
+
rootRef: React.RefObject<HTMLDivElement | null>,
|
|
212
|
+
enabled: boolean,
|
|
213
|
+
size: MenuSize | undefined,
|
|
214
|
+
) {
|
|
215
|
+
const [height, setHeight] = React.useState<number | undefined>(undefined);
|
|
216
|
+
useLayoutEffect(() => {
|
|
217
|
+
const root = rootRef.current;
|
|
218
|
+
if (!enabled || !root) return;
|
|
219
|
+
const probe = document.createElement('div');
|
|
220
|
+
probe.className = 'kui-reset kui-BaseMenuItem kui-VirtualMenuItem';
|
|
221
|
+
probe.setAttribute('aria-hidden', 'true');
|
|
222
|
+
probe.style.visibility = 'hidden';
|
|
223
|
+
probe.textContent = '\u00a0';
|
|
224
|
+
root.appendChild(probe);
|
|
225
|
+
const measured = probe.getBoundingClientRect().height;
|
|
226
|
+
probe.remove();
|
|
227
|
+
setHeight(measured > 0 ? measured : undefined);
|
|
228
|
+
}, [rootRef, enabled, size]);
|
|
229
|
+
return enabled ? height : undefined;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
function VirtualMenuRootInner<T>(
|
|
233
|
+
{
|
|
234
|
+
items,
|
|
235
|
+
itemLabel,
|
|
236
|
+
renderItem: RenderItem,
|
|
237
|
+
size: sizeProp,
|
|
238
|
+
estimatedItemSize: estimatedItemSizeProp,
|
|
239
|
+
overscan = 5,
|
|
240
|
+
onSelect,
|
|
241
|
+
className,
|
|
242
|
+
style,
|
|
243
|
+
onKeyDown,
|
|
244
|
+
onFocus,
|
|
245
|
+
...rootProps
|
|
246
|
+
}: VirtualMenuProps<T>,
|
|
247
|
+
forwardedRef: React.ForwardedRef<HTMLDivElement>,
|
|
248
|
+
) {
|
|
194
249
|
const menuId = React.useId();
|
|
195
250
|
const parentRef = React.useRef<HTMLDivElement>(null);
|
|
196
251
|
const [highlightedIndex, setHighlightedIndex] = React.useState<number>(-1);
|
|
197
252
|
const { isInsideMenu, size: contextSize, itemHeight: contextItemHeight } = useMenuContext();
|
|
253
|
+
const closeMenu = useMenuClose();
|
|
254
|
+
|
|
255
|
+
const setRootRef = React.useCallback(
|
|
256
|
+
(node: HTMLDivElement | null) => {
|
|
257
|
+
parentRef.current = node;
|
|
258
|
+
if (typeof forwardedRef === 'function') forwardedRef(node);
|
|
259
|
+
else if (forwardedRef) forwardedRef.current = node;
|
|
260
|
+
},
|
|
261
|
+
[forwardedRef],
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
// Inside a menu, the CSS row height is measured so it tracks the theme scale.
|
|
265
|
+
const measuredItemHeight = useMeasuredRowHeight(
|
|
266
|
+
parentRef,
|
|
267
|
+
isInsideMenu && sizeProp == null && estimatedItemSizeProp == null,
|
|
268
|
+
contextSize,
|
|
269
|
+
);
|
|
198
270
|
|
|
199
|
-
// Resolve item height: explicit prop > own size > parent menu > default size '2'.
|
|
200
|
-
// Heights follow the theme scaling, like the --base-menu-item-height token.
|
|
271
|
+
// Resolve item height: explicit prop > own size > measured CSS row > parent menu > default size '2'.
|
|
201
272
|
const estimatedItemSize =
|
|
202
273
|
estimatedItemSizeProp ??
|
|
203
274
|
(sizeProp
|
|
204
275
|
? getMenuItemHeight(sizeProp)
|
|
205
|
-
: (contextItemHeight ?? getMenuItemHeight(contextSize ?? '2')));
|
|
276
|
+
: (measuredItemHeight ?? contextItemHeight ?? getMenuItemHeight(contextSize ?? '2')));
|
|
206
277
|
|
|
207
278
|
// Validate props
|
|
208
279
|
if (!itemLabel && !RenderItem) {
|
|
@@ -241,11 +312,45 @@ function VirtualMenuRoot<T>({
|
|
|
241
312
|
|
|
242
313
|
const virtualItems = virtualizer.getVirtualItems();
|
|
243
314
|
|
|
315
|
+
// Re-measure cached rows when the resolved row height changes.
|
|
316
|
+
useLayoutEffect(() => {
|
|
317
|
+
virtualizer.measure();
|
|
318
|
+
}, [virtualizer, estimatedItemSize]);
|
|
319
|
+
|
|
320
|
+
// Inside a menu, the menu focuses its own content on open (and a submenu on keyboard
|
|
321
|
+
// open). Hand that focus to the list so arrow keys reach the rows.
|
|
322
|
+
React.useEffect(() => {
|
|
323
|
+
const root = parentRef.current;
|
|
324
|
+
if (!isInsideMenu || !root) return;
|
|
325
|
+
const content = root.closest<HTMLElement>('[data-radix-menu-content]');
|
|
326
|
+
if (!content) return;
|
|
327
|
+
const handleFocusIn = (event: FocusEvent) => {
|
|
328
|
+
if (event.target === content) root.focus({ preventScroll: true });
|
|
329
|
+
};
|
|
330
|
+
content.addEventListener('focusin', handleFocusIn);
|
|
331
|
+
if (document.activeElement === content) root.focus({ preventScroll: true });
|
|
332
|
+
return () => content.removeEventListener('focusin', handleFocusIn);
|
|
333
|
+
}, [isInsideMenu]);
|
|
334
|
+
|
|
244
335
|
// Refs for stable handler references
|
|
336
|
+
const onKeyDownRef = React.useRef(onKeyDown);
|
|
337
|
+
const onFocusRef = React.useRef(onFocus);
|
|
338
|
+
onKeyDownRef.current = onKeyDown;
|
|
339
|
+
onFocusRef.current = onFocus;
|
|
245
340
|
const itemsRef = React.useRef(items);
|
|
246
341
|
const onSelectRef = React.useRef(onSelect);
|
|
342
|
+
const closeMenuRef = React.useRef(closeMenu);
|
|
247
343
|
itemsRef.current = items;
|
|
248
344
|
onSelectRef.current = onSelect;
|
|
345
|
+
closeMenuRef.current = closeMenu;
|
|
346
|
+
|
|
347
|
+
// Choosing a row calls onSelect, then closes the parent menu like a menu item does.
|
|
348
|
+
const selectIndex = React.useCallback((idx: number) => {
|
|
349
|
+
const currentItems = itemsRef.current;
|
|
350
|
+
if (idx < 0 || idx >= currentItems.length) return;
|
|
351
|
+
onSelectRef.current?.(currentItems[idx], idx);
|
|
352
|
+
closeMenuRef.current?.();
|
|
353
|
+
}, []);
|
|
249
354
|
|
|
250
355
|
const scrollToIndexRef = React.useRef(virtualizer.scrollToIndex);
|
|
251
356
|
scrollToIndexRef.current = virtualizer.scrollToIndex;
|
|
@@ -263,34 +368,29 @@ function VirtualMenuRoot<T>({
|
|
|
263
368
|
|
|
264
369
|
const handleItemClick = React.useCallback((e: React.MouseEvent<HTMLElement>) => {
|
|
265
370
|
const index = e.currentTarget.dataset.index;
|
|
266
|
-
if (index != null)
|
|
267
|
-
|
|
268
|
-
const currentItems = itemsRef.current;
|
|
269
|
-
if (idx >= 0 && idx < currentItems.length) {
|
|
270
|
-
onSelectRef.current?.(currentItems[idx], idx);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
}, []);
|
|
371
|
+
if (index != null) selectIndex(Number(index));
|
|
372
|
+
}, [selectIndex]);
|
|
274
373
|
|
|
275
|
-
|
|
374
|
+
// Leaving a row clears its highlight, as a Radix item does on pointer leave.
|
|
375
|
+
const handleItemMouseLeave = React.useCallback((e: React.MouseEvent<HTMLElement>) => {
|
|
376
|
+
const index = Number(e.currentTarget.dataset.index);
|
|
377
|
+
setHighlightedIndex((current) => (current === index ? -1 : current));
|
|
378
|
+
}, []);
|
|
276
379
|
|
|
277
380
|
// Item-level keyboard handler for Enter/Space activation (satisfies a11y lint rule)
|
|
278
381
|
const handleItemKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLElement>) => {
|
|
279
382
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
280
383
|
e.preventDefault();
|
|
384
|
+
e.stopPropagation();
|
|
281
385
|
const index = e.currentTarget.dataset.index;
|
|
282
|
-
if (index != null)
|
|
283
|
-
const idx = Number(index);
|
|
284
|
-
const currentItems = itemsRef.current;
|
|
285
|
-
if (idx >= 0 && idx < currentItems.length) {
|
|
286
|
-
onSelectRef.current?.(currentItems[idx], idx);
|
|
287
|
-
}
|
|
288
|
-
}
|
|
386
|
+
if (index != null) selectIndex(Number(index));
|
|
289
387
|
}
|
|
290
|
-
}, []);
|
|
388
|
+
}, [selectIndex]);
|
|
291
389
|
|
|
292
390
|
// Keyboard navigation
|
|
293
|
-
const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {
|
|
391
|
+
const handleKeyDown = React.useCallback((e: React.KeyboardEvent<HTMLDivElement>) => {
|
|
392
|
+
onKeyDownRef.current?.(e);
|
|
393
|
+
if (e.defaultPrevented) return;
|
|
294
394
|
const currentItems = itemsRef.current;
|
|
295
395
|
const currentHighlightedIndex = highlightedIndexRef.current;
|
|
296
396
|
|
|
@@ -327,20 +427,33 @@ function VirtualMenuRoot<T>({
|
|
|
327
427
|
case 'Enter':
|
|
328
428
|
case ' ': {
|
|
329
429
|
e.preventDefault();
|
|
330
|
-
|
|
331
|
-
onSelectRef.current?.(currentItems[currentHighlightedIndex], currentHighlightedIndex);
|
|
332
|
-
}
|
|
430
|
+
selectIndex(currentHighlightedIndex);
|
|
333
431
|
break;
|
|
334
432
|
}
|
|
335
433
|
case 'Tab': {
|
|
336
|
-
|
|
434
|
+
// Inside a menu, Tab does not leave it. On its own, the list is one tab stop.
|
|
435
|
+
if (isInsideMenu) e.preventDefault();
|
|
337
436
|
break;
|
|
338
437
|
}
|
|
339
438
|
case 'Escape': {
|
|
340
|
-
|
|
439
|
+
// Inside a menu, the menu handles Escape and returns focus to its trigger.
|
|
440
|
+
if (!isInsideMenu) e.currentTarget.blur();
|
|
341
441
|
break;
|
|
342
442
|
}
|
|
443
|
+
default: {
|
|
444
|
+
// The parent menu's typeahead would move focus off the list onto one of its items.
|
|
445
|
+
if (isInsideMenu && e.key.length === 1 && !e.ctrlKey && !e.altKey && !e.metaKey) {
|
|
446
|
+
e.stopPropagation();
|
|
447
|
+
}
|
|
448
|
+
}
|
|
343
449
|
}
|
|
450
|
+
}, [selectIndex, isInsideMenu]);
|
|
451
|
+
|
|
452
|
+
// Keyboard focus on the list highlights the first row when none is highlighted.
|
|
453
|
+
const handleFocus = React.useCallback((e: React.FocusEvent<HTMLDivElement>) => {
|
|
454
|
+
onFocusRef.current?.(e);
|
|
455
|
+
if (e.target !== e.currentTarget) return;
|
|
456
|
+
if (highlightedIndexRef.current < 0 && itemsRef.current.length > 0) setHighlightedIndex(0);
|
|
344
457
|
}, []);
|
|
345
458
|
|
|
346
459
|
// Item ID generator
|
|
@@ -371,13 +484,19 @@ function VirtualMenuRoot<T>({
|
|
|
371
484
|
|
|
372
485
|
return (
|
|
373
486
|
<div
|
|
374
|
-
|
|
487
|
+
{...rootProps}
|
|
488
|
+
ref={setRootRef}
|
|
375
489
|
role={isInsideMenu ? 'group' : 'menu'}
|
|
376
|
-
aria-label={ariaLabel}
|
|
377
490
|
aria-activedescendant={safeHighlightedIndex >= 0 ? getItemId(safeHighlightedIndex) : undefined}
|
|
378
491
|
tabIndex={0}
|
|
379
492
|
onKeyDown={handleKeyDown}
|
|
380
|
-
|
|
493
|
+
onFocus={handleFocus}
|
|
494
|
+
className={classNames(
|
|
495
|
+
'kui-VirtualMenuRoot',
|
|
496
|
+
// On its own, the list draws menu rows at its own size (virtual-menu.css).
|
|
497
|
+
!isInsideMenu && `kui-r-size-${sizeProp ?? '2'}`,
|
|
498
|
+
className,
|
|
499
|
+
)}
|
|
381
500
|
style={rootStyle}
|
|
382
501
|
>
|
|
383
502
|
<div className="kui-VirtualMenuViewport" style={viewportStyle}>
|
|
@@ -395,11 +514,14 @@ function VirtualMenuRoot<T>({
|
|
|
395
514
|
id: getItemId(index),
|
|
396
515
|
isHighlighted,
|
|
397
516
|
style: itemStyle,
|
|
398
|
-
|
|
517
|
+
// The list holds focus and points aria-activedescendant at the row, so it is the only tab stop.
|
|
518
|
+
tabIndex: -1,
|
|
399
519
|
'data-highlighted': isHighlighted ? true as const : undefined,
|
|
400
520
|
'data-index': index,
|
|
521
|
+
'aria-setsize': items.length,
|
|
522
|
+
'aria-posinset': index + 1,
|
|
401
523
|
onMouseEnter: handleItemMouseEnter,
|
|
402
|
-
onMouseLeave:
|
|
524
|
+
onMouseLeave: handleItemMouseLeave,
|
|
403
525
|
onClick: handleItemClick,
|
|
404
526
|
onKeyDown: handleItemKeyDown,
|
|
405
527
|
};
|
|
@@ -429,6 +551,9 @@ function VirtualMenuRoot<T>({
|
|
|
429
551
|
);
|
|
430
552
|
}
|
|
431
553
|
|
|
554
|
+
const VirtualMenuRoot = React.forwardRef(VirtualMenuRootInner) as (<T>(
|
|
555
|
+
props: VirtualMenuProps<T> & React.RefAttributes<HTMLDivElement>,
|
|
556
|
+
) => React.ReactElement) & { displayName?: string };
|
|
432
557
|
VirtualMenuRoot.displayName = 'VirtualMenu';
|
|
433
558
|
|
|
434
559
|
// ============================================================================
|
|
@@ -460,19 +585,8 @@ const VirtualMenuItemInner = React.forwardRef<HTMLDivElement, VirtualMenuItemPro
|
|
|
460
585
|
|
|
461
586
|
VirtualMenuItemInner.displayName = 'VirtualMenu.Item';
|
|
462
587
|
|
|
463
|
-
//
|
|
464
|
-
const VirtualMenuItem = React.memo(VirtualMenuItemInner,
|
|
465
|
-
const prevStyle = prevProps.style as React.CSSProperties | undefined;
|
|
466
|
-
const nextStyle = nextProps.style as React.CSSProperties | undefined;
|
|
467
|
-
if (prevStyle?.height !== nextStyle?.height) return false;
|
|
468
|
-
if (prevStyle?.transform !== nextStyle?.transform) return false;
|
|
469
|
-
if (prevProps['data-highlighted'] !== nextProps['data-highlighted']) return false;
|
|
470
|
-
if (prevProps.tabIndex !== nextProps.tabIndex) return false;
|
|
471
|
-
if (prevProps.id !== nextProps.id) return false;
|
|
472
|
-
if (prevProps.className !== nextProps.className) return false;
|
|
473
|
-
if (prevProps.children !== nextProps.children) return false;
|
|
474
|
-
return true;
|
|
475
|
-
});
|
|
588
|
+
// Style is compared by height and transform; every other prop shallowly.
|
|
589
|
+
const VirtualMenuItem = React.memo(VirtualMenuItemInner, areRowPropsEqual);
|
|
476
590
|
|
|
477
591
|
// ============================================================================
|
|
478
592
|
// Exports
|
|
@@ -7,21 +7,19 @@ import type { MarginProps } from '../props/margin.props.js';
|
|
|
7
7
|
const marginValues = marginPropDefs.m.values;
|
|
8
8
|
const marginValueSet: ReadonlySet<string> = new Set(marginValues);
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// Built once from the prop defs, so the custom properties are the ones the
|
|
11
|
+
// stylesheet reads. The common case, a component with no margin props at all,
|
|
11
12
|
// is seven property reads and nothing else.
|
|
13
|
+
const MARGIN_KEYS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] as const;
|
|
12
14
|
const MARGIN_PROPS: ReadonlyArray<{
|
|
13
15
|
key: keyof MarginProps;
|
|
14
16
|
className: string;
|
|
15
17
|
customProperties: `--${string}`[];
|
|
16
|
-
}> =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
{ key: 'mr', className: 'kui-r-mr', customProperties: ['--margin-right'] },
|
|
22
|
-
{ key: 'mb', className: 'kui-r-mb', customProperties: ['--margin-bottom'] },
|
|
23
|
-
{ key: 'ml', className: 'kui-r-ml', customProperties: ['--margin-left'] },
|
|
24
|
-
];
|
|
18
|
+
}> = MARGIN_KEYS.map((key) => ({
|
|
19
|
+
key,
|
|
20
|
+
className: marginPropDefs[key].className,
|
|
21
|
+
customProperties: [...marginPropDefs[key].customProperties] as `--${string}`[],
|
|
22
|
+
}));
|
|
25
23
|
|
|
26
24
|
export function getMarginStyles(props: MarginProps) {
|
|
27
25
|
let classes: string[] | undefined;
|