themelia-react-ui 2.0.0 → 2.0.1
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 +351 -0
- package/README.md +26 -13
- package/dist/{accordion-CQXVcd7Q.js → accordion-B6a3vVgA.js} +84 -82
- package/dist/accordion-B6a3vVgA.js.map +1 -0
- package/dist/action-menu-TzCoSlwL.js +280 -0
- package/dist/action-menu-TzCoSlwL.js.map +1 -0
- package/dist/{affordance-geometry.generated-CCIXb2A1.js → affordance-geometry.generated-B5iu-Mkr.js} +3 -2
- package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +1 -0
- package/dist/{ai-artifact-2PQ2fItc.js → ai-artifact-BMJdv-6q.js} +379 -376
- package/dist/ai-artifact-BMJdv-6q.js.map +1 -0
- package/dist/{app-shell-BE_j8-AT.js → app-shell-ZK5RWdo6.js} +4 -4
- package/dist/{app-shell-BE_j8-AT.js.map → app-shell-ZK5RWdo6.js.map} +1 -1
- package/dist/attachment-BtfhGm8i.js +245 -0
- package/dist/attachment-BtfhGm8i.js.map +1 -0
- package/dist/{auth-M3vGMgDR.js → auth-CYxKfo69.js} +237 -235
- package/dist/auth-CYxKfo69.js.map +1 -0
- package/dist/{avatar-djdaaQ_s.js → avatar-BBnEJIx8.js} +66 -65
- package/dist/avatar-BBnEJIx8.js.map +1 -0
- package/dist/badge-MrKVNzW9.js +93 -0
- package/dist/badge-MrKVNzW9.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 +3 -0
- package/dist/base/buttons.js +2 -3
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +13 -13
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +103 -115
- package/dist/base/cascader.js.map +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +3 -3
- 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 +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +17 -17
- package/dist/base/inline-edit.js.map +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +3 -0
- package/dist/base/navigation.js +7 -7
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +1 -1
- package/dist/base/repeaters.js +171 -170
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +147 -137
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +2 -2
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +2 -2
- package/dist/batch-action-bar-BZGDG-Si.js +104 -0
- package/dist/batch-action-bar-BZGDG-Si.js.map +1 -0
- package/dist/blocks/admin.js +173 -171
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +266 -263
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +440 -438
- 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 +1945 -1266
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +3 -2
- package/dist/blocks/onboarding.js +50 -49
- 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 +1 -1
- package/dist/breadcrumbs-D5t7I023.js +129 -0
- package/dist/breadcrumbs-D5t7I023.js.map +1 -0
- package/dist/{button-R9CCoH7A.js → button-QYwiyhD2.js} +15 -14
- package/dist/button-QYwiyhD2.js.map +1 -0
- package/dist/{button-BS3KDg00.js → buttons-SbIcm1HJ.js} +200 -213
- package/dist/buttons-SbIcm1HJ.js.map +1 -0
- package/dist/{cards-QoJ4syG9.js → cards-CiiHpKYd.js} +8 -8
- package/dist/cards-CiiHpKYd.js.map +1 -0
- package/dist/{chart-DwYRKKc-.js → chart-QfrARkXl.js} +5 -5
- package/dist/{chart-DwYRKKc-.js.map → chart-QfrARkXl.js.map} +1 -1
- package/dist/checkbox-DhB6K0bK.js +36 -0
- package/dist/checkbox-DhB6K0bK.js.map +1 -0
- package/dist/choice-inputs-t6w3ATNz.js +766 -0
- package/dist/choice-inputs-t6w3ATNz.js.map +1 -0
- package/dist/code-block-Dgbu-CU3.js +185 -0
- package/dist/code-block-Dgbu-CU3.js.map +1 -0
- package/dist/{collapsible-oMUGM4tr.js → collapsible-D8AEGU1-.js} +4 -4
- package/dist/{collapsible-oMUGM4tr.js.map → collapsible-D8AEGU1-.js.map} +1 -1
- package/dist/{collection-content-Ys-OZOkY.js → collection-content-uK16Grv0.js} +3 -3
- package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-uK16Grv0.js.map} +1 -1
- package/dist/{combobox-6dvVny2q.js → combobox-2Ic8N9bL.js} +74 -68
- package/dist/combobox-2Ic8N9bL.js.map +1 -0
- package/dist/{combobox-CB7039j7.js → combobox-DLl0bfiq.js} +307 -305
- package/dist/combobox-DLl0bfiq.js.map +1 -0
- package/dist/{command-kPMPjIxJ.js → command-kNR20o7x.js} +7 -7
- package/dist/{command-kPMPjIxJ.js.map → command-kNR20o7x.js.map} +1 -1
- package/dist/{comments-You0Bzbr.js → comments-BpDuCUUu.js} +341 -339
- package/dist/comments-BpDuCUUu.js.map +1 -0
- package/dist/components/base/action-menu/action-menu.d.ts +21 -4
- package/dist/components/base/action-menu/action-menu.recipes.d.ts +21 -0
- package/dist/components/base/action-menu/index.d.ts +1 -0
- package/dist/components/base/badge/badge.recipes.d.ts +4 -4
- package/dist/components/base/batch-action-bar/batch-action-bar.d.ts +50 -0
- package/dist/components/base/batch-action-bar/batch-action-bar.strings.d.ts +20 -0
- package/dist/components/base/batch-action-bar/index.d.ts +8 -0
- package/dist/components/base/buttons/button-group.recipes.d.ts +1 -1
- package/dist/components/base/buttons/button.recipes.d.ts +2 -2
- package/dist/components/base/choice-inputs/checkbox.d.ts +2 -2
- package/dist/components/base/choice-inputs/choice-types.d.ts +18 -6
- package/dist/components/base/display/alert-dialog.d.ts +6 -5
- package/dist/components/base/display/dialog.d.ts +4 -8
- package/dist/components/base/display/icon-badge/icon-badge.d.ts +1 -1
- package/dist/components/base/forms/form-sizing.d.ts +15 -12
- package/dist/components/base/metadata-list/index.d.ts +12 -0
- package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.d.ts +28 -25
- package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-value.d.ts +2 -2
- package/dist/components/base/navigation/index.d.ts +1 -1
- package/dist/components/base/navigation/page-header/index.d.ts +1 -0
- package/dist/components/base/navigation/page-header/page-header-commands.d.ts +73 -0
- package/dist/components/base/navigation/page-header/page-header.d.ts +26 -3
- package/dist/components/base/sheet/sheet.d.ts +4 -8
- package/dist/components/base/signature-pad/signature-pad.types.d.ts +5 -1
- package/dist/components/base/signature-pad/signature-pad.utils.d.ts +11 -3
- package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
- package/dist/components/base/upload/upload.recipes.d.ts +25 -3
- package/dist/components/base/value-inputs/index.d.ts +5 -5
- package/dist/components/base/value-inputs/tags-input.d.ts +36 -12
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +2 -1
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +3 -1
- package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +6 -1
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +3 -1
- package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +16 -4
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +5 -0
- package/dist/components/blocks/commerce/fulfillment-group/index.d.ts +2 -0
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +43 -0
- package/dist/components/blocks/commerce/index.d.ts +13 -5
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +4 -2
- package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +2 -1
- package/dist/components/blocks/commerce/order-customer/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +5 -0
- package/dist/components/blocks/commerce/order-customer/types.d.ts +48 -0
- package/dist/components/blocks/commerce/order-header/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-header/order-header.d.ts +5 -0
- package/dist/components/blocks/commerce/order-header/types.d.ts +37 -0
- package/dist/components/blocks/commerce/order-line-item/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-line-item/order-line-item.d.ts +5 -0
- package/dist/components/blocks/commerce/order-line-item/types.d.ts +46 -0
- package/dist/components/blocks/commerce/order-summary/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-summary/order-summary.d.ts +5 -0
- package/dist/components/blocks/commerce/order-summary/types.d.ts +42 -0
- package/dist/components/blocks/commerce/order-transactions/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-transactions/order-transactions.d.ts +5 -0
- package/dist/components/blocks/commerce/order-transactions/types.d.ts +46 -0
- package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +9 -1
- package/dist/components/blocks/commerce/payment-method/types.d.ts +12 -1
- package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +3 -1
- package/dist/components/blocks/commerce/refund-status/types.d.ts +6 -3
- package/dist/components/blocks/commerce/shared/address-lines.d.ts +21 -0
- package/dist/components/blocks/commerce/shared/line-thumbnail.d.ts +9 -0
- package/dist/components/blocks/commerce/shared/order-status.d.ts +51 -0
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +27 -6
- package/dist/components/blocks/commerce/summary-panel/amount-row.d.ts +2 -0
- package/dist/components/blocks/commerce/summary-panel/index.d.ts +3 -0
- package/dist/components/blocks/commerce/summary-panel/summary-panel.d.ts +2 -0
- package/dist/components/blocks/commerce/summary-panel/types.d.ts +26 -0
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +2 -1
- package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
- package/dist/components/features/activities/partials/activity-row.d.ts +6 -2
- package/dist/components/features/activities/partials/tone-tokens.d.ts +0 -6
- package/dist/components/features/global-search/partials/global-search-group-heading.d.ts +15 -0
- package/dist/components/features/global-search/partials/tone-palettes.d.ts +0 -5
- package/dist/components/features/kanban/kanban.d.ts +1 -1
- package/dist/components/features/kanban/kanban.strings.d.ts +1 -1
- package/dist/components/features/kanban/kanban.types.d.ts +2 -2
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +1 -1
- package/dist/components/features/media-library/index.d.ts +1 -1
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +4 -0
- package/dist/components/features/media-library/media-library.types.d.ts +74 -1
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
- package/dist/components/features/mentions/partials/mention-kind-toggles.d.ts +16 -0
- 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/index.d.ts +1 -1
- package/dist/components/features/overlays/overlay-tone-icon.d.ts +3 -3
- package/dist/components/features/overlays/overlays.types.d.ts +20 -0
- package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
- package/dist/components/features/products/components/product-details-card.d.ts +5 -0
- package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
- package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
- package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
- package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
- package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
- package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
- package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
- package/dist/components/features/products/components/product-variant-action-menu.d.ts +23 -1
- package/dist/components/features/products/products.types.d.ts +9 -2
- package/dist/components/features/resource/index.d.ts +1 -1
- package/dist/components/features/resource/resource.d.ts +1 -1
- package/dist/components/features/resource/resource.types.d.ts +34 -6
- package/dist/components/features/rich-text-editor/index.d.ts +2 -1
- package/dist/components/features/rich-text-editor/partials/image-nodes.d.ts +13 -0
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +66 -0
- package/dist/components/features/rich-text-editor/partials/inline-reference-node.d.ts +19 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +14 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +45 -0
- package/dist/components/features/rich-text-editor/use-rich-text-images.d.ts +18 -0
- package/dist/components/features/sync/index.d.ts +26 -3
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/table.types.d.ts +32 -7
- package/dist/components/layout/page/index.d.ts +1 -1
- package/dist/components/layout/page/page.types.d.ts +33 -36
- package/dist/components/layout/page/partials/page-actions.d.ts +1 -0
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +16 -2
- package/dist/components/layout/workspace/workspace.types.d.ts +21 -4
- package/dist/components/typography/rich-text/index.d.ts +1 -1
- package/dist/components/typography/rich-text/rich-text-tree.d.ts +19 -0
- package/dist/components/typography/rich-text/rich-text.d.ts +16 -0
- package/dist/components/typography/text-link.d.ts +4 -3
- package/dist/components/ui/checkbox.d.ts +4 -3
- package/dist/components/ui/overlay.recipes.d.ts +0 -9
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/{containers-D_L4mTVb.js → containers-DmWiJa2I.js} +36 -35
- package/dist/containers-DmWiJa2I.js.map +1 -0
- package/dist/{copyable-DDjTeW_j.js → copyable-B3Gwgdqc.js} +6 -6
- package/dist/{copyable-DDjTeW_j.js.map → copyable-B3Gwgdqc.js.map} +1 -1
- package/dist/data-display-DafIvCl5.js +960 -0
- package/dist/data-display-DafIvCl5.js.map +1 -0
- package/dist/{date-uf3z37Nm.js → date-BgK3bTdo.js} +5 -5
- package/dist/{date-uf3z37Nm.js.map → date-BgK3bTdo.js.map} +1 -1
- package/dist/date-picker-CF-DtUpF.js +1529 -0
- package/dist/date-picker-CF-DtUpF.js.map +1 -0
- package/dist/{date-pickers-CnFCb0n2.js → date-pickers-BmzxJl5l.js} +19 -19
- package/dist/{date-pickers-CnFCb0n2.js.map → date-pickers-BmzxJl5l.js.map} +1 -1
- package/dist/{display-DrdvPwF0.js → display-DsQTVzMz.js} +88 -87
- package/dist/display-DsQTVzMz.js.map +1 -0
- package/dist/{dropdown-menu-CURh59jb.js → dropdown-menu-E2qmdC7o.js} +7 -7
- package/dist/{dropdown-menu-CURh59jb.js.map → dropdown-menu-E2qmdC7o.js.map} +1 -1
- package/dist/features/activities.js +414 -501
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +170 -169
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/async-preview.js +8 -8
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +139 -138
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +73 -71
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +278 -275
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +307 -310
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +95 -97
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +56 -57
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +918 -825
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +1115 -1122
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +202 -194
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +25 -25
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +77 -69
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +30 -11
- package/dist/features/rich-text-editor.js.map +1 -1
- package/dist/features/schema-form.js +33 -33
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +397 -396
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-C7nR0UtT.js → feedback-qNuMBtRH.js} +84 -83
- package/dist/feedback-qNuMBtRH.js.map +1 -0
- package/dist/{field-affordance-recipes-CkOCdE2y.js → field-affordance-recipes-qQeIf4lG.js} +8 -6
- package/dist/field-affordance-recipes-qQeIf4lG.js.map +1 -0
- package/dist/field-state-recipes-BVA2CWHo.js +12 -0
- package/dist/field-state-recipes-BVA2CWHo.js.map +1 -0
- package/dist/{filters-Da-gNPsE.js → filters-BkHH53uv.js} +565 -563
- package/dist/filters-BkHH53uv.js.map +1 -0
- package/dist/focus-recipes-B653VaLq.js +12 -0
- package/dist/focus-recipes-B653VaLq.js.map +1 -0
- package/dist/{form-field-VZRULhUK.js → form-field-DUt4UxSV.js} +4 -4
- package/dist/{form-field-VZRULhUK.js.map → form-field-DUt4UxSV.js.map} +1 -1
- package/dist/{form-sizing-uWP4lzVh.js → form-sizing-By94KzXE.js} +19 -15
- package/dist/form-sizing-By94KzXE.js.map +1 -0
- package/dist/{forms-DDeEnXSY.js → forms-Bzha-Y3B.js} +22 -22
- package/dist/{forms-DDeEnXSY.js.map → forms-Bzha-Y3B.js.map} +1 -1
- package/dist/{forms-numeric-D3CO60IF.js → forms-numeric-C0bvjRPZ.js} +265 -264
- package/dist/forms-numeric-C0bvjRPZ.js.map +1 -0
- package/dist/{header-2ycNqGOR.js → header-BOefOKd1.js} +47 -51
- package/dist/header-BOefOKd1.js.map +1 -0
- package/dist/{hooks-DQ5SPwZw.js → hooks-9k_TtmKh.js} +2 -2
- package/dist/{hooks-DQ5SPwZw.js.map → hooks-9k_TtmKh.js.map} +1 -1
- package/dist/{http-CdEIHyQf.js → http-D_6rOnzU.js} +2 -2
- package/dist/{http-CdEIHyQf.js.map → http-D_6rOnzU.js.map} +1 -1
- package/dist/icon-badge-CAuKupo9.js +55 -0
- package/dist/icon-badge-CAuKupo9.js.map +1 -0
- package/dist/index.js +7 -7
- package/dist/input-DWhBBBww.js +262 -0
- package/dist/input-DWhBBBww.js.map +1 -0
- package/dist/{input-BoLm9Hks.js → input-Ddi_LSYv.js} +3 -3
- package/dist/{input-BoLm9Hks.js.map → input-Ddi_LSYv.js.map} +1 -1
- package/dist/interaction-recipes-CHr0dJUs.js +24 -0
- package/dist/interaction-recipes-CHr0dJUs.js.map +1 -0
- package/dist/{item-xzh8Df65.js → item-DEmDiTlD.js} +98 -97
- package/dist/item-DEmDiTlD.js.map +1 -0
- package/dist/layer-recipes-CCpklYME.js +13 -0
- package/dist/layer-recipes-CCpklYME.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 +1 -1
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +10 -10
- package/dist/lib/affordance-geometry.generated.d.ts +1 -0
- package/dist/lib/field-affordance-recipes.d.ts +6 -1
- package/dist/lib/field-state-recipes.d.ts +9 -8
- package/dist/lib/focus-recipes.d.ts +24 -0
- package/dist/lib/interaction-recipes.d.ts +35 -0
- package/dist/lib/layer-recipes.d.ts +19 -0
- package/dist/lib/motion-recipes.d.ts +1 -0
- package/dist/lib/overlay-anatomy-recipes.d.ts +1 -0
- package/dist/lib/safe-image-src.d.ts +10 -0
- package/dist/lib/sanitize-html.d.ts +15 -3
- package/dist/lib/surface-recipes.d.ts +47 -7
- package/dist/lib/token-merge.generated.d.ts +9 -6
- package/dist/lib/tone-recipes.d.ts +79 -0
- package/dist/lib/ui-provider/hooks.d.ts +2 -1
- package/dist/lib/ui-provider/index.d.ts +2 -2
- package/dist/lib/ui-provider/types.d.ts +9 -0
- package/dist/lib/utils.js +1 -1
- package/dist/media-gallery-DcTtAaeC.js +203 -0
- package/dist/media-gallery-DcTtAaeC.js.map +1 -0
- package/dist/mentions-D-uyCh01.js +568 -0
- package/dist/mentions-D-uyCh01.js.map +1 -0
- package/dist/{message-YfFmbXNP.js → message-CdHgIWKf.js} +5 -5
- package/dist/{message-YfFmbXNP.js.map → message-CdHgIWKf.js.map} +1 -1
- package/dist/metadata-list-X5rYAKSB.js +394 -0
- package/dist/metadata-list-X5rYAKSB.js.map +1 -0
- package/dist/{motion-recipes-B6jKXEcN.js → motion-recipes-ChBg4HBq.js} +3 -2
- package/dist/{motion-recipes-B6jKXEcN.js.map → motion-recipes-ChBg4HBq.js.map} +1 -1
- package/dist/navigation-D3KwXmaq.js +145 -0
- package/dist/navigation-D3KwXmaq.js.map +1 -0
- package/dist/navigation-HJf5zxlH.js +268 -0
- package/dist/navigation-HJf5zxlH.js.map +1 -0
- package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BVowojQw.js} +2 -2
- package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BVowojQw.js.map} +1 -1
- package/dist/{number-CKRBYmZK.js → number-DMhe-Vsk.js} +5 -5
- package/dist/{number-CKRBYmZK.js.map → number-DMhe-Vsk.js.map} +1 -1
- package/dist/overflow-tab-bar-sQHXLlwQ.js +280 -0
- package/dist/overflow-tab-bar-sQHXLlwQ.js.map +1 -0
- package/dist/overlay.recipes-8GHqmlb4.js +6 -0
- package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
- package/dist/overlays-I0axtYA6.js +999 -0
- package/dist/overlays-I0axtYA6.js.map +1 -0
- package/dist/page-B5dTH9gE.js +224 -0
- package/dist/page-B5dTH9gE.js.map +1 -0
- package/dist/page-header-commands-DjzFEq3E.js +126 -0
- package/dist/page-header-commands-DjzFEq3E.js.map +1 -0
- package/dist/{pagination-Cm0jqa3I.js → pagination-3bPA_a6K.js} +15 -15
- package/dist/{pagination-Cm0jqa3I.js.map → pagination-3bPA_a6K.js.map} +1 -1
- package/dist/{popover-Dcv_9jxr.js → popover-Di55PyAI.js} +8 -8
- package/dist/popover-Di55PyAI.js.map +1 -0
- package/dist/{popover-menu-DnRFKnHP.js → popover-menu-B71Tn2Qz.js} +6 -6
- package/dist/{popover-menu-DnRFKnHP.js.map → popover-menu-B71Tn2Qz.js.map} +1 -1
- package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-Bdyhj2db.js} +2 -2
- package/dist/{popover.recipes-wmbvL8Ah.js.map → popover.recipes-Bdyhj2db.js.map} +1 -1
- package/dist/{primitives-BHrwQXFC.js → primitives-B-CkiEMU.js} +5 -5
- package/dist/{primitives-BHrwQXFC.js.map → primitives-B-CkiEMU.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-Br9WTFya.js → progress-rnS8-uAW.js} +9 -9
- package/dist/{progress-Br9WTFya.js.map → progress-rnS8-uAW.js.map} +1 -1
- package/dist/{receipt-CV89q1fs.js → receipt-D0oswZ0p.js} +6 -6
- package/dist/{receipt-CV89q1fs.js.map → receipt-D0oswZ0p.js.map} +1 -1
- package/dist/rich-text-DvGulsNJ.js +78 -0
- package/dist/rich-text-DvGulsNJ.js.map +1 -0
- package/dist/rich-text-editor-sMU_Scqm.js +1204 -0
- package/dist/rich-text-editor-sMU_Scqm.js.map +1 -0
- package/dist/rich-text-editor.recipes-CadiF_Uu.js +88 -0
- package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +1 -0
- package/dist/rich-text-editor.strings-CB59ekH2.js +38 -0
- package/dist/rich-text-editor.strings-CB59ekH2.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/sanitize-html-DsQmI48u.js +92 -0
- package/dist/sanitize-html-DsQmI48u.js.map +1 -0
- package/dist/scroll-area-Bt_vXY2b.js +48 -0
- package/dist/scroll-area-Bt_vXY2b.js.map +1 -0
- package/dist/{separator-Do5GWDYi.js → separator-C8DlRGwF.js} +3 -3
- package/dist/{separator-Do5GWDYi.js.map → separator-C8DlRGwF.js.map} +1 -1
- package/dist/{separator-BMEvwnSX.js → separator-CYHnjsAb.js} +2 -2
- package/dist/{separator-BMEvwnSX.js.map → separator-CYHnjsAb.js.map} +1 -1
- package/dist/services/actions/action-adapters.d.ts +18 -0
- package/dist/services/actions/index.d.ts +1 -1
- package/dist/services/actions.js +16 -4
- package/dist/services/actions.js.map +1 -1
- package/dist/settings-CQW3b-Cu.js +170 -0
- package/dist/settings-CQW3b-Cu.js.map +1 -0
- package/dist/sheet-4SEvVYzA.js +210 -0
- package/dist/sheet-4SEvVYzA.js.map +1 -0
- package/dist/{sidebar-Crc9M9JV.js → sidebar-C7WWR29L.js} +180 -179
- package/dist/sidebar-C7WWR29L.js.map +1 -0
- package/dist/{sidebar-Cb8WzOvE.js → sidebar-d7Dg80ln.js} +16 -16
- package/dist/sidebar-d7Dg80ln.js.map +1 -0
- package/dist/{skeleton-DVMXr15h.js → skeleton-Cz890JZF.js} +9 -9
- package/dist/{skeleton-DVMXr15h.js.map → skeleton-Cz890JZF.js.map} +1 -1
- package/dist/smart-card-lFKxn5Hu.js +595 -0
- package/dist/smart-card-lFKxn5Hu.js.map +1 -0
- package/dist/{spinner-CmTAbEp0.js → spinner-fa3h1Aif.js} +7 -7
- package/dist/{spinner-CmTAbEp0.js.map → spinner-fa3h1Aif.js.map} +1 -1
- package/dist/{structure-hzCW-XsV.js → structure-DC2dygdA.js} +2 -2
- package/dist/{structure-hzCW-XsV.js.map → structure-DC2dygdA.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/surface-recipes-BKRVW8Os.js +43 -0
- package/dist/surface-recipes-BKRVW8Os.js.map +1 -0
- package/dist/{table-D6zKeYQX.js → table-CIKyLUsy.js} +59 -58
- package/dist/table-CIKyLUsy.js.map +1 -0
- package/dist/table-CrcLN9Io.js +1458 -0
- package/dist/table-CrcLN9Io.js.map +1 -0
- package/dist/{tabs-Dk8E_knt.js → tabs-DwBJfjxX.js} +58 -57
- package/dist/tabs-DwBJfjxX.js.map +1 -0
- package/dist/{text-inputs-BFpku0Qd.js → text-inputs-aaK9wcDT.js} +74 -79
- package/dist/text-inputs-aaK9wcDT.js.map +1 -0
- package/dist/theme.css +3 -3
- package/dist/{timelines-CxuAFIc2.js → timelines-C_SBwHNP.js} +153 -150
- package/dist/timelines-C_SBwHNP.js.map +1 -0
- package/dist/tone-recipes-CPoExcTE.js +70 -0
- package/dist/tone-recipes-CPoExcTE.js.map +1 -0
- package/dist/tooltip-CsfgrfS7.js +111 -0
- package/dist/tooltip-CsfgrfS7.js.map +1 -0
- package/dist/{tree-BotPlyiD.js → tree-BiKhg8AY.js} +68 -66
- package/dist/tree-BiKhg8AY.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-DTRkE9zL.js +117 -0
- package/dist/typography-DTRkE9zL.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-D2_TeLqw.js → ui-provider-1D_NSYzO.js} +11 -3
- package/dist/ui-provider-1D_NSYzO.js.map +1 -0
- package/dist/ui-provider.js +3 -3
- package/dist/{upload-B0WHW7ak.js → upload-BO8-CLN6.js} +209 -209
- package/dist/upload-BO8-CLN6.js.map +1 -0
- package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-EOC8g1gf.js} +109 -111
- package/dist/upload-queue-EOC8g1gf.js.map +1 -0
- package/dist/upload.recipes-BbxTqrCT.js +61 -0
- package/dist/upload.recipes-BbxTqrCT.js.map +1 -0
- package/dist/{usage-card-U0YBLTNT.js → usage-card-obRaBskq.js} +46 -46
- package/dist/{usage-card-U0YBLTNT.js.map → usage-card-obRaBskq.js.map} +1 -1
- package/dist/{utils-Cospvlj1.js → utils-l5LpDw2z.js} +56 -24
- package/dist/utils-l5LpDw2z.js.map +1 -0
- package/dist/value-inputs-TAYMX111.js +947 -0
- package/dist/value-inputs-TAYMX111.js.map +1 -0
- package/dist/{value-typography-Deb3yQZg.js → value-typography-b8wpz1eX.js} +2 -2
- package/dist/{value-typography-Deb3yQZg.js.map → value-typography-b8wpz1eX.js.map} +1 -1
- package/dist/workspace-DH0v0KcB.js +407 -0
- package/dist/workspace-DH0v0KcB.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +19 -20
- package/docs/consumer-skill/examples/app-layout.tsx +1 -1
- package/docs/consumer-skill/examples/composition.tsx +3 -3
- package/docs/consumer-skill/examples/detail.tsx +59 -12
- package/docs/consumer-skill/examples/edit.tsx +1 -1
- package/docs/consumer-skill/examples/receipt.tsx +2 -2
- package/docs/consumer-skill/examples/scoped-directory.tsx +1 -1
- package/docs/consumer-skill/examples/website.tsx +1 -1
- package/docs/consumer-skill/references/agents-md.md +33 -0
- package/docs/consumer-skill/references/analytics.md +1 -1
- package/docs/consumer-skill/references/composition.md +51 -8
- package/docs/consumer-skill/references/design-contract.md +12 -3
- package/docs/consumer-skill/references/installation.md +11 -1
- package/docs/consumer-skill/references/public-api.json +847 -447
- package/docs/consumer-skill/references/review.md +25 -5
- package/docs/consumer-skill/references/theming.md +8 -4
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +29 -10
- package/docs/consumer-skill/scripts/composition-policy.mjs +41 -11
- package/docs/consumer-skill/scripts/surface-policy.mjs +139 -5
- package/package.json +10 -2
- package/dist/accordion-CQXVcd7Q.js.map +0 -1
- package/dist/action-menu-BTpyPWJ2.js +0 -264
- package/dist/action-menu-BTpyPWJ2.js.map +0 -1
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
- package/dist/ai-artifact-2PQ2fItc.js.map +0 -1
- package/dist/attachment-q69dlt5Y.js +0 -244
- package/dist/attachment-q69dlt5Y.js.map +0 -1
- package/dist/auth-M3vGMgDR.js.map +0 -1
- package/dist/avatar-djdaaQ_s.js.map +0 -1
- package/dist/badge-0tATj-tW.js +0 -92
- package/dist/badge-0tATj-tW.js.map +0 -1
- package/dist/breadcrumbs-BG_FfMK4.js +0 -128
- package/dist/breadcrumbs-BG_FfMK4.js.map +0 -1
- package/dist/button-BS3KDg00.js.map +0 -1
- package/dist/button-R9CCoH7A.js.map +0 -1
- package/dist/buttons-DS0ZIwJ_.js +0 -99
- package/dist/buttons-DS0ZIwJ_.js.map +0 -1
- package/dist/cards-QoJ4syG9.js.map +0 -1
- package/dist/checkbox-B7ygNTYp.js +0 -35
- package/dist/checkbox-B7ygNTYp.js.map +0 -1
- package/dist/choice-inputs-DrJ17tpL.js +0 -752
- package/dist/choice-inputs-DrJ17tpL.js.map +0 -1
- package/dist/code-block-CD0B7M93.js +0 -183
- package/dist/code-block-CD0B7M93.js.map +0 -1
- package/dist/combobox-6dvVny2q.js.map +0 -1
- package/dist/combobox-CB7039j7.js.map +0 -1
- package/dist/comments-You0Bzbr.js.map +0 -1
- package/dist/components/layout/page/partials/page-header-commands.d.ts +0 -13
- package/dist/containers-D_L4mTVb.js.map +0 -1
- package/dist/data-display-3xWQUnMA.js +0 -1335
- package/dist/data-display-3xWQUnMA.js.map +0 -1
- package/dist/date-picker-DrDFj8Lo.js +0 -1527
- package/dist/date-picker-DrDFj8Lo.js.map +0 -1
- package/dist/display-DrdvPwF0.js.map +0 -1
- package/dist/feedback-C7nR0UtT.js.map +0 -1
- package/dist/field-affordance-recipes-CkOCdE2y.js.map +0 -1
- package/dist/field-state-recipes-C-MFBX_8.js +0 -11
- package/dist/field-state-recipes-C-MFBX_8.js.map +0 -1
- package/dist/filters-Da-gNPsE.js.map +0 -1
- package/dist/form-sizing-uWP4lzVh.js.map +0 -1
- package/dist/forms-numeric-D3CO60IF.js.map +0 -1
- package/dist/header-2ycNqGOR.js.map +0 -1
- package/dist/icon-badge-DKlaKXoo.js +0 -53
- package/dist/icon-badge-DKlaKXoo.js.map +0 -1
- package/dist/input-DhQdBnV3.js +0 -255
- package/dist/input-DhQdBnV3.js.map +0 -1
- package/dist/item-xzh8Df65.js.map +0 -1
- package/dist/media-gallery-DQUQ0m3O.js +0 -201
- package/dist/media-gallery-DQUQ0m3O.js.map +0 -1
- package/dist/mentions-DwnO1hh4.js +0 -564
- package/dist/mentions-DwnO1hh4.js.map +0 -1
- package/dist/navigation-Cbp5V8gG.js +0 -264
- package/dist/navigation-Cbp5V8gG.js.map +0 -1
- package/dist/navigation-Cs1npsPm.js +0 -300
- package/dist/navigation-Cs1npsPm.js.map +0 -1
- package/dist/overlay.recipes-CNO2S9V6.js +0 -34
- package/dist/overlay.recipes-CNO2S9V6.js.map +0 -1
- package/dist/overlays-DhZO7N-I.js +0 -994
- package/dist/overlays-DhZO7N-I.js.map +0 -1
- package/dist/page-C6R_8jFt.js +0 -325
- package/dist/page-C6R_8jFt.js.map +0 -1
- package/dist/page-header-hUTzcRZX.js +0 -112
- package/dist/page-header-hUTzcRZX.js.map +0 -1
- package/dist/popover-Dcv_9jxr.js.map +0 -1
- package/dist/rich-text-editor-CF8QYt5p.js +0 -574
- package/dist/rich-text-editor-CF8QYt5p.js.map +0 -1
- package/dist/rich-text-editor.recipes-CnrbmTS1.js +0 -81
- package/dist/rich-text-editor.recipes-CnrbmTS1.js.map +0 -1
- package/dist/rich-text-editor.strings-BpnIQgMl.js +0 -25
- package/dist/rich-text-editor.strings-BpnIQgMl.js.map +0 -1
- package/dist/rich-text-j-FGAeZW.js +0 -32
- package/dist/rich-text-j-FGAeZW.js.map +0 -1
- package/dist/sanitize-html-BG9FGe-j.js +0 -64
- package/dist/sanitize-html-BG9FGe-j.js.map +0 -1
- package/dist/scroll-area-DRdr16Pt.js +0 -47
- package/dist/scroll-area-DRdr16Pt.js.map +0 -1
- package/dist/settings-DHk0L2MF.js +0 -161
- package/dist/settings-DHk0L2MF.js.map +0 -1
- package/dist/sheet-DRFNY1_D.js +0 -207
- package/dist/sheet-DRFNY1_D.js.map +0 -1
- package/dist/sidebar-Cb8WzOvE.js.map +0 -1
- package/dist/sidebar-Crc9M9JV.js.map +0 -1
- package/dist/smart-card-Bek-TwUp.js +0 -599
- package/dist/smart-card-Bek-TwUp.js.map +0 -1
- package/dist/surface-recipes-DOdoBXGm.js +0 -28
- package/dist/surface-recipes-DOdoBXGm.js.map +0 -1
- package/dist/table-D6zKeYQX.js.map +0 -1
- package/dist/table-Dn4XSrSB.js +0 -1444
- package/dist/table-Dn4XSrSB.js.map +0 -1
- package/dist/tabs-Dk8E_knt.js.map +0 -1
- package/dist/text-inputs-BFpku0Qd.js.map +0 -1
- package/dist/timelines-CxuAFIc2.js.map +0 -1
- package/dist/tree-BotPlyiD.js.map +0 -1
- package/dist/typography-CAr3dQhX.js +0 -116
- package/dist/typography-CAr3dQhX.js.map +0 -1
- package/dist/ui-provider-D2_TeLqw.js.map +0 -1
- package/dist/upload-B0WHW7ak.js.map +0 -1
- package/dist/upload-queue-BHZ_wBfd.js.map +0 -1
- package/dist/use-file-drop-target-BX7GnhoQ.js +0 -39
- package/dist/use-file-drop-target-BX7GnhoQ.js.map +0 -1
- package/dist/utils-Cospvlj1.js.map +0 -1
- package/dist/value-inputs-CjfzGMsN.js +0 -854
- package/dist/value-inputs-CjfzGMsN.js.map +0 -1
- package/dist/workspace-YoFjXi6i.js +0 -394
- package/dist/workspace-YoFjXi6i.js.map +0 -1
- /package/dist/components/{blocks/data-display/metadata → base/metadata-list}/metadata-list.strings.d.ts +0 -0
|
@@ -1,39 +1,40 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { o as e, s as t, v as n } from "./ui-provider-1D_NSYzO.js";
|
|
3
3
|
import { useStrings as r } from "./lib/strings.js";
|
|
4
|
-
import { t as i } from "./utils-
|
|
5
|
-
import { a, s as o } from "./typography-
|
|
6
|
-
import { t as s } from "./structure-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
4
|
+
import { t as i } from "./utils-l5LpDw2z.js";
|
|
5
|
+
import { a, s as o } from "./typography-DTRkE9zL.js";
|
|
6
|
+
import { t as s } from "./structure-DC2dygdA.js";
|
|
7
|
+
import { r as c } from "./tone-recipes-CPoExcTE.js";
|
|
8
|
+
import { t as l } from "./smart-card-lFKxn5Hu.js";
|
|
9
|
+
import { s as u } from "./date-BgK3bTdo.js";
|
|
10
|
+
import { t as d } from "./badge-MrKVNzW9.js";
|
|
11
|
+
import { forwardRef as f, useId as p } from "react";
|
|
12
|
+
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
13
|
+
import { CheckCircle2 as _, XCircle as v } from "lucide-react";
|
|
14
|
+
import { format as y } from "date-fns";
|
|
14
15
|
//#region src/components/base/display/placeholder-pattern.tsx
|
|
15
|
-
function
|
|
16
|
-
let t =
|
|
17
|
-
return /* @__PURE__ */
|
|
16
|
+
function b({ className: e }) {
|
|
17
|
+
let t = p();
|
|
18
|
+
return /* @__PURE__ */ g("svg", {
|
|
18
19
|
className: i("placeholder-pattern--component", e),
|
|
19
20
|
fill: "none",
|
|
20
21
|
stroke: "currentColor",
|
|
21
22
|
"aria-hidden": "true",
|
|
22
|
-
children: [/* @__PURE__ */
|
|
23
|
+
children: [/* @__PURE__ */ h("defs", { children: /* @__PURE__ */ h("pattern", {
|
|
23
24
|
id: t,
|
|
24
25
|
x: "0",
|
|
25
26
|
y: "0",
|
|
26
27
|
width: "10",
|
|
27
28
|
height: "10",
|
|
28
29
|
patternUnits: "userSpaceOnUse",
|
|
29
|
-
children: /* @__PURE__ */
|
|
30
|
+
children: /* @__PURE__ */ h("path", {
|
|
30
31
|
d: "M-3 13 15-5M-5 5l18-18M-1 21 17 3",
|
|
31
32
|
stroke: "currentColor",
|
|
32
33
|
strokeWidth: "0.75",
|
|
33
34
|
strokeLinecap: "square",
|
|
34
35
|
vectorEffect: "non-scaling-stroke"
|
|
35
36
|
})
|
|
36
|
-
}) }), /* @__PURE__ */
|
|
37
|
+
}) }), /* @__PURE__ */ h("rect", {
|
|
37
38
|
stroke: "none",
|
|
38
39
|
fill: `url(#${t})`,
|
|
39
40
|
width: "100%",
|
|
@@ -41,72 +42,72 @@ function y({ className: e }) {
|
|
|
41
42
|
})]
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
+
b.displayName = "PlaceholderPattern";
|
|
45
46
|
//#endregion
|
|
46
47
|
//#region src/components/base/display/visually-hidden.tsx
|
|
47
|
-
function
|
|
48
|
-
let n = typeof e == "string" || typeof e == "number" || typeof e == "bigint" ? /* @__PURE__ */
|
|
48
|
+
function x({ children: e, className: t }) {
|
|
49
|
+
let n = typeof e == "string" || typeof e == "number" || typeof e == "bigint" ? /* @__PURE__ */ h(o, {
|
|
49
50
|
tag: "span",
|
|
50
51
|
size: "inherit",
|
|
51
52
|
lineHeight: "none",
|
|
52
53
|
className: "text-inherit",
|
|
53
54
|
children: e
|
|
54
55
|
}) : e;
|
|
55
|
-
return /* @__PURE__ */
|
|
56
|
+
return /* @__PURE__ */ h("span", {
|
|
56
57
|
className: i("visually-hidden--component", "absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", "[clip:rect(0,0,0,0)]", t),
|
|
57
58
|
children: n
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
x.displayName = "VisuallyHidden";
|
|
61
62
|
//#endregion
|
|
62
63
|
//#region src/components/base/display/date-block.tsx
|
|
63
|
-
var
|
|
64
|
+
var S = {
|
|
64
65
|
separator: "·",
|
|
65
66
|
unavailableLabel: "Date unavailable"
|
|
66
|
-
},
|
|
67
|
+
}, C = {
|
|
67
68
|
neutral: {
|
|
68
69
|
frame: "border-border bg-card",
|
|
69
|
-
header: "border-border/
|
|
70
|
+
header: "border-border/60 bg-muted/50 text-foreground",
|
|
70
71
|
primary: "text-foreground",
|
|
71
72
|
secondary: "text-muted-foreground"
|
|
72
73
|
},
|
|
73
74
|
secondary: {
|
|
74
75
|
frame: "border-border bg-muted/30",
|
|
75
|
-
header: "border-border/
|
|
76
|
+
header: "border-border/60 bg-muted text-foreground",
|
|
76
77
|
primary: "text-foreground",
|
|
77
78
|
secondary: "text-muted-foreground"
|
|
78
79
|
},
|
|
79
80
|
primary: {
|
|
80
|
-
frame:
|
|
81
|
-
header:
|
|
81
|
+
frame: `${c.primary.edge} ${c.primary.wash}`,
|
|
82
|
+
header: `${c.primary.edge} ${c.primary.tint} ${c.primary.ink}`,
|
|
82
83
|
primary: "text-foreground",
|
|
83
84
|
secondary: "text-muted-foreground"
|
|
84
85
|
},
|
|
85
86
|
destructive: {
|
|
86
|
-
frame:
|
|
87
|
-
header:
|
|
87
|
+
frame: `${c.destructive.edge} ${c.destructive.wash}`,
|
|
88
|
+
header: `${c.destructive.edge} ${c.destructive.tint} ${c.destructive.ink}`,
|
|
88
89
|
primary: "text-foreground",
|
|
89
90
|
secondary: "text-muted-foreground"
|
|
90
91
|
},
|
|
91
92
|
info: {
|
|
92
|
-
frame:
|
|
93
|
-
header:
|
|
93
|
+
frame: `${c.info.edge} ${c.info.wash}`,
|
|
94
|
+
header: `${c.info.edge} ${c.info.tint} ${c.info.ink}`,
|
|
94
95
|
primary: "text-foreground",
|
|
95
96
|
secondary: "text-muted-foreground"
|
|
96
97
|
},
|
|
97
98
|
success: {
|
|
98
|
-
frame:
|
|
99
|
-
header:
|
|
99
|
+
frame: `${c.success.edge} ${c.success.wash}`,
|
|
100
|
+
header: `${c.success.edge} ${c.success.tint} ${c.success.ink}`,
|
|
100
101
|
primary: "text-foreground",
|
|
101
102
|
secondary: "text-muted-foreground"
|
|
102
103
|
},
|
|
103
104
|
warning: {
|
|
104
|
-
frame:
|
|
105
|
-
header:
|
|
105
|
+
frame: `${c.warning.edge} ${c.warning.wash}`,
|
|
106
|
+
header: `${c.warning.edge} ${c.warning.tint} ${c.warning.ink}`,
|
|
106
107
|
primary: "text-foreground",
|
|
107
108
|
secondary: "text-muted-foreground"
|
|
108
109
|
}
|
|
109
|
-
},
|
|
110
|
+
}, w = {
|
|
110
111
|
default: {
|
|
111
112
|
frame: "",
|
|
112
113
|
header: "",
|
|
@@ -115,7 +116,7 @@ var x = {
|
|
|
115
116
|
},
|
|
116
117
|
muted: {
|
|
117
118
|
frame: "border-border bg-muted/30",
|
|
118
|
-
header: "border-border/
|
|
119
|
+
header: "border-border/60 bg-muted text-foreground",
|
|
119
120
|
primary: "text-foreground",
|
|
120
121
|
secondary: "text-muted-foreground"
|
|
121
122
|
},
|
|
@@ -125,7 +126,7 @@ var x = {
|
|
|
125
126
|
primary: "text-inverse-foreground",
|
|
126
127
|
secondary: "text-inverse-muted"
|
|
127
128
|
}
|
|
128
|
-
},
|
|
129
|
+
}, T = {
|
|
129
130
|
sm: {
|
|
130
131
|
frame: "w-12",
|
|
131
132
|
header: "px-control-xs py-space-2xs",
|
|
@@ -141,7 +142,7 @@ var x = {
|
|
|
141
142
|
header: "px-control py-space-sm",
|
|
142
143
|
body: "min-h-control-lg px-control py-space-md"
|
|
143
144
|
}
|
|
144
|
-
},
|
|
145
|
+
}, E = {
|
|
145
146
|
sm: {
|
|
146
147
|
gap: "gap-space-sm",
|
|
147
148
|
padding: "px-control-xs py-space-xs"
|
|
@@ -155,68 +156,68 @@ var x = {
|
|
|
155
156
|
padding: "px-control py-space-md"
|
|
156
157
|
}
|
|
157
158
|
};
|
|
158
|
-
function
|
|
159
|
+
function ee(e) {
|
|
159
160
|
return e != null && e !== "";
|
|
160
161
|
}
|
|
161
162
|
function D(e) {
|
|
162
163
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
163
164
|
}
|
|
164
|
-
function O({ date: a, time: s, dateTime: c, locale:
|
|
165
|
-
let I =
|
|
165
|
+
function O({ date: a, time: s, dateTime: c, locale: l, layout: d = "stacked", timePlacement: f, tone: p = "neutral", variant: _ = "default", size: v, boxed: b, showWeekday: x = !0, showMonth: O = !0, showYear: k = !1, emptyLabel: A = "—", dayFormat: j = "d", weekdayFormat: M = "EEE", monthFormat: N = "MMM", yearFormat: te = "yyyy", className: P, strings: ne, "aria-label": re, ...F }) {
|
|
166
|
+
let I = e(), { defaultScale: L } = t(), R = n(v, L), z = l ?? I.locale, B = r(S, ne), V = u(a), H = C[p], U = w[_], W = b ?? d === "stacked", G = f ?? (d === "inline" ? "inline" : "below"), K = ee(s) && G !== "hidden", q = z ? { locale: z } : void 0, J = V ? y(V, M, q) : null, Y = V ? y(V, j, q) : null, X = V ? y(V, N, q) : null, Z = V ? y(V, te, q) : null, Q = c ?? (V ? y(V, "yyyy-MM-dd") : void 0), $ = re ?? (V ? void 0 : B.unavailableLabel);
|
|
166
167
|
if (d === "inline") {
|
|
167
|
-
let e = /* @__PURE__ */
|
|
168
|
-
className: i("date-block--frame inline-flex min-w-0 items-center rounded-radius tabular-nums",
|
|
169
|
-
children: V ? /* @__PURE__ */
|
|
170
|
-
!!
|
|
168
|
+
let e = /* @__PURE__ */ h("span", {
|
|
169
|
+
className: i("date-block--frame inline-flex min-w-0 items-center rounded-radius tabular-nums", E[R].gap, W && i("border", E[R].padding, H.frame, U.frame)),
|
|
170
|
+
children: V ? /* @__PURE__ */ g(m, { children: [
|
|
171
|
+
!!x && /* @__PURE__ */ h(o, {
|
|
171
172
|
tag: "span",
|
|
172
173
|
size: "xs",
|
|
173
174
|
weight: "medium",
|
|
174
175
|
className: i("date-block--weekday", H.secondary, U.secondary),
|
|
175
176
|
children: J
|
|
176
177
|
}),
|
|
177
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ h(o, {
|
|
178
179
|
tag: "span",
|
|
179
180
|
weight: "semibold",
|
|
180
181
|
className: i("date-block--day", H.primary, U.primary),
|
|
181
182
|
children: Y
|
|
182
183
|
}),
|
|
183
|
-
(
|
|
184
|
+
(O || k) && /* @__PURE__ */ h(o, {
|
|
184
185
|
tag: "span",
|
|
185
186
|
size: "xs",
|
|
186
187
|
type: "secondary",
|
|
187
188
|
className: i("date-block--month-year", H.secondary, U.secondary),
|
|
188
|
-
children: [
|
|
189
|
+
children: [O ? X : null, k ? Z : null].filter(Boolean).join(" ")
|
|
189
190
|
}),
|
|
190
|
-
K && G === "inline" && /* @__PURE__ */
|
|
191
|
+
K && G === "inline" && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, {
|
|
191
192
|
tag: "span",
|
|
192
193
|
size: "xs",
|
|
193
194
|
className: i(H.secondary, U.secondary),
|
|
194
195
|
"aria-hidden": !0,
|
|
195
196
|
children: B.separator
|
|
196
|
-
}), D(s) ? /* @__PURE__ */
|
|
197
|
+
}), D(s) ? /* @__PURE__ */ h(o, {
|
|
197
198
|
tag: "span",
|
|
198
199
|
size: "xs",
|
|
199
200
|
weight: "medium",
|
|
200
201
|
className: i("date-block--time tabular-nums", H.primary, U.primary),
|
|
201
202
|
children: s
|
|
202
203
|
}) : s] })
|
|
203
|
-
] }) : D(
|
|
204
|
+
] }) : D(A) ? /* @__PURE__ */ h(o, {
|
|
204
205
|
tag: "span",
|
|
205
206
|
type: "secondary",
|
|
206
207
|
className: i("date-block--empty", H.secondary, U.secondary),
|
|
207
|
-
children:
|
|
208
|
-
}) :
|
|
208
|
+
children: A
|
|
209
|
+
}) : A
|
|
209
210
|
});
|
|
210
|
-
return /* @__PURE__ */
|
|
211
|
+
return /* @__PURE__ */ g("time", {
|
|
211
212
|
dateTime: Q,
|
|
212
213
|
"aria-label": $,
|
|
213
214
|
"data-layout": d,
|
|
214
215
|
"data-size": R,
|
|
215
|
-
"data-tone":
|
|
216
|
+
"data-tone": p,
|
|
216
217
|
"data-variant": _,
|
|
217
218
|
className: i("date-block--component inline-flex min-w-0", G === "below" ? "flex-col items-start gap-space-xs" : "items-center", P),
|
|
218
219
|
...F,
|
|
219
|
-
children: [e, K && G === "below" && (D(s) ? /* @__PURE__ */
|
|
220
|
+
children: [e, K && G === "below" && (D(s) ? /* @__PURE__ */ h(o, {
|
|
220
221
|
tag: "span",
|
|
221
222
|
size: "xs",
|
|
222
223
|
type: "secondary",
|
|
@@ -225,48 +226,48 @@ function O({ date: a, time: s, dateTime: c, locale: u, layout: d = "stacked", ti
|
|
|
225
226
|
}) : s)]
|
|
226
227
|
});
|
|
227
228
|
}
|
|
228
|
-
let ie = /* @__PURE__ */
|
|
229
|
-
className: i("date-block--frame inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums",
|
|
230
|
-
children: [V &&
|
|
229
|
+
let ie = /* @__PURE__ */ g("span", {
|
|
230
|
+
className: i("date-block--frame inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums", T[R].frame, W && i("border", H.frame, U.frame)),
|
|
231
|
+
children: [V && x && /* @__PURE__ */ h(o, {
|
|
231
232
|
tag: "span",
|
|
232
233
|
size: "xs",
|
|
233
234
|
weight: "medium",
|
|
234
235
|
lineHeight: "tight",
|
|
235
|
-
className: i("date-block--weekday block text-center",
|
|
236
|
+
className: i("date-block--weekday block text-center", T[R].header, W ? i("border-b", H.header, U.header) : i(H.secondary, U.secondary)),
|
|
236
237
|
children: J
|
|
237
|
-
}), /* @__PURE__ */
|
|
238
|
-
className: i("date-block--body flex flex-col items-center justify-center gap-space-2xs text-center",
|
|
239
|
-
children: V ? /* @__PURE__ */
|
|
238
|
+
}), /* @__PURE__ */ h("span", {
|
|
239
|
+
className: i("date-block--body flex flex-col items-center justify-center gap-space-2xs text-center", T[R].body),
|
|
240
|
+
children: V ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(o, {
|
|
240
241
|
tag: "span",
|
|
241
242
|
size: R === "sm" ? "sm" : R === "lg" ? "lg" : "base",
|
|
242
243
|
weight: "semibold",
|
|
243
244
|
lineHeight: "none",
|
|
244
245
|
className: i("date-block--day", H.primary, U.primary),
|
|
245
246
|
children: Y
|
|
246
|
-
}), (
|
|
247
|
+
}), (O || k) && /* @__PURE__ */ h(o, {
|
|
247
248
|
tag: "span",
|
|
248
249
|
size: "xs",
|
|
249
250
|
lineHeight: "tight",
|
|
250
251
|
className: i("date-block--month-year", H.secondary, U.secondary),
|
|
251
|
-
children: [
|
|
252
|
-
})] }) : D(
|
|
252
|
+
children: [O ? X : null, k ? Z : null].filter(Boolean).join(" ")
|
|
253
|
+
})] }) : D(A) ? /* @__PURE__ */ h(o, {
|
|
253
254
|
tag: "span",
|
|
254
255
|
type: "secondary",
|
|
255
256
|
className: i("date-block--empty", H.secondary, U.secondary),
|
|
256
|
-
children:
|
|
257
|
-
}) :
|
|
257
|
+
children: A
|
|
258
|
+
}) : A
|
|
258
259
|
})]
|
|
259
260
|
});
|
|
260
|
-
return /* @__PURE__ */
|
|
261
|
+
return /* @__PURE__ */ g("time", {
|
|
261
262
|
dateTime: Q,
|
|
262
263
|
"aria-label": $,
|
|
263
264
|
"data-layout": d,
|
|
264
265
|
"data-size": R,
|
|
265
|
-
"data-tone":
|
|
266
|
+
"data-tone": p,
|
|
266
267
|
"data-variant": _,
|
|
267
268
|
className: i("date-block--component inline-flex", K && G === "inline" ? "flex-row items-center gap-space-sm" : "flex-col items-center gap-space-xs", P),
|
|
268
269
|
...F,
|
|
269
|
-
children: [ie, K && (D(s) ? /* @__PURE__ */
|
|
270
|
+
children: [ie, K && (D(s) ? /* @__PURE__ */ h(o, {
|
|
270
271
|
tag: "span",
|
|
271
272
|
size: "xs",
|
|
272
273
|
type: "secondary",
|
|
@@ -279,11 +280,11 @@ O.displayName = "DateBlock";
|
|
|
279
280
|
//#endregion
|
|
280
281
|
//#region src/components/base/display/content-block.strings.ts
|
|
281
282
|
var k = {
|
|
282
|
-
actionsLabel: "
|
|
283
|
+
actionsLabel: "More actions",
|
|
283
284
|
tooltipLabel: "More information"
|
|
284
|
-
}, A =
|
|
285
|
+
}, A = f(function({ padding: e, surface: t, strings: n, className: a, headerClassName: o, contentClassName: s, footerClassName: c, ...u }, d) {
|
|
285
286
|
let f = r(k, n);
|
|
286
|
-
return /* @__PURE__ */
|
|
287
|
+
return /* @__PURE__ */ h(l, {
|
|
287
288
|
...u,
|
|
288
289
|
ref: d,
|
|
289
290
|
surface: t ?? "flat",
|
|
@@ -295,7 +296,7 @@ var k = {
|
|
|
295
296
|
className: i("content-block--component", a),
|
|
296
297
|
headerClassName: i("content-block--header", o),
|
|
297
298
|
contentClassName: i("content-block--content", s),
|
|
298
|
-
footerClassName: i("content-block--footer",
|
|
299
|
+
footerClassName: i("content-block--footer", c)
|
|
299
300
|
});
|
|
300
301
|
});
|
|
301
302
|
A.displayName = "ContentBlock";
|
|
@@ -308,24 +309,24 @@ var j = {
|
|
|
308
309
|
function M(e) {
|
|
309
310
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
310
311
|
}
|
|
311
|
-
var N =
|
|
312
|
-
let b = r(j, p), x = !!t, S = x ?
|
|
313
|
-
return /* @__PURE__ */
|
|
312
|
+
var N = f(function({ label: e, value: t = !1, showIcon: n = !0, trueTone: c = "success", falseTone: l = "secondary", className: u, badgeClassName: f, strings: p, ...m }, y) {
|
|
313
|
+
let b = r(j, p), x = !!t, S = x ? _ : v, C = x ? c : l, w = x ? b.true : b.false;
|
|
314
|
+
return /* @__PURE__ */ g(s, {
|
|
314
315
|
ref: y,
|
|
315
316
|
direction: "horizontal",
|
|
316
317
|
align: "center",
|
|
317
318
|
gap: "md",
|
|
318
319
|
justify: "between",
|
|
319
320
|
wrap: !1,
|
|
320
|
-
className: i("boolean-indicator--component", "min-w-0 px-row-x py-row-y",
|
|
321
|
-
...
|
|
322
|
-
children: [M(e) ? /* @__PURE__ */
|
|
321
|
+
className: i("boolean-indicator--component", "min-w-0 px-row-x py-row-y", u),
|
|
322
|
+
...m,
|
|
323
|
+
children: [M(e) ? /* @__PURE__ */ h(a, {
|
|
323
324
|
className: "min-w-0 wrap-anywhere",
|
|
324
325
|
children: e
|
|
325
|
-
}) : e, /* @__PURE__ */
|
|
326
|
+
}) : e, /* @__PURE__ */ g(d, {
|
|
326
327
|
tone: C,
|
|
327
328
|
className: i("shrink-0 whitespace-nowrap", f),
|
|
328
|
-
children: [!!n && /* @__PURE__ */
|
|
329
|
+
children: [!!n && /* @__PURE__ */ h(S, { className: "size-icon-sm" }), M(w) ? /* @__PURE__ */ h(o, {
|
|
329
330
|
tag: "span",
|
|
330
331
|
size: "inherit",
|
|
331
332
|
weight: "medium",
|
|
@@ -338,6 +339,6 @@ var N = d(function({ label: e, value: t = !1, showIcon: n = !0, trueTone: c = "s
|
|
|
338
339
|
});
|
|
339
340
|
N.displayName = "BooleanIndicator";
|
|
340
341
|
//#endregion
|
|
341
|
-
export {
|
|
342
|
+
export { S as a, O as i, A as n, x as o, k as r, b as s, N as t };
|
|
342
343
|
|
|
343
|
-
//# sourceMappingURL=display-
|
|
344
|
+
//# sourceMappingURL=display-DsQTVzMz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-DsQTVzMz.js","names":["isSimpleText","_Fragment","useDatesConfig","useDensityConfig","resolveComponentScale","cn","Text","Stack","toneRecipes","Card","parseDateInput","Badge","Fragment$1","PlaceholderPattern","patternId","useId","className","VisuallyHidden","content","children","defaultDateBlockStrings","toneClassMap","variantClassMap","stackedSizeClass","inlineSizeClass","hasContent","value","isSimpleText$1","DateBlock","localeProp","sizeProp","stringsProp","ariaLabel","props","dates","size","defaultScale","locale","strings","useStrings","resolved","date","tones","tone","variants","variant","useBox","boxed","layout","resolvedTimePlacement","timePlacement","showsTime","time","formatOptions","weekday","format","weekdayFormat","day","dayFormat","month","monthFormat","year","yearFormat","machineValue","dateTime","resolvedAriaLabel","dateRow","showWeekday","showMonth","showYear","emptyLabel","tile","defaultContentBlockStrings","ContentBlock","forwardRef","surface","padding","headerClassName","contentClassName","footerClassName","defaultBooleanIndicatorStrings","isSimpleText","BooleanIndicator","isTrue","Icon","CheckCircle2","XCircle","badgeTone","trueTone","falseTone","label","DisplayLabel","badgeClassName","showIcon"],"sources":["../src/components/base/display/placeholder-pattern.tsx","../src/components/base/display/visually-hidden.tsx","../src/components/base/display/date-block.tsx","../src/components/base/display/content-block.strings.ts","../src/components/base/display/content-block.tsx","../src/components/base/display/boolean-indicator.tsx"],"sourcesContent":["/**\n * PlaceholderPattern — diagonal-stripe SVG fill suitable as a skeleton or\n * empty-region indicator. Uses a unique pattern id per instance so multiple\n * copies on the same page don't collide.\n */\nimport { useId } from 'react';\n\nimport { cn } from '../../../lib/utils';\nexport interface PlaceholderPatternProps {\n\tclassName?: string;\n}\n\nexport function PlaceholderPattern({ className }: PlaceholderPatternProps) {\n\tconst patternId = useId();\n\n\treturn (\n\t\t<svg\n\t\t\tclassName={cn('placeholder-pattern--component', className)}\n\t\t\tfill=\"none\"\n\t\t\tstroke=\"currentColor\"\n\t\t\taria-hidden=\"true\"\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<pattern\n\t\t\t\t\tid={patternId}\n\t\t\t\t\tx=\"0\"\n\t\t\t\t\ty=\"0\"\n\t\t\t\t\twidth=\"10\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\tpatternUnits=\"userSpaceOnUse\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M-3 13 15-5M-5 5l18-18M-1 21 17 3\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\tstrokeWidth=\"0.75\"\n\t\t\t\t\t\tstrokeLinecap=\"square\"\n\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t/>\n\t\t\t\t</pattern>\n\t\t\t</defs>\n\t\t\t<rect\n\t\t\t\tstroke=\"none\"\n\t\t\t\tfill={`url(#${patternId})`}\n\t\t\t\twidth=\"100%\"\n\t\t\t\theight=\"100%\"\n\t\t\t/>\n\t\t</svg>\n\t);\n}\n\nPlaceholderPattern.displayName = 'PlaceholderPattern';\n\n","/**\n * VisuallyHidden — hides content from sighted users while keeping it readable\n * by assistive tech (screen readers, voice). Use to label icon-only buttons,\n * give context to status changes, or expose extra structure for AT users.\n */\nimport * as React from 'react';\n\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\n\nexport interface VisuallyHiddenProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport function VisuallyHidden({ children, className }: VisuallyHiddenProps) {\n\tconst content =\n\t\ttypeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t)\n\t\t\t: children;\n\n\treturn (\n\t\t<span\n\t\t\tclassName={cn('visually-hidden--component', \n\t\t\t\t'absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0',\n\t\t\t\t'[clip:rect(0,0,0,0)]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{content}\n\t\t</span>\n\t);\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden';\n","/**\n * DateBlock — a semantic calendar tile for event, schedule, and timeline rows.\n *\n * The stacked layout owns a compact fixed-format tile; the inline layout is a\n * lower-emphasis date stamp. Both share locale resolution, machine-readable\n * `<time>` semantics, size/tone variants, optional year display, and flexible\n * time metadata (including time ranges supplied as consumer content).\n */\nimport { format, type Locale } from 'date-fns';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport {\n\tparseDateInput,\n\ttype DateInput,\n} from '../../primitives';\nimport { Text } from '../../typography';\nimport {\n\ttype ComponentScale,\n\tuseDatesConfig,\n\tuseDensityConfig,\n} from '../../../lib/ui-provider';\nimport { resolveComponentScale } from '../../../lib/ui-provider/scale';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\nimport type { SemanticTone } from '../../../lib/component-vocabulary';\nimport { toneRecipes } from '../../../lib/tone-recipes';\n\nexport type DateBlockLayout = 'stacked' | 'inline';\nexport type DateBlockTimePlacement = 'inline' | 'below' | 'hidden';\nexport type DateBlockTone = SemanticTone;\nexport type DateBlockVariant = 'default' | 'muted' | 'inverse';\nexport type DateBlockSize = ComponentScale;\n\nexport interface DateBlockStrings {\n\t/** Separator between the inline date and time metadata. */\n\tseparator: string;\n\t/** Accessible name used when `date` is empty or invalid. */\n\tunavailableLabel: string;\n}\n\nexport const defaultDateBlockStrings: DateBlockStrings = {\n\tseparator: '·',\n\tunavailableLabel: 'Date unavailable',\n};\n\nexport interface DateBlockProps\n\textends Omit<ComponentPropsWithoutRef<'time'>, 'children' | 'dateTime'> {\n\t/** Date instance, ISO string, unix timestamp, or an empty value. */\n\tdate?: DateInput;\n\t/** Time or time-range metadata, already formatted by the consumer. */\n\ttime?: ReactNode;\n\t/** Override the machine-readable value placed on the native `<time>`. */\n\tdateTime?: string;\n\t/** date-fns locale. Falls back to `<UIProvider config={{ dates: { locale } }}>`. */\n\tlocale?: Locale;\n\t/** Visual layout. @default \"stacked\" */\n\tlayout?: DateBlockLayout;\n\t/** Where time metadata renders. Defaults to `inline` for inline layout and `below` for stacked. */\n\ttimePlacement?: DateBlockTimePlacement;\n\t/** Semantic color treatment. @default \"neutral\" */\n\ttone?: DateBlockTone;\n\t/** Structural surface treatment. @default \"default\" */\n\tvariant?: DateBlockVariant;\n\t/** Structural scale. Falls back to `UIProvider.density.defaultScale`, then `md`. */\n\tsize?: DateBlockSize;\n\t/** Render a bounded surface. Defaults to `true` for stacked and `false` for inline. */\n\tboxed?: boolean;\n\t/** Show the weekday heading. @default true */\n\tshowWeekday?: boolean;\n\t/** Show the month label. @default true */\n\tshowMonth?: boolean;\n\t/** Show the year label for cross-year schedules and timelines. @default false */\n\tshowYear?: boolean;\n\t/** Visual fallback for an empty or invalid date. @default \"—\" */\n\temptyLabel?: ReactNode;\n\t/** date-fns day-of-month format. @default \"d\" */\n\tdayFormat?: string;\n\t/** date-fns weekday format. @default \"EEE\" */\n\tweekdayFormat?: string;\n\t/** date-fns month format. @default \"MMM\" */\n\tmonthFormat?: string;\n\t/** date-fns year format. @default \"yyyy\" */\n\tyearFormat?: string;\n\t/** Overrides this surface's own copy. */\n\tstrings?: StringsProp<DateBlockStrings>;\n}\n\ninterface DateBlockToneClasses {\n\tframe: string;\n\t/** Content above the body. */\n\theader: string;\n\tprimary: string;\n\tsecondary: string;\n}\n\nconst toneClassMap: Record<DateBlockTone, DateBlockToneClasses> = {\n\tneutral: {\n\t\tframe: 'border-border bg-card',\n\t\theader: 'border-border/60 bg-muted/50 text-foreground',\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tsecondary: {\n\t\tframe: 'border-border bg-muted/30',\n\t\theader: 'border-border/60 bg-muted text-foreground',\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tprimary: {\n\t\tframe: `${toneRecipes.primary.edge} ${toneRecipes.primary.wash}`,\n\t\theader: `${toneRecipes.primary.edge} ${toneRecipes.primary.tint} ${toneRecipes.primary.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tdestructive: {\n\t\tframe: `${toneRecipes.destructive.edge} ${toneRecipes.destructive.wash}`,\n\t\theader: `${toneRecipes.destructive.edge} ${toneRecipes.destructive.tint} ${toneRecipes.destructive.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tinfo: {\n\t\tframe: `${toneRecipes.info.edge} ${toneRecipes.info.wash}`,\n\t\theader: `${toneRecipes.info.edge} ${toneRecipes.info.tint} ${toneRecipes.info.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tsuccess: {\n\t\tframe: `${toneRecipes.success.edge} ${toneRecipes.success.wash}`,\n\t\theader: `${toneRecipes.success.edge} ${toneRecipes.success.tint} ${toneRecipes.success.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\twarning: {\n\t\tframe: `${toneRecipes.warning.edge} ${toneRecipes.warning.wash}`,\n\t\theader: `${toneRecipes.warning.edge} ${toneRecipes.warning.tint} ${toneRecipes.warning.ink}`,\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n};\n\nconst variantClassMap: Record<DateBlockVariant, DateBlockToneClasses> = {\n\tdefault: { frame: '', header: '', primary: '', secondary: '' },\n\tmuted: {\n\t\tframe: 'border-border bg-muted/30',\n\t\theader: 'border-border/60 bg-muted text-foreground',\n\t\tprimary: 'text-foreground',\n\t\tsecondary: 'text-muted-foreground',\n\t},\n\tinverse: {\n\t\tframe: 'border-inverse-border bg-inverse-background',\n\t\theader: 'border-inverse-border bg-inverse-surface text-inverse-muted',\n\t\tprimary: 'text-inverse-foreground',\n\t\tsecondary: 'text-inverse-muted',\n\t},\n};\n\nconst stackedSizeClass: Record<DateBlockSize, { frame: string; header: string; body: string }> = {\n\tsm: {\n\t\tframe: 'w-12',\n\t\theader: 'px-control-xs py-space-2xs',\n\t\tbody: 'min-h-control px-control-xs py-space-xs',\n\t},\n\tmd: {\n\t\tframe: 'w-14',\n\t\theader: 'px-control-sm py-space-xs',\n\t\tbody: 'min-h-control-lg px-control-sm py-space-sm',\n\t},\n\tlg: {\n\t\tframe: 'w-16',\n\t\theader: 'px-control py-space-sm',\n\t\tbody: 'min-h-control-lg px-control py-space-md',\n\t},\n};\n\nconst inlineSizeClass: Record<DateBlockSize, { gap: string; padding: string }> = {\n\tsm: { gap: 'gap-space-sm', padding: 'px-control-xs py-space-xs' },\n\tmd: { gap: 'gap-space-md', padding: 'px-control-sm py-space-sm' },\n\tlg: { gap: 'gap-space-lg', padding: 'px-control py-space-md' },\n};\n\nfunction hasContent(value: ReactNode): boolean {\n\treturn value !== null && value !== undefined && value !== '';\n}\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport function DateBlock({\n\tdate,\n\ttime,\n\tdateTime,\n\tlocale: localeProp,\n\tlayout = 'stacked',\n\ttimePlacement,\n\ttone = 'neutral',\n\tvariant = 'default',\n\tsize: sizeProp,\n\tboxed,\n\tshowWeekday = true,\n\tshowMonth = true,\n\tshowYear = false,\n\temptyLabel = '—',\n\tdayFormat = 'd',\n\tweekdayFormat = 'EEE',\n\tmonthFormat = 'MMM',\n\tyearFormat = 'yyyy',\n\tclassName,\n\tstrings: stringsProp,\n\t'aria-label': ariaLabel,\n\t...props\n}: DateBlockProps) {\n\tconst dates = useDatesConfig();\n\tconst { defaultScale } = useDensityConfig();\n\tconst size = resolveComponentScale(sizeProp, defaultScale);\n\tconst locale = localeProp ?? dates.locale;\n\tconst strings = useStrings(defaultDateBlockStrings, stringsProp);\n\tconst resolved = parseDateInput(date);\n\tconst tones = toneClassMap[tone];\n\tconst variants = variantClassMap[variant];\n\tconst useBox = boxed ?? layout === 'stacked';\n\tconst resolvedTimePlacement = timePlacement ?? (layout === 'inline' ? 'inline' : 'below');\n\tconst showsTime = hasContent(time) && resolvedTimePlacement !== 'hidden';\n\tconst formatOptions = locale ? { locale } : undefined;\n\n\tconst weekday = resolved ? format(resolved, weekdayFormat, formatOptions) : null;\n\tconst day = resolved ? format(resolved, dayFormat, formatOptions) : null;\n\tconst month = resolved ? format(resolved, monthFormat, formatOptions) : null;\n\tconst year = resolved ? format(resolved, yearFormat, formatOptions) : null;\n\tconst machineValue = dateTime ?? (resolved ? format(resolved, 'yyyy-MM-dd') : undefined);\n\tconst resolvedAriaLabel = ariaLabel ?? (resolved ? undefined : strings.unavailableLabel);\n\n\tif (layout === 'inline') {\n\t\tconst dateRow = (\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--frame inline-flex min-w-0 items-center rounded-radius tabular-nums',\n\t\t\t\t\tinlineSizeClass[size].gap,\n\t\t\t\t\tuseBox && cn('border', inlineSizeClass[size].padding, tones.frame, variants.frame),\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{resolved ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{!!showWeekday && (\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className={cn('date-block--weekday', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t\t{weekday}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className={cn('date-block--day', tones.primary, variants.primary)}>\n\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{(showMonth || showYear) && (\n\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--month-year', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t\t{[showMonth ? month : null, showYear ? year : null].filter(Boolean).join(' ')}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showsTime && resolvedTimePlacement === 'inline' && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className={cn(tones.secondary, variants.secondary)} aria-hidden>\n\t\t\t\t\t\t\t\t\t{strings.separator}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t{isSimpleText(time) ? (\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className={cn('date-block--time tabular-nums', tones.primary, variants.primary)}>\n\t\t\t\t\t\t\t\t\t\t{time}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) : time}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tisSimpleText(emptyLabel) ? (\n\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\" className={cn('date-block--empty', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : emptyLabel\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<time\n\t\t\t\tdateTime={machineValue}\n\t\t\t\taria-label={resolvedAriaLabel}\n\t\t\t\tdata-layout={layout}\n\t\t\t\tdata-size={size}\n\t\t\t\tdata-tone={tone}\n\t\t\t\tdata-variant={variant}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--component inline-flex min-w-0',\n\t\t\t\t\tresolvedTimePlacement === 'below'\n\t\t\t\t\t\t? 'flex-col items-start gap-space-xs'\n\t\t\t\t\t\t: 'items-center',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{dateRow}\n\t\t\t\t{showsTime && resolvedTimePlacement === 'below' && (\n\t\t\t\t\tisSimpleText(time) ? (\n\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--time tabular-nums', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{time}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : time\n\t\t\t\t)}\n\t\t\t</time>\n\t\t);\n\t}\n\n\tconst tile = (\n\t\t<span\n\t\t\tclassName={cn(\n\t\t\t\t'date-block--frame inline-flex shrink-0 flex-col overflow-hidden rounded-radius tabular-nums',\n\t\t\t\tstackedSizeClass[size].frame,\n\t\t\t\tuseBox && cn('border', tones.frame, variants.frame),\n\t\t\t)}\n\t\t>\n\t\t\t{resolved && showWeekday && (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\tlineHeight=\"tight\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'date-block--weekday block text-center',\n\t\t\t\t\t\tstackedSizeClass[size].header,\n\t\t\t\t\t\tuseBox ? cn('border-b', tones.header, variants.header) : cn(tones.secondary, variants.secondary),\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{weekday}\n\t\t\t\t</Text>\n\t\t\t)}\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'date-block--body flex flex-col items-center justify-center gap-space-2xs text-center',\n\t\t\t\t\tstackedSizeClass[size].body,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{resolved ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\tsize={size === 'sm' ? 'sm' : size === 'lg' ? 'lg' : 'base'}\n\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\tlineHeight=\"none\"\n\t\t\t\t\t\t\tclassName={cn('date-block--day', tones.primary, variants.primary)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t{(showMonth || showYear) && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\tlineHeight=\"tight\"\n\t\t\t\t\t\t\t\tclassName={cn('date-block--month-year', tones.secondary, variants.secondary)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{[showMonth ? month : null, showYear ? year : null].filter(Boolean).join(' ')}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tisSimpleText(emptyLabel) ? (\n\t\t\t\t\t\t<Text tag=\"span\" type=\"secondary\" className={cn('date-block--empty', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : emptyLabel\n\t\t\t\t)}\n\t\t\t</span>\n\t\t</span>\n\t);\n\n\treturn (\n\t\t<time\n\t\t\tdateTime={machineValue}\n\t\t\taria-label={resolvedAriaLabel}\n\t\t\tdata-layout={layout}\n\t\t\tdata-size={size}\n\t\t\tdata-tone={tone}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'date-block--component inline-flex',\n\t\t\t\tshowsTime && resolvedTimePlacement === 'inline'\n\t\t\t\t\t? 'flex-row items-center gap-space-sm'\n\t\t\t\t\t: 'flex-col items-center gap-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{tile}\n\t\t\t{showsTime && (\n\t\t\t\tisSimpleText(time) ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className={cn('date-block--time tabular-nums', tones.secondary, variants.secondary)}>\n\t\t\t\t\t\t{time}\n\t\t\t\t\t</Text>\n\t\t\t\t) : time\n\t\t\t)}\n\t\t</time>\n\t);\n}\n\nDateBlock.displayName = 'DateBlock';\n","export interface ContentBlockStrings {\n\tactionsLabel: string;\n\ttooltipLabel: string;\n}\n\nexport const defaultContentBlockStrings: ContentBlockStrings = {\n\tactionsLabel: 'More actions',\n\ttooltipLabel: 'More information',\n};\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { Card } from '../cards';\nimport type { ActionMenuAction } from '../action-menu';\nimport type { StructureGap } from '../structure';\nimport type { AlertTone } from '../feedback';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport type { CardSurface, ComponentScale } from '../../../lib/component-vocabulary';\nimport { cn } from '../../../lib/utils';\nimport { defaultContentBlockStrings, type ContentBlockStrings } from './content-block.strings';\nexport type ContentBlockPadding = ComponentScale;\nexport type ContentBlockSurface = CardSurface;\nexport type ContentBlockTitleSize = ComponentScale;\nexport interface ContentBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n\t/** Leading glyph on the title line, muted and shrink-proof. */\n\ticon?: ReactNode;\n\t/** Block title. */\n\ttitle?: ReactNode;\n\t/** Supporting sentence under the title. */\n\tdescription?: ReactNode;\n\t/** Content immediately after the title, before the tooltip affordance. */\n\ttitleSuffix?: ReactNode;\n\t/** Explanatory copy behind an info affordance on the title line. */\n\ttooltip?: ReactNode;\n\t/** Accessible name for the tooltip trigger. Defaults to the `tooltipLabel` string. */\n\ttooltipAriaLabel?: string;\n\t/** Full-width row above the title, inside the header. */\n\theaderStart?: ReactNode;\n\t/**\n\t * Single control at the end of the header, before the overflow menu.\n\t * Use `actions` instead for a list of commands.\n\t */\n\theaderAction?: ReactNode;\n\t/** Content at the end of the header, before `headerAction` and the overflow menu. */\n\theaderEnd?: ReactNode;\n\t/** Overflow menu at the far end of the header. */\n\tactions?: readonly ActionMenuAction[];\n\t/** Accessible name for the overflow trigger. Defaults to the `actionsLabel` string. */\n\tactionsLabel?: string;\n\t/** Content between the alert and `children`. */\n\tcontentTop?: ReactNode;\n\t/** Content after `children`. */\n\tcontentBottom?: ReactNode;\n\t/** Muted text in the footer band. Renders alongside `footerSlot`. */\n\tfooterText?: ReactNode;\n\t/** Full-width footer band under the content, for a single primary action. */\n\tfooterSlot?: ReactNode;\n\t/** Banner between the header and the content. */\n\talert?: ReactNode;\n\t/** Tone of the `alert` banner. */\n\talertTone?: AlertTone;\n\t/** Optional structural padding. Omit it to keep the block card-free. */\n\tpadding?: ContentBlockPadding;\n\t/** Optional surface chrome. Omit it to inherit the caller's surface. */\n\tsurface?: ContentBlockSurface;\n\t/** Title typography. Defaults to the compact title size. */\n\ttitleSize?: ContentBlockTitleSize;\n\t/** Draws a rule between the header and the content. */\n\theaderDivider?: boolean;\n\t/** Draws a rule between the content and the footer. */\n\tfooterDivider?: boolean;\n\t/** Merged onto the header region. */\n\theaderClassName?: string;\n\t/** Merged onto the content region. */\n\tcontentClassName?: string;\n\t/** Optional semantic spacing between direct content children. */\n\tcontentGap?: StructureGap;\n\t/** Merged onto the footer region. */\n\tfooterClassName?: string;\n\t/** Overrides the block's own copy (overflow-menu and tooltip labels). */\n\tstrings?: StringsProp<ContentBlockStrings>;\n}\n\n\n/**\n * Migration adapter only; Card owns all rendering, slots and surface recipes.\n * @deprecated Use Card with surface=\"flat\" and padding=\"none\" for unframed content.\n */\nexport const ContentBlock = forwardRef<HTMLDivElement, ContentBlockProps>(function ContentBlock({\n padding, surface, strings: stringsProp, className, headerClassName, contentClassName, footerClassName, ...props\n}, ref) {\n const strings = useStrings(defaultContentBlockStrings, stringsProp);\n return <Card\n {...props}\n ref={ref}\n surface={surface ?? 'flat'}\n padding={padding ?? (surface && surface !== 'flat' ? 'md' : 'none')}\n strings={strings}\n data-component=\"content-block\"\n data-slot=\"content-block\"\n data-padding={padding}\n className={cn('content-block--component', className)}\n headerClassName={cn('content-block--header', headerClassName)}\n contentClassName={cn('content-block--content', contentClassName)}\n footerClassName={cn('content-block--footer', footerClassName)}\n />;\n});\nContentBlock.displayName = 'ContentBlock';\nexport { defaultContentBlockStrings, type ContentBlockStrings } from './content-block.strings';\n","/**\n * BooleanIndicator — labelled yes/no chip showing the truth of a value with an\n * optional check/cross icon. Use for compact metadata grids where each row\n * answers a single boolean question. Strings overridable for i18n.\n */\nimport { CheckCircle2, XCircle } from 'lucide-react';\nimport React, { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { Badge, type BadgeTone } from '../badge';\nimport { Stack } from '../structure';\nimport { DisplayLabel, Text } from '../../typography';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nexport interface BooleanIndicatorStrings {\n\ttrue: string;\n\tfalse: string;\n}\n\nexport const defaultBooleanIndicatorStrings: BooleanIndicatorStrings = {\n\ttrue: 'Yes',\n\tfalse: 'No',\n};\n\nexport interface BooleanIndicatorProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n\t/** What the flag describes, rendered as the row's `DisplayLabel`. */\n\tlabel: React.ReactNode;\n\t/** The flag. `null` reads as unknown and uses the false presentation. Defaults to `false`. */\n\tvalue?: boolean | null;\n\t/** Shows the check/cross glyph beside the badge text. Defaults to `true`. */\n\tshowIcon?: boolean;\n\t/** Badge tone when `value` is true. Defaults to `success`. */\n\ttrueTone?: BadgeTone;\n\t/** Badge tone when `value` is false. Defaults to `secondary`. */\n\tfalseTone?: BadgeTone;\n\t/** Merged onto the badge. */\n\tbadgeClassName?: string;\n\t/** Overrides the yes/no copy. */\n\tstrings?: StringsProp<BooleanIndicatorStrings>;\n}\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport const BooleanIndicator = forwardRef<HTMLDivElement, BooleanIndicatorProps>(function BooleanIndicator({\n\tlabel,\n\tvalue = false,\n\tshowIcon = true,\n\ttrueTone = 'success',\n\tfalseTone = 'secondary',\n\tclassName,\n\tbadgeClassName,\n\tstrings: stringsProp,\n\t...props\n}, ref) {\n\tconst strings = useStrings(defaultBooleanIndicatorStrings, stringsProp);\n\tconst isTrue = Boolean(value);\n\tconst Icon = isTrue ? CheckCircle2 : XCircle;\n\tconst badgeTone = isTrue ? trueTone : falseTone;\n\tconst content = isTrue ? strings.true : strings.false;\n\n\treturn (\n\t\t<Stack\n\t\t\tref={ref}\n\t\t\tdirection=\"horizontal\"\n\t\t\talign=\"center\"\n\t\t\tgap=\"md\"\n\t\t\tjustify=\"between\"\n\t\t\twrap={false}\n\t\t\tclassName={cn('boolean-indicator--component', \n\t\t\t\t'min-w-0 px-row-x py-row-y',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(label) ? <DisplayLabel className=\"min-w-0 wrap-anywhere\">{label}</DisplayLabel> : label}\n\t\t\t<Badge\n\t\t\t\ttone={badgeTone}\n\t\t\t\tclassName={cn('shrink-0 whitespace-nowrap', badgeClassName)}\n\t\t\t>\n\t\t\t\t{/*\n\t\t\t\t * `size-icon-sm` pairs with the badge's 12px label, matching the\n\t\t\t\t * rest of the package's badge icons. At `size-icon` the glyph\n\t\t\t\t * outgrew the text and pushed this badge to 26px, 4px taller\n\t\t\t\t * than every other badge in the library.\n\t\t\t\t */}\n\t\t\t\t{!!showIcon && <Icon className=\"size-icon-sm\" />}\n\t\t\t\t{isSimpleText(content) ? (\n\t\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"none\" className=\"text-inherit\">\n\t\t\t\t\t\t{content}\n\t\t\t\t\t</Text>\n\t\t\t\t) : content}\n\t\t\t</Badge>\n\t\t</Stack>\n\t);\n});\n\nBooleanIndicator.displayName = 'BooleanIndicator';\n"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { m as e } from "./ui-provider-1D_NSYzO.js";
|
|
3
3
|
import { r as t } from "./theme-scope-kStaAer0.js";
|
|
4
|
-
import { t as n } from "./utils-
|
|
5
|
-
import { s as r } from "./typography-
|
|
4
|
+
import { t as n } from "./utils-l5LpDw2z.js";
|
|
5
|
+
import { s as r } from "./typography-DTRkE9zL.js";
|
|
6
6
|
import { a as i, i as a } from "./text.styles-g4He6UIW.js";
|
|
7
7
|
import { t as o } from "./anchored-positioning-DPnKTvNs.js";
|
|
8
|
-
import { t as s } from "./motion-recipes-
|
|
9
|
-
import { n as c, r as l, t as u } from "./popover.recipes-
|
|
10
|
-
import { n as d } from "./collection-content-
|
|
8
|
+
import { t as s } from "./motion-recipes-ChBg4HBq.js";
|
|
9
|
+
import { n as c, r as l, t as u } from "./popover.recipes-Bdyhj2db.js";
|
|
10
|
+
import { n as d } from "./collection-content-uK16Grv0.js";
|
|
11
11
|
import * as f from "react";
|
|
12
12
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
13
13
|
import { CheckIcon as h, ChevronRightIcon as g } from "lucide-react";
|
|
@@ -190,4 +190,4 @@ function I({ className: e, children: t, ...r }) {
|
|
|
190
190
|
//#endregion
|
|
191
191
|
export { D as a, S as c, F as d, I as f, C as g, A as h, T as i, N as l, j as m, M as n, E as o, k as p, w as r, O as s, x as t, P as u };
|
|
192
192
|
|
|
193
|
-
//# sourceMappingURL=dropdown-menu-
|
|
193
|
+
//# sourceMappingURL=dropdown-menu-E2qmdC7o.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-CURh59jb.js","names":["React","MenuPrimitive","useTypographyConfig","useThemePortalContainer","cn","Text","textSizes","textLineHeights","anchoredPositionMethod","motionRecipes","collectionRowClasses","popoverRecipes","collectionRecipes","CollectionLabel","React$1","DropdownMenuDensityContext","useMenuRowClasses","renderMenuText","children","className","DropdownMenu","props","Menu","DropdownMenuPortal","resolvedContainer","container","DropdownMenuTrigger","defaultTextSize","DropdownMenuContent","densityProp","inheritedDensity","density","DropdownMenuGroup","DropdownMenuLabel","content","inset","DropdownMenuItem","rowClasses","variant","DropdownMenuLinkItem","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuCheckboxItem","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuSeparator","DropdownMenuShortcut"],"sources":["../src/components/base/navigation/dropdown-menu.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../../lib/anchored-positioning';\nimport { motionRecipes } from '../../../lib/motion-recipes';\nimport * as React from 'react';\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { Text } from '../../typography';\nimport { textSizes, textLineHeights } from '../../typography/text.styles';\nimport { useTypographyConfig } from '../../../lib/ui-provider';\nimport { cn } from '../../../lib/utils';\nimport { collectionRecipes, collectionRowClasses, popoverRecipes, type CollectionDensity } from '../popover/popover.recipes';\nimport { useThemePortalContainer } from '../../../lib/theme-scope';\nimport { CollectionLabel } from '../popover/collection-content';\n\nconst DropdownMenuDensityContext = React.createContext<CollectionDensity>('default');\n\nfunction useMenuRowClasses() {\n\treturn collectionRowClasses(React.useContext(DropdownMenuDensityContext));\n}\n\nfunction renderMenuText(children: React.ReactNode, className?: string) {\n\tif (\n\t\ttypeof children !== 'string'\n\t\t&& typeof children !== 'number'\n\t\t&& typeof children !== 'bigint'\n\t) return children;\n\tif (typeof children === 'string' && children.trim().length === 0) return children;\n\n\treturn (\n\t\t<CollectionLabel className={cn('dropdown-menu--text', className)}>\n\t\t\t{children}\n\t\t</CollectionLabel>\n\t);\n}\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n\treturn <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props) {\n\tconst resolvedContainer = useThemePortalContainer(container);\n\treturn <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" container={resolvedContainer} {...props} />;\n}\n\nfunction DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\treturn (\n\t\t<MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props}>\n\t\t\t{renderMenuText(children, textSizes[defaultTextSize ?? 'sm'])}\n\t\t</MenuPrimitive.Trigger>\n\t);\n}\n\nfunction DropdownMenuContent({\n\tpositionMethod = anchoredPositionMethod,\n\talign = 'start',\n\talignOffset = 0,\n\tside = 'bottom',\n\tsideOffset = 4,\n\tclassName,\n\tdensity: densityProp,\n\t...props\n}: MenuPrimitive.Popup.Props &\n\tPick<\n\t\tMenuPrimitive.Positioner.Props,\n\t\t'align' | 'alignOffset' | 'side' | 'sideOffset' | 'positionMethod'\n\t> & {\n\t/** Vertical row rhythm. Inherits in submenus; defaults to default. */\n\tdensity?: CollectionDensity;\n}) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst inheritedDensity = React.useContext(DropdownMenuDensityContext);\n\tconst density = densityProp ?? inheritedDensity;\n\treturn (\n\t\t<DropdownMenuDensityContext.Provider value={density}>\n\t\t\t<DropdownMenuPortal>\n\t\t\t\t<MenuPrimitive.Positioner\n\t\t\t\t\tpositionMethod={positionMethod}\n\t\t\t\t\tclassName=\"isolate z-50 outline-none\"\n\t\t\t\t\talign={align}\n\t\t\t\t\talignOffset={alignOffset}\n\t\t\t\t\tside={side}\n\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t>\n\t\t\t\t\t<MenuPrimitive.Popup\n\t\t\t\t\t\tdata-slot=\"dropdown-menu-content\"\n\t\t\t\t\t\tdata-surface-type=\"menu\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tpopoverRecipes.surface,\n\t\t\t\t\t\t\tpopoverRecipes.menu,\n\t\t\t\t\t\t\tmotionRecipes.popup,\n\t\t\t\t\t\t\t'dropdown-menu-content--component z-50 max-h-(--available-height) w-(--anchor-width) min-w-40 origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none',\n\t\t\t\t\t\t\ttextSizes[defaultTextSize ?? 'sm'],\n\t\t\t\t\t\t\ttextLineHeights.tight,\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t</MenuPrimitive.Positioner>\n\t\t\t</DropdownMenuPortal>\n\t\t</DropdownMenuDensityContext.Provider>\n\t);\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n\treturn <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.GroupLabel.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\t// A group caption is supporting copy, not another item: the smaller secondary\n\t// role keeps it from reading as an unclickable row.\n\tconst content =\n\t\ttypeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? <Text tag=\"span\" size=\"xs\" type=\"secondary\" weight=\"medium\" lineHeight=\"tight\">{children}</Text>\n\t\t\t: children;\n\n\treturn (\n\t\t<MenuPrimitive.GroupLabel\n\t\t\tdata-slot=\"dropdown-menu-label\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-label--component px-row-x py-row-y-sm text-muted-foreground data-inset:ps-control-icon',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{content}\n\t\t</MenuPrimitive.GroupLabel>\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.Item.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.Item\n\t\t\tdata-slot=\"dropdown-menu-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.Item>\n\t);\n}\n\nfunction DropdownMenuLinkItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.LinkItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.LinkItem\n\t\t\tdata-slot=\"dropdown-menu-link-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-link-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.LinkItem>\n\t);\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n\treturn <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.SubmenuTrigger\n\t\t\tdata-slot=\"dropdown-menu-sub-trigger\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-sub-trigger--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\t'data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<ChevronRightIcon className=\"ms-auto rtl:rotate-180\" />\n\t\t</MenuPrimitive.SubmenuTrigger>\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\talign = 'start',\n\talignOffset = -3,\n\tside = 'inline-end',\n\tsideOffset = 0,\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n\treturn (\n\t\t<DropdownMenuContent\n\t\t\tdata-slot=\"dropdown-menu-sub-content\"\n\t\t\tclassName={cn('dropdown-menu-sub-content--component w-auto min-w-32', className)}\n\t\t\talign={align}\n\t\t\talignOffset={alignOffset}\n\t\t\tside={side}\n\t\t\tsideOffset={sideOffset}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tchecked,\n\tinset,\n\t...props\n}: MenuPrimitive.CheckboxItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.CheckboxItem\n\t\t\tdata-slot=\"dropdown-menu-checkbox-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-checkbox-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tchecked={checked}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-checkbox-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.CheckboxItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.CheckboxItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.CheckboxItem>\n\t);\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n\treturn (\n\t\t<MenuPrimitive.RadioGroup\n\t\t\tdata-slot=\"dropdown-menu-radio-group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.RadioItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.RadioItem\n\t\t\tdata-slot=\"dropdown-menu-radio-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-radio-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-radio-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.RadioItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.RadioItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.RadioItem>\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: MenuPrimitive.Separator.Props) {\n\treturn (\n\t\t<MenuPrimitive.Separator\n\t\t\tdata-slot=\"dropdown-menu-separator\"\n\t\t\tclassName={cn('dropdown-menu-separator--component', popoverRecipes.separator, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"dropdown-menu-shortcut\"\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-shortcut--component ms-auto text-xxs tracking-normal text-muted-foreground group-data-[highlighted]/dropdown-menu-item:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</span>\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuPortal,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-menu-E2qmdC7o.js","names":["React","MenuPrimitive","useTypographyConfig","useThemePortalContainer","cn","Text","textSizes","textLineHeights","anchoredPositionMethod","motionRecipes","collectionRowClasses","popoverRecipes","collectionRecipes","CollectionLabel","React$1","DropdownMenuDensityContext","useMenuRowClasses","renderMenuText","children","className","DropdownMenu","props","Menu","DropdownMenuPortal","resolvedContainer","container","DropdownMenuTrigger","defaultTextSize","DropdownMenuContent","densityProp","inheritedDensity","density","DropdownMenuGroup","DropdownMenuLabel","content","inset","DropdownMenuItem","rowClasses","variant","DropdownMenuLinkItem","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuCheckboxItem","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuSeparator","DropdownMenuShortcut"],"sources":["../src/components/base/navigation/dropdown-menu.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../../lib/anchored-positioning';\nimport { motionRecipes } from '../../../lib/motion-recipes';\nimport * as React from 'react';\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\n\nimport { Text } from '../../typography';\nimport { textSizes, textLineHeights } from '../../typography/text.styles';\nimport { useTypographyConfig } from '../../../lib/ui-provider';\nimport { cn } from '../../../lib/utils';\nimport { collectionRecipes, collectionRowClasses, popoverRecipes, type CollectionDensity } from '../popover/popover.recipes';\nimport { useThemePortalContainer } from '../../../lib/theme-scope';\nimport { CollectionLabel } from '../popover/collection-content';\n\nconst DropdownMenuDensityContext = React.createContext<CollectionDensity>('default');\n\nfunction useMenuRowClasses() {\n\treturn collectionRowClasses(React.useContext(DropdownMenuDensityContext));\n}\n\nfunction renderMenuText(children: React.ReactNode, className?: string) {\n\tif (\n\t\ttypeof children !== 'string'\n\t\t&& typeof children !== 'number'\n\t\t&& typeof children !== 'bigint'\n\t) return children;\n\tif (typeof children === 'string' && children.trim().length === 0) return children;\n\n\treturn (\n\t\t<CollectionLabel className={cn('dropdown-menu--text', className)}>\n\t\t\t{children}\n\t\t</CollectionLabel>\n\t);\n}\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n\treturn <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ container, ...props }: MenuPrimitive.Portal.Props) {\n\tconst resolvedContainer = useThemePortalContainer(container);\n\treturn <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" container={resolvedContainer} {...props} />;\n}\n\nfunction DropdownMenuTrigger({ children, ...props }: MenuPrimitive.Trigger.Props) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\treturn (\n\t\t<MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props}>\n\t\t\t{renderMenuText(children, textSizes[defaultTextSize ?? 'sm'])}\n\t\t</MenuPrimitive.Trigger>\n\t);\n}\n\nfunction DropdownMenuContent({\n\tpositionMethod = anchoredPositionMethod,\n\talign = 'start',\n\talignOffset = 0,\n\tside = 'bottom',\n\tsideOffset = 4,\n\tclassName,\n\tdensity: densityProp,\n\t...props\n}: MenuPrimitive.Popup.Props &\n\tPick<\n\t\tMenuPrimitive.Positioner.Props,\n\t\t'align' | 'alignOffset' | 'side' | 'sideOffset' | 'positionMethod'\n\t> & {\n\t/** Vertical row rhythm. Inherits in submenus; defaults to default. */\n\tdensity?: CollectionDensity;\n}) {\n\tconst { defaultTextSize } = useTypographyConfig();\n\tconst inheritedDensity = React.useContext(DropdownMenuDensityContext);\n\tconst density = densityProp ?? inheritedDensity;\n\treturn (\n\t\t<DropdownMenuDensityContext.Provider value={density}>\n\t\t\t<DropdownMenuPortal>\n\t\t\t\t<MenuPrimitive.Positioner\n\t\t\t\t\tpositionMethod={positionMethod}\n\t\t\t\t\tclassName=\"isolate z-50 outline-none\"\n\t\t\t\t\talign={align}\n\t\t\t\t\talignOffset={alignOffset}\n\t\t\t\t\tside={side}\n\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t>\n\t\t\t\t\t<MenuPrimitive.Popup\n\t\t\t\t\t\tdata-slot=\"dropdown-menu-content\"\n\t\t\t\t\t\tdata-surface-type=\"menu\"\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tpopoverRecipes.surface,\n\t\t\t\t\t\t\tpopoverRecipes.menu,\n\t\t\t\t\t\t\tmotionRecipes.popup,\n\t\t\t\t\t\t\t'dropdown-menu-content--component z-50 max-h-(--available-height) w-(--anchor-width) min-w-40 origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none',\n\t\t\t\t\t\t\ttextSizes[defaultTextSize ?? 'sm'],\n\t\t\t\t\t\t\ttextLineHeights.tight,\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t/>\n\t\t\t\t</MenuPrimitive.Positioner>\n\t\t\t</DropdownMenuPortal>\n\t\t</DropdownMenuDensityContext.Provider>\n\t);\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n\treturn <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.GroupLabel.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\t// A group caption is supporting copy, not another item: the smaller secondary\n\t// role keeps it from reading as an unclickable row.\n\tconst content =\n\t\ttypeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? <Text tag=\"span\" size=\"xs\" type=\"secondary\" weight=\"medium\" lineHeight=\"tight\">{children}</Text>\n\t\t\t: children;\n\n\treturn (\n\t\t<MenuPrimitive.GroupLabel\n\t\t\tdata-slot=\"dropdown-menu-label\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-label--component px-row-x py-row-y-sm text-muted-foreground data-inset:ps-control-icon',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{content}\n\t\t</MenuPrimitive.GroupLabel>\n\t);\n}\n\nfunction DropdownMenuItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.Item.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.Item\n\t\t\tdata-slot=\"dropdown-menu-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.Item>\n\t);\n}\n\nfunction DropdownMenuLinkItem({\n\tclassName,\n\tinset,\n\tvariant = 'default',\n\tchildren,\n\t...props\n}: MenuPrimitive.LinkItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n\t/** Row treatment. `destructive` marks a command that removes or destroys data. Defaults to `default`. */\n\tvariant?: 'default' | 'destructive';\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.LinkItem\n\t\t\tdata-slot=\"dropdown-menu-link-item\"\n\t\t\tdata-inset={inset}\n\t\t\tdata-variant={variant}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-link-item--component group/dropdown-menu-item whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tcollectionRecipes.destructive,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</MenuPrimitive.LinkItem>\n\t);\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n\treturn <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n\tclassName,\n\tinset,\n\tchildren,\n\t...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.SubmenuTrigger\n\t\t\tdata-slot=\"dropdown-menu-sub-trigger\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-sub-trigger--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\t'data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<ChevronRightIcon className=\"ms-auto rtl:rotate-180\" />\n\t\t</MenuPrimitive.SubmenuTrigger>\n\t);\n}\n\nfunction DropdownMenuSubContent({\n\talign = 'start',\n\talignOffset = -3,\n\tside = 'inline-end',\n\tsideOffset = 0,\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n\treturn (\n\t\t<DropdownMenuContent\n\t\t\tdata-slot=\"dropdown-menu-sub-content\"\n\t\t\tclassName={cn('dropdown-menu-sub-content--component w-auto min-w-32', className)}\n\t\t\talign={align}\n\t\t\talignOffset={alignOffset}\n\t\t\tside={side}\n\t\t\tsideOffset={sideOffset}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuCheckboxItem({\n\tclassName,\n\tchildren,\n\tchecked,\n\tinset,\n\t...props\n}: MenuPrimitive.CheckboxItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.CheckboxItem\n\t\t\tdata-slot=\"dropdown-menu-checkbox-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-checkbox-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tchecked={checked}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-checkbox-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.CheckboxItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.CheckboxItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.CheckboxItem>\n\t);\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n\treturn (\n\t\t<MenuPrimitive.RadioGroup\n\t\t\tdata-slot=\"dropdown-menu-radio-group\"\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuRadioItem({\n\tclassName,\n\tchildren,\n\tinset,\n\t...props\n}: MenuPrimitive.RadioItem.Props & {\n\t/** Surface inset. */\n\tinset?: boolean;\n}) {\n\tconst rowClasses = useMenuRowClasses();\n\treturn (\n\t\t<MenuPrimitive.RadioItem\n\t\t\tdata-slot=\"dropdown-menu-radio-item\"\n\t\t\tdata-inset={inset}\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-radio-item--component whitespace-nowrap data-inset:ps-control-icon',\n\t\t\t\tcollectionRecipes.interactive,\n\t\t\t\trowClasses,\n\t\t\t\tcollectionRecipes.highlighted,\n\t\t\t\tcollectionRecipes.disabled,\n\t\t\t\tcollectionRecipes.icons,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t\t<span\n\t\t\t\tclassName=\"pointer-events-none ms-auto flex shrink-0 items-center justify-center\"\n\t\t\t\tdata-slot=\"dropdown-menu-radio-item-indicator\"\n\t\t\t>\n\t\t\t\t<MenuPrimitive.RadioItemIndicator>\n\t\t\t\t\t<CheckIcon />\n\t\t\t\t</MenuPrimitive.RadioItemIndicator>\n\t\t\t</span>\n\t\t</MenuPrimitive.RadioItem>\n\t);\n}\n\nfunction DropdownMenuSeparator({\n\tclassName,\n\t...props\n}: MenuPrimitive.Separator.Props) {\n\treturn (\n\t\t<MenuPrimitive.Separator\n\t\t\tdata-slot=\"dropdown-menu-separator\"\n\t\t\tclassName={cn('dropdown-menu-separator--component', popoverRecipes.separator, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction DropdownMenuShortcut({\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<'span'>) {\n\treturn (\n\t\t<span\n\t\t\tdata-slot=\"dropdown-menu-shortcut\"\n\t\t\tclassName={cn(\n\t\t\t\t'dropdown-menu-shortcut--component ms-auto text-xxs tracking-normal text-muted-foreground group-data-[highlighted]/dropdown-menu-item:text-accent-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{renderMenuText(children)}\n\t\t</span>\n\t);\n}\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuPortal,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuItem,\n\tDropdownMenuLinkItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuSubContent,\n};\n"],"mappings":"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"}
|