@zanichelli/albe-web-components 19.1.4-RC1 → 19.2.1-RC

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 (800) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cjs/iconset-5d47610c.js +1016 -0
  3. package/dist/cjs/iconset-5d47610c.js.map +1 -0
  4. package/dist/cjs/{index-1c7cd5df.js → index-012853a0.js} +2 -2
  5. package/dist/cjs/{index-1c7cd5df.js.map → index-012853a0.js.map} +1 -1
  6. package/dist/cjs/{index-66928615.js → index-1d7a50cc.js} +3 -3
  7. package/dist/cjs/{index-66928615.js.map → index-1d7a50cc.js.map} +1 -1
  8. package/dist/cjs/{index-62712250.js → index-2dff20f5.js} +2 -2
  9. package/dist/cjs/{index-62712250.js.map → index-2dff20f5.js.map} +1 -1
  10. package/dist/cjs/{index-f011b2e3.js → index-86a8a3a4.js} +2 -2
  11. package/dist/cjs/{index-f011b2e3.js.map → index-86a8a3a4.js.map} +1 -1
  12. package/dist/cjs/{index-805390c8.js → index-938c9669.js} +5 -5
  13. package/dist/cjs/{index-805390c8.js.map → index-938c9669.js.map} +1 -1
  14. package/dist/cjs/index-96af6326.js +8 -4
  15. package/dist/cjs/{index-09238e31.js → index-cb280932.js} +3 -3
  16. package/dist/cjs/{index-09238e31.js.map → index-cb280932.js.map} +1 -1
  17. package/dist/cjs/{index-97a4c18d.js → index-e30d0503.js} +51 -1
  18. package/dist/cjs/index-e30d0503.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +5 -2
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/cjs/{utils-7f9d5a78.js → utils-4f7b4830.js} +2 -2
  23. package/dist/cjs/{utils-7f9d5a78.js.map → utils-4f7b4830.js.map} +1 -1
  24. package/dist/cjs/{utils-5148245a.js → utils-e8b453d5.js} +35 -6
  25. package/dist/cjs/utils-e8b453d5.js.map +1 -0
  26. package/dist/cjs/web-components-library.cjs.js +1 -1
  27. package/dist/cjs/z-accordion.cjs.entry.js +12 -3
  28. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -1
  29. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  30. package/dist/cjs/z-anchor-navigation.cjs.entry.js +2 -2
  31. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +2 -2
  32. package/dist/cjs/z-app-header_12.cjs.entry.js +105 -1024
  33. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  34. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -2
  35. package/dist/cjs/z-avatar.cjs.entry.js +3 -3
  36. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -2
  37. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +3 -3
  38. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  39. package/dist/cjs/z-book-cover.cjs.entry.js +1 -1
  40. package/dist/cjs/z-breadcrumb.cjs.entry.js +4 -4
  41. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  42. package/dist/cjs/z-card.cjs.entry.js +1 -1
  43. package/dist/cjs/z-carousel.cjs.entry.js +1 -1
  44. package/dist/cjs/z-chip.cjs.entry.js +3 -3
  45. package/dist/cjs/z-color-picker.cjs.entry.js +212 -0
  46. package/dist/cjs/z-color-picker.cjs.entry.js.map +1 -0
  47. package/dist/cjs/z-combobox.cjs.entry.js +2 -2
  48. package/dist/cjs/z-cover-hero.cjs.entry.js +1 -1
  49. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  50. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +3 -3
  51. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  52. package/dist/cjs/z-file.cjs.entry.js +2 -2
  53. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  54. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  55. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  56. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  57. package/dist/cjs/z-menu-section.cjs.entry.js +2 -2
  58. package/dist/cjs/z-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  60. package/dist/cjs/z-myz-card-alert.cjs.entry.js +2 -2
  61. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +2 -2
  62. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  63. package/dist/cjs/z-myz-card-footer.cjs.entry.js +2 -2
  64. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  65. package/dist/cjs/z-myz-card-info.cjs.entry.js +3 -3
  66. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  67. package/dist/cjs/z-myz-card_4.cjs.entry.js +5 -5
  68. package/dist/cjs/z-myz-list-item.cjs.entry.js +3 -3
  69. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  70. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  71. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  72. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  73. package/dist/cjs/z-otp.cjs.entry.js +3 -3
  74. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  75. package/dist/cjs/z-popover.cjs.entry.js +20 -16
  76. package/dist/cjs/z-popover.cjs.entry.js.map +1 -1
  77. package/dist/cjs/z-range-picker.cjs.entry.js +5 -5
  78. package/dist/cjs/z-section-title.cjs.entry.js +2 -2
  79. package/dist/cjs/z-select.cjs.entry.js +2 -2
  80. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -2
  81. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  82. package/dist/cjs/z-table.cjs.entry.js +9 -9
  83. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  84. package/dist/cjs/z-td.cjs.entry.js +2 -2
  85. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  86. package/dist/cjs/z-th.cjs.entry.js +2 -2
  87. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  88. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -2
  89. package/dist/cjs/z-toast-notification.cjs.entry.js +43 -46
  90. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  91. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  92. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -5
  93. package/dist/cjs/z-tool.cjs.entry.js +147 -42
  94. package/dist/cjs/z-tool.cjs.entry.js.map +1 -1
  95. package/dist/cjs/z-toolbar.cjs.entry.js +64 -66
  96. package/dist/cjs/z-toolbar.cjs.entry.js.map +1 -1
  97. package/dist/cjs/z-tooltip.cjs.entry.js +3 -2
  98. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -1
  99. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  100. package/dist/cjs/z-tree-list.cjs.entry.js +2 -2
  101. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  102. package/dist/collection/beans/index.js +48 -0
  103. package/dist/collection/beans/index.js.map +1 -1
  104. package/dist/collection/collection-manifest.json +1 -0
  105. package/dist/collection/components/book-card/z-book-card-app/index.js +1 -1
  106. package/dist/collection/components/date-picker/z-date-picker/index.js +1 -1
  107. package/dist/collection/components/date-picker/z-range-picker/index.js +3 -3
  108. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +1 -1
  109. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +1 -1
  110. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +1 -1
  111. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +1 -1
  112. package/dist/collection/components/deprecated/z-section-title/index.js +1 -1
  113. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  114. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  115. package/dist/collection/components/list/z-list/index.js +1 -1
  116. package/dist/collection/components/list/z-list-element/index.js +1 -1
  117. package/dist/collection/components/list/z-list-group/index.js +2 -2
  118. package/dist/collection/components/list/z-tree-list/index.js +1 -1
  119. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  120. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  121. package/dist/collection/components/table/z-table/index.js +1 -1
  122. package/dist/collection/components/table/z-tbody/index.js +1 -1
  123. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  124. package/dist/collection/components/table/z-thead/index.js +1 -1
  125. package/dist/collection/components/table/z-tr/index.js +1 -1
  126. package/dist/collection/components/z-accordion/index.js +15 -1
  127. package/dist/collection/components/z-accordion/index.js.map +1 -1
  128. package/dist/collection/components/z-accordion/index.stories.js +4 -4
  129. package/dist/collection/components/z-accordion/index.stories.js.map +1 -1
  130. package/dist/collection/components/z-accordion/styles.css +2 -34
  131. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  132. package/dist/collection/components/z-app-header/index.js +1 -1
  133. package/dist/collection/components/z-app-header/index.js.map +1 -1
  134. package/dist/collection/components/z-app-header/index.stories.js +42 -0
  135. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  136. package/dist/collection/components/z-app-header/styles.css +8 -0
  137. package/dist/collection/components/z-aria-alert/index.js +1 -1
  138. package/dist/collection/components/z-avatar/index.js +2 -2
  139. package/dist/collection/components/z-book-cover/index.js +1 -1
  140. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  141. package/dist/collection/components/z-button-sort/index.js +1 -1
  142. package/dist/collection/components/z-chip/index.js +2 -2
  143. package/dist/collection/components/z-color-picker/index.js +367 -0
  144. package/dist/collection/components/z-color-picker/index.js.map +1 -0
  145. package/dist/collection/components/z-color-picker/index.stories.js +34 -0
  146. package/dist/collection/components/z-color-picker/index.stories.js.map +1 -0
  147. package/dist/collection/components/z-color-picker/styles.css +74 -0
  148. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  149. package/dist/collection/components/z-icon/index.js +38 -9
  150. package/dist/collection/components/z-icon/index.js.map +1 -1
  151. package/dist/collection/components/z-icon/index.stories.js +34 -18
  152. package/dist/collection/components/z-icon/index.stories.js.map +1 -1
  153. package/dist/collection/components/z-icon/styles.css +16 -2
  154. package/dist/collection/components/z-menu/index.js +1 -1
  155. package/dist/collection/components/z-menu/index.js.map +1 -1
  156. package/dist/collection/components/z-menu-section/index.js +1 -1
  157. package/dist/collection/components/z-notification/styles.css +2 -2
  158. package/dist/collection/components/z-offcanvas/index.js +89 -10
  159. package/dist/collection/components/z-offcanvas/index.js.map +1 -1
  160. package/dist/collection/components/z-popover/index.js +31 -21
  161. package/dist/collection/components/z-popover/index.js.map +1 -1
  162. package/dist/collection/components/z-popover/styles.css +18 -3
  163. package/dist/collection/components/z-tag/index.js +2 -2
  164. package/dist/collection/components/z-toast-notification/index.js +43 -45
  165. package/dist/collection/components/z-toast-notification/index.js.map +1 -1
  166. package/dist/collection/components/z-toast-notification/index.stories.js +3 -1
  167. package/dist/collection/components/z-toast-notification/index.stories.js.map +1 -1
  168. package/dist/collection/components/z-toast-notification/styles.css +124 -124
  169. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  170. package/dist/collection/components/z-toggle-button/index.js +2 -2
  171. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  172. package/dist/collection/components/z-tool/index.js +281 -48
  173. package/dist/collection/components/z-tool/index.js.map +1 -1
  174. package/dist/collection/components/z-tool/index.stories.js +89 -12
  175. package/dist/collection/components/z-tool/index.stories.js.map +1 -1
  176. package/dist/collection/components/z-tool/styles.css +30 -31
  177. package/dist/collection/components/z-toolbar/index.js +72 -91
  178. package/dist/collection/components/z-toolbar/index.js.map +1 -1
  179. package/dist/collection/components/z-toolbar/index.stories.js +190 -309
  180. package/dist/collection/components/z-toolbar/index.stories.js.map +1 -1
  181. package/dist/collection/components/z-toolbar/styles.css +10 -19
  182. package/dist/collection/components/z-tooltip/index.js +19 -1
  183. package/dist/collection/components/z-tooltip/index.js.map +1 -1
  184. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  185. package/dist/collection/constants/iconset.js +152 -142
  186. package/dist/collection/constants/iconset.js.map +1 -1
  187. package/dist/collection/index.js +1 -0
  188. package/dist/collection/index.js.map +1 -1
  189. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  190. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  191. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  192. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  193. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  194. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  195. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  196. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  197. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  198. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  199. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  200. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  201. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  202. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  203. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  204. package/dist/collection/utils/utils.js +33 -4
  205. package/dist/collection/utils/utils.js.map +1 -1
  206. package/dist/components/iconset.js +152 -143
  207. package/dist/components/iconset.js.map +1 -1
  208. package/dist/components/index.d.ts +2 -0
  209. package/dist/components/index.js +3 -1
  210. package/dist/components/index.js.map +1 -1
  211. package/dist/components/index10.js +15 -6
  212. package/dist/components/index10.js.map +1 -1
  213. package/dist/components/index14.js +1 -1
  214. package/dist/components/index15.js +1 -1
  215. package/dist/components/index16.js +2 -2
  216. package/dist/components/index18.js +1 -1
  217. package/dist/components/index19.js +1 -1
  218. package/dist/components/index2.js +49 -1
  219. package/dist/components/index2.js.map +1 -1
  220. package/dist/components/index20.js +1 -1
  221. package/dist/components/index21.js +1 -1
  222. package/dist/components/index22.js +1 -1
  223. package/dist/components/index23.js +84 -11
  224. package/dist/components/index23.js.map +1 -1
  225. package/dist/components/index24.js +19 -15
  226. package/dist/components/index24.js.map +1 -1
  227. package/dist/components/index26.js +2 -2
  228. package/dist/components/index27.js +55 -0
  229. package/dist/components/index27.js.map +1 -0
  230. package/dist/components/index3.js +1 -1
  231. package/dist/components/index4.js +1 -1
  232. package/dist/components/index6.js +2 -2
  233. package/dist/components/index8.js +2 -2
  234. package/dist/components/index9.js +1 -1
  235. package/dist/components/utils.js +33 -4
  236. package/dist/components/utils.js.map +1 -1
  237. package/dist/components/z-accordion.js +13 -3
  238. package/dist/components/z-accordion.js.map +1 -1
  239. package/dist/components/z-anchor-navigation.js +1 -1
  240. package/dist/components/z-app-header-deprecated.js +1 -1
  241. package/dist/components/z-app-header.js +2 -2
  242. package/dist/components/z-app-header.js.map +1 -1
  243. package/dist/components/z-aria-alert.js +1 -1
  244. package/dist/components/z-avatar.js +2 -2
  245. package/dist/components/z-book-card-app.js +1 -1
  246. package/dist/components/z-book-card-deprecated.js +1 -1
  247. package/dist/components/z-breadcrumb.js +2 -2
  248. package/dist/components/z-button-sort.js +1 -1
  249. package/dist/components/z-color-picker.d.ts +11 -0
  250. package/dist/components/z-color-picker.js +234 -0
  251. package/dist/components/z-color-picker.js.map +1 -0
  252. package/dist/components/z-date-picker.js +1 -1
  253. package/dist/components/z-file.js +1 -1
  254. package/dist/components/z-menu-deprecated.js +1 -1
  255. package/dist/components/z-menu-section-deprecated.js +1 -1
  256. package/dist/components/z-menu-section.js +1 -1
  257. package/dist/components/z-menu.js +1 -1
  258. package/dist/components/z-menu.js.map +1 -1
  259. package/dist/components/z-myz-card-alert.js +1 -1
  260. package/dist/components/z-myz-card-dictionary.js +1 -1
  261. package/dist/components/z-myz-card-footer-sections.js +1 -1
  262. package/dist/components/z-myz-card-footer.js +1 -1
  263. package/dist/components/z-myz-card-icon.js +1 -1
  264. package/dist/components/z-myz-card-info.js +1 -1
  265. package/dist/components/z-myz-card-list.js +1 -1
  266. package/dist/components/z-myz-list.js +1 -1
  267. package/dist/components/z-notification.js +1 -1
  268. package/dist/components/z-notification.js.map +1 -1
  269. package/dist/components/z-otp.js +2 -2
  270. package/dist/components/z-range-picker.js +3 -3
  271. package/dist/components/z-section-title.js +1 -1
  272. package/dist/components/z-table.js +1 -1
  273. package/dist/components/z-tbody.js +1 -1
  274. package/dist/components/z-td.js +1 -1
  275. package/dist/components/z-tfoot.js +1 -1
  276. package/dist/components/z-th.js +1 -1
  277. package/dist/components/z-thead.js +1 -1
  278. package/dist/components/z-toast-notification-list.js +1 -1
  279. package/dist/components/z-toast-notification.js +44 -46
  280. package/dist/components/z-toast-notification.js.map +1 -1
  281. package/dist/components/z-toggle-button.js +2 -2
  282. package/dist/components/z-toggle-switch.js +3 -3
  283. package/dist/components/z-tool.js +165 -49
  284. package/dist/components/z-tool.js.map +1 -1
  285. package/dist/components/z-toolbar.js +65 -68
  286. package/dist/components/z-toolbar.js.map +1 -1
  287. package/dist/components/z-tooltip.js +1 -50
  288. package/dist/components/z-tooltip.js.map +1 -1
  289. package/dist/components/z-tr.js +1 -1
  290. package/dist/components/z-tree-list.js +1 -1
  291. package/dist/components/z-visually-hidden.js +1 -1
  292. package/dist/esm/iconset-d7823b13.js +1013 -0
  293. package/dist/esm/iconset-d7823b13.js.map +1 -0
  294. package/dist/esm/{index-0ea3c7c8.js → index-09bfb4ee.js} +2 -2
  295. package/dist/esm/{index-0ea3c7c8.js.map → index-09bfb4ee.js.map} +1 -1
  296. package/dist/esm/{index-2a6324f8.js → index-106473a8.js} +50 -2
  297. package/dist/esm/index-106473a8.js.map +1 -0
  298. package/dist/esm/{index-36122d8f.js → index-3856a6ca.js} +2 -2
  299. package/dist/esm/{index-36122d8f.js.map → index-3856a6ca.js.map} +1 -1
  300. package/dist/esm/{index-0bcacbd3.js → index-455c0a68.js} +2 -2
  301. package/dist/esm/{index-0bcacbd3.js.map → index-455c0a68.js.map} +1 -1
  302. package/dist/esm/{index-b64ced16.js → index-6c43bc70.js} +3 -3
  303. package/dist/esm/{index-b64ced16.js.map → index-6c43bc70.js.map} +1 -1
  304. package/dist/esm/{index-8a9f6d27.js → index-83248f5c.js} +5 -5
  305. package/dist/esm/{index-8a9f6d27.js.map → index-83248f5c.js.map} +1 -1
  306. package/dist/esm/index-c8ceadeb.js +8 -4
  307. package/dist/esm/{index-f20179ad.js → index-f8517155.js} +3 -3
  308. package/dist/esm/{index-f20179ad.js.map → index-f8517155.js.map} +1 -1
  309. package/dist/esm/index.js +3 -2
  310. package/dist/esm/index.js.map +1 -1
  311. package/dist/esm/loader.js +1 -1
  312. package/dist/esm/{utils-e66d94c3.js → utils-1b64bcd9.js} +35 -6
  313. package/dist/esm/utils-1b64bcd9.js.map +1 -0
  314. package/dist/esm/{utils-227ef1c0.js → utils-93ac0e6c.js} +2 -2
  315. package/dist/esm/{utils-227ef1c0.js.map → utils-93ac0e6c.js.map} +1 -1
  316. package/dist/esm/web-components-library.js +1 -1
  317. package/dist/esm/z-accordion.entry.js +13 -4
  318. package/dist/esm/z-accordion.entry.js.map +1 -1
  319. package/dist/esm/z-alert.entry.js +1 -1
  320. package/dist/esm/z-anchor-navigation.entry.js +2 -2
  321. package/dist/esm/z-app-header-deprecated.entry.js +2 -2
  322. package/dist/esm/z-app-header_12.entry.js +105 -1024
  323. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  324. package/dist/esm/z-aria-alert.entry.js +2 -2
  325. package/dist/esm/z-avatar.entry.js +3 -3
  326. package/dist/esm/z-book-card-app.entry.js +2 -2
  327. package/dist/esm/z-book-card-deprecated.entry.js +3 -3
  328. package/dist/esm/z-book-card.entry.js +1 -1
  329. package/dist/esm/z-book-cover.entry.js +1 -1
  330. package/dist/esm/z-breadcrumb.entry.js +4 -4
  331. package/dist/esm/z-button-sort.entry.js +1 -1
  332. package/dist/esm/z-card.entry.js +1 -1
  333. package/dist/esm/z-carousel.entry.js +1 -1
  334. package/dist/esm/z-chip.entry.js +3 -3
  335. package/dist/esm/z-color-picker.entry.js +208 -0
  336. package/dist/esm/z-color-picker.entry.js.map +1 -0
  337. package/dist/esm/z-combobox.entry.js +2 -2
  338. package/dist/esm/z-cover-hero.entry.js +1 -1
  339. package/dist/esm/z-date-picker.entry.js +3 -3
  340. package/dist/esm/z-dragdrop-area_2.entry.js +3 -3
  341. package/dist/esm/z-file-upload.entry.js +1 -1
  342. package/dist/esm/z-file.entry.js +2 -2
  343. package/dist/esm/z-ghost-loading.entry.js +1 -1
  344. package/dist/esm/z-info-reveal.entry.js +1 -1
  345. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  346. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  347. package/dist/esm/z-menu-section.entry.js +2 -2
  348. package/dist/esm/z-menu.entry.js +2 -2
  349. package/dist/esm/z-menu.entry.js.map +1 -1
  350. package/dist/esm/z-myz-card-alert.entry.js +2 -2
  351. package/dist/esm/z-myz-card-dictionary.entry.js +2 -2
  352. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  353. package/dist/esm/z-myz-card-footer.entry.js +2 -2
  354. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  355. package/dist/esm/z-myz-card-info.entry.js +3 -3
  356. package/dist/esm/z-myz-card-list.entry.js +1 -1
  357. package/dist/esm/z-myz-card_4.entry.js +5 -5
  358. package/dist/esm/z-myz-list-item.entry.js +3 -3
  359. package/dist/esm/z-myz-list.entry.js +1 -1
  360. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  361. package/dist/esm/z-notification.entry.js +1 -1
  362. package/dist/esm/z-notification.entry.js.map +1 -1
  363. package/dist/esm/z-otp.entry.js +3 -3
  364. package/dist/esm/z-pagination.entry.js +1 -1
  365. package/dist/esm/z-popover.entry.js +20 -16
  366. package/dist/esm/z-popover.entry.js.map +1 -1
  367. package/dist/esm/z-range-picker.entry.js +5 -5
  368. package/dist/esm/z-section-title.entry.js +2 -2
  369. package/dist/esm/z-select.entry.js +2 -2
  370. package/dist/esm/z-skip-to-content.entry.js +2 -2
  371. package/dist/esm/z-slideshow.entry.js +2 -2
  372. package/dist/esm/z-table.entry.js +9 -9
  373. package/dist/esm/z-tbody.entry.js +1 -1
  374. package/dist/esm/z-td.entry.js +2 -2
  375. package/dist/esm/z-tfoot.entry.js +1 -1
  376. package/dist/esm/z-th.entry.js +2 -2
  377. package/dist/esm/z-thead.entry.js +1 -1
  378. package/dist/esm/z-toast-notification-list.entry.js +2 -2
  379. package/dist/esm/z-toast-notification.entry.js +43 -46
  380. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  381. package/dist/esm/z-toggle-button.entry.js +2 -2
  382. package/dist/esm/z-toggle-switch.entry.js +5 -5
  383. package/dist/esm/z-tool.entry.js +147 -42
  384. package/dist/esm/z-tool.entry.js.map +1 -1
  385. package/dist/esm/z-toolbar.entry.js +64 -66
  386. package/dist/esm/z-toolbar.entry.js.map +1 -1
  387. package/dist/esm/z-tooltip.entry.js +4 -3
  388. package/dist/esm/z-tooltip.entry.js.map +1 -1
  389. package/dist/esm/z-tr.entry.js +5 -5
  390. package/dist/esm/z-tree-list.entry.js +2 -2
  391. package/dist/esm/z-visually-hidden.entry.js +1 -1
  392. package/dist/types/beans/index.d.ts +184 -0
  393. package/dist/types/components/z-accordion/index.d.ts +5 -0
  394. package/dist/types/components/z-accordion/index.stories.d.ts +4 -4
  395. package/dist/types/components/z-app-header/index.stories.d.ts +16 -0
  396. package/dist/types/components/z-color-picker/index.d.ts +64 -0
  397. package/dist/types/components/z-color-picker/index.stories.d.ts +33 -0
  398. package/dist/types/components/z-icon/index.d.ts +21 -6
  399. package/dist/types/components/z-icon/index.stories.d.ts +23 -10
  400. package/dist/types/components/z-offcanvas/index.d.ts +24 -0
  401. package/dist/types/components/z-popover/index.d.ts +9 -4
  402. package/dist/types/components/z-toast-notification/index.d.ts +8 -7
  403. package/dist/types/components/z-toast-notification/index.stories.d.ts +11 -1
  404. package/dist/types/components/z-tool/index.d.ts +73 -9
  405. package/dist/types/components/z-tool/index.stories.d.ts +38 -12
  406. package/dist/types/components/z-toolbar/index.d.ts +23 -6
  407. package/dist/types/components/z-toolbar/index.stories.d.ts +23 -20
  408. package/dist/types/components/z-tooltip/index.d.ts +8 -0
  409. package/dist/types/components.d.ts +189 -35
  410. package/dist/types/constants/iconset.d.ts +281 -141
  411. package/dist/types/index.d.ts +1 -0
  412. package/dist/types/utils/utils.d.ts +3 -2
  413. package/dist/web-components-library/index.esm.js +1 -1
  414. package/dist/web-components-library/index.esm.js.map +1 -1
  415. package/dist/web-components-library/{p-375f8542.entry.js → p-0643d684.entry.js} +2 -2
  416. package/dist/web-components-library/{p-44459393.entry.js → p-0aed3ddc.entry.js} +2 -2
  417. package/{www/build/p-b96900bb.entry.js → dist/web-components-library/p-19103e70.entry.js} +2 -2
  418. package/dist/web-components-library/p-1a0c206d.js +2 -0
  419. package/dist/web-components-library/p-1a0c206d.js.map +1 -0
  420. package/dist/web-components-library/{p-fb232d07.entry.js → p-252893a8.entry.js} +2 -2
  421. package/{www/build/p-2aeffcf9.entry.js → dist/web-components-library/p-26ed6c96.entry.js} +2 -2
  422. package/{www/build/p-99210133.entry.js → dist/web-components-library/p-2d4cf6ff.entry.js} +2 -2
  423. package/dist/web-components-library/{p-8687691b.entry.js → p-30a78a06.entry.js} +2 -2
  424. package/dist/web-components-library/p-32bc8a40.entry.js +2 -0
  425. package/dist/web-components-library/p-32bc8a40.entry.js.map +1 -0
  426. package/dist/web-components-library/p-3977b0ae.entry.js +2 -0
  427. package/dist/web-components-library/p-3ba7621b.entry.js +2 -0
  428. package/{www/build/p-8c164e0d.entry.js → dist/web-components-library/p-41891d34.entry.js} +2 -2
  429. package/dist/web-components-library/p-42abfe3b.entry.js +2 -0
  430. package/dist/web-components-library/p-4504375f.entry.js +2 -0
  431. package/{www/build/p-19f5b6a9.entry.js → dist/web-components-library/p-47813782.entry.js} +2 -2
  432. package/{www/build/p-b7b972c0.entry.js → dist/web-components-library/p-47b59f05.entry.js} +2 -2
  433. package/dist/web-components-library/p-4844c774.js +2 -0
  434. package/{www/build/p-030257b3.js.map → dist/web-components-library/p-4844c774.js.map} +1 -1
  435. package/dist/web-components-library/p-55e5e53a.entry.js +2 -0
  436. package/dist/web-components-library/p-55e5e53a.entry.js.map +1 -0
  437. package/{www/build/p-4a257653.entry.js → dist/web-components-library/p-565c1815.entry.js} +2 -2
  438. package/{www/build/p-22ba2a17.entry.js → dist/web-components-library/p-58aeaf21.entry.js} +2 -2
  439. package/dist/web-components-library/{p-1c7550f9.entry.js → p-5905cca0.entry.js} +2 -2
  440. package/dist/web-components-library/{p-cc18a2b7.entry.js → p-5e2f6ab7.entry.js} +2 -2
  441. package/dist/web-components-library/{p-0a49dd1c.entry.js → p-613987cd.entry.js} +2 -2
  442. package/{www/build/p-b63c8e8b.entry.js → dist/web-components-library/p-6164feb9.entry.js} +2 -2
  443. package/dist/web-components-library/p-623fdee4.js +2 -0
  444. package/dist/web-components-library/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  445. package/dist/web-components-library/{p-f19f12b1.js → p-68d91a93.js} +2 -2
  446. package/dist/web-components-library/p-6c6a655e.entry.js +2 -0
  447. package/dist/web-components-library/{p-5a24e268.entry.js.map → p-6c6a655e.entry.js.map} +1 -1
  448. package/{www/build/p-f4bac89b.entry.js → dist/web-components-library/p-6c9cd6be.entry.js} +2 -2
  449. package/dist/web-components-library/p-6d15da6f.entry.js +2 -0
  450. package/dist/web-components-library/p-6d15da6f.entry.js.map +1 -0
  451. package/{www/build/p-e3b82454.entry.js → dist/web-components-library/p-6e13aa8e.entry.js} +2 -2
  452. package/dist/web-components-library/{p-4affbb99.entry.js → p-767b66ca.entry.js} +2 -2
  453. package/{www/build/p-34975328.entry.js → dist/web-components-library/p-76d1d0e4.entry.js} +2 -2
  454. package/dist/web-components-library/{p-e9e2ceb4.entry.js → p-771dea79.entry.js} +2 -2
  455. package/dist/web-components-library/p-7b837e11.js +2 -0
  456. package/dist/web-components-library/{p-86160fe3.entry.js → p-7d655f96.entry.js} +2 -2
  457. package/dist/web-components-library/p-82eeea83.entry.js +2 -0
  458. package/dist/web-components-library/p-862989b6.entry.js +2 -0
  459. package/dist/web-components-library/p-862989b6.entry.js.map +1 -0
  460. package/dist/web-components-library/p-86618221.js +2 -0
  461. package/dist/web-components-library/p-86618221.js.map +1 -0
  462. package/dist/web-components-library/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  463. package/dist/web-components-library/{p-2f948bac.entry.js → p-8988eee3.entry.js} +2 -2
  464. package/{www/build/p-1844a4f4.entry.js → dist/web-components-library/p-8a53fefb.entry.js} +2 -2
  465. package/dist/web-components-library/{p-748fa3ae.js → p-8b367393.js} +2 -2
  466. package/dist/web-components-library/{p-4551b0df.entry.js → p-8c52635e.entry.js} +2 -2
  467. package/dist/web-components-library/{p-240de9aa.entry.js → p-8fd50cc5.entry.js} +2 -2
  468. package/{www/build/p-1fd1cf02.entry.js → dist/web-components-library/p-92f13701.entry.js} +2 -2
  469. package/{www/build/p-ceeb3e2a.entry.js → dist/web-components-library/p-93d349ee.entry.js} +2 -2
  470. package/dist/web-components-library/p-988a58dd.entry.js +2 -0
  471. package/{www/build/p-816fd6dc.entry.js → dist/web-components-library/p-9ae0c0c6.entry.js} +2 -2
  472. package/dist/web-components-library/{p-d7f12672.js → p-9c816a3b.js} +2 -2
  473. package/{www/build/p-4cec3345.entry.js → dist/web-components-library/p-a2ee659d.entry.js} +2 -2
  474. package/{www/build/p-94916bdf.entry.js → dist/web-components-library/p-a4d2cf55.entry.js} +2 -2
  475. package/dist/web-components-library/p-a5146ef3.entry.js +2 -0
  476. package/dist/web-components-library/p-a5146ef3.entry.js.map +1 -0
  477. package/dist/web-components-library/{p-04f80811.entry.js → p-a8609510.entry.js} +2 -2
  478. package/{www/build/p-817689d5.entry.js → dist/web-components-library/p-aaa96c12.entry.js} +3 -3
  479. package/dist/web-components-library/{p-e0b88075.entry.js → p-b391211f.entry.js} +2 -2
  480. package/dist/web-components-library/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  481. package/dist/web-components-library/p-b54d923e.entry.js +2 -0
  482. package/dist/web-components-library/p-b54d923e.entry.js.map +1 -0
  483. package/dist/web-components-library/{p-d9c9de15.entry.js → p-b7056859.entry.js} +2 -2
  484. package/dist/web-components-library/p-c12f93e4.entry.js +2 -0
  485. package/dist/web-components-library/p-c12f93e4.entry.js.map +1 -0
  486. package/dist/web-components-library/{p-3f5aa623.entry.js → p-c5d52872.entry.js} +2 -2
  487. package/dist/web-components-library/p-c5d52872.entry.js.map +1 -0
  488. package/dist/web-components-library/{p-5159edb1.entry.js → p-c811b0cf.entry.js} +2 -2
  489. package/dist/web-components-library/p-c89e1f4b.entry.js +2 -0
  490. package/dist/web-components-library/p-c89e1f4b.entry.js.map +1 -0
  491. package/dist/web-components-library/{p-2bdac94e.entry.js → p-c9b81cab.entry.js} +2 -2
  492. package/dist/web-components-library/{p-30e42fb1.js → p-cb395500.js} +2 -2
  493. package/dist/web-components-library/{p-5a1f98a2.entry.js → p-cbc09112.entry.js} +2 -2
  494. package/dist/web-components-library/p-da3abb97.entry.js +2 -0
  495. package/dist/web-components-library/{p-2612e3a2.entry.js → p-daa442e6.entry.js} +2 -2
  496. package/dist/web-components-library/{p-c778bf87.entry.js → p-e8eacbeb.entry.js} +4 -4
  497. package/dist/web-components-library/p-e8eacbeb.entry.js.map +1 -0
  498. package/dist/web-components-library/p-eb15536d.js +2 -0
  499. package/dist/web-components-library/p-eb15536d.js.map +1 -0
  500. package/dist/web-components-library/p-efa6b991.entry.js +2 -0
  501. package/dist/web-components-library/{p-01f941c2.entry.js → p-f4b987ed.entry.js} +2 -2
  502. package/dist/web-components-library/{p-bdbcf353.entry.js → p-f662e7ff.entry.js} +2 -2
  503. package/dist/web-components-library/p-f92e0c29.entry.js +2 -0
  504. package/dist/web-components-library/{p-a905df88.entry.js → p-ff89d630.entry.js} +2 -2
  505. package/dist/web-components-library/web-components-library.css +23 -25
  506. package/dist/web-components-library/web-components-library.esm.js +1 -1
  507. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  508. package/package.json +3 -3
  509. package/react/components.d.ts +1 -0
  510. package/react/components.js +3 -2
  511. package/react/components.js.map +1 -1
  512. package/www/build/index.esm.js +1 -1
  513. package/www/build/index.esm.js.map +1 -1
  514. package/www/build/{p-375f8542.entry.js → p-0643d684.entry.js} +2 -2
  515. package/www/build/{p-44459393.entry.js → p-0aed3ddc.entry.js} +2 -2
  516. package/www/build/p-156f9df4.js +2 -0
  517. package/{dist/web-components-library/p-b96900bb.entry.js → www/build/p-19103e70.entry.js} +2 -2
  518. package/www/build/p-1a0c206d.js +2 -0
  519. package/www/build/p-1a0c206d.js.map +1 -0
  520. package/www/build/{p-fb232d07.entry.js → p-252893a8.entry.js} +2 -2
  521. package/{dist/web-components-library/p-2aeffcf9.entry.js → www/build/p-26ed6c96.entry.js} +2 -2
  522. package/{dist/web-components-library/p-99210133.entry.js → www/build/p-2d4cf6ff.entry.js} +2 -2
  523. package/www/build/{p-8687691b.entry.js → p-30a78a06.entry.js} +2 -2
  524. package/www/build/p-32bc8a40.entry.js +2 -0
  525. package/www/build/p-32bc8a40.entry.js.map +1 -0
  526. package/www/build/p-3977b0ae.entry.js +2 -0
  527. package/www/build/p-3ba7621b.entry.js +2 -0
  528. package/{dist/web-components-library/p-8c164e0d.entry.js → www/build/p-41891d34.entry.js} +2 -2
  529. package/www/build/p-42abfe3b.entry.js +2 -0
  530. package/www/build/p-4504375f.entry.js +2 -0
  531. package/{dist/web-components-library/p-19f5b6a9.entry.js → www/build/p-47813782.entry.js} +2 -2
  532. package/{dist/web-components-library/p-b7b972c0.entry.js → www/build/p-47b59f05.entry.js} +2 -2
  533. package/www/build/p-4844c774.js +2 -0
  534. package/{dist/web-components-library/p-030257b3.js.map → www/build/p-4844c774.js.map} +1 -1
  535. package/www/build/p-55e5e53a.entry.js +2 -0
  536. package/www/build/p-55e5e53a.entry.js.map +1 -0
  537. package/{dist/web-components-library/p-4a257653.entry.js → www/build/p-565c1815.entry.js} +2 -2
  538. package/{dist/web-components-library/p-22ba2a17.entry.js → www/build/p-58aeaf21.entry.js} +2 -2
  539. package/www/build/{p-1c7550f9.entry.js → p-5905cca0.entry.js} +2 -2
  540. package/www/build/{p-cc18a2b7.entry.js → p-5e2f6ab7.entry.js} +2 -2
  541. package/www/build/{p-0a49dd1c.entry.js → p-613987cd.entry.js} +2 -2
  542. package/{dist/web-components-library/p-b63c8e8b.entry.js → www/build/p-6164feb9.entry.js} +2 -2
  543. package/www/build/p-623fdee4.js +2 -0
  544. package/www/build/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  545. package/www/build/{p-f19f12b1.js → p-68d91a93.js} +2 -2
  546. package/www/build/p-6c6a655e.entry.js +2 -0
  547. package/www/build/{p-5a24e268.entry.js.map → p-6c6a655e.entry.js.map} +1 -1
  548. package/{dist/web-components-library/p-f4bac89b.entry.js → www/build/p-6c9cd6be.entry.js} +2 -2
  549. package/www/build/p-6d15da6f.entry.js +2 -0
  550. package/www/build/p-6d15da6f.entry.js.map +1 -0
  551. package/{dist/web-components-library/p-e3b82454.entry.js → www/build/p-6e13aa8e.entry.js} +2 -2
  552. package/www/build/{p-4affbb99.entry.js → p-767b66ca.entry.js} +2 -2
  553. package/{dist/web-components-library/p-34975328.entry.js → www/build/p-76d1d0e4.entry.js} +2 -2
  554. package/www/build/{p-e9e2ceb4.entry.js → p-771dea79.entry.js} +2 -2
  555. package/www/build/p-7b837e11.js +2 -0
  556. package/www/build/{p-86160fe3.entry.js → p-7d655f96.entry.js} +2 -2
  557. package/www/build/{p-b5b5dae5.css → p-813bd63b.css} +23 -25
  558. package/www/build/p-82eeea83.entry.js +2 -0
  559. package/www/build/p-862989b6.entry.js +2 -0
  560. package/www/build/p-862989b6.entry.js.map +1 -0
  561. package/www/build/p-86618221.js +2 -0
  562. package/www/build/p-86618221.js.map +1 -0
  563. package/www/build/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  564. package/www/build/{p-2f948bac.entry.js → p-8988eee3.entry.js} +2 -2
  565. package/{dist/web-components-library/p-1844a4f4.entry.js → www/build/p-8a53fefb.entry.js} +2 -2
  566. package/www/build/{p-748fa3ae.js → p-8b367393.js} +2 -2
  567. package/www/build/{p-4551b0df.entry.js → p-8c52635e.entry.js} +2 -2
  568. package/www/build/{p-240de9aa.entry.js → p-8fd50cc5.entry.js} +2 -2
  569. package/{dist/web-components-library/p-1fd1cf02.entry.js → www/build/p-92f13701.entry.js} +2 -2
  570. package/{dist/web-components-library/p-ceeb3e2a.entry.js → www/build/p-93d349ee.entry.js} +2 -2
  571. package/www/build/p-988a58dd.entry.js +2 -0
  572. package/{dist/web-components-library/p-816fd6dc.entry.js → www/build/p-9ae0c0c6.entry.js} +2 -2
  573. package/www/build/{p-d7f12672.js → p-9c816a3b.js} +2 -2
  574. package/{dist/web-components-library/p-4cec3345.entry.js → www/build/p-a2ee659d.entry.js} +2 -2
  575. package/{dist/web-components-library/p-94916bdf.entry.js → www/build/p-a4d2cf55.entry.js} +2 -2
  576. package/www/build/p-a5146ef3.entry.js +2 -0
  577. package/www/build/p-a5146ef3.entry.js.map +1 -0
  578. package/www/build/{p-04f80811.entry.js → p-a8609510.entry.js} +2 -2
  579. package/{dist/web-components-library/p-817689d5.entry.js → www/build/p-aaa96c12.entry.js} +3 -3
  580. package/www/build/{p-e0b88075.entry.js → p-b391211f.entry.js} +2 -2
  581. package/www/build/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  582. package/www/build/p-b54d923e.entry.js +2 -0
  583. package/www/build/p-b54d923e.entry.js.map +1 -0
  584. package/www/build/{p-d9c9de15.entry.js → p-b7056859.entry.js} +2 -2
  585. package/www/build/p-c12f93e4.entry.js +2 -0
  586. package/www/build/p-c12f93e4.entry.js.map +1 -0
  587. package/www/build/{p-3f5aa623.entry.js → p-c5d52872.entry.js} +2 -2
  588. package/www/build/p-c5d52872.entry.js.map +1 -0
  589. package/www/build/{p-5159edb1.entry.js → p-c811b0cf.entry.js} +2 -2
  590. package/www/build/p-c89e1f4b.entry.js +2 -0
  591. package/www/build/p-c89e1f4b.entry.js.map +1 -0
  592. package/www/build/{p-2bdac94e.entry.js → p-c9b81cab.entry.js} +2 -2
  593. package/www/build/{p-30e42fb1.js → p-cb395500.js} +2 -2
  594. package/www/build/{p-5a1f98a2.entry.js → p-cbc09112.entry.js} +2 -2
  595. package/www/build/p-da3abb97.entry.js +2 -0
  596. package/www/build/{p-2612e3a2.entry.js → p-daa442e6.entry.js} +2 -2
  597. package/www/build/{p-c778bf87.entry.js → p-e8eacbeb.entry.js} +4 -4
  598. package/www/build/p-e8eacbeb.entry.js.map +1 -0
  599. package/www/build/p-eb15536d.js +2 -0
  600. package/www/build/p-eb15536d.js.map +1 -0
  601. package/www/build/p-efa6b991.entry.js +2 -0
  602. package/www/build/{p-01f941c2.entry.js → p-f4b987ed.entry.js} +2 -2
  603. package/www/build/{p-bdbcf353.entry.js → p-f662e7ff.entry.js} +2 -2
  604. package/www/build/p-f92e0c29.entry.js +2 -0
  605. package/www/build/{p-a905df88.entry.js → p-ff89d630.entry.js} +2 -2
  606. package/www/build/web-components-library.css +23 -25
  607. package/www/build/web-components-library.esm.js +1 -1
  608. package/www/build/web-components-library.esm.js.map +1 -1
  609. package/www/index.html +1 -1
  610. package/dist/cjs/index-97a4c18d.js.map +0 -1
  611. package/dist/cjs/utils-5148245a.js.map +0 -1
  612. package/dist/esm/index-2a6324f8.js.map +0 -1
  613. package/dist/esm/utils-e66d94c3.js.map +0 -1
  614. package/dist/web-components-library/p-030257b3.js +0 -2
  615. package/dist/web-components-library/p-1170826b.js +0 -2
  616. package/dist/web-components-library/p-17af7fb2.js +0 -2
  617. package/dist/web-components-library/p-17af7fb2.js.map +0 -1
  618. package/dist/web-components-library/p-17e1abca.entry.js +0 -2
  619. package/dist/web-components-library/p-17e1abca.entry.js.map +0 -1
  620. package/dist/web-components-library/p-198b1692.entry.js +0 -2
  621. package/dist/web-components-library/p-22128478.entry.js +0 -2
  622. package/dist/web-components-library/p-22128478.entry.js.map +0 -1
  623. package/dist/web-components-library/p-237fcaa9.entry.js +0 -2
  624. package/dist/web-components-library/p-334cba5d.entry.js +0 -2
  625. package/dist/web-components-library/p-334cba5d.entry.js.map +0 -1
  626. package/dist/web-components-library/p-3f5aa623.entry.js.map +0 -1
  627. package/dist/web-components-library/p-4c9bf42d.js +0 -2
  628. package/dist/web-components-library/p-5a24e268.entry.js +0 -2
  629. package/dist/web-components-library/p-60e3fa30.entry.js +0 -2
  630. package/dist/web-components-library/p-6cffbabc.entry.js +0 -2
  631. package/dist/web-components-library/p-6cffbabc.entry.js.map +0 -1
  632. package/dist/web-components-library/p-9e3da0b7.entry.js +0 -2
  633. package/dist/web-components-library/p-bc7fd8af.entry.js +0 -2
  634. package/dist/web-components-library/p-bc7fd8af.entry.js.map +0 -1
  635. package/dist/web-components-library/p-c778bf87.entry.js.map +0 -1
  636. package/dist/web-components-library/p-d2035d26.entry.js +0 -2
  637. package/dist/web-components-library/p-d6a7b7f3.entry.js +0 -2
  638. package/dist/web-components-library/p-d6a7b7f3.entry.js.map +0 -1
  639. package/dist/web-components-library/p-d75f8bbb.entry.js +0 -2
  640. package/dist/web-components-library/p-d90d2698.entry.js +0 -2
  641. package/dist/web-components-library/p-deb7f8d7.entry.js +0 -2
  642. package/dist/web-components-library/p-e5407cc1.entry.js +0 -2
  643. package/dist/web-components-library/p-e6778114.js +0 -2
  644. package/dist/web-components-library/p-e6778114.js.map +0 -1
  645. package/dist/web-components-library/p-f5dfd04d.entry.js +0 -2
  646. package/dist/web-components-library/p-f5dfd04d.entry.js.map +0 -1
  647. package/www/build/p-030257b3.js +0 -2
  648. package/www/build/p-0aba9c42.js +0 -2
  649. package/www/build/p-1170826b.js +0 -2
  650. package/www/build/p-17af7fb2.js +0 -2
  651. package/www/build/p-17af7fb2.js.map +0 -1
  652. package/www/build/p-17e1abca.entry.js +0 -2
  653. package/www/build/p-17e1abca.entry.js.map +0 -1
  654. package/www/build/p-198b1692.entry.js +0 -2
  655. package/www/build/p-22128478.entry.js +0 -2
  656. package/www/build/p-22128478.entry.js.map +0 -1
  657. package/www/build/p-237fcaa9.entry.js +0 -2
  658. package/www/build/p-334cba5d.entry.js +0 -2
  659. package/www/build/p-334cba5d.entry.js.map +0 -1
  660. package/www/build/p-3f5aa623.entry.js.map +0 -1
  661. package/www/build/p-4c9bf42d.js +0 -2
  662. package/www/build/p-5a24e268.entry.js +0 -2
  663. package/www/build/p-60e3fa30.entry.js +0 -2
  664. package/www/build/p-6cffbabc.entry.js +0 -2
  665. package/www/build/p-6cffbabc.entry.js.map +0 -1
  666. package/www/build/p-9e3da0b7.entry.js +0 -2
  667. package/www/build/p-bc7fd8af.entry.js +0 -2
  668. package/www/build/p-bc7fd8af.entry.js.map +0 -1
  669. package/www/build/p-c778bf87.entry.js.map +0 -1
  670. package/www/build/p-d2035d26.entry.js +0 -2
  671. package/www/build/p-d6a7b7f3.entry.js +0 -2
  672. package/www/build/p-d6a7b7f3.entry.js.map +0 -1
  673. package/www/build/p-d75f8bbb.entry.js +0 -2
  674. package/www/build/p-d90d2698.entry.js +0 -2
  675. package/www/build/p-deb7f8d7.entry.js +0 -2
  676. package/www/build/p-e5407cc1.entry.js +0 -2
  677. package/www/build/p-e6778114.js +0 -2
  678. package/www/build/p-e6778114.js.map +0 -1
  679. package/www/build/p-f5dfd04d.entry.js +0 -2
  680. package/www/build/p-f5dfd04d.entry.js.map +0 -1
  681. /package/dist/web-components-library/{p-375f8542.entry.js.map → p-0643d684.entry.js.map} +0 -0
  682. /package/dist/web-components-library/{p-44459393.entry.js.map → p-0aed3ddc.entry.js.map} +0 -0
  683. /package/dist/web-components-library/{p-b96900bb.entry.js.map → p-19103e70.entry.js.map} +0 -0
  684. /package/dist/web-components-library/{p-fb232d07.entry.js.map → p-252893a8.entry.js.map} +0 -0
  685. /package/dist/web-components-library/{p-2aeffcf9.entry.js.map → p-26ed6c96.entry.js.map} +0 -0
  686. /package/dist/web-components-library/{p-99210133.entry.js.map → p-2d4cf6ff.entry.js.map} +0 -0
  687. /package/dist/web-components-library/{p-8687691b.entry.js.map → p-30a78a06.entry.js.map} +0 -0
  688. /package/dist/web-components-library/{p-237fcaa9.entry.js.map → p-3977b0ae.entry.js.map} +0 -0
  689. /package/dist/web-components-library/{p-9e3da0b7.entry.js.map → p-3ba7621b.entry.js.map} +0 -0
  690. /package/dist/web-components-library/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  691. /package/dist/web-components-library/{p-d2035d26.entry.js.map → p-42abfe3b.entry.js.map} +0 -0
  692. /package/dist/web-components-library/{p-60e3fa30.entry.js.map → p-4504375f.entry.js.map} +0 -0
  693. /package/dist/web-components-library/{p-19f5b6a9.entry.js.map → p-47813782.entry.js.map} +0 -0
  694. /package/dist/web-components-library/{p-b7b972c0.entry.js.map → p-47b59f05.entry.js.map} +0 -0
  695. /package/dist/web-components-library/{p-4a257653.entry.js.map → p-565c1815.entry.js.map} +0 -0
  696. /package/dist/web-components-library/{p-22ba2a17.entry.js.map → p-58aeaf21.entry.js.map} +0 -0
  697. /package/dist/web-components-library/{p-1c7550f9.entry.js.map → p-5905cca0.entry.js.map} +0 -0
  698. /package/dist/web-components-library/{p-cc18a2b7.entry.js.map → p-5e2f6ab7.entry.js.map} +0 -0
  699. /package/dist/web-components-library/{p-0a49dd1c.entry.js.map → p-613987cd.entry.js.map} +0 -0
  700. /package/dist/web-components-library/{p-b63c8e8b.entry.js.map → p-6164feb9.entry.js.map} +0 -0
  701. /package/dist/web-components-library/{p-1170826b.js.map → p-623fdee4.js.map} +0 -0
  702. /package/dist/web-components-library/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  703. /package/dist/web-components-library/{p-f19f12b1.js.map → p-68d91a93.js.map} +0 -0
  704. /package/dist/web-components-library/{p-f4bac89b.entry.js.map → p-6c9cd6be.entry.js.map} +0 -0
  705. /package/dist/web-components-library/{p-e3b82454.entry.js.map → p-6e13aa8e.entry.js.map} +0 -0
  706. /package/dist/web-components-library/{p-4affbb99.entry.js.map → p-767b66ca.entry.js.map} +0 -0
  707. /package/dist/web-components-library/{p-34975328.entry.js.map → p-76d1d0e4.entry.js.map} +0 -0
  708. /package/dist/web-components-library/{p-e9e2ceb4.entry.js.map → p-771dea79.entry.js.map} +0 -0
  709. /package/dist/web-components-library/{p-4c9bf42d.js.map → p-7b837e11.js.map} +0 -0
  710. /package/dist/web-components-library/{p-86160fe3.entry.js.map → p-7d655f96.entry.js.map} +0 -0
  711. /package/dist/web-components-library/{p-d75f8bbb.entry.js.map → p-82eeea83.entry.js.map} +0 -0
  712. /package/dist/web-components-library/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  713. /package/dist/web-components-library/{p-2f948bac.entry.js.map → p-8988eee3.entry.js.map} +0 -0
  714. /package/dist/web-components-library/{p-1844a4f4.entry.js.map → p-8a53fefb.entry.js.map} +0 -0
  715. /package/dist/web-components-library/{p-748fa3ae.js.map → p-8b367393.js.map} +0 -0
  716. /package/dist/web-components-library/{p-4551b0df.entry.js.map → p-8c52635e.entry.js.map} +0 -0
  717. /package/dist/web-components-library/{p-240de9aa.entry.js.map → p-8fd50cc5.entry.js.map} +0 -0
  718. /package/dist/web-components-library/{p-1fd1cf02.entry.js.map → p-92f13701.entry.js.map} +0 -0
  719. /package/dist/web-components-library/{p-ceeb3e2a.entry.js.map → p-93d349ee.entry.js.map} +0 -0
  720. /package/dist/web-components-library/{p-d90d2698.entry.js.map → p-988a58dd.entry.js.map} +0 -0
  721. /package/dist/web-components-library/{p-816fd6dc.entry.js.map → p-9ae0c0c6.entry.js.map} +0 -0
  722. /package/dist/web-components-library/{p-d7f12672.js.map → p-9c816a3b.js.map} +0 -0
  723. /package/dist/web-components-library/{p-4cec3345.entry.js.map → p-a2ee659d.entry.js.map} +0 -0
  724. /package/dist/web-components-library/{p-94916bdf.entry.js.map → p-a4d2cf55.entry.js.map} +0 -0
  725. /package/dist/web-components-library/{p-04f80811.entry.js.map → p-a8609510.entry.js.map} +0 -0
  726. /package/dist/web-components-library/{p-817689d5.entry.js.map → p-aaa96c12.entry.js.map} +0 -0
  727. /package/dist/web-components-library/{p-e0b88075.entry.js.map → p-b391211f.entry.js.map} +0 -0
  728. /package/dist/web-components-library/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  729. /package/dist/web-components-library/{p-d9c9de15.entry.js.map → p-b7056859.entry.js.map} +0 -0
  730. /package/dist/web-components-library/{p-5159edb1.entry.js.map → p-c811b0cf.entry.js.map} +0 -0
  731. /package/dist/web-components-library/{p-2bdac94e.entry.js.map → p-c9b81cab.entry.js.map} +0 -0
  732. /package/dist/web-components-library/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  733. /package/dist/web-components-library/{p-5a1f98a2.entry.js.map → p-cbc09112.entry.js.map} +0 -0
  734. /package/dist/web-components-library/{p-deb7f8d7.entry.js.map → p-da3abb97.entry.js.map} +0 -0
  735. /package/dist/web-components-library/{p-2612e3a2.entry.js.map → p-daa442e6.entry.js.map} +0 -0
  736. /package/dist/web-components-library/{p-e5407cc1.entry.js.map → p-efa6b991.entry.js.map} +0 -0
  737. /package/dist/web-components-library/{p-01f941c2.entry.js.map → p-f4b987ed.entry.js.map} +0 -0
  738. /package/dist/web-components-library/{p-bdbcf353.entry.js.map → p-f662e7ff.entry.js.map} +0 -0
  739. /package/dist/web-components-library/{p-198b1692.entry.js.map → p-f92e0c29.entry.js.map} +0 -0
  740. /package/dist/web-components-library/{p-a905df88.entry.js.map → p-ff89d630.entry.js.map} +0 -0
  741. /package/www/build/{p-375f8542.entry.js.map → p-0643d684.entry.js.map} +0 -0
  742. /package/www/build/{p-44459393.entry.js.map → p-0aed3ddc.entry.js.map} +0 -0
  743. /package/www/build/{p-b96900bb.entry.js.map → p-19103e70.entry.js.map} +0 -0
  744. /package/www/build/{p-fb232d07.entry.js.map → p-252893a8.entry.js.map} +0 -0
  745. /package/www/build/{p-2aeffcf9.entry.js.map → p-26ed6c96.entry.js.map} +0 -0
  746. /package/www/build/{p-99210133.entry.js.map → p-2d4cf6ff.entry.js.map} +0 -0
  747. /package/www/build/{p-8687691b.entry.js.map → p-30a78a06.entry.js.map} +0 -0
  748. /package/www/build/{p-237fcaa9.entry.js.map → p-3977b0ae.entry.js.map} +0 -0
  749. /package/www/build/{p-9e3da0b7.entry.js.map → p-3ba7621b.entry.js.map} +0 -0
  750. /package/www/build/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  751. /package/www/build/{p-d2035d26.entry.js.map → p-42abfe3b.entry.js.map} +0 -0
  752. /package/www/build/{p-60e3fa30.entry.js.map → p-4504375f.entry.js.map} +0 -0
  753. /package/www/build/{p-19f5b6a9.entry.js.map → p-47813782.entry.js.map} +0 -0
  754. /package/www/build/{p-b7b972c0.entry.js.map → p-47b59f05.entry.js.map} +0 -0
  755. /package/www/build/{p-4a257653.entry.js.map → p-565c1815.entry.js.map} +0 -0
  756. /package/www/build/{p-22ba2a17.entry.js.map → p-58aeaf21.entry.js.map} +0 -0
  757. /package/www/build/{p-1c7550f9.entry.js.map → p-5905cca0.entry.js.map} +0 -0
  758. /package/www/build/{p-cc18a2b7.entry.js.map → p-5e2f6ab7.entry.js.map} +0 -0
  759. /package/www/build/{p-0a49dd1c.entry.js.map → p-613987cd.entry.js.map} +0 -0
  760. /package/www/build/{p-b63c8e8b.entry.js.map → p-6164feb9.entry.js.map} +0 -0
  761. /package/www/build/{p-1170826b.js.map → p-623fdee4.js.map} +0 -0
  762. /package/www/build/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  763. /package/www/build/{p-f19f12b1.js.map → p-68d91a93.js.map} +0 -0
  764. /package/www/build/{p-f4bac89b.entry.js.map → p-6c9cd6be.entry.js.map} +0 -0
  765. /package/www/build/{p-e3b82454.entry.js.map → p-6e13aa8e.entry.js.map} +0 -0
  766. /package/www/build/{p-4affbb99.entry.js.map → p-767b66ca.entry.js.map} +0 -0
  767. /package/www/build/{p-34975328.entry.js.map → p-76d1d0e4.entry.js.map} +0 -0
  768. /package/www/build/{p-e9e2ceb4.entry.js.map → p-771dea79.entry.js.map} +0 -0
  769. /package/www/build/{p-4c9bf42d.js.map → p-7b837e11.js.map} +0 -0
  770. /package/www/build/{p-86160fe3.entry.js.map → p-7d655f96.entry.js.map} +0 -0
  771. /package/www/build/{p-d75f8bbb.entry.js.map → p-82eeea83.entry.js.map} +0 -0
  772. /package/www/build/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  773. /package/www/build/{p-2f948bac.entry.js.map → p-8988eee3.entry.js.map} +0 -0
  774. /package/www/build/{p-1844a4f4.entry.js.map → p-8a53fefb.entry.js.map} +0 -0
  775. /package/www/build/{p-748fa3ae.js.map → p-8b367393.js.map} +0 -0
  776. /package/www/build/{p-4551b0df.entry.js.map → p-8c52635e.entry.js.map} +0 -0
  777. /package/www/build/{p-240de9aa.entry.js.map → p-8fd50cc5.entry.js.map} +0 -0
  778. /package/www/build/{p-1fd1cf02.entry.js.map → p-92f13701.entry.js.map} +0 -0
  779. /package/www/build/{p-ceeb3e2a.entry.js.map → p-93d349ee.entry.js.map} +0 -0
  780. /package/www/build/{p-d90d2698.entry.js.map → p-988a58dd.entry.js.map} +0 -0
  781. /package/www/build/{p-816fd6dc.entry.js.map → p-9ae0c0c6.entry.js.map} +0 -0
  782. /package/www/build/{p-d7f12672.js.map → p-9c816a3b.js.map} +0 -0
  783. /package/www/build/{p-4cec3345.entry.js.map → p-a2ee659d.entry.js.map} +0 -0
  784. /package/www/build/{p-94916bdf.entry.js.map → p-a4d2cf55.entry.js.map} +0 -0
  785. /package/www/build/{p-04f80811.entry.js.map → p-a8609510.entry.js.map} +0 -0
  786. /package/www/build/{p-817689d5.entry.js.map → p-aaa96c12.entry.js.map} +0 -0
  787. /package/www/build/{p-e0b88075.entry.js.map → p-b391211f.entry.js.map} +0 -0
  788. /package/www/build/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  789. /package/www/build/{p-d9c9de15.entry.js.map → p-b7056859.entry.js.map} +0 -0
  790. /package/www/build/{p-5159edb1.entry.js.map → p-c811b0cf.entry.js.map} +0 -0
  791. /package/www/build/{p-2bdac94e.entry.js.map → p-c9b81cab.entry.js.map} +0 -0
  792. /package/www/build/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  793. /package/www/build/{p-5a1f98a2.entry.js.map → p-cbc09112.entry.js.map} +0 -0
  794. /package/www/build/{p-deb7f8d7.entry.js.map → p-da3abb97.entry.js.map} +0 -0
  795. /package/www/build/{p-2612e3a2.entry.js.map → p-daa442e6.entry.js.map} +0 -0
  796. /package/www/build/{p-e5407cc1.entry.js.map → p-efa6b991.entry.js.map} +0 -0
  797. /package/www/build/{p-01f941c2.entry.js.map → p-f4b987ed.entry.js.map} +0 -0
  798. /package/www/build/{p-bdbcf353.entry.js.map → p-f662e7ff.entry.js.map} +0 -0
  799. /package/www/build/{p-198b1692.entry.js.map → p-f92e0c29.entry.js.map} +0 -0
  800. /package/www/build/{p-a905df88.entry.js.map → p-ff89d630.entry.js.map} +0 -0
@@ -0,0 +1,367 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { ColorPickerPalette } from "../../beans";
3
+ import { containsElement } from "../../utils/utils";
4
+ const LOCALES = {
5
+ it: {
6
+ "Select a color": "Seleziona un colore",
7
+ "Color swatch": "Campione di colore",
8
+ },
9
+ en: {
10
+ "Select a color": "Select a color",
11
+ "Color swatch": "Color swatch",
12
+ },
13
+ };
14
+ /** Number of colors in each group (column) of the grid. */
15
+ const COLOR_GROUP_SIZE = 5;
16
+ /** Number of color groups (columns) in the grid. */
17
+ const COLOR_GROUPS = 9;
18
+ /**
19
+ * Color picker component.
20
+ * This component allows the user to pick a color from a predefined set.
21
+ */
22
+ export class ZColorPicker {
23
+ constructor() {
24
+ /**
25
+ * The color keys arranged in row-major order for rendering and navigation.
26
+ */
27
+ this.colorKeysByRow = [];
28
+ this._colorButtons = [];
29
+ this.selectedColor = undefined;
30
+ this.lng = "it";
31
+ this.htmlAriaLabel = undefined;
32
+ this.disableTransparent = false;
33
+ }
34
+ get colorButtons() {
35
+ if (!this._colorButtons.length) {
36
+ this._colorButtons = Array.from(this.host.shadowRoot.querySelectorAll("button"));
37
+ }
38
+ return this._colorButtons;
39
+ }
40
+ /**
41
+ * Reorders color keys from column-major (the format of the `ColorPickerPalette` object) to row-major (visual/navigation order).
42
+ * This ensures button indices in the DOM match their visual position in the grid.
43
+ */
44
+ sortColorKeysByRow() {
45
+ const allKeys = Object.keys(ColorPickerPalette);
46
+ const ordered = [];
47
+ // Iterate through visual positions (row by row, left to right)
48
+ for (let row = 0; row < COLOR_GROUP_SIZE; row++) {
49
+ for (let col = 0; col < COLOR_GROUPS; col++) {
50
+ const columnMajorIndex = col * COLOR_GROUP_SIZE + row;
51
+ if (columnMajorIndex < allKeys.length) {
52
+ ordered.push(allKeys[columnMajorIndex]);
53
+ }
54
+ }
55
+ }
56
+ return ordered;
57
+ }
58
+ /** Move focus to the specified color button by index. */
59
+ moveFocusTo(index) {
60
+ // Reset tabindex of other buttons and set tabindex to 0 on selected button
61
+ this.colorButtons.forEach((btn, i) => (btn.tabIndex = i === index ? 0 : -1));
62
+ this.colorButtons[index].focus();
63
+ }
64
+ validateTransparentSelection() {
65
+ if (this.disableTransparent && this.selectedColor === "#FFFFFF00") {
66
+ this.selectedColor = "#333333"; // Default to dark gray 2 if transparent is disabled and currently selected
67
+ }
68
+ }
69
+ emitColorSelected() {
70
+ this.colorSelected.emit(this.selectedColor);
71
+ }
72
+ /**
73
+ * Focuses the selected or first enabled color button and makes the container non-tabbable.
74
+ */
75
+ async setFocus() {
76
+ // Reset tabindex of all buttons
77
+ this.colorButtons.forEach((btn) => (btn.tabIndex = -1));
78
+ const firstSelectedOrEnabled = this.colorButtons.find((btn) => btn.ariaSelected === "true") || this.colorButtons.find((btn) => !btn.disabled);
79
+ if (!firstSelectedOrEnabled) {
80
+ return;
81
+ }
82
+ firstSelectedOrEnabled.tabIndex = 0;
83
+ setTimeout(() => {
84
+ firstSelectedOrEnabled.focus();
85
+ }, 50);
86
+ // Set container as non-tabbable
87
+ this.host.tabIndex = -1;
88
+ }
89
+ /**
90
+ * Compute next index in row-major grid according to keyboard direction.
91
+ */
92
+ getNextIndexByKey(currentIndex, key, totalColors) {
93
+ const row = Math.floor(currentIndex / COLOR_GROUPS);
94
+ const col = currentIndex % COLOR_GROUPS;
95
+ let newIndex = currentIndex;
96
+ switch (key) {
97
+ case "ArrowRight": {
98
+ const newCol = col + 1;
99
+ const newRow = newCol >= COLOR_GROUPS ? (row + 1) % COLOR_GROUP_SIZE : row;
100
+ newIndex = newRow * COLOR_GROUPS + (newCol % COLOR_GROUPS);
101
+ if (newIndex >= totalColors) {
102
+ newIndex = 0; // Wrap to first item
103
+ }
104
+ break;
105
+ }
106
+ case "ArrowLeft": {
107
+ const newCol = col - 1;
108
+ const newRow = newCol < 0 ? (row - 1 + COLOR_GROUP_SIZE) % COLOR_GROUP_SIZE : row;
109
+ newIndex = newRow * COLOR_GROUPS + ((newCol + COLOR_GROUPS) % COLOR_GROUPS);
110
+ if (newIndex >= totalColors) {
111
+ newIndex = totalColors - 1; // Wrap to last item
112
+ }
113
+ break;
114
+ }
115
+ case "ArrowDown": {
116
+ let newRow = row + 1;
117
+ let newCol = col;
118
+ if (newRow >= COLOR_GROUP_SIZE) {
119
+ // Wrap to first item of next column
120
+ newRow = 0;
121
+ newCol = (col + 1) % COLOR_GROUPS;
122
+ }
123
+ newIndex = newRow * COLOR_GROUPS + newCol;
124
+ if (newIndex >= totalColors) {
125
+ newIndex = 0; // Wrap to first item
126
+ }
127
+ break;
128
+ }
129
+ case "ArrowUp": {
130
+ let newRow = row - 1;
131
+ let newCol = col;
132
+ if (newRow < 0) {
133
+ // Wrap to last item of previous column
134
+ newRow = COLOR_GROUP_SIZE - 1;
135
+ newCol = (col - 1 + COLOR_GROUPS) % COLOR_GROUPS;
136
+ }
137
+ newIndex = newRow * COLOR_GROUPS + newCol;
138
+ if (newIndex >= totalColors) {
139
+ newIndex = totalColors - 1; // Wrap to last item
140
+ }
141
+ break;
142
+ }
143
+ }
144
+ return newIndex;
145
+ }
146
+ /**
147
+ * Handle keyboard navigation within the color picker.
148
+ * Arrow keys move focus in the expected direction, wrapping around edges. The grid is navigated in row-major order.
149
+ */
150
+ handleKeyDown(event) {
151
+ var _a, _b;
152
+ const target = event.composedPath()[0];
153
+ if (!target.dataset.color) {
154
+ return;
155
+ }
156
+ const currentIndex = this.colorButtons.indexOf(target);
157
+ const totalColors = this.colorButtons.length;
158
+ if (currentIndex < 0 || !["ArrowRight", "ArrowLeft", "ArrowDown", "ArrowUp"].includes(event.key)) {
159
+ return;
160
+ }
161
+ let newIndex = currentIndex;
162
+ let attempts = 0;
163
+ do {
164
+ newIndex = this.getNextIndexByKey(newIndex, event.key, totalColors);
165
+ attempts++;
166
+ } while (attempts < totalColors && ((_a = this.colorButtons[newIndex]) === null || _a === void 0 ? void 0 : _a.disabled));
167
+ if (newIndex !== currentIndex &&
168
+ newIndex >= 0 &&
169
+ newIndex < totalColors &&
170
+ !((_b = this.colorButtons[newIndex]) === null || _b === void 0 ? void 0 : _b.disabled)) {
171
+ this.moveFocusTo(newIndex);
172
+ event.preventDefault();
173
+ event.stopPropagation();
174
+ }
175
+ }
176
+ /**
177
+ * When focus leaves the color picker (e.g. user tabs away), reset all buttons to non-tabbable and make the container tabbable again.
178
+ */
179
+ handleBlur(event) {
180
+ const relatedTarget = event.relatedTarget;
181
+ if (!containsElement(this.host, relatedTarget)) {
182
+ this.host.tabIndex = 0;
183
+ this.colorButtons.forEach((btn) => (btn.tabIndex = -1));
184
+ }
185
+ }
186
+ componentWillLoad() {
187
+ this.colorKeysByRow = this.sortColorKeysByRow();
188
+ }
189
+ render() {
190
+ return (h(Host, { key: '24f0e76aecda9731ed826e8228f49ca5e08a14a5', role: "listbox", "aria-label": this.htmlAriaLabel || LOCALES[this.lng]["Select a color"], tabIndex: 0 }, this.colorKeysByRow.map((colorKey) => {
191
+ var _a;
192
+ return (h("button", { class: "color-swatch", "data-color": colorKey, role: "option", "aria-selected": ((_a = this.selectedColor) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === colorKey.toUpperCase() ? "true" : "false", tabIndex: -1, onClick: () => (this.selectedColor = colorKey), disabled: this.disableTransparent && colorKey === "#FFFFFF00" }, h("div", { class: "color-swatch", role: "img", "aria-roledescription": LOCALES[this.lng]["Color swatch"], "aria-label": ColorPickerPalette[colorKey][this.lng], title: ColorPickerPalette[colorKey][this.lng], style: { backgroundColor: colorKey } })));
193
+ })));
194
+ }
195
+ static get is() { return "z-color-picker"; }
196
+ static get encapsulation() { return "shadow"; }
197
+ static get originalStyleUrls() {
198
+ return {
199
+ "$": ["styles.css"]
200
+ };
201
+ }
202
+ static get styleUrls() {
203
+ return {
204
+ "$": ["styles.css"]
205
+ };
206
+ }
207
+ static get properties() {
208
+ return {
209
+ "selectedColor": {
210
+ "type": "string",
211
+ "mutable": true,
212
+ "complexType": {
213
+ "original": "ColorPickerPalette",
214
+ "resolved": "\"#FFFFFF00\" | \"#FFFFFF\" | \"#CCCCCC\" | \"#7E7E7E\" | \"#333333\" | \"#FFCCCC\" | \"#FF9999\" | \"#FF3333\" | \"#CC0000\" | \"#660000\" | \"#FFE1CC\" | \"#FFC399\" | \"#FF8933\" | \"#CC5500\" | \"#662B00\" | \"#FFF7CC\" | \"#FFEE99\" | \"#FFDD33\" | \"#CCAA00\" | \"#665600\" | \"#DDFFCC\" | \"#BBFF99\" | \"#77FF33\" | \"#44CC00\" | \"#226600\" | \"#CCFFE5\" | \"#99FFCC\" | \"#33FF99\" | \"#00CC66\" | \"#006633\" | \"#CCEEFF\" | \"#99DDFF\" | \"#33BBFF\" | \"#0088CC\" | \"#004466\" | \"#D4CCFF\" | \"#AA99FF\" | \"#5533FF\" | \"#2200CC\" | \"#110066\" | \"#FFCCFF\" | \"#FF99FF\" | \"#FF33FF\" | \"#CC00CC\" | \"#660066\"",
215
+ "references": {
216
+ "ColorPickerPalette": {
217
+ "location": "import",
218
+ "path": "../../beans",
219
+ "id": "src/beans/index.tsx::ColorPickerPalette"
220
+ }
221
+ }
222
+ },
223
+ "required": false,
224
+ "optional": false,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": "The selected color to highlight."
228
+ },
229
+ "attribute": "selected-color",
230
+ "reflect": false
231
+ },
232
+ "lng": {
233
+ "type": "string",
234
+ "mutable": false,
235
+ "complexType": {
236
+ "original": "\"it\" | \"en\"",
237
+ "resolved": "\"en\" | \"it\"",
238
+ "references": {}
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": "The language for the aria labels inside the color picker."
245
+ },
246
+ "attribute": "lng",
247
+ "reflect": false,
248
+ "defaultValue": "\"it\""
249
+ },
250
+ "htmlAriaLabel": {
251
+ "type": "string",
252
+ "mutable": false,
253
+ "complexType": {
254
+ "original": "string",
255
+ "resolved": "string",
256
+ "references": {}
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": "The aria-label for the color picker, e.g. \"Select a background color for the label\"."
263
+ },
264
+ "attribute": "html-aria-label",
265
+ "reflect": false
266
+ },
267
+ "disableTransparent": {
268
+ "type": "boolean",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "boolean",
272
+ "resolved": "boolean",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": false,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "Disables the transparent color option.\nSetting `selectedColor` prop to `#FFFFFF00` while `disableTransparent` is true will default to `#333333` (\"dark gray 2\")."
280
+ },
281
+ "attribute": "disable-transparent",
282
+ "reflect": false,
283
+ "defaultValue": "false"
284
+ }
285
+ };
286
+ }
287
+ static get events() {
288
+ return [{
289
+ "method": "colorSelected",
290
+ "name": "colorSelected",
291
+ "bubbles": true,
292
+ "cancelable": true,
293
+ "composed": true,
294
+ "docs": {
295
+ "tags": [],
296
+ "text": "Event emitted when a color is selected."
297
+ },
298
+ "complexType": {
299
+ "original": "ColorPickerPalette",
300
+ "resolved": "\"#FFFFFF00\" | \"#FFFFFF\" | \"#CCCCCC\" | \"#7E7E7E\" | \"#333333\" | \"#FFCCCC\" | \"#FF9999\" | \"#FF3333\" | \"#CC0000\" | \"#660000\" | \"#FFE1CC\" | \"#FFC399\" | \"#FF8933\" | \"#CC5500\" | \"#662B00\" | \"#FFF7CC\" | \"#FFEE99\" | \"#FFDD33\" | \"#CCAA00\" | \"#665600\" | \"#DDFFCC\" | \"#BBFF99\" | \"#77FF33\" | \"#44CC00\" | \"#226600\" | \"#CCFFE5\" | \"#99FFCC\" | \"#33FF99\" | \"#00CC66\" | \"#006633\" | \"#CCEEFF\" | \"#99DDFF\" | \"#33BBFF\" | \"#0088CC\" | \"#004466\" | \"#D4CCFF\" | \"#AA99FF\" | \"#5533FF\" | \"#2200CC\" | \"#110066\" | \"#FFCCFF\" | \"#FF99FF\" | \"#FF33FF\" | \"#CC00CC\" | \"#660066\"",
301
+ "references": {
302
+ "ColorPickerPalette": {
303
+ "location": "import",
304
+ "path": "../../beans",
305
+ "id": "src/beans/index.tsx::ColorPickerPalette"
306
+ }
307
+ }
308
+ }
309
+ }];
310
+ }
311
+ static get methods() {
312
+ return {
313
+ "setFocus": {
314
+ "complexType": {
315
+ "signature": "() => Promise<void>",
316
+ "parameters": [],
317
+ "references": {
318
+ "Promise": {
319
+ "location": "global",
320
+ "id": "global::Promise"
321
+ }
322
+ },
323
+ "return": "Promise<void>"
324
+ },
325
+ "docs": {
326
+ "text": "Focuses the selected or first enabled color button and makes the container non-tabbable.",
327
+ "tags": []
328
+ }
329
+ }
330
+ };
331
+ }
332
+ static get elementRef() { return "host"; }
333
+ static get watchers() {
334
+ return [{
335
+ "propName": "disableTransparent",
336
+ "methodName": "validateTransparentSelection"
337
+ }, {
338
+ "propName": "selectedColor",
339
+ "methodName": "validateTransparentSelection"
340
+ }, {
341
+ "propName": "selectedColor",
342
+ "methodName": "emitColorSelected"
343
+ }];
344
+ }
345
+ static get listeners() {
346
+ return [{
347
+ "name": "focus",
348
+ "method": "setFocus",
349
+ "target": undefined,
350
+ "capture": false,
351
+ "passive": false
352
+ }, {
353
+ "name": "keydown",
354
+ "method": "handleKeyDown",
355
+ "target": undefined,
356
+ "capture": false,
357
+ "passive": false
358
+ }, {
359
+ "name": "blur",
360
+ "method": "handleBlur",
361
+ "target": undefined,
362
+ "capture": false,
363
+ "passive": false
364
+ }];
365
+ }
366
+ }
367
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-color-picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, Watch, h} from \"@stencil/core\";\nimport {ColorPickerPalette} from \"../../beans\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst LOCALES = {\n it: {\n \"Select a color\": \"Seleziona un colore\",\n \"Color swatch\": \"Campione di colore\",\n },\n en: {\n \"Select a color\": \"Select a color\",\n \"Color swatch\": \"Color swatch\",\n },\n} as const;\n\n/** Number of colors in each group (column) of the grid. */\nconst COLOR_GROUP_SIZE = 5;\n\n/** Number of color groups (columns) in the grid. */\nconst COLOR_GROUPS = 9;\n\n/**\n * Color picker component.\n * This component allows the user to pick a color from a predefined set.\n */\n@Component({\n tag: \"z-color-picker\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZColorPicker {\n @Element() host: HTMLZColorPickerElement;\n\n /**\n * The selected color to highlight.\n */\n @Prop({mutable: true})\n selectedColor: ColorPickerPalette;\n\n /**\n * The language for the aria labels inside the color picker.\n */\n @Prop()\n lng: \"it\" | \"en\" = \"it\";\n\n /**\n * The aria-label for the color picker, e.g. \"Select a background color for the label\".\n */\n @Prop()\n htmlAriaLabel: string;\n\n /**\n * Disables the transparent color option.\n * Setting `selectedColor` prop to `#FFFFFF00` while `disableTransparent` is true will default to `#333333` (\"dark gray 2\").\n */\n @Prop()\n disableTransparent = false;\n\n /**\n * Event emitted when a color is selected.\n */\n @Event()\n colorSelected: EventEmitter<ColorPickerPalette>;\n\n /**\n * The color keys arranged in row-major order for rendering and navigation.\n */\n private colorKeysByRow: ColorPickerPalette[] = [];\n\n private _colorButtons: HTMLButtonElement[] = [];\n\n private get colorButtons(): HTMLButtonElement[] {\n if (!this._colorButtons.length) {\n this._colorButtons = Array.from(this.host.shadowRoot.querySelectorAll(\"button\")) as HTMLButtonElement[];\n }\n\n return this._colorButtons;\n }\n\n /**\n * Reorders color keys from column-major (the format of the `ColorPickerPalette` object) to row-major (visual/navigation order).\n * This ensures button indices in the DOM match their visual position in the grid.\n */\n private sortColorKeysByRow(): ColorPickerPalette[] {\n const allKeys = Object.keys(ColorPickerPalette) as ColorPickerPalette[];\n const ordered: ColorPickerPalette[] = [];\n\n // Iterate through visual positions (row by row, left to right)\n for (let row = 0; row < COLOR_GROUP_SIZE; row++) {\n for (let col = 0; col < COLOR_GROUPS; col++) {\n const columnMajorIndex = col * COLOR_GROUP_SIZE + row;\n if (columnMajorIndex < allKeys.length) {\n ordered.push(allKeys[columnMajorIndex]);\n }\n }\n }\n\n return ordered;\n }\n\n /** Move focus to the specified color button by index. */\n private moveFocusTo(index: number): void {\n // Reset tabindex of other buttons and set tabindex to 0 on selected button\n this.colorButtons.forEach((btn, i) => (btn.tabIndex = i === index ? 0 : -1));\n this.colorButtons[index].focus();\n }\n\n @Watch(\"disableTransparent\")\n @Watch(\"selectedColor\")\n validateTransparentSelection(): void {\n if (this.disableTransparent && this.selectedColor === \"#FFFFFF00\") {\n this.selectedColor = \"#333333\"; // Default to dark gray 2 if transparent is disabled and currently selected\n }\n }\n\n @Watch(\"selectedColor\")\n emitColorSelected(): void {\n this.colorSelected.emit(this.selectedColor);\n }\n\n /**\n * Focuses the selected or first enabled color button and makes the container non-tabbable.\n */\n @Listen(\"focus\")\n @Method()\n async setFocus(): Promise<void> {\n // Reset tabindex of all buttons\n this.colorButtons.forEach((btn) => (btn.tabIndex = -1));\n const firstSelectedOrEnabled =\n this.colorButtons.find((btn) => btn.ariaSelected === \"true\") || this.colorButtons.find((btn) => !btn.disabled);\n if (!firstSelectedOrEnabled) {\n return;\n }\n\n firstSelectedOrEnabled.tabIndex = 0;\n setTimeout(() => {\n firstSelectedOrEnabled.focus();\n }, 50);\n // Set container as non-tabbable\n this.host.tabIndex = -1;\n }\n\n /**\n * Compute next index in row-major grid according to keyboard direction.\n */\n private getNextIndexByKey(currentIndex: number, key: string, totalColors: number): number {\n const row = Math.floor(currentIndex / COLOR_GROUPS);\n const col = currentIndex % COLOR_GROUPS;\n let newIndex = currentIndex;\n\n switch (key) {\n case \"ArrowRight\": {\n const newCol = col + 1;\n const newRow = newCol >= COLOR_GROUPS ? (row + 1) % COLOR_GROUP_SIZE : row;\n newIndex = newRow * COLOR_GROUPS + (newCol % COLOR_GROUPS);\n if (newIndex >= totalColors) {\n newIndex = 0; // Wrap to first item\n }\n\n break;\n }\n case \"ArrowLeft\": {\n const newCol = col - 1;\n const newRow = newCol < 0 ? (row - 1 + COLOR_GROUP_SIZE) % COLOR_GROUP_SIZE : row;\n newIndex = newRow * COLOR_GROUPS + ((newCol + COLOR_GROUPS) % COLOR_GROUPS);\n if (newIndex >= totalColors) {\n newIndex = totalColors - 1; // Wrap to last item\n }\n\n break;\n }\n case \"ArrowDown\": {\n let newRow = row + 1;\n let newCol = col;\n if (newRow >= COLOR_GROUP_SIZE) {\n // Wrap to first item of next column\n newRow = 0;\n newCol = (col + 1) % COLOR_GROUPS;\n }\n newIndex = newRow * COLOR_GROUPS + newCol;\n if (newIndex >= totalColors) {\n newIndex = 0; // Wrap to first item\n }\n\n break;\n }\n case \"ArrowUp\": {\n let newRow = row - 1;\n let newCol = col;\n if (newRow < 0) {\n // Wrap to last item of previous column\n newRow = COLOR_GROUP_SIZE - 1;\n newCol = (col - 1 + COLOR_GROUPS) % COLOR_GROUPS;\n }\n newIndex = newRow * COLOR_GROUPS + newCol;\n if (newIndex >= totalColors) {\n newIndex = totalColors - 1; // Wrap to last item\n }\n\n break;\n }\n }\n\n return newIndex;\n }\n\n /**\n * Handle keyboard navigation within the color picker.\n * Arrow keys move focus in the expected direction, wrapping around edges. The grid is navigated in row-major order.\n */\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n const target = event.composedPath()[0] as HTMLElement;\n if (!target.dataset.color) {\n return;\n }\n\n const currentIndex = this.colorButtons.indexOf(target as HTMLButtonElement);\n const totalColors = this.colorButtons.length;\n if (currentIndex < 0 || ![\"ArrowRight\", \"ArrowLeft\", \"ArrowDown\", \"ArrowUp\"].includes(event.key)) {\n return;\n }\n\n let newIndex = currentIndex;\n let attempts = 0;\n\n do {\n newIndex = this.getNextIndexByKey(newIndex, event.key, totalColors);\n attempts++;\n } while (attempts < totalColors && this.colorButtons[newIndex]?.disabled);\n\n if (\n newIndex !== currentIndex &&\n newIndex >= 0 &&\n newIndex < totalColors &&\n !this.colorButtons[newIndex]?.disabled\n ) {\n this.moveFocusTo(newIndex);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /**\n * When focus leaves the color picker (e.g. user tabs away), reset all buttons to non-tabbable and make the container tabbable again.\n */\n @Listen(\"blur\")\n handleBlur(event: FocusEvent): void {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!containsElement(this.host, relatedTarget)) {\n this.host.tabIndex = 0;\n this.colorButtons.forEach((btn) => (btn.tabIndex = -1));\n }\n }\n\n componentWillLoad(): void {\n this.colorKeysByRow = this.sortColorKeysByRow();\n }\n\n render(): HTMLZColorPickerElement {\n return (\n <Host\n role=\"listbox\"\n aria-label={this.htmlAriaLabel || LOCALES[this.lng][\"Select a color\"]}\n tabIndex={0}\n >\n {this.colorKeysByRow.map((colorKey: ColorPickerPalette) => (\n <button\n class=\"color-swatch\"\n data-color={colorKey}\n role=\"option\"\n aria-selected={this.selectedColor?.toUpperCase() === colorKey.toUpperCase() ? \"true\" : \"false\"}\n tabIndex={-1}\n onClick={() => (this.selectedColor = colorKey)}\n disabled={this.disableTransparent && colorKey === \"#FFFFFF00\"}\n >\n <div\n class=\"color-swatch\"\n role=\"img\"\n aria-roledescription={LOCALES[this.lng][\"Color swatch\"]}\n aria-label={ColorPickerPalette[colorKey][this.lng]}\n title={ColorPickerPalette[colorKey][this.lng]}\n style={{backgroundColor: colorKey}}\n ></div>\n </button>\n ))}\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ import { html } from "lit";
2
+ import { ColorPickerPalette } from "../../beans";
3
+ import "./index";
4
+ const StoryMeta = {
5
+ title: "ZColorPicker",
6
+ component: "z-color-picker",
7
+ argTypes: {
8
+ lng: {
9
+ control: { type: "inline-radio" },
10
+ options: ["it", "en"],
11
+ },
12
+ selectedColor: {
13
+ control: {
14
+ type: "select",
15
+ labels: Object.fromEntries(Object.entries(ColorPickerPalette).map(([color, label]) => [color, label.it])),
16
+ },
17
+ options: Object.keys(ColorPickerPalette),
18
+ },
19
+ },
20
+ args: {
21
+ lng: "it",
22
+ htmlAriaLabel: "Seleziona un colore",
23
+ selectedColor: undefined,
24
+ disableTransparent: false,
25
+ },
26
+ };
27
+ export default StoryMeta;
28
+ export const Default = {
29
+ render: (args) => html `<z-color-picker
30
+ .selectedColor=${args.selectedColor}
31
+ .disableTransparent=${args.disableTransparent}
32
+ ></z-color-picker>`,
33
+ };
34
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-color-picker/index.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,SAAS,CAAC;AAEjB,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,OAAO,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;YAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SACtB;QACD,aAAa,EAAE;YACb,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1G;YACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;SACzC;KACF;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,IAAI;QACT,aAAa,EAAE,qBAAqB;QACpC,aAAa,EAAE,SAAS;QACxB,kBAAkB,EAAE,KAAK;KAC1B;CAC2B,CAAC;AAE/B,eAAe,SAAS,CAAC;AAIzB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAA;uBACe,IAAI,CAAC,aAAa;4BACb,IAAI,CAAC,kBAAkB;uBAC5B;CACN,CAAC","sourcesContent":["import type {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {ZColorPicker} from \".\";\nimport {ColorPickerPalette} from \"../../beans\";\nimport \"./index\";\n\nconst StoryMeta = {\n title: \"ZColorPicker\",\n component: \"z-color-picker\",\n argTypes: {\n lng: {\n control: {type: \"inline-radio\"},\n options: [\"it\", \"en\"],\n },\n selectedColor: {\n control: {\n type: \"select\",\n labels: Object.fromEntries(Object.entries(ColorPickerPalette).map(([color, label]) => [color, label.it])),\n },\n options: Object.keys(ColorPickerPalette),\n },\n },\n args: {\n lng: \"it\",\n htmlAriaLabel: \"Seleziona un colore\",\n selectedColor: undefined,\n disableTransparent: false,\n },\n} satisfies Meta<ZColorPicker>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZColorPicker>;\n\nexport const Default = {\n render: (args) =>\n html`<z-color-picker\n .selectedColor=${args.selectedColor}\n .disableTransparent=${args.disableTransparent}\n ></z-color-picker>`,\n} satisfies Story;\n"]}
@@ -0,0 +1,74 @@
1
+ :host {
2
+ display: grid;
3
+ width: fit-content;
4
+ padding: calc(var(--space-unit) * 2);
5
+ background: var(--color-surface01);
6
+ gap: var(--space-unit);
7
+ grid-template-columns: repeat(9, calc(var(--space-unit) * 3));
8
+ grid-template-rows: repeat(5, calc(var(--space-unit) * 3));
9
+ }
10
+
11
+ :host,
12
+ * {
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ button {
17
+ --border-color: var(--color-surface05);
18
+
19
+ padding: 0;
20
+ border: none;
21
+ appearance: none;
22
+ background: none;
23
+ border-radius: var(--border-radius);
24
+ cursor: pointer;
25
+ }
26
+
27
+ button[data-color="#FFFFFF00"] {
28
+ position: relative;
29
+ }
30
+
31
+ /* draw a diagonal line from top right corner */
32
+ button[data-color="#FFFFFF00"]::after {
33
+ position: absolute;
34
+ top: 0;
35
+ right: 0;
36
+ width: 100%;
37
+ height: 100%;
38
+ background: linear-gradient(
39
+ -45deg,
40
+ transparent 48%,
41
+ var(--border-color) 48%,
42
+ var(--border-color) 52%,
43
+ transparent 52%
44
+ );
45
+ border-radius: var(--border-radius);
46
+ content: "";
47
+ }
48
+
49
+ button[aria-selected="true"] {
50
+ box-shadow:
51
+ 0 0 0 1px var(--color-white),
52
+ 0 0 0 3px var(--color-active-primary);
53
+ }
54
+
55
+ button:focus-visible {
56
+ box-shadow: var(--shadow-focus-primary);
57
+ }
58
+
59
+ button .color-swatch {
60
+ width: calc(var(--space-unit) * 3);
61
+ height: calc(var(--space-unit) * 3);
62
+ border: var(--border-size-small) solid var(--border-color);
63
+ border-radius: var(--border-radius);
64
+ }
65
+
66
+ button[data-color="#FFFFFF00"]:disabled {
67
+ --border-color: var(--color-disabled01-icon);
68
+
69
+ cursor: not-allowed;
70
+ }
71
+
72
+ button[data-color="#FFFFFF00"]:disabled .color-swatch {
73
+ background-color: var(--color-disabled02);
74
+ }
@@ -1,7 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  export class ZGhostLoading {
3
3
  render() {
4
- return h(Host, { key: 'b91e3e3bce067ebad27d70f6c1d209e98f045a8e' });
4
+ return h(Host, { key: '597d6715119bb24d4a8427f9cb3ebd3b5a20f5fc' });
5
5
  }
6
6
  static get is() { return "z-ghost-loading"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,9 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { ICONS } from "../../constants/iconset";
2
+ import { COLOR_INDICATOR_ICONS, ICONS } from "../../constants/iconset";
3
+ /**
4
+ * Component to render an SVG icon from the internal icon set, selected by `name`.
5
+ * This component automatically recognizes icons that have an indicator (e.g. `bg-color`, `font-color`, etc.), that can be filled with a custom color via the `indicatorColor` prop.
6
+ */
3
7
  export class ZIcon {
4
8
  constructor() {
5
9
  this.name = undefined;
@@ -7,15 +11,23 @@ export class ZIcon {
7
11
  this.width = undefined;
8
12
  this.iconid = undefined;
9
13
  this.fill = undefined;
14
+ this.indicatorColor = undefined;
10
15
  }
16
+ /**
17
+ * Selects either a `<path>` or `<polygon>` element based on the format of the icon data.
18
+ * @param iconValue The SVG path data or polygon points from the ICONS set.
19
+ */
11
20
  selectPathOrPolygon(iconValue) {
12
21
  if (iconValue === null || iconValue === void 0 ? void 0 : iconValue.startsWith("M")) {
13
- return h("path", { d: ICONS[this.name] });
22
+ return h("path", { d: iconValue });
14
23
  }
15
- return h("polygon", { points: ICONS[this.name] });
24
+ return h("polygon", { points: iconValue });
25
+ }
26
+ renderBaseIcon() {
27
+ return (h("svg", { id: this.iconid || undefined, fill: this.fill ? `var(--${this.fill})` : undefined, viewBox: "0 0 1000 1000", width: this.width, height: this.height }, this.selectPathOrPolygon(ICONS[this.name])));
16
28
  }
17
29
  render() {
18
- return (h(Host, { key: '427cac0797fc718938ee45da5999b8a2bf70e570', "aria-hidden": "true" }, h("svg", { key: '23275947c49b69095acbec1df2ecec0f04da3525', viewBox: "0 0 1000 1000", width: this.width, height: this.height, id: this.iconid, fill: this.fill ? `var(--${this.fill})` : "" }, this.selectPathOrPolygon(ICONS[this.name]))));
30
+ return (h(Host, { key: '8e6cee155a15fc1b19f9907a6f6155c8d607bfa4', "aria-hidden": "true" }, COLOR_INDICATOR_ICONS.includes(this.name) ? (h("div", { class: "icon-wrapper" }, h("svg", { class: "color-indicator", fill: this.indicatorColor || "#FFFFFF00", viewBox: "0 0 1000 1000", width: this.width, height: this.height }, this.selectPathOrPolygon(ICONS["picker-color"])), this.renderBaseIcon())) : (this.renderBaseIcon())));
19
31
  }
20
32
  static get is() { return "z-icon"; }
21
33
  static get encapsulation() { return "shadow"; }
@@ -43,7 +55,7 @@ export class ZIcon {
43
55
  "optional": false,
44
56
  "docs": {
45
57
  "tags": [],
46
- "text": "icon name"
58
+ "text": "Icon name"
47
59
  },
48
60
  "attribute": "name",
49
61
  "reflect": false
@@ -60,7 +72,7 @@ export class ZIcon {
60
72
  "optional": true,
61
73
  "docs": {
62
74
  "tags": [],
63
- "text": "icon height (optional)"
75
+ "text": "Icon height (optional)"
64
76
  },
65
77
  "attribute": "height",
66
78
  "reflect": false
@@ -77,7 +89,7 @@ export class ZIcon {
77
89
  "optional": true,
78
90
  "docs": {
79
91
  "tags": [],
80
- "text": "icon width (optional)"
92
+ "text": "Icon width (optional)"
81
93
  },
82
94
  "attribute": "width",
83
95
  "reflect": false
@@ -94,7 +106,7 @@ export class ZIcon {
94
106
  "optional": true,
95
107
  "docs": {
96
108
  "tags": [],
97
- "text": "icon id (optional)"
109
+ "text": "HTML `id` attribute (optional)"
98
110
  },
99
111
  "attribute": "iconid",
100
112
  "reflect": false
@@ -111,10 +123,27 @@ export class ZIcon {
111
123
  "optional": true,
112
124
  "docs": {
113
125
  "tags": [],
114
- "text": "icon fill (optional)"
126
+ "text": "Name of the CSS color token to use for the icon fill color (e.g. `blue500`)."
115
127
  },
116
128
  "attribute": "fill",
117
129
  "reflect": false
130
+ },
131
+ "indicatorColor": {
132
+ "type": "string",
133
+ "mutable": false,
134
+ "complexType": {
135
+ "original": "string",
136
+ "resolved": "string",
137
+ "references": {}
138
+ },
139
+ "required": false,
140
+ "optional": true,
141
+ "docs": {
142
+ "tags": [],
143
+ "text": "Color to use to fill the icon's color indicator, if it has one.\nCan be any valid value for the `fill` svg attribute.\nIf the icon passed through the `name` prop doesn't have a color indicator, this prop has no effect."
144
+ },
145
+ "attribute": "indicator-color",
146
+ "reflect": false
118
147
  }
119
148
  };
120
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAO9C,MAAM,OAAO,KAAK;;;;;;;;IAqBR,mBAAmB,CAAC,SAAiB;QAC3C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,YAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAS,CAAC;QAC5C,CAAC;QAED,OAAO,eAAS,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAY,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,oEAAa,MAAM;YACtB,4DACE,OAAO,EAAC,eAAe,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAE3C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, Host, Prop, h} from \"@stencil/core\";\nimport {ICONS} from \"../../constants/iconset\";\n\n@Component({\n tag: \"z-icon\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZIcon {\n /** icon name */\n @Prop()\n name: string;\n\n /** icon height (optional) */\n @Prop()\n height?: number | string;\n\n /** icon width (optional) */\n @Prop()\n width?: number | string;\n\n /** icon id (optional) */\n @Prop()\n iconid?: string;\n\n /** icon fill (optional) */\n @Prop()\n fill?: string;\n\n private selectPathOrPolygon(iconValue: string): SVGPathElement | SVGPolygonElement {\n if (iconValue?.startsWith(\"M\")) {\n return <path d={ICONS[this.name]}></path>;\n }\n\n return <polygon points={ICONS[this.name]}></polygon>;\n }\n\n render(): SVGElement {\n return (\n <Host aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n id={this.iconid}\n fill={this.fill ? `var(--${this.fill})` : \"\"}\n >\n {this.selectPathOrPolygon(ICONS[this.name])}\n </svg>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAE,KAAK,EAAC,MAAM,yBAAyB,CAAC;AAErE;;;GAGG;AAMH,MAAM,OAAO,KAAK;;;;;;;;;IA6BhB;;;OAGG;IACK,mBAAmB,CAAC,SAAiB;QAC3C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,YAAM,CAAC,EAAE,SAAS,GAAS,CAAC;QACrC,CAAC;QAED,OAAO,eAAS,MAAM,EAAE,SAAS,GAAY,CAAC;IAChD,CAAC;IAEO,cAAc;QACpB,OAAO,CACL,WACE,EAAE,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,EACnD,OAAO,EAAC,eAAe,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAElB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvC,CACP,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,oEAAa,MAAM,IACrB,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC3C,WAAK,KAAK,EAAC,cAAc;YACvB,WACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,IAAI,CAAC,cAAc,IAAI,WAAW,EACxC,OAAO,EAAC,eAAe,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAElB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAC5C;YAEL,IAAI,CAAC,cAAc,EAAE,CAClB,CACP,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,cAAc,EAAE,CACtB,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {Component, Host, Prop, h} from \"@stencil/core\";\nimport {COLOR_INDICATOR_ICONS, ICONS} from \"../../constants/iconset\";\n\n/**\n * Component to render an SVG icon from the internal icon set, selected by `name`.\n * This component automatically recognizes icons that have an indicator (e.g. `bg-color`, `font-color`, etc.), that can be filled with a custom color via the `indicatorColor` prop.\n */\n@Component({\n tag: \"z-icon\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZIcon {\n /** Icon name */\n @Prop()\n name: string;\n\n /** Icon height (optional) */\n @Prop()\n height?: number | string;\n\n /** Icon width (optional) */\n @Prop()\n width?: number | string;\n\n /** HTML `id` attribute (optional) */\n @Prop()\n iconid?: string;\n\n /** Name of the CSS color token to use for the icon fill color (e.g. `blue500`). */\n @Prop()\n fill?: string;\n\n /**\n * Color to use to fill the icon's color indicator, if it has one.\n * Can be any valid value for the `fill` svg attribute.\n * If the icon passed through the `name` prop doesn't have a color indicator, this prop has no effect.\n */\n @Prop()\n indicatorColor?: string;\n\n /**\n * Selects either a `<path>` or `<polygon>` element based on the format of the icon data.\n * @param iconValue The SVG path data or polygon points from the ICONS set.\n */\n private selectPathOrPolygon(iconValue: string): SVGPathElement | SVGPolygonElement {\n if (iconValue?.startsWith(\"M\")) {\n return <path d={iconValue}></path>;\n }\n\n return <polygon points={iconValue}></polygon>;\n }\n\n private renderBaseIcon(): SVGElement {\n return (\n <svg\n id={this.iconid || undefined}\n fill={this.fill ? `var(--${this.fill})` : undefined}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n >\n {this.selectPathOrPolygon(ICONS[this.name])}\n </svg>\n );\n }\n\n render(): HTMLZIconElement {\n return (\n <Host aria-hidden=\"true\">\n {COLOR_INDICATOR_ICONS.includes(this.name) ? (\n <div class=\"icon-wrapper\">\n <svg\n class=\"color-indicator\"\n fill={this.indicatorColor || \"#FFFFFF00\"}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n >\n {this.selectPathOrPolygon(ICONS[\"picker-color\"])}\n </svg>\n\n {this.renderBaseIcon()}\n </div>\n ) : (\n this.renderBaseIcon()\n )}\n </Host>\n );\n }\n}\n"]}