@neo4j-ndl/react 4.1.8 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/lib/cjs/ai/code-preview/CodePreview.js +91 -0
  2. package/lib/cjs/ai/code-preview/CodePreview.js.map +1 -0
  3. package/lib/cjs/ai/code-preview/index.js +26 -0
  4. package/lib/cjs/ai/code-preview/index.js.map +1 -0
  5. package/lib/cjs/ai/code-preview/stories/code-preview-languages.story.js +37 -0
  6. package/lib/cjs/ai/code-preview/stories/code-preview-languages.story.js.map +1 -0
  7. package/lib/cjs/ai/code-preview/stories/code-preview-loading.story.js +31 -0
  8. package/lib/cjs/ai/code-preview/stories/code-preview-loading.story.js.map +1 -0
  9. package/lib/cjs/ai/code-preview/stories/code-preview-read.story.js +36 -0
  10. package/lib/cjs/ai/code-preview/stories/code-preview-read.story.js.map +1 -0
  11. package/lib/cjs/ai/code-preview/stories/code-preview-write.story.js +36 -0
  12. package/lib/cjs/ai/code-preview/stories/code-preview-write.story.js.map +1 -0
  13. package/lib/cjs/ai/code-preview/stories/code-preview.stories.js +88 -0
  14. package/lib/cjs/ai/code-preview/stories/code-preview.stories.js.map +1 -0
  15. package/lib/cjs/ai/code-preview/stories/index.js +44 -0
  16. package/lib/cjs/ai/code-preview/stories/index.js.map +1 -0
  17. package/lib/cjs/ai/file-tag/FileTag.js +58 -0
  18. package/lib/cjs/ai/file-tag/FileTag.js.map +1 -0
  19. package/lib/cjs/ai/file-tag/index.js +38 -0
  20. package/lib/cjs/ai/file-tag/index.js.map +1 -0
  21. package/lib/cjs/ai/file-tag/stories/file-tag-chat.story.js +31 -0
  22. package/lib/cjs/ai/file-tag/stories/file-tag-chat.story.js.map +1 -0
  23. package/lib/cjs/ai/file-tag/stories/file-tag-loading.story.js +33 -0
  24. package/lib/cjs/ai/file-tag/stories/file-tag-loading.story.js.map +1 -0
  25. package/lib/cjs/ai/file-tag/stories/file-tag-prompt.story.js +33 -0
  26. package/lib/cjs/ai/file-tag/stories/file-tag-prompt.story.js.map +1 -0
  27. package/lib/cjs/ai/file-tag/stories/file-tag.stories.js +76 -0
  28. package/lib/cjs/ai/file-tag/stories/file-tag.stories.js.map +1 -0
  29. package/lib/cjs/ai/file-tag/stories/index.js +40 -0
  30. package/lib/cjs/ai/file-tag/stories/index.js.map +1 -0
  31. package/lib/cjs/ai/image-tag/ImageTag.js +58 -0
  32. package/lib/cjs/ai/image-tag/ImageTag.js.map +1 -0
  33. package/lib/cjs/ai/image-tag/index.js +38 -0
  34. package/lib/cjs/ai/image-tag/index.js.map +1 -0
  35. package/lib/cjs/ai/image-tag/stories/image-tag-chat.story.js +30 -0
  36. package/lib/cjs/ai/image-tag/stories/image-tag-chat.story.js.map +1 -0
  37. package/lib/cjs/ai/image-tag/stories/image-tag-loading.story.js +32 -0
  38. package/lib/cjs/ai/image-tag/stories/image-tag-loading.story.js.map +1 -0
  39. package/lib/cjs/ai/image-tag/stories/image-tag-prompt.story.js +32 -0
  40. package/lib/cjs/ai/image-tag/stories/image-tag-prompt.story.js.map +1 -0
  41. package/lib/cjs/ai/image-tag/stories/image-tag.stories.js +76 -0
  42. package/lib/cjs/ai/image-tag/stories/image-tag.stories.js.map +1 -0
  43. package/lib/cjs/ai/image-tag/stories/index.js +40 -0
  44. package/lib/cjs/ai/image-tag/stories/index.js.map +1 -0
  45. package/lib/cjs/ai/index.js +23 -1
  46. package/lib/cjs/ai/index.js.map +1 -1
  47. package/lib/cjs/ai/more-files/MoreFiles.js +55 -0
  48. package/lib/cjs/ai/more-files/MoreFiles.js.map +1 -0
  49. package/lib/cjs/ai/more-files/index.js +38 -0
  50. package/lib/cjs/ai/more-files/index.js.map +1 -0
  51. package/lib/cjs/ai/more-files/stories/index.js +32 -0
  52. package/lib/cjs/ai/more-files/stories/index.js.map +1 -0
  53. package/lib/cjs/ai/more-files/stories/more-files.stories.js +50 -0
  54. package/lib/cjs/ai/more-files/stories/more-files.stories.js.map +1 -0
  55. package/lib/cjs/ai/more-files/stories/more-files.story.js +35 -0
  56. package/lib/cjs/ai/more-files/stories/more-files.story.js.map +1 -0
  57. package/lib/cjs/ai/presence/Presence.js +5 -1
  58. package/lib/cjs/ai/presence/Presence.js.map +1 -1
  59. package/lib/cjs/ai/prompt/Prompt.js +163 -0
  60. package/lib/cjs/ai/prompt/Prompt.js.map +1 -0
  61. package/lib/cjs/ai/prompt/index.js +38 -0
  62. package/lib/cjs/ai/prompt/index.js.map +1 -0
  63. package/lib/cjs/ai/prompt/stories/index.js +36 -0
  64. package/lib/cjs/ai/prompt/stories/index.js.map +1 -0
  65. package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js +56 -0
  66. package/lib/cjs/ai/prompt/stories/prompt-advanced.story.js.map +1 -0
  67. package/lib/cjs/ai/prompt/stories/prompt-default.story.js +40 -0
  68. package/lib/cjs/ai/prompt/stories/prompt-default.story.js.map +1 -0
  69. package/lib/cjs/ai/prompt/stories/prompt.stories.js +63 -0
  70. package/lib/cjs/ai/prompt/stories/prompt.stories.js.map +1 -0
  71. package/lib/cjs/ai/reasoning/Reasoning.js +77 -0
  72. package/lib/cjs/ai/reasoning/Reasoning.js.map +1 -0
  73. package/lib/cjs/ai/reasoning/index.js +38 -0
  74. package/lib/cjs/ai/reasoning/index.js.map +1 -0
  75. package/lib/cjs/ai/reasoning/stories/index.js +32 -0
  76. package/lib/cjs/ai/reasoning/stories/index.js.map +1 -0
  77. package/lib/cjs/ai/reasoning/stories/reasoning-full.story.js +34 -0
  78. package/lib/cjs/ai/reasoning/stories/reasoning-full.story.js.map +1 -0
  79. package/lib/cjs/ai/reasoning/stories/reasoning.stories.js +50 -0
  80. package/lib/cjs/ai/reasoning/stories/reasoning.stories.js.map +1 -0
  81. package/lib/cjs/ai/response/Response.js +185 -0
  82. package/lib/cjs/ai/response/Response.js.map +1 -0
  83. package/lib/cjs/ai/response/index.js +26 -0
  84. package/lib/cjs/ai/response/index.js.map +1 -0
  85. package/lib/cjs/ai/response/stories/index.js +56 -0
  86. package/lib/cjs/ai/response/stories/index.js.map +1 -0
  87. package/lib/cjs/ai/response/stories/response-all-components.story.js +229 -0
  88. package/lib/cjs/ai/response/stories/response-all-components.story.js.map +1 -0
  89. package/lib/cjs/ai/response/stories/response-code-examples.story.js +248 -0
  90. package/lib/cjs/ai/response/stories/response-code-examples.story.js.map +1 -0
  91. package/lib/cjs/ai/response/stories/response-default.story.js +50 -0
  92. package/lib/cjs/ai/response/stories/response-default.story.js.map +1 -0
  93. package/lib/cjs/ai/response/stories/response-full-example.story.js +162 -0
  94. package/lib/cjs/ai/response/stories/response-full-example.story.js.map +1 -0
  95. package/lib/cjs/ai/response/stories/response-headings.story.js +120 -0
  96. package/lib/cjs/ai/response/stories/response-headings.story.js.map +1 -0
  97. package/lib/cjs/ai/response/stories/response-lists.story.js +170 -0
  98. package/lib/cjs/ai/response/stories/response-lists.story.js.map +1 -0
  99. package/lib/cjs/ai/response/stories/response-streaming.story.js +65 -0
  100. package/lib/cjs/ai/response/stories/response-streaming.story.js.map +1 -0
  101. package/lib/cjs/ai/response/stories/response.stories.js +132 -0
  102. package/lib/cjs/ai/response/stories/response.stories.js.map +1 -0
  103. package/lib/cjs/ai/suggestion/Suggestion.js +58 -0
  104. package/lib/cjs/ai/suggestion/Suggestion.js.map +1 -0
  105. package/lib/cjs/ai/suggestion/index.js +38 -0
  106. package/lib/cjs/ai/suggestion/index.js.map +1 -0
  107. package/lib/cjs/ai/suggestion/stories/index.js +44 -0
  108. package/lib/cjs/ai/suggestion/stories/index.js.map +1 -0
  109. package/lib/cjs/ai/suggestion/stories/suggestion-default.story.js +30 -0
  110. package/lib/cjs/ai/suggestion/stories/suggestion-default.story.js.map +1 -0
  111. package/lib/cjs/ai/suggestion/stories/suggestion-icon.story.js +31 -0
  112. package/lib/cjs/ai/suggestion/stories/suggestion-icon.story.js.map +1 -0
  113. package/lib/cjs/ai/suggestion/stories/suggestion-primary.story.js +30 -0
  114. package/lib/cjs/ai/suggestion/stories/suggestion-primary.story.js.map +1 -0
  115. package/lib/cjs/ai/suggestion/stories/suggestion-sizes.story.js +30 -0
  116. package/lib/cjs/ai/suggestion/stories/suggestion-sizes.story.js.map +1 -0
  117. package/lib/cjs/ai/suggestion/stories/suggestion.stories.js +89 -0
  118. package/lib/cjs/ai/suggestion/stories/suggestion.stories.js.map +1 -0
  119. package/lib/cjs/ai/thinking/Thinking.js +57 -0
  120. package/lib/cjs/ai/thinking/Thinking.js.map +1 -0
  121. package/lib/cjs/ai/thinking/index.js +38 -0
  122. package/lib/cjs/ai/thinking/index.js.map +1 -0
  123. package/lib/cjs/ai/thinking/stories/ai-thinking-default.story.js +30 -0
  124. package/lib/cjs/ai/thinking/stories/ai-thinking-default.story.js.map +1 -0
  125. package/lib/cjs/ai/thinking/stories/ai-thinking-finished.story.js +30 -0
  126. package/lib/cjs/ai/thinking/stories/ai-thinking-finished.story.js.map +1 -0
  127. package/lib/cjs/ai/thinking/stories/ai-thinking.stories.js +63 -0
  128. package/lib/cjs/ai/thinking/stories/ai-thinking.stories.js.map +1 -0
  129. package/lib/cjs/ai/thinking/stories/index.js +36 -0
  130. package/lib/cjs/ai/thinking/stories/index.js.map +1 -0
  131. package/lib/cjs/ai/thinking/thinking-duration-formatter.js +71 -0
  132. package/lib/cjs/ai/thinking/thinking-duration-formatter.js.map +1 -0
  133. package/lib/cjs/ai/tool-call/ToolCall.js +55 -0
  134. package/lib/cjs/ai/tool-call/ToolCall.js.map +1 -0
  135. package/lib/cjs/ai/tool-call/index.js +38 -0
  136. package/lib/cjs/ai/tool-call/index.js.map +1 -0
  137. package/lib/cjs/ai/tool-call/stories/index.js +36 -0
  138. package/lib/cjs/ai/tool-call/stories/index.js.map +1 -0
  139. package/lib/cjs/ai/tool-call/stories/tool-call-default.story.js +30 -0
  140. package/lib/cjs/ai/tool-call/stories/tool-call-default.story.js.map +1 -0
  141. package/lib/cjs/ai/tool-call/stories/tool-call-done.story.js +30 -0
  142. package/lib/cjs/ai/tool-call/stories/tool-call-done.story.js.map +1 -0
  143. package/lib/cjs/ai/tool-call/stories/tool-call.stories.js +63 -0
  144. package/lib/cjs/ai/tool-call/stories/tool-call.stories.js.map +1 -0
  145. package/lib/cjs/ai/user-bubble/UserBubble.js +53 -0
  146. package/lib/cjs/ai/user-bubble/UserBubble.js.map +1 -0
  147. package/lib/cjs/ai/user-bubble/index.js +38 -0
  148. package/lib/cjs/ai/user-bubble/index.js.map +1 -0
  149. package/lib/cjs/ai/user-bubble/stories/index.js +44 -0
  150. package/lib/cjs/ai/user-bubble/stories/index.js.map +1 -0
  151. package/lib/cjs/ai/user-bubble/stories/user-bubble-action.story.js +35 -0
  152. package/lib/cjs/ai/user-bubble/stories/user-bubble-action.story.js.map +1 -0
  153. package/lib/cjs/ai/user-bubble/stories/user-bubble-and-files.story.js +39 -0
  154. package/lib/cjs/ai/user-bubble/stories/user-bubble-and-files.story.js.map +1 -0
  155. package/lib/cjs/ai/user-bubble/stories/user-bubble-long.story.js +33 -0
  156. package/lib/cjs/ai/user-bubble/stories/user-bubble-long.story.js.map +1 -0
  157. package/lib/cjs/ai/user-bubble/stories/user-bubble.stories.js +89 -0
  158. package/lib/cjs/ai/user-bubble/stories/user-bubble.stories.js.map +1 -0
  159. package/lib/cjs/ai/user-bubble/stories/user-bubble.story.js +34 -0
  160. package/lib/cjs/ai/user-bubble/stories/user-bubble.story.js.map +1 -0
  161. package/lib/cjs/code/Code.js.map +1 -1
  162. package/lib/cjs/text-area/TextArea.js.map +1 -1
  163. package/lib/cjs/timezone-picker/stories/timezone-picker-dst-aware.story.js +1 -1
  164. package/lib/cjs/timezone-picker/stories/timezone-picker-dst-aware.story.js.map +1 -1
  165. package/lib/cjs/tooltip/use-tooltip.js +1 -0
  166. package/lib/cjs/tooltip/use-tooltip.js.map +1 -1
  167. package/lib/esm/ai/code-preview/CodePreview.js +84 -0
  168. package/lib/esm/ai/code-preview/CodePreview.js.map +1 -0
  169. package/lib/esm/ai/code-preview/index.js +22 -0
  170. package/lib/esm/ai/code-preview/index.js.map +1 -0
  171. package/lib/esm/ai/code-preview/stories/code-preview-languages.story.js +33 -0
  172. package/lib/esm/ai/code-preview/stories/code-preview-languages.story.js.map +1 -0
  173. package/lib/esm/ai/code-preview/stories/code-preview-loading.story.js +27 -0
  174. package/lib/esm/ai/code-preview/stories/code-preview-loading.story.js.map +1 -0
  175. package/lib/esm/ai/code-preview/stories/code-preview-read.story.js +32 -0
  176. package/lib/esm/ai/code-preview/stories/code-preview-read.story.js.map +1 -0
  177. package/lib/esm/ai/code-preview/stories/code-preview-write.story.js +32 -0
  178. package/lib/esm/ai/code-preview/stories/code-preview-write.story.js.map +1 -0
  179. package/lib/esm/ai/code-preview/stories/code-preview.stories.js +85 -0
  180. package/lib/esm/ai/code-preview/stories/code-preview.stories.js.map +1 -0
  181. package/lib/esm/ai/code-preview/stories/index.js +34 -0
  182. package/lib/esm/ai/code-preview/stories/index.js.map +1 -0
  183. package/lib/esm/ai/file-tag/FileTag.js +52 -0
  184. package/lib/esm/ai/file-tag/FileTag.js.map +1 -0
  185. package/lib/esm/ai/file-tag/index.js +22 -0
  186. package/lib/esm/ai/file-tag/index.js.map +1 -0
  187. package/lib/esm/ai/file-tag/stories/file-tag-chat.story.js +29 -0
  188. package/lib/esm/ai/file-tag/stories/file-tag-chat.story.js.map +1 -0
  189. package/lib/esm/ai/file-tag/stories/file-tag-loading.story.js +31 -0
  190. package/lib/esm/ai/file-tag/stories/file-tag-loading.story.js.map +1 -0
  191. package/lib/esm/ai/file-tag/stories/file-tag-prompt.story.js +31 -0
  192. package/lib/esm/ai/file-tag/stories/file-tag-prompt.story.js.map +1 -0
  193. package/lib/esm/ai/file-tag/stories/file-tag.stories.js +73 -0
  194. package/lib/esm/ai/file-tag/stories/file-tag.stories.js.map +1 -0
  195. package/lib/esm/ai/file-tag/stories/index.js +31 -0
  196. package/lib/esm/ai/file-tag/stories/index.js.map +1 -0
  197. package/lib/esm/ai/image-tag/ImageTag.js +52 -0
  198. package/lib/esm/ai/image-tag/ImageTag.js.map +1 -0
  199. package/lib/esm/ai/image-tag/index.js +22 -0
  200. package/lib/esm/ai/image-tag/index.js.map +1 -0
  201. package/lib/esm/ai/image-tag/stories/image-tag-chat.story.js +28 -0
  202. package/lib/esm/ai/image-tag/stories/image-tag-chat.story.js.map +1 -0
  203. package/lib/esm/ai/image-tag/stories/image-tag-loading.story.js +30 -0
  204. package/lib/esm/ai/image-tag/stories/image-tag-loading.story.js.map +1 -0
  205. package/lib/esm/ai/image-tag/stories/image-tag-prompt.story.js +30 -0
  206. package/lib/esm/ai/image-tag/stories/image-tag-prompt.story.js.map +1 -0
  207. package/lib/esm/ai/image-tag/stories/image-tag.stories.js +73 -0
  208. package/lib/esm/ai/image-tag/stories/image-tag.stories.js.map +1 -0
  209. package/lib/esm/ai/image-tag/stories/index.js +31 -0
  210. package/lib/esm/ai/image-tag/stories/index.js.map +1 -0
  211. package/lib/esm/ai/index.js +11 -0
  212. package/lib/esm/ai/index.js.map +1 -1
  213. package/lib/esm/ai/more-files/MoreFiles.js +49 -0
  214. package/lib/esm/ai/more-files/MoreFiles.js.map +1 -0
  215. package/lib/esm/ai/more-files/index.js +22 -0
  216. package/lib/esm/ai/more-files/index.js.map +1 -0
  217. package/lib/esm/ai/more-files/stories/index.js +25 -0
  218. package/lib/esm/ai/more-files/stories/index.js.map +1 -0
  219. package/lib/esm/ai/more-files/stories/more-files.stories.js +47 -0
  220. package/lib/esm/ai/more-files/stories/more-files.stories.js.map +1 -0
  221. package/lib/esm/ai/more-files/stories/more-files.story.js +33 -0
  222. package/lib/esm/ai/more-files/stories/more-files.story.js.map +1 -0
  223. package/lib/esm/ai/presence/Presence.js +5 -1
  224. package/lib/esm/ai/presence/Presence.js.map +1 -1
  225. package/lib/esm/ai/prompt/Prompt.js +157 -0
  226. package/lib/esm/ai/prompt/Prompt.js.map +1 -0
  227. package/lib/esm/ai/prompt/index.js +22 -0
  228. package/lib/esm/ai/prompt/index.js.map +1 -0
  229. package/lib/esm/ai/prompt/stories/index.js +28 -0
  230. package/lib/esm/ai/prompt/stories/index.js.map +1 -0
  231. package/lib/esm/ai/prompt/stories/prompt-advanced.story.js +54 -0
  232. package/lib/esm/ai/prompt/stories/prompt-advanced.story.js.map +1 -0
  233. package/lib/esm/ai/prompt/stories/prompt-default.story.js +38 -0
  234. package/lib/esm/ai/prompt/stories/prompt-default.story.js.map +1 -0
  235. package/lib/esm/ai/prompt/stories/prompt.stories.js +60 -0
  236. package/lib/esm/ai/prompt/stories/prompt.stories.js.map +1 -0
  237. package/lib/esm/ai/reasoning/Reasoning.js +71 -0
  238. package/lib/esm/ai/reasoning/Reasoning.js.map +1 -0
  239. package/lib/esm/ai/reasoning/index.js +22 -0
  240. package/lib/esm/ai/reasoning/index.js.map +1 -0
  241. package/lib/esm/ai/reasoning/stories/index.js +25 -0
  242. package/lib/esm/ai/reasoning/stories/index.js.map +1 -0
  243. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js +32 -0
  244. package/lib/esm/ai/reasoning/stories/reasoning-full.story.js.map +1 -0
  245. package/lib/esm/ai/reasoning/stories/reasoning.stories.js +47 -0
  246. package/lib/esm/ai/reasoning/stories/reasoning.stories.js.map +1 -0
  247. package/lib/esm/ai/response/Response.js +179 -0
  248. package/lib/esm/ai/response/Response.js.map +1 -0
  249. package/lib/esm/ai/response/index.js +22 -0
  250. package/lib/esm/ai/response/index.js.map +1 -0
  251. package/lib/esm/ai/response/stories/index.js +43 -0
  252. package/lib/esm/ai/response/stories/index.js.map +1 -0
  253. package/lib/esm/ai/response/stories/response-all-components.story.js +225 -0
  254. package/lib/esm/ai/response/stories/response-all-components.story.js.map +1 -0
  255. package/lib/esm/ai/response/stories/response-code-examples.story.js +244 -0
  256. package/lib/esm/ai/response/stories/response-code-examples.story.js.map +1 -0
  257. package/lib/esm/ai/response/stories/response-default.story.js +46 -0
  258. package/lib/esm/ai/response/stories/response-default.story.js.map +1 -0
  259. package/lib/esm/ai/response/stories/response-full-example.story.js +158 -0
  260. package/lib/esm/ai/response/stories/response-full-example.story.js.map +1 -0
  261. package/lib/esm/ai/response/stories/response-headings.story.js +116 -0
  262. package/lib/esm/ai/response/stories/response-headings.story.js.map +1 -0
  263. package/lib/esm/ai/response/stories/response-lists.story.js +166 -0
  264. package/lib/esm/ai/response/stories/response-lists.story.js.map +1 -0
  265. package/lib/esm/ai/response/stories/response-streaming.story.js +61 -0
  266. package/lib/esm/ai/response/stories/response-streaming.story.js.map +1 -0
  267. package/lib/esm/ai/response/stories/response.stories.js +129 -0
  268. package/lib/esm/ai/response/stories/response.stories.js.map +1 -0
  269. package/lib/esm/ai/suggestion/Suggestion.js +52 -0
  270. package/lib/esm/ai/suggestion/Suggestion.js.map +1 -0
  271. package/lib/esm/ai/suggestion/index.js +22 -0
  272. package/lib/esm/ai/suggestion/index.js.map +1 -0
  273. package/lib/esm/ai/suggestion/stories/index.js +34 -0
  274. package/lib/esm/ai/suggestion/stories/index.js.map +1 -0
  275. package/lib/esm/ai/suggestion/stories/suggestion-default.story.js +28 -0
  276. package/lib/esm/ai/suggestion/stories/suggestion-default.story.js.map +1 -0
  277. package/lib/esm/ai/suggestion/stories/suggestion-icon.story.js +29 -0
  278. package/lib/esm/ai/suggestion/stories/suggestion-icon.story.js.map +1 -0
  279. package/lib/esm/ai/suggestion/stories/suggestion-primary.story.js +28 -0
  280. package/lib/esm/ai/suggestion/stories/suggestion-primary.story.js.map +1 -0
  281. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js +28 -0
  282. package/lib/esm/ai/suggestion/stories/suggestion-sizes.story.js.map +1 -0
  283. package/lib/esm/ai/suggestion/stories/suggestion.stories.js +86 -0
  284. package/lib/esm/ai/suggestion/stories/suggestion.stories.js.map +1 -0
  285. package/lib/esm/ai/thinking/Thinking.js +51 -0
  286. package/lib/esm/ai/thinking/Thinking.js.map +1 -0
  287. package/lib/esm/ai/thinking/index.js +22 -0
  288. package/lib/esm/ai/thinking/index.js.map +1 -0
  289. package/lib/esm/ai/thinking/stories/ai-thinking-default.story.js +28 -0
  290. package/lib/esm/ai/thinking/stories/ai-thinking-default.story.js.map +1 -0
  291. package/lib/esm/ai/thinking/stories/ai-thinking-finished.story.js +28 -0
  292. package/lib/esm/ai/thinking/stories/ai-thinking-finished.story.js.map +1 -0
  293. package/lib/esm/ai/thinking/stories/ai-thinking.stories.js +60 -0
  294. package/lib/esm/ai/thinking/stories/ai-thinking.stories.js.map +1 -0
  295. package/lib/esm/ai/thinking/stories/index.js +28 -0
  296. package/lib/esm/ai/thinking/stories/index.js.map +1 -0
  297. package/lib/esm/ai/thinking/thinking-duration-formatter.js +67 -0
  298. package/lib/esm/ai/thinking/thinking-duration-formatter.js.map +1 -0
  299. package/lib/esm/ai/tool-call/ToolCall.js +49 -0
  300. package/lib/esm/ai/tool-call/ToolCall.js.map +1 -0
  301. package/lib/esm/ai/tool-call/index.js +22 -0
  302. package/lib/esm/ai/tool-call/index.js.map +1 -0
  303. package/lib/esm/ai/tool-call/stories/index.js +28 -0
  304. package/lib/esm/ai/tool-call/stories/index.js.map +1 -0
  305. package/lib/esm/ai/tool-call/stories/tool-call-default.story.js +28 -0
  306. package/lib/esm/ai/tool-call/stories/tool-call-default.story.js.map +1 -0
  307. package/lib/esm/ai/tool-call/stories/tool-call-done.story.js +28 -0
  308. package/lib/esm/ai/tool-call/stories/tool-call-done.story.js.map +1 -0
  309. package/lib/esm/ai/tool-call/stories/tool-call.stories.js +60 -0
  310. package/lib/esm/ai/tool-call/stories/tool-call.stories.js.map +1 -0
  311. package/lib/esm/ai/user-bubble/UserBubble.js +47 -0
  312. package/lib/esm/ai/user-bubble/UserBubble.js.map +1 -0
  313. package/lib/esm/ai/user-bubble/index.js +22 -0
  314. package/lib/esm/ai/user-bubble/index.js.map +1 -0
  315. package/lib/esm/ai/user-bubble/stories/index.js +34 -0
  316. package/lib/esm/ai/user-bubble/stories/index.js.map +1 -0
  317. package/lib/esm/ai/user-bubble/stories/user-bubble-action.story.js +33 -0
  318. package/lib/esm/ai/user-bubble/stories/user-bubble-action.story.js.map +1 -0
  319. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js +37 -0
  320. package/lib/esm/ai/user-bubble/stories/user-bubble-and-files.story.js.map +1 -0
  321. package/lib/esm/ai/user-bubble/stories/user-bubble-long.story.js +31 -0
  322. package/lib/esm/ai/user-bubble/stories/user-bubble-long.story.js.map +1 -0
  323. package/lib/esm/ai/user-bubble/stories/user-bubble.stories.js +86 -0
  324. package/lib/esm/ai/user-bubble/stories/user-bubble.stories.js.map +1 -0
  325. package/lib/esm/ai/user-bubble/stories/user-bubble.story.js +32 -0
  326. package/lib/esm/ai/user-bubble/stories/user-bubble.story.js.map +1 -0
  327. package/lib/esm/code/Code.js.map +1 -1
  328. package/lib/esm/text-area/TextArea.js.map +1 -1
  329. package/lib/esm/timezone-picker/stories/timezone-picker-dst-aware.story.js +1 -1
  330. package/lib/esm/timezone-picker/stories/timezone-picker-dst-aware.story.js.map +1 -1
  331. package/lib/esm/tooltip/use-tooltip.js +2 -1
  332. package/lib/esm/tooltip/use-tooltip.js.map +1 -1
  333. package/lib/types/ai/code-preview/CodePreview.d.ts +44 -0
  334. package/lib/types/ai/code-preview/CodePreview.d.ts.map +1 -0
  335. package/lib/types/ai/code-preview/index.d.ts +22 -0
  336. package/lib/types/ai/code-preview/index.d.ts.map +1 -0
  337. package/lib/types/ai/code-preview/stories/code-preview-languages.story.d.ts +23 -0
  338. package/lib/types/ai/code-preview/stories/code-preview-languages.story.d.ts.map +1 -0
  339. package/lib/types/ai/code-preview/stories/code-preview-loading.story.d.ts +23 -0
  340. package/lib/types/ai/code-preview/stories/code-preview-loading.story.d.ts.map +1 -0
  341. package/lib/types/ai/code-preview/stories/code-preview-read.story.d.ts +23 -0
  342. package/lib/types/ai/code-preview/stories/code-preview-read.story.d.ts.map +1 -0
  343. package/lib/types/ai/code-preview/stories/code-preview-write.story.d.ts +23 -0
  344. package/lib/types/ai/code-preview/stories/code-preview-write.story.d.ts.map +1 -0
  345. package/lib/types/ai/code-preview/stories/code-preview.stories.d.ts +30 -0
  346. package/lib/types/ai/code-preview/stories/code-preview.stories.d.ts.map +1 -0
  347. package/lib/types/ai/code-preview/stories/index.d.ts +29 -0
  348. package/lib/types/ai/code-preview/stories/index.d.ts.map +1 -0
  349. package/lib/types/ai/file-tag/FileTag.d.ts +44 -0
  350. package/lib/types/ai/file-tag/FileTag.d.ts.map +1 -0
  351. package/lib/types/ai/file-tag/index.d.ts +22 -0
  352. package/lib/types/ai/file-tag/index.d.ts.map +1 -0
  353. package/lib/types/ai/file-tag/stories/file-tag-chat.story.d.ts +24 -0
  354. package/lib/types/ai/file-tag/stories/file-tag-chat.story.d.ts.map +1 -0
  355. package/lib/types/ai/file-tag/stories/file-tag-loading.story.d.ts +24 -0
  356. package/lib/types/ai/file-tag/stories/file-tag-loading.story.d.ts.map +1 -0
  357. package/lib/types/ai/file-tag/stories/file-tag-prompt.story.d.ts +24 -0
  358. package/lib/types/ai/file-tag/stories/file-tag-prompt.story.d.ts.map +1 -0
  359. package/lib/types/ai/file-tag/stories/file-tag.stories.d.ts +29 -0
  360. package/lib/types/ai/file-tag/stories/file-tag.stories.d.ts.map +1 -0
  361. package/lib/types/ai/file-tag/stories/index.d.ts +27 -0
  362. package/lib/types/ai/file-tag/stories/index.d.ts.map +1 -0
  363. package/lib/types/ai/image-tag/ImageTag.d.ts +46 -0
  364. package/lib/types/ai/image-tag/ImageTag.d.ts.map +1 -0
  365. package/lib/types/ai/image-tag/index.d.ts +22 -0
  366. package/lib/types/ai/image-tag/index.d.ts.map +1 -0
  367. package/lib/types/ai/image-tag/stories/image-tag-chat.story.d.ts +24 -0
  368. package/lib/types/ai/image-tag/stories/image-tag-chat.story.d.ts.map +1 -0
  369. package/lib/types/ai/image-tag/stories/image-tag-loading.story.d.ts +24 -0
  370. package/lib/types/ai/image-tag/stories/image-tag-loading.story.d.ts.map +1 -0
  371. package/lib/types/ai/image-tag/stories/image-tag-prompt.story.d.ts +24 -0
  372. package/lib/types/ai/image-tag/stories/image-tag-prompt.story.d.ts.map +1 -0
  373. package/lib/types/ai/image-tag/stories/image-tag.stories.d.ts +29 -0
  374. package/lib/types/ai/image-tag/stories/image-tag.stories.d.ts.map +1 -0
  375. package/lib/types/ai/image-tag/stories/index.d.ts +27 -0
  376. package/lib/types/ai/image-tag/stories/index.d.ts.map +1 -0
  377. package/lib/types/ai/index.d.ts +11 -0
  378. package/lib/types/ai/index.d.ts.map +1 -1
  379. package/lib/types/ai/more-files/MoreFiles.d.ts +38 -0
  380. package/lib/types/ai/more-files/MoreFiles.d.ts.map +1 -0
  381. package/lib/types/ai/more-files/index.d.ts +22 -0
  382. package/lib/types/ai/more-files/index.d.ts.map +1 -0
  383. package/lib/types/ai/more-files/stories/index.d.ts +23 -0
  384. package/lib/types/ai/more-files/stories/index.d.ts.map +1 -0
  385. package/lib/types/ai/more-files/stories/more-files.stories.d.ts +27 -0
  386. package/lib/types/ai/more-files/stories/more-files.stories.d.ts.map +1 -0
  387. package/lib/types/ai/more-files/stories/more-files.story.d.ts +24 -0
  388. package/lib/types/ai/more-files/stories/more-files.story.d.ts.map +1 -0
  389. package/lib/types/ai/presence/Presence.d.ts.map +1 -1
  390. package/lib/types/ai/prompt/Prompt.d.ts +62 -0
  391. package/lib/types/ai/prompt/Prompt.d.ts.map +1 -0
  392. package/lib/types/ai/prompt/index.d.ts +22 -0
  393. package/lib/types/ai/prompt/index.d.ts.map +1 -0
  394. package/lib/types/ai/prompt/stories/index.d.ts +25 -0
  395. package/lib/types/ai/prompt/stories/index.d.ts.map +1 -0
  396. package/lib/types/ai/prompt/stories/prompt-advanced.story.d.ts +24 -0
  397. package/lib/types/ai/prompt/stories/prompt-advanced.story.d.ts.map +1 -0
  398. package/lib/types/ai/prompt/stories/prompt-default.story.d.ts +24 -0
  399. package/lib/types/ai/prompt/stories/prompt-default.story.d.ts.map +1 -0
  400. package/lib/types/ai/prompt/stories/prompt.stories.d.ts +28 -0
  401. package/lib/types/ai/prompt/stories/prompt.stories.d.ts.map +1 -0
  402. package/lib/types/ai/reasoning/Reasoning.d.ts +44 -0
  403. package/lib/types/ai/reasoning/Reasoning.d.ts.map +1 -0
  404. package/lib/types/ai/reasoning/index.d.ts +22 -0
  405. package/lib/types/ai/reasoning/index.d.ts.map +1 -0
  406. package/lib/types/ai/reasoning/stories/index.d.ts +23 -0
  407. package/lib/types/ai/reasoning/stories/index.d.ts.map +1 -0
  408. package/lib/types/ai/reasoning/stories/reasoning-full.story.d.ts +24 -0
  409. package/lib/types/ai/reasoning/stories/reasoning-full.story.d.ts.map +1 -0
  410. package/lib/types/ai/reasoning/stories/reasoning.stories.d.ts +27 -0
  411. package/lib/types/ai/reasoning/stories/reasoning.stories.d.ts.map +1 -0
  412. package/lib/types/ai/response/Response.d.ts +37 -0
  413. package/lib/types/ai/response/Response.d.ts.map +1 -0
  414. package/lib/types/ai/response/index.d.ts +22 -0
  415. package/lib/types/ai/response/index.d.ts.map +1 -0
  416. package/lib/types/ai/response/stories/index.d.ts +35 -0
  417. package/lib/types/ai/response/stories/index.d.ts.map +1 -0
  418. package/lib/types/ai/response/stories/response-all-components.story.d.ts +24 -0
  419. package/lib/types/ai/response/stories/response-all-components.story.d.ts.map +1 -0
  420. package/lib/types/ai/response/stories/response-code-examples.story.d.ts +24 -0
  421. package/lib/types/ai/response/stories/response-code-examples.story.d.ts.map +1 -0
  422. package/lib/types/ai/response/stories/response-default.story.d.ts +23 -0
  423. package/lib/types/ai/response/stories/response-default.story.d.ts.map +1 -0
  424. package/lib/types/ai/response/stories/response-full-example.story.d.ts +24 -0
  425. package/lib/types/ai/response/stories/response-full-example.story.d.ts.map +1 -0
  426. package/lib/types/ai/response/stories/response-headings.story.d.ts +24 -0
  427. package/lib/types/ai/response/stories/response-headings.story.d.ts.map +1 -0
  428. package/lib/types/ai/response/stories/response-lists.story.d.ts +24 -0
  429. package/lib/types/ai/response/stories/response-lists.story.d.ts.map +1 -0
  430. package/lib/types/ai/response/stories/response-streaming.story.d.ts +23 -0
  431. package/lib/types/ai/response/stories/response-streaming.story.d.ts.map +1 -0
  432. package/lib/types/ai/response/stories/response.stories.d.ts +33 -0
  433. package/lib/types/ai/response/stories/response.stories.d.ts.map +1 -0
  434. package/lib/types/ai/suggestion/Suggestion.d.ts +42 -0
  435. package/lib/types/ai/suggestion/Suggestion.d.ts.map +1 -0
  436. package/lib/types/ai/suggestion/index.d.ts +22 -0
  437. package/lib/types/ai/suggestion/index.d.ts.map +1 -0
  438. package/lib/types/ai/suggestion/stories/index.d.ts +29 -0
  439. package/lib/types/ai/suggestion/stories/index.d.ts.map +1 -0
  440. package/lib/types/ai/suggestion/stories/suggestion-default.story.d.ts +24 -0
  441. package/lib/types/ai/suggestion/stories/suggestion-default.story.d.ts.map +1 -0
  442. package/lib/types/ai/suggestion/stories/suggestion-icon.story.d.ts +24 -0
  443. package/lib/types/ai/suggestion/stories/suggestion-icon.story.d.ts.map +1 -0
  444. package/lib/types/ai/suggestion/stories/suggestion-primary.story.d.ts +24 -0
  445. package/lib/types/ai/suggestion/stories/suggestion-primary.story.d.ts.map +1 -0
  446. package/lib/types/ai/suggestion/stories/suggestion-sizes.story.d.ts +24 -0
  447. package/lib/types/ai/suggestion/stories/suggestion-sizes.story.d.ts.map +1 -0
  448. package/lib/types/ai/suggestion/stories/suggestion.stories.d.ts +30 -0
  449. package/lib/types/ai/suggestion/stories/suggestion.stories.d.ts.map +1 -0
  450. package/lib/types/ai/thinking/Thinking.d.ts +40 -0
  451. package/lib/types/ai/thinking/Thinking.d.ts.map +1 -0
  452. package/lib/types/ai/thinking/index.d.ts +22 -0
  453. package/lib/types/ai/thinking/index.d.ts.map +1 -0
  454. package/lib/types/ai/thinking/stories/ai-thinking-default.story.d.ts +24 -0
  455. package/lib/types/ai/thinking/stories/ai-thinking-default.story.d.ts.map +1 -0
  456. package/lib/types/ai/thinking/stories/ai-thinking-finished.story.d.ts +24 -0
  457. package/lib/types/ai/thinking/stories/ai-thinking-finished.story.d.ts.map +1 -0
  458. package/lib/types/ai/thinking/stories/ai-thinking.stories.d.ts +28 -0
  459. package/lib/types/ai/thinking/stories/ai-thinking.stories.d.ts.map +1 -0
  460. package/lib/types/ai/thinking/stories/index.d.ts +25 -0
  461. package/lib/types/ai/thinking/stories/index.d.ts.map +1 -0
  462. package/lib/types/ai/thinking/thinking-duration-formatter.d.ts +45 -0
  463. package/lib/types/ai/thinking/thinking-duration-formatter.d.ts.map +1 -0
  464. package/lib/types/ai/tool-call/ToolCall.d.ts +37 -0
  465. package/lib/types/ai/tool-call/ToolCall.d.ts.map +1 -0
  466. package/lib/types/ai/tool-call/index.d.ts +22 -0
  467. package/lib/types/ai/tool-call/index.d.ts.map +1 -0
  468. package/lib/types/ai/tool-call/stories/index.d.ts +25 -0
  469. package/lib/types/ai/tool-call/stories/index.d.ts.map +1 -0
  470. package/lib/types/ai/tool-call/stories/tool-call-default.story.d.ts +24 -0
  471. package/lib/types/ai/tool-call/stories/tool-call-default.story.d.ts.map +1 -0
  472. package/lib/types/ai/tool-call/stories/tool-call-done.story.d.ts +24 -0
  473. package/lib/types/ai/tool-call/stories/tool-call-done.story.d.ts.map +1 -0
  474. package/lib/types/ai/tool-call/stories/tool-call.stories.d.ts +28 -0
  475. package/lib/types/ai/tool-call/stories/tool-call.stories.d.ts.map +1 -0
  476. package/lib/types/ai/user-bubble/UserBubble.d.ts +39 -0
  477. package/lib/types/ai/user-bubble/UserBubble.d.ts.map +1 -0
  478. package/lib/types/ai/user-bubble/index.d.ts +22 -0
  479. package/lib/types/ai/user-bubble/index.d.ts.map +1 -0
  480. package/lib/types/ai/user-bubble/stories/index.d.ts +29 -0
  481. package/lib/types/ai/user-bubble/stories/index.d.ts.map +1 -0
  482. package/lib/types/ai/user-bubble/stories/user-bubble-action.story.d.ts +24 -0
  483. package/lib/types/ai/user-bubble/stories/user-bubble-action.story.d.ts.map +1 -0
  484. package/lib/types/ai/user-bubble/stories/user-bubble-and-files.story.d.ts +24 -0
  485. package/lib/types/ai/user-bubble/stories/user-bubble-and-files.story.d.ts.map +1 -0
  486. package/lib/types/ai/user-bubble/stories/user-bubble-long.story.d.ts +24 -0
  487. package/lib/types/ai/user-bubble/stories/user-bubble-long.story.d.ts.map +1 -0
  488. package/lib/types/ai/user-bubble/stories/user-bubble.stories.d.ts +30 -0
  489. package/lib/types/ai/user-bubble/stories/user-bubble.stories.d.ts.map +1 -0
  490. package/lib/types/ai/user-bubble/stories/user-bubble.story.d.ts +24 -0
  491. package/lib/types/ai/user-bubble/stories/user-bubble.story.d.ts.map +1 -0
  492. package/lib/types/code/Code.d.ts +4 -1
  493. package/lib/types/code/Code.d.ts.map +1 -1
  494. package/lib/types/text-area/TextArea.d.ts.map +1 -1
  495. package/lib/types/timezone-picker/stories/timezone-picker-dst-aware.story.d.ts.map +1 -1
  496. package/lib/types/tooltip/use-tooltip.d.ts.map +1 -1
  497. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { Presence } from './presence';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { Presence } from './presence';\nexport { Prompt } from './prompt';\nexport { UserBubble } from './user-bubble';\nexport { MoreFiles } from './more-files';\nexport { FileTag } from './file-tag';\nexport { ImageTag } from './image-tag';\nexport { Response } from './response';\nexport { Suggestion } from './suggestion';\nexport { Thinking } from './thinking';\nexport { Reasoning } from './reasoning';\nexport { ToolCall } from './tool-call';\nexport { CodePreview } from './code-preview';\n"]}
@@ -0,0 +1,55 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+
22
+ "use strict";
23
+ var __rest = (this && this.__rest) || function (s, e) {
24
+ var t = {};
25
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
26
+ t[p] = s[p];
27
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
28
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
29
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
30
+ t[p[i]] = s[p[i]];
31
+ }
32
+ return t;
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.MoreFiles = void 0;
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const classnames_1 = __importDefault(require("classnames"));
41
+ /**
42
+ * The component is a button that is meant to open a menu of files when clicked.
43
+ * It should be used in a chat when you have more files attached to the message than should be shown at once.
44
+ *
45
+ * @alpha - Changes to this component may be breaking.
46
+ */
47
+ const MoreFilesComponent = (_a) => {
48
+ var { count, onClick, className, style, htmlAttributes, ref, isActive } = _a, restProps = __rest(_a, ["count", "onClick", "className", "style", "htmlAttributes", "ref", "isActive"]);
49
+ const classes = (0, classnames_1.default)('ndl-ai-more-files', className, {
50
+ 'ndl-active': isActive,
51
+ });
52
+ return ((0, jsx_runtime_1.jsxs)("button", Object.assign({ ref: ref, type: "button", onClick: onClick, className: classes, style: style, "aria-label": `${count} more files`, "aria-expanded": isActive }, restProps, htmlAttributes, { children: ["+", count] })));
53
+ };
54
+ exports.MoreFiles = MoreFilesComponent;
55
+ //# sourceMappingURL=MoreFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreFiles.js","sourceRoot":"","sources":["../../../../src/ai/more-files/MoreFiles.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,4DAAoC;AAWpC;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,EASY,EAAE,EAAE;QAThB,EAC1B,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,cAAc,EACd,GAAG,EACH,QAAQ,OAE8B,EADnC,SAAS,cARc,+EAS3B,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,mBAAmB,EAAE,SAAS,EAAE;QACzD,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;IAEH,OAAO,CACL,kDACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,gBACA,GAAG,KAAK,aAAa,mBAClB,QAAQ,IACnB,SAAS,EACT,cAAc,oBAEhB,KAAK,KACA,CACV,CAAC;AACJ,CAAC,CAAC;AAE6B,uCAAS","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport type { CommonProps } from '@neo4j-ndl/react/_common/types';\nimport classNames from 'classnames';\n\ntype MoreFilesProps = {\n /** The number of files to show */\n count: number;\n /** Callback function triggered when the more files button is clicked */\n onClick?: () => void;\n /** Whether the more files button is active. Should be true when it opens the menu of files.*/\n isActive?: boolean;\n};\n\n/**\n * The component is a button that is meant to open a menu of files when clicked.\n * It should be used in a chat when you have more files attached to the message than should be shown at once.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst MoreFilesComponent = ({\n count,\n onClick,\n className,\n style,\n htmlAttributes,\n ref,\n isActive,\n ...restProps\n}: CommonProps<'button', MoreFilesProps>) => {\n const classes = classNames('ndl-ai-more-files', className, {\n 'ndl-active': isActive,\n });\n\n return (\n <button\n ref={ref}\n type=\"button\"\n onClick={onClick}\n className={classes}\n style={style}\n aria-label={`${count} more files`}\n aria-expanded={isActive}\n {...restProps}\n {...htmlAttributes}\n >\n +{count}\n </button>\n );\n};\n\nexport { MoreFilesComponent as MoreFiles };\n"]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ __exportStar(require("./MoreFiles"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/more-files/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,8CAA4B","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport * from './MoreFiles';\n"]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.MoreFilesDefaultSrc = exports.MoreFilesDefault = void 0;
27
+ var more_files_story_1 = require("./more-files.story");
28
+ Object.defineProperty(exports, "MoreFilesDefault", { enumerable: true, get: function () { return __importDefault(more_files_story_1).default; } });
29
+ const export_stories_utils_1 = require("@neo4j-ndl/react/_common/export-stories-utils");
30
+ const more_files_story_raw_1 = __importDefault(require("./more-files.story?raw"));
31
+ exports.MoreFilesDefaultSrc = (0, export_stories_utils_1.removeLicenseHeader)(more_files_story_raw_1.default);
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/more-files/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AAEpC,wFAAoF;AAEpF,kFAA4D;AAE/C,QAAA,mBAAmB,GAAG,IAAA,0CAAmB,EAAC,8BAAsB,CAAC,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as MoreFilesDefault } from './more-files.story';\n\nimport { removeLicenseHeader } from '@neo4j-ndl/react/_common/export-stories-utils';\n\nimport MoreFilesDefaultSrcRaw from './more-files.story?raw';\n\nexport const MoreFilesDefaultSrc = removeLicenseHeader(MoreFilesDefaultSrcRaw);\n"]}
@@ -0,0 +1,50 @@
1
+ /**
2
+ *
3
+ * Copyright (c) "Neo4j"
4
+ * Neo4j Sweden AB [http://neo4j.com]
5
+ *
6
+ * This file is part of Neo4j.
7
+ *
8
+ * Neo4j is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+
22
+ "use strict";
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.Default = void 0;
25
+ const MoreFiles_1 = require("../MoreFiles");
26
+ const _1 = require(".");
27
+ const componentMeta = {
28
+ component: MoreFiles_1.MoreFiles,
29
+ id: 'components-ai-more-files',
30
+ parameters: {
31
+ controls: { disable: true },
32
+ },
33
+ tags: ['docsPage'],
34
+ title: 'Components/AI/MoreFiles',
35
+ };
36
+ exports.default = componentMeta;
37
+ exports.Default = {
38
+ args: {},
39
+ parameters: {
40
+ docs: {
41
+ source: {
42
+ code: _1.MoreFilesDefaultSrc,
43
+ language: 'tsx',
44
+ type: 'code',
45
+ },
46
+ },
47
+ },
48
+ render: _1.MoreFilesDefault,
49
+ };
50
+ //# sourceMappingURL=more-files.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"more-files.stories.js","sourceRoot":"","sources":["../../../../../src/ai/more-files/stories/more-files.stories.tsx"],"names":[],"mappings":";;;AAsBA,4CAAyC;AACzC,wBAA0D;AAE1D,MAAM,aAAa,GAA2B;IAC5C,SAAS,EAAE,qBAAS;IACpB,EAAE,EAAE,0BAA0B;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC5B;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,yBAAyB;CACjC,CAAC;AAEF,kBAAe,aAAa,CAAC;AAIhB,QAAA,OAAO,GAAU;IAC5B,IAAI,EAAE,EAAE;IACR,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,sBAAmB;gBACzB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,MAAM;aACb;SACF;KACF;IACD,MAAM,EAAE,mBAAgB;CACzB,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { type Meta, type StoryObj } from '@storybook/react-vite';\n\nimport { MoreFiles } from '../MoreFiles';\nimport { MoreFilesDefault, MoreFilesDefaultSrc } from '.';\n\nconst componentMeta: Meta<typeof MoreFiles> = {\n component: MoreFiles,\n id: 'components-ai-more-files',\n parameters: {\n controls: { disable: true },\n },\n tags: ['docsPage'],\n title: 'Components/AI/MoreFiles',\n};\n\nexport default componentMeta;\n\ntype Story = StoryObj<typeof componentMeta>;\n\nexport const Default: Story = {\n args: {},\n parameters: {\n docs: {\n source: {\n code: MoreFilesDefaultSrc,\n language: 'tsx',\n type: 'code',\n },\n },\n },\n render: MoreFilesDefault,\n};\n"]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ /**
5
+ *
6
+ * Copyright (c) "Neo4j"
7
+ * Neo4j Sweden AB [http://neo4j.com]
8
+ *
9
+ * This file is part of Neo4j.
10
+ *
11
+ * Neo4j is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
23
+ */
24
+ require("@neo4j-ndl/base/lib/neo4j-ds-styles.css");
25
+ const ai_1 = require("@neo4j-ndl/react/ai");
26
+ const icons_1 = require("@neo4j-ndl/react/icons");
27
+ const menu_1 = require("@neo4j-ndl/react/menu");
28
+ const react_1 = require("react");
29
+ const Component = () => {
30
+ const [isMenuOpen, setIsMenuOpen] = (0, react_1.useState)(false);
31
+ const anchorRef = (0, react_1.useRef)(null);
32
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ai_1.MoreFiles, { count: 4, isActive: isMenuOpen, onClick: () => setIsMenuOpen(!isMenuOpen), ref: anchorRef }), (0, jsx_runtime_1.jsx)(menu_1.Menu, { isOpen: isMenuOpen, anchorRef: anchorRef, onClose: () => setIsMenuOpen(false), children: (0, jsx_runtime_1.jsxs)(menu_1.Menu.Items, { children: [(0, jsx_runtime_1.jsx)(menu_1.Menu.Item, { leadingVisual: (0, jsx_runtime_1.jsx)(icons_1.DocumentIconOutline, {}), title: "Science fiction bestseller", description: "PDF", onClick: () => alert('Science fiction bestseller') }), (0, jsx_runtime_1.jsx)(menu_1.Menu.Item, { leadingVisual: (0, jsx_runtime_1.jsx)(icons_1.TableCellsIconOutline, {}), title: "MoviesDecade", description: "CSV", onClick: () => alert('MoviesDecade') }), (0, jsx_runtime_1.jsx)(menu_1.Menu.Item, { leadingVisual: (0, jsx_runtime_1.jsx)(icons_1.PhotoIconOutline, {}), title: "Family photo", description: "JPG", onClick: () => alert('Family photos') })] }) })] }));
33
+ };
34
+ exports.default = Component;
35
+ //# sourceMappingURL=more-files.story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"more-files.story.js","sourceRoot":"","sources":["../../../../../src/ai/more-files/stories/more-files.story.tsx"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mDAAiD;AAEjD,4CAAgD;AAChD,kDAIgC;AAChC,gDAA6C;AAC7C,iCAAyC;AAEzC,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAA,cAAM,EAA2B,IAAI,CAAC,CAAC;IAEzD,OAAO,CACL,6DACE,uBAAC,cAAS,IACR,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EACzC,GAAG,EAAE,SAAS,GACd,EACF,uBAAC,WAAI,IACH,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,YAEnC,wBAAC,WAAI,CAAC,KAAK,eACT,uBAAC,WAAI,CAAC,IAAI,IACR,aAAa,EAAE,uBAAC,2BAAmB,KAAG,EACtC,KAAK,EAAC,4BAA4B,EAClC,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAClD,EACF,uBAAC,WAAI,CAAC,IAAI,IACR,aAAa,EAAE,uBAAC,6BAAqB,KAAG,EACxC,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GACpC,EACF,uBAAC,WAAI,CAAC,IAAI,IACR,aAAa,EAAE,uBAAC,wBAAgB,KAAG,EACnC,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,KAAK,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,GACrC,IACS,GACR,IACN,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { MoreFiles } from '@neo4j-ndl/react/ai';\nimport {\n DocumentIconOutline,\n PhotoIconOutline,\n TableCellsIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport { Menu } from '@neo4j-ndl/react/menu';\nimport { useRef, useState } from 'react';\n\nconst Component = () => {\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const anchorRef = useRef<HTMLButtonElement | null>(null);\n\n return (\n <>\n <MoreFiles\n count={4}\n isActive={isMenuOpen}\n onClick={() => setIsMenuOpen(!isMenuOpen)}\n ref={anchorRef}\n />\n <Menu\n isOpen={isMenuOpen}\n anchorRef={anchorRef}\n onClose={() => setIsMenuOpen(false)}\n >\n <Menu.Items>\n <Menu.Item\n leadingVisual={<DocumentIconOutline />}\n title=\"Science fiction bestseller\"\n description=\"PDF\"\n onClick={() => alert('Science fiction bestseller')}\n />\n <Menu.Item\n leadingVisual={<TableCellsIconOutline />}\n title=\"MoviesDecade\"\n description=\"CSV\"\n onClick={() => alert('MoviesDecade')}\n />\n <Menu.Item\n leadingVisual={<PhotoIconOutline />}\n title=\"Family photo\"\n description=\"JPG\"\n onClick={() => alert('Family photos')}\n />\n </Menu.Items>\n </Menu>\n </>\n );\n};\n\nexport default Component;\n"]}
@@ -46,7 +46,11 @@ const Presence = (_a) => {
46
46
  });
47
47
  const { theme } = (0, react_1.useNeedleTheme)();
48
48
  const Component = theme === 'light' ? icons_1.Neo4JAiColorLightIcon : icons_1.Neo4JAiColorDarkIcon;
49
- return ((0, jsx_runtime_1.jsx)(Component, Object.assign({ ref: ref, className: classes, style: style, htmlAttributes: htmlAttributes }, restProps)));
49
+ return ((0, jsx_runtime_1.jsx)(Component, Object.assign({ ref: ref, className: classes, style: style, htmlAttributes: htmlAttributes }, (isThinking === true && {
50
+ 'aria-label': 'Thinking',
51
+ 'aria-live': 'polite',
52
+ role: 'status',
53
+ }), restProps)));
50
54
  };
51
55
  exports.Presence = Presence;
52
56
  Presence.displayName = 'Presence';
@@ -1 +1 @@
1
- {"version":3,"file":"Presence.js","sourceRoot":"","sources":["../../../../src/ai/presence/Presence.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4CAAkD;AAElD,kDAGgC;AAChC,4DAAoC;AAOpC,MAAM,QAAQ,GAAG,CAAC,EAOkB,EAAE,EAAE;QAPtB,EAChB,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,EACL,cAAc,EACd,GAAG,OAE+B,EAD/B,SAAS,cANI,6DAOjB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,iBAAiB,EAAE,SAAS,EAAE;QACvD,cAAc,EAAE,UAAU,KAAK,IAAI;KACpC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,sBAAc,GAAE,CAAC;IAEnC,MAAM,SAAS,GACb,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,6BAAqB,CAAC,CAAC,CAAC,4BAAoB,CAAC;IAEnE,OAAO,CACL,uBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC1B,SAAS,EACb,CACH,CAAC;AACJ,CAAC,CAAC;AAIO,4BAAQ;AAFjB,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useNeedleTheme } from '@neo4j-ndl/react';\nimport type { CommonProps } from '@neo4j-ndl/react/_common/types';\nimport {\n Neo4JAiColorDarkIcon,\n Neo4JAiColorLightIcon,\n} from '@neo4j-ndl/react/icons';\nimport classNames from 'classnames';\n\ntype PresenceProps = {\n /** Whether the AI is thinking. Animates the underlying SVG */\n isThinking?: boolean;\n};\n\nconst Presence = ({\n className,\n isThinking = false,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'svg', PresenceProps>) => {\n const classes = classNames('ndl-ai-presence', className, {\n 'ndl-thinking': isThinking === true,\n });\n const { theme } = useNeedleTheme();\n\n const Component =\n theme === 'light' ? Neo4JAiColorLightIcon : Neo4JAiColorDarkIcon;\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...restProps}\n />\n );\n};\n\nPresence.displayName = 'Presence';\n\nexport { Presence };\n"]}
1
+ {"version":3,"file":"Presence.js","sourceRoot":"","sources":["../../../../src/ai/presence/Presence.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4CAAkD;AAElD,kDAGgC;AAChC,4DAAoC;AAOpC,MAAM,QAAQ,GAAG,CAAC,EAOkB,EAAE,EAAE;QAPtB,EAChB,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,EACL,cAAc,EACd,GAAG,OAE+B,EAD/B,SAAS,cANI,6DAOjB,CADa;IAEZ,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,iBAAiB,EAAE,SAAS,EAAE;QACvD,cAAc,EAAE,UAAU,KAAK,IAAI;KACpC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,sBAAc,GAAE,CAAC;IAEnC,MAAM,SAAS,GACb,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,6BAAqB,CAAC,CAAC,CAAC,4BAAoB,CAAC;IAEnE,OAAO,CACL,uBAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC1B,CAAC,UAAU,KAAK,IAAI,IAAI;QAC1B,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC,EACE,SAAS,EACb,CACH,CAAC;AACJ,CAAC,CAAC;AAIO,4BAAQ;AAFjB,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useNeedleTheme } from '@neo4j-ndl/react';\nimport type { CommonProps } from '@neo4j-ndl/react/_common/types';\nimport {\n Neo4JAiColorDarkIcon,\n Neo4JAiColorLightIcon,\n} from '@neo4j-ndl/react/icons';\nimport classNames from 'classnames';\n\ntype PresenceProps = {\n /** Whether the AI is thinking. Animates the underlying SVG */\n isThinking?: boolean;\n};\n\nconst Presence = ({\n className,\n isThinking = false,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'svg', PresenceProps>) => {\n const classes = classNames('ndl-ai-presence', className, {\n 'ndl-thinking': isThinking === true,\n });\n const { theme } = useNeedleTheme();\n\n const Component =\n theme === 'light' ? Neo4JAiColorLightIcon : Neo4JAiColorDarkIcon;\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...(isThinking === true && {\n 'aria-label': 'Thinking',\n 'aria-live': 'polite',\n role: 'status',\n })}\n {...restProps}\n />\n );\n};\n\nPresence.displayName = 'Presence';\n\nexport { Presence };\n"]}
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Prompt = void 0;
18
+ const jsx_runtime_1 = require("react/jsx-runtime");
19
+ /**
20
+ *
21
+ * Copyright (c) "Neo4j"
22
+ * Neo4j Sweden AB [http://neo4j.com]
23
+ *
24
+ * This file is part of Neo4j.
25
+ *
26
+ * Neo4j is free software: you can redistribute it and/or modify
27
+ * it under the terms of the GNU General Public License as published by
28
+ * the Free Software Foundation, either version 3 of the License, or
29
+ * (at your option) any later version.
30
+ *
31
+ * This program is distributed in the hope that it will be useful,
32
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
33
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34
+ * GNU General Public License for more details.
35
+ *
36
+ * You should have received a copy of the GNU General Public License
37
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
38
+ */
39
+ const react_1 = require("@neo4j-ndl/react");
40
+ const icons_1 = require("@neo4j-ndl/react/icons");
41
+ const classnames_1 = __importDefault(require("classnames"));
42
+ const react_2 = require("react");
43
+ /**
44
+ * The component is used to display the prompt input for an LLM.
45
+ * It includes a textarea for the user to enter their prompt and a submit button.
46
+ * It can also display content above and below the textarea, like uploaded files or a select for changing agents.
47
+ *
48
+ * @alpha - Changes to this component may be breaking.
49
+ */
50
+ const PromptComponent = (_a) => {
51
+ var { value, onChange, maxRows = 5, isRunningPrompt = false, onSubmitPrompt, isSubmitDisabled = false, topContent, bottomContent, disclaimer = 'All information should be verified.', className, style, htmlAttributes, ref, textareaProps } = _a, restProps = __rest(_a, ["value", "onChange", "maxRows", "isRunningPrompt", "onSubmitPrompt", "isSubmitDisabled", "topContent", "bottomContent", "disclaimer", "className", "style", "htmlAttributes", "ref", "textareaProps"]);
52
+ const classes = (0, classnames_1.default)('ndl-ai-prompt', className);
53
+ const textareaRef = (0, react_2.useRef)(null);
54
+ const textareaAboveRef = (0, react_2.useRef)(null);
55
+ const [lineHeight, setLineHeight] = (0, react_2.useState)(0);
56
+ /** File overflow stuff */
57
+ (0, react_2.useEffect)(() => {
58
+ let rafId = null;
59
+ const checkOverflow = () => {
60
+ if (textareaAboveRef.current !== null) {
61
+ const element = textareaAboveRef.current;
62
+ const maxHeight = parseFloat(getComputedStyle(element).maxHeight.replace('px', ''));
63
+ const scrollHeight = element.scrollHeight;
64
+ if (scrollHeight > maxHeight) {
65
+ element.classList.add('ndl-can-scroll');
66
+ }
67
+ else {
68
+ element.classList.remove('ndl-can-scroll');
69
+ }
70
+ }
71
+ };
72
+ const debouncedCheck = () => {
73
+ if (rafId !== null) {
74
+ cancelAnimationFrame(rafId);
75
+ }
76
+ rafId = requestAnimationFrame(checkOverflow);
77
+ };
78
+ // Initial check
79
+ checkOverflow();
80
+ const resizeObserver = new ResizeObserver(debouncedCheck);
81
+ const mutationObserver = new MutationObserver(debouncedCheck);
82
+ if (textareaAboveRef.current !== null) {
83
+ resizeObserver.observe(textareaAboveRef.current);
84
+ mutationObserver.observe(textareaAboveRef.current, {
85
+ childList: true,
86
+ subtree: true,
87
+ });
88
+ }
89
+ return () => {
90
+ if (rafId !== null) {
91
+ cancelAnimationFrame(rafId);
92
+ }
93
+ resizeObserver.disconnect();
94
+ mutationObserver.disconnect();
95
+ };
96
+ }, []);
97
+ /** Textarea stuff */
98
+ (0, react_2.useEffect)(() => {
99
+ if (textareaRef.current !== null) {
100
+ const computed = window.getComputedStyle(textareaRef.current);
101
+ setLineHeight(parseInt(computed.lineHeight));
102
+ }
103
+ }, []);
104
+ const adjustTextareaHeight = (0, react_2.useCallback)(() => {
105
+ const ta = textareaRef.current;
106
+ if (ta !== null && lineHeight > 0) {
107
+ // Reset height so scrollHeight measures correctly
108
+ ta.style.height = 'auto';
109
+ const maxHeight = lineHeight * maxRows;
110
+ if (ta.scrollHeight <= maxHeight) {
111
+ ta.style.overflowY = 'hidden';
112
+ ta.style.height = `${ta.scrollHeight}px`;
113
+ }
114
+ else {
115
+ ta.style.overflowY = 'auto';
116
+ ta.style.height = `${maxHeight}px`;
117
+ }
118
+ }
119
+ }, [lineHeight, maxRows]);
120
+ // Adjust height when prompt value changes (including when cleared)
121
+ (0, react_2.useEffect)(() => {
122
+ adjustTextareaHeight();
123
+ }, [value, adjustTextareaHeight]);
124
+ const handleInput = (e) => {
125
+ adjustTextareaHeight();
126
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
127
+ };
128
+ return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ ref: ref, className: classes, style: style }, restProps, htmlAttributes, { children: [(0, jsx_runtime_1.jsx)("div", { className: "ndl-ai-prompt-wrapper", children: (0, jsx_runtime_1.jsxs)("div", { className: "ndl-ai-prompt-wrapper-inner", children: [Boolean(topContent) && ((0, jsx_runtime_1.jsx)("div", { className: "ndl-ai-prompt-textarea-above", ref: textareaAboveRef, children: topContent })), (0, jsx_runtime_1.jsx)("textarea", Object.assign({ placeholder: "Ask anything", className: "ndl-ai-prompt-textarea", rows: 1, onChange: handleInput, value: value, ref: textareaRef, onKeyDown: (e) => {
129
+ if (e.key === 'Enter' &&
130
+ !e.shiftKey &&
131
+ isSubmitDisabled !== true) {
132
+ e.preventDefault();
133
+ onSubmitPrompt === null || onSubmitPrompt === void 0 ? void 0 : onSubmitPrompt(e);
134
+ }
135
+ } }, textareaProps)), (0, jsx_runtime_1.jsxs)("div", { className: "ndl-ai-prompt-textarea-below", children: [Boolean(bottomContent) && ((0, jsx_runtime_1.jsx)("div", { className: "ndl-ai-prompt-textarea-below-leading", children: bottomContent })), (0, jsx_runtime_1.jsx)(SumbitPromptButton, { isDisabled: isSubmitDisabled, isRunningPrompt: isRunningPrompt, onClick: onSubmitPrompt })] })] }) }), Boolean(disclaimer) && ((0, jsx_runtime_1.jsx)(react_1.Typography, { variant: "body-small", className: "ndl-ai-prompt-footer", children: disclaimer }))] })));
136
+ };
137
+ const SumbitPromptButton = ({ onClick, isDisabled, isRunningPrompt, }) => {
138
+ const description = isRunningPrompt === true ? 'Cancel' : 'Send';
139
+ return ((0, jsx_runtime_1.jsxs)(react_1.CleanIconButton, { className: "ndl-ai-prompt-submit-button", description: description, size: "medium", onClick: onClick, isDisabled: isDisabled, children: [(0, jsx_runtime_1.jsx)(icons_1.ArrowSmallUpIconOutline, { style: {
140
+ opacity: isRunningPrompt === true ? 0 : 1,
141
+ position: isRunningPrompt === true ? 'absolute' : 'relative',
142
+ transform: isRunningPrompt === true ? 'translateY(-8px)' : 'translateY(0)',
143
+ } }), (0, jsx_runtime_1.jsx)(icons_1.StopCircleIconOutline, { style: {
144
+ opacity: isRunningPrompt === true ? 1 : 0,
145
+ position: isRunningPrompt === true ? 'relative' : 'absolute',
146
+ } })] }));
147
+ };
148
+ const AgentSelect = ({ value, options = [], onChange }) => {
149
+ var _a, _b, _c;
150
+ const anchorRef = (0, react_2.useRef)(null);
151
+ const [isMenuOpen, setIsMenuOpen] = (0, react_2.useState)(false);
152
+ const displayLabel = (_c = (_a = value === null || value === void 0 ? void 0 : value.label) !== null && _a !== void 0 ? _a : (_b = options[0]) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : '';
153
+ const handleItemClick = (option) => {
154
+ onChange === null || onChange === void 0 ? void 0 : onChange(option);
155
+ setIsMenuOpen(false);
156
+ };
157
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_1.DropdownButton, { size: "small", className: "ndl-ai-prompt-dropdown-button", onClick: () => setIsMenuOpen((old) => !old), isOpen: isMenuOpen, ref: anchorRef, children: displayLabel }), (0, jsx_runtime_1.jsx)(react_1.Menu, { isOpen: isMenuOpen, onClose: () => setIsMenuOpen(false), anchorRef: anchorRef, placement: "top-start-bottom-start", children: (0, jsx_runtime_1.jsx)(react_1.Menu.Items, { children: options.map((option) => ((0, jsx_runtime_1.jsx)(react_1.Menu.Item, { title: option.label, onClick: () => handleItemClick(option), leadingVisual: (value === null || value === void 0 ? void 0 : value.value) === option.value ? (0, jsx_runtime_1.jsx)(icons_1.CheckIconOutline, {}) : null }, option.value))) }) })] }));
158
+ };
159
+ const Prompt = Object.assign(PromptComponent, {
160
+ Select: AgentSelect,
161
+ });
162
+ exports.Prompt = Prompt;
163
+ //# sourceMappingURL=Prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prompt.js","sourceRoot":"","sources":["../../../../src/ai/prompt/Prompt.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport {\n CleanIconButton,\n DropdownButton,\n Menu,\n Typography,\n} from '@neo4j-ndl/react';\nimport type {\n CommonProps,\n HtmlAttributes,\n} from '@neo4j-ndl/react/_common/types';\nimport {\n ArrowSmallUpIconOutline,\n CheckIconOutline,\n StopCircleIconOutline,\n} from '@neo4j-ndl/react/icons';\nimport classNames from 'classnames';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\ntype PromptProps = {\n /** The prompt text */\n value?: React.ComponentPropsWithoutRef<'textarea'>['value'];\n /** Callback function called when the prompt text changes */\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n /** Whether the submit button is disabled */\n isSubmitDisabled?: boolean;\n /** Maximum number of rows the textarea can expand to */\n maxRows?: number;\n /** Whether the submit button is \"running\". Shows a stop icon when true. */\n isRunningPrompt?: boolean;\n /** Callback function called when the submit button is clicked */\n onSubmitPrompt?: (\n e:\n | React.KeyboardEvent<HTMLTextAreaElement>\n | React.MouseEvent<HTMLButtonElement, MouseEvent>,\n ) => void;\n /** Content to display above the textarea */\n topContent?: React.ReactNode;\n /** Content to display below the textarea */\n bottomContent?: React.ReactNode;\n /** Disclaimer to display below the component */\n disclaimer?: React.ReactNode;\n /** Props for the textarea element */\n textareaProps?: HtmlAttributes<'textarea'>;\n};\n\n/**\n * The component is used to display the prompt input for an LLM.\n * It includes a textarea for the user to enter their prompt and a submit button.\n * It can also display content above and below the textarea, like uploaded files or a select for changing agents.\n *\n * @alpha - Changes to this component may be breaking.\n */\nconst PromptComponent = ({\n value,\n onChange,\n maxRows = 5,\n isRunningPrompt = false,\n onSubmitPrompt,\n isSubmitDisabled = false,\n topContent,\n bottomContent,\n disclaimer = 'All information should be verified.',\n className,\n style,\n htmlAttributes,\n ref,\n textareaProps,\n ...restProps\n}: CommonProps<'div', PromptProps>) => {\n const classes = classNames('ndl-ai-prompt', className);\n\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const textareaAboveRef = useRef<HTMLDivElement>(null);\n const [lineHeight, setLineHeight] = useState(0);\n\n /** File overflow stuff */\n useEffect(() => {\n let rafId: number | null = null;\n\n const checkOverflow = () => {\n if (textareaAboveRef.current !== null) {\n const element = textareaAboveRef.current;\n const maxHeight = parseFloat(\n getComputedStyle(element).maxHeight.replace('px', ''),\n );\n const scrollHeight = element.scrollHeight;\n\n if (scrollHeight > maxHeight) {\n element.classList.add('ndl-can-scroll');\n } else {\n element.classList.remove('ndl-can-scroll');\n }\n }\n };\n\n const debouncedCheck = () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n }\n rafId = requestAnimationFrame(checkOverflow);\n };\n\n // Initial check\n checkOverflow();\n\n const resizeObserver = new ResizeObserver(debouncedCheck);\n const mutationObserver = new MutationObserver(debouncedCheck);\n\n if (textareaAboveRef.current !== null) {\n resizeObserver.observe(textareaAboveRef.current);\n mutationObserver.observe(textareaAboveRef.current, {\n childList: true,\n subtree: true,\n });\n }\n\n return () => {\n if (rafId !== null) {\n cancelAnimationFrame(rafId);\n }\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, []);\n\n /** Textarea stuff */\n useEffect(() => {\n if (textareaRef.current !== null) {\n const computed = window.getComputedStyle(textareaRef.current);\n setLineHeight(parseInt(computed.lineHeight));\n }\n }, []);\n\n const adjustTextareaHeight = useCallback(() => {\n const ta = textareaRef.current;\n\n if (ta !== null && lineHeight > 0) {\n // Reset height so scrollHeight measures correctly\n ta.style.height = 'auto';\n\n const maxHeight = lineHeight * maxRows;\n\n if (ta.scrollHeight <= maxHeight) {\n ta.style.overflowY = 'hidden';\n ta.style.height = `${ta.scrollHeight}px`;\n } else {\n ta.style.overflowY = 'auto';\n ta.style.height = `${maxHeight}px`;\n }\n }\n }, [lineHeight, maxRows]);\n\n // Adjust height when prompt value changes (including when cleared)\n useEffect(() => {\n adjustTextareaHeight();\n }, [value, adjustTextareaHeight]);\n\n const handleInput = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n adjustTextareaHeight();\n onChange?.(e);\n };\n\n return (\n <div\n ref={ref}\n className={classes}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n <div className=\"ndl-ai-prompt-wrapper\">\n <div className=\"ndl-ai-prompt-wrapper-inner\">\n {Boolean(topContent) && (\n <div\n className=\"ndl-ai-prompt-textarea-above\"\n ref={textareaAboveRef}\n >\n {topContent}\n </div>\n )}\n <textarea\n placeholder=\"Ask anything\"\n className=\"ndl-ai-prompt-textarea\"\n rows={1}\n onChange={handleInput}\n value={value}\n ref={textareaRef}\n onKeyDown={(e) => {\n if (\n e.key === 'Enter' &&\n !e.shiftKey &&\n isSubmitDisabled !== true\n ) {\n e.preventDefault();\n onSubmitPrompt?.(e);\n }\n }}\n {...textareaProps}\n />\n <div className=\"ndl-ai-prompt-textarea-below\">\n {Boolean(bottomContent) && (\n <div className=\"ndl-ai-prompt-textarea-below-leading\">\n {bottomContent}\n </div>\n )}\n <SumbitPromptButton\n isDisabled={isSubmitDisabled}\n isRunningPrompt={isRunningPrompt}\n onClick={onSubmitPrompt}\n />\n </div>\n </div>\n </div>\n {Boolean(disclaimer) && (\n <Typography variant=\"body-small\" className=\"ndl-ai-prompt-footer\">\n {disclaimer}\n </Typography>\n )}\n </div>\n );\n};\n\nconst SumbitPromptButton = ({\n onClick,\n isDisabled,\n isRunningPrompt,\n}: {\n isDisabled?: boolean;\n isRunningPrompt?: boolean;\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n}) => {\n const description = isRunningPrompt === true ? 'Cancel' : 'Send';\n\n return (\n <CleanIconButton\n className=\"ndl-ai-prompt-submit-button\"\n description={description}\n size=\"medium\"\n onClick={onClick}\n isDisabled={isDisabled}\n >\n <ArrowSmallUpIconOutline\n style={{\n opacity: isRunningPrompt === true ? 0 : 1,\n position: isRunningPrompt === true ? 'absolute' : 'relative',\n transform:\n isRunningPrompt === true ? 'translateY(-8px)' : 'translateY(0)',\n }}\n />\n <StopCircleIconOutline\n style={{\n opacity: isRunningPrompt === true ? 1 : 0,\n position: isRunningPrompt === true ? 'relative' : 'absolute',\n }}\n />\n </CleanIconButton>\n );\n};\n\ntype AgentSelectProps = {\n value: { label: React.ReactNode; value: string };\n options: Array<{ label: React.ReactNode; value: string }>;\n onChange: (option: { label: React.ReactNode; value: string }) => void;\n};\n\nconst AgentSelect = ({ value, options = [], onChange }: AgentSelectProps) => {\n const anchorRef = useRef<HTMLButtonElement>(null);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const displayLabel = value?.label ?? options[0]?.label ?? '';\n\n const handleItemClick = (option: {\n label: React.ReactNode;\n value: string;\n }) => {\n onChange?.(option);\n setIsMenuOpen(false);\n };\n\n return (\n <>\n <DropdownButton\n size=\"small\"\n className=\"ndl-ai-prompt-dropdown-button\"\n onClick={() => setIsMenuOpen((old) => !old)}\n isOpen={isMenuOpen}\n ref={anchorRef}\n >\n {displayLabel}\n </DropdownButton>\n <Menu\n isOpen={isMenuOpen}\n onClose={() => setIsMenuOpen(false)}\n anchorRef={anchorRef}\n placement=\"top-start-bottom-start\"\n >\n <Menu.Items>\n {options.map((option) => (\n <Menu.Item\n key={option.value}\n title={option.label}\n onClick={() => handleItemClick(option)}\n leadingVisual={\n value?.value === option.value ? <CheckIconOutline /> : null\n }\n />\n ))}\n </Menu.Items>\n </Menu>\n </>\n );\n};\n\nconst Prompt = Object.assign(PromptComponent, {\n Select: AgentSelect,\n});\n\nexport { Prompt };\n"]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ __exportStar(require("./Prompt"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/prompt/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;AAEH,2CAAyB","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport * from './Prompt';\n"]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Copyright (c) "Neo4j"
5
+ * Neo4j Sweden AB [http://neo4j.com]
6
+ *
7
+ * This file is part of Neo4j.
8
+ *
9
+ * Neo4j is free software: you can redistribute it and/or modify
10
+ * it under the terms of the GNU General Public License as published by
11
+ * the Free Software Foundation, either version 3 of the License, or
12
+ * (at your option) any later version.
13
+ *
14
+ * This program is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ * GNU General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License
20
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+ */
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.PromptAdvancedSrc = exports.PromptDefaultSrc = exports.PromptAdvanced = exports.PromptDefault = void 0;
27
+ var prompt_default_story_1 = require("./prompt-default.story");
28
+ Object.defineProperty(exports, "PromptDefault", { enumerable: true, get: function () { return __importDefault(prompt_default_story_1).default; } });
29
+ var prompt_advanced_story_1 = require("./prompt-advanced.story");
30
+ Object.defineProperty(exports, "PromptAdvanced", { enumerable: true, get: function () { return __importDefault(prompt_advanced_story_1).default; } });
31
+ const export_stories_utils_1 = require("@neo4j-ndl/react/_common/export-stories-utils");
32
+ const prompt_advanced_story_raw_1 = __importDefault(require("./prompt-advanced.story?raw"));
33
+ const prompt_default_story_raw_1 = __importDefault(require("./prompt-default.story?raw"));
34
+ exports.PromptDefaultSrc = (0, export_stories_utils_1.removeLicenseHeader)(prompt_default_story_raw_1.default);
35
+ exports.PromptAdvancedSrc = (0, export_stories_utils_1.removeLicenseHeader)(prompt_advanced_story_raw_1.default);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai/prompt/stories/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;AAEH,+DAAkE;AAAzD,sIAAA,OAAO,OAAiB;AACjC,iEAAoE;AAA3D,wIAAA,OAAO,OAAkB;AAElC,wFAAoF;AAEpF,4FAA+D;AAC/D,0FAA6D;AAEhD,QAAA,gBAAgB,GAAG,IAAA,0CAAmB,EAAC,kCAAmB,CAAC,CAAC;AAC5D,QAAA,iBAAiB,GAAG,IAAA,0CAAmB,EAAC,mCAAoB,CAAC,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nexport { default as PromptDefault } from './prompt-default.story';\nexport { default as PromptAdvanced } from './prompt-advanced.story';\n\nimport { removeLicenseHeader } from '@neo4j-ndl/react/_common/export-stories-utils';\n\nimport PromptAdvancedSrcRaw from './prompt-advanced.story?raw';\nimport PromptDefaultSrcRaw from './prompt-default.story?raw';\n\nexport const PromptDefaultSrc = removeLicenseHeader(PromptDefaultSrcRaw);\nexport const PromptAdvancedSrc = removeLicenseHeader(PromptAdvancedSrcRaw);\n"]}