@nuraly/lumenui 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/dist/nuralyui.bundle.js +2010 -1271
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  4. package/dist/src/components/button/controllers/base.controller.js +13 -0
  5. package/dist/src/components/button/controllers/index.d.ts +10 -0
  6. package/dist/src/components/button/controllers/index.js +10 -0
  7. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  8. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  9. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  10. package/dist/src/components/button/controllers/link.controller.js +75 -0
  11. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  12. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  13. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  14. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  15. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  16. package/dist/src/components/button/interfaces/index.js +2 -0
  17. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  18. package/dist/src/components/button/test/nr-button_test.js +91 -0
  19. package/dist/src/components/canvas/base-canvas.component.d.ts +2 -1
  20. package/dist/src/components/canvas/base-canvas.component.js +6 -0
  21. package/dist/src/components/canvas/bundle.js +702 -475
  22. package/dist/src/components/canvas/bundle.js.gz +0 -0
  23. package/dist/src/components/canvas/chatbot-panel.style.js +50 -59
  24. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  25. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  26. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  27. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  28. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  29. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  30. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  31. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  32. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  33. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  34. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  35. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  36. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  37. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  38. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  39. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  40. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  41. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  42. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  43. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  44. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  45. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  46. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  47. package/dist/src/components/canvas/controllers/index.js +32 -0
  48. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  49. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  50. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  51. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  52. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  53. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  54. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  55. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  56. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  57. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  58. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  59. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  60. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  61. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  62. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  63. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  64. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  65. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  66. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  67. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  68. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  69. package/dist/src/components/canvas/data-node/index.js +12 -0
  70. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  71. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  72. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  73. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  74. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  75. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  76. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  77. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  78. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  79. package/dist/src/components/canvas/interfaces/index.js +7 -0
  80. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  81. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  82. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  83. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  84. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  85. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  86. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  87. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  88. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  89. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  90. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  91. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  92. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  93. package/dist/src/components/canvas/templates/index.js +30 -0
  94. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  95. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  96. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  97. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  98. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  99. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  100. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  101. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  102. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  103. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  104. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  105. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  106. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  107. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  108. package/dist/src/components/canvas/workflow-canvas.component.js +6 -0
  109. package/dist/src/components/canvas/workflow-canvas.style.js +46 -55
  110. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  111. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  112. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  113. package/dist/src/components/chatbot/audio-compress.js +84 -0
  114. package/dist/src/components/chatbot/bundle.js +388 -144
  115. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  116. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  117. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  118. package/dist/src/components/chatbot/chatbot.component.d.ts +12 -0
  119. package/dist/src/components/chatbot/chatbot.component.js +41 -2
  120. package/dist/src/components/chatbot/chatbot.style.js +141 -0
  121. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  122. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  123. package/dist/src/components/chatbot/controllers/index.js +8 -0
  124. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  125. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  126. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  127. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  128. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  129. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  130. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  131. package/dist/src/components/chatbot/core/index.js +15 -0
  132. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  133. package/dist/src/components/chatbot/core/types.js +16 -0
  134. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  135. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  136. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  137. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  138. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  139. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  140. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  141. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  142. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  143. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  144. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  145. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  146. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  147. package/dist/src/components/chatbot/plugins/index.js +17 -0
  148. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  149. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  150. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  151. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  152. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  153. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  154. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  155. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  156. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  157. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  158. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  159. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  160. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  161. package/dist/src/components/chatbot/providers/index.js +13 -0
  162. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  163. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  164. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  165. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  166. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  167. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  168. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  169. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  170. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  171. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  172. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  173. package/dist/src/components/chatbot/storage/index.js +8 -0
  174. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  175. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  176. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  177. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  178. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  179. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  180. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  181. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  182. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  183. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  184. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  185. package/dist/src/components/chatbot/templates/index.js +15 -0
  186. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  187. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  188. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  189. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  190. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  191. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  192. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  193. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  194. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  195. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  196. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  197. package/dist/src/components/chatbot/utils/format.js +84 -0
  198. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  199. package/dist/src/components/chatbot/utils/index.js +7 -0
  200. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  201. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  202. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  203. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  204. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  205. package/dist/src/components/checkbox/mixins/index.js +8 -0
  206. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  207. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  208. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  209. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  210. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  211. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  212. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  213. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  214. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  215. package/dist/src/components/collapse/controllers/index.js +11 -0
  216. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  217. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  218. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  219. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  220. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  221. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  222. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  223. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  224. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  225. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  226. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  227. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  228. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  229. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  230. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  231. package/dist/src/components/datepicker/controllers/index.js +11 -0
  232. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  233. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  234. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  235. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  236. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  237. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  238. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  239. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  240. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  241. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  242. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  243. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  244. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  245. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  246. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  247. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  248. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  249. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  250. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  251. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  252. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  253. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  254. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  255. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  256. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  257. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  258. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  259. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  260. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  261. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  262. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  263. package/dist/src/components/datepicker/utils/index.js +11 -0
  264. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  265. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  266. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  267. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  268. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  269. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  270. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  271. package/dist/src/components/document/demo/document-demo.js +40 -0
  272. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  273. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  274. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  275. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  276. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  277. package/dist/src/components/dropdown/controllers/index.js +3 -0
  278. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  279. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  280. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  281. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  282. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  283. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  284. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  285. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  286. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  287. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  288. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  289. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  290. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  291. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  292. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  293. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  294. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  295. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  296. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  297. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  298. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  299. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  300. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  301. package/dist/src/components/icon/mixins/index.js +7 -0
  302. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  303. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  304. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  305. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  306. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  307. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  308. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  309. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  310. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  311. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  312. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  313. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  314. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  315. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  316. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  317. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  318. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  319. package/dist/src/components/iconpicker/utils/index.js +8 -0
  320. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  321. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  322. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  323. package/dist/src/components/input/controllers/base.controller.js +13 -0
  324. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  325. package/dist/src/components/input/controllers/event.controller.js +355 -0
  326. package/dist/src/components/input/controllers/index.d.ts +14 -0
  327. package/dist/src/components/input/controllers/index.js +10 -0
  328. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  329. package/dist/src/components/input/controllers/state.controller.js +245 -0
  330. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  331. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  332. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  333. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  334. package/dist/src/components/input/mixins/index.d.ts +12 -0
  335. package/dist/src/components/input/mixins/index.js +9 -0
  336. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  337. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  338. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  339. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  340. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  341. package/dist/src/components/input/test/nr-input_test.js +159 -0
  342. package/dist/src/components/input/utils/index.d.ts +8 -0
  343. package/dist/src/components/input/utils/index.js +8 -0
  344. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  345. package/dist/src/components/input/utils/input-renderers.js +178 -0
  346. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  347. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  348. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  349. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  350. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  351. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  352. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  353. package/dist/src/components/menu/controllers/index.js +10 -0
  354. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  355. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  356. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  357. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  358. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  359. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  360. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  361. package/dist/src/components/menu/interfaces/index.js +7 -0
  362. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  363. package/dist/src/components/modal/controllers/index.js +8 -0
  364. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  365. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  366. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  367. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  368. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  369. package/dist/src/components/panel/controllers/index.js +8 -0
  370. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  371. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  372. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  373. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  374. package/dist/src/components/presence/bundle.js +528 -0
  375. package/dist/src/components/presence/bundle.js.gz +0 -0
  376. package/dist/src/components/presence/index.d.ts +10 -0
  377. package/dist/src/components/presence/index.js +10 -0
  378. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  379. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  380. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  381. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  382. package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
  383. package/dist/src/components/presence/presence-chat.component.js +228 -0
  384. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  385. package/dist/src/components/presence/presence-chat.style.js +248 -0
  386. package/dist/src/components/presence/presence.component.d.ts +71 -0
  387. package/dist/src/components/presence/presence.component.js +263 -0
  388. package/dist/src/components/presence/presence.style.d.ts +7 -0
  389. package/dist/src/components/presence/presence.style.js +12 -0
  390. package/dist/src/components/presence/presence.types.d.ts +31 -0
  391. package/dist/src/components/presence/presence.types.js +7 -0
  392. package/dist/src/components/presence/react.d.ts +24 -0
  393. package/dist/src/components/presence/react.js +41 -0
  394. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  395. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  396. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  397. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  398. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  399. package/dist/src/components/radio-group/controllers/index.js +11 -0
  400. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  401. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  402. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  403. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  404. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  405. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  406. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  407. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  408. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  409. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  410. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  411. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  412. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  413. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  414. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  415. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  416. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  417. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  418. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  419. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  420. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  421. package/dist/src/components/select/controllers/base.controller.js +8 -0
  422. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  423. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  424. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  425. package/dist/src/components/select/controllers/event.controller.js +113 -0
  426. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  427. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  428. package/dist/src/components/select/controllers/index.d.ts +9 -0
  429. package/dist/src/components/select/controllers/index.js +9 -0
  430. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  431. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  432. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  433. package/dist/src/components/select/controllers/search.controller.js +167 -0
  434. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  435. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  436. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  437. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  438. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  439. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  440. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  441. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  442. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  443. package/dist/src/components/select/interfaces/index.js +3 -0
  444. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  445. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  446. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  447. package/dist/src/components/slider-input/utils/index.js +2 -0
  448. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  449. package/dist/src/components/table/controllers/base.controller.js +13 -0
  450. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  451. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  452. package/dist/src/components/table/controllers/index.d.ts +11 -0
  453. package/dist/src/components/table/controllers/index.js +11 -0
  454. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  455. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  456. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  457. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  458. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  459. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  460. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  461. package/dist/src/components/table/interfaces/index.js +7 -0
  462. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  463. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  464. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  465. package/dist/src/components/table/templates/actions.template.js +15 -0
  466. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  467. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  468. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  469. package/dist/src/components/table/templates/content.template.js +208 -0
  470. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  471. package/dist/src/components/table/templates/empty.template.js +47 -0
  472. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  473. package/dist/src/components/table/templates/filter.template.js +28 -0
  474. package/dist/src/components/table/templates/index.d.ts +8 -0
  475. package/dist/src/components/table/templates/index.js +8 -0
  476. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  477. package/dist/src/components/table/templates/loading.template.js +51 -0
  478. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  479. package/dist/src/components/table/templates/pagination.template.js +52 -0
  480. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  481. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  482. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  483. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  484. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  485. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  486. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  487. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  488. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  489. package/dist/src/components/tabs/controllers/index.js +18 -0
  490. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  491. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  492. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  493. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  494. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  495. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  496. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  497. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  498. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  499. package/dist/src/components/textarea/controllers/index.js +9 -0
  500. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  501. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  502. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  503. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  504. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  505. package/dist/src/components/timepicker/controllers/index.js +9 -0
  506. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  507. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  508. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  509. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  510. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  511. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  512. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  513. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  514. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  515. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  516. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  517. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  518. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  519. package/dist/src/components/toast/controllers/index.js +7 -0
  520. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  521. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  522. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  523. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  524. package/package.json +27 -1
  525. package/packages/common/dist/VERSIONS.md +1 -1
@@ -0,0 +1,202 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseTabsController } from './base.controller.js';
7
+ /**
8
+ * Drag and drop controller manages drag and drop functionality for tabs components
9
+ * Handles all drag events and tab reordering
10
+ */
11
+ export class TabsDragDropController extends BaseTabsController {
12
+ constructor(host) {
13
+ super(host);
14
+ this._host = host;
15
+ this.dragOverHandler = (event) => this.handleDragOver(event);
16
+ }
17
+ get host() {
18
+ return this._host;
19
+ }
20
+ hostConnected() {
21
+ super.hostConnected();
22
+ // Add global drag over listener
23
+ this._host.addEventListener('dragover', this.dragOverHandler);
24
+ }
25
+ hostDisconnected() {
26
+ super.hostDisconnected();
27
+ // Remove global drag over listener
28
+ this._host.removeEventListener('dragover', this.dragOverHandler);
29
+ }
30
+ /**
31
+ * Handle drag start event
32
+ * @param event - The drag event
33
+ */
34
+ handleDragStart(event) {
35
+ try {
36
+ if (!event.dataTransfer)
37
+ return;
38
+ const target = event.currentTarget;
39
+ const tabIndex = target.dataset.index || '';
40
+ if (!this.isValidTabIndex(Number.parseInt(tabIndex)))
41
+ return;
42
+ event.dataTransfer.setData('text/plain', tabIndex);
43
+ event.dataTransfer.effectAllowed = 'move';
44
+ target.classList.add('dragging-start');
45
+ // Dispatch drag start event
46
+ this.dispatchEvent(new CustomEvent('tabs-drag-start', {
47
+ detail: {
48
+ tabIndex: Number.parseInt(tabIndex),
49
+ tab: this.host.tabs[Number.parseInt(tabIndex)],
50
+ timestamp: Date.now()
51
+ },
52
+ bubbles: true,
53
+ composed: true,
54
+ }));
55
+ }
56
+ catch (error) {
57
+ this.handleError(error, 'handleDragStart');
58
+ }
59
+ }
60
+ /**
61
+ * Handle drag over event
62
+ * @param event - The drag event
63
+ */
64
+ handleDragOver(event) {
65
+ try {
66
+ event.preventDefault();
67
+ if (event.dataTransfer) {
68
+ event.dataTransfer.dropEffect = 'move';
69
+ }
70
+ }
71
+ catch (error) {
72
+ this.handleError(error, 'handleDragOver');
73
+ }
74
+ }
75
+ /**
76
+ * Handle drag enter event
77
+ * @param event - The drag event
78
+ */
79
+ handleDragEnter(event) {
80
+ try {
81
+ event.preventDefault();
82
+ const target = event.currentTarget;
83
+ if (target.contains(event.relatedTarget)) {
84
+ return;
85
+ }
86
+ target.classList.add('dragging');
87
+ }
88
+ catch (error) {
89
+ this.handleError(error, 'handleDragEnter');
90
+ }
91
+ }
92
+ /**
93
+ * Handle drag leave event
94
+ * @param event - The drag event
95
+ */
96
+ handleDragLeave(event) {
97
+ try {
98
+ event.preventDefault();
99
+ const target = event.currentTarget;
100
+ if (target.contains(event.relatedTarget)) {
101
+ return;
102
+ }
103
+ if (target.classList.contains('dragging')) {
104
+ target.classList.remove('dragging');
105
+ }
106
+ }
107
+ catch (error) {
108
+ this.handleError(error, 'handleDragLeave');
109
+ }
110
+ }
111
+ /**
112
+ * Handle drop event
113
+ * @param event - The drag event
114
+ */
115
+ handleDrop(event) {
116
+ try {
117
+ event.preventDefault();
118
+ if (!event.dataTransfer)
119
+ return;
120
+ const target = event.currentTarget;
121
+ const sourceIndex = Number.parseInt(event.dataTransfer.getData('text/plain'));
122
+ const targetIndex = Number.parseInt(target.dataset.index || '0');
123
+ if (this.isValidTabReorder(sourceIndex, targetIndex)) {
124
+ this.performTabReorder(sourceIndex, targetIndex);
125
+ }
126
+ this.cleanupDragClasses();
127
+ }
128
+ catch (error) {
129
+ this.handleError(error, 'handleDrop');
130
+ }
131
+ }
132
+ /**
133
+ * Check if tab can be moved (drag and drop enabled)
134
+ */
135
+ canMoveTab() {
136
+ var _a, _b;
137
+ return (_b = (_a = this.host.editable) === null || _a === void 0 ? void 0 : _a.canMove) !== null && _b !== void 0 ? _b : false;
138
+ }
139
+ /**
140
+ * Validate if tab reorder is valid
141
+ */
142
+ isValidTabReorder(sourceIndex, targetIndex) {
143
+ return (sourceIndex !== targetIndex &&
144
+ this.isValidTabIndex(sourceIndex) &&
145
+ this.isValidTabIndex(targetIndex) &&
146
+ this.canMoveTab());
147
+ }
148
+ /**
149
+ * Perform tab reordering
150
+ */
151
+ performTabReorder(sourceIndex, targetIndex) {
152
+ try {
153
+ const sourceTab = this.host.tabs[sourceIndex];
154
+ const targetTab = this.host.tabs[targetIndex];
155
+ // Dispatch tab order change event
156
+ this.host.dispatchEventWithMetadata("nr-tab-order-change" /* TabEvent.TabOrderChange */, {
157
+ sourceIndex,
158
+ targetIndex,
159
+ sourceTab,
160
+ targetTab
161
+ });
162
+ // Dispatch drag drop complete event
163
+ this.dispatchEvent(new CustomEvent('tabs-drag-complete', {
164
+ detail: {
165
+ sourceIndex,
166
+ targetIndex,
167
+ sourceTab,
168
+ targetTab,
169
+ timestamp: Date.now()
170
+ },
171
+ bubbles: true,
172
+ composed: true,
173
+ }));
174
+ }
175
+ catch (error) {
176
+ this.handleError(error, 'performTabReorder');
177
+ }
178
+ }
179
+ /**
180
+ * Clean up drag-related CSS classes
181
+ */
182
+ cleanupDragClasses() {
183
+ var _a, _b;
184
+ try {
185
+ const shadowRoot = this.host.shadowRoot;
186
+ if (shadowRoot) {
187
+ (_a = shadowRoot.querySelector('.dragging')) === null || _a === void 0 ? void 0 : _a.classList.remove('dragging');
188
+ (_b = shadowRoot.querySelector('.dragging-start')) === null || _b === void 0 ? void 0 : _b.classList.remove('dragging-start');
189
+ }
190
+ }
191
+ catch (error) {
192
+ this.handleError(error, 'cleanupDragClasses');
193
+ }
194
+ }
195
+ /**
196
+ * Get draggable state for tab element
197
+ */
198
+ getDraggableState() {
199
+ return this.canMoveTab();
200
+ }
201
+ }
202
+ //# sourceMappingURL=dragdrop.controller.js.map
@@ -0,0 +1,100 @@
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
+ import { TabEditable, TabItem } from '../tabs.types.js';
9
+ /**
10
+ * Editable controller interface for tabs components
11
+ */
12
+ export interface EditableController {
13
+ handleAddTab(): void;
14
+ handleRemoveTab(tabIndex: number): void;
15
+ handleEditTab(tabIndex: number, newLabel: string): void;
16
+ canAddTab(): boolean;
17
+ canDeleteTab(tab?: TabItem): boolean;
18
+ canEditTabTitle(tab?: TabItem): boolean;
19
+ }
20
+ /**
21
+ * Enhanced tabs host interface for editable functionality
22
+ */
23
+ export interface TabsEditableHost extends TabsHost {
24
+ editable?: TabEditable;
25
+ dispatchEventWithMetadata(eventName: string, detail: any): void;
26
+ }
27
+ /**
28
+ * Editable controller manages editable functionality for tabs components
29
+ * Handles add, delete, and edit operations for tabs
30
+ */
31
+ export declare class TabsEditableController extends BaseTabsController implements EditableController {
32
+ protected _host: TabsEditableHost & ReactiveControllerHost;
33
+ constructor(host: TabsEditableHost & ReactiveControllerHost);
34
+ get host(): TabsEditableHost & ReactiveControllerHost;
35
+ /**
36
+ * Handle adding a new tab
37
+ */
38
+ handleAddTab(): void;
39
+ /**
40
+ * Handle removing a tab
41
+ * @param tabIndex - Index of tab to remove
42
+ */
43
+ handleRemoveTab(tabIndex: number): void;
44
+ /**
45
+ * Handle editing a tab title
46
+ * @param tabIndex - Index of tab to edit
47
+ * @param newLabel - New label for the tab
48
+ */
49
+ handleEditTab(tabIndex: number, newLabel: string): void;
50
+ /**
51
+ * Check if user can add tabs
52
+ */
53
+ canAddTab(): boolean;
54
+ /**
55
+ * Check if user can delete a specific tab
56
+ * @param tab - Tab to check (optional, falls back to global setting)
57
+ */
58
+ canDeleteTab(tab?: TabItem): boolean;
59
+ /**
60
+ * Check if user can edit tab titles for a specific tab
61
+ * @param tab - Tab to check (optional, falls back to global setting)
62
+ */
63
+ canEditTabTitle(tab?: TabItem): boolean;
64
+ /**
65
+ * Check if tab can be moved (for drag and drop)
66
+ */
67
+ canMoveTab(): boolean;
68
+ /**
69
+ * Get editable state for a specific tab
70
+ * @param tab - Tab to check
71
+ */
72
+ getTabEditableState(tab: TabItem): {
73
+ canDelete: boolean;
74
+ canEdit: boolean;
75
+ canMove: boolean;
76
+ };
77
+ /**
78
+ * Validate if a tab label is valid
79
+ * @param label - Label to validate
80
+ */
81
+ private isValidTabLabel;
82
+ /**
83
+ * Get the contenteditable attribute value for tab text
84
+ * @param tab - Tab to check
85
+ */
86
+ getContentEditableAttribute(tab: TabItem): string | undefined;
87
+ /**
88
+ * Handle blur event for editable tab titles
89
+ * @param event - Blur event
90
+ * @param tabIndex - Index of the tab
91
+ */
92
+ handleTabTitleBlur(event: Event, tabIndex: number): void;
93
+ /**
94
+ * Handle keydown events for editable tab titles
95
+ * @param event - Keyboard event
96
+ * @param tabIndex - Index of the tab
97
+ */
98
+ handleTabTitleKeyDown(event: KeyboardEvent, tabIndex: number): void;
99
+ }
100
+ //# sourceMappingURL=editable.controller.d.ts.map
@@ -0,0 +1,242 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ import { BaseTabsController } from './base.controller.js';
7
+ /**
8
+ * Editable controller manages editable functionality for tabs components
9
+ * Handles add, delete, and edit operations for tabs
10
+ */
11
+ export class TabsEditableController extends BaseTabsController {
12
+ constructor(host) {
13
+ super(host);
14
+ this._host = host;
15
+ }
16
+ get host() {
17
+ return this._host;
18
+ }
19
+ /**
20
+ * Handle adding a new tab
21
+ */
22
+ handleAddTab() {
23
+ try {
24
+ if (!this.canAddTab()) {
25
+ console.warn('[TabsEditableController] Cannot add tab - permission denied');
26
+ return;
27
+ }
28
+ // Dispatch add tab event
29
+ this.host.dispatchEventWithMetadata("nr-tab-add" /* TabEvent.TabAdd */, {});
30
+ // Dispatch editable action event
31
+ this.dispatchEvent(new CustomEvent('tabs-add-tab', {
32
+ detail: {
33
+ timestamp: Date.now(),
34
+ totalTabs: this.host.tabs.length
35
+ },
36
+ bubbles: true,
37
+ composed: true,
38
+ }));
39
+ }
40
+ catch (error) {
41
+ this.handleError(error, 'handleAddTab');
42
+ }
43
+ }
44
+ /**
45
+ * Handle removing a tab
46
+ * @param tabIndex - Index of tab to remove
47
+ */
48
+ handleRemoveTab(tabIndex) {
49
+ try {
50
+ if (!this.isValidTabIndex(tabIndex)) {
51
+ console.warn(`[TabsEditableController] Invalid tab index: ${tabIndex}`);
52
+ return;
53
+ }
54
+ const tab = this.host.tabs[tabIndex];
55
+ if (!this.canDeleteTab(tab)) {
56
+ console.warn('[TabsEditableController] Cannot delete tab - permission denied');
57
+ return;
58
+ }
59
+ // Dispatch remove tab event
60
+ this.host.dispatchEventWithMetadata("nr-tab-remove" /* TabEvent.TabRemove */, {
61
+ index: tabIndex,
62
+ tab
63
+ });
64
+ // Dispatch editable action event
65
+ this.dispatchEvent(new CustomEvent('tabs-remove-tab', {
66
+ detail: {
67
+ tabIndex,
68
+ tab,
69
+ timestamp: Date.now(),
70
+ remainingTabs: this.host.tabs.length - 1
71
+ },
72
+ bubbles: true,
73
+ composed: true,
74
+ }));
75
+ }
76
+ catch (error) {
77
+ this.handleError(error, 'handleRemoveTab');
78
+ }
79
+ }
80
+ /**
81
+ * Handle editing a tab title
82
+ * @param tabIndex - Index of tab to edit
83
+ * @param newLabel - New label for the tab
84
+ */
85
+ handleEditTab(tabIndex, newLabel) {
86
+ try {
87
+ if (!this.isValidTabIndex(tabIndex)) {
88
+ console.warn(`[TabsEditableController] Invalid tab index: ${tabIndex}`);
89
+ return;
90
+ }
91
+ const tab = this.host.tabs[tabIndex];
92
+ const oldLabel = tab.label;
93
+ if (!this.canEditTabTitle(tab)) {
94
+ console.warn('[TabsEditableController] Cannot edit tab title - permission denied');
95
+ return;
96
+ }
97
+ if (newLabel.trim() === oldLabel.trim()) {
98
+ return; // No change
99
+ }
100
+ // Validate new label
101
+ if (!this.isValidTabLabel(newLabel)) {
102
+ console.warn('[TabsEditableController] Invalid tab label provided');
103
+ return;
104
+ }
105
+ // Dispatch edit tab event
106
+ this.host.dispatchEventWithMetadata("nr-tab-edit" /* TabEvent.TabEdit */, {
107
+ index: tabIndex,
108
+ tab: Object.assign(Object.assign({}, tab), { label: newLabel.trim() }),
109
+ oldLabel,
110
+ newLabel: newLabel.trim()
111
+ });
112
+ // Dispatch editable action event
113
+ this.dispatchEvent(new CustomEvent('tabs-edit-tab', {
114
+ detail: {
115
+ tabIndex,
116
+ tab,
117
+ oldLabel,
118
+ newLabel: newLabel.trim(),
119
+ timestamp: Date.now()
120
+ },
121
+ bubbles: true,
122
+ composed: true,
123
+ }));
124
+ }
125
+ catch (error) {
126
+ this.handleError(error, 'handleEditTab');
127
+ }
128
+ }
129
+ /**
130
+ * Check if user can add tabs
131
+ */
132
+ canAddTab() {
133
+ var _a, _b;
134
+ return (_b = (_a = this.host.editable) === null || _a === void 0 ? void 0 : _a.canAddTab) !== null && _b !== void 0 ? _b : false;
135
+ }
136
+ /**
137
+ * Check if user can delete a specific tab
138
+ * @param tab - Tab to check (optional, falls back to global setting)
139
+ */
140
+ canDeleteTab(tab) {
141
+ var _a, _b, _c, _d, _e, _f, _g;
142
+ if (tab) {
143
+ return (_e = (_c = (_a = tab.closable) !== null && _a !== void 0 ? _a : (_b = tab.editable) === null || _b === void 0 ? void 0 : _b.canDeleteTab) !== null && _c !== void 0 ? _c : (_d = this.host.editable) === null || _d === void 0 ? void 0 : _d.canDeleteTab) !== null && _e !== void 0 ? _e : false;
144
+ }
145
+ return (_g = (_f = this.host.editable) === null || _f === void 0 ? void 0 : _f.canDeleteTab) !== null && _g !== void 0 ? _g : false;
146
+ }
147
+ /**
148
+ * Check if user can edit tab titles for a specific tab
149
+ * @param tab - Tab to check (optional, falls back to global setting)
150
+ */
151
+ canEditTabTitle(tab) {
152
+ var _a, _b, _c, _d, _e, _f;
153
+ if (tab) {
154
+ return (_d = (_b = (_a = tab.editable) === null || _a === void 0 ? void 0 : _a.canEditTabTitle) !== null && _b !== void 0 ? _b : (_c = this.host.editable) === null || _c === void 0 ? void 0 : _c.canEditTabTitle) !== null && _d !== void 0 ? _d : false;
155
+ }
156
+ return (_f = (_e = this.host.editable) === null || _e === void 0 ? void 0 : _e.canEditTabTitle) !== null && _f !== void 0 ? _f : false;
157
+ }
158
+ /**
159
+ * Check if tab can be moved (for drag and drop)
160
+ */
161
+ canMoveTab() {
162
+ var _a, _b;
163
+ return (_b = (_a = this.host.editable) === null || _a === void 0 ? void 0 : _a.canMove) !== null && _b !== void 0 ? _b : false;
164
+ }
165
+ /**
166
+ * Get editable state for a specific tab
167
+ * @param tab - Tab to check
168
+ */
169
+ getTabEditableState(tab) {
170
+ return {
171
+ canDelete: this.canDeleteTab(tab),
172
+ canEdit: this.canEditTabTitle(tab),
173
+ canMove: this.canMoveTab()
174
+ };
175
+ }
176
+ /**
177
+ * Validate if a tab label is valid
178
+ * @param label - Label to validate
179
+ */
180
+ isValidTabLabel(label) {
181
+ return (typeof label === 'string' &&
182
+ label.trim().length > 0 &&
183
+ label.trim().length <= 100 // Reasonable max length
184
+ );
185
+ }
186
+ /**
187
+ * Get the contenteditable attribute value for tab text
188
+ * @param tab - Tab to check
189
+ */
190
+ getContentEditableAttribute(tab) {
191
+ return this.canEditTabTitle(tab) ? 'true' : undefined;
192
+ }
193
+ /**
194
+ * Handle blur event for editable tab titles
195
+ * @param event - Blur event
196
+ * @param tabIndex - Index of the tab
197
+ */
198
+ handleTabTitleBlur(event, tabIndex) {
199
+ var _a;
200
+ try {
201
+ const target = event.target;
202
+ const newLabel = ((_a = target.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || '';
203
+ if (newLabel) {
204
+ this.handleEditTab(tabIndex, newLabel);
205
+ }
206
+ else {
207
+ // Reset to original label if empty
208
+ const tab = this.host.tabs[tabIndex];
209
+ target.textContent = tab.label;
210
+ }
211
+ }
212
+ catch (error) {
213
+ this.handleError(error, 'handleTabTitleBlur');
214
+ }
215
+ }
216
+ /**
217
+ * Handle keydown events for editable tab titles
218
+ * @param event - Keyboard event
219
+ * @param tabIndex - Index of the tab
220
+ */
221
+ handleTabTitleKeyDown(event, tabIndex) {
222
+ try {
223
+ if (event.key === 'Enter') {
224
+ event.preventDefault();
225
+ const target = event.target;
226
+ target.blur(); // This will trigger the blur handler
227
+ }
228
+ else if (event.key === 'Escape') {
229
+ event.preventDefault();
230
+ // Reset to original label
231
+ const tab = this.host.tabs[tabIndex];
232
+ const target = event.target;
233
+ target.textContent = tab.label;
234
+ target.blur();
235
+ }
236
+ }
237
+ catch (error) {
238
+ this.handleError(error, 'handleTabTitleKeyDown');
239
+ }
240
+ }
241
+ }
242
+ //# sourceMappingURL=editable.controller.js.map
@@ -0,0 +1,104 @@
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
+ import { TabItem } from '../tabs.types.js';
9
+ /**
10
+ * Event controller interface for tabs components
11
+ */
12
+ export interface EventController {
13
+ handleTabClick(tabIndex: number, event: MouseEvent): void;
14
+ handleTabFocus(tabIndex: number, event: FocusEvent): void;
15
+ handleTabBlur(tabIndex: number, event: FocusEvent): void;
16
+ dispatchTabEvent(eventName: string, detail: any): void;
17
+ }
18
+ /**
19
+ * Enhanced tabs host interface for event functionality
20
+ */
21
+ export interface TabsEventHost extends TabsHost {
22
+ dispatchEventWithMetadata(eventName: string, detail: any): void;
23
+ setActiveTab(index: number, event?: Event): void;
24
+ }
25
+ /**
26
+ * Event controller manages event handling and dispatching for tabs components
27
+ * Handles click, focus, blur, and custom event dispatching
28
+ */
29
+ export declare class TabsEventController extends BaseTabsController implements EventController {
30
+ protected _host: TabsEventHost & ReactiveControllerHost;
31
+ constructor(host: TabsEventHost & ReactiveControllerHost);
32
+ get host(): TabsEventHost & ReactiveControllerHost;
33
+ /**
34
+ * Handle tab click events
35
+ * @param tabIndex - Index of clicked tab
36
+ * @param event - Click event
37
+ */
38
+ handleTabClick(tabIndex: number, event: MouseEvent): void;
39
+ /**
40
+ * Handle tab focus events
41
+ * @param tabIndex - Index of focused tab
42
+ * @param event - Focus event
43
+ */
44
+ handleTabFocus(tabIndex: number, event: FocusEvent): void;
45
+ /**
46
+ * Handle tab blur events
47
+ * @param tabIndex - Index of blurred tab
48
+ * @param event - Blur event
49
+ */
50
+ handleTabBlur(tabIndex: number, event: FocusEvent): void;
51
+ /**
52
+ * Dispatch custom tab events
53
+ * @param eventName - Name of the event
54
+ * @param detail - Event detail data
55
+ */
56
+ dispatchTabEvent(eventName: string, detail: any): void;
57
+ /**
58
+ * Handle tab change events (when active tab changes)
59
+ * @param newTabIndex - New active tab index
60
+ * @param previousTabIndex - Previous active tab index
61
+ * @param event - Original event that triggered the change
62
+ */
63
+ handleTabChange(newTabIndex: number, previousTabIndex: number, event?: Event): void;
64
+ /**
65
+ * Handle tab activation events (for keyboard and programmatic activation)
66
+ * @param tabIndex - Index of activated tab
67
+ * @param activationType - Type of activation (click, keyboard, programmatic)
68
+ * @param event - Original event
69
+ */
70
+ handleTabActivation(tabIndex: number, activationType: 'click' | 'keyboard' | 'programmatic', event?: Event): void;
71
+ /**
72
+ * Handle tab hover events
73
+ * @param tabIndex - Index of hovered tab
74
+ * @param event - Mouse event
75
+ * @param isEnter - Whether mouse is entering (true) or leaving (false)
76
+ */
77
+ handleTabHover(tabIndex: number, event: MouseEvent, isEnter: boolean): void;
78
+ /**
79
+ * Get event listeners for a tab element
80
+ * @param tabIndex - Index of the tab
81
+ */
82
+ getTabEventListeners(tabIndex: number): {
83
+ click: (event: MouseEvent) => void;
84
+ focus: (event: FocusEvent) => void;
85
+ blur: (event: FocusEvent) => void;
86
+ mouseenter: (event: MouseEvent) => void;
87
+ mouseleave: (event: MouseEvent) => void;
88
+ };
89
+ /**
90
+ * Validate if tab can be activated
91
+ * @param tab - Tab to validate
92
+ */
93
+ canActivateTab(tab: TabItem): boolean;
94
+ /**
95
+ * Get tab interaction state
96
+ * @param tabIndex - Index of tab
97
+ */
98
+ getTabInteractionState(tabIndex: number): {
99
+ isActive: boolean;
100
+ isDisabled: boolean;
101
+ canActivate: boolean;
102
+ };
103
+ }
104
+ //# sourceMappingURL=event.controller.d.ts.map