themelia-react-ui 2.0.6 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +250 -0
- package/MIGRATION.md +746 -7
- package/README.md +27 -23
- package/dist/{accordion-0tQUZ20r.js → accordion-DNVqwEIC.js} +36 -36
- package/dist/accordion-DNVqwEIC.js.map +1 -0
- package/dist/action-menu-D5343RwT.js +286 -0
- package/dist/action-menu-D5343RwT.js.map +1 -0
- package/dist/ai-artifact-otrz9ZwS.js +1214 -0
- package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
- package/dist/anchored-positioning-1U_eBFNx.js +9 -0
- package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
- package/dist/app-shell-CPN30Nb1.js +372 -0
- package/dist/app-shell-CPN30Nb1.js.map +1 -0
- package/dist/{attachment-BCpA4e7i.js → attachment-D2-fpfmv.js} +15 -15
- package/dist/{attachment-BCpA4e7i.js.map → attachment-D2-fpfmv.js.map} +1 -1
- package/dist/{auth-B0girIk_.js → auth-g_oUTDDC.js} +234 -241
- package/dist/auth-g_oUTDDC.js.map +1 -0
- package/dist/{avatar-B9Jnp-T-.js → avatar-Ca3Ihrq4.js} +4 -4
- package/dist/{avatar-B9Jnp-T-.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
- package/dist/{badge-wWauMgAt.js → badge-oGiXblW7.js} +8 -9
- package/dist/badge-oGiXblW7.js.map +1 -0
- 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 +2 -2
- package/dist/base/cards.js +3 -3
- package/dist/base/carousel.js +11 -11
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +1 -1
- 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 +1 -1
- 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 +7 -7
- package/dist/base/feedback.js +4 -4
- package/dist/base/forms-numeric.js +2 -2
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +13 -13
- package/dist/base/inline-edit.js.map +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +203 -2
- package/dist/base/media-gallery.js.map +1 -0
- 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 +32 -22
- package/dist/base/qr-code.js.map +1 -1
- package/dist/base/repeaters.js +91 -88
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +14 -14
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +6 -12
- package/dist/base/spinner.js.map +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +3 -3
- package/dist/base/toaster.js +2 -2
- package/dist/base/tree.js +2 -2
- package/dist/base/upload-queue.js +303 -2
- package/dist/base/upload-queue.js.map +1 -0
- package/dist/base/upload.js +3 -4
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-BoqWIIpV.js → batch-action-bar-D6MZQNnC.js} +10 -10
- package/dist/{batch-action-bar-BoqWIIpV.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
- package/dist/blocks/admin.js +242 -228
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +395 -357
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/charts.js +1022 -0
- package/dist/blocks/analytics/charts.js.map +1 -0
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +171 -1365
- 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 +1487 -1358
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -3
- package/dist/blocks/onboarding.js +91 -82
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +25 -25
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +2 -2
- package/dist/{breadcrumbs-Bp9Ke7kd.js → breadcrumbs-CQ9JSlez.js} +52 -45
- package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
- package/dist/{button-ChBovTx0.js → button-rd6FiHfQ.js} +12 -8
- package/dist/button-rd6FiHfQ.js.map +1 -0
- package/dist/{buttons-DeW0bQeK.js → buttons-pZVgPTZn.js} +230 -246
- package/dist/buttons-pZVgPTZn.js.map +1 -0
- package/dist/{cards-CNXnmvV5.js → cards-CgWyqvgZ.js} +25 -22
- package/dist/{cards-CNXnmvV5.js.map → cards-CgWyqvgZ.js.map} +1 -1
- package/dist/cascader-Cf05pwaq.js +444 -0
- package/dist/cascader-Cf05pwaq.js.map +1 -0
- package/dist/{chart-I7ROnsl8.js → chart-CygRCyIZ.js} +5 -5
- package/dist/{chart-I7ROnsl8.js.map → chart-CygRCyIZ.js.map} +1 -1
- package/dist/{checkbox-MoyHIAPs.js → checkbox-Dy5_XBMZ.js} +4 -4
- package/dist/{checkbox-MoyHIAPs.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
- package/dist/{choice-inputs-DHGtx0QV.js → choice-inputs-oJEsrb5Y.js} +113 -114
- package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
- package/dist/{code-block-BSJyq9e-.js → code-block-BrLD7mCi.js} +44 -60
- package/dist/code-block-BrLD7mCi.js.map +1 -0
- package/dist/collapsible-CRCCg_bO.js +80 -0
- package/dist/collapsible-CRCCg_bO.js.map +1 -0
- package/dist/{collection-content-CSnwtOTH.js → collection-content-D7SoDlYd.js} +3 -3
- package/dist/{collection-content-CSnwtOTH.js.map → collection-content-D7SoDlYd.js.map} +1 -1
- package/dist/combobox-Dl6f6kHz.js +362 -0
- package/dist/combobox-Dl6f6kHz.js.map +1 -0
- package/dist/combobox-DrDXtSSt.js +929 -0
- package/dist/combobox-DrDXtSSt.js.map +1 -0
- package/dist/command-CjZ2VzKC.js +432 -0
- package/dist/command-CjZ2VzKC.js.map +1 -0
- package/dist/comments-C2MZyRmh.js +1214 -0
- package/dist/comments-C2MZyRmh.js.map +1 -0
- package/dist/components/base/accordion/accordion.d.ts +11 -3
- package/dist/components/base/action-menu/action-menu.d.ts +11 -3
- package/dist/components/base/buttons/button.d.ts +2 -2
- package/dist/components/base/buttons/index.d.ts +1 -1
- package/dist/components/base/buttons/loader-button.d.ts +6 -15
- package/dist/components/base/cards/index.d.ts +1 -1
- package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
- package/dist/components/base/cards/smart-card.d.ts +0 -2
- package/dist/components/base/cards/smart-card.types.d.ts +12 -10
- package/dist/components/base/cascader/cascader.d.ts +8 -2
- package/dist/components/base/cascader/cascader.types.d.ts +24 -2
- package/dist/components/base/cascader/index.d.ts +1 -1
- package/dist/components/base/choice-inputs/switch.d.ts +1 -1
- package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
- package/dist/components/base/command/command.d.ts +1 -1
- package/dist/components/base/date-pickers/datepicker.types.d.ts +1 -3
- package/dist/components/base/display/dialog.d.ts +3 -9
- package/dist/components/base/display/index.d.ts +2 -3
- package/dist/components/base/display/separator.d.ts +1 -1
- package/dist/components/base/feedback/alert.d.ts +2 -1
- package/dist/components/base/feedback/empty.d.ts +10 -2
- package/dist/components/base/forms/workflow.d.ts +2 -2
- package/dist/components/base/forms-numeric/dimensions-input.d.ts +9 -17
- package/dist/components/base/forms-numeric/index.d.ts +3 -3
- package/dist/components/base/item/item.types.d.ts +6 -2
- package/dist/components/base/metadata-list/index.d.ts +1 -3
- package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
- package/dist/components/base/navigation/index.d.ts +2 -2
- package/dist/components/base/navigation/language-switcher.d.ts +7 -6
- package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
- package/dist/components/base/navigation/page-header/index.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
- package/dist/components/base/navigation/pagination.d.ts +5 -5
- package/dist/components/base/popover/popover.recipes.d.ts +0 -1
- package/dist/components/base/qr-code/qr-code.d.ts +4 -0
- package/dist/components/base/repeaters/index.d.ts +1 -1
- package/dist/components/base/repeaters/key-value-editor.d.ts +4 -0
- package/dist/components/base/sheet/sheet.d.ts +6 -15
- package/dist/components/base/sidebar/index.d.ts +1 -6
- package/dist/components/base/sidebar/sidebar.d.ts +38 -10
- package/dist/components/base/skeleton/skeleton.d.ts +1 -1
- package/dist/components/base/structure/structure.types.d.ts +11 -2
- package/dist/components/base/text-inputs/index.d.ts +1 -1
- package/dist/components/base/tree/index.d.ts +1 -0
- package/dist/components/base/tree/tree.d.ts +2 -2
- package/dist/components/base/tree/tree.types.d.ts +7 -1
- package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
- package/dist/components/base/upload/image-upload.d.ts +2 -0
- package/dist/components/base/upload/index.d.ts +3 -9
- package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
- package/dist/components/base/value-inputs/slider.d.ts +5 -2
- package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
- package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
- package/dist/components/blocks/admin/index.d.ts +1 -1
- package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
- package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
- package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
- package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
- package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
- package/dist/components/blocks/ai/ai-citation/types.d.ts +6 -0
- package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
- package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
- package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
- package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
- package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
- package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
- package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
- package/dist/components/blocks/ai/ai-sources/types.d.ts +8 -2
- package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
- package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
- package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +6 -0
- package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
- package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
- package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
- package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
- package/dist/components/blocks/analytics/index.d.ts +17 -24
- package/dist/components/blocks/analytics/metric/metric.d.ts +5 -5
- package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +2 -2
- package/dist/components/blocks/analytics/types.d.ts +12 -3
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
- package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
- package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
- package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
- package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
- package/dist/components/blocks/commerce/index.d.ts +8 -8
- package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
- package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
- package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
- package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
- package/dist/components/blocks/commerce/order-status/types.d.ts +8 -8
- package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
- package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
- package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
- package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
- package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
- package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
- package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
- package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
- package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
- package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
- package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
- package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
- package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
- package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
- package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
- package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
- package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
- package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
- package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
- package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
- package/dist/components/blocks/content-block-hooks.d.ts +22 -0
- package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
- package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
- package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
- package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +6 -0
- package/dist/components/blocks/data-display/index.d.ts +0 -1
- package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
- package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
- package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
- package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
- package/dist/components/blocks/timelines/index.d.ts +2 -2
- package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
- package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
- package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
- package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
- package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
- package/dist/components/features/activities/activities.strings.d.ts +5 -3
- package/dist/components/features/activities/activities.types.d.ts +28 -11
- package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
- package/dist/components/features/activities/index.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
- package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
- package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
- package/dist/components/features/activities/relative-time.d.ts +18 -0
- package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
- package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
- package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
- package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
- package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
- package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +19 -5
- package/dist/components/features/appointment-calendar/index.d.ts +1 -1
- package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
- package/dist/components/features/async-preview/async-preview.d.ts +2 -2
- package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
- package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
- package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
- package/dist/components/features/combobox/combobox.d.ts +12 -3
- package/dist/components/features/combobox/components/error-message.d.ts +3 -1
- package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -2
- package/dist/components/features/combobox/index.d.ts +1 -1
- package/dist/components/features/combobox/types.d.ts +47 -45
- package/dist/components/features/comments/comments.strings.d.ts +6 -5
- package/dist/components/features/comments/comments.types.d.ts +40 -26
- package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
- package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
- package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
- package/dist/components/features/data-view/data-view.types.d.ts +15 -2
- package/dist/components/features/email-composer/email-html.d.ts +5 -0
- package/dist/components/features/email-composer/http.d.ts +2 -0
- package/dist/components/features/email-composer/strings.d.ts +17 -2
- package/dist/components/features/email-composer/types.d.ts +17 -2
- package/dist/components/features/email-composer/use-composer.d.ts +2 -78
- package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
- package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
- package/dist/components/features/filters/facets/range-facet.d.ts +13 -8
- package/dist/components/features/filters/filter-context.d.ts +9 -0
- package/dist/components/features/filters/filters.strings.d.ts +36 -3
- package/dist/components/features/filters/filters.types.d.ts +72 -5
- package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
- package/dist/components/features/filters/index.d.ts +2 -2
- package/dist/components/features/filters/operator-options.d.ts +25 -2
- package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
- package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
- package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
- package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
- package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
- package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
- package/dist/components/features/filters/utils/filter-utils.d.ts +29 -4
- package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
- package/dist/components/features/global-search/global-search.d.ts +7 -1
- package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
- package/dist/components/features/global-search/global-search.types.d.ts +30 -6
- package/dist/components/features/global-search/index.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
- package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
- package/dist/components/features/kanban/index.d.ts +2 -2
- package/dist/components/features/kanban/kanban-context.d.ts +4 -0
- package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
- package/dist/components/features/kanban/kanban.d.ts +10 -1
- package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
- package/dist/components/features/kanban/kanban.types.d.ts +26 -0
- package/dist/components/features/map/map.d.ts +4 -0
- package/dist/components/features/map/place-autocomplete.d.ts +10 -1
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +33 -3
- package/dist/components/features/media-library/media-library.types.d.ts +47 -2
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
- package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
- package/dist/components/features/mentions/index.d.ts +1 -1
- package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
- package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +8 -1
- package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
- package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
- package/dist/components/features/mentions/utils/index.d.ts +0 -1
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/dialog.d.ts +1 -1
- package/dist/components/features/overlays/drawer.d.ts +1 -1
- package/dist/components/features/overlays/index.d.ts +2 -2
- package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
- package/dist/components/features/overlays/overlays.types.d.ts +27 -10
- package/dist/components/features/products/components/index.d.ts +0 -10
- package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
- package/dist/components/features/products/components/product-details-card.d.ts +1 -1
- package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
- package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
- package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
- package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
- package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
- package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
- package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
- package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
- package/dist/components/features/products/partials/product-surface.d.ts +15 -0
- package/dist/components/features/products/products.strings.d.ts +8 -0
- package/dist/components/features/products/products.types.d.ts +25 -7
- package/dist/components/features/questionnaire/questionnaire.types.d.ts +6 -4
- package/dist/components/features/resource/index.d.ts +2 -3
- package/dist/components/features/resource/resource.d.ts +2 -10
- package/dist/components/features/resource/resource.types.d.ts +7 -149
- package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
- package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
- package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
- package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
- package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
- package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +2 -3
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +13 -1
- package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -0
- package/dist/components/features/schema-form/schema-form.d.ts +1 -1
- package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
- package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
- package/dist/components/features/suggestions/suggestions.types.d.ts +12 -4
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/filter-bar.d.ts +1 -1
- package/dist/components/features/table/pagination.d.ts +1 -1
- package/dist/components/features/table/partials/cell-value.d.ts +1 -1
- package/dist/components/features/table/table-body.d.ts +1 -1
- package/dist/components/features/table/table-header.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +31 -9
- package/dist/components/features/table/table-region.recipes.d.ts +11 -0
- package/dist/components/features/table/table-toolbar.d.ts +1 -1
- package/dist/components/features/table/table.strings.d.ts +1 -0
- package/dist/components/features/table/table.types.d.ts +74 -48
- package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
- package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
- package/dist/components/layout/app-shell/index.d.ts +2 -2
- package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
- package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -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/auth/auth-shell.d.ts +1 -1
- package/dist/components/layout/auth/auth.types.d.ts +0 -5
- package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
- package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
- package/dist/components/layout/header/header.types.d.ts +16 -6
- package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
- package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
- package/dist/components/layout/header/partials/header-search.d.ts +1 -1
- package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
- package/dist/components/layout/layout.types.d.ts +2 -2
- package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
- package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
- package/dist/components/layout/page/index.d.ts +2 -3
- package/dist/components/layout/page/page.strings.d.ts +12 -0
- package/dist/components/layout/page/page.types.d.ts +7 -110
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/index.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +3 -5
- 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-footer.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/index.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +15 -7
- package/dist/components/layout/sidebar/sidebar.types.d.ts +10 -12
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
- package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
- package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
- package/dist/components/primitives/date.d.ts +22 -3
- package/dist/components/primitives/file-size.d.ts +8 -2
- package/dist/components/primitives/index.d.ts +1 -1
- package/dist/components/primitives/initials.d.ts +3 -1
- package/dist/components/primitives/link.d.ts +8 -1
- package/dist/components/primitives/money.d.ts +1 -1
- package/dist/components/primitives/number.d.ts +2 -1
- package/dist/components/typography/heading.d.ts +9 -3
- package/dist/components/typography/index.d.ts +1 -1
- package/dist/components/typography/text-link.d.ts +10 -3
- package/dist/components/ui/badge.d.ts +2 -4
- package/dist/components/ui/breadcrumb.d.ts +2 -3
- package/dist/components/ui/button.d.ts +8 -2
- package/dist/components/ui/collapsible.d.ts +1 -4
- package/dist/components/ui/command.d.ts +20 -18
- package/dist/components/ui/dialog.d.ts +3 -9
- package/dist/components/ui/empty.d.ts +2 -2
- package/dist/components/ui/input-group.d.ts +3 -3
- package/dist/components/ui/item.d.ts +3 -3
- package/dist/components/ui/popover.d.ts +3 -7
- package/dist/components/ui/sheet.d.ts +4 -12
- package/dist/components/ui/sidebar-state.d.ts +6 -1
- package/dist/components/ui/sidebar.d.ts +7 -4
- package/dist/components/ui/tabs.d.ts +2 -2
- package/dist/components/ui/toggle-group.d.ts +3 -3
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/components/ui/tooltip.d.ts +1 -3
- package/dist/{containers-CSdc32h9.js → containers-BdfLTP4w.js} +37 -32
- package/dist/containers-BdfLTP4w.js.map +1 -0
- package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
- package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
- package/dist/{copyable-3fdHfMR3.js → copyable-Bmr14W0d.js} +6 -6
- package/dist/{copyable-3fdHfMR3.js.map → copyable-Bmr14W0d.js.map} +1 -1
- package/dist/{data-display-Cmj-xZYl.js → data-display-CWe9SOYh.js} +264 -251
- package/dist/data-display-CWe9SOYh.js.map +1 -0
- package/dist/date-3qsCE1ID.js +209 -0
- package/dist/date-3qsCE1ID.js.map +1 -0
- package/dist/{date-picker-CyQlFYsP.js → date-picker-D1keJQIG.js} +129 -129
- package/dist/date-picker-D1keJQIG.js.map +1 -0
- package/dist/date-pickers-D8aJoeHc.js +185 -0
- package/dist/date-pickers-D8aJoeHc.js.map +1 -0
- package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
- package/dist/{display-CT_N2a3w.js → display-VlmP1I0i.js} +23 -46
- package/dist/display-VlmP1I0i.js.map +1 -0
- package/dist/{dropdown-menu-C08iIugv.js → dropdown-menu-B8hjvbkS.js} +9 -9
- package/dist/{dropdown-menu-C08iIugv.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
- package/dist/dropzone-CHBNK3de.js +116 -0
- package/dist/dropzone-CHBNK3de.js.map +1 -0
- package/dist/features/activities.js +682 -628
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +258 -226
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +436 -340
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +351 -265
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +2 -2
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +212 -151
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +344 -315
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +504 -355
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +2 -2
- package/dist/features/global-search.js +250 -206
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +269 -189
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +385 -371
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +1571 -1199
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +2 -2
- package/dist/features/overlays.js +2 -2
- package/dist/features/products.js +1780 -1691
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +165 -152
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +223 -191
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +55 -220
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +3 -3
- package/dist/features/schema-form.js +280 -228
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +48 -39
- package/dist/features/suggestions.js.map +1 -1
- package/dist/features/table.js +2 -2
- package/dist/features/theme-tweaker.js +723 -633
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-DmqmXKLn.js +254 -0
- package/dist/feedback-DmqmXKLn.js.map +1 -0
- package/dist/{field-affordance-recipes-D6H7tVJi.js → field-affordance-recipes-DfbMadot.js} +13 -9
- package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
- package/dist/{field-state-recipes-7sza8QbC.js → field-state-recipes-EtCxpEy3.js} +6 -2
- package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
- package/dist/filters-BviMRMLS.js +2692 -0
- package/dist/filters-BviMRMLS.js.map +1 -0
- package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
- package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
- package/dist/{form-field-CAPdwdnZ.js → form-field-BdfCwSoQ.js} +5 -5
- package/dist/{form-field-CAPdwdnZ.js.map → form-field-BdfCwSoQ.js.map} +1 -1
- package/dist/{form-sizing-CgcrUbLU.js → form-sizing-DE_dZw32.js} +3 -3
- package/dist/{form-sizing-CgcrUbLU.js.map → form-sizing-DE_dZw32.js.map} +1 -1
- package/dist/{forms-B3W8CH7-.js → forms-B8DzJnBN.js} +35 -35
- package/dist/forms-B8DzJnBN.js.map +1 -0
- package/dist/forms-numeric-DOBswjKj.js +992 -0
- package/dist/forms-numeric-DOBswjKj.js.map +1 -0
- package/dist/{header-ZIIsRKxP.js → header-Cq3G0ZRP.js} +100 -95
- package/dist/header-Cq3G0ZRP.js.map +1 -0
- package/dist/{hooks-BitHSh-Y.js → hooks-DHfeSMAO.js} +34 -14
- package/dist/hooks-DHfeSMAO.js.map +1 -0
- package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
- package/dist/http-Cu-GPpss.js.map +1 -0
- package/dist/{icon-badge-npxF1SLX.js → icon-badge-B0Kq7wom.js} +3 -3
- package/dist/{icon-badge-npxF1SLX.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
- package/dist/index.js +6 -6
- package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
- package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
- package/dist/{input-DIREVYHs.js → input-2YrgTUrz.js} +3 -3
- package/dist/{input-DIREVYHs.js.map → input-2YrgTUrz.js.map} +1 -1
- package/dist/{input-7KAc7XQL.js → input-DfJyrjoR.js} +6 -6
- package/dist/{input-7KAc7XQL.js.map → input-DfJyrjoR.js.map} +1 -1
- package/dist/{interaction-recipes-4wZ2tvfb.js → interaction-recipes-DmuS1ase.js} +2 -2
- package/dist/{interaction-recipes-4wZ2tvfb.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
- package/dist/item-GJ9mvCcg.js +279 -0
- package/dist/item-GJ9mvCcg.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 +2 -2
- package/dist/layout/sidebar.js +3 -3
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +12 -12
- package/dist/{layout.types-E_GAApzO.js → layout.types-DbtnyAtd.js} +11 -8
- package/dist/layout.types-DbtnyAtd.js.map +1 -0
- package/dist/lib/anchored-positioning.d.ts +11 -0
- package/dist/lib/field-affordance-recipes.d.ts +10 -0
- package/dist/lib/field-state-recipes.d.ts +6 -0
- package/dist/lib/focus-recipes.d.ts +7 -0
- package/dist/lib/format.d.ts +25 -0
- package/dist/lib/money-format.d.ts +6 -0
- package/dist/lib/motion-recipes.d.ts +6 -0
- package/dist/lib/surface-recipes.d.ts +32 -2
- package/dist/lib/theme-scope.d.ts +17 -1
- package/dist/lib/token-merge.generated.d.ts +13 -19
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/types.d.ts +5 -0
- package/dist/lib/use-controllable-state.d.ts +16 -0
- package/dist/lib/use-copy-feedback.d.ts +15 -0
- package/dist/lib/utils.js +1 -1
- package/dist/lib/variant-props.d.ts +9 -0
- package/dist/main-landmark-context-BAsyqp2I.js +11 -0
- package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
- package/dist/mentions-zz0ewNIq.js +670 -0
- package/dist/mentions-zz0ewNIq.js.map +1 -0
- package/dist/{message-BJHnn43M.js → message-BiiVrRrm.js} +10 -7
- package/dist/{message-BJHnn43M.js.map → message-BiiVrRrm.js.map} +1 -1
- package/dist/{metadata-list-XkqZ_UXH.js → metadata-list-G85roWjS.js} +13 -12
- package/dist/metadata-list-G85roWjS.js.map +1 -0
- package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
- package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
- package/dist/navigation-C0Be5C3i.js +304 -0
- package/dist/navigation-C0Be5C3i.js.map +1 -0
- package/dist/{navigation-Bt-v7rWP.js → navigation-CmqaQR_G.js} +99 -103
- package/dist/navigation-CmqaQR_G.js.map +1 -0
- package/dist/number-NFWKIoiK.js +340 -0
- package/dist/number-NFWKIoiK.js.map +1 -0
- package/dist/{overflow-tab-bar-BQCA2Zn2.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
- package/dist/{overflow-tab-bar-BQCA2Zn2.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
- package/dist/overlays-D-gAIfPF.js +1018 -0
- package/dist/overlays-D-gAIfPF.js.map +1 -0
- package/dist/page-D4pQhgSq.js +216 -0
- package/dist/page-D4pQhgSq.js.map +1 -0
- package/dist/{page-header-commands-DIKspJfx.js → page-header-commands-elelNOfd.js} +29 -29
- package/dist/{page-header-commands-DIKspJfx.js.map → page-header-commands-elelNOfd.js.map} +1 -1
- package/dist/{pagination-Br8TdV9A.js → pagination-BuSWw1US.js} +22 -23
- package/dist/pagination-BuSWw1US.js.map +1 -0
- package/dist/{popover-k8TdUcAt.js → popover-BpMxbqEK.js} +73 -69
- package/dist/popover-BpMxbqEK.js.map +1 -0
- package/dist/{popover-menu-yn-o0kyA.js → popover-menu-CO-_iiuz.js} +7 -7
- package/dist/{popover-menu-yn-o0kyA.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
- package/dist/{popover.recipes-DJ0AkUan.js → popover.recipes-BqkdvlZn.js} +3 -4
- package/dist/{popover.recipes-DJ0AkUan.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
- package/dist/{portal-recipes-DyUXqUtD.js → portal-recipes-BPeS4rGB.js} +2 -2
- package/dist/{portal-recipes-DyUXqUtD.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
- package/dist/primitives-BlC1lXBr.js +447 -0
- package/dist/primitives-BlC1lXBr.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-DZFXXzPs.js → progress-RARK8AjB.js} +5 -5
- package/dist/{progress-DZFXXzPs.js.map → progress-RARK8AjB.js.map} +1 -1
- package/dist/receipt-CUf2Vegp.js +114 -0
- package/dist/receipt-CUf2Vegp.js.map +1 -0
- package/dist/{rich-text-BnTzZjIo.js → rich-text-Cypm9__d.js} +7 -8
- package/dist/{rich-text-BnTzZjIo.js.map → rich-text-Cypm9__d.js.map} +1 -1
- package/dist/rich-text-editor-Z6cQepsA.js +919 -0
- package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
- package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
- package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
- package/dist/rich-text-tree-DdKHIJx4.js +154 -0
- package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
- package/dist/safe-image-src-C6kQSMBZ.js +17 -0
- package/dist/safe-image-src-C6kQSMBZ.js.map +1 -0
- package/dist/{scroll-area-Bj6CRUif.js → scroll-area-B9HKbji0.js} +3 -3
- package/dist/{scroll-area-Bj6CRUif.js.map → scroll-area-B9HKbji0.js.map} +1 -1
- package/dist/{separator-DM6gs2vu.js → separator-DaDe26sf.js} +3 -3
- package/dist/separator-DaDe26sf.js.map +1 -0
- package/dist/{separator-B9ewiCGO.js → separator-KGsNXt2J.js} +2 -2
- package/dist/{separator-B9ewiCGO.js.map → separator-KGsNXt2J.js.map} +1 -1
- package/dist/services/actions/action-adapters.d.ts +5 -2
- package/dist/services/actions/index.d.ts +1 -1
- package/dist/services/actions.js +2 -2
- package/dist/services/actions.js.map +1 -1
- package/dist/settings-D5j_RJvT.js +160 -0
- package/dist/settings-D5j_RJvT.js.map +1 -0
- package/dist/sheet-B6j_BE9O.js +241 -0
- package/dist/sheet-B6j_BE9O.js.map +1 -0
- package/dist/{sidebar-CmD6a-HK.js → sidebar-C-iQ_TJP.js} +377 -351
- package/dist/sidebar-C-iQ_TJP.js.map +1 -0
- package/dist/sidebar-D5VO2W8S.js +715 -0
- package/dist/sidebar-D5VO2W8S.js.map +1 -0
- package/dist/{skeleton-DDgdhmu9.js → skeleton-Cab_KgVo.js} +12 -12
- package/dist/skeleton-Cab_KgVo.js.map +1 -0
- package/dist/{smart-card-B6vLxqa_.js → smart-card-C59z6KFO.js} +217 -210
- package/dist/smart-card-C59z6KFO.js.map +1 -0
- package/dist/{structure-DZJ2wbAU.js → structure-DElaQwwN.js} +2 -2
- package/dist/{structure-DZJ2wbAU.js.map → structure-DElaQwwN.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{surface-recipes-C8mNycaY.js → surface-recipes-DV6rrOFq.js} +10 -2
- package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
- package/dist/{table-CXSPHH25.js → table-CSRUgpdK.js} +62 -61
- package/dist/table-CSRUgpdK.js.map +1 -0
- package/dist/table-DdXDBsR_.js +1657 -0
- package/dist/table-DdXDBsR_.js.map +1 -0
- package/dist/{tabs-C4Kr_hCr.js → tabs-WnHfV2pM.js} +27 -27
- package/dist/tabs-WnHfV2pM.js.map +1 -0
- package/dist/{text-inputs-jdkS3ReG.js → text-inputs-ljyBYaCd.js} +112 -112
- package/dist/text-inputs-ljyBYaCd.js.map +1 -0
- package/dist/theme.css +21 -5
- package/dist/timelines-mOmS9Eh3.js +479 -0
- package/dist/timelines-mOmS9Eh3.js.map +1 -0
- package/dist/tooltip-yjX-Uv-p.js +112 -0
- package/dist/tooltip-yjX-Uv-p.js.map +1 -0
- package/dist/{tree-CeYVzdFE.js → tree-YpkxUG2Z.js} +80 -72
- package/dist/tree-YpkxUG2Z.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-C7-YMW1S.js → typography-C0dELqYV.js} +46 -40
- package/dist/typography-C0dELqYV.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
- package/dist/ui-provider-Bu1S-o96.js.map +1 -0
- package/dist/ui-provider.js +2 -2
- package/dist/{upload-Hdm5gObf.js → upload-DMuMYJFT.js} +276 -268
- package/dist/upload-DMuMYJFT.js.map +1 -0
- package/dist/{usage-card-9s8hLDfn.js → usage-card-DDPki5P1.js} +57 -54
- package/dist/usage-card-DDPki5P1.js.map +1 -0
- package/dist/use-controllable-state-BlP8SyBI.js +13 -0
- package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
- package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
- package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
- package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
- package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
- package/dist/{utils-DhuoqFy4.js → utils-BVbAG2J6.js} +98 -76
- package/dist/utils-BVbAG2J6.js.map +1 -0
- package/dist/value-inputs-h5MwjGCo.js +982 -0
- package/dist/value-inputs-h5MwjGCo.js.map +1 -0
- package/dist/value-typography-D15uwfj-.js +154 -0
- package/dist/value-typography-D15uwfj-.js.map +1 -0
- package/dist/workspace-DIryPqBt.js +400 -0
- package/dist/workspace-DIryPqBt.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +7 -0
- package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
- package/docs/consumer-skill/examples/analytics.tsx +1 -1
- package/docs/consumer-skill/examples/app-layout.tsx +3 -3
- package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
- package/docs/consumer-skill/examples/detail.tsx +3 -2
- package/docs/consumer-skill/examples/email-composer.tsx +1 -1
- package/docs/consumer-skill/examples/index-table.tsx +2 -2
- package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
- package/docs/consumer-skill/references/agents-md.md +20 -16
- package/docs/consumer-skill/references/analytics.md +20 -6
- package/docs/consumer-skill/references/building-views.md +213 -0
- package/docs/consumer-skill/references/catalogue.md +617 -0
- package/docs/consumer-skill/references/component-contracts.json +10202 -18084
- package/docs/consumer-skill/references/composition.md +21 -17
- package/docs/consumer-skill/references/discovery.md +8 -5
- package/docs/consumer-skill/references/installation.md +10 -4
- package/docs/consumer-skill/references/integration.md +5 -5
- package/docs/consumer-skill/references/product-composition.md +2 -2
- package/docs/consumer-skill/references/public-api.json +580 -633
- package/docs/consumer-skill/references/review.md +6 -4
- package/docs/consumer-skill/references/screen-archetypes.md +2 -2
- package/docs/consumer-skill/references/theming.md +1 -1
- package/docs/consumer-skill/references/tokens.json +4 -4
- package/docs/consumer-skill/references/workflows.md +7 -7
- package/docs/consumer-skill/scripts/composition-policy.mjs +40 -20
- package/docs/consumer-skill/scripts/composition.mjs +4 -1
- package/docs/consumer-skill/scripts/discovery.mjs +3 -1
- package/docs/consumer-skill/scripts/setup-skills.mjs +31 -4
- package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
- package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
- package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
- package/package.json +9 -12
- package/templates/README.md +3 -2
- package/templates/admin-shell-template.tsx +49 -9
- package/templates/analytics-operations-template.tsx +20 -24
- package/templates/customers-template.tsx +12 -9
- package/templates/index.ts +2 -8
- package/templates/orders-template.tsx +28 -24
- package/templates/products-template.tsx +14 -4
- package/templates/user-permissions-template.tsx +11 -14
- package/dist/accordion-0tQUZ20r.js.map +0 -1
- package/dist/action-menu-C0gjzLyE.js +0 -284
- package/dist/action-menu-C0gjzLyE.js.map +0 -1
- package/dist/ai-artifact-CGGpQryR.js +0 -1200
- package/dist/ai-artifact-CGGpQryR.js.map +0 -1
- package/dist/anchored-positioning-DPnKTvNs.js +0 -6
- package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
- package/dist/app-shell-EHuuRDGy.js +0 -321
- package/dist/app-shell-EHuuRDGy.js.map +0 -1
- package/dist/auth-B0girIk_.js.map +0 -1
- package/dist/badge-wWauMgAt.js.map +0 -1
- package/dist/base/sheet.js +0 -3
- package/dist/breadcrumbs-Bp9Ke7kd.js.map +0 -1
- package/dist/button-ChBovTx0.js.map +0 -1
- package/dist/buttons-DeW0bQeK.js.map +0 -1
- package/dist/cascader-CrAl9zD5.js +0 -439
- package/dist/cascader-CrAl9zD5.js.map +0 -1
- package/dist/choice-inputs-DHGtx0QV.js.map +0 -1
- package/dist/code-block-BSJyq9e-.js.map +0 -1
- package/dist/collapsible-BzJ91LUG.js +0 -81
- package/dist/collapsible-BzJ91LUG.js.map +0 -1
- package/dist/combobox-Bcvu5J8O.js +0 -363
- package/dist/combobox-Bcvu5J8O.js.map +0 -1
- package/dist/combobox-C2JiSQPc.js +0 -915
- package/dist/combobox-C2JiSQPc.js.map +0 -1
- package/dist/command-9e52NPgK.js +0 -425
- package/dist/command-9e52NPgK.js.map +0 -1
- package/dist/comments-BsgErEqd.js +0 -1174
- package/dist/comments-BsgErEqd.js.map +0 -1
- package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
- package/dist/components/base/display/content-block.d.ts +0 -75
- package/dist/components/base/display/content-block.strings.d.ts +0 -5
- package/dist/components/base/sheet/index.d.ts +0 -29
- package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
- package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
- package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -10
- package/dist/components/features/resource/resource.strings.d.ts +0 -12
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
- package/dist/components/features/sync/index.d.ts +0 -26
- package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
- package/dist/components/features/sync/sync.strings.d.ts +0 -18
- package/dist/components/features/sync/sync.types.d.ts +0 -44
- package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
- package/dist/components/ui/slot.d.ts +0 -6
- package/dist/containers-CSdc32h9.js.map +0 -1
- package/dist/data-display-Cmj-xZYl.js.map +0 -1
- package/dist/date-Br0FicVv.js +0 -144
- package/dist/date-Br0FicVv.js.map +0 -1
- package/dist/date-picker-CyQlFYsP.js.map +0 -1
- package/dist/date-pickers-tj2MXmXd.js +0 -185
- package/dist/date-pickers-tj2MXmXd.js.map +0 -1
- package/dist/display-CT_N2a3w.js.map +0 -1
- package/dist/features/sync.js +0 -142
- package/dist/features/sync.js.map +0 -1
- package/dist/feedback-Dzo1xtAU.js +0 -246
- package/dist/feedback-Dzo1xtAU.js.map +0 -1
- package/dist/field-affordance-recipes-D6H7tVJi.js.map +0 -1
- package/dist/field-state-recipes-7sza8QbC.js.map +0 -1
- package/dist/filters-Dl80yYtN.js +0 -2415
- package/dist/filters-Dl80yYtN.js.map +0 -1
- package/dist/focus-recipes-B653VaLq.js.map +0 -1
- package/dist/forms-B3W8CH7-.js.map +0 -1
- package/dist/forms-numeric-CwjQJe-O.js +0 -991
- package/dist/forms-numeric-CwjQJe-O.js.map +0 -1
- package/dist/header-ZIIsRKxP.js.map +0 -1
- package/dist/hooks-BitHSh-Y.js.map +0 -1
- package/dist/http-D_6rOnzU.js.map +0 -1
- package/dist/item-FfWnaYST.js +0 -278
- package/dist/item-FfWnaYST.js.map +0 -1
- package/dist/layout.types-E_GAApzO.js.map +0 -1
- package/dist/media-gallery-C81DAnKI.js +0 -203
- package/dist/media-gallery-C81DAnKI.js.map +0 -1
- package/dist/mentions-qOnedSt4.js +0 -639
- package/dist/mentions-qOnedSt4.js.map +0 -1
- package/dist/metadata-list-XkqZ_UXH.js.map +0 -1
- package/dist/motion-recipes-DitYv6P2.js.map +0 -1
- package/dist/navigation-BgtPJAhi.js +0 -288
- package/dist/navigation-BgtPJAhi.js.map +0 -1
- package/dist/navigation-Bt-v7rWP.js.map +0 -1
- package/dist/number-CYqBcrSj.js +0 -346
- package/dist/number-CYqBcrSj.js.map +0 -1
- package/dist/overlays-CC8zI3Du.js +0 -1017
- package/dist/overlays-CC8zI3Du.js.map +0 -1
- package/dist/page-BoQ1VaFJ.js +0 -331
- package/dist/page-BoQ1VaFJ.js.map +0 -1
- package/dist/pagination-Br8TdV9A.js.map +0 -1
- package/dist/popover-k8TdUcAt.js.map +0 -1
- package/dist/primitives-BkkQjYl7.js +0 -385
- package/dist/primitives-BkkQjYl7.js.map +0 -1
- package/dist/receipt-C7LhOg7Q.js +0 -116
- package/dist/receipt-C7LhOg7Q.js.map +0 -1
- package/dist/rich-text-editor-CAurDwT5.js +0 -1273
- package/dist/rich-text-editor-CAurDwT5.js.map +0 -1
- package/dist/rich-text-editor-toolbar-DbXig7Jk.js +0 -99
- package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +0 -1
- package/dist/rich-text-tree-BqyQ_7-R.js +0 -66
- package/dist/rich-text-tree-BqyQ_7-R.js.map +0 -1
- package/dist/sanitize-html-BWkH4dLM.js +0 -105
- package/dist/sanitize-html-BWkH4dLM.js.map +0 -1
- package/dist/separator-DM6gs2vu.js.map +0 -1
- package/dist/settings-DZPHgpx4.js +0 -155
- package/dist/settings-DZPHgpx4.js.map +0 -1
- package/dist/sheet-C4DHsgLk.js +0 -250
- package/dist/sheet-C4DHsgLk.js.map +0 -1
- package/dist/sidebar-C8BnDwTH.js +0 -709
- package/dist/sidebar-C8BnDwTH.js.map +0 -1
- package/dist/sidebar-CmD6a-HK.js.map +0 -1
- package/dist/skeleton-DDgdhmu9.js.map +0 -1
- package/dist/slot-CLF9kLrS.js +0 -16
- package/dist/slot-CLF9kLrS.js.map +0 -1
- package/dist/smart-card-B6vLxqa_.js.map +0 -1
- package/dist/surface-recipes-C8mNycaY.js.map +0 -1
- package/dist/table-CBonSdTp.js +0 -1584
- package/dist/table-CBonSdTp.js.map +0 -1
- package/dist/table-CXSPHH25.js.map +0 -1
- package/dist/tabs-C4Kr_hCr.js.map +0 -1
- package/dist/text-inputs-jdkS3ReG.js.map +0 -1
- package/dist/timelines-CoPwdJP0.js +0 -458
- package/dist/timelines-CoPwdJP0.js.map +0 -1
- package/dist/tooltip-31NwIpTo.js +0 -113
- package/dist/tooltip-31NwIpTo.js.map +0 -1
- package/dist/tree-CeYVzdFE.js.map +0 -1
- package/dist/typography-C7-YMW1S.js.map +0 -1
- package/dist/ui-provider-C-74NVLc.js.map +0 -1
- package/dist/upload-Hdm5gObf.js.map +0 -1
- package/dist/upload-queue-D0sYPuqo.js +0 -409
- package/dist/upload-queue-D0sYPuqo.js.map +0 -1
- package/dist/usage-card-9s8hLDfn.js.map +0 -1
- package/dist/utils-DhuoqFy4.js.map +0 -1
- package/dist/value-inputs-D3aPgq9H.js +0 -980
- package/dist/value-inputs-D3aPgq9H.js.map +0 -1
- package/dist/value-typography-uSzzG9Gf.js +0 -122
- package/dist/value-typography-uSzzG9Gf.js.map +0 -1
- package/dist/workspace-CC8Vchiu.js +0 -411
- package/dist/workspace-CC8Vchiu.js.map +0 -1
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as e, o as t } from "./ui-provider-Bu1S-o96.js";
|
|
3
|
+
import { t as n } from "./utils-BVbAG2J6.js";
|
|
4
|
+
import { n as r } from "./focus-recipes-DSkiUvUp.js";
|
|
5
|
+
import { n as i } from "./buttons-pZVgPTZn.js";
|
|
6
|
+
import { t as a } from "./structure-DElaQwwN.js";
|
|
7
|
+
import { t as o } from "./composition.recipes-COdiFhxB.js";
|
|
8
|
+
import { t as s } from "./layer-recipes-CCpklYME.js";
|
|
9
|
+
import { S as c } from "./sidebar-C-iQ_TJP.js";
|
|
10
|
+
import { t as l } from "./container.recipes-D9t8MHR3.js";
|
|
11
|
+
import { i as u, r as d } from "./containers-BdfLTP4w.js";
|
|
12
|
+
import { n as f } from "./main-landmark-context-BAsyqp2I.js";
|
|
13
|
+
import { n as p } from "./header.recipes-BigdJjw1.js";
|
|
14
|
+
import { t as m } from "./inline-gutter-context-CSqmrMFZ.js";
|
|
15
|
+
import { useId as h } from "react";
|
|
16
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
17
|
+
//#region src/components/layout/app-shell/shell-regions.tsx
|
|
18
|
+
var y = {
|
|
19
|
+
plain: "bg-background text-foreground",
|
|
20
|
+
inset: "bg-card text-card-foreground md:m-space-md md:overflow-hidden md:rounded-surface md:border md:border-border md:shadow-sm"
|
|
21
|
+
};
|
|
22
|
+
function b({ children: e, sidebar: t, secondarySidebar: r, aside: i, side: a = "left", primaryWidth: o, secondaryWidth: l, asideWidth: u, presentation: d = "panel", inlinePrimary: f = !1, className: p, mainClassName: m, sidebarClassName: h, secondarySidebarClassName: y, asideClassName: b }) {
|
|
23
|
+
let x = !!t, S = !!r, C = !!i, w = x || S || C, T = a === "right", E = f && d !== "rail", D = f && d === "rail" && S, O = w ? D ? T ? "grid-cols-[auto_minmax(20rem,1fr)_auto_auto]" : "grid-cols-[auto_auto_minmax(20rem,1fr)_auto]" : T ? "grid-cols-[auto_minmax(0,1fr)_auto_auto]" : "grid-cols-[auto_auto_minmax(0,1fr)_auto]" : "grid-cols-1", k = x && /* @__PURE__ */ _(c, {
|
|
24
|
+
panelId: "primary",
|
|
25
|
+
dockAt: f || d === "rail" ? 0 : 768,
|
|
26
|
+
presentation: d,
|
|
27
|
+
side: a,
|
|
28
|
+
width: o,
|
|
29
|
+
className: n("row-start-1", T ? "col-start-4" : "col-start-1", D && [
|
|
30
|
+
"sticky",
|
|
31
|
+
T ? "right-0" : "left-0",
|
|
32
|
+
s.sticky
|
|
33
|
+
], E && (T ? "max-md:col-start-1 max-md:row-start-2" : "max-md:col-start-1"), h),
|
|
34
|
+
children: t
|
|
35
|
+
}), A = S && /* @__PURE__ */ _(c, {
|
|
36
|
+
panelId: "secondary",
|
|
37
|
+
dockAt: f ? 0 : x && d === "rail" ? 768 : 1024,
|
|
38
|
+
side: a,
|
|
39
|
+
width: l,
|
|
40
|
+
className: n("row-start-1", T ? "col-start-3" : "col-start-2", y),
|
|
41
|
+
children: r
|
|
42
|
+
}), j = C && /* @__PURE__ */ _(c, {
|
|
43
|
+
panelId: "aside",
|
|
44
|
+
dockAt: 1440,
|
|
45
|
+
side: T ? "left" : "right",
|
|
46
|
+
width: u,
|
|
47
|
+
className: n("row-start-1", T ? "col-start-1" : "col-start-4", b),
|
|
48
|
+
children: i
|
|
49
|
+
}), M = /* @__PURE__ */ _("div", {
|
|
50
|
+
className: n("shell-regions--main row-start-1 flex min-h-0 min-w-0 flex-col", w && (T ? "col-start-2" : "col-start-3"), E && (T ? "max-md:col-start-1" : "max-md:col-start-1 max-md:row-start-2"), m),
|
|
51
|
+
children: e
|
|
52
|
+
});
|
|
53
|
+
return /* @__PURE__ */ _("div", {
|
|
54
|
+
"data-shell-regions": "",
|
|
55
|
+
className: n("shell-regions--component grid min-h-0 min-w-0 flex-1 [direction:ltr] ltr:[&>*]:[direction:ltr] rtl:[&>*]:[direction:rtl]", D && "overflow-x-auto overflow-y-hidden overscroll-x-contain", O, E && "max-md:grid-cols-1", p),
|
|
56
|
+
children: T ? /* @__PURE__ */ v(g, { children: [
|
|
57
|
+
j,
|
|
58
|
+
M,
|
|
59
|
+
A,
|
|
60
|
+
k
|
|
61
|
+
] }) : /* @__PURE__ */ v(g, { children: [
|
|
62
|
+
k,
|
|
63
|
+
A,
|
|
64
|
+
M,
|
|
65
|
+
j
|
|
66
|
+
] })
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function x() {
|
|
70
|
+
return /* @__PURE__ */ _("div", {
|
|
71
|
+
"aria-hidden": "true",
|
|
72
|
+
"data-slot": "shell-scrollbar-spacer",
|
|
73
|
+
className: "shell-scrollbar-spacer--component invisible h-0 shrink-0 self-start overflow-hidden [scrollbar-gutter:stable]"
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/components/layout/app-shell/shell-skip-link.tsx
|
|
78
|
+
function S({ targetId: e, label: t }) {
|
|
79
|
+
return /* @__PURE__ */ _("div", {
|
|
80
|
+
className: "shell-skip-link--component relative size-0 shrink-0",
|
|
81
|
+
children: /* @__PURE__ */ _(i, {
|
|
82
|
+
href: `#${e}`,
|
|
83
|
+
tone: "secondary",
|
|
84
|
+
buttonStyle: "outline",
|
|
85
|
+
onClick: (t) => {
|
|
86
|
+
t.preventDefault(), document.getElementById(e)?.focus();
|
|
87
|
+
},
|
|
88
|
+
className: n("shell-skip-link--link absolute start-space-md top-space-md w-max max-w-none bg-background", r, s.overlay),
|
|
89
|
+
children: t
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/components/layout/app-shell/topbar-sidebar-layout.tsx
|
|
95
|
+
var C = {
|
|
96
|
+
light: "light",
|
|
97
|
+
dark: "dark"
|
|
98
|
+
};
|
|
99
|
+
function w({ children: r, headerTheme: i, contentSurface: s = "plain", sidebarSide: c = "left", mobileSidebarMode: l = "drawer", secondarySidebarWidth: u, asideWidth: m, sidebarPresentation: w, secondarySidebarClassName: T, asideClassName: E, sidebarTrigger: D, logo: O, headerActions: k, sidebar: A, slots: j, contentAs: M, skipToContentLabel: N, className: P, headerClassName: F, headerInnerClassName: I, bodyClassName: L, sidebarClassName: R, contentClassName: z, style: B, ...V }) {
|
|
100
|
+
let H = h(), U = f(), W = M ?? (U ? "div" : "main"), G = t(), K = s === "inset", q = j?.aside != null && j.aside !== !1, J = c === "left", Y = q ? w === "rail" ? "px-surface-xs" : "px-surface-lg @3xl/app-shell:px-surface-xs" : w === "rail" ? J ? "ps-surface-xs pe-surface-lg" : "ps-surface-lg pe-surface-xs" : n("px-surface-lg", J ? "@3xl/app-shell:ps-surface-xs" : "@3xl/app-shell:pe-surface-xs"), X = J && !q, Z = /* @__PURE__ */ _(d, {
|
|
101
|
+
render: /* @__PURE__ */ _(W, {}),
|
|
102
|
+
id: N ? H : void 0,
|
|
103
|
+
className: n("topbar-sidebar-layout--content", !K && "bg-background", z),
|
|
104
|
+
children: r
|
|
105
|
+
});
|
|
106
|
+
return /* @__PURE__ */ v("div", {
|
|
107
|
+
className: n("topbar-sidebar-layout--component @container/app-shell box-border isolate flex min-h-svh min-w-0 w-full flex-col overflow-hidden bg-background font-sans text-foreground", "shell-sidebar-vars", K && "bg-sidebar", P),
|
|
108
|
+
style: B,
|
|
109
|
+
"data-header-theme": i ?? "inherit",
|
|
110
|
+
"data-sidebar-side": c,
|
|
111
|
+
"data-mobile-sidebar-mode": l,
|
|
112
|
+
"data-content-surface": s,
|
|
113
|
+
...V,
|
|
114
|
+
children: [
|
|
115
|
+
!!N && /* @__PURE__ */ _(S, {
|
|
116
|
+
targetId: H,
|
|
117
|
+
label: N
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ _(e, {
|
|
120
|
+
value: G.context,
|
|
121
|
+
children: /* @__PURE__ */ v("header", {
|
|
122
|
+
ref: G.attachHost,
|
|
123
|
+
"data-theme-scope": "",
|
|
124
|
+
className: n("topbar-sidebar-layout--header box-border z-40 flex min-h-shell-header shrink-0 items-center border-b border-border bg-background py-space-sm text-foreground", Y, p, i && C[i], F),
|
|
125
|
+
children: [/* @__PURE__ */ _(a, {
|
|
126
|
+
direction: "horizontal",
|
|
127
|
+
align: "center",
|
|
128
|
+
gap: "md",
|
|
129
|
+
wrap: !0,
|
|
130
|
+
className: n("topbar-sidebar-layout--header-inner min-h-action w-full min-w-0", I),
|
|
131
|
+
children: j?.header ?? /* @__PURE__ */ v(g, { children: [
|
|
132
|
+
!!D && /* @__PURE__ */ _("div", {
|
|
133
|
+
className: "topbar-sidebar-layout--sidebar-trigger flex shrink-0 items-center",
|
|
134
|
+
children: D
|
|
135
|
+
}),
|
|
136
|
+
!!O && /* @__PURE__ */ _("div", {
|
|
137
|
+
className: "topbar-sidebar-layout--logo flex min-w-0 shrink-0 items-center",
|
|
138
|
+
children: O
|
|
139
|
+
}),
|
|
140
|
+
!!j?.headerStart && /* @__PURE__ */ _("div", {
|
|
141
|
+
className: "topbar-sidebar-layout--header-start flex min-w-0 items-center",
|
|
142
|
+
children: j.headerStart
|
|
143
|
+
}),
|
|
144
|
+
!!j?.headerCenter && /* @__PURE__ */ _("div", {
|
|
145
|
+
className: "topbar-sidebar-layout--header-center hidden min-w-0 flex-1 items-center @3xl/app-shell:flex",
|
|
146
|
+
children: j.headerCenter
|
|
147
|
+
}),
|
|
148
|
+
!!(k || j?.headerEnd) && /* @__PURE__ */ v("div", {
|
|
149
|
+
className: "topbar-sidebar-layout--header-trailing ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm @3xl/app-shell:gap-space-md [&>*]:max-w-full",
|
|
150
|
+
children: [!!k && /* @__PURE__ */ _("div", {
|
|
151
|
+
className: n("topbar-sidebar-layout--header-actions flex min-w-0 max-w-full flex-wrap items-center [&>*]:max-w-full", o.commands),
|
|
152
|
+
children: k
|
|
153
|
+
}), !!j?.headerEnd && /* @__PURE__ */ _("div", {
|
|
154
|
+
className: "topbar-sidebar-layout--header-end flex min-w-0 max-w-full flex-wrap items-center gap-space-sm @3xl/app-shell:gap-space-md [&>*]:max-w-full",
|
|
155
|
+
children: j.headerEnd
|
|
156
|
+
})]
|
|
157
|
+
})
|
|
158
|
+
] })
|
|
159
|
+
}), X && /* @__PURE__ */ _(x, {})]
|
|
160
|
+
})
|
|
161
|
+
}),
|
|
162
|
+
/* @__PURE__ */ _(b, {
|
|
163
|
+
side: c,
|
|
164
|
+
sidebar: A,
|
|
165
|
+
secondarySidebar: j?.secondarySidebar,
|
|
166
|
+
aside: j?.aside,
|
|
167
|
+
secondaryWidth: u,
|
|
168
|
+
asideWidth: m,
|
|
169
|
+
presentation: w,
|
|
170
|
+
inlinePrimary: l === "inline",
|
|
171
|
+
className: n("topbar-sidebar-layout--body", L),
|
|
172
|
+
mainClassName: n("topbar-sidebar-layout--main", y[s]),
|
|
173
|
+
sidebarClassName: n("topbar-sidebar-layout--sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", K ? "bg-transparent" : "bg-sidebar", R),
|
|
174
|
+
secondarySidebarClassName: n("topbar-sidebar-layout--secondary-sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", T),
|
|
175
|
+
asideClassName: n("topbar-sidebar-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", E),
|
|
176
|
+
children: Z
|
|
177
|
+
})
|
|
178
|
+
]
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//#endregion
|
|
182
|
+
//#region src/components/layout/app-shell/sidebar-inset-layout.tsx
|
|
183
|
+
function T({ children: e, sidebarSide: t = "left", surface: r = "inset", mobileSidebarMode: i = "drawer", toolbar: o = !0, secondarySidebarWidth: s, asideWidth: c, sidebarPresentation: l, secondarySidebarClassName: u, asideClassName: m, sidebar: g, sidebarTrigger: C, slots: w, contentAs: T, skipToContentLabel: E, className: D, sidebarClassName: O, toolbarClassName: k, contentClassName: A, style: j, ...M }) {
|
|
184
|
+
let N = h(), P = f(), F = T ?? (P ? "div" : "main"), I = r === "inset", L = I && "md:border-t md:border-transparent md:pt-space-md md:has-[[data-variant=floating]]:border-t-0 md:has-[[data-variant=floating]]:pt-0", R = o ? /* @__PURE__ */ v("header", {
|
|
185
|
+
className: n("sidebar-inset-layout--toolbar @container/toolbar box-border flex min-h-shell-header shrink-0 items-center px-surface-lg py-space-sm", p, "border-b border-border", k),
|
|
186
|
+
children: [/* @__PURE__ */ _("div", {
|
|
187
|
+
className: "sidebar-inset-layout--toolbar-row flex min-w-0 flex-1 items-center gap-space-md",
|
|
188
|
+
children: w?.toolbar ?? /* @__PURE__ */ v(a, {
|
|
189
|
+
direction: "horizontal",
|
|
190
|
+
align: "center",
|
|
191
|
+
gap: "md",
|
|
192
|
+
wrap: !0,
|
|
193
|
+
className: "sidebar-inset-layout--toolbar-inner min-h-action w-full min-w-0",
|
|
194
|
+
children: [
|
|
195
|
+
!!C && /* @__PURE__ */ _("div", {
|
|
196
|
+
className: "sidebar-inset-layout--sidebar-trigger flex shrink-0 items-center",
|
|
197
|
+
children: C
|
|
198
|
+
}),
|
|
199
|
+
!!w?.toolbarStart && /* @__PURE__ */ _("div", {
|
|
200
|
+
className: "sidebar-inset-layout--toolbar-start flex min-w-0 flex-1 basis-24 items-center [&>*]:min-w-0 [&>*]:max-w-full",
|
|
201
|
+
children: w.toolbarStart
|
|
202
|
+
}),
|
|
203
|
+
!!w?.toolbarEnd && /* @__PURE__ */ _("div", {
|
|
204
|
+
className: "sidebar-inset-layout--toolbar-end ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm [&>*]:max-w-full",
|
|
205
|
+
children: w.toolbarEnd
|
|
206
|
+
})
|
|
207
|
+
]
|
|
208
|
+
})
|
|
209
|
+
}), /* @__PURE__ */ _(x, {})]
|
|
210
|
+
}) : null, z = /* @__PURE__ */ v("div", {
|
|
211
|
+
className: n("sidebar-inset-layout--main flex min-h-0 min-w-0 flex-1 flex-col", y[I ? "inset" : "plain"]),
|
|
212
|
+
children: [R, /* @__PURE__ */ _(d, {
|
|
213
|
+
render: /* @__PURE__ */ _(F, {}),
|
|
214
|
+
id: E ? N : void 0,
|
|
215
|
+
className: n("sidebar-inset-layout--content", A),
|
|
216
|
+
children: e
|
|
217
|
+
})]
|
|
218
|
+
});
|
|
219
|
+
return /* @__PURE__ */ v("div", {
|
|
220
|
+
className: n("sidebar-inset-layout--component box-border isolate flex min-h-svh min-w-0 w-full overflow-hidden font-sans text-foreground shell-sidebar-vars", I ? "bg-sidebar" : "bg-background", D),
|
|
221
|
+
style: j,
|
|
222
|
+
"data-sidebar-side": t,
|
|
223
|
+
"data-surface": r,
|
|
224
|
+
"data-mobile-sidebar-mode": i,
|
|
225
|
+
...M,
|
|
226
|
+
children: [!!E && /* @__PURE__ */ _(S, {
|
|
227
|
+
targetId: N,
|
|
228
|
+
label: E
|
|
229
|
+
}), /* @__PURE__ */ _(b, {
|
|
230
|
+
side: t,
|
|
231
|
+
sidebar: g,
|
|
232
|
+
secondarySidebar: w?.secondarySidebar,
|
|
233
|
+
aside: w?.aside,
|
|
234
|
+
secondaryWidth: s,
|
|
235
|
+
asideWidth: c,
|
|
236
|
+
presentation: l,
|
|
237
|
+
inlinePrimary: i === "inline",
|
|
238
|
+
sidebarClassName: n("sidebar-inset-layout--sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", I ? "bg-transparent" : "bg-sidebar", L, O),
|
|
239
|
+
secondarySidebarClassName: n("sidebar-inset-layout--secondary-sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", L, u),
|
|
240
|
+
asideClassName: n("sidebar-inset-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", m),
|
|
241
|
+
children: z
|
|
242
|
+
})]
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/components/layout/app-shell/stacked-layout.tsx
|
|
247
|
+
var E = {
|
|
248
|
+
light: "light",
|
|
249
|
+
dark: "dark"
|
|
250
|
+
};
|
|
251
|
+
function D({ children: r, headerTheme: i, contentWidth: o = "contained", asideWidth: s, asideClassName: c, logo: y, nav: C, navLabel: w = "Primary navigation", navAs: T = "nav", slots: D, contentAs: O, skipToContentLabel: k, className: A, headerClassName: j, subheaderClassName: M, contentClassName: N, style: P, ...F }) {
|
|
252
|
+
let I = h(), L = f(), R = O ?? (L ? "div" : "main"), z = t(), B = n("min-w-0 flex-1", l({
|
|
253
|
+
maxWidth: o === "contained" ? "2xl" : "full",
|
|
254
|
+
gutter: "lg"
|
|
255
|
+
})), V = !D?.aside;
|
|
256
|
+
return /* @__PURE__ */ v("div", {
|
|
257
|
+
className: n("stacked-layout--component @container/stacked-shell box-border isolate flex min-h-svh min-w-0 w-full flex-col bg-background font-sans text-foreground", A),
|
|
258
|
+
style: P,
|
|
259
|
+
"data-header-theme": i ?? "inherit",
|
|
260
|
+
"data-content-width": o,
|
|
261
|
+
...F,
|
|
262
|
+
children: [
|
|
263
|
+
!!k && /* @__PURE__ */ _(S, {
|
|
264
|
+
targetId: I,
|
|
265
|
+
label: k
|
|
266
|
+
}),
|
|
267
|
+
/* @__PURE__ */ _(e, {
|
|
268
|
+
value: z.context,
|
|
269
|
+
children: /* @__PURE__ */ v("header", {
|
|
270
|
+
ref: z.attachHost,
|
|
271
|
+
"data-theme-scope": "",
|
|
272
|
+
className: n("stacked-layout--header box-border z-40 flex shrink-0 items-center border-b border-border bg-background py-space-sm text-foreground @5xl/stacked-shell:min-h-shell-header @5xl/stacked-shell:py-0", p, i && E[i], j),
|
|
273
|
+
children: [/* @__PURE__ */ _("div", {
|
|
274
|
+
className: n("stacked-layout--header-measure", B),
|
|
275
|
+
children: /* @__PURE__ */ _(a, {
|
|
276
|
+
direction: "horizontal",
|
|
277
|
+
align: "center",
|
|
278
|
+
gap: "lg",
|
|
279
|
+
wrap: !0,
|
|
280
|
+
className: "stacked-layout--header-inner min-h-action w-full min-w-0 @5xl/stacked-shell:flex-nowrap @5xl/stacked-shell:gap-space-2xl",
|
|
281
|
+
children: D?.header ?? /* @__PURE__ */ v(g, { children: [
|
|
282
|
+
!!y && /* @__PURE__ */ _("div", {
|
|
283
|
+
className: "stacked-layout--logo flex min-w-0 shrink-0 items-center @5xl/stacked-shell:order-1",
|
|
284
|
+
children: y
|
|
285
|
+
}),
|
|
286
|
+
!!C && /* @__PURE__ */ _(T, {
|
|
287
|
+
"aria-label": T === "nav" ? w : void 0,
|
|
288
|
+
onFocusCapture: (e) => {
|
|
289
|
+
let t = e.currentTarget;
|
|
290
|
+
if (!t.contains(e.target)) return;
|
|
291
|
+
let n = t.getBoundingClientRect(), r = e.target.getBoundingClientRect(), i = getComputedStyle(t), a = n.left + (parseFloat(i.paddingLeft) || 0), o = n.right - (parseFloat(i.paddingRight) || 0);
|
|
292
|
+
r.left < a ? t.scrollLeft += r.left - a : r.right > o && (t.scrollLeft += r.right - o);
|
|
293
|
+
},
|
|
294
|
+
className: "stacked-layout--nav order-last flex w-full min-w-0 flex-nowrap items-center overflow-x-auto p-space-sm @5xl/stacked-shell:order-2 @5xl/stacked-shell:w-auto @5xl/stacked-shell:flex-1 [&>*]:shrink-0 [&>*]:flex-nowrap",
|
|
295
|
+
children: C
|
|
296
|
+
}),
|
|
297
|
+
!!D?.headerEnd && /* @__PURE__ */ _("div", {
|
|
298
|
+
className: "stacked-layout--header-end ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm @5xl/stacked-shell:order-3 @5xl/stacked-shell:gap-space-md [&>*]:max-w-full",
|
|
299
|
+
children: D.headerEnd
|
|
300
|
+
})
|
|
301
|
+
] })
|
|
302
|
+
})
|
|
303
|
+
}), V && /* @__PURE__ */ _(x, {})]
|
|
304
|
+
})
|
|
305
|
+
}),
|
|
306
|
+
!!D?.subheader && /* @__PURE__ */ v("div", {
|
|
307
|
+
className: n("stacked-layout--subheader flex shrink-0 border-b border-border bg-background", M),
|
|
308
|
+
children: [/* @__PURE__ */ _("div", {
|
|
309
|
+
className: n("stacked-layout--subheader-measure", B),
|
|
310
|
+
children: D.subheader
|
|
311
|
+
}), V && /* @__PURE__ */ _(x, {})]
|
|
312
|
+
}),
|
|
313
|
+
/* @__PURE__ */ _(b, {
|
|
314
|
+
aside: D?.aside,
|
|
315
|
+
asideWidth: s,
|
|
316
|
+
asideClassName: n("stacked-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground", c),
|
|
317
|
+
children: /* @__PURE__ */ _(d, {
|
|
318
|
+
render: /* @__PURE__ */ _(R, {}),
|
|
319
|
+
id: k ? I : void 0,
|
|
320
|
+
className: n("stacked-layout--content bg-background", N),
|
|
321
|
+
children: o === "contained" ? /* @__PURE__ */ _(u, {
|
|
322
|
+
maxWidth: "2xl",
|
|
323
|
+
gutter: "lg",
|
|
324
|
+
className: "stacked-layout--measure",
|
|
325
|
+
children: /* @__PURE__ */ _(m.Provider, {
|
|
326
|
+
value: !0,
|
|
327
|
+
children: r
|
|
328
|
+
})
|
|
329
|
+
}) : r
|
|
330
|
+
})
|
|
331
|
+
})
|
|
332
|
+
]
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
//#endregion
|
|
336
|
+
//#region src/components/layout/app-shell/app-layout.tsx
|
|
337
|
+
function O(e) {
|
|
338
|
+
let t = {
|
|
339
|
+
"data-app-layout": e.variant ?? "light-header",
|
|
340
|
+
className: n("app-layout--component", e.className)
|
|
341
|
+
};
|
|
342
|
+
switch (e.variant) {
|
|
343
|
+
case "stacked": {
|
|
344
|
+
let { variant: n, ...r } = e;
|
|
345
|
+
return /* @__PURE__ */ _(D, {
|
|
346
|
+
...r,
|
|
347
|
+
...t
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
case "sidebar":
|
|
351
|
+
case "inset": {
|
|
352
|
+
let { variant: n, ...r } = e;
|
|
353
|
+
return /* @__PURE__ */ _(T, {
|
|
354
|
+
...r,
|
|
355
|
+
...t,
|
|
356
|
+
surface: n === "sidebar" ? "flush" : "inset"
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
default: {
|
|
360
|
+
let { variant: n, ...r } = e;
|
|
361
|
+
return /* @__PURE__ */ _(w, {
|
|
362
|
+
...r,
|
|
363
|
+
...t,
|
|
364
|
+
headerTheme: n === "dark-header" ? "dark" : n === "light-header" ? "light" : void 0
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
//#endregion
|
|
370
|
+
export { w as i, D as n, T as r, O as t };
|
|
371
|
+
|
|
372
|
+
//# sourceMappingURL=app-shell-CPN30Nb1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-shell-CPN30Nb1.js","names":["_Fragment","HEADER_THEME_CLASS","_Fragment","_Fragment","ThemeScopeHostProvider","useThemeScopeHost","cn","visuallyHiddenUntilFocusedRecipe","Button","Stack","compositionClasses","layerRecipes","SidebarRegion","containerRecipe","Container","PageViewport","useInsideMainLandmark","headerInlineDividerAlignment","InlineGutterContext","Fragment$1","shellContentSurface","ShellRegionGrid","hasPrimary","sidebar","hasSecondary","secondarySidebar","hasAside","aside","hasRegions","right","side","stackedPrimary","inlinePrimary","presentation","inlineCluster","columns","primary","primaryWidth","sidebarClassName","secondary","secondaryWidth","secondarySidebarClassName","supporting","asideWidth","asideClassName","main","mainClassName","className","ShellScrollbarSpacer","ShellSkipLink","targetId","event","label","HEADER_THEME_CLASS$1","TopbarSidebarLayout","props","contentId","useId","insideMain","Content","contentAs","headerScope","isInset","contentSurface","slots","sidebarOnStart","sidebarSide","headerInset","sidebarPresentation","endsWithViewport","contentNode","skipToContentLabel","contentClassName","headerTheme","mobileSidebarMode","headerClassName","headerInnerClassName","sidebarTrigger","logo","headerActions","secondarySidebarWidth","bodyClassName","SidebarInsetLayout","surface","frameAlignedRegion","toolbarNode","toolbar","toolbarClassName","mainNode","HEADER_THEME_CLASS","StackedLayout","Nav","chromeMeasure","contentWidth","alignsWithViewport","nav","navLabel","viewport","action","insets","left","subheaderClassName","children","AppLayout","_variant","shell","variant"],"sources":["../src/components/layout/app-shell/shell-regions.tsx","../src/components/layout/app-shell/shell-skip-link.tsx","../src/components/layout/app-shell/topbar-sidebar-layout.tsx","../src/components/layout/app-shell/sidebar-inset-layout.tsx","../src/components/layout/app-shell/stacked-layout.tsx","../src/components/layout/app-shell/app-layout.tsx"],"sourcesContent":["import type {ReactNode} from 'react';\nimport {SidebarRegion} from '../../base/sidebar';\nimport {cn} from '../../../lib/utils';\nimport {layerRecipes} from '../../../lib/layer-recipes';\nimport type {AppShellSidebarPresentation} from './app-shell.types';\n\n/** One surface recipe; the shell frames the page while Page owns its insets. */\nexport const shellContentSurface = {\n plain: 'bg-background text-foreground',\n inset: 'bg-card text-card-foreground md:m-space-md md:overflow-hidden md:rounded-surface md:border md:border-border md:shadow-sm',\n} as const;\n\ninterface ShellRegionGridProps {\n children: ReactNode;\n sidebar?: ReactNode;\n secondarySidebar?: ReactNode;\n aside?: ReactNode;\n side?: 'left' | 'right';\n primaryWidth?: string;\n secondaryWidth?: string;\n asideWidth?: string;\n presentation?: AppShellSidebarPresentation;\n inlinePrimary?: boolean;\n className?: string;\n mainClassName?: string;\n sidebarClassName?: string;\n secondarySidebarClassName?: string;\n asideClassName?: string;\n}\n\n/** Optional auto tracks collapse independently; the page always owns the flexible track. */\nexport function ShellRegionGrid({children,sidebar,secondarySidebar,aside,side='left',primaryWidth,secondaryWidth,asideWidth,presentation='panel',inlinePrimary=false,className,mainClassName,sidebarClassName,secondarySidebarClassName,asideClassName}: ShellRegionGridProps) {\n const hasPrimary = Boolean(sidebar), hasSecondary = Boolean(secondarySidebar), hasAside = Boolean(aside);\n const hasRegions = hasPrimary || hasSecondary || hasAside;\n const right = side === 'right';\n const stackedPrimary = inlinePrimary && presentation !== 'rail';\n // Inline dual navigation retains a usable page canvas. On narrow hosts the\n // body pans horizontally beneath the persistent rail instead of crushing text.\n const inlineCluster = inlinePrimary && presentation === 'rail' && hasSecondary;\n const columns = !hasRegions ? 'grid-cols-1'\n : inlineCluster ? right ? 'grid-cols-[auto_minmax(20rem,1fr)_auto_auto]' : 'grid-cols-[auto_auto_minmax(20rem,1fr)_auto]'\n : right ? 'grid-cols-[auto_minmax(0,1fr)_auto_auto]' : 'grid-cols-[auto_auto_minmax(0,1fr)_auto]';\n const primary = hasPrimary && <SidebarRegion panelId=\"primary\" dockAt={inlinePrimary || presentation === 'rail' ? 0 : 768} presentation={presentation} side={side} width={primaryWidth}\n className={cn('row-start-1', right ? 'col-start-4' : 'col-start-1', inlineCluster && ['sticky', right ? 'right-0' : 'left-0', layerRecipes.sticky], stackedPrimary && (right ? 'max-md:col-start-1 max-md:row-start-2' : 'max-md:col-start-1'),sidebarClassName)}>{sidebar}</SidebarRegion>;\n // Beside a persistent area rail the contextual sidebar is the full navigation\n // panel, so it docks, and becomes a drawer, at the primary panel's threshold.\n const secondaryDockAt = inlinePrimary ? 0 : hasPrimary && presentation === 'rail' ? 768 : 1024;\n const secondary = hasSecondary && <SidebarRegion panelId=\"secondary\" dockAt={secondaryDockAt} side={side} width={secondaryWidth} className={cn('row-start-1',right ? 'col-start-3' : 'col-start-2',secondarySidebarClassName)}>{secondarySidebar}</SidebarRegion>;\n const supporting = hasAside && <SidebarRegion panelId=\"aside\" dockAt={1440} side={right ? 'left' : 'right'} width={asideWidth} className={cn('row-start-1',right ? 'col-start-1' : 'col-start-4',asideClassName)}>{aside}</SidebarRegion>;\n const main = <div className={cn('shell-regions--main row-start-1 flex min-h-0 min-w-0 flex-col', hasRegions && (right ? 'col-start-2' : 'col-start-3'),stackedPrimary && (right ? 'max-md:col-start-1' : 'max-md:col-start-1 max-md:row-start-2'),mainClassName)}>{children}</div>;\n return <div data-shell-regions=\"\" className={cn('shell-regions--component grid min-h-0 min-w-0 flex-1 [direction:ltr] ltr:[&>*]:[direction:ltr] rtl:[&>*]:[direction:rtl]', inlineCluster && 'overflow-x-auto overflow-y-hidden overscroll-x-contain', columns,stackedPrimary && 'max-md:grid-cols-1',className)}>\n {right ? <>{supporting}{main}{secondary}{primary}</> : <>{primary}{secondary}{main}{supporting}</>}\n </div>;\n}\n\n/**\n * Reserves the page viewport's scrollbar gutter in a row above it. The viewport\n * keeps a stable gutter, so with classic scrollbars its content box ends that\n * much before its edge. This empty element reserves the same gutter, so it is\n * exactly one scrollbar wide (zero with overlay scrollbars) and a header beside\n * it ends where the page does. It clips rather than scrolls: the page viewport\n * stays the shell's only scroller.\n */\nexport function ShellScrollbarSpacer() {\n return <div aria-hidden=\"true\" data-slot=\"shell-scrollbar-spacer\" className=\"shell-scrollbar-spacer--component invisible h-0 shrink-0 self-start overflow-hidden [scrollbar-gutter:stable]\" />;\n}\n","import type { MouseEvent } from 'react';\n\nimport { Button } from '../../base/buttons';\nimport { visuallyHiddenUntilFocusedRecipe } from '../../../lib/focus-recipes';\nimport { layerRecipes } from '../../../lib/layer-recipes';\nimport { cn } from '../../../lib/utils';\n\n/**\n * The first tab stop of a shell: jumps over the header and navigation to the\n * page viewport. It stays out of sight until it takes keyboard focus, and it\n * moves focus without rewriting the URL hash, so hash routes survive.\n */\nexport function ShellSkipLink({ targetId, label }: { targetId: string; label: string }) {\n\tconst skip = (event: MouseEvent<HTMLAnchorElement>) => {\n\t\tevent.preventDefault();\n\t\tdocument.getElementById(targetId)?.focus();\n\t};\n\n\treturn (\n\t\t// A zero-size anchor keeps the link out of the shell's flow in either axis.\n\t\t<div className=\"shell-skip-link--component relative size-0 shrink-0\">\n\t\t\t<Button\n\t\t\t\thref={`#${targetId}`}\n\t\t\t\ttone=\"secondary\"\n\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\tonClick={skip}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t// The anchor is zero-size, so Button's max-w-full would clamp the link to nothing.\n\t\t\t\t\t'shell-skip-link--link absolute start-space-md top-space-md w-max max-w-none bg-background',\n\t\t\t\t\tvisuallyHiddenUntilFocusedRecipe,\n\t\t\t\t\tlayerRecipes.overlay,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","/**\n * TopbarSidebarLayout — header-first app shell with a two-column body.\n *\n * This shell is intentionally separate from the default shadcn sidebar layout:\n * the logo belongs in the header, while the sidebar and content occupy the\n * remaining page height below the header.\n */\nimport { useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../lib/theme-scope';\n\nimport { Stack } from '../../base/structure';\nimport {compositionClasses} from '../../base/structure/composition.recipes';\nimport { PageViewport } from '../containers';\nimport { headerInlineDividerAlignment } from '../header/header.recipes';\nimport { useInsideMainLandmark } from '../containers/main-landmark-context';\nimport {ShellRegionGrid, ShellScrollbarSpacer, shellContentSurface} from './shell-regions';\nimport { ShellSkipLink } from './shell-skip-link';\n\nimport type {\n\tTopbarSidebarLayoutProps,\n} from './app-shell.types';\n\n/**\n * Header theme is just a token scope. `.light` / `.dark` remap the shadcn\n * palette for the header subtree (see css/themes/shadcn.default.css), so header\n * partials use ordinary tokens (`bg-background`, `text-foreground`, `bg-accent`\n * …) and invert against the header surface automatically — no header-specific\n * color variables required. Omitted, the header follows the active theme;\n * `light` keeps the header light even on a dark page; `dark` gives a dark topbar\n * on a light page.\n */\nconst HEADER_THEME_CLASS: Record<NonNullable<TopbarSidebarLayoutProps['headerTheme']>, string> = {\n\tlight: 'light',\n\tdark: 'dark',\n};\n\nexport function TopbarSidebarLayout({\n\tchildren,\n\theaderTheme,\n\tcontentSurface = 'plain',\n\tsidebarSide = 'left',\n\tmobileSidebarMode = 'drawer',\n\tsecondarySidebarWidth, asideWidth, sidebarPresentation, secondarySidebarClassName, asideClassName,\n\tsidebarTrigger,\n\tlogo,\n\theaderActions,\n\tsidebar,\n\tslots,\n\tcontentAs,\n\tskipToContentLabel,\n\tclassName,\n\theaderClassName,\n\theaderInnerClassName,\n\tbodyClassName,\n\tsidebarClassName,\n\tcontentClassName,\n\tstyle,\n\t...props\n}: TopbarSidebarLayoutProps) {\n\tconst contentId = useId();\n\t// One main landmark per page: embedded in an existing main, the content region is a plain element.\n\tconst insideMain = useInsideMainLandmark();\n\tconst Content = contentAs ?? (insideMain ? 'div' : 'main');\n\tconst headerScope = useThemeScopeHost<HTMLElement>();\n\tconst isInset = contentSurface === 'inset';\n\t// The header spans the sidebar and the page. Over docked navigation it starts\n\t// at the sidebar's inset; over the page it keeps the page gutter, so its far\n\t// end lines up with the page content beneath. Once the panel becomes a drawer\n\t// both ends take the page gutter; a persistent rail stays docked. With a\n\t// supporting panel on the far edge, that end sits over a panel too.\n\tconst hasAside = slots?.aside != null && slots.aside !== false;\n\tconst sidebarOnStart = sidebarSide === 'left';\n\tconst headerInset = hasAside\n\t\t? (sidebarPresentation === 'rail' ? 'px-surface-xs' : 'px-surface-lg @3xl/app-shell:px-surface-xs')\n\t\t: sidebarPresentation === 'rail'\n\t\t\t? (sidebarOnStart ? 'ps-surface-xs pe-surface-lg' : 'ps-surface-lg pe-surface-xs')\n\t\t\t: cn('px-surface-lg', sidebarOnStart ? '@3xl/app-shell:ps-surface-xs' : '@3xl/app-shell:pe-surface-xs');\n\t// The page viewport, and its scrollbar gutter, end with the shell only when nothing docks after it.\n\tconst endsWithViewport = sidebarOnStart && !hasAside;\n\tconst contentNode = (\n\t\t<PageViewport\n\t\t\trender={<Content />}\n\t\t\tid={skipToContentLabel ? contentId : undefined}\n\t\t\tclassName={cn(\n\t\t\t\t'topbar-sidebar-layout--content', !isInset && 'bg-background',\n\t\t\t\tcontentClassName,\n\t\t\t)}\n\t\t>\n\t\t\t{children}\n\t\t</PageViewport>\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'topbar-sidebar-layout--component @container/app-shell box-border isolate flex min-h-svh min-w-0 w-full flex-col overflow-hidden bg-background font-sans text-foreground',\n\t\t\t\t'shell-sidebar-vars', isInset && 'bg-sidebar',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tdata-header-theme={headerTheme ?? 'inherit'}\n\t\t\tdata-sidebar-side={sidebarSide}\n\t\t\tdata-mobile-sidebar-mode={mobileSidebarMode}\n\t\t\tdata-content-surface={contentSurface}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!skipToContentLabel && <ShellSkipLink targetId={contentId} label={skipToContentLabel} />}\n\t\t\t<ThemeScopeHostProvider value={headerScope.context}>\n\t\t\t<header\n\t\t\t\tref={headerScope.attachHost}\n\t\t\t\tdata-theme-scope=\"\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'topbar-sidebar-layout--header box-border z-40 flex min-h-shell-header shrink-0 items-center border-b border-border bg-background py-space-sm text-foreground',\n\t\t\t\t\theaderInset,\n\t\t\t\t\theaderInlineDividerAlignment,\n\t\t\t\t\theaderTheme && HEADER_THEME_CLASS[headerTheme],\n\t\t\t\t\theaderClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<Stack direction=\"horizontal\" align=\"center\" gap=\"md\" wrap\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'topbar-sidebar-layout--header-inner min-h-action w-full min-w-0',\n\t\t\t\t\t\theaderInnerClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{slots?.header ?? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{!!sidebarTrigger && (\n\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--sidebar-trigger flex shrink-0 items-center\">\n\t\t\t\t\t\t\t\t\t{sidebarTrigger}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!logo && (\n\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--logo flex min-w-0 shrink-0 items-center\">\n\t\t\t\t\t\t\t\t\t{logo}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!slots?.headerStart && (\n\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--header-start flex min-w-0 items-center\">\n\t\t\t\t\t\t\t\t\t{slots.headerStart}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!slots?.headerCenter && (\n\t\t\t\t\t\t\t\t// Hidden below 48rem of shell width; see the slot's documentation.\n\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--header-center hidden min-w-0 flex-1 items-center @3xl/app-shell:flex\">\n\t\t\t\t\t\t\t\t\t{slots.headerCenter}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!(headerActions || slots?.headerEnd) && (\n\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--header-trailing ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm @3xl/app-shell:gap-space-md [&>*]:max-w-full\">\n\t\t\t\t\t\t\t\t\t{!!headerActions && (\n\t\t\t\t\t\t\t\t\t\t<div className={cn('topbar-sidebar-layout--header-actions flex min-w-0 max-w-full flex-wrap items-center [&>*]:max-w-full', compositionClasses.commands)}>\n\t\t\t\t\t\t\t\t\t\t\t{headerActions}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{!!slots?.headerEnd && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"topbar-sidebar-layout--header-end flex min-w-0 max-w-full flex-wrap items-center gap-space-sm @3xl/app-shell:gap-space-md [&>*]:max-w-full\">\n\t\t\t\t\t\t\t\t\t\t\t{slots.headerEnd}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t\t{endsWithViewport && <ShellScrollbarSpacer />}\n\t\t\t</header>\n\t\t\t</ThemeScopeHostProvider>\n\n\t\t\t<ShellRegionGrid side={sidebarSide} sidebar={sidebar} secondarySidebar={slots?.secondarySidebar} aside={slots?.aside}\n\t\t\t\tsecondaryWidth={secondarySidebarWidth} asideWidth={asideWidth} presentation={sidebarPresentation}\n\t\t\t\tinlinePrimary={mobileSidebarMode === 'inline'}\n\t\t\t\tclassName={cn('topbar-sidebar-layout--body', bodyClassName)}\n\t\t\t\tmainClassName={cn('topbar-sidebar-layout--main', shellContentSurface[contentSurface])}\n\t\t\t\tsidebarClassName={cn('topbar-sidebar-layout--sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', isInset ? 'bg-transparent' : 'bg-sidebar', sidebarClassName)}\n\t\t\t\tsecondarySidebarClassName={cn('topbar-sidebar-layout--secondary-sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', secondarySidebarClassName)}\n\t\t\t\tasideClassName={cn('topbar-sidebar-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', asideClassName)}>\n\t\t\t\t{contentNode}\n\t\t\t</ShellRegionGrid>\n\t\t</div>\n\t);\n}\n","/**\n * SidebarInsetLayout — sidebar-first app shell with no global header.\n *\n * The counterpart to `TopbarSidebarLayout`. There the header spans the page and\n * owns the logo, with the sidebar below it; here the sidebar owns the full page\n * height and the logo sits inside it, so the content column carries only a slim\n * toolbar of its own. This is the shape shadcn's dashboard uses, and it is the\n * one to reach for when navigation should read as the primary frame.\n *\n * `toolbar={false}` removes even that row, for a shell with no header chrome.\n */\nimport { useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\n\nimport { Stack } from '../../base/structure';\nimport { PageViewport } from '../containers';\nimport { headerInlineDividerAlignment } from '../header/header.recipes';\nimport { useInsideMainLandmark } from '../containers/main-landmark-context';\nimport {ShellRegionGrid, ShellScrollbarSpacer, shellContentSurface} from './shell-regions';\nimport { ShellSkipLink } from './shell-skip-link';\n\nimport type {\n\tSidebarInsetLayoutProps,\n} from './app-shell.types';\n\nexport function SidebarInsetLayout({\n\tchildren,\n\tsidebarSide = 'left',\n\tsurface = 'inset',\n\tmobileSidebarMode = 'drawer',\n\ttoolbar = true,\n\tsecondarySidebarWidth, asideWidth, sidebarPresentation, secondarySidebarClassName, asideClassName,\n\tsidebar,\n\tsidebarTrigger,\n\tslots,\n\tcontentAs,\n\tskipToContentLabel,\n\tclassName,\n\tsidebarClassName,\n\ttoolbarClassName,\n\tcontentClassName,\n\tstyle,\n\t...props\n}: SidebarInsetLayoutProps) {\n\tconst contentId = useId();\n\t// One main landmark per page: embedded in an existing main, the content region is a plain element.\n\tconst insideMain = useInsideMainLandmark();\n\tconst Content = contentAs ?? (insideMain ? 'div' : 'main');\n\tconst isInset = surface === 'inset';\n\t// Docked navigation beside the inset frame starts where the frame does (its\n\t// margin plus edge), so the sidebar's header rule lines up with the toolbar's.\n\t// A floating sidebar already insets itself by the same amount.\n\tconst frameAlignedRegion = isInset && 'md:border-t md:border-transparent md:pt-space-md md:has-[[data-variant=floating]]:border-t-0 md:has-[[data-variant=floating]]:pt-0';\n\n\n\tconst toolbarNode = toolbar ? (\n\t\t<header\n\t\t\tclassName={cn(\n\t\t\t\t'sidebar-inset-layout--toolbar @container/toolbar box-border flex min-h-shell-header shrink-0 items-center px-surface-lg py-space-sm',\n\t\t\t\theaderInlineDividerAlignment,\n\t\t\t\t// The toolbar and scrolling body share one surface boundary.\n\t\t\t\t'border-b border-border',\n\t\t\t\ttoolbarClassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"sidebar-inset-layout--toolbar-row flex min-w-0 flex-1 items-center gap-space-md\">\n\t\t\t{slots?.toolbar ?? (\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap=\"md\" wrap\n\t\t\t\t\tclassName=\"sidebar-inset-layout--toolbar-inner min-h-action w-full min-w-0\"\n\t\t\t\t>\n\t\t\t\t\t{!!sidebarTrigger && (\n\t\t\t\t\t\t<div className=\"sidebar-inset-layout--sidebar-trigger flex shrink-0 items-center\">\n\t\t\t\t\t\t\t{sidebarTrigger}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!slots?.toolbarStart && (\n\t\t\t\t\t\t<div className=\"sidebar-inset-layout--toolbar-start flex min-w-0 flex-1 basis-24 items-center [&>*]:min-w-0 [&>*]:max-w-full\">\n\t\t\t\t\t\t\t{slots.toolbarStart}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!slots?.toolbarEnd && (\n\t\t\t\t\t\t<div className=\"sidebar-inset-layout--toolbar-end ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm [&>*]:max-w-full\">\n\t\t\t\t\t\t\t{slots.toolbarEnd}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t)}\n\t\t\t</div>\n\t\t\t{/* The toolbar sits directly above the page viewport, so it ends where the page's content box does. */}\n\t\t\t<ShellScrollbarSpacer />\n\t\t</header>\n\t) : null;\n\n\tconst mainNode = (\n\t\t<div className={cn('sidebar-inset-layout--main flex min-h-0 min-w-0 flex-1 flex-col', shellContentSurface[isInset ? 'inset' : 'plain'])}>\n\t\t\t{toolbarNode}\n\t\t\t<PageViewport\n\t\t\t\trender={<Content />}\n\t\t\t\tid={skipToContentLabel ? contentId : undefined}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'sidebar-inset-layout--content',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PageViewport>\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<div className={cn('sidebar-inset-layout--component box-border isolate flex min-h-svh min-w-0 w-full overflow-hidden font-sans text-foreground shell-sidebar-vars', isInset ? 'bg-sidebar' : 'bg-background', className)}\n\t\t\tstyle={style} data-sidebar-side={sidebarSide} data-surface={surface} data-mobile-sidebar-mode={mobileSidebarMode} {...props}>\n\t\t\t{!!skipToContentLabel && <ShellSkipLink targetId={contentId} label={skipToContentLabel} />}\n\t\t\t<ShellRegionGrid side={sidebarSide} sidebar={sidebar} secondarySidebar={slots?.secondarySidebar} aside={slots?.aside}\n\t\t\t\tsecondaryWidth={secondarySidebarWidth} asideWidth={asideWidth} presentation={sidebarPresentation}\n\t\t\t\tinlinePrimary={mobileSidebarMode === 'inline'}\n\t\t\t\tsidebarClassName={cn('sidebar-inset-layout--sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', isInset ? 'bg-transparent' : 'bg-sidebar', frameAlignedRegion, sidebarClassName)}\n\t\t\t\tsecondarySidebarClassName={cn('sidebar-inset-layout--secondary-sidebar min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', frameAlignedRegion, secondarySidebarClassName)}\n\t\t\t\tasideClassName={cn('sidebar-inset-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground', asideClassName)}>\n\t\t\t\t{mainNode}\n\t\t\t</ShellRegionGrid>\n\t\t</div>\n\t);\n}\n","/**\n * StackedLayout — header-only app shell with horizontal navigation.\n *\n * The third shape alongside `TopbarSidebarLayout` (header over sidebar) and\n * `SidebarInsetLayout` (sidebar owns the page). Here there is no sidebar at all:\n * primary navigation runs across the header and the page stacks beneath it.\n *\n * Reach for this when the navigation is shallow enough to fit a row — settings,\n * marketing consoles, single-resource tools — where a sidebar would be mostly\n * empty. `contentWidth=\"contained\"` holds the page to a reading measure;\n * `\"full\"` lets dashboards span. Header flow follows the shell width: below\n * 64rem navigation owns a full row; wider shells, with room for logo, links\n * and account controls together, place it beside the logo.\n */\nimport { useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../lib/theme-scope';\n\nimport { Stack } from '../../base/structure';\nimport { Container, PageViewport } from '../containers';\nimport { containerRecipe } from '../containers/container.recipes';\nimport { InlineGutterContext } from '../containers/inline-gutter-context';\nimport { useInsideMainLandmark } from '../containers/main-landmark-context';\nimport { headerInlineDividerAlignment } from '../header/header.recipes';\nimport {ShellRegionGrid, ShellScrollbarSpacer} from './shell-regions';\nimport { ShellSkipLink } from './shell-skip-link';\n\nimport type {\n\tStackedLayoutProps,\n} from './app-shell.types';\n\n/** Same token-scope trick as `TopbarSidebarLayout` — see its note. Omitted, the header follows the active theme. */\nconst HEADER_THEME_CLASS: Record<NonNullable<StackedLayoutProps['headerTheme']>, string> = {\n\tlight: 'light',\n\tdark: 'dark',\n};\n\nexport function StackedLayout({\n\tchildren,\n\theaderTheme,\n\tcontentWidth = 'contained',\n\tasideWidth, asideClassName,\n\tlogo,\n\tnav,\n\tnavLabel = 'Primary navigation',\n\tnavAs: Nav = 'nav',\n\tslots,\n\tcontentAs,\n\tskipToContentLabel,\n\tclassName,\n\theaderClassName,\n\tsubheaderClassName,\n\tcontentClassName,\n\tstyle,\n\t...props\n}: StackedLayoutProps) {\n\tconst contentId = useId();\n\t// One main landmark per page: embedded in an existing main, the content region is a plain element.\n\tconst insideMain = useInsideMainLandmark();\n\tconst Content = contentAs ?? (insideMain ? 'div' : 'main');\n\tconst headerScope = useThemeScopeHost<HTMLElement>();\n\t// The header and subheader share the page's measure and gutter: their surfaces\n\t// and rules stay full-bleed while their content starts and ends with the page.\n\t// A full-width shell keeps full-width chrome at the same gutter.\n\tconst chromeMeasure = cn('min-w-0 flex-1', containerRecipe({ maxWidth: contentWidth === 'contained' ? '2xl' : 'full', gutter: 'lg' }));\n\t// With the page viewport directly beneath, the chrome also ends where the page's content box does.\n\tconst alignsWithViewport = !slots?.aside;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'stacked-layout--component @container/stacked-shell box-border isolate flex min-h-svh min-w-0 w-full flex-col bg-background font-sans text-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tdata-header-theme={headerTheme ?? 'inherit'}\n\t\t\tdata-content-width={contentWidth}\n\t\t\t{...props}\n\t\t>\n\t\t\t{!!skipToContentLabel && <ShellSkipLink targetId={contentId} label={skipToContentLabel} />}\n\t\t\t<ThemeScopeHostProvider value={headerScope.context}>\n\t\t\t<header\n\t\t\t\tref={headerScope.attachHost}\n\t\t\t\tdata-theme-scope=\"\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'stacked-layout--header box-border z-40 flex shrink-0 items-center border-b border-border bg-background py-space-sm text-foreground @5xl/stacked-shell:min-h-shell-header @5xl/stacked-shell:py-0',\n\t\t\t\t\theaderInlineDividerAlignment,\n\t\t\t\t\theaderTheme && HEADER_THEME_CLASS[headerTheme],\n\t\t\t\t\theaderClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className={cn('stacked-layout--header-measure', chromeMeasure)}>\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"horizontal\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap=\"lg\"\n\t\t\t\t\twrap\n\t\t\t\t\t// The shell width owns header adaptation, including narrow parents\n\t\t\t\t\t// on wide viewports. Children keep their identity across both flows.\n\t\t\t\t\tclassName=\"stacked-layout--header-inner min-h-action w-full min-w-0 @5xl/stacked-shell:flex-nowrap @5xl/stacked-shell:gap-space-2xl\"\n\t\t\t\t>\n\t\t\t\t\t{slots?.header ?? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{!!logo && (\n\t\t\t\t\t\t\t\t<div className=\"stacked-layout--logo flex min-w-0 shrink-0 items-center @5xl/stacked-shell:order-1\">\n\t\t\t\t\t\t\t\t\t{logo}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!nav && (\n\t\t\t\t\t\t\t\t// This shell has no sidebar, so hiding the nav in narrow shells left\n\t\t\t\t\t\t\t\t// the app with no navigation at all — logo and account menu\n\t\t\t\t\t\t\t\t// only. Instead it drops to its own full-width row and scrolls\n\t\t\t\t\t\t\t\t// horizontally, and returns inline when its parent is wide enough.\n\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t// Rendered once, not duplicated per breakpoint: a second copy\n\t\t\t\t\t\t\t\t// would put every nav link in the accessibility tree twice.\n\t\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t\t// Keep navigation intrinsic and single-line inside its scroller.\n\t\t\t\t\t\t\t\t// The shared inset reserves room for outer focus rings on every side.\n\t\t\t\t\t\t\t\t<Nav\n\t\t\t\t\t\t\t\t\taria-label={Nav === 'nav' ? navLabel : undefined}\n\t\t\t\t\t\t\t\t\tonFocusCapture={(event) => {\n\t\t\t\t\t\t\t\t\t\t// Native focus can leave a partially visible action clipped.\n\t\t\t\t\t\t\t\t\t\t// Reveal only within this horizontal owner; preserve page scroll.\n\t\t\t\t\t\t\t\t\t\tconst nav = event.currentTarget;\n\t\t\t\t\t\t\t\t\t\t// React portal focus bubbles through its logical nav ancestry.\n\t\t\t\t\t\t\t\t\t\tif (!nav.contains(event.target)) return;\n\t\t\t\t\t\t\t\t\t\tconst viewport = nav.getBoundingClientRect();\n\t\t\t\t\t\t\t\t\t\tconst action = event.target.getBoundingClientRect();\n\t\t\t\t\t\t\t\t\t\tconst insets = getComputedStyle(nav);\n\t\t\t\t\t\t\t\t\t\tconst left = viewport.left + (parseFloat(insets.paddingLeft) || 0);\n\t\t\t\t\t\t\t\t\t\tconst right = viewport.right - (parseFloat(insets.paddingRight) || 0);\n\t\t\t\t\t\t\t\t\t\tif (action.left < left) nav.scrollLeft += action.left - left;\n\t\t\t\t\t\t\t\t\t\telse if (action.right > right) nav.scrollLeft += action.right - right;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"stacked-layout--nav order-last flex w-full min-w-0 flex-nowrap items-center overflow-x-auto p-space-sm @5xl/stacked-shell:order-2 @5xl/stacked-shell:w-auto @5xl/stacked-shell:flex-1 [&>*]:shrink-0 [&>*]:flex-nowrap\">\n\t\t\t\t\t\t\t\t\t{nav}\n\t\t\t\t\t\t\t\t</Nav>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!!slots?.headerEnd && (\n\t\t\t\t\t\t\t\t<div className=\"stacked-layout--header-end ms-auto flex min-w-0 max-w-full flex-wrap items-center justify-end gap-space-sm @5xl/stacked-shell:order-3 @5xl/stacked-shell:gap-space-md [&>*]:max-w-full\">\n\t\t\t\t\t\t\t\t\t{slots.headerEnd}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</Stack>\n\t\t\t\t</div>\n\t\t\t\t{alignsWithViewport && <ShellScrollbarSpacer />}\n\t\t\t</header>\n\t\t\t</ThemeScopeHostProvider>\n\n\t\t\t{!!slots?.subheader && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'stacked-layout--subheader flex shrink-0 border-b border-border bg-background',\n\t\t\t\t\t\tsubheaderClassName,\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className={cn('stacked-layout--subheader-measure', chromeMeasure)}>{slots.subheader}</div>\n\t\t\t\t\t{alignsWithViewport && <ShellScrollbarSpacer />}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<ShellRegionGrid aside={slots?.aside} asideWidth={asideWidth} asideClassName={cn('stacked-layout--aside min-h-0 min-w-0 overflow-hidden text-sidebar-foreground',asideClassName)}>\n\t\t\t<PageViewport\n\t\t\t\trender={<Content />}\n\t\t\t\tid={skipToContentLabel ? contentId : undefined}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'stacked-layout--content bg-background',\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{contentWidth === 'contained' ? (\n\t\t\t\t\t// The measure owns the inline gutter; a Page inside adds none by default.\n\t\t\t\t\t<Container maxWidth=\"2xl\" gutter=\"lg\" className=\"stacked-layout--measure\">\n\t\t\t\t\t\t<InlineGutterContext.Provider value>{children}</InlineGutterContext.Provider>\n\t\t\t\t\t</Container>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</PageViewport>\n\t\t\t</ShellRegionGrid>\n\t\t</div>\n\t);\n}\n","import { cn } from '../../../lib/utils';\nimport { SidebarInsetLayout } from './sidebar-inset-layout';\nimport { StackedLayout } from './stacked-layout';\nimport { TopbarSidebarLayout } from './topbar-sidebar-layout';\nimport type { SidebarInsetLayoutProps, StackedLayoutProps, TopbarSidebarLayoutProps } from './app-shell.types';\n\n/** Presets select chrome; each underlying shell retains its own typed slots and behavior. */\nexport type AppLayoutProps =\n | (Omit<TopbarSidebarLayoutProps, 'headerTheme'> & {variant?: 'light-header' | 'dark-header'})\n | (Omit<SidebarInsetLayoutProps, 'surface'> & {variant: 'sidebar' | 'inset'})\n | (StackedLayoutProps & {variant: 'stacked'});\n\nexport type AppLayoutVariant = NonNullable<AppLayoutProps['variant']>;\n\n/** Five ready compositions using three shell owners, with one page viewport. */\nexport function AppLayout(props: AppLayoutProps) {\n const presentation = {'data-app-layout': props.variant ?? 'light-header', className: cn('app-layout--component', props.className)};\n switch (props.variant) {\n case 'stacked': {\n const {variant: _variant, ...shell} = props;\n return <StackedLayout {...shell} {...presentation} />;\n }\n case 'sidebar':\n case 'inset': {\n const {variant, ...shell} = props;\n return <SidebarInsetLayout {...shell} {...presentation} surface={variant === 'sidebar' ? 'flush' : 'inset'} />;\n }\n default: {\n // An omitted variant keeps the header on the active theme; light/dark scope it on request.\n const {variant, ...shell} = props;\n return <TopbarSidebarLayout {...shell} {...presentation} headerTheme={variant === 'dark-header' ? 'dark' : variant === 'light-header' ? 'light' : undefined} />;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useStrings as e } from "./lib/strings.js";
|
|
3
|
-
import { t } from "./utils-
|
|
4
|
-
import { n } from "./
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { t as a } from "./progress-
|
|
8
|
-
import { t as o } from "./interaction-recipes-
|
|
9
|
-
import { i as s } from "./primitives-
|
|
10
|
-
import { c, i as l, n as u, r as d, t as f, u as p } from "./item-
|
|
3
|
+
import { t } from "./utils-BVbAG2J6.js";
|
|
4
|
+
import { c as n } from "./typography-C0dELqYV.js";
|
|
5
|
+
import { t as r } from "./focus-recipes-DSkiUvUp.js";
|
|
6
|
+
import { n as i } from "./buttons-pZVgPTZn.js";
|
|
7
|
+
import { t as a } from "./progress-RARK8AjB.js";
|
|
8
|
+
import { t as o } from "./interaction-recipes-DmuS1ase.js";
|
|
9
|
+
import { i as s } from "./primitives-BlC1lXBr.js";
|
|
10
|
+
import { c, i as l, n as u, r as d, t as f, u as p } from "./item-GJ9mvCcg.js";
|
|
11
11
|
import { forwardRef as m } from "react";
|
|
12
12
|
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
13
13
|
import { Archive as v, AudioLines as y, Download as b, Eye as x, FileCode as S, FileText as C, ImageIcon as w, Video as T, X as E } from "lucide-react";
|
|
@@ -165,12 +165,12 @@ var R = m(function({ name: a = "", meta: c, bytes: l, locale: u, kind: d, media:
|
|
|
165
165
|
}),
|
|
166
166
|
(C !== void 0 || $) && /* @__PURE__ */ _(F, {
|
|
167
167
|
clamp: "none",
|
|
168
|
-
children: [C === void 0 ? /* @__PURE__ */ g(
|
|
168
|
+
children: [C === void 0 ? /* @__PURE__ */ g(n, {
|
|
169
169
|
tag: "span",
|
|
170
170
|
size: "xs",
|
|
171
171
|
type: v === "error" ? "error" : "secondary",
|
|
172
172
|
children: $
|
|
173
|
-
}) : C, v === "error" && S ? /* @__PURE__ */ _(h, { children: [" — ", /* @__PURE__ */ g(
|
|
173
|
+
}) : C, v === "error" && S ? /* @__PURE__ */ _(h, { children: [" — ", /* @__PURE__ */ g(n, {
|
|
174
174
|
tag: "span",
|
|
175
175
|
role: "alert",
|
|
176
176
|
size: "xs",
|
|
@@ -186,7 +186,7 @@ var R = m(function({ name: a = "", meta: c, bytes: l, locale: u, kind: d, media:
|
|
|
186
186
|
})
|
|
187
187
|
] }),
|
|
188
188
|
(w || k || A || R) && /* @__PURE__ */ _(I, { children: [
|
|
189
|
-
k && /* @__PURE__ */ g(
|
|
189
|
+
k && /* @__PURE__ */ g(i, {
|
|
190
190
|
type: "button",
|
|
191
191
|
tone: "secondary",
|
|
192
192
|
buttonStyle: "ghost",
|
|
@@ -200,7 +200,7 @@ var R = m(function({ name: a = "", meta: c, bytes: l, locale: u, kind: d, media:
|
|
|
200
200
|
className: "size-icon-sm"
|
|
201
201
|
})
|
|
202
202
|
}),
|
|
203
|
-
A && /* @__PURE__ */ g(
|
|
203
|
+
A && /* @__PURE__ */ g(i, {
|
|
204
204
|
type: "button",
|
|
205
205
|
tone: "secondary",
|
|
206
206
|
buttonStyle: "ghost",
|
|
@@ -214,7 +214,7 @@ var R = m(function({ name: a = "", meta: c, bytes: l, locale: u, kind: d, media:
|
|
|
214
214
|
className: "size-icon-sm"
|
|
215
215
|
})
|
|
216
216
|
}),
|
|
217
|
-
R && /* @__PURE__ */ g(
|
|
217
|
+
R && /* @__PURE__ */ g(i, {
|
|
218
218
|
type: "button",
|
|
219
219
|
tone: "secondary",
|
|
220
220
|
buttonStyle: "ghost",
|
|
@@ -235,7 +235,7 @@ var R = m(function({ name: a = "", meta: c, bytes: l, locale: u, kind: d, media:
|
|
|
235
235
|
disabled: z,
|
|
236
236
|
"aria-label": X.preview(a),
|
|
237
237
|
onClick: T,
|
|
238
|
-
className: `attachment--trigger ${o.nativeButtonReset} absolute inset-0 z-0 cursor-pointer rounded-radius outline-none ${
|
|
238
|
+
className: `attachment--trigger ${o.nativeButtonReset} absolute inset-0 z-0 cursor-pointer rounded-radius outline-none ${r.inset} disabled:cursor-not-allowed`
|
|
239
239
|
})]
|
|
240
240
|
});
|
|
241
241
|
});
|
|
@@ -243,4 +243,4 @@ R.displayName = "Attachment";
|
|
|
243
243
|
//#endregion
|
|
244
244
|
export { j as a, P as c, F as i, A as l, I as n, M as o, N as r, L as s, R as t, O as u };
|
|
245
245
|
|
|
246
|
-
//# sourceMappingURL=attachment-
|
|
246
|
+
//# sourceMappingURL=attachment-D2-fpfmv.js.map
|