@womp/kookie-ui 0.24.0 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/components.css +12859 -11868
- 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 +10 -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 +3 -1
- 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 +3 -3
- 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 +6 -0
- 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 +3 -3
- 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.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.map +1 -1
- package/dist/cjs/components/avatar.js +2 -1
- package/dist/cjs/components/avatar.js.map +4 -4
- package/dist/cjs/components/avatar.props.js +1 -0
- package/dist/cjs/components/avatar.props.js.map +1 -1
- package/dist/cjs/components/blockquote.js +1 -0
- package/dist/cjs/components/blockquote.js.map +1 -1
- 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 +2 -1
- package/dist/cjs/components/card.js.map +4 -4
- 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.js +2 -1
- package/dist/cjs/components/checkbox-group.js.map +4 -4
- package/dist/cjs/components/checkbox-group.primitive.js +1 -0
- package/dist/cjs/components/checkbox-group.primitive.js.map +1 -1
- 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 +4 -4
- package/dist/cjs/components/checkbox.props.js +1 -0
- package/dist/cjs/components/checkbox.props.js.map +1 -1
- package/dist/cjs/components/chip.js +2 -1
- package/dist/cjs/components/chip.js.map +4 -4
- package/dist/cjs/components/chip.props.js +1 -0
- package/dist/cjs/components/chip.props.js.map +1 -1
- package/dist/cjs/components/code.js +1 -0
- package/dist/cjs/components/code.js.map +1 -1
- 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.js +2 -1
- package/dist/cjs/components/dialog.js.map +4 -4
- 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.js +1 -0
- package/dist/cjs/components/icons.js.map +1 -1
- 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 +1 -1
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +3 -2
- 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.js +2 -1
- package/dist/cjs/components/navbar.js.map +4 -4
- package/dist/cjs/components/navbar.props.js +1 -0
- package/dist/cjs/components/navbar.props.js.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 +4 -4
- 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 +2 -1
- package/dist/cjs/components/radio-group.js.map +4 -4
- 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 +2 -1
- package/dist/cjs/components/radio.js.map +4 -4
- 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.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.js +1 -0
- package/dist/cjs/components/schemas/toggle.schema.js.map +1 -1
- package/dist/cjs/components/scroll-area.js +1 -0
- package/dist/cjs/components/scroll-area.js.map +1 -1
- 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.map +1 -1
- package/dist/cjs/components/segmented-control.js +2 -1
- package/dist/cjs/components/segmented-control.js.map +4 -4
- 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 +1 -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 +4 -4
- 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 +5 -2
- 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 +4 -4
- 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 +2 -2
- 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 +2 -1
- package/dist/cjs/components/switch.js.map +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- package/dist/cjs/components/theme.props.js +1 -0
- package/dist/cjs/components/theme.props.js.map +1 -1
- package/dist/cjs/components/toggle.js +2 -1
- package/dist/cjs/components/toggle.js.map +4 -4
- package/dist/cjs/components/toolbar.d.ts +4 -1
- 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 +4 -4
- 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 +19 -12
- 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/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.d.ts +1 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -1
- package/dist/cjs/helpers/index.js +3 -3
- package/dist/cjs/helpers/index.js.map +3 -3
- package/dist/cjs/helpers/theme-size.d.ts +8 -30
- package/dist/cjs/helpers/theme-size.d.ts.map +1 -1
- package/dist/cjs/helpers/theme-size.js +1 -1
- package/dist/cjs/helpers/theme-size.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/theme-size.d.ts +32 -0
- package/dist/cjs/hooks/theme-size.d.ts.map +1 -0
- package/dist/cjs/hooks/theme-size.js +3 -0
- package/dist/cjs/hooks/theme-size.js.map +7 -0
- 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.js +1 -0
- package/dist/cjs/hooks/use-scroll-edges.js.map +1 -1
- 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 +4 -4
- package/dist/esm/chunk-2IU5XPR2.js +3 -0
- package/dist/esm/chunk-2IU5XPR2.js.map +7 -0
- package/dist/esm/{chunk-JYQGCXXI.js → chunk-2VSRZ4IT.js} +2 -1
- package/dist/esm/{chunk-JYQGCXXI.js.map → chunk-2VSRZ4IT.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-3B25RLWX.js +3 -0
- package/dist/esm/chunk-3B25RLWX.js.map +7 -0
- package/dist/esm/chunk-3CY6H4TE.js +3 -0
- package/dist/esm/chunk-3CY6H4TE.js.map +7 -0
- 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-3L2MDOYC.js +3 -0
- package/dist/esm/chunk-3L2MDOYC.js.map +7 -0
- 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-IAEAXIBI.js → chunk-4J7QDLKI.js} +3 -2
- package/dist/esm/{chunk-IAEAXIBI.js.map → chunk-4J7QDLKI.js.map} +1 -1
- package/dist/esm/chunk-5CFSNNYS.js +3 -0
- package/dist/esm/chunk-5CFSNNYS.js.map +7 -0
- package/dist/esm/chunk-5EBJOOXE.js +3 -0
- package/dist/esm/chunk-5EBJOOXE.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-5L4DZ2D3.js +3 -0
- package/dist/esm/chunk-5L4DZ2D3.js.map +7 -0
- package/dist/esm/chunk-5ON3XLRD.js +3 -0
- package/dist/esm/chunk-5ON3XLRD.js.map +7 -0
- 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-5TJH35TF.js +3 -0
- package/dist/esm/chunk-5TJH35TF.js.map +7 -0
- 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-5XR5PTDR.js +3 -0
- package/dist/esm/chunk-5XR5PTDR.js.map +7 -0
- package/dist/esm/{chunk-4BU4R7UM.js → chunk-63MUJFVF.js} +3 -2
- package/dist/esm/chunk-63MUJFVF.js.map +7 -0
- 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-6AUIIXXE.js +2 -0
- package/dist/esm/chunk-6AUIIXXE.js.map +7 -0
- package/dist/esm/{chunk-ELAW7ZUG.js → chunk-6FLLFCBU.js} +2 -2
- package/dist/esm/{chunk-4QKZYCCH.js → chunk-6RJQ5LLP.js} +3 -2
- package/dist/esm/{chunk-4QKZYCCH.js.map → chunk-6RJQ5LLP.js.map} +1 -1
- 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-I4FLQELQ.js → chunk-7B3XDZXZ.js} +3 -2
- package/dist/esm/chunk-7B3XDZXZ.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-7X7VWR3F.js +3 -0
- package/dist/esm/chunk-7X7VWR3F.js.map +7 -0
- package/dist/esm/chunk-7XHE6TOA.js +6 -0
- package/dist/esm/chunk-7XHE6TOA.js.map +7 -0
- package/dist/esm/chunk-A2OMWZI7.js +2 -0
- package/dist/esm/chunk-AQ7VUGQQ.js +3 -0
- package/dist/esm/chunk-AQ7VUGQQ.js.map +7 -0
- 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-BVFHJP5E.js +3 -0
- package/dist/esm/chunk-BVFHJP5E.js.map +7 -0
- package/dist/esm/{chunk-H5BYPX6V.js → chunk-BXZSJKWA.js} +3 -2
- package/dist/esm/chunk-BXZSJKWA.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-UY6WJUNA.js → chunk-CQG4U5BR.js} +3 -2
- package/dist/esm/{chunk-UY6WJUNA.js.map → chunk-CQG4U5BR.js.map} +2 -2
- package/dist/esm/chunk-CR65RYGM.js +3 -0
- package/dist/esm/chunk-CR65RYGM.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-GYP66ZK2.js → chunk-D4P7332M.js} +3 -2
- package/dist/esm/{chunk-GYP66ZK2.js.map → chunk-D4P7332M.js.map} +1 -1
- 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-EAIQIW23.js +3 -0
- package/dist/esm/{chunk-4ZOVV3TY.js.map → chunk-EAIQIW23.js.map} +3 -3
- 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-FPGBCCML.js +3 -0
- package/dist/esm/chunk-FPGBCCML.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-62ZGP4ET.js → chunk-GKDGNPBD.js} +2 -1
- package/dist/esm/{chunk-62ZGP4ET.js.map → chunk-GKDGNPBD.js.map} +1 -1
- package/dist/esm/{chunk-W6BN5QLH.js → chunk-GNPTPIL7.js} +3 -2
- package/dist/esm/{chunk-W6BN5QLH.js.map → chunk-GNPTPIL7.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-FDJV5RXX.js → chunk-HHSFAOIO.js} +3 -2
- package/dist/esm/chunk-HHSFAOIO.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-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-PBFSBHBS.js → chunk-JUY7CBSL.js} +2 -2
- package/dist/esm/chunk-JZ5Z53MN.js +2 -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-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-MQEWEAH5.js +3 -0
- package/dist/esm/chunk-MQEWEAH5.js.map +7 -0
- package/dist/esm/chunk-MXIVYALY.js +3 -0
- package/dist/esm/chunk-MXIVYALY.js.map +7 -0
- package/dist/esm/chunk-N3QLHFHB.js +3 -0
- package/dist/esm/chunk-N3QLHFHB.js.map +7 -0
- package/dist/esm/{chunk-VVWYAVHM.js → chunk-N5H7C3PZ.js} +3 -2
- package/dist/esm/chunk-N5H7C3PZ.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-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-OQWD63AI.js +3 -0
- package/dist/esm/chunk-OQWD63AI.js.map +7 -0
- package/dist/esm/chunk-PCLO3ZZY.js +3 -0
- package/dist/esm/chunk-PCLO3ZZY.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-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-CHPT42BY.js → chunk-PZ6Z7WTR.js} +3 -2
- package/dist/esm/{chunk-CHPT42BY.js.map → chunk-PZ6Z7WTR.js.map} +1 -1
- 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-PZZJH2LR.js +3 -0
- package/dist/esm/chunk-PZZJH2LR.js.map +7 -0
- 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-QKCNGEX4.js +3 -0
- package/dist/esm/chunk-QKCNGEX4.js.map +7 -0
- 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-PM6QY3JO.js → chunk-R4PGFURL.js} +3 -2
- package/dist/esm/chunk-R4PGFURL.js.map +7 -0
- package/dist/esm/chunk-RB5VHWAW.js +3 -0
- package/dist/esm/chunk-RB5VHWAW.js.map +7 -0
- 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-3XZOE2IQ.js → chunk-RVPLXLRA.js} +3 -2
- package/dist/esm/{chunk-3XZOE2IQ.js.map → chunk-RVPLXLRA.js.map} +1 -1
- 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-VPRAXHLL.js +3 -0
- package/dist/esm/chunk-VPRAXHLL.js.map +7 -0
- package/dist/esm/{chunk-OS3FCYZY.js → chunk-VQPANPMI.js} +2 -1
- package/dist/esm/chunk-VRQEWMC6.js +3 -0
- package/dist/esm/chunk-VRQEWMC6.js.map +7 -0
- package/dist/esm/chunk-VVBSYWUA.js +3 -0
- package/dist/esm/chunk-VVBSYWUA.js.map +7 -0
- package/dist/esm/{chunk-RKZVXVBN.js → chunk-W4MQ6TEK.js} +3 -2
- package/dist/esm/chunk-W4MQ6TEK.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-PALE5UWK.js → chunk-WJ4H2O2G.js} +3 -2
- package/dist/esm/{chunk-PALE5UWK.js.map → chunk-WJ4H2O2G.js.map} +1 -1
- package/dist/esm/chunk-WMODMXEU.js +3 -0
- package/dist/esm/chunk-WMODMXEU.js.map +7 -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-CN6F4REJ.js → chunk-XH2CRCXR.js} +2 -1
- package/dist/esm/{chunk-CN6F4REJ.js.map → chunk-XH2CRCXR.js.map} +1 -1
- 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-YEHM3FZN.js → chunk-XPVRXQSW.js} +3 -2
- package/dist/esm/chunk-XPVRXQSW.js.map +7 -0
- 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-Y2BTPKK6.js +3 -0
- package/dist/esm/chunk-Y2BTPKK6.js.map +7 -0
- 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-YOSCUA6Z.js +3 -0
- package/dist/esm/chunk-YOSCUA6Z.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-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-Z563IAE3.js +3 -0
- package/dist/esm/chunk-Z563IAE3.js.map +7 -0
- package/dist/esm/{chunk-THUBY6L2.js → chunk-ZDSY6CJL.js} +3 -2
- package/dist/esm/chunk-ZDSY6CJL.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/chunk-ZYKJTNAT.js +3 -0
- package/dist/esm/chunk-ZYKJTNAT.js.map +7 -0
- 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 +10 -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 +3 -1
- 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 +6 -0
- 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.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.map +1 -1
- package/dist/esm/components/avatar.js +2 -1
- package/dist/esm/components/avatar.props.js +2 -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.js +2 -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.js +2 -1
- package/dist/esm/components/chip.props.js +2 -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.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.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 +1 -1
- 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.js +2 -1
- package/dist/esm/components/navbar.props.js +2 -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.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.js +2 -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.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 +1 -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 +5 -2
- 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.js +2 -1
- package/dist/esm/components/toolbar.d.ts +4 -1
- 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 +19 -12
- 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.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.d.ts +1 -0
- package/dist/esm/helpers/index.d.ts.map +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +4 -4
- 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.d.ts +8 -30
- package/dist/esm/helpers/theme-size.d.ts.map +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/theme-size.d.ts +32 -0
- package/dist/esm/hooks/theme-size.d.ts.map +1 -0
- package/dist/esm/hooks/theme-size.js +3 -0
- 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.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/font-family.prop.js.map +4 -4
- 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 +3 -3
- 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 +101 -42
- 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-tab-list.css +5 -0
- package/src/components/_internal/dropdown-menu-drill-down.tsx +45 -26
- package/src/components/_internal/menu-context.tsx +36 -1
- package/src/components/_internal/pane-chrome.tsx +8 -6
- 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 +6 -1
- package/src/components/_internal/shell-pane.tsx +5 -4
- package/src/components/_internal/shell-resizable.tsx +30 -8
- package/src/components/_internal/shell-sidebar.tsx +6 -1
- package/src/components/_internal/shell-store.tsx +2 -1
- package/src/components/accordion.css +55 -69
- package/src/components/accordion.tsx +1 -27
- package/src/components/alert-dialog.tsx +5 -1
- package/src/components/avatar.css +6 -2
- package/src/components/avatar.tsx +37 -4
- package/src/components/blockquote.css +2 -2
- package/src/components/button.tsx +12 -5
- package/src/components/card.css +14 -3
- package/src/components/card.tsx +1 -1
- package/src/components/chatbar.css +20 -3
- package/src/components/chatbar.tsx +15 -12
- package/src/components/checkbox-group.css +1 -5
- package/src/components/checkbox-group.tsx +1 -1
- package/src/components/checkbox.css +1 -5
- package/src/components/checkbox.tsx +1 -1
- package/src/components/chip.css +0 -3
- package/src/components/combobox.tsx +26 -27
- package/src/components/context-menu.tsx +48 -28
- package/src/components/dialog.tsx +1 -1
- package/src/components/dropdown-menu.css +0 -6
- package/src/components/dropdown-menu.tsx +72 -35
- package/src/components/heading.props.tsx +1 -1
- package/src/components/heading.tsx +4 -4
- package/src/components/image.css +5 -0
- package/src/components/image.tsx +29 -3
- package/src/components/index.tsx +1 -1
- package/src/components/kbd.css +6 -5
- package/src/components/link.css +1 -5
- package/src/components/message-scroller.tsx +15 -26
- package/src/components/navbar.css +9 -1
- package/src/components/navbar.tsx +1 -1
- package/src/components/notice.tsx +1 -1
- package/src/components/popover.css +18 -12
- package/src/components/popover.tsx +14 -12
- package/src/components/progress.css +33 -6
- package/src/components/progress.tsx +5 -3
- package/src/components/radio-group.tsx +1 -1
- package/src/components/radio.tsx +1 -1
- package/src/components/scroll-area.css +34 -4
- package/src/components/segmented-control.css +178 -148
- package/src/components/segmented-control.props.tsx +1 -1
- package/src/components/segmented-control.tsx +89 -64
- package/src/components/select.css +16 -29
- package/src/components/select.tsx +5 -16
- package/src/components/separator.css +8 -1
- package/src/components/separator.props.tsx +1 -1
- package/src/components/separator.tsx +22 -4
- package/src/components/sheet.css +8 -7
- package/src/components/sheet.tsx +4 -2
- package/src/components/shell.css +148 -21
- package/src/components/shell.tsx +19 -2
- package/src/components/sidebar.css +1 -135
- package/src/components/sidebar.tsx +194 -161
- package/src/components/slider.css +90 -21
- package/src/components/slider.props.tsx +2 -2
- package/src/components/slider.tsx +79 -92
- package/src/components/spinner.css +10 -2
- package/src/components/spinner.tsx +5 -1
- package/src/components/switch.css +40 -8
- package/src/components/switch.tsx +1 -1
- package/src/components/table.css +5 -1
- package/src/components/table.props.tsx +0 -9
- package/src/components/table.tsx +3 -2
- package/src/components/tabs.tsx +11 -4
- package/src/components/text-area.css +17 -2
- package/src/components/text-area.tsx +21 -17
- package/src/components/text-field.css +51 -36
- package/src/components/text-field.tsx +101 -50
- package/src/components/theme.tsx +15 -45
- package/src/components/toolbar.tsx +52 -16
- 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 +103 -62
- package/src/helpers/get-margin-styles.ts +8 -10
- package/src/helpers/index.ts +3 -0
- package/src/helpers/theme-size.ts +8 -46
- package/src/hooks/theme-size.ts +50 -0
- package/src/hooks/use-appearance.ts +32 -19
- package/src/hooks/use-body-pointer-events-cleanup.ts +123 -124
- package/src/props/gap.props.ts +4 -4
- package/src/styles/tokens/color.css +3 -0
- package/src/styles/utilities/margin.css +2 -2
- package/src/styles/utilities/text-align.css +8 -0
- package/styles.css +1837 -808
- package/tokens/base.css +2 -0
- package/tokens.css +2 -0
- package/utilities.css +38 -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-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-3VTS4C63.js +0 -2
- package/dist/esm/chunk-3VTS4C63.js.map +0 -7
- package/dist/esm/chunk-3WE4E2WQ.js +0 -2
- package/dist/esm/chunk-3WE4E2WQ.js.map +0 -7
- package/dist/esm/chunk-3XUY5WFA.js +0 -2
- package/dist/esm/chunk-3XUY5WFA.js.map +0 -7
- package/dist/esm/chunk-3YLYGKFB.js +0 -2
- package/dist/esm/chunk-3YLYGKFB.js.map +0 -7
- package/dist/esm/chunk-432YLNB3.js +0 -2
- package/dist/esm/chunk-432YLNB3.js.map +0 -7
- package/dist/esm/chunk-4BU4R7UM.js.map +0 -7
- package/dist/esm/chunk-4R5EMVB3.js +0 -2
- package/dist/esm/chunk-4R5EMVB3.js.map +0 -7
- package/dist/esm/chunk-4ZOVV3TY.js +0 -2
- 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-6DWDNKLS.js +0 -1
- package/dist/esm/chunk-7CUQMU3T.js +0 -2
- package/dist/esm/chunk-7CUQMU3T.js.map +0 -7
- package/dist/esm/chunk-BGAJ2MDF.js +0 -2
- package/dist/esm/chunk-BGAJ2MDF.js.map +0 -7
- package/dist/esm/chunk-BJUCBOGU.js +0 -2
- package/dist/esm/chunk-CLZW2IDD.js +0 -2
- package/dist/esm/chunk-CLZW2IDD.js.map +0 -7
- package/dist/esm/chunk-CMHUK7OG.js +0 -2
- package/dist/esm/chunk-CMHUK7OG.js.map +0 -7
- package/dist/esm/chunk-DFGY2NZB.js +0 -2
- package/dist/esm/chunk-DUTZUWZP.js +0 -2
- package/dist/esm/chunk-DUTZUWZP.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-FDJV5RXX.js.map +0 -7
- package/dist/esm/chunk-G2JD52O5.js +0 -2
- package/dist/esm/chunk-G2JD52O5.js.map +0 -7
- package/dist/esm/chunk-G4ETY2NP.js +0 -2
- package/dist/esm/chunk-G4ETY2NP.js.map +0 -7
- package/dist/esm/chunk-GPOCLDBR.js +0 -2
- package/dist/esm/chunk-GPOCLDBR.js.map +0 -7
- package/dist/esm/chunk-H3IAGAEL.js +0 -2
- package/dist/esm/chunk-H5BYPX6V.js.map +0 -7
- package/dist/esm/chunk-H5G7UECV.js +0 -2
- package/dist/esm/chunk-H5G7UECV.js.map +0 -7
- package/dist/esm/chunk-HT7RFHLW.js +0 -2
- package/dist/esm/chunk-HT7RFHLW.js.map +0 -7
- package/dist/esm/chunk-I4FLQELQ.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-KA5UE2VN.js +0 -2
- package/dist/esm/chunk-KA5UE2VN.js.map +0 -7
- package/dist/esm/chunk-KEGCX5VM.js +0 -2
- package/dist/esm/chunk-KEGCX5VM.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-KVHKPUZ2.js +0 -2
- package/dist/esm/chunk-KVHKPUZ2.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-N3WBEQWL.js +0 -5
- package/dist/esm/chunk-N3WBEQWL.js.map +0 -7
- package/dist/esm/chunk-NC3CJUE3.js +0 -2
- package/dist/esm/chunk-NC3CJUE3.js.map +0 -7
- package/dist/esm/chunk-OA7C34MJ.js +0 -1
- package/dist/esm/chunk-P2MV6HLA.js +0 -2
- package/dist/esm/chunk-P2MV6HLA.js.map +0 -7
- package/dist/esm/chunk-PDMCLVYT.js +0 -2
- package/dist/esm/chunk-PDMCLVYT.js.map +0 -7
- package/dist/esm/chunk-PJR6GRZC.js +0 -2
- package/dist/esm/chunk-PJR6GRZC.js.map +0 -7
- package/dist/esm/chunk-PM6QY3JO.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-RKZVXVBN.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-THUBY6L2.js.map +0 -7
- package/dist/esm/chunk-TXQZ5HLV.js +0 -2
- package/dist/esm/chunk-TXQZ5HLV.js.map +0 -7
- package/dist/esm/chunk-TZTUPQYK.js +0 -2
- package/dist/esm/chunk-UICSVJ3B.js +0 -1
- package/dist/esm/chunk-UKASIY6M.js +0 -2
- package/dist/esm/chunk-UKASIY6M.js.map +0 -7
- package/dist/esm/chunk-UONSKZQT.js +0 -2
- package/dist/esm/chunk-V5O3TF57.js +0 -2
- package/dist/esm/chunk-V5O3TF57.js.map +0 -7
- package/dist/esm/chunk-VCV7RACK.js +0 -2
- package/dist/esm/chunk-VCV7RACK.js.map +0 -7
- package/dist/esm/chunk-VPSMETY2.js +0 -2
- package/dist/esm/chunk-VUNCI6A6.js +0 -2
- package/dist/esm/chunk-VUNCI6A6.js.map +0 -7
- package/dist/esm/chunk-VUPIJNG2.js +0 -2
- package/dist/esm/chunk-VUPIJNG2.js.map +0 -7
- package/dist/esm/chunk-VVWYAVHM.js.map +0 -7
- package/dist/esm/chunk-VXQQ6KXI.js +0 -2
- package/dist/esm/chunk-VXQQ6KXI.js.map +0 -7
- package/dist/esm/chunk-WG5ORTIW.js +0 -2
- package/dist/esm/chunk-WG5ORTIW.js.map +0 -7
- package/dist/esm/chunk-WMVR2XBR.js +0 -2
- package/dist/esm/chunk-WMVR2XBR.js.map +0 -7
- package/dist/esm/chunk-WOR3JCLX.js +0 -1
- package/dist/esm/chunk-WX7SX5BN.js +0 -2
- package/dist/esm/chunk-WX7SX5BN.js.map +0 -7
- package/dist/esm/chunk-X4A3XRBY.js +0 -2
- package/dist/esm/chunk-XOACTIBL.js +0 -2
- package/dist/esm/chunk-XOACTIBL.js.map +0 -7
- package/dist/esm/chunk-XZQSSRTG.js +0 -2
- package/dist/esm/chunk-YEHM3FZN.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-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
- /package/dist/esm/{chunk-WOR3JCLX.js.map → hooks/theme-size.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/table.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { tableRootPropDefs, tableRowPropDefs, tableCellPropDefs } from './table.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { ScrollArea } from './scroll-area.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TableRootElement = React.ElementRef<'div'>;\ntype TableRootOwnProps = GetPropDefTypes<typeof tableRootPropDefs>;\ninterface TableRootProps\n extends ComponentPropsWithout<'div', RemovedProps>,\n TableRootOwnProps {}\nconst TableRoot = React.forwardRef<TableRootElement, TableRootProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, tableRootPropDefs.size);\n const { layout: layoutPropDef, ...rootPropDefs } = tableRootPropDefs;\n const {\n className,\n children,\n layout,\n // The table is what gets named, not the scroll wrapper around it.\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n ...rootProps\n } = extractProps(props, rootPropDefs);\n const tableLayoutClassNames = getResponsiveClassNames({\n value: layout,\n className: tableRootPropDefs.layout.className,\n propValues: tableRootPropDefs.layout.values,\n });\n return (\n <div ref={forwardedRef} className={classNames('kui-TableRoot', className)} {...rootProps}>\n <ScrollArea>\n <table\n className={classNames('kui-TableRootTable', tableLayoutClassNames)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-describedby={ariaDescribedBy}\n >\n {children}\n </table>\n </ScrollArea>\n </div>\n );\n});\nTableRoot.displayName = 'Table.Root';\n\ntype TableHeaderElement = React.ElementRef<'thead'>;\ninterface TableHeaderProps extends ComponentPropsWithout<'thead', RemovedProps> {}\nconst TableHeader = React.forwardRef<TableHeaderElement, TableHeaderProps>(\n ({ className, ...props }, forwardedRef) => (\n <thead {...props} ref={forwardedRef} className={classNames('kui-TableHeader', className)} />\n )\n);\nTableHeader.displayName = 'Table.Header';\n\ntype TableBodyElement = React.ElementRef<'tbody'>;\ninterface TableBodyProps extends ComponentPropsWithout<'tbody', RemovedProps> {}\nconst TableBody = React.forwardRef<TableBodyElement, TableBodyProps>(\n ({ className, ...props }, forwardedRef) => (\n <tbody {...props} ref={forwardedRef} className={classNames('kui-TableBody', className)} />\n )\n);\nTableBody.displayName = 'Table.Body';\n\ntype TableRowElement = React.ElementRef<'tr'>;\ntype TableRowOwnProps = GetPropDefTypes<typeof tableRowPropDefs>;\ninterface TableRowProps extends ComponentPropsWithout<'tr', RemovedProps>, TableRowOwnProps {}\nconst TableRow = React.forwardRef<TableRowElement, TableRowProps>((props, forwardedRef) => {\n const { className, ...rowProps } = extractProps(props, tableRowPropDefs);\n return <tr {...rowProps} ref={forwardedRef} className={classNames('kui-TableRow', className)} />;\n});\nTableRow.displayName = 'Table.Row';\n\ntype TableCellElement = React.ElementRef<'td'>;\ntype TableCellOwnProps = GetPropDefTypes<typeof tableCellPropDefs>;\ninterface TableCellProps\n extends ComponentPropsWithout<'td', RemovedProps | 'width'>,\n TableCellOwnProps {}\nconst TableCell = React.forwardRef<TableCellElement, TableCellProps>((props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return <td className={classNames('kui-TableCell', className)} ref={forwardedRef} {...cellProps} />;\n});\nTableCell.displayName = 'Table.Cell';\n\ntype TableColumnHeaderCellElement = React.ElementRef<'th'>;\ninterface TableColumnHeaderCellProps\n extends ComponentPropsWithout<'th', RemovedProps>,\n TableCellOwnProps {}\nconst TableColumnHeaderCell = React.forwardRef<\n TableColumnHeaderCellElement,\n TableColumnHeaderCellProps\n>((props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return (\n <th\n className={classNames('kui-TableCell', 'kui-TableColumnHeaderCell', className)}\n scope=\"col\"\n ref={forwardedRef}\n {...cellProps}\n />\n );\n});\nTableColumnHeaderCell.displayName = 'Table.ColumnHeaderCell';\n\ntype TableRowHeaderCellElement = React.ElementRef<'th'>;\ninterface TableRowHeaderCellProps\n extends ComponentPropsWithout<'th', RemovedProps>,\n TableCellOwnProps {}\nconst TableRowHeaderCell = React.forwardRef<TableRowHeaderCellElement, TableRowHeaderCellProps>(\n (props, forwardedRef) => {\n const { className, ...cellProps } = extractProps(props, tableCellPropDefs);\n return (\n <th\n className={classNames('kui-TableCell', 'kui-TableRowHeaderCell', className)}\n scope=\"row\"\n ref={forwardedRef}\n {...cellProps}\n />\n );\n }\n);\nTableRowHeaderCell.displayName = 'Table.RowHeaderCell';\n\nexport {\n TableRoot as Root,\n TableHeader as Header,\n TableBody as Body,\n TableRow as Row,\n TableCell as Cell,\n TableColumnHeaderCell as ColumnHeaderCell,\n TableRowHeaderCell as RowHeaderCell,\n};\n\nexport type {\n TableRootProps as RootProps,\n TableHeaderProps as HeaderProps,\n TableBodyProps as BodyProps,\n TableRowProps as RowProps,\n TableCellProps as CellProps,\n TableColumnHeaderCellProps as ColumnHeaderCellProps,\n TableRowHeaderCellProps as RowHeaderCellProps,\n};\n"],
|
|
5
|
-
"mappings": "8PAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,EAAA,qBAAAC,EAAA,WAAAC,EAAA,SAAAC,EAAA,QAAAC,EAAA,kBAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aAgBvB,IAAMC,EAAkB,aAA6C,CAACC,EAAUC,IAAiB,CAC/F,IAAMC,EAAQC,EAAkBH,EAAUI,EAAkB,IAAI,EAC1D,CAAE,OAAQC,EAAe,GAAGC,CAAa,EAAIF,EAC7C,CACJ,UAAAG,EACA,SAAAC,EACA,OAAAC,EAEA,aAAcC,EACd,kBAAmBC,EACnB,mBAAoBC,EACpB,GAAGC,CACL,EAAIC,EAAaZ,EAAOI,CAAY,EAC9BS,EAAwBC,EAAwB,CACpD,MAAOP,EACP,UAAWL,EAAkB,OAAO,UACpC,WAAYA,EAAkB,OAAO,MACvC,CAAC,EACD,OACE,gBAAC,OAAI,IAAKH,EAAc,UAAWgB,EAAW,gBAAiBV,CAAS,EAAI,GAAGM,GAC7E,gBAACK,EAAA,KACC,gBAAC,SACC,UAAWD,EAAW,qBAAsBF,CAAqB,EACjE,aAAYL,EACZ,kBAAiBC,EACjB,mBAAkBC,GAEjBJ,CACH,CACF,CACF,CAEJ,CAAC,EACDT,EAAU,YAAc,aAIxB,IAAMoB,EAAoB,aACxB,CAAC,CAAE,UAAAZ,EAAW,GAAGL,CAAM,EAAGD,IACxB,gBAAC,SAAO,GAAGC,EAAO,IAAKD,EAAc,UAAWgB,EAAW,kBAAmBV,CAAS,EAAG,CAE9F,EACAY,EAAY,YAAc,eAI1B,IAAMC,EAAkB,aACtB,CAAC,CAAE,UAAAb,EAAW,GAAGL,CAAM,EAAGD,IACxB,gBAAC,SAAO,GAAGC,EAAO,IAAKD,EAAc,UAAWgB,EAAW,gBAAiBV,CAAS,EAAG,CAE5F,EACAa,EAAU,YAAc,aAKxB,IAAMC,EAAiB,aAA2C,CAACnB,EAAOD,IAAiB,CACzF,GAAM,CAAE,UAAAM,EAAW,GAAGe,CAAS,EAAIR,EAAaZ,EAAOqB,CAAgB,EACvE,OAAO,gBAAC,MAAI,GAAGD,EAAU,IAAKrB,EAAc,UAAWgB,EAAW,eAAgBV,CAAS,EAAG,CAChG,CAAC,EACDc,EAAS,YAAc,YAOvB,IAAMG,EAAkB,aAA6C,CAACtB,EAAOD,IAAiB,CAC5F,GAAM,CAAE,UAAAM,EAAW,GAAGkB,CAAU,EAAIX,EAAaZ,EAAOwB,CAAiB,EACzE,OAAO,gBAAC,MAAG,UAAWT,EAAW,gBAAiBV,CAAS,EAAG,IAAKN,EAAe,GAAGwB,EAAW,CAClG,CAAC,EACDD,EAAU,YAAc,aAMxB,IAAMG,EAA8B,aAGlC,CAACzB,EAAOD,IAAiB,CACzB,GAAM,CAAE,UAAAM,EAAW,GAAGkB,CAAU,EAAIX,EAAaZ,EAAOwB,CAAiB,EACzE,OACE,gBAAC,MACC,UAAWT,EAAW,gBAAiB,4BAA6BV,CAAS,EAC7E,MAAM,MACN,IAAKN,EACJ,GAAGwB,EACN,CAEJ,CAAC,EACDE,EAAsB,YAAc,yBAMpC,IAAMC,EAA2B,aAC/B,CAAC1B,EAAOD,IAAiB,CACvB,GAAM,CAAE,UAAAM,EAAW,GAAGkB,CAAU,EAAIX,EAAaZ,EAAOwB,CAAiB,EACzE,OACE,gBAAC,MACC,UAAWT,EAAW,gBAAiB,yBAA0BV,CAAS,EAC1E,MAAM,MACN,IAAKN,EACJ,GAAGwB,EACN,CAEJ,CACF,EACAG,EAAmB,YAAc",
|
|
6
|
-
"names": ["table_exports", "__export", "TableBody", "TableCell", "TableColumnHeaderCell", "TableHeader", "TableRoot", "TableRow", "TableRowHeaderCell", "React", "classNames", "TableRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "tableRootPropDefs", "layoutPropDef", "rootPropDefs", "className", "children", "layout", "ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "rootProps", "extractProps", "tableLayoutClassNames", "getResponsiveClassNames", "classNames", "ScrollArea", "TableHeader", "TableBody", "TableRow", "rowProps", "tableRowPropDefs", "TableCell", "cellProps", "tableCellPropDefs", "TableColumnHeaderCell", "TableRowHeaderCell"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-UICSVJ3B.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l,b as g,c as R,d as y,e as u}from"./chunk-OY5NT7VT.js";import{c as P}from"./chunk-62ZGP4ET.js";import{c as A}from"./chunk-FWB47YCH.js";import{e as f}from"./chunk-3YLYGKFB.js";import{a as n}from"./chunk-ELAW7ZUG.js";import{a as x}from"./chunk-OS3FCYZY.js";var O={};x(O,{Content:()=>H,Header:()=>v,Item:()=>T,Root:()=>C,Trigger:()=>E});import*as o from"react";import a from"classnames";import{Accordion as p}from"radix-ui";var C=o.forwardRef((e,r)=>{let t=f(e,l.size),{className:c,radius:s,color:w,...I}=n(t,l),i=I;i.type==="single"&&i.collapsible===void 0&&(i.collapsible=!0);let N=o.useCallback(d=>{if(i.type==="multiple"){let m=d.currentTarget.querySelectorAll("[data-radix-accordion-item]");d.key==="Home"?(d.preventDefault(),m[0]?.querySelector("[data-radix-accordion-trigger]")?.focus()):d.key==="End"&&(d.preventDefault(),m[m.length-1]?.querySelector("[data-radix-accordion-trigger]")?.focus())}},[i.type]);return o.createElement(p.Root,{...i,ref:r,className:a("kui-AccordionRoot",c),"data-accent-color":w,"data-radius":s,onKeyDown:N})});C.displayName="Accordion.Root";var T=o.forwardRef((e,r)=>{let{className:t,...c}=n(e,g);return o.createElement(p.Item,{...c,ref:r,className:a("kui-AccordionItem",t)})});T.displayName="Accordion.Item";var v=o.forwardRef((e,r)=>{let{className:t,...c}=n(e,R);return o.createElement(p.Header,{...c,ref:r,className:a("kui-AccordionHeader",t)})});v.displayName="Accordion.Header";var E=o.forwardRef(({children:e,...r},t)=>{let{className:c,...s}=n(r,y);return o.createElement(p.Trigger,{...s,ref:t,className:a("kui-AccordionTrigger",c)},o.createElement(A,null,e),o.createElement(P,{className:"kui-AccordionChevron","aria-hidden":!0}))});E.displayName="Accordion.Trigger";var H=o.forwardRef((e,r)=>{let{className:t,children:c,...s}=n(e,u);return o.createElement(p.Content,{...s,ref:r,className:a("kui-AccordionContent",t)},o.createElement("div",{className:"kui-AccordionContentInner"},c))});H.displayName="Accordion.Content";export{C as a,T as b,v as c,E as d,H as e,O as f};
|
|
2
|
-
//# sourceMappingURL=chunk-UKASIY6M.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/accordion.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\n\nimport {\n accordionRootPropDefs,\n accordionItemPropDefs,\n accordionHeaderPropDefs,\n accordionTriggerPropDefs,\n accordionContentPropDefs,\n} from './accordion.props.js';\nimport { ChevronDownIcon } from './icons.js';\nimport { Slottable } from './slot.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../helpers/theme-size.js';\n\nimport type {\n AccordionRootOwnProps,\n AccordionItemOwnProps,\n AccordionHeaderOwnProps,\n AccordionTriggerOwnProps,\n AccordionContentOwnProps,\n} from './accordion.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\n// Root component\ntype AccordionRootElement = React.ElementRef<typeof AccordionPrimitive.Root>;\n// Radix's Root props are a union of single and multiple. Omit each member on its own, so\n// `defaultValue`, `value` and `collapsible` survive with the right type for each `type`.\ntype AccordionRootRadixProps =\n | Omit<AccordionPrimitive.AccordionSingleProps, 'asChild' | 'color'>\n | Omit<AccordionPrimitive.AccordionMultipleProps, 'asChild' | 'color'>;\n\ntype AccordionRootProps = AccordionRootRadixProps & AccordionRootOwnProps;\n\nconst AccordionRoot = React.forwardRef<AccordionRootElement, AccordionRootProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, accordionRootPropDefs.size);\n const { className, radius, color, ...extractedRadixProps } =\n extractProps(props, accordionRootPropDefs);\n\n const radixProps = extractedRadixProps as React.ComponentPropsWithoutRef<\n typeof AccordionPrimitive.Root\n >;\n\n\n // Ensure single accordions can collapse by default unless explicitly set\n if (radixProps.type === 'single' && radixProps.collapsible === undefined) {\n radixProps.collapsible = true;\n }\n\n // Handle Home/End key navigation for multi-item accordions\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (radixProps.type === 'multiple') {\n const items = event.currentTarget.querySelectorAll('[data-radix-accordion-item]');\n\n if (event.key === 'Home') {\n event.preventDefault();\n const firstTrigger = items[0]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n firstTrigger?.focus();\n } else if (event.key === 'End') {\n event.preventDefault();\n const lastTrigger = items[items.length - 1]?.querySelector(\n '[data-radix-accordion-trigger]',\n ) as HTMLElement;\n lastTrigger?.focus();\n }\n }\n },\n [radixProps.type],\n );\n\n return (\n <AccordionPrimitive.Root\n {...radixProps}\n ref={forwardedRef}\n className={classNames('kui-AccordionRoot', className)}\n data-accent-color={color}\n data-radius={radius}\n onKeyDown={handleKeyDown}\n />\n );\n },\n);\nAccordionRoot.displayName = 'Accordion.Root';\n\n// Item component\ntype AccordionItemElement = React.ElementRef<typeof AccordionPrimitive.Item>;\ninterface AccordionItemProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Item, RemovedProps>,\n AccordionItemOwnProps {}\n\nconst AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(\n (props, forwardedRef) => {\n const { className, ...itemProps } = extractProps(props, accordionItemPropDefs);\n\n return (\n <AccordionPrimitive.Item\n {...itemProps}\n ref={forwardedRef}\n className={classNames('kui-AccordionItem', className)}\n />\n );\n },\n);\nAccordionItem.displayName = 'Accordion.Item';\n\n// Header component\ntype AccordionHeaderElement = React.ElementRef<typeof AccordionPrimitive.Header>;\ninterface AccordionHeaderProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Header, RemovedProps>,\n AccordionHeaderOwnProps {}\n\nconst AccordionHeader = React.forwardRef<AccordionHeaderElement, AccordionHeaderProps>(\n (props, forwardedRef) => {\n const { className, ...headerProps } = extractProps(props, accordionHeaderPropDefs);\n\n return (\n <AccordionPrimitive.Header\n {...headerProps}\n ref={forwardedRef}\n className={classNames('kui-AccordionHeader', className)}\n />\n );\n },\n);\nAccordionHeader.displayName = 'Accordion.Header';\n\n// Trigger component\ntype AccordionTriggerElement = React.ElementRef<typeof AccordionPrimitive.Trigger>;\ninterface AccordionTriggerProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Trigger, RemovedProps>,\n AccordionTriggerOwnProps {}\n\nconst AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(\n ({ children, ...props }, forwardedRef) => {\n const { className, ...triggerProps } = extractProps(props, accordionTriggerPropDefs);\n\n return (\n <AccordionPrimitive.Trigger\n {...triggerProps}\n ref={forwardedRef}\n className={classNames('kui-AccordionTrigger', className)}\n >\n <Slottable>{children}</Slottable>\n <ChevronDownIcon className=\"kui-AccordionChevron\" aria-hidden />\n </AccordionPrimitive.Trigger>\n );\n },\n);\nAccordionTrigger.displayName = 'Accordion.Trigger';\n\n// Content component\ntype AccordionContentElement = React.ElementRef<typeof AccordionPrimitive.Content>;\ninterface AccordionContentProps\n extends ComponentPropsWithout<typeof AccordionPrimitive.Content, RemovedProps>,\n AccordionContentOwnProps {}\n\nconst AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(\n (props, forwardedRef) => {\n const { className, children, ...contentProps } = extractProps(props, accordionContentPropDefs);\n\n return (\n <AccordionPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-AccordionContent', className)}\n >\n <div className=\"kui-AccordionContentInner\">{children}</div>\n </AccordionPrimitive.Content>\n );\n },\n);\nAccordionContent.displayName = 'Accordion.Content';\n\nexport {\n AccordionRoot as Root,\n AccordionItem as Item,\n AccordionHeader as Header,\n AccordionTrigger as Trigger,\n AccordionContent as Content,\n};\n\nexport type {\n AccordionRootProps as RootProps,\n AccordionItemProps as ItemProps,\n AccordionHeaderProps as HeaderProps,\n AccordionTriggerProps as TriggerProps,\n AccordionContentProps as ContentProps,\n};\n"],
|
|
5
|
-
"mappings": "4QAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,WAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,aAAaC,MAA0B,WAiChD,IAAMC,EAAsB,aAC1B,CAACC,EAAUC,IAAiB,CAC1B,IAAMC,EAAQC,EAAkBH,EAAUI,EAAsB,IAAI,EAC9D,CAAE,UAAAC,EAAW,OAAAC,EAAQ,MAAAC,EAAO,GAAGC,CAAoB,EACvDC,EAAaP,EAAOE,CAAqB,EAErCM,EAAaF,EAMfE,EAAW,OAAS,UAAYA,EAAW,cAAgB,SAC7DA,EAAW,YAAc,IAI3B,IAAMC,EAAsB,cACzBC,GAA+B,CAC9B,GAAIF,EAAW,OAAS,WAAY,CAClC,IAAMG,EAAQD,EAAM,cAAc,iBAAiB,6BAA6B,EAE5EA,EAAM,MAAQ,QAChBA,EAAM,eAAe,EACAC,EAAM,CAAC,GAAG,cAC7B,gCACF,GACc,MAAM,GACXD,EAAM,MAAQ,QACvBA,EAAM,eAAe,EACDC,EAAMA,EAAM,OAAS,CAAC,GAAG,cAC3C,gCACF,GACa,MAAM,EAEvB,CACF,EACA,CAACH,EAAW,IAAI,CAClB,EAEA,OACE,gBAACI,EAAmB,KAAnB,CACE,GAAGJ,EACJ,IAAKT,EACL,UAAWc,EAAW,oBAAqBV,CAAS,EACpD,oBAAmBE,EACnB,cAAaD,EACb,UAAWK,EACb,CAEJ,CACF,EACAZ,EAAc,YAAc,iBAQ5B,IAAMiB,EAAsB,aAC1B,CAACd,EAAOD,IAAiB,CACvB,GAAM,CAAE,UAAAI,EAAW,GAAGY,CAAU,EAAIR,EAAaP,EAAOgB,CAAqB,EAE7E,OACE,gBAACJ,EAAmB,KAAnB,CACE,GAAGG,EACJ,IAAKhB,EACL,UAAWc,EAAW,oBAAqBV,CAAS,EACtD,CAEJ,CACF,EACAW,EAAc,YAAc,iBAQ5B,IAAMG,EAAwB,aAC5B,CAACjB,EAAOD,IAAiB,CACvB,GAAM,CAAE,UAAAI,EAAW,GAAGe,CAAY,EAAIX,EAAaP,EAAOmB,CAAuB,EAEjF,OACE,gBAACP,EAAmB,OAAnB,CACE,GAAGM,EACJ,IAAKnB,EACL,UAAWc,EAAW,sBAAuBV,CAAS,EACxD,CAEJ,CACF,EACAc,EAAgB,YAAc,mBAQ9B,IAAMG,EAAyB,aAC7B,CAAC,CAAE,SAAAC,EAAU,GAAGrB,CAAM,EAAGD,IAAiB,CACxC,GAAM,CAAE,UAAAI,EAAW,GAAGmB,CAAa,EAAIf,EAAaP,EAAOuB,CAAwB,EAEnF,OACE,gBAACX,EAAmB,QAAnB,CACE,GAAGU,EACJ,IAAKvB,EACL,UAAWc,EAAW,uBAAwBV,CAAS,GAEvD,gBAACqB,EAAA,KAAWH,CAAS,EACrB,gBAACI,EAAA,CAAgB,UAAU,uBAAuB,cAAW,GAAC,CAChE,CAEJ,CACF,EACAL,EAAiB,YAAc,oBAQ/B,IAAMM,EAAyB,aAC7B,CAAC1B,EAAOD,IAAiB,CACvB,GAAM,CAAE,UAAAI,EAAW,SAAAkB,EAAU,GAAGM,CAAa,EAAIpB,EAAaP,EAAO4B,CAAwB,EAE7F,OACE,gBAAChB,EAAmB,QAAnB,CACE,GAAGe,EACJ,IAAK5B,EACL,UAAWc,EAAW,uBAAwBV,CAAS,GAEvD,gBAAC,OAAI,UAAU,6BAA6BkB,CAAS,CACvD,CAEJ,CACF,EACAK,EAAiB,YAAc",
|
|
6
|
-
"names": ["accordion_exports", "__export", "AccordionContent", "AccordionHeader", "AccordionItem", "AccordionRoot", "AccordionTrigger", "React", "classNames", "AccordionPrimitive", "AccordionRoot", "ownProps", "forwardedRef", "props", "useThemeSizeProps", "accordionRootPropDefs", "className", "radius", "color", "extractedRadixProps", "extractProps", "radixProps", "handleKeyDown", "event", "items", "AccordionPrimitive", "classNames", "AccordionItem", "itemProps", "accordionItemPropDefs", "AccordionHeader", "headerProps", "accordionHeaderPropDefs", "AccordionTrigger", "children", "triggerProps", "accordionTriggerPropDefs", "Slottable", "ChevronDownIcon", "AccordionContent", "contentProps", "accordionContentPropDefs"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as u}from"./chunk-KZEZDBE7.js";import*as e from"react";var i=e.createContext({isInsideMenu:!1}),c={1:24,2:30,3:34,4:38};function M(t){return c[t]}function a({children:t,size:s}){let n=u(s,void 0),o=n?M(n):void 0,d=e.useMemo(()=>({isInsideMenu:!0,size:n,itemHeight:o}),[n,o]);return e.createElement(i.Provider,{value:d},t)}function x(){return e.useContext(i)}var r=e.createContext(void 0),f=r.Provider;function m(){return e.useContext(r)}export{c as a,M as b,a as c,x as d,f as e,m as f};
|
|
2
|
-
//# sourceMappingURL=chunk-V5O3TF57.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/_internal/menu-context.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\n\nimport { useResolvedResponsiveValue } from './base-menu.utils.js';\n\nimport type { Responsive } from '../../props/prop-def.js';\n\n/**\n * Context to detect if a component is rendered inside a menu (DropdownMenu, ContextMenu, etc.)\n * Used by VirtualMenu to adjust its behavior:\n * - Skip role=\"menu\" when inside a parent menu (parent owns the role)\n * - Delegate certain keyboard handling to parent\n * - Use the correct item height based on menu size\n */\n\nexport type MenuSize = '1' | '2' | '3' | '4';\n\ninterface MenuContextValue {\n /** Whether we're inside a menu that owns the menu role */\n isInsideMenu: boolean;\n /** Menu size for the current breakpoint */\n size?: MenuSize;\n /** Item height in px for the current size and theme scaling */\n itemHeight?: number;\n}\n\nconst MenuContext = React.createContext<MenuContextValue>({ isInsideMenu: false });\n\ninterface MenuProviderProps {\n children: React.ReactNode;\n /** Menu size passed from parent (DropdownMenu.Content, ContextMenu.Content, etc.) */\n size?: Responsive<MenuSize>;\n}\n\n/**\n * Menu row height in pixels per size: the line height plus --row-inset-N above and below\n * (base-menu.css), never under the 24px target floor.\n */\nexport const menuSizeToItemHeight: Record<MenuSize, number> = {\n '1': 24,\n '2': 30,\n '3': 34,\n '4': 38,\n};\n\nexport function getMenuItemHeight(size: MenuSize): number {\n return menuSizeToItemHeight[size];\n}\n\nexport function MenuProvider({ children, size }: MenuProviderProps) {\n const resolvedSize = useResolvedResponsiveValue<MenuSize | undefined>(size, undefined);\n const itemHeight = resolvedSize ? getMenuItemHeight(resolvedSize) : undefined;\n const value = React.useMemo(\n () => ({ isInsideMenu: true, size: resolvedSize, itemHeight }),\n [resolvedSize, itemHeight],\n );\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>;\n}\n\nexport function useMenuContext() {\n return React.useContext(MenuContext);\n}\n\n/**\n * Closes the whole menu from inside it. DropdownMenu.Root and ContextMenu.Root provide it,\n * so a VirtualMenu row can close the menu on select the way a menu item does.\n */\nconst MenuCloseContext = React.createContext<(() => void) | undefined>(undefined);\nexport const MenuCloseProvider = MenuCloseContext.Provider;\n\nexport function useMenuClose() {\n return React.useContext(MenuCloseContext);\n}\n"],
|
|
5
|
-
"mappings": "wCAEA,UAAYA,MAAW,QAyBvB,IAAMC,EAAoB,gBAAgC,CAAE,aAAc,EAAM,CAAC,EAYpEC,EAAiD,CAC5D,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,EACP,EAEO,SAASC,EAAkBC,EAAwB,CACxD,OAAOF,EAAqBE,CAAI,CAClC,CAEO,SAASC,EAAa,CAAE,SAAAC,EAAU,KAAAF,CAAK,EAAsB,CAClE,IAAMG,EAAeC,EAAiDJ,EAAM,MAAS,EAC/EK,EAAaF,EAAeJ,EAAkBI,CAAY,EAAI,OAC9DG,EAAc,UAClB,KAAO,CAAE,aAAc,GAAM,KAAMH,EAAc,WAAAE,CAAW,GAC5D,CAACF,EAAcE,CAAU,CAC3B,EACA,OAAO,gBAACR,EAAY,SAAZ,CAAqB,MAAOS,GAAQJ,CAAS,CACvD,CAEO,SAASK,GAAiB,CAC/B,OAAa,aAAWV,CAAW,CACrC,CAMA,IAAMW,EAAyB,gBAAwC,MAAS,EACnEC,EAAoBD,EAAiB,SAE3C,SAASE,GAAe,CAC7B,OAAa,aAAWF,CAAgB,CAC1C",
|
|
6
|
-
"names": ["React", "MenuContext", "menuSizeToItemHeight", "getMenuItemHeight", "size", "MenuProvider", "children", "resolvedSize", "useResolvedResponsiveValue", "itemHeight", "value", "useMenuContext", "MenuCloseContext", "MenuCloseProvider", "useMenuClose"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/props/font-family.prop.ts"],
|
|
4
|
-
"sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst fontFamilies = ['sans', 'mono', 'serif'] as const;\n\nconst fontFamilyPropDef = {\n font: {\n type: 'enum',\n className: 'kui-r-ff',\n values: fontFamilies,\n },\n} satisfies {\n font: PropDef<(typeof fontFamilies)[number]>;\n};\n\nexport { fontFamilyPropDef };\n"],
|
|
5
|
-
"mappings": "AAEA,IAAMA,EAAe,CAAC,OAAQ,OAAQ,OAAO,EAEvCC,EAAoB,CACxB,KAAM,CACJ,KAAM,OACN,UAAW,WACX,OAAQD,CACV,CACF",
|
|
6
|
-
"names": ["fontFamilies", "fontFamilyPropDef"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as Fe,b as Be}from"./chunk-I53SGTKV.js";import{a as Ve}from"./chunk-MGQ4A2FI.js";import{a as De}from"./chunk-WX7SX5BN.js";import{c as re,d as ie,e as ce,h as ye,i as Me,j as Te}from"./chunk-4ZOVV3TY.js";import{a as Oe}from"./chunk-UY6WJUNA.js";import{a as Ae}from"./chunk-VUPIJNG2.js";import{a as $,b as He,c as we,d as Ne,g as Ie}from"./chunk-3J6AUDID.js";import{a as Le,b as de}from"./chunk-7CUQMU3T.js";import{a as ue,b as pe,c as fe}from"./chunk-5ROQAZ7J.js";import{e as le,f as ge,h as be,i as ee,j as Ce,k as ae,l as se,n as Ee,o as te}from"./chunk-3PTKPDSA.js";import{a as xe,b as ke}from"./chunk-VXQQ6KXI.js";import{a as ze}from"./chunk-HWQ3NTJP.js";import{d as ve}from"./chunk-3YLYGKFB.js";import{a as Se}from"./chunk-TBZO22XK.js";import{a as Xe}from"./chunk-OS3FCYZY.js";var nt={};Xe(nt,{Bottom:()=>Oe,Content:()=>je,Header:()=>Ke,Inspector:()=>Ae,Left:()=>$e,PaneFooter:()=>Me,PaneHeader:()=>ye,Panel:()=>Re,Rail:()=>qe,Root:()=>_e,Scroll:()=>Te,Sidebar:()=>De,Trigger:()=>Ge,useResponsivePresentation:()=>Ve,useShell:()=>Be,useSidebarMode:()=>Fe});import*as e from"react";import U from"classnames";import{Slot as Je}from"radix-ui";import{useComposedRefs as Pe}from"radix-ui/internal";var me=0;function Ue(a){me=Math.max(0,me+a);let s=document.documentElement;me>0?s.setAttribute("data-kui-shell-lock",""):s.removeAttribute("data-kui-shell-lock")}var he="data-kui-shell-inert",Qe=30;function q(a,s){return s===null||s===a||s===a.body||s===a.documentElement}function We(a,s,r){for(let u of a.querySelectorAll("[data-shell-trigger][aria-controls]"))if(!(u.getAttribute("aria-controls")!==s||u.closest("[inert]"))&&!(r&&!r.some(h=>h.contains(u))))return u;return null}var Ye={values:["1","2","3"]},_e=e.forwardRef(({className:a,children:s,height:r="full",size:u,style:h,onKeyDown:A,onFocus:L,...x},k)=>{let S=ve(u,Ye),[i]=e.useState(ge),R=e.useCallback(t=>be(i,t),[i]);e.useSyncExternalStore(R,()=>i.version,()=>0);let f=e.useRef(null),C=Pe(k,f),[E,g]=e.useState(()=>new Set),y=e.useCallback(t=>{g(n=>n.has(t)?n:new Set(n).add(t))},[]),M=e.useCallback(t=>{g(n=>{if(!n.has(t))return n;let o=new Set(n);return o.delete(t),o})},[]),m=e.useMemo(()=>({registerInset:y,unregisterInset:M}),[y,M]),c=e.useCallback(()=>{for(let t of i.entries.values())t.overlayLive&&t.setValue("closed","dismiss")},[i]),H=e.useCallback(()=>[...i.entries.values()].filter(t=>t.overlayLive&&t.el).map(t=>({name:t.name,id:t.id,el:t.el})),[i]),v=[...i.entries.values()].filter(t=>t.overlayLive&&t.el).length,W=r!=="full"&&r!=="auto",w=e.useCallback(()=>{let t=f.current;if(!t)return;let n=H().map(o=>o.el);for(let o of t.children){if(!(o instanceof HTMLElement)||o.classList.contains("kui-ShellScrim"))continue;let d=n.some(z=>o===z||o.contains(z));n.length===0||d?o.hasAttribute(he)&&(o.removeAttribute(he),o.inert=!1):o.inert||(o.setAttribute(he,""),o.inert=!0)}},[H]),_=e.useRef(null),j=e.useRef([]),G=e.useRef(null),D=e.useRef(!1),T=e.useRef(0),N=e.useCallback(()=>{T.current&&cancelAnimationFrame(T.current),T.current=0},[]),X=e.useCallback((t,n)=>{N();let o=0,d=()=>{if(T.current=0,!!t.isConnected){if(n(t.ownerDocument.activeElement)){t.focus({preventScroll:!0});return}o+=1,o<Qe&&(T.current=requestAnimationFrame(d))}};T.current=requestAnimationFrame(d)},[N]);e.useEffect(()=>()=>{N(),D.current&&(D.current=!1,Ue(-1))},[N]),e.useEffect(()=>{let t=f.current;if(!t)return;let n=t.ownerDocument,o=H(),d=o.map(l=>l.el),z=!W&&o.length>0;z!==D.current&&(D.current=z,Ue(z?1:-1));let B=j.current;j.current=o;let O=B.filter(l=>{if(d.includes(l.el))return!1;let p=i.entries.get(l.name);return!l.el.isConnected||!p||p.el!==l.el||p.value==="closed"}),K=l=>l!==null&&O.some(p=>p.el.contains(l));if(B.length===0&&o.length>0){let l=n.activeElement,p=l instanceof HTMLElement&&!q(n,l)&&!d.some(P=>P.contains(l))?l:null;if(p&&!t.contains(p)){let P=G.current;P&&P.isConnected&&!d.some(Z=>Z.contains(P))&&(p=P)}_.current=p}if(w(),o.length===0){let l=_.current;if(_.current=null,O.length===0)return;let P=(b=>b!==null&&b.isConnected&&!b.closest("[inert]")&&!K(b))(l)?l:null;for(let b of O)P??(P=We(n,b.id));if(!P)return;let Z=b=>q(n,b)||K(b);Z(n.activeElement)?P.focus({preventScroll:!0}):X(P,Z);return}if(O.length>0){let l=n.activeElement;if(q(n,l)||K(l)){let p=null;for(let P of O)p??(p=We(n,P.id,d));(p??d[d.length-1]).focus({preventScroll:!0})}}let V=d.filter(l=>!B.some(p=>p.el===l)),oe=n.activeElement;V.length>0&&!d.some(l=>l.contains(oe))&&(V[0].focus({preventScroll:!0}),X(V[0],l=>q(n,l)||l instanceof Element&&l.closest("[inert]")!==null))}),e.useEffect(()=>{let t=f.current;if(!t||v===0||typeof MutationObserver>"u")return;let n=new MutationObserver(w);return n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["inert"]}),()=>n.disconnect()},[v,w]);let J=t=>{A?.(t),!(t.key!=="Escape"||t.defaultPrevented||v===0)&&(c(),t.stopPropagation())};e.useEffect(()=>{let t=f.current;if(!t||v===0)return;let n=t.ownerDocument,o=d=>{d.key!=="Escape"||d.defaultPrevented||!q(n,d.target)||c()};return n.addEventListener("keydown",o),()=>n.removeEventListener("keydown",o)},[v,c]);let Q=t=>{L?.(t),t.target instanceof HTMLElement&&f.current?.contains(t.target)&&(G.current=t.target)},I=i.entries.get("rail"),F=I!==void 0&&I.value!==void 0&&I.value!=="closed"?E.has("rail")?`calc(${I.size}px + 2 * var(--shell-inset-gap))`:`${I.size}px`:void 0,ne=r==="full"?{}:r==="auto"?{height:"auto"}:typeof r=="number"?{height:`${r}px`}:{height:r};return e.createElement(Ce.Provider,{value:i},e.createElement(re.Provider,{value:S},e.createElement(ie.Provider,{value:!1},e.createElement(Ee.Provider,{value:m},e.createElement("div",{...x,ref:C,className:U("kui-ShellRoot",a),"data-height":r==="auto"?"auto":void 0,"data-has-inset":E.size>0||void 0,"data-overlay-live":v>0||void 0,onKeyDown:J,onFocus:Q,style:{...ne,...F?{"--shell-rail-offset":F}:{},...h}},s,e.createElement("div",{className:"kui-ShellScrim","aria-hidden":!0,onClick:c}))))))});_e.displayName="Shell.Root";var Ke=e.forwardRef(({className:a,height:s=64,style:r,...u},h)=>e.createElement("header",{...u,ref:h,className:U("kui-ShellHeader",a),style:{...r,"--shell-header-height":`${s}px`}}));Ke.displayName="Shell.Header";var $e=e.forwardRef(({children:a},s)=>(e.useEffect(()=>{},[]),e.createElement(e.Fragment,null,a)));$e.displayName="Shell.Left";var Ze={controlled:"open",default:"defaultOpen"},qe=e.forwardRef((a,s)=>{let{className:r,presentation:u,expandedSize:h=64,collapsible:A,onExpand:L,onCollapse:x,children:k,style:S,open:i,defaultOpen:R,onOpenChange:f,inset:C,id:E,...g}=a,{table:y,attributes:M}=fe(u,"fixed"),m=ue({name:"rail",label:"Rail",propNames:Ze,id:E,controlled:$(i),defaultValue:$(R),presentationTable:y,builtIn:He,onChange:(H,v)=>f?.(H!=="closed",{reason:v}),onExpand:L,onCollapse:x,size:h});te("rail",C);let c=Pe(s,m.setElement);return e.createElement("div",{...g,id:m.id,ref:c,className:U("kui-ShellPane","kui-ShellRail",r),...pe(m,M),"data-inset":C||void 0,tabIndex:m.overlaying?-1:g.tabIndex,style:{...S,"--rail-size":`${h}px`}},e.createElement(et,null,k))});qe.displayName="Shell.Rail";function et({children:a}){let s=e.useContext(re);return e.createElement("div",{className:U("kui-ShellRailContent",`kui-r-size-${s}`)},e.createElement(ce,{presentation:"thin"},a))}var tt={controlled:"open",default:"defaultOpen"},Re=e.forwardRef((a,s)=>{let{className:r,presentation:u,defaultOpen:h,open:A,onOpenChange:L,size:x,defaultSize:k,expandedSize:S=288,minSize:i=100,maxSize:R=800,resizable:f=!1,collapsible:C=!0,onExpand:E,onCollapse:g,onResize:y,onResizeStart:M,onResizeEnd:m,snapPoints:c,snapTolerance:H,collapseThreshold:v,paneId:W,persistence:w,children:_,style:j,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T=50,inset:N,id:X,...J}=a,Q=ae("Shell.Panel"),I=se(Q,"rail"),Y=fe(u,"fixed"),F=u===void 0,ne=F?I?.presentationTable??le:Y.table,t=F?{"data-presentation-follows":""}:Y.attributes,n=ue({name:"panel",label:"Panel",propNames:tt,id:X,controlled:$(A),defaultValue:$(h),presentationTable:ne,builtIn:we,onChange:(V,oe)=>L?.(V!=="closed",{reason:oe}),onExpand:E,onCollapse:g,size:S});te("panel",N),e.useEffect(()=>{(c!==void 0||v!==void 0||W!==void 0||w!==void 0)&&void 0},[c,v,W,w]);let o=e.useRef(null),d=Pe(s,n.setElement,o),z=xe({name:"panel",elementId:n.id,elementRef:o,cssVarName:"--panel-size",orientation:"vertical",edge:"end",growth:Ne,expandedSize:S,minSize:i,maxSize:R,resizable:f,collapsible:C,size:x,defaultSize:k,onSizeChange:G,sizeUpdate:D,sizeUpdateMs:T,onResize:y,onResizeStart:M,onResizeEnd:m,snapPoints:c,snapTolerance:H,collapseThreshold:v,paneId:W,persistence:w,overlaying:n.overlaying,overlayingNow:()=>(F?Q.entries.get("rail")?.presentationTable??le:Y.table)[Se()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:B,content:O}=ke(_,de),K=f&&n.shown!==!1&&!n.overlaying?e.createElement(ze.Provider,{value:z},B.length>0?B:e.createElement(Le,null)):null;return e.createElement("div",{...Ie(J),id:n.id,ref:d,className:U("kui-ShellPane","kui-ShellPanel",r),...pe(n,t),"data-inset":N||void 0,tabIndex:n.overlaying?-1:J.tabIndex,style:{...j,"--panel-expanded-size":`${S}px`}},e.createElement("div",{className:"kui-ShellPanelContent"},e.createElement(ce,null,O)),K)});Re.displayName="Shell.Panel";Re.Handle=de;var je=e.forwardRef(({className:a,inset:s,children:r,...u},h)=>(te("content",s),e.createElement("main",{...u,ref:h,className:U("kui-ShellContent",a),"data-inset":s||void 0},e.createElement(ie.Provider,{value:!0},r))));je.displayName="Shell.Content";var Ge=e.forwardRef(({target:a,action:s="toggle",peekOnHover:r,asChild:u=!1,onClick:h,onMouseEnter:A,onMouseLeave:L,children:x,...k},S)=>{let i=ae("Shell.Trigger");e.useEffect(()=>{a==="left"&&void 0,r&&void 0},[a,r]);let R=a==="left"?"rail":a,f=se(i,R),C=f?.value===void 0?void 0:f.value!=="closed",E=m=>{if(h?.(m),m.defaultPrevented)return;let c=i.entries.get(R);c&&(i.peek===R&&ee(i,null),s==="toggle"?c.toggle("toggle"):s==="expand"?c.setValue("open","toggle"):c.setValue("closed","toggle"))},g=m=>{if(A?.(m),!r)return;let c=i.entries.get(R);c&&c.value==="closed"&&c.presentation!=="overlay"&&ee(i,R)},y=m=>{L?.(m),r&&i.peek===R&&ee(i,null)},M=u?Je.Root:"button";return e.createElement(M,{...!u&&{type:"button"},"aria-controls":f?.id,"aria-expanded":C,...k,ref:S,onClick:E,onMouseEnter:g,onMouseLeave:y,"data-shell-trigger":a,"data-shell-action":s},x)});Ge.displayName="Shell.Trigger";export{_e as a,Ke as b,$e as c,qe as d,Re as e,je as f,Ge as g,nt as h};
|
|
2
|
-
//# sourceMappingURL=chunk-VUNCI6A6.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/shell.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * Shell: the app frame.\n *\n * Since 0.8.0 the Shell is built on kookie-ui-v2's model, behind v1's API:\n *\n * - The Root is a CSS grid and renders its children as given, in JSX order.\n * Each pane claims its own grid area, so the Root never scans or reorders\n * children, any child renders, and a pane mounted after the Root works.\n * - State lives on each pane: `auto` (untouched), `open` or `closed`. An\n * untouched pane follows the window, resolved by the\n * stylesheet, so first paint needs no script and no open-state callback\n * fires on mount or on a resize.\n * - A pane is one element at every width. `overlay` is a posture of that\n * element, not a Sheet swapped in: crossing a breakpoint keeps its scroll\n * position, its focus and its children's state.\n * - The Root owns what an overlay needs: one scrim, `inert` on everything\n * else, focus moved in and returned, Escape, and a scroll lock.\n * - Nothing links panes to each other. A Rail closing no longer closes the\n * Panel; an app that wants that writes it in `onOpenChange`.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from 'radix-ui';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './_internal/shell-resize.js';\nimport { PaneHandle, PanelHandle } from './_internal/shell-handles.js';\nimport { Sidebar } from './_internal/shell-sidebar.js';\nimport { Bottom } from './_internal/shell-bottom.js';\nimport { Inspector } from './_internal/shell-inspector.js';\nimport { usePane, paneAttributes, usePresentationTable } from './_internal/shell-pane.js';\nimport { splitHandles, useResizablePane } from './_internal/shell-resizable.js';\nimport {\n FIXED_TABLE,\n ShellInsetContext,\n ShellStoreContext,\n createShellStore,\n setShellPeek,\n subscribeShellStore,\n useInsetRegistration,\n usePaneEntry,\n useShellStore,\n warnOnce,\n type InsetPaneId,\n} from './_internal/shell-store.js';\nimport { navigationRest, detailRest, toPaneValue, startAnchoredGrowth, withoutRemovedPaneProps } from './_internal/shell-rest.js';\nimport { useShell, useSidebarMode } from './shell.context.js';\nimport { useResponsivePresentation } from './shell.hooks.js';\nimport { readBreakpoint } from '../hooks/use-breakpoint.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\nimport { PaneChromeScope, PaneFooter, PaneHeader, Scroll, ShellContentContext, ShellSizeContext } from './_internal/pane-chrome.js';\nimport type { PaneSize } from './_internal/pane-chrome.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps, PaneMode, PaneName, PaneTarget, ResponsivePresentation, SidebarMode } from './shell.types.js';\n\n/* \u2500\u2500 Root \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\nexport interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {\n children: React.ReactNode;\n height?: 'full' | 'auto' | string | number;\n /** The index the panes' chrome takes: `Shell.PaneHeader`, `Shell.Scroll`, `Shell.PaneFooter` and the Sidebar rows in them. Defaults to the nearest Theme's size (3 when the Theme is 4), else `2`. */\n size?: PaneSize;\n}\n\n/**\n * Every Shell with a live overlay holds the page still, counted across Shells,\n * through an attribute the stylesheet reads. Saving and restoring the\n * document's inline `overflow` would fight any other scroll lock on the page.\n */\nlet pageLockHolders = 0;\nfunction updatePageLock(delta: 1 | -1) {\n pageLockHolders = Math.max(0, pageLockHolders + delta);\n const doc = document.documentElement;\n if (pageLockHolders > 0) doc.setAttribute('data-kui-shell-lock', '');\n else doc.removeAttribute('data-kui-shell-lock');\n}\n\n/** Marks a child the Root made inert, so closing removes only what the Root added. */\nconst INERT_MARK = 'data-kui-shell-inert';\n\n/** How many frames a focus rescue watches after an overlay opens or closes. */\nconst RESCUE_FRAMES = 30;\n\n/** Focus that is nowhere useful: the document, or nothing at all. */\nfunction isNowhere(doc: Document, el: Element | EventTarget | null): boolean {\n return el === null || el === doc || el === doc.body || el === doc.documentElement;\n}\n\n/** A Trigger that drives the pane with this id and can take focus, optionally only inside `within`. */\nfunction triggerFor(doc: Document, id: string, within?: HTMLElement[]): HTMLElement | null {\n for (const el of doc.querySelectorAll<HTMLElement>('[data-shell-trigger][aria-controls]')) {\n if (el.getAttribute('aria-controls') !== id || el.closest('[inert]')) continue;\n if (within && !within.some((pane) => pane.contains(el))) continue;\n return el;\n }\n return null;\n}\n\ntype LivePane = { name: PaneName; id: string; el: HTMLElement };\n\n/** Shell.Root's own range; a Theme size above it maps to 3. */\nconst shellSizePropDef = { values: ['1', '2', '3'] as const };\n\nconst Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', size: sizeProp, style, onKeyDown, onFocus, ...props }, ref) => {\n // No size of its own: the nearest Theme's, mapped into 1-3.\n const size = useThemeSize(sizeProp, shellSizePropDef);\n const [store] = React.useState(createShellStore);\n const subscribe = React.useCallback((listener: () => void) => subscribeShellStore(store, listener), [store]);\n // Subscribed for the re-render, not for a value: a pane opening or closing\n // must bring the Root back so containment and the scrim follow it.\n React.useSyncExternalStore(\n subscribe,\n () => store.version,\n () => 0,\n );\n\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const composedRef = useComposedRefs(ref, rootRef);\n\n // Inset: the Root paints the backdrop while any pane is inset.\n const [insetPanes, setInsetPanes] = React.useState<ReadonlySet<InsetPaneId>>(() => new Set());\n const registerInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => (prev.has(id) ? prev : new Set(prev).add(id)));\n }, []);\n const unregisterInset = React.useCallback((id: InsetPaneId) => {\n setInsetPanes((prev) => {\n if (!prev.has(id)) return prev;\n const next = new Set(prev);\n next.delete(id);\n return next;\n });\n }, []);\n const insetContext = React.useMemo(() => ({ registerInset, unregisterInset }), [registerInset, unregisterInset]);\n\n const closeOverlays = React.useCallback(() => {\n for (const entry of store.entries.values()) {\n if (entry.overlayLive) entry.setValue('closed', 'dismiss');\n }\n }, [store]);\n\n const livePanes = React.useCallback(\n (): LivePane[] => [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).map((entry) => ({ name: entry.name, id: entry.id, el: entry.el as HTMLElement })),\n [store],\n );\n const liveCount = [...store.entries.values()].filter((entry) => entry.overlayLive && entry.el).length;\n\n // A Shell given a height of its own sits inside a page, and its overlays\n // cover only its box: it holds no page lock. `full` is the page, and\n // `auto` grows with its content, so its overlays are placed on the window.\n const contained = height !== 'full' && height !== 'auto';\n\n /*\n * Containment is the Root's, not the pane's. Only the Root can see every live\n * overlay and every child at once. A per-pane effect, given two overlays,\n * inerts the other live overlay and restores values the other effect wrote,\n * which can leave the whole frame inert for good.\n *\n * Exempt are the scrim and each root child that CONTAINS a live overlay, so\n * a pane wrapped in a plain element is not inerted with its wrapper. A child\n * the Root inerts is marked, and closing clears only marked children, so\n * `inert` the app sets on a child is the app's before, during and after.\n */\n const contain = React.useCallback(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const liveEls = livePanes().map((pane) => pane.el);\n for (const child of rootEl.children) {\n if (!(child instanceof HTMLElement) || child.classList.contains('kui-ShellScrim')) continue;\n const holdsLive = liveEls.some((el) => child === el || child.contains(el));\n if (liveEls.length === 0 || holdsLive) {\n if (child.hasAttribute(INERT_MARK)) {\n child.removeAttribute(INERT_MARK);\n child.inert = false;\n }\n } else if (!child.inert) {\n child.setAttribute(INERT_MARK, '');\n child.inert = true;\n }\n }\n }, [livePanes]);\n\n const returnFocusTo = React.useRef<HTMLElement | null>(null);\n const lastLive = React.useRef<LivePane[]>([]);\n const lastFocusInRoot = React.useRef<HTMLElement | null>(null);\n const holdsLock = React.useRef(false);\n\n /*\n * Focus can be taken away after the commit that moved it: a menu that\n * opened or closed a pane restores focus to its own trigger when it\n * finishes closing, which may be inert or hidden by then. For a few frames\n * after an overlay opens or closes, focus that ends up nowhere useful is\n * put back where it belongs.\n */\n const rescueFrame = React.useRef(0);\n const cancelRescue = React.useCallback(() => {\n if (rescueFrame.current) cancelAnimationFrame(rescueFrame.current);\n rescueFrame.current = 0;\n }, []);\n const rescueFocus = React.useCallback(\n (target: HTMLElement, lost: (active: Element | null) => boolean) => {\n cancelRescue();\n let frames = 0;\n const tick = () => {\n rescueFrame.current = 0;\n if (!target.isConnected) return;\n if (lost(target.ownerDocument.activeElement)) {\n target.focus({ preventScroll: true });\n return;\n }\n frames += 1;\n if (frames < RESCUE_FRAMES) rescueFrame.current = requestAnimationFrame(tick);\n };\n rescueFrame.current = requestAnimationFrame(tick);\n },\n [cancelRescue],\n );\n\n React.useEffect(\n () => () => {\n cancelRescue();\n if (holdsLock.current) {\n holdsLock.current = false;\n updatePageLock(-1);\n }\n },\n [cancelRescue],\n );\n\n // No dependency array, on purpose: a pane opening or closing is a render\n // of this component, and so is a child appearing through the Root.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl) return;\n const doc = rootEl.ownerDocument;\n const live = livePanes();\n const liveEls = live.map((pane) => pane.el);\n\n const wantsLock = !contained && live.length > 0;\n if (wantsLock !== holdsLock.current) {\n holdsLock.current = wantsLock;\n updatePageLock(wantsLock ? 1 : -1);\n }\n\n const previous = lastLive.current;\n lastLive.current = live;\n // A pane that left the live set because it closed, as opposed to one\n // that is still open but stopped being an overlay at a breakpoint.\n const closed = previous.filter((pane) => {\n if (liveEls.includes(pane.el)) return false;\n const entry = store.entries.get(pane.name);\n return !pane.el.isConnected || !entry || entry.el !== pane.el || entry.value === 'closed';\n });\n const inClosed = (active: Element | null) => active !== null && closed.some((pane) => pane.el.contains(active));\n\n // The return target is taken on the opening edge, before inerting: inerting\n // the subtree that holds the trigger blurs it. Focus already inside the\n // overlay (a pane that became one at a breakpoint) is no place to return\n // to, and an opener in a portal (a menu item) goes away with its menu, so\n // the last place focus held inside the frame stands in for it.\n if (previous.length === 0 && live.length > 0) {\n const active = doc.activeElement;\n let target = active instanceof HTMLElement && !isNowhere(doc, active) && !liveEls.some((el) => el.contains(active)) ? active : null;\n if (target && !rootEl.contains(target)) {\n const inRoot = lastFocusInRoot.current;\n if (inRoot && inRoot.isConnected && !liveEls.some((el) => el.contains(inRoot))) target = inRoot;\n }\n returnFocusTo.current = target;\n }\n\n contain();\n\n if (live.length === 0) {\n const before = returnFocusTo.current;\n returnFocusTo.current = null;\n // Every overlay that left only stopped being one: focus stays where it is.\n if (closed.length === 0) return;\n const usable = (el: HTMLElement | null) => el !== null && el.isConnected && !el.closest('[inert]') && !inClosed(el);\n let target = usable(before) ? before : null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id);\n if (!target) return;\n const lost = (active: Element | null) => isNowhere(doc, active) || inClosed(active);\n if (lost(doc.activeElement)) target.focus({ preventScroll: true });\n else rescueFocus(target, lost);\n return;\n }\n\n // Some overlays closed while others stay: focus left in a closed one goes\n // to the Trigger that opened it, if a live pane holds it, or to the pane\n // on top.\n if (closed.length > 0) {\n const active = doc.activeElement;\n if (isNowhere(doc, active) || inClosed(active)) {\n let target: HTMLElement | null = null;\n for (const pane of closed) target ??= triggerFor(doc, pane.id, liveEls);\n (target ?? liveEls[liveEls.length - 1]).focus({ preventScroll: true });\n }\n }\n\n // Focus moves in on the opening edge and nowhere else, and only when it\n // is not already somewhere the user put it inside the live set.\n const opened = liveEls.filter((el) => !previous.some((pane) => pane.el === el));\n const active = doc.activeElement;\n if (opened.length > 0 && !liveEls.some((el) => el.contains(active))) {\n opened[0].focus({ preventScroll: true });\n rescueFocus(opened[0], (now) => isNowhere(doc, now) || (now instanceof Element && now.closest('[inert]') !== null));\n }\n });\n\n // A child that appears through its own state while an overlay is live does\n // not render the Root, so the Root watches its children while one is.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0 || typeof MutationObserver === 'undefined') return;\n const observer = new MutationObserver(contain);\n observer.observe(rootEl, { childList: true, subtree: true, attributes: true, attributeFilter: ['inert'] });\n return () => observer.disconnect();\n }, [liveCount, contain]);\n\n /*\n * Escape closes the overlays. It is handled as a React event on the Root, so\n * a component inside a pane that answers Escape in its own onKeyDown runs\n * first, and its preventDefault() or stopPropagation() keeps the pane open.\n * When the Root closes something it stops the event there, so a React\n * Escape handler above the Shell does not act on it too. A layer that\n * listens on the document in the capture phase (Radix dialogs, menus and\n * popovers) answers first and calls preventDefault() when it closes, so an\n * enclosing Kookie Dialog closes before a Shell inside it is asked.\n */\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(event);\n if (event.key !== 'Escape' || event.defaultPrevented || liveCount === 0) return;\n closeOverlays();\n event.stopPropagation();\n };\n\n // With focus on the document itself (a pane closed under it, or a menu that\n // closed and took focus with it), the Root never sees the key. While an\n // overlay is live the document answers that one case.\n React.useEffect(() => {\n const rootEl = rootRef.current;\n if (!rootEl || liveCount === 0) return;\n const doc = rootEl.ownerDocument;\n const onDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Escape' || event.defaultPrevented || !isNowhere(doc, event.target)) return;\n closeOverlays();\n };\n doc.addEventListener('keydown', onDocumentKeyDown);\n return () => doc.removeEventListener('keydown', onDocumentKeyDown);\n }, [liveCount, closeOverlays]);\n\n const handleFocus = (event: React.FocusEvent<HTMLDivElement>) => {\n onFocus?.(event);\n if (event.target instanceof HTMLElement && rootRef.current?.contains(event.target)) lastFocusInRoot.current = event.target;\n };\n\n // A floating Panel sits beside the Rail when the Rail is showing, and\n // beside its card when the Rail is inset.\n const rail = store.entries.get('rail');\n const railShown = rail !== undefined && rail.value !== undefined && rail.value !== 'closed';\n const railOffset = railShown ? (insetPanes.has('rail') ? `calc(${rail.size}px + 2 * var(--shell-inset-gap))` : `${rail.size}px`) : undefined;\n\n // `full` writes no inline height: the stylesheet states it as 100vh with a\n // 100dvh override where supported, and an inline value would beat both.\n const heightStyle: React.CSSProperties = height === 'full' ? {} : height === 'auto' ? { height: 'auto' } : typeof height === 'number' ? { height: `${height}px` } : { height };\n\n return (\n <ShellStoreContext.Provider value={store}>\n <ShellSizeContext.Provider value={size}>\n <ShellContentContext.Provider value={false}>\n <ShellInsetContext.Provider value={insetContext}>\n {/* The Root is not a widget: it hears Escape bubbling up from the panes,\n after their own handlers, to close the overlays. */}\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n {...props}\n ref={composedRef}\n className={classNames('kui-ShellRoot', className)}\n data-height={height === 'auto' ? 'auto' : undefined}\n data-has-inset={insetPanes.size > 0 || undefined}\n data-overlay-live={liveCount > 0 || undefined}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n style={{ ...heightStyle, ...(railOffset ? ({ '--shell-rail-offset': railOffset } as CSSPropertiesWithVars) : {}), ...style }}\n >\n {children}\n {/* Root-owned and always mounted. The stylesheet shows it while an\n overlay is live; containment takes the rest of the frame out of\n the accessibility tree, so the scrim itself is hidden from it. */}\n <div className=\"kui-ShellScrim\" aria-hidden onClick={closeOverlays} />\n </div>\n </ShellInsetContext.Provider>\n </ShellContentContext.Provider>\n </ShellSizeContext.Provider>\n </ShellStoreContext.Provider>\n );\n});\nRoot.displayName = 'Shell.Root';\n\n/* \u2500\u2500 Header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {\n height?: number;\n}\n\nconst Header = React.forwardRef<HTMLElement, ShellHeaderProps>(({ className, height = 64, style, ...props }, ref) => (\n <header\n {...props}\n ref={ref}\n className={classNames('kui-ShellHeader', className)}\n style={\n {\n ...style,\n '--shell-header-height': `${height}px`,\n } as CSSPropertiesWithVars\n }\n />\n));\nHeader.displayName = 'Shell.Header';\n\n/* \u2500\u2500 Left (deprecated) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface LeftProps extends React.ComponentPropsWithoutRef<'div'> {\n presentation?: ResponsivePresentation;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean, meta: { reason: 'init' | 'toggle' | 'panel' | 'responsive' | 'dismiss' }) => void;\n collapsible?: boolean;\n onExpand?: () => void;\n onCollapse?: () => void;\n inset?: boolean;\n}\n\n/**\n * @deprecated The Root no longer wraps the Rail and Panel in a Left\n * container: each is its own pane. `Shell.Left` renders its children and\n * ignores its own props. Removed in 1.0.\n */\nconst Left = React.forwardRef<HTMLDivElement, LeftProps>(({ children }, _ref) => {\n React.useEffect(() => {\n warnOnce('Shell.Left is deprecated and is removed in 1.0. Render Shell.Rail and Shell.Panel directly in Shell.Root.');\n }, []);\n return <>{children}</>;\n});\nLeft.displayName = 'Shell.Left';\n\n/* \u2500\u2500 Rail \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype RailOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'panel' | 'dismiss' };\n\ntype RailControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; defaultOpen?: never };\ntype RailUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: RailOpenChangeMeta) => void; open?: never };\n\ntype RailProps = React.ComponentPropsWithoutRef<'div'> & {\n presentation?: ResponsivePresentation;\n expandedSize?: number;\n collapsible?: boolean;\n /** @deprecated Use `onOpenChange`. */\n onExpand?: () => void;\n /** @deprecated Use `onOpenChange`. */\n onCollapse?: () => void;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n} & (RailControlledProps | RailUncontrolledProps);\n\nconst RAIL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\nconst Rail = React.forwardRef<HTMLDivElement, RailProps>((props, ref) => {\n const { className, presentation, expandedSize = 64, collapsible: _collapsible, onExpand, onCollapse, children, style, open, defaultOpen, onOpenChange, inset, id, ...domProps } = props;\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'rail',\n label: 'Rail',\n propNames: RAIL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable: table,\n builtIn: navigationRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('rail', inset);\n const composedRef = useComposedRefs(ref, pane.setElement);\n\n return (\n <div\n {...domProps}\n id={pane.id}\n ref={composedRef}\n className={classNames('kui-ShellPane', 'kui-ShellRail', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={{ ...style, '--rail-size': `${expandedSize}px` } as CSSPropertiesWithVars}\n >\n <RailContent>{children}</RailContent>\n </div>\n );\n});\nRail.displayName = 'Shell.Rail';\n\n/** The Rail's content carries the index, so the thin row styles can size themselves by it. */\nfunction RailContent({ children }: { children: React.ReactNode }) {\n const size = React.useContext(ShellSizeContext);\n return (\n <div className={classNames('kui-ShellRailContent', `kui-r-size-${size}`)}>\n <PaneChromeScope presentation=\"thin\">{children}</PaneChromeScope>\n </div>\n );\n}\n\n/* \u2500\u2500 Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;\n\ntype PanelOpenChangeMeta = { reason: 'toggle' | 'left' | 'init' | 'responsive' | 'dismiss' };\ntype PanelControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; defaultOpen?: never };\ntype PanelUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; open?: never };\n\ntype PanelSizeControlledProps = { size: number | string; defaultSize?: never };\ntype PanelSizeUncontrolledProps = { defaultSize?: number | string; size?: never };\n\ntype PanelSizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\ntype PanelPublicProps = PaneBaseProps &\n (PanelControlledProps | PanelUncontrolledProps) &\n (PanelSizeControlledProps | PanelSizeUncontrolledProps) & {\n onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n };\ntype PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {\n Handle: HandleComponent;\n};\n\nconst PANEL_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\n/**\n * A Panel with a `presentation` of its own uses it. One without follows the\n * Rail rendered before it, which is how 0.7 placed a Panel; the stylesheet\n * reads the Rail's attributes for the first paint and the registry carries\n * the Rail's table for the JS mirror.\n */\nconst Panel = React.forwardRef<HTMLDivElement, PanelPublicProps>((props, ref) => {\n const {\n className,\n presentation,\n defaultOpen,\n open,\n onOpenChange,\n size,\n defaultSize,\n expandedSize = 288,\n minSize = 100,\n maxSize = 800,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n inset,\n id,\n ...domProps\n } = props;\n const store = useShellStore('Shell.Panel');\n const rail = usePaneEntry(store, 'rail');\n const own = usePresentationTable(presentation, 'fixed');\n const followsRail = presentation === undefined;\n const presentationTable = followsRail ? (rail?.presentationTable ?? FIXED_TABLE) : own.table;\n const presentationAttributes = followsRail ? { 'data-presentation-follows': '' } : own.attributes;\n\n const pane = usePane({\n name: 'panel',\n label: 'Panel',\n propNames: PANEL_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable,\n builtIn: detailRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('panel', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Panel: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'panel',\n elementId: pane.id,\n elementRef,\n cssVarName: '--panel-size',\n orientation: 'vertical',\n edge: 'end',\n growth: startAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n // Asked when the effect runs: the Rail registers its table after this\n // Panel first renders, so the render's answer can be out of date.\n overlayingNow: () => {\n const table = followsRail ? (store.entries.get('rail')?.presentationTable ?? FIXED_TABLE) : own.table;\n return table[readBreakpoint()] === 'overlay';\n },\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, PanelHandle);\n const handle = resizable && pane.shown !== false && !pane.overlaying ? <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider> : null;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('kui-ShellPane', 'kui-ShellPanel', className)}\n {...paneAttributes(pane, presentationAttributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--panel-expanded-size': `${expandedSize}px`,\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"kui-ShellPanelContent\">\n <PaneChromeScope>{content}</PaneChromeScope>\n </div>\n {handle}\n </div>\n );\n}) as PanelComponent;\nPanel.displayName = 'Shell.Panel';\nPanel.Handle = PanelHandle;\n\n/* \u2500\u2500 Content \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ninterface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n}\n\n/**\n * The work area. It scrolls as it is; with a `Shell.Scroll` child it becomes a column and the\n * Scroll scrolls instead, so a `Shell.PaneHeader float` beside it stays pinned over the page.\n */\nconst Content = React.forwardRef<HTMLElement, ShellContentProps>(({ className, inset, children, ...props }, ref) => {\n useInsetRegistration('content', inset);\n return (\n <main {...props} ref={ref} className={classNames('kui-ShellContent', className)} data-inset={inset || undefined}>\n <ShellContentContext.Provider value={true}>{children}</ShellContentContext.Provider>\n </main>\n );\n});\nContent.displayName = 'Shell.Content';\n\n/* \u2500\u2500 Trigger \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\ntype TriggerAction = 'toggle' | 'expand' | 'collapse';\n\ninterface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {\n target: PaneTarget;\n action?: TriggerAction;\n /**\n * Renders the single child in place of the trigger's own button, with the trigger's click,\n * `aria-controls`, `aria-expanded` and data attributes merged onto it. Use it to make a\n * `Button` the trigger: `<Shell.Trigger asChild><Button iconOnly aria-label=\"Toggle sidebar\">\u2026</Button></Shell.Trigger>`.\n */\n asChild?: boolean;\n /**\n * Whether to show a preview of the target pane on hover while it is closed\n * and not an overlay. Defaults to false.\n *\n * @deprecated Removed in 1.0. A preview reachable only by mouse hover has no\n * keyboard or touch equivalent; open the pane instead.\n */\n peekOnHover?: boolean;\n}\n\n/**\n * A button that drives a pane by name, through the registry. It sets\n * `aria-controls` and `aria-expanded` (left off while an untouched pane\n * cannot know its state yet), renders `type=\"button\"`, and runs the\n * consumer's `onClick` first: calling `preventDefault()` there cancels it. With `asChild` the\n * child is the button, and its own `type` stands.\n */\nconst Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(({ target, action = 'toggle', peekOnHover, asChild = false, onClick, onMouseEnter, onMouseLeave, children, ...props }, ref) => {\n const store = useShellStore('Shell.Trigger');\n React.useEffect(() => {\n if (target === 'left') warnOnce('Shell.Trigger target=\"left\" is deprecated and is removed in 1.0. Use target=\"rail\".');\n if (peekOnHover) warnOnce('Shell.Trigger: `peekOnHover` is deprecated and is removed in 1.0.');\n }, [target, peekOnHover]);\n const name: PaneName = target === 'left' ? 'rail' : target;\n // Subscribes to its own pane only.\n const entry = usePaneEntry(store, name);\n const shown = entry?.value === undefined ? undefined : entry.value !== 'closed';\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n const current = store.entries.get(name);\n if (!current) return;\n if (store.peek === name) setShellPeek(store, null);\n if (action === 'toggle') current.toggle('toggle');\n else if (action === 'expand') current.setValue('open', 'toggle');\n else current.setValue('closed', 'toggle');\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseEnter?.(event);\n if (!peekOnHover) return;\n const current = store.entries.get(name);\n if (current && current.value === 'closed' && current.presentation !== 'overlay') setShellPeek(store, name);\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseLeave?.(event);\n if (peekOnHover && store.peek === name) setShellPeek(store, null);\n };\n\n const Comp = asChild ? Slot.Root : 'button';\n return (\n <Comp\n // A button's default type is `submit`. Stated before the spread, so a consumer's own wins.\n // An asChild child states its own (Button already says `button`; a link has none), so the\n // key is left off rather than passed as undefined.\n {...(!asChild && { type: 'button' as const })}\n aria-controls={entry?.id}\n aria-expanded={shown}\n {...props}\n ref={ref}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n data-shell-trigger={target}\n data-shell-action={action}\n >\n {children}\n </Comp>\n );\n});\nTrigger.displayName = 'Shell.Trigger';\n\n// Exports\nexport {\n Root,\n Header,\n Left,\n Rail,\n Panel,\n Sidebar,\n Content,\n Inspector,\n Bottom,\n Trigger,\n PaneHeader,\n PaneFooter,\n Scroll,\n useShell,\n useSidebarMode,\n useResponsivePresentation,\n type PaneMode,\n type SidebarMode,\n type ResponsivePresentation,\n type PaneTarget,\n type TriggerAction,\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["shell_exports", "__export", "Bottom", "Content", "Header", "Inspector", "Left", "PaneFooter", "PaneHeader", "Panel", "Rail", "Root", "Scroll", "Sidebar", "Trigger", "useResponsivePresentation", "useShell", "useSidebarMode", "React", "classNames", "Slot", "useComposedRefs", "pageLockHolders", "updatePageLock", "delta", "doc", "INERT_MARK", "RESCUE_FRAMES", "isNowhere", "el", "triggerFor", "id", "within", "pane", "shellSizePropDef", "Root", "className", "children", "height", "sizeProp", "style", "onKeyDown", "onFocus", "props", "ref", "size", "useThemeSize", "store", "createShellStore", "subscribe", "listener", "subscribeShellStore", "rootRef", "composedRef", "useComposedRefs", "insetPanes", "setInsetPanes", "registerInset", "prev", "unregisterInset", "next", "insetContext", "closeOverlays", "entry", "livePanes", "liveCount", "contained", "contain", "rootEl", "liveEls", "child", "holdsLive", "returnFocusTo", "lastLive", "lastFocusInRoot", "holdsLock", "rescueFrame", "cancelRescue", "rescueFocus", "target", "lost", "frames", "tick", "live", "wantsLock", "previous", "closed", "inClosed", "active", "inRoot", "before", "opened", "now", "observer", "handleKeyDown", "event", "onDocumentKeyDown", "handleFocus", "rail", "railOffset", "heightStyle", "ShellStoreContext", "ShellSizeContext", "ShellContentContext", "ShellInsetContext", "classNames", "Header", "Left", "_ref", "RAIL_PROP_NAMES", "Rail", "presentation", "expandedSize", "_collapsible", "onExpand", "onCollapse", "open", "defaultOpen", "onOpenChange", "inset", "domProps", "table", "attributes", "usePresentationTable", "usePane", "toPaneValue", "navigationRest", "value", "reason", "useInsetRegistration", "paneAttributes", "RailContent", "PaneChromeScope", "PANEL_PROP_NAMES", "Panel", "defaultSize", "minSize", "maxSize", "resizable", "collapsible", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "useShellStore", "usePaneEntry", "own", "followsRail", "presentationTable", "FIXED_TABLE", "presentationAttributes", "detailRest", "elementRef", "resize", "useResizablePane", "startAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "PanelHandle", "handle", "PaneResizeContext", "PaneHandle", "withoutRemovedPaneProps", "Content", "Trigger", "action", "peekOnHover", "asChild", "onClick", "onMouseEnter", "onMouseLeave", "name", "shown", "handleClick", "current", "setShellPeek", "handleMouseEnter", "handleMouseLeave", "Comp", "Slot"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l,c as x,e as O,g as E}from"./chunk-3J6AUDID.js";import{a as C,d as i}from"./chunk-7CUQMU3T.js";import{a as S,b,c as R}from"./chunk-5ROQAZ7J.js";import{o as I}from"./chunk-3PTKPDSA.js";import{a as v,b as y}from"./chunk-VXQQ6KXI.js";import{a as g}from"./chunk-HWQ3NTJP.js";import{a as h}from"./chunk-TBZO22XK.js";import*as e from"react";import ae from"classnames";import{useComposedRefs as re}from"radix-ui/internal";var ie={controlled:"open",default:"defaultOpen"},le={initial:"overlay",sm:"fixed"},T=e.forwardRef((N,M)=>{let{className:w,presentation:H=le,defaultOpen:U,open:k,onOpenChange:A,expandedSize:o=320,minSize:p=200,maxSize:d=500,resizable:c=!1,collapsible:B=!0,onExpand:V,onCollapse:L,onResize:_,onResizeStart:D,onResizeEnd:$,snapPoints:t,snapTolerance:q,collapseThreshold:s,paneId:a,persistence:r,children:F,style:W,onSizeChange:j,sizeUpdate:G,sizeUpdateMs:K=50,size:J,defaultSize:Q,inset:m,id:X,...u}=N,{table:f,attributes:Y}=R(H,"fixed"),n=S({name:"inspector",label:"Inspector",propNames:ie,id:X,controlled:l(k),defaultValue:l(U),presentationTable:f,builtIn:x,onChange:(te,se)=>A?.(te!=="closed",{reason:se}),onExpand:V,onCollapse:L,size:o});I("inspector",m),e.useEffect(()=>{(t!==void 0||s!==void 0||a!==void 0||r!==void 0)&&void 0},[t,s,a,r]);let P=e.useRef(null),Z=re(M,n.setElement,P),ee=v({name:"inspector",elementId:n.id,elementRef:P,cssVarName:"--inspector-size",orientation:"vertical",edge:"start",growth:O,expandedSize:o,minSize:p,maxSize:d,resizable:c,collapsible:B,size:J,defaultSize:Q,onSizeChange:j,sizeUpdate:G,sizeUpdateMs:K,onResize:_,onResizeStart:D,onResizeEnd:$,snapPoints:t,snapTolerance:q,collapseThreshold:s,paneId:a,persistence:r,overlaying:n.overlaying,overlayingNow:()=>f[h()]==="overlay",requestCollapse:()=>n.setValue("closed","toggle"),requestToggle:()=>n.toggle("toggle")}),{handles:z,content:ne}=y(F,i),oe=c&&n.shown!==!1&&!n.overlaying?e.createElement(g.Provider,{value:ee},z.length>0?z:e.createElement(C,null)):null;return e.createElement("div",{...E(u),id:n.id,ref:Z,className:ae("kui-ShellPane","kui-ShellInspector",w),...b(n,Y),"data-inset":m||void 0,tabIndex:n.overlaying?-1:u.tabIndex,style:{...W,"--inspector-expanded-size":`${o}px`,"--inspector-min-size":`${p}px`,"--inspector-max-size":`${d}px`}},e.createElement("div",{className:"kui-ShellInspectorContent"},ne),oe)});T.displayName="Shell.Inspector";T.Handle=i;export{T as a};
|
|
2
|
-
//# sourceMappingURL=chunk-VUPIJNG2.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/_internal/shell-inspector.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useComposedRefs } from 'radix-ui/internal';\nimport { PaneResizeContext } from './shell-resize.js';\nimport { InspectorHandle, PaneHandle } from './shell-handles.js';\nimport { usePane, paneAttributes, usePresentationTable } from './shell-pane.js';\nimport { splitHandles, useResizablePane, type SizeChangeMeta } from './shell-resizable.js';\nimport { useInsetRegistration, warnOnce } from './shell-store.js';\nimport { detailRest, endAnchoredGrowth, toPaneValue, withoutRemovedPaneProps } from './shell-rest.js';\nimport { readBreakpoint } from '../../hooks/use-breakpoint.js';\nimport type { Breakpoint, CSSPropertiesWithVars, PaneBaseProps } from '../shell.types.js';\n\ntype InspectorOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'dismiss' };\ntype InspectorControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: InspectorOpenChangeMeta) => void; defaultOpen?: never };\ntype InspectorUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: InspectorOpenChangeMeta) => void; open?: never };\ntype InspectorSizeControlledProps = { size: number | string; defaultSize?: never };\ntype InspectorSizeUncontrolledProps = { defaultSize?: number | string; size?: never };\ntype InspectorPublicProps = PaneBaseProps &\n (InspectorControlledProps | InspectorUncontrolledProps) &\n (InspectorSizeControlledProps | InspectorSizeUncontrolledProps) & {\n onSizeChange?: (size: number, meta: SizeChangeMeta) => void;\n sizeUpdate?: 'throttle' | 'debounce';\n sizeUpdateMs?: number;\n /** When true, adds margin and triggers the gray backdrop on the Shell. */\n inset?: boolean;\n };\n\ntype InspectorComponent = React.ForwardRefExoticComponent<InspectorPublicProps & React.RefAttributes<HTMLDivElement>> & { Handle: typeof InspectorHandle };\n\nconst INSPECTOR_PROP_NAMES = { controlled: 'open', default: 'defaultOpen' };\n\n/** Since 0.8.0 the Inspector is in the frame from 768px up, the boundary kookie-ui-v2 uses everywhere. It was 1280px. */\nconst INSPECTOR_DEFAULT_PRESENTATION = { initial: 'overlay', sm: 'fixed' } as const;\n\nexport const Inspector = React.forwardRef<HTMLDivElement, InspectorPublicProps>((props, ref) => {\n const {\n className,\n presentation = INSPECTOR_DEFAULT_PRESENTATION,\n defaultOpen,\n open,\n onOpenChange,\n expandedSize = 320,\n minSize = 200,\n maxSize = 500,\n resizable = false,\n collapsible = true,\n onExpand,\n onCollapse,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n children,\n style,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs = 50,\n size,\n defaultSize,\n inset,\n id,\n ...domProps\n } = props;\n\n const { table, attributes } = usePresentationTable(presentation, 'fixed');\n const pane = usePane({\n name: 'inspector',\n label: 'Inspector',\n propNames: INSPECTOR_PROP_NAMES,\n id,\n controlled: toPaneValue(open),\n defaultValue: toPaneValue(defaultOpen),\n presentationTable: table,\n builtIn: detailRest,\n onChange: (value, reason) => onOpenChange?.(value !== 'closed', { reason }),\n onExpand,\n onCollapse,\n size: expandedSize,\n });\n useInsetRegistration('inspector', inset);\n\n React.useEffect(() => {\n if (snapPoints !== undefined || collapseThreshold !== undefined || paneId !== undefined || persistence !== undefined) {\n warnOnce('Shell.Inspector: `snapPoints`, `collapseThreshold`, `paneId` and `persistence` are deprecated and are removed in 1.0. Keep the size in your own state with `size`/`onSizeChange`.');\n }\n }, [snapPoints, collapseThreshold, paneId, persistence]);\n\n const elementRef = React.useRef<HTMLElement | null>(null);\n const composedRef = useComposedRefs(ref, pane.setElement, elementRef);\n\n const resize = useResizablePane({\n name: 'inspector',\n elementId: pane.id,\n elementRef,\n cssVarName: '--inspector-size',\n orientation: 'vertical',\n edge: 'start',\n growth: endAnchoredGrowth,\n expandedSize,\n minSize,\n maxSize,\n resizable,\n collapsible,\n size,\n defaultSize,\n onSizeChange,\n sizeUpdate,\n sizeUpdateMs,\n onResize,\n onResizeStart,\n onResizeEnd,\n snapPoints,\n snapTolerance,\n collapseThreshold,\n paneId,\n persistence,\n overlaying: pane.overlaying,\n overlayingNow: () => table[readBreakpoint()] === 'overlay',\n requestCollapse: () => pane.setValue('closed', 'toggle'),\n requestToggle: () => pane.toggle('toggle'),\n });\n\n const { handles, content } = splitHandles(children, InspectorHandle);\n const handle = resizable && pane.shown !== false && !pane.overlaying ? <PaneResizeContext.Provider value={resize}>{handles.length > 0 ? handles : <PaneHandle />}</PaneResizeContext.Provider> : null;\n\n return (\n <div\n {...withoutRemovedPaneProps(domProps)}\n id={pane.id}\n ref={composedRef}\n className={classNames('kui-ShellPane', 'kui-ShellInspector', className)}\n {...paneAttributes(pane, attributes)}\n data-inset={inset || undefined}\n tabIndex={pane.overlaying ? -1 : domProps.tabIndex}\n style={\n {\n ...style,\n '--inspector-expanded-size': `${expandedSize}px`,\n '--inspector-min-size': `${minSize}px`,\n '--inspector-max-size': `${maxSize}px`,\n } as CSSPropertiesWithVars\n }\n >\n <div className=\"kui-ShellInspectorContent\">{content}</div>\n {handle}\n </div>\n );\n}) as InspectorComponent;\n\nInspector.displayName = 'Shell.Inspector';\nInspector.Handle = InspectorHandle;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "classNames", "useComposedRefs", "INSPECTOR_PROP_NAMES", "INSPECTOR_DEFAULT_PRESENTATION", "Inspector", "props", "ref", "className", "presentation", "defaultOpen", "open", "onOpenChange", "expandedSize", "minSize", "maxSize", "resizable", "collapsible", "onExpand", "onCollapse", "onResize", "onResizeStart", "onResizeEnd", "snapPoints", "snapTolerance", "collapseThreshold", "paneId", "persistence", "children", "style", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "size", "defaultSize", "inset", "id", "domProps", "table", "attributes", "usePresentationTable", "pane", "usePane", "toPaneValue", "detailRest", "value", "reason", "useInsetRegistration", "elementRef", "composedRef", "useComposedRefs", "resize", "useResizablePane", "endAnchoredGrowth", "readBreakpoint", "handles", "content", "splitHandles", "InspectorHandle", "handle", "PaneResizeContext", "PaneHandle", "withoutRemovedPaneProps", "classNames", "paneAttributes"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/radio-group.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Context } from 'radix-ui/internal';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\n\nimport { radioGroupRootPropDefs } from './radio-group.props.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../helpers/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\nconst RADIO_GROUP_NAME = 'RadioGroup';\n\ntype ScopedProps<P> = P & { __scopeRadioGroup?: Context.Scope };\nconst [createRadioGroupContext] = Context.createContextScope(RADIO_GROUP_NAME, [\n RadioGroupPrimitive.createRadioGroupScope,\n]);\nconst useRadioGroupScope = RadioGroupPrimitive.createRadioGroupScope();\n\ntype RadioGroupRootOwnProps = GetPropDefTypes<typeof radioGroupRootPropDefs>;\ntype RadioGroupContextValue = RadioGroupRootOwnProps;\n\nconst [RadioGroupProvider, useRadioGroupContext] =\n createRadioGroupContext<RadioGroupContextValue>(RADIO_GROUP_NAME);\n\ntype RadioGroupRootElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;\ninterface RadioGroupRootProps\n extends ComponentPropsWithout<\n typeof RadioGroupPrimitive.Root,\n 'asChild' | 'color' | 'defaultChecked'\n >,\n RadioGroupRootOwnProps {}\nconst RadioGroupRoot = React.forwardRef<RadioGroupRootElement, RadioGroupRootProps>(\n (\n {\n color = radioGroupRootPropDefs.color.default,\n size: sizeProp,\n variant = radioGroupRootPropDefs.variant.default,\n ...props\n }: ScopedProps<RadioGroupRootProps>,\n forwardedRef\n ) => {\n const size = useThemeSize(sizeProp, radioGroupRootPropDefs.size);\n const { __scopeRadioGroup, className, ...rootProps } = props;\n const radioGroupScope = useRadioGroupScope(__scopeRadioGroup);\n return (\n <RadioGroupProvider\n scope={__scopeRadioGroup}\n color={color}\n size={size}\n variant={variant}\n >\n <RadioGroupPrimitive.Root\n {...radioGroupScope}\n {...rootProps}\n ref={forwardedRef}\n className={classNames('kui-RadioGroupRoot', className)}\n />\n </RadioGroupProvider>\n );\n }\n);\nRadioGroupRoot.displayName = 'RadioGroup.Root';\n\ntype RadioGroupItemElement = React.ElementRef<typeof RadioGroupItemRadio>;\ninterface RadioGroupItemProps\n extends ComponentPropsWithout<typeof RadioGroupItemRadio, RemovedProps> {}\nconst RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(\n (_props: ScopedProps<RadioGroupItemProps>, forwardedRef) => {\n const { __scopeRadioGroup, children, className, style, ...props } = _props;\n const { size } = useRadioGroupContext('RadioGroupItem', __scopeRadioGroup);\n\n // Render `<Text as=\"label\">` if children\u00A0are provided, otherwise render\n // the solo radio button to allow building out your custom layouts with it.\n if (children) {\n return (\n <Text\n as=\"label\"\n size={size}\n className={classNames('kui-RadioGroupItem', className)}\n style={style}\n >\n <RadioGroupItemRadio\n __scopeRadioGroup={__scopeRadioGroup}\n {...props}\n ref={forwardedRef}\n />\n {children && <span className=\"kui-RadioGroupItemInner\">{children}</span>}\n </Text>\n );\n }\n\n return (\n <RadioGroupItemRadio\n __scopeRadioGroup={__scopeRadioGroup}\n {...props}\n ref={forwardedRef}\n className={className}\n style={style}\n />\n );\n }\n);\nRadioGroupItem.displayName = 'RadioGroup.Item';\n\ntype RadioGroupItemRadioElement = React.ElementRef<typeof RadioGroupPrimitive.Item>;\ninterface RadioGroupItemRadioProps\n extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> {}\nconst RadioGroupItemRadio = React.forwardRef<\n RadioGroupItemRadioElement,\n ScopedProps<RadioGroupItemRadioProps>\n>(({ __scopeRadioGroup, ...props }, forwardedRef) => {\n const context = useRadioGroupContext('RadioGroupItemRadio', __scopeRadioGroup);\n const radioGroupScope = useRadioGroupScope(__scopeRadioGroup);\n const { color, className } = extractProps(\n { ...props, ...context },\n radioGroupRootPropDefs\n );\n return (\n <RadioGroupPrimitive.Item\n {...radioGroupScope}\n data-accent-color={color}\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseRadioRoot', className)}\n />\n );\n});\nRadioGroupItemRadio.displayName = 'RadioGroup.ItemRadio';\n\nexport { RadioGroupRoot as Root, RadioGroupItem as Item };\nexport type { RadioGroupRootProps as RootProps, RadioGroupItemProps as ItemProps };\n"],
|
|
5
|
-
"mappings": "wMAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,EAAA,SAAAC,IAEA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAAC,MAAe,oBACxB,OAAS,cAAcC,MAA2B,WAUlD,IAAMC,EAAmB,aAGnB,CAACC,CAAuB,EAAIC,EAAQ,mBAAmBF,EAAkB,CAC7EG,EAAoB,qBACtB,CAAC,EACKC,EAAqBD,EAAoB,sBAAsB,EAK/D,CAACE,EAAoBC,CAAoB,EAC7CL,EAAgDD,CAAgB,EAS5DO,EAAuB,aAC3B,CACE,CACE,MAAAC,EAAQC,EAAuB,MAAM,QACrC,KAAMC,EACN,QAAAC,EAAUF,EAAuB,QAAQ,QACzC,GAAGG,CACL,EACAC,IACG,CACH,IAAMC,EAAOC,EAAaL,EAAUD,EAAuB,IAAI,EACzD,CAAE,kBAAAO,EAAmB,UAAAC,EAAW,GAAGC,CAAU,EAAIN,EACjDO,EAAkBf,EAAmBY,CAAiB,EAC5D,OACE,gBAACX,EAAA,CACC,MAAOW,EACP,MAAOR,EACP,KAAMM,EACN,QAASH,GAET,gBAACR,EAAoB,KAApB,CACE,GAAGgB,EACH,GAAGD,EACJ,IAAKL,EACL,UAAWO,EAAW,qBAAsBH,CAAS,EACvD,CACF,CAEJ,CACF,EACAV,EAAe,YAAc,kBAK7B,IAAMc,EAAuB,aAC3B,CAACC,EAA0CT,IAAiB,CAC1D,GAAM,CAAE,kBAAAG,EAAmB,SAAAO,EAAU,UAAAN,EAAW,MAAAO,EAAO,GAAGZ,CAAM,EAAIU,EAC9D,CAAE,KAAAR,CAAK,EAAIR,EAAqB,iBAAkBU,CAAiB,EAIzE,OAAIO,EAEA,gBAACE,EAAA,CACC,GAAG,QACH,KAAMX,EACN,UAAWM,EAAW,qBAAsBH,CAAS,EACrD,MAAOO,GAEP,gBAACE,EAAA,CACC,kBAAmBV,EAClB,GAAGJ,EACJ,IAAKC,EACP,EACCU,GAAY,gBAAC,QAAK,UAAU,2BAA2BA,CAAS,CACnE,EAKF,gBAACG,EAAA,CACC,kBAAmBV,EAClB,GAAGJ,EACJ,IAAKC,EACL,UAAWI,EACX,MAAOO,EACT,CAEJ,CACF,EACAH,EAAe,YAAc,kBAK7B,IAAMK,EAA4B,aAGhC,CAAC,CAAE,kBAAAV,EAAmB,GAAGJ,CAAM,EAAGC,IAAiB,CACnD,IAAMc,EAAUrB,EAAqB,sBAAuBU,CAAiB,EACvEG,EAAkBf,EAAmBY,CAAiB,EACtD,CAAE,MAAAR,EAAO,UAAAS,CAAU,EAAIW,EAC3B,CAAE,GAAGhB,EAAO,GAAGe,CAAQ,EACvBlB,CACF,EACA,OACE,gBAACN,EAAoB,KAApB,CACE,GAAGgB,EACJ,oBAAmBX,EAClB,GAAGI,EACJ,QAAS,GACT,IAAKC,EACL,UAAWO,EAAW,YAAa,oBAAqBH,CAAS,EACnE,CAEJ,CAAC,EACDS,EAAoB,YAAc",
|
|
6
|
-
"names": ["radio_group_exports", "__export", "RadioGroupItem", "RadioGroupRoot", "React", "classNames", "Context", "RadioGroupPrimitive", "RADIO_GROUP_NAME", "createRadioGroupContext", "Context", "RadioGroupPrimitive", "useRadioGroupScope", "RadioGroupProvider", "useRadioGroupContext", "RadioGroupRoot", "color", "radioGroupRootPropDefs", "sizeProp", "variant", "props", "forwardedRef", "size", "useThemeSize", "__scopeRadioGroup", "className", "rootProps", "radioGroupScope", "classNames", "RadioGroupItem", "_props", "children", "style", "Text", "RadioGroupItemRadio", "context", "extractProps"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as q}from"./chunk-2LYX5S7H.js";import*as e from"react";var C=(n,o,u)=>Math.max(o??n,Math.min(u??n,n));function L(n){let{name:o,elementRef:u,cssVarName:f,orientation:m,minSize:a,maxSize:l,resizable:E,size:h,defaultSize:x,paneId:g,persistence:S}=n,i=e.useRef(n);e.useLayoutEffect(()=>{i.current=n});let z=e.useRef(null),P=e.useRef(0);e.useEffect(()=>()=>{z.current&&clearTimeout(z.current)},[]);let b=e.useCallback((t,r)=>{let{onSizeChange:s,sizeUpdate:c,sizeUpdateMs:p}=i.current;if(s){if(c==="debounce"){z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,i.current.onSizeChange?.(t,r)},p);return}if(c==="throttle"){let V=Date.now();if(V-P.current<p)return;P.current=V}s(t,r)}},[]),y=e.useCallback(t=>q(t,m==="vertical"?"horizontal":"vertical"),[m]),w=e.useRef(!1),d=e.useCallback((t,r)=>{let s=u.current;if(s){s.style.setProperty(f,`${t}px`);for(let c of s.querySelectorAll(":scope > .kui-ShellResizer"))c.setAttribute("aria-valuenow",String(Math.round(t)));r&&(w.current=!0)}},[u,f]);e.useLayoutEffect(()=>{w.current||d(n.expandedSize,!1)},[n.expandedSize,d]),e.useLayoutEffect(()=>{if(h!==void 0||x===void 0)return;let t=y(x);if(typeof t!="number"||!Number.isFinite(t))return;let r=C(t,a,l);d(r,!0),b(r,{reason:"init"})},[]),e.useLayoutEffect(()=>{if(h===void 0||i.current.overlayingNow())return;let t=y(h);if(typeof t!="number"||!Number.isFinite(t))return;let r=C(t,a,l);d(r,!0),b(r,{reason:"controlled"})},[h,a,l,n.overlaying,y,d,b]);let R=e.useMemo(()=>{if(!g||S)return S;let t=`kookie-ui:shell:${o}:${g}`;return{load:()=>{if(!(typeof window>"u"))try{let r=window.localStorage.getItem(t);return r?Number(r):void 0}catch{return}},save:r=>{if(!(typeof window>"u"))try{window.localStorage.setItem(t,String(r))}catch{}}}},[o,g,S]);e.useLayoutEffect(()=>{if(!E||!R?.load||i.current.overlayingNow())return;let t=!0,r=c=>{if(!t||typeof c!="number"||!Number.isFinite(c))return;let p=C(c,a,l);d(p,!0),i.current.onResize?.(p)},s=R.load();return s instanceof Promise?s.then(r).catch(c=>{}):r(s),()=>{t=!1}},[E,R,n.overlaying,d,a,l,o]);let T=e.useCallback(t=>i.current.onResize?.(t),[]),N=e.useCallback(t=>{w.current=!0,i.current.onResizeStart?.(t)},[]),v=e.useCallback(t=>{i.current.onResizeEnd?.(t),b(t,{reason:"resize"}),R?.save?.(t)},[b,R]),k=e.useCallback(()=>i.current.requestCollapse(),[]),M=e.useCallback(()=>i.current.requestToggle(),[]);return e.useMemo(()=>({containerRef:u,controls:n.elementId,cssVarName:f,minSize:a,maxSize:l,defaultSize:n.expandedSize,orientation:m,edge:n.edge,growth:n.growth,onResize:T,onResizeStart:N,onResizeEnd:v,target:o,collapsible:n.collapsible,snapPoints:n.snapPoints,snapTolerance:n.snapTolerance??8,collapseThreshold:n.collapseThreshold,requestCollapse:k,requestToggle:M}),[u,n.elementId,f,a,l,n.expandedSize,m,n.edge,n.growth,T,N,v,o,n.collapsible,n.snapPoints,n.snapTolerance,n.collapseThreshold,k,M])}function O(n,o){let u=e.Children.toArray(n),f=u.filter(a=>e.isValidElement(a)&&a.type===o),m=u.filter(a=>!(e.isValidElement(a)&&a.type===o));return{handles:f,content:m}}export{L as a,O as b};
|
|
2
|
-
//# sourceMappingURL=chunk-VXQQ6KXI.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/_internal/shell-resizable.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport { normalizeToPx } from '../../helpers/normalize-to-px.js';\nimport type { PaneName, PaneSizePersistence } from '../shell.types.js';\nimport type { PaneResizeContextValue } from './shell-resize.js';\n\nexport type SizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };\n\nexport type ResizableOptions = {\n name: PaneName;\n /** The pane's element id, which the handle names in `aria-controls`. */\n elementId: string;\n elementRef: React.RefObject<HTMLElement | null>;\n cssVarName: string;\n orientation: 'vertical' | 'horizontal';\n edge: 'start' | 'end';\n growth: (isRtl: boolean) => 1 | -1;\n expandedSize: number;\n minSize: number;\n maxSize: number;\n resizable: boolean;\n collapsible: boolean;\n size: number | string | undefined;\n defaultSize: number | string | undefined;\n onSizeChange: ((size: number, meta: SizeChangeMeta) => void) | undefined;\n sizeUpdate: 'throttle' | 'debounce' | undefined;\n sizeUpdateMs: number;\n onResize: ((size: number) => void) | undefined;\n onResizeStart: ((size: number) => void) | undefined;\n onResizeEnd: ((size: number) => void) | undefined;\n snapPoints: number[] | undefined;\n snapTolerance: number | undefined;\n collapseThreshold: number | undefined;\n paneId: string | undefined;\n persistence: PaneSizePersistence | undefined;\n /** Whether the pane is presented as an overlay right now. An overlay keeps its designed size and persists nothing. */\n overlaying: boolean;\n /** The same question asked at effect time, for a pane whose presentation is learnt after its first render. */\n overlayingNow: () => boolean;\n requestCollapse: () => void;\n requestToggle: () => void;\n};\n\n/**\n * Clamps to [min, max]. When the two cross (an app passing a maximum computed\n * from a narrow window below its fixed minimum), the minimum wins, as it did\n * in 0.7.\n */\nconst clampTo = (value: number, min: number | undefined, max: number | undefined) => Math.max(min ?? value, Math.min(max ?? value, value));\n\n/** Everything a resizable pane shares: size props, persistence, and the handle's context. */\nexport function useResizablePane(options: ResizableOptions): PaneResizeContextValue {\n const { name, elementRef, cssVarName, orientation, minSize, maxSize, resizable, size, defaultSize, paneId, persistence } = options;\n\n // The latest callbacks, so the size emitter does not change identity when a\n // consumer passes an inline function. A controlled `size` is reported again\n // only when the size, the minimum or the maximum changes.\n const latest = React.useRef(options);\n React.useLayoutEffect(() => {\n latest.current = options;\n });\n\n const debounceRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const throttleRef = React.useRef(0);\n React.useEffect(\n () => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n },\n [],\n );\n const emitSizeChange = React.useCallback((value: number, meta: SizeChangeMeta) => {\n const { onSizeChange, sizeUpdate, sizeUpdateMs } = latest.current;\n if (!onSizeChange) return;\n if (sizeUpdate === 'debounce') {\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n debounceRef.current = null;\n latest.current.onSizeChange?.(value, meta);\n }, sizeUpdateMs);\n return;\n }\n if (sizeUpdate === 'throttle') {\n const now = Date.now();\n if (now - throttleRef.current < sizeUpdateMs) return;\n throttleRef.current = now;\n }\n onSizeChange(value, meta);\n }, []);\n\n const toPx = React.useCallback((value: number | string | undefined) => normalizeToPx(value, orientation === 'vertical' ? 'horizontal' : 'vertical'), [orientation]);\n\n /**\n * The one way a size reaches the pane: the size variable, and the value\n * every handle of this pane announces. Once anything but `expandedSize` has\n * written a size (a default, a controlled value, a persisted value or a\n * resize), the pane owns that size and a new `expandedSize` leaves it alone.\n */\n const ownedRef = React.useRef(false);\n const writeSize = React.useCallback(\n (value: number, own: boolean) => {\n const el = elementRef.current;\n if (!el) return;\n el.style.setProperty(cssVarName, `${value}px`);\n for (const handle of el.querySelectorAll(':scope > .kui-ShellResizer')) handle.setAttribute('aria-valuenow', String(Math.round(value)));\n if (own) ownedRef.current = true;\n },\n [elementRef, cssVarName],\n );\n\n // expandedSize: the size until something else sets one. Declared first, so\n // the effects below win on mount.\n React.useLayoutEffect(() => {\n if (!ownedRef.current) writeSize(options.expandedSize, false);\n }, [options.expandedSize, writeSize]);\n\n // defaultSize: applied once, on mount.\n React.useLayoutEffect(() => {\n if (size !== undefined || defaultSize === undefined) return;\n const px = toPx(defaultSize);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'init' });\n // An uncontrolled initial value: applied on mount and never re-applied.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Controlled size. A drag stands until the app passes a different value.\n // Not while the pane is an overlay: an overlay keeps its designed size, and\n // an app's frame-sized limits (a maximum taken from the window) would\n // otherwise squeeze the drawer and report the squeezed size back. The size\n // is applied again when the pane returns to the frame.\n React.useLayoutEffect(() => {\n if (size === undefined || latest.current.overlayingNow()) return;\n const px = toPx(size);\n if (typeof px !== 'number' || !Number.isFinite(px)) return;\n const clamped = clampTo(px, minSize, maxSize);\n writeSize(clamped, true);\n emitSizeChange(clamped, { reason: 'controlled' });\n }, [size, minSize, maxSize, options.overlaying, toPx, writeSize, emitSizeChange]);\n\n // A persistence adapter from `paneId` when none is given.\n const adapter = React.useMemo<PaneSizePersistence | undefined>(() => {\n if (!paneId || persistence) return persistence;\n const key = `kookie-ui:shell:${name}:${paneId}`;\n return {\n load: () => {\n if (typeof window === 'undefined') return undefined;\n try {\n const stored = window.localStorage.getItem(key);\n return stored ? Number(stored) : undefined;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n return undefined;\n }\n },\n save: (value: number) => {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(key, String(value));\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to save persisted size`, err);\n }\n },\n };\n }, [name, paneId, persistence]);\n\n // Persisted size, loaded in a layout effect and clamped, so a reload does\n // not paint the default and then jump. Only where the pane is in the frame:\n // an overlay keeps its designed size.\n React.useLayoutEffect(() => {\n if (!resizable || !adapter?.load || latest.current.overlayingNow()) return undefined;\n let mounted = true;\n const apply = (value: number | undefined) => {\n if (!mounted || typeof value !== 'number' || !Number.isFinite(value)) return;\n const clamped = clampTo(value, minSize, maxSize);\n writeSize(clamped, true);\n latest.current.onResize?.(clamped);\n };\n const loaded = adapter.load();\n if (loaded instanceof Promise) {\n loaded.then(apply).catch((err) => {\n if (process.env.NODE_ENV !== 'production') console.warn(`Shell.${name}: failed to load persisted size`, err);\n });\n } else {\n apply(loaded);\n }\n return () => {\n mounted = false;\n };\n }, [resizable, adapter, options.overlaying, writeSize, minSize, maxSize, name]);\n\n const onResize = React.useCallback((value: number) => latest.current.onResize?.(value), []);\n const onResizeStart = React.useCallback((value: number) => {\n // A resize makes the size the user's: a new expandedSize no longer moves it.\n ownedRef.current = true;\n latest.current.onResizeStart?.(value);\n }, []);\n const onResizeEnd = React.useCallback(\n (value: number) => {\n latest.current.onResizeEnd?.(value);\n emitSizeChange(value, { reason: 'resize' });\n adapter?.save?.(value);\n },\n [emitSizeChange, adapter],\n );\n const requestCollapse = React.useCallback(() => latest.current.requestCollapse(), []);\n const requestToggle = React.useCallback(() => latest.current.requestToggle(), []);\n\n return React.useMemo(\n () => ({\n containerRef: elementRef,\n controls: options.elementId,\n cssVarName,\n minSize,\n maxSize,\n defaultSize: options.expandedSize,\n orientation,\n edge: options.edge,\n growth: options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n target: name,\n collapsible: options.collapsible,\n snapPoints: options.snapPoints,\n snapTolerance: options.snapTolerance ?? 8,\n collapseThreshold: options.collapseThreshold,\n requestCollapse,\n requestToggle,\n }),\n [\n elementRef,\n options.elementId,\n cssVarName,\n minSize,\n maxSize,\n options.expandedSize,\n orientation,\n options.edge,\n options.growth,\n onResize,\n onResizeStart,\n onResizeEnd,\n name,\n options.collapsible,\n options.snapPoints,\n options.snapTolerance,\n options.collapseThreshold,\n requestCollapse,\n requestToggle,\n ],\n );\n}\n\n/** Splits a pane's children into its handles and the rest. */\nexport function splitHandles(children: React.ReactNode, handleType: React.ElementType) {\n const all = React.Children.toArray(children);\n const handles = all.filter((el) => React.isValidElement(el) && el.type === handleType) as React.ReactElement[];\n const content = all.filter((el) => !(React.isValidElement(el) && el.type === handleType));\n return { handles, content };\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "clampTo", "value", "min", "max", "useResizablePane", "options", "name", "elementRef", "cssVarName", "orientation", "minSize", "maxSize", "resizable", "size", "defaultSize", "paneId", "persistence", "latest", "debounceRef", "throttleRef", "emitSizeChange", "meta", "onSizeChange", "sizeUpdate", "sizeUpdateMs", "now", "toPx", "normalizeToPx", "ownedRef", "writeSize", "own", "el", "handle", "px", "clamped", "adapter", "key", "stored", "mounted", "apply", "loaded", "err", "onResize", "onResizeStart", "onResizeEnd", "requestCollapse", "requestToggle", "splitHandles", "children", "handleType", "all", "handles", "content"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as nt}from"./chunk-I4FLQELQ.js";import{a as Be}from"./chunk-AGAQC4HH.js";import{a as ke}from"./chunk-KEGCX5VM.js";import{a as we}from"./chunk-4P6TKZCA.js";import{a as at}from"./chunk-3XZOE2IQ.js";import{a as De}from"./chunk-H5G7UECV.js";import{a as ze}from"./chunk-BJUCBOGU.js";import{g as Qe,h as Ze,j as et}from"./chunk-62ZGP4ET.js";import{b as U}from"./chunk-FWB47YCH.js";import{d as tt}from"./chunk-3YLYGKFB.js";import{a as Ht}from"./chunk-OS3FCYZY.js";var Wt={};Ht(Wt,{AttachTrigger:()=>Rt,Attachment:()=>$e,AttachmentsRow:()=>pt,InlineEnd:()=>mt,InlineStart:()=>dt,Item:()=>bt,Root:()=>lt,Row:()=>Ct,RowEnd:()=>vt,RowStart:()=>gt,Send:()=>yt,Textarea:()=>ut});import*as e from"react";import E from"classnames";import{useComposedRefs as st}from"radix-ui/internal";import{useDropzone as Ft}from"react-dropzone";var je=typeof window<"u"?e.useLayoutEffect:e.useEffect;function ot(t,r){let{placeholder:a}=t;if(!a){r();return}t.placeholder="";try{r()}finally{t.placeholder=a}}var It={values:["1","2","3"]},it=e.createContext(null),We=e.createContext(""),I=()=>{let t=e.useContext(it);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(r=>r.trim()).filter(Boolean):[],zt=(t,r)=>{if(r.length===0)return!0;let a=t.type.toLowerCase(),i=t.name.toLowerCase();for(let c of r){let l=c.toLowerCase();if(l.includes("/")){let[u,d]=l.split("/"),[C,y]=a.split("/");if(u==="*"||u===C&&(d==="*"||d===y))return!0}else if(l.startsWith(".")&&i.endsWith(l))return!0}return!1},Dt=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,ct=(t,r)=>(r||"").toLowerCase().startsWith("image/")||Dt.test(t),Ve=t=>t.trim().length>0,rt=(t,r)=>`${t} ${r}${t===1?"":"s"}`,Bt=0,jt=()=>`chatbar-attachment-${Date.now()}-${++Bt}`,lt=e.forwardRef((t,r)=>{let{className:a,style:i,children:c,value:l,defaultValue:u="",onValueChange:d,open:C,defaultOpen:y=!1,onOpenChange:R,expandOn:p="both",minLines:g=3,maxLines:x=6,sendMode:w="whenDirty",disabled:f,readOnly:S,onSubmit:D,size:O,variant:z,color:H,radius:F,width:Q,maxWidth:b,attachments:_,defaultAttachments:B,onAttachmentsChange:se,accept:A,multiple:L=!0,maxAttachments:Z,maxFileSize:G,paste:j=!0,pasteAccept:q,clearOnSubmit:V=!0,onAttachmentReject:N,dropzone:M=!0,apiRef:Se,onBlurCapture:pe,notices:he,context:fe,...Ee}=t,W=tt(O,It),be=l!=null,[o,v]=e.useState(u),k=be?l:o,ee=C!=null,[X,te]=e.useState(y),ie=ee?C:X,Y="attachments"in t,[ce,Re]=e.useState(()=>B??[]),le=e.useMemo(()=>Y?_??[]:ce,[Y,_,ce]),[Ke,xt]=e.useState({text:"",id:0}),ue=e.useCallback(n=>xt(s=>({text:n,id:s.id+1})),[]),Ue=e.useRef(null),Pt=st(r,Ue),Te=e.useRef(null),Le=e.useRef(null),de=e.useRef(!1),Ce=e.useRef(!1),ge=e.useRef(void 0),Ne=e.useRef(null),_e=me(A).join(","),Me=me(q).join(","),Oe=e.useMemo(()=>me(_e),[_e]),At=e.useMemo(()=>Me?me(Me):Oe,[Me,Oe]),Ge={value:k,attachments:le,accepts:Oe,pasteAccepts:At,multiple:L,maxAttachments:Z,maxFileSize:G,disabled:f,readOnly:S,expandOn:p,isValueControlled:be,isOpenControlled:ee,isAttachmentsControlled:Y,onValueChange:d,onOpenChange:R,onAttachmentsChange:se,onAttachmentReject:N,onSubmit:D},P=e.useRef(Ge);P.current=Ge;let He=e.useRef(null),$=e.useCallback(()=>He.current??P.current.attachments,[]),ae=e.useCallback(n=>{P.current.isOpenControlled||te(n),P.current.onOpenChange?.(n)},[]),ve=e.useCallback(n=>{P.current.isValueControlled||v(n),P.current.onValueChange?.(n)},[]),ne=e.useCallback(n=>{He.current=n,queueMicrotask(()=>{He.current=null}),P.current.isAttachmentsControlled||Re(n),P.current.onAttachmentsChange?.(n)},[]),ye=e.useRef(new Set),oe=e.useCallback((n,s,m=P.current.multiple)=>{let h=P.current;if(h.disabled||h.readOnly||n.length===0)return 0;let K=$(),J=[],re=[],Mt=typeof h.maxAttachments=="number"?Math.max(h.maxAttachments-K.length,0):1/0,Ot=m?1/0:1;for(let T of n){if(J.length>=Mt||J.length>=Ot){re.push({file:T,reason:"count"});continue}if(typeof h.maxFileSize=="number"&&T.size>h.maxFileSize){re.push({file:T,reason:"size"});continue}if(!zt(T,s)){re.push({file:T,reason:"type"});continue}let Ie=ct(T.name,T.type)?URL.createObjectURL(T):void 0;Ie&&ye.current.add(Ie),J.push({id:jt(),name:T.name,size:T.size,type:T.type,file:T,url:Ie,status:"idle"})}let Ae=[];return J.length>0&&(ne(K.concat(J)),h.expandOn!=="none"&&ae(!0),Ae.push(`${rt(J.length,"file")} attached.`)),re.length>0&&(h.onAttachmentReject?.(re),Ae.push(`${rt(re.length,"file")} could not be attached.`)),Ae.length>0&&ue(Ae.join(" ")),J.length},[$,ne,ae,ue]),xe=e.useCallback(n=>oe(n,P.current.accepts),[oe]),qe=e.useCallback(n=>oe(n,P.current.pasteAccepts),[oe]),Xe=e.useCallback(n=>{let s=$(),m=s.find(h=>h.id===n);m&&(ne(s.filter(h=>h.id!==n)),ue(`Removed ${m.name}.`))},[$,ne,ue]),Ye=e.useCallback(n=>{let s=P.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let h={value:s.value,attachments:m};if(n&&s.onSubmit)for(let K of m)K.url&&ye.current.delete(K.url);return s.onSubmit?.(h),n&&(ve(""),ne([])),!0},[$,ve,ne]);e.useEffect(()=>{let n=ye.current;if(n.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(n))s.has(m)||(URL.revokeObjectURL(m),n.delete(m))},[le]),e.useEffect(()=>{let n=ye.current;return()=>{if(!P.current.isAttachmentsControlled){for(let s of Array.from(n))URL.revokeObjectURL(s);n.clear()}}},[]);let Pe=e.useCallback(n=>{let s=P.current,m=Le.current;if(clearTimeout(ge.current),Ce.current=!1,!m||s.disabled||s.readOnly)return;let h=n?.accept!=null?me(n.accept):s.accepts,K=n?.multiple??s.multiple;Ne.current={patterns:h,multiple:K},m.accept=h.join(","),m.multiple=K,de.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(de.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Ce.current=!0,clearTimeout(ge.current),ge.current=setTimeout(()=>{Ce.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(ge.current),[]),e.useEffect(()=>{let n=Le.current,s=()=>{de.current=!1};return window.addEventListener("focus",s),n?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),n?.removeEventListener("cancel",s)}},[]);let wt=e.useCallback(n=>{let s=n.currentTarget,m=Array.from(s.files??[]),h=Ne.current;oe(m,h?.patterns??P.current.accepts,h?.multiple),de.current=!1,Ne.current=null,s.value=""},[oe]),kt=e.useCallback(n=>{pe?.(n);let s=P.current,m=Ue.current;if(!m||s.expandOn==="none")return;let h=n.relatedTarget;h&&m.contains(h)||de.current||Ce.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(n=>{xe(n)},[xe]),{getRootProps:Et,isDragActive:Tt}=Ft({onDrop:St,onDragEnter:()=>ue(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!M||f||S}),Fe=M&&Tt;e.useImperativeHandle(Se,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>Pe()}),[Pe]);let Lt=e.useCallback(n=>{if(f||n.pointerType==="mouse"&&n.button!==0)return;let s=n.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(n.preventDefault(),Te.current?.focus({preventScroll:!0}))},[f]),Nt=e.useMemo(()=>({open:ie,setOpen:ae,setValue:ve,size:W,expandOn:p,minLines:g,maxLines:x,sendMode:w,disabled:f,readOnly:S,paste:j,clearOnSubmit:V,multiple:L,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:xe,appendFilesFromPaste:qe,openFilePicker:Pe,beginFilePickerPress:Je}),[ie,ae,ve,W,p,g,x,w,f,S,j,V,L,le,Xe,Ye,xe,qe,Pe,Je]);return e.createElement(it.Provider,{value:Nt},e.createElement(We.Provider,{value:k},e.createElement(e.Fragment,null,e.createElement("div",{...Ee,ref:Pt,className:E("kui-ChatbarRoot",`kui-r-size-${W}`,a),style:{position:"relative",width:Q,maxWidth:b,...i},"data-state":ie?"open":"closed","data-disabled":f?"":void 0,"data-readonly":S?"":void 0,"data-drop-active":Fe?"":void 0,"data-accent-color":H,"data-radius":F,onBlurCapture:kt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:wt}),he?e.createElement("div",{className:"kui-ChatbarNotices"},e.createElement(nt.Provider,{value:W},he)):null,e.createElement("div",{...M?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:E("kui-ChatbarBox",`kui-variant-${z??"raised"}`),style:{position:"relative"},"data-accent-color":H,"data-radius":F},e.createElement("div",{className:"kui-ChatbarGrid"},c),Fe&&e.createElement("div",{className:"kui-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"kui-ChatbarDropContent"},e.createElement(we,{emphasis:"medium",size:W,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(we,{as:"div",size:W==="3"?"2":"1",emphasis:"medium",className:"kui-ChatbarContext"},fe):null,e.createElement(Be,{role:"status","aria-live":"polite"},Fe?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});lt.displayName="Chatbar.Root";var ut=e.forwardRef((t,r)=>{let{className:a,style:i,asChild:c,onFocus:l,onChange:u,onPaste:d,onKeyDown:C,onCompositionStart:y,onCompositionEnd:R,submitOnEnter:p=!1,...g}=t,x=I(),w=e.useContext(We),{open:f,minLines:S,maxLines:D,expandOn:O,disabled:z,readOnly:H,setOpen:F,setValue:Q,textareaRef:b,paste:_,appendFilesFromPaste:B,size:se,submit:A,clearOnSubmit:L}=x,Z=st(r,b),G=e.useRef(0),j=e.useRef(0),q=e.useRef(!1),V=e.useRef({open:f,minLines:S,maxLines:D});je(()=>{V.current={open:f,minLines:S,maxLines:D}},[f,S,D]);let N=e.useCallback(()=>{let o=b.current;if(!o)return;let v=window.getComputedStyle(o);G.current=parseFloat(v.lineHeight)||20,j.current=(parseFloat(v.paddingTop)||0)+(parseFloat(v.paddingBottom)||0)},[b]),M=e.useCallback((o,v)=>{let{minLines:k,maxLines:ee}=V.current,X=G.current,te=j.current,ie=Math.ceil((v?k:1)*X)+te,Y=Math.ceil((v?ee:1)*X)+te,ce=Math.max(o.scrollHeight,ie);o.style.height=`${Math.min(ce,Y)}px`;let Re=ce>Y;o.style.overflowY=Re?"auto":"hidden",o.style.maxHeight=Re?`${Y}px`:"none"},[]);je(()=>{N()},[N,se]),je(()=>{let o=b.current;o&&(G.current===0&&N(),ot(o,()=>{o.style.height="auto";let v=f;if(!f&&(O==="overflow"||O==="both")){let k=Math.ceil(G.current)+j.current;o.scrollHeight>k+1&&(v=!0,F(!0))}M(o,v)}))},[w,f,O,S,D,se,F,b,N,M]),e.useEffect(()=>{let o=b.current;if(!o||typeof ResizeObserver>"u")return;let v=-1,k=new ResizeObserver(ee=>{let X=ee[0]?.contentRect.width??0;if(X===v)return;let te=v===-1;v=X,!te&&(N(),ot(o,()=>{o.style.height="auto",M(o,V.current.open)}))});return k.observe(o),()=>k.disconnect()},[b,N,M]),e.useEffect(()=>{},[]);let Se=e.useCallback(o=>{l?.(o),!(z||H)&&(O==="focus"||O==="both")&&!f&&F(!0)},[z,H,O,f,F,l]),pe=e.useCallback(o=>{Q(o.currentTarget.value),u?.(o)},[Q,u]),he=e.useCallback(o=>{if(d?.(o),o.defaultPrevented||!_||z||H)return;let v=Array.from(o.clipboardData?.items??[]).filter(k=>k.kind==="file").map(k=>k.getAsFile()).filter(k=>!!k);v.length!==0&&B(v)>0&&o.preventDefault()},[_,z,H,d,B]),fe=e.useCallback(o=>{q.current=!0,y?.(o)},[y]),Ee=e.useCallback(o=>{q.current=!1,R?.(o)},[R]),W=e.useCallback(o=>{C?.(o),!(o.defaultPrevented||!p)&&(o.key!=="Enter"||o.shiftKey||o.altKey||o.ctrlKey||o.metaKey||q.current||o.nativeEvent.isComposing||o.nativeEvent.keyCode===229||(o.preventDefault(),A(L)))},[p,C,A,L]),be=c?U:"textarea";return e.createElement("div",{className:E("kui-ChatbarField","kui-ChatbarTextarea",a)},e.createElement(be,{...g,ref:Z,className:"kui-ChatbarInput",value:w,onChange:pe,onFocus:Se,onPaste:he,onKeyDown:W,onCompositionStart:fe,onCompositionEnd:Ee,disabled:z,readOnly:H,rows:f?S:1,spellCheck:g.spellCheck??!0,autoCorrect:g.autoCorrect??"on",style:i}))});ut.displayName="Chatbar.Textarea";var dt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineStart",c)},a)});dt.displayName="Chatbar.InlineStart";var mt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineEnd",c)},a)});mt.displayName="Chatbar.InlineEnd";var pt=e.forwardRef((t,r)=>{let{asChild:a,forceMount:i,renderAttachment:c,className:l,children:u,...d}=t,C=I(),y=e.Children.toArray(u).length>0;return C.attachments.length===0&&!y&&!i?null:e.createElement("div",null,e.createElement(a?U:"div",{...d,ref:r,className:E("kui-ChatbarAttachmentsRow",l),role:"list","aria-label":d["aria-label"]??"Attachments"},e.createElement(at,{className:"kui-ChatbarScrollArea",scrollbars:"horizontal"},e.createElement(ze,{align:"center",gap:"3",minWidth:"fit-content"},C.attachments.map(p=>e.createElement($e,{key:p.id,attachment:p,asChild:!!c},c?.(p))),u))))});pt.displayName="Chatbar.AttachmentsRow";function ht(t,r){let a=t.closest('[role="listitem"]'),i=a?.parentElement?Array.from(a.parentElement.children):[],c=a?i.indexOf(a):-1,u=(i[c+1]??i[c-1])?.querySelector(".kui-ChatbarItemRemove");u?u.focus():r.current?.focus({preventScroll:!0})}var ft=({lead:t,leadKind:r,label:a,detail:i,removeLabel:c,onRemove:l})=>{let u=I();return e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-ChatbarItemLead","data-kind":r,"aria-hidden":!0},t),e.createElement(we,{className:"kui-ChatbarItemLabel",size:u.size,truncate:!0},a,i?e.createElement(Be,null,", ",i):null),l&&e.createElement(ke,{iconOnly:!0,className:"kui-ChatbarItemRemove","aria-label":c,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Qe,null)))},Vt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,r)=>{let{attachment:a,asChild:i,className:c,children:l,...u}=t,d=I(),C=i?U:"div",y=!!a.url&&ct(a.name,a.type),R=`${Math.ceil(a.size/1024)} KB`,p=a.status?Vt[a.status]:void 0,g=d.disabled||d.readOnly,x=f=>{ht(f.currentTarget,d.textareaRef),d.removeAttachment(a.id)},w=a.status==="uploading"?e.createElement(De,null):y?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(C,{...u,ref:r,className:E(l?"kui-ChatbarAttachment":"kui-ChatbarAttachment kui-ChatbarItem",c),role:"listitem","data-kind":y?"image":"file","data-status":a.status,title:a.name},l??e.createElement(ft,{lead:w,leadKind:y&&a.status!=="uploading"?"image":"icon",label:a.name,detail:p?`${R}, ${p}`:R,removeLabel:`Remove ${a.name}`,onRemove:g?void 0:x}))});$e.displayName="Chatbar.Attachment";var bt=e.forwardRef((t,r)=>{let{children:a,icon:i,image:c,color:l,onRemove:u,removeLabel:d,className:C,...y}=t,R=I(),p=R.disabled||R.readOnly,g=u?x=>{ht(x.currentTarget,R.textareaRef),u()}:void 0;return e.createElement("div",{...y,ref:r,className:E("kui-ChatbarItem",C),role:"listitem","data-accent-color":c?void 0:l??"gray",title:a},e.createElement(ft,{lead:c?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:c,alt:""}):i,leadKind:c?"image":"icon",label:a,removeLabel:d??`Remove ${a}`,onRemove:p?void 0:g}))});bt.displayName="Chatbar.Item";var Rt=e.forwardRef((t,r)=>{let{asChild:a,accept:i,multiple:c,disabled:l,onPointerDown:u,onClick:d,children:C,color:y,...R}=t,p=I(),g=l||p.disabled||p.readOnly,x={...R,ref:r,className:E("kui-ChatbarAttachTrigger",R.className),type:R.type??"button","aria-label":R["aria-label"]??"Add attachments",disabled:g,onPointerDown:w=>{u?.(w),!g&&!w.defaultPrevented&&p.beginFilePickerPress()},onClick:w=>{d?.(w),!(g||w.defaultPrevented)&&p.openFilePicker({accept:i,multiple:c})}};return a?e.createElement(U,{...x},C):e.createElement(ke,{iconOnly:!0,emphasis:"quiet",color:"gray",size:p.size,...x},C??e.createElement(Ze,{"aria-hidden":!0}))});Rt.displayName="Chatbar.AttachTrigger";var Ct=e.forwardRef((t,r)=>{let{asChild:a,children:i,className:c,...l}=t;return I().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:r,className:E("kui-ChatbarRow",c)},e.createElement(ze,{align:"center",justify:"between",width:"100%"},i))):null});Ct.displayName="Chatbar.Row";var gt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowStart",a)})});gt.displayName="Chatbar.RowStart";var vt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowEnd",a)})});vt.displayName="Chatbar.RowEnd";var yt=e.forwardRef((t,r)=>{let{asChild:a,clearOnSend:i,disabled:c,children:l,style:u,className:d,size:C,variant:y,emphasis:R,tabIndex:p,onClick:g,status:x="ready",onStop:w,onRetry:f,stopLabel:S="Stop",retryLabel:D="Retry",stopIcon:O,retryIcon:z,"aria-label":H,"aria-labelledby":F,...Q}=t,b=I(),_=e.useContext(We),B=Ve(_)||b.attachments.length>0,A=B?"send":x==="submitted"||x==="streaming"?"stop":x==="error"?"retry":"send";if(b.sendMode==="never"&&A==="send")return null;let L=A!=="send"||b.sendMode==="always"||B,Z=A==="send"?c||b.disabled||b.readOnly||!B:c||b.disabled,j=A==="stop"?{"aria-label":S}:A==="retry"?{"aria-label":D}:F?{"aria-labelledby":F}:{"aria-label":H??"Send"},q=N=>{if(g?.(N),N.defaultPrevented||Z)return;if(A==="stop"){w?.();return}if(A==="retry"){f?.();return}let M=i??b.clearOnSubmit;b.submit(M)&&M&&b.textareaRef.current?.focus({preventScroll:!0})},V=A==="stop"?O??(x==="submitted"?e.createElement(De,null):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):A==="retry"?z??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(ke,{iconOnly:!0,...Q,ref:r,size:C??b.size,...R?{emphasis:R}:{variant:y??(b.open||A!=="send"?"solid":"ghost")},disabled:Z,className:E("kui-ChatbarSend",d),style:{opacity:L?1:0,pointerEvents:L?void 0:"none",...u},"aria-hidden":L?void 0:!0,tabIndex:L?p:-1,asChild:a,onClick:q,"data-status":x,"data-mode":A,...j},V)});yt.displayName="Chatbar.Send";export{lt as a,ut as b,dt as c,mt as d,pt as e,$e as f,bt as g,Rt as h,Ct as i,gt as j,vt as k,yt as l,Wt as m};
|
|
2
|
-
//# sourceMappingURL=chunk-WG5ORTIW.js.map
|