themelia-react-ui 2.0.5 → 2.0.6
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 +76 -0
- package/MIGRATION.md +119 -0
- package/README.md +13 -6
- package/dist/{accordion-B9MHG0cT.js → accordion-0tQUZ20r.js} +7 -7
- package/dist/accordion-0tQUZ20r.js.map +1 -0
- package/dist/{action-menu-Dr8K-ghE.js → action-menu-C0gjzLyE.js} +7 -7
- package/dist/{action-menu-Dr8K-ghE.js.map → action-menu-C0gjzLyE.js.map} +1 -1
- package/dist/{ai-artifact-C58tQcBy.js → ai-artifact-CGGpQryR.js} +172 -157
- package/dist/ai-artifact-CGGpQryR.js.map +1 -0
- package/dist/{app-shell-B_IuNWOo.js → app-shell-EHuuRDGy.js} +5 -5
- package/dist/{app-shell-B_IuNWOo.js.map → app-shell-EHuuRDGy.js.map} +1 -1
- package/dist/{attachment-Dg_69lPS.js → attachment-BCpA4e7i.js} +8 -8
- package/dist/{attachment-Dg_69lPS.js.map → attachment-BCpA4e7i.js.map} +1 -1
- package/dist/{auth-DTkkshS8.js → auth-B0girIk_.js} +15 -15
- package/dist/auth-B0girIk_.js.map +1 -0
- package/dist/{avatar-CeZaFmNH.js → avatar-B9Jnp-T-.js} +3 -3
- package/dist/{avatar-CeZaFmNH.js.map → avatar-B9Jnp-T-.js.map} +1 -1
- package/dist/{badge-xIiV_E7f.js → badge-wWauMgAt.js} +3 -3
- package/dist/{badge-xIiV_E7f.js.map → badge-wWauMgAt.js.map} +1 -1
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +4 -4
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +8 -8
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +6 -6
- 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 +195 -188
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +7 -7
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +5 -5
- package/dist/base/spinner.js.map +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +1 -1
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-BoqWIIpV.js} +5 -5
- package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-BoqWIIpV.js.map} +1 -1
- package/dist/blocks/admin.js +17 -17
- package/dist/blocks/ai.js +227 -221
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +424 -449
- 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 +225 -220
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-J-K2kl4c.js → breadcrumbs-Bp9Ke7kd.js} +4 -4
- package/dist/breadcrumbs-Bp9Ke7kd.js.map +1 -0
- package/dist/{button-S2Cubiiz.js → button-ChBovTx0.js} +2 -2
- package/dist/{button-S2Cubiiz.js.map → button-ChBovTx0.js.map} +1 -1
- package/dist/{buttons-BedGfygC.js → buttons-DeW0bQeK.js} +6 -6
- package/dist/{buttons-BedGfygC.js.map → buttons-DeW0bQeK.js.map} +1 -1
- package/dist/{cards-rNX1M4Xn.js → cards-CNXnmvV5.js} +8 -8
- package/dist/{cards-rNX1M4Xn.js.map → cards-CNXnmvV5.js.map} +1 -1
- package/dist/{cascader-B1MiqkBq.js → cascader-CrAl9zD5.js} +15 -15
- package/dist/{cascader-B1MiqkBq.js.map → cascader-CrAl9zD5.js.map} +1 -1
- package/dist/{chart-Darg_0Kv.js → chart-I7ROnsl8.js} +5 -5
- package/dist/{chart-Darg_0Kv.js.map → chart-I7ROnsl8.js.map} +1 -1
- package/dist/{checkbox-fflqmODR.js → checkbox-MoyHIAPs.js} +3 -3
- package/dist/{checkbox-fflqmODR.js.map → checkbox-MoyHIAPs.js.map} +1 -1
- package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-DHGtx0QV.js} +122 -110
- package/dist/choice-inputs-DHGtx0QV.js.map +1 -0
- package/dist/{code-block-BzmM9Eig.js → code-block-BSJyq9e-.js} +7 -7
- package/dist/{code-block-BzmM9Eig.js.map → code-block-BSJyq9e-.js.map} +1 -1
- package/dist/{collapsible-BkAI_XD4.js → collapsible-BzJ91LUG.js} +3 -3
- package/dist/{collapsible-BkAI_XD4.js.map → collapsible-BzJ91LUG.js.map} +1 -1
- package/dist/{collection-content-gDh1v6O4.js → collection-content-CSnwtOTH.js} +3 -3
- package/dist/{collection-content-gDh1v6O4.js.map → collection-content-CSnwtOTH.js.map} +1 -1
- package/dist/{combobox-BEx0vJgF.js → combobox-Bcvu5J8O.js} +11 -10
- package/dist/{combobox-BEx0vJgF.js.map → combobox-Bcvu5J8O.js.map} +1 -1
- package/dist/combobox-C2JiSQPc.js +915 -0
- package/dist/combobox-C2JiSQPc.js.map +1 -0
- package/dist/{command-CrlPIL6m.js → command-9e52NPgK.js} +6 -6
- package/dist/{command-CrlPIL6m.js.map → command-9e52NPgK.js.map} +1 -1
- package/dist/{comments-Dmpp0YIc.js → comments-BsgErEqd.js} +33 -28
- package/dist/comments-BsgErEqd.js.map +1 -0
- package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
- package/dist/components/base/combobox/combobox-field.d.ts +2 -2
- package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
- package/dist/components/base/date-pickers/datepicker.types.d.ts +10 -4
- package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
- package/dist/components/base/feedback/state-display.d.ts +5 -1
- package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
- package/dist/components/base/forms/form-field.d.ts +7 -2
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
- package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
- package/dist/components/base/forms-numeric/dimensions-input.d.ts +4 -1
- package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
- package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
- package/dist/components/base/navigation/language-switcher.d.ts +12 -4
- package/dist/components/base/repeaters/key-value-editor.d.ts +2 -1
- package/dist/components/base/sidebar/sidebar.d.ts +2 -0
- package/dist/components/base/upload/avatar-upload.d.ts +2 -1
- package/dist/components/base/upload/image-upload.d.ts +2 -1
- package/dist/components/blocks/ai/ai-citation/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-sources/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +2 -0
- package/dist/components/blocks/analytics/metric/metric.d.ts +4 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
- package/dist/components/blocks/analytics/types.d.ts +2 -2
- package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
- package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +4 -3
- package/dist/components/features/activities/activities.types.d.ts +18 -11
- package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
- package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +4 -2
- package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
- package/dist/components/features/combobox/combobox.d.ts +2 -2
- package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +2 -1
- package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
- package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
- package/dist/components/features/combobox/types.d.ts +37 -8
- package/dist/components/features/email-composer/types.d.ts +3 -1
- package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
- package/dist/components/features/filters/facets/range-facet.d.ts +12 -0
- package/dist/components/features/filters/filters.types.d.ts +3 -3
- package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
- package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
- package/dist/components/features/filters/utils/filter-utils.d.ts +5 -1
- package/dist/components/features/media-library/hooks/use-media-library.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 +36 -8
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
- package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +5 -1
- package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +1 -7
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
- package/dist/components/features/products/products.types.d.ts +2 -2
- package/dist/components/features/questionnaire/questionnaire.types.d.ts +3 -0
- package/dist/components/features/resource/resource.d.ts +1 -1
- package/dist/components/features/resource/resource.types.d.ts +2 -0
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +3 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +17 -3
- package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +5 -1
- package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
- package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
- package/dist/components/features/suggestions/suggestions.types.d.ts +1 -1
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/index.d.ts +1 -0
- package/dist/components/features/table/table-body.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +6 -3
- package/dist/components/features/table/table.strings.d.ts +3 -0
- package/dist/components/features/table/table.types.d.ts +17 -1
- package/dist/components/layout/header/header.types.d.ts +3 -2
- package/dist/components/layout/layout.types.d.ts +5 -3
- package/dist/components/layout/navigation/side-nav.d.ts +3 -2
- package/dist/components/layout/normalize-layout-path.d.ts +1 -0
- package/dist/components/layout/settings/settings.d.ts +1 -1
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +3 -1
- package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
- package/dist/components/layout/sidebar/sidebar.types.d.ts +2 -0
- package/dist/components/primitives/link.d.ts +3 -2
- package/dist/components/primitives/money.d.ts +1 -1
- package/dist/components/primitives/number.d.ts +1 -1
- package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
- package/dist/{containers-CIxwbZt5.js → containers-CSdc32h9.js} +2 -2
- package/dist/{containers-CIxwbZt5.js.map → containers-CSdc32h9.js.map} +1 -1
- package/dist/{copyable-DIznBqiT.js → copyable-3fdHfMR3.js} +4 -4
- package/dist/{copyable-DIznBqiT.js.map → copyable-3fdHfMR3.js.map} +1 -1
- package/dist/{data-display-BdgCAw8T.js → data-display-Cmj-xZYl.js} +16 -15
- package/dist/data-display-Cmj-xZYl.js.map +1 -0
- package/dist/{date-Cq8ioE4o.js → date-Br0FicVv.js} +4 -4
- package/dist/{date-Cq8ioE4o.js.map → date-Br0FicVv.js.map} +1 -1
- package/dist/date-picker-CyQlFYsP.js +1617 -0
- package/dist/date-picker-CyQlFYsP.js.map +1 -0
- package/dist/date-pickers-tj2MXmXd.js +185 -0
- package/dist/date-pickers-tj2MXmXd.js.map +1 -0
- package/dist/{display-KsZLw9Ov.js → display-CT_N2a3w.js} +7 -7
- package/dist/{display-KsZLw9Ov.js.map → display-CT_N2a3w.js.map} +1 -1
- package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-C08iIugv.js} +6 -6
- package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-C08iIugv.js.map} +1 -1
- package/dist/features/activities.js +283 -270
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +40 -27
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +126 -126
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +9 -9
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +10 -10
- package/dist/features/email-composer.js +24 -19
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +129 -125
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +2 -2
- package/dist/features/global-search.js +16 -20
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +18 -28
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map/style.css +15 -0
- package/dist/features/map.js +331 -314
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +1044 -866
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +2 -2
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +978 -964
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +159 -152
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +74 -71
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +28 -19
- package/dist/features/rich-text-editor.js.map +1 -1
- package/dist/features/schema-form.js +297 -256
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +57 -50
- package/dist/features/suggestions.js.map +1 -1
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +400 -399
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-Dzo1xtAU.js +246 -0
- package/dist/feedback-Dzo1xtAU.js.map +1 -0
- package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-D6H7tVJi.js} +2 -2
- package/dist/{field-affordance-recipes-DWcNcOjh.js.map → field-affordance-recipes-D6H7tVJi.js.map} +1 -1
- package/dist/field-control-attributes-B6i335wr.js +18 -0
- package/dist/field-control-attributes-B6i335wr.js.map +1 -0
- package/dist/{field-state-recipes-BVA2CWHo.js → field-state-recipes-7sza8QbC.js} +4 -2
- package/dist/{field-state-recipes-BVA2CWHo.js.map → field-state-recipes-7sza8QbC.js.map} +1 -1
- package/dist/{filters-DzgSJpMK.js → filters-Dl80yYtN.js} +763 -605
- package/dist/filters-Dl80yYtN.js.map +1 -0
- package/dist/form-field-CAPdwdnZ.js +74 -0
- package/dist/form-field-CAPdwdnZ.js.map +1 -0
- package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-CgcrUbLU.js} +2 -2
- package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-CgcrUbLU.js.map} +1 -1
- package/dist/{forms-C0RGnJTe.js → forms-B3W8CH7-.js} +8 -8
- package/dist/{forms-C0RGnJTe.js.map → forms-B3W8CH7-.js.map} +1 -1
- package/dist/forms-numeric-CwjQJe-O.js +991 -0
- package/dist/forms-numeric-CwjQJe-O.js.map +1 -0
- package/dist/{header-DMMxG__r.js → header-ZIIsRKxP.js} +113 -113
- package/dist/header-ZIIsRKxP.js.map +1 -0
- package/dist/hooks/use-files.d.ts +2 -0
- package/dist/{hooks-DB6CJ4MR.js → hooks-BitHSh-Y.js} +3 -3
- package/dist/{hooks-DB6CJ4MR.js.map → hooks-BitHSh-Y.js.map} +1 -1
- package/dist/{icon-badge-DZF-YjQp.js → icon-badge-npxF1SLX.js} +2 -2
- package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-npxF1SLX.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/{input-CvyDQlY7.js → input-7KAc7XQL.js} +6 -6
- package/dist/{input-CvyDQlY7.js.map → input-7KAc7XQL.js.map} +1 -1
- package/dist/{input-DMBwAZmr.js → input-DIREVYHs.js} +3 -3
- package/dist/{input-DMBwAZmr.js.map → input-DIREVYHs.js.map} +1 -1
- package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-4wZ2tvfb.js} +2 -2
- package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-4wZ2tvfb.js.map} +1 -1
- package/dist/{item-DjCcM18E.js → item-FfWnaYST.js} +99 -98
- package/dist/item-FfWnaYST.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 +11 -11
- package/dist/layout.types-E_GAApzO.js +30 -0
- package/dist/layout.types-E_GAApzO.js.map +1 -0
- package/dist/lib/field-control-attributes.d.ts +11 -0
- package/dist/lib/field-state-recipes.d.ts +2 -0
- package/dist/lib/format.d.ts +1 -0
- package/dist/lib/surface-recipes.d.ts +1 -1
- package/dist/lib/token-merge.generated.d.ts +6 -6
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-C-vChPmE.js → media-gallery-C81DAnKI.js} +6 -6
- package/dist/{media-gallery-C-vChPmE.js.map → media-gallery-C81DAnKI.js.map} +1 -1
- package/dist/{mentions-0_4nWuI-.js → mentions-qOnedSt4.js} +236 -167
- package/dist/mentions-qOnedSt4.js.map +1 -0
- package/dist/message-BJHnn43M.js +135 -0
- package/dist/message-BJHnn43M.js.map +1 -0
- package/dist/{metadata-list-C3MkU-Om.js → metadata-list-XkqZ_UXH.js} +11 -11
- package/dist/{metadata-list-C3MkU-Om.js.map → metadata-list-XkqZ_UXH.js.map} +1 -1
- package/dist/{navigation-DaRjthVk.js → navigation-BgtPJAhi.js} +119 -119
- package/dist/navigation-BgtPJAhi.js.map +1 -0
- package/dist/{navigation-C90-oQFq.js → navigation-Bt-v7rWP.js} +52 -46
- package/dist/navigation-Bt-v7rWP.js.map +1 -0
- package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
- package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
- package/dist/{number-CRU3kGuk.js → number-CYqBcrSj.js} +78 -86
- package/dist/number-CYqBcrSj.js.map +1 -0
- package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-BQCA2Zn2.js} +7 -7
- package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-BQCA2Zn2.js.map} +1 -1
- package/dist/{overlays-BSgCtM2v.js → overlays-CC8zI3Du.js} +264 -260
- package/dist/overlays-CC8zI3Du.js.map +1 -0
- package/dist/{page-DUUKDAjo.js → page-BoQ1VaFJ.js} +13 -13
- package/dist/{page-DUUKDAjo.js.map → page-BoQ1VaFJ.js.map} +1 -1
- package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-DIKspJfx.js} +4 -4
- package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-DIKspJfx.js.map} +1 -1
- package/dist/{pagination-CgCjElfu.js → pagination-Br8TdV9A.js} +4 -4
- package/dist/{pagination-CgCjElfu.js.map → pagination-Br8TdV9A.js.map} +1 -1
- package/dist/{popover-B85RenIl.js → popover-k8TdUcAt.js} +10 -10
- package/dist/popover-k8TdUcAt.js.map +1 -0
- package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-yn-o0kyA.js} +7 -7
- package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-yn-o0kyA.js.map} +1 -1
- package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-DJ0AkUan.js} +2 -2
- package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-DJ0AkUan.js.map} +1 -1
- package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-DyUXqUtD.js} +2 -2
- package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-DyUXqUtD.js.map} +1 -1
- package/dist/{primitives-ByWgGUgt.js → primitives-BkkQjYl7.js} +22 -17
- package/dist/primitives-BkkQjYl7.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-BJhQP9WX.js → progress-DZFXXzPs.js} +4 -4
- package/dist/{progress-BJhQP9WX.js.map → progress-DZFXXzPs.js.map} +1 -1
- package/dist/{receipt-tOc7B3hw.js → receipt-C7LhOg7Q.js} +6 -6
- package/dist/{receipt-tOc7B3hw.js.map → receipt-C7LhOg7Q.js.map} +1 -1
- package/dist/rich-text-BnTzZjIo.js +45 -0
- package/dist/rich-text-BnTzZjIo.js.map +1 -0
- package/dist/rich-text-editor-CAurDwT5.js +1273 -0
- package/dist/rich-text-editor-CAurDwT5.js.map +1 -0
- package/dist/{rich-text-editor-toolbar-laT3tpBT.js → rich-text-editor-toolbar-DbXig7Jk.js} +36 -35
- package/dist/rich-text-editor-toolbar-DbXig7Jk.js.map +1 -0
- package/dist/rich-text-tree-BqyQ_7-R.js +66 -0
- package/dist/rich-text-tree-BqyQ_7-R.js.map +1 -0
- package/dist/{sanitize-html-DsQmI48u.js → sanitize-html-BWkH4dLM.js} +29 -16
- package/dist/sanitize-html-BWkH4dLM.js.map +1 -0
- package/dist/{scroll-area-B0dB2cBi.js → scroll-area-Bj6CRUif.js} +2 -2
- package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-Bj6CRUif.js.map} +1 -1
- package/dist/{separator-Bb17I4pu.js → separator-B9ewiCGO.js} +2 -2
- package/dist/{separator-Bb17I4pu.js.map → separator-B9ewiCGO.js.map} +1 -1
- package/dist/{separator-Ct_WSWTJ.js → separator-DM6gs2vu.js} +3 -3
- package/dist/{separator-Ct_WSWTJ.js.map → separator-DM6gs2vu.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/settings-DZPHgpx4.js +155 -0
- package/dist/settings-DZPHgpx4.js.map +1 -0
- package/dist/{sheet-BGPERY55.js → sheet-C4DHsgLk.js} +6 -6
- package/dist/{sheet-BGPERY55.js.map → sheet-C4DHsgLk.js.map} +1 -1
- package/dist/sidebar-C8BnDwTH.js +709 -0
- package/dist/sidebar-C8BnDwTH.js.map +1 -0
- package/dist/{sidebar-f9gRWXIR.js → sidebar-CmD6a-HK.js} +16 -13
- package/dist/sidebar-CmD6a-HK.js.map +1 -0
- package/dist/{skeleton-BapcJd9C.js → skeleton-DDgdhmu9.js} +5 -5
- package/dist/{skeleton-BapcJd9C.js.map → skeleton-DDgdhmu9.js.map} +1 -1
- package/dist/{smart-card-CW0hjetE.js → smart-card-B6vLxqa_.js} +8 -8
- package/dist/{smart-card-CW0hjetE.js.map → smart-card-B6vLxqa_.js.map} +1 -1
- package/dist/{structure-DuxKl954.js → structure-DZJ2wbAU.js} +2 -2
- package/dist/{structure-DuxKl954.js.map → structure-DZJ2wbAU.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-C8mNycaY.js} +2 -2
- package/dist/{surface-recipes-BKRVW8Os.js.map → surface-recipes-C8mNycaY.js.map} +1 -1
- package/dist/{table-CFOWY9pQ.js → table-CBonSdTp.js} +534 -486
- package/dist/table-CBonSdTp.js.map +1 -0
- package/dist/{table-B4TE7iOV.js → table-CXSPHH25.js} +75 -71
- package/dist/table-CXSPHH25.js.map +1 -0
- package/dist/{tabs-e7ko9S2o.js → tabs-C4Kr_hCr.js} +50 -49
- package/dist/tabs-C4Kr_hCr.js.map +1 -0
- package/dist/{text-inputs-B1culiSK.js → text-inputs-jdkS3ReG.js} +9 -9
- package/dist/{text-inputs-B1culiSK.js.map → text-inputs-jdkS3ReG.js.map} +1 -1
- package/dist/{timelines-D3Sl9ueq.js → timelines-CoPwdJP0.js} +10 -10
- package/dist/{timelines-D3Sl9ueq.js.map → timelines-CoPwdJP0.js.map} +1 -1
- package/dist/{tooltip-8wz5S_Zr.js → tooltip-31NwIpTo.js} +4 -4
- package/dist/{tooltip-8wz5S_Zr.js.map → tooltip-31NwIpTo.js.map} +1 -1
- package/dist/{tree-CzUJHnFs.js → tree-CeYVzdFE.js} +6 -6
- package/dist/{tree-CzUJHnFs.js.map → tree-CeYVzdFE.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-BQnine1k.js → typography-C7-YMW1S.js} +2 -2
- package/dist/{typography-BQnine1k.js.map → typography-C7-YMW1S.js.map} +1 -1
- package/dist/typography.js +1 -1
- package/dist/{upload-BOW6U2tI.js → upload-Hdm5gObf.js} +303 -291
- package/dist/upload-Hdm5gObf.js.map +1 -0
- package/dist/{upload-queue-qUXn1ykN.js → upload-queue-D0sYPuqo.js} +8 -8
- package/dist/{upload-queue-qUXn1ykN.js.map → upload-queue-D0sYPuqo.js.map} +1 -1
- package/dist/{usage-card-BeSLY0i0.js → usage-card-9s8hLDfn.js} +9 -9
- package/dist/{usage-card-BeSLY0i0.js.map → usage-card-9s8hLDfn.js.map} +1 -1
- package/dist/{utils-B6kKb8jB.js → utils-DhuoqFy4.js} +31 -37
- package/dist/utils-DhuoqFy4.js.map +1 -0
- package/dist/{value-inputs-skdVB2zh.js → value-inputs-D3aPgq9H.js} +15 -15
- package/dist/{value-inputs-skdVB2zh.js.map → value-inputs-D3aPgq9H.js.map} +1 -1
- package/dist/{value-typography-uAmWUAL1.js → value-typography-uSzzG9Gf.js} +32 -26
- package/dist/value-typography-uSzzG9Gf.js.map +1 -0
- package/dist/{workspace-DHeHv0qw.js → workspace-CC8Vchiu.js} +12 -12
- package/dist/{workspace-DHeHv0qw.js.map → workspace-CC8Vchiu.js.map} +1 -1
- package/docs/consumer-skill/examples/edit.tsx +3 -3
- package/docs/consumer-skill/references/agents-md.md +19 -19
- package/docs/consumer-skill/references/analytics.md +15 -0
- package/docs/consumer-skill/references/component-contracts.json +14724 -13057
- package/docs/consumer-skill/references/composition.md +21 -4
- package/docs/consumer-skill/references/design-contract.md +1 -0
- package/docs/consumer-skill/references/installation.md +51 -8
- package/docs/consumer-skill/references/integration.md +24 -1
- package/docs/consumer-skill/references/public-api.json +172 -34
- package/docs/consumer-skill/references/review.md +51 -11
- package/docs/consumer-skill/references/rhf-workflows.md +72 -0
- package/docs/consumer-skill/references/theming.md +7 -2
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/scripts/composition-policy.mjs +144 -30
- package/docs/consumer-skill/scripts/setup-skills.mjs +46 -9
- package/package.json +4 -2
- package/templates/admin-shell-template.tsx +1 -2
- package/templates/customers-template.tsx +18 -16
- package/dist/accordion-B9MHG0cT.js.map +0 -1
- package/dist/ai-artifact-C58tQcBy.js.map +0 -1
- package/dist/auth-DTkkshS8.js.map +0 -1
- package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
- package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
- package/dist/combobox-BwzoXFSG.js +0 -884
- package/dist/combobox-BwzoXFSG.js.map +0 -1
- package/dist/comments-Dmpp0YIc.js.map +0 -1
- package/dist/data-display-BdgCAw8T.js.map +0 -1
- package/dist/date-picker-RlIzKom_.js +0 -1551
- package/dist/date-picker-RlIzKom_.js.map +0 -1
- package/dist/date-pickers-DY-CpXS1.js +0 -179
- package/dist/date-pickers-DY-CpXS1.js.map +0 -1
- package/dist/feedback-Dm4izqFn.js +0 -240
- package/dist/feedback-Dm4izqFn.js.map +0 -1
- package/dist/filters-DzgSJpMK.js.map +0 -1
- package/dist/form-field-BriWAXyg.js +0 -63
- package/dist/form-field-BriWAXyg.js.map +0 -1
- package/dist/forms-numeric-DIhghX1Q.js +0 -910
- package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
- package/dist/header-DMMxG__r.js.map +0 -1
- package/dist/item-DjCcM18E.js.map +0 -1
- package/dist/layout.types-Cn7aUzJp.js +0 -20
- package/dist/layout.types-Cn7aUzJp.js.map +0 -1
- package/dist/mentions-0_4nWuI-.js.map +0 -1
- package/dist/message-g8p7eVtN.js +0 -128
- package/dist/message-g8p7eVtN.js.map +0 -1
- package/dist/navigation-C90-oQFq.js.map +0 -1
- package/dist/navigation-DaRjthVk.js.map +0 -1
- package/dist/number-CRU3kGuk.js.map +0 -1
- package/dist/overlays-BSgCtM2v.js.map +0 -1
- package/dist/popover-B85RenIl.js.map +0 -1
- package/dist/primitives-ByWgGUgt.js.map +0 -1
- package/dist/rich-text-Dth5E882.js +0 -78
- package/dist/rich-text-Dth5E882.js.map +0 -1
- package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
- package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
- package/dist/safe-image-src-C6kQSMBZ.js +0 -17
- package/dist/safe-image-src-C6kQSMBZ.js.map +0 -1
- package/dist/sanitize-html-DsQmI48u.js.map +0 -1
- package/dist/settings-Bar5wiSo.js +0 -167
- package/dist/settings-Bar5wiSo.js.map +0 -1
- package/dist/sidebar-D-JYMMbY.js +0 -686
- package/dist/sidebar-D-JYMMbY.js.map +0 -1
- package/dist/sidebar-f9gRWXIR.js.map +0 -1
- package/dist/table-B4TE7iOV.js.map +0 -1
- package/dist/table-CFOWY9pQ.js.map +0 -1
- package/dist/tabs-e7ko9S2o.js.map +0 -1
- package/dist/upload-BOW6U2tI.js.map +0 -1
- package/dist/utils-B6kKb8jB.js.map +0 -1
- package/dist/value-typography-uAmWUAL1.js.map +0 -1
|
@@ -1,67 +1,68 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./utils-
|
|
3
|
-
import { c as t, o as n } from "./typography-
|
|
4
|
-
import {
|
|
5
|
-
import { t as i } from "./
|
|
6
|
-
import
|
|
7
|
-
import
|
|
2
|
+
import { t as e } from "./utils-DhuoqFy4.js";
|
|
3
|
+
import { c as t, o as n } from "./typography-C7-YMW1S.js";
|
|
4
|
+
import { i as r } from "./text.styles-B64My8RZ.js";
|
|
5
|
+
import { t as i } from "./focus-recipes-B653VaLq.js";
|
|
6
|
+
import { t as a } from "./row-recipes-DL8n7t_b.js";
|
|
7
|
+
import * as o from "react";
|
|
8
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
8
9
|
//#region src/components/ui/table.tsx
|
|
9
|
-
function
|
|
10
|
-
return /* @__PURE__ */
|
|
10
|
+
function c({ className: t, containerClassName: n, containerProps: r, ...i }) {
|
|
11
|
+
return /* @__PURE__ */ s("div", {
|
|
11
12
|
...r,
|
|
12
13
|
"data-slot": "table-container",
|
|
13
14
|
className: e("relative w-full overflow-x-auto", n, r?.className),
|
|
14
|
-
children: /* @__PURE__ */
|
|
15
|
+
children: /* @__PURE__ */ s("table", {
|
|
15
16
|
"data-slot": "table",
|
|
16
17
|
className: e("w-full caption-bottom border-collapse text-sm", t),
|
|
17
18
|
...i
|
|
18
19
|
})
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
-
return /* @__PURE__ */
|
|
22
|
+
function l({ className: t, ...n }) {
|
|
23
|
+
return /* @__PURE__ */ s("thead", {
|
|
23
24
|
"data-slot": "table-header",
|
|
24
25
|
className: e("border-border [&_tr]:border-b [&_tr]:border-border", t),
|
|
25
26
|
...n
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
|
-
function
|
|
29
|
-
return /* @__PURE__ */
|
|
29
|
+
function u({ className: t, ...n }) {
|
|
30
|
+
return /* @__PURE__ */ s("tbody", {
|
|
30
31
|
"data-slot": "table-body",
|
|
31
32
|
className: e("[&_tr:last-child]:border-0", t),
|
|
32
33
|
...n
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
-
return /* @__PURE__ */
|
|
36
|
+
function d({ className: t, ...n }) {
|
|
37
|
+
return /* @__PURE__ */ s("tfoot", {
|
|
37
38
|
"data-slot": "table-footer",
|
|
38
39
|
className: e("border-border bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", t),
|
|
39
40
|
...n
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
|
-
function
|
|
43
|
-
return /* @__PURE__ */
|
|
43
|
+
function f({ className: t, ...n }) {
|
|
44
|
+
return /* @__PURE__ */ s("tr", {
|
|
44
45
|
"data-slot": "table-row",
|
|
45
46
|
className: e("border-border hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", t),
|
|
46
47
|
...n
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
|
-
function
|
|
50
|
-
return /* @__PURE__ */
|
|
50
|
+
function p({ className: t, ...n }) {
|
|
51
|
+
return /* @__PURE__ */ s("th", {
|
|
51
52
|
"data-slot": "table-head",
|
|
52
|
-
className: e("text-foreground h-10
|
|
53
|
+
className: e("text-foreground h-10 text-start align-middle font-medium whitespace-nowrap", t),
|
|
53
54
|
...n
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
|
-
function
|
|
57
|
-
return /* @__PURE__ */
|
|
57
|
+
function m({ className: t, ...n }) {
|
|
58
|
+
return /* @__PURE__ */ s("td", {
|
|
58
59
|
"data-slot": "table-cell",
|
|
59
|
-
className: e("
|
|
60
|
+
className: e("align-middle whitespace-nowrap", t),
|
|
60
61
|
...n
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
|
-
function
|
|
64
|
-
return /* @__PURE__ */
|
|
64
|
+
function h({ className: t, ...n }) {
|
|
65
|
+
return /* @__PURE__ */ s("caption", {
|
|
65
66
|
"data-slot": "table-caption",
|
|
66
67
|
className: e("text-muted-foreground mt-space-xl text-sm", t),
|
|
67
68
|
...n
|
|
@@ -69,18 +70,18 @@ function m({ className: t, ...n }) {
|
|
|
69
70
|
}
|
|
70
71
|
//#endregion
|
|
71
72
|
//#region src/components/base/table/index.tsx
|
|
72
|
-
var
|
|
73
|
-
compact:
|
|
74
|
-
default:
|
|
75
|
-
comfortable:
|
|
73
|
+
var g = o.createContext("default"), _ = {
|
|
74
|
+
compact: a.default,
|
|
75
|
+
default: a.comfortable,
|
|
76
|
+
comfortable: a.comfortable
|
|
76
77
|
};
|
|
77
|
-
function
|
|
78
|
+
function v(e) {
|
|
78
79
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
-
let [e, t] =
|
|
81
|
+
function y() {
|
|
82
|
+
let [e, t] = o.useState(!0), n = o.useRef(null);
|
|
82
83
|
return {
|
|
83
|
-
ref:
|
|
84
|
+
ref: o.useCallback((e) => {
|
|
84
85
|
if (n.current?.disconnect(), n.current = null, !e || typeof ResizeObserver > "u") return;
|
|
85
86
|
let r = () => t(e.scrollWidth > e.clientWidth + 1), i = new ResizeObserver(r);
|
|
86
87
|
i.observe(e), e.firstElementChild && i.observe(e.firstElementChild), n.current = i, r();
|
|
@@ -88,67 +89,70 @@ function v() {
|
|
|
88
89
|
overflowing: e
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
|
-
function
|
|
92
|
-
let { ref:
|
|
93
|
-
|
|
94
|
-
}, [
|
|
95
|
-
return /* @__PURE__ */
|
|
96
|
-
value:
|
|
97
|
-
children: /* @__PURE__ */
|
|
92
|
+
function b({ className: t, containerClassName: n, containerProps: a, density: l = "default", ...u }) {
|
|
93
|
+
let { ref: d, overflowing: f } = y(), p = a?.ref, m = o.useCallback((e) => {
|
|
94
|
+
d(e), typeof p == "function" ? p(e) : p && (p.current = e);
|
|
95
|
+
}, [d, p]);
|
|
96
|
+
return /* @__PURE__ */ s(g.Provider, {
|
|
97
|
+
value: l,
|
|
98
|
+
children: /* @__PURE__ */ s(c, {
|
|
98
99
|
containerProps: {
|
|
99
|
-
tabIndex:
|
|
100
|
-
...
|
|
101
|
-
ref:
|
|
100
|
+
tabIndex: f ? 0 : void 0,
|
|
101
|
+
...a,
|
|
102
|
+
ref: m
|
|
102
103
|
},
|
|
103
|
-
containerClassName: e(`table--container relative w-full overflow-x-auto focus-visible:outline-none ${
|
|
104
|
-
"data-density":
|
|
105
|
-
className: e("table--component
|
|
106
|
-
|
|
104
|
+
containerClassName: e(`table--container relative w-full overflow-x-auto focus-visible:outline-none ${i.edge}`, n),
|
|
105
|
+
"data-table-density": l,
|
|
106
|
+
className: e("table--component", r({
|
|
107
|
+
size: "sm",
|
|
108
|
+
type: "inherit"
|
|
109
|
+
}), t),
|
|
110
|
+
...u
|
|
107
111
|
})
|
|
108
112
|
});
|
|
109
113
|
}
|
|
110
|
-
function
|
|
111
|
-
return /* @__PURE__ */
|
|
114
|
+
function x({ className: t, ...n }) {
|
|
115
|
+
return /* @__PURE__ */ s(l, {
|
|
112
116
|
className: e("table--header [&_tr]:border-border [&_tr]:hover:bg-transparent", t),
|
|
113
117
|
...n
|
|
114
118
|
});
|
|
115
119
|
}
|
|
116
|
-
function
|
|
117
|
-
return /* @__PURE__ */
|
|
120
|
+
function S({ className: t, ...n }) {
|
|
121
|
+
return /* @__PURE__ */ s(u, {
|
|
118
122
|
className: e("table--body", t),
|
|
119
123
|
...n
|
|
120
124
|
});
|
|
121
125
|
}
|
|
122
|
-
function
|
|
123
|
-
return /* @__PURE__ */
|
|
126
|
+
function C({ className: t, ...n }) {
|
|
127
|
+
return /* @__PURE__ */ s(d, {
|
|
124
128
|
className: e("table--footer border-border", t),
|
|
125
129
|
...n
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
|
-
function
|
|
129
|
-
return /* @__PURE__ */
|
|
132
|
+
function w({ className: t, ...n }) {
|
|
133
|
+
return /* @__PURE__ */ s(f, {
|
|
130
134
|
className: e("table--row border-border", t),
|
|
131
135
|
...n
|
|
132
136
|
});
|
|
133
137
|
}
|
|
134
|
-
function
|
|
135
|
-
let
|
|
136
|
-
return /* @__PURE__ */
|
|
137
|
-
className: e("table--head h-auto
|
|
138
|
+
function T({ className: t, children: r, ...i }) {
|
|
139
|
+
let a = o.useContext(g);
|
|
140
|
+
return /* @__PURE__ */ s(p, {
|
|
141
|
+
className: e("table--head box-border h-auto text-sm", _[a], t),
|
|
138
142
|
...i,
|
|
139
|
-
children:
|
|
143
|
+
children: v(r) ? /* @__PURE__ */ s(n, {
|
|
140
144
|
tag: "span",
|
|
141
145
|
className: "table--head-text",
|
|
142
146
|
children: r
|
|
143
147
|
}) : r
|
|
144
148
|
});
|
|
145
149
|
}
|
|
146
|
-
function
|
|
147
|
-
let c =
|
|
148
|
-
return /* @__PURE__ */
|
|
149
|
-
className: e("table--cell
|
|
150
|
-
...
|
|
151
|
-
children:
|
|
150
|
+
function E({ className: n, children: r, ...i }) {
|
|
151
|
+
let c = o.useContext(g);
|
|
152
|
+
return /* @__PURE__ */ s(m, {
|
|
153
|
+
className: e("table--cell box-border text-sm", a[c], n),
|
|
154
|
+
...i,
|
|
155
|
+
children: v(r) ? /* @__PURE__ */ s(t, {
|
|
152
156
|
tag: "span",
|
|
153
157
|
size: "inherit",
|
|
154
158
|
className: "table--cell-text text-inherit",
|
|
@@ -156,11 +160,11 @@ function T({ className: n, children: r, ...s }) {
|
|
|
156
160
|
}) : r
|
|
157
161
|
});
|
|
158
162
|
}
|
|
159
|
-
function
|
|
160
|
-
return /* @__PURE__ */
|
|
163
|
+
function D({ className: n, children: r, ...i }) {
|
|
164
|
+
return /* @__PURE__ */ s(h, {
|
|
161
165
|
className: e("table--caption", n),
|
|
162
166
|
...i,
|
|
163
|
-
children:
|
|
167
|
+
children: v(r) ? /* @__PURE__ */ s(t, {
|
|
164
168
|
tag: "span",
|
|
165
169
|
size: "inherit",
|
|
166
170
|
type: "secondary",
|
|
@@ -170,6 +174,6 @@ function E({ className: n, children: r, ...i }) {
|
|
|
170
174
|
});
|
|
171
175
|
}
|
|
172
176
|
//#endregion
|
|
173
|
-
export {
|
|
177
|
+
export { C as a, w as c, E as i, S as n, T as o, D as r, x as s, b as t };
|
|
174
178
|
|
|
175
|
-
//# sourceMappingURL=table-
|
|
179
|
+
//# sourceMappingURL=table-CXSPHH25.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-CXSPHH25.js","names":["Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","React","UITable","UITableHeader","UITableBody","UITableFooter","UITableRow","UITableHead","UITableCell","UITableCaption","cn","Text","DisplayLabel","resolveTextClassNames","focusRecipes","rowBlockPaddingClasses","React$1","Table$1","props","containerProps","containerClassName","className","TableHeader$1","TableBody$1","TableFooter$1","TableRow$1","TableHead$1","TableCell$1","TableCaption$1","TableDensityContext","headBlockPaddingClasses","isSimpleText","value","useHorizontalOverflow","overflowing","setOverflowing","observerRef","node","measure","observer","Table","overflowRef","consumerRef","containerRef","density","TableHeader","TableBody","TableFooter","TableRow","TableHead","children","TableCell","TableCaption"],"sources":["../src/components/ui/table.tsx","../src/components/base/table/index.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"../../lib/utils\"\n\ntype TableProps = React.ComponentProps<\"table\"> & {\n containerClassName?: string\n containerProps?: React.ComponentProps<\"div\">\n}\n\nfunction Table({ className, containerClassName, containerProps, ...props }: TableProps) {\n return (\n <div\n {...containerProps}\n data-slot=\"table-container\"\n className={cn(\"relative w-full overflow-x-auto\", containerClassName, containerProps?.className)}\n >\n <table\n data-slot=\"table\"\n // The package ships no preflight: collapsed borders are what make the\n // row rules visible and remove the native cell spacing in any host.\n className={cn(\"w-full caption-bottom border-collapse text-sm\", className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"border-border [&_tr]:border-b [&_tr]:border-border\", className)}\n {...props}\n />\n )\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\"border-border bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\", className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\"border-border hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\", className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\"text-foreground h-10 text-start align-middle font-medium whitespace-nowrap\", className)}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\"align-middle whitespace-nowrap\", className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"text-muted-foreground mt-space-xl text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from 'react';\n\nimport {\n\tTable as UITable,\n\tTableBody as UITableBody,\n\tTableCaption as UITableCaption,\n\tTableCell as UITableCell,\n\tTableFooter as UITableFooter,\n\tTableHead as UITableHead,\n\tTableHeader as UITableHeader,\n\tTableRow as UITableRow,\n} from '../../ui/table';\nimport { DisplayLabel, Text } from '../../typography';\nimport { resolveTextClassNames } from '../../typography/text.styles';\nimport { cn } from '../../../lib/utils';\nimport { focusRecipes } from '../../../lib/focus-recipes';\nimport { rowBlockPaddingClasses, type RowDensity } from '../../../lib/row-recipes';\n\nexport type TableProps = React.ComponentProps<typeof UITable> & {\n\t/**\n\t * Vertical row rhythm for every header and body cell. Header cells sit one\n\t * row step above their body rows. Defaults to `default`.\n\t */\n\tdensity?: RowDensity;\n};\nexport type TableHeaderProps = React.ComponentProps<typeof UITableHeader>;\nexport type TableBodyProps = React.ComponentProps<typeof UITableBody>;\nexport type TableFooterProps = React.ComponentProps<typeof UITableFooter>;\nexport type TableRowProps = React.ComponentProps<typeof UITableRow>;\nexport type TableHeadProps = React.ComponentProps<typeof UITableHead>;\nexport type TableCellProps = React.ComponentProps<typeof UITableCell>;\nexport type TableCaptionProps = React.ComponentProps<typeof UITableCaption>;\n\n/**\n * The table owns cell geometry once: `Table` publishes its density and every\n * head and cell takes its block padding from the shared row recipe, so a\n * feature passes a density instead of re-styling descendant cells.\n * The colocated CSS owns inline row/outer-surface insets in the component layer.\n */\nconst TableDensityContext = React.createContext<RowDensity>('default');\n\n/** A header row labels its columns one row step above the body; comfortable is the top step. */\nconst headBlockPaddingClasses: Record<RowDensity, string> = {\n\tcompact: rowBlockPaddingClasses.default,\n\tdefault: rowBlockPaddingClasses.comfortable,\n\tcomfortable: rowBlockPaddingClasses.comfortable,\n};\n\nfunction isSimpleText(value: React.ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\n/**\n * The scroll container joins the Tab order only while the table actually\n * overflows, so keyboard users can scroll a wide table without every table\n * on a page adding an empty tab stop. An explicit `containerProps.tabIndex` wins.\n */\nfunction useHorizontalOverflow() {\n\tconst [overflowing, setOverflowing] = React.useState(true);\n\tconst observerRef = React.useRef<ResizeObserver | null>(null);\n\tconst ref = React.useCallback((node: HTMLDivElement | null) => {\n\t\tobserverRef.current?.disconnect();\n\t\tobserverRef.current = null;\n\t\tif (!node || typeof ResizeObserver === 'undefined') return;\n\t\tconst measure = () => setOverflowing(node.scrollWidth > node.clientWidth + 1);\n\t\tconst observer = new ResizeObserver(measure);\n\t\tobserver.observe(node);\n\t\tif (node.firstElementChild) observer.observe(node.firstElementChild);\n\t\tobserverRef.current = observer;\n\t\tmeasure();\n\t}, []);\n\treturn { ref, overflowing };\n}\n\nexport function Table({ className, containerClassName, containerProps, density = 'default', ...props }: TableProps) {\n\tconst { ref: overflowRef, overflowing } = useHorizontalOverflow();\n\tconst consumerRef = containerProps?.ref;\n\tconst containerRef = React.useCallback((node: HTMLDivElement | null) => {\n\t\toverflowRef(node);\n\t\tif (typeof consumerRef === 'function') consumerRef(node);\n\t\telse if (consumerRef) (consumerRef as React.RefObject<HTMLDivElement | null>).current = node;\n\t}, [overflowRef, consumerRef]);\n\treturn (\n\t\t<TableDensityContext.Provider value={density}>\n\t\t\t<UITable\n\t\t\t\tcontainerProps={{ tabIndex: overflowing ? 0 : undefined, ...containerProps, ref: containerRef }}\n\t\t\t\tcontainerClassName={cn(\n\t\t\t\t\t`table--container relative w-full overflow-x-auto focus-visible:outline-none ${focusRecipes.edge}`,\n\t\t\t\t\tcontainerClassName,\n\t\t\t\t)}\n\t\t\t\tdata-table-density={density}\n\t\t\t\tclassName={cn('table--component', resolveTextClassNames({ size: 'sm', type: 'inherit' }), className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</TableDensityContext.Provider>\n\t);\n}\n\nexport function TableHeader({ className, ...props }: TableHeaderProps) {\n\treturn (\n\t\t<UITableHeader\n\t\t\t// Header rows label columns; they do not take the body's hover tint.\n\t\t\tclassName={cn('table--header [&_tr]:border-border [&_tr]:hover:bg-transparent', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableBody({ className, ...props }: TableBodyProps) {\n\treturn (\n\t\t<UITableBody\n\t\t\tclassName={cn('table--body', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableFooter({ className, ...props }: TableFooterProps) {\n\treturn (\n\t\t<UITableFooter\n\t\t\tclassName={cn('table--footer border-border', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableRow({ className, ...props }: TableRowProps) {\n\treturn (\n\t\t<UITableRow\n\t\t\tclassName={cn('table--row border-border', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableHead({ className, children, ...props }: TableHeadProps) {\n\tconst density = React.useContext(TableDensityContext);\n\treturn (\n\t\t<UITableHead\n\t\t\t// Height comes from the row rhythm plus the label's line, never a fixed box.\n\t\t\tclassName={cn('table--head box-border h-auto text-sm', headBlockPaddingClasses[density], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<DisplayLabel tag=\"span\" className=\"table--head-text\">\n\t\t\t\t\t{children}\n\t\t\t\t</DisplayLabel>\n\t\t\t) : children}\n\t\t</UITableHead>\n\t);\n}\n\nexport function TableCell({ className, children, ...props }: TableCellProps) {\n\tconst density = React.useContext(TableDensityContext);\n\treturn (\n\t\t<UITableCell\n\t\t\tclassName={cn('table--cell box-border text-sm', rowBlockPaddingClasses[density], className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" className=\"table--cell-text text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</UITableCell>\n\t);\n}\n\nexport function TableCaption({ className, children, ...props }: TableCaptionProps) {\n\treturn (\n\t\t<UITableCaption\n\t\t\tclassName={cn('table--caption', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" type=\"secondary\" className=\"table--caption-text\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</UITableCaption>\n\t);\n}\n"],"mappings":";;;;;;;;;AASA,SAASA,EAAM,EAAE,cAAW,uBAAoB,mBAAgB,GAAGyB,KAAqB;CACtF,OACE,kBAAC,OAAD;EACE,GAAIC;EACJ,aAAU;EACV,WAAWT,EAAG,mCAAmCU,GAAoBD,GAAgB,SAAS;EAE9F,UAAA,kBAAC,SAAD;GACE,aAAU;GAGV,WAAWT,EAAG,iDAAiDW,CAAS;GACxE,GAAIH;EACL,CAAA;CACE,CAAA;AAET;AAEA,SAASxB,EAAY,EAAE,cAAW,GAAGwB,KAAwC;CAC3E,OACE,kBAAC,SAAD;EACE,aAAU;EACV,WAAWR,EAAG,sDAAsDW,CAAS;EAC7E,GAAIH;CACL,CAAA;AAEL;AAEA,SAASvB,EAAU,EAAE,cAAW,GAAGuB,KAAwC;CACzE,OACE,kBAAC,SAAD;EACE,aAAU;EACV,WAAWR,EAAG,8BAA8BW,CAAS;EACrD,GAAIH;CACL,CAAA;AAEL;AAEA,SAAStB,EAAY,EAAE,cAAW,GAAGsB,KAAwC;CAC3E,OACE,kBAAC,SAAD;EACE,aAAU;EACV,WAAWR,EAAG,yEAAyEW,CAAS;EAChG,GAAIH;CACL,CAAA;AAEL;AAEA,SAASrB,EAAS,EAAE,cAAW,GAAGqB,KAAqC;CACrE,OACE,kBAAC,MAAD;EACE,aAAU;EACV,WAAWR,EAAG,6FAA6FW,CAAS;EACpH,GAAIH;CACL,CAAA;AAEL;AAEA,SAASpB,EAAU,EAAE,cAAW,GAAGoB,KAAqC;CACtE,OACE,kBAAC,MAAD;EACE,aAAU;EACV,WAAWR,EAAG,8EAA8EW,CAAS;EACrG,GAAIH;CACL,CAAA;AAEL;AAEA,SAASnB,EAAU,EAAE,cAAW,GAAGmB,KAAqC;CACtE,OACE,kBAAC,MAAD;EACE,aAAU;EACV,WAAWR,EAAG,kCAAkCW,CAAS;EACzD,GAAIH;CACL,CAAA;AAEL;AAEA,SAASlB,EAAa,EACpB,cACA,GAAGkB,KAC+B;CAClC,OACE,kBAAC,WAAD;EACE,aAAU;EACV,WAAWR,EAAG,6CAA6CW,CAAS;EACpE,GAAIH;CACL,CAAA;AAEL;;;AC3DA,IAAMW,IAAsB5B,EAAM,cAA0B,SAAS,GAG/D6B,IAAsD;CAC3D,SAASf,EAAuB;CAChC,SAASA,EAAuB;CAChC,aAAaA,EAAuB;AACrC;AAEA,SAASgB,EAAa,GAA2D;CAChF,OAAO,OAAOC,KAAU,YAAY,OAAOA,KAAU,YAAY,OAAOA,KAAU;AACnF;AAOA,SAASC,IAAwB;CAChC,IAAM,CAACC,GAAaC,KAAkBlC,EAAM,SAAS,EAAI,GACnDmC,IAAcnC,EAAM,OAA8B,IAAI;CAY5D,OAAO;EAAE,KAXGA,EAAM,aAAa,MAAgC;GAG9D,IAFAmC,EAAY,SAAS,WAAW,GAChC,EAAY,UAAU,MAClB,CAACC,KAAQ,OAAO,iBAAmB,KAAa;GACpD,IAAMC,UAAgBH,EAAeE,EAAK,cAAcA,EAAK,cAAc,CAAC,GACtEE,IAAW,IAAI,eAAeD,CAAO;GAI3C,AAHAC,EAAS,QAAQF,CAAI,GACjBA,EAAK,qBAAmBE,EAAS,QAAQF,EAAK,iBAAiB,GACnE,EAAY,UAAUE,GACtBD,EAAQ;EACT,GAAG,CAAC,CACK;EAAK;CAAY;AAC3B;AAEA,SAAgBE,EAAM,EAAE,cAAW,uBAAoB,mBAAgB,aAAU,WAAW,GAAGtB,KAAqB;CACnH,IAAM,EAAE,KAAKuB,GAAa,mBAAgBR,EAAsB,GAC1DS,IAAcvB,GAAgB,KAC9BwB,IAAe1C,EAAM,aAAa,MAAgC;EAEvE,AADAwC,EAAYJ,CAAI,GACZ,OAAOK,KAAgB,aAAYA,EAAYL,CAAI,IAC9CK,MAAa,EAAwD,UAAUL;CACzF,GAAG,CAACI,GAAaC,CAAW,CAAC;CAC7B,OACC,kBAACb,EAAoB,UAArB;EAA8B,OAAOe;EACpC,UAAA,kBAAC1C,GAAD;GACC,gBAAgB;IAAE,UAAUgC,IAAc,IAAI,KAAA;IAAW,GAAGf;IAAgB,KAAKwB;GAAa;GAC9F,oBAAoBjC,EACnB,+EAA+EI,EAAa,QAC5FM,CACD;GACA,sBAAoBwB;GACpB,WAAWlC,EAAG,oBAAoBG,EAAsB;IAAE,MAAM;IAAM,MAAM;GAAU,CAAC,GAAGQ,CAAS;GACnG,GAAIH;EACJ,CAAA;CAC4B,CAAA;AAEhC;AAEA,SAAgB2B,EAAY,EAAE,cAAW,GAAG3B,KAA2B;CACtE,OACC,kBAACf,GAAD;EAEC,WAAWO,EAAG,kEAAkEW,CAAS;EACzF,GAAIH;CACJ,CAAA;AAEH;AAEA,SAAgB4B,EAAU,EAAE,cAAW,GAAG5B,KAAyB;CAClE,OACC,kBAACd,GAAD;EACC,WAAWM,EAAG,eAAeW,CAAS;EACtC,GAAIH;CACJ,CAAA;AAEH;AAEA,SAAgB6B,EAAY,EAAE,cAAW,GAAG7B,KAA2B;CACtE,OACC,kBAACb,GAAD;EACC,WAAWK,EAAG,+BAA+BW,CAAS;EACtD,GAAIH;CACJ,CAAA;AAEH;AAEA,SAAgB8B,EAAS,EAAE,cAAW,GAAG9B,KAAwB;CAChE,OACC,kBAACZ,GAAD;EACC,WAAWI,EAAG,4BAA4BW,CAAS;EACnD,GAAIH;CACJ,CAAA;AAEH;AAEA,SAAgB+B,EAAU,EAAE,cAAW,aAAU,GAAG/B,KAAyB;CAC5E,IAAM0B,IAAU3C,EAAM,WAAW4B,CAAmB;CACpD,OACC,kBAACtB,GAAD;EAEC,WAAWG,EAAG,yCAAyCoB,EAAwBc,IAAUvB,CAAS;EAClG,GAAIH;EAEH,UAAAa,EAAamB,CAAQ,IACrB,kBAACtC,GAAD;GAAc,KAAI;GAAO,WAAU;GACjC;EACY,CAAA,IACXsC;CACQ,CAAA;AAEf;AAEA,SAAgBC,EAAU,EAAE,cAAW,aAAU,GAAGjC,KAAyB;CAC5E,IAAM0B,IAAU3C,EAAM,WAAW4B,CAAmB;CACpD,OACC,kBAACrB,GAAD;EACC,WAAWE,EAAG,kCAAkCK,EAAuB6B,IAAUvB,CAAS;EAC1F,GAAIH;EAEH,UAAAa,EAAamB,CAAQ,IACrB,kBAACvC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,WAAU;GACxC;EACI,CAAA,IACHuC;CACQ,CAAA;AAEf;AAEA,SAAgBE,EAAa,EAAE,cAAW,aAAU,GAAGlC,KAA4B;CAClF,OACC,kBAACT,GAAD;EACC,WAAWC,EAAG,kBAAkBW,CAAS;EACzC,GAAIH;EAEH,UAAAa,EAAamB,CAAQ,IACrB,kBAACvC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAU,MAAK;GAAY,WAAU;GACzD;EACI,CAAA,IACHuC;CACW,CAAA;AAElB"}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { d as e } from "./ui-provider-C-74NVLc.js";
|
|
3
3
|
import { useStrings as t } from "./lib/strings.js";
|
|
4
|
-
import { t as n } from "./utils-
|
|
5
|
-
import { n as r } from "./buttons-
|
|
6
|
-
import { c as i } from "./typography-
|
|
4
|
+
import { t as n } from "./utils-DhuoqFy4.js";
|
|
5
|
+
import { n as r } from "./buttons-DeW0bQeK.js";
|
|
6
|
+
import { c as i } from "./typography-C7-YMW1S.js";
|
|
7
7
|
import { t as a } from "./focus-recipes-B653VaLq.js";
|
|
8
|
-
import { t as o } from "./structure-
|
|
9
|
-
import { t as s } from "./
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
8
|
+
import { t as o } from "./structure-DZJ2wbAU.js";
|
|
9
|
+
import { t as s } from "./interaction-recipes-4wZ2tvfb.js";
|
|
10
|
+
import { t as c } from "./scroll-area-Bj6CRUif.js";
|
|
11
|
+
import { useLayoutEffect as l, useRef as u, useState as d } from "react";
|
|
12
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
13
|
+
import { ChevronLeft as m, ChevronRight as h } from "lucide-react";
|
|
14
|
+
import { cva as g } from "class-variance-authority";
|
|
15
|
+
import { Tabs as _ } from "@base-ui/react/tabs";
|
|
15
16
|
//#region src/components/base/navigation/tab-scroll-viewport.tsx
|
|
16
|
-
var
|
|
17
|
+
var v = {
|
|
17
18
|
previous: "Previous tabs",
|
|
18
19
|
next: "Next tabs"
|
|
19
20
|
};
|
|
20
|
-
function
|
|
21
|
-
let i = t(
|
|
21
|
+
function y({ children: e, strings: n }) {
|
|
22
|
+
let i = t(v, n), a = u(null), s = u(null), [g, _] = d({
|
|
22
23
|
overflow: !1,
|
|
23
24
|
start: !0,
|
|
24
25
|
end: !0
|
|
25
26
|
});
|
|
26
|
-
|
|
27
|
-
let e =
|
|
27
|
+
l(() => {
|
|
28
|
+
let e = s.current;
|
|
28
29
|
if (!e) return;
|
|
29
30
|
let t = () => {
|
|
30
31
|
let t = e.scrollWidth - e.clientWidth, n = Math.abs(e.scrollLeft), r = a.current?.clientWidth || e.clientWidth, i = getComputedStyle(e), o = (parseFloat(i.paddingLeft) || 0) + (parseFloat(i.paddingRight) || 0), s = {
|
|
@@ -32,7 +33,7 @@ function v({ children: e, strings: n }) {
|
|
|
32
33
|
start: n <= 1,
|
|
33
34
|
end: n >= t - 1
|
|
34
35
|
};
|
|
35
|
-
|
|
36
|
+
_((e) => e.overflow === s.overflow && e.start === s.start && e.end === s.end ? e : s);
|
|
36
37
|
}, n = () => {
|
|
37
38
|
let n = e.querySelector("[aria-selected=\"true\"], [aria-current=\"page\"]");
|
|
38
39
|
if (n) {
|
|
@@ -54,7 +55,7 @@ function v({ children: e, strings: n }) {
|
|
|
54
55
|
};
|
|
55
56
|
}, []);
|
|
56
57
|
let y = (e) => {
|
|
57
|
-
let t =
|
|
58
|
+
let t = s.current;
|
|
58
59
|
if (!t) return;
|
|
59
60
|
let n = getComputedStyle(t).direction === "rtl", r = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
|
|
60
61
|
t.scrollBy({
|
|
@@ -62,7 +63,7 @@ function v({ children: e, strings: n }) {
|
|
|
62
63
|
behavior: r ? "instant" : "smooth"
|
|
63
64
|
});
|
|
64
65
|
};
|
|
65
|
-
return /* @__PURE__ */
|
|
66
|
+
return /* @__PURE__ */ p(o, {
|
|
66
67
|
ref: a,
|
|
67
68
|
direction: "horizontal",
|
|
68
69
|
gap: "xs",
|
|
@@ -70,10 +71,10 @@ function v({ children: e, strings: n }) {
|
|
|
70
71
|
wrap: !1,
|
|
71
72
|
className: "tab-scroll--component w-full min-w-0",
|
|
72
73
|
children: [
|
|
73
|
-
g.overflow && /* @__PURE__ */
|
|
74
|
+
g.overflow && /* @__PURE__ */ f(r, {
|
|
74
75
|
size: "sm",
|
|
75
76
|
iconOnly: !0,
|
|
76
|
-
icon:
|
|
77
|
+
icon: m,
|
|
77
78
|
tone: "secondary",
|
|
78
79
|
buttonStyle: "ghost",
|
|
79
80
|
"aria-label": i.previous,
|
|
@@ -81,18 +82,18 @@ function v({ children: e, strings: n }) {
|
|
|
81
82
|
onClick: () => y(-1),
|
|
82
83
|
className: "shrink-0 rtl:[&_svg]:rotate-180"
|
|
83
84
|
}),
|
|
84
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ f(c, {
|
|
85
86
|
orientation: "horizontal",
|
|
86
|
-
viewportRef:
|
|
87
|
+
viewportRef: s,
|
|
87
88
|
className: "-m-space-xs min-w-0 flex-1",
|
|
88
89
|
viewportClassName: "p-space-xs",
|
|
89
90
|
scrollbarClassName: "hidden",
|
|
90
91
|
children: e
|
|
91
92
|
}),
|
|
92
|
-
g.overflow && /* @__PURE__ */
|
|
93
|
+
g.overflow && /* @__PURE__ */ f(r, {
|
|
93
94
|
size: "sm",
|
|
94
95
|
iconOnly: !0,
|
|
95
|
-
icon:
|
|
96
|
+
icon: h,
|
|
96
97
|
tone: "secondary",
|
|
97
98
|
buttonStyle: "ghost",
|
|
98
99
|
"aria-label": i.next,
|
|
@@ -105,15 +106,15 @@ function v({ children: e, strings: n }) {
|
|
|
105
106
|
}
|
|
106
107
|
//#endregion
|
|
107
108
|
//#region src/components/ui/tabs.tsx
|
|
108
|
-
function
|
|
109
|
-
return /* @__PURE__ */
|
|
109
|
+
function b({ className: e, orientation: t = "horizontal", ...r }) {
|
|
110
|
+
return /* @__PURE__ */ f(_.Root, {
|
|
110
111
|
"data-slot": "tabs",
|
|
111
112
|
"data-orientation": t,
|
|
112
113
|
className: n("gap-space-md group/tabs flex data-[orientation=horizontal]:flex-col", e),
|
|
113
114
|
...r
|
|
114
115
|
});
|
|
115
116
|
}
|
|
116
|
-
var
|
|
117
|
+
var x = g("box-border rounded-radius p-space-2xs h-action data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col", {
|
|
117
118
|
variants: { variant: {
|
|
118
119
|
default: "bg-muted",
|
|
119
120
|
line: "gap-space-xs bg-transparent",
|
|
@@ -121,23 +122,23 @@ var b = h("box-border rounded-radius p-space-2xs h-action data-[variant=line]:ro
|
|
|
121
122
|
} },
|
|
122
123
|
defaultVariants: { variant: "default" }
|
|
123
124
|
});
|
|
124
|
-
function
|
|
125
|
-
return /* @__PURE__ */
|
|
125
|
+
function S({ className: e, variant: t = "default", ...r }) {
|
|
126
|
+
return /* @__PURE__ */ f(_.List, {
|
|
126
127
|
"data-slot": "tabs-list",
|
|
127
128
|
"data-variant": t,
|
|
128
|
-
className: n(
|
|
129
|
+
className: n(x({ variant: t }), e),
|
|
129
130
|
...r
|
|
130
131
|
});
|
|
131
132
|
}
|
|
132
|
-
function
|
|
133
|
-
return /* @__PURE__ */
|
|
133
|
+
function C({ className: e, ...t }) {
|
|
134
|
+
return /* @__PURE__ */ f(_.Tab, {
|
|
134
135
|
"data-slot": "tabs-trigger",
|
|
135
|
-
className: n(`box-border font-sans gap-space-sm rounded-radius border border-transparent px-space-md py-space-xs text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-icon outline-none ${a.frame} text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`, "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-card data-active:text-foreground", "group-data-[variant=chips]/tabs-list:h-action-sm group-data-[variant=chips]/tabs-list:flex-none group-data-[variant=chips]/tabs-list:px-control-sm group-data-[variant=chips]/tabs-list:py-0 group-data-[variant=chips]/tabs-list:after:hidden group-data-[variant=chips]/tabs-list:hover:bg-muted group-data-[variant=chips]/tabs-list:data-active:bg-accent group-data-[variant=chips]/tabs-list:data-active:text-accent-foreground group-data-[variant=chips]/tabs-list:data-active:hover:bg-accent group-data-[variant=chips]/tabs-list:data-active:hover:text-accent-foreground", "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", e),
|
|
136
|
+
className: n(s.nativeButtonReset, `box-border font-sans gap-space-sm rounded-radius border border-transparent px-space-md py-space-xs text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-icon outline-none ${a.frame} text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`, "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-card data-active:text-foreground", "group-data-[variant=chips]/tabs-list:h-action-sm group-data-[variant=chips]/tabs-list:flex-none group-data-[variant=chips]/tabs-list:px-control-sm group-data-[variant=chips]/tabs-list:py-0 group-data-[variant=chips]/tabs-list:after:hidden group-data-[variant=chips]/tabs-list:hover:bg-muted group-data-[variant=chips]/tabs-list:data-active:bg-accent group-data-[variant=chips]/tabs-list:data-active:text-accent-foreground group-data-[variant=chips]/tabs-list:data-active:hover:bg-accent group-data-[variant=chips]/tabs-list:data-active:hover:text-accent-foreground", "after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", e),
|
|
136
137
|
...t
|
|
137
138
|
});
|
|
138
139
|
}
|
|
139
|
-
function
|
|
140
|
-
return /* @__PURE__ */
|
|
140
|
+
function w({ className: e, ...t }) {
|
|
141
|
+
return /* @__PURE__ */ f(_.Panel, {
|
|
141
142
|
"data-slot": "tabs-content",
|
|
142
143
|
className: n("text-sm flex-1 outline-none", e),
|
|
143
144
|
...t
|
|
@@ -145,30 +146,30 @@ function C({ className: e, ...t }) {
|
|
|
145
146
|
}
|
|
146
147
|
//#endregion
|
|
147
148
|
//#region src/components/base/navigation/tabs.tsx
|
|
148
|
-
function
|
|
149
|
+
function T(e) {
|
|
149
150
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
150
151
|
}
|
|
151
|
-
function
|
|
152
|
-
return /* @__PURE__ */
|
|
152
|
+
function E({ className: e, ...t }) {
|
|
153
|
+
return /* @__PURE__ */ f(b, {
|
|
153
154
|
className: n("tabs--component", e),
|
|
154
155
|
...t
|
|
155
156
|
});
|
|
156
157
|
}
|
|
157
|
-
function
|
|
158
|
-
let { defaultScale: o } = e(), s = a.variant === "chips" ? void 0 : o === "sm" ? "h-action-sm" : o === "lg" ? "h-action-lg" : "h-action", c = /* @__PURE__ */
|
|
158
|
+
function D({ className: t, scrollable: r = !1, scrollStrings: i, ...a }) {
|
|
159
|
+
let { defaultScale: o } = e(), s = a.variant === "chips" ? void 0 : o === "sm" ? "h-action-sm" : o === "lg" ? "h-action-lg" : "h-action", c = /* @__PURE__ */ f(S, {
|
|
159
160
|
className: n("tabs-list--component", "rounded-radius", s, r && "w-max", t),
|
|
160
161
|
...a
|
|
161
162
|
});
|
|
162
|
-
return r ? /* @__PURE__ */
|
|
163
|
+
return r ? /* @__PURE__ */ f(y, {
|
|
163
164
|
strings: i,
|
|
164
165
|
children: c
|
|
165
166
|
}) : c;
|
|
166
167
|
}
|
|
167
|
-
function
|
|
168
|
-
return /* @__PURE__ */
|
|
168
|
+
function O({ className: e, children: t, ...r }) {
|
|
169
|
+
return /* @__PURE__ */ f(C, {
|
|
169
170
|
className: n("tabs-trigger--component", "gap-space-sm rounded-radius px-space-md py-space-xs", e),
|
|
170
171
|
...r,
|
|
171
|
-
children:
|
|
172
|
+
children: T(t) ? /* @__PURE__ */ f(i, {
|
|
172
173
|
tag: "span",
|
|
173
174
|
size: "inherit",
|
|
174
175
|
weight: "medium",
|
|
@@ -178,14 +179,14 @@ function D({ className: e, children: t, ...r }) {
|
|
|
178
179
|
}) : t
|
|
179
180
|
});
|
|
180
181
|
}
|
|
181
|
-
function
|
|
182
|
-
return /* @__PURE__ */
|
|
182
|
+
function k({ className: e, children: t, ...r }) {
|
|
183
|
+
return /* @__PURE__ */ f(w, {
|
|
183
184
|
className: n("tabs-content--component", e),
|
|
184
185
|
...r,
|
|
185
|
-
children:
|
|
186
|
+
children: T(t) ? /* @__PURE__ */ f(i, { children: t }) : t
|
|
186
187
|
});
|
|
187
188
|
}
|
|
188
189
|
//#endregion
|
|
189
|
-
export {
|
|
190
|
+
export { y as a, O as i, k as n, v as o, D as r, E as t };
|
|
190
191
|
|
|
191
|
-
//# sourceMappingURL=tabs-
|
|
192
|
+
//# sourceMappingURL=tabs-C4Kr_hCr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-C4Kr_hCr.js","names":["Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","Tabs","PrimitiveTabs","PrimitiveTabsList","PrimitiveTabsTrigger","PrimitiveTabsContent","useDensityConfig","cn","Button","Text","focusRecipes","Stack","interactionRecipes","ScrollArea","defaultTabsScrollStrings","TabScrollViewport","stringsProp","strings","useStrings","frameRef","useRef","viewportRef","edges","setEdges","useState","viewport","measure","maximum","offset","available","style","inset","next","current","reveal","selected","bounds","item","resize","selection","scroll","rtl","reduce","direction","ChevronLeft","ChevronRight","Tabs$2","props","Tabs","orientation","className","tabsListVariants","cva","TabsList$1","variant","TabsTrigger$1","TabsContent$1","isSimpleText","value","Tabs$1","TabsList","height","defaultScale","list","scrollable","scrollStrings","TabsTrigger","children","TabsContent"],"sources":["../src/components/base/navigation/tab-scroll-viewport.tsx","../src/components/ui/tabs.tsx","../src/components/base/navigation/tabs.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { useLayoutEffect, useRef, useState, type ReactNode } from 'react';\n\nimport { Button } from '../buttons';\nimport { ScrollArea } from '../display/scroll-area';\nimport { Stack } from '../structure';\nimport { useStrings, type StringsProp } from '../../../lib/strings';\n\nexport interface TabsScrollStrings {\n\tprevious: string;\n\tnext: string;\n}\n\nexport const defaultTabsScrollStrings: TabsScrollStrings = {\n\tprevious: 'Previous tabs',\n\tnext: 'Next tabs',\n};\n\n/** Shared scroll mechanics for state tabs and route tabs; selection stays with each owner. */\nexport function TabScrollViewport({ children, strings: stringsProp }: {\n\tchildren: ReactNode;\n\tstrings?: StringsProp<TabsScrollStrings>;\n}) {\n\tconst strings = useStrings(defaultTabsScrollStrings, stringsProp);\n\tconst frameRef = useRef<HTMLDivElement>(null);\n\tconst viewportRef = useRef<HTMLDivElement>(null);\n\tconst [edges, setEdges] = useState({ overflow: false, start: true, end: true });\n\n\tuseLayoutEffect(() => {\n\t\tconst viewport = viewportRef.current;\n\t\tif (!viewport) return;\n\t\tconst measure = () => {\n\t\t\tconst maximum = viewport.scrollWidth - viewport.clientWidth;\n\t\t\tconst offset = Math.abs(viewport.scrollLeft);\n\t\t\t// Measure the full row so visible arrows cannot keep themselves alive after a resize.\n\t\t\tconst available = frameRef.current?.clientWidth || viewport.clientWidth;\n\t\t\t// The viewport's ring inset is outside the row (negative margin), so it is not content.\n\t\t\tconst style = getComputedStyle(viewport);\n\t\t\tconst inset = (parseFloat(style.paddingLeft) || 0) + (parseFloat(style.paddingRight) || 0);\n\t\t\tconst next = { overflow: viewport.scrollWidth - inset > available + 1, start: offset <= 1, end: offset >= maximum - 1 };\n\t\t\tsetEdges(current => current.overflow === next.overflow && current.start === next.start && current.end === next.end ? current : next);\n\t\t};\n\t\tconst reveal = () => {\n\t\t\tconst selected = viewport.querySelector<HTMLElement>('[aria-selected=\"true\"], [aria-current=\"page\"]');\n\t\t\tif (selected) {\n\t\t\t\tconst bounds = viewport.getBoundingClientRect();\n\t\t\t\tconst item = selected.getBoundingClientRect();\n\t\t\t\tif (item.left < bounds.left) viewport.scrollLeft += item.left - bounds.left;\n\t\t\t\telse if (item.right > bounds.right) viewport.scrollLeft += item.right - bounds.right;\n\t\t\t}\n\t\t\tmeasure();\n\t\t};\n\t\tmeasure();\n\t\tviewport.addEventListener('scroll', measure, { passive: true });\n\t\tconst resize = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(reveal);\n\t\tresize?.observe(viewport);\n\t\tif (frameRef.current) resize?.observe(frameRef.current);\n\t\tif (viewport.firstElementChild) resize?.observe(viewport.firstElementChild);\n\t\tconst selection = new MutationObserver(reveal);\n\t\tselection.observe(viewport, { subtree: true, attributes: true, attributeFilter: ['aria-selected', 'aria-current'] });\n\t\treveal();\n\t\treturn () => { viewport.removeEventListener('scroll', measure); resize?.disconnect(); selection.disconnect(); };\n\t}, []);\n\n\tconst scroll = (direction: number) => {\n\t\tconst viewport = viewportRef.current;\n\t\tif (!viewport) return;\n\t\tconst rtl = getComputedStyle(viewport).direction === 'rtl';\n\t\tconst reduce = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches;\n\t\tviewport.scrollBy({ left: direction * (rtl ? -1 : 1) * viewport.clientWidth * 0.75, behavior: reduce ? 'instant' : 'smooth' });\n\t};\n\n\treturn <Stack ref={frameRef} direction=\"horizontal\" gap=\"xs\" align=\"center\" wrap={false} className=\"tab-scroll--component w-full min-w-0\">\n\t\t{edges.overflow && <Button size=\"sm\" iconOnly icon={ChevronLeft} tone=\"secondary\" buttonStyle=\"ghost\" aria-label={strings.previous} disabled={edges.start} onClick={() => scroll(-1)} className=\"shrink-0 rtl:[&_svg]:rotate-180\" />}\n\t\t{/* The inset only gives focus rings and the active tab's shadow room inside the\n\t\t clipping viewport; the matching negative margin keeps the list on the\n\t\t container's edge and centred on the arrows. The arrows replace the\n\t\t scrollbar, so it no longer needs reserved space under the tabs. */}\n\t\t<ScrollArea orientation=\"horizontal\" viewportRef={viewportRef} className=\"-m-space-xs min-w-0 flex-1\" viewportClassName=\"p-space-xs\" scrollbarClassName=\"hidden\">{children}</ScrollArea>\n\t\t{edges.overflow && <Button size=\"sm\" iconOnly icon={ChevronRight} tone=\"secondary\" buttonStyle=\"ghost\" aria-label={strings.next} disabled={edges.end} onClick={() => scroll(1)} className=\"shrink-0 rtl:[&_svg]:rotate-180\" />}\n\t</Stack>;\n}\n","import { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../lib/utils\"\nimport { focusRecipes } from \"../../lib/focus-recipes\"\nimport { interactionRecipes } from \"../../lib/interaction-recipes\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: TabsPrimitive.Root.Props) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"gap-space-md group/tabs flex data-[orientation=horizontal]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"box-border rounded-radius p-space-2xs h-action data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-space-xs bg-transparent\",\n // Wrapping toggle chips (saved views, filter presets): no track, compact\n // pressed-state triggers that wrap onto further lines.\n chips: \"h-auto flex-wrap justify-start gap-space-xs bg-transparent p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={cn(\n interactionRecipes.nativeButtonReset,\n `box-border font-sans gap-space-sm rounded-radius border border-transparent px-space-md py-space-xs text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*='size-'])]:size-icon outline-none ${focusRecipes.frame} text-muted-foreground hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n // The card fill is lighter than the muted track in both themes; the page\n // background is darker than the track in dark mode and reads as recessed.\n \"data-active:bg-card data-active:text-foreground\",\n // Chips use the toggle recipe: a muted hover and the accent pressed fill.\n \"group-data-[variant=chips]/tabs-list:h-action-sm group-data-[variant=chips]/tabs-list:flex-none group-data-[variant=chips]/tabs-list:px-control-sm group-data-[variant=chips]/tabs-list:py-0 group-data-[variant=chips]/tabs-list:after:hidden group-data-[variant=chips]/tabs-list:hover:bg-muted group-data-[variant=chips]/tabs-list:data-active:bg-accent group-data-[variant=chips]/tabs-list:data-active:text-accent-foreground group-data-[variant=chips]/tabs-list:data-active:hover:bg-accent group-data-[variant=chips]/tabs-list:data-active:hover:text-accent-foreground\",\n \"after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={cn(\"text-sm flex-1 outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n","/**\n * Typography- and token-aware wrappers around the internal shadcn tabs parts.\n *\n * Raw anatomy and these wrappers share token-backed spacing. The wrappers\n * add stable public hooks, canonical corners, scalar text and scroll controls;\n * the primitive owns tab/list interaction and the nested list inset.\n */\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport {\n\tTabs as PrimitiveTabs,\n\tTabsContent as PrimitiveTabsContent,\n\tTabsList as PrimitiveTabsList,\n\tTabsTrigger as PrimitiveTabsTrigger,\n} from '../../ui/tabs';\nimport { Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { useDensityConfig } from '../../../lib/ui-provider';\nimport type { StringsProp } from '../../../lib/strings';\nimport { TabScrollViewport, type TabsScrollStrings } from './tab-scroll-viewport';\n\nfunction isSimpleText(value: ReactNode): value is string | number | bigint {\n\treturn typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint';\n}\n\nexport function Tabs({ className, ...props }: ComponentProps<typeof PrimitiveTabs>) {\n\treturn <PrimitiveTabs className={cn('tabs--component', className)} {...props} />;\n}\n\nexport type TabsListProps = ComponentProps<typeof PrimitiveTabsList> & {\n\t/** Adds previous/next controls when the tab list exceeds its container. */\n\tscrollable?: boolean;\n\t/** Accessible labels for the previous/next scroll controls. */\n\tscrollStrings?: StringsProp<TabsScrollStrings>;\n};\n\nexport function TabsList({ className, scrollable = false, scrollStrings, ...props }: TabsListProps) {\n\tconst { defaultScale } = useDensityConfig();\n\t// Chips wrap onto further lines, so the list takes its height from them.\n\tconst height = props.variant === 'chips' ? undefined : defaultScale === 'sm' ? 'h-action-sm' : defaultScale === 'lg' ? 'h-action-lg' : 'h-action';\n\tconst list = (\n\t\t<PrimitiveTabsList\n\t\t\tclassName={cn('tabs-list--component', 'rounded-radius', height, scrollable && 'w-max', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\treturn scrollable ? <TabScrollViewport strings={scrollStrings}>{list}</TabScrollViewport> : list;\n}\n\nexport function TabsTrigger({ className, children, ...props }: ComponentProps<typeof PrimitiveTabsTrigger>) {\n\treturn (\n\t\t<PrimitiveTabsTrigger\n\t\t\tclassName={cn(\n\t\t\t\t'tabs-trigger--component',\n\t\t\t\t'gap-space-sm rounded-radius px-space-md py-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{isSimpleText(children) ? (\n\t\t\t\t<Text tag=\"span\" size=\"inherit\" weight=\"medium\" lineHeight=\"tight\" className=\"text-inherit\">\n\t\t\t\t\t{children}\n\t\t\t\t</Text>\n\t\t\t) : children}\n\t\t</PrimitiveTabsTrigger>\n\t);\n}\n\nexport function TabsContent({ className, children, ...props }: ComponentProps<typeof PrimitiveTabsContent>) {\n\treturn (\n\t\t<PrimitiveTabsContent className={cn('tabs-content--component', className)} {...props}>\n\t\t\t{isSimpleText(children) ? <Text>{children}</Text> : children}\n\t\t</PrimitiveTabsContent>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { d as e } from "./ui-provider-C-74NVLc.js";
|
|
3
3
|
import { useStrings as t } from "./lib/strings.js";
|
|
4
|
-
import { t as n } from "./utils-
|
|
4
|
+
import { t as n } from "./utils-DhuoqFy4.js";
|
|
5
5
|
import { t as r } from "./affordance-geometry.generated-P-aVJisu.js";
|
|
6
|
-
import { n as i } from "./buttons-
|
|
7
|
-
import { c as a } from "./typography-
|
|
8
|
-
import { t as o } from "./field-state-recipes-
|
|
9
|
-
import { n as s } from "./field-affordance-recipes-
|
|
6
|
+
import { n as i } from "./buttons-DeW0bQeK.js";
|
|
7
|
+
import { c as a } from "./typography-C7-YMW1S.js";
|
|
8
|
+
import { t as o } from "./field-state-recipes-7sza8QbC.js";
|
|
9
|
+
import { n as s } from "./field-affordance-recipes-D6H7tVJi.js";
|
|
10
10
|
import { t as c } from "./editable-text-recipe-Cn61kEcv.js";
|
|
11
|
-
import { _ as l, a as u, g as d, o as f, u as p, v as m, y as h } from "./form-sizing-
|
|
12
|
-
import { a as g, i as _, o as v, r as y, t as b } from "./input-
|
|
13
|
-
import { t as x } from "./input-
|
|
11
|
+
import { _ as l, a as u, g as d, o as f, u as p, v as m, y as h } from "./form-sizing-CgcrUbLU.js";
|
|
12
|
+
import { a as g, i as _, o as v, r as y, t as b } from "./input-7KAc7XQL.js";
|
|
13
|
+
import { t as x } from "./input-DIREVYHs.js";
|
|
14
14
|
import * as S from "react";
|
|
15
15
|
import { useCallback as C, useEffect as w, useRef as T } from "react";
|
|
16
16
|
import { jsx as E, jsxs as D } from "react/jsx-runtime";
|
|
@@ -353,4 +353,4 @@ Q.displayName = "SlugField";
|
|
|
353
353
|
//#endregion
|
|
354
354
|
export { z as a, q as c, j as d, Y as i, K as l, Z as n, U as o, X as r, W as s, Q as t, J as u };
|
|
355
355
|
|
|
356
|
-
//# sourceMappingURL=text-inputs-
|
|
356
|
+
//# sourceMappingURL=text-inputs-jdkS3ReG.js.map
|