@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,239 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseTabsController } from './base.controller.js';
7
+ /**
8
+ * Event controller manages event handling and dispatching for tabs components
9
+ * Handles click, focus, blur, and custom event dispatching
10
+ */
11
+ export class TabsEventController extends BaseTabsController {
12
+ constructor(host) {
13
+ super(host);
14
+ this._host = host;
15
+ }
16
+ get host() {
17
+ return this._host;
18
+ }
19
+ /**
20
+ * Handle tab click events
21
+ * @param tabIndex - Index of clicked tab
22
+ * @param event - Click event
23
+ */
24
+ handleTabClick(tabIndex, event) {
25
+ try {
26
+ if (!this.isValidTabIndex(tabIndex)) {
27
+ console.warn(`[TabsEventController] Invalid tab index: ${tabIndex}`);
28
+ return;
29
+ }
30
+ const tab = this.host.tabs[tabIndex];
31
+ // Check if tab is disabled
32
+ if (tab.disabled) {
33
+ event.preventDefault();
34
+ return;
35
+ }
36
+ // Prevent default if needed
37
+ event.preventDefault();
38
+ // Set active tab
39
+ this.host.setActiveTab(tabIndex, event);
40
+ // Dispatch click event
41
+ this.host.dispatchEventWithMetadata("nr-tab-click" /* TabEvent.TabClick */, {
42
+ index: tabIndex,
43
+ tab,
44
+ originalEvent: event
45
+ });
46
+ // Dispatch generic tab interaction event
47
+ this.dispatchTabEvent('tabs-interaction', {
48
+ type: 'click',
49
+ tabIndex,
50
+ tab,
51
+ timestamp: Date.now(),
52
+ modifierKeys: {
53
+ ctrl: event.ctrlKey,
54
+ shift: event.shiftKey,
55
+ alt: event.altKey,
56
+ meta: event.metaKey
57
+ }
58
+ });
59
+ }
60
+ catch (error) {
61
+ this.handleError(error, 'handleTabClick');
62
+ }
63
+ }
64
+ /**
65
+ * Handle tab focus events
66
+ * @param tabIndex - Index of focused tab
67
+ * @param event - Focus event
68
+ */
69
+ handleTabFocus(tabIndex, event) {
70
+ try {
71
+ if (!this.isValidTabIndex(tabIndex)) {
72
+ return;
73
+ }
74
+ const tab = this.host.tabs[tabIndex];
75
+ // Dispatch focus event
76
+ this.dispatchTabEvent('tabs-focus', {
77
+ tabIndex,
78
+ tab,
79
+ timestamp: Date.now(),
80
+ originalEvent: event
81
+ });
82
+ }
83
+ catch (error) {
84
+ this.handleError(error, 'handleTabFocus');
85
+ }
86
+ }
87
+ /**
88
+ * Handle tab blur events
89
+ * @param tabIndex - Index of blurred tab
90
+ * @param event - Blur event
91
+ */
92
+ handleTabBlur(tabIndex, event) {
93
+ try {
94
+ if (!this.isValidTabIndex(tabIndex)) {
95
+ return;
96
+ }
97
+ const tab = this.host.tabs[tabIndex];
98
+ // Dispatch blur event
99
+ this.dispatchTabEvent('tabs-blur', {
100
+ tabIndex,
101
+ tab,
102
+ timestamp: Date.now(),
103
+ originalEvent: event
104
+ });
105
+ }
106
+ catch (error) {
107
+ this.handleError(error, 'handleTabBlur');
108
+ }
109
+ }
110
+ /**
111
+ * Dispatch custom tab events
112
+ * @param eventName - Name of the event
113
+ * @param detail - Event detail data
114
+ */
115
+ dispatchTabEvent(eventName, detail) {
116
+ try {
117
+ this.dispatchEvent(new CustomEvent(eventName, {
118
+ detail,
119
+ bubbles: true,
120
+ composed: true,
121
+ }));
122
+ }
123
+ catch (error) {
124
+ this.handleError(error, 'dispatchTabEvent');
125
+ }
126
+ }
127
+ /**
128
+ * Handle tab change events (when active tab changes)
129
+ * @param newTabIndex - New active tab index
130
+ * @param previousTabIndex - Previous active tab index
131
+ * @param event - Original event that triggered the change
132
+ */
133
+ handleTabChange(newTabIndex, previousTabIndex, event) {
134
+ try {
135
+ if (!this.isValidTabIndex(newTabIndex)) {
136
+ console.warn(`[TabsEventController] Invalid new tab index: ${newTabIndex}`);
137
+ return;
138
+ }
139
+ const newTab = this.host.tabs[newTabIndex];
140
+ const previousTab = this.isValidTabIndex(previousTabIndex) ? this.host.tabs[previousTabIndex] : null;
141
+ // Dispatch tab change event
142
+ this.dispatchTabEvent('tabs-change', {
143
+ newTabIndex,
144
+ previousTabIndex,
145
+ newTab,
146
+ previousTab,
147
+ timestamp: Date.now(),
148
+ originalEvent: event
149
+ });
150
+ }
151
+ catch (error) {
152
+ this.handleError(error, 'handleTabChange');
153
+ }
154
+ }
155
+ /**
156
+ * Handle tab activation events (for keyboard and programmatic activation)
157
+ * @param tabIndex - Index of activated tab
158
+ * @param activationType - Type of activation (click, keyboard, programmatic)
159
+ * @param event - Original event
160
+ */
161
+ handleTabActivation(tabIndex, activationType, event) {
162
+ try {
163
+ if (!this.isValidTabIndex(tabIndex)) {
164
+ return;
165
+ }
166
+ const tab = this.host.tabs[tabIndex];
167
+ // Dispatch activation event
168
+ this.dispatchTabEvent('tabs-activation', {
169
+ tabIndex,
170
+ tab,
171
+ activationType,
172
+ timestamp: Date.now(),
173
+ originalEvent: event
174
+ });
175
+ }
176
+ catch (error) {
177
+ this.handleError(error, 'handleTabActivation');
178
+ }
179
+ }
180
+ /**
181
+ * Handle tab hover events
182
+ * @param tabIndex - Index of hovered tab
183
+ * @param event - Mouse event
184
+ * @param isEnter - Whether mouse is entering (true) or leaving (false)
185
+ */
186
+ handleTabHover(tabIndex, event, isEnter) {
187
+ try {
188
+ if (!this.isValidTabIndex(tabIndex)) {
189
+ return;
190
+ }
191
+ const tab = this.host.tabs[tabIndex];
192
+ // Dispatch hover event
193
+ this.dispatchTabEvent(isEnter ? 'tabs-hover-enter' : 'tabs-hover-leave', {
194
+ tabIndex,
195
+ tab,
196
+ timestamp: Date.now(),
197
+ originalEvent: event
198
+ });
199
+ }
200
+ catch (error) {
201
+ this.handleError(error, 'handleTabHover');
202
+ }
203
+ }
204
+ /**
205
+ * Get event listeners for a tab element
206
+ * @param tabIndex - Index of the tab
207
+ */
208
+ getTabEventListeners(tabIndex) {
209
+ return {
210
+ click: (event) => this.handleTabClick(tabIndex, event),
211
+ focus: (event) => this.handleTabFocus(tabIndex, event),
212
+ blur: (event) => this.handleTabBlur(tabIndex, event),
213
+ mouseenter: (event) => this.handleTabHover(tabIndex, event, true),
214
+ mouseleave: (event) => this.handleTabHover(tabIndex, event, false)
215
+ };
216
+ }
217
+ /**
218
+ * Validate if tab can be activated
219
+ * @param tab - Tab to validate
220
+ */
221
+ canActivateTab(tab) {
222
+ return !tab.disabled;
223
+ }
224
+ /**
225
+ * Get tab interaction state
226
+ * @param tabIndex - Index of tab
227
+ */
228
+ getTabInteractionState(tabIndex) {
229
+ var _a;
230
+ const tab = this.host.tabs[tabIndex];
231
+ const isActive = tabIndex === this.host.activeTab;
232
+ return {
233
+ isActive,
234
+ isDisabled: (_a = tab.disabled) !== null && _a !== void 0 ? _a : false,
235
+ canActivate: this.canActivateTab(tab)
236
+ };
237
+ }
238
+ }
239
+ //# sourceMappingURL=event.controller.js.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export { BaseTabsController, type TabsHost, type TabsBaseController, type ErrorHandler } from './base.controller.js';
7
+ export { TabsKeyboardController, type KeyboardController, type TabsKeyboardHost } from './keyboard.controller.js';
8
+ export { TabsDragDropController, type DragDropController, type TabsDragDropHost } from './dragdrop.controller.js';
9
+ export { TabsEditableController, type EditableController, type TabsEditableHost } from './editable.controller.js';
10
+ export { TabsEventController, type EventController, type TabsEventHost } from './event.controller.js';
11
+ export { TabsPopOutController, type TabsPopOutHost } from './popout.controller.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ // Base controller exports
7
+ export { BaseTabsController } from './base.controller.js';
8
+ // Keyboard controller exports
9
+ export { TabsKeyboardController } from './keyboard.controller.js';
10
+ // Drag and drop controller exports
11
+ export { TabsDragDropController } from './dragdrop.controller.js';
12
+ // Editable controller exports
13
+ export { TabsEditableController } from './editable.controller.js';
14
+ // Event controller exports
15
+ export { TabsEventController } from './event.controller.js';
16
+ // Pop-out controller exports
17
+ export { TabsPopOutController } from './popout.controller.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { TabsHost, BaseTabsController } from './base.controller.js';
7
+ import { ReactiveControllerHost } from 'lit';
8
+ /**
9
+ * Keyboard controller interface for tabs components
10
+ */
11
+ export interface KeyboardController {
12
+ handleKeyDown(event: KeyboardEvent): void;
13
+ handleTabKeyDown(event: KeyboardEvent, tabIndex: number): void;
14
+ isActivationKey(event: KeyboardEvent): boolean;
15
+ isArrowKey(event: KeyboardEvent): boolean;
16
+ }
17
+ /**
18
+ * Enhanced tabs host interface for keyboard functionality
19
+ */
20
+ export interface TabsKeyboardHost extends TabsHost {
21
+ orientation: string;
22
+ setActiveTab(index: number, event?: Event): void;
23
+ }
24
+ /**
25
+ * Keyboard controller manages keyboard navigation for tabs components
26
+ * Handles Tab/Shift+Tab, Arrow keys, Enter/Space activation following ARIA best practices
27
+ */
28
+ export declare class TabsKeyboardController extends BaseTabsController implements KeyboardController {
29
+ protected _host: TabsKeyboardHost & ReactiveControllerHost;
30
+ private keyboardHandler;
31
+ constructor(host: TabsKeyboardHost & ReactiveControllerHost);
32
+ get host(): TabsKeyboardHost & ReactiveControllerHost;
33
+ hostConnected(): void;
34
+ hostDisconnected(): void;
35
+ /**
36
+ * Handle keyboard events for tabs navigation
37
+ * @param event - The keyboard event
38
+ */
39
+ handleKeyDown(event: KeyboardEvent): void;
40
+ /**
41
+ * Handle keyboard events for specific tab
42
+ * @param event - The keyboard event
43
+ * @param tabIndex - The tab index
44
+ */
45
+ handleTabKeyDown(event: KeyboardEvent, tabIndex: number): void;
46
+ /**
47
+ * Check if key is activation key (Enter or Space)
48
+ * @param event - The keyboard event
49
+ */
50
+ isActivationKey(event: KeyboardEvent): boolean;
51
+ /**
52
+ * Check if key is arrow key
53
+ * @param event - The keyboard event
54
+ */
55
+ isArrowKey(event: KeyboardEvent): boolean;
56
+ /**
57
+ * Activate tab and dispatch events
58
+ */
59
+ private activateTab;
60
+ /**
61
+ * Navigate to previous enabled tab
62
+ */
63
+ private navigateToPreviousTab;
64
+ /**
65
+ * Navigate to next enabled tab
66
+ */
67
+ private navigateToNextTab;
68
+ /**
69
+ * Navigate to first enabled tab
70
+ */
71
+ private navigateToFirstTab;
72
+ /**
73
+ * Navigate to last enabled tab
74
+ */
75
+ private navigateToLastTab;
76
+ /**
77
+ * Focus specific tab element
78
+ */
79
+ private focusTab;
80
+ /**
81
+ * Get indices of enabled tabs
82
+ */
83
+ private getEnabledTabIndices;
84
+ }
85
+ //# sourceMappingURL=keyboard.controller.d.ts.map
@@ -0,0 +1,233 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseTabsController } from './base.controller.js';
7
+ /**
8
+ * Keyboard controller manages keyboard navigation for tabs components
9
+ * Handles Tab/Shift+Tab, Arrow keys, Enter/Space activation following ARIA best practices
10
+ */
11
+ export class TabsKeyboardController extends BaseTabsController {
12
+ constructor(host) {
13
+ super(host);
14
+ this._host = host;
15
+ this.keyboardHandler = (event) => this.handleKeyDown(event);
16
+ }
17
+ get host() {
18
+ return this._host;
19
+ }
20
+ hostConnected() {
21
+ super.hostConnected();
22
+ // Add global keyboard listeners
23
+ this._host.addEventListener('keydown', this.keyboardHandler);
24
+ }
25
+ hostDisconnected() {
26
+ super.hostDisconnected();
27
+ // Remove global keyboard listeners
28
+ this._host.removeEventListener('keydown', this.keyboardHandler);
29
+ }
30
+ /**
31
+ * Handle keyboard events for tabs navigation
32
+ * @param event - The keyboard event
33
+ */
34
+ handleKeyDown(event) {
35
+ try {
36
+ if (this.host.disabled)
37
+ return;
38
+ const target = event.target;
39
+ const tabElement = target.closest('.tab-label');
40
+ if (!tabElement)
41
+ return;
42
+ const tabIndex = Number.parseInt(tabElement.getAttribute('data-index') || '0');
43
+ if (!this.isValidTabIndex(tabIndex))
44
+ return;
45
+ this.handleTabKeyDown(event, tabIndex);
46
+ }
47
+ catch (error) {
48
+ this.handleError(error, 'handleKeyDown');
49
+ }
50
+ }
51
+ /**
52
+ * Handle keyboard events for specific tab
53
+ * @param event - The keyboard event
54
+ * @param tabIndex - The tab index
55
+ */
56
+ handleTabKeyDown(event, tabIndex) {
57
+ try {
58
+ const isHorizontal = this.host.orientation !== 'vertical';
59
+ switch (event.key) {
60
+ case 'Enter':
61
+ case ' ':
62
+ event.preventDefault();
63
+ this.activateTab(tabIndex, event);
64
+ break;
65
+ case 'ArrowLeft':
66
+ if (isHorizontal) {
67
+ event.preventDefault();
68
+ this.navigateToPreviousTab(tabIndex);
69
+ }
70
+ break;
71
+ case 'ArrowRight':
72
+ if (isHorizontal) {
73
+ event.preventDefault();
74
+ this.navigateToNextTab(tabIndex);
75
+ }
76
+ break;
77
+ case 'ArrowUp':
78
+ if (!isHorizontal) {
79
+ event.preventDefault();
80
+ this.navigateToPreviousTab(tabIndex);
81
+ }
82
+ break;
83
+ case 'ArrowDown':
84
+ if (!isHorizontal) {
85
+ event.preventDefault();
86
+ this.navigateToNextTab(tabIndex);
87
+ }
88
+ break;
89
+ case 'Home':
90
+ event.preventDefault();
91
+ this.navigateToFirstTab();
92
+ break;
93
+ case 'End':
94
+ event.preventDefault();
95
+ this.navigateToLastTab();
96
+ break;
97
+ }
98
+ }
99
+ catch (error) {
100
+ this.handleError(error, 'handleTabKeyDown');
101
+ }
102
+ }
103
+ /**
104
+ * Check if key is activation key (Enter or Space)
105
+ * @param event - The keyboard event
106
+ */
107
+ isActivationKey(event) {
108
+ return event.key === 'Enter' || event.key === ' ';
109
+ }
110
+ /**
111
+ * Check if key is arrow key
112
+ * @param event - The keyboard event
113
+ */
114
+ isArrowKey(event) {
115
+ return ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key);
116
+ }
117
+ /**
118
+ * Activate tab and dispatch events
119
+ */
120
+ activateTab(tabIndex, event) {
121
+ try {
122
+ this.host.setActiveTab(tabIndex, event);
123
+ // Dispatch keyboard activation event
124
+ this.dispatchEvent(new CustomEvent('tabs-keyboard-activation', {
125
+ detail: {
126
+ tabIndex,
127
+ tab: this.host.tabs[tabIndex],
128
+ key: event.key,
129
+ timestamp: Date.now()
130
+ },
131
+ bubbles: true,
132
+ composed: true,
133
+ }));
134
+ }
135
+ catch (error) {
136
+ this.handleError(error, 'activateTab');
137
+ }
138
+ }
139
+ /**
140
+ * Navigate to previous enabled tab
141
+ */
142
+ navigateToPreviousTab(currentIndex) {
143
+ try {
144
+ const enabledTabs = this.getEnabledTabIndices();
145
+ const currentIndexInEnabled = enabledTabs.indexOf(currentIndex);
146
+ if (currentIndexInEnabled > 0) {
147
+ const previousIndex = enabledTabs[currentIndexInEnabled - 1];
148
+ this.focusTab(previousIndex);
149
+ }
150
+ else if (enabledTabs.length > 0) {
151
+ // Wrap to last enabled tab
152
+ const lastIndex = enabledTabs[enabledTabs.length - 1];
153
+ this.focusTab(lastIndex);
154
+ }
155
+ }
156
+ catch (error) {
157
+ this.handleError(error, 'navigateToPreviousTab');
158
+ }
159
+ }
160
+ /**
161
+ * Navigate to next enabled tab
162
+ */
163
+ navigateToNextTab(currentIndex) {
164
+ try {
165
+ const enabledTabs = this.getEnabledTabIndices();
166
+ const currentIndexInEnabled = enabledTabs.indexOf(currentIndex);
167
+ if (currentIndexInEnabled < enabledTabs.length - 1) {
168
+ const nextIndex = enabledTabs[currentIndexInEnabled + 1];
169
+ this.focusTab(nextIndex);
170
+ }
171
+ else if (enabledTabs.length > 0) {
172
+ // Wrap to first enabled tab
173
+ const firstIndex = enabledTabs[0];
174
+ this.focusTab(firstIndex);
175
+ }
176
+ }
177
+ catch (error) {
178
+ this.handleError(error, 'navigateToNextTab');
179
+ }
180
+ }
181
+ /**
182
+ * Navigate to first enabled tab
183
+ */
184
+ navigateToFirstTab() {
185
+ try {
186
+ const enabledTabs = this.getEnabledTabIndices();
187
+ if (enabledTabs.length > 0) {
188
+ this.focusTab(enabledTabs[0]);
189
+ }
190
+ }
191
+ catch (error) {
192
+ this.handleError(error, 'navigateToFirstTab');
193
+ }
194
+ }
195
+ /**
196
+ * Navigate to last enabled tab
197
+ */
198
+ navigateToLastTab() {
199
+ try {
200
+ const enabledTabs = this.getEnabledTabIndices();
201
+ if (enabledTabs.length > 0) {
202
+ this.focusTab(enabledTabs[enabledTabs.length - 1]);
203
+ }
204
+ }
205
+ catch (error) {
206
+ this.handleError(error, 'navigateToLastTab');
207
+ }
208
+ }
209
+ /**
210
+ * Focus specific tab element
211
+ */
212
+ focusTab(tabIndex) {
213
+ try {
214
+ const tabElement = this.getTabElement(tabIndex);
215
+ if (tabElement) {
216
+ tabElement.focus();
217
+ }
218
+ }
219
+ catch (error) {
220
+ this.handleError(error, 'focusTab');
221
+ }
222
+ }
223
+ /**
224
+ * Get indices of enabled tabs
225
+ */
226
+ getEnabledTabIndices() {
227
+ return this.host.tabs
228
+ .map((tab, index) => ({ tab, index }))
229
+ .filter(({ tab }) => !tab.disabled)
230
+ .map(({ index }) => index);
231
+ }
232
+ }
233
+ //# sourceMappingURL=keyboard.controller.js.map
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
7
+ import { TabItem, TabPopOutConfig, PoppedOutTab, TabsPanelConfig } from '../tabs.types.js';
8
+ /**
9
+ * Host interface for tabs pop-out controller
10
+ */
11
+ export interface TabsPopOutHost extends ReactiveControllerHost {
12
+ /** Tab items array */
13
+ tabs: TabItem[];
14
+ /** Pop-out configuration */
15
+ popOut?: TabPopOutConfig;
16
+ /** Panel configuration for making tabs pannable */
17
+ panelConfig?: TabsPanelConfig;
18
+ /** Method to dispatch custom events */
19
+ dispatchEventWithMetadata(eventName: string, detail: any): void;
20
+ /** Method to check if a component is available */
21
+ isComponentAvailable(componentName: string): boolean;
22
+ /** Method to request update */
23
+ requestUpdate(): void;
24
+ }
25
+ /**
26
+ * Controller for managing tab pop-out functionality
27
+ */
28
+ export declare class TabsPopOutController implements ReactiveController {
29
+ private host;
30
+ private poppedOutTabs;
31
+ private popOutIdCounter;
32
+ constructor(host: TabsPopOutHost);
33
+ hostConnected(): void;
34
+ hostDisconnected(): void;
35
+ /**
36
+ * Initialize pop-out states for all tabs
37
+ */
38
+ private initializeTabStates;
39
+ /**
40
+ * Check if pop-out functionality is enabled
41
+ */
42
+ isPopOutEnabled(): boolean;
43
+ /**
44
+ * Check if a specific tab can be popped out
45
+ */
46
+ canPopOut(tab: TabItem): boolean;
47
+ /**
48
+ * Check if a specific tab can be popped back in
49
+ */
50
+ canPopIn(tab: TabItem): boolean;
51
+ /**
52
+ * Generate unique pop-out ID
53
+ */
54
+ private generatePopOutId;
55
+ /**
56
+ * Pop out a tab to a window panel
57
+ */
58
+ popOutTab(tabIndex: number): Promise<void>;
59
+ /**
60
+ * Pop a tab back into the tabs container
61
+ */
62
+ popInTab(popOutId: string): Promise<void>;
63
+ /**
64
+ * Create window panel for popped-out tab
65
+ */
66
+ private createWindowPanel;
67
+ /**
68
+ * Destroy window panel
69
+ */
70
+ private destroyWindowPanel;
71
+ /**
72
+ * Clean up all popped-out tabs
73
+ */
74
+ private cleanupPoppedOutTabs;
75
+ /**
76
+ * Get all currently popped-out tabs
77
+ */
78
+ getPoppedOutTabs(): PoppedOutTab[];
79
+ /**
80
+ * Check if any tabs are currently popped out
81
+ */
82
+ hasPopppedOutTabs(): boolean;
83
+ /**
84
+ * Handle tab removal - clean up if tab is popped out
85
+ */
86
+ handleTabRemoval(tabIndex: number): void;
87
+ /**
88
+ * Public method to be called from tab component
89
+ */
90
+ handlePopOutRequest(tabIndex: number): Promise<void>;
91
+ /**
92
+ * Public method to be called from panel or placeholder
93
+ */
94
+ handlePopInRequest(popOutId: string): Promise<void>;
95
+ }
96
+ //# sourceMappingURL=popout.controller.d.ts.map