@nuraly/lumenui 0.2.1 → 0.3.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 (549) hide show
  1. package/dist/cdn.js +1 -0
  2. package/dist/nuralyui.bundle.js +3434 -2085
  3. package/dist/nuralyui.bundle.js.gz +0 -0
  4. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  5. package/dist/src/components/button/controllers/base.controller.js +13 -0
  6. package/dist/src/components/button/controllers/index.d.ts +10 -0
  7. package/dist/src/components/button/controllers/index.js +10 -0
  8. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  9. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  10. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  11. package/dist/src/components/button/controllers/link.controller.js +75 -0
  12. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  13. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  14. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  15. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  16. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  17. package/dist/src/components/button/interfaces/index.js +2 -0
  18. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  19. package/dist/src/components/button/test/nr-button_test.js +91 -0
  20. package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
  21. package/dist/src/components/canvas/base-canvas.component.js +6 -0
  22. package/dist/src/components/canvas/bundle.js +1083 -491
  23. package/dist/src/components/canvas/bundle.js.gz +0 -0
  24. package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
  25. package/dist/src/components/canvas/canvas.constants.js +1 -1
  26. package/dist/src/components/canvas/chatbot-panel.style.js +50 -59
  27. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  28. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  29. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  30. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  31. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  32. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  33. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  34. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  35. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  36. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  37. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  38. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  39. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  40. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  41. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  42. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  43. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  44. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  45. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  46. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  47. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  48. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  49. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  50. package/dist/src/components/canvas/controllers/index.js +32 -0
  51. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  52. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  53. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  54. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  55. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  56. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  57. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  58. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  59. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  60. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  61. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  62. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  63. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  64. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  65. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  66. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  67. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  68. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  69. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  70. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  71. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  72. package/dist/src/components/canvas/data-node/index.js +12 -0
  73. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  74. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  75. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  76. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  77. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  78. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  79. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  80. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  81. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  82. package/dist/src/components/canvas/interfaces/index.js +7 -0
  83. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  84. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  85. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  86. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  87. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  88. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  89. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  90. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  91. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  92. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  93. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  94. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  95. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  96. package/dist/src/components/canvas/templates/index.js +30 -0
  97. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  98. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  99. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  100. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  101. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  102. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  103. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  104. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  105. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  106. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  107. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  108. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  109. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  110. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  111. package/dist/src/components/canvas/workflow-canvas.component.d.ts +7 -0
  112. package/dist/src/components/canvas/workflow-canvas.component.js +52 -2
  113. package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
  114. package/dist/src/components/canvas/workflow-canvas.types.d.ts +8 -1
  115. package/dist/src/components/canvas/workflow-canvas.types.js +157 -0
  116. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  117. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  118. package/dist/src/components/chat-panel/bundle.js +216 -0
  119. package/dist/src/components/chat-panel/bundle.js.gz +0 -0
  120. package/dist/src/components/chat-panel/chat-panel.component.d.ts +85 -0
  121. package/dist/src/components/chat-panel/chat-panel.component.js +510 -0
  122. package/dist/src/components/chat-panel/chat-panel.style.d.ts +2 -0
  123. package/dist/src/components/chat-panel/chat-panel.style.js +127 -0
  124. package/dist/src/components/chat-panel/chat-panel.types.d.ts +54 -0
  125. package/dist/src/components/chat-panel/chat-panel.types.js +2 -0
  126. package/dist/src/components/chat-panel/index.d.ts +3 -0
  127. package/dist/src/components/chat-panel/index.js +2 -0
  128. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  129. package/dist/src/components/chatbot/audio-compress.js +84 -0
  130. package/dist/src/components/chatbot/bundle.js +388 -144
  131. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  132. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  133. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  134. package/dist/src/components/chatbot/chatbot.component.d.ts +12 -0
  135. package/dist/src/components/chatbot/chatbot.component.js +41 -2
  136. package/dist/src/components/chatbot/chatbot.style.js +141 -0
  137. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  138. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  139. package/dist/src/components/chatbot/controllers/index.js +8 -0
  140. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  141. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  142. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  143. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  144. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  145. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  146. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  147. package/dist/src/components/chatbot/core/index.js +15 -0
  148. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  149. package/dist/src/components/chatbot/core/types.js +16 -0
  150. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  151. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  152. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  153. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  154. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  155. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  156. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  157. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  158. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  159. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  160. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  161. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  162. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  163. package/dist/src/components/chatbot/plugins/index.js +17 -0
  164. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  165. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  166. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  167. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  168. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  169. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  170. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  171. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  172. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  173. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  174. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  175. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  176. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  177. package/dist/src/components/chatbot/providers/index.js +13 -0
  178. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  179. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  180. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  181. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  182. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  183. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  184. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  185. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  186. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  187. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  188. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  189. package/dist/src/components/chatbot/storage/index.js +8 -0
  190. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  191. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  192. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  193. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  194. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  195. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  196. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  197. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  198. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  199. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  200. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  201. package/dist/src/components/chatbot/templates/index.js +15 -0
  202. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  203. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  204. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  205. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  206. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  207. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  208. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  209. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  210. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  211. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  212. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  213. package/dist/src/components/chatbot/utils/format.js +84 -0
  214. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  215. package/dist/src/components/chatbot/utils/index.js +7 -0
  216. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  217. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  218. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  219. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  220. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  221. package/dist/src/components/checkbox/mixins/index.js +8 -0
  222. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  223. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  224. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  225. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  226. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  227. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  228. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  229. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  230. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  231. package/dist/src/components/collapse/controllers/index.js +11 -0
  232. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  233. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  234. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  235. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  236. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  237. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  238. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  239. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  240. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  241. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  242. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  243. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  244. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  245. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  246. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  247. package/dist/src/components/datepicker/controllers/index.js +11 -0
  248. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  249. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  250. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  251. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  252. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  253. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  254. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  255. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  256. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  257. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  258. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  259. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  260. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  261. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  262. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  263. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  264. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  265. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  266. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  267. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  268. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  269. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  270. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  271. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  272. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  273. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  274. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  275. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  276. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  277. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  278. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  279. package/dist/src/components/datepicker/utils/index.js +11 -0
  280. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  281. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  282. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  283. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  284. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  285. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  286. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  287. package/dist/src/components/document/demo/document-demo.js +40 -0
  288. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  289. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  290. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  291. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  292. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  293. package/dist/src/components/dropdown/controllers/index.js +3 -0
  294. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  295. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  296. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  297. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  298. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  299. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  300. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  301. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  302. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  303. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  304. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  305. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  306. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  307. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  308. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  309. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  310. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  311. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  312. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  313. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  314. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  315. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  316. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  317. package/dist/src/components/icon/mixins/index.js +7 -0
  318. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  319. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  320. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  321. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  322. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  323. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  324. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  325. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  326. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  327. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  328. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  329. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  330. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  331. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  332. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  333. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  334. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  335. package/dist/src/components/iconpicker/utils/index.js +8 -0
  336. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  337. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  338. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  339. package/dist/src/components/input/controllers/base.controller.js +13 -0
  340. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  341. package/dist/src/components/input/controllers/event.controller.js +355 -0
  342. package/dist/src/components/input/controllers/index.d.ts +14 -0
  343. package/dist/src/components/input/controllers/index.js +10 -0
  344. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  345. package/dist/src/components/input/controllers/state.controller.js +245 -0
  346. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  347. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  348. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  349. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  350. package/dist/src/components/input/mixins/index.d.ts +12 -0
  351. package/dist/src/components/input/mixins/index.js +9 -0
  352. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  353. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  354. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  355. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  356. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  357. package/dist/src/components/input/test/nr-input_test.js +159 -0
  358. package/dist/src/components/input/utils/index.d.ts +8 -0
  359. package/dist/src/components/input/utils/index.js +8 -0
  360. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  361. package/dist/src/components/input/utils/input-renderers.js +178 -0
  362. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  363. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  364. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  365. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  366. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  367. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  368. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  369. package/dist/src/components/menu/controllers/index.js +10 -0
  370. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  371. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  372. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  373. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  374. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  375. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  376. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  377. package/dist/src/components/menu/interfaces/index.js +7 -0
  378. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  379. package/dist/src/components/modal/controllers/index.js +8 -0
  380. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  381. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  382. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  383. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  384. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  385. package/dist/src/components/panel/controllers/index.js +8 -0
  386. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  387. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  388. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  389. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  390. package/dist/src/components/presence/bundle.js +555 -0
  391. package/dist/src/components/presence/bundle.js.gz +0 -0
  392. package/dist/src/components/presence/index.d.ts +10 -0
  393. package/dist/src/components/presence/index.js +10 -0
  394. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  395. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  396. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  397. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  398. package/dist/src/components/presence/presence-chat.component.d.ts +55 -0
  399. package/dist/src/components/presence/presence-chat.component.js +238 -0
  400. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  401. package/dist/src/components/presence/presence-chat.style.js +248 -0
  402. package/dist/src/components/presence/presence.component.d.ts +95 -0
  403. package/dist/src/components/presence/presence.component.js +510 -0
  404. package/dist/src/components/presence/presence.style.d.ts +7 -0
  405. package/dist/src/components/presence/presence.style.js +12 -0
  406. package/dist/src/components/presence/presence.types.d.ts +33 -0
  407. package/dist/src/components/presence/presence.types.js +7 -0
  408. package/dist/src/components/presence/react.d.ts +24 -0
  409. package/dist/src/components/presence/react.js +41 -0
  410. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  411. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  412. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  413. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  414. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  415. package/dist/src/components/radio-group/controllers/index.js +11 -0
  416. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  417. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  418. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  419. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  420. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  421. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  422. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  423. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  424. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  425. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  426. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  427. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  428. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  429. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  430. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  431. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  432. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  433. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  434. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  435. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  436. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  437. package/dist/src/components/select/controllers/base.controller.js +8 -0
  438. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  439. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  440. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  441. package/dist/src/components/select/controllers/event.controller.js +113 -0
  442. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  443. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  444. package/dist/src/components/select/controllers/index.d.ts +9 -0
  445. package/dist/src/components/select/controllers/index.js +9 -0
  446. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  447. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  448. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  449. package/dist/src/components/select/controllers/search.controller.js +167 -0
  450. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  451. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  452. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  453. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  454. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  455. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  456. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  457. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  458. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  459. package/dist/src/components/select/interfaces/index.js +3 -0
  460. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  461. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  462. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  463. package/dist/src/components/slider-input/utils/index.js +2 -0
  464. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  465. package/dist/src/components/table/controllers/base.controller.js +13 -0
  466. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  467. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  468. package/dist/src/components/table/controllers/index.d.ts +11 -0
  469. package/dist/src/components/table/controllers/index.js +11 -0
  470. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  471. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  472. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  473. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  474. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  475. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  476. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  477. package/dist/src/components/table/interfaces/index.js +7 -0
  478. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  479. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  480. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  481. package/dist/src/components/table/templates/actions.template.js +15 -0
  482. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  483. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  484. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  485. package/dist/src/components/table/templates/content.template.js +208 -0
  486. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  487. package/dist/src/components/table/templates/empty.template.js +47 -0
  488. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  489. package/dist/src/components/table/templates/filter.template.js +28 -0
  490. package/dist/src/components/table/templates/index.d.ts +8 -0
  491. package/dist/src/components/table/templates/index.js +8 -0
  492. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  493. package/dist/src/components/table/templates/loading.template.js +51 -0
  494. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  495. package/dist/src/components/table/templates/pagination.template.js +52 -0
  496. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  497. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  498. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  499. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  500. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  501. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  502. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  503. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  504. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  505. package/dist/src/components/tabs/controllers/index.js +18 -0
  506. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  507. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  508. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  509. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  510. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  511. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  512. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  513. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  514. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  515. package/dist/src/components/textarea/controllers/index.js +9 -0
  516. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  517. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  518. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  519. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  520. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  521. package/dist/src/components/timepicker/controllers/index.js +9 -0
  522. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  523. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  524. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  525. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  526. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  527. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  528. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  529. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  530. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  531. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  532. package/dist/src/components/toast/bundle.js +11 -9
  533. package/dist/src/components/toast/bundle.js.gz +0 -0
  534. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  535. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  536. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  537. package/dist/src/components/toast/controllers/index.js +7 -0
  538. package/dist/src/components/toast/toast.component.d.ts +8 -0
  539. package/dist/src/components/toast/toast.component.js +17 -7
  540. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  541. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  542. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  543. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  544. package/dist/src/components/video/bundle.js +13 -12
  545. package/dist/src/components/video/bundle.js.gz +0 -0
  546. package/dist/src/components/video/video.component.d.ts +15 -1
  547. package/dist/src/components/video/video.component.js +131 -3
  548. package/package.json +31 -10
  549. package/packages/common/dist/VERSIONS.md +1 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { RadioBaseController } from './base-controller.interface.js';
7
+ /**
8
+ * Interface for controllers that handle visual effects like ripples
9
+ */
10
+ export interface RippleController extends RadioBaseController {
11
+ /**
12
+ * Add a ripple effect at the event location
13
+ * @param event - The event that triggered the ripple (click, touch, etc.)
14
+ */
15
+ addRippleEffect(event: Event): void;
16
+ /**
17
+ * Add a ripple effect at a specific element
18
+ * @param element - The element to add ripple effect to
19
+ */
20
+ addRippleEffectToElement(element: HTMLElement): void;
21
+ /**
22
+ * Clear all active ripple effects
23
+ */
24
+ clearRipples(): void;
25
+ /**
26
+ * Set whether ripple effects are enabled
27
+ * @param enabled - True to enable ripple effects
28
+ */
29
+ setRippleEnabled(enabled: boolean): void;
30
+ }
31
+ //# sourceMappingURL=ripple-controller.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=ripple-controller.interface.js.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { RadioBaseController } from './base-controller.interface.js';
7
+ import { RadioButtonOption } from '../radio-group.types.js';
8
+ /**
9
+ * Interface for controllers that handle radio button selection logic
10
+ */
11
+ export interface SelectionController extends RadioBaseController {
12
+ /**
13
+ * Select a radio option programmatically
14
+ * @param option - The option to select
15
+ * @throws {Error} When option is disabled or invalid
16
+ */
17
+ selectOption(option: RadioButtonOption): void;
18
+ /**
19
+ * Get the currently selected option
20
+ * @returns The selected option or undefined if none selected
21
+ */
22
+ getSelectedOption(): RadioButtonOption | undefined;
23
+ /**
24
+ * Check if a specific option is currently selected
25
+ * @param option - The option to check
26
+ * @returns True if the option is selected
27
+ */
28
+ isOptionSelected(option: RadioButtonOption): boolean;
29
+ /**
30
+ * Check if a specific option is disabled
31
+ * @param option - The option to check
32
+ * @returns True if the option is disabled
33
+ */
34
+ isOptionDisabled(option: RadioButtonOption): boolean;
35
+ /**
36
+ * Get the current selected value as a string
37
+ * @returns The selected value or empty string
38
+ */
39
+ getSelectedValue(): string;
40
+ /**
41
+ * Reset the selection to no option selected
42
+ */
43
+ reset(): void;
44
+ }
45
+ //# sourceMappingURL=selection-controller.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=selection-controller.interface.js.map
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { RadioBaseController } from './base-controller.interface.js';
7
+ /**
8
+ * Interface for controllers that handle form validation
9
+ */
10
+ export interface ValidationController extends RadioBaseController {
11
+ /**
12
+ * Validate the current radio group state
13
+ * @returns True if the radio group passes validation
14
+ */
15
+ validate(): boolean;
16
+ /**
17
+ * Get the current validation message
18
+ * @returns The validation message or empty string if valid
19
+ */
20
+ get validationMessage(): string;
21
+ /**
22
+ * Check if the radio group is currently valid
23
+ * @returns True if the radio group is valid
24
+ */
25
+ get isValid(): boolean;
26
+ /**
27
+ * Get form data for form submission
28
+ * @returns Object with name-value pairs for form submission
29
+ */
30
+ getFormData(): {
31
+ [key: string]: string;
32
+ };
33
+ /**
34
+ * Get FormData object for native form submission
35
+ * @returns FormData object or null if no data to submit
36
+ */
37
+ getFormDataObject(): FormData | null;
38
+ /**
39
+ * Reset validation state and clear any validation messages
40
+ */
41
+ reset(): void;
42
+ /**
43
+ * Report validation state (HTML5 form validation API)
44
+ * @returns True if valid, dispatches invalid event if not
45
+ */
46
+ reportValidity(): boolean;
47
+ }
48
+ //# sourceMappingURL=validation-controller.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-controller.interface.js.map
@@ -0,0 +1,2 @@
1
+ import '../radio-group.component';
2
+ //# sourceMappingURL=radio_test.d.ts.map
@@ -0,0 +1,79 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { fixture, expect, html } from '@open-wc/testing';
11
+ import '../radio-group.component';
12
+ suite('NrRadioGroupElement', () => {
13
+ test('should render options correctly', () => __awaiter(void 0, void 0, void 0, function* () {
14
+ const options = [
15
+ { label: 'Option 1', value: '1' },
16
+ { label: 'Option 2', value: '2' },
17
+ ];
18
+ const value = options[0].value;
19
+ const el = yield fixture(html `<nr-radio-group .options=${options} .value=${value}></nr-radio-group>`);
20
+ const radioOptions = el.shadowRoot.querySelectorAll('.radio');
21
+ expect(radioOptions.length).to.equal(options.length);
22
+ const selectedRadio = el.shadowRoot.querySelector('input[type="radio"]:checked');
23
+ expect(selectedRadio.value).to.equal(value);
24
+ }));
25
+ test('should handle option change', () => __awaiter(void 0, void 0, void 0, function* () {
26
+ const options = [
27
+ { label: 'Option 1', value: '1' },
28
+ { label: 'Option 2', value: '2' },
29
+ ];
30
+ const value = options[0].value;
31
+ const el = yield fixture(html `<nr-radio-group .options=${options} .value=${value}></nr-radio-group>`);
32
+ expect(el.selectedOption).to.equal(value);
33
+ const radioInputs = el.shadowRoot.querySelectorAll('input[type="radio"]');
34
+ radioInputs[1].click();
35
+ expect(el.selectedOption).to.equal('2');
36
+ }));
37
+ test('should disable all options if one default option is disabled', () => __awaiter(void 0, void 0, void 0, function* () {
38
+ const options = [
39
+ { label: 'Option 1', value: '1', disabled: true },
40
+ { label: 'Option 2', value: '2' },
41
+ ];
42
+ const value = options[0].value;
43
+ const el = yield fixture(html `<nr-radio-group .options=${options} .value=${value}></nr-radio-group>`);
44
+ const radioInputs = el.shadowRoot.querySelectorAll('input[type="radio"]');
45
+ radioInputs.forEach((input) => {
46
+ expect(input.disabled).to.be.true;
47
+ });
48
+ }));
49
+ test('should dispatch a change event when option is changed', () => __awaiter(void 0, void 0, void 0, function* () {
50
+ const options = [
51
+ { label: 'Option 1', value: '1' },
52
+ { label: 'Option 2', value: '2' },
53
+ ];
54
+ const el = yield fixture(html `<nr-radio-group .options=${options}></nr-radio-group>`);
55
+ const radioInput = el.shadowRoot.querySelector('input[type="radio"]');
56
+ let changeEventTriggered = false;
57
+ el.addEventListener('change', () => {
58
+ changeEventTriggered = true;
59
+ });
60
+ radioInput.click();
61
+ expect(changeEventTriggered).to.be.true;
62
+ }));
63
+ test('should not dispatch a change event when the same option is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
64
+ const options = [
65
+ { label: 'Option 1', value: '1' },
66
+ { label: 'Option 2', value: '2' },
67
+ ];
68
+ const defaultOption = options[0].value;
69
+ const el = yield fixture(html `<nr-radio-group .options=${options} .value=${defaultOption}></nr-radio-group>`);
70
+ const radioInput = el.shadowRoot.querySelectorAll('input[type="radio"]')[0];
71
+ let changeEventTriggered = false;
72
+ el.addEventListener('change', () => {
73
+ changeEventTriggered = true;
74
+ });
75
+ radioInput.click();
76
+ expect(changeEventTriggered).to.be.false;
77
+ }));
78
+ });
79
+ //# sourceMappingURL=radio_test.js.map
@@ -0,0 +1,10 @@
1
+ import { ReactiveControllerHost } from 'lit';
2
+ import { SelectBaseController, SelectHost, ErrorHandler } from '../interfaces/index.js';
3
+ import { BaseComponentController } from '@nuralyui/common/controllers';
4
+ /**
5
+ * Abstract base controller class that implements common functionality
6
+ * for all select component controllers
7
+ */
8
+ export declare abstract class BaseSelectController extends BaseComponentController<SelectHost & ReactiveControllerHost> implements SelectBaseController, ErrorHandler {
9
+ }
10
+ //# sourceMappingURL=base.controller.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { BaseComponentController } from '@nuralyui/common/controllers';
2
+ /**
3
+ * Abstract base controller class that implements common functionality
4
+ * for all select component controllers
5
+ */
6
+ export class BaseSelectController extends BaseComponentController {
7
+ }
8
+ //# sourceMappingURL=base.controller.js.map
@@ -0,0 +1,76 @@
1
+ import { DropdownController, DropdownPosition, DropdownSpace } from '../interfaces/index.js';
2
+ import { BaseSelectController } from './base.controller.js';
3
+ /**
4
+ * Dropdown controller manages dropdown positioning, visibility, and interactions
5
+ */
6
+ export declare class SelectDropdownController extends BaseSelectController implements DropdownController {
7
+ private _isOpen;
8
+ private _position;
9
+ private _dropdownElement;
10
+ private _triggerElement;
11
+ /**
12
+ * Check if dropdown is open
13
+ */
14
+ get isOpen(): boolean;
15
+ /**
16
+ * Get current dropdown position
17
+ */
18
+ get position(): DropdownPosition;
19
+ /**
20
+ * Open the dropdown
21
+ */
22
+ open(): void;
23
+ /**
24
+ * Close the dropdown
25
+ */
26
+ close(): void;
27
+ /**
28
+ * Toggle dropdown visibility
29
+ */
30
+ toggle(): void;
31
+ /**
32
+ * Focus the search input if searchable is enabled
33
+ */
34
+ private focusSearchInput;
35
+ /**
36
+ * Calculate optimal dropdown placement using fixed positioning
37
+ */
38
+ calculatePosition(): void;
39
+ /**
40
+ * Reset dropdown position
41
+ */
42
+ resetPosition(): void;
43
+ /**
44
+ * Set dropdown and trigger element references
45
+ */
46
+ setElements(dropdownElement: HTMLElement, triggerElement: HTMLElement): void;
47
+ /**
48
+ * Find dropdown and trigger elements
49
+ */
50
+ private findElements;
51
+ /**
52
+ * Apply calculated position to dropdown element using fixed positioning
53
+ */
54
+ private applyPosition;
55
+ /**
56
+ * Calculate available space around trigger
57
+ */
58
+ getAvailableSpace(): DropdownSpace;
59
+ /**
60
+ * Handle window resize to recalculate position
61
+ */
62
+ private handleResize;
63
+ /**
64
+ * Handle scroll to manage dropdown visibility and position
65
+ */
66
+ private handleScroll;
67
+ /**
68
+ * Host connected lifecycle
69
+ */
70
+ hostConnected(): void;
71
+ /**
72
+ * Host disconnected lifecycle
73
+ */
74
+ hostDisconnected(): void;
75
+ }
76
+ //# sourceMappingURL=dropdown.controller.d.ts.map
@@ -0,0 +1,281 @@
1
+ import { BaseSelectController } from './base.controller.js';
2
+ import { calculateFixedPosition, applyFixedPosition, applyHeightConstraints, resetDropdownPosition, isTriggerInViewport } from '../../../shared/utils/dropdown-positioning.js';
3
+ /**
4
+ * Dropdown controller manages dropdown positioning, visibility, and interactions
5
+ */
6
+ export class SelectDropdownController extends BaseSelectController {
7
+ constructor() {
8
+ super(...arguments);
9
+ this._isOpen = false;
10
+ this._position = { top: 0, left: 0, width: 0, placement: 'bottom' };
11
+ this._dropdownElement = null;
12
+ this._triggerElement = null;
13
+ /**
14
+ * Handle window resize to recalculate position
15
+ */
16
+ this.handleResize = () => {
17
+ if (this._isOpen) {
18
+ this.calculatePosition();
19
+ }
20
+ };
21
+ /**
22
+ * Handle scroll to manage dropdown visibility and position
23
+ */
24
+ this.handleScroll = () => {
25
+ if (this._isOpen && this._triggerElement) {
26
+ // Close dropdown if trigger is scrolled out of view
27
+ if (!isTriggerInViewport(this._triggerElement)) {
28
+ this.close();
29
+ }
30
+ else {
31
+ // With fixed positioning, we need to recalculate position on scroll
32
+ // to keep the dropdown aligned with the trigger
33
+ this.calculatePosition();
34
+ }
35
+ }
36
+ };
37
+ }
38
+ /**
39
+ * Check if dropdown is open
40
+ */
41
+ get isOpen() {
42
+ return this._isOpen;
43
+ }
44
+ /**
45
+ * Get current dropdown position
46
+ */
47
+ get position() {
48
+ return Object.assign({}, this._position);
49
+ }
50
+ /**
51
+ * Open the dropdown
52
+ */
53
+ open() {
54
+ try {
55
+ if (!this._isOpen) {
56
+ this._isOpen = true;
57
+ this.host.show = true;
58
+ this.requestUpdate();
59
+ // Always refresh elements before calculating position
60
+ this.findElements();
61
+ // Calculate position after DOM update
62
+ setTimeout(() => {
63
+ this.calculatePosition();
64
+ }, 10);
65
+ // Notify host to setup event listeners
66
+ if (this.host && typeof this.host.setupEventListeners === 'function') {
67
+ setTimeout(() => {
68
+ this.host.setupEventListeners();
69
+ }, 50);
70
+ }
71
+ // Focus search input if searchable
72
+ this.focusSearchInput();
73
+ this.dispatchEvent(new CustomEvent('nr-dropdown-open', {
74
+ bubbles: true,
75
+ composed: true,
76
+ }));
77
+ }
78
+ }
79
+ catch (error) {
80
+ this.handleError(error, 'open');
81
+ }
82
+ }
83
+ /**
84
+ * Close the dropdown
85
+ */
86
+ close() {
87
+ try {
88
+ if (this._isOpen) {
89
+ this._isOpen = false;
90
+ this.host.show = false;
91
+ this.resetPosition();
92
+ this.requestUpdate();
93
+ // Notify host to remove event listeners
94
+ if (this.host && typeof this.host.removeEventListeners === 'function') {
95
+ this.host.removeEventListeners();
96
+ }
97
+ this.dispatchEvent(new CustomEvent('nr-dropdown-close', {
98
+ bubbles: true,
99
+ composed: true,
100
+ }));
101
+ }
102
+ }
103
+ catch (error) {
104
+ this.handleError(error, 'close');
105
+ }
106
+ }
107
+ /**
108
+ * Toggle dropdown visibility
109
+ */
110
+ toggle() {
111
+ if (this._isOpen) {
112
+ this.close();
113
+ }
114
+ else {
115
+ this.open();
116
+ }
117
+ }
118
+ /**
119
+ * Focus the search input if searchable is enabled
120
+ */
121
+ focusSearchInput() {
122
+ try {
123
+ // Check if the host has searchable enabled
124
+ const host = this.host;
125
+ if (host && host.searchable) {
126
+ // Wait for the DOM to update and the input to be rendered
127
+ setTimeout(() => {
128
+ var _a;
129
+ const searchInput = (_a = host.querySelector) === null || _a === void 0 ? void 0 : _a.call(host, '.search-input');
130
+ if (searchInput && typeof searchInput.focus === 'function') {
131
+ searchInput.focus();
132
+ }
133
+ }, 100); // Slightly longer delay to ensure the input is fully rendered
134
+ }
135
+ }
136
+ catch (error) {
137
+ // Silently handle any focus errors to avoid breaking the dropdown
138
+ console.warn('Failed to focus search input:', error);
139
+ }
140
+ }
141
+ /**
142
+ * Calculate optimal dropdown placement using fixed positioning
143
+ */
144
+ calculatePosition() {
145
+ try {
146
+ if (!this._dropdownElement || !this._triggerElement) {
147
+ this.findElements();
148
+ }
149
+ if (!this._dropdownElement || !this._triggerElement) {
150
+ return;
151
+ }
152
+ // Use shared positioning utility
153
+ const position = calculateFixedPosition(this._triggerElement, this._dropdownElement, { offset: 4, viewportMargin: 8 });
154
+ // Store the calculated position
155
+ this._position = position;
156
+ this.applyPosition();
157
+ }
158
+ catch (error) {
159
+ this.handleError(error, 'calculatePosition');
160
+ }
161
+ }
162
+ /**
163
+ * Reset dropdown position
164
+ */
165
+ resetPosition() {
166
+ try {
167
+ if (this._dropdownElement) {
168
+ resetDropdownPosition(this._dropdownElement);
169
+ // Only remove max-height if host doesn't have a custom maxHeight
170
+ const customMaxHeight = this.host.maxHeight;
171
+ if (!customMaxHeight) {
172
+ this._dropdownElement.style.removeProperty('max-height');
173
+ }
174
+ }
175
+ }
176
+ catch (error) {
177
+ this.handleError(error, 'resetPosition');
178
+ }
179
+ }
180
+ /**
181
+ * Set dropdown and trigger element references
182
+ */
183
+ setElements(dropdownElement, triggerElement) {
184
+ this._dropdownElement = dropdownElement;
185
+ this._triggerElement = triggerElement;
186
+ }
187
+ /**
188
+ * Find dropdown and trigger elements
189
+ */
190
+ findElements() {
191
+ try {
192
+ const hostElement = this._host;
193
+ // First priority: use the elements that were explicitly set via setElements()
194
+ // This ensures each instance gets its own elements
195
+ if (hostElement.optionsElement && hostElement.wrapper) {
196
+ this._dropdownElement = hostElement.optionsElement;
197
+ this._triggerElement = hostElement.wrapper;
198
+ return;
199
+ }
200
+ // Fallback: try to find from Light DOM
201
+ if (hostElement.querySelector) {
202
+ this._dropdownElement = hostElement.querySelector('.options');
203
+ this._triggerElement = hostElement.querySelector('.wrapper');
204
+ }
205
+ }
206
+ catch (error) {
207
+ this.handleError(error, 'findElements');
208
+ }
209
+ }
210
+ /**
211
+ * Apply calculated position to dropdown element using fixed positioning
212
+ */
213
+ applyPosition() {
214
+ var _a;
215
+ try {
216
+ if (!this._dropdownElement || !this._triggerElement) {
217
+ return;
218
+ }
219
+ // Check if host has a custom maxHeight set
220
+ const hostMaxHeight = this.host.maxHeight;
221
+ // Check if CSS max-height is set to auto via CSS custom property
222
+ const computedStyle = getComputedStyle(this._dropdownElement);
223
+ const cssMaxHeight = (_a = computedStyle.getPropertyValue('--nuraly-select-local-dropdown-max-height')) === null || _a === void 0 ? void 0 : _a.trim();
224
+ const isAutoHeight = cssMaxHeight === 'auto' || (!hostMaxHeight && cssMaxHeight === 'auto');
225
+ // Apply fixed positioning using shared utility
226
+ applyFixedPosition(this._dropdownElement, this._position, '9999');
227
+ // Handle max-height based on configuration
228
+ if (!hostMaxHeight && !isAutoHeight) {
229
+ this._dropdownElement.style.maxHeight = 'none';
230
+ }
231
+ // Apply height constraints using shared utility
232
+ if (hostMaxHeight) {
233
+ applyHeightConstraints(this._dropdownElement, this._triggerElement, this._position.placement, { viewportMargin: 10, maxHeight: hostMaxHeight });
234
+ }
235
+ else if (isAutoHeight) {
236
+ // If max-height is set to auto, don't constrain the dropdown
237
+ this._dropdownElement.style.removeProperty('max-height');
238
+ this._dropdownElement.style.overflowY = 'visible';
239
+ }
240
+ else {
241
+ applyHeightConstraints(this._dropdownElement, this._triggerElement, this._position.placement, { viewportMargin: 10 });
242
+ }
243
+ }
244
+ catch (error) {
245
+ this.handleError(error, 'applyPosition');
246
+ }
247
+ }
248
+ /**
249
+ * Calculate available space around trigger
250
+ */
251
+ getAvailableSpace() {
252
+ var _a, _b;
253
+ if (!this._triggerElement) {
254
+ return { above: 0, below: 0, left: 0, right: 0 };
255
+ }
256
+ const triggerRect = this._triggerElement.getBoundingClientRect();
257
+ const viewportHeight = ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height) || window.innerHeight;
258
+ const viewportWidth = ((_b = window.visualViewport) === null || _b === void 0 ? void 0 : _b.width) || window.innerWidth;
259
+ return {
260
+ above: triggerRect.top,
261
+ below: viewportHeight - triggerRect.bottom,
262
+ left: triggerRect.left,
263
+ right: viewportWidth - triggerRect.right,
264
+ };
265
+ }
266
+ /**
267
+ * Host connected lifecycle
268
+ */
269
+ hostConnected() {
270
+ window.addEventListener('resize', this.handleResize);
271
+ window.addEventListener('scroll', this.handleScroll, true);
272
+ }
273
+ /**
274
+ * Host disconnected lifecycle
275
+ */
276
+ hostDisconnected() {
277
+ window.removeEventListener('resize', this.handleResize);
278
+ window.removeEventListener('scroll', this.handleScroll, true);
279
+ }
280
+ }
281
+ //# sourceMappingURL=dropdown.controller.js.map
@@ -0,0 +1,54 @@
1
+ import { SelectOption } from '../select.types.js';
2
+ import { EventController } from '../interfaces/index.js';
3
+ import { BaseSelectController } from './base.controller.js';
4
+ /**
5
+ * Event controller manages all event handling for the select component
6
+ */
7
+ export declare class SelectEventController extends BaseSelectController implements EventController {
8
+ /**
9
+ * Handles clicks on the select trigger element
10
+ */
11
+ handleTriggerClick: (event: Event) => void;
12
+ /**
13
+ * Handles clicks on individual options
14
+ */
15
+ handleOptionClick: (event: Event, option: SelectOption) => void;
16
+ /**
17
+ * Handles removal of selected tags in multiple selection mode
18
+ */
19
+ handleTagRemove: (event: Event, option: SelectOption) => void;
20
+ /**
21
+ * Handles the clear all selections button
22
+ */
23
+ handleClearAll: (event: Event) => void;
24
+ /**
25
+ * Handles keyboard navigation and interactions
26
+ */
27
+ handleKeyDown: (event: KeyboardEvent) => void;
28
+ /**
29
+ * Handles focus events
30
+ */
31
+ handleFocus: () => void;
32
+ /**
33
+ * Handles blur events
34
+ */
35
+ handleBlur: () => void;
36
+ /**
37
+ * Handles clicks outside the component to close dropdown
38
+ * Uses composedPath() to properly detect clicks on slotted content
39
+ */
40
+ handleWindowClick: (event: Event) => void;
41
+ /**
42
+ * Sets up global event listeners (called when dropdown opens)
43
+ */
44
+ setupEventListeners(): void;
45
+ /**
46
+ * Removes global event listeners (called on disconnect or dropdown close)
47
+ */
48
+ removeEventListeners(): void;
49
+ /**
50
+ * Cleanup when host disconnects
51
+ */
52
+ hostDisconnected(): void;
53
+ }
54
+ //# sourceMappingURL=event.controller.d.ts.map