themelia-react-ui 2.0.3 → 2.0.5
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/CHANGELOG.md +185 -0
- package/README.md +168 -36
- package/dist/{accordion-Cjb6sx0G.js → accordion-B9MHG0cT.js} +11 -11
- package/dist/accordion-B9MHG0cT.js.map +1 -0
- package/dist/action-menu-Dr8K-ghE.js +284 -0
- package/dist/action-menu-Dr8K-ghE.js.map +1 -0
- package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-P-aVJisu.js} +42 -36
- package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
- package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-C58tQcBy.js} +387 -350
- package/dist/ai-artifact-C58tQcBy.js.map +1 -0
- package/dist/app-shell-B_IuNWOo.js +321 -0
- package/dist/app-shell-B_IuNWOo.js.map +1 -0
- package/dist/{attachment-BxDfL2mw.js → attachment-Dg_69lPS.js} +9 -9
- package/dist/{attachment-BxDfL2mw.js.map → attachment-Dg_69lPS.js.map} +1 -1
- package/dist/{auth-BGua8ouh.js → auth-DTkkshS8.js} +44 -47
- package/dist/auth-DTkkshS8.js.map +1 -0
- package/dist/{avatar-DAPlDvhJ.js → avatar-CeZaFmNH.js} +8 -8
- package/dist/avatar-CeZaFmNH.js.map +1 -0
- package/dist/{badge-HpFqoqSY.js → badge-xIiV_E7f.js} +5 -5
- package/dist/{badge-HpFqoqSY.js.map → badge-xIiV_E7f.js.map} +1 -1
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +2 -372
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +2 -2
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +3 -3
- package/dist/base/inline-edit.js +10 -10
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +7 -7
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +1 -1
- package/dist/base/repeaters.js +12 -12
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +7 -7
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +4 -4
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +36 -36
- package/dist/base/toaster.js.map +1 -1
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-Cb8cuvyy.js} +6 -6
- package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
- package/dist/blocks/admin.js +23 -23
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +230 -216
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +326 -307
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +1247 -1169
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +6 -6
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-J-K2kl4c.js} +6 -6
- package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
- package/dist/{button-DVzspB_G.js → button-S2Cubiiz.js} +3 -3
- package/dist/button-S2Cubiiz.js.map +1 -0
- package/dist/{buttons-DPZekJFu.js → buttons-BedGfygC.js} +16 -16
- package/dist/buttons-BedGfygC.js.map +1 -0
- package/dist/cards-rNX1M4Xn.js +69 -0
- package/dist/cards-rNX1M4Xn.js.map +1 -0
- package/dist/cascader-B1MiqkBq.js +439 -0
- package/dist/cascader-B1MiqkBq.js.map +1 -0
- package/dist/chart-Darg_0Kv.js +162 -0
- package/dist/chart-Darg_0Kv.js.map +1 -0
- package/dist/{checkbox-AWIhNhmo.js → checkbox-fflqmODR.js} +9 -5
- package/dist/checkbox-fflqmODR.js.map +1 -0
- package/dist/choice-inputs-zUgBZfE4.js +777 -0
- package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
- package/dist/{code-block-DeneBJR_.js → code-block-BzmM9Eig.js} +9 -9
- package/dist/code-block-BzmM9Eig.js.map +1 -0
- package/dist/{collapsible-C-_l4hpy.js → collapsible-BkAI_XD4.js} +5 -5
- package/dist/{collapsible-C-_l4hpy.js.map → collapsible-BkAI_XD4.js.map} +1 -1
- package/dist/{collection-content-By56pLog.js → collection-content-gDh1v6O4.js} +3 -3
- package/dist/{collection-content-By56pLog.js.map → collection-content-gDh1v6O4.js.map} +1 -1
- package/dist/combobox-BEx0vJgF.js +362 -0
- package/dist/combobox-BEx0vJgF.js.map +1 -0
- package/dist/{combobox-Dxo2fAYQ.js → combobox-BwzoXFSG.js} +254 -247
- package/dist/combobox-BwzoXFSG.js.map +1 -0
- package/dist/{command-C25VMRII.js → command-CrlPIL6m.js} +12 -12
- package/dist/command-CrlPIL6m.js.map +1 -0
- package/dist/{comments-DD0DUPwJ.js → comments-Dmpp0YIc.js} +380 -379
- package/dist/comments-Dmpp0YIc.js.map +1 -0
- package/dist/components/base/action-menu/action-menu.d.ts +9 -1
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/cards/card.recipes.d.ts +16 -7
- package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
- package/dist/components/base/cards/smart-card.types.d.ts +11 -7
- package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
- package/dist/components/base/chart/chart.d.ts +6 -1
- package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
- package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
- package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
- package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
- package/dist/components/base/combobox/index.d.ts +4 -2
- package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
- package/dist/components/base/forms/form-field.d.ts +5 -3
- package/dist/components/base/forms/form-sizing.d.ts +7 -7
- package/dist/components/base/forms/index.d.ts +1 -0
- package/dist/components/base/forms/server-errors.d.ts +16 -0
- package/dist/components/base/forms/workflow.d.ts +11 -2
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
- package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
- package/dist/components/base/navigation/page-header/page-header.d.ts +13 -4
- package/dist/components/base/popover/popover.d.ts +3 -3
- package/dist/components/base/popover/popover.recipes.d.ts +10 -6
- package/dist/components/base/sheet/sheet.d.ts +2 -0
- package/dist/components/base/sidebar/index.d.ts +1 -1
- package/dist/components/base/sidebar/sidebar.d.ts +27 -5
- package/dist/components/base/structure/composition.recipes.d.ts +17 -0
- package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
- package/dist/components/base/text-inputs/input.d.ts +4 -2
- package/dist/components/base/text-inputs/textarea.d.ts +4 -2
- package/dist/components/base/toaster/index.d.ts +1 -0
- package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
- package/dist/components/base/value-inputs/slider.d.ts +5 -1
- package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
- package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
- package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
- package/dist/components/blocks/commerce/index.d.ts +7 -6
- package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
- package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
- package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
- package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
- package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
- package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
- package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
- package/dist/components/features/activities/activities.types.d.ts +8 -2
- package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
- package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
- package/dist/components/features/event-calendar/colors.d.ts +2 -2
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
- package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
- package/dist/components/features/filters/filters.strings.d.ts +4 -0
- package/dist/components/features/filters/filters.types.d.ts +3 -0
- package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
- package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
- package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
- package/dist/components/features/global-search/global-search.types.d.ts +2 -0
- package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
- package/dist/components/features/media-library/media-library.types.d.ts +14 -4
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
- package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
- package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/products.strings.d.ts +9 -1
- package/dist/components/features/products/products.types.d.ts +43 -6
- package/dist/components/features/resource/resource.d.ts +5 -1
- package/dist/components/features/resource/resource.types.d.ts +12 -1
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
- package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
- package/dist/components/features/table/table.types.d.ts +1 -1
- package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
- package/dist/components/layout/app-shell/index.d.ts +1 -1
- package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
- package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
- package/dist/components/layout/header/header.recipes.d.ts +6 -0
- package/dist/components/layout/header/header.types.d.ts +6 -6
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
- package/dist/components/layout/page/index.d.ts +2 -1
- package/dist/components/layout/page/page.d.ts +1 -0
- package/dist/components/layout/page/page.strings.d.ts +11 -0
- package/dist/components/layout/page/page.types.d.ts +69 -17
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +9 -2
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/index.d.ts +2 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
- package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
- package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
- package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
- package/dist/components/typography/text.styles.d.ts +26 -1
- package/dist/components/ui/alert-dialog.d.ts +2 -2
- package/dist/components/ui/combobox.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/overlay-layer.d.ts +18 -0
- package/dist/components/ui/sheet.d.ts +5 -1
- package/dist/components/ui/sidebar-state.d.ts +82 -0
- package/dist/components/ui/sidebar.d.ts +5 -17
- package/dist/composition.recipes-COdiFhxB.js +19 -0
- package/dist/composition.recipes-COdiFhxB.js.map +1 -0
- package/dist/containers-CIxwbZt5.js +112 -0
- package/dist/containers-CIxwbZt5.js.map +1 -0
- package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
- package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
- package/dist/{copyable-ClBuk_UK.js → copyable-DIznBqiT.js} +7 -7
- package/dist/{copyable-ClBuk_UK.js.map → copyable-DIznBqiT.js.map} +1 -1
- package/dist/{data-display-DT_khPl_.js → data-display-BdgCAw8T.js} +277 -285
- package/dist/data-display-BdgCAw8T.js.map +1 -0
- package/dist/{date-DCrsDTZc.js → date-Cq8ioE4o.js} +5 -5
- package/dist/{date-DCrsDTZc.js.map → date-Cq8ioE4o.js.map} +1 -1
- package/dist/{date-picker-B2K3ucWn.js → date-picker-RlIzKom_.js} +501 -480
- package/dist/date-picker-RlIzKom_.js.map +1 -0
- package/dist/date-pickers-DY-CpXS1.js +179 -0
- package/dist/date-pickers-DY-CpXS1.js.map +1 -0
- package/dist/{display-hAc1HjpI.js → display-KsZLw9Ov.js} +9 -9
- package/dist/{display-hAc1HjpI.js.map → display-KsZLw9Ov.js.map} +1 -1
- package/dist/dropdown-menu-CLs8Lihj.js +194 -0
- package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
- package/dist/features/activities.js +302 -253
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +15 -14
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +222 -220
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +11 -10
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +13 -13
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer.js +249 -249
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +264 -269
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +167 -138
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +6 -7
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +269 -260
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +827 -777
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +1246 -1169
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +13 -13
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +127 -123
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +254 -253
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +95 -96
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-BYIhtitP.js → feedback-Dm4izqFn.js} +81 -80
- package/dist/feedback-Dm4izqFn.js.map +1 -0
- package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
- package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
- package/dist/{filters-DJVAveHA.js → filters-DzgSJpMK.js} +693 -645
- package/dist/filters-DzgSJpMK.js.map +1 -0
- package/dist/{form-field-CwH9y77i.js → form-field-BriWAXyg.js} +14 -8
- package/dist/form-field-BriWAXyg.js.map +1 -0
- package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-Bs2qFUeE.js} +4 -4
- package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
- package/dist/forms-C0RGnJTe.js +216 -0
- package/dist/forms-C0RGnJTe.js.map +1 -0
- package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-DIhghX1Q.js} +295 -291
- package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
- package/dist/{header-BSfIEWbI.js → header-DMMxG__r.js} +67 -63
- package/dist/header-DMMxG__r.js.map +1 -0
- package/dist/header.recipes-BigdJjw1.js +6 -0
- package/dist/header.recipes-BigdJjw1.js.map +1 -0
- package/dist/hooks/useFormErrors.d.ts +1 -1
- package/dist/{hooks-ClH9thn4.js → hooks-DB6CJ4MR.js} +26 -14
- package/dist/hooks-DB6CJ4MR.js.map +1 -0
- package/dist/{icon-badge-DYKIwvOV.js → icon-badge-DZF-YjQp.js} +4 -4
- package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
- package/dist/index.js +4 -5
- package/dist/input-CvyDQlY7.js +289 -0
- package/dist/input-CvyDQlY7.js.map +1 -0
- package/dist/input-DMBwAZmr.js +21 -0
- package/dist/input-DMBwAZmr.js.map +1 -0
- package/dist/item-DjCcM18E.js +277 -0
- package/dist/item-DjCcM18E.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +2 -2
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +3 -3
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +11 -11
- package/dist/lib/affordance-geometry.generated.d.ts +41 -35
- package/dist/lib/control-group-recipes.d.ts +5 -5
- package/dist/lib/field-affordance-recipes.d.ts +2 -2
- package/dist/lib/motion-recipes.d.ts +3 -0
- package/dist/lib/navigation-row-recipes.d.ts +7 -7
- package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
- package/dist/lib/portal-recipes.d.ts +3 -0
- package/dist/lib/token-merge.generated.d.ts +13 -10
- package/dist/lib/ui-provider/types.d.ts +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/map-demo-tile.svg +1 -1
- package/dist/{media-gallery-3zIVLMWH.js → media-gallery-C-vChPmE.js} +6 -6
- package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-C-vChPmE.js.map} +1 -1
- package/dist/{mentions-CGlEJ15c.js → mentions-0_4nWuI-.js} +10 -10
- package/dist/{mentions-CGlEJ15c.js.map → mentions-0_4nWuI-.js.map} +1 -1
- package/dist/{message-DZ_ruyUV.js → message-g8p7eVtN.js} +7 -7
- package/dist/message-g8p7eVtN.js.map +1 -0
- package/dist/metadata-list-C3MkU-Om.js +443 -0
- package/dist/metadata-list-C3MkU-Om.js.map +1 -0
- package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
- package/dist/motion-recipes-DitYv6P2.js.map +1 -0
- package/dist/navigation-C90-oQFq.js +255 -0
- package/dist/navigation-C90-oQFq.js.map +1 -0
- package/dist/{navigation-BzhHI3lo.js → navigation-DaRjthVk.js} +101 -82
- package/dist/navigation-DaRjthVk.js.map +1 -0
- package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
- package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
- package/dist/{number-DbV1Dija.js → number-CRU3kGuk.js} +5 -5
- package/dist/{number-DbV1Dija.js.map → number-CRU3kGuk.js.map} +1 -1
- package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
- package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
- package/dist/overlays-BSgCtM2v.js +1013 -0
- package/dist/overlays-BSgCtM2v.js.map +1 -0
- package/dist/page-DUUKDAjo.js +331 -0
- package/dist/page-DUUKDAjo.js.map +1 -0
- package/dist/page-header-commands-7P3sfE9u.js +193 -0
- package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
- package/dist/{pagination-BL25hu2s.js → pagination-CgCjElfu.js} +7 -7
- package/dist/{pagination-BL25hu2s.js.map → pagination-CgCjElfu.js.map} +1 -1
- package/dist/popover-B85RenIl.js +201 -0
- package/dist/popover-B85RenIl.js.map +1 -0
- package/dist/{popover-menu-Cn9rUkdc.js → popover-menu-DlnQ2zlR.js} +7 -7
- package/dist/{popover-menu-Cn9rUkdc.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
- package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
- package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
- package/dist/portal-recipes-BpsV_iRw.js +9 -0
- package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
- package/dist/{primitives-BFK08r9M.js → primitives-ByWgGUgt.js} +6 -6
- package/dist/{primitives-BFK08r9M.js.map → primitives-ByWgGUgt.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-B1VnCT0K.js → progress-BJhQP9WX.js} +9 -9
- package/dist/{progress-B1VnCT0K.js.map → progress-BJhQP9WX.js.map} +1 -1
- package/dist/{receipt-BVSOH3Xo.js → receipt-tOc7B3hw.js} +7 -7
- package/dist/receipt-tOc7B3hw.js.map +1 -0
- package/dist/{rich-text-GOUyKQ-s.js → rich-text-Dth5E882.js} +4 -4
- package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-Dth5E882.js.map} +1 -1
- package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-C1fOjBTd.js} +429 -430
- package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-laT3tpBT.js} +33 -29
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
- package/dist/{scroll-area-DcI-M1UT.js → scroll-area-B0dB2cBi.js} +2 -2
- package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
- package/dist/{separator-Bom7NsGO.js → separator-Bb17I4pu.js} +2 -2
- package/dist/{separator-Bom7NsGO.js.map → separator-Bb17I4pu.js.map} +1 -1
- package/dist/{separator-BDV-Y648.js → separator-Ct_WSWTJ.js} +3 -3
- package/dist/{separator-BDV-Y648.js.map → separator-Ct_WSWTJ.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/settings-Bar5wiSo.js +167 -0
- package/dist/settings-Bar5wiSo.js.map +1 -0
- package/dist/sheet-BGPERY55.js +250 -0
- package/dist/sheet-BGPERY55.js.map +1 -0
- package/dist/sidebar-D-JYMMbY.js +686 -0
- package/dist/sidebar-D-JYMMbY.js.map +1 -0
- package/dist/sidebar-f9gRWXIR.js +1001 -0
- package/dist/sidebar-f9gRWXIR.js.map +1 -0
- package/dist/skeleton-BapcJd9C.js +265 -0
- package/dist/skeleton-BapcJd9C.js.map +1 -0
- package/dist/smart-card-CW0hjetE.js +617 -0
- package/dist/smart-card-CW0hjetE.js.map +1 -0
- package/dist/{structure-BmisBK-3.js → structure-DuxKl954.js} +3 -3
- package/dist/{structure-BmisBK-3.js.map → structure-DuxKl954.js.map} +1 -1
- package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
- package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-DsfzoUia.js → table-B4TE7iOV.js} +3 -3
- package/dist/{table-DsfzoUia.js.map → table-B4TE7iOV.js.map} +1 -1
- package/dist/{table-BweFy_P9.js → table-CFOWY9pQ.js} +394 -388
- package/dist/table-CFOWY9pQ.js.map +1 -0
- package/dist/{tabs-CDocW5D1.js → tabs-e7ko9S2o.js} +11 -11
- package/dist/tabs-e7ko9S2o.js.map +1 -0
- package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-B1culiSK.js} +107 -104
- package/dist/text-inputs-B1culiSK.js.map +1 -0
- package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
- package/dist/text.styles-B64My8RZ.js.map +1 -0
- package/dist/theme.css +192 -149
- package/dist/{timelines-CwM_9IhD.js → timelines-D3Sl9ueq.js} +13 -12
- package/dist/timelines-D3Sl9ueq.js.map +1 -0
- package/dist/tooltip-8wz5S_Zr.js +113 -0
- package/dist/tooltip-8wz5S_Zr.js.map +1 -0
- package/dist/{tree-WnKQzwbq.js → tree-CzUJHnFs.js} +9 -9
- package/dist/{tree-WnKQzwbq.js.map → tree-CzUJHnFs.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-BQnine1k.js +117 -0
- package/dist/typography-BQnine1k.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/ui-provider-C-74NVLc.js +178 -0
- package/dist/ui-provider-C-74NVLc.js.map +1 -0
- package/dist/ui-provider.js +2 -3
- package/dist/{upload-CXyxmQBP.js → upload-BOW6U2tI.js} +25 -24
- package/dist/upload-BOW6U2tI.js.map +1 -0
- package/dist/{upload-queue-Boscubn9.js → upload-queue-qUXn1ykN.js} +16 -14
- package/dist/upload-queue-qUXn1ykN.js.map +1 -0
- package/dist/{usage-card-BhO5eqkX.js → usage-card-BeSLY0i0.js} +145 -137
- package/dist/usage-card-BeSLY0i0.js.map +1 -0
- package/dist/{utils-BRhFDwuU.js → utils-B6kKb8jB.js} +303 -144
- package/dist/utils-B6kKb8jB.js.map +1 -0
- package/dist/value-inputs-skdVB2zh.js +980 -0
- package/dist/value-inputs-skdVB2zh.js.map +1 -0
- package/dist/{value-typography-BP8OG6h5.js → value-typography-uAmWUAL1.js} +2 -2
- package/dist/{value-typography-BP8OG6h5.js.map → value-typography-uAmWUAL1.js.map} +1 -1
- package/dist/workspace-DHeHv0qw.js +411 -0
- package/dist/workspace-DHeHv0qw.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +15 -129
- package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
- package/docs/consumer-skill/examples/app-layout.tsx +74 -13
- package/docs/consumer-skill/examples/authentication.tsx +77 -0
- package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
- package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
- package/docs/consumer-skill/examples/detail.tsx +5 -4
- package/docs/consumer-skill/examples/edit.tsx +30 -38
- package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
- package/docs/consumer-skill/examples/index-table.tsx +4 -4
- package/docs/consumer-skill/examples/manifest.json +88 -1
- package/docs/consumer-skill/examples/product-media.tsx +41 -0
- package/docs/consumer-skill/examples/product-parts.tsx +81 -0
- package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
- package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +105 -0
- package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
- package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
- package/docs/consumer-skill/references/agents-md.md +23 -11
- package/docs/consumer-skill/references/analytics.md +18 -1
- package/docs/consumer-skill/references/authentication.md +42 -0
- package/docs/consumer-skill/references/commerce-composition.md +97 -0
- package/docs/consumer-skill/references/component-contracts.json +325201 -0
- package/docs/consumer-skill/references/composition-mapping.md +106 -0
- package/docs/consumer-skill/references/composition.md +198 -46
- package/docs/consumer-skill/references/critique-rubric.md +98 -0
- package/docs/consumer-skill/references/custom-composition.md +261 -0
- package/docs/consumer-skill/references/data-reading.md +79 -0
- package/docs/consumer-skill/references/design-contract.md +43 -9
- package/docs/consumer-skill/references/discovery.md +109 -8
- package/docs/consumer-skill/references/domain-structures.md +124 -0
- package/docs/consumer-skill/references/installation.md +51 -36
- package/docs/consumer-skill/references/integration.md +41 -2
- package/docs/consumer-skill/references/product-composition.md +94 -0
- package/docs/consumer-skill/references/public-api.json +4390 -475
- package/docs/consumer-skill/references/review.md +47 -5
- package/docs/consumer-skill/references/rhf-workflows.md +93 -0
- package/docs/consumer-skill/references/screen-archetypes.md +34 -0
- package/docs/consumer-skill/references/screen-decisions.md +126 -0
- package/docs/consumer-skill/references/theming.md +25 -27
- package/docs/consumer-skill/references/tokens.json +20 -11
- package/docs/consumer-skill/references/view-craft.md +153 -0
- package/docs/consumer-skill/references/view-spec.md +73 -0
- package/docs/consumer-skill/references/workflows.md +9 -2
- package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
- package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
- package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
- package/docs/consumer-skill/scripts/composition.mjs +254 -0
- package/docs/consumer-skill/scripts/discovery.mjs +96 -10
- package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
- package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
- package/docs/consumer-skill/scripts/inspection.mjs +193 -0
- package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
- package/docs/consumer-skill/scripts/setup-skills.mjs +111 -0
- package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
- package/docs/consumer-skills/themelia-components/SKILL.md +31 -0
- package/docs/consumer-skills/themelia-composition/SKILL.md +34 -0
- package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
- package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +15 -0
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +42 -0
- package/package.json +4 -2
- package/templates/README.md +39 -0
- package/templates/admin-shell-template.tsx +382 -0
- package/templates/analytics-operations-template.tsx +376 -0
- package/templates/customers-template.tsx +509 -0
- package/templates/index.ts +29 -0
- package/templates/orders-template.tsx +1102 -0
- package/templates/products-template.tsx +834 -0
- package/templates/user-permissions-template.tsx +450 -0
- package/dist/accordion-Cjb6sx0G.js.map +0 -1
- package/dist/action-menu-CllU52Mm.js +0 -280
- package/dist/action-menu-CllU52Mm.js.map +0 -1
- package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
- package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
- package/dist/app-shell-C4FhvCqF.js +0 -236
- package/dist/app-shell-C4FhvCqF.js.map +0 -1
- package/dist/auth-BGua8ouh.js.map +0 -1
- package/dist/avatar-DAPlDvhJ.js.map +0 -1
- package/dist/base/cascader.js.map +0 -1
- package/dist/batch-action-bar-DnUJ21NQ.js.map +0 -1
- package/dist/button-DVzspB_G.js.map +0 -1
- package/dist/buttons-DPZekJFu.js.map +0 -1
- package/dist/cards-BaBZR-AU.js +0 -68
- package/dist/cards-BaBZR-AU.js.map +0 -1
- package/dist/chart-ZOYyK2xG.js +0 -155
- package/dist/chart-ZOYyK2xG.js.map +0 -1
- package/dist/checkbox-AWIhNhmo.js.map +0 -1
- package/dist/choice-inputs-CNHvARCJ.js +0 -770
- package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
- package/dist/code-block-DeneBJR_.js.map +0 -1
- package/dist/combobox-DaHESuiL.js +0 -355
- package/dist/combobox-DaHESuiL.js.map +0 -1
- package/dist/combobox-Dxo2fAYQ.js.map +0 -1
- package/dist/command-C25VMRII.js.map +0 -1
- package/dist/comments-DD0DUPwJ.js.map +0 -1
- package/dist/containers-Mu1LMGV1.js +0 -103
- package/dist/containers-Mu1LMGV1.js.map +0 -1
- package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
- package/dist/data-display-DT_khPl_.js.map +0 -1
- package/dist/date-picker-B2K3ucWn.js.map +0 -1
- package/dist/date-pickers-Ds8gLaoP.js +0 -175
- package/dist/date-pickers-Ds8gLaoP.js.map +0 -1
- package/dist/dropdown-menu-Cl4X7L5S.js +0 -193
- package/dist/dropdown-menu-Cl4X7L5S.js.map +0 -1
- package/dist/feedback-BYIhtitP.js.map +0 -1
- package/dist/field-affordance-recipes-DZhnIL_Y.js.map +0 -1
- package/dist/filters-DJVAveHA.js.map +0 -1
- package/dist/form-field-CwH9y77i.js.map +0 -1
- package/dist/form-sizing-BdP_Mf5p.js.map +0 -1
- package/dist/forms-B9G_xwzi.js +0 -194
- package/dist/forms-B9G_xwzi.js.map +0 -1
- package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
- package/dist/header-BSfIEWbI.js.map +0 -1
- package/dist/hooks-ClH9thn4.js.map +0 -1
- package/dist/input-CZw8iU99.js +0 -21
- package/dist/input-CZw8iU99.js.map +0 -1
- package/dist/input-DQdEd0YD.js +0 -263
- package/dist/input-DQdEd0YD.js.map +0 -1
- package/dist/item-K5_ghvze.js +0 -275
- package/dist/item-K5_ghvze.js.map +0 -1
- package/dist/message-DZ_ruyUV.js.map +0 -1
- package/dist/metadata-list-8N16ZMW_.js +0 -405
- package/dist/metadata-list-8N16ZMW_.js.map +0 -1
- package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
- package/dist/navigation-Bnotn4AQ.js +0 -145
- package/dist/navigation-Bnotn4AQ.js.map +0 -1
- package/dist/navigation-BzhHI3lo.js.map +0 -1
- package/dist/navigation-row-recipes-BFLCk_Aq.js.map +0 -1
- package/dist/overflow-tab-bar-CWY7Nogn.js +0 -282
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
- package/dist/overlays-tMkF-VAN.js +0 -1003
- package/dist/overlays-tMkF-VAN.js.map +0 -1
- package/dist/page-CL9YeH_V.js +0 -224
- package/dist/page-CL9YeH_V.js.map +0 -1
- package/dist/page-header-commands-DOb6WsfD.js +0 -126
- package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
- package/dist/popover-gnTOhbFM.js +0 -198
- package/dist/popover-gnTOhbFM.js.map +0 -1
- package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
- package/dist/receipt-BVSOH3Xo.js.map +0 -1
- package/dist/rich-text-editor-cRLC-eBK.js.map +0 -1
- package/dist/rich-text-editor-toolbar-DfXg0-VC.js.map +0 -1
- package/dist/settings-ybnjVwbd.js +0 -171
- package/dist/settings-ybnjVwbd.js.map +0 -1
- package/dist/sheet-ijlsjq-n.js +0 -213
- package/dist/sheet-ijlsjq-n.js.map +0 -1
- package/dist/sidebar-Db6gkh3U.js +0 -619
- package/dist/sidebar-Db6gkh3U.js.map +0 -1
- package/dist/sidebar-DkTO4VTO.js +0 -512
- package/dist/sidebar-DkTO4VTO.js.map +0 -1
- package/dist/skeleton-Byjnt7qr.js +0 -264
- package/dist/skeleton-Byjnt7qr.js.map +0 -1
- package/dist/smart-card-DiC5aac3.js +0 -604
- package/dist/smart-card-DiC5aac3.js.map +0 -1
- package/dist/table-BweFy_P9.js.map +0 -1
- package/dist/tabs-CDocW5D1.js.map +0 -1
- package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
- package/dist/text.styles-g4He6UIW.js.map +0 -1
- package/dist/theme-scope-BJ6eE2xt.js +0 -50
- package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
- package/dist/timelines-CwM_9IhD.js.map +0 -1
- package/dist/tooltip-yiRJUFjp.js +0 -111
- package/dist/tooltip-yiRJUFjp.js.map +0 -1
- package/dist/typography-UTnveOEy.js +0 -117
- package/dist/typography-UTnveOEy.js.map +0 -1
- package/dist/ui-provider-C_U0Xma4.js +0 -136
- package/dist/ui-provider-C_U0Xma4.js.map +0 -1
- package/dist/upload-CXyxmQBP.js.map +0 -1
- package/dist/upload-queue-Boscubn9.js.map +0 -1
- package/dist/usage-card-BhO5eqkX.js.map +0 -1
- package/dist/use-mobile-vaLKwgyf.js +0 -15
- package/dist/use-mobile-vaLKwgyf.js.map +0 -1
- package/dist/utils-BRhFDwuU.js.map +0 -1
- package/dist/value-inputs-TaX4OjNk.js +0 -963
- package/dist/value-inputs-TaX4OjNk.js.map +0 -1
- package/dist/workspace-B-OEm3Kf.js +0 -408
- package/dist/workspace-B-OEm3Kf.js.map +0 -1
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ComponentType, ReactNode } from 'react';
|
|
6
6
|
import type { LayoutIconSource, LayoutLinkRenderer, LayoutNavigationAdapter } from '../layout.types';
|
|
7
|
-
import type { SidebarMenuDensity } from '../../base/sidebar';
|
|
7
|
+
import type { SidebarMenuDensity, SidebarPanelId, SidebarPresentation } from '../../base/sidebar';
|
|
8
8
|
import type { StringsProp } from '../../../lib/strings';
|
|
9
9
|
export interface SidebarNavItem {
|
|
10
|
+
/** Stable identity for rendering, branch expansion and live badges; precedes handle and href. */
|
|
11
|
+
id?: string;
|
|
10
12
|
/** Display label. */
|
|
11
13
|
label: ReactNode;
|
|
12
14
|
/** Destination for the entry, when it navigates. */
|
|
@@ -23,10 +25,20 @@ export interface SidebarNavItem {
|
|
|
23
25
|
external?: boolean;
|
|
24
26
|
}
|
|
25
27
|
export type SidebarFlatNavItem = Omit<SidebarNavItem, 'children' | 'group'>;
|
|
28
|
+
export interface SidebarNavigationGroup {
|
|
29
|
+
/** Stable identity independent of the displayed group label. */
|
|
30
|
+
id: string;
|
|
31
|
+
/** Optional section heading. */
|
|
32
|
+
label?: ReactNode;
|
|
33
|
+
items: SidebarNavItem[];
|
|
34
|
+
}
|
|
35
|
+
export type SidebarNavigationGroups = Record<string, SidebarNavItem[]> | readonly SidebarNavigationGroup[];
|
|
26
36
|
export interface SidebarRenderItemContext {
|
|
27
37
|
depth: number;
|
|
28
38
|
/** Marks the control as currently engaged. */
|
|
29
39
|
active: boolean;
|
|
40
|
+
/** This branch contains the current destination, independently of disclosure state. */
|
|
41
|
+
ancestor?: boolean;
|
|
30
42
|
expanded: boolean;
|
|
31
43
|
/** Effective disabled state, including any disabled ancestor. */
|
|
32
44
|
disabled?: boolean;
|
|
@@ -38,23 +50,37 @@ export interface SidebarRenderItemContext {
|
|
|
38
50
|
badge?: string | number;
|
|
39
51
|
renderLink: LayoutLinkRenderer;
|
|
40
52
|
}
|
|
53
|
+
/** Custom row content retains the library-owned link, disclosure and child list. */
|
|
54
|
+
export interface SidebarRenderItemContentContext extends Omit<SidebarRenderItemContext, 'children' | 'setExpanded'> {
|
|
55
|
+
defaultContent: ReactNode;
|
|
56
|
+
}
|
|
57
|
+
export interface SidebarSlotContext {
|
|
58
|
+
panelId: SidebarPanelId;
|
|
59
|
+
collapsed: boolean;
|
|
60
|
+
presentation: SidebarPresentation;
|
|
61
|
+
isMobile: boolean;
|
|
62
|
+
renderLink: LayoutLinkRenderer;
|
|
63
|
+
/** Standard content for this region, without its surrounding anatomy. */
|
|
64
|
+
defaultContent: ReactNode;
|
|
65
|
+
}
|
|
66
|
+
export type SidebarSlot = ReactNode | ((context: SidebarSlotContext) => ReactNode);
|
|
41
67
|
export interface SidebarSlots {
|
|
42
|
-
/**
|
|
43
|
-
header?:
|
|
68
|
+
/** A node replaces the full header; a callback supplies content inside the padded header. */
|
|
69
|
+
header?: SidebarSlot;
|
|
44
70
|
/** Pinned content before the standard logo/workspace region, inside its padded header. */
|
|
45
71
|
headerStart?: ReactNode;
|
|
46
72
|
/** Pinned content after the standard logo/workspace region. Full header replacement wins. */
|
|
47
73
|
headerEnd?: ReactNode;
|
|
48
|
-
beforeNavigation?:
|
|
49
|
-
afterNavigation?:
|
|
74
|
+
beforeNavigation?: SidebarSlot;
|
|
75
|
+
afterNavigation?: SidebarSlot;
|
|
50
76
|
/** Content below the body. */
|
|
51
|
-
footer?:
|
|
77
|
+
footer?: SidebarSlot;
|
|
52
78
|
empty?: ReactNode;
|
|
53
79
|
/** Shows the pending indicator. */
|
|
54
80
|
loading?: ReactNode;
|
|
55
81
|
}
|
|
56
82
|
export interface SidebarExpansionProps {
|
|
57
|
-
/** Expanded branch keys from handle, href, or a plain-text label. Controlled. */
|
|
83
|
+
/** Expanded branch keys from id, handle, href, or a plain-text label. Controlled. */
|
|
58
84
|
expandedItems?: readonly string[];
|
|
59
85
|
/** Initially expanded branches. Active ancestors also open automatically. */
|
|
60
86
|
defaultExpandedItems?: readonly string[];
|
|
@@ -69,6 +95,8 @@ export interface SidebarNavigationStrings {
|
|
|
69
95
|
}
|
|
70
96
|
export declare const defaultSidebarNavigationStrings: SidebarNavigationStrings;
|
|
71
97
|
export interface AppSidebarProps extends LayoutNavigationAdapter, SidebarExpansionProps {
|
|
98
|
+
/** Accessible name for the navigation landmark. Defaults to the named panel's role. */
|
|
99
|
+
'aria-label'?: string;
|
|
72
100
|
/** Enables the library input and local navigation filtering. */
|
|
73
101
|
searchable?: boolean;
|
|
74
102
|
/** Search text. Controlled; renderNode labels use their handle as searchable text. */
|
|
@@ -80,7 +108,7 @@ export interface AppSidebarProps extends LayoutNavigationAdapter, SidebarExpansi
|
|
|
80
108
|
/** Row and child-list rhythm. Inherits the sidebar provider. */
|
|
81
109
|
menuDensity?: SidebarMenuDensity;
|
|
82
110
|
/** Navigation items grouped by section heading. */
|
|
83
|
-
navigationGroups?:
|
|
111
|
+
navigationGroups?: SidebarNavigationGroups;
|
|
84
112
|
/** Navigation items pinned to the sidebar footer. */
|
|
85
113
|
footerNavItems?: SidebarFlatNavItem[];
|
|
86
114
|
/** Heading above the footer navigation. */
|
|
@@ -111,8 +139,12 @@ export interface AppSidebarProps extends LayoutNavigationAdapter, SidebarExpansi
|
|
|
111
139
|
liveBadges?: Record<string, string | number>;
|
|
112
140
|
/** Shows the pending indicator. */
|
|
113
141
|
loading?: boolean;
|
|
114
|
-
/**
|
|
142
|
+
/** Desktop collapse: icon keeps a compact rail, offcanvas closes the panel, none stays expanded. */
|
|
115
143
|
collapsible?: 'offcanvas' | 'icon' | 'none';
|
|
144
|
+
/** Named state owner; inherits the nearest shell region, then primary. */
|
|
145
|
+
panelId?: SidebarPanelId;
|
|
146
|
+
/** Transparent docked surfaces share their shell canvas. Drawers remain opaque. */
|
|
147
|
+
surface?: 'default' | 'transparent';
|
|
116
148
|
/** Shell treatment. */
|
|
117
149
|
variant?: 'sidebar' | 'floating' | 'inset';
|
|
118
150
|
/** Which side of the trigger the surface opens on. */
|
|
@@ -126,6 +158,8 @@ export interface AppSidebarProps extends LayoutNavigationAdapter, SidebarExpansi
|
|
|
126
158
|
slots?: SidebarSlots;
|
|
127
159
|
/** Renders one item through the consumer's router. */
|
|
128
160
|
renderItem?: (item: SidebarNavItem, context: SidebarRenderItemContext) => ReactNode;
|
|
161
|
+
/** Replaces row content while retaining the link, disclosure, focus and descendants. */
|
|
162
|
+
renderItemContent?: (item: SidebarNavItem, context: SidebarRenderItemContentContext) => ReactNode;
|
|
129
163
|
}
|
|
130
164
|
export interface SidebarGroupedNavigationProps extends LayoutNavigationAdapter, SidebarExpansionProps {
|
|
131
165
|
/** Optional local filter. Matching ancestors stay visible and open. */
|
|
@@ -134,7 +168,7 @@ export interface SidebarGroupedNavigationProps extends LayoutNavigationAdapter,
|
|
|
134
168
|
/** Row and child-list rhythm. Inherits the sidebar provider. */
|
|
135
169
|
menuDensity?: SidebarMenuDensity;
|
|
136
170
|
/** Navigation items grouped by section heading. */
|
|
137
|
-
navigationByGroups:
|
|
171
|
+
navigationByGroups: SidebarNavigationGroups;
|
|
138
172
|
/** URL of the active route, used to mark the current item. */
|
|
139
173
|
currentUrl?: string;
|
|
140
174
|
/** Resolves an item's icon name to a component, keeping navigation data serialisable. */
|
|
@@ -149,6 +183,8 @@ export interface SidebarGroupedNavigationProps extends LayoutNavigationAdapter,
|
|
|
149
183
|
emptySlot?: ReactNode;
|
|
150
184
|
/** Renders one item through the consumer's router. */
|
|
151
185
|
renderItem?: (item: SidebarNavItem, context: SidebarRenderItemContext) => ReactNode;
|
|
186
|
+
/** Replaces row content while retaining accessible navigation anatomy. */
|
|
187
|
+
renderItemContent?: (item: SidebarNavItem, context: SidebarRenderItemContentContext) => ReactNode;
|
|
152
188
|
className?: string;
|
|
153
189
|
}
|
|
154
190
|
export interface SidebarFlatNavigationProps extends LayoutNavigationAdapter {
|
|
@@ -170,6 +206,8 @@ export interface SidebarFlatNavigationProps extends LayoutNavigationAdapter {
|
|
|
170
206
|
liveBadges?: Record<string, string | number>;
|
|
171
207
|
/** Renders one item through the consumer's router. */
|
|
172
208
|
renderItem?: (item: SidebarFlatNavItem, context: SidebarRenderItemContext) => ReactNode;
|
|
209
|
+
/** Replaces row content while retaining the accessible link and focus treatment. */
|
|
210
|
+
renderItemContent?: (item: SidebarFlatNavItem, context: SidebarRenderItemContentContext) => ReactNode;
|
|
173
211
|
className?: string;
|
|
174
212
|
}
|
|
175
213
|
export interface WorkspaceLink {
|
|
@@ -5,6 +5,13 @@ import type { SidebarNavItem } from './sidebar.types';
|
|
|
5
5
|
import type { ComponentScale } from '../../../lib/component-vocabulary';
|
|
6
6
|
export declare function toPath(href: string): string;
|
|
7
7
|
export declare function isPathMatch(currentUrl: string, path: string): boolean;
|
|
8
|
+
/** Choose one destination across the whole navigation tree. Prefix matches
|
|
9
|
+
* still open ancestors, but a shorter sibling route is not also current. */
|
|
10
|
+
interface NavigationPathItem {
|
|
11
|
+
href?: string;
|
|
12
|
+
children?: readonly NavigationPathItem[];
|
|
13
|
+
}
|
|
14
|
+
export declare function getCurrentNavigationHref(currentUrl: string, items: readonly NavigationPathItem[]): string | undefined;
|
|
8
15
|
export declare function getNavLabel(item: Pick<SidebarNavItem, 'label'>): React.ReactNode;
|
|
9
16
|
export declare function getNavKey(item: SidebarNavItem, fallbackIndex?: number): React.Key;
|
|
10
17
|
export declare function NavBadge({ value, size, }: {
|
|
@@ -13,7 +20,7 @@ export declare function NavBadge({ value, size, }: {
|
|
|
13
20
|
/** Size preset. */
|
|
14
21
|
size?: ComponentScale;
|
|
15
22
|
}): React.JSX.Element;
|
|
16
|
-
export declare function resolveNavBadge(handle: string | undefined, itemBadge: string | number | undefined, liveBadges: Record<string, string | number> | undefined): string | number | undefined;
|
|
23
|
+
export declare function resolveNavBadge(handle: string | undefined, itemBadge: string | number | undefined, liveBadges: Record<string, string | number> | undefined, id?: string): string | number | undefined;
|
|
17
24
|
export interface DynamicIconProps extends React.SVGProps<SVGSVGElement> {
|
|
18
25
|
/** Leading glyph. */
|
|
19
26
|
icon: LayoutIconSource;
|
|
@@ -27,3 +34,4 @@ export interface DynamicIconProps extends React.SVGProps<SVGSVGElement> {
|
|
|
27
34
|
}
|
|
28
35
|
export declare function DynamicIcon({ icon, iconMap, size, className, ...props }: DynamicIconProps): React.JSX.Element | null;
|
|
29
36
|
export declare function renderSidebarLink(renderLink: LayoutLinkRenderer, item: SidebarNavItem, children: React.ReactNode, className?: string, active?: boolean): React.ReactNode;
|
|
37
|
+
export {};
|
|
@@ -61,7 +61,7 @@ export interface WorkspaceRecordHeaderProps extends Omit<HTMLAttributes<HTMLDivE
|
|
|
61
61
|
actions?: ReactNode;
|
|
62
62
|
/**
|
|
63
63
|
* The record's one main command: a solid primary button after the secondary
|
|
64
|
-
* commands,
|
|
64
|
+
* commands, available in the compact header menu.
|
|
65
65
|
*/
|
|
66
66
|
primaryAction?: PageHeaderAction;
|
|
67
67
|
/**
|
|
@@ -72,6 +72,13 @@ export interface WorkspaceRecordHeaderProps extends Omit<HTMLAttributes<HTMLDivE
|
|
|
72
72
|
* command objects instead.
|
|
73
73
|
*/
|
|
74
74
|
secondaryActions?: ReactNode | readonly PageHeaderAction[];
|
|
75
|
+
/**
|
|
76
|
+
* How many routine secondary commands render as outline buttons on wide
|
|
77
|
+
* headers; later ones join the More actions menu. Use `1` or `0` when long
|
|
78
|
+
* labels beside the primary command would crowd the header; `Infinity`
|
|
79
|
+
* keeps every routine command inline. @default 2
|
|
80
|
+
*/
|
|
81
|
+
maxVisibleSecondaryActions?: number;
|
|
75
82
|
/** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
|
|
76
83
|
moreActionsLabel?: string;
|
|
77
84
|
/** Current state, shown as a chip. */
|
|
@@ -38,6 +38,31 @@ export declare const headingSizes: {
|
|
|
38
38
|
readonly '3xl': "text-3xl leading-tight tracking-tight";
|
|
39
39
|
readonly '4xl': "text-4xl leading-tight tracking-tight";
|
|
40
40
|
};
|
|
41
|
+
/** Library-owned title responsibilities; semantic heading tags remain separate.
|
|
42
|
+
* A nested record title is a subject, even when its component is called a header. */
|
|
43
|
+
export declare const headingRoleSizes: {
|
|
44
|
+
readonly route: "xl";
|
|
45
|
+
readonly subject: "base";
|
|
46
|
+
readonly subsection: "sm";
|
|
47
|
+
};
|
|
48
|
+
/** Shared copy intent without fixing the provider's ordinary text size.
|
|
49
|
+
* Compact supporting copy deliberately uses the smaller secondary role. */
|
|
50
|
+
export declare const copyRoleProps: {
|
|
51
|
+
readonly primary: {
|
|
52
|
+
readonly type: "inherit";
|
|
53
|
+
};
|
|
54
|
+
readonly structuralDescription: {
|
|
55
|
+
readonly type: "secondary";
|
|
56
|
+
};
|
|
57
|
+
readonly supporting: {
|
|
58
|
+
readonly type: "secondary";
|
|
59
|
+
readonly size: "xs";
|
|
60
|
+
};
|
|
61
|
+
readonly subsection: {
|
|
62
|
+
readonly type: "inherit";
|
|
63
|
+
readonly weight: "semibold";
|
|
64
|
+
};
|
|
65
|
+
};
|
|
41
66
|
export declare const textWeights: {
|
|
42
67
|
readonly normal: "font-normal";
|
|
43
68
|
readonly regular: "font-normal";
|
|
@@ -72,7 +97,7 @@ export declare const textLineHeights: {
|
|
|
72
97
|
export declare const textVariants: (props?: ({
|
|
73
98
|
type?: "primary" | "secondary" | "success" | "inherit" | "main" | "inverse" | "discrete" | "error" | null | undefined;
|
|
74
99
|
size?: "sm" | "lg" | "inherit" | "xxs" | "xs" | "pxs" | "base" | "xl" | null | undefined;
|
|
75
|
-
weight?: "inherit" | "bold" | "normal" | "medium" | "
|
|
100
|
+
weight?: "inherit" | "bold" | "normal" | "medium" | "semibold" | "regular" | null | undefined;
|
|
76
101
|
align?: "center" | "left" | "right" | null | undefined;
|
|
77
102
|
lineHeight?: "inherit" | "none" | "normal" | "loose" | "relaxed" | "tight" | "snug" | null | undefined;
|
|
78
103
|
numeric?: boolean | null | undefined;
|
|
@@ -4,9 +4,9 @@ import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog
|
|
|
4
4
|
import { Button } from "./button";
|
|
5
5
|
declare function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props): React.JSX.Element;
|
|
6
6
|
declare function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props): React.JSX.Element;
|
|
7
|
-
declare function AlertDialogPortal({ container, ...props }: AlertDialogPrimitive.Portal.Props): React.JSX.Element;
|
|
7
|
+
declare function AlertDialogPortal({ container, className, ...props }: AlertDialogPrimitive.Portal.Props): React.JSX.Element;
|
|
8
8
|
declare function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.Backdrop.Props): React.JSX.Element;
|
|
9
|
-
declare function AlertDialogContent({ className, container, size, ...props }: AlertDialogPrimitive.Popup.Props & {
|
|
9
|
+
declare function AlertDialogContent({ className, container, size, children, finalFocus: finalFocusProp, ...props }: AlertDialogPrimitive.Popup.Props & {
|
|
10
10
|
size?: "default" | "sm";
|
|
11
11
|
} & {
|
|
12
12
|
container?: ThemePortalContainer;
|
|
@@ -21,7 +21,7 @@ type ComboboxInputTriggerProps = Omit<ComboboxPrimitive.Input.Props, 'size'> & {
|
|
|
21
21
|
error?: boolean;
|
|
22
22
|
};
|
|
23
23
|
declare function ComboboxInputTrigger({ className, render, showClear, clearLabel, toggleLabel, size, error, ...props }: ComboboxInputTriggerProps): React.JSX.Element;
|
|
24
|
-
declare function ComboboxPortal({ container, ...props }: ComboboxPrimitive.Portal.Props): React.JSX.Element;
|
|
24
|
+
declare function ComboboxPortal({ container, className, ...props }: ComboboxPrimitive.Portal.Props): React.JSX.Element;
|
|
25
25
|
declare function ComboboxPositioner({ className, positionMethod, sideOffset, ...props }: ComboboxPrimitive.Positioner.Props): React.JSX.Element;
|
|
26
26
|
declare function ComboboxPopup({ className, render, ...props }: ComboboxPrimitive.Popup.Props): React.JSX.Element;
|
|
27
27
|
declare function ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props): React.JSX.Element;
|
|
@@ -5,10 +5,10 @@ declare function Dialog({ ...props }: DialogPrimitive.Root.Props): React.JSX.Ele
|
|
|
5
5
|
declare function DialogTrigger({ asChild, ...props }: DialogPrimitive.Trigger.Props & {
|
|
6
6
|
asChild?: boolean;
|
|
7
7
|
}): React.JSX.Element;
|
|
8
|
-
declare function DialogPortal({ container, ...props }: DialogPrimitive.Portal.Props): React.JSX.Element;
|
|
8
|
+
declare function DialogPortal({ container, className, ...props }: DialogPrimitive.Portal.Props): React.JSX.Element;
|
|
9
9
|
declare function DialogClose({ ...props }: DialogPrimitive.Close.Props): React.JSX.Element;
|
|
10
10
|
declare function DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props): React.JSX.Element;
|
|
11
|
-
declare function DialogContent({ className, container, children, showCloseButton, onFocusCapture, ...props }: DialogPrimitive.Popup.Props & {
|
|
11
|
+
declare function DialogContent({ className, container, children, showCloseButton, onFocusCapture, finalFocus: finalFocusProp, ...props }: DialogPrimitive.Popup.Props & {
|
|
12
12
|
showCloseButton?: boolean;
|
|
13
13
|
} & {
|
|
14
14
|
container?: ThemePortalContainer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare function OverlayLayer({ children }: {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}): React.JSX.Element;
|
|
5
|
+
declare function useInsideOverlayLayer(): boolean;
|
|
6
|
+
type FinalFocus = boolean | React.RefObject<HTMLElement | null> | ((closeType: never) => boolean | HTMLElement | null | void);
|
|
7
|
+
/**
|
|
8
|
+
* Returns focus to the element that opened the modal. Base UI returns it to the
|
|
9
|
+
* nested parent instead, and under the sidebar drawer owner that parent is closed,
|
|
10
|
+
* so focus fell to the body. Like the default, it leaves focus alone when the app
|
|
11
|
+
* already moved it outside the popup (a confirm that focuses an editor). An
|
|
12
|
+
* explicit `finalFocus` still wins.
|
|
13
|
+
*/
|
|
14
|
+
declare function useOpenerFinalFocus<T extends FinalFocus | undefined>(finalFocus: T): {
|
|
15
|
+
capture: React.JSX.Element;
|
|
16
|
+
finalFocus: (() => boolean | HTMLElement) | NonNullable<T>;
|
|
17
|
+
};
|
|
18
|
+
export { OverlayLayer, useInsideOverlayLayer, useOpenerFinalFocus };
|
|
@@ -8,9 +8,13 @@ declare function SheetTrigger({ asChild, ...props }: SheetPrimitive.Trigger.Prop
|
|
|
8
8
|
declare function SheetClose({ asChild, ...props }: SheetPrimitive.Close.Props & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}): React.JSX.Element;
|
|
11
|
-
declare function SheetContent({ className, container, children, side, showCloseButton, onFocusCapture, ...props }: SheetPrimitive.Popup.Props & {
|
|
11
|
+
declare function SheetContent({ className, container, children, side, showCloseButton, forceRenderBackdrop, backdropClassName, onFocusCapture, finalFocus: finalFocusProp, ...props }: SheetPrimitive.Popup.Props & {
|
|
12
12
|
side?: "top" | "right" | "bottom" | "left";
|
|
13
13
|
showCloseButton?: boolean;
|
|
14
|
+
/** @internal Render the native backdrop for an embedded sidebar root. */
|
|
15
|
+
forceRenderBackdrop?: boolean;
|
|
16
|
+
/** @internal Position the existing native backdrop within a sidebar frame. */
|
|
17
|
+
backdropClassName?: string;
|
|
14
18
|
} & {
|
|
15
19
|
container?: ThemePortalContainer;
|
|
16
20
|
}): React.JSX.Element;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type SidebarPanelId = 'primary' | 'secondary' | 'aside';
|
|
3
|
+
export type SidebarPresentation = 'docked' | 'drawer';
|
|
4
|
+
export type SidebarCollapseMode = 'offcanvas' | 'icon' | 'none';
|
|
5
|
+
export declare const sidebarDockThresholds: {
|
|
6
|
+
readonly primary: 768;
|
|
7
|
+
readonly secondary: 1024;
|
|
8
|
+
readonly aside: 1440;
|
|
9
|
+
};
|
|
10
|
+
export interface SidebarStateProps {
|
|
11
|
+
defaultOpen?: boolean;
|
|
12
|
+
adaptTo?: 'viewport' | 'container';
|
|
13
|
+
open?: boolean;
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
/** Controlled expanded desktop panels. Takes precedence over the legacy primary `open` prop. */
|
|
16
|
+
openPanels?: readonly SidebarPanelId[];
|
|
17
|
+
/** Initial uncontrolled desktop panels. Otherwise `defaultOpen` initializes primary only. */
|
|
18
|
+
defaultOpenPanels?: readonly SidebarPanelId[];
|
|
19
|
+
/** Receives an isolated desktop-state proposal; primary changes also notify `onOpenChange`. */
|
|
20
|
+
onOpenPanelsChange?: (panels: SidebarPanelId[]) => void;
|
|
21
|
+
/** Controlled active undocked panel, or null. Independent of remembered desktop expansion. */
|
|
22
|
+
mobilePanel?: SidebarPanelId | null;
|
|
23
|
+
/** Receives drawer selection and dismissal proposals, including removal or return to docked presentation. */
|
|
24
|
+
onMobilePanelChange?: (panel: SidebarPanelId | null) => void;
|
|
25
|
+
/** Default target for untargeted triggers and the keyboard shortcut. @default 'primary' */
|
|
26
|
+
navigationPanel?: 'primary' | 'secondary';
|
|
27
|
+
/** Ctrl/Command key for navigationPanel; false disables it. Editable fields and overlays retain their shortcuts. @default 'b' */
|
|
28
|
+
keyboardShortcut?: string | false;
|
|
29
|
+
}
|
|
30
|
+
type RegionRegistration = {
|
|
31
|
+
dockAt: number;
|
|
32
|
+
width?: number;
|
|
33
|
+
collapsible?: SidebarCollapseMode;
|
|
34
|
+
};
|
|
35
|
+
export interface SidebarScopeValue {
|
|
36
|
+
panelId: SidebarPanelId;
|
|
37
|
+
geometry?: 'panel' | 'rail';
|
|
38
|
+
side?: 'left' | 'right';
|
|
39
|
+
setCollapse?: (value: {
|
|
40
|
+
collapsible: SidebarCollapseMode;
|
|
41
|
+
variant: 'sidebar' | 'floating' | 'inset';
|
|
42
|
+
} | null) => void;
|
|
43
|
+
}
|
|
44
|
+
export declare const SidebarScopeContext: React.Context<SidebarScopeValue | null>;
|
|
45
|
+
export declare const SidebarScope: React.Provider<SidebarScopeValue | null>;
|
|
46
|
+
type SidebarStore = {
|
|
47
|
+
openPanels: readonly SidebarPanelId[];
|
|
48
|
+
mobilePanel: SidebarPanelId | null;
|
|
49
|
+
navigationPanel: SidebarPanelId;
|
|
50
|
+
adaptTo: 'viewport' | 'container';
|
|
51
|
+
hostRef: React.RefObject<HTMLDivElement | null>;
|
|
52
|
+
getPresentation: (panelId: SidebarPanelId) => SidebarPresentation;
|
|
53
|
+
getCollapseMode: (panelId: SidebarPanelId) => SidebarCollapseMode | undefined;
|
|
54
|
+
setPanelOpen: (panelId: SidebarPanelId, value: boolean | ((open: boolean) => boolean)) => void;
|
|
55
|
+
setPanelOpenMobile: (panelId: SidebarPanelId, value: React.SetStateAction<boolean>) => void;
|
|
56
|
+
setMobilePanel: (value: SidebarPanelId | null) => void;
|
|
57
|
+
togglePanel: (panelId: SidebarPanelId) => void;
|
|
58
|
+
registerRegion: (panelId: SidebarPanelId, region: RegionRegistration | null) => void;
|
|
59
|
+
triggerFor: (panelId: SidebarPanelId) => HTMLElement | null;
|
|
60
|
+
rememberTrigger: (panelId: SidebarPanelId, element: HTMLElement) => void;
|
|
61
|
+
};
|
|
62
|
+
export declare function useSidebarStore(): SidebarStore | null;
|
|
63
|
+
export declare function useSidebar(panelId?: SidebarPanelId): {
|
|
64
|
+
panelId: SidebarPanelId;
|
|
65
|
+
side: "left" | "right";
|
|
66
|
+
state: "expanded" | "collapsed";
|
|
67
|
+
open: boolean;
|
|
68
|
+
setOpen: (value: boolean | ((open: boolean) => boolean)) => void;
|
|
69
|
+
/** Whether the selected desktop panel is collapsed; drawers expose expanded content. */
|
|
70
|
+
collapsed: boolean;
|
|
71
|
+
/** Effective presentation for the selected panel, including its own docking threshold. */
|
|
72
|
+
presentation: SidebarPresentation;
|
|
73
|
+
isMobile: boolean;
|
|
74
|
+
openMobile: boolean;
|
|
75
|
+
setOpenMobile: (value: React.SetStateAction<boolean>) => void;
|
|
76
|
+
toggleSidebar: () => void;
|
|
77
|
+
openPanels: readonly SidebarPanelId[];
|
|
78
|
+
mobilePanel: SidebarPanelId | null;
|
|
79
|
+
setMobilePanel: (value: SidebarPanelId | null) => void;
|
|
80
|
+
};
|
|
81
|
+
export declare function SidebarProvider({ defaultOpen, adaptTo, open, onOpenChange, openPanels, defaultOpenPanels, onOpenPanelsChange, mobilePanel: controlledMobilePanel, onMobilePanelChange, navigationPanel, keyboardShortcut, ref: forwardedRef, className, style, children, ...props }: React.ComponentProps<'div'> & SidebarStateProps): React.JSX.Element;
|
|
82
|
+
export {};
|
|
@@ -5,28 +5,16 @@ import { Button } from "./button";
|
|
|
5
5
|
import { Input } from "./input";
|
|
6
6
|
import { Separator } from "./separator";
|
|
7
7
|
import { TooltipContent } from "./tooltip";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
open: boolean;
|
|
11
|
-
setOpen: (open: boolean) => void;
|
|
12
|
-
openMobile: boolean;
|
|
13
|
-
setOpenMobile: (open: boolean) => void;
|
|
14
|
-
isMobile: boolean;
|
|
15
|
-
toggleSidebar: () => void;
|
|
16
|
-
};
|
|
17
|
-
declare function useSidebar(): SidebarContextProps;
|
|
18
|
-
declare function SidebarProvider({ defaultOpen, adaptTo, ref: forwardedRef, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
|
|
19
|
-
defaultOpen?: boolean;
|
|
20
|
-
adaptTo?: "viewport" | "container";
|
|
21
|
-
open?: boolean;
|
|
22
|
-
onOpenChange?: (open: boolean) => void;
|
|
23
|
-
}): React.JSX.Element;
|
|
8
|
+
import { SidebarProvider, useSidebar } from "./sidebar-state";
|
|
9
|
+
import { type SidebarPanelId } from "./sidebar-state";
|
|
24
10
|
declare function Sidebar({ side, variant, collapsible, className, children, dir, ...props }: React.ComponentProps<"div"> & {
|
|
25
11
|
side?: "left" | "right";
|
|
26
12
|
variant?: "sidebar" | "floating" | "inset";
|
|
27
13
|
collapsible?: "offcanvas" | "icon" | "none";
|
|
28
14
|
}): React.JSX.Element;
|
|
29
|
-
declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>
|
|
15
|
+
declare function SidebarTrigger({ className, onClick, panelId, children, ...props }: React.ComponentProps<typeof Button> & {
|
|
16
|
+
panelId?: SidebarPanelId;
|
|
17
|
+
}): React.JSX.Element;
|
|
30
18
|
declare function SidebarRail({ className, ...props }: React.ComponentProps<"button">): React.JSX.Element;
|
|
31
19
|
declare function SidebarInset({ className, ...props }: React.ComponentProps<"main">): React.JSX.Element;
|
|
32
20
|
declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): React.JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { n as e } from "./structure.recipes-BB4-n58V.js";
|
|
2
|
+
//#region src/components/base/structure/composition.recipes.ts
|
|
3
|
+
var t = {
|
|
4
|
+
commands: "md",
|
|
5
|
+
compactActions: "xs",
|
|
6
|
+
related: "xl",
|
|
7
|
+
subjects: "2xl",
|
|
8
|
+
page: "3xl"
|
|
9
|
+
}, n = {
|
|
10
|
+
commands: e({ gap: t.commands }).join(" "),
|
|
11
|
+
compactActions: e({ gap: t.compactActions }).join(" "),
|
|
12
|
+
related: e({ gap: t.related }).join(" "),
|
|
13
|
+
subjects: e({ gap: t.subjects }).join(" "),
|
|
14
|
+
page: e({ gap: t.page }).join(" ")
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { t as n, n as t };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=composition.recipes-COdiFhxB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.recipes-COdiFhxB.js","names":["gapRecipe","compositionRhythm","compositionClasses"],"sources":["../src/components/base/structure/composition.recipes.ts"],"sourcesContent":["import {gapRecipe} from './structure.recipes';\nimport type {StructureGap} from './structure.types';\n\n/** Private relationship defaults. Generic Stack/Grid retain their own defaults;\n * surface regions and collection rows keep their independent recipe owners. */\nexport const compositionRhythm = {\n commands: 'md',\n compactActions: 'xs',\n related: 'xl',\n subjects: '2xl',\n page: '3xl',\n} as const satisfies Record<string, StructureGap>;\n\n/** Native layout owners use the same vocabulary as Stack/Grid. */\nexport const compositionClasses = {\n commands: gapRecipe({gap: compositionRhythm.commands}).join(' '),\n compactActions: gapRecipe({gap: compositionRhythm.compactActions}).join(' '),\n related: gapRecipe({gap: compositionRhythm.related}).join(' '),\n subjects: gapRecipe({gap: compositionRhythm.subjects}).join(' '),\n page: gapRecipe({gap: compositionRhythm.page}).join(' '),\n} as const satisfies Record<keyof typeof compositionRhythm, string>;\n"],"mappings":";;AAKA,IAAaC,IAAoB;CAChC,UAAU;CACV,gBAAgB;CAChB,SAAS;CACT,UAAU;CACV,MAAM;AACP,GAGaC,IAAqB;CACjC,UAAUF,EAAU,EAAC,KAAKC,EAAkB,SAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;CAC/D,gBAAgBD,EAAU,EAAC,KAAKC,EAAkB,eAAc,CAAC,CAAC,CAAC,KAAK,GAAG;CAC3E,SAASD,EAAU,EAAC,KAAKC,EAAkB,QAAO,CAAC,CAAC,CAAC,KAAK,GAAG;CAC7D,UAAUD,EAAU,EAAC,KAAKC,EAAkB,SAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;CAC/D,MAAMD,EAAU,EAAC,KAAKC,EAAkB,KAAI,CAAC,CAAC,CAAC,KAAK,GAAG;AACxD"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./utils-B6kKb8jB.js";
|
|
3
|
+
import { t } from "./focus-recipes-B653VaLq.js";
|
|
4
|
+
import { o as n } from "./structure.recipes-BB4-n58V.js";
|
|
5
|
+
import { n as r, t as i } from "./composition.recipes-COdiFhxB.js";
|
|
6
|
+
import { t as a } from "./container.recipes-D9t8MHR3.js";
|
|
7
|
+
import { forwardRef as o } from "react";
|
|
8
|
+
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
9
|
+
import { useRender as u } from "@base-ui/react/use-render";
|
|
10
|
+
//#region src/components/layout/containers/content-container.tsx
|
|
11
|
+
var d = o(function({ className: t, maxWidth: n, gutter: r, render: i, ...o }, s) {
|
|
12
|
+
return u({
|
|
13
|
+
defaultTagName: "div",
|
|
14
|
+
ref: s,
|
|
15
|
+
render: i,
|
|
16
|
+
props: {
|
|
17
|
+
...o,
|
|
18
|
+
className: e("container--component @container/content", a({
|
|
19
|
+
maxWidth: n,
|
|
20
|
+
gutter: r
|
|
21
|
+
}), t)
|
|
22
|
+
},
|
|
23
|
+
state: {}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
d.displayName = "Container";
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/components/layout/containers/page-viewport.tsx
|
|
29
|
+
var f = o(function({ className: n, render: r, tabIndex: i = 0, ...a }, o) {
|
|
30
|
+
return u({
|
|
31
|
+
defaultTagName: "div",
|
|
32
|
+
ref: o,
|
|
33
|
+
render: r,
|
|
34
|
+
props: {
|
|
35
|
+
...a,
|
|
36
|
+
tabIndex: i,
|
|
37
|
+
className: e(`page-viewport--component min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain [scrollbar-gutter:stable] @container/page focus-visible:outline-none ${t.inset}`, n)
|
|
38
|
+
},
|
|
39
|
+
state: {}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
f.displayName = "PageViewport";
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/components/layout/containers/section.tsx
|
|
45
|
+
var p = o(function({ className: t, gap: i, render: a, ...o }, s) {
|
|
46
|
+
return u({
|
|
47
|
+
defaultTagName: "section",
|
|
48
|
+
ref: s,
|
|
49
|
+
render: a,
|
|
50
|
+
props: {
|
|
51
|
+
...o,
|
|
52
|
+
className: e("section--component", n({ gap: i ?? r.related }), t)
|
|
53
|
+
},
|
|
54
|
+
state: {}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
p.displayName = "Section";
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/components/layout/containers/two-column-layout.tsx
|
|
60
|
+
var m = {
|
|
61
|
+
default: "@3xl:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",
|
|
62
|
+
"7/5": "@3xl:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]",
|
|
63
|
+
"8/4": "@3xl:grid-cols-[minmax(0,8fr)_minmax(0,4fr)]"
|
|
64
|
+
}, h = {
|
|
65
|
+
default: "lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]",
|
|
66
|
+
"7/5": "lg:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]",
|
|
67
|
+
"8/4": "lg:grid-cols-[minmax(0,8fr)_minmax(0,4fr)]"
|
|
68
|
+
}, g = o(function({ header: t, main: n, aside: r, footer: a, stickyAside: o = !1, adaptTo: d = "viewport", ratio: f, slotProps: p, className: g, render: _, ...v }, y) {
|
|
69
|
+
let { className: b, ...x } = p?.header ?? {}, { className: S, ...C } = p?.main ?? {}, { className: w, ...T } = p?.aside ?? {}, { className: E, ...D } = p?.footer ?? {};
|
|
70
|
+
return u({
|
|
71
|
+
defaultTagName: "div",
|
|
72
|
+
ref: y,
|
|
73
|
+
render: _,
|
|
74
|
+
props: {
|
|
75
|
+
...v,
|
|
76
|
+
"data-slot": "two-column-layout",
|
|
77
|
+
className: e("two-column-layout--component grid min-w-0 grid-cols-1", i.subjects, d === "container" ? m[f ?? "default"] : h[f ?? "default"], g),
|
|
78
|
+
children: /* @__PURE__ */ l(s, { children: [
|
|
79
|
+
t == null ? null : /* @__PURE__ */ c("div", {
|
|
80
|
+
...x,
|
|
81
|
+
"data-slot": "two-column-layout-header",
|
|
82
|
+
className: e("two-column-layout--header col-span-full min-w-0", b),
|
|
83
|
+
children: t
|
|
84
|
+
}),
|
|
85
|
+
/* @__PURE__ */ c("div", {
|
|
86
|
+
...C,
|
|
87
|
+
"data-slot": "two-column-layout-main",
|
|
88
|
+
className: e("two-column-layout--main flex min-h-0 min-w-0 flex-col", i.subjects, S),
|
|
89
|
+
children: n
|
|
90
|
+
}),
|
|
91
|
+
/* @__PURE__ */ c("aside", {
|
|
92
|
+
...T,
|
|
93
|
+
"data-slot": "two-column-layout-aside",
|
|
94
|
+
className: e("two-column-layout--aside flex min-h-0 min-w-0 flex-col", i.subjects, o && (d === "container" ? "@3xl:sticky @3xl:top-space-2xl @3xl:self-start" : "lg:sticky lg:top-space-2xl lg:self-start"), w),
|
|
95
|
+
children: r
|
|
96
|
+
}),
|
|
97
|
+
a == null ? null : /* @__PURE__ */ c("div", {
|
|
98
|
+
...D,
|
|
99
|
+
"data-slot": "two-column-layout-footer",
|
|
100
|
+
className: e("two-column-layout--footer col-span-full min-w-0", E),
|
|
101
|
+
children: a
|
|
102
|
+
})
|
|
103
|
+
] })
|
|
104
|
+
},
|
|
105
|
+
state: {}
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
g.displayName = "TwoColumnLayout";
|
|
109
|
+
//#endregion
|
|
110
|
+
export { d as i, p as n, f as r, g as t };
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=containers-CIxwbZt5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"containers-CIxwbZt5.js","names":["_Fragment","cn","stackRecipe","compositionRhythm","compositionClasses","containerRecipe","Fragment$1","Container","forwardRef","props","useRender","className","PageViewport","focusRecipes","Section","gap","containerColumnRecipes","viewportColumnRecipes","TwoColumnLayout","headerClassName","headerProps","slotProps","mainClassName","mainProps","asideClassName","asideProps","footerClassName","footerProps","adaptTo","ratio","header","main","stickyAside","aside","footer"],"sources":["../src/components/layout/containers/content-container.tsx","../src/components/layout/containers/page-viewport.tsx","../src/components/layout/containers/section.tsx","../src/components/layout/containers/two-column-layout.tsx"],"sourcesContent":["import { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nimport { containerRecipe } from './container.recipes';\nimport type { ContainerProps } from './containers.types';\n\n/** Container — one centered content-width and inline-gutter owner. */\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n\t{ className, maxWidth, gutter, render, ...props },\n\tref,\n) {\n\treturn useRender({\n\t\tdefaultTagName: 'div',\n\t\tref,\n\t\trender,\n\t\tprops: {\n\t\t\t...props,\n\t\t\tclassName: cn('container--component @container/content', containerRecipe({ maxWidth, gutter }), className),\n\t\t},\n\t\tstate: {},\n\t});\n});\n\nContainer.displayName = 'Container';\n","import { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nimport type { PageViewportProps } from './containers.types';\nimport { focusRecipes } from '../../../lib/focus-recipes';\n\n/** PageViewport — the single page-scroll and page-container-query owner. */\nexport const PageViewport = forwardRef<HTMLDivElement, PageViewportProps>(function PageViewport(\n\t{ className, render, tabIndex = 0, ...props },\n\tref,\n) {\n\treturn useRender({\n\t\tdefaultTagName: 'div',\n\t\tref,\n\t\trender,\n\t\tprops: {\n\t\t\t...props,\n\t\t\ttabIndex,\n\t\t\tclassName: cn(\n\t\t\t\t`page-viewport--component min-h-0 min-w-0 flex-1 overflow-auto overscroll-contain [scrollbar-gutter:stable] @container/page focus-visible:outline-none ${focusRecipes.inset}`,\n\t\t\t\tclassName,\n\t\t\t),\n\t\t},\n\t\tstate: {},\n\t});\n});\n\nPageViewport.displayName = 'PageViewport';\n","import { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\n\nimport { stackRecipe } from '../../base/structure/structure.recipes';\nimport {compositionRhythm} from '../../base/structure/composition.recipes';\nimport { cn } from '../../../lib/utils';\n\nimport type { SectionProps } from './containers.types';\n\n/** Section — a semantic vertical-rhythm owner for page content groups. */\nexport const Section = forwardRef<HTMLElement, SectionProps>(function Section(\n\t{ className, gap, render, ...props },\n\tref,\n) {\n\treturn useRender({\n\t\tdefaultTagName: 'section',\n\t\tref,\n\t\trender,\n\t\tprops: {\n\t\t\t...props,\n\t\t\tclassName: cn('section--component', stackRecipe({ gap: gap ?? compositionRhythm.related }), className),\n\t\t},\n\t\tstate: {},\n\t});\n});\n\nSection.displayName = 'Section';\n","import { useRender } from '@base-ui/react/use-render';\nimport { forwardRef } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { cn } from '../../../lib/utils';\nimport {compositionClasses} from '../../base/structure/composition.recipes';\nimport type { LayoutSlotAttributes } from '../layout.types';\n\nexport interface TwoColumnLayoutSlotProps {\n\theader?: LayoutSlotAttributes<HTMLDivElement>;\n\tmain?: LayoutSlotAttributes<HTMLDivElement>;\n\taside?: LayoutSlotAttributes<HTMLElement>;\n\tfooter?: LayoutSlotAttributes<HTMLDivElement>;\n}\n\nexport interface TwoColumnLayoutProps extends useRender.ComponentProps<'div'> {\n\t/** Optional content spanning both columns before the work regions. */\n\theader?: ReactNode;\n\t/** Primary detail, form, or index content. */\n\tmain: ReactNode;\n\t/** Secondary summary, support, or action rail. */\n\taside: ReactNode;\n\t/** Optional content spanning both columns after the work regions. */\n\tfooter?: ReactNode;\n\t/** Keep the aside visible while the nearest page viewport scrolls. */\n\tstickyAside?: boolean;\n\t/** Preserve viewport breakpoints by default, or adapt inside Container/PageViewport. */\n\tadaptTo?: 'viewport' | 'container';\n\t/** Optional main/aside proportions; omission preserves the established flexible 2/1 split. */\n\tratio?: '7/5' | '8/4';\n\t/** Native attributes for each stable region. */\n\tslotProps?: TwoColumnLayoutSlotProps;\n}\n\nconst containerColumnRecipes = {\n\tdefault: '@3xl:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]',\n\t'7/5': '@3xl:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]',\n\t'8/4': '@3xl:grid-cols-[minmax(0,8fr)_minmax(0,4fr)]',\n} as const;\nconst viewportColumnRecipes = {\n\tdefault: 'lg:grid-cols-[minmax(0,2fr)_minmax(18rem,1fr)]',\n\t'7/5': 'lg:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]',\n\t'8/4': 'lg:grid-cols-[minmax(0,8fr)_minmax(0,4fr)]',\n} as const;\n\n/** TwoColumnLayout — one truthful, stable-order main/aside grid. */\nexport const TwoColumnLayout = forwardRef<HTMLDivElement, TwoColumnLayoutProps>(\n\tfunction TwoColumnLayout(\n\t\t{\n\t\t\theader,\n\t\t\tmain,\n\t\t\taside,\n\t\t\tfooter,\n\t\t\tstickyAside = false,\n\t\t\tadaptTo = 'viewport',\n\t\t\tratio,\n\t\t\tslotProps,\n\t\t\tclassName,\n\t\t\trender,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) {\n\t\tconst { className: headerClassName, ...headerProps } = slotProps?.header ?? {};\n\t\tconst { className: mainClassName, ...mainProps } = slotProps?.main ?? {};\n\t\tconst { className: asideClassName, ...asideProps } = slotProps?.aside ?? {};\n\t\tconst { className: footerClassName, ...footerProps } = slotProps?.footer ?? {};\n\n\t\treturn useRender({\n\t\t\tdefaultTagName: 'div',\n\t\t\tref,\n\t\t\trender,\n\t\t\tprops: {\n\t\t\t\t...props,\n\t\t\t\t'data-slot': 'two-column-layout',\n\t\t\t\tclassName: cn(\n\t\t\t\t\t'two-column-layout--component grid min-w-0 grid-cols-1', compositionClasses.subjects,\n\t\t\t\t\tadaptTo === 'container' ? containerColumnRecipes[ratio ?? 'default'] : viewportColumnRecipes[ratio ?? 'default'],\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t\tchildren: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{header !== undefined && header !== null ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t{...headerProps}\n\t\t\t\t\t\t\t\tdata-slot=\"two-column-layout-header\"\n\t\t\t\t\t\t\t\tclassName={cn('two-column-layout--header col-span-full min-w-0', headerClassName)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{header}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t{...mainProps}\n\t\t\t\t\t\t\tdata-slot=\"two-column-layout-main\"\n\t\t\t\t\t\t\tclassName={cn('two-column-layout--main flex min-h-0 min-w-0 flex-col', compositionClasses.subjects, mainClassName)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{main}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<aside\n\t\t\t\t\t\t\t{...asideProps}\n\t\t\t\t\t\t\tdata-slot=\"two-column-layout-aside\"\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'two-column-layout--aside flex min-h-0 min-w-0 flex-col', compositionClasses.subjects,\n\t\t\t\t\t\t\t\tstickyAside && (adaptTo === 'container' ? '@3xl:sticky @3xl:top-space-2xl @3xl:self-start' : 'lg:sticky lg:top-space-2xl lg:self-start'),\n\t\t\t\t\t\t\t\tasideClassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{aside}\n\t\t\t\t\t\t</aside>\n\t\t\t\t\t\t{footer !== undefined && footer !== null ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t{...footerProps}\n\t\t\t\t\t\t\t\tdata-slot=\"two-column-layout-footer\"\n\t\t\t\t\t\t\t\tclassName={cn('two-column-layout--footer col-span-full min-w-0', footerClassName)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{footer}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\tstate: {},\n\t\t});\n\t},\n);\n\nTwoColumnLayout.displayName = 'TwoColumnLayout';\n"],"mappings":";;;;;;;;;;AASA,IAAaO,IAAYC,EAA2C,SACnE,EAAE,cAAW,aAAU,WAAQ,WAAQ,GAAGC,KAC1C,GACC;CACD,OAAOC,EAAU;EAChB,gBAAgB;EAChB;EACA;EACA,OAAO;GACN,GAAGD;GACH,WAAWR,EAAG,2CAA2CI,EAAgB;IAAE;IAAU;GAAO,CAAC,GAAGM,CAAS;EAC1G;EACA,OAAO,CAAC;CACT,CAAC;AACF,CAAC;AAED,EAAU,cAAc;;;AChBxB,IAAaC,IAAeJ,EAA8C,SACzE,EAAE,cAAW,WAAQ,cAAW,GAAG,GAAGC,KACtC,GACC;CACD,OAAOC,EAAU;EAChB,gBAAgB;EAChB;EACA;EACA,OAAO;GACN,GAAGD;GACH;GACA,WAAWR,EACV,yJAAyJY,EAAa,SACtKF,CACD;EACD;EACA,OAAO,CAAC;CACT,CAAC;AACF,CAAC;AAED,EAAa,cAAc;;;ACnB3B,IAAaG,IAAUN,EAAsC,SAC5D,EAAE,cAAW,QAAK,WAAQ,GAAGC,KAC7B,GACC;CACD,OAAOC,EAAU;EAChB,gBAAgB;EAChB;EACA;EACA,OAAO;GACN,GAAGD;GACH,WAAWR,EAAG,sBAAsBC,EAAY,EAAE,KAAKa,KAAOZ,EAAkB,QAAQ,CAAC,GAAGQ,CAAS;EACtG;EACA,OAAO,CAAC;CACT,CAAC;AACF,CAAC;AAED,EAAQ,cAAc;;;ACQtB,IAAMK,IAAyB;CAC9B,SAAS;CACT,OAAO;CACP,OAAO;AACR,GACMC,IAAwB;CAC7B,SAAS;CACT,OAAO;CACP,OAAO;AACR,GAGaC,IAAkBV,EAC9B,SACC,EACC,WACA,SACA,UACA,WACA,iBAAc,IACd,aAAU,YACV,UACA,cACA,cACA,WACA,GAAGC,KAEJ,GACC;CACD,IAAM,EAAE,WAAWU,GAAiB,GAAGC,MAAgBC,GAAW,UAAU,CAAC,GACvE,EAAE,WAAWC,GAAe,GAAGC,MAAcF,GAAW,QAAQ,CAAC,GACjE,EAAE,WAAWG,GAAgB,GAAGC,MAAeJ,GAAW,SAAS,CAAC,GACpE,EAAE,WAAWK,GAAiB,GAAGC,MAAgBN,GAAW,UAAU,CAAC;CAE7E,OAAOX,EAAU;EAChB,gBAAgB;EAChB;EACA;EACA,OAAO;GACN,GAAGD;GACH,aAAa;GACb,WAAWR,EACV,yDAAyDG,EAAmB,UAC5EwB,MAAY,cAAcZ,EAAuBa,KAAS,aAAaZ,EAAsBY,KAAS,YACtGlB,CACD;GACA,UACC,kBAAAX,GAAA,EAAA,UAAA;IACE8B,KAAmC,OAQhC,OAPH,kBAAC,OAAD;KACC,GAAIV;KACJ,aAAU;KACV,WAAWnB,EAAG,mDAAmDkB,CAAe;KAE/E,UAAAW;IACG,CAAA;IAEN,kBAAC,OAAD;KACC,GAAIP;KACJ,aAAU;KACV,WAAWtB,EAAG,yDAAyDG,EAAmB,UAAUkB,CAAa;KAEhH,UAAAS;IACG,CAAA;IACL,kBAAC,SAAD;KACC,GAAIN;KACJ,aAAU;KACV,WAAWxB,EACV,0DAA0DG,EAAmB,UAC7E4B,MAAgBJ,MAAY,cAAc,mDAAmD,6CAC7FJ,CACD;KAEC,UAAAS;IACK,CAAA;IACNC,KAAmC,OAQhC,OAPH,kBAAC,OAAD;KACC,GAAIP;KACJ,aAAU;KACV,WAAW1B,EAAG,mDAAmDyB,CAAe;KAE/E,UAAAQ;IACG,CAAA;GAEL,EAAA,CAAA;EAEJ;EACA,OAAO,CAAC;CACT,CAAC;AACF,CACD;AAEA,EAAgB,cAAc"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
//#region src/lib/control-group-recipes.ts
|
|
2
2
|
var e = {
|
|
3
|
-
frame: "box-border inline-flex h-control shrink-0 items-stretch rounded-
|
|
4
|
-
item: "!h-full min-h-0 rounded-
|
|
5
|
-
joinedFrame: "box-border inline-flex h-control shrink-0 items-stretch overflow-hidden rounded-
|
|
3
|
+
frame: "box-border inline-flex h-control shrink-0 items-stretch rounded-radius bg-muted p-space-2xs",
|
|
4
|
+
item: "!h-full min-h-0 rounded-radius",
|
|
5
|
+
joinedFrame: "box-border inline-flex h-control shrink-0 items-stretch overflow-hidden rounded-radius border border-input",
|
|
6
6
|
joinedItem: "!h-full min-h-0 rounded-none",
|
|
7
|
-
firstItem: "rounded-s-
|
|
8
|
-
lastItem: "rounded-e-
|
|
7
|
+
firstItem: "rounded-s-radius",
|
|
8
|
+
lastItem: "rounded-e-radius"
|
|
9
9
|
}, t = {
|
|
10
10
|
sm: "h-control-sm",
|
|
11
11
|
md: "h-control",
|
|
@@ -18,4 +18,4 @@ var e = {
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { n, e as r, t };
|
|
20
20
|
|
|
21
|
-
//# sourceMappingURL=control-group-recipes-
|
|
21
|
+
//# sourceMappingURL=control-group-recipes-fMuFo0H7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-group-recipes-fMuFo0H7.js","names":["segmentedControlRecipes","controlGroupHeightClasses","controlGroupSquareClasses"],"sources":["../src/lib/control-group-recipes.ts"],"sourcesContent":["import type { ComponentScale } from './component-vocabulary';\n\n/** One field-height boundary for segmented and joined toolbar controls.\n * Children fit the frame's content box; their action-height token is not added\n * to the field height, border or inset a second time.\n */\nexport const segmentedControlRecipes = {\n\tframe: 'box-border inline-flex h-control shrink-0 items-stretch rounded-radius bg-muted p-space-2xs',\n\titem: '!h-full min-h-0 rounded-radius',\n\tjoinedFrame: 'box-border inline-flex h-control shrink-0 items-stretch overflow-hidden rounded-radius border border-input',\n\tjoinedItem: '!h-full min-h-0 rounded-none',\n\tfirstItem: 'rounded-s-radius',\n\tlastItem: 'rounded-e-radius',\n} as const;\n\nexport const controlGroupHeightClasses = {\n\tsm: 'h-control-sm',\n\tmd: 'h-control',\n\tlg: 'h-control-lg',\n} satisfies Record<ComponentScale, string>;\n\nexport const controlGroupSquareClasses = {\n\tsm: 'size-control-sm',\n\tmd: 'size-control',\n\tlg: 'size-control-lg',\n} satisfies Record<ComponentScale, string>;\n"],"mappings":";AAMA,IAAaA,IAA0B;CACtC,OAAO;CACP,MAAM;CACN,aAAa;CACb,YAAY;CACZ,WAAW;CACX,UAAU;AACX,GAEaC,IAA4B;CACxC,IAAI;CACJ,IAAI;CACJ,IAAI;AACL,GAEaC,IAA4B;CACxC,IAAI;CACJ,IAAI;CACJ,IAAI;AACL"}
|