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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-commands-DIKspJfx.js","names":["_Fragment","resolveComponentScale","useThemeScopeHost","useDensityConfig","cn","Button","focusRecipes","compositionClasses","ActionMenu","Fragment$1","defaultPageHeaderLinkRenderer","props","target","external","rel","INLINE_COMMAND_CLASS","COMPACT_MENU_CLASS","MENU_CONTENT_CLASS","isVisible","action","isVisibleControl","style","node","hasPageHeaderCommands","primaryAction","secondaryActions","presentation","role","linkDestination","CommandButton","href","Icon","hookClassName","className","renderLink","buttonVariants","defaultScale","toMenuAction","key","PageHeaderCommands","menuOpen","setMenuOpen","useState","resizeFocus","useRef","ownedFocus","finalFocus","useCallback","captureFocus","event","captureBlur","next","host","root","header","view","inlineCommand","inlineVisible","recoverFocus","nextInlineVisible","active","droppedHiddenFocus","candidates","observer","context","maxVisibleSecondaryActions","secondary","index","routine","destructive","inlineLimit","inline","overflow","primary","primaryEntry","destructiveMenuEntries","entry","menuActions","compactMenuOnly","ThemeScopeHostProvider","attachHost","nextOpen","moreActionsLabel"],"sources":["../src/components/base/navigation/page-header/page-header-commands.tsx"],"sourcesContent":["/**\n * PageHeaderCommands — role-based commands for page and record headers.\n *\n * The role chooses each command's treatment and place: outline secondary\n * commands, then one solid primary command, then the More actions menu for\n * overflow and destructive commands, which always closes the row. Below the\n * named header container breakpoint, every command collapses into that menu\n * through CSS alone, so server and client markup agree. Both page and section\n * headers use this owner for the same command behavior.\n */\nimport { useCallback, useEffect, useRef, useState, type ComponentType, type FocusEvent, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport {\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../action-menu';\nimport { Button } from '../../buttons';\nimport { buttonVariants } from '../../buttons/button.variants';\nimport {compositionClasses} from '../../structure/composition.recipes';\nimport { resolveComponentScale, useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\nimport { focusRecipes } from '../../../../lib/focus-recipes';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../../lib/theme-scope';\n\n/**\n * A page command described by its role. `primaryAction` and `secondaryActions`\n * choose the treatment, so a command carries no tone or button style.\n */\nexport interface PageHeaderAction {\n\t/** Stable key. Defaults to the command's position. */\n\tid?: string;\n\t/** Visible command text. */\n\tlabel: ReactNode;\n\t/** Runs the command. When both are set, `onClick` wins over `href`. */\n\tonClick?: () => void;\n\t/** Navigates through the header's `renderLink` instead of running a callback. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Leading glyph. Pass a Lucide icon component. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Shows the pending indicator and blocks activation. */\n\tloading?: boolean;\n\t/** Blocks activation while keeping the command visible. */\n\tdisabled?: boolean;\n\t/** Set false to omit the command, for example without permission. */\n\tvisible?: boolean;\n\t/**\n\t * Irreversible or harmful command. A destructive secondary command moves to\n\t * the More actions menu; a destructive primary command keeps its place with\n\t * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.\n\t */\n\tdestructive?: boolean;\n}\n\n/** What a header hands its link renderer for an `href` command. */\nexport interface PageHeaderLinkRenderProps {\n\thref: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app. */\n\texternal?: boolean;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}\n\n/** Renders framework links for `href` commands. Layout `renderLink` functions fit. */\nexport type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;\n\n/** Native anchor fallback, matching the layout default: external links open a new tab. */\nexport const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer = ({ href, external, target, rel, children, ...props }) => (\n\t<a\n\t\thref={href}\n\t\ttarget={target ?? (external ? '_blank' : undefined)}\n\t\trel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</a>\n);\n\n/** Secondary commands rendered as buttons on wide headers; later ones overflow. */\nexport const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;\n\nconst INLINE_COMMAND_CLASS = '@max-[40rem]/page-header:hidden';\nconst COMPACT_MENU_CLASS = '@min-[40rem]/page-header:hidden';\nconst MENU_CONTENT_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\n\ntype CommandRole = 'primary' | 'secondary';\n\ninterface CommandEntry {\n\taction: PageHeaderAction;\n\tkey: string;\n}\n\nexport interface PageHeaderCommandsProps {\n\tprimaryAction?: PageHeaderAction;\n\tsecondaryActions?: readonly PageHeaderAction[];\n\t/**\n\t * How many routine secondary commands render as outline buttons on wide\n\t * headers; later ones join the More actions menu. Use `1` or `0` when long\n\t * labels beside the primary command would crowd the header; `Infinity`\n\t * keeps every routine command inline. @default 2\n\t */\n\tmaxVisibleSecondaryActions?: number;\n\t/** Accessible name of the More actions menu trigger. */\n\tmoreActionsLabel: string;\n\trenderLink?: PageHeaderLinkRenderer;\n}\n\nfunction isVisible(action: PageHeaderAction | undefined): action is PageHeaderAction {\n\treturn !!action && action.visible !== false;\n}\n\nfunction isVisibleControl(node: HTMLElement) {\n\tconst style = node.ownerDocument.defaultView?.getComputedStyle(node);\n\treturn !!style && style.display !== 'none' && style.visibility !== 'hidden' && !node.closest('[hidden],[inert]');\n}\n\n/** Whether the header has any role-based command to render. */\nexport function hasPageHeaderCommands(\n\tprimaryAction: PageHeaderAction | undefined,\n\tsecondaryActions: readonly PageHeaderAction[] | undefined,\n) {\n\treturn isVisible(primaryAction) || (secondaryActions ?? []).some(isVisible);\n}\n\nfunction presentation(action: PageHeaderAction, role: CommandRole) {\n\tif (role === 'secondary') return { tone: 'secondary', buttonStyle: 'outline' } as const;\n\treturn { tone: action.destructive ? 'destructive' : 'primary', buttonStyle: 'solid' } as const;\n}\n\n/** `onClick` wins over `href`, matching PageAction. */\nfunction linkDestination(action: PageHeaderAction) {\n\treturn action.href && !action.onClick ? action.href : undefined;\n}\n\nfunction CommandButton({\n\taction,\n\trole,\n\trenderLink,\n\tclassName,\n}: {\n\taction: PageHeaderAction;\n\trole: CommandRole;\n\trenderLink: PageHeaderLinkRenderer;\n\tclassName?: string;\n}) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst { tone, buttonStyle } = presentation(action, role);\n\tconst href = linkDestination(action);\n\tconst Icon = action.icon;\n\tconst hookClassName = cn(`page-header--${role}-action`, className);\n\n\tif (href && !action.disabled && !action.loading) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderLink({\n\t\t\t\t\thref,\n\t\t\t\t\ttarget: action.target,\n\t\t\t\t\trel: action.rel,\n\t\t\t\t\texternal: action.external,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'button--component base-button--component',\n\t\t\t\t\t\tbuttonVariants({ tone, buttonStyle, size: resolveComponentScale(undefined, defaultScale) }),\n\t\t\t\t\t\thookClassName,\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{Icon && <Icon className=\"size-icon shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\ttone={tone}\n\t\t\tbuttonStyle={buttonStyle}\n\t\t\ticon={Icon}\n\t\t\tloading={action.loading}\n\t\t\thandlesLoading={action.loading !== undefined}\n\t\t\tdisabled={action.disabled}\n\t\t\tonClick={action.onClick}\n\t\t\tclassName={hookClassName}\n\t\t>\n\t\t\t{action.label}\n\t\t</Button>\n\t);\n}\n\nfunction toMenuAction({ action, key }: CommandEntry, className?: string): ActionMenuAction {\n\treturn {\n\t\tid: key,\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: linkDestination(action),\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled: !!action.disabled || !!action.loading,\n\t\ttone: action.destructive ? 'destructive' : 'secondary',\n\t\tclassName,\n\t};\n}\n\nexport function PageHeaderCommands({\n\tprimaryAction,\n\tsecondaryActions,\n\tmaxVisibleSecondaryActions,\n\tmoreActionsLabel,\n\trenderLink = defaultPageHeaderLinkRenderer,\n}: PageHeaderCommandsProps) {\n\t// Keep the popup inside its header container so responsive menu entries and\n\t// CSS theme inheritance follow the same boundary as the inline commands.\n\tconst { host, attachHost, context } = useThemeScopeHost<HTMLDivElement>();\n\tconst [menuOpen, setMenuOpen] = useState(false);\n\tconst resizeFocus = useRef<HTMLElement | null>(null);\n\tconst ownedFocus = useRef<HTMLElement | null>(null);\n\tconst finalFocus = useCallback(() => resizeFocus.current ?? true, []);\n\tconst captureFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tif (event.target instanceof HTMLElement) ownedFocus.current = event.target;\n\t}, []);\n\tconst captureBlur = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tconst next = event.relatedTarget;\n\t\tif (next instanceof Node && host.current?.contains(next)) return;\n\t\tconst target = event.target;\n\t\tconst hiddenBlur = target instanceof HTMLElement && target === ownedFocus.current && !isVisibleControl(target)\n\t\t\t&& (next == null || next instanceof HTMLElement && !isVisibleControl(next));\n\t\tif (!hiddenBlur) ownedFocus.current = null;\n\t}, [host]);\n\tuseEffect(() => {\n\t\tconst root = host.current;\n\t\tconst header = root?.closest('.page-header--component');\n\t\tconst view = root?.ownerDocument.defaultView;\n\t\tif (!root || !header || !view) return;\n\t\tconst inlineCommand = root.querySelector<HTMLElement>('.page-header--primary-action,.page-header--secondary-action');\n\t\tif (!inlineCommand) return;\n\t\tlet inlineVisible = isVisibleControl(inlineCommand);\n\t\tconst recoverFocus = () => {\n\t\t\tconst nextInlineVisible = isVisibleControl(inlineCommand);\n\t\t\tif (nextInlineVisible === inlineVisible) return;\n\t\t\tinlineVisible = nextInlineVisible;\n\t\t\tconst active = root.ownerDocument.activeElement;\n\t\t\tconst droppedHiddenFocus = active === root.ownerDocument.body && ownedFocus.current\n\t\t\t\t&& root.contains(ownedFocus.current) && !isVisibleControl(ownedFocus.current);\n\t\t\tif (!active || !root.contains(active) && !droppedHiddenFocus) {\n\t\t\t\townedFocus.current = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// CSS owns the breakpoint. Only react when its actual presentation\n\t\t\t// changes, keeping focus out of a newly hidden row or trigger.\n\t\t\tconst candidates = root.querySelectorAll<HTMLElement>('.page-header--more-actions,.page-header--primary-action,.page-header--secondary-action');\n\t\t\tconst target = [...candidates].find(node => node.matches('.page-header--more-actions') && isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? [...candidates].find(node => isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? root;\n\t\t\tresizeFocus.current = target;\n\t\t\tif (menuOpen) setMenuOpen(false);\n\t\t\ttarget.focus({ preventScroll: true });\n\t\t};\n\t\tconst observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(recoverFocus);\n\t\tobserver?.observe(header);\n\t\tview.addEventListener('resize', recoverFocus);\n\t\treturn () => {\n\t\t\tobserver?.disconnect();\n\t\t\tview.removeEventListener('resize', recoverFocus);\n\t\t};\n\t}, [context.mounted, host, maxVisibleSecondaryActions, menuOpen, primaryAction, secondaryActions]);\n\tconst secondary: CommandEntry[] = (secondaryActions ?? [])\n\t\t.map((action, index) => ({ action, key: action.id ?? `secondary-${index}` }))\n\t\t.filter(({ action }) => isVisible(action));\n\tconst routine = secondary.filter(({ action }) => !action.destructive);\n\tconst destructive = secondary.filter(({ action }) => action.destructive);\n\t// `Infinity` keeps every routine command inline; NaN keeps the default.\n\tconst inlineLimit = maxVisibleSecondaryActions === undefined || Number.isNaN(maxVisibleSecondaryActions)\n\t\t? PAGE_HEADER_INLINE_SECONDARY_LIMIT\n\t\t: Math.max(0, Math.floor(maxVisibleSecondaryActions));\n\tconst inline = routine.slice(0, inlineLimit);\n\tconst overflow = routine.slice(inlineLimit);\n\tconst primary = isVisible(primaryAction) ? primaryAction : undefined;\n\n\tif (!primary && secondary.length === 0) return null;\n\n\tconst primaryEntry = primary ? { action: primary, key: `primary-${primary.id ?? 'action'}` } : undefined;\n\tconst destructiveMenuEntries = [\n\t\t...(primaryEntry && primary?.destructive ? [{ ...primaryEntry, className: COMPACT_MENU_CLASS }] : []),\n\t\t...destructive.map(entry => ({ ...entry, className: undefined })),\n\t];\n\t// Compact entries share one menu with permanent overflow. The primary leads\n\t// routine commands; destructive commands form the final group at any width.\n\tconst menuActions: ActionMenuAction[] = [\n\t\t...(primaryEntry && !primary?.destructive ? [toMenuAction(primaryEntry, COMPACT_MENU_CLASS)] : []),\n\t\t...inline.map(entry => toMenuAction(entry, COMPACT_MENU_CLASS)),\n\t\t...overflow.map(entry => toMenuAction(entry)),\n\t\t...destructiveMenuEntries.map(entry => ({\n\t\t\t...toMenuAction(entry, entry.className),\n\t\t\tgroup: true as const,\n\t\t\t// A boundary survives on wide headers only when both groups have a\n\t\t\t// permanent entry. Otherwise it follows the compact-only commands.\n\t\t\tgroupClassName: overflow.length > 0 && destructive.length > 0 ? undefined : COMPACT_MENU_CLASS,\n\t\t})),\n\t];\n\tconst compactMenuOnly = overflow.length === 0 && destructive.length === 0;\n\tconst renderMenuLink = (props: ActionMenuLinkRenderProps) =>\n\t\trenderLink({ ...props, children: props.children ?? null }) as ReactElement;\n\n\t// Secondary commands lead, the primary command follows them, and the More\n\t// actions menu closes the row. The trigger is one more secondary command:\n\t// outline, at the commands' own height.\n\treturn (\n\t\t<ThemeScopeHostProvider value={context}>\n\t\t\t<div\n\t\t\t\tref={attachHost}\n\t\t\t\tonFocusCapture={captureFocus}\n\t\t\t\tonBlurCapture={captureBlur}\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdata-slot=\"page-header-commands\"\n\t\t\t\tclassName={cn('page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end outline-none', compositionClasses.commands, focusRecipes.inset)}\n\t\t\t>\n\t\t\t\t{inline.map((entry) => (\n\t\t\t\t\t<CommandButton\n\t\t\t\t\t\tkey={entry.key}\n\t\t\t\t\t\taction={entry.action}\n\t\t\t\t\t\trole=\"secondary\"\n\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\tclassName={INLINE_COMMAND_CLASS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{primary && <CommandButton action={primary} role=\"primary\" renderLink={renderLink} className={INLINE_COMMAND_CLASS} />}\n\t\t\t\t{menuActions.length > 0 && (\n\t\t\t\t\t<ActionMenu\n\t\t\t\t\t\topen={menuOpen}\n\t\t\t\t\t\tonOpenChange={nextOpen => {\n\t\t\t\t\t\t\tif (nextOpen) resizeFocus.current = null;\n\t\t\t\t\t\t\tsetMenuOpen(nextOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// Only resizing owns an explicit target. The default close path\n\t\t\t\t\t\t// must respect focus already handed to a command's new overlay.\n\t\t\t\t\t\tfinalFocus={resizeFocus.current ? finalFocus : undefined}\n\t\t\t\t\t\tactions={menuActions}\n\t\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\t\tsrText={moreActionsLabel}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tcloseOnSelect\n\t\t\t\t\t\tpreserveOrder\n\t\t\t\t\t\tcontentClassName={MENU_CONTENT_CLASS}\n\t\t\t\t\t\trenderLink={renderMenuLink}\n\t\t\t\t\t\t// The shared outline overflow square follows the provider scale, like the commands.\n\t\t\t\t\t\tbuttonProps={{ className: cn('page-header--more-actions', compactMenuOnly && COMPACT_MENU_CLASS) }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</ThemeScopeHostProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-header-commands-elelNOfd.js","names":["_Fragment","resolveComponentScale","useDensityConfig","ThemeScopeHostProvider","useThemeScopeHost","cn","focusRecipes","buttonVariants","Button","compositionClasses","ActionMenu","Fragment$1","defaultPageHeaderLinkRenderer","props","target","external","rel","INLINE_COMMAND_CLASS","COMPACT_MENU_CLASS","MENU_CONTENT_CLASS","isVisible","action","isVisibleControl","style","node","hasPageHeaderCommands","primaryAction","secondaryActions","presentation","role","linkDestination","CommandButton","href","Icon","hookClassName","className","renderLink","defaultScale","toMenuAction","key","PageHeaderCommands","menuOpen","setMenuOpen","useState","resizeFocus","useRef","ownedFocus","finalFocus","useCallback","captureFocus","event","captureBlur","next","host","root","header","view","inlineCommand","inlineVisible","recoverFocus","nextInlineVisible","active","droppedHiddenFocus","candidates","observer","context","maxVisibleSecondaryActions","secondary","index","routine","destructive","inlineLimit","inline","overflow","primary","primaryEntry","destructiveMenuEntries","entry","menuActions","compactMenuOnly","attachHost","nextOpen","moreActionsLabel"],"sources":["../src/components/base/navigation/page-header/page-header-commands.tsx"],"sourcesContent":["/**\n * PageHeaderCommands — role-based commands for page and record headers.\n *\n * The role chooses each command's treatment and place: outline secondary\n * commands, then one solid primary command, then the More actions menu for\n * overflow and destructive commands, which always closes the row. Below the\n * named header container breakpoint, every command collapses into that menu\n * through CSS alone, so server and client markup agree. Both page and section\n * headers use this owner for the same command behavior.\n */\nimport { useCallback, useEffect, useRef, useState, type ComponentType, type FocusEvent, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport {\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../action-menu';\nimport { Button } from '../../buttons';\nimport { buttonVariants } from '../../buttons/button.variants';\nimport {compositionClasses} from '../../structure/composition.recipes';\nimport { resolveComponentScale, useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\nimport { focusRecipes } from '../../../../lib/focus-recipes';\nimport { ThemeScopeHostProvider, useThemeScopeHost } from '../../../../lib/theme-scope';\n\n/**\n * A page command described by its role. `primaryAction` and `secondaryActions`\n * choose the treatment, so a command carries no tone or button style.\n */\nexport interface PageHeaderAction {\n\t/** Stable key. Defaults to the command's position. */\n\tid?: string;\n\t/** Visible command text. */\n\tlabel: ReactNode;\n\t/** Runs the command. When both are set, `onClick` wins over `href`. */\n\tonClick?: () => void;\n\t/** Navigates through the header's `renderLink` instead of running a callback. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Leading glyph. Pass a Lucide icon component. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Shows the pending indicator and blocks activation. */\n\tloading?: boolean;\n\t/** Blocks activation while keeping the command visible. */\n\tdisabled?: boolean;\n\t/** Set false to omit the command, for example without permission. */\n\tvisible?: boolean;\n\t/**\n\t * Irreversible or harmful command. A destructive secondary command moves to\n\t * the More actions menu; a destructive primary command keeps its place with\n\t * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.\n\t */\n\tdestructive?: boolean;\n}\n\n/** What a header hands its link renderer for an `href` command. */\nexport interface PageHeaderLinkRenderProps {\n\thref: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app. */\n\texternal?: boolean;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}\n\n/** Renders framework links for `href` commands. Layout `renderLink` functions fit. */\nexport type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;\n\n/** Native anchor fallback, matching the layout default: external links open a new tab. */\nexport const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer = ({ href, external, target, rel, children, ...props }) => (\n\t<a\n\t\thref={href}\n\t\ttarget={target ?? (external ? '_blank' : undefined)}\n\t\trel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</a>\n);\n\n/** Secondary commands rendered as buttons on wide headers; later ones overflow. */\nexport const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;\n\nconst INLINE_COMMAND_CLASS = '@max-[40rem]/page-header:hidden';\nconst COMPACT_MENU_CLASS = '@min-[40rem]/page-header:hidden';\nconst MENU_CONTENT_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\n\ntype CommandRole = 'primary' | 'secondary';\n\ninterface CommandEntry {\n\taction: PageHeaderAction;\n\tkey: string;\n}\n\nexport interface PageHeaderCommandsProps {\n\tprimaryAction?: PageHeaderAction;\n\tsecondaryActions?: readonly PageHeaderAction[];\n\t/**\n\t * How many routine secondary commands render as outline buttons on wide\n\t * headers; later ones join the More actions menu. Use `1` or `0` when long\n\t * labels beside the primary command would crowd the header; `Infinity`\n\t * keeps every routine command inline. @default 2\n\t */\n\tmaxVisibleSecondaryActions?: number;\n\t/** Accessible name of the More actions menu trigger. */\n\tmoreActionsLabel: string;\n\trenderLink?: PageHeaderLinkRenderer;\n}\n\nfunction isVisible(action: PageHeaderAction | undefined): action is PageHeaderAction {\n\treturn !!action && action.visible !== false;\n}\n\nfunction isVisibleControl(node: HTMLElement) {\n\tconst style = node.ownerDocument.defaultView?.getComputedStyle(node);\n\treturn !!style && style.display !== 'none' && style.visibility !== 'hidden' && !node.closest('[hidden],[inert]');\n}\n\n/** Whether the header has any role-based command to render. */\nexport function hasPageHeaderCommands(\n\tprimaryAction: PageHeaderAction | undefined,\n\tsecondaryActions: readonly PageHeaderAction[] | undefined,\n) {\n\treturn isVisible(primaryAction) || (secondaryActions ?? []).some(isVisible);\n}\n\nfunction presentation(action: PageHeaderAction, role: CommandRole) {\n\tif (role === 'secondary') return { tone: 'secondary', buttonStyle: 'outline' } as const;\n\treturn { tone: action.destructive ? 'destructive' : 'primary', buttonStyle: 'solid' } as const;\n}\n\n/** `onClick` wins over `href`, matching PageAction. */\nfunction linkDestination(action: PageHeaderAction) {\n\treturn action.href && !action.onClick ? action.href : undefined;\n}\n\nfunction CommandButton({\n\taction,\n\trole,\n\trenderLink,\n\tclassName,\n}: {\n\taction: PageHeaderAction;\n\trole: CommandRole;\n\trenderLink: PageHeaderLinkRenderer;\n\tclassName?: string;\n}) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst { tone, buttonStyle } = presentation(action, role);\n\tconst href = linkDestination(action);\n\tconst Icon = action.icon;\n\tconst hookClassName = cn(`page-header--${role}-action`, className);\n\n\tif (href && !action.disabled && !action.loading) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderLink({\n\t\t\t\t\thref,\n\t\t\t\t\ttarget: action.target,\n\t\t\t\t\trel: action.rel,\n\t\t\t\t\texternal: action.external,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'button--component base-button--component',\n\t\t\t\t\t\tbuttonVariants({ tone, buttonStyle, size: resolveComponentScale(undefined, defaultScale) }),\n\t\t\t\t\t\thookClassName,\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{Icon && <Icon className=\"size-icon shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\ttone={tone}\n\t\t\tbuttonStyle={buttonStyle}\n\t\t\ticon={Icon}\n\t\t\tloading={action.loading}\n\t\t\thandlesLoading={action.loading !== undefined}\n\t\t\tdisabled={action.disabled}\n\t\t\tonClick={action.onClick}\n\t\t\tclassName={hookClassName}\n\t\t>\n\t\t\t{action.label}\n\t\t</Button>\n\t);\n}\n\nfunction toMenuAction({ action, key }: CommandEntry, className?: string): ActionMenuAction {\n\treturn {\n\t\tid: key,\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: linkDestination(action),\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled: !!action.disabled || !!action.loading,\n\t\ttone: action.destructive ? 'destructive' : 'secondary',\n\t\tclassName,\n\t};\n}\n\nexport function PageHeaderCommands({\n\tprimaryAction,\n\tsecondaryActions,\n\tmaxVisibleSecondaryActions,\n\tmoreActionsLabel,\n\trenderLink = defaultPageHeaderLinkRenderer,\n}: PageHeaderCommandsProps) {\n\t// Keep the popup inside its header container so responsive menu entries and\n\t// CSS theme inheritance follow the same boundary as the inline commands.\n\tconst { host, attachHost, context } = useThemeScopeHost<HTMLDivElement>();\n\tconst [menuOpen, setMenuOpen] = useState(false);\n\tconst resizeFocus = useRef<HTMLElement | null>(null);\n\tconst ownedFocus = useRef<HTMLElement | null>(null);\n\tconst finalFocus = useCallback(() => resizeFocus.current ?? true, []);\n\tconst captureFocus = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tif (event.target instanceof HTMLElement) ownedFocus.current = event.target;\n\t}, []);\n\tconst captureBlur = useCallback((event: FocusEvent<HTMLDivElement>) => {\n\t\tconst next = event.relatedTarget;\n\t\tif (next instanceof Node && host.current?.contains(next)) return;\n\t\tconst target = event.target;\n\t\tconst hiddenBlur = target instanceof HTMLElement && target === ownedFocus.current && !isVisibleControl(target)\n\t\t\t&& (next == null || next instanceof HTMLElement && !isVisibleControl(next));\n\t\tif (!hiddenBlur) ownedFocus.current = null;\n\t}, [host]);\n\tuseEffect(() => {\n\t\tconst root = host.current;\n\t\tconst header = root?.closest('.page-header--component');\n\t\tconst view = root?.ownerDocument.defaultView;\n\t\tif (!root || !header || !view) return;\n\t\tconst inlineCommand = root.querySelector<HTMLElement>('.page-header--primary-action,.page-header--secondary-action');\n\t\tif (!inlineCommand) return;\n\t\tlet inlineVisible = isVisibleControl(inlineCommand);\n\t\tconst recoverFocus = () => {\n\t\t\tconst nextInlineVisible = isVisibleControl(inlineCommand);\n\t\t\tif (nextInlineVisible === inlineVisible) return;\n\t\t\tinlineVisible = nextInlineVisible;\n\t\t\tconst active = root.ownerDocument.activeElement;\n\t\t\tconst droppedHiddenFocus = active === root.ownerDocument.body && ownedFocus.current\n\t\t\t\t&& root.contains(ownedFocus.current) && !isVisibleControl(ownedFocus.current);\n\t\t\tif (!active || !root.contains(active) && !droppedHiddenFocus) {\n\t\t\t\townedFocus.current = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// CSS owns the breakpoint. Only react when its actual presentation\n\t\t\t// changes, keeping focus out of a newly hidden row or trigger.\n\t\t\tconst candidates = root.querySelectorAll<HTMLElement>('.page-header--more-actions,.page-header--primary-action,.page-header--secondary-action');\n\t\t\tconst target = [...candidates].find(node => node.matches('.page-header--more-actions') && isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? [...candidates].find(node => isVisibleControl(node) && !node.matches(':disabled,[aria-disabled=\"true\"],[data-disabled]'))\n\t\t\t\t?? root;\n\t\t\tresizeFocus.current = target;\n\t\t\tif (menuOpen) setMenuOpen(false);\n\t\t\ttarget.focus({ preventScroll: true });\n\t\t};\n\t\tconst observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(recoverFocus);\n\t\tobserver?.observe(header);\n\t\tview.addEventListener('resize', recoverFocus);\n\t\treturn () => {\n\t\t\tobserver?.disconnect();\n\t\t\tview.removeEventListener('resize', recoverFocus);\n\t\t};\n\t}, [context.mounted, host, maxVisibleSecondaryActions, menuOpen, primaryAction, secondaryActions]);\n\tconst secondary: CommandEntry[] = (secondaryActions ?? [])\n\t\t.map((action, index) => ({ action, key: action.id ?? `secondary-${index}` }))\n\t\t.filter(({ action }) => isVisible(action));\n\tconst routine = secondary.filter(({ action }) => !action.destructive);\n\tconst destructive = secondary.filter(({ action }) => action.destructive);\n\t// `Infinity` keeps every routine command inline; NaN keeps the default.\n\tconst inlineLimit = maxVisibleSecondaryActions === undefined || Number.isNaN(maxVisibleSecondaryActions)\n\t\t? PAGE_HEADER_INLINE_SECONDARY_LIMIT\n\t\t: Math.max(0, Math.floor(maxVisibleSecondaryActions));\n\tconst inline = routine.slice(0, inlineLimit);\n\tconst overflow = routine.slice(inlineLimit);\n\tconst primary = isVisible(primaryAction) ? primaryAction : undefined;\n\n\tif (!primary && secondary.length === 0) return null;\n\n\tconst primaryEntry = primary ? { action: primary, key: `primary-${primary.id ?? 'action'}` } : undefined;\n\tconst destructiveMenuEntries = [\n\t\t...(primaryEntry && primary?.destructive ? [{ ...primaryEntry, className: COMPACT_MENU_CLASS }] : []),\n\t\t...destructive.map(entry => ({ ...entry, className: undefined })),\n\t];\n\t// Compact entries share one menu with permanent overflow. The primary leads\n\t// routine commands; destructive commands form the final group at any width.\n\tconst menuActions: ActionMenuAction[] = [\n\t\t...(primaryEntry && !primary?.destructive ? [toMenuAction(primaryEntry, COMPACT_MENU_CLASS)] : []),\n\t\t...inline.map(entry => toMenuAction(entry, COMPACT_MENU_CLASS)),\n\t\t...overflow.map(entry => toMenuAction(entry)),\n\t\t...destructiveMenuEntries.map(entry => ({\n\t\t\t...toMenuAction(entry, entry.className),\n\t\t\tgroup: true as const,\n\t\t\t// A boundary survives on wide headers only when both groups have a\n\t\t\t// permanent entry. Otherwise it follows the compact-only commands.\n\t\t\tgroupClassName: overflow.length > 0 && destructive.length > 0 ? undefined : COMPACT_MENU_CLASS,\n\t\t})),\n\t];\n\tconst compactMenuOnly = overflow.length === 0 && destructive.length === 0;\n\tconst renderMenuLink = (props: ActionMenuLinkRenderProps) =>\n\t\trenderLink({ ...props, children: props.children ?? null }) as ReactElement;\n\n\t// Secondary commands lead, the primary command follows them, and the More\n\t// actions menu closes the row. The trigger is one more secondary command:\n\t// outline, at the commands' own height.\n\treturn (\n\t\t<ThemeScopeHostProvider value={context}>\n\t\t\t<div\n\t\t\t\tref={attachHost}\n\t\t\t\tonFocusCapture={captureFocus}\n\t\t\t\tonBlurCapture={captureBlur}\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdata-slot=\"page-header-commands\"\n\t\t\t\tclassName={cn('page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end outline-none', compositionClasses.commands, focusRecipes.inset)}\n\t\t\t>\n\t\t\t\t{inline.map((entry) => (\n\t\t\t\t\t<CommandButton\n\t\t\t\t\t\tkey={entry.key}\n\t\t\t\t\t\taction={entry.action}\n\t\t\t\t\t\trole=\"secondary\"\n\t\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\t\tclassName={INLINE_COMMAND_CLASS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t\t{primary && <CommandButton action={primary} role=\"primary\" renderLink={renderLink} className={INLINE_COMMAND_CLASS} />}\n\t\t\t\t{menuActions.length > 0 && (\n\t\t\t\t\t<ActionMenu\n\t\t\t\t\t\topen={menuOpen}\n\t\t\t\t\t\tonOpenChange={nextOpen => {\n\t\t\t\t\t\t\tif (nextOpen) resizeFocus.current = null;\n\t\t\t\t\t\t\tsetMenuOpen(nextOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t// Only resizing owns an explicit target. The default close path\n\t\t\t\t\t\t// must respect focus already handed to a command's new overlay.\n\t\t\t\t\t\tfinalFocus={resizeFocus.current ? finalFocus : undefined}\n\t\t\t\t\t\tactions={menuActions}\n\t\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\t\tsrText={moreActionsLabel}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tcloseOnSelect\n\t\t\t\t\t\tpreserveOrder\n\t\t\t\t\t\tcontentClassName={MENU_CONTENT_CLASS}\n\t\t\t\t\t\trenderLink={renderMenuLink}\n\t\t\t\t\t\t// The shared outline overflow square follows the provider scale, like the commands.\n\t\t\t\t\t\tbuttonProps={{ className: cn('page-header--more-actions', compactMenuOnly && COMPACT_MENU_CLASS) }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</ThemeScopeHostProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { C as e, f as t } from "./ui-provider-Bu1S-o96.js";
|
|
3
3
|
import { useStrings as n } from "./lib/strings.js";
|
|
4
|
-
import { t as r } from "./utils-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { t as r } from "./utils-BVbAG2J6.js";
|
|
5
|
+
import { c as i } from "./typography-C0dELqYV.js";
|
|
6
|
+
import { n as a } from "./buttons-pZVgPTZn.js";
|
|
7
7
|
import { createContext as o, useContext as s } from "react";
|
|
8
8
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
9
9
|
import { ChevronLeftIcon as u, ChevronRightIcon as d, MoreHorizontalIcon as f } from "lucide-react";
|
|
@@ -73,7 +73,7 @@ function C({ className: e, ...t }) {
|
|
|
73
73
|
...t
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
function w({ className: n, label:
|
|
76
|
+
function w({ className: n, label: a, size: o, strings: s, ...u }) {
|
|
77
77
|
let d = b(s), { defaultScale: p } = t(), m = e(o, p);
|
|
78
78
|
return /* @__PURE__ */ l("span", {
|
|
79
79
|
"data-slot": "pagination-ellipsis",
|
|
@@ -82,11 +82,11 @@ function w({ className: n, label: i, size: o, strings: s, ...u }) {
|
|
|
82
82
|
children: [/* @__PURE__ */ c(f, {
|
|
83
83
|
className: "size-icon",
|
|
84
84
|
"aria-hidden": "true"
|
|
85
|
-
}), /* @__PURE__ */ c(
|
|
85
|
+
}), /* @__PURE__ */ c(i, {
|
|
86
86
|
tag: "span",
|
|
87
87
|
size: "inherit",
|
|
88
88
|
className: "sr-only",
|
|
89
|
-
children:
|
|
89
|
+
children: a ?? d.morePages
|
|
90
90
|
})]
|
|
91
91
|
});
|
|
92
92
|
}
|
|
@@ -95,16 +95,15 @@ function T(e) {
|
|
|
95
95
|
}
|
|
96
96
|
function E({ className: n, children: o, active: s = !1, size: l, ...u }) {
|
|
97
97
|
let { defaultScale: d } = t(), f = e(l, d);
|
|
98
|
-
return /* @__PURE__ */ c(
|
|
98
|
+
return /* @__PURE__ */ c(a, {
|
|
99
99
|
size: f,
|
|
100
100
|
tone: "secondary",
|
|
101
101
|
buttonStyle: s ? "outline" : "ghost",
|
|
102
102
|
"aria-current": s ? "page" : void 0,
|
|
103
|
-
"data-slot": "pagination-link",
|
|
104
103
|
"data-active": s || void 0,
|
|
105
104
|
className: r("pagination-primitives--link px-control-xs", g[f], n),
|
|
106
105
|
...u,
|
|
107
|
-
children: x(o) ? /* @__PURE__ */ c(
|
|
106
|
+
children: x(o) ? /* @__PURE__ */ c(i, {
|
|
108
107
|
tag: "span",
|
|
109
108
|
size: "inherit",
|
|
110
109
|
weight: "medium",
|
|
@@ -114,38 +113,38 @@ function E({ className: n, children: o, active: s = !1, size: l, ...u }) {
|
|
|
114
113
|
}) : o
|
|
115
114
|
});
|
|
116
115
|
}
|
|
117
|
-
function D({ className: e, text: t, strings: n,
|
|
118
|
-
let
|
|
116
|
+
function D({ className: e, text: t, strings: n, ...a }) {
|
|
117
|
+
let o = b(n);
|
|
119
118
|
return /* @__PURE__ */ l(E, {
|
|
120
|
-
"aria-label":
|
|
119
|
+
"aria-label": o.previousLabel,
|
|
121
120
|
className: r("pagination-primitives--previous sm:!ps-control-sm sm:!pe-control", e),
|
|
122
|
-
...
|
|
121
|
+
...a,
|
|
123
122
|
children: [/* @__PURE__ */ c(u, {
|
|
124
123
|
"data-icon": "inline-start",
|
|
125
124
|
"aria-hidden": "true"
|
|
126
|
-
}), /* @__PURE__ */ c(
|
|
125
|
+
}), /* @__PURE__ */ c(i, {
|
|
127
126
|
tag: "span",
|
|
128
127
|
size: "inherit",
|
|
129
128
|
weight: "medium",
|
|
130
129
|
lineHeight: "tight",
|
|
131
130
|
className: "hidden text-inherit sm:block",
|
|
132
|
-
children: t ??
|
|
131
|
+
children: t ?? o.previous
|
|
133
132
|
})]
|
|
134
133
|
});
|
|
135
134
|
}
|
|
136
|
-
function O({ className: e, text: t, strings: n,
|
|
137
|
-
let
|
|
135
|
+
function O({ className: e, text: t, strings: n, ...a }) {
|
|
136
|
+
let o = b(n);
|
|
138
137
|
return /* @__PURE__ */ l(E, {
|
|
139
|
-
"aria-label":
|
|
138
|
+
"aria-label": o.nextLabel,
|
|
140
139
|
className: r("pagination-primitives--next sm:!ps-control sm:!pe-control-sm", e),
|
|
141
|
-
...
|
|
142
|
-
children: [/* @__PURE__ */ c(
|
|
140
|
+
...a,
|
|
141
|
+
children: [/* @__PURE__ */ c(i, {
|
|
143
142
|
tag: "span",
|
|
144
143
|
size: "inherit",
|
|
145
144
|
weight: "medium",
|
|
146
145
|
lineHeight: "tight",
|
|
147
146
|
className: "hidden text-inherit sm:block",
|
|
148
|
-
children: t ??
|
|
147
|
+
children: t ?? o.next
|
|
149
148
|
}), /* @__PURE__ */ c(d, {
|
|
150
149
|
"data-icon": "inline-end",
|
|
151
150
|
"aria-hidden": "true"
|
|
@@ -155,4 +154,4 @@ function O({ className: e, text: t, strings: n, children: i, ...o }) {
|
|
|
155
154
|
//#endregion
|
|
156
155
|
export { O as a, v as c, E as i, w as n, D as o, T as r, S as s, C as t };
|
|
157
156
|
|
|
158
|
-
//# sourceMappingURL=pagination-
|
|
157
|
+
//# sourceMappingURL=pagination-BuSWw1US.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination-BuSWw1US.js","names":["PaginationContent","PaginationItem","UIPagination","UIPaginationContent","UIPaginationItem","resolveComponentScale","useDensityConfig","cn","Text","Button","Pagination","props","className","PaginationContent$1","PaginationItem$1","pageMinWidthClasses","pageSquareClasses","defaultPaginationStrings","PaginationStringsContext","createContext","usePaginationStrings","inheritedStrings","useContext","useStrings","stringsProp","isSimpleText","value","PaginationRoot","ariaLabel","strings","PaginationContent","PaginationEllipsis","sizeProp","size","defaultScale","MoreHorizontalIcon","label","PaginationItem","PaginationLink","active","children","PaginationPrevious","ChevronLeftIcon","text","PaginationNext","ChevronRightIcon"],"sources":["../src/components/ui/pagination.tsx","../src/components/base/navigation/pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { Button } from \"./button\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\n \"mx-auto flex w-full justify-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex items-center\", className)}\n {...props}\n />\n )\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <Button\n variant={isActive ? \"outline\" : \"ghost\"}\n size={size}\n className={cn(className)}\n nativeButton={false}\n render={\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n {...props}\n />\n }\n />\n )\n}\n\nfunction PaginationPrevious({\n className,\n text = \"Previous\",\n ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"pl-2!\", className)}\n {...props}\n >\n <ChevronLeftIcon data-icon=\"inline-start\" />\n <span className=\"hidden sm:block\">\n {text}\n </span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({\n className,\n text = \"Next\",\n ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"pr-2!\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">{text}</span>\n <ChevronRightIcon data-icon=\"inline-end\" />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\n \"size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-icon flex items-center justify-center\",\n className\n )}\n {...props}\n >\n <MoreHorizontalIcon\n />\n <span className=\"sr-only\">More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n","import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';\nimport { createContext, useContext, type ComponentProps, type ReactNode } from 'react';\n\nimport {\n\tPagination as UIPagination,\n\tPaginationContent as UIPaginationContent,\n\tPaginationItem as UIPaginationItem,\n} from '../../ui/pagination';\nimport { Button, type ButtonProps } from '../buttons';\nimport { Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\nimport { resolveComponentScale, useDensityConfig, type ComponentScale } from '../../../lib/ui-provider';\n\nconst pageMinWidthClasses: Record<ComponentScale, string> = {\n\tsm: 'min-w-action-sm', md: 'min-w-action', lg: 'min-w-action-lg',\n};\nconst pageSquareClasses: Record<ComponentScale, string> = {\n\tsm: 'size-action-sm', md: 'size-action', lg: 'size-action-lg',\n};\n\nexport interface PaginationStrings {\n\tnavigationLabel: string;\n\tmorePages: string;\n\tprevious: string;\n\tnext: string;\n\tpreviousLabel: string;\n\tnextLabel: string;\n}\n\nexport const defaultPaginationStrings: PaginationStrings = {\n\tnavigationLabel: 'pagination',\n\tmorePages: 'More pages',\n\tprevious: 'Previous',\n\tnext: 'Next',\n\tpreviousLabel: 'Go to previous page',\n\tnextLabel: 'Go to next page',\n};\n\nconst PaginationStringsContext = createContext<PaginationStrings>(defaultPaginationStrings);\n\nfunction usePaginationStrings(stringsProp?: StringsProp<PaginationStrings>) {\n\tconst inheritedStrings = useContext(PaginationStringsContext);\n\treturn useStrings(inheritedStrings, stringsProp);\n}\n\nexport interface PaginationProps extends ComponentProps<typeof UIPagination> {\n\t/** Pagination items, normally blocks through `PaginationContent`. */\n\tchildren?: ReactNode;\n\t/** Accessible label for the pagination navigation landmark. */\n\t'aria-label'?: string;\n\t/** Additional classes merged with the package pagination root hook. */\n\tclassName?: string;\n\t/** Localizable navigation, direction, and ellipsis labels inherited by compound parts. */\n\tstrings?: StringsProp<PaginationStrings>;\n}\nexport type PaginationContentProps = ComponentProps<typeof UIPaginationContent>;\nexport type PaginationEllipsisProps = ComponentProps<'span'> & {\n\t/** Matches page-link geometry; falls back to the provider scale. */\n\tsize?: ComponentScale;\n\t/** Copy for the control. */\n\tlabel?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\nexport type PaginationItemProps = ComponentProps<typeof UIPaginationItem>;\nexport interface PaginationLinkProps extends Omit<\n\tButtonProps,\n\t'buttonStyle' | 'children' | 'variant'\n> {\n\tchildren?: ReactNode;\n\t/** Marks the current page. */\n\tactive?: boolean;\n}\nexport type PaginationNextProps = Omit<PaginationLinkProps, 'children'> & {\n\t/** Visible label for the control. */\n\ttext?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\nexport type PaginationPreviousProps = Omit<PaginationLinkProps, 'children'> & {\n\t/** Visible label for the control. */\n\ttext?: string;\n\t/** Overrides the pagination copy. */\n\tstrings?: StringsProp<PaginationStrings>;\n};\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/**\n * Tokenized pagination navigation root.\n *\n * Compose it with the exported content, item, link, previous, next, and\n * ellipsis parts when consumers need explicit page navigation markup.\n */\n\nexport function PaginationRoot({ className, strings: stringsProp, children, 'aria-label': ariaLabel, ...props }: PaginationProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationStringsContext.Provider value={strings}>\n\t\t\t<UIPagination\n\t\t\t\taria-label={ariaLabel ?? strings.navigationLabel}\n\t\t\t\tclassName={cn('pagination-primitives--component', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</UIPagination>\n\t\t</PaginationStringsContext.Provider>\n\t);\n}\n\nexport function PaginationContent({ className, ...props }: PaginationContentProps) {\n\treturn (\n\t\t<UIPaginationContent\n\t\t\tclassName={cn('pagination-primitives--content m-0 p-0 list-none gap-space-2xs', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n\nexport function PaginationEllipsis({ className, label, size: sizeProp, strings: stringsProp, ...props }: PaginationEllipsisProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"pagination-ellipsis\"\n\t\t\t// Same square as a page link, so the row keeps one rhythm around the gap.\n\t\t\tclassName={cn('pagination-primitives--ellipsis inline-flex shrink-0 items-center justify-center text-muted-foreground', pageSquareClasses[size], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<MoreHorizontalIcon className=\"size-icon\" aria-hidden=\"true\" />\n\t\t\t<Text tag=\"span\" size=\"inherit\" className=\"sr-only\">\n\t\t\t\t{label ?? strings.morePages}\n\t\t\t</Text>\n\t\t</span>\n\t);\n}\n\nexport function PaginationItem(props: PaginationItemProps) {\n\treturn <UIPaginationItem {...props} />;\n}\n\nexport function PaginationLink({ className, children, active = false, size: sizeProp, ...props }: PaginationLinkProps) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\treturn (\n\t\t<Button\n\t\t\tsize={size}\n\t\t\ttone=\"secondary\"\n\t\t\tbuttonStyle={active ? 'outline' : 'ghost'}\n\t\t\taria-current={active ? 'page' : undefined}\n\t\t\tdata-active={active || undefined}\n\t\t\t// Page numbers are action-height squares that widen only for long numbers.\n\t\t\tclassName={cn('pagination-primitives--link px-control-xs', pageMinWidthClasses[size], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</Button>\n\t);\n}\n\n\nexport function PaginationPrevious({ className, text, strings: stringsProp, ...props }: PaginationPreviousProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationLink\n\t\t\taria-label={strings.previousLabel}\n\t\t\tclassName={cn('pagination-primitives--previous sm:!ps-control-sm sm:!pe-control', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ChevronLeftIcon data-icon=\"inline-start\" aria-hidden=\"true\" />\n\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"hidden text-inherit sm:block\">\n\t\t\t\t{text ?? strings.previous}\n\t\t\t</Text>\n\t\t</PaginationLink>\n\t);\n}\n\n\nexport function PaginationNext({ className, text, strings: stringsProp, ...props }: PaginationNextProps) {\n\tconst strings = usePaginationStrings(stringsProp);\n\treturn (\n\t\t<PaginationLink\n\t\t\taria-label={strings.nextLabel}\n\t\t\tclassName={cn('pagination-primitives--next sm:!ps-control sm:!pe-control-sm', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"hidden text-inherit sm:block\">\n\t\t\t\t{text ?? strings.next}\n\t\t\t</Text>\n\t\t\t<ChevronRightIcon data-icon=\"inline-end\" aria-hidden=\"true\" />\n\t\t</PaginationLink>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,93 +1,97 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { t } from "./utils-
|
|
4
|
-
import { c as n } from "./typography-
|
|
5
|
-
import {
|
|
6
|
-
import { t as i } from "./portal-recipes-
|
|
7
|
-
import { t as a } from "./motion-recipes-
|
|
8
|
-
import { t as o } from "./
|
|
9
|
-
import {
|
|
10
|
-
import { a as c } from "./
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
2
|
+
import { a as e } from "./ui-provider-Bu1S-o96.js";
|
|
3
|
+
import { t } from "./utils-BVbAG2J6.js";
|
|
4
|
+
import { c as n } from "./typography-C0dELqYV.js";
|
|
5
|
+
import { n as r } from "./anchored-positioning-1U_eBFNx.js";
|
|
6
|
+
import { t as i } from "./portal-recipes-BPeS4rGB.js";
|
|
7
|
+
import { t as a } from "./motion-recipes-CUc_aHuG.js";
|
|
8
|
+
import { t as o } from "./structure-DElaQwwN.js";
|
|
9
|
+
import { s } from "./surface-recipes-DV6rrOFq.js";
|
|
10
|
+
import { a as c, r as l } from "./popover.recipes-BqkdvlZn.js";
|
|
11
|
+
import { t as u } from "./use-popup-focus-recovery-C0QPvgOR.js";
|
|
12
|
+
import * as d from "react";
|
|
13
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
14
|
+
import { useRender as m } from "@base-ui/react/use-render";
|
|
15
15
|
import { Popover as h } from "@base-ui/react/popover";
|
|
16
16
|
//#region src/components/ui/popover.tsx
|
|
17
17
|
function g({ ...e }) {
|
|
18
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ f(h.Root, {
|
|
19
19
|
"data-slot": "popover",
|
|
20
20
|
...e
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
function _({
|
|
24
|
-
let
|
|
23
|
+
function _({ nativeButton: e, render: t, children: n, ...r }) {
|
|
24
|
+
let i = typeof t == "function" ? ((e, n) => {
|
|
25
25
|
let { nativeButton: r, ...i } = e;
|
|
26
|
-
return
|
|
27
|
-
}) :
|
|
28
|
-
|
|
29
|
-
let
|
|
30
|
-
return /* @__PURE__ */
|
|
26
|
+
return t(i, n);
|
|
27
|
+
}) : t, a = !0;
|
|
28
|
+
d.isValidElement(t) && (a = typeof t.type == "string" ? t.type === "button" : !("href" in (t.props ?? {})));
|
|
29
|
+
let o = e ?? a;
|
|
30
|
+
return /* @__PURE__ */ f(h.Trigger, {
|
|
31
31
|
"data-slot": "popover-trigger",
|
|
32
|
-
render:
|
|
33
|
-
nativeButton:
|
|
34
|
-
...
|
|
35
|
-
children:
|
|
32
|
+
render: i,
|
|
33
|
+
nativeButton: o,
|
|
34
|
+
...r,
|
|
35
|
+
children: n
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
function v({
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
function v({ render: e, ...t }) {
|
|
39
|
+
return m({
|
|
40
|
+
defaultTagName: "span",
|
|
41
|
+
render: e,
|
|
42
|
+
props: {
|
|
43
|
+
"data-slot": "popover-anchor",
|
|
44
|
+
...t
|
|
45
|
+
}
|
|
42
46
|
});
|
|
43
47
|
}
|
|
44
|
-
function y({ className: n, container: o, anchor: s, align: c = "center", alignOffset: l = 0, side:
|
|
45
|
-
let S = e(o), C =
|
|
48
|
+
function y({ className: n, container: o, anchor: s, align: c = "center", alignOffset: l = 0, side: p = "bottom", sideOffset: m = 4, disablePortal: g = !1, positionMethod: _ = g ? "absolute" : r, onOpenAutoFocus: v, onInteractOutside: y, onFocusCapture: b, ...x }) {
|
|
49
|
+
let S = e(o), C = u(b), [w, T] = d.useState(null), E = /* @__PURE__ */ f(h.Positioner, {
|
|
46
50
|
anchor: s,
|
|
47
51
|
positionMethod: _,
|
|
48
52
|
align: c,
|
|
49
53
|
alignOffset: l,
|
|
50
|
-
side:
|
|
54
|
+
side: p,
|
|
51
55
|
sideOffset: m,
|
|
52
56
|
className: "box-border isolate z-50",
|
|
53
|
-
children: /* @__PURE__ */
|
|
57
|
+
children: /* @__PURE__ */ f(h.Popup, {
|
|
54
58
|
"data-slot": "popover-content",
|
|
55
59
|
className: t(a.popup, "bg-popover text-popover-foreground ring-foreground/10 flex flex-col gap-space-xl rounded-surface p-surface text-sm shadow-md ring-1 z-50 w-72 origin-(--transform-origin) outline-hidden", n),
|
|
56
60
|
...x,
|
|
57
61
|
onFocusCapture: C
|
|
58
62
|
})
|
|
59
63
|
});
|
|
60
|
-
return g ? /* @__PURE__ */
|
|
64
|
+
return g ? /* @__PURE__ */ f("div", {
|
|
61
65
|
"data-popover-inline-host": "",
|
|
62
66
|
className: "contents",
|
|
63
67
|
ref: T,
|
|
64
|
-
children: /* @__PURE__ */
|
|
68
|
+
children: /* @__PURE__ */ f(h.Portal, {
|
|
65
69
|
container: w,
|
|
66
70
|
className: i(),
|
|
67
71
|
children: E
|
|
68
72
|
})
|
|
69
|
-
}) : /* @__PURE__ */
|
|
73
|
+
}) : /* @__PURE__ */ f(h.Portal, {
|
|
70
74
|
container: S,
|
|
71
75
|
className: i(),
|
|
72
76
|
children: E
|
|
73
77
|
});
|
|
74
78
|
}
|
|
75
79
|
function b({ className: e, ...n }) {
|
|
76
|
-
return /* @__PURE__ */
|
|
80
|
+
return /* @__PURE__ */ f("div", {
|
|
77
81
|
"data-slot": "popover-header",
|
|
78
82
|
className: t("flex flex-col text-sm", e),
|
|
79
83
|
...n
|
|
80
84
|
});
|
|
81
85
|
}
|
|
82
86
|
function x({ className: e, ...n }) {
|
|
83
|
-
return /* @__PURE__ */
|
|
87
|
+
return /* @__PURE__ */ f(h.Title, {
|
|
84
88
|
"data-slot": "popover-title",
|
|
85
89
|
className: t("m-0 font-sans font-medium", e),
|
|
86
90
|
...n
|
|
87
91
|
});
|
|
88
92
|
}
|
|
89
93
|
function S({ className: e, ...n }) {
|
|
90
|
-
return /* @__PURE__ */
|
|
94
|
+
return /* @__PURE__ */ f(h.Description, {
|
|
91
95
|
"data-slot": "popover-description",
|
|
92
96
|
className: t("m-0 font-sans text-muted-foreground", e),
|
|
93
97
|
...n
|
|
@@ -98,52 +102,52 @@ function S({ className: e, ...n }) {
|
|
|
98
102
|
function C(e) {
|
|
99
103
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
100
104
|
}
|
|
101
|
-
var w =
|
|
105
|
+
var w = d.createContext({
|
|
102
106
|
type: "display",
|
|
103
107
|
flush: !1,
|
|
104
108
|
regionOwned: !1
|
|
105
109
|
});
|
|
106
110
|
function T({ className: e, sideOffset: n = 6, inset: r, type: i, style: a, ...o }) {
|
|
107
111
|
let s = i ?? (r === "compact" ? "menu" : "display");
|
|
108
|
-
return /* @__PURE__ */
|
|
112
|
+
return /* @__PURE__ */ f(w.Provider, {
|
|
109
113
|
value: {
|
|
110
114
|
type: s,
|
|
111
115
|
flush: r === "flush",
|
|
112
116
|
regionOwned: !1
|
|
113
117
|
},
|
|
114
|
-
children: /* @__PURE__ */
|
|
118
|
+
children: /* @__PURE__ */ f(y, {
|
|
115
119
|
"data-surface-type": s,
|
|
116
120
|
sideOffset: n,
|
|
117
|
-
className: t("popover--component", "gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain",
|
|
121
|
+
className: t("popover--component", "gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain", l.surface, s === "display" && r === "compact" ? l.displayCompact : c[r ?? (s === "menu" ? "compact" : "default")], e),
|
|
118
122
|
style: a,
|
|
119
123
|
...o
|
|
120
124
|
})
|
|
121
125
|
});
|
|
122
126
|
}
|
|
123
127
|
function E({ className: e, children: n, start: r, textGap: i, ...a }) {
|
|
124
|
-
let
|
|
125
|
-
return /* @__PURE__ */
|
|
126
|
-
className: t("popover-header--component",
|
|
128
|
+
let c = d.useContext(w), u = i ?? (c.type === "menu" ? "dense" : "normal"), m = c.flush && !c.regionOwned, h = c.type === "menu" && !c.regionOwned, g = r != null && r !== !1;
|
|
129
|
+
return /* @__PURE__ */ f(b, {
|
|
130
|
+
className: t("popover-header--component", u === "dense" ? "gap-dense" : "gap-normal", m && (c.type === "menu" ? l.menuRegion : l.display), !m && h && "py-row-y", g && "flex-row items-center gap-space-md", m && s.anchored.header, e),
|
|
127
131
|
...a,
|
|
128
|
-
children: /* @__PURE__ */
|
|
132
|
+
children: /* @__PURE__ */ p(w.Provider, {
|
|
129
133
|
value: {
|
|
130
|
-
...
|
|
134
|
+
...c,
|
|
131
135
|
regionOwned: !0
|
|
132
136
|
},
|
|
133
|
-
children: [r, /* @__PURE__ */
|
|
134
|
-
gap:
|
|
135
|
-
className: t("popover-header--body min-w-0 flex-1", h && !g &&
|
|
137
|
+
children: [r, /* @__PURE__ */ f(o, {
|
|
138
|
+
gap: u,
|
|
139
|
+
className: t("popover-header--body min-w-0 flex-1", h && !g && l.menuCopyInset),
|
|
136
140
|
children: n
|
|
137
141
|
})]
|
|
138
142
|
})
|
|
139
143
|
});
|
|
140
144
|
}
|
|
141
145
|
function D({ children: e, className: r, ...i }) {
|
|
142
|
-
let a =
|
|
143
|
-
return /* @__PURE__ */
|
|
146
|
+
let a = d.useContext(w).type === "menu";
|
|
147
|
+
return /* @__PURE__ */ f(x, {
|
|
144
148
|
className: t("popover-title--component", C(e) && "leading-none", r),
|
|
145
149
|
...i,
|
|
146
|
-
children: C(e) ? /* @__PURE__ */
|
|
150
|
+
children: C(e) ? /* @__PURE__ */ f(n, {
|
|
147
151
|
tag: "span",
|
|
148
152
|
type: "inherit",
|
|
149
153
|
size: a ? void 0 : "base",
|
|
@@ -155,11 +159,11 @@ function D({ children: e, className: r, ...i }) {
|
|
|
155
159
|
});
|
|
156
160
|
}
|
|
157
161
|
function O({ children: e, className: r, ...i }) {
|
|
158
|
-
let a =
|
|
159
|
-
return /* @__PURE__ */
|
|
162
|
+
let a = d.useContext(w).type === "menu";
|
|
163
|
+
return /* @__PURE__ */ f(S, {
|
|
160
164
|
className: t("popover-description--component", C(e) && "leading-none", r),
|
|
161
165
|
...i,
|
|
162
|
-
children: C(e) ? /* @__PURE__ */
|
|
166
|
+
children: C(e) ? /* @__PURE__ */ f(n, {
|
|
163
167
|
tag: "span",
|
|
164
168
|
type: "secondary",
|
|
165
169
|
size: a ? "xs" : void 0,
|
|
@@ -170,32 +174,32 @@ function O({ children: e, className: r, ...i }) {
|
|
|
170
174
|
});
|
|
171
175
|
}
|
|
172
176
|
function k({ className: e, children: r, caption: i, ...a }) {
|
|
173
|
-
let
|
|
174
|
-
return /* @__PURE__ */
|
|
177
|
+
let c = d.useContext(w), u = i == null && C(r), m = i ?? (u ? r : void 0);
|
|
178
|
+
return /* @__PURE__ */ f(o, {
|
|
175
179
|
direction: "horizontal",
|
|
176
180
|
gap: "sm",
|
|
177
181
|
justify: "end",
|
|
178
182
|
wrap: !0,
|
|
179
|
-
className: t("popover-footer--component pt-space-sm",
|
|
183
|
+
className: t("popover-footer--component pt-space-sm", s.anchored.footer, c.flush && !c.regionOwned && (c.type === "menu" ? l.menuRegion : l.display), e),
|
|
180
184
|
...a,
|
|
181
|
-
children: /* @__PURE__ */
|
|
185
|
+
children: /* @__PURE__ */ p(w.Provider, {
|
|
182
186
|
value: {
|
|
183
|
-
...
|
|
187
|
+
...c,
|
|
184
188
|
regionOwned: !0
|
|
185
189
|
},
|
|
186
|
-
children: [
|
|
187
|
-
className: t("popover-footer--caption me-auto min-w-0 max-w-full",
|
|
188
|
-
children: C(
|
|
190
|
+
children: [m != null && /* @__PURE__ */ f("div", {
|
|
191
|
+
className: t("popover-footer--caption me-auto min-w-0 max-w-full", c.type === "menu" && !c.regionOwned && l.menuCopyInset),
|
|
192
|
+
children: C(m) ? /* @__PURE__ */ f(n, {
|
|
189
193
|
tag: "span",
|
|
190
194
|
size: "xs",
|
|
191
195
|
type: "secondary",
|
|
192
|
-
children:
|
|
193
|
-
}) :
|
|
194
|
-
}), !
|
|
196
|
+
children: m
|
|
197
|
+
}) : m
|
|
198
|
+
}), !u && r]
|
|
195
199
|
})
|
|
196
200
|
});
|
|
197
201
|
}
|
|
198
202
|
//#endregion
|
|
199
203
|
export { D as a, _ as c, E as i, O as n, g as o, k as r, v as s, T as t };
|
|
200
204
|
|
|
201
|
-
//# sourceMappingURL=popover-
|
|
205
|
+
//# sourceMappingURL=popover-BpMxbqEK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover-BpMxbqEK.js","names":["Popover","PopoverPrimitive","React","PopoverContent","PopoverHeader","PopoverTitle","PopoverDescription","React","PopoverContentPrimitive","PopoverHeaderPrimitive","PopoverTitlePrimitive","PopoverDescriptionPrimitive","useThemePortalContainer","Text","anchoredPositionMethod","portalClassName","motionRecipes","Stack","surfaceInsetClasses","popoverRecipes","usePopupFocusRecovery","React$1","Popover$1","props","Popover","PopoverTrigger","safeRender","render","_nativeButton","rest","renderProps","state","inferredNativeButton","resolvedNativeButton","nativeButton","PopoverAnchor","useRender","PopoverContent$1","disablePortal","resolvedContainer","container","recoverFocus","onFocusCapture","inlineHost","setInlineHost","content","cn","className","PopoverHeader$1","PopoverTitle$1","PopoverDescription$1","isSimpleText","value","PopoverSurfaceContext","PopoverContent","resolvedType","type","inset","PopoverHeader","surface","copyGap","textGap","band","menu","hasStart","start","surfaceDividerRecipes","PopoverTitle","compact","children","PopoverDescription","PopoverFooter","childrenAsCaption","caption"],"sources":["../src/components/ui/popover.tsx","../src/components/base/popover/popover.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../lib/anchored-positioning';\nimport { portalClassName } from '../../lib/portal-recipes';\nimport { usePopupFocusRecovery } from '../../lib/use-popup-focus-recovery';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { useThemePortalContainer, type ThemePortalContainer } from '../../lib/theme-scope';\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\nimport * as React from \"react\"\nimport { useRender } from \"@base-ui/react/use-render\"\n\nimport { cn } from \"../../lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props) {\n const safeRender: PopoverPrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n // A composed element that is not a native button (an anchor, a div) needs\n // button semantics from the primitive; a real button keeps its own.\n let inferredNativeButton = true\n if (React.isValidElement(render)) {\n if (typeof render.type === \"string\") {\n inferredNativeButton = render.type === \"button\"\n } else {\n const renderProps = (render.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in renderProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? inferredNativeButton\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n render,\n ...props\n}: useRender.ComponentProps<\"span\">) {\n return useRender({ defaultTagName: \"span\", render, props: { \"data-slot\": \"popover-anchor\", ...props } })\n}\n\nfunction PopoverContent({\n className,\n container,\n anchor,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n disablePortal = false,\n positionMethod = disablePortal ? \"absolute\" : anchoredPositionMethod,\n onOpenAutoFocus,\n onInteractOutside,\n onFocusCapture,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"anchor\" | \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"positionMethod\"\n > & {\n disablePortal?: boolean\n onOpenAutoFocus?: (event: Event) => void\n onInteractOutside?: (event: Event) => void\n } & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n const [inlineHost, setInlineHost] = React.useState<HTMLDivElement | null>(null)\n void onOpenAutoFocus\n void onInteractOutside\n\n const content = (\n <PopoverPrimitive.Positioner\n anchor={anchor}\n positionMethod={positionMethod}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"box-border isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n motionRecipes.popup,\n \"bg-popover text-popover-foreground ring-foreground/10 flex flex-col gap-space-xl rounded-surface p-surface text-sm shadow-md ring-1 z-50 w-72 origin-(--transform-origin) outline-hidden\",\n className\n )}\n {...props}\n onFocusCapture={recoverFocus}\n />\n </PopoverPrimitive.Positioner>\n )\n\n if (disablePortal) {\n // Base UI requires Portal context; a local host preserves inline DOM locality.\n return <div data-popover-inline-host=\"\" className=\"contents\" ref={setInlineHost}>\n <PopoverPrimitive.Portal container={inlineHost} className={portalClassName()}>{content}</PopoverPrimitive.Portal>\n </div>\n }\n\n return <PopoverPrimitive.Portal container={resolvedContainer} className={portalClassName()}>{content}</PopoverPrimitive.Portal>\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"m-0 font-sans font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"m-0 font-sans text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","import { surfaceDividerRecipes } from '../../../lib/surface-recipes';\n/**\n * Popover — public wrapper around the internal Base UI popover implementation.\n *\n * What this layer adds on top of the primitive:\n * - Library-default `sideOffset` (6px) and an explicit inset contract:\n * card/multi-content popovers use `default`, item collections use\n * `compact`, and mixed region-owned compositions use `flush`.\n * - A consistent shadow + border treatment matching the rest of the\n * library (one semantic border, no extra primitive ring).\n * - Wraps the primitive parts with stable DOM hooks and adds a separated\n * footer region while preserving the compound-component pattern:\n * `<Popover>`, `<PopoverTrigger>`, `<PopoverContent>` exactly as\n * they would with the primitive.\n *\n * Use the shared inset role for padding; className owns placement. Override\n * `--surface-x` / `--surface-y` / `--space-scale` on a wrapper for surface-wide\n * density tweaks.\n */\nimport * as React from 'react';\n\nimport {\n\tPopover as PopoverPrimitive,\n\tPopoverAnchor,\n\tPopoverContent as PopoverContentPrimitive,\n\tPopoverDescription as PopoverDescriptionPrimitive,\n\tPopoverHeader as PopoverHeaderPrimitive,\n\tPopoverTitle as PopoverTitlePrimitive,\n\tPopoverTrigger,\n} from '../../ui/popover';\nimport { Text } from '../../typography';\nimport { Stack, type TextGap } from '../structure';\nimport { cn } from '../../../lib/utils';\nimport { popoverRecipes, surfaceInsetClasses, type PopoverContentType } from './popover.recipes';\nexport type { PopoverContentType } from './popover.recipes';\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\ntype PopoverContentBaseProps = React.ComponentProps<typeof PopoverContentPrimitive>;\n\nexport type PopoverContentInset = 'default' | 'compact' | 'flush';\n\nexport type PopoverContentProps = PopoverContentBaseProps & {\n\t/**\n\t * Surface inset role. `default` is for card-like or multi-content popovers,\n\t * `compact` for item collections (or the small surface tier with explicit\n\t * type=\"display\"), and `flush` when child regions own their padding.\n\t */\n\tinset?: PopoverContentInset;\n\t/** Anatomy role; supplies the inferred inset only when inset is omitted. */\n\ttype?: PopoverContentType;\n};\n\nconst PopoverSurfaceContext = React.createContext({ type: 'display' as PopoverContentType, flush: false, regionOwned: false });\n\n/** Anchored content surface with a semantic inset role and package popover chrome. */\nfunction PopoverContent({\n\tclassName,\n\tsideOffset = 6,\n\tinset,\n\ttype,\n\tstyle,\n\t...props\n}: PopoverContentProps) {\n const resolvedType = type ?? (inset === 'compact' ? 'menu' : 'display');\n return (\n <PopoverSurfaceContext.Provider value={{ type: resolvedType, flush: inset === 'flush', regionOwned: false }}>\n\t\t<PopoverContentPrimitive\n\t\t\tdata-surface-type={resolvedType}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn('popover--component',\n\t\t\t\t// A popover is a small surface, not a compressed tooltip. The\n\t\t\t\t// unsuffixed surface token is the package-wide default and remains\n\t\t\t\t// responsive to scoped spacing changes.\n\t\t\t\t'gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain',\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tresolvedType === 'display' && inset === 'compact'\n\t\t\t\t\t? popoverRecipes.displayCompact\n\t\t\t\t\t: surfaceInsetClasses[inset ?? (resolvedType === 'menu' ? 'compact' : 'default')],\n\t\t\t\t// The shared recipe owns the semantic hairline border and shadow.\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\t{...props}\n\t\t/>\n </PopoverSurfaceContext.Provider>\n\t);\n}\n\ntype PopoverHeaderBaseProps = React.ComponentProps<typeof PopoverHeaderPrimitive> & {\n /** Leading control, aligned with collection highlight edges rather than label text. */\n start?: React.ReactNode;\n /** Copy rhythm. Defaults to dense for menus and normal for display surfaces. */\n textGap?: TextGap;\n};\n\nfunction PopoverHeader({ className, children, start, textGap, ...props }: PopoverHeaderBaseProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const copyGap = textGap ?? (surface.type === 'menu' ? 'dense' : 'normal');\n const band = surface.flush && !surface.regionOwned;\n const menu = surface.type === 'menu' && !surface.regionOwned;\n const hasStart = start != null && start !== false;\n return (\n\t\t<PopoverHeaderPrimitive\n\t\t\tclassName={cn(\n 'popover-header--component',\n copyGap === 'dense' ? 'gap-dense' : 'gap-normal',\n band && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n !band && menu && 'py-row-y',\n hasStart && 'flex-row items-center gap-space-md',\n band && surfaceDividerRecipes.anchored.header,\n className,\n )}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {start}\n <Stack gap={copyGap} className={cn('popover-header--body min-w-0 flex-1', menu && !hasStart && popoverRecipes.menuCopyInset)}>\n {children}\n </Stack>\n </PopoverSurfaceContext.Provider>\n </PopoverHeaderPrimitive>\n\t);\n}\n\ntype PopoverTitleBaseProps = React.ComponentProps<typeof PopoverTitlePrimitive>;\n\nfunction PopoverTitle({ children, className, ...props }: PopoverTitleBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverTitlePrimitive\n\t\t\t// Plain text sets its own leading; the heading's inherited line box would\n\t\t\t// otherwise add a strut above the description.\n\t\t\tclassName={cn('popover-title--component', isSimpleText(children) && 'leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tsize={compact ? undefined : 'base'}\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tlineHeight=\"snug\"\n\t\t\t\t\tclassName=\"popover-title--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverTitlePrimitive>\n\t);\n}\n\ntype PopoverDescriptionBaseProps = React.ComponentProps<typeof PopoverDescriptionPrimitive>;\n\nfunction PopoverDescription({ children, className, ...props }: PopoverDescriptionBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverDescriptionPrimitive\n\t\t\tclassName={cn('popover-description--component', isSimpleText(children) && 'leading-none', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"secondary\"\n size={compact ? 'xs' : undefined}\n\t\t\t\t\tlineHeight={compact ? 'normal' : 'relaxed'}\n\t\t\t\t\tclassName=\"popover-description--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverDescriptionPrimitive>\n\t);\n}\n\ntype PopoverFooterProps = React.ComponentProps<'div'> & {\n /** Leading supporting content, one small step inside the region edge like the header; children are trailing actions. */\n caption?: React.ReactNode;\n};\n\nfunction PopoverFooter({ className, children, caption, ...props }: PopoverFooterProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const childrenAsCaption = caption == null && isSimpleText(children);\n const content = caption ?? (childrenAsCaption ? children : undefined);\n return (\n\t\t<Stack\n\t\t\tdirection=\"horizontal\"\n\t\t\tgap=\"sm\"\n\t\t\tjustify=\"end\"\n\t\t\twrap\n\t\t\tclassName={cn(\n\t\t\t\t'popover-footer--component pt-space-sm', surfaceDividerRecipes.anchored.footer,\n surface.flush && !surface.regionOwned && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {content != null && <div className={cn('popover-footer--caption me-auto min-w-0 max-w-full', surface.type === 'menu' && !surface.regionOwned && popoverRecipes.menuCopyInset)}>\n {isSimpleText(content) ? <Text tag=\"span\" size=\"xs\" type=\"secondary\">{content}</Text> : content}\n </div>}\n {!childrenAsCaption && children}\n </PopoverSurfaceContext.Provider>\n </Stack>\n\t);\n}\n\nexport {\n\tPopoverPrimitive as Popover,\n\tPopoverAnchor,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverFooter,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverTrigger,\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAWA,SAASA,EAAQ,EAAE,GAAGuB,KAAsC;CAC1D,OAAO,kBAACtB,EAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAIsB;CAAQ,CAAA;AAChE;AAEA,SAASE,EAAe,EACtB,iBACA,WACA,aACA,GAAGF,KAC8B;CACjC,IAAMG,IAAuD,OAAOC,KAAW,eACzE,GAAa,MAAU;EACzB,IAAM,EAAE,cAAcC,GAAe,GAAGC,MAASC;EAEjD,OAAOH,EAAOE,GAA4BE,CAAK;CACjD,KACEJ,GAGAK,IAAuB;CAC3B,AAAI9B,EAAM,eAAeyB,CAAM,MAC7B,AAIEK,IAJE,OAAOL,EAAO,QAAS,WACFA,EAAO,SAAS,WAGhB,EAAE,WADJA,EAAO,SAAS,CAAC;CAI1C,IAAMM,IAAuBC,KAAgBF;CAC7C,OACE,kBAAC/B,EAAiB,SAAlB;EACE,aAAU;EACV,QAAQyB;EACR,cAAcO;EACd,GAAIV;EAEH;CACuB,CAAA;AAE9B;AAEA,SAASY,EAAc,EACrB,WACA,GAAGZ,KACgC;CACnC,OAAOa,EAAU;EAAE,gBAAgB;EAAQ;EAAQ,OAAO;GAAE,aAAa;GAAkB,GAAGb;EAAM;CAAE,CAAC;AACzG;AAEA,SAASpB,EAAe,EACtB,cACA,cACA,WACA,WAAQ,UACR,iBAAc,GACd,UAAO,UACP,gBAAa,GACb,mBAAgB,IAChB,oBAAiBmC,IAAgB,aAAaxB,GAC9C,oBACA,sBACA,mBACA,GAAGS,KASuC;CAC1C,IAAMgB,IAAoB3B,EAAwB4B,CAAS,GACrDC,IAAerB,EAAsBsB,CAAc,GACnD,CAACC,GAAYC,KAAiB1C,EAAM,SAAgC,IAAI,GAIxE2C,IACJ,kBAAC5C,EAAiB,YAAlB;EACU;EACQ;EACT;EACM;EACP;EACM;EACZ,WAAU;EAEV,UAAA,kBAACA,EAAiB,OAAlB;GACE,aAAU;GACV,WAAW6C,EACT9B,EAAc,OACd,4LACA+B,CACF;GACA,GAAIxB;GACJ,gBAAgBkB;EACjB,CAAA;CAC0B,CAAA;CAU/B,OAPIH,IAEK,kBAAC,OAAD;EAAK,4BAAyB;EAAG,WAAU;EAAW,KAAKM;EAChE,UAAA,kBAAC3C,EAAiB,QAAlB;GAAyB,WAAW0C;GAAY,WAAW5B,EAAgB;GAAI,UAAA8B;EAAiC,CAAA;CAC7G,CAAA,IAGA,kBAAC5C,EAAiB,QAAlB;EAAyB,WAAWsC;EAAmB,WAAWxB,EAAgB;EAAI,UAAA8B;CAAiC,CAAA;AAChI;AAEA,SAASzC,EAAc,EAAE,cAAW,GAAGmB,KAAsC;CAC3E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAWuB,EAAG,yBAAyBC,CAAS;EAChD,GAAIxB;CACL,CAAA;AAEL;AAEA,SAASlB,EAAa,EAAE,cAAW,GAAGkB,KAAuC;CAC3E,OACE,kBAACtB,EAAiB,OAAlB;EACE,aAAU;EACV,WAAW6C,EAAG,6BAA6BC,CAAS;EACpD,GAAIxB;CACL,CAAA;AAEL;AAEA,SAASjB,EAAmB,EAC1B,cACA,GAAGiB,KACkC;CACrC,OACE,kBAACtB,EAAiB,aAAlB;EACE,aAAU;EACV,WAAW6C,EAAG,uCAAuCC,CAAS;EAC9D,GAAIxB;CACL,CAAA;AAEL;;;ACpHA,SAAS4B,EAAa,GAA2D;CAChF,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AAiBA,IAAMC,IAAwB9C,EAAM,cAAc;CAAE,MAAM;CAAiC,OAAO;CAAO,aAAa;AAAM,CAAC;AAG7H,SAAS+C,EAAe,EACvB,cACA,gBAAa,GACb,UACA,SACA,UACA,GAAG/B,KACoB;CACvB,IAAMgC,IAAeC,MAASC,MAAU,YAAY,SAAS;CAC7D,OACC,kBAACJ,EAAsB,UAAvB;EAAgC,OAAO;GAAE,MAAME;GAAc,OAAOE,MAAU;GAAS,aAAa;EAAM;EAC1G,UAAA,kBAACjD,GAAD;GACC,qBAAmB+C;GACP;GACZ,WAAWT,EAAG,sBAIb,0GACA3B,EAAe,SACfoC,MAAiB,aAAaE,MAAU,YACrCtC,EAAe,iBACfD,EAAoBuC,MAAUF,MAAiB,SAAS,YAAY,aAEvER,CACD;GACO;GACP,GAAIxB;EACJ,CAAA;CAC+B,CAAA;AAElC;AASA,SAASmC,EAAc,EAAE,cAAW,aAAU,UAAO,YAAS,GAAGnC,KAAiC;CACjG,IAAMoC,IAAUpD,EAAM,WAAW8C,CAAqB,GAChDO,IAAUC,MAAYF,EAAQ,SAAS,SAAS,UAAU,WAC1DG,IAAOH,EAAQ,SAAS,CAACA,EAAQ,aACjCI,IAAOJ,EAAQ,SAAS,UAAU,CAACA,EAAQ,aAC3CK,IAAWC,KAAS,QAAQA,MAAU;CAC5C,OACC,kBAACxD,GAAD;EACC,WAAWqC,EACV,6BACAc,MAAY,UAAU,cAAc,cACpCE,MAASH,EAAQ,SAAS,SAASxC,EAAe,aAAaA,EAAe,UAC9E,CAAC2C,KAAQC,KAAQ,YACjBC,KAAY,sCACZF,KAAQI,EAAsB,SAAS,QACvCnB,CACD;EACA,GAAIxB;EAEJ,UAAA,kBAAC8B,EAAsB,UAAvB;GAAgC,OAAO;IAAE,GAAGM;IAAS,aAAa;GAAK;GAAvE,UAAA,CACEM,GACD,kBAAChD,GAAD;IAAO,KAAK2C;IAAS,WAAWd,EAAG,uCAAuCiB,KAAQ,CAACC,KAAY7C,EAAe,aAAa;IACzH;GACK,CAAA,CACwB;;CACT,CAAA;AAE1B;AAIA,SAASgD,EAAa,EAAE,aAAU,cAAW,GAAG5C,KAAgC;CAC/E,IAAM6C,IAAU7D,EAAM,WAAW8C,CAAqB,CAAC,CAAC,SAAS;CACjE,OACC,kBAAC3C,GAAD;EAGC,WAAWoC,EAAG,4BAA4BK,EAAakB,CAAQ,KAAK,gBAAgBtB,CAAS;EAC7F,GAAIxB;EAEH,UAAA4B,EAAakB,CAAQ,IACrB,kBAACxD,GAAD;GACC,KAAI;GACJ,MAAK;GACL,MAAMuD,IAAU,KAAA,IAAY;GAC5B,QAAO;GACP,YAAW;GACX,WAAU;GAET;EACI,CAAA,IACHC;CACkB,CAAA;AAEzB;AAIA,SAASC,EAAmB,EAAE,aAAU,cAAW,GAAG/C,KAAsC;CAC3F,IAAM6C,IAAU7D,EAAM,WAAW8C,CAAqB,CAAC,CAAC,SAAS;CACjE,OACC,kBAAC1C,GAAD;EACC,WAAWmC,EAAG,kCAAkCK,EAAakB,CAAQ,KAAK,gBAAgBtB,CAAS;EACnG,GAAIxB;EAEH,UAAA4B,EAAakB,CAAQ,IACrB,kBAACxD,GAAD;GACC,KAAI;GACJ,MAAK;GACL,MAAMuD,IAAU,OAAO,KAAA;GACvB,YAAYA,IAAU,WAAW;GACjC,WAAU;GAET;EACI,CAAA,IACHC;CACwB,CAAA;AAE/B;AAOA,SAASE,EAAc,EAAE,cAAW,aAAU,YAAS,GAAGhD,KAA6B;CACtF,IAAMoC,IAAUpD,EAAM,WAAW8C,CAAqB,GAChDmB,IAAoBC,KAAW,QAAQtB,EAAakB,CAAQ,GAC5DxB,IAAU4B,MAAYD,IAAoBH,IAAW,KAAA;CAC3D,OACC,kBAACpD,GAAD;EACC,WAAU;EACV,KAAI;EACJ,SAAQ;EACR,MAAA;EACA,WAAW6B,EACV,yCAAyCoB,EAAsB,SAAS,QACxEP,EAAQ,SAAS,CAACA,EAAQ,gBAAgBA,EAAQ,SAAS,SAASxC,EAAe,aAAaA,EAAe,UAE/G4B,CACD;EACA,GAAIxB;EAEJ,UAAA,kBAAC8B,EAAsB,UAAvB;GAAgC,OAAO;IAAE,GAAGM;IAAS,aAAa;GAAK;GAAvE,UAAA,CACEd,KAAW,QAAQ,kBAAC,OAAD;IAAK,WAAWC,EAAG,sDAAsDa,EAAQ,SAAS,UAAU,CAACA,EAAQ,eAAexC,EAAe,aAAa;IAC1K,UAAAgC,EAAaN,CAAO,IAAI,kBAAChC,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,MAAK;KAAa,UAAAgC;IAAc,CAAA,IAAIA;GACpF,CAAA,GACJ,CAAC2B,KAAqBH,CACQ;;CAC1B,CAAA;AAET"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useStrings as e } from "./lib/strings.js";
|
|
3
|
-
import { t } from "./utils-
|
|
4
|
-
import { n, t as r } from "./feedback-
|
|
5
|
-
import { i } from "./popover.recipes-
|
|
6
|
-
import { t as a } from "./collection-content-
|
|
7
|
-
import { a as o, i as s, l as c, n as l, o as u, r as d, t as f } from "./command-
|
|
8
|
-
import { c as p, i as m, o as h, r as g, t as _ } from "./popover-
|
|
3
|
+
import { t } from "./utils-BVbAG2J6.js";
|
|
4
|
+
import { n, t as r } from "./feedback-DmqmXKLn.js";
|
|
5
|
+
import { i } from "./popover.recipes-BqkdvlZn.js";
|
|
6
|
+
import { t as a } from "./collection-content-D7SoDlYd.js";
|
|
7
|
+
import { a as o, i as s, l as c, n as l, o as u, r as d, t as f } from "./command-CjZ2VzKC.js";
|
|
8
|
+
import { c as p, i as m, o as h, r as g, t as _ } from "./popover-BpMxbqEK.js";
|
|
9
9
|
import * as v from "react";
|
|
10
10
|
import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
11
11
|
//#region src/components/base/popover-menu/popover-menu.types.ts
|
|
@@ -97,4 +97,4 @@ C.displayName = "PopoverMenu";
|
|
|
97
97
|
//#endregion
|
|
98
98
|
export { S as n, C as t };
|
|
99
99
|
|
|
100
|
-
//# sourceMappingURL=popover-menu-
|
|
100
|
+
//# sourceMappingURL=popover-menu-CO-_iiuz.js.map
|