@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
@@ -1,35 +1,43 @@
1
1
  import { html } from "lit";
2
2
  import { PopoverPosition } from "../../beans";
3
+ import { ICONS } from "../../constants/iconset";
4
+ import "../z-color-picker/index";
3
5
  import "./index";
4
6
  import "./index.stories.css";
5
7
  const StoryMeta = {
6
8
  title: "ZTool",
7
9
  component: "z-tool",
8
- args: {
9
- icon: "gear",
10
- tooltip: "Impostazioni",
11
- tooltipPosition: PopoverPosition.TOP,
12
- htmlAriaLabel: "Impostazioni",
13
- active: false,
14
- disabled: false,
15
- },
16
10
  argTypes: {
17
11
  tooltipPosition: {
18
12
  options: Object.values(PopoverPosition),
19
13
  control: { type: "select" },
20
14
  },
15
+ indicatorColor: {
16
+ control: "color",
17
+ },
18
+ icon: {
19
+ options: Object.keys(ICONS),
20
+ control: { type: "select" },
21
+ },
22
+ },
23
+ args: {
24
+ active: false,
25
+ disabled: false,
26
+ htmlAriaLabel: "Impostazioni",
27
+ icon: "gear",
28
+ indicatorColor: "",
29
+ tooltip: "Impostazioni",
30
+ tooltipPosition: PopoverPosition.TOP,
21
31
  },
22
32
  };
23
33
  export default StoryMeta;
24
34
  export const Default = {
25
- args: {
26
- tooltipPosition: PopoverPosition.RIGHT,
27
- },
28
35
  render: (args) => html `<div class="tool-container">
29
36
  <z-tool
30
37
  icon=${args.icon}
31
38
  tooltip=${args.tooltip}
32
39
  tooltip-position=${args.tooltipPosition}
40
+ .indicatorColor=${args.indicatorColor}
33
41
  html-aria-label=${args.htmlAriaLabel}
34
42
  ?active=${args.active}
35
43
  ?disabled=${args.disabled}
@@ -39,13 +47,13 @@ export const Default = {
39
47
  export const Active = {
40
48
  args: {
41
49
  active: true,
42
- tooltipPosition: PopoverPosition.RIGHT,
43
50
  },
44
51
  render: (args) => html `<div class="tool-container">
45
52
  <z-tool
46
53
  icon=${args.icon}
47
54
  tooltip=${args.tooltip}
48
55
  tooltip-position=${args.tooltipPosition}
56
+ .indicatorColor=${args.indicatorColor}
49
57
  html-aria-label=${args.htmlAriaLabel}
50
58
  ?active=${args.active}
51
59
  ?disabled=${args.disabled}
@@ -61,10 +69,79 @@ export const Disabled = {
61
69
  icon=${args.icon}
62
70
  tooltip=${args.tooltip}
63
71
  tooltip-position=${args.tooltipPosition}
72
+ .indicatorColor=${args.indicatorColor}
73
+ html-aria-label=${args.htmlAriaLabel}
74
+ ?active=${args.active}
75
+ ?disabled=${args.disabled}
76
+ ></z-tool>
77
+ </div>`,
78
+ };
79
+ export const WithToolbar = {
80
+ render: (args) => html `<div class="tool-container">
81
+ <z-tool
82
+ icon=${args.icon}
83
+ tooltip=${args.tooltip}
84
+ tooltip-position=${args.tooltipPosition}
85
+ .indicatorColor=${args.indicatorColor}
64
86
  html-aria-label=${args.htmlAriaLabel}
65
87
  ?active=${args.active}
66
88
  ?disabled=${args.disabled}
89
+ >
90
+ <z-toolbar html-aria-label=${args.htmlAriaLabel}>
91
+ <z-tool
92
+ icon="gear"
93
+ tooltip="Impostazioni"
94
+ ></z-tool>
95
+ <z-tool
96
+ icon="chevron-up"
97
+ tooltip="Su"
98
+ ></z-tool>
99
+ <z-tool
100
+ icon="chevron-down"
101
+ tooltip="Giù"
102
+ ></z-tool>
103
+ <z-divider orientation="vertical"></z-divider>
104
+ <z-tool
105
+ icon="download"
106
+ tooltip="Scarica"
107
+ ></z-tool>
108
+ <z-tool
109
+ icon="upload"
110
+ tooltip="Carica"
111
+ ></z-tool>
112
+ <z-tool
113
+ icon="copy"
114
+ tooltip="Copia"
115
+ ></z-tool> </z-toolbar
67
116
  ></z-tool>
68
117
  </div>`,
69
118
  };
119
+ export const ColorPicker = {
120
+ args: {
121
+ icon: "bg-color",
122
+ indicatorColor: "#ff0000",
123
+ tooltip: "Colore di sfondo",
124
+ },
125
+ parameters: {
126
+ docs: {
127
+ story: {
128
+ inline: false,
129
+ height: "300px",
130
+ },
131
+ },
132
+ },
133
+ render: (args) => html `<div class="tool-container">
134
+ <z-tool
135
+ icon=${args.icon}
136
+ tooltip=${args.tooltip}
137
+ tooltip-position=${args.tooltipPosition}
138
+ .indicatorColor=${args.indicatorColor}
139
+ html-aria-label=${args.htmlAriaLabel}
140
+ ?active=${args.active}
141
+ ?disabled=${args.disabled}
142
+ >
143
+ <z-color-picker></z-color-picker>
144
+ </z-tool>
145
+ </div>`,
146
+ };
70
147
  //# sourceMappingURL=index.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-tool/index.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,SAAS,CAAC;AACjB,OAAO,qBAAqB,CAAC;AAE7B,MAAM,SAAS,GAAG;IAChB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,QAAQ;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,cAAc;QACvB,eAAe,EAAE,eAAe,CAAC,GAAG;QACpC,aAAa,EAAE,cAAc;QAC7B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;KAChB;IACD,QAAQ,EAAE;QACR,eAAe,EAAE;YACf,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;YACvC,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SAC1B;KACF;CACoB,CAAC;AAExB,eAAe,SAAS,CAAC;AAIzB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE;QACJ,eAAe,EAAE,eAAe,CAAC,KAAK;KACvC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAA;;eAEO,IAAI,CAAC,IAAI;kBACN,IAAI,CAAC,OAAO;2BACH,IAAI,CAAC,eAAe;0BACrB,IAAI,CAAC,aAAa;kBAC1B,IAAI,CAAC,MAAM;oBACT,IAAI,CAAC,QAAQ;;WAEtB;CACM,CAAC;AAElB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,eAAe,CAAC,KAAK;KACvC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAA;;eAEO,IAAI,CAAC,IAAI;kBACN,IAAI,CAAC,OAAO;2BACH,IAAI,CAAC,eAAe;0BACrB,IAAI,CAAC,aAAa;kBAC1B,IAAI,CAAC,MAAM;oBACT,IAAI,CAAC,QAAQ;;WAEtB;CACM,CAAC;AAElB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAA;;eAEO,IAAI,CAAC,IAAI;kBACN,IAAI,CAAC,OAAO;2BACH,IAAI,CAAC,eAAe;0BACrB,IAAI,CAAC,aAAa;kBAC1B,IAAI,CAAC,MAAM;oBACT,IAAI,CAAC,QAAQ;;WAEtB;CACM,CAAC","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZTool} from \".\";\nimport {PopoverPosition} from \"../../beans\";\nimport \"./index\";\nimport \"./index.stories.css\";\n\nconst StoryMeta = {\n title: \"ZTool\",\n component: \"z-tool\",\n args: {\n icon: \"gear\",\n tooltip: \"Impostazioni\",\n tooltipPosition: PopoverPosition.TOP,\n htmlAriaLabel: \"Impostazioni\",\n active: false,\n disabled: false,\n },\n argTypes: {\n tooltipPosition: {\n options: Object.values(PopoverPosition),\n control: {type: \"select\"},\n },\n },\n} satisfies Meta<ZTool>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZTool>;\n\nexport const Default = {\n args: {\n tooltipPosition: PopoverPosition.RIGHT,\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const Active = {\n args: {\n active: true,\n tooltipPosition: PopoverPosition.RIGHT,\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const Disabled = {\n args: {\n disabled: true,\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n"]}
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-tool/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZTool} from \".\";\nimport {PopoverPosition} from \"../../beans\";\nimport {ICONS} from \"../../constants/iconset\";\nimport \"../z-color-picker/index\";\nimport \"./index\";\nimport \"./index.stories.css\";\n\nconst StoryMeta = {\n title: \"ZTool\",\n component: \"z-tool\",\n argTypes: {\n tooltipPosition: {\n options: Object.values(PopoverPosition),\n control: {type: \"select\"},\n },\n indicatorColor: {\n control: \"color\",\n },\n icon: {\n options: Object.keys(ICONS),\n control: {type: \"select\"},\n },\n },\n args: {\n active: false,\n disabled: false,\n htmlAriaLabel: \"Impostazioni\",\n icon: \"gear\",\n indicatorColor: \"\",\n tooltip: \"Impostazioni\",\n tooltipPosition: PopoverPosition.TOP,\n },\n} satisfies Meta<ZTool>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZTool>;\n\nexport const Default = {\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n .indicatorColor=${args.indicatorColor}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const Active = {\n args: {\n active: true,\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n .indicatorColor=${args.indicatorColor}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const Disabled = {\n args: {\n disabled: true,\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n .indicatorColor=${args.indicatorColor}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const WithToolbar = {\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n .indicatorColor=${args.indicatorColor}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n >\n <z-toolbar html-aria-label=${args.htmlAriaLabel}>\n <z-tool\n icon=\"gear\"\n tooltip=\"Impostazioni\"\n ></z-tool>\n <z-tool\n icon=\"chevron-up\"\n tooltip=\"Su\"\n ></z-tool>\n <z-tool\n icon=\"chevron-down\"\n tooltip=\"Giù\"\n ></z-tool>\n <z-divider orientation=\"vertical\"></z-divider>\n <z-tool\n icon=\"download\"\n tooltip=\"Scarica\"\n ></z-tool>\n <z-tool\n icon=\"upload\"\n tooltip=\"Carica\"\n ></z-tool>\n <z-tool\n icon=\"copy\"\n tooltip=\"Copia\"\n ></z-tool> </z-toolbar\n ></z-tool>\n </div>`,\n} satisfies Story;\n\nexport const ColorPicker = {\n args: {\n icon: \"bg-color\",\n indicatorColor: \"#ff0000\",\n tooltip: \"Colore di sfondo\",\n },\n parameters: {\n docs: {\n story: {\n inline: false,\n height: \"300px\",\n },\n },\n },\n render: (args) =>\n html`<div class=\"tool-container\">\n <z-tool\n icon=${args.icon}\n tooltip=${args.tooltip}\n tooltip-position=${args.tooltipPosition}\n .indicatorColor=${args.indicatorColor}\n html-aria-label=${args.htmlAriaLabel}\n ?active=${args.active}\n ?disabled=${args.disabled}\n >\n <z-color-picker></z-color-picker>\n </z-tool>\n </div>`,\n} satisfies Story;\n"]}
@@ -7,6 +7,7 @@
7
7
  --z-tool-size: calc(var(--space-unit) * 5.5);
8
8
  --z-tool-icon-size: calc(var(--space-unit) * 2.5);
9
9
 
10
+ position: relative;
10
11
  display: inline-flex;
11
12
  width: var(--z-tool-size);
12
13
  height: var(--z-tool-size);
@@ -20,27 +21,28 @@
20
21
  cursor: pointer;
21
22
  }
22
23
 
23
- :host([active]) .z-tool {
24
+ :host(:is([active], [open])) .z-tool {
24
25
  box-shadow: inset 0 0 0 2px var(--color-primary01);
25
26
  }
26
27
 
27
28
  :host([open]) .z-tool {
28
- box-shadow: inset 0 0 0 2px var(--color-primary01);
29
+ background: var(--color-primary03);
29
30
  }
30
31
 
31
32
  @media (hover: hover) {
33
+ :host(:hover),
34
+ :host(.z-tool-tooltip-open) {
35
+ /* ensure any open tooltip is shown over sibling elements */
36
+ z-index: 1;
37
+ }
38
+
32
39
  :host(:not([disabled])) .z-tool:hover {
33
40
  background-color: var(--color-primary03);
34
41
  }
35
42
  }
36
43
 
37
- :host([disabled]) .z-tool {
38
- color: var(--color-disabled01-icon);
39
- cursor: not-allowed;
40
- }
41
-
42
- .z-tool:focus-visible {
43
- box-shadow: inset 0 0 0 2px var(--color-primary01);
44
+ .z-tool:focus:focus-visible {
45
+ background-color: var(--color-primary03);
44
46
  outline: none;
45
47
  }
46
48
 
@@ -52,40 +54,37 @@ z-icon {
52
54
  fill: var(--color-default-icon);
53
55
  }
54
56
 
57
+ :host([disabled]) .z-tool {
58
+ color: var(--color-disabled01-icon);
59
+ cursor: not-allowed;
60
+ }
61
+
55
62
  :host([disabled]) z-icon {
56
63
  fill: var(--color-disabled01-icon);
57
64
  }
58
65
 
59
66
  .z-tool-tooltip {
60
- --z-popover-padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);
61
- --z-popover-theme--surface: var(--color-surface05);
62
- --z-popover-theme--text: var(--color-text-inverse);
63
- --z-popover-shadow-filter: drop-shadow(0 4px 8px var(--shadow-color-base));
67
+ --z-tooltip-padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);
68
+ --z-tooltip-shadow-filter: drop-shadow(0 4px 8px var(--shadow-color-base));
64
69
 
70
+ position: relative;
65
71
  z-index: 2;
66
72
  font-family: var(--font-family-sans);
73
+ white-space: nowrap;
67
74
  }
68
75
 
69
- @media (max-width: 767px) {
70
- .z-tool-tooltip {
71
- display: none !important;
72
- }
73
- }
74
-
75
- :host {
76
- position: var(--z-tool-host-position, relative);
76
+ .z-tool-submenu {
77
+ z-index: 3;
78
+ border-radius: calc(var(--border-radius) + var(--border-size-small));
77
79
  }
78
80
 
79
- .z-tool-submenu {
80
- position: var(--z-tool-submenu-position, absolute);
81
- z-index: 1;
82
- top: var(--z-tool-submenu-top, calc(100% + 4px));
83
- bottom: var(--z-tool-submenu-bottom, auto);
84
- left: var(--z-tool-submenu-left, 50%);
85
- display: none;
86
- transform: var(--z-tool-submenu-transform, translateX(-50%));
81
+ .z-tool-submenu ::slotted(z-color-picker) {
82
+ border: var(--border-size-small) solid var(--color-surface03);
83
+ border-radius: var(--border-radius);
87
84
  }
88
85
 
89
- .z-tool-submenu-open {
90
- display: block;
86
+ @media (max-width: 767px) and (hover: none) {
87
+ .z-tool-tooltip {
88
+ display: none !important;
89
+ }
91
90
  }
@@ -1,10 +1,12 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { KeyboardCode } from "../../beans";
3
3
  /**
4
- * ZToolbar component.
4
+ * ZToolbar component. This component mainly serves as a container for `z-tool` elements, but can also be nested inside a `z-tool` to create submenus.
5
5
  * Implements WCAG toolbar pattern with roving tabindex keyboard navigation.
6
6
  * Tools can be visually grouped using `z-divider` elements as separators.
7
7
  * @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/
8
+ *
9
+ * @cssprop --z-toolbar-columns - Number of items per row in the toolbar. Only applies on mobile viewport, when the toolbar can be displayed in a multi-row layout. Default: `6`.
8
10
  */
9
11
  export class ZToolbar {
10
12
  constructor() {
@@ -16,42 +18,40 @@ export class ZToolbar {
16
18
  componentDidLoad() {
17
19
  this.collectToolItems();
18
20
  this.updateTabIndexes();
19
- //set css variable --z-toolbar-columns based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows
20
- let colBreakpoint = parseInt(getComputedStyle(this.hostElement).getPropertyValue("--z-toolbar-columns") || "8");
21
- colBreakpoint = this.toolItems.length <= colBreakpoint ? this.toolItems.length : colBreakpoint;
22
- this.hostElement.style.setProperty("--z-toolbar-columns", colBreakpoint.toString());
21
+ // set css variable `--z-toolbar-columns` based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows
22
+ let mobileColumnCount = parseInt(getComputedStyle(this.hostElement).getPropertyValue("--z-toolbar-columns") || "6");
23
+ mobileColumnCount = this.toolItems.length <= mobileColumnCount ? this.toolItems.length : mobileColumnCount;
24
+ this.hostElement.style.setProperty("--z-toolbar-columns", mobileColumnCount.toString());
23
25
  }
24
- /** Collect all z-tool elements in the toolbar (not nested ones). */
26
+ /** Collect first level children `z-tool` elements in the toolbar (not nested ones). */
25
27
  collectToolItems() {
26
28
  this.toolItems = Array.from(this.hostElement.querySelectorAll("z-tool:not(:scope z-tool z-tool)"));
27
29
  }
30
+ /**
31
+ * Update the `tabindex` of all children tools based on the current focus index,
32
+ * so that only the currently focusable tool is in the tab order (tabindex="0") and all others are not focusable via keyboard (tabindex="-1").
33
+ */
28
34
  updateTabIndexes() {
29
35
  this.toolItems.forEach((tool, index) => {
30
- var _a;
31
- const button = (_a = tool.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("button");
32
- if (button) {
33
- button.tabIndex = index === this.currentFocusIndex ? 0 : -1;
34
- }
36
+ tool.setTabIndex(index === this.currentFocusIndex ? 0 : -1);
35
37
  });
36
38
  }
37
39
  focusToolAt(index, fallback = "next") {
38
- var _a;
39
40
  const tool = this.toolItems[index];
40
- if (tool) {
41
- const button = (_a = tool.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("button");
42
- this.currentFocusIndex = index;
43
- if (button.disabled || !button) {
44
- if (fallback === "next") {
45
- this.focusNextTool();
46
- }
47
- else {
48
- this.focusPreviousTool();
49
- }
50
- }
51
- else if (button) {
52
- button.focus();
53
- this.updateTabIndexes();
54
- }
41
+ if (!tool) {
42
+ return;
43
+ }
44
+ this.currentFocusIndex = index;
45
+ if (!tool.disabled) {
46
+ tool.setFocus();
47
+ this.updateTabIndexes();
48
+ return;
49
+ }
50
+ if (fallback === "next") {
51
+ this.focusNextTool();
52
+ }
53
+ else {
54
+ this.focusPreviousTool();
55
55
  }
56
56
  }
57
57
  focusNextTool() {
@@ -62,40 +62,43 @@ export class ZToolbar {
62
62
  const prevIndex = (this.currentFocusIndex - 1 + this.toolItems.length) % this.toolItems.length;
63
63
  this.focusToolAt(prevIndex, "previous");
64
64
  }
65
- focusParentTool(event) {
66
- var _a;
67
- const parentTool = this.hostElement.closest("z-tool");
68
- if (parentTool) {
69
- event.preventDefault();
70
- event.stopPropagation();
71
- parentTool.open = false;
72
- const parentButton = (_a = parentTool.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("button");
73
- if (parentButton) {
74
- parentButton.focus();
75
- }
65
+ /**
66
+ * Listen for custom "toggleSubmenu" events from child tools and close sibling submenus when one is opened,
67
+ * to prevent multiple submenus from being open at the same time.
68
+ */
69
+ closeSiblingSubmenusOnOpen(event) {
70
+ if (event.detail !== true) {
71
+ return;
76
72
  }
77
- }
78
- /** Close all open submenus in the toolbar. */
79
- async closeSubmenus() {
80
- const tools = this.hostElement.querySelectorAll(":scope > z-tool");
81
- tools.forEach((tool) => {
82
- if (tool.open) {
73
+ const targetTool = event.target.closest("z-tool");
74
+ if (!targetTool || !this.toolItems.includes(targetTool)) {
75
+ return;
76
+ }
77
+ this.toolItems.forEach((tool) => {
78
+ if (tool !== targetTool && tool.open) {
83
79
  tool.open = false;
84
80
  }
85
81
  });
86
82
  }
87
- closeSibilingSubmenusOnOpen(event) {
88
- if (event.detail === true) {
89
- const tools = this.hostElement.querySelectorAll(":scope > z-tool");
90
- tools.forEach((tool) => {
91
- if (tool !== event.target.closest("z-tool") && tool.open) {
92
- tool.open = false;
93
- }
94
- });
83
+ /**
84
+ * Listen for custom "toggleTooltip" events from child tools and close sibling tooltips when one is opened,
85
+ * to prevent multiple tooltips from being open at the same time.
86
+ */
87
+ closeSiblingTooltipsOnOpen(event) {
88
+ if (event.detail !== true) {
89
+ return;
90
+ }
91
+ const targetTool = event.target;
92
+ if (!this.toolItems.includes(targetTool)) {
93
+ return;
95
94
  }
95
+ this.toolItems.forEach((tool) => {
96
+ if (tool !== targetTool) {
97
+ tool.closeTooltip();
98
+ }
99
+ });
96
100
  }
97
101
  handleKeyDown(event) {
98
- this.collectToolItems();
99
102
  const target = event.target;
100
103
  const toolElement = target.closest("z-tool");
101
104
  if (!toolElement || !this.toolItems.includes(toolElement)) {
@@ -114,26 +117,23 @@ export class ZToolbar {
114
117
  event.preventDefault();
115
118
  this.focusPreviousTool();
116
119
  break;
117
- case KeyboardCode.ESC:
118
- case KeyboardCode.TAB:
119
- this.focusParentTool(event);
120
- break;
121
120
  }
122
121
  }
122
+ /**
123
+ * When focus enters the toolbar, update the current focus index to match the focused tool,
124
+ * so that roving tabindex is in sync with actual focus.
125
+ */
123
126
  handleFocusIn(event) {
124
- // When focus enters the toolbar, update the current focus index
125
127
  const target = event.target;
126
128
  const toolElement = target.closest("z-tool");
127
- if (toolElement && this.toolItems.includes(toolElement)) {
128
- const index = this.toolItems.indexOf(toolElement);
129
- if (index !== -1 && index !== this.currentFocusIndex) {
130
- this.currentFocusIndex = index;
131
- this.updateTabIndexes();
132
- }
129
+ const index = this.toolItems.indexOf(toolElement);
130
+ if (index !== -1 && index !== this.currentFocusIndex) {
131
+ this.currentFocusIndex = index;
132
+ this.updateTabIndexes();
133
133
  }
134
134
  }
135
135
  render() {
136
- return (h(Host, { key: 'b03b77a808c6e0c1724e6765210e83bad3a7c4dc', role: "toolbar", "aria-label": this.htmlAriaLabel }, h("slot", { key: '448035bb2842a93ed4e0bb433d1e506007b93519', onSlotchange: () => {
136
+ return (h(Host, { key: 'dc26c2f0e3a48566e671476dce7241e326cacac8', role: "toolbar", "aria-label": this.htmlAriaLabel }, h("slot", { key: 'ff7b8ae41331be87db8f71ff0cbaf4882a7d684d', onSlotchange: () => {
137
137
  this.collectToolItems();
138
138
  this.updateTabIndexes();
139
139
  } })));
@@ -176,36 +176,17 @@ export class ZToolbar {
176
176
  "currentFocusIndex": {}
177
177
  };
178
178
  }
179
- static get methods() {
180
- return {
181
- "closeSubmenus": {
182
- "complexType": {
183
- "signature": "() => Promise<void>",
184
- "parameters": [],
185
- "references": {
186
- "Promise": {
187
- "location": "global",
188
- "id": "global::Promise"
189
- },
190
- "HTMLZToolElement": {
191
- "location": "global",
192
- "id": "global::HTMLZToolElement"
193
- }
194
- },
195
- "return": "Promise<void>"
196
- },
197
- "docs": {
198
- "text": "Close all open submenus in the toolbar.",
199
- "tags": []
200
- }
201
- }
202
- };
203
- }
204
179
  static get elementRef() { return "hostElement"; }
205
180
  static get listeners() {
206
181
  return [{
207
182
  "name": "toggleSubmenu",
208
- "method": "closeSibilingSubmenusOnOpen",
183
+ "method": "closeSiblingSubmenusOnOpen",
184
+ "target": undefined,
185
+ "capture": false,
186
+ "passive": false
187
+ }, {
188
+ "name": "toggleTooltip",
189
+ "method": "closeSiblingTooltipsOnOpen",
209
190
  "target": undefined,
210
191
  "capture": false,
211
192
  "passive": false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Host, Listen, Method, Prop, State, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * ZToolbar component.\n * Implements WCAG toolbar pattern with roving tabindex keyboard navigation.\n * Tools can be visually grouped using `z-divider` elements as separators.\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@Component({\n tag: \"z-toolbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToolbar {\n @Element() hostElement: HTMLZToolbarElement;\n\n /** Accessible label for the toolbar. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Index of the currently focusable item (roving tabindex). */\n @State()\n currentFocusIndex = 0;\n\n /** List of focusable tool elements. */\n private toolItems: HTMLZToolElement[] = [];\n\n componentDidLoad(): void {\n this.collectToolItems();\n this.updateTabIndexes();\n //set css variable --z-toolbar-columns based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows\n let colBreakpoint = parseInt(getComputedStyle(this.hostElement).getPropertyValue(\"--z-toolbar-columns\") || \"8\");\n colBreakpoint = this.toolItems.length <= colBreakpoint ? this.toolItems.length : colBreakpoint;\n this.hostElement.style.setProperty(\"--z-toolbar-columns\", colBreakpoint.toString());\n }\n\n /** Collect all z-tool elements in the toolbar (not nested ones). */\n private collectToolItems(): void {\n this.toolItems = Array.from(this.hostElement.querySelectorAll(\"z-tool:not(:scope z-tool z-tool)\"));\n }\n\n private updateTabIndexes(): void {\n this.toolItems.forEach((tool, index) => {\n const button = tool.shadowRoot?.querySelector(\"button\");\n if (button) {\n button.tabIndex = index === this.currentFocusIndex ? 0 : -1;\n }\n });\n }\n\n private focusToolAt(index: number, fallback: \"previous\" | \"next\" = \"next\"): void {\n const tool = this.toolItems[index];\n if (tool) {\n const button = tool.shadowRoot?.querySelector(\"button\");\n this.currentFocusIndex = index;\n if (button.disabled || !button) {\n if (fallback === \"next\") {\n this.focusNextTool();\n } else {\n this.focusPreviousTool();\n }\n } else if (button) {\n button.focus();\n this.updateTabIndexes();\n }\n }\n }\n\n private focusNextTool(): void {\n const nextIndex = (this.currentFocusIndex + 1) % this.toolItems.length;\n this.focusToolAt(nextIndex);\n }\n\n private focusPreviousTool(): void {\n const prevIndex = (this.currentFocusIndex - 1 + this.toolItems.length) % this.toolItems.length;\n this.focusToolAt(prevIndex, \"previous\");\n }\n\n private focusParentTool(event: KeyboardEvent): void {\n const parentTool = this.hostElement.closest(\"z-tool\") as HTMLZToolElement;\n if (parentTool) {\n event.preventDefault();\n event.stopPropagation();\n parentTool.open = false;\n const parentButton = parentTool.shadowRoot?.querySelector(\"button\");\n if (parentButton) {\n parentButton.focus();\n }\n }\n }\n\n /** Close all open submenus in the toolbar. */\n @Method()\n async closeSubmenus(): Promise<void> {\n const tools = this.hostElement.querySelectorAll<HTMLZToolElement>(\":scope > z-tool\");\n tools.forEach((tool) => {\n if (tool.open) {\n tool.open = false;\n }\n });\n }\n\n @Listen(\"toggleSubmenu\")\n closeSibilingSubmenusOnOpen(event: CustomEvent): void {\n if (event.detail === true) {\n const tools = this.hostElement.querySelectorAll<HTMLZToolElement>(\":scope > z-tool\");\n tools.forEach((tool) => {\n if (tool !== (event.target as HTMLElement).closest(\"z-tool\") && tool.open) {\n tool.open = false;\n }\n });\n }\n }\n\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n this.collectToolItems();\n\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n\n if (!toolElement || !this.toolItems.includes(toolElement)) {\n return;\n }\n\n const focusedIndex = this.toolItems.indexOf(toolElement);\n if (focusedIndex !== -1) {\n this.currentFocusIndex = focusedIndex;\n }\n\n switch (event.key) {\n case KeyboardCode.ARROW_RIGHT:\n event.preventDefault();\n this.focusNextTool();\n break;\n case KeyboardCode.ARROW_LEFT:\n event.preventDefault();\n this.focusPreviousTool();\n break;\n case KeyboardCode.ESC:\n case KeyboardCode.TAB:\n this.focusParentTool(event);\n break;\n }\n }\n\n @Listen(\"focusin\")\n handleFocusIn(event: FocusEvent): void {\n // When focus enters the toolbar, update the current focus index\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n\n if (toolElement && this.toolItems.includes(toolElement)) {\n const index = this.toolItems.indexOf(toolElement);\n if (index !== -1 && index !== this.currentFocusIndex) {\n this.currentFocusIndex = index;\n this.updateTabIndexes();\n }\n }\n }\n\n render(): HTMLZToolbarElement {\n return (\n <Host\n role=\"toolbar\"\n aria-label={this.htmlAriaLabel}\n >\n <slot\n onSlotchange={() => {\n this.collectToolItems();\n this.updateTabIndexes();\n }}\n ></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\nimport {ZToolCustomEvent} from \"../../components\";\n\n/**\n * ZToolbar component. This component mainly serves as a container for `z-tool` elements, but can also be nested inside a `z-tool` to create submenus.\n * Implements WCAG toolbar pattern with roving tabindex keyboard navigation.\n * Tools can be visually grouped using `z-divider` elements as separators.\n * @see https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n *\n * @cssprop --z-toolbar-columns - Number of items per row in the toolbar. Only applies on mobile viewport, when the toolbar can be displayed in a multi-row layout. Default: `6`.\n */\n@Component({\n tag: \"z-toolbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToolbar {\n @Element() hostElement: HTMLZToolbarElement;\n\n /** Accessible label for the toolbar. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** Index of the currently focusable item (roving tabindex). */\n @State()\n currentFocusIndex = 0;\n\n /** List of focusable tool elements. */\n private toolItems: HTMLZToolElement[] = [];\n\n componentDidLoad(): void {\n this.collectToolItems();\n this.updateTabIndexes();\n // set css variable `--z-toolbar-columns` based on the number of tools in the toolbar, so that the background pattern can adapt to the number of rows\n let mobileColumnCount = parseInt(getComputedStyle(this.hostElement).getPropertyValue(\"--z-toolbar-columns\") || \"6\");\n mobileColumnCount = this.toolItems.length <= mobileColumnCount ? this.toolItems.length : mobileColumnCount;\n this.hostElement.style.setProperty(\"--z-toolbar-columns\", mobileColumnCount.toString());\n }\n\n /** Collect first level children `z-tool` elements in the toolbar (not nested ones). */\n private collectToolItems(): void {\n this.toolItems = Array.from(this.hostElement.querySelectorAll(\"z-tool:not(:scope z-tool z-tool)\"));\n }\n\n /**\n * Update the `tabindex` of all children tools based on the current focus index,\n * so that only the currently focusable tool is in the tab order (tabindex=\"0\") and all others are not focusable via keyboard (tabindex=\"-1\").\n */\n private updateTabIndexes(): void {\n this.toolItems.forEach((tool, index) => {\n tool.setTabIndex(index === this.currentFocusIndex ? 0 : -1);\n });\n }\n\n private focusToolAt(index: number, fallback: \"previous\" | \"next\" = \"next\"): void {\n const tool = this.toolItems[index];\n if (!tool) {\n return;\n }\n\n this.currentFocusIndex = index;\n if (!tool.disabled) {\n tool.setFocus();\n this.updateTabIndexes();\n\n return;\n }\n\n if (fallback === \"next\") {\n this.focusNextTool();\n } else {\n this.focusPreviousTool();\n }\n }\n\n private focusNextTool(): void {\n const nextIndex = (this.currentFocusIndex + 1) % this.toolItems.length;\n this.focusToolAt(nextIndex);\n }\n\n private focusPreviousTool(): void {\n const prevIndex = (this.currentFocusIndex - 1 + this.toolItems.length) % this.toolItems.length;\n this.focusToolAt(prevIndex, \"previous\");\n }\n\n /**\n * Listen for custom \"toggleSubmenu\" events from child tools and close sibling submenus when one is opened,\n * to prevent multiple submenus from being open at the same time.\n */\n @Listen(\"toggleSubmenu\")\n closeSiblingSubmenusOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = (event.target as HTMLElement).closest(\"z-tool\") as HTMLZToolElement | null;\n if (!targetTool || !this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool && tool.open) {\n tool.open = false;\n }\n });\n }\n\n /**\n * Listen for custom \"toggleTooltip\" events from child tools and close sibling tooltips when one is opened,\n * to prevent multiple tooltips from being open at the same time.\n */\n @Listen(\"toggleTooltip\")\n closeSiblingTooltipsOnOpen(event: ZToolCustomEvent<boolean>): void {\n if (event.detail !== true) {\n return;\n }\n\n const targetTool = event.target;\n if (!this.toolItems.includes(targetTool)) {\n return;\n }\n\n this.toolItems.forEach((tool) => {\n if (tool !== targetTool) {\n tool.closeTooltip();\n }\n });\n }\n\n @Listen(\"keydown\")\n handleKeyDown(event: KeyboardEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n\n if (!toolElement || !this.toolItems.includes(toolElement)) {\n return;\n }\n\n const focusedIndex = this.toolItems.indexOf(toolElement);\n if (focusedIndex !== -1) {\n this.currentFocusIndex = focusedIndex;\n }\n\n switch (event.key) {\n case KeyboardCode.ARROW_RIGHT:\n event.preventDefault();\n this.focusNextTool();\n break;\n case KeyboardCode.ARROW_LEFT:\n event.preventDefault();\n this.focusPreviousTool();\n break;\n }\n }\n\n /**\n * When focus enters the toolbar, update the current focus index to match the focused tool,\n * so that roving tabindex is in sync with actual focus.\n */\n @Listen(\"focusin\")\n handleFocusIn(event: FocusEvent): void {\n const target = event.target as HTMLElement;\n const toolElement = target.closest(\"z-tool\") as HTMLZToolElement;\n const index = this.toolItems.indexOf(toolElement);\n if (index !== -1 && index !== this.currentFocusIndex) {\n this.currentFocusIndex = index;\n this.updateTabIndexes();\n }\n }\n\n render(): HTMLZToolbarElement {\n return (\n <Host\n role=\"toolbar\"\n aria-label={this.htmlAriaLabel}\n >\n <slot\n onSlotchange={() => {\n this.collectToolItems();\n this.updateTabIndexes();\n }}\n ></slot>\n </Host>\n );\n }\n}\n"]}