@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,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { LitElement } from 'lit';
7
+ type Constructor<T = {}> = new (...args: any[]) => T;
8
+ /**
9
+ * Options for focus behavior
10
+ */
11
+ export interface FocusOptions {
12
+ preventScroll?: boolean;
13
+ selectText?: boolean;
14
+ }
15
+ /**
16
+ * Options for blur behavior
17
+ */
18
+ export interface BlurOptions {
19
+ relatedTarget?: Element | null;
20
+ }
21
+ /**
22
+ * Interface for components that support focus operations
23
+ */
24
+ export interface FocusCapable {
25
+ /**
26
+ * Focus the input element
27
+ * @param options - Focus options
28
+ */
29
+ focus(options?: FocusOptions): void;
30
+ /**
31
+ * Blur the input element
32
+ * @param options - Blur options
33
+ */
34
+ blur(options?: BlurOptions): void;
35
+ /**
36
+ * Check if the input is currently focused
37
+ * @returns True if focused
38
+ */
39
+ isFocused(): boolean;
40
+ }
41
+ /**
42
+ * Mixin that provides focus management capabilities to input components
43
+ *
44
+ * @param superClass - The base class to extend
45
+ * @returns Enhanced class with focus capabilities
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * export class MyInput extends FocusMixin(LitElement) {
50
+ * @query('input') input!: HTMLInputElement;
51
+ *
52
+ * handleClick() {
53
+ * this.focus({ selectText: true });
54
+ * }
55
+ * }
56
+ * ```
57
+ */
58
+ export declare const FocusMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<FocusCapable> & T;
59
+ export {};
60
+ //# sourceMappingURL=focus-mixin.d.ts.map
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Mixin that provides focus management capabilities to input components
8
+ *
9
+ * @param superClass - The base class to extend
10
+ * @returns Enhanced class with focus capabilities
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * export class MyInput extends FocusMixin(LitElement) {
15
+ * @query('input') input!: HTMLInputElement;
16
+ *
17
+ * handleClick() {
18
+ * this.focus({ selectText: true });
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export const FocusMixin = (superClass) => {
24
+ class FocusMixinClass extends superClass {
25
+ /**
26
+ * Get the input element - must be implemented by the component
27
+ */
28
+ get inputElement() {
29
+ var _a;
30
+ // Light DOM query
31
+ const input = this.querySelector('#input, input, textarea');
32
+ if (input) {
33
+ return input;
34
+ }
35
+ // Fallback to shadowRoot for components still using Shadow DOM
36
+ const shadowInput = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#input, input, textarea');
37
+ if (shadowInput) {
38
+ return shadowInput;
39
+ }
40
+ throw new Error('FocusMixin requires an input or textarea element');
41
+ }
42
+ focus(options = {}) {
43
+ const input = this.inputElement;
44
+ if (input) {
45
+ input.focus({ preventScroll: options.preventScroll });
46
+ if (options.selectText) {
47
+ input.select();
48
+ }
49
+ }
50
+ }
51
+ blur() {
52
+ const input = this.inputElement;
53
+ if (input) {
54
+ input.blur();
55
+ }
56
+ }
57
+ isFocused() {
58
+ const input = this.inputElement;
59
+ return input ? document.activeElement === input : false;
60
+ }
61
+ }
62
+ // Cast return type to the superClass type passed in
63
+ return FocusMixinClass;
64
+ };
65
+ //# sourceMappingURL=focus-mixin.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { SelectionMixin } from './selection-mixin.js';
7
+ export { FocusMixin } from './focus-mixin.js';
8
+ export { NumberMixin } from './number-mixin.js';
9
+ export type { SelectionCapable } from './selection-mixin.js';
10
+ export type { FocusCapable, FocusOptions, BlurOptions } from './focus-mixin.js';
11
+ export type { NumberCapable } from './number-mixin.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { SelectionMixin } from './selection-mixin.js';
7
+ export { FocusMixin } from './focus-mixin.js';
8
+ export { NumberMixin } from './number-mixin.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { LitElement } from 'lit';
7
+ type Constructor<T = {}> = new (...args: any[]) => T;
8
+ /**
9
+ * Interface for components that support number operations
10
+ */
11
+ export interface NumberCapable {
12
+ /**
13
+ * Increment the number value
14
+ */
15
+ increment(): void;
16
+ /**
17
+ * Decrement the number value
18
+ */
19
+ decrement(): void;
20
+ /**
21
+ * Set the step attribute for number inputs
22
+ * @param step - The step value
23
+ */
24
+ setStep(step: string | undefined): void;
25
+ /**
26
+ * Validate if a step value is valid
27
+ * @param step - The step value to validate
28
+ * @returns True if valid
29
+ */
30
+ isValidStep(step: string | undefined): boolean;
31
+ }
32
+ /**
33
+ * Mixin that provides number input capabilities to input components
34
+ *
35
+ * @param superClass - The base class to extend
36
+ * @returns Enhanced class with number capabilities
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * export class MyInput extends NumberMixin(LitElement) {
41
+ * @query('input') input!: HTMLInputElement;
42
+ *
43
+ * handleUpClick() {
44
+ * this.increment();
45
+ * }
46
+ * }
47
+ * ```
48
+ */
49
+ export declare const NumberMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<NumberCapable> & T;
50
+ export {};
51
+ //# sourceMappingURL=number-mixin.d.ts.map
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Mixin that provides number input capabilities to input components
8
+ *
9
+ * @param superClass - The base class to extend
10
+ * @returns Enhanced class with number capabilities
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * export class MyInput extends NumberMixin(LitElement) {
15
+ * @query('input') input!: HTMLInputElement;
16
+ *
17
+ * handleUpClick() {
18
+ * this.increment();
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export const NumberMixin = (superClass) => {
24
+ class NumberMixinClass extends superClass {
25
+ /**
26
+ * Get the input element - must be implemented by the component
27
+ */
28
+ get inputElement() {
29
+ var _a;
30
+ // Light DOM query
31
+ const input = this.querySelector('#input, input');
32
+ if (input) {
33
+ return input;
34
+ }
35
+ // Fallback to shadowRoot for components still using Shadow DOM
36
+ const shadowInput = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#input, input');
37
+ if (shadowInput) {
38
+ return shadowInput;
39
+ }
40
+ throw new Error('NumberMixin requires an input element');
41
+ }
42
+ /**
43
+ * Dispatch an input event - will be overridden by components that have _dispatchInputEvent
44
+ */
45
+ dispatchInputEvent(eventName, detail) {
46
+ // Try to use the component's _dispatchInputEvent method if available
47
+ if ('_dispatchInputEvent' in this && typeof this._dispatchInputEvent === 'function') {
48
+ this._dispatchInputEvent(eventName, detail);
49
+ }
50
+ else {
51
+ // Fallback to standard event dispatch
52
+ this.dispatchEvent(new CustomEvent(eventName, {
53
+ detail,
54
+ bubbles: true,
55
+ composed: true
56
+ }));
57
+ }
58
+ }
59
+ increment() {
60
+ try {
61
+ const input = this.inputElement;
62
+ if (!input.value) {
63
+ const min = input.getAttribute('min');
64
+ input.value = min ? min : '0';
65
+ }
66
+ input.stepUp();
67
+ const newValue = input.value;
68
+ this.dispatchInputEvent('nr-input', {
69
+ value: newValue,
70
+ target: input,
71
+ action: 'increment'
72
+ });
73
+ if ('value' in this) {
74
+ this.value = newValue;
75
+ }
76
+ }
77
+ catch (error) {
78
+ console.warn('Failed to increment value:', error);
79
+ this.dispatchInputEvent('nr-increment-error', {
80
+ error,
81
+ value: this.inputElement.value,
82
+ target: this.inputElement
83
+ });
84
+ }
85
+ }
86
+ decrement() {
87
+ try {
88
+ const input = this.inputElement;
89
+ input.stepDown();
90
+ const newValue = input.value;
91
+ this.dispatchInputEvent('nr-input', {
92
+ value: newValue,
93
+ target: input,
94
+ action: 'decrement'
95
+ });
96
+ if ('value' in this) {
97
+ this.value = newValue;
98
+ }
99
+ }
100
+ catch (error) {
101
+ console.warn('Failed to decrement value:', error);
102
+ this.dispatchInputEvent('nr-decrement-error', {
103
+ error,
104
+ value: this.inputElement.value,
105
+ target: this.inputElement
106
+ });
107
+ }
108
+ }
109
+ setStep(step) {
110
+ const input = this.inputElement;
111
+ if (step && this.isValidStep(step)) {
112
+ input.setAttribute('step', step);
113
+ }
114
+ else {
115
+ input.removeAttribute('step');
116
+ }
117
+ }
118
+ isValidStep(step) {
119
+ if (!step)
120
+ return true;
121
+ const stepValue = Number.parseFloat(step);
122
+ return !Number.isNaN(stepValue) && stepValue > 0;
123
+ }
124
+ }
125
+ // Cast return type to the superClass type passed in
126
+ return NumberMixinClass;
127
+ };
128
+ //# sourceMappingURL=number-mixin.js.map
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { LitElement } from 'lit';
7
+ type Constructor<T = {}> = new (...args: any[]) => T;
8
+ /**
9
+ * Interface for components that support text selection operations
10
+ */
11
+ export interface SelectionCapable {
12
+ /**
13
+ * Select all text in the input
14
+ */
15
+ selectAll(): void;
16
+ /**
17
+ * Select a range of text in the input
18
+ * @param start - Start position
19
+ * @param end - End position
20
+ */
21
+ selectRange(start: number, end: number): void;
22
+ /**
23
+ * Get the current cursor position
24
+ * @returns The cursor position or null if not available
25
+ */
26
+ getCursorPosition(): number | null;
27
+ /**
28
+ * Set the cursor position
29
+ * @param position - The position to set
30
+ */
31
+ setCursorPosition(position: number): void;
32
+ /**
33
+ * Get the currently selected text
34
+ * @returns The selected text or empty string
35
+ */
36
+ getSelectedText(): string;
37
+ }
38
+ /**
39
+ * Mixin that provides text selection capabilities to input components
40
+ *
41
+ * @param superClass - The base class to extend
42
+ * @returns Enhanced class with selection capabilities
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * export class MyInput extends SelectionMixin(LitElement) {
47
+ * @query('input') input!: HTMLInputElement;
48
+ *
49
+ * handleDoubleClick() {
50
+ * this.selectAll();
51
+ * }
52
+ * }
53
+ * ```
54
+ */
55
+ export declare const SelectionMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<SelectionCapable> & T;
56
+ export {};
57
+ //# sourceMappingURL=selection-mixin.d.ts.map
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * Mixin that provides text selection capabilities to input components
8
+ *
9
+ * @param superClass - The base class to extend
10
+ * @returns Enhanced class with selection capabilities
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * export class MyInput extends SelectionMixin(LitElement) {
15
+ * @query('input') input!: HTMLInputElement;
16
+ *
17
+ * handleDoubleClick() {
18
+ * this.selectAll();
19
+ * }
20
+ * }
21
+ * ```
22
+ */
23
+ export const SelectionMixin = (superClass) => {
24
+ class SelectionMixinClass extends superClass {
25
+ /**
26
+ * Get the input element - must be implemented by the component
27
+ */
28
+ get inputElement() {
29
+ var _a;
30
+ // Light DOM query
31
+ const input = this.querySelector('#input, input, textarea');
32
+ if (input) {
33
+ return input;
34
+ }
35
+ // Fallback to shadowRoot for components still using Shadow DOM
36
+ const shadowInput = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#input, input, textarea');
37
+ if (shadowInput) {
38
+ return shadowInput;
39
+ }
40
+ throw new Error('SelectionMixin requires an input or textarea element');
41
+ }
42
+ selectAll() {
43
+ const input = this.inputElement;
44
+ if (input) {
45
+ input.select();
46
+ }
47
+ }
48
+ selectRange(start, end) {
49
+ const input = this.inputElement;
50
+ if (input && input.setSelectionRange) {
51
+ input.focus();
52
+ input.setSelectionRange(start, end);
53
+ }
54
+ }
55
+ getCursorPosition() {
56
+ const input = this.inputElement;
57
+ if (input && typeof input.selectionStart === 'number') {
58
+ return input.selectionStart;
59
+ }
60
+ return null;
61
+ }
62
+ setCursorPosition(position) {
63
+ const input = this.inputElement;
64
+ if (input && input.setSelectionRange) {
65
+ input.focus();
66
+ input.setSelectionRange(position, position);
67
+ }
68
+ }
69
+ getSelectedText() {
70
+ const input = this.inputElement;
71
+ if (input && input.selectionStart !== null && input.selectionEnd !== null) {
72
+ return input.value.substring(input.selectionStart, input.selectionEnd);
73
+ }
74
+ return '';
75
+ }
76
+ }
77
+ // Cast return type to the superClass type passed in
78
+ return SelectionMixinClass;
79
+ };
80
+ //# sourceMappingURL=selection-mixin.js.map
@@ -0,0 +1,2 @@
1
+ import '../input.component';
2
+ //# sourceMappingURL=nr-input_test.d.ts.map
@@ -0,0 +1,159 @@
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 { html, fixture, expect } from '@open-wc/testing';
11
+ import { EMPTY_STRING } from '../input.types';
12
+ import '../input.component';
13
+ suite('NrInputElement', () => {
14
+ test('default properties', () => __awaiter(void 0, void 0, void 0, function* () {
15
+ const el = yield fixture(html `<nr-input> </nr-input>`);
16
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
17
+ const input = el.shadowRoot.querySelector('input');
18
+ const slot = el.shadowRoot.querySelector('slot');
19
+ const assignedNode = slot.assignedNodes();
20
+ expect(el.disabled).to.be.false;
21
+ expect(el.state).to.equal("default" /* INPUT_STATE.Default */);
22
+ expect(el.value).to.equal(EMPTY_STRING);
23
+ expect(el.size).to.equal("medium" /* INPUT_SIZE.Medium */);
24
+ expect(el.type).to.equal("text" /* INPUT_TYPE.TEXT */);
25
+ expect(el.placeholder).to.equal(EMPTY_STRING);
26
+ expect(el.min).to.be.undefined;
27
+ expect(el.max).to.be.undefined;
28
+ expect(el.step).to.be.undefined;
29
+ expect(input).to.not.have.attribute('min');
30
+ expect(input).to.not.have.attribute('max');
31
+ expect(input).to.not.have.attribute('step');
32
+ expect(input.disabled).to.be.false;
33
+ expect(input.type).to.equal("text" /* INPUT_TYPE.TEXT */);
34
+ expect(input.value).to.equal(EMPTY_STRING);
35
+ expect(input.placeholder).to.equal(EMPTY_STRING);
36
+ expect(inputContainer).to.have.attribute('data-size', "medium" /* INPUT_SIZE.Medium */);
37
+ expect(inputContainer.querySelector('#warning-icon')).to.be.null;
38
+ expect(inputContainer.querySelector('#error-icon')).to.be.null;
39
+ expect(inputContainer.querySelector('#password-icon')).to.be.null;
40
+ expect(inputContainer.querySelector('#number-icons')).to.be.null;
41
+ expect(assignedNode.length).to.equal(0);
42
+ }));
43
+ test('input type password', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ const el = yield fixture(html `<nr-input type="password"> </nr-input>`);
45
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
46
+ let passwordIcon = inputContainer.querySelector('#password-icon');
47
+ expect(inputContainer.querySelector('#number-icons')).to.be.null;
48
+ expect(passwordIcon).to.exist;
49
+ expect(passwordIcon).to.have.attribute('name', 'eye');
50
+ passwordIcon.click();
51
+ yield el.updateComplete;
52
+ expect(el.inputType).to.equal('text');
53
+ passwordIcon = inputContainer.querySelector('#password-icon');
54
+ expect(passwordIcon).to.have.attribute('name', 'eye-slash');
55
+ }));
56
+ suite('input type number', () => {
57
+ test('init number input ', () => __awaiter(void 0, void 0, void 0, function* () {
58
+ const step = 5;
59
+ const min = 10;
60
+ const max = 100;
61
+ const el = yield fixture(html `<nr-input type="number" step=${step} min=${min} max=${max}> </nr-input>`);
62
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
63
+ const input = el.shadowRoot.querySelector('input');
64
+ const passwordIcon = inputContainer.querySelector('#password-icon');
65
+ const numberIcon = inputContainer.querySelector('#number-icons');
66
+ expect(passwordIcon).to.be.null;
67
+ expect(numberIcon).to.exist;
68
+ expect(input).to.have.attribute('min', min.toString());
69
+ expect(input).to.have.attribute('max', max.toString());
70
+ expect(input).to.have.attribute('step', step.toString());
71
+ }));
72
+ test('increment number', () => __awaiter(void 0, void 0, void 0, function* () {
73
+ const step = 5;
74
+ const min = 10;
75
+ const el = yield fixture(html `<nr-input type="number" step=${step} min=${min}> </nr-input>`);
76
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
77
+ const input = el.shadowRoot.querySelector('input');
78
+ const numberIcon = inputContainer.querySelector('#number-icons');
79
+ const plusButton = numberIcon.querySelector("[name='plus']");
80
+ plusButton.click();
81
+ expect(input.value).to.equal((min + step).toString());
82
+ }));
83
+ test('decrement number', () => __awaiter(void 0, void 0, void 0, function* () {
84
+ const step = 5;
85
+ const el = yield fixture(html `<nr-input type="number" step=${step}> </nr-input>`);
86
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
87
+ const input = el.shadowRoot.querySelector('input');
88
+ const inputValue = input.value;
89
+ const numberIcon = inputContainer.querySelector('#number-icons');
90
+ const minusButton = numberIcon.querySelector("[name='minus']");
91
+ minusButton.click();
92
+ expect(input.value).to.equal((+inputValue - step).toString());
93
+ }));
94
+ });
95
+ suite('input with state', () => {
96
+ test('warning input', () => __awaiter(void 0, void 0, void 0, function* () {
97
+ const inputState = "warning" /* INPUT_STATE.Warning */;
98
+ const el = yield fixture(html `<nr-input state=${inputState}> </nr-input>`);
99
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
100
+ expect(inputContainer.querySelector('#warning-icon')).to.exist;
101
+ expect(inputContainer.querySelector('#error-icon')).to.not.exist;
102
+ }));
103
+ test('error input', () => __awaiter(void 0, void 0, void 0, function* () {
104
+ const inputState = "error" /* INPUT_STATE.Error */;
105
+ const el = yield fixture(html `<nr-input state=${inputState}> </nr-input>`);
106
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
107
+ expect(inputContainer.querySelector('#warning-icon')).to.not.exist;
108
+ expect(inputContainer.querySelector('#error-icon')).to.exist;
109
+ }));
110
+ });
111
+ suite('input with size', () => {
112
+ test('large input', () => __awaiter(void 0, void 0, void 0, function* () {
113
+ const inputSize = "large" /* INPUT_SIZE.Large */;
114
+ const el = yield fixture(html `<nr-input size=${inputSize}> </nr-input>`);
115
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
116
+ expect(inputContainer).to.have.attribute('data-size', inputSize);
117
+ }));
118
+ test('medium input', () => __awaiter(void 0, void 0, void 0, function* () {
119
+ const inputSize = "medium" /* INPUT_SIZE.Medium */;
120
+ const el = yield fixture(html `<nr-input size=${inputSize}> </nr-input>`);
121
+ const inputContainer = el.shadowRoot.querySelector('#input-container');
122
+ expect(inputContainer).to.have.attribute('data-size', inputSize);
123
+ }));
124
+ });
125
+ test('input with placeholder', () => __awaiter(void 0, void 0, void 0, function* () {
126
+ const placeholder = 'text of placeholder';
127
+ const el = yield fixture(html `<nr-input placeholder=${placeholder}> </nr-input>`);
128
+ const input = el.shadowRoot.querySelector('input');
129
+ expect(input).to.have.attribute('placeholder', placeholder);
130
+ }));
131
+ test('input with label', () => __awaiter(void 0, void 0, void 0, function* () {
132
+ const inputLabel = 'input label';
133
+ const el = yield fixture(html `<nr-input> <span slot="label">${inputLabel}</span> </nr-input>`);
134
+ const slot = el.shadowRoot.querySelector('slot');
135
+ const assignedNode = slot.assignedNodes();
136
+ expect(assignedNode[0]).to.have.attribute('slot', 'label');
137
+ expect(assignedNode[0].textContent).to.equal(inputLabel);
138
+ }));
139
+ test('input with helper text', () => __awaiter(void 0, void 0, void 0, function* () {
140
+ const inputHelper = 'input helper';
141
+ const el = yield fixture(html `<nr-input> <span slot="helper-text">${inputHelper}</span> </nr-input>`);
142
+ const slot = el.shadowRoot.querySelectorAll('slot');
143
+ const assignedNode = slot[1].assignedNodes();
144
+ expect(assignedNode[0]).to.have.attribute('slot', 'helper-text');
145
+ expect(assignedNode[0].textContent).to.equal(inputHelper);
146
+ }));
147
+ test('input disabled', () => __awaiter(void 0, void 0, void 0, function* () {
148
+ const el = yield fixture(html `<nr-input disabled></nr-input>`);
149
+ const input = el.shadowRoot.querySelector('input');
150
+ expect(input.disabled).to.be.true;
151
+ let inputFocus = false;
152
+ input.addEventListener('focus', () => {
153
+ inputFocus = true;
154
+ });
155
+ input.focus();
156
+ expect(inputFocus).to.equal(false);
157
+ }));
158
+ });
159
+ //# sourceMappingURL=nr-input_test.js.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { InputValidationUtils } from './input-validation.utils.js';
7
+ export { InputRenderUtils } from './input-renderers.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { InputValidationUtils } from './input-validation.utils.js';
7
+ export { InputRenderUtils } from './input-renderers.js';
8
+ //# sourceMappingURL=index.js.map