@nuraly/lumenui 0.2.1 → 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 (525) hide show
  1. package/dist/nuralyui.bundle.js +2010 -1271
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  4. package/dist/src/components/button/controllers/base.controller.js +13 -0
  5. package/dist/src/components/button/controllers/index.d.ts +10 -0
  6. package/dist/src/components/button/controllers/index.js +10 -0
  7. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  8. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  9. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  10. package/dist/src/components/button/controllers/link.controller.js +75 -0
  11. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  12. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  13. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  14. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  15. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  16. package/dist/src/components/button/interfaces/index.js +2 -0
  17. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  18. package/dist/src/components/button/test/nr-button_test.js +91 -0
  19. package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
  20. package/dist/src/components/canvas/base-canvas.component.js +6 -0
  21. package/dist/src/components/canvas/bundle.js +702 -475
  22. package/dist/src/components/canvas/bundle.js.gz +0 -0
  23. package/dist/src/components/canvas/chatbot-panel.style.js +50 -59
  24. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  25. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  26. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  27. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  28. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  29. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  30. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  31. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  32. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  33. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  34. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  35. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  36. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  37. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  38. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  39. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  40. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  41. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  42. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  43. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  44. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  45. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  46. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  47. package/dist/src/components/canvas/controllers/index.js +32 -0
  48. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  49. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  50. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  51. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  52. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  53. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  54. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  55. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  56. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  57. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  58. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  59. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  60. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  61. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  62. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  63. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  64. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  65. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  66. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  67. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  68. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  69. package/dist/src/components/canvas/data-node/index.js +12 -0
  70. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  71. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  72. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  73. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  74. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  75. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  76. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  77. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  78. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  79. package/dist/src/components/canvas/interfaces/index.js +7 -0
  80. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  81. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  82. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  83. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  84. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  85. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  86. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  87. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  88. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  89. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  90. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  91. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  92. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  93. package/dist/src/components/canvas/templates/index.js +30 -0
  94. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  95. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  96. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  97. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  98. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  99. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  100. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  101. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  102. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  103. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  104. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  105. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  106. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  107. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  108. package/dist/src/components/canvas/workflow-canvas.component.js +6 -0
  109. package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
  110. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  111. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  112. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  113. package/dist/src/components/chatbot/audio-compress.js +84 -0
  114. package/dist/src/components/chatbot/bundle.js +388 -144
  115. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  116. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  117. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  118. package/dist/src/components/chatbot/chatbot.component.d.ts +12 -0
  119. package/dist/src/components/chatbot/chatbot.component.js +41 -2
  120. package/dist/src/components/chatbot/chatbot.style.js +141 -0
  121. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  122. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  123. package/dist/src/components/chatbot/controllers/index.js +8 -0
  124. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  125. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  126. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  127. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  128. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  129. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  130. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  131. package/dist/src/components/chatbot/core/index.js +15 -0
  132. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  133. package/dist/src/components/chatbot/core/types.js +16 -0
  134. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  135. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  136. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  137. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  138. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  139. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  140. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  141. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  142. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  143. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  144. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  145. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  146. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  147. package/dist/src/components/chatbot/plugins/index.js +17 -0
  148. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  149. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  150. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  151. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  152. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  153. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  154. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  155. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  156. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  157. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  158. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  159. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  160. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  161. package/dist/src/components/chatbot/providers/index.js +13 -0
  162. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  163. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  164. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  165. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  166. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  167. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  168. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  169. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  170. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  171. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  172. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  173. package/dist/src/components/chatbot/storage/index.js +8 -0
  174. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  175. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  176. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  177. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  178. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  179. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  180. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  181. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  182. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  183. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  184. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  185. package/dist/src/components/chatbot/templates/index.js +15 -0
  186. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  187. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  188. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  189. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  190. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  191. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  192. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  193. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  194. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  195. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  196. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  197. package/dist/src/components/chatbot/utils/format.js +84 -0
  198. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  199. package/dist/src/components/chatbot/utils/index.js +7 -0
  200. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  201. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  202. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  203. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  204. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  205. package/dist/src/components/checkbox/mixins/index.js +8 -0
  206. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  207. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  208. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  209. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  210. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  211. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  212. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  213. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  214. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  215. package/dist/src/components/collapse/controllers/index.js +11 -0
  216. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  217. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  218. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  219. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  220. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  221. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  222. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  223. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  224. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  225. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  226. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  227. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  228. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  229. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  230. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  231. package/dist/src/components/datepicker/controllers/index.js +11 -0
  232. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  233. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  234. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  235. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  236. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  237. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  238. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  239. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  240. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  241. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  242. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  243. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  244. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  245. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  246. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  247. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  248. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  249. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  250. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  251. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  252. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  253. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  254. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  255. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  256. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  257. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  258. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  259. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  260. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  261. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  262. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  263. package/dist/src/components/datepicker/utils/index.js +11 -0
  264. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  265. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  266. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  267. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  268. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  269. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  270. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  271. package/dist/src/components/document/demo/document-demo.js +40 -0
  272. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  273. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  274. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  275. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  276. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  277. package/dist/src/components/dropdown/controllers/index.js +3 -0
  278. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  279. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  280. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  281. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  282. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  283. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  284. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  285. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  286. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  287. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  288. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  289. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  290. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  291. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  292. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  293. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  294. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  295. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  296. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  297. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  298. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  299. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  300. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  301. package/dist/src/components/icon/mixins/index.js +7 -0
  302. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  303. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  304. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  305. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  306. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  307. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  308. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  309. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  310. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  311. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  312. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  313. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  314. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  315. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  316. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  317. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  318. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  319. package/dist/src/components/iconpicker/utils/index.js +8 -0
  320. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  321. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  322. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  323. package/dist/src/components/input/controllers/base.controller.js +13 -0
  324. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  325. package/dist/src/components/input/controllers/event.controller.js +355 -0
  326. package/dist/src/components/input/controllers/index.d.ts +14 -0
  327. package/dist/src/components/input/controllers/index.js +10 -0
  328. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  329. package/dist/src/components/input/controllers/state.controller.js +245 -0
  330. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  331. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  332. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  333. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  334. package/dist/src/components/input/mixins/index.d.ts +12 -0
  335. package/dist/src/components/input/mixins/index.js +9 -0
  336. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  337. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  338. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  339. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  340. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  341. package/dist/src/components/input/test/nr-input_test.js +159 -0
  342. package/dist/src/components/input/utils/index.d.ts +8 -0
  343. package/dist/src/components/input/utils/index.js +8 -0
  344. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  345. package/dist/src/components/input/utils/input-renderers.js +178 -0
  346. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  347. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  348. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  349. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  350. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  351. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  352. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  353. package/dist/src/components/menu/controllers/index.js +10 -0
  354. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  355. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  356. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  357. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  358. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  359. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  360. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  361. package/dist/src/components/menu/interfaces/index.js +7 -0
  362. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  363. package/dist/src/components/modal/controllers/index.js +8 -0
  364. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  365. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  366. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  367. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  368. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  369. package/dist/src/components/panel/controllers/index.js +8 -0
  370. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  371. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  372. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  373. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  374. package/dist/src/components/presence/bundle.js +528 -0
  375. package/dist/src/components/presence/bundle.js.gz +0 -0
  376. package/dist/src/components/presence/index.d.ts +10 -0
  377. package/dist/src/components/presence/index.js +10 -0
  378. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  379. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  380. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  381. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  382. package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
  383. package/dist/src/components/presence/presence-chat.component.js +228 -0
  384. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  385. package/dist/src/components/presence/presence-chat.style.js +248 -0
  386. package/dist/src/components/presence/presence.component.d.ts +71 -0
  387. package/dist/src/components/presence/presence.component.js +263 -0
  388. package/dist/src/components/presence/presence.style.d.ts +7 -0
  389. package/dist/src/components/presence/presence.style.js +12 -0
  390. package/dist/src/components/presence/presence.types.d.ts +31 -0
  391. package/dist/src/components/presence/presence.types.js +7 -0
  392. package/dist/src/components/presence/react.d.ts +24 -0
  393. package/dist/src/components/presence/react.js +41 -0
  394. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  395. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  396. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  397. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  398. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  399. package/dist/src/components/radio-group/controllers/index.js +11 -0
  400. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  401. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  402. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  403. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  404. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  405. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  406. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  407. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  408. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  409. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  410. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  411. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  412. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  413. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  414. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  415. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  416. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  417. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  418. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  419. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  420. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  421. package/dist/src/components/select/controllers/base.controller.js +8 -0
  422. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  423. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  424. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  425. package/dist/src/components/select/controllers/event.controller.js +113 -0
  426. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  427. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  428. package/dist/src/components/select/controllers/index.d.ts +9 -0
  429. package/dist/src/components/select/controllers/index.js +9 -0
  430. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  431. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  432. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  433. package/dist/src/components/select/controllers/search.controller.js +167 -0
  434. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  435. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  436. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  437. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  438. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  439. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  440. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  441. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  442. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  443. package/dist/src/components/select/interfaces/index.js +3 -0
  444. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  445. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  446. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  447. package/dist/src/components/slider-input/utils/index.js +2 -0
  448. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  449. package/dist/src/components/table/controllers/base.controller.js +13 -0
  450. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  451. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  452. package/dist/src/components/table/controllers/index.d.ts +11 -0
  453. package/dist/src/components/table/controllers/index.js +11 -0
  454. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  455. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  456. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  457. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  458. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  459. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  460. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  461. package/dist/src/components/table/interfaces/index.js +7 -0
  462. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  463. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  464. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  465. package/dist/src/components/table/templates/actions.template.js +15 -0
  466. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  467. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  468. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  469. package/dist/src/components/table/templates/content.template.js +208 -0
  470. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  471. package/dist/src/components/table/templates/empty.template.js +47 -0
  472. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  473. package/dist/src/components/table/templates/filter.template.js +28 -0
  474. package/dist/src/components/table/templates/index.d.ts +8 -0
  475. package/dist/src/components/table/templates/index.js +8 -0
  476. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  477. package/dist/src/components/table/templates/loading.template.js +51 -0
  478. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  479. package/dist/src/components/table/templates/pagination.template.js +52 -0
  480. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  481. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  482. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  483. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  484. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  485. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  486. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  487. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  488. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  489. package/dist/src/components/tabs/controllers/index.js +18 -0
  490. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  491. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  492. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  493. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  494. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  495. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  496. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  497. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  498. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  499. package/dist/src/components/textarea/controllers/index.js +9 -0
  500. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  501. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  502. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  503. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  504. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  505. package/dist/src/components/timepicker/controllers/index.js +9 -0
  506. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  507. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  508. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  509. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  510. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  511. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  512. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  513. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  514. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  515. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  516. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  517. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  518. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  519. package/dist/src/components/toast/controllers/index.js +7 -0
  520. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  521. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  522. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  523. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  524. package/package.json +27 -1
  525. package/packages/common/dist/VERSIONS.md +1 -1
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { html, nothing } from 'lit';
7
+ import { repeat } from 'lit/directives/repeat.js';
8
+ import { classMap } from 'lit/directives/class-map.js';
9
+ import { msg } from '@lit/localize';
10
+ import { formatTimestamp } from '../utils/format.js';
11
+ function renderThreadItem(thread, data, handlers) {
12
+ const lastMessage = thread.messages.length > 0
13
+ ? thread.messages[thread.messages.length - 1]
14
+ : null;
15
+ const previewText = lastMessage && typeof lastMessage.text === 'string'
16
+ ? lastMessage.text
17
+ : '';
18
+ return html `
19
+ <div
20
+ class="thread-item ${classMap({
21
+ 'thread-item--active': thread.id === data.activeThreadId
22
+ })}"
23
+ @click=${() => handlers.onSelectThread(thread.id)}
24
+ part="thread-item"
25
+ >
26
+ <div class="thread-item__header">
27
+ ${data.editingThreadId === thread.id && handlers.onRenameThread ? html `
28
+ <input
29
+ class="thread-item__rename-input"
30
+ type="text"
31
+ .value=${thread.title || ''}
32
+ @click=${(e) => e.stopPropagation()}
33
+ @keydown=${(e) => {
34
+ if (e.key === 'Enter') {
35
+ const input = e.target;
36
+ const value = input.value.trim();
37
+ if (value)
38
+ handlers.onRenameThread(thread.id, value);
39
+ }
40
+ if (e.key === 'Escape') {
41
+ handlers.onRenameThread(thread.id, thread.title || '');
42
+ }
43
+ }}
44
+ @blur=${(e) => {
45
+ const input = e.target;
46
+ const value = input.value.trim();
47
+ if (value && value !== thread.title) {
48
+ handlers.onRenameThread(thread.id, value);
49
+ }
50
+ else {
51
+ handlers.onRenameThread(thread.id, thread.title || '');
52
+ }
53
+ }}
54
+ />
55
+ ` : html `
56
+ <div class="thread-item__title">${thread.title || msg('New Chat')}</div>
57
+ `}
58
+ <div class="thread-item__actions">
59
+ ${handlers.onRenameThread && data.editingThreadId !== thread.id ? html `
60
+ <button
61
+ class="thread-item__action-btn"
62
+ title="${msg('Rename conversation')}"
63
+ @click=${(e) => {
64
+ e.stopPropagation();
65
+ e.target.dispatchEvent(new CustomEvent('nr-thread-edit', {
66
+ bubbles: true,
67
+ composed: true,
68
+ detail: { threadId: thread.id }
69
+ }));
70
+ }}
71
+ part="thread-rename"
72
+ >
73
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
74
+ </button>
75
+ ` : ''}
76
+ ${handlers.onBookmarkThread ? html `
77
+ <button
78
+ class="thread-item__action-btn ${thread.bookmarked ? 'thread-item__bookmark--active' : ''}"
79
+ title="${thread.bookmarked ? msg('Remove bookmark') : msg('Bookmark conversation')}"
80
+ @click=${(e) => {
81
+ e.stopPropagation();
82
+ handlers.onBookmarkThread(thread.id);
83
+ }}
84
+ part="thread-bookmark"
85
+ >
86
+ ${thread.bookmarked ? html `
87
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>
88
+ ` : html `
89
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>
90
+ `}
91
+ </button>
92
+ ` : ''}
93
+ ${handlers.onDeleteThread ? html `
94
+ <nr-popconfirm
95
+ title="${msg('Delete this conversation?')}"
96
+ description="${msg('This action cannot be undone.')}"
97
+ ok-text="${msg('Delete')}"
98
+ cancel-text="${msg('Cancel')}"
99
+ ok-type="danger"
100
+ placement="right"
101
+ @click=${(e) => e.stopPropagation()}
102
+ @nr-confirm=${() => handlers.onDeleteThread(thread.id)}
103
+ >
104
+ <button
105
+ slot="trigger"
106
+ class="thread-item__action-btn thread-item__delete"
107
+ title="${msg('Delete conversation')}"
108
+ part="thread-delete"
109
+ >
110
+ <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg>
111
+ </button>
112
+ </nr-popconfirm>
113
+ ` : ''}
114
+ </div>
115
+ </div>
116
+ <div class="thread-item__preview">
117
+ ${previewText}
118
+ </div>
119
+ <div class="thread-item__timestamp">${formatTimestamp(thread.updatedAt)}</div>
120
+ </div>
121
+ `;
122
+ }
123
+ /**
124
+ * Renders thread sidebar
125
+ */
126
+ export function renderThreadSidebar(data, handlers) {
127
+ const bookmarkedThreads = data.threads.filter(t => t.bookmarked);
128
+ const regularThreads = data.threads.filter(t => !t.bookmarked);
129
+ return html `
130
+ <div class="thread-sidebar" part="thread-sidebar">
131
+ <div class="thread-sidebar__header">
132
+ <h3>${msg('Conversations')}</h3>
133
+ </div>
134
+
135
+ <div class="thread-list">
136
+ ${bookmarkedThreads.length > 0 ? html `
137
+ <div class="thread-section" part="thread-section-bookmarks">
138
+ <div class="thread-section__label">
139
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>
140
+ ${msg('Bookmarks')}
141
+ </div>
142
+ ${repeat(bookmarkedThreads, t => t.id, t => renderThreadItem(t, data, handlers))}
143
+ </div>
144
+ ` : nothing}
145
+ ${regularThreads.length > 0 || bookmarkedThreads.length === 0 ? html `
146
+ ${bookmarkedThreads.length > 0 ? html `
147
+ <div class="thread-section__label">${msg('All Conversations')}</div>
148
+ ` : nothing}
149
+ ${repeat(regularThreads, t => t.id, t => renderThreadItem(t, data, handlers))}
150
+ ${regularThreads.length === 0 && bookmarkedThreads.length === 0 ? html `
151
+ <p class="empty-msg">${msg('No conversations yet')}</p>
152
+ ` : nothing}
153
+ ` : nothing}
154
+ </div>
155
+
156
+ <slot name="thread-sidebar"></slot>
157
+ </div>
158
+ `;
159
+ }
160
+ //# sourceMappingURL=thread-sidebar.template.js.map
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { TemplateResult } from 'lit';
7
+ export interface UrlModalTemplateHandlers {
8
+ onClose: () => void;
9
+ onUrlInputChange: (e: Event) => void;
10
+ onUrlInputKeydown: (e: KeyboardEvent) => void;
11
+ onConfirm: () => void;
12
+ onAttachFile: () => void;
13
+ }
14
+ export interface UrlModalTemplateData {
15
+ isOpen: boolean;
16
+ urlInput: string;
17
+ isLoading?: boolean;
18
+ error?: string;
19
+ selectedFileName?: string;
20
+ }
21
+ /**
22
+ * Renders URL attachment modal
23
+ */
24
+ export declare function renderUrlModal(data: UrlModalTemplateData, handlers: UrlModalTemplateHandlers): TemplateResult;
25
+ //# sourceMappingURL=url-modal.template.d.ts.map
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { html, nothing } from 'lit';
7
+ import { msg } from '@lit/localize';
8
+ /**
9
+ * Renders URL attachment modal
10
+ */
11
+ export function renderUrlModal(data, handlers) {
12
+ return html `
13
+ <nr-modal
14
+ ?open=${data.isOpen}
15
+ @nr-modal-close=${handlers.onClose}
16
+ part="url-modal"
17
+ >
18
+ <div slot="header">${msg('Add URL')}</div>
19
+
20
+ <div >
21
+ <nr-row gutter="8" align="bottom">
22
+ <nr-col span="20" >
23
+ <nr-input
24
+
25
+ type="url"
26
+ .value=${data.urlInput}
27
+ placeholder="${msg('Enter URL...')}"
28
+ ?disabled=${data.isLoading}
29
+ @nr-input=${handlers.onUrlInputChange}
30
+ @keydown=${handlers.onUrlInputKeydown}
31
+ >
32
+ <nr-label slot="label">${msg('URL')}</nr-label>
33
+ </nr-input>
34
+ </nr-col>
35
+ <nr-col span="4" >
36
+ <nr-button
37
+ type="default"
38
+ .icon=${['paperclip']}
39
+ size="small"
40
+ ?disabled=${data.isLoading}
41
+ @click=${handlers.onAttachFile}
42
+ title="${msg('Load file from URL')}"
43
+ style="margin-left: 0.5rem;"
44
+ >
45
+ </nr-button>
46
+ </nr-col>
47
+ </nr-row>
48
+
49
+ ${data.error ? html `
50
+ <nr-alert
51
+ type="error"
52
+ closable
53
+ style="margin-top: 1rem;"
54
+ >
55
+ ${data.error}
56
+ </nr-alert>
57
+ ` : nothing}
58
+
59
+ ${data.selectedFileName ? html `
60
+ <nr-alert
61
+ type="success"
62
+ style="margin-top: 1rem;"
63
+ >
64
+ ${msg('Selected file')}: ${data.selectedFileName}
65
+ </nr-alert>
66
+ ` : nothing}
67
+
68
+ ${data.isLoading ? html `
69
+ <nr-alert
70
+ type="info"
71
+ style="margin-top: 1rem;"
72
+ >
73
+ ${msg('Loading file from URL...')}
74
+ </nr-alert>
75
+ ` : nothing}
76
+ </div>
77
+
78
+ <div slot="footer">
79
+ <nr-button
80
+ type="default"
81
+ size="small"
82
+ ?disabled=${data.isLoading}
83
+ @click=${handlers.onClose}
84
+ >
85
+ ${msg('Cancel')}
86
+ </nr-button>
87
+ <nr-button
88
+ type="primary"
89
+ size="small"
90
+ ?disabled=${(!data.urlInput && !data.selectedFileName) || data.isLoading}
91
+ ?loading=${data.isLoading}
92
+ @click=${handlers.onConfirm}
93
+ >
94
+ ${msg('Add')}
95
+ </nr-button>
96
+ </div>
97
+ </nr-modal>
98
+ `;
99
+ }
100
+ //# sourceMappingURL=url-modal.template.js.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Format timestamp for display
8
+ * Shows time only (e.g., "5:30 PM") for today, or date + time for older messages
9
+ */
10
+ export declare function formatTimestamp(timestamp: Date | string | undefined): string;
11
+ /** Escape HTML entities for safe insertion into innerHTML */
12
+ export declare function escapeHtml(text: string): string;
13
+ /** Map a language identifier to a human-readable display name */
14
+ export declare function getLangDisplayName(lang: string): string;
15
+ /**
16
+ * Render a subset of Markdown to HTML.
17
+ *
18
+ * Supports: code blocks, inline code, headings (h1-h3), bold, italic,
19
+ * links, unordered lists, and paragraph wrapping. The input is HTML-escaped
20
+ * first so the result is safe for innerHTML.
21
+ */
22
+ export declare function renderMarkdown(text: string): string;
23
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Format timestamp for display
8
+ * Shows time only (e.g., "5:30 PM") for today, or date + time for older messages
9
+ */
10
+ export function formatTimestamp(timestamp) {
11
+ if (!timestamp)
12
+ return '';
13
+ const date = timestamp instanceof Date ? timestamp : new Date(timestamp);
14
+ if (Number.isNaN(date.getTime()))
15
+ return '';
16
+ const now = new Date();
17
+ const isToday = date.toDateString() === now.toDateString();
18
+ const timeOptions = {
19
+ hour: 'numeric',
20
+ minute: '2-digit',
21
+ hour12: true
22
+ };
23
+ if (isToday) {
24
+ return date.toLocaleTimeString(undefined, timeOptions);
25
+ }
26
+ // For older messages, show date + time
27
+ const dateOptions = Object.assign({ month: 'short', day: 'numeric' }, timeOptions);
28
+ return date.toLocaleDateString(undefined, dateOptions);
29
+ }
30
+ /** Escape HTML entities for safe insertion into innerHTML */
31
+ export function escapeHtml(text) {
32
+ return text
33
+ .replaceAll('&', '&amp;')
34
+ .replaceAll('<', '&lt;')
35
+ .replaceAll('>', '&gt;')
36
+ .replaceAll('"', '&quot;');
37
+ }
38
+ /** Language display-name map shared by artifact plugin and panel template */
39
+ const LANG_DISPLAY_NAMES = {
40
+ javascript: 'JavaScript', typescript: 'TypeScript', python: 'Python',
41
+ java: 'Java', go: 'Go', rust: 'Rust', c: 'C', cpp: 'C++',
42
+ csharp: 'C#', ruby: 'Ruby', php: 'PHP', swift: 'Swift',
43
+ kotlin: 'Kotlin', html: 'HTML', css: 'CSS', scss: 'SCSS',
44
+ sql: 'SQL', graphql: 'GraphQL', json: 'JSON', yaml: 'YAML',
45
+ xml: 'XML', toml: 'TOML', markdown: 'Markdown', md: 'Markdown',
46
+ bash: 'Bash', shell: 'Shell', sh: 'Shell', zsh: 'Zsh',
47
+ dockerfile: 'Dockerfile', makefile: 'Makefile', text: 'Text'
48
+ };
49
+ /** Map a language identifier to a human-readable display name */
50
+ export function getLangDisplayName(lang) {
51
+ return LANG_DISPLAY_NAMES[lang] || lang.charAt(0).toUpperCase() + lang.slice(1);
52
+ }
53
+ /**
54
+ * Render a subset of Markdown to HTML.
55
+ *
56
+ * Supports: code blocks, inline code, headings (h1-h3), bold, italic,
57
+ * links, unordered lists, and paragraph wrapping. The input is HTML-escaped
58
+ * first so the result is safe for innerHTML.
59
+ */
60
+ export function renderMarkdown(text) {
61
+ let t = escapeHtml(text);
62
+ // Code blocks ```...```
63
+ t = t.replaceAll(/```([\s\S]*?)```/g, '<pre class="md-code"><code>$1</code></pre>');
64
+ // Inline code `...`
65
+ t = t.replaceAll(/`([^`]+)`/g, '<code class="md-inline-code">$1</code>');
66
+ // Headings (anchored to line start — negated class prevents backtracking)
67
+ t = t.replaceAll(/^###[^\S\n]+(.+)$/gm, '<h3>$1</h3>');
68
+ t = t.replaceAll(/^##[^\S\n]+(.+)$/gm, '<h2>$1</h2>');
69
+ t = t.replaceAll(/^#[^\S\n]+(.+)$/gm, '<h1>$1</h1>');
70
+ // Bold / Italic (negated class prevents backtracking)
71
+ t = t.replaceAll(/\*\*([^*]+)\*\*/g, '<strong>$1</strong>');
72
+ t = t.replaceAll(/\*([^*]+)\*/g, '<em>$1</em>');
73
+ // Links (negated classes prevent backtracking)
74
+ t = t.replaceAll(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>');
75
+ // Unordered lists
76
+ t = t.replaceAll(/(?:^|\n)-\s+(.+)(?=\n|$)/g, (_m, item) => `\n<ul><li>${item}</li></ul>`);
77
+ t = t.replaceAll(/<ul>\s*<li>([\s\S]*?)<\/li>\s*<\/ul>\n<ul>/g, '<ul><li>$1</li>');
78
+ // Paragraphs: wrap text blocks that are not block elements
79
+ t = t.split(/\n\n+/)
80
+ .map(block => /^(<h\d|<pre|<ul|<ol|<blockquote)/.test(block.trim()) ? block : `<p>${block.replaceAll('\n', '<br/>')}</p>`)
81
+ .join('\n');
82
+ return t;
83
+ }
84
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export * from './format.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export * from './format.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { LitElement } from 'lit';
7
+ type Constructor<T = {}> = new (...args: any[]) => T;
8
+ /**
9
+ * Interface for checkbox change event detail
10
+ */
11
+ export interface CheckboxChangeEventDetail {
12
+ checked: boolean;
13
+ value?: string;
14
+ name?: string;
15
+ indeterminate?: boolean;
16
+ }
17
+ /**
18
+ * Interface for checkbox focus/blur event detail
19
+ */
20
+ export interface CheckboxFocusEventDetail {
21
+ originalEvent: FocusEvent;
22
+ }
23
+ /**
24
+ * Interface for checkbox keyboard event detail
25
+ */
26
+ export interface CheckboxKeyboardEventDetail {
27
+ key: string;
28
+ code: string;
29
+ originalEvent: KeyboardEvent;
30
+ }
31
+ /**
32
+ * Interface for checkbox mouse event detail
33
+ */
34
+ export interface CheckboxMouseEventDetail {
35
+ originalEvent: MouseEvent;
36
+ }
37
+ /**
38
+ * Interface for components that support checkbox event handling
39
+ */
40
+ export interface CheckboxEventCapable {
41
+ /**
42
+ * Handle checkbox change events
43
+ * @param event - The change event
44
+ */
45
+ handleChange(event: Event): void;
46
+ /**
47
+ * Handle checkbox focus events
48
+ * @param event - The focus event
49
+ */
50
+ handleFocus(event: FocusEvent): void;
51
+ /**
52
+ * Handle checkbox blur events
53
+ * @param event - The blur event
54
+ */
55
+ handleBlur(event: FocusEvent): void;
56
+ /**
57
+ * Handle checkbox keydown events
58
+ * @param event - The keyboard event
59
+ */
60
+ handleKeydown(event: KeyboardEvent): void;
61
+ /**
62
+ * Handle checkbox mouse enter events
63
+ * @param event - The mouse event
64
+ */
65
+ handleMouseEnter(event: MouseEvent): void;
66
+ /**
67
+ * Handle checkbox mouse leave events
68
+ * @param event - The mouse event
69
+ */
70
+ handleMouseLeave(event: MouseEvent): void;
71
+ }
72
+ /**
73
+ * Mixin that provides event handling capabilities to checkbox components
74
+ *
75
+ * @param superClass - The base class to extend
76
+ * @returns Enhanced class with checkbox event capabilities
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * export class MyCheckbox extends CheckboxEventMixin(LitElement) {
81
+ * // Event handling is automatically provided
82
+ * }
83
+ * ```
84
+ */
85
+ export declare const CheckboxEventMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<CheckboxEventCapable> & T;
86
+ export {};
87
+ //# sourceMappingURL=checkbox-event-mixin.d.ts.map
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Mixin that provides event handling capabilities to checkbox components
8
+ *
9
+ * @param superClass - The base class to extend
10
+ * @returns Enhanced class with checkbox event capabilities
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * export class MyCheckbox extends CheckboxEventMixin(LitElement) {
15
+ * // Event handling is automatically provided
16
+ * }
17
+ * ```
18
+ */
19
+ export const CheckboxEventMixin = (superClass) => {
20
+ class CheckboxEventMixinClass extends superClass {
21
+ handleChange(event) {
22
+ var _a, _b;
23
+ const target = event.target;
24
+ const checked = target.checked;
25
+ // Get component properties - these should be defined in the component
26
+ const name = this.name;
27
+ const value = this.value;
28
+ const indeterminate = this.indeterminate;
29
+ // Clear indeterminate state when user interacts
30
+ if (indeterminate) {
31
+ this.indeterminate = false;
32
+ }
33
+ // Update checked state
34
+ this.checked = checked;
35
+ // Dispatch standardized change event
36
+ (_b = (_a = this).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, 'nr-change', {
37
+ checked,
38
+ value,
39
+ name,
40
+ indeterminate: false
41
+ });
42
+ }
43
+ handleFocus(event) {
44
+ var _a, _b;
45
+ // Dispatch focus event for external listeners
46
+ (_b = (_a = this).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, 'nr-focus', {
47
+ originalEvent: event
48
+ });
49
+ }
50
+ handleBlur(event) {
51
+ var _a, _b;
52
+ // Dispatch blur event for external listeners
53
+ (_b = (_a = this).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, 'nr-blur', {
54
+ originalEvent: event
55
+ });
56
+ }
57
+ handleKeydown(event) {
58
+ var _a, _b, _c, _d, _e;
59
+ // Handle keyboard navigation and activation
60
+ const isActivationKey = (_b = (_a = this).isActivationKey) === null || _b === void 0 ? void 0 : _b.call(_a, event);
61
+ if (isActivationKey) {
62
+ // Space and Enter keys activate the checkbox
63
+ event.preventDefault();
64
+ const input = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('input[type="checkbox"]');
65
+ const disabled = this.disabled;
66
+ if (input && !disabled) {
67
+ input.click();
68
+ }
69
+ }
70
+ // Dispatch keydown event for external listeners
71
+ (_e = (_d = this).dispatchCustomEvent) === null || _e === void 0 ? void 0 : _e.call(_d, 'nr-keydown', {
72
+ key: event.key,
73
+ code: event.code,
74
+ originalEvent: event
75
+ });
76
+ }
77
+ handleMouseEnter(event) {
78
+ var _a, _b;
79
+ // Dispatch mouse enter event for external listeners
80
+ (_b = (_a = this).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, 'nr-mouseenter', {
81
+ originalEvent: event
82
+ });
83
+ }
84
+ handleMouseLeave(event) {
85
+ var _a, _b;
86
+ // Dispatch mouse leave event for external listeners
87
+ (_b = (_a = this).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, 'nr-mouseleave', {
88
+ originalEvent: event
89
+ });
90
+ }
91
+ }
92
+ return CheckboxEventMixinClass;
93
+ };
94
+ //# sourceMappingURL=checkbox-event-mixin.js.map
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { LitElement } from 'lit';
7
+ type Constructor<T = {}> = new (...args: any[]) => T;
8
+ /**
9
+ * Options for checkbox focus behavior
10
+ */
11
+ export interface CheckboxFocusOptions {
12
+ preventScroll?: boolean;
13
+ }
14
+ /**
15
+ * Interface for components that support checkbox focus operations
16
+ */
17
+ export interface CheckboxFocusCapable {
18
+ /**
19
+ * Focus the checkbox input element
20
+ * @param options - Focus options
21
+ */
22
+ focus(options?: CheckboxFocusOptions): void;
23
+ /**
24
+ * Blur the checkbox input element
25
+ */
26
+ blur(): void;
27
+ /**
28
+ * Check if the checkbox is currently focused
29
+ * @returns True if focused
30
+ */
31
+ isFocused(): boolean;
32
+ /**
33
+ * Get the native checkbox input element
34
+ * @returns The checkbox input element or null
35
+ */
36
+ get nativeElement(): HTMLInputElement | null;
37
+ }
38
+ /**
39
+ * Mixin that provides focus management capabilities to checkbox components
40
+ *
41
+ * @param superClass - The base class to extend
42
+ * @returns Enhanced class with checkbox focus capabilities
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * export class MyCheckbox extends CheckboxFocusMixin(LitElement) {
47
+ * handleClick() {
48
+ * this.focus();
49
+ * }
50
+ * }
51
+ * ```
52
+ */
53
+ export declare const CheckboxFocusMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<CheckboxFocusCapable> & T;
54
+ export {};
55
+ //# sourceMappingURL=checkbox-focus-mixin.d.ts.map