themelia-react-ui 2.0.1 → 2.0.3
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 +317 -131
- package/README.md +25 -9
- package/THIRD_PARTY_NOTICES.md +7 -0
- package/dist/{accordion-B6a3vVgA.js → accordion-Cjb6sx0G.js} +14 -13
- 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-ZK5RWdo6.js → app-shell-C4FhvCqF.js} +5 -5
- package/dist/{app-shell-ZK5RWdo6.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-CYxKfo69.js → auth-BGua8ouh.js} +58 -54
- package/dist/auth-BGua8ouh.js.map +1 -0
- package/dist/{avatar-BBnEJIx8.js → avatar-DAPlDvhJ.js} +7 -7
- package/dist/avatar-DAPlDvhJ.js.map +1 -0
- package/dist/{badge-MrKVNzW9.js → badge-HpFqoqSY.js} +40 -40
- 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 +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +40 -36
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +92 -92
- package/dist/base/cascader.js.map +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 +2 -2
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +14 -14
- 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 +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 +171 -176
- 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 +6 -6
- 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 +1 -1
- package/dist/{batch-action-bar-BZGDG-Si.js → batch-action-bar-DnUJ21NQ.js} +6 -5
- package/dist/batch-action-bar-DnUJ21NQ.js.map +1 -0
- package/dist/blocks/admin.js +42 -42
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +260 -240
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +620 -585
- 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 +1152 -1109
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +48 -39
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +13 -12
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-D5t7I023.js → breadcrumbs-C-oqs1sQ.js} +5 -5
- package/dist/breadcrumbs-C-oqs1sQ.js.map +1 -0
- package/dist/{button-QYwiyhD2.js → button-DVzspB_G.js} +2 -2
- package/dist/{button-QYwiyhD2.js.map → button-DVzspB_G.js.map} +1 -1
- package/dist/{buttons-SbIcm1HJ.js → buttons-DPZekJFu.js} +20 -15
- 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-QfrARkXl.js → chart-ZOYyK2xG.js} +58 -55
- package/dist/chart-ZOYyK2xG.js.map +1 -0
- package/dist/{checkbox-DhB6K0bK.js → checkbox-AWIhNhmo.js} +2 -2
- package/dist/{checkbox-DhB6K0bK.js.map → checkbox-AWIhNhmo.js.map} +1 -1
- package/dist/{choice-inputs-t6w3ATNz.js → choice-inputs-CNHvARCJ.js} +49 -45
- package/dist/choice-inputs-CNHvARCJ.js.map +1 -0
- package/dist/{code-block-Dgbu-CU3.js → code-block-DeneBJR_.js} +8 -8
- package/dist/code-block-DeneBJR_.js.map +1 -0
- package/dist/{collapsible-D8AEGU1-.js → collapsible-C-_l4hpy.js} +3 -3
- package/dist/{collapsible-D8AEGU1-.js.map → collapsible-C-_l4hpy.js.map} +1 -1
- package/dist/{collection-content-uK16Grv0.js → collection-content-By56pLog.js} +3 -3
- package/dist/{collection-content-uK16Grv0.js.map → collection-content-By56pLog.js.map} +1 -1
- package/dist/combobox-DaHESuiL.js +355 -0
- package/dist/combobox-DaHESuiL.js.map +1 -0
- package/dist/{combobox-DLl0bfiq.js → combobox-Dxo2fAYQ.js} +289 -279
- package/dist/combobox-Dxo2fAYQ.js.map +1 -0
- package/dist/{command-kNR20o7x.js → command-C25VMRII.js} +7 -7
- package/dist/{command-kNR20o7x.js.map → command-C25VMRII.js.map} +1 -1
- package/dist/{comments-BpDuCUUu.js → comments-DD0DUPwJ.js} +114 -105
- package/dist/comments-DD0DUPwJ.js.map +1 -0
- package/dist/components/base/badge/badge.recipes.d.ts +1 -1
- 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/combobox/combobox-field.d.ts +16 -0
- 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/forms/form-sizing.d.ts +11 -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/table/index.d.ts +9 -2
- package/dist/components/base/text-inputs/input-group.d.ts +2 -2
- 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/fulfillment-group/types.d.ts +3 -1
- package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +16 -8
- package/dist/components/features/activities/partials/activity-marker.d.ts +6 -3
- 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/media-library/media-library.strings.d.ts +2 -0
- package/dist/components/features/rich-text-editor/index.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +6 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +9 -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 +17 -4
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +5 -0
- package/dist/components/primitives/number.d.ts +4 -2
- package/dist/components/primitives/value.d.ts +3 -1
- package/dist/components/typography/text-link.d.ts +4 -0
- package/dist/components/ui/combobox-dismiss.d.ts +16 -0
- package/dist/components/ui/combobox.d.ts +16 -7
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/item.d.ts +8 -8
- package/dist/components/ui/popover.d.ts +1 -1
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/tabs.d.ts +1 -1
- package/dist/{containers-DmWiJa2I.js → containers-Mu1LMGV1.js} +2 -2
- package/dist/{containers-DmWiJa2I.js.map → containers-Mu1LMGV1.js.map} +1 -1
- package/dist/{copyable-B3Gwgdqc.js → copyable-ClBuk_UK.js} +4 -4
- package/dist/{copyable-B3Gwgdqc.js.map → copyable-ClBuk_UK.js.map} +1 -1
- package/dist/{data-display-DafIvCl5.js → data-display-DT_khPl_.js} +98 -87
- package/dist/data-display-DT_khPl_.js.map +1 -0
- package/dist/{date-BgK3bTdo.js → date-DCrsDTZc.js} +5 -5
- package/dist/{date-BgK3bTdo.js.map → date-DCrsDTZc.js.map} +1 -1
- package/dist/{date-picker-CF-DtUpF.js → date-picker-B2K3ucWn.js} +594 -593
- package/dist/date-picker-B2K3ucWn.js.map +1 -0
- package/dist/date-pickers-Ds8gLaoP.js +175 -0
- package/dist/date-pickers-Ds8gLaoP.js.map +1 -0
- package/dist/{display-DsQTVzMz.js → display-hAc1HjpI.js} +49 -49
- 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 +398 -375
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +188 -179
- 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 +137 -137
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer.js +255 -255
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +254 -248
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +35 -32
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +118 -117
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map.js +233 -231
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +789 -775
- 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 +922 -902
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +28 -24
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +18 -15
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +12 -12
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +15 -13
- 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 +493 -489
- 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-qQeIf4lG.js → field-affordance-recipes-DZhnIL_Y.js} +11 -18
- package/dist/field-affordance-recipes-DZhnIL_Y.js.map +1 -0
- package/dist/{filters-BkHH53uv.js → filters-DJVAveHA.js} +589 -580
- package/dist/filters-DJVAveHA.js.map +1 -0
- package/dist/{form-field-DUt4UxSV.js → form-field-CwH9y77i.js} +6 -5
- package/dist/form-field-CwH9y77i.js.map +1 -0
- package/dist/{form-sizing-By94KzXE.js → form-sizing-BdP_Mf5p.js} +39 -44
- package/dist/form-sizing-BdP_Mf5p.js.map +1 -0
- package/dist/{forms-Bzha-Y3B.js → forms-B9G_xwzi.js} +8 -8
- package/dist/{forms-Bzha-Y3B.js.map → forms-B9G_xwzi.js.map} +1 -1
- package/dist/{forms-numeric-C0bvjRPZ.js → forms-numeric-B_jraJaQ.js} +309 -309
- package/dist/forms-numeric-B_jraJaQ.js.map +1 -0
- package/dist/{header-BOefOKd1.js → header-BSfIEWbI.js} +160 -153
- package/dist/header-BSfIEWbI.js.map +1 -0
- package/dist/{hooks-9k_TtmKh.js → hooks-ClH9thn4.js} +2 -2
- package/dist/{hooks-9k_TtmKh.js.map → hooks-ClH9thn4.js.map} +1 -1
- package/dist/{icon-badge-CAuKupo9.js → icon-badge-DYKIwvOV.js} +4 -4
- package/dist/{icon-badge-CAuKupo9.js.map → icon-badge-DYKIwvOV.js.map} +1 -1
- package/dist/index.js +3 -3
- 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-CHr0dJUs.js → interaction-recipes-XR9ZpVYL.js} +2 -1
- 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/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 +71 -0
- package/dist/lib/editable-text-recipe.d.ts +4 -4
- package/dist/lib/field-affordance-recipes.d.ts +2 -2
- package/dist/lib/interaction-recipes.d.ts +5 -0
- package/dist/lib/theme-mode-css.d.ts +7 -0
- package/dist/lib/tone-recipes.d.ts +8 -0
- package/dist/lib/ui-provider/types.d.ts +2 -2
- package/dist/lib/use-popup-focus-recovery.d.ts +8 -0
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-DcTtAaeC.js → media-gallery-3zIVLMWH.js} +8 -8
- package/dist/media-gallery-3zIVLMWH.js.map +1 -0
- package/dist/{mentions-D-uyCh01.js → mentions-CGlEJ15c.js} +144 -142
- package/dist/mentions-CGlEJ15c.js.map +1 -0
- package/dist/{message-CdHgIWKf.js → message-DZ_ruyUV.js} +6 -5
- package/dist/message-DZ_ruyUV.js.map +1 -0
- package/dist/{metadata-list-X5rYAKSB.js → metadata-list-8N16ZMW_.js} +130 -119
- package/dist/metadata-list-8N16ZMW_.js.map +1 -0
- package/dist/{navigation-D3KwXmaq.js → navigation-Bnotn4AQ.js} +19 -19
- package/dist/navigation-Bnotn4AQ.js.map +1 -0
- package/dist/{navigation-HJf5zxlH.js → navigation-BzhHI3lo.js} +36 -35
- package/dist/navigation-BzhHI3lo.js.map +1 -0
- package/dist/{navigation-row-recipes-BVowojQw.js → navigation-row-recipes-BFLCk_Aq.js} +2 -2
- package/dist/{navigation-row-recipes-BVowojQw.js.map → navigation-row-recipes-BFLCk_Aq.js.map} +1 -1
- package/dist/{number-DMhe-Vsk.js → number-DbV1Dija.js} +36 -34
- package/dist/{number-DMhe-Vsk.js.map → number-DbV1Dija.js.map} +1 -1
- package/dist/{overflow-tab-bar-sQHXLlwQ.js → overflow-tab-bar-CWY7Nogn.js} +105 -103
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +1 -0
- package/dist/{overlays-I0axtYA6.js → overlays-tMkF-VAN.js} +282 -278
- package/dist/overlays-tMkF-VAN.js.map +1 -0
- package/dist/{page-B5dTH9gE.js → page-CL9YeH_V.js} +8 -8
- package/dist/{page-B5dTH9gE.js.map → page-CL9YeH_V.js.map} +1 -1
- package/dist/{page-header-commands-DjzFEq3E.js → page-header-commands-DOb6WsfD.js} +5 -5
- package/dist/{page-header-commands-DjzFEq3E.js.map → page-header-commands-DOb6WsfD.js.map} +1 -1
- package/dist/pagination-BL25hu2s.js +158 -0
- package/dist/pagination-BL25hu2s.js.map +1 -0
- package/dist/{popover-Di55PyAI.js → popover-gnTOhbFM.js} +69 -66
- package/dist/popover-gnTOhbFM.js.map +1 -0
- package/dist/popover-menu-Cn9rUkdc.js +100 -0
- package/dist/popover-menu-Cn9rUkdc.js.map +1 -0
- package/dist/{popover.recipes-Bdyhj2db.js → popover.recipes-D3j8R8Yp.js} +17 -10
- package/dist/popover.recipes-D3j8R8Yp.js.map +1 -0
- package/dist/{primitives-B-CkiEMU.js → primitives-BFK08r9M.js} +45 -44
- package/dist/primitives-BFK08r9M.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-rnS8-uAW.js → progress-B1VnCT0K.js} +5 -5
- package/dist/{progress-rnS8-uAW.js.map → progress-B1VnCT0K.js.map} +1 -1
- package/dist/{receipt-D0oswZ0p.js → receipt-BVSOH3Xo.js} +9 -6
- package/dist/{receipt-D0oswZ0p.js.map → receipt-BVSOH3Xo.js.map} +1 -1
- package/dist/{rich-text-DvGulsNJ.js → rich-text-GOUyKQ-s.js} +3 -3
- package/dist/{rich-text-DvGulsNJ.js.map → rich-text-GOUyKQ-s.js.map} +1 -1
- package/dist/{rich-text-editor-sMU_Scqm.js → rich-text-editor-cRLC-eBK.js} +418 -426
- 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/{scroll-area-Bt_vXY2b.js → scroll-area-DcI-M1UT.js} +2 -2
- package/dist/{scroll-area-Bt_vXY2b.js.map → scroll-area-DcI-M1UT.js.map} +1 -1
- package/dist/{separator-C8DlRGwF.js → separator-BDV-Y648.js} +3 -3
- package/dist/{separator-C8DlRGwF.js.map → separator-BDV-Y648.js.map} +1 -1
- package/dist/{separator-CYHnjsAb.js → separator-Bom7NsGO.js} +2 -2
- package/dist/{separator-CYHnjsAb.js.map → separator-Bom7NsGO.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/{settings-CQW3b-Cu.js → settings-ybnjVwbd.js} +20 -19
- package/dist/settings-ybnjVwbd.js.map +1 -0
- package/dist/{sheet-4SEvVYzA.js → sheet-ijlsjq-n.js} +76 -73
- package/dist/sheet-ijlsjq-n.js.map +1 -0
- package/dist/{sidebar-C7WWR29L.js → sidebar-Db6gkh3U.js} +183 -182
- package/dist/sidebar-Db6gkh3U.js.map +1 -0
- package/dist/{sidebar-d7Dg80ln.js → sidebar-DkTO4VTO.js} +14 -13
- package/dist/{sidebar-d7Dg80ln.js.map → sidebar-DkTO4VTO.js.map} +1 -1
- package/dist/{skeleton-Cz890JZF.js → skeleton-Byjnt7qr.js} +3 -3
- package/dist/{skeleton-Cz890JZF.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-DC2dygdA.js → structure-BmisBK-3.js} +2 -2
- package/dist/{structure-DC2dygdA.js.map → structure-BmisBK-3.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/table-BweFy_P9.js +1530 -0
- package/dist/table-BweFy_P9.js.map +1 -0
- package/dist/{table-CIKyLUsy.js → table-DsfzoUia.js} +75 -63
- package/dist/table-DsfzoUia.js.map +1 -0
- package/dist/{tabs-DwBJfjxX.js → tabs-CDocW5D1.js} +14 -13
- 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-CPoExcTE.js → tone-recipes-BPsRAvhu.js} +5 -2
- package/dist/tone-recipes-BPsRAvhu.js.map +1 -0
- package/dist/{tooltip-CsfgrfS7.js → tooltip-yiRJUFjp.js} +4 -4
- package/dist/{tooltip-CsfgrfS7.js.map → tooltip-yiRJUFjp.js.map} +1 -1
- package/dist/{tree-BiKhg8AY.js → tree-WnKQzwbq.js} +9 -9
- package/dist/{tree-BiKhg8AY.js.map → tree-WnKQzwbq.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-DTRkE9zL.js → typography-UTnveOEy.js} +6 -6
- package/dist/typography-UTnveOEy.js.map +1 -0
- package/dist/typography.js +2 -2
- package/dist/{ui-provider-1D_NSYzO.js → ui-provider-C_U0Xma4.js} +3 -3
- package/dist/ui-provider-C_U0Xma4.js.map +1 -0
- package/dist/ui-provider.js +2 -2
- package/dist/{upload-BO8-CLN6.js → upload-CXyxmQBP.js} +13 -12
- package/dist/upload-CXyxmQBP.js.map +1 -0
- package/dist/{upload-queue-EOC8g1gf.js → upload-queue-Boscubn9.js} +11 -9
- package/dist/upload-queue-Boscubn9.js.map +1 -0
- package/dist/{usage-card-obRaBskq.js → usage-card-BhO5eqkX.js} +53 -37
- package/dist/usage-card-BhO5eqkX.js.map +1 -0
- package/dist/use-popup-focus-recovery-C0QPvgOR.js +36 -0
- package/dist/use-popup-focus-recovery-C0QPvgOR.js.map +1 -0
- package/dist/{utils-l5LpDw2z.js → utils-BRhFDwuU.js} +59 -44
- package/dist/utils-BRhFDwuU.js.map +1 -0
- package/dist/{value-inputs-TAYMX111.js → value-inputs-TaX4OjNk.js} +268 -252
- package/dist/value-inputs-TaX4OjNk.js.map +1 -0
- package/dist/{value-typography-b8wpz1eX.js → value-typography-BP8OG6h5.js} +2 -2
- package/dist/{value-typography-b8wpz1eX.js.map → value-typography-BP8OG6h5.js.map} +1 -1
- package/dist/{workspace-DH0v0KcB.js → workspace-B-OEm3Kf.js} +34 -33
- package/dist/workspace-B-OEm3Kf.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +3 -3
- package/docs/consumer-skill/references/agents-md.md +1 -1
- package/docs/consumer-skill/references/composition.md +8 -6
- package/docs/consumer-skill/references/installation.md +6 -0
- package/docs/consumer-skill/references/integration.md +4 -3
- package/docs/consumer-skill/references/public-api.json +105 -2
- package/docs/consumer-skill/references/review.md +7 -0
- package/docs/consumer-skill/references/theming.md +71 -6
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +26 -0
- package/docs/consumer-skill/scripts/composition-policy.mjs +3 -2
- package/docs/consumer-skill/scripts/surface-policy.mjs +11 -0
- package/package.json +8 -4
- package/dist/accordion-B6a3vVgA.js.map +0 -1
- package/dist/action-menu-TzCoSlwL.js +0 -280
- package/dist/action-menu-TzCoSlwL.js.map +0 -1
- package/dist/affordance-geometry.generated-B5iu-Mkr.js +0 -69
- package/dist/affordance-geometry.generated-B5iu-Mkr.js.map +0 -1
- package/dist/ai-artifact-BMJdv-6q.js +0 -1115
- package/dist/ai-artifact-BMJdv-6q.js.map +0 -1
- package/dist/attachment-BtfhGm8i.js +0 -245
- package/dist/attachment-BtfhGm8i.js.map +0 -1
- package/dist/auth-CYxKfo69.js.map +0 -1
- package/dist/avatar-BBnEJIx8.js.map +0 -1
- package/dist/badge-MrKVNzW9.js.map +0 -1
- package/dist/batch-action-bar-BZGDG-Si.js.map +0 -1
- package/dist/breadcrumbs-D5t7I023.js.map +0 -1
- package/dist/buttons-SbIcm1HJ.js.map +0 -1
- package/dist/cards-CiiHpKYd.js +0 -66
- package/dist/cards-CiiHpKYd.js.map +0 -1
- package/dist/chart-QfrARkXl.js.map +0 -1
- package/dist/choice-inputs-t6w3ATNz.js.map +0 -1
- package/dist/code-block-Dgbu-CU3.js.map +0 -1
- package/dist/combobox-2Ic8N9bL.js +0 -278
- package/dist/combobox-2Ic8N9bL.js.map +0 -1
- package/dist/combobox-DLl0bfiq.js.map +0 -1
- package/dist/comments-BpDuCUUu.js.map +0 -1
- package/dist/data-display-DafIvCl5.js.map +0 -1
- package/dist/date-picker-CF-DtUpF.js.map +0 -1
- package/dist/date-pickers-BmzxJl5l.js +0 -174
- package/dist/date-pickers-BmzxJl5l.js.map +0 -1
- package/dist/display-DsQTVzMz.js.map +0 -1
- package/dist/dropdown-menu-E2qmdC7o.js +0 -193
- package/dist/dropdown-menu-E2qmdC7o.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-qNuMBtRH.js +0 -233
- package/dist/feedback-qNuMBtRH.js.map +0 -1
- package/dist/field-affordance-recipes-qQeIf4lG.js.map +0 -1
- package/dist/filters-BkHH53uv.js.map +0 -1
- package/dist/form-field-DUt4UxSV.js.map +0 -1
- package/dist/form-sizing-By94KzXE.js.map +0 -1
- package/dist/forms-numeric-C0bvjRPZ.js.map +0 -1
- package/dist/header-BOefOKd1.js.map +0 -1
- package/dist/input-DWhBBBww.js +0 -262
- package/dist/input-DWhBBBww.js.map +0 -1
- package/dist/input-Ddi_LSYv.js +0 -20
- package/dist/input-Ddi_LSYv.js.map +0 -1
- package/dist/interaction-recipes-CHr0dJUs.js.map +0 -1
- package/dist/item-DEmDiTlD.js +0 -265
- package/dist/item-DEmDiTlD.js.map +0 -1
- package/dist/media-gallery-DcTtAaeC.js.map +0 -1
- package/dist/mentions-D-uyCh01.js.map +0 -1
- package/dist/message-CdHgIWKf.js.map +0 -1
- package/dist/metadata-list-X5rYAKSB.js.map +0 -1
- package/dist/navigation-D3KwXmaq.js.map +0 -1
- package/dist/navigation-HJf5zxlH.js.map +0 -1
- package/dist/overflow-tab-bar-sQHXLlwQ.js.map +0 -1
- package/dist/overlays-I0axtYA6.js.map +0 -1
- package/dist/pagination-3bPA_a6K.js +0 -149
- package/dist/pagination-3bPA_a6K.js.map +0 -1
- package/dist/popover-Di55PyAI.js.map +0 -1
- package/dist/popover-menu-B71Tn2Qz.js +0 -99
- package/dist/popover-menu-B71Tn2Qz.js.map +0 -1
- package/dist/popover.recipes-Bdyhj2db.js.map +0 -1
- package/dist/primitives-B-CkiEMU.js.map +0 -1
- package/dist/rich-text-editor-sMU_Scqm.js.map +0 -1
- package/dist/rich-text-editor.recipes-CadiF_Uu.js +0 -88
- package/dist/rich-text-editor.recipes-CadiF_Uu.js.map +0 -1
- package/dist/settings-CQW3b-Cu.js.map +0 -1
- package/dist/sheet-4SEvVYzA.js.map +0 -1
- package/dist/sidebar-C7WWR29L.js.map +0 -1
- package/dist/smart-card-lFKxn5Hu.js +0 -595
- package/dist/smart-card-lFKxn5Hu.js.map +0 -1
- package/dist/spinner-fa3h1Aif.js +0 -80
- package/dist/spinner-fa3h1Aif.js.map +0 -1
- package/dist/table-CIKyLUsy.js.map +0 -1
- package/dist/table-CrcLN9Io.js +0 -1458
- package/dist/table-CrcLN9Io.js.map +0 -1
- package/dist/tabs-DwBJfjxX.js.map +0 -1
- package/dist/text-inputs-aaK9wcDT.js +0 -326
- package/dist/text-inputs-aaK9wcDT.js.map +0 -1
- package/dist/theme-scope-kStaAer0.js +0 -39
- package/dist/theme-scope-kStaAer0.js.map +0 -1
- package/dist/timelines-C_SBwHNP.js +0 -442
- package/dist/timelines-C_SBwHNP.js.map +0 -1
- package/dist/tone-recipes-CPoExcTE.js.map +0 -1
- package/dist/typography-DTRkE9zL.js.map +0 -1
- package/dist/ui-provider-1D_NSYzO.js.map +0 -1
- package/dist/upload-BO8-CLN6.js.map +0 -1
- package/dist/upload-queue-EOC8g1gf.js.map +0 -1
- package/dist/usage-card-obRaBskq.js.map +0 -1
- package/dist/utils-l5LpDw2z.js.map +0 -1
- package/dist/value-inputs-TAYMX111.js.map +0 -1
- package/dist/workspace-DH0v0KcB.js.map +0 -1
|
@@ -1,66 +1,67 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./utils-
|
|
3
|
-
import {
|
|
2
|
+
import { t as e } from "./utils-BRhFDwuU.js";
|
|
3
|
+
import { c as t, o as n } from "./typography-UTnveOEy.js";
|
|
4
4
|
import { t as r } from "./focus-recipes-B653VaLq.js";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
5
|
+
import { t as i } from "./row-recipes-DL8n7t_b.js";
|
|
6
|
+
import * as a from "react";
|
|
7
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
7
8
|
//#region src/components/ui/table.tsx
|
|
8
|
-
function
|
|
9
|
-
return /* @__PURE__ */
|
|
9
|
+
function s({ className: t, containerClassName: n, containerProps: r, ...i }) {
|
|
10
|
+
return /* @__PURE__ */ o("div", {
|
|
10
11
|
...r,
|
|
11
12
|
"data-slot": "table-container",
|
|
12
13
|
className: e("relative w-full overflow-x-auto", n, r?.className),
|
|
13
|
-
children: /* @__PURE__ */
|
|
14
|
+
children: /* @__PURE__ */ o("table", {
|
|
14
15
|
"data-slot": "table",
|
|
15
16
|
className: e("w-full caption-bottom border-collapse text-sm", t),
|
|
16
17
|
...i
|
|
17
18
|
})
|
|
18
19
|
});
|
|
19
20
|
}
|
|
20
|
-
function
|
|
21
|
-
return /* @__PURE__ */
|
|
21
|
+
function c({ className: t, ...n }) {
|
|
22
|
+
return /* @__PURE__ */ o("thead", {
|
|
22
23
|
"data-slot": "table-header",
|
|
23
24
|
className: e("border-border [&_tr]:border-b [&_tr]:border-border", t),
|
|
24
25
|
...n
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
|
-
function
|
|
28
|
-
return /* @__PURE__ */
|
|
28
|
+
function l({ className: t, ...n }) {
|
|
29
|
+
return /* @__PURE__ */ o("tbody", {
|
|
29
30
|
"data-slot": "table-body",
|
|
30
31
|
className: e("[&_tr:last-child]:border-0", t),
|
|
31
32
|
...n
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
-
return /* @__PURE__ */
|
|
35
|
+
function u({ className: t, ...n }) {
|
|
36
|
+
return /* @__PURE__ */ o("tfoot", {
|
|
36
37
|
"data-slot": "table-footer",
|
|
37
38
|
className: e("border-border bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", t),
|
|
38
39
|
...n
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
-
return /* @__PURE__ */
|
|
42
|
+
function d({ className: t, ...n }) {
|
|
43
|
+
return /* @__PURE__ */ o("tr", {
|
|
43
44
|
"data-slot": "table-row",
|
|
44
45
|
className: e("border-border hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", t),
|
|
45
46
|
...n
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
|
-
function
|
|
49
|
-
return /* @__PURE__ */
|
|
49
|
+
function f({ className: t, ...n }) {
|
|
50
|
+
return /* @__PURE__ */ o("th", {
|
|
50
51
|
"data-slot": "table-head",
|
|
51
52
|
className: e("text-foreground h-10 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0", t),
|
|
52
53
|
...n
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
|
-
function
|
|
56
|
-
return /* @__PURE__ */
|
|
56
|
+
function p({ className: t, ...n }) {
|
|
57
|
+
return /* @__PURE__ */ o("td", {
|
|
57
58
|
"data-slot": "table-cell",
|
|
58
59
|
className: e("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0", t),
|
|
59
60
|
...n
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
|
-
function
|
|
63
|
-
return /* @__PURE__ */
|
|
63
|
+
function m({ className: t, ...n }) {
|
|
64
|
+
return /* @__PURE__ */ o("caption", {
|
|
64
65
|
"data-slot": "table-caption",
|
|
65
66
|
className: e("text-muted-foreground mt-space-xl text-sm", t),
|
|
66
67
|
...n
|
|
@@ -68,13 +69,18 @@ function p({ className: t, ...n }) {
|
|
|
68
69
|
}
|
|
69
70
|
//#endregion
|
|
70
71
|
//#region src/components/base/table/index.tsx
|
|
71
|
-
|
|
72
|
+
var h = a.createContext("default"), g = {
|
|
73
|
+
compact: i.default,
|
|
74
|
+
default: i.comfortable,
|
|
75
|
+
comfortable: i.comfortable
|
|
76
|
+
};
|
|
77
|
+
function _(e) {
|
|
72
78
|
return typeof e == "string" || typeof e == "number" || typeof e == "bigint";
|
|
73
79
|
}
|
|
74
|
-
function
|
|
75
|
-
let [e, t] =
|
|
80
|
+
function v() {
|
|
81
|
+
let [e, t] = a.useState(!0), n = a.useRef(null);
|
|
76
82
|
return {
|
|
77
|
-
ref:
|
|
83
|
+
ref: a.useCallback((e) => {
|
|
78
84
|
if (n.current?.disconnect(), n.current = null, !e || typeof ResizeObserver > "u") return;
|
|
79
85
|
let r = () => t(e.scrollWidth > e.clientWidth + 1), i = new ResizeObserver(r);
|
|
80
86
|
i.observe(e), e.firstElementChild && i.observe(e.firstElementChild), n.current = i, r();
|
|
@@ -82,61 +88,67 @@ function h() {
|
|
|
82
88
|
overflowing: e
|
|
83
89
|
};
|
|
84
90
|
}
|
|
85
|
-
function
|
|
86
|
-
let { ref:
|
|
87
|
-
|
|
88
|
-
}, [
|
|
89
|
-
return /* @__PURE__ */
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
91
|
+
function y({ className: t, containerClassName: n, containerProps: i, density: c = "default", ...l }) {
|
|
92
|
+
let { ref: u, overflowing: d } = v(), f = i?.ref, p = a.useCallback((e) => {
|
|
93
|
+
u(e), typeof f == "function" ? f(e) : f && (f.current = e);
|
|
94
|
+
}, [u, f]);
|
|
95
|
+
return /* @__PURE__ */ o(h.Provider, {
|
|
96
|
+
value: c,
|
|
97
|
+
children: /* @__PURE__ */ o(s, {
|
|
98
|
+
containerProps: {
|
|
99
|
+
tabIndex: d ? 0 : void 0,
|
|
100
|
+
...i,
|
|
101
|
+
ref: p
|
|
102
|
+
},
|
|
103
|
+
containerClassName: e(`table--container relative w-full overflow-x-auto focus-visible:outline-none ${r.edge}`, n),
|
|
104
|
+
"data-density": c,
|
|
105
|
+
className: e("table--component font-sans text-sm", t),
|
|
106
|
+
...l
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function b({ className: t, ...n }) {
|
|
111
|
+
return /* @__PURE__ */ o(c, {
|
|
102
112
|
className: e("table--header [&_tr]:border-border [&_tr]:hover:bg-transparent", t),
|
|
103
113
|
...n
|
|
104
114
|
});
|
|
105
115
|
}
|
|
106
|
-
function
|
|
107
|
-
return /* @__PURE__ */
|
|
116
|
+
function x({ className: t, ...n }) {
|
|
117
|
+
return /* @__PURE__ */ o(l, {
|
|
108
118
|
className: e("table--body", t),
|
|
109
119
|
...n
|
|
110
120
|
});
|
|
111
121
|
}
|
|
112
|
-
function
|
|
113
|
-
return /* @__PURE__ */
|
|
122
|
+
function S({ className: t, ...n }) {
|
|
123
|
+
return /* @__PURE__ */ o(u, {
|
|
114
124
|
className: e("table--footer border-border", t),
|
|
115
125
|
...n
|
|
116
126
|
});
|
|
117
127
|
}
|
|
118
|
-
function
|
|
119
|
-
return /* @__PURE__ */
|
|
128
|
+
function C({ className: t, ...n }) {
|
|
129
|
+
return /* @__PURE__ */ o(d, {
|
|
120
130
|
className: e("table--row border-border", t),
|
|
121
131
|
...n
|
|
122
132
|
});
|
|
123
133
|
}
|
|
124
|
-
function
|
|
125
|
-
|
|
126
|
-
|
|
134
|
+
function w({ className: t, children: r, ...i }) {
|
|
135
|
+
let s = a.useContext(h);
|
|
136
|
+
return /* @__PURE__ */ o(f, {
|
|
137
|
+
className: e("table--head h-auto px-row-x text-sm", g[s], t),
|
|
127
138
|
...i,
|
|
128
|
-
children:
|
|
139
|
+
children: _(r) ? /* @__PURE__ */ o(n, {
|
|
129
140
|
tag: "span",
|
|
130
141
|
className: "table--head-text",
|
|
131
142
|
children: r
|
|
132
143
|
}) : r
|
|
133
144
|
});
|
|
134
145
|
}
|
|
135
|
-
function
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
146
|
+
function T({ className: n, children: r, ...s }) {
|
|
147
|
+
let c = a.useContext(h);
|
|
148
|
+
return /* @__PURE__ */ o(p, {
|
|
149
|
+
className: e("table--cell px-row-x text-sm", i[c], n),
|
|
150
|
+
...s,
|
|
151
|
+
children: _(r) ? /* @__PURE__ */ o(t, {
|
|
140
152
|
tag: "span",
|
|
141
153
|
size: "inherit",
|
|
142
154
|
className: "table--cell-text text-inherit",
|
|
@@ -144,11 +156,11 @@ function S({ className: t, children: r, ...i }) {
|
|
|
144
156
|
}) : r
|
|
145
157
|
});
|
|
146
158
|
}
|
|
147
|
-
function
|
|
148
|
-
return /* @__PURE__ */
|
|
149
|
-
className: e("table--caption",
|
|
159
|
+
function E({ className: n, children: r, ...i }) {
|
|
160
|
+
return /* @__PURE__ */ o(m, {
|
|
161
|
+
className: e("table--caption", n),
|
|
150
162
|
...i,
|
|
151
|
-
children:
|
|
163
|
+
children: _(r) ? /* @__PURE__ */ o(t, {
|
|
152
164
|
tag: "span",
|
|
153
165
|
size: "inherit",
|
|
154
166
|
type: "secondary",
|
|
@@ -158,6 +170,6 @@ function C({ className: t, children: r, ...i }) {
|
|
|
158
170
|
});
|
|
159
171
|
}
|
|
160
172
|
//#endregion
|
|
161
|
-
export {
|
|
173
|
+
export { S as a, C as c, T as i, x as n, w as o, E as r, b as s, y as t };
|
|
162
174
|
|
|
163
|
-
//# sourceMappingURL=table-
|
|
175
|
+
//# sourceMappingURL=table-DsfzoUia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-DsfzoUia.js","names":["Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","React","UITable","UITableHeader","UITableBody","UITableFooter","UITableRow","UITableHead","UITableCell","UITableCaption","cn","Text","DisplayLabel","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 px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0\", 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(\"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0\", 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 { 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 */\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-density={density}\n\t\t\t\tclassName={cn('table--component font-sans text-sm', 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 h-auto px-row-x 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 px-row-x 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":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { s as e } from "./ui-provider-
|
|
2
|
+
import { s as e } from "./ui-provider-C_U0Xma4.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 {
|
|
4
|
+
import { t as n } from "./utils-BRhFDwuU.js";
|
|
5
|
+
import { n as r } from "./buttons-DPZekJFu.js";
|
|
6
|
+
import { c as i } from "./typography-UTnveOEy.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 "./scroll-area-
|
|
8
|
+
import { t as o } from "./structure-BmisBK-3.js";
|
|
9
|
+
import { t as s } from "./scroll-area-DcI-M1UT.js";
|
|
10
10
|
import { useLayoutEffect as c, useRef as l, useState as u } from "react";
|
|
11
11
|
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
12
12
|
import { ChevronLeft as p, ChevronRight as m } from "lucide-react";
|
|
@@ -116,7 +116,8 @@ function y({ className: e, orientation: t = "horizontal", ...r }) {
|
|
|
116
116
|
var b = h("box-border rounded-inner 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
117
|
variants: { variant: {
|
|
118
118
|
default: "bg-muted",
|
|
119
|
-
line: "gap-space-xs bg-transparent"
|
|
119
|
+
line: "gap-space-xs bg-transparent",
|
|
120
|
+
chips: "h-auto flex-wrap justify-start gap-space-xs bg-transparent p-0"
|
|
120
121
|
} },
|
|
121
122
|
defaultVariants: { variant: "default" }
|
|
122
123
|
});
|
|
@@ -131,7 +132,7 @@ function x({ className: e, variant: t = "default", ...r }) {
|
|
|
131
132
|
function S({ className: e, ...t }) {
|
|
132
133
|
return /* @__PURE__ */ d(g.Tab, {
|
|
133
134
|
"data-slot": "tabs-trigger",
|
|
134
|
-
className: n(`box-border font-sans gap-space-sm rounded-inner 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-
|
|
135
|
+
className: n(`box-border font-sans gap-space-sm rounded-inner 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),
|
|
135
136
|
...t
|
|
136
137
|
});
|
|
137
138
|
}
|
|
@@ -154,14 +155,14 @@ function T({ className: e, ...t }) {
|
|
|
154
155
|
});
|
|
155
156
|
}
|
|
156
157
|
function E({ className: t, scrollable: r = !1, scrollStrings: i, ...a }) {
|
|
157
|
-
let { defaultScale: o } = e(), s = /* @__PURE__ */ d(x, {
|
|
158
|
-
className: n("tabs-list--component", "rounded-inner",
|
|
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__ */ d(x, {
|
|
159
|
+
className: n("tabs-list--component", "rounded-inner", s, r && "w-max", t),
|
|
159
160
|
...a
|
|
160
161
|
});
|
|
161
162
|
return r ? /* @__PURE__ */ d(v, {
|
|
162
163
|
strings: i,
|
|
163
|
-
children:
|
|
164
|
-
}) :
|
|
164
|
+
children: c
|
|
165
|
+
}) : c;
|
|
165
166
|
}
|
|
166
167
|
function D({ className: e, children: t, ...r }) {
|
|
167
168
|
return /* @__PURE__ */ d(S, {
|
|
@@ -187,4 +188,4 @@ function O({ className: e, children: t, ...r }) {
|
|
|
187
188
|
//#endregion
|
|
188
189
|
export { v as a, D as i, O as n, _ as o, E as r, T as t };
|
|
189
190
|
|
|
190
|
-
//# sourceMappingURL=tabs-
|
|
191
|
+
//# sourceMappingURL=tabs-CDocW5D1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-CDocW5D1.js","names":["Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","Tabs","PrimitiveTabs","PrimitiveTabsList","PrimitiveTabsTrigger","PrimitiveTabsContent","useDensityConfig","cn","Button","Text","focusRecipes","Stack","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\"\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-inner 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 `box-border font-sans gap-space-sm rounded-inner 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-inner', 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-inner 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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"}
|