@womp/kookie-ui 0.3.22
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 +321 -0
- package/components.css +23090 -0
- package/dist/cjs/components/_internal/base-button.d.ts +51 -0
- package/dist/cjs/components/_internal/base-button.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-button.js +2 -0
- package/dist/cjs/components/_internal/base-button.js.map +7 -0
- package/dist/cjs/components/_internal/base-button.props.d.ts +115 -0
- package/dist/cjs/components/_internal/base-button.props.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-button.props.js +2 -0
- package/dist/cjs/components/_internal/base-button.props.js.map +7 -0
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +32 -0
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-checkbox.props.js +2 -0
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +7 -0
- package/dist/cjs/components/_internal/base-menu.props.d.ts +121 -0
- package/dist/cjs/components/_internal/base-menu.props.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-menu.props.js +2 -0
- package/dist/cjs/components/_internal/base-menu.props.js.map +7 -0
- package/dist/cjs/components/_internal/base-radio.props.d.ts +32 -0
- package/dist/cjs/components/_internal/base-radio.props.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-radio.props.js +2 -0
- package/dist/cjs/components/_internal/base-radio.props.js.map +7 -0
- package/dist/cjs/components/_internal/base-tab-list.props.d.ts +38 -0
- package/dist/cjs/components/_internal/base-tab-list.props.d.ts.map +1 -0
- package/dist/cjs/components/_internal/base-tab-list.props.js +2 -0
- package/dist/cjs/components/_internal/base-tab-list.props.js.map +7 -0
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts +81 -0
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -0
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js +2 -0
- package/dist/cjs/components/_internal/dropdown-menu-drill-down.js.map +7 -0
- package/dist/cjs/components/_internal/menu-context.d.ts +27 -0
- package/dist/cjs/components/_internal/menu-context.d.ts.map +1 -0
- package/dist/cjs/components/_internal/menu-context.js +2 -0
- package/dist/cjs/components/_internal/menu-context.js.map +7 -0
- package/dist/cjs/components/_internal/shell-bottom.d.ts +40 -0
- package/dist/cjs/components/_internal/shell-bottom.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-bottom.js +2 -0
- package/dist/cjs/components/_internal/shell-bottom.js.map +7 -0
- package/dist/cjs/components/_internal/shell-handles.d.ts +7 -0
- package/dist/cjs/components/_internal/shell-handles.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-handles.js +2 -0
- package/dist/cjs/components/_internal/shell-handles.js.map +7 -0
- package/dist/cjs/components/_internal/shell-inspector.d.ts +40 -0
- package/dist/cjs/components/_internal/shell-inspector.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-inspector.js +2 -0
- package/dist/cjs/components/_internal/shell-inspector.js.map +7 -0
- package/dist/cjs/components/_internal/shell-prop-helpers.d.ts +7 -0
- package/dist/cjs/components/_internal/shell-prop-helpers.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-prop-helpers.js +2 -0
- package/dist/cjs/components/_internal/shell-prop-helpers.js.map +7 -0
- package/dist/cjs/components/_internal/shell-resize.d.ts +24 -0
- package/dist/cjs/components/_internal/shell-resize.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-resize.js +2 -0
- package/dist/cjs/components/_internal/shell-resize.js.map +7 -0
- package/dist/cjs/components/_internal/shell-sidebar.d.ts +40 -0
- package/dist/cjs/components/_internal/shell-sidebar.d.ts.map +1 -0
- package/dist/cjs/components/_internal/shell-sidebar.js +2 -0
- package/dist/cjs/components/_internal/shell-sidebar.js.map +7 -0
- package/dist/cjs/components/accessible-icon.d.ts +4 -0
- package/dist/cjs/components/accessible-icon.d.ts.map +1 -0
- package/dist/cjs/components/accessible-icon.js +2 -0
- package/dist/cjs/components/accessible-icon.js.map +7 -0
- package/dist/cjs/components/accordion.d.ts +22 -0
- package/dist/cjs/components/accordion.d.ts.map +1 -0
- package/dist/cjs/components/accordion.js +2 -0
- package/dist/cjs/components/accordion.js.map +7 -0
- package/dist/cjs/components/accordion.props.d.ts +97 -0
- package/dist/cjs/components/accordion.props.d.ts.map +1 -0
- package/dist/cjs/components/accordion.props.js +2 -0
- package/dist/cjs/components/accordion.props.js.map +7 -0
- package/dist/cjs/components/alert-dialog.d.ts +29 -0
- package/dist/cjs/components/alert-dialog.d.ts.map +1 -0
- package/dist/cjs/components/alert-dialog.js +2 -0
- package/dist/cjs/components/alert-dialog.js.map +7 -0
- package/dist/cjs/components/alert-dialog.props.d.ts +70 -0
- package/dist/cjs/components/alert-dialog.props.d.ts.map +1 -0
- package/dist/cjs/components/alert-dialog.props.js +2 -0
- package/dist/cjs/components/alert-dialog.props.js.map +7 -0
- package/dist/cjs/components/aspect-ratio.d.ts +4 -0
- package/dist/cjs/components/aspect-ratio.d.ts.map +1 -0
- package/dist/cjs/components/aspect-ratio.js +2 -0
- package/dist/cjs/components/aspect-ratio.js.map +7 -0
- package/dist/cjs/components/avatar.d.ts +16 -0
- package/dist/cjs/components/avatar.d.ts.map +1 -0
- package/dist/cjs/components/avatar.js +2 -0
- package/dist/cjs/components/avatar.js.map +7 -0
- package/dist/cjs/components/avatar.props.d.ts +82 -0
- package/dist/cjs/components/avatar.props.d.ts.map +1 -0
- package/dist/cjs/components/avatar.props.js +2 -0
- package/dist/cjs/components/avatar.props.js.map +7 -0
- package/dist/cjs/components/badge.d.ts +19 -0
- package/dist/cjs/components/badge.d.ts.map +1 -0
- package/dist/cjs/components/badge.js +2 -0
- package/dist/cjs/components/badge.js.map +7 -0
- package/dist/cjs/components/badge.props.d.ts +48 -0
- package/dist/cjs/components/badge.props.d.ts.map +1 -0
- package/dist/cjs/components/badge.props.js +2 -0
- package/dist/cjs/components/badge.props.js.map +7 -0
- package/dist/cjs/components/blockquote.d.ts +12 -0
- package/dist/cjs/components/blockquote.d.ts.map +1 -0
- package/dist/cjs/components/blockquote.js +2 -0
- package/dist/cjs/components/blockquote.js.map +7 -0
- package/dist/cjs/components/blockquote.props.d.ts +39 -0
- package/dist/cjs/components/blockquote.props.d.ts.map +1 -0
- package/dist/cjs/components/blockquote.props.js +2 -0
- package/dist/cjs/components/blockquote.props.js.map +7 -0
- package/dist/cjs/components/box.d.ts +18 -0
- package/dist/cjs/components/box.d.ts.map +1 -0
- package/dist/cjs/components/box.js +2 -0
- package/dist/cjs/components/box.js.map +7 -0
- package/dist/cjs/components/box.props.d.ts +40 -0
- package/dist/cjs/components/box.props.d.ts.map +1 -0
- package/dist/cjs/components/box.props.js +2 -0
- package/dist/cjs/components/box.props.js.map +7 -0
- package/dist/cjs/components/button.d.ts +107 -0
- package/dist/cjs/components/button.d.ts.map +1 -0
- package/dist/cjs/components/button.js +2 -0
- package/dist/cjs/components/button.js.map +7 -0
- package/dist/cjs/components/button.props.d.ts +19 -0
- package/dist/cjs/components/button.props.d.ts.map +1 -0
- package/dist/cjs/components/button.props.js +2 -0
- package/dist/cjs/components/button.props.js.map +7 -0
- package/dist/cjs/components/callout.d.ts +22 -0
- package/dist/cjs/components/callout.d.ts.map +1 -0
- package/dist/cjs/components/callout.js +2 -0
- package/dist/cjs/components/callout.js.map +7 -0
- package/dist/cjs/components/callout.props.d.ts +43 -0
- package/dist/cjs/components/callout.props.d.ts.map +1 -0
- package/dist/cjs/components/callout.props.js +2 -0
- package/dist/cjs/components/callout.props.js.map +7 -0
- package/dist/cjs/components/card.d.ts +12 -0
- package/dist/cjs/components/card.d.ts.map +1 -0
- package/dist/cjs/components/card.js +2 -0
- package/dist/cjs/components/card.js.map +7 -0
- package/dist/cjs/components/card.props.d.ts +38 -0
- package/dist/cjs/components/card.props.d.ts.map +1 -0
- package/dist/cjs/components/card.props.js +2 -0
- package/dist/cjs/components/card.props.js.map +7 -0
- package/dist/cjs/components/chatbar.d.ts +233 -0
- package/dist/cjs/components/chatbar.d.ts.map +1 -0
- package/dist/cjs/components/chatbar.js +5 -0
- package/dist/cjs/components/chatbar.js.map +7 -0
- package/dist/cjs/components/checkbox-cards.d.ts +19 -0
- package/dist/cjs/components/checkbox-cards.d.ts.map +1 -0
- package/dist/cjs/components/checkbox-cards.js +2 -0
- package/dist/cjs/components/checkbox-cards.js.map +7 -0
- package/dist/cjs/components/checkbox-cards.props.d.ts +52 -0
- package/dist/cjs/components/checkbox-cards.props.d.ts.map +1 -0
- package/dist/cjs/components/checkbox-cards.props.js +2 -0
- package/dist/cjs/components/checkbox-cards.props.js.map +7 -0
- package/dist/cjs/components/checkbox-group.d.ts +16 -0
- package/dist/cjs/components/checkbox-group.d.ts.map +1 -0
- package/dist/cjs/components/checkbox-group.js +2 -0
- package/dist/cjs/components/checkbox-group.js.map +7 -0
- package/dist/cjs/components/checkbox-group.primitive.d.ts +41 -0
- package/dist/cjs/components/checkbox-group.primitive.d.ts.map +1 -0
- package/dist/cjs/components/checkbox-group.primitive.js +2 -0
- package/dist/cjs/components/checkbox-group.primitive.js.map +7 -0
- package/dist/cjs/components/checkbox-group.props.d.ts +35 -0
- package/dist/cjs/components/checkbox-group.props.d.ts.map +1 -0
- package/dist/cjs/components/checkbox-group.props.js +2 -0
- package/dist/cjs/components/checkbox-group.props.js.map +7 -0
- package/dist/cjs/components/checkbox.d.ts +13 -0
- package/dist/cjs/components/checkbox.d.ts.map +1 -0
- package/dist/cjs/components/checkbox.js +2 -0
- package/dist/cjs/components/checkbox.js.map +7 -0
- package/dist/cjs/components/checkbox.props.d.ts +2 -0
- package/dist/cjs/components/checkbox.props.d.ts.map +1 -0
- package/dist/cjs/components/checkbox.props.js +2 -0
- package/dist/cjs/components/checkbox.props.js.map +7 -0
- package/dist/cjs/components/code.d.ts +12 -0
- package/dist/cjs/components/code.d.ts.map +1 -0
- package/dist/cjs/components/code.js +2 -0
- package/dist/cjs/components/code.js.map +7 -0
- package/dist/cjs/components/code.props.d.ts +45 -0
- package/dist/cjs/components/code.props.d.ts.map +1 -0
- package/dist/cjs/components/code.props.js +2 -0
- package/dist/cjs/components/code.props.js.map +7 -0
- package/dist/cjs/components/combobox.d.ts +101 -0
- package/dist/cjs/components/combobox.d.ts.map +1 -0
- package/dist/cjs/components/combobox.js +2 -0
- package/dist/cjs/components/combobox.js.map +7 -0
- package/dist/cjs/components/combobox.props.d.ts +98 -0
- package/dist/cjs/components/combobox.props.d.ts.map +1 -0
- package/dist/cjs/components/combobox.props.js +2 -0
- package/dist/cjs/components/combobox.props.js.map +7 -0
- package/dist/cjs/components/container.d.ts +11 -0
- package/dist/cjs/components/container.d.ts.map +1 -0
- package/dist/cjs/components/container.js +2 -0
- package/dist/cjs/components/container.js.map +7 -0
- package/dist/cjs/components/container.props.d.ts +68 -0
- package/dist/cjs/components/container.props.d.ts.map +1 -0
- package/dist/cjs/components/container.props.js +2 -0
- package/dist/cjs/components/container.props.js.map +7 -0
- package/dist/cjs/components/context-menu.d.ts +54 -0
- package/dist/cjs/components/context-menu.d.ts.map +1 -0
- package/dist/cjs/components/context-menu.js +2 -0
- package/dist/cjs/components/context-menu.js.map +7 -0
- package/dist/cjs/components/context-menu.props.d.ts +2 -0
- package/dist/cjs/components/context-menu.props.d.ts.map +1 -0
- package/dist/cjs/components/context-menu.props.js +2 -0
- package/dist/cjs/components/context-menu.props.js.map +7 -0
- package/dist/cjs/components/data-list.d.ts +23 -0
- package/dist/cjs/components/data-list.d.ts.map +1 -0
- package/dist/cjs/components/data-list.js +2 -0
- package/dist/cjs/components/data-list.js.map +7 -0
- package/dist/cjs/components/data-list.props.d.ts +62 -0
- package/dist/cjs/components/data-list.props.d.ts.map +1 -0
- package/dist/cjs/components/data-list.props.js +2 -0
- package/dist/cjs/components/data-list.props.js.map +7 -0
- package/dist/cjs/components/dialog.d.ts +26 -0
- package/dist/cjs/components/dialog.d.ts.map +1 -0
- package/dist/cjs/components/dialog.js +2 -0
- package/dist/cjs/components/dialog.js.map +7 -0
- package/dist/cjs/components/dialog.props.d.ts +72 -0
- package/dist/cjs/components/dialog.props.d.ts.map +1 -0
- package/dist/cjs/components/dialog.props.js +2 -0
- package/dist/cjs/components/dialog.props.js.map +7 -0
- package/dist/cjs/components/dropdown-menu.d.ts +89 -0
- package/dist/cjs/components/dropdown-menu.d.ts.map +1 -0
- package/dist/cjs/components/dropdown-menu.js +2 -0
- package/dist/cjs/components/dropdown-menu.js.map +7 -0
- package/dist/cjs/components/dropdown-menu.props.d.ts +2 -0
- package/dist/cjs/components/dropdown-menu.props.d.ts.map +1 -0
- package/dist/cjs/components/dropdown-menu.props.js +2 -0
- package/dist/cjs/components/dropdown-menu.props.js.map +7 -0
- package/dist/cjs/components/em.d.ts +11 -0
- package/dist/cjs/components/em.d.ts.map +1 -0
- package/dist/cjs/components/em.js +2 -0
- package/dist/cjs/components/em.js.map +7 -0
- package/dist/cjs/components/em.props.d.ts +17 -0
- package/dist/cjs/components/em.props.d.ts.map +1 -0
- package/dist/cjs/components/em.props.js +2 -0
- package/dist/cjs/components/em.props.js.map +7 -0
- package/dist/cjs/components/flex.d.ts +18 -0
- package/dist/cjs/components/flex.d.ts.map +1 -0
- package/dist/cjs/components/flex.js +2 -0
- package/dist/cjs/components/flex.js.map +7 -0
- package/dist/cjs/components/flex.props.d.ts +132 -0
- package/dist/cjs/components/flex.props.d.ts.map +1 -0
- package/dist/cjs/components/flex.props.js +2 -0
- package/dist/cjs/components/flex.props.js.map +7 -0
- package/dist/cjs/components/grid.d.ts +18 -0
- package/dist/cjs/components/grid.d.ts.map +1 -0
- package/dist/cjs/components/grid.js +2 -0
- package/dist/cjs/components/grid.js.map +7 -0
- package/dist/cjs/components/grid.props.d.ts +211 -0
- package/dist/cjs/components/grid.props.d.ts.map +1 -0
- package/dist/cjs/components/grid.props.js +2 -0
- package/dist/cjs/components/grid.props.js.map +7 -0
- package/dist/cjs/components/heading.d.ts +31 -0
- package/dist/cjs/components/heading.d.ts.map +1 -0
- package/dist/cjs/components/heading.js +2 -0
- package/dist/cjs/components/heading.js.map +7 -0
- package/dist/cjs/components/heading.props.d.ts +62 -0
- package/dist/cjs/components/heading.props.d.ts.map +1 -0
- package/dist/cjs/components/heading.props.js +2 -0
- package/dist/cjs/components/heading.props.js.map +7 -0
- package/dist/cjs/components/hover-card.d.ts +17 -0
- package/dist/cjs/components/hover-card.d.ts.map +1 -0
- package/dist/cjs/components/hover-card.js +2 -0
- package/dist/cjs/components/hover-card.js.map +7 -0
- package/dist/cjs/components/hover-card.props.d.ts +57 -0
- package/dist/cjs/components/hover-card.props.d.ts.map +1 -0
- package/dist/cjs/components/hover-card.props.js +2 -0
- package/dist/cjs/components/hover-card.props.js.map +7 -0
- package/dist/cjs/components/icon-button.d.ts +106 -0
- package/dist/cjs/components/icon-button.d.ts.map +1 -0
- package/dist/cjs/components/icon-button.js +5 -0
- package/dist/cjs/components/icon-button.js.map +7 -0
- package/dist/cjs/components/icon-button.props.d.ts +2 -0
- package/dist/cjs/components/icon-button.props.d.ts.map +1 -0
- package/dist/cjs/components/icon-button.props.js +2 -0
- package/dist/cjs/components/icon-button.props.js.map +7 -0
- package/dist/cjs/components/icons.d.ts +18 -0
- package/dist/cjs/components/icons.d.ts.map +1 -0
- package/dist/cjs/components/icons.js +2 -0
- package/dist/cjs/components/icons.js.map +7 -0
- package/dist/cjs/components/image.d.ts +101 -0
- package/dist/cjs/components/image.d.ts.map +1 -0
- package/dist/cjs/components/image.js +2 -0
- package/dist/cjs/components/image.js.map +7 -0
- package/dist/cjs/components/image.props.d.ts +147 -0
- package/dist/cjs/components/image.props.d.ts.map +1 -0
- package/dist/cjs/components/image.props.js +2 -0
- package/dist/cjs/components/image.props.js.map +7 -0
- package/dist/cjs/components/index.d.ts +72 -0
- package/dist/cjs/components/index.d.ts.map +1 -0
- package/dist/cjs/components/index.js +24 -0
- package/dist/cjs/components/index.js.map +7 -0
- package/dist/cjs/components/inset.d.ts +12 -0
- package/dist/cjs/components/inset.d.ts.map +1 -0
- package/dist/cjs/components/inset.js +2 -0
- package/dist/cjs/components/inset.js.map +7 -0
- package/dist/cjs/components/inset.props.d.ts +71 -0
- package/dist/cjs/components/inset.props.d.ts.map +1 -0
- package/dist/cjs/components/inset.props.js +2 -0
- package/dist/cjs/components/inset.props.js.map +7 -0
- package/dist/cjs/components/kbd.d.ts +12 -0
- package/dist/cjs/components/kbd.d.ts.map +1 -0
- package/dist/cjs/components/kbd.js +2 -0
- package/dist/cjs/components/kbd.js.map +7 -0
- package/dist/cjs/components/kbd.props.d.ts +19 -0
- package/dist/cjs/components/kbd.props.d.ts.map +1 -0
- package/dist/cjs/components/kbd.props.js +2 -0
- package/dist/cjs/components/kbd.props.js.map +7 -0
- package/dist/cjs/components/link.d.ts +12 -0
- package/dist/cjs/components/link.d.ts.map +1 -0
- package/dist/cjs/components/link.js +2 -0
- package/dist/cjs/components/link.js.map +7 -0
- package/dist/cjs/components/link.props.d.ts +51 -0
- package/dist/cjs/components/link.props.d.ts.map +1 -0
- package/dist/cjs/components/link.props.js +2 -0
- package/dist/cjs/components/link.props.js.map +7 -0
- package/dist/cjs/components/navbar.d.ts +24 -0
- package/dist/cjs/components/navbar.d.ts.map +1 -0
- package/dist/cjs/components/navbar.js +2 -0
- package/dist/cjs/components/navbar.js.map +7 -0
- package/dist/cjs/components/navbar.props.d.ts +14 -0
- package/dist/cjs/components/navbar.props.d.ts.map +1 -0
- package/dist/cjs/components/navbar.props.js +2 -0
- package/dist/cjs/components/navbar.props.js.map +7 -0
- package/dist/cjs/components/popover.d.ts +35 -0
- package/dist/cjs/components/popover.d.ts.map +1 -0
- package/dist/cjs/components/popover.js +2 -0
- package/dist/cjs/components/popover.js.map +7 -0
- package/dist/cjs/components/popover.props.d.ts +62 -0
- package/dist/cjs/components/popover.props.d.ts.map +1 -0
- package/dist/cjs/components/popover.props.js +2 -0
- package/dist/cjs/components/popover.props.js.map +7 -0
- package/dist/cjs/components/portal.d.ts +5 -0
- package/dist/cjs/components/portal.d.ts.map +1 -0
- package/dist/cjs/components/portal.js +2 -0
- package/dist/cjs/components/portal.js.map +7 -0
- package/dist/cjs/components/progress.d.ts +14 -0
- package/dist/cjs/components/progress.d.ts.map +1 -0
- package/dist/cjs/components/progress.js +2 -0
- package/dist/cjs/components/progress.js.map +7 -0
- package/dist/cjs/components/progress.props.d.ts +35 -0
- package/dist/cjs/components/progress.props.d.ts.map +1 -0
- package/dist/cjs/components/progress.props.js +2 -0
- package/dist/cjs/components/progress.props.js.map +7 -0
- package/dist/cjs/components/quote.d.ts +11 -0
- package/dist/cjs/components/quote.d.ts.map +1 -0
- package/dist/cjs/components/quote.js +2 -0
- package/dist/cjs/components/quote.js.map +7 -0
- package/dist/cjs/components/quote.props.d.ts +17 -0
- package/dist/cjs/components/quote.props.d.ts.map +1 -0
- package/dist/cjs/components/quote.props.js +2 -0
- package/dist/cjs/components/quote.props.js.map +7 -0
- package/dist/cjs/components/radio-cards.d.ts +16 -0
- package/dist/cjs/components/radio-cards.d.ts.map +1 -0
- package/dist/cjs/components/radio-cards.js +2 -0
- package/dist/cjs/components/radio-cards.js.map +7 -0
- package/dist/cjs/components/radio-cards.props.d.ts +52 -0
- package/dist/cjs/components/radio-cards.props.d.ts.map +1 -0
- package/dist/cjs/components/radio-cards.props.js +2 -0
- package/dist/cjs/components/radio-cards.props.js.map +7 -0
- package/dist/cjs/components/radio-group.d.ts +22 -0
- package/dist/cjs/components/radio-group.d.ts.map +1 -0
- package/dist/cjs/components/radio-group.js +2 -0
- package/dist/cjs/components/radio-group.js.map +7 -0
- package/dist/cjs/components/radio-group.props.d.ts +30 -0
- package/dist/cjs/components/radio-group.props.d.ts.map +1 -0
- package/dist/cjs/components/radio-group.props.js +2 -0
- package/dist/cjs/components/radio-group.props.js.map +7 -0
- package/dist/cjs/components/radio.d.ts +17 -0
- package/dist/cjs/components/radio.d.ts.map +1 -0
- package/dist/cjs/components/radio.js +2 -0
- package/dist/cjs/components/radio.js.map +7 -0
- package/dist/cjs/components/radio.props.d.ts +2 -0
- package/dist/cjs/components/radio.props.d.ts.map +1 -0
- package/dist/cjs/components/radio.props.js +2 -0
- package/dist/cjs/components/radio.props.js.map +7 -0
- package/dist/cjs/components/reset.d.ts +9 -0
- package/dist/cjs/components/reset.d.ts.map +1 -0
- package/dist/cjs/components/reset.js +2 -0
- package/dist/cjs/components/reset.js.map +7 -0
- package/dist/cjs/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/base-button.schema.js +2 -0
- package/dist/cjs/components/schemas/base-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/button.schema.d.ts +686 -0
- package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/button.schema.js +2 -0
- package/dist/cjs/components/schemas/button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/index.d.ts +54 -0
- package/dist/cjs/components/schemas/index.d.ts.map +1 -0
- package/dist/cjs/components/schemas/index.js +2 -0
- package/dist/cjs/components/schemas/index.js.map +7 -0
- package/dist/cjs/components/schemas/shell.schema.d.ts +1025 -0
- package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/shell.schema.js +2 -0
- package/dist/cjs/components/schemas/shell.schema.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/cjs/components/scroll-area.d.ts +13 -0
- package/dist/cjs/components/scroll-area.d.ts.map +1 -0
- package/dist/cjs/components/scroll-area.js +2 -0
- package/dist/cjs/components/scroll-area.js.map +7 -0
- package/dist/cjs/components/scroll-area.props.d.ts +24 -0
- package/dist/cjs/components/scroll-area.props.d.ts.map +1 -0
- package/dist/cjs/components/scroll-area.props.js +2 -0
- package/dist/cjs/components/scroll-area.props.js.map +7 -0
- package/dist/cjs/components/section.d.ts +11 -0
- package/dist/cjs/components/section.d.ts.map +1 -0
- package/dist/cjs/components/section.js +2 -0
- package/dist/cjs/components/section.js.map +7 -0
- package/dist/cjs/components/section.props.d.ts +52 -0
- package/dist/cjs/components/section.props.d.ts.map +1 -0
- package/dist/cjs/components/section.props.js +2 -0
- package/dist/cjs/components/section.props.js.map +7 -0
- package/dist/cjs/components/segmented-control.d.ts +24 -0
- package/dist/cjs/components/segmented-control.d.ts.map +1 -0
- package/dist/cjs/components/segmented-control.js +2 -0
- package/dist/cjs/components/segmented-control.js.map +7 -0
- package/dist/cjs/components/segmented-control.props.d.ts +39 -0
- package/dist/cjs/components/segmented-control.props.d.ts.map +1 -0
- package/dist/cjs/components/segmented-control.props.js +2 -0
- package/dist/cjs/components/segmented-control.props.js.map +7 -0
- package/dist/cjs/components/select.d.ts +35 -0
- package/dist/cjs/components/select.d.ts.map +1 -0
- package/dist/cjs/components/select.js +2 -0
- package/dist/cjs/components/select.js.map +7 -0
- package/dist/cjs/components/select.props.d.ts +67 -0
- package/dist/cjs/components/select.props.d.ts.map +1 -0
- package/dist/cjs/components/select.props.js +2 -0
- package/dist/cjs/components/select.props.js.map +7 -0
- package/dist/cjs/components/separator.d.ts +12 -0
- package/dist/cjs/components/separator.d.ts.map +1 -0
- package/dist/cjs/components/separator.js +2 -0
- package/dist/cjs/components/separator.js.map +7 -0
- package/dist/cjs/components/separator.props.d.ts +32 -0
- package/dist/cjs/components/separator.props.d.ts.map +1 -0
- package/dist/cjs/components/separator.props.js +2 -0
- package/dist/cjs/components/separator.props.js.map +7 -0
- package/dist/cjs/components/sheet.d.ts +82 -0
- package/dist/cjs/components/sheet.d.ts.map +1 -0
- package/dist/cjs/components/sheet.js +2 -0
- package/dist/cjs/components/sheet.js.map +7 -0
- package/dist/cjs/components/shell.context.d.ts +143 -0
- package/dist/cjs/components/shell.context.d.ts.map +1 -0
- package/dist/cjs/components/shell.context.js +2 -0
- package/dist/cjs/components/shell.context.js.map +7 -0
- package/dist/cjs/components/shell.d.ts +107 -0
- package/dist/cjs/components/shell.d.ts.map +1 -0
- package/dist/cjs/components/shell.hooks.d.ts +26 -0
- package/dist/cjs/components/shell.hooks.d.ts.map +1 -0
- package/dist/cjs/components/shell.hooks.js +2 -0
- package/dist/cjs/components/shell.hooks.js.map +7 -0
- package/dist/cjs/components/shell.js +2 -0
- package/dist/cjs/components/shell.js.map +7 -0
- package/dist/cjs/components/shell.types.d.ts +53 -0
- package/dist/cjs/components/shell.types.d.ts.map +1 -0
- package/dist/cjs/components/shell.types.js +2 -0
- package/dist/cjs/components/shell.types.js.map +7 -0
- package/dist/cjs/components/sidebar.d.ts +146 -0
- package/dist/cjs/components/sidebar.d.ts.map +1 -0
- package/dist/cjs/components/sidebar.js +2 -0
- package/dist/cjs/components/sidebar.js.map +7 -0
- package/dist/cjs/components/sidebar.props.d.ts +66 -0
- package/dist/cjs/components/sidebar.props.d.ts.map +1 -0
- package/dist/cjs/components/sidebar.props.js +2 -0
- package/dist/cjs/components/sidebar.props.js.map +7 -0
- package/dist/cjs/components/skeleton.d.ts +12 -0
- package/dist/cjs/components/skeleton.d.ts.map +1 -0
- package/dist/cjs/components/skeleton.js +2 -0
- package/dist/cjs/components/skeleton.js.map +7 -0
- package/dist/cjs/components/skeleton.props.d.ts +44 -0
- package/dist/cjs/components/skeleton.props.d.ts.map +1 -0
- package/dist/cjs/components/skeleton.props.js +2 -0
- package/dist/cjs/components/skeleton.props.js.map +7 -0
- package/dist/cjs/components/slider.d.ts +18 -0
- package/dist/cjs/components/slider.d.ts.map +1 -0
- package/dist/cjs/components/slider.js +2 -0
- package/dist/cjs/components/slider.js.map +7 -0
- package/dist/cjs/components/slider.props.d.ts +40 -0
- package/dist/cjs/components/slider.props.d.ts.map +1 -0
- package/dist/cjs/components/slider.props.js +2 -0
- package/dist/cjs/components/slider.props.js.map +7 -0
- package/dist/cjs/components/slot.d.ts +5 -0
- package/dist/cjs/components/slot.d.ts.map +1 -0
- package/dist/cjs/components/slot.js +2 -0
- package/dist/cjs/components/slot.js.map +7 -0
- package/dist/cjs/components/spinner.d.ts +12 -0
- package/dist/cjs/components/spinner.d.ts.map +1 -0
- package/dist/cjs/components/spinner.js +2 -0
- package/dist/cjs/components/spinner.js.map +7 -0
- package/dist/cjs/components/spinner.props.d.ts +15 -0
- package/dist/cjs/components/spinner.props.d.ts.map +1 -0
- package/dist/cjs/components/spinner.props.js +2 -0
- package/dist/cjs/components/spinner.props.js.map +7 -0
- package/dist/cjs/components/strong.d.ts +11 -0
- package/dist/cjs/components/strong.d.ts.map +1 -0
- package/dist/cjs/components/strong.js +2 -0
- package/dist/cjs/components/strong.js.map +7 -0
- package/dist/cjs/components/strong.props.d.ts +17 -0
- package/dist/cjs/components/strong.props.d.ts.map +1 -0
- package/dist/cjs/components/strong.props.js +2 -0
- package/dist/cjs/components/strong.props.js.map +7 -0
- package/dist/cjs/components/switch.d.ts +13 -0
- package/dist/cjs/components/switch.d.ts.map +1 -0
- package/dist/cjs/components/switch.js +2 -0
- package/dist/cjs/components/switch.js.map +7 -0
- package/dist/cjs/components/switch.props.d.ts +45 -0
- package/dist/cjs/components/switch.props.d.ts.map +1 -0
- package/dist/cjs/components/switch.props.js +2 -0
- package/dist/cjs/components/switch.props.js.map +7 -0
- package/dist/cjs/components/tab-nav.d.ts +19 -0
- package/dist/cjs/components/tab-nav.d.ts.map +1 -0
- package/dist/cjs/components/tab-nav.js +2 -0
- package/dist/cjs/components/tab-nav.js.map +7 -0
- package/dist/cjs/components/tab-nav.props.d.ts +12 -0
- package/dist/cjs/components/tab-nav.props.d.ts.map +1 -0
- package/dist/cjs/components/tab-nav.props.js +2 -0
- package/dist/cjs/components/tab-nav.props.js.map +7 -0
- package/dist/cjs/components/table.d.ts +32 -0
- package/dist/cjs/components/table.d.ts.map +1 -0
- package/dist/cjs/components/table.js +2 -0
- package/dist/cjs/components/table.js.map +7 -0
- package/dist/cjs/components/table.props.d.ts +110 -0
- package/dist/cjs/components/table.props.d.ts.map +1 -0
- package/dist/cjs/components/table.props.js +2 -0
- package/dist/cjs/components/table.props.js.map +7 -0
- package/dist/cjs/components/tabs.d.ts +25 -0
- package/dist/cjs/components/tabs.d.ts.map +1 -0
- package/dist/cjs/components/tabs.js +2 -0
- package/dist/cjs/components/tabs.js.map +7 -0
- package/dist/cjs/components/tabs.props.d.ts +13 -0
- package/dist/cjs/components/tabs.props.d.ts.map +1 -0
- package/dist/cjs/components/tabs.props.js +2 -0
- package/dist/cjs/components/tabs.props.js.map +7 -0
- package/dist/cjs/components/text-area.d.ts +15 -0
- package/dist/cjs/components/text-area.d.ts.map +1 -0
- package/dist/cjs/components/text-area.js +2 -0
- package/dist/cjs/components/text-area.js.map +7 -0
- package/dist/cjs/components/text-area.props.d.ts +67 -0
- package/dist/cjs/components/text-area.props.d.ts.map +1 -0
- package/dist/cjs/components/text-area.props.js +2 -0
- package/dist/cjs/components/text-area.props.js.map +7 -0
- package/dist/cjs/components/text-field.d.ts +22 -0
- package/dist/cjs/components/text-field.d.ts.map +1 -0
- package/dist/cjs/components/text-field.js +5 -0
- package/dist/cjs/components/text-field.js.map +7 -0
- package/dist/cjs/components/text-field.props.d.ts +126 -0
- package/dist/cjs/components/text-field.props.d.ts.map +1 -0
- package/dist/cjs/components/text-field.props.js +2 -0
- package/dist/cjs/components/text-field.props.js.map +7 -0
- package/dist/cjs/components/text.d.ts +25 -0
- package/dist/cjs/components/text.d.ts.map +1 -0
- package/dist/cjs/components/text.js +2 -0
- package/dist/cjs/components/text.js.map +7 -0
- package/dist/cjs/components/text.props.d.ts +61 -0
- package/dist/cjs/components/text.props.d.ts.map +1 -0
- package/dist/cjs/components/text.props.js +2 -0
- package/dist/cjs/components/text.props.js.map +7 -0
- package/dist/cjs/components/theme-panel.d.ts +25 -0
- package/dist/cjs/components/theme-panel.d.ts.map +1 -0
- package/dist/cjs/components/theme-panel.js +13 -0
- package/dist/cjs/components/theme-panel.js.map +7 -0
- package/dist/cjs/components/theme.d.ts +43 -0
- package/dist/cjs/components/theme.d.ts.map +1 -0
- package/dist/cjs/components/theme.js +2 -0
- package/dist/cjs/components/theme.js.map +7 -0
- package/dist/cjs/components/theme.props.d.ts +112 -0
- package/dist/cjs/components/theme.props.d.ts.map +1 -0
- package/dist/cjs/components/theme.props.js +2 -0
- package/dist/cjs/components/theme.props.js.map +7 -0
- package/dist/cjs/components/toggle-button.d.ts +63 -0
- package/dist/cjs/components/toggle-button.d.ts.map +1 -0
- package/dist/cjs/components/toggle-button.js +10 -0
- package/dist/cjs/components/toggle-button.js.map +7 -0
- package/dist/cjs/components/toggle-icon-button.d.ts +107 -0
- package/dist/cjs/components/toggle-icon-button.d.ts.map +1 -0
- package/dist/cjs/components/toggle-icon-button.js +13 -0
- package/dist/cjs/components/toggle-icon-button.js.map +7 -0
- package/dist/cjs/components/toolbar.d.ts +40 -0
- package/dist/cjs/components/toolbar.d.ts.map +1 -0
- package/dist/cjs/components/toolbar.js +2 -0
- package/dist/cjs/components/toolbar.js.map +7 -0
- package/dist/cjs/components/tooltip.d.ts +14 -0
- package/dist/cjs/components/tooltip.d.ts.map +1 -0
- package/dist/cjs/components/tooltip.js +2 -0
- package/dist/cjs/components/tooltip.js.map +7 -0
- package/dist/cjs/components/tooltip.props.d.ts +31 -0
- package/dist/cjs/components/tooltip.props.d.ts.map +1 -0
- package/dist/cjs/components/tooltip.props.js +2 -0
- package/dist/cjs/components/tooltip.props.js.map +7 -0
- package/dist/cjs/components/user-card.d.ts +12 -0
- package/dist/cjs/components/user-card.d.ts.map +1 -0
- package/dist/cjs/components/user-card.js +2 -0
- package/dist/cjs/components/user-card.js.map +7 -0
- package/dist/cjs/components/user-card.props.d.ts +63 -0
- package/dist/cjs/components/user-card.props.d.ts.map +1 -0
- package/dist/cjs/components/user-card.props.js +2 -0
- package/dist/cjs/components/user-card.props.js.map +7 -0
- package/dist/cjs/components/virtual-menu.d.ts +116 -0
- package/dist/cjs/components/virtual-menu.d.ts.map +1 -0
- package/dist/cjs/components/virtual-menu.js +2 -0
- package/dist/cjs/components/virtual-menu.js.map +7 -0
- package/dist/cjs/components/visually-hidden.d.ts +5 -0
- package/dist/cjs/components/visually-hidden.d.ts.map +1 -0
- package/dist/cjs/components/visually-hidden.js +2 -0
- package/dist/cjs/components/visually-hidden.js.map +7 -0
- package/dist/cjs/helpers/component-props.d.ts +8 -0
- package/dist/cjs/helpers/component-props.d.ts.map +1 -0
- package/dist/cjs/helpers/component-props.js +2 -0
- package/dist/cjs/helpers/component-props.js.map +7 -0
- package/dist/cjs/helpers/extract-margin-props.d.ts +12 -0
- package/dist/cjs/helpers/extract-margin-props.d.ts.map +1 -0
- package/dist/cjs/helpers/extract-margin-props.js +2 -0
- package/dist/cjs/helpers/extract-margin-props.js.map +7 -0
- package/dist/cjs/helpers/extract-props.d.ts +23 -0
- package/dist/cjs/helpers/extract-props.d.ts.map +1 -0
- package/dist/cjs/helpers/extract-props.js +2 -0
- package/dist/cjs/helpers/extract-props.js.map +7 -0
- package/dist/cjs/helpers/font-config.d.ts +106 -0
- package/dist/cjs/helpers/font-config.d.ts.map +1 -0
- package/dist/cjs/helpers/font-config.js +3 -0
- package/dist/cjs/helpers/font-config.js.map +7 -0
- package/dist/cjs/helpers/get-margin-styles.d.ts +3 -0
- package/dist/cjs/helpers/get-margin-styles.d.ts.map +1 -0
- package/dist/cjs/helpers/get-margin-styles.js +2 -0
- package/dist/cjs/helpers/get-margin-styles.js.map +7 -0
- package/dist/cjs/helpers/get-matching-gray-color.d.ts +5 -0
- package/dist/cjs/helpers/get-matching-gray-color.d.ts.map +1 -0
- package/dist/cjs/helpers/get-matching-gray-color.js +2 -0
- package/dist/cjs/helpers/get-matching-gray-color.js.map +7 -0
- package/dist/cjs/helpers/get-responsive-styles.d.ts +26 -0
- package/dist/cjs/helpers/get-responsive-styles.d.ts.map +1 -0
- package/dist/cjs/helpers/get-responsive-styles.js +2 -0
- package/dist/cjs/helpers/get-responsive-styles.js.map +7 -0
- package/dist/cjs/helpers/get-subtree.d.ts +13 -0
- package/dist/cjs/helpers/get-subtree.d.ts.map +1 -0
- package/dist/cjs/helpers/get-subtree.js +2 -0
- package/dist/cjs/helpers/get-subtree.js.map +7 -0
- package/dist/cjs/helpers/has-own-property.d.ts +4 -0
- package/dist/cjs/helpers/has-own-property.d.ts.map +1 -0
- package/dist/cjs/helpers/has-own-property.js +2 -0
- package/dist/cjs/helpers/has-own-property.js.map +7 -0
- package/dist/cjs/helpers/index.d.ts +16 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -0
- package/dist/cjs/helpers/index.js +3 -0
- package/dist/cjs/helpers/index.js.map +7 -0
- package/dist/cjs/helpers/inert.d.ts +3 -0
- package/dist/cjs/helpers/inert.d.ts.map +1 -0
- package/dist/cjs/helpers/inert.js +2 -0
- package/dist/cjs/helpers/inert.js.map +7 -0
- package/dist/cjs/helpers/input-attributes.d.ts +7 -0
- package/dist/cjs/helpers/input-attributes.d.ts.map +1 -0
- package/dist/cjs/helpers/input-attributes.js +2 -0
- package/dist/cjs/helpers/input-attributes.js.map +7 -0
- package/dist/cjs/helpers/is-responsive-object.d.ts +3 -0
- package/dist/cjs/helpers/is-responsive-object.d.ts.map +1 -0
- package/dist/cjs/helpers/is-responsive-object.js +2 -0
- package/dist/cjs/helpers/is-responsive-object.js.map +7 -0
- package/dist/cjs/helpers/map-prop-values.d.ts +10 -0
- package/dist/cjs/helpers/map-prop-values.d.ts.map +1 -0
- package/dist/cjs/helpers/map-prop-values.js +2 -0
- package/dist/cjs/helpers/map-prop-values.js.map +7 -0
- package/dist/cjs/helpers/merge-styles.d.ts +4 -0
- package/dist/cjs/helpers/merge-styles.d.ts.map +1 -0
- package/dist/cjs/helpers/merge-styles.js +2 -0
- package/dist/cjs/helpers/merge-styles.js.map +7 -0
- package/dist/cjs/helpers/normalize-to-px.d.ts +10 -0
- package/dist/cjs/helpers/normalize-to-px.d.ts.map +1 -0
- package/dist/cjs/helpers/normalize-to-px.js +2 -0
- package/dist/cjs/helpers/normalize-to-px.js.map +7 -0
- package/dist/cjs/helpers/require-react-element.d.ts +4 -0
- package/dist/cjs/helpers/require-react-element.d.ts.map +1 -0
- package/dist/cjs/helpers/require-react-element.js +2 -0
- package/dist/cjs/helpers/require-react-element.js.map +7 -0
- package/dist/cjs/hooks/index.d.ts +5 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/hooks/index.js +10 -0
- package/dist/cjs/hooks/index.js.map +7 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts +9 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +2 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +7 -0
- package/dist/cjs/hooks/use-breakpoint.d.ts +11 -0
- package/dist/cjs/hooks/use-breakpoint.d.ts.map +1 -0
- package/dist/cjs/hooks/use-breakpoint.js +2 -0
- package/dist/cjs/hooks/use-breakpoint.js.map +7 -0
- package/dist/cjs/hooks/use-live-announcer.d.ts +6 -0
- package/dist/cjs/hooks/use-live-announcer.d.ts.map +1 -0
- package/dist/cjs/hooks/use-live-announcer.js +10 -0
- package/dist/cjs/hooks/use-live-announcer.js.map +7 -0
- package/dist/cjs/hooks/use-toggle-state.d.ts +37 -0
- package/dist/cjs/hooks/use-toggle-state.d.ts.map +1 -0
- package/dist/cjs/hooks/use-toggle-state.js +10 -0
- package/dist/cjs/hooks/use-toggle-state.js.map +7 -0
- package/dist/cjs/hooks/use-tooltip-wrapper.d.ts +29 -0
- package/dist/cjs/hooks/use-tooltip-wrapper.d.ts.map +1 -0
- package/dist/cjs/hooks/use-tooltip-wrapper.js +2 -0
- package/dist/cjs/hooks/use-tooltip-wrapper.js.map +7 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/props/as-child.prop.d.ts +11 -0
- package/dist/cjs/props/as-child.prop.d.ts.map +1 -0
- package/dist/cjs/props/as-child.prop.js +2 -0
- package/dist/cjs/props/as-child.prop.js.map +7 -0
- package/dist/cjs/props/color.prop.d.ts +18 -0
- package/dist/cjs/props/color.prop.d.ts.map +1 -0
- package/dist/cjs/props/color.prop.js +2 -0
- package/dist/cjs/props/color.prop.js.map +7 -0
- package/dist/cjs/props/font-family.prop.d.ts +9 -0
- package/dist/cjs/props/font-family.prop.d.ts.map +1 -0
- package/dist/cjs/props/font-family.prop.js +2 -0
- package/dist/cjs/props/font-family.prop.js.map +7 -0
- package/dist/cjs/props/gap.props.d.ts +61 -0
- package/dist/cjs/props/gap.props.d.ts.map +1 -0
- package/dist/cjs/props/gap.props.js +2 -0
- package/dist/cjs/props/gap.props.js.map +7 -0
- package/dist/cjs/props/height.props.d.ts +58 -0
- package/dist/cjs/props/height.props.d.ts.map +1 -0
- package/dist/cjs/props/height.props.js +2 -0
- package/dist/cjs/props/height.props.js.map +7 -0
- package/dist/cjs/props/high-contrast.prop.d.ts +9 -0
- package/dist/cjs/props/high-contrast.prop.d.ts.map +1 -0
- package/dist/cjs/props/high-contrast.prop.js +2 -0
- package/dist/cjs/props/high-contrast.prop.js.map +7 -0
- package/dist/cjs/props/index.d.ts +69 -0
- package/dist/cjs/props/index.d.ts.map +1 -0
- package/dist/cjs/props/index.js +2 -0
- package/dist/cjs/props/index.js.map +7 -0
- package/dist/cjs/props/layout.props.d.ts +472 -0
- package/dist/cjs/props/layout.props.d.ts.map +1 -0
- package/dist/cjs/props/layout.props.js +2 -0
- package/dist/cjs/props/layout.props.js.map +7 -0
- package/dist/cjs/props/leading-trim.prop.d.ts +10 -0
- package/dist/cjs/props/leading-trim.prop.d.ts.map +1 -0
- package/dist/cjs/props/leading-trim.prop.js +2 -0
- package/dist/cjs/props/leading-trim.prop.js.map +7 -0
- package/dist/cjs/props/margin.props.d.ts +142 -0
- package/dist/cjs/props/margin.props.d.ts.map +1 -0
- package/dist/cjs/props/margin.props.js +2 -0
- package/dist/cjs/props/margin.props.js.map +7 -0
- package/dist/cjs/props/padding.props.d.ts +142 -0
- package/dist/cjs/props/padding.props.d.ts.map +1 -0
- package/dist/cjs/props/padding.props.js +2 -0
- package/dist/cjs/props/padding.props.js.map +7 -0
- package/dist/cjs/props/prop-def.d.ts +60 -0
- package/dist/cjs/props/prop-def.d.ts.map +1 -0
- package/dist/cjs/props/prop-def.js +2 -0
- package/dist/cjs/props/prop-def.js.map +7 -0
- package/dist/cjs/props/radius.prop.d.ts +10 -0
- package/dist/cjs/props/radius.prop.d.ts.map +1 -0
- package/dist/cjs/props/radius.prop.js +2 -0
- package/dist/cjs/props/radius.prop.js.map +7 -0
- package/dist/cjs/props/shadow.props.d.ts +24 -0
- package/dist/cjs/props/shadow.props.d.ts.map +1 -0
- package/dist/cjs/props/shadow.props.js +2 -0
- package/dist/cjs/props/shadow.props.js.map +7 -0
- package/dist/cjs/props/text-align.prop.d.ts +10 -0
- package/dist/cjs/props/text-align.prop.d.ts.map +1 -0
- package/dist/cjs/props/text-align.prop.js +2 -0
- package/dist/cjs/props/text-align.prop.js.map +7 -0
- package/dist/cjs/props/text-wrap.prop.d.ts +10 -0
- package/dist/cjs/props/text-wrap.prop.d.ts.map +1 -0
- package/dist/cjs/props/text-wrap.prop.js +2 -0
- package/dist/cjs/props/text-wrap.prop.js.map +7 -0
- package/dist/cjs/props/truncate.prop.d.ts +8 -0
- package/dist/cjs/props/truncate.prop.d.ts.map +1 -0
- package/dist/cjs/props/truncate.prop.js +2 -0
- package/dist/cjs/props/truncate.prop.js.map +7 -0
- package/dist/cjs/props/weight.prop.d.ts +10 -0
- package/dist/cjs/props/weight.prop.d.ts.map +1 -0
- package/dist/cjs/props/weight.prop.js +2 -0
- package/dist/cjs/props/weight.prop.js.map +7 -0
- package/dist/cjs/props/width.props.d.ts +58 -0
- package/dist/cjs/props/width.props.d.ts.map +1 -0
- package/dist/cjs/props/width.props.js +2 -0
- package/dist/cjs/props/width.props.js.map +7 -0
- package/dist/esm/chunk-25U7DENY.js +2 -0
- package/dist/esm/chunk-25U7DENY.js.map +7 -0
- package/dist/esm/chunk-2AEELIG6.js +2 -0
- package/dist/esm/chunk-2AEELIG6.js.map +7 -0
- package/dist/esm/chunk-2LYX5S7H.js +2 -0
- package/dist/esm/chunk-2LYX5S7H.js.map +7 -0
- package/dist/esm/chunk-2N2AQNJH.js +2 -0
- package/dist/esm/chunk-2N2AQNJH.js.map +7 -0
- package/dist/esm/chunk-2SS3FA3N.js +2 -0
- package/dist/esm/chunk-2SS3FA3N.js.map +7 -0
- package/dist/esm/chunk-3DC63EZP.js +2 -0
- package/dist/esm/chunk-3DC63EZP.js.map +7 -0
- package/dist/esm/chunk-3F6I7YOR.js +2 -0
- package/dist/esm/chunk-3F6I7YOR.js.map +7 -0
- package/dist/esm/chunk-3KB2XWBE.js +2 -0
- package/dist/esm/chunk-3KB2XWBE.js.map +7 -0
- package/dist/esm/chunk-3XT5P2HO.js +2 -0
- package/dist/esm/chunk-3XT5P2HO.js.map +7 -0
- package/dist/esm/chunk-42HFGCHX.js +2 -0
- package/dist/esm/chunk-42HFGCHX.js.map +7 -0
- package/dist/esm/chunk-4532RT2B.js +2 -0
- package/dist/esm/chunk-4532RT2B.js.map +7 -0
- package/dist/esm/chunk-4JQZUQY7.js +2 -0
- package/dist/esm/chunk-4JQZUQY7.js.map +7 -0
- package/dist/esm/chunk-4N5JU7XQ.js +2 -0
- package/dist/esm/chunk-4N5JU7XQ.js.map +7 -0
- package/dist/esm/chunk-4OBMRJHC.js +2 -0
- package/dist/esm/chunk-4OBMRJHC.js.map +7 -0
- package/dist/esm/chunk-4TCXI3L3.js +2 -0
- package/dist/esm/chunk-4TCXI3L3.js.map +7 -0
- package/dist/esm/chunk-4Z33XHOK.js +2 -0
- package/dist/esm/chunk-4Z33XHOK.js.map +7 -0
- package/dist/esm/chunk-5GXFBLBJ.js +2 -0
- package/dist/esm/chunk-5GXFBLBJ.js.map +7 -0
- package/dist/esm/chunk-5KICSAT7.js +2 -0
- package/dist/esm/chunk-5KICSAT7.js.map +7 -0
- package/dist/esm/chunk-5LXFJMFB.js +2 -0
- package/dist/esm/chunk-5LXFJMFB.js.map +7 -0
- package/dist/esm/chunk-5T6K7VPP.js +2 -0
- package/dist/esm/chunk-5T6K7VPP.js.map +7 -0
- package/dist/esm/chunk-5U2Q23K3.js +2 -0
- package/dist/esm/chunk-5U2Q23K3.js.map +7 -0
- package/dist/esm/chunk-66ZLZAAJ.js +2 -0
- package/dist/esm/chunk-66ZLZAAJ.js.map +7 -0
- package/dist/esm/chunk-6DWDNKLS.js +1 -0
- package/dist/esm/chunk-6DWDNKLS.js.map +7 -0
- package/dist/esm/chunk-6ELPYR73.js +2 -0
- package/dist/esm/chunk-6ELPYR73.js.map +7 -0
- package/dist/esm/chunk-6FAICIYS.js +2 -0
- package/dist/esm/chunk-6FAICIYS.js.map +7 -0
- package/dist/esm/chunk-6HEAF5IT.js +2 -0
- package/dist/esm/chunk-6HEAF5IT.js.map +7 -0
- package/dist/esm/chunk-6VGPTAHM.js +2 -0
- package/dist/esm/chunk-6VGPTAHM.js.map +7 -0
- package/dist/esm/chunk-72AHPGPN.js +2 -0
- package/dist/esm/chunk-72AHPGPN.js.map +7 -0
- package/dist/esm/chunk-7CBAHIVG.js +2 -0
- package/dist/esm/chunk-7CBAHIVG.js.map +7 -0
- package/dist/esm/chunk-7CXVHFMQ.js +2 -0
- package/dist/esm/chunk-7CXVHFMQ.js.map +7 -0
- package/dist/esm/chunk-7MURQ6CR.js +2 -0
- package/dist/esm/chunk-7MURQ6CR.js.map +7 -0
- package/dist/esm/chunk-A24PYRVV.js +2 -0
- package/dist/esm/chunk-A24PYRVV.js.map +7 -0
- package/dist/esm/chunk-A3NH376A.js +2 -0
- package/dist/esm/chunk-A3NH376A.js.map +7 -0
- package/dist/esm/chunk-ADYTQCZX.js +2 -0
- package/dist/esm/chunk-ADYTQCZX.js.map +7 -0
- package/dist/esm/chunk-AGAQC4HH.js +2 -0
- package/dist/esm/chunk-AGAQC4HH.js.map +7 -0
- package/dist/esm/chunk-APRBRAOT.js +2 -0
- package/dist/esm/chunk-APRBRAOT.js.map +7 -0
- package/dist/esm/chunk-ARIV4AT5.js +2 -0
- package/dist/esm/chunk-ARIV4AT5.js.map +7 -0
- package/dist/esm/chunk-AUV6B4AH.js +2 -0
- package/dist/esm/chunk-AUV6B4AH.js.map +7 -0
- package/dist/esm/chunk-AXUDFYLY.js +2 -0
- package/dist/esm/chunk-AXUDFYLY.js.map +7 -0
- package/dist/esm/chunk-BALS3AVM.js +2 -0
- package/dist/esm/chunk-BALS3AVM.js.map +7 -0
- package/dist/esm/chunk-BI7W34WW.js +2 -0
- package/dist/esm/chunk-BI7W34WW.js.map +7 -0
- package/dist/esm/chunk-BJTJUIYJ.js +2 -0
- package/dist/esm/chunk-BJTJUIYJ.js.map +7 -0
- package/dist/esm/chunk-BPVVFHYD.js +2 -0
- package/dist/esm/chunk-BPVVFHYD.js.map +7 -0
- package/dist/esm/chunk-CBR3VIRS.js +2 -0
- package/dist/esm/chunk-CBR3VIRS.js.map +7 -0
- package/dist/esm/chunk-CECQNGUL.js +2 -0
- package/dist/esm/chunk-CECQNGUL.js.map +7 -0
- package/dist/esm/chunk-D2AZAGGP.js +2 -0
- package/dist/esm/chunk-D2AZAGGP.js.map +7 -0
- package/dist/esm/chunk-DJBPM5QK.js +2 -0
- package/dist/esm/chunk-DJBPM5QK.js.map +7 -0
- package/dist/esm/chunk-DK5MHD6I.js +2 -0
- package/dist/esm/chunk-DK5MHD6I.js.map +7 -0
- package/dist/esm/chunk-DNI4QRXQ.js +2 -0
- package/dist/esm/chunk-DNI4QRXQ.js.map +7 -0
- package/dist/esm/chunk-DUHJVT64.js +2 -0
- package/dist/esm/chunk-DUHJVT64.js.map +7 -0
- package/dist/esm/chunk-DXI5P5O4.js +2 -0
- package/dist/esm/chunk-DXI5P5O4.js.map +7 -0
- package/dist/esm/chunk-DZ4H2KTP.js +2 -0
- package/dist/esm/chunk-DZ4H2KTP.js.map +7 -0
- package/dist/esm/chunk-E23RKOQJ.js +2 -0
- package/dist/esm/chunk-E23RKOQJ.js.map +7 -0
- package/dist/esm/chunk-E2Z5IA2P.js +2 -0
- package/dist/esm/chunk-E2Z5IA2P.js.map +7 -0
- package/dist/esm/chunk-E6IWYD3U.js +2 -0
- package/dist/esm/chunk-E6IWYD3U.js.map +7 -0
- package/dist/esm/chunk-EE54S7YV.js +10 -0
- package/dist/esm/chunk-EE54S7YV.js.map +7 -0
- package/dist/esm/chunk-EJWAAFCI.js +10 -0
- package/dist/esm/chunk-EJWAAFCI.js.map +7 -0
- package/dist/esm/chunk-EL7YGOTY.js +1 -0
- package/dist/esm/chunk-EL7YGOTY.js.map +7 -0
- package/dist/esm/chunk-ERGJN7FJ.js +2 -0
- package/dist/esm/chunk-ERGJN7FJ.js.map +7 -0
- package/dist/esm/chunk-ERNM3KVF.js +2 -0
- package/dist/esm/chunk-ERNM3KVF.js.map +7 -0
- package/dist/esm/chunk-ES7MK2MM.js +2 -0
- package/dist/esm/chunk-ES7MK2MM.js.map +7 -0
- package/dist/esm/chunk-F22ZRNWL.js +2 -0
- package/dist/esm/chunk-F22ZRNWL.js.map +7 -0
- package/dist/esm/chunk-F7IUK2I2.js +2 -0
- package/dist/esm/chunk-F7IUK2I2.js.map +7 -0
- package/dist/esm/chunk-FC2DBBJ3.js +2 -0
- package/dist/esm/chunk-FC2DBBJ3.js.map +7 -0
- package/dist/esm/chunk-FD2TR343.js +2 -0
- package/dist/esm/chunk-FD2TR343.js.map +7 -0
- package/dist/esm/chunk-FGORMEAO.js +2 -0
- package/dist/esm/chunk-FGORMEAO.js.map +7 -0
- package/dist/esm/chunk-FHEHX7CE.js +2 -0
- package/dist/esm/chunk-FHEHX7CE.js.map +7 -0
- package/dist/esm/chunk-FLBLS7M4.js +2 -0
- package/dist/esm/chunk-FLBLS7M4.js.map +7 -0
- package/dist/esm/chunk-FVCWNSRU.js +2 -0
- package/dist/esm/chunk-FVCWNSRU.js.map +7 -0
- package/dist/esm/chunk-FWB47YCH.js +2 -0
- package/dist/esm/chunk-FWB47YCH.js.map +7 -0
- package/dist/esm/chunk-G2CKYO2I.js +2 -0
- package/dist/esm/chunk-G2CKYO2I.js.map +7 -0
- package/dist/esm/chunk-GCUGJXI2.js +2 -0
- package/dist/esm/chunk-GCUGJXI2.js.map +7 -0
- package/dist/esm/chunk-GFOSP3PZ.js +2 -0
- package/dist/esm/chunk-GFOSP3PZ.js.map +7 -0
- package/dist/esm/chunk-GLC4QJBF.js +5 -0
- package/dist/esm/chunk-GLC4QJBF.js.map +7 -0
- package/dist/esm/chunk-GSIE6SUD.js +2 -0
- package/dist/esm/chunk-GSIE6SUD.js.map +7 -0
- package/dist/esm/chunk-GSTOGDAJ.js +2 -0
- package/dist/esm/chunk-GSTOGDAJ.js.map +7 -0
- package/dist/esm/chunk-GWYFT3EI.js +2 -0
- package/dist/esm/chunk-GWYFT3EI.js.map +7 -0
- package/dist/esm/chunk-H2G446JG.js +2 -0
- package/dist/esm/chunk-H2G446JG.js.map +7 -0
- package/dist/esm/chunk-H4MMVAGQ.js +2 -0
- package/dist/esm/chunk-H4MMVAGQ.js.map +7 -0
- package/dist/esm/chunk-HACQF6F4.js +2 -0
- package/dist/esm/chunk-HACQF6F4.js.map +7 -0
- package/dist/esm/chunk-HAGKI7NA.js +2 -0
- package/dist/esm/chunk-HAGKI7NA.js.map +7 -0
- package/dist/esm/chunk-HOHUDTTL.js +2 -0
- package/dist/esm/chunk-HOHUDTTL.js.map +7 -0
- package/dist/esm/chunk-HQ35PM4O.js +2 -0
- package/dist/esm/chunk-HQ35PM4O.js.map +7 -0
- package/dist/esm/chunk-HUKPWYG2.js +2 -0
- package/dist/esm/chunk-HUKPWYG2.js.map +7 -0
- package/dist/esm/chunk-HVWEPVBH.js +2 -0
- package/dist/esm/chunk-HVWEPVBH.js.map +7 -0
- package/dist/esm/chunk-IBF5U4QW.js +2 -0
- package/dist/esm/chunk-IBF5U4QW.js.map +7 -0
- package/dist/esm/chunk-IDYHZIS6.js +2 -0
- package/dist/esm/chunk-IDYHZIS6.js.map +7 -0
- package/dist/esm/chunk-IGQRZCAI.js +2 -0
- package/dist/esm/chunk-IGQRZCAI.js.map +7 -0
- package/dist/esm/chunk-ILRJA7FU.js +2 -0
- package/dist/esm/chunk-ILRJA7FU.js.map +7 -0
- package/dist/esm/chunk-IPJUHVM6.js +2 -0
- package/dist/esm/chunk-IPJUHVM6.js.map +7 -0
- package/dist/esm/chunk-ITRVKLYU.js +2 -0
- package/dist/esm/chunk-ITRVKLYU.js.map +7 -0
- package/dist/esm/chunk-IX5HIHVI.js +2 -0
- package/dist/esm/chunk-IX5HIHVI.js.map +7 -0
- package/dist/esm/chunk-JAMLW534.js +2 -0
- package/dist/esm/chunk-JAMLW534.js.map +7 -0
- package/dist/esm/chunk-JCYI4NTV.js +2 -0
- package/dist/esm/chunk-JCYI4NTV.js.map +7 -0
- package/dist/esm/chunk-JQOFJNCV.js +2 -0
- package/dist/esm/chunk-JQOFJNCV.js.map +7 -0
- package/dist/esm/chunk-K3R4AH3E.js +2 -0
- package/dist/esm/chunk-K3R4AH3E.js.map +7 -0
- package/dist/esm/chunk-K53W3ELO.js +2 -0
- package/dist/esm/chunk-K53W3ELO.js.map +7 -0
- package/dist/esm/chunk-KCAFSCOV.js +2 -0
- package/dist/esm/chunk-KCAFSCOV.js.map +7 -0
- package/dist/esm/chunk-KFA53SVQ.js +2 -0
- package/dist/esm/chunk-KFA53SVQ.js.map +7 -0
- package/dist/esm/chunk-KMPBTEZH.js +2 -0
- package/dist/esm/chunk-KMPBTEZH.js.map +7 -0
- package/dist/esm/chunk-KNQBAOMV.js +2 -0
- package/dist/esm/chunk-KNQBAOMV.js.map +7 -0
- package/dist/esm/chunk-KPBG7CIL.js +2 -0
- package/dist/esm/chunk-KPBG7CIL.js.map +7 -0
- package/dist/esm/chunk-KRJTW535.js +2 -0
- package/dist/esm/chunk-KRJTW535.js.map +7 -0
- package/dist/esm/chunk-KTAFIHJY.js +2 -0
- package/dist/esm/chunk-KTAFIHJY.js.map +7 -0
- package/dist/esm/chunk-L6UXAITB.js +2 -0
- package/dist/esm/chunk-L6UXAITB.js.map +7 -0
- package/dist/esm/chunk-LN5SP46K.js +2 -0
- package/dist/esm/chunk-LN5SP46K.js.map +7 -0
- package/dist/esm/chunk-M3ZYJANH.js +2 -0
- package/dist/esm/chunk-M3ZYJANH.js.map +7 -0
- package/dist/esm/chunk-MCQAJV4K.js +2 -0
- package/dist/esm/chunk-MCQAJV4K.js.map +7 -0
- package/dist/esm/chunk-MCQCG6AS.js +2 -0
- package/dist/esm/chunk-MCQCG6AS.js.map +7 -0
- package/dist/esm/chunk-MHPPVJDB.js +2 -0
- package/dist/esm/chunk-MHPPVJDB.js.map +7 -0
- package/dist/esm/chunk-MJ47O7KH.js +2 -0
- package/dist/esm/chunk-MJ47O7KH.js.map +7 -0
- package/dist/esm/chunk-MJJ7XDIP.js +2 -0
- package/dist/esm/chunk-MJJ7XDIP.js.map +7 -0
- package/dist/esm/chunk-MQWH2IFO.js +2 -0
- package/dist/esm/chunk-MQWH2IFO.js.map +7 -0
- package/dist/esm/chunk-N2B7TWIP.js +2 -0
- package/dist/esm/chunk-N2B7TWIP.js.map +7 -0
- package/dist/esm/chunk-NIX6Z3JG.js +2 -0
- package/dist/esm/chunk-NIX6Z3JG.js.map +7 -0
- package/dist/esm/chunk-NNO7M466.js +2 -0
- package/dist/esm/chunk-NNO7M466.js.map +7 -0
- package/dist/esm/chunk-NZJGC6ZW.js +2 -0
- package/dist/esm/chunk-NZJGC6ZW.js.map +7 -0
- package/dist/esm/chunk-OA7C34MJ.js +1 -0
- package/dist/esm/chunk-OA7C34MJ.js.map +7 -0
- package/dist/esm/chunk-ODWCNOWX.js +1 -0
- package/dist/esm/chunk-ODWCNOWX.js.map +7 -0
- package/dist/esm/chunk-OGOOZLUD.js +2 -0
- package/dist/esm/chunk-OGOOZLUD.js.map +7 -0
- package/dist/esm/chunk-OHJVFZMH.js +2 -0
- package/dist/esm/chunk-OHJVFZMH.js.map +7 -0
- package/dist/esm/chunk-OKJNS7Z7.js +2 -0
- package/dist/esm/chunk-OKJNS7Z7.js.map +7 -0
- package/dist/esm/chunk-OO652UQW.js +2 -0
- package/dist/esm/chunk-OO652UQW.js.map +7 -0
- package/dist/esm/chunk-PPNWGWN3.js +2 -0
- package/dist/esm/chunk-PPNWGWN3.js.map +7 -0
- package/dist/esm/chunk-PS6NEG5A.js +2 -0
- package/dist/esm/chunk-PS6NEG5A.js.map +7 -0
- package/dist/esm/chunk-Q73Y5O5P.js +2 -0
- package/dist/esm/chunk-Q73Y5O5P.js.map +7 -0
- package/dist/esm/chunk-Q7P6BTVU.js +3 -0
- package/dist/esm/chunk-Q7P6BTVU.js.map +7 -0
- package/dist/esm/chunk-QCNUTT4R.js +2 -0
- package/dist/esm/chunk-QCNUTT4R.js.map +7 -0
- package/dist/esm/chunk-QDW5ZG5E.js +1 -0
- package/dist/esm/chunk-QDW5ZG5E.js.map +7 -0
- package/dist/esm/chunk-QLIELX4I.js +2 -0
- package/dist/esm/chunk-QLIELX4I.js.map +7 -0
- package/dist/esm/chunk-QLZ5XAW6.js +2 -0
- package/dist/esm/chunk-QLZ5XAW6.js.map +7 -0
- package/dist/esm/chunk-QM3RCK5P.js +2 -0
- package/dist/esm/chunk-QM3RCK5P.js.map +7 -0
- package/dist/esm/chunk-QOWA5LK5.js +2 -0
- package/dist/esm/chunk-QOWA5LK5.js.map +7 -0
- package/dist/esm/chunk-RDP4UQ42.js +2 -0
- package/dist/esm/chunk-RDP4UQ42.js.map +7 -0
- package/dist/esm/chunk-RJNCH62T.js +1 -0
- package/dist/esm/chunk-RJNCH62T.js.map +7 -0
- package/dist/esm/chunk-RMBS6CAO.js +2 -0
- package/dist/esm/chunk-RMBS6CAO.js.map +7 -0
- package/dist/esm/chunk-RQ2ZPMHJ.js +2 -0
- package/dist/esm/chunk-RQ2ZPMHJ.js.map +7 -0
- package/dist/esm/chunk-RZCX6IBE.js +2 -0
- package/dist/esm/chunk-RZCX6IBE.js.map +7 -0
- package/dist/esm/chunk-SESAEJ6W.js +2 -0
- package/dist/esm/chunk-SESAEJ6W.js.map +7 -0
- package/dist/esm/chunk-SGU4HUHF.js +5 -0
- package/dist/esm/chunk-SGU4HUHF.js.map +7 -0
- package/dist/esm/chunk-SMGDH54W.js +2 -0
- package/dist/esm/chunk-SMGDH54W.js.map +7 -0
- package/dist/esm/chunk-SNHEJU2S.js +2 -0
- package/dist/esm/chunk-SNHEJU2S.js.map +7 -0
- package/dist/esm/chunk-SNR5VFWG.js +2 -0
- package/dist/esm/chunk-SNR5VFWG.js.map +7 -0
- package/dist/esm/chunk-STPMPY3X.js +1 -0
- package/dist/esm/chunk-STPMPY3X.js.map +7 -0
- package/dist/esm/chunk-SVLY6B5F.js +2 -0
- package/dist/esm/chunk-SVLY6B5F.js.map +7 -0
- package/dist/esm/chunk-T27QHMW7.js +2 -0
- package/dist/esm/chunk-T27QHMW7.js.map +7 -0
- package/dist/esm/chunk-TBJ6L4NL.js +2 -0
- package/dist/esm/chunk-TBJ6L4NL.js.map +7 -0
- package/dist/esm/chunk-TEULZKBM.js +2 -0
- package/dist/esm/chunk-TEULZKBM.js.map +7 -0
- package/dist/esm/chunk-TGN5ZJU5.js +2 -0
- package/dist/esm/chunk-TGN5ZJU5.js.map +7 -0
- package/dist/esm/chunk-TTFUM47A.js +2 -0
- package/dist/esm/chunk-TTFUM47A.js.map +7 -0
- package/dist/esm/chunk-TZTUPQYK.js +2 -0
- package/dist/esm/chunk-TZTUPQYK.js.map +7 -0
- package/dist/esm/chunk-U7AASKZI.js +2 -0
- package/dist/esm/chunk-U7AASKZI.js.map +7 -0
- package/dist/esm/chunk-UICSVJ3B.js +1 -0
- package/dist/esm/chunk-UICSVJ3B.js.map +7 -0
- package/dist/esm/chunk-UIEUZLZZ.js +2 -0
- package/dist/esm/chunk-UIEUZLZZ.js.map +7 -0
- package/dist/esm/chunk-UMX5MGLG.js +2 -0
- package/dist/esm/chunk-UMX5MGLG.js.map +7 -0
- package/dist/esm/chunk-USGTBZ43.js +2 -0
- package/dist/esm/chunk-USGTBZ43.js.map +7 -0
- package/dist/esm/chunk-UUX42HBM.js +2 -0
- package/dist/esm/chunk-UUX42HBM.js.map +7 -0
- package/dist/esm/chunk-UWT6TE5D.js +2 -0
- package/dist/esm/chunk-UWT6TE5D.js.map +7 -0
- package/dist/esm/chunk-UYNYUR7O.js +2 -0
- package/dist/esm/chunk-UYNYUR7O.js.map +7 -0
- package/dist/esm/chunk-V32EP3S7.js +2 -0
- package/dist/esm/chunk-V32EP3S7.js.map +7 -0
- package/dist/esm/chunk-VF5TRT3H.js +2 -0
- package/dist/esm/chunk-VF5TRT3H.js.map +7 -0
- package/dist/esm/chunk-VJSZG35J.js +2 -0
- package/dist/esm/chunk-VJSZG35J.js.map +7 -0
- package/dist/esm/chunk-VK7RNXUO.js +2 -0
- package/dist/esm/chunk-VK7RNXUO.js.map +7 -0
- package/dist/esm/chunk-VX44UTQ5.js +2 -0
- package/dist/esm/chunk-VX44UTQ5.js.map +7 -0
- package/dist/esm/chunk-WNSPLWRV.js +2 -0
- package/dist/esm/chunk-WNSPLWRV.js.map +7 -0
- package/dist/esm/chunk-WOR3JCLX.js +1 -0
- package/dist/esm/chunk-WOR3JCLX.js.map +7 -0
- package/dist/esm/chunk-WR7YLY46.js +2 -0
- package/dist/esm/chunk-WR7YLY46.js.map +7 -0
- package/dist/esm/chunk-WRWNN2NW.js +2 -0
- package/dist/esm/chunk-WRWNN2NW.js.map +7 -0
- package/dist/esm/chunk-WXP6MMUB.js +2 -0
- package/dist/esm/chunk-WXP6MMUB.js.map +7 -0
- package/dist/esm/chunk-WYA4IRU6.js +2 -0
- package/dist/esm/chunk-WYA4IRU6.js.map +7 -0
- package/dist/esm/chunk-WYADYDPN.js +2 -0
- package/dist/esm/chunk-WYADYDPN.js.map +7 -0
- package/dist/esm/chunk-WZCZHCVE.js +2 -0
- package/dist/esm/chunk-WZCZHCVE.js.map +7 -0
- package/dist/esm/chunk-WZETC7WV.js +2 -0
- package/dist/esm/chunk-WZETC7WV.js.map +7 -0
- package/dist/esm/chunk-X7BD5FLE.js +2 -0
- package/dist/esm/chunk-X7BD5FLE.js.map +7 -0
- package/dist/esm/chunk-XEZXKPLE.js +2 -0
- package/dist/esm/chunk-XEZXKPLE.js.map +7 -0
- package/dist/esm/chunk-XGGLYV5D.js +2 -0
- package/dist/esm/chunk-XGGLYV5D.js.map +7 -0
- package/dist/esm/chunk-XHQGMOXV.js +2 -0
- package/dist/esm/chunk-XHQGMOXV.js.map +7 -0
- package/dist/esm/chunk-XI5YXUCK.js +2 -0
- package/dist/esm/chunk-XI5YXUCK.js.map +7 -0
- package/dist/esm/chunk-XKASPWCJ.js +2 -0
- package/dist/esm/chunk-XKASPWCJ.js.map +7 -0
- package/dist/esm/chunk-XKBLNVOD.js +2 -0
- package/dist/esm/chunk-XKBLNVOD.js.map +7 -0
- package/dist/esm/chunk-XLOHPURR.js +2 -0
- package/dist/esm/chunk-XLOHPURR.js.map +7 -0
- package/dist/esm/chunk-Y3A6ZU24.js +2 -0
- package/dist/esm/chunk-Y3A6ZU24.js.map +7 -0
- package/dist/esm/chunk-Y7LT3F6R.js +2 -0
- package/dist/esm/chunk-Y7LT3F6R.js.map +7 -0
- package/dist/esm/chunk-YEA646GM.js +2 -0
- package/dist/esm/chunk-YEA646GM.js.map +7 -0
- package/dist/esm/chunk-YKPMLM7M.js +1 -0
- package/dist/esm/chunk-YKPMLM7M.js.map +7 -0
- package/dist/esm/chunk-YUZPSUJE.js +2 -0
- package/dist/esm/chunk-YUZPSUJE.js.map +7 -0
- package/dist/esm/chunk-YVBCDTTD.js +2 -0
- package/dist/esm/chunk-YVBCDTTD.js.map +7 -0
- package/dist/esm/chunk-Z5DQ6FSA.js +2 -0
- package/dist/esm/chunk-Z5DQ6FSA.js.map +7 -0
- package/dist/esm/chunk-ZE2KAVXW.js +2 -0
- package/dist/esm/chunk-ZE2KAVXW.js.map +7 -0
- package/dist/esm/chunk-ZHYOJNWV.js +2 -0
- package/dist/esm/chunk-ZHYOJNWV.js.map +7 -0
- package/dist/esm/chunk-ZMEXIPWM.js +2 -0
- package/dist/esm/chunk-ZMEXIPWM.js.map +7 -0
- package/dist/esm/chunk-ZRKE3NVU.js +2 -0
- package/dist/esm/chunk-ZRKE3NVU.js.map +7 -0
- package/dist/esm/chunk-ZSEFZM5H.js +2 -0
- package/dist/esm/chunk-ZSEFZM5H.js.map +7 -0
- package/dist/esm/components/_internal/base-button.d.ts +51 -0
- package/dist/esm/components/_internal/base-button.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-button.js +2 -0
- package/dist/esm/components/_internal/base-button.js.map +7 -0
- package/dist/esm/components/_internal/base-button.props.d.ts +115 -0
- package/dist/esm/components/_internal/base-button.props.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-button.props.js +2 -0
- package/dist/esm/components/_internal/base-button.props.js.map +7 -0
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +32 -0
- package/dist/esm/components/_internal/base-checkbox.props.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-checkbox.props.js +2 -0
- package/dist/esm/components/_internal/base-checkbox.props.js.map +7 -0
- package/dist/esm/components/_internal/base-menu.props.d.ts +121 -0
- package/dist/esm/components/_internal/base-menu.props.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-menu.props.js +2 -0
- package/dist/esm/components/_internal/base-menu.props.js.map +7 -0
- package/dist/esm/components/_internal/base-radio.props.d.ts +32 -0
- package/dist/esm/components/_internal/base-radio.props.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-radio.props.js +2 -0
- package/dist/esm/components/_internal/base-radio.props.js.map +7 -0
- package/dist/esm/components/_internal/base-tab-list.props.d.ts +38 -0
- package/dist/esm/components/_internal/base-tab-list.props.d.ts.map +1 -0
- package/dist/esm/components/_internal/base-tab-list.props.js +2 -0
- package/dist/esm/components/_internal/base-tab-list.props.js.map +7 -0
- package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts +81 -0
- package/dist/esm/components/_internal/dropdown-menu-drill-down.d.ts.map +1 -0
- package/dist/esm/components/_internal/dropdown-menu-drill-down.js +2 -0
- package/dist/esm/components/_internal/dropdown-menu-drill-down.js.map +7 -0
- package/dist/esm/components/_internal/menu-context.d.ts +27 -0
- package/dist/esm/components/_internal/menu-context.d.ts.map +1 -0
- package/dist/esm/components/_internal/menu-context.js +2 -0
- package/dist/esm/components/_internal/menu-context.js.map +7 -0
- package/dist/esm/components/_internal/shell-bottom.d.ts +40 -0
- package/dist/esm/components/_internal/shell-bottom.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-bottom.js +2 -0
- package/dist/esm/components/_internal/shell-bottom.js.map +7 -0
- package/dist/esm/components/_internal/shell-handles.d.ts +7 -0
- package/dist/esm/components/_internal/shell-handles.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-handles.js +2 -0
- package/dist/esm/components/_internal/shell-handles.js.map +7 -0
- package/dist/esm/components/_internal/shell-inspector.d.ts +40 -0
- package/dist/esm/components/_internal/shell-inspector.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-inspector.js +2 -0
- package/dist/esm/components/_internal/shell-inspector.js.map +7 -0
- package/dist/esm/components/_internal/shell-prop-helpers.d.ts +7 -0
- package/dist/esm/components/_internal/shell-prop-helpers.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-prop-helpers.js +2 -0
- package/dist/esm/components/_internal/shell-prop-helpers.js.map +7 -0
- package/dist/esm/components/_internal/shell-resize.d.ts +24 -0
- package/dist/esm/components/_internal/shell-resize.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-resize.js +2 -0
- package/dist/esm/components/_internal/shell-resize.js.map +7 -0
- package/dist/esm/components/_internal/shell-sidebar.d.ts +40 -0
- package/dist/esm/components/_internal/shell-sidebar.d.ts.map +1 -0
- package/dist/esm/components/_internal/shell-sidebar.js +2 -0
- package/dist/esm/components/_internal/shell-sidebar.js.map +7 -0
- package/dist/esm/components/accessible-icon.d.ts +4 -0
- package/dist/esm/components/accessible-icon.d.ts.map +1 -0
- package/dist/esm/components/accessible-icon.js +2 -0
- package/dist/esm/components/accessible-icon.js.map +7 -0
- package/dist/esm/components/accordion.d.ts +22 -0
- package/dist/esm/components/accordion.d.ts.map +1 -0
- package/dist/esm/components/accordion.js +2 -0
- package/dist/esm/components/accordion.js.map +7 -0
- package/dist/esm/components/accordion.props.d.ts +97 -0
- package/dist/esm/components/accordion.props.d.ts.map +1 -0
- package/dist/esm/components/accordion.props.js +2 -0
- package/dist/esm/components/accordion.props.js.map +7 -0
- package/dist/esm/components/alert-dialog.d.ts +29 -0
- package/dist/esm/components/alert-dialog.d.ts.map +1 -0
- package/dist/esm/components/alert-dialog.js +2 -0
- package/dist/esm/components/alert-dialog.js.map +7 -0
- package/dist/esm/components/alert-dialog.props.d.ts +70 -0
- package/dist/esm/components/alert-dialog.props.d.ts.map +1 -0
- package/dist/esm/components/alert-dialog.props.js +2 -0
- package/dist/esm/components/alert-dialog.props.js.map +7 -0
- package/dist/esm/components/aspect-ratio.d.ts +4 -0
- package/dist/esm/components/aspect-ratio.d.ts.map +1 -0
- package/dist/esm/components/aspect-ratio.js +2 -0
- package/dist/esm/components/aspect-ratio.js.map +7 -0
- package/dist/esm/components/avatar.d.ts +16 -0
- package/dist/esm/components/avatar.d.ts.map +1 -0
- package/dist/esm/components/avatar.js +2 -0
- package/dist/esm/components/avatar.js.map +7 -0
- package/dist/esm/components/avatar.props.d.ts +82 -0
- package/dist/esm/components/avatar.props.d.ts.map +1 -0
- package/dist/esm/components/avatar.props.js +2 -0
- package/dist/esm/components/avatar.props.js.map +7 -0
- package/dist/esm/components/badge.d.ts +19 -0
- package/dist/esm/components/badge.d.ts.map +1 -0
- package/dist/esm/components/badge.js +2 -0
- package/dist/esm/components/badge.js.map +7 -0
- package/dist/esm/components/badge.props.d.ts +48 -0
- package/dist/esm/components/badge.props.d.ts.map +1 -0
- package/dist/esm/components/badge.props.js +2 -0
- package/dist/esm/components/badge.props.js.map +7 -0
- package/dist/esm/components/blockquote.d.ts +12 -0
- package/dist/esm/components/blockquote.d.ts.map +1 -0
- package/dist/esm/components/blockquote.js +2 -0
- package/dist/esm/components/blockquote.js.map +7 -0
- package/dist/esm/components/blockquote.props.d.ts +39 -0
- package/dist/esm/components/blockquote.props.d.ts.map +1 -0
- package/dist/esm/components/blockquote.props.js +2 -0
- package/dist/esm/components/blockquote.props.js.map +7 -0
- package/dist/esm/components/box.d.ts +18 -0
- package/dist/esm/components/box.d.ts.map +1 -0
- package/dist/esm/components/box.js +2 -0
- package/dist/esm/components/box.js.map +7 -0
- package/dist/esm/components/box.props.d.ts +40 -0
- package/dist/esm/components/box.props.d.ts.map +1 -0
- package/dist/esm/components/box.props.js +2 -0
- package/dist/esm/components/box.props.js.map +7 -0
- package/dist/esm/components/button.d.ts +107 -0
- package/dist/esm/components/button.d.ts.map +1 -0
- package/dist/esm/components/button.js +2 -0
- package/dist/esm/components/button.js.map +7 -0
- package/dist/esm/components/button.props.d.ts +19 -0
- package/dist/esm/components/button.props.d.ts.map +1 -0
- package/dist/esm/components/button.props.js +2 -0
- package/dist/esm/components/button.props.js.map +7 -0
- package/dist/esm/components/callout.d.ts +22 -0
- package/dist/esm/components/callout.d.ts.map +1 -0
- package/dist/esm/components/callout.js +2 -0
- package/dist/esm/components/callout.js.map +7 -0
- package/dist/esm/components/callout.props.d.ts +43 -0
- package/dist/esm/components/callout.props.d.ts.map +1 -0
- package/dist/esm/components/callout.props.js +2 -0
- package/dist/esm/components/callout.props.js.map +7 -0
- package/dist/esm/components/card.d.ts +12 -0
- package/dist/esm/components/card.d.ts.map +1 -0
- package/dist/esm/components/card.js +2 -0
- package/dist/esm/components/card.js.map +7 -0
- package/dist/esm/components/card.props.d.ts +38 -0
- package/dist/esm/components/card.props.d.ts.map +1 -0
- package/dist/esm/components/card.props.js +2 -0
- package/dist/esm/components/card.props.js.map +7 -0
- package/dist/esm/components/chatbar.d.ts +233 -0
- package/dist/esm/components/chatbar.d.ts.map +1 -0
- package/dist/esm/components/chatbar.js +2 -0
- package/dist/esm/components/chatbar.js.map +7 -0
- package/dist/esm/components/checkbox-cards.d.ts +19 -0
- package/dist/esm/components/checkbox-cards.d.ts.map +1 -0
- package/dist/esm/components/checkbox-cards.js +2 -0
- package/dist/esm/components/checkbox-cards.js.map +7 -0
- package/dist/esm/components/checkbox-cards.props.d.ts +52 -0
- package/dist/esm/components/checkbox-cards.props.d.ts.map +1 -0
- package/dist/esm/components/checkbox-cards.props.js +2 -0
- package/dist/esm/components/checkbox-cards.props.js.map +7 -0
- package/dist/esm/components/checkbox-group.d.ts +16 -0
- package/dist/esm/components/checkbox-group.d.ts.map +1 -0
- package/dist/esm/components/checkbox-group.js +2 -0
- package/dist/esm/components/checkbox-group.js.map +7 -0
- package/dist/esm/components/checkbox-group.primitive.d.ts +41 -0
- package/dist/esm/components/checkbox-group.primitive.d.ts.map +1 -0
- package/dist/esm/components/checkbox-group.primitive.js +2 -0
- package/dist/esm/components/checkbox-group.primitive.js.map +7 -0
- package/dist/esm/components/checkbox-group.props.d.ts +35 -0
- package/dist/esm/components/checkbox-group.props.d.ts.map +1 -0
- package/dist/esm/components/checkbox-group.props.js +2 -0
- package/dist/esm/components/checkbox-group.props.js.map +7 -0
- package/dist/esm/components/checkbox.d.ts +13 -0
- package/dist/esm/components/checkbox.d.ts.map +1 -0
- package/dist/esm/components/checkbox.js +2 -0
- package/dist/esm/components/checkbox.js.map +7 -0
- package/dist/esm/components/checkbox.props.d.ts +2 -0
- package/dist/esm/components/checkbox.props.d.ts.map +1 -0
- package/dist/esm/components/checkbox.props.js +2 -0
- package/dist/esm/components/checkbox.props.js.map +7 -0
- package/dist/esm/components/code.d.ts +12 -0
- package/dist/esm/components/code.d.ts.map +1 -0
- package/dist/esm/components/code.js +2 -0
- package/dist/esm/components/code.js.map +7 -0
- package/dist/esm/components/code.props.d.ts +45 -0
- package/dist/esm/components/code.props.d.ts.map +1 -0
- package/dist/esm/components/code.props.js +2 -0
- package/dist/esm/components/code.props.js.map +7 -0
- package/dist/esm/components/combobox.d.ts +101 -0
- package/dist/esm/components/combobox.d.ts.map +1 -0
- package/dist/esm/components/combobox.js +2 -0
- package/dist/esm/components/combobox.js.map +7 -0
- package/dist/esm/components/combobox.props.d.ts +98 -0
- package/dist/esm/components/combobox.props.d.ts.map +1 -0
- package/dist/esm/components/combobox.props.js +2 -0
- package/dist/esm/components/combobox.props.js.map +7 -0
- package/dist/esm/components/container.d.ts +11 -0
- package/dist/esm/components/container.d.ts.map +1 -0
- package/dist/esm/components/container.js +2 -0
- package/dist/esm/components/container.js.map +7 -0
- package/dist/esm/components/container.props.d.ts +68 -0
- package/dist/esm/components/container.props.d.ts.map +1 -0
- package/dist/esm/components/container.props.js +2 -0
- package/dist/esm/components/container.props.js.map +7 -0
- package/dist/esm/components/context-menu.d.ts +54 -0
- package/dist/esm/components/context-menu.d.ts.map +1 -0
- package/dist/esm/components/context-menu.js +2 -0
- package/dist/esm/components/context-menu.js.map +7 -0
- package/dist/esm/components/context-menu.props.d.ts +2 -0
- package/dist/esm/components/context-menu.props.d.ts.map +1 -0
- package/dist/esm/components/context-menu.props.js +2 -0
- package/dist/esm/components/context-menu.props.js.map +7 -0
- package/dist/esm/components/data-list.d.ts +23 -0
- package/dist/esm/components/data-list.d.ts.map +1 -0
- package/dist/esm/components/data-list.js +2 -0
- package/dist/esm/components/data-list.js.map +7 -0
- package/dist/esm/components/data-list.props.d.ts +62 -0
- package/dist/esm/components/data-list.props.d.ts.map +1 -0
- package/dist/esm/components/data-list.props.js +2 -0
- package/dist/esm/components/data-list.props.js.map +7 -0
- package/dist/esm/components/dialog.d.ts +26 -0
- package/dist/esm/components/dialog.d.ts.map +1 -0
- package/dist/esm/components/dialog.js +2 -0
- package/dist/esm/components/dialog.js.map +7 -0
- package/dist/esm/components/dialog.props.d.ts +72 -0
- package/dist/esm/components/dialog.props.d.ts.map +1 -0
- package/dist/esm/components/dialog.props.js +2 -0
- package/dist/esm/components/dialog.props.js.map +7 -0
- package/dist/esm/components/dropdown-menu.d.ts +89 -0
- package/dist/esm/components/dropdown-menu.d.ts.map +1 -0
- package/dist/esm/components/dropdown-menu.js +2 -0
- package/dist/esm/components/dropdown-menu.js.map +7 -0
- package/dist/esm/components/dropdown-menu.props.d.ts +2 -0
- package/dist/esm/components/dropdown-menu.props.d.ts.map +1 -0
- package/dist/esm/components/dropdown-menu.props.js +2 -0
- package/dist/esm/components/dropdown-menu.props.js.map +7 -0
- package/dist/esm/components/em.d.ts +11 -0
- package/dist/esm/components/em.d.ts.map +1 -0
- package/dist/esm/components/em.js +2 -0
- package/dist/esm/components/em.js.map +7 -0
- package/dist/esm/components/em.props.d.ts +17 -0
- package/dist/esm/components/em.props.d.ts.map +1 -0
- package/dist/esm/components/em.props.js +2 -0
- package/dist/esm/components/em.props.js.map +7 -0
- package/dist/esm/components/flex.d.ts +18 -0
- package/dist/esm/components/flex.d.ts.map +1 -0
- package/dist/esm/components/flex.js +2 -0
- package/dist/esm/components/flex.js.map +7 -0
- package/dist/esm/components/flex.props.d.ts +132 -0
- package/dist/esm/components/flex.props.d.ts.map +1 -0
- package/dist/esm/components/flex.props.js +2 -0
- package/dist/esm/components/flex.props.js.map +7 -0
- package/dist/esm/components/grid.d.ts +18 -0
- package/dist/esm/components/grid.d.ts.map +1 -0
- package/dist/esm/components/grid.js +2 -0
- package/dist/esm/components/grid.js.map +7 -0
- package/dist/esm/components/grid.props.d.ts +211 -0
- package/dist/esm/components/grid.props.d.ts.map +1 -0
- package/dist/esm/components/grid.props.js +2 -0
- package/dist/esm/components/grid.props.js.map +7 -0
- package/dist/esm/components/heading.d.ts +31 -0
- package/dist/esm/components/heading.d.ts.map +1 -0
- package/dist/esm/components/heading.js +2 -0
- package/dist/esm/components/heading.js.map +7 -0
- package/dist/esm/components/heading.props.d.ts +62 -0
- package/dist/esm/components/heading.props.d.ts.map +1 -0
- package/dist/esm/components/heading.props.js +2 -0
- package/dist/esm/components/heading.props.js.map +7 -0
- package/dist/esm/components/hover-card.d.ts +17 -0
- package/dist/esm/components/hover-card.d.ts.map +1 -0
- package/dist/esm/components/hover-card.js +2 -0
- package/dist/esm/components/hover-card.js.map +7 -0
- package/dist/esm/components/hover-card.props.d.ts +57 -0
- package/dist/esm/components/hover-card.props.d.ts.map +1 -0
- package/dist/esm/components/hover-card.props.js +2 -0
- package/dist/esm/components/hover-card.props.js.map +7 -0
- package/dist/esm/components/icon-button.d.ts +106 -0
- package/dist/esm/components/icon-button.d.ts.map +1 -0
- package/dist/esm/components/icon-button.js +2 -0
- package/dist/esm/components/icon-button.js.map +7 -0
- package/dist/esm/components/icon-button.props.d.ts +2 -0
- package/dist/esm/components/icon-button.props.d.ts.map +1 -0
- package/dist/esm/components/icon-button.props.js +2 -0
- package/dist/esm/components/icon-button.props.js.map +7 -0
- package/dist/esm/components/icons.d.ts +18 -0
- package/dist/esm/components/icons.d.ts.map +1 -0
- package/dist/esm/components/icons.js +2 -0
- package/dist/esm/components/icons.js.map +7 -0
- package/dist/esm/components/image.d.ts +101 -0
- package/dist/esm/components/image.d.ts.map +1 -0
- package/dist/esm/components/image.js +2 -0
- package/dist/esm/components/image.js.map +7 -0
- package/dist/esm/components/image.props.d.ts +147 -0
- package/dist/esm/components/image.props.d.ts.map +1 -0
- package/dist/esm/components/image.props.js +2 -0
- package/dist/esm/components/image.props.js.map +7 -0
- package/dist/esm/components/index.d.ts +72 -0
- package/dist/esm/components/index.d.ts.map +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +7 -0
- package/dist/esm/components/inset.d.ts +12 -0
- package/dist/esm/components/inset.d.ts.map +1 -0
- package/dist/esm/components/inset.js +2 -0
- package/dist/esm/components/inset.js.map +7 -0
- package/dist/esm/components/inset.props.d.ts +71 -0
- package/dist/esm/components/inset.props.d.ts.map +1 -0
- package/dist/esm/components/inset.props.js +2 -0
- package/dist/esm/components/inset.props.js.map +7 -0
- package/dist/esm/components/kbd.d.ts +12 -0
- package/dist/esm/components/kbd.d.ts.map +1 -0
- package/dist/esm/components/kbd.js +2 -0
- package/dist/esm/components/kbd.js.map +7 -0
- package/dist/esm/components/kbd.props.d.ts +19 -0
- package/dist/esm/components/kbd.props.d.ts.map +1 -0
- package/dist/esm/components/kbd.props.js +2 -0
- package/dist/esm/components/kbd.props.js.map +7 -0
- package/dist/esm/components/link.d.ts +12 -0
- package/dist/esm/components/link.d.ts.map +1 -0
- package/dist/esm/components/link.js +2 -0
- package/dist/esm/components/link.js.map +7 -0
- package/dist/esm/components/link.props.d.ts +51 -0
- package/dist/esm/components/link.props.d.ts.map +1 -0
- package/dist/esm/components/link.props.js +2 -0
- package/dist/esm/components/link.props.js.map +7 -0
- package/dist/esm/components/navbar.d.ts +24 -0
- package/dist/esm/components/navbar.d.ts.map +1 -0
- package/dist/esm/components/navbar.js +2 -0
- package/dist/esm/components/navbar.js.map +7 -0
- package/dist/esm/components/navbar.props.d.ts +14 -0
- package/dist/esm/components/navbar.props.d.ts.map +1 -0
- package/dist/esm/components/navbar.props.js +2 -0
- package/dist/esm/components/navbar.props.js.map +7 -0
- package/dist/esm/components/popover.d.ts +35 -0
- package/dist/esm/components/popover.d.ts.map +1 -0
- package/dist/esm/components/popover.js +2 -0
- package/dist/esm/components/popover.js.map +7 -0
- package/dist/esm/components/popover.props.d.ts +62 -0
- package/dist/esm/components/popover.props.d.ts.map +1 -0
- package/dist/esm/components/popover.props.js +2 -0
- package/dist/esm/components/popover.props.js.map +7 -0
- package/dist/esm/components/portal.d.ts +5 -0
- package/dist/esm/components/portal.d.ts.map +1 -0
- package/dist/esm/components/portal.js +2 -0
- package/dist/esm/components/portal.js.map +7 -0
- package/dist/esm/components/progress.d.ts +14 -0
- package/dist/esm/components/progress.d.ts.map +1 -0
- package/dist/esm/components/progress.js +2 -0
- package/dist/esm/components/progress.js.map +7 -0
- package/dist/esm/components/progress.props.d.ts +35 -0
- package/dist/esm/components/progress.props.d.ts.map +1 -0
- package/dist/esm/components/progress.props.js +2 -0
- package/dist/esm/components/progress.props.js.map +7 -0
- package/dist/esm/components/quote.d.ts +11 -0
- package/dist/esm/components/quote.d.ts.map +1 -0
- package/dist/esm/components/quote.js +2 -0
- package/dist/esm/components/quote.js.map +7 -0
- package/dist/esm/components/quote.props.d.ts +17 -0
- package/dist/esm/components/quote.props.d.ts.map +1 -0
- package/dist/esm/components/quote.props.js +2 -0
- package/dist/esm/components/quote.props.js.map +7 -0
- package/dist/esm/components/radio-cards.d.ts +16 -0
- package/dist/esm/components/radio-cards.d.ts.map +1 -0
- package/dist/esm/components/radio-cards.js +2 -0
- package/dist/esm/components/radio-cards.js.map +7 -0
- package/dist/esm/components/radio-cards.props.d.ts +52 -0
- package/dist/esm/components/radio-cards.props.d.ts.map +1 -0
- package/dist/esm/components/radio-cards.props.js +2 -0
- package/dist/esm/components/radio-cards.props.js.map +7 -0
- package/dist/esm/components/radio-group.d.ts +22 -0
- package/dist/esm/components/radio-group.d.ts.map +1 -0
- package/dist/esm/components/radio-group.js +2 -0
- package/dist/esm/components/radio-group.js.map +7 -0
- package/dist/esm/components/radio-group.props.d.ts +30 -0
- package/dist/esm/components/radio-group.props.d.ts.map +1 -0
- package/dist/esm/components/radio-group.props.js +2 -0
- package/dist/esm/components/radio-group.props.js.map +7 -0
- package/dist/esm/components/radio.d.ts +17 -0
- package/dist/esm/components/radio.d.ts.map +1 -0
- package/dist/esm/components/radio.js +2 -0
- package/dist/esm/components/radio.js.map +7 -0
- package/dist/esm/components/radio.props.d.ts +2 -0
- package/dist/esm/components/radio.props.d.ts.map +1 -0
- package/dist/esm/components/radio.props.js +2 -0
- package/dist/esm/components/radio.props.js.map +7 -0
- package/dist/esm/components/reset.d.ts +9 -0
- package/dist/esm/components/reset.d.ts.map +1 -0
- package/dist/esm/components/reset.js +2 -0
- package/dist/esm/components/reset.js.map +7 -0
- package/dist/esm/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/base-button.schema.js +2 -0
- package/dist/esm/components/schemas/base-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/button.schema.d.ts +686 -0
- package/dist/esm/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/button.schema.js +2 -0
- package/dist/esm/components/schemas/button.schema.js.map +7 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/index.d.ts +54 -0
- package/dist/esm/components/schemas/index.d.ts.map +1 -0
- package/dist/esm/components/schemas/index.js +2 -0
- package/dist/esm/components/schemas/index.js.map +7 -0
- package/dist/esm/components/schemas/shell.schema.d.ts +1025 -0
- package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/shell.schema.js +2 -0
- package/dist/esm/components/schemas/shell.schema.js.map +7 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/esm/components/scroll-area.d.ts +13 -0
- package/dist/esm/components/scroll-area.d.ts.map +1 -0
- package/dist/esm/components/scroll-area.js +2 -0
- package/dist/esm/components/scroll-area.js.map +7 -0
- package/dist/esm/components/scroll-area.props.d.ts +24 -0
- package/dist/esm/components/scroll-area.props.d.ts.map +1 -0
- package/dist/esm/components/scroll-area.props.js +2 -0
- package/dist/esm/components/scroll-area.props.js.map +7 -0
- package/dist/esm/components/section.d.ts +11 -0
- package/dist/esm/components/section.d.ts.map +1 -0
- package/dist/esm/components/section.js +2 -0
- package/dist/esm/components/section.js.map +7 -0
- package/dist/esm/components/section.props.d.ts +52 -0
- package/dist/esm/components/section.props.d.ts.map +1 -0
- package/dist/esm/components/section.props.js +2 -0
- package/dist/esm/components/section.props.js.map +7 -0
- package/dist/esm/components/segmented-control.d.ts +24 -0
- package/dist/esm/components/segmented-control.d.ts.map +1 -0
- package/dist/esm/components/segmented-control.js +2 -0
- package/dist/esm/components/segmented-control.js.map +7 -0
- package/dist/esm/components/segmented-control.props.d.ts +39 -0
- package/dist/esm/components/segmented-control.props.d.ts.map +1 -0
- package/dist/esm/components/segmented-control.props.js +2 -0
- package/dist/esm/components/segmented-control.props.js.map +7 -0
- package/dist/esm/components/select.d.ts +35 -0
- package/dist/esm/components/select.d.ts.map +1 -0
- package/dist/esm/components/select.js +2 -0
- package/dist/esm/components/select.js.map +7 -0
- package/dist/esm/components/select.props.d.ts +67 -0
- package/dist/esm/components/select.props.d.ts.map +1 -0
- package/dist/esm/components/select.props.js +2 -0
- package/dist/esm/components/select.props.js.map +7 -0
- package/dist/esm/components/separator.d.ts +12 -0
- package/dist/esm/components/separator.d.ts.map +1 -0
- package/dist/esm/components/separator.js +2 -0
- package/dist/esm/components/separator.js.map +7 -0
- package/dist/esm/components/separator.props.d.ts +32 -0
- package/dist/esm/components/separator.props.d.ts.map +1 -0
- package/dist/esm/components/separator.props.js +2 -0
- package/dist/esm/components/separator.props.js.map +7 -0
- package/dist/esm/components/sheet.d.ts +82 -0
- package/dist/esm/components/sheet.d.ts.map +1 -0
- package/dist/esm/components/sheet.js +2 -0
- package/dist/esm/components/sheet.js.map +7 -0
- package/dist/esm/components/shell.context.d.ts +143 -0
- package/dist/esm/components/shell.context.d.ts.map +1 -0
- package/dist/esm/components/shell.context.js +2 -0
- package/dist/esm/components/shell.context.js.map +7 -0
- package/dist/esm/components/shell.d.ts +107 -0
- package/dist/esm/components/shell.d.ts.map +1 -0
- package/dist/esm/components/shell.hooks.d.ts +26 -0
- package/dist/esm/components/shell.hooks.d.ts.map +1 -0
- package/dist/esm/components/shell.hooks.js +2 -0
- package/dist/esm/components/shell.hooks.js.map +7 -0
- package/dist/esm/components/shell.js +2 -0
- package/dist/esm/components/shell.js.map +7 -0
- package/dist/esm/components/shell.types.d.ts +53 -0
- package/dist/esm/components/shell.types.d.ts.map +1 -0
- package/dist/esm/components/shell.types.js +2 -0
- package/dist/esm/components/shell.types.js.map +7 -0
- package/dist/esm/components/sidebar.d.ts +146 -0
- package/dist/esm/components/sidebar.d.ts.map +1 -0
- package/dist/esm/components/sidebar.js +2 -0
- package/dist/esm/components/sidebar.js.map +7 -0
- package/dist/esm/components/sidebar.props.d.ts +66 -0
- package/dist/esm/components/sidebar.props.d.ts.map +1 -0
- package/dist/esm/components/sidebar.props.js +2 -0
- package/dist/esm/components/sidebar.props.js.map +7 -0
- package/dist/esm/components/skeleton.d.ts +12 -0
- package/dist/esm/components/skeleton.d.ts.map +1 -0
- package/dist/esm/components/skeleton.js +2 -0
- package/dist/esm/components/skeleton.js.map +7 -0
- package/dist/esm/components/skeleton.props.d.ts +44 -0
- package/dist/esm/components/skeleton.props.d.ts.map +1 -0
- package/dist/esm/components/skeleton.props.js +2 -0
- package/dist/esm/components/skeleton.props.js.map +7 -0
- package/dist/esm/components/slider.d.ts +18 -0
- package/dist/esm/components/slider.d.ts.map +1 -0
- package/dist/esm/components/slider.js +2 -0
- package/dist/esm/components/slider.js.map +7 -0
- package/dist/esm/components/slider.props.d.ts +40 -0
- package/dist/esm/components/slider.props.d.ts.map +1 -0
- package/dist/esm/components/slider.props.js +2 -0
- package/dist/esm/components/slider.props.js.map +7 -0
- package/dist/esm/components/slot.d.ts +5 -0
- package/dist/esm/components/slot.d.ts.map +1 -0
- package/dist/esm/components/slot.js +2 -0
- package/dist/esm/components/slot.js.map +7 -0
- package/dist/esm/components/spinner.d.ts +12 -0
- package/dist/esm/components/spinner.d.ts.map +1 -0
- package/dist/esm/components/spinner.js +2 -0
- package/dist/esm/components/spinner.js.map +7 -0
- package/dist/esm/components/spinner.props.d.ts +15 -0
- package/dist/esm/components/spinner.props.d.ts.map +1 -0
- package/dist/esm/components/spinner.props.js +2 -0
- package/dist/esm/components/spinner.props.js.map +7 -0
- package/dist/esm/components/strong.d.ts +11 -0
- package/dist/esm/components/strong.d.ts.map +1 -0
- package/dist/esm/components/strong.js +2 -0
- package/dist/esm/components/strong.js.map +7 -0
- package/dist/esm/components/strong.props.d.ts +17 -0
- package/dist/esm/components/strong.props.d.ts.map +1 -0
- package/dist/esm/components/strong.props.js +2 -0
- package/dist/esm/components/strong.props.js.map +7 -0
- package/dist/esm/components/switch.d.ts +13 -0
- package/dist/esm/components/switch.d.ts.map +1 -0
- package/dist/esm/components/switch.js +2 -0
- package/dist/esm/components/switch.js.map +7 -0
- package/dist/esm/components/switch.props.d.ts +45 -0
- package/dist/esm/components/switch.props.d.ts.map +1 -0
- package/dist/esm/components/switch.props.js +2 -0
- package/dist/esm/components/switch.props.js.map +7 -0
- package/dist/esm/components/tab-nav.d.ts +19 -0
- package/dist/esm/components/tab-nav.d.ts.map +1 -0
- package/dist/esm/components/tab-nav.js +2 -0
- package/dist/esm/components/tab-nav.js.map +7 -0
- package/dist/esm/components/tab-nav.props.d.ts +12 -0
- package/dist/esm/components/tab-nav.props.d.ts.map +1 -0
- package/dist/esm/components/tab-nav.props.js +2 -0
- package/dist/esm/components/tab-nav.props.js.map +7 -0
- package/dist/esm/components/table.d.ts +32 -0
- package/dist/esm/components/table.d.ts.map +1 -0
- package/dist/esm/components/table.js +2 -0
- package/dist/esm/components/table.js.map +7 -0
- package/dist/esm/components/table.props.d.ts +110 -0
- package/dist/esm/components/table.props.d.ts.map +1 -0
- package/dist/esm/components/table.props.js +2 -0
- package/dist/esm/components/table.props.js.map +7 -0
- package/dist/esm/components/tabs.d.ts +25 -0
- package/dist/esm/components/tabs.d.ts.map +1 -0
- package/dist/esm/components/tabs.js +2 -0
- package/dist/esm/components/tabs.js.map +7 -0
- package/dist/esm/components/tabs.props.d.ts +13 -0
- package/dist/esm/components/tabs.props.d.ts.map +1 -0
- package/dist/esm/components/tabs.props.js +2 -0
- package/dist/esm/components/tabs.props.js.map +7 -0
- package/dist/esm/components/text-area.d.ts +15 -0
- package/dist/esm/components/text-area.d.ts.map +1 -0
- package/dist/esm/components/text-area.js +2 -0
- package/dist/esm/components/text-area.js.map +7 -0
- package/dist/esm/components/text-area.props.d.ts +67 -0
- package/dist/esm/components/text-area.props.d.ts.map +1 -0
- package/dist/esm/components/text-area.props.js +2 -0
- package/dist/esm/components/text-area.props.js.map +7 -0
- package/dist/esm/components/text-field.d.ts +22 -0
- package/dist/esm/components/text-field.d.ts.map +1 -0
- package/dist/esm/components/text-field.js +2 -0
- package/dist/esm/components/text-field.js.map +7 -0
- package/dist/esm/components/text-field.props.d.ts +126 -0
- package/dist/esm/components/text-field.props.d.ts.map +1 -0
- package/dist/esm/components/text-field.props.js +2 -0
- package/dist/esm/components/text-field.props.js.map +7 -0
- package/dist/esm/components/text.d.ts +25 -0
- package/dist/esm/components/text.d.ts.map +1 -0
- package/dist/esm/components/text.js +2 -0
- package/dist/esm/components/text.js.map +7 -0
- package/dist/esm/components/text.props.d.ts +61 -0
- package/dist/esm/components/text.props.d.ts.map +1 -0
- package/dist/esm/components/text.props.js +2 -0
- package/dist/esm/components/text.props.js.map +7 -0
- package/dist/esm/components/theme-panel.d.ts +25 -0
- package/dist/esm/components/theme-panel.d.ts.map +1 -0
- package/dist/esm/components/theme-panel.js +2 -0
- package/dist/esm/components/theme-panel.js.map +7 -0
- package/dist/esm/components/theme.d.ts +43 -0
- package/dist/esm/components/theme.d.ts.map +1 -0
- package/dist/esm/components/theme.js +2 -0
- package/dist/esm/components/theme.js.map +7 -0
- package/dist/esm/components/theme.props.d.ts +112 -0
- package/dist/esm/components/theme.props.d.ts.map +1 -0
- package/dist/esm/components/theme.props.js +2 -0
- package/dist/esm/components/theme.props.js.map +7 -0
- package/dist/esm/components/toggle-button.d.ts +63 -0
- package/dist/esm/components/toggle-button.d.ts.map +1 -0
- package/dist/esm/components/toggle-button.js +2 -0
- package/dist/esm/components/toggle-button.js.map +7 -0
- package/dist/esm/components/toggle-icon-button.d.ts +107 -0
- package/dist/esm/components/toggle-icon-button.d.ts.map +1 -0
- package/dist/esm/components/toggle-icon-button.js +2 -0
- package/dist/esm/components/toggle-icon-button.js.map +7 -0
- package/dist/esm/components/toolbar.d.ts +40 -0
- package/dist/esm/components/toolbar.d.ts.map +1 -0
- package/dist/esm/components/toolbar.js +2 -0
- package/dist/esm/components/toolbar.js.map +7 -0
- package/dist/esm/components/tooltip.d.ts +14 -0
- package/dist/esm/components/tooltip.d.ts.map +1 -0
- package/dist/esm/components/tooltip.js +2 -0
- package/dist/esm/components/tooltip.js.map +7 -0
- package/dist/esm/components/tooltip.props.d.ts +31 -0
- package/dist/esm/components/tooltip.props.d.ts.map +1 -0
- package/dist/esm/components/tooltip.props.js +2 -0
- package/dist/esm/components/tooltip.props.js.map +7 -0
- package/dist/esm/components/user-card.d.ts +12 -0
- package/dist/esm/components/user-card.d.ts.map +1 -0
- package/dist/esm/components/user-card.js +2 -0
- package/dist/esm/components/user-card.js.map +7 -0
- package/dist/esm/components/user-card.props.d.ts +63 -0
- package/dist/esm/components/user-card.props.d.ts.map +1 -0
- package/dist/esm/components/user-card.props.js +2 -0
- package/dist/esm/components/user-card.props.js.map +7 -0
- package/dist/esm/components/virtual-menu.d.ts +116 -0
- package/dist/esm/components/virtual-menu.d.ts.map +1 -0
- package/dist/esm/components/virtual-menu.js +2 -0
- package/dist/esm/components/virtual-menu.js.map +7 -0
- package/dist/esm/components/visually-hidden.d.ts +5 -0
- package/dist/esm/components/visually-hidden.d.ts.map +1 -0
- package/dist/esm/components/visually-hidden.js +2 -0
- package/dist/esm/components/visually-hidden.js.map +7 -0
- package/dist/esm/helpers/component-props.d.ts +8 -0
- package/dist/esm/helpers/component-props.d.ts.map +1 -0
- package/dist/esm/helpers/component-props.js +2 -0
- package/dist/esm/helpers/component-props.js.map +7 -0
- package/dist/esm/helpers/extract-margin-props.d.ts +12 -0
- package/dist/esm/helpers/extract-margin-props.d.ts.map +1 -0
- package/dist/esm/helpers/extract-margin-props.js +2 -0
- package/dist/esm/helpers/extract-margin-props.js.map +7 -0
- package/dist/esm/helpers/extract-props.d.ts +23 -0
- package/dist/esm/helpers/extract-props.d.ts.map +1 -0
- package/dist/esm/helpers/extract-props.js +2 -0
- package/dist/esm/helpers/extract-props.js.map +7 -0
- package/dist/esm/helpers/font-config.d.ts +106 -0
- package/dist/esm/helpers/font-config.d.ts.map +1 -0
- package/dist/esm/helpers/font-config.js +2 -0
- package/dist/esm/helpers/font-config.js.map +7 -0
- package/dist/esm/helpers/get-margin-styles.d.ts +3 -0
- package/dist/esm/helpers/get-margin-styles.d.ts.map +1 -0
- package/dist/esm/helpers/get-margin-styles.js +2 -0
- package/dist/esm/helpers/get-margin-styles.js.map +7 -0
- package/dist/esm/helpers/get-matching-gray-color.d.ts +5 -0
- package/dist/esm/helpers/get-matching-gray-color.d.ts.map +1 -0
- package/dist/esm/helpers/get-matching-gray-color.js +2 -0
- package/dist/esm/helpers/get-matching-gray-color.js.map +7 -0
- package/dist/esm/helpers/get-responsive-styles.d.ts +26 -0
- package/dist/esm/helpers/get-responsive-styles.d.ts.map +1 -0
- package/dist/esm/helpers/get-responsive-styles.js +2 -0
- package/dist/esm/helpers/get-responsive-styles.js.map +7 -0
- package/dist/esm/helpers/get-subtree.d.ts +13 -0
- package/dist/esm/helpers/get-subtree.d.ts.map +1 -0
- package/dist/esm/helpers/get-subtree.js +2 -0
- package/dist/esm/helpers/get-subtree.js.map +7 -0
- package/dist/esm/helpers/has-own-property.d.ts +4 -0
- package/dist/esm/helpers/has-own-property.d.ts.map +1 -0
- package/dist/esm/helpers/has-own-property.js +2 -0
- package/dist/esm/helpers/has-own-property.js.map +7 -0
- package/dist/esm/helpers/index.d.ts +16 -0
- package/dist/esm/helpers/index.d.ts.map +1 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/helpers/index.js.map +7 -0
- package/dist/esm/helpers/inert.d.ts +3 -0
- package/dist/esm/helpers/inert.d.ts.map +1 -0
- package/dist/esm/helpers/inert.js +2 -0
- package/dist/esm/helpers/inert.js.map +7 -0
- package/dist/esm/helpers/input-attributes.d.ts +7 -0
- package/dist/esm/helpers/input-attributes.d.ts.map +1 -0
- package/dist/esm/helpers/input-attributes.js +2 -0
- package/dist/esm/helpers/input-attributes.js.map +7 -0
- package/dist/esm/helpers/is-responsive-object.d.ts +3 -0
- package/dist/esm/helpers/is-responsive-object.d.ts.map +1 -0
- package/dist/esm/helpers/is-responsive-object.js +2 -0
- package/dist/esm/helpers/is-responsive-object.js.map +7 -0
- package/dist/esm/helpers/map-prop-values.d.ts +10 -0
- package/dist/esm/helpers/map-prop-values.d.ts.map +1 -0
- package/dist/esm/helpers/map-prop-values.js +2 -0
- package/dist/esm/helpers/map-prop-values.js.map +7 -0
- package/dist/esm/helpers/merge-styles.d.ts +4 -0
- package/dist/esm/helpers/merge-styles.d.ts.map +1 -0
- package/dist/esm/helpers/merge-styles.js +2 -0
- package/dist/esm/helpers/merge-styles.js.map +7 -0
- package/dist/esm/helpers/normalize-to-px.d.ts +10 -0
- package/dist/esm/helpers/normalize-to-px.d.ts.map +1 -0
- package/dist/esm/helpers/normalize-to-px.js +2 -0
- package/dist/esm/helpers/normalize-to-px.js.map +7 -0
- package/dist/esm/helpers/require-react-element.d.ts +4 -0
- package/dist/esm/helpers/require-react-element.d.ts.map +1 -0
- package/dist/esm/helpers/require-react-element.js +2 -0
- package/dist/esm/helpers/require-react-element.js.map +7 -0
- package/dist/esm/hooks/index.d.ts +5 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +2 -0
- package/dist/esm/hooks/index.js.map +7 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts +9 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js +2 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js.map +7 -0
- package/dist/esm/hooks/use-breakpoint.d.ts +11 -0
- package/dist/esm/hooks/use-breakpoint.d.ts.map +1 -0
- package/dist/esm/hooks/use-breakpoint.js +2 -0
- package/dist/esm/hooks/use-breakpoint.js.map +7 -0
- package/dist/esm/hooks/use-live-announcer.d.ts +6 -0
- package/dist/esm/hooks/use-live-announcer.d.ts.map +1 -0
- package/dist/esm/hooks/use-live-announcer.js +2 -0
- package/dist/esm/hooks/use-live-announcer.js.map +7 -0
- package/dist/esm/hooks/use-toggle-state.d.ts +37 -0
- package/dist/esm/hooks/use-toggle-state.d.ts.map +1 -0
- package/dist/esm/hooks/use-toggle-state.js +2 -0
- package/dist/esm/hooks/use-toggle-state.js.map +7 -0
- package/dist/esm/hooks/use-tooltip-wrapper.d.ts +29 -0
- package/dist/esm/hooks/use-tooltip-wrapper.d.ts.map +1 -0
- package/dist/esm/hooks/use-tooltip-wrapper.js +2 -0
- package/dist/esm/hooks/use-tooltip-wrapper.js.map +7 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +6 -0
- package/dist/esm/props/as-child.prop.d.ts +11 -0
- package/dist/esm/props/as-child.prop.d.ts.map +1 -0
- package/dist/esm/props/as-child.prop.js +2 -0
- package/dist/esm/props/as-child.prop.js.map +7 -0
- package/dist/esm/props/color.prop.d.ts +18 -0
- package/dist/esm/props/color.prop.d.ts.map +1 -0
- package/dist/esm/props/color.prop.js +2 -0
- package/dist/esm/props/color.prop.js.map +7 -0
- package/dist/esm/props/font-family.prop.d.ts +9 -0
- package/dist/esm/props/font-family.prop.d.ts.map +1 -0
- package/dist/esm/props/font-family.prop.js +2 -0
- package/dist/esm/props/font-family.prop.js.map +7 -0
- package/dist/esm/props/gap.props.d.ts +61 -0
- package/dist/esm/props/gap.props.d.ts.map +1 -0
- package/dist/esm/props/gap.props.js +2 -0
- package/dist/esm/props/gap.props.js.map +7 -0
- package/dist/esm/props/height.props.d.ts +58 -0
- package/dist/esm/props/height.props.d.ts.map +1 -0
- package/dist/esm/props/height.props.js +2 -0
- package/dist/esm/props/height.props.js.map +7 -0
- package/dist/esm/props/high-contrast.prop.d.ts +9 -0
- package/dist/esm/props/high-contrast.prop.d.ts.map +1 -0
- package/dist/esm/props/high-contrast.prop.js +2 -0
- package/dist/esm/props/high-contrast.prop.js.map +7 -0
- package/dist/esm/props/index.d.ts +69 -0
- package/dist/esm/props/index.d.ts.map +1 -0
- package/dist/esm/props/index.js +2 -0
- package/dist/esm/props/index.js.map +7 -0
- package/dist/esm/props/layout.props.d.ts +472 -0
- package/dist/esm/props/layout.props.d.ts.map +1 -0
- package/dist/esm/props/layout.props.js +2 -0
- package/dist/esm/props/layout.props.js.map +7 -0
- package/dist/esm/props/leading-trim.prop.d.ts +10 -0
- package/dist/esm/props/leading-trim.prop.d.ts.map +1 -0
- package/dist/esm/props/leading-trim.prop.js +2 -0
- package/dist/esm/props/leading-trim.prop.js.map +7 -0
- package/dist/esm/props/margin.props.d.ts +142 -0
- package/dist/esm/props/margin.props.d.ts.map +1 -0
- package/dist/esm/props/margin.props.js +2 -0
- package/dist/esm/props/margin.props.js.map +7 -0
- package/dist/esm/props/padding.props.d.ts +142 -0
- package/dist/esm/props/padding.props.d.ts.map +1 -0
- package/dist/esm/props/padding.props.js +2 -0
- package/dist/esm/props/padding.props.js.map +7 -0
- package/dist/esm/props/prop-def.d.ts +60 -0
- package/dist/esm/props/prop-def.d.ts.map +1 -0
- package/dist/esm/props/prop-def.js +2 -0
- package/dist/esm/props/prop-def.js.map +7 -0
- package/dist/esm/props/radius.prop.d.ts +10 -0
- package/dist/esm/props/radius.prop.d.ts.map +1 -0
- package/dist/esm/props/radius.prop.js +2 -0
- package/dist/esm/props/radius.prop.js.map +7 -0
- package/dist/esm/props/shadow.props.d.ts +24 -0
- package/dist/esm/props/shadow.props.d.ts.map +1 -0
- package/dist/esm/props/shadow.props.js +2 -0
- package/dist/esm/props/shadow.props.js.map +7 -0
- package/dist/esm/props/text-align.prop.d.ts +10 -0
- package/dist/esm/props/text-align.prop.d.ts.map +1 -0
- package/dist/esm/props/text-align.prop.js +2 -0
- package/dist/esm/props/text-align.prop.js.map +7 -0
- package/dist/esm/props/text-wrap.prop.d.ts +10 -0
- package/dist/esm/props/text-wrap.prop.d.ts.map +1 -0
- package/dist/esm/props/text-wrap.prop.js +2 -0
- package/dist/esm/props/text-wrap.prop.js.map +7 -0
- package/dist/esm/props/truncate.prop.d.ts +8 -0
- package/dist/esm/props/truncate.prop.d.ts.map +1 -0
- package/dist/esm/props/truncate.prop.js +2 -0
- package/dist/esm/props/truncate.prop.js.map +7 -0
- package/dist/esm/props/weight.prop.d.ts +10 -0
- package/dist/esm/props/weight.prop.d.ts.map +1 -0
- package/dist/esm/props/weight.prop.js +2 -0
- package/dist/esm/props/weight.prop.js.map +7 -0
- package/dist/esm/props/width.props.d.ts +58 -0
- package/dist/esm/props/width.props.d.ts.map +1 -0
- package/dist/esm/props/width.props.js +2 -0
- package/dist/esm/props/width.props.js.map +7 -0
- package/layout/components.css +251 -0
- package/layout/tokens.css +29 -0
- package/layout/utilities.css +13158 -0
- package/layout.css +13436 -0
- package/package.json +210 -0
- package/postcss-breakpoints.cjs +110 -0
- package/postcss-whitespace.cjs +27 -0
- package/schemas/base-button.d.ts +2 -0
- package/schemas/base-button.json +284 -0
- package/schemas/button.d.ts +2 -0
- package/schemas/button.json +535 -0
- package/schemas/icon-button.d.ts +2 -0
- package/schemas/icon-button.json +318 -0
- package/schemas/index.d.ts +2 -0
- package/schemas/index.json +2016 -0
- package/schemas/schemas.d.ts +29 -0
- package/schemas/shell-bottom.json +168 -0
- package/schemas/shell-content.json +34 -0
- package/schemas/shell-handle.json +34 -0
- package/schemas/shell-header.json +42 -0
- package/schemas/shell-inspector.json +171 -0
- package/schemas/shell-panel.json +167 -0
- package/schemas/shell-rail.json +132 -0
- package/schemas/shell-root.json +54 -0
- package/schemas/shell-sidebar.json +182 -0
- package/schemas/shell-trigger.json +76 -0
- package/schemas/toggle-button.d.ts +2 -0
- package/schemas/toggle-button.json +543 -0
- package/schemas/toggle-icon-button.d.ts +2 -0
- package/schemas/toggle-icon-button.json +326 -0
- package/schemas-json.d.ts +12 -0
- package/src/components/_internal/base-button.css +694 -0
- package/src/components/_internal/base-button.props.ts +119 -0
- package/src/components/_internal/base-button.tsx +237 -0
- package/src/components/_internal/base-card.css +640 -0
- package/src/components/_internal/base-checkbox.css +436 -0
- package/src/components/_internal/base-checkbox.props.ts +22 -0
- package/src/components/_internal/base-dialog.css +151 -0
- package/src/components/_internal/base-menu.css +504 -0
- package/src/components/_internal/base-menu.props.ts +102 -0
- package/src/components/_internal/base-radio.css +396 -0
- package/src/components/_internal/base-radio.props.ts +22 -0
- package/src/components/_internal/base-sidebar-menu.css +240 -0
- package/src/components/_internal/base-sidebar.css +116 -0
- package/src/components/_internal/base-tab-list.css +240 -0
- package/src/components/_internal/base-tab-list.props.ts +35 -0
- package/src/components/_internal/dropdown-menu-drill-down.tsx +249 -0
- package/src/components/_internal/menu-context.tsx +53 -0
- package/src/components/_internal/shell-bottom.tsx +424 -0
- package/src/components/_internal/shell-handles.tsx +223 -0
- package/src/components/_internal/shell-inspector.tsx +424 -0
- package/src/components/_internal/shell-prop-helpers.ts +54 -0
- package/src/components/_internal/shell-resize.tsx +30 -0
- package/src/components/_internal/shell-sidebar.tsx +505 -0
- package/src/components/accessible-icon.tsx +3 -0
- package/src/components/accordion.css +648 -0
- package/src/components/accordion.props.tsx +90 -0
- package/src/components/accordion.tsx +209 -0
- package/src/components/alert-dialog.css +1 -0
- package/src/components/alert-dialog.props.tsx +22 -0
- package/src/components/alert-dialog.tsx +249 -0
- package/src/components/animations.css +155 -0
- package/src/components/aspect-ratio.tsx +3 -0
- package/src/components/avatar.css +642 -0
- package/src/components/avatar.props.tsx +54 -0
- package/src/components/avatar.tsx +129 -0
- package/src/components/badge.css +246 -0
- package/src/components/badge.props.tsx +32 -0
- package/src/components/badge.tsx +102 -0
- package/src/components/blockquote.css +5 -0
- package/src/components/blockquote.props.tsx +29 -0
- package/src/components/blockquote.tsx +35 -0
- package/src/components/box.css +4 -0
- package/src/components/box.props.tsx +44 -0
- package/src/components/box.tsx +34 -0
- package/src/components/button.css +211 -0
- package/src/components/button.props.tsx +18 -0
- package/src/components/button.tsx +179 -0
- package/src/components/callout.css +196 -0
- package/src/components/callout.props.tsx +30 -0
- package/src/components/callout.tsx +115 -0
- package/src/components/card.css +25 -0
- package/src/components/card.props.tsx +27 -0
- package/src/components/card.tsx +39 -0
- package/src/components/chatbar.css +529 -0
- package/src/components/chatbar.tsx +1274 -0
- package/src/components/checkbox-cards.css +139 -0
- package/src/components/checkbox-cards.props.tsx +29 -0
- package/src/components/checkbox-cards.tsx +143 -0
- package/src/components/checkbox-group.css +35 -0
- package/src/components/checkbox-group.primitive.tsx +208 -0
- package/src/components/checkbox-group.props.tsx +9 -0
- package/src/components/checkbox-group.tsx +164 -0
- package/src/components/checkbox.css +18 -0
- package/src/components/checkbox.props.tsx +1 -0
- package/src/components/checkbox.tsx +67 -0
- package/src/components/code.css +185 -0
- package/src/components/code.props.tsx +32 -0
- package/src/components/code.tsx +40 -0
- package/src/components/combobox.css +202 -0
- package/src/components/combobox.props.tsx +69 -0
- package/src/components/combobox.tsx +631 -0
- package/src/components/container.css +43 -0
- package/src/components/container.props.tsx +84 -0
- package/src/components/container.tsx +59 -0
- package/src/components/context-menu.css +6 -0
- package/src/components/context-menu.props.tsx +6 -0
- package/src/components/context-menu.tsx +445 -0
- package/src/components/data-list.css +249 -0
- package/src/components/data-list.props.tsx +54 -0
- package/src/components/data-list.tsx +100 -0
- package/src/components/dialog.css +13 -0
- package/src/components/dialog.props.tsx +49 -0
- package/src/components/dialog.tsx +234 -0
- package/src/components/dropdown-menu.css +207 -0
- package/src/components/dropdown-menu.props.tsx +8 -0
- package/src/components/dropdown-menu.tsx +701 -0
- package/src/components/em.css +16 -0
- package/src/components/em.props.tsx +11 -0
- package/src/components/em.tsx +22 -0
- package/src/components/flex.css +7 -0
- package/src/components/flex.props.tsx +129 -0
- package/src/components/flex.tsx +34 -0
- package/src/components/grid.css +10 -0
- package/src/components/grid.props.tsx +239 -0
- package/src/components/grid.tsx +34 -0
- package/src/components/heading.css +101 -0
- package/src/components/heading.props.tsx +39 -0
- package/src/components/heading.tsx +68 -0
- package/src/components/hover-card.css +39 -0
- package/src/components/hover-card.props.tsx +37 -0
- package/src/components/hover-card.tsx +72 -0
- package/src/components/icon-button.css +157 -0
- package/src/components/icon-button.props.tsx +1 -0
- package/src/components/icon-button.tsx +153 -0
- package/src/components/icons.tsx +149 -0
- package/src/components/image.css +230 -0
- package/src/components/image.props.ts +163 -0
- package/src/components/image.tsx +316 -0
- package/src/components/index.css +76 -0
- package/src/components/index.tsx +82 -0
- package/src/components/inset.css +111 -0
- package/src/components/inset.props.tsx +90 -0
- package/src/components/inset.tsx +28 -0
- package/src/components/kbd.css +207 -0
- package/src/components/kbd.props.tsx +27 -0
- package/src/components/kbd.tsx +30 -0
- package/src/components/layout.css +5 -0
- package/src/components/link.css +94 -0
- package/src/components/link.props.tsx +34 -0
- package/src/components/link.tsx +37 -0
- package/src/components/navbar.css +70 -0
- package/src/components/navbar.props.tsx +22 -0
- package/src/components/navbar.tsx +169 -0
- package/src/components/popover.css +109 -0
- package/src/components/popover.props.tsx +40 -0
- package/src/components/popover.tsx +282 -0
- package/src/components/portal.tsx +4 -0
- package/src/components/progress.css +232 -0
- package/src/components/progress.props.tsx +23 -0
- package/src/components/progress.tsx +53 -0
- package/src/components/quote.css +16 -0
- package/src/components/quote.props.tsx +11 -0
- package/src/components/quote.tsx +22 -0
- package/src/components/radio-cards.css +123 -0
- package/src/components/radio-cards.props.tsx +29 -0
- package/src/components/radio-cards.tsx +93 -0
- package/src/components/radio-group.css +18 -0
- package/src/components/radio-group.props.tsx +21 -0
- package/src/components/radio-group.tsx +142 -0
- package/src/components/radio.css +1 -0
- package/src/components/radio.props.tsx +1 -0
- package/src/components/radio.tsx +50 -0
- package/src/components/reset.css +246 -0
- package/src/components/reset.tsx +22 -0
- package/src/components/schemas/base-button.schema.ts +339 -0
- package/src/components/schemas/button.schema.ts +198 -0
- package/src/components/schemas/icon-button.schema.ts +142 -0
- package/src/components/schemas/index.ts +114 -0
- package/src/components/schemas/shell.schema.ts +380 -0
- package/src/components/schemas/toggle-button.schema.ts +122 -0
- package/src/components/schemas/toggle-icon-button.schema.ts +195 -0
- package/src/components/scroll-area.css +147 -0
- package/src/components/scroll-area.props.tsx +19 -0
- package/src/components/scroll-area.tsx +106 -0
- package/src/components/section.css +25 -0
- package/src/components/section.props.tsx +63 -0
- package/src/components/section.tsx +36 -0
- package/src/components/segmented-control.css +623 -0
- package/src/components/segmented-control.props.tsx +34 -0
- package/src/components/segmented-control.tsx +108 -0
- package/src/components/select.css +1048 -0
- package/src/components/select.props.tsx +53 -0
- package/src/components/select.tsx +281 -0
- package/src/components/separator.css +50 -0
- package/src/components/separator.props.tsx +28 -0
- package/src/components/separator.tsx +22 -0
- package/src/components/sheet.css +142 -0
- package/src/components/sheet.tsx +309 -0
- package/src/components/shell.context.tsx +154 -0
- package/src/components/shell.css +643 -0
- package/src/components/shell.hooks.ts +178 -0
- package/src/components/shell.tsx +1621 -0
- package/src/components/shell.types.ts +65 -0
- package/src/components/sidebar.css +1394 -0
- package/src/components/sidebar.props.tsx +57 -0
- package/src/components/sidebar.tsx +880 -0
- package/src/components/skeleton.css +55 -0
- package/src/components/skeleton.props.tsx +14 -0
- package/src/components/skeleton.tsx +48 -0
- package/src/components/slider.css +403 -0
- package/src/components/slider.props.tsx +25 -0
- package/src/components/slider.tsx +246 -0
- package/src/components/slot.tsx +4 -0
- package/src/components/spinner.css +100 -0
- package/src/components/spinner.props.tsx +13 -0
- package/src/components/spinner.tsx +64 -0
- package/src/components/strong.css +13 -0
- package/src/components/strong.props.tsx +11 -0
- package/src/components/strong.tsx +24 -0
- package/src/components/switch.css +241 -0
- package/src/components/switch.props.tsx +33 -0
- package/src/components/switch.tsx +48 -0
- package/src/components/tab-nav.css +5 -0
- package/src/components/tab-nav.props.tsx +13 -0
- package/src/components/tab-nav.tsx +81 -0
- package/src/components/table.css +158 -0
- package/src/components/table.props.tsx +83 -0
- package/src/components/table.tsx +137 -0
- package/src/components/tabs.css +12 -0
- package/src/components/tabs.props.tsx +12 -0
- package/src/components/tabs.tsx +108 -0
- package/src/components/text-area.css +655 -0
- package/src/components/text-area.props.tsx +43 -0
- package/src/components/text-area.tsx +93 -0
- package/src/components/text-field.css +901 -0
- package/src/components/text-field.props.tsx +86 -0
- package/src/components/text-field.tsx +416 -0
- package/src/components/text.css +110 -0
- package/src/components/text.props.tsx +38 -0
- package/src/components/text.tsx +65 -0
- package/src/components/theme-panel.css +67 -0
- package/src/components/theme-panel.tsx +770 -0
- package/src/components/theme.props.tsx +96 -0
- package/src/components/theme.tsx +305 -0
- package/src/components/toggle-button.tsx +100 -0
- package/src/components/toggle-icon-button.tsx +167 -0
- package/src/components/toolbar.css +203 -0
- package/src/components/toolbar.tsx +242 -0
- package/src/components/tooltip.css +39 -0
- package/src/components/tooltip.props.tsx +20 -0
- package/src/components/tooltip.tsx +63 -0
- package/src/components/user-card.css +29 -0
- package/src/components/user-card.props.tsx +45 -0
- package/src/components/user-card.tsx +102 -0
- package/src/components/virtual-menu.css +49 -0
- package/src/components/virtual-menu.tsx +482 -0
- package/src/components/visually-hidden.tsx +4 -0
- package/src/helpers/component-props.ts +19 -0
- package/src/helpers/extract-margin-props.ts +6 -0
- package/src/helpers/extract-props.ts +124 -0
- package/src/helpers/font-config.ts +194 -0
- package/src/helpers/get-margin-styles.ts +81 -0
- package/src/helpers/get-matching-gray-color.ts +40 -0
- package/src/helpers/get-responsive-styles.ts +152 -0
- package/src/helpers/get-subtree.ts +22 -0
- package/src/helpers/has-own-property.ts +9 -0
- package/src/helpers/index.ts +15 -0
- package/src/helpers/inert.ts +5 -0
- package/src/helpers/input-attributes.ts +82 -0
- package/src/helpers/is-responsive-object.ts +19 -0
- package/src/helpers/map-prop-values.ts +40 -0
- package/src/helpers/merge-styles.ts +22 -0
- package/src/helpers/normalize-to-px.ts +42 -0
- package/src/helpers/require-react-element.ts +20 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/use-body-pointer-events-cleanup.ts +112 -0
- package/src/hooks/use-breakpoint.ts +63 -0
- package/src/hooks/use-live-announcer.ts +79 -0
- package/src/hooks/use-toggle-state.ts +72 -0
- package/src/hooks/use-tooltip-wrapper.ts +28 -0
- package/src/index.ts +2 -0
- package/src/props/as-child.prop.ts +15 -0
- package/src/props/color.prop.ts +36 -0
- package/src/props/font-family.prop.ts +15 -0
- package/src/props/gap.props.ts +69 -0
- package/src/props/height.props.ts +64 -0
- package/src/props/high-contrast.prop.ts +13 -0
- package/src/props/index.ts +73 -0
- package/src/props/layout.props.ts +427 -0
- package/src/props/leading-trim.prop.ts +16 -0
- package/src/props/margin.props.ts +155 -0
- package/src/props/padding.props.ts +154 -0
- package/src/props/prop-def.ts +93 -0
- package/src/props/radius.prop.ts +15 -0
- package/src/props/shadow.props.ts +30 -0
- package/src/props/text-align.prop.ts +16 -0
- package/src/props/text-wrap.prop.ts +16 -0
- package/src/props/truncate.prop.ts +12 -0
- package/src/props/weight.prop.ts +16 -0
- package/src/props/width.props.ts +64 -0
- package/src/styles/breakpoints.css +5 -0
- package/src/styles/fonts.css +35 -0
- package/src/styles/index.css +6 -0
- package/src/styles/layout.css +3 -0
- package/src/styles/scrollbar.css +31 -0
- package/src/styles/tokens/base.css +9 -0
- package/src/styles/tokens/blur.css +35 -0
- package/src/styles/tokens/color.css +1196 -0
- package/src/styles/tokens/colors/amber.css +36 -0
- package/src/styles/tokens/colors/blue.css +33 -0
- package/src/styles/tokens/colors/bronze.css +33 -0
- package/src/styles/tokens/colors/brown.css +33 -0
- package/src/styles/tokens/colors/crimson.css +33 -0
- package/src/styles/tokens/colors/cyan.css +33 -0
- package/src/styles/tokens/colors/gold.css +33 -0
- package/src/styles/tokens/colors/grass.css +33 -0
- package/src/styles/tokens/colors/gray.css +33 -0
- package/src/styles/tokens/colors/green.css +33 -0
- package/src/styles/tokens/colors/indigo.css +33 -0
- package/src/styles/tokens/colors/iris.css +33 -0
- package/src/styles/tokens/colors/jade.css +33 -0
- package/src/styles/tokens/colors/lime.css +36 -0
- package/src/styles/tokens/colors/mauve.css +33 -0
- package/src/styles/tokens/colors/mint.css +36 -0
- package/src/styles/tokens/colors/olive.css +33 -0
- package/src/styles/tokens/colors/orange.css +33 -0
- package/src/styles/tokens/colors/pink.css +33 -0
- package/src/styles/tokens/colors/plum.css +33 -0
- package/src/styles/tokens/colors/purple.css +33 -0
- package/src/styles/tokens/colors/red.css +33 -0
- package/src/styles/tokens/colors/ruby.css +33 -0
- package/src/styles/tokens/colors/sage.css +33 -0
- package/src/styles/tokens/colors/sand.css +33 -0
- package/src/styles/tokens/colors/sky.css +36 -0
- package/src/styles/tokens/colors/slate.css +33 -0
- package/src/styles/tokens/colors/teal.css +33 -0
- package/src/styles/tokens/colors/tomato.css +33 -0
- package/src/styles/tokens/colors/violet.css +33 -0
- package/src/styles/tokens/colors/yellow.css +36 -0
- package/src/styles/tokens/constants.css +195 -0
- package/src/styles/tokens/cursor.css +11 -0
- package/src/styles/tokens/index.css +38 -0
- package/src/styles/tokens/layout.css +2 -0
- package/src/styles/tokens/opacity.css +32 -0
- package/src/styles/tokens/radius.css +45 -0
- package/src/styles/tokens/scaling.css +17 -0
- package/src/styles/tokens/shadow.css +130 -0
- package/src/styles/tokens/space.css +20 -0
- package/src/styles/tokens/transition.css +189 -0
- package/src/styles/tokens/typography.css +351 -0
- package/src/styles/utilities/align-content.css +33 -0
- package/src/styles/utilities/align-items.css +21 -0
- package/src/styles/utilities/align-self.css +21 -0
- package/src/styles/utilities/display.css +37 -0
- package/src/styles/utilities/flex-basis.css +28 -0
- package/src/styles/utilities/flex-direction.css +17 -0
- package/src/styles/utilities/flex-grow.css +40 -0
- package/src/styles/utilities/flex-shrink.css +40 -0
- package/src/styles/utilities/flex-wrap.css +13 -0
- package/src/styles/utilities/font-weight.css +33 -0
- package/src/styles/utilities/gap.css +193 -0
- package/src/styles/utilities/grid-area.css +33 -0
- package/src/styles/utilities/grid-auto-flow.css +21 -0
- package/src/styles/utilities/grid-column-end.css +61 -0
- package/src/styles/utilities/grid-column-start.css +61 -0
- package/src/styles/utilities/grid-column.css +61 -0
- package/src/styles/utilities/grid-row-end.css +61 -0
- package/src/styles/utilities/grid-row-start.css +61 -0
- package/src/styles/utilities/grid-row.css +61 -0
- package/src/styles/utilities/grid-template-areas.css +28 -0
- package/src/styles/utilities/grid-template-columns.css +61 -0
- package/src/styles/utilities/grid-template-rows.css +61 -0
- package/src/styles/utilities/height.css +28 -0
- package/src/styles/utilities/index.css +10 -0
- package/src/styles/utilities/inset.css +354 -0
- package/src/styles/utilities/justify-content.css +17 -0
- package/src/styles/utilities/justify-items.css +21 -0
- package/src/styles/utilities/justify-self.css +21 -0
- package/src/styles/utilities/layout.css +37 -0
- package/src/styles/utilities/leading-trim.css +32 -0
- package/src/styles/utilities/margin.css +1161 -0
- package/src/styles/utilities/max-height.css +28 -0
- package/src/styles/utilities/max-width.css +28 -0
- package/src/styles/utilities/min-height.css +28 -0
- package/src/styles/utilities/min-width.css +28 -0
- package/src/styles/utilities/overflow.css +49 -0
- package/src/styles/utilities/padding.css +623 -0
- package/src/styles/utilities/position.css +21 -0
- package/src/styles/utilities/resize.css +14 -0
- package/src/styles/utilities/table-layout.css +8 -0
- package/src/styles/utilities/text-align.css +13 -0
- package/src/styles/utilities/text-wrap.css +19 -0
- package/src/styles/utilities/truncate.css +5 -0
- package/src/styles/utilities/vertical-align.css +17 -0
- package/src/styles/utilities/width.css +28 -0
- package/styles.css +41954 -0
- package/tokens/base.css +1628 -0
- package/tokens/colors/amber.css +129 -0
- package/tokens/colors/blue.css +123 -0
- package/tokens/colors/bronze.css +123 -0
- package/tokens/colors/brown.css +123 -0
- package/tokens/colors/crimson.css +123 -0
- package/tokens/colors/cyan.css +123 -0
- package/tokens/colors/gold.css +123 -0
- package/tokens/colors/grass.css +123 -0
- package/tokens/colors/gray.css +123 -0
- package/tokens/colors/green.css +123 -0
- package/tokens/colors/indigo.css +123 -0
- package/tokens/colors/iris.css +123 -0
- package/tokens/colors/jade.css +123 -0
- package/tokens/colors/lime.css +129 -0
- package/tokens/colors/mauve.css +123 -0
- package/tokens/colors/mint.css +129 -0
- package/tokens/colors/olive.css +123 -0
- package/tokens/colors/orange.css +123 -0
- package/tokens/colors/pink.css +123 -0
- package/tokens/colors/plum.css +123 -0
- package/tokens/colors/purple.css +123 -0
- package/tokens/colors/red.css +123 -0
- package/tokens/colors/ruby.css +123 -0
- package/tokens/colors/sage.css +123 -0
- package/tokens/colors/sand.css +123 -0
- package/tokens/colors/sky.css +129 -0
- package/tokens/colors/slate.css +123 -0
- package/tokens/colors/teal.css +123 -0
- package/tokens/colors/tomato.css +123 -0
- package/tokens/colors/violet.css +123 -0
- package/tokens/colors/yellow.css +129 -0
- package/tokens.css +5010 -0
- package/utilities.css +13821 -0
|
@@ -0,0 +1,1621 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell Component - Layout Engine + Chrome
|
|
3
|
+
*
|
|
4
|
+
* Philosophy:
|
|
5
|
+
* - Shell = layout engine + chrome
|
|
6
|
+
* - Manages layout state: expanded/collapsed, fixed/overlay, sizes
|
|
7
|
+
* - Does not manage content/navigation state
|
|
8
|
+
* - Provides unstyled primitives (slots, triggers)
|
|
9
|
+
* - Enforces composition rules (Rail ↔ Panel dependency, Sidebar exclusivity)
|
|
10
|
+
*
|
|
11
|
+
* Core Slots:
|
|
12
|
+
* - Header: global top bar
|
|
13
|
+
* - Rail: slim nav strip
|
|
14
|
+
* - Panel: sidebar next to rail
|
|
15
|
+
* - Sidebar: alternative to Rail+Panel (exclusive)
|
|
16
|
+
* - Content: main work area
|
|
17
|
+
* - Inspector: right-side panel
|
|
18
|
+
* - Bottom: bottom panel
|
|
19
|
+
*
|
|
20
|
+
* Composition Rules:
|
|
21
|
+
* - Rail + Panel: valid together (Rail collapse → Panel collapse)
|
|
22
|
+
* - Sidebar: cannot coexist with Rail or Panel
|
|
23
|
+
* - Content: always required
|
|
24
|
+
* - Inspector/Bottom: optional, independent
|
|
25
|
+
*/
|
|
26
|
+
'use client';
|
|
27
|
+
|
|
28
|
+
import * as React from 'react';
|
|
29
|
+
import classNames from 'classnames';
|
|
30
|
+
import * as Sheet from './sheet.js';
|
|
31
|
+
import { VisuallyHidden } from './visually-hidden.js';
|
|
32
|
+
import { useResponsivePresentation, useResponsiveInitialState } from './shell.hooks.js';
|
|
33
|
+
import { PaneResizeContext } from './_internal/shell-resize.js';
|
|
34
|
+
import { PaneHandle, PanelHandle } from './_internal/shell-handles.js';
|
|
35
|
+
import { omitPaneProps, extractPaneDomProps, mapResponsiveBooleanToPaneMode } from './_internal/shell-prop-helpers.js';
|
|
36
|
+
import { Sidebar } from './_internal/shell-sidebar.js';
|
|
37
|
+
import { Bottom } from './_internal/shell-bottom.js';
|
|
38
|
+
import { Inspector } from './_internal/shell-inspector.js';
|
|
39
|
+
import type { PresentationValue, ResponsivePresentation, PaneMode, SidebarMode, PaneSizePersistence, Breakpoint, PaneTarget, Responsive, PaneBaseProps, CSSPropertiesWithVars } from './shell.types.js';
|
|
40
|
+
import { normalizeToPx } from '../helpers/normalize-to-px.js';
|
|
41
|
+
import { useBreakpoint } from '../hooks/use-breakpoint.js';
|
|
42
|
+
import {
|
|
43
|
+
ShellProvider,
|
|
44
|
+
useShell,
|
|
45
|
+
LeftModeContext,
|
|
46
|
+
useLeftMode,
|
|
47
|
+
PanelModeContext,
|
|
48
|
+
usePanelMode,
|
|
49
|
+
SidebarModeContext,
|
|
50
|
+
useSidebarMode,
|
|
51
|
+
InspectorModeContext,
|
|
52
|
+
useInspectorMode,
|
|
53
|
+
BottomModeContext,
|
|
54
|
+
useBottomMode,
|
|
55
|
+
PresentationContext,
|
|
56
|
+
PeekContext,
|
|
57
|
+
usePeek,
|
|
58
|
+
ActionsContext,
|
|
59
|
+
useShellActions,
|
|
60
|
+
CompositionContext,
|
|
61
|
+
InsetContext,
|
|
62
|
+
useInset,
|
|
63
|
+
type InsetPaneId,
|
|
64
|
+
} from './shell.context.js';
|
|
65
|
+
|
|
66
|
+
// Shell context is provided via ShellProvider (see shell.context.tsx)
|
|
67
|
+
|
|
68
|
+
// Pane resize context moved to ./_internal/shell-resize
|
|
69
|
+
|
|
70
|
+
// Local PaneHandle moved to ./_internal/shell-handles
|
|
71
|
+
// Removed local PaneHandle implementation; using internal PaneHandle
|
|
72
|
+
|
|
73
|
+
// Composed Handle wrappers per pane
|
|
74
|
+
// Handles moved to ./_internal/shell-handles
|
|
75
|
+
|
|
76
|
+
// Hook to resolve responsive presentation
|
|
77
|
+
// useResponsivePresentation moved to shell.hooks.ts
|
|
78
|
+
|
|
79
|
+
// Hook to resolve responsive mode defaults
|
|
80
|
+
// Removed: defaultMode responsiveness
|
|
81
|
+
|
|
82
|
+
// useBreakpoint hook moved to ../hooks/use-breakpoint.ts
|
|
83
|
+
|
|
84
|
+
// Reducer-based pane state management to simplify cascading rules
|
|
85
|
+
type PaneState = {
|
|
86
|
+
leftMode: PaneMode;
|
|
87
|
+
panelMode: PaneMode;
|
|
88
|
+
sidebarMode: SidebarMode;
|
|
89
|
+
inspectorMode: PaneMode;
|
|
90
|
+
bottomMode: PaneMode;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
type PaneAction =
|
|
94
|
+
| { type: 'SET_LEFT_MODE'; mode: PaneMode }
|
|
95
|
+
| { type: 'SET_PANEL_MODE'; mode: PaneMode }
|
|
96
|
+
| { type: 'SET_SIDEBAR_MODE'; mode: SidebarMode }
|
|
97
|
+
| { type: 'SET_INSPECTOR_MODE'; mode: PaneMode }
|
|
98
|
+
| { type: 'SET_BOTTOM_MODE'; mode: PaneMode }
|
|
99
|
+
| { type: 'TOGGLE_PANE'; target: PaneTarget }
|
|
100
|
+
| { type: 'EXPAND_PANE'; target: PaneTarget }
|
|
101
|
+
| { type: 'COLLAPSE_PANE'; target: PaneTarget };
|
|
102
|
+
|
|
103
|
+
const SHELL_SLOT = Symbol('rtShellSlot');
|
|
104
|
+
|
|
105
|
+
function assignShellSlot<T extends React.ComponentType<any>>(component: T, slot: string): T {
|
|
106
|
+
(component as any)[SHELL_SLOT] = slot;
|
|
107
|
+
return component;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Check if an element matches a component by type or displayName.
|
|
112
|
+
* Uses displayName comparison to handle minification scenarios.
|
|
113
|
+
*/
|
|
114
|
+
const isShellComponentType = (el: React.ReactElement, comp: React.ComponentType & { displayName?: string }): boolean =>
|
|
115
|
+
React.isValidElement(el) && (el.type === comp || (el as any).type?.displayName === comp.displayName);
|
|
116
|
+
|
|
117
|
+
// Tag imported slot components so isType remains stable after minification
|
|
118
|
+
assignShellSlot(Sidebar as any, 'Shell.Sidebar');
|
|
119
|
+
assignShellSlot(Inspector as any, 'Shell.Inspector');
|
|
120
|
+
assignShellSlot(Bottom as any, 'Shell.Bottom');
|
|
121
|
+
|
|
122
|
+
function paneReducer(state: PaneState, action: PaneAction): PaneState {
|
|
123
|
+
switch (action.type) {
|
|
124
|
+
case 'SET_LEFT_MODE': {
|
|
125
|
+
if (action.mode === 'collapsed') {
|
|
126
|
+
if (state.leftMode === 'collapsed' && state.panelMode === 'collapsed') return state;
|
|
127
|
+
return { ...state, leftMode: 'collapsed', panelMode: 'collapsed' };
|
|
128
|
+
}
|
|
129
|
+
if (state.leftMode === action.mode) return state;
|
|
130
|
+
return { ...state, leftMode: action.mode };
|
|
131
|
+
}
|
|
132
|
+
case 'SET_PANEL_MODE': {
|
|
133
|
+
if (action.mode === 'expanded' && state.leftMode !== 'expanded') {
|
|
134
|
+
return { ...state, leftMode: 'expanded', panelMode: 'expanded' };
|
|
135
|
+
}
|
|
136
|
+
if (state.panelMode === action.mode) return state;
|
|
137
|
+
return { ...state, panelMode: action.mode };
|
|
138
|
+
}
|
|
139
|
+
case 'SET_SIDEBAR_MODE':
|
|
140
|
+
if (state.sidebarMode === action.mode) return state;
|
|
141
|
+
return { ...state, sidebarMode: action.mode };
|
|
142
|
+
case 'SET_INSPECTOR_MODE':
|
|
143
|
+
if (state.inspectorMode === action.mode) return state;
|
|
144
|
+
return { ...state, inspectorMode: action.mode };
|
|
145
|
+
case 'SET_BOTTOM_MODE':
|
|
146
|
+
if (state.bottomMode === action.mode) return state;
|
|
147
|
+
return { ...state, bottomMode: action.mode };
|
|
148
|
+
case 'TOGGLE_PANE': {
|
|
149
|
+
switch (action.target) {
|
|
150
|
+
case 'left':
|
|
151
|
+
case 'rail':
|
|
152
|
+
return { ...state, leftMode: state.leftMode === 'expanded' ? 'collapsed' : 'expanded', panelMode: state.leftMode === 'expanded' ? 'collapsed' : state.panelMode };
|
|
153
|
+
case 'panel': {
|
|
154
|
+
if (state.leftMode === 'collapsed') {
|
|
155
|
+
return { ...state, leftMode: 'expanded', panelMode: 'expanded' };
|
|
156
|
+
}
|
|
157
|
+
return { ...state, panelMode: state.panelMode === 'expanded' ? 'collapsed' : 'expanded' };
|
|
158
|
+
}
|
|
159
|
+
case 'sidebar': {
|
|
160
|
+
const next: SidebarMode = state.sidebarMode === 'collapsed' ? 'expanded' : state.sidebarMode === 'expanded' ? 'collapsed' : 'expanded';
|
|
161
|
+
return { ...state, sidebarMode: next };
|
|
162
|
+
}
|
|
163
|
+
case 'inspector':
|
|
164
|
+
return { ...state, inspectorMode: state.inspectorMode === 'expanded' ? 'collapsed' : 'expanded' };
|
|
165
|
+
case 'bottom':
|
|
166
|
+
return { ...state, bottomMode: state.bottomMode === 'expanded' ? 'collapsed' : 'expanded' };
|
|
167
|
+
default:
|
|
168
|
+
return state;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
case 'EXPAND_PANE': {
|
|
172
|
+
switch (action.target) {
|
|
173
|
+
case 'left':
|
|
174
|
+
case 'rail':
|
|
175
|
+
if (state.leftMode === 'expanded') return state;
|
|
176
|
+
return { ...state, leftMode: 'expanded' };
|
|
177
|
+
case 'panel':
|
|
178
|
+
if (state.leftMode === 'expanded' && state.panelMode === 'expanded') return state;
|
|
179
|
+
return { ...state, leftMode: 'expanded', panelMode: 'expanded' };
|
|
180
|
+
case 'sidebar':
|
|
181
|
+
if (state.sidebarMode === 'expanded') return state;
|
|
182
|
+
return { ...state, sidebarMode: 'expanded' };
|
|
183
|
+
case 'inspector':
|
|
184
|
+
if (state.inspectorMode === 'expanded') return state;
|
|
185
|
+
return { ...state, inspectorMode: 'expanded' };
|
|
186
|
+
case 'bottom':
|
|
187
|
+
if (state.bottomMode === 'expanded') return state;
|
|
188
|
+
return { ...state, bottomMode: 'expanded' };
|
|
189
|
+
default:
|
|
190
|
+
return state;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
case 'COLLAPSE_PANE': {
|
|
194
|
+
switch (action.target) {
|
|
195
|
+
case 'left':
|
|
196
|
+
case 'rail':
|
|
197
|
+
if (state.leftMode === 'collapsed' && state.panelMode === 'collapsed') return state;
|
|
198
|
+
return { ...state, leftMode: 'collapsed', panelMode: 'collapsed' };
|
|
199
|
+
case 'panel':
|
|
200
|
+
if (state.panelMode === 'collapsed') return state;
|
|
201
|
+
return { ...state, panelMode: 'collapsed' };
|
|
202
|
+
case 'sidebar':
|
|
203
|
+
if (state.sidebarMode === 'collapsed') return state;
|
|
204
|
+
return { ...state, sidebarMode: 'collapsed' };
|
|
205
|
+
case 'inspector':
|
|
206
|
+
if (state.inspectorMode === 'collapsed') return state;
|
|
207
|
+
return { ...state, inspectorMode: 'collapsed' };
|
|
208
|
+
case 'bottom':
|
|
209
|
+
if (state.bottomMode === 'collapsed') return state;
|
|
210
|
+
return { ...state, bottomMode: 'collapsed' };
|
|
211
|
+
default:
|
|
212
|
+
return state;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return state;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// Root Component
|
|
220
|
+
interface ShellRootProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
221
|
+
children: React.ReactNode;
|
|
222
|
+
height?: 'full' | 'auto' | string | number;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const Root = React.forwardRef<HTMLDivElement, ShellRootProps>(({ className, children, height = 'full', ...props }, ref) => {
|
|
226
|
+
const { breakpoint: currentBreakpoint, ready: currentBreakpointReady } = useBreakpoint();
|
|
227
|
+
|
|
228
|
+
// Store hasPanelDefaultOpen for use in passthrough props (computed once during lazy init)
|
|
229
|
+
const hasPanelDefaultOpenRef = React.useRef<boolean>(false);
|
|
230
|
+
|
|
231
|
+
// Pane state management via reducer with lazy initialization
|
|
232
|
+
// This computation only runs once on mount, not on every render
|
|
233
|
+
const [paneState, dispatchPane] = React.useReducer(paneReducer, children, (initialChildren) => {
|
|
234
|
+
const childArray = React.Children.toArray(initialChildren) as React.ReactElement[];
|
|
235
|
+
|
|
236
|
+
// Compute initial defaults from immediate children (one-time, uncontrolled defaults)
|
|
237
|
+
const hasPanelDefaultOpen = childArray.some(
|
|
238
|
+
(el) => React.isValidElement(el) && (el as any).type?.displayName === 'Shell.Panel' && Boolean((el as any).props?.defaultOpen),
|
|
239
|
+
);
|
|
240
|
+
// Store for use in passthrough props
|
|
241
|
+
hasPanelDefaultOpenRef.current = hasPanelDefaultOpen;
|
|
242
|
+
|
|
243
|
+
// Rail defaults to open (true) unless explicitly set to false
|
|
244
|
+
// Supports responsive objects: { initial: false, md: true }
|
|
245
|
+
const railEl = childArray.find((el) => React.isValidElement(el) && (el as any).type?.displayName === 'Shell.Rail');
|
|
246
|
+
const railDefaultOpen = railEl ? (railEl as any).props?.defaultOpen : undefined;
|
|
247
|
+
const hasRailDefaultOpen = (() => {
|
|
248
|
+
if (!railEl) return false;
|
|
249
|
+
if (railDefaultOpen === undefined) return true; // Default to open
|
|
250
|
+
if (typeof railDefaultOpen === 'boolean') return railDefaultOpen;
|
|
251
|
+
// Responsive object - use 'initial' value, or first defined value, or default true
|
|
252
|
+
if (typeof railDefaultOpen === 'object') {
|
|
253
|
+
return railDefaultOpen.initial ?? Object.values(railDefaultOpen)[0] ?? true;
|
|
254
|
+
}
|
|
255
|
+
return true;
|
|
256
|
+
})();
|
|
257
|
+
|
|
258
|
+
const hasInspectorDefaultOpen = childArray.some(
|
|
259
|
+
(el) => React.isValidElement(el) && (el as any).type?.displayName === 'Shell.Inspector' && Boolean((el as any).props?.defaultOpen),
|
|
260
|
+
);
|
|
261
|
+
const hasInspectorOpenControlled = childArray.some(
|
|
262
|
+
(el) =>
|
|
263
|
+
React.isValidElement(el) &&
|
|
264
|
+
(el as any).type?.displayName === 'Shell.Inspector' &&
|
|
265
|
+
typeof (el as any).props?.open !== 'undefined' &&
|
|
266
|
+
Boolean((el as any).props?.open),
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
// Detect Panel controlled open state for initial reducer state
|
|
270
|
+
const hasPanelOpenControlled = childArray.some((el) => {
|
|
271
|
+
if (!React.isValidElement(el) || (el as any).type?.displayName !== 'Shell.Panel') return false;
|
|
272
|
+
const openProp = (el as any).props?.open;
|
|
273
|
+
if (typeof openProp === 'undefined') return false;
|
|
274
|
+
if (typeof openProp === 'boolean') return openProp;
|
|
275
|
+
// Responsive object - check 'initial' or first truthy value
|
|
276
|
+
if (typeof openProp === 'object' && openProp !== null) {
|
|
277
|
+
return openProp.initial ?? Object.values(openProp)[0] ?? false;
|
|
278
|
+
}
|
|
279
|
+
return false;
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
// Detect Sidebar initial state from props
|
|
283
|
+
const getSidebarInitialState = (): SidebarMode => {
|
|
284
|
+
const sidebarEl = childArray.find((el) => React.isValidElement(el) && (el as any).type?.displayName === 'Shell.Sidebar');
|
|
285
|
+
if (!sidebarEl) return 'expanded';
|
|
286
|
+
const sidebarProps = (sidebarEl as any).props;
|
|
287
|
+
// Check controlled state first
|
|
288
|
+
if (typeof sidebarProps?.state !== 'undefined') {
|
|
289
|
+
if (typeof sidebarProps.state === 'string') return sidebarProps.state as SidebarMode;
|
|
290
|
+
// Responsive object - use 'initial' breakpoint or first defined value
|
|
291
|
+
if (typeof sidebarProps.state === 'object') {
|
|
292
|
+
return (sidebarProps.state.initial ?? Object.values(sidebarProps.state)[0] ?? 'expanded') as SidebarMode;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// Check defaultState
|
|
296
|
+
if (typeof sidebarProps?.defaultState !== 'undefined') {
|
|
297
|
+
if (typeof sidebarProps.defaultState === 'string') return sidebarProps.defaultState as SidebarMode;
|
|
298
|
+
if (typeof sidebarProps.defaultState === 'object') {
|
|
299
|
+
return (sidebarProps.defaultState.initial ?? Object.values(sidebarProps.defaultState)[0] ?? 'expanded') as SidebarMode;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return 'expanded';
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
// Detect Bottom initial state from props
|
|
306
|
+
const getBottomInitialState = (): PaneMode => {
|
|
307
|
+
const bottomEl = childArray.find((el) => React.isValidElement(el) && (el as any).type?.displayName === 'Shell.Bottom');
|
|
308
|
+
if (!bottomEl) return 'collapsed';
|
|
309
|
+
const bottomProps = (bottomEl as any).props;
|
|
310
|
+
// Check controlled open first
|
|
311
|
+
if (typeof bottomProps?.open !== 'undefined') {
|
|
312
|
+
if (typeof bottomProps.open === 'boolean') return bottomProps.open ? 'expanded' : 'collapsed';
|
|
313
|
+
// Responsive object - use 'initial' breakpoint or first defined value
|
|
314
|
+
if (typeof bottomProps.open === 'object') {
|
|
315
|
+
const val = bottomProps.open.initial ?? Object.values(bottomProps.open)[0];
|
|
316
|
+
return val ? 'expanded' : 'collapsed';
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// Check defaultOpen
|
|
320
|
+
if (typeof bottomProps?.defaultOpen !== 'undefined') {
|
|
321
|
+
return bottomProps.defaultOpen ? 'expanded' : 'collapsed';
|
|
322
|
+
}
|
|
323
|
+
return 'collapsed';
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
return {
|
|
327
|
+
leftMode: hasPanelDefaultOpen || hasPanelOpenControlled || hasRailDefaultOpen ? 'expanded' : ('collapsed' as PaneMode),
|
|
328
|
+
panelMode: hasPanelDefaultOpen || hasPanelOpenControlled ? 'expanded' : ('collapsed' as PaneMode),
|
|
329
|
+
sidebarMode: getSidebarInitialState(),
|
|
330
|
+
inspectorMode: hasInspectorDefaultOpen || hasInspectorOpenControlled ? 'expanded' : ('collapsed' as PaneMode),
|
|
331
|
+
bottomMode: getBottomInitialState(),
|
|
332
|
+
};
|
|
333
|
+
});
|
|
334
|
+
const setLeftMode = React.useCallback((mode: PaneMode) => dispatchPane({ type: 'SET_LEFT_MODE', mode }), []);
|
|
335
|
+
const setPanelMode = React.useCallback((mode: PaneMode) => dispatchPane({ type: 'SET_PANEL_MODE', mode }), []);
|
|
336
|
+
const setSidebarMode = React.useCallback((mode: SidebarMode) => dispatchPane({ type: 'SET_SIDEBAR_MODE', mode }), []);
|
|
337
|
+
const setInspectorMode = React.useCallback((mode: PaneMode) => dispatchPane({ type: 'SET_INSPECTOR_MODE', mode }), []);
|
|
338
|
+
const setBottomMode = React.useCallback((mode: PaneMode) => dispatchPane({ type: 'SET_BOTTOM_MODE', mode }), []);
|
|
339
|
+
|
|
340
|
+
// Removed: defaultMode responsiveness and manual change tracking
|
|
341
|
+
|
|
342
|
+
// Composition detection
|
|
343
|
+
const [hasLeft, setHasLeft] = React.useState(false);
|
|
344
|
+
const [hasSidebar, setHasSidebar] = React.useState(false);
|
|
345
|
+
|
|
346
|
+
// Customizable sidebar toggle sequencing
|
|
347
|
+
const sidebarToggleComputerRef = React.useRef<(current: SidebarMode) => SidebarMode>((current) => (current === 'collapsed' ? 'thin' : current === 'thin' ? 'expanded' : 'collapsed'));
|
|
348
|
+
const setSidebarToggleComputer = React.useCallback((fn: (current: SidebarMode) => SidebarMode) => {
|
|
349
|
+
sidebarToggleComputerRef.current = fn;
|
|
350
|
+
}, []);
|
|
351
|
+
|
|
352
|
+
// Reducer handles left→panel cascade; no effect needed
|
|
353
|
+
|
|
354
|
+
// Composition validation
|
|
355
|
+
React.useLayoutEffect(() => {
|
|
356
|
+
if (hasSidebar && hasLeft) {
|
|
357
|
+
console.warn('Shell: Sidebar cannot coexist with Rail or Panel. Use either Rail+Panel OR Sidebar.');
|
|
358
|
+
}
|
|
359
|
+
}, [hasSidebar, hasLeft]);
|
|
360
|
+
|
|
361
|
+
// Left presentation + defaults from children
|
|
362
|
+
const [devLeftPres, setDevLeftPres] = React.useState<PresentationValue | undefined>(undefined);
|
|
363
|
+
const onLeftPres = React.useCallback((p: PresentationValue) => setDevLeftPres(p), []);
|
|
364
|
+
const railDefaultSizeRef = React.useRef<number>(64);
|
|
365
|
+
const panelDefaultSizeRef = React.useRef<number>(288);
|
|
366
|
+
const onRailDefaults = React.useCallback((size: number) => {
|
|
367
|
+
railDefaultSizeRef.current = size;
|
|
368
|
+
}, []);
|
|
369
|
+
const onPanelDefaults = React.useCallback((size: number) => {
|
|
370
|
+
panelDefaultSizeRef.current = size;
|
|
371
|
+
}, []);
|
|
372
|
+
|
|
373
|
+
// Determine children presence for left composition
|
|
374
|
+
const hasLeftChildren = React.useMemo(() => {
|
|
375
|
+
const childArray = React.Children.toArray(children) as React.ReactElement[];
|
|
376
|
+
return childArray.some((el) => isShellComponentType(el, Rail) || isShellComponentType(el, Panel));
|
|
377
|
+
}, [children]);
|
|
378
|
+
|
|
379
|
+
const hasSidebarChildren = React.useMemo(() => {
|
|
380
|
+
const childArray = React.Children.toArray(children) as React.ReactElement[];
|
|
381
|
+
return childArray.some((el) => isShellComponentType(el, Sidebar));
|
|
382
|
+
}, [children]);
|
|
383
|
+
|
|
384
|
+
// Keep a ref to sidebar mode so togglePane doesn't depend on it,
|
|
385
|
+
// preventing ActionsContext churn on every sidebar mode change
|
|
386
|
+
const sidebarModeRef = React.useRef(paneState.sidebarMode);
|
|
387
|
+
sidebarModeRef.current = paneState.sidebarMode;
|
|
388
|
+
|
|
389
|
+
const togglePane = React.useCallback(
|
|
390
|
+
(target: PaneTarget) => {
|
|
391
|
+
if (target === 'sidebar') {
|
|
392
|
+
const next = sidebarToggleComputerRef.current(sidebarModeRef.current as SidebarMode);
|
|
393
|
+
setSidebarMode(next);
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
dispatchPane({ type: 'TOGGLE_PANE', target });
|
|
397
|
+
},
|
|
398
|
+
[setSidebarMode],
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
const expandPane = React.useCallback(
|
|
402
|
+
(target: PaneTarget) => {
|
|
403
|
+
if (target === 'sidebar') return setSidebarMode('expanded');
|
|
404
|
+
dispatchPane({ type: 'EXPAND_PANE', target });
|
|
405
|
+
},
|
|
406
|
+
[setSidebarMode],
|
|
407
|
+
);
|
|
408
|
+
|
|
409
|
+
const collapsePane = React.useCallback(
|
|
410
|
+
(target: PaneTarget) => {
|
|
411
|
+
if (target === 'sidebar') return setSidebarMode('collapsed');
|
|
412
|
+
dispatchPane({ type: 'COLLAPSE_PANE', target });
|
|
413
|
+
},
|
|
414
|
+
[setSidebarMode],
|
|
415
|
+
);
|
|
416
|
+
|
|
417
|
+
const baseContextValue = React.useMemo(
|
|
418
|
+
() => ({
|
|
419
|
+
leftMode: paneState.leftMode,
|
|
420
|
+
setLeftMode,
|
|
421
|
+
panelMode: paneState.panelMode,
|
|
422
|
+
setPanelMode,
|
|
423
|
+
sidebarMode: paneState.sidebarMode,
|
|
424
|
+
setSidebarMode,
|
|
425
|
+
inspectorMode: paneState.inspectorMode,
|
|
426
|
+
setInspectorMode,
|
|
427
|
+
bottomMode: paneState.bottomMode,
|
|
428
|
+
setBottomMode,
|
|
429
|
+
hasLeft,
|
|
430
|
+
setHasLeft,
|
|
431
|
+
hasSidebar,
|
|
432
|
+
setHasSidebar,
|
|
433
|
+
currentBreakpoint,
|
|
434
|
+
currentBreakpointReady,
|
|
435
|
+
leftResolvedPresentation: devLeftPres,
|
|
436
|
+
togglePane,
|
|
437
|
+
expandPane,
|
|
438
|
+
collapsePane,
|
|
439
|
+
setSidebarToggleComputer,
|
|
440
|
+
onLeftPres,
|
|
441
|
+
onRailDefaults,
|
|
442
|
+
onPanelDefaults,
|
|
443
|
+
}),
|
|
444
|
+
[
|
|
445
|
+
paneState.leftMode,
|
|
446
|
+
setLeftMode,
|
|
447
|
+
paneState.panelMode,
|
|
448
|
+
setPanelMode,
|
|
449
|
+
paneState.sidebarMode,
|
|
450
|
+
setSidebarMode,
|
|
451
|
+
paneState.inspectorMode,
|
|
452
|
+
setInspectorMode,
|
|
453
|
+
paneState.bottomMode,
|
|
454
|
+
setBottomMode,
|
|
455
|
+
hasLeft,
|
|
456
|
+
hasSidebar,
|
|
457
|
+
currentBreakpoint,
|
|
458
|
+
currentBreakpointReady,
|
|
459
|
+
devLeftPres,
|
|
460
|
+
togglePane,
|
|
461
|
+
expandPane,
|
|
462
|
+
collapsePane,
|
|
463
|
+
setSidebarToggleComputer,
|
|
464
|
+
onLeftPres,
|
|
465
|
+
onRailDefaults,
|
|
466
|
+
onPanelDefaults,
|
|
467
|
+
],
|
|
468
|
+
);
|
|
469
|
+
|
|
470
|
+
// Organize children by type — single pass instead of 7 filter calls
|
|
471
|
+
const { headerEls, railEls, panelEls, sidebarEls, contentEls, inspectorEls, bottomEls } = React.useMemo(() => {
|
|
472
|
+
const result = {
|
|
473
|
+
headerEls: [] as React.ReactElement[],
|
|
474
|
+
railEls: [] as React.ReactElement[],
|
|
475
|
+
panelEls: [] as React.ReactElement[],
|
|
476
|
+
sidebarEls: [] as React.ReactElement[],
|
|
477
|
+
contentEls: [] as React.ReactElement[],
|
|
478
|
+
inspectorEls: [] as React.ReactElement[],
|
|
479
|
+
bottomEls: [] as React.ReactElement[],
|
|
480
|
+
};
|
|
481
|
+
for (const el of React.Children.toArray(children) as React.ReactElement[]) {
|
|
482
|
+
if (isShellComponentType(el, Header)) result.headerEls.push(el);
|
|
483
|
+
else if (isShellComponentType(el, Rail)) result.railEls.push(el);
|
|
484
|
+
else if (isShellComponentType(el, Panel)) result.panelEls.push(el);
|
|
485
|
+
else if (isShellComponentType(el, Sidebar)) result.sidebarEls.push(el);
|
|
486
|
+
else if (isShellComponentType(el, Content)) result.contentEls.push(el);
|
|
487
|
+
else if (isShellComponentType(el, Inspector)) result.inspectorEls.push(el);
|
|
488
|
+
else if (isShellComponentType(el, Bottom)) result.bottomEls.push(el);
|
|
489
|
+
}
|
|
490
|
+
return result;
|
|
491
|
+
}, [children]);
|
|
492
|
+
|
|
493
|
+
// Controlled sync in Root: mirror first Rail/Panel open if provided
|
|
494
|
+
const firstRailOpen = (railEls[0] as any)?.props?.open;
|
|
495
|
+
const resolvedFirstRailOpen = React.useMemo(() => {
|
|
496
|
+
if (typeof firstRailOpen === 'undefined') return undefined;
|
|
497
|
+
if (typeof firstRailOpen === 'boolean') return firstRailOpen;
|
|
498
|
+
if (typeof firstRailOpen !== 'object' || firstRailOpen === null) return Boolean(firstRailOpen);
|
|
499
|
+
|
|
500
|
+
const responsive = firstRailOpen as Partial<Record<Breakpoint, boolean>>;
|
|
501
|
+
if (responsive[currentBreakpoint] !== undefined) return responsive[currentBreakpoint];
|
|
502
|
+
|
|
503
|
+
const fallbackOrder: Breakpoint[] = ['xl', 'lg', 'md', 'sm', 'xs', 'initial'];
|
|
504
|
+
const startIdx = fallbackOrder.indexOf(currentBreakpoint);
|
|
505
|
+
for (let i = startIdx + 1; i < fallbackOrder.length; i++) {
|
|
506
|
+
const bp = fallbackOrder[i];
|
|
507
|
+
if (responsive[bp] !== undefined) return responsive[bp];
|
|
508
|
+
}
|
|
509
|
+
return undefined;
|
|
510
|
+
}, [firstRailOpen, currentBreakpoint]);
|
|
511
|
+
|
|
512
|
+
const firstPanelOpen = (panelEls[0] as any)?.props?.open;
|
|
513
|
+
const resolvedFirstPanelOpen = React.useMemo(() => {
|
|
514
|
+
if (typeof firstPanelOpen === 'undefined') return undefined;
|
|
515
|
+
if (typeof firstPanelOpen === 'boolean') return firstPanelOpen;
|
|
516
|
+
if (typeof firstPanelOpen !== 'object' || firstPanelOpen === null) return Boolean(firstPanelOpen);
|
|
517
|
+
|
|
518
|
+
const responsive = firstPanelOpen as Partial<Record<Breakpoint, boolean>>;
|
|
519
|
+
if (responsive[currentBreakpoint] !== undefined) return responsive[currentBreakpoint];
|
|
520
|
+
|
|
521
|
+
const fallbackOrder: Breakpoint[] = ['xl', 'lg', 'md', 'sm', 'xs', 'initial'];
|
|
522
|
+
const startIdx = fallbackOrder.indexOf(currentBreakpoint);
|
|
523
|
+
for (let i = startIdx + 1; i < fallbackOrder.length; i++) {
|
|
524
|
+
const bp = fallbackOrder[i];
|
|
525
|
+
if (responsive[bp] !== undefined) return responsive[bp];
|
|
526
|
+
}
|
|
527
|
+
return undefined;
|
|
528
|
+
}, [firstPanelOpen, currentBreakpoint]);
|
|
529
|
+
|
|
530
|
+
const controlSeqRef = React.useRef(0);
|
|
531
|
+
const lastRailChangeRef = React.useRef(0);
|
|
532
|
+
const lastPanelChangeRef = React.useRef(0);
|
|
533
|
+
const lastRailOpenRef = React.useRef<boolean | undefined>(resolvedFirstRailOpen);
|
|
534
|
+
const lastPanelOpenRef = React.useRef<boolean | undefined>(resolvedFirstPanelOpen);
|
|
535
|
+
|
|
536
|
+
React.useLayoutEffect(() => {
|
|
537
|
+
if (resolvedFirstRailOpen === undefined) {
|
|
538
|
+
lastRailOpenRef.current = undefined;
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
if (lastRailOpenRef.current === resolvedFirstRailOpen) return;
|
|
542
|
+
lastRailOpenRef.current = resolvedFirstRailOpen;
|
|
543
|
+
lastRailChangeRef.current = ++controlSeqRef.current;
|
|
544
|
+
}, [resolvedFirstRailOpen]);
|
|
545
|
+
|
|
546
|
+
React.useLayoutEffect(() => {
|
|
547
|
+
if (resolvedFirstPanelOpen === undefined) {
|
|
548
|
+
lastPanelOpenRef.current = undefined;
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
if (lastPanelOpenRef.current === resolvedFirstPanelOpen) return;
|
|
552
|
+
lastPanelOpenRef.current = resolvedFirstPanelOpen;
|
|
553
|
+
lastPanelChangeRef.current = ++controlSeqRef.current;
|
|
554
|
+
}, [resolvedFirstPanelOpen]);
|
|
555
|
+
|
|
556
|
+
React.useLayoutEffect(() => {
|
|
557
|
+
if (typeof resolvedFirstRailOpen === 'undefined') return;
|
|
558
|
+
setLeftMode(resolvedFirstRailOpen ? 'expanded' : 'collapsed');
|
|
559
|
+
}, [resolvedFirstRailOpen, setLeftMode]);
|
|
560
|
+
|
|
561
|
+
const railOnOpenChange = (railEls[0] as any)?.props?.onOpenChange as
|
|
562
|
+
| ((open: boolean, meta: { reason: 'init' | 'toggle' | 'responsive' | 'panel' }) => void)
|
|
563
|
+
| undefined;
|
|
564
|
+
const panelOnOpenChange = (panelEls[0] as any)?.props?.onOpenChange as
|
|
565
|
+
| ((open: boolean, meta: { reason: 'toggle' | 'left' | 'init' | 'responsive' }) => void)
|
|
566
|
+
| undefined;
|
|
567
|
+
const lastConflictRef = React.useRef<{ railSeq: number; panelSeq: number; action: 'open-rail' | 'close-panel' } | null>(null);
|
|
568
|
+
|
|
569
|
+
React.useLayoutEffect(() => {
|
|
570
|
+
if (resolvedFirstRailOpen !== false || resolvedFirstPanelOpen !== true) {
|
|
571
|
+
lastConflictRef.current = null;
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
const panelWins = lastPanelChangeRef.current > lastRailChangeRef.current;
|
|
576
|
+
const action: 'open-rail' | 'close-panel' = panelWins ? 'open-rail' : 'close-panel';
|
|
577
|
+
const lastConflict = lastConflictRef.current;
|
|
578
|
+
if (lastConflict && lastConflict.railSeq === lastRailChangeRef.current && lastConflict.panelSeq === lastPanelChangeRef.current && lastConflict.action === action) {
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
lastConflictRef.current = { railSeq: lastRailChangeRef.current, panelSeq: lastPanelChangeRef.current, action };
|
|
582
|
+
|
|
583
|
+
if (panelWins) {
|
|
584
|
+
railOnOpenChange?.(true, { reason: 'panel' });
|
|
585
|
+
} else {
|
|
586
|
+
panelOnOpenChange?.(false, { reason: 'left' });
|
|
587
|
+
}
|
|
588
|
+
}, [resolvedFirstRailOpen, resolvedFirstPanelOpen, railOnOpenChange, panelOnOpenChange]);
|
|
589
|
+
|
|
590
|
+
const leftControlledOpen = resolvedFirstRailOpen;
|
|
591
|
+
|
|
592
|
+
const heightStyle = React.useMemo(() => {
|
|
593
|
+
if (height === 'full') return { height: '100vh' };
|
|
594
|
+
if (height === 'auto') return { height: 'auto' };
|
|
595
|
+
if (typeof height === 'string') return { height };
|
|
596
|
+
if (typeof height === 'number') return { height: `${height}px` };
|
|
597
|
+
return {};
|
|
598
|
+
}, [height]);
|
|
599
|
+
|
|
600
|
+
// Peek state (layout-only overlay without mode changes)
|
|
601
|
+
const [peekTarget, setPeekTarget] = React.useState<PaneTarget | null>(null);
|
|
602
|
+
const peekPane = React.useCallback((target: PaneTarget) => setPeekTarget(target), []);
|
|
603
|
+
const clearPeek = React.useCallback(() => setPeekTarget(null), []);
|
|
604
|
+
|
|
605
|
+
// Memoized slice context values to avoid notifying unrelated consumers
|
|
606
|
+
const presentationCtxValue = React.useMemo(() => ({ currentBreakpoint, currentBreakpointReady, leftResolvedPresentation: devLeftPres }), [currentBreakpoint, currentBreakpointReady, devLeftPres]);
|
|
607
|
+
const leftModeCtxValue = React.useMemo(() => ({ leftMode: paneState.leftMode, setLeftMode }), [paneState.leftMode, setLeftMode]);
|
|
608
|
+
const panelModeCtxValue = React.useMemo(() => ({ panelMode: paneState.panelMode, setPanelMode }), [paneState.panelMode, setPanelMode]);
|
|
609
|
+
const sidebarModeCtxValue = React.useMemo(() => ({ sidebarMode: paneState.sidebarMode, setSidebarMode }), [paneState.sidebarMode, setSidebarMode]);
|
|
610
|
+
const inspectorModeCtxValue = React.useMemo(() => ({ inspectorMode: paneState.inspectorMode, setInspectorMode }), [paneState.inspectorMode, setInspectorMode]);
|
|
611
|
+
const bottomModeCtxValue = React.useMemo(() => ({ bottomMode: paneState.bottomMode, setBottomMode }), [paneState.bottomMode, setBottomMode]);
|
|
612
|
+
const compositionCtxValue = React.useMemo(() => ({ hasLeft, setHasLeft, hasSidebar, setHasSidebar }), [hasLeft, setHasLeft, hasSidebar, setHasSidebar]);
|
|
613
|
+
|
|
614
|
+
// Inset state management
|
|
615
|
+
const [insetPanes, setInsetPanes] = React.useState<Set<InsetPaneId>>(new Set());
|
|
616
|
+
const registerInset = React.useCallback((id: InsetPaneId) => {
|
|
617
|
+
setInsetPanes((prev) => {
|
|
618
|
+
if (prev.has(id)) return prev;
|
|
619
|
+
const next = new Set(prev);
|
|
620
|
+
next.add(id);
|
|
621
|
+
return next;
|
|
622
|
+
});
|
|
623
|
+
}, []);
|
|
624
|
+
const unregisterInset = React.useCallback((id: InsetPaneId) => {
|
|
625
|
+
setInsetPanes((prev) => {
|
|
626
|
+
if (!prev.has(id)) return prev;
|
|
627
|
+
const next = new Set(prev);
|
|
628
|
+
next.delete(id);
|
|
629
|
+
return next;
|
|
630
|
+
});
|
|
631
|
+
}, []);
|
|
632
|
+
const hasAnyInset = insetPanes.size > 0;
|
|
633
|
+
const insetCtxValue = React.useMemo(
|
|
634
|
+
() => ({ insetPanes, registerInset, unregisterInset, hasAnyInset }),
|
|
635
|
+
[insetPanes, registerInset, unregisterInset, hasAnyInset],
|
|
636
|
+
);
|
|
637
|
+
const peekCtxValue = React.useMemo(() => ({ peekTarget, setPeekTarget, peekPane, clearPeek }), [peekTarget, setPeekTarget, peekPane, clearPeek]);
|
|
638
|
+
const actionsCtxValue = React.useMemo(() => ({ togglePane, expandPane, collapsePane, setSidebarToggleComputer }), [togglePane, expandPane, collapsePane, setSidebarToggleComputer]);
|
|
639
|
+
|
|
640
|
+
// Memoized full context value for ShellProvider to prevent unnecessary effect re-runs
|
|
641
|
+
const shellContextValue = React.useMemo(
|
|
642
|
+
() => ({
|
|
643
|
+
...baseContextValue,
|
|
644
|
+
leftControlledOpen,
|
|
645
|
+
peekTarget,
|
|
646
|
+
setPeekTarget,
|
|
647
|
+
peekPane,
|
|
648
|
+
clearPeek,
|
|
649
|
+
}),
|
|
650
|
+
[baseContextValue, leftControlledOpen, peekTarget, setPeekTarget, peekPane, clearPeek],
|
|
651
|
+
);
|
|
652
|
+
|
|
653
|
+
// Memoize the Left content to avoid recreating the IIFE on every render
|
|
654
|
+
const leftContent = React.useMemo(() => {
|
|
655
|
+
if (!hasLeftChildren || hasSidebarChildren) return null;
|
|
656
|
+
const firstRail = railEls[0] as any;
|
|
657
|
+
const firstPanel = panelEls[0] as any;
|
|
658
|
+
const leftInset = Boolean(firstRail?.props?.inset) || Boolean(firstPanel?.props?.inset);
|
|
659
|
+
const passthroughProps = firstRail
|
|
660
|
+
? {
|
|
661
|
+
// Notification passthrough used by Left; not spread to DOM in Left
|
|
662
|
+
onOpenChange: firstRail.props?.onOpenChange,
|
|
663
|
+
open: firstRail.props?.open,
|
|
664
|
+
defaultOpen: firstRail.props?.defaultOpen,
|
|
665
|
+
presentation: firstRail.props?.presentation,
|
|
666
|
+
collapsible: firstRail.props?.collapsible,
|
|
667
|
+
onExpand: firstRail.props?.onExpand,
|
|
668
|
+
onCollapse: firstRail.props?.onCollapse,
|
|
669
|
+
inset: leftInset,
|
|
670
|
+
}
|
|
671
|
+
: { defaultOpen: hasPanelDefaultOpenRef.current ? true : undefined, inset: leftInset };
|
|
672
|
+
return (
|
|
673
|
+
<Left {...(passthroughProps as any)}>
|
|
674
|
+
{railEls}
|
|
675
|
+
{panelEls}
|
|
676
|
+
</Left>
|
|
677
|
+
);
|
|
678
|
+
}, [hasLeftChildren, hasSidebarChildren, railEls, panelEls]);
|
|
679
|
+
|
|
680
|
+
return (
|
|
681
|
+
<div {...props} ref={ref} className={classNames('rt-ShellRoot', className)} style={{ ...heightStyle, ...props.style }}>
|
|
682
|
+
<ShellProvider value={shellContextValue}>
|
|
683
|
+
<PresentationContext.Provider value={presentationCtxValue}>
|
|
684
|
+
<LeftModeContext.Provider value={leftModeCtxValue}>
|
|
685
|
+
<PanelModeContext.Provider value={panelModeCtxValue}>
|
|
686
|
+
<SidebarModeContext.Provider value={sidebarModeCtxValue}>
|
|
687
|
+
<InspectorModeContext.Provider value={inspectorModeCtxValue}>
|
|
688
|
+
<BottomModeContext.Provider value={bottomModeCtxValue}>
|
|
689
|
+
<CompositionContext.Provider value={compositionCtxValue}>
|
|
690
|
+
<PeekContext.Provider value={peekCtxValue}>
|
|
691
|
+
<ActionsContext.Provider value={actionsCtxValue}>
|
|
692
|
+
<InsetContext.Provider value={insetCtxValue}>
|
|
693
|
+
{headerEls}
|
|
694
|
+
<div
|
|
695
|
+
className="rt-ShellBody"
|
|
696
|
+
data-peek-target={peekTarget ?? undefined}
|
|
697
|
+
data-has-inset={hasAnyInset || undefined}
|
|
698
|
+
style={
|
|
699
|
+
peekTarget === 'rail' || peekTarget === 'panel'
|
|
700
|
+
? ({
|
|
701
|
+
'--peek-rail-width': `${railDefaultSizeRef.current}px`,
|
|
702
|
+
} as CSSPropertiesWithVars)
|
|
703
|
+
: undefined
|
|
704
|
+
}
|
|
705
|
+
>
|
|
706
|
+
{leftContent ?? sidebarEls}
|
|
707
|
+
{contentEls}
|
|
708
|
+
{inspectorEls}
|
|
709
|
+
</div>
|
|
710
|
+
{bottomEls}
|
|
711
|
+
</InsetContext.Provider>
|
|
712
|
+
</ActionsContext.Provider>
|
|
713
|
+
</PeekContext.Provider>
|
|
714
|
+
</CompositionContext.Provider>
|
|
715
|
+
</BottomModeContext.Provider>
|
|
716
|
+
</InspectorModeContext.Provider>
|
|
717
|
+
</SidebarModeContext.Provider>
|
|
718
|
+
</PanelModeContext.Provider>
|
|
719
|
+
</LeftModeContext.Provider>
|
|
720
|
+
</PresentationContext.Provider>
|
|
721
|
+
</ShellProvider>
|
|
722
|
+
</div>
|
|
723
|
+
);
|
|
724
|
+
}) as PanelComponent;
|
|
725
|
+
Root.displayName = 'Shell.Root';
|
|
726
|
+
|
|
727
|
+
// Header
|
|
728
|
+
interface ShellHeaderProps extends React.ComponentPropsWithoutRef<'header'> {
|
|
729
|
+
height?: number;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
const Header = React.forwardRef<HTMLElement, ShellHeaderProps>(({ className, height = 64, style, ...props }, ref) => (
|
|
733
|
+
<header
|
|
734
|
+
{...props}
|
|
735
|
+
ref={ref}
|
|
736
|
+
className={classNames('rt-ShellHeader', className)}
|
|
737
|
+
style={{
|
|
738
|
+
...style,
|
|
739
|
+
'--shell-header-height': `${height}px`,
|
|
740
|
+
} as CSSPropertiesWithVars}
|
|
741
|
+
/>
|
|
742
|
+
));
|
|
743
|
+
Header.displayName = 'Shell.Header';
|
|
744
|
+
|
|
745
|
+
// Pane Props Interface (shared by Panel, Sidebar, Inspector, Bottom)
|
|
746
|
+
type PaneProps = PaneBaseProps;
|
|
747
|
+
|
|
748
|
+
// Left container (auto-created for Rail+Panel)
|
|
749
|
+
interface LeftProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
750
|
+
presentation?: ResponsivePresentation;
|
|
751
|
+
// New: passthrough from Rail
|
|
752
|
+
open?: boolean;
|
|
753
|
+
defaultOpen?: boolean;
|
|
754
|
+
onOpenChange?: (open: boolean, meta: { reason: 'init' | 'toggle' | 'panel' | 'responsive' }) => void;
|
|
755
|
+
collapsible?: boolean;
|
|
756
|
+
onExpand?: () => void;
|
|
757
|
+
onCollapse?: () => void;
|
|
758
|
+
mode?: never;
|
|
759
|
+
defaultMode?: never;
|
|
760
|
+
onModeChange?: never;
|
|
761
|
+
/** When true, adds margin and triggers gray backdrop on Shell. */
|
|
762
|
+
inset?: boolean;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
// Rail (special case)
|
|
766
|
+
type LeftOpenChangeMeta = { reason: 'init' | 'toggle' | 'responsive' | 'panel' };
|
|
767
|
+
|
|
768
|
+
type RailControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: LeftOpenChangeMeta) => void; defaultOpen?: never };
|
|
769
|
+
type RailUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: LeftOpenChangeMeta) => void; open?: never };
|
|
770
|
+
|
|
771
|
+
type RailProps = React.ComponentPropsWithoutRef<'div'> & {
|
|
772
|
+
presentation?: ResponsivePresentation;
|
|
773
|
+
expandedSize?: number;
|
|
774
|
+
collapsible?: boolean;
|
|
775
|
+
onExpand?: () => void;
|
|
776
|
+
onCollapse?: () => void;
|
|
777
|
+
/** When true, adds margin to Rail+Panel and triggers gray backdrop on Shell. */
|
|
778
|
+
inset?: boolean;
|
|
779
|
+
} & (RailControlledProps | RailUncontrolledProps);
|
|
780
|
+
|
|
781
|
+
// Left container - behaves like Inspector but contains Rail+Panel
|
|
782
|
+
const LEFT_DOM_OMIT_PROPS = ['open', 'defaultOpen', 'onOpenChange', 'mode', 'defaultMode', 'onModeChange'] as const;
|
|
783
|
+
|
|
784
|
+
const Left = React.forwardRef<HTMLDivElement, LeftProps>((initialProps, ref) => {
|
|
785
|
+
const { className, presentation = { initial: 'fixed', sm: 'fixed' }, collapsible: _collapsible = true, onExpand, onCollapse, children, style, inset, ...restProps } = initialProps;
|
|
786
|
+
const { registerInset, unregisterInset } = useInset();
|
|
787
|
+
|
|
788
|
+
// Register/unregister inset
|
|
789
|
+
React.useEffect(() => {
|
|
790
|
+
if (inset) {
|
|
791
|
+
registerInset('left');
|
|
792
|
+
return () => unregisterInset('left');
|
|
793
|
+
}
|
|
794
|
+
}, [inset, registerInset, unregisterInset]);
|
|
795
|
+
const propsOpen = restProps.open;
|
|
796
|
+
const propsDefaultOpen = restProps.defaultOpen;
|
|
797
|
+
const propsOnOpenChange = restProps.onOpenChange;
|
|
798
|
+
const domProps = omitPaneProps(restProps, LEFT_DOM_OMIT_PROPS);
|
|
799
|
+
const shell = useShell();
|
|
800
|
+
const { setHasLeft } = shell;
|
|
801
|
+
const resolvedPresentation = useResponsivePresentation(presentation);
|
|
802
|
+
const isOverlay = resolvedPresentation === 'overlay';
|
|
803
|
+
const isStacked = resolvedPresentation === 'stacked';
|
|
804
|
+
const localRef = React.useRef<HTMLDivElement | null>(null);
|
|
805
|
+
// Publish resolved presentation so Root can gate peeking in overlay
|
|
806
|
+
React.useEffect(() => {
|
|
807
|
+
shell.onLeftPres?.(resolvedPresentation);
|
|
808
|
+
}, [shell, resolvedPresentation]);
|
|
809
|
+
const setRef = React.useCallback(
|
|
810
|
+
(node: HTMLDivElement | null) => {
|
|
811
|
+
localRef.current = node;
|
|
812
|
+
if (typeof ref === 'function') ref(node);
|
|
813
|
+
else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;
|
|
814
|
+
},
|
|
815
|
+
[ref],
|
|
816
|
+
);
|
|
817
|
+
|
|
818
|
+
// Register with shell
|
|
819
|
+
React.useEffect(() => {
|
|
820
|
+
setHasLeft(true);
|
|
821
|
+
return () => setHasLeft(false);
|
|
822
|
+
}, [setHasLeft]);
|
|
823
|
+
|
|
824
|
+
const lastLeftModeRef = React.useRef<PaneMode | null>(null);
|
|
825
|
+
const lastResolvedLeftControlledRef = React.useRef<PaneMode | undefined>(undefined);
|
|
826
|
+
const normalizedLeftControlled = React.useMemo(() => {
|
|
827
|
+
if (typeof propsOpen === 'undefined') return undefined;
|
|
828
|
+
return propsOpen ? 'expanded' : 'collapsed';
|
|
829
|
+
}, [propsOpen]);
|
|
830
|
+
const normalizedLeftDefault = React.useMemo(() => mapResponsiveBooleanToPaneMode(propsDefaultOpen), [propsDefaultOpen]);
|
|
831
|
+
|
|
832
|
+
// Stable refs for notification callbacks to avoid effect dep churn
|
|
833
|
+
const propsOnOpenChangeRef = React.useRef(propsOnOpenChange);
|
|
834
|
+
const propsOpenRef = React.useRef(propsOpen);
|
|
835
|
+
React.useLayoutEffect(() => {
|
|
836
|
+
propsOnOpenChangeRef.current = propsOnOpenChange;
|
|
837
|
+
propsOpenRef.current = propsOpen;
|
|
838
|
+
});
|
|
839
|
+
|
|
840
|
+
const { resolvedControlled: resolvedLeftControlled } = useResponsiveInitialState<PaneMode>({
|
|
841
|
+
controlledValue: normalizedLeftControlled,
|
|
842
|
+
defaultValue: normalizedLeftDefault,
|
|
843
|
+
currentValue: shell.leftMode,
|
|
844
|
+
setValue: shell.setLeftMode,
|
|
845
|
+
breakpointReady: shell.currentBreakpointReady,
|
|
846
|
+
onInit: (initial) => propsOnOpenChangeRef.current?.(initial === 'expanded', { reason: 'init' }),
|
|
847
|
+
});
|
|
848
|
+
|
|
849
|
+
// Emit mode changes for user/internal transitions.
|
|
850
|
+
// In controlled mode, skip when the mode matches the controlled prop (prop-driven sync).
|
|
851
|
+
const prevPanelModeRef = React.useRef<PaneMode | null>(null);
|
|
852
|
+
React.useEffect(() => {
|
|
853
|
+
const prevLeftMode = lastLeftModeRef.current;
|
|
854
|
+
const prevPanelMode = prevPanelModeRef.current;
|
|
855
|
+
|
|
856
|
+
const prevResolvedControlled = lastResolvedLeftControlledRef.current;
|
|
857
|
+
const controlledChanged = prevResolvedControlled !== resolvedLeftControlled;
|
|
858
|
+
|
|
859
|
+
if (prevLeftMode !== null && prevLeftMode !== shell.leftMode) {
|
|
860
|
+
const isControlled = typeof propsOpenRef.current !== 'undefined';
|
|
861
|
+
const controlledTarget = resolvedLeftControlled === undefined ? undefined : resolvedLeftControlled === 'expanded';
|
|
862
|
+
const nextOpen = shell.leftMode === 'expanded';
|
|
863
|
+
|
|
864
|
+
// In controlled mode, only notify when internal mode diverges from the
|
|
865
|
+
// controlled prop — that means a trigger/cascade changed it, not a prop sync.
|
|
866
|
+
if (!isControlled || (!controlledChanged && nextOpen !== controlledTarget)) {
|
|
867
|
+
let reason: LeftOpenChangeMeta['reason'] = 'toggle';
|
|
868
|
+
const panelDrivenOpen = prevPanelMode !== null && prevPanelMode !== shell.panelMode && prevLeftMode === 'collapsed' && shell.leftMode === 'expanded' && shell.panelMode === 'expanded';
|
|
869
|
+
if (panelDrivenOpen) {
|
|
870
|
+
reason = 'panel';
|
|
871
|
+
}
|
|
872
|
+
propsOnOpenChangeRef.current?.(nextOpen, { reason });
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
lastLeftModeRef.current = shell.leftMode;
|
|
877
|
+
prevPanelModeRef.current = shell.panelMode;
|
|
878
|
+
lastResolvedLeftControlledRef.current = resolvedLeftControlled;
|
|
879
|
+
}, [shell.leftMode, shell.panelMode, resolvedLeftControlled]);
|
|
880
|
+
|
|
881
|
+
// Emit expand/collapse events.
|
|
882
|
+
// Use callback refs to avoid re-running effect when inline callbacks change,
|
|
883
|
+
// matching the pattern used by Inspector and Bottom.
|
|
884
|
+
const onExpandRef = React.useRef(onExpand);
|
|
885
|
+
const onCollapseRef = React.useRef(onCollapse);
|
|
886
|
+
React.useLayoutEffect(() => {
|
|
887
|
+
onExpandRef.current = onExpand;
|
|
888
|
+
onCollapseRef.current = onCollapse;
|
|
889
|
+
});
|
|
890
|
+
|
|
891
|
+
const prevLeftModeForCallbackRef = React.useRef<PaneMode | null>(null);
|
|
892
|
+
const hasLeftInitializedRef = React.useRef(false);
|
|
893
|
+
React.useEffect(() => {
|
|
894
|
+
const currentMode = shell.leftMode;
|
|
895
|
+
|
|
896
|
+
if (!shell.currentBreakpointReady) {
|
|
897
|
+
prevLeftModeForCallbackRef.current = currentMode;
|
|
898
|
+
return;
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
if (!hasLeftInitializedRef.current) {
|
|
902
|
+
hasLeftInitializedRef.current = true;
|
|
903
|
+
prevLeftModeForCallbackRef.current = currentMode;
|
|
904
|
+
return;
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
const prevMode = prevLeftModeForCallbackRef.current;
|
|
908
|
+
|
|
909
|
+
if (prevMode !== null && prevMode !== currentMode) {
|
|
910
|
+
if (currentMode === 'expanded') {
|
|
911
|
+
onExpandRef.current?.();
|
|
912
|
+
} else if (currentMode === 'collapsed') {
|
|
913
|
+
onCollapseRef.current?.();
|
|
914
|
+
}
|
|
915
|
+
prevLeftModeForCallbackRef.current = currentMode;
|
|
916
|
+
}
|
|
917
|
+
}, [shell.leftMode, shell.currentBreakpointReady]);
|
|
918
|
+
|
|
919
|
+
const _isExpanded = shell.leftMode === 'expanded';
|
|
920
|
+
|
|
921
|
+
// Left is not resizable; width derives from Rail/Panel.
|
|
922
|
+
|
|
923
|
+
if (isOverlay) {
|
|
924
|
+
const open = shell.leftMode === 'expanded';
|
|
925
|
+
// Compute overlay width from child Rail/Panel expanded sizes
|
|
926
|
+
const childArray = React.Children.toArray(children) as React.ReactElement[];
|
|
927
|
+
const railEl = childArray.find((el) => isShellComponentType(el, Rail));
|
|
928
|
+
const panelEl = childArray.find((el) => isShellComponentType(el, Panel));
|
|
929
|
+
const railSize = typeof (railEl as any)?.props?.expandedSize === 'number' ? (railEl as any).props.expandedSize : 64;
|
|
930
|
+
const panelSize = typeof (panelEl as any)?.props?.expandedSize === 'number' ? (panelEl as any).props.expandedSize : 288;
|
|
931
|
+
const hasRail = Boolean(railEl);
|
|
932
|
+
const hasPanel = Boolean(panelEl);
|
|
933
|
+
const overlayPx = (hasRail ? railSize : 0) + (shell.panelMode === 'expanded' && hasPanel ? panelSize : 0);
|
|
934
|
+
return (
|
|
935
|
+
<Sheet.Root open={open} onOpenChange={(o) => shell.setLeftMode(o ? 'expanded' : 'collapsed')}>
|
|
936
|
+
<Sheet.Content
|
|
937
|
+
side="start"
|
|
938
|
+
style={{ padding: 0 }}
|
|
939
|
+
aria-label="Navigation"
|
|
940
|
+
aria-describedby={undefined}
|
|
941
|
+
width={{
|
|
942
|
+
initial: `${overlayPx}px`,
|
|
943
|
+
}}
|
|
944
|
+
>
|
|
945
|
+
<VisuallyHidden>
|
|
946
|
+
<Sheet.Title>Navigation</Sheet.Title>
|
|
947
|
+
</VisuallyHidden>
|
|
948
|
+
<div className="rt-ShellLeft">{children}</div>
|
|
949
|
+
</Sheet.Content>
|
|
950
|
+
</Sheet.Root>
|
|
951
|
+
);
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
if (isStacked) {
|
|
955
|
+
const open = shell.leftMode === 'expanded';
|
|
956
|
+
// Compute floating width from child Rail/Panel expanded sizes (like overlay)
|
|
957
|
+
const childArray = React.Children.toArray(children) as React.ReactElement[];
|
|
958
|
+
const railEl = childArray.find((el) => isShellComponentType(el, Rail));
|
|
959
|
+
const panelEl = childArray.find((el) => isShellComponentType(el, Panel));
|
|
960
|
+
const _railSize = typeof (railEl as any)?.props?.expandedSize === 'number' ? (railEl as any).props.expandedSize : 64;
|
|
961
|
+
const _panelSize = typeof (panelEl as any)?.props?.expandedSize === 'number' ? (panelEl as any).props.expandedSize : 288;
|
|
962
|
+
const _hasRail = Boolean(railEl);
|
|
963
|
+
const _hasPanel = Boolean(panelEl);
|
|
964
|
+
const _includePanel = _hasPanel && (shell.panelMode === 'expanded' || shell.peekTarget === 'panel');
|
|
965
|
+
|
|
966
|
+
// Strip control props from DOM spread
|
|
967
|
+
return (
|
|
968
|
+
<div
|
|
969
|
+
{...domProps}
|
|
970
|
+
ref={setRef}
|
|
971
|
+
className={classNames('rt-ShellLeft', className)}
|
|
972
|
+
data-mode={shell.leftMode}
|
|
973
|
+
data-peek={shell.peekTarget === 'left' || shell.peekTarget === 'rail' || shell.peekTarget === 'panel' || undefined}
|
|
974
|
+
data-presentation={resolvedPresentation}
|
|
975
|
+
data-inset={inset || undefined}
|
|
976
|
+
style={{
|
|
977
|
+
...style,
|
|
978
|
+
}}
|
|
979
|
+
data-open={open || undefined}
|
|
980
|
+
>
|
|
981
|
+
{children}
|
|
982
|
+
</div>
|
|
983
|
+
);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
// Strip control/legacy props from DOM spread
|
|
987
|
+
return (
|
|
988
|
+
<div
|
|
989
|
+
{...domProps}
|
|
990
|
+
ref={setRef}
|
|
991
|
+
className={classNames('rt-ShellLeft', className)}
|
|
992
|
+
data-mode={shell.leftMode}
|
|
993
|
+
data-peek={shell.peekTarget === 'left' || shell.peekTarget === 'rail' || shell.peekTarget === 'panel' || undefined}
|
|
994
|
+
data-presentation={resolvedPresentation}
|
|
995
|
+
data-inset={inset || undefined}
|
|
996
|
+
style={{
|
|
997
|
+
...style,
|
|
998
|
+
}}
|
|
999
|
+
>
|
|
1000
|
+
{children}
|
|
1001
|
+
</div>
|
|
1002
|
+
);
|
|
1003
|
+
});
|
|
1004
|
+
Left.displayName = 'Shell.Left';
|
|
1005
|
+
assignShellSlot(Left as any, 'Shell.Left');
|
|
1006
|
+
|
|
1007
|
+
const Rail = React.forwardRef<HTMLDivElement, RailProps>((initialProps, ref) => {
|
|
1008
|
+
const { className, presentation, expandedSize = 64, collapsible, onExpand, onCollapse, children, style, open, defaultOpen, onOpenChange, inset: _inset, ...domProps } = initialProps;
|
|
1009
|
+
const shell = useShell();
|
|
1010
|
+
|
|
1011
|
+
// Dev guards
|
|
1012
|
+
const wasControlledRef = React.useRef<boolean | null>(null);
|
|
1013
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1014
|
+
if (typeof open !== 'undefined' && typeof defaultOpen !== 'undefined') {
|
|
1015
|
+
console.error('Shell.Rail: Do not pass both `open` and `defaultOpen`. Choose one.');
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
// Warn on controlled/uncontrolled mode switch
|
|
1020
|
+
React.useEffect(() => {
|
|
1021
|
+
const isControlled = typeof open !== 'undefined';
|
|
1022
|
+
if (wasControlledRef.current === null) {
|
|
1023
|
+
wasControlledRef.current = isControlled;
|
|
1024
|
+
return;
|
|
1025
|
+
}
|
|
1026
|
+
if (wasControlledRef.current !== isControlled) {
|
|
1027
|
+
console.warn('Shell.Rail: Switching between controlled and uncontrolled `open` is not supported.');
|
|
1028
|
+
wasControlledRef.current = isControlled;
|
|
1029
|
+
}
|
|
1030
|
+
}, [open]);
|
|
1031
|
+
|
|
1032
|
+
// Register expanded size with Left container
|
|
1033
|
+
React.useEffect(() => {
|
|
1034
|
+
shell.onRailDefaults?.(expandedSize);
|
|
1035
|
+
}, [shell, expandedSize]);
|
|
1036
|
+
|
|
1037
|
+
const isExpanded = shell.leftMode === 'expanded';
|
|
1038
|
+
|
|
1039
|
+
// Strip unknown open/defaultOpen props from DOM by not spreading them
|
|
1040
|
+
return (
|
|
1041
|
+
<div
|
|
1042
|
+
{...domProps}
|
|
1043
|
+
ref={ref}
|
|
1044
|
+
className={classNames('rt-ShellRail', className)}
|
|
1045
|
+
data-mode={shell.leftMode}
|
|
1046
|
+
data-peek={(shell.currentBreakpointReady && shell.leftResolvedPresentation !== 'overlay' && shell.peekTarget === 'rail') || undefined}
|
|
1047
|
+
style={{
|
|
1048
|
+
...style,
|
|
1049
|
+
'--rail-size': `${expandedSize}px`,
|
|
1050
|
+
} as CSSPropertiesWithVars}
|
|
1051
|
+
>
|
|
1052
|
+
<div className="rt-ShellRailContent" data-visible={(shell.currentBreakpointReady && (isExpanded || (shell.leftResolvedPresentation !== 'overlay' && shell.peekTarget === 'rail'))) || undefined}>
|
|
1053
|
+
{children}
|
|
1054
|
+
</div>
|
|
1055
|
+
</div>
|
|
1056
|
+
);
|
|
1057
|
+
});
|
|
1058
|
+
Rail.displayName = 'Shell.Rail';
|
|
1059
|
+
assignShellSlot(Rail as any, 'Shell.Rail');
|
|
1060
|
+
|
|
1061
|
+
// Panel
|
|
1062
|
+
type HandleComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<'div'> & React.RefAttributes<HTMLDivElement>>;
|
|
1063
|
+
|
|
1064
|
+
type PanelOpenChangeMeta = { reason: 'toggle' | 'left' | 'init' | 'responsive' };
|
|
1065
|
+
type PanelControlledProps = { open: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; defaultOpen?: never };
|
|
1066
|
+
type PanelUncontrolledProps = { defaultOpen?: boolean | Partial<Record<Breakpoint, boolean>>; onOpenChange?: (open: boolean, meta: PanelOpenChangeMeta) => void; open?: never };
|
|
1067
|
+
|
|
1068
|
+
type PanelSizeControlledProps = { size: number | string; defaultSize?: never };
|
|
1069
|
+
type PanelSizeUncontrolledProps = { defaultSize?: number | string; size?: never };
|
|
1070
|
+
|
|
1071
|
+
type PanelSizeChangeMeta = { reason: 'init' | 'resize' | 'controlled' };
|
|
1072
|
+
type PanelPublicProps = Omit<PaneProps, 'presentation' | 'defaultMode'> &
|
|
1073
|
+
(PanelControlledProps | PanelUncontrolledProps) &
|
|
1074
|
+
(PanelSizeControlledProps | PanelSizeUncontrolledProps) & {
|
|
1075
|
+
onSizeChange?: (size: number, meta: PanelSizeChangeMeta) => void;
|
|
1076
|
+
sizeUpdate?: 'throttle' | 'debounce';
|
|
1077
|
+
sizeUpdateMs?: number;
|
|
1078
|
+
/** When true, adds margin to Rail+Panel and triggers gray backdrop on Shell. */
|
|
1079
|
+
inset?: boolean;
|
|
1080
|
+
};
|
|
1081
|
+
type PanelComponent = React.ForwardRefExoticComponent<PanelPublicProps & React.RefAttributes<HTMLDivElement>> & {
|
|
1082
|
+
Handle: HandleComponent;
|
|
1083
|
+
};
|
|
1084
|
+
|
|
1085
|
+
type _SidebarComponent = React.ForwardRefExoticComponent<
|
|
1086
|
+
(Omit<PaneProps, 'mode' | 'defaultMode' | 'onModeChange'> & {
|
|
1087
|
+
state?: Responsive<SidebarMode>;
|
|
1088
|
+
defaultState?: SidebarMode;
|
|
1089
|
+
onStateChange?: (mode: SidebarMode) => void;
|
|
1090
|
+
thinSize?: number;
|
|
1091
|
+
toggleModes?: 'both' | 'single';
|
|
1092
|
+
}) &
|
|
1093
|
+
React.RefAttributes<HTMLDivElement>
|
|
1094
|
+
> & { Handle: HandleComponent };
|
|
1095
|
+
|
|
1096
|
+
type _InspectorComponent = React.ForwardRefExoticComponent<PaneProps & React.RefAttributes<HTMLDivElement>> & { Handle: HandleComponent };
|
|
1097
|
+
|
|
1098
|
+
type _BottomComponent = React.ForwardRefExoticComponent<PaneProps & React.RefAttributes<HTMLDivElement>> & { Handle: HandleComponent };
|
|
1099
|
+
|
|
1100
|
+
const PANEL_DOM_PROP_KEYS = [
|
|
1101
|
+
'className',
|
|
1102
|
+
'children',
|
|
1103
|
+
'defaultOpen',
|
|
1104
|
+
'open',
|
|
1105
|
+
'onOpenChange',
|
|
1106
|
+
'size',
|
|
1107
|
+
'defaultSize',
|
|
1108
|
+
'onSizeChange',
|
|
1109
|
+
'sizeUpdate',
|
|
1110
|
+
'sizeUpdateMs',
|
|
1111
|
+
'style',
|
|
1112
|
+
] as const satisfies readonly (keyof PanelPublicProps)[];
|
|
1113
|
+
|
|
1114
|
+
const Panel = assignShellSlot(
|
|
1115
|
+
React.forwardRef<HTMLDivElement, PanelPublicProps>((initialProps, ref) => {
|
|
1116
|
+
const {
|
|
1117
|
+
className,
|
|
1118
|
+
defaultOpen,
|
|
1119
|
+
open,
|
|
1120
|
+
onOpenChange,
|
|
1121
|
+
size,
|
|
1122
|
+
defaultSize,
|
|
1123
|
+
expandedSize = 288,
|
|
1124
|
+
minSize,
|
|
1125
|
+
maxSize,
|
|
1126
|
+
resizable,
|
|
1127
|
+
collapsible = true,
|
|
1128
|
+
onExpand: _onExpand,
|
|
1129
|
+
onCollapse: _onCollapse,
|
|
1130
|
+
onResize,
|
|
1131
|
+
onResizeStart,
|
|
1132
|
+
onResizeEnd,
|
|
1133
|
+
snapPoints,
|
|
1134
|
+
snapTolerance,
|
|
1135
|
+
collapseThreshold,
|
|
1136
|
+
paneId,
|
|
1137
|
+
persistence,
|
|
1138
|
+
children,
|
|
1139
|
+
style,
|
|
1140
|
+
onSizeChange,
|
|
1141
|
+
sizeUpdate,
|
|
1142
|
+
sizeUpdateMs = 50,
|
|
1143
|
+
} = initialProps;
|
|
1144
|
+
const panelDomProps = extractPaneDomProps(initialProps, PANEL_DOM_PROP_KEYS);
|
|
1145
|
+
// Ref for debounce cleanup
|
|
1146
|
+
const debounceTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
1147
|
+
// Cleanup debounce timeout on unmount or when dependencies change
|
|
1148
|
+
React.useLayoutEffect(() => {
|
|
1149
|
+
return () => {
|
|
1150
|
+
if (debounceTimeoutRef.current) {
|
|
1151
|
+
clearTimeout(debounceTimeoutRef.current);
|
|
1152
|
+
debounceTimeoutRef.current = null;
|
|
1153
|
+
}
|
|
1154
|
+
};
|
|
1155
|
+
}, [onSizeChange, sizeUpdate, sizeUpdateMs]);
|
|
1156
|
+
// Throttled/debounced emitter for onSizeChange
|
|
1157
|
+
const emitSizeChange = React.useMemo(() => {
|
|
1158
|
+
if (!onSizeChange) return () => {};
|
|
1159
|
+
if (sizeUpdate === 'debounce') {
|
|
1160
|
+
const fn = (s: number, meta: PanelSizeChangeMeta) => {
|
|
1161
|
+
if (debounceTimeoutRef.current) clearTimeout(debounceTimeoutRef.current);
|
|
1162
|
+
debounceTimeoutRef.current = setTimeout(() => {
|
|
1163
|
+
onSizeChange?.(s, meta);
|
|
1164
|
+
debounceTimeoutRef.current = null;
|
|
1165
|
+
}, sizeUpdateMs);
|
|
1166
|
+
};
|
|
1167
|
+
return fn;
|
|
1168
|
+
}
|
|
1169
|
+
if (sizeUpdate === 'throttle') {
|
|
1170
|
+
let last = 0;
|
|
1171
|
+
return (s: number, meta: PanelSizeChangeMeta) => {
|
|
1172
|
+
const now = Date.now();
|
|
1173
|
+
if (now - last >= sizeUpdateMs) {
|
|
1174
|
+
last = now;
|
|
1175
|
+
onSizeChange?.(s, meta);
|
|
1176
|
+
}
|
|
1177
|
+
};
|
|
1178
|
+
}
|
|
1179
|
+
return (s: number, meta: PanelSizeChangeMeta) => onSizeChange?.(s, meta);
|
|
1180
|
+
}, [onSizeChange, sizeUpdate, sizeUpdateMs]);
|
|
1181
|
+
const shell = useShell();
|
|
1182
|
+
const prevPanelModeRef = React.useRef<PaneMode | null>(null);
|
|
1183
|
+
const prevLeftModeRef = React.useRef<PaneMode | null>(null);
|
|
1184
|
+
const lastResolvedPanelControlledRef = React.useRef<PaneMode | undefined>(undefined);
|
|
1185
|
+
// Dev-only runtime guard
|
|
1186
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1187
|
+
if (typeof open !== 'undefined' && typeof defaultOpen !== 'undefined') {
|
|
1188
|
+
console.error('Shell.Panel: Do not pass both `open` and `defaultOpen`. Choose one.');
|
|
1189
|
+
}
|
|
1190
|
+
if (typeof size !== 'undefined' && typeof defaultSize !== 'undefined') {
|
|
1191
|
+
console.error('Shell.Panel: Do not pass both `size` and `defaultSize`. Choose one.');
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
// Normalize responsive open/defaultOpen to PaneMode
|
|
1196
|
+
const normalizedControlledOpen = React.useMemo(() => mapResponsiveBooleanToPaneMode(open), [open]);
|
|
1197
|
+
const normalizedDefaultOpen = React.useMemo(() => mapResponsiveBooleanToPaneMode(defaultOpen), [defaultOpen]);
|
|
1198
|
+
const openIsResponsive = typeof open === 'object' && open !== null;
|
|
1199
|
+
|
|
1200
|
+
// Stable ref for onOpenChange to avoid effect dep churn
|
|
1201
|
+
const onOpenChangeRef = React.useRef(onOpenChange);
|
|
1202
|
+
React.useLayoutEffect(() => {
|
|
1203
|
+
onOpenChangeRef.current = onOpenChange;
|
|
1204
|
+
});
|
|
1205
|
+
|
|
1206
|
+
// Use responsive initial state hook for proper breakpoint handling
|
|
1207
|
+
const { resolvedControlled: resolvedPanelControlled } = useResponsiveInitialState<PaneMode>({
|
|
1208
|
+
controlledValue: normalizedControlledOpen,
|
|
1209
|
+
defaultValue: normalizedDefaultOpen,
|
|
1210
|
+
currentValue: shell.panelMode,
|
|
1211
|
+
setValue: (mode) => {
|
|
1212
|
+
// Ensure Left is expanded when Panel is expanded unless Rail is controlled closed
|
|
1213
|
+
if (mode === 'expanded' && shell.leftMode !== 'expanded' && shell.leftControlledOpen !== false) {
|
|
1214
|
+
shell.setLeftMode('expanded');
|
|
1215
|
+
}
|
|
1216
|
+
shell.setPanelMode(mode);
|
|
1217
|
+
},
|
|
1218
|
+
breakpointReady: shell.currentBreakpointReady,
|
|
1219
|
+
controlledIsResponsive: openIsResponsive,
|
|
1220
|
+
onResponsiveChange: (next) => onOpenChangeRef.current?.(next === 'expanded', { reason: 'responsive' }),
|
|
1221
|
+
onInit: (initial) => {
|
|
1222
|
+
if (typeof open === 'undefined') {
|
|
1223
|
+
onOpenChangeRef.current?.(initial === 'expanded', { reason: 'init' });
|
|
1224
|
+
}
|
|
1225
|
+
},
|
|
1226
|
+
});
|
|
1227
|
+
|
|
1228
|
+
// Dev-only warning if switching controlled/uncontrolled between renders
|
|
1229
|
+
const wasControlledRef = React.useRef<boolean | null>(null);
|
|
1230
|
+
React.useEffect(() => {
|
|
1231
|
+
const isControlled = typeof open !== 'undefined';
|
|
1232
|
+
if (wasControlledRef.current === null) {
|
|
1233
|
+
wasControlledRef.current = isControlled;
|
|
1234
|
+
return;
|
|
1235
|
+
}
|
|
1236
|
+
if (wasControlledRef.current !== isControlled) {
|
|
1237
|
+
console.warn('Shell.Panel: Switching between controlled and uncontrolled `open` is not supported.');
|
|
1238
|
+
wasControlledRef.current = isControlled;
|
|
1239
|
+
}
|
|
1240
|
+
}, [open]);
|
|
1241
|
+
|
|
1242
|
+
React.useEffect(() => {
|
|
1243
|
+
shell.onPanelDefaults?.(expandedSize);
|
|
1244
|
+
}, [shell, expandedSize]);
|
|
1245
|
+
const localRef = React.useRef<HTMLDivElement | null>(null);
|
|
1246
|
+
const setRef = React.useCallback(
|
|
1247
|
+
(node: HTMLDivElement | null) => {
|
|
1248
|
+
localRef.current = node;
|
|
1249
|
+
if (typeof ref === 'function') ref(node);
|
|
1250
|
+
else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;
|
|
1251
|
+
},
|
|
1252
|
+
[ref],
|
|
1253
|
+
);
|
|
1254
|
+
const childArray = React.Children.toArray(children) as React.ReactElement[];
|
|
1255
|
+
const handleChildren = childArray.filter((el: React.ReactElement) => React.isValidElement(el) && el.type === PanelHandle);
|
|
1256
|
+
const contentChildren = childArray.filter((el: React.ReactElement) => !(React.isValidElement(el) && el.type === PanelHandle));
|
|
1257
|
+
|
|
1258
|
+
const isOverlay = shell.leftResolvedPresentation === 'overlay';
|
|
1259
|
+
|
|
1260
|
+
// Normalize CSS lengths to px helper
|
|
1261
|
+
const normalizeSizeToPx = React.useCallback((value: number | string | undefined) => normalizeToPx(value, 'horizontal'), []);
|
|
1262
|
+
|
|
1263
|
+
// Derive a default persistence adapter from paneId if none provided
|
|
1264
|
+
const persistenceAdapter = React.useMemo(() => {
|
|
1265
|
+
if (!paneId || persistence) return persistence;
|
|
1266
|
+
const key = `kookie-ui:shell:panel:${paneId}`;
|
|
1267
|
+
const adapter: PaneSizePersistence = {
|
|
1268
|
+
load: () => {
|
|
1269
|
+
if (typeof window === 'undefined') return undefined;
|
|
1270
|
+
try {
|
|
1271
|
+
const v = window.localStorage.getItem(key);
|
|
1272
|
+
return v ? Number(v) : undefined;
|
|
1273
|
+
} catch (err) {
|
|
1274
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1275
|
+
console.warn('Shell.Panel: failed to load persisted size', err);
|
|
1276
|
+
}
|
|
1277
|
+
return undefined;
|
|
1278
|
+
}
|
|
1279
|
+
},
|
|
1280
|
+
save: (size: number) => {
|
|
1281
|
+
if (typeof window === 'undefined') return;
|
|
1282
|
+
try {
|
|
1283
|
+
window.localStorage.setItem(key, String(size));
|
|
1284
|
+
} catch (err) {
|
|
1285
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1286
|
+
console.warn('Shell.Panel: failed to save persisted size', err);
|
|
1287
|
+
}
|
|
1288
|
+
}
|
|
1289
|
+
},
|
|
1290
|
+
};
|
|
1291
|
+
return adapter;
|
|
1292
|
+
}, [paneId, persistence]);
|
|
1293
|
+
|
|
1294
|
+
// Load persisted size if configured (only in fixed presentation)
|
|
1295
|
+
React.useEffect(() => {
|
|
1296
|
+
let mounted = true;
|
|
1297
|
+
(async () => {
|
|
1298
|
+
if (!resizable || !persistenceAdapter?.load || isOverlay) return;
|
|
1299
|
+
const loaded = await persistenceAdapter.load();
|
|
1300
|
+
if (mounted && typeof loaded === 'number' && localRef.current) {
|
|
1301
|
+
localRef.current.style.setProperty('--panel-size', `${loaded}px`);
|
|
1302
|
+
onResize?.(loaded);
|
|
1303
|
+
}
|
|
1304
|
+
})();
|
|
1305
|
+
return () => {
|
|
1306
|
+
mounted = false;
|
|
1307
|
+
};
|
|
1308
|
+
}, [resizable, persistenceAdapter, onResize, isOverlay]);
|
|
1309
|
+
|
|
1310
|
+
// In overlay, ensure panel uses the fixed expandedSize, ignoring any persisted size
|
|
1311
|
+
React.useEffect(() => {
|
|
1312
|
+
if (!localRef.current) return;
|
|
1313
|
+
if (isOverlay) {
|
|
1314
|
+
localRef.current.style.setProperty('--panel-size', `${expandedSize}px`);
|
|
1315
|
+
}
|
|
1316
|
+
}, [isOverlay, expandedSize]);
|
|
1317
|
+
|
|
1318
|
+
// Apply defaultSize on mount when uncontrolled
|
|
1319
|
+
React.useEffect(() => {
|
|
1320
|
+
if (!localRef.current) return;
|
|
1321
|
+
if (typeof size === 'undefined' && typeof defaultSize !== 'undefined') {
|
|
1322
|
+
const px = normalizeSizeToPx(defaultSize);
|
|
1323
|
+
if (typeof px === 'number' && Number.isFinite(px)) {
|
|
1324
|
+
// Clamp to min/max if provided
|
|
1325
|
+
const minPx = typeof minSize === 'number' ? minSize : undefined;
|
|
1326
|
+
const maxPx = typeof maxSize === 'number' ? maxSize : undefined;
|
|
1327
|
+
const clamped = Math.min(maxPx ?? px, Math.max(minPx ?? px, px));
|
|
1328
|
+
localRef.current.style.setProperty('--panel-size', `${clamped}px`);
|
|
1329
|
+
emitSizeChange(clamped, { reason: 'init' });
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
// Intentionally run only on mount - defaultSize is an uncontrolled initial value
|
|
1333
|
+
// that should not trigger re-application when props change
|
|
1334
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1335
|
+
}, []);
|
|
1336
|
+
|
|
1337
|
+
// Controlled size sync
|
|
1338
|
+
React.useEffect(() => {
|
|
1339
|
+
if (!localRef.current) return;
|
|
1340
|
+
if (typeof size === 'undefined') return;
|
|
1341
|
+
const px = normalizeSizeToPx(size);
|
|
1342
|
+
if (typeof px === 'number' && Number.isFinite(px)) {
|
|
1343
|
+
const minPx = typeof minSize === 'number' ? minSize : undefined;
|
|
1344
|
+
const maxPx = typeof maxSize === 'number' ? maxSize : undefined;
|
|
1345
|
+
const clamped = Math.min(maxPx ?? px, Math.max(minPx ?? px, px));
|
|
1346
|
+
localRef.current.style.setProperty('--panel-size', `${clamped}px`);
|
|
1347
|
+
emitSizeChange(clamped, { reason: 'controlled' });
|
|
1348
|
+
}
|
|
1349
|
+
}, [size, minSize, maxSize, normalizeSizeToPx, emitSizeChange]);
|
|
1350
|
+
|
|
1351
|
+
// Ensure Left container width is auto whenever Panel is expanded in fixed presentation
|
|
1352
|
+
React.useEffect(() => {
|
|
1353
|
+
if (!localRef.current) return;
|
|
1354
|
+
if (shell.leftResolvedPresentation !== 'overlay' && shell.leftMode === 'expanded' && shell.panelMode === 'expanded') {
|
|
1355
|
+
const leftEl = (localRef.current.parentElement as HTMLElement) || null;
|
|
1356
|
+
try {
|
|
1357
|
+
leftEl?.style.removeProperty('width');
|
|
1358
|
+
} catch (e) {
|
|
1359
|
+
// Style manipulation can fail in edge cases (e.g., detached elements)
|
|
1360
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1361
|
+
console.warn('[Shell.Panel] Style cleanup warning:', e);
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
}, [shell.leftResolvedPresentation, shell.leftMode, shell.panelMode]);
|
|
1366
|
+
|
|
1367
|
+
const isExpanded = shell.leftMode === 'expanded' && shell.panelMode === 'expanded';
|
|
1368
|
+
|
|
1369
|
+
// Notify on internal toggles and left cascade.
|
|
1370
|
+
// In controlled mode, skip when the mode matches the controlled prop (prop-driven sync).
|
|
1371
|
+
React.useEffect(() => {
|
|
1372
|
+
const prevPanel = prevPanelModeRef.current;
|
|
1373
|
+
const prevLeft = prevLeftModeRef.current;
|
|
1374
|
+
const prevResolvedControlled = lastResolvedPanelControlledRef.current;
|
|
1375
|
+
const controlledChanged = prevResolvedControlled !== resolvedPanelControlled;
|
|
1376
|
+
if (prevPanel !== null && prevPanel !== shell.panelMode) {
|
|
1377
|
+
const nextOpen = shell.panelMode === 'expanded';
|
|
1378
|
+
const isControlled = typeof open !== 'undefined';
|
|
1379
|
+
const controlledTarget = resolvedPanelControlled === undefined ? undefined : resolvedPanelControlled === 'expanded';
|
|
1380
|
+
|
|
1381
|
+
if (!isControlled || (!controlledChanged && nextOpen !== controlledTarget)) {
|
|
1382
|
+
let reason: PanelOpenChangeMeta['reason'] = 'toggle';
|
|
1383
|
+
if (prevLeft !== shell.leftMode && shell.leftMode === 'collapsed' && !nextOpen) {
|
|
1384
|
+
reason = 'left';
|
|
1385
|
+
}
|
|
1386
|
+
onOpenChangeRef.current?.(nextOpen, { reason });
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
prevPanelModeRef.current = shell.panelMode;
|
|
1390
|
+
prevLeftModeRef.current = shell.leftMode;
|
|
1391
|
+
lastResolvedPanelControlledRef.current = resolvedPanelControlled;
|
|
1392
|
+
}, [shell.panelMode, shell.leftMode, open, resolvedPanelControlled]);
|
|
1393
|
+
|
|
1394
|
+
// Provide resizer handle when fixed (not overlay)
|
|
1395
|
+
const handleEl =
|
|
1396
|
+
resizable && shell.leftResolvedPresentation !== 'overlay' && isExpanded ? (
|
|
1397
|
+
<PaneResizeContext.Provider
|
|
1398
|
+
value={{
|
|
1399
|
+
containerRef: localRef,
|
|
1400
|
+
cssVarName: '--panel-size',
|
|
1401
|
+
minSize: typeof minSize === 'number' ? minSize : 100,
|
|
1402
|
+
maxSize: typeof maxSize === 'number' ? maxSize : 800,
|
|
1403
|
+
defaultSize: expandedSize,
|
|
1404
|
+
orientation: 'vertical',
|
|
1405
|
+
edge: 'end',
|
|
1406
|
+
computeNext: (client, startClient, startSize) => {
|
|
1407
|
+
const isRtl = getComputedStyle(localRef.current!).direction === 'rtl';
|
|
1408
|
+
const delta = client - startClient;
|
|
1409
|
+
return startSize + (isRtl ? -delta : delta);
|
|
1410
|
+
},
|
|
1411
|
+
onResize,
|
|
1412
|
+
onResizeStart: (size) => {
|
|
1413
|
+
// Ensure Left container is not stuck with a fixed width in stacked
|
|
1414
|
+
const panelEl = localRef.current as HTMLElement | null;
|
|
1415
|
+
const leftEl = panelEl?.parentElement as HTMLElement | null;
|
|
1416
|
+
try {
|
|
1417
|
+
leftEl?.style.removeProperty('width');
|
|
1418
|
+
} catch (e) {
|
|
1419
|
+
// Style manipulation can fail in edge cases
|
|
1420
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
1421
|
+
console.warn('[Shell.Panel] Resize start style cleanup warning:', e);
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
onResizeStart?.(size);
|
|
1425
|
+
},
|
|
1426
|
+
onResizeEnd: (size) => {
|
|
1427
|
+
onResizeEnd?.(size);
|
|
1428
|
+
emitSizeChange(size, { reason: 'resize' });
|
|
1429
|
+
persistenceAdapter?.save?.(size);
|
|
1430
|
+
},
|
|
1431
|
+
target: 'panel',
|
|
1432
|
+
collapsible: Boolean(collapsible),
|
|
1433
|
+
snapPoints,
|
|
1434
|
+
snapTolerance: snapTolerance ?? 8,
|
|
1435
|
+
collapseThreshold,
|
|
1436
|
+
requestCollapse: () => shell.setPanelMode('collapsed'),
|
|
1437
|
+
requestToggle: () => shell.togglePane('panel'),
|
|
1438
|
+
}}
|
|
1439
|
+
>
|
|
1440
|
+
{handleChildren.length > 0 ? handleChildren.map((el, i) => React.cloneElement(el, { key: el.key ?? i })) : <PaneHandle />}
|
|
1441
|
+
</PaneResizeContext.Provider>
|
|
1442
|
+
) : null;
|
|
1443
|
+
|
|
1444
|
+
return (
|
|
1445
|
+
<div
|
|
1446
|
+
{...panelDomProps}
|
|
1447
|
+
ref={setRef}
|
|
1448
|
+
className={classNames('rt-ShellPanel', className)}
|
|
1449
|
+
data-mode={shell.panelMode}
|
|
1450
|
+
data-visible={(shell.currentBreakpointReady && (isExpanded || (shell.leftResolvedPresentation !== 'overlay' && shell.peekTarget === 'panel'))) || undefined}
|
|
1451
|
+
data-peek={(shell.currentBreakpointReady && shell.leftResolvedPresentation !== 'overlay' && shell.peekTarget === 'panel') || undefined}
|
|
1452
|
+
style={{
|
|
1453
|
+
...style,
|
|
1454
|
+
'--panel-size': `${expandedSize}px`,
|
|
1455
|
+
} as CSSPropertiesWithVars}
|
|
1456
|
+
>
|
|
1457
|
+
<div className="rt-ShellPanelContent" data-visible={isExpanded || undefined}>
|
|
1458
|
+
{contentChildren}
|
|
1459
|
+
</div>
|
|
1460
|
+
{handleEl}
|
|
1461
|
+
</div>
|
|
1462
|
+
);
|
|
1463
|
+
}),
|
|
1464
|
+
'Shell.Panel',
|
|
1465
|
+
) as PanelComponent;
|
|
1466
|
+
Panel.displayName = 'Shell.Panel';
|
|
1467
|
+
Panel.Handle = PanelHandle;
|
|
1468
|
+
|
|
1469
|
+
// Sidebar moved to ./_internal/shell-sidebar
|
|
1470
|
+
|
|
1471
|
+
// Content (always required)
|
|
1472
|
+
interface ShellContentProps extends React.ComponentPropsWithoutRef<'main'> {
|
|
1473
|
+
/** When true, adds margin and triggers gray backdrop on Shell. */
|
|
1474
|
+
inset?: boolean;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
const Content = React.forwardRef<HTMLElement, ShellContentProps>(({ className, inset, ...props }, ref) => {
|
|
1478
|
+
const { registerInset, unregisterInset } = useInset();
|
|
1479
|
+
|
|
1480
|
+
// Register/unregister inset
|
|
1481
|
+
React.useEffect(() => {
|
|
1482
|
+
if (inset) {
|
|
1483
|
+
registerInset('content');
|
|
1484
|
+
return () => unregisterInset('content');
|
|
1485
|
+
}
|
|
1486
|
+
}, [inset, registerInset, unregisterInset]);
|
|
1487
|
+
|
|
1488
|
+
return <main {...props} ref={ref} className={classNames('rt-ShellContent', className)} data-inset={inset || undefined} />;
|
|
1489
|
+
});
|
|
1490
|
+
Content.displayName = 'Shell.Content';
|
|
1491
|
+
assignShellSlot(Content as any, 'Shell.Content');
|
|
1492
|
+
|
|
1493
|
+
// Inspector moved to ./_internal/shell-inspector
|
|
1494
|
+
|
|
1495
|
+
// Bottom
|
|
1496
|
+
// Bottom moved to ./_internal/shell-bottom
|
|
1497
|
+
// (Bottom implementation extracted)
|
|
1498
|
+
|
|
1499
|
+
// Trigger
|
|
1500
|
+
// PaneTarget type moved to shell.types.ts
|
|
1501
|
+
type TriggerAction = 'toggle' | 'expand' | 'collapse';
|
|
1502
|
+
|
|
1503
|
+
interface TriggerProps extends React.ComponentPropsWithoutRef<'button'> {
|
|
1504
|
+
target: PaneTarget;
|
|
1505
|
+
action?: TriggerAction;
|
|
1506
|
+
/**
|
|
1507
|
+
* Whether to show peek preview on hover when the target pane is collapsed.
|
|
1508
|
+
* Defaults to false.
|
|
1509
|
+
*/
|
|
1510
|
+
peekOnHover?: boolean;
|
|
1511
|
+
}
|
|
1512
|
+
|
|
1513
|
+
const Trigger = React.forwardRef<HTMLButtonElement, TriggerProps>(({ target, action = 'toggle', peekOnHover, onClick, onMouseEnter, onMouseLeave, children, ...props }, ref) => {
|
|
1514
|
+
// Slice hooks — Trigger only re-renders when its target pane's slice changes,
|
|
1515
|
+
// not on every unrelated shell state update (peek, composition, presentation, etc.)
|
|
1516
|
+
const { leftMode } = useLeftMode();
|
|
1517
|
+
const { panelMode } = usePanelMode();
|
|
1518
|
+
const { sidebarMode } = useSidebarMode();
|
|
1519
|
+
const { inspectorMode } = useInspectorMode();
|
|
1520
|
+
const { bottomMode } = useBottomMode();
|
|
1521
|
+
const { peekTarget, clearPeek, peekPane } = usePeek();
|
|
1522
|
+
const { togglePane, expandPane, collapsePane } = useShellActions();
|
|
1523
|
+
|
|
1524
|
+
const handleClick = React.useCallback(
|
|
1525
|
+
(event: React.MouseEvent<HTMLButtonElement>) => {
|
|
1526
|
+
onClick?.(event);
|
|
1527
|
+
|
|
1528
|
+
// Clear any active peek on this target before toggling to avoid sticky peek state
|
|
1529
|
+
if (peekTarget === target) {
|
|
1530
|
+
clearPeek();
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
switch (action) {
|
|
1534
|
+
case 'toggle':
|
|
1535
|
+
togglePane(target);
|
|
1536
|
+
break;
|
|
1537
|
+
case 'expand':
|
|
1538
|
+
expandPane(target);
|
|
1539
|
+
break;
|
|
1540
|
+
case 'collapse':
|
|
1541
|
+
collapsePane(target);
|
|
1542
|
+
break;
|
|
1543
|
+
}
|
|
1544
|
+
},
|
|
1545
|
+
[peekTarget, clearPeek, togglePane, expandPane, collapsePane, target, action, onClick],
|
|
1546
|
+
);
|
|
1547
|
+
|
|
1548
|
+
const isCollapsed = (() => {
|
|
1549
|
+
switch (target) {
|
|
1550
|
+
case 'left':
|
|
1551
|
+
case 'rail':
|
|
1552
|
+
return leftMode === 'collapsed';
|
|
1553
|
+
case 'panel':
|
|
1554
|
+
return leftMode === 'collapsed' || panelMode === 'collapsed';
|
|
1555
|
+
case 'sidebar':
|
|
1556
|
+
return sidebarMode === 'collapsed';
|
|
1557
|
+
case 'inspector':
|
|
1558
|
+
return inspectorMode === 'collapsed';
|
|
1559
|
+
case 'bottom':
|
|
1560
|
+
return bottomMode === 'collapsed';
|
|
1561
|
+
}
|
|
1562
|
+
})();
|
|
1563
|
+
|
|
1564
|
+
const handleMouseEnter = React.useCallback(
|
|
1565
|
+
(event: React.MouseEvent<HTMLButtonElement>) => {
|
|
1566
|
+
onMouseEnter?.(event);
|
|
1567
|
+
if (!peekOnHover || !isCollapsed) return;
|
|
1568
|
+
peekPane(target);
|
|
1569
|
+
},
|
|
1570
|
+
[onMouseEnter, peekOnHover, isCollapsed, peekPane, target],
|
|
1571
|
+
);
|
|
1572
|
+
|
|
1573
|
+
const handleMouseLeave = React.useCallback(
|
|
1574
|
+
(event: React.MouseEvent<HTMLButtonElement>) => {
|
|
1575
|
+
onMouseLeave?.(event);
|
|
1576
|
+
if (!peekOnHover) return;
|
|
1577
|
+
if (peekTarget === target) {
|
|
1578
|
+
clearPeek();
|
|
1579
|
+
}
|
|
1580
|
+
},
|
|
1581
|
+
[onMouseLeave, peekOnHover, peekTarget, clearPeek, target],
|
|
1582
|
+
);
|
|
1583
|
+
|
|
1584
|
+
return (
|
|
1585
|
+
<button
|
|
1586
|
+
{...props}
|
|
1587
|
+
ref={ref}
|
|
1588
|
+
onClick={handleClick}
|
|
1589
|
+
onMouseEnter={handleMouseEnter}
|
|
1590
|
+
onMouseLeave={handleMouseLeave}
|
|
1591
|
+
data-shell-trigger={target}
|
|
1592
|
+
data-shell-action={action}
|
|
1593
|
+
aria-expanded={!isCollapsed}
|
|
1594
|
+
>
|
|
1595
|
+
{children}
|
|
1596
|
+
</button>
|
|
1597
|
+
);
|
|
1598
|
+
});
|
|
1599
|
+
Trigger.displayName = 'Shell.Trigger';
|
|
1600
|
+
|
|
1601
|
+
// Exports
|
|
1602
|
+
export {
|
|
1603
|
+
Root,
|
|
1604
|
+
Header,
|
|
1605
|
+
Left,
|
|
1606
|
+
Rail,
|
|
1607
|
+
Panel,
|
|
1608
|
+
Sidebar,
|
|
1609
|
+
Content,
|
|
1610
|
+
Inspector,
|
|
1611
|
+
Bottom,
|
|
1612
|
+
Trigger,
|
|
1613
|
+
useShell,
|
|
1614
|
+
useSidebarMode,
|
|
1615
|
+
useResponsivePresentation,
|
|
1616
|
+
type PaneMode,
|
|
1617
|
+
type SidebarMode,
|
|
1618
|
+
type ResponsivePresentation,
|
|
1619
|
+
type PaneTarget,
|
|
1620
|
+
type TriggerAction,
|
|
1621
|
+
};
|