@nuraly/lumenui 0.1.0 → 0.2.2

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 (821) hide show
  1. package/dist/nuralyui.bundle.js +23283 -16875
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/alert/alert.component.d.ts +8 -5
  4. package/dist/src/components/alert/alert.component.js +24 -20
  5. package/dist/src/components/alert/alert.style.d.ts +0 -7
  6. package/dist/src/components/alert/alert.style.js +48 -90
  7. package/dist/src/components/alert/bundle.js +82 -108
  8. package/dist/src/components/alert/bundle.js.gz +0 -0
  9. package/dist/src/components/badge/badge.component.d.ts +9 -8
  10. package/dist/src/components/badge/badge.component.js +17 -14
  11. package/dist/src/components/badge/badge.style.d.ts +0 -7
  12. package/dist/src/components/badge/badge.style.js +49 -107
  13. package/dist/src/components/badge/bundle.js +81 -119
  14. package/dist/src/components/badge/bundle.js.gz +0 -0
  15. package/dist/src/components/breadcrumb/breadcrumb.component.d.ts +8 -10
  16. package/dist/src/components/breadcrumb/breadcrumb.component.js +16 -15
  17. package/dist/src/components/breadcrumb/breadcrumb.style.d.ts +0 -7
  18. package/dist/src/components/breadcrumb/breadcrumb.style.js +42 -60
  19. package/dist/src/components/breadcrumb/bundle.js +96 -93
  20. package/dist/src/components/breadcrumb/bundle.js.gz +0 -0
  21. package/dist/src/components/button/bundle.js +221 -470
  22. package/dist/src/components/button/bundle.js.gz +0 -0
  23. package/dist/src/components/button/button.component.d.ts +2 -1
  24. package/dist/src/components/button/button.component.js +6 -6
  25. package/dist/src/components/button/button.style.d.ts +0 -7
  26. package/dist/src/components/button/button.style.js +167 -433
  27. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  28. package/dist/src/components/button/controllers/base.controller.js +13 -0
  29. package/dist/src/components/button/controllers/index.d.ts +10 -0
  30. package/dist/src/components/button/controllers/index.js +10 -0
  31. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  32. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  33. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  34. package/dist/src/components/button/controllers/link.controller.js +75 -0
  35. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  36. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  37. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  38. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  39. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  40. package/dist/src/components/button/interfaces/index.js +2 -0
  41. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  42. package/dist/src/components/button/test/nr-button_test.js +91 -0
  43. package/dist/src/components/canvas/base-canvas.component.d.ts +4 -2
  44. package/dist/src/components/canvas/base-canvas.component.js +7 -0
  45. package/dist/src/components/canvas/bundle.js +17218 -9667
  46. package/dist/src/components/canvas/bundle.js.gz +0 -0
  47. package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
  48. package/dist/src/components/canvas/canvas.constants.js +1 -1
  49. package/dist/src/components/canvas/chatbot-panel.style.js +54 -63
  50. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  51. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  52. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  53. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  54. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  55. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  56. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  57. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  58. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  59. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  60. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  61. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  62. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  63. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  64. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  65. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  66. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  67. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  68. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  69. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  70. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  71. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  72. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  73. package/dist/src/components/canvas/controllers/index.js +32 -0
  74. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  75. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  76. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  77. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  78. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  79. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  80. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  81. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  82. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  83. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  84. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  85. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  86. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  87. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  88. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  89. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  90. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  91. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  92. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  93. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  94. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  95. package/dist/src/components/canvas/data-node/index.js +12 -0
  96. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  97. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  98. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  99. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  100. package/dist/src/components/canvas/index.d.ts +2 -0
  101. package/dist/src/components/canvas/index.js +3 -0
  102. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  103. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  104. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  105. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  106. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  107. package/dist/src/components/canvas/interfaces/index.js +7 -0
  108. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  109. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  110. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  111. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  112. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  113. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  114. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  115. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  116. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  117. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  118. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  119. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  120. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  121. package/dist/src/components/canvas/templates/index.js +30 -0
  122. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  123. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  124. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  125. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  126. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  127. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  128. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  129. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  130. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  131. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  132. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  133. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  134. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  135. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  136. package/dist/src/components/canvas/whiteboard-canvas.component.d.ts +3 -1
  137. package/dist/src/components/canvas/whiteboard-canvas.component.js +19 -1
  138. package/dist/src/components/canvas/whiteboard-canvas.style.js +159 -138
  139. package/dist/src/components/canvas/whiteboard-node.component.d.ts +2 -1
  140. package/dist/src/components/canvas/whiteboard-node.component.js +2 -1
  141. package/dist/src/components/canvas/whiteboard-node.style.js +44 -44
  142. package/dist/src/components/canvas/workflow-canvas-only.d.ts +4 -0
  143. package/dist/src/components/canvas/workflow-canvas-only.js +5 -0
  144. package/dist/src/components/canvas/workflow-canvas.component.d.ts +3 -1
  145. package/dist/src/components/canvas/workflow-canvas.component.js +30 -2
  146. package/dist/src/components/canvas/workflow-canvas.style.js +794 -675
  147. package/dist/src/components/canvas/workflow-canvas.types.d.ts +113 -4
  148. package/dist/src/components/canvas/workflow-canvas.types.js +646 -3
  149. package/dist/src/components/canvas/workflow-node.component.d.ts +3 -2
  150. package/dist/src/components/canvas/workflow-node.component.js +5 -5
  151. package/dist/src/components/canvas/workflow-node.style.js +183 -181
  152. package/dist/src/components/card/bundle.js +43 -35
  153. package/dist/src/components/card/bundle.js.gz +0 -0
  154. package/dist/src/components/card/card.component.d.ts +6 -1
  155. package/dist/src/components/card/card.component.js +8 -2
  156. package/dist/src/components/card/card.style.js +26 -30
  157. package/dist/src/components/carousel/bundle.js +8 -8
  158. package/dist/src/components/carousel/bundle.js.gz +0 -0
  159. package/dist/src/components/carousel/carousel.component.d.ts +12 -0
  160. package/dist/src/components/carousel/carousel.component.js +16 -4
  161. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  162. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  163. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  164. package/dist/src/components/chatbot/audio-compress.js +84 -0
  165. package/dist/src/components/chatbot/bundle.js +690 -430
  166. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  167. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  168. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  169. package/dist/src/components/chatbot/chatbot.component.d.ts +14 -1
  170. package/dist/src/components/chatbot/chatbot.component.js +42 -2
  171. package/dist/src/components/chatbot/chatbot.style.js +418 -277
  172. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  173. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  174. package/dist/src/components/chatbot/controllers/index.js +8 -0
  175. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  176. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  177. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  178. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  179. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  180. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  181. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  182. package/dist/src/components/chatbot/core/index.js +15 -0
  183. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  184. package/dist/src/components/chatbot/core/types.js +16 -0
  185. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  186. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  187. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  188. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  189. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  190. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  191. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  192. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  193. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  194. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  195. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  196. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  197. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  198. package/dist/src/components/chatbot/plugins/index.js +17 -0
  199. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  200. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  201. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  202. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  203. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  204. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  205. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  206. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  207. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  208. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  209. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  210. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  211. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  212. package/dist/src/components/chatbot/providers/index.js +13 -0
  213. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  214. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  215. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  216. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  217. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  218. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  219. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  220. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  221. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  222. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  223. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  224. package/dist/src/components/chatbot/storage/index.js +8 -0
  225. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  226. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  227. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  228. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  229. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  230. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  231. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  232. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  233. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  234. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  235. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  236. package/dist/src/components/chatbot/templates/index.js +15 -0
  237. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  238. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  239. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  240. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  241. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  242. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  243. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  244. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  245. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  246. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  247. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  248. package/dist/src/components/chatbot/utils/format.js +84 -0
  249. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  250. package/dist/src/components/chatbot/utils/index.js +7 -0
  251. package/dist/src/components/checkbox/bundle.js +86 -245
  252. package/dist/src/components/checkbox/bundle.js.gz +0 -0
  253. package/dist/src/components/checkbox/checkbox.component.d.ts +5 -2
  254. package/dist/src/components/checkbox/checkbox.component.js +11 -13
  255. package/dist/src/components/checkbox/checkbox.style.js +56 -231
  256. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  257. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  258. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  259. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  260. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  261. package/dist/src/components/checkbox/mixins/index.js +8 -0
  262. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  263. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  264. package/dist/src/components/code-editor/bundle.js +151 -25
  265. package/dist/src/components/code-editor/bundle.js.gz +0 -0
  266. package/dist/src/components/code-editor/code-editor.component.d.ts +18 -56
  267. package/dist/src/components/code-editor/code-editor.component.js +141 -394
  268. package/dist/src/components/code-editor/code-editor.style.js +139 -15
  269. package/dist/src/components/collapse/bundle.js +97 -84
  270. package/dist/src/components/collapse/bundle.js.gz +0 -0
  271. package/dist/src/components/collapse/collapse.component.d.ts +7 -1
  272. package/dist/src/components/collapse/collapse.component.js +11 -2
  273. package/dist/src/components/collapse/collapse.style.js +60 -60
  274. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  275. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  276. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  277. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  278. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  279. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  280. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  281. package/dist/src/components/collapse/controllers/index.js +11 -0
  282. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  283. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  284. package/dist/src/components/colorpicker/bundle.js +85 -48
  285. package/dist/src/components/colorpicker/bundle.js.gz +0 -0
  286. package/dist/src/components/colorpicker/color-holder.component.d.ts +2 -4
  287. package/dist/src/components/colorpicker/color-holder.component.js +5 -6
  288. package/dist/src/components/colorpicker/color-holder.style.js +11 -11
  289. package/dist/src/components/colorpicker/color-picker.component.d.ts +2 -1
  290. package/dist/src/components/colorpicker/color-picker.component.js +1 -0
  291. package/dist/src/components/colorpicker/color-picker.style.js +12 -12
  292. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  293. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  294. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  295. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  296. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  297. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  298. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  299. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  300. package/dist/src/components/colorpicker/default-color-sets.component.d.ts +2 -2
  301. package/dist/src/components/colorpicker/default-color-sets.component.js +4 -3
  302. package/dist/src/components/colorpicker/default-color-sets.style.js +5 -5
  303. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  304. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  305. package/dist/src/components/container/bundle.js +24 -14
  306. package/dist/src/components/container/bundle.js.gz +0 -0
  307. package/dist/src/components/container/container.component.d.ts +4 -1
  308. package/dist/src/components/container/container.component.js +7 -5
  309. package/dist/src/components/container/container.style.js +9 -9
  310. package/dist/src/components/datepicker/bundle.js +193 -177
  311. package/dist/src/components/datepicker/bundle.js.gz +0 -0
  312. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  313. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  314. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  315. package/dist/src/components/datepicker/controllers/index.js +11 -0
  316. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  317. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  318. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  319. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  320. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  321. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  322. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  323. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  324. package/dist/src/components/datepicker/datepicker.component.d.ts +2 -1
  325. package/dist/src/components/datepicker/datepicker.component.js +1 -0
  326. package/dist/src/components/datepicker/datepicker.style.js +65 -65
  327. package/dist/src/components/datepicker/datepicker.style.variables.js +91 -91
  328. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  329. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  330. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  331. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  332. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  333. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  334. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  335. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  336. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  337. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  338. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  339. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  340. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  341. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  342. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  343. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  344. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  345. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  346. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  347. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  348. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  349. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  350. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  351. package/dist/src/components/datepicker/utils/index.js +11 -0
  352. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  353. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  354. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  355. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  356. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  357. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  358. package/dist/src/components/db-connection-select/bundle.js +7 -6
  359. package/dist/src/components/db-connection-select/bundle.js.gz +0 -0
  360. package/dist/src/components/db-connection-select/db-connection-select.component.d.ts +3 -0
  361. package/dist/src/components/db-connection-select/db-connection-select.component.js +4 -0
  362. package/dist/src/components/divider/bundle.js +61 -35
  363. package/dist/src/components/divider/bundle.js.gz +0 -0
  364. package/dist/src/components/divider/divider.component.d.ts +4 -6
  365. package/dist/src/components/divider/divider.component.js +10 -14
  366. package/dist/src/components/divider/divider.style.js +41 -31
  367. package/dist/src/components/document/bundle.js +50 -48
  368. package/dist/src/components/document/bundle.js.gz +0 -0
  369. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  370. package/dist/src/components/document/demo/document-demo.js +40 -0
  371. package/dist/src/components/document/document.component.d.ts +12 -1
  372. package/dist/src/components/document/document.component.js +18 -6
  373. package/dist/src/components/document/document.style.js +21 -36
  374. package/dist/src/components/dropdown/bundle.js +117 -101
  375. package/dist/src/components/dropdown/bundle.js.gz +0 -0
  376. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  377. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  378. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  379. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  380. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  381. package/dist/src/components/dropdown/controllers/index.js +3 -0
  382. package/dist/src/components/dropdown/dropdown.component.d.ts +2 -1
  383. package/dist/src/components/dropdown/dropdown.component.js +1 -0
  384. package/dist/src/components/dropdown/dropdown.style.js +68 -68
  385. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  386. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  387. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  388. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  389. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  390. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  391. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  392. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  393. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  394. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  395. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  396. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  397. package/dist/src/components/file-upload/bundle.js +82 -76
  398. package/dist/src/components/file-upload/bundle.js.gz +0 -0
  399. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  400. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  401. package/dist/src/components/file-upload/file-upload.component.d.ts +2 -1
  402. package/dist/src/components/file-upload/file-upload.component.js +1 -0
  403. package/dist/src/components/file-upload/styles.js +59 -59
  404. package/dist/src/components/flex/bundle.js +18 -8
  405. package/dist/src/components/flex/bundle.js.gz +0 -0
  406. package/dist/src/components/flex/flex.component.d.ts +4 -1
  407. package/dist/src/components/flex/flex.component.js +7 -4
  408. package/dist/src/components/flex/flex.style.js +2 -2
  409. package/dist/src/components/form/bundle.js +22 -10
  410. package/dist/src/components/form/bundle.js.gz +0 -0
  411. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  412. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  413. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  414. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  415. package/dist/src/components/form/form.component.d.ts +4 -1
  416. package/dist/src/components/form/form.component.js +5 -1
  417. package/dist/src/components/form/form.style.js +2 -2
  418. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  419. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  420. package/dist/src/components/grid/bundle.js +26 -14
  421. package/dist/src/components/grid/bundle.js.gz +0 -0
  422. package/dist/src/components/grid/col.component.d.ts +4 -1
  423. package/dist/src/components/grid/col.component.js +4 -1
  424. package/dist/src/components/grid/col.style.js +2 -2
  425. package/dist/src/components/grid/row.component.d.ts +4 -1
  426. package/dist/src/components/grid/row.component.js +4 -1
  427. package/dist/src/components/grid/row.style.js +2 -2
  428. package/dist/src/components/icon/bundle.js +78 -252
  429. package/dist/src/components/icon/bundle.js.gz +0 -0
  430. package/dist/src/components/icon/icon-paths.d.ts +2 -0
  431. package/dist/src/components/icon/icon-paths.js +141 -0
  432. package/dist/src/components/icon/icon.component.d.ts +10 -12
  433. package/dist/src/components/icon/icon.component.js +42 -93
  434. package/dist/src/components/icon/icon.style.js +42 -130
  435. package/dist/src/components/icon/icon.variables.js +9 -9
  436. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  437. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  438. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  439. package/dist/src/components/icon/mixins/index.js +7 -0
  440. package/dist/src/components/iconpicker/bundle.js +859 -1511
  441. package/dist/src/components/iconpicker/bundle.js.gz +0 -0
  442. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  443. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  444. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  445. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  446. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  447. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  448. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  449. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  450. package/dist/src/components/iconpicker/icon-picker.component.d.ts +2 -1
  451. package/dist/src/components/iconpicker/icon-picker.component.js +1 -0
  452. package/dist/src/components/iconpicker/icon-picker.style.js +13 -13
  453. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  454. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  455. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  456. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  457. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  458. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  459. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  460. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  461. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  462. package/dist/src/components/iconpicker/utils/index.js +8 -0
  463. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  464. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  465. package/dist/src/components/image/bundle.js +43 -33
  466. package/dist/src/components/image/bundle.js.gz +0 -0
  467. package/dist/src/components/image/image.component.d.ts +10 -1
  468. package/dist/src/components/image/image.component.js +13 -3
  469. package/dist/src/components/image/image.style.js +19 -26
  470. package/dist/src/components/input/bundle.js +420 -644
  471. package/dist/src/components/input/bundle.js.gz +0 -0
  472. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  473. package/dist/src/components/input/controllers/base.controller.js +13 -0
  474. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  475. package/dist/src/components/input/controllers/event.controller.js +355 -0
  476. package/dist/src/components/input/controllers/index.d.ts +14 -0
  477. package/dist/src/components/input/controllers/index.js +10 -0
  478. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  479. package/dist/src/components/input/controllers/state.controller.js +245 -0
  480. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  481. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  482. package/dist/src/components/input/input.component.d.ts +16 -3
  483. package/dist/src/components/input/input.component.js +43 -27
  484. package/dist/src/components/input/input.style.d.ts +1 -1
  485. package/dist/src/components/input/input.style.js +331 -634
  486. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  487. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  488. package/dist/src/components/input/mixins/index.d.ts +12 -0
  489. package/dist/src/components/input/mixins/index.js +9 -0
  490. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  491. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  492. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  493. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  494. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  495. package/dist/src/components/input/test/nr-input_test.js +159 -0
  496. package/dist/src/components/input/utils/index.d.ts +8 -0
  497. package/dist/src/components/input/utils/index.js +8 -0
  498. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  499. package/dist/src/components/input/utils/input-renderers.js +178 -0
  500. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  501. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  502. package/dist/src/components/kv-secret-select/bundle.js +2 -1
  503. package/dist/src/components/kv-secret-select/bundle.js.gz +0 -0
  504. package/dist/src/components/kv-secret-select/kv-secret-select.component.d.ts +3 -0
  505. package/dist/src/components/kv-secret-select/kv-secret-select.component.js +4 -0
  506. package/dist/src/components/label/bundle.js +37 -60
  507. package/dist/src/components/label/bundle.js.gz +0 -0
  508. package/dist/src/components/label/label.component.d.ts +8 -4
  509. package/dist/src/components/label/label.component.js +9 -14
  510. package/dist/src/components/label/label.style.js +17 -25
  511. package/dist/src/components/label/label.style.variables.js +18 -18
  512. package/dist/src/components/layout/bundle.js +86 -70
  513. package/dist/src/components/layout/bundle.js.gz +0 -0
  514. package/dist/src/components/layout/content.component.d.ts +2 -1
  515. package/dist/src/components/layout/content.component.js +2 -1
  516. package/dist/src/components/layout/content.style.js +3 -3
  517. package/dist/src/components/layout/footer.component.d.ts +2 -1
  518. package/dist/src/components/layout/footer.component.js +3 -2
  519. package/dist/src/components/layout/footer.style.js +7 -7
  520. package/dist/src/components/layout/header.component.d.ts +2 -1
  521. package/dist/src/components/layout/header.component.js +3 -2
  522. package/dist/src/components/layout/header.style.js +7 -7
  523. package/dist/src/components/layout/layout.component.d.ts +4 -7
  524. package/dist/src/components/layout/layout.component.js +9 -22
  525. package/dist/src/components/layout/layout.style.js +1 -1
  526. package/dist/src/components/layout/sider.component.d.ts +3 -1
  527. package/dist/src/components/layout/sider.component.js +3 -1
  528. package/dist/src/components/layout/sider.style.js +29 -29
  529. package/dist/src/components/menu/bundle.js +135 -125
  530. package/dist/src/components/menu/bundle.js.gz +0 -0
  531. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  532. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  533. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  534. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  535. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  536. package/dist/src/components/menu/controllers/index.js +10 -0
  537. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  538. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  539. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  540. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  541. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  542. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  543. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  544. package/dist/src/components/menu/interfaces/index.js +7 -0
  545. package/dist/src/components/menu/menu.component.d.ts +2 -1
  546. package/dist/src/components/menu/menu.component.js +1 -0
  547. package/dist/src/components/menu/menu.style.js +87 -87
  548. package/dist/src/components/modal/bundle.js +105 -96
  549. package/dist/src/components/modal/bundle.js.gz +0 -0
  550. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  551. package/dist/src/components/modal/controllers/index.js +8 -0
  552. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  553. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  554. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  555. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  556. package/dist/src/components/modal/modal.component.d.ts +2 -1
  557. package/dist/src/components/modal/modal.component.js +1 -0
  558. package/dist/src/components/modal/modal.style.js +69 -71
  559. package/dist/src/components/panel/bundle.js +190 -391
  560. package/dist/src/components/panel/bundle.js.gz +0 -0
  561. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  562. package/dist/src/components/panel/controllers/index.js +8 -0
  563. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  564. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  565. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  566. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  567. package/dist/src/components/panel/panel.component.d.ts +2 -1
  568. package/dist/src/components/panel/panel.component.js +1 -0
  569. package/dist/src/components/panel/panel.style.js +65 -65
  570. package/dist/src/components/popconfirm/bundle.js +107 -93
  571. package/dist/src/components/popconfirm/bundle.js.gz +0 -0
  572. package/dist/src/components/popconfirm/popconfirm-manager.component.d.ts +2 -1
  573. package/dist/src/components/popconfirm/popconfirm-manager.component.js +1 -0
  574. package/dist/src/components/popconfirm/popconfirm-manager.style.js +16 -16
  575. package/dist/src/components/popconfirm/popconfirm.component.d.ts +2 -1
  576. package/dist/src/components/popconfirm/popconfirm.component.js +9 -5
  577. package/dist/src/components/popconfirm/popconfirm.style.js +43 -43
  578. package/dist/src/components/presence/bundle.js +528 -0
  579. package/dist/src/components/presence/bundle.js.gz +0 -0
  580. package/dist/src/components/presence/index.d.ts +10 -0
  581. package/dist/src/components/presence/index.js +10 -0
  582. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  583. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  584. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  585. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  586. package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
  587. package/dist/src/components/presence/presence-chat.component.js +228 -0
  588. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  589. package/dist/src/components/presence/presence-chat.style.js +248 -0
  590. package/dist/src/components/presence/presence.component.d.ts +71 -0
  591. package/dist/src/components/presence/presence.component.js +263 -0
  592. package/dist/src/components/presence/presence.style.d.ts +7 -0
  593. package/dist/src/components/presence/presence.style.js +12 -0
  594. package/dist/src/components/presence/presence.types.d.ts +31 -0
  595. package/dist/src/components/presence/presence.types.js +7 -0
  596. package/dist/src/components/presence/react.d.ts +24 -0
  597. package/dist/src/components/presence/react.js +41 -0
  598. package/dist/src/components/radio/bundle.js +56 -86
  599. package/dist/src/components/radio/bundle.js.gz +0 -0
  600. package/dist/src/components/radio/radio.component.d.ts +8 -2
  601. package/dist/src/components/radio/radio.component.js +17 -9
  602. package/dist/src/components/radio/radio.style.js +30 -77
  603. package/dist/src/components/radio-group/bundle.js +125 -89
  604. package/dist/src/components/radio-group/bundle.js.gz +0 -0
  605. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  606. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  607. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  608. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  609. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  610. package/dist/src/components/radio-group/controllers/index.js +11 -0
  611. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  612. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  613. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  614. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  615. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  616. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  617. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  618. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  619. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  620. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  621. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  622. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  623. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  624. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  625. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  626. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  627. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  628. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  629. package/dist/src/components/radio-group/radio-group.component.d.ts +5 -1
  630. package/dist/src/components/radio-group/radio-group.component.js +18 -10
  631. package/dist/src/components/radio-group/radio-group.style.js +44 -44
  632. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  633. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  634. package/dist/src/components/select/bundle.js +260 -367
  635. package/dist/src/components/select/bundle.js.gz +0 -0
  636. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  637. package/dist/src/components/select/controllers/base.controller.js +8 -0
  638. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  639. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  640. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  641. package/dist/src/components/select/controllers/event.controller.js +113 -0
  642. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  643. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  644. package/dist/src/components/select/controllers/index.d.ts +9 -0
  645. package/dist/src/components/select/controllers/index.js +9 -0
  646. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  647. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  648. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  649. package/dist/src/components/select/controllers/search.controller.js +167 -0
  650. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  651. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  652. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  653. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  654. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  655. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  656. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  657. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  658. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  659. package/dist/src/components/select/interfaces/index.js +3 -0
  660. package/dist/src/components/select/select.component.d.ts +12 -17
  661. package/dist/src/components/select/select.component.js +35 -35
  662. package/dist/src/components/select/select.style.js +184 -324
  663. package/dist/src/components/skeleton/bundle.js +82 -162
  664. package/dist/src/components/skeleton/bundle.js.gz +0 -0
  665. package/dist/src/components/skeleton/skeleton.component.d.ts +10 -5
  666. package/dist/src/components/skeleton/skeleton.component.js +20 -7
  667. package/dist/src/components/skeleton/skeleton.style.js +34 -133
  668. package/dist/src/components/slider-input/bundle.js +89 -88
  669. package/dist/src/components/slider-input/bundle.js.gz +0 -0
  670. package/dist/src/components/slider-input/slider-input.component.d.ts +11 -0
  671. package/dist/src/components/slider-input/slider-input.component.js +20 -8
  672. package/dist/src/components/slider-input/slider-input.style.js +47 -47
  673. package/dist/src/components/slider-input/slider-input.style.variables.js +32 -32
  674. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  675. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  676. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  677. package/dist/src/components/slider-input/utils/index.js +2 -0
  678. package/dist/src/components/table/bundle.js +149 -128
  679. package/dist/src/components/table/bundle.js.gz +0 -0
  680. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  681. package/dist/src/components/table/controllers/base.controller.js +13 -0
  682. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  683. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  684. package/dist/src/components/table/controllers/index.d.ts +11 -0
  685. package/dist/src/components/table/controllers/index.js +11 -0
  686. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  687. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  688. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  689. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  690. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  691. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  692. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  693. package/dist/src/components/table/interfaces/index.js +7 -0
  694. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  695. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  696. package/dist/src/components/table/table.component.d.ts +2 -1
  697. package/dist/src/components/table/table.component.js +1 -0
  698. package/dist/src/components/table/table.style.js +79 -79
  699. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  700. package/dist/src/components/table/templates/actions.template.js +15 -0
  701. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  702. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  703. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  704. package/dist/src/components/table/templates/content.template.js +208 -0
  705. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  706. package/dist/src/components/table/templates/empty.template.js +47 -0
  707. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  708. package/dist/src/components/table/templates/filter.template.js +28 -0
  709. package/dist/src/components/table/templates/index.d.ts +8 -0
  710. package/dist/src/components/table/templates/index.js +8 -0
  711. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  712. package/dist/src/components/table/templates/loading.template.js +51 -0
  713. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  714. package/dist/src/components/table/templates/pagination.template.js +52 -0
  715. package/dist/src/components/tabs/bundle.js +462 -663
  716. package/dist/src/components/tabs/bundle.js.gz +0 -0
  717. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  718. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  719. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  720. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  721. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  722. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  723. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  724. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  725. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  726. package/dist/src/components/tabs/controllers/index.js +18 -0
  727. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  728. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  729. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  730. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  731. package/dist/src/components/tabs/tabs.component.d.ts +6 -1
  732. package/dist/src/components/tabs/tabs.component.js +8 -1
  733. package/dist/src/components/tabs/tabs.style.js +200 -201
  734. package/dist/src/components/tag/bundle.js +44 -36
  735. package/dist/src/components/tag/bundle.js.gz +0 -0
  736. package/dist/src/components/tag/tag.component.d.ts +7 -6
  737. package/dist/src/components/tag/tag.component.js +10 -19
  738. package/dist/src/components/tag/tag.style.js +20 -24
  739. package/dist/src/components/textarea/bundle.js +131 -94
  740. package/dist/src/components/textarea/bundle.js.gz +0 -0
  741. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  742. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  743. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  744. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  745. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  746. package/dist/src/components/textarea/controllers/index.js +9 -0
  747. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  748. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  749. package/dist/src/components/textarea/textarea.component.d.ts +7 -1
  750. package/dist/src/components/textarea/textarea.component.js +10 -3
  751. package/dist/src/components/textarea/textarea.style.d.ts +1 -13
  752. package/dist/src/components/textarea/textarea.style.js +79 -91
  753. package/dist/src/components/timeline/bundle.js +71 -134
  754. package/dist/src/components/timeline/bundle.js.gz +0 -0
  755. package/dist/src/components/timeline/timeline.component.d.ts +9 -6
  756. package/dist/src/components/timeline/timeline.component.js +16 -13
  757. package/dist/src/components/timeline/timeline.style.d.ts +0 -7
  758. package/dist/src/components/timeline/timeline.style.js +41 -122
  759. package/dist/src/components/timepicker/bundle.js +196 -166
  760. package/dist/src/components/timepicker/bundle.js.gz +0 -0
  761. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  762. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  763. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  764. package/dist/src/components/timepicker/controllers/index.js +9 -0
  765. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  766. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  767. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  768. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  769. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  770. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  771. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  772. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  773. package/dist/src/components/timepicker/timepicker.component.d.ts +2 -1
  774. package/dist/src/components/timepicker/timepicker.component.js +1 -0
  775. package/dist/src/components/timepicker/timepicker.style.js +42 -42
  776. package/dist/src/components/timepicker/timepicker.style.variables.js +91 -91
  777. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  778. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  779. package/dist/src/components/toast/bundle.js +97 -81
  780. package/dist/src/components/toast/bundle.js.gz +0 -0
  781. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  782. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  783. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  784. package/dist/src/components/toast/controllers/index.js +7 -0
  785. package/dist/src/components/toast/toast.component.d.ts +2 -1
  786. package/dist/src/components/toast/toast.component.js +1 -0
  787. package/dist/src/components/toast/toast.style.js +62 -62
  788. package/dist/src/components/tooltips/bundle.js +10 -10
  789. package/dist/src/components/tooltips/bundle.js.gz +0 -0
  790. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  791. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  792. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  793. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  794. package/dist/src/components/tooltips/tooltips.component.d.ts +8 -0
  795. package/dist/src/components/tooltips/tooltips.component.js +9 -1
  796. package/dist/src/components/tooltips/tooltips.style.js +6 -6
  797. package/dist/src/components/video/bundle.js +47 -36
  798. package/dist/src/components/video/bundle.js.gz +0 -0
  799. package/dist/src/components/video/video.component.d.ts +12 -1
  800. package/dist/src/components/video/video.component.js +18 -6
  801. package/dist/src/components/video/video.style.js +18 -24
  802. package/package.json +51 -12
  803. package/packages/common/dist/VERSIONS.md +2 -2
  804. package/packages/common/dist/shared/base-mixin.d.ts +21 -19
  805. package/packages/common/dist/shared/base-mixin.d.ts.map +1 -1
  806. package/packages/common/dist/shared/base-mixin.js +102 -18
  807. package/packages/common/dist/shared/base-mixin.js.map +1 -1
  808. package/packages/common/dist/shared/index.d.ts +1 -0
  809. package/packages/common/dist/shared/index.d.ts.map +1 -1
  810. package/packages/common/dist/shared/index.js +2 -0
  811. package/packages/common/dist/shared/index.js.map +1 -1
  812. package/packages/common/dist/shared/style-injector.d.ts +11 -0
  813. package/packages/common/dist/shared/style-injector.d.ts.map +1 -0
  814. package/packages/common/dist/shared/style-injector.js +53 -0
  815. package/packages/common/dist/shared/style-injector.js.map +1 -0
  816. package/packages/common/dist/shared/theme-mixin.d.ts +2 -24
  817. package/packages/common/dist/shared/theme-mixin.d.ts.map +1 -1
  818. package/packages/common/dist/shared/theme-mixin.js +5 -38
  819. package/packages/common/dist/shared/theme-mixin.js.map +1 -1
  820. package/packages/themes/dist/default.css +0 -10
  821. package/packages/themes/dist/package.json +1 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Analytics plugin - tracks chatbot usage and events
8
+ */
9
+ export class AnalyticsPlugin {
10
+ constructor(trackEvent) {
11
+ this.id = 'analytics';
12
+ this.name = 'Analytics Plugin';
13
+ this.version = '1.0.0';
14
+ this.trackEvent = trackEvent;
15
+ }
16
+ onInit() {
17
+ this.trackEvent('chatbot:initialized', {
18
+ timestamp: new Date().toISOString()
19
+ });
20
+ console.log('[AnalyticsPlugin] Initialized');
21
+ }
22
+ onDestroy() {
23
+ this.trackEvent('chatbot:destroyed', {
24
+ timestamp: new Date().toISOString()
25
+ });
26
+ console.log('[AnalyticsPlugin] Destroyed');
27
+ }
28
+ onMessageSent(message) {
29
+ this.trackEvent('chatbot:message:sent', {
30
+ messageId: message.id,
31
+ messageLength: message.text.length,
32
+ hasFiles: !!message.files && message.files.length > 0,
33
+ timestamp: message.timestamp
34
+ });
35
+ }
36
+ onMessageReceived(message) {
37
+ this.trackEvent('chatbot:message:received', {
38
+ messageId: message.id,
39
+ messageLength: message.text.length,
40
+ sender: message.sender,
41
+ timestamp: message.timestamp
42
+ });
43
+ }
44
+ onError(error) {
45
+ this.trackEvent('chatbot:error', {
46
+ error: error.message,
47
+ stack: error.stack,
48
+ timestamp: new Date().toISOString()
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=analytics-plugin.js.map
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { ChatbotPlugin } from '../core/types.js';
7
+ import type { ChatbotMessage, ChatbotArtifact } from '../chatbot.types.js';
8
+ import { ChatPluginBase } from './chat-plugin.js';
9
+ /**
10
+ * Artifact Plugin - extracts fenced code blocks from bot messages and replaces
11
+ * them with clickable placeholder cards. Works with a right-side artifact
12
+ * panel rendered by the chatbot component.
13
+ *
14
+ * The plugin operates on *completed* bot messages (`onMessageReceived`) so
15
+ * that streaming chunk-splitting cannot break partially-received code fences.
16
+ * While streaming is in progress the code blocks render normally via the
17
+ * MarkdownPlugin; once the full message arrives the blocks are collapsed into
18
+ * compact cards.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const artifactPlugin = new ArtifactPlugin();
23
+ * const controller = new ChatbotCoreController({
24
+ * plugins: [new MarkdownPlugin(), artifactPlugin],
25
+ * // ...
26
+ * });
27
+ * ```
28
+ */
29
+ export declare class ArtifactPlugin extends ChatPluginBase implements ChatbotPlugin {
30
+ readonly id = "artifact";
31
+ readonly name = "Artifact Plugin";
32
+ readonly version = "1.0.0";
33
+ /** All extracted artifacts keyed by their id */
34
+ private readonly artifacts;
35
+ /** Reference to the core controller (set via onInit) */
36
+ private controller;
37
+ onInit(controller: any): void;
38
+ /**
39
+ * Post-process a complete bot message (called from both onMessageReceived
40
+ * for addMessage()-based messages and from the processing:end listener
41
+ * for streamed messages).
42
+ */
43
+ onMessageReceived(message: ChatbotMessage): Promise<void>;
44
+ /**
45
+ * Detect fenced code blocks, extract them as artifacts, and replace each
46
+ * block in the message text with a compact clickable placeholder card.
47
+ */
48
+ private processMessage;
49
+ /**
50
+ * Rebuild the artifact Map entries from a message that was already processed.
51
+ * This is needed after thread switches: the message text/metadata are persisted
52
+ * in the thread, but the in-memory artifact Map is not.
53
+ */
54
+ private rebuildArtifactsFromMetadata;
55
+ /** Get an artifact by its id */
56
+ getArtifact(id: string): ChatbotArtifact | undefined;
57
+ /** Get all stored artifacts */
58
+ getAllArtifacts(): ChatbotArtifact[];
59
+ /** Get all artifacts belonging to a specific message */
60
+ getArtifactsForMessage(messageId: string): ChatbotArtifact[];
61
+ /**
62
+ * Try to extract a meaningful title from the first comment line of the code.
63
+ * Falls back to a generic "Code Snippet #N" title.
64
+ */
65
+ private extractTitle;
66
+ /** Render a compact clickable placeholder card for an artifact */
67
+ private renderPlaceholderCard;
68
+ /** CSS for the placeholder cards (injected once via style tag) */
69
+ private getStyles;
70
+ }
71
+ //# sourceMappingURL=artifact-plugin.d.ts.map
@@ -0,0 +1,313 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ import { ChatbotSender } from '../chatbot.types.js';
16
+ import { ChatPluginBase } from './chat-plugin.js';
17
+ import { escapeHtml, getLangDisplayName, renderMarkdown } from '../utils/index.js';
18
+ /**
19
+ * Artifact Plugin - extracts fenced code blocks from bot messages and replaces
20
+ * them with clickable placeholder cards. Works with a right-side artifact
21
+ * panel rendered by the chatbot component.
22
+ *
23
+ * The plugin operates on *completed* bot messages (`onMessageReceived`) so
24
+ * that streaming chunk-splitting cannot break partially-received code fences.
25
+ * While streaming is in progress the code blocks render normally via the
26
+ * MarkdownPlugin; once the full message arrives the blocks are collapsed into
27
+ * compact cards.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const artifactPlugin = new ArtifactPlugin();
32
+ * const controller = new ChatbotCoreController({
33
+ * plugins: [new MarkdownPlugin(), artifactPlugin],
34
+ * // ...
35
+ * });
36
+ * ```
37
+ */
38
+ export class ArtifactPlugin extends ChatPluginBase {
39
+ constructor() {
40
+ super(...arguments);
41
+ this.id = 'artifact';
42
+ this.name = 'Artifact Plugin';
43
+ this.version = '1.0.0';
44
+ /** All extracted artifacts keyed by their id */
45
+ this.artifacts = new Map();
46
+ }
47
+ // ── Lifecycle ──────────────────────────────────────────────────────
48
+ onInit(controller) {
49
+ this.controller = controller;
50
+ // For streamed messages, onMessageReceived() is NOT called (only
51
+ // messageHandler.addMessage triggers it, while streaming uses
52
+ // appendToBotMessage). Listen for processing:end to post-process
53
+ // the final bot message after the stream finishes.
54
+ if (controller && typeof controller.on === 'function') {
55
+ controller.on('processing:end', () => {
56
+ var _a, _b;
57
+ try {
58
+ const messages = ((_a = controller.getMessages) === null || _a === void 0 ? void 0 : _a.call(controller)) || [];
59
+ const lastBotMsg = [...messages].reverse().find((m) => m.sender === ChatbotSender.Bot);
60
+ if (lastBotMsg && !((_b = lastBotMsg.metadata) === null || _b === void 0 ? void 0 : _b.hasArtifacts)) {
61
+ this.processMessage(lastBotMsg);
62
+ }
63
+ }
64
+ catch (_c) {
65
+ // best-effort
66
+ }
67
+ });
68
+ }
69
+ }
70
+ /**
71
+ * Post-process a complete bot message (called from both onMessageReceived
72
+ * for addMessage()-based messages and from the processing:end listener
73
+ * for streamed messages).
74
+ */
75
+ onMessageReceived(message) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ if (message.sender !== ChatbotSender.Bot)
78
+ return;
79
+ this.processMessage(message);
80
+ });
81
+ }
82
+ /**
83
+ * Detect fenced code blocks, extract them as artifacts, and replace each
84
+ * block in the message text with a compact clickable placeholder card.
85
+ */
86
+ processMessage(message) {
87
+ var _a;
88
+ // If already processed, rebuild the artifact Map from stored metadata
89
+ // so that artifact lookups work after thread switches.
90
+ if ((_a = message.metadata) === null || _a === void 0 ? void 0 : _a.hasArtifacts) {
91
+ this.rebuildArtifactsFromMetadata(message);
92
+ return;
93
+ }
94
+ const rawText = message.text;
95
+ if (!rawText)
96
+ return;
97
+ // Match fenced code blocks: ```lang\n...\n```
98
+ const fenceRegex = /```(\w*)\n([\s\S]*?)```/g;
99
+ let match;
100
+ const extracted = [];
101
+ let index = 0;
102
+ while ((match = fenceRegex.exec(rawText)) !== null) {
103
+ const language = (match[1] || 'text').toLowerCase();
104
+ const content = match[2];
105
+ const id = `artifact-${message.id}-${index}`;
106
+ const title = this.extractTitle(content, language, index);
107
+ const artifact = {
108
+ id,
109
+ language,
110
+ content,
111
+ title,
112
+ messageId: message.id,
113
+ index
114
+ };
115
+ extracted.push(artifact);
116
+ this.artifacts.set(id, artifact);
117
+ index++;
118
+ }
119
+ if (extracted.length === 0)
120
+ return;
121
+ // Replace each fenced block with a placeholder card, and render basic
122
+ // markdown for the surrounding prose (since afterReceive from the
123
+ // MarkdownPlugin may not run for addMessage()-based messages).
124
+ let transformed = rawText;
125
+ let cardIndex = 0;
126
+ transformed = transformed.replaceAll(fenceRegex, () => {
127
+ const artifact = extracted[cardIndex++];
128
+ // Temporarily mark card positions with a unique token so they survive
129
+ // the markdown pass unscathed.
130
+ return `\x00ARTIFACT_CARD_${artifact.id}\x00`;
131
+ });
132
+ // Render markdown on the surrounding prose
133
+ transformed = renderMarkdown(transformed);
134
+ // Swap the tokens back to actual card HTML
135
+ for (const artifact of extracted) {
136
+ transformed = transformed.replace(`\x00ARTIFACT_CARD_${artifact.id}\x00`, this.renderPlaceholderCard(artifact));
137
+ }
138
+ // Inject styles (once per conversation)
139
+ const styleTag = this.getOncePerConversationStyleTag(this.getStyles());
140
+ // Update the message through the controller
141
+ if (this.controller && typeof this.controller.updateMessage === 'function') {
142
+ this.controller.updateMessage(message.id, {
143
+ text: styleTag + transformed,
144
+ metadata: Object.assign(Object.assign({}, message.metadata), { renderAsHtml: true, hasArtifacts: true, artifactIds: extracted.map(a => a.id),
145
+ // Preserve original text so artifacts can be rebuilt after thread switch
146
+ artifactOriginalText: rawText })
147
+ });
148
+ }
149
+ }
150
+ /**
151
+ * Rebuild the artifact Map entries from a message that was already processed.
152
+ * This is needed after thread switches: the message text/metadata are persisted
153
+ * in the thread, but the in-memory artifact Map is not.
154
+ */
155
+ rebuildArtifactsFromMetadata(message) {
156
+ var _a, _b;
157
+ const ids = (_a = message.metadata) === null || _a === void 0 ? void 0 : _a.artifactIds;
158
+ if (!(ids === null || ids === void 0 ? void 0 : ids.length))
159
+ return;
160
+ // Check if artifacts are already in the Map (no work needed)
161
+ if (ids.every(id => this.artifacts.has(id)))
162
+ return;
163
+ // Re-extract from the preserved original text
164
+ const originalText = (_b = message.metadata) === null || _b === void 0 ? void 0 : _b.artifactOriginalText;
165
+ if (!originalText)
166
+ return;
167
+ const fenceRegex = /```(\w*)\n([\s\S]*?)```/g;
168
+ let match;
169
+ let index = 0;
170
+ while ((match = fenceRegex.exec(originalText)) !== null) {
171
+ const language = (match[1] || 'text').toLowerCase();
172
+ const content = match[2];
173
+ const id = `artifact-${message.id}-${index}`;
174
+ const title = this.extractTitle(content, language, index);
175
+ this.artifacts.set(id, {
176
+ id,
177
+ language,
178
+ content,
179
+ title,
180
+ messageId: message.id,
181
+ index
182
+ });
183
+ index++;
184
+ }
185
+ }
186
+ // ── Public API ─────────────────────────────────────────────────────
187
+ /** Get an artifact by its id */
188
+ getArtifact(id) {
189
+ return this.artifacts.get(id);
190
+ }
191
+ /** Get all stored artifacts */
192
+ getAllArtifacts() {
193
+ return Array.from(this.artifacts.values());
194
+ }
195
+ /** Get all artifacts belonging to a specific message */
196
+ getArtifactsForMessage(messageId) {
197
+ return Array.from(this.artifacts.values()).filter(a => a.messageId === messageId);
198
+ }
199
+ // ── Private helpers ────────────────────────────────────────────────
200
+ /**
201
+ * Try to extract a meaningful title from the first comment line of the code.
202
+ * Falls back to a generic "Code Snippet #N" title.
203
+ */
204
+ extractTitle(content, language, index) {
205
+ const firstLine = content.trimStart().split('\n')[0] || '';
206
+ // Single-line comment patterns: // ..., # ..., -- ..., /* ... */
207
+ const commentPatterns = [
208
+ /^\/\/\s*(.+)/, // // comment
209
+ /^#\s*(.+)/, // # comment
210
+ /^--\s*(.+)/, // -- comment (SQL)
211
+ /^\/\*\s*(.*?)\*\//, // /* comment */ (no trailing \s* — trim in code)
212
+ /^<!--\s*(.*?)-->/ // <!-- comment --> (no trailing \s* — trim in code)
213
+ ];
214
+ for (const pattern of commentPatterns) {
215
+ const m = pattern.exec(firstLine);
216
+ if (m === null || m === void 0 ? void 0 : m[1]) {
217
+ const title = m[1].trim();
218
+ if (title.length > 0 && title.length <= 60)
219
+ return title;
220
+ }
221
+ }
222
+ // Fallback: use language + index
223
+ const langLabel = getLangDisplayName(language);
224
+ return `${langLabel} Snippet ${index + 1}`;
225
+ }
226
+ /** Render a compact clickable placeholder card for an artifact */
227
+ renderPlaceholderCard(artifact) {
228
+ const langLabel = getLangDisplayName(artifact.language);
229
+ const title = escapeHtml(artifact.title);
230
+ return `<div class="nr-artifact-card" data-artifact-id="${artifact.id}" role="button" tabindex="0" aria-label="View ${title}">
231
+ <nr-icon name="code" size="small" class="nr-artifact-card__icon"></nr-icon>
232
+ <span class="nr-artifact-card__info">
233
+ <span class="nr-artifact-card__title">${title}</span>
234
+ <nr-tag size="small" class="nr-artifact-card__lang">${langLabel}</nr-tag>
235
+ </span>
236
+ <nr-icon name="chevron-right" size="small" class="nr-artifact-card__chevron"></nr-icon>
237
+ </div>`;
238
+ }
239
+ /** CSS for the placeholder cards (injected once via style tag) */
240
+ getStyles() {
241
+ return `
242
+ .nr-artifact-card {
243
+ display: flex;
244
+ align-items: center;
245
+ gap: 10px;
246
+ padding: 10px 14px;
247
+ margin: 8px 0;
248
+ background: #f6f8fa;
249
+ border: 1px solid #d0d7de;
250
+ border-radius: 8px;
251
+ cursor: pointer;
252
+ transition: background 0.15s ease, border-color 0.15s ease;
253
+ user-select: none;
254
+ max-width: 100%;
255
+ }
256
+ .nr-artifact-card:hover {
257
+ background: #eaeef2;
258
+ border-color: #8b949e;
259
+ }
260
+ .nr-artifact-card:focus-visible {
261
+ outline: 2px solid #0b5fff;
262
+ outline-offset: 2px;
263
+ }
264
+ .nr-artifact-card__icon {
265
+ flex-shrink: 0;
266
+ color: #57606a;
267
+ }
268
+ .nr-artifact-card__info {
269
+ display: flex;
270
+ flex-direction: column;
271
+ gap: 4px;
272
+ min-width: 0;
273
+ flex: 1;
274
+ }
275
+ .nr-artifact-card__title {
276
+ font-size: 13px;
277
+ font-weight: 500;
278
+ color: #1f2937;
279
+ white-space: nowrap;
280
+ overflow: hidden;
281
+ text-overflow: ellipsis;
282
+ line-height: 1.3;
283
+ }
284
+ .nr-artifact-card__lang {
285
+ align-self: flex-start;
286
+ }
287
+ .nr-artifact-card__chevron {
288
+ flex-shrink: 0;
289
+ color: #6c757d;
290
+ }
291
+ @media (prefers-color-scheme: dark) {
292
+ .nr-artifact-card {
293
+ background: #161b22;
294
+ border-color: #30363d;
295
+ }
296
+ .nr-artifact-card:hover {
297
+ background: #1c2128;
298
+ border-color: #484f58;
299
+ }
300
+ .nr-artifact-card__icon {
301
+ color: #c9d1d9;
302
+ }
303
+ .nr-artifact-card__title {
304
+ color: #c9d1d9;
305
+ }
306
+ .nr-artifact-card__chevron {
307
+ color: #8b949e;
308
+ }
309
+ }
310
+ `;
311
+ }
312
+ }
313
+ //# sourceMappingURL=artifact-plugin.js.map
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { ChatbotPlugin } from '../core/types.js';
7
+ /**
8
+ * Base class for Chatbot plugins with handy utilities.
9
+ * - Provides one-time-per-conversation style injection with a data-marker.
10
+ */
11
+ export declare abstract class ChatPluginBase implements ChatbotPlugin {
12
+ abstract readonly id: string;
13
+ abstract readonly name: string;
14
+ abstract readonly version: string;
15
+ private _stylesInjected;
16
+ private _lastThreadId?;
17
+ /**
18
+ * Returns a <style> tag only once per conversation (thread) to avoid duplicates.
19
+ * Adds a data attribute marker to the style tag for easy detection.
20
+ *
21
+ * Usage: const styleTag = this.getOncePerConversationStyleTag(cssString)
22
+ */
23
+ protected getOncePerConversationStyleTag(css: string, hostSelector?: string): string;
24
+ /**
25
+ * Reset style injection flag when conversation (thread) changes.
26
+ * This relies on ChatbotState.currentThreadId presence.
27
+ */
28
+ onStateChange?(state: Readonly<any>): void;
29
+ onInit?(controller?: any): void;
30
+ onDestroy?(): void;
31
+ onMessageSent?(message: any): void | Promise<void>;
32
+ onMessageReceived?(message: any): void | Promise<void>;
33
+ beforeSend?(text: string): string | Promise<string>;
34
+ afterReceive?(text: string): string | Promise<string>;
35
+ onError?(error: Error): void;
36
+ htmlTags?: Array<{
37
+ name: string;
38
+ open: string;
39
+ close: string;
40
+ }>;
41
+ renderHtmlBlock?(name: string, content: string): string;
42
+ renderArtifactContent?(artifact: any): string;
43
+ }
44
+ //# sourceMappingURL=chat-plugin.d.ts.map
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Base class for Chatbot plugins with handy utilities.
8
+ * - Provides one-time-per-conversation style injection with a data-marker.
9
+ */
10
+ export class ChatPluginBase {
11
+ constructor() {
12
+ // Per-conversation style injection tracking
13
+ this._stylesInjected = false;
14
+ }
15
+ /**
16
+ * Returns a <style> tag only once per conversation (thread) to avoid duplicates.
17
+ * Adds a data attribute marker to the style tag for easy detection.
18
+ *
19
+ * Usage: const styleTag = this.getOncePerConversationStyleTag(cssString)
20
+ */
21
+ getOncePerConversationStyleTag(css, hostSelector = 'nr-chatbot') {
22
+ var _a;
23
+ // Compute a stable data attribute unique to this plugin id
24
+ const markerAttr = `data-plugin-styles-${this.id}`;
25
+ // Best-effort check inside the host shadowRoot for an existing marker
26
+ let markerFound = false;
27
+ try {
28
+ const host = document.querySelector(hostSelector);
29
+ const hasMarker = (_a = host === null || host === void 0 ? void 0 : host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`style[${markerAttr}]`);
30
+ markerFound = !!hasMarker;
31
+ }
32
+ catch (_b) {
33
+ // ignore DOM access errors
34
+ }
35
+ if (!this._stylesInjected && !markerFound) {
36
+ this._stylesInjected = true;
37
+ return `<style ${markerAttr}="true">${css}</style>`;
38
+ }
39
+ return '';
40
+ }
41
+ /**
42
+ * Reset style injection flag when conversation (thread) changes.
43
+ * This relies on ChatbotState.currentThreadId presence.
44
+ */
45
+ onStateChange(state) {
46
+ try {
47
+ const currentThreadId = state === null || state === void 0 ? void 0 : state.currentThreadId;
48
+ if (currentThreadId !== this._lastThreadId) {
49
+ this._lastThreadId = currentThreadId;
50
+ this._stylesInjected = false;
51
+ }
52
+ }
53
+ catch (_a) {
54
+ // best-effort only
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=chat-plugin.js.map
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import type { ChatbotPlugin } from '../core/types.js';
7
+ import { ChatPluginBase } from './chat-plugin.js';
8
+ /**
9
+ * Interface for flight information
10
+ */
11
+ export interface FlightInfo {
12
+ origin: string;
13
+ destination: string;
14
+ departureTime: string;
15
+ arrivalTime: string;
16
+ departureDate: string;
17
+ arrivalDate: string;
18
+ terminal?: string;
19
+ gate?: string;
20
+ arrivalTerminal?: string;
21
+ arrivalGate?: string;
22
+ duration: string;
23
+ flightNumber?: string;
24
+ airline?: string;
25
+ status?: string;
26
+ updated?: string;
27
+ source?: string;
28
+ }
29
+ /**
30
+ * Flight Card Plugin - transforms flight information into visual cards
31
+ *
32
+ * This plugin detects flight information in messages and renders them as styled cards.
33
+ * Developers can customize the card template by extending this class.
34
+ *
35
+ * @example Basic usage
36
+ * ```typescript
37
+ * const flightPlugin = new FlightCardPlugin();
38
+ * controller.registerPlugin(flightPlugin);
39
+ * ```
40
+ *
41
+ * @example Custom template
42
+ * ```typescript
43
+ * class MyFlightCardPlugin extends FlightCardPlugin {
44
+ * protected renderFlightCard(flight: FlightInfo): string {
45
+ * return `<div class="my-custom-card">...</div>`;
46
+ * }
47
+ * }
48
+ * ```
49
+ *
50
+ * @example JSON format in message
51
+ * ```json
52
+ * {
53
+ * "type": "flight",
54
+ * "origin": "JED",
55
+ * "destination": "TUN",
56
+ * "departureTime": "11:40 PM",
57
+ * "arrivalTime": "2:35 AM",
58
+ * "departureDate": "mar. 14 oct.",
59
+ * "arrivalDate": "mer. 15 oct.",
60
+ * "duration": "4h 55min",
61
+ * "terminal": "N",
62
+ * "arrivalTerminal": "M"
63
+ * }
64
+ * ```
65
+ */
66
+ export declare class FlightCardPlugin extends ChatPluginBase implements ChatbotPlugin {
67
+ readonly id = "flight-card";
68
+ readonly name = "Flight Card Plugin";
69
+ readonly version = "1.0.0";
70
+ readonly htmlTags: {
71
+ name: string;
72
+ open: string;
73
+ close: string;
74
+ }[];
75
+ /**
76
+ * CSS class prefix for styling
77
+ */
78
+ protected cssPrefix: string;
79
+ /**
80
+ * Render a skeleton placeholder while the flight data is loading
81
+ */
82
+ renderHtmlBlockPlaceholder?(name: string): string;
83
+ onInit(): void;
84
+ /**
85
+ * Process received messages and convert flight data to cards
86
+ */
87
+ afterReceive(text: string): Promise<string>;
88
+ /**
89
+ * Render a completed [FLIGHT]...[/FLIGHT] block when tokenized by the Provider/Service
90
+ */
91
+ renderHtmlBlock(name: string, content: string): string;
92
+ /**
93
+ * Check if data object contains flight information
94
+ */
95
+ protected isFlightData(data: any): boolean;
96
+ /**
97
+ * Render flight information as a card
98
+ * Override this method to customize the card appearance
99
+ */
100
+ protected renderFlightCard(flight: FlightInfo): string;
101
+ /**
102
+ * Get city name from airport code
103
+ * Override this to provide custom city mappings
104
+ */
105
+ protected getCityName(airportCode: string): string;
106
+ /**
107
+ * Escape HTML to prevent XSS
108
+ */
109
+ protected escapeHtml(text: string): string;
110
+ /**
111
+ * Inject default styles for the flight card
112
+ * Override this method to provide custom styles
113
+ */
114
+ protected getStyles(): string;
115
+ }
116
+ //# sourceMappingURL=flight-card-plugin.d.ts.map