@devalok/shilp-sutra 0.34.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/LICENSE +21 -21
  2. package/dist/_chunks/badge-group.js +306 -246
  3. package/dist/_chunks/badge-group.js.map +1 -0
  4. package/dist/_chunks/chat.js +518 -0
  5. package/dist/_chunks/chat.js.map +1 -0
  6. package/dist/_chunks/date-picker.js +748 -0
  7. package/dist/_chunks/date-picker.js.map +1 -0
  8. package/dist/_chunks/document-preview.js +109 -90
  9. package/dist/_chunks/document-preview.js.map +1 -0
  10. package/dist/_chunks/file-preview.js +492 -504
  11. package/dist/_chunks/file-preview.js.map +1 -0
  12. package/dist/_chunks/framer.js +5564 -5613
  13. package/dist/_chunks/framer.js.map +1 -0
  14. package/dist/_chunks/image-preview.js +127 -88
  15. package/dist/_chunks/image-preview.js.map +1 -0
  16. package/dist/_chunks/keybinding.js +12 -14
  17. package/dist/_chunks/keybinding.js.map +1 -0
  18. package/dist/_chunks/link-context.js +19 -16
  19. package/dist/_chunks/link-context.js.map +1 -0
  20. package/dist/_chunks/mention-suggestion.js +353 -350
  21. package/dist/_chunks/mention-suggestion.js.map +1 -0
  22. package/dist/_chunks/motion-provider.js +26 -20
  23. package/dist/_chunks/motion-provider.js.map +1 -0
  24. package/dist/_chunks/popover.js +123 -0
  25. package/dist/_chunks/popover.js.map +1 -0
  26. package/dist/_chunks/primitives.js +7585 -6426
  27. package/dist/_chunks/primitives.js.map +1 -0
  28. package/dist/_chunks/rich-chat-input.js +2071 -0
  29. package/dist/_chunks/rich-chat-input.js.map +1 -0
  30. package/dist/_chunks/rolldown-runtime.js +21 -0
  31. package/dist/_chunks/shared.js +126 -0
  32. package/dist/_chunks/shared.js.map +1 -0
  33. package/dist/_chunks/sonner.js +605 -734
  34. package/dist/_chunks/sonner.js.map +1 -0
  35. package/dist/_chunks/stat-row.js +418 -440
  36. package/dist/_chunks/stat-row.js.map +1 -0
  37. package/dist/_chunks/tiptap.js +15850 -19964
  38. package/dist/_chunks/tiptap.js.map +1 -0
  39. package/dist/_chunks/tree-view.js +231 -290
  40. package/dist/_chunks/tree-view.js.map +1 -0
  41. package/dist/_chunks/use-calendar.js +161 -208
  42. package/dist/_chunks/use-calendar.js.map +1 -0
  43. package/dist/_chunks/vendor-client.js +314 -2199
  44. package/dist/_chunks/vendor-client.js.map +1 -0
  45. package/dist/_chunks/vendor-utils.js +1721 -2978
  46. package/dist/_chunks/vendor-utils.js.map +1 -0
  47. package/dist/ai/ai-command-provider.js +23 -17
  48. package/dist/ai/ai-command-provider.js.map +1 -0
  49. package/dist/ai/block-renderer.js +68 -51
  50. package/dist/ai/block-renderer.js.map +1 -0
  51. package/dist/ai/blocks/index.js +2 -12
  52. package/dist/ai/blocks/loading.d.ts.map +1 -1
  53. package/dist/ai/command-bar.js +470 -519
  54. package/dist/ai/command-bar.js.map +1 -0
  55. package/dist/ai/conversation.js +241 -227
  56. package/dist/ai/conversation.js.map +1 -0
  57. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  58. package/dist/ai/index.js +181 -167
  59. package/dist/ai/index.js.map +1 -0
  60. package/dist/ai/types.js +0 -1
  61. package/dist/composed/activity-feed.js +232 -202
  62. package/dist/composed/activity-feed.js.map +1 -0
  63. package/dist/composed/avatar-group.js +164 -222
  64. package/dist/composed/avatar-group.js.map +1 -0
  65. package/dist/composed/bulk-action-bar.js +166 -165
  66. package/dist/composed/bulk-action-bar.js.map +1 -0
  67. package/dist/composed/command-palette.js +290 -308
  68. package/dist/composed/command-palette.js.map +1 -0
  69. package/dist/composed/confirm-dialog.js +28 -48
  70. package/dist/composed/confirm-dialog.js.map +1 -0
  71. package/dist/composed/content-card.js +69 -108
  72. package/dist/composed/content-card.js.map +1 -0
  73. package/dist/composed/date-picker/index.js +3 -13
  74. package/dist/composed/deadline-indicator.js +68 -74
  75. package/dist/composed/deadline-indicator.js.map +1 -0
  76. package/dist/composed/emoji-picker.js +83 -110
  77. package/dist/composed/emoji-picker.js.map +1 -0
  78. package/dist/composed/empty-state.d.ts.map +1 -1
  79. package/dist/composed/empty-state.js +64 -103
  80. package/dist/composed/empty-state.js.map +1 -0
  81. package/dist/composed/error-boundary.js +129 -127
  82. package/dist/composed/error-boundary.js.map +1 -0
  83. package/dist/composed/file-preview.js +2 -12
  84. package/dist/composed/filter-bar.js +98 -130
  85. package/dist/composed/filter-bar.js.map +1 -0
  86. package/dist/composed/form-section.js +61 -45
  87. package/dist/composed/form-section.js.map +1 -0
  88. package/dist/composed/global-loading.js +34 -47
  89. package/dist/composed/global-loading.js.map +1 -0
  90. package/dist/composed/index.js +34 -92
  91. package/dist/composed/inline-edit.js +92 -107
  92. package/dist/composed/inline-edit.js.map +1 -0
  93. package/dist/composed/lib/string-utils.js +8 -8
  94. package/dist/composed/lib/string-utils.js.map +1 -0
  95. package/dist/composed/loading-skeleton.js +103 -171
  96. package/dist/composed/loading-skeleton.js.map +1 -0
  97. package/dist/composed/markdown-viewer.js +187 -139
  98. package/dist/composed/markdown-viewer.js.map +1 -0
  99. package/dist/composed/master-detail.js +147 -156
  100. package/dist/composed/master-detail.js.map +1 -0
  101. package/dist/composed/member-picker.js +46 -49
  102. package/dist/composed/member-picker.js.map +1 -0
  103. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  104. package/dist/composed/multi-select-popover.js +185 -179
  105. package/dist/composed/multi-select-popover.js.map +1 -0
  106. package/dist/composed/page-header.js +54 -76
  107. package/dist/composed/page-header.js.map +1 -0
  108. package/dist/composed/page-skeletons.js +143 -127
  109. package/dist/composed/page-skeletons.js.map +1 -0
  110. package/dist/composed/priority-indicator.js +105 -111
  111. package/dist/composed/priority-indicator.js.map +1 -0
  112. package/dist/composed/responsive-overlay.js +36 -41
  113. package/dist/composed/responsive-overlay.js.map +1 -0
  114. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
  115. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
  116. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
  117. package/dist/composed/rich-chat-input.d.ts.map +1 -1
  118. package/dist/composed/rich-chat-input.js +2 -1860
  119. package/dist/composed/rich-text-editor.js +561 -424
  120. package/dist/composed/rich-text-editor.js.map +1 -0
  121. package/dist/composed/schedule-view.js +134 -185
  122. package/dist/composed/schedule-view.js.map +1 -0
  123. package/dist/composed/simple-tooltip.js +21 -21
  124. package/dist/composed/simple-tooltip.js.map +1 -0
  125. package/dist/composed/status-badge.d.ts.map +1 -1
  126. package/dist/composed/status-badge.js +133 -137
  127. package/dist/composed/status-badge.js.map +1 -0
  128. package/dist/hooks/index.js +7 -12
  129. package/dist/hooks/use-color-mode.js +28 -25
  130. package/dist/hooks/use-color-mode.js.map +1 -0
  131. package/dist/hooks/use-mobile.js +13 -13
  132. package/dist/hooks/use-mobile.js.map +1 -0
  133. package/dist/hooks/use-toast.js +2 -4
  134. package/dist/hooks/use-touch-device.js +9 -11
  135. package/dist/hooks/use-touch-device.js.map +1 -0
  136. package/dist/hooks/use-viewport-height.js +14 -14
  137. package/dist/hooks/use-viewport-height.js.map +1 -0
  138. package/dist/motion/check-motion-provider.d.ts +3 -0
  139. package/dist/motion/check-motion-provider.d.ts.map +1 -0
  140. package/dist/motion/index.js +17 -11
  141. package/dist/motion/index.js.map +1 -0
  142. package/dist/motion/primitives-index.js +226 -186
  143. package/dist/motion/primitives-index.js.map +1 -0
  144. package/dist/primitives/react-accordion.d.ts +114 -114
  145. package/dist/primitives/react-alert-dialog.d.ts +51 -51
  146. package/dist/primitives/react-aspect-ratio.d.ts +11 -11
  147. package/dist/primitives/react-avatar.d.ts +24 -24
  148. package/dist/primitives/react-checkbox.d.ts +50 -50
  149. package/dist/primitives/react-collapsible.d.ts +33 -33
  150. package/dist/primitives/react-context-menu.d.ts +96 -96
  151. package/dist/primitives/react-dialog.d.ts +103 -103
  152. package/dist/primitives/react-dropdown-menu.d.ts +97 -97
  153. package/dist/primitives/react-hover-card.d.ts +79 -79
  154. package/dist/primitives/react-label.d.ts +10 -10
  155. package/dist/primitives/react-menu.d.ts +169 -169
  156. package/dist/primitives/react-menubar.d.ts +115 -115
  157. package/dist/primitives/react-navigation-menu.d.ts +126 -126
  158. package/dist/primitives/react-popover.d.ts +85 -85
  159. package/dist/primitives/react-progress.d.ts +19 -19
  160. package/dist/primitives/react-radio-group.d.ts +58 -58
  161. package/dist/primitives/react-roving-focus.d.ts +49 -49
  162. package/dist/primitives/react-select.d.ts +137 -137
  163. package/dist/primitives/react-separator.d.ts +21 -21
  164. package/dist/primitives/react-slider.d.ts +75 -75
  165. package/dist/primitives/react-switch.d.ts +21 -21
  166. package/dist/primitives/react-tabs.d.ts +56 -56
  167. package/dist/primitives/react-toast.d.ts +120 -120
  168. package/dist/primitives/react-toggle-group.d.ts +75 -75
  169. package/dist/primitives/react-toggle.d.ts +24 -24
  170. package/dist/primitives/react-tooltip.d.ts +101 -101
  171. package/dist/primitives/react-visually-hidden.d.ts +22 -22
  172. package/dist/shell/app-command-palette.d.ts +2 -0
  173. package/dist/shell/app-command-palette.d.ts.map +1 -1
  174. package/dist/shell/app-command-palette.js +94 -238
  175. package/dist/shell/app-command-palette.js.map +1 -0
  176. package/dist/shell/bottom-navbar.js +150 -190
  177. package/dist/shell/bottom-navbar.js.map +1 -0
  178. package/dist/shell/command-registry.js +13 -14
  179. package/dist/shell/command-registry.js.map +1 -0
  180. package/dist/shell/index.js +10 -20
  181. package/dist/shell/link-context.js +2 -5
  182. package/dist/shell/notification-center.d.ts.map +1 -1
  183. package/dist/shell/notification-center.js +263 -259
  184. package/dist/shell/notification-center.js.map +1 -0
  185. package/dist/shell/notification-preferences.js +241 -184
  186. package/dist/shell/notification-preferences.js.map +1 -0
  187. package/dist/shell/sidebar.js +251 -281
  188. package/dist/shell/sidebar.js.map +1 -0
  189. package/dist/shell/top-bar.js +203 -237
  190. package/dist/shell/top-bar.js.map +1 -0
  191. package/dist/tailwind/index.cjs +473 -442
  192. package/dist/tailwind/index.js +2 -4
  193. package/dist/tailwind/preset.d.ts.map +1 -1
  194. package/dist/tailwind/preset.js +490 -459
  195. package/dist/tailwind/preset.js.map +1 -0
  196. package/dist/tokens/index.css +4 -4
  197. package/dist/tokens/primitives.css +442 -442
  198. package/dist/tokens/semantic.css +742 -547
  199. package/dist/tokens/typography-semantic.css +123 -100
  200. package/dist/tokens/typography.css +422 -422
  201. package/dist/ui/accordion.js +52 -60
  202. package/dist/ui/accordion.js.map +1 -0
  203. package/dist/ui/alert-dialog.d.ts +6 -2
  204. package/dist/ui/alert-dialog.d.ts.map +1 -1
  205. package/dist/ui/alert-dialog.js +112 -156
  206. package/dist/ui/alert-dialog.js.map +1 -0
  207. package/dist/ui/alert.d.ts +3 -2
  208. package/dist/ui/alert.d.ts.map +1 -1
  209. package/dist/ui/alert.js +203 -99
  210. package/dist/ui/alert.js.map +1 -0
  211. package/dist/ui/aspect-ratio.js +13 -16
  212. package/dist/ui/aspect-ratio.js.map +1 -0
  213. package/dist/ui/autocomplete.d.ts.map +1 -1
  214. package/dist/ui/autocomplete.js +137 -148
  215. package/dist/ui/autocomplete.js.map +1 -0
  216. package/dist/ui/avatar.js +196 -169
  217. package/dist/ui/avatar.js.map +1 -0
  218. package/dist/ui/badge-group.js +2 -7
  219. package/dist/ui/badge-indicator.js +42 -51
  220. package/dist/ui/badge-indicator.js.map +1 -0
  221. package/dist/ui/badge.js +2 -15
  222. package/dist/ui/banner.js +76 -68
  223. package/dist/ui/banner.js.map +1 -0
  224. package/dist/ui/breadcrumb.js +65 -84
  225. package/dist/ui/breadcrumb.js.map +1 -0
  226. package/dist/ui/button-group.js +109 -102
  227. package/dist/ui/button-group.js.map +1 -0
  228. package/dist/ui/button-processing.d.ts.map +1 -1
  229. package/dist/ui/button-processing.js +89 -72
  230. package/dist/ui/button-processing.js.map +1 -0
  231. package/dist/ui/button.js +393 -279
  232. package/dist/ui/button.js.map +1 -0
  233. package/dist/ui/card.js +151 -157
  234. package/dist/ui/card.js.map +1 -0
  235. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  236. package/dist/ui/charts/chart-container.d.ts +2 -0
  237. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  238. package/dist/ui/charts/index.js +1025 -1319
  239. package/dist/ui/charts/index.js.map +1 -0
  240. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  241. package/dist/ui/chat/index.js +2 -11
  242. package/dist/ui/chat/message-input.d.ts.map +1 -1
  243. package/dist/ui/chat/message-list.d.ts +1 -1
  244. package/dist/ui/chat/message-list.d.ts.map +1 -1
  245. package/dist/ui/chat/message.d.ts.map +1 -1
  246. package/dist/ui/chat/system-message.d.ts.map +1 -1
  247. package/dist/ui/checkbox.d.ts.map +1 -1
  248. package/dist/ui/checkbox.js +82 -100
  249. package/dist/ui/checkbox.js.map +1 -0
  250. package/dist/ui/code.js +18 -32
  251. package/dist/ui/code.js.map +1 -0
  252. package/dist/ui/collapsible.js +21 -29
  253. package/dist/ui/collapsible.js.map +1 -0
  254. package/dist/ui/color-input.d.ts.map +1 -1
  255. package/dist/ui/color-input.js +455 -372
  256. package/dist/ui/color-input.js.map +1 -0
  257. package/dist/ui/color-swatch.js +60 -90
  258. package/dist/ui/color-swatch.js.map +1 -0
  259. package/dist/ui/combobox.d.ts +7 -0
  260. package/dist/ui/combobox.d.ts.map +1 -1
  261. package/dist/ui/combobox.js +278 -293
  262. package/dist/ui/combobox.js.map +1 -0
  263. package/dist/ui/container.js +18 -24
  264. package/dist/ui/container.js.map +1 -0
  265. package/dist/ui/context-menu.js +154 -203
  266. package/dist/ui/context-menu.js.map +1 -0
  267. package/dist/ui/data-table-body.js +116 -213
  268. package/dist/ui/data-table-body.js.map +1 -0
  269. package/dist/ui/data-table-bulk-actions.js +43 -59
  270. package/dist/ui/data-table-bulk-actions.js.map +1 -0
  271. package/dist/ui/data-table-card.js +84 -71
  272. package/dist/ui/data-table-card.js.map +1 -0
  273. package/dist/ui/data-table-context.js +39 -42
  274. package/dist/ui/data-table-context.js.map +1 -0
  275. package/dist/ui/data-table-header.js +98 -139
  276. package/dist/ui/data-table-header.js.map +1 -0
  277. package/dist/ui/data-table-pagination.js +69 -82
  278. package/dist/ui/data-table-pagination.js.map +1 -0
  279. package/dist/ui/data-table-toolbar.js +104 -130
  280. package/dist/ui/data-table-toolbar.js.map +1 -0
  281. package/dist/ui/data-table.js +281 -354
  282. package/dist/ui/data-table.js.map +1 -0
  283. package/dist/ui/devalok-grain.js +77 -66
  284. package/dist/ui/devalok-grain.js.map +1 -0
  285. package/dist/ui/dialog.js +118 -151
  286. package/dist/ui/dialog.js.map +1 -0
  287. package/dist/ui/dropdown-menu.js +152 -203
  288. package/dist/ui/dropdown-menu.js.map +1 -0
  289. package/dist/ui/file-upload.js +242 -266
  290. package/dist/ui/file-upload.js.map +1 -0
  291. package/dist/ui/form.d.ts +8 -0
  292. package/dist/ui/form.d.ts.map +1 -1
  293. package/dist/ui/form.js +62 -56
  294. package/dist/ui/form.js.map +1 -0
  295. package/dist/ui/hover-card.js +54 -54
  296. package/dist/ui/hover-card.js.map +1 -0
  297. package/dist/ui/icon-button.js +21 -26
  298. package/dist/ui/icon-button.js.map +1 -0
  299. package/dist/ui/icon-context.js +17 -17
  300. package/dist/ui/icon-context.js.map +1 -0
  301. package/dist/ui/icon-group.js +22 -29
  302. package/dist/ui/icon-group.js.map +1 -0
  303. package/dist/ui/icon.js +201 -121
  304. package/dist/ui/icon.js.map +1 -0
  305. package/dist/ui/index.d.ts +4 -4
  306. package/dist/ui/index.d.ts.map +1 -1
  307. package/dist/ui/index.js +90 -350
  308. package/dist/ui/index.js.map +1 -0
  309. package/dist/ui/input-otp.d.ts +12 -3
  310. package/dist/ui/input-otp.d.ts.map +1 -1
  311. package/dist/ui/input-otp.js +58 -48
  312. package/dist/ui/input-otp.js.map +1 -0
  313. package/dist/ui/input.d.ts.map +1 -1
  314. package/dist/ui/input.js +93 -169
  315. package/dist/ui/input.js.map +1 -0
  316. package/dist/ui/label.d.ts.map +1 -1
  317. package/dist/ui/label.js +23 -23
  318. package/dist/ui/label.js.map +1 -0
  319. package/dist/ui/lib/check-tokens.d.ts +3 -0
  320. package/dist/ui/lib/check-tokens.d.ts.map +1 -0
  321. package/dist/ui/lib/date-utils.js +14 -11
  322. package/dist/ui/lib/date-utils.js.map +1 -0
  323. package/dist/ui/lib/motion.d.ts +15 -4
  324. package/dist/ui/lib/motion.d.ts.map +1 -1
  325. package/dist/ui/lib/motion.js +83 -33
  326. package/dist/ui/lib/motion.js.map +1 -0
  327. package/dist/ui/lib/utils.js +39 -16
  328. package/dist/ui/lib/utils.js.map +1 -0
  329. package/dist/ui/link.js +13 -24
  330. package/dist/ui/link.js.map +1 -0
  331. package/dist/ui/menubar.js +132 -210
  332. package/dist/ui/menubar.js.map +1 -0
  333. package/dist/ui/navigation-menu.js +163 -193
  334. package/dist/ui/navigation-menu.js.map +1 -0
  335. package/dist/ui/number-input.d.ts +16 -1
  336. package/dist/ui/number-input.d.ts.map +1 -1
  337. package/dist/ui/number-input.js +102 -95
  338. package/dist/ui/number-input.js.map +1 -0
  339. package/dist/ui/pagination.js +122 -159
  340. package/dist/ui/pagination.js.map +1 -0
  341. package/dist/ui/popover.js +2 -131
  342. package/dist/ui/progress-ring.d.ts.map +1 -1
  343. package/dist/ui/progress-ring.js +133 -143
  344. package/dist/ui/progress-ring.js.map +1 -0
  345. package/dist/ui/progress.js +51 -95
  346. package/dist/ui/progress.js.map +1 -0
  347. package/dist/ui/radio.d.ts.map +1 -1
  348. package/dist/ui/radio.js +47 -49
  349. package/dist/ui/radio.js.map +1 -0
  350. package/dist/ui/search-input.js +51 -53
  351. package/dist/ui/search-input.js.map +1 -0
  352. package/dist/ui/segmented-control.d.ts +1 -1
  353. package/dist/ui/segmented-control.d.ts.map +1 -1
  354. package/dist/ui/segmented-control.js +95 -114
  355. package/dist/ui/segmented-control.js.map +1 -0
  356. package/dist/ui/select.d.ts.map +1 -1
  357. package/dist/ui/select.js +137 -157
  358. package/dist/ui/select.js.map +1 -0
  359. package/dist/ui/separator.d.ts.map +1 -1
  360. package/dist/ui/separator.js +18 -25
  361. package/dist/ui/separator.js.map +1 -0
  362. package/dist/ui/sheet.js +135 -163
  363. package/dist/ui/sheet.js.map +1 -0
  364. package/dist/ui/sidebar.js +357 -600
  365. package/dist/ui/sidebar.js.map +1 -0
  366. package/dist/ui/skeleton.js +179 -231
  367. package/dist/ui/skeleton.js.map +1 -0
  368. package/dist/ui/slider.d.ts +22 -3
  369. package/dist/ui/slider.d.ts.map +1 -1
  370. package/dist/ui/slider.js +62 -34
  371. package/dist/ui/slider.js.map +1 -0
  372. package/dist/ui/spinner.js +226 -205
  373. package/dist/ui/spinner.js.map +1 -0
  374. package/dist/ui/split-button.d.ts.map +1 -1
  375. package/dist/ui/split-button.js +228 -276
  376. package/dist/ui/split-button.js.map +1 -0
  377. package/dist/ui/stack.js +56 -70
  378. package/dist/ui/stack.js.map +1 -0
  379. package/dist/ui/stat-card.js +259 -251
  380. package/dist/ui/stat-card.js.map +1 -0
  381. package/dist/ui/status-dot.js +67 -63
  382. package/dist/ui/status-dot.js.map +1 -0
  383. package/dist/ui/stepper.d.ts +10 -0
  384. package/dist/ui/stepper.d.ts.map +1 -1
  385. package/dist/ui/stepper.js +124 -168
  386. package/dist/ui/stepper.js.map +1 -0
  387. package/dist/ui/switch.d.ts.map +1 -1
  388. package/dist/ui/switch.js +56 -55
  389. package/dist/ui/switch.js.map +1 -0
  390. package/dist/ui/table.js +57 -90
  391. package/dist/ui/table.js.map +1 -0
  392. package/dist/ui/tabs.d.ts +3 -1
  393. package/dist/ui/tabs.d.ts.map +1 -1
  394. package/dist/ui/tabs.js +159 -156
  395. package/dist/ui/tabs.js.map +1 -0
  396. package/dist/ui/text.d.ts +1 -1
  397. package/dist/ui/text.d.ts.map +1 -1
  398. package/dist/ui/text.js +60 -59
  399. package/dist/ui/text.js.map +1 -0
  400. package/dist/ui/textarea.js +40 -57
  401. package/dist/ui/textarea.js.map +1 -0
  402. package/dist/ui/toast-registry.d.ts +8 -0
  403. package/dist/ui/toast-registry.d.ts.map +1 -0
  404. package/dist/ui/toast-registry.js +13 -0
  405. package/dist/ui/toast-registry.js.map +1 -0
  406. package/dist/ui/toast-types.js +0 -1
  407. package/dist/ui/toast.d.ts.map +1 -1
  408. package/dist/ui/toast.js +559 -536
  409. package/dist/ui/toast.js.map +1 -0
  410. package/dist/ui/toaster.d.ts.map +1 -1
  411. package/dist/ui/toaster.js +24 -33
  412. package/dist/ui/toaster.js.map +1 -0
  413. package/dist/ui/toggle-group.d.ts +2 -0
  414. package/dist/ui/toggle-group.d.ts.map +1 -1
  415. package/dist/ui/toggle-group.js +44 -41
  416. package/dist/ui/toggle-group.js.map +1 -0
  417. package/dist/ui/toggle.d.ts +2 -0
  418. package/dist/ui/toggle.d.ts.map +1 -1
  419. package/dist/ui/toggle.js +44 -40
  420. package/dist/ui/toggle.js.map +1 -0
  421. package/dist/ui/tooltip.js +80 -65
  422. package/dist/ui/tooltip.js.map +1 -0
  423. package/dist/ui/tree-view/index.js +2 -6
  424. package/dist/ui/visually-hidden.js +12 -10
  425. package/dist/ui/visually-hidden.js.map +1 -0
  426. package/docs/components/_header.md +85 -85
  427. package/docs/components/composed/activity-feed.md +62 -62
  428. package/docs/components/composed/avatar-group.md +65 -65
  429. package/docs/components/composed/bulk-action-bar.md +40 -40
  430. package/docs/components/composed/command-palette.md +40 -40
  431. package/docs/components/composed/confirm-dialog.md +46 -46
  432. package/docs/components/composed/content-card.md +36 -36
  433. package/docs/components/composed/date-picker.md +130 -130
  434. package/docs/components/composed/deadline-indicator.md +27 -27
  435. package/docs/components/composed/emoji-picker.md +52 -52
  436. package/docs/components/composed/empty-state.md +53 -53
  437. package/docs/components/composed/error-boundary.md +29 -29
  438. package/docs/components/composed/file-preview.md +40 -40
  439. package/docs/components/composed/filter-bar.md +57 -57
  440. package/docs/components/composed/form-section.md +31 -31
  441. package/docs/components/composed/global-loading.md +27 -27
  442. package/docs/components/composed/inline-edit.md +35 -35
  443. package/docs/components/composed/loading-skeleton.md +51 -51
  444. package/docs/components/composed/markdown-viewer.md +27 -27
  445. package/docs/components/composed/master-detail.md +48 -48
  446. package/docs/components/composed/member-picker.md +35 -35
  447. package/docs/components/composed/multi-select-popover.md +62 -62
  448. package/docs/components/composed/page-header.md +41 -41
  449. package/docs/components/composed/page-skeletons.md +32 -32
  450. package/docs/components/composed/priority-indicator.md +32 -32
  451. package/docs/components/composed/responsive-overlay.md +34 -34
  452. package/docs/components/composed/rich-text-editor.md +82 -82
  453. package/docs/components/composed/schedule-view.md +39 -39
  454. package/docs/components/composed/simple-tooltip.md +33 -33
  455. package/docs/components/composed/status-badge.md +55 -55
  456. package/docs/components/shell/app-command-palette.md +44 -44
  457. package/docs/components/shell/bottom-navbar.md +52 -52
  458. package/docs/components/shell/command-registry.md +48 -48
  459. package/docs/components/shell/link-context.md +41 -41
  460. package/docs/components/shell/notification-center.md +63 -63
  461. package/docs/components/shell/notification-preferences.md +42 -42
  462. package/docs/components/shell/sidebar.md +92 -92
  463. package/docs/components/shell/top-bar.md +143 -143
  464. package/docs/components/ui/accordion.md +51 -51
  465. package/docs/components/ui/alert-dialog.md +61 -61
  466. package/docs/components/ui/alert.md +46 -46
  467. package/docs/components/ui/aspect-ratio.md +25 -25
  468. package/docs/components/ui/autocomplete.md +48 -48
  469. package/docs/components/ui/avatar.md +56 -56
  470. package/docs/components/ui/badge.md +83 -82
  471. package/docs/components/ui/banner.md +42 -42
  472. package/docs/components/ui/breadcrumb.md +37 -37
  473. package/docs/components/ui/button-group.md +41 -41
  474. package/docs/components/ui/button.md +94 -93
  475. package/docs/components/ui/card.md +52 -52
  476. package/docs/components/ui/charts.md +43 -43
  477. package/docs/components/ui/checkbox.md +36 -36
  478. package/docs/components/ui/chip.md +47 -47
  479. package/docs/components/ui/code.md +28 -28
  480. package/docs/components/ui/collapsible.md +40 -40
  481. package/docs/components/ui/color-input.md +91 -91
  482. package/docs/components/ui/color-swatch.md +25 -25
  483. package/docs/components/ui/combobox.md +54 -54
  484. package/docs/components/ui/container.md +26 -26
  485. package/docs/components/ui/context-menu.md +43 -43
  486. package/docs/components/ui/data-table-body.md +1 -1
  487. package/docs/components/ui/data-table-bulk-actions.md +1 -1
  488. package/docs/components/ui/data-table-card.md +1 -1
  489. package/docs/components/ui/data-table-context.md +1 -1
  490. package/docs/components/ui/data-table-header.md +1 -1
  491. package/docs/components/ui/data-table-pagination.md +1 -1
  492. package/docs/components/ui/data-table-toolbar.md +44 -44
  493. package/docs/components/ui/data-table.md +94 -94
  494. package/docs/components/ui/dialog.md +54 -54
  495. package/docs/components/ui/dropdown-menu.md +48 -48
  496. package/docs/components/ui/file-upload.md +41 -41
  497. package/docs/components/ui/form.md +51 -51
  498. package/docs/components/ui/hover-card.md +32 -32
  499. package/docs/components/ui/icon-button.md +40 -40
  500. package/docs/components/ui/input-otp.md +44 -44
  501. package/docs/components/ui/input.md +74 -74
  502. package/docs/components/ui/label.md +25 -25
  503. package/docs/components/ui/link.md +29 -29
  504. package/docs/components/ui/menubar.md +44 -44
  505. package/docs/components/ui/navigation-menu.md +46 -46
  506. package/docs/components/ui/number-input.md +44 -44
  507. package/docs/components/ui/pagination.md +48 -48
  508. package/docs/components/ui/popover.md +30 -30
  509. package/docs/components/ui/progress-ring.md +41 -41
  510. package/docs/components/ui/progress.md +34 -34
  511. package/docs/components/ui/radio.md +34 -34
  512. package/docs/components/ui/search-input.md +43 -43
  513. package/docs/components/ui/segmented-control.md +50 -50
  514. package/docs/components/ui/select.md +53 -53
  515. package/docs/components/ui/separator.md +32 -32
  516. package/docs/components/ui/sheet.md +47 -47
  517. package/docs/components/ui/sidebar.md +72 -72
  518. package/docs/components/ui/skeleton.md +77 -77
  519. package/docs/components/ui/slider.md +29 -29
  520. package/docs/components/ui/spinner.md +54 -54
  521. package/docs/components/ui/stack.md +39 -39
  522. package/docs/components/ui/stat-card.md +61 -61
  523. package/docs/components/ui/status-dot.md +26 -26
  524. package/docs/components/ui/stepper.md +49 -49
  525. package/docs/components/ui/switch.md +47 -47
  526. package/docs/components/ui/table.md +47 -47
  527. package/docs/components/ui/tabs.md +60 -60
  528. package/docs/components/ui/text.md +37 -37
  529. package/docs/components/ui/textarea.md +39 -39
  530. package/docs/components/ui/toast.md +65 -65
  531. package/docs/components/ui/toaster.md +47 -47
  532. package/docs/components/ui/toggle-group.md +43 -43
  533. package/docs/components/ui/toggle.md +37 -37
  534. package/docs/components/ui/tooltip.md +38 -38
  535. package/docs/components/ui/tree-view.md +65 -65
  536. package/docs/components/ui/visually-hidden.md +21 -21
  537. package/llms-full.txt +5266 -5264
  538. package/llms.txt +624 -580
  539. package/package.json +7 -8
  540. package/dist/_chunks/date-time-picker.js +0 -851
  541. package/dist/_chunks/typing-indicator.js +0 -565
@@ -1,524 +1,475 @@
1
1
  "use client";
2
- import { jsxs as r, jsx as e, Fragment as De } from "react/jsx-runtime";
3
- import * as s from "react";
4
- import { Dialog as Ae, DialogPortal as Ee, DialogOverlay as Me, DialogContentRaw as Re, DialogTitle as Se, DialogDescription as ze } from "../ui/dialog.js";
5
- import { IconArrowUp as Le, IconArrowDown as Be, IconCornerDownLeft as le, IconSearch as je, IconLoader2 as Fe, IconX as $e } from "@tabler/icons-react";
6
- import { Icon as v } from "../ui/icon.js";
7
- import { cn as u } from "../ui/lib/utils.js";
8
- import { springs as ue, tweens as Z } from "../ui/lib/motion.js";
9
- import { VisuallyHidden as Pe } from "../ui/visually-hidden.js";
10
- import { u as fe } from "../_chunks/motion-provider.js";
11
- import { g as Ke, m as Oe, a as Ve } from "../_chunks/keybinding.js";
12
- import { m as x, A as _ } from "../_chunks/framer.js";
13
- function qe({
14
- active: n,
15
- rounded: p,
16
- reducedMotion: h,
17
- children: l
18
- }) {
19
- return n ? h ? /* @__PURE__ */ e("div", { className: u("p-[1.5px] bg-accent-9", p), children: l }) : /* @__PURE__ */ r(
20
- x.div,
21
- {
22
- className: u("relative p-[1.5px]", p),
23
- style: {
24
- background: "linear-gradient(var(--gradient-angle, 0deg), #D33163, #9B5DE5, #C850C0, #D33163)",
25
- backgroundSize: "300% 300%"
26
- },
27
- animate: {
28
- // Rotate the gradient angle — creates the flowing border effect
29
- // Using CSS custom property animation via backgroundPosition as proxy
30
- backgroundPosition: ["0% 0%", "100% 100%", "0% 0%"]
31
- },
32
- transition: {
33
- backgroundPosition: {
34
- duration: 4,
35
- repeat: 1 / 0,
36
- ease: "linear"
37
- }
38
- },
39
- children: [
40
- /* @__PURE__ */ e(
41
- x.div,
42
- {
43
- className: u("absolute inset-0 -z-10", p),
44
- style: {
45
- background: "linear-gradient(var(--gradient-angle, 0deg), #D33163, #9B5DE5, #C850C0, #D33163)",
46
- backgroundSize: "300% 300%",
47
- filter: "blur(8px)"
48
- },
49
- animate: {
50
- opacity: [0.3, 0.5, 0.3],
51
- backgroundPosition: ["0% 0%", "100% 100%", "0% 0%"]
52
- },
53
- transition: {
54
- opacity: { duration: 3, repeat: 1 / 0, ease: "easeInOut" },
55
- backgroundPosition: { duration: 4, repeat: 1 / 0, ease: "linear" }
56
- }
57
- }
58
- ),
59
- l
60
- ]
61
- }
62
- ) : /* @__PURE__ */ e(De, { children: l });
2
+ import { a as e, c as t } from "../_chunks/framer.js";
3
+ import { springs as n, tweens as r } from "../ui/lib/motion.js";
4
+ import { cn as i } from "../ui/lib/utils.js";
5
+ import { Icon as a } from "../ui/icon.js";
6
+ import { Dialog as o, DialogContentRaw as s, DialogDescription as c, DialogOverlay as ee, DialogPortal as te, DialogTitle as ne } from "../ui/dialog.js";
7
+ import { VisuallyHidden as re } from "../ui/visually-hidden.js";
8
+ import { n as ie } from "../_chunks/motion-provider.js";
9
+ import { n as ae, r as oe, t as se } from "../_chunks/keybinding.js";
10
+ import * as l from "react";
11
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
12
+ import { IconArrowDown as ce, IconArrowUp as le, IconCornerDownLeft as p, IconLoader2 as ue, IconSearch as de, IconX as fe } from "@tabler/icons-react";
13
+ //#region src/ai/command-bar.tsx
14
+ function pe({ active: t, rounded: n, reducedMotion: r, children: a }) {
15
+ return t ? r ? /* @__PURE__ */ d("div", {
16
+ className: i("p-[1.5px] bg-accent-9", n),
17
+ children: a
18
+ }) : /* @__PURE__ */ f(e.div, {
19
+ className: i("relative p-[1.5px]", n),
20
+ style: {
21
+ background: "linear-gradient(var(--gradient-angle, 0deg), #D33163, #9B5DE5, #C850C0, #D33163)",
22
+ backgroundSize: "300% 300%"
23
+ },
24
+ animate: { backgroundPosition: [
25
+ "0% 0%",
26
+ "100% 100%",
27
+ "0% 0%"
28
+ ] },
29
+ transition: { backgroundPosition: {
30
+ duration: 4,
31
+ repeat: Infinity,
32
+ ease: "linear"
33
+ } },
34
+ children: [/* @__PURE__ */ d(e.div, {
35
+ className: i("absolute inset-0 -z-10", n),
36
+ style: {
37
+ background: "linear-gradient(var(--gradient-angle, 0deg), #D33163, #9B5DE5, #C850C0, #D33163)",
38
+ backgroundSize: "300% 300%",
39
+ filter: "blur(8px)"
40
+ },
41
+ animate: {
42
+ opacity: [
43
+ .3,
44
+ .5,
45
+ .3
46
+ ],
47
+ backgroundPosition: [
48
+ "0% 0%",
49
+ "100% 100%",
50
+ "0% 0%"
51
+ ]
52
+ },
53
+ transition: {
54
+ opacity: {
55
+ duration: 3,
56
+ repeat: Infinity,
57
+ ease: "easeInOut"
58
+ },
59
+ backgroundPosition: {
60
+ duration: 4,
61
+ repeat: Infinity,
62
+ ease: "linear"
63
+ }
64
+ }
65
+ }), a]
66
+ }) : /* @__PURE__ */ d(u, { children: a });
63
67
  }
64
- function Qe(n) {
65
- return n.filterValue ? n.filterValue : typeof n.label == "string" ? n.label : "";
68
+ function me(e) {
69
+ return e.filterValue ? e.filterValue : typeof e.label == "string" ? e.label : "";
66
70
  }
67
- function Te(n) {
68
- return typeof n.description == "string" ? n.description : "";
71
+ function he(e) {
72
+ return typeof e.description == "string" ? e.description : "";
69
73
  }
70
- function Ge({
71
- placeholders: n,
72
- interval: p,
73
- paused: h
74
- }) {
75
- const [l, L] = s.useState(0), { reducedMotion: O } = fe();
76
- return s.useEffect(() => {
77
- if (h || n.length <= 1) return;
78
- const V = setInterval(() => {
79
- L((d) => (d + 1) % n.length);
80
- }, p);
81
- return () => clearInterval(V);
82
- }, [h, n.length, p]), O ? /* @__PURE__ */ e("span", { className: "pointer-events-none absolute text-surface-fg-subtle", children: n[l] }) : /* @__PURE__ */ e(_, { mode: "wait", children: /* @__PURE__ */ e(
83
- x.span,
84
- {
85
- initial: { opacity: 0, y: -4 },
86
- animate: { opacity: 1, y: 0 },
87
- exit: { opacity: 0, y: 4 },
88
- transition: Z.fade,
89
- className: "pointer-events-none absolute text-surface-fg-subtle",
90
- children: n[l]
91
- },
92
- n[l]
93
- ) });
74
+ function ge({ placeholders: n, interval: i, paused: a }) {
75
+ let [o, s] = l.useState(0), { reducedMotion: c } = ie();
76
+ return l.useEffect(() => {
77
+ if (a || n.length <= 1) return;
78
+ let e = setInterval(() => {
79
+ s((e) => (e + 1) % n.length);
80
+ }, i);
81
+ return () => clearInterval(e);
82
+ }, [
83
+ a,
84
+ n.length,
85
+ i
86
+ ]), c ? /* @__PURE__ */ d("span", {
87
+ className: "pointer-events-none absolute text-surface-fg-subtle",
88
+ children: n[o]
89
+ }) : /* @__PURE__ */ d(t, {
90
+ mode: "wait",
91
+ children: /* @__PURE__ */ d(e.span, {
92
+ initial: {
93
+ opacity: 0,
94
+ y: -4
95
+ },
96
+ animate: {
97
+ opacity: 1,
98
+ y: 0
99
+ },
100
+ exit: {
101
+ opacity: 0,
102
+ y: 4
103
+ },
104
+ transition: r.fade,
105
+ className: "pointer-events-none absolute text-surface-fg-subtle",
106
+ children: n[o]
107
+ }, n[o])
108
+ });
94
109
  }
95
- const Ue = s.forwardRef(
96
- function({
97
- onSubmit: p,
98
- state: h = "idle",
99
- groups: l = [],
100
- onSearch: L,
101
- emptyMessage: O = "No results found.",
102
- emptyState: V,
103
- variant: d = "hero",
104
- placeholder: B = "Ask anything...",
105
- placeholderInterval: me = 5e3,
106
- greeting: ee,
107
- hints: q,
108
- agentName: te,
109
- agentIcon: He,
110
- open: se,
111
- defaultOpen: pe,
112
- onOpenChange: ae,
113
- keybinding: M = "mod+j",
114
- disabled: j = !1,
115
- maxHeight: Q = "320px",
116
- children: N,
117
- className: T,
118
- ...G
119
- }, U) {
120
- const H = se !== void 0, [be, ge] = s.useState(pe ?? !1), R = H ? se : be, re = s.useRef(R);
121
- re.current = R;
122
- const w = s.useCallback(
123
- (t) => {
124
- const a = typeof t == "function" ? t(re.current) : t;
125
- H || ge(a), ae?.(a);
126
- },
127
- [H, ae]
128
- ), [o, k] = s.useState(""), [f, C] = s.useState(-1), [ne, xe] = s.useState(""), [I, oe] = s.useState(!1), [J, he] = s.useState(!1), S = s.useRef(null), ie = s.useRef(null), W = s.useId(), de = `command-bar-listbox-${W}`, { reducedMotion: b } = fe(), F = { duration: 0 }, ye = s.useMemo(() => Ke(), []), $ = s.useMemo(
129
- () => Array.isArray(B) ? B : [B],
130
- [B]
131
- ), c = l.length > 0, y = s.useMemo(() => {
132
- if (!c) return [];
133
- if (!o.trim()) return l;
134
- const t = o.toLowerCase();
135
- return l.map((a) => ({
136
- ...a,
137
- items: a.items.filter(
138
- (g) => Qe(g).toLowerCase().includes(t) || Te(g).toLowerCase().includes(t)
139
- )
140
- })).filter((a) => a.items.length > 0);
141
- }, [l, o, c]), m = s.useMemo(
142
- () => y.flatMap((t) => t.items),
143
- [y]
144
- ), ve = s.useMemo(() => {
145
- const t = /* @__PURE__ */ new Map();
146
- let a = 0;
147
- for (const g of y)
148
- for (const i of g.items)
149
- t.set(i.id, a++);
150
- return t;
151
- }, [y]), Ne = typeof Q == "number" ? `${Q}px` : Q;
152
- s.useEffect(() => {
153
- if (d !== "floating" || M === !1) return;
154
- const t = Array.isArray(M) ? M : [M];
155
- function a(g) {
156
- for (const i of t)
157
- if (Oe(g, i)) {
158
- g.preventDefault(), w((E) => !E);
159
- return;
160
- }
161
- }
162
- return document.addEventListener("keydown", a), () => document.removeEventListener("keydown", a);
163
- }, [d, M, w]), s.useEffect(() => {
164
- d === "floating" && R && (k(""), C(-1), requestAnimationFrame(() => {
165
- S.current?.focus();
166
- }));
167
- }, [d, R]), s.useEffect(() => {
168
- if (f < 0) return;
169
- ie.current?.querySelector(
170
- `[data-command-index="${f}"]`
171
- )?.scrollIntoView({ block: "nearest" });
172
- }, [f]);
173
- const we = (t) => {
174
- k(t), C(c && t.trim() ? 0 : -1), L?.(t);
175
- }, ce = s.useCallback(() => {
176
- !o.trim() || j || (xe(o), p?.(o));
177
- }, [o, j, p]), ke = (t) => {
178
- switch (t.key) {
179
- case "ArrowDown": {
180
- if (!c || m.length === 0) return;
181
- t.preventDefault(), C(
182
- (a) => a < m.length - 1 ? a + 1 : 0
183
- );
184
- break;
185
- }
186
- case "ArrowUp": {
187
- c && m.length > 0 ? (t.preventDefault(), C(
188
- (a) => a > 0 ? a - 1 : m.length - 1
189
- )) : !c && !o && ne && (t.preventDefault(), k(ne));
190
- break;
191
- }
192
- case "Enter": {
193
- t.preventDefault(), t.metaKey || t.ctrlKey ? ce() : c && f >= 0 && m[f] ? (m[f].onSelect(), d === "floating" && w(!1)) : ce();
194
- break;
195
- }
196
- case "Escape": {
197
- t.preventDefault(), h === "responded" ? k("") : d === "floating" ? w(!1) : S.current?.blur();
198
- break;
199
- }
200
- }
201
- }, Ce = () => {
202
- k(""), C(-1), S.current?.focus();
203
- };
204
- s.useEffect(() => {
205
- if (J) {
206
- const t = setTimeout(() => he(!1), 500);
207
- return () => clearTimeout(t);
208
- }
209
- }, [J]), b || ue.snappy;
210
- const P = b ? F : Z.fade, z = b ? { opacity: 1, scale: 1, y: 0 } : void 0, D = d === "inline", A = h === "processing", Ie = h === "responded", X = () => /* @__PURE__ */ e(
211
- qe,
212
- {
213
- active: A,
214
- rounded: D ? "rounded-ds-md" : "rounded-ds-lg",
215
- reducedMotion: b,
216
- children: /* @__PURE__ */ r(
217
- "div",
218
- {
219
- className: u(
220
- "flex items-center gap-ds-04 border bg-surface-overlay transition-colors transition-shadow duration-fast-02 ease-productive-standard",
221
- D ? "rounded-ds-md px-ds-04" : "rounded-ds-lg px-ds-05",
222
- A ? "border-transparent" : "border-surface-border-strong",
223
- I && !A && "border-accent-7 shadow-ring",
224
- J && "animate-shake"
225
- ),
226
- children: [
227
- /* @__PURE__ */ e(
228
- v,
229
- {
230
- icon: je,
231
- size: D ? "xs" : "sm",
232
- stroke: "light",
233
- className: u(
234
- "shrink-0 transition-colors duration-fast-02 ease-productive-standard",
235
- I ? "text-accent-9" : "text-surface-fg-subtle"
236
- )
237
- }
238
- ),
239
- /* @__PURE__ */ r("div", { className: "relative flex flex-1 items-center", children: [
240
- !o && !I && $.length > 1 && /* @__PURE__ */ e(
241
- Ge,
242
- {
243
- placeholders: $,
244
- interval: me,
245
- paused: I || !!o
246
- }
247
- ),
248
- /* @__PURE__ */ e(
249
- "input",
250
- {
251
- ref: S,
252
- value: o,
253
- onChange: (t) => we(t.target.value),
254
- onFocus: () => oe(!0),
255
- onBlur: () => oe(!1),
256
- onKeyDown: ke,
257
- placeholder: $.length === 1 || I ? $[0] : "",
258
- readOnly: A,
259
- disabled: j,
260
- role: "combobox",
261
- "aria-expanded": c && m.length > 0,
262
- "aria-controls": c ? de : void 0,
263
- "aria-activedescendant": c && f >= 0 && m[f] ? `command-bar-item-${W}-${m[f].id}` : void 0,
264
- "aria-autocomplete": c ? "list" : void 0,
265
- "aria-label": te ? `Ask ${te}` : "AI Command Bar",
266
- className: u(
267
- "flex-1 bg-transparent text-surface-fg outline-hidden",
268
- "placeholder:text-surface-fg-subtle",
269
- D ? "h-9 text-ds-sm" : "h-12 text-ds-base",
270
- A && "cursor-wait",
271
- j && "cursor-not-allowed opacity-50"
272
- ),
273
- autoComplete: "off",
274
- autoCorrect: "off",
275
- spellCheck: !1
276
- }
277
- )
278
- ] }),
279
- A ? /* @__PURE__ */ e("span", { "data-testid": "command-bar-spinner", className: "shrink-0", children: /* @__PURE__ */ e(
280
- v,
281
- {
282
- icon: Fe,
283
- size: D ? "xs" : "sm",
284
- stroke: "light",
285
- animate: "spin",
286
- className: "text-accent-9"
287
- }
288
- ) }) : Ie ? /* @__PURE__ */ e(
289
- "button",
290
- {
291
- type: "button",
292
- onClick: Ce,
293
- className: "shrink-0 rounded-ds-sm p-ds-01 text-surface-fg-subtle transition-colors duration-fast-01 hover:bg-surface-raised-hover hover:text-surface-fg-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9",
294
- "aria-label": "Clear",
295
- title: "Clear",
296
- children: /* @__PURE__ */ e(
297
- v,
298
- {
299
- icon: $e,
300
- size: D ? "xs" : "sm",
301
- stroke: "light"
302
- }
303
- )
304
- }
305
- ) : d === "hero" ? /* @__PURE__ */ e(_, { children: !I && /* @__PURE__ */ r(
306
- x.kbd,
307
- {
308
- initial: z ?? { opacity: 0 },
309
- animate: { opacity: 1 },
310
- exit: b ? void 0 : { opacity: 0 },
311
- transition: P,
312
- className: "hidden shrink-0 select-none rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b py-ds-01 text-ds-sm font-medium text-surface-fg-subtle shadow-kbd sm:inline-flex",
313
- children: [
314
- Ve(ye),
315
- "J"
316
- ]
317
- }
318
- ) }) : null
319
- ]
320
- }
321
- )
322
- }
323
- ), Y = () => !c || !(m.length > 0 || o.trim() && y.length === 0) && !o.trim() ? null : /* @__PURE__ */ r(
324
- "div",
325
- {
326
- ref: ie,
327
- id: de,
328
- role: "listbox",
329
- "aria-label": "Command results",
330
- className: "overflow-y-auto px-ds-03 py-ds-03",
331
- style: { maxHeight: Ne },
332
- children: [
333
- y.length === 0 && o.trim() && /* @__PURE__ */ e(
334
- x.div,
335
- {
336
- initial: z ?? { opacity: 0 },
337
- animate: { opacity: 1 },
338
- transition: P,
339
- className: "flex items-center justify-center py-ds-07",
340
- children: V ?? /* @__PURE__ */ e("p", { className: "text-ds-md text-surface-fg-subtle", children: O })
341
- }
342
- ),
343
- y.map((a, g) => /* @__PURE__ */ r(
344
- x.div,
345
- {
346
- initial: z ?? { opacity: 0 },
347
- animate: { opacity: 1 },
348
- transition: b ? F : { ...Z.fade, delay: g * 0.06 },
349
- className: "mb-ds-02",
350
- children: [
351
- /* @__PURE__ */ e("div", { className: "px-ds-03 pb-ds-02 pt-ds-03", children: /* @__PURE__ */ e("span", { className: "text-ds-xs font-semibold uppercase tracking-wider text-surface-fg-subtle", children: a.label }) }),
352
- a.items.map((i) => {
353
- const E = ve.get(i.id) ?? 0, K = E === f;
354
- return /* @__PURE__ */ r(
355
- x.button,
356
- {
357
- id: `command-bar-item-${W}-${i.id}`,
358
- type: "button",
359
- role: "option",
360
- "aria-selected": K,
361
- "data-command-index": E,
362
- initial: z ?? { opacity: 0, y: 4 },
363
- animate: { opacity: 1, y: 0 },
364
- transition: b ? F : { ...ue.snappy, delay: E * 0.03 },
365
- onClick: () => {
366
- i.onSelect(), d === "floating" && w(!1);
367
- },
368
- onMouseEnter: () => C(E),
369
- className: u(
370
- "flex w-full items-center gap-ds-04 rounded-ds-lg px-ds-03 py-ds-03 text-left transition-[color,background-color] duration-fast-02 ease-productive-standard",
371
- K ? "bg-surface-raised-hover text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"
372
- ),
373
- children: [
374
- i.icon && /* @__PURE__ */ e(
375
- "span",
376
- {
377
- className: u(
378
- "[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0 transition-colors duration-fast-02 ease-productive-standard",
379
- K ? "text-accent-11" : "text-surface-fg-subtle"
380
- ),
381
- "aria-hidden": "true",
382
- children: i.icon
383
- }
384
- ),
385
- /* @__PURE__ */ r("div", { className: "flex flex-1 flex-col", children: [
386
- /* @__PURE__ */ e("span", { className: "text-ds-md", children: i.renderLabel ? i.renderLabel(o) : i.label }),
387
- i.description && /* @__PURE__ */ e("span", { className: "text-ds-sm text-surface-fg-subtle", children: i.description })
388
- ] }),
389
- /* @__PURE__ */ e(_, { children: K && /* @__PURE__ */ e(
390
- x.span,
391
- {
392
- initial: b ? void 0 : { opacity: 0 },
393
- animate: { opacity: 1 },
394
- exit: b ? void 0 : { opacity: 0 },
395
- transition: P,
396
- className: "inline-flex shrink-0",
397
- children: /* @__PURE__ */ e(
398
- v,
399
- {
400
- icon: le,
401
- size: "sm",
402
- stroke: "light",
403
- className: "text-surface-fg-subtle"
404
- }
405
- )
406
- }
407
- ) })
408
- ]
409
- },
410
- i.id
411
- );
412
- })
413
- ]
414
- },
415
- a.label
416
- ))
417
- ]
418
- }
419
- );
420
- return d === "hero" ? /* @__PURE__ */ r(
421
- "div",
422
- {
423
- ref: U,
424
- role: "search",
425
- className: u(
426
- "bg-surface-raised rounded-ds-xl shadow-raised p-ds-07",
427
- T
428
- ),
429
- ...G,
430
- children: [
431
- ee && /* @__PURE__ */ e("p", { className: "text-ds-lg text-surface-fg-muted mb-ds-04", children: ee }),
432
- X(),
433
- Y(),
434
- q && q.length > 0 && /* @__PURE__ */ e("div", { className: "mt-ds-04 flex flex-wrap gap-ds-02b", children: q.map((t) => /* @__PURE__ */ e(
435
- "button",
436
- {
437
- type: "button",
438
- onClick: () => {
439
- k(t), L?.(t), S.current?.focus();
440
- },
441
- className: "rounded-ds-md border border-surface-border-strong bg-surface-overlay px-ds-03 py-ds-01 text-ds-sm text-surface-fg-subtle transition-colors duration-fast-02 ease-productive-standard hover:bg-surface-raised-hover hover:text-surface-fg-muted",
442
- children: t
443
- },
444
- t
445
- )) }),
446
- N && /* @__PURE__ */ e("div", { className: "mt-ds-05", children: N })
447
- ]
448
- }
449
- ) : d === "inline" ? /* @__PURE__ */ r(
450
- "div",
451
- {
452
- ref: U,
453
- role: "search",
454
- className: u("w-full", T),
455
- ...G,
456
- children: [
457
- X(),
458
- Y(),
459
- N && /* @__PURE__ */ e("div", { className: "mt-ds-03", children: N })
460
- ]
461
- }
462
- ) : /* @__PURE__ */ e(Ae, { open: R, onOpenChange: (t) => {
463
- w(t);
464
- }, children: /* @__PURE__ */ r(Ee, { children: [
465
- /* @__PURE__ */ e(Me, { className: "fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }),
466
- /* @__PURE__ */ r(
467
- Re,
468
- {
469
- ref: U,
470
- ...G,
471
- className: u(
472
- "fixed left-1/2 top-[20%] z-modal w-full max-w-[560px] -translate-x-1/2",
473
- "overflow-hidden rounded-ds-xl border border-surface-border-strong bg-surface-overlay shadow-overlay",
474
- "duration-moderate-02 data-[state=open]:animate-in data-[state=closed]:animate-out",
475
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
476
- "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
477
- "data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2",
478
- "data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2",
479
- T
480
- ),
481
- children: [
482
- /* @__PURE__ */ r(Pe, { children: [
483
- /* @__PURE__ */ e(Se, { children: "AI Command Bar" }),
484
- /* @__PURE__ */ e(ze, { children: "Search commands or ask a question" })
485
- ] }),
486
- /* @__PURE__ */ e("div", { className: "p-ds-04", children: X() }),
487
- Y(),
488
- N && /* @__PURE__ */ e("div", { className: "border-t border-surface-border-strong p-ds-04", children: N }),
489
- /* @__PURE__ */ r(
490
- x.div,
491
- {
492
- initial: z ?? { opacity: 0 },
493
- animate: { opacity: 1 },
494
- transition: P,
495
- className: "flex items-center gap-ds-05 border-t border-surface-border-strong px-ds-05 py-ds-03",
496
- children: [
497
- c && /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
498
- /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-01", children: [
499
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd", children: /* @__PURE__ */ e(v, { icon: Le, size: "xs", className: "text-surface-fg-subtle" }) }),
500
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd", children: /* @__PURE__ */ e(v, { icon: Be, size: "xs", className: "text-surface-fg-subtle" }) })
501
- ] }),
502
- /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Navigate" })
503
- ] }),
504
- /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
505
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b shadow-kbd", children: /* @__PURE__ */ e(v, { icon: le, size: "xs", className: "text-surface-fg-subtle" }) }),
506
- /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Submit" })
507
- ] }),
508
- /* @__PURE__ */ r("div", { className: "flex items-center gap-ds-02b", children: [
509
- /* @__PURE__ */ e("kbd", { className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b text-ds-xs font-medium text-surface-fg-subtle shadow-kbd", children: "Esc" }),
510
- /* @__PURE__ */ e("span", { className: "text-ds-xs text-surface-fg-subtle", children: "Close" })
511
- ] })
512
- ]
513
- }
514
- )
515
- ]
516
- }
517
- )
518
- ] }) });
519
- }
520
- );
521
- Ue.displayName = "CommandBar";
522
- export {
523
- Ue as CommandBar
524
- };
110
+ var m = l.forwardRef(function({ onSubmit: u, state: m = "idle", groups: h = [], onSearch: _e, emptyMessage: ve = "No results found.", emptyState: ye, variant: g = "hero", placeholder: _ = "Ask anything...", placeholderInterval: be = 5e3, greeting: v, hints: y, agentName: b, agentIcon: xe, open: x, defaultOpen: Se, onOpenChange: S, keybinding: C = "mod+j", disabled: w = !1, maxHeight: T = "320px", children: E, className: D, ...O }, k) {
111
+ let A = x !== void 0, [Ce, we] = l.useState(Se ?? !1), j = A ? x : Ce, M = l.useRef(j);
112
+ M.current = j;
113
+ let N = l.useCallback((e) => {
114
+ let t = typeof e == "function" ? e(M.current) : e;
115
+ A || we(t), S?.(t);
116
+ }, [A, S]), [P, F] = l.useState(""), [I, L] = l.useState(-1), [Te, Ee] = l.useState(""), [R, De] = l.useState(!1), [z, Oe] = l.useState(!1), B = l.useRef(null), ke = l.useRef(null), V = l.useId(), Ae = `command-bar-listbox-${V}`, { reducedMotion: H } = ie(), U = { duration: 0 }, je = l.useMemo(() => se(), []), W = l.useMemo(() => Array.isArray(_) ? _ : [_], [_]), G = h.length > 0, K = l.useMemo(() => {
117
+ if (!G) return [];
118
+ if (!P.trim()) return h;
119
+ let e = P.toLowerCase();
120
+ return h.map((t) => ({
121
+ ...t,
122
+ items: t.items.filter((t) => me(t).toLowerCase().includes(e) || he(t).toLowerCase().includes(e))
123
+ })).filter((e) => e.items.length > 0);
124
+ }, [
125
+ h,
126
+ P,
127
+ G
128
+ ]), q = l.useMemo(() => K.flatMap((e) => e.items), [K]), Me = l.useMemo(() => {
129
+ let e = /* @__PURE__ */ new Map(), t = 0;
130
+ for (let n of K) for (let r of n.items) e.set(r.id, t++);
131
+ return e;
132
+ }, [K]), Ne = typeof T == "number" ? `${T}px` : T;
133
+ l.useEffect(() => {
134
+ if (g !== "floating" || C === !1) return;
135
+ let e = Array.isArray(C) ? C : [C];
136
+ function t(t) {
137
+ for (let n of e) if (oe(t, n)) {
138
+ t.preventDefault(), N((e) => !e);
139
+ return;
140
+ }
141
+ }
142
+ return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
143
+ }, [
144
+ g,
145
+ C,
146
+ N
147
+ ]), l.useEffect(() => {
148
+ g === "floating" && j && (F(""), L(-1), requestAnimationFrame(() => {
149
+ B.current?.focus();
150
+ }));
151
+ }, [g, j]), l.useEffect(() => {
152
+ I < 0 || (ke.current?.querySelector(`[data-command-index="${I}"]`))?.scrollIntoView({ block: "nearest" });
153
+ }, [I]);
154
+ let Pe = (e) => {
155
+ F(e), L(G && e.trim() ? 0 : -1), _e?.(e);
156
+ }, Fe = l.useCallback(() => {
157
+ !P.trim() || w || (Ee(P), u?.(P));
158
+ }, [
159
+ P,
160
+ w,
161
+ u
162
+ ]), Ie = (e) => {
163
+ switch (e.key) {
164
+ case "ArrowDown":
165
+ if (!G || q.length === 0) return;
166
+ e.preventDefault(), L((e) => e < q.length - 1 ? e + 1 : 0);
167
+ break;
168
+ case "ArrowUp":
169
+ G && q.length > 0 ? (e.preventDefault(), L((e) => e > 0 ? e - 1 : q.length - 1)) : !G && !P && Te && (e.preventDefault(), F(Te));
170
+ break;
171
+ case "Enter":
172
+ e.preventDefault(), e.metaKey || e.ctrlKey ? Fe() : G && I >= 0 && q[I] ? (q[I].onSelect(), g === "floating" && N(!1)) : Fe();
173
+ break;
174
+ case "Escape":
175
+ e.preventDefault(), m === "responded" ? F("") : g === "floating" ? N(!1) : B.current?.blur();
176
+ break;
177
+ }
178
+ }, Le = () => {
179
+ F(""), L(-1), B.current?.focus();
180
+ };
181
+ l.useEffect(() => {
182
+ if (z) {
183
+ let e = setTimeout(() => Oe(!1), 500);
184
+ return () => clearTimeout(e);
185
+ }
186
+ }, [z]), H || n.snappy;
187
+ let J = H ? U : r.fade, Y = H ? {
188
+ opacity: 1,
189
+ scale: 1,
190
+ y: 0
191
+ } : void 0, X = g === "inline", Z = m === "processing", Re = m === "responded", Q = () => /* @__PURE__ */ d(pe, {
192
+ active: Z,
193
+ rounded: X ? "rounded-ds-md" : "rounded-ds-lg",
194
+ reducedMotion: H,
195
+ children: /* @__PURE__ */ f("div", {
196
+ className: i("flex items-center gap-ds-04 border bg-surface-overlay transition-colors transition-shadow duration-fast-02 ease-productive-standard", X ? "rounded-ds-md px-ds-04" : "rounded-ds-lg px-ds-05", Z ? "border-transparent" : "border-surface-border-strong", R && !Z && "border-accent-7 shadow-ring", z && "animate-shake"),
197
+ children: [
198
+ /* @__PURE__ */ d(a, {
199
+ icon: de,
200
+ size: X ? "xs" : "sm",
201
+ stroke: "light",
202
+ className: i("shrink-0 transition-colors duration-fast-02 ease-productive-standard", R ? "text-accent-9" : "text-surface-fg-subtle")
203
+ }),
204
+ /* @__PURE__ */ f("div", {
205
+ className: "relative flex flex-1 items-center",
206
+ children: [!P && !R && W.length > 1 && /* @__PURE__ */ d(ge, {
207
+ placeholders: W,
208
+ interval: be,
209
+ paused: R || !!P
210
+ }), /* @__PURE__ */ d("input", {
211
+ ref: B,
212
+ value: P,
213
+ onChange: (e) => Pe(e.target.value),
214
+ onFocus: () => De(!0),
215
+ onBlur: () => De(!1),
216
+ onKeyDown: Ie,
217
+ placeholder: W.length === 1 || R ? W[0] : "",
218
+ readOnly: Z,
219
+ disabled: w,
220
+ role: "combobox",
221
+ "aria-expanded": G && q.length > 0,
222
+ "aria-controls": G ? Ae : void 0,
223
+ "aria-activedescendant": G && I >= 0 && q[I] ? `command-bar-item-${V}-${q[I].id}` : void 0,
224
+ "aria-autocomplete": G ? "list" : void 0,
225
+ "aria-label": b ? `Ask ${b}` : "AI Command Bar",
226
+ className: i("flex-1 bg-transparent text-surface-fg outline-hidden", "placeholder:text-surface-fg-subtle", X ? "h-9 text-ds-sm" : "h-12 text-ds-base", Z && "cursor-wait", w && "cursor-not-allowed opacity-50"),
227
+ autoComplete: "off",
228
+ autoCorrect: "off",
229
+ spellCheck: !1
230
+ })]
231
+ }),
232
+ Z ? /* @__PURE__ */ d("span", {
233
+ "data-testid": "command-bar-spinner",
234
+ className: "shrink-0",
235
+ children: /* @__PURE__ */ d(a, {
236
+ icon: ue,
237
+ size: X ? "xs" : "sm",
238
+ stroke: "light",
239
+ animate: "spin",
240
+ className: "text-accent-9"
241
+ })
242
+ }) : Re ? /* @__PURE__ */ d("button", {
243
+ type: "button",
244
+ onClick: Le,
245
+ className: "shrink-0 rounded-ds-sm p-ds-01 text-surface-fg-subtle transition-colors duration-fast-01 hover:bg-surface-raised-hover hover:text-surface-fg-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9",
246
+ "aria-label": "Clear",
247
+ title: "Clear",
248
+ children: /* @__PURE__ */ d(a, {
249
+ icon: fe,
250
+ size: X ? "xs" : "sm",
251
+ stroke: "light"
252
+ })
253
+ }) : g === "hero" ? /* @__PURE__ */ d(t, { children: !R && /* @__PURE__ */ f(e.kbd, {
254
+ initial: Y ?? { opacity: 0 },
255
+ animate: { opacity: 1 },
256
+ exit: H ? void 0 : { opacity: 0 },
257
+ transition: J,
258
+ className: "hidden shrink-0 select-none rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b py-ds-01 text-ds-sm font-medium text-surface-fg-subtle shadow-kbd sm:inline-flex",
259
+ children: [ae(je), "J"]
260
+ }) }) : null
261
+ ]
262
+ })
263
+ }), $ = () => !G || !(q.length > 0 || P.trim() && K.length === 0) && !P.trim() ? null : /* @__PURE__ */ f("div", {
264
+ ref: ke,
265
+ id: Ae,
266
+ role: "listbox",
267
+ "aria-label": "Command results",
268
+ className: "overflow-y-auto px-ds-03 py-ds-03",
269
+ style: { maxHeight: Ne },
270
+ children: [K.length === 0 && P.trim() && /* @__PURE__ */ d(e.div, {
271
+ initial: Y ?? { opacity: 0 },
272
+ animate: { opacity: 1 },
273
+ transition: J,
274
+ className: "flex items-center justify-center py-ds-07",
275
+ children: ye ?? /* @__PURE__ */ d("p", {
276
+ className: "text-ds-md text-surface-fg-subtle",
277
+ children: ve
278
+ })
279
+ }), K.map((o, s) => /* @__PURE__ */ f(e.div, {
280
+ initial: Y ?? { opacity: 0 },
281
+ animate: { opacity: 1 },
282
+ transition: H ? U : {
283
+ ...r.fade,
284
+ delay: s * .06
285
+ },
286
+ className: "mb-ds-02",
287
+ children: [/* @__PURE__ */ d("div", {
288
+ className: "px-ds-03 pb-ds-02 pt-ds-03",
289
+ children: /* @__PURE__ */ d("span", {
290
+ className: "text-ds-xs font-semibold uppercase tracking-wider text-surface-fg-subtle",
291
+ children: o.label
292
+ })
293
+ }), o.items.map((r) => {
294
+ let o = Me.get(r.id) ?? 0, s = o === I;
295
+ return /* @__PURE__ */ f(e.button, {
296
+ id: `command-bar-item-${V}-${r.id}`,
297
+ type: "button",
298
+ role: "option",
299
+ "aria-selected": s,
300
+ "data-command-index": o,
301
+ initial: Y ?? {
302
+ opacity: 0,
303
+ y: 4
304
+ },
305
+ animate: {
306
+ opacity: 1,
307
+ y: 0
308
+ },
309
+ transition: H ? U : {
310
+ ...n.snappy,
311
+ delay: o * .03
312
+ },
313
+ onClick: () => {
314
+ r.onSelect(), g === "floating" && N(!1);
315
+ },
316
+ onMouseEnter: () => L(o),
317
+ className: i("flex w-full items-center gap-ds-04 rounded-ds-lg px-ds-03 py-ds-03 text-left transition-[color,background-color] duration-fast-02 ease-productive-standard", s ? "bg-surface-raised-hover text-surface-fg" : "text-surface-fg-muted hover:bg-surface-raised"),
318
+ children: [
319
+ r.icon && /* @__PURE__ */ d("span", {
320
+ className: i("[&>svg]:h-ico-sm [&>svg]:w-ico-sm shrink-0 transition-colors duration-fast-02 ease-productive-standard", s ? "text-accent-11" : "text-surface-fg-subtle"),
321
+ "aria-hidden": "true",
322
+ children: r.icon
323
+ }),
324
+ /* @__PURE__ */ f("div", {
325
+ className: "flex flex-1 flex-col",
326
+ children: [/* @__PURE__ */ d("span", {
327
+ className: "text-ds-md",
328
+ children: r.renderLabel ? r.renderLabel(P) : r.label
329
+ }), r.description && /* @__PURE__ */ d("span", {
330
+ className: "text-ds-sm text-surface-fg-subtle",
331
+ children: r.description
332
+ })]
333
+ }),
334
+ /* @__PURE__ */ d(t, { children: s && /* @__PURE__ */ d(e.span, {
335
+ initial: H ? void 0 : { opacity: 0 },
336
+ animate: { opacity: 1 },
337
+ exit: H ? void 0 : { opacity: 0 },
338
+ transition: J,
339
+ className: "inline-flex shrink-0",
340
+ children: /* @__PURE__ */ d(a, {
341
+ icon: p,
342
+ size: "sm",
343
+ stroke: "light",
344
+ className: "text-surface-fg-subtle"
345
+ })
346
+ }) })
347
+ ]
348
+ }, r.id);
349
+ })]
350
+ }, o.label))]
351
+ });
352
+ return g === "hero" ? /* @__PURE__ */ f("div", {
353
+ ref: k,
354
+ role: "search",
355
+ className: i("bg-surface-raised rounded-ds-xl shadow-raised p-ds-07", D),
356
+ ...O,
357
+ children: [
358
+ v && /* @__PURE__ */ d("p", {
359
+ className: "text-ds-lg text-surface-fg-muted mb-ds-04",
360
+ children: v
361
+ }),
362
+ Q(),
363
+ $(),
364
+ y && y.length > 0 && /* @__PURE__ */ d("div", {
365
+ className: "mt-ds-04 flex flex-wrap gap-ds-02b",
366
+ children: y.map((e) => /* @__PURE__ */ d("button", {
367
+ type: "button",
368
+ onClick: () => {
369
+ F(e), _e?.(e), B.current?.focus();
370
+ },
371
+ className: "rounded-ds-md border border-surface-border-strong bg-surface-overlay px-ds-03 py-ds-01 text-ds-sm text-surface-fg-subtle transition-colors duration-fast-02 ease-productive-standard hover:bg-surface-raised-hover hover:text-surface-fg-muted",
372
+ children: e
373
+ }, e))
374
+ }),
375
+ E && /* @__PURE__ */ d("div", {
376
+ className: "mt-ds-05",
377
+ children: E
378
+ })
379
+ ]
380
+ }) : g === "inline" ? /* @__PURE__ */ f("div", {
381
+ ref: k,
382
+ role: "search",
383
+ className: i("w-full", D),
384
+ ...O,
385
+ children: [
386
+ Q(),
387
+ $(),
388
+ E && /* @__PURE__ */ d("div", {
389
+ className: "mt-ds-03",
390
+ children: E
391
+ })
392
+ ]
393
+ }) : /* @__PURE__ */ d(o, {
394
+ open: j,
395
+ onOpenChange: (e) => {
396
+ N(e);
397
+ },
398
+ children: /* @__PURE__ */ f(te, { children: [/* @__PURE__ */ d(ee, { className: "fixed inset-0 z-overlay bg-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0" }), /* @__PURE__ */ f(s, {
399
+ ref: k,
400
+ ...O,
401
+ className: i("fixed left-1/2 top-[20%] z-modal w-full max-w-[560px] -translate-x-1/2", "overflow-hidden rounded-ds-xl border border-surface-border-strong bg-surface-overlay shadow-overlay", "duration-moderate-02 data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2", "data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2", D),
402
+ children: [
403
+ /* @__PURE__ */ f(re, { children: [/* @__PURE__ */ d(ne, { children: "AI Command Bar" }), /* @__PURE__ */ d(c, { children: "Search commands or ask a question" })] }),
404
+ /* @__PURE__ */ d("div", {
405
+ className: "p-ds-04",
406
+ children: Q()
407
+ }),
408
+ $(),
409
+ E && /* @__PURE__ */ d("div", {
410
+ className: "border-t border-surface-border-strong p-ds-04",
411
+ children: E
412
+ }),
413
+ /* @__PURE__ */ f(e.div, {
414
+ initial: Y ?? { opacity: 0 },
415
+ animate: { opacity: 1 },
416
+ transition: J,
417
+ className: "flex items-center gap-ds-05 border-t border-surface-border-strong px-ds-05 py-ds-03",
418
+ children: [
419
+ G && /* @__PURE__ */ f("div", {
420
+ className: "flex items-center gap-ds-02b",
421
+ children: [/* @__PURE__ */ f("div", {
422
+ className: "flex items-center gap-ds-01",
423
+ children: [/* @__PURE__ */ d("kbd", {
424
+ className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd",
425
+ children: /* @__PURE__ */ d(a, {
426
+ icon: le,
427
+ size: "xs",
428
+ className: "text-surface-fg-subtle"
429
+ })
430
+ }), /* @__PURE__ */ d("kbd", {
431
+ className: "inline-flex h-ico-md w-ico-md items-center justify-center rounded border border-surface-border-strong bg-surface-raised shadow-kbd",
432
+ children: /* @__PURE__ */ d(a, {
433
+ icon: ce,
434
+ size: "xs",
435
+ className: "text-surface-fg-subtle"
436
+ })
437
+ })]
438
+ }), /* @__PURE__ */ d("span", {
439
+ className: "text-ds-xs text-surface-fg-subtle",
440
+ children: "Navigate"
441
+ })]
442
+ }),
443
+ /* @__PURE__ */ f("div", {
444
+ className: "flex items-center gap-ds-02b",
445
+ children: [/* @__PURE__ */ d("kbd", {
446
+ className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b shadow-kbd",
447
+ children: /* @__PURE__ */ d(a, {
448
+ icon: p,
449
+ size: "xs",
450
+ className: "text-surface-fg-subtle"
451
+ })
452
+ }), /* @__PURE__ */ d("span", {
453
+ className: "text-ds-xs text-surface-fg-subtle",
454
+ children: "Submit"
455
+ })]
456
+ }),
457
+ /* @__PURE__ */ f("div", {
458
+ className: "flex items-center gap-ds-02b",
459
+ children: [/* @__PURE__ */ d("kbd", {
460
+ className: "inline-flex h-[20px] items-center justify-center rounded-ds-md border border-surface-border-strong bg-surface-raised px-ds-02b text-ds-xs font-medium text-surface-fg-subtle shadow-kbd",
461
+ children: "Esc"
462
+ }), /* @__PURE__ */ d("span", {
463
+ className: "text-ds-xs text-surface-fg-subtle",
464
+ children: "Close"
465
+ })]
466
+ })
467
+ ]
468
+ })
469
+ ]
470
+ })] })
471
+ });
472
+ });
473
+ m.displayName = "CommandBar";
474
+ //#endregion
475
+ export { m as CommandBar };