themelia-react-ui 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +135 -0
- package/README.md +113 -18
- package/dist/{accordion-96o0pN62.js → accordion-B9MHG0cT.js} +11 -11
- package/dist/accordion-B9MHG0cT.js.map +1 -0
- package/dist/{action-menu-CHgs8vmj.js → action-menu-Dr8K-ghE.js} +48 -45
- package/dist/action-menu-Dr8K-ghE.js.map +1 -0
- package/dist/{affordance-geometry.generated-B8yGOr8-.js → affordance-geometry.generated-P-aVJisu.js} +36 -36
- package/dist/affordance-geometry.generated-P-aVJisu.js.map +1 -0
- package/dist/{ai-artifact-BZUGwBq6.js → ai-artifact-C58tQcBy.js} +210 -174
- package/dist/ai-artifact-C58tQcBy.js.map +1 -0
- package/dist/app-shell-B_IuNWOo.js +321 -0
- package/dist/app-shell-B_IuNWOo.js.map +1 -0
- package/dist/{attachment-DkoqHPPl.js → attachment-Dg_69lPS.js} +9 -9
- package/dist/{attachment-DkoqHPPl.js.map → attachment-Dg_69lPS.js.map} +1 -1
- package/dist/{auth-D2FVZ1MH.js → auth-DTkkshS8.js} +43 -46
- package/dist/auth-DTkkshS8.js.map +1 -0
- package/dist/{avatar-DWO_HHhB.js → avatar-CeZaFmNH.js} +8 -8
- package/dist/avatar-CeZaFmNH.js.map +1 -0
- package/dist/{badge-DErMA7ul.js → badge-xIiV_E7f.js} +5 -5
- package/dist/{badge-DErMA7ul.js.map → badge-xIiV_E7f.js.map} +1 -1
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +2 -372
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +2 -2
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +10 -10
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +7 -7
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +1 -1
- package/dist/base/repeaters.js +12 -12
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +7 -7
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +4 -4
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +36 -36
- package/dist/base/toaster.js.map +1 -1
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-CdfIkCsV.js → batch-action-bar-Cb8cuvyy.js} +6 -6
- package/dist/batch-action-bar-Cb8cuvyy.js.map +1 -0
- package/dist/blocks/admin.js +21 -21
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +230 -216
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +325 -306
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +1259 -1184
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +6 -6
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-B-WFKecD.js → breadcrumbs-J-K2kl4c.js} +6 -6
- package/dist/{breadcrumbs-B-WFKecD.js.map → breadcrumbs-J-K2kl4c.js.map} +1 -1
- package/dist/{button-DkmK-z8E.js → button-S2Cubiiz.js} +3 -3
- package/dist/button-S2Cubiiz.js.map +1 -0
- package/dist/{buttons-BbfzgczK.js → buttons-BedGfygC.js} +16 -16
- package/dist/buttons-BedGfygC.js.map +1 -0
- package/dist/cards-rNX1M4Xn.js +69 -0
- package/dist/cards-rNX1M4Xn.js.map +1 -0
- package/dist/cascader-B1MiqkBq.js +439 -0
- package/dist/cascader-B1MiqkBq.js.map +1 -0
- package/dist/chart-Darg_0Kv.js +162 -0
- package/dist/chart-Darg_0Kv.js.map +1 -0
- package/dist/{checkbox-CzYUTPeJ.js → checkbox-fflqmODR.js} +2 -2
- package/dist/{checkbox-CzYUTPeJ.js.map → checkbox-fflqmODR.js.map} +1 -1
- package/dist/{choice-inputs-JLtij2y4.js → choice-inputs-zUgBZfE4.js} +258 -257
- package/dist/choice-inputs-zUgBZfE4.js.map +1 -0
- package/dist/{code-block-CGNaUtAE.js → code-block-BzmM9Eig.js} +8 -8
- package/dist/code-block-BzmM9Eig.js.map +1 -0
- package/dist/{collapsible-Do4G0zcC.js → collapsible-BkAI_XD4.js} +5 -5
- package/dist/{collapsible-Do4G0zcC.js.map → collapsible-BkAI_XD4.js.map} +1 -1
- package/dist/{collection-content-C0e8SsTm.js → collection-content-gDh1v6O4.js} +3 -3
- package/dist/{collection-content-C0e8SsTm.js.map → collection-content-gDh1v6O4.js.map} +1 -1
- package/dist/combobox-BEx0vJgF.js +362 -0
- package/dist/combobox-BEx0vJgF.js.map +1 -0
- package/dist/{combobox-CBJDs6w_.js → combobox-BwzoXFSG.js} +254 -247
- package/dist/combobox-BwzoXFSG.js.map +1 -0
- package/dist/{command-D8NrBj-b.js → command-CrlPIL6m.js} +11 -11
- package/dist/command-CrlPIL6m.js.map +1 -0
- package/dist/{comments-Di4w0H_S.js → comments-Dmpp0YIc.js} +29 -29
- package/dist/{comments-Di4w0H_S.js.map → comments-Dmpp0YIc.js.map} +1 -1
- package/dist/components/base/action-menu/action-menu.d.ts +7 -1
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/cards/card.recipes.d.ts +6 -4
- package/dist/components/base/cards/partials/card-primitives.d.ts +9 -2
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts +3 -1
- package/dist/components/base/cards/smart-card.types.d.ts +3 -4
- package/dist/components/base/cascader/cascader-panel.d.ts +76 -0
- package/dist/components/base/chart/chart.d.ts +6 -1
- package/dist/components/base/choice-inputs/choice-types.d.ts +1 -1
- package/dist/components/base/combobox/index.d.ts +4 -2
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/forms/form-sizing.d.ts +7 -7
- package/dist/components/base/forms/workflow.d.ts +7 -1
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -0
- package/dist/components/base/metadata-list/metadata-list.d.ts +1 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header-commands.d.ts +14 -7
- package/dist/components/base/navigation/page-header/page-header.d.ts +10 -3
- package/dist/components/base/popover/popover.d.ts +3 -3
- package/dist/components/base/popover/popover.recipes.d.ts +10 -6
- package/dist/components/base/sheet/sheet.d.ts +2 -0
- package/dist/components/base/sidebar/index.d.ts +1 -1
- package/dist/components/base/sidebar/sidebar.d.ts +27 -5
- package/dist/components/base/toaster/index.d.ts +1 -0
- package/dist/components/blocks/ai/ai-file-tree/types.d.ts +1 -1
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +3 -1
- package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +1 -1
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +3 -1
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +1 -1
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +3 -1
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +11 -2
- package/dist/components/blocks/commerce/index.d.ts +7 -6
- package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +7 -2
- package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +20 -6
- package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +1 -1
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +24 -7
- package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -1
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +7 -1
- package/dist/components/blocks/commerce/order-customer/order-customer.d.ts +1 -1
- package/dist/components/blocks/commerce/order-customer/types.d.ts +9 -1
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +1 -1
- package/dist/components/blocks/commerce/refund-status/types.d.ts +3 -1
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +1 -1
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +3 -1
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +1 -1
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +3 -1
- package/dist/components/features/activities/activities.types.d.ts +8 -2
- package/dist/components/features/activities/partials/activity-marker.d.ts +7 -3
- package/dist/components/features/activities/partials/activity-row.d.ts +24 -0
- package/dist/components/features/event-calendar/colors.d.ts +2 -2
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +4 -0
- package/dist/components/features/filters/facets/select-facet.d.ts +2 -1
- package/dist/components/features/filters/filters.strings.d.ts +4 -0
- package/dist/components/features/filters/filters.types.d.ts +3 -0
- package/dist/components/features/filters/partials/filter-editor-header.d.ts +16 -0
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +1 -1
- package/dist/components/features/filters/partials/nested-filter-options.d.ts +21 -0
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +2 -1
- package/dist/components/features/filters/utils/filter-utils.d.ts +21 -3
- package/dist/components/features/global-search/global-search.types.d.ts +2 -0
- package/dist/components/features/global-search/partials/global-search-input.d.ts +10 -0
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts +7 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
- package/dist/components/features/media-library/media-library.types.d.ts +14 -4
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +1 -1
- package/dist/components/features/products/components/product-options-matrix.d.ts +1 -1
- package/dist/components/features/products/components/product-variant-editor.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/products.strings.d.ts +9 -1
- package/dist/components/features/products/products.types.d.ts +43 -6
- package/dist/components/features/resource/resource.d.ts +5 -1
- package/dist/components/features/resource/resource.types.d.ts +12 -1
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +12 -2
- package/dist/components/features/table/partials/resource-cell.d.ts +22 -5
- package/dist/components/features/table/table.types.d.ts +1 -1
- package/dist/components/layout/app-shell/app-shell.types.d.ts +35 -6
- package/dist/components/layout/app-shell/index.d.ts +1 -1
- package/dist/components/layout/app-shell/shell-regions.d.ts +27 -0
- package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/containers/two-column-layout.d.ts +2 -0
- package/dist/components/layout/header/header.recipes.d.ts +6 -0
- package/dist/components/layout/header/header.types.d.ts +6 -6
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +5 -0
- package/dist/components/layout/page/index.d.ts +2 -1
- package/dist/components/layout/page/page.d.ts +1 -0
- package/dist/components/layout/page/page.strings.d.ts +11 -0
- package/dist/components/layout/page/page.types.d.ts +69 -17
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +9 -2
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/index.d.ts +2 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +36 -0
- package/dist/components/layout/sidebar/sidebar.context.d.ts +5 -7
- package/dist/components/layout/sidebar/sidebar.types.d.ts +48 -10
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +9 -1
- package/dist/components/layout/workspace/workspace.types.d.ts +8 -1
- package/dist/components/ui/alert-dialog.d.ts +2 -2
- package/dist/components/ui/combobox.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +2 -2
- package/dist/components/ui/overlay-layer.d.ts +18 -0
- package/dist/components/ui/sheet.d.ts +5 -1
- package/dist/components/ui/sidebar-state.d.ts +82 -0
- package/dist/components/ui/sidebar.d.ts +5 -17
- package/dist/{containers-CRmHf7GP.js → containers-CIxwbZt5.js} +26 -18
- package/dist/containers-CIxwbZt5.js.map +1 -0
- package/dist/{control-group-recipes-DBXmfh2E.js → control-group-recipes-fMuFo0H7.js} +6 -6
- package/dist/control-group-recipes-fMuFo0H7.js.map +1 -0
- package/dist/{copyable-CnGCZdX4.js → copyable-DIznBqiT.js} +7 -7
- package/dist/{copyable-CnGCZdX4.js.map → copyable-DIznBqiT.js.map} +1 -1
- package/dist/{data-display-D4oujtx0.js → data-display-BdgCAw8T.js} +268 -277
- package/dist/data-display-BdgCAw8T.js.map +1 -0
- package/dist/{date-Q7jnXxpk.js → date-Cq8ioE4o.js} +5 -5
- package/dist/{date-Q7jnXxpk.js.map → date-Cq8ioE4o.js.map} +1 -1
- package/dist/{date-picker-zOt1oNss.js → date-picker-RlIzKom_.js} +446 -437
- package/dist/date-picker-RlIzKom_.js.map +1 -0
- package/dist/{date-pickers-cj8IXbDC.js → date-pickers-DY-CpXS1.js} +12 -12
- package/dist/{date-pickers-cj8IXbDC.js.map → date-pickers-DY-CpXS1.js.map} +1 -1
- package/dist/{display-BB4BL_-K.js → display-KsZLw9Ov.js} +9 -9
- package/dist/{display-BB4BL_-K.js.map → display-KsZLw9Ov.js.map} +1 -1
- package/dist/dropdown-menu-CLs8Lihj.js +194 -0
- package/dist/dropdown-menu-CLs8Lihj.js.map +1 -0
- package/dist/features/activities.js +302 -253
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +15 -14
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +22 -22
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +11 -10
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +13 -13
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer.js +237 -238
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +140 -146
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +167 -138
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +6 -7
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +269 -260
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +375 -326
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +1266 -1193
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +13 -13
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +69 -66
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +13 -13
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +94 -95
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-DZNL5Lg1.js → feedback-Dm4izqFn.js} +80 -79
- package/dist/feedback-Dm4izqFn.js.map +1 -0
- package/dist/{field-affordance-recipes-DjwGx8eM.js → field-affordance-recipes-DWcNcOjh.js} +4 -4
- package/dist/field-affordance-recipes-DWcNcOjh.js.map +1 -0
- package/dist/{filters-BcT-uoFy.js → filters-DzgSJpMK.js} +693 -645
- package/dist/filters-DzgSJpMK.js.map +1 -0
- package/dist/{form-field-CsgRmdit.js → form-field-BriWAXyg.js} +6 -6
- package/dist/{form-field-CsgRmdit.js.map → form-field-BriWAXyg.js.map} +1 -1
- package/dist/{form-sizing-NXgjkmBG.js → form-sizing-Bs2qFUeE.js} +4 -4
- package/dist/form-sizing-Bs2qFUeE.js.map +1 -0
- package/dist/{forms-BV5m5aQF.js → forms-C0RGnJTe.js} +17 -13
- package/dist/forms-C0RGnJTe.js.map +1 -0
- package/dist/{forms-numeric-Cd33AKbD.js → forms-numeric-DIhghX1Q.js} +86 -82
- package/dist/forms-numeric-DIhghX1Q.js.map +1 -0
- package/dist/{header-BA697l4a.js → header-DMMxG__r.js} +67 -63
- package/dist/header-DMMxG__r.js.map +1 -0
- package/dist/header.recipes-BigdJjw1.js +6 -0
- package/dist/header.recipes-BigdJjw1.js.map +1 -0
- package/dist/{hooks-BQ-L7Uu2.js → hooks-DB6CJ4MR.js} +26 -14
- package/dist/hooks-DB6CJ4MR.js.map +1 -0
- package/dist/{icon-badge-COWbCCWu.js → icon-badge-DZF-YjQp.js} +4 -4
- package/dist/{icon-badge-COWbCCWu.js.map → icon-badge-DZF-YjQp.js.map} +1 -1
- package/dist/index.js +4 -5
- package/dist/{input-Cdw4k0fb.js → input-CvyDQlY7.js} +8 -8
- package/dist/{input-Cdw4k0fb.js.map → input-CvyDQlY7.js.map} +1 -1
- package/dist/input-DMBwAZmr.js +21 -0
- package/dist/input-DMBwAZmr.js.map +1 -0
- package/dist/{item-BvZ2DR_x.js → item-DjCcM18E.js} +16 -16
- package/dist/item-DjCcM18E.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +2 -2
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +3 -3
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +11 -11
- package/dist/lib/affordance-geometry.generated.d.ts +35 -35
- package/dist/lib/control-group-recipes.d.ts +5 -5
- package/dist/lib/field-affordance-recipes.d.ts +2 -2
- package/dist/lib/motion-recipes.d.ts +3 -0
- package/dist/lib/navigation-row-recipes.d.ts +7 -7
- package/dist/lib/overlay-anatomy-recipes.d.ts +3 -3
- package/dist/lib/portal-recipes.d.ts +3 -0
- package/dist/lib/token-merge.generated.d.ts +13 -10
- package/dist/lib/utils.js +1 -1
- package/dist/map-demo-tile.svg +1 -1
- package/dist/{media-gallery-CSl5W1Fy.js → media-gallery-C-vChPmE.js} +6 -6
- package/dist/{media-gallery-CSl5W1Fy.js.map → media-gallery-C-vChPmE.js.map} +1 -1
- package/dist/{mentions-RKOQaaIB.js → mentions-0_4nWuI-.js} +10 -10
- package/dist/{mentions-RKOQaaIB.js.map → mentions-0_4nWuI-.js.map} +1 -1
- package/dist/{message-INU2xsxu.js → message-g8p7eVtN.js} +7 -7
- package/dist/message-g8p7eVtN.js.map +1 -0
- package/dist/{metadata-list-qVV7AVxa.js → metadata-list-C3MkU-Om.js} +64 -64
- package/dist/metadata-list-C3MkU-Om.js.map +1 -0
- package/dist/{motion-recipes-ChBg4HBq.js → motion-recipes-DitYv6P2.js} +10 -2
- package/dist/motion-recipes-DitYv6P2.js.map +1 -0
- package/dist/navigation-C90-oQFq.js +255 -0
- package/dist/navigation-C90-oQFq.js.map +1 -0
- package/dist/{navigation-BQNcg1jT.js → navigation-DaRjthVk.js} +101 -82
- package/dist/navigation-DaRjthVk.js.map +1 -0
- package/dist/{navigation-row-recipes-WZEs-hYo.js → navigation-row-recipes-BGVLvU_O.js} +9 -9
- package/dist/navigation-row-recipes-BGVLvU_O.js.map +1 -0
- package/dist/{number-E_OiIfJz.js → number-CRU3kGuk.js} +5 -5
- package/dist/{number-E_OiIfJz.js.map → number-CRU3kGuk.js.map} +1 -1
- package/dist/overflow-tab-bar-IVFVQFV6.js +172 -0
- package/dist/overflow-tab-bar-IVFVQFV6.js.map +1 -0
- package/dist/overlays-BSgCtM2v.js +1013 -0
- package/dist/overlays-BSgCtM2v.js.map +1 -0
- package/dist/page-DUUKDAjo.js +331 -0
- package/dist/page-DUUKDAjo.js.map +1 -0
- package/dist/page-header-commands-7P3sfE9u.js +193 -0
- package/dist/page-header-commands-7P3sfE9u.js.map +1 -0
- package/dist/{pagination-Ch8X_47u.js → pagination-CgCjElfu.js} +7 -7
- package/dist/{pagination-Ch8X_47u.js.map → pagination-CgCjElfu.js.map} +1 -1
- package/dist/popover-B85RenIl.js +201 -0
- package/dist/popover-B85RenIl.js.map +1 -0
- package/dist/{popover-menu-BYaCdFhf.js → popover-menu-DlnQ2zlR.js} +7 -7
- package/dist/{popover-menu-BYaCdFhf.js.map → popover-menu-DlnQ2zlR.js.map} +1 -1
- package/dist/{popover.recipes-D3j8R8Yp.js → popover.recipes-DdiEp0rd.js} +18 -11
- package/dist/popover.recipes-DdiEp0rd.js.map +1 -0
- package/dist/portal-recipes-BpsV_iRw.js +9 -0
- package/dist/portal-recipes-BpsV_iRw.js.map +1 -0
- package/dist/{primitives-Du64iDbb.js → primitives-ByWgGUgt.js} +5 -5
- package/dist/{primitives-Du64iDbb.js.map → primitives-ByWgGUgt.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-BvF2oCdV.js → progress-BJhQP9WX.js} +9 -9
- package/dist/{progress-BvF2oCdV.js.map → progress-BJhQP9WX.js.map} +1 -1
- package/dist/{receipt-D789Jwyy.js → receipt-tOc7B3hw.js} +7 -7
- package/dist/receipt-tOc7B3hw.js.map +1 -0
- package/dist/{rich-text-CLJEf76s.js → rich-text-Dth5E882.js} +3 -3
- package/dist/{rich-text-CLJEf76s.js.map → rich-text-Dth5E882.js.map} +1 -1
- package/dist/{rich-text-editor-Cm1dpUpQ.js → rich-text-editor-C1fOjBTd.js} +429 -430
- package/dist/rich-text-editor-C1fOjBTd.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-L__e4x47.js → rich-text-editor-toolbar-laT3tpBT.js} +32 -28
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +1 -0
- package/dist/{scroll-area-La5RXsEk.js → scroll-area-B0dB2cBi.js} +2 -2
- package/dist/{scroll-area-La5RXsEk.js.map → scroll-area-B0dB2cBi.js.map} +1 -1
- package/dist/{separator-DAEV0w65.js → separator-Bb17I4pu.js} +2 -2
- package/dist/{separator-DAEV0w65.js.map → separator-Bb17I4pu.js.map} +1 -1
- package/dist/{separator-GNfPG-90.js → separator-Ct_WSWTJ.js} +3 -3
- package/dist/{separator-GNfPG-90.js.map → separator-Ct_WSWTJ.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/{settings-BA2iboic.js → settings-Bar5wiSo.js} +31 -38
- package/dist/settings-Bar5wiSo.js.map +1 -0
- package/dist/sheet-BGPERY55.js +250 -0
- package/dist/sheet-BGPERY55.js.map +1 -0
- package/dist/sidebar-D-JYMMbY.js +686 -0
- package/dist/sidebar-D-JYMMbY.js.map +1 -0
- package/dist/sidebar-f9gRWXIR.js +1001 -0
- package/dist/sidebar-f9gRWXIR.js.map +1 -0
- package/dist/skeleton-BapcJd9C.js +265 -0
- package/dist/skeleton-BapcJd9C.js.map +1 -0
- package/dist/smart-card-CW0hjetE.js +617 -0
- package/dist/smart-card-CW0hjetE.js.map +1 -0
- package/dist/{structure-C0V0_Fyf.js → structure-DuxKl954.js} +2 -2
- package/dist/{structure-C0V0_Fyf.js.map → structure-DuxKl954.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-CpvnzJn9.js → table-B4TE7iOV.js} +3 -3
- package/dist/{table-CpvnzJn9.js.map → table-B4TE7iOV.js.map} +1 -1
- package/dist/{table-DH7rozUv.js → table-CFOWY9pQ.js} +394 -388
- package/dist/table-CFOWY9pQ.js.map +1 -0
- package/dist/{tabs-eqVsJZWO.js → tabs-e7ko9S2o.js} +11 -11
- package/dist/tabs-e7ko9S2o.js.map +1 -0
- package/dist/{text-inputs-DXItiR0O.js → text-inputs-B1culiSK.js} +17 -17
- package/dist/text-inputs-B1culiSK.js.map +1 -0
- package/dist/theme.css +40 -37
- package/dist/{timelines-DmtztAY_.js → timelines-D3Sl9ueq.js} +13 -12
- package/dist/timelines-D3Sl9ueq.js.map +1 -0
- package/dist/tooltip-8wz5S_Zr.js +113 -0
- package/dist/tooltip-8wz5S_Zr.js.map +1 -0
- package/dist/{tree-CV11PURP.js → tree-CzUJHnFs.js} +8 -8
- package/dist/{tree-CV11PURP.js.map → tree-CzUJHnFs.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-CSyJrh28.js → typography-BQnine1k.js} +12 -12
- package/dist/{typography-CSyJrh28.js.map → typography-BQnine1k.js.map} +1 -1
- package/dist/typography.js +1 -1
- package/dist/ui-provider-C-74NVLc.js +178 -0
- package/dist/ui-provider-C-74NVLc.js.map +1 -0
- package/dist/ui-provider.js +2 -3
- package/dist/{upload-C9SA0X-8.js → upload-BOW6U2tI.js} +25 -24
- package/dist/upload-BOW6U2tI.js.map +1 -0
- package/dist/{upload-queue-DhQJiSRc.js → upload-queue-qUXn1ykN.js} +16 -14
- package/dist/upload-queue-qUXn1ykN.js.map +1 -0
- package/dist/{usage-card-DVTRDmGz.js → usage-card-BeSLY0i0.js} +24 -17
- package/dist/usage-card-BeSLY0i0.js.map +1 -0
- package/dist/{utils-CF3c95Io.js → utils-B6kKb8jB.js} +237 -141
- package/dist/utils-B6kKb8jB.js.map +1 -0
- package/dist/value-inputs-skdVB2zh.js +980 -0
- package/dist/value-inputs-skdVB2zh.js.map +1 -0
- package/dist/{value-typography-ClupF0Gz.js → value-typography-uAmWUAL1.js} +2 -2
- package/dist/{value-typography-ClupF0Gz.js.map → value-typography-uAmWUAL1.js.map} +1 -1
- package/dist/{workspace-9EFVXUyk.js → workspace-DHeHv0qw.js} +50 -49
- package/dist/workspace-DHeHv0qw.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +4 -3
- package/docs/consumer-skill/agents/themelia-ui-designer.md +96 -0
- package/docs/consumer-skill/examples/app-layout.tsx +52 -1
- package/docs/consumer-skill/examples/commerce-lines.tsx +271 -0
- package/docs/consumer-skill/examples/custom-composition.tsx +21 -0
- package/docs/consumer-skill/examples/detail.tsx +5 -4
- package/docs/consumer-skill/examples/editable-sections.tsx +38 -0
- package/docs/consumer-skill/examples/index-table.tsx +4 -4
- package/docs/consumer-skill/examples/manifest.json +38 -1
- package/docs/consumer-skill/examples/product-media.tsx +41 -0
- package/docs/consumer-skill/examples/product-parts.tsx +81 -0
- package/docs/consumer-skill/examples/rhf-edit-page.tsx +1 -1
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +24 -11
- package/docs/consumer-skill/examples/token-domain-structure.tsx +68 -0
- package/docs/consumer-skill/references/agents-md.md +19 -17
- package/docs/consumer-skill/references/analytics.md +18 -1
- package/docs/consumer-skill/references/commerce-composition.md +97 -0
- package/docs/consumer-skill/references/component-contracts.json +7131 -1754
- package/docs/consumer-skill/references/composition-mapping.md +17 -3
- package/docs/consumer-skill/references/composition.md +159 -31
- package/docs/consumer-skill/references/critique-rubric.md +98 -0
- package/docs/consumer-skill/references/custom-composition.md +261 -0
- package/docs/consumer-skill/references/data-reading.md +79 -0
- package/docs/consumer-skill/references/design-contract.md +11 -9
- package/docs/consumer-skill/references/discovery.md +27 -3
- package/docs/consumer-skill/references/domain-structures.md +124 -0
- package/docs/consumer-skill/references/installation.md +15 -4
- package/docs/consumer-skill/references/integration.md +35 -0
- package/docs/consumer-skill/references/product-composition.md +94 -0
- package/docs/consumer-skill/references/public-api.json +2881 -420
- package/docs/consumer-skill/references/review.md +39 -2
- package/docs/consumer-skill/references/rhf-workflows.md +7 -0
- package/docs/consumer-skill/references/screen-archetypes.md +19 -7
- package/docs/consumer-skill/references/screen-decisions.md +126 -0
- package/docs/consumer-skill/references/theming.md +17 -18
- package/docs/consumer-skill/references/tokens.json +9 -9
- package/docs/consumer-skill/references/view-craft.md +153 -0
- package/docs/consumer-skill/references/view-spec.md +73 -0
- package/docs/consumer-skill/references/workflows.md +7 -1
- package/docs/consumer-skill/scripts/composition-policy.mjs +39 -3
- package/docs/consumer-skill/scripts/composition-schema.mjs +1 -1
- package/docs/consumer-skill/scripts/composition.mjs +61 -5
- package/docs/consumer-skill/scripts/discovery.mjs +54 -0
- package/docs/consumer-skill/scripts/inspect-component.mjs +1 -1
- package/docs/consumer-skill/scripts/inspection.mjs +73 -18
- package/docs/consumer-skill/scripts/setup-skills.mjs +41 -6
- package/docs/consumer-skill/scripts/surface-policy.mjs +5 -5
- package/docs/consumer-skills/themelia-components/SKILL.md +14 -13
- package/docs/consumer-skills/themelia-composition/SKILL.md +16 -17
- package/docs/consumer-skills/themelia-design/SKILL.md +55 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +2 -1
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +24 -17
- package/package.json +1 -1
- package/dist/accordion-96o0pN62.js.map +0 -1
- package/dist/action-menu-CHgs8vmj.js.map +0 -1
- package/dist/affordance-geometry.generated-B8yGOr8-.js.map +0 -1
- package/dist/ai-artifact-BZUGwBq6.js.map +0 -1
- package/dist/app-shell-D63ATkIK.js +0 -237
- package/dist/app-shell-D63ATkIK.js.map +0 -1
- package/dist/auth-D2FVZ1MH.js.map +0 -1
- package/dist/avatar-DWO_HHhB.js.map +0 -1
- package/dist/base/cascader.js.map +0 -1
- package/dist/batch-action-bar-CdfIkCsV.js.map +0 -1
- package/dist/button-DkmK-z8E.js.map +0 -1
- package/dist/buttons-BbfzgczK.js.map +0 -1
- package/dist/cards-4JTWqvVe.js +0 -68
- package/dist/cards-4JTWqvVe.js.map +0 -1
- package/dist/chart-C19flDQb.js +0 -155
- package/dist/chart-C19flDQb.js.map +0 -1
- package/dist/choice-inputs-JLtij2y4.js.map +0 -1
- package/dist/code-block-CGNaUtAE.js.map +0 -1
- package/dist/combobox-CBJDs6w_.js.map +0 -1
- package/dist/combobox-hbhSS18O.js +0 -355
- package/dist/combobox-hbhSS18O.js.map +0 -1
- package/dist/command-D8NrBj-b.js.map +0 -1
- package/dist/containers-CRmHf7GP.js.map +0 -1
- package/dist/control-group-recipes-DBXmfh2E.js.map +0 -1
- package/dist/data-display-D4oujtx0.js.map +0 -1
- package/dist/date-picker-zOt1oNss.js.map +0 -1
- package/dist/dropdown-menu-CjY8Vt7W.js +0 -193
- package/dist/dropdown-menu-CjY8Vt7W.js.map +0 -1
- package/dist/feedback-DZNL5Lg1.js.map +0 -1
- package/dist/field-affordance-recipes-DjwGx8eM.js.map +0 -1
- package/dist/filters-BcT-uoFy.js.map +0 -1
- package/dist/form-sizing-NXgjkmBG.js.map +0 -1
- package/dist/forms-BV5m5aQF.js.map +0 -1
- package/dist/forms-numeric-Cd33AKbD.js.map +0 -1
- package/dist/header-BA697l4a.js.map +0 -1
- package/dist/hooks-BQ-L7Uu2.js.map +0 -1
- package/dist/input-DOPL5_QE.js +0 -21
- package/dist/input-DOPL5_QE.js.map +0 -1
- package/dist/item-BvZ2DR_x.js.map +0 -1
- package/dist/message-INU2xsxu.js.map +0 -1
- package/dist/metadata-list-qVV7AVxa.js.map +0 -1
- package/dist/motion-recipes-ChBg4HBq.js.map +0 -1
- package/dist/navigation-BQNcg1jT.js.map +0 -1
- package/dist/navigation-DLF3E1IC.js +0 -145
- package/dist/navigation-DLF3E1IC.js.map +0 -1
- package/dist/navigation-row-recipes-WZEs-hYo.js.map +0 -1
- package/dist/overflow-tab-bar-CrbqMteP.js +0 -284
- package/dist/overflow-tab-bar-CrbqMteP.js.map +0 -1
- package/dist/overlays-BlKynmde.js +0 -1004
- package/dist/overlays-BlKynmde.js.map +0 -1
- package/dist/page-CIwNUtGr.js +0 -227
- package/dist/page-CIwNUtGr.js.map +0 -1
- package/dist/page-header-commands-DFMlNYzN.js +0 -128
- package/dist/page-header-commands-DFMlNYzN.js.map +0 -1
- package/dist/popover-uwzX2vo7.js +0 -198
- package/dist/popover-uwzX2vo7.js.map +0 -1
- package/dist/popover.recipes-D3j8R8Yp.js.map +0 -1
- package/dist/receipt-D789Jwyy.js.map +0 -1
- package/dist/rich-text-editor-Cm1dpUpQ.js.map +0 -1
- package/dist/rich-text-editor-toolbar-L__e4x47.js.map +0 -1
- package/dist/settings-BA2iboic.js.map +0 -1
- package/dist/sheet-DoAxTb2J.js +0 -213
- package/dist/sheet-DoAxTb2J.js.map +0 -1
- package/dist/sidebar-ByqKR_W5.js +0 -512
- package/dist/sidebar-ByqKR_W5.js.map +0 -1
- package/dist/sidebar-D2iSnGJ7.js +0 -619
- package/dist/sidebar-D2iSnGJ7.js.map +0 -1
- package/dist/skeleton-CUj8O5Bd.js +0 -264
- package/dist/skeleton-CUj8O5Bd.js.map +0 -1
- package/dist/smart-card-CqkzQsK-.js +0 -614
- package/dist/smart-card-CqkzQsK-.js.map +0 -1
- package/dist/table-DH7rozUv.js.map +0 -1
- package/dist/tabs-eqVsJZWO.js.map +0 -1
- package/dist/text-inputs-DXItiR0O.js.map +0 -1
- package/dist/theme-scope-BJ6eE2xt.js +0 -50
- package/dist/theme-scope-BJ6eE2xt.js.map +0 -1
- package/dist/timelines-DmtztAY_.js.map +0 -1
- package/dist/tooltip-B4hjKtoV.js +0 -111
- package/dist/tooltip-B4hjKtoV.js.map +0 -1
- package/dist/ui-provider-CQCuCBcy.js +0 -136
- package/dist/ui-provider-CQCuCBcy.js.map +0 -1
- package/dist/upload-C9SA0X-8.js.map +0 -1
- package/dist/upload-queue-DhQJiSRc.js.map +0 -1
- package/dist/usage-card-DVTRDmGz.js.map +0 -1
- package/dist/use-mobile-vaLKwgyf.js +0 -15
- package/dist/use-mobile-vaLKwgyf.js.map +0 -1
- package/dist/utils-CF3c95Io.js.map +0 -1
- package/dist/value-inputs-C0o70p-U.js +0 -980
- package/dist/value-inputs-C0o70p-U.js.map +0 -1
- package/dist/workspace-9EFVXUyk.js.map +0 -1
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { s as e, v as t } from "./ui-provider-CQCuCBcy.js";
|
|
3
|
-
import { t as n } from "./utils-CF3c95Io.js";
|
|
4
|
-
import { a as r, n as i } from "./buttons-BbfzgczK.js";
|
|
5
|
-
import { t as a } from "./composition.recipes-COdiFhxB.js";
|
|
6
|
-
import { n as o } from "./action-menu-CHgs8vmj.js";
|
|
7
|
-
import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
|
-
//#region src/components/base/navigation/page-header/page-header-commands.tsx
|
|
9
|
-
var u = ({ href: e, external: t, target: n, rel: r, children: i, ...a }) => /* @__PURE__ */ c("a", {
|
|
10
|
-
href: e,
|
|
11
|
-
target: n ?? (t ? "_blank" : void 0),
|
|
12
|
-
rel: r ?? (t ? "noopener noreferrer" : void 0),
|
|
13
|
-
...a,
|
|
14
|
-
children: i
|
|
15
|
-
}), d = "max-h-[80vh] overflow-y-auto overscroll-contain";
|
|
16
|
-
function f(e) {
|
|
17
|
-
return !!e && e.visible !== !1;
|
|
18
|
-
}
|
|
19
|
-
function p(e, t) {
|
|
20
|
-
return f(e) || (t ?? []).some(f);
|
|
21
|
-
}
|
|
22
|
-
function m(e, t) {
|
|
23
|
-
return t === "secondary" ? {
|
|
24
|
-
tone: "secondary",
|
|
25
|
-
buttonStyle: "outline"
|
|
26
|
-
} : {
|
|
27
|
-
tone: e.destructive ? "destructive" : "primary",
|
|
28
|
-
buttonStyle: "solid"
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function h(e) {
|
|
32
|
-
return e.href && !e.onClick ? e.href : void 0;
|
|
33
|
-
}
|
|
34
|
-
function g({ action: a, role: o, renderLink: u, className: d }) {
|
|
35
|
-
let { defaultScale: f } = e(), { tone: p, buttonStyle: g } = m(a, o), _ = h(a), v = a.icon, y = n(`page-header--${o}-action`, d);
|
|
36
|
-
return _ && !a.disabled && !a.loading ? /* @__PURE__ */ c(s, { children: u({
|
|
37
|
-
href: _,
|
|
38
|
-
target: a.target,
|
|
39
|
-
rel: a.rel,
|
|
40
|
-
external: a.external,
|
|
41
|
-
className: n("button--component base-button--component", r({
|
|
42
|
-
tone: p,
|
|
43
|
-
buttonStyle: g,
|
|
44
|
-
size: t(void 0, f)
|
|
45
|
-
}), y),
|
|
46
|
-
children: /* @__PURE__ */ l(s, { children: [v && /* @__PURE__ */ c(v, {
|
|
47
|
-
className: "size-icon shrink-0",
|
|
48
|
-
"aria-hidden": "true"
|
|
49
|
-
}), a.label] })
|
|
50
|
-
}) }) : /* @__PURE__ */ c(i, {
|
|
51
|
-
type: "button",
|
|
52
|
-
tone: p,
|
|
53
|
-
buttonStyle: g,
|
|
54
|
-
icon: v,
|
|
55
|
-
loading: a.loading,
|
|
56
|
-
handlesLoading: a.loading !== void 0,
|
|
57
|
-
disabled: a.disabled,
|
|
58
|
-
onClick: a.onClick,
|
|
59
|
-
className: y,
|
|
60
|
-
children: a.label
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
function _({ action: e, key: t }, n) {
|
|
64
|
-
return {
|
|
65
|
-
id: t,
|
|
66
|
-
label: e.label,
|
|
67
|
-
icon: e.icon,
|
|
68
|
-
onClick: e.onClick,
|
|
69
|
-
href: h(e),
|
|
70
|
-
target: e.target,
|
|
71
|
-
rel: e.rel,
|
|
72
|
-
external: e.external,
|
|
73
|
-
disabled: !!e.disabled || !!e.loading,
|
|
74
|
-
tone: e.destructive ? "destructive" : "secondary",
|
|
75
|
-
className: n
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function v({ primaryAction: e, secondaryActions: t, moreActionsLabel: r, renderLink: i = u }) {
|
|
79
|
-
let s = (t ?? []).map((e, t) => ({
|
|
80
|
-
action: e,
|
|
81
|
-
key: e.id ?? `secondary-${t}`
|
|
82
|
-
})).filter(({ action: e }) => f(e)), p = s.filter(({ action: e }) => !e.destructive), m = s.filter(({ action: e }) => e.destructive), h = p.slice(0, 2), v = p.slice(2), y = f(e) ? e : void 0;
|
|
83
|
-
if (!y && s.length === 0) return null;
|
|
84
|
-
let b = [
|
|
85
|
-
...h.map((e) => _(e, "sm:hidden")),
|
|
86
|
-
...v.map((e) => _(e)),
|
|
87
|
-
...m.map((e, t) => ({
|
|
88
|
-
..._(e),
|
|
89
|
-
group: !0,
|
|
90
|
-
groupClassName: t === 0 && h.length > 0 && v.length === 0 ? "sm:hidden" : void 0
|
|
91
|
-
}))
|
|
92
|
-
], x = v.length === 0 && m.length === 0;
|
|
93
|
-
return /* @__PURE__ */ l("div", {
|
|
94
|
-
"data-slot": "page-header-commands",
|
|
95
|
-
className: n("page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end", a.commands),
|
|
96
|
-
children: [
|
|
97
|
-
h.map((e) => /* @__PURE__ */ c(g, {
|
|
98
|
-
action: e.action,
|
|
99
|
-
role: "secondary",
|
|
100
|
-
renderLink: i,
|
|
101
|
-
className: "max-sm:hidden"
|
|
102
|
-
}, e.key)),
|
|
103
|
-
y && /* @__PURE__ */ c(g, {
|
|
104
|
-
action: y,
|
|
105
|
-
role: "primary",
|
|
106
|
-
renderLink: i
|
|
107
|
-
}),
|
|
108
|
-
b.length > 0 && /* @__PURE__ */ c(o, {
|
|
109
|
-
actions: b,
|
|
110
|
-
context: "commands",
|
|
111
|
-
srText: r,
|
|
112
|
-
align: "end",
|
|
113
|
-
closeOnSelect: !0,
|
|
114
|
-
preserveOrder: !0,
|
|
115
|
-
contentClassName: d,
|
|
116
|
-
renderLink: (e) => i({
|
|
117
|
-
...e,
|
|
118
|
-
children: e.children ?? null
|
|
119
|
-
}),
|
|
120
|
-
buttonProps: { className: n("page-header--more-actions", x && "sm:hidden") }
|
|
121
|
-
})
|
|
122
|
-
]
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
//#endregion
|
|
126
|
-
export { p as n, v as t };
|
|
127
|
-
|
|
128
|
-
//# sourceMappingURL=page-header-commands-DFMlNYzN.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-commands-DFMlNYzN.js","names":["_Fragment","useDensityConfig","resolveComponentScale","cn","buttonVariants","Button","compositionClasses","ActionMenu","defaultPageHeaderLinkRenderer","props","target","external","rel","MENU_CONTENT_CLASS","isVisible","action","hasPageHeaderCommands","primaryAction","secondaryActions","presentation","role","linkDestination","CommandButton","href","Icon","hookClassName","className","Fragment","renderLink","defaultScale","toMenuAction","key","PageHeaderCommands","secondary","index","routine","destructive","inline","overflow","primary","menuActions","entry","menuOnlyBelowSm","moreActionsLabel"],"sources":["../src/components/base/navigation/page-header/page-header-commands.tsx"],"sourcesContent":["/**\n * PageHeaderCommands — role-based commands for page and record headers.\n *\n * The role chooses each command's treatment and place: outline secondary\n * commands, then one solid primary command, then the More actions menu for\n * overflow and destructive commands, which always closes the row. Below `sm`,\n * secondary commands collapse into that menu through CSS alone, so server and\n * client markup agree. PageHeading owns the row, so every header that takes\n * `primaryAction` and `secondaryActions` places its commands the same way.\n */\nimport type { ComponentType, MouseEvent, ReactElement, ReactNode } from 'react';\n\nimport {\n\tActionMenu,\n\ttype ActionMenuAction,\n\ttype ActionMenuLinkRenderProps,\n} from '../../action-menu';\nimport { Button } from '../../buttons';\nimport { buttonVariants } from '../../buttons/button.variants';\nimport {compositionClasses} from '../../structure/composition.recipes';\nimport { resolveComponentScale, useDensityConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\n\n/**\n * A page command described by its role. `primaryAction` and `secondaryActions`\n * choose the treatment, so a command carries no tone or button style.\n */\nexport interface PageHeaderAction {\n\t/** Stable key. Defaults to the command's position. */\n\tid?: string;\n\t/** Visible command text. */\n\tlabel: ReactNode;\n\t/** Runs the command. When both are set, `onClick` wins over `href`. */\n\tonClick?: () => void;\n\t/** Navigates through the header's `renderLink` instead of running a callback. */\n\thref?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app; forwarded to `renderLink`. */\n\texternal?: boolean;\n\t/** Leading glyph. Pass a Lucide icon component. */\n\ticon?: ComponentType<{ className?: string }>;\n\t/** Shows the pending indicator and blocks activation. */\n\tloading?: boolean;\n\t/** Blocks activation while keeping the command visible. */\n\tdisabled?: boolean;\n\t/** Set false to omit the command, for example without permission. */\n\tvisible?: boolean;\n\t/**\n\t * Irreversible or harmful command. A destructive secondary command moves to\n\t * the More actions menu; a destructive primary command keeps its place with\n\t * the destructive treatment. Confirm it from the handler, e.g. ConfirmDialog.\n\t */\n\tdestructive?: boolean;\n}\n\n/** What a header hands its link renderer for an `href` command. */\nexport interface PageHeaderLinkRenderProps {\n\thref: string;\n\tchildren: ReactNode;\n\tclassName?: string;\n\ttarget?: string;\n\trel?: string;\n\t/** Marks the destination as leaving the app. */\n\texternal?: boolean;\n\tonClick?: (event: MouseEvent<HTMLAnchorElement>) => void;\n\t'aria-label'?: string;\n}\n\n/** Renders framework links for `href` commands. Layout `renderLink` functions fit. */\nexport type PageHeaderLinkRenderer = (props: PageHeaderLinkRenderProps) => ReactNode;\n\n/** Native anchor fallback, matching the layout default: external links open a new tab. */\nexport const defaultPageHeaderLinkRenderer: PageHeaderLinkRenderer = ({ href, external, target, rel, children, ...props }) => (\n\t<a\n\t\thref={href}\n\t\ttarget={target ?? (external ? '_blank' : undefined)}\n\t\trel={rel ?? (external ? 'noopener noreferrer' : undefined)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</a>\n);\n\n/** Secondary commands rendered as buttons from `sm` up; later ones overflow. */\nexport const PAGE_HEADER_INLINE_SECONDARY_LIMIT = 2;\n\nconst MENU_CONTENT_CLASS = 'max-h-[80vh] overflow-y-auto overscroll-contain';\n\ntype CommandRole = 'primary' | 'secondary';\n\ninterface CommandEntry {\n\taction: PageHeaderAction;\n\tkey: string;\n}\n\nexport interface PageHeaderCommandsProps {\n\tprimaryAction?: PageHeaderAction;\n\tsecondaryActions?: readonly PageHeaderAction[];\n\t/** Accessible name of the More actions menu trigger. */\n\tmoreActionsLabel: string;\n\trenderLink?: PageHeaderLinkRenderer;\n}\n\nfunction isVisible(action: PageHeaderAction | undefined): action is PageHeaderAction {\n\treturn !!action && action.visible !== false;\n}\n\n/** Whether the header has any role-based command to render. */\nexport function hasPageHeaderCommands(\n\tprimaryAction: PageHeaderAction | undefined,\n\tsecondaryActions: readonly PageHeaderAction[] | undefined,\n) {\n\treturn isVisible(primaryAction) || (secondaryActions ?? []).some(isVisible);\n}\n\nfunction presentation(action: PageHeaderAction, role: CommandRole) {\n\tif (role === 'secondary') return { tone: 'secondary', buttonStyle: 'outline' } as const;\n\treturn { tone: action.destructive ? 'destructive' : 'primary', buttonStyle: 'solid' } as const;\n}\n\n/** `onClick` wins over `href`, matching PageAction. */\nfunction linkDestination(action: PageHeaderAction) {\n\treturn action.href && !action.onClick ? action.href : undefined;\n}\n\nfunction CommandButton({\n\taction,\n\trole,\n\trenderLink,\n\tclassName,\n}: {\n\taction: PageHeaderAction;\n\trole: CommandRole;\n\trenderLink: PageHeaderLinkRenderer;\n\tclassName?: string;\n}) {\n\tconst { defaultScale } = useDensityConfig();\n\tconst { tone, buttonStyle } = presentation(action, role);\n\tconst href = linkDestination(action);\n\tconst Icon = action.icon;\n\tconst hookClassName = cn(`page-header--${role}-action`, className);\n\n\tif (href && !action.disabled && !action.loading) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{renderLink({\n\t\t\t\t\thref,\n\t\t\t\t\ttarget: action.target,\n\t\t\t\t\trel: action.rel,\n\t\t\t\t\texternal: action.external,\n\t\t\t\t\tclassName: cn(\n\t\t\t\t\t\t'button--component base-button--component',\n\t\t\t\t\t\tbuttonVariants({ tone, buttonStyle, size: resolveComponentScale(undefined, defaultScale) }),\n\t\t\t\t\t\thookClassName,\n\t\t\t\t\t),\n\t\t\t\t\tchildren: (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{Icon && <Icon className=\"size-icon shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t</>\n\t\t\t\t\t),\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\ttone={tone}\n\t\t\tbuttonStyle={buttonStyle}\n\t\t\ticon={Icon}\n\t\t\tloading={action.loading}\n\t\t\thandlesLoading={action.loading !== undefined}\n\t\t\tdisabled={action.disabled}\n\t\t\tonClick={action.onClick}\n\t\t\tclassName={hookClassName}\n\t\t>\n\t\t\t{action.label}\n\t\t</Button>\n\t);\n}\n\nfunction toMenuAction({ action, key }: CommandEntry, className?: string): ActionMenuAction {\n\treturn {\n\t\tid: key,\n\t\tlabel: action.label,\n\t\ticon: action.icon,\n\t\tonClick: action.onClick,\n\t\thref: linkDestination(action),\n\t\ttarget: action.target,\n\t\trel: action.rel,\n\t\texternal: action.external,\n\t\tdisabled: !!action.disabled || !!action.loading,\n\t\ttone: action.destructive ? 'destructive' : 'secondary',\n\t\tclassName,\n\t};\n}\n\nexport function PageHeaderCommands({\n\tprimaryAction,\n\tsecondaryActions,\n\tmoreActionsLabel,\n\trenderLink = defaultPageHeaderLinkRenderer,\n}: PageHeaderCommandsProps) {\n\tconst secondary: CommandEntry[] = (secondaryActions ?? [])\n\t\t.map((action, index) => ({ action, key: action.id ?? `secondary-${index}` }))\n\t\t.filter(({ action }) => isVisible(action));\n\tconst routine = secondary.filter(({ action }) => !action.destructive);\n\tconst destructive = secondary.filter(({ action }) => action.destructive);\n\tconst inline = routine.slice(0, PAGE_HEADER_INLINE_SECONDARY_LIMIT);\n\tconst overflow = routine.slice(PAGE_HEADER_INLINE_SECONDARY_LIMIT);\n\tconst primary = isVisible(primaryAction) ? primaryAction : undefined;\n\n\tif (!primary && secondary.length === 0) return null;\n\n\t// Inline commands reappear in the menu only below `sm`, where they collapse.\n\tconst menuActions: ActionMenuAction[] = [\n\t\t...inline.map((entry) => toMenuAction(entry, 'sm:hidden')),\n\t\t...overflow.map((entry) => toMenuAction(entry)),\n\t\t...destructive.map((entry, index) => ({\n\t\t\t...toMenuAction(entry),\n\t\t\tgroup: true as const,\n\t\t\t// Only collapsed inline commands precede this boundary. Keep it on\n\t\t\t// their CSS visibility schedule; permanent overflow keeps its rule.\n\t\t\tgroupClassName: index === 0 && inline.length > 0 && overflow.length === 0 ? 'sm:hidden' : undefined,\n\t\t})),\n\t];\n\tconst menuOnlyBelowSm = overflow.length === 0 && destructive.length === 0;\n\tconst renderMenuLink = (props: ActionMenuLinkRenderProps) =>\n\t\trenderLink({ ...props, children: props.children ?? null }) as ReactElement;\n\n\t// Secondary commands lead, the primary command follows them, and the More\n\t// actions menu closes the row. The trigger is one more secondary command:\n\t// outline, at the commands' own height.\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"page-header-commands\"\n\t\t\tclassName={cn('page-header--commands flex min-w-0 max-w-full flex-wrap items-center justify-end', compositionClasses.commands)}\n\t\t>\n\t\t\t{inline.map((entry) => (\n\t\t\t\t<CommandButton\n\t\t\t\t\tkey={entry.key}\n\t\t\t\t\taction={entry.action}\n\t\t\t\t\trole=\"secondary\"\n\t\t\t\t\trenderLink={renderLink}\n\t\t\t\t\tclassName=\"max-sm:hidden\"\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{primary && <CommandButton action={primary} role=\"primary\" renderLink={renderLink} />}\n\t\t\t{menuActions.length > 0 && (\n\t\t\t\t<ActionMenu\n\t\t\t\t\tactions={menuActions}\n\t\t\t\t\tcontext=\"commands\"\n\t\t\t\t\tsrText={moreActionsLabel}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tpreserveOrder\n\t\t\t\t\tcontentClassName={MENU_CONTENT_CLASS}\n\t\t\t\t\trenderLink={renderMenuLink}\n\t\t\t\t\t// The shared outline overflow square follows the provider scale, like the commands.\n\t\t\t\t\tbuttonProps={{ className: cn('page-header--more-actions', menuOnlyBelowSm && 'sm:hidden') }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
package/dist/popover-uwzX2vo7.js
DELETED
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { r as e } from "./theme-scope-BJ6eE2xt.js";
|
|
3
|
-
import { t } from "./utils-CF3c95Io.js";
|
|
4
|
-
import { c as n } from "./typography-CSyJrh28.js";
|
|
5
|
-
import { t as r } from "./anchored-positioning-DPnKTvNs.js";
|
|
6
|
-
import { t as i } from "./motion-recipes-ChBg4HBq.js";
|
|
7
|
-
import { t as a } from "./slot-CLF9kLrS.js";
|
|
8
|
-
import { t as o } from "./structure-C0V0_Fyf.js";
|
|
9
|
-
import { a as s } from "./surface-recipes-BKRVW8Os.js";
|
|
10
|
-
import { a as c, r as l } from "./popover.recipes-D3j8R8Yp.js";
|
|
11
|
-
import { t as u } from "./use-popup-focus-recovery-C0QPvgOR.js";
|
|
12
|
-
import * as d from "react";
|
|
13
|
-
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
14
|
-
import { Popover as m } from "@base-ui/react/popover";
|
|
15
|
-
//#region src/components/ui/popover.tsx
|
|
16
|
-
function h({ ...e }) {
|
|
17
|
-
return /* @__PURE__ */ f(m.Root, {
|
|
18
|
-
"data-slot": "popover",
|
|
19
|
-
...e
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
function g({ asChild: e = !1, nativeButton: t, render: n, children: r, ...i }) {
|
|
23
|
-
let o = e ? /* @__PURE__ */ f(a, {}) : void 0, s = typeof n == "function" ? ((e, t) => {
|
|
24
|
-
let { nativeButton: r, ...i } = e;
|
|
25
|
-
return n(i, t);
|
|
26
|
-
}) : n, c = !0;
|
|
27
|
-
e && d.isValidElement(r) && (c = typeof r.type == "string" ? r.type === "button" : !("href" in (r.props ?? {})));
|
|
28
|
-
let l = t ?? (!e || c);
|
|
29
|
-
return /* @__PURE__ */ f(m.Trigger, {
|
|
30
|
-
"data-slot": "popover-trigger",
|
|
31
|
-
render: o ?? s,
|
|
32
|
-
nativeButton: l,
|
|
33
|
-
...i,
|
|
34
|
-
children: r
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
function _({ asChild: e = !1, ...t }) {
|
|
38
|
-
return e ? /* @__PURE__ */ f(a, { ...t }) : /* @__PURE__ */ f("span", {
|
|
39
|
-
"data-slot": "popover-anchor",
|
|
40
|
-
...t
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
function v({ className: n, container: a, anchor: o, align: s = "center", alignOffset: c = 0, side: l = "bottom", sideOffset: p = 4, disablePortal: h = !1, positionMethod: g = h ? "absolute" : r, onOpenAutoFocus: _, onInteractOutside: v, onFocusCapture: y, ...b }) {
|
|
44
|
-
let x = e(a), S = u(y), [C, w] = d.useState(null), T = /* @__PURE__ */ f(m.Positioner, {
|
|
45
|
-
anchor: o,
|
|
46
|
-
positionMethod: g,
|
|
47
|
-
align: s,
|
|
48
|
-
alignOffset: c,
|
|
49
|
-
side: l,
|
|
50
|
-
sideOffset: p,
|
|
51
|
-
className: "isolate z-50",
|
|
52
|
-
children: /* @__PURE__ */ f(m.Popup, {
|
|
53
|
-
"data-slot": "popover-content",
|
|
54
|
-
className: t(i.popup, "bg-popover text-popover-foreground ring-foreground/10 flex flex-col gap-space-xl rounded-radius p-surface text-sm shadow-md ring-1 z-50 w-72 origin-(--transform-origin) outline-hidden", n),
|
|
55
|
-
...b,
|
|
56
|
-
onFocusCapture: S
|
|
57
|
-
})
|
|
58
|
-
});
|
|
59
|
-
return h ? /* @__PURE__ */ f("div", {
|
|
60
|
-
"data-popover-inline-host": "",
|
|
61
|
-
className: "contents",
|
|
62
|
-
ref: w,
|
|
63
|
-
children: /* @__PURE__ */ f(m.Portal, {
|
|
64
|
-
container: C,
|
|
65
|
-
children: T
|
|
66
|
-
})
|
|
67
|
-
}) : /* @__PURE__ */ f(m.Portal, {
|
|
68
|
-
container: x,
|
|
69
|
-
children: T
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
function y({ className: e, ...n }) {
|
|
73
|
-
return /* @__PURE__ */ f("div", {
|
|
74
|
-
"data-slot": "popover-header",
|
|
75
|
-
className: t("flex flex-col text-sm", e),
|
|
76
|
-
...n
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
function b({ className: e, ...n }) {
|
|
80
|
-
return /* @__PURE__ */ f(m.Title, {
|
|
81
|
-
"data-slot": "popover-title",
|
|
82
|
-
className: t("font-medium", e),
|
|
83
|
-
...n
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
function x({ className: e, ...n }) {
|
|
87
|
-
return /* @__PURE__ */ f(m.Description, {
|
|
88
|
-
"data-slot": "popover-description",
|
|
89
|
-
className: t("text-muted-foreground", e),
|
|
90
|
-
...n
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
//#endregion
|
|
94
|
-
//#region src/components/base/popover/popover.tsx
|
|
95
|
-
function S(e) {
|
|
96
|
-
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
97
|
-
}
|
|
98
|
-
var C = d.createContext({
|
|
99
|
-
type: "display",
|
|
100
|
-
flush: !1,
|
|
101
|
-
regionOwned: !1
|
|
102
|
-
});
|
|
103
|
-
function w({ className: e, sideOffset: n = 6, inset: r, type: i, style: a, ...o }) {
|
|
104
|
-
let s = i ?? (r === "compact" ? "menu" : "display");
|
|
105
|
-
return /* @__PURE__ */ f(C.Provider, {
|
|
106
|
-
value: {
|
|
107
|
-
type: s,
|
|
108
|
-
flush: r === "flush",
|
|
109
|
-
regionOwned: !1
|
|
110
|
-
},
|
|
111
|
-
children: /* @__PURE__ */ f(v, {
|
|
112
|
-
"data-surface-type": s,
|
|
113
|
-
sideOffset: n,
|
|
114
|
-
className: t("popover--component", "gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain", l.surface, c[r ?? (s === "menu" ? "compact" : "default")], "[&_button]:active:translate-y-0!", e),
|
|
115
|
-
style: a,
|
|
116
|
-
...o
|
|
117
|
-
})
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
function T({ className: e, children: n, start: r, textGap: i, ...a }) {
|
|
121
|
-
let c = d.useContext(C), u = i ?? (c.type === "menu" ? "dense" : "normal"), m = c.flush && !c.regionOwned, h = c.type === "menu" && !c.regionOwned, g = r != null && r !== !1;
|
|
122
|
-
return /* @__PURE__ */ f(y, {
|
|
123
|
-
className: t("popover-header--component", u === "dense" ? "gap-dense" : "gap-normal", m && (c.type === "menu" ? l.menuRegion : l.display), !m && h && "py-row-y", g && "flex-row items-center gap-space-md", m && s.anchored.header, e),
|
|
124
|
-
...a,
|
|
125
|
-
children: /* @__PURE__ */ p(C.Provider, {
|
|
126
|
-
value: {
|
|
127
|
-
...c,
|
|
128
|
-
regionOwned: !0
|
|
129
|
-
},
|
|
130
|
-
children: [r, /* @__PURE__ */ f(o, {
|
|
131
|
-
gap: u,
|
|
132
|
-
className: t("popover-header--body min-w-0 flex-1", h && !g && "px-row-x"),
|
|
133
|
-
children: n
|
|
134
|
-
})]
|
|
135
|
-
})
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
function E({ children: e, className: r, ...i }) {
|
|
139
|
-
let a = d.useContext(C).type === "menu";
|
|
140
|
-
return /* @__PURE__ */ f(b, {
|
|
141
|
-
className: t("popover-title--component", r),
|
|
142
|
-
...i,
|
|
143
|
-
children: S(e) ? /* @__PURE__ */ f(n, {
|
|
144
|
-
tag: "span",
|
|
145
|
-
type: "inherit",
|
|
146
|
-
size: a ? void 0 : "base",
|
|
147
|
-
weight: "semibold",
|
|
148
|
-
lineHeight: "snug",
|
|
149
|
-
className: "popover-title--text",
|
|
150
|
-
children: e
|
|
151
|
-
}) : e
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
function D({ children: e, className: r, ...i }) {
|
|
155
|
-
let a = d.useContext(C).type === "menu";
|
|
156
|
-
return /* @__PURE__ */ f(x, {
|
|
157
|
-
className: t("popover-description--component", r),
|
|
158
|
-
...i,
|
|
159
|
-
children: S(e) ? /* @__PURE__ */ f(n, {
|
|
160
|
-
tag: "span",
|
|
161
|
-
type: "secondary",
|
|
162
|
-
size: a ? "xs" : void 0,
|
|
163
|
-
lineHeight: a ? "normal" : "relaxed",
|
|
164
|
-
className: "popover-description--text",
|
|
165
|
-
children: e
|
|
166
|
-
}) : e
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
function O({ className: e, children: r, caption: i, ...a }) {
|
|
170
|
-
let c = d.useContext(C), u = i == null && S(r), m = i ?? (u ? r : void 0);
|
|
171
|
-
return /* @__PURE__ */ f(o, {
|
|
172
|
-
direction: "horizontal",
|
|
173
|
-
gap: "sm",
|
|
174
|
-
justify: "end",
|
|
175
|
-
wrap: !0,
|
|
176
|
-
className: t("popover-footer--component pt-space-sm", s.anchored.footer, c.flush && !c.regionOwned && (c.type === "menu" ? l.menuRegion : l.display), e),
|
|
177
|
-
...a,
|
|
178
|
-
children: /* @__PURE__ */ p(C.Provider, {
|
|
179
|
-
value: {
|
|
180
|
-
...c,
|
|
181
|
-
regionOwned: !0
|
|
182
|
-
},
|
|
183
|
-
children: [m != null && /* @__PURE__ */ f("div", {
|
|
184
|
-
className: t("popover-footer--caption me-auto min-w-0 max-w-full", c.type === "menu" && !c.regionOwned && "px-row-x"),
|
|
185
|
-
children: S(m) ? /* @__PURE__ */ f(n, {
|
|
186
|
-
tag: "span",
|
|
187
|
-
size: "xs",
|
|
188
|
-
type: "secondary",
|
|
189
|
-
children: m
|
|
190
|
-
}) : m
|
|
191
|
-
}), !u && r]
|
|
192
|
-
})
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
//#endregion
|
|
196
|
-
export { E as a, g as c, T as i, D as n, h as o, O as r, _ as s, w as t };
|
|
197
|
-
|
|
198
|
-
//# sourceMappingURL=popover-uwzX2vo7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover-uwzX2vo7.js","names":["Popover","PopoverPrimitive","React","PopoverContent","PopoverHeader","PopoverTitle","PopoverDescription","React","PopoverContentPrimitive","PopoverHeaderPrimitive","PopoverTitlePrimitive","PopoverDescriptionPrimitive","useThemePortalContainer","Text","anchoredPositionMethod","motionRecipes","Slot","Stack","surfaceDividerRecipes","surfaceInsetClasses","popoverRecipes","usePopupFocusRecovery","React$1","Popover$1","props","Popover","PopoverTrigger","slotRender","asChild","safeRender","render","_nativeButton","rest","renderProps","state","inferredNativeButton","children","resolvedNativeButton","nativeButton","PopoverAnchor","PopoverContent$1","disablePortal","resolvedContainer","container","recoverFocus","onFocusCapture","inlineHost","setInlineHost","content","cn","className","PopoverHeader$1","PopoverTitle$1","PopoverDescription$1","isSimpleText","value","PopoverSurfaceContext","PopoverContent","resolvedType","type","inset","PopoverHeader","surface","copyGap","textGap","band","menu","hasStart","start","PopoverTitle","compact","PopoverDescription","PopoverFooter","childrenAsCaption","caption"],"sources":["../src/components/ui/popover.tsx","../src/components/base/popover/popover.tsx"],"sourcesContent":["import { anchoredPositionMethod } from '../../lib/anchored-positioning';\nimport { usePopupFocusRecovery } from '../../lib/use-popup-focus-recovery';\nimport { motionRecipes } from '../../lib/motion-recipes';\nimport { useThemePortalContainer, type ThemePortalContainer } from '../../lib/theme-scope';\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\"\nimport * as React from \"react\"\n\nimport { Slot } from \"./slot\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Popover({ ...props }: PopoverPrimitive.Root.Props) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n asChild = false,\n nativeButton,\n render,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props & { asChild?: boolean; nativeButton?: boolean }) {\n const slotRender = asChild ? <Slot /> : undefined\n const safeRender: PopoverPrimitive.Trigger.Props[\"render\"] = typeof render === \"function\"\n ? ((renderProps, state) => {\n const { nativeButton: _nativeButton, ...rest } = renderProps as Record<string, unknown>\n void _nativeButton\n return render(rest as typeof renderProps, state)\n })\n : render\n let inferredNativeButton = true\n if (asChild && React.isValidElement(children)) {\n if (typeof children.type === \"string\") {\n inferredNativeButton = children.type === \"button\"\n } else {\n const childProps = (children.props ?? {}) as Record<string, unknown>\n inferredNativeButton = !(\"href\" in childProps)\n }\n }\n const resolvedNativeButton = nativeButton ?? (asChild ? inferredNativeButton : true)\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n render={slotRender ?? safeRender}\n nativeButton={resolvedNativeButton}\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n )\n}\n\nfunction PopoverAnchor({\n asChild = false,\n ...props\n}: React.ComponentPropsWithoutRef<\"span\"> & { asChild?: boolean }) {\n if (asChild) {\n return <Slot {...props} />\n }\n\n return <span data-slot=\"popover-anchor\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n container,\n anchor,\n align = \"center\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n disablePortal = false,\n positionMethod = disablePortal ? \"absolute\" : anchoredPositionMethod,\n onOpenAutoFocus,\n onInteractOutside,\n onFocusCapture,\n ...props\n}: PopoverPrimitive.Popup.Props &\n Pick<\n PopoverPrimitive.Positioner.Props,\n \"anchor\" | \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\" | \"positionMethod\"\n > & {\n disablePortal?: boolean\n onOpenAutoFocus?: (event: Event) => void\n onInteractOutside?: (event: Event) => void\n } & { container?: ThemePortalContainer }) {\n const resolvedContainer = useThemePortalContainer(container)\n const recoverFocus = usePopupFocusRecovery(onFocusCapture)\n const [inlineHost, setInlineHost] = React.useState<HTMLDivElement | null>(null)\n void onOpenAutoFocus\n void onInteractOutside\n\n const content = (\n <PopoverPrimitive.Positioner\n anchor={anchor}\n positionMethod={positionMethod}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <PopoverPrimitive.Popup\n data-slot=\"popover-content\"\n className={cn(\n motionRecipes.popup,\n \"bg-popover text-popover-foreground ring-foreground/10 flex flex-col gap-space-xl rounded-radius p-surface text-sm shadow-md ring-1 z-50 w-72 origin-(--transform-origin) outline-hidden\",\n className\n )}\n {...props}\n onFocusCapture={recoverFocus}\n />\n </PopoverPrimitive.Positioner>\n )\n\n if (disablePortal) {\n // Base UI requires Portal context; a local host preserves inline DOM locality.\n return <div data-popover-inline-host=\"\" className=\"contents\" ref={setInlineHost}>\n <PopoverPrimitive.Portal container={inlineHost}>{content}</PopoverPrimitive.Portal>\n </div>\n }\n\n return <PopoverPrimitive.Portal container={resolvedContainer}>{content}</PopoverPrimitive.Portal>\n}\n\nfunction PopoverHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"popover-header\"\n className={cn(\"flex flex-col text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n data-slot=\"popover-title\"\n className={cn(\"font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n data-slot=\"popover-description\"\n className={cn(\"text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Popover,\n PopoverAnchor,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n}\n","import { surfaceDividerRecipes } from '../../../lib/surface-recipes';\n/**\n * Popover — public wrapper around the internal Base UI popover implementation.\n *\n * What this layer adds on top of the primitive:\n * - Library-default `sideOffset` (6px) and an explicit inset contract:\n * card/multi-content popovers use `default`, item collections use\n * `compact`, and mixed region-owned compositions use `flush`.\n * - A consistent shadow + border treatment matching the rest of the\n * library (one semantic border, no extra primitive ring).\n * - Wraps the primitive parts with stable DOM hooks and adds a separated\n * footer region while preserving the compound-component pattern:\n * `<Popover>`, `<PopoverTrigger>`, `<PopoverContent>` exactly as\n * they would with the primitive.\n *\n * Use the shared inset role for padding; className owns placement. Override\n * `--surface-x` / `--surface-y` / `--space-scale` on a wrapper for surface-wide\n * density tweaks.\n */\nimport * as React from 'react';\n\nimport {\n\tPopover as PopoverPrimitive,\n\tPopoverAnchor,\n\tPopoverContent as PopoverContentPrimitive,\n\tPopoverDescription as PopoverDescriptionPrimitive,\n\tPopoverHeader as PopoverHeaderPrimitive,\n\tPopoverTitle as PopoverTitlePrimitive,\n\tPopoverTrigger,\n} from '../../ui/popover';\nimport { Text } from '../../typography';\nimport { Stack, type TextGap } from '../structure';\nimport { cn } from '../../../lib/utils';\nimport { popoverRecipes, surfaceInsetClasses, type PopoverContentType } from './popover.recipes';\nexport type { PopoverContentType } from './popover.recipes';\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\ntype PopoverContentBaseProps = React.ComponentProps<typeof PopoverContentPrimitive>;\n\nexport type PopoverContentInset = 'default' | 'compact' | 'flush';\n\nexport type PopoverContentProps = PopoverContentBaseProps & {\n\t/**\n\t * Surface inset role. `default` is for card-like or multi-content popovers,\n\t * `compact` for pure item/option collections, and `flush` when child regions\n\t * own their padding.\n\t */\n\tinset?: PopoverContentInset;\n\t/** Anatomy role; supplies the inferred inset only when inset is omitted. */\n\ttype?: PopoverContentType;\n};\n\nconst PopoverSurfaceContext = React.createContext({ type: 'display' as PopoverContentType, flush: false, regionOwned: false });\n\n/** Anchored content surface with a semantic inset role and package popover chrome. */\nfunction PopoverContent({\n\tclassName,\n\tsideOffset = 6,\n\tinset,\n\ttype,\n\tstyle,\n\t...props\n}: PopoverContentProps) {\n const resolvedType = type ?? (inset === 'compact' ? 'menu' : 'display');\n return (\n <PopoverSurfaceContext.Provider value={{ type: resolvedType, flush: inset === 'flush', regionOwned: false }}>\n\t\t<PopoverContentPrimitive\n\t\t\tdata-surface-type={resolvedType}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn('popover--component',\n\t\t\t\t// A popover is a small surface, not a compressed tooltip. The\n\t\t\t\t// unsuffixed surface token is the package-wide default and remains\n\t\t\t\t// responsive to scoped spacing changes.\n\t\t\t\t'gap-space-md max-h-[min(var(--available-height),calc(100dvh-2rem))] overflow-y-auto overscroll-contain',\n\t\t\t\tpopoverRecipes.surface,\n\t\t\t\tsurfaceInsetClasses[inset ?? (resolvedType === 'menu' ? 'compact' : 'default')],\n\t\t\t\t// Raw shadcn/Base UI buttons still carry a generic 1px press\n\t\t\t\t// translation. Popovers are stable anchored surfaces; moving a\n\t\t\t\t// calendar day or menu action makes the interaction feel soft.\n\t\t\t\t'[&_button]:active:translate-y-0!',\n\t\t\t\t// The shared recipe owns the semantic hairline border and shadow.\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\t{...props}\n\t\t/>\n </PopoverSurfaceContext.Provider>\n\t);\n}\n\ntype PopoverHeaderBaseProps = React.ComponentProps<typeof PopoverHeaderPrimitive> & {\n /** Leading control, aligned with collection highlight edges rather than label text. */\n start?: React.ReactNode;\n /** Copy rhythm. Defaults to dense for menus and normal for display surfaces. */\n textGap?: TextGap;\n};\n\nfunction PopoverHeader({ className, children, start, textGap, ...props }: PopoverHeaderBaseProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const copyGap = textGap ?? (surface.type === 'menu' ? 'dense' : 'normal');\n const band = surface.flush && !surface.regionOwned;\n const menu = surface.type === 'menu' && !surface.regionOwned;\n const hasStart = start != null && start !== false;\n return (\n\t\t<PopoverHeaderPrimitive\n\t\t\tclassName={cn(\n 'popover-header--component',\n copyGap === 'dense' ? 'gap-dense' : 'gap-normal',\n band && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n !band && menu && 'py-row-y',\n hasStart && 'flex-row items-center gap-space-md',\n band && surfaceDividerRecipes.anchored.header,\n className,\n )}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {start}\n <Stack gap={copyGap} className={cn('popover-header--body min-w-0 flex-1', menu && !hasStart && 'px-row-x')}>\n {children}\n </Stack>\n </PopoverSurfaceContext.Provider>\n </PopoverHeaderPrimitive>\n\t);\n}\n\ntype PopoverTitleBaseProps = React.ComponentProps<typeof PopoverTitlePrimitive>;\n\nfunction PopoverTitle({ children, className, ...props }: PopoverTitleBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverTitlePrimitive\n\t\t\tclassName={cn('popover-title--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"inherit\"\n\t\t\t\t\tsize={compact ? undefined : 'base'}\n\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\tlineHeight=\"snug\"\n\t\t\t\t\tclassName=\"popover-title--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverTitlePrimitive>\n\t);\n}\n\ntype PopoverDescriptionBaseProps = React.ComponentProps<typeof PopoverDescriptionPrimitive>;\n\nfunction PopoverDescription({ children, className, ...props }: PopoverDescriptionBaseProps) {\n const compact = React.useContext(PopoverSurfaceContext).type === 'menu';\n return (\n\t\t<PopoverDescriptionPrimitive\n\t\t\tclassName={cn('popover-description--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text\n\t\t\t\t\ttag=\"span\"\n\t\t\t\t\ttype=\"secondary\"\n size={compact ? 'xs' : undefined}\n\t\t\t\t\tlineHeight={compact ? 'normal' : 'relaxed'}\n\t\t\t\t\tclassName=\"popover-description--text\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PopoverDescriptionPrimitive>\n\t);\n}\n\ntype PopoverFooterProps = React.ComponentProps<'div'> & {\n /** Leading supporting content, aligned with collection labels; children are trailing actions. */\n caption?: React.ReactNode;\n};\n\nfunction PopoverFooter({ className, children, caption, ...props }: PopoverFooterProps) {\n const surface = React.useContext(PopoverSurfaceContext);\n const childrenAsCaption = caption == null && isSimpleText(children);\n const content = caption ?? (childrenAsCaption ? children : undefined);\n return (\n\t\t<Stack\n\t\t\tdirection=\"horizontal\"\n\t\t\tgap=\"sm\"\n\t\t\tjustify=\"end\"\n\t\t\twrap\n\t\t\tclassName={cn(\n\t\t\t\t'popover-footer--component pt-space-sm', surfaceDividerRecipes.anchored.footer,\n surface.flush && !surface.regionOwned && (surface.type === 'menu' ? popoverRecipes.menuRegion : popoverRecipes.display),\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n <PopoverSurfaceContext.Provider value={{ ...surface, regionOwned: true }}>\n {content != null && <div className={cn('popover-footer--caption me-auto min-w-0 max-w-full', surface.type === 'menu' && !surface.regionOwned && 'px-row-x')}>\n {isSimpleText(content) ? <Text tag=\"span\" size=\"xs\" type=\"secondary\">{content}</Text> : content}\n </div>}\n {!childrenAsCaption && children}\n </PopoverSurfaceContext.Provider>\n </Stack>\n\t);\n}\n\nexport {\n\tPopoverPrimitive as Popover,\n\tPopoverAnchor,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverFooter,\n\tPopoverHeader,\n\tPopoverTitle,\n\tPopoverTrigger,\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.recipes-D3j8R8Yp.js","names":["surfaceDividerRecipes","popoverWidthRecipes","popoverRecipes","surfaceInsetClasses","collectionDensityClasses","collectionRowClasses","density","rowBlockPaddingClasses","collectionRecipes"],"sources":["../src/components/base/popover/popover.recipes.ts"],"sourcesContent":["import { surfaceDividerRecipes } from '../../../lib/surface-recipes';\nimport { rowBlockPaddingClasses, type RowDensity } from '../../../lib/row-recipes';\n/** Shared anchored-surface chrome; Menu and Popover retain their own accessible behavior. */\n/**\n * One width scale for anchored surfaces. Menus, pickers and popovers choose a\n * step rather than a number; the viewport bound in `popoverRecipes.surface`\n * still keeps every step clear of a narrow screen's edges.\n */\nexport const popoverWidthRecipes = {\n\txs: 'w-48',\n\tsm: 'w-56',\n\tmd: 'w-72',\n\tlg: 'w-80',\n\txl: 'w-90',\n\t/** Floor for a menu that otherwise follows its trigger's width. */\n\tmenuMin: 'min-w-40',\n} as const;\n\nexport const popoverRecipes = {\n // Every anchored surface keeps a 1rem gap to the viewport edges, so a wide\n // menu or popover never touches or overruns a narrow screen.\n surface: `box-border max-w-[calc(100vw-2rem)] rounded-radius ${surfaceDividerRecipes.anchored.shell} bg-popover text-popover-foreground shadow-md ring-0`,\n display: 'p-surface',\n menu: 'p-surface-xs',\n // Collection bands share the list shell; text bodies add the row inset once.\n menuRegion: 'px-surface-xs py-space-md',\n separator: `mx-0 my-space-xs h-px w-full shrink-0 ${surfaceDividerRecipes.anchored.separator}`,\n row: 'box-border min-h-control rounded-inner px-row-x gap-space-sm font-medium leading-tight',\n} as const;\nexport type PopoverContentType = 'display' | 'menu';\n\n/** One surface inset vocabulary for Popover, Command and their collections. */\nexport const surfaceInsetClasses = {\n default: popoverRecipes.display,\n compact: popoverRecipes.menu,\n flush: 'p-0',\n} as const;\n\n/** Collection density changes vertical rhythm; inline room and primary text stay stable. */\nexport type CollectionDensity = RowDensity;\n\nconst collectionDensityClasses: Record<CollectionDensity, string> = {\n default: '',\n compact: 'min-h-control-sm',\n comfortable: 'min-h-control-lg',\n};\n\nexport function collectionRowClasses(density: CollectionDensity = 'default'): string {\n return `${popoverRecipes.row} ${collectionDensityClasses[density]} ${rowBlockPaddingClasses[density]}`;\n}\n\n/** Shared interactive collection states, independent of Menu/listbox state ownership. */\nexport const collectionRecipes = {\n icons: '[&_svg]:pointer-events-none [&_svg]:size-icon [&_svg]:shrink-0',\n interactive: 'relative flex cursor-default items-center outline-none select-none transition-colors',\n highlighted: 'data-highlighted:bg-accent data-highlighted:text-accent-foreground data-highlighted:[&_svg]:text-accent-foreground',\n disabled: 'data-disabled:pointer-events-none data-disabled:opacity-50',\n destructive: 'data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:data-highlighted:text-destructive dark:data-[variant=destructive]:data-highlighted:bg-destructive/10 data-[variant=destructive]:[&_svg]:text-destructive data-[variant=destructive]:data-highlighted:[&_svg]:text-destructive',\n // Compatibility for existing table and overflow-tab ActionMenu consumers.\n tableRow: 'min-h-action-xs py-space-2xs',\n} as const;\n"],"mappings":";;;AAQA,IAAaC,IAAsB;CAClC,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,SAAS;AACV,GAEaC,IAAiB;CAG7B,SAAS,sDAAsDF,EAAsB,SAAS,MAAM;CACpG,SAAS;CACT,MAAM;CAEN,YAAY;CACZ,WAAW,yCAAyCA,EAAsB,SAAS;CACnF,KAAK;AACN,GAIaG,IAAsB;CAClC,SAASD,EAAe;CACxB,SAASA,EAAe;CACxB,OAAO;AACR,GAKME,IAA8D;CACnE,SAAS;CACT,SAAS;CACT,aAAa;AACd;AAEA,SAAgBC,EAAqB,IAA6B,WAAmB;CACpF,OAAO,GAAGH,EAAe,IAAI,GAAGE,EAAyBE,GAAS,GAAGC,EAAuBD;AAC7F;AAGA,IAAaE,IAAoB;CAChC,OAAO;CACP,aAAa;CACb,aAAa;CACb,UAAU;CACV,aAAa;CAEb,UAAU;AACX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-D789Jwyy.js","names":["NumberValue","cn","Text","Stack","hasRenderableContent","Card","Money","Number$1","paperClip","width","height","depth","inset","count","toothWidth","step","point","x","y","points","segment","Receipt","forwardRef","props","paper","useRef","clipPath","setClipPath","useState","toothDepth","element","update","rectangle","observer","children","header","footer","qrCode","hasFooter","className","shadow","ReceiptItems","items","item"],"sources":["../src/components/blocks/commerce/receipt/receipt.tsx","../src/components/blocks/commerce/receipt/receipt-items.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, useState } from 'react';\nimport { Card, hasRenderableContent } from '../../../base/cards';\nimport { Stack } from '../../../base/structure';\nimport { cn } from '../../../../lib/utils';\nimport type { ReceiptProps } from './types';\n\nfunction paperClip(width: number, height: number, depth: number, toothWidth: number) {\n\tif (!(width > 0 && height > 0 && depth > 0)) return undefined;\n\tconst inset = Math.min(depth, height / 4);\n\tconst count = Math.max(1, Math.min(1024, Math.round(width / toothWidth)));\n\tconst step = width / count;\n\tconst point = (x: number, y: number) => `${Number(x.toFixed(2))}px ${Number(y.toFixed(2))}px`;\n\tconst points: string[] = [point(0, inset)];\n\tfor (let segment = 0; segment < count; segment++) {\n\t\tpoints.push(point((segment + 0.5) * step, 0), point((segment + 1) * step, inset));\n\t}\n\tpoints.push(point(width, height - inset));\n\tfor (let segment = count - 1; segment >= 0; segment--) {\n\t\tpoints.push(point((segment + 0.5) * step, height), point(segment * step, height - inset));\n\t}\n\treturn `polygon(${points.join(', ')})`;\n}\n\n/** Explicit paper surface: Card owns all content insets; clipping is decorative geometry. */\nexport const Receipt = forwardRef<HTMLDivElement, ReceiptProps>(function Receipt({\n\tchildren, header, footer, qrCode, padding = 'md', toothDepth = 5, toothWidth = 8,\n\tshadow = true, className, ...props\n}, ref) {\n\tconst paper = useRef<HTMLDivElement>(null);\n\tconst [clipPath, setClipPath] = useState<string>();\n\tconst depth = Number.isFinite(toothDepth) ? Math.max(0, toothDepth) : 5;\n\tconst width = Number.isFinite(toothWidth) ? Math.max(2, toothWidth) : 8;\n\tuseEffect(() => {\n\t\tconst element = paper.current;\n\t\tif (!element) return;\n\t\tconst update = () => {\n\t\t\tconst rectangle = element.getBoundingClientRect();\n\t\t\tsetClipPath(paperClip(rectangle.width, rectangle.height, depth, width));\n\t\t};\n\t\tupdate();\n\t\tif (typeof ResizeObserver === 'undefined') {\n\t\t\twindow.addEventListener('resize', update);\n\t\t\treturn () => window.removeEventListener('resize', update);\n\t\t}\n\t\tconst observer = new ResizeObserver(update);\n\t\tobserver.observe(element);\n\t\treturn () => observer.disconnect();\n\t}, [depth, width, children, header, footer, qrCode]);\n\tconst hasFooter = hasRenderableContent(footer) || hasRenderableContent(qrCode);\n\treturn <div {...props} ref={ref} className={cn('receipt--component relative isolate w-full min-w-0', className)}>\n\t\t{shadow && <div aria-hidden=\"true\" className=\"receipt--shadow pointer-events-none absolute inset-x-0 rounded-radius shadow-sm\" style={{ insetBlock: depth }} />}\n\t\t<Card ref={paper} surface=\"flat\" padding={padding} headerStart={header}\n\t\t\tfooterSlot={hasFooter ? <Stack gap=\"normal\" align=\"center\" className=\"receipt--footer w-full min-w-0\">{qrCode}{footer}</Stack> : undefined}\n\t\t\tclassName=\"receipt--paper relative bg-card text-card-foreground\" style={{ clipPath }}>\n\t\t\t{children}\n\t\t</Card>\n\t</div>;\n});\n","import { Stack } from '../../../base/structure';\nimport { Money } from '../../../primitives/money';\nimport { Number as NumberValue } from '../../../primitives/number';\nimport { Text } from '../../../typography/text';\nimport { cn } from '../../../../lib/utils';\nimport type { ReceiptItemsProps } from './types';\n\nexport function ReceiptItems({ items, currency, locale, unit, minorUnitScale, formatMode, className, ...props }: ReceiptItemsProps) {\n\tif (items.length === 0) return null;\n\treturn <Stack {...props} gap=\"md\" className={cn('receipt-items--component min-w-0', className)}>\n\t\t{items.map(item => <Stack key={item.id} direction=\"horizontal\" gap=\"md\" justify=\"between\" align=\"start\" wrap={false} className=\"receipt-items--item min-w-0\">\n\t\t\t<Stack gap=\"dense\" className=\"receipt-items--copy min-w-0 flex-1\">\n\t\t\t\t<Text type=\"inherit\" className=\"break-words [overflow-wrap:anywhere]\">{item.name} × <NumberValue type=\"inherit\" value={item.quantity} locale={locale} align=\"left\" /></Text>\n\t\t\t\t{item.description != null && <Text size=\"xs\" type=\"secondary\" className=\"break-words [overflow-wrap:anywhere]\">{item.description}</Text>}\n\t\t\t</Stack>\n\t\t\t<Money type=\"inherit\" amount={item.total ?? item.quantity * item.unitPrice} currency={currency} locale={locale} unit={unit} minorUnitScale={minorUnitScale} formatMode={formatMode} className=\"receipt-items--amount min-w-0 max-w-full whitespace-normal [overflow-wrap:anywhere]\" />\n\t\t</Stack>)}\n\t</Stack>;\n}\n"],"mappings":"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"}
|