@nuraly/lumenui 0.1.0 → 0.2.1

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 (312) hide show
  1. package/dist/nuralyui.bundle.js +23024 -17355
  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/canvas/base-canvas.component.d.ts +2 -1
  28. package/dist/src/components/canvas/base-canvas.component.js +1 -0
  29. package/dist/src/components/canvas/bundle.js +16919 -9595
  30. package/dist/src/components/canvas/bundle.js.gz +0 -0
  31. package/dist/src/components/canvas/canvas.constants.d.ts +1 -1
  32. package/dist/src/components/canvas/canvas.constants.js +1 -1
  33. package/dist/src/components/canvas/chatbot-panel.style.js +31 -31
  34. package/dist/src/components/canvas/index.d.ts +2 -0
  35. package/dist/src/components/canvas/index.js +3 -0
  36. package/dist/src/components/canvas/whiteboard-canvas.component.d.ts +3 -1
  37. package/dist/src/components/canvas/whiteboard-canvas.component.js +19 -1
  38. package/dist/src/components/canvas/whiteboard-canvas.style.js +159 -138
  39. package/dist/src/components/canvas/whiteboard-node.component.d.ts +2 -1
  40. package/dist/src/components/canvas/whiteboard-node.component.js +2 -1
  41. package/dist/src/components/canvas/whiteboard-node.style.js +44 -44
  42. package/dist/src/components/canvas/workflow-canvas-only.d.ts +4 -0
  43. package/dist/src/components/canvas/workflow-canvas-only.js +5 -0
  44. package/dist/src/components/canvas/workflow-canvas.component.d.ts +3 -1
  45. package/dist/src/components/canvas/workflow-canvas.component.js +24 -2
  46. package/dist/src/components/canvas/workflow-canvas.style.js +776 -648
  47. package/dist/src/components/canvas/workflow-canvas.types.d.ts +113 -4
  48. package/dist/src/components/canvas/workflow-canvas.types.js +646 -3
  49. package/dist/src/components/canvas/workflow-node.component.d.ts +3 -2
  50. package/dist/src/components/canvas/workflow-node.component.js +5 -5
  51. package/dist/src/components/canvas/workflow-node.style.js +183 -181
  52. package/dist/src/components/card/bundle.js +43 -35
  53. package/dist/src/components/card/bundle.js.gz +0 -0
  54. package/dist/src/components/card/card.component.d.ts +6 -1
  55. package/dist/src/components/card/card.component.js +8 -2
  56. package/dist/src/components/card/card.style.js +26 -30
  57. package/dist/src/components/carousel/bundle.js +8 -8
  58. package/dist/src/components/carousel/bundle.js.gz +0 -0
  59. package/dist/src/components/carousel/carousel.component.d.ts +12 -0
  60. package/dist/src/components/carousel/carousel.component.js +16 -4
  61. package/dist/src/components/chatbot/bundle.js +422 -406
  62. package/dist/src/components/chatbot/bundle.js.gz +0 -0
  63. package/dist/src/components/chatbot/chatbot.component.d.ts +2 -1
  64. package/dist/src/components/chatbot/chatbot.component.js +1 -0
  65. package/dist/src/components/chatbot/chatbot.style.js +277 -277
  66. package/dist/src/components/checkbox/bundle.js +86 -245
  67. package/dist/src/components/checkbox/bundle.js.gz +0 -0
  68. package/dist/src/components/checkbox/checkbox.component.d.ts +5 -2
  69. package/dist/src/components/checkbox/checkbox.component.js +11 -13
  70. package/dist/src/components/checkbox/checkbox.style.js +56 -231
  71. package/dist/src/components/code-editor/bundle.js +151 -25
  72. package/dist/src/components/code-editor/bundle.js.gz +0 -0
  73. package/dist/src/components/code-editor/code-editor.component.d.ts +18 -56
  74. package/dist/src/components/code-editor/code-editor.component.js +141 -394
  75. package/dist/src/components/code-editor/code-editor.style.js +139 -15
  76. package/dist/src/components/collapse/bundle.js +97 -84
  77. package/dist/src/components/collapse/bundle.js.gz +0 -0
  78. package/dist/src/components/collapse/collapse.component.d.ts +7 -1
  79. package/dist/src/components/collapse/collapse.component.js +11 -2
  80. package/dist/src/components/collapse/collapse.style.js +60 -60
  81. package/dist/src/components/colorpicker/bundle.js +85 -48
  82. package/dist/src/components/colorpicker/bundle.js.gz +0 -0
  83. package/dist/src/components/colorpicker/color-holder.component.d.ts +2 -4
  84. package/dist/src/components/colorpicker/color-holder.component.js +5 -6
  85. package/dist/src/components/colorpicker/color-holder.style.js +11 -11
  86. package/dist/src/components/colorpicker/color-picker.component.d.ts +2 -1
  87. package/dist/src/components/colorpicker/color-picker.component.js +1 -0
  88. package/dist/src/components/colorpicker/color-picker.style.js +12 -12
  89. package/dist/src/components/colorpicker/default-color-sets.component.d.ts +2 -2
  90. package/dist/src/components/colorpicker/default-color-sets.component.js +4 -3
  91. package/dist/src/components/colorpicker/default-color-sets.style.js +5 -5
  92. package/dist/src/components/container/bundle.js +24 -14
  93. package/dist/src/components/container/bundle.js.gz +0 -0
  94. package/dist/src/components/container/container.component.d.ts +4 -1
  95. package/dist/src/components/container/container.component.js +7 -5
  96. package/dist/src/components/container/container.style.js +9 -9
  97. package/dist/src/components/datepicker/bundle.js +193 -177
  98. package/dist/src/components/datepicker/bundle.js.gz +0 -0
  99. package/dist/src/components/datepicker/datepicker.component.d.ts +2 -1
  100. package/dist/src/components/datepicker/datepicker.component.js +1 -0
  101. package/dist/src/components/datepicker/datepicker.style.js +65 -65
  102. package/dist/src/components/datepicker/datepicker.style.variables.js +91 -91
  103. package/dist/src/components/db-connection-select/bundle.js +7 -6
  104. package/dist/src/components/db-connection-select/bundle.js.gz +0 -0
  105. package/dist/src/components/db-connection-select/db-connection-select.component.d.ts +3 -0
  106. package/dist/src/components/db-connection-select/db-connection-select.component.js +4 -0
  107. package/dist/src/components/divider/bundle.js +61 -35
  108. package/dist/src/components/divider/bundle.js.gz +0 -0
  109. package/dist/src/components/divider/divider.component.d.ts +4 -6
  110. package/dist/src/components/divider/divider.component.js +10 -14
  111. package/dist/src/components/divider/divider.style.js +41 -31
  112. package/dist/src/components/document/bundle.js +50 -48
  113. package/dist/src/components/document/bundle.js.gz +0 -0
  114. package/dist/src/components/document/document.component.d.ts +12 -1
  115. package/dist/src/components/document/document.component.js +18 -6
  116. package/dist/src/components/document/document.style.js +21 -36
  117. package/dist/src/components/dropdown/bundle.js +117 -101
  118. package/dist/src/components/dropdown/bundle.js.gz +0 -0
  119. package/dist/src/components/dropdown/dropdown.component.d.ts +2 -1
  120. package/dist/src/components/dropdown/dropdown.component.js +1 -0
  121. package/dist/src/components/dropdown/dropdown.style.js +68 -68
  122. package/dist/src/components/file-upload/bundle.js +82 -76
  123. package/dist/src/components/file-upload/bundle.js.gz +0 -0
  124. package/dist/src/components/file-upload/file-upload.component.d.ts +2 -1
  125. package/dist/src/components/file-upload/file-upload.component.js +1 -0
  126. package/dist/src/components/file-upload/styles.js +59 -59
  127. package/dist/src/components/flex/bundle.js +18 -8
  128. package/dist/src/components/flex/bundle.js.gz +0 -0
  129. package/dist/src/components/flex/flex.component.d.ts +4 -1
  130. package/dist/src/components/flex/flex.component.js +7 -4
  131. package/dist/src/components/flex/flex.style.js +2 -2
  132. package/dist/src/components/form/bundle.js +22 -10
  133. package/dist/src/components/form/bundle.js.gz +0 -0
  134. package/dist/src/components/form/form.component.d.ts +4 -1
  135. package/dist/src/components/form/form.component.js +5 -1
  136. package/dist/src/components/form/form.style.js +2 -2
  137. package/dist/src/components/grid/bundle.js +26 -14
  138. package/dist/src/components/grid/bundle.js.gz +0 -0
  139. package/dist/src/components/grid/col.component.d.ts +4 -1
  140. package/dist/src/components/grid/col.component.js +4 -1
  141. package/dist/src/components/grid/col.style.js +2 -2
  142. package/dist/src/components/grid/row.component.d.ts +4 -1
  143. package/dist/src/components/grid/row.component.js +4 -1
  144. package/dist/src/components/grid/row.style.js +2 -2
  145. package/dist/src/components/icon/bundle.js +78 -252
  146. package/dist/src/components/icon/bundle.js.gz +0 -0
  147. package/dist/src/components/icon/icon-paths.d.ts +2 -0
  148. package/dist/src/components/icon/icon-paths.js +141 -0
  149. package/dist/src/components/icon/icon.component.d.ts +10 -12
  150. package/dist/src/components/icon/icon.component.js +42 -93
  151. package/dist/src/components/icon/icon.style.js +42 -130
  152. package/dist/src/components/icon/icon.variables.js +9 -9
  153. package/dist/src/components/iconpicker/bundle.js +859 -1511
  154. package/dist/src/components/iconpicker/bundle.js.gz +0 -0
  155. package/dist/src/components/iconpicker/icon-picker.component.d.ts +2 -1
  156. package/dist/src/components/iconpicker/icon-picker.component.js +1 -0
  157. package/dist/src/components/iconpicker/icon-picker.style.js +13 -13
  158. package/dist/src/components/image/bundle.js +43 -33
  159. package/dist/src/components/image/bundle.js.gz +0 -0
  160. package/dist/src/components/image/image.component.d.ts +10 -1
  161. package/dist/src/components/image/image.component.js +13 -3
  162. package/dist/src/components/image/image.style.js +19 -26
  163. package/dist/src/components/input/bundle.js +420 -644
  164. package/dist/src/components/input/bundle.js.gz +0 -0
  165. package/dist/src/components/input/input.component.d.ts +16 -3
  166. package/dist/src/components/input/input.component.js +43 -27
  167. package/dist/src/components/input/input.style.d.ts +1 -1
  168. package/dist/src/components/input/input.style.js +331 -634
  169. package/dist/src/components/kv-secret-select/bundle.js +2 -1
  170. package/dist/src/components/kv-secret-select/bundle.js.gz +0 -0
  171. package/dist/src/components/kv-secret-select/kv-secret-select.component.d.ts +3 -0
  172. package/dist/src/components/kv-secret-select/kv-secret-select.component.js +4 -0
  173. package/dist/src/components/label/bundle.js +37 -60
  174. package/dist/src/components/label/bundle.js.gz +0 -0
  175. package/dist/src/components/label/label.component.d.ts +8 -4
  176. package/dist/src/components/label/label.component.js +9 -14
  177. package/dist/src/components/label/label.style.js +17 -25
  178. package/dist/src/components/label/label.style.variables.js +18 -18
  179. package/dist/src/components/layout/bundle.js +86 -70
  180. package/dist/src/components/layout/bundle.js.gz +0 -0
  181. package/dist/src/components/layout/content.component.d.ts +2 -1
  182. package/dist/src/components/layout/content.component.js +2 -1
  183. package/dist/src/components/layout/content.style.js +3 -3
  184. package/dist/src/components/layout/footer.component.d.ts +2 -1
  185. package/dist/src/components/layout/footer.component.js +3 -2
  186. package/dist/src/components/layout/footer.style.js +7 -7
  187. package/dist/src/components/layout/header.component.d.ts +2 -1
  188. package/dist/src/components/layout/header.component.js +3 -2
  189. package/dist/src/components/layout/header.style.js +7 -7
  190. package/dist/src/components/layout/layout.component.d.ts +4 -7
  191. package/dist/src/components/layout/layout.component.js +9 -22
  192. package/dist/src/components/layout/layout.style.js +1 -1
  193. package/dist/src/components/layout/sider.component.d.ts +3 -1
  194. package/dist/src/components/layout/sider.component.js +3 -1
  195. package/dist/src/components/layout/sider.style.js +29 -29
  196. package/dist/src/components/menu/bundle.js +135 -125
  197. package/dist/src/components/menu/bundle.js.gz +0 -0
  198. package/dist/src/components/menu/menu.component.d.ts +2 -1
  199. package/dist/src/components/menu/menu.component.js +1 -0
  200. package/dist/src/components/menu/menu.style.js +87 -87
  201. package/dist/src/components/modal/bundle.js +105 -96
  202. package/dist/src/components/modal/bundle.js.gz +0 -0
  203. package/dist/src/components/modal/modal.component.d.ts +2 -1
  204. package/dist/src/components/modal/modal.component.js +1 -0
  205. package/dist/src/components/modal/modal.style.js +69 -71
  206. package/dist/src/components/panel/bundle.js +190 -391
  207. package/dist/src/components/panel/bundle.js.gz +0 -0
  208. package/dist/src/components/panel/panel.component.d.ts +2 -1
  209. package/dist/src/components/panel/panel.component.js +1 -0
  210. package/dist/src/components/panel/panel.style.js +65 -65
  211. package/dist/src/components/popconfirm/bundle.js +107 -93
  212. package/dist/src/components/popconfirm/bundle.js.gz +0 -0
  213. package/dist/src/components/popconfirm/popconfirm-manager.component.d.ts +2 -1
  214. package/dist/src/components/popconfirm/popconfirm-manager.component.js +1 -0
  215. package/dist/src/components/popconfirm/popconfirm-manager.style.js +16 -16
  216. package/dist/src/components/popconfirm/popconfirm.component.d.ts +2 -1
  217. package/dist/src/components/popconfirm/popconfirm.component.js +9 -5
  218. package/dist/src/components/popconfirm/popconfirm.style.js +43 -43
  219. package/dist/src/components/radio/bundle.js +56 -86
  220. package/dist/src/components/radio/bundle.js.gz +0 -0
  221. package/dist/src/components/radio/radio.component.d.ts +8 -2
  222. package/dist/src/components/radio/radio.component.js +17 -9
  223. package/dist/src/components/radio/radio.style.js +30 -77
  224. package/dist/src/components/radio-group/bundle.js +125 -89
  225. package/dist/src/components/radio-group/bundle.js.gz +0 -0
  226. package/dist/src/components/radio-group/radio-group.component.d.ts +5 -1
  227. package/dist/src/components/radio-group/radio-group.component.js +18 -10
  228. package/dist/src/components/radio-group/radio-group.style.js +44 -44
  229. package/dist/src/components/select/bundle.js +260 -367
  230. package/dist/src/components/select/bundle.js.gz +0 -0
  231. package/dist/src/components/select/select.component.d.ts +12 -17
  232. package/dist/src/components/select/select.component.js +35 -35
  233. package/dist/src/components/select/select.style.js +184 -324
  234. package/dist/src/components/skeleton/bundle.js +82 -162
  235. package/dist/src/components/skeleton/bundle.js.gz +0 -0
  236. package/dist/src/components/skeleton/skeleton.component.d.ts +10 -5
  237. package/dist/src/components/skeleton/skeleton.component.js +20 -7
  238. package/dist/src/components/skeleton/skeleton.style.js +34 -133
  239. package/dist/src/components/slider-input/bundle.js +89 -88
  240. package/dist/src/components/slider-input/bundle.js.gz +0 -0
  241. package/dist/src/components/slider-input/slider-input.component.d.ts +11 -0
  242. package/dist/src/components/slider-input/slider-input.component.js +20 -8
  243. package/dist/src/components/slider-input/slider-input.style.js +47 -47
  244. package/dist/src/components/slider-input/slider-input.style.variables.js +32 -32
  245. package/dist/src/components/table/bundle.js +149 -128
  246. package/dist/src/components/table/bundle.js.gz +0 -0
  247. package/dist/src/components/table/table.component.d.ts +2 -1
  248. package/dist/src/components/table/table.component.js +1 -0
  249. package/dist/src/components/table/table.style.js +79 -79
  250. package/dist/src/components/tabs/bundle.js +462 -663
  251. package/dist/src/components/tabs/bundle.js.gz +0 -0
  252. package/dist/src/components/tabs/tabs.component.d.ts +6 -1
  253. package/dist/src/components/tabs/tabs.component.js +8 -1
  254. package/dist/src/components/tabs/tabs.style.js +200 -201
  255. package/dist/src/components/tag/bundle.js +44 -36
  256. package/dist/src/components/tag/bundle.js.gz +0 -0
  257. package/dist/src/components/tag/tag.component.d.ts +7 -6
  258. package/dist/src/components/tag/tag.component.js +10 -19
  259. package/dist/src/components/tag/tag.style.js +20 -24
  260. package/dist/src/components/textarea/bundle.js +131 -94
  261. package/dist/src/components/textarea/bundle.js.gz +0 -0
  262. package/dist/src/components/textarea/textarea.component.d.ts +7 -1
  263. package/dist/src/components/textarea/textarea.component.js +10 -3
  264. package/dist/src/components/textarea/textarea.style.d.ts +1 -13
  265. package/dist/src/components/textarea/textarea.style.js +79 -91
  266. package/dist/src/components/timeline/bundle.js +71 -134
  267. package/dist/src/components/timeline/bundle.js.gz +0 -0
  268. package/dist/src/components/timeline/timeline.component.d.ts +9 -6
  269. package/dist/src/components/timeline/timeline.component.js +16 -13
  270. package/dist/src/components/timeline/timeline.style.d.ts +0 -7
  271. package/dist/src/components/timeline/timeline.style.js +41 -122
  272. package/dist/src/components/timepicker/bundle.js +196 -166
  273. package/dist/src/components/timepicker/bundle.js.gz +0 -0
  274. package/dist/src/components/timepicker/timepicker.component.d.ts +2 -1
  275. package/dist/src/components/timepicker/timepicker.component.js +1 -0
  276. package/dist/src/components/timepicker/timepicker.style.js +42 -42
  277. package/dist/src/components/timepicker/timepicker.style.variables.js +91 -91
  278. package/dist/src/components/toast/bundle.js +97 -81
  279. package/dist/src/components/toast/bundle.js.gz +0 -0
  280. package/dist/src/components/toast/toast.component.d.ts +2 -1
  281. package/dist/src/components/toast/toast.component.js +1 -0
  282. package/dist/src/components/toast/toast.style.js +62 -62
  283. package/dist/src/components/tooltips/bundle.js +10 -10
  284. package/dist/src/components/tooltips/bundle.js.gz +0 -0
  285. package/dist/src/components/tooltips/tooltips.component.d.ts +8 -0
  286. package/dist/src/components/tooltips/tooltips.component.js +9 -1
  287. package/dist/src/components/tooltips/tooltips.style.js +6 -6
  288. package/dist/src/components/video/bundle.js +47 -36
  289. package/dist/src/components/video/bundle.js.gz +0 -0
  290. package/dist/src/components/video/video.component.d.ts +12 -1
  291. package/dist/src/components/video/video.component.js +18 -6
  292. package/dist/src/components/video/video.style.js +18 -24
  293. package/package.json +25 -12
  294. package/packages/common/dist/VERSIONS.md +2 -2
  295. package/packages/common/dist/shared/base-mixin.d.ts +21 -19
  296. package/packages/common/dist/shared/base-mixin.d.ts.map +1 -1
  297. package/packages/common/dist/shared/base-mixin.js +102 -18
  298. package/packages/common/dist/shared/base-mixin.js.map +1 -1
  299. package/packages/common/dist/shared/index.d.ts +1 -0
  300. package/packages/common/dist/shared/index.d.ts.map +1 -1
  301. package/packages/common/dist/shared/index.js +2 -0
  302. package/packages/common/dist/shared/index.js.map +1 -1
  303. package/packages/common/dist/shared/style-injector.d.ts +11 -0
  304. package/packages/common/dist/shared/style-injector.d.ts.map +1 -0
  305. package/packages/common/dist/shared/style-injector.js +53 -0
  306. package/packages/common/dist/shared/style-injector.js.map +1 -0
  307. package/packages/common/dist/shared/theme-mixin.d.ts +2 -24
  308. package/packages/common/dist/shared/theme-mixin.d.ts.map +1 -1
  309. package/packages/common/dist/shared/theme-mixin.js +5 -38
  310. package/packages/common/dist/shared/theme-mixin.js.map +1 -1
  311. package/packages/themes/dist/default.css +0 -10
  312. package/packages/themes/dist/package.json +1 -1
@@ -1,39 +1,60 @@
1
- import{css as t,LitElement as e,html as o,nothing as r}from"lit";import{property as i,customElement as s,state as n}from"lit/decorators.js";import{classMap as l}from"lit/directives/class-map.js";import{NuralyUIBaseMixin as a}from"@nuralyui/common/mixins";import{renderLabel as h}from"@nuralyui/common/utils";import{styleMap as c}from"lit/directives/style-map.js";import{map as d}from"lit/directives/map.js";import{BaseComponentController as u}from"@nuralyui/common/controllers";const p=t`
1
+ import{nothing as t,html as e,css as i,LitElement as o}from"lit";import{property as s,customElement as r,state as n}from"lit/decorators.js";import{classMap as l}from"lit/directives/class-map.js";import{ifDefined as a}from"lit/directives/if-defined.js";import{styleMap as h}from"lit/directives/style-map.js";import{map as c}from"lit/directives/map.js";
2
+ /**
3
+ * @license
4
+ * Copyright 2023 Nuraly, Laabidi Aymen
5
+ * SPDX-License-Identifier: MIT
6
+ */const d=t=>class extends t{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 t,e,i;super.disconnectedCallback(),null===(t=this.themeObserver)||void 0===t||t.disconnect(),null===(e=this.designSystemObserver)||void 0===e||e.disconnect(),null===(i=this.mediaQuery)||void 0===i||i.removeEventListener("change",this.handleSystemThemeChange)}get currentTheme(){var t,e;const i=(null===(t=this.closest("[data-theme]"))||void 0===t?void 0:t.getAttribute("data-theme"))||document.documentElement.getAttribute("data-theme");return i||((null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(prefers-color-scheme: dark)").matches)?"dark":"light")}get currentDesignSystem(){var t;const e=(null===(t=this.closest("[design-system]"))||void 0===t?void 0:t.getAttribute("design-system"))||document.documentElement.getAttribute("design-system");return"carbon"===e?e:"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))}},u=()=>{var t;return void 0!==globalThis.litElementVersions||"undefined"!=typeof process&&"development"===(null===(t=process.env)||void 0===t?void 0:t.NODE_ENV)||"undefined"!=typeof window&&("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname)},p=t=>class extends t{constructor(){super(...arguments),this.requiredComponents=[]}validateDependencies(){if(u())for(const t of this.requiredComponents)if(!this.isComponentAvailable(t))throw new Error(`Required component "${t}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}. Example: import '@nuralyui/${t}';`)}validateDependenciesWithHandler(t){if(!u())return!0;let e=!0;for(const i of this.requiredComponents)if(!this.isComponentAvailable(i)){e=!1;const o=new Error(`Required component "${i}" is not registered. Please import and register the component before using ${this.tagName.toLowerCase()}.`);t?t(i,o):console.error(o.message)}return e}isComponentAvailable(t){return!!customElements.get(t)}getMissingDependencies(){return this.requiredComponents.filter(t=>!this.isComponentAvailable(t))}areDependenciesAvailable(){return this.requiredComponents.every(t=>this.isComponentAvailable(t))}addRequiredComponent(t){this.requiredComponents.includes(t)||this.requiredComponents.push(t)}removeRequiredComponent(t){const e=this.requiredComponents.indexOf(t);e>-1&&this.requiredComponents.splice(e,1)}},b=t=>class extends t{dispatchCustomEvent(t,e){this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0,composed:!0}))}dispatchEventWithMetadata(t,e){var i;const o=Object.assign(Object.assign({},e),{timestamp:Date.now(),componentName:(null===(i=this.tagName)||void 0===i?void 0:i.toLowerCase())||"unknown"});this.dispatchCustomEvent(t,o)}dispatchInputEvent(t,e){const i=Object.assign({target:e.target||this,value:e.value,originalEvent:e.originalEvent},e);this.dispatchCustomEvent(t,i)}dispatchFocusEvent(t,e){const i=Object.assign({target:e.target||this,value:e.value,focused:e.focused,cursorPosition:e.cursorPosition,selectedText:e.selectedText},e);this.dispatchCustomEvent(t,i)}dispatchValidationEvent(t,e){var i;const o=Object.assign({target:e.target||this,value:e.value,isValid:null!==(i=e.isValid)&&void 0!==i&&i,error:e.error},e);this.dispatchCustomEvent(t,o)}dispatchActionEvent(t,e){const i=Object.assign({target:e.target||this,action:e.action,previousValue:e.previousValue,newValue:e.newValue},e);this.dispatchCustomEvent(t,i)}isReadonlyKeyAllowed(t){if(t.ctrlKey||t.metaKey){return["KeyA","KeyC"].includes(t.code)}return["Tab","Escape","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(t.key)}isActivationKey(t){return"Enter"===t.key||" "===t.key}},v=new Set,m=new Map;
7
+ /**
8
+ * @license
9
+ * Copyright 2023 Nuraly, Laabidi Aymen
10
+ * SPDX-License-Identifier: MIT
11
+ */
12
+ /**
13
+ * @license
14
+ * Copyright 2023 Nuraly, Laabidi Aymen
15
+ * SPDX-License-Identifier: MIT
16
+ */
17
+ const f=t=>{class e extends t{constructor(){super(...arguments),this.t=null}createRenderRoot(){return this.constructor.useShadowDom?super.createRenderRoot():this}connectedCallback(){const t=this.constructor.useShadowDom;if(!t&&null===this.t)for(this.t=[];this.firstChild;)this.t.push(this.removeChild(this.firstChild));if(super.connectedCallback(),!t){const t=this.constructor,e=this.tagName.toLowerCase(),i=t.styles;if(i){const t=g(i);t&&function(t,e,i){var o;if(!m.has(t)){const i=new CSSStyleSheet;i.replaceSync(e),m.set(t,i)}const s=m.get(t),r=`doc:${t}`;if(v.has(r)||(document.adoptedStyleSheets=[...document.adoptedStyleSheets,s],v.add(r)),i){let e=i;for(;e;){const i=e.getRootNode();if(!(i instanceof ShadowRoot))break;{const r=`shadow:${((null===(o=i.host)||void 0===o?void 0:o.tagName)||"").toLowerCase()}:${t}`;v.has(r)||(i.adoptedStyleSheets=[...i.adoptedStyleSheets,s],v.add(r)),e=i.host}}}}(e,t,this)}}}get lightChildren(){return this.t?this.t.filter(t=>!(t instanceof Element&&t.hasAttribute("slot"))):[]}lightChildrenNamed(t){return this.t?this.t.filter(e=>e instanceof Element&&e.getAttribute("slot")===t):[]}}return e.useShadowDom=!1,e};function g(t){return Array.isArray(t)?t.map(t=>g(t)).filter(Boolean).join("\n"):t&&"string"==typeof t.cssText?t.cssText:"string"==typeof t?t:""}
18
+ /**
19
+ * @license
20
+ * Copyright 2023 Nuraly, Laabidi Aymen
21
+ * SPDX-License-Identifier: MIT
22
+ */const w=i`
2
23
  :host {
3
24
  display: inline-block;
4
25
  cursor: pointer;
5
26
 
6
27
  /* Ensure clean state transitions */
7
28
  * {
8
- transition: all var(--nuraly-transition-fast, 0.15s) ease;
29
+ transition: all 0.15s ease;
9
30
  }
10
31
  }
11
32
 
12
33
  .color-holder-container {
13
- width: var(--nuraly-size-colorpicker-default, 30px);
14
- height: var(--nuraly-size-colorpicker-default-height, 25px);
15
- border: 1px solid var(--nuraly-color-border, rgba(0, 0, 0, 0.2));
34
+ width: 30px;
35
+ height: 25px;
36
+ border: 1px solid #e0e0e0;
16
37
  box-sizing: border-box;
17
- border-radius: var(--nuraly-border-radius-small, 2px);
38
+ border-radius: 4px;
18
39
  }
19
40
 
20
41
  :host([size='small']) .color-holder-container {
21
- width: var(--nuraly-size-colorpicker-small, 20px);
22
- height: var(--nuraly-size-colorpicker-small-height, 15px);
42
+ width: 20px;
43
+ height: 15px;
23
44
  }
24
45
 
25
46
  :host([size='large']) .color-holder-container {
26
- width: var(--nuraly-size-colorpicker-large, 35px);
27
- height: var(--nuraly-size-colorpicker-large-height, 30px);
47
+ width: 35px;
48
+ height: 30px;
28
49
  }
29
50
 
30
51
  .color-holder-container--disabled {
31
- opacity: var(--nuraly-opacity-disabled, 0.5);
52
+ opacity: 0.5;
32
53
  cursor: not-allowed;
33
54
  }
34
55
 
35
56
  :host(:hover:not([disabled])) .color-holder-container {
36
- border-color: var(--nuraly-color-border-hover, rgba(0, 0, 0, 0.4));
57
+ border-color: rgba(0, 0, 0, 0.4);
37
58
  }
38
59
  `;
39
60
  /**
@@ -41,15 +62,16 @@ import{css as t,LitElement as e,html as o,nothing as r}from"lit";import{property
41
62
  * Copyright 2023 Nuraly, Laabidi Aymen
42
63
  * SPDX-License-Identifier: MIT
43
64
  */
44
- var b=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r,l=t.length-1;l>=0;l--)(i=t[l])&&(n=(s<3?i(n):s>3?i(e,o,n):i(e,o))||n);return s>3&&n&&Object.defineProperty(e,o,n),n};let v=class extends e{constructor(){super(...arguments),this.color="#3498db",this.size="default",this.disabled=!1,this.showTransparencyGrid=!0,this.borderWidth=2,this.showBorder=!0}isValidColor(){try{return CSS.supports("color",this.color)}catch(t){return!1}}isTransparent(){return"transparent"===this.color||this.color.toLowerCase().includes("rgba")||this.color.toLowerCase().includes("hsla")}render(){const t={"color-holder-container":!0,"color-holder-container--disabled":this.disabled,"color-holder-container--invalid":!this.isValidColor(),"color-holder-container--transparent":this.isTransparent()&&this.showTransparencyGrid,[`color-holder-container--${this.size}`]:!0},e={backgroundColor:this.isValidColor()?this.color:"#ffffff",borderWidth:this.showBorder?`${this.borderWidth}px`:"0"};return o`
45
- <div
46
- class="${l(t)}"
47
- style="${c(e)}"
65
+ var y=function(t,e,i,o){for(var s,r=arguments.length,n=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(s=t[l])&&(n=(r<3?s(n):r>3?s(e,i,n):s(e,i))||n);return r>3&&n&&Object.defineProperty(e,i,n),n};let x=class extends o{constructor(){super(...arguments),this.color="#3498db",this.size="default",this.disabled=!1,this.showTransparencyGrid=!0,this.borderWidth=2,this.showBorder=!0}isValidColor(){try{return CSS.supports("color",this.color)}catch(t){return!1}}isTransparent(){return"transparent"===this.color||this.color.toLowerCase().includes("rgba")||this.color.toLowerCase().includes("hsla")}render(){const t={"color-holder-container":!0,"color-holder-container--disabled":this.disabled,"color-holder-container--invalid":!this.isValidColor(),"color-holder-container--transparent":this.isTransparent()&&this.showTransparencyGrid,[`color-holder-container--${this.size}`]:!0},i={backgroundColor:this.isValidColor()?this.color:"#ffffff",borderWidth:this.showBorder?`${this.borderWidth}px`:"0"};return e`
66
+ <div
67
+ class="${l(t)}"
68
+ style="${h(i)}"
69
+ part="container"
48
70
  role="img"
49
71
  aria-label="Color swatch: ${this.color}"
50
72
  title="${this.color}"
51
73
  ></div>
52
- `}};v.styles=p,b([i({type:String})],v.prototype,"color",void 0),b([i({type:String,reflect:!0})],v.prototype,"size",void 0),b([i({type:Boolean,reflect:!0})],v.prototype,"disabled",void 0),b([i({type:Boolean,attribute:"show-transparency-grid"})],v.prototype,"showTransparencyGrid",void 0),b([i({type:Number,attribute:"border-width"})],v.prototype,"borderWidth",void 0),b([i({type:Boolean,attribute:"show-border"})],v.prototype,"showBorder",void 0),v=b([s("nr-colorholder-box")],v);const m=t`
74
+ `}};x.styles=w,x.useShadowDom=!0,y([s({type:String})],x.prototype,"color",void 0),y([s({type:String,reflect:!0})],x.prototype,"size",void 0),y([s({type:Boolean,reflect:!0})],x.prototype,"disabled",void 0),y([s({type:Boolean,attribute:"show-transparency-grid"})],x.prototype,"showTransparencyGrid",void 0),y([s({type:Number,attribute:"border-width"})],x.prototype,"borderWidth",void 0),y([s({type:Boolean,attribute:"show-border"})],x.prototype,"showBorder",void 0),x=y([r("nr-colorholder-box")],x);const $=i`
53
75
  .default-color-sets-container {
54
76
  display: flex;
55
77
  flex-wrap: wrap;
@@ -57,22 +79,22 @@ var b=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
57
79
  }
58
80
 
59
81
  .default-color-sets-container * {
60
- margin: var(--nuraly-spacing-1, 0.25rem);
82
+ margin: 0.25rem;
61
83
  }
62
84
 
63
85
  .color-set-container {
64
86
  cursor: pointer;
65
87
  position: relative;
66
- transition: all var(--nuraly-transition-base, 0.2s) ease-in-out;
88
+ transition: all 0.2s ease-in-out;
67
89
  }
68
90
 
69
91
  .color-set-container:hover {
70
- box-shadow: 0 0 0 2px var(--nuraly-color-focus, rgba(15, 98, 254, 0.5));
71
- opacity: var(--nuraly-opacity-hover, 0.9);
92
+ box-shadow: 0 0 0 2px #7c3aed;
93
+ opacity: 0.9;
72
94
  }
73
95
 
74
96
  .color-set-container:active {
75
- box-shadow: 0 0 0 2px var(--nuraly-color-focus-active, rgba(15, 98, 254, 0.8));
97
+ box-shadow: 0 0 0 2px rgba(15, 98, 254, 0.8);
76
98
  opacity: 1;
77
99
  }
78
100
  `;
@@ -81,14 +103,15 @@ var b=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
81
103
  * Copyright 2023 Nuraly, Laabidi Aymen
82
104
  * SPDX-License-Identifier: MIT
83
105
  */
84
- var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r,l=t.length-1;l>=0;l--)(i=t[l])&&(n=(s<3?i(n):s>3?i(e,o,n):i(e,o))||n);return s>3&&n&&Object.defineProperty(e,o,n),n};let y=class extends e{constructor(){super(...arguments),this.defaultColorSets=[],this.size="default",this.columns=8}handleColorClick(t,e){if(e.stopPropagation(),!this.isValidColor(t))return void console.warn(`Invalid color: ${t}`);const o={value:t};this.dispatchEvent(new CustomEvent("color-click",{bubbles:!0,composed:!0,detail:o}))}isValidColor(t){try{return CSS.supports("color",t)}catch(t){return!1}}render(){return this.defaultColorSets&&0!==this.defaultColorSets.length?o`
85
- <div
106
+ var k=function(t,e,i,o){for(var s,r=arguments.length,n=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(s=t[l])&&(n=(r<3?s(n):r>3?s(e,i,n):s(e,i))||n);return r>3&&n&&Object.defineProperty(e,i,n),n};let C=class extends o{constructor(){super(...arguments),this.defaultColorSets=[],this.size="default",this.columns=8}handleColorClick(t,e){if(e.stopPropagation(),!this.isValidColor(t))return void console.warn(`Invalid color: ${t}`);const i={value:t};this.dispatchEvent(new CustomEvent("color-click",{bubbles:!0,composed:!0,detail:i}))}isValidColor(t){try{return CSS.supports("color",t)}catch(t){return!1}}render(){return this.defaultColorSets&&0!==this.defaultColorSets.length?e`
107
+ <div
86
108
  class="default-color-sets-container"
109
+ part="container"
87
110
  role="list"
88
111
  aria-label="Preset color swatches"
89
112
  style="--columns: ${this.columns}"
90
113
  >
91
- ${d(this.defaultColorSets,t=>o`
114
+ ${c(this.defaultColorSets,t=>e`
92
115
  <nr-colorholder-box
93
116
  color="${t}"
94
117
  .size=${this.size}
@@ -101,18 +124,18 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
101
124
  ></nr-colorholder-box>
102
125
  `)}
103
126
  </div>
104
- `:r}};y.styles=m,f([i({type:Array,attribute:"default-color-sets"})],y.prototype,"defaultColorSets",void 0),f([i({type:String,reflect:!0})],y.prototype,"size",void 0),f([i({type:Number,attribute:"columns"})],y.prototype,"columns",void 0),y=f([s("nr-default-color-sets")],y);var x=t`
127
+ `:t}};C.styles=$,C.useShadowDom=!0,k([s({type:Array,attribute:"default-color-sets"})],C.prototype,"defaultColorSets",void 0),k([s({type:String,reflect:!0})],C.prototype,"size",void 0),k([s({type:Number,attribute:"columns"})],C.prototype,"columns",void 0),C=k([r("nr-default-color-sets")],C);var E=i`
105
128
  :host {
106
129
  display: inline-block;
107
130
  vertical-align: middle;
108
131
 
109
132
  /* Force CSS custom property inheritance to ensure theme switching works properly */
110
- color: var(--nuraly-color-text);
111
- background-color: var(--nuraly-color-background);
133
+ color: #161616;
134
+ background-color: #ffffff;
112
135
 
113
136
  /* Ensure clean state transitions when theme changes */
114
137
  * {
115
- transition: all var(--nuraly-transition-fast, 0.15s) ease;
138
+ transition: all 0.15s ease;
116
139
  }
117
140
  }
118
141
 
@@ -153,7 +176,7 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
153
176
  }
154
177
 
155
178
  :host([disabled]) .color-holder {
156
- opacity: var(--nuraly-opacity-disabled, 0.5);
179
+ opacity: 0.5;
157
180
  cursor: not-allowed;
158
181
  }
159
182
 
@@ -161,29 +184,34 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
161
184
  display: block;
162
185
  position: fixed;
163
186
  width: 180px;
164
- z-index: var(--nuraly-z-index-dropdown, 1000);
165
- padding: var(--nuraly-spacing-2, 0.5rem);
166
- background-color: var(--nuraly-color-surface, #ffffff);
167
- border: 1px solid var(--nuraly-color-border, rgba(0, 0, 0, 0.1));
168
- border-radius: var(--nuraly-border-radius-medium, 4px);
169
- box-shadow: var(--nuraly-shadow-dropdown, 0 2px 8px rgba(0, 0, 0, 0.15));
187
+ z-index: 1000;
188
+ padding: 0.5rem;
189
+ background-color: #ffffff;
190
+ border: 1px solid #e0e0e0;
191
+ border-radius: 6px;
192
+ box-shadow: 0 2px 8px rgba(0,0,0,0.15);
170
193
  opacity: 0;
171
194
  visibility: hidden;
172
- transition: opacity var(--nuraly-transition-fast, 0.15s) ease-in-out,
173
- visibility var(--nuraly-transition-fast, 0.15s) ease-in-out;
195
+ transition: opacity 0.15s ease-in-out,
196
+ visibility 0.15s ease-in-out;
174
197
  }
175
198
 
176
199
  :host([show]) .dropdown-container.positioned {
177
200
  opacity: 1;
178
201
  visibility: visible;
179
202
  }
180
- `;class g extends u{findElement(t){var e;return(null===(e=this._host.shadowRoot)||void 0===e?void 0:e.querySelector(t))||null}}class w extends g{constructor(){super(...arguments),this._isOpen=!1,this._position={top:0,left:0,width:0,placement:"bottom"},this._dropdownElement=null,this._triggerElement=null,this._scrollHandler=null,this._resizeHandler=null}get isOpen(){return this._isOpen}get position(){return Object.assign({},this._position)}hostConnected(){this.setupScrollAndResizeListeners()}hostDisconnected(){this.cleanup()}open(){try{this._isOpen||this.host.disabled||(this._isOpen=!0,this.host.show=!0,this.requestUpdate(),requestAnimationFrame(()=>{this.findElements(),this._dropdownElement&&this._dropdownElement.classList.remove("positioned"),requestAnimationFrame(()=>{this.calculatePosition(),this._dropdownElement&&this._dropdownElement.classList.add("positioned")})}),this.host&&"function"==typeof this.host.setupEventListeners&&setTimeout(()=>{var t,e;null===(e=(t=this.host).setupEventListeners)||void 0===e||e.call(t)},50),this.dispatchEvent(new CustomEvent("nr-colorpicker-open",{bubbles:!0,composed:!0})))}catch(t){this.handleError(t,"open")}}close(){var t,e;try{this._isOpen&&(this._isOpen=!1,this.host.show=!1,this.resetPosition(),this.requestUpdate(),this.host&&"function"==typeof this.host.removeEventListeners&&(null===(e=(t=this.host).removeEventListeners)||void 0===e||e.call(t)),this.dispatchEvent(new CustomEvent("nr-colorpicker-close",{bubbles:!0,composed:!0})))}catch(t){this.handleError(t,"close")}}toggle(){this._isOpen?this.close():this.open()}findElements(){this._dropdownElement=this.findElement(".dropdown-container"),this._triggerElement=this.findElement(".color-holder")}calculatePosition(){var t,e;try{if(this._dropdownElement&&this._triggerElement||this.findElements(),!this._dropdownElement||!this._triggerElement)return;const o=this._triggerElement.getBoundingClientRect(),r=this._dropdownElement.getBoundingClientRect(),i=(null===(t=window.visualViewport)||void 0===t?void 0:t.height)||window.innerHeight,s=(null===(e=window.visualViewport)||void 0===e?void 0:e.width)||window.innerWidth,n=i-o.bottom,l=o.top,a=s-o.left;let h,c,d="bottom";n>=r.height||n>l?(h=o.bottom,d="bottom"):(h=o.top-r.height,d="top"),c=a>=r.width?o.left:Math.max(0,s-r.width),this._position={top:h,left:c,width:Math.max(o.width,r.width),placement:d},this.applyPosition()}catch(t){this.handleError(t,"calculatePosition")}}applyPosition(){try{if(!this._dropdownElement)return;this._dropdownElement.style.position="fixed",this._dropdownElement.style.top=`${this._position.top}px`,this._dropdownElement.style.left=`${this._position.left}px`,this._dropdownElement.style.zIndex="9999",this._dropdownElement.classList.remove("placement-top","placement-bottom"),this._dropdownElement.classList.add(`placement-${this._position.placement}`),this._dropdownElement.classList.add("positioned")}catch(t){this.handleError(t,"applyPosition")}}resetPosition(){try{this._dropdownElement&&(this._dropdownElement.style.removeProperty("position"),this._dropdownElement.style.removeProperty("top"),this._dropdownElement.style.removeProperty("left"),this._dropdownElement.style.removeProperty("z-index"),this._dropdownElement.classList.remove("placement-top","placement-bottom","positioned"))}catch(t){this.handleError(t,"resetPosition")}}setupScrollAndResizeListeners(){this._scrollHandler=()=>{this._isOpen&&this.calculatePosition()},this._resizeHandler=()=>{this._isOpen&&this.calculatePosition()},document.addEventListener("scroll",this._scrollHandler,{passive:!0}),window.addEventListener("resize",this._resizeHandler)}cleanup(){this._scrollHandler&&(document.removeEventListener("scroll",this._scrollHandler),this._scrollHandler=null),this._resizeHandler&&(window.removeEventListener("resize",this._resizeHandler),this._resizeHandler=null)}}class k extends g{constructor(){super(...arguments),this._outsideClickHandler=null,this._escapeHandler=null}setupEventListeners(){this._outsideClickHandler=this.handleOutsideClick.bind(this),document.addEventListener("click",this._outsideClickHandler,!0),this._escapeHandler=this.handleEscapeKey.bind(this),document.addEventListener("keydown",this._escapeHandler)}removeEventListeners(){this._outsideClickHandler&&(document.removeEventListener("click",this._outsideClickHandler,!0),this._outsideClickHandler=null),this._escapeHandler&&(document.removeEventListener("keydown",this._escapeHandler),this._escapeHandler=null)}handleTriggerClick(t){if(t.stopPropagation(),!this.host.disabled){const t=this.host.dropdownController;t&&t.toggle()}}handleOutsideClick(t){if(!t.composedPath().includes(this.host)){const t=this.host.dropdownController;t&&t.close()}}handleEscapeKey(t){if("Escape"===t.key&&this.host.show){t.preventDefault();const e=this.host.dropdownController;e&&e.close()}}handleColorChange(t){if(this.isValidColor(t)&&this.host.color!==t){const e=this.host.color;this.host.color=t,this.dispatchColorChangeEvent(t,e),this.requestUpdate()}}handleInputChange(t){const e=t.detail.value;e&&e!==this.host.color&&this.handleColorChange(e)}dispatchColorChangeEvent(t,e){const o={value:t,previousValue:e,isValid:this.isValidColor(t),color:t};this.dispatchEvent(new CustomEvent("nr-color-change",{bubbles:!0,composed:!0,detail:o})),this.dispatchEvent(new CustomEvent("hy-color-change",{bubbles:!0,composed:!0,detail:o})),this.dispatchEvent(new CustomEvent("color-changed",{bubbles:!0,composed:!0,detail:{value:t,color:t}}))}isValidColor(t){try{return CSS.supports("color",t)}catch(t){return!1}}}
203
+ `
204
+ /**
205
+ * @license
206
+ * Copyright 2023 Nuraly, Laabidi Aymen
207
+ * SPDX-License-Identifier: MIT
208
+ */;class S{constructor(t){this._host=t,t.addController(this)}get host(){return this._host}hostConnected(){}hostDisconnected(){}hostUpdate(){}hostUpdated(){}requestUpdate(){try{this._host.requestUpdate()}catch(t){this.handleError(t,"requestUpdate")}}dispatchEvent(t){try{return this._host.dispatchEvent(t)}catch(t){return this.handleError(t,"dispatchEvent"),!1}}handleError(t,e){console.error(`[${this.constructor.name}] Error in ${e}:`,t);try{this._host.dispatchEvent(new CustomEvent("nr-controller-error",{detail:{error:t.message,context:e,controller:this.constructor.name},bubbles:!0,composed:!0}))}catch(t){}}safeExecute(t,e,i){try{return t()}catch(t){return this.handleError(t,e),i}}debounce(t,e){let i;const o=(...o)=>{void 0!==i&&clearTimeout(i),i=setTimeout(()=>{i=void 0,t.apply(this,o)},e)};return o.cancel=()=>{void 0!==i&&(clearTimeout(i),i=void 0)},o}}class O extends S{findElement(t){var e;return(null===(e=this._host.shadowRoot)||void 0===e?void 0:e.querySelector(t))||null}}class j extends O{constructor(){super(...arguments),this._isOpen=!1,this._position={top:0,left:0,width:0,placement:"bottom"},this._dropdownElement=null,this._triggerElement=null,this._scrollHandler=null,this._resizeHandler=null}get isOpen(){return this._isOpen}get position(){return Object.assign({},this._position)}hostConnected(){this.setupScrollAndResizeListeners()}hostDisconnected(){this.cleanup()}open(){try{this._isOpen||this.host.disabled||(this._isOpen=!0,this.host.show=!0,this.requestUpdate(),requestAnimationFrame(()=>{this.findElements(),this._dropdownElement&&this._dropdownElement.classList.remove("positioned"),requestAnimationFrame(()=>{this.calculatePosition(),this._dropdownElement&&this._dropdownElement.classList.add("positioned")})}),this.host&&"function"==typeof this.host.setupEventListeners&&setTimeout(()=>{var t,e;null===(e=(t=this.host).setupEventListeners)||void 0===e||e.call(t)},50),this.dispatchEvent(new CustomEvent("nr-colorpicker-open",{bubbles:!0,composed:!0})))}catch(t){this.handleError(t,"open")}}close(){var t,e;try{this._isOpen&&(this._isOpen=!1,this.host.show=!1,this.resetPosition(),this.requestUpdate(),this.host&&"function"==typeof this.host.removeEventListeners&&(null===(e=(t=this.host).removeEventListeners)||void 0===e||e.call(t)),this.dispatchEvent(new CustomEvent("nr-colorpicker-close",{bubbles:!0,composed:!0})))}catch(t){this.handleError(t,"close")}}toggle(){this._isOpen?this.close():this.open()}findElements(){this._dropdownElement=this.findElement(".dropdown-container"),this._triggerElement=this.findElement(".color-holder")}calculatePosition(){var t,e;try{if(this._dropdownElement&&this._triggerElement||this.findElements(),!this._dropdownElement||!this._triggerElement)return;const i=this._triggerElement.getBoundingClientRect(),o=this._dropdownElement.getBoundingClientRect(),s=(null===(t=window.visualViewport)||void 0===t?void 0:t.height)||window.innerHeight,r=(null===(e=window.visualViewport)||void 0===e?void 0:e.width)||window.innerWidth,n=s-i.bottom,l=i.top,a=r-i.left;let h,c,d="bottom";n>=o.height||n>l?(h=i.bottom,d="bottom"):(h=i.top-o.height,d="top"),c=a>=o.width?i.left:Math.max(0,r-o.width),this._position={top:h,left:c,width:Math.max(i.width,o.width),placement:d},this.applyPosition()}catch(t){this.handleError(t,"calculatePosition")}}applyPosition(){try{if(!this._dropdownElement)return;this._dropdownElement.style.position="fixed",this._dropdownElement.style.top=`${this._position.top}px`,this._dropdownElement.style.left=`${this._position.left}px`,this._dropdownElement.style.zIndex="9999",this._dropdownElement.classList.remove("placement-top","placement-bottom"),this._dropdownElement.classList.add(`placement-${this._position.placement}`),this._dropdownElement.classList.add("positioned")}catch(t){this.handleError(t,"applyPosition")}}resetPosition(){try{this._dropdownElement&&(this._dropdownElement.style.removeProperty("position"),this._dropdownElement.style.removeProperty("top"),this._dropdownElement.style.removeProperty("left"),this._dropdownElement.style.removeProperty("z-index"),this._dropdownElement.classList.remove("placement-top","placement-bottom","positioned"))}catch(t){this.handleError(t,"resetPosition")}}setupScrollAndResizeListeners(){this._scrollHandler=()=>{this._isOpen&&this.calculatePosition()},this._resizeHandler=()=>{this._isOpen&&this.calculatePosition()},document.addEventListener("scroll",this._scrollHandler,{passive:!0}),window.addEventListener("resize",this._resizeHandler)}cleanup(){this._scrollHandler&&(document.removeEventListener("scroll",this._scrollHandler),this._scrollHandler=null),this._resizeHandler&&(window.removeEventListener("resize",this._resizeHandler),this._resizeHandler=null)}}class A extends O{constructor(){super(...arguments),this._outsideClickHandler=null,this._escapeHandler=null}setupEventListeners(){this._outsideClickHandler=this.handleOutsideClick.bind(this),document.addEventListener("click",this._outsideClickHandler,!0),this._escapeHandler=this.handleEscapeKey.bind(this),document.addEventListener("keydown",this._escapeHandler)}removeEventListeners(){this._outsideClickHandler&&(document.removeEventListener("click",this._outsideClickHandler,!0),this._outsideClickHandler=null),this._escapeHandler&&(document.removeEventListener("keydown",this._escapeHandler),this._escapeHandler=null)}handleTriggerClick(t){if(t.stopPropagation(),!this.host.disabled){const t=this.host.dropdownController;t&&t.toggle()}}handleOutsideClick(t){if(!t.composedPath().includes(this.host)){const t=this.host.dropdownController;t&&t.close()}}handleEscapeKey(t){if("Escape"===t.key&&this.host.show){t.preventDefault();const e=this.host.dropdownController;e&&e.close()}}handleColorChange(t){if(this.isValidColor(t)&&this.host.color!==t){const e=this.host.color;this.host.color=t,this.dispatchColorChangeEvent(t,e),this.requestUpdate()}}handleInputChange(t){const e=t.detail.value;e&&e!==this.host.color&&this.handleColorChange(e)}dispatchColorChangeEvent(t,e){const i={value:t,previousValue:e,isValid:this.isValidColor(t),color:t};this.dispatchEvent(new CustomEvent("nr-color-change",{bubbles:!0,composed:!0,detail:i})),this.dispatchEvent(new CustomEvent("hy-color-change",{bubbles:!0,composed:!0,detail:i})),this.dispatchEvent(new CustomEvent("color-changed",{bubbles:!0,composed:!0,detail:{value:t,color:t}}))}isValidColor(t){try{return CSS.supports("color",t)}catch(t){return!1}}}
181
209
  /**
182
210
  * @license
183
211
  * Copyright 2023 Nuraly, Laabidi Aymen
184
212
  * SPDX-License-Identifier: MIT
185
- */var $=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r,l=t.length-1;l>=0;l--)(i=t[l])&&(n=(s<3?i(n):s>3?i(e,o,n):i(e,o))||n);return s>3&&n&&Object.defineProperty(e,o,n),n};let C=class extends(a(e)){constructor(){super(),this.requiredComponents=["nr-input","nr-icon"],this.color="#3498db",this.show=!1,this.defaultColorSets=[],this.disabled=!1,this.size="default",this.trigger="click",this.placement="auto",this.animation="fade",this.closeOnSelect=!1,this.closeOnOutsideClick=!0,this.closeOnEscape=!0,this.showInput=!0,this.showCopyButton=!0,this.format="hex",this.inputPlaceholder="Enter color",this.label="",this.helperText="",this.isValidColor=!0,this.dropdownController=new w(this),this.eventController=new k(this),this.handleTriggerClick=t=>{this.eventController.handleTriggerClick(t)},this.handleColorChanged=t=>{const e=t.detail.value;this.eventController.handleColorChange(e),this.closeOnSelect&&this.dropdownController.close()},this.handleInputChange=t=>{this.eventController.handleInputChange(t)},"undefined"!=typeof window&&Promise.resolve().then(function(){return tt})}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}updated(t){super.updated(t),t.has("color")&&this.validateColor()}open(){this.dropdownController.open()}close(){this.dropdownController.close()}toggle(){this.dropdownController.toggle()}validateColor(){return this.isValidColor=this.eventController.isValidColor(this.color),this.isValidColor}setupEventListeners(){(this.closeOnOutsideClick||this.closeOnEscape)&&this.eventController.setupEventListeners()}removeEventListeners(){this.eventController.removeEventListeners()}render(){const t={"color-picker-container":!0,"color-picker-container--disabled":this.disabled,"color-picker-container--open":this.show,[`color-picker-container--${this.size}`]:!0};return o`
186
- <div class="${l(t)}" data-theme="${this.currentTheme}">
213
+ */var P=function(t,e,i,o){for(var s,r=arguments.length,n=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o,l=t.length-1;l>=0;l--)(s=t[l])&&(n=(r<3?s(n):r>3?s(e,i,n):s(e,i))||n);return r>3&&n&&Object.defineProperty(e,i,n),n};let z=class extends((t=>p(d(b(f(t)))))(o)){constructor(){super(),this.requiredComponents=["nr-input","nr-icon"],this.color="#3498db",this.show=!1,this.defaultColorSets=[],this.disabled=!1,this.size="default",this.trigger="click",this.placement="auto",this.animation="fade",this.closeOnSelect=!1,this.closeOnOutsideClick=!0,this.closeOnEscape=!0,this.showInput=!0,this.showCopyButton=!0,this.format="hex",this.inputPlaceholder="Enter color",this.label="",this.helperText="",this.isValidColor=!0,this.dropdownController=new j(this),this.eventController=new A(this),this.handleTriggerClick=t=>{this.eventController.handleTriggerClick(t)},this.handleColorChanged=t=>{const e=t.detail.value;this.eventController.handleColorChange(e),this.closeOnSelect&&this.dropdownController.close()},this.handleInputChange=t=>{this.eventController.handleInputChange(t)},"undefined"!=typeof window&&Promise.resolve().then(function(){return lt})}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}updated(t){super.updated(t),t.has("color")&&this.validateColor()}open(){this.dropdownController.open()}close(){this.dropdownController.close()}toggle(){this.dropdownController.toggle()}validateColor(){return this.isValidColor=this.eventController.isValidColor(this.color),this.isValidColor}setupEventListeners(){(this.closeOnOutsideClick||this.closeOnEscape)&&this.eventController.setupEventListeners()}removeEventListeners(){this.eventController.removeEventListeners()}render(){const i={"color-picker-container":!0,"color-picker-container--disabled":this.disabled,"color-picker-container--open":this.show,[`color-picker-container--${this.size}`]:!0};return e`
214
+ <div class="${l(i)}" data-theme="${this.currentTheme}">
187
215
  ${this.renderLabel()}
188
216
 
189
217
  <nr-colorholder-box
@@ -191,7 +219,7 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
191
219
  color="${this.color}"
192
220
  .size=${this.size}
193
221
  ?disabled="${this.disabled}"
194
- @click=${this.disabled?r:this.handleTriggerClick}
222
+ @click=${this.disabled?t:this.handleTriggerClick}
195
223
  role="button"
196
224
  aria-label="Select color"
197
225
  aria-expanded="${this.show}"
@@ -202,7 +230,16 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
202
230
  ${this.renderDropdown()}
203
231
  ${this.renderHelperText()}
204
232
  </div>
205
- `}renderLabel(){return h(this.label,!1,{cssClass:"color-picker-label"})}renderDropdown(){return this.show?o`
233
+ `}renderLabel(){return function(i,o,s){if(!i)return t;const r=(null==s?void 0:s.cssClass)||"label",n=(null==s?void 0:s.part)||"label",l=(null==s?void 0:s.requiredClass)||"required-indicator";return e`
234
+ <label
235
+ class="${r}"
236
+ part="${n}"
237
+ for="${a(null==s?void 0:s.forId)}"
238
+ >
239
+ ${i}
240
+ ${o?e`<span class="${l}">*</span>`:t}
241
+ </label>
242
+ `}(this.label,!1,{cssClass:"color-picker-label"})}renderDropdown(){return this.show?e`
206
243
  <div
207
244
  class="dropdown-container"
208
245
  role="dialog"
@@ -212,19 +249,19 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
212
249
  ${this.renderColorPicker()}
213
250
  ${this.renderColorInput()}
214
251
  </div>
215
- `:r}renderDefaultColorSets(){return this.defaultColorSets&&0!==this.defaultColorSets.length?o`
252
+ `:t}renderDefaultColorSets(){return this.defaultColorSets&&0!==this.defaultColorSets.length?e`
216
253
  <nr-default-color-sets
217
254
  .defaultColorSets=${this.defaultColorSets}
218
255
  @color-click="${this.handleColorChanged}"
219
256
  aria-label="Preset colors">
220
257
  </nr-default-color-sets>
221
- `:r}renderColorPicker(){return o`
258
+ `:t}renderColorPicker(){return e`
222
259
  <hex-color-picker
223
260
  color="${this.color}"
224
261
  @color-changed="${this.handleColorChanged}"
225
262
  aria-label="Color gradient picker">
226
263
  </hex-color-picker>
227
- `}renderColorInput(){return this.showInput?o`
264
+ `}renderColorInput(){return this.showInput?e`
228
265
  <nr-input
229
266
  type="text"
230
267
  .value="${this.color}"
@@ -235,8 +272,8 @@ var f=function(t,e,o,r){for(var i,s=arguments.length,n=s<3?e:null===r?r=Object.g
235
272
  aria-label="Color value input"
236
273
  aria-invalid="${!this.isValidColor}">
237
274
  </nr-input>
238
- `:r}renderHelperText(){return this.helperText?o`
275
+ `:t}renderHelperText(){return this.helperText?e`
239
276
  <div class="color-picker-helper-text">
240
277
  ${this.helperText}
241
278
  </div>
242
- `:r}};C.styles=x,$([i({type:String})],C.prototype,"color",void 0),$([i({type:Boolean,reflect:!0})],C.prototype,"show",void 0),$([i({type:Array,attribute:"default-color-sets"})],C.prototype,"defaultColorSets",void 0),$([i({type:Boolean,reflect:!0})],C.prototype,"disabled",void 0),$([i({type:String,reflect:!0})],C.prototype,"size",void 0),$([i({type:String,reflect:!0})],C.prototype,"trigger",void 0),$([i({type:String,reflect:!0})],C.prototype,"placement",void 0),$([i({type:String,reflect:!0})],C.prototype,"animation",void 0),$([i({type:Boolean,attribute:"close-on-select"})],C.prototype,"closeOnSelect",void 0),$([i({type:Boolean,attribute:"close-on-outside-click"})],C.prototype,"closeOnOutsideClick",void 0),$([i({type:Boolean,attribute:"close-on-escape"})],C.prototype,"closeOnEscape",void 0),$([i({type:Boolean,attribute:"show-input"})],C.prototype,"showInput",void 0),$([i({type:Boolean,attribute:"show-copy-button"})],C.prototype,"showCopyButton",void 0),$([i({type:String,reflect:!0})],C.prototype,"format",void 0),$([i({type:String,attribute:"input-placeholder"})],C.prototype,"inputPlaceholder",void 0),$([i({type:String})],C.prototype,"label",void 0),$([i({type:String,attribute:"helper-text"})],C.prototype,"helperText",void 0),$([n()],C.prototype,"isValidColor",void 0),C=$([s("nr-color-picker")],C);const S=(t,e=0,o=1)=>t>o?o:t<e?e:t,E=(t,e=0,o=Math.pow(10,e))=>Math.round(o*t)/o,z=t=>("#"===t[0]&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?E(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:8===t.length?E(parseInt(t.substring(6,8),16)/255,2):1}),O=t=>{const{h:e,s:o,l:r}=(({h:t,s:e,v:o,a:r})=>{const i=(200-e)*o/100;return{h:E(t),s:E(i>0&&i<200?e*o/100/(i<=100?i:200-i)*100:0),l:E(i/2),a:E(r,2)}})(t);return`hsl(${e}, ${o}%, ${r}%)`},j=({h:t,s:e,v:o,a:r})=>{t=t/360*6,e/=100,o/=100;const i=Math.floor(t),s=o*(1-e),n=o*(1-(t-i)*e),l=o*(1-(1-t+i)*e),a=i%6;return{r:E(255*[o,n,s,s,l,o][a]),g:E(255*[l,o,o,n,s,s][a]),b:E(255*[s,s,l,o,o,n][a]),a:E(r,2)}},B=t=>{const e=t.toString(16);return e.length<2?"0"+e:e},P=({r:t,g:e,b:o,a:r})=>{const i=r<1?B(E(255*r)):"";return"#"+B(t)+B(e)+B(o)+i},I=({r:t,g:e,b:o,a:r})=>{const i=Math.max(t,e,o),s=i-Math.min(t,e,o),n=s?i===t?(e-o)/s:i===e?2+(o-t)/s:4+(t-e)/s:0;return{h:E(60*(n<0?n+6:n)),s:E(i?s/i*100:0),v:E(i/255*100),a:r}},M=(t,e)=>{if(t===e)return!0;for(const o in t)if(t[o]!==e[o])return!1;return!0},A={},L=t=>{let e=A[t];return e||(e=document.createElement("template"),e.innerHTML=t,A[t]=e),e},T=(t,e,o)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:o}))};let H=!1;const V=t=>"touches"in t,F=(t,e)=>{const o=V(e)?e.touches[0]:e,r=t.el.getBoundingClientRect();T(t.el,"move",t.getMove({x:S((o.pageX-(r.left+window.pageXOffset))/r.width),y:S((o.pageY-(r.top+window.pageYOffset))/r.height)}))};class _{constructor(t,e,o,r){const i=L(`<div role="slider" tabindex="0" part="${e}" ${o}><div part="${e}-pointer"></div></div>`);t.appendChild(i.content.cloneNode(!0));const s=t.querySelector(`[part=${e}]`);s.addEventListener("mousedown",this),s.addEventListener("touchstart",this),s.addEventListener("keydown",this),this.el=s,this.xy=r,this.nodes=[s.firstChild,s]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(H?"touchmove":"mousemove",this),e(H?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!(t=>!(H&&!V(t)||(H||(H=V(t)),0)))(t)||!H&&0!=t.button)return;this.el.focus(),F(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),F(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((t,e)=>{const o=e.keyCode;o>40||t.xy&&o<37||o<33||(e.preventDefault(),T(t.el,"move",t.getMove({x:39===o?.01:37===o?-.01:34===o?.05:33===o?-.05:35===o?1:36===o?-1:0,y:40===o?.01:38===o?-.01:0},!0)))})(this,t)}}style(t){t.forEach((t,e)=>{for(const o in t)this.nodes[e].style.setProperty(o,t[o])})}}class q extends _{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+"%",color:O({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${E(t)}`)}getMove(t,e){return{h:e?S(this.h+360*t.x,0,360):360*t.x}}}class D extends _{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+"%",left:`${t.s}%`,color:O(t)},{"background-color":O({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${E(t.s)}%, Brightness ${E(t.v)}%`)}getMove(t,e){return{s:e?S(this.hsva.s+100*t.x,0,100):100*t.x,v:e?S(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const N=Symbol("same"),W=Symbol("color"),G=Symbol("hsva"),K=Symbol("update"),R=Symbol("parts"),J=Symbol("css"),Q=Symbol("sliders");class U extends HTMLElement{static get observedAttributes(){return["color"]}get[J](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[Q](){return[D,q]}get color(){return this[W]}set color(t){if(!this[N](t)){const e=this.colorModel.toHsva(t);this[K](e),this[W]=t}}constructor(){super();const t=L(`<style>${this[J].join("")}</style>`),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[R]=this[Q].map(t=>new t(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,o){const r=this.colorModel.fromAttr(o);this[N](r)||(this.color=r)}handleEvent(t){const e=this[G],o={...e,...t.detail};let r;this[K](o),M(o,e)||this[N](r=this.colorModel.fromHsva(o))||(this[W]=r,T(this,"color-changed",{value:r}))}[N](t){return this.color&&this.colorModel.equal(t,this.color)}[K](t){this[G]=t,this[R].forEach(e=>e.update(t))}}const X={defaultColor:"#000",toHsva:t=>I(z(t)),fromHsva:({h:t,s:e,v:o})=>P(j({h:t,s:e,v:o,a:1})),equal:(t,e)=>t.toLowerCase()===e.toLowerCase()||M(z(t),z(e)),fromAttr:t=>t};class Y extends U{get colorModel(){return X}}class Z extends Y{}customElements.define("hex-color-picker",Z);var tt=Object.freeze({__proto__:null,HexColorPicker:Z});export{v as ColorHolderBox,C as ColorPicker};
279
+ `:t}};z.useShadowDom=!0,z.styles=E,P([s({type:String})],z.prototype,"color",void 0),P([s({type:Boolean,reflect:!0})],z.prototype,"show",void 0),P([s({type:Array,attribute:"default-color-sets"})],z.prototype,"defaultColorSets",void 0),P([s({type:Boolean,reflect:!0})],z.prototype,"disabled",void 0),P([s({type:String,reflect:!0})],z.prototype,"size",void 0),P([s({type:String,reflect:!0})],z.prototype,"trigger",void 0),P([s({type:String,reflect:!0})],z.prototype,"placement",void 0),P([s({type:String,reflect:!0})],z.prototype,"animation",void 0),P([s({type:Boolean,attribute:"close-on-select"})],z.prototype,"closeOnSelect",void 0),P([s({type:Boolean,attribute:"close-on-outside-click"})],z.prototype,"closeOnOutsideClick",void 0),P([s({type:Boolean,attribute:"close-on-escape"})],z.prototype,"closeOnEscape",void 0),P([s({type:Boolean,attribute:"show-input"})],z.prototype,"showInput",void 0),P([s({type:Boolean,attribute:"show-copy-button"})],z.prototype,"showCopyButton",void 0),P([s({type:String,reflect:!0})],z.prototype,"format",void 0),P([s({type:String,attribute:"input-placeholder"})],z.prototype,"inputPlaceholder",void 0),P([s({type:String})],z.prototype,"label",void 0),P([s({type:String,attribute:"helper-text"})],z.prototype,"helperText",void 0),P([n()],z.prototype,"isValidColor",void 0),z=P([r("nr-color-picker")],z);const M=(t,e=0,i=1)=>t>i?i:t<e?e:t,T=(t,e=0,i=Math.pow(10,e))=>Math.round(i*t)/i,B=t=>("#"===t[0]&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?T(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:8===t.length?T(parseInt(t.substring(6,8),16)/255,2):1}),D=t=>{const{h:e,s:i,l:o}=(({h:t,s:e,v:i,a:o})=>{const s=(200-e)*i/100;return{h:T(t),s:T(s>0&&s<200?e*i/100/(s<=100?s:200-s)*100:0),l:T(s/2),a:T(o,2)}})(t);return`hsl(${e}, ${i}%, ${o}%)`},I=({h:t,s:e,v:i,a:o})=>{t=t/360*6,e/=100,i/=100;const s=Math.floor(t),r=i*(1-e),n=i*(1-(t-s)*e),l=i*(1-(1-t+s)*e),a=s%6;return{r:T(255*[i,n,r,r,l,i][a]),g:T(255*[l,i,i,n,r,r][a]),b:T(255*[r,r,l,i,i,n][a]),a:T(o,2)}},q=t=>{const e=t.toString(16);return e.length<2?"0"+e:e},R=({r:t,g:e,b:i,a:o})=>{const s=o<1?q(T(255*o)):"";return"#"+q(t)+q(e)+q(i)+s},V=({r:t,g:e,b:i,a:o})=>{const s=Math.max(t,e,i),r=s-Math.min(t,e,i),n=r?s===t?(e-i)/r:s===e?2+(i-t)/r:4+(t-e)/r:0;return{h:T(60*(n<0?n+6:n)),s:T(s?r/s*100:0),v:T(s/255*100),a:o}},L=(t,e)=>{if(t===e)return!0;for(const i in t)if(t[i]!==e[i])return!1;return!0},H={},F=t=>{let e=H[t];return e||(e=document.createElement("template"),e.innerHTML=t,H[t]=e),e},U=(t,e,i)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:i}))};let K=!1;const N=t=>"touches"in t,W=(t,e)=>{const i=N(e)?e.touches[0]:e,o=t.el.getBoundingClientRect();U(t.el,"move",t.getMove({x:M((i.pageX-(o.left+window.pageXOffset))/o.width),y:M((i.pageY-(o.top+window.pageYOffset))/o.height)}))};class _{constructor(t,e,i,o){const s=F(`<div role="slider" tabindex="0" part="${e}" ${i}><div part="${e}-pointer"></div></div>`);t.appendChild(s.content.cloneNode(!0));const r=t.querySelector(`[part=${e}]`);r.addEventListener("mousedown",this),r.addEventListener("touchstart",this),r.addEventListener("keydown",this),this.el=r,this.xy=o,this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(K?"touchmove":"mousemove",this),e(K?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!(t=>!(K&&!N(t)||(K||(K=N(t)),0)))(t)||!K&&0!=t.button)return;this.el.focus(),W(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),W(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((t,e)=>{const i=e.keyCode;i>40||t.xy&&i<37||i<33||(e.preventDefault(),U(t.el,"move",t.getMove({x:39===i?.01:37===i?-.01:34===i?.05:33===i?-.05:35===i?1:36===i?-1:0,y:40===i?.01:38===i?-.01:0},!0)))})(this,t)}}style(t){t.forEach((t,e)=>{for(const i in t)this.nodes[e].style.setProperty(i,t[i])})}}class G extends _{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+"%",color:D({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${T(t)}`)}getMove(t,e){return{h:e?M(this.h+360*t.x,0,360):360*t.x}}}class J extends _{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+"%",left:`${t.s}%`,color:D(t)},{"background-color":D({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${T(t.s)}%, Brightness ${T(t.v)}%`)}getMove(t,e){return{s:e?M(this.hsva.s+100*t.x,0,100):100*t.x,v:e?M(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const Q=Symbol("same"),X=Symbol("color"),Y=Symbol("hsva"),Z=Symbol("update"),tt=Symbol("parts"),et=Symbol("css"),it=Symbol("sliders");class ot extends HTMLElement{static get observedAttributes(){return["color"]}get[et](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[it](){return[J,G]}get color(){return this[X]}set color(t){if(!this[Q](t)){const e=this.colorModel.toHsva(t);this[Z](e),this[X]=t}}constructor(){super();const t=F(`<style>${this[et].join("")}</style>`),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[tt]=this[it].map(t=>new t(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,i){const o=this.colorModel.fromAttr(i);this[Q](o)||(this.color=o)}handleEvent(t){const e=this[Y],i={...e,...t.detail};let o;this[Z](i),L(i,e)||this[Q](o=this.colorModel.fromHsva(i))||(this[X]=o,U(this,"color-changed",{value:o}))}[Q](t){return this.color&&this.colorModel.equal(t,this.color)}[Z](t){this[Y]=t,this[tt].forEach(e=>e.update(t))}}const st={defaultColor:"#000",toHsva:t=>V(B(t)),fromHsva:({h:t,s:e,v:i})=>R(I({h:t,s:e,v:i,a:1})),equal:(t,e)=>t.toLowerCase()===e.toLowerCase()||L(B(t),B(e)),fromAttr:t=>t};class rt extends ot{get colorModel(){return st}}class nt extends rt{}customElements.define("hex-color-picker",nt);var lt=Object.freeze({__proto__:null,HexColorPicker:nt});export{x as ColorHolderBox,z as ColorPicker};
@@ -18,13 +18,11 @@ import { ColorPickerSize } from './color-picker.types.js';
18
18
  * <nr-colorholder-box color="#e74c3c" disabled></nr-colorholder-box>
19
19
  * ```
20
20
  *
21
- * @cssproperty --color-holder-size - Size of the color box
22
- * @cssproperty --color-holder-border - Border style
23
- * @cssproperty --color-holder-border-radius - Border radius
24
- * @cssproperty --color-holder-cursor - Cursor style
21
+ * @csspart container - The color swatch div element
25
22
  */
26
23
  export declare class ColorHolderBox extends LitElement {
27
24
  static styles: import("lit").CSSResult;
25
+ static useShadowDom: boolean;
28
26
  /** The color value to display */
29
27
  color: string;
30
28
  /** Size variant (small, default, large) */
@@ -27,10 +27,7 @@ import { styles } from './color-holder.style.js';
27
27
  * <nr-colorholder-box color="#e74c3c" disabled></nr-colorholder-box>
28
28
  * ```
29
29
  *
30
- * @cssproperty --color-holder-size - Size of the color box
31
- * @cssproperty --color-holder-border - Border style
32
- * @cssproperty --color-holder-border-radius - Border radius
33
- * @cssproperty --color-holder-cursor - Cursor style
30
+ * @csspart container - The color swatch div element
34
31
  */
35
32
  let ColorHolderBox = class ColorHolderBox extends LitElement {
36
33
  constructor() {
@@ -80,9 +77,10 @@ let ColorHolderBox = class ColorHolderBox extends LitElement {
80
77
  borderWidth: this.showBorder ? `${this.borderWidth}px` : '0',
81
78
  };
82
79
  return html `
83
- <div
84
- class="${classMap(containerClasses)}"
80
+ <div
81
+ class="${classMap(containerClasses)}"
85
82
  style="${styleMap(containerStyles)}"
83
+ part="container"
86
84
  role="img"
87
85
  aria-label="Color swatch: ${this.color}"
88
86
  title="${this.color}"
@@ -91,6 +89,7 @@ let ColorHolderBox = class ColorHolderBox extends LitElement {
91
89
  }
92
90
  };
93
91
  ColorHolderBox.styles = styles;
92
+ ColorHolderBox.useShadowDom = true;
94
93
  __decorate([
95
94
  property({ type: String })
96
95
  ], ColorHolderBox.prototype, "color", void 0);
@@ -10,35 +10,35 @@ const colorHolderStyles = css `
10
10
 
11
11
  /* Ensure clean state transitions */
12
12
  * {
13
- transition: all var(--nuraly-transition-fast, 0.15s) ease;
13
+ transition: all 0.15s ease;
14
14
  }
15
15
  }
16
16
 
17
17
  .color-holder-container {
18
- width: var(--nuraly-size-colorpicker-default, 30px);
19
- height: var(--nuraly-size-colorpicker-default-height, 25px);
20
- border: 1px solid var(--nuraly-color-border, rgba(0, 0, 0, 0.2));
18
+ width: 30px;
19
+ height: 25px;
20
+ border: 1px solid #e0e0e0;
21
21
  box-sizing: border-box;
22
- border-radius: var(--nuraly-border-radius-small, 2px);
22
+ border-radius: 4px;
23
23
  }
24
24
 
25
25
  :host([size='small']) .color-holder-container {
26
- width: var(--nuraly-size-colorpicker-small, 20px);
27
- height: var(--nuraly-size-colorpicker-small-height, 15px);
26
+ width: 20px;
27
+ height: 15px;
28
28
  }
29
29
 
30
30
  :host([size='large']) .color-holder-container {
31
- width: var(--nuraly-size-colorpicker-large, 35px);
32
- height: var(--nuraly-size-colorpicker-large-height, 30px);
31
+ width: 35px;
32
+ height: 30px;
33
33
  }
34
34
 
35
35
  .color-holder-container--disabled {
36
- opacity: var(--nuraly-opacity-disabled, 0.5);
36
+ opacity: 0.5;
37
37
  cursor: not-allowed;
38
38
  }
39
39
 
40
40
  :host(:hover:not([disabled])) .color-holder-container {
41
- border-color: var(--nuraly-color-border-hover, rgba(0, 0, 0, 0.4));
41
+ border-color: rgba(0, 0, 0, 0.4);
42
42
  }
43
43
  `;
44
44
  export const styles = colorHolderStyles;
@@ -8,7 +8,7 @@ import './color-holder.component.js';
8
8
  import './default-color-sets.component.js';
9
9
  import { ColorPickerSize, ColorPickerTrigger, ColorPickerPlacement, ColorPickerAnimation, ColorFormat } from './color-picker.types.js';
10
10
  import type { ColorPickerHost } from './interfaces/index.js';
11
- declare const ColorPicker_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & typeof LitElement;
11
+ declare const ColorPicker_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement;
12
12
  /**
13
13
  * Advanced color picker component with dropdown positioning, validation, and accessibility.
14
14
  *
@@ -54,6 +54,7 @@ declare const ColorPicker_base: (new (...args: any[]) => import("@nuralyui/commo
54
54
  * @cssproperty --colorpicker-dropdown-border-radius - Border radius of dropdown
55
55
  */
56
56
  export declare class ColorPicker extends ColorPicker_base implements ColorPickerHost {
57
+ static useShadowDom: boolean;
57
58
  static styles: import("lit").CSSResult;
58
59
  requiredComponents: string[];
59
60
  /** Current color value */
@@ -312,6 +312,7 @@ let ColorPicker = class ColorPicker extends NuralyUIBaseMixin(LitElement) {
312
312
  `;
313
313
  }
314
314
  };
315
+ ColorPicker.useShadowDom = true;
315
316
  ColorPicker.styles = styles;
316
317
  __decorate([
317
318
  property({ type: String })
@@ -12,12 +12,12 @@ export default css `
12
12
  vertical-align: middle;
13
13
 
14
14
  /* Force CSS custom property inheritance to ensure theme switching works properly */
15
- color: var(--nuraly-color-text);
16
- background-color: var(--nuraly-color-background);
15
+ color: #161616;
16
+ background-color: #ffffff;
17
17
 
18
18
  /* Ensure clean state transitions when theme changes */
19
19
  * {
20
- transition: all var(--nuraly-transition-fast, 0.15s) ease;
20
+ transition: all 0.15s ease;
21
21
  }
22
22
  }
23
23
 
@@ -58,7 +58,7 @@ export default css `
58
58
  }
59
59
 
60
60
  :host([disabled]) .color-holder {
61
- opacity: var(--nuraly-opacity-disabled, 0.5);
61
+ opacity: 0.5;
62
62
  cursor: not-allowed;
63
63
  }
64
64
 
@@ -66,16 +66,16 @@ export default css `
66
66
  display: block;
67
67
  position: fixed;
68
68
  width: 180px;
69
- z-index: var(--nuraly-z-index-dropdown, 1000);
70
- padding: var(--nuraly-spacing-2, 0.5rem);
71
- background-color: var(--nuraly-color-surface, #ffffff);
72
- border: 1px solid var(--nuraly-color-border, rgba(0, 0, 0, 0.1));
73
- border-radius: var(--nuraly-border-radius-medium, 4px);
74
- box-shadow: var(--nuraly-shadow-dropdown, 0 2px 8px rgba(0, 0, 0, 0.15));
69
+ z-index: 1000;
70
+ padding: 0.5rem;
71
+ background-color: #ffffff;
72
+ border: 1px solid #e0e0e0;
73
+ border-radius: 6px;
74
+ box-shadow: 0 2px 8px rgba(0,0,0,0.15);
75
75
  opacity: 0;
76
76
  visibility: hidden;
77
- transition: opacity var(--nuraly-transition-fast, 0.15s) ease-in-out,
78
- visibility var(--nuraly-transition-fast, 0.15s) ease-in-out;
77
+ transition: opacity 0.15s ease-in-out,
78
+ visibility 0.15s ease-in-out;
79
79
  }
80
80
 
81
81
  :host([show]) .dropdown-container.positioned {
@@ -19,11 +19,11 @@ import './color-holder.component.js';
19
19
  *
20
20
  * @fires color-click - Fired when a color swatch is clicked
21
21
  *
22
- * @cssproperty --default-color-sets-gap - Gap between color swatches
23
- * @cssproperty --default-color-sets-padding - Padding around the color grid
22
+ * @csspart container - The color swatches grid container
24
23
  */
25
24
  export declare class DefaultColorSets extends LitElement {
26
25
  static styles: import("lit").CSSResult;
26
+ static useShadowDom: boolean;
27
27
  /** Array of color values to display as swatches */
28
28
  defaultColorSets: string[];
29
29
  /** Size of the color swatches */
@@ -28,8 +28,7 @@ import './color-holder.component.js';
28
28
  *
29
29
  * @fires color-click - Fired when a color swatch is clicked
30
30
  *
31
- * @cssproperty --default-color-sets-gap - Gap between color swatches
32
- * @cssproperty --default-color-sets-padding - Padding around the color grid
31
+ * @csspart container - The color swatches grid container
33
32
  */
34
33
  let DefaultColorSets = class DefaultColorSets extends LitElement {
35
34
  constructor() {
@@ -77,8 +76,9 @@ let DefaultColorSets = class DefaultColorSets extends LitElement {
77
76
  return nothing;
78
77
  }
79
78
  return html `
80
- <div
79
+ <div
81
80
  class="default-color-sets-container"
81
+ part="container"
82
82
  role="list"
83
83
  aria-label="Preset color swatches"
84
84
  style="--columns: ${this.columns}"
@@ -105,6 +105,7 @@ let DefaultColorSets = class DefaultColorSets extends LitElement {
105
105
  }
106
106
  };
107
107
  DefaultColorSets.styles = styles;
108
+ DefaultColorSets.useShadowDom = true;
108
109
  __decorate([
109
110
  property({ type: Array, attribute: 'default-color-sets' })
110
111
  ], DefaultColorSets.prototype, "defaultColorSets", void 0);