admin-ui-starter-kit 0.6.5 → 0.6.7
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/.agents/skills/component-library-rules/references/components/base__cards.md +7 -8
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__table.md +32 -11
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/composed__metadata-list.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__activities.md +1 -1
- package/.agents/skills/component-library-rules/references/components/features__enhanced-activities.md +6 -6
- package/.agents/skills/component-library-rules/references/components/features__metrics-overview.md +3 -3
- package/.agents/skills/component-library-rules/references/components/features__overlays.md +2 -2
- package/.agents/skills/component-library-rules/references/components/features__products.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-app-shell.md +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +3 -3
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/dist/_shared/accordion-CxjH2WZG.js +135 -0
- package/dist/_shared/accordion-CxjH2WZG.js.map +1 -0
- package/dist/_shared/accordion-mTdJmy23.cjs +2 -0
- package/dist/_shared/accordion-mTdJmy23.cjs.map +1 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs +2 -0
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +1 -0
- package/dist/_shared/action-menu-Crn22LKo.js +96 -0
- package/dist/_shared/action-menu-Crn22LKo.js.map +1 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js +1099 -0
- package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +1 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +3 -0
- package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +1 -0
- package/dist/_shared/alert-BisCSsOE.cjs +2 -0
- package/dist/_shared/alert-BisCSsOE.cjs.map +1 -0
- package/dist/_shared/alert-D23Q7I0W.js +81 -0
- package/dist/_shared/alert-D23Q7I0W.js.map +1 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs +2 -0
- package/dist/_shared/app-shell-BZQJfTkf.cjs.map +1 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js +69 -0
- package/dist/_shared/app-shell-Da6GHxTZ.js.map +1 -0
- package/dist/_shared/auth-BV9Daibu.cjs +2 -0
- package/dist/_shared/auth-BV9Daibu.cjs.map +1 -0
- package/dist/_shared/auth-DACpcTnL.js +643 -0
- package/dist/_shared/auth-DACpcTnL.js.map +1 -0
- package/dist/_shared/badge-B4oBB5BJ.js +110 -0
- package/dist/_shared/badge-B4oBB5BJ.js.map +1 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs +2 -0
- package/dist/_shared/badge-DvUA9Pr2.cjs.map +1 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js +105 -0
- package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +1 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +2 -0
- package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +1 -0
- package/dist/_shared/button-BMiPFJIb.cjs +2 -0
- package/dist/_shared/button-BMiPFJIb.cjs.map +1 -0
- package/dist/_shared/button-vv59_uS_.js +189 -0
- package/dist/_shared/button-vv59_uS_.js.map +1 -0
- package/dist/_shared/buttons-CvqIMv3I.js +137 -0
- package/dist/_shared/buttons-CvqIMv3I.js.map +1 -0
- package/dist/_shared/buttons-tCkWktN3.cjs +2 -0
- package/dist/_shared/buttons-tCkWktN3.cjs.map +1 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js +150 -0
- package/dist/_shared/card-radio-group-BL--IyPB.js.map +1 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +2 -0
- package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +1 -0
- package/dist/_shared/cards-CMNXFo3Y.js +354 -0
- package/dist/_shared/cards-CMNXFo3Y.js.map +1 -0
- package/dist/_shared/cards-DQN9fcwo.cjs +2 -0
- package/dist/_shared/cards-DQN9fcwo.cjs.map +1 -0
- package/dist/_shared/combobox-D0avSXIB.cjs +2 -0
- package/dist/_shared/combobox-D0avSXIB.cjs.map +1 -0
- package/dist/_shared/combobox-Df0srISK.js +954 -0
- package/dist/_shared/combobox-Df0srISK.js.map +1 -0
- package/dist/_shared/command-B5BpMgBT.js +39 -0
- package/dist/_shared/command-B5BpMgBT.js.map +1 -0
- package/dist/_shared/command-en62SpQ7.cjs +2 -0
- package/dist/_shared/command-en62SpQ7.cjs.map +1 -0
- package/dist/_shared/comments-CfkortDW.js +952 -0
- package/dist/_shared/comments-CfkortDW.js.map +1 -0
- package/dist/_shared/comments-yVd7QMOu.cjs +2 -0
- package/dist/_shared/comments-yVd7QMOu.cjs.map +1 -0
- package/dist/_shared/copyable-Cn7tRGL5.js +38 -0
- package/dist/_shared/copyable-Cn7tRGL5.js.map +1 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs +2 -0
- package/dist/_shared/copyable-CoKTxMSP.cjs.map +1 -0
- package/dist/_shared/data-display-BG7CD164.js +1873 -0
- package/dist/_shared/data-display-BG7CD164.js.map +1 -0
- package/dist/_shared/data-display-CXVoX3la.cjs +2 -0
- package/dist/_shared/data-display-CXVoX3la.cjs.map +1 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js +1361 -0
- package/dist/_shared/date-picker-Bf-nnyi-.js.map +1 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs +2 -0
- package/dist/_shared/date-picker-Cox4PAUt.cjs.map +1 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs +2 -0
- package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +1 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js +329 -0
- package/dist/_shared/date-pickers-DvrOCP-s.js.map +1 -0
- package/dist/_shared/display-BQijMo37.js +986 -0
- package/dist/_shared/display-BQijMo37.js.map +1 -0
- package/dist/_shared/display-C0ut-Lew.cjs +2 -0
- package/dist/_shared/display-C0ut-Lew.cjs.map +1 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs +2 -0
- package/dist/_shared/form-sizing-DJus3nK3.cjs.map +1 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js +42 -0
- package/dist/_shared/form-sizing-DWjJsQSR.js.map +1 -0
- package/dist/_shared/forms-BjG7QIb1.cjs +2 -0
- package/dist/_shared/forms-BjG7QIb1.cjs.map +1 -0
- package/dist/_shared/forms-DljDdyXR.js +3533 -0
- package/dist/_shared/forms-DljDdyXR.js.map +1 -0
- package/dist/_shared/header-BpFJRINR.cjs +2 -0
- package/dist/_shared/header-BpFJRINR.cjs.map +1 -0
- package/dist/_shared/header-CKqQF4_r.js +447 -0
- package/dist/_shared/header-CKqQF4_r.js.map +1 -0
- package/dist/_shared/hooks-DcCkbP1F.js +95 -0
- package/dist/_shared/hooks-DcCkbP1F.js.map +1 -0
- package/dist/_shared/hooks-RkLytuGj.cjs +2 -0
- package/dist/_shared/hooks-RkLytuGj.cjs.map +1 -0
- package/dist/_shared/input-Cin0qpjj.js +182 -0
- package/dist/_shared/input-Cin0qpjj.js.map +1 -0
- package/dist/_shared/input-uuWeiagN.cjs +2 -0
- package/dist/_shared/input-uuWeiagN.cjs.map +1 -0
- package/dist/_shared/item-CIlSaQg8.js +226 -0
- package/dist/_shared/item-CIlSaQg8.js.map +1 -0
- package/dist/_shared/item-CSk9Y2qB.cjs +2 -0
- package/dist/_shared/item-CSk9Y2qB.cjs.map +1 -0
- package/dist/_shared/layout-Cun0HPL4.cjs +2 -0
- package/dist/_shared/layout-Cun0HPL4.cjs.map +1 -0
- package/dist/_shared/layout-HrU5gwH3.js +261 -0
- package/dist/_shared/layout-HrU5gwH3.js.map +1 -0
- package/dist/_shared/mentions-BqN82Fon.cjs +2 -0
- package/dist/_shared/mentions-BqN82Fon.cjs.map +1 -0
- package/dist/_shared/mentions-DV0FT1Th.js +506 -0
- package/dist/_shared/mentions-DV0FT1Th.js.map +1 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs +2 -0
- package/dist/_shared/money-display-D5FCRhzB.cjs.map +1 -0
- package/dist/_shared/money-display-FcCAQDCz.js +198 -0
- package/dist/_shared/money-display-FcCAQDCz.js.map +1 -0
- package/dist/_shared/navigation-CI_Dd8jM.js +436 -0
- package/dist/_shared/navigation-CI_Dd8jM.js.map +1 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs +2 -0
- package/dist/_shared/navigation-DUGhCPzJ.cjs.map +1 -0
- package/dist/_shared/overlays-BRLemLSn.cjs +2 -0
- package/dist/_shared/overlays-BRLemLSn.cjs.map +1 -0
- package/dist/_shared/overlays-Bef7VNYY.js +735 -0
- package/dist/_shared/overlays-Bef7VNYY.js.map +1 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js +93 -0
- package/dist/_shared/popover-menu-CAjhhTfX.js.map +1 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs +2 -0
- package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +1 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js +620 -0
- package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +1 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +2 -0
- package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +1 -0
- package/dist/_shared/settings-CNT4-6u8.cjs +2 -0
- package/dist/_shared/settings-CNT4-6u8.cjs.map +1 -0
- package/dist/_shared/settings-CRP6409J.js +143 -0
- package/dist/_shared/settings-CRP6409J.js.map +1 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs +2 -0
- package/dist/_shared/sidebar-B0LcBrfI.cjs.map +1 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js +548 -0
- package/dist/_shared/sidebar-Bc6JsOTD.js.map +1 -0
- package/dist/_shared/spinner-CVG62sGs.js +67 -0
- package/dist/_shared/spinner-CVG62sGs.js.map +1 -0
- package/dist/_shared/spinner-VjdonFU2.cjs +2 -0
- package/dist/_shared/spinner-VjdonFU2.cjs.map +1 -0
- package/dist/_shared/table-_yujELN3.js +1377 -0
- package/dist/_shared/table-_yujELN3.js.map +1 -0
- package/dist/_shared/table-iV8H1AE0.cjs +2 -0
- package/dist/_shared/table-iV8H1AE0.cjs.map +1 -0
- package/dist/_shared/textarea-B4zbbqff.cjs +2 -0
- package/dist/_shared/textarea-B4zbbqff.cjs.map +1 -0
- package/dist/_shared/textarea-Dp0RU-rc.js +118 -0
- package/dist/_shared/textarea-Dp0RU-rc.js.map +1 -0
- package/dist/_shared/typography-DXvCmE8w.js +201 -0
- package/dist/_shared/typography-DXvCmE8w.js.map +1 -0
- package/dist/_shared/typography-pzCKaFOc.cjs +2 -0
- package/dist/_shared/typography-pzCKaFOc.cjs.map +1 -0
- package/dist/_shared/workspace-C3U57t2a.cjs +2 -0
- package/dist/_shared/workspace-C3U57t2a.cjs.map +1 -0
- package/dist/_shared/workspace-Db--ow3r.js +357 -0
- package/dist/_shared/workspace-Db--ow3r.js.map +1 -0
- package/dist/components/base/accordion/index.cjs +1 -1
- package/dist/components/base/accordion/index.js +1 -1
- package/dist/components/base/badge/badge.d.ts.map +1 -1
- package/dist/components/base/badge/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +3 -3
- package/dist/components/base/carousel/index.cjs +1 -1
- package/dist/components/base/carousel/index.js +1 -1
- package/dist/components/base/combobox/index.cjs +1 -1
- package/dist/components/base/combobox/index.js +1 -1
- package/dist/components/base/command/index.cjs +1 -1
- package/dist/components/base/command/index.js +1 -1
- package/dist/components/base/copyable/index.cjs +1 -1
- package/dist/components/base/copyable/index.js +1 -1
- package/dist/components/base/currency/index.cjs +1 -1
- package/dist/components/base/currency/index.js +1 -1
- package/dist/components/base/date-pickers/index.cjs +1 -1
- package/dist/components/base/date-pickers/index.js +2 -2
- package/dist/components/base/display/chart.cjs +1 -1
- package/dist/components/base/display/chart.js +1 -1
- package/dist/components/base/display/index.cjs +1 -1
- package/dist/components/base/display/index.js +3 -3
- package/dist/components/base/event-calendar/index.cjs +1 -1
- package/dist/components/base/event-calendar/index.cjs.map +1 -1
- package/dist/components/base/event-calendar/index.js +6 -6
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/index.cjs +1 -1
- package/dist/components/base/forms/index.js +5 -5
- package/dist/components/base/item/index.cjs +1 -1
- package/dist/components/base/item/index.js +1 -1
- package/dist/components/base/map/index.cjs +1 -1
- package/dist/components/base/map/index.js +2 -2
- package/dist/components/base/navigation/index.cjs +1 -1
- package/dist/components/base/navigation/index.js +3 -3
- package/dist/components/base/popover-menu/index.cjs +1 -1
- package/dist/components/base/popover-menu/index.js +1 -1
- package/dist/components/base/spinner/index.cjs +1 -1
- package/dist/components/base/spinner/index.js +1 -1
- package/dist/components/base/table/data-table.d.ts.map +1 -1
- package/dist/components/base/table/index.cjs +1 -1
- package/dist/components/base/table/index.js +1 -1
- package/dist/components/base/table/table-header.d.ts.map +1 -1
- package/dist/components/composed/admin/index.cjs +1 -1
- package/dist/components/composed/admin/index.cjs.map +1 -1
- package/dist/components/composed/admin/index.js +13 -13
- package/dist/components/composed/admin/index.js.map +1 -1
- package/dist/components/composed/ai/index.cjs +1 -1
- package/dist/components/composed/ai/index.cjs.map +1 -1
- package/dist/components/composed/ai/index.js +25 -25
- package/dist/components/composed/ai/index.js.map +1 -1
- package/dist/components/composed/analytics/index.cjs +1 -1
- package/dist/components/composed/analytics/index.cjs.map +1 -1
- package/dist/components/composed/analytics/index.js +26 -26
- package/dist/components/composed/analytics/index.js.map +1 -1
- package/dist/components/composed/cards/index.cjs +1 -1
- package/dist/components/composed/cards/index.cjs.map +1 -1
- package/dist/components/composed/cards/index.js +15 -15
- package/dist/components/composed/cards/index.js.map +1 -1
- package/dist/components/composed/commerce/index.cjs +1 -1
- package/dist/components/composed/commerce/index.cjs.map +1 -1
- package/dist/components/composed/commerce/index.js +28 -28
- package/dist/components/composed/commerce/index.js.map +1 -1
- package/dist/components/composed/dark-surfaces/index.cjs +1 -1
- package/dist/components/composed/dark-surfaces/index.js +4 -4
- package/dist/components/composed/data-display/index.cjs +1 -1
- package/dist/components/composed/data-display/index.js +1 -1
- package/dist/components/composed/data-display/metadata/metadata-list.d.ts.map +1 -1
- package/dist/components/composed/navigation/index.cjs +1 -1
- package/dist/components/composed/navigation/index.cjs.map +1 -1
- package/dist/components/composed/navigation/index.js +15 -15
- package/dist/components/composed/navigation/index.js.map +1 -1
- package/dist/components/composed/onboarding/index.cjs +1 -1
- package/dist/components/composed/onboarding/index.js +3 -3
- package/dist/components/composed/timelines/index.cjs +1 -1
- package/dist/components/composed/timelines/index.cjs.map +1 -1
- package/dist/components/composed/timelines/index.js +10 -10
- package/dist/components/composed/timelines/index.js.map +1 -1
- package/dist/components/features/activities/index.cjs +1 -1
- package/dist/components/features/activities/index.cjs.map +1 -1
- package/dist/components/features/activities/index.js +9 -9
- package/dist/components/features/activities/index.js.map +1 -1
- package/dist/components/features/ai-chat/index.cjs +2 -2
- package/dist/components/features/ai-chat/index.cjs.map +1 -1
- package/dist/components/features/ai-chat/index.js +8 -8
- package/dist/components/features/ai-chat/index.js.map +1 -1
- package/dist/components/features/card/index.cjs +1 -1
- package/dist/components/features/card/index.js +4 -4
- package/dist/components/features/comments/index.cjs +1 -1
- package/dist/components/features/comments/index.js +2 -2
- package/dist/components/features/data-view/index.cjs +1 -1
- package/dist/components/features/data-view/index.cjs.map +1 -1
- package/dist/components/features/data-view/index.js +3 -3
- package/dist/components/features/data-view/index.js.map +1 -1
- package/dist/components/features/event-log/index.cjs +1 -1
- package/dist/components/features/event-log/index.js +4 -4
- package/dist/components/features/filters/index.cjs +1 -1
- package/dist/components/features/filters/index.cjs.map +1 -1
- package/dist/components/features/filters/index.js +11 -11
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/global-search/index.cjs +1 -1
- package/dist/components/features/global-search/index.cjs.map +1 -1
- package/dist/components/features/global-search/index.js +14 -14
- package/dist/components/features/global-search/index.js.map +1 -1
- package/dist/components/features/kanban/index.cjs +1 -1
- package/dist/components/features/kanban/index.js +3 -3
- package/dist/components/features/media-library/index.cjs +1 -1
- package/dist/components/features/media-library/index.cjs.map +1 -1
- package/dist/components/features/media-library/index.js +23 -23
- package/dist/components/features/media-library/index.js.map +1 -1
- package/dist/components/features/mentions/index.cjs +1 -1
- package/dist/components/features/mentions/index.js +1 -1
- package/dist/components/features/overlays/index.cjs +1 -1
- package/dist/components/features/overlays/index.js +1 -1
- package/dist/components/features/products/index.cjs +1 -1
- package/dist/components/features/products/index.cjs.map +1 -1
- package/dist/components/features/products/index.js +14 -14
- package/dist/components/features/products/index.js.map +1 -1
- package/dist/components/features/resource/index.cjs +1 -1
- package/dist/components/features/resource/index.cjs.map +1 -1
- package/dist/components/features/resource/index.js +5 -5
- package/dist/components/features/resource/index.js.map +1 -1
- package/dist/components/features/rich-text-editor/index.cjs +1 -1
- package/dist/components/features/rich-text-editor/index.js +1 -1
- package/dist/components/features/schema-form/index.cjs +1 -1
- package/dist/components/features/schema-form/index.js +8 -8
- package/dist/components/features/suggestions/index.cjs +1 -1
- package/dist/components/features/suggestions/index.js +1 -1
- package/dist/components/features/sync/index.cjs +1 -1
- package/dist/components/features/sync/index.js +2 -2
- package/dist/components/layout/app-shell/index.cjs +1 -1
- package/dist/components/layout/app-shell/index.js +1 -1
- package/dist/components/layout/auth/index.cjs +1 -1
- package/dist/components/layout/auth/index.js +1 -1
- package/dist/components/layout/header/index.cjs +1 -1
- package/dist/components/layout/header/index.js +1 -1
- package/dist/components/layout/hooks/index.cjs +1 -1
- package/dist/components/layout/hooks/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +8 -8
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/settings/index.cjs +1 -1
- package/dist/components/layout/settings/index.js +1 -1
- package/dist/components/layout/sidebar/index.cjs +1 -1
- package/dist/components/layout/sidebar/index.js +2 -2
- package/dist/components/layout/workspace/index.cjs +1 -1
- package/dist/components/layout/workspace/index.js +1 -1
- package/dist/components/typography/index.cjs +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-DtVzijR8.js +6 -0
- package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +1 -0
- package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +1 -0
- package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +1 -0
- package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +1 -0
- package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +1 -0
- package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +1 -0
- package/dist/showcase/assets/Separator-DMs71Vib.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +1 -0
- package/dist/showcase/assets/accordion-Clw5XNXP.js +171 -0
- package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +1 -0
- package/dist/showcase/assets/action-menu-CW8zR6Ne.js +1 -0
- package/dist/showcase/assets/actions-Cf7vl3u0.js +310 -0
- package/dist/showcase/assets/activities-CyI5sJuS.js +500 -0
- package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +1 -0
- package/dist/showcase/assets/admin-CQVbTxGD.js +140 -0
- package/dist/showcase/assets/ai-Bkp2BY_z.js +207 -0
- package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +2 -0
- package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +568 -0
- package/dist/showcase/assets/ai-elements-VbMUV2-i.js +387 -0
- package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +1 -0
- package/dist/showcase/assets/alert-BUmpNcXV.js +1 -0
- package/dist/showcase/assets/alert-CWPNW7eb.js +93 -0
- package/dist/showcase/assets/alert-nUwhk3AB.js +62 -0
- package/dist/showcase/assets/api-key-list-B1qVywOP.js +73 -0
- package/dist/showcase/assets/api-key-list-BI2FGbzV.js +1 -0
- package/dist/showcase/assets/app-sidebar-B35a8HWK.js +1 -0
- package/dist/showcase/assets/arrow-down-C1w0M8tE.js +1 -0
- package/dist/showcase/assets/arrow-left-DtILDtAv.js +1 -0
- package/dist/showcase/assets/arrow-right-TnZMfDbP.js +1 -0
- package/dist/showcase/assets/arrow-up-BX-KDIDB.js +1 -0
- package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +1 -0
- package/dist/showcase/assets/avatar-C5YI0roK.js +67 -0
- package/dist/showcase/assets/avatar-DsnH-Xmz.js +1 -0
- package/dist/showcase/assets/avatar-S4vMi7Be.js +57 -0
- package/dist/showcase/assets/avatar-q4wqX6yD.js +1 -0
- package/dist/showcase/assets/badge-DJacF8-J.js +31 -0
- package/dist/showcase/assets/badge-check-DDJtQHcD.js +1 -0
- package/dist/showcase/assets/bell-DiXXE8YI.js +1 -0
- package/dist/showcase/assets/bot-bONqc_7j.js +1 -0
- package/dist/showcase/assets/box-lhUq3Chj.js +1 -0
- package/dist/showcase/assets/braces-IKXiJgb3.js +1 -0
- package/dist/showcase/assets/brain-DcXlhbJZ.js +1 -0
- package/dist/showcase/assets/brand-CramZg2-.js +36 -0
- package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +1 -0
- package/dist/showcase/assets/breadcrumb-CZRbcf09.js +52 -0
- package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +1 -0
- package/dist/showcase/assets/briefcase-CQQ0m97G.js +1 -0
- package/dist/showcase/assets/building-2-BkQcv8WR.js +1 -0
- package/dist/showcase/assets/button-K7M0irWq.js +44 -0
- package/dist/showcase/assets/button-group-KCGa38c8.js +1 -0
- package/dist/showcase/assets/buttons-CvyBMRD6.js +272 -0
- package/dist/showcase/assets/calendar-BJHjhWQX.js +1 -0
- package/dist/showcase/assets/calendar-ChMVRsNC.js +16 -0
- package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +1 -0
- package/dist/showcase/assets/calendar-xpHhfGnq.js +1 -0
- package/dist/showcase/assets/camera-C67freYi.js +1 -0
- package/dist/showcase/assets/card-CfOqXMVz.js +188 -0
- package/dist/showcase/assets/card-bLjedjT5.js +1 -0
- package/dist/showcase/assets/card-primitives-FUPmQCsu.js +1 -0
- package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +1 -0
- package/dist/showcase/assets/cards-yHZa0kEf.js +353 -0
- package/dist/showcase/assets/carousel-DG1cKry4.js +449 -0
- package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +1 -0
- package/dist/showcase/assets/chart-B_yVfbWJ.js +358 -0
- package/dist/showcase/assets/chart-column-CYrVWmMk.js +1 -0
- package/dist/showcase/assets/checkbox-NW6EcvtD.js +1 -0
- package/dist/showcase/assets/checkbox-pA_L1P-f.js +1 -0
- package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +1 -0
- package/dist/showcase/assets/chevron-left-B_NQOEWI.js +1 -0
- package/dist/showcase/assets/chevron-up-6hst2jwR.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +1 -0
- package/dist/showcase/assets/circle-Cw9qV72m.js +1 -0
- package/dist/showcase/assets/circle-alert-D3Vcma6L.js +1 -0
- package/dist/showcase/assets/circle-check-DdjJpGc9.js +1 -0
- package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +1 -0
- package/dist/showcase/assets/circle-dot-DN8DFgIP.js +1 -0
- package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +1 -0
- package/dist/showcase/assets/circle-x-BzTSkndC.js +1 -0
- package/dist/showcase/assets/clock-3-CVwHXCmo.js +1 -0
- package/dist/showcase/assets/clock-BIJ9p953.js +1 -0
- package/dist/showcase/assets/code-xml-DrU5ziCA.js +1 -0
- package/dist/showcase/assets/collapsible-7rdCo71k.js +27 -0
- package/dist/showcase/assets/collapsible-DCcTSlEH.js +1 -0
- package/dist/showcase/assets/combobox-mx8o5sV1.js +685 -0
- package/dist/showcase/assets/command-CKJDGdA9.js +1 -0
- package/dist/showcase/assets/command-CzGLPzoO.js +1 -0
- package/dist/showcase/assets/comment-composer-CSoEIapl.js +1 -0
- package/dist/showcase/assets/comment-item-pjaH53iB.js +1 -0
- package/dist/showcase/assets/comments-_ccotzWA.js +357 -0
- package/dist/showcase/assets/commerce-BuiQiRsf.js +267 -0
- package/dist/showcase/assets/composite-Bghohd0p.js +1 -0
- package/dist/showcase/assets/contact-card-CqM2uz_w.js +65 -0
- package/dist/showcase/assets/content-container-fC4z98GI.js +1 -0
- package/dist/showcase/assets/copyable-BMQK8sID.js +1 -0
- package/dist/showcase/assets/copyable-DVR2FAa0.js +96 -0
- package/dist/showcase/assets/course-card-Cku2z18g.js +77 -0
- package/dist/showcase/assets/cpu-A072t3kq.js +1 -0
- package/dist/showcase/assets/credit-card-BGwhx9Zo.js +1 -0
- package/dist/showcase/assets/css-variables-BAW_VrGk.js +1205 -0
- package/dist/showcase/assets/currency-Da3C0Uzb.js +149 -0
- package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +90 -0
- package/dist/showcase/assets/data-view--EAYihh0.js +124 -0
- package/dist/showcase/assets/data-view-BAMwKzZO.js +4 -0
- package/dist/showcase/assets/database-C489WIbr.js +1 -0
- package/dist/showcase/assets/date-block-DuNaPSBU.js +1 -0
- package/dist/showcase/assets/date-picker-Dq-9L64y.js +1 -0
- package/dist/showcase/assets/date-pickers-D0ReMKc9.js +73 -0
- package/dist/showcase/assets/dense-info-CXwjqQB1.js +106 -0
- package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +264 -0
- package/dist/showcase/assets/dialog-DIrJcAzq.js +1 -0
- package/dist/showcase/assets/dialog-O45UwQJs.js +1 -0
- package/dist/showcase/assets/display-utilities-VKOARJyC.js +267 -0
- package/dist/showcase/assets/dist-BavkTE-I.js +1 -0
- package/dist/showcase/assets/dist-DPxPKIgU.js +45 -0
- package/dist/showcase/assets/dollar-sign-CH2fcyek.js +1 -0
- package/dist/showcase/assets/download-whAw79X4.js +1 -0
- package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +1 -0
- package/dist/showcase/assets/dropzone-B9sc8Mwa.js +1 -0
- package/dist/showcase/assets/earth-BpkE9LMh.js +1 -0
- package/dist/showcase/assets/ellipsis-CEVdIbhD.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +1 -0
- package/dist/showcase/assets/empty-Dp1eCMIl.js +1 -0
- package/dist/showcase/assets/empty-item--dZz4VlJ.js +49 -0
- package/dist/showcase/assets/empty-state-ZOiE-hWY.js +190 -0
- package/dist/showcase/assets/empty-state-dsivN4CA.js +1 -0
- package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +1 -0
- package/dist/showcase/assets/esm-DT-TXPCJ.js +2 -0
- package/dist/showcase/assets/event-calendar-aVpAFZFq.js +138 -0
- package/dist/showcase/assets/event-log-DVcvyQ-P.js +330 -0
- package/dist/showcase/assets/example-CzbL5xoH.js +1 -0
- package/dist/showcase/assets/external-link-BaLE1QE5.js +1 -0
- package/dist/showcase/assets/eye-Dq0mLKrs.js +1 -0
- package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +34 -0
- package/dist/showcase/assets/file-CgW3NvCL.js +1 -0
- package/dist/showcase/assets/file-text-JGaJQ8Wd.js +1 -0
- package/dist/showcase/assets/filter-layout-jfahl8aJ.js +1 -0
- package/dist/showcase/assets/filters-D7zegZVD.js +139 -0
- package/dist/showcase/assets/flag-H6U1f4wd.js +1 -0
- package/dist/showcase/assets/folder-open-sT96wRxJ.js +1 -0
- package/dist/showcase/assets/form-field-CQuSWnj8.js +1 -0
- package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +1 -0
- package/dist/showcase/assets/format-DGPJ5dDq.js +1 -0
- package/dist/showcase/assets/forms-CdDJkAFt.js +915 -0
- package/dist/showcase/assets/funnel-Bh56GDO0.js +1 -0
- package/dist/showcase/assets/generic-CqSABKHr.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +1 -0
- package/dist/showcase/assets/gift-ChVS2ovQ.js +1 -0
- package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +85 -0
- package/dist/showcase/assets/git-branch-86jQZnz4.js +1 -0
- package/dist/showcase/assets/global-search-C92CjOf8.js +215 -0
- package/dist/showcase/assets/global-search-DpVIWyO9.js +1 -0
- package/dist/showcase/assets/globe-DmGzYOlq.js +1 -0
- package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +58 -0
- package/dist/showcase/assets/hash-pc6IIDge.js +1 -0
- package/dist/showcase/assets/header-DbM4l1Z6.js +1 -0
- package/dist/showcase/assets/header-notifications-CaymUd4n.js +1 -0
- package/dist/showcase/assets/heart-DtfPBlXq.js +1 -0
- package/dist/showcase/assets/hooks-JiLlGOJ-.js +220 -0
- package/dist/showcase/assets/house-CzNWewi5.js +1 -0
- package/dist/showcase/assets/icon-badge-G9Fp891n.js +1 -0
- package/dist/showcase/assets/icon-badge-e8N5BSYf.js +37 -0
- package/dist/showcase/assets/image-9IQW7agU.js +1 -0
- package/dist/showcase/assets/inbox-DU4YaGtc.js +1 -0
- package/dist/showcase/assets/index-CuXjv2p6.css +2 -0
- package/dist/showcase/assets/index-DN09-Vts.js +10 -0
- package/dist/showcase/assets/inertValue-kRQb7jwi.js +1 -0
- package/dist/showcase/assets/info-B9AXwUDF.js +1 -0
- package/dist/showcase/assets/inline-stat-BkLIKCvD.js +1 -0
- package/dist/showcase/assets/inline-stat-XqGHDQrK.js +15 -0
- package/dist/showcase/assets/input-BXHv6p9P.js +1 -0
- package/dist/showcase/assets/input-D_T9s_tn.js +1 -0
- package/dist/showcase/assets/input-group-Bs8dmhR6.js +47 -0
- package/dist/showcase/assets/input-group-CqkASeoV.js +1 -0
- package/dist/showcase/assets/inputs-DY7w_ssI.js +155 -0
- package/dist/showcase/assets/installation-Dg3FdGJ1.js +134 -0
- package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +36 -0
- package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +36 -0
- package/dist/showcase/assets/invoice-mini-BISFvM7J.js +14 -0
- package/dist/showcase/assets/invoice-table-DcyVZTvl.js +30 -0
- package/dist/showcase/assets/isSameDay-av07hGac.js +1 -0
- package/dist/showcase/assets/isToday-GY5FlPL9.js +1 -0
- package/dist/showcase/assets/italic-Du0n76Xk.js +1 -0
- package/dist/showcase/assets/item-D8Lp4R-T.js +139 -0
- package/dist/showcase/assets/item-DTsZnSJG.js +1 -0
- package/dist/showcase/assets/item-Di7HZF5G.js +1 -0
- package/dist/showcase/assets/kanban-Dcminjsa.js +188 -0
- package/dist/showcase/assets/key-round-BBue3xKx.js +1 -0
- package/dist/showcase/assets/label-dkUEHYaz.js +1 -0
- package/dist/showcase/assets/languages-XxP8Uu82.js +1 -0
- package/dist/showcase/assets/layers-Bi_-RuHS.js +1 -0
- package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +608 -0
- package/dist/showcase/assets/layout-auth-DffIslnp.js +790 -0
- package/dist/showcase/assets/layout-containers-BuSg6L6o.js +101 -0
- package/dist/showcase/assets/layout-header-DAxSUI18.js +203 -0
- package/dist/showcase/assets/layout-page-CVgVJHf1.js +314 -0
- package/dist/showcase/assets/layout-primitives-q8NXbEld.js +34 -0
- package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +224 -0
- package/dist/showcase/assets/layout-users-DG5u517t.js +117 -0
- package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +191 -0
- package/dist/showcase/assets/lib-CaQvPpSJ.js +1 -0
- package/dist/showcase/assets/list-checks-Dhr60VvL.js +1 -0
- package/dist/showcase/assets/lock-CYVbyBpM.js +1 -0
- package/dist/showcase/assets/lock-keyhole-TUVID45I.js +1 -0
- package/dist/showcase/assets/mail-DfkwmVKE.js +1 -0
- package/dist/showcase/assets/mail-check-CnBhgH_h.js +1 -0
- package/dist/showcase/assets/map-Ck14_o-F.js +124 -0
- package/dist/showcase/assets/map-pin-Di7TUhai.js +1 -0
- package/dist/showcase/assets/media-library-CzM_to29.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +1 -0
- package/dist/showcase/assets/mentions-CdaPXOLl.js +138 -0
- package/dist/showcase/assets/menus-DuqcLdg1.js +171 -0
- package/dist/showcase/assets/message-square-DuW3PrFI.js +1 -0
- package/dist/showcase/assets/metadata-list-CCRGSPaS.js +286 -0
- package/dist/showcase/assets/metadata-list-Drvz5mwy.js +1 -0
- package/dist/showcase/assets/metric-BSaXa3Z_.js +1 -0
- package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +1 -0
- package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +42 -0
- package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +54 -0
- package/dist/showcase/assets/minus-BaXg6nPb.js +1 -0
- package/dist/showcase/assets/money-display-HegN6NVU.js +1 -0
- package/dist/showcase/assets/month-year-picker-DGSalGea.js +1 -0
- package/dist/showcase/assets/navigation-B9kcgNmJ.js +90 -0
- package/dist/showcase/assets/navigation-D4OJbw4T.js +231 -0
- package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +43 -0
- package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +1 -0
- package/dist/showcase/assets/overlays-BHf9SZOh.js +159 -0
- package/dist/showcase/assets/overlays-DziL3nVU.js +408 -0
- package/dist/showcase/assets/overview-Cc69up8i.js +184 -0
- package/dist/showcase/assets/package-Bc-NuFnd.js +1 -0
- package/dist/showcase/assets/package-check-5LQwCfGh.js +1 -0
- package/dist/showcase/assets/page-B2o5HSfY.js +1 -0
- package/dist/showcase/assets/page-action-button-CfS6vsyC.js +1 -0
- package/dist/showcase/assets/page-header-W6quU5pO.js +1 -0
- package/dist/showcase/assets/pagination-Bfs7Zszm.js +1 -0
- package/dist/showcase/assets/pagination-DHs104ji.js +42 -0
- package/dist/showcase/assets/paperclip-CXeiMywc.js +1 -0
- package/dist/showcase/assets/password-input-C61t743N.js +1 -0
- package/dist/showcase/assets/pencil-C1TXsTfP.js +1 -0
- package/dist/showcase/assets/phone-Bh-68R_E.js +1 -0
- package/dist/showcase/assets/plus-CKBaO4jG.js +1 -0
- package/dist/showcase/assets/popover-C_7qLizt.js +1 -0
- package/dist/showcase/assets/popover-hgtHqd0h.js +1 -0
- package/dist/showcase/assets/popover-menu-DmYSBsji.js +1 -0
- package/dist/showcase/assets/products-DSvcQz-Q.js +423 -0
- package/dist/showcase/assets/progress-Chxeo8g4.js +18 -0
- package/dist/showcase/assets/progress-fYPoCyf-.js +1 -0
- package/dist/showcase/assets/props-table-izArO1Pv.js +1 -0
- package/dist/showcase/assets/quote-wvfNu9t7.js +1 -0
- package/dist/showcase/assets/receipt-BlXBX4ZJ.js +1 -0
- package/dist/showcase/assets/receipt-text-stSsUTV5.js +1 -0
- package/dist/showcase/assets/refinement-guide-Bri81J9N.js +189 -0
- package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +1 -0
- package/dist/showcase/assets/resource-B727CTVi.js +139 -0
- package/dist/showcase/assets/resource-DytT_quB.js +1 -0
- package/dist/showcase/assets/resource-selector-card-wNuW382N.js +43 -0
- package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +143 -0
- package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +124 -0
- package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +1 -0
- package/dist/showcase/assets/route-D2owHMka.js +1 -0
- package/dist/showcase/assets/save-DjC_iy0t.js +1 -0
- package/dist/showcase/assets/schema-form-CQtLwGC1.js +327 -0
- package/dist/showcase/assets/scroll-area-BQlHFfkG.js +32 -0
- package/dist/showcase/assets/scroll-area-D3Rrt85s.js +1 -0
- package/dist/showcase/assets/section-DYfGx1Q5.js +1 -0
- package/dist/showcase/assets/select-BCJGhRpc.js +1 -0
- package/dist/showcase/assets/select-Cf5EigqA.js +1 -0
- package/dist/showcase/assets/send-86Vr11Ys.js +1 -0
- package/dist/showcase/assets/separator-BHjNVb5O.js +1 -0
- package/dist/showcase/assets/separator-BejjbTbO.js +28 -0
- package/dist/showcase/assets/settings-2-DNNVOsjP.js +1 -0
- package/dist/showcase/assets/settings-Bsi5BLx5.js +1 -0
- package/dist/showcase/assets/sheet-BazhMvfb.js +1 -0
- package/dist/showcase/assets/shield-alert-D-Jbocfj.js +1 -0
- package/dist/showcase/assets/shield-check-D9eDVcJ1.js +1 -0
- package/dist/showcase/assets/shield-xI2P9G5d.js +1 -0
- package/dist/showcase/assets/shopping-bag-DOGs3sez.js +1 -0
- package/dist/showcase/assets/showcase-s-5CuLAJ.js +132 -0
- package/dist/showcase/assets/sidebar-Rz44gw_a.js +1 -0
- package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +1 -0
- package/dist/showcase/assets/skeleton-CY8ieqD-.js +1 -0
- package/dist/showcase/assets/skeleton-CgoH6CPT.js +29 -0
- package/dist/showcase/assets/slider-okW2bgkG.js +1 -0
- package/dist/showcase/assets/smart-card-CVwEPwfI.js +1 -0
- package/dist/showcase/assets/sonner-CixCpxj2.js +22 -0
- package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +5 -0
- package/dist/showcase/assets/sparkles-DDEVdtmy.js +1 -0
- package/dist/showcase/assets/spinner-BVGPoAEv.js +49 -0
- package/dist/showcase/assets/spinner-FURXSp1Q.js +1 -0
- package/dist/showcase/assets/spinner-u6TwJ3Ii.js +30 -0
- package/dist/showcase/assets/square-pen-DVXVT0cQ.js +1 -0
- package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +1 -0
- package/dist/showcase/assets/star-B3ZPfxuz.js +1 -0
- package/dist/showcase/assets/startOfDay-LwMBRUSU.js +1 -0
- package/dist/showcase/assets/styles-UIKkojWJ.js +1 -0
- package/dist/showcase/assets/suggestions-DbrzKjbi.js +126 -0
- package/dist/showcase/assets/switch-CAw84QpS.js +1 -0
- package/dist/showcase/assets/switch-Cjt2MCgr.js +1 -0
- package/dist/showcase/assets/sync-DWbqfpBH.js +124 -0
- package/dist/showcase/assets/table-Bx5lo5FP.js +686 -0
- package/dist/showcase/assets/table-C2RQulDb.js +1 -0
- package/dist/showcase/assets/table-actions-Clo3WEfM.js +1 -0
- package/dist/showcase/assets/tabs-DRtlcg6b.js +19 -0
- package/dist/showcase/assets/tabs-wMPtvuT5.js +1 -0
- package/dist/showcase/assets/tags-input-D5FpWOWF.js +1 -0
- package/dist/showcase/assets/text-button-Cwh6D6qG.js +1 -0
- package/dist/showcase/assets/text-link-DI1uXdGl.js +1 -0
- package/dist/showcase/assets/textarea-CGbt4gBZ.js +1 -0
- package/dist/showcase/assets/textarea-JPgPLhyk.js +1 -0
- package/dist/showcase/assets/timelines-CkHN08n6.js +200 -0
- package/dist/showcase/assets/toggle-group-BpXkR9uD.js +1 -0
- package/dist/showcase/assets/toggles-DK9iCbki.js +71 -0
- package/dist/showcase/assets/toggles-group-DwzRj0f7.js +32 -0
- package/dist/showcase/assets/tooltip-PtP1suag.js +31 -0
- package/dist/showcase/assets/trash-2-BE4XUI2g.js +1 -0
- package/dist/showcase/assets/trending-up-ByxOf-nR.js +1 -0
- package/dist/showcase/assets/truck-RTOdcRV0.js +1 -0
- package/dist/showcase/assets/typography-BKLgHDxU.js +223 -0
- package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +28 -0
- package/dist/showcase/assets/ui-card-BOdHnZwv.js +30 -0
- package/dist/showcase/assets/ui-table-BW4FCClv.js +42 -0
- package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +138 -0
- package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +1 -0
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +1 -0
- package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +1 -0
- package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +1 -0
- package/dist/showcase/assets/useRender-Ogz5zjeJ.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +1 -0
- package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +1 -0
- package/dist/showcase/assets/user-plus-CLj8AZe1.js +1 -0
- package/dist/showcase/assets/user-ymdT26JK.js +1 -0
- package/dist/showcase/assets/users-BGba2Xwv.js +1 -0
- package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +37 -0
- package/dist/showcase/assets/video-BcKa36-p.js +1 -0
- package/dist/showcase/assets/wrench-Cj2hRrih.js +1 -0
- package/dist/showcase/assets/x-iCqjAC2D.js +1 -0
- package/dist/showcase/assets/zap-H4bc_OhS.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/themes/shadcn.default.css +6 -6
- package/src/css/tokens/foundation.css +23 -9
- package/dist/_shared/accordion-B9EjlZLY.js +0 -135
- package/dist/_shared/accordion-B9EjlZLY.js.map +0 -1
- package/dist/_shared/accordion-IFDIc0E7.cjs +0 -2
- package/dist/_shared/accordion-IFDIc0E7.cjs.map +0 -1
- package/dist/_shared/action-menu-B6yFRDz1.cjs +0 -2
- package/dist/_shared/action-menu-B6yFRDz1.cjs.map +0 -1
- package/dist/_shared/action-menu-CNS-fwQr.js +0 -96
- package/dist/_shared/action-menu-CNS-fwQr.js.map +0 -1
- package/dist/_shared/ai-artifact-B3qhuiKC.js +0 -1099
- package/dist/_shared/ai-artifact-B3qhuiKC.js.map +0 -1
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs +0 -3
- package/dist/_shared/ai-artifact-Dtr0bnVq.cjs.map +0 -1
- package/dist/_shared/alert-V0V36Sny.cjs +0 -2
- package/dist/_shared/alert-V0V36Sny.cjs.map +0 -1
- package/dist/_shared/alert-m-4s0Hqq.js +0 -81
- package/dist/_shared/alert-m-4s0Hqq.js.map +0 -1
- package/dist/_shared/app-shell-D3eGUtL-.js +0 -69
- package/dist/_shared/app-shell-D3eGUtL-.js.map +0 -1
- package/dist/_shared/app-shell-QJHARDMB.cjs +0 -2
- package/dist/_shared/app-shell-QJHARDMB.cjs.map +0 -1
- package/dist/_shared/auth-BZY91F5_.cjs +0 -2
- package/dist/_shared/auth-BZY91F5_.cjs.map +0 -1
- package/dist/_shared/auth-DcotjEbY.js +0 -643
- package/dist/_shared/auth-DcotjEbY.js.map +0 -1
- package/dist/_shared/badge-BeSKxX1u.cjs +0 -2
- package/dist/_shared/badge-BeSKxX1u.cjs.map +0 -1
- package/dist/_shared/badge-a2Z3K5aQ.js +0 -110
- package/dist/_shared/badge-a2Z3K5aQ.js.map +0 -1
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs +0 -2
- package/dist/_shared/breadcrumbs-AyLzxCJZ.cjs.map +0 -1
- package/dist/_shared/breadcrumbs-B57Unsoe.js +0 -105
- package/dist/_shared/breadcrumbs-B57Unsoe.js.map +0 -1
- package/dist/_shared/button-Bd5bEIiB.cjs +0 -2
- package/dist/_shared/button-Bd5bEIiB.cjs.map +0 -1
- package/dist/_shared/button-DHksjMvc.js +0 -189
- package/dist/_shared/button-DHksjMvc.js.map +0 -1
- package/dist/_shared/buttons-Bek9F7qK.cjs +0 -2
- package/dist/_shared/buttons-Bek9F7qK.cjs.map +0 -1
- package/dist/_shared/buttons-DcynMPnE.js +0 -137
- package/dist/_shared/buttons-DcynMPnE.js.map +0 -1
- package/dist/_shared/card-radio-group-C2p_iBal.cjs +0 -2
- package/dist/_shared/card-radio-group-C2p_iBal.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js +0 -150
- package/dist/_shared/card-radio-group-Fdi1Cz1j.js.map +0 -1
- package/dist/_shared/cards-C1ythc0Q.js +0 -354
- package/dist/_shared/cards-C1ythc0Q.js.map +0 -1
- package/dist/_shared/cards-GSYfJ-oX.cjs +0 -2
- package/dist/_shared/cards-GSYfJ-oX.cjs.map +0 -1
- package/dist/_shared/combobox-BIe72dV3.js +0 -954
- package/dist/_shared/combobox-BIe72dV3.js.map +0 -1
- package/dist/_shared/combobox-CJiFDoTi.cjs +0 -2
- package/dist/_shared/combobox-CJiFDoTi.cjs.map +0 -1
- package/dist/_shared/command-ByedBajF.js +0 -39
- package/dist/_shared/command-ByedBajF.js.map +0 -1
- package/dist/_shared/command-EGR0nhGc.cjs +0 -2
- package/dist/_shared/command-EGR0nhGc.cjs.map +0 -1
- package/dist/_shared/comments-CmljtbAW.js +0 -952
- package/dist/_shared/comments-CmljtbAW.js.map +0 -1
- package/dist/_shared/comments-ColUq7eh.cjs +0 -2
- package/dist/_shared/comments-ColUq7eh.cjs.map +0 -1
- package/dist/_shared/copyable-Dopk9pEJ.js +0 -38
- package/dist/_shared/copyable-Dopk9pEJ.js.map +0 -1
- package/dist/_shared/copyable-rQwxsTJ3.cjs +0 -2
- package/dist/_shared/copyable-rQwxsTJ3.cjs.map +0 -1
- package/dist/_shared/data-display-BTsCY7A5.js +0 -1873
- package/dist/_shared/data-display-BTsCY7A5.js.map +0 -1
- package/dist/_shared/data-display-BdGQMXit.cjs +0 -2
- package/dist/_shared/data-display-BdGQMXit.cjs.map +0 -1
- package/dist/_shared/date-picker-BiUgIkjP.cjs +0 -2
- package/dist/_shared/date-picker-BiUgIkjP.cjs.map +0 -1
- package/dist/_shared/date-picker-DFkLiveH.js +0 -1361
- package/dist/_shared/date-picker-DFkLiveH.js.map +0 -1
- package/dist/_shared/date-pickers-C86tVD8e.cjs +0 -2
- package/dist/_shared/date-pickers-C86tVD8e.cjs.map +0 -1
- package/dist/_shared/date-pickers-D4oxOOHE.js +0 -329
- package/dist/_shared/date-pickers-D4oxOOHE.js.map +0 -1
- package/dist/_shared/display-B0wLVN8t.js +0 -986
- package/dist/_shared/display-B0wLVN8t.js.map +0 -1
- package/dist/_shared/display-Bin2vVex.cjs +0 -2
- package/dist/_shared/display-Bin2vVex.cjs.map +0 -1
- package/dist/_shared/form-sizing-C51oI3Di.js +0 -42
- package/dist/_shared/form-sizing-C51oI3Di.js.map +0 -1
- package/dist/_shared/form-sizing-Co53Drri.cjs +0 -2
- package/dist/_shared/form-sizing-Co53Drri.cjs.map +0 -1
- package/dist/_shared/forms-CEE1te78.cjs +0 -2
- package/dist/_shared/forms-CEE1te78.cjs.map +0 -1
- package/dist/_shared/forms-CQoGvG7q.js +0 -3533
- package/dist/_shared/forms-CQoGvG7q.js.map +0 -1
- package/dist/_shared/header-B9IPDQRW.js +0 -447
- package/dist/_shared/header-B9IPDQRW.js.map +0 -1
- package/dist/_shared/header-C_1x4-rd.cjs +0 -2
- package/dist/_shared/header-C_1x4-rd.cjs.map +0 -1
- package/dist/_shared/hooks---vunGQ6.js +0 -95
- package/dist/_shared/hooks---vunGQ6.js.map +0 -1
- package/dist/_shared/hooks-CjVzmgvY.cjs +0 -2
- package/dist/_shared/hooks-CjVzmgvY.cjs.map +0 -1
- package/dist/_shared/input-CB6hxh-5.cjs +0 -2
- package/dist/_shared/input-CB6hxh-5.cjs.map +0 -1
- package/dist/_shared/input-CfnHBT--.js +0 -182
- package/dist/_shared/input-CfnHBT--.js.map +0 -1
- package/dist/_shared/item-Xs-fgzaT.js +0 -226
- package/dist/_shared/item-Xs-fgzaT.js.map +0 -1
- package/dist/_shared/item-eUP9Rtmg.cjs +0 -2
- package/dist/_shared/item-eUP9Rtmg.cjs.map +0 -1
- package/dist/_shared/layout-BXrQqUKq.js +0 -262
- package/dist/_shared/layout-BXrQqUKq.js.map +0 -1
- package/dist/_shared/layout-DWicdsPI.cjs +0 -2
- package/dist/_shared/layout-DWicdsPI.cjs.map +0 -1
- package/dist/_shared/mentions-BahbwDwU.js +0 -506
- package/dist/_shared/mentions-BahbwDwU.js.map +0 -1
- package/dist/_shared/mentions-aHalksbt.cjs +0 -2
- package/dist/_shared/mentions-aHalksbt.cjs.map +0 -1
- package/dist/_shared/money-display-BLPNMmiT.cjs +0 -2
- package/dist/_shared/money-display-BLPNMmiT.cjs.map +0 -1
- package/dist/_shared/money-display-D_-Cb8-9.js +0 -198
- package/dist/_shared/money-display-D_-Cb8-9.js.map +0 -1
- package/dist/_shared/navigation-BcYAwgzo.js +0 -436
- package/dist/_shared/navigation-BcYAwgzo.js.map +0 -1
- package/dist/_shared/navigation-DAB7uuBj.cjs +0 -2
- package/dist/_shared/navigation-DAB7uuBj.cjs.map +0 -1
- package/dist/_shared/overlays-DW8OIK5R.js +0 -735
- package/dist/_shared/overlays-DW8OIK5R.js.map +0 -1
- package/dist/_shared/overlays-Du65iCkx.cjs +0 -2
- package/dist/_shared/overlays-Du65iCkx.cjs.map +0 -1
- package/dist/_shared/popover-menu-qxBZlTck.js +0 -93
- package/dist/_shared/popover-menu-qxBZlTck.js.map +0 -1
- package/dist/_shared/popover-menu-z9QTjl4o.cjs +0 -2
- package/dist/_shared/popover-menu-z9QTjl4o.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs +0 -2
- package/dist/_shared/rich-text-editor-DeIiIDn7.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-VIBlL0x3.js +0 -620
- package/dist/_shared/rich-text-editor-VIBlL0x3.js.map +0 -1
- package/dist/_shared/settings-Bfr6PgSi.cjs +0 -2
- package/dist/_shared/settings-Bfr6PgSi.cjs.map +0 -1
- package/dist/_shared/settings-CrPaYr4A.js +0 -143
- package/dist/_shared/settings-CrPaYr4A.js.map +0 -1
- package/dist/_shared/sidebar-CDOLD8fN.js +0 -548
- package/dist/_shared/sidebar-CDOLD8fN.js.map +0 -1
- package/dist/_shared/sidebar-DcsxeNml.cjs +0 -2
- package/dist/_shared/sidebar-DcsxeNml.cjs.map +0 -1
- package/dist/_shared/spinner-D35zNriU.cjs +0 -2
- package/dist/_shared/spinner-D35zNriU.cjs.map +0 -1
- package/dist/_shared/spinner-DMC2IIml.js +0 -67
- package/dist/_shared/spinner-DMC2IIml.js.map +0 -1
- package/dist/_shared/table-B_pqCQxC.js +0 -1377
- package/dist/_shared/table-B_pqCQxC.js.map +0 -1
- package/dist/_shared/table-CGVOXtdv.cjs +0 -2
- package/dist/_shared/table-CGVOXtdv.cjs.map +0 -1
- package/dist/_shared/textarea-B24qgdmd.cjs +0 -2
- package/dist/_shared/textarea-B24qgdmd.cjs.map +0 -1
- package/dist/_shared/textarea-ChLRmmVU.js +0 -118
- package/dist/_shared/textarea-ChLRmmVU.js.map +0 -1
- package/dist/_shared/typography-CO9uwZhF.cjs +0 -2
- package/dist/_shared/typography-CO9uwZhF.cjs.map +0 -1
- package/dist/_shared/typography-DE0NGEIE.js +0 -201
- package/dist/_shared/typography-DE0NGEIE.js.map +0 -1
- package/dist/_shared/workspace-C1twu23r.cjs +0 -2
- package/dist/_shared/workspace-C1twu23r.cjs.map +0 -1
- package/dist/_shared/workspace-CkOZLdcN.js +0 -357
- package/dist/_shared/workspace-CkOZLdcN.js.map +0 -1
- package/dist/showcase/assets/AreaChart-WJREayr9.js +0 -6
- package/dist/showcase/assets/CompositeItem-CY3XmFuI.js +0 -1
- package/dist/showcase/assets/CompositeRoot-BPMF0t1F.js +0 -1
- package/dist/showcase/assets/DialogTrigger-BzaF3YN8.js +0 -1
- package/dist/showcase/assets/LabelableContext-LKvvFFnV.js +0 -1
- package/dist/showcase/assets/PreviewLayout-B0n7l00P.js +0 -1
- package/dist/showcase/assets/RadioGroup-VBtGFETg.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-BimGwdGs.js +0 -1
- package/dist/showcase/assets/Separator-BfKe0YiY.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-Cscyv1PN.js +0 -1
- package/dist/showcase/assets/accordion-BEN0VkL4.js +0 -171
- package/dist/showcase/assets/accordion-variants-QFG3H38z.js +0 -1
- package/dist/showcase/assets/action-menu-Bfw1tFqM.js +0 -1
- package/dist/showcase/assets/actions-CFpHs5IC.js +0 -310
- package/dist/showcase/assets/activities-CDxlaghU.js +0 -500
- package/dist/showcase/assets/activities-feed-card-BO1kcjRK.js +0 -1
- package/dist/showcase/assets/admin-DFpHXeuv.js +0 -140
- package/dist/showcase/assets/ai-DyO6VqQP.js +0 -207
- package/dist/showcase/assets/ai-artifact-MVA3ikv6.js +0 -2
- package/dist/showcase/assets/ai-chat-D-xcp6Jf.js +0 -568
- package/dist/showcase/assets/ai-elements-DlFqIOYp.js +0 -387
- package/dist/showcase/assets/ai-tool-call-DedG9TdK.js +0 -1
- package/dist/showcase/assets/alert-CmRK2lOe.js +0 -1
- package/dist/showcase/assets/alert-DCIVryEp.js +0 -62
- package/dist/showcase/assets/alert-DDP3Ktic.js +0 -93
- package/dist/showcase/assets/api-key-list-CWa997YX.js +0 -1
- package/dist/showcase/assets/api-key-list-mTPebHF3.js +0 -73
- package/dist/showcase/assets/app-sidebar-Cnfk9z5K.js +0 -1
- package/dist/showcase/assets/arrow-down-CCYWFimd.js +0 -1
- package/dist/showcase/assets/arrow-left-CrYjfZJ0.js +0 -1
- package/dist/showcase/assets/arrow-right-eLxbBrdm.js +0 -1
- package/dist/showcase/assets/arrow-up-kA33fcPv.js +0 -1
- package/dist/showcase/assets/arrow-up-right-BSWGQVDB.js +0 -1
- package/dist/showcase/assets/avatar-BDGhB3aA.js +0 -57
- package/dist/showcase/assets/avatar-CLBQvnYG.js +0 -1
- package/dist/showcase/assets/avatar-WUMW3Qjo.js +0 -1
- package/dist/showcase/assets/avatar-cKSNuTzf.js +0 -67
- package/dist/showcase/assets/badge--mqVg8Ry.js +0 -31
- package/dist/showcase/assets/badge-check-D7YjWqnm.js +0 -1
- package/dist/showcase/assets/bell-6YyocFK6.js +0 -1
- package/dist/showcase/assets/bot-BC4pGAB3.js +0 -1
- package/dist/showcase/assets/box-CPGIu4Nv.js +0 -1
- package/dist/showcase/assets/braces-9jywZtTA.js +0 -1
- package/dist/showcase/assets/brain-wf_S427C.js +0 -1
- package/dist/showcase/assets/brand-78lhbKSW.js +0 -36
- package/dist/showcase/assets/breadcrumb-6XHObtqO.js +0 -1
- package/dist/showcase/assets/breadcrumb-BVrrS53_.js +0 -52
- package/dist/showcase/assets/breadcrumbs-BwC3Iaae.js +0 -1
- package/dist/showcase/assets/briefcase-BViWYew9.js +0 -1
- package/dist/showcase/assets/building-2-CwR3gV1I.js +0 -1
- package/dist/showcase/assets/button-BWwsy37B.js +0 -44
- package/dist/showcase/assets/button-group-BTiMRQIO.js +0 -1
- package/dist/showcase/assets/buttons-D9pH8hPs.js +0 -272
- package/dist/showcase/assets/calendar-Bzl2i1lu.js +0 -1
- package/dist/showcase/assets/calendar-CNMlC7Fn.js +0 -16
- package/dist/showcase/assets/calendar-D5NdEmaD.js +0 -1
- package/dist/showcase/assets/calendar-days-j8QDBUc5.js +0 -1
- package/dist/showcase/assets/camera-Cwb84N8a.js +0 -1
- package/dist/showcase/assets/card-CX3vQ2Te.js +0 -1
- package/dist/showcase/assets/card-FLJkfdKP.js +0 -188
- package/dist/showcase/assets/card-primitives-C2s13Uvp.js +0 -1
- package/dist/showcase/assets/card-radio-group-BP27dErL.js +0 -1
- package/dist/showcase/assets/cards-DcdxRM9W.js +0 -354
- package/dist/showcase/assets/carousel-CTKyiHD2.js +0 -449
- package/dist/showcase/assets/cell-renderers-ouSypXTE.js +0 -1
- package/dist/showcase/assets/chart-CMsMyCah.js +0 -358
- package/dist/showcase/assets/chart-column-BrwpEFzy.js +0 -1
- package/dist/showcase/assets/checkbox-4qgEfnjv.js +0 -1
- package/dist/showcase/assets/checkbox-ratLYBAF.js +0 -1
- package/dist/showcase/assets/chevron-down-BInaIfd1.js +0 -1
- package/dist/showcase/assets/chevron-left-Bjy3FJ_M.js +0 -1
- package/dist/showcase/assets/chevron-up-Ufl6UEyV.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-CrOH-P5z.js +0 -1
- package/dist/showcase/assets/circle-G0dEx2Ay.js +0 -1
- package/dist/showcase/assets/circle-alert-CiibDCe8.js +0 -1
- package/dist/showcase/assets/circle-check-Bqm54c03.js +0 -1
- package/dist/showcase/assets/circle-check-big-BfiY_qy_.js +0 -1
- package/dist/showcase/assets/circle-dot-VNm7CEgH.js +0 -1
- package/dist/showcase/assets/circle-question-mark-mM7PKy4G.js +0 -1
- package/dist/showcase/assets/circle-x-2tzzp_vB.js +0 -1
- package/dist/showcase/assets/clock-3-CfdZnMP2.js +0 -1
- package/dist/showcase/assets/clock-ByB7C11p.js +0 -1
- package/dist/showcase/assets/code-xml-D2fN-BaU.js +0 -1
- package/dist/showcase/assets/collapsible-B2lI_uVI.js +0 -1
- package/dist/showcase/assets/collapsible-Bs5YFx-M.js +0 -27
- package/dist/showcase/assets/combobox-BqNSwFaM.js +0 -685
- package/dist/showcase/assets/command-Dcbh_YP-.js +0 -1
- package/dist/showcase/assets/command-Mb30xkwq.js +0 -1
- package/dist/showcase/assets/comment-composer-DqTw0zIM.js +0 -1
- package/dist/showcase/assets/comment-item-DbQAZ3yP.js +0 -1
- package/dist/showcase/assets/comments-CGMOOi7k.js +0 -357
- package/dist/showcase/assets/commerce-bVpLHwpS.js +0 -267
- package/dist/showcase/assets/composite-CTpmYme_.js +0 -1
- package/dist/showcase/assets/contact-card-nuS10UKK.js +0 -65
- package/dist/showcase/assets/content-container-NexBp0FV.js +0 -1
- package/dist/showcase/assets/copyable-CNltkC2A.js +0 -1
- package/dist/showcase/assets/copyable-qr6--oJx.js +0 -96
- package/dist/showcase/assets/course-card-0kkl37FX.js +0 -77
- package/dist/showcase/assets/cpu-DSD9h0l5.js +0 -1
- package/dist/showcase/assets/credit-card-CN0E6FU8.js +0 -1
- package/dist/showcase/assets/css-variables-CzmmLWxt.js +0 -1190
- package/dist/showcase/assets/currency-BtofP745.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BU7kfTIi.js +0 -90
- package/dist/showcase/assets/data-view-3W7_KBli.js +0 -124
- package/dist/showcase/assets/data-view-snL5QtHe.js +0 -4
- package/dist/showcase/assets/database-BarEYzaF.js +0 -1
- package/dist/showcase/assets/date-block-dTt9Rcfd.js +0 -1
- package/dist/showcase/assets/date-picker-BKzZeQGc.js +0 -1
- package/dist/showcase/assets/date-pickers-CYERVYRo.js +0 -73
- package/dist/showcase/assets/dense-info-hnKZfRnQ.js +0 -106
- package/dist/showcase/assets/design-system-consistency-D6qngflS.js +0 -264
- package/dist/showcase/assets/dialog-mO0FpHmT.js +0 -1
- package/dist/showcase/assets/dialog-xbuhPXmf.js +0 -1
- package/dist/showcase/assets/display-utilities-C4IflxoK.js +0 -267
- package/dist/showcase/assets/dist-BFChHTWK.js +0 -45
- package/dist/showcase/assets/dist-BkVfs5PY.js +0 -1
- package/dist/showcase/assets/dollar-sign-BES-Y4q8.js +0 -1
- package/dist/showcase/assets/download-CuEg-4DT.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C4Fcfk9z.js +0 -1
- package/dist/showcase/assets/dropzone-CrJ_k9fJ.js +0 -1
- package/dist/showcase/assets/earth-Cmx-Axig.js +0 -1
- package/dist/showcase/assets/ellipsis-Co7iTzp_.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-DMYJFiqQ.js +0 -1
- package/dist/showcase/assets/empty-Dw4ozyll.js +0 -1
- package/dist/showcase/assets/empty-item-DQwAsl0J.js +0 -49
- package/dist/showcase/assets/empty-state-BKvbnAy1.js +0 -1
- package/dist/showcase/assets/empty-state-Dv6f2fmP.js +0 -190
- package/dist/showcase/assets/enhanced-activities-Ctmivg46.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-D0AsPZ-b.js +0 -1
- package/dist/showcase/assets/esm-oZ6qcNoa.js +0 -2
- package/dist/showcase/assets/event-calendar-ChXdeehr.js +0 -138
- package/dist/showcase/assets/event-log-DeOCb2tT.js +0 -330
- package/dist/showcase/assets/example-CDvNeHNP.js +0 -1
- package/dist/showcase/assets/external-link-BaiCqIx3.js +0 -1
- package/dist/showcase/assets/eye-zG-fqYfd.js +0 -1
- package/dist/showcase/assets/feature-announcement-C2XGWNgI.js +0 -34
- package/dist/showcase/assets/file-sAbDfDuO.js +0 -1
- package/dist/showcase/assets/file-text-Boa9IOND.js +0 -1
- package/dist/showcase/assets/filter-layout-tZmZz-2B.js +0 -1
- package/dist/showcase/assets/filters-D8gEkDAE.js +0 -139
- package/dist/showcase/assets/flag-Cu20rcE4.js +0 -1
- package/dist/showcase/assets/folder-open-Cuk6KKLi.js +0 -1
- package/dist/showcase/assets/form-field-D8sL8tat.js +0 -1
- package/dist/showcase/assets/form-sizing-C3UG5WKC.js +0 -1
- package/dist/showcase/assets/format-CaRklI--.js +0 -1
- package/dist/showcase/assets/forms-CNk2oX65.js +0 -915
- package/dist/showcase/assets/funnel-B2kBprKZ.js +0 -1
- package/dist/showcase/assets/generic-oWYKMvId.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-GjucWEcD.js +0 -1
- package/dist/showcase/assets/gift-C_D_-5GL.js +0 -1
- package/dist/showcase/assets/giftcard-cards-B4DDGzdi.js +0 -85
- package/dist/showcase/assets/git-branch-DlTTLnjW.js +0 -1
- package/dist/showcase/assets/global-search-BjHAfaqS.js +0 -215
- package/dist/showcase/assets/global-search-hKQWHfrf.js +0 -1
- package/dist/showcase/assets/globe-D-gH7XQ2.js +0 -1
- package/dist/showcase/assets/gradient-card-jVxEisUP.js +0 -58
- package/dist/showcase/assets/hash-DySqEhph.js +0 -1
- package/dist/showcase/assets/header-B8hHkAVl.js +0 -1
- package/dist/showcase/assets/header-notifications-s180jNb1.js +0 -1
- package/dist/showcase/assets/heart-DDFCk8Tb.js +0 -1
- package/dist/showcase/assets/hooks-0A_FzYrt.js +0 -220
- package/dist/showcase/assets/house-BqE1X-Wf.js +0 -1
- package/dist/showcase/assets/icon-badge-CyiMjD7j.js +0 -37
- package/dist/showcase/assets/icon-badge-fJVhEHym.js +0 -1
- package/dist/showcase/assets/image-DCtwKHqe.js +0 -1
- package/dist/showcase/assets/inbox-DZA-pAGB.js +0 -1
- package/dist/showcase/assets/index-B37z19z3.js +0 -10
- package/dist/showcase/assets/index-CIsKgiSF.css +0 -2
- package/dist/showcase/assets/inertValue-SPYMBsOM.js +0 -1
- package/dist/showcase/assets/info-DrfDr3GT.js +0 -1
- package/dist/showcase/assets/inline-stat-BVJNx4xR.js +0 -1
- package/dist/showcase/assets/inline-stat-C3cWbSUK.js +0 -15
- package/dist/showcase/assets/input-CKTTGrnR.js +0 -1
- package/dist/showcase/assets/input-UHuWYPMF.js +0 -1
- package/dist/showcase/assets/input-group-BR_lU__a.js +0 -1
- package/dist/showcase/assets/input-group-iZaLbsTP.js +0 -47
- package/dist/showcase/assets/inputs-C7j8Xivm.js +0 -155
- package/dist/showcase/assets/installation-DYnTwaPR.js +0 -134
- package/dist/showcase/assets/invoice-header-D_0KvXQe.js +0 -36
- package/dist/showcase/assets/invoice-items-jcNb-sST.js +0 -36
- package/dist/showcase/assets/invoice-mini-DrZAbjPq.js +0 -14
- package/dist/showcase/assets/invoice-table-DlAw0U4U.js +0 -30
- package/dist/showcase/assets/isSameDay-Cl6v_syG.js +0 -1
- package/dist/showcase/assets/isToday-BBoFjSnJ.js +0 -1
- package/dist/showcase/assets/italic-j2U8krYa.js +0 -1
- package/dist/showcase/assets/item-B2WoC1SD.js +0 -139
- package/dist/showcase/assets/item-BMJ5hfT5.js +0 -1
- package/dist/showcase/assets/item-C_5-EHNK.js +0 -1
- package/dist/showcase/assets/kanban-Cv64Szxq.js +0 -188
- package/dist/showcase/assets/key-round-CORDYqE2.js +0 -1
- package/dist/showcase/assets/label-B0UjYqfw.js +0 -1
- package/dist/showcase/assets/languages-Njdo5y8i.js +0 -1
- package/dist/showcase/assets/layers-Dyew-8IP.js +0 -1
- package/dist/showcase/assets/layout-app-shell-DEZt0d84.js +0 -608
- package/dist/showcase/assets/layout-auth-BT84haSd.js +0 -790
- package/dist/showcase/assets/layout-containers-D6SP4vRB.js +0 -101
- package/dist/showcase/assets/layout-header-kLYjJnHz.js +0 -203
- package/dist/showcase/assets/layout-page-CmS4d8jw.js +0 -314
- package/dist/showcase/assets/layout-primitives-BW858Ymj.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eIDEoyzV.js +0 -224
- package/dist/showcase/assets/layout-users-HyZHQIov.js +0 -117
- package/dist/showcase/assets/layout-workspace-BrDwVUvn.js +0 -191
- package/dist/showcase/assets/lib-Dhty05ZR.js +0 -1
- package/dist/showcase/assets/list-checks-CcWjdDq8.js +0 -1
- package/dist/showcase/assets/lock-CwH3bXx5.js +0 -1
- package/dist/showcase/assets/lock-keyhole-BdBxeIkW.js +0 -1
- package/dist/showcase/assets/mail-Cn94c8yp.js +0 -1
- package/dist/showcase/assets/mail-check-D-q_vPxD.js +0 -1
- package/dist/showcase/assets/map-BfUZMScw.js +0 -124
- package/dist/showcase/assets/map-pin-BZB9GUXP.js +0 -1
- package/dist/showcase/assets/media-library-DguE2q94.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CyGplHOl.js +0 -1
- package/dist/showcase/assets/mentions-lmr_XmfN.js +0 -138
- package/dist/showcase/assets/menus-D0qYbzKk.js +0 -171
- package/dist/showcase/assets/message-square-7VpiUwcS.js +0 -1
- package/dist/showcase/assets/metadata-list-B8O2ljIS.js +0 -1
- package/dist/showcase/assets/metadata-list-BcYg9Ru3.js +0 -286
- package/dist/showcase/assets/metric-HzQnjCpO.js +0 -1
- package/dist/showcase/assets/metric-bar-Fr1TDnSu.js +0 -1
- package/dist/showcase/assets/metric-grid-CM-P894v.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-DqYH_U8e.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-DKRLzyXq.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-qMbAYBbk.js +0 -50
- package/dist/showcase/assets/metrics-comparison-GSWVebL_.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-Fj5QZoO3.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-BuyhiYDl.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-xNn4bjZc.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-W_ZYCffp.js +0 -42
- package/dist/showcase/assets/metrics-overview-D-km110k.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-odVtufFY.js +0 -54
- package/dist/showcase/assets/minus-DZsXg5PW.js +0 -1
- package/dist/showcase/assets/money-display-C7Hp2pT3.js +0 -1
- package/dist/showcase/assets/month-year-picker-Dnr4J0mO.js +0 -1
- package/dist/showcase/assets/navigation-0nrtBP5O.js +0 -90
- package/dist/showcase/assets/navigation-BaWNq9oa.js +0 -231
- package/dist/showcase/assets/navigation-extras-B22W1Vkk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-BFj7rmdZ.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-D_rltswa.js +0 -1
- package/dist/showcase/assets/overlays-CNfiB-zF.js +0 -408
- package/dist/showcase/assets/overlays-CuxuFGC8.js +0 -159
- package/dist/showcase/assets/overview-CBmdAWO6.js +0 -184
- package/dist/showcase/assets/package-BwwfLMWb.js +0 -1
- package/dist/showcase/assets/package-check-BepTKJLy.js +0 -1
- package/dist/showcase/assets/page-_JDFUWqe.js +0 -1
- package/dist/showcase/assets/page-action-button-Cf34I-B2.js +0 -1
- package/dist/showcase/assets/page-header-pdHFvyTo.js +0 -1
- package/dist/showcase/assets/pagination-Db1WJvjK.js +0 -42
- package/dist/showcase/assets/pagination-s8_MGk9D.js +0 -1
- package/dist/showcase/assets/paperclip-B9HQ47_2.js +0 -1
- package/dist/showcase/assets/password-input-D-eZWMGX.js +0 -1
- package/dist/showcase/assets/pencil-Dm53P6Db.js +0 -1
- package/dist/showcase/assets/phone-a4Ja9xAp.js +0 -1
- package/dist/showcase/assets/plus-DbOlx2x0.js +0 -1
- package/dist/showcase/assets/popover-B8qrRgt3.js +0 -1
- package/dist/showcase/assets/popover-Bm5wETUP.js +0 -1
- package/dist/showcase/assets/popover-menu-EH4P-BuI.js +0 -1
- package/dist/showcase/assets/products-n6VBSMDh.js +0 -423
- package/dist/showcase/assets/progress-D9r6PSCF.js +0 -1
- package/dist/showcase/assets/progress-DVnMcpeq.js +0 -18
- package/dist/showcase/assets/props-table-udnF7Z46.js +0 -1
- package/dist/showcase/assets/quote-qVQF4JC7.js +0 -1
- package/dist/showcase/assets/receipt-DaC4l-Mr.js +0 -1
- package/dist/showcase/assets/receipt-text-BnwhWHdU.js +0 -1
- package/dist/showcase/assets/refinement-guide-zBbAE-vw.js +0 -189
- package/dist/showcase/assets/refresh-cw-CX6ghqEe.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-Cjbd_80A.js +0 -1
- package/dist/showcase/assets/resource-D1fXD_Pt.js +0 -139
- package/dist/showcase/assets/resource-i2YV9aHL.js +0 -1
- package/dist/showcase/assets/resource-selector-card-CdQEPr9U.js +0 -43
- package/dist/showcase/assets/rich-text-editor-DJ2i03XV.js +0 -143
- package/dist/showcase/assets/rich-text-editor-Wh8r117d.js +0 -124
- package/dist/showcase/assets/rotate-ccw-2_FhUcdG.js +0 -1
- package/dist/showcase/assets/route-EGSdKgEp.js +0 -1
- package/dist/showcase/assets/save-nXKvyYEx.js +0 -1
- package/dist/showcase/assets/schema-form-D_9UkVBe.js +0 -327
- package/dist/showcase/assets/scroll-area-CB7X4JqZ.js +0 -1
- package/dist/showcase/assets/scroll-area-DCHN9iYj.js +0 -32
- package/dist/showcase/assets/section-C2ovQgbv.js +0 -1
- package/dist/showcase/assets/select-BTOraQSw.js +0 -1
- package/dist/showcase/assets/select-CE0BbUs7.js +0 -1
- package/dist/showcase/assets/send-CI0r12bX.js +0 -1
- package/dist/showcase/assets/separator-CmGfh7lI.js +0 -1
- package/dist/showcase/assets/separator-PhQTNRIB.js +0 -28
- package/dist/showcase/assets/settings-2-qkVb0lyz.js +0 -1
- package/dist/showcase/assets/settings-YXjlZ9zs.js +0 -1
- package/dist/showcase/assets/sheet-CFDUB2H1.js +0 -1
- package/dist/showcase/assets/shield-Dr_UeG6H.js +0 -1
- package/dist/showcase/assets/shield-alert-7rAVXg-K.js +0 -1
- package/dist/showcase/assets/shield-check-BbzHL-nM.js +0 -1
- package/dist/showcase/assets/shopping-bag-DeprN0fB.js +0 -1
- package/dist/showcase/assets/showcase-BU6Fvpg_.js +0 -132
- package/dist/showcase/assets/sidebar-CudnhnWN.js +0 -1
- package/dist/showcase/assets/sidebar.context-CZaDhRhh.js +0 -1
- package/dist/showcase/assets/skeleton-DD6VPVrv.js +0 -1
- package/dist/showcase/assets/skeleton-Dc5LvW7E.js +0 -29
- package/dist/showcase/assets/slider-BxvP9nxk.js +0 -1
- package/dist/showcase/assets/smart-card-B0Llbpiy.js +0 -1
- package/dist/showcase/assets/sonner-mszFoDWT.js +0 -22
- package/dist/showcase/assets/sortable.esm-J5bJPtH9.js +0 -5
- package/dist/showcase/assets/sparkles-CQSdl3Gw.js +0 -1
- package/dist/showcase/assets/spinner-BSxBn2qs.js +0 -49
- package/dist/showcase/assets/spinner-DJxoGJtq.js +0 -30
- package/dist/showcase/assets/spinner-DihTCcve.js +0 -1
- package/dist/showcase/assets/square-pen-CGMSA_p6.js +0 -1
- package/dist/showcase/assets/stacked-avatars-Ct8B4doW.js +0 -1
- package/dist/showcase/assets/star-DFlmmJdh.js +0 -1
- package/dist/showcase/assets/startOfDay-BedffeNt.js +0 -1
- package/dist/showcase/assets/styles-jR6uS97D.js +0 -1
- package/dist/showcase/assets/suggestions-DnjJ-U9n.js +0 -126
- package/dist/showcase/assets/switch-Dkojf4Yd.js +0 -1
- package/dist/showcase/assets/switch-bTb6CSLr.js +0 -1
- package/dist/showcase/assets/sync-rk8eFwoJ.js +0 -124
- package/dist/showcase/assets/table-4qIerTVI.js +0 -686
- package/dist/showcase/assets/table-BjMmmYd7.js +0 -1
- package/dist/showcase/assets/table-actions-DqofOI1V.js +0 -1
- package/dist/showcase/assets/tabs-BV6mMsfk.js +0 -19
- package/dist/showcase/assets/tabs-u2fkHRw8.js +0 -1
- package/dist/showcase/assets/tags-input-Cu_UwlwT.js +0 -1
- package/dist/showcase/assets/text-button-Fyy21evq.js +0 -1
- package/dist/showcase/assets/text-link-WRyY3ZZo.js +0 -1
- package/dist/showcase/assets/textarea-BbCxWNzV.js +0 -1
- package/dist/showcase/assets/textarea-CtD7JQsv.js +0 -1
- package/dist/showcase/assets/timelines-BBPQpCFX.js +0 -200
- package/dist/showcase/assets/toggle-group-B8mQ6wer.js +0 -1
- package/dist/showcase/assets/toggles-CCClWVXZ.js +0 -71
- package/dist/showcase/assets/toggles-group-DgCilPMo.js +0 -32
- package/dist/showcase/assets/tooltip-ClJCWWTI.js +0 -31
- package/dist/showcase/assets/trash-2-Cs7y4-K-.js +0 -1
- package/dist/showcase/assets/trending-up-spYhMxs6.js +0 -1
- package/dist/showcase/assets/truck-DENWgqxK.js +0 -1
- package/dist/showcase/assets/typography-DMmYNFQj.js +0 -223
- package/dist/showcase/assets/ui-badge-BJEtsa7X.js +0 -28
- package/dist/showcase/assets/ui-card-CrPKoi3P.js +0 -30
- package/dist/showcase/assets/ui-table-2HhDwPcu.js +0 -42
- package/dist/showcase/assets/upload-tray-CUZAErkI.js +0 -138
- package/dist/showcase/assets/use-layout-link-Co3GiFmb.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-DgIA0IXg.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CDdoyQgg.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-BT0RSjGM.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DFghnuRZ.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-vXyRoJ2x.js +0 -1
- package/dist/showcase/assets/useLabelableId-D__l5sQX.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-bZIaLWfE.js +0 -1
- package/dist/showcase/assets/useRender-BV0akLbc.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-dYriJrQP.js +0 -1
- package/dist/showcase/assets/useValueChanged-Dg0AWST0.js +0 -1
- package/dist/showcase/assets/user-B9eCi5Vl.js +0 -1
- package/dist/showcase/assets/user-plus-Uo4IAY7e.js +0 -1
- package/dist/showcase/assets/users-DLep-WjV.js +0 -1
- package/dist/showcase/assets/vendor-profile-BbcE51Pa.js +0 -37
- package/dist/showcase/assets/video-BasdlaQE.js +0 -1
- package/dist/showcase/assets/wrench-BYUVe1-z.js +0 -1
- package/dist/showcase/assets/x-Bx9ayVXr.js +0 -1
- package/dist/showcase/assets/zap-Mgu5HEtF.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_shared/chunk-CMqjfN_6.cjs"),t=require("../../../lib/strings.cjs"),n=require("../../../lib/utils.cjs"),r=require("../../../_shared/button-Bd5bEIiB.cjs"),i=require("../../../_shared/typography-CO9uwZhF.cjs"),a=require("../../../_shared/badge-BeSKxX1u.cjs"),o=require("../../../_shared/input-CB6hxh-5.cjs"),s=require("../../../_shared/avatar-BnKM_o2d.cjs");let c=require("react");c=e.t(c,1);let l=require("react/jsx-runtime"),u=require("lucide-react"),d=require("class-variance-authority"),f=require("@base-ui/react/tabs");var p={placeholder:`Search…`,clear:`Clear search`,loading:`Searching…`,emptyTitle:`No results for "{{query}}"`,emptyHint:`Try a shorter keyword or check the spelling.`,idleRecent:`Recent`,idleSuggestions:`Suggestions`,tabAll:`All`,footerNavigate:`navigate`,footerOpen:`open`,footerClose:`close`,resultsCount:`{{count}} results`,seeAll:`See all`};function m(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function h({results:e,query:t,onResultSelect:n,onClose:r}){let[i,a]=(0,c.useState)(`all`),[o,s]=(0,c.useState)(0);(0,c.useEffect)(()=>{a(`all`),s(0)},[t]);let l=(0,c.useMemo)(()=>{let t={};for(let n of e)(t[n.group]??=[]).push(n);return t},[e]),u=(0,c.useMemo)(()=>{let t={all:e.length};for(let[e,n]of Object.entries(l))t[e]=n.length;return t},[e.length,l]),d=(0,c.useMemo)(()=>{if(i===`all`)return l;let e=l[i];return e?{[i]:e}:{}},[l,i]),f=(0,c.useMemo)(()=>i===`all`?e.slice():l[i]??[],[i,l,e]),p=(0,c.useRef)(o);p.current=o;let m=(0,c.useRef)(f);return m.current=f,{grouped:l,tabCounts:u,activeTab:i,setActiveTab:e=>{a(e),s(0)},visibleGrouped:d,flat:f,activeIdx:o,setActiveIdx:s,setActiveById:e=>{let t=m.current.findIndex(t=>t.id===e);t>=0&&s(t)},onKeyDown:e=>{if(e.key===`ArrowDown`)e.preventDefault(),s(e=>Math.min(e+1,m.current.length-1));else if(e.key===`ArrowUp`)e.preventDefault(),s(e=>Math.max(e-1,0));else if(e.key===`Enter`){let t=m.current[p.current];t&&(e.preventDefault(),n?.(t))}else e.key===`Escape`&&r?.()},selectActive:()=>{let e=m.current[p.current];e&&n?.(e)}}}function g({title:e,hint:t}){return(0,l.jsxs)(`div`,{className:`px-6 py-12 text-center`,children:[(0,l.jsx)(`div`,{className:`mx-auto mb-3 inline-flex size-10 items-center justify-center rounded-full bg-muted/60`,children:(0,l.jsx)(u.Search,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})}),(0,l.jsx)(i.s,{weight:`medium`,children:e}),(0,l.jsx)(i.s,{size:`xs`,type:`secondary`,className:`mt-1`,children:t})]})}var _=`rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-xs leading-none text-muted-foreground`;function v({navigateLabel:e,openLabel:t,closeLabel:r,trailing:a,className:o}){return(0,l.jsxs)(`div`,{className:n.cn(`flex items-center justify-between border-t border-border/60 px-4 py-2`,o),children:[(0,l.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`kbd`,{className:_,children:`↑↓`}),(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,children:e}),(0,l.jsx)(`kbd`,{className:_,children:`↵`}),(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,children:t}),(0,l.jsx)(`kbd`,{className:_,children:`esc`}),(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,children:r})]}),a]})}function y({sections:e,fallbackIcons:t}){return(0,l.jsx)(`div`,{className:`space-y-4 px-2 py-3`,children:e.map((e,a)=>(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5`,children:[(0,l.jsx)(e.icon??(a===0?t?.recent??u.Clock:t?.suggestions??u.Sparkles),{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(i.s,{size:`xxs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e.label})]}),(0,l.jsx)(`ul`,{className:`m-0 list-none space-y-0.5 p-0`,children:e.items.map(e=>{let t=e.icon??u.Search;return(0,l.jsx)(`li`,{children:(0,l.jsxs)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`default`,onClick:e.onSelect,className:n.cn(`h-auto w-full justify-start gap-3 rounded-md px-3 py-1.5 text-left transition-colors`,`hover:bg-muted/50 focus-visible:bg-muted/50`),children:[(0,l.jsx)(t,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(i.s,{className:`flex-1 truncate`,children:e.label})]})},e.id)})})]},e.id))})}var b=c.forwardRef(function({value:e,onChange:t,onKeyDown:n,placeholder:i,clearLabel:a=`Clear search`,loading:s=!1,autoFocus:d=!1},f){let p=c.useRef(null);return c.useImperativeHandle(f,()=>p.current),c.useEffect(()=>{d&&p.current?.focus()},[d]),(0,l.jsxs)(`div`,{"data-component":`global-search-input`,"data-slot":`global-search-input`,className:`global-search-input--component flex items-center gap-space-md border-b border-border px-control py-row-y`,children:[(0,l.jsx)(u.Search,{className:`size-icon shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,l.jsx)(o.t,{ref:p,type:`text`,value:e,onChange:e=>t(e.target.value),onKeyDown:n,placeholder:i,"aria-label":i,autoComplete:`off`,spellCheck:!1,size:`small`,className:`h-auto border-0 bg-transparent px-0 py-0 text-sm shadow-none focus-visible:border-transparent focus-visible:ring-0`})}),s&&(0,l.jsx)(u.Loader2,{className:`size-icon shrink-0 animate-spin text-muted-foreground`,"aria-hidden":`true`}),!s&&!!e&&(0,l.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,onClick:()=>t(``),"aria-label":a,className:`size-control-sm rounded text-muted-foreground hover:bg-muted hover:text-foreground`,children:(0,l.jsx)(u.X,{className:`size-icon-sm`})})]})}),x={primary:`bg-primary/5 text-primary`,success:`bg-success/10 text-success`,warning:`bg-warning/20 text-warning-foreground`,info:`bg-info/10 text-info`,destructive:`bg-destructive/10 text-destructive`,default:`bg-muted text-muted-foreground`},S={primary:`bg-primary/10 text-primary`,success:`bg-success/10 text-success`,warning:`bg-warning/20 text-warning-foreground`,info:`bg-info/10 text-info`,destructive:`bg-destructive/10 text-destructive`,default:`bg-muted text-muted-foreground`};function C(e,t){let n=(t??``).trim();if(!n)return e;let r=e.toLowerCase(),i=n.toLowerCase(),a=r.indexOf(i);return a<0?e:(0,l.jsxs)(l.Fragment,{children:[e.slice(0,a),(0,l.jsx)(`mark`,{className:`rounded-sm bg-warning/40 px-0.5 text-foreground`,children:e.slice(a,a+n.length)}),e.slice(a+n.length)]})}function w({result:e,isActive:t=!1,query:o=``,onSelect:c,onMouseEnter:d,toneBg:f,toneAvatar:p,className:m}){let h=e.thumbnail?.icon,g={...x,...f},_={...S,...p};return(0,l.jsxs)(r.t,{type:`button`,"data-component":`global-search-result-row`,"data-slot":`global-search-result-row`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onMouseEnter:d,onClick:c,className:n.cn(`group/row relative h-auto w-full justify-start gap-space-lg rounded-md px-row-x py-row-y text-left transition-colors`,`global-search-result-row--component`,t?`bg-muted/60`:`hover:bg-muted/40`,m),children:[(0,l.jsx)(`div`,{className:`flex shrink-0 items-center`,children:e.avatar?(0,l.jsxs)(s.t,{className:n.cn(`size-avatar-sm`,_[e.avatar.tone??`default`]),children:[e.avatar.src&&(0,l.jsx)(s.o,{src:e.avatar.src,alt:e.title}),(0,l.jsx)(s.r,{className:n.cn(`text-xxs font-semibold`,_[e.avatar.tone??`default`]),children:e.avatar.initials})]}):h?(0,l.jsx)(`span`,{className:n.cn(`inline-flex size-avatar-sm items-center justify-center rounded-md`,g[e.thumbnail?.tone??`default`]),children:(0,l.jsx)(h,{className:`size-icon`,"aria-hidden":`true`})}):null}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-space-sm leading-tight`,children:[(0,l.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`semibold`,className:`truncate`,children:C(e.title,o)}),!!e.badge&&(0,l.jsx)(a.t,{variant:e.badge.tone===`destructive`?`error`:e.badge.tone,children:e.badge.label})]}),(()=>{let t=[];return e.subtitle&&t.push({key:`subtitle`,node:(0,l.jsx)(`span`,{children:C(e.subtitle,o)})}),e.meta?.forEach((e,r)=>{let i=e.icon;t.push({key:`m-${r}`,node:(0,l.jsxs)(`span`,{className:n.cn(`inline-flex items-center gap-1`,e.mono&&`font-mono tabular-nums`),children:[!!i&&(0,l.jsx)(i,{className:`size-3 shrink-0`,"aria-hidden":`true`}),e.label]})})}),e.timestamp&&t.push({key:`ts`,node:(0,l.jsx)(`span`,{className:`tabular-nums`,children:e.timestamp})}),e.tags?.forEach(e=>t.push({key:`t-${e}`,node:(0,l.jsx)(`span`,{children:e})})),e.rightValue&&t.push({key:`rv`,node:(0,l.jsxs)(`span`,{className:`font-medium tabular-nums text-foreground`,children:[e.rightValue,!!e.rightLabel&&(0,l.jsx)(`span`,{className:`ml-1 font-normal text-muted-foreground`,children:e.rightLabel.toLowerCase()})]})}),t.length===0?null:(0,l.jsx)(i.s,{size:`inherit`,type:`secondary`,className:`mt-space-2xs truncate text-xxs`,children:t.map((e,t)=>(0,l.jsxs)(`span`,{children:[t>0&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`mx-1.5 text-muted-foreground/60`,children:`·`}),e.node]},e.key))})})()]}),!!(e.rightValue||e.rightLabel)&&(0,l.jsx)(`div`,{className:`hidden shrink-0 items-center self-stretch border-l border-border/60 pl-row-x md:flex`,children:(0,l.jsxs)(`div`,{className:`flex flex-col items-end gap-0 text-right leading-tight`,children:[!!e.rightValue&&(0,l.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`semibold`,className:`whitespace-nowrap tabular-nums`,children:e.rightValue}),!!e.rightLabel&&(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,className:`mt-0.5 whitespace-nowrap`,children:e.rightLabel})]})}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:n.cn(`inline-flex size-control-sm shrink-0 items-center justify-center rounded-md transition-all`,t?`bg-foreground text-background opacity-100`:`text-muted-foreground opacity-0 group-hover/row:opacity-100`),children:(0,l.jsx)(u.ArrowRight,{className:`size-3.5`})})]})}function T({className:e,orientation:t=`horizontal`,...r}){return(0,l.jsx)(f.Tabs.Root,{"data-slot":`tabs`,"data-orientation":t,className:n.cn(`gap-2 group/tabs flex data-[orientation=horizontal]:flex-col`,e),...r})}var E=(0,d.cva)(`rounded-lg p-[3px] group-data-horizontal/tabs:h-9 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`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function D({className:e,variant:t=`default`,...r}){return(0,l.jsx)(f.Tabs.List,{"data-slot":`tabs-list`,"data-variant":t,className:n.cn(E({variant:t}),e),...r})}function O({className:e,...t}){return(0,l.jsx)(f.Tabs.Tab,{"data-slot":`tabs-trigger`,className:n.cn(`gap-1.5 rounded-md border border-transparent px-2 py-1 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-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 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 focus-visible:ring-[3px] focus-visible:outline-1 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-background data-active:text-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),...t})}function k({value:e,onValueChange:t,tabs:r,counts:a}){return(0,l.jsx)(`div`,{className:`global-search-tabs--component border-b border-border/60 px-3 py-2`,children:(0,l.jsx)(`div`,{className:`global-search-tabs--scroller -mx-1 overflow-x-auto px-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:(0,l.jsx)(T,{value:e,onValueChange:e=>t(e),className:`min-w-max`,children:(0,l.jsx)(D,{className:`global-search-tabs--list h-8 w-max min-w-max`,children:r.map(t=>{let r=e===t.value,o=a[t.value]??0;return(0,l.jsxs)(O,{value:t.value,className:`global-search-tabs--trigger shrink-0 gap-1.5 px-2.5 text-xs`,children:[(0,l.jsx)(`span`,{children:t.label}),(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,weight:`medium`,className:n.cn(`global-search-tabs--count rounded px-1 py-0 tabular-nums`,r?`bg-muted text-muted-foreground`:`bg-transparent text-muted-foreground/70`),children:o})]},t.value)})})})})})}function A({results:e=[],query:a,onQueryChange:o,onResultSelect:s,onClose:u,loading:d=!1,idleSections:f,groupLabels:_,autoFocus:x=!1,strings:S,slots:C,tabs:T,className:E}){let D=t.useStrings(p,S),O=h({results:e,query:a,onResultSelect:s,onClose:u}),A=!d&&a.trim().length>1&&e.length===0,j=!d&&a.trim().length<=1,M=c.useMemo(()=>{if(T)return T;let e=Object.keys(O.grouped);return[{value:`all`,label:D.tabAll},...e.map(e=>({value:e,label:_?.[e]??e}))]},[T,O.grouped,D.tabAll,_]);return(0,l.jsxs)(`div`,{"data-component":`global-search`,"data-slot":`global-search`,className:n.cn(`global-search--component`,`overflow-hidden rounded-xl border border-border bg-card shadow-2xl`,E),children:[C?.input??(0,l.jsx)(b,{value:a,onChange:o,onKeyDown:O.onKeyDown,placeholder:D.placeholder,clearLabel:D.clear,loading:d,autoFocus:x}),!d&&e.length>0&&(C?.tabs??(0,l.jsx)(k,{value:O.activeTab,onValueChange:O.setActiveTab,tabs:M,counts:O.tabCounts})),(0,l.jsxs)(`div`,{className:`max-h-[520px] overflow-y-auto`,children:[!!j&&(C?.idle??(f&&f.length>0?(0,l.jsx)(y,{sections:f}):null)),!!d&&(C?.loading??(0,l.jsx)(`div`,{className:`flex items-center justify-center px-6 py-12`,children:(0,l.jsx)(i.s,{type:`secondary`,children:D.loading})})),!!A&&(C?.empty??(0,l.jsx)(g,{title:m(D.emptyTitle,{query:a}),hint:D.emptyHint})),!d&&e.length>0&&(0,l.jsx)(`div`,{className:`px-space-md py-space-xs`,children:Object.entries(O.visibleGrouped).map(([e,t],o)=>(0,l.jsxs)(`div`,{className:n.cn(`pb-space-xs last:pb-0`,o>0&&`mt-space-md pt-space-xs`),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between px-row-x pb-space-2xs`,children:[(0,l.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,children:_?.[e]??e}),O.activeTab===`all`&&t.length>0&&(0,l.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:()=>O.setActiveTab(e),className:`h-auto rounded px-1 py-0 text-primary transition-colors hover:underline`,children:(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,weight:`medium`,className:`text-primary`,children:D.seeAll})})]}),(0,l.jsx)(`ul`,{className:`m-0 list-none space-y-0.5 p-0`,children:t.map(e=>{let t=O.flat[O.activeIdx]?.id===e.id,n={isActive:t,query:a,onSelect:()=>s?.(e)};return(0,l.jsx)(`li`,{children:C?.renderResult?C.renderResult(e,n):(0,l.jsx)(w,{result:e,isActive:t,query:a,onSelect:n.onSelect,onMouseEnter:()=>O.setActiveById(e.id),toneBg:C?.toneBg,toneAvatar:C?.toneAvatar})},e.id)})})]},e))})]}),C?.footer??(0,l.jsx)(v,{navigateLabel:D.footerNavigate,openLabel:D.footerOpen,closeLabel:D.footerClose,trailing:!j&&!A&&e.length>0?(0,l.jsx)(i.s,{tag:`span`,size:`xxs`,type:`secondary`,className:`tabular-nums`,children:m(D.resultsCount,{count:e.length})}):void 0})]})}exports.DEFAULT_TONE_AVATAR=S,exports.DEFAULT_TONE_BG=x,exports.GlobalSearch=A,exports.GlobalSearchEmptyState=g,exports.GlobalSearchFooter=v,exports.GlobalSearchIdleState=y,exports.GlobalSearchInput=b,exports.GlobalSearchResultRow=w,exports.GlobalSearchTabs=k,exports.defaultGlobalSearchStrings=p,exports.interpolateString=m,exports.useGlobalSearch=h;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_shared/chunk-CMqjfN_6.cjs"),t=require("../../../lib/strings.cjs"),n=require("../../../lib/utils.cjs"),r=require("../../../_shared/button-BMiPFJIb.cjs"),i=require("../../../_shared/typography-pzCKaFOc.cjs"),a=require("../../../_shared/badge-DvUA9Pr2.cjs"),o=require("../../../_shared/input-uuWeiagN.cjs"),s=require("../../../_shared/avatar-BnKM_o2d.cjs");let c=require("react");c=e.t(c,1);let l=require("react/jsx-runtime"),u=require("lucide-react"),d=require("class-variance-authority"),f=require("@base-ui/react/tabs");var p={placeholder:`Search…`,clear:`Clear search`,loading:`Searching…`,emptyTitle:`No results for "{{query}}"`,emptyHint:`Try a shorter keyword or check the spelling.`,idleRecent:`Recent`,idleSuggestions:`Suggestions`,tabAll:`All`,footerNavigate:`navigate`,footerOpen:`open`,footerClose:`close`,resultsCount:`{{count}} results`,seeAll:`See all`};function m(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function h({results:e,query:t,onResultSelect:n,onClose:r}){let[i,a]=(0,c.useState)(`all`),[o,s]=(0,c.useState)(0);(0,c.useEffect)(()=>{a(`all`),s(0)},[t]);let l=(0,c.useMemo)(()=>{let t={};for(let n of e)(t[n.group]??=[]).push(n);return t},[e]),u=(0,c.useMemo)(()=>{let t={all:e.length};for(let[e,n]of Object.entries(l))t[e]=n.length;return t},[e.length,l]),d=(0,c.useMemo)(()=>{if(i===`all`)return l;let e=l[i];return e?{[i]:e}:{}},[l,i]),f=(0,c.useMemo)(()=>i===`all`?e.slice():l[i]??[],[i,l,e]),p=(0,c.useRef)(o);p.current=o;let m=(0,c.useRef)(f);return m.current=f,{grouped:l,tabCounts:u,activeTab:i,setActiveTab:e=>{a(e),s(0)},visibleGrouped:d,flat:f,activeIdx:o,setActiveIdx:s,setActiveById:e=>{let t=m.current.findIndex(t=>t.id===e);t>=0&&s(t)},onKeyDown:e=>{if(e.key===`ArrowDown`)e.preventDefault(),s(e=>Math.min(e+1,m.current.length-1));else if(e.key===`ArrowUp`)e.preventDefault(),s(e=>Math.max(e-1,0));else if(e.key===`Enter`){let t=m.current[p.current];t&&(e.preventDefault(),n?.(t))}else e.key===`Escape`&&r?.()},selectActive:()=>{let e=m.current[p.current];e&&n?.(e)}}}function g({title:e,hint:t}){return(0,l.jsxs)(`div`,{className:`px-6 py-12 text-center`,children:[(0,l.jsx)(`div`,{className:`mx-auto mb-3 inline-flex size-10 items-center justify-center rounded-full bg-muted/60`,children:(0,l.jsx)(u.Search,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})}),(0,l.jsx)(i.s,{weight:`medium`,children:e}),(0,l.jsx)(i.s,{size:`xs`,type:`secondary`,className:`mt-1`,children:t})]})}var _=`rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-xs leading-none text-muted-foreground`;function v({navigateLabel:e,openLabel:t,closeLabel:r,trailing:a,className:o}){return(0,l.jsxs)(`div`,{className:n.cn(`flex items-center justify-between border-t border-border/60 px-4 py-2`,o),children:[(0,l.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`kbd`,{className:_,children:`↑↓`}),(0,l.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,children:e}),(0,l.jsx)(`kbd`,{className:_,children:`↵`}),(0,l.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,children:t}),(0,l.jsx)(`kbd`,{className:_,children:`esc`}),(0,l.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,children:r})]}),a]})}function y({sections:e,fallbackIcons:t}){return(0,l.jsx)(`div`,{className:`space-y-4 px-2 py-3`,children:e.map((e,a)=>(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5`,children:[(0,l.jsx)(e.icon??(a===0?t?.recent??u.Clock:t?.suggestions??u.Sparkles),{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e.label})]}),(0,l.jsx)(`ul`,{className:`m-0 list-none space-y-0.5 p-0`,children:e.items.map(e=>{let t=e.icon??u.Search;return(0,l.jsx)(`li`,{children:(0,l.jsxs)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`default`,onClick:e.onSelect,className:n.cn(`h-auto w-full justify-start gap-3 rounded-md px-3 py-1.5 text-left transition-colors`,`hover:bg-muted/50 focus-visible:bg-muted/50`),children:[(0,l.jsx)(t,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(i.s,{className:`flex-1 truncate`,children:e.label})]})},e.id)})})]},e.id))})}var b=c.forwardRef(function({value:e,onChange:t,onKeyDown:n,placeholder:i,clearLabel:a=`Clear search`,loading:s=!1,autoFocus:d=!1},f){let p=c.useRef(null);return c.useImperativeHandle(f,()=>p.current),c.useEffect(()=>{d&&p.current?.focus()},[d]),(0,l.jsxs)(`div`,{"data-component":`global-search-input`,"data-slot":`global-search-input`,className:`global-search-input--component flex items-center gap-space-md border-b border-border px-control py-row-y`,children:[(0,l.jsx)(u.Search,{className:`size-icon shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,l.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,l.jsx)(o.t,{ref:p,type:`text`,value:e,onChange:e=>t(e.target.value),onKeyDown:n,placeholder:i,"aria-label":i,autoComplete:`off`,spellCheck:!1,size:`small`,className:`h-auto border-0 bg-transparent px-0 py-0 text-sm shadow-none focus-visible:border-transparent focus-visible:ring-0`})}),s&&(0,l.jsx)(u.Loader2,{className:`size-icon shrink-0 animate-spin text-muted-foreground`,"aria-hidden":`true`}),!s&&!!e&&(0,l.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`icon-small`,onClick:()=>t(``),"aria-label":a,className:`size-control-sm rounded text-muted-foreground hover:bg-muted hover:text-foreground`,children:(0,l.jsx)(u.X,{className:`size-icon-sm`})})]})}),x={primary:`bg-primary/5 text-primary`,success:`bg-success/10 text-success`,warning:`bg-warning/20 text-warning-foreground`,info:`bg-info/10 text-info`,destructive:`bg-destructive/10 text-destructive`,default:`bg-muted text-muted-foreground`},S={primary:`bg-primary/10 text-primary`,success:`bg-success/10 text-success`,warning:`bg-warning/20 text-warning-foreground`,info:`bg-info/10 text-info`,destructive:`bg-destructive/10 text-destructive`,default:`bg-muted text-muted-foreground`};function C(e,t){let n=(t??``).trim();if(!n)return e;let r=e.toLowerCase(),i=n.toLowerCase(),a=r.indexOf(i);return a<0?e:(0,l.jsxs)(l.Fragment,{children:[e.slice(0,a),(0,l.jsx)(`mark`,{className:`rounded-sm bg-warning/40 px-0.5 text-foreground`,children:e.slice(a,a+n.length)}),e.slice(a+n.length)]})}function w({result:e,isActive:t=!1,query:o=``,onSelect:c,onMouseEnter:d,toneBg:f,toneAvatar:p,className:m}){let h=e.thumbnail?.icon,g={...x,...f},_={...S,...p};return(0,l.jsxs)(r.t,{type:`button`,"data-component":`global-search-result-row`,"data-slot":`global-search-result-row`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onMouseEnter:d,onClick:c,className:n.cn(`group/row relative h-auto w-full justify-start gap-space-lg rounded-md px-row-x py-row-y text-left transition-colors`,`global-search-result-row--component`,t?`bg-muted/60`:`hover:bg-muted/40`,m),children:[(0,l.jsx)(`div`,{className:`flex shrink-0 items-center`,children:e.avatar?(0,l.jsxs)(s.t,{className:n.cn(`size-avatar-sm`,_[e.avatar.tone??`default`]),children:[e.avatar.src&&(0,l.jsx)(s.o,{src:e.avatar.src,alt:e.title}),(0,l.jsx)(s.r,{className:n.cn(`text-xs font-semibold`,_[e.avatar.tone??`default`]),children:e.avatar.initials})]}):h?(0,l.jsx)(`span`,{className:n.cn(`inline-flex size-avatar-sm items-center justify-center rounded-md`,g[e.thumbnail?.tone??`default`]),children:(0,l.jsx)(h,{className:`size-icon`,"aria-hidden":`true`})}):null}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-space-sm leading-tight`,children:[(0,l.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`semibold`,className:`truncate`,children:C(e.title,o)}),!!e.badge&&(0,l.jsx)(a.t,{variant:e.badge.tone===`destructive`?`error`:e.badge.tone,children:e.badge.label})]}),(()=>{let t=[];return e.subtitle&&t.push({key:`subtitle`,node:(0,l.jsx)(`span`,{children:C(e.subtitle,o)})}),e.meta?.forEach((e,r)=>{let i=e.icon;t.push({key:`m-${r}`,node:(0,l.jsxs)(`span`,{className:n.cn(`inline-flex items-center gap-1`,e.mono&&`font-mono tabular-nums`),children:[!!i&&(0,l.jsx)(i,{className:`size-3 shrink-0`,"aria-hidden":`true`}),e.label]})})}),e.timestamp&&t.push({key:`ts`,node:(0,l.jsx)(`span`,{className:`tabular-nums`,children:e.timestamp})}),e.tags?.forEach(e=>t.push({key:`t-${e}`,node:(0,l.jsx)(`span`,{children:e})})),e.rightValue&&t.push({key:`rv`,node:(0,l.jsxs)(`span`,{className:`font-medium tabular-nums text-foreground`,children:[e.rightValue,!!e.rightLabel&&(0,l.jsx)(`span`,{className:`ml-1 font-normal text-muted-foreground`,children:e.rightLabel.toLowerCase()})]})}),t.length===0?null:(0,l.jsx)(i.s,{size:`inherit`,type:`secondary`,className:`mt-space-2xs truncate text-xs`,children:t.map((e,t)=>(0,l.jsxs)(`span`,{children:[t>0&&(0,l.jsx)(`span`,{"aria-hidden":`true`,className:`mx-1.5 text-muted-foreground/60`,children:`·`}),e.node]},e.key))})})()]}),!!(e.rightValue||e.rightLabel)&&(0,l.jsx)(`div`,{className:`hidden shrink-0 items-center self-stretch border-l border-border/60 pl-row-x md:flex`,children:(0,l.jsxs)(`div`,{className:`flex flex-col items-end gap-0 text-right leading-tight`,children:[!!e.rightValue&&(0,l.jsx)(i.s,{tag:`span`,size:`inherit`,weight:`semibold`,className:`whitespace-nowrap tabular-nums`,children:e.rightValue}),!!e.rightLabel&&(0,l.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,className:`mt-0.5 whitespace-nowrap`,children:e.rightLabel})]})}),(0,l.jsx)(`span`,{"aria-hidden":`true`,className:n.cn(`inline-flex size-control-sm shrink-0 items-center justify-center rounded-md transition-all`,t?`bg-foreground text-background opacity-100`:`text-muted-foreground opacity-0 group-hover/row:opacity-100`),children:(0,l.jsx)(u.ArrowRight,{className:`size-3.5`})})]})}function T({className:e,orientation:t=`horizontal`,...r}){return(0,l.jsx)(f.Tabs.Root,{"data-slot":`tabs`,"data-orientation":t,className:n.cn(`gap-2 group/tabs flex data-[orientation=horizontal]:flex-col`,e),...r})}var E=(0,d.cva)(`rounded-lg p-[3px] group-data-horizontal/tabs:h-9 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`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function D({className:e,variant:t=`default`,...r}){return(0,l.jsx)(f.Tabs.List,{"data-slot":`tabs-list`,"data-variant":t,className:n.cn(E({variant:t}),e),...r})}function O({className:e,...t}){return(0,l.jsx)(f.Tabs.Tab,{"data-slot":`tabs-trigger`,className:n.cn(`gap-1.5 rounded-md border border-transparent px-2 py-1 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-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 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 focus-visible:ring-[3px] focus-visible:outline-1 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-background data-active:text-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),...t})}function k({value:e,onValueChange:t,tabs:r,counts:a}){return(0,l.jsx)(`div`,{className:`global-search-tabs--component border-b border-border/60 px-3 py-2`,children:(0,l.jsx)(`div`,{className:`global-search-tabs--scroller -mx-1 overflow-x-auto px-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:(0,l.jsx)(T,{value:e,onValueChange:e=>t(e),className:`min-w-max`,children:(0,l.jsx)(D,{className:`global-search-tabs--list h-8 w-max min-w-max`,children:r.map(t=>{let r=e===t.value,o=a[t.value]??0;return(0,l.jsxs)(O,{value:t.value,className:`global-search-tabs--trigger shrink-0 gap-1.5 px-2.5 text-xs`,children:[(0,l.jsx)(`span`,{children:t.label}),(0,l.jsx)(i.s,{tag:`span`,size:`xs`,weight:`medium`,className:n.cn(`global-search-tabs--count rounded px-1 py-0 tabular-nums`,r?`bg-muted text-muted-foreground`:`bg-transparent text-muted-foreground/70`),children:o})]},t.value)})})})})})}function A({results:e=[],query:a,onQueryChange:o,onResultSelect:s,onClose:u,loading:d=!1,idleSections:f,groupLabels:_,autoFocus:x=!1,strings:S,slots:C,tabs:T,className:E}){let D=t.useStrings(p,S),O=h({results:e,query:a,onResultSelect:s,onClose:u}),A=!d&&a.trim().length>1&&e.length===0,j=!d&&a.trim().length<=1,M=c.useMemo(()=>{if(T)return T;let e=Object.keys(O.grouped);return[{value:`all`,label:D.tabAll},...e.map(e=>({value:e,label:_?.[e]??e}))]},[T,O.grouped,D.tabAll,_]);return(0,l.jsxs)(`div`,{"data-component":`global-search`,"data-slot":`global-search`,className:n.cn(`global-search--component`,`overflow-hidden rounded-xl border border-border bg-card shadow-2xl`,E),children:[C?.input??(0,l.jsx)(b,{value:a,onChange:o,onKeyDown:O.onKeyDown,placeholder:D.placeholder,clearLabel:D.clear,loading:d,autoFocus:x}),!d&&e.length>0&&(C?.tabs??(0,l.jsx)(k,{value:O.activeTab,onValueChange:O.setActiveTab,tabs:M,counts:O.tabCounts})),(0,l.jsxs)(`div`,{className:`max-h-[520px] overflow-y-auto`,children:[!!j&&(C?.idle??(f&&f.length>0?(0,l.jsx)(y,{sections:f}):null)),!!d&&(C?.loading??(0,l.jsx)(`div`,{className:`flex items-center justify-center px-6 py-12`,children:(0,l.jsx)(i.s,{type:`secondary`,children:D.loading})})),!!A&&(C?.empty??(0,l.jsx)(g,{title:m(D.emptyTitle,{query:a}),hint:D.emptyHint})),!d&&e.length>0&&(0,l.jsx)(`div`,{className:`px-space-md py-space-xs`,children:Object.entries(O.visibleGrouped).map(([e,t],o)=>(0,l.jsxs)(`div`,{className:n.cn(`pb-space-xs last:pb-0`,o>0&&`mt-space-md pt-space-xs`),children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between px-row-x pb-space-2xs`,children:[(0,l.jsx)(i.s,{size:`xs`,type:`secondary`,weight:`medium`,children:_?.[e]??e}),O.activeTab===`all`&&t.length>0&&(0,l.jsx)(r.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:()=>O.setActiveTab(e),className:`h-auto rounded px-1 py-0 text-primary transition-colors hover:underline`,children:(0,l.jsx)(i.s,{tag:`span`,size:`xs`,weight:`medium`,className:`text-primary`,children:D.seeAll})})]}),(0,l.jsx)(`ul`,{className:`m-0 list-none space-y-0.5 p-0`,children:t.map(e=>{let t=O.flat[O.activeIdx]?.id===e.id,n={isActive:t,query:a,onSelect:()=>s?.(e)};return(0,l.jsx)(`li`,{children:C?.renderResult?C.renderResult(e,n):(0,l.jsx)(w,{result:e,isActive:t,query:a,onSelect:n.onSelect,onMouseEnter:()=>O.setActiveById(e.id),toneBg:C?.toneBg,toneAvatar:C?.toneAvatar})},e.id)})})]},e))})]}),C?.footer??(0,l.jsx)(v,{navigateLabel:D.footerNavigate,openLabel:D.footerOpen,closeLabel:D.footerClose,trailing:!j&&!A&&e.length>0?(0,l.jsx)(i.s,{tag:`span`,size:`xs`,type:`secondary`,className:`tabular-nums`,children:m(D.resultsCount,{count:e.length})}):void 0})]})}exports.DEFAULT_TONE_AVATAR=S,exports.DEFAULT_TONE_BG=x,exports.GlobalSearch=A,exports.GlobalSearchEmptyState=g,exports.GlobalSearchFooter=v,exports.GlobalSearchIdleState=y,exports.GlobalSearchInput=b,exports.GlobalSearchResultRow=w,exports.GlobalSearchTabs=k,exports.defaultGlobalSearchStrings=p,exports.interpolateString=m,exports.useGlobalSearch=h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/features/global-search/global-search.strings.ts","../../../../src/components/features/global-search/hooks/use-global-search.ts","../../../../src/components/features/global-search/partials/global-search-empty-state.tsx","../../../../src/components/features/global-search/partials/global-search-footer.tsx","../../../../src/components/features/global-search/partials/global-search-idle-state.tsx","../../../../src/components/features/global-search/partials/global-search-input.tsx","../../../../src/components/features/global-search/partials/tone-palettes.ts","../../../../src/components/features/global-search/partials/global-search-result-row.tsx","../../../../src/components/ui/tabs.tsx","../../../../src/components/features/global-search/partials/global-search-tabs.tsx","../../../../src/components/features/global-search/global-search.tsx"],"sourcesContent":["/**\n * Strings for `GlobalSearch` and its partials. Consumers override via the\n * `strings` prop on `<GlobalSearch />`; values are deep-merged over these\n * defaults so partial overrides are safe.\n */\nexport interface GlobalSearchStrings {\n /** Placeholder copy for the search input. */\n placeholder: string;\n /** aria-label for the clear-search icon button. */\n clear: string;\n /** Loading-state copy. */\n loading: string;\n /** Empty-state title — uses {{query}} as a placeholder. */\n emptyTitle: string;\n /** Empty-state body copy. */\n emptyHint: string;\n /** Idle-state heading for \"Recent\" suggestions. */\n idleRecent: string;\n /** Idle-state heading for curated \"Suggestions\". */\n idleSuggestions: string;\n /** Tab label for the \"All\" tab. */\n tabAll: string;\n /** Footer \"navigate\" hint. */\n footerNavigate: string;\n /** Footer \"open\" hint. */\n footerOpen: string;\n /** Footer \"close\" hint. */\n footerClose: string;\n /** Trailing N results count. */\n resultsCount: string;\n /** \"See all\" group action — jumps to that tab. */\n seeAll: string;\n}\n\nexport const defaultGlobalSearchStrings: GlobalSearchStrings = {\n placeholder: 'Search…',\n clear: 'Clear search',\n loading: 'Searching…',\n emptyTitle: 'No results for \"{{query}}\"',\n emptyHint: 'Try a shorter keyword or check the spelling.',\n idleRecent: 'Recent',\n idleSuggestions: 'Suggestions',\n tabAll: 'All',\n footerNavigate: 'navigate',\n footerOpen: 'open',\n footerClose: 'close',\n resultsCount: '{{count}} results',\n seeAll: 'See all',\n};\n\n/** Replace `{{key}}` tokens with values from `params`. */\nexport function interpolateString(\n template: string,\n params: Record<string, string | number>,\n): string {\n return template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, key) => {\n const v = params[key];\n return v === undefined ? match : String(v);\n });\n}\n","/**\n * useGlobalSearch — headless state machine for `<GlobalSearch />`.\n *\n * Owns the active-row index, active tab, and the keyboard-navigation\n * handler. Returns the derived flat list (results filtered by tab) so\n * consumers can render entirely custom UIs against the same state.\n *\n * Usage:\n * const search = useGlobalSearch({ results, query });\n * <input onKeyDown={search.onKeyDown} />\n * {search.flat.map((r, i) => <Row active={i === search.activeIdx} … />)}\n */\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { GlobalSearchResult } from '../global-search.types';\n\nexport interface UseGlobalSearchOptions<TGroup extends string = string> {\n results: ReadonlyArray<GlobalSearchResult<TGroup>>;\n query: string;\n /** Fires when the user activates a row (Enter or click). */\n onResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n /** Fires when the user presses Escape. */\n onClose?: () => void;\n}\n\nexport interface UseGlobalSearchReturn<TGroup extends string = string> {\n /** Results bucketed by group, in insertion order. */\n grouped: Record<string, GlobalSearchResult<TGroup>[]>;\n /** Result count per tab (`all` plus each group key). */\n tabCounts: Record<string, number>;\n /** Currently-selected tab. */\n activeTab: 'all' | TGroup;\n /** Set the active tab — also resets the active index. */\n setActiveTab: (tab: 'all' | TGroup) => void;\n /** Filtered grouped map respecting the active tab. */\n visibleGrouped: Record<string, GlobalSearchResult<TGroup>[]>;\n /** Flat ordered list matching what is currently rendered. */\n flat: GlobalSearchResult<TGroup>[];\n /** Index into `flat` of the currently-highlighted row. */\n activeIdx: number;\n setActiveIdx: (i: number) => void;\n /** Programmatically activate a result by id. */\n setActiveById: (id: string) => void;\n /** Bind to the search input's `onKeyDown` for arrow / enter / escape support. */\n onKeyDown: (e: React.KeyboardEvent) => void;\n /** Activate the row at `activeIdx`. */\n selectActive: () => void;\n}\n\nexport function useGlobalSearch<TGroup extends string = string>({\n results,\n query,\n onResultSelect,\n onClose,\n}: UseGlobalSearchOptions<TGroup>): UseGlobalSearchReturn<TGroup> {\n const [activeTab, setActiveTabState] =\n useState<'all' | TGroup>('all');\n const [activeIdx, setActiveIdx] = useState(0);\n\n // Reset both the active row and the active tab when the query changes\n // (so a fresh query never inherits a stale highlight or filter).\n useEffect(() => {\n setActiveTabState('all');\n setActiveIdx(0);\n }, [query]);\n\n const grouped = useMemo(() => {\n const buckets: Record<string, GlobalSearchResult<TGroup>[]> = {};\n for (const r of results) {\n (buckets[r.group] ??= []).push(r);\n }\n return buckets;\n }, [results]);\n\n const tabCounts = useMemo(() => {\n const counts: Record<string, number> = { all: results.length };\n for (const [k, v] of Object.entries(grouped)) counts[k] = v.length;\n return counts;\n }, [results.length, grouped]);\n\n const visibleGrouped = useMemo(() => {\n if (activeTab === 'all') return grouped;\n const sub = grouped[activeTab as string];\n return sub ? ({ [activeTab as string]: sub } as Record<string, GlobalSearchResult<TGroup>[]>) : {};\n }, [grouped, activeTab]);\n\n const flat = useMemo(() => {\n if (activeTab === 'all') return results.slice();\n return grouped[activeTab as string] ?? [];\n }, [activeTab, grouped, results]);\n\n const activeIdxRef = useRef(activeIdx);\n activeIdxRef.current = activeIdx;\n const flatRef = useRef(flat);\n flatRef.current = flat;\n\n const setActiveTab = (tab: 'all' | TGroup) => {\n setActiveTabState(tab);\n setActiveIdx(0);\n };\n\n const setActiveById = (id: string) => {\n const idx = flatRef.current.findIndex((r) => r.id === id);\n if (idx >= 0) setActiveIdx(idx);\n };\n\n const selectActive = () => {\n const item = flatRef.current[activeIdxRef.current];\n if (item) onResultSelect?.(item);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setActiveIdx((i) => Math.min(i + 1, flatRef.current.length - 1));\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setActiveIdx((i) => Math.max(i - 1, 0));\n } else if (e.key === 'Enter') {\n const item = flatRef.current[activeIdxRef.current];\n if (item) {\n e.preventDefault();\n onResultSelect?.(item);\n }\n } else if (e.key === 'Escape') {\n onClose?.();\n }\n };\n\n return {\n grouped,\n tabCounts,\n activeTab,\n setActiveTab,\n visibleGrouped,\n flat,\n activeIdx,\n setActiveIdx,\n setActiveById,\n onKeyDown,\n selectActive,\n };\n}\n","/**\n * Default empty-state body — shown when the query yields no results.\n * Override entirely via `slots.empty`.\n */\nimport { Search } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\n\nexport interface GlobalSearchEmptyStateProps {\n title: string;\n hint: string;\n}\n\nexport function GlobalSearchEmptyState({ title, hint }: GlobalSearchEmptyStateProps) {\n return (\n <div className=\"px-6 py-12 text-center\">\n <div className=\"mx-auto mb-3 inline-flex size-10 items-center justify-center rounded-full bg-muted/60\">\n <Search className=\"size-4 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n <Text weight=\"medium\">\n {title}\n </Text>\n <Text size=\"xs\" type=\"secondary\" className=\"mt-1\">\n {hint}\n </Text>\n </div>\n );\n}\n","/**\n * GlobalSearchFooter — keyboard-hint strip below the result list.\n * Override entirely via `slots.footer`.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nconst KBD_CLASS =\n 'rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-xs leading-none text-muted-foreground';\n\nexport interface GlobalSearchFooterProps {\n navigateLabel: string;\n openLabel: string;\n closeLabel: string;\n /** Trailing right-aligned content (e.g. \"3 results\"). */\n trailing?: React.ReactNode;\n className?: string;\n}\n\nexport function GlobalSearchFooter({\n navigateLabel,\n openLabel,\n closeLabel,\n trailing,\n className,\n}: GlobalSearchFooterProps) {\n return (\n <div\n className={cn(\n 'flex items-center justify-between border-t border-border/60 px-4 py-2',\n className,\n )}\n >\n <span className=\"flex items-center gap-2\">\n <kbd className={KBD_CLASS}>↑↓</kbd>\n <Text tag=\"span\" size=\"xxs\" type=\"secondary\">\n {navigateLabel}\n </Text>\n <kbd className={KBD_CLASS}>↵</kbd>\n <Text tag=\"span\" size=\"xxs\" type=\"secondary\">\n {openLabel}\n </Text>\n <kbd className={KBD_CLASS}>esc</kbd>\n <Text tag=\"span\" size=\"xxs\" type=\"secondary\">\n {closeLabel}\n </Text>\n </span>\n {trailing}\n </div>\n );\n}\n","/**\n * Default idle-state body — shown when the query is too short.\n * Renders consumer-supplied \"Recent\" + \"Suggestions\" sections.\n */\nimport { Clock, Search, Sparkles } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { GlobalSearchIdleSection } from '../global-search.types';\n\nexport interface GlobalSearchIdleStateProps {\n sections: ReadonlyArray<GlobalSearchIdleSection>;\n /** Optional override for the heading icon when missing on a section. */\n fallbackIcons?: { recent?: React.ElementType; suggestions?: React.ElementType };\n}\n\nexport function GlobalSearchIdleState({\n sections,\n fallbackIcons,\n}: GlobalSearchIdleStateProps) {\n return (\n <div className=\"space-y-4 px-2 py-3\">\n {sections.map((section, idx) => {\n const HeadingIcon =\n section.icon ??\n (idx === 0\n ? fallbackIcons?.recent ?? Clock\n : fallbackIcons?.suggestions ?? Sparkles);\n return (\n <div key={section.id}>\n <div className=\"flex items-center gap-2 px-3 pb-1.5\">\n <HeadingIcon\n className=\"size-3.5 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n <Text\n size=\"xxs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"uppercase tracking-wider\"\n >\n {section.label}\n </Text>\n </div>\n <ul className=\"m-0 list-none space-y-0.5 p-0\">\n {section.items.map((item) => {\n const ItemIcon = item.icon ?? Search;\n return (\n <li key={item.id}>\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"default\"\n onClick={item.onSelect}\n className={cn(\n 'h-auto w-full justify-start gap-3 rounded-md px-3 py-1.5 text-left transition-colors',\n 'hover:bg-muted/50 focus-visible:bg-muted/50',\n )}\n >\n <ItemIcon\n className=\"size-3.5 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n <Text className=\"flex-1 truncate\">\n {item.label}\n </Text>\n </Button>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </div>\n );\n}\n","/**\n * GlobalSearchInput — search row at the top of the popover.\n *\n * Just the input + clear button + optional loading spinner. Keyboard\n * navigation is handled by the consumer wiring `useGlobalSearch`'s\n * `onKeyDown` handler.\n */\nimport { Loader2, Search, X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Input } from '@/components/base/forms/fields';\n\nexport interface GlobalSearchInputProps {\n value: string;\n onChange: (value: string) => void;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n placeholder?: string;\n clearLabel?: string;\n loading?: boolean;\n autoFocus?: boolean;\n}\n\nexport const GlobalSearchInput = React.forwardRef<HTMLInputElement, GlobalSearchInputProps>(\n function GlobalSearchInput(\n {\n value,\n onChange,\n onKeyDown,\n placeholder,\n clearLabel = 'Clear search',\n loading = false,\n autoFocus = false,\n },\n ref,\n ) {\n const innerRef = React.useRef<HTMLInputElement | null>(null);\n React.useImperativeHandle(ref, () => innerRef.current as HTMLInputElement);\n\n React.useEffect(() => {\n if (autoFocus) innerRef.current?.focus();\n }, [autoFocus]);\n\n return (\n <div\n data-component=\"global-search-input\"\n data-slot=\"global-search-input\"\n className=\"global-search-input--component flex items-center gap-space-md border-b border-border px-control py-row-y\"\n >\n <Search className=\"size-icon shrink-0 text-muted-foreground\" aria-hidden=\"true\" />\n <div className=\"min-w-0 flex-1\">\n <Input\n ref={innerRef}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n autoComplete=\"off\"\n spellCheck={false}\n size=\"small\"\n className=\"h-auto border-0 bg-transparent px-0 py-0 text-sm shadow-none focus-visible:border-transparent focus-visible:ring-0\"\n />\n </div>\n {loading && (\n <Loader2\n className=\"size-icon shrink-0 animate-spin text-muted-foreground\"\n aria-hidden=\"true\"\n />\n )}\n {!loading && !!value && (\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n onClick={() => onChange('')}\n aria-label={clearLabel}\n className=\"size-control-sm rounded text-muted-foreground hover:bg-muted hover:text-foreground\"\n >\n <X className=\"size-icon-sm\" />\n </Button>\n )}\n </div>\n );\n },\n);\n","/**\n * Default tone palettes for thumbnails and avatars.\n *\n * Consumers can override per-call via `slots.toneBg` / `slots.toneAvatar`.\n */\nimport type { GlobalSearchTone } from '../global-search.types';\n\nexport const DEFAULT_TONE_BG: Record<GlobalSearchTone, string> = {\n primary: 'bg-primary/5 text-primary',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/20 text-warning-foreground',\n info: 'bg-info/10 text-info',\n destructive: 'bg-destructive/10 text-destructive',\n default: 'bg-muted text-muted-foreground',\n};\n\nexport const DEFAULT_TONE_AVATAR: Record<GlobalSearchTone, string> = {\n primary: 'bg-primary/10 text-primary',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/20 text-warning-foreground',\n info: 'bg-info/10 text-info',\n destructive: 'bg-destructive/10 text-destructive',\n default: 'bg-muted text-muted-foreground',\n};\n","/**\n * GlobalSearchResultRow — single rich result card.\n *\n * Layout: [thumbnail] [title + status pill / muted secondary line / meta] [right-value column] [chevron].\n *\n * Exported as a partial so consumers can:\n * 1. Override an individual row via `slots.renderResult` and reuse this component for the others.\n * 2. Use it standalone in custom search UIs that don't need the full GlobalSearch shell.\n */\nimport { ArrowRight } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type {\n GlobalSearchResult,\n GlobalSearchTone,\n} from '../global-search.types';\nimport {\n DEFAULT_TONE_AVATAR,\n DEFAULT_TONE_BG,\n} from './tone-palettes';\n\nexport interface GlobalSearchResultRowProps<TGroup extends string = string> {\n result: GlobalSearchResult<TGroup>;\n /** Highlighted via keyboard nav. */\n isActive?: boolean;\n query?: string;\n onSelect?: () => void;\n onMouseEnter?: () => void;\n /** Override tone palette. Keys not provided fall back to defaults. */\n toneBg?: Partial<Record<GlobalSearchTone, string>>;\n toneAvatar?: Partial<Record<GlobalSearchTone, string>>;\n className?: string;\n}\n\nfunction highlightMatch(text: string, query: string | undefined): React.ReactNode {\n const q = (query ?? '').trim();\n if (!q) return text;\n const lower = text.toLowerCase();\n const ql = q.toLowerCase();\n const i = lower.indexOf(ql);\n if (i < 0) return text;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"rounded-sm bg-warning/40 px-0.5 text-foreground\">\n {text.slice(i, i + q.length)}\n </mark>\n {text.slice(i + q.length)}\n </>\n );\n}\n\nexport function GlobalSearchResultRow<TGroup extends string = string>({\n result,\n isActive = false,\n query = '',\n onSelect,\n onMouseEnter,\n toneBg,\n toneAvatar,\n className,\n}: GlobalSearchResultRowProps<TGroup>) {\n const ThumbIcon = result.thumbnail?.icon;\n const bg = { ...DEFAULT_TONE_BG, ...toneBg };\n const av = { ...DEFAULT_TONE_AVATAR, ...toneAvatar };\n\n return (\n <Button\n type=\"button\"\n data-component=\"global-search-result-row\"\n data-slot=\"global-search-result-row\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"small\"\n onMouseEnter={onMouseEnter}\n onClick={onSelect}\n className={cn(\n 'group/row relative h-auto w-full justify-start gap-space-lg rounded-md px-row-x py-row-y text-left transition-colors',\n 'global-search-result-row--component',\n isActive ? 'bg-muted/60' : 'hover:bg-muted/40',\n className,\n )}\n >\n {/* Thumbnail / Avatar */}\n <div className=\"flex shrink-0 items-center\">\n {result.avatar ? (\n <Avatar className={cn('size-avatar-sm', av[result.avatar.tone ?? 'default'])}>\n {result.avatar.src && (\n <AvatarImage src={result.avatar.src} alt={result.title} />\n )}\n <AvatarFallback\n className={cn('text-xxs font-semibold', av[result.avatar.tone ?? 'default'])}\n >\n {result.avatar.initials}\n </AvatarFallback>\n </Avatar>\n ) : ThumbIcon ? (\n <span\n className={cn(\n 'inline-flex size-avatar-sm items-center justify-center rounded-md',\n bg[result.thumbnail?.tone ?? 'default'],\n )}\n >\n <ThumbIcon className=\"size-icon\" aria-hidden=\"true\" />\n </span>\n ) : null}\n </div>\n\n {/* Body */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-space-sm leading-tight\">\n <Text tag=\"span\" size=\"inherit\" weight=\"semibold\" className=\"truncate\">\n {highlightMatch(result.title, query)}\n </Text>\n {!!result.badge && (\n <Badge\n variant={\n result.badge.tone === 'destructive'\n ? 'error'\n : result.badge.tone\n }\n >\n {result.badge.label}\n </Badge>\n )}\n </div>\n {(() => {\n const pieces: Array<{ key: string; node: React.ReactNode }> = [];\n if (result.subtitle)\n pieces.push({\n key: 'subtitle',\n node: <span>{highlightMatch(result.subtitle, query)}</span>,\n });\n result.meta?.forEach((m, i) => {\n const Icon = m.icon;\n pieces.push({\n key: `m-${i}`,\n node: (\n <span\n className={cn(\n 'inline-flex items-center gap-1',\n m.mono && 'font-mono tabular-nums',\n )}\n >\n {!!Icon && <Icon className=\"size-3 shrink-0\" aria-hidden=\"true\" />}\n {m.label}\n </span>\n ),\n });\n });\n if (result.timestamp)\n pieces.push({\n key: 'ts',\n node: <span className=\"tabular-nums\">{result.timestamp}</span>,\n });\n result.tags?.forEach((tag) =>\n pieces.push({ key: `t-${tag}`, node: <span>{tag}</span> }),\n );\n if (result.rightValue) {\n pieces.push({\n key: 'rv',\n node: (\n <span className=\"font-medium tabular-nums text-foreground\">\n {result.rightValue}\n {!!result.rightLabel && (\n <span className=\"ml-1 font-normal text-muted-foreground\">\n {result.rightLabel.toLowerCase()}\n </span>\n )}\n </span>\n ),\n });\n }\n if (pieces.length === 0) return null;\n return (\n <Text size=\"inherit\" type=\"secondary\" className=\"mt-space-2xs truncate text-xxs\">\n {pieces.map((p, i) => (\n <span key={p.key}>\n {i > 0 && (\n <span\n aria-hidden=\"true\"\n className=\"mx-1.5 text-muted-foreground/60\"\n >\n ·\n </span>\n )}\n {p.node}\n </span>\n ))}\n </Text>\n );\n })()}\n </div>\n\n {/* Right value column — only when value/label set */}\n {!!(result.rightValue || result.rightLabel) && (\n <div className=\"hidden shrink-0 items-center self-stretch border-l border-border/60 pl-row-x md:flex\">\n <div className=\"flex flex-col items-end gap-0 text-right leading-tight\">\n {!!result.rightValue && (\n <Text\n tag=\"span\"\n size=\"inherit\"\n weight=\"semibold\"\n className=\"whitespace-nowrap tabular-nums\"\n >\n {result.rightValue}\n </Text>\n )}\n {!!result.rightLabel && (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"mt-0.5 whitespace-nowrap\"\n >\n {result.rightLabel}\n </Text>\n )}\n </div>\n </div>\n )}\n\n {/* Trailing chevron */}\n <span\n aria-hidden=\"true\"\n className={cn(\n 'inline-flex size-control-sm shrink-0 items-center justify-center rounded-md transition-all',\n isActive\n ? 'bg-foreground text-background opacity-100'\n : 'text-muted-foreground opacity-0 group-hover/row:opacity-100',\n )}\n >\n <ArrowRight className=\"size-3.5\" />\n </span>\n </Button>\n );\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\"\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-2 group/tabs flex data-[orientation=horizontal]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"rounded-lg p-[3px] group-data-horizontal/tabs:h-9 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-1 bg-transparent\",\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 \"gap-1.5 rounded-md border border-transparent px-2 py-1 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-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 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 focus-visible:ring-[3px] focus-visible:outline-1 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 \"data-active:bg-background data-active:text-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 * GlobalSearchTabs — segmented filter strip above the result list.\n *\n * Wraps `base/navigation/tabs` for app-consistent styling and adds a\n * subtle count pill next to each label.\n */\nimport { Tabs, TabsList, TabsTrigger } from '@/components/base/navigation/tabs';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface GlobalSearchTabsProps<TGroup extends string = string> {\n /** Currently-selected tab. */\n value: 'all' | TGroup;\n onValueChange: (value: 'all' | TGroup) => void;\n tabs: ReadonlyArray<{ value: 'all' | TGroup; label: string }>;\n counts: Record<string, number>;\n}\n\nexport function GlobalSearchTabs<TGroup extends string = string>({\n value,\n onValueChange,\n tabs,\n counts,\n}: GlobalSearchTabsProps<TGroup>) {\n return (\n <div className=\"global-search-tabs--component border-b border-border/60 px-3 py-2\">\n <div className=\"global-search-tabs--scroller -mx-1 overflow-x-auto px-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">\n <Tabs\n value={value as string}\n onValueChange={(v) => onValueChange(v as 'all' | TGroup)}\n className=\"min-w-max\"\n >\n <TabsList className=\"global-search-tabs--list h-8 w-max min-w-max\">\n {tabs.map((tab) => {\n const isActive = value === tab.value;\n const count = counts[tab.value as string] ?? 0;\n return (\n <TabsTrigger\n key={tab.value as string}\n value={tab.value as string}\n className=\"global-search-tabs--trigger shrink-0 gap-1.5 px-2.5 text-xs\"\n >\n <span>{tab.label}</span>\n <Text\n tag=\"span\"\n size=\"xxs\"\n weight=\"medium\"\n className={cn(\n 'global-search-tabs--count rounded px-1 py-0 tabular-nums',\n isActive\n ? 'bg-muted text-muted-foreground'\n : 'bg-transparent text-muted-foreground/70',\n )}\n >\n {count}\n </Text>\n </TabsTrigger>\n );\n })}\n </TabsList>\n </Tabs>\n </div>\n </div>\n );\n}\n","/**\n * GlobalSearch — framework-agnostic spotlight overlay for app-wide search.\n *\n * Composition seams:\n * - `strings` — deep-partial override of the default copy\n * - `slots` — replace any region (input, tabs, idle, empty, loading, footer)\n * - `slots.renderResult` — full per-row override\n * - `slots.toneBg / toneAvatar` — replace tone palettes\n *\n * Headless usage:\n * - Call `useGlobalSearch({ results, query })` directly to drive a\n * completely custom UI against the same selection state machine.\n *\n * Framework-agnostic:\n * - No router import, no i18n SDK import. Routing is up to the consumer\n * via `onResultSelect`. Strings live in the `strings` prop.\n * - The library no longer ships `adapters/$framework/`. Consumers map\n * their router (Inertia, Tanstack Router, RR7, Next, …) to\n * `onResultSelect(result)` directly at the call site.\n */\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultGlobalSearchStrings,\n interpolateString,\n type GlobalSearchStrings,\n} from './global-search.strings';\nimport type {\n GlobalSearchIdleSection,\n GlobalSearchResult,\n GlobalSearchSlots,\n GlobalSearchTab,\n} from './global-search.types';\nimport { useGlobalSearch } from './hooks/use-global-search';\nimport {\n GlobalSearchEmptyState,\n GlobalSearchFooter,\n GlobalSearchIdleState,\n GlobalSearchInput,\n GlobalSearchResultRow,\n GlobalSearchTabs,\n} from './partials';\n\nexport interface GlobalSearchProps<TGroup extends string = string> {\n /** Result list. The component renders these grouped by `result.group`. */\n results?: ReadonlyArray<GlobalSearchResult<TGroup>>;\n /** Current query value (controlled). */\n query: string;\n /** Query change callback. */\n onQueryChange: (q: string) => void;\n /** Activation callback — fires on row click or Enter. */\n onResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n /** Escape-key callback. */\n onClose?: () => void;\n /** Loading flag — switches the input spinner and renders the loading slot. */\n loading?: boolean;\n /** Idle-state sections (Recent / Suggestions / …). */\n idleSections?: ReadonlyArray<GlobalSearchIdleSection>;\n /** Override default group labels in the tab strip. */\n groupLabels?: Partial<Record<TGroup, string>>;\n /** Auto-focus the input on mount. */\n autoFocus?: boolean;\n /** Replace any portion of the default copy. */\n strings?: StringsProp<GlobalSearchStrings>;\n /** Replace any portion of the layout. */\n slots?: GlobalSearchSlots<TGroup>;\n /** Custom tab list — overrides the auto-generated `All + groups`. */\n tabs?: ReadonlyArray<GlobalSearchTab<TGroup>>;\n /** Wrapper className. */\n className?: string;\n}\n\nexport function GlobalSearch<TGroup extends string = string>({\n results = [],\n query,\n onQueryChange,\n onResultSelect,\n onClose,\n loading = false,\n idleSections,\n groupLabels,\n autoFocus = false,\n strings: stringsProp,\n slots,\n tabs,\n className,\n}: GlobalSearchProps<TGroup>) {\n const strings = useStrings(defaultGlobalSearchStrings, stringsProp);\n\n const search = useGlobalSearch<TGroup>({\n results,\n query,\n onResultSelect,\n onClose,\n });\n\n const isEmpty =\n !loading && query.trim().length > 1 && results.length === 0;\n const isIdle = !loading && query.trim().length <= 1;\n\n const resolvedTabs = React.useMemo<\n ReadonlyArray<GlobalSearchTab<TGroup>>\n >(() => {\n if (tabs) return tabs;\n const groupKeys = Object.keys(search.grouped) as TGroup[];\n return [\n { value: 'all', label: strings.tabAll },\n ...groupKeys.map((key) => ({\n value: key,\n label: groupLabels?.[key] ?? key,\n })),\n ];\n }, [tabs, search.grouped, strings.tabAll, groupLabels]);\n\n return (\n <div\n data-component=\"global-search\"\n data-slot=\"global-search\"\n className={cn('global-search--component', \n 'overflow-hidden rounded-xl border border-border bg-card shadow-2xl',\n className,\n )}\n >\n {slots?.input ?? (\n <GlobalSearchInput\n value={query}\n onChange={onQueryChange}\n onKeyDown={search.onKeyDown}\n placeholder={strings.placeholder}\n clearLabel={strings.clear}\n loading={loading}\n autoFocus={autoFocus}\n />\n )}\n\n {!loading && results.length > 0 && (\n slots?.tabs ?? (\n <GlobalSearchTabs<TGroup>\n value={search.activeTab}\n onValueChange={search.setActiveTab}\n tabs={resolvedTabs}\n counts={search.tabCounts}\n />\n )\n )}\n\n <div className=\"max-h-[520px] overflow-y-auto\">\n {!!isIdle && (slots?.idle ?? (\n idleSections && idleSections.length > 0 ? (\n <GlobalSearchIdleState sections={idleSections} />\n ) : null\n ))}\n\n {!!loading && (slots?.loading ?? (\n <div className=\"flex items-center justify-center px-6 py-12\">\n <Text type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n ))}\n\n {!!isEmpty && (slots?.empty ?? (\n <GlobalSearchEmptyState\n title={interpolateString(strings.emptyTitle, { query })}\n hint={strings.emptyHint}\n />\n ))}\n\n {!loading && results.length > 0 && (\n <div className=\"px-space-md py-space-xs\">\n {Object.entries(search.visibleGrouped).map(\n ([groupKey, items], gi) => (\n <div\n key={groupKey}\n className={cn(\n 'pb-space-xs last:pb-0',\n gi > 0 && 'mt-space-md pt-space-xs',\n )}\n >\n <div className=\"flex items-center justify-between px-row-x pb-space-2xs\">\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\">\n {groupLabels?.[groupKey as TGroup] ?? groupKey}\n </Text>\n {search.activeTab === 'all' && items.length > 0 && (\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"small\"\n onClick={() =>\n search.setActiveTab(groupKey as TGroup)\n }\n className=\"h-auto rounded px-1 py-0 text-primary transition-colors hover:underline\"\n >\n <Text\n tag=\"span\"\n size=\"xxs\"\n weight=\"medium\"\n className=\"text-primary\"\n >\n {strings.seeAll}\n </Text>\n </Button>\n )}\n </div>\n <ul className=\"m-0 list-none space-y-0.5 p-0\">\n {items.map((item) => {\n const isActive =\n search.flat[search.activeIdx]?.id === item.id;\n const ctx = {\n isActive,\n query,\n onSelect: () => onResultSelect?.(item),\n };\n const node = slots?.renderResult ? (\n slots.renderResult(item, ctx)\n ) : (\n <GlobalSearchResultRow<TGroup>\n result={item}\n isActive={isActive}\n query={query}\n onSelect={ctx.onSelect}\n onMouseEnter={() =>\n search.setActiveById(item.id)\n }\n toneBg={slots?.toneBg}\n toneAvatar={slots?.toneAvatar}\n />\n );\n return <li key={item.id}>{node}</li>;\n })}\n </ul>\n </div>\n ),\n )}\n </div>\n )}\n </div>\n\n {slots?.footer ?? (\n <GlobalSearchFooter\n navigateLabel={strings.footerNavigate}\n openLabel={strings.footerOpen}\n closeLabel={strings.footerClose}\n trailing={\n !isIdle && !isEmpty && results.length > 0 ? (\n <Text\n tag=\"span\"\n size=\"xxs\"\n type=\"secondary\"\n className=\"tabular-nums\"\n >\n {interpolateString(strings.resultsCount, {\n count: results.length,\n })}\n </Text>\n ) : undefined\n }\n />\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/components/features/global-search/global-search.strings.ts","../../../../src/components/features/global-search/hooks/use-global-search.ts","../../../../src/components/features/global-search/partials/global-search-empty-state.tsx","../../../../src/components/features/global-search/partials/global-search-footer.tsx","../../../../src/components/features/global-search/partials/global-search-idle-state.tsx","../../../../src/components/features/global-search/partials/global-search-input.tsx","../../../../src/components/features/global-search/partials/tone-palettes.ts","../../../../src/components/features/global-search/partials/global-search-result-row.tsx","../../../../src/components/ui/tabs.tsx","../../../../src/components/features/global-search/partials/global-search-tabs.tsx","../../../../src/components/features/global-search/global-search.tsx"],"sourcesContent":["/**\n * Strings for `GlobalSearch` and its partials. Consumers override via the\n * `strings` prop on `<GlobalSearch />`; values are deep-merged over these\n * defaults so partial overrides are safe.\n */\nexport interface GlobalSearchStrings {\n /** Placeholder copy for the search input. */\n placeholder: string;\n /** aria-label for the clear-search icon button. */\n clear: string;\n /** Loading-state copy. */\n loading: string;\n /** Empty-state title — uses {{query}} as a placeholder. */\n emptyTitle: string;\n /** Empty-state body copy. */\n emptyHint: string;\n /** Idle-state heading for \"Recent\" suggestions. */\n idleRecent: string;\n /** Idle-state heading for curated \"Suggestions\". */\n idleSuggestions: string;\n /** Tab label for the \"All\" tab. */\n tabAll: string;\n /** Footer \"navigate\" hint. */\n footerNavigate: string;\n /** Footer \"open\" hint. */\n footerOpen: string;\n /** Footer \"close\" hint. */\n footerClose: string;\n /** Trailing N results count. */\n resultsCount: string;\n /** \"See all\" group action — jumps to that tab. */\n seeAll: string;\n}\n\nexport const defaultGlobalSearchStrings: GlobalSearchStrings = {\n placeholder: 'Search…',\n clear: 'Clear search',\n loading: 'Searching…',\n emptyTitle: 'No results for \"{{query}}\"',\n emptyHint: 'Try a shorter keyword or check the spelling.',\n idleRecent: 'Recent',\n idleSuggestions: 'Suggestions',\n tabAll: 'All',\n footerNavigate: 'navigate',\n footerOpen: 'open',\n footerClose: 'close',\n resultsCount: '{{count}} results',\n seeAll: 'See all',\n};\n\n/** Replace `{{key}}` tokens with values from `params`. */\nexport function interpolateString(\n template: string,\n params: Record<string, string | number>,\n): string {\n return template.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (match, key) => {\n const v = params[key];\n return v === undefined ? match : String(v);\n });\n}\n","/**\n * useGlobalSearch — headless state machine for `<GlobalSearch />`.\n *\n * Owns the active-row index, active tab, and the keyboard-navigation\n * handler. Returns the derived flat list (results filtered by tab) so\n * consumers can render entirely custom UIs against the same state.\n *\n * Usage:\n * const search = useGlobalSearch({ results, query });\n * <input onKeyDown={search.onKeyDown} />\n * {search.flat.map((r, i) => <Row active={i === search.activeIdx} … />)}\n */\nimport { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { GlobalSearchResult } from '../global-search.types';\n\nexport interface UseGlobalSearchOptions<TGroup extends string = string> {\n results: ReadonlyArray<GlobalSearchResult<TGroup>>;\n query: string;\n /** Fires when the user activates a row (Enter or click). */\n onResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n /** Fires when the user presses Escape. */\n onClose?: () => void;\n}\n\nexport interface UseGlobalSearchReturn<TGroup extends string = string> {\n /** Results bucketed by group, in insertion order. */\n grouped: Record<string, GlobalSearchResult<TGroup>[]>;\n /** Result count per tab (`all` plus each group key). */\n tabCounts: Record<string, number>;\n /** Currently-selected tab. */\n activeTab: 'all' | TGroup;\n /** Set the active tab — also resets the active index. */\n setActiveTab: (tab: 'all' | TGroup) => void;\n /** Filtered grouped map respecting the active tab. */\n visibleGrouped: Record<string, GlobalSearchResult<TGroup>[]>;\n /** Flat ordered list matching what is currently rendered. */\n flat: GlobalSearchResult<TGroup>[];\n /** Index into `flat` of the currently-highlighted row. */\n activeIdx: number;\n setActiveIdx: (i: number) => void;\n /** Programmatically activate a result by id. */\n setActiveById: (id: string) => void;\n /** Bind to the search input's `onKeyDown` for arrow / enter / escape support. */\n onKeyDown: (e: React.KeyboardEvent) => void;\n /** Activate the row at `activeIdx`. */\n selectActive: () => void;\n}\n\nexport function useGlobalSearch<TGroup extends string = string>({\n results,\n query,\n onResultSelect,\n onClose,\n}: UseGlobalSearchOptions<TGroup>): UseGlobalSearchReturn<TGroup> {\n const [activeTab, setActiveTabState] =\n useState<'all' | TGroup>('all');\n const [activeIdx, setActiveIdx] = useState(0);\n\n // Reset both the active row and the active tab when the query changes\n // (so a fresh query never inherits a stale highlight or filter).\n useEffect(() => {\n setActiveTabState('all');\n setActiveIdx(0);\n }, [query]);\n\n const grouped = useMemo(() => {\n const buckets: Record<string, GlobalSearchResult<TGroup>[]> = {};\n for (const r of results) {\n (buckets[r.group] ??= []).push(r);\n }\n return buckets;\n }, [results]);\n\n const tabCounts = useMemo(() => {\n const counts: Record<string, number> = { all: results.length };\n for (const [k, v] of Object.entries(grouped)) counts[k] = v.length;\n return counts;\n }, [results.length, grouped]);\n\n const visibleGrouped = useMemo(() => {\n if (activeTab === 'all') return grouped;\n const sub = grouped[activeTab as string];\n return sub ? ({ [activeTab as string]: sub } as Record<string, GlobalSearchResult<TGroup>[]>) : {};\n }, [grouped, activeTab]);\n\n const flat = useMemo(() => {\n if (activeTab === 'all') return results.slice();\n return grouped[activeTab as string] ?? [];\n }, [activeTab, grouped, results]);\n\n const activeIdxRef = useRef(activeIdx);\n activeIdxRef.current = activeIdx;\n const flatRef = useRef(flat);\n flatRef.current = flat;\n\n const setActiveTab = (tab: 'all' | TGroup) => {\n setActiveTabState(tab);\n setActiveIdx(0);\n };\n\n const setActiveById = (id: string) => {\n const idx = flatRef.current.findIndex((r) => r.id === id);\n if (idx >= 0) setActiveIdx(idx);\n };\n\n const selectActive = () => {\n const item = flatRef.current[activeIdxRef.current];\n if (item) onResultSelect?.(item);\n };\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setActiveIdx((i) => Math.min(i + 1, flatRef.current.length - 1));\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setActiveIdx((i) => Math.max(i - 1, 0));\n } else if (e.key === 'Enter') {\n const item = flatRef.current[activeIdxRef.current];\n if (item) {\n e.preventDefault();\n onResultSelect?.(item);\n }\n } else if (e.key === 'Escape') {\n onClose?.();\n }\n };\n\n return {\n grouped,\n tabCounts,\n activeTab,\n setActiveTab,\n visibleGrouped,\n flat,\n activeIdx,\n setActiveIdx,\n setActiveById,\n onKeyDown,\n selectActive,\n };\n}\n","/**\n * Default empty-state body — shown when the query yields no results.\n * Override entirely via `slots.empty`.\n */\nimport { Search } from 'lucide-react';\n\nimport { Text } from '@/components/typography';\n\nexport interface GlobalSearchEmptyStateProps {\n title: string;\n hint: string;\n}\n\nexport function GlobalSearchEmptyState({ title, hint }: GlobalSearchEmptyStateProps) {\n return (\n <div className=\"px-6 py-12 text-center\">\n <div className=\"mx-auto mb-3 inline-flex size-10 items-center justify-center rounded-full bg-muted/60\">\n <Search className=\"size-4 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n <Text weight=\"medium\">\n {title}\n </Text>\n <Text size=\"xs\" type=\"secondary\" className=\"mt-1\">\n {hint}\n </Text>\n </div>\n );\n}\n","/**\n * GlobalSearchFooter — keyboard-hint strip below the result list.\n * Override entirely via `slots.footer`.\n */\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nconst KBD_CLASS =\n 'rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-xs leading-none text-muted-foreground';\n\nexport interface GlobalSearchFooterProps {\n navigateLabel: string;\n openLabel: string;\n closeLabel: string;\n /** Trailing right-aligned content (e.g. \"3 results\"). */\n trailing?: React.ReactNode;\n className?: string;\n}\n\nexport function GlobalSearchFooter({\n navigateLabel,\n openLabel,\n closeLabel,\n trailing,\n className,\n}: GlobalSearchFooterProps) {\n return (\n <div\n className={cn(\n 'flex items-center justify-between border-t border-border/60 px-4 py-2',\n className,\n )}\n >\n <span className=\"flex items-center gap-2\">\n <kbd className={KBD_CLASS}>↑↓</kbd>\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {navigateLabel}\n </Text>\n <kbd className={KBD_CLASS}>↵</kbd>\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {openLabel}\n </Text>\n <kbd className={KBD_CLASS}>esc</kbd>\n <Text tag=\"span\" size=\"xs\" type=\"secondary\">\n {closeLabel}\n </Text>\n </span>\n {trailing}\n </div>\n );\n}\n","/**\n * Default idle-state body — shown when the query is too short.\n * Renders consumer-supplied \"Recent\" + \"Suggestions\" sections.\n */\nimport { Clock, Search, Sparkles } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type { GlobalSearchIdleSection } from '../global-search.types';\n\nexport interface GlobalSearchIdleStateProps {\n sections: ReadonlyArray<GlobalSearchIdleSection>;\n /** Optional override for the heading icon when missing on a section. */\n fallbackIcons?: { recent?: React.ElementType; suggestions?: React.ElementType };\n}\n\nexport function GlobalSearchIdleState({\n sections,\n fallbackIcons,\n}: GlobalSearchIdleStateProps) {\n return (\n <div className=\"space-y-4 px-2 py-3\">\n {sections.map((section, idx) => {\n const HeadingIcon =\n section.icon ??\n (idx === 0\n ? fallbackIcons?.recent ?? Clock\n : fallbackIcons?.suggestions ?? Sparkles);\n return (\n <div key={section.id}>\n <div className=\"flex items-center gap-2 px-3 pb-1.5\">\n <HeadingIcon\n className=\"size-3.5 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n <Text\n size=\"xs\"\n type=\"secondary\"\n weight=\"medium\"\n className=\"uppercase tracking-wider\"\n >\n {section.label}\n </Text>\n </div>\n <ul className=\"m-0 list-none space-y-0.5 p-0\">\n {section.items.map((item) => {\n const ItemIcon = item.icon ?? Search;\n return (\n <li key={item.id}>\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"default\"\n onClick={item.onSelect}\n className={cn(\n 'h-auto w-full justify-start gap-3 rounded-md px-3 py-1.5 text-left transition-colors',\n 'hover:bg-muted/50 focus-visible:bg-muted/50',\n )}\n >\n <ItemIcon\n className=\"size-3.5 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n <Text className=\"flex-1 truncate\">\n {item.label}\n </Text>\n </Button>\n </li>\n );\n })}\n </ul>\n </div>\n );\n })}\n </div>\n );\n}\n","/**\n * GlobalSearchInput — search row at the top of the popover.\n *\n * Just the input + clear button + optional loading spinner. Keyboard\n * navigation is handled by the consumer wiring `useGlobalSearch`'s\n * `onKeyDown` handler.\n */\nimport { Loader2, Search, X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Input } from '@/components/base/forms/fields';\n\nexport interface GlobalSearchInputProps {\n value: string;\n onChange: (value: string) => void;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n placeholder?: string;\n clearLabel?: string;\n loading?: boolean;\n autoFocus?: boolean;\n}\n\nexport const GlobalSearchInput = React.forwardRef<HTMLInputElement, GlobalSearchInputProps>(\n function GlobalSearchInput(\n {\n value,\n onChange,\n onKeyDown,\n placeholder,\n clearLabel = 'Clear search',\n loading = false,\n autoFocus = false,\n },\n ref,\n ) {\n const innerRef = React.useRef<HTMLInputElement | null>(null);\n React.useImperativeHandle(ref, () => innerRef.current as HTMLInputElement);\n\n React.useEffect(() => {\n if (autoFocus) innerRef.current?.focus();\n }, [autoFocus]);\n\n return (\n <div\n data-component=\"global-search-input\"\n data-slot=\"global-search-input\"\n className=\"global-search-input--component flex items-center gap-space-md border-b border-border px-control py-row-y\"\n >\n <Search className=\"size-icon shrink-0 text-muted-foreground\" aria-hidden=\"true\" />\n <div className=\"min-w-0 flex-1\">\n <Input\n ref={innerRef}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n aria-label={placeholder}\n autoComplete=\"off\"\n spellCheck={false}\n size=\"small\"\n className=\"h-auto border-0 bg-transparent px-0 py-0 text-sm shadow-none focus-visible:border-transparent focus-visible:ring-0\"\n />\n </div>\n {loading && (\n <Loader2\n className=\"size-icon shrink-0 animate-spin text-muted-foreground\"\n aria-hidden=\"true\"\n />\n )}\n {!loading && !!value && (\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"icon-small\"\n onClick={() => onChange('')}\n aria-label={clearLabel}\n className=\"size-control-sm rounded text-muted-foreground hover:bg-muted hover:text-foreground\"\n >\n <X className=\"size-icon-sm\" />\n </Button>\n )}\n </div>\n );\n },\n);\n","/**\n * Default tone palettes for thumbnails and avatars.\n *\n * Consumers can override per-call via `slots.toneBg` / `slots.toneAvatar`.\n */\nimport type { GlobalSearchTone } from '../global-search.types';\n\nexport const DEFAULT_TONE_BG: Record<GlobalSearchTone, string> = {\n primary: 'bg-primary/5 text-primary',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/20 text-warning-foreground',\n info: 'bg-info/10 text-info',\n destructive: 'bg-destructive/10 text-destructive',\n default: 'bg-muted text-muted-foreground',\n};\n\nexport const DEFAULT_TONE_AVATAR: Record<GlobalSearchTone, string> = {\n primary: 'bg-primary/10 text-primary',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/20 text-warning-foreground',\n info: 'bg-info/10 text-info',\n destructive: 'bg-destructive/10 text-destructive',\n default: 'bg-muted text-muted-foreground',\n};\n","/**\n * GlobalSearchResultRow — single rich result card.\n *\n * Layout: [thumbnail] [title + status pill / muted secondary line / meta] [right-value column] [chevron].\n *\n * Exported as a partial so consumers can:\n * 1. Override an individual row via `slots.renderResult` and reuse this component for the others.\n * 2. Use it standalone in custom search UIs that don't need the full GlobalSearch shell.\n */\nimport { ArrowRight } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport { Badge } from '@/components/base/badge';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nimport type {\n GlobalSearchResult,\n GlobalSearchTone,\n} from '../global-search.types';\nimport {\n DEFAULT_TONE_AVATAR,\n DEFAULT_TONE_BG,\n} from './tone-palettes';\n\nexport interface GlobalSearchResultRowProps<TGroup extends string = string> {\n result: GlobalSearchResult<TGroup>;\n /** Highlighted via keyboard nav. */\n isActive?: boolean;\n query?: string;\n onSelect?: () => void;\n onMouseEnter?: () => void;\n /** Override tone palette. Keys not provided fall back to defaults. */\n toneBg?: Partial<Record<GlobalSearchTone, string>>;\n toneAvatar?: Partial<Record<GlobalSearchTone, string>>;\n className?: string;\n}\n\nfunction highlightMatch(text: string, query: string | undefined): React.ReactNode {\n const q = (query ?? '').trim();\n if (!q) return text;\n const lower = text.toLowerCase();\n const ql = q.toLowerCase();\n const i = lower.indexOf(ql);\n if (i < 0) return text;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"rounded-sm bg-warning/40 px-0.5 text-foreground\">\n {text.slice(i, i + q.length)}\n </mark>\n {text.slice(i + q.length)}\n </>\n );\n}\n\nexport function GlobalSearchResultRow<TGroup extends string = string>({\n result,\n isActive = false,\n query = '',\n onSelect,\n onMouseEnter,\n toneBg,\n toneAvatar,\n className,\n}: GlobalSearchResultRowProps<TGroup>) {\n const ThumbIcon = result.thumbnail?.icon;\n const bg = { ...DEFAULT_TONE_BG, ...toneBg };\n const av = { ...DEFAULT_TONE_AVATAR, ...toneAvatar };\n\n return (\n <Button\n type=\"button\"\n data-component=\"global-search-result-row\"\n data-slot=\"global-search-result-row\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"small\"\n onMouseEnter={onMouseEnter}\n onClick={onSelect}\n className={cn(\n 'group/row relative h-auto w-full justify-start gap-space-lg rounded-md px-row-x py-row-y text-left transition-colors',\n 'global-search-result-row--component',\n isActive ? 'bg-muted/60' : 'hover:bg-muted/40',\n className,\n )}\n >\n {/* Thumbnail / Avatar */}\n <div className=\"flex shrink-0 items-center\">\n {result.avatar ? (\n <Avatar className={cn('size-avatar-sm', av[result.avatar.tone ?? 'default'])}>\n {result.avatar.src && (\n <AvatarImage src={result.avatar.src} alt={result.title} />\n )}\n <AvatarFallback\n className={cn('text-xs font-semibold', av[result.avatar.tone ?? 'default'])}\n >\n {result.avatar.initials}\n </AvatarFallback>\n </Avatar>\n ) : ThumbIcon ? (\n <span\n className={cn(\n 'inline-flex size-avatar-sm items-center justify-center rounded-md',\n bg[result.thumbnail?.tone ?? 'default'],\n )}\n >\n <ThumbIcon className=\"size-icon\" aria-hidden=\"true\" />\n </span>\n ) : null}\n </div>\n\n {/* Body */}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-space-sm leading-tight\">\n <Text tag=\"span\" size=\"inherit\" weight=\"semibold\" className=\"truncate\">\n {highlightMatch(result.title, query)}\n </Text>\n {!!result.badge && (\n <Badge\n variant={\n result.badge.tone === 'destructive'\n ? 'error'\n : result.badge.tone\n }\n >\n {result.badge.label}\n </Badge>\n )}\n </div>\n {(() => {\n const pieces: Array<{ key: string; node: React.ReactNode }> = [];\n if (result.subtitle)\n pieces.push({\n key: 'subtitle',\n node: <span>{highlightMatch(result.subtitle, query)}</span>,\n });\n result.meta?.forEach((m, i) => {\n const Icon = m.icon;\n pieces.push({\n key: `m-${i}`,\n node: (\n <span\n className={cn(\n 'inline-flex items-center gap-1',\n m.mono && 'font-mono tabular-nums',\n )}\n >\n {!!Icon && <Icon className=\"size-3 shrink-0\" aria-hidden=\"true\" />}\n {m.label}\n </span>\n ),\n });\n });\n if (result.timestamp)\n pieces.push({\n key: 'ts',\n node: <span className=\"tabular-nums\">{result.timestamp}</span>,\n });\n result.tags?.forEach((tag) =>\n pieces.push({ key: `t-${tag}`, node: <span>{tag}</span> }),\n );\n if (result.rightValue) {\n pieces.push({\n key: 'rv',\n node: (\n <span className=\"font-medium tabular-nums text-foreground\">\n {result.rightValue}\n {!!result.rightLabel && (\n <span className=\"ml-1 font-normal text-muted-foreground\">\n {result.rightLabel.toLowerCase()}\n </span>\n )}\n </span>\n ),\n });\n }\n if (pieces.length === 0) return null;\n return (\n <Text size=\"inherit\" type=\"secondary\" className=\"mt-space-2xs truncate text-xs\">\n {pieces.map((p, i) => (\n <span key={p.key}>\n {i > 0 && (\n <span\n aria-hidden=\"true\"\n className=\"mx-1.5 text-muted-foreground/60\"\n >\n ·\n </span>\n )}\n {p.node}\n </span>\n ))}\n </Text>\n );\n })()}\n </div>\n\n {/* Right value column — only when value/label set */}\n {!!(result.rightValue || result.rightLabel) && (\n <div className=\"hidden shrink-0 items-center self-stretch border-l border-border/60 pl-row-x md:flex\">\n <div className=\"flex flex-col items-end gap-0 text-right leading-tight\">\n {!!result.rightValue && (\n <Text\n tag=\"span\"\n size=\"inherit\"\n weight=\"semibold\"\n className=\"whitespace-nowrap tabular-nums\"\n >\n {result.rightValue}\n </Text>\n )}\n {!!result.rightLabel && (\n <Text\n tag=\"span\"\n size=\"xs\"\n type=\"secondary\"\n className=\"mt-0.5 whitespace-nowrap\"\n >\n {result.rightLabel}\n </Text>\n )}\n </div>\n </div>\n )}\n\n {/* Trailing chevron */}\n <span\n aria-hidden=\"true\"\n className={cn(\n 'inline-flex size-control-sm shrink-0 items-center justify-center rounded-md transition-all',\n isActive\n ? 'bg-foreground text-background opacity-100'\n : 'text-muted-foreground opacity-0 group-hover/row:opacity-100',\n )}\n >\n <ArrowRight className=\"size-3.5\" />\n </span>\n </Button>\n );\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\"\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-2 group/tabs flex data-[orientation=horizontal]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"rounded-lg p-[3px] group-data-horizontal/tabs:h-9 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-1 bg-transparent\",\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 \"gap-1.5 rounded-md border border-transparent px-2 py-1 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-4 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 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 focus-visible:ring-[3px] focus-visible:outline-1 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 \"data-active:bg-background data-active:text-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 * GlobalSearchTabs — segmented filter strip above the result list.\n *\n * Wraps `base/navigation/tabs` for app-consistent styling and adds a\n * subtle count pill next to each label.\n */\nimport { Tabs, TabsList, TabsTrigger } from '@/components/base/navigation/tabs';\nimport { Text } from '@/components/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface GlobalSearchTabsProps<TGroup extends string = string> {\n /** Currently-selected tab. */\n value: 'all' | TGroup;\n onValueChange: (value: 'all' | TGroup) => void;\n tabs: ReadonlyArray<{ value: 'all' | TGroup; label: string }>;\n counts: Record<string, number>;\n}\n\nexport function GlobalSearchTabs<TGroup extends string = string>({\n value,\n onValueChange,\n tabs,\n counts,\n}: GlobalSearchTabsProps<TGroup>) {\n return (\n <div className=\"global-search-tabs--component border-b border-border/60 px-3 py-2\">\n <div className=\"global-search-tabs--scroller -mx-1 overflow-x-auto px-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">\n <Tabs\n value={value as string}\n onValueChange={(v) => onValueChange(v as 'all' | TGroup)}\n className=\"min-w-max\"\n >\n <TabsList className=\"global-search-tabs--list h-8 w-max min-w-max\">\n {tabs.map((tab) => {\n const isActive = value === tab.value;\n const count = counts[tab.value as string] ?? 0;\n return (\n <TabsTrigger\n key={tab.value as string}\n value={tab.value as string}\n className=\"global-search-tabs--trigger shrink-0 gap-1.5 px-2.5 text-xs\"\n >\n <span>{tab.label}</span>\n <Text\n tag=\"span\"\n size=\"xs\"\n weight=\"medium\"\n className={cn(\n 'global-search-tabs--count rounded px-1 py-0 tabular-nums',\n isActive\n ? 'bg-muted text-muted-foreground'\n : 'bg-transparent text-muted-foreground/70',\n )}\n >\n {count}\n </Text>\n </TabsTrigger>\n );\n })}\n </TabsList>\n </Tabs>\n </div>\n </div>\n );\n}\n","/**\n * GlobalSearch — framework-agnostic spotlight overlay for app-wide search.\n *\n * Composition seams:\n * - `strings` — deep-partial override of the default copy\n * - `slots` — replace any region (input, tabs, idle, empty, loading, footer)\n * - `slots.renderResult` — full per-row override\n * - `slots.toneBg / toneAvatar` — replace tone palettes\n *\n * Headless usage:\n * - Call `useGlobalSearch({ results, query })` directly to drive a\n * completely custom UI against the same selection state machine.\n *\n * Framework-agnostic:\n * - No router import, no i18n SDK import. Routing is up to the consumer\n * via `onResultSelect`. Strings live in the `strings` prop.\n * - The library no longer ships `adapters/$framework/`. Consumers map\n * their router (Inertia, Tanstack Router, RR7, Next, …) to\n * `onResultSelect(result)` directly at the call site.\n */\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n defaultGlobalSearchStrings,\n interpolateString,\n type GlobalSearchStrings,\n} from './global-search.strings';\nimport type {\n GlobalSearchIdleSection,\n GlobalSearchResult,\n GlobalSearchSlots,\n GlobalSearchTab,\n} from './global-search.types';\nimport { useGlobalSearch } from './hooks/use-global-search';\nimport {\n GlobalSearchEmptyState,\n GlobalSearchFooter,\n GlobalSearchIdleState,\n GlobalSearchInput,\n GlobalSearchResultRow,\n GlobalSearchTabs,\n} from './partials';\n\nexport interface GlobalSearchProps<TGroup extends string = string> {\n /** Result list. The component renders these grouped by `result.group`. */\n results?: ReadonlyArray<GlobalSearchResult<TGroup>>;\n /** Current query value (controlled). */\n query: string;\n /** Query change callback. */\n onQueryChange: (q: string) => void;\n /** Activation callback — fires on row click or Enter. */\n onResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n /** Escape-key callback. */\n onClose?: () => void;\n /** Loading flag — switches the input spinner and renders the loading slot. */\n loading?: boolean;\n /** Idle-state sections (Recent / Suggestions / …). */\n idleSections?: ReadonlyArray<GlobalSearchIdleSection>;\n /** Override default group labels in the tab strip. */\n groupLabels?: Partial<Record<TGroup, string>>;\n /** Auto-focus the input on mount. */\n autoFocus?: boolean;\n /** Replace any portion of the default copy. */\n strings?: StringsProp<GlobalSearchStrings>;\n /** Replace any portion of the layout. */\n slots?: GlobalSearchSlots<TGroup>;\n /** Custom tab list — overrides the auto-generated `All + groups`. */\n tabs?: ReadonlyArray<GlobalSearchTab<TGroup>>;\n /** Wrapper className. */\n className?: string;\n}\n\nexport function GlobalSearch<TGroup extends string = string>({\n results = [],\n query,\n onQueryChange,\n onResultSelect,\n onClose,\n loading = false,\n idleSections,\n groupLabels,\n autoFocus = false,\n strings: stringsProp,\n slots,\n tabs,\n className,\n}: GlobalSearchProps<TGroup>) {\n const strings = useStrings(defaultGlobalSearchStrings, stringsProp);\n\n const search = useGlobalSearch<TGroup>({\n results,\n query,\n onResultSelect,\n onClose,\n });\n\n const isEmpty =\n !loading && query.trim().length > 1 && results.length === 0;\n const isIdle = !loading && query.trim().length <= 1;\n\n const resolvedTabs = React.useMemo<\n ReadonlyArray<GlobalSearchTab<TGroup>>\n >(() => {\n if (tabs) return tabs;\n const groupKeys = Object.keys(search.grouped) as TGroup[];\n return [\n { value: 'all', label: strings.tabAll },\n ...groupKeys.map((key) => ({\n value: key,\n label: groupLabels?.[key] ?? key,\n })),\n ];\n }, [tabs, search.grouped, strings.tabAll, groupLabels]);\n\n return (\n <div\n data-component=\"global-search\"\n data-slot=\"global-search\"\n className={cn('global-search--component', \n 'overflow-hidden rounded-xl border border-border bg-card shadow-2xl',\n className,\n )}\n >\n {slots?.input ?? (\n <GlobalSearchInput\n value={query}\n onChange={onQueryChange}\n onKeyDown={search.onKeyDown}\n placeholder={strings.placeholder}\n clearLabel={strings.clear}\n loading={loading}\n autoFocus={autoFocus}\n />\n )}\n\n {!loading && results.length > 0 && (\n slots?.tabs ?? (\n <GlobalSearchTabs<TGroup>\n value={search.activeTab}\n onValueChange={search.setActiveTab}\n tabs={resolvedTabs}\n counts={search.tabCounts}\n />\n )\n )}\n\n <div className=\"max-h-[520px] overflow-y-auto\">\n {!!isIdle && (slots?.idle ?? (\n idleSections && idleSections.length > 0 ? (\n <GlobalSearchIdleState sections={idleSections} />\n ) : null\n ))}\n\n {!!loading && (slots?.loading ?? (\n <div className=\"flex items-center justify-center px-6 py-12\">\n <Text type=\"secondary\">\n {strings.loading}\n </Text>\n </div>\n ))}\n\n {!!isEmpty && (slots?.empty ?? (\n <GlobalSearchEmptyState\n title={interpolateString(strings.emptyTitle, { query })}\n hint={strings.emptyHint}\n />\n ))}\n\n {!loading && results.length > 0 && (\n <div className=\"px-space-md py-space-xs\">\n {Object.entries(search.visibleGrouped).map(\n ([groupKey, items], gi) => (\n <div\n key={groupKey}\n className={cn(\n 'pb-space-xs last:pb-0',\n gi > 0 && 'mt-space-md pt-space-xs',\n )}\n >\n <div className=\"flex items-center justify-between px-row-x pb-space-2xs\">\n <Text size=\"xs\" type=\"secondary\" weight=\"medium\">\n {groupLabels?.[groupKey as TGroup] ?? groupKey}\n </Text>\n {search.activeTab === 'all' && items.length > 0 && (\n <Button\n type=\"button\"\n variant=\"secondary\"\n buttonStyle=\"ghost\"\n size=\"small\"\n onClick={() =>\n search.setActiveTab(groupKey as TGroup)\n }\n className=\"h-auto rounded px-1 py-0 text-primary transition-colors hover:underline\"\n >\n <Text\n tag=\"span\"\n size=\"xs\"\n weight=\"medium\"\n className=\"text-primary\"\n >\n {strings.seeAll}\n </Text>\n </Button>\n )}\n </div>\n <ul className=\"m-0 list-none space-y-0.5 p-0\">\n {items.map((item) => {\n const isActive =\n search.flat[search.activeIdx]?.id === item.id;\n const ctx = {\n isActive,\n query,\n onSelect: () => onResultSelect?.(item),\n };\n const node = slots?.renderResult ? (\n slots.renderResult(item, ctx)\n ) : (\n <GlobalSearchResultRow<TGroup>\n result={item}\n isActive={isActive}\n query={query}\n onSelect={ctx.onSelect}\n onMouseEnter={() =>\n search.setActiveById(item.id)\n }\n toneBg={slots?.toneBg}\n toneAvatar={slots?.toneAvatar}\n />\n );\n return <li key={item.id}>{node}</li>;\n })}\n </ul>\n </div>\n ),\n )}\n </div>\n )}\n </div>\n\n {slots?.footer ?? (\n <GlobalSearchFooter\n navigateLabel={strings.footerNavigate}\n openLabel={strings.footerOpen}\n closeLabel={strings.footerClose}\n trailing={\n !isIdle && !isEmpty && results.length > 0 ? (\n <Text\n tag=\"span\"\n size=\"xs\"\n type=\"secondary\"\n className=\"tabular-nums\"\n >\n {interpolateString(strings.resultsCount, {\n count: results.length,\n })}\n </Text>\n ) : undefined\n }\n />\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useStrings as e } from "../../../lib/strings.js";
|
|
2
2
|
import { cn as t } from "../../../lib/utils.js";
|
|
3
|
-
import { t as n } from "../../../_shared/button-
|
|
4
|
-
import { s as r } from "../../../_shared/typography-
|
|
5
|
-
import { t as i } from "../../../_shared/badge-
|
|
6
|
-
import { t as a } from "../../../_shared/input-
|
|
3
|
+
import { t as n } from "../../../_shared/button-vv59_uS_.js";
|
|
4
|
+
import { s as r } from "../../../_shared/typography-DXvCmE8w.js";
|
|
5
|
+
import { t as i } from "../../../_shared/badge-B4oBB5BJ.js";
|
|
6
|
+
import { t as a } from "../../../_shared/input-Cin0qpjj.js";
|
|
7
7
|
import { o, r as s, t as c } from "../../../_shared/avatar-BagPbPuD.js";
|
|
8
8
|
import * as l from "react";
|
|
9
9
|
import { useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
|
|
@@ -129,7 +129,7 @@ function A({ navigateLabel: e, openLabel: n, closeLabel: i, trailing: a, classNa
|
|
|
129
129
|
}),
|
|
130
130
|
/* @__PURE__ */ h(r, {
|
|
131
131
|
tag: "span",
|
|
132
|
-
size: "
|
|
132
|
+
size: "xs",
|
|
133
133
|
type: "secondary",
|
|
134
134
|
children: e
|
|
135
135
|
}),
|
|
@@ -139,7 +139,7 @@ function A({ navigateLabel: e, openLabel: n, closeLabel: i, trailing: a, classNa
|
|
|
139
139
|
}),
|
|
140
140
|
/* @__PURE__ */ h(r, {
|
|
141
141
|
tag: "span",
|
|
142
|
-
size: "
|
|
142
|
+
size: "xs",
|
|
143
143
|
type: "secondary",
|
|
144
144
|
children: n
|
|
145
145
|
}),
|
|
@@ -149,7 +149,7 @@ function A({ navigateLabel: e, openLabel: n, closeLabel: i, trailing: a, classNa
|
|
|
149
149
|
}),
|
|
150
150
|
/* @__PURE__ */ h(r, {
|
|
151
151
|
tag: "span",
|
|
152
|
-
size: "
|
|
152
|
+
size: "xs",
|
|
153
153
|
type: "secondary",
|
|
154
154
|
children: i
|
|
155
155
|
})
|
|
@@ -168,7 +168,7 @@ function j({ sections: e, fallbackIcons: i }) {
|
|
|
168
168
|
className: "size-3.5 text-muted-foreground",
|
|
169
169
|
"aria-hidden": "true"
|
|
170
170
|
}), /* @__PURE__ */ h(r, {
|
|
171
|
-
size: "
|
|
171
|
+
size: "xs",
|
|
172
172
|
type: "secondary",
|
|
173
173
|
weight: "medium",
|
|
174
174
|
className: "uppercase tracking-wider",
|
|
@@ -301,7 +301,7 @@ function I({ result: e, isActive: a = !1, query: l = "", onSelect: u, onMouseEnt
|
|
|
301
301
|
src: e.avatar.src,
|
|
302
302
|
alt: e.title
|
|
303
303
|
}), /* @__PURE__ */ h(s, {
|
|
304
|
-
className: t("text-
|
|
304
|
+
className: t("text-xs font-semibold", b[e.avatar.tone ?? "default"]),
|
|
305
305
|
children: e.avatar.initials
|
|
306
306
|
})]
|
|
307
307
|
}) : v ? /* @__PURE__ */ h("span", {
|
|
@@ -364,7 +364,7 @@ function I({ result: e, isActive: a = !1, query: l = "", onSelect: u, onMouseEnt
|
|
|
364
364
|
}), n.length === 0 ? null : /* @__PURE__ */ h(r, {
|
|
365
365
|
size: "inherit",
|
|
366
366
|
type: "secondary",
|
|
367
|
-
className: "mt-space-2xs truncate text-
|
|
367
|
+
className: "mt-space-2xs truncate text-xs",
|
|
368
368
|
children: n.map((e, t) => /* @__PURE__ */ g("span", { children: [t > 0 && /* @__PURE__ */ h("span", {
|
|
369
369
|
"aria-hidden": "true",
|
|
370
370
|
className: "mx-1.5 text-muted-foreground/60",
|
|
@@ -385,7 +385,7 @@ function I({ result: e, isActive: a = !1, query: l = "", onSelect: u, onMouseEnt
|
|
|
385
385
|
children: e.rightValue
|
|
386
386
|
}), !!e.rightLabel && /* @__PURE__ */ h(r, {
|
|
387
387
|
tag: "span",
|
|
388
|
-
size: "
|
|
388
|
+
size: "xs",
|
|
389
389
|
type: "secondary",
|
|
390
390
|
className: "mt-0.5 whitespace-nowrap",
|
|
391
391
|
children: e.rightLabel
|
|
@@ -452,7 +452,7 @@ function V({ value: e, onValueChange: n, tabs: i, counts: a }) {
|
|
|
452
452
|
className: "global-search-tabs--trigger shrink-0 gap-1.5 px-2.5 text-xs",
|
|
453
453
|
children: [/* @__PURE__ */ h("span", { children: n.label }), /* @__PURE__ */ h(r, {
|
|
454
454
|
tag: "span",
|
|
455
|
-
size: "
|
|
455
|
+
size: "xs",
|
|
456
456
|
weight: "medium",
|
|
457
457
|
className: t("global-search-tabs--count rounded px-1 py-0 tabular-nums", i ? "bg-muted text-muted-foreground" : "bg-transparent text-muted-foreground/70"),
|
|
458
458
|
children: o
|
|
@@ -543,7 +543,7 @@ function H({ results: i = [], query: a, onQueryChange: o, onResultSelect: s, onC
|
|
|
543
543
|
className: "h-auto rounded px-1 py-0 text-primary transition-colors hover:underline",
|
|
544
544
|
children: /* @__PURE__ */ h(r, {
|
|
545
545
|
tag: "span",
|
|
546
|
-
size: "
|
|
546
|
+
size: "xs",
|
|
547
547
|
weight: "medium",
|
|
548
548
|
className: "text-primary",
|
|
549
549
|
children: b.seeAll
|
|
@@ -578,7 +578,7 @@ function H({ results: i = [], query: a, onQueryChange: o, onResultSelect: s, onC
|
|
|
578
578
|
closeLabel: b.footerClose,
|
|
579
579
|
trailing: !C && !S && i.length > 0 ? /* @__PURE__ */ h(r, {
|
|
580
580
|
tag: "span",
|
|
581
|
-
size: "
|
|
581
|
+
size: "xs",
|
|
582
582
|
type: "secondary",
|
|
583
583
|
className: "tabular-nums",
|
|
584
584
|
children: E(b.resultsCount, { count: i.length })
|