@mastra/playground-ui 63.0.1-alpha.0 → 63.1.0-alpha.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.
Files changed (449) hide show
  1. package/dist/{alert-dialog-DVAC9zdj.js → alert-dialog-Cpx4g1sS.js} +2 -2
  2. package/dist/{alert-dialog-DVAC9zdj.js.map → alert-dialog-Cpx4g1sS.js.map} +1 -1
  3. package/dist/{alert-dialog-C-ODvRWT.cjs → alert-dialog-Djojjgjo.cjs} +2 -2
  4. package/dist/{alert-dialog-C-ODvRWT.cjs.map → alert-dialog-Djojjgjo.cjs.map} +1 -1
  5. package/dist/{code-block-vvYFcnqm.js → code-block-BzUcNWrb.js} +2 -2
  6. package/dist/{code-block-vvYFcnqm.js.map → code-block-BzUcNWrb.js.map} +1 -1
  7. package/dist/{code-block-BuGosknt.cjs → code-block-CKLCdWtP.cjs} +2 -2
  8. package/dist/{code-block-BuGosknt.cjs.map → code-block-CKLCdWtP.cjs.map} +1 -1
  9. package/dist/{combobox-fEMKH9nJ.cjs → combobox-CdTP_FZ0.cjs} +9 -2
  10. package/dist/combobox-CdTP_FZ0.cjs.map +1 -0
  11. package/dist/{combobox-so2V71F7.js → combobox-CeYDCkXk.js} +9 -2
  12. package/dist/combobox-CeYDCkXk.js.map +1 -0
  13. package/dist/{command-B_C36ppQ.cjs → command-CSl9Mfrp.cjs} +3 -3
  14. package/dist/{command-B_C36ppQ.cjs.map → command-CSl9Mfrp.cjs.map} +1 -1
  15. package/dist/{command-DMqzDhzs.js → command-DQAGSkdK.js} +3 -3
  16. package/dist/{command-DMqzDhzs.js.map → command-DQAGSkdK.js.map} +1 -1
  17. package/dist/components/AlertDialog.cjs.js +1 -1
  18. package/dist/components/AlertDialog.es.js +1 -1
  19. package/dist/components/CodeBlock.cjs.js +1 -1
  20. package/dist/components/CodeBlock.es.js +1 -1
  21. package/dist/components/Combobox.cjs.js +1 -1
  22. package/dist/components/Combobox.es.js +1 -1
  23. package/dist/components/Command.cjs.js +1 -1
  24. package/dist/components/Command.es.js +1 -1
  25. package/dist/components/CommandPalette.cjs.js +2 -2
  26. package/dist/components/CommandPalette.es.js +2 -2
  27. package/dist/components/Comment.cjs.js +1 -1
  28. package/dist/components/Comment.es.js +1 -1
  29. package/dist/components/Composer.cjs.js +2 -2
  30. package/dist/components/Composer.es.js +2 -2
  31. package/dist/components/DataCodeSection.cjs.js +1 -1
  32. package/dist/components/DataCodeSection.es.js +1 -1
  33. package/dist/components/DataList.cjs.js +17 -15
  34. package/dist/components/DataList.cjs.js.map +1 -1
  35. package/dist/components/DataList.es.js +5 -4
  36. package/dist/components/DataList.es.js.map +1 -1
  37. package/dist/components/DataPanel.cjs.js +1 -1
  38. package/dist/components/DataPanel.es.js +1 -1
  39. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  40. package/dist/components/DateTimeRangePicker.es.js +1 -1
  41. package/dist/components/Dialog.cjs.js +2 -2
  42. package/dist/components/Dialog.es.js +2 -2
  43. package/dist/components/DropdownMenu.cjs.js +1 -1
  44. package/dist/components/DropdownMenu.es.js +1 -1
  45. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
  46. package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
  47. package/dist/components/InputGroup.cjs.js +1 -1
  48. package/dist/components/InputGroup.es.js +1 -1
  49. package/dist/components/InputNumber.cjs.js +1 -1
  50. package/dist/components/InputNumber.es.js +1 -1
  51. package/dist/components/ListSearch.cjs.js +1 -1
  52. package/dist/components/ListSearch.es.js +1 -1
  53. package/dist/components/LogsDataList.cjs.js +2 -5
  54. package/dist/components/LogsDataList.cjs.js.map +1 -1
  55. package/dist/components/LogsDataList.es.js +2 -5
  56. package/dist/components/LogsDataList.es.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  58. package/dist/components/MarkdownRenderer.es.js +1 -1
  59. package/dist/components/MetricsCard.cjs.js +1 -1
  60. package/dist/components/MetricsCard.es.js +1 -1
  61. package/dist/components/PageLayout.cjs.js +11 -8
  62. package/dist/components/PageLayout.cjs.js.map +1 -1
  63. package/dist/components/PageLayout.es.js +11 -8
  64. package/dist/components/PageLayout.es.js.map +1 -1
  65. package/dist/components/PropertyFilter.cjs.js +2 -2
  66. package/dist/components/PropertyFilter.es.js +3 -3
  67. package/dist/components/SavedViews.cjs.js +1 -1
  68. package/dist/components/SavedViews.es.js +1 -1
  69. package/dist/components/ScrollArea.cjs.js +1 -1
  70. package/dist/components/ScrollArea.es.js +1 -1
  71. package/dist/components/SearchInput.cjs.js +1 -1
  72. package/dist/components/SearchInput.es.js +1 -1
  73. package/dist/components/Sidebar.cjs.js +3 -3
  74. package/dist/components/Sidebar.es.js +3 -3
  75. package/dist/components/Tabs.cjs.js +1 -1
  76. package/dist/components/Tabs.es.js +1 -1
  77. package/dist/components/ThreadRail.cjs.js +1 -1
  78. package/dist/components/ThreadRail.es.js +1 -1
  79. package/dist/components/Workflow.cjs.js +3 -3
  80. package/dist/components/Workflow.es.js +3 -3
  81. package/dist/components/ai/activity.cjs.js +1 -1
  82. package/dist/components/ai/activity.es.js +1 -1
  83. package/dist/components/ai/plan.cjs.js +1 -1
  84. package/dist/components/ai/plan.es.js +1 -1
  85. package/dist/components/ai/task-list.cjs.js +1 -1
  86. package/dist/components/ai/task-list.es.js +1 -1
  87. package/dist/components/ai/tool-approval.cjs.js +1 -1
  88. package/dist/components/ai/tool-approval.es.js +1 -1
  89. package/dist/components/ai/tool-call.cjs.js +2 -2
  90. package/dist/components/ai/tool-call.es.js +2 -2
  91. package/dist/{composer-CxmOOUX8.js → composer-B0i1WZgt.js} +2 -2
  92. package/dist/{composer-CxmOOUX8.js.map → composer-B0i1WZgt.js.map} +1 -1
  93. package/dist/{composer-Cg5bXN1r.cjs → composer-DJsfHivH.cjs} +2 -2
  94. package/dist/{composer-Cg5bXN1r.cjs.map → composer-DJsfHivH.cjs.map} +1 -1
  95. package/dist/{data-code-section-Bs8sHDux.cjs → data-code-section-BB2RWius.cjs} +3 -3
  96. package/dist/{data-code-section-Bs8sHDux.cjs.map → data-code-section-BB2RWius.cjs.map} +1 -1
  97. package/dist/{data-code-section-CqdjmClK.js → data-code-section-DsU-ubVW.js} +3 -3
  98. package/dist/{data-code-section-CqdjmClK.js.map → data-code-section-DsU-ubVW.js.map} +1 -1
  99. package/dist/data-list-CaifGmFh.cjs +142 -0
  100. package/dist/data-list-CaifGmFh.cjs.map +1 -0
  101. package/dist/data-list-kilUFo3I.js +138 -0
  102. package/dist/data-list-kilUFo3I.js.map +1 -0
  103. package/dist/{data-list-skeleton-BNsWWamC.js → data-list-skeleton-C_zFfUy5.js} +2 -2
  104. package/dist/{data-list-skeleton-BNsWWamC.js.map → data-list-skeleton-C_zFfUy5.js.map} +1 -1
  105. package/dist/{data-list-skeleton-BGJD4qMF.cjs → data-list-skeleton-Cgo1Urkr.cjs} +6 -6
  106. package/dist/{data-list-skeleton-BGJD4qMF.cjs.map → data-list-skeleton-Cgo1Urkr.cjs.map} +1 -1
  107. package/dist/data-list-spacer-D9J0nV_S.cjs +218 -0
  108. package/dist/data-list-spacer-D9J0nV_S.cjs.map +1 -0
  109. package/dist/data-list-spacer-DGUCD6oy.js +209 -0
  110. package/dist/data-list-spacer-DGUCD6oy.js.map +1 -0
  111. package/dist/{data-list-BLfHObw8.cjs → data-list-top-DYnH-IhJ.cjs} +14 -340
  112. package/dist/data-list-top-DYnH-IhJ.cjs.map +1 -0
  113. package/dist/{data-list-B2ArWwsJ.js → data-list-top-Dk9Wz_w5.js} +6 -333
  114. package/dist/data-list-top-Dk9Wz_w5.js.map +1 -0
  115. package/dist/{data-panel-Wjgbl6zx.cjs → data-panel-CtFwwsPs.cjs} +2 -2
  116. package/dist/{data-panel-Wjgbl6zx.cjs.map → data-panel-CtFwwsPs.cjs.map} +1 -1
  117. package/dist/{data-panel-BdCw3F_h.js → data-panel-CwIdwpov.js} +2 -2
  118. package/dist/{data-panel-BdCw3F_h.js.map → data-panel-CwIdwpov.js.map} +1 -1
  119. package/dist/{date-time-range-picker-SU1Q1h1h.js → date-time-range-picker-BT9qan60.js} +2 -2
  120. package/dist/{date-time-range-picker-SU1Q1h1h.js.map → date-time-range-picker-BT9qan60.js.map} +1 -1
  121. package/dist/{date-time-range-picker-ByNvjYuV.cjs → date-time-range-picker-DQa5XLST.cjs} +2 -2
  122. package/dist/{date-time-range-picker-ByNvjYuV.cjs.map → date-time-range-picker-DQa5XLST.cjs.map} +1 -1
  123. package/dist/{dialog-B5nLi0ER.cjs → dialog-BAlSUqcF.cjs} +2 -2
  124. package/dist/{dialog-B5nLi0ER.cjs.map → dialog-BAlSUqcF.cjs.map} +1 -1
  125. package/dist/{dialog-Jz2ZfO-z.js → dialog-CboDo8Pj.js} +2 -2
  126. package/dist/{dialog-Jz2ZfO-z.js.map → dialog-CboDo8Pj.js.map} +1 -1
  127. package/dist/{dialog-action-DdkbsKfP.cjs → dialog-action-DWE9XalB.cjs} +2 -2
  128. package/dist/{dialog-action-DdkbsKfP.cjs.map → dialog-action-DWE9XalB.cjs.map} +1 -1
  129. package/dist/{dialog-action-BxXhAz-P.js → dialog-action-DpctEQ9l.js} +2 -2
  130. package/dist/{dialog-action-BxXhAz-P.js.map → dialog-action-DpctEQ9l.js.map} +1 -1
  131. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +1 -1
  132. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
  133. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
  134. package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
  135. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  136. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  137. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
  138. package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
  139. package/dist/domains/chat/messages/message-row.cjs.js +1 -1
  140. package/dist/domains/chat/messages/message-row.es.js +1 -1
  141. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  142. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  143. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  144. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  145. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  146. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  147. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  148. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  149. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  150. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  151. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  152. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  153. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  154. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  155. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  156. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  157. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  158. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  159. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
  160. package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
  161. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -3
  162. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  163. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -3
  164. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  165. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  166. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  167. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  168. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  169. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  170. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  171. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  172. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  173. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  174. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  175. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  176. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  177. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  178. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  179. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  180. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  181. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  182. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  183. package/dist/domains/metrics/components/date-range-selector.cjs.js +5 -44
  184. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  185. package/dist/domains/metrics/components/date-range-selector.es.js +3 -42
  186. package/dist/domains/metrics/components/date-range-selector.es.js.map +1 -1
  187. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  188. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  189. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  190. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  191. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +26 -0
  192. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -0
  193. package/dist/domains/metrics/components/metrics-time-range-chip.d.ts +2 -0
  194. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +22 -0
  195. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -0
  196. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  197. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  198. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  199. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  200. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  201. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  202. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  203. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  204. package/dist/domains/metrics/components.cjs.js +2 -0
  205. package/dist/domains/metrics/components.cjs.js.map +1 -1
  206. package/dist/domains/metrics/components.es.js +1 -0
  207. package/dist/domains/metrics/components.es.js.map +1 -1
  208. package/dist/domains/metrics/hooks.cjs.js +4 -0
  209. package/dist/domains/metrics/hooks.cjs.js.map +1 -1
  210. package/dist/domains/metrics/hooks.es.js +1 -1
  211. package/dist/domains/metrics/metrics-date-presets.cjs.js +49 -0
  212. package/dist/domains/metrics/metrics-date-presets.cjs.js.map +1 -0
  213. package/dist/domains/metrics/metrics-date-presets.d.ts +2 -0
  214. package/dist/domains/metrics/metrics-date-presets.es.js +43 -0
  215. package/dist/domains/metrics/metrics-date-presets.es.js.map +1 -0
  216. package/dist/domains/metrics/metrics-filters.cjs.js +94 -0
  217. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  218. package/dist/domains/metrics/metrics-filters.es.js +91 -1
  219. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  220. package/dist/domains/metrics.cjs.js +6 -0
  221. package/dist/domains/metrics.cjs.js.map +1 -1
  222. package/dist/domains/metrics.es.js +2 -1
  223. package/dist/domains/metrics.es.js.map +1 -1
  224. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  225. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  226. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  227. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  228. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  229. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  230. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  231. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  232. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  233. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  234. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  235. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  236. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  237. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  238. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  239. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  240. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  241. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  242. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  243. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  244. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  245. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  246. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  247. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  248. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  249. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  250. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  251. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  252. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  253. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  254. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  255. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  256. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  257. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  258. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +0 -1
  259. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  260. package/dist/domains/traces/components/thread-view-by-trace.es.js +0 -1
  261. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  262. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  263. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  264. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  265. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  266. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -4
  267. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  268. package/dist/domains/traces/components/trace-data-panel.es.js +1 -4
  269. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  270. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  271. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  272. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  273. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  274. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  275. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  276. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  277. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  278. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  279. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  280. package/dist/domains/traces/components/traces-list-view.cjs.js +6 -5
  281. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  282. package/dist/domains/traces/components/traces-list-view.es.js +5 -4
  283. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  284. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  285. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  286. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  287. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  288. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  289. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  290. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  291. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  292. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  293. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  294. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  295. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  296. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  297. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  298. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  299. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  300. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -0
  301. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  302. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -0
  303. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  304. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  305. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  306. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  307. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  308. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  309. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  310. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  311. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  312. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  313. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  314. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  315. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  316. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  317. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  318. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  319. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  320. package/dist/domains/workspace/components/workspace-parts.cjs.js +1 -1
  321. package/dist/domains/workspace/components/workspace-parts.es.js +1 -1
  322. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  323. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  324. package/dist/{dropdown-menu-D8GR_NhL.js → dropdown-menu-C6VtAiYJ.js} +43 -4
  325. package/dist/dropdown-menu-C6VtAiYJ.js.map +1 -0
  326. package/dist/{dropdown-menu-Bg96BCnK.cjs → dropdown-menu-dHvHFLji.cjs} +42 -3
  327. package/dist/dropdown-menu-dHvHFLji.cjs.map +1 -0
  328. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  329. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  330. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  331. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  332. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  333. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  334. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -4
  335. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  336. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -4
  337. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  338. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  339. package/dist/ee/signals/sankey-signals.es.js +1 -1
  340. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  341. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  342. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  343. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  344. package/dist/{input-group-DQuyC9Pz.cjs → input-group-Bj2RbkNg.cjs} +20 -3
  345. package/dist/input-group-Bj2RbkNg.cjs.map +1 -0
  346. package/dist/{input-group-CIIwoggO.js → input-group-CrumkDCF.js} +20 -3
  347. package/dist/input-group-CrumkDCF.js.map +1 -0
  348. package/dist/layout/tabbed-container.cjs.js +4 -4
  349. package/dist/layout/tabbed-container.es.js +4 -4
  350. package/dist/{list-search-Cwp-OPvC.js → list-search-C7ro2_qL.js} +2 -2
  351. package/dist/{list-search-Cwp-OPvC.js.map → list-search-C7ro2_qL.js.map} +1 -1
  352. package/dist/{list-search-C5j3HYkb.cjs → list-search-Y3z6P6IO.cjs} +2 -2
  353. package/dist/{list-search-C5j3HYkb.cjs.map → list-search-Y3z6P6IO.cjs.map} +1 -1
  354. package/dist/{logs-data-list-B-gmgU74.js → logs-data-list-1KFnVsFz.js} +3 -2
  355. package/dist/{logs-data-list-B-gmgU74.js.map → logs-data-list-1KFnVsFz.js.map} +1 -1
  356. package/dist/{logs-data-list-CaXnNnC5.cjs → logs-data-list-BafttkM2.cjs} +22 -21
  357. package/dist/{logs-data-list-CaXnNnC5.cjs.map → logs-data-list-BafttkM2.cjs.map} +1 -1
  358. package/dist/{markdown-renderer-BXTNiZbz.cjs → markdown-renderer-BRu3RpQD.cjs} +3 -3
  359. package/dist/{markdown-renderer-BXTNiZbz.cjs.map → markdown-renderer-BRu3RpQD.cjs.map} +1 -1
  360. package/dist/{markdown-renderer-Ct-q_KTF.js → markdown-renderer-WesDzhMr.js} +3 -3
  361. package/dist/{markdown-renderer-Ct-q_KTF.js.map → markdown-renderer-WesDzhMr.js.map} +1 -1
  362. package/dist/{metrics-card-C33VsuXf.js → metrics-card-BI5okAsj.js} +2 -2
  363. package/dist/{metrics-card-C33VsuXf.js.map → metrics-card-BI5okAsj.js.map} +1 -1
  364. package/dist/{metrics-card-CxOVpP1t.cjs → metrics-card-CcesVPLN.cjs} +2 -2
  365. package/dist/{metrics-card-CxOVpP1t.cjs.map → metrics-card-CcesVPLN.cjs.map} +1 -1
  366. package/dist/{plan-TXWANP1R.js → plan-CBiLa54G.js} +2 -2
  367. package/dist/{plan-TXWANP1R.js.map → plan-CBiLa54G.js.map} +1 -1
  368. package/dist/{plan-CL-lbDuy.cjs → plan-ColU7p3H.cjs} +2 -2
  369. package/dist/{plan-CL-lbDuy.cjs.map → plan-ColU7p3H.cjs.map} +1 -1
  370. package/dist/primitives/menu-item.cjs.js +2 -0
  371. package/dist/primitives/menu-item.cjs.js.map +1 -1
  372. package/dist/primitives/menu-item.es.js +2 -1
  373. package/dist/primitives/menu-item.es.js.map +1 -1
  374. package/dist/{property-filter-applied-Ru3OQoGo.js → property-filter-applied-BCeGn2zQ.js} +2 -2
  375. package/dist/{property-filter-applied-Ru3OQoGo.js.map → property-filter-applied-BCeGn2zQ.js.map} +1 -1
  376. package/dist/{property-filter-applied-BBvaTC4B.cjs → property-filter-applied-CpelyBH9.cjs} +2 -2
  377. package/dist/{property-filter-applied-BBvaTC4B.cjs.map → property-filter-applied-CpelyBH9.cjs.map} +1 -1
  378. package/dist/{reasoning-activity-CFEaSv4J.cjs → reasoning-activity-B8bR8ib_.cjs} +2 -2
  379. package/dist/{reasoning-activity-CFEaSv4J.cjs.map → reasoning-activity-B8bR8ib_.cjs.map} +1 -1
  380. package/dist/{reasoning-activity-CHlEe011.js → reasoning-activity-DLrXgE9k.js} +2 -2
  381. package/dist/{reasoning-activity-CHlEe011.js.map → reasoning-activity-DLrXgE9k.js.map} +1 -1
  382. package/dist/{scroll-area-CVgjRzTS.cjs → scroll-area-BakRKj2k.cjs} +3 -3
  383. package/dist/scroll-area-BakRKj2k.cjs.map +1 -0
  384. package/dist/{scroll-area-BywIlj3F.js → scroll-area-D6gKFavi.js} +3 -3
  385. package/dist/scroll-area-D6gKFavi.js.map +1 -0
  386. package/dist/{search-input-RybUdqzg.js → search-input-BEAKPGH8.js} +2 -2
  387. package/dist/{search-input-RybUdqzg.js.map → search-input-BEAKPGH8.js.map} +1 -1
  388. package/dist/{search-input-2DhcUIvn.cjs → search-input-DdRhkYqy.cjs} +2 -2
  389. package/dist/{search-input-2DhcUIvn.cjs.map → search-input-DdRhkYqy.cjs.map} +1 -1
  390. package/dist/{span-payload-primitives-DIxmotnO.cjs → span-payload-primitives-BymKsUAo.cjs} +2 -2
  391. package/dist/{span-payload-primitives-DIxmotnO.cjs.map → span-payload-primitives-BymKsUAo.cjs.map} +1 -1
  392. package/dist/{span-payload-primitives-dTs5UrjA.js → span-payload-primitives-DBNNkmHo.js} +2 -2
  393. package/dist/{span-payload-primitives-dTs5UrjA.js.map → span-payload-primitives-DBNNkmHo.js.map} +1 -1
  394. package/dist/src/domains/metrics/components/date-range-selector.d.ts +1 -0
  395. package/dist/src/domains/metrics/components/index.d.ts +1 -0
  396. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +5 -0
  397. package/dist/src/domains/metrics/hooks/index.d.ts +1 -1
  398. package/dist/src/domains/metrics/metrics-date-presets.d.ts +6 -0
  399. package/dist/src/domains/metrics/metrics-filters.d.ts +23 -1
  400. package/dist/src/ds/components/Combobox/combobox.d.ts +2 -0
  401. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +19 -6
  402. package/dist/src/ds/components/InputGroup/input-group.d.ts +6 -2
  403. package/dist/src/ds/components/PageLayout/page-layout.d.ts +8 -1
  404. package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +2 -1
  405. package/dist/src/ds/primitives/menu-item.d.ts +1 -0
  406. package/dist/style.css +16 -4
  407. package/dist/{tabs-list-DY_hziv7.js → tabs-list-CDep3C2w.js} +2 -2
  408. package/dist/{tabs-list-DY_hziv7.js.map → tabs-list-CDep3C2w.js.map} +1 -1
  409. package/dist/{tabs-list-xikY_dug.cjs → tabs-list-DwQsMVKI.cjs} +2 -2
  410. package/dist/{tabs-list-xikY_dug.cjs.map → tabs-list-DwQsMVKI.cjs.map} +1 -1
  411. package/dist/{tool-approval-TB8r2U_c.js → tool-approval-BK2j7aj_.js} +2 -2
  412. package/dist/{tool-approval-TB8r2U_c.js.map → tool-approval-BK2j7aj_.js.map} +1 -1
  413. package/dist/{tool-approval-S6ml_xyU.cjs → tool-approval-Bza_sgxa.cjs} +2 -2
  414. package/dist/{tool-approval-S6ml_xyU.cjs.map → tool-approval-Bza_sgxa.cjs.map} +1 -1
  415. package/dist/{tool-call-arguments-CCkJ1btR.js → tool-call-arguments-BLCAiFYg.js} +2 -2
  416. package/dist/{tool-call-arguments-CCkJ1btR.js.map → tool-call-arguments-BLCAiFYg.js.map} +1 -1
  417. package/dist/{tool-call-arguments-DyukJmhY.cjs → tool-call-arguments-CK3kQ_FX.cjs} +2 -2
  418. package/dist/{tool-call-arguments-DyukJmhY.cjs.map → tool-call-arguments-CK3kQ_FX.cjs.map} +1 -1
  419. package/dist/{tool-call-group-CZBqGjMh.js → tool-call-group-C_zxf6OA.js} +2 -2
  420. package/dist/{tool-call-group-CZBqGjMh.js.map → tool-call-group-C_zxf6OA.js.map} +1 -1
  421. package/dist/{tool-call-group-CFpdexuw.cjs → tool-call-group-Cdgv7red.cjs} +2 -2
  422. package/dist/{tool-call-group-CFpdexuw.cjs.map → tool-call-group-Cdgv7red.cjs.map} +1 -1
  423. package/dist/{traces-data-list-1X6UBM6Y.js → traces-data-list-CDvg5G_2.js} +4 -2
  424. package/dist/{traces-data-list-1X6UBM6Y.js.map → traces-data-list-CDvg5G_2.js.map} +1 -1
  425. package/dist/{traces-data-list-BXSXW3E6.cjs → traces-data-list-Dy-9AIr2.cjs} +19 -17
  426. package/dist/{traces-data-list-BXSXW3E6.cjs.map → traces-data-list-Dy-9AIr2.cjs.map} +1 -1
  427. package/dist/{workflow-data-edge-view-De0xCrVu.js → workflow-data-edge-view-BWyUa9am.js} +2 -2
  428. package/dist/{workflow-data-edge-view-De0xCrVu.js.map → workflow-data-edge-view-BWyUa9am.js.map} +1 -1
  429. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs → workflow-data-edge-view-BpnN4W_5.cjs} +2 -2
  430. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs.map → workflow-data-edge-view-BpnN4W_5.cjs.map} +1 -1
  431. package/dist/{workflow-edge-data-button-av1zCMfP.cjs → workflow-edge-data-button-Du5ZDm72.cjs} +2 -2
  432. package/dist/{workflow-edge-data-button-av1zCMfP.cjs.map → workflow-edge-data-button-Du5ZDm72.cjs.map} +1 -1
  433. package/dist/{workflow-edge-data-button-CXbj67U9.js → workflow-edge-data-button-DvGFB2L6.js} +2 -2
  434. package/dist/{workflow-edge-data-button-CXbj67U9.js.map → workflow-edge-data-button-DvGFB2L6.js.map} +1 -1
  435. package/dist/{workflow-step-action-BsBZk7j6.cjs → workflow-step-action-DNrU8on1.cjs} +2 -2
  436. package/dist/{workflow-step-action-BsBZk7j6.cjs.map → workflow-step-action-DNrU8on1.cjs.map} +1 -1
  437. package/dist/{workflow-step-action-AG05Ly8P.js → workflow-step-action-ac1gNDdn.js} +2 -2
  438. package/dist/{workflow-step-action-AG05Ly8P.js.map → workflow-step-action-ac1gNDdn.js.map} +1 -1
  439. package/package.json +7 -7
  440. package/dist/combobox-fEMKH9nJ.cjs.map +0 -1
  441. package/dist/combobox-so2V71F7.js.map +0 -1
  442. package/dist/data-list-B2ArWwsJ.js.map +0 -1
  443. package/dist/data-list-BLfHObw8.cjs.map +0 -1
  444. package/dist/dropdown-menu-Bg96BCnK.cjs.map +0 -1
  445. package/dist/dropdown-menu-D8GR_NhL.js.map +0 -1
  446. package/dist/input-group-CIIwoggO.js.map +0 -1
  447. package/dist/input-group-DQuyC9Pz.cjs.map +0 -1
  448. package/dist/scroll-area-BywIlj3F.js.map +0 -1
  449. package/dist/scroll-area-CVgjRzTS.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { B as Button } from './Button-60jVnaHt.js';
3
- import { D as Dialog, k as DialogTrigger, g as DialogHeader, f as DialogFooter, a as DialogBody, j as DialogTitle, e as DialogDescription, b as DialogCancel, d as DialogContent, c as DialogClose, l as dialogActionSizeClasses, m as dialogActionLayoutClasses } from './dialog-Jz2ZfO-z.js';
3
+ import { D as Dialog, k as DialogTrigger, g as DialogHeader, f as DialogFooter, a as DialogBody, j as DialogTitle, e as DialogDescription, b as DialogCancel, d as DialogContent, c as DialogClose, l as dialogActionSizeClasses, m as dialogActionLayoutClasses } from './dialog-CboDo8Pj.js';
4
4
  import { c as cn } from './cn-coERSHz5.js';
5
5
 
6
6
  function AlertDialog(props) {
@@ -37,4 +37,4 @@ AlertDialog.Action = AlertDialogAction;
37
37
  AlertDialog.Cancel = DialogCancel;
38
38
 
39
39
  export { AlertDialog as A };
40
- //# sourceMappingURL=alert-dialog-DVAC9zdj.js.map
40
+ //# sourceMappingURL=alert-dialog-Cpx4g1sS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-DVAC9zdj.js","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":[],"mappings":";;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,2BAAQ,MAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACE,GAAA,CAAC,aAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACE,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,uBAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAU,aAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,IAAA,GAAO,UAAA;AACnB,WAAA,CAAY,KAAA,GAAQ,WAAA;AACpB,WAAA,CAAY,WAAA,GAAc,iBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;;;;"}
1
+ {"version":3,"file":"alert-dialog-Cpx4g1sS.js","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":[],"mappings":";;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,2BAAQ,MAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACE,GAAA,CAAC,aAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACE,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,uBAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAU,aAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,IAAA,GAAO,UAAA;AACnB,WAAA,CAAY,KAAA,GAAQ,WAAA;AACpB,WAAA,CAAY,WAAA,GAAc,iBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const Button = require('./Button-CAVPKK09.cjs');
5
- const dialog = require('./dialog-B5nLi0ER.cjs');
5
+ const dialog = require('./dialog-BAlSUqcF.cjs');
6
6
  const utils_cn = require('./cn-TqD01zH-.cjs');
7
7
 
8
8
  function AlertDialog(props) {
@@ -39,4 +39,4 @@ AlertDialog.Action = AlertDialogAction;
39
39
  AlertDialog.Cancel = dialog.DialogCancel;
40
40
 
41
41
  exports.AlertDialog = AlertDialog;
42
- //# sourceMappingURL=alert-dialog-C-ODvRWT.cjs.map
42
+ //# sourceMappingURL=alert-dialog-Djojjgjo.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog-C-ODvRWT.cjs","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":["Dialog","jsx","DialogContent","DialogClose","Button","cn","dialogActionLayoutClasses","dialogActionSizeClasses","DialogTrigger","DialogHeader","DialogFooter","DialogBody","DialogTitle","DialogDescription","DialogCancel"],"mappings":";;;;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,sCAAQA,aAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACEC,cAAA,CAACC,oBAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACED,cAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACEF,cAAA;AAAA,QAACG,aAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAWC,WAAA,CAAGC,gCAAA,EAA2BC,8BAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAUC,oBAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,IAAA,GAAOC,iBAAA;AACnB,WAAA,CAAY,KAAA,GAAQC,kBAAA;AACpB,WAAA,CAAY,WAAA,GAAcC,wBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;;;;"}
1
+ {"version":3,"file":"alert-dialog-Djojjgjo.cjs","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":["Dialog","jsx","DialogContent","DialogClose","Button","cn","dialogActionLayoutClasses","dialogActionSizeClasses","DialogTrigger","DialogHeader","DialogFooter","DialogBody","DialogTitle","DialogDescription","DialogCancel"],"mappings":";;;;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,sCAAQA,aAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACEC,cAAA,CAACC,oBAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACED,cAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACEF,cAAA;AAAA,QAACG,aAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAWC,WAAA,CAAGC,gCAAA,EAA2BC,8BAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAUC,oBAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,IAAA,GAAOC,iBAAA;AACnB,WAAA,CAAY,KAAA,GAAQC,kBAAA;AACpB,WAAA,CAAY,WAAA,GAAcC,wBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;;;;"}
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { C as Code } from './code-DAXWNzvf.js';
3
3
  import { C as CopyButton } from './copy-button-Af_Qt7G1.js';
4
4
  import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-BvYdi3X0.js';
5
- import { T as TabList } from './tabs-list-DY_hziv7.js';
5
+ import { T as TabList } from './tabs-list-CDep3C2w.js';
6
6
  import { T as Tabs } from './tabs-root-CvGhdNKc.js';
7
7
  import { T as Tab } from './tabs-tab-CzpXzpf-.js';
8
8
  import { transitions } from './primitives/transitions.es.js';
@@ -84,4 +84,4 @@ function CodeBlock({
84
84
  }
85
85
 
86
86
  export { CodeBlock as C };
87
- //# sourceMappingURL=code-block-vvYFcnqm.js.map
87
+ //# sourceMappingURL=code-block-BzUcNWrb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-vvYFcnqm.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-block-BzUcNWrb.js","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AAoCO,SAAS,SAAA,CAAU;AAAA,EACxB,IAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA,GAAW,QAAA;AAAA,EACX,QAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,MAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,UAAA,GAAa,OAAA,IAAW,OAAA,CAAQ,MAAA,GAAS,CAAA;AAC/C,EAAA,MAAM,OAAA,GAAU,cAAc,QAAA,KAAa,MAAA;AAC3C,EAAA,MAAM,SAAA,GAAY,cAAc,QAAA,KAAa,QAAA;AAC7C,EAAA,MAAM,WAAA,GAAc,UAAU,CAAC,CAAA;AAC/B,EAAA,MAAM,WAAA,GAAc,SAAS,WAAA,EAAa,KAAA;AAE1C,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MAGC,SAAA,EAAW,EAAA;AAAA,QACT,0HAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,OAAA,IAAW,WAAA,oBACV,GAAA,CAAC,IAAA,EAAA,EAAK,UAAA,EAAY,WAAA,CAAY,OAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAAe,aAAA,KAAkB,MAAM;AAAA,QAAC,CAAA,CAAA,EAC/F,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,gBAAA,EACb,8BAAC,OAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,IAAI,CAAA,GAAA,qBACX,GAAA,CAAC,OAAoB,KAAA,EAAO,GAAA,CAAI,OAC7B,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADG,IAAI,KAEd,CACD,GACH,CAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+DAA+D,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EACpG,CAAA,EACF,CAAA;AAAA,QAGD,SAAA,IAAa,OAAA,oBACZ,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sDAAA,EACb,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,MAAA,EAAA,EAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAC1B,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,MAAK,IAAA,EAAK,OAAA,EAAQ,SAAQ,SAAA,EAAU,QAAA,EACjD,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,4BACA,GAAA,CAAC,aAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,yBACX,GAAA,CAAC,UAAA,EAAA,EAA2B,KAAA,EAAO,GAAA,CAAI,OACpC,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADU,GAAA,CAAI,KAErB,CACD,CAAA,EACH;AAAA,WAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,UAAA,IAAc,QAAA,oBACd,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,oDAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,YAAA,EAAA,EAAW,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,UAC9E,OAAA,oBAAW,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,cAAc,CAAC,QAAA,IAAY,2BAC3B,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kEAAA,EAAoE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBAG7F,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,IAAA;AAAA,cACA,IAAA;AAAA,cACA,SAAA,EAAW,EAAA;AAAA,gBACT,kDAAA;AAAA,gBACA,QAAA,KAAa,WAAW,gCAAA,GAAmC;AAAA;AAC7D;AAAA,WACF;AAAA,0BACA,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAS,IAAA;AAAA,cACT,WAAA;AAAA,cACA,OAAA,EAAS,WAAA;AAAA,cACT,IAAA,EAAK,IAAA;AAAA,cACL,SAAA,EAAW,EAAA;AAAA,gBACT,kHAAA;AAAA,gBACA,WAAA,CAAY;AAAA;AACd;AAAA;AACF,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const code = require('./code-Dcah35Gp.cjs');
5
5
  const copyButton = require('./copy-button-5tVWqoTk.cjs');
6
6
  const select = require('./select-D5cu0K7R.cjs');
7
- const tabsList = require('./tabs-list-xikY_dug.cjs');
7
+ const tabsList = require('./tabs-list-DwQsMVKI.cjs');
8
8
  const tabsRoot = require('./tabs-root-Phsi-P1b.cjs');
9
9
  const tabsTab = require('./tabs-tab-CqcY4tHE.cjs');
10
10
  const primitives_transitions = require('./primitives/transitions.cjs.js');
@@ -86,4 +86,4 @@ function CodeBlock({
86
86
  }
87
87
 
88
88
  exports.CodeBlock = CodeBlock;
89
- //# sourceMappingURL=code-block-BuGosknt.cjs.map
89
+ //# sourceMappingURL=code-block-CKLCdWtP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-BuGosknt.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":";;;;;;;;;;;;AAoCO,SAAS,SAAA,CAAU;AAAA,QACxBA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA,GAAW,QAAA;AAAA,EACX,QAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA,GAAW,MAAA;AAAA,EACX,WAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,EAAmB;AACjB,EAAA,MAAM,UAAA,GAAa,OAAA,IAAW,OAAA,CAAQ,MAAA,GAAS,CAAA;AAC/C,EAAA,MAAM,OAAA,GAAU,cAAc,QAAA,KAAa,MAAA;AAC3C,EAAA,MAAM,SAAA,GAAY,cAAc,QAAA,KAAa,QAAA;AAC7C,EAAA,MAAM,WAAA,GAAc,UAAU,CAAC,CAAA;AAC/B,EAAA,MAAM,WAAA,GAAc,SAAS,WAAA,EAAa,KAAA;AAE1C,EAAA,uBACEC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MAGC,SAAA,EAAWC,WAAA;AAAA,QACT,0HAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,OAAA,IAAW,WAAA,oBACVC,cAAA,CAACC,aAAA,EAAA,EAAK,UAAA,EAAY,WAAA,CAAY,OAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAAe,aAAA,KAAkB,MAAM;AAAA,QAAC,CAAA,CAAA,EAC/F,QAAA,kBAAAH,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA,CAAC,SAAI,SAAA,EAAU,gBAAA,EACb,yCAACE,gBAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,IAAI,CAAA,GAAA,qBACXF,cAAA,CAACG,eAAoB,KAAA,EAAO,GAAA,CAAI,OAC7B,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADG,IAAI,KAEd,CACD,GACH,CAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAWH,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+DAA+D,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EACpG,CAAA,EACF,CAAA;AAAA,QAGD,SAAA,IAAa,OAAA,oBACZF,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,sDAAA,EACb,QAAA,EAAA;AAAA,0BAAAA,eAAA,CAACM,aAAA,EAAA,EAAO,KAAA,EAAO,WAAA,EAAa,aAAA,EAC1B,QAAA,EAAA;AAAA,4BAAAJ,cAAA,CAACK,oBAAA,EAAA,EAAc,MAAK,IAAA,EAAK,OAAA,EAAQ,SAAQ,SAAA,EAAU,QAAA,EACjD,QAAA,kBAAAL,cAAA,CAACM,kBAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,4BACAN,cAAA,CAACO,oBAAA,EAAA,EACE,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,yBACXP,cAAA,CAACQ,iBAAA,EAAA,EAA2B,KAAA,EAAO,GAAA,CAAI,OACpC,QAAA,EAAA,GAAA,CAAI,KAAA,EAAA,EADU,GAAA,CAAI,KAErB,CACD,CAAA,EACH;AAAA,WAAA,EACF,CAAA;AAAA,UACC,OAAA,oBAAWR,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,UAAA,IAAc,QAAA,oBACdF,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,oDAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA,CAAC,YAAA,EAAA,EAAW,SAAA,EAAU,8CAAA,EAAgD,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,UAC9E,OAAA,oBAAWA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAA6B,QAAA,EAAA,OAAA,EAAQ;AAAA,SAAA,EAClE,CAAA;AAAA,QAGD,CAAC,cAAc,CAAC,QAAA,IAAY,2BAC3BA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kEAAA,EAAoE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,wBAG7FF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,UAAA,EACb,QAAA,EAAA;AAAA,0BAAAE,cAAA;AAAA,YAACS,SAAA;AAAA,YAAA;AAAA,oBACCZ,MAAA;AAAA,cACA,IAAA;AAAA,cACA,SAAA,EAAWE,WAAA;AAAA,gBACT,kDAAA;AAAA,gBACA,QAAA,KAAa,WAAW,gCAAA,GAAmC;AAAA;AAC7D;AAAA,WACF;AAAA,0BACAC,cAAA;AAAA,YAACU,qBAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAASb,MAAA;AAAA,cACT,WAAA;AAAA,cACA,OAAA,EAAS,WAAA;AAAA,cACT,IAAA,EAAK,IAAA;AAAA,cACL,SAAA,EAAWE,WAAA;AAAA,gBACT,kHAAA;AAAA,gBACAY,kCAAA,CAAY;AAAA;AACd;AAAA;AACF,SAAA,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"code-block-CKLCdWtP.cjs","sources":["../src/ds/components/CodeBlock/code-block.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Code } from '../Code/code';\nimport { CopyButton } from '../CopyButton/copy-button';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../Select/select';\nimport { TabList } from '../Tabs/tabs-list';\nimport { Tabs } from '../Tabs/tabs-root';\nimport { Tab } from '../Tabs/tabs-tab';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type CodeBlockSelector = 'select' | 'tabs';\n\nexport type CodeBlockOverflow = 'wrap' | 'scroll';\n\nexport interface CodeBlockOption {\n label: string;\n value: string;\n}\n\nexport interface CodeBlockProps {\n code: string;\n options?: CodeBlockOption[];\n value?: string;\n onValueChange?: (value: string) => void;\n selector?: CodeBlockSelector;\n fileName?: string;\n lang?: string;\n /** `wrap` (default) breaks long lines — best for commands and snippets.\n * `scroll` preserves columns behind a horizontal scroll — best for source code. */\n overflow?: CodeBlockOverflow;\n copyMessage?: string;\n copyTooltip?: string;\n actions?: ReactNode;\n className?: string;\n}\n\nexport function CodeBlock({\n code,\n options,\n value,\n onValueChange,\n selector = 'select',\n fileName,\n lang,\n overflow = 'wrap',\n copyMessage,\n copyTooltip,\n actions,\n className,\n}: CodeBlockProps) {\n const hasOptions = options && options.length > 0;\n const useTabs = hasOptions && selector === 'tabs';\n const useSelect = hasOptions && selector === 'select';\n const firstOption = options?.[0];\n const activeValue = value ?? firstOption?.value;\n\n return (\n <figure\n // A scrolling `pre` still reports its longest line as an intrinsic width, which\n // grows every ancestor; containment keeps the block inside the width it is given.\n className={cn(\n 'group relative flex w-full flex-col overflow-hidden rounded-2xl border border-border bg-background [contain:inline-size]',\n className,\n )}\n >\n {useTabs && firstOption && (\n <Tabs defaultTab={firstOption.value} value={activeValue} onValueChange={onValueChange ?? (() => {})}>\n <div className=\"flex items-stretch\">\n <div className=\"min-w-0 flex-1\">\n <TabList>\n {options.map(opt => (\n <Tab key={opt.value} value={opt.value}>\n {opt.label}\n </Tab>\n ))}\n </TabList>\n </div>\n {actions && <div className=\"flex shrink-0 items-center border-b border-border pr-2 pl-3\">{actions}</div>}\n </div>\n </Tabs>\n )}\n\n {useSelect && options && (\n <div className=\"flex items-center border-b border-border px-2 py-1.5\">\n <Select value={activeValue} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" variant=\"ghost\" className=\"w-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map(opt => (\n <SelectItem key={opt.value} value={opt.value}>\n {opt.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && fileName && (\n <div className=\"flex items-center border-b border-border px-4 py-2\">\n <figcaption className=\"font-mono text-caption text-muted-foreground\">{fileName}</figcaption>\n {actions && <div className=\"ml-auto flex items-center\">{actions}</div>}\n </div>\n )}\n\n {!hasOptions && !fileName && actions && (\n <div className=\"flex items-center justify-end border-b border-border px-2 py-1.5\">{actions}</div>\n )}\n\n <div className=\"relative\">\n <Code\n code={code}\n lang={lang}\n className={cn(\n 'px-4 py-3 font-mono text-caption text-foreground',\n overflow === 'scroll' ? 'overflow-x-auto whitespace-pre' : 'break-all whitespace-pre-wrap',\n )}\n />\n <CopyButton\n content={code}\n copyMessage={copyMessage}\n tooltip={copyTooltip}\n size=\"sm\"\n className={cn(\n 'absolute top-2 right-2 opacity-100 group-focus-within:opacity-100 group-hover:opacity-100 pointer-fine:opacity-0',\n transitions.opacity,\n )}\n />\n </div>\n </figure>\n );\n}\n"],"names":["code","jsxs","cn","jsx","Tabs","TabList","Tab","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Code","CopyButton","transitions"],"mappings":"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"}
@@ -8,7 +8,7 @@ const comboboxStyles = require('./combobox-styles-BJPT0TpQ.cjs');
8
8
  const Button = require('./Button-CAVPKK09.cjs');
9
9
  const fieldControlAria = require('./field-control-aria-WzMGs0A4.cjs');
10
10
  const fieldErrorId = require('./field-error-id-C9XX3U1Z.cjs');
11
- const scrollArea = require('./scroll-area-CVgjRzTS.cjs');
11
+ const scrollArea = require('./scroll-area-BakRKj2k.cjs');
12
12
  const primitives_floating = require('./primitives/floating.cjs.js');
13
13
  const primitives_fluidMenu = require('./primitives/fluid-menu.cjs.js');
14
14
  const primitives_formElement = require('./primitives/form-element.cjs.js');
@@ -91,6 +91,11 @@ function Combobox(props) {
91
91
  if (isMultipleCombobox(props)) props.onValueChange?.([]);
92
92
  };
93
93
  const resolvedContainer = primitives_portalContainer.usePortalContainer(container);
94
+ const { contains } = combobox.Combobox.useFilter();
95
+ const filterOption = React__namespace.useCallback(
96
+ (option, query) => contains(option.label, query) || (option.keywords?.some((keyword) => contains(keyword, query)) ?? false),
97
+ [contains]
98
+ );
94
99
  const menu = primitives_fluidMenu.useFluidMenu();
95
100
  const iconOnly = Button.isIconButtonSize(size);
96
101
  const comboboxContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -180,6 +185,7 @@ function Combobox(props) {
180
185
  multiple: true,
181
186
  autoHighlight: true,
182
187
  items: displayedOptions,
188
+ filter: filterOption,
183
189
  value: selectedOptions,
184
190
  onValueChange: (items) => props.onValueChange?.((items ?? []).map((item) => item.value)),
185
191
  disabled,
@@ -192,6 +198,7 @@ function Combobox(props) {
192
198
  {
193
199
  autoHighlight: true,
194
200
  items: displayedOptions,
201
+ filter: filterOption,
195
202
  value: selectedOption,
196
203
  inputValue,
197
204
  onInputValueChange: (value) => {
@@ -219,4 +226,4 @@ function Combobox(props) {
219
226
  }
220
227
 
221
228
  exports.Combobox = Combobox;
222
- //# sourceMappingURL=combobox-fEMKH9nJ.cjs.map
229
+ //# sourceMappingURL=combobox-CdTP_FZ0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-CdTP_FZ0.cjs","sources":["../src/ds/components/Combobox/combobox.tsx"],"sourcesContent":["import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { Check, ChevronsUpDown, Search, X } from 'lucide-react';\nimport * as React from 'react';\nimport { comboboxItemClass, comboboxStyles, comboboxTriggerClass } from './combobox-styles';\nimport type { ComboboxVariant } from './combobox-styles';\nimport { Button, isIconButtonSize } from '@/ds/components/Button/Button';\nimport type { ButtonSize } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName, useFieldAriaIds } from '@/ds/components/Field/field-control-aria';\nimport { FieldBlock } from '@/ds/components/FormFieldBlocks/block/field-block';\nimport { fieldErrorId } from '@/ds/components/FormFieldBlocks/block/field-error-id';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { deprecatedErrorAria } from '@/ds/primitives/form-element';\nimport { passwordManagerOptOutProps } from '@/ds/primitives/password-manager-autofill';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\nexport type { ComboboxVariant } from './combobox-styles';\n\nexport type ComboboxOption = {\n label: string;\n value: string;\n description?: string;\n displayLabel?: React.ReactNode;\n start?: React.ReactNode;\n end?: React.ReactNode;\n /** Extra terms the search matches besides `label` (aliases, ids, a provider name). Never displayed. */\n keywords?: readonly string[];\n};\n\ntype ComboboxSharedProps = {\n options: ComboboxOption[];\n placeholder?: React.ReactNode;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n variant?: ComboboxVariant;\n /** Icon sizes (`icon-*`) render a chevron-only trigger; pass `aria-label` to name it. */\n size?: ButtonSize;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n container?: HTMLElement | ShadowRoot | null | React.RefObject<HTMLElement | ShadowRoot | null>;\n id?: string;\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n /** Which edge of the trigger the popup lines up with. `end` opens it leftwards (e.g. an icon trigger at the end of a row). */\n align?: 'start' | 'center' | 'end';\n showChevron?: boolean;\n iconOnlyValue?: boolean;\n allowCustomValue?: boolean;\n /** Called with the search input text as it changes (and with `''` after a single-mode selection resets it). */\n onInputValueChange?: (value: string) => void;\n /** @deprecated Wrap the combobox in `<Field invalid>` with a `FieldError`. */\n error?: string;\n /** @deprecated Only keyed the `error` message id; a `Field` links its error without one. */\n name?: string;\n};\n\nexport type ComboboxSingleProps = ComboboxSharedProps & {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport type ComboboxMultipleProps = ComboboxSharedProps & {\n multiple: true;\n value?: readonly string[];\n onValueChange?: (value: string[]) => void;\n clearLabel?: string;\n};\n\nexport type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;\n\nconst EMPTY_VALUES: string[] = [];\nconst EMPTY_OPTIONS: ComboboxOption[] = [];\n\nfunction isMultipleCombobox(props: ComboboxProps): props is ComboboxMultipleProps {\n return props.multiple === true;\n}\n\nconst ComboboxItem = React.forwardRef<HTMLDivElement, BaseCombobox.Item.Props>((props, ref) => (\n <BaseCombobox.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nComboboxItem.displayName = 'ComboboxItem';\n\nfunction ComboboxOptionText({ option }: { option: ComboboxOption }) {\n return (\n <span className={comboboxStyles.optionText}>\n <span className={comboboxStyles.optionLabel}>{option.label}</span>\n {option.description && <span className={comboboxStyles.optionDescription}>{option.description}</span>}\n </span>\n );\n}\n\nexport function Combobox(props: ComboboxProps) {\n const {\n options,\n placeholder = isMultipleCombobox(props) ? 'Select options...' : 'Select option...',\n searchPlaceholder = 'Search...',\n emptyText = 'No option found.',\n className,\n disabled = false,\n variant = 'default',\n size = 'md',\n open,\n onOpenChange,\n container,\n id,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n align = 'start',\n showChevron = true,\n iconOnlyValue = false,\n allowCustomValue = false,\n onInputValueChange,\n error,\n name,\n } = props;\n const multiple = isMultipleCombobox(props);\n const clearLabel = multiple ? props.clearLabel : undefined;\n const field = useFieldAriaIds();\n const generatedName = React.useId();\n const errorName = name ?? generatedName;\n const describedBy =\n [ariaDescribedBy, error ? fieldErrorId(errorName) : undefined].filter(Boolean).join(' ') || undefined;\n const [inputValue, setInputValue] = React.useState('');\n const customValue = inputValue.trim();\n const customOption =\n !multiple && allowCustomValue && customValue && !options.some(option => option.value === customValue)\n ? { label: `Use “${customValue}”`, value: customValue }\n : undefined;\n const displayedOptions = customOption ? [customOption, ...options] : options;\n const selectedValues = multiple ? (props.value ?? EMPTY_VALUES) : EMPTY_VALUES;\n const selectedValueSet = React.useMemo(() => new Set(selectedValues), [selectedValues]);\n const selectedOption = multiple ? null : (options.find(option => option.value === props.value) ?? null);\n const selectedOptions = multiple ? options.filter(option => selectedValueSet.has(option.value)) : EMPTY_OPTIONS;\n const triggerText = selectedOptions.length === 0 ? placeholder : `${selectedOptions.length} selected`;\n const clearSelection = () => {\n if (isMultipleCombobox(props)) props.onValueChange?.([]);\n };\n // Default to the nearest SideDialog/Drawer popup so the list stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const { contains } = BaseCombobox.useFilter();\n // Match the label like Base UI's default filter, plus any keywords the option carries.\n const filterOption = React.useCallback(\n (option: ComboboxOption, query: string) =>\n contains(option.label, query) || (option.keywords?.some(keyword => contains(keyword, query)) ?? false),\n [contains],\n );\n const menu = useFluidMenu<HTMLDivElement>();\n const iconOnly = isIconButtonSize(size);\n\n const comboboxContent = (\n <>\n <BaseCombobox.Trigger\n id={id}\n aria-label={ariaLabel ?? (id || field ? undefined : multiple ? 'Select options' : 'Select option')}\n {...keepOwnAccessibleName({ 'aria-label': ariaLabel })}\n {...deprecatedErrorAria(Boolean(error))}\n aria-describedby={describedBy}\n data-shape={iconOnly ? 'icon' : undefined}\n className={comboboxTriggerClass({\n variant,\n size,\n className: cn(iconOnlyValue && 'w-auto px-2.5', className),\n })}\n >\n {iconOnly ? (\n <span className=\"sr-only\">{multiple ? triggerText : <BaseCombobox.Value placeholder={placeholder} />}</span>\n ) : multiple ? (\n <span className={cn('truncate', selectedOptions.length === 0 && comboboxStyles.placeholder)}>\n {triggerText}\n </span>\n ) : (\n // Keep truncation off the outer wrapper so start adornments are not clipped.\n <span className={cn('flex min-w-0 flex-1 items-center', iconOnlyValue ? 'justify-center' : 'gap-2')}>\n {selectedOption?.start}\n <span className=\"truncate\">\n {selectedOption?.displayLabel ?? <BaseCombobox.Value placeholder={placeholder} />}\n </span>\n </span>\n )}\n {/* Wrap the chevron in a `<span>` so the svg is one level deep and\n escapes Button's `[&>svg]` adornments — mirrors Select's chevron wrap. */}\n {showChevron ? (\n <span className=\"flex shrink-0 items-center\">\n <ChevronsUpDown className={cn(comboboxStyles.chevron, (iconOnly || iconOnlyValue) && 'ml-0')} />\n </span>\n ) : null}\n </BaseCombobox.Trigger>\n\n <BaseCombobox.Portal container={resolvedContainer}>\n <BaseCombobox.Positioner\n align={align}\n sideOffset={4}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <BaseCombobox.Popup className={comboboxStyles.popup}>\n <div className={comboboxStyles.searchContainer}>\n <Search className={comboboxStyles.searchIcon} />\n <BaseCombobox.Input\n className={comboboxStyles.searchInput}\n placeholder={searchPlaceholder}\n {...passwordManagerOptOutProps}\n />\n </div>\n <BaseCombobox.Empty className={comboboxStyles.empty}>{emptyText}</BaseCombobox.Empty>\n <ScrollArea maxHeight=\"var(--spacing-dropdown)\">\n <ScrollAreaViewport className=\"scroll-py-8\">\n <div className={menu.containerClassName} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>\n <BaseCombobox.List className={comboboxStyles.list}>\n {(option: ComboboxOption) => {\n const isSelected = selectedValueSet.has(option.value);\n\n return (\n <ComboboxItem key={option.value} value={option} className={comboboxItemClass({ multiple })}>\n {multiple ? (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? <Check className={comboboxStyles.checkIcon} /> : null}\n </span>\n </span>\n </>\n ) : (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n <BaseCombobox.ItemIndicator>\n <Check className={comboboxStyles.checkIcon} />\n </BaseCombobox.ItemIndicator>\n </span>\n </span>\n </>\n )}\n </ComboboxItem>\n );\n }}\n </BaseCombobox.List>\n </FluidMenuItems>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n {selectedValues.length > 0 && clearLabel ? (\n <div className={cn('border-t', 'border-border', 'p-1')}>\n <Button\n type=\"button\"\n variant=\"destructive-ghost\"\n size=\"sm\"\n className=\"w-full justify-start\"\n onClick={clearSelection}\n icon={<X />}\n >\n {clearLabel}\n </Button>\n </div>\n ) : null}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n </>\n );\n\n const root = multiple ? (\n <BaseCombobox.Root\n multiple\n autoHighlight\n items={displayedOptions}\n filter={filterOption}\n value={selectedOptions}\n onValueChange={items => props.onValueChange?.((items ?? []).map(item => item.value))}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n ) : (\n <BaseCombobox.Root\n autoHighlight\n items={displayedOptions}\n filter={filterOption}\n value={selectedOption}\n inputValue={inputValue}\n onInputValueChange={value => {\n setInputValue(value);\n onInputValueChange?.(value);\n }}\n onValueChange={item => {\n if (item) {\n props.onValueChange?.(item.value);\n setInputValue('');\n onInputValueChange?.('');\n }\n }}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n );\n\n if (!error) return root;\n\n return (\n <div className={comboboxStyles.root}>\n {root}\n <FieldBlock.ErrorMsg name={errorName}>{error}</FieldBlock.ErrorMsg>\n </div>\n );\n}\n"],"names":["React","jsx","BaseCombobox","useFluidMenuItemRef","jsxs","comboboxStyles","useFieldAriaIds","fieldErrorId","usePortalContainer","useFluidMenu","isIconButtonSize","Fragment","keepOwnAccessibleName","deprecatedErrorAria","comboboxTriggerClass","cn","ChevronsUpDown","FLOATING_POSITION_METHOD","Search","passwordManagerOptOutProps","ScrollArea","ScrollAreaViewport","FluidMenuItems","comboboxItemClass","Check","Button","X","FieldBlock"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { c as comboboxStyles, a as comboboxTriggerClass, b as comboboxItemClass
6
6
  import { i as isIconButtonSize, B as Button } from './Button-60jVnaHt.js';
7
7
  import { a as useFieldAriaIds, k as keepOwnAccessibleName } from './field-control-aria-DB6y41tQ.js';
8
8
  import { F as FieldBlock, f as fieldErrorId } from './field-error-id-DfeSUVzh.js';
9
- import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-BywIlj3F.js';
9
+ import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-D6gKFavi.js';
10
10
  import { FLOATING_POSITION_METHOD } from './primitives/floating.es.js';
11
11
  import { useFluidMenu, FluidMenuItems, useFluidMenuItemRef } from './primitives/fluid-menu.es.js';
12
12
  import { deprecatedErrorAria } from './primitives/form-element.es.js';
@@ -70,6 +70,11 @@ function Combobox(props) {
70
70
  if (isMultipleCombobox(props)) props.onValueChange?.([]);
71
71
  };
72
72
  const resolvedContainer = usePortalContainer(container);
73
+ const { contains } = Combobox$1.useFilter();
74
+ const filterOption = React.useCallback(
75
+ (option, query) => contains(option.label, query) || (option.keywords?.some((keyword) => contains(keyword, query)) ?? false),
76
+ [contains]
77
+ );
73
78
  const menu = useFluidMenu();
74
79
  const iconOnly = isIconButtonSize(size);
75
80
  const comboboxContent = /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -159,6 +164,7 @@ function Combobox(props) {
159
164
  multiple: true,
160
165
  autoHighlight: true,
161
166
  items: displayedOptions,
167
+ filter: filterOption,
162
168
  value: selectedOptions,
163
169
  onValueChange: (items) => props.onValueChange?.((items ?? []).map((item) => item.value)),
164
170
  disabled,
@@ -171,6 +177,7 @@ function Combobox(props) {
171
177
  {
172
178
  autoHighlight: true,
173
179
  items: displayedOptions,
180
+ filter: filterOption,
174
181
  value: selectedOption,
175
182
  inputValue,
176
183
  onInputValueChange: (value) => {
@@ -198,4 +205,4 @@ function Combobox(props) {
198
205
  }
199
206
 
200
207
  export { Combobox as C };
201
- //# sourceMappingURL=combobox-so2V71F7.js.map
208
+ //# sourceMappingURL=combobox-CeYDCkXk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-CeYDCkXk.js","sources":["../src/ds/components/Combobox/combobox.tsx"],"sourcesContent":["import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { Check, ChevronsUpDown, Search, X } from 'lucide-react';\nimport * as React from 'react';\nimport { comboboxItemClass, comboboxStyles, comboboxTriggerClass } from './combobox-styles';\nimport type { ComboboxVariant } from './combobox-styles';\nimport { Button, isIconButtonSize } from '@/ds/components/Button/Button';\nimport type { ButtonSize } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName, useFieldAriaIds } from '@/ds/components/Field/field-control-aria';\nimport { FieldBlock } from '@/ds/components/FormFieldBlocks/block/field-block';\nimport { fieldErrorId } from '@/ds/components/FormFieldBlocks/block/field-error-id';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { deprecatedErrorAria } from '@/ds/primitives/form-element';\nimport { passwordManagerOptOutProps } from '@/ds/primitives/password-manager-autofill';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\nexport type { ComboboxVariant } from './combobox-styles';\n\nexport type ComboboxOption = {\n label: string;\n value: string;\n description?: string;\n displayLabel?: React.ReactNode;\n start?: React.ReactNode;\n end?: React.ReactNode;\n /** Extra terms the search matches besides `label` (aliases, ids, a provider name). Never displayed. */\n keywords?: readonly string[];\n};\n\ntype ComboboxSharedProps = {\n options: ComboboxOption[];\n placeholder?: React.ReactNode;\n searchPlaceholder?: string;\n emptyText?: string;\n className?: string;\n disabled?: boolean;\n variant?: ComboboxVariant;\n /** Icon sizes (`icon-*`) render a chevron-only trigger; pass `aria-label` to name it. */\n size?: ButtonSize;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n container?: HTMLElement | ShadowRoot | null | React.RefObject<HTMLElement | ShadowRoot | null>;\n id?: string;\n 'aria-label'?: string;\n 'aria-describedby'?: string;\n /** Which edge of the trigger the popup lines up with. `end` opens it leftwards (e.g. an icon trigger at the end of a row). */\n align?: 'start' | 'center' | 'end';\n showChevron?: boolean;\n iconOnlyValue?: boolean;\n allowCustomValue?: boolean;\n /** Called with the search input text as it changes (and with `''` after a single-mode selection resets it). */\n onInputValueChange?: (value: string) => void;\n /** @deprecated Wrap the combobox in `<Field invalid>` with a `FieldError`. */\n error?: string;\n /** @deprecated Only keyed the `error` message id; a `Field` links its error without one. */\n name?: string;\n};\n\nexport type ComboboxSingleProps = ComboboxSharedProps & {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport type ComboboxMultipleProps = ComboboxSharedProps & {\n multiple: true;\n value?: readonly string[];\n onValueChange?: (value: string[]) => void;\n clearLabel?: string;\n};\n\nexport type ComboboxProps = ComboboxSingleProps | ComboboxMultipleProps;\n\nconst EMPTY_VALUES: string[] = [];\nconst EMPTY_OPTIONS: ComboboxOption[] = [];\n\nfunction isMultipleCombobox(props: ComboboxProps): props is ComboboxMultipleProps {\n return props.multiple === true;\n}\n\nconst ComboboxItem = React.forwardRef<HTMLDivElement, BaseCombobox.Item.Props>((props, ref) => (\n <BaseCombobox.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nComboboxItem.displayName = 'ComboboxItem';\n\nfunction ComboboxOptionText({ option }: { option: ComboboxOption }) {\n return (\n <span className={comboboxStyles.optionText}>\n <span className={comboboxStyles.optionLabel}>{option.label}</span>\n {option.description && <span className={comboboxStyles.optionDescription}>{option.description}</span>}\n </span>\n );\n}\n\nexport function Combobox(props: ComboboxProps) {\n const {\n options,\n placeholder = isMultipleCombobox(props) ? 'Select options...' : 'Select option...',\n searchPlaceholder = 'Search...',\n emptyText = 'No option found.',\n className,\n disabled = false,\n variant = 'default',\n size = 'md',\n open,\n onOpenChange,\n container,\n id,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n align = 'start',\n showChevron = true,\n iconOnlyValue = false,\n allowCustomValue = false,\n onInputValueChange,\n error,\n name,\n } = props;\n const multiple = isMultipleCombobox(props);\n const clearLabel = multiple ? props.clearLabel : undefined;\n const field = useFieldAriaIds();\n const generatedName = React.useId();\n const errorName = name ?? generatedName;\n const describedBy =\n [ariaDescribedBy, error ? fieldErrorId(errorName) : undefined].filter(Boolean).join(' ') || undefined;\n const [inputValue, setInputValue] = React.useState('');\n const customValue = inputValue.trim();\n const customOption =\n !multiple && allowCustomValue && customValue && !options.some(option => option.value === customValue)\n ? { label: `Use “${customValue}”`, value: customValue }\n : undefined;\n const displayedOptions = customOption ? [customOption, ...options] : options;\n const selectedValues = multiple ? (props.value ?? EMPTY_VALUES) : EMPTY_VALUES;\n const selectedValueSet = React.useMemo(() => new Set(selectedValues), [selectedValues]);\n const selectedOption = multiple ? null : (options.find(option => option.value === props.value) ?? null);\n const selectedOptions = multiple ? options.filter(option => selectedValueSet.has(option.value)) : EMPTY_OPTIONS;\n const triggerText = selectedOptions.length === 0 ? placeholder : `${selectedOptions.length} selected`;\n const clearSelection = () => {\n if (isMultipleCombobox(props)) props.onValueChange?.([]);\n };\n // Default to the nearest SideDialog/Drawer popup so the list stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const { contains } = BaseCombobox.useFilter();\n // Match the label like Base UI's default filter, plus any keywords the option carries.\n const filterOption = React.useCallback(\n (option: ComboboxOption, query: string) =>\n contains(option.label, query) || (option.keywords?.some(keyword => contains(keyword, query)) ?? false),\n [contains],\n );\n const menu = useFluidMenu<HTMLDivElement>();\n const iconOnly = isIconButtonSize(size);\n\n const comboboxContent = (\n <>\n <BaseCombobox.Trigger\n id={id}\n aria-label={ariaLabel ?? (id || field ? undefined : multiple ? 'Select options' : 'Select option')}\n {...keepOwnAccessibleName({ 'aria-label': ariaLabel })}\n {...deprecatedErrorAria(Boolean(error))}\n aria-describedby={describedBy}\n data-shape={iconOnly ? 'icon' : undefined}\n className={comboboxTriggerClass({\n variant,\n size,\n className: cn(iconOnlyValue && 'w-auto px-2.5', className),\n })}\n >\n {iconOnly ? (\n <span className=\"sr-only\">{multiple ? triggerText : <BaseCombobox.Value placeholder={placeholder} />}</span>\n ) : multiple ? (\n <span className={cn('truncate', selectedOptions.length === 0 && comboboxStyles.placeholder)}>\n {triggerText}\n </span>\n ) : (\n // Keep truncation off the outer wrapper so start adornments are not clipped.\n <span className={cn('flex min-w-0 flex-1 items-center', iconOnlyValue ? 'justify-center' : 'gap-2')}>\n {selectedOption?.start}\n <span className=\"truncate\">\n {selectedOption?.displayLabel ?? <BaseCombobox.Value placeholder={placeholder} />}\n </span>\n </span>\n )}\n {/* Wrap the chevron in a `<span>` so the svg is one level deep and\n escapes Button's `[&>svg]` adornments — mirrors Select's chevron wrap. */}\n {showChevron ? (\n <span className=\"flex shrink-0 items-center\">\n <ChevronsUpDown className={cn(comboboxStyles.chevron, (iconOnly || iconOnlyValue) && 'ml-0')} />\n </span>\n ) : null}\n </BaseCombobox.Trigger>\n\n <BaseCombobox.Portal container={resolvedContainer}>\n <BaseCombobox.Positioner\n align={align}\n sideOffset={4}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <BaseCombobox.Popup className={comboboxStyles.popup}>\n <div className={comboboxStyles.searchContainer}>\n <Search className={comboboxStyles.searchIcon} />\n <BaseCombobox.Input\n className={comboboxStyles.searchInput}\n placeholder={searchPlaceholder}\n {...passwordManagerOptOutProps}\n />\n </div>\n <BaseCombobox.Empty className={comboboxStyles.empty}>{emptyText}</BaseCombobox.Empty>\n <ScrollArea maxHeight=\"var(--spacing-dropdown)\">\n <ScrollAreaViewport className=\"scroll-py-8\">\n <div className={menu.containerClassName} {...menu.getContainerProps({})}>\n <FluidMenuItems menu={menu}>\n <BaseCombobox.List className={comboboxStyles.list}>\n {(option: ComboboxOption) => {\n const isSelected = selectedValueSet.has(option.value);\n\n return (\n <ComboboxItem key={option.value} value={option} className={comboboxItemClass({ multiple })}>\n {multiple ? (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? <Check className={comboboxStyles.checkIcon} /> : null}\n </span>\n </span>\n </>\n ) : (\n <>\n {option.start}\n <ComboboxOptionText option={option} />\n <span className={comboboxStyles.itemRightSlot}>\n {option.end ? <div className={comboboxStyles.optionEnd}>{option.end}</div> : null}\n <span className={comboboxStyles.checkContainer}>\n <BaseCombobox.ItemIndicator>\n <Check className={comboboxStyles.checkIcon} />\n </BaseCombobox.ItemIndicator>\n </span>\n </span>\n </>\n )}\n </ComboboxItem>\n );\n }}\n </BaseCombobox.List>\n </FluidMenuItems>\n </div>\n </ScrollAreaViewport>\n </ScrollArea>\n {selectedValues.length > 0 && clearLabel ? (\n <div className={cn('border-t', 'border-border', 'p-1')}>\n <Button\n type=\"button\"\n variant=\"destructive-ghost\"\n size=\"sm\"\n className=\"w-full justify-start\"\n onClick={clearSelection}\n icon={<X />}\n >\n {clearLabel}\n </Button>\n </div>\n ) : null}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n </>\n );\n\n const root = multiple ? (\n <BaseCombobox.Root\n multiple\n autoHighlight\n items={displayedOptions}\n filter={filterOption}\n value={selectedOptions}\n onValueChange={items => props.onValueChange?.((items ?? []).map(item => item.value))}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n ) : (\n <BaseCombobox.Root\n autoHighlight\n items={displayedOptions}\n filter={filterOption}\n value={selectedOption}\n inputValue={inputValue}\n onInputValueChange={value => {\n setInputValue(value);\n onInputValueChange?.(value);\n }}\n onValueChange={item => {\n if (item) {\n props.onValueChange?.(item.value);\n setInputValue('');\n onInputValueChange?.('');\n }\n }}\n disabled={disabled}\n open={open}\n onOpenChange={onOpenChange}\n >\n {comboboxContent}\n </BaseCombobox.Root>\n );\n\n if (!error) return root;\n\n return (\n <div className={comboboxStyles.root}>\n {root}\n <FieldBlock.ErrorMsg name={errorName}>{error}</FieldBlock.ErrorMsg>\n </div>\n );\n}\n"],"names":["BaseCombobox"],"mappings":"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"}
@@ -4,8 +4,8 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const cmdk = require('cmdk');
5
5
  const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
- const dialog = require('./dialog-B5nLi0ER.cjs');
8
- const scrollArea = require('./scroll-area-CVgjRzTS.cjs');
7
+ const dialog = require('./dialog-BAlSUqcF.cjs');
8
+ const scrollArea = require('./scroll-area-BakRKj2k.cjs');
9
9
  const Txt = require('./Txt-DXjXpX9r.cjs');
10
10
  const primitives_fluidMenu = require('./primitives/fluid-menu.cjs.js');
11
11
  const primitives_passwordManagerAutofill = require('./primitives/password-manager-autofill.cjs.js');
@@ -263,4 +263,4 @@ exports.CommandItem = CommandItem;
263
263
  exports.CommandList = CommandList;
264
264
  exports.CommandSeparator = CommandSeparator;
265
265
  exports.CommandShortcut = CommandShortcut;
266
- //# sourceMappingURL=command-B_C36ppQ.cjs.map
266
+ //# sourceMappingURL=command-CSl9Mfrp.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-B_C36ppQ.cjs","sources":["../src/ds/components/Command/command.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/ds/components/Dialog';\nimport type { DialogSize } from '@/ds/components/Dialog';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport type { ScrollAreaMask } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { passwordManagerOptOutProps } from '@/ds/primitives/password-manager-autofill';\nimport { heightTransition, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogVariant = 'default' | 'inset';\n\nconst commandDialogContentClasses: Record<CommandDialogVariant, string> = {\n default: 'overflow-hidden py-0',\n inset: 'overflow-hidden sm:top-1/4 sm:translate-y-0 rounded-[calc(var(--radius-xl)+--spacing(1))] bg-muted p-1',\n};\n\nconst commandDialogCommandClasses: Record<CommandDialogVariant, string> = {\n default: cn(\n '[&_[data-slot=command-input-wrapper]_svg]:size-5',\n '**:[[cmdk-input]]:h-12',\n '[&_[cmdk-item]_svg]:size-5',\n ),\n inset: cn(\n 'gap-1',\n '[&_[data-slot=command-input-wrapper]_svg]:size-icon-md',\n '**:[[cmdk-input]]:h-11 **:[[cmdk-input]]:text-label',\n '[&_[cmdk-item]_svg]:size-icon-sm',\n '**:[[cmdk-empty]]:px-4 **:[[cmdk-empty]]:pt-3 **:[[cmdk-empty]]:pb-1 **:[[cmdk-empty]]:text-left **:[[cmdk-empty]]:text-caption',\n ),\n};\n\nconst commandDialogHeadingCase: Record<CommandDialogVariant, 'upper' | 'sentence'> = {\n default: 'upper',\n inset: 'sentence',\n};\n\nconst CommandDialogVariantContext = React.createContext<CommandDialogVariant>('default');\n\nconst CommandDialogBody = ({\n variant,\n footer,\n children,\n}: {\n variant: CommandDialogVariant;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n}) => {\n if (variant === 'default') return children;\n\n return (\n <>\n <div\n data-slot=\"command-dialog-panel\"\n className=\"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl bg-background\"\n >\n {children}\n </div>\n {footer && (\n <div data-slot=\"command-dialog-footer\" className=\"flex items-center justify-between gap-3 pr-1\">\n {footer}\n </div>\n )}\n </>\n );\n};\n\ntype CommandDialogBaseProps = Omit<React.ComponentPropsWithoutRef<typeof Dialog>, 'children'> & {\n children?: React.ReactNode;\n title?: string;\n description?: string;\n size?: DialogSize;\n contentClassName?: string;\n commandClassName?: string;\n commandLabel?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\ntype CommandDialogProps = CommandDialogBaseProps &\n ({ variant?: 'default'; footer?: never } | { variant: 'inset'; footer?: React.ReactNode });\n\nconst CommandDialog = ({\n children,\n variant = 'default',\n footer,\n title = 'Command Palette',\n description = 'Search for commands and actions',\n size,\n contentClassName,\n commandClassName,\n commandLabel,\n showOverlay = false,\n overlayClassName,\n ...props\n}: CommandDialogProps) => {\n const filter = React.useCallback((value: string, search: string) => {\n const normalizedValue = value.toLowerCase();\n const normalizedSearch = search.toLowerCase();\n const searchTerms = normalizedSearch.split(/\\s+/).filter(Boolean);\n\n const matches = searchTerms.every(term => normalizedValue.includes(term));\n return matches ? 1 : 0;\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') return;\n\n e.stopPropagation();\n }, []);\n\n return (\n <Dialog {...props}>\n <DialogContent\n size={size}\n showOverlay={showOverlay}\n showCloseButton={variant !== 'inset'}\n overlayClassName={overlayClassName}\n className={cn(commandDialogContentClasses[variant], contentClassName)}\n >\n <DialogTitle className=\"sr-only\">{title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{description}</DialogDescription>\n <Command\n label={commandLabel}\n loop\n filter={filter}\n onKeyDown={handleKeyDown}\n data-heading-case={commandDialogHeadingCase[variant]}\n className={cn(\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:text-column **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2',\n '**:[[cmdk-item]]:p-2',\n commandDialogCommandClasses[variant],\n commandClassName,\n )}\n >\n <CommandDialogVariantContext.Provider value={variant}>\n <CommandDialogBody variant={variant} footer={footer}>\n {children}\n </CommandDialogBody>\n </CommandDialogVariantContext.Provider>\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\n rightSlot?: React.ReactNode;\n wrapperClassName?: string;\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\n ({ className, rightSlot, wrapperClassName, ...props }, ref) => (\n <div\n data-slot=\"command-input-wrapper\"\n className={cn('flex items-center border-b border-border px-3', transitions.colors, wrapperClassName)}\n >\n <Search className={cn('mr-2 size-4 shrink-0 text-muted-foreground', transitions.colors)} />\n {/* cmdk renders autocomplete=\"off\" itself; a command search is never a credential field. */}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-8 min-w-0 flex-1 rounded-md bg-transparent py-2 text-body-sm text-foreground',\n 'placeholder:text-placeholder disabled:cursor-not-allowed disabled:opacity-50',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n className,\n )}\n {...props}\n {...passwordManagerOptOutProps}\n />\n {rightSlot && (\n <div data-slot=\"command-input-right-slot\" className=\"ml-2 flex shrink-0 items-center text-muted-foreground\">\n {rightSlot}\n </div>\n )}\n </div>\n ),\n);\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\ntype CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\n scrollArea?: boolean;\n scrollAreaClassName?: string;\n scrollAreaViewportClassName?: string;\n scrollAreaMask?: ScrollAreaMask;\n /** Extra classes for the travelling hover surface (e.g. a different radius). */\n highlightClassName?: string;\n};\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, CommandListProps>(\n (\n {\n className,\n children,\n scrollArea = false,\n scrollAreaClassName,\n scrollAreaViewportClassName,\n scrollAreaMask,\n highlightClassName,\n ...props\n },\n ref,\n ) => {\n const menu = useFluidMenu<HTMLDivElement>({ activeAttr: 'data-selected' });\n const animateHeight = React.useContext(CommandDialogVariantContext) === 'inset';\n const list = (\n <CommandPrimitive.List\n className={cn(\n 'outline-none focus:outline-none focus-visible:outline-none',\n scrollArea ? 'overflow-visible' : 'max-h-dropdown overflow-x-hidden overflow-y-auto',\n animateHeight && cn('h-(--cmdk-list-height)', heightTransition),\n menu.containerClassName,\n className,\n )}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={highlightClassName}>\n {children}\n </FluidMenuItems>\n </CommandPrimitive.List>\n );\n\n if (!scrollArea) return list;\n\n return (\n <ScrollArea className={cn('min-h-0', scrollAreaClassName)} mask={scrollAreaMask}>\n <ScrollAreaViewport className={scrollAreaViewportClassName}>{list}</ScrollAreaViewport>\n </ScrollArea>\n );\n },\n);\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-body-sm text-muted-foreground\" {...props} />\n));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-muted-foreground',\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:pt-1.5 **:[[cmdk-group-heading]]:pb-1 **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group-heading]]:text-meta [&_[cmdk-group-heading]]:uppercase',\n 'in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:tracking-normal in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:normal-case',\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n className={cn(\n 'relative flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 text-body-sm text-muted-foreground select-none',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n 'data-[selected=true]:text-foreground',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n '[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground',\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n className={cn('ml-auto tracking-wider tabular-nums', className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["React","jsx","CommandPrimitive","cn","jsxs","Fragment","Dialog","DialogContent","DialogTitle","DialogDescription","transitions","Search","passwordManagerOptOutProps","scrollArea","useFluidMenu","heightTransition","FluidMenuItems","ScrollArea","ScrollAreaViewport","useFluidMenuItemRef","Txt"],"mappings":"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"}
1
+ {"version":3,"file":"command-CSl9Mfrp.cjs","sources":["../src/ds/components/Command/command.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/ds/components/Dialog';\nimport type { DialogSize } from '@/ds/components/Dialog';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport type { ScrollAreaMask } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { passwordManagerOptOutProps } from '@/ds/primitives/password-manager-autofill';\nimport { heightTransition, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogVariant = 'default' | 'inset';\n\nconst commandDialogContentClasses: Record<CommandDialogVariant, string> = {\n default: 'overflow-hidden py-0',\n inset: 'overflow-hidden sm:top-1/4 sm:translate-y-0 rounded-[calc(var(--radius-xl)+--spacing(1))] bg-muted p-1',\n};\n\nconst commandDialogCommandClasses: Record<CommandDialogVariant, string> = {\n default: cn(\n '[&_[data-slot=command-input-wrapper]_svg]:size-5',\n '**:[[cmdk-input]]:h-12',\n '[&_[cmdk-item]_svg]:size-5',\n ),\n inset: cn(\n 'gap-1',\n '[&_[data-slot=command-input-wrapper]_svg]:size-icon-md',\n '**:[[cmdk-input]]:h-11 **:[[cmdk-input]]:text-label',\n '[&_[cmdk-item]_svg]:size-icon-sm',\n '**:[[cmdk-empty]]:px-4 **:[[cmdk-empty]]:pt-3 **:[[cmdk-empty]]:pb-1 **:[[cmdk-empty]]:text-left **:[[cmdk-empty]]:text-caption',\n ),\n};\n\nconst commandDialogHeadingCase: Record<CommandDialogVariant, 'upper' | 'sentence'> = {\n default: 'upper',\n inset: 'sentence',\n};\n\nconst CommandDialogVariantContext = React.createContext<CommandDialogVariant>('default');\n\nconst CommandDialogBody = ({\n variant,\n footer,\n children,\n}: {\n variant: CommandDialogVariant;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n}) => {\n if (variant === 'default') return children;\n\n return (\n <>\n <div\n data-slot=\"command-dialog-panel\"\n className=\"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl bg-background\"\n >\n {children}\n </div>\n {footer && (\n <div data-slot=\"command-dialog-footer\" className=\"flex items-center justify-between gap-3 pr-1\">\n {footer}\n </div>\n )}\n </>\n );\n};\n\ntype CommandDialogBaseProps = Omit<React.ComponentPropsWithoutRef<typeof Dialog>, 'children'> & {\n children?: React.ReactNode;\n title?: string;\n description?: string;\n size?: DialogSize;\n contentClassName?: string;\n commandClassName?: string;\n commandLabel?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\ntype CommandDialogProps = CommandDialogBaseProps &\n ({ variant?: 'default'; footer?: never } | { variant: 'inset'; footer?: React.ReactNode });\n\nconst CommandDialog = ({\n children,\n variant = 'default',\n footer,\n title = 'Command Palette',\n description = 'Search for commands and actions',\n size,\n contentClassName,\n commandClassName,\n commandLabel,\n showOverlay = false,\n overlayClassName,\n ...props\n}: CommandDialogProps) => {\n const filter = React.useCallback((value: string, search: string) => {\n const normalizedValue = value.toLowerCase();\n const normalizedSearch = search.toLowerCase();\n const searchTerms = normalizedSearch.split(/\\s+/).filter(Boolean);\n\n const matches = searchTerms.every(term => normalizedValue.includes(term));\n return matches ? 1 : 0;\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') return;\n\n e.stopPropagation();\n }, []);\n\n return (\n <Dialog {...props}>\n <DialogContent\n size={size}\n showOverlay={showOverlay}\n showCloseButton={variant !== 'inset'}\n overlayClassName={overlayClassName}\n className={cn(commandDialogContentClasses[variant], contentClassName)}\n >\n <DialogTitle className=\"sr-only\">{title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{description}</DialogDescription>\n <Command\n label={commandLabel}\n loop\n filter={filter}\n onKeyDown={handleKeyDown}\n data-heading-case={commandDialogHeadingCase[variant]}\n className={cn(\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:text-column **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2',\n '**:[[cmdk-item]]:p-2',\n commandDialogCommandClasses[variant],\n commandClassName,\n )}\n >\n <CommandDialogVariantContext.Provider value={variant}>\n <CommandDialogBody variant={variant} footer={footer}>\n {children}\n </CommandDialogBody>\n </CommandDialogVariantContext.Provider>\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\n rightSlot?: React.ReactNode;\n wrapperClassName?: string;\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\n ({ className, rightSlot, wrapperClassName, ...props }, ref) => (\n <div\n data-slot=\"command-input-wrapper\"\n className={cn('flex items-center border-b border-border px-3', transitions.colors, wrapperClassName)}\n >\n <Search className={cn('mr-2 size-4 shrink-0 text-muted-foreground', transitions.colors)} />\n {/* cmdk renders autocomplete=\"off\" itself; a command search is never a credential field. */}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-8 min-w-0 flex-1 rounded-md bg-transparent py-2 text-body-sm text-foreground',\n 'placeholder:text-placeholder disabled:cursor-not-allowed disabled:opacity-50',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n className,\n )}\n {...props}\n {...passwordManagerOptOutProps}\n />\n {rightSlot && (\n <div data-slot=\"command-input-right-slot\" className=\"ml-2 flex shrink-0 items-center text-muted-foreground\">\n {rightSlot}\n </div>\n )}\n </div>\n ),\n);\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\ntype CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\n scrollArea?: boolean;\n scrollAreaClassName?: string;\n scrollAreaViewportClassName?: string;\n scrollAreaMask?: ScrollAreaMask;\n /** Extra classes for the travelling hover surface (e.g. a different radius). */\n highlightClassName?: string;\n};\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, CommandListProps>(\n (\n {\n className,\n children,\n scrollArea = false,\n scrollAreaClassName,\n scrollAreaViewportClassName,\n scrollAreaMask,\n highlightClassName,\n ...props\n },\n ref,\n ) => {\n const menu = useFluidMenu<HTMLDivElement>({ activeAttr: 'data-selected' });\n const animateHeight = React.useContext(CommandDialogVariantContext) === 'inset';\n const list = (\n <CommandPrimitive.List\n className={cn(\n 'outline-none focus:outline-none focus-visible:outline-none',\n scrollArea ? 'overflow-visible' : 'max-h-dropdown overflow-x-hidden overflow-y-auto',\n animateHeight && cn('h-(--cmdk-list-height)', heightTransition),\n menu.containerClassName,\n className,\n )}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={highlightClassName}>\n {children}\n </FluidMenuItems>\n </CommandPrimitive.List>\n );\n\n if (!scrollArea) return list;\n\n return (\n <ScrollArea className={cn('min-h-0', scrollAreaClassName)} mask={scrollAreaMask}>\n <ScrollAreaViewport className={scrollAreaViewportClassName}>{list}</ScrollAreaViewport>\n </ScrollArea>\n );\n },\n);\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-body-sm text-muted-foreground\" {...props} />\n));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-muted-foreground',\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:pt-1.5 **:[[cmdk-group-heading]]:pb-1 **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group-heading]]:text-meta [&_[cmdk-group-heading]]:uppercase',\n 'in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:tracking-normal in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:normal-case',\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n className={cn(\n 'relative flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 text-body-sm text-muted-foreground select-none',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n 'data-[selected=true]:text-foreground',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n '[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground',\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n className={cn('ml-auto tracking-wider tabular-nums', className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["React","jsx","CommandPrimitive","cn","jsxs","Fragment","Dialog","DialogContent","DialogTitle","DialogDescription","transitions","Search","passwordManagerOptOutProps","scrollArea","useFluidMenu","heightTransition","FluidMenuItems","ScrollArea","ScrollAreaViewport","useFluidMenuItemRef","Txt"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { Command as Command$1 } from 'cmdk';
3
3
  import { Search } from 'lucide-react';
4
4
  import * as React from 'react';
5
- import { D as Dialog, d as DialogContent, j as DialogTitle, e as DialogDescription } from './dialog-Jz2ZfO-z.js';
6
- import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-BywIlj3F.js';
5
+ import { D as Dialog, d as DialogContent, j as DialogTitle, e as DialogDescription } from './dialog-CboDo8Pj.js';
6
+ import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-D6gKFavi.js';
7
7
  import { T as Txt } from './Txt-BuzYj7Vy.js';
8
8
  import { useFluidMenuItemRef, useFluidMenu, FluidMenuItems } from './primitives/fluid-menu.es.js';
9
9
  import { passwordManagerOptOutProps } from './primitives/password-manager-autofill.es.js';
@@ -234,4 +234,4 @@ const CommandShortcut = ({ className, ...props }) => {
234
234
  CommandShortcut.displayName = "CommandShortcut";
235
235
 
236
236
  export { Command as C, CommandDialog as a, CommandEmpty as b, CommandGroup as c, CommandInput as d, CommandItem as e, CommandList as f, CommandSeparator as g, CommandShortcut as h };
237
- //# sourceMappingURL=command-DMqzDhzs.js.map
237
+ //# sourceMappingURL=command-DQAGSkdK.js.map