themelia-react-ui 2.0.0 → 2.0.2
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 +527 -0
- package/README.md +47 -14
- package/THIRD_PARTY_NOTICES.md +13 -0
- package/dist/accordion-Cjb6sx0G.js +208 -0
- package/dist/accordion-Cjb6sx0G.js.map +1 -0
- package/dist/action-menu-CllU52Mm.js +280 -0
- package/dist/action-menu-CllU52Mm.js.map +1 -0
- package/dist/affordance-geometry.generated-tF36bREk.js +140 -0
- package/dist/affordance-geometry.generated-tF36bREk.js.map +1 -0
- package/dist/ai-artifact-DvTwDVyL.js +1148 -0
- package/dist/ai-artifact-DvTwDVyL.js.map +1 -0
- package/dist/{app-shell-BE_j8-AT.js → app-shell-C4FhvCqF.js} +5 -5
- package/dist/{app-shell-BE_j8-AT.js.map → app-shell-C4FhvCqF.js.map} +1 -1
- package/dist/attachment-BxDfL2mw.js +246 -0
- package/dist/attachment-BxDfL2mw.js.map +1 -0
- package/dist/{auth-M3vGMgDR.js → auth-ax2BqjrI.js} +241 -235
- package/dist/auth-ax2BqjrI.js.map +1 -0
- package/dist/{avatar-djdaaQ_s.js → avatar-DAPlDvhJ.js} +67 -66
- package/dist/avatar-DAPlDvhJ.js.map +1 -0
- package/dist/badge-HpFqoqSY.js +93 -0
- package/dist/badge-HpFqoqSY.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 +50 -46
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +69 -81
- 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 +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 +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 +20 -20
- 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 +216 -220
- 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 +79 -2
- package/dist/base/spinner.js.map +1 -0
- 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 +46 -45
- 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 +2 -2
- package/dist/batch-action-bar-DnUJ21NQ.js +105 -0
- package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
- package/dist/blocks/admin.js +171 -169
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +308 -285
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +626 -589
- 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 +2051 -1329
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +3 -2
- package/dist/blocks/onboarding.js +68 -58
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +27 -26
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/breadcrumbs-C-oqs1sQ.js +129 -0
- package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
- package/dist/{button-R9CCoH7A.js → button-DVzspB_G.js} +15 -14
- package/dist/button-DVzspB_G.js.map +1 -0
- package/dist/{button-BS3KDg00.js → buttons-DPZekJFu.js} +208 -216
- package/dist/buttons-DPZekJFu.js.map +1 -0
- package/dist/cards-BaBZR-AU.js +68 -0
- package/dist/cards-BaBZR-AU.js.map +1 -0
- package/dist/{chart-DwYRKKc-.js → chart-ZOYyK2xG.js} +58 -55
- package/dist/chart-ZOYyK2xG.js.map +1 -0
- package/dist/checkbox-AWIhNhmo.js +36 -0
- package/dist/checkbox-AWIhNhmo.js.map +1 -0
- package/dist/choice-inputs-CNHvARCJ.js +770 -0
- package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
- package/dist/code-block-DeneBJR_.js +185 -0
- package/dist/code-block-DeneBJR_.js.map +1 -0
- package/dist/{collapsible-oMUGM4tr.js → collapsible-C-_l4hpy.js} +4 -4
- package/dist/{collapsible-oMUGM4tr.js.map → collapsible-C-_l4hpy.js.map} +1 -1
- package/dist/{collection-content-Ys-OZOkY.js → collection-content-By56pLog.js} +3 -3
- package/dist/{collection-content-Ys-OZOkY.js.map → collection-content-By56pLog.js.map} +1 -1
- package/dist/combobox-C0EQW6dr.js +875 -0
- package/dist/combobox-C0EQW6dr.js.map +1 -0
- package/dist/combobox-xCQ2RMNE.js +309 -0
- package/dist/combobox-xCQ2RMNE.js.map +1 -0
- package/dist/{command-kPMPjIxJ.js → command-C25VMRII.js} +7 -7
- package/dist/{command-kPMPjIxJ.js.map → command-C25VMRII.js.map} +1 -1
- package/dist/{comments-You0Bzbr.js → comments-BYYlTA8E.js} +390 -379
- package/dist/comments-BYYlTA8E.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 +5 -5
- 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/buttons/loader-button.d.ts +2 -1
- package/dist/components/base/cards/card.recipes.d.ts +2 -3
- package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +3 -13
- package/dist/components/base/cards/smart-card.types.d.ts +11 -4
- package/dist/components/base/chart/chart.d.ts +2 -5
- 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/combobox/combobox.strings.d.ts +7 -0
- package/dist/components/base/combobox/index.d.ts +30 -4
- 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 +26 -15
- 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/navigation/pagination.d.ts +5 -2
- package/dist/components/base/popover/popover.recipes.d.ts +15 -1
- 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/table/index.d.ts +9 -2
- package/dist/components/base/text-inputs/field-clear-button.d.ts +6 -0
- package/dist/components/base/text-inputs/input-group.d.ts +2 -2
- 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/ai/ai-shimmer/ai-shimmer.d.ts +1 -1
- package/dist/components/blocks/ai/ai-shimmer/types.d.ts +3 -0
- 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 +45 -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/inline-stat/inline-stat.d.ts +16 -8
- package/dist/components/blocks/data-display/metadata/index.d.ts +30 -4
- package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
- 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/appointment-calendar/appointment-calendar.d.ts +5 -0
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +220 -0
- package/dist/components/features/appointment-calendar/appointment-calendar.utils.d.ts +41 -0
- package/dist/components/features/appointment-calendar/index.d.ts +3 -0
- package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +32 -0
- package/dist/components/features/appointment-calendar/partials/appointment-month.d.ts +13 -0
- package/dist/components/features/combobox/combobox.strings.d.ts +15 -1
- package/dist/components/features/combobox/types.d.ts +4 -0
- 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 +6 -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 +7 -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 +54 -1
- 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-header.d.ts +1 -1
- package/dist/components/features/table/table.strings.d.ts +55 -1
- package/dist/components/features/table/table.types.d.ts +49 -11
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
- 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/primitives/number.d.ts +4 -2
- package/dist/components/primitives/value.d.ts +3 -1
- 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 +8 -3
- package/dist/components/ui/checkbox.d.ts +4 -3
- package/dist/components/ui/combobox.d.ts +6 -2
- package/dist/components/ui/item.d.ts +8 -8
- package/dist/components/ui/overlay.recipes.d.ts +0 -9
- package/dist/components/ui/switch.d.ts +2 -2
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/{containers-D_L4mTVb.js → containers-Mu1LMGV1.js} +36 -35
- package/dist/containers-Mu1LMGV1.js.map +1 -0
- package/dist/{copyable-DDjTeW_j.js → copyable-ClBuk_UK.js} +6 -6
- package/dist/{copyable-DDjTeW_j.js.map → copyable-ClBuk_UK.js.map} +1 -1
- package/dist/data-display-DT_khPl_.js +971 -0
- package/dist/data-display-DT_khPl_.js.map +1 -0
- package/dist/{date-uf3z37Nm.js → date-DCrsDTZc.js} +5 -5
- package/dist/{date-uf3z37Nm.js.map → date-DCrsDTZc.js.map} +1 -1
- package/dist/date-picker-ay0Pha_a.js +1530 -0
- package/dist/date-picker-ay0Pha_a.js.map +1 -0
- package/dist/date-pickers-Ccw8DL2b.js +175 -0
- package/dist/date-pickers-Ccw8DL2b.js.map +1 -0
- package/dist/display-hAc1HjpI.js +344 -0
- package/dist/display-hAc1HjpI.js.map +1 -0
- package/dist/dropdown-menu-Cl4X7L5S.js +193 -0
- package/dist/dropdown-menu-Cl4X7L5S.js.map +1 -0
- package/dist/editable-text-recipe-Cn61kEcv.js +10 -0
- package/dist/editable-text-recipe-Cn61kEcv.js.map +1 -0
- package/dist/features/activities.js +478 -542
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +209 -199
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +683 -0
- package/dist/features/appointment-calendar.js.map +1 -0
- package/dist/features/async-preview.js +109 -107
- 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 +30 -29
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +285 -283
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +282 -273
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +318 -318
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +146 -147
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +269 -268
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +970 -863
- 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 +1137 -1124
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +206 -194
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +24 -21
- 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 +35 -33
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +11 -5
- package/dist/features/sync.js.map +1 -1
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +501 -496
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-BYIhtitP.js +239 -0
- package/dist/feedback-BYIhtitP.js.map +1 -0
- package/dist/field-affordance-recipes-DZhnIL_Y.js +41 -0
- package/dist/field-affordance-recipes-DZhnIL_Y.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-BGfvjP4d.js} +483 -472
- package/dist/filters-BGfvjP4d.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-CwH9y77i.js} +6 -5
- package/dist/form-field-CwH9y77i.js.map +1 -0
- package/dist/{form-sizing-uWP4lzVh.js → form-sizing-BdP_Mf5p.js} +45 -46
- package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
- package/dist/{forms-DDeEnXSY.js → forms-B9G_xwzi.js} +22 -22
- package/dist/{forms-DDeEnXSY.js.map → forms-B9G_xwzi.js.map} +1 -1
- package/dist/forms-numeric-B_jraJaQ.js +906 -0
- package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
- package/dist/{header-2ycNqGOR.js → header-CGXuhcRm.js} +164 -161
- package/dist/header-CGXuhcRm.js.map +1 -0
- package/dist/{hooks-DQ5SPwZw.js → hooks-Dkz0K2WT.js} +2 -2
- package/dist/{hooks-DQ5SPwZw.js.map → hooks-Dkz0K2WT.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-DYKIwvOV.js +55 -0
- package/dist/icon-badge-DYKIwvOV.js.map +1 -0
- package/dist/index.js +7 -7
- package/dist/input-CZw8iU99.js +21 -0
- package/dist/input-CZw8iU99.js.map +1 -0
- package/dist/input-DQdEd0YD.js +263 -0
- package/dist/input-DQdEd0YD.js.map +1 -0
- package/dist/interaction-recipes-XR9ZpVYL.js +25 -0
- package/dist/interaction-recipes-XR9ZpVYL.js.map +1 -0
- package/dist/item-K5_ghvze.js +275 -0
- package/dist/item-K5_ghvze.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 +72 -0
- package/dist/lib/editable-text-recipe.d.ts +4 -4
- package/dist/lib/field-affordance-recipes.d.ts +8 -3
- 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 +40 -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/theme-mode-css.d.ts +7 -0
- package/dist/lib/token-merge.generated.d.ts +9 -6
- package/dist/lib/tone-recipes.d.ts +87 -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 +11 -2
- package/dist/lib/utils.js +1 -1
- package/dist/media-gallery-3zIVLMWH.js +203 -0
- package/dist/media-gallery-3zIVLMWH.js.map +1 -0
- package/dist/mentions-utuUvH1K.js +570 -0
- package/dist/mentions-utuUvH1K.js.map +1 -0
- package/dist/{message-YfFmbXNP.js → message-DZ_ruyUV.js} +7 -6
- package/dist/message-DZ_ruyUV.js.map +1 -0
- package/dist/metadata-list-8N16ZMW_.js +405 -0
- package/dist/metadata-list-8N16ZMW_.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-Bnotn4AQ.js +145 -0
- package/dist/navigation-Bnotn4AQ.js.map +1 -0
- package/dist/navigation-BzhHI3lo.js +269 -0
- package/dist/navigation-BzhHI3lo.js.map +1 -0
- package/dist/{navigation-row-recipes-DlU-4QYO.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
- package/dist/{navigation-row-recipes-DlU-4QYO.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
- package/dist/{number-CKRBYmZK.js → number-DbV1Dija.js} +36 -34
- package/dist/{number-CKRBYmZK.js.map → number-DbV1Dija.js.map} +1 -1
- package/dist/overflow-tab-bar-CWY7Nogn.js +282 -0
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
- package/dist/overlay.recipes-8GHqmlb4.js +6 -0
- package/dist/overlay.recipes-8GHqmlb4.js.map +1 -0
- package/dist/overlays-DNWmZrJ4.js +1001 -0
- package/dist/overlays-DNWmZrJ4.js.map +1 -0
- package/dist/page-Bgl1F560.js +224 -0
- package/dist/page-Bgl1F560.js.map +1 -0
- package/dist/page-header-commands-DOb6WsfD.js +126 -0
- package/dist/page-header-commands-DOb6WsfD.js.map +1 -0
- package/dist/pagination-BL25hu2s.js +158 -0
- package/dist/pagination-BL25hu2s.js.map +1 -0
- package/dist/{popover-Dcv_9jxr.js → popover-7_m66eYW.js} +11 -10
- package/dist/popover-7_m66eYW.js.map +1 -0
- package/dist/popover-menu-B9WWygpa.js +100 -0
- package/dist/popover-menu-B9WWygpa.js.map +1 -0
- package/dist/{popover.recipes-wmbvL8Ah.js → popover.recipes-D3j8R8Yp.js} +18 -11
- package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
- package/dist/{primitives-BHrwQXFC.js → primitives-BFK08r9M.js} +45 -44
- package/dist/primitives-BFK08r9M.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-Br9WTFya.js → progress-B1VnCT0K.js} +9 -9
- package/dist/{progress-Br9WTFya.js.map → progress-B1VnCT0K.js.map} +1 -1
- package/dist/{receipt-CV89q1fs.js → receipt-BVSOH3Xo.js} +9 -6
- package/dist/{receipt-CV89q1fs.js.map → receipt-BVSOH3Xo.js.map} +1 -1
- package/dist/rich-text-GOUyKQ-s.js +78 -0
- package/dist/rich-text-GOUyKQ-s.js.map +1 -0
- package/dist/rich-text-editor-cRLC-eBK.js +1196 -0
- package/dist/rich-text-editor-cRLC-eBK.js.map +1 -0
- package/dist/rich-text-editor-toolbar-DfXg0-VC.js +94 -0
- package/dist/rich-text-editor-toolbar-DfXg0-VC.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-DcI-M1UT.js +48 -0
- package/dist/scroll-area-DcI-M1UT.js.map +1 -0
- package/dist/{separator-Do5GWDYi.js → separator-BDV-Y648.js} +3 -3
- package/dist/{separator-Do5GWDYi.js.map → separator-BDV-Y648.js.map} +1 -1
- package/dist/{separator-BMEvwnSX.js → separator-Bom7NsGO.js} +2 -2
- package/dist/{separator-BMEvwnSX.js.map → separator-Bom7NsGO.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-ybnjVwbd.js +171 -0
- package/dist/settings-ybnjVwbd.js.map +1 -0
- package/dist/sheet-CGpB3omz.js +211 -0
- package/dist/sheet-CGpB3omz.js.map +1 -0
- package/dist/{sidebar-Cb8WzOvE.js → sidebar-A0ElHINE.js} +17 -16
- package/dist/sidebar-A0ElHINE.js.map +1 -0
- package/dist/{sidebar-Crc9M9JV.js → sidebar-CPx_7YBa.js} +205 -203
- package/dist/sidebar-CPx_7YBa.js.map +1 -0
- package/dist/{skeleton-DVMXr15h.js → skeleton-Byjnt7qr.js} +9 -9
- package/dist/{skeleton-DVMXr15h.js.map → skeleton-Byjnt7qr.js.map} +1 -1
- package/dist/smart-card-DiC5aac3.js +604 -0
- package/dist/smart-card-DiC5aac3.js.map +1 -0
- package/dist/{structure-hzCW-XsV.js → structure-BmisBK-3.js} +2 -2
- package/dist/{structure-hzCW-XsV.js.map → structure-BmisBK-3.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-BweFy_P9.js +1530 -0
- package/dist/table-BweFy_P9.js.map +1 -0
- package/dist/table-DsfzoUia.js +175 -0
- package/dist/table-DsfzoUia.js.map +1 -0
- package/dist/tabs-CDocW5D1.js +191 -0
- package/dist/tabs-CDocW5D1.js.map +1 -0
- package/dist/text-inputs-f9Ia-aCi.js +353 -0
- package/dist/text-inputs-f9Ia-aCi.js.map +1 -0
- package/dist/theme-mode-css-BB-_RYab.js +14 -0
- package/dist/theme-mode-css-BB-_RYab.js.map +1 -0
- package/dist/theme-scope-BJ6eE2xt.js +50 -0
- package/dist/theme-scope-BJ6eE2xt.js.map +1 -0
- package/dist/theme.css +285 -228
- package/dist/themes/green.css +16 -12
- package/dist/timelines-CwM_9IhD.js +457 -0
- package/dist/timelines-CwM_9IhD.js.map +1 -0
- package/dist/tone-recipes-BPsRAvhu.js +73 -0
- package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
- package/dist/tooltip-yiRJUFjp.js +111 -0
- package/dist/tooltip-yiRJUFjp.js.map +1 -0
- package/dist/{tree-BotPlyiD.js → tree-WnKQzwbq.js} +69 -67
- package/dist/tree-WnKQzwbq.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-UTnveOEy.js +117 -0
- package/dist/typography-UTnveOEy.js.map +1 -0
- package/dist/typography.js +2 -2
- package/dist/{ui-provider-D2_TeLqw.js → ui-provider-C_U0Xma4.js} +13 -5
- package/dist/ui-provider-C_U0Xma4.js.map +1 -0
- package/dist/ui-provider.js +3 -3
- package/dist/{upload-B0WHW7ak.js → upload-CXyxmQBP.js} +210 -209
- package/dist/upload-CXyxmQBP.js.map +1 -0
- package/dist/{upload-queue-BHZ_wBfd.js → upload-queue-Boscubn9.js} +111 -111
- package/dist/upload-queue-Boscubn9.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-BhO5eqkX.js} +45 -29
- package/dist/usage-card-BhO5eqkX.js.map +1 -0
- package/dist/{utils-Cospvlj1.js → utils-BRhFDwuU.js} +114 -67
- package/dist/utils-BRhFDwuU.js.map +1 -0
- package/dist/value-inputs-DXPDjvBU.js +963 -0
- package/dist/value-inputs-DXPDjvBU.js.map +1 -0
- package/dist/{value-typography-Deb3yQZg.js → value-typography-BP8OG6h5.js} +2 -2
- package/dist/{value-typography-Deb3yQZg.js.map → value-typography-BP8OG6h5.js.map} +1 -1
- package/dist/workspace-Cdrg7k9f.js +408 -0
- package/dist/workspace-Cdrg7k9f.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +21 -22
- 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 +58 -13
- package/docs/consumer-skill/references/design-contract.md +12 -3
- package/docs/consumer-skill/references/installation.md +11 -1
- package/docs/consumer-skill/references/integration.md +4 -3
- package/docs/consumer-skill/references/public-api.json +956 -453
- package/docs/consumer-skill/references/review.md +32 -5
- package/docs/consumer-skill/references/theming.md +78 -9
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +54 -10
- package/docs/consumer-skill/scripts/composition-policy.mjs +42 -11
- package/docs/consumer-skill/scripts/surface-policy.mjs +150 -5
- package/package.json +17 -5
- package/dist/accordion-CQXVcd7Q.js +0 -205
- 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 +0 -68
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +0 -1
- package/dist/ai-artifact-2PQ2fItc.js +0 -1112
- 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 +0 -66
- package/dist/cards-QoJ4syG9.js.map +0 -1
- package/dist/chart-DwYRKKc-.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 +0 -272
- package/dist/combobox-6dvVny2q.js.map +0 -1
- package/dist/combobox-CB7039j7.js +0 -865
- 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/date-pickers-CnFCb0n2.js +0 -174
- package/dist/date-pickers-CnFCb0n2.js.map +0 -1
- package/dist/display-DrdvPwF0.js +0 -343
- package/dist/display-DrdvPwF0.js.map +0 -1
- package/dist/dropdown-menu-CURh59jb.js +0 -193
- package/dist/dropdown-menu-CURh59jb.js.map +0 -1
- package/dist/editable-text-recipe-Bkm6wKHp.js +0 -10
- package/dist/editable-text-recipe-Bkm6wKHp.js.map +0 -1
- package/dist/feedback-C7nR0UtT.js +0 -232
- package/dist/feedback-C7nR0UtT.js.map +0 -1
- package/dist/field-affordance-recipes-CkOCdE2y.js +0 -46
- 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-field-VZRULhUK.js.map +0 -1
- package/dist/form-sizing-uWP4lzVh.js.map +0 -1
- package/dist/forms-numeric-D3CO60IF.js +0 -905
- 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-BoLm9Hks.js +0 -20
- package/dist/input-BoLm9Hks.js.map +0 -1
- package/dist/input-DhQdBnV3.js +0 -255
- package/dist/input-DhQdBnV3.js.map +0 -1
- package/dist/item-xzh8Df65.js +0 -264
- 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/message-YfFmbXNP.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/pagination-Cm0jqa3I.js +0 -149
- package/dist/pagination-Cm0jqa3I.js.map +0 -1
- package/dist/popover-Dcv_9jxr.js.map +0 -1
- package/dist/popover-menu-DnRFKnHP.js +0 -99
- package/dist/popover-menu-DnRFKnHP.js.map +0 -1
- package/dist/popover.recipes-wmbvL8Ah.js.map +0 -1
- package/dist/primitives-BHrwQXFC.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/spinner-CmTAbEp0.js +0 -80
- package/dist/spinner-CmTAbEp0.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 +0 -162
- 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 +0 -189
- package/dist/tabs-Dk8E_knt.js.map +0 -1
- package/dist/text-inputs-BFpku0Qd.js +0 -331
- package/dist/text-inputs-BFpku0Qd.js.map +0 -1
- package/dist/theme-scope-kStaAer0.js +0 -39
- package/dist/theme-scope-kStaAer0.js.map +0 -1
- package/dist/timelines-CxuAFIc2.js +0 -439
- 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/usage-card-U0YBLTNT.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-preview.js","names":["_Fragment","Button","Stack","LoadingState","ErrorState","Value","Name","SecondaryValue","EmptyValue","Badge","PopoverTrigger","Popover","PopoverContent","EmptyState","React","Fragment$1","defaultAsyncPreviewStrings","asyncPreviewCache","readCache","cacheKey","cached","staleTime","normalizeLoading","loading","hasStaticDataSource","options","useAsyncPreview","openProp","hasStaticData","staticData","onShow","isControlled","uncontrolledOpen","setUncontrolledOpen","useState","defaultOpen","open","data","setData","status","setStatus","error","setError","setLoadingState","meta","setMetaState","setCached","resolvedData","resolvedStatus","abortRef","useRef","requestIdRef","prefetchedRef","metaRef","openRunKeyRef","activeRunKeyRef","stateRef","setOpen","useCallback","nextOpen","currentState","onOpenChange","run","requestKey","type","activeController","reason","cachedEntry","cachePolicy","controller","requestId","hadCache","loadingState","onBeforeShow","onRefresh","applyIfCurrent","fn","result","nextLoading","next","nextMeta","nextStatus","nextData","settledState","onData","onSettled","err","onError","context","refresh","prefetch","close","state","useMemo","useEffect","openRunKey","clearAsyncPreviewCache","AsyncPreviewContext","createContext","useAsyncPreviewContext","ctx","useContext","AsyncPreviewRoot","stringsProp","strings","useStrings","preview","AsyncPreviewTrigger","maybePrefetch","prefetchOn","triggerProps","render","renderedTrigger","AsyncPreviewContent","props","contentProps","sizeClassName","size","inset","padding","cn","className","children","AsyncPreviewState","AsyncPreviewBody","AsyncPreviewLoading","label","phase","progress","AsyncPreviewError","AsyncPreviewEmpty","createAsyncPreview","AsyncPreview","isEmpty","value","renderBadge","badge","PreviewTriggerCellInner","Icon","primaryIsEmpty","name","contentClassName","leading","emptyLabel","forceNameCase","secondary","trailing","PreviewTriggerCell","rootProps","cellProps","hasPreview","disabledReason","ChevronDown"],"sources":["../../src/components/features/async-preview/async-preview.strings.ts","../../src/components/features/async-preview/hooks/use-async-preview.ts","../../src/components/features/async-preview/async-preview.tsx","../../src/components/features/async-preview/preview-trigger-cell.tsx"],"sourcesContent":["/**\n * Strings for AsyncPreview. Consumers override with `strings={{ ... }}` on\n * `<AsyncPreview.Root />`; all user-facing copy is deep-merged via\n * `useStrings`.\n */\nexport interface AsyncPreviewStrings {\n\tloading: string;\n\terrorTitle: string;\n\terrorDescription: string;\n\tretry: string;\n\temptyTitle: string;\n\temptyDescription: string;\n}\n\nexport const defaultAsyncPreviewStrings: AsyncPreviewStrings = {\n\tloading: 'Loading preview...',\n\terrorTitle: 'Could not load preview',\n\terrorDescription: 'Try again or open the full record.',\n\tretry: 'Retry',\n\temptyTitle: 'No preview data',\n\temptyDescription: 'There is nothing to show for this record yet.',\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n\t\tAsyncPreviewLoadingState,\n\t\tAsyncPreviewReason,\n\t\tAsyncPreviewRootProps,\n\t\tAsyncPreviewState,\n\t\tAsyncPreviewStatus,\n} from '../async-preview.types';\n\ninterface CacheEntry {\n\t\t/** Formatted time for the entry. */\n\t\ttimestamp: number;\n\t\t/** Records to render. */\n\t\tdata: unknown | null;\n\t\tstatus: 'success' | 'empty';\n\t\tmeta: Record<string, unknown>;\n}\n\nconst asyncPreviewCache = new Map<string, CacheEntry>();\n\nfunction readCache(cacheKey: string | undefined, staleTime: number): CacheEntry | undefined {\n\t\tif (!cacheKey) return undefined;\n\t\tconst cached = asyncPreviewCache.get(cacheKey);\n\t\tif (!cached) return undefined;\n\t\tif (Date.now() - cached.timestamp > staleTime) {\n\t\t\t\tasyncPreviewCache.delete(cacheKey);\n\t\t\t\treturn undefined;\n\t\t}\n\t\treturn cached;\n}\n\nfunction normalizeLoading(\n\t\tloading: AsyncPreviewLoadingState,\n): false | Exclude<AsyncPreviewLoadingState, false> {\n\t\treturn loading === false ? false : loading;\n}\n\nfunction hasStaticDataSource<\n\t\tTData,\n\t\tTContext,\n\t\tTType extends string,\n>(options: UseAsyncPreviewOptions<TData, TContext, TType>) {\n\t\treturn Object.prototype.hasOwnProperty.call(options, 'data');\n}\n\nexport interface UseAsyncPreviewOptions<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n> extends Omit<AsyncPreviewRootProps<TData, TContext, TType>, 'children' | 'strings'> {}\n\nexport type UseAsyncPreviewReturn<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n> = AsyncPreviewState<TData, TContext, TType> & {\n\t\tsetOpen: (open: boolean) => void;\n};\n\nexport function useAsyncPreview<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>(options: UseAsyncPreviewOptions<TData, TContext, TType>): UseAsyncPreviewReturn<TData, TContext, TType> {\n\t\tconst {\n\t\t\t\ttype,\n\t\t\t\tcontext,\n\t\t\t\tcacheKey,\n\t\t\t\tcachePolicy = 'cache-first',\n\t\t\t\tstaleTime = 300_000,\n\t\t\t\topen: openProp,\n\t\t\t\tdefaultOpen = false,\n\t\t\t\tonOpenChange,\n\t\t\t\tonBeforeShow,\n\t\t\t\tonData,\n\t\t\t\tonError,\n\t\t\t\tonSettled,\n\t\t\t\tonRefresh,\n\t\t} = options;\n\t\tconst hasStaticData = hasStaticDataSource(options);\n\t\tconst staticData = hasStaticData ? options.data ?? null : null;\n\t\tconst onShow = hasStaticData ? undefined : options.onShow;\n\n\t\tconst isControlled = openProp !== undefined;\n\t\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\t\tconst open = openProp ?? uncontrolledOpen;\n\n\t\tconst [data, setData] = useState<TData | null>(() => {\n\t\t\t\tif (hasStaticData) return staticData as TData | null;\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.status === 'success' ? cached.data as TData : null;\n\t\t});\n\t\tconst [status, setStatus] = useState<AsyncPreviewStatus>(() => {\n\t\t\t\tif (hasStaticData) return staticData === null ? 'empty' : 'success';\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.status ?? 'idle';\n\t\t});\n\t\tconst [error, setError] = useState<unknown>(null);\n\t\tconst [loading, setLoadingState] = useState<false | Exclude<AsyncPreviewLoadingState, false>>(false);\n\t\tconst [meta, setMetaState] = useState<Record<string, unknown>>(() => {\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.meta ?? {};\n\t\t});\n\t\tconst [cached, setCached] = useState(() => readCache(cacheKey, staleTime) !== undefined);\n\t\tconst resolvedData = hasStaticData ? staticData as TData | null : data;\n\t\tconst resolvedStatus = hasStaticData\n\t\t\t\t? staticData === null ? 'empty' : 'success'\n\t\t\t\t: status;\n\n\t\tconst abortRef = useRef<AbortController | null>(null);\n\t\tconst requestIdRef = useRef(0);\n\t\tconst prefetchedRef = useRef(false);\n\t\tconst metaRef = useRef(meta);\n\t\tconst openRunKeyRef = useRef<string | null>(null);\n\t\tconst activeRunKeyRef = useRef<string | null>(null);\n\n\t\tconst stateRef = useRef<AsyncPreviewState<TData, TContext, TType> | null>(null);\n\n\t\tconst setOpen = useCallback(\n\t\t\t\t(nextOpen: boolean) => {\n\t\t\t\t\t\tif (!isControlled) setUncontrolledOpen(nextOpen);\n\t\t\t\t\t\tconst currentState = stateRef.current;\n\t\t\t\t\t\tif (currentState) {\n\t\t\t\t\t\t\t\tonOpenChange?.(nextOpen, { ...currentState, open: nextOpen });\n\t\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[isControlled, onOpenChange],\n\t\t);\n\n\t\tconst run = useCallback(\n\t\t\t\tasync (reason: AsyncPreviewReason) => {\n\t\t\t\t\t\tif (hasStaticData || !onShow) return;\n\n\t\t\t\t\t\tconst requestKey = cacheKey ?? type;\n\t\t\t\t\t\tconst activeController = abortRef.current;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treason === 'open' &&\n\t\t\t\t\t\t\t\tactiveRunKeyRef.current === requestKey &&\n\t\t\t\t\t\t\t\tactiveController &&\n\t\t\t\t\t\t\t\t!activeController.signal.aborted\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// A cache hit still supersedes work for the previous preview.\n\t\t\t\t\t\tabortRef.current?.abort();\n\t\t\t\t\t\tabortRef.current = null;\n\t\t\t\t\t\tactiveRunKeyRef.current = null;\n\n\t\t\t\t\t\tconst cachedEntry = readCache(cacheKey, staleTime);\n\t\t\t\t\t\tconst canUseCache =\n\t\t\t\t\t\t\t\treason === 'open' &&\n\t\t\t\t\t\t\t\tcachedEntry !== undefined &&\n\t\t\t\t\t\t\t\tcachePolicy === 'cache-first';\n\n\t\t\t\t\t\tif (canUseCache) {\n\t\t\t\t\t\t\t\tsetCached(true);\n\t\t\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\t\t\tmetaRef.current = cachedEntry.meta;\n\t\t\t\t\t\t\t\tsetMetaState(cachedEntry.meta);\n\t\t\t\t\t\t\t\tsetData(cachedEntry.status === 'success' ? cachedEntry.data as TData : null);\n\t\t\t\t\t\t\t\tsetStatus(cachedEntry.status);\n\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst controller = new AbortController();\n\t\t\t\t\t\tabortRef.current = controller;\n\t\t\t\t\t\tactiveRunKeyRef.current = requestKey;\n\t\t\t\t\t\tconst requestId = requestIdRef.current + 1;\n\t\t\t\t\t\trequestIdRef.current = requestId;\n\t\t\t\t\t\tconst hadCache = cachedEntry !== undefined;\n\n\t\t\t\t\t\tsetCached(false);\n\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\tsetStatus('loading');\n\t\t\t\t\t\tsetLoadingState({ label: undefined });\n\n\t\t\t\t\t\tconst loadingState = stateRef.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\t\t\tloading: { label: undefined },\n\t\t\t\t\t\t\t\t\t\t\t\tstatus: 'loading' as const,\n\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\tif (loadingState) onBeforeShow?.(loadingState);\n\t\t\t\t\t\tif (reason === 'refresh') {\n\t\t\t\t\t\t\t\tif (loadingState) onRefresh?.(loadingState);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst applyIfCurrent = (fn: () => void) => {\n\t\t\t\t\t\t\t\tif (requestIdRef.current !== requestId || controller.signal.aborted) return;\n\t\t\t\t\t\t\t\tfn();\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst result = await onShow({\n\t\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\t\t\t\treason,\n\t\t\t\t\t\t\t\t\t\tcached: hadCache,\n\t\t\t\t\t\t\t\t\t\tsetLoading: (nextLoading) =>\n\t\t\t\t\t\t\t\t\t\t\t\tapplyIfCurrent(() => setLoadingState(normalizeLoading(nextLoading))),\n\t\t\t\t\t\t\t\t\t\tsetMeta: (nextMeta) =>\n\t\t\t\t\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst next = { ...metaRef.current, ...nextMeta };\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetaRef.current = next;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetMetaState(next);\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\tconst nextStatus: Extract<AsyncPreviewStatus, 'empty' | 'success'> =\n\t\t\t\t\t\t\t\t\t\t\t\tresult === null || result === undefined ? 'empty' : 'success';\n\t\t\t\t\t\t\t\t\t\tconst nextData = nextStatus === 'success' ? result as TData : null;\n\t\t\t\t\t\t\t\t\t\tsetData(nextData);\n\t\t\t\t\t\t\t\t\t\tsetStatus(nextStatus);\n\t\t\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\t\t\t\t\tsetCached(false);\n\n\t\t\t\t\t\t\t\t\t\tif (cacheKey) {\n\t\t\t\t\t\t\t\t\t\t\t\tasyncPreviewCache.set(cacheKey, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: nextData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: nextStatus,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmeta: metaRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tconst settledState = stateRef.current\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: nextData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: false as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: nextStatus,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmeta: metaRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\t\t\t\tif (nextData !== null && settledState) {\n\t\t\t\t\t\t\t\t\t\t\t\tonData?.(nextData, settledState);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (settledState) onSettled?.(settledState);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tif (controller.signal.aborted) return;\n\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\tsetError(err);\n\t\t\t\t\t\t\t\t\t\tsetStatus('error');\n\t\t\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\t\t\tconst settledState = stateRef.current\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror: err,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: false as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: 'error' as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\t\t\t\tif (settledState) onError?.(err, settledState);\n\t\t\t\t\t\t\t\t\t\tif (settledState) onSettled?.(settledState);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (requestIdRef.current === requestId) {\n\t\t\t\t\t\t\t\t\t\tif (abortRef.current === controller) abortRef.current = null;\n\t\t\t\t\t\t\t\t\t\tif (activeRunKeyRef.current === requestKey) activeRunKeyRef.current = null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\t\tcacheKey,\n\t\t\t\t\t\tcachePolicy,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\thasStaticData,\n\t\t\t\t\t\tonBeforeShow,\n\t\t\t\t\t\tonData,\n\t\t\t\t\t\tonError,\n\t\t\t\t\t\tonRefresh,\n\t\t\t\t\t\tonSettled,\n\t\t\t\t\t\tonShow,\n\t\t\t\t\t\tstaleTime,\n\t\t\t\t\t\ttype,\n\t\t\t\t],\n\t\t);\n\n\t\tconst refresh = useCallback(() => {\n\t\t\t\tvoid run('refresh');\n\t\t}, [run]);\n\n\t\tconst prefetch = useCallback(() => {\n\t\t\t\tif (hasStaticData) return;\n\t\t\t\tif (prefetchedRef.current) return;\n\t\t\t\tprefetchedRef.current = true;\n\t\t\t\tvoid run('prefetch');\n\t\t}, [hasStaticData, run]);\n\n\t\tconst close = useCallback(() => {\n\t\t\t\tsetOpen(false);\n\t\t}, [setOpen]);\n\n\t\tconst state = useMemo<AsyncPreviewState<TData, TContext, TType>>(\n\t\t\t\t() => ({\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdata: resolvedData,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tloading,\n\t\t\t\t\t\tstatus: resolvedStatus,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\topen,\n\t\t\t\t\t\tcached,\n\t\t\t\t\t\trefresh,\n\t\t\t\t\t\tprefetch,\n\t\t\t\t\t\tclose,\n\t\t\t\t}),\n\t\t\t\t[cached, close, context, error, loading, meta, open, prefetch, refresh, resolvedData, resolvedStatus, type],\n\t\t);\n\t\tstateRef.current = state;\n\t\tmetaRef.current = meta;\n\n\t\tuseEffect(() => {\n\t\t\t\tif (!hasStaticData) return;\n\t\t\t\tabortRef.current?.abort();\n\t\t\t\tabortRef.current = null;\n\t\t\t\tactiveRunKeyRef.current = null;\n\t\t\t\topenRunKeyRef.current = null;\n\t\t\t\tsetError(null);\n\t\t\t\tsetLoadingState(false);\n\t\t\t\tsetCached(false);\n\t\t}, [hasStaticData, staticData]);\n\n\t\tuseEffect(() => {\n\t\t\t\tif (!open) {\n\t\t\t\t\t\topenRunKeyRef.current = null;\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (hasStaticData) return;\n\n\t\t\t\tconst openRunKey = cacheKey ?? type;\n\t\t\t\tif (openRunKeyRef.current === openRunKey) return;\n\t\t\t\topenRunKeyRef.current = openRunKey;\n\t\t\t\tvoid run('open');\n\t\t}, [cacheKey, hasStaticData, open, run, type]);\n\n\t\tuseEffect(() => {\n\t\t\t\tprefetchedRef.current = false;\n\t\t}, [cacheKey, hasStaticData, type]);\n\n\t\tuseEffect(\n\t\t\t\t() => () => {\n\t\t\t\t\t\tabortRef.current?.abort();\n\t\t\t\t},\n\t\t\t\t[],\n\t\t);\n\n\t\treturn { ...state, setOpen };\n}\n\nexport function clearAsyncPreviewCache(cacheKey?: string) {\n\t\tif (cacheKey) {\n\t\t\t\tasyncPreviewCache.delete(cacheKey);\n\t\t\t\treturn;\n\t\t}\n\t\tasyncPreviewCache.clear();\n}\n","/**\n * AsyncPreview — generic lazy preview popover for table cells, inline values,\n * buttons, badges, or any other trigger.\n *\n * The library owns popover chrome, async state, abort/race protection, cache,\n * loading/error/empty defaults, and composition primitives. Consumers own the\n * fetcher, routing callbacks, telemetry, and domain rendering.\n */\nimport {\n\t\tcreateContext,\n\t\tuseContext,\n} from 'react';\n\nimport { Button } from '../../base/buttons';\nimport { ErrorState, LoadingState } from '../../base/feedback';\nimport { EmptyState } from '../../blocks/data-display';\nimport {\n\t\tPopover,\n\t\tPopoverContent,\n\t\tPopoverTrigger,\n} from '../../base/popover';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport {\n\t\tdefaultAsyncPreviewStrings,\n\t\ttype AsyncPreviewStrings,\n} from './async-preview.strings';\nimport type {\n\t\tAsyncPreviewBodyProps,\n\t\tAsyncPreviewContentProps,\n\t\tAsyncPreviewEmptyProps,\n\t\tAsyncPreviewErrorProps,\n\t\tAsyncPreviewLoadingProps,\n\t\tAsyncPreviewRootProps,\n\t\tAsyncPreviewState as AsyncPreviewStateValue,\n\t\tAsyncPreviewStateProps,\n\t\tAsyncPreviewTriggerProps,\n} from './async-preview.types';\nimport { useAsyncPreview } from './hooks/use-async-preview';\n\ninterface AsyncPreviewContextValue<TData, TContext, TType extends string> {\n\t\tstate: AsyncPreviewStateValue<TData, TContext, TType>;\n\t\tsetOpen: (open: boolean) => void;\n\t\t/** Overrides this surface's own copy. */\n\t\tstrings: AsyncPreviewStrings;\n\t\tprefetchOn: false | 'hover' | 'focus';\n}\n\nconst AsyncPreviewContext =\n\t\tcreateContext<AsyncPreviewContextValue<unknown, unknown, string> | null>(null);\n\nfunction useAsyncPreviewContext<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>(): AsyncPreviewContextValue<TData, TContext, TType> {\n\t\tconst ctx = useContext(AsyncPreviewContext);\n\t\tif (!ctx) {\n\t\t\t\tthrow new Error('AsyncPreview compound parts must be rendered inside <AsyncPreview.Root>.');\n\t\t}\n\t\treturn ctx as AsyncPreviewContextValue<TData, TContext, TType>;\n}\n\nfunction AsyncPreviewRoot<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({\n\t\tchildren,\n\t\tstrings: stringsProp,\n\t\tprefetchOn = false,\n\t\t...options\n}: AsyncPreviewRootProps<TData, TContext, TType>) {\n\t\tconst strings = useStrings(defaultAsyncPreviewStrings, stringsProp);\n\t\tconst preview = useAsyncPreview<TData, TContext, TType>(options);\n\t\tconst state: AsyncPreviewStateValue<TData, TContext, TType> = {\n\t\t\t\ttype: preview.type,\n\t\t\t\tcontext: preview.context,\n\t\t\t\tdata: preview.data,\n\t\t\t\terror: preview.error,\n\t\t\t\tloading: preview.loading,\n\t\t\t\tstatus: preview.status,\n\t\t\t\tmeta: preview.meta,\n\t\t\t\topen: preview.open,\n\t\t\t\tcached: preview.cached,\n\t\t\t\trefresh: preview.refresh,\n\t\t\t\tprefetch: preview.prefetch,\n\t\t\t\tclose: () => preview.setOpen(false),\n\t\t};\n\n\t\treturn (\n\t\t\t\t<AsyncPreviewContext.Provider\n\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\tstate: state as AsyncPreviewStateValue<unknown, unknown, string>,\n\t\t\t\t\t\t\t\tsetOpen: preview.setOpen,\n\t\t\t\t\t\t\t\tstrings,\n\t\t\t\t\t\t\t\tprefetchOn,\n\t\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\t<span className=\"async-preview--component contents\">\n\t\t\t\t\t\t\t\t<Popover open={state.open} onOpenChange={preview.setOpen}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t</span>\n\t\t\t\t</AsyncPreviewContext.Provider>\n\t\t);\n}\n\nfunction AsyncPreviewTrigger<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ render, children }: AsyncPreviewTriggerProps<TData, TContext, TType>) {\n\t\tconst { state, prefetchOn } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tconst maybePrefetch = () => {\n\t\t\t\tif (prefetchOn) state.prefetch();\n\t\t};\n\t\tconst triggerProps = {\n\t\t\t\t'aria-busy': state.status === 'loading' ? true as const : undefined,\n\t\t\t\t'data-state': state.open ? 'open' as const : 'closed' as const,\n\t\t\t\t'data-loading': state.status === 'loading' ? true as const : undefined,\n\t\t\t\tonPointerEnter: prefetchOn === 'hover' ? maybePrefetch : undefined,\n\t\t\t\tonFocus: prefetchOn === 'focus' ? maybePrefetch : undefined,\n\t\t};\n\n\t\tif (render) {\n\t\t\t\tconst renderedTrigger = typeof render === 'function'\n\t\t\t\t\t\t? render({ state, triggerProps })\n\t\t\t\t\t\t: render;\n\t\t\t\treturn (\n\t\t\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\t\t\trender={renderedTrigger}\n\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewContent({\n\t\tclassName,\n\t\tchildren,\n\t\talign = 'start',\n\t\tsideOffset = 8,\n\t\tfinalFocus = true,\n\t\t...props\n}: AsyncPreviewContentProps) {\n\t\tconst { state } = useAsyncPreviewContext();\n\t\tconst { size = 'md', padding = 'none', ...contentProps } = props;\n\t\tconst sizeClassName = {\n\t\t\t\tsm: 'w-72',\n\t\t\t\tmd: 'w-80',\n\t\t\t\tlg: 'w-90',\n\t\t}[size];\n\t\tconst inset = ({\n\t\t\t\tnone: 'flush',\n\t\t\t\tsm: 'compact',\n\t\t\t\tmd: 'default',\n\t\t\t\tlg: 'flush',\n\t\t} as const)[padding];\n\t\tconst paddingClassName = padding === 'none'\n\t\t\t\t? 'gap-0'\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t\t<PopoverContent\n\t\t\t\t\t\talign={align}\n\t\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t\t\tfinalFocus={finalFocus}\n\t\t\t\t\t\tinset={inset}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'async-preview--content max-w-[calc(100vw-2rem)] overflow-hidden',\n\t\t\t\t\t\t\t\tsizeClassName,\n\t\t\t\t\t\t\t\tpaddingClassName,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdata-status={state.status}\n\t\t\t\t\t\tdata-preview-type={state.type}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t>\n\t\t\t\t\t\t{padding === 'lg' ? <div className=\"p-surface-lg\">{children}</div> : children}\n\t\t\t\t</PopoverContent>\n\t\t);\n}\n\nfunction AsyncPreviewState<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children }: AsyncPreviewStateProps<TData, TContext, TType>) {\n\t\tconst { state } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\treturn <>{children(state)}</>;\n}\n\nfunction AsyncPreviewBody<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children }: AsyncPreviewBodyProps<TData, TContext, TType>) {\n\t\tconst { state } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'success' || state.data === null) return null;\n\t\treturn <>{children({ ...state, data: state.data })}</>;\n}\n\nfunction AsyncPreviewLoading<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewLoadingProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'loading') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\tconst label =\n\t\t\t\ttypeof state.loading === 'object' && state.loading !== null\n\t\t\t\t\t\t? state.loading.label\n\t\t\t\t\t\t: undefined;\n\t\tconst phase =\n\t\t\t\ttypeof state.loading === 'object' && state.loading !== null\n\t\t\t\t\t\t? state.loading.phase\n\t\t\t\t\t\t: undefined;\n\t\tconst progress =\n\t\t\t\ttypeof state.loading === 'object' &&\n\t\t\t\tstate.loading !== null &&\n\t\t\t\ttypeof state.loading.progress === 'number'\n\t\t\t\t\t\t? Math.min(100, Math.max(0, state.loading.progress))\n\t\t\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t\t<LoadingState\n\t\t\t\t\t\tclassName={cn('async-preview--loading p-surface', className)}\n\t\t\t\t\t\tvariant=\"panel\"\n\t\t\t\t\t\tlabel={label ?? strings.loading}\n\t\t\t\t\t\tdescription={phase}\n\t\t\t\t\t\tprogress={progress}\n\t\t\t\t\t\tskeleton\n\t\t\t\t\t\tlines={3}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewError<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewErrorProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'error') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\treturn (\n\t\t\t\t<ErrorState\n\t\t\t\t\t\tclassName={cn('async-preview--error p-surface', className)}\n\t\t\t\t\t\ttitle={strings.errorTitle}\n\t\t\t\t\t\tdescription={strings.errorDescription}\n\t\t\t\t\t\tonRetry={state.refresh}\n\t\t\t\t\t\tretryLabel={strings.retry}\n\t\t\t\t\t\tvariant=\"inline\"\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewEmpty<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewEmptyProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'empty') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\treturn (\n\t\t\t\t<EmptyState\n\t\t\t\t\t\tclassName={cn('async-preview--empty', className)}\n\t\t\t\t\t\tpadding=\"md\"\n\t\t\t\t\t\ttitle={strings.emptyTitle}\n\t\t\t\t\t\tdescription={strings.emptyDescription}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction createAsyncPreview<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>() {\n\t\treturn {\n\t\t\t\tRoot: AsyncPreviewRoot<TData, TContext, TType>,\n\t\t\t\tTrigger: AsyncPreviewTrigger<TData, TContext, TType>,\n\t\t\t\tContent: AsyncPreviewContent,\n\t\t\t\tState: AsyncPreviewState<TData, TContext, TType>,\n\t\t\t\tBody: AsyncPreviewBody<TData, TContext, TType>,\n\t\t\t\tLoading: AsyncPreviewLoading<TData, TContext, TType>,\n\t\t\t\tError: AsyncPreviewError<TData, TContext, TType>,\n\t\t\t\tEmpty: AsyncPreviewEmpty<TData, TContext, TType>,\n\t\t};\n}\n\nconst AsyncPreview = {\n\t\tRoot: AsyncPreviewRoot,\n\t\tTrigger: AsyncPreviewTrigger,\n\t\tContent: AsyncPreviewContent,\n\t\tState: AsyncPreviewState,\n\t\tBody: AsyncPreviewBody,\n\t\tLoading: AsyncPreviewLoading,\n\t\tError: AsyncPreviewError,\n\t\tEmpty: AsyncPreviewEmpty,\n};\n\nAsyncPreviewRoot.displayName = 'AsyncPreviewRoot';\nAsyncPreviewTrigger.displayName = 'AsyncPreviewTrigger';\nAsyncPreviewContent.displayName = 'AsyncPreviewContent';\nAsyncPreviewState.displayName = 'AsyncPreviewState';\nAsyncPreviewBody.displayName = 'AsyncPreviewBody';\nAsyncPreviewLoading.displayName = 'AsyncPreviewLoading';\nAsyncPreviewError.displayName = 'AsyncPreviewError';\nAsyncPreviewEmpty.displayName = 'AsyncPreviewEmpty';\n\nexport {\n\t\tAsyncPreview,\n\t\tAsyncPreviewRoot,\n\t\tAsyncPreviewTrigger,\n\t\tAsyncPreviewContent,\n\t\tAsyncPreviewState,\n\t\tAsyncPreviewBody,\n\t\tAsyncPreviewLoading,\n\t\tAsyncPreviewError,\n\t\tAsyncPreviewEmpty,\n\t\tcreateAsyncPreview,\n\t\tuseAsyncPreviewContext,\n};\n","/**\n * PreviewTriggerCell — table-cell trigger chrome for AsyncPreview.\n *\n * It renders a button only when preview interaction exists. Empty, disabled,\n * or explicitly non-previewable values keep the same table rhythm without a\n * caret, pointer cursor, popup ARIA, or trigger padding that implies action.\n */\nimport { ChevronDown, type LucideIcon } from 'lucide-react';\nimport React, { type ReactNode } from 'react';\n\nimport { Badge, type BadgeProps } from '../../base/badge';\nimport { Button } from '../../base/buttons';\nimport { Stack } from '../../base/structure';\nimport {\n\tEmptyValue,\n\tName,\n\tSecondaryValue,\n\tValue,\n} from '../../primitives';\nimport { cn } from '../../../lib/utils';\n\ntype PreviewTriggerCellRootProps = Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'children' | 'disabled' | 'name' | 'value'\n>;\n\nexport interface PreviewTriggerCellProps extends PreviewTriggerCellRootProps {\n\t/** Primary text of the cell. */\n\tvalue?: ReactNode | null;\n\t/** Display name. */\n\tname?: string | null;\n\t/** Supporting text under the value. */\n\tsecondary?: ReactNode | null;\n\t/** Content before the value. */\n\tleading?: ReactNode;\n\t/** Content after the value. */\n\ttrailing?: ReactNode;\n\t/** Chip rendered beside the label. */\n\tbadge?: ReactNode | { label: ReactNode; tone?: BadgeProps['tone']; size?: BadgeProps['size'] };\n\t/** Leading glyph. */\n\ticon?: LucideIcon;\n\t/** Copy shown when the value is empty. */\n\temptyLabel?: ReactNode;\n\t/** Whether this row has a preview to open. */\n\thasPreview?: boolean;\n\t/** Explains why the preview is unavailable, shown as a tooltip. */\n\tdisabledReason?: ReactNode;\n\t/** Applies name casing to the value regardless of how it arrives. */\n\tforceNameCase?: boolean;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n\t/** Merged onto the content. */\n\tcontentClassName?: string;\n}\n\nfunction isEmpty(value: ReactNode | null | undefined) {\n\treturn value === null || value === undefined || value === '';\n}\n\nfunction renderBadge(badge: PreviewTriggerCellProps['badge']) {\n\tif (!badge) return null;\n\tif (typeof badge === 'object' && !Array.isArray(badge) && 'label' in badge) {\n\t\treturn (\n\t\t\t<Badge inline tone={badge.tone ?? 'secondary'} size={badge.size}>\n\t\t\t\t{badge.label}\n\t\t\t</Badge>\n\t\t);\n\t}\n\treturn badge;\n}\n\nfunction PreviewTriggerCellInner({\n\tvalue,\n\tname,\n\tsecondary,\n\tleading,\n\ttrailing,\n\tbadge,\n\ticon: Icon,\n\temptyLabel = '--',\n\tforceNameCase,\n\tcontentClassName,\n}: PreviewTriggerCellProps) {\n\tconst primaryIsEmpty = isEmpty(name) && isEmpty(value);\n\treturn (\n\t\t<Stack render={<span />} direction=\"horizontal\" gap=\"sm\" wrap={false} className={cn('preview-trigger-cell--inner', contentClassName)}>\n\t\t\t{!!leading && <span className=\"preview-trigger-cell--leading inline-flex shrink-0 items-center\">{leading}</span>}\n\t\t\t{!!Icon && (\n\t\t\t\t<span className=\"preview-trigger-cell--icon inline-flex shrink-0 items-center text-muted-foreground\">\n\t\t\t\t\t<Icon className=\"size-icon-sm\" aria-hidden />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<span className=\"preview-trigger-cell--content flex min-w-0 flex-1 flex-col items-start\">\n\t\t\t\t<Stack render={<span />} direction=\"horizontal\" gap=\"sm\" wrap={false} className=\"max-w-full\">\n\t\t\t\t\t{primaryIsEmpty ? (\n\t\t\t\t\t\t<EmptyValue className=\"truncate\">\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</EmptyValue>\n\t\t\t\t\t) : name ? (\n\t\t\t\t\t\t<Name\n\t\t\t\t\t\t\tvalue={name}\n\t\t\t\t\t\t\tforce={forceNameCase}\n\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\tclassName=\"truncate\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Value weight=\"medium\" className=\"truncate\">\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</Value>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderBadge(badge)}\n\t\t\t\t</Stack>\n\t\t\t\t{!isEmpty(secondary) && (\n\t\t\t\t\t<SecondaryValue size=\"xs\" className=\"max-w-full truncate\">\n\t\t\t\t\t\t{secondary}\n\t\t\t\t\t</SecondaryValue>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t\t{!!trailing && <span className=\"preview-trigger-cell--trailing inline-flex shrink-0 items-center\">{trailing}</span>}\n\t\t</Stack>\n\t);\n}\n\nexport const PreviewTriggerCell = React.forwardRef<HTMLButtonElement, PreviewTriggerCellProps>(function PreviewTriggerCell({\n\tvalue,\n\tname,\n\tsecondary,\n\tleading,\n\ttrailing,\n\tbadge,\n\ticon,\n\temptyLabel,\n\thasPreview,\n\tdisabledReason,\n\tforceNameCase,\n\tclassName,\n\tcontentClassName,\n\ttype,\n\t...rootProps\n}, ref) {\n\tconst cellProps = {\n\t\tvalue,\n\t\tname,\n\t\tsecondary,\n\t\tleading,\n\t\ttrailing,\n\t\tbadge,\n\t\ticon,\n\t\temptyLabel,\n\t\tforceNameCase,\n\t\tcontentClassName,\n\t};\n\tconst previewable =\n\t\thasPreview ?? (!isEmpty(name) || !isEmpty(value));\n\tconst interactive = previewable && !disabledReason;\n\n\tif (!interactive) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'preview-trigger-cell--component flex h-auto min-h-action-sm max-w-full items-center justify-start rounded-inner px-control-sm py-space-xs text-left',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\taria-disabled={disabledReason ? true : undefined}\n\t\t\t\ttitle={typeof disabledReason === 'string' ? disabledReason : undefined}\n\t\t\t>\n\t\t\t\t<PreviewTriggerCellInner {...cellProps} />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t{...rootProps}\n\t\t\tref={ref}\n\t\t\ttype={type ?? 'button'}\n\t\t\ttone=\"secondary\"\n\t\t\tbuttonStyle=\"ghost\"\n\t\t\tsize=\"sm\"\n\t\t\tclassName={cn(\n\t\t\t\t'preview-trigger-cell--component h-auto min-h-action-sm max-w-full justify-start px-control-sm py-space-xs text-left',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<PreviewTriggerCellInner {...cellProps} />\n\t\t\t<ChevronDown className=\"preview-trigger-cell--caret size-icon-sm shrink-0 text-muted-foreground\" aria-hidden />\n\t\t</Button>\n\t);\n});\n\nPreviewTriggerCell.displayName = 'PreviewTriggerCell';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"async-preview.js","names":["_Fragment","Stack","LoadingState","ErrorState","popoverWidthRecipes","Value","Name","SecondaryValue","EmptyValue","Badge","PopoverTrigger","Popover","PopoverContent","EmptyState","React","Fragment$1","defaultAsyncPreviewStrings","asyncPreviewCache","readCache","cacheKey","cached","staleTime","normalizeLoading","loading","hasStaticDataSource","options","useAsyncPreview","openProp","hasStaticData","staticData","onShow","isControlled","uncontrolledOpen","setUncontrolledOpen","useState","defaultOpen","open","data","setData","status","setStatus","error","setError","setLoadingState","meta","setMetaState","setCached","resolvedData","resolvedStatus","abortRef","useRef","requestIdRef","prefetchedRef","metaRef","openRunKeyRef","activeRunKeyRef","stateRef","setOpen","useCallback","nextOpen","currentState","onOpenChange","run","requestKey","type","activeController","reason","cachedEntry","cachePolicy","controller","requestId","hadCache","loadingState","onBeforeShow","onRefresh","applyIfCurrent","fn","result","nextLoading","next","nextMeta","nextStatus","nextData","settledState","onData","onSettled","err","onError","context","refresh","prefetch","close","state","useMemo","useEffect","openRunKey","clearAsyncPreviewCache","AsyncPreviewContext","createContext","useAsyncPreviewContext","ctx","useContext","AsyncPreviewRoot","stringsProp","strings","useStrings","preview","AsyncPreviewTrigger","maybePrefetch","prefetchOn","triggerProps","render","renderedTrigger","Button","AsyncPreviewContent","props","contentProps","sizeClassName","size","inset","padding","cn","className","children","AsyncPreviewState","AsyncPreviewBody","AsyncPreviewLoading","label","phase","progress","AsyncPreviewError","AsyncPreviewEmpty","createAsyncPreview","AsyncPreview","isEmpty","value","renderBadge","badge","PreviewTriggerCellInner","Icon","primaryIsEmpty","name","contentClassName","leading","emptyLabel","forceNameCase","secondary","trailing","PreviewTriggerCell","rootProps","cellProps","hasPreview","disabledReason","ChevronDown"],"sources":["../../src/components/features/async-preview/async-preview.strings.ts","../../src/components/features/async-preview/hooks/use-async-preview.ts","../../src/components/features/async-preview/async-preview.tsx","../../src/components/features/async-preview/preview-trigger-cell.tsx"],"sourcesContent":["/**\n * Strings for AsyncPreview. Consumers override with `strings={{ ... }}` on\n * `<AsyncPreview.Root />`; all user-facing copy is deep-merged via\n * `useStrings`.\n */\nexport interface AsyncPreviewStrings {\n\tloading: string;\n\terrorTitle: string;\n\terrorDescription: string;\n\tretry: string;\n\temptyTitle: string;\n\temptyDescription: string;\n}\n\nexport const defaultAsyncPreviewStrings: AsyncPreviewStrings = {\n\tloading: 'Loading preview...',\n\terrorTitle: 'Could not load preview',\n\terrorDescription: 'Try again or open the full record.',\n\tretry: 'Retry',\n\temptyTitle: 'No preview data',\n\temptyDescription: 'There is nothing to show for this record yet.',\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n\t\tAsyncPreviewLoadingState,\n\t\tAsyncPreviewReason,\n\t\tAsyncPreviewRootProps,\n\t\tAsyncPreviewState,\n\t\tAsyncPreviewStatus,\n} from '../async-preview.types';\n\ninterface CacheEntry {\n\t\t/** Formatted time for the entry. */\n\t\ttimestamp: number;\n\t\t/** Records to render. */\n\t\tdata: unknown | null;\n\t\tstatus: 'success' | 'empty';\n\t\tmeta: Record<string, unknown>;\n}\n\nconst asyncPreviewCache = new Map<string, CacheEntry>();\n\nfunction readCache(cacheKey: string | undefined, staleTime: number): CacheEntry | undefined {\n\t\tif (!cacheKey) return undefined;\n\t\tconst cached = asyncPreviewCache.get(cacheKey);\n\t\tif (!cached) return undefined;\n\t\tif (Date.now() - cached.timestamp > staleTime) {\n\t\t\t\tasyncPreviewCache.delete(cacheKey);\n\t\t\t\treturn undefined;\n\t\t}\n\t\treturn cached;\n}\n\nfunction normalizeLoading(\n\t\tloading: AsyncPreviewLoadingState,\n): false | Exclude<AsyncPreviewLoadingState, false> {\n\t\treturn loading === false ? false : loading;\n}\n\nfunction hasStaticDataSource<\n\t\tTData,\n\t\tTContext,\n\t\tTType extends string,\n>(options: UseAsyncPreviewOptions<TData, TContext, TType>) {\n\t\treturn Object.prototype.hasOwnProperty.call(options, 'data');\n}\n\nexport interface UseAsyncPreviewOptions<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n> extends Omit<AsyncPreviewRootProps<TData, TContext, TType>, 'children' | 'strings'> {}\n\nexport type UseAsyncPreviewReturn<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n> = AsyncPreviewState<TData, TContext, TType> & {\n\t\tsetOpen: (open: boolean) => void;\n};\n\nexport function useAsyncPreview<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>(options: UseAsyncPreviewOptions<TData, TContext, TType>): UseAsyncPreviewReturn<TData, TContext, TType> {\n\t\tconst {\n\t\t\t\ttype,\n\t\t\t\tcontext,\n\t\t\t\tcacheKey,\n\t\t\t\tcachePolicy = 'cache-first',\n\t\t\t\tstaleTime = 300_000,\n\t\t\t\topen: openProp,\n\t\t\t\tdefaultOpen = false,\n\t\t\t\tonOpenChange,\n\t\t\t\tonBeforeShow,\n\t\t\t\tonData,\n\t\t\t\tonError,\n\t\t\t\tonSettled,\n\t\t\t\tonRefresh,\n\t\t} = options;\n\t\tconst hasStaticData = hasStaticDataSource(options);\n\t\tconst staticData = hasStaticData ? options.data ?? null : null;\n\t\tconst onShow = hasStaticData ? undefined : options.onShow;\n\n\t\tconst isControlled = openProp !== undefined;\n\t\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\t\tconst open = openProp ?? uncontrolledOpen;\n\n\t\tconst [data, setData] = useState<TData | null>(() => {\n\t\t\t\tif (hasStaticData) return staticData as TData | null;\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.status === 'success' ? cached.data as TData : null;\n\t\t});\n\t\tconst [status, setStatus] = useState<AsyncPreviewStatus>(() => {\n\t\t\t\tif (hasStaticData) return staticData === null ? 'empty' : 'success';\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.status ?? 'idle';\n\t\t});\n\t\tconst [error, setError] = useState<unknown>(null);\n\t\tconst [loading, setLoadingState] = useState<false | Exclude<AsyncPreviewLoadingState, false>>(false);\n\t\tconst [meta, setMetaState] = useState<Record<string, unknown>>(() => {\n\t\t\t\tconst cached = readCache(cacheKey, staleTime);\n\t\t\t\treturn cached?.meta ?? {};\n\t\t});\n\t\tconst [cached, setCached] = useState(() => readCache(cacheKey, staleTime) !== undefined);\n\t\tconst resolvedData = hasStaticData ? staticData as TData | null : data;\n\t\tconst resolvedStatus = hasStaticData\n\t\t\t\t? staticData === null ? 'empty' : 'success'\n\t\t\t\t: status;\n\n\t\tconst abortRef = useRef<AbortController | null>(null);\n\t\tconst requestIdRef = useRef(0);\n\t\tconst prefetchedRef = useRef(false);\n\t\tconst metaRef = useRef(meta);\n\t\tconst openRunKeyRef = useRef<string | null>(null);\n\t\tconst activeRunKeyRef = useRef<string | null>(null);\n\n\t\tconst stateRef = useRef<AsyncPreviewState<TData, TContext, TType> | null>(null);\n\n\t\tconst setOpen = useCallback(\n\t\t\t\t(nextOpen: boolean) => {\n\t\t\t\t\t\tif (!isControlled) setUncontrolledOpen(nextOpen);\n\t\t\t\t\t\tconst currentState = stateRef.current;\n\t\t\t\t\t\tif (currentState) {\n\t\t\t\t\t\t\t\tonOpenChange?.(nextOpen, { ...currentState, open: nextOpen });\n\t\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[isControlled, onOpenChange],\n\t\t);\n\n\t\tconst run = useCallback(\n\t\t\t\tasync (reason: AsyncPreviewReason) => {\n\t\t\t\t\t\tif (hasStaticData || !onShow) return;\n\n\t\t\t\t\t\tconst requestKey = cacheKey ?? type;\n\t\t\t\t\t\tconst activeController = abortRef.current;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treason === 'open' &&\n\t\t\t\t\t\t\t\tactiveRunKeyRef.current === requestKey &&\n\t\t\t\t\t\t\t\tactiveController &&\n\t\t\t\t\t\t\t\t!activeController.signal.aborted\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// A cache hit still supersedes work for the previous preview.\n\t\t\t\t\t\tabortRef.current?.abort();\n\t\t\t\t\t\tabortRef.current = null;\n\t\t\t\t\t\tactiveRunKeyRef.current = null;\n\n\t\t\t\t\t\tconst cachedEntry = readCache(cacheKey, staleTime);\n\t\t\t\t\t\tconst canUseCache =\n\t\t\t\t\t\t\t\treason === 'open' &&\n\t\t\t\t\t\t\t\tcachedEntry !== undefined &&\n\t\t\t\t\t\t\t\tcachePolicy === 'cache-first';\n\n\t\t\t\t\t\tif (canUseCache) {\n\t\t\t\t\t\t\t\tsetCached(true);\n\t\t\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\t\t\tmetaRef.current = cachedEntry.meta;\n\t\t\t\t\t\t\t\tsetMetaState(cachedEntry.meta);\n\t\t\t\t\t\t\t\tsetData(cachedEntry.status === 'success' ? cachedEntry.data as TData : null);\n\t\t\t\t\t\t\t\tsetStatus(cachedEntry.status);\n\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst controller = new AbortController();\n\t\t\t\t\t\tabortRef.current = controller;\n\t\t\t\t\t\tactiveRunKeyRef.current = requestKey;\n\t\t\t\t\t\tconst requestId = requestIdRef.current + 1;\n\t\t\t\t\t\trequestIdRef.current = requestId;\n\t\t\t\t\t\tconst hadCache = cachedEntry !== undefined;\n\n\t\t\t\t\t\tsetCached(false);\n\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\tsetStatus('loading');\n\t\t\t\t\t\tsetLoadingState({ label: undefined });\n\n\t\t\t\t\t\tconst loadingState = stateRef.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\t\t\tloading: { label: undefined },\n\t\t\t\t\t\t\t\t\t\t\t\tstatus: 'loading' as const,\n\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\tif (loadingState) onBeforeShow?.(loadingState);\n\t\t\t\t\t\tif (reason === 'refresh') {\n\t\t\t\t\t\t\t\tif (loadingState) onRefresh?.(loadingState);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst applyIfCurrent = (fn: () => void) => {\n\t\t\t\t\t\t\t\tif (requestIdRef.current !== requestId || controller.signal.aborted) return;\n\t\t\t\t\t\t\t\tfn();\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst result = await onShow({\n\t\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tsignal: controller.signal,\n\t\t\t\t\t\t\t\t\t\treason,\n\t\t\t\t\t\t\t\t\t\tcached: hadCache,\n\t\t\t\t\t\t\t\t\t\tsetLoading: (nextLoading) =>\n\t\t\t\t\t\t\t\t\t\t\t\tapplyIfCurrent(() => setLoadingState(normalizeLoading(nextLoading))),\n\t\t\t\t\t\t\t\t\t\tsetMeta: (nextMeta) =>\n\t\t\t\t\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst next = { ...metaRef.current, ...nextMeta };\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmetaRef.current = next;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetMetaState(next);\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\tconst nextStatus: Extract<AsyncPreviewStatus, 'empty' | 'success'> =\n\t\t\t\t\t\t\t\t\t\t\t\tresult === null || result === undefined ? 'empty' : 'success';\n\t\t\t\t\t\t\t\t\t\tconst nextData = nextStatus === 'success' ? result as TData : null;\n\t\t\t\t\t\t\t\t\t\tsetData(nextData);\n\t\t\t\t\t\t\t\t\t\tsetStatus(nextStatus);\n\t\t\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\t\t\tsetError(null);\n\t\t\t\t\t\t\t\t\t\tsetCached(false);\n\n\t\t\t\t\t\t\t\t\t\tif (cacheKey) {\n\t\t\t\t\t\t\t\t\t\t\t\tasyncPreviewCache.set(cacheKey, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: nextData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: nextStatus,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmeta: metaRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tconst settledState = stateRef.current\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata: nextData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror: null,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: false as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: nextStatus,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmeta: metaRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\t\t\t\t\tif (nextData !== null && settledState) {\n\t\t\t\t\t\t\t\t\t\t\t\tonData?.(nextData, settledState);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (settledState) onSettled?.(settledState);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tif (controller.signal.aborted) return;\n\t\t\t\t\t\t\t\tapplyIfCurrent(() => {\n\t\t\t\t\t\t\t\t\t\tsetError(err);\n\t\t\t\t\t\t\t\t\t\tsetStatus('error');\n\t\t\t\t\t\t\t\t\t\tsetLoadingState(false);\n\t\t\t\t\t\t\t\t\t\tconst settledState = stateRef.current\n\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...stateRef.current,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\terror: err,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tloading: false as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus: 'error' as const,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcached: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\t\t\t\t\tif (settledState) onError?.(err, settledState);\n\t\t\t\t\t\t\t\t\t\tif (settledState) onSettled?.(settledState);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\t\tif (requestIdRef.current === requestId) {\n\t\t\t\t\t\t\t\t\t\tif (abortRef.current === controller) abortRef.current = null;\n\t\t\t\t\t\t\t\t\t\tif (activeRunKeyRef.current === requestKey) activeRunKeyRef.current = null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t[\n\t\t\t\t\t\tcacheKey,\n\t\t\t\t\t\tcachePolicy,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\thasStaticData,\n\t\t\t\t\t\tonBeforeShow,\n\t\t\t\t\t\tonData,\n\t\t\t\t\t\tonError,\n\t\t\t\t\t\tonRefresh,\n\t\t\t\t\t\tonSettled,\n\t\t\t\t\t\tonShow,\n\t\t\t\t\t\tstaleTime,\n\t\t\t\t\t\ttype,\n\t\t\t\t],\n\t\t);\n\n\t\tconst refresh = useCallback(() => {\n\t\t\t\tvoid run('refresh');\n\t\t}, [run]);\n\n\t\tconst prefetch = useCallback(() => {\n\t\t\t\tif (hasStaticData) return;\n\t\t\t\tif (prefetchedRef.current) return;\n\t\t\t\tprefetchedRef.current = true;\n\t\t\t\tvoid run('prefetch');\n\t\t}, [hasStaticData, run]);\n\n\t\tconst close = useCallback(() => {\n\t\t\t\tsetOpen(false);\n\t\t}, [setOpen]);\n\n\t\tconst state = useMemo<AsyncPreviewState<TData, TContext, TType>>(\n\t\t\t\t() => ({\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tdata: resolvedData,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tloading,\n\t\t\t\t\t\tstatus: resolvedStatus,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t\topen,\n\t\t\t\t\t\tcached,\n\t\t\t\t\t\trefresh,\n\t\t\t\t\t\tprefetch,\n\t\t\t\t\t\tclose,\n\t\t\t\t}),\n\t\t\t\t[cached, close, context, error, loading, meta, open, prefetch, refresh, resolvedData, resolvedStatus, type],\n\t\t);\n\t\tstateRef.current = state;\n\t\tmetaRef.current = meta;\n\n\t\tuseEffect(() => {\n\t\t\t\tif (!hasStaticData) return;\n\t\t\t\tabortRef.current?.abort();\n\t\t\t\tabortRef.current = null;\n\t\t\t\tactiveRunKeyRef.current = null;\n\t\t\t\topenRunKeyRef.current = null;\n\t\t\t\tsetError(null);\n\t\t\t\tsetLoadingState(false);\n\t\t\t\tsetCached(false);\n\t\t}, [hasStaticData, staticData]);\n\n\t\tuseEffect(() => {\n\t\t\t\tif (!open) {\n\t\t\t\t\t\topenRunKeyRef.current = null;\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (hasStaticData) return;\n\n\t\t\t\tconst openRunKey = cacheKey ?? type;\n\t\t\t\tif (openRunKeyRef.current === openRunKey) return;\n\t\t\t\topenRunKeyRef.current = openRunKey;\n\t\t\t\tvoid run('open');\n\t\t}, [cacheKey, hasStaticData, open, run, type]);\n\n\t\tuseEffect(() => {\n\t\t\t\tprefetchedRef.current = false;\n\t\t}, [cacheKey, hasStaticData, type]);\n\n\t\tuseEffect(\n\t\t\t\t() => () => {\n\t\t\t\t\t\tabortRef.current?.abort();\n\t\t\t\t},\n\t\t\t\t[],\n\t\t);\n\n\t\treturn { ...state, setOpen };\n}\n\nexport function clearAsyncPreviewCache(cacheKey?: string) {\n\t\tif (cacheKey) {\n\t\t\t\tasyncPreviewCache.delete(cacheKey);\n\t\t\t\treturn;\n\t\t}\n\t\tasyncPreviewCache.clear();\n}\n","/**\n * AsyncPreview — generic lazy preview popover for table cells, inline values,\n * buttons, badges, or any other trigger.\n *\n * The library owns popover chrome, async state, abort/race protection, cache,\n * loading/error/empty defaults, and composition primitives. Consumers own the\n * fetcher, routing callbacks, telemetry, and domain rendering.\n */\nimport {\n\t\tcreateContext,\n\t\tuseContext,\n} from 'react';\n\nimport { Button } from '../../base/buttons';\nimport { ErrorState, LoadingState } from '../../base/feedback';\nimport { EmptyState } from '../../blocks/data-display';\nimport {\n\t\tPopover,\n\t\tPopoverContent,\n\t\tPopoverTrigger,\n} from '../../base/popover';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport {\n\t\tdefaultAsyncPreviewStrings,\n\t\ttype AsyncPreviewStrings,\n} from './async-preview.strings';\nimport type {\n\t\tAsyncPreviewBodyProps,\n\t\tAsyncPreviewContentProps,\n\t\tAsyncPreviewEmptyProps,\n\t\tAsyncPreviewErrorProps,\n\t\tAsyncPreviewLoadingProps,\n\t\tAsyncPreviewRootProps,\n\t\tAsyncPreviewState as AsyncPreviewStateValue,\n\t\tAsyncPreviewStateProps,\n\t\tAsyncPreviewTriggerProps,\n} from './async-preview.types';\nimport { useAsyncPreview } from './hooks/use-async-preview';\nimport { popoverWidthRecipes } from '../../base/popover/popover.recipes';\n\ninterface AsyncPreviewContextValue<TData, TContext, TType extends string> {\n\t\tstate: AsyncPreviewStateValue<TData, TContext, TType>;\n\t\tsetOpen: (open: boolean) => void;\n\t\t/** Overrides this surface's own copy. */\n\t\tstrings: AsyncPreviewStrings;\n\t\tprefetchOn: false | 'hover' | 'focus';\n}\n\nconst AsyncPreviewContext =\n\t\tcreateContext<AsyncPreviewContextValue<unknown, unknown, string> | null>(null);\n\nfunction useAsyncPreviewContext<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>(): AsyncPreviewContextValue<TData, TContext, TType> {\n\t\tconst ctx = useContext(AsyncPreviewContext);\n\t\tif (!ctx) {\n\t\t\t\tthrow new Error('AsyncPreview compound parts must be rendered inside <AsyncPreview.Root>.');\n\t\t}\n\t\treturn ctx as AsyncPreviewContextValue<TData, TContext, TType>;\n}\n\nfunction AsyncPreviewRoot<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({\n\t\tchildren,\n\t\tstrings: stringsProp,\n\t\tprefetchOn = false,\n\t\t...options\n}: AsyncPreviewRootProps<TData, TContext, TType>) {\n\t\tconst strings = useStrings(defaultAsyncPreviewStrings, stringsProp);\n\t\tconst preview = useAsyncPreview<TData, TContext, TType>(options);\n\t\tconst state: AsyncPreviewStateValue<TData, TContext, TType> = {\n\t\t\t\ttype: preview.type,\n\t\t\t\tcontext: preview.context,\n\t\t\t\tdata: preview.data,\n\t\t\t\terror: preview.error,\n\t\t\t\tloading: preview.loading,\n\t\t\t\tstatus: preview.status,\n\t\t\t\tmeta: preview.meta,\n\t\t\t\topen: preview.open,\n\t\t\t\tcached: preview.cached,\n\t\t\t\trefresh: preview.refresh,\n\t\t\t\tprefetch: preview.prefetch,\n\t\t\t\tclose: () => preview.setOpen(false),\n\t\t};\n\n\t\treturn (\n\t\t\t\t<AsyncPreviewContext.Provider\n\t\t\t\t\t\tvalue={{\n\t\t\t\t\t\t\t\tstate: state as AsyncPreviewStateValue<unknown, unknown, string>,\n\t\t\t\t\t\t\t\tsetOpen: preview.setOpen,\n\t\t\t\t\t\t\t\tstrings,\n\t\t\t\t\t\t\t\tprefetchOn,\n\t\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\t<span className=\"async-preview--component contents\">\n\t\t\t\t\t\t\t\t<Popover open={state.open} onOpenChange={preview.setOpen}>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t</span>\n\t\t\t\t</AsyncPreviewContext.Provider>\n\t\t);\n}\n\nfunction AsyncPreviewTrigger<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ render, children }: AsyncPreviewTriggerProps<TData, TContext, TType>) {\n\t\tconst { state, prefetchOn } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tconst maybePrefetch = () => {\n\t\t\t\tif (prefetchOn) state.prefetch();\n\t\t};\n\t\tconst triggerProps = {\n\t\t\t\t'aria-busy': state.status === 'loading' ? true as const : undefined,\n\t\t\t\t'data-state': state.open ? 'open' as const : 'closed' as const,\n\t\t\t\t'data-loading': state.status === 'loading' ? true as const : undefined,\n\t\t\t\tonPointerEnter: prefetchOn === 'hover' ? maybePrefetch : undefined,\n\t\t\t\tonFocus: prefetchOn === 'focus' ? maybePrefetch : undefined,\n\t\t};\n\n\t\tif (render) {\n\t\t\t\tconst renderedTrigger = typeof render === 'function'\n\t\t\t\t\t\t? render({ state, triggerProps })\n\t\t\t\t\t\t: render;\n\t\t\t\treturn (\n\t\t\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\t\t\trender={renderedTrigger}\n\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\t<PopoverTrigger\n\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t{...triggerProps}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewContent({\n\t\tclassName,\n\t\tchildren,\n\t\talign = 'start',\n\t\tsideOffset = 8,\n\t\tfinalFocus = true,\n\t\t...props\n}: AsyncPreviewContentProps) {\n\t\tconst { state } = useAsyncPreviewContext();\n\t\tconst { size = 'md', padding = 'none', ...contentProps } = props;\n\t\tconst sizeClassName = {\n\t\t\t\tsm: popoverWidthRecipes.md,\n\t\t\t\tmd: popoverWidthRecipes.lg,\n\t\t\t\tlg: popoverWidthRecipes.xl,\n\t\t}[size];\n\t\tconst inset = ({\n\t\t\t\tnone: 'flush',\n\t\t\t\tsm: 'compact',\n\t\t\t\tmd: 'default',\n\t\t\t\tlg: 'flush',\n\t\t} as const)[padding];\n\t\tconst paddingClassName = padding === 'none'\n\t\t\t\t? 'gap-0'\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t\t<PopoverContent\n\t\t\t\t\t\talign={align}\n\t\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t\t\tfinalFocus={finalFocus}\n\t\t\t\t\t\tinset={inset}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'async-preview--content overflow-hidden',\n\t\t\t\t\t\t\t\tsizeClassName,\n\t\t\t\t\t\t\t\tpaddingClassName,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdata-status={state.status}\n\t\t\t\t\t\tdata-preview-type={state.type}\n\t\t\t\t\t\t{...contentProps}\n\t\t\t\t>\n\t\t\t\t\t\t{padding === 'lg' ? <div className=\"p-surface-lg\">{children}</div> : children}\n\t\t\t\t</PopoverContent>\n\t\t);\n}\n\nfunction AsyncPreviewState<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children }: AsyncPreviewStateProps<TData, TContext, TType>) {\n\t\tconst { state } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\treturn <>{children(state)}</>;\n}\n\nfunction AsyncPreviewBody<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children }: AsyncPreviewBodyProps<TData, TContext, TType>) {\n\t\tconst { state } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'success' || state.data === null) return null;\n\t\treturn <>{children({ ...state, data: state.data })}</>;\n}\n\nfunction AsyncPreviewLoading<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewLoadingProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'loading') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\tconst label =\n\t\t\t\ttypeof state.loading === 'object' && state.loading !== null\n\t\t\t\t\t\t? state.loading.label\n\t\t\t\t\t\t: undefined;\n\t\tconst phase =\n\t\t\t\ttypeof state.loading === 'object' && state.loading !== null\n\t\t\t\t\t\t? state.loading.phase\n\t\t\t\t\t\t: undefined;\n\t\tconst progress =\n\t\t\t\ttypeof state.loading === 'object' &&\n\t\t\t\tstate.loading !== null &&\n\t\t\t\ttypeof state.loading.progress === 'number'\n\t\t\t\t\t\t? Math.min(100, Math.max(0, state.loading.progress))\n\t\t\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t\t<LoadingState\n\t\t\t\t\t\tclassName={cn('async-preview--loading p-surface', className)}\n\t\t\t\t\t\tvariant=\"panel\"\n\t\t\t\t\t\tlabel={label ?? strings.loading}\n\t\t\t\t\t\tdescription={phase}\n\t\t\t\t\t\tprogress={progress}\n\t\t\t\t\t\tskeleton\n\t\t\t\t\t\tlines={3}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewError<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewErrorProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'error') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\treturn (\n\t\t\t\t<ErrorState\n\t\t\t\t\t\tclassName={cn('async-preview--error p-surface', className)}\n\t\t\t\t\t\ttitle={strings.errorTitle}\n\t\t\t\t\t\tdescription={strings.errorDescription}\n\t\t\t\t\t\tonRetry={state.refresh}\n\t\t\t\t\t\tretryLabel={strings.retry}\n\t\t\t\t\t\tvariant=\"inline\"\n\t\t\t\t/>\n\t\t);\n}\n\nfunction AsyncPreviewEmpty<\n\t\tTData = unknown,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>({ children, className }: AsyncPreviewEmptyProps<TData, TContext, TType>) {\n\t\tconst { state, strings } = useAsyncPreviewContext<TData, TContext, TType>();\n\t\tif (state.status !== 'empty') return null;\n\t\tif (children) return <>{children(state)}</>;\n\t\treturn (\n\t\t\t\t<EmptyState\n\t\t\t\t\t\tclassName={cn('async-preview--empty', className)}\n\t\t\t\t\t\tpadding=\"md\"\n\t\t\t\t\t\ttitle={strings.emptyTitle}\n\t\t\t\t\t\tdescription={strings.emptyDescription}\n\t\t\t\t/>\n\t\t);\n}\n\nfunction createAsyncPreview<\n\t\tTData,\n\t\tTContext = unknown,\n\t\tTType extends string = string,\n>() {\n\t\treturn {\n\t\t\t\tRoot: AsyncPreviewRoot<TData, TContext, TType>,\n\t\t\t\tTrigger: AsyncPreviewTrigger<TData, TContext, TType>,\n\t\t\t\tContent: AsyncPreviewContent,\n\t\t\t\tState: AsyncPreviewState<TData, TContext, TType>,\n\t\t\t\tBody: AsyncPreviewBody<TData, TContext, TType>,\n\t\t\t\tLoading: AsyncPreviewLoading<TData, TContext, TType>,\n\t\t\t\tError: AsyncPreviewError<TData, TContext, TType>,\n\t\t\t\tEmpty: AsyncPreviewEmpty<TData, TContext, TType>,\n\t\t};\n}\n\nconst AsyncPreview = {\n\t\tRoot: AsyncPreviewRoot,\n\t\tTrigger: AsyncPreviewTrigger,\n\t\tContent: AsyncPreviewContent,\n\t\tState: AsyncPreviewState,\n\t\tBody: AsyncPreviewBody,\n\t\tLoading: AsyncPreviewLoading,\n\t\tError: AsyncPreviewError,\n\t\tEmpty: AsyncPreviewEmpty,\n};\n\nAsyncPreviewRoot.displayName = 'AsyncPreviewRoot';\nAsyncPreviewTrigger.displayName = 'AsyncPreviewTrigger';\nAsyncPreviewContent.displayName = 'AsyncPreviewContent';\nAsyncPreviewState.displayName = 'AsyncPreviewState';\nAsyncPreviewBody.displayName = 'AsyncPreviewBody';\nAsyncPreviewLoading.displayName = 'AsyncPreviewLoading';\nAsyncPreviewError.displayName = 'AsyncPreviewError';\nAsyncPreviewEmpty.displayName = 'AsyncPreviewEmpty';\n\nexport {\n\t\tAsyncPreview,\n\t\tAsyncPreviewRoot,\n\t\tAsyncPreviewTrigger,\n\t\tAsyncPreviewContent,\n\t\tAsyncPreviewState,\n\t\tAsyncPreviewBody,\n\t\tAsyncPreviewLoading,\n\t\tAsyncPreviewError,\n\t\tAsyncPreviewEmpty,\n\t\tcreateAsyncPreview,\n\t\tuseAsyncPreviewContext,\n};\n","/**\n * PreviewTriggerCell — table-cell trigger chrome for AsyncPreview.\n *\n * It renders a button only when preview interaction exists. Empty, disabled,\n * or explicitly non-previewable values keep the same table rhythm without a\n * caret, pointer cursor, popup ARIA, or trigger padding that implies action.\n */\nimport { ChevronDown, type LucideIcon } from 'lucide-react';\nimport React, { type ReactNode } from 'react';\n\nimport { Badge, type BadgeProps } from '../../base/badge';\nimport { Button } from '../../base/buttons';\nimport { Stack } from '../../base/structure';\nimport {\n\tEmptyValue,\n\tName,\n\tSecondaryValue,\n\tValue,\n} from '../../primitives';\nimport { cn } from '../../../lib/utils';\n\ntype PreviewTriggerCellRootProps = Omit<\n\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t'children' | 'disabled' | 'name' | 'value'\n>;\n\nexport interface PreviewTriggerCellProps extends PreviewTriggerCellRootProps {\n\t/** Primary text of the cell. */\n\tvalue?: ReactNode | null;\n\t/** Display name. */\n\tname?: string | null;\n\t/** Supporting text under the value. */\n\tsecondary?: ReactNode | null;\n\t/** Content before the value. */\n\tleading?: ReactNode;\n\t/** Content after the value. */\n\ttrailing?: ReactNode;\n\t/** Chip rendered beside the label. */\n\tbadge?: ReactNode | { label: ReactNode; tone?: BadgeProps['tone']; size?: BadgeProps['size'] };\n\t/** Leading glyph. */\n\ticon?: LucideIcon;\n\t/** Copy shown when the value is empty. */\n\temptyLabel?: ReactNode;\n\t/** Whether this row has a preview to open. */\n\thasPreview?: boolean;\n\t/** Explains why the preview is unavailable, shown as a tooltip. */\n\tdisabledReason?: ReactNode;\n\t/** Applies name casing to the value regardless of how it arrives. */\n\tforceNameCase?: boolean;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n\t/** Merged onto the content. */\n\tcontentClassName?: string;\n}\n\nfunction isEmpty(value: ReactNode | null | undefined) {\n\treturn value === null || value === undefined || value === '';\n}\n\nfunction renderBadge(badge: PreviewTriggerCellProps['badge']) {\n\tif (!badge) return null;\n\tif (typeof badge === 'object' && !Array.isArray(badge) && 'label' in badge) {\n\t\treturn (\n\t\t\t<Badge inline tone={badge.tone ?? 'secondary'} size={badge.size}>\n\t\t\t\t{badge.label}\n\t\t\t</Badge>\n\t\t);\n\t}\n\treturn badge;\n}\n\nfunction PreviewTriggerCellInner({\n\tvalue,\n\tname,\n\tsecondary,\n\tleading,\n\ttrailing,\n\tbadge,\n\ticon: Icon,\n\temptyLabel = '--',\n\tforceNameCase,\n\tcontentClassName,\n}: PreviewTriggerCellProps) {\n\tconst primaryIsEmpty = isEmpty(name) && isEmpty(value);\n\treturn (\n\t\t<Stack render={<span />} direction=\"horizontal\" gap=\"sm\" wrap={false} className={cn('preview-trigger-cell--inner', contentClassName)}>\n\t\t\t{!!leading && <span className=\"preview-trigger-cell--leading inline-flex shrink-0 items-center\">{leading}</span>}\n\t\t\t{!!Icon && (\n\t\t\t\t<span className=\"preview-trigger-cell--icon inline-flex shrink-0 items-center text-muted-foreground\">\n\t\t\t\t\t<Icon className=\"size-icon-sm\" aria-hidden />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t<span className=\"preview-trigger-cell--content flex min-w-0 flex-1 flex-col items-start\">\n\t\t\t\t<Stack render={<span />} direction=\"horizontal\" gap=\"sm\" wrap={false} className=\"max-w-full\">\n\t\t\t\t\t{primaryIsEmpty ? (\n\t\t\t\t\t\t<EmptyValue className=\"truncate\">\n\t\t\t\t\t\t\t{emptyLabel}\n\t\t\t\t\t\t</EmptyValue>\n\t\t\t\t\t) : name ? (\n\t\t\t\t\t\t<Name\n\t\t\t\t\t\t\tvalue={name}\n\t\t\t\t\t\t\tforce={forceNameCase}\n\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\tclassName=\"truncate\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<Value type=\"inherit\" weight=\"medium\" className=\"truncate\">\n\t\t\t\t\t\t\t{value}\n\t\t\t\t\t\t</Value>\n\t\t\t\t\t)}\n\t\t\t\t\t{renderBadge(badge)}\n\t\t\t\t</Stack>\n\t\t\t\t{!isEmpty(secondary) && (\n\t\t\t\t\t<SecondaryValue size=\"xs\" className=\"max-w-full truncate\">\n\t\t\t\t\t\t{secondary}\n\t\t\t\t\t</SecondaryValue>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t\t{!!trailing && <span className=\"preview-trigger-cell--trailing inline-flex shrink-0 items-center\">{trailing}</span>}\n\t\t</Stack>\n\t);\n}\n\nexport const PreviewTriggerCell = React.forwardRef<HTMLButtonElement, PreviewTriggerCellProps>(function PreviewTriggerCell({\n\tvalue,\n\tname,\n\tsecondary,\n\tleading,\n\ttrailing,\n\tbadge,\n\ticon,\n\temptyLabel,\n\thasPreview,\n\tdisabledReason,\n\tforceNameCase,\n\tclassName,\n\tcontentClassName,\n\ttype,\n\t...rootProps\n}, ref) {\n\tconst cellProps = {\n\t\tvalue,\n\t\tname,\n\t\tsecondary,\n\t\tleading,\n\t\ttrailing,\n\t\tbadge,\n\t\ticon,\n\t\temptyLabel,\n\t\tforceNameCase,\n\t\tcontentClassName,\n\t};\n\tconst previewable =\n\t\thasPreview ?? (!isEmpty(name) || !isEmpty(value));\n\tconst interactive = previewable && !disabledReason;\n\n\tif (!interactive) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'preview-trigger-cell--component flex h-auto min-h-action-sm max-w-full items-center justify-start rounded-inner px-control-sm py-space-xs text-left',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\taria-disabled={disabledReason ? true : undefined}\n\t\t\t\ttitle={typeof disabledReason === 'string' ? disabledReason : undefined}\n\t\t\t>\n\t\t\t\t<PreviewTriggerCellInner {...cellProps} />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t{...rootProps}\n\t\t\tref={ref}\n\t\t\ttype={type ?? 'button'}\n\t\t\ttone=\"secondary\"\n\t\t\tbuttonStyle=\"ghost\"\n\t\t\tsize=\"sm\"\n\t\t\tclassName={cn(\n\t\t\t\t'preview-trigger-cell--component h-auto min-h-action-sm max-w-full justify-start px-control-sm py-space-xs text-left',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<PreviewTriggerCellInner {...cellProps} />\n\t\t\t<ChevronDown className=\"preview-trigger-cell--caret size-icon-sm shrink-0 text-muted-foreground\" aria-hidden />\n\t\t</Button>\n\t);\n});\n\nPreviewTriggerCell.displayName = 'PreviewTriggerCell';\n"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, i as t, n, o as r, r as i, t as a } from "../combobox-
|
|
2
|
+
import { a as e, i as t, n, o as r, r as i, t as a } from "../combobox-C0EQW6dr.js";
|
|
3
3
|
export { a as AsyncResourceCombobox, i as Combobox, t as MultiCombobox, n as defaultAsyncResourceComboboxStrings, r as defaultComboboxStrings, e as useComboboxCore };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "../comments-
|
|
2
|
+
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, p as c, r as l, s as u, t as d, u as f } from "../comments-BYYlTA8E.js";
|
|
3
3
|
export { a as CommentAttachmentChip, s as CommentComposer, i as CommentContent, e as CommentEmpty, l as CommentItem, o as CommentTimeline, d as Comments, c as defaultCommentsStrings, u as makeReplyEyebrow, t as useAttachmentUpload, f as useComments, n as useResolvedAccessors, r as useResolvedStrings };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useStrings as e } from "../lib/strings.js";
|
|
3
|
-
import { t } from "../utils-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { r as i, t as a } from "../structure-
|
|
7
|
-
import { g as o } from "../primitives-
|
|
8
|
-
import { t as s } from "../number-
|
|
9
|
-
import { i as c, r as l, t as u } from "../tabs-
|
|
10
|
-
import { t as d } from "../popover-menu-
|
|
11
|
-
import { f } from "../table-
|
|
12
|
-
import { N as p, O as m, P as h, T as g, l as _, w as v } from "../filters-
|
|
3
|
+
import { t } from "../utils-BRhFDwuU.js";
|
|
4
|
+
import { n } from "../buttons-DPZekJFu.js";
|
|
5
|
+
import { c as r } from "../typography-UTnveOEy.js";
|
|
6
|
+
import { r as i, t as a } from "../structure-BmisBK-3.js";
|
|
7
|
+
import { g as o } from "../primitives-BFK08r9M.js";
|
|
8
|
+
import { t as s } from "../number-DbV1Dija.js";
|
|
9
|
+
import { i as c, r as l, t as u } from "../tabs-CDocW5D1.js";
|
|
10
|
+
import { t as d } from "../popover-menu-B9WWygpa.js";
|
|
11
|
+
import { f } from "../table-BweFy_P9.js";
|
|
12
|
+
import { N as p, O as m, P as h, T as g, l as _, w as v } from "../filters-BGfvjP4d.js";
|
|
13
13
|
import { useEffect as y, useMemo as b, useRef as x } from "react";
|
|
14
14
|
import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
15
15
|
import { Check as T, ChevronsUpDown as E } from "lucide-react";
|
|
@@ -211,8 +211,9 @@ function U({ tabs: e, label: t = A }) {
|
|
|
211
211
|
"aria-hidden": "true"
|
|
212
212
|
})
|
|
213
213
|
}),
|
|
214
|
-
/* @__PURE__ */ C(
|
|
214
|
+
/* @__PURE__ */ C(r, {
|
|
215
215
|
tag: "span",
|
|
216
|
+
type: "inherit",
|
|
216
217
|
weight: e.selected ? "medium" : "regular",
|
|
217
218
|
className: "min-w-0 flex-1 truncate",
|
|
218
219
|
children: e.label
|
|
@@ -223,14 +224,14 @@ function U({ tabs: e, label: t = A }) {
|
|
|
223
224
|
children: e.description
|
|
224
225
|
})
|
|
225
226
|
] }),
|
|
226
|
-
trigger: /* @__PURE__ */ w(
|
|
227
|
+
trigger: /* @__PURE__ */ w(n, {
|
|
227
228
|
type: "button",
|
|
228
229
|
tone: "secondary",
|
|
229
230
|
buttonStyle: "ghost",
|
|
230
231
|
size: "sm",
|
|
231
232
|
className: "h-action-sm px-control-sm",
|
|
232
233
|
"aria-label": t,
|
|
233
|
-
children: [/* @__PURE__ */ C(
|
|
234
|
+
children: [/* @__PURE__ */ C(r, {
|
|
234
235
|
tag: "span",
|
|
235
236
|
size: "inherit",
|
|
236
237
|
className: "truncate text-current",
|
|
@@ -277,7 +278,7 @@ function G({ leading: e, search: n, filters: r, views: i, actions: o, className:
|
|
|
277
278
|
return /* @__PURE__ */ C("div", {
|
|
278
279
|
"data-component": "data-view-toolbar",
|
|
279
280
|
"data-slot": "data-view-toolbar",
|
|
280
|
-
className: t("data-view-toolbar--component rounded-radius border border-border
|
|
281
|
+
className: t("data-view-toolbar--component box-border rounded-radius border border-border bg-card text-card-foreground p-surface shadow-sm", s),
|
|
281
282
|
children: /* @__PURE__ */ w("div", {
|
|
282
283
|
className: "flex min-w-0 flex-col gap-space-lg @2xl/data-view:flex-row @2xl/data-view:items-center @2xl/data-view:justify-between @2xl/data-view:flex-nowrap",
|
|
283
284
|
children: [/* @__PURE__ */ w(a, {
|
|
@@ -309,11 +310,11 @@ function K({ toolbar: e, children: n, footer: r, className: a, toolbarClassName:
|
|
|
309
310
|
return /* @__PURE__ */ w("section", {
|
|
310
311
|
"data-component": "data-view-table-frame",
|
|
311
312
|
"data-slot": "data-view-table-frame",
|
|
312
|
-
className: t("data-view-table-frame--component @container/data-view overflow-hidden rounded-radius border border-border bg-card
|
|
313
|
+
className: t("data-view-table-frame--component box-border @container/data-view overflow-hidden rounded-radius border border-border bg-card text-card-foreground shadow-xs", a),
|
|
313
314
|
children: [
|
|
314
315
|
!!e && /* @__PURE__ */ C("div", {
|
|
315
316
|
"data-slot": "data-view-table-frame-toolbar",
|
|
316
|
-
className: t("data-view-table-frame--toolbar border-b border-border/
|
|
317
|
+
className: t("data-view-table-frame--toolbar border-b border-border/60 px-surface py-surface", o),
|
|
317
318
|
children: /* @__PURE__ */ C(i, {
|
|
318
319
|
columns: 1,
|
|
319
320
|
gap: "lg",
|
|
@@ -327,7 +328,7 @@ function K({ toolbar: e, children: n, footer: r, className: a, toolbarClassName:
|
|
|
327
328
|
}),
|
|
328
329
|
!!r && /* @__PURE__ */ C("div", {
|
|
329
330
|
"data-slot": "data-view-table-frame-footer",
|
|
330
|
-
className: t("data-view-table-frame--footer border-t border-border/
|
|
331
|
+
className: t("data-view-table-frame--footer border-t border-border/60 px-surface py-row-y", c),
|
|
331
332
|
children: r
|
|
332
333
|
})
|
|
333
334
|
]
|
|
@@ -420,7 +421,7 @@ function Y({ page: i, pageCount: a, total: c, onPageChange: l, disabled: u = !1,
|
|
|
420
421
|
children: [/* @__PURE__ */ C("div", {
|
|
421
422
|
"data-slot": "data-view-pagination-summary",
|
|
422
423
|
className: "data-view-pagination--summary min-w-0",
|
|
423
|
-
children: c != null && /* @__PURE__ */ C(
|
|
424
|
+
children: c != null && /* @__PURE__ */ C(r, {
|
|
424
425
|
size: "xs",
|
|
425
426
|
type: "secondary",
|
|
426
427
|
children: c
|
|
@@ -450,7 +451,7 @@ function Y({ page: i, pageCount: a, total: c, onPageChange: l, disabled: u = !1,
|
|
|
450
451
|
})] }) : null
|
|
451
452
|
]
|
|
452
453
|
}),
|
|
453
|
-
/* @__PURE__ */ C(
|
|
454
|
+
/* @__PURE__ */ C(n, {
|
|
454
455
|
size: "sm",
|
|
455
456
|
type: "button",
|
|
456
457
|
tone: "secondary",
|
|
@@ -459,7 +460,7 @@ function Y({ page: i, pageCount: a, total: c, onPageChange: l, disabled: u = !1,
|
|
|
459
460
|
onClick: () => l?.(i - 1),
|
|
460
461
|
children: p.previous
|
|
461
462
|
}),
|
|
462
|
-
/* @__PURE__ */ C(
|
|
463
|
+
/* @__PURE__ */ C(n, {
|
|
463
464
|
size: "sm",
|
|
464
465
|
type: "button",
|
|
465
466
|
tone: "secondary",
|
|
@@ -472,22 +473,22 @@ function Y({ page: i, pageCount: a, total: c, onPageChange: l, disabled: u = !1,
|
|
|
472
473
|
})]
|
|
473
474
|
});
|
|
474
475
|
}
|
|
475
|
-
function X({ views: e, value:
|
|
476
|
+
function X({ views: e, value: n, onValueChange: i, className: a }) {
|
|
476
477
|
return /* @__PURE__ */ C(u, {
|
|
477
478
|
"data-component": "saved-view-tabs",
|
|
478
479
|
"data-slot": "saved-view-tabs",
|
|
479
|
-
className: t("saved-view-tabs--component rounded-radius bg-muted
|
|
480
|
-
value:
|
|
480
|
+
className: t("saved-view-tabs--component rounded-radius bg-muted p-space-xs", a),
|
|
481
|
+
value: n,
|
|
481
482
|
onValueChange: (e) => {
|
|
482
483
|
typeof e == "string" && i(e);
|
|
483
484
|
},
|
|
484
485
|
children: /* @__PURE__ */ C(l, {
|
|
486
|
+
variant: "chips",
|
|
485
487
|
role: "group",
|
|
486
488
|
"aria-orientation": void 0,
|
|
487
489
|
activateOnFocus: !0,
|
|
488
|
-
className: "h-auto! flex-wrap justify-start gap-space-xs bg-transparent p-0",
|
|
489
490
|
children: e.map((e) => {
|
|
490
|
-
let
|
|
491
|
+
let t = e.id === n;
|
|
491
492
|
return /* @__PURE__ */ w(c, {
|
|
492
493
|
"data-slot": "saved-view-tab",
|
|
493
494
|
type: "button",
|
|
@@ -495,15 +496,15 @@ function X({ views: e, value: r, onValueChange: i, className: a }) {
|
|
|
495
496
|
value: e.id,
|
|
496
497
|
"aria-selected": void 0,
|
|
497
498
|
"aria-controls": void 0,
|
|
498
|
-
"aria-pressed":
|
|
499
|
+
"aria-pressed": t,
|
|
499
500
|
disabled: e.disabled,
|
|
500
|
-
className:
|
|
501
|
-
children: [/* @__PURE__ */ C(
|
|
501
|
+
className: "saved-view-tabs--tab gap-space-xs",
|
|
502
|
+
children: [/* @__PURE__ */ C(r, {
|
|
502
503
|
tag: "span",
|
|
503
504
|
size: "inherit",
|
|
504
505
|
className: "truncate text-current",
|
|
505
506
|
children: e.label
|
|
506
|
-
}), e.count !== void 0 && e.count !== null && /* @__PURE__ */ C(
|
|
507
|
+
}), e.count !== void 0 && e.count !== null && /* @__PURE__ */ C(r, {
|
|
507
508
|
tag: "span",
|
|
508
509
|
size: "xs",
|
|
509
510
|
type: "secondary",
|