@admin-layout/tailwind-ui 12.2.4-alpha.7 → 12.2.4-alpha.71

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 (437) 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 +87 -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/AssistantAvatar.d.ts +24 -0
  26. package/lib/components/AIToolbar/components/completion/AssistantAvatar.d.ts.map +1 -0
  27. package/lib/components/AIToolbar/components/completion/AssistantAvatar.js +48 -0
  28. package/lib/components/AIToolbar/components/completion/AssistantAvatar.js.map +1 -0
  29. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts +28 -0
  30. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts.map +1 -0
  31. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js +209 -0
  32. package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js.map +1 -0
  33. package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts +15 -0
  34. package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts.map +1 -0
  35. package/lib/components/AIToolbar/components/completion/Audio.d.ts +5 -0
  36. package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
  37. package/lib/components/AIToolbar/components/completion/Audio.js +67 -0
  38. package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
  39. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
  40. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
  41. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
  42. package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
  43. package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts +5 -0
  44. package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts.map +1 -0
  45. package/lib/components/AIToolbar/components/completion/CharacterPicker.js +93 -0
  46. package/lib/components/AIToolbar/components/completion/CharacterPicker.js.map +1 -0
  47. package/lib/components/AIToolbar/components/completion/Files.d.ts +7 -0
  48. package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
  49. package/lib/components/AIToolbar/components/completion/Files.js +166 -0
  50. package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
  51. package/lib/components/AIToolbar/components/completion/Input.d.ts +6 -0
  52. package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
  53. package/lib/components/AIToolbar/components/completion/Input.js +287 -0
  54. package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
  55. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
  56. package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
  57. package/lib/components/AIToolbar/components/completion/MessageHistory.js +131 -0
  58. package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
  59. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +7 -0
  60. package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
  61. package/lib/components/AIToolbar/components/completion/Screenshot.js +30 -0
  62. package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
  63. package/lib/components/AIToolbar/components/completion/index.d.ts +13 -0
  64. package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
  65. package/lib/components/AIToolbar/components/completion/index.js +25 -0
  66. package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
  67. package/lib/components/AIToolbar/components/index.d.ts +17 -0
  68. package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
  69. package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
  70. package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
  71. package/lib/components/AIToolbar/components/speech/Header.js +82 -0
  72. package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
  73. package/lib/components/AIToolbar/components/speech/MicrophoneDiagnostics.d.ts +2 -0
  74. package/lib/components/AIToolbar/components/speech/MicrophoneDiagnostics.d.ts.map +1 -0
  75. package/lib/components/AIToolbar/components/speech/MicrophoneDiagnostics.js +396 -0
  76. package/lib/components/AIToolbar/components/speech/MicrophoneDiagnostics.js.map +1 -0
  77. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
  78. package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
  79. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
  80. package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
  81. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +13 -0
  82. package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
  83. package/lib/components/AIToolbar/components/speech/PermissionFlow.js +168 -0
  84. package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
  85. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
  86. package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
  87. package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
  88. package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
  89. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
  90. package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
  91. package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
  92. package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
  93. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +14 -0
  94. package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
  95. package/lib/components/AIToolbar/components/speech/SettingsPanel.js +293 -0
  96. package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
  97. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
  98. package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
  99. package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
  100. package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
  101. package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
  102. package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
  103. package/lib/components/AIToolbar/components/speech/Warning.js +226 -0
  104. package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
  105. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
  106. package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
  107. package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
  108. package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
  109. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
  110. package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
  111. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
  112. package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
  113. package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
  114. package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
  115. package/lib/components/AIToolbar/components/speech/index.js +276 -0
  116. package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
  117. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
  118. package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
  119. package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
  120. package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
  121. package/lib/components/AIToolbar/components/types.d.ts +194 -0
  122. package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
  123. package/lib/components/AIToolbar/hooks/marketplaceCharactersRegistry.d.ts +13 -0
  124. package/lib/components/AIToolbar/hooks/marketplaceCharactersRegistry.d.ts.map +1 -0
  125. package/lib/components/AIToolbar/hooks/marketplaceCharactersRegistry.js +6 -0
  126. package/lib/components/AIToolbar/hooks/marketplaceCharactersRegistry.js.map +1 -0
  127. package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts +54 -0
  128. package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts.map +1 -0
  129. package/lib/components/AIToolbar/hooks/useActiveCharacter.js +359 -0
  130. package/lib/components/AIToolbar/hooks/useActiveCharacter.js.map +1 -0
  131. package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts +14 -0
  132. package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts.map +1 -0
  133. package/lib/components/AIToolbar/hooks/useCharacterSprite.js +103 -0
  134. package/lib/components/AIToolbar/hooks/useCharacterSprite.js.map +1 -0
  135. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts +10 -0
  136. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts.map +1 -0
  137. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js +126 -0
  138. package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js.map +1 -0
  139. package/lib/components/AIToolbar/index.d.ts +8 -0
  140. package/lib/components/AIToolbar/index.d.ts.map +1 -0
  141. package/lib/components/AIToolbar/utils/emotionClassifier.d.ts +19 -0
  142. package/lib/components/AIToolbar/utils/emotionClassifier.d.ts.map +1 -0
  143. package/lib/components/AIToolbar/utils/emotionClassifier.js +142 -0
  144. package/lib/components/AIToolbar/utils/emotionClassifier.js.map +1 -0
  145. package/lib/components/Button/Button.d.ts +1 -1
  146. package/lib/components/Button/Button.d.ts.map +1 -1
  147. package/lib/components/Button/Button.js +7 -6
  148. package/lib/components/Button/Button.js.map +1 -1
  149. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.d.ts +20 -0
  150. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.d.ts.map +1 -0
  151. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.js +249 -0
  152. package/lib/components/CharacterSlotPicker/CharacterSlotPicker.js.map +1 -0
  153. package/lib/components/CharacterSlotPicker/index.d.ts +3 -0
  154. package/lib/components/CharacterSlotPicker/index.d.ts.map +1 -0
  155. package/lib/components/DatePicker/DatePicker.js +158 -140
  156. package/lib/components/DatePicker/DatePicker.js.map +1 -1
  157. package/lib/components/Dialog/Dialog.d.ts +20 -0
  158. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  159. package/lib/components/Dialog/Dialog.js +111 -0
  160. package/lib/components/Dialog/Dialog.js.map +1 -0
  161. package/lib/components/Dialog/index.d.ts +3 -0
  162. package/lib/components/Dialog/index.d.ts.map +1 -0
  163. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
  164. package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
  165. package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
  166. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
  167. package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
  168. package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
  169. package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
  170. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
  171. package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
  172. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
  173. package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
  174. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +4 -2
  175. package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
  176. package/lib/components/ErrorHandlers/RemixErrorBoundary.js +222 -100
  177. package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
  178. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +4 -2
  179. package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
  180. package/lib/components/ErrorHandlers/SPAErrorBoundary.js +247 -82
  181. package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
  182. package/lib/components/ErrorPages/403.d.ts +1 -2
  183. package/lib/components/ErrorPages/403.d.ts.map +1 -1
  184. package/lib/components/ErrorPages/403.js +26 -18
  185. package/lib/components/ErrorPages/403.js.map +1 -1
  186. package/lib/components/ErrorPages/404.d.ts +1 -2
  187. package/lib/components/ErrorPages/404.d.ts.map +1 -1
  188. package/lib/components/ErrorPages/404.js +26 -18
  189. package/lib/components/ErrorPages/404.js.map +1 -1
  190. package/lib/components/ErrorPages/500.d.ts +1 -2
  191. package/lib/components/ErrorPages/500.d.ts.map +1 -1
  192. package/lib/components/ErrorPages/500.js +26 -18
  193. package/lib/components/ErrorPages/500.js.map +1 -1
  194. package/lib/components/Inbox/Channels/ChannelBar.d.ts +33 -0
  195. package/lib/components/Inbox/Channels/ChannelBar.d.ts.map +1 -0
  196. package/lib/components/Inbox/Channels/ChannelBar.js +79 -0
  197. package/lib/components/Inbox/Channels/ChannelBar.js.map +1 -0
  198. package/lib/components/Inbox/Channels/ChannelConnectModal.d.ts +24 -0
  199. package/lib/components/Inbox/Channels/ChannelConnectModal.d.ts.map +1 -0
  200. package/lib/components/Inbox/Channels/ChannelConnectModal.js +177 -0
  201. package/lib/components/Inbox/Channels/ChannelConnectModal.js.map +1 -0
  202. package/lib/components/Inbox/Channels/channelsMeta.d.ts +16 -0
  203. package/lib/components/Inbox/Channels/channelsMeta.d.ts.map +1 -0
  204. package/lib/components/Inbox/Channels/channelsMeta.js +127 -0
  205. package/lib/components/Inbox/Channels/channelsMeta.js.map +1 -0
  206. package/lib/components/Inbox/Channels/index.d.ts +7 -0
  207. package/lib/components/Inbox/Channels/index.d.ts.map +1 -0
  208. package/lib/components/Inbox/index.d.ts +2 -0
  209. package/lib/components/Inbox/index.d.ts.map +1 -0
  210. package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
  211. package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -0
  212. package/lib/components/InputToolBar/InputToolBar.js +469 -0
  213. package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
  214. package/lib/components/InputToolBar/defaults.d.ts +15 -0
  215. package/lib/components/InputToolBar/defaults.d.ts.map +1 -0
  216. package/lib/components/InputToolBar/defaults.js +59 -0
  217. package/lib/components/InputToolBar/defaults.js.map +1 -0
  218. package/lib/components/InputToolBar/index.d.ts +5 -0
  219. package/lib/components/InputToolBar/index.d.ts.map +1 -0
  220. package/lib/components/InputToolBar/types.d.ts +153 -0
  221. package/lib/components/InputToolBar/types.d.ts.map +1 -0
  222. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
  223. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
  224. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
  225. package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
  226. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts +13 -0
  227. package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts.map +1 -0
  228. package/lib/components/Markdown/MarkdownBreadcrumbs.js +34 -0
  229. package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -0
  230. package/lib/components/Markdown/MarkdownCopyButton.d.ts +10 -0
  231. package/lib/components/Markdown/MarkdownCopyButton.d.ts.map +1 -0
  232. package/lib/components/Markdown/MarkdownCopyButton.js +229 -0
  233. package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -0
  234. package/lib/components/Markdown/MarkdownHeader.d.ts +13 -0
  235. package/lib/components/Markdown/MarkdownHeader.d.ts.map +1 -0
  236. package/lib/components/Markdown/MarkdownHeader.js +44 -0
  237. package/lib/components/Markdown/MarkdownHeader.js.map +1 -0
  238. package/lib/components/Markdown/MarkdownNavigation.d.ts +15 -0
  239. package/lib/components/Markdown/MarkdownNavigation.d.ts.map +1 -0
  240. package/lib/components/Markdown/MarkdownNavigation.js +38 -0
  241. package/lib/components/Markdown/MarkdownNavigation.js.map +1 -0
  242. package/lib/components/Markdown/MarkdownPage.d.ts +41 -0
  243. package/lib/components/Markdown/MarkdownPage.d.ts.map +1 -0
  244. package/lib/components/Markdown/MarkdownPage.js +238 -0
  245. package/lib/components/Markdown/MarkdownPage.js.map +1 -0
  246. package/lib/components/Markdown/MarkdownTableOfContents.d.ts +15 -0
  247. package/lib/components/Markdown/MarkdownTableOfContents.d.ts.map +1 -0
  248. package/lib/components/Markdown/MarkdownTableOfContents.js +57 -0
  249. package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -0
  250. package/lib/components/Markdown/index.d.ts +7 -0
  251. package/lib/components/Markdown/index.d.ts.map +1 -0
  252. package/lib/components/OTP/OTPInput.js +32 -30
  253. package/lib/components/OTP/OTPInput.js.map +1 -1
  254. package/lib/components/OTP/OTPVerification.js +75 -55
  255. package/lib/components/OTP/OTPVerification.js.map +1 -1
  256. package/lib/components/OTP/SingleInput.js +2 -2
  257. package/lib/components/OTP/SingleInput.js.map +1 -1
  258. package/lib/components/PageContainer/PageContainer.js +29 -22
  259. package/lib/components/PageContainer/PageContainer.js.map +1 -1
  260. package/lib/components/PageLoading/index.js +8 -7
  261. package/lib/components/PageLoading/index.js.map +1 -1
  262. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
  263. package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
  264. package/lib/components/ReactTable/Table.d.ts +1 -2
  265. package/lib/components/ReactTable/Table.d.ts.map +1 -1
  266. package/lib/components/ReactTable/Table.js +92 -71
  267. package/lib/components/ReactTable/Table.js.map +1 -1
  268. package/lib/components/ReactTable/TableFilters.d.ts +2 -3
  269. package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
  270. package/lib/components/ReactTable/TableFilters.js +40 -34
  271. package/lib/components/ReactTable/TableFilters.js.map +1 -1
  272. package/lib/components/Search/SearchInput.d.ts +1 -2
  273. package/lib/components/Search/SearchInput.d.ts.map +1 -1
  274. package/lib/components/Search/SearchInput.js +14 -13
  275. package/lib/components/Search/SearchInput.js.map +1 -1
  276. package/lib/components/Select/Select.d.ts +6 -6
  277. package/lib/components/Select/Select.d.ts.map +1 -1
  278. package/lib/components/Select/Select.js +60 -45
  279. package/lib/components/Select/Select.js.map +1 -1
  280. package/lib/components/Spin/index.js +14 -11
  281. package/lib/components/Spin/index.js.map +1 -1
  282. package/lib/components/ThemeProvider/ThemeProvider.d.ts +1 -1
  283. package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  284. package/lib/components/ThemeProvider/ThemeProvider.js +29 -17
  285. package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
  286. package/lib/components/ThemeProvider/ThemeToggle.js +28 -25
  287. package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
  288. package/lib/components/ThemeProvider/types.d.ts +3 -3
  289. package/lib/components/ThemeProvider/types.d.ts.map +1 -1
  290. package/lib/components/YantraIcon.d.ts +6 -0
  291. package/lib/components/YantraIcon.d.ts.map +1 -0
  292. package/lib/components/YantraIcon.js +32 -0
  293. package/lib/components/YantraIcon.js.map +1 -0
  294. package/lib/components/index.d.ts +8 -0
  295. package/lib/components/index.d.ts.map +1 -1
  296. package/lib/hooks/activeCharacterPreference.d.ts +25 -0
  297. package/lib/hooks/activeCharacterPreference.d.ts.map +1 -0
  298. package/lib/hooks/activeCharacterPreference.js +71 -0
  299. package/lib/hooks/activeCharacterPreference.js.map +1 -0
  300. package/lib/hooks/characterOverrides.d.ts +29 -0
  301. package/lib/hooks/characterOverrides.d.ts.map +1 -0
  302. package/lib/hooks/characterOverrides.js +130 -0
  303. package/lib/hooks/characterOverrides.js.map +1 -0
  304. package/lib/hooks/characterSlotsPreference.d.ts +33 -0
  305. package/lib/hooks/characterSlotsPreference.d.ts.map +1 -0
  306. package/lib/hooks/characterSlotsPreference.js +141 -0
  307. package/lib/hooks/characterSlotsPreference.js.map +1 -0
  308. package/lib/hooks/index.d.ts +4 -0
  309. package/lib/hooks/index.d.ts.map +1 -1
  310. package/lib/hooks/useGlobalShortcutBridge.d.ts +21 -0
  311. package/lib/hooks/useGlobalShortcutBridge.d.ts.map +1 -0
  312. package/lib/hooks/useGlobalShortcutBridge.js +68 -0
  313. package/lib/hooks/useGlobalShortcutBridge.js.map +1 -0
  314. package/lib/hooks/useToast.d.ts +1 -1
  315. package/lib/hooks/useToast.d.ts.map +1 -1
  316. package/lib/hooks/useToast.js +46 -37
  317. package/lib/hooks/useToast.js.map +1 -1
  318. package/lib/index.js +1 -1
  319. package/lib/shardui/accordion.js +20 -16
  320. package/lib/shardui/accordion.js.map +1 -1
  321. package/lib/shardui/alert-dialog.d.ts +2 -2
  322. package/lib/shardui/alert-dialog.js +15 -13
  323. package/lib/shardui/alert-dialog.js.map +1 -1
  324. package/lib/shardui/alert.js +4 -4
  325. package/lib/shardui/alert.js.map +1 -1
  326. package/lib/shardui/avatar.js +4 -4
  327. package/lib/shardui/avatar.js.map +1 -1
  328. package/lib/shardui/badge.d.ts +1 -1
  329. package/lib/shardui/badge.d.ts.map +1 -1
  330. package/lib/shardui/badge.js +2 -2
  331. package/lib/shardui/badge.js.map +1 -1
  332. package/lib/shardui/breadcrumb.d.ts +2 -2
  333. package/lib/shardui/breadcrumb.js +19 -16
  334. package/lib/shardui/breadcrumb.js.map +1 -1
  335. package/lib/shardui/button.js +2 -2
  336. package/lib/shardui/button.js.map +1 -1
  337. package/lib/shardui/calendar.d.ts +1 -1
  338. package/lib/shardui/calendar.d.ts.map +1 -1
  339. package/lib/shardui/calendar.js +4 -4
  340. package/lib/shardui/card.js +7 -7
  341. package/lib/shardui/card.js.map +1 -1
  342. package/lib/shardui/carousel.js +40 -33
  343. package/lib/shardui/carousel.js.map +1 -1
  344. package/lib/shardui/chart.d.ts +1 -1
  345. package/lib/shardui/chart.d.ts.map +1 -1
  346. package/lib/shardui/chart.js +81 -66
  347. package/lib/shardui/chart.js.map +1 -1
  348. package/lib/shardui/checkbox.js +10 -8
  349. package/lib/shardui/checkbox.js.map +1 -1
  350. package/lib/shardui/command.d.ts +3 -3
  351. package/lib/shardui/command.d.ts.map +1 -1
  352. package/lib/shardui/command.js +28 -24
  353. package/lib/shardui/command.js.map +1 -1
  354. package/lib/shardui/context-menu.d.ts +1 -1
  355. package/lib/shardui/context-menu.js +41 -30
  356. package/lib/shardui/context-menu.js.map +1 -1
  357. package/lib/shardui/dialog.d.ts +2 -2
  358. package/lib/shardui/dialog.js +22 -17
  359. package/lib/shardui/dialog.js.map +1 -1
  360. package/lib/shardui/drawer.d.ts +3 -3
  361. package/lib/shardui/drawer.js +17 -14
  362. package/lib/shardui/drawer.js.map +1 -1
  363. package/lib/shardui/dropdown-menu.d.ts +1 -1
  364. package/lib/shardui/dropdown-menu.js +42 -31
  365. package/lib/shardui/dropdown-menu.js.map +1 -1
  366. package/lib/shardui/form.d.ts +1 -1
  367. package/lib/shardui/form.d.ts.map +1 -1
  368. package/lib/shardui/form.js +22 -19
  369. package/lib/shardui/form.js.map +1 -1
  370. package/lib/shardui/hover-card.js +2 -2
  371. package/lib/shardui/hover-card.js.map +1 -1
  372. package/lib/shardui/input-otp.js +16 -13
  373. package/lib/shardui/input-otp.js.map +1 -1
  374. package/lib/shardui/input.js +2 -2
  375. package/lib/shardui/input.js.map +1 -1
  376. package/lib/shardui/label.js +2 -2
  377. package/lib/shardui/label.js.map +1 -1
  378. package/lib/shardui/menubar.d.ts +1 -1
  379. package/lib/shardui/menubar.js +46 -35
  380. package/lib/shardui/menubar.js.map +1 -1
  381. package/lib/shardui/navigation-menu.js +28 -24
  382. package/lib/shardui/navigation-menu.js.map +1 -1
  383. package/lib/shardui/pagination.d.ts +5 -5
  384. package/lib/shardui/pagination.js +30 -22
  385. package/lib/shardui/pagination.js.map +1 -1
  386. package/lib/shardui/popover.js +10 -8
  387. package/lib/shardui/popover.js.map +1 -1
  388. package/lib/shardui/progress.js +10 -9
  389. package/lib/shardui/progress.js.map +1 -1
  390. package/lib/shardui/radio-group.js +11 -9
  391. package/lib/shardui/radio-group.js.map +1 -1
  392. package/lib/shardui/resizable.d.ts +3 -3
  393. package/lib/shardui/resizable.d.ts.map +1 -1
  394. package/lib/shardui/resizable.js +11 -9
  395. package/lib/shardui/resizable.js.map +1 -1
  396. package/lib/shardui/scroll-area.js +14 -11
  397. package/lib/shardui/scroll-area.js.map +1 -1
  398. package/lib/shardui/select.js +49 -35
  399. package/lib/shardui/select.js.map +1 -1
  400. package/lib/shardui/separator.js +2 -2
  401. package/lib/shardui/separator.js.map +1 -1
  402. package/lib/shardui/sheet.d.ts +2 -2
  403. package/lib/shardui/sheet.js +24 -19
  404. package/lib/shardui/sheet.js.map +1 -1
  405. package/lib/shardui/sidebar.js +104 -88
  406. package/lib/shardui/sidebar.js.map +1 -1
  407. package/lib/shardui/skeleton.d.ts +1 -1
  408. package/lib/shardui/skeleton.d.ts.map +1 -1
  409. package/lib/shardui/skeleton.js +2 -2
  410. package/lib/shardui/skeleton.js.map +1 -1
  411. package/lib/shardui/slider.js +12 -10
  412. package/lib/shardui/slider.js.map +1 -1
  413. package/lib/shardui/sonner.d.ts +1 -1
  414. package/lib/shardui/sonner.d.ts.map +1 -1
  415. package/lib/shardui/sonner.js +2 -2
  416. package/lib/shardui/sonner.js.map +1 -1
  417. package/lib/shardui/switch.js +7 -6
  418. package/lib/shardui/switch.js.map +1 -1
  419. package/lib/shardui/table.js +16 -15
  420. package/lib/shardui/table.js.map +1 -1
  421. package/lib/shardui/tabs.js +4 -4
  422. package/lib/shardui/tabs.js.map +1 -1
  423. package/lib/shardui/textarea.js +2 -2
  424. package/lib/shardui/textarea.js.map +1 -1
  425. package/lib/shardui/toast.js +12 -11
  426. package/lib/shardui/toast.js.map +1 -1
  427. package/lib/shardui/toaster.d.ts +1 -2
  428. package/lib/shardui/toaster.d.ts.map +1 -1
  429. package/lib/shardui/toaster.js +21 -14
  430. package/lib/shardui/toaster.js.map +1 -1
  431. package/lib/shardui/toggle-group.js +15 -12
  432. package/lib/shardui/toggle-group.js.map +1 -1
  433. package/lib/shardui/toggle.js +2 -2
  434. package/lib/shardui/toggle.js.map +1 -1
  435. package/lib/shardui/tooltip.js +2 -2
  436. package/lib/shardui/tooltip.js.map +1 -1
  437. package/package.json +10 -4
@@ -0,0 +1,469 @@
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
+ const iconSizeRight = 'h-4 w-4';
3
+ const defaultLeftIconMap = {
4
+ search: jsx(Search, {
5
+ className: iconSize
6
+ }),
7
+ zap: jsx(Zap, {
8
+ className: iconSize
9
+ }),
10
+ lightbulb: jsx(Lightbulb, {
11
+ className: iconSize
12
+ }),
13
+ template: null // template is rendered as pill, not in icon group
14
+ };
15
+ const defaultRightIconMap = {
16
+ projectSettings: jsx(Settings, {
17
+ className: iconSizeRight
18
+ }),
19
+ tag: jsx(WandSparkles, {
20
+ className: iconSizeRight
21
+ }),
22
+ chip: jsxs("svg", {
23
+ className: iconSizeRight,
24
+ viewBox: "0 0 24 24",
25
+ fill: "none",
26
+ stroke: "currentColor",
27
+ strokeWidth: "2",
28
+ strokeLinecap: "round",
29
+ strokeLinejoin: "round",
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, {
61
+ className: iconSizeRight
62
+ }),
63
+ image: jsx(Image, {
64
+ className: iconSizeRight
65
+ }),
66
+ attach: jsx(Paperclip, {
67
+ className: iconSizeRight
68
+ }),
69
+ mic: jsx(Mic, {
70
+ className: iconSizeRight
71
+ })
72
+ };
73
+ function MicSendButton({
74
+ hasContent,
75
+ onSend,
76
+ onMic,
77
+ disabled,
78
+ isLoading,
79
+ onStop,
80
+ className
81
+ }) {
82
+ const isStop = isLoading === true;
83
+ const isSend = !isStop && hasContent;
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';
85
+ const handleClick = isStop ? onStop : isSend ? onSend : onMic;
86
+ const label = isStop ? 'Stop' : isSend ? 'Send' : 'Start voice input';
87
+ return jsx("button", {
88
+ type: "button",
89
+ "aria-label": label,
90
+ title: label,
91
+ onClick: handleClick,
92
+ disabled: disabled && !isStop,
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
+ });
102
+ }
103
+ function ToolbarIconButton({
104
+ item,
105
+ getDefaultIcon,
106
+ isLeftGroup,
107
+ classNames
108
+ }) {
109
+ if (item.enabled === false) return null;
110
+ const icon = item.customButton ?? item.icon ?? getDefaultIcon(item.id);
111
+ if (item.customButton) {
112
+ return jsx(Fragment, {
113
+ children: item.customButton
114
+ });
115
+ }
116
+ const isDisabled = item.disabled === true || item.loading === true;
117
+ const isActive = item.active === true;
118
+ const base = 'inline-flex h-7 w-7 items-center justify-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:opacity-50 disabled:pointer-events-none';
119
+ const leftVariant = isActive ? cn('rounded-full border border-primary bg-primary text-primary-foreground hover:bg-primary/90', classNames?.leftButtonActive) : cn('rounded-full border border-border bg-muted/50 text-foreground hover:border-primary hover:bg-muted hover:text-primary', classNames?.leftButtonInactive);
120
+ const rightVariantDisabled = cn('rounded-2xl text-muted-foreground/50 cursor-not-allowed disabled:pointer-events-auto', classNames?.rightButtonDisabled);
121
+ const rightVariantActive = cn('rounded-2xl text-primary hover:bg-secondary border border-transparent', classNames?.rightButtonActive);
122
+ const rightVariantDefault = cn('rounded-2xl text-muted-foreground hover:bg-secondary/70 active:bg-secondary border border-transparent', classNames?.rightButton);
123
+ const rightVariant = isDisabled ? rightVariantDisabled : isActive ? rightVariantActive : rightVariantDefault;
124
+ return jsx("button", {
125
+ type: "button",
126
+ "aria-label": item.label,
127
+ title: item.label,
128
+ onClick: item.onClick,
129
+ disabled: isDisabled,
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
+ });
136
+ }
137
+ function LeftSection({
138
+ leftItems,
139
+ templateButton,
140
+ leftCustomRender,
141
+ classNames
142
+ }) {
143
+ if (leftCustomRender != null) {
144
+ return jsx("div", {
145
+ className: cn('flex items-center gap-2', classNames?.leftGroup),
146
+ children: leftCustomRender
147
+ });
148
+ }
149
+ const left = leftItems ?? [];
150
+ const leftEnabled = left.filter(item => item.enabled !== false);
151
+ const hasTemplate = templateButton != null;
152
+ const hasLeft = leftEnabled.length > 0 || hasTemplate;
153
+ if (!hasLeft) return null;
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
+ });
179
+ }
180
+ function TemplatePill({
181
+ label,
182
+ count,
183
+ selectedLabel,
184
+ onClick,
185
+ onClearTemplate,
186
+ disabled,
187
+ classNames
188
+ }) {
189
+ if (selectedLabel) {
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
+ });
214
+ }
215
+ const text = count != null && count > 0 ? `${label} (${count})` : label;
216
+ return jsx("button", {
217
+ type: "button",
218
+ onClick: onClick,
219
+ disabled: disabled,
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),
221
+ "aria-label": "Select template",
222
+ children: text
223
+ });
224
+ }
225
+ function RightSection({
226
+ rightItems,
227
+ rightCustomRender,
228
+ micSendButton,
229
+ classNames
230
+ }) {
231
+ if (rightCustomRender != null) {
232
+ return jsx("div", {
233
+ className: "flex items-center gap-1",
234
+ children: rightCustomRender
235
+ });
236
+ }
237
+ const right = rightItems ?? [];
238
+ const rightEnabled = right.filter(item => item.enabled !== false);
239
+ const filteredRight = micSendButton != null ? rightEnabled.filter(item => item.id !== 'mic') : rightEnabled;
240
+ const hasRight = filteredRight.length > 0 || micSendButton != null;
241
+ if (!hasRight) return null;
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
+ });
258
+ }
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]';
260
+ function DefaultTemplateModal({
261
+ isOpen,
262
+ onClose,
263
+ templates,
264
+ selectedId,
265
+ onSelect,
266
+ suggestedId,
267
+ title = 'Choose Template',
268
+ modalClassName
269
+ }) {
270
+ const [searchQuery, setSearchQuery] = useState('');
271
+ const [categoryFilter, setCategoryFilter] = useState('All');
272
+ const categories = useMemo(() => {
273
+ const cats = new Set(templates.map(t => t.category || 'Other'));
274
+ return ['All', ...Array.from(cats).sort()];
275
+ }, [templates]);
276
+ const filteredTemplates = useMemo(() => {
277
+ return templates.filter(template => {
278
+ const searchLower = searchQuery.toLowerCase();
279
+ const matchesSearch = !searchQuery || template.label.toLowerCase().includes(searchLower) || (template.description || '').toLowerCase().includes(searchLower);
280
+ const matchesCategory = categoryFilter === 'All' || template.category === categoryFilter;
281
+ return matchesSearch && matchesCategory;
282
+ });
283
+ }, [templates, searchQuery, categoryFilter]);
284
+ if (!isOpen) return null;
285
+ function handleBackdropClick(e) {
286
+ if (e.target === e.currentTarget) onClose();
287
+ }
288
+ return jsx("div", {
289
+ className: "fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm p-4",
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
+ });
383
+ }
384
+ /**
385
+ * InputToolBar – UI only. Renders toolbar and optional built-in textarea from props.
386
+ * All data (leftItems, rightItems, templateButton, inputConfig, micSendButton) and behavior (onClick, onChange, etc.) come from props.
387
+ */
388
+ function InputToolBar({
389
+ className,
390
+ classNames,
391
+ inputConfig,
392
+ topContent,
393
+ leftItems: leftItemsProp,
394
+ rightItems: rightItemsProp,
395
+ templateButton,
396
+ templateModalConfig,
397
+ templateModalRender,
398
+ projectSettingsModalOpen,
399
+ onProjectSettingsModalClose,
400
+ projectSettingsModalRender,
401
+ leftCustomRender,
402
+ rightCustomRender,
403
+ micSendButton,
404
+ children,
405
+ onContainerClick
406
+ }) {
407
+ const leftItems = leftItemsProp ?? [];
408
+ const rightItems = rightItemsProp ?? [];
409
+ const hasInputContent = inputConfig != null || children != null;
410
+ const effectiveTopContent = inputConfig != null ? topContent : null;
411
+ const templateModal = templateModalConfig != null && templateModalConfig.isOpen ? templateModalRender != null ? templateModalRender(templateModalConfig) : React__default.createElement(DefaultTemplateModal, templateModalConfig) : null;
412
+ const projectSettingsModal = projectSettingsModalOpen === true && onProjectSettingsModalClose != null && projectSettingsModalRender != null ? projectSettingsModalRender({
413
+ onClose: onProjectSettingsModalClose
414
+ }) : null;
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
+ });
469
+ }export{InputToolBar};//# sourceMappingURL=InputToolBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputToolBar.js","sources":["../../../src/components/InputToolBar/InputToolBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"2VA+eG,MAAA,QAAA,GAAA,aAAA;AACH,MAAA,aAAA,GAAA;AA4GA,MAAA,qBAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ import type { LeftToolbarItemId, RightToolbarItemId, ToolbarItemConfig } from './types';
2
+ export type LeftItemOverrides = Partial<Record<LeftToolbarItemId, Partial<Omit<ToolbarItemConfig<LeftToolbarItemId>, 'id'>>>>;
3
+ export type RightItemOverrides = Partial<Record<RightToolbarItemId, Partial<Omit<ToolbarItemConfig<RightToolbarItemId>, 'id'>>>>;
4
+ /**
5
+ * Build default left toolbar items (search, zap, lightbulb). Omit or set enabled: false to hide.
6
+ * Override label, enabled, active, onClick, icon, customButton per id.
7
+ */
8
+ export declare function getDefaultLeftItems(overrides?: LeftItemOverrides): ToolbarItemConfig<LeftToolbarItemId>[];
9
+ /**
10
+ * Build default right toolbar items (projectSettings, tag, chip, camera, image, attach, mic).
11
+ * projectSettings is disabled by default; pass projectSettings: { enabled: true, onClick } to show.
12
+ * Override label, enabled, disabled, loading, active, onClick, icon, customButton per id.
13
+ */
14
+ export declare function getDefaultRightItems(overrides?: RightItemOverrides): ToolbarItemConfig<RightToolbarItemId>[];
15
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/components/InputToolBar/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAsBxF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACnC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACvF,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACpC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CACzF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAezG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAgB5G"}
@@ -0,0 +1,59 @@
1
+ const DEFAULT_LEFT_IDS = ['search', 'zap', 'lightbulb'];
2
+ const DEFAULT_RIGHT_IDS = ['projectSettings', 'tag', 'chip', 'camera', 'image', 'attach', 'mic'];
3
+ const DEFAULT_LEFT_LABELS = {
4
+ search: 'Chat mode',
5
+ zap: 'Deep Search',
6
+ lightbulb: 'Build mode',
7
+ template: 'Template'
8
+ };
9
+ const DEFAULT_RIGHT_LABELS = {
10
+ projectSettings: 'Project settings',
11
+ tag: 'Enhance your prompt with AI',
12
+ chip: 'Configure chat model',
13
+ camera: 'Capture image',
14
+ image: 'Insert image',
15
+ attach: 'Attach file',
16
+ mic: 'Mic / Send'
17
+ };
18
+ /**
19
+ * Build default left toolbar items (search, zap, lightbulb). Omit or set enabled: false to hide.
20
+ * Override label, enabled, active, onClick, icon, customButton per id.
21
+ */
22
+ function getDefaultLeftItems(overrides) {
23
+ return DEFAULT_LEFT_IDS.map(id => {
24
+ const o = overrides?.[id];
25
+ return {
26
+ id,
27
+ label: o?.label ?? DEFAULT_LEFT_LABELS[id],
28
+ enabled: o?.enabled ?? true,
29
+ disabled: o?.disabled,
30
+ loading: o?.loading,
31
+ active: o?.active,
32
+ onClick: o?.onClick,
33
+ icon: o?.icon,
34
+ customButton: o?.customButton
35
+ };
36
+ });
37
+ }
38
+ /**
39
+ * Build default right toolbar items (projectSettings, tag, chip, camera, image, attach, mic).
40
+ * projectSettings is disabled by default; pass projectSettings: { enabled: true, onClick } to show.
41
+ * Override label, enabled, disabled, loading, active, onClick, icon, customButton per id.
42
+ */
43
+ function getDefaultRightItems(overrides) {
44
+ return DEFAULT_RIGHT_IDS.map(id => {
45
+ const o = overrides?.[id];
46
+ const defaultEnabled = id === 'projectSettings' ? false : true;
47
+ return {
48
+ id,
49
+ label: o?.label ?? DEFAULT_RIGHT_LABELS[id],
50
+ enabled: o?.enabled ?? defaultEnabled,
51
+ disabled: o?.disabled,
52
+ loading: o?.loading,
53
+ active: o?.active,
54
+ onClick: o?.onClick,
55
+ icon: o?.icon,
56
+ customButton: o?.customButton
57
+ };
58
+ });
59
+ }export{getDefaultLeftItems,getDefaultRightItems};//# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sources":["../../../src/components/InputToolBar/defaults.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAA,gBAAc,GAAA,CAAA,QAAmB,EAAA,KAAA,EAAA,WAAoB,CAAA;AAsBrD,MAAM,sCACF,EAAM,KAAC,EAAA,MAAA,EAAA,QAAmB,EAAA,OAAY,EAAC,QAAA,EAAA,KAAA,CAAiB;AAE5D,MAAM;AAIN,EAAA,MAAA,EAAA,WAAA;;;AAGG,EAAA,QAAA,EAAA;AACH,CAAA;AAiBA,MAAA,oBAAA,GAAA;;;;AAIG,EAAA,MAAA,EAAA,eAAA;AACH,EAAA,KAAA,EAAA,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ export { InputToolBar } from './InputToolBar';
2
+ export { getDefaultLeftItems, getDefaultRightItems } from './defaults';
3
+ export type { InputConfig, InputToolBarClassNames, InputToolBarProps, LeftToolbarItemId, MicSendButtonConfig, ProjectSettingsModalRender, ProjectSettingsModalRenderProps, RightToolbarItemId, TemplateButtonConfig, TemplateModalConfig, TemplateModalItem, TemplateModalRender, ToolbarItemConfig, } from './types';
4
+ export type { LeftItemOverrides, RightItemOverrides } from './defaults';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/InputToolBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACR,WAAW,EACX,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}