admin-ui-starter-kit 0.6.6 → 0.6.8
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/SKILL.md +2 -2
- package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
- package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
- package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__cards.md +7 -6
- package/.agents/skills/component-library-rules/references/components/base__carousel.md +4 -4
- package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__combobox.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__css-variables.md +2 -1
- package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
- package/.agents/skills/component-library-rules/references/components/base__event-calendar.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
- package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
- package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
- package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
- package/.agents/skills/component-library-rules/references/components/base__typography.md +1 -1
- package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
- 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 +1 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
- package/.agents/skills/component-library-rules/references/components/layout__layout-sidebar.md +2 -2
- package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
- package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
- package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
- package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
- package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
- package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
- package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
- package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
- package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
- package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
- package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
- package/dist/_shared/auth-1Ht9Kevx.js +643 -0
- package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
- package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
- package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
- package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
- package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
- package/dist/_shared/badge-nZ2zbAV4.js +110 -0
- package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
- package/dist/_shared/button-Be2ayMxF.js +192 -0
- package/dist/_shared/button-Be2ayMxF.js.map +1 -0
- package/dist/_shared/button-CfQtOuBK.cjs +2 -0
- package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
- package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
- package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
- package/dist/_shared/buttons-DYQqQPpk.js +137 -0
- package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
- package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
- package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
- package/dist/_shared/cards-BJctT9KD.js +428 -0
- package/dist/_shared/cards-BJctT9KD.js.map +1 -0
- package/dist/_shared/cards-m03XN10f.cjs +2 -0
- package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
- package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
- package/dist/_shared/combobox-D9tU_83-.js +954 -0
- package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
- package/dist/_shared/command-BbJB0pjP.cjs +2 -0
- package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
- package/dist/_shared/command-IP2wy_HN.js +39 -0
- package/dist/_shared/command-IP2wy_HN.js.map +1 -0
- package/dist/_shared/comments-B_WKQUol.js +952 -0
- package/dist/_shared/comments-B_WKQUol.js.map +1 -0
- package/dist/_shared/comments-DMHMNObS.cjs +2 -0
- package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
- package/dist/_shared/copyable-BJYx2SlN.js +38 -0
- package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
- package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
- package/dist/_shared/data-display-4E_irfF2.js +1878 -0
- package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
- package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
- package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
- package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
- package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
- package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
- package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
- package/dist/_shared/display-DFVeSuWL.js +986 -0
- package/dist/_shared/display-DFVeSuWL.js.map +1 -0
- package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
- package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
- package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
- package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
- package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
- package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
- package/dist/_shared/header-BEsz1_so.cjs +2 -0
- package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
- package/dist/_shared/header-bJx8z6zT.js +447 -0
- package/dist/_shared/header-bJx8z6zT.js.map +1 -0
- package/dist/_shared/hooks-gRgVhyY2.js +95 -0
- package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
- package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
- package/dist/_shared/input-CzJzVyQ0.js +182 -0
- package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
- package/dist/_shared/input-Dvvmn96E.cjs +2 -0
- package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
- package/dist/_shared/item-CVjjpHQd.js +226 -0
- package/dist/_shared/item-CVjjpHQd.js.map +1 -0
- package/dist/_shared/item-ChHblHhR.cjs +2 -0
- package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
- package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
- package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
- package/dist/_shared/layout-nigj488k.js +268 -0
- package/dist/_shared/layout-nigj488k.js.map +1 -0
- package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
- package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
- package/dist/_shared/mentions-CBhP29St.js +506 -0
- package/dist/_shared/mentions-CBhP29St.js.map +1 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
- package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
- package/dist/_shared/money-display-DpuLnsK2.js +198 -0
- package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
- package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
- package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
- package/dist/_shared/overlays-BJLczwpz.js +735 -0
- package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
- package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
- package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
- package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
- package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
- package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
- package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
- package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
- package/dist/_shared/settings-D-HAOE3R.js +143 -0
- package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
- package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
- package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
- package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
- package/dist/_shared/sidebar-DkBNualh.js +548 -0
- package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
- package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
- package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
- package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
- package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
- package/dist/_shared/spinner-CuVZhJhN.js +67 -0
- package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
- package/dist/_shared/table-Cq0jkSm5.js +1377 -0
- package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
- package/dist/_shared/table-GqTKCC8F.cjs +2 -0
- package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
- package/dist/_shared/textarea-C0iZwWdD.js +118 -0
- package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
- package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
- package/dist/_shared/typography-5bLhAYaK.js +201 -0
- package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
- package/dist/_shared/typography-CWEobAJV.cjs +2 -0
- package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
- package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
- package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
- package/dist/_shared/workspace-5UId04M9.js +357 -0
- package/dist/_shared/workspace-5UId04M9.js.map +1 -0
- package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
- package/dist/_shared/workspace-BMws_rFf.cjs.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/index.cjs +1 -1
- package/dist/components/base/badge/index.js +1 -1
- package/dist/components/base/buttons/button.d.ts.map +1 -1
- package/dist/components/base/buttons/index.cjs +1 -1
- package/dist/components/base/buttons/index.js +2 -2
- package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
- package/dist/components/base/cards/index.cjs +1 -1
- package/dist/components/base/cards/index.js +2 -2
- package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.d.ts.map +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +7 -3
- package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
- 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 +5 -5
- package/dist/components/base/display/skeleton.d.ts +52 -1
- package/dist/components/base/display/skeleton.d.ts.map +1 -1
- 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 +7 -7
- package/dist/components/base/event-calendar/index.js.map +1 -1
- package/dist/components/base/forms/fields/file-upload.d.ts.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/item/item.d.ts.map +1 -1
- package/dist/components/base/item/item.types.d.ts +3 -0
- package/dist/components/base/item/item.types.d.ts.map +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 +2 -2
- 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/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/base/toaster/index.cjs +1 -1
- package/dist/components/base/toaster/index.cjs.map +1 -1
- package/dist/components/base/toaster/index.js +82 -23
- package/dist/components/base/toaster/index.js.map +1 -1
- package/dist/components/base/toaster/toaster.d.ts +1 -1
- package/dist/components/base/toaster/toaster.d.ts.map +1 -1
- package/dist/components/composed/admin/api-key-list/api-key-list.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 +69 -69
- 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 +33 -33
- 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/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
- package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
- 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/data-display/resource-selector-card.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 +10 -10
- 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 +5 -5
- 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 +194 -194
- package/dist/components/features/filters/index.js.map +1 -1
- package/dist/components/features/filters/partials/filters-button.d.ts.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 +25 -25
- 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 +6 -6
- 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/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 +7 -7
- package/dist/components/layout/page/index.cjs +1 -1
- package/dist/components/layout/page/index.js +1 -1
- package/dist/components/layout/page/page.types.d.ts +5 -0
- package/dist/components/layout/page/page.types.d.ts.map +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/page/partials/page-header.d.ts.map +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/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.cjs +1 -1
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/index.d.ts.map +1 -1
- package/dist/lib/ui-provider/index.js +1 -1
- package/dist/lib/ui-provider/types.d.ts +14 -0
- package/dist/lib/ui-provider/types.d.ts.map +1 -1
- package/dist/services/actions/index.cjs +1 -1
- package/dist/services/actions/index.js +1 -1
- package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
- package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
- package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
- package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
- package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
- package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
- package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
- package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
- package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
- package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
- package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
- package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
- package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
- package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
- package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
- package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
- package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
- package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
- package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
- package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
- package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
- package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
- package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
- package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
- package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
- package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
- package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
- package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
- package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
- package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
- package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
- package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
- package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
- package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
- package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
- package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
- package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
- package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
- package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
- package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
- package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
- package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
- package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
- package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
- package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
- package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
- package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
- package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
- package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
- package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
- package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
- package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
- package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
- package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
- package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
- package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
- package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
- package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
- package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
- package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
- package/dist/showcase/assets/card-D9updr3B.js +188 -0
- package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
- package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
- package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
- package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
- package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
- package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
- package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
- package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
- package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
- package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
- package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
- package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
- package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
- package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
- package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
- package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
- package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
- package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
- package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
- package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
- package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
- package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
- package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
- package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
- package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
- package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
- package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
- package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
- package/dist/showcase/assets/command-BtADdA65.js +1 -0
- package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
- package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
- package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
- package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
- package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
- package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
- package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
- package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
- package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
- package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
- package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
- package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
- package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
- package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
- package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
- package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
- package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
- package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
- package/dist/showcase/assets/database-isLkCvDd.js +1 -0
- package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
- package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
- package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
- package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
- package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
- package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
- package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
- package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
- package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
- package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
- package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
- package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
- package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
- package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
- package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
- package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
- package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
- package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
- package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
- package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
- package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
- package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
- package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
- package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
- package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
- package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
- package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
- package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
- package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
- package/dist/showcase/assets/example-Cv05rz75.js +1 -0
- package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
- package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
- package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
- package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
- package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
- package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
- package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
- package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
- package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
- package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
- package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
- package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
- package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
- package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
- package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
- package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
- package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
- package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
- package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
- package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
- package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
- package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
- package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
- package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
- package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
- package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
- package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
- package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
- package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
- package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
- package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
- package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
- package/dist/showcase/assets/index-ATou_nFA.js +10 -0
- package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
- package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
- package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
- package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
- package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
- package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
- package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
- package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
- package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
- package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
- package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
- package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
- package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
- package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
- package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
- package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
- package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
- package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
- package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
- package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
- package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
- package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
- package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
- package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
- package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
- package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
- package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
- package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
- package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
- package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
- package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
- package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
- package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
- package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
- package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
- package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
- package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
- package/dist/showcase/assets/lock-DqEahakB.js +1 -0
- package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
- package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
- package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
- package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
- package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
- package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
- package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
- package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
- package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
- package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
- package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
- package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
- package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
- package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
- package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
- package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
- package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
- package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
- package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
- package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
- package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
- package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
- package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
- package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
- package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
- package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
- package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
- package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
- package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
- package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
- package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
- package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
- package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
- package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
- package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
- package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
- package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
- package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
- package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
- package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
- package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
- package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
- package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
- package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
- package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
- package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
- package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
- package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
- package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
- package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
- package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
- package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
- package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
- package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
- package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
- package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
- package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
- package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
- package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
- package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
- package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
- package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
- package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
- package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
- package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
- package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
- package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
- package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
- package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
- package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
- package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
- package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
- package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
- package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
- package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
- package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
- package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
- package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
- package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
- package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
- package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
- package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
- package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
- package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
- package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
- package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
- package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
- package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
- package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
- package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
- package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
- package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
- package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
- package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
- package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
- package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
- package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
- package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
- package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
- package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
- package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
- package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
- package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
- package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
- package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
- package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
- package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
- package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
- package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
- package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
- package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
- package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
- package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
- package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
- package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
- package/dist/showcase/assets/sync-bERw1shm.js +124 -0
- package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
- package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
- package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
- package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
- package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
- package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
- package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
- package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
- package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
- package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
- package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
- package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
- package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
- package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
- package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
- package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
- package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
- package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
- package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
- package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
- package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
- package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
- package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
- package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
- package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
- package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
- package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
- package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
- package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
- package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
- package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
- package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
- package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
- package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
- package/dist/showcase/assets/user-eelwPGBI.js +1 -0
- package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
- package/dist/showcase/assets/users-BVMmaveS.js +1 -0
- package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
- package/dist/showcase/assets/video-C42fxAyj.js +1 -0
- package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
- package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
- package/dist/showcase/assets/x--LIqlhum.js +1 -0
- package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
- package/dist/showcase/index.html +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/css/tokens/foundation.css +20 -6
- package/src/css/tokens/primitives.css +1 -1
- package/src/css/tokens/states.css +3 -0
- package/dist/_shared/accordion-BRj4TDQx.js +0 -135
- package/dist/_shared/accordion-BRj4TDQx.js.map +0 -1
- package/dist/_shared/accordion-DvlDjk29.cjs +0 -2
- package/dist/_shared/accordion-DvlDjk29.cjs.map +0 -1
- package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
- package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
- package/dist/_shared/action-menu-Crn22LKo.js +0 -96
- package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
- package/dist/_shared/ai-artifact-BHgd3agA.js +0 -1099
- package/dist/_shared/ai-artifact-BHgd3agA.js.map +0 -1
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs +0 -3
- package/dist/_shared/ai-artifact-BRM5cvGv.cjs.map +0 -1
- package/dist/_shared/alert-CMVVt2Br.js +0 -81
- package/dist/_shared/alert-CMVVt2Br.js.map +0 -1
- package/dist/_shared/alert-Dmhtbmpg.cjs +0 -2
- package/dist/_shared/alert-Dmhtbmpg.cjs.map +0 -1
- package/dist/_shared/auth-DZW6NkJx.cjs +0 -2
- package/dist/_shared/auth-DZW6NkJx.cjs.map +0 -1
- package/dist/_shared/auth-Dh790NI_.js +0 -643
- package/dist/_shared/auth-Dh790NI_.js.map +0 -1
- package/dist/_shared/badge-B8xGFpfM.cjs +0 -2
- package/dist/_shared/badge-B8xGFpfM.cjs.map +0 -1
- package/dist/_shared/badge-BYNwSWh5.js +0 -110
- package/dist/_shared/badge-BYNwSWh5.js.map +0 -1
- package/dist/_shared/button-BMiPFJIb.cjs +0 -2
- package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
- package/dist/_shared/button-vv59_uS_.js +0 -189
- package/dist/_shared/button-vv59_uS_.js.map +0 -1
- package/dist/_shared/buttons-CvqIMv3I.js +0 -137
- package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
- package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
- package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
- package/dist/_shared/card-radio-group-Bhe8gAbH.js +0 -150
- package/dist/_shared/card-radio-group-Bhe8gAbH.js.map +0 -1
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs +0 -2
- package/dist/_shared/card-radio-group-CdG1zr8M.cjs.map +0 -1
- package/dist/_shared/cards-Cu6p1Brd.cjs +0 -2
- package/dist/_shared/cards-Cu6p1Brd.cjs.map +0 -1
- package/dist/_shared/cards-cQ9lL6zy.js +0 -354
- package/dist/_shared/cards-cQ9lL6zy.js.map +0 -1
- package/dist/_shared/combobox-BGYjyXeN.cjs +0 -2
- package/dist/_shared/combobox-BGYjyXeN.cjs.map +0 -1
- package/dist/_shared/combobox-DTwomOBt.js +0 -954
- package/dist/_shared/combobox-DTwomOBt.js.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-C97vL5km.js +0 -952
- package/dist/_shared/comments-C97vL5km.js.map +0 -1
- package/dist/_shared/comments-DBe6dP-d.cjs +0 -2
- package/dist/_shared/comments-DBe6dP-d.cjs.map +0 -1
- package/dist/_shared/copyable-BgFdERqs.js +0 -38
- package/dist/_shared/copyable-BgFdERqs.js.map +0 -1
- package/dist/_shared/copyable-Ce8rmE-V.cjs +0 -2
- package/dist/_shared/copyable-Ce8rmE-V.cjs.map +0 -1
- package/dist/_shared/data-display-DUWxoDKq.js +0 -1873
- package/dist/_shared/data-display-DUWxoDKq.js.map +0 -1
- package/dist/_shared/data-display-o-rbMuIA.cjs +0 -2
- package/dist/_shared/data-display-o-rbMuIA.cjs.map +0 -1
- package/dist/_shared/date-picker-Cxx9jllA.js +0 -1361
- package/dist/_shared/date-picker-Cxx9jllA.js.map +0 -1
- package/dist/_shared/date-picker-DE5A8yqN.cjs +0 -2
- package/dist/_shared/date-picker-DE5A8yqN.cjs.map +0 -1
- package/dist/_shared/date-pickers-Dex1Mfye.cjs +0 -2
- package/dist/_shared/date-pickers-Dex1Mfye.cjs.map +0 -1
- package/dist/_shared/date-pickers-m0dpDcqH.js +0 -329
- package/dist/_shared/date-pickers-m0dpDcqH.js.map +0 -1
- package/dist/_shared/display-Bro3Kufg.js +0 -986
- package/dist/_shared/display-Bro3Kufg.js.map +0 -1
- package/dist/_shared/display-CRQjSjgB.cjs +0 -2
- package/dist/_shared/display-CRQjSjgB.cjs.map +0 -1
- package/dist/_shared/forms-D-SNQmtB.cjs +0 -2
- package/dist/_shared/forms-D-SNQmtB.cjs.map +0 -1
- package/dist/_shared/forms-p7cfzJwf.js +0 -3533
- package/dist/_shared/forms-p7cfzJwf.js.map +0 -1
- package/dist/_shared/header-8C71wVRp.js +0 -447
- package/dist/_shared/header-8C71wVRp.js.map +0 -1
- package/dist/_shared/header-CYgFCnjZ.cjs +0 -2
- package/dist/_shared/header-CYgFCnjZ.cjs.map +0 -1
- package/dist/_shared/hooks-Ci1LFWRG.js +0 -95
- package/dist/_shared/hooks-Ci1LFWRG.js.map +0 -1
- package/dist/_shared/hooks-Cjl7LJpn.cjs +0 -2
- package/dist/_shared/hooks-Cjl7LJpn.cjs.map +0 -1
- package/dist/_shared/input-BgcP6x4C.js +0 -182
- package/dist/_shared/input-BgcP6x4C.js.map +0 -1
- package/dist/_shared/input-DV3g7Fm5.cjs +0 -2
- package/dist/_shared/input-DV3g7Fm5.cjs.map +0 -1
- package/dist/_shared/item-D7GTzvhf.js +0 -226
- package/dist/_shared/item-D7GTzvhf.js.map +0 -1
- package/dist/_shared/item-DTrnHpfm.cjs +0 -2
- package/dist/_shared/item-DTrnHpfm.cjs.map +0 -1
- package/dist/_shared/layout-BExg7Vlx.js +0 -261
- package/dist/_shared/layout-BExg7Vlx.js.map +0 -1
- package/dist/_shared/layout-CKRD_goE.cjs +0 -2
- package/dist/_shared/layout-CKRD_goE.cjs.map +0 -1
- package/dist/_shared/mentions-BtGhYisA.js +0 -506
- package/dist/_shared/mentions-BtGhYisA.js.map +0 -1
- package/dist/_shared/mentions-CnVOuQJU.cjs +0 -2
- package/dist/_shared/mentions-CnVOuQJU.cjs.map +0 -1
- package/dist/_shared/money-display-BvVpRUs5.cjs +0 -2
- package/dist/_shared/money-display-BvVpRUs5.cjs.map +0 -1
- package/dist/_shared/money-display-D6Qtvyyv.js +0 -198
- package/dist/_shared/money-display-D6Qtvyyv.js.map +0 -1
- package/dist/_shared/navigation-C4dO1I82.cjs +0 -2
- package/dist/_shared/navigation-C4dO1I82.cjs.map +0 -1
- package/dist/_shared/navigation-Ct-LFlpY.js +0 -436
- package/dist/_shared/navigation-Ct-LFlpY.js.map +0 -1
- package/dist/_shared/overlays-ChyqXn0n.js +0 -735
- package/dist/_shared/overlays-ChyqXn0n.js.map +0 -1
- package/dist/_shared/overlays-Dn2bt3CL.cjs +0 -2
- package/dist/_shared/overlays-Dn2bt3CL.cjs.map +0 -1
- package/dist/_shared/popover-menu-17Dxn25O.js +0 -93
- package/dist/_shared/popover-menu-17Dxn25O.js.map +0 -1
- package/dist/_shared/popover-menu-DXVN0bvj.cjs +0 -2
- package/dist/_shared/popover-menu-DXVN0bvj.cjs.map +0 -1
- package/dist/_shared/rich-text-editor-BRpcNkj1.js +0 -620
- package/dist/_shared/rich-text-editor-BRpcNkj1.js.map +0 -1
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs +0 -2
- package/dist/_shared/rich-text-editor-BXxGNbmI.cjs.map +0 -1
- package/dist/_shared/settings-CW9yzfQM.js +0 -143
- package/dist/_shared/settings-CW9yzfQM.js.map +0 -1
- package/dist/_shared/settings-cCPrw7si.cjs +0 -2
- package/dist/_shared/settings-cCPrw7si.cjs.map +0 -1
- package/dist/_shared/sidebar-Cq6J_I4l.cjs +0 -2
- package/dist/_shared/sidebar-Cq6J_I4l.cjs.map +0 -1
- package/dist/_shared/sidebar-DtF_ihE3.js +0 -548
- package/dist/_shared/sidebar-DtF_ihE3.js.map +0 -1
- package/dist/_shared/spinner-DY2de3Wt.cjs +0 -2
- package/dist/_shared/spinner-DY2de3Wt.cjs.map +0 -1
- package/dist/_shared/spinner-ZmIq_zsx.js +0 -67
- package/dist/_shared/spinner-ZmIq_zsx.js.map +0 -1
- package/dist/_shared/table-BBWc-wIw.js +0 -1377
- package/dist/_shared/table-BBWc-wIw.js.map +0 -1
- package/dist/_shared/table-DMDkdLzV.cjs +0 -2
- package/dist/_shared/table-DMDkdLzV.cjs.map +0 -1
- package/dist/_shared/textarea-C1TeJ7Vt.cjs +0 -2
- package/dist/_shared/textarea-C1TeJ7Vt.cjs.map +0 -1
- package/dist/_shared/textarea-CGRkgH5z.js +0 -118
- package/dist/_shared/textarea-CGRkgH5z.js.map +0 -1
- package/dist/_shared/typography-CzFVA1w1.js +0 -201
- package/dist/_shared/typography-CzFVA1w1.js.map +0 -1
- package/dist/_shared/typography-GtkgK9QX.cjs +0 -2
- package/dist/_shared/typography-GtkgK9QX.cjs.map +0 -1
- package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
- package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
- package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
- package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
- package/dist/_shared/workspace-BF5BtDhD.cjs +0 -2
- package/dist/_shared/workspace-BF5BtDhD.cjs.map +0 -1
- package/dist/_shared/workspace-IvsczduM.js +0 -357
- package/dist/_shared/workspace-IvsczduM.js.map +0 -1
- package/dist/showcase/assets/AreaChart-CsIm9z7Y.js +0 -6
- package/dist/showcase/assets/CompositeItem-D9zznn01.js +0 -1
- package/dist/showcase/assets/CompositeRoot-CvxtZ81W.js +0 -1
- package/dist/showcase/assets/DialogTrigger-C-osQGHu.js +0 -1
- package/dist/showcase/assets/LabelableContext-_EE-HBND.js +0 -1
- package/dist/showcase/assets/PreviewLayout-KdEsSl3b.js +0 -1
- package/dist/showcase/assets/RadioGroup-4jOeNTc1.js +0 -1
- package/dist/showcase/assets/ScrollAreaCorner-CXTdUcaE.js +0 -1
- package/dist/showcase/assets/Separator-CHVXO6nj.js +0 -1
- package/dist/showcase/assets/ToolbarRootContext-CM5tQGGX.js +0 -1
- package/dist/showcase/assets/accordion-CA84bxb2.js +0 -171
- package/dist/showcase/assets/accordion-variants-DqWzAOO3.js +0 -1
- package/dist/showcase/assets/action-menu-D0q5z-Kq.js +0 -1
- package/dist/showcase/assets/actions-DnqxABJU.js +0 -310
- package/dist/showcase/assets/activities-BC9hoMy9.js +0 -500
- package/dist/showcase/assets/activities-feed-card-D6wGLpbH.js +0 -1
- package/dist/showcase/assets/admin-CMnMsugJ.js +0 -140
- package/dist/showcase/assets/ai-B6_sE9Zg.js +0 -207
- package/dist/showcase/assets/ai-artifact-BVvbsSJB.js +0 -2
- package/dist/showcase/assets/ai-chat-lcXeqJrA.js +0 -568
- package/dist/showcase/assets/ai-elements-B32o_UjE.js +0 -387
- package/dist/showcase/assets/ai-tool-call-BLrAioKz.js +0 -1
- package/dist/showcase/assets/alert-B1p1Grce.js +0 -62
- package/dist/showcase/assets/alert-BBiffYsY.js +0 -93
- package/dist/showcase/assets/alert-vH0nJ8J9.js +0 -1
- package/dist/showcase/assets/api-key-list-BrSc6V1y.js +0 -1
- package/dist/showcase/assets/api-key-list-CoKe_PaL.js +0 -73
- package/dist/showcase/assets/app-sidebar-R93lRPB4.js +0 -1
- package/dist/showcase/assets/arrow-down-xxVIADbv.js +0 -1
- package/dist/showcase/assets/arrow-left-DxnlnN8R.js +0 -1
- package/dist/showcase/assets/arrow-right-S5k93UPM.js +0 -1
- package/dist/showcase/assets/arrow-up-OlEVG7a-.js +0 -1
- package/dist/showcase/assets/arrow-up-right-j55bbl4b.js +0 -1
- package/dist/showcase/assets/avatar-BbiXvZq7.js +0 -67
- package/dist/showcase/assets/avatar-Bwpw-hQo.js +0 -57
- package/dist/showcase/assets/avatar-D0DKQ1lK.js +0 -1
- package/dist/showcase/assets/avatar-WyjSBov9.js +0 -1
- package/dist/showcase/assets/badge-BzLZQO3L.js +0 -31
- package/dist/showcase/assets/badge-check-TFWm1m3F.js +0 -1
- package/dist/showcase/assets/bell-CmuQlO_k.js +0 -1
- package/dist/showcase/assets/bot-Bu518AJB.js +0 -1
- package/dist/showcase/assets/box-D-wrSdOJ.js +0 -1
- package/dist/showcase/assets/braces-CgCdmdAl.js +0 -1
- package/dist/showcase/assets/brain-DkHdwgHO.js +0 -1
- package/dist/showcase/assets/brand-CpovnVoG.js +0 -36
- package/dist/showcase/assets/breadcrumb-BUc0WC5d.js +0 -1
- package/dist/showcase/assets/breadcrumb-Do_Dazt1.js +0 -52
- package/dist/showcase/assets/breadcrumbs-Bj21o2zm.js +0 -1
- package/dist/showcase/assets/briefcase-CQBh2kok.js +0 -1
- package/dist/showcase/assets/building-2-D07Ej6iR.js +0 -1
- package/dist/showcase/assets/button-CCZ4KEGQ.js +0 -44
- package/dist/showcase/assets/button-group-BTjeHOvz.js +0 -1
- package/dist/showcase/assets/buttons-D45Wwiwn.js +0 -272
- package/dist/showcase/assets/calendar-BsEWULmZ.js +0 -16
- package/dist/showcase/assets/calendar-CkPefzIO.js +0 -1
- package/dist/showcase/assets/calendar-DZlT3qTq.js +0 -1
- package/dist/showcase/assets/calendar-days-C9awTMru.js +0 -1
- package/dist/showcase/assets/camera-CQhMw-RD.js +0 -1
- package/dist/showcase/assets/card-CKrz_UHt.js +0 -1
- package/dist/showcase/assets/card-DZgZgjXO.js +0 -188
- package/dist/showcase/assets/card-primitives-CpkDLK3Y.js +0 -1
- package/dist/showcase/assets/card-radio-group-BjXwMI4v.js +0 -1
- package/dist/showcase/assets/cards-Cd24XZ9l.js +0 -353
- package/dist/showcase/assets/carousel-Doon04yO.js +0 -449
- package/dist/showcase/assets/cell-renderers-CTay3duH.js +0 -1
- package/dist/showcase/assets/chart-CkvbdpWw.js +0 -358
- package/dist/showcase/assets/chart-column-Dz57kUMl.js +0 -1
- package/dist/showcase/assets/checkbox-L-L4-wvA.js +0 -1
- package/dist/showcase/assets/checkbox-sP254E7e.js +0 -1
- package/dist/showcase/assets/chevron-down-CLc_a2Ua.js +0 -1
- package/dist/showcase/assets/chevron-left-CMRIGOJt.js +0 -1
- package/dist/showcase/assets/chevron-up-BDw6LdDZ.js +0 -1
- package/dist/showcase/assets/chevrons-up-down-C519RKki.js +0 -1
- package/dist/showcase/assets/circle-B_tOHWTY.js +0 -1
- package/dist/showcase/assets/circle-alert-B56AFULT.js +0 -1
- package/dist/showcase/assets/circle-check-B4XZj4Ty.js +0 -1
- package/dist/showcase/assets/circle-check-big-C0iEkwPB.js +0 -1
- package/dist/showcase/assets/circle-dot-DPdJZkc6.js +0 -1
- package/dist/showcase/assets/circle-question-mark-LTetdrq6.js +0 -1
- package/dist/showcase/assets/circle-x-B4FwM-sI.js +0 -1
- package/dist/showcase/assets/clock-3-DZhjBuw8.js +0 -1
- package/dist/showcase/assets/clock-B9Fna2Q3.js +0 -1
- package/dist/showcase/assets/code-xml-B6Xb_vIg.js +0 -1
- package/dist/showcase/assets/collapsible-Bf7Oo37i.js +0 -27
- package/dist/showcase/assets/collapsible-BfLeooy8.js +0 -1
- package/dist/showcase/assets/combobox-4NYfJznY.js +0 -685
- package/dist/showcase/assets/command-7jRRucHf.js +0 -1
- package/dist/showcase/assets/command-D56CjgNc.js +0 -1
- package/dist/showcase/assets/comment-composer-BWeXIZfK.js +0 -1
- package/dist/showcase/assets/comment-item-ChkiK-ut.js +0 -1
- package/dist/showcase/assets/comments-YnEop7v3.js +0 -357
- package/dist/showcase/assets/commerce-7XxWJChs.js +0 -267
- package/dist/showcase/assets/composite-CHcyYCsk.js +0 -1
- package/dist/showcase/assets/contact-card-BXw-VuBm.js +0 -65
- package/dist/showcase/assets/content-container-C4uopCBg.js +0 -1
- package/dist/showcase/assets/copyable-CjVYEJ0P.js +0 -1
- package/dist/showcase/assets/copyable-Cz2jW7yL.js +0 -96
- package/dist/showcase/assets/course-card-CvK3dw9W.js +0 -77
- package/dist/showcase/assets/cpu-Vk5WgcC1.js +0 -1
- package/dist/showcase/assets/credit-card-CaigqZGk.js +0 -1
- package/dist/showcase/assets/css-variables-hLaBmeMt.js +0 -1190
- package/dist/showcase/assets/currency-yO1giHp1.js +0 -149
- package/dist/showcase/assets/dark-surfaces-BPQnyk9a.js +0 -90
- package/dist/showcase/assets/data-view-CjjXn5VT.js +0 -124
- package/dist/showcase/assets/data-view-DF0n8uva.js +0 -4
- package/dist/showcase/assets/database-ChUBDe8E.js +0 -1
- package/dist/showcase/assets/date-block-DUg1Oyn4.js +0 -1
- package/dist/showcase/assets/date-picker-CoQPZa34.js +0 -1
- package/dist/showcase/assets/date-pickers-B-IUbyXw.js +0 -73
- package/dist/showcase/assets/dense-info-zVQSWqOU.js +0 -106
- package/dist/showcase/assets/design-system-consistency-Bnz_h3-6.js +0 -264
- package/dist/showcase/assets/dialog-BtilpgxJ.js +0 -1
- package/dist/showcase/assets/dialog-kf9WwmTC.js +0 -1
- package/dist/showcase/assets/display-utilities-BBzG5EPX.js +0 -267
- package/dist/showcase/assets/dist-9gFIhkw-.js +0 -45
- package/dist/showcase/assets/dist-CGpz_7Mu.js +0 -1
- package/dist/showcase/assets/dollar-sign-CWbYI3Pd.js +0 -1
- package/dist/showcase/assets/download-Bt_z-poH.js +0 -1
- package/dist/showcase/assets/dropdown-menu-C1_SYTHm.js +0 -1
- package/dist/showcase/assets/dropzone-D5BGVTnl.js +0 -1
- package/dist/showcase/assets/earth-sP5mIgG3.js +0 -1
- package/dist/showcase/assets/ellipsis-vertical-BD7kMOzj.js +0 -1
- package/dist/showcase/assets/ellipsis-yqIF49C8.js +0 -1
- package/dist/showcase/assets/empty-DIrJgtrh.js +0 -1
- package/dist/showcase/assets/empty-item-GgnZk2yf.js +0 -49
- package/dist/showcase/assets/empty-state-ZGKkJ6sf.js +0 -190
- package/dist/showcase/assets/empty-state-n_Fspzt-.js +0 -1
- package/dist/showcase/assets/enhanced-activities-CCw_hZnZ.js +0 -357
- package/dist/showcase/assets/enhanced-combobox-bBF-ADDs.js +0 -1
- package/dist/showcase/assets/esm-CyFPn936.js +0 -2
- package/dist/showcase/assets/event-calendar-Czo7yBDx.js +0 -138
- package/dist/showcase/assets/event-log-DJ3B3nMV.js +0 -330
- package/dist/showcase/assets/example-eGsLGIcp.js +0 -1
- package/dist/showcase/assets/external-link-DPOQEVWH.js +0 -1
- package/dist/showcase/assets/eye-CN92NVL0.js +0 -1
- package/dist/showcase/assets/feature-announcement-BXkSW17e.js +0 -34
- package/dist/showcase/assets/file-CFHePlKG.js +0 -1
- package/dist/showcase/assets/file-text--WYCYQMw.js +0 -1
- package/dist/showcase/assets/filter-layout-B35gGmcO.js +0 -1
- package/dist/showcase/assets/filters-GDW_oiT3.js +0 -139
- package/dist/showcase/assets/flag-XsT9XFPr.js +0 -1
- package/dist/showcase/assets/folder-open-RtsQ8vxf.js +0 -1
- package/dist/showcase/assets/form-field-Bijd1Gex.js +0 -1
- package/dist/showcase/assets/format-Ckw4OM66.js +0 -1
- package/dist/showcase/assets/forms-00bU7LN8.js +0 -915
- package/dist/showcase/assets/funnel-qu25WlXD.js +0 -1
- package/dist/showcase/assets/generic-Bf82Wiol.js +0 -1
- package/dist/showcase/assets/getPseudoElementBounds-BR4_m2HH.js +0 -1
- package/dist/showcase/assets/gift-D4GQoqzV.js +0 -1
- package/dist/showcase/assets/giftcard-cards-CMutwaAY.js +0 -85
- package/dist/showcase/assets/git-branch-B2QG2zRg.js +0 -1
- package/dist/showcase/assets/global-search-CRAB9TSF.js +0 -1
- package/dist/showcase/assets/global-search-DY0cKfhY.js +0 -215
- package/dist/showcase/assets/globe-BxZW28rG.js +0 -1
- package/dist/showcase/assets/gradient-card-CQGnXG8r.js +0 -58
- package/dist/showcase/assets/hash-CsRtIoKK.js +0 -1
- package/dist/showcase/assets/header-DzYOgZLP.js +0 -1
- package/dist/showcase/assets/header-notifications-D_CJPbvs.js +0 -1
- package/dist/showcase/assets/heart-B2YsYprq.js +0 -1
- package/dist/showcase/assets/hooks-BhUMA4Tb.js +0 -220
- package/dist/showcase/assets/house-HeRFNhI0.js +0 -1
- package/dist/showcase/assets/icon-badge-CpDkc-S0.js +0 -37
- package/dist/showcase/assets/icon-badge-eNEGgpAV.js +0 -1
- package/dist/showcase/assets/image-T88JyDag.js +0 -1
- package/dist/showcase/assets/inbox-DLrLLnTR.js +0 -1
- package/dist/showcase/assets/index-DDZl6kOS.js +0 -10
- package/dist/showcase/assets/index-nOkXemgw.css +0 -2
- package/dist/showcase/assets/inertValue-BajuuRy4.js +0 -1
- package/dist/showcase/assets/info-CNYfw2Yz.js +0 -1
- package/dist/showcase/assets/inline-stat-BN6yhDR5.js +0 -15
- package/dist/showcase/assets/inline-stat-Bqw3lVfk.js +0 -1
- package/dist/showcase/assets/input-C-9K6F0N.js +0 -1
- package/dist/showcase/assets/input-DaZzfkZV.js +0 -1
- package/dist/showcase/assets/input-group-DE-Xdhv4.js +0 -1
- package/dist/showcase/assets/input-group-DIQZnytn.js +0 -47
- package/dist/showcase/assets/inputs-Cl_JgSR4.js +0 -155
- package/dist/showcase/assets/installation-DdhD4Dkq.js +0 -134
- package/dist/showcase/assets/invoice-header-DOs2ACqQ.js +0 -36
- package/dist/showcase/assets/invoice-items-1EuA62mF.js +0 -36
- package/dist/showcase/assets/invoice-mini-vCrYEtWp.js +0 -14
- package/dist/showcase/assets/invoice-table--mDTs1Iz.js +0 -30
- package/dist/showcase/assets/isSameDay-BNB1yam4.js +0 -1
- package/dist/showcase/assets/isToday-BugOpGJC.js +0 -1
- package/dist/showcase/assets/italic-Ck4UD2ZT.js +0 -1
- package/dist/showcase/assets/item-BcesxqFS.js +0 -139
- package/dist/showcase/assets/item-BgPlwUMv.js +0 -1
- package/dist/showcase/assets/item-CB9k_rmo.js +0 -1
- package/dist/showcase/assets/kanban-cPuSVqWY.js +0 -188
- package/dist/showcase/assets/key-round-BmYjd5dk.js +0 -1
- package/dist/showcase/assets/label-BTIBJBqN.js +0 -1
- package/dist/showcase/assets/languages-he6FNXRs.js +0 -1
- package/dist/showcase/assets/layers-B_48DtOz.js +0 -1
- package/dist/showcase/assets/layout-app-shell-zwLv6jTP.js +0 -608
- package/dist/showcase/assets/layout-auth-2Zv5lr52.js +0 -790
- package/dist/showcase/assets/layout-containers-Dzw3xlKn.js +0 -101
- package/dist/showcase/assets/layout-header-TJ-WVmG3.js +0 -203
- package/dist/showcase/assets/layout-page-CIVQCKXK.js +0 -314
- package/dist/showcase/assets/layout-primitives-i_O81fzT.js +0 -34
- package/dist/showcase/assets/layout-sidebar-eH_pwBq_.js +0 -224
- package/dist/showcase/assets/layout-users-CWSaFBLj.js +0 -117
- package/dist/showcase/assets/layout-workspace-w3oe32GE.js +0 -191
- package/dist/showcase/assets/lib-CoS0xjP8.js +0 -1
- package/dist/showcase/assets/list-checks-DecRPpK3.js +0 -1
- package/dist/showcase/assets/lock-D9f8uXol.js +0 -1
- package/dist/showcase/assets/lock-keyhole-C20eixH6.js +0 -1
- package/dist/showcase/assets/mail-CVgP8Qlo.js +0 -1
- package/dist/showcase/assets/mail-check-mplTKcSH.js +0 -1
- package/dist/showcase/assets/map-B6OGeOup.js +0 -124
- package/dist/showcase/assets/map-pin-BZXSwrzT.js +0 -1
- package/dist/showcase/assets/media-library-DSlVIM1Q.js +0 -699
- package/dist/showcase/assets/mention-inline-suggestions-CNAEeXgy.js +0 -1
- package/dist/showcase/assets/mentions-Cb3g4hDN.js +0 -138
- package/dist/showcase/assets/menus-CE0Hlj8N.js +0 -171
- package/dist/showcase/assets/message-square-HliU8vbW.js +0 -1
- package/dist/showcase/assets/metadata-list-CJ5v5Bvc.js +0 -286
- package/dist/showcase/assets/metadata-list-DY92-pw2.js +0 -1
- package/dist/showcase/assets/metric-DxMTjIvU.js +0 -1
- package/dist/showcase/assets/metric-bar-cW9nWCRl.js +0 -1
- package/dist/showcase/assets/metric-grid-CvfO52X1.js +0 -1
- package/dist/showcase/assets/metric-trend-chip-BmjQdRus.js +0 -1
- package/dist/showcase/assets/metrics-analytics-bar-BZqB5d1y.js +0 -44
- package/dist/showcase/assets/metrics-analytics-cards-jAhlrQCI.js +0 -50
- package/dist/showcase/assets/metrics-comparison-DURZ6qEL.js +0 -76
- package/dist/showcase/assets/metrics-heatmap-HhJDBguh.js +0 -27
- package/dist/showcase/assets/metrics-inline-badge-Dq5k-P6F.js +0 -17
- package/dist/showcase/assets/metrics-kpi-row-DXzhwa6z.js +0 -31
- package/dist/showcase/assets/metrics-micro-grid-C6O5b0wP.js +0 -42
- package/dist/showcase/assets/metrics-overview-Hv2mseb3.js +0 -192
- package/dist/showcase/assets/metrics-stat-cards-CW42vBCS.js +0 -54
- package/dist/showcase/assets/minus-BW62vCxf.js +0 -1
- package/dist/showcase/assets/money-display-CAdGk5Lr.js +0 -1
- package/dist/showcase/assets/month-year-picker-dHuvgz1E.js +0 -1
- package/dist/showcase/assets/navigation-C4uSLvbZ.js +0 -90
- package/dist/showcase/assets/navigation-SjsZrtIc.js +0 -231
- package/dist/showcase/assets/navigation-extras-CMVNVskk.js +0 -43
- package/dist/showcase/assets/onboarding-checklist-C1jwRdMU.js +0 -119
- package/dist/showcase/assets/overflow-tab-bar-BYFLpl5w.js +0 -1
- package/dist/showcase/assets/overlays-0Y8MAz39.js +0 -159
- package/dist/showcase/assets/overlays-ClOnjahL.js +0 -408
- package/dist/showcase/assets/overview-B5ztGmTp.js +0 -184
- package/dist/showcase/assets/package-check-MeSw6bS4.js +0 -1
- package/dist/showcase/assets/package-vYJ0q0QM.js +0 -1
- package/dist/showcase/assets/page-4lMKtBQ7.js +0 -1
- package/dist/showcase/assets/page-action-button-C5-TGSzy.js +0 -1
- package/dist/showcase/assets/page-header-C_-KYryO.js +0 -1
- package/dist/showcase/assets/pagination-D3L3Iwus.js +0 -1
- package/dist/showcase/assets/pagination-dZXPxwHx.js +0 -42
- package/dist/showcase/assets/paperclip-BZhdPOw8.js +0 -1
- package/dist/showcase/assets/password-input-CDSMtGxt.js +0 -1
- package/dist/showcase/assets/pencil-DiYr3CZ9.js +0 -1
- package/dist/showcase/assets/phone-Dm5qzlG8.js +0 -1
- package/dist/showcase/assets/plus-pfGaA3St.js +0 -1
- package/dist/showcase/assets/popover-CjVWDO7C.js +0 -1
- package/dist/showcase/assets/popover-menu-JcZyGV3Y.js +0 -1
- package/dist/showcase/assets/popover-pZ4Jbp0s.js +0 -1
- package/dist/showcase/assets/products-C62MKtAR.js +0 -423
- package/dist/showcase/assets/progress-Btw-ZUaU.js +0 -18
- package/dist/showcase/assets/progress-DpB5LL6R.js +0 -1
- package/dist/showcase/assets/props-table-Bjc9IHmp.js +0 -1
- package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
- package/dist/showcase/assets/quote-DcxVd1fj.js +0 -1
- package/dist/showcase/assets/receipt-BHns-S5Q.js +0 -1
- package/dist/showcase/assets/receipt-text-L0aYasyt.js +0 -1
- package/dist/showcase/assets/refinement-guide-BBOGBJ4I.js +0 -189
- package/dist/showcase/assets/refresh-cw-z6mlm0HI.js +0 -1
- package/dist/showcase/assets/resolveValueLabel-hsarzg5A.js +0 -1
- package/dist/showcase/assets/resource-CIn_zKZ4.js +0 -139
- package/dist/showcase/assets/resource-DxktLgEK.js +0 -1
- package/dist/showcase/assets/resource-selector-card-dkcEQ6bl.js +0 -43
- package/dist/showcase/assets/rich-text-editor-Dd-rWisw.js +0 -124
- package/dist/showcase/assets/rich-text-editor-DvJMFj48.js +0 -143
- package/dist/showcase/assets/rotate-ccw-DEz6nb5P.js +0 -1
- package/dist/showcase/assets/route-BeXaXTk8.js +0 -1
- package/dist/showcase/assets/save-EE7Tc5OT.js +0 -1
- package/dist/showcase/assets/schema-form-RK9Zpz1E.js +0 -327
- package/dist/showcase/assets/scroll-area-BejQJ0Q1.js +0 -32
- package/dist/showcase/assets/scroll-area-DS8LJ7LG.js +0 -1
- package/dist/showcase/assets/section-Cv8i4DIx.js +0 -1
- package/dist/showcase/assets/select-Cuy3YKW9.js +0 -1
- package/dist/showcase/assets/select-qFy1jm91.js +0 -1
- package/dist/showcase/assets/send-CXv0ST9u.js +0 -1
- package/dist/showcase/assets/separator-CecGyBaV.js +0 -1
- package/dist/showcase/assets/separator-CqtFQXrk.js +0 -28
- package/dist/showcase/assets/settings-2-CCeMwMOj.js +0 -1
- package/dist/showcase/assets/settings-CXjN6wTC.js +0 -1
- package/dist/showcase/assets/sheet-Csyrmkqp.js +0 -1
- package/dist/showcase/assets/shield-DR0ZfAFA.js +0 -1
- package/dist/showcase/assets/shield-alert-Bp1iFJ2q.js +0 -1
- package/dist/showcase/assets/shield-check-ClL4B_Cd.js +0 -1
- package/dist/showcase/assets/shopping-bag-DnSmbPUX.js +0 -1
- package/dist/showcase/assets/showcase-CQKt5VGi.js +0 -132
- package/dist/showcase/assets/sidebar-CXy94md1.js +0 -1
- package/dist/showcase/assets/sidebar.context-C8gkOwJ5.js +0 -1
- package/dist/showcase/assets/skeleton-B8wC5P66.js +0 -29
- package/dist/showcase/assets/skeleton-DBlCLlBC.js +0 -1
- package/dist/showcase/assets/slider-BcjkNx6W.js +0 -1
- package/dist/showcase/assets/smart-card-Cg6rtWH9.js +0 -1
- package/dist/showcase/assets/sonner-ZGBQ13wS.js +0 -22
- package/dist/showcase/assets/sortable.esm-CGFWc-Cn.js +0 -5
- package/dist/showcase/assets/sparkles-q1-9JZqa.js +0 -1
- package/dist/showcase/assets/spinner-CKg8QLHu.js +0 -1
- package/dist/showcase/assets/spinner-D1Ao9j9T.js +0 -49
- package/dist/showcase/assets/spinner-oahLIkgb.js +0 -30
- package/dist/showcase/assets/square-pen-DZ3bQJia.js +0 -1
- package/dist/showcase/assets/stacked-avatars-CKPtb3Hj.js +0 -1
- package/dist/showcase/assets/star-suetD-KI.js +0 -1
- package/dist/showcase/assets/startOfDay-OjIsUeiv.js +0 -1
- package/dist/showcase/assets/styles-1mYOoC2k.js +0 -1
- package/dist/showcase/assets/suggestions-DLYaI-In.js +0 -126
- package/dist/showcase/assets/switch-CTTrJNwo.js +0 -1
- package/dist/showcase/assets/switch-ChJWWmxN.js +0 -1
- package/dist/showcase/assets/sync-DsHYydvo.js +0 -124
- package/dist/showcase/assets/table-Ck2ptin2.js +0 -686
- package/dist/showcase/assets/table-DyJ9oADQ.js +0 -1
- package/dist/showcase/assets/table-actions-COU4zHfh.js +0 -1
- package/dist/showcase/assets/tabs-Bl_RHGIw.js +0 -1
- package/dist/showcase/assets/tabs-DS-4VSkb.js +0 -19
- package/dist/showcase/assets/tags-input-BlYzb5fF.js +0 -1
- package/dist/showcase/assets/text-button-OPdNs3fb.js +0 -1
- package/dist/showcase/assets/text-link-D27gqGeg.js +0 -1
- package/dist/showcase/assets/textarea-DpC7J5F-.js +0 -1
- package/dist/showcase/assets/textarea-JtXUjxvc.js +0 -1
- package/dist/showcase/assets/timelines-DQM-B4Xo.js +0 -200
- package/dist/showcase/assets/toggle-group-CMneKREH.js +0 -1
- package/dist/showcase/assets/toggles-CAXXgjO_.js +0 -71
- package/dist/showcase/assets/toggles-group-CHRqrpoM.js +0 -32
- package/dist/showcase/assets/tooltip-CwGZAioX.js +0 -31
- package/dist/showcase/assets/trash-2-BpMb9Zbb.js +0 -1
- package/dist/showcase/assets/trending-up-B1BzitCg.js +0 -1
- package/dist/showcase/assets/truck-CDSE5-HZ.js +0 -1
- package/dist/showcase/assets/typography-BoNJ1hRZ.js +0 -223
- package/dist/showcase/assets/ui-badge-Djh6NiB2.js +0 -28
- package/dist/showcase/assets/ui-card-QC_rl_H2.js +0 -30
- package/dist/showcase/assets/ui-table-qAGsc3qN.js +0 -42
- package/dist/showcase/assets/upload-tray-DKCJgW5u.js +0 -138
- package/dist/showcase/assets/use-layout-link-BPlsZ8Ys.js +0 -1
- package/dist/showcase/assets/useAnchoredPopupScrollLock-526MebAC.js +0 -1
- package/dist/showcase/assets/useAriaLabelledBy-CqySZiH9.js +0 -1
- package/dist/showcase/assets/useCollapsiblePanel-DWX7LbGX.js +0 -1
- package/dist/showcase/assets/useCompositeItem-DGEBUXgE.js +0 -1
- package/dist/showcase/assets/useCompositeListItem-B2nuNlc2.js +0 -1
- package/dist/showcase/assets/useLabelableId-DY4O1lpt.js +0 -1
- package/dist/showcase/assets/useOpenInteractionType-DxwujDvt.js +0 -1
- package/dist/showcase/assets/useRender-BPoNv-Lm.js +0 -1
- package/dist/showcase/assets/useTriggerFocusGuards-BnOSAjfy.js +0 -1
- package/dist/showcase/assets/useValueChanged-CXmDOWxx.js +0 -1
- package/dist/showcase/assets/user-BGchdtV_.js +0 -1
- package/dist/showcase/assets/user-plus-BifI_xVA.js +0 -1
- package/dist/showcase/assets/users-Cl5yYqdg.js +0 -1
- package/dist/showcase/assets/vendor-profile-BNW4FYna.js +0 -37
- package/dist/showcase/assets/video-BtQPixYN.js +0 -1
- package/dist/showcase/assets/wrench-CRalc5fG.js +0 -1
- package/dist/showcase/assets/x-D6hUY89S.js +0 -1
- package/dist/showcase/assets/zap-v_qbqeI5.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/filters/partials/filters-button.tsx"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"filters-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/filters/partials/filters-button.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,UAAU,kBAAkB;IACxB,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,qBAAqB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC1C,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvD,wBAAwB,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,aAAa,CAAC,EAC1B,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,wBAAwB,GAC3B,EAAE,kBAAkB,+BAuDpB"}
|
|
@@ -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-BMiPFJIb.cjs"),i=require("../../../_shared/typography-GtkgK9QX.cjs"),a=require("../../../_shared/badge-B8xGFpfM.cjs"),o=require("../../../_shared/input-DV3g7Fm5.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-CfQtOuBK.cjs"),i=require("../../../_shared/typography-CWEobAJV.cjs"),a=require("../../../_shared/badge-LSAgdmGt.cjs"),o=require("../../../_shared/input-Dvvmn96E.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-Be2ayMxF.js";
|
|
4
|
+
import { s as r } from "../../../_shared/typography-5bLhAYaK.js";
|
|
5
|
+
import { t as i } from "../../../_shared/badge-nZ2zbAV4.js";
|
|
6
|
+
import { t as a } from "../../../_shared/input-CzJzVyQ0.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 })
|