@admin-layout/tailwind-ui 12.2.4-alpha.33 → 12.2.4-alpha.35

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 (331) hide show
  1. package/lib/components/AIToolbar/components/AIToolBar.d.ts +22 -0
  2. package/lib/components/AIToolbar/components/AIToolBar.d.ts.map +1 -0
  3. package/lib/components/AIToolbar/components/AIToolBar.js +83 -0
  4. package/lib/components/AIToolbar/components/AIToolBar.js.map +1 -0
  5. package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts +14 -0
  6. package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts.map +1 -0
  7. package/lib/components/AIToolbar/components/AIToolbarPrimitives.js +60 -0
  8. package/lib/components/AIToolbar/components/AIToolbarPrimitives.js.map +1 -0
  9. package/lib/components/AIToolbar/components/CustomCursor.d.ts +2 -0
  10. package/lib/components/AIToolbar/components/CustomCursor.d.ts.map +1 -0
  11. package/lib/components/AIToolbar/components/CustomCursor.js +66 -0
  12. package/lib/components/AIToolbar/components/CustomCursor.js.map +1 -0
  13. package/lib/components/AIToolbar/components/DragButton.d.ts +9 -0
  14. package/lib/components/AIToolbar/components/DragButton.d.ts.map +1 -0
  15. package/lib/components/AIToolbar/components/DragButton.js +57 -0
  16. package/lib/components/AIToolbar/components/DragButton.js.map +1 -0
  17. package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts +7 -0
  18. package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts.map +1 -0
  19. package/lib/components/AIToolbar/components/Markdown/copy-button.js +30 -0
  20. package/lib/components/AIToolbar/components/Markdown/copy-button.js.map +1 -0
  21. package/lib/components/AIToolbar/components/Markdown/index.d.ts +7 -0
  22. package/lib/components/AIToolbar/components/Markdown/index.d.ts.map +1 -0
  23. package/lib/components/AIToolbar/components/Markdown/index.js +46 -0
  24. package/lib/components/AIToolbar/components/Markdown/index.js.map +1 -0
  25. package/lib/components/AIToolbar/components/completion/Audio.d.ts +3 -0
  26. package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
  27. package/lib/components/AIToolbar/components/completion/Audio.js +65 -0
  28. package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
  29. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
  30. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
  31. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
  32. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
  33. package/lib/components/AIToolbar/components/completion/Files.d.ts +6 -0
  34. package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
  35. package/lib/components/AIToolbar/components/completion/Files.js +134 -0
  36. package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
  37. package/lib/components/AIToolbar/components/completion/Input.d.ts +5 -0
  38. package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
  39. package/lib/components/AIToolbar/components/completion/Input.js +169 -0
  40. package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
  41. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
  42. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
  43. package/lib/components/AIToolbar/components/completion/MessageHistory.js +90 -0
  44. package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
  45. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +6 -0
  46. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
  47. package/lib/components/AIToolbar/components/completion/Screenshot.js +28 -0
  48. package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
  49. package/lib/components/AIToolbar/components/completion/index.d.ts +10 -0
  50. package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
  51. package/lib/components/AIToolbar/components/completion/index.js +20 -0
  52. package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
  53. package/lib/components/AIToolbar/components/index.d.ts +17 -0
  54. package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
  55. package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
  56. package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
  57. package/lib/components/AIToolbar/components/speech/Header.js +82 -0
  58. package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
  59. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
  60. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
  61. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
  62. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
  63. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +8 -0
  64. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
  65. package/lib/components/AIToolbar/components/speech/PermissionFlow.js +161 -0
  66. package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
  67. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
  68. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
  69. package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
  70. package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
  71. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
  72. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
  73. package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
  74. package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
  75. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts +12 -0
  76. package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts.map +1 -0
  77. package/lib/components/AIToolbar/components/speech/ResultsSection.js +132 -0
  78. package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
  79. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +12 -0
  80. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
  81. package/lib/components/AIToolbar/components/speech/SettingsPanel.js +289 -0
  82. package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
  83. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
  84. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
  85. package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
  86. package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
  87. package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
  88. package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
  89. package/lib/components/AIToolbar/components/speech/Warning.js +154 -0
  90. package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
  91. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
  92. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
  93. package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
  94. package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
  95. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
  96. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
  97. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
  98. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
  99. package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
  100. package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
  101. package/lib/components/AIToolbar/components/speech/index.js +292 -0
  102. package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
  103. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
  104. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
  105. package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
  106. package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
  107. package/lib/components/AIToolbar/components/types.d.ts +175 -0
  108. package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
  109. package/lib/components/AIToolbar/index.d.ts +5 -0
  110. package/lib/components/AIToolbar/index.d.ts.map +1 -0
  111. package/lib/components/Button/Button.d.ts +1 -1
  112. package/lib/components/Button/Button.d.ts.map +1 -1
  113. package/lib/components/Button/Button.js +7 -6
  114. package/lib/components/Button/Button.js.map +1 -1
  115. package/lib/components/DatePicker/DatePicker.js +157 -139
  116. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  117. package/lib/components/Dialog/Dialog.d.ts +2 -2
  118. package/lib/components/Dialog/Dialog.d.ts.map +1 -1
  119. package/lib/components/Dialog/Dialog.js +54 -41
  120. package/lib/components/Dialog/Dialog.js.map +1 -1
  121. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
  122. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
  123. package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
  124. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
  125. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
  126. package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
  127. package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
  128. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
  129. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
  130. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
  131. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
  132. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +1 -2
  133. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
  134. package/lib/components/ErrorHandlers/RemixErrorBoundary.js +177 -152
  135. package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
  136. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +1 -2
  137. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
  138. package/lib/components/ErrorHandlers/SPAErrorBoundary.js +207 -168
  139. package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
  140. package/lib/components/ErrorPages/403.d.ts +1 -2
  141. package/lib/components/ErrorPages/403.d.ts.map +1 -1
  142. package/lib/components/ErrorPages/403.js +26 -18
  143. package/lib/components/ErrorPages/403.js.map +1 -1
  144. package/lib/components/ErrorPages/404.d.ts +1 -2
  145. package/lib/components/ErrorPages/404.d.ts.map +1 -1
  146. package/lib/components/ErrorPages/404.js +26 -18
  147. package/lib/components/ErrorPages/404.js.map +1 -1
  148. package/lib/components/ErrorPages/500.d.ts +1 -2
  149. package/lib/components/ErrorPages/500.d.ts.map +1 -1
  150. package/lib/components/ErrorPages/500.js +26 -18
  151. package/lib/components/ErrorPages/500.js.map +1 -1
  152. package/lib/components/InputToolBar/InputToolBar.d.ts +1 -2
  153. package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -1
  154. package/lib/components/InputToolBar/InputToolBar.js +286 -242
  155. package/lib/components/InputToolBar/InputToolBar.js.map +1 -1
  156. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
  157. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
  158. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
  159. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
  160. package/lib/components/Markdown/MarkdownBreadcrumbs.js +25 -18
  161. package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -1
  162. package/lib/components/Markdown/MarkdownCopyButton.js +136 -107
  163. package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -1
  164. package/lib/components/Markdown/MarkdownHeader.js +35 -20
  165. package/lib/components/Markdown/MarkdownHeader.js.map +1 -1
  166. package/lib/components/Markdown/MarkdownNavigation.js +29 -22
  167. package/lib/components/Markdown/MarkdownNavigation.js.map +1 -1
  168. package/lib/components/Markdown/MarkdownPage.js +133 -116
  169. package/lib/components/Markdown/MarkdownPage.js.map +1 -1
  170. package/lib/components/Markdown/MarkdownTableOfContents.js +31 -25
  171. package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -1
  172. package/lib/components/OTP/OTPInput.js +32 -30
  173. package/lib/components/OTP/OTPInput.js.map +1 -1
  174. package/lib/components/OTP/OTPVerification.js +75 -55
  175. package/lib/components/OTP/OTPVerification.js.map +1 -1
  176. package/lib/components/OTP/SingleInput.js +2 -2
  177. package/lib/components/OTP/SingleInput.js.map +1 -1
  178. package/lib/components/PageContainer/PageContainer.js +29 -22
  179. package/lib/components/PageContainer/PageContainer.js.map +1 -1
  180. package/lib/components/PageLoading/index.js +8 -7
  181. package/lib/components/PageLoading/index.js.map +1 -1
  182. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
  183. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
  184. package/lib/components/ReactTable/Table.d.ts +1 -2
  185. package/lib/components/ReactTable/Table.d.ts.map +1 -1
  186. package/lib/components/ReactTable/Table.js +92 -71
  187. package/lib/components/ReactTable/Table.js.map +1 -1
  188. package/lib/components/ReactTable/TableFilters.d.ts +2 -3
  189. package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
  190. package/lib/components/ReactTable/TableFilters.js +40 -34
  191. package/lib/components/ReactTable/TableFilters.js.map +1 -1
  192. package/lib/components/Search/SearchInput.d.ts +1 -2
  193. package/lib/components/Search/SearchInput.d.ts.map +1 -1
  194. package/lib/components/Search/SearchInput.js +14 -13
  195. package/lib/components/Search/SearchInput.js.map +1 -1
  196. package/lib/components/Select/Select.d.ts +6 -6
  197. package/lib/components/Select/Select.d.ts.map +1 -1
  198. package/lib/components/Select/Select.js +60 -45
  199. package/lib/components/Select/Select.js.map +1 -1
  200. package/lib/components/Spin/index.js +14 -11
  201. package/lib/components/Spin/index.js.map +1 -1
  202. package/lib/components/ThemeProvider/ThemeProvider.js +5 -4
  203. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
  204. package/lib/components/ThemeProvider/ThemeToggle.js +27 -24
  205. package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
  206. package/lib/components/index.d.ts +2 -0
  207. package/lib/components/index.d.ts.map +1 -1
  208. package/lib/hooks/useToast.d.ts +1 -1
  209. package/lib/hooks/useToast.d.ts.map +1 -1
  210. package/lib/hooks/useToast.js +46 -37
  211. package/lib/hooks/useToast.js.map +1 -1
  212. package/lib/index.js +1 -1
  213. package/lib/shardui/accordion.js +20 -16
  214. package/lib/shardui/accordion.js.map +1 -1
  215. package/lib/shardui/alert-dialog.d.ts +2 -2
  216. package/lib/shardui/alert-dialog.js +15 -13
  217. package/lib/shardui/alert-dialog.js.map +1 -1
  218. package/lib/shardui/alert.js +4 -4
  219. package/lib/shardui/alert.js.map +1 -1
  220. package/lib/shardui/avatar.js +4 -4
  221. package/lib/shardui/avatar.js.map +1 -1
  222. package/lib/shardui/badge.d.ts +1 -1
  223. package/lib/shardui/badge.d.ts.map +1 -1
  224. package/lib/shardui/badge.js +2 -2
  225. package/lib/shardui/badge.js.map +1 -1
  226. package/lib/shardui/breadcrumb.d.ts +2 -2
  227. package/lib/shardui/breadcrumb.js +19 -16
  228. package/lib/shardui/breadcrumb.js.map +1 -1
  229. package/lib/shardui/button.js +2 -2
  230. package/lib/shardui/button.js.map +1 -1
  231. package/lib/shardui/calendar.d.ts +1 -1
  232. package/lib/shardui/calendar.d.ts.map +1 -1
  233. package/lib/shardui/calendar.js +4 -4
  234. package/lib/shardui/card.js +7 -7
  235. package/lib/shardui/card.js.map +1 -1
  236. package/lib/shardui/carousel.js +40 -33
  237. package/lib/shardui/carousel.js.map +1 -1
  238. package/lib/shardui/chart.d.ts +1 -1
  239. package/lib/shardui/chart.d.ts.map +1 -1
  240. package/lib/shardui/chart.js +81 -66
  241. package/lib/shardui/chart.js.map +1 -1
  242. package/lib/shardui/checkbox.js +10 -8
  243. package/lib/shardui/checkbox.js.map +1 -1
  244. package/lib/shardui/command.d.ts +2 -2
  245. package/lib/shardui/command.d.ts.map +1 -1
  246. package/lib/shardui/command.js +28 -24
  247. package/lib/shardui/command.js.map +1 -1
  248. package/lib/shardui/context-menu.d.ts +1 -1
  249. package/lib/shardui/context-menu.js +41 -30
  250. package/lib/shardui/context-menu.js.map +1 -1
  251. package/lib/shardui/dialog.d.ts +2 -2
  252. package/lib/shardui/dialog.js +22 -17
  253. package/lib/shardui/dialog.js.map +1 -1
  254. package/lib/shardui/drawer.d.ts +3 -3
  255. package/lib/shardui/drawer.js +17 -14
  256. package/lib/shardui/drawer.js.map +1 -1
  257. package/lib/shardui/dropdown-menu.d.ts +1 -1
  258. package/lib/shardui/dropdown-menu.js +42 -31
  259. package/lib/shardui/dropdown-menu.js.map +1 -1
  260. package/lib/shardui/form.d.ts +1 -1
  261. package/lib/shardui/form.d.ts.map +1 -1
  262. package/lib/shardui/form.js +22 -19
  263. package/lib/shardui/form.js.map +1 -1
  264. package/lib/shardui/hover-card.js +2 -2
  265. package/lib/shardui/hover-card.js.map +1 -1
  266. package/lib/shardui/input-otp.js +16 -13
  267. package/lib/shardui/input-otp.js.map +1 -1
  268. package/lib/shardui/input.js +2 -2
  269. package/lib/shardui/input.js.map +1 -1
  270. package/lib/shardui/label.js +2 -2
  271. package/lib/shardui/label.js.map +1 -1
  272. package/lib/shardui/menubar.d.ts +1 -1
  273. package/lib/shardui/menubar.js +46 -35
  274. package/lib/shardui/menubar.js.map +1 -1
  275. package/lib/shardui/navigation-menu.js +28 -24
  276. package/lib/shardui/navigation-menu.js.map +1 -1
  277. package/lib/shardui/pagination.d.ts +5 -5
  278. package/lib/shardui/pagination.js +30 -22
  279. package/lib/shardui/pagination.js.map +1 -1
  280. package/lib/shardui/popover.js +10 -8
  281. package/lib/shardui/popover.js.map +1 -1
  282. package/lib/shardui/progress.js +10 -9
  283. package/lib/shardui/progress.js.map +1 -1
  284. package/lib/shardui/radio-group.js +11 -9
  285. package/lib/shardui/radio-group.js.map +1 -1
  286. package/lib/shardui/resizable.d.ts +3 -3
  287. package/lib/shardui/resizable.d.ts.map +1 -1
  288. package/lib/shardui/resizable.js +11 -9
  289. package/lib/shardui/resizable.js.map +1 -1
  290. package/lib/shardui/scroll-area.js +14 -11
  291. package/lib/shardui/scroll-area.js.map +1 -1
  292. package/lib/shardui/select.js +49 -35
  293. package/lib/shardui/select.js.map +1 -1
  294. package/lib/shardui/separator.js +2 -2
  295. package/lib/shardui/separator.js.map +1 -1
  296. package/lib/shardui/sheet.d.ts +2 -2
  297. package/lib/shardui/sheet.js +24 -19
  298. package/lib/shardui/sheet.js.map +1 -1
  299. package/lib/shardui/sidebar.js +104 -88
  300. package/lib/shardui/sidebar.js.map +1 -1
  301. package/lib/shardui/skeleton.d.ts +1 -1
  302. package/lib/shardui/skeleton.d.ts.map +1 -1
  303. package/lib/shardui/skeleton.js +2 -2
  304. package/lib/shardui/skeleton.js.map +1 -1
  305. package/lib/shardui/slider.js +12 -10
  306. package/lib/shardui/slider.js.map +1 -1
  307. package/lib/shardui/sonner.d.ts +1 -1
  308. package/lib/shardui/sonner.d.ts.map +1 -1
  309. package/lib/shardui/sonner.js +2 -2
  310. package/lib/shardui/sonner.js.map +1 -1
  311. package/lib/shardui/switch.js +7 -6
  312. package/lib/shardui/switch.js.map +1 -1
  313. package/lib/shardui/table.js +16 -15
  314. package/lib/shardui/table.js.map +1 -1
  315. package/lib/shardui/tabs.js +4 -4
  316. package/lib/shardui/tabs.js.map +1 -1
  317. package/lib/shardui/textarea.js +2 -2
  318. package/lib/shardui/textarea.js.map +1 -1
  319. package/lib/shardui/toast.js +12 -11
  320. package/lib/shardui/toast.js.map +1 -1
  321. package/lib/shardui/toaster.d.ts +1 -2
  322. package/lib/shardui/toaster.d.ts.map +1 -1
  323. package/lib/shardui/toaster.js +21 -14
  324. package/lib/shardui/toaster.js.map +1 -1
  325. package/lib/shardui/toggle-group.js +15 -12
  326. package/lib/shardui/toggle-group.js.map +1 -1
  327. package/lib/shardui/toggle.js +2 -2
  328. package/lib/shardui/toggle.js.map +1 -1
  329. package/lib/shardui/tooltip.js +2 -2
  330. package/lib/shardui/tooltip.js.map +1 -1
  331. package/package.json +6 -3
@@ -1,25 +1,25 @@
1
- import {Lightbulb,Zap,Search,Mic,Paperclip,Image,Camera,WandSparkles,Settings,X,Layout,Check,StopCircle,ArrowUpRight}from'lucide-react';import React__default,{useState,useMemo}from'react';import'../../utils/isBrowser/index.js';import {cn}from'../../utils/util.js';import'fast-deep-equal/react.js';const iconSize = 'h-3.5 w-3.5';
1
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Lightbulb,Zap,Search,Mic,Paperclip,Image,Camera,WandSparkles,Settings,X,Layout,Check,StopCircle,ArrowUpRight}from'lucide-react';import React__default,{useState,useMemo}from'react';import'../../utils/isBrowser/index.js';import {cn}from'../../utils/util.js';import'fast-deep-equal/react.js';const iconSize = 'h-3.5 w-3.5';
2
2
  const iconSizeRight = 'h-4 w-4';
3
3
  const defaultLeftIconMap = {
4
- search: React__default.createElement(Search, {
4
+ search: jsx(Search, {
5
5
  className: iconSize
6
6
  }),
7
- zap: React__default.createElement(Zap, {
7
+ zap: jsx(Zap, {
8
8
  className: iconSize
9
9
  }),
10
- lightbulb: React__default.createElement(Lightbulb, {
10
+ lightbulb: jsx(Lightbulb, {
11
11
  className: iconSize
12
12
  }),
13
13
  template: null // template is rendered as pill, not in icon group
14
14
  };
15
15
  const defaultRightIconMap = {
16
- projectSettings: React__default.createElement(Settings, {
16
+ projectSettings: jsx(Settings, {
17
17
  className: iconSizeRight
18
18
  }),
19
- tag: React__default.createElement(WandSparkles, {
19
+ tag: jsx(WandSparkles, {
20
20
  className: iconSizeRight
21
21
  }),
22
- chip: React__default.createElement("svg", {
22
+ chip: jsxs("svg", {
23
23
  className: iconSizeRight,
24
24
  viewBox: "0 0 24 24",
25
25
  fill: "none",
@@ -27,45 +27,46 @@ const defaultRightIconMap = {
27
27
  strokeWidth: "2",
28
28
  strokeLinecap: "round",
29
29
  strokeLinejoin: "round",
30
- "aria-hidden": true
31
- }, React__default.createElement("rect", {
32
- x: "4",
33
- y: "4",
34
- width: "16",
35
- height: "16",
36
- rx: "2",
37
- ry: "2"
38
- }), React__default.createElement("line", {
39
- x1: "9",
40
- y1: "9",
41
- x2: "15",
42
- y2: "9"
43
- }), React__default.createElement("line", {
44
- x1: "9",
45
- y1: "15",
46
- x2: "15",
47
- y2: "15"
48
- }), React__default.createElement("line", {
49
- x1: "9",
50
- y1: "9",
51
- x2: "9",
52
- y2: "15"
53
- }), React__default.createElement("line", {
54
- x1: "15",
55
- y1: "9",
56
- x2: "15",
57
- y2: "15"
58
- })),
59
- camera: React__default.createElement(Camera, {
30
+ "aria-hidden": true,
31
+ children: [jsx("rect", {
32
+ x: "4",
33
+ y: "4",
34
+ width: "16",
35
+ height: "16",
36
+ rx: "2",
37
+ ry: "2"
38
+ }), jsx("line", {
39
+ x1: "9",
40
+ y1: "9",
41
+ x2: "15",
42
+ y2: "9"
43
+ }), jsx("line", {
44
+ x1: "9",
45
+ y1: "15",
46
+ x2: "15",
47
+ y2: "15"
48
+ }), jsx("line", {
49
+ x1: "9",
50
+ y1: "9",
51
+ x2: "9",
52
+ y2: "15"
53
+ }), jsx("line", {
54
+ x1: "15",
55
+ y1: "9",
56
+ x2: "15",
57
+ y2: "15"
58
+ })]
59
+ }),
60
+ camera: jsx(Camera, {
60
61
  className: iconSizeRight
61
62
  }),
62
- image: React__default.createElement(Image, {
63
+ image: jsx(Image, {
63
64
  className: iconSizeRight
64
65
  }),
65
- attach: React__default.createElement(Paperclip, {
66
+ attach: jsx(Paperclip, {
66
67
  className: iconSizeRight
67
68
  }),
68
- mic: React__default.createElement(Mic, {
69
+ mic: jsx(Mic, {
69
70
  className: iconSizeRight
70
71
  })
71
72
  };
@@ -83,20 +84,21 @@ function MicSendButton({
83
84
  const base = 'inline-flex h-7 w-7 items-center justify-center rounded-2xl transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary border border-primary';
84
85
  const handleClick = isStop ? onStop : isSend ? onSend : onMic;
85
86
  const label = isStop ? 'Stop' : isSend ? 'Send' : 'Start voice input';
86
- return React__default.createElement("button", {
87
+ return jsx("button", {
87
88
  type: "button",
88
89
  "aria-label": label,
89
90
  title: label,
90
91
  onClick: handleClick,
91
92
  disabled: disabled && !isStop,
92
- className: cn(base, className)
93
- }, isStop ? React__default.createElement(StopCircle, {
94
- className: iconSizeRight
95
- }) : isSend ? React__default.createElement(ArrowUpRight, {
96
- className: iconSizeRight
97
- }) : React__default.createElement(Mic, {
98
- className: iconSizeRight
99
- }));
93
+ className: cn(base, className),
94
+ children: isStop ? jsx(StopCircle, {
95
+ className: iconSizeRight
96
+ }) : isSend ? jsx(ArrowUpRight, {
97
+ className: iconSizeRight
98
+ }) : jsx(Mic, {
99
+ className: iconSizeRight
100
+ })
101
+ });
100
102
  }
101
103
  function ToolbarIconButton({
102
104
  item,
@@ -107,7 +109,9 @@ function ToolbarIconButton({
107
109
  if (item.enabled === false) return null;
108
110
  const icon = item.customButton ?? item.icon ?? getDefaultIcon(item.id);
109
111
  if (item.customButton) {
110
- return React__default.createElement(React__default.Fragment, null, item.customButton);
112
+ return jsx(Fragment, {
113
+ children: item.customButton
114
+ });
111
115
  }
112
116
  const isDisabled = item.disabled === true || item.loading === true;
113
117
  const isActive = item.active === true;
@@ -117,17 +121,18 @@ function ToolbarIconButton({
117
121
  const rightVariantActive = cn('rounded-2xl text-primary hover:bg-secondary border border-transparent', classNames?.rightButtonActive);
118
122
  const rightVariantDefault = cn('rounded-2xl text-muted-foreground hover:bg-secondary/70 active:bg-secondary border border-transparent', classNames?.rightButton);
119
123
  const rightVariant = isDisabled ? rightVariantDisabled : isActive ? rightVariantActive : rightVariantDefault;
120
- return React__default.createElement("button", {
124
+ return jsx("button", {
121
125
  type: "button",
122
126
  "aria-label": item.label,
123
127
  title: item.label,
124
128
  onClick: item.onClick,
125
129
  disabled: isDisabled,
126
- className: cn(base, isLeftGroup ? leftVariant : rightVariant)
127
- }, item.loading ? React__default.createElement("div", {
128
- className: "h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent",
129
- "aria-hidden": true
130
- }) : icon);
130
+ className: cn(base, isLeftGroup ? leftVariant : rightVariant),
131
+ children: item.loading ? jsx("div", {
132
+ className: "h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent",
133
+ "aria-hidden": true
134
+ }) : icon
135
+ });
131
136
  }
132
137
  function LeftSection({
133
138
  leftItems,
@@ -136,38 +141,41 @@ function LeftSection({
136
141
  classNames
137
142
  }) {
138
143
  if (leftCustomRender != null) {
139
- return React__default.createElement("div", {
140
- className: cn('flex items-center gap-2', classNames?.leftGroup)
141
- }, leftCustomRender);
144
+ return jsx("div", {
145
+ className: cn('flex items-center gap-2', classNames?.leftGroup),
146
+ children: leftCustomRender
147
+ });
142
148
  }
143
149
  const left = leftItems ?? [];
144
150
  const leftEnabled = left.filter(item => item.enabled !== false);
145
151
  const hasTemplate = templateButton != null;
146
152
  const hasLeft = leftEnabled.length > 0 || hasTemplate;
147
153
  if (!hasLeft) return null;
148
- return React__default.createElement("div", {
149
- className: cn('flex items-center gap-2', classNames?.leftGroup)
150
- }, leftEnabled.length > 0 && React__default.createElement("div", {
151
- className: "flex items-center gap-1 rounded-full bg-secondary px-2 py-1"
152
- }, leftEnabled.map((item, index) => React__default.createElement(React__default.Fragment, {
153
- key: item.id
154
- }, React__default.createElement(ToolbarIconButton, {
155
- item: item,
156
- getDefaultIcon: id => defaultLeftIconMap[id] ?? null,
157
- isLeftGroup: true,
158
- classNames: classNames
159
- }), index < leftEnabled.length - 1 && React__default.createElement("span", {
160
- "aria-hidden": "true",
161
- className: "mx-1 h-5 w-px bg-border/70"
162
- })))), hasTemplate && React__default.createElement(TemplatePill, {
163
- label: templateButton.label,
164
- count: templateButton.count,
165
- selectedLabel: templateButton.selectedLabel,
166
- onClick: templateButton.onClick,
167
- onClearTemplate: templateButton.onClearTemplate,
168
- disabled: templateButton.disabled,
169
- classNames: classNames
170
- }));
154
+ return jsxs("div", {
155
+ className: cn('flex items-center gap-2', classNames?.leftGroup),
156
+ children: [leftEnabled.length > 0 && jsx("div", {
157
+ className: "flex items-center gap-1 rounded-full bg-secondary px-2 py-1",
158
+ children: leftEnabled.map((item, index) => jsxs(React__default.Fragment, {
159
+ children: [jsx(ToolbarIconButton, {
160
+ item: item,
161
+ getDefaultIcon: id => defaultLeftIconMap[id] ?? null,
162
+ isLeftGroup: true,
163
+ classNames: classNames
164
+ }), index < leftEnabled.length - 1 && jsx("span", {
165
+ "aria-hidden": "true",
166
+ className: "mx-1 h-5 w-px bg-border/70"
167
+ })]
168
+ }, item.id))
169
+ }), hasTemplate && jsx(TemplatePill, {
170
+ label: templateButton.label,
171
+ count: templateButton.count,
172
+ selectedLabel: templateButton.selectedLabel,
173
+ onClick: templateButton.onClick,
174
+ onClearTemplate: templateButton.onClearTemplate,
175
+ disabled: templateButton.disabled,
176
+ classNames: classNames
177
+ })]
178
+ });
171
179
  }
172
180
  function TemplatePill({
173
181
  label,
@@ -179,35 +187,40 @@ function TemplatePill({
179
187
  classNames
180
188
  }) {
181
189
  if (selectedLabel) {
182
- return React__default.createElement("div", {
183
- className: cn('flex items-center gap-1 px-2 py-1 rounded-full bg-primary/10 text-primary text-xs font-medium border border-primary/20', classNames?.templatePillSelected)
184
- }, React__default.createElement("span", {
185
- className: "truncate max-w-[120px]",
186
- title: selectedLabel
187
- }, selectedLabel), React__default.createElement("button", {
188
- type: "button",
189
- onClick: onClearTemplate,
190
- className: "ml-1 hover:bg-primary/20 rounded-full p-0.5 transition-colors",
191
- "aria-label": "Remove template",
192
- disabled: disabled
193
- }, React__default.createElement(X, {
194
- className: "h-3 w-3"
195
- })), React__default.createElement("button", {
196
- type: "button",
197
- onClick: onClick,
198
- className: "ml-1 hover:bg-primary/20 rounded-full p-0.5 transition-colors text-[10px]",
199
- "aria-label": "Change template",
200
- disabled: disabled
201
- }, "\u25BC"));
190
+ return jsxs("div", {
191
+ className: cn('flex items-center gap-1 px-2 py-1 rounded-full bg-primary/10 text-primary text-xs font-medium border border-primary/20', classNames?.templatePillSelected),
192
+ children: [jsx("span", {
193
+ className: "truncate max-w-[120px]",
194
+ title: selectedLabel,
195
+ children: selectedLabel
196
+ }), jsx("button", {
197
+ type: "button",
198
+ onClick: onClearTemplate,
199
+ className: "ml-1 hover:bg-primary/20 rounded-full p-0.5 transition-colors",
200
+ "aria-label": "Remove template",
201
+ disabled: disabled,
202
+ children: jsx(X, {
203
+ className: "h-3 w-3"
204
+ })
205
+ }), jsx("button", {
206
+ type: "button",
207
+ onClick: onClick,
208
+ className: "ml-1 hover:bg-primary/20 rounded-full p-0.5 transition-colors text-[10px]",
209
+ "aria-label": "Change template",
210
+ disabled: disabled,
211
+ children: "\u25BC"
212
+ })]
213
+ });
202
214
  }
203
215
  const text = count != null && count > 0 ? `${label} (${count})` : label;
204
- return React__default.createElement("button", {
216
+ return jsx("button", {
205
217
  type: "button",
206
218
  onClick: onClick,
207
219
  disabled: disabled,
208
220
  className: cn('flex items-center gap-1 rounded-full border border-border bg-muted/50 px-2 py-1 text-xs font-medium text-foreground transition-colors hover:border-primary hover:bg-primary/5', disabled && 'opacity-50 cursor-not-allowed' || '', classNames?.templatePill),
209
- "aria-label": "Select template"
210
- }, text);
221
+ "aria-label": "Select template",
222
+ children: text
223
+ });
211
224
  }
212
225
  function RightSection({
213
226
  rightItems,
@@ -216,31 +229,32 @@ function RightSection({
216
229
  classNames
217
230
  }) {
218
231
  if (rightCustomRender != null) {
219
- return React__default.createElement("div", {
220
- className: "flex items-center gap-1"
221
- }, rightCustomRender);
232
+ return jsx("div", {
233
+ className: "flex items-center gap-1",
234
+ children: rightCustomRender
235
+ });
222
236
  }
223
237
  const right = rightItems ?? [];
224
238
  const rightEnabled = right.filter(item => item.enabled !== false);
225
239
  const filteredRight = micSendButton != null ? rightEnabled.filter(item => item.id !== 'mic') : rightEnabled;
226
240
  const hasRight = filteredRight.length > 0 || micSendButton != null;
227
241
  if (!hasRight) return null;
228
- return React__default.createElement("div", {
229
- className: "flex flex-wrap items-center gap-2 text-muted-foreground"
230
- }, filteredRight.map(item => React__default.createElement(ToolbarIconButton, {
231
- key: item.id,
232
- item: item,
233
- getDefaultIcon: id => defaultRightIconMap[id] ?? null,
234
- classNames: classNames
235
- })), micSendButton != null && React__default.createElement(MicSendButton, {
236
- hasContent: micSendButton.hasContent,
237
- onSend: micSendButton.onSend,
238
- onMic: micSendButton.onMic,
239
- disabled: micSendButton.disabled,
240
- isLoading: micSendButton.isLoading,
241
- onStop: micSendButton.onStop,
242
- className: classNames?.micSendButton
243
- }));
242
+ return jsxs("div", {
243
+ className: "flex flex-wrap items-center gap-2 text-muted-foreground",
244
+ children: [filteredRight.map(item => jsx(ToolbarIconButton, {
245
+ item: item,
246
+ getDefaultIcon: id => defaultRightIconMap[id] ?? null,
247
+ classNames: classNames
248
+ }, item.id)), micSendButton != null && jsx(MicSendButton, {
249
+ hasContent: micSendButton.hasContent,
250
+ onSend: micSendButton.onSend,
251
+ onMic: micSendButton.onMic,
252
+ disabled: micSendButton.disabled,
253
+ isLoading: micSendButton.isLoading,
254
+ onStop: micSendButton.onStop,
255
+ className: classNames?.micSendButton
256
+ })]
257
+ });
244
258
  }
245
259
  const defaultTextareaClassName = 'w-full outline-none border-none ring-0 focus:outline-none focus:ring-0 bg-transparent text-base text-foreground placeholder:text-muted-foreground disabled:opacity-50 resize-none overflow-y-auto max-h-[30vh] [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]';
246
260
  function DefaultTemplateModal({
@@ -271,82 +285,101 @@ function DefaultTemplateModal({
271
285
  function handleBackdropClick(e) {
272
286
  if (e.target === e.currentTarget) onClose();
273
287
  }
274
- return React__default.createElement("div", {
288
+ return jsx("div", {
275
289
  className: "fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm p-4",
276
- onClick: handleBackdropClick
277
- }, React__default.createElement("div", {
278
- className: cn('bg-card w-full max-w-[720px] max-h-[80vh] rounded-xl flex flex-col overflow-hidden border border-border shadow-xl', modalClassName)
279
- }, React__default.createElement("div", {
280
- className: "h-12 px-4 border-b border-border flex items-center justify-between shrink-0"
281
- }, React__default.createElement("h2", {
282
- className: "text-sm font-semibold text-foreground"
283
- }, title), React__default.createElement("button", {
284
- type: "button",
285
- onClick: onClose,
286
- className: "p-1.5 rounded-lg hover:bg-accent text-muted-foreground transition-colors focus:outline-none focus:ring-2 focus:ring-ring",
287
- "aria-label": "Close"
288
- }, React__default.createElement(X, {
289
- className: "h-4 w-4"
290
- }))), React__default.createElement("div", {
291
- className: "p-4 border-b border-border space-y-3"
292
- }, React__default.createElement("div", {
293
- className: "relative"
294
- }, React__default.createElement(Search, {
295
- className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"
296
- }), React__default.createElement("input", {
297
- type: "text",
298
- placeholder: "Search templates...",
299
- value: searchQuery,
300
- onChange: e => setSearchQuery(e.target.value),
301
- className: "w-full pl-9 pr-3 py-2 border border-border rounded-lg bg-muted text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring"
302
- })), React__default.createElement("div", {
303
- className: "flex gap-1.5 flex-wrap"
304
- }, categories.map(category => React__default.createElement("button", {
305
- key: category,
306
- type: "button",
307
- onClick: () => setCategoryFilter(category),
308
- className: cn('px-2.5 py-1 rounded-md text-xs font-medium transition-colors border', categoryFilter === category ? 'bg-primary/10 text-primary border-primary/20' : 'bg-card text-muted-foreground border-border hover:bg-muted hover:text-foreground')
309
- }, category)))), React__default.createElement("div", {
310
- className: "flex-1 overflow-y-auto p-4 min-h-0"
311
- }, React__default.createElement("div", {
312
- className: "grid grid-cols-1 sm:grid-cols-2 gap-3"
313
- }, filteredTemplates.map(template => {
314
- const isSelected = selectedId === template.id;
315
- const isSuggested = suggestedId === template.id;
316
- return React__default.createElement("button", {
317
- key: template.id,
318
- type: "button",
319
- onClick: () => {
320
- onSelect(template.id);
321
- onClose();
322
- },
323
- className: cn('text-left p-3 rounded-lg border-2 transition-all', isSelected ? 'border-primary bg-primary/10 ring-2 ring-primary/20' : 'border-border hover:border-primary/50 hover:bg-muted/50', isSuggested && !isSelected && 'border-primary/30 bg-primary/5')
324
- }, React__default.createElement("div", {
325
- className: "flex items-start gap-2"
326
- }, React__default.createElement("div", {
327
- className: cn('p-1.5 rounded-md flex-shrink-0', isSelected ? 'bg-primary' : isSuggested ? 'bg-primary/20' : 'bg-secondary')
328
- }, React__default.createElement(Layout, {
329
- className: cn('h-3.5 w-3.5', isSelected ? 'text-primary-foreground' : isSuggested ? 'text-primary' : 'text-foreground')
330
- })), React__default.createElement("div", {
331
- className: "min-w-0 flex-1"
332
- }, React__default.createElement("div", {
333
- className: "flex items-center gap-1.5"
334
- }, React__default.createElement("span", {
335
- className: "font-medium text-sm text-foreground truncate"
336
- }, template.label), isSelected && React__default.createElement(Check, {
337
- className: "h-3.5 w-3.5 text-primary flex-shrink-0"
338
- })), template.description && React__default.createElement("p", {
339
- className: "text-xs text-muted-foreground mt-0.5 line-clamp-2"
340
- }, template.description))));
341
- })), filteredTemplates.length === 0 && React__default.createElement("div", {
342
- className: "flex flex-col items-center justify-center py-12 text-center"
343
- }, React__default.createElement(Search, {
344
- className: "h-10 w-10 text-muted-foreground mb-3"
345
- }), React__default.createElement("p", {
346
- className: "text-sm font-medium text-foreground"
347
- }, "No templates found"), React__default.createElement("p", {
348
- className: "text-xs text-muted-foreground mt-1"
349
- }, "Try adjusting search or filters")))));
290
+ onClick: handleBackdropClick,
291
+ children: jsxs("div", {
292
+ className: cn('bg-card w-full max-w-[720px] max-h-[80vh] rounded-xl flex flex-col overflow-hidden border border-border shadow-xl', modalClassName),
293
+ children: [jsxs("div", {
294
+ className: "h-12 px-4 border-b border-border flex items-center justify-between shrink-0",
295
+ children: [jsx("h2", {
296
+ className: "text-sm font-semibold text-foreground",
297
+ children: title
298
+ }), jsx("button", {
299
+ type: "button",
300
+ onClick: onClose,
301
+ className: "p-1.5 rounded-lg hover:bg-accent text-muted-foreground transition-colors focus:outline-none focus:ring-2 focus:ring-ring",
302
+ "aria-label": "Close",
303
+ children: jsx(X, {
304
+ className: "h-4 w-4"
305
+ })
306
+ })]
307
+ }), jsxs("div", {
308
+ className: "p-4 border-b border-border space-y-3",
309
+ children: [jsxs("div", {
310
+ className: "relative",
311
+ children: [jsx(Search, {
312
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"
313
+ }), jsx("input", {
314
+ type: "text",
315
+ placeholder: "Search templates...",
316
+ value: searchQuery,
317
+ onChange: e => setSearchQuery(e.target.value),
318
+ className: "w-full pl-9 pr-3 py-2 border border-border rounded-lg bg-muted text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring"
319
+ })]
320
+ }), jsx("div", {
321
+ className: "flex gap-1.5 flex-wrap",
322
+ children: categories.map(category => jsx("button", {
323
+ type: "button",
324
+ onClick: () => setCategoryFilter(category),
325
+ className: cn('px-2.5 py-1 rounded-md text-xs font-medium transition-colors border', categoryFilter === category ? 'bg-primary/10 text-primary border-primary/20' : 'bg-card text-muted-foreground border-border hover:bg-muted hover:text-foreground'),
326
+ children: category
327
+ }, category))
328
+ })]
329
+ }), jsxs("div", {
330
+ className: "flex-1 overflow-y-auto p-4 min-h-0",
331
+ children: [jsx("div", {
332
+ className: "grid grid-cols-1 sm:grid-cols-2 gap-3",
333
+ children: filteredTemplates.map(template => {
334
+ const isSelected = selectedId === template.id;
335
+ const isSuggested = suggestedId === template.id;
336
+ return jsx("button", {
337
+ type: "button",
338
+ onClick: () => {
339
+ onSelect(template.id);
340
+ onClose();
341
+ },
342
+ className: cn('text-left p-3 rounded-lg border-2 transition-all', isSelected ? 'border-primary bg-primary/10 ring-2 ring-primary/20' : 'border-border hover:border-primary/50 hover:bg-muted/50', isSuggested && !isSelected && 'border-primary/30 bg-primary/5'),
343
+ children: jsxs("div", {
344
+ className: "flex items-start gap-2",
345
+ children: [jsx("div", {
346
+ className: cn('p-1.5 rounded-md flex-shrink-0', isSelected ? 'bg-primary' : isSuggested ? 'bg-primary/20' : 'bg-secondary'),
347
+ children: jsx(Layout, {
348
+ className: cn('h-3.5 w-3.5', isSelected ? 'text-primary-foreground' : isSuggested ? 'text-primary' : 'text-foreground')
349
+ })
350
+ }), jsxs("div", {
351
+ className: "min-w-0 flex-1",
352
+ children: [jsxs("div", {
353
+ className: "flex items-center gap-1.5",
354
+ children: [jsx("span", {
355
+ className: "font-medium text-sm text-foreground truncate",
356
+ children: template.label
357
+ }), isSelected && jsx(Check, {
358
+ className: "h-3.5 w-3.5 text-primary flex-shrink-0"
359
+ })]
360
+ }), template.description && jsx("p", {
361
+ className: "text-xs text-muted-foreground mt-0.5 line-clamp-2",
362
+ children: template.description
363
+ })]
364
+ })]
365
+ })
366
+ }, template.id);
367
+ })
368
+ }), filteredTemplates.length === 0 && jsxs("div", {
369
+ className: "flex flex-col items-center justify-center py-12 text-center",
370
+ children: [jsx(Search, {
371
+ className: "h-10 w-10 text-muted-foreground mb-3"
372
+ }), jsx("p", {
373
+ className: "text-sm font-medium text-foreground",
374
+ children: "No templates found"
375
+ }), jsx("p", {
376
+ className: "text-xs text-muted-foreground mt-1",
377
+ children: "Try adjusting search or filters"
378
+ })]
379
+ })]
380
+ })]
381
+ })
382
+ });
350
383
  }
351
384
  /**
352
385
  * InputToolBar – UI only. Renders toolbar and optional built-in textarea from props.
@@ -379,47 +412,58 @@ function InputToolBar({
379
412
  const projectSettingsModal = projectSettingsModalOpen === true && onProjectSettingsModalClose != null && projectSettingsModalRender != null ? projectSettingsModalRender({
380
413
  onClose: onProjectSettingsModalClose
381
414
  }) : null;
382
- return React__default.createElement(React__default.Fragment, null, templateModal, projectSettingsModal, React__default.createElement("section", {
383
- className: cn('w-full overflow-visible rounded-[24px] border border-border/70 bg-card shadow-md', hasInputContent && 'cursor-text', classNames?.container, className),
384
- onClick: hasInputContent ? onContainerClick : undefined,
385
- role: hasInputContent ? 'presentation' : undefined
386
- }, React__default.createElement("div", {
387
- className: cn('flex px-3 py-2', hasInputContent ? 'flex-col gap-2' : 'flex-wrap items-center gap-3')
388
- }, hasInputContent && React__default.createElement("div", {
389
- className: "min-w-0 flex-1 flex flex-col gap-2"
390
- }, effectiveTopContent, inputConfig != null ? React__default.createElement(React__default.Fragment, null, React__default.createElement("label", {
391
- htmlFor: inputConfig.id ?? 'input-toolbar-input',
392
- className: "sr-only"
393
- }, inputConfig.placeholder ?? 'Message'), React__default.createElement("textarea", {
394
- ref: inputConfig.inputRef,
395
- id: inputConfig.id ?? 'input-toolbar-input',
396
- name: inputConfig.name ?? 'query',
397
- value: inputConfig.value,
398
- onChange: inputConfig.onChange,
399
- onKeyDown: inputConfig.onKeyDown,
400
- onPaste: inputConfig.onPaste,
401
- placeholder: inputConfig.placeholder ?? 'Ask anything...',
402
- disabled: inputConfig.disabled,
403
- rows: 1,
404
- className: defaultTextareaClassName
405
- })) : children), React__default.createElement("div", {
406
- className: cn('flex flex-wrap items-center gap-3', hasInputContent && 'pt-2')
407
- }, React__default.createElement("div", {
408
- className: cn('flex items-center gap-2', hasInputContent && 'mb-2')
409
- }, React__default.createElement(LeftSection, {
410
- leftItems: leftItems,
411
- templateButton: templateButton,
412
- leftCustomRender: leftCustomRender,
413
- classNames: classNames
414
- })), !hasInputContent && React__default.createElement("div", {
415
- className: "min-w-0 flex-1",
416
- "aria-hidden": true
417
- }), React__default.createElement("div", {
418
- className: "flex flex-1 flex-wrap items-center justify-end gap-2"
419
- }, React__default.createElement(RightSection, {
420
- rightItems: rightItems,
421
- rightCustomRender: rightCustomRender,
422
- micSendButton: micSendButton,
423
- classNames: classNames
424
- }))))));
415
+ return jsxs(Fragment, {
416
+ children: [templateModal, projectSettingsModal, jsx("section", {
417
+ className: cn('w-full overflow-visible rounded-[24px] border border-border/70 bg-card shadow-md', hasInputContent && 'cursor-text', classNames?.container, className),
418
+ onClick: hasInputContent ? onContainerClick : undefined,
419
+ role: hasInputContent ? 'presentation' : undefined,
420
+ children: jsxs("div", {
421
+ className: cn('flex px-3 py-2', hasInputContent ? 'flex-col gap-2' : 'flex-wrap items-center gap-3'),
422
+ children: [hasInputContent && jsxs("div", {
423
+ className: "min-w-0 flex-1 flex flex-col gap-2",
424
+ children: [effectiveTopContent, inputConfig != null ? jsxs(Fragment, {
425
+ children: [jsx("label", {
426
+ htmlFor: inputConfig.id ?? 'input-toolbar-input',
427
+ className: "sr-only",
428
+ children: inputConfig.placeholder ?? 'Message'
429
+ }), jsx("textarea", {
430
+ ref: inputConfig.inputRef,
431
+ id: inputConfig.id ?? 'input-toolbar-input',
432
+ name: inputConfig.name ?? 'query',
433
+ value: inputConfig.value,
434
+ onChange: inputConfig.onChange,
435
+ onKeyDown: inputConfig.onKeyDown,
436
+ onPaste: inputConfig.onPaste,
437
+ placeholder: inputConfig.placeholder ?? 'Ask anything...',
438
+ disabled: inputConfig.disabled,
439
+ rows: 1,
440
+ className: defaultTextareaClassName
441
+ })]
442
+ }) : children]
443
+ }), jsxs("div", {
444
+ className: cn('flex flex-wrap items-center gap-3', hasInputContent && 'pt-2'),
445
+ children: [jsx("div", {
446
+ className: cn('flex items-center gap-2', hasInputContent && 'mb-2'),
447
+ children: jsx(LeftSection, {
448
+ leftItems: leftItems,
449
+ templateButton: templateButton,
450
+ leftCustomRender: leftCustomRender,
451
+ classNames: classNames
452
+ })
453
+ }), !hasInputContent && jsx("div", {
454
+ className: "min-w-0 flex-1",
455
+ "aria-hidden": true
456
+ }), jsx("div", {
457
+ className: "flex flex-1 flex-wrap items-center justify-end gap-2",
458
+ children: jsx(RightSection, {
459
+ rightItems: rightItems,
460
+ rightCustomRender: rightCustomRender,
461
+ micSendButton: micSendButton,
462
+ classNames: classNames
463
+ })
464
+ })]
465
+ })]
466
+ })
467
+ })]
468
+ });
425
469
  }export{InputToolBar};//# sourceMappingURL=InputToolBar.js.map