@zanichelli/albe-web-components 13.6.1 → 14.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 (580) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/cjs/index-dc60bee7.js +0 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/web-components-library.cjs.js +1 -1
  5. package/dist/cjs/z-accordion.cjs.entry.js +2 -2
  6. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  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 +5 -5
  11. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  12. package/dist/cjs/z-book-card.cjs.entry.js +3 -3
  13. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  14. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/z-chip.cjs.entry.js +1 -1
  17. package/dist/cjs/z-chip.cjs.entry.js.map +1 -1
  18. package/dist/cjs/z-combobox.cjs.entry.js +1 -1
  19. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/z-cover-hero.cjs.entry.js +1 -1
  21. package/dist/cjs/z-cover-hero.cjs.entry.js.map +1 -1
  22. package/dist/cjs/z-date-picker.cjs.entry.js +1 -1
  23. package/dist/cjs/z-date-picker.cjs.entry.js.map +1 -1
  24. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +2 -2
  25. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  27. package/dist/cjs/z-file-upload.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  29. package/dist/cjs/z-info-box.cjs.entry.js.map +1 -1
  30. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  31. package/dist/cjs/z-info-reveal.cjs.entry.js.map +1 -1
  32. package/dist/cjs/z-menu-section.cjs.entry.js +1 -1
  33. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -1
  34. package/dist/cjs/z-menu.cjs.entry.js +1 -1
  35. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  36. package/dist/cjs/z-messages-pocket.cjs.entry.js +1 -1
  37. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  38. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  39. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  40. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  42. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  43. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  44. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
  45. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  46. package/dist/cjs/z-myz-list-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  48. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  49. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  50. package/dist/cjs/z-otp.cjs.entry.js +2 -2
  51. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  52. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -1
  53. package/dist/cjs/z-pocket-message.cjs.entry.js +1 -1
  54. package/dist/cjs/z-pocket_3.cjs.entry.js +3 -3
  55. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  56. package/dist/cjs/z-popover.cjs.entry.js.map +1 -1
  57. package/dist/cjs/z-range-picker.cjs.entry.js +1 -1
  58. package/dist/cjs/z-range-picker.cjs.entry.js.map +1 -1
  59. package/dist/cjs/z-select.cjs.entry.js +1 -1
  60. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  62. package/dist/cjs/z-skip-to-content.cjs.entry.js.map +1 -1
  63. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  64. package/dist/cjs/z-stepper-item.cjs.entry.js.map +1 -1
  65. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  66. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  67. package/dist/cjs/z-toggle-button.cjs.entry.js +1 -1
  68. package/dist/cjs/z-toggle-button.cjs.entry.js.map +1 -1
  69. package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
  70. package/dist/cjs/z-toggle-switch.cjs.entry.js.map +1 -1
  71. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  72. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -1
  73. package/dist/collection/collection-manifest.json +0 -1
  74. package/dist/collection/components/buttons/z-button/styles.css +3 -3
  75. package/dist/collection/components/buttons/z-chip/styles.css +3 -3
  76. package/dist/collection/components/buttons/z-toggle-button/styles.css +2 -2
  77. package/dist/collection/components/buttons/z-toggle-switch/styles.css +1 -1
  78. package/dist/collection/components/date-picker/styles.css +4 -4
  79. package/dist/collection/components/file-upload/z-dragdrop-area/styles.css +2 -2
  80. package/dist/collection/components/file-upload/z-file-upload/styles.css +1 -1
  81. package/dist/collection/components/indicators/z-stepper-item/styles.css +1 -1
  82. package/dist/collection/components/inputs/z-combobox/styles.css +4 -4
  83. package/dist/collection/components/inputs/z-input/styles.css +8 -8
  84. package/dist/collection/components/inputs/z-searchbar/styles.css +3 -3
  85. package/dist/collection/components/inputs/z-select/styles.css +1 -1
  86. package/dist/collection/components/modal/z-modal/styles.css +2 -2
  87. package/dist/collection/components/navigation/z-app-header/index.js +3 -3
  88. package/dist/collection/components/navigation/z-app-header/index.js.map +1 -1
  89. package/dist/collection/components/navigation/z-app-header/styles.css +2 -2
  90. package/dist/collection/components/navigation/z-menu/styles.css +2 -2
  91. package/dist/collection/components/navigation/z-menu-section/styles.css +2 -2
  92. package/dist/collection/components/notification/z-info-box/styles.css +1 -1
  93. package/dist/collection/components/notification/z-notification/styles.css +1 -1
  94. package/dist/collection/components/notification/z-toast-notification/styles.css +1 -1
  95. package/dist/collection/components/notification/z-tooltip/styles.css +1 -1
  96. package/dist/collection/components/z-accordion/index.js +3 -3
  97. package/dist/collection/components/z-accordion/index.js.map +1 -1
  98. package/dist/collection/components/z-accordion/styles.css +2 -2
  99. package/dist/collection/components/z-anchor-navigation/styles.css +2 -2
  100. package/dist/collection/components/z-book-card/index.js +2 -2
  101. package/dist/collection/components/z-book-card/index.js.map +1 -1
  102. package/dist/collection/components/z-book-card/index.spec.js +1 -1
  103. package/dist/collection/components/z-book-card/index.spec.js.map +1 -1
  104. package/dist/collection/components/z-book-card/styles.css +6 -6
  105. package/dist/collection/components/z-breadcrumb/styles.css +1 -1
  106. package/dist/collection/components/z-cover-hero/styles.css +1 -1
  107. package/dist/collection/components/z-info-reveal/styles.css +4 -4
  108. package/dist/collection/components/z-pagination/styles.css +5 -5
  109. package/dist/collection/components/z-popover/styles.css +1 -1
  110. package/dist/collection/components/z-skip-to-content/styles.css +1 -1
  111. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  112. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  113. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  114. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  115. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  116. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  117. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  118. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  119. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  120. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  121. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  122. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  123. package/dist/collection/snowflakes/myz/list/z-myz-list-item/styles.css +2 -2
  124. package/dist/collection/snowflakes/myz/pocket/z-messages-pocket/index.js +1 -1
  125. package/dist/collection/snowflakes/myz/pocket/z-pocket/index.js +1 -1
  126. package/dist/collection/snowflakes/myz/pocket/z-pocket-body/index.js +1 -1
  127. package/dist/collection/snowflakes/myz/pocket/z-pocket-header/index.js +1 -1
  128. package/dist/collection/snowflakes/myz/pocket/z-pocket-message/index.js +1 -1
  129. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  130. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  131. package/dist/components/index.d.ts +0 -2
  132. package/dist/components/index.js +0 -1
  133. package/dist/components/index.js.map +1 -1
  134. package/dist/components/index10.js +1 -1
  135. package/dist/components/index10.js.map +1 -1
  136. package/dist/components/index15.js +1 -1
  137. package/dist/components/index15.js.map +1 -1
  138. package/dist/components/index16.js +1 -1
  139. package/dist/components/index17.js +1 -1
  140. package/dist/components/index18.js +1 -1
  141. package/dist/components/index19.js +1 -1
  142. package/dist/components/index20.js +1 -1
  143. package/dist/components/index20.js.map +1 -1
  144. package/dist/components/index22.js +1 -1
  145. package/dist/components/index23.js +1 -1
  146. package/dist/components/index24.js +1 -1
  147. package/dist/components/index25.js +1 -1
  148. package/dist/components/index25.js.map +1 -1
  149. package/dist/components/index26.js +1 -1
  150. package/dist/components/index26.js.map +1 -1
  151. package/dist/components/index3.js +1 -1
  152. package/dist/components/index4.js +1 -1
  153. package/dist/components/index4.js.map +1 -1
  154. package/dist/components/index5.js +1 -1
  155. package/dist/components/index5.js.map +1 -1
  156. package/dist/components/index7.js +1 -1
  157. package/dist/components/index7.js.map +1 -1
  158. package/dist/components/z-accordion.js +2 -2
  159. package/dist/components/z-accordion.js.map +1 -1
  160. package/dist/components/z-anchor-navigation.js +1 -1
  161. package/dist/components/z-anchor-navigation.js.map +1 -1
  162. package/dist/components/z-app-header.js +2 -2
  163. package/dist/components/z-app-header.js.map +1 -1
  164. package/dist/components/z-book-card.js +3 -3
  165. package/dist/components/z-book-card.js.map +1 -1
  166. package/dist/components/z-breadcrumb.js +1 -1
  167. package/dist/components/z-breadcrumb.js.map +1 -1
  168. package/dist/components/z-combobox.js +1 -1
  169. package/dist/components/z-combobox.js.map +1 -1
  170. package/dist/components/z-cover-hero.js +1 -1
  171. package/dist/components/z-cover-hero.js.map +1 -1
  172. package/dist/components/z-date-picker.js +1 -1
  173. package/dist/components/z-date-picker.js.map +1 -1
  174. package/dist/components/z-file-upload.js +1 -1
  175. package/dist/components/z-file-upload.js.map +1 -1
  176. package/dist/components/z-info-box.js +1 -1
  177. package/dist/components/z-info-box.js.map +1 -1
  178. package/dist/components/z-info-reveal.js +1 -1
  179. package/dist/components/z-info-reveal.js.map +1 -1
  180. package/dist/components/z-menu-section.js +1 -1
  181. package/dist/components/z-menu-section.js.map +1 -1
  182. package/dist/components/z-menu.js +1 -1
  183. package/dist/components/z-menu.js.map +1 -1
  184. package/dist/components/z-messages-pocket.js +1 -1
  185. package/dist/components/z-myz-card-alert.js +1 -1
  186. package/dist/components/z-myz-card-dictionary.js +1 -1
  187. package/dist/components/z-myz-card-footer-sections.js +1 -1
  188. package/dist/components/z-myz-card-footer.js +1 -1
  189. package/dist/components/z-myz-card-icon.js +1 -1
  190. package/dist/components/z-myz-card-info.js +1 -1
  191. package/dist/components/z-myz-card-list.js +1 -1
  192. package/dist/components/z-myz-list.js +1 -1
  193. package/dist/components/z-notification.js +1 -1
  194. package/dist/components/z-notification.js.map +1 -1
  195. package/dist/components/z-otp.js +2 -2
  196. package/dist/components/z-pagination.js +1 -1
  197. package/dist/components/z-pagination.js.map +1 -1
  198. package/dist/components/z-pocket-message.js +1 -1
  199. package/dist/components/z-range-picker.js +1 -1
  200. package/dist/components/z-range-picker.js.map +1 -1
  201. package/dist/components/z-select.js +1 -1
  202. package/dist/components/z-select.js.map +1 -1
  203. package/dist/components/z-skip-to-content.js +1 -1
  204. package/dist/components/z-skip-to-content.js.map +1 -1
  205. package/dist/components/z-stepper-item.js +1 -1
  206. package/dist/components/z-stepper-item.js.map +1 -1
  207. package/dist/components/z-toast-notification.js +1 -1
  208. package/dist/components/z-toast-notification.js.map +1 -1
  209. package/dist/components/z-toggle-button.js +1 -1
  210. package/dist/components/z-toggle-button.js.map +1 -1
  211. package/dist/components/z-toggle-switch.js +1 -1
  212. package/dist/components/z-toggle-switch.js.map +1 -1
  213. package/dist/components/z-tooltip.js +1 -1
  214. package/dist/components/z-tooltip.js.map +1 -1
  215. package/dist/esm/index-f16bc2ca.js +0 -4
  216. package/dist/esm/loader.js +1 -1
  217. package/dist/esm/web-components-library.js +1 -1
  218. package/dist/esm/z-accordion.entry.js +2 -2
  219. package/dist/esm/z-accordion.entry.js.map +1 -1
  220. package/dist/esm/z-alert.entry.js +1 -1
  221. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  222. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  223. package/dist/esm/z-app-header_12.entry.js +5 -5
  224. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  225. package/dist/esm/z-book-card.entry.js +3 -3
  226. package/dist/esm/z-book-card.entry.js.map +1 -1
  227. package/dist/esm/z-breadcrumb.entry.js +1 -1
  228. package/dist/esm/z-breadcrumb.entry.js.map +1 -1
  229. package/dist/esm/z-chip.entry.js +1 -1
  230. package/dist/esm/z-chip.entry.js.map +1 -1
  231. package/dist/esm/z-combobox.entry.js +1 -1
  232. package/dist/esm/z-combobox.entry.js.map +1 -1
  233. package/dist/esm/z-cover-hero.entry.js +1 -1
  234. package/dist/esm/z-cover-hero.entry.js.map +1 -1
  235. package/dist/esm/z-date-picker.entry.js +1 -1
  236. package/dist/esm/z-date-picker.entry.js.map +1 -1
  237. package/dist/esm/z-dragdrop-area_2.entry.js +2 -2
  238. package/dist/esm/z-dragdrop-area_2.entry.js.map +1 -1
  239. package/dist/esm/z-file-upload.entry.js +1 -1
  240. package/dist/esm/z-file-upload.entry.js.map +1 -1
  241. package/dist/esm/z-info-box.entry.js +1 -1
  242. package/dist/esm/z-info-box.entry.js.map +1 -1
  243. package/dist/esm/z-info-reveal.entry.js +1 -1
  244. package/dist/esm/z-info-reveal.entry.js.map +1 -1
  245. package/dist/esm/z-menu-section.entry.js +1 -1
  246. package/dist/esm/z-menu-section.entry.js.map +1 -1
  247. package/dist/esm/z-menu.entry.js +1 -1
  248. package/dist/esm/z-menu.entry.js.map +1 -1
  249. package/dist/esm/z-messages-pocket.entry.js +1 -1
  250. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  251. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  252. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  253. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  254. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  255. package/dist/esm/z-myz-card-info.entry.js +1 -1
  256. package/dist/esm/z-myz-card-list.entry.js +1 -1
  257. package/dist/esm/z-myz-card_4.entry.js +4 -4
  258. package/dist/esm/z-myz-list-item.entry.js +1 -1
  259. package/dist/esm/z-myz-list-item.entry.js.map +1 -1
  260. package/dist/esm/z-myz-list.entry.js +1 -1
  261. package/dist/esm/z-notification.entry.js +1 -1
  262. package/dist/esm/z-notification.entry.js.map +1 -1
  263. package/dist/esm/z-otp.entry.js +2 -2
  264. package/dist/esm/z-pagination.entry.js +1 -1
  265. package/dist/esm/z-pagination.entry.js.map +1 -1
  266. package/dist/esm/z-pocket-message.entry.js +1 -1
  267. package/dist/esm/z-pocket_3.entry.js +3 -3
  268. package/dist/esm/z-popover.entry.js +1 -1
  269. package/dist/esm/z-popover.entry.js.map +1 -1
  270. package/dist/esm/z-range-picker.entry.js +1 -1
  271. package/dist/esm/z-range-picker.entry.js.map +1 -1
  272. package/dist/esm/z-select.entry.js +1 -1
  273. package/dist/esm/z-select.entry.js.map +1 -1
  274. package/dist/esm/z-skip-to-content.entry.js +1 -1
  275. package/dist/esm/z-skip-to-content.entry.js.map +1 -1
  276. package/dist/esm/z-stepper-item.entry.js +1 -1
  277. package/dist/esm/z-stepper-item.entry.js.map +1 -1
  278. package/dist/esm/z-toast-notification.entry.js +1 -1
  279. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  280. package/dist/esm/z-toggle-button.entry.js +1 -1
  281. package/dist/esm/z-toggle-button.entry.js.map +1 -1
  282. package/dist/esm/z-toggle-switch.entry.js +1 -1
  283. package/dist/esm/z-toggle-switch.entry.js.map +1 -1
  284. package/dist/esm/z-tooltip.entry.js +1 -1
  285. package/dist/esm/z-tooltip.entry.js.map +1 -1
  286. package/dist/types/components/navigation/z-app-header/index.d.ts +2 -2
  287. package/dist/types/components/z-accordion/index.d.ts +2 -2
  288. package/dist/types/components.d.ts +16 -156
  289. package/dist/web-components-library/p-1340bdd5.entry.js +2 -0
  290. package/dist/web-components-library/p-1340bdd5.entry.js.map +1 -0
  291. package/dist/web-components-library/p-182a0fd6.entry.js +2 -0
  292. package/dist/web-components-library/p-182a0fd6.entry.js.map +1 -0
  293. package/dist/web-components-library/{p-589a9033.entry.js → p-263fa2c9.entry.js} +2 -2
  294. package/dist/web-components-library/p-263fa2c9.entry.js.map +1 -0
  295. package/dist/web-components-library/p-362ca96c.entry.js +2 -0
  296. package/dist/web-components-library/p-362ca96c.entry.js.map +1 -0
  297. package/dist/web-components-library/{p-4d944fcd.entry.js → p-37e3abfc.entry.js} +2 -2
  298. package/dist/web-components-library/p-3bae6330.entry.js +2 -0
  299. package/dist/web-components-library/p-3bae6330.entry.js.map +1 -0
  300. package/dist/web-components-library/p-44e29069.entry.js +2 -0
  301. package/dist/web-components-library/p-44e29069.entry.js.map +1 -0
  302. package/dist/web-components-library/{p-acf5a569.entry.js → p-49e83bee.entry.js} +2 -2
  303. package/dist/web-components-library/{p-02c08dd1.entry.js → p-4b607fc6.entry.js} +2 -2
  304. package/dist/web-components-library/p-4dd8d4e8.entry.js +2 -0
  305. package/dist/web-components-library/p-4dd8d4e8.entry.js.map +1 -0
  306. package/dist/web-components-library/{p-164b4986.entry.js → p-5471bc89.entry.js} +2 -2
  307. package/dist/web-components-library/p-58d824a2.entry.js +2 -0
  308. package/dist/web-components-library/p-58d824a2.entry.js.map +1 -0
  309. package/dist/web-components-library/p-6b6c4bd0.entry.js +2 -0
  310. package/dist/web-components-library/p-6b6c4bd0.entry.js.map +1 -0
  311. package/dist/web-components-library/p-6ce8b24d.entry.js +2 -0
  312. package/dist/web-components-library/p-6ce8b24d.entry.js.map +1 -0
  313. package/dist/web-components-library/p-77917ccf.entry.js +2 -0
  314. package/dist/web-components-library/p-77917ccf.entry.js.map +1 -0
  315. package/dist/web-components-library/p-849c606d.entry.js +2 -0
  316. package/dist/web-components-library/p-849c606d.entry.js.map +1 -0
  317. package/dist/web-components-library/{p-e40b9b27.entry.js → p-95e91206.entry.js} +2 -2
  318. package/dist/web-components-library/p-9a7d67bf.entry.js +2 -0
  319. package/dist/web-components-library/p-9a7d67bf.entry.js.map +1 -0
  320. package/dist/web-components-library/p-a402854c.entry.js +2 -0
  321. package/dist/web-components-library/p-a402854c.entry.js.map +1 -0
  322. package/{www/build/p-e522c00c.entry.js → dist/web-components-library/p-a71abfa0.entry.js} +2 -2
  323. package/dist/web-components-library/p-a8d30d1c.entry.js +2 -0
  324. package/dist/web-components-library/{p-4691b59a.entry.js → p-af7f944e.entry.js} +2 -2
  325. package/dist/web-components-library/{p-4691b59a.entry.js.map → p-af7f944e.entry.js.map} +1 -1
  326. package/dist/web-components-library/p-b67887e7.entry.js +2 -0
  327. package/dist/web-components-library/p-b67887e7.entry.js.map +1 -0
  328. package/dist/web-components-library/p-b866934b.entry.js +2 -0
  329. package/dist/web-components-library/p-b866934b.entry.js.map +1 -0
  330. package/dist/web-components-library/{p-fe6f5926.entry.js → p-b93c49a8.entry.js} +2 -2
  331. package/dist/web-components-library/p-b93c49a8.entry.js.map +1 -0
  332. package/{www/build/p-41c72490.entry.js → dist/web-components-library/p-c0c46377.entry.js} +2 -2
  333. package/dist/web-components-library/{p-4cf24a3b.entry.js → p-cab235e5.entry.js} +2 -2
  334. package/dist/web-components-library/{p-c2d44867.entry.js → p-cb1cbc74.entry.js} +2 -2
  335. package/dist/web-components-library/p-ceaf6262.entry.js +2 -0
  336. package/dist/web-components-library/p-ceaf6262.entry.js.map +1 -0
  337. package/dist/web-components-library/p-ddf016c1.entry.js +2 -0
  338. package/dist/web-components-library/p-ddf016c1.entry.js.map +1 -0
  339. package/dist/web-components-library/{p-59875f0f.entry.js → p-e0122d52.entry.js} +2 -2
  340. package/dist/web-components-library/p-e0e322cc.entry.js +2 -0
  341. package/dist/web-components-library/p-e0e322cc.entry.js.map +1 -0
  342. package/dist/web-components-library/{p-eb10781f.entry.js → p-e10e6827.entry.js} +2 -2
  343. package/dist/web-components-library/p-e358dce6.entry.js +2 -0
  344. package/dist/web-components-library/p-e358dce6.entry.js.map +1 -0
  345. package/dist/web-components-library/p-ec879ac7.entry.js +2 -0
  346. package/dist/web-components-library/p-ec879ac7.entry.js.map +1 -0
  347. package/dist/web-components-library/{p-303663a9.entry.js → p-f41da106.entry.js} +2 -2
  348. package/dist/web-components-library/{p-303663a9.entry.js.map → p-f41da106.entry.js.map} +1 -1
  349. package/dist/web-components-library/{p-36f7ed38.entry.js → p-f6221ddd.entry.js} +2 -2
  350. package/dist/web-components-library/p-f71637f4.entry.js +2 -0
  351. package/dist/web-components-library/p-f71637f4.entry.js.map +1 -0
  352. package/dist/web-components-library/p-f74653b7.entry.js +2 -0
  353. package/dist/web-components-library/p-f74653b7.entry.js.map +1 -0
  354. package/dist/web-components-library/{p-0d799f83.entry.js → p-fc4bd856.entry.js} +2 -2
  355. package/dist/web-components-library/p-fc4bd856.entry.js.map +1 -0
  356. package/dist/web-components-library/{p-d593548c.entry.js → p-fd8d1fd0.entry.js} +2 -2
  357. package/dist/web-components-library/web-components-library.css +3 -3
  358. package/dist/web-components-library/web-components-library.esm.js +1 -1
  359. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  360. package/package.json +2 -2
  361. package/react/components.d.ts +0 -1
  362. package/react/components.js +2 -3
  363. package/react/components.js.map +1 -1
  364. package/www/build/p-1340bdd5.entry.js +2 -0
  365. package/www/build/p-1340bdd5.entry.js.map +1 -0
  366. package/www/build/p-182a0fd6.entry.js +2 -0
  367. package/www/build/p-182a0fd6.entry.js.map +1 -0
  368. package/www/build/{p-589a9033.entry.js → p-263fa2c9.entry.js} +2 -2
  369. package/www/build/p-263fa2c9.entry.js.map +1 -0
  370. package/www/build/p-362ca96c.entry.js +2 -0
  371. package/www/build/p-362ca96c.entry.js.map +1 -0
  372. package/www/build/{p-4d944fcd.entry.js → p-37e3abfc.entry.js} +2 -2
  373. package/www/build/p-3bae6330.entry.js +2 -0
  374. package/www/build/p-3bae6330.entry.js.map +1 -0
  375. package/www/build/p-44e29069.entry.js +2 -0
  376. package/www/build/p-44e29069.entry.js.map +1 -0
  377. package/www/build/{p-acf5a569.entry.js → p-49e83bee.entry.js} +2 -2
  378. package/www/build/{p-02c08dd1.entry.js → p-4b607fc6.entry.js} +2 -2
  379. package/www/build/p-4dd8d4e8.entry.js +2 -0
  380. package/www/build/p-4dd8d4e8.entry.js.map +1 -0
  381. package/www/build/{p-164b4986.entry.js → p-5471bc89.entry.js} +2 -2
  382. package/www/build/{p-b0497738.js → p-552c7cae.js} +1 -1
  383. package/www/build/p-58d824a2.entry.js +2 -0
  384. package/www/build/p-58d824a2.entry.js.map +1 -0
  385. package/www/build/p-6b6c4bd0.entry.js +2 -0
  386. package/www/build/p-6b6c4bd0.entry.js.map +1 -0
  387. package/www/build/p-6ce8b24d.entry.js +2 -0
  388. package/www/build/p-6ce8b24d.entry.js.map +1 -0
  389. package/www/build/p-7218b462.css +3 -0
  390. package/www/build/p-77917ccf.entry.js +2 -0
  391. package/www/build/p-77917ccf.entry.js.map +1 -0
  392. package/www/build/p-849c606d.entry.js +2 -0
  393. package/www/build/p-849c606d.entry.js.map +1 -0
  394. package/www/build/{p-e40b9b27.entry.js → p-95e91206.entry.js} +2 -2
  395. package/www/build/p-9a7d67bf.entry.js +2 -0
  396. package/www/build/p-9a7d67bf.entry.js.map +1 -0
  397. package/www/build/p-a402854c.entry.js +2 -0
  398. package/www/build/p-a402854c.entry.js.map +1 -0
  399. package/{dist/web-components-library/p-e522c00c.entry.js → www/build/p-a71abfa0.entry.js} +2 -2
  400. package/www/build/p-a8d30d1c.entry.js +2 -0
  401. package/www/build/{p-4691b59a.entry.js → p-af7f944e.entry.js} +2 -2
  402. package/www/build/{p-4691b59a.entry.js.map → p-af7f944e.entry.js.map} +1 -1
  403. package/www/build/p-b67887e7.entry.js +2 -0
  404. package/www/build/p-b67887e7.entry.js.map +1 -0
  405. package/www/build/p-b866934b.entry.js +2 -0
  406. package/www/build/p-b866934b.entry.js.map +1 -0
  407. package/www/build/{p-fe6f5926.entry.js → p-b93c49a8.entry.js} +2 -2
  408. package/www/build/p-b93c49a8.entry.js.map +1 -0
  409. package/{dist/web-components-library/p-41c72490.entry.js → www/build/p-c0c46377.entry.js} +2 -2
  410. package/www/build/{p-4cf24a3b.entry.js → p-cab235e5.entry.js} +2 -2
  411. package/www/build/{p-c2d44867.entry.js → p-cb1cbc74.entry.js} +2 -2
  412. package/www/build/p-ceaf6262.entry.js +2 -0
  413. package/www/build/p-ceaf6262.entry.js.map +1 -0
  414. package/www/build/p-ddf016c1.entry.js +2 -0
  415. package/www/build/p-ddf016c1.entry.js.map +1 -0
  416. package/www/build/{p-59875f0f.entry.js → p-e0122d52.entry.js} +2 -2
  417. package/www/build/p-e0e322cc.entry.js +2 -0
  418. package/www/build/p-e0e322cc.entry.js.map +1 -0
  419. package/www/build/{p-eb10781f.entry.js → p-e10e6827.entry.js} +2 -2
  420. package/www/build/p-e358dce6.entry.js +2 -0
  421. package/www/build/p-e358dce6.entry.js.map +1 -0
  422. package/www/build/p-ec879ac7.entry.js +2 -0
  423. package/www/build/p-ec879ac7.entry.js.map +1 -0
  424. package/www/build/{p-303663a9.entry.js → p-f41da106.entry.js} +2 -2
  425. package/www/build/{p-303663a9.entry.js.map → p-f41da106.entry.js.map} +1 -1
  426. package/www/build/{p-36f7ed38.entry.js → p-f6221ddd.entry.js} +2 -2
  427. package/www/build/p-f71637f4.entry.js +2 -0
  428. package/www/build/p-f71637f4.entry.js.map +1 -0
  429. package/www/build/p-f74653b7.entry.js +2 -0
  430. package/www/build/p-f74653b7.entry.js.map +1 -0
  431. package/www/build/{p-0d799f83.entry.js → p-fc4bd856.entry.js} +2 -2
  432. package/www/build/p-fc4bd856.entry.js.map +1 -0
  433. package/www/build/{p-d593548c.entry.js → p-fd8d1fd0.entry.js} +2 -2
  434. package/www/build/web-components-library.css +3 -3
  435. package/www/build/web-components-library.esm.js +1 -1
  436. package/www/build/web-components-library.esm.js.map +1 -1
  437. package/www/index.html +1 -1
  438. package/www/pages/book-cards.html +43 -7
  439. package/dist/cjs/z-link.cjs.entry.js +0 -71
  440. package/dist/cjs/z-link.cjs.entry.js.map +0 -1
  441. package/dist/collection/deprecated/z-link/index.js +0 -313
  442. package/dist/collection/deprecated/z-link/index.js.map +0 -1
  443. package/dist/collection/deprecated/z-link/index.spec.js +0 -172
  444. package/dist/collection/deprecated/z-link/index.spec.js.map +0 -1
  445. package/dist/collection/deprecated/z-link/styles.css +0 -167
  446. package/dist/components/z-link.d.ts +0 -11
  447. package/dist/components/z-link.js +0 -105
  448. package/dist/components/z-link.js.map +0 -1
  449. package/dist/esm/z-link.entry.js +0 -67
  450. package/dist/esm/z-link.entry.js.map +0 -1
  451. package/dist/types/deprecated/z-link/index.d.ts +0 -41
  452. package/dist/web-components-library/p-01579c23.entry.js +0 -2
  453. package/dist/web-components-library/p-01579c23.entry.js.map +0 -1
  454. package/dist/web-components-library/p-05359612.entry.js +0 -2
  455. package/dist/web-components-library/p-05359612.entry.js.map +0 -1
  456. package/dist/web-components-library/p-0681692a.entry.js +0 -2
  457. package/dist/web-components-library/p-0681692a.entry.js.map +0 -1
  458. package/dist/web-components-library/p-0d799f83.entry.js.map +0 -1
  459. package/dist/web-components-library/p-1768c5e0.entry.js +0 -2
  460. package/dist/web-components-library/p-1768c5e0.entry.js.map +0 -1
  461. package/dist/web-components-library/p-19ba8574.entry.js +0 -2
  462. package/dist/web-components-library/p-19ba8574.entry.js.map +0 -1
  463. package/dist/web-components-library/p-2ae88c97.entry.js +0 -2
  464. package/dist/web-components-library/p-2ae88c97.entry.js.map +0 -1
  465. package/dist/web-components-library/p-38dd5e41.entry.js +0 -2
  466. package/dist/web-components-library/p-38dd5e41.entry.js.map +0 -1
  467. package/dist/web-components-library/p-49407985.entry.js +0 -2
  468. package/dist/web-components-library/p-49407985.entry.js.map +0 -1
  469. package/dist/web-components-library/p-52fa5f80.entry.js +0 -2
  470. package/dist/web-components-library/p-52fa5f80.entry.js.map +0 -1
  471. package/dist/web-components-library/p-589a9033.entry.js.map +0 -1
  472. package/dist/web-components-library/p-5b260d8b.entry.js +0 -2
  473. package/dist/web-components-library/p-5b260d8b.entry.js.map +0 -1
  474. package/dist/web-components-library/p-5bb776c9.entry.js +0 -2
  475. package/dist/web-components-library/p-5bb776c9.entry.js.map +0 -1
  476. package/dist/web-components-library/p-67450112.entry.js +0 -2
  477. package/dist/web-components-library/p-67450112.entry.js.map +0 -1
  478. package/dist/web-components-library/p-7c5b1265.entry.js +0 -2
  479. package/dist/web-components-library/p-7c5b1265.entry.js.map +0 -1
  480. package/dist/web-components-library/p-a7e61213.entry.js +0 -2
  481. package/dist/web-components-library/p-a7e61213.entry.js.map +0 -1
  482. package/dist/web-components-library/p-a8901c35.entry.js +0 -2
  483. package/dist/web-components-library/p-a8901c35.entry.js.map +0 -1
  484. package/dist/web-components-library/p-a9d42b98.entry.js +0 -2
  485. package/dist/web-components-library/p-a9d42b98.entry.js.map +0 -1
  486. package/dist/web-components-library/p-b3c92412.entry.js +0 -2
  487. package/dist/web-components-library/p-b3c92412.entry.js.map +0 -1
  488. package/dist/web-components-library/p-b574f1be.entry.js +0 -2
  489. package/dist/web-components-library/p-b574f1be.entry.js.map +0 -1
  490. package/dist/web-components-library/p-ba8e67ee.entry.js +0 -2
  491. package/dist/web-components-library/p-ba8e67ee.entry.js.map +0 -1
  492. package/dist/web-components-library/p-ca65c04f.entry.js +0 -2
  493. package/dist/web-components-library/p-dbda8812.entry.js +0 -2
  494. package/dist/web-components-library/p-dbda8812.entry.js.map +0 -1
  495. package/dist/web-components-library/p-eac25945.entry.js +0 -2
  496. package/dist/web-components-library/p-eac25945.entry.js.map +0 -1
  497. package/dist/web-components-library/p-f0653be6.entry.js +0 -2
  498. package/dist/web-components-library/p-f0653be6.entry.js.map +0 -1
  499. package/dist/web-components-library/p-f9ddfc93.entry.js +0 -2
  500. package/dist/web-components-library/p-f9ddfc93.entry.js.map +0 -1
  501. package/dist/web-components-library/p-fe6f5926.entry.js.map +0 -1
  502. package/www/build/p-01579c23.entry.js +0 -2
  503. package/www/build/p-01579c23.entry.js.map +0 -1
  504. package/www/build/p-05359612.entry.js +0 -2
  505. package/www/build/p-05359612.entry.js.map +0 -1
  506. package/www/build/p-0681692a.entry.js +0 -2
  507. package/www/build/p-0681692a.entry.js.map +0 -1
  508. package/www/build/p-0d799f83.entry.js.map +0 -1
  509. package/www/build/p-1768c5e0.entry.js +0 -2
  510. package/www/build/p-1768c5e0.entry.js.map +0 -1
  511. package/www/build/p-19ba8574.entry.js +0 -2
  512. package/www/build/p-19ba8574.entry.js.map +0 -1
  513. package/www/build/p-2ae88c97.entry.js +0 -2
  514. package/www/build/p-2ae88c97.entry.js.map +0 -1
  515. package/www/build/p-38dd5e41.entry.js +0 -2
  516. package/www/build/p-38dd5e41.entry.js.map +0 -1
  517. package/www/build/p-49407985.entry.js +0 -2
  518. package/www/build/p-49407985.entry.js.map +0 -1
  519. package/www/build/p-52fa5f80.entry.js +0 -2
  520. package/www/build/p-52fa5f80.entry.js.map +0 -1
  521. package/www/build/p-589a9033.entry.js.map +0 -1
  522. package/www/build/p-5b260d8b.entry.js +0 -2
  523. package/www/build/p-5b260d8b.entry.js.map +0 -1
  524. package/www/build/p-5bb776c9.entry.js +0 -2
  525. package/www/build/p-5bb776c9.entry.js.map +0 -1
  526. package/www/build/p-67450112.entry.js +0 -2
  527. package/www/build/p-67450112.entry.js.map +0 -1
  528. package/www/build/p-7c5b1265.entry.js +0 -2
  529. package/www/build/p-7c5b1265.entry.js.map +0 -1
  530. package/www/build/p-92aa1e0f.css +0 -3
  531. package/www/build/p-a7e61213.entry.js +0 -2
  532. package/www/build/p-a7e61213.entry.js.map +0 -1
  533. package/www/build/p-a8901c35.entry.js +0 -2
  534. package/www/build/p-a8901c35.entry.js.map +0 -1
  535. package/www/build/p-a9d42b98.entry.js +0 -2
  536. package/www/build/p-a9d42b98.entry.js.map +0 -1
  537. package/www/build/p-b3c92412.entry.js +0 -2
  538. package/www/build/p-b3c92412.entry.js.map +0 -1
  539. package/www/build/p-b574f1be.entry.js +0 -2
  540. package/www/build/p-b574f1be.entry.js.map +0 -1
  541. package/www/build/p-ba8e67ee.entry.js +0 -2
  542. package/www/build/p-ba8e67ee.entry.js.map +0 -1
  543. package/www/build/p-ca65c04f.entry.js +0 -2
  544. package/www/build/p-dbda8812.entry.js +0 -2
  545. package/www/build/p-dbda8812.entry.js.map +0 -1
  546. package/www/build/p-eac25945.entry.js +0 -2
  547. package/www/build/p-eac25945.entry.js.map +0 -1
  548. package/www/build/p-f0653be6.entry.js +0 -2
  549. package/www/build/p-f0653be6.entry.js.map +0 -1
  550. package/www/build/p-f9ddfc93.entry.js +0 -2
  551. package/www/build/p-f9ddfc93.entry.js.map +0 -1
  552. package/www/build/p-fe6f5926.entry.js.map +0 -1
  553. /package/dist/web-components-library/{p-4d944fcd.entry.js.map → p-37e3abfc.entry.js.map} +0 -0
  554. /package/dist/web-components-library/{p-acf5a569.entry.js.map → p-49e83bee.entry.js.map} +0 -0
  555. /package/dist/web-components-library/{p-02c08dd1.entry.js.map → p-4b607fc6.entry.js.map} +0 -0
  556. /package/dist/web-components-library/{p-164b4986.entry.js.map → p-5471bc89.entry.js.map} +0 -0
  557. /package/dist/web-components-library/{p-e40b9b27.entry.js.map → p-95e91206.entry.js.map} +0 -0
  558. /package/dist/web-components-library/{p-e522c00c.entry.js.map → p-a71abfa0.entry.js.map} +0 -0
  559. /package/dist/web-components-library/{p-ca65c04f.entry.js.map → p-a8d30d1c.entry.js.map} +0 -0
  560. /package/dist/web-components-library/{p-41c72490.entry.js.map → p-c0c46377.entry.js.map} +0 -0
  561. /package/dist/web-components-library/{p-4cf24a3b.entry.js.map → p-cab235e5.entry.js.map} +0 -0
  562. /package/dist/web-components-library/{p-c2d44867.entry.js.map → p-cb1cbc74.entry.js.map} +0 -0
  563. /package/dist/web-components-library/{p-59875f0f.entry.js.map → p-e0122d52.entry.js.map} +0 -0
  564. /package/dist/web-components-library/{p-eb10781f.entry.js.map → p-e10e6827.entry.js.map} +0 -0
  565. /package/dist/web-components-library/{p-36f7ed38.entry.js.map → p-f6221ddd.entry.js.map} +0 -0
  566. /package/dist/web-components-library/{p-d593548c.entry.js.map → p-fd8d1fd0.entry.js.map} +0 -0
  567. /package/www/build/{p-4d944fcd.entry.js.map → p-37e3abfc.entry.js.map} +0 -0
  568. /package/www/build/{p-acf5a569.entry.js.map → p-49e83bee.entry.js.map} +0 -0
  569. /package/www/build/{p-02c08dd1.entry.js.map → p-4b607fc6.entry.js.map} +0 -0
  570. /package/www/build/{p-164b4986.entry.js.map → p-5471bc89.entry.js.map} +0 -0
  571. /package/www/build/{p-e40b9b27.entry.js.map → p-95e91206.entry.js.map} +0 -0
  572. /package/www/build/{p-e522c00c.entry.js.map → p-a71abfa0.entry.js.map} +0 -0
  573. /package/www/build/{p-ca65c04f.entry.js.map → p-a8d30d1c.entry.js.map} +0 -0
  574. /package/www/build/{p-41c72490.entry.js.map → p-c0c46377.entry.js.map} +0 -0
  575. /package/www/build/{p-4cf24a3b.entry.js.map → p-cab235e5.entry.js.map} +0 -0
  576. /package/www/build/{p-c2d44867.entry.js.map → p-cb1cbc74.entry.js.map} +0 -0
  577. /package/www/build/{p-59875f0f.entry.js.map → p-e0122d52.entry.js.map} +0 -0
  578. /package/www/build/{p-eb10781f.entry.js.map → p-e10e6827.entry.js.map} +0 -0
  579. /package/www/build/{p-36f7ed38.entry.js.map → p-f6221ddd.entry.js.map} +0 -0
  580. /package/www/build/{p-d593548c.entry.js.map → p-fd8d1fd0.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZSelectStyle0","ZSelect","constructor","hostRef","this","itemsList","randomId","ControlSize","BIG","toggleSelectUl","bind","selectItem","handleSelectFocus","watchItems","getInitialItemsArray","selectedItem","find","item","selected","getFocusedItemHandler","e","focusedItemId","target","id","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","includes","emitOptionSelect","optionSelect","emit","htmlid","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","map","_a","prevList","length","filter","name","toUpperCase","start","indexOf","end","newName","substring","hasAutocomplete","boolean","autocomplete","handleInputChange","detail","isOpen","disabled","i","arrowsSelectNav","key","showResetIcon","resetItem","arrows","KeyboardCode","ARROW_DOWN","ARROW_UP","preventDefault","stopPropagation","index","focusSelectItem","focusElem","element","querySelector","focus","selfFocusOnClose","readonly","document","addEventListener","removeEventListener","handleInputClick","cp","composedPath","clearIcon","classList","contains","KeyboardEvent","ESC","TAB","ENTER","tree","getElementTree","getClickedElement","parent","elem","nodeName","toLowerCase","MouseEvent","scrollToLetter","letter","foundItem","charAt","renderInput","h","class","placeholder","replace","label","ariaLabel","icon","hasclearicon","message","status","undefined","role","size","onClick","onKeyUp","keyCode","handleKeyboardSubmit","onKeyDown","onInputChange","onKeyPress","String","fromCharCode","renderSelectUl","tabindex","fixed","isfixed","listSizeType","filled","renderResetItem","renderSelectUlItems","hide","hasGroupItems","clickable","dividerType","ListDividerType","ELEMENT","onClickItem","renderItem","lastItem","HEADER","innerHTML","SMALL","X_SMALL","ListSize","MEDIUM","renderNoSearchResults","renderSelectGroupItems","array","itemKey","newData","reduce","group","category","zListItem","Object","entries","slot","color","fill","noresultslabel","renderMessage","render"],"sources":["src/components/inputs/z-select/styles.css?tag=z-select&encapsulation=scoped","src/components/inputs/z-select/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n color: var(--color-text02);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]),\n:host([size=\"x-small\"]) {\n font-size: var(--font-size-2);\n}\n\n.select-wrapper > z-input {\n width: 100%;\n}\n\n.select-wrapper > div {\n position: relative;\n}\n\n.select-wrapper > div.closed {\n overflow: hidden;\n height: 0;\n}\n\n.select-wrapper .ul-scroll-wrapper {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n border: var(--border-size-small) solid var(--gray200);\n border-top: none;\n background: var(--color-surface01);\n outline: none;\n}\n\n.select-wrapper .closed .ul-scroll-wrapper {\n z-index: 10;\n}\n\n.select-wrapper .open .ul-scroll-wrapper {\n z-index: 20;\n}\n\n.select-wrapper .ul-scroll-wrapper.fixed {\n position: static;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: calc(var(--space-unit) * 0.5);\n outline: none;\n\n /* Firefox scrollbar */\n scrollbar-color: var(--color-primary01) transparent;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar {\n width: 10px;\n background: linear-gradient(to right, transparent 0 3px, var(--gray200) 3px 7px, transparent 7px 10px);\n border-radius: var(--border-radius);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-thumb {\n width: 10px;\n background-color: var(--color-primary01);\n border-radius: var(--border-radius);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n padding-left: calc(var(--space-unit) * 1.5);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n display: block;\n padding: calc(var(--space-unit) * 0.5) 0;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\n display: block;\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n .list-element-content {\n padding: 0;\n}\n\n:host([size=\"small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"x-small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n > z-icon\n + .list-element-content {\n padding: 0 var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content.selected {\n font-weight: bold;\n}\n\n.select-wrapper .ul-scroll-wrapper .no-results z-icon {\n margin-right: var(--space-unit);\n}\n\n.z-list-group-title {\n color: var(--gray800);\n}\n\n.reset-item {\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: calc(var(--space-unit));\n}\n\n.reset-item .reset-item-content > z-icon {\n margin-right: var(--space-unit);\n}\n\n.reset-item.hide {\n display: none;\n}\n","import {Component, Prop, State, h, Event, EventEmitter, Watch, Element, Method, Listen} from \"@stencil/core\";\nimport {SelectItem, ListDividerType, KeyboardCode, InputStatus, ControlSize, ListSize} from \"../../../beans\";\nimport {randomId, handleKeyboardSubmit, getClickedElement, getElementTree, boolean} from \"../../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect {\n @Element() element: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input aria-label */\n @Prop()\n ariaLabel = \"\";\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n private itemsList: SelectItem[] = [];\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.selectItem = this.selectItem.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\n }\n\n @Listen(\"ariaDescendantFocus\")\n getFocusedItemHandler(e: CustomEvent): void {\n this.focusedItemId = (e.target as Element).id;\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.selectedItem = this.itemsList.find((item: SelectItem) => values.includes(item.id));\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n return initialItemsList.map((item: SelectItem) => {\n item.selected = item.id === this.selectedItem?.id;\n\n return item;\n });\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private filterItems(searchString: string): void {\n const prevList = this.mapSelectedItemToItemsArray();\n if (!searchString?.length) {\n this.itemsList = prevList;\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => {\n return item.name.toUpperCase().includes(searchString.toUpperCase());\n })\n .map((item: SelectItem) => {\n const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());\n const end = start + searchString.length;\n const newName =\n item.name.substring(0, start) +\n `<strong>${item.name.substring(start, end)}</strong>` +\n item.name.substring(end, item.name.length);\n item.name = newName;\n\n return item;\n });\n }\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private selectItem(item: null | SelectItem, selected: boolean): void {\n if (item && item.disabled) {\n return;\n }\n\n this.itemsList = this.mapSelectedItemToItemsArray();\n this.itemsList = this.itemsList.map((i: SelectItem) => {\n i.selected = false;\n if (i.id === item?.id) {\n i.selected = selected;\n }\n\n return i;\n });\n\n this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\n\n this.emitOptionSelect();\n\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent, key: number): void {\n const showResetIcon = this.resetItem && !!this.selectedItem;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n\n let index: number;\n\n if (this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= +!showResetIcon ? this.itemsList.length : key - 1;\n }\n }\n\n if (!this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length ? 0 : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= 0 ? this.itemsList.length - 1 : key - 1;\n }\n }\n\n this.focusSelectItem(index);\n }\n\n private focusSelectItem(index: number): void {\n const focusElem: HTMLLIElement = this.element.querySelector(`#${this.htmlid}_${index}`);\n if (focusElem) {\n focusElem.focus();\n }\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.element.querySelector(`#${this.htmlid}_input`) as HTMLInputElement).focus();\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n const cp = e.composedPath();\n const clearIcon = cp.find((item: HTMLElement) => item.classList && item.classList.contains(\"reset-icon\"));\n if (clearIcon) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && e.key !== KeyboardCode.TAB && e.key !== KeyboardCode.ENTER) {\n return;\n }\n\n const tree = getElementTree(getClickedElement());\n const parent = tree.find((elem: HTMLElement) => {\n return elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`;\n });\n\n if (!parent) {\n this.toggleSelectUl(e instanceof MouseEvent ? true : false);\n }\n }\n\n private scrollToLetter(letter: string): void {\n const foundItem = this.itemsList.find((item: SelectItem) => item.name.charAt(0) === letter);\n if (foundItem) {\n this.focusSelectItem(this.itemsList.indexOf(foundItem));\n }\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={!this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, \"\") : null}\n label={this.label}\n aria-expanded={this.isOpen ? \"true\" : \"false\"}\n aria-label={this.ariaLabel}\n aria-controls={`${this.htmlid}_list`}\n aria-autocomplete={this.hasAutocomplete() ? \"list\" : \"none\"}\n aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={this.hasAutocomplete()}\n message={false}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n status={this.isOpen ? undefined : this.status}\n role=\"combobox\"\n size={this.size}\n onClick={(e: MouseEvent) => {\n this.handleInputClick(e);\n }}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.keyCode !== 13) {\n e.preventDefault();\n }\n handleKeyboardSubmit(e, this.toggleSelectUl);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n return this.arrowsSelectNav(\n e,\n this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1\n );\n }}\n onInputChange={(e: CustomEvent) => {\n this.handleInputChange(e);\n }}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(String.fromCharCode(e.keyCode));\n }\n }}\n />\n );\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div\n class={this.isOpen ? \"open\" : \"closed\"}\n tabindex=\"-1\"\n >\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n tabindex=\"-1\"\n >\n <z-list\n role=\"listbox\"\n aria-label={this.ariaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n filled: !!this.selectedItem,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n return (\n <z-list-element\n class={{\n \"hide\": !this.selectedItem || !this.resetItem,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role=\"option\"\n tabindex=\"0\"\n aria-selected=\"false\"\n id={`${this.htmlid}_${this.resetItem ? \"0\" : \"none\"}`}\n size={this.listSizeType()}\n onClickItem={() => {\n this.selectedItem = null;\n this.searchString = null;\n this.emitResetSelect();\n }}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, 0)}\n >\n <div class=\"reset-item-content\">\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, key: number, lastItem: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role=\"option\"\n tabindex={item.disabled || !this.isOpen ? -1 : 0}\n aria-selected={item.selected ? \"true\" : \"false\"}\n id={`${this.htmlid}_${key}`}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item, true)}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, key)}\n >\n <div class=\"list-element-container\">\n {item.icon && <z-icon name={item.icon} />}\n <span\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, key, array) => {\n const lastItem = array.length === key + 1;\n const itemKey = this.resetItem ? key + 1 : key;\n\n return this.renderItem(item, itemKey, lastItem);\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n const newData = this.itemsList.reduce((group, item, index, array) => {\n const {category} = item;\n const lastItem = array.length === index + 1;\n const itemKey = this.resetItem ? index + 1 : index;\n const zListItem = this.renderItem(item, itemKey, lastItem);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n return Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(([key, value]) => {\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n color=\"blue500\"\n class=\"no-results\"\n size={this.listSizeType()}\n >\n <z-icon\n name=\"multiply-circle\"\n fill=\"blue500\"\n />\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s}from"./p-10bb4f4b.js";import{a as e}from"./p-955da62e.js";import"./p-025f494e.js";import"./p-2c886e8b.js";const a=":host li{all:unset;all:reset;width:100%;line-height:14px;list-style-type:none}:host li>span{display:flex;padding:calc(var(--space-unit) * 2) 0;color:var(--color-text01);fill:var(--color-icon02);font-family:var(--font-family-sans);font-size:16px;font-weight:var(--font-rg);letter-spacing:0.23px;line-height:14px}:host(.small) li>span{padding:calc(var(--space-unit) * 1.5) 0;font-size:var(--font-size-2)}:host(.x-small) li>span{padding:var(--space-unit) 0;font-size:var(--font-size-2)}:host(.small) li>span>z-icon,:host(.x-small) li>span>z-icon{--z-icon-width:16px;--z-icon-height:16px;--z-icon-right-margin:calc(var(--space-unit) * 0.5);padding:0}:host li>span.border{border-bottom:2px solid var(--color-surface03)}:host li span:hover,a:hover{color:var(--color-primary01);fill:var(--color-primary01)}a,a:visited,a:active{color:inherit;fill:inherit;text-decoration:none}:host li span z-icon{width:calc(var(--space-unit) * 2);height:calc(var(--space-unit) * 2);padding:0 calc(var(--space-unit) * 1.5) 0 0;background-repeat:no-repeat;background-size:contain;color:var(--color-primary01);fill:var(--color-primary01)}";const n=a;const o=class{emitZListItemLinkClick(i,t){this.zListItemLinkClick.emit({e:i,linkId:t})}emitZListItemClick(i,t){this.zListItemClick.emit({e:i,listitemid:t})}constructor(s){i(this,s);this.zListItemLinkClick=t(this,"zListItemLinkClick",7);this.zListItemClick=t(this,"zListItemClick",7);this.text=undefined;this.link=undefined;this.linktarget="_self";this.icon=undefined;this.listitemid=undefined;this.action=undefined;this.underlined=true;this.emitZListItemLinkClick=this.emitZListItemLinkClick.bind(this);this.emitZListItemClick=this.emitZListItemClick.bind(this)}render(){const i=this.listitemid?`link_${this.listitemid}`:"";return s("li",{key:"f5a9c40546be666fc079a381db8714175c129dec",role:"button",id:this.listitemid,"data-action":this.action,onClick:i=>this.emitZListItemClick(i,this.listitemid),onKeyPress:i=>e(i,this.emitZListItemClick,this.listitemid)},s("span",{key:"06b4ec6cbaa6e5c27f84d0c7df28c246d3d35152",class:this.underlined&&"border"},this.icon&&s("z-icon",{name:this.icon}),this.link?s("a",{href:this.link?this.link:null,target:this.linktarget,id:i,onClick:t=>this.emitZListItemLinkClick(t,i),onKeyPress:t=>e(t,this.emitZListItemLinkClick,i),role:this.link?"link":"button",tabindex:"0"},this.text):s("span",{innerHTML:this.text}),s("slot",{key:"3290eb16cc5f0d79f01f9e7f7c277e227ee6b4e0"})))}};o.style=n;export{o as z_myz_list_item};
2
- //# sourceMappingURL=p-a8901c35.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMyzListItemStyle0","ZMyzListItem","emitZListItemLinkClick","e","linkId","this","zListItemLinkClick","emit","emitZListItemClick","listitemid","zListItemClick","constructor","hostRef","bind","render","h","key","role","id","action","onClick","onKeyPress","ev","handleKeyboardSubmit","class","underlined","icon","name","link","href","target","linktarget","tabindex","text","innerHTML"],"sources":["src/snowflakes/myz/list/z-myz-list-item/styles.css?tag=z-myz-list-item&encapsulation=shadow","src/snowflakes/myz/list/z-myz-list-item/index.tsx"],"sourcesContent":[":host li {\n all: unset;\n all: reset;\n width: 100%;\n line-height: 14px;\n list-style-type: none;\n}\n\n:host li > span {\n display: flex;\n padding: calc(var(--space-unit) * 2) 0;\n color: var(--color-text01);\n fill: var(--color-icon02);\n font-family: var(--font-family-sans);\n font-size: 16px;\n font-weight: var(--font-rg);\n letter-spacing: 0.23px;\n line-height: 14px;\n}\n\n:host(.small) li > span {\n padding: calc(var(--space-unit) * 1.5) 0;\n font-size: var(--font-size-2);\n}\n\n:host(.x-small) li > span {\n padding: var(--space-unit) 0;\n font-size: var(--font-size-2);\n}\n\n:host(.small) li > span > z-icon,\n:host(.x-small) li > span > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n --z-icon-right-margin: calc(var(--space-unit) * 0.5);\n\n padding: 0;\n}\n\n:host li > span.border {\n border-bottom: 2px solid var(--color-surface03);\n}\n\n:host li span:hover,\na:hover {\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n\na,\na:visited,\na:active {\n color: inherit;\n fill: inherit;\n text-decoration: none;\n}\n\n:host li span z-icon {\n width: calc(var(--space-unit) * 2);\n height: calc(var(--space-unit) * 2);\n padding: 0 calc(var(--space-unit) * 1.5) 0 0;\n background-repeat: no-repeat;\n background-size: contain;\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n","import {Component, Prop, h, Event, EventEmitter} from \"@stencil/core\";\nimport {handleKeyboardSubmit} from \"../../../../utils/utils\";\n\n@Component({\n tag: \"z-myz-list-item\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzListItem {\n /** content text */\n @Prop()\n text: string;\n\n /** link url (optional) */\n @Prop()\n link?: string;\n\n /** link target (optional) */\n @Prop()\n linktarget?: string = \"_self\";\n\n /** icon name (optional) */\n @Prop()\n icon?: string;\n\n /** id (optional) */\n @Prop()\n listitemid?: string;\n\n /** data-action attribute (optional) */\n @Prop()\n action?: string;\n\n /** underlined style flag */\n @Prop()\n underlined = true;\n\n /** emitted on list item link click, returns linkId */\n @Event()\n zListItemLinkClick: EventEmitter;\n\n private emitZListItemLinkClick(e: MouseEvent, linkId): void {\n this.zListItemLinkClick.emit({e, linkId});\n }\n\n /** emitted on list item click, returns listitemid */\n @Event()\n zListItemClick: EventEmitter;\n\n private emitZListItemClick(e: MouseEvent, listitemid): void {\n this.zListItemClick.emit({e, listitemid});\n }\n\n constructor() {\n this.emitZListItemLinkClick = this.emitZListItemLinkClick.bind(this);\n this.emitZListItemClick = this.emitZListItemClick.bind(this);\n }\n\n render(): HTMLLIElement {\n const linkId = this.listitemid ? `link_${this.listitemid}` : \"\";\n\n return (\n <li\n role=\"button\"\n id={this.listitemid}\n data-action={this.action}\n onClick={(e: MouseEvent) => this.emitZListItemClick(e, this.listitemid)}\n onKeyPress={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.emitZListItemClick, this.listitemid)}\n >\n <span class={this.underlined && \"border\"}>\n {this.icon && <z-icon name={this.icon} />}\n {this.link ? (\n <a\n href={this.link ? this.link : null}\n target={this.linktarget}\n id={linkId}\n onClick={(e: MouseEvent) => this.emitZListItemLinkClick(e, linkId)}\n onKeyPress={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.emitZListItemLinkClick, linkId)}\n role={this.link ? \"link\" : \"button\"}\n tabindex=\"0\"\n >\n {this.text}\n </a>\n ) : (\n <span innerHTML={this.text}></span>\n )}\n <slot />\n </span>\n </li>\n );\n }\n}\n"],"mappings":"sIAAA,MAAMA,EAAY,0lCAClB,MAAAC,EAAeD,E,MCOFE,EAAY,MAiCf,sBAAAC,CAAuBC,EAAeC,GAC5CC,KAAKC,mBAAmBC,KAAK,CAACJ,IAAGC,U,CAO3B,kBAAAI,CAAmBL,EAAeM,GACxCJ,KAAKK,eAAeH,KAAK,CAACJ,IAAGM,c,CAG/B,WAAAE,CAAAC,G,wKAlCsB,Q,oFAgBT,KAmBXP,KAAKH,uBAAyBG,KAAKH,uBAAuBW,KAAKR,MAC/DA,KAAKG,mBAAqBH,KAAKG,mBAAmBK,KAAKR,K,CAGzD,MAAAS,GACE,MAAMV,EAASC,KAAKI,WAAa,QAAQJ,KAAKI,aAAe,GAE7D,OACEM,EAAA,MAAAC,IAAA,2CACEC,KAAK,SACLC,GAAIb,KAAKI,WAAU,cACNJ,KAAKc,OAClBC,QAAUjB,GAAkBE,KAAKG,mBAAmBL,EAAGE,KAAKI,YAC5DY,WAAaC,GAAsBC,EAAqBD,EAAIjB,KAAKG,mBAAoBH,KAAKI,aAE1FM,EAAA,QAAAC,IAAA,2CAAMQ,MAAOnB,KAAKoB,YAAc,UAC7BpB,KAAKqB,MAAQX,EAAA,UAAQY,KAAMtB,KAAKqB,OAChCrB,KAAKuB,KACJb,EAAA,KACEc,KAAMxB,KAAKuB,KAAOvB,KAAKuB,KAAO,KAC9BE,OAAQzB,KAAK0B,WACbb,GAAId,EACJgB,QAAUjB,GAAkBE,KAAKH,uBAAuBC,EAAGC,GAC3DiB,WAAaC,GAAsBC,EAAqBD,EAAIjB,KAAKH,uBAAwBE,GACzFa,KAAMZ,KAAKuB,KAAO,OAAS,SAC3BI,SAAS,KAER3B,KAAK4B,MAGRlB,EAAA,QAAMmB,UAAW7B,KAAK4B,OAExBlB,EAAA,QAAAC,IAAA,8C"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as o,a as i,g as s}from"./p-10bb4f4b.js";const a=':host{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;font-family:var(--font-family-sans)}:host,::slotted(*),*{box-sizing:border-box}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-text01);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host(:is([active],[open])) .label,.label:hover{border-color:var(--color-secondary01)}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}.label{display:flex;width:100%;align-items:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);border:0;border-bottom:var(--border-size-small) solid var(--color-surface05);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}::slotted([data-text]){display:inline-flex;flex-direction:column}::slotted([data-text])::after{overflow:hidden;height:0;content:attr(data-text);content:attr(data-text) / "";font-weight:var(--font-bd);pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}.label ::slotted(*){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.label z-icon{margin-left:calc(var(--space-unit) * 4);fill:var(--color-icon02)}.items{display:flex;width:100%;flex-direction:column;padding:calc(var(--space-unit) / 2);padding-bottom:calc(var(--space-unit) * 1.5)}.items>::slotted([slot="item"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-2);line-height:1.4;outline:none}.items>::slotted([slot="item"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-secondary01)}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"][active]){color:var(--color-secondary01);font-weight:var(--font-bd)}';const n=a;const l=class{constructor(o){t(this,o);this.opened=e(this,"opened",7);this.closed=e(this,"closed",7);this.active=undefined;this.open=undefined;this.hasContent=undefined}toggle(){if(!this.hasContent){return}this.open=!this.open;this.open?this.opened.emit():this.closed.emit()}handleClick(t){if(!this.open||this.hostElement.contains(t.target)){return}this.open=false;this.closed.emit()}checkContent(){this.hasContent=this.hostElement.querySelectorAll('[slot="item"]').length>0}onLabelSlotChange(t){const e=t.target.assignedElements()[0];e.dataset.text=(e===null||e===void 0?void 0:e.innerText)||null}componentWillLoad(){this.checkContent()}render(){return o(i,{key:"beadad10be10337d069e96c4144372b3ae9188d7",role:"menu",open:this.open},o("button",{key:"d76a6e7da3bb60238571b5a4e9c76b2923b07a97",class:"label","aria-pressed":this.open?"true":"false",onClick:this.toggle.bind(this)},o("slot",{key:"ba6a653482a7e3f5de77877e7e69225c236b85f8",onSlotchange:this.onLabelSlotChange.bind(this)}),this.hasContent&&o("z-icon",{name:this.open?"chevron-up":"chevron-down"})),this.open&&o("div",{class:"items"},o("slot",{name:"item",onSlotchange:this.checkContent.bind(this)})))}get hostElement(){return s(this)}};l.style=n;export{l as z_menu_section};
2
- //# sourceMappingURL=p-a9d42b98.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMenuSectionStyle0","ZMenuSection","toggle","this","hasContent","open","opened","emit","closed","handleClick","ev","hostElement","contains","target","checkContent","querySelectorAll","length","onLabelSlotChange","labelElement","assignedElements","dataset","text","innerText","componentWillLoad","render","h","Host","key","role","class","onClick","bind","onSlotchange","name"],"sources":["src/components/navigation/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/navigation/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-text01);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host(:is([active], [open])) .label,\n.label:hover {\n border-color: var(--color-secondary01);\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-icon02);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items > ::slotted([slot=\"item\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-2);\n line-height: 1.4;\n outline: none;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-secondary01);\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"][active]) {\n color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, h, Prop, State, Event, EventEmitter, Element, Listen, Host} from \"@stencil/core\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot item - Single entry of the section. Set the same slot name to different items to put many of them. Add the `active` attribute to a slotted item to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() hostElement: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n @State()\n open: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.open || this.hostElement.contains(ev.target as Node)) {\n return;\n }\n\n this.open = false;\n this.closed.emit();\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasContent = this.hostElement.querySelectorAll('[slot=\"item\"]').length > 0;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.innerText || null;\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host\n role=\"menu\"\n open={this.open}\n >\n <button\n class=\"label\"\n aria-pressed={this.open ? \"true\" : \"false\"}\n onClick={this.toggle.bind(this)}\n >\n <slot onSlotchange={this.onLabelSlotChange.bind(this)}></slot>\n {this.hasContent && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n {this.open && (\n <div class=\"items\">\n <slot\n name=\"item\"\n onSlotchange={this.checkContent.bind(this)}\n ></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAY,u7DAClB,MAAAC,EAAeD,E,MCWFE,EAAY,M,2JAqBf,MAAAC,GACN,IAAKC,KAAKC,WAAY,CACpB,M,CAGFD,KAAKE,MAAQF,KAAKE,KAClBF,KAAKE,KAAOF,KAAKG,OAAOC,OAASJ,KAAKK,OAAOD,M,CAK/C,WAAAE,CAAYC,GACV,IAAKP,KAAKE,MAAQF,KAAKQ,YAAYC,SAASF,EAAGG,QAAiB,CAC9D,M,CAGFV,KAAKE,KAAO,MACZF,KAAKK,OAAOD,M,CAMN,YAAAO,GACNX,KAAKC,WAAaD,KAAKQ,YAAYI,iBAAiB,iBAAiBC,OAAS,C,CAOxE,iBAAAC,CAAkBP,GACxB,MAAMQ,EAAgBR,EAAGG,OAA2BM,mBAAmB,GACvED,EAAaE,QAAQC,MAAOH,IAAY,MAAZA,SAAY,SAAZA,EAAcI,YAAa,I,CAGzD,iBAAAC,GACEpB,KAAKW,c,CAGP,MAAAU,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,OACLvB,KAAMF,KAAKE,MAEXoB,EAAA,UAAAE,IAAA,2CACEE,MAAM,QAAO,eACC1B,KAAKE,KAAO,OAAS,QACnCyB,QAAS3B,KAAKD,OAAO6B,KAAK5B,OAE1BsB,EAAA,QAAAE,IAAA,2CAAMK,aAAc7B,KAAKc,kBAAkBc,KAAK5B,QAC/CA,KAAKC,YAAcqB,EAAA,UAAQQ,KAAM9B,KAAKE,KAAO,aAAe,kBAE9DF,KAAKE,MACJoB,EAAA,OAAKI,MAAM,SACTJ,EAAA,QACEQ,KAAK,OACLD,aAAc7B,KAAKW,aAAaiB,KAAK5B,S"}
@@ -1,2 +0,0 @@
1
- import{r as i,c,h,g as r}from"./p-10bb4f4b.js";import{x as e}from"./p-025f494e.js";const s=".sc-z-chip-h>.z-chip-container.sc-z-chip{display:inline-flex;min-height:28px;align-items:center;padding:0 calc(var(--space-unit) * 1.5);border:var(--border-size-small) solid var(--gray400);background-color:var(--color-surface01);border-radius:14px;color:var(--color-text01);fill:var(--color-text01);font-family:var(--font-family-sans);font-size:14px;line-height:28px}.sc-z-chip-h>.z-chip-interactive.sc-z-chip{font-weight:var(--font-sb)}.sc-z-chip-h>.z-chip-container.sc-z-chip>button.sc-z-chip{padding:0;border:none;margin-left:var(--space-unit);background-color:transparent;cursor:pointer}.sc-z-chip-h>.z-chip-container.sc-z-chip>z-icon.sc-z-chip:first-child{margin-right:calc(var(--space-unit) / 2)}.sc-z-chip-h>.z-chip-container.sc-z-chip:not([aria-disabled]):hover>z-icon.sc-z-chip:first-child{fill:var(--color-icon02)}.sc-z-chip-h>.z-chip-container.sc-z-chip .interactive-icon.sc-z-chip{fill:var(--color-primary01)}.sc-z-chip-h>.z-chip-container.sc-z-chip:not([aria-disabled]) .interactive-icon.sc-z-chip:hover{color:var(--color-hover-primary);fill:var(--color-hover-primary)}.sc-z-chip-h>.z-chip-container[aria-disabled].sc-z-chip,.sc-z-chip-h>.z-chip-container[aria-disabled].sc-z-chip z-icon.sc-z-chip{color:var(--color-disabled03);cursor:auto;fill:var(--color-disabled03)}.sc-z-chip-h>.z-chip-container[aria-disabled].sc-z-chip{border:var(--border-size-small) solid var(--color-disabled01)}.sc-z-chip-h>.z-chip-container.sc-z-chip>button.sc-z-chip:focus:focus-visible{border-radius:100%;box-shadow:var(--shadow-focus-primary);outline:none}.sc-z-chip-h>button.sc-z-chip:not([disabled]):active:hover .interactive-icon.sc-z-chip{color:var(--color-primary01);fill:var(--color-primary01)}.sc-z-chip-h>.z-chip-container.sc-z-chip>z-icon.sc-z-chip,.sc-z-chip-h>.z-chip-container.sc-z-chip .interactive-icon.sc-z-chip{--z-icon-width:22px;--z-icon-height:22px}.sc-z-chip-h>.z-chip-container.default.sc-z-chip{min-height:44px;border-radius:22px;line-height:44px}.sc-z-chip-h>.z-chip-container.medium.sc-z-chip{min-height:40px;border-radius:22px;line-height:40px}.sc-z-chip-h>.z-chip-container.small.sc-z-chip{min-height:36px;border-radius:22px;line-height:36px}@media (min-width: 1152px){.sc-z-chip-h>.z-chip-container.sc-z-chip{font-size:12px}.sc-z-chip-h>.z-chip-container.default.sc-z-chip{min-height:32px;border-radius:16px;line-height:32px}.sc-z-chip-h>.z-chip-container.medium.sc-z-chip{min-height:28px;border-radius:16px;line-height:28px}.sc-z-chip-h>.z-chip-container.small.sc-z-chip{min-height:24px;border-radius:16px;line-height:24px}.sc-z-chip-h>.z-chip-container.sc-z-chip>z-icon.sc-z-chip,.sc-z-chip-h>.z-chip-container.sc-z-chip .interactive-icon.sc-z-chip{--z-icon-width:14px;--z-icon-height:14px}}";const o=s;const a=class{constructor(h){i(this,h);this.interactiveIconClick=c(this,"interactiveIconClick",7);this.icon=undefined;this.type=e.DEFAULT;this.interactiveIcon=undefined;this.disabled=false;this.ariaLabel=""}render(){return h("div",{key:"6f854f9af61641c48e7870b320f330e08fa10115",class:{"z-chip-container":true,"z-chip-interactive":!!this.interactiveIcon,[this.type]:true},"aria-disabled":this.disabled},this.icon&&h("z-icon",{name:this.icon}),h("slot",{key:"17dd6eacc4edf0df59bd68f4c453126e954c5e86"}),this.interactiveIcon&&h("button",{type:"button",onClick:()=>this.interactiveIconClick.emit(),"aria-label":this.ariaLabel,disabled:this.disabled},h("z-icon",{class:"interactive-icon",name:this.interactiveIcon})))}get el(){return r(this)}};a.style=o;export{a as z_chip};
2
- //# sourceMappingURL=p-b3c92412.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZChipStyle0","ZChip","ZChipType","DEFAULT","render","h","key","class","this","interactiveIcon","type","disabled","icon","name","onClick","interactiveIconClick","emit","ariaLabel"],"sources":["src/components/buttons/z-chip/styles.css?tag=z-chip&encapsulation=scoped","src/components/buttons/z-chip/index.tsx"],"sourcesContent":[":host > .z-chip-container {\n display: inline-flex;\n min-height: 28px;\n align-items: center;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--gray400);\n background-color: var(--color-surface01);\n border-radius: 14px;\n color: var(--color-text01);\n fill: var(--color-text01);\n font-family: var(--font-family-sans);\n font-size: 14px;\n line-height: 28px;\n}\n\n:host > .z-chip-interactive {\n font-weight: var(--font-sb);\n}\n\n:host > .z-chip-container > button {\n padding: 0;\n border: none;\n margin-left: var(--space-unit);\n background-color: transparent;\n cursor: pointer;\n}\n\n:host > .z-chip-container > z-icon:first-child {\n margin-right: calc(var(--space-unit) / 2);\n}\n\n:host > .z-chip-container:not([aria-disabled]):hover > z-icon:first-child {\n fill: var(--color-icon02);\n}\n\n:host > .z-chip-container .interactive-icon {\n fill: var(--color-primary01);\n}\n\n:host > .z-chip-container:not([aria-disabled]) .interactive-icon:hover {\n color: var(--color-hover-primary);\n fill: var(--color-hover-primary);\n}\n\n:host > .z-chip-container[aria-disabled],\n:host > .z-chip-container[aria-disabled] z-icon {\n color: var(--color-disabled03);\n cursor: auto;\n fill: var(--color-disabled03);\n}\n\n:host > .z-chip-container[aria-disabled] {\n border: var(--border-size-small) solid var(--color-disabled01);\n}\n\n:host > .z-chip-container > button:focus:focus-visible {\n border-radius: 100%;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > button:not([disabled]):active:hover .interactive-icon {\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n\n:host > .z-chip-container > z-icon,\n:host > .z-chip-container .interactive-icon {\n --z-icon-width: 22px;\n --z-icon-height: 22px;\n}\n\n/* :host type */\n:host > .z-chip-container.default {\n min-height: 44px;\n border-radius: 22px;\n line-height: 44px;\n}\n\n:host > .z-chip-container.medium {\n min-height: 40px;\n border-radius: 22px;\n line-height: 40px;\n}\n\n:host > .z-chip-container.small {\n min-height: 36px;\n border-radius: 22px;\n line-height: 36px;\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n :host > .z-chip-container {\n font-size: 12px;\n }\n\n /* :host type */\n :host > .z-chip-container.default {\n min-height: 32px;\n border-radius: 16px;\n line-height: 32px;\n }\n\n :host > .z-chip-container.medium {\n min-height: 28px;\n border-radius: 16px;\n line-height: 28px;\n }\n\n :host > .z-chip-container.small {\n min-height: 24px;\n border-radius: 16px;\n line-height: 24px;\n }\n\n :host > .z-chip-container > z-icon,\n :host > .z-chip-container .interactive-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n }\n}\n","import {Component, Prop, h, Element, Event, EventEmitter} from \"@stencil/core\";\nimport {ZChipType} from \"../../../beans\";\n\n@Component({\n tag: \"z-chip\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZChip {\n @Element() el: HTMLZChipElement;\n\n /** Non interactive icon */\n @Prop()\n icon?: string;\n\n /** z-chip size type, can be default, medium or small */\n @Prop({reflect: true})\n type?: ZChipType = ZChipType.DEFAULT;\n\n /** z-chip interactive icon */\n @Prop({reflect: true})\n interactiveIcon?: string;\n\n /** set z-chip as disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** z-chip aria-label string */\n @Prop()\n ariaLabel = \"\";\n\n /** click on interactive icon */\n @Event()\n interactiveIconClick: EventEmitter;\n\n render(): HTMLDivElement {\n return (\n <div\n class={{\n \"z-chip-container\": true,\n \"z-chip-interactive\": !!this.interactiveIcon,\n [this.type]: true,\n }}\n aria-disabled={this.disabled}\n >\n {this.icon && <z-icon name={this.icon} />}\n <slot />\n {this.interactiveIcon && (\n <button\n type=\"button\"\n onClick={() => this.interactiveIconClick.emit()}\n aria-label={this.ariaLabel}\n disabled={this.disabled}\n >\n <z-icon\n class=\"interactive-icon\"\n name={this.interactiveIcon}\n />\n </button>\n )}\n </div>\n );\n }\n}\n"],"mappings":"mFAAA,MAAMA,EAAY,4pFAClB,MAAAC,EAAeD,E,MCQFE,EAAK,M,kHASGC,EAAUC,Q,6CAQR,M,eAIT,E,CAMZ,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,mBAAoB,KACpB,uBAAwBC,KAAKC,gBAC7B,CAACD,KAAKE,MAAO,MACd,gBACcF,KAAKG,UAEnBH,KAAKI,MAAQP,EAAA,UAAQQ,KAAML,KAAKI,OACjCP,EAAA,QAAAC,IAAA,6CACCE,KAAKC,iBACJJ,EAAA,UACEK,KAAK,SACLI,QAAS,IAAMN,KAAKO,qBAAqBC,OAAM,aACnCR,KAAKS,UACjBN,SAAUH,KAAKG,UAEfN,EAAA,UACEE,MAAM,mBACNM,KAAML,KAAKC,mB"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,a as s,g as a}from"./p-10bb4f4b.js";import{s as n}from"./p-025f494e.js";import{m as r}from"./p-2c886e8b.js";import{H as o}from"./p-54b0b04e.js";const l=":host{display:inline-block;width:100vw;min-width:200px;--percentuale:0}:host(.slide-in-left){animation:slideinleft 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-right){animation:slideinright 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-down){animation:slideindown 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-up){animation:slideinup 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-left){animation:slideoutleft 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-right){animation:slideoutright 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-down){animation:slideoutdown 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-up){animation:slideoutup 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}@keyframes slideinleft{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes slideinright{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes slideinup{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideindown{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideoutleft{0%{opacity:calc(100% - var(--percentuale));transform:translateX(var(--percentuale))}100%{opacity:0;transform:translateX(-100%)}}@keyframes slideoutright{0%{opacity:calc(100% - var(--percentuale));transform:translateX(var(--percentuale))}100%{opacity:0;transform:translateX(100%)}}@keyframes slideoutup{0%{opacity:1;transform:translateY(var(--percentuale))}100%{opacity:0;transform:translateY(-100%)}}@keyframes slideoutdown{0%{opacity:1;transform:translateY(var(--percentuale))}100%{opacity:0;transform:translateY(100%)}}:host>#external-container{display:flex;min-height:52px;box-sizing:border-box;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);border-radius:4px;box-shadow:var(--shadow-3);font-family:var(--font-family-sans);font-size:14px;font-weight:var(--font-rg);letter-spacing:0.16px}:host>#external-container.mobile-wrapped>#icon{align-self:flex-start}:host>#external-container.several-lines-padding{padding:calc(var(--space-unit) * 2)}:host>#external-container>#flex-container{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between}:host>#external-container #text{margin-right:calc(var(--space-unit) * 2);color:var(--color-white);letter-spacing:0.16px;line-height:20px;text-align:left}:host>#external-container #text>.title{margin-right:4px;font-weight:600}:host>#external-container.mobile-wrapped #button ::slotted(z-button){margin-top:calc(var(--space-unit) * 2)}:host>#external-container #icon{margin-left:calc(var(--space-unit) * 2);cursor:pointer;fill:var(--color-white)}:host>#external-container.dark{background:var(--gray800)}:host>#external-container.light{background:var(--color-background)}:host>#external-container.light #icon,:host>#external-container.warning #text,:host>#external-container.warning #icon{fill:var(--color-icon01)}:host>#external-container.light #text,:host>#external-container.warning #text{color:var(--gray800)}:host>#external-container.accent{background:var(--color-primary01)}:host>#external-container.error{background:var(--color-error-default)}:host>#external-container.success{background:var(--color-success-default)}:host>#external-container.warning{background:var(--color-warning-default)}@media only screen and (min-width: 768px){:host{width:unset;max-width:50vw}:host>#external-container>#flex-container{flex-wrap:nowrap}:host>#external-container #text{width:100%}}@media only screen and (min-width: 1366px){:host{width:unset;max-width:33vw}}";const h=l;const c=class{constructor(i){t(this,i);this.toastClose=e(this,"toastClose",7);this.isCloseEventCalled=false;this.heading=undefined;this.message=undefined;this.closebutton=undefined;this.autoclose=undefined;this.pauseonfocusloss=true;this.type=undefined;this.isdraggable=true;this.draggablepercentage=80;this.transition=undefined;this.percentage=undefined}watchPropIsdraggable(t){if(t){this.sliderManager.get("pan").set({enable:true})}else{this.sliderManager.get("pan").set({enable:false})}}watchPropAutoclose(t){clearTimeout(this.timeoutHandle);this.startClosingTimeout(t)}watchPropPauseonfocusloss(t){if(this.autoclose){if(t){document.addEventListener("visibilitychange",this.visibilityChangeEventHandler)}else{document.removeEventListener("visibilitychange",this.visibilityChangeEventHandler)}}}emitToastClose(t){this.timeoutHandle=null;this.elapsedTime=null;this.hostElement.classList.add(t);this.toastClose.emit()}componentWillLoad(){this.isMobile=window.innerWidth<=r;this.validateAutoclose();this.percentage=0}componentDidLoad(){this.isTextLong=this.detectWrap()||this.toastText.offsetHeight>20;this.startTime=Date.now();if(this.autoclose&&this.pauseonfocusloss){document.addEventListener("visibilitychange",this.visibilityChangeEventHandler)}this.isdraggable&&this.handleSlideOutDragAnimation()}visibilityChangeEventHandler(){if(document.visibilityState==="hidden"){this.timeoutHandle&&this.onBlur()}else{this.elapsedTime&&this.onFocus()}}validateAutoclose(){if(!this.autoclose&&!this.closebutton){console.error("At least one between autoclose and closebutton must be present")}}mapSlideOutClass(){switch(this.transition){case n.SLIDE_IN_DOWN:return n.SLIDE_OUT_UP;case n.SLIDE_IN_UP:return n.SLIDE_OUT_DOWN;case n.SLIDE_IN_LEFT:return n.SLIDE_OUT_RIGHT;case n.SLIDE_IN_RIGHT:return n.SLIDE_OUT_LEFT}}calculateDraggedPercentage(t){const e=this.hostElement.getBoundingClientRect();return Math.round(100*t.deltaX/e.width)}handleSlideOutDragAnimation(){this.sliderManager=new o(this.hostElement);this.sliderManager.get("pan").set({direction:o.DIRECTION_HORIZONTAL});this.sliderManager.on("pan",(t=>{this.percentage=this.calculateDraggedPercentage(t);this.hostElement.style.transition="none";this.hostElement.classList.remove(this.transition);const e={translate:`translateX(${this.percentage}%)`,translateBack:"translateX(0)"};this.hostElement.style.opacity=`${100-Math.abs(this.percentage)}%`;if(t.eventType===o.DIRECTION_LEFT||t.eventType===o.DIRECTION_RIGHT){this.hostElement.style.transform=e.translate;if(Math.abs(this.percentage)>this.draggablepercentage&&!this.isCloseEventCalled){this.isCloseEventCalled=true;this.emitToastClose(t.direction===o.DIRECTION_LEFT?"slide-out-left":"slide-out-right")}}if(t.isFinal&&Math.abs(this.percentage)<this.draggablepercentage){this.hostElement.style.transform=e.translateBack;this.hostElement.style.transition="all 1s";this.hostElement.style.opacity="100%";this.percentage=0}}))}onFocus(){let t=this.autoclose;if(this.elapsedTime){t=this.autoclose-this.elapsedTime}if(t>0){this.startClosingTimeout(t)}}onBlur(){this.elapsedTime=Date.now()-this.startTime;clearTimeout(this.timeoutHandle)}startClosingTimeout(t){this.timeoutHandle=window.setTimeout((()=>this.emitToastClose(this.mapSlideOutClass())),t)}detectWrap(){const t=this.container.offsetWidth;const e=this.container.children;let i=0;for(let t=0;t<e.length;t++){i+=e[t].offsetWidth}return i>t}renderText(){return i("div",{id:"text",ref:t=>this.toastText=t},i("span",{class:"title"},this.heading),i("span",{class:"message"},this.message))}renderButton(){return i("div",{id:"button"},i("slot",{name:"button"}))}renderCloseIcon(){if(!this.closebutton){return}return i("div",{id:"icon"},i("z-icon",{tabIndex:0,name:"multiply-circled",width:15,height:15,onClick:()=>this.emitToastClose(this.mapSlideOutClass()),onKeyPress:t=>{if(t.keyCode==32||t.keyCode==13){t.preventDefault();this.emitToastClose(this.mapSlideOutClass())}}}))}renderContainer(){return i("div",{tabIndex:0,id:"external-container",class:{[this.type]:!!this.type,"several-lines-padding":this.isTextLong},ref:t=>this.container=t},this.renderText(),this.renderButton(),this.renderCloseIcon())}renderMobileContainer(){return i("div",{id:"external-container",class:{[this.type]:!!this.type,"several-lines-padding":this.isTextLong,"mobile-wrapped":this.isTextLong}},i("div",{id:"flex-container",ref:t=>this.container=t},this.renderText(),this.renderButton()),this.renderCloseIcon())}render(){return i(s,{key:"d6ea4a44c85076f5db4dca3513e6f659f3405d13",style:{"--percentuale":`${this.percentage}%`},class:this.transition?this.transition:n.SLIDE_IN_DOWN,onAnimationEnd:t=>{if(this.autoclose&&t.animationName.includes("slidein")){this.startClosingTimeout(this.autoclose)}if(t.animationName.includes("slideout")){this.hostElement.parentNode.removeChild(this.hostElement)}}},this.isMobile?this.renderMobileContainer():this.renderContainer())}get hostElement(){return a(this)}static get watchers(){return{isdraggable:["watchPropIsdraggable"],autoclose:["watchPropAutoclose"],pauseonfocusloss:["watchPropPauseonfocusloss"]}}};c.style=h;export{c as z_toast_notification};
2
- //# sourceMappingURL=p-b574f1be.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZToastNotificationStyle0","ZToastNotification","this","isCloseEventCalled","watchPropIsdraggable","newValue","sliderManager","get","set","enable","watchPropAutoclose","clearTimeout","timeoutHandle","startClosingTimeout","watchPropPauseonfocusloss","autoclose","document","addEventListener","visibilityChangeEventHandler","removeEventListener","emitToastClose","cssClass","elapsedTime","hostElement","classList","add","toastClose","emit","componentWillLoad","isMobile","window","innerWidth","mobileBreakpoint","validateAutoclose","percentage","componentDidLoad","isTextLong","detectWrap","toastText","offsetHeight","startTime","Date","now","pauseonfocusloss","isdraggable","handleSlideOutDragAnimation","visibilityState","onBlur","onFocus","closebutton","console","error","mapSlideOutClass","transition","ToastNotificationTransition","SLIDE_IN_DOWN","SLIDE_OUT_UP","SLIDE_IN_UP","SLIDE_OUT_DOWN","SLIDE_IN_LEFT","SLIDE_OUT_RIGHT","SLIDE_IN_RIGHT","SLIDE_OUT_LEFT","calculateDraggedPercentage","e","bounding","getBoundingClientRect","Math","round","deltaX","width","Hammer","direction","DIRECTION_HORIZONTAL","on","style","remove","translateObj","translate","translateBack","opacity","abs","eventType","DIRECTION_LEFT","DIRECTION_RIGHT","transform","draggablepercentage","isFinal","time","setTimeout","parentWidth","container","offsetWidth","children","totalWidth","i","length","renderText","h","id","ref","el","class","heading","message","renderButton","name","renderCloseIcon","tabIndex","height","onClick","onKeyPress","keyCode","preventDefault","renderContainer","type","renderMobileContainer","render","Host","key","onAnimationEnd","animationName","includes","parentNode","removeChild"],"sources":["src/components/notification/z-toast-notification/styles.css?tag=z-toast-notification&encapsulation=shadow","src/components/notification/z-toast-notification/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100vw;\n min-width: 200px;\n\n --percentuale: 0;\n}\n\n:host(.slide-in-left) {\n animation: slideinleft 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-in-right) {\n animation: slideinright 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-in-down) {\n animation: slideindown 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-in-up) {\n animation: slideinup 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-out-left) {\n animation: slideoutleft 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-out-right) {\n animation: slideoutright 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-out-down) {\n animation: slideoutdown 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n:host(.slide-out-up) {\n animation: slideoutup 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);\n animation-fill-mode: forwards;\n}\n\n@keyframes slideinleft {\n 0% {\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(0);\n }\n}\n\n@keyframes slideinright {\n 0% {\n transform: translateX(-100%);\n }\n\n 100% {\n transform: translateX(0);\n }\n}\n\n@keyframes slideinup {\n 0% {\n opacity: 0;\n transform: translateY(100%);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideindown {\n 0% {\n opacity: 0;\n transform: translateY(-100%);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes slideoutleft {\n 0% {\n /* stylelint-disable-next-line alpha-value-notation */\n opacity: calc(100% - var(--percentuale));\n transform: translateX(var(--percentuale));\n }\n\n 100% {\n opacity: 0;\n transform: translateX(-100%);\n }\n}\n\n@keyframes slideoutright {\n 0% {\n /* stylelint-disable-next-line alpha-value-notation */\n opacity: calc(100% - var(--percentuale));\n transform: translateX(var(--percentuale));\n }\n\n 100% {\n opacity: 0;\n transform: translateX(100%);\n }\n}\n\n@keyframes slideoutup {\n 0% {\n opacity: 1;\n transform: translateY(var(--percentuale));\n }\n\n 100% {\n opacity: 0;\n transform: translateY(-100%);\n }\n}\n\n@keyframes slideoutdown {\n 0% {\n opacity: 1;\n transform: translateY(var(--percentuale));\n }\n\n 100% {\n opacity: 0;\n transform: translateY(100%);\n }\n}\n\n:host > #external-container {\n display: flex;\n min-height: 52px;\n box-sizing: border-box;\n align-items: center;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);\n border-radius: 4px;\n box-shadow: var(--shadow-3);\n font-family: var(--font-family-sans);\n font-size: 14px;\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n}\n\n:host > #external-container.mobile-wrapped > #icon {\n align-self: flex-start;\n}\n\n:host > #external-container.several-lines-padding {\n padding: calc(var(--space-unit) * 2);\n}\n\n:host > #external-container > #flex-container {\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n:host > #external-container #text {\n margin-right: calc(var(--space-unit) * 2);\n color: var(--color-white);\n letter-spacing: 0.16px;\n line-height: 20px;\n text-align: left;\n}\n\n:host > #external-container #text > .title {\n margin-right: 4px;\n font-weight: 600;\n}\n\n:host > #external-container.mobile-wrapped #button ::slotted(z-button) {\n margin-top: calc(var(--space-unit) * 2);\n}\n\n:host > #external-container #icon {\n margin-left: calc(var(--space-unit) * 2);\n cursor: pointer;\n fill: var(--color-white);\n}\n\n:host > #external-container.dark {\n background: var(--gray800);\n}\n\n:host > #external-container.light {\n background: var(--color-background);\n}\n\n:host > #external-container.light #icon,\n:host > #external-container.warning #text,\n:host > #external-container.warning #icon {\n fill: var(--color-icon01);\n}\n\n:host > #external-container.light #text,\n:host > #external-container.warning #text {\n color: var(--gray800);\n}\n\n:host > #external-container.accent {\n background: var(--color-primary01);\n}\n\n:host > #external-container.error {\n background: var(--color-error-default);\n}\n\n:host > #external-container.success {\n background: var(--color-success-default);\n}\n\n:host > #external-container.warning {\n background: var(--color-warning-default);\n}\n\n/* Tablet breakpoint */\n@media only screen and (min-width: 768px) {\n :host {\n width: unset;\n max-width: 50vw;\n }\n\n :host > #external-container > #flex-container {\n flex-wrap: nowrap;\n }\n\n :host > #external-container #text {\n width: 100%;\n }\n}\n\n/* Wide breakpoint */\n@media only screen and (min-width: 1366px) {\n :host {\n width: unset;\n max-width: 33vw;\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Element, Host, State, Watch} from \"@stencil/core\";\nimport {ToastNotificationTransition, ToastNotification} from \"../../../beans\";\nimport {mobileBreakpoint} from \"../../../constants/breakpoints\";\n\nimport Hammer from \"hammerjs\";\n\n@Component({\n tag: \"z-toast-notification\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToastNotification {\n @Element() hostElement: HTMLZToastNotificationElement;\n\n /** toast notification's title */\n @Prop()\n heading?: string;\n\n /** toast notification's message */\n @Prop()\n message: string;\n\n /** toggles closing button rendering */\n @Prop()\n closebutton: boolean;\n\n /** toast notification closing timeout (ms) */\n @Prop()\n autoclose?: number;\n\n /** toast notification autoclose can be paused */\n @Prop()\n pauseonfocusloss?: boolean = true;\n\n /** toast notification type: dark, light, accent, error, success, warning */\n @Prop()\n type?: ToastNotification;\n\n /** toast notification can be draggable*/\n @Prop()\n isdraggable?: boolean = true;\n\n /** toast notification draggable percentage*/\n @Prop()\n draggablepercentage?: number = 80;\n\n /** toast notification animation type: slide-in-left, slide-in-right, slide-in-down, slide-in-up*/\n @Prop()\n transition?: ToastNotificationTransition;\n\n @State()\n percentage: number;\n\n private isTextLong: boolean;\n\n private container!: HTMLElement;\n\n private toastText!: HTMLElement;\n\n private sliderManager: HammerManager;\n\n private elapsedTime: number;\n\n private timeoutHandle: number;\n\n private startTime: number;\n\n private isMobile: boolean;\n\n private isCloseEventCalled = false;\n\n @Watch(\"isdraggable\")\n watchPropIsdraggable(newValue: boolean): void {\n if (newValue) {\n this.sliderManager.get(\"pan\").set({enable: true});\n } else {\n this.sliderManager.get(\"pan\").set({enable: false});\n }\n }\n\n @Watch(\"autoclose\")\n watchPropAutoclose(newValue: number): void {\n clearTimeout(this.timeoutHandle);\n this.startClosingTimeout(newValue);\n }\n\n @Watch(\"pauseonfocusloss\")\n watchPropPauseonfocusloss(newValue: boolean): void {\n if (this.autoclose) {\n if (newValue) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n } else {\n document.removeEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n }\n }\n\n /** notification close event */\n @Event()\n toastClose: EventEmitter;\n\n private emitToastClose(cssClass: string): void {\n this.timeoutHandle = null;\n this.elapsedTime = null;\n this.hostElement.classList.add(cssClass);\n this.toastClose.emit();\n }\n\n componentWillLoad(): void {\n this.isMobile = window.innerWidth <= mobileBreakpoint;\n this.validateAutoclose();\n this.percentage = 0;\n }\n\n componentDidLoad(): void {\n this.isTextLong = this.detectWrap() || this.toastText.offsetHeight > 20;\n this.startTime = Date.now();\n if (this.autoclose && this.pauseonfocusloss) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n\n this.isdraggable && this.handleSlideOutDragAnimation();\n }\n\n private visibilityChangeEventHandler(): void {\n if (document.visibilityState === \"hidden\") {\n this.timeoutHandle && this.onBlur();\n } else {\n this.elapsedTime && this.onFocus();\n }\n }\n\n private validateAutoclose(): void {\n if (!this.autoclose && !this.closebutton) {\n console.error(\"At least one between autoclose and closebutton must be present\");\n }\n }\n\n private mapSlideOutClass(): ToastNotificationTransition {\n switch (this.transition) {\n case ToastNotificationTransition.SLIDE_IN_DOWN:\n return ToastNotificationTransition.SLIDE_OUT_UP;\n case ToastNotificationTransition.SLIDE_IN_UP:\n return ToastNotificationTransition.SLIDE_OUT_DOWN;\n case ToastNotificationTransition.SLIDE_IN_LEFT:\n return ToastNotificationTransition.SLIDE_OUT_RIGHT;\n case ToastNotificationTransition.SLIDE_IN_RIGHT:\n return ToastNotificationTransition.SLIDE_OUT_LEFT;\n }\n }\n\n private calculateDraggedPercentage(e): number {\n const bounding = this.hostElement.getBoundingClientRect();\n\n return Math.round((100 * e.deltaX) / bounding.width);\n }\n\n private handleSlideOutDragAnimation(): void {\n this.sliderManager = new Hammer(this.hostElement);\n this.sliderManager.get(\"pan\").set({\n direction: Hammer.DIRECTION_HORIZONTAL,\n });\n\n this.sliderManager.on(\"pan\", (e) => {\n this.percentage = this.calculateDraggedPercentage(e);\n this.hostElement.style.transition = \"none\";\n this.hostElement.classList.remove(this.transition);\n const translateObj = {\n translate: `translateX(${this.percentage}%)`,\n translateBack: \"translateX(0)\",\n };\n\n this.hostElement.style.opacity = `${100 - Math.abs(this.percentage)}%`;\n if (e.eventType === Hammer.DIRECTION_LEFT || e.eventType === Hammer.DIRECTION_RIGHT) {\n this.hostElement.style.transform = translateObj.translate;\n if (Math.abs(this.percentage) > this.draggablepercentage && !this.isCloseEventCalled) {\n this.isCloseEventCalled = true;\n this.emitToastClose(e.direction === Hammer.DIRECTION_LEFT ? \"slide-out-left\" : \"slide-out-right\");\n }\n }\n\n if (e.isFinal && Math.abs(this.percentage) < this.draggablepercentage) {\n this.hostElement.style.transform = translateObj.translateBack;\n this.hostElement.style.transition = \"all 1s\";\n this.hostElement.style.opacity = \"100%\";\n this.percentage = 0;\n }\n });\n }\n\n private onFocus(): void {\n let time = this.autoclose;\n if (this.elapsedTime) {\n time = this.autoclose - this.elapsedTime;\n }\n if (time > 0) {\n this.startClosingTimeout(time);\n }\n }\n\n private onBlur(): void {\n this.elapsedTime = Date.now() - this.startTime;\n clearTimeout(this.timeoutHandle);\n }\n\n private startClosingTimeout(time: number): void {\n this.timeoutHandle = window.setTimeout(() => this.emitToastClose(this.mapSlideOutClass()), time);\n }\n\n private detectWrap(): boolean {\n const parentWidth = this.container.offsetWidth;\n const children = this.container.children;\n let totalWidth = 0;\n\n for (let i = 0; i < children.length; i++) {\n totalWidth += (children[i] as HTMLElement).offsetWidth;\n }\n\n return totalWidth > parentWidth;\n }\n\n private renderText(): HTMLDivElement {\n return (\n <div\n id=\"text\"\n ref={(el) => (this.toastText = el as HTMLElement)}\n >\n <span class=\"title\">{this.heading}</span>\n <span class=\"message\">{this.message}</span>\n </div>\n );\n }\n\n private renderButton(): HTMLDivElement {\n return (\n <div id=\"button\">\n <slot name=\"button\" />\n </div>\n );\n }\n\n private renderCloseIcon(): HTMLDivElement {\n if (!this.closebutton) {\n return;\n }\n\n return (\n <div id=\"icon\">\n <z-icon\n tabIndex={0}\n name=\"multiply-circled\"\n width={15}\n height={15}\n onClick={() => this.emitToastClose(this.mapSlideOutClass())}\n onKeyPress={(e) => {\n if (e.keyCode == 32 || e.keyCode == 13) {\n e.preventDefault();\n this.emitToastClose(this.mapSlideOutClass());\n }\n }}\n />\n </div>\n );\n }\n\n private renderContainer(): HTMLDivElement {\n return (\n <div\n tabIndex={0}\n id=\"external-container\"\n class={{\n [this.type]: !!this.type,\n \"several-lines-padding\": this.isTextLong,\n }}\n ref={(el) => (this.container = el as HTMLElement)}\n >\n {this.renderText()}\n {this.renderButton()}\n {this.renderCloseIcon()}\n </div>\n );\n }\n\n private renderMobileContainer(): HTMLDivElement {\n return (\n <div\n id=\"external-container\"\n class={{\n [this.type]: !!this.type,\n \"several-lines-padding\": this.isTextLong,\n \"mobile-wrapped\": this.isTextLong,\n }}\n >\n <div\n id=\"flex-container\"\n ref={(el) => (this.container = el as HTMLElement)}\n >\n {this.renderText()}\n {this.renderButton()}\n </div>\n {this.renderCloseIcon()}\n </div>\n );\n }\n\n render(): HTMLZToastNotificationElement {\n return (\n <Host\n style={{\n \"--percentuale\": `${this.percentage}%`,\n }}\n class={this.transition ? this.transition : ToastNotificationTransition.SLIDE_IN_DOWN}\n onAnimationEnd={(e: AnimationEvent) => {\n if (this.autoclose && e.animationName.includes(\"slidein\")) {\n this.startClosingTimeout(this.autoclose);\n }\n if (e.animationName.includes(\"slideout\")) {\n this.hostElement.parentNode.removeChild(this.hostElement);\n }\n }}\n >\n {this.isMobile ? this.renderMobileContainer() : this.renderContainer()}\n </Host>\n );\n }\n}\n"],"mappings":"4KAAA,MAAMA,EAAY,oxHAClB,MAAAC,EAAeD,E,MCUFE,EAAkB,M,gEA0DrBC,KAAAC,mBAAqB,M,wHArCA,K,qCAQL,K,yBAIO,G,oDA4B/B,oBAAAC,CAAqBC,GACnB,GAAIA,EAAU,CACZH,KAAKI,cAAcC,IAAI,OAAOC,IAAI,CAACC,OAAQ,M,KACtC,CACLP,KAAKI,cAAcC,IAAI,OAAOC,IAAI,CAACC,OAAQ,O,EAK/C,kBAAAC,CAAmBL,GACjBM,aAAaT,KAAKU,eAClBV,KAAKW,oBAAoBR,E,CAI3B,yBAAAS,CAA0BT,GACxB,GAAIH,KAAKa,UAAW,CAClB,GAAIV,EAAU,CACZW,SAASC,iBAAiB,mBAAoBf,KAAKgB,6B,KAC9C,CACLF,SAASG,oBAAoB,mBAAoBjB,KAAKgB,6B,GASpD,cAAAE,CAAeC,GACrBnB,KAAKU,cAAgB,KACrBV,KAAKoB,YAAc,KACnBpB,KAAKqB,YAAYC,UAAUC,IAAIJ,GAC/BnB,KAAKwB,WAAWC,M,CAGlB,iBAAAC,GACE1B,KAAK2B,SAAWC,OAAOC,YAAcC,EACrC9B,KAAK+B,oBACL/B,KAAKgC,WAAa,C,CAGpB,gBAAAC,GACEjC,KAAKkC,WAAalC,KAAKmC,cAAgBnC,KAAKoC,UAAUC,aAAe,GACrErC,KAAKsC,UAAYC,KAAKC,MACtB,GAAIxC,KAAKa,WAAab,KAAKyC,iBAAkB,CAC3C3B,SAASC,iBAAiB,mBAAoBf,KAAKgB,6B,CAGrDhB,KAAK0C,aAAe1C,KAAK2C,6B,CAGnB,4BAAA3B,GACN,GAAIF,SAAS8B,kBAAoB,SAAU,CACzC5C,KAAKU,eAAiBV,KAAK6C,Q,KACtB,CACL7C,KAAKoB,aAAepB,KAAK8C,S,EAIrB,iBAAAf,GACN,IAAK/B,KAAKa,YAAcb,KAAK+C,YAAa,CACxCC,QAAQC,MAAM,iE,EAIV,gBAAAC,GACN,OAAQlD,KAAKmD,YACX,KAAKC,EAA4BC,cAC/B,OAAOD,EAA4BE,aACrC,KAAKF,EAA4BG,YAC/B,OAAOH,EAA4BI,eACrC,KAAKJ,EAA4BK,cAC/B,OAAOL,EAA4BM,gBACrC,KAAKN,EAA4BO,eAC/B,OAAOP,EAA4BQ,e,CAIjC,0BAAAC,CAA2BC,GACjC,MAAMC,EAAW/D,KAAKqB,YAAY2C,wBAElC,OAAOC,KAAKC,MAAO,IAAMJ,EAAEK,OAAUJ,EAASK,M,CAGxC,2BAAAzB,GACN3C,KAAKI,cAAgB,IAAIiE,EAAOrE,KAAKqB,aACrCrB,KAAKI,cAAcC,IAAI,OAAOC,IAAI,CAChCgE,UAAWD,EAAOE,uBAGpBvE,KAAKI,cAAcoE,GAAG,OAAQV,IAC5B9D,KAAKgC,WAAahC,KAAK6D,2BAA2BC,GAClD9D,KAAKqB,YAAYoD,MAAMtB,WAAa,OACpCnD,KAAKqB,YAAYC,UAAUoD,OAAO1E,KAAKmD,YACvC,MAAMwB,EAAe,CACnBC,UAAW,cAAc5E,KAAKgC,eAC9B6C,cAAe,iBAGjB7E,KAAKqB,YAAYoD,MAAMK,QAAU,GAAG,IAAMb,KAAKc,IAAI/E,KAAKgC,eACxD,GAAI8B,EAAEkB,YAAcX,EAAOY,gBAAkBnB,EAAEkB,YAAcX,EAAOa,gBAAiB,CACnFlF,KAAKqB,YAAYoD,MAAMU,UAAYR,EAAaC,UAChD,GAAIX,KAAKc,IAAI/E,KAAKgC,YAAchC,KAAKoF,sBAAwBpF,KAAKC,mBAAoB,CACpFD,KAAKC,mBAAqB,KAC1BD,KAAKkB,eAAe4C,EAAEQ,YAAcD,EAAOY,eAAiB,iBAAmB,kB,EAInF,GAAInB,EAAEuB,SAAWpB,KAAKc,IAAI/E,KAAKgC,YAAchC,KAAKoF,oBAAqB,CACrEpF,KAAKqB,YAAYoD,MAAMU,UAAYR,EAAaE,cAChD7E,KAAKqB,YAAYoD,MAAMtB,WAAa,SACpCnD,KAAKqB,YAAYoD,MAAMK,QAAU,OACjC9E,KAAKgC,WAAa,C,KAKhB,OAAAc,GACN,IAAIwC,EAAOtF,KAAKa,UAChB,GAAIb,KAAKoB,YAAa,CACpBkE,EAAOtF,KAAKa,UAAYb,KAAKoB,W,CAE/B,GAAIkE,EAAO,EAAG,CACZtF,KAAKW,oBAAoB2E,E,EAIrB,MAAAzC,GACN7C,KAAKoB,YAAcmB,KAAKC,MAAQxC,KAAKsC,UACrC7B,aAAaT,KAAKU,c,CAGZ,mBAAAC,CAAoB2E,GAC1BtF,KAAKU,cAAgBkB,OAAO2D,YAAW,IAAMvF,KAAKkB,eAAelB,KAAKkD,qBAAqBoC,E,CAGrF,UAAAnD,GACN,MAAMqD,EAAcxF,KAAKyF,UAAUC,YACnC,MAAMC,EAAW3F,KAAKyF,UAAUE,SAChC,IAAIC,EAAa,EAEjB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAASG,OAAQD,IAAK,CACxCD,GAAeD,EAASE,GAAmBH,W,CAG7C,OAAOE,EAAaJ,C,CAGd,UAAAO,GACN,OACEC,EAAA,OACEC,GAAG,OACHC,IAAMC,GAAQnG,KAAKoC,UAAY+D,GAE/BH,EAAA,QAAMI,MAAM,SAASpG,KAAKqG,SAC1BL,EAAA,QAAMI,MAAM,WAAWpG,KAAKsG,S,CAK1B,YAAAC,GACN,OACEP,EAAA,OAAKC,GAAG,UACND,EAAA,QAAMQ,KAAK,W,CAKT,eAAAC,GACN,IAAKzG,KAAK+C,YAAa,CACrB,M,CAGF,OACEiD,EAAA,OAAKC,GAAG,QACND,EAAA,UACEU,SAAU,EACVF,KAAK,mBACLpC,MAAO,GACPuC,OAAQ,GACRC,QAAS,IAAM5G,KAAKkB,eAAelB,KAAKkD,oBACxC2D,WAAa/C,IACX,GAAIA,EAAEgD,SAAW,IAAMhD,EAAEgD,SAAW,GAAI,CACtChD,EAAEiD,iBACF/G,KAAKkB,eAAelB,KAAKkD,mB,MAQ7B,eAAA8D,GACN,OACEhB,EAAA,OACEU,SAAU,EACVT,GAAG,qBACHG,MAAO,CACL,CAACpG,KAAKiH,QAASjH,KAAKiH,KACpB,wBAAyBjH,KAAKkC,YAEhCgE,IAAMC,GAAQnG,KAAKyF,UAAYU,GAE9BnG,KAAK+F,aACL/F,KAAKuG,eACLvG,KAAKyG,kB,CAKJ,qBAAAS,GACN,OACElB,EAAA,OACEC,GAAG,qBACHG,MAAO,CACL,CAACpG,KAAKiH,QAASjH,KAAKiH,KACpB,wBAAyBjH,KAAKkC,WAC9B,iBAAkBlC,KAAKkC,aAGzB8D,EAAA,OACEC,GAAG,iBACHC,IAAMC,GAAQnG,KAAKyF,UAAYU,GAE9BnG,KAAK+F,aACL/F,KAAKuG,gBAEPvG,KAAKyG,kB,CAKZ,MAAAU,GACE,OACEnB,EAACoB,EAAI,CAAAC,IAAA,2CACH5C,MAAO,CACL,gBAAiB,GAAGzE,KAAKgC,eAE3BoE,MAAOpG,KAAKmD,WAAanD,KAAKmD,WAAaC,EAA4BC,cACvEiE,eAAiBxD,IACf,GAAI9D,KAAKa,WAAaiD,EAAEyD,cAAcC,SAAS,WAAY,CACzDxH,KAAKW,oBAAoBX,KAAKa,U,CAEhC,GAAIiD,EAAEyD,cAAcC,SAAS,YAAa,CACxCxH,KAAKqB,YAAYoG,WAAWC,YAAY1H,KAAKqB,Y,IAIhDrB,KAAK2B,SAAW3B,KAAKkH,wBAA0BlH,KAAKgH,kB"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,a as n,g as s}from"./p-10bb4f4b.js";import{w as a,p as r,D as o}from"./p-025f494e.js";import{g as l}from"./p-955da62e.js";import"./p-2c886e8b.js";const c=':host{color:var(--color-text01);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>.container{display:flex;flex-direction:column}:host .modal-wrapper{display:flex;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 2)}:host .modal-wrapper>.files-wrapper{display:flex;flex-direction:column;margin:calc(var(--space-unit) * 4);gap:var(--space-unit)}:host .text-container{display:flex;flex-direction:column;margin:auto}:host .text-container .body-1{text-align:center}:host .text-container .upload-link{color:var(--color-link-primary);cursor:pointer}:host .text-container .upload-link-text{margin-bottom:var(--space-unit)}input#file-elem{display:none}#title{display:inline-block;margin:calc(var(--space-unit) * 2.5) 0 calc(var(--space-unit) * 4);font-size:calc(var(--space-unit) * 3);font-weight:var(--font-sb)}:host>.container>z-button{display:inline-block;margin-top:calc(var(--space-unit) * 3)}:host>.container>.files-container.hidden{display:none}:host>.container>.files-container>.heading-4-sb{display:inline-block;margin:calc(var(--space-unit) * 3) 0;font-size:calc(var(--space-unit) * 2);font-weight:var(--font-sb)}:host([type="dragdrop"])>.container>.files-container>.heading-4-sb{margin-top:0;margin-bottom:calc(var(--space-unit) * 3)}:host>.container>.files-container>.files-wrapper{display:flex;flex-wrap:wrap;column-gap:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}:host>.container>.files-container>z-divider{margin-top:calc(var(--space-unit) * 3);margin-bottom:0}:host([type="dragdrop"])>.container>.files-container>z-divider{margin:calc(var(--space-unit) * 3) 0}:host .error-message{font-size:14px;font-weight:400;letter-spacing:0.16%;line-height:20px;text-align:left}:host .error-message>.file-name{font-weight:600}@media only screen and (min-width: 768px){:host>.container>z-button{align-self:flex-start}:host .modal-wrapper{padding:calc(var(--space-unit) * 3)}}@media only screen and (min-width: 1152px){:host .modal-wrapper{padding:calc(var(--space-unit) * 4)}}';const d=c;const h=class{constructor(e){t(this,e);this.fileInput=i(this,"fileInput",7);this.inputAttributes={type:"file",id:"file-elem",multiple:true};this.type=a.DEFAULT;this.buttonVariant=undefined;this.acceptedFormat=undefined;this.fileMaxSize=undefined;this.mainTitle=undefined;this.description=undefined;this.files=[];this.uploadBtnLabel="allega";this.dragAndDropLabel="Rilascia i file in questa area per allegarli.";this.hasFileSection=true;this.invalidFiles=undefined}removeFileListener(t){this.removeFileHandler(t.detail)}fileDroppedListener(t){this.input.files=t.detail;this.fileInputHandler()}componentDidUpdate(){this.handleAccessibility();this.invalidFiles.size&&this.errorModal.focus()}componentWillLoad(){this.invalidFiles=new Map}fileInputHandler(){if(this.input.files.length){this.invalidFiles=this.checkFiles(Array.from(this.input.files))}}async getFiles(){return this.files}async removeFile(t){this.removeFileHandler(t)}removeFileHandler(t){const i=this.files;const e=i.find((i=>i.name===t));if(e){const t=i.indexOf(e);if(t>=0){i.splice(t,1);this.files=[...i]}}}getType(){if(l()!==r.DESKTOP&&l()!==r.DESKTOP_WIDE){return a.DEFAULT}return this.type}handleAccessibility(){const t=this.el.querySelector("z-file:last-child z-chip button");if(this.files.length>0&&t){t.focus()}else{this.getType()===a.DEFAULT?this.button.querySelector("button").focus():this.uploadLink.focus()}}checkFiles(t){const i=new Map;const e=`supera il limite di ${this.fileMaxSize}MB`;const n=" ha un formato non supportato";t.forEach((t=>{const s=t.size/1024/1024;const a=this.acceptedFormat.split(",").some((i=>t.name.toLowerCase().endsWith(i.trim())));const r=s<=this.fileMaxSize;if(r&&a){if(!this.files.find((i=>i.name===t.name))){this.files.push(t);this.fileInput.emit(t);this.input.value=""}return}i.set(t.name,[]);if(!r){i.get(t.name).push(e)}if(!a){i.get(t.name).push(n)}}));return i}renderTitle(){return e("span",{id:"title"},this.mainTitle)}renderDescription(t){return e("span",{class:t},this.description)}renderAllowedFileExtensions(){let t="";let i="";if(this.acceptedFormat){const i=this.acceptedFormat.split(", ").map((t=>t.substring(1).toUpperCase())).join(", ");t=` nei formati ${i}`}if(this.fileMaxSize){i=` per un massimo di ${this.fileMaxSize}MB di peso`}const n=`Puoi allegare file${t}${i}.`;return e("span",{class:"body-3"},t||i?n:null)}renderFileSection(){if(!this.hasFileSection){return}return e("section",{class:`files-container ${!this.files.length?"hidden":""}`},e("span",{class:"heading-4-sb"},"File appena caricati"),e("div",{class:"files-wrapper"},e("slot",{name:"files"})),e("z-divider",{size:o.MEDIUM}))}renderInput(){return e("input",Object.assign({},this.inputAttributes,{onChange:()=>this.fileInputHandler(),accept:this.acceptedFormat,ref:t=>this.input=t}))}renderUploadButton(){return[this.renderInput(),e("z-button",{onClick:()=>this.input.click(),onKeyPress:t=>{if(t.code=="Space"||t.code=="Enter"){t.preventDefault();this.input.click()}},id:"fileSelect",variant:this.buttonVariant,icon:"upload",ref:t=>this.button=t},this.uploadBtnLabel)]}renderUploadLink(){return[this.renderInput(),e("span",{class:"body-1 upload-link-text"},"Trascina o"," ",e("span",{tabIndex:0,class:"body-1-sb upload-link",onClick:()=>this.input.click(),onKeyPress:t=>{if(t.code=="Space"||t.code=="Enter"){t.preventDefault();this.input.click()}},ref:t=>this.uploadLink=t},"carica")," ","dal tuo computer")]}renderDefaultMode(){return[this.renderDescription("body-3-sb"),this.renderAllowedFileExtensions(),this.renderFileSection(),this.renderUploadButton()]}renderDragDropMode(){return[this.renderFileSection(),e("z-dragdrop-area",{"drag-and-drop-label":this.dragAndDropLabel},e("div",{class:"text-container"},this.renderDescription("body-1"),this.renderUploadLink(),this.renderAllowedFileExtensions()))]}formatErrorString(t,i){var n,s;const a=i[0]&&i[1]?" e ":"";return e("span",{class:"error-message"},"Il file ",e("span",{class:"file-name"},t)," ",(n=i[1])!==null&&n!==void 0?n:"",a,(s=i[0])!==null&&s!==void 0?s:"",".")}handleErrorModalContent(){return e("div",{slot:"modalContent"},e("div",{class:"modal-wrapper"},e("div",{class:"files"},Array.from(this.invalidFiles).map((([t,i])=>e("span",{class:"body-3"},this.formatErrorString(t,i)))))))}render(){return e(n,{key:"a3d761286217ef951686119b60ec51779833dd7c"},e("div",{key:"a95c0abe6e8fdcaa4ef6991db9e138eb5fb2ba03",tabIndex:0,class:`container ${this.getType()}`},this.mainTitle&&this.renderTitle(),this.getType()==a.DEFAULT?this.renderDefaultMode():this.renderDragDropMode()),!!this.invalidFiles.size&&e("z-modal",{modalid:`file-upload-${this.type}-error-modal`,tabIndex:0,ref:t=>this.errorModal=t,modaltitle:"Errore di caricamento",onModalClose:()=>this.invalidFiles=new Map,onModalBackgroundClick:()=>this.invalidFiles=new Map},this.handleErrorModalContent()))}get el(){return s(this)}};h.style=d;export{h as z_file_upload};
2
- //# sourceMappingURL=p-ba8e67ee.entry.js.map
@@ -1 +0,0 @@
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","renderFileSection","hasFileSection","DividerSize","MEDIUM","renderInput","Object","assign","onChange","accept","ref","val","renderUploadButton","onClick","click","onKeyPress","code","preventDefault","variant","buttonVariant","icon","uploadBtnLabel","renderUploadLink","tabIndex","renderDefaultMode","renderDragDropMode","dragAndDropLabel","key","bothErrors","_a","_b","handleErrorModalContent","slot","render","Host","modalid","modaltitle","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-text01);\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-link-primary);\n cursor: pointer;\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, Prop, h, EventEmitter, Event, State, Listen, Element, Host, Method} 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 /** 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 <span class=\"body-3\">{fileFormatString || fileWeightString ? finalString : null}</span>;\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\">File appena caricati</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 Trascina o{\" \"}\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 carica\n </span>{\" \"}\n dal tuo computer\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 {Array.from(this.invalidFiles).map(([key, value]) => {\n return <span class=\"body-3\">{this.formatErrorString(key, value)}</span>;\n })}\n </div>\n </div>\n </div>\n );\n }\n\n render(): HTMLZFileUploadElement {\n return (\n <Host>\n <div\n tabIndex={0}\n class={`container ${this.getType()}`}\n >\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=\"Errore di caricamento\"\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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"}
@@ -1,2 +0,0 @@
1
- import{r as o,h as e}from"./p-10bb4f4b.js";const a=":host{font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div>footer{height:128px;box-sizing:border-box;padding:var(--space-unit) calc(var(--space-unit) * 2) 0;border-top:var(--border-size-medium) solid var(--color-surface03);border-radius:0 0 var(--border-radius) var(--border-radius);color:var(--color-surface05);font-size:16px;line-height:24px}:host>div>footer>div.top,:host>div>footer>div.bottom{height:60px}";const r=a;const t=class{constructor(e){o(this,e)}render(){return e("div",{key:"4ba6b97d65b6e6356411680b1b0d954c3b2ef2a6"},e("footer",{key:"9b29ba240c9420c8aa6c3757f99e60e0806e403e"},e("div",{key:"13d5c349f14a9de7b172ec1c4e45784eae1ab845",class:"top"},e("slot",{key:"74af633d2e01f97b9487e10baaa44e2b6aebdaed",name:"top"})),e("div",{key:"c2adb665b29ce04cea0f6d8d4f6dc76a7c801582",class:"bottom"},e("slot",{key:"fb5967cd696d33d1dc46aa75d3f65526254f8330",name:"bottom"}))))}};t.style=r;export{t as z_myz_card_footer_sections};
2
- //# sourceMappingURL=p-ca65c04f.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,a as s,g as o}from"./p-10bb4f4b.js";import{V as r,W as n,p as a,g as l,P as h,i as p}from"./p-025f494e.js";import{g as c,a as d}from"./p-955da62e.js";import"./p-2c886e8b.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-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)}}";const u=f;const m=class{constructor(e){i(this,e);this.clickOnNode=t(this,"clickOnNode",7);this.collapsedElements=[];this.currentIndex=0;this.truncatePosition=null;this.pathStyle=r.UNDERLINED;this.homepageVariant=n.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(i,t){if(i===a.MOBILE||t===a.MOBILE&&i===a.TABLET||t===a.MOBILE&&i===a.DESKTOP||t===a.MOBILE&&i===a.DESKTOP_WIDE||t===a.TABLET&&i===a.DESKTOP||t===a.TABLET&&i===a.DESKTOP_WIDE||t===a.DESKTOP&&i===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((i=>!!i.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 i=0;i<this.pathsList.length;i++){if(this.pathsList[i].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(i!==this.pathsList.length-1){const t=this.truncateWithEllipsis(this.pathsList[i].text,this.truncateChar);this.currentEllipsisText=this.pathsList[i].text;this.pathsList[i].text=t;this.pathsList[i].hasTooltip=true;this.truncatePosition=i;return}}}truncateWithEllipsis(i,t){if(i.length<=t){return i}return i.substring(0,t-1)+"&mldr;"}getPathsItemsList(){return Array.from(this.hostElement.children).map((i=>({text:i.textContent,path:i.href,hasTooltip:false})))}renderHomepageNode(){return e("li",null,e("a",{class:{"homepage-text":this.homepageVariant===n.TEXT},href:this.homepageNode.path,onClick:i=>this.handlePreventFollowUrl(i,this.homepageNode),innerHTML:this.homepageVariant===n.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(i,t){if(this.preventFollowUrl){i.preventDefault();this.clickOnNode.emit(t.path)}}handleOverflowMenuAccessibility(i){const t=this.anchorElements.length;if(i.key===l.TAB){i.preventDefault();return}i.stopPropagation();const e=[l.ARROW_DOWN,l.ARROW_UP];if(e.includes(i.key)){i.preventDefault();if(i.key===l.ARROW_DOWN){this.currentIndex=t===this.currentIndex+1?0:this.currentIndex+1}if(i.key===l.ARROW_UP){this.currentIndex=this.currentIndex<=0?t-1:this.currentIndex-1}this.anchorElements[this.currentIndex].focus()}if(i.key===l.ESC){this.triggerButton.focus()}}renderOverflowMenu(){return e("li",null,e("z-popover",{class:"hidden-paths-popover",ref:i=>this.collapsedElementsRef=i,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(((i,t,s)=>e("div",null,e("z-list-element",{clickable:true},e("a",{class:"text-ellipsis",href:i.path,onClick:t=>this.handlePreventFollowUrl(t,i),onKeyDown:i=>this.handleOverflowMenuAccessibility(i),innerHTML:i.text})),t<s.length-1&&e("z-divider",{color:"color-surface03"})))))))),e("button",{class:"dots",ref:i=>this.triggerButton=i,"aria-label":"Mostra più breadcrumb","aria-haspopup":"true",onClick:()=>{this.togglePopover()},onKeyDown:i=>{d(i,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 i=this.pathsList[this.pathsList.length-1];if(!i){return}return e("li",null,e("a",{"aria-current":i.path?undefined:"page",href:i.path,onClick:t=>this.handlePreventFollowUrl(t,i)},e("z-icon",{name:"chevron-left"}),e("span",{class:{"missing-path":!i.path,"text-ellipsis":true}},i.text)))}renderItems(){let i;return[this.renderHomepageNode(),this.collapsedElements.length>0&&this.renderOverflowMenu(),...this.pathsList.map(((t,s)=>e("li",null,t.hasTooltip&&e("z-popover",{class:"full-path-tooltip",bindTo:i,open:this.popoverEllipsisOpen,position:h.BOTTOM_RIGHT,closable:false,showArrow:true},e("span",{class:"tooltip-content"},this.currentEllipsisText)),e("a",{class:{"missing-path":!t.path},ref:t=>i=t,"aria-current":t.path?undefined:"page",href:t.path,onClick:i=>this.handlePreventFollowUrl(i,t),onMouseOver:()=>{if(t.hasTooltip){this.popoverEllipsisOpen=true}},onMouseLeave:()=>{if(t.hasTooltip){this.popoverEllipsisOpen=false}},innerHTML:t.text}),s!==this.pathsList.length-1&&e("z-icon",{class:"separator",name:"chevron-right"}))))]}render(){return e(s,{key:"b5f0321b29ae51fac8fba3cc0302beff908cd56e",style:{"--line-clamp-popover":`${this.overflowMenuItemRows}`}},e("nav",{key:"32d4c57f93c3fd943cb6f6b72b9f9c004003d470",ref:i=>this.wrapElement=i,"aria-label":"Breadcrumb",class:{semibold:this.pathStyle===r.SEMIBOLD,underlined:this.pathStyle===r.UNDERLINED}},e("ol",{key:"725c96157a94749d8e55e321dd1708132479b74a"},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-dbda8812.entry.js.map
@@ -1 +0,0 @@
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-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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as e,g as r}from"./p-10bb4f4b.js";import{P as i,g as s}from"./p-025f494e.js";const n=':host{--z-popover-theme--surface:var(--color-surface01);--z-popover-theme--text:var(--color-text01);--z-popover-padding:0;--z-popover-shadow-filter:drop-shadow(0 1px 2px var(--shadow-color-base));position:relative;display:none;min-width:calc(var(--space-unit) * 8);min-height:calc(var(--space-unit) * 4);align-items:center;justify-content:center;padding:var(--z-popover-padding);background:var(--z-popover-theme--surface);border-radius:var(--border-radius-small);color:var(--z-popover-theme--text);fill:currentcolor;filter:var(--z-popover-shadow-filter);font-family:var(--font-family-sans);text-align:center}:host([open][current-position]),:host([open="true"][current-position]){display:flex}:host([center][current-position="top"]),:host([center][current-position="bottom"]){transform:translateX(-50%)}:host([center][current-position="right"]),:host([center][current-position="left"]){transform:translateY(-50%)}:host([current-position^="top"]){margin:0 0 var(--space-unit)}:host([current-position^="bottom"]){margin:var(--space-unit) 0 0}:host([current-position^="left"]){margin:0 var(--space-unit) 0 0}:host([current-position^="right"]){margin:0 0 0 var(--space-unit)}:host([current-position])::before{--arrow-size:6px;--arrow-edge-offset:calc(100% - var(--space-unit) - (var(--arrow-size) / 2));--arrow-center-x-offset:calc(50% - (var(--arrow-size) / 2));--arrow-center-y-offset:calc(100% - (var(--arrow-size) / 2));position:absolute;display:block;width:var(--arrow-size);height:var(--arrow-size);background:var(--z-popover-theme--surface);content:"";transform:rotate(45deg)}:host([show-arrow="false"])::before,:host(:not([show-arrow]))::before{display:none}:host([current-position^="top"])::before{top:var(--arrow-center-y-offset)}:host([current-position^="bottom"])::before{bottom:var(--arrow-center-y-offset)}:host([current-position="top"])::before,:host([current-position="bottom"])::before{right:var(--arrow-edge-offset)}:host([current-position="right"])::before,:host([current-position="left"])::before{bottom:var(--arrow-edge-offset)}:host([current-position="right"])::before{right:var(--arrow-center-y-offset)}:host([current-position="left"])::before{left:var(--arrow-center-y-offset)}:host([current-position="top_right"])::before,:host([current-position="bottom_right"])::before{right:var(--arrow-edge-offset)}:host([current-position="top_left"])::before,:host([current-position="bottom_left"])::before{left:var(--arrow-edge-offset)}:host([current-position="right_top"])::before,:host([current-position="left_top"])::before{top:var(--arrow-edge-offset)}:host([current-position="right_top"])::before,:host([current-position="right_bottom"])::before{right:var(--arrow-center-y-offset)}:host([current-position="left_top"])::before,:host([current-position="left_bottom"])::before{left:var(--arrow-center-y-offset)}:host([current-position="right_bottom"])::before,:host([current-position="left_bottom"])::before{bottom:var(--arrow-edge-offset)}:host([center][current-position="top"])::before,:host([center][current-position="bottom"])::before{right:auto;left:var(--arrow-center-x-offset)}:host([center][current-position="right"])::before,:host([center][current-position="left"])::before{top:var(--arrow-center-x-offset);bottom:auto}::slotted(*){overflow:auto;flex:1 auto}';const a=n;const c=document.documentElement;function f(t){if(t.parentNode.host){return t.parentNode.host}return t.parentNode}function h(t){let o=f(t);while(o&&o!==c){const{overflow:t,overflowX:e,overflowY:r}=window.getComputedStyle(o);if(t==="hidden"||r==="hidden"||e==="hidden"){return o}if(o.scrollHeight>o.clientHeight&&t!=="visible"&&r!=="visible"||o.scrollWidth>o.clientWidth&&t!=="visible"&&e!=="visible"){return o}o=f(o)}return c}function p(t,o){const e=t.getBoundingClientRect();const r=e.width;const i=e.height;let s=0;let n=0;let a=t;while(a&&a!=o){n+=a.offsetLeft;if(a===document.body){s+=a.getBoundingClientRect().top+window.scrollY}else{s+=a.offsetTop}if(window.DOMMatrix){const t=window.getComputedStyle(a);const o=t.transform||t.webkitTransform;const e=new DOMMatrix(o);if(e){n+=e.m41;if(a!==document.body){s+=e.m42}}}if(!a.offsetParent){break}a=a.offsetParent}let c;let f;if(a===document.body){c=window.innerWidth;f=window.innerHeight}else{c=a.offsetWidth;f=a.offsetHeight}const h=c-n-e.width;const p=f-s-e.height;return{top:s,right:h,bottom:p,left:n,width:r,height:i}}const l=class{constructor(e){t(this,e);this.positionChange=o(this,"positionChange",7);this.openChange=o(this,"openChange",7);this.position=i.AUTO;this.open=false;this.bindTo=undefined;this.showArrow=false;this.center=false;this.closable=true;this.currentPosition=undefined}closePopoverWithKeyboard(t){if(this.closable&&t.key===s.ESC){this.open=false}}handleOutsideClick(t){if(!this.closable||!this.open){return}if(!t.composedPath().includes(this.host)){const o=t.target;const e=this.bindTo instanceof HTMLElement?this.bindTo.contains(o):o.closest(this.bindTo);if(e){t.stopPropagation()}this.open=false;this.positionChange.emit({position:this.currentPosition})}}validatePosition(t){if(t&&!Object.values(i).includes(t)){this.position=i.AUTO}this.currentPosition=this.position;this.positionChange.emit({position:this.currentPosition})}onOpen(){cancelAnimationFrame(this.animationFrameRequestId);if(this.open){const t=()=>{if(this.open){this.setPosition();this.animationFrameRequestId=requestAnimationFrame(t)}};t()}else if(this.host.hasAttribute("current-position")){this.host.removeAttribute("current-position");this.currentPosition=undefined}this.openChange.emit({open:this.open})}disconnectedCallback(){cancelAnimationFrame(this.animationFrameRequestId)}setPosition(){let t;if(typeof this.bindTo==="string"){t=this.host.ownerDocument.querySelector(this.bindTo)}else if(this.bindTo){t=this.bindTo}else{t=this.host.parentElement}if(!t){return}const o=h(t);const e=o.getBoundingClientRect();const r=this.host.offsetParent;const s=r?p(r,o):{top:0,right:0,bottom:0,left:0};const n=p(t,o);const a=n.top-o.scrollTop;const c=e.height-(n.top+n.height)+o.scrollTop;const f=n.left-o.scrollLeft;const l=e.width-(n.left+n.width)+o.scrollLeft;const u=Math.max(0,e.top+e.height-window.innerHeight);const d=Math.max(0,e.left+e.width-window.innerWidth);const b=Math.min(a,a+e.top);const v=Math.min(c,c-u);const w=Math.min(f,f+e.left);const m=Math.min(l,l-d);const g=b+v+n.height;const x=w+m+n.width;let $=this.currentPosition;const y=[];if(this.position===i.AUTO){if(w/x>.6){y.push(i.LEFT)}else if(w/x<.4){y.push(i.RIGHT)}if(b/g>.9){y.unshift(i.TOP)}else if(b/g>.6){y.push(i.TOP)}else if(b/g<.1){y.unshift(i.BOTTOM)}else{y.push(i.BOTTOM)}$=y.join("_")}const z=this.host.style;z.position="absolute";const _=n.top-s.top;const M=n.right-s.right;const k=n.bottom-s.bottom;const O=n.left-s.left;const P=this.center?.5:0;const j=this.center?.5:0;if($===i.TOP||$===i.TOP_RIGHT){z.top="auto";z.right="auto";z.bottom=`${k+n.height}px`;z.left=`${O+n.width*P}px`;z.maxHeight=`${b}px`;if($===i.TOP_RIGHT){z.maxWidth=`${m+n.width*j}px`}}else if($===i.TOP_LEFT){z.top="auto";z.right=`${M+n.width*P}px`;z.bottom=`${k+n.height}px`;z.left="auto";z.maxWidth=`${w}px`;z.maxHeight=`${b}px`}else if($===i.BOTTOM||$===i.BOTTOM_RIGHT){z.top=`${_+n.height}px`;z.right="auto";z.bottom="auto";z.left=`${O+n.width*P}px`;z.maxHeight=`${v}px`;if($===i.BOTTOM_RIGHT){z.maxWidth=`${m+n.width*j}px`}}else if($===i.BOTTOM_LEFT){z.top=`${_+n.height}px`;z.right=`${M+n.width*P}px`;z.bottom="auto";z.left="auto";z.maxWidth=`${w}px`;z.maxHeight=`${v}px`}else if($===i.RIGHT||$===i.RIGHT_BOTTOM){z.top=`${_+n.height*P}px`;z.right="auto";z.bottom="auto";z.left=`${O+n.width}px`;z.maxWidth=`${m}px`;z.maxHeight=`${v+n.height*j}px`}else if($===i.RIGHT_TOP){z.top="auto";z.right="auto";z.bottom=`${k+n.height*P}px`;z.left=`${O+n.width}px`;z.maxWidth=`${m}px`;z.maxHeight=`${b+n.height*j}px`}else if($===i.LEFT||$===i.LEFT_BOTTOM){z.top=`${_+n.height*P}px`;z.right=`${M+n.width}px`;z.bottom="auto";z.left="auto";z.maxWidth=`${w}px`;z.maxHeight=`${v+n.height*j}px`}else if($===i.LEFT_TOP){z.top="auto";z.right=`${M+n.width}px`;z.bottom=`${k+n.height*P}px`;z.left="auto";z.maxWidth=`${w}px`;z.maxHeight=`${b+n.height*j}px`}this.currentPosition=$||this.position;this.host.setAttribute("current-position",this.currentPosition)}componentWillLoad(){this.validatePosition(this.position);this.onOpen()}render(){return e("slot",{key:"dcaaf8ad7c023e4f7b681aa8e39273d485e69d80"})}get host(){return r(this)}static get watchers(){return{position:["validatePosition"],open:["onOpen"]}}};l.style=a;export{l as z_popover};
2
- //# sourceMappingURL=p-eac25945.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZPopoverStyle0","DOCUMENT_ELEMENT","document","documentElement","getParentElement","element","parentNode","host","findScrollableParent","parent","overflow","overflowX","overflowY","window","getComputedStyle","scrollHeight","clientHeight","scrollWidth","clientWidth","computeOffset","targetParentOffset","rect","getBoundingClientRect","width","height","top","left","offsetParent","offsetLeft","body","scrollY","offsetTop","DOMMatrix","style","transform","webkitTransform","domMatrix","m41","m42","parentWidth","parentHeight","innerWidth","innerHeight","offsetWidth","offsetHeight","right","bottom","ZPopover","PopoverPosition","AUTO","closePopoverWithKeyboard","e","this","closable","key","KeyboardCode","ESC","open","handleOutsideClick","composedPath","includes","target","triggerElemClicked","bindTo","HTMLElement","contains","closest","stopPropagation","positionChange","emit","position","currentPosition","validatePosition","newValue","Object","values","onOpen","cancelAnimationFrame","animationFrameRequestId","setPosition","requestAnimationFrame","hasAttribute","removeAttribute","undefined","openChange","disconnectedCallback","ownerDocument","querySelector","parentElement","scrollContainer","scrollingBoundingRect","offsetContainer","relativeBoundingRect","boundingRect","scrollTop","scrollLeft","overflowBottom","Math","max","overflowRight","availableTop","min","availableBottom","availableLeft","availableRight","availableHeight","availableWidth","positions","push","LEFT","RIGHT","unshift","TOP","BOTTOM","join","offsetRight","offsetBottom","offsetModifier","center","sizeModifier","TOP_RIGHT","maxHeight","maxWidth","TOP_LEFT","BOTTOM_RIGHT","BOTTOM_LEFT","RIGHT_BOTTOM","RIGHT_TOP","LEFT_BOTTOM","LEFT_TOP","setAttribute","componentWillLoad","render","h"],"sources":["src/components/z-popover/styles.css?tag=z-popover&encapsulation=shadow","src/components/z-popover/index.tsx"],"sourcesContent":[":host {\n --z-popover-theme--surface: var(--color-surface01);\n --z-popover-theme--text: var(--color-text01);\n --z-popover-padding: 0;\n --z-popover-shadow-filter: drop-shadow(0 1px 2px var(--shadow-color-base));\n\n position: relative;\n display: none;\n min-width: calc(var(--space-unit) * 8);\n min-height: calc(var(--space-unit) * 4);\n align-items: center;\n justify-content: center;\n padding: var(--z-popover-padding);\n background: var(--z-popover-theme--surface);\n border-radius: var(--border-radius-small);\n color: var(--z-popover-theme--text);\n fill: currentcolor;\n filter: var(--z-popover-shadow-filter);\n font-family: var(--font-family-sans);\n text-align: center;\n}\n\n:host([open][current-position]),\n:host([open=\"true\"][current-position]) {\n display: flex;\n}\n\n:host([center][current-position=\"top\"]),\n:host([center][current-position=\"bottom\"]) {\n transform: translateX(-50%);\n}\n\n:host([center][current-position=\"right\"]),\n:host([center][current-position=\"left\"]) {\n transform: translateY(-50%);\n}\n\n:host([current-position^=\"top\"]) {\n margin: 0 0 var(--space-unit);\n}\n\n:host([current-position^=\"bottom\"]) {\n margin: var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"left\"]) {\n margin: 0 var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"right\"]) {\n margin: 0 0 0 var(--space-unit);\n}\n\n/* Arrow style */\n\n:host([current-position])::before {\n --arrow-size: 6px;\n --arrow-edge-offset: calc(100% - var(--space-unit) - (var(--arrow-size) / 2));\n --arrow-center-x-offset: calc(50% - (var(--arrow-size) / 2));\n --arrow-center-y-offset: calc(100% - (var(--arrow-size) / 2));\n\n position: absolute;\n display: block;\n width: var(--arrow-size);\n height: var(--arrow-size);\n background: var(--z-popover-theme--surface);\n content: \"\";\n transform: rotate(45deg);\n}\n\n:host([show-arrow=\"false\"])::before,\n:host(:not([show-arrow]))::before {\n display: none;\n}\n\n:host([current-position^=\"top\"])::before {\n top: var(--arrow-center-y-offset);\n}\n\n:host([current-position^=\"bottom\"])::before {\n bottom: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top\"])::before,\n:host([current-position=\"bottom\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before,\n:host([current-position=\"left\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top_right\"])::before,\n:host([current-position=\"bottom_right\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"top_left\"])::before,\n:host([current-position=\"bottom_left\"])::before {\n left: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"left_top\"])::before {\n top: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"right_bottom\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left_top\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"right_bottom\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([center][current-position=\"top\"])::before,\n:host([center][current-position=\"bottom\"])::before {\n right: auto;\n left: var(--arrow-center-x-offset);\n}\n\n:host([center][current-position=\"right\"])::before,\n:host([center][current-position=\"left\"])::before {\n top: var(--arrow-center-x-offset);\n bottom: auto;\n}\n\n::slotted(*) {\n overflow: auto;\n flex: 1 auto;\n}\n","import {Component, Prop, h, Watch, Listen, Element, State, Event, EventEmitter} from \"@stencil/core\";\nimport {PopoverPosition, KeyboardCode} from \"../../beans\";\n\nconst DOCUMENT_ELEMENT = document.documentElement;\n\nfunction getParentElement(element: Element): ShadowRoot[\"host\"] {\n if ((element.parentNode as ShadowRoot).host) {\n return (element.parentNode as ShadowRoot).host;\n }\n\n return element.parentNode as Element;\n}\n\n/**\n * Find the closest scrollable parent of a node.\n *\n * @param {Element} element The node\n */\nfunction findScrollableParent(element: Element): Element {\n let parent = getParentElement(element);\n\n while (parent && parent !== DOCUMENT_ELEMENT) {\n const {overflow, overflowX, overflowY} = window.getComputedStyle(parent);\n if (overflow === \"hidden\" || overflowY === \"hidden\" || overflowX === \"hidden\") {\n return parent;\n }\n\n if (\n (parent.scrollHeight > parent.clientHeight && overflow !== \"visible\" && overflowY !== \"visible\") ||\n (parent.scrollWidth > parent.clientWidth && overflow !== \"visible\" && overflowX !== \"visible\")\n ) {\n return parent;\n }\n\n parent = getParentElement(parent);\n }\n\n return DOCUMENT_ELEMENT;\n}\n\n/**\n * Calculate computed offset.\n * It includes matrix transformations.\n * @param element The target element.\n * @param targetParentOffset The relative offset parent.\n * @return A client rect object.\n */\nfunction computeOffset(element: HTMLElement, targetParentOffset?: HTMLElement): Record<string, number> {\n const rect = element.getBoundingClientRect();\n const width = rect.width;\n const height = rect.height;\n\n let top = 0;\n let left = 0;\n let offsetParent = element;\n while (offsetParent && offsetParent != targetParentOffset) {\n left += offsetParent.offsetLeft;\n\n // document.body sometimes has offsetTop == 0 but still has an\n // offset because of children margins!\n if (offsetParent === document.body) {\n top += offsetParent.getBoundingClientRect().top + window.scrollY;\n } else {\n top += offsetParent.offsetTop;\n }\n\n if (window.DOMMatrix) {\n const style = window.getComputedStyle(offsetParent);\n const transform = style.transform || style.webkitTransform;\n const domMatrix = new DOMMatrix(transform);\n if (domMatrix) {\n left += domMatrix.m41;\n if (offsetParent !== document.body) {\n top += domMatrix.m42;\n }\n }\n }\n\n if (!offsetParent.offsetParent) {\n break;\n }\n\n offsetParent = offsetParent.offsetParent as HTMLElement;\n }\n\n let parentWidth: number;\n let parentHeight: number;\n if (offsetParent === document.body) {\n parentWidth = window.innerWidth;\n parentHeight = window.innerHeight;\n } else {\n parentWidth = offsetParent.offsetWidth;\n parentHeight = offsetParent.offsetHeight;\n }\n\n const right = parentWidth - left - rect.width;\n const bottom = parentHeight - top - rect.height;\n\n return {top, right, bottom, left, width, height};\n}\n\n/**\n * Popover component.\n *\n * @cssprop --z-popover-theme--surface - background color of the popover.\n * @cssprop --z-popover-theme--text - foreground color of the popover.\n * @cssprop --z-popover-padding - padding of the popover.\n * @cssprop --z-popover-shadow-filter - drop-shadow filter of the popover. Defaults to `drop-shadow(0 1px 2px var(--shadow-color-base))`.\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover {\n /** Popover position. */\n @Prop({reflect: true})\n position: PopoverPosition = PopoverPosition.AUTO;\n\n /**\n * The open state of the popover.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the popover.\n * If string css selector is provided make sure to use a valid selector.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /**\n * Whether to show popover's arrow.\n */\n @Prop({reflect: true})\n showArrow = false;\n\n /**\n * Whether to center the popup on the main side (according to \"position\").\n */\n @Prop({reflect: true})\n center = false;\n\n /**\n * If true, the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\n */\n @Prop()\n closable = true;\n\n /**\n * The current position of the popover.\n */\n @State()\n currentPosition?: PopoverPosition;\n\n /**\n * Position change event.\n */\n @Event()\n positionChange: EventEmitter;\n\n /**\n * Open change event.\n */\n @Event()\n openChange: EventEmitter;\n\n @Element() host: HTMLZPopoverElement;\n\n private animationFrameRequestId?: number;\n\n @Listen(\"keyup\", {target: \"window\"})\n closePopoverWithKeyboard(e: KeyboardEvent): void {\n if (this.closable && e.key === KeyboardCode.ESC) {\n this.open = false;\n }\n }\n\n /**\n * Close the popover when clicking outside of its content.\n * Stop event propagation if the click was fired by popover's trigger element,\n * to prevent close and reopen glitches.\n * @param {MouseEvent} e\n */\n @Listen(\"click\", {target: \"body\", capture: true})\n handleOutsideClick(e: MouseEvent): void {\n if (!this.closable || !this.open) {\n return;\n }\n\n if (!e.composedPath().includes(this.host)) {\n const target = e.target as HTMLElement;\n const triggerElemClicked =\n this.bindTo instanceof HTMLElement ? this.bindTo.contains(target) : target.closest(this.bindTo);\n if (triggerElemClicked) {\n e.stopPropagation();\n }\n\n this.open = false;\n this.positionChange.emit({position: this.currentPosition});\n }\n }\n\n @Watch(\"position\")\n validatePosition(newValue: PopoverPosition): void {\n if (newValue && !Object.values(PopoverPosition).includes(newValue as PopoverPosition)) {\n this.position = PopoverPosition.AUTO;\n }\n\n this.currentPosition = this.position;\n this.positionChange.emit({position: this.currentPosition});\n }\n\n /**\n * Setup popover behaviors on opening.\n */\n @Watch(\"open\")\n onOpen(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n if (this.open) {\n const setPosition = (): void => {\n if (this.open) {\n this.setPosition();\n this.animationFrameRequestId = requestAnimationFrame(setPosition);\n }\n };\n\n setPosition();\n } else if (this.host.hasAttribute(\"current-position\")) {\n this.host.removeAttribute(\"current-position\");\n this.currentPosition = undefined;\n }\n\n this.openChange.emit({open: this.open});\n }\n\n disconnectedCallback(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n }\n\n /**\n * Set the position of the popover.\n */\n private setPosition(): void {\n let element: HTMLElement;\n if (typeof this.bindTo === \"string\") {\n element = this.host.ownerDocument.querySelector(this.bindTo) as HTMLElement;\n } else if (this.bindTo) {\n element = this.bindTo;\n } else {\n element = this.host.parentElement as HTMLElement;\n }\n\n if (!element) {\n return;\n }\n\n const scrollContainer = findScrollableParent(element) as HTMLElement;\n const scrollingBoundingRect = scrollContainer.getBoundingClientRect();\n const offsetContainer = this.host.offsetParent as HTMLElement;\n\n const relativeBoundingRect = offsetContainer\n ? computeOffset(offsetContainer, scrollContainer)\n : {top: 0, right: 0, bottom: 0, left: 0};\n const boundingRect = computeOffset(element, scrollContainer);\n\n const top = boundingRect.top - scrollContainer.scrollTop;\n const bottom = scrollingBoundingRect.height - (boundingRect.top + boundingRect.height) + scrollContainer.scrollTop;\n const left = boundingRect.left - scrollContainer.scrollLeft;\n const right = scrollingBoundingRect.width - (boundingRect.left + boundingRect.width) + scrollContainer.scrollLeft;\n\n const overflowBottom = Math.max(0, scrollingBoundingRect.top + scrollingBoundingRect.height - window.innerHeight);\n const overflowRight = Math.max(0, scrollingBoundingRect.left + scrollingBoundingRect.width - window.innerWidth);\n\n const availableTop = Math.min(top, top + scrollingBoundingRect.top);\n const availableBottom = Math.min(bottom, bottom - overflowBottom);\n const availableLeft = Math.min(left, left + scrollingBoundingRect.left);\n const availableRight = Math.min(right, right - overflowRight);\n\n const availableHeight = availableTop + availableBottom + boundingRect.height;\n const availableWidth = availableLeft + availableRight + boundingRect.width;\n\n let position = this.currentPosition;\n const positions: PopoverPosition[] = [];\n if (this.position === PopoverPosition.AUTO) {\n /**\n * The `AUTO` position tries to place the popover in the 'safest' area,\n * where there's more space available.\n */\n if (availableLeft / availableWidth > 0.6) {\n positions.push(PopoverPosition.LEFT);\n } else if (availableLeft / availableWidth < 0.4) {\n positions.push(PopoverPosition.RIGHT);\n }\n\n if (availableTop / availableHeight > 0.9) {\n positions.unshift(PopoverPosition.TOP);\n } else if (availableTop / availableHeight > 0.6) {\n positions.push(PopoverPosition.TOP);\n } else if (availableTop / availableHeight < 0.1) {\n positions.unshift(PopoverPosition.BOTTOM);\n } else {\n positions.push(PopoverPosition.BOTTOM);\n }\n\n position = positions.join(\"_\") as PopoverPosition;\n }\n\n const style = this.host.style;\n style.position = \"absolute\";\n\n const offsetTop = boundingRect.top - relativeBoundingRect.top;\n const offsetRight = boundingRect.right - relativeBoundingRect.right;\n const offsetBottom = boundingRect.bottom - relativeBoundingRect.bottom;\n const offsetLeft = boundingRect.left - relativeBoundingRect.left;\n const offsetModifier = this.center ? 0.5 : 0;\n const sizeModifier = this.center ? 0.5 : 0;\n\n if (position === PopoverPosition.TOP || position === PopoverPosition.TOP_RIGHT) {\n style.top = \"auto\";\n style.right = \"auto\";\n style.bottom = `${offsetBottom + boundingRect.height}px`;\n\n style.left = `${offsetLeft + boundingRect.width * offsetModifier}px`;\n style.maxHeight = `${availableTop}px`;\n if (position === PopoverPosition.TOP_RIGHT) {\n style.maxWidth = `${availableRight + boundingRect.width * sizeModifier}px`;\n }\n } else if (position === PopoverPosition.TOP_LEFT) {\n style.top = \"auto\";\n style.right = `${offsetRight + boundingRect.width * offsetModifier}px`;\n style.bottom = `${offsetBottom + boundingRect.height}px`;\n style.left = \"auto\";\n style.maxWidth = `${availableLeft}px`;\n style.maxHeight = `${availableTop}px`;\n } else if (position === PopoverPosition.BOTTOM || position === PopoverPosition.BOTTOM_RIGHT) {\n style.top = `${offsetTop + boundingRect.height}px`;\n style.right = \"auto\";\n style.bottom = \"auto\";\n style.left = `${offsetLeft + boundingRect.width * offsetModifier}px`;\n style.maxHeight = `${availableBottom}px`;\n if (position === PopoverPosition.BOTTOM_RIGHT) {\n style.maxWidth = `${availableRight + boundingRect.width * sizeModifier}px`;\n }\n } else if (position === PopoverPosition.BOTTOM_LEFT) {\n style.top = `${offsetTop + boundingRect.height}px`;\n style.right = `${offsetRight + boundingRect.width * offsetModifier}px`;\n style.bottom = \"auto\";\n style.left = \"auto\";\n style.maxWidth = `${availableLeft}px`;\n style.maxHeight = `${availableBottom}px`;\n } else if (position === PopoverPosition.RIGHT || position === PopoverPosition.RIGHT_BOTTOM) {\n style.top = `${offsetTop + boundingRect.height * offsetModifier}px`;\n style.right = \"auto\";\n style.bottom = \"auto\";\n style.left = `${offsetLeft + boundingRect.width}px`;\n style.maxWidth = `${availableRight}px`;\n style.maxHeight = `${availableBottom + boundingRect.height * sizeModifier}px`;\n } else if (position === PopoverPosition.RIGHT_TOP) {\n style.top = \"auto\";\n style.right = \"auto\";\n style.bottom = `${offsetBottom + boundingRect.height * offsetModifier}px`;\n style.left = `${offsetLeft + boundingRect.width}px`;\n style.maxWidth = `${availableRight}px`;\n style.maxHeight = `${availableTop + boundingRect.height * sizeModifier}px`;\n } else if (position === PopoverPosition.LEFT || position === PopoverPosition.LEFT_BOTTOM) {\n style.top = `${offsetTop + boundingRect.height * offsetModifier}px`;\n style.right = `${offsetRight + boundingRect.width}px`;\n style.bottom = \"auto\";\n style.left = \"auto\";\n style.maxWidth = `${availableLeft}px`;\n style.maxHeight = `${availableBottom + boundingRect.height * sizeModifier}px`;\n } else if (position === PopoverPosition.LEFT_TOP) {\n style.top = \"auto\";\n style.right = `${offsetRight + boundingRect.width}px`;\n style.bottom = `${offsetBottom + boundingRect.height * offsetModifier}px`;\n style.left = \"auto\";\n style.maxWidth = `${availableLeft}px`;\n style.maxHeight = `${availableTop + boundingRect.height * sizeModifier}px`;\n }\n\n this.currentPosition = position || this.position;\n this.host.setAttribute(\"current-position\", this.currentPosition);\n }\n\n componentWillLoad(): void {\n this.validatePosition(this.position);\n this.onOpen();\n }\n\n render(): HTMLSlotElement {\n return <slot></slot>;\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as n,a as i}from"./p-10bb4f4b.js";const e=':host{--z-notification--top-offset:0;display:flex;width:100%;box-sizing:border-box;align-items:flex-start;padding:calc(var(--space-unit) * 2);border-bottom:var(--border-size-medium) solid var(--color-surface03);font-family:var(--font-family-sans);outline:none}:host[sticky]{position:sticky;top:var(--z-notification--top-offset)}:host[sticky],:host([showshadow]){box-shadow:var(--shadow-3)}:host([type="success"]){background:var(--color-success-inverse)}:host([type="warning"]){background:var(--color-warning-inverse)}:host([type="error"]){background:var(--color-error-inverse)}.status-icon,.close-button{display:flex;height:20px;align-items:center}:host([type="success"]) .status-icon{fill:var(--color-success01)}:host([type="warning"]) .status-icon{fill:var(--color-warning02)}:host([type="error"]) .status-icon{fill:var(--color-error01)}:host>button,.content-container>button{padding:0;border:none;margin:0;background:transparent;cursor:pointer;font-family:inherit}.status-icon+.content-container{margin-left:var(--space-unit)}.content-container{display:flex;flex:1 auto;flex-wrap:wrap;align-items:baseline;justify-content:space-between;row-gap:calc(var(--space-unit) * 2)}.content-text{max-width:800px;color:var(--color-text01);font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:20px}.action-button{color:var(--color-primary01);font-size:var(--font-size-1);font-weight:var(--font-sb);letter-spacing:0.32px;line-height:16px}.content-container+.close-button{margin-left:calc(var(--space-unit) * 2)}.close-button z-icon{fill:var(--color-primary01)}@media and (min-width: 768px){.content-container{flex-wrap:nowrap}.content-text+.action-button{margin-left:calc(var(--space-unit) * 5)}}';const s=e;const a=class{handleActionButtonClick(t){t.preventDefault();this.notificationAction.emit()}handleCloseButtonClick(t){t.preventDefault();this.notificationClose.emit()}constructor(n){t(this,n);this.notificationAction=o(this,"notificationAction",7);this.notificationClose=o(this,"notificationClose",7);this.contenticonname=undefined;this.actiontext=undefined;this.type=undefined;this.showclose=false;this.showshadow=false;this.sticky=false;this.handleActionButtonClick=this.handleActionButtonClick.bind(this);this.handleCloseButtonClick=this.handleCloseButtonClick.bind(this)}render(){var t;return n(i,{key:"b610c9bba78b5d6773e97cdcc7d758e6e26e883b"},this.contenticonname&&n("z-icon",{class:"status-icon",name:this.contenticonname,width:16,height:16}),n("div",{key:"c3f2d084587396ece3e4a69db068cd11cd41a086",class:"content-container"},n("div",{key:"0c03f73bdad7fca93e1aba2f7946b33cf49690d5",class:"content-text"},n("slot",{key:"544dedd18270206a8ba2925edfa3aa84268e0c4f"})),!!((t=this.actiontext)===null||t===void 0?void 0:t.trim())&&n("button",{class:"action-button",type:"button",onClick:this.handleActionButtonClick},this.actiontext)),this.showclose&&n("button",{class:"close-button",type:"button",onClick:this.handleCloseButtonClick},n("z-icon",{name:"multiply-circle",width:16,height:16})))}};a.style=s;export{a as z_notification};
2
- //# sourceMappingURL=p-f0653be6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZNotificationStyle0","ZNotification","handleActionButtonClick","e","preventDefault","this","notificationAction","emit","handleCloseButtonClick","notificationClose","constructor","hostRef","bind","render","h","Host","key","contenticonname","class","name","width","height","_a","actiontext","trim","type","onClick","showclose"],"sources":["src/components/notification/z-notification/styles.css?tag=z-notification&encapsulation=shadow","src/components/notification/z-notification/index.tsx"],"sourcesContent":[":host {\n --z-notification--top-offset: 0;\n\n display: flex;\n width: 100%;\n box-sizing: border-box;\n align-items: flex-start;\n padding: calc(var(--space-unit) * 2);\n border-bottom: var(--border-size-medium) solid var(--color-surface03);\n font-family: var(--font-family-sans);\n outline: none;\n}\n\n:host[sticky] {\n position: sticky;\n top: var(--z-notification--top-offset);\n}\n\n:host[sticky],\n:host([showshadow]) {\n box-shadow: var(--shadow-3);\n}\n\n:host([type=\"success\"]) {\n background: var(--color-success-inverse);\n}\n\n:host([type=\"warning\"]) {\n background: var(--color-warning-inverse);\n}\n\n:host([type=\"error\"]) {\n background: var(--color-error-inverse);\n}\n\n.status-icon,\n.close-button {\n /* simulate the line-height of the text\n to make the icon look correctly aligned with it. */\n display: flex;\n height: 20px;\n align-items: center;\n}\n\n:host([type=\"success\"]) .status-icon {\n fill: var(--color-success01);\n}\n\n:host([type=\"warning\"]) .status-icon {\n fill: var(--color-warning02);\n}\n\n:host([type=\"error\"]) .status-icon {\n fill: var(--color-error01);\n}\n\n:host > button,\n.content-container > button {\n padding: 0;\n border: none;\n margin: 0;\n background: transparent;\n cursor: pointer;\n font-family: inherit;\n}\n\n.status-icon + .content-container {\n margin-left: var(--space-unit);\n}\n\n.content-container {\n display: flex;\n flex: 1 auto;\n flex-wrap: wrap;\n align-items: baseline;\n justify-content: space-between;\n row-gap: calc(var(--space-unit) * 2);\n}\n\n.content-text {\n max-width: 800px;\n color: var(--color-text01);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 20px;\n}\n\n.action-button {\n color: var(--color-primary01);\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n letter-spacing: 0.32px;\n line-height: 16px;\n}\n\n.content-container + .close-button {\n margin-left: calc(var(--space-unit) * 2);\n}\n\n.close-button z-icon {\n fill: var(--color-primary01);\n}\n\n/* Tablet breakpoint */\n@media and (min-width: 768px) {\n .content-container {\n flex-wrap: nowrap;\n }\n\n .content-text + .action-button {\n margin-left: calc(var(--space-unit) * 5);\n }\n}\n","import {Component, Prop, h, Event, EventEmitter, Host} from \"@stencil/core\";\nimport {NotificationType} from \"../../../beans\";\n\n/**\n * Notification bar component.\n * @slot - The text of the notification.\n * @cssprop --z-notification--top-offset - The top offset of the notification. Use it when `sticky` prop is set to `true` and you need the notification to stay under other sticky elements. Default: 0px.\n */\n@Component({\n tag: \"z-notification\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZNotification {\n /** Name of the icon on the left of the content */\n @Prop()\n contenticonname?: string;\n\n /** Action button text */\n @Prop()\n actiontext?: string;\n\n /** Alert variant type */\n @Prop({reflect: true})\n type: NotificationType;\n\n /** Enable close icon */\n @Prop()\n showclose?: boolean = false;\n\n /**\n * Enable shadow.\n * @deprecated shadow is available only for the `sticky` version of the notification.\n */\n @Prop({reflect: true})\n showshadow?: boolean = false;\n\n /** Enable sticky notification bar. */\n @Prop({reflect: true})\n sticky?: boolean = false;\n\n /** Call to action clicked */\n @Event()\n notificationAction: EventEmitter;\n\n private handleActionButtonClick(e: MouseEvent): void {\n e.preventDefault();\n this.notificationAction.emit();\n }\n\n /** Close button clicked */\n @Event()\n notificationClose: EventEmitter;\n\n private handleCloseButtonClick(e: MouseEvent): void {\n e.preventDefault();\n this.notificationClose.emit();\n }\n\n constructor() {\n this.handleActionButtonClick = this.handleActionButtonClick.bind(this);\n this.handleCloseButtonClick = this.handleCloseButtonClick.bind(this);\n }\n\n render(): HTMLZNotificationElement {\n return (\n <Host>\n {this.contenticonname && (\n <z-icon\n class=\"status-icon\"\n name={this.contenticonname}\n width={16}\n height={16}\n />\n )}\n <div class=\"content-container\">\n <div class=\"content-text\">\n <slot></slot>\n </div>\n {!!this.actiontext?.trim() && (\n <button\n class=\"action-button\"\n type=\"button\"\n onClick={this.handleActionButtonClick}\n >\n {this.actiontext}\n </button>\n )}\n </div>\n {this.showclose && (\n <button\n class=\"close-button\"\n type=\"button\"\n onClick={this.handleCloseButtonClick}\n >\n <z-icon\n name=\"multiply-circle\"\n width={16}\n height={16}\n />\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAY,8rDAClB,MAAAC,EAAeD,E,MCYFE,EAAa,MAgChB,uBAAAC,CAAwBC,GAC9BA,EAAEC,iBACFC,KAAKC,mBAAmBC,M,CAOlB,sBAAAC,CAAuBL,GAC7BA,EAAEC,iBACFC,KAAKI,kBAAkBF,M,CAGzB,WAAAG,CAAAC,G,kNA/BsB,M,gBAOC,M,YAIJ,MAqBjBN,KAAKH,wBAA0BG,KAAKH,wBAAwBU,KAAKP,MACjEA,KAAKG,uBAAyBH,KAAKG,uBAAuBI,KAAKP,K,CAGjE,MAAAQ,G,MACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACFX,KAAKY,iBACJH,EAAA,UACEI,MAAM,cACNC,KAAMd,KAAKY,gBACXG,MAAO,GACPC,OAAQ,KAGZP,EAAA,OAAAE,IAAA,2CAAKE,MAAM,qBACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACTJ,EAAA,QAAAE,IAAA,kDAECM,EAAAjB,KAAKkB,cAAU,MAAAD,SAAA,SAAAA,EAAEE,SAClBV,EAAA,UACEI,MAAM,gBACNO,KAAK,SACLC,QAASrB,KAAKH,yBAEbG,KAAKkB,aAIXlB,KAAKsB,WACJb,EAAA,UACEI,MAAM,eACNO,KAAK,SACLC,QAASrB,KAAKG,wBAEdM,EAAA,UACEK,KAAK,kBACLC,MAAO,GACPC,OAAQ,M"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,g as r}from"./p-10bb4f4b.js";import{Y as o}from"./p-025f494e.js";import{m as a}from"./p-2c886e8b.js";import{r as s}from"./p-955da62e.js";const n=':host{--z-book-card-ribbon-background-color:var(--avatar-C08);--z-book-card-ribbon-shadow-color:var(--green950);--z-book-card-compact-width:262px;--z-book-card-compact-height:568px}:host>article{display:block;width:100%;max-width:360px;box-sizing:border-box;border:var(--border-size-medium) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>article div.cover{position:relative}:host>article div.cover div.img-wrapper{display:flex;overflow:hidden;border:var(--border-size-small) solid var(--color-surface03);line-height:0}:host>article div.cover div.img-wrapper img{width:auto;max-width:100%;height:auto;max-height:100%;align-self:flex-end}:host>article div.cover .ribbon{position:absolute;z-index:10;top:calc(var(--space-unit) * 2);left:calc(var(--space-unit) * -2);display:flex;max-width:100%;height:calc(var(--space-unit) * 4);box-sizing:border-box;align-items:center;padding:0 calc(var(--space-unit) * 2);border:var(--border-size-medium) solid var(--color-surface01);background:var(--z-book-card-ribbon-background-color);border-radius:0 var(--border-radius) var(--border-radius) 0;box-shadow:var(--shadow-2);color:var(--color-text04);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--font-sb);line-height:initial}:host>article div.cover .ribbon.interactive:hover{cursor:pointer}:host>article div.cover .ribbon span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.cover .ribbon::before{position:absolute;bottom:-12px;left:-2px;width:0;height:0;border-top:10px solid var(--z-book-card-ribbon-shadow-color);border-left:16px solid transparent;content:""}:host>article div.cover .ribbon z-icon{margin-right:var(--space-unit)}:host>article div.content{margin:var(--space-unit) 0;border-radius:var(--border-radius)}:host>article .title{display:flex;height:100%;align-self:center;color:var(--color-text02);font-size:var(--font-size-4);font-weight:var(--font-sb);line-height:1.5}:host>article .title *{all:unset}:host>article div.subtitle{color:var(--color-text02);font-size:var(--font-size-2);font-weight:var(--font-rg);line-height:1.4}:host>article div.authors{color:var(--color-text02);font-size:var(--font-size-1);font-weight:var(--font-rg);line-height:1.33}:host>article div.isbn{overflow:hidden;color:var(--color-text02);font-size:var(--font-size-2);line-height:1.33;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.isbn>.code{font-weight:var(--font-sb)}:host>article div.tags{display:flex;overflow:hidden;max-height:32px;flex-flow:row wrap;align-content:stretch;align-items:stretch;justify-content:flex-start;gap:calc(var(--space-unit) / 2)}:host>article ::slotted([slot="tags"]){margin-bottom:var(--space-unit)}:host>article ::slotted([slot="header-cta"]){--z-icon-width:20px;--z-icon-height:20px;padding:var(--space-unit);cursor:pointer;fill:var(--color-icon01)}:host>article.expanded{width:100%;min-width:328px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.header{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:top;justify-content:space-between;margin-bottom:var(--space-unit);white-space:nowrap}:host>article.expanded div.cover div.img-wrapper{border-radius:var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:100%}:host>article.expanded .title,:host>article.expanded .subtitle,:host>article.expanded .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}:host>article.expanded div.footer{border-top:var(--border-size-small) solid var(--color-surface03);margin-bottom:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open{padding-top:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open div.resources{display:initial}:host>article.expanded div.footer.close div.resources{display:none}:host>article.expanded button.show-resources{--z-icon-height:16px;--z-icon-width:16px;all:unset;display:flex;width:100%;flex-flow:row nowrap;align-content:center;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 1) 0;color:var(--color-link-primary);cursor:pointer;fill:var(--color-link-primary);font-size:var(--font-size-2);font-weight:var(--font-sb);gap:var(--space-unit)}:host>article.expanded button.show-resources:focus{box-shadow:var(--shadow-focus-primary)}:host>article.search{width:262px;height:616px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.search .wrapper-container{display:flex;height:100%;flex-direction:column;justify-content:space-between}:host>article.search .wrapper-container .wrapper{height:451px}:host>article.search .wrapper-container .action-container{padding-bottom:calc(var(--space-unit) * 2)}:host>article.search div.header{display:flex;height:24px;flex-flow:row nowrap;align-content:stretch;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 1.5);white-space:nowrap}:host>article.search div.cover div.img-wrapper{height:314px;border-radius:var(--border-radius)}:host>article.search .title{display:block;height:initial;align-self:unset;font-size:var(--font-size-3)}:host>article.search .title,:host>article.search .subtitle,:host>article.search .authors{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>article.compact{width:var(--z-book-card-compact-width);height:var(--z-book-card-compact-height)}:host>article.compact.borderless{border:none}:host>article.compact div.cover div.img-wrapper{width:100%;height:calc(var(--z-book-card-compact-width) * 1.36);box-sizing:border-box;border:none;background:var(--color-white);border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:var(--shadow-2)}:host>article.compact div.wrapper{display:flex;height:100%;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.compact div.content{display:flex;box-sizing:border-box;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;padding:calc(var(--space-unit) * 2);padding-top:var(--space-unit);margin:0}:host>article.compact div.action-container{padding:calc(var(--space-unit) * 2);padding-top:0;margin-top:auto}:host>article.compact.borderless div.cover div.img-wrapper{width:var(--z-book-card-compact-width)}:host>article.compact.borderless div.content{padding:0;padding-top:var(--space-unit)}:host>article.compact.borderless div.action-container{padding:0;padding-bottom:calc(var(--space-unit) * 2)}:host>article.compact .title{display:block;height:initial;align-self:unset}:host>article.compact .title,:host>article.compact .subtitle,:host>article.compact .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}@media (min-width: 768px){:host>article{width:100%;max-width:initial}:host>article .title{display:block;height:initial;align-self:unset}:host>article.expanded{width:100%;min-width:initial;max-width:initial;height:360px;padding:0;border:0}:host>article.expanded div.wrapper{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.expanded div.cover div.img-wrapper{width:262px;height:356px;border:0;border:var(--border-size-medium) solid var(--color-surface03);border-right:none;background:var(--color-surface01);border-radius:var(--border-radius) 0 0 var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:auto;border-radius:0}:host>article.expanded div.content{display:flex;overflow:hidden;width:100%;height:356px;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;border:var(--border-size-medium) solid var(--color-surface03);border-left:none;margin:0;background:var(--color-surface01);border-radius:0 var(--border-radius) var(--border-radius) 0}:host>article.expanded div.content div.top{padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.content div.top div.info{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;margin-bottom:calc(var(--space-unit) / 2)}:host>article.expanded div.content div.top div.info>div.left{width:100%}:host>article.expanded div.content div.bottom{padding:calc(var(--space-unit) * 2);padding-bottom:0}}@media (min-width: 1152px){:host>article{width:fit-content;max-width:initial}}@media (min-width: 1366px){:host>article.expanded{width:635px}:host>article.expanded div.content{width:369px}}';const d=n;const c=class{constructor(e){t(this,e);this.ribbonClick=i(this,"ribbonClick",7);this.variant=undefined;this.cover=undefined;this.operaTitle=undefined;this.volumeTitle=undefined;this.authors=undefined;this.isbn=undefined;this.isbnLabel="";this.ribbon=undefined;this.ribbonIcon=undefined;this.ribbonInteractive=undefined;this.borderless=undefined;this.fallbackCover=undefined;this.operaTitleTag=undefined;this.isMobile=false;this.hasResources=false;this.showResources=false}emitRibbonClick(){this.ribbonClick.emit()}componentWillLoad(){this.id=`id-${s()}`;const t=window.matchMedia(`(max-width: ${a}px)`);this.isMobile=t.matches;t.onchange=t=>this.isMobile=t.matches}componentDidLoad(){this.handleResources()}handleResources(){var t;if(this.variant!==o.EXPANDED||!this.isMobile){return}this.hasResources=((t=this.hostElement.querySelectorAll("[slot=resources]"))===null||t===void 0?void 0:t.length)>0}toggleResources(){this.showResources=!this.showResources}renderCard(){switch(this.variant){case o.EXPANDED:return this.isMobile?this.renderMobileExpandedCard():this.renderExpandedCard();case o.COMPACT:return this.renderCompactCard();case o.SEARCH:return this.renderSearchCard()}}renderExpandedCard(){return e("div",{class:"wrapper"},this.renderCover(),e("div",{class:"content"},e("div",{class:"top"},e("div",{class:"info"},e("div",{class:"left"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),e("div",{class:"right"},this.renderHeaderCtaSlot())),this.renderTagsSlot()),e("div",{class:"bottom"},this.renderResourcesSlot())))}renderMobileExpandedCard(){return e("div",{class:"wrapper"},e("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),e("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn()),this.hasResources&&e("div",{class:{footer:true,open:this.showResources,close:!this.showResources}},!this.showResources&&this.renderShowResources(),this.renderResourcesSlot(),this.showResources&&this.renderShowResources()))}renderSearchCard(){return e("div",{class:"wrapper-container"},e("div",{class:"wrapper"},e("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),e("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn())),this.renderFooterCtaSlot())}renderCompactCard(){return e("div",{class:"wrapper"},this.renderCover(),e("div",{class:"content"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),this.renderFooterCtaSlot())}renderCover(){return e("div",{class:"cover"},this.ribbon&&this.variant!==o.COMPACT&&this.renderRibbon(),e("div",{class:"img-wrapper"},e("img",{src:this.cover,onError:()=>{if(this.fallbackCover){this.cover=this.fallbackCover}},"aria-hidden":"true"})))}renderRibbon(){const t=[this.ribbonIcon&&e("z-icon",{name:this.ribbonIcon,width:16,height:16,fill:"color-icon03"}),e("span",null,this.ribbon)];return this.ribbonInteractive?e("button",{class:"ribbon interactive",onClick:()=>this.emitRibbonClick()},t):e("div",{class:"ribbon"},t)}renderOperaTitle(){const t=this.operaTitleTag?`<${this.operaTitleTag}>${this.operaTitle}</${this.operaTitleTag}>`:this.operaTitle;return e("div",{class:"title",innerHTML:t})}renderVolumeTitle(){return this.volumeTitle?e("div",{class:"subtitle"},this.volumeTitle):null}renderAuthors(){return this.authors?e("div",{class:"authors","aria-description":"Autori"},this.authors):null}renderIsbn(){return this.isbn?e("div",{class:"isbn"},e("span",{class:"code","aria-description":`ISBN ${this.isbnLabel}`},this.isbn),this.isbnLabel?e("span",{class:"label"}," ",this.isbnLabel):null):null}renderShowResources(){return e("button",{class:"show-resources","aria-label":`Risorse del libro ${this.operaTitle}`,"aria-expanded":this.showResources.toString(),"aria-controls":`resources-${this.id}`,onClick:()=>this.toggleResources()},this.showResources?"Chiudi":"Vedi tutto",e("z-icon",{name:this.showResources?"chevron-up":"chevron-down"}))}renderTagsSlot(){return e("div",{class:"tags"},e("slot",{name:"tags"}))}renderHeaderCtaSlot(){return e("slot",{name:"header-cta"})}renderResourcesSlot(){return e("div",{id:`resources-${this.id}`,class:"resources"},e("slot",{name:"resources",onSlotchange:()=>this.handleResources()}))}renderFooterCtaSlot(){return e("div",{class:"action-container"},e("slot",{name:"footer-cta"}))}render(){return e("article",{key:"0be831c7e7f9c9cc2684610dd8015d46820ce07d",class:{[this.variant]:true,borderless:!!this.borderless}},this.renderCard())}get hostElement(){return r(this)}};c.style=d;export{c as z_book_card};
2
- //# sourceMappingURL=p-f9ddfc93.entry.js.map