@nuraly/lumenui 0.1.0 → 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 (821) hide show
  1. package/dist/nuralyui.bundle.js +23283 -16875
  2. package/dist/nuralyui.bundle.js.gz +0 -0
  3. package/dist/src/components/alert/alert.component.d.ts +8 -5
  4. package/dist/src/components/alert/alert.component.js +24 -20
  5. package/dist/src/components/alert/alert.style.d.ts +0 -7
  6. package/dist/src/components/alert/alert.style.js +48 -90
  7. package/dist/src/components/alert/bundle.js +82 -108
  8. package/dist/src/components/alert/bundle.js.gz +0 -0
  9. package/dist/src/components/badge/badge.component.d.ts +9 -8
  10. package/dist/src/components/badge/badge.component.js +17 -14
  11. package/dist/src/components/badge/badge.style.d.ts +0 -7
  12. package/dist/src/components/badge/badge.style.js +49 -107
  13. package/dist/src/components/badge/bundle.js +81 -119
  14. package/dist/src/components/badge/bundle.js.gz +0 -0
  15. package/dist/src/components/breadcrumb/breadcrumb.component.d.ts +8 -10
  16. package/dist/src/components/breadcrumb/breadcrumb.component.js +16 -15
  17. package/dist/src/components/breadcrumb/breadcrumb.style.d.ts +0 -7
  18. package/dist/src/components/breadcrumb/breadcrumb.style.js +42 -60
  19. package/dist/src/components/breadcrumb/bundle.js +96 -93
  20. package/dist/src/components/breadcrumb/bundle.js.gz +0 -0
  21. package/dist/src/components/button/bundle.js +221 -470
  22. package/dist/src/components/button/bundle.js.gz +0 -0
  23. package/dist/src/components/button/button.component.d.ts +2 -1
  24. package/dist/src/components/button/button.component.js +6 -6
  25. package/dist/src/components/button/button.style.d.ts +0 -7
  26. package/dist/src/components/button/button.style.js +167 -433
  27. package/dist/src/components/button/controllers/base.controller.d.ts +15 -0
  28. package/dist/src/components/button/controllers/base.controller.js +13 -0
  29. package/dist/src/components/button/controllers/index.d.ts +10 -0
  30. package/dist/src/components/button/controllers/index.js +10 -0
  31. package/dist/src/components/button/controllers/keyboard.controller.d.ts +32 -0
  32. package/dist/src/components/button/controllers/keyboard.controller.js +78 -0
  33. package/dist/src/components/button/controllers/link.controller.d.ts +30 -0
  34. package/dist/src/components/button/controllers/link.controller.js +75 -0
  35. package/dist/src/components/button/controllers/ripple.controller.d.ts +23 -0
  36. package/dist/src/components/button/controllers/ripple.controller.js +69 -0
  37. package/dist/src/components/button/interfaces/base-controller.interface.d.ts +61 -0
  38. package/dist/src/components/button/interfaces/base-controller.interface.js +7 -0
  39. package/dist/src/components/button/interfaces/index.d.ts +2 -0
  40. package/dist/src/components/button/interfaces/index.js +2 -0
  41. package/dist/src/components/button/test/nr-button_test.d.ts +2 -0
  42. package/dist/src/components/button/test/nr-button_test.js +91 -0
  43. package/dist/src/components/canvas/base-canvas.component.d.ts +4 -2
  44. package/dist/src/components/canvas/base-canvas.component.js +7 -0
  45. package/dist/src/components/canvas/bundle.js +17218 -9667
  46. package/dist/src/components/canvas/bundle.js.gz +0 -0
  47. package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
  48. package/dist/src/components/canvas/canvas.constants.js +1 -1
  49. package/dist/src/components/canvas/chatbot-panel.style.js +54 -63
  50. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.d.ts +115 -0
  51. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.component.js +480 -0
  52. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.d.ts +7 -0
  53. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger-fields.style.js +323 -0
  54. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.d.ts +162 -0
  55. package/dist/src/components/canvas/chatbot-trigger/chatbot-trigger.types.js +88 -0
  56. package/dist/src/components/canvas/chatbot-trigger/index.d.ts +9 -0
  57. package/dist/src/components/canvas/chatbot-trigger/index.js +12 -0
  58. package/dist/src/components/canvas/controllers/base.controller.d.ts +53 -0
  59. package/dist/src/components/canvas/controllers/base.controller.js +80 -0
  60. package/dist/src/components/canvas/controllers/clipboard.controller.d.ts +80 -0
  61. package/dist/src/components/canvas/controllers/clipboard.controller.js +300 -0
  62. package/dist/src/components/canvas/controllers/collaboration.controller.d.ts +54 -0
  63. package/dist/src/components/canvas/controllers/collaboration.controller.js +425 -0
  64. package/dist/src/components/canvas/controllers/config.controller.d.ts +61 -0
  65. package/dist/src/components/canvas/controllers/config.controller.js +118 -0
  66. package/dist/src/components/canvas/controllers/connection.controller.d.ts +69 -0
  67. package/dist/src/components/canvas/controllers/connection.controller.js +183 -0
  68. package/dist/src/components/canvas/controllers/drag.controller.d.ts +56 -0
  69. package/dist/src/components/canvas/controllers/drag.controller.js +195 -0
  70. package/dist/src/components/canvas/controllers/frame.controller.d.ts +94 -0
  71. package/dist/src/components/canvas/controllers/frame.controller.js +456 -0
  72. package/dist/src/components/canvas/controllers/index.d.ts +19 -0
  73. package/dist/src/components/canvas/controllers/index.js +32 -0
  74. package/dist/src/components/canvas/controllers/keyboard.controller.d.ts +44 -0
  75. package/dist/src/components/canvas/controllers/keyboard.controller.js +275 -0
  76. package/dist/src/components/canvas/controllers/marquee.controller.d.ts +71 -0
  77. package/dist/src/components/canvas/controllers/marquee.controller.js +128 -0
  78. package/dist/src/components/canvas/controllers/selection.controller.d.ts +85 -0
  79. package/dist/src/components/canvas/controllers/selection.controller.js +202 -0
  80. package/dist/src/components/canvas/controllers/touch.controller.d.ts +55 -0
  81. package/dist/src/components/canvas/controllers/touch.controller.js +299 -0
  82. package/dist/src/components/canvas/controllers/undo.controller.d.ts +100 -0
  83. package/dist/src/components/canvas/controllers/undo.controller.js +218 -0
  84. package/dist/src/components/canvas/controllers/viewport.controller.d.ts +91 -0
  85. package/dist/src/components/canvas/controllers/viewport.controller.js +287 -0
  86. package/dist/src/components/canvas/data-node/data-node-config.component.d.ts +67 -0
  87. package/dist/src/components/canvas/data-node/data-node-config.component.js +496 -0
  88. package/dist/src/components/canvas/data-node/data-node-fields.component.d.ts +198 -0
  89. package/dist/src/components/canvas/data-node/data-node-fields.component.js +931 -0
  90. package/dist/src/components/canvas/data-node/data-node-fields.style.d.ts +7 -0
  91. package/dist/src/components/canvas/data-node/data-node-fields.style.js +448 -0
  92. package/dist/src/components/canvas/data-node/data-node.types.d.ts +245 -0
  93. package/dist/src/components/canvas/data-node/data-node.types.js +158 -0
  94. package/dist/src/components/canvas/data-node/index.d.ts +9 -0
  95. package/dist/src/components/canvas/data-node/index.js +12 -0
  96. package/dist/src/components/canvas/data-node/schema-select.component.d.ts +36 -0
  97. package/dist/src/components/canvas/data-node/schema-select.component.js +196 -0
  98. package/dist/src/components/canvas/data-node/table-select.component.d.ts +38 -0
  99. package/dist/src/components/canvas/data-node/table-select.component.js +199 -0
  100. package/dist/src/components/canvas/index.d.ts +2 -0
  101. package/dist/src/components/canvas/index.js +3 -0
  102. package/dist/src/components/canvas/interfaces/canvas-host.interface.d.ts +91 -0
  103. package/dist/src/components/canvas/interfaces/canvas-host.interface.js +7 -0
  104. package/dist/src/components/canvas/interfaces/collaboration.interface.d.ts +58 -0
  105. package/dist/src/components/canvas/interfaces/collaboration.interface.js +10 -0
  106. package/dist/src/components/canvas/interfaces/index.d.ts +8 -0
  107. package/dist/src/components/canvas/interfaces/index.js +7 -0
  108. package/dist/src/components/canvas/templates/chatbot-panel.template.d.ts +28 -0
  109. package/dist/src/components/canvas/templates/chatbot-panel.template.js +49 -0
  110. package/dist/src/components/canvas/templates/config-panel.template.d.ts +22 -0
  111. package/dist/src/components/canvas/templates/config-panel.template.js +22 -0
  112. package/dist/src/components/canvas/templates/context-menu.template.d.ts +30 -0
  113. package/dist/src/components/canvas/templates/context-menu.template.js +80 -0
  114. package/dist/src/components/canvas/templates/edges.template.d.ts +41 -0
  115. package/dist/src/components/canvas/templates/edges.template.js +243 -0
  116. package/dist/src/components/canvas/templates/empty-state.template.d.ts +17 -0
  117. package/dist/src/components/canvas/templates/empty-state.template.js +25 -0
  118. package/dist/src/components/canvas/templates/frame.template.d.ts +24 -0
  119. package/dist/src/components/canvas/templates/frame.template.js +74 -0
  120. package/dist/src/components/canvas/templates/index.d.ts +18 -0
  121. package/dist/src/components/canvas/templates/index.js +30 -0
  122. package/dist/src/components/canvas/templates/palette.template.d.ts +27 -0
  123. package/dist/src/components/canvas/templates/palette.template.js +110 -0
  124. package/dist/src/components/canvas/templates/presence-bar.template.d.ts +18 -0
  125. package/dist/src/components/canvas/templates/presence-bar.template.js +60 -0
  126. package/dist/src/components/canvas/templates/remote-cursors.template.d.ts +19 -0
  127. package/dist/src/components/canvas/templates/remote-cursors.template.js +43 -0
  128. package/dist/src/components/canvas/templates/toolbar.template.d.ts +52 -0
  129. package/dist/src/components/canvas/templates/toolbar.template.js +118 -0
  130. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.d.ts +30 -0
  131. package/dist/src/components/canvas/templates/wb-floating-toolbar.template.js +219 -0
  132. package/dist/src/components/canvas/templates/wb-sidebar.template.d.ts +23 -0
  133. package/dist/src/components/canvas/templates/wb-sidebar.template.js +152 -0
  134. package/dist/src/components/canvas/utils/variable-resolver.d.ts +71 -0
  135. package/dist/src/components/canvas/utils/variable-resolver.js +280 -0
  136. package/dist/src/components/canvas/whiteboard-canvas.component.d.ts +3 -1
  137. package/dist/src/components/canvas/whiteboard-canvas.component.js +19 -1
  138. package/dist/src/components/canvas/whiteboard-canvas.style.js +159 -138
  139. package/dist/src/components/canvas/whiteboard-node.component.d.ts +2 -1
  140. package/dist/src/components/canvas/whiteboard-node.component.js +2 -1
  141. package/dist/src/components/canvas/whiteboard-node.style.js +44 -44
  142. package/dist/src/components/canvas/workflow-canvas-only.d.ts +4 -0
  143. package/dist/src/components/canvas/workflow-canvas-only.js +5 -0
  144. package/dist/src/components/canvas/workflow-canvas.component.d.ts +3 -1
  145. package/dist/src/components/canvas/workflow-canvas.component.js +30 -2
  146. package/dist/src/components/canvas/workflow-canvas.style.js +794 -675
  147. package/dist/src/components/canvas/workflow-canvas.types.d.ts +113 -4
  148. package/dist/src/components/canvas/workflow-canvas.types.js +646 -3
  149. package/dist/src/components/canvas/workflow-node.component.d.ts +3 -2
  150. package/dist/src/components/canvas/workflow-node.component.js +5 -5
  151. package/dist/src/components/canvas/workflow-node.style.js +183 -181
  152. package/dist/src/components/card/bundle.js +43 -35
  153. package/dist/src/components/card/bundle.js.gz +0 -0
  154. package/dist/src/components/card/card.component.d.ts +6 -1
  155. package/dist/src/components/card/card.component.js +8 -2
  156. package/dist/src/components/card/card.style.js +26 -30
  157. package/dist/src/components/carousel/bundle.js +8 -8
  158. package/dist/src/components/carousel/bundle.js.gz +0 -0
  159. package/dist/src/components/carousel/carousel.component.d.ts +12 -0
  160. package/dist/src/components/carousel/carousel.component.js +16 -4
  161. package/dist/src/components/carousel/demo/carousel-demo.d.ts +6 -0
  162. package/dist/src/components/carousel/demo/carousel-demo.js +68 -0
  163. package/dist/src/components/chatbot/audio-compress.d.ts +26 -0
  164. package/dist/src/components/chatbot/audio-compress.js +84 -0
  165. package/dist/src/components/chatbot/bundle.js +690 -430
  166. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  167. package/dist/src/components/chatbot/chatbot-audio.controller.d.ts +35 -0
  168. package/dist/src/components/chatbot/chatbot-audio.controller.js +160 -0
  169. package/dist/src/components/chatbot/chatbot.component.d.ts +14 -1
  170. package/dist/src/components/chatbot/chatbot.component.js +42 -2
  171. package/dist/src/components/chatbot/chatbot.style.js +418 -277
  172. package/dist/src/components/chatbot/chatbot.types.d.ts +8 -0
  173. package/dist/src/components/chatbot/controllers/index.d.ts +8 -0
  174. package/dist/src/components/chatbot/controllers/index.js +8 -0
  175. package/dist/src/components/chatbot/controllers/scroll.controller.d.ts +34 -0
  176. package/dist/src/components/chatbot/controllers/scroll.controller.js +43 -0
  177. package/dist/src/components/chatbot/core/chatbot-core.controller.d.ts +283 -0
  178. package/dist/src/components/chatbot/core/chatbot-core.controller.js +824 -0
  179. package/dist/src/components/chatbot/core/event-bus.d.ts +54 -0
  180. package/dist/src/components/chatbot/core/event-bus.js +102 -0
  181. package/dist/src/components/chatbot/core/index.d.ts +12 -0
  182. package/dist/src/components/chatbot/core/index.js +15 -0
  183. package/dist/src/components/chatbot/core/types.d.ts +403 -0
  184. package/dist/src/components/chatbot/core/types.js +16 -0
  185. package/dist/src/components/chatbot/locales/locale-codes.d.ts +14 -0
  186. package/dist/src/components/chatbot/locales/locale-codes.js +23 -0
  187. package/dist/src/components/chatbot/plugins/analytics-plugin.d.ts +23 -0
  188. package/dist/src/components/chatbot/plugins/analytics-plugin.js +52 -0
  189. package/dist/src/components/chatbot/plugins/artifact-plugin.d.ts +71 -0
  190. package/dist/src/components/chatbot/plugins/artifact-plugin.js +313 -0
  191. package/dist/src/components/chatbot/plugins/chat-plugin.d.ts +44 -0
  192. package/dist/src/components/chatbot/plugins/chat-plugin.js +58 -0
  193. package/dist/src/components/chatbot/plugins/flight-card-plugin.d.ts +116 -0
  194. package/dist/src/components/chatbot/plugins/flight-card-plugin.js +594 -0
  195. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.d.ts +23 -0
  196. package/dist/src/components/chatbot/plugins/flow-diagram-plugin.js +495 -0
  197. package/dist/src/components/chatbot/plugins/index.d.ts +16 -0
  198. package/dist/src/components/chatbot/plugins/index.js +17 -0
  199. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.d.ts +43 -0
  200. package/dist/src/components/chatbot/plugins/json-graph-renderer-plugin.js +166 -0
  201. package/dist/src/components/chatbot/plugins/markdown-plugin.d.ts +26 -0
  202. package/dist/src/components/chatbot/plugins/markdown-plugin.js +68 -0
  203. package/dist/src/components/chatbot/plugins/persistence-plugin.d.ts +30 -0
  204. package/dist/src/components/chatbot/plugins/persistence-plugin.js +91 -0
  205. package/dist/src/components/chatbot/plugins/print-job-card-plugin.d.ts +110 -0
  206. package/dist/src/components/chatbot/plugins/print-job-card-plugin.js +505 -0
  207. package/dist/src/components/chatbot/plugins/selection-card-plugin.d.ts +111 -0
  208. package/dist/src/components/chatbot/plugins/selection-card-plugin.js +318 -0
  209. package/dist/src/components/chatbot/providers/custom-api-provider.d.ts +63 -0
  210. package/dist/src/components/chatbot/providers/custom-api-provider.js +240 -0
  211. package/dist/src/components/chatbot/providers/index.d.ts +16 -0
  212. package/dist/src/components/chatbot/providers/index.js +13 -0
  213. package/dist/src/components/chatbot/providers/mock-provider.d.ts +154 -0
  214. package/dist/src/components/chatbot/providers/mock-provider.js +411 -0
  215. package/dist/src/components/chatbot/providers/native-ws-provider.d.ts +184 -0
  216. package/dist/src/components/chatbot/providers/native-ws-provider.js +544 -0
  217. package/dist/src/components/chatbot/providers/openai-provider.d.ts +32 -0
  218. package/dist/src/components/chatbot/providers/openai-provider.js +246 -0
  219. package/dist/src/components/chatbot/providers/socket-provider.d.ts +159 -0
  220. package/dist/src/components/chatbot/providers/socket-provider.js +390 -0
  221. package/dist/src/components/chatbot/providers/workflow-socket-provider.d.ts +116 -0
  222. package/dist/src/components/chatbot/providers/workflow-socket-provider.js +484 -0
  223. package/dist/src/components/chatbot/storage/index.d.ts +7 -0
  224. package/dist/src/components/chatbot/storage/index.js +8 -0
  225. package/dist/src/components/chatbot/storage/storage-implementations.d.ts +43 -0
  226. package/dist/src/components/chatbot/storage/storage-implementations.js +179 -0
  227. package/dist/src/components/chatbot/templates/artifact-panel.template.d.ts +22 -0
  228. package/dist/src/components/chatbot/templates/artifact-panel.template.js +81 -0
  229. package/dist/src/components/chatbot/templates/chatbot-main.template.d.ts +49 -0
  230. package/dist/src/components/chatbot/templates/chatbot-main.template.js +115 -0
  231. package/dist/src/components/chatbot/templates/file-preview-modal.template.d.ts +19 -0
  232. package/dist/src/components/chatbot/templates/file-preview-modal.template.js +74 -0
  233. package/dist/src/components/chatbot/templates/file-upload-area.template.d.ts +19 -0
  234. package/dist/src/components/chatbot/templates/file-upload-area.template.js +29 -0
  235. package/dist/src/components/chatbot/templates/index.d.ts +15 -0
  236. package/dist/src/components/chatbot/templates/index.js +15 -0
  237. package/dist/src/components/chatbot/templates/input-box.template.d.ts +49 -0
  238. package/dist/src/components/chatbot/templates/input-box.template.js +317 -0
  239. package/dist/src/components/chatbot/templates/message.template.d.ts +31 -0
  240. package/dist/src/components/chatbot/templates/message.template.js +214 -0
  241. package/dist/src/components/chatbot/templates/suggestion.template.d.ts +20 -0
  242. package/dist/src/components/chatbot/templates/suggestion.template.js +40 -0
  243. package/dist/src/components/chatbot/templates/thread-sidebar.template.d.ts +24 -0
  244. package/dist/src/components/chatbot/templates/thread-sidebar.template.js +160 -0
  245. package/dist/src/components/chatbot/templates/url-modal.template.d.ts +25 -0
  246. package/dist/src/components/chatbot/templates/url-modal.template.js +100 -0
  247. package/dist/src/components/chatbot/utils/format.d.ts +23 -0
  248. package/dist/src/components/chatbot/utils/format.js +84 -0
  249. package/dist/src/components/chatbot/utils/index.d.ts +7 -0
  250. package/dist/src/components/chatbot/utils/index.js +7 -0
  251. package/dist/src/components/checkbox/bundle.js +86 -245
  252. package/dist/src/components/checkbox/bundle.js.gz +0 -0
  253. package/dist/src/components/checkbox/checkbox.component.d.ts +5 -2
  254. package/dist/src/components/checkbox/checkbox.component.js +11 -13
  255. package/dist/src/components/checkbox/checkbox.style.js +56 -231
  256. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.d.ts +87 -0
  257. package/dist/src/components/checkbox/mixins/checkbox-event-mixin.js +94 -0
  258. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.d.ts +55 -0
  259. package/dist/src/components/checkbox/mixins/checkbox-focus-mixin.js +57 -0
  260. package/dist/src/components/checkbox/mixins/index.d.ts +10 -0
  261. package/dist/src/components/checkbox/mixins/index.js +8 -0
  262. package/dist/src/components/checkbox/test/checkbox_test.d.ts +2 -0
  263. package/dist/src/components/checkbox/test/checkbox_test.js +88 -0
  264. package/dist/src/components/code-editor/bundle.js +151 -25
  265. package/dist/src/components/code-editor/bundle.js.gz +0 -0
  266. package/dist/src/components/code-editor/code-editor.component.d.ts +18 -56
  267. package/dist/src/components/code-editor/code-editor.component.js +141 -394
  268. package/dist/src/components/code-editor/code-editor.style.js +139 -15
  269. package/dist/src/components/collapse/bundle.js +97 -84
  270. package/dist/src/components/collapse/bundle.js.gz +0 -0
  271. package/dist/src/components/collapse/collapse.component.d.ts +7 -1
  272. package/dist/src/components/collapse/collapse.component.js +11 -2
  273. package/dist/src/components/collapse/collapse.style.js +60 -60
  274. package/dist/src/components/collapse/controllers/accordion.controller.d.ts +60 -0
  275. package/dist/src/components/collapse/controllers/accordion.controller.js +132 -0
  276. package/dist/src/components/collapse/controllers/animation.controller.d.ts +40 -0
  277. package/dist/src/components/collapse/controllers/animation.controller.js +125 -0
  278. package/dist/src/components/collapse/controllers/base.controller.d.ts +48 -0
  279. package/dist/src/components/collapse/controllers/base.controller.js +69 -0
  280. package/dist/src/components/collapse/controllers/index.d.ts +12 -0
  281. package/dist/src/components/collapse/controllers/index.js +11 -0
  282. package/dist/src/components/collapse/controllers/keyboard.controller.d.ts +73 -0
  283. package/dist/src/components/collapse/controllers/keyboard.controller.js +186 -0
  284. package/dist/src/components/colorpicker/bundle.js +85 -48
  285. package/dist/src/components/colorpicker/bundle.js.gz +0 -0
  286. package/dist/src/components/colorpicker/color-holder.component.d.ts +2 -4
  287. package/dist/src/components/colorpicker/color-holder.component.js +5 -6
  288. package/dist/src/components/colorpicker/color-holder.style.js +11 -11
  289. package/dist/src/components/colorpicker/color-picker.component.d.ts +2 -1
  290. package/dist/src/components/colorpicker/color-picker.component.js +1 -0
  291. package/dist/src/components/colorpicker/color-picker.style.js +12 -12
  292. package/dist/src/components/colorpicker/controllers/base.controller.d.ts +14 -0
  293. package/dist/src/components/colorpicker/controllers/base.controller.js +15 -0
  294. package/dist/src/components/colorpicker/controllers/dropdown.controller.d.ts +60 -0
  295. package/dist/src/components/colorpicker/controllers/dropdown.controller.js +243 -0
  296. package/dist/src/components/colorpicker/controllers/event.controller.d.ts +46 -0
  297. package/dist/src/components/colorpicker/controllers/event.controller.js +130 -0
  298. package/dist/src/components/colorpicker/controllers/index.d.ts +4 -0
  299. package/dist/src/components/colorpicker/controllers/index.js +4 -0
  300. package/dist/src/components/colorpicker/default-color-sets.component.d.ts +2 -2
  301. package/dist/src/components/colorpicker/default-color-sets.component.js +4 -3
  302. package/dist/src/components/colorpicker/default-color-sets.style.js +5 -5
  303. package/dist/src/components/colorpicker/interfaces/index.d.ts +60 -0
  304. package/dist/src/components/colorpicker/interfaces/index.js +2 -0
  305. package/dist/src/components/container/bundle.js +24 -14
  306. package/dist/src/components/container/bundle.js.gz +0 -0
  307. package/dist/src/components/container/container.component.d.ts +4 -1
  308. package/dist/src/components/container/container.component.js +7 -5
  309. package/dist/src/components/container/container.style.js +9 -9
  310. package/dist/src/components/datepicker/bundle.js +193 -177
  311. package/dist/src/components/datepicker/bundle.js.gz +0 -0
  312. package/dist/src/components/datepicker/controllers/calendar.controller.d.ts +78 -0
  313. package/dist/src/components/datepicker/controllers/calendar.controller.js +225 -0
  314. package/dist/src/components/datepicker/controllers/index.d.ts +11 -0
  315. package/dist/src/components/datepicker/controllers/index.js +11 -0
  316. package/dist/src/components/datepicker/controllers/keyboard.controller.d.ts +96 -0
  317. package/dist/src/components/datepicker/controllers/keyboard.controller.js +246 -0
  318. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.d.ts +48 -0
  319. package/dist/src/components/datepicker/controllers/month-year-dropdown.controller.js +92 -0
  320. package/dist/src/components/datepicker/controllers/positioning.controller.d.ts +82 -0
  321. package/dist/src/components/datepicker/controllers/positioning.controller.js +247 -0
  322. package/dist/src/components/datepicker/controllers/selection.controller.d.ts +92 -0
  323. package/dist/src/components/datepicker/controllers/selection.controller.js +267 -0
  324. package/dist/src/components/datepicker/datepicker.component.d.ts +2 -1
  325. package/dist/src/components/datepicker/datepicker.component.js +1 -0
  326. package/dist/src/components/datepicker/datepicker.style.js +65 -65
  327. package/dist/src/components/datepicker/datepicker.style.variables.js +91 -91
  328. package/dist/src/components/datepicker/interfaces/base-controller.interface.d.ts +40 -0
  329. package/dist/src/components/datepicker/interfaces/base-controller.interface.js +7 -0
  330. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.d.ts +112 -0
  331. package/dist/src/components/datepicker/interfaces/datepicker-controllers.interface.js +7 -0
  332. package/dist/src/components/datepicker/interfaces/index.d.ts +8 -0
  333. package/dist/src/components/datepicker/interfaces/index.js +7 -0
  334. package/dist/src/components/datepicker/templates/days.template.d.ts +4 -0
  335. package/dist/src/components/datepicker/templates/days.template.js +40 -0
  336. package/dist/src/components/datepicker/templates/dropdown.template.d.ts +10 -0
  337. package/dist/src/components/datepicker/templates/dropdown.template.js +50 -0
  338. package/dist/src/components/datepicker/templates/headers.template.d.ts +2 -0
  339. package/dist/src/components/datepicker/templates/headers.template.js +5 -0
  340. package/dist/src/components/datepicker/templates/months.template.d.ts +6 -0
  341. package/dist/src/components/datepicker/templates/months.template.js +10 -0
  342. package/dist/src/components/datepicker/templates/years.template.d.ts +6 -0
  343. package/dist/src/components/datepicker/templates/years.template.js +11 -0
  344. package/dist/src/components/datepicker/test/datepicker_test.d.ts +2 -0
  345. package/dist/src/components/datepicker/test/datepicker_test.js +134 -0
  346. package/dist/src/components/datepicker/utils/day.helper.d.ts +5 -0
  347. package/dist/src/components/datepicker/utils/day.helper.js +53 -0
  348. package/dist/src/components/datepicker/utils/formatter.d.ts +2 -0
  349. package/dist/src/components/datepicker/utils/formatter.js +9 -0
  350. package/dist/src/components/datepicker/utils/index.d.ts +11 -0
  351. package/dist/src/components/datepicker/utils/index.js +11 -0
  352. package/dist/src/components/datepicker/utils/locale.helper.d.ts +144 -0
  353. package/dist/src/components/datepicker/utils/locale.helper.js +151 -0
  354. package/dist/src/components/datepicker/utils/month.helper.d.ts +3 -0
  355. package/dist/src/components/datepicker/utils/month.helper.js +24 -0
  356. package/dist/src/components/datepicker/utils/string.helper.d.ts +2 -0
  357. package/dist/src/components/datepicker/utils/string.helper.js +4 -0
  358. package/dist/src/components/db-connection-select/bundle.js +7 -6
  359. package/dist/src/components/db-connection-select/bundle.js.gz +0 -0
  360. package/dist/src/components/db-connection-select/db-connection-select.component.d.ts +3 -0
  361. package/dist/src/components/db-connection-select/db-connection-select.component.js +4 -0
  362. package/dist/src/components/divider/bundle.js +61 -35
  363. package/dist/src/components/divider/bundle.js.gz +0 -0
  364. package/dist/src/components/divider/divider.component.d.ts +4 -6
  365. package/dist/src/components/divider/divider.component.js +10 -14
  366. package/dist/src/components/divider/divider.style.js +41 -31
  367. package/dist/src/components/document/bundle.js +50 -48
  368. package/dist/src/components/document/bundle.js.gz +0 -0
  369. package/dist/src/components/document/demo/document-demo.d.ts +12 -0
  370. package/dist/src/components/document/demo/document-demo.js +40 -0
  371. package/dist/src/components/document/document.component.d.ts +12 -1
  372. package/dist/src/components/document/document.component.js +18 -6
  373. package/dist/src/components/document/document.style.js +21 -36
  374. package/dist/src/components/dropdown/bundle.js +117 -101
  375. package/dist/src/components/dropdown/bundle.js.gz +0 -0
  376. package/dist/src/components/dropdown/controllers/base.controller.d.ts +18 -0
  377. package/dist/src/components/dropdown/controllers/base.controller.js +22 -0
  378. package/dist/src/components/dropdown/controllers/dropdown.controller.d.ts +50 -0
  379. package/dist/src/components/dropdown/controllers/dropdown.controller.js +408 -0
  380. package/dist/src/components/dropdown/controllers/index.d.ts +3 -0
  381. package/dist/src/components/dropdown/controllers/index.js +3 -0
  382. package/dist/src/components/dropdown/dropdown.component.d.ts +2 -1
  383. package/dist/src/components/dropdown/dropdown.component.js +1 -0
  384. package/dist/src/components/dropdown/dropdown.style.js +68 -68
  385. package/dist/src/components/dropdown/interfaces/controller-interfaces.d.ts +79 -0
  386. package/dist/src/components/dropdown/interfaces/controller-interfaces.js +2 -0
  387. package/dist/src/components/dropdown/interfaces/index.d.ts +2 -0
  388. package/dist/src/components/dropdown/interfaces/index.js +2 -0
  389. package/dist/src/components/dropdown/templates/nr-dropdown-item.d.ts +12 -0
  390. package/dist/src/components/dropdown/templates/nr-dropdown-item.js +55 -0
  391. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.d.ts +2 -0
  392. package/dist/src/components/dropdown/templates/nr-dropdown-item.style.js +34 -0
  393. package/dist/src/components/dropdown/templates/nr-dropdown-menu.d.ts +18 -0
  394. package/dist/src/components/dropdown/templates/nr-dropdown-menu.js +70 -0
  395. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.d.ts +2 -0
  396. package/dist/src/components/dropdown/templates/nr-dropdown-menu.style.js +49 -0
  397. package/dist/src/components/file-upload/bundle.js +82 -76
  398. package/dist/src/components/file-upload/bundle.js.gz +0 -0
  399. package/dist/src/components/file-upload/demo/file-upload-demo.d.ts +18 -0
  400. package/dist/src/components/file-upload/demo/file-upload-demo.js +156 -0
  401. package/dist/src/components/file-upload/file-upload.component.d.ts +2 -1
  402. package/dist/src/components/file-upload/file-upload.component.js +1 -0
  403. package/dist/src/components/file-upload/styles.js +59 -59
  404. package/dist/src/components/flex/bundle.js +18 -8
  405. package/dist/src/components/flex/bundle.js.gz +0 -0
  406. package/dist/src/components/flex/flex.component.d.ts +4 -1
  407. package/dist/src/components/flex/flex.component.js +7 -4
  408. package/dist/src/components/flex/flex.style.js +2 -2
  409. package/dist/src/components/form/bundle.js +22 -10
  410. package/dist/src/components/form/bundle.js.gz +0 -0
  411. package/dist/src/components/form/controllers/submission.controller.d.ts +60 -0
  412. package/dist/src/components/form/controllers/submission.controller.js +220 -0
  413. package/dist/src/components/form/controllers/validation.controller.d.ts +87 -0
  414. package/dist/src/components/form/controllers/validation.controller.js +236 -0
  415. package/dist/src/components/form/form.component.d.ts +4 -1
  416. package/dist/src/components/form/form.component.js +5 -1
  417. package/dist/src/components/form/form.style.js +2 -2
  418. package/dist/src/components/form/interfaces/validation.interface.d.ts +118 -0
  419. package/dist/src/components/form/interfaces/validation.interface.js +7 -0
  420. package/dist/src/components/grid/bundle.js +26 -14
  421. package/dist/src/components/grid/bundle.js.gz +0 -0
  422. package/dist/src/components/grid/col.component.d.ts +4 -1
  423. package/dist/src/components/grid/col.component.js +4 -1
  424. package/dist/src/components/grid/col.style.js +2 -2
  425. package/dist/src/components/grid/row.component.d.ts +4 -1
  426. package/dist/src/components/grid/row.component.js +4 -1
  427. package/dist/src/components/grid/row.style.js +2 -2
  428. package/dist/src/components/icon/bundle.js +78 -252
  429. package/dist/src/components/icon/bundle.js.gz +0 -0
  430. package/dist/src/components/icon/icon-paths.d.ts +2 -0
  431. package/dist/src/components/icon/icon-paths.js +141 -0
  432. package/dist/src/components/icon/icon.component.d.ts +10 -12
  433. package/dist/src/components/icon/icon.component.js +42 -93
  434. package/dist/src/components/icon/icon.style.js +42 -130
  435. package/dist/src/components/icon/icon.variables.js +9 -9
  436. package/dist/src/components/icon/mixins/clickable-mixin.d.ts +57 -0
  437. package/dist/src/components/icon/mixins/clickable-mixin.js +111 -0
  438. package/dist/src/components/icon/mixins/index.d.ts +7 -0
  439. package/dist/src/components/icon/mixins/index.js +7 -0
  440. package/dist/src/components/iconpicker/bundle.js +859 -1511
  441. package/dist/src/components/iconpicker/bundle.js.gz +0 -0
  442. package/dist/src/components/iconpicker/controllers/event.controller.d.ts +38 -0
  443. package/dist/src/components/iconpicker/controllers/event.controller.js +68 -0
  444. package/dist/src/components/iconpicker/controllers/index.d.ts +9 -0
  445. package/dist/src/components/iconpicker/controllers/index.js +9 -0
  446. package/dist/src/components/iconpicker/controllers/search.controller.d.ts +34 -0
  447. package/dist/src/components/iconpicker/controllers/search.controller.js +55 -0
  448. package/dist/src/components/iconpicker/controllers/selection.controller.d.ts +27 -0
  449. package/dist/src/components/iconpicker/controllers/selection.controller.js +39 -0
  450. package/dist/src/components/iconpicker/icon-picker.component.d.ts +2 -1
  451. package/dist/src/components/iconpicker/icon-picker.component.js +1 -0
  452. package/dist/src/components/iconpicker/icon-picker.style.js +13 -13
  453. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.d.ts +13 -0
  454. package/dist/src/components/iconpicker/interfaces/icon-picker.interface.js +7 -0
  455. package/dist/src/components/iconpicker/interfaces/index.d.ts +7 -0
  456. package/dist/src/components/iconpicker/interfaces/index.js +7 -0
  457. package/dist/src/components/iconpicker/utils/icon-filter.utils.d.ts +29 -0
  458. package/dist/src/components/iconpicker/utils/icon-filter.utils.js +96 -0
  459. package/dist/src/components/iconpicker/utils/icon-loader.utils.d.ts +39 -0
  460. package/dist/src/components/iconpicker/utils/icon-loader.utils.js +115 -0
  461. package/dist/src/components/iconpicker/utils/index.d.ts +8 -0
  462. package/dist/src/components/iconpicker/utils/index.js +8 -0
  463. package/dist/src/components/iconpicker/utils/lucide-icons.d.ts +10 -0
  464. package/dist/src/components/iconpicker/utils/lucide-icons.js +1624 -0
  465. package/dist/src/components/image/bundle.js +43 -33
  466. package/dist/src/components/image/bundle.js.gz +0 -0
  467. package/dist/src/components/image/image.component.d.ts +10 -1
  468. package/dist/src/components/image/image.component.js +13 -3
  469. package/dist/src/components/image/image.style.js +19 -26
  470. package/dist/src/components/input/bundle.js +420 -644
  471. package/dist/src/components/input/bundle.js.gz +0 -0
  472. package/dist/src/components/input/controllers/base.controller.d.ts +35 -0
  473. package/dist/src/components/input/controllers/base.controller.js +13 -0
  474. package/dist/src/components/input/controllers/event.controller.d.ts +111 -0
  475. package/dist/src/components/input/controllers/event.controller.js +355 -0
  476. package/dist/src/components/input/controllers/index.d.ts +14 -0
  477. package/dist/src/components/input/controllers/index.js +10 -0
  478. package/dist/src/components/input/controllers/state.controller.d.ts +153 -0
  479. package/dist/src/components/input/controllers/state.controller.js +245 -0
  480. package/dist/src/components/input/controllers/validation.controller.d.ts +205 -0
  481. package/dist/src/components/input/controllers/validation.controller.js +698 -0
  482. package/dist/src/components/input/input.component.d.ts +16 -3
  483. package/dist/src/components/input/input.component.js +43 -27
  484. package/dist/src/components/input/input.style.d.ts +1 -1
  485. package/dist/src/components/input/input.style.js +331 -634
  486. package/dist/src/components/input/mixins/focus-mixin.d.ts +60 -0
  487. package/dist/src/components/input/mixins/focus-mixin.js +65 -0
  488. package/dist/src/components/input/mixins/index.d.ts +12 -0
  489. package/dist/src/components/input/mixins/index.js +9 -0
  490. package/dist/src/components/input/mixins/number-mixin.d.ts +51 -0
  491. package/dist/src/components/input/mixins/number-mixin.js +128 -0
  492. package/dist/src/components/input/mixins/selection-mixin.d.ts +57 -0
  493. package/dist/src/components/input/mixins/selection-mixin.js +80 -0
  494. package/dist/src/components/input/test/nr-input_test.d.ts +2 -0
  495. package/dist/src/components/input/test/nr-input_test.js +159 -0
  496. package/dist/src/components/input/utils/index.d.ts +8 -0
  497. package/dist/src/components/input/utils/index.js +8 -0
  498. package/dist/src/components/input/utils/input-renderers.d.ts +54 -0
  499. package/dist/src/components/input/utils/input-renderers.js +178 -0
  500. package/dist/src/components/input/utils/input-validation.utils.d.ts +26 -0
  501. package/dist/src/components/input/utils/input-validation.utils.js +103 -0
  502. package/dist/src/components/kv-secret-select/bundle.js +2 -1
  503. package/dist/src/components/kv-secret-select/bundle.js.gz +0 -0
  504. package/dist/src/components/kv-secret-select/kv-secret-select.component.d.ts +3 -0
  505. package/dist/src/components/kv-secret-select/kv-secret-select.component.js +4 -0
  506. package/dist/src/components/label/bundle.js +37 -60
  507. package/dist/src/components/label/bundle.js.gz +0 -0
  508. package/dist/src/components/label/label.component.d.ts +8 -4
  509. package/dist/src/components/label/label.component.js +9 -14
  510. package/dist/src/components/label/label.style.js +17 -25
  511. package/dist/src/components/label/label.style.variables.js +18 -18
  512. package/dist/src/components/layout/bundle.js +86 -70
  513. package/dist/src/components/layout/bundle.js.gz +0 -0
  514. package/dist/src/components/layout/content.component.d.ts +2 -1
  515. package/dist/src/components/layout/content.component.js +2 -1
  516. package/dist/src/components/layout/content.style.js +3 -3
  517. package/dist/src/components/layout/footer.component.d.ts +2 -1
  518. package/dist/src/components/layout/footer.component.js +3 -2
  519. package/dist/src/components/layout/footer.style.js +7 -7
  520. package/dist/src/components/layout/header.component.d.ts +2 -1
  521. package/dist/src/components/layout/header.component.js +3 -2
  522. package/dist/src/components/layout/header.style.js +7 -7
  523. package/dist/src/components/layout/layout.component.d.ts +4 -7
  524. package/dist/src/components/layout/layout.component.js +9 -22
  525. package/dist/src/components/layout/layout.style.js +1 -1
  526. package/dist/src/components/layout/sider.component.d.ts +3 -1
  527. package/dist/src/components/layout/sider.component.js +3 -1
  528. package/dist/src/components/layout/sider.style.js +29 -29
  529. package/dist/src/components/menu/bundle.js +135 -125
  530. package/dist/src/components/menu/bundle.js.gz +0 -0
  531. package/dist/src/components/menu/controllers/accessibility.controller.d.ts +86 -0
  532. package/dist/src/components/menu/controllers/accessibility.controller.js +235 -0
  533. package/dist/src/components/menu/controllers/base.controller.d.ts +41 -0
  534. package/dist/src/components/menu/controllers/base.controller.js +61 -0
  535. package/dist/src/components/menu/controllers/index.d.ts +10 -0
  536. package/dist/src/components/menu/controllers/index.js +10 -0
  537. package/dist/src/components/menu/controllers/keyboard.controller.d.ts +84 -0
  538. package/dist/src/components/menu/controllers/keyboard.controller.js +328 -0
  539. package/dist/src/components/menu/controllers/state.controller.d.ts +106 -0
  540. package/dist/src/components/menu/controllers/state.controller.js +249 -0
  541. package/dist/src/components/menu/interfaces/controller.interface.d.ts +51 -0
  542. package/dist/src/components/menu/interfaces/controller.interface.js +7 -0
  543. package/dist/src/components/menu/interfaces/index.d.ts +7 -0
  544. package/dist/src/components/menu/interfaces/index.js +7 -0
  545. package/dist/src/components/menu/menu.component.d.ts +2 -1
  546. package/dist/src/components/menu/menu.component.js +1 -0
  547. package/dist/src/components/menu/menu.style.js +87 -87
  548. package/dist/src/components/modal/bundle.js +105 -96
  549. package/dist/src/components/modal/bundle.js.gz +0 -0
  550. package/dist/src/components/modal/controllers/index.d.ts +8 -0
  551. package/dist/src/components/modal/controllers/index.js +8 -0
  552. package/dist/src/components/modal/controllers/modal-drag-controller.d.ts +39 -0
  553. package/dist/src/components/modal/controllers/modal-drag-controller.js +108 -0
  554. package/dist/src/components/modal/controllers/modal-keyboard-controller.d.ts +36 -0
  555. package/dist/src/components/modal/controllers/modal-keyboard-controller.js +128 -0
  556. package/dist/src/components/modal/modal.component.d.ts +2 -1
  557. package/dist/src/components/modal/modal.component.js +1 -0
  558. package/dist/src/components/modal/modal.style.js +69 -71
  559. package/dist/src/components/panel/bundle.js +190 -391
  560. package/dist/src/components/panel/bundle.js.gz +0 -0
  561. package/dist/src/components/panel/controllers/index.d.ts +8 -0
  562. package/dist/src/components/panel/controllers/index.js +8 -0
  563. package/dist/src/components/panel/controllers/panel-drag-controller.d.ts +40 -0
  564. package/dist/src/components/panel/controllers/panel-drag-controller.js +118 -0
  565. package/dist/src/components/panel/controllers/panel-resize-controller.d.ts +37 -0
  566. package/dist/src/components/panel/controllers/panel-resize-controller.js +124 -0
  567. package/dist/src/components/panel/panel.component.d.ts +2 -1
  568. package/dist/src/components/panel/panel.component.js +1 -0
  569. package/dist/src/components/panel/panel.style.js +65 -65
  570. package/dist/src/components/popconfirm/bundle.js +107 -93
  571. package/dist/src/components/popconfirm/bundle.js.gz +0 -0
  572. package/dist/src/components/popconfirm/popconfirm-manager.component.d.ts +2 -1
  573. package/dist/src/components/popconfirm/popconfirm-manager.component.js +1 -0
  574. package/dist/src/components/popconfirm/popconfirm-manager.style.js +16 -16
  575. package/dist/src/components/popconfirm/popconfirm.component.d.ts +2 -1
  576. package/dist/src/components/popconfirm/popconfirm.component.js +9 -5
  577. package/dist/src/components/popconfirm/popconfirm.style.js +43 -43
  578. package/dist/src/components/presence/bundle.js +528 -0
  579. package/dist/src/components/presence/bundle.js.gz +0 -0
  580. package/dist/src/components/presence/index.d.ts +10 -0
  581. package/dist/src/components/presence/index.js +10 -0
  582. package/dist/src/components/presence/presence-avatars.component.d.ts +40 -0
  583. package/dist/src/components/presence/presence-avatars.component.js +83 -0
  584. package/dist/src/components/presence/presence-avatars.style.d.ts +7 -0
  585. package/dist/src/components/presence/presence-avatars.style.js +105 -0
  586. package/dist/src/components/presence/presence-chat.component.d.ts +53 -0
  587. package/dist/src/components/presence/presence-chat.component.js +228 -0
  588. package/dist/src/components/presence/presence-chat.style.d.ts +7 -0
  589. package/dist/src/components/presence/presence-chat.style.js +248 -0
  590. package/dist/src/components/presence/presence.component.d.ts +71 -0
  591. package/dist/src/components/presence/presence.component.js +263 -0
  592. package/dist/src/components/presence/presence.style.d.ts +7 -0
  593. package/dist/src/components/presence/presence.style.js +12 -0
  594. package/dist/src/components/presence/presence.types.d.ts +31 -0
  595. package/dist/src/components/presence/presence.types.js +7 -0
  596. package/dist/src/components/presence/react.d.ts +24 -0
  597. package/dist/src/components/presence/react.js +41 -0
  598. package/dist/src/components/radio/bundle.js +56 -86
  599. package/dist/src/components/radio/bundle.js.gz +0 -0
  600. package/dist/src/components/radio/radio.component.d.ts +8 -2
  601. package/dist/src/components/radio/radio.component.js +17 -9
  602. package/dist/src/components/radio/radio.style.js +30 -77
  603. package/dist/src/components/radio-group/bundle.js +125 -89
  604. package/dist/src/components/radio-group/bundle.js.gz +0 -0
  605. package/dist/src/components/radio-group/controllers/focus.controller.d.ts +98 -0
  606. package/dist/src/components/radio-group/controllers/focus.controller.js +216 -0
  607. package/dist/src/components/radio-group/controllers/group.controller.d.ts +140 -0
  608. package/dist/src/components/radio-group/controllers/group.controller.js +179 -0
  609. package/dist/src/components/radio-group/controllers/index.d.ts +11 -0
  610. package/dist/src/components/radio-group/controllers/index.js +11 -0
  611. package/dist/src/components/radio-group/controllers/keyboard.controller.d.ts +24 -0
  612. package/dist/src/components/radio-group/controllers/keyboard.controller.js +93 -0
  613. package/dist/src/components/radio-group/controllers/ripple.controller.d.ts +59 -0
  614. package/dist/src/components/radio-group/controllers/ripple.controller.js +208 -0
  615. package/dist/src/components/radio-group/controllers/validation.controller.d.ts +73 -0
  616. package/dist/src/components/radio-group/controllers/validation.controller.js +108 -0
  617. package/dist/src/components/radio-group/interfaces/base-controller.interface.d.ts +75 -0
  618. package/dist/src/components/radio-group/interfaces/base-controller.interface.js +7 -0
  619. package/dist/src/components/radio-group/interfaces/focus-controller.interface.d.ts +40 -0
  620. package/dist/src/components/radio-group/interfaces/focus-controller.interface.js +7 -0
  621. package/dist/src/components/radio-group/interfaces/index.d.ts +11 -0
  622. package/dist/src/components/radio-group/interfaces/index.js +7 -0
  623. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.d.ts +31 -0
  624. package/dist/src/components/radio-group/interfaces/ripple-controller.interface.js +7 -0
  625. package/dist/src/components/radio-group/interfaces/selection-controller.interface.d.ts +45 -0
  626. package/dist/src/components/radio-group/interfaces/selection-controller.interface.js +7 -0
  627. package/dist/src/components/radio-group/interfaces/validation-controller.interface.d.ts +48 -0
  628. package/dist/src/components/radio-group/interfaces/validation-controller.interface.js +7 -0
  629. package/dist/src/components/radio-group/radio-group.component.d.ts +5 -1
  630. package/dist/src/components/radio-group/radio-group.component.js +18 -10
  631. package/dist/src/components/radio-group/radio-group.style.js +44 -44
  632. package/dist/src/components/radio-group/test/radio_test.d.ts +2 -0
  633. package/dist/src/components/radio-group/test/radio_test.js +79 -0
  634. package/dist/src/components/select/bundle.js +260 -367
  635. package/dist/src/components/select/bundle.js.gz +0 -0
  636. package/dist/src/components/select/controllers/base.controller.d.ts +10 -0
  637. package/dist/src/components/select/controllers/base.controller.js +8 -0
  638. package/dist/src/components/select/controllers/dropdown.controller.d.ts +76 -0
  639. package/dist/src/components/select/controllers/dropdown.controller.js +281 -0
  640. package/dist/src/components/select/controllers/event.controller.d.ts +54 -0
  641. package/dist/src/components/select/controllers/event.controller.js +113 -0
  642. package/dist/src/components/select/controllers/focus.controller.d.ts +79 -0
  643. package/dist/src/components/select/controllers/focus.controller.js +230 -0
  644. package/dist/src/components/select/controllers/index.d.ts +9 -0
  645. package/dist/src/components/select/controllers/index.js +9 -0
  646. package/dist/src/components/select/controllers/keyboard.controller.d.ts +75 -0
  647. package/dist/src/components/select/controllers/keyboard.controller.js +369 -0
  648. package/dist/src/components/select/controllers/search.controller.d.ts +71 -0
  649. package/dist/src/components/select/controllers/search.controller.js +167 -0
  650. package/dist/src/components/select/controllers/selection.controller.d.ts +67 -0
  651. package/dist/src/components/select/controllers/selection.controller.js +217 -0
  652. package/dist/src/components/select/controllers/validation.controller.d.ts +66 -0
  653. package/dist/src/components/select/controllers/validation.controller.js +189 -0
  654. package/dist/src/components/select/interfaces/base-controller.interface.d.ts +147 -0
  655. package/dist/src/components/select/interfaces/base-controller.interface.js +2 -0
  656. package/dist/src/components/select/interfaces/controller-interfaces.d.ts +94 -0
  657. package/dist/src/components/select/interfaces/controller-interfaces.js +11 -0
  658. package/dist/src/components/select/interfaces/index.d.ts +3 -0
  659. package/dist/src/components/select/interfaces/index.js +3 -0
  660. package/dist/src/components/select/select.component.d.ts +12 -17
  661. package/dist/src/components/select/select.component.js +35 -35
  662. package/dist/src/components/select/select.style.js +184 -324
  663. package/dist/src/components/skeleton/bundle.js +82 -162
  664. package/dist/src/components/skeleton/bundle.js.gz +0 -0
  665. package/dist/src/components/skeleton/skeleton.component.d.ts +10 -5
  666. package/dist/src/components/skeleton/skeleton.component.js +20 -7
  667. package/dist/src/components/skeleton/skeleton.style.js +34 -133
  668. package/dist/src/components/slider-input/bundle.js +89 -88
  669. package/dist/src/components/slider-input/bundle.js.gz +0 -0
  670. package/dist/src/components/slider-input/slider-input.component.d.ts +11 -0
  671. package/dist/src/components/slider-input/slider-input.component.js +20 -8
  672. package/dist/src/components/slider-input/slider-input.style.js +47 -47
  673. package/dist/src/components/slider-input/slider-input.style.variables.js +32 -32
  674. package/dist/src/components/slider-input/utils/debounce.d.ts +2 -0
  675. package/dist/src/components/slider-input/utils/debounce.js +8 -0
  676. package/dist/src/components/slider-input/utils/index.d.ts +2 -0
  677. package/dist/src/components/slider-input/utils/index.js +2 -0
  678. package/dist/src/components/table/bundle.js +149 -128
  679. package/dist/src/components/table/bundle.js.gz +0 -0
  680. package/dist/src/components/table/controllers/base.controller.d.ts +15 -0
  681. package/dist/src/components/table/controllers/base.controller.js +13 -0
  682. package/dist/src/components/table/controllers/filter.controller.d.ts +48 -0
  683. package/dist/src/components/table/controllers/filter.controller.js +152 -0
  684. package/dist/src/components/table/controllers/index.d.ts +11 -0
  685. package/dist/src/components/table/controllers/index.js +11 -0
  686. package/dist/src/components/table/controllers/pagination.controller.d.ts +36 -0
  687. package/dist/src/components/table/controllers/pagination.controller.js +110 -0
  688. package/dist/src/components/table/controllers/selection.controller.d.ts +40 -0
  689. package/dist/src/components/table/controllers/selection.controller.js +120 -0
  690. package/dist/src/components/table/controllers/sort.controller.d.ts +32 -0
  691. package/dist/src/components/table/controllers/sort.controller.js +102 -0
  692. package/dist/src/components/table/interfaces/index.d.ts +7 -0
  693. package/dist/src/components/table/interfaces/index.js +7 -0
  694. package/dist/src/components/table/interfaces/table-host.interface.d.ts +48 -0
  695. package/dist/src/components/table/interfaces/table-host.interface.js +7 -0
  696. package/dist/src/components/table/table.component.d.ts +2 -1
  697. package/dist/src/components/table/table.component.js +1 -0
  698. package/dist/src/components/table/table.style.js +79 -79
  699. package/dist/src/components/table/templates/actions.template.d.ts +14 -0
  700. package/dist/src/components/table/templates/actions.template.js +15 -0
  701. package/dist/src/components/table/templates/column-filter.template.d.ts +24 -0
  702. package/dist/src/components/table/templates/column-filter.template.js +76 -0
  703. package/dist/src/components/table/templates/content.template.d.ts +37 -0
  704. package/dist/src/components/table/templates/content.template.js +208 -0
  705. package/dist/src/components/table/templates/empty.template.d.ts +8 -0
  706. package/dist/src/components/table/templates/empty.template.js +47 -0
  707. package/dist/src/components/table/templates/filter.template.d.ts +14 -0
  708. package/dist/src/components/table/templates/filter.template.js +28 -0
  709. package/dist/src/components/table/templates/index.d.ts +8 -0
  710. package/dist/src/components/table/templates/index.js +8 -0
  711. package/dist/src/components/table/templates/loading.template.d.ts +21 -0
  712. package/dist/src/components/table/templates/loading.template.js +51 -0
  713. package/dist/src/components/table/templates/pagination.template.d.ts +24 -0
  714. package/dist/src/components/table/templates/pagination.template.js +52 -0
  715. package/dist/src/components/tabs/bundle.js +462 -663
  716. package/dist/src/components/tabs/bundle.js.gz +0 -0
  717. package/dist/src/components/tabs/controllers/base.controller.d.ts +49 -0
  718. package/dist/src/components/tabs/controllers/base.controller.js +26 -0
  719. package/dist/src/components/tabs/controllers/dragdrop.controller.d.ts +84 -0
  720. package/dist/src/components/tabs/controllers/dragdrop.controller.js +202 -0
  721. package/dist/src/components/tabs/controllers/editable.controller.d.ts +100 -0
  722. package/dist/src/components/tabs/controllers/editable.controller.js +242 -0
  723. package/dist/src/components/tabs/controllers/event.controller.d.ts +104 -0
  724. package/dist/src/components/tabs/controllers/event.controller.js +239 -0
  725. package/dist/src/components/tabs/controllers/index.d.ts +12 -0
  726. package/dist/src/components/tabs/controllers/index.js +18 -0
  727. package/dist/src/components/tabs/controllers/keyboard.controller.d.ts +85 -0
  728. package/dist/src/components/tabs/controllers/keyboard.controller.js +233 -0
  729. package/dist/src/components/tabs/controllers/popout.controller.d.ts +96 -0
  730. package/dist/src/components/tabs/controllers/popout.controller.js +441 -0
  731. package/dist/src/components/tabs/tabs.component.d.ts +6 -1
  732. package/dist/src/components/tabs/tabs.component.js +8 -1
  733. package/dist/src/components/tabs/tabs.style.js +200 -201
  734. package/dist/src/components/tag/bundle.js +44 -36
  735. package/dist/src/components/tag/bundle.js.gz +0 -0
  736. package/dist/src/components/tag/tag.component.d.ts +7 -6
  737. package/dist/src/components/tag/tag.component.js +10 -19
  738. package/dist/src/components/tag/tag.style.js +20 -24
  739. package/dist/src/components/textarea/bundle.js +131 -94
  740. package/dist/src/components/textarea/bundle.js.gz +0 -0
  741. package/dist/src/components/textarea/controllers/base.controller.d.ts +43 -0
  742. package/dist/src/components/textarea/controllers/base.controller.js +19 -0
  743. package/dist/src/components/textarea/controllers/event.controller.d.ts +169 -0
  744. package/dist/src/components/textarea/controllers/event.controller.js +408 -0
  745. package/dist/src/components/textarea/controllers/index.d.ts +9 -0
  746. package/dist/src/components/textarea/controllers/index.js +9 -0
  747. package/dist/src/components/textarea/controllers/validation.controller.d.ts +133 -0
  748. package/dist/src/components/textarea/controllers/validation.controller.js +315 -0
  749. package/dist/src/components/textarea/textarea.component.d.ts +7 -1
  750. package/dist/src/components/textarea/textarea.component.js +10 -3
  751. package/dist/src/components/textarea/textarea.style.d.ts +1 -13
  752. package/dist/src/components/textarea/textarea.style.js +79 -91
  753. package/dist/src/components/timeline/bundle.js +71 -134
  754. package/dist/src/components/timeline/bundle.js.gz +0 -0
  755. package/dist/src/components/timeline/timeline.component.d.ts +9 -6
  756. package/dist/src/components/timeline/timeline.component.js +16 -13
  757. package/dist/src/components/timeline/timeline.style.d.ts +0 -7
  758. package/dist/src/components/timeline/timeline.style.js +41 -122
  759. package/dist/src/components/timepicker/bundle.js +196 -166
  760. package/dist/src/components/timepicker/bundle.js.gz +0 -0
  761. package/dist/src/components/timepicker/controllers/formatting.controller.d.ts +93 -0
  762. package/dist/src/components/timepicker/controllers/formatting.controller.js +195 -0
  763. package/dist/src/components/timepicker/controllers/index.d.ts +9 -0
  764. package/dist/src/components/timepicker/controllers/index.js +9 -0
  765. package/dist/src/components/timepicker/controllers/selection.controller.d.ts +72 -0
  766. package/dist/src/components/timepicker/controllers/selection.controller.js +175 -0
  767. package/dist/src/components/timepicker/controllers/validation.controller.d.ts +88 -0
  768. package/dist/src/components/timepicker/controllers/validation.controller.js +200 -0
  769. package/dist/src/components/timepicker/interfaces/timepicker.interface.d.ts +103 -0
  770. package/dist/src/components/timepicker/interfaces/timepicker.interface.js +7 -0
  771. package/dist/src/components/timepicker/test/timepicker_test.d.ts +7 -0
  772. package/dist/src/components/timepicker/test/timepicker_test.js +218 -0
  773. package/dist/src/components/timepicker/timepicker.component.d.ts +2 -1
  774. package/dist/src/components/timepicker/timepicker.component.js +1 -0
  775. package/dist/src/components/timepicker/timepicker.style.js +42 -42
  776. package/dist/src/components/timepicker/timepicker.style.variables.js +91 -91
  777. package/dist/src/components/timepicker/utils/time.utils.d.ts +87 -0
  778. package/dist/src/components/timepicker/utils/time.utils.js +235 -0
  779. package/dist/src/components/toast/bundle.js +97 -81
  780. package/dist/src/components/toast/bundle.js.gz +0 -0
  781. package/dist/src/components/toast/controllers/base.controller.d.ts +20 -0
  782. package/dist/src/components/toast/controllers/base.controller.js +12 -0
  783. package/dist/src/components/toast/controllers/index.d.ts +8 -0
  784. package/dist/src/components/toast/controllers/index.js +7 -0
  785. package/dist/src/components/toast/toast.component.d.ts +2 -1
  786. package/dist/src/components/toast/toast.component.js +1 -0
  787. package/dist/src/components/toast/toast.style.js +62 -62
  788. package/dist/src/components/tooltips/bundle.js +10 -10
  789. package/dist/src/components/tooltips/bundle.js.gz +0 -0
  790. package/dist/src/components/tooltips/demo/tooltips-demo.d.ts +18 -0
  791. package/dist/src/components/tooltips/demo/tooltips-demo.js +132 -0
  792. package/dist/src/components/tooltips/test/tooltips_test.d.ts +2 -0
  793. package/dist/src/components/tooltips/test/tooltips_test.js +145 -0
  794. package/dist/src/components/tooltips/tooltips.component.d.ts +8 -0
  795. package/dist/src/components/tooltips/tooltips.component.js +9 -1
  796. package/dist/src/components/tooltips/tooltips.style.js +6 -6
  797. package/dist/src/components/video/bundle.js +47 -36
  798. package/dist/src/components/video/bundle.js.gz +0 -0
  799. package/dist/src/components/video/video.component.d.ts +12 -1
  800. package/dist/src/components/video/video.component.js +18 -6
  801. package/dist/src/components/video/video.style.js +18 -24
  802. package/package.json +51 -12
  803. package/packages/common/dist/VERSIONS.md +2 -2
  804. package/packages/common/dist/shared/base-mixin.d.ts +21 -19
  805. package/packages/common/dist/shared/base-mixin.d.ts.map +1 -1
  806. package/packages/common/dist/shared/base-mixin.js +102 -18
  807. package/packages/common/dist/shared/base-mixin.js.map +1 -1
  808. package/packages/common/dist/shared/index.d.ts +1 -0
  809. package/packages/common/dist/shared/index.d.ts.map +1 -1
  810. package/packages/common/dist/shared/index.js +2 -0
  811. package/packages/common/dist/shared/index.js.map +1 -1
  812. package/packages/common/dist/shared/style-injector.d.ts +11 -0
  813. package/packages/common/dist/shared/style-injector.d.ts.map +1 -0
  814. package/packages/common/dist/shared/style-injector.js +53 -0
  815. package/packages/common/dist/shared/style-injector.js.map +1 -0
  816. package/packages/common/dist/shared/theme-mixin.d.ts +2 -24
  817. package/packages/common/dist/shared/theme-mixin.d.ts.map +1 -1
  818. package/packages/common/dist/shared/theme-mixin.js +5 -38
  819. package/packages/common/dist/shared/theme-mixin.js.map +1 -1
  820. package/packages/themes/dist/default.css +0 -10
  821. package/packages/themes/dist/package.json +1 -1
@@ -1,14 +1,14 @@
1
- import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property as o,state as r,customElement as s}from"lit/decorators.js";import{NuralyUIBaseMixin as l}from"@nuralyui/common/mixins";import{BaseComponentController as a}from"@nuralyui/common/controllers";const u=[e`
1
+ import{css as e,html as t,nothing as i,LitElement as n}from"lit";import{property as s,state as o,customElement as r}from"lit/decorators.js";const a=[e`
2
2
  /* Root menu container */
3
3
  :host {
4
4
  display: block;
5
5
  }
6
6
 
7
7
  .menu-root {
8
- font-size: var(--nuraly-menu-font-size);
9
- font-family: var(--nuraly-menu-font-family);
10
- font-weight: var(--nuraly-menu-font-weight);
11
- line-height: var(--nuraly-menu-line-height);
8
+ font-size: 0.875rem;
9
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
10
+ font-weight: 400;
11
+ line-height: 1.5;
12
12
  list-style: none;
13
13
  margin: 0;
14
14
  padding: 0;
@@ -20,78 +20,78 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
20
20
  display: flex;
21
21
  align-items: center;
22
22
  cursor: pointer;
23
- padding: var(--nuraly-menu-link-padding, 1px);
24
- color: var(--nuraly-menu-link-color);
25
- background-color: var(--nuraly-menu-link-background-color);
23
+ padding: 1px;
24
+ color: #161616;
25
+ background-color: transparent;
26
26
  border-left: 4px solid transparent;
27
27
  border-top: 2px solid transparent;
28
28
  border-right: 2px solid transparent;
29
29
  border-bottom: 2px solid transparent;
30
- border-radius: var(--nuraly-menu-border-radius);
30
+ border-radius: 6px;
31
31
  margin-bottom: 4px;
32
32
  gap: 8px;
33
33
  }
34
34
 
35
35
  .menu-link.disabled {
36
- color: var(--nuraly-menu-disabled-link-color);
36
+ color: #c6c6c6;
37
37
  cursor: not-allowed;
38
38
  opacity: 0.6;
39
39
  }
40
40
 
41
41
  .menu-link:not(.disabled):not(.selected):hover {
42
- background-color: var(--nuraly-menu-hover-link-background-color);
43
- color: var(--nuraly-menu-hover-link-color);
42
+ background-color: #f4f4f4;
43
+ color: #161616;
44
44
  }
45
45
 
46
46
  .menu-link.selected {
47
- background-color: var(--nuraly-menu-selected-link-background-color);
48
- color: var(--nuraly-menu-selected-color);
49
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
47
+ background-color: rgba(124, 58, 237, 0.08);
48
+ color: #7c3aed;
49
+ border-left-color: #7c3aed;
50
50
  }
51
51
 
52
52
  .menu-link:not(.disabled):not(.selected):focus {
53
53
  outline: none;
54
- border-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
54
+ border-color: #7c3aed;
55
55
  border-left-color: transparent;
56
- color: var(--nuraly-menu-focus-color);
56
+ color: #7c3aed;
57
57
  }
58
58
 
59
59
  .menu-link.selected:not(.disabled):focus {
60
60
  outline: none;
61
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
62
- border-top-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
63
- border-right-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
64
- border-bottom-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
65
- color: var(--nuraly-menu-focus-color);
61
+ border-left-color: #7c3aed;
62
+ border-top-color: #7c3aed;
63
+ border-right-color: #7c3aed;
64
+ border-bottom-color: #7c3aed;
65
+ color: #7c3aed;
66
66
  }
67
67
 
68
68
  /* Focus-visible for keyboard navigation */
69
69
  .menu-link:not(.disabled):focus-visible {
70
70
  outline: none;
71
- border-top-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
72
- border-right-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
73
- border-bottom-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
71
+ border-top-color: #7c3aed;
72
+ border-right-color: #7c3aed;
73
+ border-bottom-color: #7c3aed;
74
74
  }
75
75
 
76
76
  .menu-link:not(.disabled):not(.selected):focus-visible {
77
- border-left-color: var(--nuraly-menu-focus-border-color, var(--nuraly-menu-focus-color));
78
- color: var(--nuraly-menu-focus-color);
77
+ border-left-color: #7c3aed;
78
+ color: #7c3aed;
79
79
  }
80
80
 
81
81
  .menu-link.selected:not(.disabled):focus-visible {
82
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
83
- color: var(--nuraly-menu-focus-color);
82
+ border-left-color: #7c3aed;
83
+ color: #7c3aed;
84
84
  }
85
85
 
86
86
  .menu-link:not(.disabled):not(.selected):active {
87
- color: var(--nuraly-menu-active-color);
88
- background-color: var(--nuraly-menu-active-background-color);
87
+ color: #6d28d9;
88
+ background-color: #e8e8e8;
89
89
  }
90
90
 
91
91
  .menu-link.selected:not(.disabled):active {
92
- background-color: var(--nuraly-menu-active-background-color);
93
- color: var(--nuraly-menu-active-color);
94
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
92
+ background-color: #e8e8e8;
93
+ color: #6d28d9;
94
+ border-left-color: #7c3aed;
95
95
  }
96
96
 
97
97
  .menu-link .action-text-container {
@@ -110,8 +110,8 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
110
110
  .menu-link nr-icon {
111
111
  display: flex;
112
112
  align-items: center;
113
- --nuraly-color-icon: var(--nuraly-menu-link-icon-color);
114
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 20px);
113
+ --nuraly-color-icon: #161616;
114
+ --nuraly-icon-size: 20px;
115
115
  flex-shrink: 0;
116
116
  }
117
117
 
@@ -121,11 +121,11 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
121
121
  }
122
122
 
123
123
  .menu-link:not(.disabled):not(.selected):hover nr-icon {
124
- --nuraly-color-icon: var(--nuraly-menu-hover-link-icon-color);
124
+ --nuraly-color-icon: #161616;
125
125
  }
126
126
 
127
127
  .menu-link.selected nr-icon {
128
- --nuraly-color-icon: var(--nuraly-menu-selected-link-icon-color);
128
+ --nuraly-color-icon: #7c3aed;
129
129
  }
130
130
 
131
131
  /* Sub Menu Styles */
@@ -134,19 +134,19 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
134
134
  flex-direction: column;
135
135
  padding-left: 0;
136
136
  list-style: none;
137
- color: var(--nuraly-sub-menu-color);
137
+ color: #161616;
138
138
  margin-bottom: 4px;
139
139
  }
140
140
 
141
141
  .sub-menu.disabled .sub-menu-header {
142
- color: var(--nuraly-sub-menu-disabled-color);
142
+ color: #c6c6c6;
143
143
  cursor: not-allowed;
144
144
  opacity: 0.6;
145
145
  }
146
146
 
147
147
  .sub-menu.highlighted .sub-menu-header {
148
- background-color: var(--nuraly-sub-menu-highlighted-background-color);
149
- color: var(--nuraly-sub-menu-highlighted-color);
148
+ background-color: rgba(124, 58, 237, 0.08);
149
+ color: #7c3aed;
150
150
  }
151
151
 
152
152
  .sub-menu .sub-menu-header {
@@ -154,12 +154,12 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
154
154
  justify-content: space-between;
155
155
  align-items: center;
156
156
  cursor: pointer;
157
- padding: var(--nuraly-sub-menu-header-padding, 1px);
157
+ padding: 1px;
158
158
  border-left: 4px solid transparent;
159
159
  border-top: 2px solid transparent;
160
160
  border-right: 2px solid transparent;
161
161
  border-bottom: 2px solid transparent;
162
- border-radius: var(--nuraly-menu-border-radius);
162
+ border-radius: 6px;
163
163
  gap: 8px;
164
164
  }
165
165
 
@@ -171,8 +171,8 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
171
171
 
172
172
  .sub-menu .text-icon {
173
173
  flex-shrink: 0;
174
- --nuraly-color-icon: var(--nuraly-sub-menu-text-icon-color);
175
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 20px);
174
+ --nuraly-color-icon: #525252;
175
+ --nuraly-icon-size: 20px;
176
176
  }
177
177
 
178
178
  .sub-menu .icons-container {
@@ -215,88 +215,88 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
215
215
  }
216
216
 
217
217
  .sub-menu .action-icon {
218
- --nuraly-color-icon: var(--nuraly-sub-menu-action-icon-color);
219
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 16px);
218
+ --nuraly-color-icon: #525252;
219
+ --nuraly-icon-size: 16px;
220
220
  }
221
221
 
222
222
  .sub-menu .status-icon {
223
- --nuraly-color-icon: var(--nuraly-sub-menu-status-icon-color);
224
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 16px);
223
+ --nuraly-color-icon: #525252;
224
+ --nuraly-icon-size: 16px;
225
225
  }
226
226
 
227
227
  .sub-menu .text-icon {
228
- --nuraly-color-icon: var(--nuraly-sub-menu-text-icon-color);
229
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 20px);
228
+ --nuraly-color-icon: #525252;
229
+ --nuraly-icon-size: 20px;
230
230
  }
231
231
 
232
232
  .sub-menu #toggle-icon {
233
- --nuraly-color-icon: var(--nuraly-sub-menu-toggle-icon-color);
234
- --nuraly-icon-size: var(--nuraly-menu-icon-size, 16px);
233
+ --nuraly-color-icon: #525252;
234
+ --nuraly-icon-size: 16px;
235
235
  }
236
236
 
237
237
  .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus {
238
238
  outline: none;
239
- border-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
239
+ border-color: #7c3aed;
240
240
  border-left-color: transparent;
241
- color: var(--nuraly-sub-menu-focus-color);
241
+ color: #7c3aed;
242
242
  }
243
243
 
244
244
  .sub-menu.selected:not(.disabled) .sub-menu-header:focus {
245
245
  outline: none;
246
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
247
- border-top-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
248
- border-right-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
249
- border-bottom-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
250
- color: var(--nuraly-sub-menu-focus-color);
246
+ border-left-color: #7c3aed;
247
+ border-top-color: #7c3aed;
248
+ border-right-color: #7c3aed;
249
+ border-bottom-color: #7c3aed;
250
+ color: #7c3aed;
251
251
  }
252
252
 
253
253
  /* Focus-visible for keyboard navigation on submenus */
254
254
  .sub-menu:not(.disabled) .sub-menu-header:focus-visible {
255
255
  outline: none;
256
- border-top-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
257
- border-right-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
258
- border-bottom-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
256
+ border-top-color: #7c3aed;
257
+ border-right-color: #7c3aed;
258
+ border-bottom-color: #7c3aed;
259
259
  }
260
260
 
261
261
  .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus-visible {
262
- border-left-color: var(--nuraly-sub-menu-focus-border-color, var(--nuraly-sub-menu-focus-color));
263
- color: var(--nuraly-sub-menu-focus-color);
262
+ border-left-color: #7c3aed;
263
+ color: #7c3aed;
264
264
  }
265
265
 
266
266
  .sub-menu.selected:not(.disabled) .sub-menu-header:focus-visible {
267
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
268
- color: var(--nuraly-sub-menu-focus-color);
267
+ border-left-color: #7c3aed;
268
+ color: #7c3aed;
269
269
  }
270
270
 
271
271
  .sub-menu:not(.disabled) .sub-menu-header:hover {
272
- background-color: var(--nuraly-sub-menu-hover-background-color);
273
- color: var(--nuraly-sub-menu-hover-color);
272
+ background-color: #f4f4f4;
273
+ color: #161616;
274
274
  }
275
275
 
276
276
  .sub-menu.selected:not(.disabled) .sub-menu-header {
277
- background-color: var(--nuraly-menu-selected-link-background-color);
278
- color: var(--nuraly-menu-selected-color);
279
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
277
+ background-color: rgba(124, 58, 237, 0.08);
278
+ color: #7c3aed;
279
+ border-left-color: #7c3aed;
280
280
  }
281
281
 
282
282
  .sub-menu.selected:not(.disabled) .sub-menu-header:active {
283
- background-color: var(--nuraly-sub-menu-active-background-color);
284
- color: var(--nuraly-sub-menu-active-color);
285
- border-left-color: var(--nuraly-menu-selected-link-border-color, var(--nuraly-menu-selected-color));
283
+ background-color: #e8e8e8;
284
+ color: #6d28d9;
285
+ border-left-color: #7c3aed;
286
286
  }
287
287
 
288
288
  .sub-menu:not(.disabled):not(.selected) .sub-menu-header:active {
289
- background-color: var(--nuraly-sub-menu-active-background-color);
290
- color: var(--nuraly-sub-menu-active-color);
289
+ background-color: #e8e8e8;
290
+ color: #6d28d9;
291
291
  }
292
292
 
293
293
  .sub-menu-children {
294
- padding-left: var(--nuraly-sub-menu-nested-padding-left);
294
+ padding-left: 1rem;
295
295
  }
296
296
 
297
297
  /* Arrow positioning for left arrow */
298
298
  .sub-menu.arrow-left .sub-menu-header {
299
- padding-left: var(--nuraly-sub-menu-arrow-left-padding, 8px); /* Add space for left arrow */
299
+ padding-left: 8px; /* Add space for left arrow */
300
300
  }
301
301
 
302
302
  .sub-menu.arrow-left .sub-menu-header #toggle-icon {
@@ -316,27 +316,27 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
316
316
 
317
317
  /* Size Variants */
318
318
  .menu--small .menu-link {
319
- padding: var(--nuraly-menu-link-padding-small, 1px);
319
+ padding: 1px;
320
320
  }
321
321
 
322
322
  .menu--small .sub-menu .sub-menu-header {
323
- padding: var(--nuraly-sub-menu-header-padding-small, 1px);
323
+ padding: 1px;
324
324
  }
325
325
 
326
326
  .menu--medium .menu-link {
327
- padding: var(--nuraly-menu-link-padding-medium, 1px);
327
+ padding: 1px;
328
328
  }
329
329
 
330
330
  .menu--medium .sub-menu .sub-menu-header {
331
- padding: var(--nuraly-sub-menu-header-padding-medium, 1px);
331
+ padding: 1px;
332
332
  }
333
333
 
334
334
  .menu--large .menu-link {
335
- padding: var(--nuraly-menu-link-padding-large, 1px);
335
+ padding: 1px;
336
336
  }
337
337
 
338
338
  .menu--large .sub-menu .sub-menu-header {
339
- padding: var(--nuraly-sub-menu-header-padding-large, 1px);
339
+ padding: 1px;
340
340
  }
341
341
 
342
342
  /* Edit input styles */
@@ -348,7 +348,7 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
348
348
  font-weight: inherit;
349
349
  line-height: inherit;
350
350
  color: inherit;
351
- background-color: var(--nuraly-menu-edit-input-background, transparent);
351
+ background-color: transparent;
352
352
  border: none;
353
353
  border-radius: 0;
354
354
  padding: 0;
@@ -363,45 +363,55 @@ import{css as e,LitElement as n,html as t,nothing as i}from"lit";import{property
363
363
 
364
364
  .menu-link.editing,
365
365
  .sub-menu.editing > .sub-menu-header {
366
- background-color: var(--nuraly-menu-edit-background, transparent);
366
+ background-color: transparent;
367
367
  }
368
368
 
369
- `];
369
+ `],l=e=>class extends e{constructor(){super(...arguments),this.handleSystemThemeChange=()=>{this.closest("[data-theme]")||document.documentElement.hasAttribute("data-theme")||this.requestUpdate()}}connectedCallback(){super.connectedCallback(),this.setupThemeObserver(),this.setupDesignSystemObserver(),this.setupSystemThemeListener()}disconnectedCallback(){var e,t,i;super.disconnectedCallback(),null===(e=this.themeObserver)||void 0===e||e.disconnect(),null===(t=this.designSystemObserver)||void 0===t||t.disconnect(),null===(i=this.mediaQuery)||void 0===i||i.removeEventListener("change",this.handleSystemThemeChange)}get currentTheme(){var e,t;const i=(null===(e=this.closest("[data-theme]"))||void 0===e?void 0:e.getAttribute("data-theme"))||document.documentElement.getAttribute("data-theme");return i||((null===(t=window.matchMedia)||void 0===t?void 0:t.call(window,"(prefers-color-scheme: dark)").matches)?"dark":"light")}get currentDesignSystem(){var e;const t=(null===(e=this.closest("[design-system]"))||void 0===e?void 0:e.getAttribute("design-system"))||document.documentElement.getAttribute("design-system");return"carbon"===t?t:"default"}setupThemeObserver(){this.themeObserver=new MutationObserver(()=>{this.requestUpdate()}),this.themeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}setupDesignSystemObserver(){this.designSystemObserver=new MutationObserver(()=>{this.requestUpdate()}),this.designSystemObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["design-system"]})}setupSystemThemeListener(){window.matchMedia&&(this.mediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this.mediaQuery.addEventListener("change",this.handleSystemThemeChange))}},d=()=>{var e;return void 0!==globalThis.litElementVersions||"undefined"!=typeof process&&"development"===(null===(e=process.env)||void 0===e?void 0:e.NODE_ENV)||"undefined"!=typeof window&&("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname)},c=e=>class extends e{constructor(){super(...arguments),this.requiredComponents=[]}validateDependencies(){if(d())for(const e of this.requiredComponents)if(!this.isComponentAvailable(e))throw new Error(`Required component "${e}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}. Example: import '@nuralyui/${e}';`)}validateDependenciesWithHandler(e){if(!d())return!0;let t=!0;for(const i of this.requiredComponents)if(!this.isComponentAvailable(i)){t=!1;const n=new Error(`Required component "${i}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}.`);e?e(i,n):console.error(n.message)}return t}isComponentAvailable(e){return!!customElements.get(e)}getMissingDependencies(){return this.requiredComponents.filter(e=>!this.isComponentAvailable(e))}areDependenciesAvailable(){return this.requiredComponents.every(e=>this.isComponentAvailable(e))}addRequiredComponent(e){this.requiredComponents.includes(e)||this.requiredComponents.push(e)}removeRequiredComponent(e){const t=this.requiredComponents.indexOf(e);t>-1&&this.requiredComponents.splice(t,1)}},h=e=>class extends e{dispatchCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}dispatchEventWithMetadata(e,t){var i;const n=Object.assign(Object.assign({},t),{timestamp:Date.now(),componentName:(null===(i=this.tagName)||void 0===i?void 0:i.toLowerCase())||"unknown"});this.dispatchCustomEvent(e,n)}dispatchInputEvent(e,t){const i=Object.assign({target:t.target||this,value:t.value,originalEvent:t.originalEvent},t);this.dispatchCustomEvent(e,i)}dispatchFocusEvent(e,t){const i=Object.assign({target:t.target||this,value:t.value,focused:t.focused,cursorPosition:t.cursorPosition,selectedText:t.selectedText},t);this.dispatchCustomEvent(e,i)}dispatchValidationEvent(e,t){var i;const n=Object.assign({target:t.target||this,value:t.value,isValid:null!==(i=t.isValid)&&void 0!==i&&i,error:t.error},t);this.dispatchCustomEvent(e,n)}dispatchActionEvent(e,t){const i=Object.assign({target:t.target||this,action:t.action,previousValue:t.previousValue,newValue:t.newValue},t);this.dispatchCustomEvent(e,i)}isReadonlyKeyAllowed(e){if(e.ctrlKey||e.metaKey){return["KeyA","KeyC"].includes(e.code)}return["Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(e.key)}isActivationKey(e){return"Enter"===e.key||" "===e.key}},u=new Set,m=new Map;
370
370
  /**
371
371
  * @license
372
372
  * Copyright 2023 Nuraly, Laabidi Aymen
373
373
  * SPDX-License-Identifier: MIT
374
374
  */
375
- class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Object.assign({detail:n,bubbles:!0,composed:!0,cancelable:!0},t));return this._host.dispatchEvent(i)}catch(e){return this.handleError(e,"dispatchEvent"),!1}}isDisabled(){return!1}getElementByPath(e){var n;return(null===(n=this._host.shadowRoot)||void 0===n?void 0:n.querySelector(`[data-path="${e}"]`))||null}getAllMenuLinks(){var e;return Array.from((null===(e=this._host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".menu-link, .sub-menu"))||[])}isElementInteractive(e){if(!e)return!1;const n=e.classList.contains("disabled"),t=null!==e.offsetParent;return!n&&t}}
375
+ const p=e=>{class t extends e{constructor(){super(...arguments),this.t=null}createRenderRoot(){return this.constructor.useShadowDom?super.createRenderRoot():this}connectedCallback(){const e=this.constructor.useShadowDom;if(!e&&null===this.t)for(this.t=[];this.firstChild;)this.t.push(this.removeChild(this.firstChild));if(super.connectedCallback(),!e){const e=this.constructor,t=this.tagName.toLowerCase(),i=e.styles;if(i){const e=b(i);e&&function(e,t,i){var n;if(!m.has(e)){const i=new CSSStyleSheet;i.replaceSync(t),m.set(e,i)}const s=m.get(e),o=`doc:${e}`;if(u.has(o)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,s],u.add(o)),i){let t=i;for(;t;){const i=t.getRootNode();if(!(i instanceof ShadowRoot))break;{const o=`shadow:${((null===(n=i.host)||void 0===n?void 0:n.tagName)||"").toLowerCase()}:${e}`;u.has(o)||(i.adoptedStyleSheets=[...i.adoptedStyleSheets,s],u.add(o)),t=i.host}}}}(t,e,this)}}}get lightChildren(){return this.t?this.t.filter(e=>!(e instanceof Element&&e.hasAttribute("slot"))):[]}lightChildrenNamed(e){return this.t?this.t.filter(t=>t instanceof Element&&t.getAttribute("slot")===e):[]}}return t.useShadowDom=!1,t};function b(e){return Array.isArray(e)?e.map(e=>b(e)).filter(Boolean).join("\n"):e&&"string"==typeof e.cssText?e.cssText:"string"==typeof e?e:""}
376
376
  /**
377
377
  * @license
378
378
  * Copyright 2023 Nuraly, Laabidi Aymen
379
379
  * SPDX-License-Identifier: MIT
380
- */class d extends c{constructor(){super(...arguments),this._selectedPath=[],this._openSubMenus=new Set,this._hoveredSubMenus=new Set,this._highlightedSubMenus=new Set}get selectedPath(){return this._selectedPath}set selectedPath(e){this._selectedPath=e}get openSubMenus(){return this._openSubMenus}get hoveredSubMenus(){return this._hoveredSubMenus}get highlightedSubMenus(){return this._highlightedSubMenus}setSelectedPath(e){try{this._selectedPath=e,this.clearHighlights(),this.requestUpdate(),this.dispatchMenuEvent("selection-changed",{path:e,timestamp:Date.now()})}catch(e){this.handleError(e,"setSelectedPath")}}toggleSubMenu(e){try{const n=e.join("-");this._openSubMenus.has(n)?this.closeSubMenu(e):this.openSubMenu(e)}catch(e){this.handleError(e,"toggleSubMenu")}}openSubMenu(e){try{const n=e.join("-");this._openSubMenus.has(n)||(this._openSubMenus.add(n),this.requestUpdate(),this.dispatchMenuEvent("submenu-opened",{path:e,pathKey:n,timestamp:Date.now()}))}catch(e){this.handleError(e,"openSubMenu")}}closeSubMenu(e){try{const n=e.join("-");this._openSubMenus.has(n)&&(this._openSubMenus.delete(n),this.requestUpdate(),this.dispatchMenuEvent("submenu-closed",{path:e,pathKey:n,timestamp:Date.now()}))}catch(e){this.handleError(e,"closeSubMenu")}}closeAllSubMenus(){try{this._openSubMenus.clear(),this.requestUpdate(),this.dispatchMenuEvent("all-submenus-closed",{timestamp:Date.now()})}catch(e){this.handleError(e,"closeAllSubMenus")}}setHovered(e,n){try{const t=e.join("-");n?this._hoveredSubMenus.add(t):this._hoveredSubMenus.delete(t),this.requestUpdate()}catch(e){this.handleError(e,"setHovered")}}setHighlighted(e,n){try{const t=e.join("-");n?this._highlightedSubMenus.add(t):this._highlightedSubMenus.delete(t),this.requestUpdate()}catch(e){this.handleError(e,"setHighlighted")}}clearHighlights(){try{this._highlightedSubMenus.clear(),this.requestUpdate()}catch(e){this.handleError(e,"clearHighlights")}}isPathSelected(e){return e.length===this._selectedPath.length&&e.every((e,n)=>e===this._selectedPath[n])}isSubMenuOpen(e){const n=e.join("-");return this._openSubMenus.has(n)}isSubMenuHovered(e){const n=e.join("-");return this._hoveredSubMenus.has(n)}isSubMenuHighlighted(e){const n=e.join("-");return this._highlightedSubMenus.has(n)}reset(){try{this._selectedPath=[],this._openSubMenus.clear(),this._hoveredSubMenus.clear(),this._highlightedSubMenus.clear(),this.requestUpdate(),this.dispatchMenuEvent("state-reset",{timestamp:Date.now()})}catch(e){this.handleError(e,"reset")}}}
380
+ */class v{constructor(e){this._host=e,e.addController(this)}get host(){return this._host}hostConnected(){}hostDisconnected(){}hostUpdate(){}hostUpdated(){}requestUpdate(){try{this._host.requestUpdate()}catch(e){this.handleError(e,"requestUpdate")}}dispatchEvent(e){try{return this._host.dispatchEvent(e)}catch(e){return this.handleError(e,"dispatchEvent"),!1}}handleError(e,t){console.error(`[${this.constructor.name}] Error in ${t}:`,e);try{this._host.dispatchEvent(new CustomEvent("nr-controller-error",{detail:{error:e.message,context:t,controller:this.constructor.name},bubbles:!0,composed:!0}))}catch(e){}}safeExecute(e,t,i){try{return e()}catch(e){return this.handleError(e,t),i}}debounce(e,t){let i;const n=(...n)=>{void 0!==i&&clearTimeout(i),i=setTimeout(()=>{i=void 0,e.apply(this,n)},t)};return n.cancel=()=>{void 0!==i&&(clearTimeout(i),i=void 0)},n}}
381
381
  /**
382
382
  * @license
383
383
  * Copyright 2023 Nuraly, Laabidi Aymen
384
384
  * SPDX-License-Identifier: MIT
385
- */class h extends c{constructor(e,n){super(e),this.typeAheadBuffer="",this.typeAheadTimeout=null,this.currentFocusIndex=-1,this.stateController=n}hostConnected(){this.host.addEventListener("keydown",this.handleKeydown.bind(this))}hostDisconnected(){this.host.removeEventListener("keydown",this.handleKeydown.bind(this)),this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout)}handleKeydown(e){try{const n=e.target;if("INPUT"===n.tagName||"TEXTAREA"===n.tagName||n.isContentEditable)return;const t=e.key;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t))return void this.handleArrowNavigation(e);if("Enter"===t||" "===t)return void this.handleActivation(e);if("Escape"===t)return void this.handleEscape(e);if("Home"===t||"End"===t)return void this.handleHomeEnd(e);if(1===t.length&&!e.ctrlKey&&!e.metaKey&&!e.altKey)return void this.handleTypeAhead(e)}catch(e){this.handleError(e,"handleKeydown")}}handleArrowNavigation(e){var n;try{e.preventDefault();const t=this.getAllMenuLinks(),i=null===(n=this.host.shadowRoot)||void 0===n?void 0:n.activeElement,o=t.indexOf(i);switch(e.key){case"ArrowDown":this.navigateDown(t,o);break;case"ArrowUp":this.navigateUp(t,o);break;case"ArrowRight":this.expandOrNavigate(i);break;case"ArrowLeft":this.collapseOrNavigate(i)}this.dispatchMenuEvent("keyboard-navigation",{key:e.key,currentIndex:o,timestamp:Date.now()})}catch(e){this.handleError(e,"handleArrowNavigation")}}navigateDown(e,n){let t=n+1;for(;t<e.length;){const n=e[t];if(this.isElementInteractive(n))return n.focus(),void(this.currentFocusIndex=t);t++}if(n>=0)for(let n=0;n<e.length;n++)if(this.isElementInteractive(e[n]))return e[n].focus(),void(this.currentFocusIndex=n)}navigateUp(e,n){let t=n-1;for(;t>=0;){const n=e[t];if(this.isElementInteractive(n))return n.focus(),void(this.currentFocusIndex=t);t--}if(n>=0)for(let n=e.length-1;n>=0;n--)if(this.isElementInteractive(e[n]))return e[n].focus(),void(this.currentFocusIndex=n)}expandOrNavigate(e){if(e&&e.classList.contains("sub-menu")){const n=e.getAttribute("data-path");if(n){const e=n.split("-").map(Number);this.stateController.openSubMenu(e)}}}collapseOrNavigate(e){if(e&&e.classList.contains("sub-menu")){const n=e.getAttribute("data-path");if(n){const e=n.split("-").map(Number);this.stateController.closeSubMenu(e)}}}handleActivation(e){var n;try{e.preventDefault();const t=null===(n=this.host.shadowRoot)||void 0===n?void 0:n.activeElement;if(!t||!this.isElementInteractive(t))return;t.click(),this.dispatchMenuEvent("keyboard-activation",{key:e.key,element:t,timestamp:Date.now()})}catch(e){this.handleError(e,"handleActivation")}}handleEscape(e){try{e.preventDefault(),this.stateController.closeAllSubMenus(),this.dispatchMenuEvent("keyboard-escape",{timestamp:Date.now()})}catch(e){this.handleError(e,"handleEscape")}}handleHomeEnd(e){try{e.preventDefault();const n=this.getAllMenuLinks(),t=n.filter(e=>this.isElementInteractive(e));if(0===t.length)return;if("Home"===e.key)t[0].focus(),this.currentFocusIndex=n.indexOf(t[0]);else{const e=t[t.length-1];e.focus(),this.currentFocusIndex=n.indexOf(e)}this.dispatchMenuEvent("keyboard-home-end",{key:e.key,timestamp:Date.now()})}catch(e){this.handleError(e,"handleHomeEnd")}}handleTypeAhead(e){try{e.preventDefault(),this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout),this.typeAheadBuffer+=e.key.toLowerCase(),this.typeAheadTimeout=window.setTimeout(()=>{this.typeAheadBuffer="",this.typeAheadTimeout=null},500);const n=this.getAllMenuLinks(),t=this.currentFocusIndex>=0?this.currentFocusIndex:-1;for(let e=t+1;e<n.length;e++)if(this.matchesTypeAhead(n[e]))return n[e].focus(),void(this.currentFocusIndex=e);for(let e=0;e<=t;e++)if(this.matchesTypeAhead(n[e]))return n[e].focus(),void(this.currentFocusIndex=e);this.dispatchMenuEvent("keyboard-typeahead",{buffer:this.typeAheadBuffer,timestamp:Date.now()})}catch(e){this.handleError(e,"handleTypeAhead")}}matchesTypeAhead(e){var n;if(!this.isElementInteractive(e))return!1;return((null===(n=e.textContent)||void 0===n?void 0:n.trim().toLowerCase())||"").startsWith(this.typeAheadBuffer)}resetTypeAhead(){this.typeAheadBuffer="",this.typeAheadTimeout&&(clearTimeout(this.typeAheadTimeout),this.typeAheadTimeout=null)}}
385
+ */class g extends v{dispatchMenuEvent(e,t,i={}){try{const n=new CustomEvent(e,Object.assign({detail:t,bubbles:!0,composed:!0,cancelable:!0},i));return this._host.dispatchEvent(n)}catch(e){return this.handleError(e,"dispatchEvent"),!1}}isDisabled(){return!1}getElementByPath(e){var t;return(null===(t=this._host.shadowRoot)||void 0===t?void 0:t.querySelector(`[data-path="${e}"]`))||null}getAllMenuLinks(){var e;return Array.from((null===(e=this._host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".menu-link, .sub-menu"))||[])}isElementInteractive(e){if(!e)return!1;const t=e.classList.contains("disabled"),i=null!==e.offsetParent;return!t&&i}}
386
386
  /**
387
387
  * @license
388
388
  * Copyright 2023 Nuraly, Laabidi Aymen
389
389
  * SPDX-License-Identifier: MIT
390
- */class m extends c{constructor(e,n){super(e),this.announcementElement=null,this.stateController=n}hostConnected(){this.createAnnouncementElement(),this.updateAriaAttributes()}hostDisconnected(){this.removeAnnouncementElement()}createAnnouncementElement(){this.announcementElement||(this.announcementElement=document.createElement("div"),this.announcementElement.setAttribute("role","status"),this.announcementElement.setAttribute("aria-live","polite"),this.announcementElement.setAttribute("aria-atomic","true"),this.announcementElement.style.position="absolute",this.announcementElement.style.left="-10000px",this.announcementElement.style.width="1px",this.announcementElement.style.height="1px",this.announcementElement.style.overflow="hidden",document.body.appendChild(this.announcementElement))}removeAnnouncementElement(){this.announcementElement&&this.announcementElement.parentNode&&(this.announcementElement.parentNode.removeChild(this.announcementElement),this.announcementElement=null)}updateAriaAttributes(){try{this.updateMenuRoot(),this.updateAllMenuItems(),this.updateAllSubMenus()}catch(e){this.handleError(e,"updateAriaAttributes")}}updateMenuRoot(){var e;const n=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelector(".menu-root");n&&(n.setAttribute("role","menu"),n.setAttribute("aria-label","Main menu"))}updateAllMenuItems(){var e;const n=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".menu-link");null==n||n.forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","0");const n=e.getAttribute("data-path");if(n){const t=n.split("-").map(Number),i=this.stateController.isPathSelected(t);this.setAriaSelected(e,i)}e.classList.contains("disabled")&&e.setAttribute("aria-disabled","true")})}updateAllSubMenus(){var e;const n=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".sub-menu");null==n||n.forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","0");const n=e.getAttribute("data-path");if(n){const t=n.split("-").map(Number),i=this.stateController.isSubMenuOpen(t),o=e.querySelector(".sub-menu-header");o&&(o.setAttribute("aria-haspopup","true"),this.setAriaExpanded(o,i))}e.classList.contains("disabled")&&e.setAttribute("aria-disabled","true")})}setAriaExpanded(e,n){try{e.setAttribute("aria-expanded",n.toString())}catch(e){this.handleError(e,"setAriaExpanded")}}setAriaSelected(e,n){try{n?(e.setAttribute("aria-selected","true"),e.setAttribute("aria-current","page")):(e.removeAttribute("aria-selected"),e.removeAttribute("aria-current"))}catch(e){this.handleError(e,"setAriaSelected")}}manageFocus(e){try{this.isElementInteractive(e)&&(e.focus(),e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}))}catch(e){this.handleError(e,"manageFocus")}}announceToScreenReader(e){try{this.announcementElement&&(this.announcementElement.textContent="",setTimeout(()=>{this.announcementElement&&(this.announcementElement.textContent=e)},100))}catch(e){this.handleError(e,"announceToScreenReader")}}announceSelection(e,n){const t=`Selected ${e}, level ${n.length}`;this.announceToScreenReader(t)}announceSubMenuToggle(e,n){const t=`${e} submenu ${n?"expanded":"collapsed"}`;this.announceToScreenReader(t)}focusFirstItem(){const e=this.getAllMenuLinks().find(e=>this.isElementInteractive(e));e&&this.manageFocus(e)}focusLastItem(){const e=this.getAllMenuLinks().filter(e=>this.isElementInteractive(e)),n=e[e.length-1];n&&this.manageFocus(n)}}
390
+ */class f extends g{constructor(){super(...arguments),this._selectedPath=[],this._openSubMenus=new Set,this._hoveredSubMenus=new Set,this._highlightedSubMenus=new Set}get selectedPath(){return this._selectedPath}set selectedPath(e){this._selectedPath=e}get openSubMenus(){return this._openSubMenus}get hoveredSubMenus(){return this._hoveredSubMenus}get highlightedSubMenus(){return this._highlightedSubMenus}setSelectedPath(e){try{this._selectedPath=e,this.clearHighlights(),this.requestUpdate(),this.dispatchMenuEvent("selection-changed",{path:e,timestamp:Date.now()})}catch(e){this.handleError(e,"setSelectedPath")}}toggleSubMenu(e){try{const t=e.join("-");this._openSubMenus.has(t)?this.closeSubMenu(e):this.openSubMenu(e)}catch(e){this.handleError(e,"toggleSubMenu")}}openSubMenu(e){try{const t=e.join("-");this._openSubMenus.has(t)||(this._openSubMenus.add(t),this.requestUpdate(),this.dispatchMenuEvent("submenu-opened",{path:e,pathKey:t,timestamp:Date.now()}))}catch(e){this.handleError(e,"openSubMenu")}}closeSubMenu(e){try{const t=e.join("-");this._openSubMenus.has(t)&&(this._openSubMenus.delete(t),this.requestUpdate(),this.dispatchMenuEvent("submenu-closed",{path:e,pathKey:t,timestamp:Date.now()}))}catch(e){this.handleError(e,"closeSubMenu")}}closeAllSubMenus(){try{this._openSubMenus.clear(),this.requestUpdate(),this.dispatchMenuEvent("all-submenus-closed",{timestamp:Date.now()})}catch(e){this.handleError(e,"closeAllSubMenus")}}setHovered(e,t){try{const i=e.join("-");t?this._hoveredSubMenus.add(i):this._hoveredSubMenus.delete(i),this.requestUpdate()}catch(e){this.handleError(e,"setHovered")}}setHighlighted(e,t){try{const i=e.join("-");t?this._highlightedSubMenus.add(i):this._highlightedSubMenus.delete(i),this.requestUpdate()}catch(e){this.handleError(e,"setHighlighted")}}clearHighlights(){try{this._highlightedSubMenus.clear(),this.requestUpdate()}catch(e){this.handleError(e,"clearHighlights")}}isPathSelected(e){return e.length===this._selectedPath.length&&e.every((e,t)=>e===this._selectedPath[t])}isSubMenuOpen(e){const t=e.join("-");return this._openSubMenus.has(t)}isSubMenuHovered(e){const t=e.join("-");return this._hoveredSubMenus.has(t)}isSubMenuHighlighted(e){const t=e.join("-");return this._highlightedSubMenus.has(t)}reset(){try{this._selectedPath=[],this._openSubMenus.clear(),this._hoveredSubMenus.clear(),this._highlightedSubMenus.clear(),this.requestUpdate(),this.dispatchMenuEvent("state-reset",{timestamp:Date.now()})}catch(e){this.handleError(e,"reset")}}}
391
391
  /**
392
392
  * @license
393
393
  * Copyright 2023 Nuraly, Laabidi Aymen
394
394
  * SPDX-License-Identifier: MIT
395
- */var b=function(e,n,t,i){for(var o,r=arguments.length,s=r<3?n:null===i?i=Object.getOwnPropertyDescriptor(n,t):i,l=e.length-1;l>=0;l--)(o=e[l])&&(s=(r<3?o(s):r>3?o(n,t,s):o(n,t))||s);return r>3&&s&&Object.defineProperty(n,t,s),s};let v=class extends(l(n)){constructor(){super(),this.requiredComponents=["nr-icon","nr-dropdown"],this.items=[],this.size="medium",this.arrowPosition="right",this._contextMenuState=null,this._editingPath=null,this._editingValue="",this._pendingClickTimeout=null,this._pendingClickPath=null,this._linkIndex=0,this.stateController=new d(this),this.keyboardController=new h(this,this.stateController),this.accessibilityController=new m(this,this.stateController)}firstUpdated(){this._initializeSelectedState(),this.accessibilityController.updateAriaAttributes()}updated(e){e.has("items")&&(this._initializeSelectedState(),this._initializeOpenedState()),this.accessibilityController.updateAriaAttributes()}_initializeOpenedState(){this._openSubMenusFromItems(this.items,[])}_openSubMenusFromItems(e,n){for(let t=0;t<e.length;t++){const i=e[t],o=[...n,t];i.children&&(i.opened&&this.stateController.openSubMenu(o),this._openSubMenusFromItems(i.children,o))}}_initializeSelectedState(){this._linkIndex=0,this._findSelectedPath(this.items)}_findSelectedPath(e,n=[]){for(let t=0;t<e.length;t++){const i=e[t],o=[...n,t];if(i.children){if(this._findSelectedPath(i.children,o))return!0}else if(i.selected)return this.stateController.setSelectedPath(o),!0}return!1}_handleLinkClick(e,n,t,i){var o;if(null===(o=null==i?void 0:i.target)||void 0===o?void 0:o.classList.contains("action-icon"))return;if("click"===(null==i?void 0:i.type)){if(i.detail>0)return}const r=e.join("-");if(t&&"mousedown"===(null==i?void 0:i.type))return this._pendingClickTimeout&&clearTimeout(this._pendingClickTimeout),this._pendingClickPath=r,void(this._pendingClickTimeout=setTimeout(()=>{this._pendingClickPath===r&&(this._executeClick(e,n),this._pendingClickPath=null)},200));this._executeClick(e,n)}_executeClick(e,n){this.stateController.setSelectedPath(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{path:e,value:n}})),this.requestUpdate()}_handleSubMenuClick(e,n,t,i){const o=i,r=i.target;if("toggle-icon"===r.id||r.closest("#toggle-icon"))return;if("click"===i.type)return 0===o.detail?(this.stateController.toggleSubMenu(e),void this.requestUpdate()):void 0;const s=e.join("-");if(t)return this._pendingClickTimeout&&clearTimeout(this._pendingClickTimeout),this._pendingClickPath=s,void(this._pendingClickTimeout=setTimeout(()=>{this._pendingClickPath===s&&(this._executeSubMenuClick(e,n),this._pendingClickPath=null)},200));this._executeSubMenuClick(e,n)}_executeSubMenuClick(e,n){this.stateController.setSelectedPath([]),this.stateController.clearHighlights(),this.stateController.setHighlighted(e,!0),this.stateController.toggleSubMenu(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{path:e,value:n}})),this.requestUpdate()}_toggleSubMenu(e,n){n.stopPropagation(),this.stateController.toggleSubMenu(e),this.requestUpdate()}_handleSubMenuMouseEnter(e){this.stateController.setHovered(e,!0),this.requestUpdate()}_handleSubMenuMouseLeave(e){this.stateController.setHovered(e,!1),this.requestUpdate()}_handleActionClick(e,n){const t=n.detail.item,i=n.detail.originalEvent,o=n.detail.dropdown;this.dispatchEvent(new CustomEvent("action-click",{detail:{value:t.value,path:e,item:t,originalEvent:i,close:()=>{o&&("function"==typeof o.hide?o.hide():"function"==typeof o.close&&o.close())}},composed:!0,bubbles:!0}))}_handleContextMenu(e,n,t){var i,o;(null===(o=null===(i=n.menu)||void 0===i?void 0:i.actions)||void 0===o?void 0:o.length)&&(t.preventDefault(),t.stopPropagation(),this._contextMenuState={path:e,x:t.clientX,y:t.clientY,actions:n.menu.actions},this.requestUpdate(),this.updateComplete.then(()=>{var e;const n=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#context-menu-dropdown");n&&"function"==typeof n.show&&n.show()}))}_handleContextMenuAction(e,n){const t=n.detail.item,i=n.detail.originalEvent,o=n.detail.dropdown,r=()=>{this._contextMenuState=null,o&&("function"==typeof o.hide?o.hide():"function"==typeof o.close&&o.close()),this.requestUpdate()};this.dispatchEvent(new CustomEvent("action-click",{detail:{value:t.value,path:e,item:t,originalEvent:i,close:r},composed:!0,bubbles:!0})),r()}_handleContextMenuClose(){this._contextMenuState=null,this.requestUpdate()}_handleDoubleClick(e,n,t){if(n.disabled)return;t.preventDefault(),t.stopPropagation(),this._pendingClickTimeout&&(clearTimeout(this._pendingClickTimeout),this._pendingClickTimeout=null,this._pendingClickPath=null);const i=e.join("-");this._editingPath=i,this._editingValue=n.text,this.requestUpdate(),this.updateComplete.then(()=>{var e;const n=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(`input[data-edit-path="${i}"]`);n&&(n.focus(),n.select())})}_handleEditInput(e){e.stopPropagation();const n=e.target;this._editingValue=n.value}_handleEditKeyDown(e,n,t){if(t.stopPropagation(),console.log("Edit keydown:",t.key,"editingValue:",this._editingValue),"Enter"===t.key){t.preventDefault();const i=t.target;this._editingValue=i.value,console.log("Saving with value:",this._editingValue),this._saveEdit(e,n)}else"Escape"===t.key&&(t.preventDefault(),this._cancelEdit())}_handleEditBlur(e,n,t){var i;const o=t.relatedTarget;o&&(null===(i=this.shadowRoot)||void 0===i?void 0:i.contains(o))||setTimeout(()=>{this._editingPath===e.join("-")&&this._saveEdit(e,n)},200)}_saveEdit(e,n){const t=this._editingValue.trim();if(console.log("_saveEdit called:",{newValue:t,originalText:n,willEmit:t&&t!==n}),t&&t!==n){const i={path:e,oldValue:n,newValue:t};this.onLabelEdit&&(console.log("Calling onLabelEdit callback"),this.onLabelEdit(i)),console.log("Dispatching label-edit event from:",this.tagName);const o=new CustomEvent("label-edit",{bubbles:!0,composed:!0,detail:i});this.dispatchEvent(o)}this._editingPath=null,this._editingValue="",this.requestUpdate()}_cancelEdit(){this._editingPath=null,this._editingValue="",this.requestUpdate()}_isEditing(e){return this._editingPath===e.join("-")}_isPathSelected(e){return this.stateController.isPathSelected(e)}_convertActionsToDropdownItems(e){return e.map(e=>({id:e.value,label:e.label,value:e.value,icon:e.icon,additionalData:e.additionalData}))}_renderMenuLink(e,n){var o,r,s;const l=n.join("-"),a=this._isPathSelected(n),u=this._isEditing(n),c=this._linkIndex++;return t`
395
+ */class w extends g{constructor(e,t){super(e),this.typeAheadBuffer="",this.typeAheadTimeout=null,this.currentFocusIndex=-1,this.stateController=t}hostConnected(){this.host.addEventListener("keydown",this.handleKeydown.bind(this))}hostDisconnected(){this.host.removeEventListener("keydown",this.handleKeydown.bind(this)),this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout)}handleKeydown(e){try{const t=e.target;if("INPUT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable)return;const i=e.key;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(i))return void this.handleArrowNavigation(e);if("Enter"===i||" "===i)return void this.handleActivation(e);if("Escape"===i)return void this.handleEscape(e);if("Home"===i||"End"===i)return void this.handleHomeEnd(e);if(1===i.length&&!e.ctrlKey&&!e.metaKey&&!e.altKey)return void this.handleTypeAhead(e)}catch(e){this.handleError(e,"handleKeydown")}}handleArrowNavigation(e){var t;try{e.preventDefault();const i=this.getAllMenuLinks(),n=null===(t=this.host.shadowRoot)||void 0===t?void 0:t.activeElement,s=i.indexOf(n);switch(e.key){case"ArrowDown":this.navigateDown(i,s);break;case"ArrowUp":this.navigateUp(i,s);break;case"ArrowRight":this.expandOrNavigate(n);break;case"ArrowLeft":this.collapseOrNavigate(n)}this.dispatchMenuEvent("keyboard-navigation",{key:e.key,currentIndex:s,timestamp:Date.now()})}catch(e){this.handleError(e,"handleArrowNavigation")}}navigateDown(e,t){let i=t+1;for(;i<e.length;){const t=e[i];if(this.isElementInteractive(t))return t.focus(),void(this.currentFocusIndex=i);i++}if(t>=0)for(let t=0;t<e.length;t++)if(this.isElementInteractive(e[t]))return e[t].focus(),void(this.currentFocusIndex=t)}navigateUp(e,t){let i=t-1;for(;i>=0;){const t=e[i];if(this.isElementInteractive(t))return t.focus(),void(this.currentFocusIndex=i);i--}if(t>=0)for(let t=e.length-1;t>=0;t--)if(this.isElementInteractive(e[t]))return e[t].focus(),void(this.currentFocusIndex=t)}expandOrNavigate(e){if(e&&e.classList.contains("sub-menu")){const t=e.getAttribute("data-path");if(t){const e=t.split("-").map(Number);this.stateController.openSubMenu(e)}}}collapseOrNavigate(e){if(e&&e.classList.contains("sub-menu")){const t=e.getAttribute("data-path");if(t){const e=t.split("-").map(Number);this.stateController.closeSubMenu(e)}}}handleActivation(e){var t;try{e.preventDefault();const i=null===(t=this.host.shadowRoot)||void 0===t?void 0:t.activeElement;if(!i||!this.isElementInteractive(i))return;i.click(),this.dispatchMenuEvent("keyboard-activation",{key:e.key,element:i,timestamp:Date.now()})}catch(e){this.handleError(e,"handleActivation")}}handleEscape(e){try{e.preventDefault(),this.stateController.closeAllSubMenus(),this.dispatchMenuEvent("keyboard-escape",{timestamp:Date.now()})}catch(e){this.handleError(e,"handleEscape")}}handleHomeEnd(e){try{e.preventDefault();const t=this.getAllMenuLinks(),i=t.filter(e=>this.isElementInteractive(e));if(0===i.length)return;if("Home"===e.key)i[0].focus(),this.currentFocusIndex=t.indexOf(i[0]);else{const e=i[i.length-1];e.focus(),this.currentFocusIndex=t.indexOf(e)}this.dispatchMenuEvent("keyboard-home-end",{key:e.key,timestamp:Date.now()})}catch(e){this.handleError(e,"handleHomeEnd")}}handleTypeAhead(e){try{e.preventDefault(),this.typeAheadTimeout&&clearTimeout(this.typeAheadTimeout),this.typeAheadBuffer+=e.key.toLowerCase(),this.typeAheadTimeout=window.setTimeout(()=>{this.typeAheadBuffer="",this.typeAheadTimeout=null},500);const t=this.getAllMenuLinks(),i=this.currentFocusIndex>=0?this.currentFocusIndex:-1;for(let e=i+1;e<t.length;e++)if(this.matchesTypeAhead(t[e]))return t[e].focus(),void(this.currentFocusIndex=e);for(let e=0;e<=i;e++)if(this.matchesTypeAhead(t[e]))return t[e].focus(),void(this.currentFocusIndex=e);this.dispatchMenuEvent("keyboard-typeahead",{buffer:this.typeAheadBuffer,timestamp:Date.now()})}catch(e){this.handleError(e,"handleTypeAhead")}}matchesTypeAhead(e){var t;if(!this.isElementInteractive(e))return!1;return((null===(t=e.textContent)||void 0===t?void 0:t.trim().toLowerCase())||"").startsWith(this.typeAheadBuffer)}resetTypeAhead(){this.typeAheadBuffer="",this.typeAheadTimeout&&(clearTimeout(this.typeAheadTimeout),this.typeAheadTimeout=null)}}
396
+ /**
397
+ * @license
398
+ * Copyright 2023 Nuraly, Laabidi Aymen
399
+ * SPDX-License-Identifier: MIT
400
+ */class y extends g{constructor(e,t){super(e),this.announcementElement=null,this.stateController=t}hostConnected(){this.createAnnouncementElement(),this.updateAriaAttributes()}hostDisconnected(){this.removeAnnouncementElement()}createAnnouncementElement(){this.announcementElement||(this.announcementElement=document.createElement("div"),this.announcementElement.setAttribute("role","status"),this.announcementElement.setAttribute("aria-live","polite"),this.announcementElement.setAttribute("aria-atomic","true"),this.announcementElement.style.position="absolute",this.announcementElement.style.left="-10000px",this.announcementElement.style.width="1px",this.announcementElement.style.height="1px",this.announcementElement.style.overflow="hidden",document.body.appendChild(this.announcementElement))}removeAnnouncementElement(){this.announcementElement&&this.announcementElement.parentNode&&(this.announcementElement.parentNode.removeChild(this.announcementElement),this.announcementElement=null)}updateAriaAttributes(){try{this.updateMenuRoot(),this.updateAllMenuItems(),this.updateAllSubMenus()}catch(e){this.handleError(e,"updateAriaAttributes")}}updateMenuRoot(){var e;const t=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelector(".menu-root");t&&(t.setAttribute("role","menu"),t.setAttribute("aria-label","Main menu"))}updateAllMenuItems(){var e;const t=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".menu-link");null==t||t.forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","0");const t=e.getAttribute("data-path");if(t){const i=t.split("-").map(Number),n=this.stateController.isPathSelected(i);this.setAriaSelected(e,n)}e.classList.contains("disabled")&&e.setAttribute("aria-disabled","true")})}updateAllSubMenus(){var e;const t=null===(e=this.host.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".sub-menu");null==t||t.forEach(e=>{e.setAttribute("role","menuitem"),e.setAttribute("tabindex","0");const t=e.getAttribute("data-path");if(t){const i=t.split("-").map(Number),n=this.stateController.isSubMenuOpen(i),s=e.querySelector(".sub-menu-header");s&&(s.setAttribute("aria-haspopup","true"),this.setAriaExpanded(s,n))}e.classList.contains("disabled")&&e.setAttribute("aria-disabled","true")})}setAriaExpanded(e,t){try{e.setAttribute("aria-expanded",t.toString())}catch(e){this.handleError(e,"setAriaExpanded")}}setAriaSelected(e,t){try{t?(e.setAttribute("aria-selected","true"),e.setAttribute("aria-current","page")):(e.removeAttribute("aria-selected"),e.removeAttribute("aria-current"))}catch(e){this.handleError(e,"setAriaSelected")}}manageFocus(e){try{this.isElementInteractive(e)&&(e.focus(),e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"}))}catch(e){this.handleError(e,"manageFocus")}}announceToScreenReader(e){try{this.announcementElement&&(this.announcementElement.textContent="",setTimeout(()=>{this.announcementElement&&(this.announcementElement.textContent=e)},100))}catch(e){this.handleError(e,"announceToScreenReader")}}announceSelection(e,t){const i=`Selected ${e}, level ${t.length}`;this.announceToScreenReader(i)}announceSubMenuToggle(e,t){const i=`${e} submenu ${t?"expanded":"collapsed"}`;this.announceToScreenReader(i)}focusFirstItem(){const e=this.getAllMenuLinks().find(e=>this.isElementInteractive(e));e&&this.manageFocus(e)}focusLastItem(){const e=this.getAllMenuLinks().filter(e=>this.isElementInteractive(e)),t=e[e.length-1];t&&this.manageFocus(t)}}
401
+ /**
402
+ * @license
403
+ * Copyright 2023 Nuraly, Laabidi Aymen
404
+ * SPDX-License-Identifier: MIT
405
+ */var x=function(e,t,i,n){for(var s,o=arguments.length,r=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n,a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,i,r):s(t,i))||r);return o>3&&r&&Object.defineProperty(t,i,r),r};let k=class extends((e=>c(l(h(p(e)))))(n)){constructor(){super(),this.requiredComponents=["nr-icon","nr-dropdown"],this.items=[],this.size="medium",this.arrowPosition="right",this._contextMenuState=null,this._editingPath=null,this._editingValue="",this._pendingClickTimeout=null,this._pendingClickPath=null,this._linkIndex=0,this.stateController=new f(this),this.keyboardController=new w(this,this.stateController),this.accessibilityController=new y(this,this.stateController)}firstUpdated(){this._initializeSelectedState(),this.accessibilityController.updateAriaAttributes()}updated(e){e.has("items")&&(this._initializeSelectedState(),this._initializeOpenedState()),this.accessibilityController.updateAriaAttributes()}_initializeOpenedState(){this._openSubMenusFromItems(this.items,[])}_openSubMenusFromItems(e,t){for(let i=0;i<e.length;i++){const n=e[i],s=[...t,i];n.children&&(n.opened&&this.stateController.openSubMenu(s),this._openSubMenusFromItems(n.children,s))}}_initializeSelectedState(){this._linkIndex=0,this._findSelectedPath(this.items)}_findSelectedPath(e,t=[]){for(let i=0;i<e.length;i++){const n=e[i],s=[...t,i];if(n.children){if(this._findSelectedPath(n.children,s))return!0}else if(n.selected)return this.stateController.setSelectedPath(s),!0}return!1}_handleLinkClick(e,t,i,n){var s;if(null===(s=null==n?void 0:n.target)||void 0===s?void 0:s.classList.contains("action-icon"))return;if("click"===(null==n?void 0:n.type)){if(n.detail>0)return}const o=e.join("-");if(i&&"mousedown"===(null==n?void 0:n.type))return this._pendingClickTimeout&&clearTimeout(this._pendingClickTimeout),this._pendingClickPath=o,void(this._pendingClickTimeout=setTimeout(()=>{this._pendingClickPath===o&&(this._executeClick(e,t),this._pendingClickPath=null)},200));this._executeClick(e,t)}_executeClick(e,t){this.stateController.setSelectedPath(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{path:e,value:t}})),this.requestUpdate()}_handleSubMenuClick(e,t,i,n){const s=n,o=n.target;if("toggle-icon"===o.id||o.closest("#toggle-icon"))return;if("click"===n.type)return 0===s.detail?(this.stateController.toggleSubMenu(e),void this.requestUpdate()):void 0;const r=e.join("-");if(i)return this._pendingClickTimeout&&clearTimeout(this._pendingClickTimeout),this._pendingClickPath=r,void(this._pendingClickTimeout=setTimeout(()=>{this._pendingClickPath===r&&(this._executeSubMenuClick(e,t),this._pendingClickPath=null)},200));this._executeSubMenuClick(e,t)}_executeSubMenuClick(e,t){this.stateController.setSelectedPath([]),this.stateController.clearHighlights(),this.stateController.setHighlighted(e,!0),this.stateController.toggleSubMenu(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{path:e,value:t}})),this.requestUpdate()}_toggleSubMenu(e,t){t.stopPropagation(),this.stateController.toggleSubMenu(e),this.requestUpdate()}_handleSubMenuMouseEnter(e){this.stateController.setHovered(e,!0),this.requestUpdate()}_handleSubMenuMouseLeave(e){this.stateController.setHovered(e,!1),this.requestUpdate()}_handleActionClick(e,t){const i=t.detail.item,n=t.detail.originalEvent,s=t.detail.dropdown;this.dispatchEvent(new CustomEvent("action-click",{detail:{value:i.value,path:e,item:i,originalEvent:n,close:()=>{s&&("function"==typeof s.hide?s.hide():"function"==typeof s.close&&s.close())}},composed:!0,bubbles:!0}))}_handleContextMenu(e,t,i){var n,s;(null===(s=null===(n=t.menu)||void 0===n?void 0:n.actions)||void 0===s?void 0:s.length)&&(i.preventDefault(),i.stopPropagation(),this._contextMenuState={path:e,x:i.clientX,y:i.clientY,actions:t.menu.actions},this.requestUpdate(),this.updateComplete.then(()=>{var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#context-menu-dropdown");t&&"function"==typeof t.show&&t.show()}))}_handleContextMenuAction(e,t){const i=t.detail.item,n=t.detail.originalEvent,s=t.detail.dropdown,o=()=>{this._contextMenuState=null,s&&("function"==typeof s.hide?s.hide():"function"==typeof s.close&&s.close()),this.requestUpdate()};this.dispatchEvent(new CustomEvent("action-click",{detail:{value:i.value,path:e,item:i,originalEvent:n,close:o},composed:!0,bubbles:!0})),o()}_handleContextMenuClose(){this._contextMenuState=null,this.requestUpdate()}_handleDoubleClick(e,t,i){if(t.disabled)return;i.preventDefault(),i.stopPropagation(),this._pendingClickTimeout&&(clearTimeout(this._pendingClickTimeout),this._pendingClickTimeout=null,this._pendingClickPath=null);const n=e.join("-");this._editingPath=n,this._editingValue=t.text,this.requestUpdate(),this.updateComplete.then(()=>{var e;const t=null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector(`input[data-edit-path="${n}"]`);t&&(t.focus(),t.select())})}_handleEditInput(e){e.stopPropagation();const t=e.target;this._editingValue=t.value}_handleEditKeyDown(e,t,i){if(i.stopPropagation(),console.log("Edit keydown:",i.key,"editingValue:",this._editingValue),"Enter"===i.key){i.preventDefault();const n=i.target;this._editingValue=n.value,console.log("Saving with value:",this._editingValue),this._saveEdit(e,t)}else"Escape"===i.key&&(i.preventDefault(),this._cancelEdit())}_handleEditBlur(e,t,i){var n;const s=i.relatedTarget;s&&(null===(n=this.shadowRoot)||void 0===n?void 0:n.contains(s))||setTimeout(()=>{this._editingPath===e.join("-")&&this._saveEdit(e,t)},200)}_saveEdit(e,t){const i=this._editingValue.trim();if(console.log("_saveEdit called:",{newValue:i,originalText:t,willEmit:i&&i!==t}),i&&i!==t){const n={path:e,oldValue:t,newValue:i};this.onLabelEdit&&(console.log("Calling onLabelEdit callback"),this.onLabelEdit(n)),console.log("Dispatching label-edit event from:",this.tagName);const s=new CustomEvent("label-edit",{bubbles:!0,composed:!0,detail:n});this.dispatchEvent(s)}this._editingPath=null,this._editingValue="",this.requestUpdate()}_cancelEdit(){this._editingPath=null,this._editingValue="",this.requestUpdate()}_isEditing(e){return this._editingPath===e.join("-")}_isPathSelected(e){return this.stateController.isPathSelected(e)}_convertActionsToDropdownItems(e){return e.map(e=>({id:e.value,label:e.label,value:e.value,icon:e.icon,additionalData:e.additionalData}))}_renderMenuLink(e,n){var s,o,r;const a=n.join("-"),l=this._isPathSelected(n),d=this._isEditing(n),c=this._linkIndex++;return t`
396
406
  <li
397
- class="menu-link ${a?"selected":""} ${e.disabled?"disabled":""} ${u?"editing":""}"
398
- data-path=${l}
407
+ class="menu-link ${l?"selected":""} ${e.disabled?"disabled":""} ${d?"editing":""}"
408
+ data-path=${a}
399
409
  data-index=${c}
400
- tabindex=${u?-1:0}
401
- @mousedown=${e.disabled||u?i:t=>this._handleLinkClick(n,e.text,!!e.editable,t)}
402
- @click=${e.disabled||u?i:t=>this._handleLinkClick(n,e.text,!!e.editable,t)}
410
+ tabindex=${d?-1:0}
411
+ @mousedown=${e.disabled||d?i:t=>this._handleLinkClick(n,e.text,!!e.editable,t)}
412
+ @click=${e.disabled||d?i:t=>this._handleLinkClick(n,e.text,!!e.editable,t)}
403
413
  @dblclick=${e.disabled?i:t=>this._handleDoubleClick(n,e,t)}
404
- @contextmenu=${!e.disabled&&(null===(o=e.menu)||void 0===o?void 0:o.actions)?t=>this._handleContextMenu(n,e,t):i}>
414
+ @contextmenu=${!e.disabled&&(null===(s=e.menu)||void 0===s?void 0:s.actions)?t=>this._handleContextMenu(n,e,t):i}>
405
415
  <div class="icon-container">
406
416
  ${e.icon?t`
407
417
  ${e.text?t`<nr-icon name="${e.icon}" size="small"></nr-icon>`:t`<div class="icon-only"><nr-icon name="${e.icon}"></nr-icon></div>`}
@@ -410,11 +420,11 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
410
420
  ${e.text?t`
411
421
  <div class="action-text-container">
412
422
  <div class="text-container" @dblclick=${e.disabled?i:t=>this._handleDoubleClick(n,e,t)}>
413
- ${u?t`
423
+ ${d?t`
414
424
  <input
415
425
  type="text"
416
426
  class="edit-input"
417
- data-edit-path=${l}
427
+ data-edit-path=${a}
418
428
  .value=${this._editingValue}
419
429
  @input=${this._handleEditInput}
420
430
  @keydown=${t=>this._handleEditKeyDown(n,e.text,t)}
@@ -423,10 +433,10 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
423
433
  `:t`<span>${e.text}</span>`}
424
434
  </div>
425
435
  <div class="icon-container">
426
- ${(null===(r=e.status)||void 0===r?void 0:r.icon)?t`
436
+ ${(null===(o=e.status)||void 0===o?void 0:o.icon)?t`
427
437
  <nr-icon name=${e.status.icon} class="status-icon" size="small"></nr-icon>
428
438
  `:i}
429
- ${(null===(s=e.menu)||void 0===s?void 0:s.actions)?t`
439
+ ${(null===(r=e.menu)||void 0===r?void 0:r.actions)?t`
430
440
  <nr-dropdown
431
441
  .items=${this._convertActionsToDropdownItems(e.menu.actions)}
432
442
  trigger="click"
@@ -439,34 +449,34 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
439
449
  </div>
440
450
  `:i}
441
451
  </li>
442
- `}_renderSubMenu(e,n){var o,r,s;const l=n.join("-"),a=this.stateController.isSubMenuOpen(n)||e.opened,u=this.stateController.isSubMenuHovered(n),c=this.stateController.isSubMenuHighlighted(n),d=e.selected,h=this._isEditing(n),m=e.iconPosition||this.arrowPosition,b="left"===m||"left"===m;return t`
452
+ `}_renderSubMenu(e,n){var s,o,r;const a=n.join("-"),l=this.stateController.isSubMenuOpen(n)||e.opened,d=this.stateController.isSubMenuHovered(n),c=this.stateController.isSubMenuHighlighted(n),h=e.selected,u=this._isEditing(n),m=e.iconPosition||this.arrowPosition,p="left"===m||"left"===m;return t`
443
453
  <ul
444
- class="sub-menu ${c?"highlighted":""} ${e.disabled?"disabled":""} ${d?"selected":""} ${b?"arrow-left":"arrow-right"} ${h?"editing":""}"
445
- data-path=${l}
446
- tabindex=${h?-1:0}
454
+ class="sub-menu ${c?"highlighted":""} ${e.disabled?"disabled":""} ${h?"selected":""} ${p?"arrow-left":"arrow-right"} ${u?"editing":""}"
455
+ data-path=${a}
456
+ tabindex=${u?-1:0}
447
457
  @mouseenter=${()=>this._handleSubMenuMouseEnter(n)}
448
458
  @mouseleave=${()=>this._handleSubMenuMouseLeave(n)}
449
- @click=${e.disabled||h?i:e=>{const t=e;e.target.classList.contains("sub-menu")&&0===t.detail&&(e.stopPropagation(),this.stateController.toggleSubMenu(n),this.requestUpdate())}}>
459
+ @click=${e.disabled||u?i:e=>{const t=e;e.target.classList.contains("sub-menu")&&0===t.detail&&(e.stopPropagation(),this.stateController.toggleSubMenu(n),this.requestUpdate())}}>
450
460
  <div
451
461
  class="sub-menu-header"
452
- @mousedown=${e.disabled||h?i:t=>this._handleSubMenuClick(n,e.text,!!e.editable,t)}
453
- @click=${e.disabled||h?i:t=>this._handleSubMenuClick(n,e.text,!!e.editable,t)}
462
+ @mousedown=${e.disabled||u?i:t=>this._handleSubMenuClick(n,e.text,!!e.editable,t)}
463
+ @click=${e.disabled||u?i:t=>this._handleSubMenuClick(n,e.text,!!e.editable,t)}
454
464
  @dblclick=${!e.disabled&&e.editable?t=>this._handleDoubleClick(n,e,t):i}
455
- @contextmenu=${!e.disabled&&(null===(o=e.menu)||void 0===o?void 0:o.actions)?t=>this._handleContextMenu(n,e,t):i}>
456
- ${b&&e.children&&e.children.length?t`
465
+ @contextmenu=${!e.disabled&&(null===(s=e.menu)||void 0===s?void 0:s.actions)?t=>this._handleContextMenu(n,e,t):i}>
466
+ ${p&&e.children&&e.children.length?t`
457
467
  <nr-icon
458
468
  id="toggle-icon"
459
- name="${a?"ChevronDown":"ChevronRight"}"
469
+ name="${l?"ChevronDown":"ChevronRight"}"
460
470
  @mousedown=${e.disabled?i:e=>this._toggleSubMenu(n,e)}
461
471
  size="small">
462
472
  </nr-icon>
463
473
  `:i}
464
474
  ${e.icon?t`<nr-icon class="text-icon" name="${e.icon}" size="small"></nr-icon>`:i}
465
- ${h?t`
475
+ ${u?t`
466
476
  <input
467
477
  type="text"
468
478
  class="edit-input"
469
- data-edit-path=${l}
479
+ data-edit-path=${a}
470
480
  .value=${this._editingValue}
471
481
  @input=${this._handleEditInput}
472
482
  @keydown=${t=>this._handleEditKeyDown(n,e.text,t)}
@@ -474,10 +484,10 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
474
484
  />
475
485
  `:t`<span class="menu-text" @dblclick=${e.disabled?i:t=>this._handleDoubleClick(n,e,t)}>${e.text}</span>`}
476
486
  <div class="icons-container">
477
- ${(null===(r=e.status)||void 0===r?void 0:r.icon)?t`
487
+ ${(null===(o=e.status)||void 0===o?void 0:o.icon)?t`
478
488
  <nr-icon name=${e.status.icon} class="status-icon" size="small"></nr-icon>
479
489
  `:i}
480
- ${(c||u)&&(null===(s=e.menu)||void 0===s?void 0:s.actions)?t`
490
+ ${(c||d)&&(null===(r=e.menu)||void 0===r?void 0:r.actions)?t`
481
491
  <nr-dropdown
482
492
  .items=${this._convertActionsToDropdownItems(e.menu.actions)}
483
493
  trigger="click"
@@ -486,28 +496,28 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
486
496
  <nr-icon name="${e.menu.icon}" class="action-icon" slot="trigger" size="small"></nr-icon>
487
497
  </nr-dropdown>
488
498
  `:i}
489
- ${!b&&e.children&&e.children.length?t`
499
+ ${!p&&e.children&&e.children.length?t`
490
500
  <nr-icon
491
501
  id="toggle-icon"
492
- name="${a?"ChevronDown":"ChevronRight"}"
502
+ name="${l?"ChevronDown":"ChevronRight"}"
493
503
  @mousedown=${e.disabled?i:e=>this._toggleSubMenu(n,e)}
494
504
  size="small">
495
505
  </nr-icon>
496
506
  `:i}
497
507
  </div>
498
508
  </div>
499
- <div class="sub-menu-children" style="display: ${a?"block":"none"}">
509
+ <div class="sub-menu-children" style="display: ${l?"block":"none"}">
500
510
  ${e.children?this._renderMenuItems(e.children,n):i}
501
511
  </div>
502
512
  </ul>
503
- `}_renderMenuItems(e,n=[]){return e.map((e,t)=>{const i=[...n,t];return e.children?this._renderSubMenu(e,i):this._renderMenuLink(e,i)})}_renderContextMenu(){if(!this._contextMenuState)return i;const{x:e,y:n,actions:o,path:r}=this._contextMenuState;return t`
513
+ `}_renderMenuItems(e,t=[]){return e.map((e,i)=>{const n=[...t,i];return e.children?this._renderSubMenu(e,n):this._renderMenuLink(e,n)})}_renderContextMenu(){if(!this._contextMenuState)return i;const{x:e,y:n,actions:s,path:o}=this._contextMenuState;return t`
504
514
  <nr-dropdown
505
515
  id="context-menu-dropdown"
506
- .items=${this._convertActionsToDropdownItems(o)}
516
+ .items=${this._convertActionsToDropdownItems(s)}
507
517
  trigger="manual"
508
518
  placement="bottom-start"
509
519
  style="position: fixed; top: ${n}px; left: ${e}px; z-index: 9999;"
510
- @nr-dropdown-item-click=${e=>this._handleContextMenuAction(r,e)}
520
+ @nr-dropdown-item-click=${e=>this._handleContextMenuAction(o,e)}
511
521
  @nr-dropdown-close=${()=>this._handleContextMenuClose()}
512
522
  >
513
523
  <span slot="trigger" style="display: block; width: 1px; height: 1px;"></span>
@@ -517,4 +527,4 @@ class c extends a{dispatchMenuEvent(e,n,t={}){try{const i=new CustomEvent(e,Obje
517
527
  ${this._renderMenuItems(this.items)}
518
528
  </ul>
519
529
  ${this._renderContextMenu()}
520
- `}};v.styles=u,b([o({type:Array})],v.prototype,"items",void 0),b([o({type:String})],v.prototype,"size",void 0),b([o({type:String})],v.prototype,"arrowPosition",void 0),b([o({type:Object,attribute:!1})],v.prototype,"onLabelEdit",void 0),b([r()],v.prototype,"_contextMenuState",void 0),b([r()],v.prototype,"_editingPath",void 0),b([r()],v.prototype,"_editingValue",void 0),v=b([s("nr-menu")],v);export{v as NrMenuElement};
530
+ `}};k.useShadowDom=!0,k.styles=a,x([s({type:Array})],k.prototype,"items",void 0),x([s({type:String})],k.prototype,"size",void 0),x([s({type:String})],k.prototype,"arrowPosition",void 0),x([s({type:Object,attribute:!1})],k.prototype,"onLabelEdit",void 0),x([o()],k.prototype,"_contextMenuState",void 0),x([o()],k.prototype,"_editingPath",void 0),x([o()],k.prototype,"_editingValue",void 0),k=x([r("nr-menu")],k);export{k as NrMenuElement};