@zanichelli/albe-web-components 17.0.0-RC3 → 17.0.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 (374) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/{index-0b5e5c05.js → index-141d598e.js} +2 -2
  3. package/dist/cjs/index-141d598e.js.map +1 -0
  4. package/dist/cjs/{index-47d0257d.js → index-4b1d6599.js} +2 -2
  5. package/dist/cjs/index-4b1d6599.js.map +1 -0
  6. package/dist/cjs/{index-15cb0816.js → index-e2718c94.js} +3 -3
  7. package/dist/cjs/index-e2718c94.js.map +1 -0
  8. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -1
  9. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-app-header_12.cjs.entry.js +15 -3
  11. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  12. package/dist/cjs/z-book-card-app.cjs.entry.js +3 -3
  13. package/dist/cjs/z-book-card-app.cjs.entry.js.map +1 -1
  14. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +1 -1
  15. package/dist/cjs/z-book-card-deprecated.cjs.entry.js.map +1 -1
  16. package/dist/cjs/z-book-card.cjs.entry.js +3 -3
  17. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  18. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  19. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/z-combobox.cjs.entry.js +1 -1
  21. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +6 -12
  23. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  25. package/dist/cjs/z-file-upload.cjs.entry.js.map +1 -1
  26. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  27. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  29. package/dist/cjs/z-myz-card-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  31. package/dist/cjs/z-myz-card-info.cjs.entry.js.map +1 -1
  32. package/dist/cjs/z-myz-card_4.cjs.entry.js +2 -2
  33. package/dist/cjs/z-myz-card_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  35. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +1 -1
  36. package/dist/cjs/z-panel-elem.cjs.entry.js +3 -2
  37. package/dist/cjs/z-panel-elem.cjs.entry.js.map +1 -1
  38. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -2
  39. package/dist/cjs/z-skip-to-content.cjs.entry.js.map +1 -1
  40. package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
  41. package/dist/cjs/z-slideshow.cjs.entry.js.map +1 -1
  42. package/dist/cjs/z-table.cjs.entry.js +3 -3
  43. package/dist/cjs/z-th.cjs.entry.js +1 -1
  44. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  45. package/dist/cjs/z-tr.cjs.entry.js +2 -2
  46. package/dist/collection/components/book-card/z-book-card/index.js +1 -1
  47. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  48. package/dist/collection/components/book-card/z-book-card/index.stories.js +6 -6
  49. package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
  50. package/dist/collection/components/book-card/z-book-card/styles.css +1 -0
  51. package/dist/collection/components/book-card/z-book-card-app/index.js +6 -1
  52. package/dist/collection/components/book-card/z-book-card-app/index.js.map +1 -1
  53. package/dist/collection/components/book-card/z-book-card-app/index.stories.js +13 -1
  54. package/dist/collection/components/book-card/z-book-card-app/index.stories.js.map +1 -1
  55. package/dist/collection/components/book-card/z-book-card-app/styles.css +2 -1
  56. package/dist/collection/components/css-components/z-link/index.stories.js +5 -6
  57. package/dist/collection/components/css-components/z-link/index.stories.js.map +1 -1
  58. package/dist/collection/components/css-components/z-link/styles.css +101 -107
  59. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js +3 -3
  60. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js.map +1 -1
  61. package/dist/collection/components/deprecated/z-book-card-deprecated/styles.css +2 -2
  62. package/dist/collection/components/file-upload/z-dragdrop-area/styles.css +2 -2
  63. package/dist/collection/components/file-upload/z-file-upload/styles.css +1 -1
  64. package/dist/collection/components/list/z-list-element/styles.css +2 -2
  65. package/dist/collection/components/table/cells/z-th/styles.css +1 -1
  66. package/dist/collection/components/table/z-thead/styles.css +1 -1
  67. package/dist/collection/components/table/z-tr/styles.css +1 -1
  68. package/dist/collection/components/z-anchor-navigation/styles.css +2 -2
  69. package/dist/collection/components/z-breadcrumb/styles.css +4 -4
  70. package/dist/collection/components/z-combobox/styles.css +2 -2
  71. package/dist/collection/components/z-ghost-loading/styles.css +3 -3
  72. package/dist/collection/components/z-input/styles.css +2 -2
  73. package/dist/collection/components/z-modal/index.js +4 -10
  74. package/dist/collection/components/z-modal/index.js.map +1 -1
  75. package/dist/collection/components/z-modal/styles.css +1 -1
  76. package/dist/collection/components/z-navigation-tabs/styles.css +1 -1
  77. package/dist/collection/components/z-panel-elem/index.js +3 -2
  78. package/dist/collection/components/z-panel-elem/index.js.map +1 -1
  79. package/dist/collection/components/z-searchbar/styles.css +1 -1
  80. package/dist/collection/components/z-skip-to-content/index.js +1 -2
  81. package/dist/collection/components/z-skip-to-content/index.js.map +1 -1
  82. package/dist/collection/constants/iconset.js +12 -0
  83. package/dist/collection/constants/iconset.js.map +1 -1
  84. package/dist/collection/snowflakes/myz/card/z-myz-card/styles.css +1 -1
  85. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/styles.css +1 -1
  86. package/dist/collection/snowflakes/myz/card/z-myz-card-header/styles.css +1 -1
  87. package/dist/collection/snowflakes/myz/card/z-myz-card-info/styles.css +1 -1
  88. package/dist/collection/snowflakes/myz/z-slideshow/styles.css +2 -2
  89. package/dist/components/iconset.js +12 -0
  90. package/dist/components/iconset.js.map +1 -1
  91. package/dist/components/index11.js +1 -1
  92. package/dist/components/index11.js.map +1 -1
  93. package/dist/components/index14.js +1 -1
  94. package/dist/components/index14.js.map +1 -1
  95. package/dist/components/index16.js +5 -11
  96. package/dist/components/index16.js.map +1 -1
  97. package/dist/components/index17.js +1 -1
  98. package/dist/components/index17.js.map +1 -1
  99. package/dist/components/index20.js +1 -1
  100. package/dist/components/index20.js.map +1 -1
  101. package/dist/components/index24.js +1 -1
  102. package/dist/components/index24.js.map +1 -1
  103. package/dist/components/index7.js +1 -1
  104. package/dist/components/index7.js.map +1 -1
  105. package/dist/components/index8.js +1 -1
  106. package/dist/components/index8.js.map +1 -1
  107. package/dist/components/z-anchor-navigation.js +1 -1
  108. package/dist/components/z-anchor-navigation.js.map +1 -1
  109. package/dist/components/z-book-card-app.js +3 -3
  110. package/dist/components/z-book-card-app.js.map +1 -1
  111. package/dist/components/z-book-card-deprecated.js +1 -1
  112. package/dist/components/z-book-card-deprecated.js.map +1 -1
  113. package/dist/components/z-book-card.js +3 -3
  114. package/dist/components/z-book-card.js.map +1 -1
  115. package/dist/components/z-breadcrumb.js +1 -1
  116. package/dist/components/z-breadcrumb.js.map +1 -1
  117. package/dist/components/z-combobox.js +1 -1
  118. package/dist/components/z-combobox.js.map +1 -1
  119. package/dist/components/z-file-upload.js +1 -1
  120. package/dist/components/z-file-upload.js.map +1 -1
  121. package/dist/components/z-myz-card-alert.js +1 -1
  122. package/dist/components/z-myz-card-alert.js.map +1 -1
  123. package/dist/components/z-myz-card-info.js +1 -1
  124. package/dist/components/z-myz-card-info.js.map +1 -1
  125. package/dist/components/z-navigation-tabs.js +1 -1
  126. package/dist/components/z-navigation-tabs.js.map +1 -1
  127. package/dist/components/z-panel-elem.js +3 -2
  128. package/dist/components/z-panel-elem.js.map +1 -1
  129. package/dist/components/z-skip-to-content.js +1 -2
  130. package/dist/components/z-skip-to-content.js.map +1 -1
  131. package/dist/components/z-slideshow.js +1 -1
  132. package/dist/components/z-slideshow.js.map +1 -1
  133. package/dist/components/z-th.js +1 -1
  134. package/dist/components/z-th.js.map +1 -1
  135. package/dist/components/z-thead.js +1 -1
  136. package/dist/components/z-thead.js.map +1 -1
  137. package/dist/components/z-tr.js +1 -1
  138. package/dist/components/z-tr.js.map +1 -1
  139. package/dist/docs/themes/index.stories.js +1 -1
  140. package/dist/docs/themes/index.stories.js.map +1 -1
  141. package/dist/esm/{index-13d1f531.js → index-03fd6621.js} +3 -3
  142. package/dist/esm/index-03fd6621.js.map +1 -0
  143. package/dist/esm/{index-f372e39c.js → index-2e00cecb.js} +2 -2
  144. package/{www/build/p-72bfc9d0.js.map → dist/esm/index-2e00cecb.js.map} +1 -1
  145. package/dist/esm/{index-a71eb5f5.js → index-bcd128c9.js} +2 -2
  146. package/dist/esm/index-bcd128c9.js.map +1 -0
  147. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  148. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  149. package/dist/esm/z-app-header_12.entry.js +15 -3
  150. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  151. package/dist/esm/z-book-card-app.entry.js +3 -3
  152. package/dist/esm/z-book-card-app.entry.js.map +1 -1
  153. package/dist/esm/z-book-card-deprecated.entry.js +1 -1
  154. package/dist/esm/z-book-card-deprecated.entry.js.map +1 -1
  155. package/dist/esm/z-book-card.entry.js +3 -3
  156. package/dist/esm/z-book-card.entry.js.map +1 -1
  157. package/dist/esm/z-breadcrumb.entry.js +1 -1
  158. package/dist/esm/z-breadcrumb.entry.js.map +1 -1
  159. package/dist/esm/z-combobox.entry.js +1 -1
  160. package/dist/esm/z-combobox.entry.js.map +1 -1
  161. package/dist/esm/z-dragdrop-area_2.entry.js +6 -12
  162. package/dist/esm/z-dragdrop-area_2.entry.js.map +1 -1
  163. package/dist/esm/z-file-upload.entry.js +1 -1
  164. package/dist/esm/z-file-upload.entry.js.map +1 -1
  165. package/dist/esm/z-ghost-loading.entry.js +1 -1
  166. package/dist/esm/z-ghost-loading.entry.js.map +1 -1
  167. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  168. package/dist/esm/z-myz-card-alert.entry.js.map +1 -1
  169. package/dist/esm/z-myz-card-info.entry.js +1 -1
  170. package/dist/esm/z-myz-card-info.entry.js.map +1 -1
  171. package/dist/esm/z-myz-card_4.entry.js +2 -2
  172. package/dist/esm/z-myz-card_4.entry.js.map +1 -1
  173. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  174. package/dist/esm/z-navigation-tabs.entry.js.map +1 -1
  175. package/dist/esm/z-panel-elem.entry.js +3 -2
  176. package/dist/esm/z-panel-elem.entry.js.map +1 -1
  177. package/dist/esm/z-skip-to-content.entry.js +1 -2
  178. package/dist/esm/z-skip-to-content.entry.js.map +1 -1
  179. package/dist/esm/z-slideshow.entry.js +1 -1
  180. package/dist/esm/z-slideshow.entry.js.map +1 -1
  181. package/dist/esm/z-table.entry.js +3 -3
  182. package/dist/esm/z-th.entry.js +1 -1
  183. package/dist/esm/z-thead.entry.js +1 -1
  184. package/dist/esm/z-tr.entry.js +2 -2
  185. package/dist/types/components/book-card/z-book-card-app/index.d.ts +5 -0
  186. package/dist/types/components/book-card/z-book-card-app/index.stories.d.ts +19 -2
  187. package/dist/types/components/css-components/z-link/index.stories.d.ts +0 -1
  188. package/dist/types/components/z-modal/index.d.ts +0 -1
  189. package/dist/types/components.d.ts +20 -0
  190. package/dist/types/constants/iconset.d.ts +24 -0
  191. package/dist/web-components-library/p-2c6519dc.entry.js +2 -0
  192. package/dist/web-components-library/{p-5365f354.entry.js → p-2dbbc58f.entry.js} +2 -2
  193. package/dist/web-components-library/{p-5365f354.entry.js.map → p-2dbbc58f.entry.js.map} +1 -1
  194. package/dist/web-components-library/p-2f486acc.entry.js +2 -0
  195. package/dist/web-components-library/p-2f486acc.entry.js.map +1 -0
  196. package/dist/web-components-library/p-382e2939.entry.js +2 -0
  197. package/dist/web-components-library/p-4629a66a.entry.js +2 -0
  198. package/dist/web-components-library/p-4629a66a.entry.js.map +1 -0
  199. package/dist/web-components-library/p-479b13ae.entry.js +2 -0
  200. package/dist/web-components-library/p-479b13ae.entry.js.map +1 -0
  201. package/dist/web-components-library/p-612da2d0.entry.js +2 -0
  202. package/dist/web-components-library/p-612da2d0.entry.js.map +1 -0
  203. package/dist/web-components-library/p-65f1b68b.entry.js +2 -0
  204. package/dist/web-components-library/p-65f1b68b.entry.js.map +1 -0
  205. package/dist/web-components-library/p-72618fde.entry.js +2 -0
  206. package/dist/web-components-library/p-72618fde.entry.js.map +1 -0
  207. package/dist/web-components-library/p-76d8d404.entry.js +2 -0
  208. package/dist/web-components-library/p-76d8d404.entry.js.map +1 -0
  209. package/dist/web-components-library/p-7d844bac.entry.js +2 -0
  210. package/dist/web-components-library/p-7d844bac.entry.js.map +1 -0
  211. package/dist/web-components-library/p-7db32c12.entry.js +2 -0
  212. package/dist/web-components-library/p-7db32c12.entry.js.map +1 -0
  213. package/dist/web-components-library/p-8b627bff.entry.js +2 -0
  214. package/dist/web-components-library/p-8b627bff.entry.js.map +1 -0
  215. package/dist/web-components-library/p-8d79971b.entry.js +2 -0
  216. package/dist/web-components-library/p-8d79971b.entry.js.map +1 -0
  217. package/dist/web-components-library/p-90d54c40.js +2 -0
  218. package/dist/web-components-library/p-90d54c40.js.map +1 -0
  219. package/dist/web-components-library/p-9e183204.entry.js +2 -0
  220. package/dist/web-components-library/p-9e183204.entry.js.map +1 -0
  221. package/dist/web-components-library/p-a707640a.entry.js +2 -0
  222. package/dist/web-components-library/p-a707640a.entry.js.map +1 -0
  223. package/dist/web-components-library/p-b896dcf7.entry.js +2 -0
  224. package/dist/web-components-library/{p-589f4f48.entry.js → p-c0588dbe.entry.js} +2 -2
  225. package/dist/web-components-library/{p-166ea39f.entry.js → p-cc87d814.entry.js} +2 -2
  226. package/dist/web-components-library/{p-166ea39f.entry.js.map → p-cc87d814.entry.js.map} +1 -1
  227. package/dist/web-components-library/p-cd55204b.js +2 -0
  228. package/dist/web-components-library/p-cd55204b.js.map +1 -0
  229. package/dist/web-components-library/{p-8be628c6.entry.js → p-e9149664.entry.js} +2 -2
  230. package/dist/web-components-library/{p-8be628c6.entry.js.map → p-e9149664.entry.js.map} +1 -1
  231. package/dist/web-components-library/p-ec4d7f60.js +2 -0
  232. package/dist/web-components-library/p-ec4d7f60.js.map +1 -0
  233. package/dist/web-components-library/p-efe1de34.entry.js +2 -0
  234. package/dist/web-components-library/p-efe1de34.entry.js.map +1 -0
  235. package/dist/web-components-library/web-components-library.css +171 -144
  236. package/dist/web-components-library/web-components-library.esm.js +1 -1
  237. package/package.json +1 -1
  238. package/www/build/p-2c6519dc.entry.js +2 -0
  239. package/www/build/{p-5365f354.entry.js → p-2dbbc58f.entry.js} +2 -2
  240. package/www/build/{p-5365f354.entry.js.map → p-2dbbc58f.entry.js.map} +1 -1
  241. package/www/build/p-2f486acc.entry.js +2 -0
  242. package/www/build/p-2f486acc.entry.js.map +1 -0
  243. package/www/build/p-382e2939.entry.js +2 -0
  244. package/www/build/p-4629a66a.entry.js +2 -0
  245. package/www/build/p-4629a66a.entry.js.map +1 -0
  246. package/www/build/p-479b13ae.entry.js +2 -0
  247. package/www/build/p-479b13ae.entry.js.map +1 -0
  248. package/www/build/{p-d9dbe303.css → p-4c358c38.css} +171 -144
  249. package/www/build/p-612da2d0.entry.js +2 -0
  250. package/www/build/p-612da2d0.entry.js.map +1 -0
  251. package/www/build/p-65f1b68b.entry.js +2 -0
  252. package/www/build/p-65f1b68b.entry.js.map +1 -0
  253. package/www/build/p-72618fde.entry.js +2 -0
  254. package/www/build/p-72618fde.entry.js.map +1 -0
  255. package/www/build/p-76d8d404.entry.js +2 -0
  256. package/www/build/p-76d8d404.entry.js.map +1 -0
  257. package/www/build/p-7d844bac.entry.js +2 -0
  258. package/www/build/p-7d844bac.entry.js.map +1 -0
  259. package/www/build/p-7db32c12.entry.js +2 -0
  260. package/www/build/p-7db32c12.entry.js.map +1 -0
  261. package/www/build/p-8b627bff.entry.js +2 -0
  262. package/www/build/p-8b627bff.entry.js.map +1 -0
  263. package/www/build/p-8d79971b.entry.js +2 -0
  264. package/www/build/p-8d79971b.entry.js.map +1 -0
  265. package/www/build/p-90d54c40.js +2 -0
  266. package/www/build/p-90d54c40.js.map +1 -0
  267. package/www/build/p-9e183204.entry.js +2 -0
  268. package/www/build/p-9e183204.entry.js.map +1 -0
  269. package/www/build/p-a707640a.entry.js +2 -0
  270. package/www/build/p-a707640a.entry.js.map +1 -0
  271. package/www/build/p-b896dcf7.entry.js +2 -0
  272. package/www/build/{p-589f4f48.entry.js → p-c0588dbe.entry.js} +2 -2
  273. package/www/build/{p-93642961.js → p-c9e50d51.js} +1 -1
  274. package/www/build/{p-166ea39f.entry.js → p-cc87d814.entry.js} +2 -2
  275. package/www/build/{p-166ea39f.entry.js.map → p-cc87d814.entry.js.map} +1 -1
  276. package/www/build/p-cd55204b.js +2 -0
  277. package/www/build/p-cd55204b.js.map +1 -0
  278. package/www/build/{p-8be628c6.entry.js → p-e9149664.entry.js} +2 -2
  279. package/www/build/{p-8be628c6.entry.js.map → p-e9149664.entry.js.map} +1 -1
  280. package/www/build/p-ec4d7f60.js +2 -0
  281. package/www/build/p-ec4d7f60.js.map +1 -0
  282. package/www/build/p-efe1de34.entry.js +2 -0
  283. package/www/build/p-efe1de34.entry.js.map +1 -0
  284. package/www/build/web-components-library.css +171 -144
  285. package/www/build/web-components-library.esm.js +1 -1
  286. package/www/index.html +1 -1
  287. package/www/pages/book-cards.html +11 -5
  288. package/dist/cjs/index-0b5e5c05.js.map +0 -1
  289. package/dist/cjs/index-15cb0816.js.map +0 -1
  290. package/dist/cjs/index-47d0257d.js.map +0 -1
  291. package/dist/esm/index-13d1f531.js.map +0 -1
  292. package/dist/esm/index-a71eb5f5.js.map +0 -1
  293. package/dist/esm/index-f372e39c.js.map +0 -1
  294. package/dist/web-components-library/p-0d966ad0.js +0 -2
  295. package/dist/web-components-library/p-0d966ad0.js.map +0 -1
  296. package/dist/web-components-library/p-1a297fb0.entry.js +0 -2
  297. package/dist/web-components-library/p-1db926ff.entry.js +0 -2
  298. package/dist/web-components-library/p-1db926ff.entry.js.map +0 -1
  299. package/dist/web-components-library/p-372d3d61.entry.js +0 -2
  300. package/dist/web-components-library/p-372d3d61.entry.js.map +0 -1
  301. package/dist/web-components-library/p-3be73d77.entry.js +0 -2
  302. package/dist/web-components-library/p-3be73d77.entry.js.map +0 -1
  303. package/dist/web-components-library/p-5b677d6c.entry.js +0 -2
  304. package/dist/web-components-library/p-5b677d6c.entry.js.map +0 -1
  305. package/dist/web-components-library/p-63806f4f.entry.js +0 -2
  306. package/dist/web-components-library/p-63806f4f.entry.js.map +0 -1
  307. package/dist/web-components-library/p-7049aef2.entry.js +0 -2
  308. package/dist/web-components-library/p-7049aef2.entry.js.map +0 -1
  309. package/dist/web-components-library/p-72af7932.entry.js +0 -2
  310. package/dist/web-components-library/p-72bfc9d0.js +0 -2
  311. package/dist/web-components-library/p-72bfc9d0.js.map +0 -1
  312. package/dist/web-components-library/p-72f77ee8.entry.js +0 -2
  313. package/dist/web-components-library/p-767b66ca.entry.js +0 -2
  314. package/dist/web-components-library/p-767b66ca.entry.js.map +0 -1
  315. package/dist/web-components-library/p-814f09df.entry.js +0 -2
  316. package/dist/web-components-library/p-814f09df.entry.js.map +0 -1
  317. package/dist/web-components-library/p-8b94f31a.entry.js +0 -2
  318. package/dist/web-components-library/p-8b94f31a.entry.js.map +0 -1
  319. package/dist/web-components-library/p-8e203650.entry.js +0 -2
  320. package/dist/web-components-library/p-8e203650.entry.js.map +0 -1
  321. package/dist/web-components-library/p-af9df838.entry.js +0 -2
  322. package/dist/web-components-library/p-af9df838.entry.js.map +0 -1
  323. package/dist/web-components-library/p-b5b0ffb6.entry.js +0 -2
  324. package/dist/web-components-library/p-b5b0ffb6.entry.js.map +0 -1
  325. package/dist/web-components-library/p-e1ed2ecb.js +0 -2
  326. package/dist/web-components-library/p-e1ed2ecb.js.map +0 -1
  327. package/dist/web-components-library/p-e7ed034e.entry.js +0 -2
  328. package/dist/web-components-library/p-e7ed034e.entry.js.map +0 -1
  329. package/dist/web-components-library/p-e945ed47.entry.js +0 -2
  330. package/dist/web-components-library/p-e945ed47.entry.js.map +0 -1
  331. package/www/build/p-0d966ad0.js +0 -2
  332. package/www/build/p-0d966ad0.js.map +0 -1
  333. package/www/build/p-1a297fb0.entry.js +0 -2
  334. package/www/build/p-1db926ff.entry.js +0 -2
  335. package/www/build/p-1db926ff.entry.js.map +0 -1
  336. package/www/build/p-372d3d61.entry.js +0 -2
  337. package/www/build/p-372d3d61.entry.js.map +0 -1
  338. package/www/build/p-3be73d77.entry.js +0 -2
  339. package/www/build/p-3be73d77.entry.js.map +0 -1
  340. package/www/build/p-5b677d6c.entry.js +0 -2
  341. package/www/build/p-5b677d6c.entry.js.map +0 -1
  342. package/www/build/p-63806f4f.entry.js +0 -2
  343. package/www/build/p-63806f4f.entry.js.map +0 -1
  344. package/www/build/p-7049aef2.entry.js +0 -2
  345. package/www/build/p-7049aef2.entry.js.map +0 -1
  346. package/www/build/p-72af7932.entry.js +0 -2
  347. package/www/build/p-72bfc9d0.js +0 -2
  348. package/www/build/p-72f77ee8.entry.js +0 -2
  349. package/www/build/p-767b66ca.entry.js +0 -2
  350. package/www/build/p-767b66ca.entry.js.map +0 -1
  351. package/www/build/p-814f09df.entry.js +0 -2
  352. package/www/build/p-814f09df.entry.js.map +0 -1
  353. package/www/build/p-8b94f31a.entry.js +0 -2
  354. package/www/build/p-8b94f31a.entry.js.map +0 -1
  355. package/www/build/p-8e203650.entry.js +0 -2
  356. package/www/build/p-8e203650.entry.js.map +0 -1
  357. package/www/build/p-af9df838.entry.js +0 -2
  358. package/www/build/p-af9df838.entry.js.map +0 -1
  359. package/www/build/p-b5b0ffb6.entry.js +0 -2
  360. package/www/build/p-b5b0ffb6.entry.js.map +0 -1
  361. package/www/build/p-e1ed2ecb.js +0 -2
  362. package/www/build/p-e1ed2ecb.js.map +0 -1
  363. package/www/build/p-e7ed034e.entry.js +0 -2
  364. package/www/build/p-e7ed034e.entry.js.map +0 -1
  365. package/www/build/p-e945ed47.entry.js +0 -2
  366. package/www/build/p-e945ed47.entry.js.map +0 -1
  367. /package/dist/web-components-library/{p-1a297fb0.entry.js.map → p-2c6519dc.entry.js.map} +0 -0
  368. /package/dist/web-components-library/{p-72af7932.entry.js.map → p-382e2939.entry.js.map} +0 -0
  369. /package/dist/web-components-library/{p-72f77ee8.entry.js.map → p-b896dcf7.entry.js.map} +0 -0
  370. /package/dist/web-components-library/{p-589f4f48.entry.js.map → p-c0588dbe.entry.js.map} +0 -0
  371. /package/www/build/{p-1a297fb0.entry.js.map → p-2c6519dc.entry.js.map} +0 -0
  372. /package/www/build/{p-72af7932.entry.js.map → p-382e2939.entry.js.map} +0 -0
  373. /package/www/build/{p-72f77ee8.entry.js.map → p-b896dcf7.entry.js.map} +0 -0
  374. /package/www/build/{p-589f4f48.entry.js.map → p-c0588dbe.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZFileUploadStyle0","ZFileUpload","this","inputAttributes","type","id","multiple","ZFileUploadType","DEFAULT","removeFileListener","e","removeFileHandler","detail","fileDroppedListener","input","files","fileInputHandler","componentDidUpdate","handleAccessibility","invalidFiles","size","errorModal","focus","componentWillLoad","Map","length","checkFiles","Array","from","getFiles","removeFile","fileName","file","find","name","index","indexOf","splice","getType","getDevice","Device","DESKTOP","DESKTOP_WIDE","lastFile","el","querySelector","button","uploadLink","errors","sizeErrorString","fileMaxSize","formatErrorString","forEach","fileSize","fileFormatOk","acceptedFormat","split","some","ext","toLowerCase","endsWith","trim","fileSizeOk","f","push","fileInput","emit","value","set","get","renderTitle","h","mainTitle","renderDescription","cssClass","class","description","renderAllowedFileExtensions","fileFormatString","fileWeightString","fileFormat","map","string","substring","toUpperCase","join","finalString","allowedFilesMessage","renderFileSection","hasFileSection","uploadedFilesLabel","DividerSize","MEDIUM","renderInput","Object","assign","onChange","accept","ref","val","renderUploadButton","onClick","click","onKeyPress","code","preventDefault","variant","buttonVariant","icon","uploadBtnLabel","renderUploadLink","tabIndex","uploadClickableMessage","uploadMessage","renderDefaultMode","renderDragDropMode","dragAndDropLabel","key","bothErrors","_a","_b","handleErrorModalContent","slot","errorModalMessage","render","Host","modalid","modaltitle","errorModalTitle","onModalClose","onModalBackgroundClick"],"sources":["src/components/file-upload/z-file-upload/styles.css?tag=z-file-upload&encapsulation=shadow","src/components/file-upload/z-file-upload/index.tsx"],"sourcesContent":[":host {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > .container {\n display: flex;\n flex-direction: column;\n}\n\n:host .modal-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: calc(var(--space-unit) * 2);\n}\n\n:host .modal-wrapper > .files-wrapper {\n display: flex;\n flex-direction: column;\n margin: calc(var(--space-unit) * 4);\n gap: var(--space-unit);\n}\n\n:host .text-container {\n display: flex;\n flex-direction: column;\n margin: auto;\n}\n\n:host .text-container .body-1 {\n text-align: center;\n}\n\n:host .text-container .upload-link {\n color: var(--color-text-link-blue);\n cursor: pointer;\n}\n\n:host .text-container .upload-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host .text-container .upload-link-text {\n margin-bottom: var(--space-unit);\n}\n\ninput#file-elem {\n display: none;\n}\n\n#title {\n display: inline-block;\n margin: calc(var(--space-unit) * 2.5) 0 calc(var(--space-unit) * 4);\n font-size: calc(var(--space-unit) * 3);\n font-weight: var(--font-sb);\n}\n\n:host > .container > z-button {\n display: inline-block;\n margin-top: calc(var(--space-unit) * 3);\n}\n\n:host > .container > .files-container.hidden {\n display: none;\n}\n\n:host > .container > .files-container > .heading-4-sb {\n display: inline-block;\n margin: calc(var(--space-unit) * 3) 0;\n font-size: calc(var(--space-unit) * 2);\n font-weight: var(--font-sb);\n}\n\n:host([type=\"dragdrop\"]) > .container > .files-container > .heading-4-sb {\n margin-top: 0;\n margin-bottom: calc(var(--space-unit) * 3);\n}\n\n:host > .container > .files-container > .files-wrapper {\n display: flex;\n flex-wrap: wrap;\n column-gap: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n:host > .container > .files-container > z-divider {\n margin-top: calc(var(--space-unit) * 3);\n margin-bottom: 0;\n}\n\n:host([type=\"dragdrop\"]) > .container > .files-container > z-divider {\n margin: calc(var(--space-unit) * 3) 0;\n}\n\n:host .error-message {\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.16%;\n line-height: 20px;\n text-align: left;\n}\n\n:host .error-message > .file-name {\n font-weight: 600;\n}\n\n/* Tablet breakpoint */\n@media only screen and (min-width: 768px) {\n :host > .container > z-button {\n align-self: flex-start;\n }\n\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 3);\n }\n}\n\n@media only screen and (min-width: 1152px) {\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 4);\n }\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, h} from \"@stencil/core\";\nimport {ButtonVariant, Device, DividerSize, ZFileUploadType} from \"../../../beans\";\nimport {getDevice} from \"../../../utils/utils\";\n\n@Component({\n tag: \"z-file-upload\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZFileUpload {\n /** Prop indicating the file upload type - can be default or dragdrop */\n @Prop({reflect: true})\n type: ZFileUploadType = ZFileUploadType.DEFAULT;\n\n /** Prop indicating the button variant*/\n @Prop()\n buttonVariant?: ButtonVariant;\n\n /** Prop indicating the accepted file type: ex \".pdf, .doc, .jpg\" */\n @Prop()\n acceptedFormat?: string;\n\n /** Max file dimension in Megabyte */\n @Prop()\n fileMaxSize?: number;\n\n /** Title */\n @Prop()\n mainTitle?: string;\n\n /** Description */\n @Prop()\n description?: string;\n\n /** Files added by the user */\n @State()\n files: File[] = [];\n\n /** upoload button label */\n @Prop()\n uploadBtnLabel?: string = \"allega\";\n\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel?: string = \"Rilascia i file in questa area per allegarli.\";\n\n /** allowed file message */\n @Prop()\n allowedFilesMessage?: string;\n\n /** upload clickable message */\n @Prop()\n uploadClickableMessage?: string = \"Carica\";\n\n /** upload message */\n @Prop()\n uploadMessage?: string = \"o trascina dal tuo computer\";\n\n /** error modal title */\n @Prop()\n errorModalTitle?: string = \"Errore di caricamento\";\n\n /** error modal message */\n @Prop()\n errorModalMessage?: string;\n\n /** loaded files label */\n @Prop()\n uploadedFilesLabel?: string = \"File appena caricati\";\n\n /** uploaded files history rendering */\n @Prop()\n hasFileSection?: boolean = true;\n\n /** List of files not allowed to be uploaded */\n @State()\n invalidFiles: Map<string, string[]>;\n\n @Element() el: HTMLZFileUploadElement;\n\n private input: HTMLInputElement;\n\n private button: HTMLZButtonElement;\n\n private errorModal: HTMLZModalElement;\n\n private uploadLink: HTMLSpanElement;\n\n private inputAttributes = {\n type: \"file\",\n id: \"file-elem\",\n multiple: true,\n };\n\n /** Listen removeFile event sent from z-file component */\n @Listen(\"removeFile\")\n removeFileListener(e: CustomEvent): void {\n this.removeFileHandler(e.detail);\n }\n\n /** Listen fileDropped event sent from z-dragdrop-area component */\n @Listen(\"fileDropped\")\n fileDroppedListener(e: CustomEvent): void {\n this.input.files = e.detail;\n this.fileInputHandler();\n }\n\n componentDidUpdate(): void {\n this.handleAccessibility();\n this.invalidFiles.size && this.errorModal.focus();\n }\n\n componentWillLoad(): void {\n this.invalidFiles = new Map<string, string[]>();\n }\n\n /** Emitted when user select one or more files */\n @Event()\n fileInput: EventEmitter;\n\n private fileInputHandler(): void {\n if (this.input.files.length) {\n this.invalidFiles = this.checkFiles(Array.from(this.input.files));\n }\n }\n\n /** get array of uploaded files */\n @Method()\n async getFiles(): Promise<File[]> {\n return this.files;\n }\n\n /** remove file from the array */\n @Method()\n async removeFile(fileName: string): Promise<void> {\n this.removeFileHandler(fileName);\n }\n\n private removeFileHandler(fileName: string): void {\n const files = this.files;\n const file = files.find((file) => file.name === fileName);\n if (file) {\n const index = files.indexOf(file);\n if (index >= 0) {\n files.splice(index, 1);\n this.files = [...files];\n }\n }\n }\n\n private getType(): ZFileUploadType {\n if (getDevice() !== Device.DESKTOP && getDevice() !== Device.DESKTOP_WIDE) {\n return ZFileUploadType.DEFAULT;\n }\n\n return this.type;\n }\n\n private handleAccessibility(): void {\n const lastFile = this.el.querySelector(\"z-file:last-child z-chip button\");\n if (this.files.length > 0 && lastFile) {\n (lastFile as HTMLElement).focus();\n } else {\n this.getType() === ZFileUploadType.DEFAULT\n ? this.button.querySelector(\"button\").focus()\n : this.uploadLink.focus();\n }\n }\n\n private checkFiles(files: File[]): Map<string, string[]> {\n const errors = new Map<string, string[]>();\n const sizeErrorString = `supera il limite di ${this.fileMaxSize}MB`;\n const formatErrorString = \" ha un formato non supportato\";\n files.forEach((file: File) => {\n const fileSize = file.size / 1024 / 1024;\n const fileFormatOk = this.acceptedFormat\n .split(\",\")\n .some((ext: string) => file.name.toLowerCase().endsWith(ext.trim()));\n const fileSizeOk = fileSize <= this.fileMaxSize;\n if (fileSizeOk && fileFormatOk) {\n if (!this.files.find((f) => f.name === file.name)) {\n this.files.push(file);\n this.fileInput.emit(file);\n this.input.value = \"\";\n }\n\n return;\n }\n errors.set(file.name, []);\n if (!fileSizeOk) {\n errors.get(file.name).push(sizeErrorString);\n }\n if (!fileFormatOk) {\n errors.get(file.name).push(formatErrorString);\n }\n });\n\n return errors;\n }\n\n private renderTitle(): HTMLElement {\n return <span id=\"title\">{this.mainTitle}</span>;\n }\n\n private renderDescription(cssClass): HTMLElement {\n return <span class={cssClass}>{this.description}</span>;\n }\n\n private renderAllowedFileExtensions(): HTMLElement {\n let fileFormatString = \"\";\n let fileWeightString = \"\";\n\n if (this.acceptedFormat) {\n const fileFormat = this.acceptedFormat\n .split(\", \")\n .map((string) => string.substring(1).toUpperCase())\n .join(\", \");\n fileFormatString = ` nei formati ${fileFormat}`;\n }\n\n if (this.fileMaxSize) {\n fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;\n }\n\n const finalString = `Puoi allegare file${fileFormatString}${fileWeightString}.`;\n\n return (\n <span class=\"body-3\">\n {this.allowedFilesMessage\n ? this.allowedFilesMessage\n : fileFormatString || fileWeightString\n ? finalString\n : null}\n </span>\n );\n }\n\n private renderFileSection(): HTMLElement {\n if (!this.hasFileSection) {\n return;\n }\n\n return (\n <section class={`files-container ${!this.files.length ? \"hidden\" : \"\"}`}>\n <span class=\"heading-4-sb\">{this.uploadedFilesLabel}</span>\n <div class=\"files-wrapper\">\n <slot name=\"files\" />\n </div>\n <z-divider size={DividerSize.MEDIUM} />\n </section>\n );\n }\n\n private renderInput(): HTMLInputElement {\n return (\n <input\n {...this.inputAttributes}\n onChange={() => this.fileInputHandler()}\n accept={this.acceptedFormat}\n ref={(val) => (this.input = val)}\n />\n );\n }\n\n private renderUploadButton(): unknown[] {\n return [\n this.renderInput(),\n <z-button\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n id=\"fileSelect\"\n variant={this.buttonVariant}\n icon=\"upload\"\n ref={(val) => (this.button = val)}\n >\n {this.uploadBtnLabel}\n </z-button>,\n ];\n }\n\n private renderUploadLink(): unknown[] {\n return [\n this.renderInput(),\n <span class=\"body-1 upload-link-text\">\n <span\n tabIndex={0}\n class=\"body-1-sb upload-link\"\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n ref={(val) => (this.uploadLink = val)}\n >\n {this.uploadClickableMessage}\n </span>{\" \"}\n {this.uploadMessage}\n </span>,\n ];\n }\n\n private renderDefaultMode(): unknown[] {\n return [\n this.renderDescription(\"body-3-sb\"),\n this.renderAllowedFileExtensions(),\n this.renderFileSection(),\n this.renderUploadButton(),\n ];\n }\n\n private renderDragDropMode(): unknown[] {\n return [\n this.renderFileSection(),\n <z-dragdrop-area drag-and-drop-label={this.dragAndDropLabel}>\n <div class=\"text-container\">\n {this.renderDescription(\"body-1\")}\n {this.renderUploadLink()}\n {this.renderAllowedFileExtensions()}\n </div>\n </z-dragdrop-area>,\n ];\n }\n\n private formatErrorString(key, value): string {\n const bothErrors = value[0] && value[1] ? \" e \" : \"\";\n\n return (\n <span class=\"error-message\">\n Il file <span class=\"file-name\">{key}</span> {value[1] ?? \"\"}\n {bothErrors}\n {value[0] ?? \"\"}.\n </span>\n );\n }\n\n private handleErrorModalContent(): HTMLDivElement {\n return (\n <div slot=\"modalContent\">\n <div class=\"modal-wrapper\">\n <div class=\"files\">\n {this.errorModalMessage ? (\n <span class=\"body-3\">{this.errorModalMessage}</span>\n ) : (\n Array.from(this.invalidFiles).map(([key, value]) => {\n return <span class=\"body-3\">{this.formatErrorString(key, value)}</span>;\n })\n )}\n </div>\n </div>\n </div>\n );\n }\n\n render(): HTMLZFileUploadElement {\n return (\n <Host>\n <div class={`container ${this.getType()}`}>\n {this.mainTitle && this.renderTitle()}\n {this.getType() == ZFileUploadType.DEFAULT ? this.renderDefaultMode() : this.renderDragDropMode()}\n </div>\n {!!this.invalidFiles.size && (\n <z-modal\n modalid={`file-upload-${this.type}-error-modal`}\n tabIndex={0}\n ref={(val) => (this.errorModal = val)}\n modaltitle={this.errorModalTitle}\n onModalClose={() => (this.invalidFiles = new Map<string, string[]>())}\n onModalBackgroundClick={() => (this.invalidFiles = new Map<string, string[]>())}\n >\n {this.handleErrorModalContent()}\n </z-modal>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,a as s,g as o}from"./p-75c4a726.js";import{U as n,V as r,p as a,g as l,P as h,i as p}from"./p-b34993de.js";import{g as c,d}from"./p-10607a39.js";import"./p-5145a606.js";const f=":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-text-link-blue);white-space:nowrap}a.missing-path{color:var(--color-default-text)}.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-text-link-blue)}z-icon.separator{--z-icon-width:10px;--z-icon-height:10px;fill:var(--gray500)}button.dots{display:inline-block;color:var(--color-text-link-blue);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-background);--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)}}";const u=f;const m=class{constructor(e){t(this,e);this.clickOnNode=i(this,"clickOnNode",7);this.collapsedElements=[];this.currentIndex=0;this.truncatePosition=null;this.pathStyle=n.UNDERLINED;this.homepageVariant=r.ICON;this.maxNodesToShow=5;this.preventFollowUrl=false;this.overflowMenuItemRows=0;this.truncateChar=30;this.viewPortWidth=undefined;this.hasOverflow=false;this.popoverEllipsisOpen=false}handleResize(){this.viewPortWidth=c();if(this.viewPortWidth!==a.MOBILE&&this.wrapElement&&this.wrapElement.scrollWidth>this.wrapElement.clientWidth){this.hasOverflow=true}}handlePropChange(){this.initializeBreadcrumb()}handleResizeUp(t,i){if(t===a.MOBILE||i===a.MOBILE&&t===a.TABLET||i===a.MOBILE&&t===a.DESKTOP||i===a.MOBILE&&t===a.DESKTOP_WIDE||i===a.TABLET&&t===a.DESKTOP||i===a.TABLET&&t===a.DESKTOP_WIDE||i===a.DESKTOP&&t===a.DESKTOP_WIDE){this.initializeBreadcrumb()}}componentWillLoad(){this.viewPortWidth=c();this.initializeBreadcrumb()}componentWillRender(){if(this.viewPortWidth!==a.MOBILE&&this.hasOverflow){this.checkEllipsisOrOverflowMenu();this.hasOverflow=false}}componentDidRender(){if(this.collapsedElementsRef){this.anchorElements=Array.from(this.hostElement.shadowRoot.querySelectorAll("z-list-group a"))}if(this.viewPortWidth!==a.MOBILE&&this.wrapElement.scrollWidth>this.wrapElement.clientWidth){this.hasOverflow=true}}initializeBreadcrumb(){if(this.viewPortWidth===a.MOBILE){this.pathsList=this.getPathsItemsList().filter((t=>!!t.path))}else{this.pathsList=this.getPathsItemsList()}this.homepageNode=this.pathsList.shift();this.pathListCopy=[...this.pathsList];this.collapsedElements=[];if(this.pathsList.length>this.maxNodesToShow){this.collapsedElements=this.pathsList.splice(0,this.pathsList.length-2)}}checkEllipsisOrOverflowMenu(){for(let t=0;t<this.pathsList.length;t++){if(this.pathsList[t].text.length<=this.truncateChar){continue}if(this.truncatePosition>0){this.collapsedElements.push(...this.pathListCopy.splice(0,this.truncatePosition));this.pathsList.splice(0,this.truncatePosition);this.truncatePosition=0;return}else if(this.truncatePosition===0){this.collapsedElements.push(...this.pathListCopy.splice(0,this.truncatePosition+1));this.pathsList.splice(0,this.truncatePosition+1);this.truncatePosition=null;return}if(t!==this.pathsList.length-1){const i=this.truncateWithEllipsis(this.pathsList[t].text,this.truncateChar);this.currentEllipsisText=this.pathsList[t].text;this.pathsList[t].text=i;this.pathsList[t].hasTooltip=true;this.truncatePosition=t;return}}}truncateWithEllipsis(t,i){if(t.length<=i){return t}return t.substring(0,i-1)+"&mldr;"}getPathsItemsList(){return Array.from(this.hostElement.children).map((t=>({text:t.textContent,path:t.href,hasTooltip:false})))}renderHomepageNode(){return e("li",null,e("a",{class:{"homepage-text":this.homepageVariant===r.TEXT},href:this.homepageNode.path,onClick:t=>this.handlePreventFollowUrl(t,this.homepageNode),innerHTML:this.homepageVariant===r.ICON?`<z-icon name="home" />`:this.homepageNode.text||"Home"}),this.pathsList.length>0&&e("z-icon",{class:"separator",name:"chevron-right"}))}togglePopover(){if(!this.collapsedElementsRef.open){this.collapsedElementsRef.open=true}}handlePreventFollowUrl(t,i){if(this.preventFollowUrl){t.preventDefault();this.clickOnNode.emit(i.path)}}handleOverflowMenuAccessibility(t){const i=this.anchorElements.length;if(t.key===l.TAB){t.preventDefault();return}t.stopPropagation();const e=[l.ARROW_DOWN,l.ARROW_UP];if(e.includes(t.key)){t.preventDefault();if(t.key===l.ARROW_DOWN){this.currentIndex=i===this.currentIndex+1?0:this.currentIndex+1}if(t.key===l.ARROW_UP){this.currentIndex=this.currentIndex<=0?i-1:this.currentIndex-1}this.anchorElements[this.currentIndex].focus()}if(t.key===l.ESC){this.triggerButton.focus()}}renderOverflowMenu(){return e("li",null,e("z-popover",{class:"hidden-paths-popover",ref:t=>this.collapsedElementsRef=t,bindTo:this.triggerButton,position:h.BOTTOM_RIGHT,closable:true,showArrow:true},e("div",{class:"popover-content"},e("z-list",null,e("z-list-group",{size:p.SMALL},this.collapsedElements.map(((t,i,s)=>e("div",null,e("z-list-element",{clickable:true},e("a",{class:"text-ellipsis",href:t.path,onClick:i=>this.handlePreventFollowUrl(i,t),onKeyDown:t=>this.handleOverflowMenuAccessibility(t),innerHTML:t.text})),i<s.length-1&&e("z-divider",{color:"color-surface03"})))))))),e("button",{class:"dots",ref:t=>this.triggerButton=t,"aria-label":"Mostra più breadcrumb","aria-haspopup":"true",onClick:()=>{this.togglePopover()},onKeyDown:t=>{d(t,this.togglePopover.bind(this));setTimeout((()=>{this.anchorElements[0].focus()}),100)},innerHTML:"&mldr;"}),this.pathsList.length>0&&e("z-icon",{class:"separator",name:"chevron-right"}))}renderMobileItems(){const t=this.pathsList[this.pathsList.length-1];if(!t){return}return e("li",null,e("a",{"aria-current":t.path?undefined:"page",href:t.path,onClick:i=>this.handlePreventFollowUrl(i,t)},e("z-icon",{name:"chevron-left"}),e("span",{class:{"missing-path":!t.path,"text-ellipsis":true}},t.text)))}renderItems(){let t;return[this.renderHomepageNode(),this.collapsedElements.length>0&&this.renderOverflowMenu(),...this.pathsList.map(((i,s)=>e("li",null,i.hasTooltip&&e("z-popover",{class:"full-path-tooltip",bindTo:t,open:this.popoverEllipsisOpen,position:h.BOTTOM_RIGHT,closable:false,showArrow:true},e("span",{class:"tooltip-content"},this.currentEllipsisText)),e("a",{class:{"missing-path":!i.path},ref:i=>t=i,"aria-current":i.path?undefined:"page",href:i.path,onClick:t=>this.handlePreventFollowUrl(t,i),onMouseOver:()=>{if(i.hasTooltip){this.popoverEllipsisOpen=true}},onMouseLeave:()=>{if(i.hasTooltip){this.popoverEllipsisOpen=false}},innerHTML:i.text}),s!==this.pathsList.length-1&&e("z-icon",{class:"separator",name:"chevron-right"}))))]}render(){return e(s,{key:"541f493c93ddcdd7c7df9184e467bfb1f7def53d",style:{"--line-clamp-popover":`${this.overflowMenuItemRows}`}},e("nav",{key:"c7a56dbddef89e934a255921d4aacd645974f1b7",ref:t=>this.wrapElement=t,"aria-label":"Breadcrumb",class:{semibold:this.pathStyle===n.SEMIBOLD,underlined:this.pathStyle===n.UNDERLINED}},e("ol",{key:"a1f4c39fa8afd87d307746b66a942a1f2029cb1a"},this.viewPortWidth===a.MOBILE?this.renderMobileItems():this.renderItems())))}get hostElement(){return o(this)}static get watchers(){return{maxNodesToShow:["handlePropChange"],viewPortWidth:["handleResizeUp"]}}};m.style=u;export{m as z_breadcrumb};
2
+ //# sourceMappingURL=p-76d8d404.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZBreadcrumbStyle0","ZBreadcrumb","this","collapsedElements","currentIndex","truncatePosition","BreadcrumbPathStyle","UNDERLINED","BreadcrumbHomepageVariant","ICON","handleResize","viewPortWidth","getDevice","Device","MOBILE","wrapElement","scrollWidth","clientWidth","hasOverflow","handlePropChange","initializeBreadcrumb","handleResizeUp","newValue","oldValue","TABLET","DESKTOP","DESKTOP_WIDE","componentWillLoad","componentWillRender","checkEllipsisOrOverflowMenu","componentDidRender","collapsedElementsRef","anchorElements","Array","from","hostElement","shadowRoot","querySelectorAll","pathsList","getPathsItemsList","filter","item","path","homepageNode","shift","pathListCopy","length","maxNodesToShow","splice","i","text","truncateChar","push","truncatedString","truncateWithEllipsis","currentEllipsisText","hasTooltip","str","maxLength","substring","children","map","textContent","href","renderHomepageNode","h","class","homepageVariant","TEXT","onClick","e","handlePreventFollowUrl","innerHTML","name","togglePopover","open","preventFollowUrl","preventDefault","clickOnNode","emit","handleOverflowMenuAccessibility","anchorElementsLenght","key","KeyboardCode","TAB","stopPropagation","arrows","ARROW_DOWN","ARROW_UP","includes","focus","ESC","triggerButton","renderOverflowMenu","ref","val","bindTo","position","PopoverPosition","BOTTOM_RIGHT","closable","showArrow","size","ListSize","SMALL","index","array","clickable","onKeyDown","color","el","handleKeyboardSubmit","bind","setTimeout","renderMobileItems","secondToLastPath","undefined","renderItems","trigger","popoverEllipsisOpen","onMouseOver","onMouseLeave","render","Host","style","overflowMenuItemRows","semibold","pathStyle","SEMIBOLD","underlined"],"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-text-link-blue);\n white-space: nowrap;\n}\n\na.missing-path {\n color: var(--color-default-text);\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-text-link-blue);\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-text-link-blue);\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-background);\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, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} 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"],"mappings":"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","ignoreList":[]}