themelia-react-ui 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/LICENSE +21 -0
- package/README.md +249 -2
- package/THIRD_PARTY_NOTICES.md +65 -0
- package/dist/accordion-BRWh3BM1.js +205 -0
- package/dist/accordion-BRWh3BM1.js.map +1 -0
- package/dist/action-menu-Cx3SdfbN.js +265 -0
- package/dist/action-menu-Cx3SdfbN.js.map +1 -0
- package/dist/action-presentation.js +11 -0
- package/dist/action-presentation.js.map +1 -0
- package/dist/affordance-geometry.generated-DXl-Zb3Z.js +23 -0
- package/dist/affordance-geometry.generated-DXl-Zb3Z.js.map +1 -0
- package/dist/ai-artifact-DkOArd3-.js +1121 -0
- package/dist/ai-artifact-DkOArd3-.js.map +1 -0
- package/dist/anchored-positioning-DPnKTvNs.js +6 -0
- package/dist/anchored-positioning-DPnKTvNs.js.map +1 -0
- package/dist/app-shell-BH_bGcE2.js +235 -0
- package/dist/app-shell-BH_bGcE2.js.map +1 -0
- package/dist/attachment-DsLgNHXt.js +244 -0
- package/dist/attachment-DsLgNHXt.js.map +1 -0
- package/dist/auth-BDB1V_2q.js +704 -0
- package/dist/auth-BDB1V_2q.js.map +1 -0
- package/dist/avatar-CsnWaYmt.js +173 -0
- package/dist/avatar-CsnWaYmt.js.map +1 -0
- package/dist/badge-BZXZT9wd.js +92 -0
- package/dist/badge-BZXZT9wd.js.map +1 -0
- package/dist/base/accordion.js +3 -0
- package/dist/base/action-menu.js +3 -0
- package/dist/base/attachment.js +3 -0
- package/dist/base/avatar.js +3 -0
- package/dist/base/badge.js +3 -0
- package/dist/base/buttons.js +3 -0
- package/dist/base/cards.js +4 -0
- package/dist/base/carousel.js +251 -0
- package/dist/base/carousel.js.map +1 -0
- package/dist/base/cascader.js +361 -0
- package/dist/base/cascader.js.map +1 -0
- package/dist/base/chart.js +3 -0
- package/dist/base/choice-inputs.js +3 -0
- package/dist/base/code-block.js +3 -0
- package/dist/base/combobox.js +3 -0
- package/dist/base/command.js +3 -0
- package/dist/base/copyable.js +3 -0
- package/dist/base/date-pickers.js +4 -0
- package/dist/base/display.js +8 -0
- package/dist/base/feedback.js +4 -0
- package/dist/base/forms-numeric.js +3 -0
- package/dist/base/forms.js +4 -0
- package/dist/base/item.js +3 -0
- package/dist/base/media-gallery.js +3 -0
- package/dist/base/navigation.js +8 -0
- package/dist/base/popover-menu.js +3 -0
- package/dist/base/popover.js +3 -0
- package/dist/base/qr-code.js +63 -0
- package/dist/base/qr-code.js.map +1 -0
- package/dist/base/repeaters.js +620 -0
- package/dist/base/repeaters.js.map +1 -0
- package/dist/base/sheet.js +3 -0
- package/dist/base/sidebar.js +3 -0
- package/dist/base/signature-pad.js +364 -0
- package/dist/base/signature-pad.js.map +1 -0
- package/dist/base/skeleton.js +3 -0
- package/dist/base/spinner.js +3 -0
- package/dist/base/structure.js +3 -0
- package/dist/base/table.js +3 -0
- package/dist/base/text-inputs.js +4 -0
- package/dist/base/toaster.js +102 -0
- package/dist/base/toaster.js.map +1 -0
- package/dist/base/tree.js +3 -0
- package/dist/base/upload-queue.js +3 -0
- package/dist/base/upload.js +5 -0
- package/dist/base/value-inputs.js +3 -0
- package/dist/blocks/admin.js +478 -0
- package/dist/blocks/admin.js.map +1 -0
- package/dist/blocks/ai.js +1021 -0
- package/dist/blocks/ai.js.map +1 -0
- package/dist/blocks/analytics.js +1499 -0
- package/dist/blocks/analytics.js.map +1 -0
- package/dist/blocks/collaboration.js +3 -0
- package/dist/blocks/commerce/receipt.js +3 -0
- package/dist/blocks/commerce.js +3393 -0
- package/dist/blocks/commerce.js.map +1 -0
- package/dist/blocks/data-display.js +3 -0
- package/dist/blocks/onboarding.js +128 -0
- package/dist/blocks/onboarding.js.map +1 -0
- package/dist/blocks/timelines.js +3 -0
- package/dist/breadcrumbs-DdQ_I5ra.js +127 -0
- package/dist/breadcrumbs-DdQ_I5ra.js.map +1 -0
- package/dist/button-BS6l5JUw.js +47 -0
- package/dist/button-BS6l5JUw.js.map +1 -0
- package/dist/buttons-Co6GavvM.js +674 -0
- package/dist/buttons-Co6GavvM.js.map +1 -0
- package/dist/cards-BMB0laLG.js +66 -0
- package/dist/cards-BMB0laLG.js.map +1 -0
- package/dist/chart-DVfcwQu6.js +149 -0
- package/dist/chart-DVfcwQu6.js.map +1 -0
- package/dist/choice-inputs-CavA-SGV.js +644 -0
- package/dist/choice-inputs-CavA-SGV.js.map +1 -0
- package/dist/code-block-DIlqzoiD.js +183 -0
- package/dist/code-block-DIlqzoiD.js.map +1 -0
- package/dist/collapsible-DsnktFNv.js +81 -0
- package/dist/collapsible-DsnktFNv.js.map +1 -0
- package/dist/collection-content-C4fthJV_.js +53 -0
- package/dist/collection-content-C4fthJV_.js.map +1 -0
- package/dist/combobox-CHD750do.js +850 -0
- package/dist/combobox-CHD750do.js.map +1 -0
- package/dist/combobox-HDftpzxt.js +273 -0
- package/dist/combobox-HDftpzxt.js.map +1 -0
- package/dist/command-D0kWBZfd.js +421 -0
- package/dist/command-D0kWBZfd.js.map +1 -0
- package/dist/comments-CvYeglMS.js +1132 -0
- package/dist/comments-CvYeglMS.js.map +1 -0
- package/dist/component-vocabulary.js +26 -0
- package/dist/component-vocabulary.js.map +1 -0
- package/dist/components/base/accordion/accordion-variants.d.ts +36 -0
- package/dist/components/base/accordion/accordion.d.ts +20 -0
- package/dist/components/base/accordion/accordion.strings.d.ts +15 -0
- package/dist/components/base/accordion/accordion.types.d.ts +74 -0
- package/dist/components/base/accordion/index.d.ts +4 -0
- package/dist/components/base/accordion/smart-accordion.d.ts +7 -0
- package/dist/components/base/action-menu/action-menu.d.ts +147 -0
- package/dist/components/base/action-menu/action-menu.strings.d.ts +4 -0
- package/dist/components/base/action-menu/index.d.ts +11 -0
- package/dist/components/base/attachment/attachment.d.ts +17 -0
- package/dist/components/base/attachment/attachment.types.d.ts +49 -0
- package/dist/components/base/attachment/index.d.ts +2 -0
- package/dist/components/base/avatar/avatar.d.ts +24 -0
- package/dist/components/base/avatar/index.d.ts +14 -0
- package/dist/components/base/avatar/stacked-avatars.d.ts +39 -0
- package/dist/components/base/badge/badge.d.ts +22 -0
- package/dist/components/base/badge/badge.recipes.d.ts +20 -0
- package/dist/components/base/badge/index.d.ts +2 -0
- package/dist/components/base/buttons/base-button.d.ts +24 -0
- package/dist/components/base/buttons/button-group.d.ts +28 -0
- package/dist/components/base/buttons/button-group.recipes.d.ts +6 -0
- package/dist/components/base/buttons/button.d.ts +47 -0
- package/dist/components/base/buttons/button.recipes.d.ts +23 -0
- package/dist/components/base/buttons/button.variants.d.ts +8 -0
- package/dist/components/base/buttons/index.d.ts +7 -0
- package/dist/components/base/buttons/loader-button.d.ts +40 -0
- package/dist/components/base/buttons/text-button.d.ts +19 -0
- package/dist/components/base/buttons/tooltip-button.d.ts +7 -0
- package/dist/components/base/cards/card-actions.d.ts +41 -0
- package/dist/components/base/cards/card.recipes.d.ts +28 -0
- package/dist/components/base/cards/index.d.ts +5 -0
- package/dist/components/base/cards/partials/card-primitives.d.ts +21 -0
- package/dist/components/base/cards/partials/has-renderable-content.d.ts +8 -0
- package/dist/components/base/cards/partials/smart-card-actions-menu.d.ts +8 -0
- package/dist/components/base/cards/partials/smart-card-alert.d.ts +20 -0
- package/dist/components/base/cards/partials/smart-card-header-row.d.ts +33 -0
- package/dist/components/base/cards/partials/smart-card-skeleton.d.ts +16 -0
- package/dist/components/base/cards/smart-card.d.ts +9 -0
- package/dist/components/base/cards/smart-card.strings.d.ts +18 -0
- package/dist/components/base/cards/smart-card.tokens.d.ts +44 -0
- package/dist/components/base/cards/smart-card.types.d.ts +144 -0
- package/dist/components/base/carousel/carousel.d.ts +105 -0
- package/dist/components/base/carousel/carousel.strings.d.ts +6 -0
- package/dist/components/base/carousel/index.d.ts +2 -0
- package/dist/components/base/cascader/cascader.d.ts +2 -0
- package/dist/components/base/cascader/cascader.types.d.ts +57 -0
- package/dist/components/base/cascader/index.d.ts +2 -0
- package/dist/components/base/chart/chart.d.ts +99 -0
- package/dist/components/base/chart/index.d.ts +9 -0
- package/dist/components/base/choice-inputs/card-checkbox-group.d.ts +27 -0
- package/dist/components/base/choice-inputs/card-radio-group.d.ts +19 -0
- package/dist/components/base/choice-inputs/checkbox.d.ts +17 -0
- package/dist/components/base/choice-inputs/choice-types.d.ts +57 -0
- package/dist/components/base/choice-inputs/index.d.ts +28 -0
- package/dist/components/base/choice-inputs/list-radio-group.d.ts +13 -0
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +27 -0
- package/dist/components/base/choice-inputs/select-popup.d.ts +26 -0
- package/dist/components/base/choice-inputs/select.d.ts +94 -0
- package/dist/components/base/choice-inputs/switch-card.d.ts +36 -0
- package/dist/components/base/choice-inputs/switch.d.ts +38 -0
- package/dist/components/base/choice-inputs/toggle-field.d.ts +41 -0
- package/dist/components/base/code-block/code-block.d.ts +3 -0
- package/dist/components/base/code-block/code-block.types.d.ts +46 -0
- package/dist/components/base/code-block/index.d.ts +2 -0
- package/dist/components/base/code-block/use-code-copy.d.ts +6 -0
- package/dist/components/base/combobox/index.d.ts +27 -0
- package/dist/components/base/command/command.d.ts +73 -0
- package/dist/components/base/command/index.d.ts +1 -0
- package/dist/components/base/copyable/copyable.d.ts +36 -0
- package/dist/components/base/copyable/index.d.ts +1 -0
- package/dist/components/base/date-pickers/date-picker-footer.d.ts +14 -0
- package/dist/components/base/date-pickers/date-picker-header.d.ts +10 -0
- package/dist/components/base/date-pickers/date-picker-helpers.d.ts +87 -0
- package/dist/components/base/date-pickers/date-picker-internals.d.ts +10 -0
- package/dist/components/base/date-pickers/date-picker-multiple.d.ts +20 -0
- package/dist/components/base/date-pickers/date-picker-range.d.ts +15 -0
- package/dist/components/base/date-pickers/date-picker-single.d.ts +15 -0
- package/dist/components/base/date-pickers/date-picker.d.ts +3 -0
- package/dist/components/base/date-pickers/date-picker.recipes.d.ts +18 -0
- package/dist/components/base/date-pickers/date-pickers.strings.d.ts +14 -0
- package/dist/components/base/date-pickers/datepicker.types.d.ts +285 -0
- package/dist/components/base/date-pickers/index.d.ts +7 -0
- package/dist/components/base/date-pickers/month-year-picker.d.ts +4 -0
- package/dist/components/base/date-pickers/time-picker.d.ts +70 -0
- package/dist/components/base/display/alert-dialog.d.ts +25 -0
- package/dist/components/base/display/boolean-indicator.d.ts +25 -0
- package/dist/components/base/display/collapsible.d.ts +21 -0
- package/dist/components/base/display/content-block.d.ts +73 -0
- package/dist/components/base/display/content-block.strings.d.ts +5 -0
- package/dist/components/base/display/date-block.d.ts +70 -0
- package/dist/components/base/display/dialog.d.ts +35 -0
- package/dist/components/base/display/icon-badge/icon-badge.d.ts +45 -0
- package/dist/components/base/display/icon-badge/index.d.ts +1 -0
- package/dist/components/base/display/icon-size.d.ts +5 -0
- package/dist/components/base/display/index.d.ts +31 -0
- package/dist/components/base/display/placeholder-pattern.d.ts +7 -0
- package/dist/components/base/display/scroll-area.d.ts +12 -0
- package/dist/components/base/display/separator.d.ts +10 -0
- package/dist/components/base/display/surface-title.d.ts +10 -0
- package/dist/components/base/display/tooltip.d.ts +28 -0
- package/dist/components/base/display/visually-hidden.d.ts +14 -0
- package/dist/components/base/feedback/alert.d.ts +49 -0
- package/dist/components/base/feedback/empty.d.ts +48 -0
- package/dist/components/base/feedback/index.d.ts +27 -0
- package/dist/components/base/feedback/progress.d.ts +81 -0
- package/dist/components/base/feedback/progress.strings.d.ts +5 -0
- package/dist/components/base/feedback/state-display.d.ts +39 -0
- package/dist/components/base/forms/controlled-form-field.d.ts +32 -0
- package/dist/components/base/forms/controlled-form-field.strings.d.ts +7 -0
- package/dist/components/base/forms/form-field.d.ts +38 -0
- package/dist/components/base/forms/form-sizing.d.ts +86 -0
- package/dist/components/base/forms/index.d.ts +4 -0
- package/dist/components/base/forms/operation-password-form.d.ts +16 -0
- package/dist/components/base/forms/workflow.d.ts +68 -0
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +47 -0
- package/dist/components/base/forms-numeric/currency-input.d.ts +44 -0
- package/dist/components/base/forms-numeric/decimal-input.d.ts +53 -0
- package/dist/components/base/forms-numeric/dimensions-input.d.ts +79 -0
- package/dist/components/base/forms-numeric/index.d.ts +21 -0
- package/dist/components/base/forms-numeric/money-input.d.ts +67 -0
- package/dist/components/base/forms-numeric/money-input.strings.d.ts +6 -0
- package/dist/components/base/forms-numeric/percentage-input.d.ts +8 -0
- package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +12 -0
- package/dist/components/base/forms-numeric/weight-input.d.ts +54 -0
- package/dist/components/base/item/index.d.ts +2 -0
- package/dist/components/base/item/item.d.ts +12 -0
- package/dist/components/base/item/item.types.d.ts +100 -0
- package/dist/components/base/media-gallery/index.d.ts +2 -0
- package/dist/components/base/media-gallery/media-gallery.d.ts +45 -0
- package/dist/components/base/navigation/breadcrumbs.d.ts +37 -0
- package/dist/components/base/navigation/dropdown-menu.d.ts +45 -0
- package/dist/components/base/navigation/index.d.ts +21 -0
- package/dist/components/base/navigation/language-switcher.d.ts +12 -0
- package/dist/components/base/navigation/navigation-tabs.d.ts +40 -0
- package/dist/components/base/navigation/overflow-tab-bar.d.ts +43 -0
- package/dist/components/base/navigation/page-header/index.d.ts +1 -0
- package/dist/components/base/navigation/page-header/page-header.d.ts +88 -0
- package/dist/components/base/navigation/pagination.d.ts +61 -0
- package/dist/components/base/navigation/tab-scroll-viewport.d.ts +12 -0
- package/dist/components/base/navigation/tabs.d.ts +23 -0
- package/dist/components/base/popover/collection-content.d.ts +22 -0
- package/dist/components/base/popover/index.d.ts +1 -0
- package/dist/components/base/popover/popover.d.ts +54 -0
- package/dist/components/base/popover/popover.recipes.d.ts +29 -0
- package/dist/components/base/popover-menu/index.d.ts +3 -0
- package/dist/components/base/popover-menu/popover-menu.d.ts +82 -0
- package/dist/components/base/popover-menu/popover-menu.types.d.ts +30 -0
- package/dist/components/base/qr-code/index.d.ts +8 -0
- package/dist/components/base/qr-code/qr-code.d.ts +13 -0
- package/dist/components/base/repeaters/index.d.ts +21 -0
- package/dist/components/base/repeaters/key-value-editor.d.ts +27 -0
- package/dist/components/base/repeaters/localized-object-field.d.ts +35 -0
- package/dist/components/base/repeaters/localized-string-field.d.ts +25 -0
- package/dist/components/base/repeaters/localized-string-repeater.d.ts +44 -0
- package/dist/components/base/repeaters/object-repeater.d.ts +66 -0
- package/dist/components/base/repeaters/repeater.d.ts +87 -0
- package/dist/components/base/repeaters/repeaters.strings.d.ts +16 -0
- package/dist/components/base/repeaters/string-repeater.d.ts +65 -0
- package/dist/components/base/repeaters/string-repeater.utils.d.ts +2 -0
- package/dist/components/base/sheet/index.d.ts +1 -0
- package/dist/components/base/sheet/sheet.d.ts +35 -0
- package/dist/components/base/sidebar/index.d.ts +6 -0
- package/dist/components/base/sidebar/sidebar.d.ts +135 -0
- package/dist/components/base/signature-pad/index.d.ts +4 -0
- package/dist/components/base/signature-pad/signature-pad.d.ts +4 -0
- package/dist/components/base/signature-pad/signature-pad.types.d.ts +66 -0
- package/dist/components/base/signature-pad/signature-pad.utils.d.ts +8 -0
- package/dist/components/base/skeleton/index.d.ts +14 -0
- package/dist/components/base/skeleton/skeleton.d.ts +54 -0
- package/dist/components/base/spinner/index.d.ts +1 -0
- package/dist/components/base/spinner/spinner.d.ts +32 -0
- package/dist/components/base/structure/adaptive-grid.d.ts +3 -0
- package/dist/components/base/structure/grid-cell.d.ts +3 -0
- package/dist/components/base/structure/grid.d.ts +3 -0
- package/dist/components/base/structure/index.d.ts +5 -0
- package/dist/components/base/structure/stack.d.ts +3 -0
- package/dist/components/base/structure/structure.context.d.ts +6 -0
- package/dist/components/base/structure/structure.recipes.d.ts +27 -0
- package/dist/components/base/structure/structure.responsive.d.ts +5 -0
- package/dist/components/base/structure/structure.types.d.ts +51 -0
- package/dist/components/base/table/index.d.ts +18 -0
- package/dist/components/base/text-inputs/hooks/index.d.ts +1 -0
- package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +48 -0
- package/dist/components/base/text-inputs/index.d.ts +21 -0
- package/dist/components/base/text-inputs/input-group.d.ts +46 -0
- package/dist/components/base/text-inputs/input.d.ts +45 -0
- package/dist/components/base/text-inputs/password-input.d.ts +28 -0
- package/dist/components/base/text-inputs/slug-field.d.ts +21 -0
- package/dist/components/base/text-inputs/textarea.d.ts +37 -0
- package/dist/components/base/toaster/index.d.ts +1 -0
- package/dist/components/base/toaster/toaster.d.ts +6 -0
- package/dist/components/base/tree/hierarchy.d.ts +11 -0
- package/dist/components/base/tree/index.d.ts +2 -0
- package/dist/components/base/tree/tree.d.ts +3 -0
- package/dist/components/base/tree/tree.types.d.ts +47 -0
- package/dist/components/base/upload/avatar-upload.d.ts +39 -0
- package/dist/components/base/upload/dropzone.d.ts +40 -0
- package/dist/components/base/upload/file-picker-input.d.ts +15 -0
- package/dist/components/base/upload/file-upload.d.ts +9 -0
- package/dist/components/base/upload/file-upload.strings.d.ts +18 -0
- package/dist/components/base/upload/file-upload.types.d.ts +68 -0
- package/dist/components/base/upload/file-upload.validation.d.ts +21 -0
- package/dist/components/base/upload/image-upload.d.ts +57 -0
- package/dist/components/base/upload/index.d.ts +26 -0
- package/dist/components/base/upload/use-file-drop-target.d.ts +22 -0
- package/dist/components/base/upload-queue/index.d.ts +3 -0
- package/dist/components/base/upload-queue/upload-progress-list.d.ts +55 -0
- package/dist/components/base/upload-queue/upload-tray.d.ts +46 -0
- package/dist/components/base/value-inputs/color-input.d.ts +26 -0
- package/dist/components/base/value-inputs/date-time-input.d.ts +19 -0
- package/dist/components/base/value-inputs/index.d.ts +25 -0
- package/dist/components/base/value-inputs/phone-input.d.ts +48 -0
- package/dist/components/base/value-inputs/slider.d.ts +59 -0
- package/dist/components/base/value-inputs/tags-input.d.ts +67 -0
- package/dist/components/blocks/admin/action-surfaces/index.d.ts +127 -0
- package/dist/components/blocks/admin/admin.strings.d.ts +11 -0
- package/dist/components/blocks/admin/api-key-list/api-key-list.d.ts +2 -0
- package/dist/components/blocks/admin/api-key-list/api-key-list.strings.d.ts +16 -0
- package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +58 -0
- package/dist/components/blocks/admin/api-key-list/index.d.ts +3 -0
- package/dist/components/blocks/admin/index.d.ts +4 -0
- package/dist/components/blocks/admin/role-permission/index.d.ts +2 -0
- package/dist/components/blocks/admin/role-permission/role-permission.d.ts +5 -0
- package/dist/components/blocks/admin/role-permission/types.d.ts +26 -0
- package/dist/components/blocks/ai/ai-agent/ai-agent.d.ts +5 -0
- package/dist/components/blocks/ai/ai-agent/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-agent/types.d.ts +30 -0
- package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +5 -0
- package/dist/components/blocks/ai/ai-artifact/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-artifact/types.d.ts +50 -0
- package/dist/components/blocks/ai/ai-attachment/ai-attachment.d.ts +5 -0
- package/dist/components/blocks/ai/ai-attachment/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-attachment/types.d.ts +35 -0
- package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +5 -0
- package/dist/components/blocks/ai/ai-chain-of-thought/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +36 -0
- package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +5 -0
- package/dist/components/blocks/ai/ai-citation/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-citation/types.d.ts +38 -0
- package/dist/components/blocks/ai/ai-classification/ai-classification.d.ts +2 -0
- package/dist/components/blocks/ai/ai-classification/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-classification/types.d.ts +27 -0
- package/dist/components/blocks/ai/ai-code-block/ai-code-block.d.ts +6 -0
- package/dist/components/blocks/ai/ai-code-block/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-code-block/types.d.ts +38 -0
- package/dist/components/blocks/ai/ai-confidence/ai-confidence.d.ts +5 -0
- package/dist/components/blocks/ai/ai-confidence/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-confidence/types.d.ts +25 -0
- package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +5 -0
- package/dist/components/blocks/ai/ai-confirmation/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-confirmation/types.d.ts +40 -0
- package/dist/components/blocks/ai/ai-feedback/ai-feedback.d.ts +5 -0
- package/dist/components/blocks/ai/ai-feedback/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-feedback/types.d.ts +24 -0
- package/dist/components/blocks/ai/ai-file-tree/ai-file-tree.d.ts +5 -0
- package/dist/components/blocks/ai/ai-file-tree/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-file-tree/types.d.ts +59 -0
- package/dist/components/blocks/ai/ai-inline-citation/ai-inline-citation.d.ts +5 -0
- package/dist/components/blocks/ai/ai-inline-citation/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +22 -0
- package/dist/components/blocks/ai/ai-message-bubble/ai-message-bubble.d.ts +6 -0
- package/dist/components/blocks/ai/ai-message-bubble/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-message-bubble/types.d.ts +35 -0
- package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +5 -0
- package/dist/components/blocks/ai/ai-package-info/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-package-info/types.d.ts +39 -0
- package/dist/components/blocks/ai/ai-prompt-suggestions/ai-prompt-suggestions.d.ts +5 -0
- package/dist/components/blocks/ai/ai-prompt-suggestions/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-prompt-suggestions/types.d.ts +26 -0
- package/dist/components/blocks/ai/ai-reasoning/ai-reasoning.d.ts +5 -0
- package/dist/components/blocks/ai/ai-reasoning/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-reasoning/types.d.ts +32 -0
- package/dist/components/blocks/ai/ai-shimmer/ai-shimmer.d.ts +5 -0
- package/dist/components/blocks/ai/ai-shimmer/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-shimmer/types.d.ts +11 -0
- package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +5 -0
- package/dist/components/blocks/ai/ai-sources/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-sources/types.d.ts +44 -0
- package/dist/components/blocks/ai/ai-summary/ai-summary.d.ts +2 -0
- package/dist/components/blocks/ai/ai-summary/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-summary/types.d.ts +32 -0
- package/dist/components/blocks/ai/ai-task/ai-task.d.ts +5 -0
- package/dist/components/blocks/ai/ai-task/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-task/types.d.ts +38 -0
- package/dist/components/blocks/ai/ai-token-usage/ai-token-usage.d.ts +5 -0
- package/dist/components/blocks/ai/ai-token-usage/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-token-usage/types.d.ts +22 -0
- package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +5 -0
- package/dist/components/blocks/ai/ai-tool-call/index.d.ts +2 -0
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +38 -0
- package/dist/components/blocks/ai/ai.strings.d.ts +36 -0
- package/dist/components/blocks/ai/index.d.ts +24 -0
- package/dist/components/blocks/ai/use-copy-feedback.d.ts +6 -0
- package/dist/components/blocks/analytics/activity-heatmap/activity-heatmap.d.ts +5 -0
- package/dist/components/blocks/analytics/activity-heatmap/index.d.ts +2 -0
- package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +20 -0
- package/dist/components/blocks/analytics/analytics.strings.d.ts +35 -0
- package/dist/components/blocks/analytics/atoms/metric-skeleton.d.ts +13 -0
- package/dist/components/blocks/analytics/atoms/metric-sparkline.d.ts +15 -0
- package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +15 -0
- package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +42 -0
- package/dist/components/blocks/analytics/chart-card/index.d.ts +1 -0
- package/dist/components/blocks/analytics/format-metric-value.d.ts +8 -0
- package/dist/components/blocks/analytics/index.d.ts +34 -0
- package/dist/components/blocks/analytics/metric/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric/metric.d.ts +28 -0
- package/dist/components/blocks/analytics/metric-bar/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric-bar/metric-bar.d.ts +22 -0
- package/dist/components/blocks/analytics/metric-comparison/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +26 -0
- package/dist/components/blocks/analytics/metric-gradient/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric-gradient/metric-gradient.d.ts +19 -0
- package/dist/components/blocks/analytics/metric-grid/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +33 -0
- package/dist/components/blocks/analytics/metric-micro-grid/index.d.ts +1 -0
- package/dist/components/blocks/analytics/metric-micro-grid/metric-micro-grid.d.ts +23 -0
- package/dist/components/blocks/analytics/time-ruler/index.d.ts +2 -0
- package/dist/components/blocks/analytics/time-ruler/time-ruler.d.ts +5 -0
- package/dist/components/blocks/analytics/time-ruler/types.d.ts +32 -0
- package/dist/components/blocks/analytics/types.d.ts +83 -0
- package/dist/components/blocks/collaboration/index.d.ts +1 -0
- package/dist/components/blocks/collaboration/message/index.d.ts +2 -0
- package/dist/components/blocks/collaboration/message/message.d.ts +8 -0
- package/dist/components/blocks/collaboration/message/message.types.d.ts +30 -0
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +5 -0
- package/dist/components/blocks/commerce/address-card/index.d.ts +2 -0
- package/dist/components/blocks/commerce/address-card/types.d.ts +43 -0
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +12 -0
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +36 -0
- package/dist/components/blocks/commerce/booking-calendar-event-card/index.d.ts +2 -0
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +5 -0
- package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -0
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +53 -0
- package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +5 -0
- package/dist/components/blocks/commerce/coupon-input/index.d.ts +2 -0
- package/dist/components/blocks/commerce/coupon-input/types.d.ts +35 -0
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +5 -0
- package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -0
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +27 -0
- package/dist/components/blocks/commerce/format-signed-amount.d.ts +22 -0
- package/dist/components/blocks/commerce/giftcard-card/giftcard-card.d.ts +62 -0
- package/dist/components/blocks/commerce/giftcard-card/index.d.ts +2 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +10 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +9 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +7 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +11 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +10 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +10 -0
- package/dist/components/blocks/commerce/giftcard-card/types.d.ts +83 -0
- package/dist/components/blocks/commerce/index.d.ts +34 -0
- package/dist/components/blocks/commerce/inventory-level/index.d.ts +3 -0
- package/dist/components/blocks/commerce/inventory-level/inventory-level.d.ts +5 -0
- package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +10 -0
- package/dist/components/blocks/commerce/inventory-level/types.d.ts +20 -0
- package/dist/components/blocks/commerce/inventory-section/index.d.ts +2 -0
- package/dist/components/blocks/commerce/inventory-section/inventory-section.d.ts +5 -0
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +105 -0
- package/dist/components/blocks/commerce/invoice-header/index.d.ts +2 -0
- package/dist/components/blocks/commerce/invoice-header/invoice-header.d.ts +5 -0
- package/dist/components/blocks/commerce/invoice-header/types.d.ts +51 -0
- package/dist/components/blocks/commerce/invoice-line-items/index.d.ts +2 -0
- package/dist/components/blocks/commerce/invoice-line-items/invoice-line-items.d.ts +5 -0
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +64 -0
- package/dist/components/blocks/commerce/invoice-mini/index.d.ts +2 -0
- package/dist/components/blocks/commerce/invoice-mini/invoice-mini.d.ts +5 -0
- package/dist/components/blocks/commerce/invoice-mini/types.d.ts +28 -0
- package/dist/components/blocks/commerce/loyalty-points/index.d.ts +2 -0
- package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +5 -0
- package/dist/components/blocks/commerce/loyalty-points/types.d.ts +32 -0
- package/dist/components/blocks/commerce/order-status/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-status/order-status.d.ts +5 -0
- package/dist/components/blocks/commerce/order-status/types.d.ts +35 -0
- package/dist/components/blocks/commerce/order-timeline/index.d.ts +2 -0
- package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +5 -0
- package/dist/components/blocks/commerce/order-timeline/types.d.ts +22 -0
- package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -0
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +5 -0
- package/dist/components/blocks/commerce/payment-method/types.d.ts +33 -0
- package/dist/components/blocks/commerce/payment-timeline/index.d.ts +2 -0
- package/dist/components/blocks/commerce/payment-timeline/payment-timeline.d.ts +5 -0
- package/dist/components/blocks/commerce/payment-timeline/types.d.ts +15 -0
- package/dist/components/blocks/commerce/receipt/index.d.ts +3 -0
- package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +2 -0
- package/dist/components/blocks/commerce/receipt/receipt.d.ts +3 -0
- package/dist/components/blocks/commerce/receipt/types.d.ts +42 -0
- package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -0
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +5 -0
- package/dist/components/blocks/commerce/refund-status/types.d.ts +37 -0
- package/dist/components/blocks/commerce/seo-listing/index.d.ts +3 -0
- package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +5 -0
- package/dist/components/blocks/commerce/seo-listing/seo-listing-score.d.ts +5 -0
- package/dist/components/blocks/commerce/seo-listing/types.d.ts +92 -0
- package/dist/components/blocks/commerce/shipment-tracking/index.d.ts +2 -0
- package/dist/components/blocks/commerce/shipment-tracking/shipment-tracking.d.ts +5 -0
- package/dist/components/blocks/commerce/shipment-tracking/types.d.ts +44 -0
- package/dist/components/blocks/commerce/subscription-summary/index.d.ts +2 -0
- package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +5 -0
- package/dist/components/blocks/commerce/subscription-summary/types.d.ts +39 -0
- package/dist/components/blocks/commerce/tax-breakdown/index.d.ts +2 -0
- package/dist/components/blocks/commerce/tax-breakdown/tax-breakdown.d.ts +5 -0
- package/dist/components/blocks/commerce/tax-breakdown/types.d.ts +34 -0
- package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -0
- package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +29 -0
- package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +5 -0
- package/dist/components/blocks/commerce/vendor-profile/index.d.ts +3 -0
- package/dist/components/blocks/commerce/vendor-profile/types.d.ts +86 -0
- package/dist/components/blocks/commerce/vendor-profile/vendor-profile.d.ts +2 -0
- package/dist/components/blocks/commerce/voucher-entry/index.d.ts +2 -0
- package/dist/components/blocks/commerce/voucher-entry/types.d.ts +33 -0
- package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +6 -0
- package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +19 -0
- package/dist/components/blocks/data-display/dense-info-card/index.d.ts +7 -0
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +5 -0
- package/dist/components/blocks/data-display/dense-info-card/types.d.ts +183 -0
- package/dist/components/blocks/data-display/empty-state/empty-state.d.ts +2 -0
- package/dist/components/blocks/data-display/empty-state/empty-state.strings.d.ts +19 -0
- package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +86 -0
- package/dist/components/blocks/data-display/empty-state/index.d.ts +5 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/document-stack.d.ts +9 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/inbox-clean.d.ts +9 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/index.d.ts +25 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/search-glass.d.ts +9 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/stacked-cards.d.ts +11 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/types.d.ts +4 -0
- package/dist/components/blocks/data-display/empty-state/partials/illustrations/users-circle.d.ts +9 -0
- package/dist/components/blocks/data-display/index.d.ts +6 -0
- package/dist/components/blocks/data-display/inline-stat/index.d.ts +1 -0
- package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +35 -0
- package/dist/components/blocks/data-display/metadata/index.d.ts +4 -0
- package/dist/components/blocks/data-display/metadata/metadata-list.d.ts +78 -0
- package/dist/components/blocks/data-display/metadata/metadata-list.strings.d.ts +18 -0
- package/dist/components/blocks/data-display/metadata/metadata-value.d.ts +142 -0
- package/dist/components/blocks/data-display/relationship-card-frame.d.ts +40 -0
- package/dist/components/blocks/onboarding/checklist/checklist.d.ts +2 -0
- package/dist/components/blocks/onboarding/checklist/checklist.strings.d.ts +15 -0
- package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +64 -0
- package/dist/components/blocks/onboarding/checklist/index.d.ts +4 -0
- package/dist/components/blocks/onboarding/checklist/partials/step-status-indicator.d.ts +12 -0
- package/dist/components/blocks/onboarding/index.d.ts +7 -0
- package/dist/components/blocks/timelines/changelog/changelog-timeline.d.ts +5 -0
- package/dist/components/blocks/timelines/changelog/index.d.ts +2 -0
- package/dist/components/blocks/timelines/changelog/types.d.ts +33 -0
- package/dist/components/blocks/timelines/index.d.ts +5 -0
- package/dist/components/blocks/timelines/milestones/index.d.ts +2 -0
- package/dist/components/blocks/timelines/milestones/milestones-timeline.d.ts +5 -0
- package/dist/components/blocks/timelines/milestones/types.d.ts +32 -0
- package/dist/components/blocks/timelines/shared/index.d.ts +1 -0
- package/dist/components/blocks/timelines/shared/timeline.d.ts +40 -0
- package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -0
- package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +9 -0
- package/dist/components/blocks/timelines/steps-card/types.d.ts +38 -0
- package/dist/components/features/activities/activities-feed.d.ts +5 -0
- package/dist/components/features/activities/activities.config.d.ts +6 -0
- package/dist/components/features/activities/activities.strings.d.ts +38 -0
- package/dist/components/features/activities/activities.types.d.ts +431 -0
- package/dist/components/features/activities/activity-event-adapter.d.ts +38 -0
- package/dist/components/features/activities/activity-log.d.ts +6 -0
- package/dist/components/features/activities/hooks/index.d.ts +2 -0
- package/dist/components/features/activities/hooks/use-activity-feed.d.ts +44 -0
- package/dist/components/features/activities/hooks/use-activity-resources.d.ts +22 -0
- package/dist/components/features/activities/index.d.ts +8 -0
- package/dist/components/features/activities/partials/activity-actions-menu.d.ts +11 -0
- package/dist/components/features/activities/partials/activity-changes.d.ts +8 -0
- package/dist/components/features/activities/partials/activity-date-label.d.ts +9 -0
- package/dist/components/features/activities/partials/activity-empty-state.d.ts +9 -0
- package/dist/components/features/activities/partials/activity-headline.d.ts +20 -0
- package/dist/components/features/activities/partials/activity-marker.d.ts +25 -0
- package/dist/components/features/activities/partials/activity-resource-tag.d.ts +11 -0
- package/dist/components/features/activities/partials/activity-row.d.ts +68 -0
- package/dist/components/features/activities/partials/index.d.ts +8 -0
- package/dist/components/features/activities/partials/tone-tokens.d.ts +25 -0
- package/dist/components/features/ai-chat/ai-chat.d.ts +81 -0
- package/dist/components/features/ai-chat/ai-chat.strings.d.ts +56 -0
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +170 -0
- package/dist/components/features/ai-chat/hooks/index.d.ts +1 -0
- package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +15 -0
- package/dist/components/features/ai-chat/index.d.ts +5 -0
- package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +15 -0
- package/dist/components/features/ai-chat/partials/ai-chat-conversation.d.ts +28 -0
- package/dist/components/features/ai-chat/partials/ai-chat-empty-state.d.ts +22 -0
- package/dist/components/features/ai-chat/partials/ai-chat-message.d.ts +21 -0
- package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +59 -0
- package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +19 -0
- package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +18 -0
- package/dist/components/features/ai-chat/partials/index.d.ts +7 -0
- package/dist/components/features/async-preview/async-preview.d.ts +84 -0
- package/dist/components/features/async-preview/async-preview.strings.d.ts +14 -0
- package/dist/components/features/async-preview/async-preview.types.d.ts +133 -0
- package/dist/components/features/async-preview/hooks/index.d.ts +1 -0
- package/dist/components/features/async-preview/hooks/use-async-preview.d.ts +8 -0
- package/dist/components/features/async-preview/index.d.ts +6 -0
- package/dist/components/features/async-preview/partials/index.d.ts +1 -0
- package/dist/components/features/async-preview/preview-trigger-cell.d.ts +45 -0
- package/dist/components/features/combobox/async-resource-combobox.d.ts +94 -0
- package/dist/components/features/combobox/combobox.d.ts +20 -0
- package/dist/components/features/combobox/combobox.strings.d.ts +14 -0
- package/dist/components/features/combobox/components/combobox-dropdown.d.ts +57 -0
- package/dist/components/features/combobox/components/error-message.d.ts +15 -0
- package/dist/components/features/combobox/components/highlighted-text.d.ts +14 -0
- package/dist/components/features/combobox/components/index.d.ts +13 -0
- package/dist/components/features/combobox/components/loading-more.d.ts +15 -0
- package/dist/components/features/combobox/components/status-content.d.ts +21 -0
- package/dist/components/features/combobox/constants.d.ts +19 -0
- package/dist/components/features/combobox/hooks/index.d.ts +2 -0
- package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +30 -0
- package/dist/components/features/combobox/hooks/use-debounced-search.d.ts +10 -0
- package/dist/components/features/combobox/hooks/use-grouped-items.d.ts +9 -0
- package/dist/components/features/combobox/hooks/use-load-more.d.ts +12 -0
- package/dist/components/features/combobox/index.d.ts +13 -0
- package/dist/components/features/combobox/types.d.ts +184 -0
- package/dist/components/features/comments/comments-provider.d.ts +15 -0
- package/dist/components/features/comments/comments.d.ts +2 -0
- package/dist/components/features/comments/comments.strings.d.ts +91 -0
- package/dist/components/features/comments/comments.types.d.ts +369 -0
- package/dist/components/features/comments/hooks/index.d.ts +4 -0
- package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +28 -0
- package/dist/components/features/comments/hooks/use-comments.d.ts +34 -0
- package/dist/components/features/comments/index.d.ts +8 -0
- package/dist/components/features/comments/partials/comment-attachment-chip.d.ts +23 -0
- package/dist/components/features/comments/partials/comment-composer.d.ts +12 -0
- package/dist/components/features/comments/partials/comment-content.d.ts +13 -0
- package/dist/components/features/comments/partials/comment-empty.d.ts +12 -0
- package/dist/components/features/comments/partials/comment-item.d.ts +3 -0
- package/dist/components/features/comments/partials/comment-timeline.d.ts +3 -0
- package/dist/components/features/comments/partials/index.d.ts +9 -0
- package/dist/components/features/data-view/data-view-filtering.d.ts +3 -0
- package/dist/components/features/data-view/data-view.d.ts +7 -0
- package/dist/components/features/data-view/data-view.strings.d.ts +9 -0
- package/dist/components/features/data-view/data-view.types.d.ts +191 -0
- package/dist/components/features/data-view/hooks/index.d.ts +1 -0
- package/dist/components/features/data-view/hooks/use-data-view.d.ts +2 -0
- package/dist/components/features/data-view/index.d.ts +4 -0
- package/dist/components/features/email-composer/document.d.ts +8 -0
- package/dist/components/features/email-composer/email-composer.d.ts +2 -0
- package/dist/components/features/email-composer/email-html.d.ts +5 -0
- package/dist/components/features/email-composer/engine.d.ts +18 -0
- package/dist/components/features/email-composer/http.d.ts +6 -0
- package/dist/components/features/email-composer/index.d.ts +6 -0
- package/dist/components/features/email-composer/partials/body-editor.d.ts +11 -0
- package/dist/components/features/email-composer/partials/data-status.d.ts +8 -0
- package/dist/components/features/email-composer/partials/html-preview.d.ts +6 -0
- package/dist/components/features/email-composer/partials/recipients.d.ts +14 -0
- package/dist/components/features/email-composer/partials/variables.d.ts +11 -0
- package/dist/components/features/email-composer/strings.d.ts +79 -0
- package/dist/components/features/email-composer/types.d.ts +195 -0
- package/dist/components/features/email-composer/use-composer.d.ts +119 -0
- package/dist/components/features/event-calendar/colors.d.ts +29 -0
- package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar-event-card.d.ts +16 -0
- package/dist/components/features/event-calendar/event-calendar-header.d.ts +8 -0
- package/dist/components/features/event-calendar/event-calendar-legend.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar.d.ts +5 -0
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +350 -0
- package/dist/components/features/event-calendar/index.d.ts +11 -0
- package/dist/components/features/event-calendar/use-event-calendar-data.d.ts +15 -0
- package/dist/components/features/event-calendar/use-event-calendar.d.ts +24 -0
- package/dist/components/features/filters/facets/async-select-facet.d.ts +28 -0
- package/dist/components/features/filters/facets/date-facet.d.ts +18 -0
- package/dist/components/features/filters/facets/range-facet.d.ts +30 -0
- package/dist/components/features/filters/facets/search-facet.d.ts +27 -0
- package/dist/components/features/filters/facets/select-facet.d.ts +19 -0
- package/dist/components/features/filters/facets/tags-facet.d.ts +27 -0
- package/dist/components/features/filters/filter-context.d.ts +61 -0
- package/dist/components/features/filters/filter-layout.d.ts +16 -0
- package/dist/components/features/filters/filter-query.d.ts +21 -0
- package/dist/components/features/filters/filters.strings.d.ts +103 -0
- package/dist/components/features/filters/filters.types.d.ts +222 -0
- package/dist/components/features/filters/hooks/index.d.ts +3 -0
- package/dist/components/features/filters/hooks/use-async-options.d.ts +16 -0
- package/dist/components/features/filters/hooks/use-filter-groups.d.ts +16 -0
- package/dist/components/features/filters/index.d.ts +42 -0
- package/dist/components/features/filters/operator-options.d.ts +9 -0
- package/dist/components/features/filters/partials/active-filter-item.d.ts +37 -0
- package/dist/components/features/filters/partials/async-filter-content.d.ts +21 -0
- package/dist/components/features/filters/partials/date-filter-content.d.ts +14 -0
- package/dist/components/features/filters/partials/filter-error-boundary.d.ts +9 -0
- package/dist/components/features/filters/partials/filter-list-content.d.ts +24 -0
- package/dist/components/features/filters/partials/filter-list-item.d.ts +19 -0
- package/dist/components/features/filters/partials/filter-operator-select.d.ts +22 -0
- package/dist/components/features/filters/partials/filter-pill.d.ts +26 -0
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +36 -0
- package/dist/components/features/filters/partials/filter-tabs.d.ts +14 -0
- package/dist/components/features/filters/partials/filter-value-display.d.ts +21 -0
- package/dist/components/features/filters/partials/filters-button.d.ts +32 -0
- package/dist/components/features/filters/partials/index.d.ts +14 -0
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +28 -0
- package/dist/components/features/filters/partials/search-filters-list.d.ts +25 -0
- package/dist/components/features/filters/partials/tags-filter-content.d.ts +28 -0
- package/dist/components/features/filters/utils/filter-utils.d.ts +37 -0
- package/dist/components/features/filters/validators.d.ts +63 -0
- package/dist/components/features/global-search/global-search-dialog.d.ts +13 -0
- package/dist/components/features/global-search/global-search.d.ts +52 -0
- package/dist/components/features/global-search/global-search.strings.d.ts +36 -0
- package/dist/components/features/global-search/global-search.types.d.ts +105 -0
- package/dist/components/features/global-search/hooks/index.d.ts +2 -0
- package/dist/components/features/global-search/hooks/use-global-search.d.ts +33 -0
- package/dist/components/features/global-search/index.d.ts +9 -0
- package/dist/components/features/global-search/partials/global-search-empty-state.d.ts +7 -0
- package/dist/components/features/global-search/partials/global-search-footer.d.ts +13 -0
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +12 -0
- package/dist/components/features/global-search/partials/global-search-input.d.ts +17 -0
- package/dist/components/features/global-search/partials/global-search-result-row.d.ts +16 -0
- package/dist/components/features/global-search/partials/global-search-tabs.d.ts +13 -0
- package/dist/components/features/global-search/partials/index.d.ts +12 -0
- package/dist/components/features/global-search/partials/tone-palettes.d.ts +8 -0
- package/dist/components/features/kanban/hooks/index.d.ts +1 -0
- package/dist/components/features/kanban/hooks/use-kanban.d.ts +32 -0
- package/dist/components/features/kanban/index.d.ts +5 -0
- package/dist/components/features/kanban/kanban-context.d.ts +25 -0
- package/dist/components/features/kanban/kanban-keyboard.d.ts +10 -0
- package/dist/components/features/kanban/kanban.d.ts +38 -0
- package/dist/components/features/kanban/kanban.strings.d.ts +24 -0
- package/dist/components/features/kanban/kanban.types.d.ts +168 -0
- package/dist/components/features/map/index.d.ts +13 -0
- package/dist/components/features/map/map.d.ts +166 -0
- package/dist/components/features/map/place-autocomplete.d.ts +97 -0
- package/dist/components/features/map/public-leaflet.types.d.ts +71 -0
- package/dist/components/features/map/use-map-color-scheme.d.ts +2 -0
- package/dist/components/features/media-library/hooks/index.d.ts +1 -0
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +5 -0
- package/dist/components/features/media-library/index.d.ts +6 -0
- package/dist/components/features/media-library/media-library.d.ts +3 -0
- package/dist/components/features/media-library/media-library.strings.d.ts +124 -0
- package/dist/components/features/media-library/media-library.types.d.ts +568 -0
- package/dist/components/features/media-library/media-resource-gallery.d.ts +2 -0
- package/dist/components/features/media-library/partials/index.d.ts +1 -0
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +10 -0
- package/dist/components/features/mentions/hooks/index.d.ts +2 -0
- package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +41 -0
- package/dist/components/features/mentions/hooks/use-mentions.d.ts +35 -0
- package/dist/components/features/mentions/index.d.ts +5 -0
- package/dist/components/features/mentions/mentions.strings.d.ts +26 -0
- package/dist/components/features/mentions/mentions.types.d.ts +100 -0
- package/dist/components/features/mentions/partials/index.d.ts +4 -0
- package/dist/components/features/mentions/partials/mention-chip.d.ts +29 -0
- package/dist/components/features/mentions/partials/mention-content.d.ts +22 -0
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +36 -0
- package/dist/components/features/mentions/partials/mention-picker.d.ts +31 -0
- package/dist/components/features/mentions/utils/build-mention-html.d.ts +24 -0
- package/dist/components/features/mentions/utils/index.d.ts +3 -0
- package/dist/components/features/mentions/utils/parse-mentions-from-html.d.ts +13 -0
- package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +16 -0
- package/dist/components/features/overlays/alert-dialog.d.ts +4 -0
- package/dist/components/features/overlays/dialog.d.ts +4 -0
- package/dist/components/features/overlays/drawer.d.ts +4 -0
- package/dist/components/features/overlays/hooks/index.d.ts +2 -0
- package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +24 -0
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +36 -0
- package/dist/components/features/overlays/index.d.ts +6 -0
- package/dist/components/features/overlays/overlays.strings.d.ts +19 -0
- package/dist/components/features/overlays/overlays.types.d.ts +169 -0
- package/dist/components/features/products/components/index.d.ts +17 -0
- package/dist/components/features/products/components/product-contract-overview.d.ts +5 -0
- package/dist/components/features/products/components/product-details-card.d.ts +5 -0
- package/dist/components/features/products/components/product-operations-card.d.ts +5 -0
- package/dist/components/features/products/components/product-option-action-menu.d.ts +5 -0
- package/dist/components/features/products/components/product-options-matrix.d.ts +5 -0
- package/dist/components/features/products/components/product-options-summary.d.ts +5 -0
- package/dist/components/features/products/components/product-overview.d.ts +5 -0
- package/dist/components/features/products/components/product-policies-card.d.ts +5 -0
- package/dist/components/features/products/components/product-quote-preview-card.d.ts +5 -0
- package/dist/components/features/products/components/product-readiness-card.d.ts +5 -0
- package/dist/components/features/products/components/product-structure-card.d.ts +5 -0
- package/dist/components/features/products/components/product-variant-action-menu.d.ts +5 -0
- package/dist/components/features/products/components/product-variant-details.d.ts +5 -0
- package/dist/components/features/products/components/product-variant-editor.d.ts +5 -0
- package/dist/components/features/products/components/product-variants-bulk-table.d.ts +5 -0
- package/dist/components/features/products/components/product-variants-manager.d.ts +5 -0
- package/dist/components/features/products/components/product-variants-table.d.ts +5 -0
- package/dist/components/features/products/index.d.ts +3 -0
- package/dist/components/features/products/partials/index.d.ts +7 -0
- package/dist/components/features/products/partials/product-actions.d.ts +10 -0
- package/dist/components/features/products/partials/product-empty-state.d.ts +10 -0
- package/dist/components/features/products/partials/product-metric-tile.d.ts +4 -0
- package/dist/components/features/products/partials/product-rows.d.ts +35 -0
- package/dist/components/features/products/partials/product-tone.d.ts +8 -0
- package/dist/components/features/products/partials/product-values.d.ts +1 -0
- package/dist/components/features/products/partials/product-variant-table-parts.d.ts +28 -0
- package/dist/components/features/products/products.strings.d.ts +308 -0
- package/dist/components/features/products/products.types.d.ts +906 -0
- package/dist/components/features/questionnaire/index.d.ts +3 -0
- package/dist/components/features/questionnaire/questionnaire-control.d.ts +3 -0
- package/dist/components/features/questionnaire/questionnaire.d.ts +2 -0
- package/dist/components/features/questionnaire/questionnaire.types.d.ts +98 -0
- package/dist/components/features/questionnaire/questionnaire.utils.d.ts +5 -0
- package/dist/components/features/resource/index.d.ts +3 -0
- package/dist/components/features/resource/resource.d.ts +8 -0
- package/dist/components/features/resource/resource.strings.d.ts +12 -0
- package/dist/components/features/resource/resource.types.d.ts +161 -0
- package/dist/components/features/resource-assignment/hooks/index.d.ts +2 -0
- package/dist/components/features/resource-assignment/hooks/use-shared-resource-card.d.ts +32 -0
- package/dist/components/features/resource-assignment/index.d.ts +6 -0
- package/dist/components/features/resource-assignment/partials/default-shared-resource-partials.d.ts +31 -0
- package/dist/components/features/resource-assignment/partials/index.d.ts +1 -0
- package/dist/components/features/resource-assignment/resource-assignment.d.ts +12 -0
- package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +17 -0
- package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +193 -0
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +6 -0
- package/dist/components/features/rich-text-editor/index.d.ts +5 -0
- package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +28 -0
- package/dist/components/features/rich-text-editor/partials/counts-footer.d.ts +32 -0
- package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +7 -0
- package/dist/components/features/rich-text-editor/partials/index.d.ts +7 -0
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +8 -0
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +3 -0
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +33 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.d.ts +3 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +6 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.strings.d.ts +32 -0
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +111 -0
- package/dist/components/features/schema-form/hooks/index.d.ts +1 -0
- package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +23 -0
- package/dist/components/features/schema-form/index.d.ts +5 -0
- package/dist/components/features/schema-form/partials/index.d.ts +3 -0
- package/dist/components/features/schema-form/partials/schema-form-actions.d.ts +23 -0
- package/dist/components/features/schema-form/partials/schema-form-empty.d.ts +12 -0
- package/dist/components/features/schema-form/partials/schema-form-field.d.ts +12 -0
- package/dist/components/features/schema-form/schema-form.d.ts +5 -0
- package/dist/components/features/schema-form/schema-form.strings.d.ts +11 -0
- package/dist/components/features/schema-form/schema-form.types.d.ts +271 -0
- package/dist/components/features/schema-form/schema-form.utils.d.ts +18 -0
- package/dist/components/features/suggestions/hooks/index.d.ts +1 -0
- package/dist/components/features/suggestions/hooks/use-suggestions.d.ts +9 -0
- package/dist/components/features/suggestions/index.d.ts +4 -0
- package/dist/components/features/suggestions/suggestions.d.ts +5 -0
- package/dist/components/features/suggestions/suggestions.strings.d.ts +16 -0
- package/dist/components/features/suggestions/suggestions.types.d.ts +79 -0
- package/dist/components/features/sync/index.d.ts +3 -0
- package/dist/components/features/sync/sync-range-dialog-form.d.ts +5 -0
- package/dist/components/features/sync/sync.strings.d.ts +18 -0
- package/dist/components/features/sync/sync.types.d.ts +44 -0
- package/dist/components/features/table/column-visibility-toggle.d.ts +5 -0
- package/dist/components/features/table/data-table.d.ts +6 -0
- package/dist/components/features/table/filter-bar.d.ts +5 -0
- package/dist/components/features/table/hooks.d.ts +47 -0
- package/dist/components/features/table/index.d.ts +16 -0
- package/dist/components/features/table/pagination.d.ts +5 -0
- package/dist/components/features/table/partials/cell-renderers.d.ts +141 -0
- package/dist/components/features/table/partials/cell-value.d.ts +121 -0
- package/dist/components/features/table/partials/fullscreen-toggle.d.ts +16 -0
- package/dist/components/features/table/partials/resource-cell.d.ts +63 -0
- package/dist/components/features/table/partials/table-link.d.ts +3 -0
- package/dist/components/features/table/table-actions.d.ts +5 -0
- package/dist/components/features/table/table-body.d.ts +5 -0
- package/dist/components/features/table/table-header.d.ts +6 -0
- package/dist/components/features/table/table-helpers.d.ts +39 -0
- package/dist/components/features/table/table-toolbar.d.ts +5 -0
- package/dist/components/features/table/table.strings.d.ts +3 -0
- package/dist/components/features/table/table.types.d.ts +489 -0
- package/dist/components/features/theme-tweaker/admin-ui-theme-provider.d.ts +6 -0
- package/dist/components/features/theme-tweaker/index.d.ts +10 -0
- package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +49 -0
- package/dist/components/features/theme-tweaker/theme-scope.d.ts +7 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.d.ts +2 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.fields.d.ts +7 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.recipes.d.ts +25 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +75 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +161 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +23 -0
- package/dist/components/features/theme-tweaker/use-applied-theme.d.ts +11 -0
- package/dist/components/layout/app-shell/app-layout.d.ts +12 -0
- package/dist/components/layout/app-shell/app-shell.types.d.ts +151 -0
- package/dist/components/layout/app-shell/index.d.ts +6 -0
- package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +2 -0
- package/dist/components/layout/app-shell/stacked-layout.d.ts +2 -0
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +2 -0
- package/dist/components/layout/auth/auth-card.d.ts +2 -0
- package/dist/components/layout/auth/auth-footer-links.d.ts +2 -0
- package/dist/components/layout/auth/auth-form.d.ts +11 -0
- package/dist/components/layout/auth/auth-hooks.d.ts +4 -0
- package/dist/components/layout/auth/auth-method-switch.d.ts +4 -0
- package/dist/components/layout/auth/auth-shell.d.ts +2 -0
- package/dist/components/layout/auth/auth-social-providers.d.ts +3 -0
- package/dist/components/layout/auth/auth-split-panel.d.ts +2 -0
- package/dist/components/layout/auth/auth.strings.d.ts +21 -0
- package/dist/components/layout/auth/auth.types.d.ts +282 -0
- package/dist/components/layout/auth/index.d.ts +10 -0
- package/dist/components/layout/containers/container.recipes.d.ts +5 -0
- package/dist/components/layout/containers/containers.types.d.ts +17 -0
- package/dist/components/layout/containers/content-container.d.ts +3 -0
- package/dist/components/layout/containers/index.d.ts +5 -0
- package/dist/components/layout/containers/page-viewport.d.ts +3 -0
- package/dist/components/layout/containers/section.d.ts +3 -0
- package/dist/components/layout/containers/two-column-layout.d.ts +27 -0
- package/dist/components/layout/header/header.d.ts +2 -0
- package/dist/components/layout/header/header.types.d.ts +198 -0
- package/dist/components/layout/header/index.d.ts +9 -0
- package/dist/components/layout/header/partials/header-breadcrumbs.d.ts +4 -0
- package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +2 -0
- package/dist/components/layout/header/partials/header-notifications.d.ts +2 -0
- package/dist/components/layout/header/partials/header-search.d.ts +2 -0
- package/dist/components/layout/header/partials/header-tool-button.d.ts +4 -0
- package/dist/components/layout/header/partials/header-tool-popover.d.ts +2 -0
- package/dist/components/layout/header/partials/header-user-menu.d.ts +2 -0
- package/dist/components/layout/hooks/index.d.ts +3 -0
- package/dist/components/layout/hooks/use-active-path.d.ts +1 -0
- package/dist/components/layout/hooks/use-command-shortcut.d.ts +7 -0
- package/dist/components/layout/hooks/use-layout-link.d.ts +2 -0
- package/dist/components/layout/index.d.ts +24 -0
- package/dist/components/layout/layout.types.d.ts +91 -0
- package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +5 -0
- package/dist/components/layout/navigation/breadcrumb-progress/index.d.ts +2 -0
- package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +24 -0
- package/dist/components/layout/navigation/category-nav/category-nav.d.ts +5 -0
- package/dist/components/layout/navigation/category-nav/index.d.ts +2 -0
- package/dist/components/layout/navigation/category-nav/types.d.ts +22 -0
- package/dist/components/layout/navigation/index.d.ts +17 -0
- package/dist/components/layout/navigation/section-nav/index.d.ts +1 -0
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +29 -0
- package/dist/components/layout/navigation/side-nav.d.ts +58 -0
- package/dist/components/layout/page/index.d.ts +4 -0
- package/dist/components/layout/page/page.d.ts +3 -0
- package/dist/components/layout/page/page.types.d.ts +138 -0
- package/dist/components/layout/page/partials/page-actions.d.ts +2 -0
- package/dist/components/layout/page/partials/page-header.d.ts +2 -0
- package/dist/components/layout/settings/index.d.ts +1 -0
- package/dist/components/layout/settings/settings.d.ts +65 -0
- package/dist/components/layout/sidebar/app-sidebar.d.ts +7 -0
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +4 -0
- package/dist/components/layout/sidebar/components/sidebar-logo.d.ts +10 -0
- package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +2 -0
- package/dist/components/layout/sidebar/components/sidebar-navigation-user.d.ts +23 -0
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +4 -0
- package/dist/components/layout/sidebar/components/sidebar-workspace-dropdown.d.ts +2 -0
- package/dist/components/layout/sidebar/index.d.ts +11 -0
- package/dist/components/layout/sidebar/sidebar.context.d.ts +17 -0
- package/dist/components/layout/sidebar/sidebar.d.ts +9 -0
- package/dist/components/layout/sidebar/sidebar.types.d.ts +218 -0
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +29 -0
- package/dist/components/layout/workspace/index.d.ts +3 -0
- package/dist/components/layout/workspace/workspace.d.ts +6 -0
- package/dist/components/layout/workspace/workspace.strings.d.ts +18 -0
- package/dist/components/layout/workspace/workspace.types.d.ts +141 -0
- package/dist/components/primitives/date.d.ts +63 -0
- package/dist/components/primitives/dimensions.d.ts +30 -0
- package/dist/components/primitives/duration.d.ts +23 -0
- package/dist/components/primitives/file-size.d.ts +23 -0
- package/dist/components/primitives/index.d.ts +11 -0
- package/dist/components/primitives/initials-format.d.ts +21 -0
- package/dist/components/primitives/initials.d.ts +16 -0
- package/dist/components/primitives/link.d.ts +28 -0
- package/dist/components/primitives/money.d.ts +79 -0
- package/dist/components/primitives/name.d.ts +16 -0
- package/dist/components/primitives/number.d.ts +23 -0
- package/dist/components/primitives/value.d.ts +23 -0
- package/dist/components/typography/content-typography.d.ts +4 -0
- package/dist/components/typography/display-label.d.ts +5 -0
- package/dist/components/typography/heading.d.ts +16 -0
- package/dist/components/typography/index.d.ts +10 -0
- package/dist/components/typography/label.d.ts +8 -0
- package/dist/components/typography/rich-text/index.d.ts +2 -0
- package/dist/components/typography/rich-text/rich-text.d.ts +6 -0
- package/dist/components/typography/text-link.d.ts +7 -0
- package/dist/components/typography/text.d.ts +17 -0
- package/dist/components/typography/text.styles.d.ts +50 -0
- package/dist/components/ui/accordion.d.ts +6 -0
- package/dist/components/ui/alert-dialog.d.ts +21 -0
- package/dist/components/ui/avatar.d.ts +11 -0
- package/dist/components/ui/badge.d.ts +5 -0
- package/dist/components/ui/breadcrumb.d.ts +11 -0
- package/dist/components/ui/button-group.d.ts +12 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/calendar.d.ts +10 -0
- package/dist/components/ui/card.d.ts +11 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts +9 -0
- package/dist/components/ui/combobox.d.ts +40 -0
- package/dist/components/ui/command.d.ts +50 -0
- package/dist/components/ui/dialog.d.ts +26 -0
- package/dist/components/ui/disclosure-panel.d.ts +14 -0
- package/dist/components/ui/empty.d.ts +11 -0
- package/dist/components/ui/input-group.d.ts +18 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/item.d.ts +22 -0
- package/dist/components/ui/overlay.recipes.d.ts +2 -0
- package/dist/components/ui/pagination.d.ts +17 -0
- package/dist/components/ui/popover.d.ts +22 -0
- package/dist/components/ui/select.d.ts +18 -0
- package/dist/components/ui/separator.d.ts +3 -0
- package/dist/components/ui/sheet.d.ts +25 -0
- package/dist/components/ui/sidebar.d.ts +64 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/slot.d.ts +6 -0
- package/dist/components/ui/sonner.d.ts +3 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/table.d.ts +13 -0
- package/dist/components/ui/tabs.d.ts +10 -0
- package/dist/components/ui/textarea.d.ts +3 -0
- package/dist/components/ui/toggle-group.d.ts +12 -0
- package/dist/components/ui/toggle.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts +13 -0
- package/dist/containers-CPNyNo1_.js +124 -0
- package/dist/containers-CPNyNo1_.js.map +1 -0
- package/dist/content-typography-CnwgMJ37.js +6 -0
- package/dist/content-typography-CnwgMJ37.js.map +1 -0
- package/dist/copyable-B7SBXJMr.js +65 -0
- package/dist/copyable-B7SBXJMr.js.map +1 -0
- package/dist/data-display-b3d1TfL4.js +1129 -0
- package/dist/data-display-b3d1TfL4.js.map +1 -0
- package/dist/date-BFNMnrS5.js +140 -0
- package/dist/date-BFNMnrS5.js.map +1 -0
- package/dist/date-picker-DI6kPNof.js +1521 -0
- package/dist/date-picker-DI6kPNof.js.map +1 -0
- package/dist/date-pickers-ByP6Cv2z.js +224 -0
- package/dist/date-pickers-ByP6Cv2z.js.map +1 -0
- package/dist/disclosure-panel-B0HFNZ9x.js +35 -0
- package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -0
- package/dist/display-ByI5tkqy.js +343 -0
- package/dist/display-ByI5tkqy.js.map +1 -0
- package/dist/dropdown-menu-BlnyHr-9.js +186 -0
- package/dist/dropdown-menu-BlnyHr-9.js.map +1 -0
- package/dist/editable-text-recipe-Bkm6wKHp.js +10 -0
- package/dist/editable-text-recipe-Bkm6wKHp.js.map +1 -0
- package/dist/favicon.svg +1 -0
- package/dist/features/activities.js +1360 -0
- package/dist/features/activities.js.map +1 -0
- package/dist/features/ai-chat.js +567 -0
- package/dist/features/ai-chat.js.map +1 -0
- package/dist/features/async-preview.js +478 -0
- package/dist/features/async-preview.js.map +1 -0
- package/dist/features/combobox.js +3 -0
- package/dist/features/comments.js +3 -0
- package/dist/features/data-view.js +519 -0
- package/dist/features/data-view.js.map +1 -0
- package/dist/features/email-composer/engine.js +2 -0
- package/dist/features/email-composer.js +1099 -0
- package/dist/features/email-composer.js.map +1 -0
- package/dist/features/event-calendar.js +711 -0
- package/dist/features/event-calendar.js.map +1 -0
- package/dist/features/filters.js +3 -0
- package/dist/features/global-search.js +593 -0
- package/dist/features/global-search.js.map +1 -0
- package/dist/features/kanban.js +425 -0
- package/dist/features/kanban.js.map +1 -0
- package/dist/features/map/images/layers-2x.png +0 -0
- package/dist/features/map/images/layers.png +0 -0
- package/dist/features/map/images/marker-icon-2x.png +0 -0
- package/dist/features/map/images/marker-icon.png +0 -0
- package/dist/features/map/images/marker-shadow.png +0 -0
- package/dist/features/map/images/spritesheet-2x.png +0 -0
- package/dist/features/map/images/spritesheet.png +0 -0
- package/dist/features/map/images/spritesheet.svg +156 -0
- package/dist/features/map/style.css +809 -0
- package/dist/features/map.js +1052 -0
- package/dist/features/map.js.map +1 -0
- package/dist/features/media-library.js +2007 -0
- package/dist/features/media-library.js.map +1 -0
- package/dist/features/mentions.js +3 -0
- package/dist/features/overlays.js +3 -0
- package/dist/features/products.js +3076 -0
- package/dist/features/products.js.map +1 -0
- package/dist/features/questionnaire.js +365 -0
- package/dist/features/questionnaire.js.map +1 -0
- package/dist/features/resource-assignment.js +317 -0
- package/dist/features/resource-assignment.js.map +1 -0
- package/dist/features/resource.js +254 -0
- package/dist/features/resource.js.map +1 -0
- package/dist/features/rich-text-editor.js +23 -0
- package/dist/features/rich-text-editor.js.map +1 -0
- package/dist/features/schema-form.js +744 -0
- package/dist/features/schema-form.js.map +1 -0
- package/dist/features/suggestions.js +149 -0
- package/dist/features/suggestions.js.map +1 -0
- package/dist/features/sync.js +136 -0
- package/dist/features/sync.js.map +1 -0
- package/dist/features/table.js +3 -0
- package/dist/features/theme-tweaker.js +2083 -0
- package/dist/features/theme-tweaker.js.map +1 -0
- package/dist/feedback-a9j9J-9A.js +391 -0
- package/dist/feedback-a9j9J-9A.js.map +1 -0
- package/dist/field-affordance-recipes-CHdUtn2Z.js +17 -0
- package/dist/field-affordance-recipes-CHdUtn2Z.js.map +1 -0
- package/dist/field-state-recipes-CBTRt9Bt.js +11 -0
- package/dist/field-state-recipes-CBTRt9Bt.js.map +1 -0
- package/dist/filters-qtrcv1hf.js +2203 -0
- package/dist/filters-qtrcv1hf.js.map +1 -0
- package/dist/form-field-C6W-y2hR.js +48 -0
- package/dist/form-field-C6W-y2hR.js.map +1 -0
- package/dist/form-sizing-39NohSqn.js +99 -0
- package/dist/form-sizing-39NohSqn.js.map +1 -0
- package/dist/format-iamDSqs2.js +110 -0
- package/dist/format-iamDSqs2.js.map +1 -0
- package/dist/forms-BF-HSbff.js +194 -0
- package/dist/forms-BF-HSbff.js.map +1 -0
- package/dist/forms-numeric-Y15Bg5Nr.js +867 -0
- package/dist/forms-numeric-Y15Bg5Nr.js.map +1 -0
- package/dist/header-B8ex54cY.js +452 -0
- package/dist/header-B8ex54cY.js.map +1 -0
- package/dist/hooks/use-debounce.d.ts +1 -0
- package/dist/hooks/use-debounced-callback.d.ts +40 -0
- package/dist/hooks/use-files.d.ts +48 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/useFormErrors.d.ts +7 -0
- package/dist/hooks-D6UBVzf2.js +88 -0
- package/dist/hooks-D6UBVzf2.js.map +1 -0
- package/dist/http-CLTVJc5I.js +331 -0
- package/dist/http-CLTVJc5I.js.map +1 -0
- package/dist/icon-badge-Dv0RYQwj.js +53 -0
- package/dist/icon-badge-Dv0RYQwj.js.map +1 -0
- package/dist/icon-size-B6PVwjbC.js +18 -0
- package/dist/icon-size-B6PVwjbC.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +7 -0
- package/dist/initials-format-CDoQEOd_.js +35 -0
- package/dist/initials-format-CDoQEOd_.js.map +1 -0
- package/dist/input-DMorJiTI.js +202 -0
- package/dist/input-DMorJiTI.js.map +1 -0
- package/dist/input-ci9fIgFH.js +20 -0
- package/dist/input-ci9fIgFH.js.map +1 -0
- package/dist/item-pJ0GsOiJ.js +257 -0
- package/dist/item-pJ0GsOiJ.js.map +1 -0
- package/dist/layout/app-shell.js +3 -0
- package/dist/layout/auth.js +3 -0
- package/dist/layout/containers.js +3 -0
- package/dist/layout/header.js +3 -0
- package/dist/layout/hooks.js +3 -0
- package/dist/layout/navigation.js +3 -0
- package/dist/layout/page.js +3 -0
- package/dist/layout/settings.js +3 -0
- package/dist/layout/sidebar.js +4 -0
- package/dist/layout/workspace.js +3 -0
- package/dist/layout.js +13 -0
- package/dist/layout.types-Cn7aUzJp.js +20 -0
- package/dist/layout.types-Cn7aUzJp.js.map +1 -0
- package/dist/lib/action-presentation.d.ts +15 -0
- package/dist/lib/affordance-geometry.generated.d.ts +18 -0
- package/dist/lib/anchored-positioning.d.ts +5 -0
- package/dist/lib/command-filter.d.ts +1 -0
- package/dist/lib/component-vocabulary.d.ts +12 -0
- package/dist/lib/editable-text-recipe.d.ts +6 -0
- package/dist/lib/email-composer.d.ts +6 -0
- package/dist/lib/field-affordance-recipes.d.ts +20 -0
- package/dist/lib/field-state-recipes.d.ts +10 -0
- package/dist/lib/format.d.ts +53 -0
- package/dist/lib/motion-recipes.d.ts +8 -0
- package/dist/lib/navigation-row-recipes.d.ts +26 -0
- package/dist/lib/overlay-anatomy-recipes.d.ts +8 -0
- package/dist/lib/row-recipes.d.ts +3 -0
- package/dist/lib/sanitize-html.d.ts +8 -0
- package/dist/lib/strings.d.ts +16 -0
- package/dist/lib/strings.js +32 -0
- package/dist/lib/strings.js.map +1 -0
- package/dist/lib/surface-recipes.d.ts +27 -0
- package/dist/lib/theme-scope.d.ts +31 -0
- package/dist/lib/token-merge.generated.d.ts +2 -0
- package/dist/lib/track-recipes.d.ts +4 -0
- package/dist/lib/ui-provider/defaults.d.ts +12 -0
- package/dist/lib/ui-provider/hooks.d.ts +13 -0
- package/dist/lib/ui-provider/index.d.ts +28 -0
- package/dist/lib/ui-provider/provider.d.ts +15 -0
- package/dist/lib/ui-provider/scale.d.ts +5 -0
- package/dist/lib/ui-provider/store.d.ts +11 -0
- package/dist/lib/ui-provider/types.d.ts +157 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.js +2 -0
- package/dist/map-demo-tile.svg +1 -0
- package/dist/media-gallery-Ca4YmvBi.js +200 -0
- package/dist/media-gallery-Ca4YmvBi.js.map +1 -0
- package/dist/mentions-CRio8mTm.js +563 -0
- package/dist/mentions-CRio8mTm.js.map +1 -0
- package/dist/message-B5-6LeYl.js +108 -0
- package/dist/message-B5-6LeYl.js.map +1 -0
- package/dist/motion-recipes-B6jKXEcN.js +27 -0
- package/dist/motion-recipes-B6jKXEcN.js.map +1 -0
- package/dist/navigation-BTrEb5u4.js +267 -0
- package/dist/navigation-BTrEb5u4.js.map +1 -0
- package/dist/navigation-DqEITuD2.js +265 -0
- package/dist/navigation-DqEITuD2.js.map +1 -0
- package/dist/navigation-row-recipes-BFpvGPGE.js +29 -0
- package/dist/navigation-row-recipes-BFpvGPGE.js.map +1 -0
- package/dist/number-BNT_BIzJ.js +269 -0
- package/dist/number-BNT_BIzJ.js.map +1 -0
- package/dist/overlay.recipes-BxW5FIfK.js +6 -0
- package/dist/overlay.recipes-BxW5FIfK.js.map +1 -0
- package/dist/overlays-DBqV0J_V.js +982 -0
- package/dist/overlays-DBqV0J_V.js.map +1 -0
- package/dist/page-BMBGjJY8.js +202 -0
- package/dist/page-BMBGjJY8.js.map +1 -0
- package/dist/page-header-BH41wCyY.js +112 -0
- package/dist/page-header-BH41wCyY.js.map +1 -0
- package/dist/pagination-C29vvt3I.js +149 -0
- package/dist/pagination-C29vvt3I.js.map +1 -0
- package/dist/popover-TInGXsjg.js +194 -0
- package/dist/popover-TInGXsjg.js.map +1 -0
- package/dist/popover-menu-BzqXqE72.js +99 -0
- package/dist/popover-menu-BzqXqE72.js.map +1 -0
- package/dist/popover.recipes-zgBhMlUu.js +34 -0
- package/dist/popover.recipes-zgBhMlUu.js.map +1 -0
- package/dist/primitives-DKPOGVpj.js +330 -0
- package/dist/primitives-DKPOGVpj.js.map +1 -0
- package/dist/primitives.js +7 -0
- package/dist/receipt-DYWTQGEc.js +113 -0
- package/dist/receipt-DYWTQGEc.js.map +1 -0
- package/dist/rich-text-B7sBAdDG.js +32 -0
- package/dist/rich-text-B7sBAdDG.js.map +1 -0
- package/dist/rich-text-editor-BZSJchAF.js +575 -0
- package/dist/rich-text-editor-BZSJchAF.js.map +1 -0
- package/dist/rich-text-editor.recipes-DxvOE0Lp.js +72 -0
- package/dist/rich-text-editor.recipes-DxvOE0Lp.js.map +1 -0
- package/dist/rich-text-editor.strings-BpnIQgMl.js +25 -0
- package/dist/rich-text-editor.strings-BpnIQgMl.js.map +1 -0
- package/dist/row-recipes-DL8n7t_b.js +10 -0
- package/dist/row-recipes-DL8n7t_b.js.map +1 -0
- package/dist/sanitize-html-BG9FGe-j.js +64 -0
- package/dist/sanitize-html-BG9FGe-j.js.map +1 -0
- package/dist/scroll-area-BheMQ270.js +47 -0
- package/dist/scroll-area-BheMQ270.js.map +1 -0
- package/dist/select-B2mb-qN2.js +108 -0
- package/dist/select-B2mb-qN2.js.map +1 -0
- package/dist/separator-DO0EbCEm.js +17 -0
- package/dist/separator-DO0EbCEm.js.map +1 -0
- package/dist/separator-Gk_WXH-l.js +21 -0
- package/dist/separator-Gk_WXH-l.js.map +1 -0
- package/dist/services/actions/action-adapters.d.ts +77 -0
- package/dist/services/actions/action-overlay-outlet.d.ts +3 -0
- package/dist/services/actions/action-provider.d.ts +7 -0
- package/dist/services/actions/action-scope.d.ts +3 -0
- package/dist/services/actions/action-store.d.ts +55 -0
- package/dist/services/actions/actions.strings.d.ts +2 -0
- package/dist/services/actions/actions.types.d.ts +322 -0
- package/dist/services/actions/hooks.d.ts +8 -0
- package/dist/services/actions/index.d.ts +8 -0
- package/dist/services/actions.js +811 -0
- package/dist/services/actions.js.map +1 -0
- package/dist/settings-D9f_wdIC.js +160 -0
- package/dist/settings-D9f_wdIC.js.map +1 -0
- package/dist/sheet-vOUloJ4O.js +205 -0
- package/dist/sheet-vOUloJ4O.js.map +1 -0
- package/dist/sidebar-C3UKkbC5.js +501 -0
- package/dist/sidebar-C3UKkbC5.js.map +1 -0
- package/dist/sidebar-CNBKFDRW.js +598 -0
- package/dist/sidebar-CNBKFDRW.js.map +1 -0
- package/dist/skeleton-BvRhK8y-.js +264 -0
- package/dist/skeleton-BvRhK8y-.js.map +1 -0
- package/dist/slot-CLF9kLrS.js +16 -0
- package/dist/slot-CLF9kLrS.js.map +1 -0
- package/dist/smart-card-B5FcKODh.js +577 -0
- package/dist/smart-card-B5FcKODh.js.map +1 -0
- package/dist/spinner-JtlFJ7Nc.js +78 -0
- package/dist/spinner-JtlFJ7Nc.js.map +1 -0
- package/dist/structure-BvW4vG4H.js +95 -0
- package/dist/structure-BvW4vG4H.js.map +1 -0
- package/dist/structure.recipes-DjqnBpwz.js +548 -0
- package/dist/structure.recipes-DjqnBpwz.js.map +1 -0
- package/dist/style.css +3 -0
- package/dist/surface-recipes-CQfRr-VL.js +27 -0
- package/dist/surface-recipes-CQfRr-VL.js.map +1 -0
- package/dist/table-DnlAJ-xR.js +146 -0
- package/dist/table-DnlAJ-xR.js.map +1 -0
- package/dist/table-ghtAQ-JJ.js +1424 -0
- package/dist/table-ghtAQ-JJ.js.map +1 -0
- package/dist/tabs-DY09eoZg.js +187 -0
- package/dist/tabs-DY09eoZg.js.map +1 -0
- package/dist/text-inputs-BhOcedTo.js +331 -0
- package/dist/text-inputs-BhOcedTo.js.map +1 -0
- package/dist/text.styles-BwB7vAF2.js +64 -0
- package/dist/text.styles-BwB7vAF2.js.map +1 -0
- package/dist/theme-scope-kStaAer0.js +39 -0
- package/dist/theme-scope-kStaAer0.js.map +1 -0
- package/dist/theme.css +872 -0
- package/dist/timelines-CnZ2S_Gr.js +446 -0
- package/dist/timelines-CnZ2S_Gr.js.map +1 -0
- package/dist/track-recipes-LLPNVwFg.js +10 -0
- package/dist/track-recipes-LLPNVwFg.js.map +1 -0
- package/dist/tree-COD9BGdU.js +185 -0
- package/dist/tree-COD9BGdU.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/locale.types.d.ts +7 -0
- package/dist/types/pagination.types.d.ts +24 -0
- package/dist/typography/rich-text.js +3 -0
- package/dist/typography-Cv8MT-82.js +96 -0
- package/dist/typography-Cv8MT-82.js.map +1 -0
- package/dist/typography.js +3 -0
- package/dist/ui-provider-CftIB6TY.js +128 -0
- package/dist/ui-provider-CftIB6TY.js.map +1 -0
- package/dist/ui-provider.js +4 -0
- package/dist/upload-DIzw1dx1.js +849 -0
- package/dist/upload-DIzw1dx1.js.map +1 -0
- package/dist/upload-queue-xRJ3qDmd.js +410 -0
- package/dist/upload-queue-xRJ3qDmd.js.map +1 -0
- package/dist/use-debounce-DZ_1ZBPa.js +18 -0
- package/dist/use-debounce-DZ_1ZBPa.js.map +1 -0
- package/dist/use-debounced-callback-Cx1h-hdv.js +30 -0
- package/dist/use-debounced-callback-Cx1h-hdv.js.map +1 -0
- package/dist/use-file-drop-target-BX7GnhoQ.js +39 -0
- package/dist/use-file-drop-target-BX7GnhoQ.js.map +1 -0
- package/dist/use-mobile-vaLKwgyf.js +15 -0
- package/dist/use-mobile-vaLKwgyf.js.map +1 -0
- package/dist/utils-C2EKeIw3.js +72 -0
- package/dist/utils-C2EKeIw3.js.map +1 -0
- package/dist/value-inputs-Co1fu-xv.js +824 -0
- package/dist/value-inputs-Co1fu-xv.js.map +1 -0
- package/dist/workspace-Cbqz4FzN.js +402 -0
- package/dist/workspace-Cbqz4FzN.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +32 -0
- package/docs/consumer-skill/examples/app-layout.tsx +31 -0
- package/docs/consumer-skill/examples/composition.tsx +37 -0
- package/docs/consumer-skill/examples/content-workflow.tsx +13 -0
- package/docs/consumer-skill/examples/destructive-confirm.tsx +42 -0
- package/docs/consumer-skill/examples/detail.tsx +28 -0
- package/docs/consumer-skill/examples/edit.tsx +61 -0
- package/docs/consumer-skill/examples/email-composer.tsx +25 -0
- package/docs/consumer-skill/examples/hierarchy-capture.tsx +25 -0
- package/docs/consumer-skill/examples/index-table.tsx +36 -0
- package/docs/consumer-skill/examples/manifest.json +94 -0
- package/docs/consumer-skill/examples/receipt.tsx +19 -0
- package/docs/consumer-skill/references/composition.md +170 -0
- package/docs/consumer-skill/references/design-contract.md +145 -0
- package/docs/consumer-skill/references/discovery.md +33 -0
- package/docs/consumer-skill/references/installation.md +66 -0
- package/docs/consumer-skill/references/integration.md +57 -0
- package/docs/consumer-skill/references/public-api.json +17527 -0
- package/docs/consumer-skill/references/theming.md +56 -0
- package/docs/consumer-skill/references/tokens.json +422 -0
- package/docs/consumer-skill/references/workflows.md +39 -0
- package/docs/consumer-skill/scripts/discovery.mjs +79 -0
- package/docs/consumer-skill/scripts/find-components.mjs +11 -0
- package/package.json +621 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-search.js","names":["React","_Fragment","React","React","cn","Button","Text","DisplayLabel","Stack","ActionDialog","Value","SecondaryValue","AvatarFallback","Avatar","AvatarImage","Badge","Input","TabsTrigger","TabsList","Tabs","EmptyState","React$1","Fragment$1","defaultGlobalSearchStrings","useGlobalSearch","activeTab","setActiveTabState","useState","activeIdx","setActiveIdx","query","grouped","useMemo","buckets","r","results","tabCounts","counts","k","v","visibleGrouped","sub","flat","activeIdxRef","useRef","flatRef","tab","idx","id","i","item","onResultSelect","onClose","GlobalSearchEmptyState","hint","Search","KBD_CLASS","GlobalSearchFooter","className","navigateLabel","openLabel","closeLabel","trailing","GlobalSearchIdleState","sections","HeadingIcon","section","fallbackIcons","Clock","Sparkles","ItemIcon","GlobalSearchInput","innerRef","ref","autoFocus","onValueChange","placeholder","loading","Loader2","value","clearLabel","X","DEFAULT_TONE_BG","DEFAULT_TONE_AVATAR","highlightMatch","q","text","lower","ql","GlobalSearchResultRow","ThumbIcon","result","bg","av","onSelect","active","pieces","Icon","m","tag","p","ArrowRight","GlobalSearchTabs","tabs","isActive","count","GlobalSearch","stringsProp","strings","useStrings","search","isEmpty","isIdle","resolvedTabs","groupKeys","key","groupLabels","slots","onQueryChange","idleSections","interpolateString","groupKey","items","gi","ctx","node","GlobalSearchDialog","searchProps","close","onOpenChange","contentClassName"],"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/features/global-search/partials/global-search-tabs.tsx","../../src/components/features/global-search/global-search.tsx","../../src/components/features/global-search/global-search-dialog.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\t/** Placeholder copy for the search input. */\n\t/** Names the modal presentation for assistive technology. */\n\tdialogTitle: string;\n\tplaceholder: string;\n\t/** aria-label for the clear-search icon button. */\n\tclear: string;\n\t/** Loading-state copy. */\n\tloading: string;\n\t/** Empty-state title — uses {{query}} as a placeholder. */\n\temptyTitle: string;\n\t/** Empty-state body copy. */\n\temptyHint: string;\n\t/** Idle-state heading for \"Recent\" suggestions. */\n\tidleRecent: string;\n\t/** Idle-state heading for curated \"Suggestions\". */\n\tidleSuggestions: string;\n\t/** Tab label for the \"All\" tab. */\n\ttabAll: string;\n\t/** Footer \"navigate\" hint. */\n\tfooterNavigate: string;\n\t/** Footer \"open\" hint. */\n\tfooterOpen: string;\n\t/** Footer \"close\" hint. */\n\tfooterClose: string;\n\t/** Trailing N results count. */\n\tresultsCount: string;\n\t/** \"See all\" group action — jumps to that tab. */\n\tseeAll: string;\n}\n\nexport const defaultGlobalSearchStrings: GlobalSearchStrings = {\n\tdialogTitle: 'Search',\n\tplaceholder: 'Search…',\n\tclear: 'Clear search',\n\tloading: 'Searching…',\n\temptyTitle: 'No results for \"{{query}}\"',\n\temptyHint: 'Try a shorter keyword or check the spelling.',\n\tidleRecent: 'Recent',\n\tidleSuggestions: 'Suggestions',\n\ttabAll: 'All',\n\tfooterNavigate: 'navigate',\n\tfooterOpen: 'open',\n\tfooterClose: 'close',\n\tresultsCount: '{{count}} results',\n\tseeAll: 'See all',\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\tresults: ReadonlyArray<GlobalSearchResult<TGroup>>;\n\tquery: string;\n\t/** Fires when the user activates a row (Enter or click). */\n\tonResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n\t/** Fires when the user presses Escape. */\n\tonClose?: () => void;\n}\n\nexport interface UseGlobalSearchReturn<TGroup extends string = string> {\n\t/** Results bucketed by group, in insertion order. */\n\tgrouped: Record<string, GlobalSearchResult<TGroup>[]>;\n\t/** Result count per tab (`all` plus each group key). */\n\ttabCounts: Record<string, number>;\n\t/** Currently-selected tab. */\n\tactiveTab: 'all' | TGroup;\n\t/** Set the active tab — also resets the active index. */\n\tsetActiveTab: (tab: 'all' | TGroup) => void;\n\t/** Filtered grouped map respecting the active tab. */\n\tvisibleGrouped: Record<string, GlobalSearchResult<TGroup>[]>;\n\t/** Flat ordered list matching what is currently rendered. */\n\tflat: GlobalSearchResult<TGroup>[];\n\t/** Index into `flat` of the currently-highlighted row. */\n\tactiveIdx: number;\n\tsetActiveIdx: (i: number) => void;\n\t/** Programmatically activate a result by id. */\n\tsetActiveById: (id: string) => void;\n\t/** Bind to the search input's `onKeyDown` for arrow / enter / escape support. */\n\tonKeyDown: (e: React.KeyboardEvent) => void;\n\t/** Activate the row at `activeIdx`. */\n\tselectActive: () => void;\n}\n\nexport function useGlobalSearch<TGroup extends string = string>({\n\tresults,\n\tquery,\n\tonResultSelect,\n\tonClose,\n}: UseGlobalSearchOptions<TGroup>): UseGlobalSearchReturn<TGroup> {\n\tconst [activeTab, setActiveTabState] =\n\t\tuseState<'all' | TGroup>('all');\n\tconst [activeIdx, setActiveIdx] = useState(0);\n\n\t// Reset both the active row and the active tab when the query changes\n\t// (so a fresh query never inherits a stale highlight or filter).\n\tuseEffect(() => {\n\t\tsetActiveTabState('all');\n\t\tsetActiveIdx(0);\n\t}, [query]);\n\n\tconst grouped = useMemo(() => {\n\t\tconst buckets: Record<string, GlobalSearchResult<TGroup>[]> = {};\n\t\tfor (const r of results) {\n\t\t\t(buckets[r.group] ??= []).push(r);\n\t\t}\n\t\treturn buckets;\n\t}, [results]);\n\n\tconst tabCounts = useMemo(() => {\n\t\tconst counts: Record<string, number> = { all: results.length };\n\t\tfor (const [k, v] of Object.entries(grouped)) counts[k] = v.length;\n\t\treturn counts;\n\t}, [results.length, grouped]);\n\n\tconst visibleGrouped = useMemo(() => {\n\t\tif (activeTab === 'all') return grouped;\n\t\tconst sub = grouped[activeTab as string];\n\t\treturn sub ? ({ [activeTab as string]: sub } as Record<string, GlobalSearchResult<TGroup>[]>) : {};\n\t}, [grouped, activeTab]);\n\n\tconst flat = useMemo(() => {\n\t\tif (activeTab === 'all') return results.slice();\n\t\treturn grouped[activeTab as string] ?? [];\n\t}, [activeTab, grouped, results]);\n\n\tconst activeIdxRef = useRef(activeIdx);\n\tactiveIdxRef.current = activeIdx;\n\tconst flatRef = useRef(flat);\n\tflatRef.current = flat;\n\n\tconst setActiveTab = (tab: 'all' | TGroup) => {\n\t\tsetActiveTabState(tab);\n\t\tsetActiveIdx(0);\n\t};\n\n\tconst setActiveById = (id: string) => {\n\t\tconst idx = flatRef.current.findIndex((r) => r.id === id);\n\t\tif (idx >= 0) setActiveIdx(idx);\n\t};\n\n\tconst selectActive = () => {\n\t\tconst item = flatRef.current[activeIdxRef.current];\n\t\tif (item) onResultSelect?.(item);\n\t};\n\n\tconst onKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'ArrowDown') {\n\t\t\te.preventDefault();\n\t\t\tsetActiveIdx((i) => Math.min(i + 1, flatRef.current.length - 1));\n\t\t} else if (e.key === 'ArrowUp') {\n\t\t\te.preventDefault();\n\t\t\tsetActiveIdx((i) => Math.max(i - 1, 0));\n\t\t} else if (e.key === 'Enter') {\n\t\t\tconst item = flatRef.current[activeIdxRef.current];\n\t\t\tif (item) {\n\t\t\t\te.preventDefault();\n\t\t\t\tonResultSelect?.(item);\n\t\t\t}\n\t\t} else if (e.key === 'Escape') {\n\t\t\tonClose?.();\n\t\t}\n\t};\n\n\treturn {\n\t\tgrouped,\n\t\ttabCounts,\n\t\tactiveTab,\n\t\tsetActiveTab,\n\t\tvisibleGrouped,\n\t\tflat,\n\t\tactiveIdx,\n\t\tsetActiveIdx,\n\t\tsetActiveById,\n\t\tonKeyDown,\n\t\tselectActive,\n\t};\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 { EmptyState } from '../../../blocks/data-display';\n\nexport interface GlobalSearchEmptyStateProps {\n\t/** Surface title. */\n\ttitle: string;\n\t/** Short guidance shown beneath the control. */\n\thint: string;\n}\n\nexport function GlobalSearchEmptyState({ title, hint }: GlobalSearchEmptyStateProps) {\n\treturn (\n\t\t<EmptyState\n\t\t\ttitle={title}\n\t\t\tdescription={hint}\n\t\t\tmedia={<Search className=\"size-icon\" aria-hidden=\"true\" />}\n\t\t\tmediaVariant=\"icon-soft\"\n\t\t\tpadding=\"md\"\n\t\t\tclassName=\"global-search-empty-state--component\"\n\t\t/>\n\t);\n}\n","/**\n * GlobalSearchFooter — keyboard-hint strip below the result list.\n * Override entirely via `slots.footer`.\n */\nimport { Text } from '../../../typography';\nimport { cn } from '../../../../lib/utils';\n\nconst KBD_CLASS =\n\t'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\t/** Footer hint for the arrow keys. */\n\tnavigateLabel: string;\n\t/** Footer hint for the enter key. */\n\topenLabel: string;\n\t/** Footer hint for the escape key. */\n\tcloseLabel: string;\n\t/** Trailing right-aligned content (e.g. \"3 results\"). */\n\ttrailing?: React.ReactNode;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n}\n\nexport function GlobalSearchFooter({\n\tnavigateLabel,\n\topenLabel,\n\tcloseLabel,\n\ttrailing,\n\tclassName,\n}: GlobalSearchFooterProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t'global-search-footer--component flex flex-col items-stretch gap-space-xs border-t border-border/60 px-surface py-row-y @sm/global-search:flex-row @sm/global-search:items-center @sm/global-search:justify-between',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<span className=\"global-search-footer--shortcuts flex items-center gap-space-md\">\n\t\t\t\t<kbd className={KBD_CLASS}>↑↓</kbd>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t{navigateLabel}\n\t\t\t\t</Text>\n\t\t\t\t<kbd className={KBD_CLASS}>↵</kbd>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t{openLabel}\n\t\t\t\t</Text>\n\t\t\t\t<kbd className={KBD_CLASS}>esc</kbd>\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t{closeLabel}\n\t\t\t\t</Text>\n\t\t\t</span>\n\t\t\t{trailing ? (\n\t\t\t\t<span className=\"global-search-footer--trailing shrink-0 self-end whitespace-nowrap @sm/global-search:self-auto\">\n\t\t\t\t\t{trailing}\n\t\t\t\t</span>\n\t\t\t) : null}\n\t\t</div>\n\t);\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 '../../../base/buttons';\nimport { Stack } from '../../../base/structure';\nimport { DisplayLabel, Text } from '../../../typography';\nimport { cn } from '../../../../lib/utils';\n\nimport type { GlobalSearchIdleSection } from '../global-search.types';\n\nexport interface GlobalSearchIdleStateProps {\n\t/** Sections to render, in display order. */\n\tsections: ReadonlyArray<GlobalSearchIdleSection>;\n\t/** Optional override for the heading icon when missing on a section. */\n\tfallbackIcons?: { recent?: React.ElementType; suggestions?: React.ElementType };\n}\n\nexport function GlobalSearchIdleState({\n\tsections,\n\tfallbackIcons,\n}: GlobalSearchIdleStateProps) {\n\treturn (\n\t\t<div className=\"global-search-idle-state--component p-surface\">\n\t\t<Stack gap=\"xl\">\n\t\t\t{sections.map((section, idx) => {\n\t\t\t\tconst HeadingIcon =\n\t\t\t\t\tsection.icon ??\n\t\t\t\t\t(idx === 0\n\t\t\t\t\t\t? fallbackIcons?.recent ?? Clock\n\t\t\t\t\t\t: fallbackIcons?.suggestions ?? Sparkles);\n\t\t\t\treturn (\n\t\t\t\t\t<div key={section.id}>\n\t\t\t\t\t\t<div className=\"flex items-center gap-space-md px-space-lg pb-space-sm\">\n\t\t\t\t\t\t\t<HeadingIcon\n\t\t\t\t\t\t\t\tclassName=\"size-icon-md text-muted-foreground\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DisplayLabel>\n\t\t\t\t\t\t\t\t{section.label}\n\t\t\t\t\t\t\t</DisplayLabel>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Stack render={<ul />} gap=\"2xs\" className=\"m-0 list-none p-0\">\n\t\t\t\t\t\t\t{section.items.map((item) => {\n\t\t\t\t\t\t\t\tconst ItemIcon = item.icon ?? Search;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li key={item.id}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={item.onSelect}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'h-auto w-full justify-start gap-space-lg rounded-radius-md px-row-x py-row-y-sm text-left transition-colors',\n\t\t\t\t\t\t\t\t\t\t\t\t'hover:bg-muted/50 focus-visible:bg-muted/50',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ItemIcon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"size-icon-md text-muted-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<Text className=\"flex-1 truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</Stack>\n\t\t</div>\n\t);\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 '../../../base/buttons';\nimport { Input } from '../../../base/text-inputs';\nimport { Stack } from '../../../base/structure';\n\nexport interface GlobalSearchInputProps {\n\t/** Current value. */\n\tvalue: string;\n\t/** Fired with the next value. */\n\tonValueChange: (value: string) => void;\n\tonKeyDown?: (e: React.KeyboardEvent) => void;\n\t/** Shown while the value is empty. */\n\tplaceholder?: string;\n\t/** Accessible name for the clear control. */\n\tclearLabel?: string;\n\t/** Shows the pending indicator. */\n\tloading?: boolean;\n\t/** Focuses the control on mount. */\n\tautoFocus?: boolean;\n}\n\nexport const GlobalSearchInput = React.forwardRef<HTMLInputElement, GlobalSearchInputProps>(function GlobalSearchInput(\n\t{ value, onValueChange, onKeyDown, placeholder, clearLabel = 'Clear search', loading = false, autoFocus = false },\n\tref,\n) {\n\tconst innerRef = React.useRef<HTMLInputElement | null>(null);\n\tReact.useImperativeHandle(ref, () => innerRef.current as HTMLInputElement);\n\n\tReact.useEffect(() => {\n\t\tif (autoFocus) innerRef.current?.focus();\n\t}, [autoFocus]);\n\n\treturn (\n\t\t<div\n\t\t\tdata-component=\"global-search-input\"\n\t\t\tdata-slot=\"global-search-input\"\n\t\t\tclassName=\"global-search-input--component border-b border-border px-surface py-row-y\"\n\t\t>\n\t\t\t<Stack direction=\"horizontal\" gap=\"md\" wrap={false}>\n\t\t\t\t<Search className=\"size-icon shrink-0 text-muted-foreground\" aria-hidden=\"true\" />\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tref={innerRef}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tonChange={(e) => onValueChange(e.target.value)}\n\t\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\taria-label={placeholder}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tspellCheck={false}\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tclassName=\"h-auto border-0 bg-transparent px-0 py-0 text-sm shadow-none focus-visible:border-transparent focus-visible:ring-0\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{loading && <Loader2 className=\"size-icon shrink-0 animate-spin text-muted-foreground\" aria-hidden=\"true\" />}\n\t\t\t\t{!loading && !!value && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticonOnly\n\t\t\t\t\t\tonClick={() => onValueChange('')}\n\t\t\t\t\t\taria-label={clearLabel}\n\t\t\t\t\t\tclassName=\"size-action-sm rounded text-muted-foreground hover:bg-muted hover:text-foreground\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<X className=\"size-icon-sm\" />\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t</Stack>\n\t\t</div>\n\t);\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\tneutral: 'bg-muted text-muted-foreground',\n\tprimary: 'bg-primary/5 text-primary-accent',\n\tsuccess: 'bg-success/10 text-success',\n\twarning: 'bg-warning/10 text-warning-accent',\n\tinfo: 'bg-info/10 text-info',\n\tdestructive: 'bg-destructive/10 text-destructive',\n};\n\nexport const DEFAULT_TONE_AVATAR: Record<GlobalSearchTone, string> = {\n\tneutral: 'bg-muted text-muted-foreground',\n\tprimary: 'bg-primary/10 text-primary-accent',\n\tsuccess: 'bg-success/10 text-success',\n\twarning: 'bg-warning/10 text-warning-accent',\n\tinfo: 'bg-info/10 text-info',\n\tdestructive: 'bg-destructive/10 text-destructive',\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 '../../../base/buttons';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../../base/avatar';\nimport { Badge } from '../../../base/badge';\nimport { Stack } from '../../../base/structure';\nimport { SecondaryValue, Value } from '../../../primitives';\nimport { Text } from '../../../typography';\nimport { cn } from '../../../../lib/utils';\n\nimport type { GlobalSearchResult } from '../global-search.types';\nimport {\n\tDEFAULT_TONE_AVATAR,\n\tDEFAULT_TONE_BG,\n} from './tone-palettes';\n\nexport interface GlobalSearchResultRowProps<TGroup extends string = string> {\n\t/** The result this row represents. */\n\tresult: GlobalSearchResult<TGroup>;\n\t/** Highlighted via keyboard nav. */\n\tactive?: boolean;\n\t/** Current search text. */\n\tquery?: string;\n\t/** Fired when an entry is activated. */\n\tonSelect?: () => void;\n\tonMouseEnter?: () => void;\n\t/** Merged onto the outermost node. */\n\tclassName?: string;\n}\n\nfunction highlightMatch(text: string, query: string | undefined): React.ReactNode {\n\tconst q = (query ?? '').trim();\n\tif (!q) return text;\n\tconst lower = text.toLowerCase();\n\tconst ql = q.toLowerCase();\n\tconst i = lower.indexOf(ql);\n\tif (i < 0) return text;\n\treturn (\n\t\t<>\n\t\t\t{text.slice(0, i)}\n\t\t\t<mark className=\"rounded-radius-sm bg-warning/40 px-0.5 text-foreground\">\n\t\t\t\t{text.slice(i, i + q.length)}\n\t\t\t</mark>\n\t\t\t{text.slice(i + q.length)}\n\t\t</>\n\t);\n}\n\nexport function GlobalSearchResultRow<TGroup extends string = string>({\n\tresult,\n\tactive = false,\n\tquery = '',\n\tonSelect,\n\tonMouseEnter,\n\tclassName,\n}: GlobalSearchResultRowProps<TGroup>) {\n\tconst ThumbIcon = result.thumbnail?.icon;\n\tconst bg = DEFAULT_TONE_BG;\n\tconst av = DEFAULT_TONE_AVATAR;\n\n\treturn (\n\t\t<Button\n\t\t\ttype=\"button\"\n\t\t\tdata-component=\"global-search-result-row\"\n\t\t\tdata-slot=\"global-search-result-row\"\n\t\t\ttone=\"secondary\"\n\t\t\tbuttonStyle=\"ghost\"\n\t\t\tsize=\"sm\"\n\t\t\tonMouseEnter={onMouseEnter}\n\t\t\tonClick={onSelect}\n\t\t\tclassName={cn(\n\t\t\t\t'group/row relative h-auto w-full justify-start gap-space-lg rounded-radius-md px-row-x py-row-y text-left transition-colors',\n\t\t\t\t'global-search-result-row--component',\n\t\t\t\tactive ? 'bg-muted/60' : 'hover:bg-muted/40',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{/* Thumbnail / Avatar */}\n\t\t\t<div className=\"flex shrink-0 items-center\">\n\t\t\t\t{result.avatar ? (\n\t\t\t\t\t<Avatar className={cn('size-avatar-sm', av[result.avatar.tone ?? 'neutral'])}>\n\t\t\t\t\t\t{result.avatar.src && (\n\t\t\t\t\t\t\t<AvatarImage src={result.avatar.src} alt={result.title} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<AvatarFallback\n\t\t\t\t\t\t\tclassName={cn('text-xs font-semibold', av[result.avatar.tone ?? 'neutral'])}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{result.avatar.initials}\n\t\t\t\t\t\t</AvatarFallback>\n\t\t\t\t\t</Avatar>\n\t\t\t\t) : ThumbIcon ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'inline-flex size-avatar-sm items-center justify-center rounded-radius-md',\n\t\t\t\t\t\t\tbg[result.thumbnail?.tone ?? 'neutral'],\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ThumbIcon className=\"size-icon\" aria-hidden=\"true\" />\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\n\t\t\t{/* Body */}\n\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t<div className=\"flex items-center gap-space-sm leading-tight\">\n\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\" className=\"truncate\">\n\t\t\t\t\t\t{highlightMatch(result.title, query)}\n\t\t\t\t\t</Text>\n\t\t\t\t\t{!!result.badge && (\n\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\ttone={\n\t\t\t\t\t\t\t\tresult.badge.tone === 'destructive'\n\t\t\t\t\t\t\t\t\t? 'destructive'\n\t\t\t\t\t\t\t\t\t: result.badge.tone\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{result.badge.label}\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{(() => {\n\t\t\t\t\tconst pieces: Array<{ key: string; node: React.ReactNode }> = [];\n\t\t\t\t\tif (result.subtitle)\n\t\t\t\t\t\tpieces.push({\n\t\t\t\t\t\t\tkey: 'subtitle',\n\t\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">\n\t\t\t\t\t\t\t\t\t{highlightMatch(result.subtitle, query)}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t});\n\t\t\t\t\tresult.meta?.forEach((m, i) => {\n\t\t\t\t\t\tconst Icon = m.icon;\n\t\t\t\t\t\tpieces.push({\n\t\t\t\t\t\t\tkey: `m-${i}`,\n\t\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'inline-flex items-center gap-space-xs',\n\t\t\t\t\t\t\t\t\t\tm.mono && 'font-mono tabular-nums',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{!!Icon && <Icon className=\"size-icon-sm shrink-0\" aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t\t{m.label}\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tif (result.timestamp)\n\t\t\t\t\t\tpieces.push({\n\t\t\t\t\t\t\tkey: 'ts',\n\t\t\t\t\t\t\tnode: <SecondaryValue size=\"xs\" className=\"tabular-nums\">{result.timestamp}</SecondaryValue>,\n\t\t\t\t\t\t});\n\t\t\t\t\tresult.tags?.forEach((tag) =>\n\t\t\t\t\t\tpieces.push({\n\t\t\t\t\t\t\tkey: `t-${tag}`,\n\t\t\t\t\t\t\tnode: <Text tag=\"span\" size=\"xs\" type=\"secondary\">{tag}</Text>,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t\tif (result.rightValue) {\n\t\t\t\t\t\tpieces.push({\n\t\t\t\t\t\t\tkey: 'rv',\n\t\t\t\t\t\t\tnode: (\n\t\t\t\t\t\t\t\t<Value weight=\"medium\" className=\"tabular-nums\">\n\t\t\t\t\t\t\t\t\t{result.rightValue}\n\t\t\t\t\t\t\t\t\t{!!result.rightLabel && (\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-1\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{result.rightLabel.toLowerCase()}\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Value>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (pieces.length === 0) return null;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className=\"mt-space-2xs truncate\">\n\t\t\t\t\t\t\t{pieces.map((p, i) => (\n\t\t\t\t\t\t\t\t<React.Fragment key={p.key}>\n\t\t\t\t\t\t\t\t\t{i > 0 && (\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"mx-1.5 opacity-60\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t·\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{p.node}\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})()}\n\t\t\t</div>\n\n\t\t\t{/* Right value column — only when value/label set */}\n\t\t\t{!!(result.rightValue || result.rightLabel) && (\n\t\t\t\t<div className=\"hidden shrink-0 items-center self-stretch border-l border-border/60 pl-row-x @xl/global-search:flex\">\n\t\t\t\t\t<Stack gap=\"none\" align=\"end\" className=\"text-right leading-tight\">\n\t\t\t\t\t\t{!!result.rightValue && (\n\t\t\t\t\t\t\t<Value\n\t\t\t\t\t\t\t\tweight=\"semibold\"\n\t\t\t\t\t\t\t\tclassName=\"whitespace-nowrap tabular-nums\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{result.rightValue}\n\t\t\t\t\t\t\t</Value>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{!!result.rightLabel && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tclassName=\"mt-0.5 whitespace-nowrap\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{result.rightLabel}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Stack>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Trailing chevron */}\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'inline-flex size-action-sm shrink-0 items-center justify-center rounded-radius-md transition-all',\n\t\t\t\t\tactive\n\t\t\t\t\t\t? 'bg-foreground text-background opacity-100'\n\t\t\t\t\t\t: 'text-muted-foreground opacity-0 group-hover/row:opacity-100',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ArrowRight className=\"size-icon-md\" />\n\t\t\t</span>\n\t\t</Button>\n\t);\n}\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 '../../../base/navigation/tabs';\nimport { Text } from '../../../typography';\nimport { cn } from '../../../../lib/utils';\n\nexport interface GlobalSearchTabsProps<TGroup extends string = string> {\n\t/** Currently-selected tab. */\n\tvalue: 'all' | TGroup;\n\tonValueChange: (value: 'all' | TGroup) => void;\n\t/** Tabs to offer, in display order. */\n\ttabs: ReadonlyArray<{ value: 'all' | TGroup; label: string }>;\n\t/** Result counts shown beside each group. */\n\tcounts: Record<string, number>;\n}\n\nexport function GlobalSearchTabs<TGroup extends string = string>({\n\tvalue,\n\tonValueChange,\n\ttabs,\n\tcounts,\n}: GlobalSearchTabsProps<TGroup>) {\n\treturn (\n\t\t<div className=\"global-search-tabs--component border-b border-border/60 px-surface py-row-y\">\n\t\t\t<div className=\"global-search-tabs--scroller -mx-1 overflow-x-auto px-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\">\n\t\t\t\t<Tabs\n\t\t\t\t\tvalue={value as string}\n\t\t\t\t\tonValueChange={(v) => onValueChange(v as 'all' | TGroup)}\n\t\t\t\t\tclassName=\"min-w-max\"\n\t\t\t\t>\n\t\t\t\t\t<TabsList className=\"global-search-tabs--list h-action-sm w-max min-w-max\">\n\t\t\t\t\t\t{tabs.map((tab) => {\n\t\t\t\t\t\t\tconst isActive = value === tab.value;\n\t\t\t\t\t\t\tconst count = counts[tab.value as string] ?? 0;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TabsTrigger\n\t\t\t\t\t\t\t\t\tkey={tab.value as string}\n\t\t\t\t\t\t\t\t\tvalue={tab.value as string}\n\t\t\t\t\t\t\t\t\tclassName=\"global-search-tabs--trigger shrink-0 gap-space-sm px-control-sm text-foreground\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Text tag=\"span\">\n\t\t\t\t\t\t\t\t\t\t{tab.label}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\t\t\tweight=\"medium\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'global-search-tabs--count rounded px-1 py-0 tabular-nums',\n\t\t\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-muted text-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'bg-transparent text-foreground',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{count}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</TabsTrigger>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</TabsList>\n\t\t\t\t</Tabs>\n\t\t\t</div>\n\t\t</div>\n\t);\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 *\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 '../../base/buttons';\nimport { Stack } from '../../base/structure';\nimport { DisplayLabel, Text } from '../../typography';\nimport { interpolateString, useStrings, type StringsProp } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport {\n\tdefaultGlobalSearchStrings,\n\ttype GlobalSearchStrings,\n} from './global-search.strings';\nimport type {\n\tGlobalSearchIdleSection,\n\tGlobalSearchResult,\n\tGlobalSearchSlots,\n\tGlobalSearchTab,\n} from './global-search.types';\nimport { useGlobalSearch } from './hooks/use-global-search';\nimport {\n\tGlobalSearchEmptyState,\n\tGlobalSearchFooter,\n\tGlobalSearchIdleState,\n\tGlobalSearchInput,\n\tGlobalSearchResultRow,\n\tGlobalSearchTabs,\n} from './partials';\n\nexport interface GlobalSearchProps<TGroup extends string = string> {\n\t/** Result list. The component renders these grouped by `result.group`. */\n\tresults?: ReadonlyArray<GlobalSearchResult<TGroup>>;\n\t/** Current query value (controlled). */\n\tquery: string;\n\t/** Query change callback. */\n\tonQueryChange: (q: string) => void;\n\t/** Activation callback — fires on row click or Enter. */\n\tonResultSelect?: (result: GlobalSearchResult<TGroup>) => void;\n\t/** Escape-key callback. */\n\tonClose?: () => void;\n\t/** Loading flag — switches the input spinner and renders the loading slot. */\n\tloading?: boolean;\n\t/** Idle-state sections (Recent / Suggestions / …). */\n\tidleSections?: ReadonlyArray<GlobalSearchIdleSection>;\n\t/** Override default group labels in the tab strip. */\n\tgroupLabels?: Partial<Record<TGroup, string>>;\n\t/** Auto-focus the input on mount. */\n\tautoFocus?: boolean;\n\t/** Replace any portion of the default copy. */\n\tstrings?: StringsProp<GlobalSearchStrings>;\n\t/** Replace any portion of the layout. */\n\tslots?: GlobalSearchSlots<TGroup>;\n\t/** Custom tab list — overrides the auto-generated `All + groups`. */\n\ttabs?: ReadonlyArray<GlobalSearchTab<TGroup>>;\n\t/** Wrapper className. */\n\tclassName?: string;\n}\n\nexport function GlobalSearch<TGroup extends string = string>({\n\tresults = [],\n\tquery,\n\tonQueryChange,\n\tonResultSelect,\n\tonClose,\n\tloading = false,\n\tidleSections,\n\tgroupLabels,\n\tautoFocus = false,\n\tstrings: stringsProp,\n\tslots,\n\ttabs,\n\tclassName,\n}: GlobalSearchProps<TGroup>) {\n\tconst strings = useStrings(defaultGlobalSearchStrings, stringsProp);\n\n\tconst search = useGlobalSearch<TGroup>({\n\t\tresults,\n\t\tquery,\n\t\tonResultSelect,\n\t\tonClose,\n\t});\n\n\tconst isEmpty =\n\t\t!loading && query.trim().length > 1 && results.length === 0;\n\tconst isIdle = !loading && query.trim().length <= 1;\n\n\tconst resolvedTabs = React.useMemo<\n\t\tReadonlyArray<GlobalSearchTab<TGroup>>\n\t>(() => {\n\t\tif (tabs) return tabs;\n\t\tconst groupKeys = Object.keys(search.grouped) as TGroup[];\n\t\treturn [\n\t\t\t{ value: 'all', label: strings.tabAll },\n\t\t\t...groupKeys.map((key) => ({\n\t\t\t\tvalue: key,\n\t\t\t\tlabel: groupLabels?.[key] ?? key,\n\t\t\t})),\n\t\t];\n\t}, [tabs, search.grouped, strings.tabAll, groupLabels]);\n\n\treturn (\n\t\t<div\n\t\t\tdata-component=\"global-search\"\n\t\t\tdata-slot=\"global-search\"\n\t\t\tclassName={cn('global-search--component',\n\t\t\t\t'@container/global-search overflow-hidden rounded-radius-lg border border-border bg-card shadow-2xl',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{slots?.input ?? (\n\t\t\t\t<GlobalSearchInput\n\t\t\t\t\tvalue={query}\n\t\t\t\t\tonValueChange={onQueryChange}\n\t\t\t\t\tonKeyDown={search.onKeyDown}\n\t\t\t\t\tplaceholder={strings.placeholder}\n\t\t\t\t\tclearLabel={strings.clear}\n\t\t\t\t\tloading={loading}\n\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!loading && results.length > 0 && (\n\t\t\t\tslots?.tabs ?? (\n\t\t\t\t\t<GlobalSearchTabs<TGroup>\n\t\t\t\t\t\tvalue={search.activeTab}\n\t\t\t\t\t\tonValueChange={search.setActiveTab}\n\t\t\t\t\t\ttabs={resolvedTabs}\n\t\t\t\t\t\tcounts={search.tabCounts}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t)}\n\n\t\t\t<div className=\"max-h-[520px] overflow-y-auto\">\n\t\t\t\t{!!isIdle && (slots?.idle ?? (\n\t\t\t\t\tidleSections && idleSections.length > 0 ? (\n\t\t\t\t\t\t<GlobalSearchIdleState sections={idleSections} />\n\t\t\t\t\t) : null\n\t\t\t\t))}\n\n\t\t\t\t{!!loading && (slots?.loading ?? (\n\t\t\t\t\t<div className=\"global-search--loading flex items-center justify-center px-surface py-12\">\n\t\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t\t{strings.loading}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\n\t\t\t\t{!!isEmpty && (slots?.empty ?? (\n\t\t\t\t\t<GlobalSearchEmptyState\n\t\t\t\t\t\ttitle={interpolateString(strings.emptyTitle, { query })}\n\t\t\t\t\t\thint={strings.emptyHint}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\n\t\t\t\t{!loading && results.length > 0 && (\n\t\t\t\t\t<div className=\"global-search--results p-surface\">\n\t\t\t\t\t\t{Object.entries(search.visibleGrouped).map(\n\t\t\t\t\t\t\t([groupKey, items], gi) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={groupKey}\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'pb-space-xs last:pb-0',\n\t\t\t\t\t\t\t\t\t\tgi > 0 && 'mt-space-md pt-space-xs',\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between px-row-x pb-space-2xs\">\n\t\t\t\t\t\t\t\t\t\t<DisplayLabel>\n\t\t\t\t\t\t\t\t\t\t\t{groupLabels?.[groupKey as TGroup] ?? groupKey}\n\t\t\t\t\t\t\t\t\t\t</DisplayLabel>\n\t\t\t\t\t\t\t\t\t\t{search.activeTab === 'all' && items.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\ttone=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearch.setActiveTab(groupKey as TGroup)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-auto rounded px-1 py-0 text-primary-accent transition-colors hover:underline\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"inherit\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-primary-accent\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{strings.seeAll}\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<Stack render={<ul />} gap=\"2xs\" className=\"m-0 list-none p-0\">\n\t\t\t\t\t\t\t\t\t\t{items.map((item) => {\n\t\t\t\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\t\t\t\tsearch.flat[search.activeIdx]?.id === item.id;\n\t\t\t\t\t\t\t\t\t\t\tconst ctx = {\n\t\t\t\t\t\t\t\t\t\t\t\tisActive,\n\t\t\t\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect: () => onResultSelect?.(item),\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tconst node = slots?.renderResult ? (\n\t\t\t\t\t\t\t\t\t\t\t\tslots.renderResult(item, ctx)\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<GlobalSearchResultRow<TGroup>\n\t\t\t\t\t\t\t\t\t\t\t\t\tresult={item}\n\t\t\t\t\t\t\t\t\t\t\tactive={isActive}\n\t\t\t\t\t\t\t\t\t\t\t\t\tquery={query}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={ctx.onSelect}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsearch.setActiveById(item.id)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\treturn <li key={item.id}>{node}</li>;\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{slots?.footer ?? (\n\t\t\t\t<GlobalSearchFooter\n\t\t\t\t\tnavigateLabel={strings.footerNavigate}\n\t\t\t\t\topenLabel={strings.footerOpen}\n\t\t\t\t\tcloseLabel={strings.footerClose}\n\t\t\t\t\ttrailing={\n\t\t\t\t\t\t!isIdle && !isEmpty && results.length > 0 ? (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"span\"\n\t\t\t\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\tclassName=\"tabular-nums\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{interpolateString(strings.resultsCount, {\n\t\t\t\t\t\t\t\t\tcount: results.length,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","/**\n * GlobalSearchDialog — the command-palette presentation of `GlobalSearch`.\n *\n * `GlobalSearch` is a panel: it renders its own card chrome and expects to be\n * placed somewhere. The palette pattern it was clearly built for — `onClose`,\n * `autoFocus`, Escape handling — had no supported presentation, so every call\n * site hand-rolled the modal around it: a `fixed inset-0` backdrop and a\n * mousedown-outside handler, with no focus trap, no portal, no scroll lock and\n * no dialog role.\n *\n * It presents through `ActionDialog` rather than a raw `Dialog`, because\n * `features/overlays` is the package's single overlay surface and everything\n * modal is expected to come from it. Three of its seams carry the palette\n * shape: `visuallyHideHeader` keeps the accessible name without drawing a\n * heading, `showCloseButton={false}` drops the corner X that would otherwise\n * land on the search field, and the two action flags remove the footer.\n *\n * The surface itself is neutralised because `GlobalSearch` already draws the\n * card, and it anchors near the top rather than centring, which is where a\n * palette belongs.\n */\nimport { useMemo } from 'react';\n\nimport { ActionDialog } from '../overlays';\nimport { useStrings } from '../../../lib/strings';\nimport { cn } from '../../../lib/utils';\n\nimport { GlobalSearch, type GlobalSearchProps } from './global-search';\nimport { defaultGlobalSearchStrings } from './global-search.strings';\n\nexport interface GlobalSearchDialogProps<TGroup extends string = string>\n\textends Omit<GlobalSearchProps<TGroup>, 'onClose'> {\n\t/** Whether the palette is showing. */\n\topen: boolean;\n\t/** Open-state callback. Fires on Escape, backdrop click, and result selection. */\n\tonOpenChange: (open: boolean) => void;\n\t/** Classes for the dialog surface that positions the palette. */\n\tcontentClassName?: string;\n}\n\nexport function GlobalSearchDialog<TGroup extends string = string>({\n\topen,\n\tonOpenChange,\n\tcontentClassName,\n\tclassName,\n\tstrings: stringsProp,\n\tautoFocus = true,\n\t...searchProps\n}: GlobalSearchDialogProps<TGroup>) {\n\tconst strings = useStrings(defaultGlobalSearchStrings, stringsProp);\n\tconst close = useMemo(() => () => onOpenChange(false), [onOpenChange]);\n\n\treturn (\n\t\t<ActionDialog\n\t\t\topen={open}\n\t\t\tonOpenChange={onOpenChange}\n\t\t\ttitle={strings.dialogTitle}\n\t\t\tvisuallyHideHeader\n\t\t\tshowCloseButton={false}\n\t\t\tshowCancel={false}\n\t\t\tshowConfirm={false}\n\t\t\tclassName={cn(\n\t\t\t\t'global-search-dialog--component',\n\t\t\t\t// GlobalSearch draws the card, so the dialog surface carries none:\n\t\t\t\t// stacking both produced a border inside a border.\n\t\t\t\t'w-full max-w-2xl overflow-visible border-0 bg-transparent p-0 shadow-none sm:max-w-2xl',\n\t\t\t\t// A palette belongs near the top of the viewport, not centred in it.\n\t\t\t\t'top-24 translate-y-0',\n\t\t\t\tcontentClassName,\n\t\t\t)}\n\t\t\tcontentClassName=\"p-0\"\n\t\t>\n\t\t\t<GlobalSearch<TGroup>\n\t\t\t\t{...(searchProps as GlobalSearchProps<TGroup>)}\n\t\t\t\tstrings={stringsProp}\n\t\t\t\tautoFocus={autoFocus}\n\t\t\t\tonClose={close}\n\t\t\t\tclassName={className}\n\t\t\t/>\n\t\t</ActionDialog>\n\t);\n}\n\nGlobalSearchDialog.displayName = 'GlobalSearchDialog';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useStrings as e } from "../lib/strings.js";
|
|
3
|
+
import { t } from "../utils-C2EKeIw3.js";
|
|
4
|
+
import { n } from "../buttons-Co6GavvM.js";
|
|
5
|
+
import { a as r } from "../typography-Cv8MT-82.js";
|
|
6
|
+
import { n as i } from "../action-menu-Cx3SdfbN.js";
|
|
7
|
+
import { createContext as a, forwardRef as o, useCallback as s, useContext as c, useEffect as l, useLayoutEffect as u, useMemo as d, useRef as f, useState as p } from "react";
|
|
8
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
9
|
+
import { MoreHorizontal as g } from "lucide-react";
|
|
10
|
+
import { DndContext as _, DragOverlay as v, KeyboardSensor as y, PointerSensor as b, useDroppable as x, useSensor as S, useSensors as C } from "@dnd-kit/core";
|
|
11
|
+
import { SortableContext as w, useSortable as T, verticalListSortingStrategy as E } from "@dnd-kit/sortable";
|
|
12
|
+
import { CSS as D } from "@dnd-kit/utilities";
|
|
13
|
+
//#region src/components/features/kanban/kanban-keyboard.ts
|
|
14
|
+
function O(e, t, n) {
|
|
15
|
+
let r = Object.keys(e), i = r.indexOf(t.columnId);
|
|
16
|
+
if (n === "ArrowLeft" || n === "ArrowRight") {
|
|
17
|
+
let a = r[i + (n === "ArrowRight" ? 1 : -1)];
|
|
18
|
+
return a ? {
|
|
19
|
+
columnId: a,
|
|
20
|
+
index: Math.min(t.index, e[a].length)
|
|
21
|
+
} : t;
|
|
22
|
+
}
|
|
23
|
+
return n === "ArrowUp" || n === "ArrowDown" ? {
|
|
24
|
+
columnId: t.columnId,
|
|
25
|
+
index: Math.max(0, Math.min(e[t.columnId].length - 1, t.index + (n === "ArrowDown" ? 1 : -1)))
|
|
26
|
+
} : t;
|
|
27
|
+
}
|
|
28
|
+
function k(e, t, n, r, i) {
|
|
29
|
+
return (a, { currentCoordinates: o, context: s }) => {
|
|
30
|
+
if (![
|
|
31
|
+
"ArrowUp",
|
|
32
|
+
"ArrowDown",
|
|
33
|
+
"ArrowLeft",
|
|
34
|
+
"ArrowRight"
|
|
35
|
+
].includes(a.code)) return;
|
|
36
|
+
let c = s.active;
|
|
37
|
+
if (!c) return;
|
|
38
|
+
let l = r.current ?? n(String(c.id));
|
|
39
|
+
if (!l) return;
|
|
40
|
+
a.preventDefault();
|
|
41
|
+
let u = O(e, l, a.code);
|
|
42
|
+
r.current = u, i?.(u);
|
|
43
|
+
let d = e[u.columnId][u.index], f = d === void 0 ? u.columnId : t(d), p = s.droppableRects.get(f), m = s.collisionRect;
|
|
44
|
+
return !p || !m ? o : {
|
|
45
|
+
x: o.x + p.left - m.left,
|
|
46
|
+
y: o.y + p.top - m.top
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/components/features/kanban/hooks/use-kanban.ts
|
|
52
|
+
function A({ value: e, onValueChange: t, getItemValue: n, onItemMove: r }) {
|
|
53
|
+
let i = s((t) => {
|
|
54
|
+
for (let [r, i] of Object.entries(e)) {
|
|
55
|
+
let e = i.findIndex((e) => n(e) === t);
|
|
56
|
+
if (e >= 0) return {
|
|
57
|
+
columnId: r,
|
|
58
|
+
index: e,
|
|
59
|
+
item: i[e]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}, [e, n]), a = s(({ itemId: n, toColumnId: a, toIndex: o }) => {
|
|
63
|
+
let s = i(n);
|
|
64
|
+
if (!s || !Object.prototype.hasOwnProperty.call(e, a)) return;
|
|
65
|
+
let { columnId: c, index: l, item: u } = s, d = e[a], f = o === void 0 ? d.length : Math.max(0, Math.min(o, d.length));
|
|
66
|
+
if (c === a && l === f) return;
|
|
67
|
+
let p = { ...e }, m = [...p[c]];
|
|
68
|
+
m.splice(l, 1), p[c] = m;
|
|
69
|
+
let h = [...c === a ? m : p[a]], g = f;
|
|
70
|
+
c === a && l < f && (g = Math.max(0, f - 1)), h.splice(g, 0, u), p[a] = h, t(p), r?.({
|
|
71
|
+
item: u,
|
|
72
|
+
itemId: n,
|
|
73
|
+
from: {
|
|
74
|
+
columnId: c,
|
|
75
|
+
index: l
|
|
76
|
+
},
|
|
77
|
+
to: {
|
|
78
|
+
columnId: a,
|
|
79
|
+
index: g
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}, [
|
|
83
|
+
e,
|
|
84
|
+
i,
|
|
85
|
+
t,
|
|
86
|
+
r
|
|
87
|
+
]);
|
|
88
|
+
return d(() => ({
|
|
89
|
+
findItem: i,
|
|
90
|
+
move: a
|
|
91
|
+
}), [i, a]);
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/components/features/kanban/kanban-context.tsx
|
|
95
|
+
var j = a(null), M = j.Provider;
|
|
96
|
+
function N() {
|
|
97
|
+
let e = c(j);
|
|
98
|
+
if (!e) throw Error("Kanban subcomponents must be rendered inside a <Kanban> root.");
|
|
99
|
+
return e;
|
|
100
|
+
}
|
|
101
|
+
var P = a(null), F = P.Provider;
|
|
102
|
+
function I() {
|
|
103
|
+
let e = c(P);
|
|
104
|
+
if (!e) throw Error("<KanbanItemHandle> / <KanbanItemActions> must be rendered inside a <KanbanItem>.");
|
|
105
|
+
return e;
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region src/components/features/kanban/kanban.strings.ts
|
|
109
|
+
var L = {
|
|
110
|
+
announceDragStart: "Picked up item {name}.",
|
|
111
|
+
announceDragMove: "Moving {name} from {from} to {to}, position {position}.",
|
|
112
|
+
announceDragEnd: "Dropped {name} into {to}, position {position}.",
|
|
113
|
+
announceDragCancel: "Cancelled drag of {name}.",
|
|
114
|
+
dragHandleAria: "Drag handle",
|
|
115
|
+
boardAria: "Kanban board",
|
|
116
|
+
itemActionsAria: "Item actions"
|
|
117
|
+
};
|
|
118
|
+
function R(e, t) {
|
|
119
|
+
return Object.entries(t).reduce((e, [t, n]) => e.replace(RegExp(`\\{${t}\\}`, "g"), n), e);
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/components/features/kanban/kanban.tsx
|
|
123
|
+
function z({ value: n, onValueChange: i, getItemValue: a, getItemLabel: o, getColumnLabel: c, onItemMove: l, itemActions: g, onItemClick: v, strings: x, className: w, children: T }) {
|
|
124
|
+
let E = e(L, x), { findItem: D, move: O } = A({
|
|
125
|
+
value: n,
|
|
126
|
+
onValueChange: i,
|
|
127
|
+
getItemValue: a,
|
|
128
|
+
onItemMove: l
|
|
129
|
+
}), [j, N] = p(null), P = f(null), F = f(null);
|
|
130
|
+
u(() => {
|
|
131
|
+
if (j || !F.current) return;
|
|
132
|
+
let e = Array.from(P.current?.querySelectorAll("[data-kanban-item-id]") ?? []).find((e) => e.dataset.kanbanItemId === F.current), t = e?.querySelector("[data-slot=\"kanban-item-handle\"]") ?? e;
|
|
133
|
+
t && (t.focus(), F.current = null);
|
|
134
|
+
}, [j, n]);
|
|
135
|
+
let I = f(null), z = f(null), [B, V] = p(null), H = f(null), U = d(() => k(n, a, D, H, V), [
|
|
136
|
+
n,
|
|
137
|
+
a,
|
|
138
|
+
D
|
|
139
|
+
]), W = C(S(b, { activationConstraint: { distance: 6 } }), S(y, { coordinateGetter: U })), G = d(() => j ? D(j)?.item ?? null : null, [j, D]), K = s((e) => {
|
|
140
|
+
let t = D(String(e.active.id));
|
|
141
|
+
I.current = t ? {
|
|
142
|
+
columnId: t.columnId,
|
|
143
|
+
index: t.index,
|
|
144
|
+
name: o?.(t.item) ?? String(e.active.id)
|
|
145
|
+
} : null, z.current = null, V(null), H.current = null, F.current = e.activatorEvent instanceof KeyboardEvent ? String(e.active.id) : null, N(String(e.active.id));
|
|
146
|
+
}, [D, o]), q = s((e) => {
|
|
147
|
+
N(null), V(null);
|
|
148
|
+
let { active: t, over: r } = e, i = H.current;
|
|
149
|
+
if (z.current = i, H.current = null, i) {
|
|
150
|
+
let e = D(String(t.id)), n = e?.columnId === i.columnId && e.index < i.index ? i.index + 1 : i.index;
|
|
151
|
+
O({
|
|
152
|
+
itemId: String(t.id),
|
|
153
|
+
toColumnId: i.columnId,
|
|
154
|
+
toIndex: n
|
|
155
|
+
});
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
if (!r) return;
|
|
159
|
+
t.data.current;
|
|
160
|
+
let a = r.data.current, o = String(r.id), s = a?.columnId ?? (Object.prototype.hasOwnProperty.call(n, o) ? o : void 0);
|
|
161
|
+
if (!s) return;
|
|
162
|
+
let c = a?.columnId === void 0 ? n[s].length : a.index;
|
|
163
|
+
O({
|
|
164
|
+
itemId: String(t.id),
|
|
165
|
+
toColumnId: s,
|
|
166
|
+
toIndex: c
|
|
167
|
+
});
|
|
168
|
+
}, [
|
|
169
|
+
O,
|
|
170
|
+
n,
|
|
171
|
+
D
|
|
172
|
+
]), J = d(() => ({
|
|
173
|
+
value: n,
|
|
174
|
+
onValueChange: i,
|
|
175
|
+
getItemValue: a,
|
|
176
|
+
activeId: j,
|
|
177
|
+
activeItem: G,
|
|
178
|
+
findItem: D,
|
|
179
|
+
itemActions: g,
|
|
180
|
+
onItemClick: v
|
|
181
|
+
}), [
|
|
182
|
+
n,
|
|
183
|
+
i,
|
|
184
|
+
a,
|
|
185
|
+
j,
|
|
186
|
+
G,
|
|
187
|
+
D,
|
|
188
|
+
g,
|
|
189
|
+
v
|
|
190
|
+
]), Y = (e, t) => {
|
|
191
|
+
let r = D(e), i = I.current, a = t ? D(t) : void 0, s = H.current ?? z.current ?? a ?? (t && n[t] ? {
|
|
192
|
+
columnId: t,
|
|
193
|
+
index: n[t].length
|
|
194
|
+
} : i), l = (e) => e ? c?.(e) ?? e : "";
|
|
195
|
+
return {
|
|
196
|
+
name: i?.name ?? (r ? o?.(r.item) ?? e : e),
|
|
197
|
+
from: l(i?.columnId),
|
|
198
|
+
to: l(s?.columnId),
|
|
199
|
+
position: String((s?.index ?? 0) + 1)
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
return /* @__PURE__ */ m(M, {
|
|
203
|
+
value: J,
|
|
204
|
+
children: /* @__PURE__ */ m(_, {
|
|
205
|
+
sensors: W,
|
|
206
|
+
onDragStart: K,
|
|
207
|
+
onDragEnd: q,
|
|
208
|
+
onDragCancel: () => {
|
|
209
|
+
H.current = null, V(null), N(null);
|
|
210
|
+
},
|
|
211
|
+
accessibility: { announcements: {
|
|
212
|
+
onDragStart({ active: e }) {
|
|
213
|
+
return R(E.announceDragStart, Y(String(e.id)));
|
|
214
|
+
},
|
|
215
|
+
onDragMove({ active: e, over: t }) {
|
|
216
|
+
if (!F.current) return R(E.announceDragMove, Y(String(e.id), t ? String(t.id) : void 0));
|
|
217
|
+
},
|
|
218
|
+
onDragOver({ active: e, over: t }) {
|
|
219
|
+
if (!F.current) return R(E.announceDragMove, Y(String(e.id), t ? String(t.id) : void 0));
|
|
220
|
+
},
|
|
221
|
+
onDragEnd({ active: e, over: t }) {
|
|
222
|
+
return R(E.announceDragEnd, Y(String(e.id), t ? String(t.id) : void 0));
|
|
223
|
+
},
|
|
224
|
+
onDragCancel({ active: e }) {
|
|
225
|
+
return R(E.announceDragCancel, Y(String(e.id)));
|
|
226
|
+
}
|
|
227
|
+
} },
|
|
228
|
+
children: /* @__PURE__ */ h("div", {
|
|
229
|
+
ref: P,
|
|
230
|
+
role: "application",
|
|
231
|
+
"aria-label": E.boardAria,
|
|
232
|
+
className: t("kanban--component", "w-full", w),
|
|
233
|
+
children: [T, /* @__PURE__ */ m("div", {
|
|
234
|
+
className: "kanban--keyboard-announcement sr-only",
|
|
235
|
+
role: "status",
|
|
236
|
+
"aria-live": "assertive",
|
|
237
|
+
"aria-atomic": "true",
|
|
238
|
+
children: /* @__PURE__ */ m(r, {
|
|
239
|
+
tag: "span",
|
|
240
|
+
children: j && B ? R(E.announceDragMove, Y(j)) : ""
|
|
241
|
+
})
|
|
242
|
+
})]
|
|
243
|
+
})
|
|
244
|
+
})
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
z.displayName = "Kanban";
|
|
248
|
+
function B({ className: e, style: n, children: r }) {
|
|
249
|
+
return /* @__PURE__ */ m("div", {
|
|
250
|
+
className: t("grid w-full gap-space-lg", e),
|
|
251
|
+
style: n,
|
|
252
|
+
children: r
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
B.displayName = "KanbanBoard";
|
|
256
|
+
function V({ value: e, className: n, children: r }) {
|
|
257
|
+
let { setNodeRef: i, isOver: a } = x({ id: e });
|
|
258
|
+
return /* @__PURE__ */ m("div", {
|
|
259
|
+
ref: i,
|
|
260
|
+
"data-slot": "kanban-column",
|
|
261
|
+
"data-column-id": e,
|
|
262
|
+
"data-over": a ? "true" : void 0,
|
|
263
|
+
className: t("flex min-w-0 flex-col", n),
|
|
264
|
+
children: r
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
V.displayName = "KanbanColumn";
|
|
268
|
+
function H({ value: e, className: n, children: r }) {
|
|
269
|
+
let i = N(), a = (i.value[e] ?? []).map((e) => i.getItemValue(e));
|
|
270
|
+
return /* @__PURE__ */ m(w, {
|
|
271
|
+
items: a,
|
|
272
|
+
strategy: E,
|
|
273
|
+
children: /* @__PURE__ */ m("div", {
|
|
274
|
+
"data-slot": "kanban-column-content",
|
|
275
|
+
className: t("flex flex-col gap-space-md", n),
|
|
276
|
+
children: r
|
|
277
|
+
})
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
H.displayName = "KanbanColumnContent";
|
|
281
|
+
function U({ value: e, className: n, disabled: r = !1, onClick: i, children: a }) {
|
|
282
|
+
let o = N(), c = o.findItem(e), { attributes: l, listeners: u, setNodeRef: f, setActivatorNodeRef: h, transform: g, transition: _, isDragging: v } = T({
|
|
283
|
+
id: e,
|
|
284
|
+
disabled: r,
|
|
285
|
+
data: {
|
|
286
|
+
columnId: c?.columnId,
|
|
287
|
+
index: c?.index
|
|
288
|
+
}
|
|
289
|
+
}), y = {
|
|
290
|
+
transform: D.Transform.toString(g),
|
|
291
|
+
transition: _,
|
|
292
|
+
opacity: v ? .4 : void 0
|
|
293
|
+
}, [b, x] = p(0), S = b > 0, C = s(() => (x((e) => e + 1), () => x((e) => Math.max(0, e - 1))), []), w = d(() => ({
|
|
294
|
+
listeners: u,
|
|
295
|
+
attributes: l,
|
|
296
|
+
setActivatorNodeRef: h,
|
|
297
|
+
registerHandle: C,
|
|
298
|
+
itemId: e,
|
|
299
|
+
item: c?.item ?? null
|
|
300
|
+
}), [
|
|
301
|
+
u,
|
|
302
|
+
l,
|
|
303
|
+
h,
|
|
304
|
+
C,
|
|
305
|
+
e,
|
|
306
|
+
c?.item
|
|
307
|
+
]), E = o.onItemClick, O = s((e) => {
|
|
308
|
+
if (!e.target?.closest("[data-stop-item-click]")) {
|
|
309
|
+
if (i) {
|
|
310
|
+
i();
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
E && c?.item !== void 0 && E(c.item);
|
|
314
|
+
}
|
|
315
|
+
}, [
|
|
316
|
+
i,
|
|
317
|
+
E,
|
|
318
|
+
c?.item
|
|
319
|
+
]), k = !!(i || E);
|
|
320
|
+
return /* @__PURE__ */ m(F, {
|
|
321
|
+
value: w,
|
|
322
|
+
children: /* @__PURE__ */ m("div", {
|
|
323
|
+
ref: f,
|
|
324
|
+
style: y,
|
|
325
|
+
"data-slot": "kanban-item",
|
|
326
|
+
"data-kanban-item-id": e,
|
|
327
|
+
"data-dragging": v ? "true" : void 0,
|
|
328
|
+
className: t("touch-none select-none", k && "cursor-pointer", n),
|
|
329
|
+
onClick: k ? O : void 0,
|
|
330
|
+
...S ? {} : l,
|
|
331
|
+
...S ? {} : u,
|
|
332
|
+
children: a
|
|
333
|
+
})
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
U.displayName = "KanbanItem";
|
|
337
|
+
var W = o(function({ className: e, children: r }, i) {
|
|
338
|
+
let { setActivatorNodeRef: a, listeners: o, attributes: c, registerHandle: u } = I();
|
|
339
|
+
l(() => u(), [u]);
|
|
340
|
+
let d = s((e) => {
|
|
341
|
+
a(e), typeof i == "function" ? i(e) : i && (i.current = e);
|
|
342
|
+
}, [a, i]);
|
|
343
|
+
return /* @__PURE__ */ m(n, {
|
|
344
|
+
type: "button",
|
|
345
|
+
tone: "secondary",
|
|
346
|
+
buttonStyle: "ghost",
|
|
347
|
+
size: "sm",
|
|
348
|
+
iconOnly: !0,
|
|
349
|
+
ref: d,
|
|
350
|
+
"data-slot": "kanban-item-handle",
|
|
351
|
+
"data-stop-item-click": !0,
|
|
352
|
+
onClick: (e) => e.stopPropagation(),
|
|
353
|
+
className: t("cursor-grab rounded-radius-sm shadow-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/50 active:cursor-grabbing", e),
|
|
354
|
+
...c,
|
|
355
|
+
...o,
|
|
356
|
+
children: r
|
|
357
|
+
});
|
|
358
|
+
});
|
|
359
|
+
W.displayName = "KanbanItemHandle";
|
|
360
|
+
function G({ className: n, icon: r, ariaLabel: a }) {
|
|
361
|
+
let o = N(), s = I(), c = e(L, void 0), l = s.item, u = o.itemActions, f = d(() => !u || l == null ? [] : (typeof u == "function" ? u(l) : u).flatMap((e) => {
|
|
362
|
+
let t = typeof e.visible == "function" ? e.visible(l) : e.visible ?? !0;
|
|
363
|
+
if (!t) return [];
|
|
364
|
+
let n = typeof e.disabled == "function" ? e.disabled(l) : e.disabled ?? !1;
|
|
365
|
+
return [{
|
|
366
|
+
...e,
|
|
367
|
+
visible: t,
|
|
368
|
+
disabled: n
|
|
369
|
+
}];
|
|
370
|
+
}), [u, l]);
|
|
371
|
+
if (l === null || f.length === 0) return null;
|
|
372
|
+
let p = f.map((e) => ({
|
|
373
|
+
id: e.id,
|
|
374
|
+
label: e.label,
|
|
375
|
+
icon: e.icon,
|
|
376
|
+
disabled: e.disabled,
|
|
377
|
+
tone: e.tone,
|
|
378
|
+
buttonStyle: e.buttonStyle,
|
|
379
|
+
onClick: () => e.onClick(l)
|
|
380
|
+
}));
|
|
381
|
+
return /* @__PURE__ */ m("span", {
|
|
382
|
+
className: "kanban-item-actions--component inline-flex",
|
|
383
|
+
"data-stop-item-click": !0,
|
|
384
|
+
onClick: (e) => e.stopPropagation(),
|
|
385
|
+
onPointerDown: (e) => e.stopPropagation(),
|
|
386
|
+
children: /* @__PURE__ */ m(i, {
|
|
387
|
+
actions: p,
|
|
388
|
+
icon: r ?? g,
|
|
389
|
+
srText: a ?? c.itemActionsAria,
|
|
390
|
+
width: "w-44",
|
|
391
|
+
align: "end",
|
|
392
|
+
density: "table",
|
|
393
|
+
buttonProps: {
|
|
394
|
+
size: "sm",
|
|
395
|
+
iconOnly: !0,
|
|
396
|
+
className: t("size-action-xs rounded-radius-md p-0", "text-muted-foreground/70 hover:bg-muted hover:text-foreground", "transition-colors", n),
|
|
397
|
+
"data-slot": "kanban-item-actions-trigger",
|
|
398
|
+
"data-stop-item-click": !0,
|
|
399
|
+
"aria-label": a ?? c.itemActionsAria
|
|
400
|
+
}
|
|
401
|
+
})
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
G.displayName = "KanbanItemActions";
|
|
405
|
+
function K({ className: e, render: n }) {
|
|
406
|
+
let { activeItem: i, activeId: a, findItem: o } = N();
|
|
407
|
+
return /* @__PURE__ */ m(v, { children: a ? n ? n({
|
|
408
|
+
item: i,
|
|
409
|
+
columnId: o(a)?.columnId ?? null
|
|
410
|
+
}) : /* @__PURE__ */ m("div", {
|
|
411
|
+
className: t("pointer-events-none rounded-radius-md border-2 border-dashed border-primary/40 bg-primary/5 p-3 shadow-lg", e),
|
|
412
|
+
children: /* @__PURE__ */ m(r, {
|
|
413
|
+
tag: "span",
|
|
414
|
+
size: "xs",
|
|
415
|
+
weight: "medium",
|
|
416
|
+
className: "text-primary-accent/80",
|
|
417
|
+
children: a
|
|
418
|
+
})
|
|
419
|
+
}) : null });
|
|
420
|
+
}
|
|
421
|
+
K.displayName = "KanbanOverlay";
|
|
422
|
+
//#endregion
|
|
423
|
+
export { z as Kanban, B as KanbanBoard, V as KanbanColumn, H as KanbanColumnContent, U as KanbanItem, G as KanbanItemActions, W as KanbanItemHandle, K as KanbanOverlay, L as defaultKanbanStrings, R as interpolateKanbanString, A as useKanban };
|
|
424
|
+
|
|
425
|
+
//# sourceMappingURL=kanban.js.map
|