@zanichelli/albe-web-components 13.4.0-RC1 → 13.4.0

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 (262) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/z-anchor-navigation.cjs.entry.js +4 -4
  4. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -1
  5. package/dist/cjs/z-app-header_12.cjs.entry.js +4 -4
  6. package/dist/cjs/z-breadcrumb.cjs.entry.js +79 -86
  7. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -1
  8. package/dist/cjs/z-combobox.cjs.entry.js +6 -15
  9. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-cover-hero.cjs.entry.js +2 -2
  11. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  12. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  13. package/dist/cjs/z-link.cjs.entry.js +1 -1
  14. package/dist/cjs/z-messages-pocket.cjs.entry.js +1 -1
  15. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  16. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  17. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  18. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  19. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  21. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  22. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
  23. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  24. package/dist/cjs/z-otp.cjs.entry.js +2 -2
  25. package/dist/cjs/z-pocket-message.cjs.entry.js +1 -1
  26. package/dist/cjs/z-pocket_3.cjs.entry.js +3 -3
  27. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  28. package/dist/cjs/z-section-title.cjs.entry.js +1 -1
  29. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  30. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  31. package/dist/collection/components/inputs/z-combobox/index.js +6 -15
  32. package/dist/collection/components/inputs/z-combobox/index.js.map +1 -1
  33. package/dist/collection/components/z-anchor-navigation/index.js +3 -3
  34. package/dist/collection/components/z-anchor-navigation/index.js.map +1 -1
  35. package/dist/collection/components/z-anchor-navigation/styles.css +3 -3
  36. package/dist/collection/components/z-breadcrumb/index.js +78 -85
  37. package/dist/collection/components/z-breadcrumb/index.js.map +1 -1
  38. package/dist/collection/components/z-breadcrumb/index.spec.js +3 -2
  39. package/dist/collection/components/z-breadcrumb/index.spec.js.map +1 -1
  40. package/dist/collection/components/z-breadcrumb/styles.css +61 -59
  41. package/dist/collection/components/z-cover-hero/index.js +2 -2
  42. package/dist/collection/components/z-divider/index.js +1 -1
  43. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  44. package/dist/collection/components/z-info-reveal/index.js +1 -1
  45. package/dist/collection/components/z-offcanvas/index.js +1 -1
  46. package/dist/collection/components/z-popover/index.js +1 -1
  47. package/dist/collection/components/z-section-title/index.js +1 -1
  48. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  49. package/dist/collection/components/z-tag/index.js +2 -2
  50. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  51. package/dist/collection/deprecated/z-link/index.js +1 -1
  52. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  53. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  54. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  55. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  56. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  57. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  58. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  59. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  60. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  61. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  62. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  63. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  64. package/dist/collection/snowflakes/myz/pocket/z-messages-pocket/index.js +1 -1
  65. package/dist/collection/snowflakes/myz/pocket/z-pocket/index.js +1 -1
  66. package/dist/collection/snowflakes/myz/pocket/z-pocket-body/index.js +1 -1
  67. package/dist/collection/snowflakes/myz/pocket/z-pocket-header/index.js +1 -1
  68. package/dist/collection/snowflakes/myz/pocket/z-pocket-message/index.js +1 -1
  69. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  70. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  71. package/dist/components/index16.js +1 -1
  72. package/dist/components/index17.js +1 -1
  73. package/dist/components/index18.js +1 -1
  74. package/dist/components/index19.js +1 -1
  75. package/dist/components/index21.js +1 -1
  76. package/dist/components/index22.js +1 -1
  77. package/dist/components/index23.js +1 -1
  78. package/dist/components/index24.js +1 -1
  79. package/dist/components/index25.js +1 -1
  80. package/dist/components/index27.js +2 -2
  81. package/dist/components/index3.js +1 -1
  82. package/dist/components/index6.js +1 -1
  83. package/dist/components/index8.js +1 -1
  84. package/dist/components/z-anchor-navigation.js +4 -4
  85. package/dist/components/z-anchor-navigation.js.map +1 -1
  86. package/dist/components/z-breadcrumb.js +80 -87
  87. package/dist/components/z-breadcrumb.js.map +1 -1
  88. package/dist/components/z-combobox.js +7 -16
  89. package/dist/components/z-combobox.js.map +1 -1
  90. package/dist/components/z-cover-hero.js +2 -2
  91. package/dist/components/z-info-reveal.js +1 -1
  92. package/dist/components/z-link.js +1 -1
  93. package/dist/components/z-messages-pocket.js +1 -1
  94. package/dist/components/z-myz-card-alert.js +1 -1
  95. package/dist/components/z-myz-card-dictionary.js +1 -1
  96. package/dist/components/z-myz-card-footer-sections.js +1 -1
  97. package/dist/components/z-myz-card-footer.js +1 -1
  98. package/dist/components/z-myz-card-icon.js +1 -1
  99. package/dist/components/z-myz-card-info.js +1 -1
  100. package/dist/components/z-myz-card-list.js +1 -1
  101. package/dist/components/z-myz-list.js +1 -1
  102. package/dist/components/z-otp.js +2 -2
  103. package/dist/components/z-pocket-message.js +1 -1
  104. package/dist/components/z-section-title.js +1 -1
  105. package/dist/components/z-skip-to-content.js +1 -1
  106. package/dist/components/z-visually-hidden.js +1 -1
  107. package/dist/esm/z-alert.entry.js +1 -1
  108. package/dist/esm/z-anchor-navigation.entry.js +4 -4
  109. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  110. package/dist/esm/z-app-header_12.entry.js +4 -4
  111. package/dist/esm/z-breadcrumb.entry.js +80 -87
  112. package/dist/esm/z-breadcrumb.entry.js.map +1 -1
  113. package/dist/esm/z-combobox.entry.js +7 -16
  114. package/dist/esm/z-combobox.entry.js.map +1 -1
  115. package/dist/esm/z-cover-hero.entry.js +2 -2
  116. package/dist/esm/z-ghost-loading.entry.js +1 -1
  117. package/dist/esm/z-info-reveal.entry.js +1 -1
  118. package/dist/esm/z-link.entry.js +1 -1
  119. package/dist/esm/z-messages-pocket.entry.js +1 -1
  120. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  121. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  122. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  123. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  124. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  125. package/dist/esm/z-myz-card-info.entry.js +1 -1
  126. package/dist/esm/z-myz-card-list.entry.js +1 -1
  127. package/dist/esm/z-myz-card_4.entry.js +4 -4
  128. package/dist/esm/z-myz-list.entry.js +1 -1
  129. package/dist/esm/z-otp.entry.js +2 -2
  130. package/dist/esm/z-pocket-message.entry.js +1 -1
  131. package/dist/esm/z-pocket_3.entry.js +3 -3
  132. package/dist/esm/z-popover.entry.js +1 -1
  133. package/dist/esm/z-section-title.entry.js +1 -1
  134. package/dist/esm/z-skip-to-content.entry.js +1 -1
  135. package/dist/esm/z-visually-hidden.entry.js +1 -1
  136. package/dist/types/components/z-anchor-navigation/index.d.ts +1 -1
  137. package/dist/types/components/z-breadcrumb/index.d.ts +5 -8
  138. package/dist/web-components-library/p-05359612.entry.js +2 -0
  139. package/dist/web-components-library/p-05359612.entry.js.map +1 -0
  140. package/dist/web-components-library/{p-dbc437d8.entry.js → p-06d2cd5d.entry.js} +2 -2
  141. package/dist/web-components-library/p-1768c5e0.entry.js +2 -0
  142. package/dist/web-components-library/p-1768c5e0.entry.js.map +1 -0
  143. package/dist/web-components-library/{p-8d81a5c8.entry.js → p-20226d0d.entry.js} +2 -2
  144. package/dist/web-components-library/{p-6edd5dbe.entry.js → p-242b71f0.entry.js} +2 -2
  145. package/dist/web-components-library/{p-5d67d311.entry.js → p-2ec544c4.entry.js} +2 -2
  146. package/{www/build/p-d1f8ca38.entry.js → dist/web-components-library/p-2ee5c83c.entry.js} +2 -2
  147. package/dist/web-components-library/{p-d251f105.entry.js → p-3643303f.entry.js} +2 -2
  148. package/dist/web-components-library/{p-239fb968.entry.js → p-48c6050f.entry.js} +2 -2
  149. package/{www/build/p-d92765b6.entry.js → dist/web-components-library/p-4e71c395.entry.js} +2 -2
  150. package/dist/web-components-library/{p-b57362ef.entry.js → p-589a9033.entry.js} +2 -2
  151. package/dist/web-components-library/{p-5eb0a064.entry.js → p-592a8b1f.entry.js} +2 -2
  152. package/dist/web-components-library/{p-f3c3448f.entry.js → p-5c9e7645.entry.js} +2 -2
  153. package/dist/web-components-library/{p-996c1471.entry.js → p-660b1494.entry.js} +2 -2
  154. package/dist/web-components-library/{p-24ab494d.entry.js → p-6b186398.entry.js} +2 -2
  155. package/dist/web-components-library/{p-95104b91.entry.js → p-6f35845e.entry.js} +2 -2
  156. package/dist/web-components-library/{p-f7607ce7.entry.js → p-7193d061.entry.js} +2 -2
  157. package/{www/build/p-04755b76.entry.js → dist/web-components-library/p-7579992d.entry.js} +2 -2
  158. package/dist/web-components-library/{p-00d7315a.entry.js → p-7ee8e11a.entry.js} +2 -2
  159. package/dist/web-components-library/p-b4888995.entry.js +2 -0
  160. package/dist/web-components-library/p-b4d30129.entry.js +2 -0
  161. package/dist/web-components-library/{p-b670ffa5.entry.js → p-c49602b1.entry.js} +2 -2
  162. package/dist/web-components-library/p-dbda8812.entry.js +2 -0
  163. package/dist/web-components-library/p-dbda8812.entry.js.map +1 -0
  164. package/{www/build/p-a53ab86e.entry.js → dist/web-components-library/p-de972497.entry.js} +2 -2
  165. package/dist/web-components-library/{p-05b39597.entry.js → p-e5e2e752.entry.js} +2 -2
  166. package/dist/web-components-library/{p-942e5126.entry.js → p-fdc6cf5a.entry.js} +2 -2
  167. package/dist/web-components-library/web-components-library.esm.js +1 -1
  168. package/package.json +1 -1
  169. package/www/build/p-05359612.entry.js +2 -0
  170. package/www/build/p-05359612.entry.js.map +1 -0
  171. package/www/build/{p-dbc437d8.entry.js → p-06d2cd5d.entry.js} +2 -2
  172. package/www/build/p-1768c5e0.entry.js +2 -0
  173. package/www/build/p-1768c5e0.entry.js.map +1 -0
  174. package/www/build/{p-8d81a5c8.entry.js → p-20226d0d.entry.js} +2 -2
  175. package/www/build/{p-6edd5dbe.entry.js → p-242b71f0.entry.js} +2 -2
  176. package/www/build/{p-5d67d311.entry.js → p-2ec544c4.entry.js} +2 -2
  177. package/{dist/web-components-library/p-d1f8ca38.entry.js → www/build/p-2ee5c83c.entry.js} +2 -2
  178. package/www/build/{p-d251f105.entry.js → p-3643303f.entry.js} +2 -2
  179. package/www/build/{p-239fb968.entry.js → p-48c6050f.entry.js} +2 -2
  180. package/{dist/web-components-library/p-d92765b6.entry.js → www/build/p-4e71c395.entry.js} +2 -2
  181. package/www/build/{p-b57362ef.entry.js → p-589a9033.entry.js} +2 -2
  182. package/www/build/{p-5eb0a064.entry.js → p-592a8b1f.entry.js} +2 -2
  183. package/www/build/{p-f3c3448f.entry.js → p-5c9e7645.entry.js} +2 -2
  184. package/www/build/{p-996c1471.entry.js → p-660b1494.entry.js} +2 -2
  185. package/www/build/{p-24ab494d.entry.js → p-6b186398.entry.js} +2 -2
  186. package/www/build/{p-95104b91.entry.js → p-6f35845e.entry.js} +2 -2
  187. package/www/build/{p-f7607ce7.entry.js → p-7193d061.entry.js} +2 -2
  188. package/{dist/web-components-library/p-04755b76.entry.js → www/build/p-7579992d.entry.js} +2 -2
  189. package/www/build/{p-00d7315a.entry.js → p-7ee8e11a.entry.js} +2 -2
  190. package/www/build/p-b4888995.entry.js +2 -0
  191. package/www/build/p-b4d30129.entry.js +2 -0
  192. package/www/build/{p-583ea45f.js → p-c239d399.js} +1 -1
  193. package/www/build/{p-b670ffa5.entry.js → p-c49602b1.entry.js} +2 -2
  194. package/www/build/p-dbda8812.entry.js +2 -0
  195. package/www/build/p-dbda8812.entry.js.map +1 -0
  196. package/{dist/web-components-library/p-a53ab86e.entry.js → www/build/p-de972497.entry.js} +2 -2
  197. package/www/build/{p-05b39597.entry.js → p-e5e2e752.entry.js} +2 -2
  198. package/www/build/{p-942e5126.entry.js → p-fdc6cf5a.entry.js} +2 -2
  199. package/www/build/web-components-library.esm.js +1 -1
  200. package/www/index.html +1 -1
  201. package/dist/web-components-library/p-0f8cc377.entry.js +0 -2
  202. package/dist/web-components-library/p-0f8cc377.entry.js.map +0 -1
  203. package/dist/web-components-library/p-120a809e.entry.js +0 -2
  204. package/dist/web-components-library/p-34541d7c.entry.js +0 -2
  205. package/dist/web-components-library/p-34541d7c.entry.js.map +0 -1
  206. package/dist/web-components-library/p-4c40561d.entry.js +0 -2
  207. package/dist/web-components-library/p-acfde9fa.entry.js +0 -2
  208. package/dist/web-components-library/p-acfde9fa.entry.js.map +0 -1
  209. package/www/build/p-0f8cc377.entry.js +0 -2
  210. package/www/build/p-0f8cc377.entry.js.map +0 -1
  211. package/www/build/p-120a809e.entry.js +0 -2
  212. package/www/build/p-34541d7c.entry.js +0 -2
  213. package/www/build/p-34541d7c.entry.js.map +0 -1
  214. package/www/build/p-4c40561d.entry.js +0 -2
  215. package/www/build/p-acfde9fa.entry.js +0 -2
  216. package/www/build/p-acfde9fa.entry.js.map +0 -1
  217. /package/dist/web-components-library/{p-dbc437d8.entry.js.map → p-06d2cd5d.entry.js.map} +0 -0
  218. /package/dist/web-components-library/{p-8d81a5c8.entry.js.map → p-20226d0d.entry.js.map} +0 -0
  219. /package/dist/web-components-library/{p-6edd5dbe.entry.js.map → p-242b71f0.entry.js.map} +0 -0
  220. /package/dist/web-components-library/{p-5d67d311.entry.js.map → p-2ec544c4.entry.js.map} +0 -0
  221. /package/dist/web-components-library/{p-d1f8ca38.entry.js.map → p-2ee5c83c.entry.js.map} +0 -0
  222. /package/dist/web-components-library/{p-d251f105.entry.js.map → p-3643303f.entry.js.map} +0 -0
  223. /package/dist/web-components-library/{p-239fb968.entry.js.map → p-48c6050f.entry.js.map} +0 -0
  224. /package/dist/web-components-library/{p-d92765b6.entry.js.map → p-4e71c395.entry.js.map} +0 -0
  225. /package/dist/web-components-library/{p-b57362ef.entry.js.map → p-589a9033.entry.js.map} +0 -0
  226. /package/dist/web-components-library/{p-5eb0a064.entry.js.map → p-592a8b1f.entry.js.map} +0 -0
  227. /package/dist/web-components-library/{p-f3c3448f.entry.js.map → p-5c9e7645.entry.js.map} +0 -0
  228. /package/dist/web-components-library/{p-996c1471.entry.js.map → p-660b1494.entry.js.map} +0 -0
  229. /package/dist/web-components-library/{p-24ab494d.entry.js.map → p-6b186398.entry.js.map} +0 -0
  230. /package/dist/web-components-library/{p-95104b91.entry.js.map → p-6f35845e.entry.js.map} +0 -0
  231. /package/dist/web-components-library/{p-f7607ce7.entry.js.map → p-7193d061.entry.js.map} +0 -0
  232. /package/dist/web-components-library/{p-04755b76.entry.js.map → p-7579992d.entry.js.map} +0 -0
  233. /package/dist/web-components-library/{p-00d7315a.entry.js.map → p-7ee8e11a.entry.js.map} +0 -0
  234. /package/dist/web-components-library/{p-4c40561d.entry.js.map → p-b4888995.entry.js.map} +0 -0
  235. /package/dist/web-components-library/{p-120a809e.entry.js.map → p-b4d30129.entry.js.map} +0 -0
  236. /package/dist/web-components-library/{p-b670ffa5.entry.js.map → p-c49602b1.entry.js.map} +0 -0
  237. /package/dist/web-components-library/{p-a53ab86e.entry.js.map → p-de972497.entry.js.map} +0 -0
  238. /package/dist/web-components-library/{p-05b39597.entry.js.map → p-e5e2e752.entry.js.map} +0 -0
  239. /package/dist/web-components-library/{p-942e5126.entry.js.map → p-fdc6cf5a.entry.js.map} +0 -0
  240. /package/www/build/{p-dbc437d8.entry.js.map → p-06d2cd5d.entry.js.map} +0 -0
  241. /package/www/build/{p-8d81a5c8.entry.js.map → p-20226d0d.entry.js.map} +0 -0
  242. /package/www/build/{p-6edd5dbe.entry.js.map → p-242b71f0.entry.js.map} +0 -0
  243. /package/www/build/{p-5d67d311.entry.js.map → p-2ec544c4.entry.js.map} +0 -0
  244. /package/www/build/{p-d1f8ca38.entry.js.map → p-2ee5c83c.entry.js.map} +0 -0
  245. /package/www/build/{p-d251f105.entry.js.map → p-3643303f.entry.js.map} +0 -0
  246. /package/www/build/{p-239fb968.entry.js.map → p-48c6050f.entry.js.map} +0 -0
  247. /package/www/build/{p-d92765b6.entry.js.map → p-4e71c395.entry.js.map} +0 -0
  248. /package/www/build/{p-b57362ef.entry.js.map → p-589a9033.entry.js.map} +0 -0
  249. /package/www/build/{p-5eb0a064.entry.js.map → p-592a8b1f.entry.js.map} +0 -0
  250. /package/www/build/{p-f3c3448f.entry.js.map → p-5c9e7645.entry.js.map} +0 -0
  251. /package/www/build/{p-996c1471.entry.js.map → p-660b1494.entry.js.map} +0 -0
  252. /package/www/build/{p-24ab494d.entry.js.map → p-6b186398.entry.js.map} +0 -0
  253. /package/www/build/{p-95104b91.entry.js.map → p-6f35845e.entry.js.map} +0 -0
  254. /package/www/build/{p-f7607ce7.entry.js.map → p-7193d061.entry.js.map} +0 -0
  255. /package/www/build/{p-04755b76.entry.js.map → p-7579992d.entry.js.map} +0 -0
  256. /package/www/build/{p-00d7315a.entry.js.map → p-7ee8e11a.entry.js.map} +0 -0
  257. /package/www/build/{p-4c40561d.entry.js.map → p-b4888995.entry.js.map} +0 -0
  258. /package/www/build/{p-120a809e.entry.js.map → p-b4d30129.entry.js.map} +0 -0
  259. /package/www/build/{p-b670ffa5.entry.js.map → p-c49602b1.entry.js.map} +0 -0
  260. /package/www/build/{p-a53ab86e.entry.js.map → p-de972497.entry.js.map} +0 -0
  261. /package/www/build/{p-05b39597.entry.js.map → p-e5e2e752.entry.js.map} +0 -0
  262. /package/www/build/{p-942e5126.entry.js.map → p-fdc6cf5a.entry.js.map} +0 -0
@@ -59,7 +59,7 @@ const ZPocket = /*@__PURE__*/ proxyCustomElement(class ZPocket extends HTMLEleme
59
59
  }
60
60
  }
61
61
  render() {
62
- return (h("div", { key: '97d80e0b2cb56a932f35aa104256bf763f1eee7c' }, h("div", { key: '9e8f3eacd18892d80cc1a5c314c861ef18178daa', "data-action": "pocketBackground", "data-pocket": this.pocketid, class: `background ${this.status}`, onClick: (e) => this.handleBackgroundClick(e) }), h("div", { key: 'ee7d44929e94ebe8f2c128a74e0b8250819df04b', id: this.pocketid, class: "content-wrapper" }, h("div", { key: '57a77810690ce70ed3c7fac92cc4fa7e5158f17d' }, h("slot", { key: '9f1c1757f0bc2ff2db326ac9158d80f33802970f' })))));
62
+ return (h("div", { key: 'ad25460e1d77b82434d7237fc8bf70bdaccd1037' }, h("div", { key: '66003489b14556acf7ea4345dfd942cb244abfad', "data-action": "pocketBackground", "data-pocket": this.pocketid, class: `background ${this.status}`, onClick: (e) => this.handleBackgroundClick(e) }), h("div", { key: '69e23ca317f9aa2d68e00213af6d4aba2d01a5f9', id: this.pocketid, class: "content-wrapper" }, h("div", { key: '1d02d4b55e0853375c3770bd0f038e38922ce3f4' }, h("slot", { key: 'a4a0ebc7522d5f242263ac87b8b61191dd98d2b7' })))));
63
63
  }
64
64
  get hostElement() { return this; }
65
65
  static get watchers() { return {
@@ -18,7 +18,7 @@ const ZPocketBody = /*@__PURE__*/ proxyCustomElement(class ZPocketBody extends H
18
18
  }
19
19
  }
20
20
  render() {
21
- return (h("main", { key: 'cd660568916f4384dc815a3c0067a579c217fa33', class: this.status }, h("slot", { key: '3dd94db83f10a36a3656914a90ca571bd088fc6d' })));
21
+ return (h("main", { key: 'f017441cd9ae7d12e0bea9ee61f6ebae5809ade7', class: this.status }, h("slot", { key: '02d262a95a8d41b1e303ac9d0efbd4218e8b28c9' })));
22
22
  }
23
23
  static get style() { return ZPocketBodyStyle0; }
24
24
  }, [1, "z-pocket-body", {
@@ -29,7 +29,7 @@ const ZPocketHeader = /*@__PURE__*/ proxyCustomElement(class ZPocketHeader exten
29
29
  mc.on("pandown", () => this.emitPocketHeaderPan("down"));
30
30
  }
31
31
  render() {
32
- return (h("header", { key: '4f1f69686926f9b45d72800e711ae8437a3ca2f5', role: "button", tabindex: 0, onClick: () => this.emitPocketHeaderClick(), onKeyPress: (ev) => handleKeyboardSubmit(ev, this.emitPocketHeaderClick), ref: (el) => (this.swipeWrap = el) }, h("slot", { key: 'cfdaf2acf381639e86ea15349a83834c311fda71' })));
32
+ return (h("header", { key: 'f14fbd3ff1d6757a840175eb9f17e71e40d7c507', role: "button", tabindex: 0, onClick: () => this.emitPocketHeaderClick(), onKeyPress: (ev) => handleKeyboardSubmit(ev, this.emitPocketHeaderClick), ref: (el) => (this.swipeWrap = el) }, h("slot", { key: 'f6087dbe044ca3f0d2777194a73e60c4d5306c3c' })));
33
33
  }
34
34
  static get style() { return ZPocketHeaderStyle0; }
35
35
  }, [1, "z-pocket-header", {
@@ -302,7 +302,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
302
302
  this.onOpen();
303
303
  }
304
304
  render() {
305
- return h("slot", { key: 'dd51a369f1d5c8097418f1e69dd52c155adbe46e' });
305
+ return h("slot", { key: '5b096156553e94c50200ccd47d6ea97d65f03c54' });
306
306
  }
307
307
  get host() { return this; }
308
308
  static get watchers() { return {
@@ -12,10 +12,10 @@ const ZTag = /*@__PURE__*/ proxyCustomElement(class ZTag extends HTMLElement {
12
12
  this.expandable = undefined;
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: 'fa2bfa00bef52495bef1e2271ffa20c09a60380a', class: {
15
+ return (h(Host, { key: '1c3bc302ffa93e3950f50aa33560e3f6dbe3f003', class: {
16
16
  "body-5-sb": true,
17
17
  "expandable": this.expandable && !!this.icon,
18
- } }, this.icon && h("z-icon", { name: this.icon }), h("div", { key: '37bbe9678c9a2022a6fe260753b7955fdb9a76d1' }, h("slot", { key: 'f9f7a5f44c6b89d90b4b252fd990889751e955c8' }))));
18
+ } }, this.icon && h("z-icon", { name: this.icon }), h("div", { key: '73bf2526e308bd86ce198807bfc8c77c7f917a37' }, h("slot", { key: '31d6b94d10752d3c3bea0ec36ecb897af3db28f7' }))));
19
19
  }
20
20
  static get style() { return ZTagStyle0; }
21
21
  }, [6, "z-tag", {
@@ -11,7 +11,7 @@ const ZAlert = /*@__PURE__*/ proxyCustomElement(class ZAlert extends HTMLElement
11
11
  this.type = undefined;
12
12
  }
13
13
  render() {
14
- return (h("div", { key: '118a9d311dba051df5cb7fc1ad53a8e72fb0e5b0', class: this.type }, h("slot", { key: 'eec707ce1616abc18e015a7486f12dbc17e0c0eb' })));
14
+ return (h("div", { key: '5f1af9f77d699a3098b189a33cbebdba36d5ce23', class: this.type }, h("slot", { key: 'd8b6da798f1579042763c3953a7e1a869031a9e0' })));
15
15
  }
16
16
  static get style() { return ZAlertStyle0; }
17
17
  }, [1, "z-alert", {
@@ -13,7 +13,7 @@ const ZDivider = /*@__PURE__*/ proxyCustomElement(class ZDivider extends HTMLEle
13
13
  this.orientation = DividerOrientation.HORIZONTAL;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '2dd73f0950f7c3f83fb650b12d92631fa353c67f', class: `divider-${this.size} divider-${this.orientation}`, style: { backgroundColor: `var(--${this.color})` } }));
16
+ return (h(Host, { key: '2f058ffac1fd07ea8bd499de4749a4fd1f766414', class: `divider-${this.size} divider-${this.orientation}`, style: { backgroundColor: `var(--${this.color})` } }));
17
17
  }
18
18
  static get style() { return ZDividerStyle0; }
19
19
  }, [2, "z-divider", {
@@ -10,7 +10,7 @@ const ZGhostLoading = /*@__PURE__*/ proxyCustomElement(class ZGhostLoading exten
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return h(Host, { key: '463019d2e47586ce45bfac3ab258320c5c7c3785' });
13
+ return h(Host, { key: 'efae0dd8d520db16bbb3bd49b434ba0fe8e45c33' });
14
14
  }
15
15
  static get style() { return ZGhostLoadingStyle0; }
16
16
  }, [1, "z-ghost-loading"]);
@@ -3,7 +3,7 @@ import { B as ButtonVariant } from './index2.js';
3
3
  import { d as defineCustomElement$3 } from './index4.js';
4
4
  import { d as defineCustomElement$2 } from './index9.js';
5
5
 
6
- const stylesCss = "html{scroll-behavior:smooth}z-anchor-navigation nav{display:none;flex-direction:column;justify-content:flex-start;row-gap:calc(var(--space-unit) / 2)}z-anchor-navigation[collapsed] nav{display:flex;margin-top:var(--space-unit)}z-anchor-navigation nav a{display:-webkit-box;overflow:clip;width:100%;box-sizing:border-box;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);-webkit-box-orient:vertical;color:inherit;font-weight:inherit;-webkit-line-clamp:2;overflow-clip-margin:content-box;text-decoration:none}z-anchor-navigation nav * a:not(:only-child){padding-right:calc(var(--space-unit) * 5)}@supports not (overflow-clip-margin: content-box){z-anchor-navigation nav a{display:inline-block;overflow:hidden;-webkit-line-clamp:none;text-overflow:ellipsis;white-space:nowrap}}z-anchor-navigation nav>*{position:relative;border-left:var(--border-size-large) solid var(--color-surface04);color:var(--color-text01);font-family:var(--font-family-sans);transition:background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out}z-anchor-navigation nav>[current]{border-left-color:var(--color-primary01);color:var(--color-link-primary);font-weight:var(--font-sb)}z-anchor-navigation nav>*>*:is(z-button,button,z-icon){position:absolute;top:50%;right:0;transform:translateY(-50%);transition:opacity 0.3s ease-in-out}z-anchor-navigation nav button{padding:0;border:none;margin:0;background-color:transparent}z-anchor-navigation nav z-icon{--z-icon-width:16px;--z-icon-height:16px;display:flex;padding:calc(var(--space-unit) * 1.5);fill:var(--color-icon02)}@media (min-width: 768px){z-anchor-navigation z-button.toggle{display:none !important}z-anchor-navigation nav{display:flex}z-anchor-navigation nav a{outline:none}@media (hover: hover){z-anchor-navigation nav>*:hover{border-left-color:var(--color-hover-secondary);background-color:var(--color-hover-surface);color:var(--color-hover-link)}}z-anchor-navigation nav>*:is(:focus,:focus-within),z-anchor-navigation nav :is(z-icon,button):focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}z-anchor-navigation[hide-unselected] nav>*:not([current],:hover,:focus,:focus-within){color:transparent}z-anchor-navigation nav>*:not([current],:hover,:focus,:focus-within)>*:is(z-button,button,z-icon):not(:focus:focus-visible){opacity:0;pointer-events:none}@media (hover: none){z-anchor-navigation:not([hide-unselected]) nav>*>*:is(z-button,button,z-icon){opacity:1;pointer-events:all}}}";
6
+ const stylesCss = "html{scroll-behavior:smooth}z-anchor-navigation nav{display:none;flex-direction:column;justify-content:flex-start;row-gap:calc(var(--space-unit) / 2)}z-anchor-navigation[collapsed] nav{display:flex;margin-top:var(--space-unit)}z-anchor-navigation nav a{display:-webkit-box;overflow:clip;width:100%;box-sizing:border-box;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);-webkit-box-orient:vertical;color:inherit;font-weight:inherit;-webkit-line-clamp:2;overflow-clip-margin:content-box;text-decoration:none}z-anchor-navigation nav * a:not(:only-child){padding-right:calc(var(--space-unit) * 5)}@supports not (overflow-clip-margin: content-box){z-anchor-navigation nav a{display:inline-block;overflow:hidden;-webkit-line-clamp:none;text-overflow:ellipsis;white-space:nowrap}}z-anchor-navigation nav>*{position:relative;border-left:var(--border-size-large) solid var(--color-surface04);color:var(--color-text01);font-family:var(--font-family-sans);transition:background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out}z-anchor-navigation nav>[data-current]{border-left-color:var(--color-primary01);color:var(--color-link-primary);font-weight:var(--font-sb)}z-anchor-navigation nav>*>*:is(z-button,button,z-icon){position:absolute;top:50%;right:0;transform:translateY(-50%);transition:opacity 0.3s ease-in-out}z-anchor-navigation nav button{padding:0;border:none;margin:0;background-color:transparent}z-anchor-navigation nav z-icon{--z-icon-width:16px;--z-icon-height:16px;display:flex;padding:calc(var(--space-unit) * 1.5);fill:var(--color-icon02)}@media (min-width: 768px){z-anchor-navigation z-button.toggle{display:none !important}z-anchor-navigation nav{display:flex}z-anchor-navigation nav a{outline:none}@media (hover: hover){z-anchor-navigation nav>*:hover{border-left-color:var(--color-hover-secondary);background-color:var(--color-hover-surface);color:var(--color-hover-link)}}z-anchor-navigation nav>*:is(:focus,:focus-within),z-anchor-navigation nav :is(z-icon,button):focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}z-anchor-navigation[hide-unselected] nav>*:not([data-current],:hover,:focus,:focus-within){color:transparent}z-anchor-navigation nav>*:not([data-current],:hover,:focus,:focus-within)>*:is(z-button,button,z-icon):not(:focus:focus-visible){opacity:0;pointer-events:none}@media (hover: none){z-anchor-navigation:not([hide-unselected]) nav>*>*:is(z-button,button,z-icon){opacity:1;pointer-events:all}}}";
7
7
  const ZAnchorNavigationStyle0 = stylesCss;
8
8
 
9
9
  const ZAnchorNavigation$1 = /*@__PURE__*/ proxyCustomElement(class ZAnchorNavigation extends HTMLElement {
@@ -14,14 +14,14 @@ const ZAnchorNavigation$1 = /*@__PURE__*/ proxyCustomElement(class ZAnchorNaviga
14
14
  this.collapsed = false;
15
15
  }
16
16
  /**
17
- * Set aria-current attribute to the anchors and `current` to nav children.
17
+ * Set aria-current attribute to the anchors.
18
18
  */
19
19
  setAriaCurrent() {
20
20
  Array.from(this.nav.children).forEach((item) => {
21
21
  const anchor = item instanceof HTMLAnchorElement ? item : item.querySelector("a");
22
22
  const isCurrent = window.location.href === anchor.href;
23
23
  anchor.setAttribute("aria-current", isCurrent.toString());
24
- item.toggleAttribute("current", isCurrent);
24
+ item.toggleAttribute("data-current", isCurrent);
25
25
  });
26
26
  }
27
27
  /**
@@ -38,7 +38,7 @@ const ZAnchorNavigation$1 = /*@__PURE__*/ proxyCustomElement(class ZAnchorNaviga
38
38
  window.removeEventListener("hashchange", this.setAriaCurrent);
39
39
  }
40
40
  render() {
41
- return (h(Host, { key: '2f19d516f4b99e0f76268f025227f94d302273ea', collapsed: this.collapsed }, h("z-button", { key: '822dca30f3ea2176f463b35a167fcc4714feeb7f', class: "toggle", variant: ButtonVariant.SECONDARY, icon: this.collapsed ? "chevron-up" : "chevron-down", onClick: this.toggleCollapsed.bind(this) }, "salta a"), h("nav", { key: '218bf9aeb919037ad4725a9593ded46302b9e42a', ref: (el) => (this.nav = el) }, h("slot", { key: '0dfb9d2e7642d86b5c3e7da97be6ec04d05db70f' }))));
41
+ return (h(Host, { key: '7dbd18145c5e8f799ae5dca19f1f1f4eaa8690b3', collapsed: this.collapsed }, h("z-button", { key: '5c36d79b8284d4f0aef21c659947fa5042a784c1', class: "toggle", variant: ButtonVariant.SECONDARY, icon: this.collapsed ? "chevron-up" : "chevron-down", onClick: this.toggleCollapsed.bind(this) }, "salta a"), h("nav", { key: '26c60ec5a4110f25a9dc9f3e34f1338c170f07b2', ref: (el) => (this.nav = el) }, h("slot", { key: '06320c9dd7b84048b5008cd6d3163df0455dd83d' }))));
42
42
  }
43
43
  static get style() { return ZAnchorNavigationStyle0; }
44
44
  }, [4, "z-anchor-navigation", {
@@ -1 +1 @@
1
- {"file":"z-anchor-navigation.js","mappings":";;;;;AAAA,MAAM,SAAS,GAAG,i7EAAi7E,CAAC;AACp8E,gCAAe,SAAS;;MCsBXA,mBAAiB;;;;8BAMX,KAAK;yBAMV,KAAK;;;;;IAQT,cAAc;QACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;YACzC,MAAM,MAAM,GAAG,IAAI,YAAY,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SAC5C,CAAC,CAAC;KACJ;;;;IAKO,eAAe;QACrB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KAClC;IAED,gBAAgB;QACd,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,oBAAoB;QAClB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/D;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,SAAS,EAAE,IAAI,CAAC,SAAS,IAC7B,iEACE,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,aAAa,CAAC,SAAS,EAChC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,cAAc,EACpD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAG/B,EACX,4DAAK,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAC/B,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["ZAnchorNavigation"],"sources":["src/components/z-anchor-navigation/styles.css?tag=z-anchor-navigation","src/components/z-anchor-navigation/index.tsx"],"sourcesContent":["html {\n scroll-behavior: smooth;\n}\n\nz-anchor-navigation nav {\n display: none;\n flex-direction: column;\n justify-content: flex-start;\n row-gap: calc(var(--space-unit) / 2);\n}\n\nz-anchor-navigation[collapsed] nav {\n display: flex;\n margin-top: var(--space-unit);\n}\n\nz-anchor-navigation nav a {\n display: -webkit-box;\n overflow: clip;\n width: 100%;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n -webkit-box-orient: vertical;\n color: inherit;\n font-weight: inherit;\n -webkit-line-clamp: 2;\n overflow-clip-margin: content-box;\n text-decoration: none;\n}\n\nz-anchor-navigation nav * a:not(:only-child) {\n padding-right: calc(var(--space-unit) * 5);\n}\n\n@supports not (overflow-clip-margin: content-box) {\n z-anchor-navigation nav a {\n display: inline-block;\n overflow: hidden;\n -webkit-line-clamp: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\nz-anchor-navigation nav > * {\n position: relative;\n border-left: var(--border-size-large) solid var(--color-surface04);\n color: var(--color-text01);\n font-family: var(--font-family-sans);\n transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav > [current] {\n border-left-color: var(--color-primary01);\n color: var(--color-link-primary);\n font-weight: var(--font-sb);\n}\n\nz-anchor-navigation nav > * > *:is(z-button, button, z-icon) {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n transition: opacity 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav button {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\nz-anchor-navigation nav z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n\n display: flex;\n padding: calc(var(--space-unit) * 1.5);\n fill: var(--color-icon02);\n}\n\n@media (min-width: 768px) {\n z-anchor-navigation z-button.toggle {\n display: none !important;\n }\n\n z-anchor-navigation nav {\n display: flex;\n }\n\n z-anchor-navigation nav a {\n outline: none;\n }\n\n @media (hover: hover) {\n z-anchor-navigation nav > *:hover {\n border-left-color: var(--color-hover-secondary);\n background-color: var(--color-hover-surface);\n color: var(--color-hover-link);\n }\n }\n\n z-anchor-navigation nav > *:is(:focus, :focus-within),\n z-anchor-navigation nav :is(z-icon, button):focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n }\n\n z-anchor-navigation[hide-unselected] nav > *:not([current], :hover, :focus, :focus-within) {\n color: transparent;\n }\n\n z-anchor-navigation\n nav\n > *:not([current], :hover, :focus, :focus-within)\n > *:is(z-button, button, z-icon):not(:focus:focus-visible) {\n opacity: 0;\n pointer-events: none;\n }\n\n @media (hover: none) {\n z-anchor-navigation:not([hide-unselected]) nav > * > *:is(z-button, button, z-icon) {\n opacity: 1;\n pointer-events: all;\n }\n }\n}\n","import {Component, h, Host, Prop, State} from \"@stencil/core\";\nimport {ButtonVariant} from \"../../beans\";\n\n/**\n * * Anchor navigation component.\n * @slot Main slot. Put some `<a>` tags inside. If you need an action button/icon, wrap it and the <a> inside another tag.\n * @example\n * ```\n * <z-anchor-navigation>\n * <div>\n * <a href=\"#section-id\">Section name</a>\n * <button type=\"button\">\n * <z-icon name=\"share\" />\n * </button>\n * </div>\n * </z-anchor-navigation>\n * ```\n */\n@Component({\n tag: \"z-anchor-navigation\",\n styleUrl: \"styles.css\",\n shadow: false,\n})\nexport class ZAnchorNavigation {\n /**\n * If enabled, the text of each anchor will be hidden unless\n * for the current one or the one the user is hovering.\n */\n @Prop({reflect: true})\n hideUnselected = false;\n\n /**\n * Whether the mobile list is collapsed.\n */\n @State()\n collapsed = false;\n\n /** Reference to the nav element. */\n private nav: HTMLElement;\n\n /**\n * Set aria-current attribute to the anchors and `current` to nav children.\n */\n private setAriaCurrent(): void {\n Array.from(this.nav.children).forEach((item) => {\n const anchor = item instanceof HTMLAnchorElement ? item : item.querySelector(\"a\");\n const isCurrent = window.location.href === anchor.href;\n anchor.setAttribute(\"aria-current\", isCurrent.toString());\n item.toggleAttribute(\"current\", isCurrent);\n });\n }\n\n /**\n * Toggle collapsed state.\n */\n private toggleCollapsed(): void {\n this.collapsed = !this.collapsed;\n }\n\n componentDidLoad(): void {\n window.addEventListener(\"hashchange\", this.setAriaCurrent.bind(this));\n this.setAriaCurrent();\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"hashchange\", this.setAriaCurrent);\n }\n\n render(): HTMLZAnchorNavigationElement {\n return (\n <Host collapsed={this.collapsed}>\n <z-button\n class=\"toggle\"\n variant={ButtonVariant.SECONDARY}\n icon={this.collapsed ? \"chevron-up\" : \"chevron-down\"}\n onClick={this.toggleCollapsed.bind(this)}\n >\n salta a\n </z-button>\n <nav ref={(el) => (this.nav = el)}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-anchor-navigation.js","mappings":";;;;;AAAA,MAAM,SAAS,GAAG,g8EAAg8E,CAAC;AACn9E,gCAAe,SAAS;;MCsBXA,mBAAiB;;;;8BAMX,KAAK;yBAMV,KAAK;;;;;IAQT,cAAc;QACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;YACzC,MAAM,MAAM,GAAG,IAAI,YAAY,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;SACjD,CAAC,CAAC;KACJ;;;;IAKO,eAAe;QACrB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;KAClC;IAED,gBAAgB;QACd,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,oBAAoB;QAClB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/D;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,SAAS,EAAE,IAAI,CAAC,SAAS,IAC7B,iEACE,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,aAAa,CAAC,SAAS,EAChC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,cAAc,EACpD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAG/B,EACX,4DAAK,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAC/B,8DAAa,CACT,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["ZAnchorNavigation"],"sources":["src/components/z-anchor-navigation/styles.css?tag=z-anchor-navigation","src/components/z-anchor-navigation/index.tsx"],"sourcesContent":["html {\n scroll-behavior: smooth;\n}\n\nz-anchor-navigation nav {\n display: none;\n flex-direction: column;\n justify-content: flex-start;\n row-gap: calc(var(--space-unit) / 2);\n}\n\nz-anchor-navigation[collapsed] nav {\n display: flex;\n margin-top: var(--space-unit);\n}\n\nz-anchor-navigation nav a {\n display: -webkit-box;\n overflow: clip;\n width: 100%;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n -webkit-box-orient: vertical;\n color: inherit;\n font-weight: inherit;\n -webkit-line-clamp: 2;\n overflow-clip-margin: content-box;\n text-decoration: none;\n}\n\nz-anchor-navigation nav * a:not(:only-child) {\n padding-right: calc(var(--space-unit) * 5);\n}\n\n@supports not (overflow-clip-margin: content-box) {\n z-anchor-navigation nav a {\n display: inline-block;\n overflow: hidden;\n -webkit-line-clamp: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\nz-anchor-navigation nav > * {\n position: relative;\n border-left: var(--border-size-large) solid var(--color-surface04);\n color: var(--color-text01);\n font-family: var(--font-family-sans);\n transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav > [data-current] {\n border-left-color: var(--color-primary01);\n color: var(--color-link-primary);\n font-weight: var(--font-sb);\n}\n\nz-anchor-navigation nav > * > *:is(z-button, button, z-icon) {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n transition: opacity 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav button {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\nz-anchor-navigation nav z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n\n display: flex;\n padding: calc(var(--space-unit) * 1.5);\n fill: var(--color-icon02);\n}\n\n@media (min-width: 768px) {\n z-anchor-navigation z-button.toggle {\n display: none !important;\n }\n\n z-anchor-navigation nav {\n display: flex;\n }\n\n z-anchor-navigation nav a {\n outline: none;\n }\n\n @media (hover: hover) {\n z-anchor-navigation nav > *:hover {\n border-left-color: var(--color-hover-secondary);\n background-color: var(--color-hover-surface);\n color: var(--color-hover-link);\n }\n }\n\n z-anchor-navigation nav > *:is(:focus, :focus-within),\n z-anchor-navigation nav :is(z-icon, button):focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n }\n\n z-anchor-navigation[hide-unselected] nav > *:not([data-current], :hover, :focus, :focus-within) {\n color: transparent;\n }\n\n z-anchor-navigation\n nav\n > *:not([data-current], :hover, :focus, :focus-within)\n > *:is(z-button, button, z-icon):not(:focus:focus-visible) {\n opacity: 0;\n pointer-events: none;\n }\n\n @media (hover: none) {\n z-anchor-navigation:not([hide-unselected]) nav > * > *:is(z-button, button, z-icon) {\n opacity: 1;\n pointer-events: all;\n }\n }\n}\n","import {Component, h, Host, Prop, State} from \"@stencil/core\";\nimport {ButtonVariant} from \"../../beans\";\n\n/**\n * * Anchor navigation component.\n * @slot Main slot. Put some `<a>` tags inside. If you need an action button/icon, wrap it and the <a> inside another tag.\n * @example\n * ```\n * <z-anchor-navigation>\n * <div>\n * <a href=\"#section-id\">Section name</a>\n * <button type=\"button\">\n * <z-icon name=\"share\" />\n * </button>\n * </div>\n * </z-anchor-navigation>\n * ```\n */\n@Component({\n tag: \"z-anchor-navigation\",\n styleUrl: \"styles.css\",\n shadow: false,\n})\nexport class ZAnchorNavigation {\n /**\n * If enabled, the text of each anchor will be hidden unless\n * for the current one or the one the user is hovering.\n */\n @Prop({reflect: true})\n hideUnselected = false;\n\n /**\n * Whether the mobile list is collapsed.\n */\n @State()\n collapsed = false;\n\n /** Reference to the nav element. */\n private nav: HTMLElement;\n\n /**\n * Set aria-current attribute to the anchors.\n */\n private setAriaCurrent(): void {\n Array.from(this.nav.children).forEach((item) => {\n const anchor = item instanceof HTMLAnchorElement ? item : item.querySelector(\"a\");\n const isCurrent = window.location.href === anchor.href;\n anchor.setAttribute(\"aria-current\", isCurrent.toString());\n item.toggleAttribute(\"data-current\", isCurrent);\n });\n }\n\n /**\n * Toggle collapsed state.\n */\n private toggleCollapsed(): void {\n this.collapsed = !this.collapsed;\n }\n\n componentDidLoad(): void {\n window.addEventListener(\"hashchange\", this.setAriaCurrent.bind(this));\n this.setAriaCurrent();\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"hashchange\", this.setAriaCurrent);\n }\n\n render(): HTMLZAnchorNavigationElement {\n return (\n <Host collapsed={this.collapsed}>\n <z-button\n class=\"toggle\"\n variant={ButtonVariant.SECONDARY}\n icon={this.collapsed ? \"chevron-up\" : \"chevron-down\"}\n onClick={this.toggleCollapsed.bind(this)}\n >\n salta a\n </z-button>\n <nav ref={(el) => (this.nav = el)}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { V as BreadcrumbPathStyle, W as BreadcrumbHomepageVariant, p as Device, P as PopoverPosition, g as KeyboardCode, i as ListSize } from './index2.js';
2
+ import { V as BreadcrumbPathStyle, W as BreadcrumbHomepageVariant, p as Device, g as KeyboardCode, P as PopoverPosition, i as ListSize } from './index2.js';
3
3
  import { g as getDevice, h as handleKeyboardSubmit } from './utils.js';
4
4
  import { d as defineCustomElement$7 } from './index6.js';
5
5
  import { d as defineCustomElement$6 } from './index9.js';
@@ -8,7 +8,7 @@ import { d as defineCustomElement$4 } from './index13.js';
8
8
  import { d as defineCustomElement$3 } from './index14.js';
9
9
  import { d as defineCustomElement$2 } from './index25.js';
10
10
 
11
- const stylesCss = ":host{font-family:var(--font-family-sans);font-weight:var(--font-rg);--line-clamp-popover:0;--line-clamp-mobile:1}button{padding:0;border:none;margin:0;background-color:transparent}nav{display:flex;height:30px;align-items:center;padding-left:calc(var(--space-unit) / 2);overflow-x:hidden}li{display:flex;align-items:baseline}:host a:focus,:host button:focus{box-shadow:var(--shadow-focus-primary);outline:0}:host a{color:var(--color-link-primary);font-size:var(--font-size-2);text-decoration:none;white-space:nowrap}:host a.homepage-icon{display:list-item}:host a.homepage-text{display:initial;margin-top:calc(var(--space-unit) / 4);margin-right:var(--space-unit)}:host a.missing-path{color:var(--color-text01)}:host a.text-ellipsis{display:-webkit-box !important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp-mobile);text-overflow:ellipsis;white-space:normal}:host ol{display:flex;padding:0;margin:0;list-style-type:none}:host ol>li:not(:first-child,:last-child){margin-right:var(--space-unit)}nav.underlined>ol>li a:not(.missing-path),nav.underlined>ol>li button{text-decoration:underline}nav.semibold>ol>li a:not(.missing-path),nav.semibold>ol>li button{font-weight:var(--font-sb)}:host z-icon{margin-right:var(--space-unit);--z-icon-width:12px;--z-icon-height:12px}:host button.dots{display:inline-block;color:var(--color-link-primary);cursor:pointer}:host .hidden-paths-popover .popover-content{max-width:302px;padding:calc(var(--space-unit) / 2) var(--space-unit);text-align:left}:host .hidden-paths-popover .popover-content a{font-weight:var(--font-rg);text-decoration:none}:host .hidden-paths-popover{--z-popover-theme--surface:var(--color-surface02);--z-popover-padding:0}:host .hidden-paths-popover::before,.full-path-tooltip::before{--arrow-edge-offset:calc(100% - (var(--space-unit) * 2.55))}:host .full-path-tooltip{--z-popover-theme--surface:var(--color-surface05);--z-popover-theme--text:var(--color-text-inverse);--z-popover-padding:0}:host .tooltip-content{padding:0 var(--space-unit);font-size:var(--font-size-2)}@media (min-width: 768px){:host ol>li+li::before{display:inline-block;width:10px;height:10px;flex:1;margin-right:2px;color:var(--color-disabled03);content:\"\\203A\"}:host a.text-ellipsis{-webkit-line-clamp:var(--line-clamp-popover)}}";
11
+ const stylesCss = ":host{font-family:var(--font-family-sans);font-weight:var(--font-rg);--line-clamp-popover:0;--line-clamp-mobile:1}*{box-sizing:border-box}button{padding:0;border:none;margin:0;background-color:transparent}nav{display:flex;align-items:center}ol{display:flex;align-items:center;padding:0;margin:0;column-gap:var(--space-unit);list-style:none}li{display:flex;align-items:center;justify-content:flex-start;column-gap:var(--space-unit)}ol li>a,ol li>button{font-size:var(--font-size-2);letter-spacing:0.16px;line-height:1.4}a:focus,button:focus{box-shadow:var(--shadow-focus-primary);outline:none}a{color:var(--color-link-primary);white-space:nowrap}a.missing-path{color:var(--color-text01)}.text-ellipsis{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:var(--line-clamp-mobile);text-overflow:ellipsis;white-space:initial}nav.semibold>ol>li>a:not(.missing-path),nav.semibold>ol>li>button{font-weight:var(--font-sb);text-decoration:none}nav.underlined a,nav.underlined button{text-decoration:underline}z-icon{--z-icon-width:16px;--z-icon-height:16px;display:block;fill:var(--color-link-primary)}z-icon.separator{--z-icon-width:10px;--z-icon-height:10px;fill:var(--gray500)}button.dots{display:inline-block;color:var(--color-link-primary);cursor:pointer}.hidden-paths-popover .popover-content{max-width:302px;padding:calc(var(--space-unit) / 2) var(--space-unit);text-align:left}.hidden-paths-popover .popover-content a{font-weight:var(--font-rg);text-decoration:none}.hidden-paths-popover{--z-popover-theme--surface:var(--color-surface02);--z-popover-padding:0}.hidden-paths-popover::before,.full-path-tooltip::before{--arrow-edge-offset:calc(100% - (var(--space-unit) * 2.55))}.full-path-tooltip{--z-popover-theme--surface:var(--color-surface05);--z-popover-theme--text:var(--color-text-inverse);--z-popover-padding:0}.tooltip-content{padding:0 var(--space-unit);font-size:var(--font-size-2)}@media (min-width: 768px){.text-ellipsis{-webkit-line-clamp:var(--line-clamp-popover)}}@media (max-width: 767px){li a{display:flex;align-items:center;column-gap:var(--space-unit)}}";
12
12
  const ZBreadcrumbStyle0 = stylesCss;
13
13
 
14
14
  const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends HTMLElement {
@@ -40,7 +40,7 @@ const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends
40
40
  }
41
41
  // eslint-disable-next-line lines-between-class-members
42
42
  handlePropChange() {
43
- this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);
43
+ this.initializeBreadcrumb();
44
44
  }
45
45
  handleResizeUp(newValue, oldValue) {
46
46
  if (newValue === Device.MOBILE ||
@@ -50,12 +50,12 @@ const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends
50
50
  (oldValue === Device.TABLET && newValue === Device.DESKTOP) ||
51
51
  (oldValue === Device.TABLET && newValue === Device.DESKTOP_WIDE) ||
52
52
  (oldValue === Device.DESKTOP && newValue === Device.DESKTOP_WIDE)) {
53
- this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);
53
+ this.initializeBreadcrumb();
54
54
  }
55
55
  }
56
56
  componentWillLoad() {
57
57
  this.viewPortWidth = getDevice();
58
- this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);
58
+ this.initializeBreadcrumb();
59
59
  }
60
60
  componentWillRender() {
61
61
  if (this.viewPortWidth !== Device.MOBILE && this.hasOverflow) {
@@ -71,61 +71,52 @@ const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends
71
71
  this.hasOverflow = true;
72
72
  }
73
73
  }
74
- initializeBreadcrumb(isMobile) {
75
- if (isMobile) {
74
+ initializeBreadcrumb() {
75
+ if (this.viewPortWidth === Device.MOBILE) {
76
76
  this.pathsList = this.getPathsItemsList().filter((item) => !!item.path);
77
77
  }
78
78
  else {
79
79
  this.pathsList = this.getPathsItemsList();
80
80
  }
81
- this.totalLenght = this.pathsList.length;
82
81
  this.homepageNode = this.pathsList.shift();
83
- this.pathListCopy = JSON.parse(JSON.stringify(this.pathsList));
82
+ this.pathListCopy = [...this.pathsList];
84
83
  this.collapsedElements = [];
85
- if (this.totalLenght > this.maxNodesToShow) {
84
+ if (this.pathsList.length > this.maxNodesToShow) {
86
85
  this.collapsedElements = this.pathsList.splice(0, this.pathsList.length - 2);
87
86
  }
88
87
  }
89
88
  checkEllipsisOrOverflowMenu() {
90
- if (this.pathListCopy.length > 0) {
91
- for (let i = 0; i < this.pathsList.length; i++) {
92
- if (this.pathsList[i].text.length > this.truncateChar) {
93
- if (this.truncatePosition !== null) {
94
- if (this.truncatePosition > 0) {
95
- const arrayToPush = this.pathListCopy.splice(0, this.truncatePosition);
96
- arrayToPush.forEach((item) => {
97
- this.collapsedElements.push(item);
98
- });
99
- this.pathsList.splice(0, this.truncatePosition);
100
- this.truncatePosition = 0;
101
- return;
102
- }
103
- if (this.truncatePosition === 0) {
104
- const arrayToPush = this.pathListCopy.splice(0, this.truncatePosition + 1);
105
- this.collapsedElements.push(...arrayToPush);
106
- this.pathsList.splice(0, this.truncatePosition + 1);
107
- this.truncatePosition = null;
108
- return;
109
- }
110
- }
111
- if (i !== this.pathsList.length - 1) {
112
- const truncatedString = this.truncateWithEllipsis(this.pathsList[i].text, this.truncateChar);
113
- this.currentEllipsisText = this.pathsList[i].text;
114
- this.pathsList[i].text = truncatedString;
115
- this.pathsList[i].hasTooltip = true;
116
- this.truncatePosition = i;
117
- return;
118
- }
119
- }
89
+ for (let i = 0; i < this.pathsList.length; i++) {
90
+ if (this.pathsList[i].text.length <= this.truncateChar) {
91
+ continue;
92
+ }
93
+ if (this.truncatePosition > 0) {
94
+ this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition));
95
+ this.pathsList.splice(0, this.truncatePosition);
96
+ this.truncatePosition = 0;
97
+ return;
98
+ }
99
+ else if (this.truncatePosition === 0) {
100
+ this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition + 1));
101
+ this.pathsList.splice(0, this.truncatePosition + 1);
102
+ this.truncatePosition = null;
103
+ return;
104
+ }
105
+ if (i !== this.pathsList.length - 1) {
106
+ const truncatedString = this.truncateWithEllipsis(this.pathsList[i].text, this.truncateChar);
107
+ this.currentEllipsisText = this.pathsList[i].text;
108
+ this.pathsList[i].text = truncatedString;
109
+ this.pathsList[i].hasTooltip = true;
110
+ this.truncatePosition = i;
111
+ return;
120
112
  }
121
113
  }
122
114
  }
123
- truncateWithEllipsis(str, length) {
124
- const ending = "&mldr;";
125
- if (str.length > length) {
126
- return str.substring(0, length - 1) + ending;
115
+ truncateWithEllipsis(str, maxLength) {
116
+ if (str.length <= maxLength) {
117
+ return str;
127
118
  }
128
- return str;
119
+ return str.substring(0, maxLength - 1) + "&mldr;";
129
120
  }
130
121
  getPathsItemsList() {
131
122
  return Array.from(this.hostElement.children).map((item) => {
@@ -136,38 +127,12 @@ const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends
136
127
  };
137
128
  });
138
129
  }
139
- renderMobileBreadcrumb() {
140
- const lastPath = this.pathsList[this.pathsList.length - 1];
141
- return (h("nav", { "aria-label": "Breadcrumb", class: {
142
- underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,
143
- semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,
144
- } }, h("ol", null, this.renderNode(lastPath, true))));
145
- }
146
- renderHomepageNode(item) {
130
+ renderHomepageNode() {
147
131
  return (h("li", null, h("a", { class: {
148
- "homepage-icon": this.homepageVariant === BreadcrumbHomepageVariant.ICON,
149
132
  "homepage-text": this.homepageVariant === BreadcrumbHomepageVariant.TEXT,
150
- }, href: item.path, onClick: (e) => this.handlePreventFollowUrl(e, item) }, this.homepageVariant === BreadcrumbHomepageVariant.ICON ? (h("z-icon", { name: "home", fill: "color-link-primary", height: 16, width: 16 })) : ("Home"))));
151
- }
152
- renderNode(item, mobile) {
153
- return (h("li", null, item.hasTooltip && (h("z-popover", { class: "full-path-tooltip", "bind-to": this.triggerEllipsis, open: this.popoverEllipsisOpen, position: PopoverPosition.BOTTOM_RIGHT, closable: false, showArrow: true }, h("span", { class: "tooltip-content" }, this.currentEllipsisText))), h("a", { class: {
154
- "missing-path": !item.path,
155
- "text-ellipsis": mobile,
156
- }, ref: (val) => (this.triggerEllipsis = val), "aria-current": item.path ? undefined : "page", href: item.path, onClick: (e) => this.handlePreventFollowUrl(e, item), onMouseOver: () => {
157
- if (item.hasTooltip) {
158
- this.popoverEllipsisOpen = true;
159
- }
160
- }, onMouseLeave: () => {
161
- if (item.hasTooltip) {
162
- this.popoverEllipsisOpen = false;
163
- }
164
- }, innerHTML: mobile ? `<z-icon fill="color-link-primary" name="chevron-left"></z-icon>${item.text}` : item.text })));
165
- }
166
- renderBreadcrumb() {
167
- return (h("nav", { ref: (val) => (this.wrapElement = val), "aria-label": "Breadcrumb", class: {
168
- underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,
169
- semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,
170
- } }, h("ol", null, this.renderHomepageNode(this.homepageNode), this.collapsedElements.length ? this.renderOverflowMenu() : "", this.pathsList.map((item) => this.renderNode(item, false)))));
133
+ }, href: this.homepageNode.path, onClick: (e) => this.handlePreventFollowUrl(e, this.homepageNode), innerHTML: this.homepageVariant === BreadcrumbHomepageVariant.ICON
134
+ ? `<z-icon name="home" />`
135
+ : this.homepageNode.text || "Home" }), this.pathsList.length > 0 && (h("z-icon", { class: "separator", name: "chevron-right" }))));
171
136
  }
172
137
  togglePopover() {
173
138
  if (!this.collapsedElementsRef.open) {
@@ -203,21 +168,49 @@ const ZBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class ZBreadcrumb extends
203
168
  }
204
169
  }
205
170
  renderOverflowMenu() {
206
- if (this.collapsedElements.length) {
207
- return (h("li", null, h("z-popover", { class: "hidden-paths-popover", ref: (val) => (this.collapsedElementsRef = val), "bind-to": this.triggerButton, position: PopoverPosition.BOTTOM_RIGHT, closable: true, showArrow: true }, h("div", { class: "popover-content" }, h("z-list", null, h("z-list-group", { size: ListSize.SMALL }, this.collapsedElements.map((item, index, array) => {
208
- return (h("div", null, h("z-list-element", { clickable: true }, h("a", { class: "text-ellipsis", href: item.path, onClick: (e) => this.handlePreventFollowUrl(e, item), onKeyDown: (e) => this.handleOverflowMenuAccessibility(e) }, item.text)), index < array.length - 1 && h("z-divider", { color: "color-surface03" })));
209
- }))))), h("button", { "aria-label": "Mostra pi\u00F9 breadcrumb", "aria-haspopup": "true", ref: (el) => (this.triggerButton = el), class: "dots", onClick: () => {
210
- this.togglePopover();
211
- }, onKeyDown: (e) => {
212
- handleKeyboardSubmit(e, this.togglePopover.bind(this));
213
- setTimeout(() => {
214
- this.anchorElements[0].focus();
215
- }, 100);
216
- } }, "...")));
171
+ return (h("li", null, h("z-popover", { class: "hidden-paths-popover", ref: (val) => (this.collapsedElementsRef = val), bindTo: this.triggerButton, position: PopoverPosition.BOTTOM_RIGHT, closable: true, showArrow: true }, h("div", { class: "popover-content" }, h("z-list", null, h("z-list-group", { size: ListSize.SMALL }, this.collapsedElements.map((item, index, array) => {
172
+ return (h("div", null, h("z-list-element", { clickable: true }, h("a", { class: "text-ellipsis", href: item.path, onClick: (e) => this.handlePreventFollowUrl(e, item), onKeyDown: (e) => this.handleOverflowMenuAccessibility(e), innerHTML: item.text })), index < array.length - 1 && h("z-divider", { color: "color-surface03" })));
173
+ }))))), h("button", { class: "dots", ref: (el) => (this.triggerButton = el), "aria-label": "Mostra pi\u00F9 breadcrumb", "aria-haspopup": "true", onClick: () => {
174
+ this.togglePopover();
175
+ }, onKeyDown: (e) => {
176
+ handleKeyboardSubmit(e, this.togglePopover.bind(this));
177
+ setTimeout(() => {
178
+ this.anchorElements[0].focus();
179
+ }, 100);
180
+ }, innerHTML: "&mldr;" }), this.pathsList.length > 0 && (h("z-icon", { class: "separator", name: "chevron-right" }))));
181
+ }
182
+ renderMobileItems() {
183
+ // show only the second to last element
184
+ const secondToLastPath = this.pathsList[this.pathsList.length - 1];
185
+ if (!secondToLastPath) {
186
+ return;
217
187
  }
188
+ return (h("li", null, h("a", { "aria-current": secondToLastPath.path ? undefined : "page", href: secondToLastPath.path, onClick: (e) => this.handlePreventFollowUrl(e, secondToLastPath) }, h("z-icon", { name: "chevron-left" }), h("span", { class: {
189
+ "missing-path": !secondToLastPath.path,
190
+ "text-ellipsis": true,
191
+ } }, secondToLastPath.text))));
192
+ }
193
+ renderItems() {
194
+ let trigger;
195
+ return [
196
+ this.renderHomepageNode(),
197
+ this.collapsedElements.length > 0 && this.renderOverflowMenu(),
198
+ ...this.pathsList.map((item, index) => (h("li", null, item.hasTooltip && (h("z-popover", { class: "full-path-tooltip", bindTo: trigger, open: this.popoverEllipsisOpen, position: PopoverPosition.BOTTOM_RIGHT, closable: false, showArrow: true }, h("span", { class: "tooltip-content" }, this.currentEllipsisText))), h("a", { class: { "missing-path": !item.path }, ref: (val) => (trigger = val), "aria-current": item.path ? undefined : "page", href: item.path, onClick: (e) => this.handlePreventFollowUrl(e, item), onMouseOver: () => {
199
+ if (item.hasTooltip) {
200
+ this.popoverEllipsisOpen = true;
201
+ }
202
+ }, onMouseLeave: () => {
203
+ if (item.hasTooltip) {
204
+ this.popoverEllipsisOpen = false;
205
+ }
206
+ }, innerHTML: item.text }), index !== this.pathsList.length - 1 && (h("z-icon", { class: "separator", name: "chevron-right" }))))),
207
+ ];
218
208
  }
219
209
  render() {
220
- return (h(Host, { key: '0fdd2556f767ddc969bb26ad157149092c28976f', style: { "--line-clamp-popover": `${this.overflowMenuItemRows}` } }, this.viewPortWidth === Device.MOBILE ? this.renderMobileBreadcrumb() : this.renderBreadcrumb()));
210
+ return (h(Host, { key: 'b5f0321b29ae51fac8fba3cc0302beff908cd56e', style: { "--line-clamp-popover": `${this.overflowMenuItemRows}` } }, h("nav", { key: '32d4c57f93c3fd943cb6f6b72b9f9c004003d470', ref: (val) => (this.wrapElement = val), "aria-label": "Breadcrumb", class: {
211
+ semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,
212
+ underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,
213
+ } }, h("ol", { key: '725c96157a94749d8e55e321dd1708132479b74a' }, this.viewPortWidth === Device.MOBILE ? this.renderMobileItems() : this.renderItems()))));
221
214
  }
222
215
  get hostElement() { return this; }
223
216
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"z-breadcrumb.js","mappings":"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","names":["ZBreadcrumb"],"sources":["src/components/z-breadcrumb/styles.css?tag=z-breadcrumb&encapsulation=shadow","src/components/z-breadcrumb/index.tsx"],"sourcesContent":[":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --line-clamp-popover: 0;\n --line-clamp-mobile: 1;\n}\n\nbutton {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\nnav {\n display: flex;\n height: 30px;\n align-items: center;\n padding-left: calc(var(--space-unit) / 2);\n overflow-x: hidden;\n}\n\nli {\n display: flex;\n align-items: baseline;\n}\n\n:host a:focus,\n:host button:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: 0;\n}\n\n:host a {\n color: var(--color-link-primary);\n font-size: var(--font-size-2);\n text-decoration: none;\n white-space: nowrap;\n}\n\n:host a.homepage-icon {\n display: list-item;\n}\n\n:host a.homepage-text {\n display: initial;\n margin-top: calc(var(--space-unit) / 4);\n margin-right: var(--space-unit);\n}\n\n:host a.missing-path {\n color: var(--color-text01);\n}\n\n:host a.text-ellipsis {\n display: -webkit-box !important;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--line-clamp-mobile);\n text-overflow: ellipsis;\n white-space: normal;\n}\n\n:host ol {\n display: flex;\n padding: 0;\n margin: 0;\n list-style-type: none;\n}\n\n:host ol > li:not(:first-child, :last-child) {\n margin-right: var(--space-unit);\n}\n\nnav.underlined > ol > li a:not(.missing-path),\nnav.underlined > ol > li button {\n text-decoration: underline;\n}\n\nnav.semibold > ol > li a:not(.missing-path),\nnav.semibold > ol > li button {\n font-weight: var(--font-sb);\n}\n\n:host z-icon {\n margin-right: var(--space-unit);\n\n --z-icon-width: 12px;\n --z-icon-height: 12px;\n}\n\n:host button.dots {\n display: inline-block;\n color: var(--color-link-primary);\n cursor: pointer;\n}\n\n:host .hidden-paths-popover .popover-content {\n max-width: 302px;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n text-align: left;\n}\n\n:host .hidden-paths-popover .popover-content a {\n font-weight: var(--font-rg);\n text-decoration: none;\n}\n\n:host .hidden-paths-popover {\n --z-popover-theme--surface: var(--color-surface02);\n --z-popover-padding: 0;\n}\n\n:host .hidden-paths-popover::before,\n.full-path-tooltip::before {\n --arrow-edge-offset: calc(100% - (var(--space-unit) * 2.55));\n}\n\n:host .full-path-tooltip {\n --z-popover-theme--surface: var(--color-surface05);\n --z-popover-theme--text: var(--color-text-inverse);\n --z-popover-padding: 0;\n}\n\n:host .tooltip-content {\n padding: 0 var(--space-unit);\n font-size: var(--font-size-2);\n}\n\n@media (min-width: 768px) {\n /* https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/examples/breadcrumb/#accessibilityfeatures */\n :host ol > li + li::before {\n display: inline-block;\n width: 10px;\n height: 10px;\n flex: 1;\n margin-right: 2px;\n color: var(--color-disabled03);\n content: \"\\203A\";\n }\n\n :host a.text-ellipsis {\n -webkit-line-clamp: var(--line-clamp-popover);\n }\n}\n","import {Component, Prop, h, State, Host, Listen, Element, Event, Watch, EventEmitter} from \"@stencil/core\";\nimport {\n BreadcrumbHomepageVariant,\n BreadcrumbPath,\n BreadcrumbPathStyle,\n Device,\n KeyboardCode,\n ListSize,\n PopoverPosition,\n} from \"../../beans\";\nimport {getDevice, handleKeyboardSubmit} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-breadcrumb\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZBreadcrumb {\n /* Accessibility references */\n /* Overflow-menu: https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/ */\n /* Breadcrumb: https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ */\n /* Focus on multiline link: https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html */\n\n @Element() hostElement: HTMLZBreadcrumbElement;\n\n /** [optional] Sets the path style */\n @Prop({reflect: true})\n pathStyle?: BreadcrumbPathStyle = BreadcrumbPathStyle.UNDERLINED;\n\n /** [optional] Variant of first node */\n @Prop()\n homepageVariant?: BreadcrumbHomepageVariant = BreadcrumbHomepageVariant.ICON;\n\n /** [optional] Sets max number of element to show */\n @Prop()\n maxNodesToShow? = 5;\n\n /** [optional] Controls the behaviour on <a> tag click/enter */\n @Prop()\n preventFollowUrl? = false;\n\n /** [optional] Sets max number of row for each path inside the popover. Zero equals unlimited */\n @Prop()\n overflowMenuItemRows? = 0;\n\n /** [optional] Sets the maximun number of chars per single node */\n @Prop()\n truncateChar? = 30;\n\n /** Handle mobile */\n @State()\n viewPortWidth: Device;\n\n /** Detect whether the length of the nodes shown exceeds the container length */\n @State()\n hasOverflow = false;\n\n @State()\n popoverEllipsisOpen = false;\n\n /** Emitted when preventFollowUrl=true to handle custom page transition */\n @Event()\n clickOnNode: EventEmitter<BreadcrumbPath[\"path\"]>;\n\n @Listen(\"resize\", {target: \"window\"})\n handleResize(): void {\n this.viewPortWidth = getDevice();\n if (\n this.viewPortWidth !== Device.MOBILE &&\n this.wrapElement &&\n this.wrapElement.scrollWidth > this.wrapElement.clientWidth\n ) {\n this.hasOverflow = true;\n }\n }\n // eslint-disable-next-line lines-between-class-members\n @Watch(\"maxNodesToShow\")\n handlePropChange(): void {\n this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);\n }\n\n @Watch(\"viewPortWidth\")\n handleResizeUp(newValue: Device, oldValue: Device): void {\n if (\n newValue === Device.MOBILE ||\n (oldValue === Device.MOBILE && newValue === Device.TABLET) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.DESKTOP && newValue === Device.DESKTOP_WIDE)\n ) {\n this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);\n }\n }\n\n private pathsList: BreadcrumbPath[];\n\n private pathListCopy: BreadcrumbPath[];\n\n private collapsedElements: BreadcrumbPath[] = [];\n\n private collapsedElementsRef: HTMLZPopoverElement;\n\n private triggerButton: HTMLButtonElement;\n\n private triggerEllipsis: HTMLAnchorElement;\n\n private wrapElement: HTMLElement;\n\n private currentIndex = 0;\n\n private homepageNode: BreadcrumbPath;\n\n private totalLenght: number;\n\n private anchorElements;\n\n private currentEllipsisText: string;\n\n private truncatePosition = null;\n\n componentWillLoad(): void {\n this.viewPortWidth = getDevice();\n this.initializeBreadcrumb(this.viewPortWidth === Device.MOBILE);\n }\n\n componentWillRender(): void {\n if (this.viewPortWidth !== Device.MOBILE && this.hasOverflow) {\n this.checkEllipsisOrOverflowMenu();\n this.hasOverflow = false;\n }\n }\n\n componentDidRender(): void {\n if (this.collapsedElementsRef) {\n this.anchorElements = Array.from(this.hostElement.shadowRoot.querySelectorAll(\"z-list-group a\"));\n }\n\n if (this.viewPortWidth !== Device.MOBILE && this.wrapElement.scrollWidth > this.wrapElement.clientWidth) {\n this.hasOverflow = true;\n }\n }\n\n private initializeBreadcrumb(isMobile: boolean): void {\n if (isMobile) {\n this.pathsList = this.getPathsItemsList().filter((item) => !!item.path);\n } else {\n this.pathsList = this.getPathsItemsList();\n }\n this.totalLenght = this.pathsList.length;\n this.homepageNode = this.pathsList.shift();\n this.pathListCopy = JSON.parse(JSON.stringify(this.pathsList));\n this.collapsedElements = [];\n if (this.totalLenght > this.maxNodesToShow) {\n this.collapsedElements = this.pathsList.splice(0, this.pathsList.length - 2);\n }\n }\n\n private checkEllipsisOrOverflowMenu(): void {\n if (this.pathListCopy.length > 0) {\n for (let i = 0; i < this.pathsList.length; i++) {\n if (this.pathsList[i].text.length > this.truncateChar) {\n if (this.truncatePosition !== null) {\n if (this.truncatePosition > 0) {\n const arrayToPush = this.pathListCopy.splice(0, this.truncatePosition);\n arrayToPush.forEach((item) => {\n this.collapsedElements.push(item);\n });\n this.pathsList.splice(0, this.truncatePosition);\n this.truncatePosition = 0;\n\n return;\n }\n if (this.truncatePosition === 0) {\n const arrayToPush = this.pathListCopy.splice(0, this.truncatePosition + 1);\n this.collapsedElements.push(...arrayToPush);\n this.pathsList.splice(0, this.truncatePosition + 1);\n this.truncatePosition = null;\n\n return;\n }\n }\n if (i !== this.pathsList.length - 1) {\n const truncatedString = this.truncateWithEllipsis(this.pathsList[i].text, this.truncateChar);\n this.currentEllipsisText = this.pathsList[i].text;\n this.pathsList[i].text = truncatedString;\n this.pathsList[i].hasTooltip = true;\n this.truncatePosition = i;\n\n return;\n }\n }\n }\n }\n }\n\n private truncateWithEllipsis(str: string, length: number): string {\n const ending = \"&mldr;\";\n\n if (str.length > length) {\n return str.substring(0, length - 1) + ending;\n }\n\n return str;\n }\n\n private getPathsItemsList(): BreadcrumbPath[] {\n return Array.from(this.hostElement.children).map((item: HTMLAnchorElement) => {\n return {\n text: item.textContent,\n path: item.href,\n hasTooltip: false,\n };\n });\n }\n\n private renderMobileBreadcrumb(): HTMLDivElement {\n const lastPath = this.pathsList[this.pathsList.length - 1];\n\n return (\n <nav\n aria-label=\"Breadcrumb\"\n class={{\n underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,\n semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,\n }}\n >\n <ol>{this.renderNode(lastPath, true)}</ol>\n </nav>\n );\n }\n\n private renderHomepageNode(item): HTMLLIElement {\n return (\n <li>\n <a\n class={{\n \"homepage-icon\": this.homepageVariant === BreadcrumbHomepageVariant.ICON,\n \"homepage-text\": this.homepageVariant === BreadcrumbHomepageVariant.TEXT,\n }}\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n >\n {this.homepageVariant === BreadcrumbHomepageVariant.ICON ? (\n <z-icon\n name=\"home\"\n fill=\"color-link-primary\"\n height={16}\n width={16}\n />\n ) : (\n \"Home\"\n )}\n </a>\n </li>\n );\n }\n\n private renderNode(item, mobile): HTMLLIElement {\n return (\n <li>\n {item.hasTooltip && (\n <z-popover\n class=\"full-path-tooltip\"\n bind-to={this.triggerEllipsis}\n open={this.popoverEllipsisOpen}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable={false}\n showArrow\n >\n <span class=\"tooltip-content\">{this.currentEllipsisText}</span>\n </z-popover>\n )}\n <a\n class={{\n \"missing-path\": !item.path,\n \"text-ellipsis\": mobile,\n }}\n ref={(val) => (this.triggerEllipsis = val)}\n aria-current={item.path ? undefined : \"page\"}\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onMouseOver={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = true;\n }\n }}\n onMouseLeave={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = false;\n }\n }}\n innerHTML={mobile ? `<z-icon fill=\"color-link-primary\" name=\"chevron-left\"></z-icon>${item.text}` : item.text}\n />\n </li>\n );\n }\n\n private renderBreadcrumb(): HTMLElement {\n return (\n <nav\n ref={(val) => (this.wrapElement = val)}\n aria-label=\"Breadcrumb\"\n class={{\n underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,\n semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,\n }}\n >\n <ol>\n {this.renderHomepageNode(this.homepageNode)}\n {this.collapsedElements.length ? this.renderOverflowMenu() : \"\"}\n {this.pathsList.map((item) => this.renderNode(item, false))}\n </ol>\n </nav>\n );\n }\n\n private togglePopover(): void {\n if (!this.collapsedElementsRef.open) {\n this.collapsedElementsRef.open = true;\n }\n }\n\n private handlePreventFollowUrl(e: MouseEvent, item): void {\n if (this.preventFollowUrl) {\n e.preventDefault();\n this.clickOnNode.emit(item.path);\n }\n }\n\n private handleOverflowMenuAccessibility(e: KeyboardEvent): void {\n const anchorElementsLenght = this.anchorElements.length;\n if (e.key === KeyboardCode.TAB) {\n e.preventDefault();\n\n return;\n }\n e.stopPropagation();\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (arrows.includes(e.key as KeyboardCode)) {\n e.preventDefault();\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n this.currentIndex = anchorElementsLenght === this.currentIndex + 1 ? 0 : this.currentIndex + 1;\n }\n if (e.key === KeyboardCode.ARROW_UP) {\n this.currentIndex = this.currentIndex <= 0 ? anchorElementsLenght - 1 : this.currentIndex - 1;\n }\n\n this.anchorElements[this.currentIndex].focus();\n }\n\n if (e.key === KeyboardCode.ESC) {\n this.triggerButton.focus();\n }\n }\n\n private renderOverflowMenu(): HTMLLIElement {\n if (this.collapsedElements.length) {\n return (\n <li>\n <z-popover\n class=\"hidden-paths-popover\"\n ref={(val) => (this.collapsedElementsRef = val as HTMLZPopoverElement)}\n bind-to={this.triggerButton}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable={true}\n showArrow\n >\n <div class=\"popover-content\">\n <z-list>\n <z-list-group size={ListSize.SMALL}>\n {this.collapsedElements.map((item, index, array) => {\n return (\n <div>\n <z-list-element clickable>\n <a\n class=\"text-ellipsis\"\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onKeyDown={(e) => this.handleOverflowMenuAccessibility(e)}\n >\n {item.text}\n </a>\n </z-list-element>\n {index < array.length - 1 && <z-divider color=\"color-surface03\"></z-divider>}\n </div>\n );\n })}\n </z-list-group>\n </z-list>\n </div>\n </z-popover>\n <button\n aria-label=\"Mostra più breadcrumb\"\n aria-haspopup=\"true\"\n ref={(el) => (this.triggerButton = el as HTMLButtonElement)}\n class=\"dots\"\n onClick={() => {\n this.togglePopover();\n }}\n onKeyDown={(e) => {\n handleKeyboardSubmit(e, this.togglePopover.bind(this));\n setTimeout(() => {\n this.anchorElements[0].focus();\n }, 100);\n }}\n >\n ...\n </button>\n </li>\n );\n }\n }\n\n render(): HTMLZBreadcrumbElement {\n return (\n <Host style={{\"--line-clamp-popover\": `${this.overflowMenuItemRows}`}}>\n {this.viewPortWidth === Device.MOBILE ? this.renderMobileBreadcrumb() : this.renderBreadcrumb()}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-breadcrumb.js","mappings":";;;;;;;;;;AAAA,MAAM,SAAS,GAAG,wjEAAwjE,CAAC;AAC3kE,0BAAe,SAAS;;MCgBXA,aAAW;;;;;;QAmDd,sBAAiB,GAAqB,EAAE,CAAC;QAQzC,iBAAY,GAAG,CAAC,CAAC;QAQjB,qBAAgB,GAAG,IAAI,CAAC;yBAzDE,mBAAmB,CAAC,UAAU;+BAIlB,yBAAyB,CAAC,IAAI;8BAI1D,CAAC;gCAIC,KAAK;oCAID,CAAC;4BAIT,EAAE;;2BAQJ,KAAK;mCAGG,KAAK;;IA6B3B,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC;QACjC,IACE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM;YACpC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAC3D;YACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;KACF;;IAGD,gBAAgB;QACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAGD,cAAc,CAAC,QAAgB,EAAE,QAAgB;QAC/C,IACE,QAAQ,KAAK,MAAM,CAAC,MAAM;aACzB,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC;aACzD,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC;aAC1D,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,YAAY,CAAC;aAC/D,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,OAAO,CAAC;aAC1D,QAAQ,KAAK,MAAM,CAAC,MAAM,IAAI,QAAQ,KAAK,MAAM,CAAC,YAAY,CAAC;aAC/D,QAAQ,KAAK,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC,YAAY,CAAC,EACjE;YACA,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5D,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;KACF;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAClG;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YACvG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;KACF;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzE;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC3C;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;YAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC9E;KACF;IAEO,2BAA2B;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtD,SAAS;aACV;YAED,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAE1B,OAAO;aACR;iBAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAE7B,OAAO;aACR;YAED,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC;gBACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBAE1B,OAAO;aACR;SACF;KACF;IAEO,oBAAoB,CAAC,GAAW,EAAE,SAAiB;QACzD,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE;YAC3B,OAAO,GAAG,CAAC;SACZ;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;KACnD;IAEO,iBAAiB;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAuB;YACvE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,KAAK;aAClB,CAAC;SACH,CAAC,CAAC;KACJ;IAEO,kBAAkB;QACxB,QACE,cACE,SACE,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,eAAe,KAAK,yBAAyB,CAAC,IAAI;aACzE,EACD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EACjE,SAAS,EACP,IAAI,CAAC,eAAe,KAAK,yBAAyB,CAAC,IAAI;kBACnD,wBAAwB;kBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,MAAM,GAEtC,EACD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KACxB,cACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,eAAe,GACpB,CACH,CACE,EACL;KACH;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC;SACvC;KACF;IAEO,sBAAsB,CAAC,CAAa,EAAE,IAAI;QAChD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC;KACF;IAEO,+BAA+B,CAAC,CAAgB;QACtD,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,EAAE;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,OAAO;SACR;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAmB,CAAC,EAAE;YAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,UAAU,EAAE;gBACrC,IAAI,CAAC,YAAY,GAAG,oBAAoB,KAAK,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAChG;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,QAAQ,EAAE;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aAC/F;YAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;SAChD;QAED,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;KACF;IAEO,kBAAkB;QACxB,QACE,cACE,iBACE,KAAK,EAAC,sBAAsB,EAC5B,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,oBAAoB,GAAG,GAA0B,CAAC,EACtE,MAAM,EAAE,IAAI,CAAC,aAAa,EAC1B,QAAQ,EAAE,eAAe,CAAC,YAAY,EACtC,QAAQ,QACR,SAAS,UAET,WAAK,KAAK,EAAC,iBAAiB,IAC1B,kBACE,oBAAc,IAAI,EAAE,QAAQ,CAAC,KAAK,IAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK;YAC7C,QACE,eACE,sBAAgB,SAAS,UACvB,SACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,EACpD,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,EACzD,SAAS,EAAE,IAAI,CAAC,IAAI,GACpB,CACa,EAChB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAW,KAAK,EAAC,iBAAiB,GAAa,CACxE,EACN;SACH,CAAC,CACW,CACR,CACL,CACI,EACZ,cACE,KAAK,EAAC,MAAM,EACZ,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,gBAC3B,4BAAuB,mBACpB,MAAM,EACpB,OAAO,EAAE;gBACP,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB,EACD,SAAS,EAAE,CAAC,CAAC;gBACX,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,UAAU,CAAC;oBACT,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;iBAChC,EAAE,GAAG,CAAC,CAAC;aACT,EACD,SAAS,EAAC,QAAQ,GACV,EACT,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KACxB,cACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,eAAe,GACpB,CACH,CACE,EACL;KACH;IAEO,iBAAiB;;QAEvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO;SACR;QAED,QACE,cACE,yBACgB,gBAAgB,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,EACxD,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAEhE,cAAQ,IAAI,EAAC,cAAc,GAAG,EAC9B,YACE,KAAK,EAAE;gBACL,cAAc,EAAE,CAAC,gBAAgB,CAAC,IAAI;gBACtC,eAAe,EAAE,IAAI;aACtB,IAEA,gBAAgB,CAAC,IAAI,CACjB,CACL,CACD,EACL;KACH;IAEO,WAAW;QACjB,IAAI,OAAO,CAAC;QAEZ,OAAO;YACL,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC9D,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAChC,cACG,IAAI,CAAC,UAAU,KACd,iBACE,KAAK,EAAC,mBAAmB,EACzB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAC9B,QAAQ,EAAE,eAAe,CAAC,YAAY,EACtC,QAAQ,EAAE,KAAK,EACf,SAAS,UAET,YAAM,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,mBAAmB,CAAQ,CACrD,CACb,EACD,SACE,KAAK,EAAE,EAAC,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,EAAC,EACnC,GAAG,EAAE,CAAC,GAAG,MAAM,OAAO,GAAG,GAAG,CAAC,kBACf,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,EAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,EACpD,WAAW,EAAE;oBACX,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;qBACjC;iBACF,EACD,YAAY,EAAE;oBACZ,IAAI,IAAI,CAAC,UAAU,EAAE;wBACnB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;qBAClC;iBACF,EACD,SAAS,EAAE,IAAI,CAAC,IAAI,GACpB,EACD,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAClC,cACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,eAAe,GACpB,CACH,CACE,CACN,CAAC;SACH,CAAC;KACH;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAC,IACnE,4DACE,GAAG,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,gBAC3B,YAAY,EACvB,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,QAAQ;gBACzD,UAAU,EAAE,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,UAAU;aAC9D,IAED,6DAAK,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAM,CAC3F,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["ZBreadcrumb"],"sources":["src/components/z-breadcrumb/styles.css?tag=z-breadcrumb&encapsulation=shadow","src/components/z-breadcrumb/index.tsx"],"sourcesContent":[":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --line-clamp-popover: 0;\n --line-clamp-mobile: 1;\n}\n\n* {\n box-sizing: border-box;\n}\n\nbutton {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\nnav {\n display: flex;\n align-items: center;\n}\n\nol {\n display: flex;\n align-items: center;\n padding: 0;\n margin: 0;\n column-gap: var(--space-unit);\n list-style: none;\n}\n\nli {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n column-gap: var(--space-unit);\n}\n\nol li > a,\nol li > button {\n font-size: var(--font-size-2);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\na:focus,\nbutton:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na {\n color: var(--color-link-primary);\n white-space: nowrap;\n}\n\na.missing-path {\n color: var(--color-text01);\n}\n\n.text-ellipsis {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--line-clamp-mobile);\n text-overflow: ellipsis;\n white-space: initial;\n}\n\nnav.semibold > ol > li > a:not(.missing-path),\nnav.semibold > ol > li > button {\n font-weight: var(--font-sb);\n text-decoration: none;\n}\n\nnav.underlined a,\nnav.underlined button {\n text-decoration: underline;\n}\n\nz-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n\n display: block;\n fill: var(--color-link-primary);\n}\n\nz-icon.separator {\n --z-icon-width: 10px;\n --z-icon-height: 10px;\n\n fill: var(--gray500);\n}\n\nbutton.dots {\n display: inline-block;\n color: var(--color-link-primary);\n cursor: pointer;\n}\n\n.hidden-paths-popover .popover-content {\n max-width: 302px;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n text-align: left;\n}\n\n.hidden-paths-popover .popover-content a {\n font-weight: var(--font-rg);\n text-decoration: none;\n}\n\n.hidden-paths-popover {\n --z-popover-theme--surface: var(--color-surface02);\n --z-popover-padding: 0;\n}\n\n.hidden-paths-popover::before,\n.full-path-tooltip::before {\n --arrow-edge-offset: calc(100% - (var(--space-unit) * 2.55));\n}\n\n.full-path-tooltip {\n --z-popover-theme--surface: var(--color-surface05);\n --z-popover-theme--text: var(--color-text-inverse);\n --z-popover-padding: 0;\n}\n\n.tooltip-content {\n padding: 0 var(--space-unit);\n font-size: var(--font-size-2);\n}\n\n@media (min-width: 768px) {\n .text-ellipsis {\n -webkit-line-clamp: var(--line-clamp-popover);\n }\n}\n\n@media (max-width: 767px) {\n li a {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n }\n}\n","import {Component, Prop, h, State, Host, Listen, Element, Event, Watch, EventEmitter} from \"@stencil/core\";\nimport {\n BreadcrumbHomepageVariant,\n BreadcrumbPath,\n BreadcrumbPathStyle,\n Device,\n KeyboardCode,\n ListSize,\n PopoverPosition,\n} from \"../../beans\";\nimport {getDevice, handleKeyboardSubmit} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-breadcrumb\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZBreadcrumb {\n /* Accessibility references */\n /* Overflow-menu: https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/ */\n /* Breadcrumb: https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/ */\n /* Focus on multiline link: https://www.w3.org/WAI/WCAG22/Understanding/focus-appearance.html */\n\n @Element() hostElement: HTMLZBreadcrumbElement;\n\n /** [optional] Sets the path style */\n @Prop({reflect: true})\n pathStyle?: BreadcrumbPathStyle = BreadcrumbPathStyle.UNDERLINED;\n\n /** [optional] Variant of first node */\n @Prop()\n homepageVariant?: BreadcrumbHomepageVariant = BreadcrumbHomepageVariant.ICON;\n\n /** [optional] Sets max number of element to show */\n @Prop()\n maxNodesToShow? = 5;\n\n /** [optional] Controls the behaviour on <a> tag click/enter */\n @Prop()\n preventFollowUrl? = false;\n\n /** [optional] Sets max number of row for each path inside the popover. Zero equals unlimited */\n @Prop()\n overflowMenuItemRows? = 0;\n\n /** [optional] Sets the maximun number of chars per single node */\n @Prop()\n truncateChar? = 30;\n\n /** Handle mobile */\n @State()\n viewPortWidth: Device;\n\n /** Detect whether the length of the nodes shown exceeds the container length */\n @State()\n hasOverflow = false;\n\n @State()\n popoverEllipsisOpen = false;\n\n /** Emitted when preventFollowUrl=true to handle custom page transition */\n @Event()\n clickOnNode: EventEmitter<BreadcrumbPath[\"path\"]>;\n\n private pathsList: BreadcrumbPath[];\n\n private pathListCopy: BreadcrumbPath[];\n\n private collapsedElements: BreadcrumbPath[] = [];\n\n private collapsedElementsRef: HTMLZPopoverElement;\n\n private triggerButton: HTMLButtonElement;\n\n private wrapElement: HTMLElement;\n\n private currentIndex = 0;\n\n private homepageNode: BreadcrumbPath;\n\n private anchorElements;\n\n private currentEllipsisText: string;\n\n private truncatePosition = null;\n\n @Listen(\"resize\", {target: \"window\"})\n handleResize(): void {\n this.viewPortWidth = getDevice();\n if (\n this.viewPortWidth !== Device.MOBILE &&\n this.wrapElement &&\n this.wrapElement.scrollWidth > this.wrapElement.clientWidth\n ) {\n this.hasOverflow = true;\n }\n }\n // eslint-disable-next-line lines-between-class-members\n @Watch(\"maxNodesToShow\")\n handlePropChange(): void {\n this.initializeBreadcrumb();\n }\n\n @Watch(\"viewPortWidth\")\n handleResizeUp(newValue: Device, oldValue: Device): void {\n if (\n newValue === Device.MOBILE ||\n (oldValue === Device.MOBILE && newValue === Device.TABLET) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP) ||\n (oldValue === Device.MOBILE && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP) ||\n (oldValue === Device.TABLET && newValue === Device.DESKTOP_WIDE) ||\n (oldValue === Device.DESKTOP && newValue === Device.DESKTOP_WIDE)\n ) {\n this.initializeBreadcrumb();\n }\n }\n\n componentWillLoad(): void {\n this.viewPortWidth = getDevice();\n this.initializeBreadcrumb();\n }\n\n componentWillRender(): void {\n if (this.viewPortWidth !== Device.MOBILE && this.hasOverflow) {\n this.checkEllipsisOrOverflowMenu();\n this.hasOverflow = false;\n }\n }\n\n componentDidRender(): void {\n if (this.collapsedElementsRef) {\n this.anchorElements = Array.from(this.hostElement.shadowRoot.querySelectorAll(\"z-list-group a\"));\n }\n\n if (this.viewPortWidth !== Device.MOBILE && this.wrapElement.scrollWidth > this.wrapElement.clientWidth) {\n this.hasOverflow = true;\n }\n }\n\n private initializeBreadcrumb(): void {\n if (this.viewPortWidth === Device.MOBILE) {\n this.pathsList = this.getPathsItemsList().filter((item) => !!item.path);\n } else {\n this.pathsList = this.getPathsItemsList();\n }\n this.homepageNode = this.pathsList.shift();\n this.pathListCopy = [...this.pathsList];\n this.collapsedElements = [];\n if (this.pathsList.length > this.maxNodesToShow) {\n this.collapsedElements = this.pathsList.splice(0, this.pathsList.length - 2);\n }\n }\n\n private checkEllipsisOrOverflowMenu(): void {\n for (let i = 0; i < this.pathsList.length; i++) {\n if (this.pathsList[i].text.length <= this.truncateChar) {\n continue;\n }\n\n if (this.truncatePosition > 0) {\n this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition));\n this.pathsList.splice(0, this.truncatePosition);\n this.truncatePosition = 0;\n\n return;\n } else if (this.truncatePosition === 0) {\n this.collapsedElements.push(...this.pathListCopy.splice(0, this.truncatePosition + 1));\n this.pathsList.splice(0, this.truncatePosition + 1);\n this.truncatePosition = null;\n\n return;\n }\n\n if (i !== this.pathsList.length - 1) {\n const truncatedString = this.truncateWithEllipsis(this.pathsList[i].text, this.truncateChar);\n this.currentEllipsisText = this.pathsList[i].text;\n this.pathsList[i].text = truncatedString;\n this.pathsList[i].hasTooltip = true;\n this.truncatePosition = i;\n\n return;\n }\n }\n }\n\n private truncateWithEllipsis(str: string, maxLength: number): string {\n if (str.length <= maxLength) {\n return str;\n }\n\n return str.substring(0, maxLength - 1) + \"&mldr;\";\n }\n\n private getPathsItemsList(): BreadcrumbPath[] {\n return Array.from(this.hostElement.children).map((item: HTMLAnchorElement) => {\n return {\n text: item.textContent,\n path: item.href,\n hasTooltip: false,\n };\n });\n }\n\n private renderHomepageNode(): HTMLLIElement {\n return (\n <li>\n <a\n class={{\n \"homepage-text\": this.homepageVariant === BreadcrumbHomepageVariant.TEXT,\n }}\n href={this.homepageNode.path}\n onClick={(e) => this.handlePreventFollowUrl(e, this.homepageNode)}\n innerHTML={\n this.homepageVariant === BreadcrumbHomepageVariant.ICON\n ? `<z-icon name=\"home\" />`\n : this.homepageNode.text || \"Home\"\n }\n />\n {this.pathsList.length > 0 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n />\n )}\n </li>\n );\n }\n\n private togglePopover(): void {\n if (!this.collapsedElementsRef.open) {\n this.collapsedElementsRef.open = true;\n }\n }\n\n private handlePreventFollowUrl(e: MouseEvent, item): void {\n if (this.preventFollowUrl) {\n e.preventDefault();\n this.clickOnNode.emit(item.path);\n }\n }\n\n private handleOverflowMenuAccessibility(e: KeyboardEvent): void {\n const anchorElementsLenght = this.anchorElements.length;\n if (e.key === KeyboardCode.TAB) {\n e.preventDefault();\n\n return;\n }\n e.stopPropagation();\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (arrows.includes(e.key as KeyboardCode)) {\n e.preventDefault();\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n this.currentIndex = anchorElementsLenght === this.currentIndex + 1 ? 0 : this.currentIndex + 1;\n }\n if (e.key === KeyboardCode.ARROW_UP) {\n this.currentIndex = this.currentIndex <= 0 ? anchorElementsLenght - 1 : this.currentIndex - 1;\n }\n\n this.anchorElements[this.currentIndex].focus();\n }\n\n if (e.key === KeyboardCode.ESC) {\n this.triggerButton.focus();\n }\n }\n\n private renderOverflowMenu(): HTMLLIElement {\n return (\n <li>\n <z-popover\n class=\"hidden-paths-popover\"\n ref={(val) => (this.collapsedElementsRef = val as HTMLZPopoverElement)}\n bindTo={this.triggerButton}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable\n showArrow\n >\n <div class=\"popover-content\">\n <z-list>\n <z-list-group size={ListSize.SMALL}>\n {this.collapsedElements.map((item, index, array) => {\n return (\n <div>\n <z-list-element clickable>\n <a\n class=\"text-ellipsis\"\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onKeyDown={(e) => this.handleOverflowMenuAccessibility(e)}\n innerHTML={item.text}\n />\n </z-list-element>\n {index < array.length - 1 && <z-divider color=\"color-surface03\"></z-divider>}\n </div>\n );\n })}\n </z-list-group>\n </z-list>\n </div>\n </z-popover>\n <button\n class=\"dots\"\n ref={(el) => (this.triggerButton = el)}\n aria-label=\"Mostra più breadcrumb\"\n aria-haspopup=\"true\"\n onClick={() => {\n this.togglePopover();\n }}\n onKeyDown={(e) => {\n handleKeyboardSubmit(e, this.togglePopover.bind(this));\n setTimeout(() => {\n this.anchorElements[0].focus();\n }, 100);\n }}\n innerHTML=\"&mldr;\"\n ></button>\n {this.pathsList.length > 0 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n />\n )}\n </li>\n );\n }\n\n private renderMobileItems(): HTMLLIElement {\n // show only the second to last element\n const secondToLastPath = this.pathsList[this.pathsList.length - 1];\n\n if (!secondToLastPath) {\n return;\n }\n\n return (\n <li>\n <a\n aria-current={secondToLastPath.path ? undefined : \"page\"}\n href={secondToLastPath.path}\n onClick={(e) => this.handlePreventFollowUrl(e, secondToLastPath)}\n >\n <z-icon name=\"chevron-left\" />\n <span\n class={{\n \"missing-path\": !secondToLastPath.path,\n \"text-ellipsis\": true,\n }}\n >\n {secondToLastPath.text}\n </span>\n </a>\n </li>\n );\n }\n\n private renderItems(): HTMLElement[] {\n let trigger;\n\n return [\n this.renderHomepageNode(),\n this.collapsedElements.length > 0 && this.renderOverflowMenu(),\n ...this.pathsList.map((item, index) => (\n <li>\n {item.hasTooltip && (\n <z-popover\n class=\"full-path-tooltip\"\n bindTo={trigger}\n open={this.popoverEllipsisOpen}\n position={PopoverPosition.BOTTOM_RIGHT}\n closable={false}\n showArrow\n >\n <span class=\"tooltip-content\">{this.currentEllipsisText}</span>\n </z-popover>\n )}\n <a\n class={{\"missing-path\": !item.path}}\n ref={(val) => (trigger = val)}\n aria-current={item.path ? undefined : \"page\"}\n href={item.path}\n onClick={(e) => this.handlePreventFollowUrl(e, item)}\n onMouseOver={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = true;\n }\n }}\n onMouseLeave={() => {\n if (item.hasTooltip) {\n this.popoverEllipsisOpen = false;\n }\n }}\n innerHTML={item.text}\n />\n {index !== this.pathsList.length - 1 && (\n <z-icon\n class=\"separator\"\n name=\"chevron-right\"\n />\n )}\n </li>\n )),\n ];\n }\n\n render(): HTMLZBreadcrumbElement {\n return (\n <Host style={{\"--line-clamp-popover\": `${this.overflowMenuItemRows}`}}>\n <nav\n ref={(val) => (this.wrapElement = val)}\n aria-label=\"Breadcrumb\"\n class={{\n semibold: this.pathStyle === BreadcrumbPathStyle.SEMIBOLD,\n underlined: this.pathStyle === BreadcrumbPathStyle.UNDERLINED,\n }}\n >\n <ol>{this.viewPortWidth === Device.MOBILE ? this.renderMobileItems() : this.renderItems()}</ol>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { I as InputType, e as ControlSize, g as KeyboardCode, l as ListDividerType, i as ListSize } from './index2.js';
2
+ import { I as InputType, e as ControlSize, i as ListSize, g as KeyboardCode, l as ListDividerType } from './index2.js';
3
3
  import { r as randomId, h as handleKeyboardSubmit } from './utils.js';
4
4
  import { d as defineCustomElement$8 } from './index6.js';
5
5
  import { d as defineCustomElement$7 } from './index9.js';
@@ -82,21 +82,14 @@ const ZCombobox$1 = /*@__PURE__*/ proxyCustomElement(class ZCombobox extends HTM
82
82
  return Array.from(this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`));
83
83
  }
84
84
  getControlToListSize() {
85
- let size;
86
85
  switch (this.size) {
87
- case ControlSize.BIG:
88
- size = ListSize.LARGE;
89
- break;
90
- case ControlSize.SMALL:
91
- size = ListSize.SMALL;
92
- break;
93
86
  case ControlSize.X_SMALL:
94
- size = ListSize.SMALL;
95
- break;
87
+ return ListSize.SMALL;
88
+ case ControlSize.SMALL:
89
+ return ListSize.MEDIUM;
96
90
  default:
97
- size = ListSize.MEDIUM;
91
+ return ListSize.LARGE;
98
92
  }
99
- return size;
100
93
  }
101
94
  handleSelectArrowsNavigation(e, currId) {
102
95
  if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key) || !this.isopen) {
@@ -270,12 +263,10 @@ const ZCombobox$1 = /*@__PURE__*/ proxyCustomElement(class ZCombobox extends HTM
270
263
  }
271
264
  const checkAllId = `combo-checkbox-${this.inputid}-check-all`;
272
265
  const allChecked = this.selectedCounter === this.itemsList.length;
273
- return (h("div", { class: "check-all-wrapper" }, h("z-input", { type: InputType.CHECKBOX, checked: allChecked, htmlid: checkAllId, class: this.getCheckboxClass(), label: allChecked ? this.uncheckalltext : this.checkalltext,
274
- // disabled={this.hasCheckAllDisabled()}
275
- disabled: this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length, size: this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size, role: "option", "aria-selected": allChecked ? "true" : "false", onKeyDown: (e) => this.handleSelectArrowsNavigation(e, checkAllId), onInputCheck: (e) => this.checkAll(e.detail.checked), onInputFocus: (e) => this.handleCheckboxFocus(e.detail.id) })));
266
+ return (h("div", { class: "check-all-wrapper" }, h("z-input", { type: InputType.CHECKBOX, checked: allChecked, htmlid: checkAllId, class: this.getCheckboxClass(), label: allChecked ? this.uncheckalltext : this.checkalltext, disabled: this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length, size: this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size, role: "option", "aria-selected": allChecked ? "true" : "false", onKeyDown: (e) => this.handleSelectArrowsNavigation(e, checkAllId), onInputCheck: (e) => this.checkAll(e.detail.checked), onInputFocus: (e) => this.handleCheckboxFocus(e.detail.id) })));
276
267
  }
277
268
  render() {
278
- return (h("div", { key: 'c50100577924339fd4c1c05fe3971c0f53379cd5', "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
269
+ return (h("div", { key: 'b369099672db77dc1c6415fe878a39079abcf99d', "data-action": `combo-${this.inputid}`, class: { open: this.isopen, fixed: this.isfixed, disabled: this.disabled }, id: this.inputid }, this.renderHeader(), !this.disabled && this.renderContent()));
279
270
  }
280
271
  get element() { return this; }
281
272
  static get watchers() { return {