themelia-react-ui 1.0.0 → 1.0.1
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 +53 -1
- package/README.md +39 -6
- package/dist/{accordion-BRWh3BM1.js → accordion-B-5Focs8.js} +2 -2
- package/dist/{accordion-BRWh3BM1.js.map → accordion-B-5Focs8.js.map} +1 -1
- package/dist/{affordance-geometry.generated-DXl-Zb3Z.js → affordance-geometry.generated-D8Jcfb0G.js} +10 -1
- package/dist/affordance-geometry.generated-D8Jcfb0G.js.map +1 -0
- package/dist/{ai-artifact-DkOArd3-.js → ai-artifact-B5tPpXnS.js} +5 -5
- package/dist/{ai-artifact-DkOArd3-.js.map → ai-artifact-B5tPpXnS.js.map} +1 -1
- package/dist/{app-shell-BH_bGcE2.js → app-shell-at8Kt4l_.js} +3 -3
- package/dist/{app-shell-BH_bGcE2.js.map → app-shell-at8Kt4l_.js.map} +1 -1
- package/dist/{attachment-DsLgNHXt.js → attachment-BO2R47wn.js} +2 -2
- package/dist/{attachment-DsLgNHXt.js.map → attachment-BO2R47wn.js.map} +1 -1
- package/dist/{auth-BDB1V_2q.js → auth-OFwWSAap.js} +4 -4
- package/dist/{auth-BDB1V_2q.js.map → auth-OFwWSAap.js.map} +1 -1
- package/dist/{avatar-CsnWaYmt.js → avatar-Bpzty83c.js} +73 -68
- package/dist/avatar-Bpzty83c.js.map +1 -0
- package/dist/base/accordion.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/cascader.js +6 -6
- package/dist/base/choice-inputs.js +3 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +1 -1
- package/dist/base/feedback.js +4 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +236 -0
- package/dist/base/inline-edit.js.map +1 -0
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/navigation.js +3 -3
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/repeaters.js +4 -4
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +3 -3
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/blocks/admin.js +6 -6
- package/dist/blocks/ai.js +6 -6
- package/dist/blocks/analytics/usage-card.js +3 -0
- package/dist/blocks/analytics.js +361 -360
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +15 -15
- package/dist/blocks/data-display.js +1 -1
- package/dist/blocks/onboarding.js +3 -3
- package/dist/blocks/planning.js +311 -0
- package/dist/blocks/planning.js.map +1 -0
- package/dist/blocks/timelines.js +1 -1
- package/dist/{cards-BMB0laLG.js → cards-Cum56XOF.js} +3 -3
- package/dist/{cards-BMB0laLG.js.map → cards-Cum56XOF.js.map} +1 -1
- package/dist/checkbox-BavDRjF7.js +34 -0
- package/dist/checkbox-BavDRjF7.js.map +1 -0
- package/dist/{choice-inputs-CavA-SGV.js → choice-inputs-CC7XqPQO.js} +166 -191
- package/dist/choice-inputs-CC7XqPQO.js.map +1 -0
- package/dist/{code-block-DIlqzoiD.js → code-block-xHKbAJDj.js} +2 -2
- package/dist/{code-block-DIlqzoiD.js.map → code-block-xHKbAJDj.js.map} +1 -1
- package/dist/{combobox-HDftpzxt.js → combobox-DEbdr-3u.js} +2 -2
- package/dist/{combobox-HDftpzxt.js.map → combobox-DEbdr-3u.js.map} +1 -1
- package/dist/{combobox-CHD750do.js → combobox-xv3yJbzl.js} +7 -7
- package/dist/{combobox-CHD750do.js.map → combobox-xv3yJbzl.js.map} +1 -1
- package/dist/{command-D0kWBZfd.js → command-C0xe7u9B.js} +2 -2
- package/dist/{command-D0kWBZfd.js.map → command-C0xe7u9B.js.map} +1 -1
- package/dist/{comments-CvYeglMS.js → comments-DviPLnwy.js} +8 -8
- package/dist/{comments-CvYeglMS.js.map → comments-DviPLnwy.js.map} +1 -1
- package/dist/components/base/cards/smart-card.types.d.ts +2 -0
- package/dist/components/base/inline-edit/index.d.ts +2 -0
- package/dist/components/base/inline-edit/inline-edit.d.ts +81 -0
- package/dist/components/base/inline-edit/inline-edit.recipes.d.ts +6 -0
- package/dist/components/base/structure/structure.recipes.d.ts +6 -0
- package/dist/components/blocks/analytics/index.d.ts +1 -0
- package/dist/components/blocks/analytics/usage-card/index.d.ts +3 -0
- package/dist/components/blocks/analytics/usage-card/types.d.ts +52 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.d.ts +6 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.data.d.ts +19 -0
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +22 -0
- package/dist/components/blocks/planning/index.d.ts +3 -0
- package/dist/components/blocks/planning/task-card.d.ts +3 -0
- package/dist/components/blocks/planning/task-card.strings.d.ts +15 -0
- package/dist/components/blocks/planning/task-card.types.d.ts +66 -0
- package/dist/{containers-CPNyNo1_.js → containers-6s-ucRQQ.js} +3 -2
- package/dist/containers-6s-ucRQQ.js.map +1 -0
- package/dist/{data-display-b3d1TfL4.js → data-display-cWIRdeaf.js} +8 -8
- package/dist/{data-display-b3d1TfL4.js.map → data-display-cWIRdeaf.js.map} +1 -1
- package/dist/{date-picker-DI6kPNof.js → date-picker-CA6ogMQB.js} +5 -5
- package/dist/{date-picker-DI6kPNof.js.map → date-picker-CA6ogMQB.js.map} +1 -1
- package/dist/{date-pickers-ByP6Cv2z.js → date-pickers-BPIKLdsD.js} +4 -4
- package/dist/{date-pickers-ByP6Cv2z.js.map → date-pickers-BPIKLdsD.js.map} +1 -1
- package/dist/{display-ByI5tkqy.js → display-CFM5myut.js} +3 -3
- package/dist/{display-ByI5tkqy.js.map → display-CFM5myut.js.map} +1 -1
- package/dist/features/activities.js +4 -4
- package/dist/features/ai-chat.js +4 -4
- package/dist/features/async-preview.js +4 -4
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +5 -5
- package/dist/features/email-composer.js +11 -11
- package/dist/features/event-calendar.js +2 -2
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +6 -6
- package/dist/features/map.js +3 -3
- package/dist/features/media-library.js +8 -8
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +43 -42
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +107 -106
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +5 -5
- package/dist/features/resource.js +7 -7
- package/dist/features/rich-text-editor.js +1 -1
- package/dist/features/schema-form.js +11 -11
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +2 -2
- package/dist/features/sync.js +2 -2
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +11 -11
- package/dist/feedback-DWUkgEjR.js +233 -0
- package/dist/feedback-DWUkgEjR.js.map +1 -0
- package/dist/{field-affordance-recipes-CHdUtn2Z.js → field-affordance-recipes-IjzPrCTw.js} +2 -2
- package/dist/{field-affordance-recipes-CHdUtn2Z.js.map → field-affordance-recipes-IjzPrCTw.js.map} +1 -1
- package/dist/{filters-qtrcv1hf.js → filters-BhsUtsxW.js} +9 -9
- package/dist/{filters-qtrcv1hf.js.map → filters-BhsUtsxW.js.map} +1 -1
- package/dist/{form-field-C6W-y2hR.js → form-field-Bn7ZH1rA.js} +2 -2
- package/dist/{form-field-C6W-y2hR.js.map → form-field-Bn7ZH1rA.js.map} +1 -1
- package/dist/{form-sizing-39NohSqn.js → form-sizing-BWs70_a2.js} +4 -3
- package/dist/{form-sizing-39NohSqn.js.map → form-sizing-BWs70_a2.js.map} +1 -1
- package/dist/{forms-BF-HSbff.js → forms-B7pzS25o.js} +5 -5
- package/dist/{forms-BF-HSbff.js.map → forms-B7pzS25o.js.map} +1 -1
- package/dist/{forms-numeric-Y15Bg5Nr.js → forms-numeric-BUBxELBv.js} +18 -18
- package/dist/{forms-numeric-Y15Bg5Nr.js.map → forms-numeric-BUBxELBv.js.map} +1 -1
- package/dist/{header-B8ex54cY.js → header-C59QZyxV.js} +6 -6
- package/dist/{header-B8ex54cY.js.map → header-C59QZyxV.js.map} +1 -1
- package/dist/{hooks-D6UBVzf2.js → hooks-CM1Vp9Pe.js} +2 -2
- package/dist/{hooks-D6UBVzf2.js.map → hooks-CM1Vp9Pe.js.map} +1 -1
- package/dist/{input-DMorJiTI.js → input-WwYQZJzG.js} +3 -3
- package/dist/{input-DMorJiTI.js.map → input-WwYQZJzG.js.map} +1 -1
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +1 -1
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +10 -10
- package/dist/lib/affordance-geometry.generated.d.ts +9 -0
- package/dist/{media-gallery-Ca4YmvBi.js → media-gallery-DhDRgnVZ.js} +2 -2
- package/dist/{media-gallery-Ca4YmvBi.js.map → media-gallery-DhDRgnVZ.js.map} +1 -1
- package/dist/{mentions-CRio8mTm.js → mentions-B8Ko-fhS.js} +4 -4
- package/dist/{mentions-CRio8mTm.js.map → mentions-B8Ko-fhS.js.map} +1 -1
- package/dist/{message-B5-6LeYl.js → message-COsdEvXT.js} +2 -2
- package/dist/{message-B5-6LeYl.js.map → message-COsdEvXT.js.map} +1 -1
- package/dist/{navigation-DqEITuD2.js → navigation-BUIn2Qxx.js} +2 -2
- package/dist/{navigation-DqEITuD2.js.map → navigation-BUIn2Qxx.js.map} +1 -1
- package/dist/{navigation-BTrEb5u4.js → navigation-DBEu4POU.js} +3 -3
- package/dist/{navigation-BTrEb5u4.js.map → navigation-DBEu4POU.js.map} +1 -1
- package/dist/{navigation-row-recipes-BFpvGPGE.js → navigation-row-recipes-GVh11KiT.js} +2 -2
- package/dist/{navigation-row-recipes-BFpvGPGE.js.map → navigation-row-recipes-GVh11KiT.js.map} +1 -1
- package/dist/{overlays-DBqV0J_V.js → overlays-B11wZka6.js} +4 -4
- package/dist/{overlays-DBqV0J_V.js.map → overlays-B11wZka6.js.map} +1 -1
- package/dist/{page-BMBGjJY8.js → page-BV6ioQg3.js} +5 -5
- package/dist/{page-BMBGjJY8.js.map → page-BV6ioQg3.js.map} +1 -1
- package/dist/{page-header-BH41wCyY.js → page-header-DQRa0jug.js} +2 -2
- package/dist/{page-header-BH41wCyY.js.map → page-header-DQRa0jug.js.map} +1 -1
- package/dist/{popover-TInGXsjg.js → popover-CoLDEg19.js} +2 -2
- package/dist/{popover-TInGXsjg.js.map → popover-CoLDEg19.js.map} +1 -1
- package/dist/{popover-menu-BzqXqE72.js → popover-menu-GLIQTJTx.js} +4 -4
- package/dist/{popover-menu-BzqXqE72.js.map → popover-menu-GLIQTJTx.js.map} +1 -1
- package/dist/progress-BOe8l_FZ.js +168 -0
- package/dist/progress-BOe8l_FZ.js.map +1 -0
- package/dist/{receipt-DYWTQGEc.js → receipt-BM8xsGFy.js} +3 -3
- package/dist/{receipt-DYWTQGEc.js.map → receipt-BM8xsGFy.js.map} +1 -1
- package/dist/{rich-text-editor-BZSJchAF.js → rich-text-editor-CoVrTiSv.js} +2 -2
- package/dist/{rich-text-editor-BZSJchAF.js.map → rich-text-editor-CoVrTiSv.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/{settings-D9f_wdIC.js → settings-BnCyyPOJ.js} +3 -3
- package/dist/{settings-D9f_wdIC.js.map → settings-BnCyyPOJ.js.map} +1 -1
- package/dist/{sheet-vOUloJ4O.js → sheet-B-q914Ad.js} +2 -2
- package/dist/{sheet-vOUloJ4O.js.map → sheet-B-q914Ad.js.map} +1 -1
- package/dist/{sidebar-C3UKkbC5.js → sidebar-C_2p3Tfj.js} +6 -6
- package/dist/{sidebar-C3UKkbC5.js.map → sidebar-C_2p3Tfj.js.map} +1 -1
- package/dist/{sidebar-CNBKFDRW.js → sidebar-DPR7fmqN.js} +4 -4
- package/dist/{sidebar-CNBKFDRW.js.map → sidebar-DPR7fmqN.js.map} +1 -1
- package/dist/{skeleton-BvRhK8y-.js → skeleton-CmT1ppqb.js} +2 -2
- package/dist/{skeleton-BvRhK8y-.js.map → skeleton-CmT1ppqb.js.map} +1 -1
- package/dist/{smart-card-B5FcKODh.js → smart-card-CYLn46e6.js} +119 -118
- package/dist/smart-card-CYLn46e6.js.map +1 -0
- package/dist/{spinner-JtlFJ7Nc.js → spinner-BY9HbUEh.js} +2 -2
- package/dist/{spinner-JtlFJ7Nc.js.map → spinner-BY9HbUEh.js.map} +1 -1
- package/dist/{structure-BvW4vG4H.js → structure-MvKVq-oL.js} +13 -13
- package/dist/{structure-BvW4vG4H.js.map → structure-MvKVq-oL.js.map} +1 -1
- package/dist/{structure.recipes-DjqnBpwz.js → structure.recipes-Bqhf9oIh.js} +2 -2
- package/dist/structure.recipes-Bqhf9oIh.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/{table-ghtAQ-JJ.js → table-BS39xnlq.js} +6 -6
- package/dist/{table-ghtAQ-JJ.js.map → table-BS39xnlq.js.map} +1 -1
- package/dist/{tabs-DY09eoZg.js → tabs-B5cNMWiP.js} +2 -2
- package/dist/{tabs-DY09eoZg.js.map → tabs-B5cNMWiP.js.map} +1 -1
- package/dist/{text-inputs-BhOcedTo.js → text-inputs-Dh9XGyiS.js} +4 -4
- package/dist/{text-inputs-BhOcedTo.js.map → text-inputs-Dh9XGyiS.js.map} +1 -1
- package/dist/{timelines-CnZ2S_Gr.js → timelines-B9ICkQcV.js} +2 -2
- package/dist/{timelines-CnZ2S_Gr.js.map → timelines-B9ICkQcV.js.map} +1 -1
- package/dist/{tree-COD9BGdU.js → tree-BdWSaoFT.js} +2 -2
- package/dist/{tree-COD9BGdU.js.map → tree-BdWSaoFT.js.map} +1 -1
- package/dist/{upload-DIzw1dx1.js → upload-D8Za5x_c.js} +4 -4
- package/dist/{upload-DIzw1dx1.js.map → upload-D8Za5x_c.js.map} +1 -1
- package/dist/{upload-queue-xRJ3qDmd.js → upload-queue-hIIYBLS7.js} +3 -3
- package/dist/{upload-queue-xRJ3qDmd.js.map → upload-queue-hIIYBLS7.js.map} +1 -1
- package/dist/usage-card-DnmnJ58D.js +458 -0
- package/dist/usage-card-DnmnJ58D.js.map +1 -0
- package/dist/{value-inputs-Co1fu-xv.js → value-inputs-DX2dbxjj.js} +7 -7
- package/dist/{value-inputs-Co1fu-xv.js.map → value-inputs-DX2dbxjj.js.map} +1 -1
- package/dist/{workspace-Cbqz4FzN.js → workspace-C1PZmk8L.js} +4 -4
- package/dist/{workspace-Cbqz4FzN.js.map → workspace-C1PZmk8L.js.map} +1 -1
- package/docs/consumer-skill/SKILL.md +120 -17
- package/docs/consumer-skill/examples/detail.tsx +7 -8
- package/docs/consumer-skill/examples/manifest.json +14 -0
- package/docs/consumer-skill/examples/planning-usage-edit.tsx +29 -0
- package/docs/consumer-skill/examples/scoped-directory.tsx +77 -0
- package/docs/consumer-skill/references/composition.md +103 -0
- package/docs/consumer-skill/references/design-contract.md +4 -3
- package/docs/consumer-skill/references/discovery.md +17 -0
- package/docs/consumer-skill/references/installation.md +20 -3
- package/docs/consumer-skill/references/integration.md +12 -0
- package/docs/consumer-skill/references/public-api.json +452 -229
- package/docs/consumer-skill/references/review.md +74 -0
- package/docs/consumer-skill/references/tokens.json +1 -1
- package/docs/consumer-skill/references/workflows.md +97 -1
- package/docs/consumer-skill/scripts/check-composition.mjs +31 -0
- package/docs/consumer-skill/scripts/composition-policy.mjs +155 -0
- package/docs/consumer-skill/scripts/discovery.mjs +6 -1
- package/docs/consumer-skill/scripts/surface-policy.mjs +22 -0
- package/package.json +24 -3
- package/dist/affordance-geometry.generated-DXl-Zb3Z.js.map +0 -1
- package/dist/avatar-CsnWaYmt.js.map +0 -1
- package/dist/choice-inputs-CavA-SGV.js.map +0 -1
- package/dist/containers-CPNyNo1_.js.map +0 -1
- package/dist/feedback-a9j9J-9A.js +0 -391
- package/dist/feedback-a9j9J-9A.js.map +0 -1
- package/dist/smart-card-B5FcKODh.js.map +0 -1
- package/dist/structure.recipes-DjqnBpwz.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-D0kWBZfd.js","names":["React","Command","defaultFilter","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","CommandSeparator","CommandShortcut","React","CommandPrimitive","CommandInputPrimitive","CommandListPrimitive","CommandGroupPrimitive","_Fragment","CommandItemPrimitive","CommandEmptyPrimitive","CommandSeparatorPrimitive","CommandShortcutPrimitive","useTypographyConfig","textSizes","Text","DisplayLabel","surfaceInsetClasses","collectionRowClasses","popoverRecipes","CollectionLabel","Input","React$1","Fragment$1","commandFilter","haystack","value","keywords","needle","search","position","char","CommandContext","GroupContext","useCommand","textValue","children","child","visible","item","context","rankRecords","candidates","records","scores","compare","b","a","loose","groups","group","sortedGroups","items","Command$1","props","searchState","setSearchState","input","setInput","activeState","setActiveState","defaultValue","setRecords","active","managedHighlight","rootRef","sourceOrder","nextSourceOrder","register","current","record","registerInput","next","setSearch","setActive","onValueChange","shouldFilter","filter","rankedRecords","sourceLayout","previouslyRanked","root","liveIds","id","parent","key","element","owned","parents","ranks","index","rank","ranking","source","recordedKey","desired","sorted","left","right","previousSearch","searchChanged","useRender","asChild","ref","label","cn","className","onKeyDownCapture","event","delta","loop","onKeyDown","vimBindings","Autocomplete","disablePointerSelection","details","CommandInput$1","CommandList$1","CommandEmpty$1","CommandGroup$1","_value","groupItems","hidden","forceMount","headingElement","heading","renderedGroup","CommandItem$1","valueProp","groupContext","effectiveForceMount","keywordsKey","disabled","onClick","onSelect","CommandSeparator$1","alwaysRender","CommandShortcut$1","commandInsetClasses","CommandInsetContext","Command","inset","CommandInput","CommandList","CommandGroupHeading","CommandGroup","resolvedHeading","CommandItem","indicator","Check","content","density","defaultTextSize","CommandEmpty","CommandSeparator","CommandShortcut"],"sources":["../src/lib/command-filter.ts","../src/components/ui/command.tsx","../src/components/base/command/command.tsx"],"sourcesContent":["// Subsequence matching preserves fuzzy searches and keyword aliases without cmdk.\nexport function commandFilter(value: string, search: string, keywords: string[] = []) {\n const haystack = [value, ...keywords].join(' ').toLocaleLowerCase();\n const needle = search.trim().toLocaleLowerCase();\n if (!needle) return 1;\n if (haystack.includes(needle)) return 1;\n let position = 0;\n for (const char of needle) {\n position = haystack.indexOf(char, position);\n if (position === -1) return 0;\n position += 1;\n }\n return 0.5;\n}\n","import { commandFilter as defaultFilter } from '../../lib/command-filter';\nimport * as React from 'react';\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nexport type CommandFilter = (value: string, search: string, keywords?: string[]) => number;\ntype ItemRecord = { id: string; value: string; keywords: string[]; forceMount: boolean; disabled?: boolean; group?: string };\ntype InputState = { value?: string; onValueChange?: (value: string) => void };\ntype CommandContextValue = {\n managedHighlight: boolean; search: string; setSearch: (value: string) => void;\n active: string; setActive: (value: string) => void;\n shouldFilter: boolean; filter: CommandFilter;\n records: ItemRecord[]; register: (item: ItemRecord) => () => void;\n registerInput: (input: InputState) => () => void;\n};\nconst CommandContext = React.createContext<CommandContextValue | null>(null);\nconst GroupContext = React.createContext<{ id?: string; forceMount: boolean }>({ forceMount: false });\nfunction useCommand() {\n const value = React.useContext(CommandContext);\n if (!value) throw new Error('Command parts must be rendered inside Command.');\n return value;\n}\nfunction textValue(children: React.ReactNode): string {\n return React.Children.toArray(children).map(child => {\n if (typeof child === 'string' || typeof child === 'number') return String(child);\n if (React.isValidElement<{ children?: React.ReactNode }>(child)) return textValue(child.props.children);\n return '';\n }).join(' ').trim();\n}\n\nfunction visible(item: ItemRecord, context: Pick<CommandContextValue, 'search' | 'shouldFilter' | 'filter'>) {\n return item.forceMount || !context.shouldFilter || !context.search || context.filter(item.value, context.search, item.keywords) > 0;\n}\n/** cmdk ranks loose items first, then groups by their best matching item. */\nfunction rankRecords(records: ItemRecord[], context: Pick<CommandContextValue, 'search' | 'shouldFilter' | 'filter'>) {\n const candidates = records.filter(item => visible(item, context));\n if (!context.search || !context.shouldFilter) return candidates;\n const scores = new Map(candidates.map(item => [item.id, context.filter(item.value, context.search, item.keywords)]));\n const compare = (a: ItemRecord, b: ItemRecord) => (scores.get(b.id) ?? 0) - (scores.get(a.id) ?? 0);\n const loose: ItemRecord[] = [];\n const groups = new Map<string, ItemRecord[]>();\n for (const item of candidates) {\n if (!item.group) loose.push(item);\n else { const group = groups.get(item.group) ?? []; group.push(item); groups.set(item.group, group); }\n }\n const sortedGroups = Array.from(groups.values()).map(items => items.sort(compare))\n .sort((a, b) => (scores.get(b[0].id) ?? 0) - (scores.get(a[0].id) ?? 0));\n return [...loose.sort(compare), ...sortedGroups.flat()];\n}\nexport type CommandProps = React.ComponentPropsWithRef<'div'> & {\n asChild?: boolean; label?: string; shouldFilter?: boolean; filter?: CommandFilter;\n defaultValue?: string; value?: string; onValueChange?: (value: string) => void;\n loop?: boolean; disablePointerSelection?: boolean; vimBindings?: boolean;\n};\nfunction Command({ children, className, asChild, label, shouldFilter = true, filter = defaultFilter,\n value, defaultValue = '', onValueChange, loop = false, disablePointerSelection = false,\n vimBindings = true, ref, onKeyDown, onKeyDownCapture, ...props }: CommandProps) {\n const [searchState, setSearchState] = React.useState('');\n const [input, setInput] = React.useState<InputState>({});\n const [activeState, setActiveState] = React.useState(defaultValue);\n const [records, setRecords] = React.useState<ItemRecord[]>([]);\n const search = input.value ?? searchState;\n const active = value ?? activeState;\n const managedHighlight = value !== undefined || defaultValue !== '';\n const rootRef = React.useRef<HTMLDivElement>(null);\n const sourceOrder = React.useRef(new Map<string, number>());\n const nextSourceOrder = React.useRef(0);\n const register = React.useCallback((item: ItemRecord) => {\n if (!sourceOrder.current.has(item.id)) sourceOrder.current.set(item.id, nextSourceOrder.current++);\n setRecords(current => [...current.filter(record => record.id !== item.id), item]\n .sort((a, b) => (sourceOrder.current.get(a.id) ?? 0) - (sourceOrder.current.get(b.id) ?? 0)));\n return () => setRecords(current => current.filter(record => record.id !== item.id));\n }, []);\n const registerInput = React.useCallback((next: InputState) => {\n setInput(next);\n return () => setInput({});\n }, []);\n const setSearch = React.useCallback((next: string) => {\n setSearchState(next);\n input.onValueChange?.(next);\n }, [input.onValueChange]);\n const setActive = React.useCallback((next: string) => {\n setActiveState(next);\n if (next !== active) onValueChange?.(next);\n }, [onValueChange, active]);\n const context = React.useMemo(() => ({ managedHighlight, search, setSearch, active, setActive, shouldFilter, filter, records, register, registerInput }),\n [managedHighlight, search, setSearch, active, setActive, shouldFilter, filter, records, register, registerInput]);\n const rankedRecords = React.useMemo(() => rankRecords(records, { search, shouldFilter, filter }), [records, search, shouldFilter, filter]);\n const sourceLayout = React.useRef(new Map<HTMLElement, Map<string | HTMLElement, number>>());\n const previouslyRanked = React.useRef(false);\n React.useLayoutEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n const liveIds = new Set(records.map(item => item.id));\n if (records.length) for (const id of sourceOrder.current.keys()) if (!liveIds.has(id)) sourceOrder.current.delete(id);\n for (const parent of sourceLayout.current.keys()) if (!root.contains(parent)) sourceLayout.current.delete(parent);\n const key = (element: HTMLElement): string | HTMLElement => element.dataset.commandId\n ? `item:${element.dataset.commandId}` : element.dataset.commandGroupId\n ? `group:${element.dataset.commandGroupId}` : element.dataset.commandSeparatorId\n ? `separator:${element.dataset.commandSeparatorId}` : element;\n const owned = (element: HTMLElement) => !!element.dataset.commandId || !!element.dataset.commandGroupId;\n const parents = new Set<HTMLElement>();\n for (const element of root.querySelectorAll<HTMLElement>('[data-command-id], [data-command-group-id]')) {\n if (element.parentElement) parents.add(element.parentElement);\n }\n const ranks = new Map(rankedRecords.map((item, index) => [item.id, index]));\n const rank = (element: HTMLElement) => element.dataset.commandId\n ? ranks.get(element.dataset.commandId) ?? Infinity\n : rankedRecords.findIndex(item => item.group === element.dataset.commandGroupId);\n const ranking = !!search && shouldFilter;\n for (const parent of parents) {\n const current = Array.from(parent.children) as HTMLElement[];\n let source = sourceLayout.current.get(parent);\n if (!source || (!ranking && !previouslyRanked.current)) {\n source = new Map(current.map((element, index) => [key(element), index]));\n sourceLayout.current.set(parent, source);\n }\n for (const recordedKey of source.keys()) {\n if (typeof recordedKey === 'string' && recordedKey.startsWith('item:') && !liveIds.has(recordedKey.slice(5))) source.delete(recordedKey);\n }\n for (const element of current) if (!source.has(key(element))) source.set(key(element), Math.max(-1, ...source.values()) + 1);\n let desired: HTMLElement[];\n if (ranking) {\n const sorted = current.filter(owned).sort((a, b) => {\n const left = rank(a); const right = rank(b);\n return (left < 0 ? Infinity : left) - (right < 0 ? Infinity : right);\n });\n let index = 0;\n desired = current.map(element => owned(element) ? sorted[index++] : element);\n } else if (previouslyRanked.current) {\n desired = current.slice().sort((a, b) => source.get(key(a))! - source.get(key(b))!);\n } else continue;\n // Reorder owned DOM nodes without rebuilding children or losing their identity.\n for (let index = 0; index < desired.length; index++) {\n if (parent.children[index] !== desired[index]) parent.insertBefore(desired[index], parent.children[index] ?? null);\n }\n }\n previouslyRanked.current = ranking;\n }, [rankedRecords, search, shouldFilter]);\n const previousSearch = React.useRef(search);\n React.useEffect(() => {\n const searchChanged = previousSearch.current !== search;\n previousSearch.current = search;\n if (!managedHighlight || value !== undefined || !records.length) return;\n const candidates = rankedRecords.filter(item => !item.disabled);\n if (searchChanged || !candidates.some(item => item.value === active)) setActive(candidates[0]?.value ?? '');\n }, [managedHighlight, value, records, rankedRecords, active, search, setActive]);\n const element = useRender({ defaultTagName: 'div', render: asChild && React.isValidElement(children) ? children : undefined, ref: [ref ?? null, rootRef],\n props: { ...props, 'aria-label': props['aria-label'] ?? label, 'data-slot': 'command',\n className: cn('flex size-full flex-col overflow-hidden rounded-radius-lg bg-popover text-popover-foreground', className),\n ...(asChild ? {} : { children }), onKeyDownCapture(event: React.KeyboardEvent<HTMLDivElement>) {\n onKeyDownCapture?.(event);\n if (event.defaultPrevented || !managedHighlight) return;\n if (event.key === 'Enter') {\n const item = records.find(record => record.value === active && !record.disabled && visible(record, context));\n if (!item) return;\n event.preventDefault(); event.stopPropagation();\n Array.from(rootRef.current?.querySelectorAll<HTMLElement>('[data-command-id]') ?? []).find(element => element.dataset.commandId === item.id)?.click();\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === 'Home' || event.key === 'End') {\n const candidates = rankedRecords.filter(record => !record.disabled);\n if (!candidates.length) return;\n event.preventDefault(); event.stopPropagation();\n const current = candidates.findIndex(record => record.value === active);\n const delta = event.key === 'ArrowDown' ? 1 : -1;\n let next = current === -1 ? (delta > 0 ? 0 : candidates.length - 1) : current + delta;\n if (event.key === 'Home') next = 0;\n if (event.key === 'End') next = candidates.length - 1;\n next = loop ? (next + candidates.length) % candidates.length : Math.max(0, Math.min(candidates.length - 1, next));\n setActive(candidates[next].value);\n }\n }, onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n onKeyDown?.(event);\n if (event.defaultPrevented || !vimBindings || !event.ctrlKey) return;\n const key = { n: 'ArrowDown', j: 'ArrowDown', p: 'ArrowUp', k: 'ArrowUp' }[event.key];\n if (!key) return;\n event.preventDefault();\n event.target.dispatchEvent(new KeyboardEvent('keydown', { key, bubbles: true, cancelable: true }));\n } } });\n return <CommandContext.Provider value={context}>\n <Autocomplete.Root inline open value={search} filter={null} autoHighlight={managedHighlight ? false : 'always'} keepHighlight\n loopFocus={loop} highlightItemOnHover={!disablePointerSelection}\n onValueChange={(next, details) => { if (details.reason !== 'item-press') setSearch(next); }}\n onItemHighlighted={next => setActive(typeof next === 'string' ? next : '')}>\n {element}\n </Autocomplete.Root>\n </CommandContext.Provider>;\n}\ntype CommandInputProps = Omit<React.ComponentPropsWithRef<'input'>, 'value' | 'onChange' | 'type'> & {\n value?: string; onValueChange?: (value: string) => void; asChild?: boolean;\n};\nfunction CommandInput({ className, value, onValueChange, asChild, children, ...props }: CommandInputProps) {\n const context = useCommand();\n React.useLayoutEffect(() => context.registerInput({ value, onValueChange }), [context.registerInput, value, onValueChange]);\n return <div data-slot=\"command-input-wrapper\" className=\"pb-space-xs\">\n <Autocomplete.Input data-slot=\"command-input\" aria-activedescendant={context.records.find(item => item.value === context.active)?.id}\n render={asChild && React.isValidElement(children) ? children : undefined} className={className} {...props} />\n </div>;\n}\nfunction CommandList({ className, label, asChild, children, ...props }: React.ComponentPropsWithRef<'div'> & { label?: string; asChild?: boolean }) {\n const context = useCommand();\n return <Autocomplete.List data-slot=\"command-list\" aria-label={label} aria-activedescendant={context.records.find(item => item.value === context.active)?.id}\n className={cn('max-h-72 overflow-x-hidden overflow-y-auto outline-none', className)}\n render={asChild && React.isValidElement(children) ? children : undefined} {...props}>{asChild ? undefined : children}</Autocomplete.List>;\n}\nfunction CommandEmpty({ className, ...props }: React.ComponentPropsWithRef<'div'>) {\n const context = useCommand();\n if (context.records.some(item => visible(item, context))) return null;\n return <div data-slot=\"command-empty\" role=\"status\" className={cn('py-space-xl text-center text-sm', className)} {...props} />;\n}\nfunction CommandGroup({ className, heading, value: _value, forceMount = false, children, asChild, ...props }:\n React.ComponentPropsWithRef<'div'> & { heading?: React.ReactNode; value?: string; forceMount?: boolean; asChild?: boolean }) {\n const id = React.useId();\n const context = useCommand();\n const groupItems = context.records.filter(item => item.group === id);\n const hidden = !forceMount && !!context.search && !groupItems.some(item => visible(item, context));\n void _value;\n const headingElement = heading != null ? <Autocomplete.GroupLabel cmdk-group-heading=\"\" className=\"text-xs font-medium text-muted-foreground\">{heading}</Autocomplete.GroupLabel> : null;\n const renderedGroup = asChild && React.isValidElement<{ children?: React.ReactNode }>(children)\n ? React.cloneElement(children, {}, headingElement, children.props.children) : undefined;\n return <GroupContext.Provider value={{ id, forceMount }}>\n <Autocomplete.Group data-slot=\"command-group\" data-command-group-id={id} cmdk-group=\"\" hidden={hidden}\n className={cn('overflow-hidden text-foreground', className)} render={renderedGroup} {...props}>\n {!asChild && headingElement}\n {asChild ? undefined : children}\n </Autocomplete.Group>\n </GroupContext.Provider>;\n}\ntype CommandItemProps = Omit<React.ComponentPropsWithRef<'div'>, 'onSelect' | 'children'> & {\n children?: React.ReactNode | ((state: { isHighlighted: boolean }) => React.ReactNode);\n value?: string; onSelect?: (value: string) => void; keywords?: string[]; forceMount?: boolean;\n disabled?: boolean; asChild?: boolean;\n};\nfunction CommandItem({ className, children, value: valueProp, keywords = [], forceMount = false,\n disabled, onSelect, onClick, asChild, ref, ...props }: CommandItemProps) {\n const id = React.useId();\n const groupContext = React.useContext(GroupContext);\n const group = groupContext.id;\n const effectiveForceMount = forceMount || groupContext.forceMount;\n const context = useCommand();\n const value = valueProp ?? (typeof children === 'function' ? '' : textValue(children));\n const keywordsKey = JSON.stringify(keywords);\n React.useLayoutEffect(() => context.register({ id, value, keywords: JSON.parse(keywordsKey), forceMount: effectiveForceMount, disabled, group }),\n [context.register, id, value, keywordsKey, effectiveForceMount, disabled, group]);\n const record = { id, value, keywords, forceMount: effectiveForceMount, group };\n if (!visible(record, context)) return null;\n return <Autocomplete.Item value={value} disabled={disabled} ref={ref} data-slot=\"command-item\" data-command-id={id} aria-selected={context.active === value}\n data-selected={context.active === value ? 'true' : 'false'} data-disabled={disabled ? 'true' : undefined}\n className={cn('relative flex min-h-action-sm cursor-default items-center gap-space-sm rounded-radius px-control-sm py-row-y text-sm outline-none select-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-disabled:cursor-not-allowed', className)}\n render={asChild && React.isValidElement(children) ? React.cloneElement(children, { id } as React.HTMLAttributes<HTMLElement>) : <div id={id} />}\n onClick={event => { onClick?.(event); if (!event.defaultPrevented && !disabled) onSelect?.(value); }} {...props}>\n {asChild ? undefined : typeof children === 'function' ? children({ isHighlighted: context.active === value }) : children}\n </Autocomplete.Item>;\n}\nfunction CommandSeparator({ className, alwaysRender = false, asChild, children, ...props }:\n React.ComponentPropsWithRef<'div'> & { alwaysRender?: boolean; asChild?: boolean }) {\n const { search } = useCommand();\n const id = React.useId();\n return useRender({ enabled: !search || alwaysRender, render: asChild && React.isValidElement(children) ? children : undefined, props: { ...props, 'data-slot': 'command-separator', 'data-command-separator-id': id, role: props.role ?? 'separator', className: cn('h-px bg-border', className), ...(asChild ? {} : { children }) } });\n}\nfunction CommandShortcut({ className, ...props }: React.ComponentPropsWithRef<'span'>) {\n return <span data-slot=\"command-shortcut\" className={cn('ml-auto text-xs text-muted-foreground', className)} {...props} />;\n}\nexport { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator, CommandShortcut };\n","/**\n * Command — base wrapper around the internal Base UI command primitive.\n *\n * What this layer adds on top of the primitive:\n * - One standard, tokenized surface inset across the root, groups, and rows.\n * - Design-system typography and density-aware row sizing for admin commands.\n * - Stable BEM hooks on the wrapped root, input, list, group, item, separator,\n * and empty regions while retaining each primitive part's original props.\n * - Preserves the compound-component pattern: consumers compose\n * `<Command><CommandList><CommandGroup><CommandItem/></CommandGroup></CommandList></Command>`.\n *\n * For the recurring \"popover-with-command-list\" pattern, prefer\n * `base/popover-menu/` which composes both wrappers and adds slots.\n */\nimport * as React from 'react';\nimport { Check } from 'lucide-react';\n\nimport {\n\tCommand as CommandPrimitive,\n\tCommandEmpty as CommandEmptyPrimitive,\n\tCommandGroup as CommandGroupPrimitive,\n\tCommandInput as CommandInputPrimitive,\n\tCommandItem as CommandItemPrimitive,\n\tCommandList as CommandListPrimitive,\n\tCommandSeparator as CommandSeparatorPrimitive,\n\tCommandShortcut as CommandShortcutPrimitive,\n} from '../../ui/command';\nimport { DisplayLabel, Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { collectionRowClasses, popoverRecipes, surfaceInsetClasses, type CollectionDensity } from '../popover/popover.recipes';\nimport { Input } from '../text-inputs/input';\nimport { CollectionLabel } from '../popover/collection-content';\nimport { useTypographyConfig } from '../../../lib/ui-provider';\nimport { textSizes } from '../../typography/text.styles';\n\ntype CommandRootProps = React.ComponentProps<typeof CommandPrimitive>;\n\nexport type CommandInset = 'default' | 'compact' | 'flush';\n\nexport type CommandProps = CommandRootProps & {\n\t/**\n\t * Surface inset role. Defaults to the compact collection shell.\n\t * Use `default` explicitly for substantive content, or `flush` when regions own their insets.\n\t */\n\tinset?: CommandInset;\n};\n\nconst commandInsetClasses: Record<CommandInset, string> = {\n\tdefault: surfaceInsetClasses.default,\n\tcompact: surfaceInsetClasses.compact,\n\t// The root is flush; search and list regions each own one collection inset.\n\tflush: 'p-0 [&_[data-slot=command-input-wrapper]]:px-surface-xs [&_[data-slot=command-input-wrapper]]:pt-surface-xs',\n};\n\nconst CommandInsetContext = React.createContext<CommandInset>('compact');\n\n/** Tokenized command surface with semantic default, compact, and flush inset roles. */\nfunction Command({ className, inset = 'compact', ...props }: CommandProps) {\n\treturn (\n <CommandInsetContext.Provider value={inset}>\n\t\t<CommandPrimitive\n\t\t\tclassName={cn(\n\t\t\t\t'command--component',\n\t\t\t\t// One standard surface inset keeps search controls, headings, row\n\t\t\t\t// highlights, and separators on the same surface grid.\n\t\t\t\t'gap-0 rounded-radius bg-popover text-popover-foreground',\n\t\t\t\tcommandInsetClasses[inset],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n </CommandInsetContext.Provider>\n\t);\n}\n\ntype CommandListProps = React.ComponentProps<typeof CommandListPrimitive>;\n\ntype CommandInputProps = React.ComponentProps<typeof CommandInputPrimitive>;\n\nfunction CommandInput({ className, asChild, children, ...props }: CommandInputProps) {\n\treturn (\n\t\t<CommandInputPrimitive\n\t\t\tclassName={cn('command-input--component', className)}\n\t\t\t{...props}\n\t\t\tasChild\n\t\t>\n {asChild ? children : <Input />}\n </CommandInputPrimitive>\n\t);\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n const inset = React.useContext(CommandInsetContext);\n return (\n\t\t<CommandListPrimitive\n\t\t\tclassName={cn('command-list--component max-h-72', inset === 'flush' ? surfaceInsetClasses.compact : 'p-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype CommandGroupProps = React.ComponentProps<typeof CommandGroupPrimitive>;\n\nfunction CommandGroupHeading({ children }: { children: React.ReactNode }) {\n\tif (\n\t\ttypeof children !== 'string' &&\n\t\ttypeof children !== 'number' &&\n\t\ttypeof children !== 'bigint'\n\t) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<DisplayLabel tag=\"span\" className=\"command-group--heading\">\n\t\t\t{children}\n\t\t</DisplayLabel>\n\t);\n}\n\nfunction CommandGroup({ className, heading, ...props }: CommandGroupProps) {\n\tconst resolvedHeading = heading == null\n\t\t? heading\n\t\t: <CommandGroupHeading>{heading}</CommandGroupHeading>;\n\n\treturn (\n\t\t<CommandGroupPrimitive\n\t\t\tclassName={cn(\n\t\t\t\t'command-group--component p-0 [&_[cmdk-group-heading]]:px-row-x [&_[cmdk-group-heading]]:pt-space-md [&_[cmdk-group-heading]]:pb-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\theading={resolvedHeading}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype CommandItemProps = React.ComponentProps<typeof CommandItemPrimitive> & {\n\t/** Vertical row rhythm, independent from label typography. */\n\tdensity?: CollectionDensity;\n\t/** Persistent selection, distinct from the keyboard-highlight state. */\n\t'data-checked'?: boolean | 'true' | 'false';\n};\n\nfunction CommandItem({ children, className, density = 'default', ...props }: CommandItemProps) {\n\tconst {defaultTextSize}=useTypographyConfig();\n\tconst checked = props['data-checked'] === true || props['data-checked'] === 'true';\n\tconst indicator = checked ? <Check aria-hidden=\"true\" data-slot=\"command-item-indicator\" className=\"ms-auto size-icon shrink-0 self-center text-primary\" /> : null;\n\tconst content: CommandItemProps['children'] = props.asChild ? children : typeof children === 'function'\n\t\t? context => <>{children(context)}{indicator}</>\n\t\t: <>{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? <CollectionLabel className=\"command-item--text min-w-0 flex-1\">{children}</CollectionLabel>\n\t\t\t: children}{indicator}</>;\n\treturn <CommandItemPrimitive\n\t\tclassName={cn('command-item--component [&>svg]:size-icon [&>svg]:shrink-0 [&>svg]:text-muted-foreground', collectionRowClasses(density),textSizes[defaultTextSize??'sm'],className)}\n\t\t{...props}\n\t\tchildren={content}\n\t/>;\n}\n\ntype CommandEmptyProps = React.ComponentProps<typeof CommandEmptyPrimitive>;\n\nfunction CommandEmpty({ children, className, ...props }: CommandEmptyProps) {\n\treturn (\n\t\t<CommandEmptyPrimitive\n\t\t\tclassName={cn('command-empty--component px-row-x py-space-xl text-center', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" type=\"secondary\" className=\"command-empty--text\">\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</CommandEmptyPrimitive>\n\t);\n}\n\ntype CommandShortcutProps = React.ComponentProps<typeof CommandShortcutPrimitive>;\n\ntype CommandSeparatorProps = React.ComponentProps<typeof CommandSeparatorPrimitive>;\n\n/** Presentational divider that remains hidden from the Command listbox tree. */\nfunction CommandSeparator({ className, ...props }: CommandSeparatorProps) {\n return <CommandSeparatorPrimitive\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('command-separator--component command-separator--line', popoverRecipes.separator, className)}\n {...props}\n />;\n}\n\nCommandSeparator.displayName = 'CommandSeparator';\n\nfunction CommandShortcut({ children, className, ...props }: CommandShortcutProps) {\n\treturn (\n\t\t<CommandShortcutPrimitive\n\t\t\tclassName={cn('command-shortcut--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"command-shortcut--text\">\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</CommandShortcutPrimitive>\n\t);\n}\n\nCommand.displayName = 'Command';\nCommandInput.displayName = 'CommandInput';\nCommandList.displayName = 'CommandList';\nCommandGroup.displayName = 'CommandGroup';\nCommandItem.displayName = 'CommandItem';\nCommandEmpty.displayName = 'CommandEmpty';\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n\tCommandShortcut,\n};\n"],"mappings":";;;;;;;;;;;;;;AACA,SAAgB+B,EAAc,GAAe,GAAgB,IAAqB,CAAC,GAAG;CACrF,IAAMC,IAAW,CAACC,GAAO,GAAGC,CAAQ,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,kBAAkB,GAC5DC,IAASC,EAAO,KAAK,CAAC,CAAC,kBAAkB;CAE/C,IADI,CAACD,KACDH,EAAS,SAASG,CAAM,GAAG,OAAO;CACtC,IAAIE,IAAW;CACf,KAAK,IAAMC,KAAQH,GAAQ;EAE1B,IADA,IAAWH,EAAS,QAAQM,GAAMD,CAAQ,GACtCA,MAAa,IAAI,OAAO;EAC5B,KAAY;CACb;CACA,OAAO;AACR;;;ACGA,IAAME,IAAiBvC,EAAM,cAA0C,IAAI,GACrEwC,IAAexC,EAAM,cAAoD,EAAE,YAAY,GAAM,CAAC;AACpG,SAASyC,IAAa;CACrB,IAAMR,IAAQjC,EAAM,WAAWuC,CAAc;CAC7C,IAAI,CAACN,GAAO,MAAU,MAAM,gDAAgD;CAC5E,OAAOA;AACR;AACA,SAASS,EAAU,GAAmC;CACrD,OAAO1C,EAAM,SAAS,QAAQ2C,CAAQ,CAAC,CAAC,KAAI,MACvC,OAAOC,KAAU,YAAY,OAAOA,KAAU,WAAiB,OAAOA,CAAK,IAC3E5C,EAAM,eAA+C4C,CAAK,IAAUF,EAAUE,EAAM,MAAM,QAAQ,IAC/F,EACP,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AACnB;AAEA,SAASC,EAAQ,GAAkB,GAA0E;CAC5G,OAAOC,EAAK,cAAc,CAACC,EAAQ,gBAAgB,CAACA,EAAQ,UAAUA,EAAQ,OAAOD,EAAK,OAAOC,EAAQ,QAAQD,EAAK,QAAQ,IAAI;AACnI;AAEA,SAASE,EAAY,GAAuB,GAA0E;CACrH,IAAMC,IAAaC,EAAQ,QAAO,MAAQL,EAAQC,GAAMC,CAAO,CAAC;CAChE,IAAI,CAACA,EAAQ,UAAU,CAACA,EAAQ,cAAc,OAAOE;CACrD,IAAME,IAAS,IAAI,IAAIF,EAAW,KAAI,MAAQ,CAACH,EAAK,IAAIC,EAAQ,OAAOD,EAAK,OAAOC,EAAQ,QAAQD,EAAK,QAAQ,CAAC,CAAC,CAAC,GAC7GM,KAAW,GAAe,OAAmBD,EAAO,IAAIE,EAAE,EAAE,KAAK,MAAMF,EAAO,IAAIG,EAAE,EAAE,KAAK,IAC3FC,IAAsB,CAAC,GACvBC,oBAAS,IAAI,IAA0B;CAC7C,KAAK,IAAMV,KAAQG,GAClB,IAAI,CAACH,EAAK,OAAO,EAAM,KAAKA,CAAI;MAC3B;EAAE,IAAMW,IAAQD,EAAO,IAAIV,EAAK,KAAK,KAAK,CAAC;EAAqB,AAAlBW,EAAM,KAAKX,CAAI,GAAGU,EAAO,IAAIV,EAAK,OAAOW,CAAK;CAAG;CAErG,IAAMC,IAAe,MAAM,KAAKF,EAAO,OAAO,CAAC,CAAC,CAAC,KAAI,MAASG,EAAM,KAAKP,CAAO,CAAC,CAAC,CAChF,MAAM,GAAG,OAAOD,EAAO,IAAIE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAMF,EAAO,IAAIG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;CACxE,OAAO,CAAC,GAAGC,EAAM,KAAKH,CAAO,GAAG,GAAGM,EAAa,KAAK,CAAC;AACvD;AAMA,SAASzD,EAAQ,EAAE,aAAU,cAAW,YAAS,UAAO,kBAAe,IAAM,YAASC,GACrF,UAAO,kBAAe,IAAI,kBAAe,UAAO,IAAO,6BAA0B,IACjF,iBAAc,IAAM,QAAK,cAAW,qBAAkB,GAAG2D,KAAuB;CAChF,IAAM,CAACC,GAAaC,KAAkB/D,EAAM,SAAS,EAAE,GACjD,CAACgE,GAAOC,KAAYjE,EAAM,SAAqB,CAAC,CAAC,GACjD,CAACkE,GAAaC,KAAkBnE,EAAM,SAASoE,CAAY,GAC3D,CAAClB,GAASmB,KAAcrE,EAAM,SAAuB,CAAC,CAAC,GACvDoC,IAAS4B,EAAM,SAASF,GACxBQ,IAASrC,KAASiC,GAClBK,IAAmBtC,MAAU,KAAA,KAAamC,MAAiB,IAC3DI,IAAUxE,EAAM,OAAuB,IAAI,GAC3CyE,IAAczE,EAAM,uBAAO,IAAI,IAAoB,CAAC,GACpD0E,IAAkB1E,EAAM,OAAO,CAAC,GAChC2E,IAAW3E,EAAM,aAAa,OAC9ByE,EAAY,QAAQ,IAAI3B,EAAK,EAAE,KAAG2B,EAAY,QAAQ,IAAI3B,EAAK,IAAI,EAAgB,SAAS,GACjGuB,GAAW,MAAW,CAAC,GAAGO,EAAQ,QAAO,MAAUC,EAAO,OAAO/B,EAAK,EAAE,GAAGA,CAAI,CAAC,CAC9E,MAAM,GAAG,OAAO2B,EAAY,QAAQ,IAAInB,EAAE,EAAE,KAAK,MAAMmB,EAAY,QAAQ,IAAIpB,EAAE,EAAE,KAAK,EAAE,CAAC,SAChFgB,GAAW,MAAWO,EAAQ,QAAO,MAAUC,EAAO,OAAO/B,EAAK,EAAE,CAAC,IAChF,CAAC,CAAC,GACCgC,IAAgB9E,EAAM,aAAa,OACxCiE,EAASc,CAAI,SACAd,EAAS,CAAC,CAAC,IACtB,CAAC,CAAC,GACCe,IAAYhF,EAAM,aAAa,MAAiB;EAErD,AADA+D,EAAegB,CAAI,GACnBf,EAAM,gBAAgBe,CAAI;CAC3B,GAAG,CAACf,EAAM,aAAa,CAAC,GAClBiB,IAAYjF,EAAM,aAAa,MAAiB;EAErD,AADAmE,EAAeY,CAAI,GACfA,MAAST,KAAQY,IAAgBH,CAAI;CAC1C,GAAG,CAACG,GAAeZ,CAAM,CAAC,GACpBvB,IAAU/C,EAAM,eAAe;EAAE;EAAkB;EAAQ;EAAW;EAAQ;EAAW;EAAc;EAAQ;EAAS;EAAU;CAAc,IACrJ;EAACuE;EAAkBnC;EAAQ4C;EAAWV;EAAQW;EAAWE;EAAcC;EAAQlC;EAASyB;EAAUG;CAAa,CAAC,GAC3GO,IAAgBrF,EAAM,cAAcgD,EAAYE,GAAS;EAAE;EAAQ;EAAc;CAAO,CAAC,GAAG;EAACA;EAASd;EAAQ+C;EAAcC;CAAM,CAAC,GACnIE,IAAetF,EAAM,uBAAO,IAAI,IAAoD,CAAC,GACrFuF,IAAmBvF,EAAM,OAAO,EAAK;CAC3C,EAAM,sBAAsB;EAC3B,IAAMwF,IAAOhB,EAAQ;EACrB,IAAI,CAACgB,GAAM;EACX,IAAMC,IAAU,IAAI,IAAIvC,EAAQ,KAAI,MAAQJ,EAAK,EAAE,CAAC;EACpD,IAAII,EAAQ,QAAa,KAAA,IAAMwC,KAAMjB,EAAY,QAAQ,KAAK,GAAG,AAAKgB,EAAQ,IAAIC,CAAE,KAAGjB,EAAY,QAAQ,OAAOiB,CAAE;EACpH,KAAK,IAAMC,KAAUL,EAAa,QAAQ,KAAK,GAAG,AAAKE,EAAK,SAASG,CAAM,KAAGL,EAAa,QAAQ,OAAOK,CAAM;EAChH,IAAMC,KAAO,MAA+CC,EAAQ,QAAQ,YACzE,QAAQA,EAAQ,QAAQ,cAAcA,EAAQ,QAAQ,iBACrD,SAASA,EAAQ,QAAQ,mBAAmBA,EAAQ,QAAQ,qBAC3D,aAAaA,EAAQ,QAAQ,uBAAuBA,GACnDC,KAAS,MAAyB,CAAC,CAACD,EAAQ,QAAQ,aAAa,CAAC,CAACA,EAAQ,QAAQ,gBACnFE,oBAAU,IAAI,IAAiB;EACrC,KAAK,IAAMF,KAAWL,EAAK,iBAA8B,4CAA4C,GACpG,AAAIK,EAAQ,iBAAeE,EAAQ,IAAIF,EAAQ,aAAa;EAE7D,IAAMG,IAAQ,IAAI,IAAIX,EAAc,KAAK,GAAM,MAAU,CAACvC,EAAK,IAAImD,CAAK,CAAC,CAAC,GACpEC,KAAQ,MAAyBL,EAAQ,QAAQ,YACpDG,EAAM,IAAIH,EAAQ,QAAQ,SAAS,KAAK,WACxCR,EAAc,WAAU,MAAQvC,EAAK,UAAU+C,EAAQ,QAAQ,cAAc,GAC1EM,IAAU,CAAC,CAAC/D,KAAU+C;EAC5B,KAAK,IAAMQ,KAAUI,GAAS;GAC7B,IAAMnB,IAAU,MAAM,KAAKe,EAAO,QAAQ,GACtCS,IAASd,EAAa,QAAQ,IAAIK,CAAM;GAC5C,CAAI,CAACS,KAAW,CAACD,KAAW,CAACZ,EAAiB,aAC7C,IAAS,IAAI,IAAIX,EAAQ,KAAK,GAAS,MAAU,CAACgB,EAAIC,CAAO,GAAGI,CAAK,CAAC,CAAC,GACvEX,EAAa,QAAQ,IAAIK,GAAQS,CAAM;GAExC,KAAK,IAAMC,KAAeD,EAAO,KAAK,GACrC,AAAI,OAAOC,KAAgB,YAAYA,EAAY,WAAW,OAAO,KAAK,CAACZ,EAAQ,IAAIY,EAAY,MAAM,CAAC,CAAC,KAAGD,EAAO,OAAOC,CAAW;GAExI,KAAK,IAAMR,KAAWjB,GAAS,AAAKwB,EAAO,IAAIR,EAAIC,CAAO,CAAC,KAAGO,EAAO,IAAIR,EAAIC,CAAO,GAAG,KAAK,IAAI,IAAI,GAAGO,EAAO,OAAO,CAAC,IAAI,CAAC;GAC3H,IAAIE;GACJ,IAAIH,GAAS;IACZ,IAAMI,IAAS3B,EAAQ,OAAOkB,CAAK,CAAC,CAAC,MAAM,GAAG,MAAM;KACnD,IAAMU,IAAON,EAAK5C,CAAC,GAASmD,IAAQP,EAAK7C,CAAC;KAC1C,QAAQmD,IAAO,IAAI,WAAWA,MAASC,IAAQ,IAAI,WAAWA;IAC/D,CAAC,GACGR,IAAQ;IACZ,IAAUrB,EAAQ,KAAI,MAAWkB,EAAMD,CAAO,IAAIU,EAAO,OAAWV,CAAO;GAC5E,OAAO,IAAIN,EAAiB,SAC3B,IAAUX,EAAQ,MAAM,CAAC,CAAC,MAAM,GAAG,MAAMwB,EAAO,IAAIR,EAAItC,CAAC,CAAC,IAAK8C,EAAO,IAAIR,EAAIvC,CAAC,CAAC,CAAE;QAC5E;GAEP,KAAK,IAAI4C,IAAQ,GAAGA,IAAQK,EAAQ,QAAQ,KAC3C,AAAIX,EAAO,SAASM,OAAWK,EAAQL,MAAQN,EAAO,aAAaW,EAAQL,IAAQN,EAAO,SAASM,MAAU,IAAI;EAEnH;EACA,EAAiB,UAAUE;CAC5B,GAAG;EAACd;EAAejD;EAAQ+C;CAAY,CAAC;CACxC,IAAMuB,IAAiB1G,EAAM,OAAOoC,CAAM;CAC1C,EAAM,gBAAgB;EACrB,IAAMuE,IAAgBD,EAAe,YAAYtE;EAEjD,IADA,EAAe,UAAUA,GACrB,CAACmC,KAAoBtC,MAAU,KAAA,KAAa,CAACiB,EAAQ,QAAQ;EACjE,IAAMD,IAAaoC,EAAc,QAAO,MAAQ,CAACvC,EAAK,QAAQ;EAC9D,CAAI6D,KAAiB,CAAC1D,EAAW,MAAK,MAAQH,EAAK,UAAUwB,CAAM,MAAGW,EAAUhC,EAAW,EAAE,EAAE,SAAS,EAAE;CAC3G,GAAG;EAACsB;EAAkBtC;EAAOiB;EAASmC;EAAef;EAAQlC;EAAQ6C;CAAS,CAAC;CAC/E,IAAMY,IAAUe,EAAU;EAAE,gBAAgB;EAAO,QAAQC,KAAW7G,EAAM,eAAe2C,CAAQ,IAAIA,IAAW,KAAA;EAAW,KAAK,CAACmE,KAAO,MAAMtC,CAAO;EACtJ,OAAO;GAAE,GAAGX;GAAO,cAAcA,EAAM,iBAAiBkD;GAAO,aAAa;GAC3E,WAAWC,EAAG,gGAAgGC,CAAS;GACvH,GAAIJ,IAAU,CAAC,IAAI,EAAE,YAAS;GAAI,iBAAiB,GAA4C;IAE9F,IADAK,IAAmBC,CAAK,GACpB,GAAM,oBAAqB5C,GAC/B;SAAI4C,EAAM,QAAQ,SAAS;MAC1B,IAAMrE,IAAOI,EAAQ,MAAK,MAAU2B,EAAO,UAAUP,KAAU,CAACO,EAAO,YAAYhC,EAAQgC,GAAQ9B,CAAO,CAAC;MAC3G,IAAI,CAACD,GAAM;MAEX,AADAqE,EAAM,eAAe,GAAGA,EAAM,gBAAgB,GAC9C,MAAM,KAAK3C,EAAQ,SAAS,iBAA8B,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAK,MAAWqB,EAAQ,QAAQ,cAAc/C,EAAK,EAAE,CAAC,EAAE,MAAM;KACrJ,OAAO,IAAIqE,EAAM,QAAQ,eAAeA,EAAM,QAAQ,aAAaA,EAAM,QAAQ,UAAUA,EAAM,QAAQ,OAAO;MAC/G,IAAMlE,IAAaoC,EAAc,QAAO,MAAU,CAACR,EAAO,QAAQ;MAClE,IAAI,CAAC5B,EAAW,QAAQ;MACA,AAAxBkE,EAAM,eAAe,GAAGA,EAAM,gBAAgB;MAC9C,IAAMvC,IAAU3B,EAAW,WAAU,MAAU4B,EAAO,UAAUP,CAAM,GAChE8C,IAAQD,EAAM,QAAQ,cAAc,IAAI,IAC1CpC,IAAOH,MAAY,KAAMwC,IAAQ,IAAI,IAAInE,EAAW,SAAS,IAAK2B,IAAUwC;MAIhF,AAHID,EAAM,QAAQ,WAAQ,IAAO,IAC7BA,EAAM,QAAQ,UAAO,IAAOlE,EAAW,SAAS,IACpD,IAAOoE,KAAQtC,IAAO9B,EAAW,UAAUA,EAAW,SAAS,KAAK,IAAI,GAAG,KAAK,IAAIA,EAAW,SAAS,GAAG8B,CAAI,CAAC,GAChHE,EAAUhC,EAAW8B,EAAK,CAAC,KAAK;KACjC;;GACD;GAAG,UAAU,GAA4C;IAExD,IADAuC,IAAYH,CAAK,GACbA,EAAM,oBAAoB,CAACI,KAAe,CAACJ,EAAM,SAAS;IAC9D,IAAMvB,IAAM;KAAE,GAAG;KAAa,GAAG;KAAa,GAAG;KAAW,GAAG;IAAU,EAAEuB,EAAM;IACjF,AAAKvB,MACLuB,EAAM,eAAe,GACrBA,EAAM,OAAO,cAAc,IAAI,cAAc,WAAW;KAAE;KAAK,SAAS;KAAM,YAAY;IAAK,CAAC,CAAC;GAClG;EAAE;CAAE,CAAC;CACP,OAAO,kBAAC5E,EAAe,UAAhB;EAAyB,OAAOQ;EACtC,UAAA,kBAACyE,EAAa,MAAd;GAAmB,QAAA;GAAO,MAAA;GAAK,OAAOpF;GAAQ,QAAQ;GAAM,eAAe,MAA2B;GAAU,eAAA;GAC/G,WAAWiF;GAAM,sBAAsB,CAACI;GACxC,gBAAgB,GAAM,MAAY;IAAE,AAAIC,EAAQ,WAAW,gBAAc1C,EAAUD,CAAI;GAAG;GAC1F,oBAAmB,MAAQE,EAAU,OAAOF,KAAS,WAAWA,IAAO,EAAE;GACxE,UAAAc;EACiB,CAAA;CACK,CAAA;AAC1B;AAIA,SAAS1F,EAAa,EAAE,cAAW,UAAO,kBAAe,YAAS,aAAU,GAAG0D,KAA4B;CAC1G,IAAMd,IAAUN,EAAW;CAE3B,OADAZ,EAAM,sBAAsBkB,EAAQ,cAAc;EAAE;EAAO;CAAc,CAAC,GAAG;EAACA,EAAQ;EAAed;EAAOiD;CAAa,CAAC,GACnH,kBAAC,OAAD;EAAK,aAAU;EAAwB,WAAU;EACvD,UAAA,kBAACsC,EAAa,OAAd;GAAoB,aAAU;GAAgB,yBAAuBzE,EAAQ,QAAQ,MAAK,MAAQD,EAAK,UAAUC,EAAQ,MAAM,CAAC,EAAE;GACjI,QAAQ8D,KAAW7G,EAAM,eAAe2C,CAAQ,IAAIA,IAAW,KAAA;GAAsB;GAAW,GAAIkB;EAAQ,CAAA;CACzG,CAAA;AACN;AACA,SAASzD,EAAY,EAAE,cAAW,UAAO,YAAS,aAAU,GAAGyD,KAAqF;CACnJ,IAAMd,IAAUN,EAAW;CAC3B,OAAO,kBAAC+E,EAAa,MAAd;EAAmB,aAAU;EAAe,cAAYT;EAAO,yBAAuBhE,EAAQ,QAAQ,MAAK,MAAQD,EAAK,UAAUC,EAAQ,MAAM,CAAC,EAAE;EACzJ,WAAWiE,EAAG,2DAA2DC,CAAS;EAClF,QAAQJ,KAAW7G,EAAM,eAAe2C,CAAQ,IAAIA,IAAW,KAAA;EAAW,GAAIkB;EAAQ,UAAAgD,IAAU,KAAA,IAAYlE;CAA4B,CAAA;AAC1I;AACA,SAAStC,EAAa,EAAE,cAAW,GAAGwD,KAA6C;CAClF,IAAMd,IAAUN,EAAW;CAE3B,OADIM,EAAQ,QAAQ,MAAK,MAAQF,EAAQC,GAAMC,CAAO,CAAC,IAAU,OAC1D,kBAAC,OAAD;EAAK,aAAU;EAAgB,MAAK;EAAS,WAAWiE,EAAG,mCAAmCC,CAAS;EAAG,GAAIpD;CAAQ,CAAA;AAC9H;AACA,SAASvD,EAAa,EAAE,cAAW,YAAS,OAAOyH,GAAQ,gBAAa,IAAO,aAAU,YAAS,GAAGlE,KACyB;CAC7H,IAAM6B,IAAK1F,EAAM,MAAM,GACjB+C,IAAUN,EAAW,GACrBuF,IAAajF,EAAQ,QAAQ,QAAO,MAAQD,EAAK,UAAU4C,CAAE,GAC7DuC,IAAS,CAACC,KAAc,CAAC,CAACnF,EAAQ,UAAU,CAACiF,EAAW,MAAK,MAAQnF,EAAQC,GAAMC,CAAO,CAAC,GAE3FoF,IAAiBC,KAAW,OAAkJ,OAA3I,kBAACZ,EAAa,YAAd;EAAyB,sBAAmB;EAAG,WAAU;EAA6C,UAAAY;CAAiC,CAAA,GAC1KC,IAAgBxB,KAAW7G,EAAM,eAA+C2C,CAAQ,IAC3F3C,EAAM,aAAa2C,GAAU,CAAC,GAAGwF,GAAgBxF,EAAS,MAAM,QAAQ,IAAI,KAAA;CAC/E,OAAO,kBAACH,EAAa,UAAd;EAAuB,OAAO;GAAE;GAAI;EAAW;EACrD,UAAA,kBAACgF,EAAa,OAAd;GAAoB,aAAU;GAAgB,yBAAuB9B;GAAI,cAAW;GAAW;GAC9F,WAAWsB,EAAG,mCAAmCC,CAAS;GAAG,QAAQoB;GAAe,GAAIxE;GADzF,UAAA,CAEE,CAACgD,KAAWsB,GACZtB,IAAU,KAAA,IAAYlE,CACJ;;CACE,CAAA;AACxB;AAMA,SAASpC,EAAY,EAAE,cAAW,aAAU,OAAOgI,GAAW,cAAW,CAAC,GAAG,gBAAa,IACzF,aAAU,aAAU,YAAS,YAAS,QAAK,GAAG1E,KAA2B;CACzE,IAAM6B,IAAK1F,EAAM,MAAM,GACjBwI,IAAexI,EAAM,WAAWwC,CAAY,GAC5CiB,IAAQ+E,EAAa,IACrBC,IAAsBP,KAAcM,EAAa,YACjDzF,IAAUN,EAAW,GACrBR,IAAQsG,MAAc,OAAO5F,KAAa,aAAa,KAAKD,EAAUC,CAAQ,IAC9E+F,IAAc,KAAK,UAAUxG,CAAQ;CAK3C,OAJAL,EAAM,sBAAsBkB,EAAQ,SAAS;EAAE;EAAI;EAAO,UAAU,KAAK,MAAM2F,CAAW;EAAG,YAAYD;EAAqB;EAAU;CAAM,CAAC,GAC9I;EAAC1F,EAAQ;EAAU2C;EAAIzD;EAAOyG;EAAaD;EAAqBE;EAAUlF;CAAK,CAAC,GAE5EZ,EAAQ;EADI;EAAI;EAAO;EAAU,YAAY4F;EAAqB;CAC1D,GAAQ1F,CAAO,IACrB,kBAACyE,EAAa,MAAd;EAA0B;EAAiB;EAAe;EAAK,aAAU;EAAe,mBAAiB9B;EAAI,iBAAe3C,EAAQ,WAAWd;EACrJ,iBAAec,EAAQ,WAAWd,IAAQ,SAAS;EAAS,iBAAe0G,IAAW,SAAS,KAAA;EAC/F,WAAW3B,EAAG,6PAA6PC,CAAS;EACpR,QAAQJ,KAAW7G,EAAM,eAAe2C,CAAQ,IAAI3C,EAAM,aAAa2C,GAAU,EAAE,MAAG,CAAsC,IAAI,kBAAC,OAAD,EAAS,MAAK,CAAA;EAC9I,UAAS,MAAS;GAAoB,AAAlBiG,IAAUzB,CAAK,GAAO,CAACA,EAAM,oBAAoB,CAACwB,KAAUE,IAAW5G,CAAK;EAAG;EAAG,GAAI4B;EACzG,UAAAgD,IAAU,KAAA,IAAY,OAAOlE,KAAa,aAAaA,EAAS,EAAE,eAAeI,EAAQ,WAAWd,EAAM,CAAC,IAAIU;CAC9F,CAAA,IAPmB;AAQvC;AACA,SAASnC,EAAiB,EAAE,cAAW,kBAAe,IAAO,YAAS,aAAU,GAAGqD,KACE;CACpF,IAAM,EAAE,cAAWpB,EAAW,GACxBiD,IAAK1F,EAAM,MAAM;CACvB,OAAO4G,EAAU;EAAE,SAAS,CAACxE,KAAU2G;EAAc,QAAQlC,KAAW7G,EAAM,eAAe2C,CAAQ,IAAIA,IAAW,KAAA;EAAW,OAAO;GAAE,GAAGkB;GAAO,aAAa;GAAqB,6BAA6B6B;GAAI,MAAM7B,EAAM,QAAQ;GAAa,WAAWmD,EAAG,kBAAkBC,CAAS;GAAG,GAAIJ,IAAU,CAAC,IAAI,EAAE,YAAS;EAAG;CAAE,CAAC;AACvU;AACA,SAASpG,EAAgB,EAAE,cAAW,GAAGoD,KAA8C;CACtF,OAAO,kBAAC,QAAD;EAAM,aAAU;EAAmB,WAAWmD,EAAG,yCAAyCC,CAAS;EAAG,GAAIpD;CAAQ,CAAA;AAC1H;;;ACvNA,IAAMoF,IAAoD;CACzD,SAASzH,EAAoB;CAC7B,SAASA,EAAoB;CAE7B,OAAO;AACR,GAEM0H,IAAsBxI,EAAM,cAA4B,SAAS;AAGvE,SAASyI,EAAQ,EAAE,cAAW,WAAQ,WAAW,GAAGtF,KAAuB;CAC1E,OACC,kBAACqF,EAAoB,UAArB;EAA8B,OAAOE;EACrC,UAAA,kBAACzI,GAAD;GACC,WAAWqG,EACV,sBAGA,2DACAiC,EAAoBG,IACpBnC,CACD;GACA,GAAIpD;EACJ,CAAA;CAC6B,CAAA;AAEhC;AAMA,SAASwF,EAAa,EAAE,cAAW,YAAS,aAAU,GAAGxF,KAA4B;CACpF,OACC,kBAACjD,GAAD;EACC,WAAWoG,EAAG,4BAA4BC,CAAS;EACnD,GAAIpD;EACJ,SAAA;EAEC,UAAAgD,IAAUlE,IAAW,kBAACf,GAAD,CAAQ,CAAA;CACR,CAAA;AAEzB;AAEA,SAAS0H,EAAY,EAAE,cAAW,GAAGzF,KAA2B;CAC/D,IAAMuF,IAAQ1I,EAAM,WAAWwI,CAAmB;CAClD,OACC,kBAACrI,GAAD;EACC,WAAWmG,EAAG,oCAAoCoC,MAAU,UAAU5H,EAAoB,UAAU,OAAOyF,CAAS;EACpH,GAAIpD;CACJ,CAAA;AAEH;AAIA,SAAS0F,EAAoB,EAAE,eAA2C;CASzE,OAPC,OAAO5G,KAAa,YACpB,OAAOA,KAAa,YACpB,OAAOA,KAAa,WAEbA,IAIP,kBAACpB,GAAD;EAAc,KAAI;EAAO,WAAU;EACjC;CACY,CAAA;AAEhB;AAEA,SAASiI,EAAa,EAAE,cAAW,YAAS,GAAG3F,KAA4B;CAC1E,IAAM4F,IAAkBrB,KAAW,OAChCA,IACA,kBAACmB,GAAD,EAAA,UAAsBnB,EAA6B,CAAA;CAEtD,OACC,kBAACtH,GAAD;EACC,WAAWkG,EACV,4IACAC,CACD;EACA,SAASwC;EACT,GAAI5F;CACJ,CAAA;AAEH;AASA,SAAS6F,EAAY,EAAE,aAAU,cAAW,aAAU,WAAW,GAAG7F,KAA2B;CAC9F,IAAM,EAAC,uBAAiBzC,EAAoB,GAEtCuI,IADU9F,EAAM,oBAAoB,MAAQA,EAAM,oBAAoB,SAChD,kBAAC+F,GAAD;EAAO,eAAY;EAAO,aAAU;EAAyB,WAAU;CAAuD,CAAA,IAAI,MACxJC,IAAwChG,EAAM,UAAUlB,IAAW,OAAOA,KAAa,cAC1F,MAAW,kBAAA5B,GAAA,EAAA,UAAA,CAAG4B,EAASI,CAAO,GAAG4G,CAAY,EAAA,CAAA,IAC7C,kBAAA5I,GAAA,EAAA,UAAA,CAAG,OAAO4B,KAAa,YAAY,OAAOA,KAAa,YAAY,OAAOA,KAAa,WACtF,kBAAChB,GAAD;EAAiB,WAAU;EAAqC;CAA0B,CAAA,IAC1FgB,GAAUgH,CAAY,EAAA,CAAA;CAC1B,OAAO,kBAAC3I,GAAD;EACN,WAAWgG,EAAG,4FAA4FvF,EAAqBqI,CAAO,GAAEzI,EAAU0I,KAAiB,OAAM9C,CAAS;EAClL,GAAIpD;EACJ,UAAUgG;CACV,CAAA;AACF;AAIA,SAASG,EAAa,EAAE,aAAU,cAAW,GAAGnG,KAA4B;CAC3E,OACC,kBAAC5C,GAAD;EACC,WAAW+F,EAAG,6DAA6DC,CAAS;EACpF,GAAIpD;EAEJ,UAAA,kBAACvC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAY,WAAU;GAC1C;EACI,CAAA;CACgB,CAAA;AAEzB;AAOA,SAAS2I,EAAiB,EAAE,cAAW,GAAGpG,KAAgC;CACzE,OAAO,kBAAC3C,GAAD;EACN,MAAK;EACL,eAAY;EACZ,WAAW8F,EAAG,wDAAwDtF,EAAe,WAAWuF,CAAS;EACzG,GAAIpD;CACJ,CAAA;AACF;AAEA,EAAiB,cAAc;AAE/B,SAASqG,EAAgB,EAAE,aAAU,cAAW,GAAGrG,KAA+B;CACjF,OACC,kBAAC1C,GAAD;EACC,WAAW6F,EAAG,+BAA+BC,CAAS;EACtD,GAAIpD;EAEJ,UAAA,kBAACvC,GAAD;GAAM,KAAI;GAAO,MAAK;GAAK,MAAK;GAAY,WAAU;GACpD;EACI,CAAA;CACmB,CAAA;AAE5B;AAEA,EAAQ,cAAc,WACtB,EAAa,cAAc,gBAC3B,EAAY,cAAc,eAC1B,EAAa,cAAc,gBAC3B,EAAY,cAAc,eAC1B,EAAa,cAAc,gBAC3B,EAAgB,cAAc"}
|
|
1
|
+
{"version":3,"file":"command-C0xe7u9B.js","names":["React","Command","defaultFilter","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","CommandSeparator","CommandShortcut","React","CommandPrimitive","CommandInputPrimitive","CommandListPrimitive","CommandGroupPrimitive","_Fragment","CommandItemPrimitive","CommandEmptyPrimitive","CommandSeparatorPrimitive","CommandShortcutPrimitive","useTypographyConfig","textSizes","Text","DisplayLabel","surfaceInsetClasses","collectionRowClasses","popoverRecipes","CollectionLabel","Input","React$1","Fragment$1","commandFilter","haystack","value","keywords","needle","search","position","char","CommandContext","GroupContext","useCommand","textValue","children","child","visible","item","context","rankRecords","candidates","records","scores","compare","b","a","loose","groups","group","sortedGroups","items","Command$1","props","searchState","setSearchState","input","setInput","activeState","setActiveState","defaultValue","setRecords","active","managedHighlight","rootRef","sourceOrder","nextSourceOrder","register","current","record","registerInput","next","setSearch","setActive","onValueChange","shouldFilter","filter","rankedRecords","sourceLayout","previouslyRanked","root","liveIds","id","parent","key","element","owned","parents","ranks","index","rank","ranking","source","recordedKey","desired","sorted","left","right","previousSearch","searchChanged","useRender","asChild","ref","label","cn","className","onKeyDownCapture","event","delta","loop","onKeyDown","vimBindings","Autocomplete","disablePointerSelection","details","CommandInput$1","CommandList$1","CommandEmpty$1","CommandGroup$1","_value","groupItems","hidden","forceMount","headingElement","heading","renderedGroup","CommandItem$1","valueProp","groupContext","effectiveForceMount","keywordsKey","disabled","onClick","onSelect","CommandSeparator$1","alwaysRender","CommandShortcut$1","commandInsetClasses","CommandInsetContext","Command","inset","CommandInput","CommandList","CommandGroupHeading","CommandGroup","resolvedHeading","CommandItem","indicator","Check","content","density","defaultTextSize","CommandEmpty","CommandSeparator","CommandShortcut"],"sources":["../src/lib/command-filter.ts","../src/components/ui/command.tsx","../src/components/base/command/command.tsx"],"sourcesContent":["// Subsequence matching preserves fuzzy searches and keyword aliases without cmdk.\nexport function commandFilter(value: string, search: string, keywords: string[] = []) {\n const haystack = [value, ...keywords].join(' ').toLocaleLowerCase();\n const needle = search.trim().toLocaleLowerCase();\n if (!needle) return 1;\n if (haystack.includes(needle)) return 1;\n let position = 0;\n for (const char of needle) {\n position = haystack.indexOf(char, position);\n if (position === -1) return 0;\n position += 1;\n }\n return 0.5;\n}\n","import { commandFilter as defaultFilter } from '../../lib/command-filter';\nimport * as React from 'react';\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '../../lib/utils';\n\nexport type CommandFilter = (value: string, search: string, keywords?: string[]) => number;\ntype ItemRecord = { id: string; value: string; keywords: string[]; forceMount: boolean; disabled?: boolean; group?: string };\ntype InputState = { value?: string; onValueChange?: (value: string) => void };\ntype CommandContextValue = {\n managedHighlight: boolean; search: string; setSearch: (value: string) => void;\n active: string; setActive: (value: string) => void;\n shouldFilter: boolean; filter: CommandFilter;\n records: ItemRecord[]; register: (item: ItemRecord) => () => void;\n registerInput: (input: InputState) => () => void;\n};\nconst CommandContext = React.createContext<CommandContextValue | null>(null);\nconst GroupContext = React.createContext<{ id?: string; forceMount: boolean }>({ forceMount: false });\nfunction useCommand() {\n const value = React.useContext(CommandContext);\n if (!value) throw new Error('Command parts must be rendered inside Command.');\n return value;\n}\nfunction textValue(children: React.ReactNode): string {\n return React.Children.toArray(children).map(child => {\n if (typeof child === 'string' || typeof child === 'number') return String(child);\n if (React.isValidElement<{ children?: React.ReactNode }>(child)) return textValue(child.props.children);\n return '';\n }).join(' ').trim();\n}\n\nfunction visible(item: ItemRecord, context: Pick<CommandContextValue, 'search' | 'shouldFilter' | 'filter'>) {\n return item.forceMount || !context.shouldFilter || !context.search || context.filter(item.value, context.search, item.keywords) > 0;\n}\n/** cmdk ranks loose items first, then groups by their best matching item. */\nfunction rankRecords(records: ItemRecord[], context: Pick<CommandContextValue, 'search' | 'shouldFilter' | 'filter'>) {\n const candidates = records.filter(item => visible(item, context));\n if (!context.search || !context.shouldFilter) return candidates;\n const scores = new Map(candidates.map(item => [item.id, context.filter(item.value, context.search, item.keywords)]));\n const compare = (a: ItemRecord, b: ItemRecord) => (scores.get(b.id) ?? 0) - (scores.get(a.id) ?? 0);\n const loose: ItemRecord[] = [];\n const groups = new Map<string, ItemRecord[]>();\n for (const item of candidates) {\n if (!item.group) loose.push(item);\n else { const group = groups.get(item.group) ?? []; group.push(item); groups.set(item.group, group); }\n }\n const sortedGroups = Array.from(groups.values()).map(items => items.sort(compare))\n .sort((a, b) => (scores.get(b[0].id) ?? 0) - (scores.get(a[0].id) ?? 0));\n return [...loose.sort(compare), ...sortedGroups.flat()];\n}\nexport type CommandProps = React.ComponentPropsWithRef<'div'> & {\n asChild?: boolean; label?: string; shouldFilter?: boolean; filter?: CommandFilter;\n defaultValue?: string; value?: string; onValueChange?: (value: string) => void;\n loop?: boolean; disablePointerSelection?: boolean; vimBindings?: boolean;\n};\nfunction Command({ children, className, asChild, label, shouldFilter = true, filter = defaultFilter,\n value, defaultValue = '', onValueChange, loop = false, disablePointerSelection = false,\n vimBindings = true, ref, onKeyDown, onKeyDownCapture, ...props }: CommandProps) {\n const [searchState, setSearchState] = React.useState('');\n const [input, setInput] = React.useState<InputState>({});\n const [activeState, setActiveState] = React.useState(defaultValue);\n const [records, setRecords] = React.useState<ItemRecord[]>([]);\n const search = input.value ?? searchState;\n const active = value ?? activeState;\n const managedHighlight = value !== undefined || defaultValue !== '';\n const rootRef = React.useRef<HTMLDivElement>(null);\n const sourceOrder = React.useRef(new Map<string, number>());\n const nextSourceOrder = React.useRef(0);\n const register = React.useCallback((item: ItemRecord) => {\n if (!sourceOrder.current.has(item.id)) sourceOrder.current.set(item.id, nextSourceOrder.current++);\n setRecords(current => [...current.filter(record => record.id !== item.id), item]\n .sort((a, b) => (sourceOrder.current.get(a.id) ?? 0) - (sourceOrder.current.get(b.id) ?? 0)));\n return () => setRecords(current => current.filter(record => record.id !== item.id));\n }, []);\n const registerInput = React.useCallback((next: InputState) => {\n setInput(next);\n return () => setInput({});\n }, []);\n const setSearch = React.useCallback((next: string) => {\n setSearchState(next);\n input.onValueChange?.(next);\n }, [input.onValueChange]);\n const setActive = React.useCallback((next: string) => {\n setActiveState(next);\n if (next !== active) onValueChange?.(next);\n }, [onValueChange, active]);\n const context = React.useMemo(() => ({ managedHighlight, search, setSearch, active, setActive, shouldFilter, filter, records, register, registerInput }),\n [managedHighlight, search, setSearch, active, setActive, shouldFilter, filter, records, register, registerInput]);\n const rankedRecords = React.useMemo(() => rankRecords(records, { search, shouldFilter, filter }), [records, search, shouldFilter, filter]);\n const sourceLayout = React.useRef(new Map<HTMLElement, Map<string | HTMLElement, number>>());\n const previouslyRanked = React.useRef(false);\n React.useLayoutEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n const liveIds = new Set(records.map(item => item.id));\n if (records.length) for (const id of sourceOrder.current.keys()) if (!liveIds.has(id)) sourceOrder.current.delete(id);\n for (const parent of sourceLayout.current.keys()) if (!root.contains(parent)) sourceLayout.current.delete(parent);\n const key = (element: HTMLElement): string | HTMLElement => element.dataset.commandId\n ? `item:${element.dataset.commandId}` : element.dataset.commandGroupId\n ? `group:${element.dataset.commandGroupId}` : element.dataset.commandSeparatorId\n ? `separator:${element.dataset.commandSeparatorId}` : element;\n const owned = (element: HTMLElement) => !!element.dataset.commandId || !!element.dataset.commandGroupId;\n const parents = new Set<HTMLElement>();\n for (const element of root.querySelectorAll<HTMLElement>('[data-command-id], [data-command-group-id]')) {\n if (element.parentElement) parents.add(element.parentElement);\n }\n const ranks = new Map(rankedRecords.map((item, index) => [item.id, index]));\n const rank = (element: HTMLElement) => element.dataset.commandId\n ? ranks.get(element.dataset.commandId) ?? Infinity\n : rankedRecords.findIndex(item => item.group === element.dataset.commandGroupId);\n const ranking = !!search && shouldFilter;\n for (const parent of parents) {\n const current = Array.from(parent.children) as HTMLElement[];\n let source = sourceLayout.current.get(parent);\n if (!source || (!ranking && !previouslyRanked.current)) {\n source = new Map(current.map((element, index) => [key(element), index]));\n sourceLayout.current.set(parent, source);\n }\n for (const recordedKey of source.keys()) {\n if (typeof recordedKey === 'string' && recordedKey.startsWith('item:') && !liveIds.has(recordedKey.slice(5))) source.delete(recordedKey);\n }\n for (const element of current) if (!source.has(key(element))) source.set(key(element), Math.max(-1, ...source.values()) + 1);\n let desired: HTMLElement[];\n if (ranking) {\n const sorted = current.filter(owned).sort((a, b) => {\n const left = rank(a); const right = rank(b);\n return (left < 0 ? Infinity : left) - (right < 0 ? Infinity : right);\n });\n let index = 0;\n desired = current.map(element => owned(element) ? sorted[index++] : element);\n } else if (previouslyRanked.current) {\n desired = current.slice().sort((a, b) => source.get(key(a))! - source.get(key(b))!);\n } else continue;\n // Reorder owned DOM nodes without rebuilding children or losing their identity.\n for (let index = 0; index < desired.length; index++) {\n if (parent.children[index] !== desired[index]) parent.insertBefore(desired[index], parent.children[index] ?? null);\n }\n }\n previouslyRanked.current = ranking;\n }, [rankedRecords, search, shouldFilter]);\n const previousSearch = React.useRef(search);\n React.useEffect(() => {\n const searchChanged = previousSearch.current !== search;\n previousSearch.current = search;\n if (!managedHighlight || value !== undefined || !records.length) return;\n const candidates = rankedRecords.filter(item => !item.disabled);\n if (searchChanged || !candidates.some(item => item.value === active)) setActive(candidates[0]?.value ?? '');\n }, [managedHighlight, value, records, rankedRecords, active, search, setActive]);\n const element = useRender({ defaultTagName: 'div', render: asChild && React.isValidElement(children) ? children : undefined, ref: [ref ?? null, rootRef],\n props: { ...props, 'aria-label': props['aria-label'] ?? label, 'data-slot': 'command',\n className: cn('flex size-full flex-col overflow-hidden rounded-radius-lg bg-popover text-popover-foreground', className),\n ...(asChild ? {} : { children }), onKeyDownCapture(event: React.KeyboardEvent<HTMLDivElement>) {\n onKeyDownCapture?.(event);\n if (event.defaultPrevented || !managedHighlight) return;\n if (event.key === 'Enter') {\n const item = records.find(record => record.value === active && !record.disabled && visible(record, context));\n if (!item) return;\n event.preventDefault(); event.stopPropagation();\n Array.from(rootRef.current?.querySelectorAll<HTMLElement>('[data-command-id]') ?? []).find(element => element.dataset.commandId === item.id)?.click();\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp' || event.key === 'Home' || event.key === 'End') {\n const candidates = rankedRecords.filter(record => !record.disabled);\n if (!candidates.length) return;\n event.preventDefault(); event.stopPropagation();\n const current = candidates.findIndex(record => record.value === active);\n const delta = event.key === 'ArrowDown' ? 1 : -1;\n let next = current === -1 ? (delta > 0 ? 0 : candidates.length - 1) : current + delta;\n if (event.key === 'Home') next = 0;\n if (event.key === 'End') next = candidates.length - 1;\n next = loop ? (next + candidates.length) % candidates.length : Math.max(0, Math.min(candidates.length - 1, next));\n setActive(candidates[next].value);\n }\n }, onKeyDown(event: React.KeyboardEvent<HTMLDivElement>) {\n onKeyDown?.(event);\n if (event.defaultPrevented || !vimBindings || !event.ctrlKey) return;\n const key = { n: 'ArrowDown', j: 'ArrowDown', p: 'ArrowUp', k: 'ArrowUp' }[event.key];\n if (!key) return;\n event.preventDefault();\n event.target.dispatchEvent(new KeyboardEvent('keydown', { key, bubbles: true, cancelable: true }));\n } } });\n return <CommandContext.Provider value={context}>\n <Autocomplete.Root inline open value={search} filter={null} autoHighlight={managedHighlight ? false : 'always'} keepHighlight\n loopFocus={loop} highlightItemOnHover={!disablePointerSelection}\n onValueChange={(next, details) => { if (details.reason !== 'item-press') setSearch(next); }}\n onItemHighlighted={next => setActive(typeof next === 'string' ? next : '')}>\n {element}\n </Autocomplete.Root>\n </CommandContext.Provider>;\n}\ntype CommandInputProps = Omit<React.ComponentPropsWithRef<'input'>, 'value' | 'onChange' | 'type'> & {\n value?: string; onValueChange?: (value: string) => void; asChild?: boolean;\n};\nfunction CommandInput({ className, value, onValueChange, asChild, children, ...props }: CommandInputProps) {\n const context = useCommand();\n React.useLayoutEffect(() => context.registerInput({ value, onValueChange }), [context.registerInput, value, onValueChange]);\n return <div data-slot=\"command-input-wrapper\" className=\"pb-space-xs\">\n <Autocomplete.Input data-slot=\"command-input\" aria-activedescendant={context.records.find(item => item.value === context.active)?.id}\n render={asChild && React.isValidElement(children) ? children : undefined} className={className} {...props} />\n </div>;\n}\nfunction CommandList({ className, label, asChild, children, ...props }: React.ComponentPropsWithRef<'div'> & { label?: string; asChild?: boolean }) {\n const context = useCommand();\n return <Autocomplete.List data-slot=\"command-list\" aria-label={label} aria-activedescendant={context.records.find(item => item.value === context.active)?.id}\n className={cn('max-h-72 overflow-x-hidden overflow-y-auto outline-none', className)}\n render={asChild && React.isValidElement(children) ? children : undefined} {...props}>{asChild ? undefined : children}</Autocomplete.List>;\n}\nfunction CommandEmpty({ className, ...props }: React.ComponentPropsWithRef<'div'>) {\n const context = useCommand();\n if (context.records.some(item => visible(item, context))) return null;\n return <div data-slot=\"command-empty\" role=\"status\" className={cn('py-space-xl text-center text-sm', className)} {...props} />;\n}\nfunction CommandGroup({ className, heading, value: _value, forceMount = false, children, asChild, ...props }:\n React.ComponentPropsWithRef<'div'> & { heading?: React.ReactNode; value?: string; forceMount?: boolean; asChild?: boolean }) {\n const id = React.useId();\n const context = useCommand();\n const groupItems = context.records.filter(item => item.group === id);\n const hidden = !forceMount && !!context.search && !groupItems.some(item => visible(item, context));\n void _value;\n const headingElement = heading != null ? <Autocomplete.GroupLabel cmdk-group-heading=\"\" className=\"text-xs font-medium text-muted-foreground\">{heading}</Autocomplete.GroupLabel> : null;\n const renderedGroup = asChild && React.isValidElement<{ children?: React.ReactNode }>(children)\n ? React.cloneElement(children, {}, headingElement, children.props.children) : undefined;\n return <GroupContext.Provider value={{ id, forceMount }}>\n <Autocomplete.Group data-slot=\"command-group\" data-command-group-id={id} cmdk-group=\"\" hidden={hidden}\n className={cn('overflow-hidden text-foreground', className)} render={renderedGroup} {...props}>\n {!asChild && headingElement}\n {asChild ? undefined : children}\n </Autocomplete.Group>\n </GroupContext.Provider>;\n}\ntype CommandItemProps = Omit<React.ComponentPropsWithRef<'div'>, 'onSelect' | 'children'> & {\n children?: React.ReactNode | ((state: { isHighlighted: boolean }) => React.ReactNode);\n value?: string; onSelect?: (value: string) => void; keywords?: string[]; forceMount?: boolean;\n disabled?: boolean; asChild?: boolean;\n};\nfunction CommandItem({ className, children, value: valueProp, keywords = [], forceMount = false,\n disabled, onSelect, onClick, asChild, ref, ...props }: CommandItemProps) {\n const id = React.useId();\n const groupContext = React.useContext(GroupContext);\n const group = groupContext.id;\n const effectiveForceMount = forceMount || groupContext.forceMount;\n const context = useCommand();\n const value = valueProp ?? (typeof children === 'function' ? '' : textValue(children));\n const keywordsKey = JSON.stringify(keywords);\n React.useLayoutEffect(() => context.register({ id, value, keywords: JSON.parse(keywordsKey), forceMount: effectiveForceMount, disabled, group }),\n [context.register, id, value, keywordsKey, effectiveForceMount, disabled, group]);\n const record = { id, value, keywords, forceMount: effectiveForceMount, group };\n if (!visible(record, context)) return null;\n return <Autocomplete.Item value={value} disabled={disabled} ref={ref} data-slot=\"command-item\" data-command-id={id} aria-selected={context.active === value}\n data-selected={context.active === value ? 'true' : 'false'} data-disabled={disabled ? 'true' : undefined}\n className={cn('relative flex min-h-action-sm cursor-default items-center gap-space-sm rounded-radius px-control-sm py-row-y text-sm outline-none select-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-disabled:cursor-not-allowed', className)}\n render={asChild && React.isValidElement(children) ? React.cloneElement(children, { id } as React.HTMLAttributes<HTMLElement>) : <div id={id} />}\n onClick={event => { onClick?.(event); if (!event.defaultPrevented && !disabled) onSelect?.(value); }} {...props}>\n {asChild ? undefined : typeof children === 'function' ? children({ isHighlighted: context.active === value }) : children}\n </Autocomplete.Item>;\n}\nfunction CommandSeparator({ className, alwaysRender = false, asChild, children, ...props }:\n React.ComponentPropsWithRef<'div'> & { alwaysRender?: boolean; asChild?: boolean }) {\n const { search } = useCommand();\n const id = React.useId();\n return useRender({ enabled: !search || alwaysRender, render: asChild && React.isValidElement(children) ? children : undefined, props: { ...props, 'data-slot': 'command-separator', 'data-command-separator-id': id, role: props.role ?? 'separator', className: cn('h-px bg-border', className), ...(asChild ? {} : { children }) } });\n}\nfunction CommandShortcut({ className, ...props }: React.ComponentPropsWithRef<'span'>) {\n return <span data-slot=\"command-shortcut\" className={cn('ml-auto text-xs text-muted-foreground', className)} {...props} />;\n}\nexport { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandSeparator, CommandShortcut };\n","/**\n * Command — base wrapper around the internal Base UI command primitive.\n *\n * What this layer adds on top of the primitive:\n * - One standard, tokenized surface inset across the root, groups, and rows.\n * - Design-system typography and density-aware row sizing for admin commands.\n * - Stable BEM hooks on the wrapped root, input, list, group, item, separator,\n * and empty regions while retaining each primitive part's original props.\n * - Preserves the compound-component pattern: consumers compose\n * `<Command><CommandList><CommandGroup><CommandItem/></CommandGroup></CommandList></Command>`.\n *\n * For the recurring \"popover-with-command-list\" pattern, prefer\n * `base/popover-menu/` which composes both wrappers and adds slots.\n */\nimport * as React from 'react';\nimport { Check } from 'lucide-react';\n\nimport {\n\tCommand as CommandPrimitive,\n\tCommandEmpty as CommandEmptyPrimitive,\n\tCommandGroup as CommandGroupPrimitive,\n\tCommandInput as CommandInputPrimitive,\n\tCommandItem as CommandItemPrimitive,\n\tCommandList as CommandListPrimitive,\n\tCommandSeparator as CommandSeparatorPrimitive,\n\tCommandShortcut as CommandShortcutPrimitive,\n} from '../../ui/command';\nimport { DisplayLabel, Text } from '../../typography';\nimport { cn } from '../../../lib/utils';\nimport { collectionRowClasses, popoverRecipes, surfaceInsetClasses, type CollectionDensity } from '../popover/popover.recipes';\nimport { Input } from '../text-inputs/input';\nimport { CollectionLabel } from '../popover/collection-content';\nimport { useTypographyConfig } from '../../../lib/ui-provider';\nimport { textSizes } from '../../typography/text.styles';\n\ntype CommandRootProps = React.ComponentProps<typeof CommandPrimitive>;\n\nexport type CommandInset = 'default' | 'compact' | 'flush';\n\nexport type CommandProps = CommandRootProps & {\n\t/**\n\t * Surface inset role. Defaults to the compact collection shell.\n\t * Use `default` explicitly for substantive content, or `flush` when regions own their insets.\n\t */\n\tinset?: CommandInset;\n};\n\nconst commandInsetClasses: Record<CommandInset, string> = {\n\tdefault: surfaceInsetClasses.default,\n\tcompact: surfaceInsetClasses.compact,\n\t// The root is flush; search and list regions each own one collection inset.\n\tflush: 'p-0 [&_[data-slot=command-input-wrapper]]:px-surface-xs [&_[data-slot=command-input-wrapper]]:pt-surface-xs',\n};\n\nconst CommandInsetContext = React.createContext<CommandInset>('compact');\n\n/** Tokenized command surface with semantic default, compact, and flush inset roles. */\nfunction Command({ className, inset = 'compact', ...props }: CommandProps) {\n\treturn (\n <CommandInsetContext.Provider value={inset}>\n\t\t<CommandPrimitive\n\t\t\tclassName={cn(\n\t\t\t\t'command--component',\n\t\t\t\t// One standard surface inset keeps search controls, headings, row\n\t\t\t\t// highlights, and separators on the same surface grid.\n\t\t\t\t'gap-0 rounded-radius bg-popover text-popover-foreground',\n\t\t\t\tcommandInsetClasses[inset],\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n </CommandInsetContext.Provider>\n\t);\n}\n\ntype CommandListProps = React.ComponentProps<typeof CommandListPrimitive>;\n\ntype CommandInputProps = React.ComponentProps<typeof CommandInputPrimitive>;\n\nfunction CommandInput({ className, asChild, children, ...props }: CommandInputProps) {\n\treturn (\n\t\t<CommandInputPrimitive\n\t\t\tclassName={cn('command-input--component', className)}\n\t\t\t{...props}\n\t\t\tasChild\n\t\t>\n {asChild ? children : <Input />}\n </CommandInputPrimitive>\n\t);\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n const inset = React.useContext(CommandInsetContext);\n return (\n\t\t<CommandListPrimitive\n\t\t\tclassName={cn('command-list--component max-h-72', inset === 'flush' ? surfaceInsetClasses.compact : 'p-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype CommandGroupProps = React.ComponentProps<typeof CommandGroupPrimitive>;\n\nfunction CommandGroupHeading({ children }: { children: React.ReactNode }) {\n\tif (\n\t\ttypeof children !== 'string' &&\n\t\ttypeof children !== 'number' &&\n\t\ttypeof children !== 'bigint'\n\t) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<DisplayLabel tag=\"span\" className=\"command-group--heading\">\n\t\t\t{children}\n\t\t</DisplayLabel>\n\t);\n}\n\nfunction CommandGroup({ className, heading, ...props }: CommandGroupProps) {\n\tconst resolvedHeading = heading == null\n\t\t? heading\n\t\t: <CommandGroupHeading>{heading}</CommandGroupHeading>;\n\n\treturn (\n\t\t<CommandGroupPrimitive\n\t\t\tclassName={cn(\n\t\t\t\t'command-group--component p-0 [&_[cmdk-group-heading]]:px-row-x [&_[cmdk-group-heading]]:pt-space-md [&_[cmdk-group-heading]]:pb-space-xs',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\theading={resolvedHeading}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\ntype CommandItemProps = React.ComponentProps<typeof CommandItemPrimitive> & {\n\t/** Vertical row rhythm, independent from label typography. */\n\tdensity?: CollectionDensity;\n\t/** Persistent selection, distinct from the keyboard-highlight state. */\n\t'data-checked'?: boolean | 'true' | 'false';\n};\n\nfunction CommandItem({ children, className, density = 'default', ...props }: CommandItemProps) {\n\tconst {defaultTextSize}=useTypographyConfig();\n\tconst checked = props['data-checked'] === true || props['data-checked'] === 'true';\n\tconst indicator = checked ? <Check aria-hidden=\"true\" data-slot=\"command-item-indicator\" className=\"ms-auto size-icon shrink-0 self-center text-primary\" /> : null;\n\tconst content: CommandItemProps['children'] = props.asChild ? children : typeof children === 'function'\n\t\t? context => <>{children(context)}{indicator}</>\n\t\t: <>{typeof children === 'string' || typeof children === 'number' || typeof children === 'bigint'\n\t\t\t? <CollectionLabel className=\"command-item--text min-w-0 flex-1\">{children}</CollectionLabel>\n\t\t\t: children}{indicator}</>;\n\treturn <CommandItemPrimitive\n\t\tclassName={cn('command-item--component [&>svg]:size-icon [&>svg]:shrink-0 [&>svg]:text-muted-foreground', collectionRowClasses(density),textSizes[defaultTextSize??'sm'],className)}\n\t\t{...props}\n\t\tchildren={content}\n\t/>;\n}\n\ntype CommandEmptyProps = React.ComponentProps<typeof CommandEmptyPrimitive>;\n\nfunction CommandEmpty({ children, className, ...props }: CommandEmptyProps) {\n\treturn (\n\t\t<CommandEmptyPrimitive\n\t\t\tclassName={cn('command-empty--component px-row-x py-space-xl text-center', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" type=\"secondary\" className=\"command-empty--text\">\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</CommandEmptyPrimitive>\n\t);\n}\n\ntype CommandShortcutProps = React.ComponentProps<typeof CommandShortcutPrimitive>;\n\ntype CommandSeparatorProps = React.ComponentProps<typeof CommandSeparatorPrimitive>;\n\n/** Presentational divider that remains hidden from the Command listbox tree. */\nfunction CommandSeparator({ className, ...props }: CommandSeparatorProps) {\n return <CommandSeparatorPrimitive\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('command-separator--component command-separator--line', popoverRecipes.separator, className)}\n {...props}\n />;\n}\n\nCommandSeparator.displayName = 'CommandSeparator';\n\nfunction CommandShortcut({ children, className, ...props }: CommandShortcutProps) {\n\treturn (\n\t\t<CommandShortcutPrimitive\n\t\t\tclassName={cn('command-shortcut--component', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" className=\"command-shortcut--text\">\n\t\t\t\t{children}\n\t\t\t</Text>\n\t\t</CommandShortcutPrimitive>\n\t);\n}\n\nCommand.displayName = 'Command';\nCommandInput.displayName = 'CommandInput';\nCommandList.displayName = 'CommandList';\nCommandGroup.displayName = 'CommandGroup';\nCommandItem.displayName = 'CommandItem';\nCommandEmpty.displayName = 'CommandEmpty';\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n\tCommandShortcut,\n};\n"],"mappings":"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"}
|
|
@@ -4,20 +4,20 @@ import { interpolateString as n, useStrings as r } from "./lib/strings.js";
|
|
|
4
4
|
import { t as i } from "./utils-C2EKeIw3.js";
|
|
5
5
|
import { c as a, l as o, n as s, o as c, s as l } from "./buttons-Co6GavvM.js";
|
|
6
6
|
import { a as u, r as d, t as f } from "./typography-Cv8MT-82.js";
|
|
7
|
-
import { t as p } from "./structure-
|
|
8
|
-
import { i as m, t as h } from "./overlays-
|
|
7
|
+
import { t as p } from "./structure-MvKVq-oL.js";
|
|
8
|
+
import { i as m, t as h } from "./overlays-B11wZka6.js";
|
|
9
9
|
import { t as g } from "./sanitize-html-BG9FGe-j.js";
|
|
10
10
|
import { t as _ } from "./content-typography-CnwgMJ37.js";
|
|
11
11
|
import { t as v } from "./rich-text-B7sBAdDG.js";
|
|
12
12
|
import { g as y, i as b } from "./primitives-DKPOGVpj.js";
|
|
13
13
|
import { n as x, t as S } from "./number-BNT_BIzJ.js";
|
|
14
14
|
import { i as C } from "./date-BFNMnrS5.js";
|
|
15
|
-
import { i as w, n as T, s as E } from "./avatar-
|
|
15
|
+
import { i as w, n as T, s as E } from "./avatar-Bpzty83c.js";
|
|
16
16
|
import { t as D } from "./badge-BZXZT9wd.js";
|
|
17
|
-
import { c as O, o as ee } from "./popover-
|
|
18
|
-
import { l as k } from "./data-display-
|
|
19
|
-
import { t as te } from "./rich-text-editor-
|
|
20
|
-
import { l as A, n as ne, o as j, r as re, t as M } from "./mentions-
|
|
17
|
+
import { c as O, o as ee } from "./popover-CoLDEg19.js";
|
|
18
|
+
import { l as k } from "./data-display-cWIRdeaf.js";
|
|
19
|
+
import { t as te } from "./rich-text-editor-CoVrTiSv.js";
|
|
20
|
+
import { l as A, n as ne, o as j, r as re, t as M } from "./mentions-B8Ko-fhS.js";
|
|
21
21
|
import { Fragment as N, createElement as ie, forwardRef as P, memo as F, useCallback as I, useEffect as L, useImperativeHandle as ae, useMemo as R, useRef as z, useState as B } from "react";
|
|
22
22
|
import { Fragment as V, jsx as H, jsxs as U } from "react/jsx-runtime";
|
|
23
23
|
import { AtSign as oe, CornerDownRight as se, File as ce, FileText as le, Image as ue, Loader2 as de, MessageCircle as W, Paperclip as fe, Pencil as G, Pin as K, Send as pe, Smile as me, Trash2 as he, X as q } from "lucide-react";
|
|
@@ -1129,4 +1129,4 @@ function Ne(t) {
|
|
|
1129
1129
|
//#endregion
|
|
1130
1130
|
export { Q as a, ye as c, ge as d, Y as f, Ce as i, ve as l, Me as n, Z as o, J as p, je as r, Se as s, Ne as t, X as u };
|
|
1131
1131
|
|
|
1132
|
-
//# sourceMappingURL=comments-
|
|
1132
|
+
//# sourceMappingURL=comments-DviPLnwy.js.map
|