themelia-react-ui 2.0.4 → 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 +135 -0
- package/README.md +113 -18
- package/dist/{accordion-96o0pN62.js → accordion-B9MHG0cT.js} +11 -11
- package/dist/accordion-B9MHG0cT.js.map +1 -0
- package/dist/{action-menu-CHgs8vmj.js → action-menu-Dr8K-ghE.js} +48 -45
- package/dist/action-menu-Dr8K-ghE.js.map +1 -0
- package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
- package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
- package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-C58tQcBy.js} +210 -174
- 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-DkoqHPPl.js → attachment-Dg_69lPS.js} +9 -9
- package/dist/{attachment-DkoqHPPl.js.map → attachment-Dg_69lPS.js.map} +1 -1
- package/dist/{auth-D2FVZ1MH.js → auth-DTkkshS8.js} +43 -46
- package/dist/auth-DTkkshS8.js.map +1 -0
- package/dist/{avatar-DWO_HHhB.js → avatar-CeZaFmNH.js} +8 -8
- package/dist/avatar-CeZaFmNH.js.map +1 -0
- package/dist/{badge-DErMA7ul.js → badge-xIiV_E7f.js} +5 -5
- package/dist/{badge-DErMA7ul.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 +2 -2
- 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-CdfIkCsV.js → batch-action-bar-Cb8cuvyy.js} +6 -6
- package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
- package/dist/blocks/admin.js +21 -21
- 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 +325 -306
- 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 +1259 -1184
- 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-B-WFKecD.js → breadcrumbs-J-K2kl4c.js} +6 -6
- package/dist/{breadcrumbs-B-WFKecD.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
- package/dist/{button-DkmK-z8E.js → button-S2Cubiiz.js} +3 -3
- package/dist/button-S2Cubiiz.js.map +1 -0
- package/dist/{buttons-BbfzgczK.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-CzYUTPeJ.js → checkbox-fflqmODR.js} +2 -2
- package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-fflqmODR.js.map} +1 -1
- package/dist/{choice-inputs-JLtij2y4.js → choice-inputs-zUgBZfE4.js} +258 -257
- package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
- package/dist/{code-block-CGNaUtAE.js → code-block-BzmM9Eig.js} +8 -8
- package/dist/code-block-BzmM9Eig.js.map +1 -0
- package/dist/{collapsible-Do4G0zcC.js → collapsible-BkAI_XD4.js} +5 -5
- package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BkAI_XD4.js.map} +1 -1
- package/dist/{collection-content-C0e8SsTm.js → collection-content-gDh1v6O4.js} +3 -3
- package/dist/{collection-content-C0e8SsTm.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-CBJDs6w_.js → combobox-BwzoXFSG.js} +254 -247
- package/dist/combobox-BwzoXFSG.js.map +1 -0
- package/dist/{command-D8NrBj-b.js → command-CrlPIL6m.js} +11 -11
- package/dist/command-CrlPIL6m.js.map +1 -0
- package/dist/{comments-Di4w0H_S.js → comments-Dmpp0YIc.js} +29 -29
- package/dist/{comments-Di4w0H_S.js.map → comments-Dmpp0YIc.js.map} +1 -1
- package/dist/components/base/action-menu/action-menu.d.ts +7 -1
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/cards/card.recipes.d.ts +6 -4
- 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 +3 -4
- 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/choice-types.d.ts +1 -1
- package/dist/components/base/combobox/index.d.ts +4 -2
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/forms/form-sizing.d.ts +7 -7
- package/dist/components/base/forms/workflow.d.ts +7 -1
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
- package/dist/components/base/metadata-list/metadata-list.d.ts +1 -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 +10 -3
- 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/toaster/index.d.ts +1 -0
- 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/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/{containers-CRmHf7GP.js → containers-CIxwbZt5.js} +26 -18
- 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-CnGCZdX4.js → copyable-DIznBqiT.js} +7 -7
- package/dist/{copyable-CnGCZdX4.js.map → copyable-DIznBqiT.js.map} +1 -1
- package/dist/{data-display-D4oujtx0.js → data-display-BdgCAw8T.js} +268 -277
- package/dist/data-display-BdgCAw8T.js.map +1 -0
- package/dist/{date-Q7jnXxpk.js → date-Cq8ioE4o.js} +5 -5
- package/dist/{date-Q7jnXxpk.js.map → date-Cq8ioE4o.js.map} +1 -1
- package/dist/{date-picker-zOt1oNss.js → date-picker-RlIzKom_.js} +446 -437
- package/dist/date-picker-RlIzKom_.js.map +1 -0
- package/dist/{date-pickers-cj8IXbDC.js → date-pickers-DY-CpXS1.js} +12 -12
- package/dist/{date-pickers-cj8IXbDC.js.map → date-pickers-DY-CpXS1.js.map} +1 -1
- package/dist/{display-BB4BL_-K.js → display-KsZLw9Ov.js} +9 -9
- package/dist/{display-BB4BL_-K.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 +22 -22
- 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 +237 -238
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +140 -146
- 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 +375 -326
- 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 +1266 -1193
- 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 +69 -66
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +13 -13
- 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 +94 -95
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-DZNL5Lg1.js → feedback-Dm4izqFn.js} +80 -79
- package/dist/feedback-Dm4izqFn.js.map +1 -0
- package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
- package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
- package/dist/{filters-BcT-uoFy.js → filters-DzgSJpMK.js} +693 -645
- package/dist/filters-DzgSJpMK.js.map +1 -0
- package/dist/{form-field-CsgRmdit.js → form-field-BriWAXyg.js} +6 -6
- package/dist/{form-field-CsgRmdit.js.map → form-field-BriWAXyg.js.map} +1 -1
- package/dist/{form-sizing-NXgjkmBG.js → form-sizing-Bs2qFUeE.js} +4 -4
- package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
- package/dist/{forms-BV5m5aQF.js → forms-C0RGnJTe.js} +17 -13
- package/dist/forms-C0RGnJTe.js.map +1 -0
- package/dist/{forms-numeric-Cd33AKbD.js → forms-numeric-DIhghX1Q.js} +86 -82
- package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
- package/dist/{header-BA697l4a.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-BQ-L7Uu2.js → hooks-DB6CJ4MR.js} +26 -14
- package/dist/hooks-DB6CJ4MR.js.map +1 -0
- package/dist/{icon-badge-COWbCCWu.js → icon-badge-DZF-YjQp.js} +4 -4
- package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
- package/dist/index.js +4 -5
- package/dist/{input-Cdw4k0fb.js → input-CvyDQlY7.js} +8 -8
- package/dist/{input-Cdw4k0fb.js.map → input-CvyDQlY7.js.map} +1 -1
- package/dist/input-DMBwAZmr.js +21 -0
- package/dist/input-DMBwAZmr.js.map +1 -0
- package/dist/{item-BvZ2DR_x.js → item-DjCcM18E.js} +16 -16
- 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 +35 -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/utils.js +1 -1
- package/dist/map-demo-tile.svg +1 -1
- package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C-vChPmE.js} +6 -6
- package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C-vChPmE.js.map} +1 -1
- package/dist/{mentions-RKOQaaIB.js → mentions-0_4nWuI-.js} +10 -10
- package/dist/{mentions-RKOQaaIB.js.map → mentions-0_4nWuI-.js.map} +1 -1
- package/dist/{message-INU2xsxu.js → message-g8p7eVtN.js} +7 -7
- package/dist/message-g8p7eVtN.js.map +1 -0
- package/dist/{metadata-list-qVV7AVxa.js → metadata-list-C3MkU-Om.js} +64 -64
- 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-BQNcg1jT.js → navigation-DaRjthVk.js} +101 -82
- package/dist/navigation-DaRjthVk.js.map +1 -0
- package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
- package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
- package/dist/{number-E_OiIfJz.js → number-CRU3kGuk.js} +5 -5
- package/dist/{number-E_OiIfJz.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-Ch8X_47u.js → pagination-CgCjElfu.js} +7 -7
- package/dist/{pagination-Ch8X_47u.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-BYaCdFhf.js → popover-menu-DlnQ2zlR.js} +7 -7
- package/dist/{popover-menu-BYaCdFhf.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-Du64iDbb.js → primitives-ByWgGUgt.js} +5 -5
- package/dist/{primitives-Du64iDbb.js.map → primitives-ByWgGUgt.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-BvF2oCdV.js → progress-BJhQP9WX.js} +9 -9
- package/dist/{progress-BvF2oCdV.js.map → progress-BJhQP9WX.js.map} +1 -1
- package/dist/{receipt-D789Jwyy.js → receipt-tOc7B3hw.js} +7 -7
- package/dist/receipt-tOc7B3hw.js.map +1 -0
- package/dist/{rich-text-CLJEf76s.js → rich-text-Dth5E882.js} +3 -3
- package/dist/{rich-text-CLJEf76s.js.map → rich-text-Dth5E882.js.map} +1 -1
- package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-C1fOjBTd.js} +429 -430
- package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-L__e4x47.js → rich-text-editor-toolbar-laT3tpBT.js} +32 -28
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
- package/dist/{scroll-area-La5RXsEk.js → scroll-area-B0dB2cBi.js} +2 -2
- package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
- package/dist/{separator-DAEV0w65.js → separator-Bb17I4pu.js} +2 -2
- package/dist/{separator-DAEV0w65.js.map → separator-Bb17I4pu.js.map} +1 -1
- package/dist/{separator-GNfPG-90.js → separator-Ct_WSWTJ.js} +3 -3
- package/dist/{separator-GNfPG-90.js.map → separator-Ct_WSWTJ.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/{settings-BA2iboic.js → settings-Bar5wiSo.js} +31 -38
- 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-C0V0_Fyf.js → structure-DuxKl954.js} +2 -2
- package/dist/{structure-C0V0_Fyf.js.map → structure-DuxKl954.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-CpvnzJn9.js → table-B4TE7iOV.js} +3 -3
- package/dist/{table-CpvnzJn9.js.map → table-B4TE7iOV.js.map} +1 -1
- package/dist/{table-DH7rozUv.js → table-CFOWY9pQ.js} +394 -388
- package/dist/table-CFOWY9pQ.js.map +1 -0
- package/dist/{tabs-eqVsJZWO.js → tabs-e7ko9S2o.js} +11 -11
- package/dist/tabs-e7ko9S2o.js.map +1 -0
- package/dist/{text-inputs-DXItiR0O.js → text-inputs-B1culiSK.js} +17 -17
- package/dist/text-inputs-B1culiSK.js.map +1 -0
- package/dist/theme.css +40 -37
- package/dist/{timelines-DmtztAY_.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-CV11PURP.js → tree-CzUJHnFs.js} +8 -8
- package/dist/{tree-CV11PURP.js.map → tree-CzUJHnFs.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-CSyJrh28.js → typography-BQnine1k.js} +12 -12
- package/dist/{typography-CSyJrh28.js.map → typography-BQnine1k.js.map} +1 -1
- 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-C9SA0X-8.js → upload-BOW6U2tI.js} +25 -24
- package/dist/upload-BOW6U2tI.js.map +1 -0
- package/dist/{upload-queue-DhQJiSRc.js → upload-queue-qUXn1ykN.js} +16 -14
- package/dist/upload-queue-qUXn1ykN.js.map +1 -0
- package/dist/{usage-card-DVTRDmGz.js → usage-card-BeSLY0i0.js} +24 -17
- package/dist/usage-card-BeSLY0i0.js.map +1 -0
- package/dist/{utils-CF3c95Io.js → utils-B6kKb8jB.js} +237 -141
- 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-ClupF0Gz.js → value-typography-uAmWUAL1.js} +2 -2
- package/dist/{value-typography-ClupF0Gz.js.map → value-typography-uAmWUAL1.js.map} +1 -1
- package/dist/{workspace-9EFVXUyk.js → workspace-DHeHv0qw.js} +50 -49
- package/dist/workspace-DHeHv0qw.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +4 -3
- package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
- package/docs/consumer-skill/examples/app-layout.tsx +52 -1
- 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/editable-sections.tsx +38 -0
- package/docs/consumer-skill/examples/index-table.tsx +4 -4
- package/docs/consumer-skill/examples/manifest.json +38 -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-edit-page.tsx +1 -1
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
- package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
- package/docs/consumer-skill/references/agents-md.md +19 -17
- package/docs/consumer-skill/references/analytics.md +18 -1
- package/docs/consumer-skill/references/commerce-composition.md +97 -0
- package/docs/consumer-skill/references/component-contracts.json +7131 -1754
- package/docs/consumer-skill/references/composition-mapping.md +17 -3
- package/docs/consumer-skill/references/composition.md +159 -31
- 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 +11 -9
- package/docs/consumer-skill/references/discovery.md +27 -3
- package/docs/consumer-skill/references/domain-structures.md +124 -0
- package/docs/consumer-skill/references/installation.md +15 -4
- package/docs/consumer-skill/references/integration.md +35 -0
- package/docs/consumer-skill/references/product-composition.md +94 -0
- package/docs/consumer-skill/references/public-api.json +2881 -420
- package/docs/consumer-skill/references/review.md +39 -2
- package/docs/consumer-skill/references/rhf-workflows.md +7 -0
- package/docs/consumer-skill/references/screen-archetypes.md +19 -7
- package/docs/consumer-skill/references/screen-decisions.md +126 -0
- package/docs/consumer-skill/references/theming.md +17 -18
- package/docs/consumer-skill/references/tokens.json +9 -9
- 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 +7 -1
- package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
- package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
- package/docs/consumer-skill/scripts/composition.mjs +61 -5
- package/docs/consumer-skill/scripts/discovery.mjs +54 -0
- package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
- package/docs/consumer-skill/scripts/inspection.mjs +73 -18
- package/docs/consumer-skill/scripts/setup-skills.mjs +41 -6
- package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
- package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
- package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
- package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
- package/package.json +1 -1
- package/dist/accordion-96o0pN62.js.map +0 -1
- package/dist/action-menu-CHgs8vmj.js.map +0 -1
- package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
- package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
- package/dist/app-shell-D63ATkIK.js +0 -237
- package/dist/app-shell-D63ATkIK.js.map +0 -1
- package/dist/auth-D2FVZ1MH.js.map +0 -1
- package/dist/avatar-DWO_HHhB.js.map +0 -1
- package/dist/base/cascader.js.map +0 -1
- package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
- package/dist/button-DkmK-z8E.js.map +0 -1
- package/dist/buttons-BbfzgczK.js.map +0 -1
- package/dist/cards-4JTWqvVe.js +0 -68
- package/dist/cards-4JTWqvVe.js.map +0 -1
- package/dist/chart-C19flDQb.js +0 -155
- package/dist/chart-C19flDQb.js.map +0 -1
- package/dist/choice-inputs-JLtij2y4.js.map +0 -1
- package/dist/code-block-CGNaUtAE.js.map +0 -1
- package/dist/combobox-CBJDs6w_.js.map +0 -1
- package/dist/combobox-hbhSS18O.js +0 -355
- package/dist/combobox-hbhSS18O.js.map +0 -1
- package/dist/command-D8NrBj-b.js.map +0 -1
- package/dist/containers-CRmHf7GP.js.map +0 -1
- package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
- package/dist/data-display-D4oujtx0.js.map +0 -1
- package/dist/date-picker-zOt1oNss.js.map +0 -1
- package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
- package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
- package/dist/feedback-DZNL5Lg1.js.map +0 -1
- package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
- package/dist/filters-BcT-uoFy.js.map +0 -1
- package/dist/form-sizing-NXgjkmBG.js.map +0 -1
- package/dist/forms-BV5m5aQF.js.map +0 -1
- package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
- package/dist/header-BA697l4a.js.map +0 -1
- package/dist/hooks-BQ-L7Uu2.js.map +0 -1
- package/dist/input-DOPL5_QE.js +0 -21
- package/dist/input-DOPL5_QE.js.map +0 -1
- package/dist/item-BvZ2DR_x.js.map +0 -1
- package/dist/message-INU2xsxu.js.map +0 -1
- package/dist/metadata-list-qVV7AVxa.js.map +0 -1
- package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
- package/dist/navigation-BQNcg1jT.js.map +0 -1
- package/dist/navigation-DLF3E1IC.js +0 -145
- package/dist/navigation-DLF3E1IC.js.map +0 -1
- package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
- package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
- package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
- package/dist/overlays-BlKynmde.js +0 -1004
- package/dist/overlays-BlKynmde.js.map +0 -1
- package/dist/page-CIwNUtGr.js +0 -227
- package/dist/page-CIwNUtGr.js.map +0 -1
- package/dist/page-header-commands-DFMlNYzN.js +0 -128
- package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
- package/dist/popover-uwzX2vo7.js +0 -198
- package/dist/popover-uwzX2vo7.js.map +0 -1
- package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
- package/dist/receipt-D789Jwyy.js.map +0 -1
- package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
- package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
- package/dist/settings-BA2iboic.js.map +0 -1
- package/dist/sheet-DoAxTb2J.js +0 -213
- package/dist/sheet-DoAxTb2J.js.map +0 -1
- package/dist/sidebar-ByqKR_W5.js +0 -512
- package/dist/sidebar-ByqKR_W5.js.map +0 -1
- package/dist/sidebar-D2iSnGJ7.js +0 -619
- package/dist/sidebar-D2iSnGJ7.js.map +0 -1
- package/dist/skeleton-CUj8O5Bd.js +0 -264
- package/dist/skeleton-CUj8O5Bd.js.map +0 -1
- package/dist/smart-card-CqkzQsK-.js +0 -614
- package/dist/smart-card-CqkzQsK-.js.map +0 -1
- package/dist/table-DH7rozUv.js.map +0 -1
- package/dist/tabs-eqVsJZWO.js.map +0 -1
- package/dist/text-inputs-DXItiR0O.js.map +0 -1
- package/dist/theme-scope-BJ6eE2xt.js +0 -50
- package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
- package/dist/timelines-DmtztAY_.js.map +0 -1
- package/dist/tooltip-B4hjKtoV.js +0 -111
- package/dist/tooltip-B4hjKtoV.js.map +0 -1
- package/dist/ui-provider-CQCuCBcy.js +0 -136
- package/dist/ui-provider-CQCuCBcy.js.map +0 -1
- package/dist/upload-C9SA0X-8.js.map +0 -1
- package/dist/upload-queue-DhQJiSRc.js.map +0 -1
- package/dist/usage-card-DVTRDmGz.js.map +0 -1
- package/dist/use-mobile-vaLKwgyf.js +0 -15
- package/dist/use-mobile-vaLKwgyf.js.map +0 -1
- package/dist/utils-CF3c95Io.js.map +0 -1
- package/dist/value-inputs-C0o70p-U.js +0 -980
- package/dist/value-inputs-C0o70p-U.js.map +0 -1
- package/dist/workspace-9EFVXUyk.js.map +0 -1
|
@@ -3,6 +3,18 @@ export type TopbarSidebarHeaderTheme = 'light' | 'dark';
|
|
|
3
3
|
export type TopbarSidebarSide = 'left' | 'right';
|
|
4
4
|
export type TopbarSidebarContentElement = 'main' | 'div';
|
|
5
5
|
export type TopbarSidebarMobileSidebarMode = 'drawer' | 'inline';
|
|
6
|
+
export type AppShellContentSurface = 'plain' | 'inset';
|
|
7
|
+
export type AppShellSidebarPresentation = 'panel' | 'rail';
|
|
8
|
+
export interface AppShellSidebarRegionProps {
|
|
9
|
+
/** Width of contextual navigation; defaults to the shared sidebar width. */
|
|
10
|
+
secondarySidebarWidth?: string;
|
|
11
|
+
/** Width of the opposite-side supporting panel. */
|
|
12
|
+
asideWidth?: string;
|
|
13
|
+
/** Primary navigation geometry, independent of its collapse state. */
|
|
14
|
+
sidebarPresentation?: AppShellSidebarPresentation;
|
|
15
|
+
secondarySidebarClassName?: string;
|
|
16
|
+
asideClassName?: string;
|
|
17
|
+
}
|
|
6
18
|
export interface TopbarSidebarLayoutSlots {
|
|
7
19
|
/** Full header replacement inside the themed header region. */
|
|
8
20
|
header?: ReactNode;
|
|
@@ -20,6 +32,10 @@ export interface TopbarSidebarLayoutSlots {
|
|
|
20
32
|
headerEnd?: ReactNode;
|
|
21
33
|
/** Sidebar column content. */
|
|
22
34
|
sidebar?: ReactNode;
|
|
35
|
+
/** Contextual navigation next to the primary sidebar. */
|
|
36
|
+
secondarySidebar?: ReactNode;
|
|
37
|
+
/** Optional supporting panel on the opposite edge. */
|
|
38
|
+
aside?: ReactNode;
|
|
23
39
|
/** Full content replacement; falls back to `children`. */
|
|
24
40
|
content?: ReactNode;
|
|
25
41
|
}
|
|
@@ -27,16 +43,18 @@ export type TopbarSidebarLayoutStyle = CSSProperties & {
|
|
|
27
43
|
'--shell-header-height'?: string;
|
|
28
44
|
'--shell-sidebar-width'?: string;
|
|
29
45
|
};
|
|
30
|
-
export interface TopbarSidebarLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'
|
|
46
|
+
export interface TopbarSidebarLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, AppShellSidebarRegionProps {
|
|
31
47
|
/** Page content rendered in the content column. */
|
|
32
48
|
children?: ReactNode;
|
|
33
|
-
/** Header theme.
|
|
49
|
+
/** Header theme. Omitted, the header follows the active theme. `light`/`dark` apply a token scope to the header so partials use ordinary tokens and invert against the header surface. */
|
|
34
50
|
headerTheme?: TopbarSidebarHeaderTheme;
|
|
51
|
+
/** Inset paints the page on a card surface within the secondary shell canvas. */
|
|
52
|
+
contentSurface?: AppShellContentSurface;
|
|
35
53
|
/** Sidebar side in the body grid. */
|
|
36
54
|
sidebarSide?: TopbarSidebarSide;
|
|
37
|
-
/**
|
|
55
|
+
/** `drawer` adapts navigation to an overlay. `inline` keeps both navigation regions docked; a rail remains beside its collapsible contextual sidebar. */
|
|
38
56
|
mobileSidebarMode?: TopbarSidebarMobileSidebarMode;
|
|
39
|
-
/** Header height CSS value. Defaults to `var(--shell-header-height)`, whose root default is
|
|
57
|
+
/** Header height CSS value. Defaults to `var(--shell-header-height)`, whose root default is 4rem. */
|
|
40
58
|
headerHeight?: string;
|
|
41
59
|
/** Expanded sidebar column width CSS value. Defaults to `var(--shell-sidebar-width)`, whose root default is 16rem. */
|
|
42
60
|
sidebarWidth?: string;
|
|
@@ -70,6 +88,10 @@ export type SidebarInsetSurface = 'inset' | 'flush';
|
|
|
70
88
|
export interface SidebarInsetLayoutSlots {
|
|
71
89
|
/** Sidebar column content, spanning the full page height. */
|
|
72
90
|
sidebar?: ReactNode;
|
|
91
|
+
/** Contextual navigation beside the primary sidebar. */
|
|
92
|
+
secondarySidebar?: ReactNode;
|
|
93
|
+
/** Supporting panel on the opposite edge. */
|
|
94
|
+
aside?: ReactNode;
|
|
73
95
|
/** Full toolbar replacement inside the content column. */
|
|
74
96
|
toolbar?: ReactNode;
|
|
75
97
|
/** Sidebar trigger, rendered at the start of the toolbar. */
|
|
@@ -81,13 +103,15 @@ export interface SidebarInsetLayoutSlots {
|
|
|
81
103
|
/** Full content replacement; falls back to `children`. */
|
|
82
104
|
content?: ReactNode;
|
|
83
105
|
}
|
|
84
|
-
export interface SidebarInsetLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'
|
|
106
|
+
export interface SidebarInsetLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, AppShellSidebarRegionProps {
|
|
85
107
|
/** Page content rendered in the content column. */
|
|
86
108
|
children?: ReactNode;
|
|
87
109
|
/** Sidebar side. */
|
|
88
110
|
sidebarSide?: SidebarInsetSide;
|
|
89
111
|
/** How the content surface meets the sidebar. */
|
|
90
112
|
surface?: SidebarInsetSurface;
|
|
113
|
+
/** `drawer` adapts navigation to an overlay. `inline` keeps both navigation regions docked; a rail remains beside its collapsible contextual sidebar. @default 'drawer' */
|
|
114
|
+
mobileSidebarMode?: TopbarSidebarMobileSidebarMode;
|
|
91
115
|
/** Renders the toolbar row. Set `false` for a shell with no header chrome at all. */
|
|
92
116
|
toolbar?: boolean;
|
|
93
117
|
/** Expanded sidebar column width CSS value. */
|
|
@@ -121,18 +145,23 @@ export interface StackedLayoutSlots {
|
|
|
121
145
|
headerEnd?: ReactNode;
|
|
122
146
|
/** Secondary row under the header, usually tabs or a breadcrumb. */
|
|
123
147
|
subheader?: ReactNode;
|
|
148
|
+
/** Optional supporting panel beside the page. */
|
|
149
|
+
aside?: ReactNode;
|
|
124
150
|
/** Full content replacement; falls back to `children`. */
|
|
125
151
|
content?: ReactNode;
|
|
126
152
|
}
|
|
127
153
|
export interface StackedLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
128
154
|
/** Page content. */
|
|
129
155
|
children?: ReactNode;
|
|
130
|
-
/** Header theme,
|
|
156
|
+
/** Header theme. Omitted, the header follows the active theme; `light`/`dark` apply `TopbarSidebarLayout`'s token scope. */
|
|
131
157
|
headerTheme?: TopbarSidebarHeaderTheme;
|
|
132
158
|
/** Constrains the content to the shell's reading width, or lets it span. */
|
|
133
159
|
contentWidth?: StackedContentWidth;
|
|
134
160
|
/** Header height CSS value. */
|
|
135
161
|
headerHeight?: string;
|
|
162
|
+
/** Width of the optional supporting panel. */
|
|
163
|
+
asideWidth?: string;
|
|
164
|
+
asideClassName?: string;
|
|
136
165
|
/** Convenience logo slot. */
|
|
137
166
|
logo?: ReactNode;
|
|
138
167
|
/** Convenience navigation slot. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { TopbarSidebarLayout } from './topbar-sidebar-layout';
|
|
2
|
-
export type { TopbarSidebarContentElement, TopbarSidebarHeaderTheme, TopbarSidebarLayoutProps, TopbarSidebarLayoutSlots, TopbarSidebarLayoutStyle, TopbarSidebarSide, } from './app-shell.types';
|
|
2
|
+
export type { AppShellContentSurface, AppShellSidebarPresentation, AppShellSidebarRegionProps, TopbarSidebarContentElement, TopbarSidebarHeaderTheme, TopbarSidebarLayoutProps, TopbarSidebarLayoutSlots, TopbarSidebarLayoutStyle, TopbarSidebarSide, } from './app-shell.types';
|
|
3
3
|
export { SidebarInsetLayout } from './sidebar-inset-layout';
|
|
4
4
|
export { StackedLayout } from './stacked-layout';
|
|
5
5
|
export type { SidebarInsetContentElement, SidebarInsetLayoutProps, SidebarInsetLayoutSlots, SidebarInsetSide, SidebarInsetSurface, StackedContentElement, StackedContentWidth, StackedLayoutProps, StackedLayoutSlots, } from './app-shell.types';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { AppShellSidebarPresentation } from './app-shell.types';
|
|
3
|
+
/** One surface recipe; the shell frames the page while Page owns its insets. */
|
|
4
|
+
export declare const shellContentSurface: {
|
|
5
|
+
readonly plain: "bg-background text-foreground";
|
|
6
|
+
readonly inset: "bg-card text-card-foreground md:m-space-md md:overflow-hidden md:rounded-surface md:border md:border-border md:shadow-sm";
|
|
7
|
+
};
|
|
8
|
+
interface ShellRegionGridProps {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
sidebar?: ReactNode;
|
|
11
|
+
secondarySidebar?: ReactNode;
|
|
12
|
+
aside?: ReactNode;
|
|
13
|
+
side?: 'left' | 'right';
|
|
14
|
+
primaryWidth?: string;
|
|
15
|
+
secondaryWidth?: string;
|
|
16
|
+
asideWidth?: string;
|
|
17
|
+
presentation?: AppShellSidebarPresentation;
|
|
18
|
+
inlinePrimary?: boolean;
|
|
19
|
+
className?: string;
|
|
20
|
+
mainClassName?: string;
|
|
21
|
+
sidebarClassName?: string;
|
|
22
|
+
secondarySidebarClassName?: string;
|
|
23
|
+
asideClassName?: string;
|
|
24
|
+
}
|
|
25
|
+
/** Optional auto tracks collapse independently; the page always owns the flexible track. */
|
|
26
|
+
export declare function ShellRegionGrid({ children, sidebar, secondarySidebar, aside, side, primaryWidth, secondaryWidth, asideWidth, presentation, inlinePrimary, className, mainClassName, sidebarClassName, secondarySidebarClassName, asideClassName }: ShellRegionGridProps): import("react").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { SidebarInsetLayoutProps } from './app-shell.types';
|
|
2
|
-
export declare function SidebarInsetLayout({ children, sidebarSide, surface, toolbar, sidebarWidth, sidebar, sidebarTrigger, slots, contentAs: Content, className, sidebarClassName, toolbarClassName, contentClassName, style, ...props }: SidebarInsetLayoutProps): import("react").JSX.Element;
|
|
2
|
+
export declare function SidebarInsetLayout({ children, sidebarSide, surface, mobileSidebarMode, toolbar, sidebarWidth, secondarySidebarWidth, asideWidth, sidebarPresentation, secondarySidebarClassName, asideClassName, sidebar, sidebarTrigger, slots, contentAs: Content, className, sidebarClassName, toolbarClassName, contentClassName, style, ...props }: SidebarInsetLayoutProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { StackedLayoutProps } from './app-shell.types';
|
|
2
|
-
export declare function StackedLayout({ children, headerTheme, contentWidth, headerHeight, logo, nav, slots, contentAs: Content, className, headerClassName, subheaderClassName, contentClassName, style, ...props }: StackedLayoutProps): import("react").JSX.Element;
|
|
2
|
+
export declare function StackedLayout({ children, headerTheme, contentWidth, headerHeight, asideWidth, asideClassName, logo, nav, slots, contentAs: Content, className, headerClassName, subheaderClassName, contentClassName, style, ...props }: StackedLayoutProps): import("react").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TopbarSidebarLayoutProps } from './app-shell.types';
|
|
2
|
-
export declare function TopbarSidebarLayout({ children, headerTheme, sidebarSide, mobileSidebarMode, headerHeight, sidebarWidth, sidebarTrigger, logo, headerActions, sidebar, slots, contentAs: Content, className, headerClassName, headerInnerClassName, bodyClassName, sidebarClassName, contentClassName, style, ...props }: TopbarSidebarLayoutProps): import("react").JSX.Element;
|
|
2
|
+
export declare function TopbarSidebarLayout({ children, headerTheme, contentSurface, sidebarSide, mobileSidebarMode, headerHeight, sidebarWidth, secondarySidebarWidth, asideWidth, sidebarPresentation, secondarySidebarClassName, asideClassName, sidebarTrigger, logo, headerActions, sidebar, slots, contentAs: Content, className, headerClassName, headerInnerClassName, bodyClassName, sidebarClassName, contentClassName, style, ...props }: TopbarSidebarLayoutProps): import("react").JSX.Element;
|
|
@@ -20,6 +20,8 @@ export interface TwoColumnLayoutProps extends useRender.ComponentProps<'div'> {
|
|
|
20
20
|
stickyAside?: boolean;
|
|
21
21
|
/** Preserve viewport breakpoints by default, or adapt inside Container/PageViewport. */
|
|
22
22
|
adaptTo?: 'viewport' | 'container';
|
|
23
|
+
/** Optional main/aside proportions; omission preserves the established flexible 2/1 split. */
|
|
24
|
+
ratio?: '7/5' | '8/4';
|
|
23
25
|
/** Native attributes for each stable region. */
|
|
24
26
|
slotProps?: TwoColumnLayoutSlotProps;
|
|
25
27
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** Fixed-height inline rules align to header controls rather than stretching
|
|
2
|
+
* from the top edge of a flex row. Separator keeps its general stretch default. */
|
|
3
|
+
export declare const headerInlineDividerAlignment = "[&_[data-slot=separator][data-orientation=vertical]]:self-center";
|
|
4
|
+
/** One unread-count chip for header icon triggers. Counts state no status, so it
|
|
5
|
+
* takes the neutral solid role; it floats over the icon, so it is opaque. */
|
|
6
|
+
export declare const headerCountBadge = "pointer-events-none absolute -end-1 -top-1 flex h-4.5 min-w-4.5 items-center justify-center rounded-full bg-foreground px-space-xs text-background tabular-nums";
|
|
@@ -164,15 +164,15 @@ export interface HeaderUserMenuStrings {
|
|
|
164
164
|
}
|
|
165
165
|
export declare const defaultHeaderUserMenuStrings: HeaderUserMenuStrings;
|
|
166
166
|
export interface HeaderSlots {
|
|
167
|
-
/** Leading brand/logo
|
|
167
|
+
/** Leading brand/logo before breadcrumbs, visible from the 2xl/app-header container width (42rem by default). Use left for identity that must remain visible at narrow widths. */
|
|
168
168
|
brand?: ReactNode;
|
|
169
|
-
/** Replaces the breadcrumb/sidebar-trigger region. */
|
|
169
|
+
/** Replaces the breadcrumb/sidebar-trigger region, rendered only while showBreadcrumbs is true. */
|
|
170
170
|
breadcrumbs?: ReactNode;
|
|
171
|
-
/** Leading content after breadcrumbs. */
|
|
171
|
+
/** Leading content after breadcrumbs; always rendered when supplied, including narrow container widths. The app owns compact content and overflow. */
|
|
172
172
|
left?: ReactNode;
|
|
173
|
-
/**
|
|
173
|
+
/** Optional center content, usually search, visible from the 3xl/app-header container width (48rem by default). Essential navigation needs a narrow-width alternative in left or right. */
|
|
174
174
|
center?: ReactNode;
|
|
175
|
-
/** Trailing content, usually
|
|
175
|
+
/** Trailing content, usually tools/account actions; always rendered when supplied and wraps at narrow widths. Its children own their responsive behavior. */
|
|
176
176
|
right?: ReactNode;
|
|
177
177
|
}
|
|
178
178
|
export interface HeaderProps extends LayoutNavigationAdapter, HTMLAttributes<HTMLElement> {
|
|
@@ -184,7 +184,7 @@ export interface HeaderProps extends LayoutNavigationAdapter, HTMLAttributes<HTM
|
|
|
184
184
|
homeBreadcrumb?: BreadcrumbItem | null;
|
|
185
185
|
/** Renders the sidebar collapse control. */
|
|
186
186
|
showSidebarTrigger?: boolean;
|
|
187
|
-
/**
|
|
187
|
+
/** Composes shell regions by container width: brand appears from 2xl/app-header (42rem default), center from 3xl/app-header (48rem default); left and right are always rendered when supplied. Keep essential narrow-width identity/navigation in left or right and supply compact/overflow behavior. */
|
|
188
188
|
slots?: HeaderSlots;
|
|
189
189
|
className?: string;
|
|
190
190
|
/** Merged onto the content region. */
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* SectionNav — sticky in-page anchor nav. Pass a list of section ids; the active one
|
|
3
3
|
* is tracked via IntersectionObserver and the matching item is highlighted. Click to
|
|
4
4
|
* scroll to that section. Pure JS — no router required.
|
|
5
|
+
*
|
|
6
|
+
* A click owns the current state: the clicked section stays current while the smooth
|
|
7
|
+
* scroll it started passes other sections, after that scroll settles (including when
|
|
8
|
+
* the last sections are too short to reach the top), and until the reader scrolls
|
|
9
|
+
* again. Only then does the observer resume.
|
|
5
10
|
*/
|
|
6
11
|
import { type ComponentPropsWithoutRef } from 'react';
|
|
7
12
|
import type { LucideIcon } from 'lucide-react';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Page } from './page';
|
|
2
2
|
export { PageHeader } from './partials/page-header';
|
|
3
3
|
export { PageActions } from './partials/page-actions';
|
|
4
|
-
export { defaultPageActionsStrings, type PageHeaderAction, type PageHeaderProps, type PageHeaderSlots, type PageHeaderTabs, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, } from './page.types';
|
|
4
|
+
export { defaultPageActionsStrings, type PageHeaderAction, type PageHeaderProps, type PageHeaderSlots, type PageHeaderRenderContext, type PageHeaderRenderSlot, type PageHeaderTabs, type PageActionsProps, type PageActionsDisplay, type PageAction, type PageActionContext, type PageActionsStrings, type PageProps, type PageSlotProps, type PageSlots, } from './page.types';
|
|
5
|
+
export { defaultPageStrings, type PageStrings } from './page.strings';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { PageProps } from './page.types';
|
|
2
|
+
/** Route containment, header, lifecycle states and optional secondary context, without owning scrolling. */
|
|
2
3
|
export declare const Page: import("react").ForwardRefExoticComponent<Omit<PageProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Copy for Page's primary-body lifecycle states. */
|
|
2
|
+
export interface PageStrings {
|
|
3
|
+
loadingLabel: string;
|
|
4
|
+
loadingDescription: string;
|
|
5
|
+
errorTitle: string;
|
|
6
|
+
errorDescription: string;
|
|
7
|
+
retryLabel: string;
|
|
8
|
+
emptyTitle: string;
|
|
9
|
+
emptyDescription: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const defaultPageStrings: PageStrings;
|
|
@@ -13,6 +13,8 @@ import type { BadgeTone } from '../../base/badge';
|
|
|
13
13
|
import type { ActionPresentation } from '../../../lib/action-presentation';
|
|
14
14
|
import type { PageHeaderAction } from '../../base/navigation/page-header';
|
|
15
15
|
import type { OverflowTabItem } from '../../base/navigation';
|
|
16
|
+
import type { TwoColumnLayoutProps } from '../containers';
|
|
17
|
+
import type { PageStrings } from './page.strings';
|
|
16
18
|
export interface PageTitleBadge {
|
|
17
19
|
/** Display label. */
|
|
18
20
|
label: ReactNode;
|
|
@@ -37,15 +39,25 @@ export interface PageHeaderTabs {
|
|
|
37
39
|
/** Label of the trigger that holds tabs which do not fit. Default: `'More'`. */
|
|
38
40
|
moreLabel?: string;
|
|
39
41
|
}
|
|
42
|
+
export interface PageHeaderRenderContext {
|
|
43
|
+
/** The framework-neutral link renderer used by this header. */
|
|
44
|
+
renderLink: LayoutLinkRenderer;
|
|
45
|
+
/** Existing content for this position; actions includes the responsive command row. */
|
|
46
|
+
defaultContent: ReactNode;
|
|
47
|
+
}
|
|
48
|
+
/** A content node, or a render callback that can keep or replace its default content. */
|
|
49
|
+
export type PageHeaderRenderSlot = ReactNode | ((context: PageHeaderRenderContext) => ReactNode);
|
|
40
50
|
export interface PageHeaderSlots {
|
|
41
|
-
/**
|
|
51
|
+
/** @deprecated Use backHref/onBack for navigation. Retained as a custom back-control escape hatch. */
|
|
42
52
|
back?: ReactNode;
|
|
43
|
-
/**
|
|
44
|
-
beforeTitle?:
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
|
|
53
|
+
/** Context above the title, such as breadcrumbs. */
|
|
54
|
+
beforeTitle?: PageHeaderRenderSlot;
|
|
55
|
+
/** Content beside the title, such as a status or count. */
|
|
56
|
+
titleSuffix?: PageHeaderRenderSlot;
|
|
57
|
+
/** Context below the description. Compose metadata or other content here. */
|
|
58
|
+
afterDescription?: PageHeaderRenderSlot;
|
|
59
|
+
/** Keep, wrap or replace defaultContent's responsive command row. */
|
|
60
|
+
actions?: PageHeaderRenderSlot;
|
|
49
61
|
}
|
|
50
62
|
export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
51
63
|
/** Surface title. */
|
|
@@ -56,35 +68,42 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
|
56
68
|
textGap?: TextGap;
|
|
57
69
|
/** Semantic heading level for the title. Defaults to `h1`, the route's main heading; use `h2` when the page sits inside another titled page. */
|
|
58
70
|
headingTag?: HeadingTag;
|
|
59
|
-
/**
|
|
71
|
+
/** @deprecated Compose custom title content with slots.titleSuffix or a React-node title. */
|
|
60
72
|
titleIcon?: ComponentType<{
|
|
61
73
|
className?: string;
|
|
62
74
|
}>;
|
|
63
|
-
/**
|
|
75
|
+
/** @deprecated Compose a linked item in a render slot using its renderLink context. */
|
|
64
76
|
titleIconHref?: string;
|
|
65
|
-
/**
|
|
77
|
+
/** @deprecated Compose a command in slots.actions or describe it with primaryAction/secondaryActions. */
|
|
66
78
|
onTitleIconClick?: () => void;
|
|
67
|
-
/** Accessible
|
|
79
|
+
/** @deprecated Accessible name for the compatibility title-icon control. */
|
|
68
80
|
titleIconLabel?: string;
|
|
69
81
|
/** Destination for the back control. */
|
|
70
82
|
backHref?: string;
|
|
71
83
|
onBack?: () => void;
|
|
72
84
|
/** Copy for the back control. */
|
|
73
85
|
backLabel?: string;
|
|
74
|
-
/**
|
|
86
|
+
/** @deprecated Render title content with slots.titleSuffix. Retained for existing badge definitions. */
|
|
75
87
|
titleBadges?: PageTitleBadge[];
|
|
76
88
|
/**
|
|
77
89
|
* The page's one main command: a solid primary button after the secondary
|
|
78
|
-
* commands
|
|
90
|
+
* commands. Compact headers place it first in the More actions menu.
|
|
79
91
|
*/
|
|
80
92
|
primaryAction?: PageHeaderAction;
|
|
81
93
|
/**
|
|
82
94
|
* Supporting commands in priority order. The first two render as outline
|
|
83
95
|
* buttons before the primary command; the rest, and every destructive
|
|
84
96
|
* command, move into the More actions menu, which always closes the row.
|
|
85
|
-
* Below
|
|
97
|
+
* Below 40rem of header width, all commands collapse into that menu.
|
|
86
98
|
*/
|
|
87
99
|
secondaryActions?: readonly PageHeaderAction[];
|
|
100
|
+
/**
|
|
101
|
+
* How many routine secondary commands render as outline buttons on wide
|
|
102
|
+
* headers; later ones join the More actions menu. Use `1` or `0` when long
|
|
103
|
+
* labels beside the primary command would crowd the header; `Infinity`
|
|
104
|
+
* keeps every routine command inline. @default 2
|
|
105
|
+
*/
|
|
106
|
+
maxVisibleSecondaryActions?: number;
|
|
88
107
|
/** Accessible name of the More actions menu trigger. */
|
|
89
108
|
moreActionsLabel?: string;
|
|
90
109
|
/**
|
|
@@ -94,8 +113,7 @@ export interface PageHeaderProps extends LayoutNavigationAdapter {
|
|
|
94
113
|
*/
|
|
95
114
|
tabs?: PageHeaderTabs;
|
|
96
115
|
/**
|
|
97
|
-
*
|
|
98
|
-
* Prefer `primaryAction` and `secondaryActions` for commands.
|
|
116
|
+
* @deprecated Customize commands with slots.actions; put other controls in Page toolbar.
|
|
99
117
|
*/
|
|
100
118
|
actions?: ReactNode;
|
|
101
119
|
/** Replaces individual regions of the shell. */
|
|
@@ -173,11 +191,24 @@ export interface PageActionsProps extends LayoutNavigationAdapter {
|
|
|
173
191
|
export interface PageSlotProps {
|
|
174
192
|
/** Native attributes merged onto the page body region. */
|
|
175
193
|
body?: LayoutSlotAttributes<HTMLDivElement>;
|
|
194
|
+
aside?: LayoutSlotAttributes<HTMLElement>;
|
|
195
|
+
toolbar?: LayoutSlotAttributes<HTMLDivElement>;
|
|
196
|
+
footer?: LayoutSlotAttributes<HTMLDivElement>;
|
|
197
|
+
}
|
|
198
|
+
export interface PageSlots {
|
|
199
|
+
/** Replaces the generated PageHeader. */
|
|
200
|
+
header?: ReactNode;
|
|
201
|
+
toolbar?: ReactNode;
|
|
202
|
+
aside?: ReactNode;
|
|
203
|
+
footer?: ReactNode;
|
|
204
|
+
loading?: ReactNode;
|
|
205
|
+
error?: ReactNode;
|
|
206
|
+
empty?: ReactNode;
|
|
176
207
|
}
|
|
177
208
|
export interface PageProps extends LayoutNavigationAdapter, Omit<ContainerProps, 'children'> {
|
|
178
209
|
/** Header region of the shell. */
|
|
179
210
|
header?: PageHeaderProps;
|
|
180
|
-
/**
|
|
211
|
+
/** Explicit width wins; otherwise narrow uses md, aside uses xl, and a single column uses lg. */
|
|
181
212
|
maxWidth?: ContainerMaxWidth;
|
|
182
213
|
/** Center one resource or form at the existing `md` content measure. */
|
|
183
214
|
narrow?: boolean;
|
|
@@ -185,6 +216,27 @@ export interface PageProps extends LayoutNavigationAdapter, Omit<ContainerProps,
|
|
|
185
216
|
gutter?: ContainerGutter;
|
|
186
217
|
/** Block padding around the whole page. Defaults to `lg`, independent of gutter. */
|
|
187
218
|
padding?: ContainerGutter;
|
|
219
|
+
/** Secondary context beside the primary body, adapting to the available container width. */
|
|
220
|
+
aside?: ReactNode;
|
|
221
|
+
/** Main/aside proportions. Defaults to 7/5. */
|
|
222
|
+
asideRatio?: TwoColumnLayoutProps['ratio'];
|
|
223
|
+
stickyAside?: boolean;
|
|
224
|
+
/** Query controls or context between header and body. */
|
|
225
|
+
toolbar?: ReactNode;
|
|
226
|
+
/** Content above the header. */
|
|
227
|
+
beforeHeader?: ReactNode;
|
|
228
|
+
/** Compatible toolbar fallback when toolbar and slots.toolbar are omitted. */
|
|
229
|
+
afterHeader?: ReactNode;
|
|
230
|
+
/** Replaces only the primary body; header, toolbar and aside remain mounted. */
|
|
231
|
+
loading?: boolean;
|
|
232
|
+
error?: ReactNode | Error;
|
|
233
|
+
onRetry?: () => void;
|
|
234
|
+
empty?: boolean;
|
|
235
|
+
emptySlot?: ReactNode;
|
|
236
|
+
/** Region overrides take precedence over direct props. */
|
|
237
|
+
slots?: PageSlots;
|
|
238
|
+
/** Copy for the default loading, error and empty states. */
|
|
239
|
+
strings?: StringsProp<PageStrings>;
|
|
188
240
|
children?: ReactNode;
|
|
189
241
|
/** Native attributes for stable page regions. */
|
|
190
242
|
slotProps?: PageSlotProps;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PageHeaderProps } from '../page.types';
|
|
2
|
-
export declare function PageHeader({ title, description, textGap, headingTag, titleIcon: TitleIcon, titleIconHref, onTitleIconClick, titleIconLabel, backHref, onBack, backLabel, titleBadges, primaryAction, secondaryActions, moreActionsLabel, tabs, actions, slots, renderLink, className, contentClassName, actionsClassName, titleClassName, titleIconClassName, descriptionClassName, }: PageHeaderProps): import("react").JSX.Element;
|
|
2
|
+
export declare function PageHeader({ title, description, textGap, headingTag, titleIcon: TitleIcon, titleIconHref, onTitleIconClick, titleIconLabel, backHref, onBack, backLabel, titleBadges, primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel, tabs, actions, slots, renderLink, className, contentClassName, actionsClassName, titleClassName, titleIconClassName, descriptionClassName, }: PageHeaderProps): import("react").JSX.Element;
|
|
@@ -51,7 +51,7 @@ export interface AsideNavShellProps extends LayoutNavigationAdapter {
|
|
|
51
51
|
* render before the role-based commands.
|
|
52
52
|
*/
|
|
53
53
|
actions?: ReactNode;
|
|
54
|
-
/** The page's one main command: a solid primary button,
|
|
54
|
+
/** The page's one main command: a solid primary button, available in the compact header menu. */
|
|
55
55
|
primaryAction?: PageHeaderAction;
|
|
56
56
|
/**
|
|
57
57
|
* Supporting commands in priority order, as in Page headers: the first two
|
|
@@ -59,6 +59,13 @@ export interface AsideNavShellProps extends LayoutNavigationAdapter {
|
|
|
59
59
|
* destructive command, move into the More actions menu, which closes the row.
|
|
60
60
|
*/
|
|
61
61
|
secondaryActions?: readonly PageHeaderAction[];
|
|
62
|
+
/**
|
|
63
|
+
* How many routine secondary commands render as outline buttons on wide
|
|
64
|
+
* headers; later ones join the More actions menu. Use `1` or `0` when long
|
|
65
|
+
* labels beside the primary command would crowd the header; `Infinity`
|
|
66
|
+
* keeps every routine command inline. @default 2
|
|
67
|
+
*/
|
|
68
|
+
maxVisibleSecondaryActions?: number;
|
|
62
69
|
/** Accessible name of the More actions menu trigger. Default: `'More actions'`. */
|
|
63
70
|
moreActionsLabel?: string;
|
|
64
71
|
/** Content below the body. */
|
|
@@ -72,7 +79,7 @@ export interface AsideNavShellProps extends LayoutNavigationAdapter {
|
|
|
72
79
|
strings?: StringsProp<AsideNavShellStrings>;
|
|
73
80
|
}
|
|
74
81
|
export type SettingsShellProps = AsideNavShellProps;
|
|
75
|
-
export declare function AsideNavShell({ title, description, groups, currentId, currentPath, children, aside, actions, primaryAction, secondaryActions, moreActionsLabel, footer, className, navClassName, contentClassName, renderLink, strings: stringsProp, }: AsideNavShellProps): import("react").JSX.Element;
|
|
82
|
+
export declare function AsideNavShell({ title, description, groups, currentId, currentPath, children, aside, actions, primaryAction, secondaryActions, maxVisibleSecondaryActions, moreActionsLabel, footer, className, navClassName, contentClassName, renderLink, strings: stringsProp, }: AsideNavShellProps): import("react").JSX.Element;
|
|
76
83
|
export declare namespace AsideNavShell {
|
|
77
84
|
var displayName: string;
|
|
78
85
|
}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import type { AppSidebarProps } from './sidebar.types';
|
|
7
|
-
export declare function AppSidebar({ navigationGroups, footerNavItems, footerLabel, logo, collapsedLogo, workspaceLinks, workspaceStrings, workspaceContentClassName, headerClassName, logoClassName, iconMap, currentUrl, liveBadges, showBadges, menuDensity, renderLink, loading, collapsible, variant, side, className, surfaceClassName, contentClassName, slots, renderItem, searchable, searchValue, defaultSearchValue, onSearchValueChange, strings: stringsProp, expandedItems, defaultExpandedItems, onExpandedItemsChange, }: AppSidebarProps): React.JSX.Element;
|
|
7
|
+
export declare function AppSidebar({ navigationGroups, 'aria-label': navigationLabel, footerNavItems, footerLabel, logo, collapsedLogo, workspaceLinks, workspaceStrings, workspaceContentClassName, headerClassName, logoClassName, iconMap, currentUrl, liveBadges, showBadges, menuDensity, renderLink, loading, collapsible, panelId, surface, variant, side, className, surfaceClassName, contentClassName, slots, renderItem, renderItemContent, searchable, searchValue, defaultSearchValue, onSearchValueChange, strings: stringsProp, expandedItems, defaultExpandedItems, onExpandedItemsChange, }: AppSidebarProps): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Grouped navigation uses public disclosure and sidebar anatomy; routing stays app-owned. */
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { type SidebarGroupedNavigationProps } from '../sidebar.types';
|
|
4
|
-
export declare function SidebarGroupedNavigation({ navigationByGroups, currentUrl, iconMap, liveBadges, showBadges, renderLink, emptySlot, renderItem, className, menuDensity, expandedItems, defaultExpandedItems, onExpandedItemsChange, searchValue, strings: stringsProp, }: SidebarGroupedNavigationProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null;
|
|
4
|
+
export declare function SidebarGroupedNavigation({ navigationByGroups, currentUrl, iconMap, liveBadges, showBadges, renderLink, emptySlot, renderItem, renderItemContent, className, menuDensity, expandedItems, defaultExpandedItems, onExpandedItemsChange, searchValue, strings: stringsProp, }: SidebarGroupedNavigationProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** SidebarNavigation — flat, framework-neutral sidebar nav list. */
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import type { SidebarFlatNavigationProps } from '../sidebar.types';
|
|
4
|
-
export declare function SidebarNavigation({ items, label, currentUrl, iconMap, liveBadges, showBadges, renderLink, renderItem, className, menuDensity, }: SidebarFlatNavigationProps): React.JSX.Element;
|
|
4
|
+
export declare function SidebarNavigation({ items, label, currentUrl, iconMap, liveBadges, showBadges, renderLink, renderItem, renderItemContent, className, menuDensity, }: SidebarFlatNavigationProps): React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { LayoutSidebar, type LayoutSidebarProps } from './sidebar';
|
|
2
2
|
export { LayoutSidebarProvider, useLayoutSidebar, type LayoutSidebarContext, type LayoutSidebarProviderProps, } from './sidebar.context';
|
|
3
3
|
export { AppSidebar } from './app-sidebar';
|
|
4
|
+
export { SidebarNavigationRail, type SidebarNavigationRailItem, type SidebarNavigationRailProps } from './sidebar-navigation-rail';
|
|
4
5
|
export { SidebarLogo, type SidebarLogoProps } from './components/sidebar-logo';
|
|
5
6
|
export { SidebarWorkspaceDropdown } from './components/sidebar-workspace-dropdown';
|
|
6
7
|
export { SidebarNavigation } from './components/sidebar-navigation';
|
|
@@ -8,4 +9,4 @@ export { SidebarGroupedNavigation } from './components/sidebar-grouped-navigatio
|
|
|
8
9
|
export { SidebarNavigationFooter } from './components/sidebar-navigation-footer';
|
|
9
10
|
export { SidebarNavigationUser, defaultSidebarNavigationUserStrings, type SidebarNavigationUserProps, type SidebarNavigationUserStrings, } from './components/sidebar-navigation-user';
|
|
10
11
|
export { toPath, isPathMatch, getNavLabel, getNavKey, DynamicIcon as SidebarIcon, type DynamicIconProps as SidebarIconProps, NavBadge, resolveNavBadge, } from './sidebar.utils';
|
|
11
|
-
export { defaultSidebarWorkspaceDropdownStrings, defaultSidebarNavigationStrings, type SidebarNavigationStrings, type SidebarExpansionProps, type AppSidebarProps, type SidebarNavItem, type SidebarFlatNavItem, type SidebarRenderItemContext, type SidebarSlots, type SidebarFlatNavigationProps, type SidebarGroupedNavigationProps, type SidebarFooterNavigationItem, type SidebarNavigationFooterProps, type WorkspaceLink, type SidebarWorkspaceDropdownProps, type SidebarWorkspaceDropdownStrings, } from './sidebar.types';
|
|
12
|
+
export { defaultSidebarWorkspaceDropdownStrings, defaultSidebarNavigationStrings, type SidebarNavigationStrings, type SidebarExpansionProps, type AppSidebarProps, type SidebarNavItem, type SidebarNavigationGroup, type SidebarNavigationGroups, type SidebarFlatNavItem, type SidebarRenderItemContext, type SidebarRenderItemContentContext, type SidebarSlotContext, type SidebarSlot, type SidebarSlots, type SidebarFlatNavigationProps, type SidebarGroupedNavigationProps, type SidebarFooterNavigationItem, type SidebarNavigationFooterProps, type WorkspaceLink, type SidebarWorkspaceDropdownProps, type SidebarWorkspaceDropdownStrings, } from './sidebar.types';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Primary area navigation, distinct from SidebarRail's collapse affordance. */
|
|
2
|
+
import type { ComponentType } from 'react';
|
|
3
|
+
import type { LayoutIconSource, LayoutNavigationAdapter } from '../layout.types';
|
|
4
|
+
import { type LayoutSidebarProps } from './sidebar';
|
|
5
|
+
import type { SidebarFlatNavItem, SidebarSlot } from './sidebar.types';
|
|
6
|
+
export type SidebarNavigationRailItem = SidebarFlatNavItem & {
|
|
7
|
+
/** Informative area icon; the full label remains accessible. */
|
|
8
|
+
icon: LayoutIconSource;
|
|
9
|
+
} & ({
|
|
10
|
+
id: string;
|
|
11
|
+
} | {
|
|
12
|
+
handle: string;
|
|
13
|
+
});
|
|
14
|
+
export interface SidebarNavigationRailProps extends Omit<LayoutSidebarProps, 'children' | 'collapsible'>, LayoutNavigationAdapter {
|
|
15
|
+
items: readonly SidebarNavigationRailItem[];
|
|
16
|
+
/** Selected item id (or its legacy handle). Controlled. */
|
|
17
|
+
value?: string;
|
|
18
|
+
onValueChange?: (id: string) => void;
|
|
19
|
+
/** Used for native current-route indication when value is omitted. */
|
|
20
|
+
currentUrl?: string;
|
|
21
|
+
iconMap?: Record<string, ComponentType<{
|
|
22
|
+
className?: string;
|
|
23
|
+
}>>;
|
|
24
|
+
/** Structural content seams. Header/footer stay pinned; navigation additions scroll. The rail owns each region's insets. */
|
|
25
|
+
slots?: {
|
|
26
|
+
header?: SidebarSlot;
|
|
27
|
+
beforeNavigation?: SidebarSlot;
|
|
28
|
+
afterNavigation?: SidebarSlot;
|
|
29
|
+
footer?: SidebarSlot;
|
|
30
|
+
};
|
|
31
|
+
/** The rail stays visible by default; offcanvas makes the entire rail hideable. */
|
|
32
|
+
collapsible?: 'none' | 'offcanvas';
|
|
33
|
+
/** Accessible name for this navigation region. @default 'Primary navigation' */
|
|
34
|
+
'aria-label'?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function SidebarNavigationRail({ items, value, onValueChange, currentUrl, renderLink, iconMap, slots, collapsible, 'aria-label': ariaLabel, className, surface, surfaceClassName, style, side, panelId, ...props }: SidebarNavigationRailProps): import("react").JSX.Element;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { useBaseSidebarContext, type SidebarMenuDensity } from '../../base/sidebar/sidebar';
|
|
4
|
-
export declare const useLayoutSidebar: typeof import("../../ui/sidebar").useSidebar;
|
|
1
|
+
import { useBaseSidebarContext, type SidebarMenuDensity, type SidebarProviderProps } from '../../base/sidebar/sidebar';
|
|
2
|
+
export declare const useLayoutSidebar: typeof import("../../ui/sidebar-state").useSidebar;
|
|
5
3
|
export type LayoutSidebarContext = ReturnType<typeof useBaseSidebarContext>;
|
|
6
|
-
export type LayoutSidebarProviderProps =
|
|
4
|
+
export type LayoutSidebarProviderProps = SidebarProviderProps & {
|
|
7
5
|
/** Parent-driven drawer adaptation for embedded shells; defaults to viewport. */
|
|
8
6
|
adaptTo?: 'viewport' | 'container';
|
|
9
7
|
/** Whether the surface starts open, for uncontrolled use. */
|
|
10
8
|
defaultOpen?: boolean;
|
|
11
|
-
/** Default row and child-list rhythm. @default '
|
|
9
|
+
/** Default row and child-list rhythm. @default 'default' */
|
|
12
10
|
menuDensity?: SidebarMenuDensity;
|
|
13
11
|
/** Whether the surface is showing. Controlled. */
|
|
14
12
|
open?: boolean;
|
|
15
13
|
onOpenChange?: (open: boolean) => void;
|
|
16
14
|
};
|
|
17
|
-
export declare function LayoutSidebarProvider({ defaultOpen, menuDensity, open, onOpenChange, className, style, children, ...props }: LayoutSidebarProviderProps):
|
|
15
|
+
export declare function LayoutSidebarProvider({ defaultOpen, menuDensity, open, onOpenChange, className, style, children, ...props }: LayoutSidebarProviderProps): import("react").JSX.Element;
|