@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,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { TemplateResult, nothing } from 'lit';
7
+ /**
8
+ * Rendering utilities for input component icons and elements
9
+ */
10
+ export declare class InputRenderUtils {
11
+ /**
12
+ * Renders prefix content (Light DOM — children passed in directly)
13
+ */
14
+ static renderPrefix(children?: Element[]): TemplateResult | typeof nothing;
15
+ /**
16
+ * Renders suffix content (Light DOM — children passed in directly)
17
+ */
18
+ static renderSuffix(children?: Element[]): TemplateResult | typeof nothing;
19
+ /**
20
+ * Renders addon before content (outside input borders)
21
+ * Only renders if hasAddonBefore is true
22
+ */
23
+ static renderAddonBefore(hasAddonBefore: boolean, children?: Element[]): TemplateResult | typeof nothing;
24
+ /**
25
+ * Renders addon after content (outside input borders)
26
+ * Only renders if hasAddonAfter is true
27
+ */
28
+ static renderAddonAfter(hasAddonAfter: boolean, children?: Element[]): TemplateResult | typeof nothing;
29
+ /**
30
+ * Renders the copy icon when withCopy is enabled
31
+ */
32
+ static renderCopyIcon(withCopy: boolean, disabled: boolean, readonly: boolean, onCopy: () => void, onKeydown: (e: KeyboardEvent) => void): TemplateResult | typeof nothing;
33
+ /**
34
+ * Renders the clear icon when allowClear is enabled and there's content
35
+ */
36
+ static renderClearIcon(allowClear: boolean, value: string, disabled: boolean, readonly: boolean, onClear: () => void, onKeydown: (e: KeyboardEvent) => void): TemplateResult | typeof nothing;
37
+ /**
38
+ * Renders state-based icons (warning, error)
39
+ */
40
+ static renderStateIcon(state: string): TemplateResult | typeof nothing;
41
+ /**
42
+ * Renders the calendar icon for calendar input type
43
+ */
44
+ static renderCalendarIcon(state: string, type: string): TemplateResult | typeof nothing;
45
+ /**
46
+ * Renders password toggle icon
47
+ */
48
+ static renderPasswordIcon(type: string, inputType: string, disabled: boolean, readonly: boolean, onToggle: () => void, onKeydown: (e: KeyboardEvent) => void): TemplateResult | typeof nothing;
49
+ /**
50
+ * Renders number input increment/decrement icons
51
+ */
52
+ static renderNumberIcons(type: string, state: string, disabled: boolean, readonly: boolean, onIncrement: () => void, onDecrement: () => void, onKeydown: (e: KeyboardEvent) => void): TemplateResult | typeof nothing;
53
+ }
54
+ //# sourceMappingURL=input-renderers.d.ts.map
@@ -0,0 +1,178 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { html, nothing } from 'lit';
7
+ /**
8
+ * Rendering utilities for input component icons and elements
9
+ */
10
+ export class InputRenderUtils {
11
+ /**
12
+ * Renders prefix content (Light DOM — children passed in directly)
13
+ */
14
+ static renderPrefix(children = []) {
15
+ if (children.length === 0)
16
+ return nothing;
17
+ return html `
18
+ <div class="input-prefix">
19
+ ${children}
20
+ </div>
21
+ `;
22
+ }
23
+ /**
24
+ * Renders suffix content (Light DOM — children passed in directly)
25
+ */
26
+ static renderSuffix(children = []) {
27
+ if (children.length === 0)
28
+ return nothing;
29
+ return html `
30
+ <div class="input-suffix">
31
+ ${children}
32
+ </div>
33
+ `;
34
+ }
35
+ /**
36
+ * Renders addon before content (outside input borders)
37
+ * Only renders if hasAddonBefore is true
38
+ */
39
+ static renderAddonBefore(hasAddonBefore, children = []) {
40
+ if (!hasAddonBefore)
41
+ return nothing;
42
+ return html `
43
+ <div class="input-addon-before">
44
+ ${children}
45
+ </div>
46
+ `;
47
+ }
48
+ /**
49
+ * Renders addon after content (outside input borders)
50
+ * Only renders if hasAddonAfter is true
51
+ */
52
+ static renderAddonAfter(hasAddonAfter, children = []) {
53
+ if (!hasAddonAfter)
54
+ return nothing;
55
+ return html `
56
+ <div class="input-addon-after">
57
+ ${children}
58
+ </div>
59
+ `;
60
+ }
61
+ /**
62
+ * Renders the copy icon when withCopy is enabled
63
+ */
64
+ static renderCopyIcon(withCopy, disabled, readonly, onCopy, onKeydown) {
65
+ if (!withCopy)
66
+ return nothing;
67
+ return html `<nr-icon
68
+ name="copy"
69
+ type="regular"
70
+ id="copy-icon"
71
+ role="button"
72
+ aria-label="Copy input value"
73
+ tabindex="0"
74
+ @click=${!disabled && !readonly ? onCopy : nothing}
75
+ @keydown=${onKeydown}
76
+ ></nr-icon>`;
77
+ }
78
+ /**
79
+ * Renders the clear icon when allowClear is enabled and there's content
80
+ */
81
+ static renderClearIcon(allowClear, value, disabled, readonly, onClear, onKeydown) {
82
+ if (!allowClear || !value || disabled || readonly)
83
+ return nothing;
84
+ return html `<nr-icon
85
+ name="times-circle"
86
+ type="regular"
87
+ id="clear-icon"
88
+ role="button"
89
+ aria-label="Clear input value"
90
+ tabindex="0"
91
+ @click=${onClear}
92
+ @keydown=${onKeydown}
93
+ ></nr-icon>`;
94
+ }
95
+ /**
96
+ * Renders state-based icons (warning, error)
97
+ */
98
+ static renderStateIcon(state) {
99
+ switch (state) {
100
+ case "warning" /* INPUT_STATE.Warning */:
101
+ return html `<nr-icon name="warning" id="warning-icon"></nr-icon>`;
102
+ case "error" /* INPUT_STATE.Error */:
103
+ return html `<nr-icon name="exclamation-circle" id="error-icon"></nr-icon>`;
104
+ default:
105
+ return nothing;
106
+ }
107
+ }
108
+ /**
109
+ * Renders the calendar icon for calendar input type
110
+ */
111
+ static renderCalendarIcon(state, type) {
112
+ if (state !== "default" /* INPUT_STATE.Default */ || type !== "calendar" /* INPUT_TYPE.CALENDAR */) {
113
+ return nothing;
114
+ }
115
+ return html `<nr-icon name="calendar" type="regular" id="calendar-icon"></nr-icon>`;
116
+ }
117
+ /**
118
+ * Renders password toggle icon
119
+ */
120
+ static renderPasswordIcon(type, inputType, disabled, readonly, onToggle, onKeydown) {
121
+ if (type !== "password" /* INPUT_TYPE.PASSWORD */)
122
+ return nothing;
123
+ if (inputType === "text" /* INPUT_TYPE.TEXT */) {
124
+ return html `<nr-icon
125
+ name="eye-slash"
126
+ type="regular"
127
+ id="password-icon"
128
+ role="button"
129
+ aria-label="Hide password"
130
+ tabindex="0"
131
+ @click=${!disabled && !readonly ? onToggle : nothing}
132
+ @keydown=${onKeydown}
133
+ ></nr-icon>`;
134
+ }
135
+ else {
136
+ return html `<nr-icon
137
+ name="eye"
138
+ type="regular"
139
+ id="password-icon"
140
+ role="button"
141
+ aria-label="Show password"
142
+ tabindex="0"
143
+ @click=${!disabled && !readonly ? onToggle : nothing}
144
+ @keydown=${onKeydown}
145
+ ></nr-icon>`;
146
+ }
147
+ }
148
+ /**
149
+ * Renders number input increment/decrement icons
150
+ */
151
+ static renderNumberIcons(type, state, disabled, readonly, onIncrement, onDecrement, onKeydown) {
152
+ if (type !== "number" /* INPUT_TYPE.NUMBER */)
153
+ return nothing;
154
+ return html `
155
+ <div id="number-icons">
156
+ ${state !== "default" /* INPUT_STATE.Default */ ? html `<span id="icons-separator">|</span>` : nothing}
157
+ <nr-icon
158
+ name="minus"
159
+ aria-label="Decrease value"
160
+ role="button"
161
+ tabindex="0"
162
+ @click=${!disabled && !readonly ? onDecrement : nothing}
163
+ @keydown=${onKeydown}
164
+ ></nr-icon>
165
+ <span id="icons-separator">|</span>
166
+ <nr-icon
167
+ name="plus"
168
+ aria-label="Increase value"
169
+ role="button"
170
+ tabindex="0"
171
+ @click=${!disabled && !readonly ? onIncrement : nothing}
172
+ @keydown=${onKeydown}
173
+ ></nr-icon>
174
+ </div>
175
+ `;
176
+ }
177
+ }
178
+ //# sourceMappingURL=input-renderers.js.map
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Validation utilities for input components
8
+ */
9
+ export declare class InputValidationUtils {
10
+ /**
11
+ * Validates numeric properties (min, max, step) to ensure they are valid numbers
12
+ */
13
+ static validateNumericProperties(type: string, min?: string, max?: string, step?: string): void;
14
+ /**
15
+ * Prevents non-numeric characters from being typed in number inputs
16
+ */
17
+ static preventNonNumericInput(keyDownEvent: KeyboardEvent, min?: string): void;
18
+ /**
19
+ * Validates a numeric value against min/max constraints
20
+ */
21
+ static validateNumericValue(value: string, min?: string, max?: string): {
22
+ isValid: boolean;
23
+ warnings: string[];
24
+ };
25
+ }
26
+ //# sourceMappingURL=input-validation.utils.d.ts.map
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Validation utilities for input components
8
+ */
9
+ export class InputValidationUtils {
10
+ /**
11
+ * Validates numeric properties (min, max, step) to ensure they are valid numbers
12
+ */
13
+ static validateNumericProperties(type, min, max, step) {
14
+ if (type === "number" /* INPUT_TYPE.NUMBER */) {
15
+ if (min && Number.isNaN(Number(min))) {
16
+ console.warn(`Invalid min value: "${min}" is not a valid number`);
17
+ }
18
+ if (max && Number.isNaN(Number(max))) {
19
+ console.warn(`Invalid max value: "${max}" is not a valid number`);
20
+ }
21
+ if (step && Number.isNaN(Number(step))) {
22
+ console.warn(`Invalid step value: "${step}" is not a valid number`);
23
+ }
24
+ if (min && max && Number(min) >= Number(max)) {
25
+ console.warn(`Invalid range: min value (${min}) should be less than max value (${max})`);
26
+ }
27
+ }
28
+ }
29
+ /**
30
+ * Prevents non-numeric characters from being typed in number inputs
31
+ */
32
+ static preventNonNumericInput(keyDownEvent, min) {
33
+ const key = keyDownEvent.key;
34
+ const target = keyDownEvent.target;
35
+ const currentValue = target.value;
36
+ const cursorPosition = target.selectionStart || 0;
37
+ // Allow control keys (backspace, delete, tab, escape, enter, arrow keys, etc.)
38
+ const allowedControlKeys = [
39
+ 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter',
40
+ 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown',
41
+ 'Home', 'End', 'PageUp', 'PageDown'
42
+ ];
43
+ // Allow Ctrl/Cmd combinations (copy, paste, select all, etc.)
44
+ if (keyDownEvent.ctrlKey || keyDownEvent.metaKey) {
45
+ return;
46
+ }
47
+ // Allow control keys
48
+ if (allowedControlKeys.includes(key)) {
49
+ return;
50
+ }
51
+ // Allow digits
52
+ if (/^\d$/.test(key)) {
53
+ return;
54
+ }
55
+ // Allow decimal point (.) only once and allow it at the beginning for values like ".5"
56
+ if (key === '.' || key === ',') {
57
+ const hasDecimal = currentValue.includes('.') || currentValue.includes(',');
58
+ if (!hasDecimal) {
59
+ return;
60
+ }
61
+ }
62
+ // Allow minus sign (-) only at the beginning and if min allows negative numbers
63
+ if (key === '-') {
64
+ const hasMinusSign = currentValue.includes('-');
65
+ const minAllowsNegative = !min || Number(min) < 0;
66
+ if (!hasMinusSign && cursorPosition === 0 && minAllowsNegative) {
67
+ return;
68
+ }
69
+ }
70
+ // Allow plus sign (+) only at the beginning
71
+ if (key === '+') {
72
+ const hasPlusSign = currentValue.includes('+');
73
+ if (!hasPlusSign && cursorPosition === 0) {
74
+ return;
75
+ }
76
+ }
77
+ keyDownEvent.preventDefault();
78
+ }
79
+ /**
80
+ * Validates a numeric value against min/max constraints
81
+ */
82
+ static validateNumericValue(value, min, max) {
83
+ const warnings = [];
84
+ if (!value) {
85
+ return { isValid: true, warnings };
86
+ }
87
+ const numericValue = Number(value);
88
+ if (Number.isNaN(numericValue)) {
89
+ return {
90
+ isValid: false,
91
+ warnings: [`Invalid numeric value: "${value}"`]
92
+ };
93
+ }
94
+ if (min && numericValue < Number(min)) {
95
+ warnings.push(`Value ${numericValue} is below minimum ${min}`);
96
+ }
97
+ if (max && numericValue > Number(max)) {
98
+ warnings.push(`Value ${numericValue} is above maximum ${max}`);
99
+ }
100
+ return { isValid: true, warnings };
101
+ }
102
+ }
103
+ //# sourceMappingURL=input-validation.utils.js.map
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseMenuController } from './base.controller.js';
7
+ import type { MenuAccessibilityController } from '../interfaces/index.js';
8
+ import type { StateController } from './state.controller.js';
9
+ /**
10
+ * Accessibility controller manages ARIA attributes and screen reader support
11
+ * Ensures the menu component is fully accessible
12
+ */
13
+ export declare class AccessibilityController extends BaseMenuController implements MenuAccessibilityController {
14
+ private stateController;
15
+ private announcementElement;
16
+ constructor(host: any, stateController: StateController);
17
+ hostConnected(): void;
18
+ hostDisconnected(): void;
19
+ /**
20
+ * Create a screen reader announcement element
21
+ */
22
+ private createAnnouncementElement;
23
+ /**
24
+ * Remove the screen reader announcement element
25
+ */
26
+ private removeAnnouncementElement;
27
+ /**
28
+ * Update all ARIA attributes throughout the menu
29
+ */
30
+ updateAriaAttributes(): void;
31
+ /**
32
+ * Update ARIA attributes on the menu root
33
+ */
34
+ private updateMenuRoot;
35
+ /**
36
+ * Update ARIA attributes on all menu items
37
+ */
38
+ private updateAllMenuItems;
39
+ /**
40
+ * Update ARIA attributes on all submenus
41
+ */
42
+ private updateAllSubMenus;
43
+ /**
44
+ * Set aria-expanded attribute on an element
45
+ * @param element - The element to update
46
+ * @param expanded - Whether the element is expanded
47
+ */
48
+ setAriaExpanded(element: HTMLElement, expanded: boolean): void;
49
+ /**
50
+ * Set aria-selected attribute on an element
51
+ * @param element - The element to update
52
+ * @param selected - Whether the element is selected
53
+ */
54
+ setAriaSelected(element: HTMLElement, selected: boolean): void;
55
+ /**
56
+ * Manage focus on an element
57
+ * @param element - The element to focus
58
+ */
59
+ manageFocus(element: HTMLElement): void;
60
+ /**
61
+ * Announce a message to screen readers
62
+ * @param message - The message to announce
63
+ */
64
+ announceToScreenReader(message: string): void;
65
+ /**
66
+ * Announce menu item selection
67
+ * @param itemText - The text of the selected item
68
+ * @param path - The path to the item
69
+ */
70
+ announceSelection(itemText: string, path: number[]): void;
71
+ /**
72
+ * Announce submenu state change
73
+ * @param itemText - The text of the submenu
74
+ * @param isOpen - Whether the submenu is now open
75
+ */
76
+ announceSubMenuToggle(itemText: string, isOpen: boolean): void;
77
+ /**
78
+ * Set focus to the first interactive menu item
79
+ */
80
+ focusFirstItem(): void;
81
+ /**
82
+ * Set focus to the last interactive menu item
83
+ */
84
+ focusLastItem(): void;
85
+ }
86
+ //# sourceMappingURL=accessibility.controller.d.ts.map
@@ -0,0 +1,235 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseMenuController } from './base.controller.js';
7
+ /**
8
+ * Accessibility controller manages ARIA attributes and screen reader support
9
+ * Ensures the menu component is fully accessible
10
+ */
11
+ export class AccessibilityController extends BaseMenuController {
12
+ constructor(host, stateController) {
13
+ super(host);
14
+ this.announcementElement = null;
15
+ this.stateController = stateController;
16
+ }
17
+ hostConnected() {
18
+ this.createAnnouncementElement();
19
+ this.updateAriaAttributes();
20
+ }
21
+ hostDisconnected() {
22
+ this.removeAnnouncementElement();
23
+ }
24
+ /**
25
+ * Create a screen reader announcement element
26
+ */
27
+ createAnnouncementElement() {
28
+ if (!this.announcementElement) {
29
+ this.announcementElement = document.createElement('div');
30
+ this.announcementElement.setAttribute('role', 'status');
31
+ this.announcementElement.setAttribute('aria-live', 'polite');
32
+ this.announcementElement.setAttribute('aria-atomic', 'true');
33
+ this.announcementElement.style.position = 'absolute';
34
+ this.announcementElement.style.left = '-10000px';
35
+ this.announcementElement.style.width = '1px';
36
+ this.announcementElement.style.height = '1px';
37
+ this.announcementElement.style.overflow = 'hidden';
38
+ document.body.appendChild(this.announcementElement);
39
+ }
40
+ }
41
+ /**
42
+ * Remove the screen reader announcement element
43
+ */
44
+ removeAnnouncementElement() {
45
+ if (this.announcementElement && this.announcementElement.parentNode) {
46
+ this.announcementElement.parentNode.removeChild(this.announcementElement);
47
+ this.announcementElement = null;
48
+ }
49
+ }
50
+ /**
51
+ * Update all ARIA attributes throughout the menu
52
+ */
53
+ updateAriaAttributes() {
54
+ try {
55
+ this.updateMenuRoot();
56
+ this.updateAllMenuItems();
57
+ this.updateAllSubMenus();
58
+ }
59
+ catch (error) {
60
+ this.handleError(error, 'updateAriaAttributes');
61
+ }
62
+ }
63
+ /**
64
+ * Update ARIA attributes on the menu root
65
+ */
66
+ updateMenuRoot() {
67
+ var _a;
68
+ const menuRoot = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.menu-root');
69
+ if (menuRoot) {
70
+ menuRoot.setAttribute('role', 'menu');
71
+ menuRoot.setAttribute('aria-label', 'Main menu');
72
+ }
73
+ }
74
+ /**
75
+ * Update ARIA attributes on all menu items
76
+ */
77
+ updateAllMenuItems() {
78
+ var _a;
79
+ const menuLinks = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.menu-link');
80
+ menuLinks === null || menuLinks === void 0 ? void 0 : menuLinks.forEach((link) => {
81
+ link.setAttribute('role', 'menuitem');
82
+ link.setAttribute('tabindex', '0');
83
+ const pathKey = link.getAttribute('data-path');
84
+ if (pathKey) {
85
+ const path = pathKey.split('-').map(Number);
86
+ const isSelected = this.stateController.isPathSelected(path);
87
+ this.setAriaSelected(link, isSelected);
88
+ }
89
+ const isDisabled = link.classList.contains('disabled');
90
+ if (isDisabled) {
91
+ link.setAttribute('aria-disabled', 'true');
92
+ }
93
+ });
94
+ }
95
+ /**
96
+ * Update ARIA attributes on all submenus
97
+ */
98
+ updateAllSubMenus() {
99
+ var _a;
100
+ const subMenus = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.sub-menu');
101
+ subMenus === null || subMenus === void 0 ? void 0 : subMenus.forEach((subMenu) => {
102
+ subMenu.setAttribute('role', 'menuitem');
103
+ subMenu.setAttribute('tabindex', '0');
104
+ const pathKey = subMenu.getAttribute('data-path');
105
+ if (pathKey) {
106
+ const path = pathKey.split('-').map(Number);
107
+ const isOpen = this.stateController.isSubMenuOpen(path);
108
+ const header = subMenu.querySelector('.sub-menu-header');
109
+ if (header) {
110
+ header.setAttribute('aria-haspopup', 'true');
111
+ this.setAriaExpanded(header, isOpen);
112
+ }
113
+ }
114
+ const isDisabled = subMenu.classList.contains('disabled');
115
+ if (isDisabled) {
116
+ subMenu.setAttribute('aria-disabled', 'true');
117
+ }
118
+ });
119
+ }
120
+ /**
121
+ * Set aria-expanded attribute on an element
122
+ * @param element - The element to update
123
+ * @param expanded - Whether the element is expanded
124
+ */
125
+ setAriaExpanded(element, expanded) {
126
+ try {
127
+ element.setAttribute('aria-expanded', expanded.toString());
128
+ }
129
+ catch (error) {
130
+ this.handleError(error, 'setAriaExpanded');
131
+ }
132
+ }
133
+ /**
134
+ * Set aria-selected attribute on an element
135
+ * @param element - The element to update
136
+ * @param selected - Whether the element is selected
137
+ */
138
+ setAriaSelected(element, selected) {
139
+ try {
140
+ if (selected) {
141
+ element.setAttribute('aria-selected', 'true');
142
+ element.setAttribute('aria-current', 'page');
143
+ }
144
+ else {
145
+ element.removeAttribute('aria-selected');
146
+ element.removeAttribute('aria-current');
147
+ }
148
+ }
149
+ catch (error) {
150
+ this.handleError(error, 'setAriaSelected');
151
+ }
152
+ }
153
+ /**
154
+ * Manage focus on an element
155
+ * @param element - The element to focus
156
+ */
157
+ manageFocus(element) {
158
+ try {
159
+ if (this.isElementInteractive(element)) {
160
+ element.focus();
161
+ // Ensure element is visible in viewport
162
+ element.scrollIntoView({
163
+ behavior: 'smooth',
164
+ block: 'nearest',
165
+ inline: 'nearest',
166
+ });
167
+ }
168
+ }
169
+ catch (error) {
170
+ this.handleError(error, 'manageFocus');
171
+ }
172
+ }
173
+ /**
174
+ * Announce a message to screen readers
175
+ * @param message - The message to announce
176
+ */
177
+ announceToScreenReader(message) {
178
+ try {
179
+ if (this.announcementElement) {
180
+ // Clear and set message to ensure it's announced
181
+ this.announcementElement.textContent = '';
182
+ setTimeout(() => {
183
+ if (this.announcementElement) {
184
+ this.announcementElement.textContent = message;
185
+ }
186
+ }, 100);
187
+ }
188
+ }
189
+ catch (error) {
190
+ this.handleError(error, 'announceToScreenReader');
191
+ }
192
+ }
193
+ /**
194
+ * Announce menu item selection
195
+ * @param itemText - The text of the selected item
196
+ * @param path - The path to the item
197
+ */
198
+ announceSelection(itemText, path) {
199
+ const depth = path.length;
200
+ const message = `Selected ${itemText}, level ${depth}`;
201
+ this.announceToScreenReader(message);
202
+ }
203
+ /**
204
+ * Announce submenu state change
205
+ * @param itemText - The text of the submenu
206
+ * @param isOpen - Whether the submenu is now open
207
+ */
208
+ announceSubMenuToggle(itemText, isOpen) {
209
+ const state = isOpen ? 'expanded' : 'collapsed';
210
+ const message = `${itemText} submenu ${state}`;
211
+ this.announceToScreenReader(message);
212
+ }
213
+ /**
214
+ * Set focus to the first interactive menu item
215
+ */
216
+ focusFirstItem() {
217
+ const menuItems = this.getAllMenuLinks();
218
+ const firstInteractiveItem = menuItems.find(item => this.isElementInteractive(item));
219
+ if (firstInteractiveItem) {
220
+ this.manageFocus(firstInteractiveItem);
221
+ }
222
+ }
223
+ /**
224
+ * Set focus to the last interactive menu item
225
+ */
226
+ focusLastItem() {
227
+ const menuItems = this.getAllMenuLinks();
228
+ const interactiveItems = menuItems.filter(item => this.isElementInteractive(item));
229
+ const lastItem = interactiveItems[interactiveItems.length - 1];
230
+ if (lastItem) {
231
+ this.manageFocus(lastItem);
232
+ }
233
+ }
234
+ }
235
+ //# sourceMappingURL=accessibility.controller.js.map