@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,236 @@
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 { FormValidationState, FORM_EVENTS } from '../form.types.js';
16
+ /**
17
+ * Controller that coordinates validation across all form fields
18
+ * This does NOT perform validation - it coordinates existing component validations
19
+ */
20
+ export class FormValidationController {
21
+ constructor(host) {
22
+ this.host = host;
23
+ this.fields = new Map();
24
+ this.validationState = FormValidationState.Pristine;
25
+ this.validationPromise = null;
26
+ }
27
+ /**
28
+ * Register a form field for validation coordination
29
+ */
30
+ registerField(element) {
31
+ var _a;
32
+ const name = element.name || element.getAttribute('name') || `field-${Date.now()}`;
33
+ const field = {
34
+ element,
35
+ name,
36
+ value: element.value,
37
+ isValid: element.getValidationStatus().isValid,
38
+ validationMessage: element.validationMessage || '',
39
+ required: (_a = element.required) !== null && _a !== void 0 ? _a : false,
40
+ touched: false,
41
+ dirty: false
42
+ };
43
+ this.fields.set(name, field);
44
+ // Listen for field changes
45
+ this.addFieldListeners(element, name);
46
+ }
47
+ /**
48
+ * Unregister a form field
49
+ */
50
+ unregisterField(name) {
51
+ const field = this.fields.get(name);
52
+ if (field) {
53
+ this.removeFieldListeners(field.element);
54
+ this.fields.delete(name);
55
+ }
56
+ }
57
+ /**
58
+ * Add event listeners to a form field
59
+ */
60
+ addFieldListeners(element, fieldName) {
61
+ element.addEventListener('nr-validation', (event) => this.handleFieldValidation(fieldName, event));
62
+ }
63
+ /**
64
+ * Remove event listeners from a form field
65
+ */
66
+ removeFieldListeners(_element) {
67
+ // Remove all event listeners (implementation depends on your needs)
68
+ // You might want to store listener references for proper cleanup
69
+ }
70
+ /**
71
+ * Handle field validation event
72
+ */
73
+ handleFieldValidation(fieldName, event) {
74
+ const field = this.fields.get(fieldName);
75
+ if (!field)
76
+ return;
77
+ if (event && event.detail) {
78
+ // Use the detailed validation information from the nr-validation event
79
+ field.isValid = event.detail.isValid || false;
80
+ field.validationMessage = event.detail.validationMessage || '';
81
+ }
82
+ else {
83
+ // Fallback to ValidatableComponent validation
84
+ const status = field.element.getValidationStatus();
85
+ field.isValid = status.isValid;
86
+ field.validationMessage = field.element.validationMessage || '';
87
+ }
88
+ // Update form validation state based on all fields
89
+ this.updateFormValidationState();
90
+ }
91
+ /**
92
+ * Update form validation state based on current field states
93
+ */
94
+ updateFormValidationState() {
95
+ const invalidFields = this.getInvalidFields();
96
+ const isFormValid = invalidFields.length === 0;
97
+ this.validationState = isFormValid ? FormValidationState.Valid : FormValidationState.Invalid;
98
+ const result = {
99
+ isValid: isFormValid,
100
+ invalidFields,
101
+ validationErrors: this.buildValidationErrors(),
102
+ summary: isFormValid ? 'Form is valid' : `${invalidFields.length} field(s) have errors`
103
+ };
104
+ this.dispatchValidationEvent(result);
105
+ }
106
+ /**
107
+ * Build validation errors object from current field states
108
+ */
109
+ buildValidationErrors() {
110
+ const errors = {};
111
+ for (const [name, field] of this.fields) {
112
+ if (!field.isValid && field.validationMessage) {
113
+ errors[name] = field.validationMessage;
114
+ }
115
+ }
116
+ return errors;
117
+ }
118
+ /**
119
+ * Validate all form fields (coordinates existing validations)
120
+ */
121
+ validateForm() {
122
+ // Return existing promise if validation is in progress
123
+ if (this.validationPromise !== null) {
124
+ return this.validationPromise;
125
+ }
126
+ this.validationState = FormValidationState.Pending;
127
+ this.validationPromise = this.performValidation();
128
+ return this.validationPromise;
129
+ }
130
+ /**
131
+ * Perform the actual validation coordination
132
+ */
133
+ performValidation() {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ const invalidFields = [];
136
+ const validationErrors = {};
137
+ // Check each field's validation state
138
+ for (const [name, field] of this.fields) {
139
+ // Trigger validation on the field component itself
140
+ const status = field.element.getValidationStatus();
141
+ const isValid = status.isValid;
142
+ field.isValid = isValid;
143
+ field.validationMessage = field.element.validationMessage || '';
144
+ if (!isValid) {
145
+ invalidFields.push(field);
146
+ validationErrors[name] = field.validationMessage;
147
+ }
148
+ }
149
+ const isFormValid = invalidFields.length === 0;
150
+ this.validationState = isFormValid ? FormValidationState.Valid : FormValidationState.Invalid;
151
+ const result = {
152
+ isValid: isFormValid,
153
+ invalidFields,
154
+ validationErrors,
155
+ summary: isFormValid ? 'Form is valid' : `${invalidFields.length} field(s) have errors`
156
+ };
157
+ this.dispatchValidationEvent(result);
158
+ this.validationPromise = null;
159
+ return result;
160
+ });
161
+ }
162
+ /**
163
+ * Get current validation state
164
+ */
165
+ getValidationState() {
166
+ return this.validationState;
167
+ }
168
+ /**
169
+ * Get all registered fields
170
+ */
171
+ getFields() {
172
+ return Array.from(this.fields.values());
173
+ }
174
+ /**
175
+ * Get invalid fields
176
+ */
177
+ getInvalidFields() {
178
+ return Array.from(this.fields.values()).filter(field => !field.isValid);
179
+ }
180
+ /**
181
+ * Check if form is valid
182
+ */
183
+ isValid() {
184
+ return this.validationState === FormValidationState.Valid &&
185
+ Array.from(this.fields.values()).every(field => field.isValid);
186
+ }
187
+ /**
188
+ * Focus first invalid field
189
+ */
190
+ focusFirstInvalidField() {
191
+ const invalidField = Array.from(this.fields.values()).find(field => !field.isValid);
192
+ if (invalidField && typeof invalidField.element.focus === 'function') {
193
+ invalidField.element.focus();
194
+ return true;
195
+ }
196
+ return false;
197
+ }
198
+ /**
199
+ * Reset all fields
200
+ */
201
+ reset() {
202
+ for (const field of this.fields.values()) {
203
+ // Reset using ValidatableComponent interface if available
204
+ if ('clearValidation' in field.element && typeof field.element.clearValidation === 'function') {
205
+ field.element.clearValidation();
206
+ }
207
+ // Reset value if component supports it
208
+ if ('value' in field.element) {
209
+ field.element.value = '';
210
+ }
211
+ field.touched = false;
212
+ field.dirty = false;
213
+ field.isValid = true;
214
+ field.validationMessage = '';
215
+ }
216
+ this.validationState = FormValidationState.Pristine;
217
+ this.dispatchResetEvent();
218
+ }
219
+ /**
220
+ * Dispatch validation event
221
+ */
222
+ dispatchValidationEvent(result) {
223
+ var _a, _b;
224
+ (_b = (_a = this.host).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, FORM_EVENTS.VALIDATION_CHANGED, {
225
+ validationResult: result
226
+ });
227
+ }
228
+ /**
229
+ * Dispatch reset event
230
+ */
231
+ dispatchResetEvent() {
232
+ var _a, _b;
233
+ (_b = (_a = this.host).dispatchCustomEvent) === null || _b === void 0 ? void 0 : _b.call(_a, FORM_EVENTS.RESET, {});
234
+ }
235
+ }
236
+ //# sourceMappingURL=validation.controller.js.map
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Standard interface that all form-compatible components should implement
8
+ * This ensures consistent validation API across all form field components
9
+ */
10
+ export interface FormFieldValidation {
11
+ /** Component name for form submission */
12
+ name?: string;
13
+ /** Current field value */
14
+ value: any;
15
+ /** Required field indicator */
16
+ required?: boolean;
17
+ /** Disabled state */
18
+ disabled?: boolean;
19
+ /** Readonly state */
20
+ readonly?: boolean;
21
+ /** Current validation message */
22
+ validationMessage?: string;
23
+ /**
24
+ * Validate the field and return true if valid
25
+ */
26
+ validate?(): boolean;
27
+ /**
28
+ * Check if the field satisfies HTML5 constraints
29
+ */
30
+ checkValidity?(): boolean;
31
+ /**
32
+ * Report validation state (shows validation UI)
33
+ */
34
+ reportValidity?(): boolean;
35
+ /**
36
+ * Set custom validation message
37
+ */
38
+ setCustomValidity?(message: string): void;
39
+ /**
40
+ * Reset field to initial state
41
+ */
42
+ reset?(): void;
43
+ /**
44
+ * Focus the field
45
+ */
46
+ focus?(): void;
47
+ }
48
+ /**
49
+ * Enhanced validation interface for components with advanced validation features
50
+ */
51
+ export interface AdvancedFormFieldValidation extends FormFieldValidation {
52
+ /** Validation state details */
53
+ isValid?: boolean;
54
+ isTouched?: boolean;
55
+ isDirty?: boolean;
56
+ /** Validation rules */
57
+ validationRules?: ValidationRule[];
58
+ /** Custom validators */
59
+ customValidators?: CustomValidator[];
60
+ /**
61
+ * Get detailed validation result
62
+ */
63
+ getValidationResult?(): {
64
+ isValid: boolean;
65
+ errors: string[];
66
+ warnings: string[];
67
+ };
68
+ /**
69
+ * Add custom validation rule
70
+ */
71
+ addValidationRule?(rule: ValidationRule): void;
72
+ /**
73
+ * Remove validation rule
74
+ */
75
+ removeValidationRule?(ruleId: string): void;
76
+ }
77
+ /**
78
+ * Validation rule definition
79
+ */
80
+ export interface ValidationRule {
81
+ id: string;
82
+ message: string;
83
+ validator: (value: any) => boolean;
84
+ severity?: 'error' | 'warning';
85
+ }
86
+ /**
87
+ * Custom validator function
88
+ */
89
+ export interface CustomValidator {
90
+ id: string;
91
+ validate: (value: any, element: any) => {
92
+ isValid: boolean;
93
+ message: string;
94
+ };
95
+ }
96
+ /**
97
+ * Validation event details
98
+ */
99
+ export interface ValidationEventDetail {
100
+ isValid: boolean;
101
+ value: any;
102
+ message: string;
103
+ errors: string[];
104
+ warnings?: string[];
105
+ field?: string;
106
+ timestamp: number;
107
+ }
108
+ /**
109
+ * Form field registration info
110
+ */
111
+ export interface FormFieldRegistration {
112
+ element: HTMLElement & FormFieldValidation;
113
+ name: string;
114
+ type: string;
115
+ initialValue: any;
116
+ registrationTime: number;
117
+ }
118
+ //# sourceMappingURL=validation.interface.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=validation.interface.js.map
@@ -0,0 +1,57 @@
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 components that support clickable icon functionality
10
+ */
11
+ export interface ClickableCapable {
12
+ /**
13
+ * Whether the icon is clickable/interactive
14
+ */
15
+ clickable: boolean;
16
+ /**
17
+ * Whether the icon is disabled
18
+ */
19
+ disabled: boolean;
20
+ /**
21
+ * Handle click events on the icon
22
+ */
23
+ handleIconClick(event: MouseEvent): void;
24
+ /**
25
+ * Handle keyboard events for accessibility
26
+ */
27
+ handleIconKeydown(event: KeyboardEvent): void;
28
+ /**
29
+ * Get appropriate role for accessibility
30
+ */
31
+ getIconRole(): string;
32
+ /**
33
+ * Get appropriate tabindex for accessibility
34
+ */
35
+ getIconTabIndex(): string;
36
+ /**
37
+ * Get appropriate aria-disabled attribute
38
+ */
39
+ getAriaDisabled(): string | undefined;
40
+ }
41
+ /**
42
+ * Mixin that provides clickable icon functionality with proper event handling
43
+ * and accessibility support.
44
+ *
45
+ * @param superClass - The base class to extend
46
+ * @returns Enhanced class with clickable capabilities
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * export class IconComponent extends ClickableMixin(NuralyUIBaseMixin(LitElement)) {
51
+ * // Component implementation
52
+ * }
53
+ * ```
54
+ */
55
+ export declare const ClickableMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<ClickableCapable> & T;
56
+ export {};
57
+ //# sourceMappingURL=clickable-mixin.d.ts.map
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11
+ };
12
+ import { property } from 'lit/decorators.js';
13
+ /**
14
+ * Mixin that provides clickable icon functionality with proper event handling
15
+ * and accessibility support.
16
+ *
17
+ * @param superClass - The base class to extend
18
+ * @returns Enhanced class with clickable capabilities
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * export class IconComponent extends ClickableMixin(NuralyUIBaseMixin(LitElement)) {
23
+ * // Component implementation
24
+ * }
25
+ * ```
26
+ */
27
+ export const ClickableMixin = (superClass) => {
28
+ class ClickableMixinClass extends superClass {
29
+ constructor() {
30
+ super(...arguments);
31
+ /** Whether the icon is clickable/interactive */
32
+ this.clickable = false;
33
+ /** Whether the icon is disabled */
34
+ this.disabled = false;
35
+ }
36
+ /**
37
+ * Handle click events on the icon
38
+ */
39
+ handleIconClick(event) {
40
+ if (this.disabled || !this.clickable) {
41
+ event.preventDefault();
42
+ event.stopPropagation();
43
+ return;
44
+ }
45
+ // Dispatch custom click event with icon details
46
+ this.dispatchCustomEvent('icon-click', {
47
+ iconName: this.name,
48
+ iconType: this.type,
49
+ originalEvent: event,
50
+ timestamp: Date.now()
51
+ });
52
+ }
53
+ /**
54
+ * Handle keyboard events for accessibility
55
+ */
56
+ handleIconKeydown(event) {
57
+ if (this.disabled || !this.clickable) {
58
+ return;
59
+ }
60
+ // Check if it's an activation key (Enter or Space)
61
+ // Use isActivationKey from EventHandlerMixin if available, otherwise fallback
62
+ const isActivationKey = typeof this.isActivationKey === 'function'
63
+ ? this.isActivationKey(event)
64
+ : (event.key === 'Enter' || event.key === ' ');
65
+ if (isActivationKey) {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ // Simulate click event
69
+ this.handleIconClick(event);
70
+ // Dispatch keyboard activation event with improved naming consistency
71
+ if (typeof this.dispatchCustomEvent === 'function') {
72
+ this.dispatchCustomEvent('icon-keyboard-activation', {
73
+ iconName: this.name,
74
+ iconType: this.type,
75
+ key: event.key,
76
+ originalEvent: event,
77
+ timestamp: Date.now()
78
+ });
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * Get appropriate role for accessibility
84
+ */
85
+ getIconRole() {
86
+ return this.clickable ? 'button' : 'img';
87
+ }
88
+ /**
89
+ * Get appropriate tabindex for accessibility
90
+ */
91
+ getIconTabIndex() {
92
+ if (!this.clickable)
93
+ return '-1';
94
+ return this.disabled ? '-1' : '0';
95
+ }
96
+ /**
97
+ * Get appropriate aria-disabled attribute
98
+ */
99
+ getAriaDisabled() {
100
+ return this.clickable && this.disabled ? 'true' : undefined;
101
+ }
102
+ }
103
+ __decorate([
104
+ property({ type: Boolean, reflect: true })
105
+ ], ClickableMixinClass.prototype, "clickable", void 0);
106
+ __decorate([
107
+ property({ type: Boolean, reflect: true })
108
+ ], ClickableMixinClass.prototype, "disabled", void 0);
109
+ return ClickableMixinClass;
110
+ };
111
+ //# sourceMappingURL=clickable-mixin.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export * from './clickable-mixin.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 './clickable-mixin.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
7
+ import type { IconPickerIcon } from '../icon-picker.types.js';
8
+ interface EventHost extends ReactiveControllerHost {
9
+ dispatchEvent(event: Event): boolean;
10
+ }
11
+ export declare class IconPickerEventController implements ReactiveController {
12
+ host: EventHost;
13
+ constructor(host: EventHost);
14
+ hostConnected(): void;
15
+ hostDisconnected(): void;
16
+ /**
17
+ * Dispatch icon change event
18
+ */
19
+ dispatchChangeEvent(value: string, icon: IconPickerIcon | null): void;
20
+ /**
21
+ * Dispatch search event
22
+ */
23
+ dispatchSearchEvent(query: string): void;
24
+ /**
25
+ * Dispatch clear event
26
+ */
27
+ dispatchClearEvent(): void;
28
+ /**
29
+ * Dispatch open event
30
+ */
31
+ dispatchOpenEvent(): void;
32
+ /**
33
+ * Dispatch close event
34
+ */
35
+ dispatchCloseEvent(): void;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=event.controller.d.ts.map
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export class IconPickerEventController {
7
+ constructor(host) {
8
+ (this.host = host).addController(this);
9
+ }
10
+ hostConnected() {
11
+ // Initialization
12
+ }
13
+ hostDisconnected() {
14
+ // Cleanup
15
+ }
16
+ /**
17
+ * Dispatch icon change event
18
+ */
19
+ dispatchChangeEvent(value, icon) {
20
+ const detail = { value, icon };
21
+ this.host.dispatchEvent(new CustomEvent('nr-icon-picker-change', {
22
+ detail,
23
+ bubbles: true,
24
+ composed: true
25
+ }));
26
+ }
27
+ /**
28
+ * Dispatch search event
29
+ */
30
+ dispatchSearchEvent(query) {
31
+ this.host.dispatchEvent(new CustomEvent('nr-icon-picker-search', {
32
+ detail: { query },
33
+ bubbles: true,
34
+ composed: true
35
+ }));
36
+ }
37
+ /**
38
+ * Dispatch clear event
39
+ */
40
+ dispatchClearEvent() {
41
+ this.host.dispatchEvent(new CustomEvent('nr-icon-picker-clear', {
42
+ detail: {},
43
+ bubbles: true,
44
+ composed: true
45
+ }));
46
+ }
47
+ /**
48
+ * Dispatch open event
49
+ */
50
+ dispatchOpenEvent() {
51
+ this.host.dispatchEvent(new CustomEvent('nr-icon-picker-open', {
52
+ detail: {},
53
+ bubbles: true,
54
+ composed: true
55
+ }));
56
+ }
57
+ /**
58
+ * Dispatch close event
59
+ */
60
+ dispatchCloseEvent() {
61
+ this.host.dispatchEvent(new CustomEvent('nr-icon-picker-close', {
62
+ detail: {},
63
+ bubbles: true,
64
+ composed: true
65
+ }));
66
+ }
67
+ }
68
+ //# sourceMappingURL=event.controller.js.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { IconPickerSelectionController } from './selection.controller.js';
7
+ export { IconPickerSearchController } from './search.controller.js';
8
+ export { IconPickerEventController } from './event.controller.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { IconPickerSelectionController } from './selection.controller.js';
7
+ export { IconPickerSearchController } from './search.controller.js';
8
+ export { IconPickerEventController } from './event.controller.js';
9
+ //# sourceMappingURL=index.js.map