@zanichelli/albe-web-components 19.1.4-RC1 → 19.3.0-RC1

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 (877) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cjs/iconset-5d47610c.js +1016 -0
  3. package/dist/cjs/iconset-5d47610c.js.map +1 -0
  4. package/dist/cjs/{index-f011b2e3.js → index-1ee051ca.js} +2 -2
  5. package/dist/cjs/{index-f011b2e3.js.map → index-1ee051ca.js.map} +1 -1
  6. package/dist/cjs/{index-09238e31.js → index-43dfc8b2.js} +3 -3
  7. package/dist/cjs/{index-09238e31.js.map → index-43dfc8b2.js.map} +1 -1
  8. package/dist/cjs/{index-805390c8.js → index-44e3cf31.js} +5 -5
  9. package/dist/cjs/{index-805390c8.js.map → index-44e3cf31.js.map} +1 -1
  10. package/dist/cjs/{index-1c7cd5df.js → index-5eb95b44.js} +2 -2
  11. package/dist/cjs/{index-1c7cd5df.js.map → index-5eb95b44.js.map} +1 -1
  12. package/dist/cjs/{index-62712250.js → index-8770e71a.js} +2 -2
  13. package/dist/cjs/{index-62712250.js.map → index-8770e71a.js.map} +1 -1
  14. package/dist/cjs/index-96af6326.js +8 -4
  15. package/dist/cjs/{index-66928615.js → index-d214a119.js} +3 -3
  16. package/dist/cjs/{index-66928615.js.map → index-d214a119.js.map} +1 -1
  17. package/dist/cjs/{index-97a4c18d.js → index-e30d0503.js} +51 -1
  18. package/dist/cjs/index-e30d0503.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +5 -2
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/cjs/{utils-7f9d5a78.js → utils-4f7b4830.js} +2 -2
  23. package/dist/cjs/{utils-7f9d5a78.js.map → utils-4f7b4830.js.map} +1 -1
  24. package/dist/cjs/{utils-5148245a.js → utils-b1859d65.js} +41 -6
  25. package/dist/cjs/utils-b1859d65.js.map +1 -0
  26. package/dist/cjs/web-components-library.cjs.js +1 -1
  27. package/dist/cjs/z-accordion.cjs.entry.js +2 -2
  28. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  29. package/dist/cjs/z-anchor-navigation.cjs.entry.js +2 -2
  30. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +2 -2
  31. package/dist/cjs/z-app-header_12.cjs.entry.js +114 -1029
  32. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  33. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -2
  34. package/dist/cjs/z-avatar.cjs.entry.js +3 -3
  35. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -2
  36. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +3 -3
  37. package/dist/cjs/z-book-card.cjs.entry.js +2 -2
  38. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  39. package/dist/cjs/z-book-cover.cjs.entry.js +1 -1
  40. package/dist/cjs/z-breadcrumb.cjs.entry.js +4 -4
  41. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  42. package/dist/cjs/z-card.cjs.entry.js +1 -1
  43. package/dist/cjs/z-carousel.cjs.entry.js +1 -1
  44. package/dist/cjs/z-chip.cjs.entry.js +3 -3
  45. package/dist/cjs/z-color-picker.cjs.entry.js +212 -0
  46. package/dist/cjs/z-color-picker.cjs.entry.js.map +1 -0
  47. package/dist/cjs/z-combobox.cjs.entry.js +127 -96
  48. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  49. package/dist/cjs/z-cover-hero.cjs.entry.js +3 -3
  50. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  51. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +7 -7
  52. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  53. package/dist/cjs/z-file.cjs.entry.js +2 -2
  54. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  55. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  56. package/dist/cjs/z-info-reveal.cjs.entry.js +2 -2
  57. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  58. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  59. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  60. package/dist/cjs/z-menu-section.cjs.entry.js +2 -2
  61. package/dist/cjs/z-menu.cjs.entry.js +2 -2
  62. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  63. package/dist/cjs/z-myz-card-alert.cjs.entry.js +2 -2
  64. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +2 -2
  65. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  66. package/dist/cjs/z-myz-card-footer.cjs.entry.js +2 -2
  67. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  68. package/dist/cjs/z-myz-card-info.cjs.entry.js +3 -3
  69. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  70. package/dist/cjs/z-myz-card_4.cjs.entry.js +5 -5
  71. package/dist/cjs/z-myz-list-item.cjs.entry.js +3 -3
  72. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  73. package/dist/cjs/z-navigation-tabs.cjs.entry.js +3 -3
  74. package/dist/cjs/z-notification.cjs.entry.js +2 -2
  75. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  76. package/dist/cjs/z-otp.cjs.entry.js +3 -3
  77. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  78. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  79. package/dist/cjs/z-popover.cjs.entry.js +20 -16
  80. package/dist/cjs/z-popover.cjs.entry.js.map +1 -1
  81. package/dist/cjs/z-range-picker.cjs.entry.js +5 -5
  82. package/dist/cjs/z-section-title.cjs.entry.js +2 -2
  83. package/dist/cjs/z-select.cjs.entry.js +99 -134
  84. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  85. package/dist/cjs/z-skip-to-content.cjs.entry.js +3 -3
  86. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  87. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  88. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  89. package/dist/cjs/z-table.cjs.entry.js +9 -9
  90. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  91. package/dist/cjs/z-td.cjs.entry.js +2 -2
  92. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  93. package/dist/cjs/z-th.cjs.entry.js +2 -2
  94. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  95. package/dist/cjs/z-toast-notification-list.cjs.entry.js +3 -2
  96. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +1 -1
  97. package/dist/cjs/z-toast-notification.cjs.entry.js +2 -2
  98. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  99. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -5
  100. package/dist/cjs/z-tool.cjs.entry.js +147 -42
  101. package/dist/cjs/z-tool.cjs.entry.js.map +1 -1
  102. package/dist/cjs/z-toolbar.cjs.entry.js +64 -66
  103. package/dist/cjs/z-toolbar.cjs.entry.js.map +1 -1
  104. package/dist/cjs/z-tooltip.cjs.entry.js +3 -2
  105. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -1
  106. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  107. package/dist/cjs/z-tree-list.cjs.entry.js +2 -2
  108. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  109. package/dist/collection/beans/index.js +48 -0
  110. package/dist/collection/beans/index.js.map +1 -1
  111. package/dist/collection/collection-manifest.json +1 -0
  112. package/dist/collection/components/book-card/z-book-card/styles.css +2 -1
  113. package/dist/collection/components/book-card/z-book-card-app/index.js +1 -1
  114. package/dist/collection/components/date-picker/z-date-picker/index.js +1 -1
  115. package/dist/collection/components/date-picker/z-range-picker/index.js +3 -3
  116. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +1 -1
  117. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +1 -1
  118. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +1 -1
  119. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +1 -1
  120. package/dist/collection/components/deprecated/z-section-title/index.js +1 -1
  121. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  122. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  123. package/dist/collection/components/list/z-list/index.js +1 -1
  124. package/dist/collection/components/list/z-list-element/index.js +1 -1
  125. package/dist/collection/components/list/z-list-group/index.js +39 -2
  126. package/dist/collection/components/list/z-list-group/index.js.map +1 -1
  127. package/dist/collection/components/list/z-tree-list/index.js +1 -1
  128. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  129. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  130. package/dist/collection/components/table/z-table/index.js +1 -1
  131. package/dist/collection/components/table/z-tbody/index.js +1 -1
  132. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  133. package/dist/collection/components/table/z-thead/index.js +1 -1
  134. package/dist/collection/components/table/z-tr/index.js +1 -1
  135. package/dist/collection/components/z-accordion/index.js +1 -1
  136. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  137. package/dist/collection/components/z-app-header/index.js +1 -1
  138. package/dist/collection/components/z-app-header/index.js.map +1 -1
  139. package/dist/collection/components/z-app-header/index.stories.js +42 -0
  140. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  141. package/dist/collection/components/z-app-header/styles.css +8 -0
  142. package/dist/collection/components/z-aria-alert/index.js +1 -1
  143. package/dist/collection/components/z-avatar/index.js +2 -2
  144. package/dist/collection/components/z-book-cover/index.js +1 -1
  145. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  146. package/dist/collection/components/z-button-sort/index.js +1 -1
  147. package/dist/collection/components/z-chip/index.js +2 -2
  148. package/dist/collection/components/z-color-picker/index.js +367 -0
  149. package/dist/collection/components/z-color-picker/index.js.map +1 -0
  150. package/dist/collection/components/z-color-picker/index.stories.js +34 -0
  151. package/dist/collection/components/z-color-picker/index.stories.js.map +1 -0
  152. package/dist/collection/components/z-color-picker/styles.css +74 -0
  153. package/dist/collection/components/z-combobox/index.js +142 -97
  154. package/dist/collection/components/z-combobox/index.js.map +1 -1
  155. package/dist/collection/components/z-combobox/styles.css +41 -0
  156. package/dist/collection/components/z-cover-hero/index.js +2 -2
  157. package/dist/collection/components/z-divider/index.js +1 -1
  158. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  159. package/dist/collection/components/z-icon/index.js +40 -9
  160. package/dist/collection/components/z-icon/index.js.map +1 -1
  161. package/dist/collection/components/z-icon/index.stories.js +34 -18
  162. package/dist/collection/components/z-icon/index.stories.js.map +1 -1
  163. package/dist/collection/components/z-icon/styles.css +15 -2
  164. package/dist/collection/components/z-info-box/index.js +1 -1
  165. package/dist/collection/components/z-info-reveal/index.js +1 -1
  166. package/dist/collection/components/z-input/index.js +1 -1
  167. package/dist/collection/components/z-input-message/index.js +1 -1
  168. package/dist/collection/components/z-logo/index.js +1 -1
  169. package/dist/collection/components/z-menu/index.js +1 -1
  170. package/dist/collection/components/z-menu/index.js.map +1 -1
  171. package/dist/collection/components/z-menu-section/index.js +1 -1
  172. package/dist/collection/components/z-modal/index.js +4 -4
  173. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  174. package/dist/collection/components/z-notification/index.js +1 -1
  175. package/dist/collection/components/z-notification/styles.css +2 -2
  176. package/dist/collection/components/z-offcanvas/index.js +89 -10
  177. package/dist/collection/components/z-offcanvas/index.js.map +1 -1
  178. package/dist/collection/components/z-panel-elem/index.js +2 -2
  179. package/dist/collection/components/z-popover/index.js +31 -21
  180. package/dist/collection/components/z-popover/index.js.map +1 -1
  181. package/dist/collection/components/z-popover/styles.css +18 -3
  182. package/dist/collection/components/z-searchbar/index.js +1 -1
  183. package/dist/collection/components/z-searchbar/styles.css +1 -1
  184. package/dist/collection/components/z-select/index.js +97 -141
  185. package/dist/collection/components/z-select/index.js.map +1 -1
  186. package/dist/collection/components/z-select/styles.css +9 -2
  187. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  188. package/dist/collection/components/z-stepper/index.js +1 -1
  189. package/dist/collection/components/z-stepper-item/index.js +1 -1
  190. package/dist/collection/components/z-tag/index.js +2 -2
  191. package/dist/collection/components/z-toast-notification/index.js +1 -1
  192. package/dist/collection/components/z-toast-notification-list/index.js +2 -1
  193. package/dist/collection/components/z-toast-notification-list/index.js.map +1 -1
  194. package/dist/collection/components/z-toggle-button/index.js +2 -2
  195. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  196. package/dist/collection/components/z-tool/index.js +281 -48
  197. package/dist/collection/components/z-tool/index.js.map +1 -1
  198. package/dist/collection/components/z-tool/index.stories.js +89 -12
  199. package/dist/collection/components/z-tool/index.stories.js.map +1 -1
  200. package/dist/collection/components/z-tool/styles.css +30 -31
  201. package/dist/collection/components/z-toolbar/index.js +72 -91
  202. package/dist/collection/components/z-toolbar/index.js.map +1 -1
  203. package/dist/collection/components/z-toolbar/index.stories.js +190 -309
  204. package/dist/collection/components/z-toolbar/index.stories.js.map +1 -1
  205. package/dist/collection/components/z-toolbar/styles.css +10 -19
  206. package/dist/collection/components/z-tooltip/index.js +19 -1
  207. package/dist/collection/components/z-tooltip/index.js.map +1 -1
  208. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  209. package/dist/collection/constants/iconset.js +152 -142
  210. package/dist/collection/constants/iconset.js.map +1 -1
  211. package/dist/collection/index.js +1 -0
  212. package/dist/collection/index.js.map +1 -1
  213. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  214. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  215. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  216. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  217. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  218. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  219. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  220. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  221. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  222. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  223. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  224. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  225. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  226. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  227. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  228. package/dist/collection/utils/utils.js +38 -4
  229. package/dist/collection/utils/utils.js.map +1 -1
  230. package/dist/components/iconset.js +152 -143
  231. package/dist/components/iconset.js.map +1 -1
  232. package/dist/components/index.d.ts +2 -0
  233. package/dist/components/index.js +3 -1
  234. package/dist/components/index.js.map +1 -1
  235. package/dist/components/index10.js +17 -6
  236. package/dist/components/index10.js.map +1 -1
  237. package/dist/components/index11.js +1 -1
  238. package/dist/components/index12.js +2 -2
  239. package/dist/components/index13.js +1 -1
  240. package/dist/components/index14.js +1 -1
  241. package/dist/components/index15.js +1 -1
  242. package/dist/components/index16.js +7 -3
  243. package/dist/components/index16.js.map +1 -1
  244. package/dist/components/index17.js +4 -4
  245. package/dist/components/index18.js +1 -1
  246. package/dist/components/index19.js +1 -1
  247. package/dist/components/index2.js +49 -1
  248. package/dist/components/index2.js.map +1 -1
  249. package/dist/components/index20.js +1 -1
  250. package/dist/components/index21.js +1 -1
  251. package/dist/components/index22.js +1 -1
  252. package/dist/components/index23.js +84 -11
  253. package/dist/components/index23.js.map +1 -1
  254. package/dist/components/index24.js +20 -16
  255. package/dist/components/index24.js.map +1 -1
  256. package/dist/components/index25.js +3 -3
  257. package/dist/components/index25.js.map +1 -1
  258. package/dist/components/index26.js +2 -2
  259. package/dist/components/index27.js +55 -0
  260. package/dist/components/index27.js.map +1 -0
  261. package/dist/components/index3.js +1 -1
  262. package/dist/components/index4.js +1 -1
  263. package/dist/components/index6.js +2 -2
  264. package/dist/components/index7.js +1 -1
  265. package/dist/components/index8.js +2 -2
  266. package/dist/components/index9.js +1 -1
  267. package/dist/components/utils.js +39 -5
  268. package/dist/components/utils.js.map +1 -1
  269. package/dist/components/z-accordion.js +1 -1
  270. package/dist/components/z-anchor-navigation.js +1 -1
  271. package/dist/components/z-app-header-deprecated.js +1 -1
  272. package/dist/components/z-app-header.js +2 -2
  273. package/dist/components/z-app-header.js.map +1 -1
  274. package/dist/components/z-aria-alert.js +1 -1
  275. package/dist/components/z-avatar.js +2 -2
  276. package/dist/components/z-book-card-app.js +1 -1
  277. package/dist/components/z-book-card-deprecated.js +1 -1
  278. package/dist/components/z-book-card.js +1 -1
  279. package/dist/components/z-book-card.js.map +1 -1
  280. package/dist/components/z-breadcrumb.js +2 -2
  281. package/dist/components/z-button-sort.js +1 -1
  282. package/dist/components/z-color-picker.d.ts +11 -0
  283. package/dist/components/z-color-picker.js +234 -0
  284. package/dist/components/z-color-picker.js.map +1 -0
  285. package/dist/components/z-combobox.js +129 -99
  286. package/dist/components/z-combobox.js.map +1 -1
  287. package/dist/components/z-cover-hero.js +2 -2
  288. package/dist/components/z-date-picker.js +1 -1
  289. package/dist/components/z-file.js +1 -1
  290. package/dist/components/z-info-box.js +1 -1
  291. package/dist/components/z-logo.js +1 -1
  292. package/dist/components/z-menu-deprecated.js +1 -1
  293. package/dist/components/z-menu-section-deprecated.js +1 -1
  294. package/dist/components/z-menu-section.js +1 -1
  295. package/dist/components/z-menu.js +1 -1
  296. package/dist/components/z-menu.js.map +1 -1
  297. package/dist/components/z-myz-card-alert.js +1 -1
  298. package/dist/components/z-myz-card-dictionary.js +1 -1
  299. package/dist/components/z-myz-card-footer-sections.js +1 -1
  300. package/dist/components/z-myz-card-footer.js +1 -1
  301. package/dist/components/z-myz-card-icon.js +1 -1
  302. package/dist/components/z-myz-card-info.js +1 -1
  303. package/dist/components/z-myz-card-list.js +1 -1
  304. package/dist/components/z-myz-list.js +1 -1
  305. package/dist/components/z-navigation-tabs.js +2 -2
  306. package/dist/components/z-notification.js +2 -2
  307. package/dist/components/z-notification.js.map +1 -1
  308. package/dist/components/z-otp.js +2 -2
  309. package/dist/components/z-panel-elem.js +2 -2
  310. package/dist/components/z-range-picker.js +3 -3
  311. package/dist/components/z-section-title.js +1 -1
  312. package/dist/components/z-select.js +99 -134
  313. package/dist/components/z-select.js.map +1 -1
  314. package/dist/components/z-skip-to-content.js +2 -2
  315. package/dist/components/z-slideshow.js +1 -1
  316. package/dist/components/z-stepper-item.js +1 -1
  317. package/dist/components/z-stepper.js +1 -1
  318. package/dist/components/z-table.js +1 -1
  319. package/dist/components/z-tbody.js +1 -1
  320. package/dist/components/z-td.js +1 -1
  321. package/dist/components/z-tfoot.js +1 -1
  322. package/dist/components/z-th.js +1 -1
  323. package/dist/components/z-thead.js +1 -1
  324. package/dist/components/z-toast-notification-list.js +2 -1
  325. package/dist/components/z-toast-notification-list.js.map +1 -1
  326. package/dist/components/z-toast-notification.js +1 -1
  327. package/dist/components/z-toggle-button.js +2 -2
  328. package/dist/components/z-toggle-switch.js +3 -3
  329. package/dist/components/z-tool.js +165 -49
  330. package/dist/components/z-tool.js.map +1 -1
  331. package/dist/components/z-toolbar.js +65 -68
  332. package/dist/components/z-toolbar.js.map +1 -1
  333. package/dist/components/z-tooltip.js +1 -50
  334. package/dist/components/z-tooltip.js.map +1 -1
  335. package/dist/components/z-tr.js +1 -1
  336. package/dist/components/z-tree-list.js +1 -1
  337. package/dist/components/z-visually-hidden.js +1 -1
  338. package/dist/esm/iconset-d7823b13.js +1013 -0
  339. package/dist/esm/iconset-d7823b13.js.map +1 -0
  340. package/dist/esm/{index-2a6324f8.js → index-106473a8.js} +50 -2
  341. package/dist/esm/index-106473a8.js.map +1 -0
  342. package/dist/esm/{index-8a9f6d27.js → index-167f46ad.js} +5 -5
  343. package/dist/esm/{index-8a9f6d27.js.map → index-167f46ad.js.map} +1 -1
  344. package/dist/esm/{index-0bcacbd3.js → index-21176e80.js} +2 -2
  345. package/dist/esm/{index-0bcacbd3.js.map → index-21176e80.js.map} +1 -1
  346. package/dist/esm/{index-b64ced16.js → index-39a920c4.js} +3 -3
  347. package/dist/esm/{index-b64ced16.js.map → index-39a920c4.js.map} +1 -1
  348. package/dist/esm/{index-36122d8f.js → index-41934729.js} +2 -2
  349. package/dist/esm/{index-36122d8f.js.map → index-41934729.js.map} +1 -1
  350. package/dist/esm/{index-f20179ad.js → index-4845b32f.js} +3 -3
  351. package/dist/esm/{index-f20179ad.js.map → index-4845b32f.js.map} +1 -1
  352. package/dist/esm/{index-0ea3c7c8.js → index-599cd05a.js} +2 -2
  353. package/dist/esm/{index-0ea3c7c8.js.map → index-599cd05a.js.map} +1 -1
  354. package/dist/esm/index-c8ceadeb.js +8 -4
  355. package/dist/esm/index.js +3 -2
  356. package/dist/esm/index.js.map +1 -1
  357. package/dist/esm/loader.js +1 -1
  358. package/dist/esm/{utils-e66d94c3.js → utils-8d6ca808.js} +41 -7
  359. package/dist/esm/utils-8d6ca808.js.map +1 -0
  360. package/dist/esm/{utils-227ef1c0.js → utils-93ac0e6c.js} +2 -2
  361. package/dist/esm/{utils-227ef1c0.js.map → utils-93ac0e6c.js.map} +1 -1
  362. package/dist/esm/web-components-library.js +1 -1
  363. package/dist/esm/z-accordion.entry.js +2 -2
  364. package/dist/esm/z-alert.entry.js +1 -1
  365. package/dist/esm/z-anchor-navigation.entry.js +2 -2
  366. package/dist/esm/z-app-header-deprecated.entry.js +2 -2
  367. package/dist/esm/z-app-header_12.entry.js +114 -1029
  368. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  369. package/dist/esm/z-aria-alert.entry.js +2 -2
  370. package/dist/esm/z-avatar.entry.js +3 -3
  371. package/dist/esm/z-book-card-app.entry.js +2 -2
  372. package/dist/esm/z-book-card-deprecated.entry.js +3 -3
  373. package/dist/esm/z-book-card.entry.js +2 -2
  374. package/dist/esm/z-book-card.entry.js.map +1 -1
  375. package/dist/esm/z-book-cover.entry.js +1 -1
  376. package/dist/esm/z-breadcrumb.entry.js +4 -4
  377. package/dist/esm/z-button-sort.entry.js +1 -1
  378. package/dist/esm/z-card.entry.js +1 -1
  379. package/dist/esm/z-carousel.entry.js +1 -1
  380. package/dist/esm/z-chip.entry.js +3 -3
  381. package/dist/esm/z-color-picker.entry.js +208 -0
  382. package/dist/esm/z-color-picker.entry.js.map +1 -0
  383. package/dist/esm/z-combobox.entry.js +127 -96
  384. package/dist/esm/z-combobox.entry.js.map +1 -1
  385. package/dist/esm/z-cover-hero.entry.js +3 -3
  386. package/dist/esm/z-date-picker.entry.js +3 -3
  387. package/dist/esm/z-dragdrop-area_2.entry.js +7 -7
  388. package/dist/esm/z-file-upload.entry.js +1 -1
  389. package/dist/esm/z-file.entry.js +2 -2
  390. package/dist/esm/z-ghost-loading.entry.js +1 -1
  391. package/dist/esm/z-info-box.entry.js +1 -1
  392. package/dist/esm/z-info-reveal.entry.js +2 -2
  393. package/dist/esm/z-logo.entry.js +1 -1
  394. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  395. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  396. package/dist/esm/z-menu-section.entry.js +2 -2
  397. package/dist/esm/z-menu.entry.js +2 -2
  398. package/dist/esm/z-menu.entry.js.map +1 -1
  399. package/dist/esm/z-myz-card-alert.entry.js +2 -2
  400. package/dist/esm/z-myz-card-dictionary.entry.js +2 -2
  401. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  402. package/dist/esm/z-myz-card-footer.entry.js +2 -2
  403. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  404. package/dist/esm/z-myz-card-info.entry.js +3 -3
  405. package/dist/esm/z-myz-card-list.entry.js +1 -1
  406. package/dist/esm/z-myz-card_4.entry.js +5 -5
  407. package/dist/esm/z-myz-list-item.entry.js +3 -3
  408. package/dist/esm/z-myz-list.entry.js +1 -1
  409. package/dist/esm/z-navigation-tabs.entry.js +3 -3
  410. package/dist/esm/z-notification.entry.js +2 -2
  411. package/dist/esm/z-notification.entry.js.map +1 -1
  412. package/dist/esm/z-otp.entry.js +3 -3
  413. package/dist/esm/z-pagination.entry.js +1 -1
  414. package/dist/esm/z-panel-elem.entry.js +2 -2
  415. package/dist/esm/z-popover.entry.js +20 -16
  416. package/dist/esm/z-popover.entry.js.map +1 -1
  417. package/dist/esm/z-range-picker.entry.js +5 -5
  418. package/dist/esm/z-section-title.entry.js +2 -2
  419. package/dist/esm/z-select.entry.js +99 -134
  420. package/dist/esm/z-select.entry.js.map +1 -1
  421. package/dist/esm/z-skip-to-content.entry.js +3 -3
  422. package/dist/esm/z-slideshow.entry.js +2 -2
  423. package/dist/esm/z-stepper-item.entry.js +1 -1
  424. package/dist/esm/z-stepper.entry.js +1 -1
  425. package/dist/esm/z-table.entry.js +9 -9
  426. package/dist/esm/z-tbody.entry.js +1 -1
  427. package/dist/esm/z-td.entry.js +2 -2
  428. package/dist/esm/z-tfoot.entry.js +1 -1
  429. package/dist/esm/z-th.entry.js +2 -2
  430. package/dist/esm/z-thead.entry.js +1 -1
  431. package/dist/esm/z-toast-notification-list.entry.js +3 -2
  432. package/dist/esm/z-toast-notification-list.entry.js.map +1 -1
  433. package/dist/esm/z-toast-notification.entry.js +2 -2
  434. package/dist/esm/z-toggle-button.entry.js +2 -2
  435. package/dist/esm/z-toggle-switch.entry.js +5 -5
  436. package/dist/esm/z-tool.entry.js +147 -42
  437. package/dist/esm/z-tool.entry.js.map +1 -1
  438. package/dist/esm/z-toolbar.entry.js +64 -66
  439. package/dist/esm/z-toolbar.entry.js.map +1 -1
  440. package/dist/esm/z-tooltip.entry.js +4 -3
  441. package/dist/esm/z-tooltip.entry.js.map +1 -1
  442. package/dist/esm/z-tr.entry.js +5 -5
  443. package/dist/esm/z-tree-list.entry.js +2 -2
  444. package/dist/esm/z-visually-hidden.entry.js +1 -1
  445. package/dist/types/beans/index.d.ts +184 -0
  446. package/dist/types/components/list/z-list-group/index.d.ts +8 -0
  447. package/dist/types/components/z-app-header/index.stories.d.ts +16 -0
  448. package/dist/types/components/z-color-picker/index.d.ts +64 -0
  449. package/dist/types/components/z-color-picker/index.stories.d.ts +33 -0
  450. package/dist/types/components/z-combobox/index.d.ts +10 -11
  451. package/dist/types/components/z-icon/index.d.ts +19 -5
  452. package/dist/types/components/z-icon/index.stories.d.ts +23 -10
  453. package/dist/types/components/z-offcanvas/index.d.ts +24 -0
  454. package/dist/types/components/z-popover/index.d.ts +9 -4
  455. package/dist/types/components/z-select/index.d.ts +5 -7
  456. package/dist/types/components/z-tool/index.d.ts +73 -9
  457. package/dist/types/components/z-tool/index.stories.d.ts +38 -12
  458. package/dist/types/components/z-toolbar/index.d.ts +23 -6
  459. package/dist/types/components/z-toolbar/index.stories.d.ts +23 -20
  460. package/dist/types/components/z-tooltip/index.d.ts +8 -0
  461. package/dist/types/components.d.ts +213 -35
  462. package/dist/types/constants/iconset.d.ts +281 -141
  463. package/dist/types/index.d.ts +1 -0
  464. package/dist/types/utils/utils.d.ts +5 -2
  465. package/dist/web-components-library/index.esm.js +1 -1
  466. package/dist/web-components-library/index.esm.js.map +1 -1
  467. package/{www/build/p-5a24e268.entry.js → dist/web-components-library/p-03a558ef.entry.js} +2 -2
  468. package/dist/web-components-library/p-061e28d6.js +2 -0
  469. package/dist/web-components-library/p-061e28d6.js.map +1 -0
  470. package/dist/web-components-library/p-0989655c.entry.js +2 -0
  471. package/dist/web-components-library/p-0989655c.entry.js.map +1 -0
  472. package/dist/web-components-library/p-102f6e37.entry.js +2 -0
  473. package/dist/web-components-library/p-102f6e37.entry.js.map +1 -0
  474. package/dist/web-components-library/{p-d9c9de15.entry.js → p-15951fc6.entry.js} +2 -2
  475. package/dist/web-components-library/p-17e2fed2.entry.js +2 -0
  476. package/dist/web-components-library/{p-b7ec2cc4.entry.js → p-19172b2c.entry.js} +2 -2
  477. package/{www/build/p-94916bdf.entry.js → dist/web-components-library/p-1939116a.entry.js} +2 -2
  478. package/dist/web-components-library/{p-b71a3f69.entry.js → p-1e0d85d5.entry.js} +2 -2
  479. package/dist/web-components-library/{p-bdbcf353.entry.js → p-215b1fa5.entry.js} +2 -2
  480. package/dist/web-components-library/p-22b683a3.entry.js +2 -0
  481. package/dist/web-components-library/p-22b683a3.entry.js.map +1 -0
  482. package/dist/web-components-library/p-2a04c00e.entry.js +2 -0
  483. package/dist/web-components-library/{p-816fd6dc.entry.js.map → p-2a04c00e.entry.js.map} +1 -1
  484. package/{www/build/p-1fd1cf02.entry.js → dist/web-components-library/p-2bba665d.entry.js} +2 -2
  485. package/dist/web-components-library/{p-5a1f98a2.entry.js → p-2f45f1ff.entry.js} +2 -2
  486. package/dist/web-components-library/{p-86160fe3.entry.js → p-332e0361.entry.js} +2 -2
  487. package/{www/build/p-4cec3345.entry.js → dist/web-components-library/p-3d02ad75.entry.js} +2 -2
  488. package/dist/web-components-library/{p-240de9aa.entry.js → p-3f66654f.entry.js} +2 -2
  489. package/{www/build/p-8c164e0d.entry.js → dist/web-components-library/p-41891d34.entry.js} +2 -2
  490. package/{www/build/p-19f5b6a9.entry.js → dist/web-components-library/p-47b7bc63.entry.js} +2 -2
  491. package/dist/web-components-library/{p-ceeb3e2a.entry.js → p-4df66afe.entry.js} +2 -2
  492. package/{www/build/p-748fa3ae.js → dist/web-components-library/p-54cd104c.js} +2 -2
  493. package/dist/web-components-library/p-577c224d.entry.js +2 -0
  494. package/dist/web-components-library/p-577c224d.entry.js.map +1 -0
  495. package/dist/web-components-library/{p-01f941c2.entry.js → p-57dcff49.entry.js} +2 -2
  496. package/{www/build/p-2aeffcf9.entry.js → dist/web-components-library/p-5838b77c.entry.js} +2 -2
  497. package/dist/web-components-library/{p-4551b0df.entry.js → p-5cdd431e.entry.js} +2 -2
  498. package/dist/web-components-library/{p-f19f12b1.js → p-5f1e17cb.js} +2 -2
  499. package/{www/build/p-c778bf87.entry.js → dist/web-components-library/p-5fda8769.entry.js} +3 -3
  500. package/dist/web-components-library/{p-4affbb99.entry.js → p-661bce1c.entry.js} +2 -2
  501. package/dist/web-components-library/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  502. package/dist/web-components-library/p-6c3d141b.entry.js +2 -0
  503. package/{www/build/p-b7b972c0.entry.js → dist/web-components-library/p-6d61933f.entry.js} +2 -2
  504. package/dist/web-components-library/{p-44459393.entry.js → p-6ef58a14.entry.js} +2 -2
  505. package/dist/web-components-library/{p-a905df88.entry.js → p-71f62226.entry.js} +2 -2
  506. package/dist/web-components-library/p-76003048.entry.js +2 -0
  507. package/dist/web-components-library/p-76003048.entry.js.map +1 -0
  508. package/dist/web-components-library/{p-d7f12672.js → p-80285500.js} +2 -2
  509. package/dist/web-components-library/p-80ddecaf.entry.js +2 -0
  510. package/dist/web-components-library/p-83a26e88.entry.js +2 -0
  511. package/{www/build/p-99210133.entry.js.map → dist/web-components-library/p-83a26e88.entry.js.map} +1 -1
  512. package/dist/web-components-library/p-8503c87a.entry.js +2 -0
  513. package/dist/web-components-library/p-8503c87a.entry.js.map +1 -0
  514. package/dist/web-components-library/p-86618221.js +2 -0
  515. package/dist/web-components-library/p-86618221.js.map +1 -0
  516. package/{www/build/p-b96900bb.entry.js → dist/web-components-library/p-87edcc75.entry.js} +2 -2
  517. package/dist/web-components-library/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  518. package/dist/web-components-library/p-8aaceeed.entry.js +2 -0
  519. package/dist/web-components-library/p-8aaceeed.entry.js.map +1 -0
  520. package/dist/web-components-library/{p-d6a7b7f3.entry.js → p-8b562dca.entry.js} +2 -2
  521. package/dist/web-components-library/p-901518b8.entry.js +2 -0
  522. package/dist/web-components-library/{p-2f948bac.entry.js → p-90690d4d.entry.js} +2 -2
  523. package/dist/web-components-library/{p-0a49dd1c.entry.js → p-90babaaa.entry.js} +2 -2
  524. package/{www/build/p-0a49dd1c.entry.js.map → dist/web-components-library/p-90babaaa.entry.js.map} +1 -1
  525. package/dist/web-components-library/p-9af837bb.entry.js +2 -0
  526. package/dist/web-components-library/{p-04f80811.entry.js → p-9eba4a37.entry.js} +2 -2
  527. package/dist/web-components-library/p-a32ebcc3.entry.js +2 -0
  528. package/dist/web-components-library/{p-3f5aa623.entry.js → p-a3f9a5da.entry.js} +2 -2
  529. package/dist/web-components-library/p-a3f9a5da.entry.js.map +1 -0
  530. package/{www/build/p-1844a4f4.entry.js → dist/web-components-library/p-b0324c7d.entry.js} +2 -2
  531. package/dist/web-components-library/p-b06af2fc.js +2 -0
  532. package/{www/build/p-817689d5.entry.js → dist/web-components-library/p-b1f2388a.entry.js} +3 -3
  533. package/dist/web-components-library/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  534. package/dist/web-components-library/{p-fb232d07.entry.js → p-b4b264b1.entry.js} +2 -2
  535. package/dist/web-components-library/{p-1c7550f9.entry.js → p-b70ff542.entry.js} +2 -2
  536. package/{www/build/p-b63c8e8b.entry.js → dist/web-components-library/p-b854cc3d.entry.js} +2 -2
  537. package/dist/web-components-library/{p-e9e2ceb4.entry.js → p-bc15e1dc.entry.js} +2 -2
  538. package/dist/web-components-library/{p-4a257653.entry.js → p-c03767a4.entry.js} +2 -2
  539. package/dist/web-components-library/{p-2bdac94e.entry.js → p-c0b4f29d.entry.js} +2 -2
  540. package/dist/web-components-library/{p-7a4f6a5b.entry.js → p-c57bb632.entry.js} +2 -2
  541. package/dist/web-components-library/p-c5e032de.entry.js +2 -0
  542. package/dist/web-components-library/p-c5e032de.entry.js.map +1 -0
  543. package/{www/build/p-34975328.entry.js → dist/web-components-library/p-c645dc11.entry.js} +2 -2
  544. package/dist/web-components-library/p-c93c6135.entry.js +2 -0
  545. package/dist/web-components-library/{p-deb7f8d7.entry.js.map → p-c93c6135.entry.js.map} +1 -1
  546. package/dist/web-components-library/{p-30e42fb1.js → p-cb395500.js} +2 -2
  547. package/dist/web-components-library/{p-5989465b.entry.js → p-cc87d814.entry.js} +2 -2
  548. package/{www/build/p-e3b82454.entry.js → dist/web-components-library/p-d1fe7960.entry.js} +2 -2
  549. package/dist/web-components-library/{p-5159edb1.entry.js → p-d5ebbfdf.entry.js} +2 -2
  550. package/dist/web-components-library/p-d65aeb54.entry.js +2 -0
  551. package/dist/web-components-library/{p-e0b88075.entry.js → p-dba260f2.entry.js} +2 -2
  552. package/dist/web-components-library/{p-943db3a8.entry.js → p-ddae9016.entry.js} +2 -2
  553. package/dist/web-components-library/p-de313d96.entry.js +2 -0
  554. package/dist/web-components-library/{p-375f8542.entry.js → p-e38a5dd2.entry.js} +2 -2
  555. package/dist/web-components-library/p-eb15536d.js +2 -0
  556. package/dist/web-components-library/p-eb15536d.js.map +1 -0
  557. package/{www/build/p-f4bac89b.entry.js → dist/web-components-library/p-eb9161bc.entry.js} +2 -2
  558. package/dist/web-components-library/p-ec2a0b31.js +2 -0
  559. package/{www/build/p-030257b3.js.map → dist/web-components-library/p-ec2a0b31.js.map} +1 -1
  560. package/dist/web-components-library/p-f0022852.entry.js +2 -0
  561. package/dist/web-components-library/p-f0022852.entry.js.map +1 -0
  562. package/dist/web-components-library/{p-8687691b.entry.js → p-f0f53bb2.entry.js} +2 -2
  563. package/dist/web-components-library/p-f79010de.js +2 -0
  564. package/dist/web-components-library/p-f8e95a75.entry.js +2 -0
  565. package/dist/web-components-library/p-f8e95a75.entry.js.map +1 -0
  566. package/dist/web-components-library/web-components-library.esm.js +1 -1
  567. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  568. package/package.json +3 -3
  569. package/react/components.d.ts +1 -0
  570. package/react/components.js +3 -2
  571. package/react/components.js.map +1 -1
  572. package/www/build/index.esm.js +1 -1
  573. package/www/build/index.esm.js.map +1 -1
  574. package/{dist/web-components-library/p-5a24e268.entry.js → www/build/p-03a558ef.entry.js} +2 -2
  575. package/www/build/p-061e28d6.js +2 -0
  576. package/www/build/p-061e28d6.js.map +1 -0
  577. package/www/build/p-0989655c.entry.js +2 -0
  578. package/www/build/p-0989655c.entry.js.map +1 -0
  579. package/www/build/p-102f6e37.entry.js +2 -0
  580. package/www/build/p-102f6e37.entry.js.map +1 -0
  581. package/www/build/{p-d9c9de15.entry.js → p-15951fc6.entry.js} +2 -2
  582. package/www/build/p-17e2fed2.entry.js +2 -0
  583. package/www/build/{p-b7ec2cc4.entry.js → p-19172b2c.entry.js} +2 -2
  584. package/{dist/web-components-library/p-94916bdf.entry.js → www/build/p-1939116a.entry.js} +2 -2
  585. package/www/build/{p-b71a3f69.entry.js → p-1e0d85d5.entry.js} +2 -2
  586. package/www/build/{p-bdbcf353.entry.js → p-215b1fa5.entry.js} +2 -2
  587. package/www/build/p-22b683a3.entry.js +2 -0
  588. package/www/build/p-22b683a3.entry.js.map +1 -0
  589. package/www/build/p-2a04c00e.entry.js +2 -0
  590. package/www/build/{p-816fd6dc.entry.js.map → p-2a04c00e.entry.js.map} +1 -1
  591. package/{dist/web-components-library/p-1fd1cf02.entry.js → www/build/p-2bba665d.entry.js} +2 -2
  592. package/www/build/{p-5a1f98a2.entry.js → p-2f45f1ff.entry.js} +2 -2
  593. package/www/build/{p-86160fe3.entry.js → p-332e0361.entry.js} +2 -2
  594. package/{dist/web-components-library/p-4cec3345.entry.js → www/build/p-3d02ad75.entry.js} +2 -2
  595. package/www/build/{p-240de9aa.entry.js → p-3f66654f.entry.js} +2 -2
  596. package/{dist/web-components-library/p-8c164e0d.entry.js → www/build/p-41891d34.entry.js} +2 -2
  597. package/{dist/web-components-library/p-19f5b6a9.entry.js → www/build/p-47b7bc63.entry.js} +2 -2
  598. package/www/build/{p-ceeb3e2a.entry.js → p-4df66afe.entry.js} +2 -2
  599. package/{dist/web-components-library/p-748fa3ae.js → www/build/p-54cd104c.js} +2 -2
  600. package/www/build/p-577c224d.entry.js +2 -0
  601. package/www/build/p-577c224d.entry.js.map +1 -0
  602. package/www/build/{p-01f941c2.entry.js → p-57dcff49.entry.js} +2 -2
  603. package/{dist/web-components-library/p-2aeffcf9.entry.js → www/build/p-5838b77c.entry.js} +2 -2
  604. package/www/build/{p-4551b0df.entry.js → p-5cdd431e.entry.js} +2 -2
  605. package/www/build/{p-f19f12b1.js → p-5f1e17cb.js} +2 -2
  606. package/{dist/web-components-library/p-c778bf87.entry.js → www/build/p-5fda8769.entry.js} +3 -3
  607. package/www/build/{p-4affbb99.entry.js → p-661bce1c.entry.js} +2 -2
  608. package/www/build/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  609. package/www/build/p-6c3d141b.entry.js +2 -0
  610. package/{dist/web-components-library/p-b7b972c0.entry.js → www/build/p-6d61933f.entry.js} +2 -2
  611. package/www/build/{p-44459393.entry.js → p-6ef58a14.entry.js} +2 -2
  612. package/www/build/{p-a905df88.entry.js → p-71f62226.entry.js} +2 -2
  613. package/www/build/p-76003048.entry.js +2 -0
  614. package/www/build/p-76003048.entry.js.map +1 -0
  615. package/www/build/{p-d7f12672.js → p-80285500.js} +2 -2
  616. package/www/build/p-80ddecaf.entry.js +2 -0
  617. package/www/build/p-83a26e88.entry.js +2 -0
  618. package/{dist/web-components-library/p-99210133.entry.js.map → www/build/p-83a26e88.entry.js.map} +1 -1
  619. package/www/build/p-8503c87a.entry.js +2 -0
  620. package/www/build/p-8503c87a.entry.js.map +1 -0
  621. package/www/build/p-86618221.js +2 -0
  622. package/www/build/p-86618221.js.map +1 -0
  623. package/{dist/web-components-library/p-b96900bb.entry.js → www/build/p-87edcc75.entry.js} +2 -2
  624. package/www/build/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  625. package/www/build/p-8a9e2264.js +2 -0
  626. package/www/build/p-8aaceeed.entry.js +2 -0
  627. package/www/build/p-8aaceeed.entry.js.map +1 -0
  628. package/www/build/{p-d6a7b7f3.entry.js → p-8b562dca.entry.js} +2 -2
  629. package/www/build/p-901518b8.entry.js +2 -0
  630. package/www/build/{p-2f948bac.entry.js → p-90690d4d.entry.js} +2 -2
  631. package/www/build/{p-0a49dd1c.entry.js → p-90babaaa.entry.js} +2 -2
  632. package/{dist/web-components-library/p-0a49dd1c.entry.js.map → www/build/p-90babaaa.entry.js.map} +1 -1
  633. package/www/build/p-9af837bb.entry.js +2 -0
  634. package/www/build/{p-04f80811.entry.js → p-9eba4a37.entry.js} +2 -2
  635. package/www/build/p-a32ebcc3.entry.js +2 -0
  636. package/www/build/{p-3f5aa623.entry.js → p-a3f9a5da.entry.js} +2 -2
  637. package/www/build/p-a3f9a5da.entry.js.map +1 -0
  638. package/{dist/web-components-library/p-1844a4f4.entry.js → www/build/p-b0324c7d.entry.js} +2 -2
  639. package/www/build/p-b06af2fc.js +2 -0
  640. package/{dist/web-components-library/p-817689d5.entry.js → www/build/p-b1f2388a.entry.js} +3 -3
  641. package/www/build/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  642. package/www/build/{p-fb232d07.entry.js → p-b4b264b1.entry.js} +2 -2
  643. package/www/build/{p-1c7550f9.entry.js → p-b70ff542.entry.js} +2 -2
  644. package/{dist/web-components-library/p-b63c8e8b.entry.js → www/build/p-b854cc3d.entry.js} +2 -2
  645. package/www/build/{p-e9e2ceb4.entry.js → p-bc15e1dc.entry.js} +2 -2
  646. package/www/build/{p-4a257653.entry.js → p-c03767a4.entry.js} +2 -2
  647. package/www/build/{p-2bdac94e.entry.js → p-c0b4f29d.entry.js} +2 -2
  648. package/www/build/{p-7a4f6a5b.entry.js → p-c57bb632.entry.js} +2 -2
  649. package/www/build/p-c5e032de.entry.js +2 -0
  650. package/www/build/p-c5e032de.entry.js.map +1 -0
  651. package/{dist/web-components-library/p-34975328.entry.js → www/build/p-c645dc11.entry.js} +2 -2
  652. package/www/build/p-c93c6135.entry.js +2 -0
  653. package/www/build/{p-deb7f8d7.entry.js.map → p-c93c6135.entry.js.map} +1 -1
  654. package/www/build/{p-30e42fb1.js → p-cb395500.js} +2 -2
  655. package/www/build/{p-5989465b.entry.js → p-cc87d814.entry.js} +2 -2
  656. package/{dist/web-components-library/p-e3b82454.entry.js → www/build/p-d1fe7960.entry.js} +2 -2
  657. package/www/build/{p-5159edb1.entry.js → p-d5ebbfdf.entry.js} +2 -2
  658. package/www/build/p-d65aeb54.entry.js +2 -0
  659. package/www/build/{p-e0b88075.entry.js → p-dba260f2.entry.js} +2 -2
  660. package/www/build/{p-943db3a8.entry.js → p-ddae9016.entry.js} +2 -2
  661. package/www/build/p-de313d96.entry.js +2 -0
  662. package/www/build/{p-375f8542.entry.js → p-e38a5dd2.entry.js} +2 -2
  663. package/www/build/p-eb15536d.js +2 -0
  664. package/www/build/p-eb15536d.js.map +1 -0
  665. package/{dist/web-components-library/p-f4bac89b.entry.js → www/build/p-eb9161bc.entry.js} +2 -2
  666. package/www/build/p-ec2a0b31.js +2 -0
  667. package/{dist/web-components-library/p-030257b3.js.map → www/build/p-ec2a0b31.js.map} +1 -1
  668. package/www/build/p-f0022852.entry.js +2 -0
  669. package/www/build/p-f0022852.entry.js.map +1 -0
  670. package/www/build/{p-8687691b.entry.js → p-f0f53bb2.entry.js} +2 -2
  671. package/www/build/p-f79010de.js +2 -0
  672. package/www/build/p-f8e95a75.entry.js +2 -0
  673. package/www/build/p-f8e95a75.entry.js.map +1 -0
  674. package/www/build/web-components-library.esm.js +1 -1
  675. package/www/build/web-components-library.esm.js.map +1 -1
  676. package/www/index.html +1 -1
  677. package/dist/cjs/index-97a4c18d.js.map +0 -1
  678. package/dist/cjs/utils-5148245a.js.map +0 -1
  679. package/dist/esm/index-2a6324f8.js.map +0 -1
  680. package/dist/esm/utils-e66d94c3.js.map +0 -1
  681. package/dist/web-components-library/p-030257b3.js +0 -2
  682. package/dist/web-components-library/p-1170826b.js +0 -2
  683. package/dist/web-components-library/p-17af7fb2.js +0 -2
  684. package/dist/web-components-library/p-17af7fb2.js.map +0 -1
  685. package/dist/web-components-library/p-17e1abca.entry.js +0 -2
  686. package/dist/web-components-library/p-17e1abca.entry.js.map +0 -1
  687. package/dist/web-components-library/p-198b1692.entry.js +0 -2
  688. package/dist/web-components-library/p-22128478.entry.js +0 -2
  689. package/dist/web-components-library/p-22128478.entry.js.map +0 -1
  690. package/dist/web-components-library/p-22ba2a17.entry.js +0 -2
  691. package/dist/web-components-library/p-22ba2a17.entry.js.map +0 -1
  692. package/dist/web-components-library/p-237fcaa9.entry.js +0 -2
  693. package/dist/web-components-library/p-2612e3a2.entry.js +0 -2
  694. package/dist/web-components-library/p-2612e3a2.entry.js.map +0 -1
  695. package/dist/web-components-library/p-334cba5d.entry.js +0 -2
  696. package/dist/web-components-library/p-334cba5d.entry.js.map +0 -1
  697. package/dist/web-components-library/p-3f5aa623.entry.js.map +0 -1
  698. package/dist/web-components-library/p-4c9bf42d.js +0 -2
  699. package/dist/web-components-library/p-60e3fa30.entry.js +0 -2
  700. package/dist/web-components-library/p-6cffbabc.entry.js +0 -2
  701. package/dist/web-components-library/p-6cffbabc.entry.js.map +0 -1
  702. package/dist/web-components-library/p-816fd6dc.entry.js +0 -2
  703. package/dist/web-components-library/p-99210133.entry.js +0 -2
  704. package/dist/web-components-library/p-9e3da0b7.entry.js +0 -2
  705. package/dist/web-components-library/p-bc7fd8af.entry.js +0 -2
  706. package/dist/web-components-library/p-bc7fd8af.entry.js.map +0 -1
  707. package/dist/web-components-library/p-cc18a2b7.entry.js +0 -2
  708. package/dist/web-components-library/p-cc18a2b7.entry.js.map +0 -1
  709. package/dist/web-components-library/p-d2035d26.entry.js +0 -2
  710. package/dist/web-components-library/p-d75f8bbb.entry.js +0 -2
  711. package/dist/web-components-library/p-d90d2698.entry.js +0 -2
  712. package/dist/web-components-library/p-deb7f8d7.entry.js +0 -2
  713. package/dist/web-components-library/p-e5407cc1.entry.js +0 -2
  714. package/dist/web-components-library/p-e6778114.js +0 -2
  715. package/dist/web-components-library/p-e6778114.js.map +0 -1
  716. package/dist/web-components-library/p-f5dfd04d.entry.js +0 -2
  717. package/dist/web-components-library/p-f5dfd04d.entry.js.map +0 -1
  718. package/www/build/p-030257b3.js +0 -2
  719. package/www/build/p-0aba9c42.js +0 -2
  720. package/www/build/p-1170826b.js +0 -2
  721. package/www/build/p-17af7fb2.js +0 -2
  722. package/www/build/p-17af7fb2.js.map +0 -1
  723. package/www/build/p-17e1abca.entry.js +0 -2
  724. package/www/build/p-17e1abca.entry.js.map +0 -1
  725. package/www/build/p-198b1692.entry.js +0 -2
  726. package/www/build/p-22128478.entry.js +0 -2
  727. package/www/build/p-22128478.entry.js.map +0 -1
  728. package/www/build/p-22ba2a17.entry.js +0 -2
  729. package/www/build/p-22ba2a17.entry.js.map +0 -1
  730. package/www/build/p-237fcaa9.entry.js +0 -2
  731. package/www/build/p-2612e3a2.entry.js +0 -2
  732. package/www/build/p-2612e3a2.entry.js.map +0 -1
  733. package/www/build/p-334cba5d.entry.js +0 -2
  734. package/www/build/p-334cba5d.entry.js.map +0 -1
  735. package/www/build/p-3f5aa623.entry.js.map +0 -1
  736. package/www/build/p-4c9bf42d.js +0 -2
  737. package/www/build/p-60e3fa30.entry.js +0 -2
  738. package/www/build/p-6cffbabc.entry.js +0 -2
  739. package/www/build/p-6cffbabc.entry.js.map +0 -1
  740. package/www/build/p-816fd6dc.entry.js +0 -2
  741. package/www/build/p-99210133.entry.js +0 -2
  742. package/www/build/p-9e3da0b7.entry.js +0 -2
  743. package/www/build/p-bc7fd8af.entry.js +0 -2
  744. package/www/build/p-bc7fd8af.entry.js.map +0 -1
  745. package/www/build/p-cc18a2b7.entry.js +0 -2
  746. package/www/build/p-cc18a2b7.entry.js.map +0 -1
  747. package/www/build/p-d2035d26.entry.js +0 -2
  748. package/www/build/p-d75f8bbb.entry.js +0 -2
  749. package/www/build/p-d90d2698.entry.js +0 -2
  750. package/www/build/p-deb7f8d7.entry.js +0 -2
  751. package/www/build/p-e5407cc1.entry.js +0 -2
  752. package/www/build/p-e6778114.js +0 -2
  753. package/www/build/p-e6778114.js.map +0 -1
  754. package/www/build/p-f5dfd04d.entry.js +0 -2
  755. package/www/build/p-f5dfd04d.entry.js.map +0 -1
  756. /package/dist/web-components-library/{p-5a24e268.entry.js.map → p-03a558ef.entry.js.map} +0 -0
  757. /package/dist/web-components-library/{p-d9c9de15.entry.js.map → p-15951fc6.entry.js.map} +0 -0
  758. /package/dist/web-components-library/{p-237fcaa9.entry.js.map → p-17e2fed2.entry.js.map} +0 -0
  759. /package/dist/web-components-library/{p-b7ec2cc4.entry.js.map → p-19172b2c.entry.js.map} +0 -0
  760. /package/dist/web-components-library/{p-94916bdf.entry.js.map → p-1939116a.entry.js.map} +0 -0
  761. /package/dist/web-components-library/{p-b71a3f69.entry.js.map → p-1e0d85d5.entry.js.map} +0 -0
  762. /package/dist/web-components-library/{p-bdbcf353.entry.js.map → p-215b1fa5.entry.js.map} +0 -0
  763. /package/dist/web-components-library/{p-1fd1cf02.entry.js.map → p-2bba665d.entry.js.map} +0 -0
  764. /package/dist/web-components-library/{p-5a1f98a2.entry.js.map → p-2f45f1ff.entry.js.map} +0 -0
  765. /package/dist/web-components-library/{p-86160fe3.entry.js.map → p-332e0361.entry.js.map} +0 -0
  766. /package/dist/web-components-library/{p-4cec3345.entry.js.map → p-3d02ad75.entry.js.map} +0 -0
  767. /package/dist/web-components-library/{p-240de9aa.entry.js.map → p-3f66654f.entry.js.map} +0 -0
  768. /package/dist/web-components-library/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  769. /package/dist/web-components-library/{p-19f5b6a9.entry.js.map → p-47b7bc63.entry.js.map} +0 -0
  770. /package/dist/web-components-library/{p-ceeb3e2a.entry.js.map → p-4df66afe.entry.js.map} +0 -0
  771. /package/dist/web-components-library/{p-748fa3ae.js.map → p-54cd104c.js.map} +0 -0
  772. /package/dist/web-components-library/{p-01f941c2.entry.js.map → p-57dcff49.entry.js.map} +0 -0
  773. /package/dist/web-components-library/{p-2aeffcf9.entry.js.map → p-5838b77c.entry.js.map} +0 -0
  774. /package/dist/web-components-library/{p-4551b0df.entry.js.map → p-5cdd431e.entry.js.map} +0 -0
  775. /package/dist/web-components-library/{p-f19f12b1.js.map → p-5f1e17cb.js.map} +0 -0
  776. /package/dist/web-components-library/{p-c778bf87.entry.js.map → p-5fda8769.entry.js.map} +0 -0
  777. /package/dist/web-components-library/{p-4affbb99.entry.js.map → p-661bce1c.entry.js.map} +0 -0
  778. /package/dist/web-components-library/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  779. /package/dist/web-components-library/{p-9e3da0b7.entry.js.map → p-6c3d141b.entry.js.map} +0 -0
  780. /package/dist/web-components-library/{p-b7b972c0.entry.js.map → p-6d61933f.entry.js.map} +0 -0
  781. /package/dist/web-components-library/{p-44459393.entry.js.map → p-6ef58a14.entry.js.map} +0 -0
  782. /package/dist/web-components-library/{p-a905df88.entry.js.map → p-71f62226.entry.js.map} +0 -0
  783. /package/dist/web-components-library/{p-d7f12672.js.map → p-80285500.js.map} +0 -0
  784. /package/dist/web-components-library/{p-198b1692.entry.js.map → p-80ddecaf.entry.js.map} +0 -0
  785. /package/dist/web-components-library/{p-b96900bb.entry.js.map → p-87edcc75.entry.js.map} +0 -0
  786. /package/dist/web-components-library/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  787. /package/dist/web-components-library/{p-d6a7b7f3.entry.js.map → p-8b562dca.entry.js.map} +0 -0
  788. /package/dist/web-components-library/{p-d2035d26.entry.js.map → p-901518b8.entry.js.map} +0 -0
  789. /package/dist/web-components-library/{p-2f948bac.entry.js.map → p-90690d4d.entry.js.map} +0 -0
  790. /package/dist/web-components-library/{p-d75f8bbb.entry.js.map → p-9af837bb.entry.js.map} +0 -0
  791. /package/dist/web-components-library/{p-04f80811.entry.js.map → p-9eba4a37.entry.js.map} +0 -0
  792. /package/dist/web-components-library/{p-d90d2698.entry.js.map → p-a32ebcc3.entry.js.map} +0 -0
  793. /package/dist/web-components-library/{p-1844a4f4.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  794. /package/dist/web-components-library/{p-4c9bf42d.js.map → p-b06af2fc.js.map} +0 -0
  795. /package/dist/web-components-library/{p-817689d5.entry.js.map → p-b1f2388a.entry.js.map} +0 -0
  796. /package/dist/web-components-library/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  797. /package/dist/web-components-library/{p-fb232d07.entry.js.map → p-b4b264b1.entry.js.map} +0 -0
  798. /package/dist/web-components-library/{p-1c7550f9.entry.js.map → p-b70ff542.entry.js.map} +0 -0
  799. /package/dist/web-components-library/{p-b63c8e8b.entry.js.map → p-b854cc3d.entry.js.map} +0 -0
  800. /package/dist/web-components-library/{p-e9e2ceb4.entry.js.map → p-bc15e1dc.entry.js.map} +0 -0
  801. /package/dist/web-components-library/{p-4a257653.entry.js.map → p-c03767a4.entry.js.map} +0 -0
  802. /package/dist/web-components-library/{p-2bdac94e.entry.js.map → p-c0b4f29d.entry.js.map} +0 -0
  803. /package/dist/web-components-library/{p-7a4f6a5b.entry.js.map → p-c57bb632.entry.js.map} +0 -0
  804. /package/dist/web-components-library/{p-34975328.entry.js.map → p-c645dc11.entry.js.map} +0 -0
  805. /package/dist/web-components-library/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  806. /package/dist/web-components-library/{p-5989465b.entry.js.map → p-cc87d814.entry.js.map} +0 -0
  807. /package/dist/web-components-library/{p-e3b82454.entry.js.map → p-d1fe7960.entry.js.map} +0 -0
  808. /package/dist/web-components-library/{p-5159edb1.entry.js.map → p-d5ebbfdf.entry.js.map} +0 -0
  809. /package/dist/web-components-library/{p-e5407cc1.entry.js.map → p-d65aeb54.entry.js.map} +0 -0
  810. /package/dist/web-components-library/{p-e0b88075.entry.js.map → p-dba260f2.entry.js.map} +0 -0
  811. /package/dist/web-components-library/{p-943db3a8.entry.js.map → p-ddae9016.entry.js.map} +0 -0
  812. /package/dist/web-components-library/{p-60e3fa30.entry.js.map → p-de313d96.entry.js.map} +0 -0
  813. /package/dist/web-components-library/{p-375f8542.entry.js.map → p-e38a5dd2.entry.js.map} +0 -0
  814. /package/dist/web-components-library/{p-f4bac89b.entry.js.map → p-eb9161bc.entry.js.map} +0 -0
  815. /package/dist/web-components-library/{p-8687691b.entry.js.map → p-f0f53bb2.entry.js.map} +0 -0
  816. /package/dist/web-components-library/{p-1170826b.js.map → p-f79010de.js.map} +0 -0
  817. /package/www/build/{p-5a24e268.entry.js.map → p-03a558ef.entry.js.map} +0 -0
  818. /package/www/build/{p-d9c9de15.entry.js.map → p-15951fc6.entry.js.map} +0 -0
  819. /package/www/build/{p-237fcaa9.entry.js.map → p-17e2fed2.entry.js.map} +0 -0
  820. /package/www/build/{p-b7ec2cc4.entry.js.map → p-19172b2c.entry.js.map} +0 -0
  821. /package/www/build/{p-94916bdf.entry.js.map → p-1939116a.entry.js.map} +0 -0
  822. /package/www/build/{p-b71a3f69.entry.js.map → p-1e0d85d5.entry.js.map} +0 -0
  823. /package/www/build/{p-bdbcf353.entry.js.map → p-215b1fa5.entry.js.map} +0 -0
  824. /package/www/build/{p-1fd1cf02.entry.js.map → p-2bba665d.entry.js.map} +0 -0
  825. /package/www/build/{p-5a1f98a2.entry.js.map → p-2f45f1ff.entry.js.map} +0 -0
  826. /package/www/build/{p-86160fe3.entry.js.map → p-332e0361.entry.js.map} +0 -0
  827. /package/www/build/{p-4cec3345.entry.js.map → p-3d02ad75.entry.js.map} +0 -0
  828. /package/www/build/{p-240de9aa.entry.js.map → p-3f66654f.entry.js.map} +0 -0
  829. /package/www/build/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  830. /package/www/build/{p-19f5b6a9.entry.js.map → p-47b7bc63.entry.js.map} +0 -0
  831. /package/www/build/{p-ceeb3e2a.entry.js.map → p-4df66afe.entry.js.map} +0 -0
  832. /package/www/build/{p-748fa3ae.js.map → p-54cd104c.js.map} +0 -0
  833. /package/www/build/{p-01f941c2.entry.js.map → p-57dcff49.entry.js.map} +0 -0
  834. /package/www/build/{p-2aeffcf9.entry.js.map → p-5838b77c.entry.js.map} +0 -0
  835. /package/www/build/{p-4551b0df.entry.js.map → p-5cdd431e.entry.js.map} +0 -0
  836. /package/www/build/{p-f19f12b1.js.map → p-5f1e17cb.js.map} +0 -0
  837. /package/www/build/{p-c778bf87.entry.js.map → p-5fda8769.entry.js.map} +0 -0
  838. /package/www/build/{p-4affbb99.entry.js.map → p-661bce1c.entry.js.map} +0 -0
  839. /package/www/build/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  840. /package/www/build/{p-9e3da0b7.entry.js.map → p-6c3d141b.entry.js.map} +0 -0
  841. /package/www/build/{p-b7b972c0.entry.js.map → p-6d61933f.entry.js.map} +0 -0
  842. /package/www/build/{p-44459393.entry.js.map → p-6ef58a14.entry.js.map} +0 -0
  843. /package/www/build/{p-a905df88.entry.js.map → p-71f62226.entry.js.map} +0 -0
  844. /package/www/build/{p-d7f12672.js.map → p-80285500.js.map} +0 -0
  845. /package/www/build/{p-198b1692.entry.js.map → p-80ddecaf.entry.js.map} +0 -0
  846. /package/www/build/{p-b96900bb.entry.js.map → p-87edcc75.entry.js.map} +0 -0
  847. /package/www/build/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  848. /package/www/build/{p-d6a7b7f3.entry.js.map → p-8b562dca.entry.js.map} +0 -0
  849. /package/www/build/{p-d2035d26.entry.js.map → p-901518b8.entry.js.map} +0 -0
  850. /package/www/build/{p-2f948bac.entry.js.map → p-90690d4d.entry.js.map} +0 -0
  851. /package/www/build/{p-d75f8bbb.entry.js.map → p-9af837bb.entry.js.map} +0 -0
  852. /package/www/build/{p-04f80811.entry.js.map → p-9eba4a37.entry.js.map} +0 -0
  853. /package/www/build/{p-d90d2698.entry.js.map → p-a32ebcc3.entry.js.map} +0 -0
  854. /package/www/build/{p-1844a4f4.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  855. /package/www/build/{p-4c9bf42d.js.map → p-b06af2fc.js.map} +0 -0
  856. /package/www/build/{p-817689d5.entry.js.map → p-b1f2388a.entry.js.map} +0 -0
  857. /package/www/build/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  858. /package/www/build/{p-fb232d07.entry.js.map → p-b4b264b1.entry.js.map} +0 -0
  859. /package/www/build/{p-1c7550f9.entry.js.map → p-b70ff542.entry.js.map} +0 -0
  860. /package/www/build/{p-b63c8e8b.entry.js.map → p-b854cc3d.entry.js.map} +0 -0
  861. /package/www/build/{p-e9e2ceb4.entry.js.map → p-bc15e1dc.entry.js.map} +0 -0
  862. /package/www/build/{p-4a257653.entry.js.map → p-c03767a4.entry.js.map} +0 -0
  863. /package/www/build/{p-2bdac94e.entry.js.map → p-c0b4f29d.entry.js.map} +0 -0
  864. /package/www/build/{p-7a4f6a5b.entry.js.map → p-c57bb632.entry.js.map} +0 -0
  865. /package/www/build/{p-34975328.entry.js.map → p-c645dc11.entry.js.map} +0 -0
  866. /package/www/build/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  867. /package/www/build/{p-5989465b.entry.js.map → p-cc87d814.entry.js.map} +0 -0
  868. /package/www/build/{p-e3b82454.entry.js.map → p-d1fe7960.entry.js.map} +0 -0
  869. /package/www/build/{p-5159edb1.entry.js.map → p-d5ebbfdf.entry.js.map} +0 -0
  870. /package/www/build/{p-e5407cc1.entry.js.map → p-d65aeb54.entry.js.map} +0 -0
  871. /package/www/build/{p-e0b88075.entry.js.map → p-dba260f2.entry.js.map} +0 -0
  872. /package/www/build/{p-943db3a8.entry.js.map → p-ddae9016.entry.js.map} +0 -0
  873. /package/www/build/{p-60e3fa30.entry.js.map → p-de313d96.entry.js.map} +0 -0
  874. /package/www/build/{p-375f8542.entry.js.map → p-e38a5dd2.entry.js.map} +0 -0
  875. /package/www/build/{p-f4bac89b.entry.js.map → p-eb9161bc.entry.js.map} +0 -0
  876. /package/www/build/{p-8687691b.entry.js.map → p-f0f53bb2.entry.js.map} +0 -0
  877. /package/www/build/{p-1170826b.js.map → p-f79010de.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as o,h as e}from"./p-75c4a726.js";const r=":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 d=r;const t=class{constructor(e){o(this,e)}render(){return e("div",{key:"4376492df8f4ac40ddb747fbb84702d7306a087d"},e("footer",{key:"65ad57d32ecfa342c12900d2341c120fb2b13287"},e("div",{key:"a76dc6bd6b6e0702a0290f19226a5545993b8d87",class:"top"},e("slot",{key:"bce482d729d4f3d3e74eee129994e7d4593e6c8e",name:"top"})),e("div",{key:"8e440e41d186ffc5673bf0dcf0dc99fff504c043",class:"bottom"},e("slot",{key:"8b685dd25a9049c960aa2272ced67556a3490654",name:"bottom"}))))}};t.style=d;export{t as z_myz_card_footer_sections};
2
- //# sourceMappingURL=p-198b1692.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as o,h as t}from"./p-75c4a726.js";import{P as e}from"./p-17af7fb2.js";const r=":host{--z-tooltip-theme--surface:var(--color-surface01);--z-tooltip-theme--text:var(--color-default-text);--z-tooltip-shadow-filter:drop-shadow(0 1px 2px var(--shadow-color-base));--z-tooltip-padding:var(--space-unit)}z-popover{--z-popover-theme--surface:var(--z-tooltip-theme--surface);--z-popover-theme--text:var(--z-tooltip-theme--text);--z-popover-padding:var(--z-tooltip-padding);--z-popover-shadow-filter:var(--z-tooltip-shadow-filter)}:host([dark]) z-popover{--z-popover-theme--surface:var(--color-surface05);--z-popover-theme--text:var(--color-text-inverse)}";const s=r;const a=class{constructor(t){o(this,t);this.position=e.AUTO;this.dark=false;this.open=false;this.bindTo=undefined;this.closable=true}onPopoverOpenChange(){this.open=this.popoverEl.open}render(){return t("z-popover",{key:"fe8da17a58d70db3756fb35f8230d95b4546ee8a",ref:o=>this.popoverEl=o,bindTo:this.bindTo,open:this.open,position:this.position,closable:this.closable,center:true,showArrow:true},t("slot",{key:"cc8f284849ce1a08a6fdbe2b521006babd87de24"}))}};a.style=s;export{a as z_tooltip};
2
- //# sourceMappingURL=p-22128478.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZTooltipStyle0","ZTooltip","PopoverPosition","AUTO","onPopoverOpenChange","this","open","popoverEl","render","h","key","ref","el","bindTo","position","closable","center","showArrow"],"sources":["src/components/z-tooltip/styles.css?tag=z-tooltip&encapsulation=shadow","src/components/z-tooltip/index.tsx"],"sourcesContent":[":host {\n --z-tooltip-theme--surface: var(--color-surface01);\n --z-tooltip-theme--text: var(--color-default-text);\n --z-tooltip-shadow-filter: drop-shadow(0 1px 2px var(--shadow-color-base));\n --z-tooltip-padding: var(--space-unit);\n}\n\nz-popover {\n --z-popover-theme--surface: var(--z-tooltip-theme--surface);\n --z-popover-theme--text: var(--z-tooltip-theme--text);\n --z-popover-padding: var(--z-tooltip-padding);\n --z-popover-shadow-filter: var(--z-tooltip-shadow-filter);\n}\n\n:host([dark]) z-popover {\n --z-popover-theme--surface: var(--color-surface05);\n --z-popover-theme--text: var(--color-text-inverse);\n}\n","import {Component, Listen, Prop, h} from \"@stencil/core\";\nimport {PopoverPosition} from \"../../beans\";\n\n/**\n * Tooltip component.\n * It is basically a wrapper for the `<z-popover>` component with custom configuration.\n *\n * @cssprop --z-tooltip-theme--surface - background color of the popover.\n * @cssprop --z-tooltip-theme--text - foreground color of the popover.\n * @cssprop --z-tooltip-shadow-filter - drop-shadow filter of the popover.\n */\n@Component({\n tag: \"z-tooltip\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTooltip {\n /** Tooltip position. */\n @Prop({reflect: true})\n position: PopoverPosition = PopoverPosition.AUTO;\n\n /** Enable tooltip dark mode. */\n @Prop({reflect: true})\n dark = false;\n\n /**\n * The open state of the tooltip.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the tooltip.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /**\n * Reflects `closable` prop of the popover.\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 private popoverEl: HTMLZPopoverElement;\n\n @Listen(\"openChange\")\n onPopoverOpenChange(): void {\n this.open = this.popoverEl.open;\n }\n\n render(): HTMLZPopoverElement {\n return (\n <z-popover\n ref={(el) => (this.popoverEl = el as HTMLZPopoverElement)}\n bindTo={this.bindTo}\n open={this.open}\n position={this.position}\n closable={this.closable}\n center\n showArrow\n >\n <slot></slot>\n </z-popover>\n );\n }\n}\n"],"mappings":"+EAAA,MAAMA,EAAY,yjBAClB,MAAAC,EAAeD,E,MCeFE,EAAQ,M,uCAGSC,EAAgBC,K,UAIrC,M,UAMA,M,oCAcI,I,CAKX,mBAAAC,GACEC,KAAKC,KAAOD,KAAKE,UAAUD,I,CAG7B,MAAAE,GACE,OACEC,EAAA,aAAAC,IAAA,2CACEC,IAAMC,GAAQP,KAAKE,UAAYK,EAC/BC,OAAQR,KAAKQ,OACbP,KAAMD,KAAKC,KACXQ,SAAUT,KAAKS,SACfC,SAAUV,KAAKU,SACfC,OAAM,KACNC,UAAS,MAETR,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,g as o}from"./p-75c4a726.js";import{I as s,e as a,i as r,g as n,l}from"./p-17af7fb2.js";import{r as c,d as h}from"./p-e6778114.js";import"./p-5145a606.js";const d='.z-label{display:block;padding-bottom:var(--space-unit);color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--font-sb);text-align:left;text-transform:uppercase}:host{display:block;color:var(--color-form-default-text);fill:var(--color-form-default-icon);font-family:var(--font-family-sans)}:host>div.fixed{position:relative}:host>div>.header{position:relative;z-index:10;display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 calc(var(--space-unit) * 1.5);border:var(--border-size-small) solid var(--color-form-surface04);margin:0;background-color:var(--color-form-background);border-radius:var(--border-radius-small);cursor:pointer}:host([size="small"])>div>.header{min-height:34px;font-size:var(--font-size-2)}:host([size="x-small"])>div>.header{min-height:30px;font-size:var(--font-size-2)}:host>div>.header:hover{outline:var(--border-size-medium) solid var(--color-form-surface04);outline-offset:-2px}:host>div>div.header:focus:focus-visible{z-index:16;box-shadow:var(--shadow-focus-primary);outline:none}:host>div>.header>span.body-3>span{font-weight:var(--font-sb)}:host>div>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(360deg);transition:all 200ms linear}:host>div>.header>z-icon.small,:host>div>.header>z-icon.x-small{--z-icon-width:16px;--z-icon-height:16px}:host>div.open>.header{border:var(--border-size-small) solid var(--color-form-active-primary);border-radius:var(--border-radius-small) var(--border-radius-small) 0 0}:host>div.disabled{pointer-events:none}:host>div.disabled .header{border-color:var(--color-form-disabled03);fill:var(--color-form-disabled01-icon)}:host>div.disabled .header>span.body-3{color:var(--color-form-disabled03)}:host>div.disabled .header>z-icon:last-child{fill:var(--color-form-disabled01-icon)}:host>div.open>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(180deg);transition:all 200ms linear}:host>div>div.open-combo-data{display:none}:host>div.open>div.open-combo-data{position:relative;z-index:12;display:block;padding:var(--space-unit) calc(var(--space-unit) * 2);border:var(--border-size-small) solid var(--color-form-surface03);border-top:0;background-color:var(--color-form-background);border-radius:0;box-shadow:var(--shadow-2)}:host .open .open-combo-data z-input .z-label{color:var(--color-form-default-text)}:host>div.open>div.open-combo-data>div>div{overflow:auto;max-height:235px;padding:0;padding-left:var(--space-unit);margin-left:calc(var(--space-unit) * -1);}:host>div.open>div.open-combo-data>z-input{width:100%;margin-bottom:calc(var(--space-unit) * 2)}:host>div.open>div.open-combo-data>div>div>ul{max-height:235px;padding:0 calc(var(--space-unit) * 0.5);margin:0}:host .open-combo-data z-list-element{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-form-surface03);--background-active-color-list-element:var(--color-form-surface03)}::-webkit-scrollbar{width:6px;background:linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px)}::-webkit-scrollbar-thumb{background-color:var(--color-primary01)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}@supports not selector(::-webkit-scrollbar-track){:host{scrollbar-color:var(--color-primary01) transparent}}:host>div.open>z-input{position:relative;z-index:1;width:238px;margin:0 calc(var(--space-unit) * 2);color:var(--color-form-active-primary)}:host>div.open>div.open-combo-data>div>div.search{overflow:hidden;max-height:none;margin-top:0}:host>div.open>div.open-combo-data>div>div.search>ul{overflow:auto;max-height:180px;padding:var(--space-unit) calc(var(--space-unit) * 2)}:host .open .open-combo-data .search .no-results{display:flex;align-items:center;column-gap:var(--space-unit)}:host>.open>.open-combo-data .search .close-search{display:flex;justify-content:center}:host>div.open>div.open-combo-data>div>div.search .close-search>a{display:inline-block;height:44px;color:var(--color-form-active-primary);cursor:pointer;font-size:14px;font-weight:var(--font-sb);line-height:44px;text-align:center;text-transform:uppercase}:host>div.open>div.open-combo-data>div>div.search .close-search>a:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);border-bottom:var(--border-size-small) solid var(--gray800);margin-bottom:var(--space-unit);margin-left:calc(var(--space-unit) * -1);text-align:left}:host([size="small"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5)}:host([size="x-small"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:var(--space-unit) calc(var(--space-unit) * 0.5)}';const p=d;const u=class{watchItems(){this.itemsList=typeof this.items==="string"?JSON.parse(this.items):this.items;this.selectedCounter=this.itemsList.filter((t=>t.checked)).length;this.updateRenderItemsList()}watchSearchValue(){this.filterItems(this.searchValue)}watchCheckboxes(){this.checkboxes.forEach(((t,e)=>t.setAttribute("tabindex",e===0?"0":"-1")))}emitComboboxChange(){this.comboboxChange.emit({id:this.inputid,items:this.itemsList})}constructor(i){t(this,i);this.comboboxChange=e(this,"comboboxChange",7);this.itemsList=[];this.inputType=s.TEXT;this.inputid=`combo-${c()}`;this.items=undefined;this.label=undefined;this.disabled=false;this.hassearch=false;this.searchlabel=undefined;this.searchplaceholder=undefined;this.searchtitle=undefined;this.noresultslabel="Nessun risultato";this.isopen=false;this.isfixed=false;this.hascheckall=false;this.checkalltext="Seleziona tutti";this.uncheckalltext="Deseleziona tutti";this.maxcheckableitems=0;this.hasgroupitems=undefined;this.size=a.BIG;this.searchValue=undefined;this.selectedCounter=undefined;this.renderItemsList=[];this.focusedItemId=undefined;this.checkboxes=[];this.toggleComboBox=this.toggleComboBox.bind(this);this.closeFilterItems=this.closeFilterItems.bind(this)}componentWillLoad(){this.watchItems()}componentWillRender(){this.selectedCounter=this.itemsList.filter((t=>t.checked)).length}componentDidRender(){const t=this.getAllCheckboxes();if(JSON.stringify(t)!==JSON.stringify(this.checkboxes)){this.checkboxes=t}}getItemId(t){return`combo-checkbox-${this.inputid}-${t.id}`}getCheckboxClass(){return`combo-item-checkbox-input-${this.inputid}`}getAllCheckboxes(){return Array.from(this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`))}getControlToListSize(){switch(this.size){case a.X_SMALL:return r.SMALL;case a.SMALL:return r.MEDIUM;default:return r.LARGE}}handleSelectArrowsNavigation(t,e){if(![n.ARROW_DOWN,n.ARROW_UP].includes(t.key)||!this.isopen){return}t.preventDefault();t.stopPropagation();const i=this.element.shadowRoot.querySelector(`#${e}`);const o=this.checkboxes;if(!o.length){return}const s=i?o.indexOf(i):null;const a=0;const r=o.length-1;let l=null;if(t.key===n.ARROW_DOWN){l=s===null||s===r?o[a]:o[s+1]}else if(t.key===n.ARROW_UP){l=s===null||s===a?o[r]:o[s-1]}this.focusComboboxItem(l)}handleHeaderKeyboardEvent(t){if(t.key===n.SPACE){t.preventDefault()}if(t.key===n.ARROW_DOWN&&!this.isopen||t.key===n.ARROW_UP&&this.isopen){this.toggleComboBox()}}handleCheckboxFocus(t){this.focusedItemId=t}focusComboboxItem(t){this.checkboxes.forEach((function(t){t.setAttribute("tabindex","-1")}));t.setAttribute("tabindex","0");t.focus()}updateRenderItemsList(){if(this.searchValue){this.filterItems(this.searchValue)}else{this.resetRenderItemsList()}}resetRenderItemsList(){const t=[];this.itemsList.forEach((e=>{t.push(Object.assign({},e))}));this.renderItemsList=t}filterItems(t){if(!t){return this.closeFilterItems()}this.resetRenderItemsList();this.renderItemsList=this.renderItemsList.filter((e=>{const i=e.name.toUpperCase().indexOf(t.toUpperCase());const o=i+t.length;const s=e.name.substring(0,i)+"<strong>"+e.name.substring(i,o)+"</strong>"+e.name.substring(o,e.name.length);e.name=s;return i>=0}))}checkAll(t=true){this.itemsList=this.itemsList.map((e=>Object.assign(Object.assign({},e),{checked:t})));this.resetRenderItemsList();this.emitComboboxChange()}closeFilterItems(){this.searchValue="";this.resetRenderItemsList()}toggleComboBox(){this.isopen=!this.isopen}getComboboxA11yAttributes(t){const e="combobox";const i=this.isopen?"true":"false";const o=this.isopen?this.focusedItemId:"";const s=`${this.inputid}_list`;if(t){return{role:e,"html-aria-expanded":i,"html-aria-activedescendant":o,"html-aria-controls":s}}return{role:e,"aria-expanded":i,"aria-activedescendant":o,"aria-controls":s}}renderHeader(){return i("div",{class:"header",onClick:()=>this.toggleComboBox(),onKeyDown:t=>{this.handleHeaderKeyboardEvent(t)},onKeyUp:t=>h(t,this.toggleComboBox),role:"button",tabindex:0,"aria-controls":"open-combo-data","aria-expanded":this.isopen?"true":"false"},i("span",{class:"body-3"},this.label,i("span",null,this.selectedCounter>0&&` (${this.selectedCounter})`)),i("z-icon",{name:"caret-down",class:this.size}))}renderContent(){return i("div",{id:"open-combo-data",class:"open-combo-data"},this.hassearch&&this.renderSearchInput(),!this.hassearch?i("span",Object.assign({},this.getComboboxA11yAttributes(false))):null,i("div",{role:"listbox","aria-label":this.label,"aria-multiselectable":"true",id:`${this.inputid}_list`,"aria-owns":Array.from(this.element.shadowRoot.querySelectorAll("[role='option']")).map((t=>t.id)).join(" ")},this.hascheckall&&this.renderCheckAll(),this.renderItems()))}renderItems(){return i("div",{class:this.searchValue&&"search",tabIndex:-1,role:"presentation"},this.renderList(this.renderItemsList))}renderItem(t,e,o){const r=!t.checked&&this.maxcheckableitems&&this.selectedCounter>=this.maxcheckableitems;return i("z-list-element",{id:`option-${t.id}`,htmlTabindex:null,dividerType:e!==o-1?l.ELEMENT:l.NONE,size:this.getControlToListSize(),role:r?"presentation":"option","aria-selected":t.checked?"true":"false"},i("z-input",{type:s.CHECKBOX,checked:t.checked,htmlid:this.getItemId(t),label:t.name,class:this.getCheckboxClass(),disabled:r,size:this.size===a.X_SMALL?a.SMALL:this.size,onKeyDown:e=>this.handleSelectArrowsNavigation(e,this.getItemId(t)),onInputCheck:e=>{this.itemsList=this.itemsList.map((i=>{if(t.id===i.id){i.checked=e.detail.checked}return i}));this.updateRenderItemsList();this.emitComboboxChange()},onInputFocus:t=>this.handleCheckboxFocus(t.detail.id)}))}renderList(t){if(!t){return}if(!t.length&&this.searchValue){return this.renderNoSearchResults()}if(this.hasgroupitems){return this.renderGroups(t)}return i("ul",{role:"presentation"},t.map(((e,i)=>this.renderItem(e,i,t.length))))}renderGroups(t){const e=t.reduce(((e,i,o)=>{var s;const{category:a}=i;const r=this.renderItem(i,o,t.length);e[a]=(s=e[a])!==null&&s!==void 0?s:[];e[a].push(r);return e}),{});const o=Object.entries(e).map((([t,e])=>i("z-list-group",{"divider-type":l.ELEMENT},i("span",{class:"body-3-sb z-list-group-title",slot:"header-title"},t),e.map((t=>t)))));return i("ul",{role:"presentation"},o)}renderNoSearchResults(){return i("div",{class:"no-results"},i("span",null,this.noresultslabel))}renderSearchInput(){return i("z-input",Object.assign({htmlid:`${this.inputid}_search`,label:this.searchlabel,placeholder:this.searchplaceholder,htmltitle:this.searchtitle,type:this.inputType,value:this.searchValue,message:false,size:this.size,"html-aria-autocomplete":"list"},this.getComboboxA11yAttributes(true),{onKeyUp:t=>{if(t.key===n.ESC){this.closeFilterItems()}this.handleSelectArrowsNavigation(t)},onInputChange:t=>{this.searchValue=t.detail.value}}))}renderCheckAll(){if(this.searchValue){return}const t=`combo-checkbox-${this.inputid}-check-all`;const e=this.selectedCounter===this.itemsList.length;return i("div",{class:"check-all-wrapper",id:"option-check-all",role:"option"},i("z-input",{type:s.CHECKBOX,checked:e,htmlid:t,class:this.getCheckboxClass(),label:e?this.uncheckalltext:this.checkalltext,disabled:this.maxcheckableitems&&this.maxcheckableitems<this.itemsList.length,size:this.size===a.X_SMALL?a.SMALL:this.size,onKeyDown:e=>this.handleSelectArrowsNavigation(e,t),onInputCheck:t=>this.checkAll(t.detail.checked),onInputFocus:t=>this.handleCheckboxFocus(t.detail.id)}))}render(){return i("div",{key:"6cb14e4919c53bae374f2c9441b0524a06a4233d","data-action":`combo-${this.inputid}`,class:{open:this.isopen,fixed:this.isfixed,disabled:this.disabled},id:this.inputid},this.renderHeader(),!this.disabled&&this.renderContent())}get element(){return o(this)}static get watchers(){return{items:["watchItems"],searchValue:["watchSearchValue"],checkboxes:["watchCheckboxes"]}}};u.style=p;export{u as z_combobox};
2
- //# sourceMappingURL=p-22ba2a17.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZComboboxStyle0","ZCombobox","watchItems","this","itemsList","items","JSON","parse","selectedCounter","filter","item","checked","length","updateRenderItemsList","watchSearchValue","filterItems","searchValue","watchCheckboxes","checkboxes","forEach","index","setAttribute","emitComboboxChange","comboboxChange","emit","id","inputid","constructor","hostRef","inputType","InputType","TEXT","randomId","ControlSize","BIG","toggleComboBox","bind","closeFilterItems","componentWillLoad","componentWillRender","componentDidRender","getAllCheckboxes","stringify","getItemId","getCheckboxClass","Array","from","element","shadowRoot","querySelectorAll","getControlToListSize","size","X_SMALL","ListSize","SMALL","MEDIUM","LARGE","handleSelectArrowsNavigation","e","currId","KeyboardCode","ARROW_DOWN","ARROW_UP","includes","key","isopen","preventDefault","stopPropagation","currElem","querySelector","currElemIndex","indexOf","firstElemIndex","lastElemIndex","nextElem","focusComboboxItem","handleHeaderKeyboardEvent","ev","SPACE","handleCheckboxFocus","focusedItemId","elem","focus","resetRenderItemsList","renderItemsList","push","Object","assign","value","start","name","toUpperCase","end","newName","substring","checkAll","map","getComboboxA11yAttributes","isZInput","role","ariaExpanded","ariaActivedescendant","ariaControls","renderHeader","h","class","onClick","onKeyDown","onKeyUp","handleKeyboardSubmit","tabindex","label","renderContent","hassearch","renderSearchInput","join","hascheckall","renderCheckAll","renderItems","tabIndex","renderList","renderItem","isDisabled","maxcheckableitems","htmlTabindex","dividerType","ListDividerType","ELEMENT","NONE","type","CHECKBOX","htmlid","disabled","onInputCheck","i","detail","onInputFocus","renderNoSearchResults","hasgroupitems","renderGroups","newData","reduce","group","category","zListItem","_a","listGroups","entries","slot","noresultslabel","searchlabel","placeholder","searchplaceholder","htmltitle","searchtitle","message","ESC","onInputChange","checkAllId","allChecked","uncheckalltext","checkalltext","render","open","fixed","isfixed"],"sources":["src/components/z-combobox/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/index.tsx"],"sourcesContent":["@import \"../css-components/z-label/styles.css\";\n\n:host {\n display: block;\n color: var(--color-form-default-text);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n}\n\n:host > div.fixed {\n position: relative;\n}\n\n:host > div > .header {\n position: relative;\n z-index: 10;\n display: flex;\n min-height: 42px;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--color-form-surface04);\n margin: 0;\n background-color: var(--color-form-background);\n border-radius: var(--border-radius-small);\n cursor: pointer;\n}\n\n:host([size=\"small\"]) > div > .header {\n min-height: 34px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header {\n min-height: 30px;\n font-size: var(--font-size-2);\n}\n\n:host > div > .header:hover {\n outline: var(--border-size-medium) solid var(--color-form-surface04);\n outline-offset: -2px;\n}\n\n:host > div > div.header:focus:focus-visible {\n z-index: 16;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div > .header > span.body-3 > span {\n font-weight: var(--font-sb);\n}\n\n:host > div > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(360deg);\n transition: all 200ms linear;\n}\n\n:host > div > .header > z-icon.small,\n:host > div > .header > z-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host > div.open > .header {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n}\n\n:host > div.disabled {\n pointer-events: none;\n}\n\n:host > div.disabled .header {\n border-color: var(--color-form-disabled03);\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.disabled .header > span.body-3 {\n color: var(--color-form-disabled03);\n}\n\n:host > div.disabled .header > z-icon:last-child {\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.open > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(180deg);\n transition: all 200ms linear;\n}\n\n:host > div > div.open-combo-data {\n display: none;\n}\n\n:host > div.open > div.open-combo-data {\n position: relative;\n z-index: 12;\n display: block;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--color-form-surface03);\n border-top: 0;\n background-color: var(--color-form-background);\n border-radius: 0;\n box-shadow: var(--shadow-2);\n}\n\n:host .open .open-combo-data z-input .z-label {\n color: var(--color-form-default-text);\n}\n\n:host > div.open > div.open-combo-data > div > div {\n overflow: auto;\n max-height: 235px;\n padding: 0;\n padding-left: var(--space-unit); /* padding left and negative margin in order to enable focus */\n margin-left: calc(var(--space-unit) * -1); /* padding left and negative margin in order to enable focus */\n}\n\n:host > div.open > div.open-combo-data > z-input {\n width: 100%;\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div > ul {\n max-height: 235px;\n padding: 0 calc(var(--space-unit) * 0.5); /* needed for checkbox focus shadow */\n margin: 0;\n}\n\n:host .open-combo-data z-list-element {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-form-surface03);\n --background-active-color-list-element: var(--color-form-surface03);\n}\n\n::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(::-webkit-scrollbar-track) {\n :host {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n:host > div.open > z-input {\n position: relative;\n z-index: 1;\n width: 238px;\n margin: 0 calc(var(--space-unit) * 2);\n color: var(--color-form-active-primary);\n}\n\n:host > div.open > div.open-combo-data > div > div.search {\n overflow: hidden;\n max-height: none;\n margin-top: 0;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > ul {\n overflow: auto;\n max-height: 180px;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host .open .open-combo-data .search .no-results {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n}\n\n:host > .open > .open-combo-data .search .close-search {\n display: flex;\n justify-content: center;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a {\n display: inline-block;\n height: 44px;\n color: var(--color-form-active-primary);\n cursor: pointer;\n font-size: 14px;\n font-weight: var(--font-sb);\n line-height: 44px;\n text-align: center;\n text-transform: uppercase;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div.open > div.open-combo-data > div > div.check-all-wrapper {\n /* padding left and negative margin in order to enable focus */\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);\n border-bottom: var(--border-size-small) solid var(--gray800);\n margin-bottom: var(--space-unit);\n margin-left: calc(var(--space-unit) * -1);\n text-align: left;\n}\n\n:host([size=\"small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"x-small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: var(--space-unit) calc(var(--space-unit) * 0.5);\n}\n","import {Component, Element, Event, EventEmitter, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ComboItem, ControlSize, InputType, KeyboardCode, ListDividerType, ListSize} from \"../../beans\";\nimport {handleKeyboardSubmit, randomId} from \"../../utils/utils\";\nimport {ZInput} from \"../z-input\";\n\n@Component({\n tag: \"z-combobox\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCombobox {\n @Element() element: HTMLZComboboxElement;\n\n /** input unique id */\n @Prop()\n inputid = `combo-${randomId()}`;\n\n /** list items array */\n @Prop()\n items: ComboItem[] | string;\n\n /** label text */\n @Prop()\n label: string;\n\n /** the combobox is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** show search input flag (optional) */\n @Prop()\n hassearch?: boolean = false;\n\n /** search input label text (optional) */\n @Prop()\n searchlabel?: string;\n\n /** search input placeholder text (optional) */\n @Prop()\n searchplaceholder?: string;\n\n /** search input title text (optional) */\n @Prop()\n searchtitle?: string;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** toggle combo list opening flag */\n @Prop({mutable: true})\n isopen = false;\n\n /** fixed style flag */\n @Prop()\n isfixed = false;\n\n /** show \"check all\" checkbox (optional) */\n @Prop()\n hascheckall?: boolean = false;\n\n /** check all label (optional) */\n @Prop()\n checkalltext?: string = \"Seleziona tutti\";\n\n /** uncheck all label (optional) */\n @Prop()\n uncheckalltext?: string = \"Deseleziona tutti\";\n\n /** max number of checkable items (0 = unlimited) */\n @Prop()\n maxcheckableitems = 0;\n\n /** group items by category */\n @Prop()\n hasgroupitems?: boolean;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n searchValue: string;\n\n @State()\n selectedCounter: number;\n\n @State()\n renderItemsList: ComboItem[] = []; // used for render only\n\n @State()\n focusedItemId: string;\n\n @State()\n checkboxes: HTMLInputElement[] = [];\n\n private itemsList: ComboItem[] = [];\n\n private inputType: InputType = InputType.TEXT;\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n this.updateRenderItemsList();\n }\n\n @Watch(\"searchValue\")\n watchSearchValue(): void {\n this.filterItems(this.searchValue);\n }\n\n @Watch(\"checkboxes\")\n watchCheckboxes(): void {\n this.checkboxes.forEach((item, index) => item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\"));\n }\n\n /** Emitted when value is checked/unchecked. Returns id, items. */\n @Event()\n comboboxChange: EventEmitter;\n\n private emitComboboxChange(): void {\n this.comboboxChange.emit({id: this.inputid, items: this.itemsList});\n }\n\n constructor() {\n this.toggleComboBox = this.toggleComboBox.bind(this);\n this.closeFilterItems = this.closeFilterItems.bind(this);\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n }\n\n componentDidRender(): void {\n const checkboxes = this.getAllCheckboxes();\n if (JSON.stringify(checkboxes) !== JSON.stringify(this.checkboxes)) {\n this.checkboxes = checkboxes;\n }\n }\n\n private getItemId(item: ComboItem): string {\n return `combo-checkbox-${this.inputid}-${item.id}`;\n }\n\n private getCheckboxClass(): string {\n return `combo-item-checkbox-input-${this.inputid}`;\n }\n\n private getAllCheckboxes(): HTMLInputElement[] {\n return Array.from(\n this.element.shadowRoot.querySelectorAll(`.${this.getCheckboxClass()} input:not([disabled])`)\n ) as HTMLInputElement[];\n }\n\n private getControlToListSize(): ListSize {\n switch (this.size) {\n case ControlSize.X_SMALL:\n return ListSize.SMALL;\n case ControlSize.SMALL:\n return ListSize.MEDIUM;\n default:\n return ListSize.LARGE;\n }\n }\n\n private handleSelectArrowsNavigation(e: KeyboardEvent, currId?: string): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode) || !this.isopen) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.element.shadowRoot.querySelector(`#${currId}`) as HTMLInputElement;\n\n const checkboxes = this.checkboxes;\n if (!checkboxes.length) {\n return;\n }\n\n const currElemIndex = currElem ? checkboxes.indexOf(currElem) : null;\n const firstElemIndex = 0;\n const lastElemIndex = checkboxes.length - 1;\n\n let nextElem = null;\n if (e.key === KeyboardCode.ARROW_DOWN) {\n nextElem =\n currElemIndex === null || currElemIndex === lastElemIndex\n ? checkboxes[firstElemIndex]\n : checkboxes[currElemIndex + 1];\n } else if (e.key === KeyboardCode.ARROW_UP) {\n nextElem =\n currElemIndex === null || currElemIndex === firstElemIndex\n ? checkboxes[lastElemIndex]\n : checkboxes[currElemIndex - 1];\n }\n\n this.focusComboboxItem(nextElem);\n }\n\n private handleHeaderKeyboardEvent(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n }\n if ((ev.key === KeyboardCode.ARROW_DOWN && !this.isopen) || (ev.key === KeyboardCode.ARROW_UP && this.isopen)) {\n this.toggleComboBox();\n }\n }\n\n private handleCheckboxFocus(id: string): void {\n this.focusedItemId = id;\n }\n\n private focusComboboxItem(elem): void {\n this.checkboxes.forEach(function (item) {\n item.setAttribute(\"tabindex\", \"-1\");\n });\n\n elem.setAttribute(\"tabindex\", \"0\");\n elem.focus();\n }\n\n private updateRenderItemsList(): void {\n if (this.searchValue) {\n this.filterItems(this.searchValue);\n } else {\n this.resetRenderItemsList();\n }\n }\n\n private resetRenderItemsList(): void {\n const renderItemsList = [];\n this.itemsList.forEach((item: ComboItem) => {\n renderItemsList.push({...item});\n });\n this.renderItemsList = renderItemsList;\n }\n\n private filterItems(value: string): void {\n if (!value) {\n return this.closeFilterItems();\n }\n\n this.resetRenderItemsList();\n this.renderItemsList = this.renderItemsList.filter((item) => {\n const start = item.name.toUpperCase().indexOf(value.toUpperCase());\n const end = start + value.length;\n const newName =\n item.name.substring(0, start) +\n \"<strong>\" +\n item.name.substring(start, end) +\n \"</strong>\" +\n item.name.substring(end, item.name.length);\n\n item.name = newName;\n\n return start >= 0;\n });\n }\n\n private checkAll(checked = true): void {\n this.itemsList = this.itemsList.map((item: ComboItem) => ({\n ...item,\n checked: checked,\n }));\n this.resetRenderItemsList();\n this.emitComboboxChange();\n }\n\n private closeFilterItems(): void {\n this.searchValue = \"\";\n this.resetRenderItemsList();\n }\n\n private toggleComboBox(): void {\n this.isopen = !this.isopen;\n }\n\n private getComboboxA11yAttributes(isZInput: boolean): Record<string, string> {\n const role = \"combobox\";\n const ariaExpanded = this.isopen ? \"true\" : \"false\";\n const ariaActivedescendant = this.isopen ? this.focusedItemId : \"\";\n const ariaControls = `${this.inputid}_list`;\n\n if (isZInput) {\n return {\n \"role\": role,\n \"html-aria-expanded\": ariaExpanded,\n \"html-aria-activedescendant\": ariaActivedescendant,\n \"html-aria-controls\": ariaControls,\n };\n }\n\n return {\n \"role\": role,\n \"aria-expanded\": ariaExpanded,\n \"aria-activedescendant\": ariaActivedescendant,\n \"aria-controls\": ariaControls,\n };\n }\n\n private renderHeader(): HTMLDivElement {\n return (\n <div\n class=\"header\"\n onClick={() => this.toggleComboBox()}\n onKeyDown={(ev: KeyboardEvent) => {\n this.handleHeaderKeyboardEvent(ev);\n }}\n onKeyUp={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.toggleComboBox)}\n role=\"button\"\n tabindex={0}\n aria-controls=\"open-combo-data\"\n aria-expanded={this.isopen ? \"true\" : \"false\"}\n >\n <span class=\"body-3\">\n {this.label}\n <span>{this.selectedCounter > 0 && ` (${this.selectedCounter})`}</span>\n </span>\n <z-icon\n name=\"caret-down\"\n class={this.size}\n />\n </div>\n );\n }\n\n private renderContent(): HTMLDivElement {\n return (\n <div\n id=\"open-combo-data\"\n class=\"open-combo-data\"\n >\n {this.hassearch && this.renderSearchInput()}\n {!this.hassearch ? <span {...this.getComboboxA11yAttributes(false)} /> : null}\n <div\n role=\"listbox\"\n aria-label={this.label}\n aria-multiselectable=\"true\"\n id={`${this.inputid}_list`}\n aria-owns={Array.from(this.element.shadowRoot.querySelectorAll(\"[role='option']\"))\n .map((item) => item.id)\n .join(\" \")}\n >\n {this.hascheckall && this.renderCheckAll()}\n {this.renderItems()}\n </div>\n </div>\n );\n }\n\n private renderItems(): HTMLDivElement {\n return (\n <div\n class={this.searchValue && \"search\"}\n tabIndex={-1}\n role=\"presentation\"\n >\n {this.renderList(this.renderItemsList)}\n </div>\n );\n }\n\n private renderItem(item: ComboItem, index: number, length: number): HTMLZListElement {\n const isDisabled = !item.checked && this.maxcheckableitems && this.selectedCounter >= this.maxcheckableitems;\n\n return (\n <z-list-element\n id={`option-${item.id}`}\n htmlTabindex={null}\n dividerType={index !== length - 1 ? ListDividerType.ELEMENT : ListDividerType.NONE}\n size={this.getControlToListSize()}\n role={isDisabled ? \"presentation\" : \"option\"}\n aria-selected={item.checked ? \"true\" : \"false\"}\n >\n <z-input\n type={InputType.CHECKBOX}\n checked={item.checked}\n htmlid={this.getItemId(item)}\n label={item.name}\n class={this.getCheckboxClass()}\n disabled={isDisabled}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, this.getItemId(item))}\n onInputCheck={(e: CustomEvent) => {\n this.itemsList = this.itemsList.map((i: ComboItem) => {\n if (item.id === i.id) {\n i.checked = e.detail.checked;\n }\n\n return i;\n });\n this.updateRenderItemsList();\n this.emitComboboxChange();\n }}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </z-list-element>\n );\n }\n\n private renderList(items: ComboItem[]): HTMLUListElement {\n if (!items) {\n return;\n }\n if (!items.length && this.searchValue) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasgroupitems) {\n return this.renderGroups(items);\n }\n\n return (\n <ul role=\"presentation\">\n {items.map((item, i) => {\n return this.renderItem(item, i, items.length);\n })}\n </ul>\n );\n }\n\n private renderGroups(items: ComboItem[]): HTMLUListElement {\n const newData = items.reduce((group, item, index) => {\n const {category} = item;\n const zListItem = this.renderItem(item, index, items.length);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n const listGroups = 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 return <ul role=\"presentation\">{listGroups}</ul>;\n }\n\n private renderNoSearchResults(): HTMLUListElement {\n return (\n <div class=\"no-results\">\n <span>{this.noresultslabel}</span>\n </div>\n );\n }\n\n private renderSearchInput(): ZInput {\n return (\n <z-input\n htmlid={`${this.inputid}_search`}\n label={this.searchlabel}\n placeholder={this.searchplaceholder}\n htmltitle={this.searchtitle}\n type={this.inputType}\n value={this.searchValue}\n message={false}\n size={this.size}\n html-aria-autocomplete=\"list\"\n {...this.getComboboxA11yAttributes(true)}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.key === KeyboardCode.ESC) {\n this.closeFilterItems();\n }\n this.handleSelectArrowsNavigation(e);\n }}\n onInputChange={(e: CustomEvent) => {\n this.searchValue = e.detail.value;\n }}\n />\n );\n }\n\n private renderCheckAll(): HTMLDivElement {\n if (this.searchValue) {\n return;\n }\n\n const checkAllId = `combo-checkbox-${this.inputid}-check-all`;\n const allChecked = this.selectedCounter === this.itemsList.length;\n\n return (\n <div\n class=\"check-all-wrapper\"\n id=\"option-check-all\"\n role=\"option\"\n >\n <z-input\n type={InputType.CHECKBOX}\n checked={allChecked}\n htmlid={checkAllId}\n class={this.getCheckboxClass()}\n label={allChecked ? this.uncheckalltext : this.checkalltext}\n disabled={this.maxcheckableitems && this.maxcheckableitems < this.itemsList.length}\n size={this.size === ControlSize.X_SMALL ? ControlSize.SMALL : this.size}\n onKeyDown={(e: KeyboardEvent) => this.handleSelectArrowsNavigation(e, checkAllId)}\n onInputCheck={(e: CustomEvent) => this.checkAll(e.detail.checked)}\n onInputFocus={(e: CustomEvent) => this.handleCheckboxFocus(e.detail.id)}\n />\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n data-action={`combo-${this.inputid}`}\n class={{open: this.isopen, fixed: this.isfixed, disabled: this.disabled}}\n id={this.inputid}\n >\n {this.renderHeader()}\n {!this.disabled && this.renderContent()}\n </div>\n );\n }\n}\n"],"mappings":"uLAAA,MAAMA,EAAY,i2JAClB,MAAAC,EAAeD,E,MCSFE,EAAS,MA2FpB,UAAAC,GACEC,KAAKC,iBAAmBD,KAAKE,QAAU,SAAWC,KAAKC,MAAMJ,KAAKE,OAASF,KAAKE,MAChFF,KAAKK,gBAAkBL,KAAKC,UAAUK,QAAQC,GAASA,EAAKC,UAASC,OACrET,KAAKU,uB,CAIP,gBAAAC,GACEX,KAAKY,YAAYZ,KAAKa,Y,CAIxB,eAAAC,GACEd,KAAKe,WAAWC,SAAQ,CAACT,EAAMU,IAAUV,EAAKW,aAAa,WAAYD,IAAU,EAAI,IAAM,O,CAOrF,kBAAAE,GACNnB,KAAKoB,eAAeC,KAAK,CAACC,GAAItB,KAAKuB,QAASrB,MAAOF,KAAKC,W,CAG1D,WAAAuB,CAAAC,G,yDA7BQzB,KAAAC,UAAyB,GAEzBD,KAAA0B,UAAuBC,EAAUC,K,aAnF/B,SAASC,M,wDAYE,M,eAIC,M,2GAgBI,mB,YAIjB,M,aAIC,M,iBAIc,M,kBAIA,kB,oBAIE,oB,uBAIN,E,uCAQCC,EAAYC,I,+EASF,G,6CAME,GAgC/B/B,KAAKgC,eAAiBhC,KAAKgC,eAAeC,KAAKjC,MAC/CA,KAAKkC,iBAAmBlC,KAAKkC,iBAAiBD,KAAKjC,K,CAGrD,iBAAAmC,GACEnC,KAAKD,Y,CAGP,mBAAAqC,GACEpC,KAAKK,gBAAkBL,KAAKC,UAAUK,QAAQC,GAASA,EAAKC,UAASC,M,CAGvE,kBAAA4B,GACE,MAAMtB,EAAaf,KAAKsC,mBACxB,GAAInC,KAAKoC,UAAUxB,KAAgBZ,KAAKoC,UAAUvC,KAAKe,YAAa,CAClEf,KAAKe,WAAaA,C,EAId,SAAAyB,CAAUjC,GAChB,MAAO,kBAAkBP,KAAKuB,WAAWhB,EAAKe,I,CAGxC,gBAAAmB,GACN,MAAO,6BAA6BzC,KAAKuB,S,CAGnC,gBAAAe,GACN,OAAOI,MAAMC,KACX3C,KAAK4C,QAAQC,WAAWC,iBAAiB,IAAI9C,KAAKyC,4C,CAI9C,oBAAAM,GACN,OAAQ/C,KAAKgD,MACX,KAAKlB,EAAYmB,QACf,OAAOC,EAASC,MAClB,KAAKrB,EAAYqB,MACf,OAAOD,EAASE,OAClB,QACE,OAAOF,EAASG,M,CAId,4BAAAC,CAA6BC,EAAkBC,GACrD,IAAK,CAACC,EAAaC,WAAYD,EAAaE,UAAUC,SAASL,EAAEM,OAAyB7D,KAAK8D,OAAQ,CACrG,M,CAGFP,EAAEQ,iBACFR,EAAES,kBAEF,MAAMC,EAAWjE,KAAK4C,QAAQC,WAAWqB,cAAc,IAAIV,KAE3D,MAAMzC,EAAaf,KAAKe,WACxB,IAAKA,EAAWN,OAAQ,CACtB,M,CAGF,MAAM0D,EAAgBF,EAAWlD,EAAWqD,QAAQH,GAAY,KAChE,MAAMI,EAAiB,EACvB,MAAMC,EAAgBvD,EAAWN,OAAS,EAE1C,IAAI8D,EAAW,KACf,GAAIhB,EAAEM,MAAQJ,EAAaC,WAAY,CACrCa,EACEJ,IAAkB,MAAQA,IAAkBG,EACxCvD,EAAWsD,GACXtD,EAAWoD,EAAgB,E,MAC5B,GAAIZ,EAAEM,MAAQJ,EAAaE,SAAU,CAC1CY,EACEJ,IAAkB,MAAQA,IAAkBE,EACxCtD,EAAWuD,GACXvD,EAAWoD,EAAgB,E,CAGnCnE,KAAKwE,kBAAkBD,E,CAGjB,yBAAAE,CAA0BC,GAChC,GAAIA,EAAGb,MAAQJ,EAAakB,MAAO,CACjCD,EAAGX,gB,CAEL,GAAKW,EAAGb,MAAQJ,EAAaC,aAAe1D,KAAK8D,QAAYY,EAAGb,MAAQJ,EAAaE,UAAY3D,KAAK8D,OAAS,CAC7G9D,KAAKgC,gB,EAID,mBAAA4C,CAAoBtD,GAC1BtB,KAAK6E,cAAgBvD,C,CAGf,iBAAAkD,CAAkBM,GACxB9E,KAAKe,WAAWC,SAAQ,SAAUT,GAChCA,EAAKW,aAAa,WAAY,K,IAGhC4D,EAAK5D,aAAa,WAAY,KAC9B4D,EAAKC,O,CAGC,qBAAArE,GACN,GAAIV,KAAKa,YAAa,CACpBb,KAAKY,YAAYZ,KAAKa,Y,KACjB,CACLb,KAAKgF,sB,EAID,oBAAAA,GACN,MAAMC,EAAkB,GACxBjF,KAAKC,UAAUe,SAAST,IACtB0E,EAAgBC,KAAIC,OAAAC,OAAA,GAAK7E,GAAM,IAEjCP,KAAKiF,gBAAkBA,C,CAGjB,WAAArE,CAAYyE,GAClB,IAAKA,EAAO,CACV,OAAOrF,KAAKkC,kB,CAGdlC,KAAKgF,uBACLhF,KAAKiF,gBAAkBjF,KAAKiF,gBAAgB3E,QAAQC,IAClD,MAAM+E,EAAQ/E,EAAKgF,KAAKC,cAAcpB,QAAQiB,EAAMG,eACpD,MAAMC,EAAMH,EAAQD,EAAM5E,OAC1B,MAAMiF,EACJnF,EAAKgF,KAAKI,UAAU,EAAGL,GACvB,WACA/E,EAAKgF,KAAKI,UAAUL,EAAOG,GAC3B,YACAlF,EAAKgF,KAAKI,UAAUF,EAAKlF,EAAKgF,KAAK9E,QAErCF,EAAKgF,KAAOG,EAEZ,OAAOJ,GAAS,CAAC,G,CAIb,QAAAM,CAASpF,EAAU,MACzBR,KAAKC,UAAYD,KAAKC,UAAU4F,KAAKtF,GAAe4E,OAAAC,OAAAD,OAAAC,OAAA,GAC/C7E,GAAI,CACPC,QAASA,MAEXR,KAAKgF,uBACLhF,KAAKmB,oB,CAGC,gBAAAe,GACNlC,KAAKa,YAAc,GACnBb,KAAKgF,sB,CAGC,cAAAhD,GACNhC,KAAK8D,QAAU9D,KAAK8D,M,CAGd,yBAAAgC,CAA0BC,GAChC,MAAMC,EAAO,WACb,MAAMC,EAAejG,KAAK8D,OAAS,OAAS,QAC5C,MAAMoC,EAAuBlG,KAAK8D,OAAS9D,KAAK6E,cAAgB,GAChE,MAAMsB,EAAe,GAAGnG,KAAKuB,eAE7B,GAAIwE,EAAU,CACZ,MAAO,CACLC,KAAQA,EACR,qBAAsBC,EACtB,6BAA8BC,EAC9B,qBAAsBC,E,CAI1B,MAAO,CACLH,KAAQA,EACR,gBAAiBC,EACjB,wBAAyBC,EACzB,gBAAiBC,E,CAIb,YAAAC,GACN,OACEC,EAAA,OACEC,MAAM,SACNC,QAAS,IAAMvG,KAAKgC,iBACpBwE,UAAY9B,IACV1E,KAAKyE,0BAA0BC,EAAG,EAEpC+B,QAAU/B,GAAsBgC,EAAqBhC,EAAI1E,KAAKgC,gBAC9DgE,KAAK,SACLW,SAAU,EAAC,gBACG,kBAAiB,gBAChB3G,KAAK8D,OAAS,OAAS,SAEtCuC,EAAA,QAAMC,MAAM,UACTtG,KAAK4G,MACNP,EAAA,YAAOrG,KAAKK,gBAAkB,GAAK,KAAKL,KAAKK,qBAE/CgG,EAAA,UACEd,KAAK,aACLe,MAAOtG,KAAKgD,O,CAMZ,aAAA6D,GACN,OACER,EAAA,OACE/E,GAAG,kBACHgF,MAAM,mBAELtG,KAAK8G,WAAa9G,KAAK+G,qBACtB/G,KAAK8G,UAAYT,EAAA,OAAAlB,OAAAC,OAAA,GAAUpF,KAAK8F,0BAA0B,SAAa,KACzEO,EAAA,OACEL,KAAK,UAAS,aACFhG,KAAK4G,MAAK,uBACD,OACrBtF,GAAI,GAAGtB,KAAKuB,eAAc,YACfmB,MAAMC,KAAK3C,KAAK4C,QAAQC,WAAWC,iBAAiB,oBAC5D+C,KAAKtF,GAASA,EAAKe,KACnB0F,KAAK,MAEPhH,KAAKiH,aAAejH,KAAKkH,iBACzBlH,KAAKmH,e,CAMN,WAAAA,GACN,OACEd,EAAA,OACEC,MAAOtG,KAAKa,aAAe,SAC3BuG,UAAW,EACXpB,KAAK,gBAEJhG,KAAKqH,WAAWrH,KAAKiF,iB,CAKpB,UAAAqC,CAAW/G,EAAiBU,EAAeR,GACjD,MAAM8G,GAAchH,EAAKC,SAAWR,KAAKwH,mBAAqBxH,KAAKK,iBAAmBL,KAAKwH,kBAE3F,OACEnB,EAAA,kBACE/E,GAAI,UAAUf,EAAKe,KACnBmG,aAAc,KACdC,YAAazG,IAAUR,EAAS,EAAIkH,EAAgBC,QAAUD,EAAgBE,KAC9E7E,KAAMhD,KAAK+C,uBACXiD,KAAMuB,EAAa,eAAiB,SAAQ,gBAC7BhH,EAAKC,QAAU,OAAS,SAEvC6F,EAAA,WACEyB,KAAMnG,EAAUoG,SAChBvH,QAASD,EAAKC,QACdwH,OAAQhI,KAAKwC,UAAUjC,GACvBqG,MAAOrG,EAAKgF,KACZe,MAAOtG,KAAKyC,mBACZwF,SAAUV,EACVvE,KAAMhD,KAAKgD,OAASlB,EAAYmB,QAAUnB,EAAYqB,MAAQnD,KAAKgD,KACnEwD,UAAYjD,GAAqBvD,KAAKsD,6BAA6BC,EAAGvD,KAAKwC,UAAUjC,IACrF2H,aAAe3E,IACbvD,KAAKC,UAAYD,KAAKC,UAAU4F,KAAKsC,IACnC,GAAI5H,EAAKe,KAAO6G,EAAE7G,GAAI,CACpB6G,EAAE3H,QAAU+C,EAAE6E,OAAO5H,O,CAGvB,OAAO2H,CAAC,IAEVnI,KAAKU,wBACLV,KAAKmB,oBAAoB,EAE3BkH,aAAe9E,GAAmBvD,KAAK4E,oBAAoBrB,EAAE6E,OAAO9G,M,CAMpE,UAAA+F,CAAWnH,GACjB,IAAKA,EAAO,CACV,M,CAEF,IAAKA,EAAMO,QAAUT,KAAKa,YAAa,CACrC,OAAOb,KAAKsI,uB,CAGd,GAAItI,KAAKuI,cAAe,CACtB,OAAOvI,KAAKwI,aAAatI,E,CAG3B,OACEmG,EAAA,MAAIL,KAAK,gBACN9F,EAAM2F,KAAI,CAACtF,EAAM4H,IACTnI,KAAKsH,WAAW/G,EAAM4H,EAAGjI,EAAMO,U,CAMtC,YAAA+H,CAAatI,GACnB,MAAMuI,EAAUvI,EAAMwI,QAAO,CAACC,EAAOpI,EAAMU,K,MACzC,MAAM2H,SAACA,GAAYrI,EACnB,MAAMsI,EAAY7I,KAAKsH,WAAW/G,EAAMU,EAAOf,EAAMO,QAErDkI,EAAMC,IAAYE,EAAAH,EAAMC,MAAS,MAAAE,SAAA,EAAAA,EAAI,GACrCH,EAAMC,GAAU1D,KAAK2D,GAErB,OAAOF,CAAK,GACX,IAEH,MAAMI,EAAa5D,OAAO6D,QAAQP,GAAuD5C,KAAI,EAAEhC,EAAKwB,KAEhGgB,EAAA,+BAA4BsB,EAAgBC,SAC1CvB,EAAA,QACEC,MAAM,+BACN2C,KAAK,gBAEJpF,GAEFwB,EAAMQ,KAAKtF,GAASA,OAK3B,OAAO8F,EAAA,MAAIL,KAAK,gBAAgB+C,E,CAG1B,qBAAAT,GACN,OACEjC,EAAA,OAAKC,MAAM,cACTD,EAAA,YAAOrG,KAAKkJ,gB,CAKV,iBAAAnC,GACN,OACEV,EAAA,UAAAlB,OAAAC,OAAA,CACE4C,OAAQ,GAAGhI,KAAKuB,iBAChBqF,MAAO5G,KAAKmJ,YACZC,YAAapJ,KAAKqJ,kBAClBC,UAAWtJ,KAAKuJ,YAChBzB,KAAM9H,KAAK0B,UACX2D,MAAOrF,KAAKa,YACZ2I,QAAS,MACTxG,KAAMhD,KAAKgD,KAAI,yBACQ,QACnBhD,KAAK8F,0BAA0B,MAAK,CACxCW,QAAUlD,IACR,GAAIA,EAAEM,MAAQJ,EAAagG,IAAK,CAC9BzJ,KAAKkC,kB,CAEPlC,KAAKsD,6BAA6BC,EAAE,EAEtCmG,cAAgBnG,IACdvD,KAAKa,YAAc0C,EAAE6E,OAAO/C,KAAK,I,CAMjC,cAAA6B,GACN,GAAIlH,KAAKa,YAAa,CACpB,M,CAGF,MAAM8I,EAAa,kBAAkB3J,KAAKuB,oBAC1C,MAAMqI,EAAa5J,KAAKK,kBAAoBL,KAAKC,UAAUQ,OAE3D,OACE4F,EAAA,OACEC,MAAM,oBACNhF,GAAG,mBACH0E,KAAK,UAELK,EAAA,WACEyB,KAAMnG,EAAUoG,SAChBvH,QAASoJ,EACT5B,OAAQ2B,EACRrD,MAAOtG,KAAKyC,mBACZmE,MAAOgD,EAAa5J,KAAK6J,eAAiB7J,KAAK8J,aAC/C7B,SAAUjI,KAAKwH,mBAAqBxH,KAAKwH,kBAAoBxH,KAAKC,UAAUQ,OAC5EuC,KAAMhD,KAAKgD,OAASlB,EAAYmB,QAAUnB,EAAYqB,MAAQnD,KAAKgD,KACnEwD,UAAYjD,GAAqBvD,KAAKsD,6BAA6BC,EAAGoG,GACtEzB,aAAe3E,GAAmBvD,KAAK4F,SAASrC,EAAE6E,OAAO5H,SACzD6H,aAAe9E,GAAmBvD,KAAK4E,oBAAoBrB,EAAE6E,OAAO9G,M,CAM5E,MAAAyI,GACE,OACE1D,EAAA,OAAAxC,IAAA,yDACe,SAAS7D,KAAKuB,UAC3B+E,MAAO,CAAC0D,KAAMhK,KAAK8D,OAAQmG,MAAOjK,KAAKkK,QAASjC,SAAUjI,KAAKiI,UAC/D3G,GAAItB,KAAKuB,SAERvB,KAAKoG,gBACJpG,KAAKiI,UAAYjI,KAAK6G,gB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export{Z as z_tbody}from"./p-1170826b.js";import"./p-75c4a726.js";
2
- //# sourceMappingURL=p-237fcaa9.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,a as n,g as o}from"./p-75c4a726.js";import{X as a,e as l}from"./p-17af7fb2.js";const r=':host{--z-book-card-portrait-cover-height:378px;--z-book-card-title-lines:2;--z-book-card-title-word-break:initial;--z-book-card-subtitle-lines:1;--z-book-card-subtitle-word-break:break-all;--z-book-card-authors-lines:1;--z-book-card-authors-word-break:break-all;display:flex;width:304px;box-sizing:border-box;flex-direction:column;border:solid var(--border-size-medium) var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius);color:var(--color-default-text);font-family:var(--font-family-sans)}:host,*{box-sizing:border-box}.main-content{display:flex;height:100%;flex-direction:column;padding:var(--space-unit);gap:var(--space-unit)}.main-content .cover{position:relative;display:flex;overflow:hidden;align-items:flex-end;border-radius:var(--border-radius)}.main-content .cover z-book-cover{--z-book-cover-height:var(--z-book-card-portrait-cover-height)}.main-content a.cover:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.main-content .card-info{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:var(--space-unit)}.main-content .card-info .top{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.main-content .card-info .top ::slotted([slot="tags"]){display:flex;flex-wrap:wrap;gap:var(--space-unit)}.main-content .card-info .top ::slotted([slot="data"]){display:flex;justify-content:space-between}.main-content .card-info .top .ellipsis{display:-webkit-box;overflow:hidden;height:1.4rem;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;line-height:1.4rem;text-overflow:ellipsis;word-break:break-all}.main-content .card-info .top .ellipsis.opera-title{height:auto;max-height:calc(1.5rem * var(--z-book-card-title-lines));-webkit-line-clamp:var(--z-book-card-title-lines);line-clamp:var(--z-book-card-title-lines);line-height:1.5rem;word-break:var(--z-book-card-title-word-break)}.main-content .card-info .top .ellipsis.volume-title{height:auto;max-height:calc(1.4rem * var(--z-book-card-subtitle-lines));-webkit-line-clamp:var(--z-book-card-subtitle-lines);line-clamp:var(--z-book-card-subtitle-lines);line-height:1.4rem;word-break:var(--z-book-card-subtitle-word-break)}.main-content .card-info .top .ellipsis.authors{height:auto;max-height:calc(1.4rem * var(--z-book-card-authors-lines));-webkit-line-clamp:var(--z-book-card-authors-lines);line-clamp:var(--z-book-card-authors-lines);line-height:1.4rem;word-break:var(--z-book-card-authors-word-break)}.main-content .card-info .top .opera-title *{all:unset}.main-content .cta-wrapper{display:flex;justify-content:space-between;gap:calc(var(--space-unit) / 2)}.main-content .card-info .top .link-chip-wrapper{display:flex;justify-content:space-between}.main-content .card-info .bottom .ebook{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--space-unit);background-color:var(--color-primary02);border-radius:var(--border-radius);gap:var(--space-unit)}.main-content .card-info .bottom .ebook .app-name{display:flex;align-items:center;padding:calc(var(--space-unit) / 2) 0;font-family:var(--font-family-serif);gap:calc(var(--space-unit) / 2)}.main-content .card-info .bottom .ebook .app-name .ebook-logo{width:1.5rem;height:1.5rem;content:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 aria-hidden=%22true%22%3E%3Cg clip-path=%22url(%23clip0_11996_224)%22%3E%3Cpath d=%22M14.6644 0.469604H5.00141C2.33305 0.469604 0.169922 2.63274 0.169922 5.3011V14.9641C0.169922 17.6324 2.33305 19.7956 5.00141 19.7956H14.6644C17.3328 19.7956 19.4959 17.6324 19.4959 14.9641V5.3011C19.4959 2.63274 17.3328 0.469604 14.6644 0.469604Z%22 fill=%22%23E2011A%22/%3E%3Cpath d=%22M15.9523 13.3536H12.7313C11.6861 13.3536 10.6683 13.6934 9.83241 14.3199C8.99657 13.6934 7.97873 13.3536 6.93352 13.3536H3.71252V5.30115H6.93352C7.97873 5.30115 8.99657 5.64096 9.83241 6.26745C10.6683 5.64096 11.6861 5.30115 12.7313 5.30115H15.9523V13.3536Z%22 fill=%22white%22/%3E%3Cpath d=%22M15.9523 14.3201H3.71252V14.9643H15.9523V14.3201Z%22 fill=%22black%22/%3E%3Cpath d=%22M8.22229 10.732V8.24543C8.22229 7.97165 8.51057 7.79449 8.75375 7.91689L11.2404 9.16019C11.5109 9.29548 11.5109 9.682 11.2404 9.81728L8.75375 11.0606C8.50896 11.183 8.22229 11.0058 8.22229 10.732Z%22 fill=%22black%22/%3E%3Cpath d=%22M4.35704 7.87826C5.42438 7.87826 6.28963 7.013 6.28963 5.94566C6.28963 4.87831 5.42438 4.01306 4.35704 4.01306C3.28969 4.01306 2.42444 4.87831 2.42444 5.94566C2.42444 7.013 3.28969 7.87826 4.35704 7.87826Z%22 fill=%22black%22/%3E%3Cpath d=%22M5.6454 5.62354H3.0686V6.26773H5.6454V5.62354Z%22 fill=%22white%22/%3E%3Cpath d=%22M4.67917 4.65723H4.03497V7.23402H4.67917V4.65723Z%22 fill=%22white%22/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=%22clip0_11996_224%22%3E%3Crect width=%2219.326%22 height=%2219.326%22 fill=%22white%22 transform=%22translate(0.169922 0.469604)%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")}:host([variant="landscape"]){width:637px;min-height:max(332px, 20.75rem);padding:0}:host([variant="landscape"]) .main-content{min-height:max(332px, 20.75rem);flex-direction:row;padding:calc(var(--space-unit) * 2);gap:calc(var(--space-unit) * 2)}:host([variant="landscape"]) .main-content .cover z-book-cover{--z-book-cover-height:300px}:host([variant="landscape"]) .main-content .card-info,:host([variant="landscape"]) .main-content .card-info .top{gap:calc(var(--space-unit) / 2)}@media (max-width: 767px){:host([variant="portrait"]){width:100%;max-width:400px}}';const s=r;const d=':root{--font-family-sans:"IBM Plex Sans", sans-serif;--font-family-serif:"IBM Plex Serif", serif;--font-lt:300;--font-rg:400;--font-sb:600;--font-bd:700;--font-size-1:0.75rem;--font-size-2:0.875rem;--font-size-3:1rem;--font-size-4:1.125rem;--font-size-5:1.25rem;--font-size-6:1.5rem;--font-size-7:1.75rem;--font-size-8:2rem;--font-size-9:2.25rem;--font-size-10:2.625rem;--font-size-11:3rem;--font-size-12:3.375rem;--font-size-13:3.75rem;--font-size-14:4.25rem;--font-size-15:4.75rem;--font-size-16:5.25rem;--font-size-17:5.75rem;--section-title-1:var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);--section-title-2:var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);--section-title-3:var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);--section-title-4:var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);--section-title-5:var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);--section-title-6:var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif)}.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-3,.heading-3-sb,.heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-4,.heading-4-sb,.heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-1,.body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-2,.body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.body-3,.body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.body-4,.body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.body-5,.body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.interactive-1,.interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.interactive-2,.interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.interactive-3,.interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.helper,.helper-sb{font-size:var(--font-size-1);font-style:italic;font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.section-title-1{font:var(--section-title-1)}.section-title-2{font:var(--section-title-2)}.section-title-3{font:var(--section-title-3)}.section-title-4{font:var(--section-title-4)}.section-title-5{font:var(--section-title-5)}.section-title-6{font:var(--section-title-6)}@media (min-width: 1152px){.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}}@media (max-width: 767px){.mobile-heading-1,.mobile-heading-1-sb,.mobile-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.mobile-heading-2,.mobile-heading-2-sb,.mobile-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-3,.mobile-heading-3-sb,.mobile-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-4,.mobile-heading-4-sb,.mobile-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-1,.mobile-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-2,.mobile-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.mobile-body-3,.mobile-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-body-4,.mobile-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-body-5,.mobile-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-interactive-1,.mobile-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-interactive-2,.mobile-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-interactive-3,.mobile-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-section-title-1{font:var(--section-title-1)}.mobile-section-title-2{font:var(--section-title-2)}.mobile-section-title-3{font:var(--section-title-3)}.mobile-section-title-4{font:var(--section-title-4)}.mobile-section-title-5{font:var(--section-title-5)}.mobile-section-title-6{font:var(--section-title-6)}.mobile-heading-1-lt,.mobile-heading-2-lt,.mobile-heading-3-lt,.mobile-heading-4-lt{font-weight:var(--font-lt)}.mobile-heading-1-sb,.mobile-heading-2-sb,.mobile-heading-3-sb,.mobile-heading-4-sb,.mobile-body-1-sb,.mobile-body-2-sb,.mobile-body-3-sb,.mobile-body-4-sb,.mobile-body-5-sb,.mobile-interactive-1-sb,.mobile-interactive-2-sb,.mobile-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 768px) and (max-width: 1151px){.tablet-heading-1,.tablet-heading-1-sb,.tablet-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.tablet-heading-2,.tablet-heading-2-sb,.tablet-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-3,.tablet-heading-3-sb,.tablet-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-4,.tablet-heading-4-sb,.tablet-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-1,.tablet-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-2,.tablet-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.tablet-body-3,.tablet-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-body-4,.tablet-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-body-5,.tablet-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-interactive-1,.tablet-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-interactive-2,.tablet-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-interactive-3,.tablet-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-section-title-1{font:var(--section-title-1)}.tablet-section-title-2{font:var(--section-title-2)}.tablet-section-title-3{font:var(--section-title-3)}.tablet-section-title-4{font:var(--section-title-4)}.tablet-section-title-5{font:var(--section-title-5)}.tablet-section-title-6{font:var(--section-title-6)}.tablet-heading-1-lt,.tablet-heading-2-lt,.tablet-heading-3-lt,.tablet-heading-4-lt{font-weight:var(--font-lt)}.tablet-heading-1-sb,.tablet-heading-2-sb,.tablet-heading-3-sb,.tablet-heading-4-sb,.tablet-body-1-sb,.tablet-body-2-sb,.tablet-body-3-sb,.tablet-body-4-sb,.tablet-body-5-sb,.tablet-interactive-1-sb,.tablet-interactive-2-sb,.tablet-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1152px) and (max-width: 1365px){.desktop-heading-1,.desktop-heading-1-sb,.desktop-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.desktop-heading-2,.desktop-heading-2-sb,.desktop-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.desktop-heading-3,.desktop-heading-3-sb,.desktop-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.desktop-heading-4,.desktop-heading-4-sb,.desktop-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-1,.desktop-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-2,.desktop-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.desktop-body-3,.desktop-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-body-4,.desktop-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-body-5,.desktop-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-interactive-1,.desktop-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-interactive-2,.desktop-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-interactive-3,.desktop-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-section-title-1{font:var(--section-title-1)}.desktop-section-title-2{font:var(--section-title-2)}.desktop-section-title-3{font:var(--section-title-3)}.desktop-section-title-4{font:var(--section-title-4)}.desktop-section-title-5{font:var(--section-title-5)}.desktop-section-title-6{font:var(--section-title-6)}.desktop-heading-1-lt,.desktop-heading-2-lt,.desktop-heading-3-lt,.desktop-heading-4-lt{font-weight:var(--font-lt)}.desktop-heading-1-sb,.desktop-heading-2-sb,.desktop-heading-3-sb,.desktop-heading-4-sb,.desktop-body-1-sb,.desktop-body-2-sb,.desktop-body-3-sb,.desktop-body-4-sb,.desktop-body-5-sb,.desktop-interactive-1-sb,.desktop-interactive-2-sb,.desktop-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1366px){.wide-heading-1,.wide-heading-1-sb,.wide-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.wide-heading-2,.wide-heading-2-sb,.wide-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.wide-heading-3,.wide-heading-3-sb,.wide-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.wide-heading-4,.wide-heading-4-sb,.wide-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-1,.wide-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-2,.wide-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.wide-body-3,.wide-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-body-4,.wide-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-body-5,.wide-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-interactive-1,.wide-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-interactive-2,.wide-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-interactive-3,.wide-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-section-title-1{font:var(--section-title-1)}.wide-section-title-2{font:var(--section-title-2)}.wide-section-title-3{font:var(--section-title-3)}.wide-section-title-4{font:var(--section-title-4)}.wide-section-title-5{font:var(--section-title-5)}.wide-section-title-6{font:var(--section-title-6)}.wide-heading-1-lt,.wide-heading-2-lt,.wide-heading-3-lt,.wide-heading-4-lt{font-weight:var(--font-lt)}.wide-heading-1-sb,.wide-heading-2-sb,.wide-heading-3-sb,.wide-heading-4-sb,.wide-body-1-sb,.wide-body-2-sb,.wide-body-3-sb,.wide-body-4-sb,.wide-body-5-sb,.wide-interactive-1-sb,.wide-interactive-2-sb,.wide-interactive-3-sb{font-weight:var(--font-sb)}}.heading-1-lt,.heading-2-lt,.heading-3-lt,.heading-4-lt{font-weight:var(--font-lt)}.heading-1-sb,.heading-2-sb,.heading-3-sb,.heading-4-sb,.body-1-sb,.body-2-sb,.body-3-sb,.body-4-sb,.body-5-sb,.interactive-1-sb,.interactive-2-sb,.interactive-3-sb,.helper-sb{font-weight:var(--font-sb)}';const b=d;const f="button.z-link{padding:0;border:0;margin:0;background-color:transparent}a.z-link,button.z-link{display:inline-flex;cursor:pointer;font-family:var(--font-family-sans);line-height:inherit;text-decoration:none}a.z-link.z-link-icon,button.z-link.z-link-icon{--z-icon-width:1.125em;--z-icon-height:1.125em;align-items:center;column-gap:0.5em}a.z-link.z-link-sb,button.z-link.z-link-sb{font-weight:var(--font-sb)}a.z-link.z-link-underline,button.z-link.z-link-underline{text-decoration:underline}a.z-link:hover,button.z-link:hover,a.z-link:focus-visible,button.z-link:focus-visible,a.z-link:active,button.z-link:active{text-decoration:underline}a.z-link:focus-visible,button.z-link:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}a.z-link.z-link-disabled,button.z-link.z-link-disabled{box-shadow:none;color:var(--color-disabled03);cursor:default;fill:var(--color-disabled03);outline:none;pointer-events:none;text-decoration:none}a.z-link,button.z-link,a.z-link.z-link-active,button.z-link.z-link-active,a.z-link:hover,button.z-link:hover,a.z-link.z-link-active:hover,button.z-link.z-link-active:hover,a.z-link:focus-visible,button.z-link:focus-visible,a.z-link.z-link-active:focus-visible,button.z-link.z-link-active:focus-visible,a.z-link:active,button.z-link:active,a.z-link.z-link-active:active,button.z-link.z-link-active:active,a.z-link:visited,button.z-link:visited,a.z-link.z-link-active:visited,button.z-link.z-link-active:visited{color:var(--color-text-link-default);fill:var(--color-text-link-default)}a.z-link.z-link-blue,button.z-link.z-link-blue,a.z-link.z-link-blue.z-link-active,button.z-link.z-link-blue.z-link-active{color:var(--color-text-link-blue);fill:var(--color-text-link-blue)}a.z-link.z-link-red,button.z-link.z-link-red,a.z-link.z-link-red.z-link-active,button.z-link.z-link-red.z-link-active{color:var(--color-text-link-red);fill:var(--color-text-link-red)}a.z-link.z-link-inverse,button.z-link.z-link-inverse,a.z-link.z-link-inverse.z-link-active,button.z-link.z-link-inverse.z-link-active{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:hover,button.z-link.z-link-blue:hover{color:var(--color-text-link-blue-hover);fill:var(--color-text-link-blue-hover)}a.z-link.z-link-red:hover,button.z-link.z-link-red:hover{color:var(--color-text-link-red-hover);fill:var(--color-text-link-red-hover)}a.z-link.z-link-inverse:hover,button.z-link.z-link-inverse:hover{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:active,button.z-link.z-link-blue:active,a.z-link.z-link-blue:focus-visible,button.z-link.z-link-blue:focus-visible{color:var(--color-text-link-blue-active);fill:var(--color-text-link-blue-active)}a.z-link.z-link-red:active,button.z-link.z-link-red:active,a.z-link.z-link-red:focus-visible,button.z-link.z-link-red:focus-visible{color:var(--color-text-link-red-active);fill:var(--color-text-link-red-active)}a.z-link.z-link-inverse:active,button.z-link.z-link-inverse:active,a.z-link.z-link-inverse:focus-visible,button.z-link.z-link-inverse:focus-visible{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:visited,button.z-link.z-link-blue:visited{color:var(--color-text-link-blue-visited);fill:var(--color-text-link-blue-visited)}a.z-link.z-link-red:visited,button.z-link.z-link-red:visited{color:var(--color-text-link-red-visited);fill:var(--color-text-link-red-visited)}a.z-link.z-link-inverse:visited,button.z-link.z-link-inverse:visited{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}";const h=f;const c=class{constructor(i){t(this,i);this.ebookClick=e(this,"ebookClick",7);this.coverClick=e(this,"coverClick",7);this.titleClick=e(this,"titleClick",7);this.variant=a.PORTRAIT;this.cover=undefined;this.operaTitle=undefined;this.volumeTitle=undefined;this.authors=undefined;this.isbn=undefined;this.isbnLabel="";this.year=undefined;this.ebookUrl=undefined;this.linkTarget="_blank";this.fallbackCover=undefined;this.hasMultipleCovers=false;this.titleHtmlTag=undefined}emitEbookClick(){this.ebookClick.emit()}emitCoverClick(){this.coverClick.emit()}emitTitleClick(){this.titleClick.emit()}renderCover(){const t=this.ebookUrl?"a":"div";const e=this.ebookUrl?{href:this.ebookUrl,onClick:()=>this.emitCoverClick(),target:this.linkTarget}:{};return i(t,Object.assign({class:"cover"},e),i("z-book-cover",{cover:this.cover,fallbackCover:this.fallbackCover,multiple:this.hasMultipleCovers&&this.variant===a.PORTRAIT},i("slot",{name:"coverOverlay",slot:"coverOverlay"})))}renderYear(){if(!this.year){return null}return i("div",{class:"year ellipsis body-4","aria-description":"anno"},this.year)}renderAuthors(){if(!this.authors){return null}return i("div",{class:"cta-wrapper"},i("div",{class:"authors ellipsis body-4","aria-description":"autori"},this.authors),this.variant===a.LANDSCAPE?this.renderCtaSlot():null)}renderOperaTitle(){const t=this.titleHtmlTag?`<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`:this.operaTitle;const e=i("div",{class:"opera-title ellipsis body-2-sb",innerHTML:t});return i("div",{class:"cta-wrapper"},this.ebookUrl?i("a",{class:"z-link",href:this.ebookUrl,onClick:()=>this.emitTitleClick(),target:this.linkTarget},e):e,this.variant===a.PORTRAIT?this.renderCtaSlot():null)}renderVolumeTitle(){if(!this.volumeTitle){return null}return i("div",{class:"volume-title ellipsis body-4"},this.volumeTitle)}renderIsbn(){if(!this.isbn){return null}return i("div",{class:"isbn ellipsis body-4-sb","aria-description":`isbn ${this.isbnLabel}`},this.isbn," ",this.isbnLabel?i("span",{class:"body-4"},this.isbnLabel):null)}renderEbook(){return i("div",{class:"ebook"},i("div",{class:"app-name"},i("img",{class:"ebook-logo","aria-hidden":"true"}),i("div",{class:"body-4-sb"},"laZ Ebook")),i("z-button",{size:l.X_SMALL,href:this.ebookUrl,target:this.linkTarget,onClick:()=>this.emitEbookClick(),htmlrole:"link","aria-description":`leggi l'ebook ${this.operaTitle} su laZ Ebook`},"leggi ebook"))}renderCtaSlot(){return i("slot",{name:"cta"})}render(){return i(n,{key:"5fae727734d46a2bff95228aba24343fe8b44d71"},i("div",{key:"68bae5839bfd59cfbf64c525085db9945fccfa22",class:"main-content"},this.renderCover(),i("div",{key:"0f79c65a3b4778db175867ea3ef71a331c567dbf",class:"card-info"},i("div",{key:"14f31c2adeb8ba009385cad9f3e5b91b1571402f",class:"top"},i("div",{key:"6f53c622d7c46bc9c7086129d6e61efc3b8e87ac"},this.renderYear(),this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),i("slot",{key:"e320abfb8ccb71748b7f786e44f8acb7579c9008",name:"tags"}),i("slot",{key:"718e46c2db387806e6835db0a1f14880e1990a5f",name:"data"})),i("slot",{key:"625086bafb8ebb76bb4d419bfaa1f0e6a6bda8c4",name:"ebook"},!!this.ebookUrl&&i("div",{key:"534cddf3d9e4b7b184eda121d74999645bc60b4f",class:"bottom"},this.renderEbook())))),i("slot",{key:"64cf4f52982302d9aa44a0a0b63b5d54cac3c3dc",name:"apps"}))}get hostElement(){return o(this)}};c.style=s+(b+h);export{c as z_book_card};
2
- //# sourceMappingURL=p-2612e3a2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZBookCardStyle0","typographyCss","ZBookCardStyle1","ZBookCardStyle2","ZBookCard","BookCardVariant","PORTRAIT","emitEbookClick","this","ebookClick","emit","emitCoverClick","coverClick","emitTitleClick","titleClick","renderCover","CoverTag","ebookUrl","coverAttrs","href","onClick","target","linkTarget","h","Object","assign","class","cover","fallbackCover","multiple","hasMultipleCovers","variant","name","slot","renderYear","year","renderAuthors","authors","LANDSCAPE","renderCtaSlot","renderOperaTitle","title","titleHtmlTag","operaTitle","innerHTML","renderVolumeTitle","volumeTitle","renderIsbn","isbn","isbnLabel","renderEbook","size","ControlSize","X_SMALL","htmlrole","render","Host","key"],"sources":["src/components/book-card/z-book-card/styles.css?tag=z-book-card&encapsulation=shadow","src/tokens/typography.css?tag=z-book-card&encapsulation=shadow","src/components/css-components/z-link/styles.css?tag=z-book-card&encapsulation=shadow","src/components/book-card/z-book-card/index.tsx"],"sourcesContent":[":host {\n --z-book-card-portrait-cover-height: 378px;\n --z-book-card-title-lines: 2;\n --z-book-card-title-word-break: initial;\n --z-book-card-subtitle-lines: 1;\n --z-book-card-subtitle-word-break: break-all;\n --z-book-card-authors-lines: 1;\n --z-book-card-authors-word-break: break-all;\n\n display: flex;\n width: 304px;\n box-sizing: border-box;\n flex-direction: column;\n border: solid var(--border-size-medium) var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: var(--border-radius);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n.main-content {\n display: flex;\n height: 100%;\n flex-direction: column;\n padding: var(--space-unit);\n gap: var(--space-unit);\n}\n\n.main-content .cover {\n position: relative;\n display: flex;\n overflow: hidden;\n align-items: flex-end;\n border-radius: var(--border-radius);\n}\n\n.main-content .cover z-book-cover {\n --z-book-cover-height: var(--z-book-card-portrait-cover-height);\n}\n\n.main-content a.cover:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.main-content .card-info {\n display: flex;\n flex: 1;\n flex-direction: column;\n justify-content: space-between;\n gap: var(--space-unit);\n}\n\n.main-content .card-info .top {\n display: flex;\n flex-direction: column;\n gap: calc(var(--space-unit) * 2);\n}\n\n.main-content .card-info .top ::slotted([slot=\"tags\"]) {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-unit);\n}\n\n.main-content .card-info .top ::slotted([slot=\"data\"]) {\n display: flex;\n justify-content: space-between;\n}\n\n.main-content .card-info .top .ellipsis {\n display: -webkit-box;\n overflow: hidden;\n height: 1.4rem;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.4rem;\n text-overflow: ellipsis;\n word-break: break-all;\n}\n\n.main-content .card-info .top .ellipsis.opera-title {\n height: auto;\n max-height: calc(1.5rem * var(--z-book-card-title-lines));\n -webkit-line-clamp: var(--z-book-card-title-lines);\n line-clamp: var(--z-book-card-title-lines);\n line-height: 1.5rem;\n word-break: var(--z-book-card-title-word-break);\n}\n\n.main-content .card-info .top .ellipsis.volume-title {\n height: auto;\n max-height: calc(1.4rem * var(--z-book-card-subtitle-lines));\n -webkit-line-clamp: var(--z-book-card-subtitle-lines);\n line-clamp: var(--z-book-card-subtitle-lines);\n line-height: 1.4rem;\n word-break: var(--z-book-card-subtitle-word-break);\n}\n\n.main-content .card-info .top .ellipsis.authors {\n height: auto;\n max-height: calc(1.4rem * var(--z-book-card-authors-lines));\n -webkit-line-clamp: var(--z-book-card-authors-lines);\n line-clamp: var(--z-book-card-authors-lines);\n line-height: 1.4rem;\n word-break: var(--z-book-card-authors-word-break);\n}\n\n.main-content .card-info .top .opera-title * {\n all: unset;\n}\n\n.main-content .cta-wrapper {\n display: flex;\n justify-content: space-between;\n gap: calc(var(--space-unit) / 2);\n}\n\n.main-content .card-info .top .link-chip-wrapper {\n display: flex;\n justify-content: space-between;\n}\n\n.main-content .card-info .bottom .ebook {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--space-unit);\n background-color: var(--color-primary02);\n border-radius: var(--border-radius);\n gap: var(--space-unit);\n}\n\n.main-content .card-info .bottom .ebook .app-name {\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) / 2) 0;\n font-family: var(--font-family-serif);\n gap: calc(var(--space-unit) / 2);\n}\n\n.main-content .card-info .bottom .ebook .app-name .ebook-logo {\n width: 1.5rem;\n height: 1.5rem;\n content: url(\"data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 aria-hidden=%22true%22%3E%3Cg clip-path=%22url(%23clip0_11996_224)%22%3E%3Cpath d=%22M14.6644 0.469604H5.00141C2.33305 0.469604 0.169922 2.63274 0.169922 5.3011V14.9641C0.169922 17.6324 2.33305 19.7956 5.00141 19.7956H14.6644C17.3328 19.7956 19.4959 17.6324 19.4959 14.9641V5.3011C19.4959 2.63274 17.3328 0.469604 14.6644 0.469604Z%22 fill=%22%23E2011A%22/%3E%3Cpath d=%22M15.9523 13.3536H12.7313C11.6861 13.3536 10.6683 13.6934 9.83241 14.3199C8.99657 13.6934 7.97873 13.3536 6.93352 13.3536H3.71252V5.30115H6.93352C7.97873 5.30115 8.99657 5.64096 9.83241 6.26745C10.6683 5.64096 11.6861 5.30115 12.7313 5.30115H15.9523V13.3536Z%22 fill=%22white%22/%3E%3Cpath d=%22M15.9523 14.3201H3.71252V14.9643H15.9523V14.3201Z%22 fill=%22black%22/%3E%3Cpath d=%22M8.22229 10.732V8.24543C8.22229 7.97165 8.51057 7.79449 8.75375 7.91689L11.2404 9.16019C11.5109 9.29548 11.5109 9.682 11.2404 9.81728L8.75375 11.0606C8.50896 11.183 8.22229 11.0058 8.22229 10.732Z%22 fill=%22black%22/%3E%3Cpath d=%22M4.35704 7.87826C5.42438 7.87826 6.28963 7.013 6.28963 5.94566C6.28963 4.87831 5.42438 4.01306 4.35704 4.01306C3.28969 4.01306 2.42444 4.87831 2.42444 5.94566C2.42444 7.013 3.28969 7.87826 4.35704 7.87826Z%22 fill=%22black%22/%3E%3Cpath d=%22M5.6454 5.62354H3.0686V6.26773H5.6454V5.62354Z%22 fill=%22white%22/%3E%3Cpath d=%22M4.67917 4.65723H4.03497V7.23402H4.67917V4.65723Z%22 fill=%22white%22/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=%22clip0_11996_224%22%3E%3Crect width=%2219.326%22 height=%2219.326%22 fill=%22white%22 transform=%22translate(0.169922 0.469604)%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E\");\n}\n\n:host([variant=\"landscape\"]) {\n width: 637px;\n min-height: max(332px, 20.75rem);\n padding: 0;\n}\n\n:host([variant=\"landscape\"]) .main-content {\n min-height: max(332px, 20.75rem);\n flex-direction: row;\n padding: calc(var(--space-unit) * 2);\n gap: calc(var(--space-unit) * 2);\n}\n\n:host([variant=\"landscape\"]) .main-content .cover z-book-cover {\n --z-book-cover-height: 300px;\n}\n\n:host([variant=\"landscape\"]) .main-content .card-info,\n:host([variant=\"landscape\"]) .main-content .card-info .top {\n gap: calc(var(--space-unit) / 2);\n}\n\n@media (max-width: 767px) {\n :host([variant=\"portrait\"]) {\n width: 100%;\n max-width: 400px;\n }\n}\n",":root {\n /* font-family */\n --font-family-sans: \"IBM Plex Sans\", sans-serif;\n --font-family-serif: \"IBM Plex Serif\", serif;\n\n /* font-weight */\n --font-lt: 300;\n --font-rg: 400;\n --font-sb: 600;\n --font-bd: 700;\n\n /* font-size type scale */\n --font-size-1: 0.75rem; /* 12px */\n --font-size-2: 0.875rem; /* 14px */\n --font-size-3: 1rem; /* assuming 16px */\n --font-size-4: 1.125rem; /* 18px */\n --font-size-5: 1.25rem; /* 20px */\n --font-size-6: 1.5rem; /* 24px */\n --font-size-7: 1.75rem; /* 28px */\n --font-size-8: 2rem; /* 32px */\n --font-size-9: 2.25rem; /* 36px */\n --font-size-10: 2.625rem; /* 42px */\n --font-size-11: 3rem; /* 48px */\n --font-size-12: 3.375rem; /* 54px */\n --font-size-13: 3.75rem; /* 60px */\n --font-size-14: 4.25rem; /* 68px */\n --font-size-15: 4.75rem; /* 76px */\n --font-size-16: 5.25rem; /* 84px */\n --font-size-17: 5.75rem; /* 92px */\n\n /* cssprops to use with `font` shorthand property */\n --section-title-1: var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);\n --section-title-2: var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);\n --section-title-3: var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);\n --section-title-4: var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);\n --section-title-5: var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);\n --section-title-6: var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif);\n}\n\n/* Typography classes */\n.heading-1,\n.heading-1-sb,\n.heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n}\n\n.heading-2,\n.heading-2-sb,\n.heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-3,\n.heading-3-sb,\n.heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-4,\n.heading-4-sb,\n.heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-1,\n.body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-2,\n.body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-3,\n.body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-4,\n.body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.body-5,\n.body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.interactive-1,\n.interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.interactive-2,\n.interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.interactive-3,\n.interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.helper,\n.helper-sb {\n font-size: var(--font-size-1);\n font-style: italic;\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n/* section title */\n.section-title-1 {\n font: var(--section-title-1);\n}\n\n.section-title-2 {\n font: var(--section-title-2);\n}\n\n.section-title-3 {\n font: var(--section-title-3);\n}\n\n.section-title-4 {\n font: var(--section-title-4);\n}\n\n.section-title-5 {\n font: var(--section-title-5);\n}\n\n.section-title-6 {\n font: var(--section-title-6);\n}\n\n/* heading-1/2 for desktop and wide viewports */\n@media (min-width: 1152px) {\n .heading-1,\n .heading-1-sb,\n .heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .heading-2,\n .heading-2-sb,\n .heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n}\n\n/* viewport classes */\n@media (max-width: 767px) {\n .mobile-heading-1,\n .mobile-heading-1-sb,\n .mobile-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .mobile-heading-2,\n .mobile-heading-2-sb,\n .mobile-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-3,\n .mobile-heading-3-sb,\n .mobile-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-4,\n .mobile-heading-4-sb,\n .mobile-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-1,\n .mobile-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-2,\n .mobile-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-3,\n .mobile-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-4,\n .mobile-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-body-5,\n .mobile-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-interactive-1,\n .mobile-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-interactive-2,\n .mobile-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-interactive-3,\n .mobile-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-section-title-1 {\n font: var(--section-title-1);\n }\n\n .mobile-section-title-2 {\n font: var(--section-title-2);\n }\n\n .mobile-section-title-3 {\n font: var(--section-title-3);\n }\n\n .mobile-section-title-4 {\n font: var(--section-title-4);\n }\n\n .mobile-section-title-5 {\n font: var(--section-title-5);\n }\n\n .mobile-section-title-6 {\n font: var(--section-title-6);\n }\n\n .mobile-heading-1-lt,\n .mobile-heading-2-lt,\n .mobile-heading-3-lt,\n .mobile-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .mobile-heading-1-sb,\n .mobile-heading-2-sb,\n .mobile-heading-3-sb,\n .mobile-heading-4-sb,\n .mobile-body-1-sb,\n .mobile-body-2-sb,\n .mobile-body-3-sb,\n .mobile-body-4-sb,\n .mobile-body-5-sb,\n .mobile-interactive-1-sb,\n .mobile-interactive-2-sb,\n .mobile-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 768px) and (max-width: 1151px) {\n .tablet-heading-1,\n .tablet-heading-1-sb,\n .tablet-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .tablet-heading-2,\n .tablet-heading-2-sb,\n .tablet-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-3,\n .tablet-heading-3-sb,\n .tablet-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-4,\n .tablet-heading-4-sb,\n .tablet-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-1,\n .tablet-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-2,\n .tablet-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-3,\n .tablet-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-4,\n .tablet-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-body-5,\n .tablet-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-interactive-1,\n .tablet-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-interactive-2,\n .tablet-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-interactive-3,\n .tablet-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-section-title-1 {\n font: var(--section-title-1);\n }\n\n .tablet-section-title-2 {\n font: var(--section-title-2);\n }\n\n .tablet-section-title-3 {\n font: var(--section-title-3);\n }\n\n .tablet-section-title-4 {\n font: var(--section-title-4);\n }\n\n .tablet-section-title-5 {\n font: var(--section-title-5);\n }\n\n .tablet-section-title-6 {\n font: var(--section-title-6);\n }\n\n .tablet-heading-1-lt,\n .tablet-heading-2-lt,\n .tablet-heading-3-lt,\n .tablet-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .tablet-heading-1-sb,\n .tablet-heading-2-sb,\n .tablet-heading-3-sb,\n .tablet-heading-4-sb,\n .tablet-body-1-sb,\n .tablet-body-2-sb,\n .tablet-body-3-sb,\n .tablet-body-4-sb,\n .tablet-body-5-sb,\n .tablet-interactive-1-sb,\n .tablet-interactive-2-sb,\n .tablet-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1152px) and (max-width: 1365px) {\n .desktop-heading-1,\n .desktop-heading-1-sb,\n .desktop-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .desktop-heading-2,\n .desktop-heading-2-sb,\n .desktop-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .desktop-heading-3,\n .desktop-heading-3-sb,\n .desktop-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .desktop-heading-4,\n .desktop-heading-4-sb,\n .desktop-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-1,\n .desktop-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-2,\n .desktop-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-3,\n .desktop-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-4,\n .desktop-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-body-5,\n .desktop-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-interactive-1,\n .desktop-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-interactive-2,\n .desktop-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-interactive-3,\n .desktop-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-section-title-1 {\n font: var(--section-title-1);\n }\n\n .desktop-section-title-2 {\n font: var(--section-title-2);\n }\n\n .desktop-section-title-3 {\n font: var(--section-title-3);\n }\n\n .desktop-section-title-4 {\n font: var(--section-title-4);\n }\n\n .desktop-section-title-5 {\n font: var(--section-title-5);\n }\n\n .desktop-section-title-6 {\n font: var(--section-title-6);\n }\n\n .desktop-heading-1-lt,\n .desktop-heading-2-lt,\n .desktop-heading-3-lt,\n .desktop-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .desktop-heading-1-sb,\n .desktop-heading-2-sb,\n .desktop-heading-3-sb,\n .desktop-heading-4-sb,\n .desktop-body-1-sb,\n .desktop-body-2-sb,\n .desktop-body-3-sb,\n .desktop-body-4-sb,\n .desktop-body-5-sb,\n .desktop-interactive-1-sb,\n .desktop-interactive-2-sb,\n .desktop-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1366px) {\n .wide-heading-1,\n .wide-heading-1-sb,\n .wide-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .wide-heading-2,\n .wide-heading-2-sb,\n .wide-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .wide-heading-3,\n .wide-heading-3-sb,\n .wide-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .wide-heading-4,\n .wide-heading-4-sb,\n .wide-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-1,\n .wide-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-2,\n .wide-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-3,\n .wide-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-4,\n .wide-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-body-5,\n .wide-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-interactive-1,\n .wide-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-interactive-2,\n .wide-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-interactive-3,\n .wide-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-section-title-1 {\n font: var(--section-title-1);\n }\n\n .wide-section-title-2 {\n font: var(--section-title-2);\n }\n\n .wide-section-title-3 {\n font: var(--section-title-3);\n }\n\n .wide-section-title-4 {\n font: var(--section-title-4);\n }\n\n .wide-section-title-5 {\n font: var(--section-title-5);\n }\n\n .wide-section-title-6 {\n font: var(--section-title-6);\n }\n\n .wide-heading-1-lt,\n .wide-heading-2-lt,\n .wide-heading-3-lt,\n .wide-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .wide-heading-1-sb,\n .wide-heading-2-sb,\n .wide-heading-3-sb,\n .wide-heading-4-sb,\n .wide-body-1-sb,\n .wide-body-2-sb,\n .wide-body-3-sb,\n .wide-body-4-sb,\n .wide-body-5-sb,\n .wide-interactive-1-sb,\n .wide-interactive-2-sb,\n .wide-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n/* font-weight variants */\n.heading-1-lt,\n.heading-2-lt,\n.heading-3-lt,\n.heading-4-lt {\n font-weight: var(--font-lt);\n}\n\n.heading-1-sb,\n.heading-2-sb,\n.heading-3-sb,\n.heading-4-sb,\n.body-1-sb,\n.body-2-sb,\n.body-3-sb,\n.body-4-sb,\n.body-5-sb,\n.interactive-1-sb,\n.interactive-2-sb,\n.interactive-3-sb,\n.helper-sb {\n font-weight: var(--font-sb);\n}\n","button.z-link {\n padding: 0;\n border: 0;\n margin: 0;\n background-color: transparent;\n}\n\na.z-link,\nbutton.z-link {\n display: inline-flex;\n cursor: pointer;\n font-family: var(--font-family-sans);\n line-height: inherit;\n text-decoration: none;\n}\n\na.z-link.z-link-icon,\nbutton.z-link.z-link-icon {\n --z-icon-width: 1.125em;\n --z-icon-height: 1.125em;\n\n align-items: center;\n column-gap: 0.5em;\n}\n\na.z-link.z-link-sb,\nbutton.z-link.z-link-sb {\n font-weight: var(--font-sb);\n}\n\na.z-link.z-link-underline,\nbutton.z-link.z-link-underline {\n text-decoration: underline;\n}\n\na.z-link:hover,\nbutton.z-link:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link:active,\nbutton.z-link:active {\n text-decoration: underline;\n}\n\na.z-link:focus-visible,\nbutton.z-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na.z-link.z-link-disabled,\nbutton.z-link.z-link-disabled {\n box-shadow: none;\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n outline: none;\n pointer-events: none;\n text-decoration: none;\n}\n\na.z-link,\nbutton.z-link,\na.z-link.z-link-active,\nbutton.z-link.z-link-active,\na.z-link:hover,\nbutton.z-link:hover,\na.z-link.z-link-active:hover,\nbutton.z-link.z-link-active:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link.z-link-active:focus-visible,\nbutton.z-link.z-link-active:focus-visible,\na.z-link:active,\nbutton.z-link:active,\na.z-link.z-link-active:active,\nbutton.z-link.z-link-active:active,\na.z-link:visited,\nbutton.z-link:visited,\na.z-link.z-link-active:visited,\nbutton.z-link.z-link-active:visited {\n color: var(--color-text-link-default);\n fill: var(--color-text-link-default);\n}\n\na.z-link.z-link-blue,\nbutton.z-link.z-link-blue,\na.z-link.z-link-blue.z-link-active,\nbutton.z-link.z-link-blue.z-link-active {\n color: var(--color-text-link-blue);\n fill: var(--color-text-link-blue);\n}\n\na.z-link.z-link-red,\nbutton.z-link.z-link-red,\na.z-link.z-link-red.z-link-active,\nbutton.z-link.z-link-red.z-link-active {\n color: var(--color-text-link-red);\n fill: var(--color-text-link-red);\n}\n\na.z-link.z-link-inverse,\nbutton.z-link.z-link-inverse,\na.z-link.z-link-inverse.z-link-active,\nbutton.z-link.z-link-inverse.z-link-active {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:hover,\nbutton.z-link.z-link-blue:hover {\n color: var(--color-text-link-blue-hover);\n fill: var(--color-text-link-blue-hover);\n}\n\na.z-link.z-link-red:hover,\nbutton.z-link.z-link-red:hover {\n color: var(--color-text-link-red-hover);\n fill: var(--color-text-link-red-hover);\n}\n\na.z-link.z-link-inverse:hover,\nbutton.z-link.z-link-inverse:hover {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:active,\nbutton.z-link.z-link-blue:active,\na.z-link.z-link-blue:focus-visible,\nbutton.z-link.z-link-blue:focus-visible {\n color: var(--color-text-link-blue-active);\n fill: var(--color-text-link-blue-active);\n}\n\na.z-link.z-link-red:active,\nbutton.z-link.z-link-red:active,\na.z-link.z-link-red:focus-visible,\nbutton.z-link.z-link-red:focus-visible {\n color: var(--color-text-link-red-active);\n fill: var(--color-text-link-red-active);\n}\n\na.z-link.z-link-inverse:active,\nbutton.z-link.z-link-inverse:active,\na.z-link.z-link-inverse:focus-visible,\nbutton.z-link.z-link-inverse:focus-visible {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:visited,\nbutton.z-link.z-link-blue:visited {\n color: var(--color-text-link-blue-visited);\n fill: var(--color-text-link-blue-visited);\n}\n\na.z-link.z-link-red:visited,\nbutton.z-link.z-link-red:visited {\n color: var(--color-text-link-red-visited);\n fill: var(--color-text-link-red-visited);\n}\n\na.z-link.z-link-inverse:visited,\nbutton.z-link.z-link-inverse:visited {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n","import {Component, Element, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {BookCardVariant, ControlSize} from \"../../../beans\";\n\n/**\n * @slot cta - Top right cta (e.g. bookmark icon)\n * @slot ebook - As default, it shows laZ ebook link\n * @slot tags - Tags section, default empty\n * @slot data - External link and pill, default empty\n * @slot apps - List of card-related apps, default empty\n * @slot coverOverlay - Content to be displayed in the `z-book-cover` component slot\n * @cssprop --z-book-card-portrait-cover-height - Set custom cover height for portrait variant - Default: `378px`\n * @cssprop --z-book-card-title-lines - Set title avilable lines - Default: `2`\n * @cssprop --z-book-card-title-word-break - Set title word-break rule - Default: `initial`\n * @cssprop --z-book-card-subtitle-lines - Set subtitle available lines - Default: `1`\n * @cssprop --z-book-card-subtitle-word-break - Set subtitle word-break rule - Default: `break-all`\n * @cssprop --z-book-card-authors-lines - Set authors available lines - Default: `1`\n * @cssprop --z-book-card-authors-word-break - Set authors word-break rule - Default: `break-all`\n */\n@Component({\n tag: \"z-book-card\",\n styleUrls: [\"styles.css\", \"../../../tokens/typography.css\", \"../../css-components/z-link/styles.css\"],\n shadow: true,\n})\nexport class ZBookCard {\n @Element() hostElement: HTMLZBookCardElement;\n\n /** Card variant: landscape, portrait */\n @Prop({reflect: true})\n variant: BookCardVariant = BookCardVariant.PORTRAIT;\n\n /** Cover URL */\n @Prop()\n cover: string;\n\n /** Opera title (card title) */\n @Prop()\n operaTitle: string;\n\n /** [optional] Volume title (card subvolume) */\n @Prop()\n volumeTitle?: string;\n\n /** [optional] Authors */\n @Prop()\n authors?: string;\n\n /** [optional] Main ISBN */\n @Prop()\n isbn?: string;\n\n /** [optional] ISBN label */\n @Prop()\n isbnLabel = \"\";\n\n /** [optional] year */\n @Prop()\n year?: string;\n\n /** [optional] Link to the ebook resource. Creates a link also around the cover and title. */\n @Prop()\n ebookUrl?: string;\n\n /** [optional] Value for the `target` attribute of the links created by `ebookUrl` prop. */\n @Prop()\n linkTarget = \"_blank\";\n\n /** [optional] Fallback cover URL. */\n @Prop()\n fallbackCover?: string;\n\n /** Whether to show a stack of covers to represent multiple books (only for `portrait` variant). */\n @Prop()\n hasMultipleCovers = false;\n\n /** [optional] Set a specific heading level as html tag for the title. */\n @Prop()\n titleHtmlTag?: string;\n\n /** click on ebook link */\n @Event()\n ebookClick: EventEmitter;\n\n /** click on cover link */\n @Event()\n coverClick: EventEmitter;\n\n /** click on title link */\n @Event()\n titleClick: EventEmitter;\n\n private emitEbookClick(): void {\n this.ebookClick.emit();\n }\n\n private emitCoverClick(): void {\n this.coverClick.emit();\n }\n\n private emitTitleClick(): void {\n this.titleClick.emit();\n }\n\n private renderCover(): HTMLDivElement {\n const CoverTag = this.ebookUrl ? \"a\" : \"div\";\n const coverAttrs = this.ebookUrl\n ? {\n href: this.ebookUrl,\n onClick: () => this.emitCoverClick(),\n target: this.linkTarget,\n }\n : {};\n\n return (\n <CoverTag\n class=\"cover\"\n {...coverAttrs}\n >\n <z-book-cover\n cover={this.cover}\n fallbackCover={this.fallbackCover}\n multiple={this.hasMultipleCovers && this.variant === BookCardVariant.PORTRAIT}\n >\n <slot\n name=\"coverOverlay\"\n slot=\"coverOverlay\"\n ></slot>\n </z-book-cover>\n </CoverTag>\n );\n }\n\n private renderYear(): null | HTMLDivElement {\n if (!this.year) {\n return null;\n }\n\n return (\n <div\n class=\"year ellipsis body-4\"\n aria-description=\"anno\"\n >\n {this.year}\n </div>\n );\n }\n\n private renderAuthors(): null | HTMLDivElement {\n if (!this.authors) {\n return null;\n }\n\n return (\n <div class=\"cta-wrapper\">\n <div\n class=\"authors ellipsis body-4\"\n aria-description=\"autori\"\n >\n {this.authors}\n </div>\n {this.variant === BookCardVariant.LANDSCAPE ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderOperaTitle(): HTMLDivElement {\n const title = this.titleHtmlTag\n ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`\n : this.operaTitle;\n\n const operaTitle = (\n <div\n class=\"opera-title ellipsis body-2-sb\"\n innerHTML={title}\n />\n );\n\n return (\n <div class=\"cta-wrapper\">\n {this.ebookUrl ? (\n <a\n class=\"z-link\"\n href={this.ebookUrl}\n onClick={() => this.emitTitleClick()}\n target={this.linkTarget}\n >\n {operaTitle}\n </a>\n ) : (\n operaTitle\n )}\n {this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null}\n </div>\n );\n }\n\n private renderVolumeTitle(): null | HTMLDivElement {\n if (!this.volumeTitle) {\n return null;\n }\n\n return <div class=\"volume-title ellipsis body-4\">{this.volumeTitle}</div>;\n }\n\n private renderIsbn(): null | HTMLDivElement {\n if (!this.isbn) {\n return null;\n }\n\n return (\n <div\n class=\"isbn ellipsis body-4-sb\"\n aria-description={`isbn ${this.isbnLabel}`}\n >\n {this.isbn} {this.isbnLabel ? <span class=\"body-4\">{this.isbnLabel}</span> : null}\n </div>\n );\n }\n\n private renderEbook(): HTMLDivElement {\n return (\n <div class=\"ebook\">\n <div class=\"app-name\">\n <img\n class=\"ebook-logo\"\n aria-hidden=\"true\"\n />\n <div class=\"body-4-sb\">laZ Ebook</div>\n </div>\n <z-button\n size={ControlSize.X_SMALL}\n href={this.ebookUrl}\n target={this.linkTarget}\n onClick={() => this.emitEbookClick()}\n htmlrole=\"link\"\n aria-description={`leggi l'ebook ${this.operaTitle} su laZ Ebook`}\n >\n leggi ebook\n </z-button>\n </div>\n );\n }\n\n private renderCtaSlot(): HTMLSlotElement {\n return <slot name=\"cta\"></slot>;\n }\n\n render(): HTMLZBookCardElement {\n return (\n <Host>\n <div class=\"main-content\">\n {this.renderCover()}\n <div class=\"card-info\">\n <div class=\"top\">\n <div>\n {this.renderYear()}\n {this.renderAuthors()}\n {this.renderOperaTitle()}\n {this.renderVolumeTitle()}\n {this.renderIsbn()}\n </div>\n <slot name=\"tags\"></slot>\n <slot name=\"data\"></slot>\n </div>\n <slot name=\"ebook\">{!!this.ebookUrl && <div class=\"bottom\">{this.renderEbook()}</div>}</slot>\n </div>\n </div>\n <slot name=\"apps\"></slot>\n </Host>\n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAY,24KAClB,MAAAC,EAAeD,ECDf,MAAME,EAAgB,k8XACtB,MAAAC,EAAeD,ECDf,MAAMF,EAAY,0gHAClB,MAAAI,EAAeJ,E,MCsBFK,EAAS,M,2JAKOC,EAAgBC,S,oIAwB/B,G,4DAYC,S,oDAQO,M,4BAkBZ,cAAAC,GACNC,KAAKC,WAAWC,M,CAGV,cAAAC,GACNH,KAAKI,WAAWF,M,CAGV,cAAAG,GACNL,KAAKM,WAAWJ,M,CAGV,WAAAK,GACN,MAAMC,EAAWR,KAAKS,SAAW,IAAM,MACvC,MAAMC,EAAaV,KAAKS,SACpB,CACEE,KAAMX,KAAKS,SACXG,QAAS,IAAMZ,KAAKG,iBACpBU,OAAQb,KAAKc,YAEf,GAEJ,OACEC,EAACP,EAAQQ,OAAAC,OAAA,CACPC,MAAM,SACFR,GAEJK,EAAA,gBACEI,MAAOnB,KAAKmB,MACZC,cAAepB,KAAKoB,cACpBC,SAAUrB,KAAKsB,mBAAqBtB,KAAKuB,UAAY1B,EAAgBC,UAErEiB,EAAA,QACES,KAAK,eACLC,KAAK,kB,CAOP,UAAAC,GACN,IAAK1B,KAAK2B,KAAM,CACd,OAAO,I,CAGT,OACEZ,EAAA,OACEG,MAAM,uBAAsB,mBACX,QAEhBlB,KAAK2B,K,CAKJ,aAAAC,GACN,IAAK5B,KAAK6B,QAAS,CACjB,OAAO,I,CAGT,OACEd,EAAA,OAAKG,MAAM,eACTH,EAAA,OACEG,MAAM,0BAAyB,mBACd,UAEhBlB,KAAK6B,SAEP7B,KAAKuB,UAAY1B,EAAgBiC,UAAY9B,KAAK+B,gBAAkB,K,CAKnE,gBAAAC,GACN,MAAMC,EAAQjC,KAAKkC,aACf,IAAIlC,KAAKkC,gBAAgBlC,KAAKmC,eAAenC,KAAKkC,gBAClDlC,KAAKmC,WAET,MAAMA,EACJpB,EAAA,OACEG,MAAM,iCACNkB,UAAWH,IAIf,OACElB,EAAA,OAAKG,MAAM,eACRlB,KAAKS,SACJM,EAAA,KACEG,MAAM,SACNP,KAAMX,KAAKS,SACXG,QAAS,IAAMZ,KAAKK,iBACpBQ,OAAQb,KAAKc,YAEZqB,GACC,EAILnC,KAAKuB,UAAY1B,EAAgBC,SAAWE,KAAK+B,gBAAkB,K,CAKlE,iBAAAM,GACN,IAAKrC,KAAKsC,YAAa,CACrB,OAAO,I,CAGT,OAAOvB,EAAA,OAAKG,MAAM,gCAAgClB,KAAKsC,Y,CAGjD,UAAAC,GACN,IAAKvC,KAAKwC,KAAM,CACd,OAAO,I,CAGT,OACEzB,EAAA,OACEG,MAAM,0BAAyB,mBACb,QAAQlB,KAAKyC,aAE9BzC,KAAKwC,KAAI,IAAGxC,KAAKyC,UAAY1B,EAAA,QAAMG,MAAM,UAAUlB,KAAKyC,WAAoB,K,CAK3E,WAAAC,GACN,OACE3B,EAAA,OAAKG,MAAM,SACTH,EAAA,OAAKG,MAAM,YACTH,EAAA,OACEG,MAAM,aAAY,cACN,SAEdH,EAAA,OAAKG,MAAM,aAAW,cAExBH,EAAA,YACE4B,KAAMC,EAAYC,QAClBlC,KAAMX,KAAKS,SACXI,OAAQb,KAAKc,WACbF,QAAS,IAAMZ,KAAKD,iBACpB+C,SAAS,OAAM,mBACG,iBAAiB9C,KAAKmC,2BAAyB,e,CAQjE,aAAAJ,GACN,OAAOhB,EAAA,QAAMS,KAAK,O,CAGpB,MAAAuB,GACE,OACEhC,EAACiC,EAAI,CAAAC,IAAA,4CACHlC,EAAA,OAAAkC,IAAA,2CAAK/B,MAAM,gBACRlB,KAAKO,cACNQ,EAAA,OAAAkC,IAAA,2CAAK/B,MAAM,aACTH,EAAA,OAAAkC,IAAA,2CAAK/B,MAAM,OACTH,EAAA,OAAAkC,IAAA,4CACGjD,KAAK0B,aACL1B,KAAK4B,gBACL5B,KAAKgC,mBACLhC,KAAKqC,oBACLrC,KAAKuC,cAERxB,EAAA,QAAAkC,IAAA,2CAAMzB,KAAK,SACXT,EAAA,QAAAkC,IAAA,2CAAMzB,KAAK,UAEbT,EAAA,QAAAkC,IAAA,2CAAMzB,KAAK,WAAWxB,KAAKS,UAAYM,EAAA,OAAAkC,IAAA,2CAAK/B,MAAM,UAAUlB,KAAK0C,kBAGrE3B,EAAA,QAAAkC,IAAA,2CAAMzB,KAAK,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as e,a as s,g as r}from"./p-75c4a726.js";import{P as i,g as n,p as a}from"./p-17af7fb2.js";import{a as h,j as c,k as f,g as p,l}from"./p-e6778114.js";import"./p-5145a606.js";const u=':host{position:fixed;display:none;max-width:calc(100% - var(--grid-margin) * 2);max-height:calc(100% - var(--grid-margin) * 2);padding:var(--z-popover-padding, 0);background:var(--z-popover-theme--surface, var(--color-surface01));border-radius:var(--border-radius-small);color:var(--z-popover-theme--text, var(--color-default-text));fill:currentcolor;filter:var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));text-align:center;visibility:hidden;}:host([open]:not([open="false"])[current-position]){display:block}: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])::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, var(--color-surface01));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}';const b=u;const d=class{constructor(e){t(this,e);this.positionChange=o(this,"positionChange",7);this.openChange=o(this,"openChange",7);this.spaceTolerance=3;this.position=i.TOP;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===n.ESC){this.open=false}}handleOutsideClick(t){const o=t.target;if(!this.closable||!this.open||h(this.host,o)){return}if(h(this.boundElement,o)){t.stopPropagation()}this.open=false}validatePosition(t){if(!Object.values(i).includes(t)||t===i.AUTO){t=i.TOP;this.position=t}this.currentPosition=t;if(this.open){this.setPosition()}}onOpen(){cancelAnimationFrame(this.animationFrameRequestId);this.openChange.emit({open:this.open});if(!this.open){Object.assign(this.host.style,{top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"",maxHeight:"",visibility:"hidden"});this.currentPosition=undefined;return}const t=()=>{if(!this.open){return}this.setPosition();this.animationFrameRequestId=requestAnimationFrame(t)};setTimeout((()=>{t()}),0)}onBindingChange(){this.findBoundElement()}get offsetModifier(){return this.center?.5:0}findBoundElement(){if(typeof this.bindTo==="string"){this.boundElement=this.host.ownerDocument.querySelector(this.bindTo)}else if(this.bindTo){this.boundElement=this.bindTo}else{this.boundElement=c(this.host);if(this.boundElement.tagName.toLowerCase()==="z-tooltip"){this.boundElement=c(this.boundElement)}}}hasCenteredHorizontalSpace(t,o,e,s){const r=(e-s)*(1-this.offsetModifier);if(!this.center){return o>=r-this.spaceTolerance}return o>=r-this.spaceTolerance&&t>=r-this.spaceTolerance}hasCenteredVerticalSpace(t,o,e,s){const r=(e-s)*(1-this.offsetModifier);if(!this.center){return o>=r-this.spaceTolerance}return t>=r-this.spaceTolerance&&o>=r-this.spaceTolerance}hasEnoughSideSpace(t,o,e,s){return t>=o-e*(1-s)-this.spaceTolerance}getOptimalPopoverPosition(t,o){const e=this.host.offsetWidth;const s=this.host.offsetHeight;const r=this.boundElement.getBoundingClientRect().width;const n=this.boundElement.getBoundingClientRect().height;const a=this.offsetModifier;const h=t=>{switch(t){case i.TOP:return o.top>=s-this.spaceTolerance&&this.hasCenteredHorizontalSpace(o.left,o.right,e,r);case i.TOP_RIGHT:return o.top>=s&&this.hasEnoughSideSpace(o.right,e,r,a);case i.TOP_LEFT:return o.top>=s&&this.hasEnoughSideSpace(o.left,e,r,a);case i.RIGHT:return o.right>=e&&this.hasCenteredVerticalSpace(o.top,o.bottom,s,n);case i.RIGHT_BOTTOM:return o.right>=e&&this.hasEnoughSideSpace(o.bottom,s,n,a);case i.RIGHT_TOP:return o.right>=e&&this.hasEnoughSideSpace(o.top,s,n,a);case i.BOTTOM:return o.bottom>=s&&this.hasCenteredHorizontalSpace(o.left,o.right,e,r);case i.BOTTOM_LEFT:return o.bottom>=s&&this.hasEnoughSideSpace(o.left,e,r,a);case i.BOTTOM_RIGHT:return o.bottom>=s&&this.hasEnoughSideSpace(o.right,e,r,a);case i.LEFT:return o.left>=e&&this.hasCenteredVerticalSpace(o.top,o.bottom,s,n);case i.LEFT_TOP:return o.left>=e&&this.hasEnoughSideSpace(o.top,s,n,a);case i.LEFT_BOTTOM:return o.left>=e&&this.hasEnoughSideSpace(o.bottom,s,n,a);default:return false}};if(h(t)){return t}const c=d.positionOrder;const f=c.indexOf(t);if(f===-1){return t}for(let t=1;t<c.length;t++){const o=(f+t)%c.length;const e=c[o];if(h(e)){return e}}return this.findBestFallbackPosition(o)}findBestFallbackPosition(t){const o=t.right>=t.left?i.RIGHT:i.LEFT;const e=t.bottom>=t.top?i.BOTTOM:i.TOP;const s=Math.max(t.right,t.left);const r=Math.max(t.bottom,t.top);const n=r>=s?e:o;let a=false;if(n===e){const o=Math.min(t.right,t.left);a=s>=o*2}else{const o=Math.min(t.bottom,t.top);a=r>=o*2}if(!a){return n}const h=n===e?o:e;return`${n}_${h}`}findScrollableAncestor(t){let o=c(t);while(o){if(o===t.ownerDocument.documentElement){return o}const e=window.getComputedStyle(o);const{overflow:s,overflowX:r,overflowY:i}=e;const n=s==="hidden"||i==="hidden"||r==="hidden";const a=o.scrollHeight>o.clientHeight&&s!=="visible"&&i!=="visible"||o.scrollWidth>o.clientWidth&&s!=="visible"&&r!=="visible";if(!n&&a){return o}o=c(o)}return t.ownerDocument.documentElement}calculateAvailableSpace(){const t=this.boundElement.getBoundingClientRect();if(this.lastBoundRect&&this.lastBoundRect.x===t.x&&this.lastBoundRect.y===t.y&&this.lastBoundRect.width===t.width&&this.lastBoundRect.height===t.height&&this.cachedAvailableSpace){return this.cachedAvailableSpace}this.lastBoundRect=t;const o=this.findScrollableAncestor(this.boundElement);const e=o.getBoundingClientRect();const s=o!==this.boundElement.ownerDocument.documentElement;const r=this.boundElement.ownerDocument.documentElement.clientWidth;const i=this.boundElement.ownerDocument.documentElement.clientHeight;const n=8;const a=s?e.top:0;const h=s?r-e.right:0;const c=s?i-e.bottom:0;const f=s?e.left:0;this.cachedAvailableSpace={top:t.top-a-n,right:r-t.right-h-n,bottom:i-t.bottom-c-n,left:t.left-f-n};return this.cachedAvailableSpace}getBoundElementOffsets(){const t=this.boundElement.getBoundingClientRect();const o=this.boundElement.ownerDocument.documentElement.clientWidth;const e=this.boundElement.ownerDocument.documentElement.clientHeight;return{top:t.top,right:o-t.right,bottom:e-t.bottom,left:t.left}}computePositionOffsets(){const t=this.getBoundElementOffsets();const o=f(this.host);const e=o===this.host.ownerDocument.documentElement;if(e){return t}const s=o.getBoundingClientRect();const r=getComputedStyle(o);const i={top:s.top+parseFloat(r.borderTopWidth),right:s.right-parseFloat(r.borderRightWidth),bottom:s.bottom-parseFloat(r.borderBottomWidth),left:s.left+parseFloat(r.borderLeftWidth)};const n=this.boundElement.getBoundingClientRect();const a={top:n.top-i.top,right:i.right-n.right,bottom:i.bottom-n.bottom,left:n.left-i.left};return{top:a.top+o.scrollTop,right:a.right-o.scrollLeft,bottom:a.bottom-o.scrollTop,left:a.left+o.scrollLeft}}applyPositionStyles(t,o){const e=this.boundElement.offsetWidth;const s=this.boundElement.offsetHeight;const r=this.offsetModifier;const n=this.showArrow&&this.center?8:0;const h=this.host.style;const c=parseInt(h.getPropertyValue("--space-unit"))||8;const f=this.computePositionOffsets();const l=f.left+e*r;const u=f.right+e*r;const b=f.top+s;const d=f.bottom+s;const g=f.top+s*r;const m=f.bottom+s*r;let v;let w;switch(t){case i.TOP:case i.TOP_RIGHT:h.bottom=`${d+c}px`;h.left=`${l-(t===i.TOP_RIGHT?n:0)}px`;w=o.top-c;if(t===i.TOP_RIGHT){v=o.right+e*r}break;case i.TOP_LEFT:h.right=`${u-n}px`;h.bottom=`${d+c}px`;v=o.left+e*r;w=o.top-c;break;case i.BOTTOM:case i.BOTTOM_RIGHT:h.top=`${b+c}px`;h.left=`${l-(t===i.BOTTOM_RIGHT?n:0)}px`;w=o.bottom-c;if(t===i.BOTTOM_RIGHT){v=o.right+e*r}break;case i.BOTTOM_LEFT:h.top=`${b+c}px`;h.right=`${u-n}px`;v=o.left+e*r;w=o.bottom-c;break;case i.RIGHT:case i.RIGHT_BOTTOM:h.top=`${g-(t===i.RIGHT_BOTTOM?n:0)}px`;h.left=`${f.left+e+c}px`;v=o.right-c;if(t===i.RIGHT){w=o.top+o.bottom+s}else{w=o.bottom+s*r}break;case i.RIGHT_TOP:h.bottom=`${m-n}px`;h.left=`${f.left+e+c}px`;v=o.right-c;w=o.top+s*r;break;case i.LEFT:case i.LEFT_BOTTOM:h.top=`${g-(t===i.LEFT_BOTTOM?n:0)}px`;h.right=`${f.right+e+c}px`;v=o.left-c;if(t===i.LEFT_BOTTOM){w=o.bottom+s*r}break;case i.LEFT_TOP:h.right=`${f.right+e+c}px`;h.bottom=`${m-n}px`;v=o.left-c;w=o.top+s*r;break}if(p()!==a.MOBILE){Object.assign(h,{maxWidth:v?`${v}px`:"",maxHeight:w?`${w}px`:""})}}setPosition(){if(!this.boundElement){return}if(!l(this.boundElement,this.findScrollableAncestor(this.boundElement))){this.open=false;return}Object.assign(this.host.style,{top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"",maxHeight:"",visibility:"hidden"});const t=this.calculateAvailableSpace();const o=this.getOptimalPopoverPosition(this.position,t);this.applyPositionStyles(o,t);this.currentPosition=o;this.positionChange.emit({position:this.currentPosition});this.host.style.visibility="visible"}componentWillLoad(){this.validatePosition(this.position)}componentDidLoad(){this.findBoundElement();if(this.open){this.onOpen()}}disconnectedCallback(){cancelAnimationFrame(this.animationFrameRequestId)}render(){return e(s,{key:"a778d9679d27ca18fe92eab0f596a86cb904a49f","current-position":this.currentPosition},e("slot",{key:"de51304770f9f501a10ca26232448a31482da68d"}))}get host(){return r(this)}static get watchers(){return{position:["validatePosition"],open:["onOpen"],bindTo:["onBindingChange"]}}};d.positionOrder=[i.TOP,i.TOP_RIGHT,i.TOP_LEFT,i.RIGHT,i.RIGHT_BOTTOM,i.RIGHT_TOP,i.BOTTOM,i.BOTTOM_LEFT,i.BOTTOM_RIGHT,i.LEFT,i.LEFT_TOP,i.LEFT_BOTTOM];d.style=b;export{d as z_popover};
2
- //# sourceMappingURL=p-334cba5d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZPopoverStyle0","ZPopover","this","spaceTolerance","PopoverPosition","TOP","closePopoverWithKeyboard","e","closable","key","KeyboardCode","ESC","open","handleOutsideClick","target","containsElement","host","boundElement","stopPropagation","validatePosition","newValue","Object","values","includes","AUTO","position","currentPosition","setPosition","onOpen","cancelAnimationFrame","animationFrameRequestId","openChange","emit","assign","style","top","right","bottom","left","maxWidth","maxHeight","visibility","undefined","updatePositionLoop","requestAnimationFrame","setTimeout","onBindingChange","findBoundElement","offsetModifier","center","bindTo","ownerDocument","querySelector","getParentElement","tagName","toLowerCase","hasCenteredHorizontalSpace","availableLeft","availableRight","hostWidth","boundElementWidth","requiredSideSpace","hasCenteredVerticalSpace","availableTop","availableBottom","hostHeight","boundElementHeight","hasEnoughSideSpace","availableSpace","hostSize","boundElementSize","getOptimalPopoverPosition","desiredPosition","offsetWidth","offsetHeight","getBoundingClientRect","width","height","fits","pos","TOP_RIGHT","TOP_LEFT","RIGHT","RIGHT_BOTTOM","RIGHT_TOP","BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT","LEFT_TOP","LEFT_BOTTOM","positions","positionOrder","startIndex","indexOf","i","length","posIndex","findBestFallbackPosition","bestHorizontalDirection","bestVerticalDirection","maxHorizontalSpace","Math","max","maxVerticalSpace","mainDirection","needsSecondaryDirection","minHorizontalSpace","min","minVerticalSpace","secondaryDirection","findScrollableAncestor","element","parent","documentElement","window","getComputedStyle","overflow","overflowX","overflowY","hasHiddenOverflow","isScrollable","scrollHeight","clientHeight","scrollWidth","clientWidth","calculateAvailableSpace","boundElementRect","lastBoundRect","x","y","cachedAvailableSpace","scrollableAncestor","scrollableAncestorRect","isScrollableAncestorNested","documentWidth","documentHeight","safeSpace","deltaTop","deltaRight","deltaBottom","deltaLeft","getBoundElementOffsets","elementRect","computePositionOffsets","boundElementOffsets","containingBlockAncestor","findContainingBlockAncestor","isDocumentElement","containingBlockRect","containingBlockStyle","paddingBox","parseFloat","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","relativeOffsets","scrollTop","scrollLeft","applyPositionStyles","arrowModifier","showArrow","hostStyle","distanceFromBound","parseInt","getPropertyValue","positionOffsets","leftBase","rightBase","topBase","bottomBase","sideTopBase","sideBottomBase","getDevice","Device","MOBILE","isElementVisibleInContainer","positionChange","componentWillLoad","componentDidLoad","disconnectedCallback","render","h","Host"],"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: ;\n --z-popover-theme--text: ;\n --z-popover-padding: ;\n --z-popover-shadow-filter: ;\n\n position: fixed;\n display: none;\n max-width: calc(100% - var(--grid-margin) * 2);\n max-height: calc(100% - var(--grid-margin) * 2);\n padding: var(--z-popover-padding, 0);\n background: var(--z-popover-theme--surface, var(--color-surface01));\n border-radius: var(--border-radius-small);\n color: var(--z-popover-theme--text, var(--color-default-text));\n fill: currentcolor;\n filter: var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));\n text-align: center;\n visibility: hidden; /* hidden by default. the positioning algorithm will set it to 'visible' when needed */\n}\n\n:host([open]:not([open=\"false\"])[current-position]) {\n display: block;\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/* 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, var(--color-surface01));\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","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {Device, KeyboardCode, PopoverPosition} from \"../../beans\";\nimport {\n containsElement,\n findContainingBlockAncestor,\n getDevice,\n getParentElement,\n isElementVisibleInContainer,\n} from \"../../utils/utils\";\n\n/** Centering offset modifier. 0 for no offset, 0.5 for centering. */\ntype OffsetModifier = 0 | 0.5;\ntype Offsets = {top: number; right: number; bottom: number; left: number};\n\n/**\n * Popover component.\n * This component displays a popover bound to an element.\n * It supports various positions and can automatically adjust it based on available space, accounting for scrollable containers.\n *\n * Notes:\n * - If positioning has an odd behavior, consider manually adjusting the size of the slotted elements (using `width`, `height`, `max-width`, `max-height`, etc...) when its content is \"fluid\" (like text), because it can interfere with the position calculation (for example a long text on one single line can be bigger than the available space, letting the algorithm think the popover doesn't fits).\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 /**\n * The preferred position to render the popover.\n * The popover will automatically search another position if not enough space is available for the preferred position.\n * If the preferred position is not available, it will try to find the best position starting from `TOP` and going clockwise.\n */\n @Prop({reflect: true, mutable: true})\n position?: PopoverPosition = PopoverPosition.TOP;\n\n /**\n * The initial open state of the popover.\n * Internal changes of this prop are emitted through the `openChange` event.\n * Make sure to listen to that event if you need the updated state of the popover from the outside, to avoid inconsistent values.\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 /** Whether to show popover's arrow. */\n @Prop({reflect: true})\n showArrow = false;\n\n /** Whether to center the popup on the main side (according to \"position\"). */\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 * It differs from `position` only when calculated automatically for space reasons.\n */\n @State()\n currentPosition?: PopoverPosition;\n\n @Element() host: HTMLZPopoverElement;\n\n // Clockwise order of positions.\n private static readonly positionOrder: PopoverPosition[] = [\n PopoverPosition.TOP,\n PopoverPosition.TOP_RIGHT,\n PopoverPosition.TOP_LEFT,\n PopoverPosition.RIGHT,\n PopoverPosition.RIGHT_BOTTOM,\n PopoverPosition.RIGHT_TOP,\n PopoverPosition.BOTTOM,\n PopoverPosition.BOTTOM_LEFT,\n PopoverPosition.BOTTOM_RIGHT,\n PopoverPosition.LEFT,\n PopoverPosition.LEFT_TOP,\n PopoverPosition.LEFT_BOTTOM,\n ] as const;\n\n private animationFrameRequestId?: number;\n\n /** space tolerance for space calculations */\n private readonly spaceTolerance = 3;\n\n /** The element bound to the popover. */\n private boundElement?: HTMLElement;\n\n /** Cached available space around the bound element to avoid unnecessary recalculations */\n private cachedAvailableSpace?: Offsets;\n\n /** Last bounding rect of the bound element to detect changes and eventually invalidate the caches. */\n private lastBoundRect?: DOMRect;\n\n /** Fired when the position changes. */\n @Event()\n positionChange: EventEmitter;\n\n /** Open change event. */\n @Event()\n openChange: EventEmitter;\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 */\n @Listen(\"click\", {target: \"body\", capture: true})\n handleOutsideClick(e: MouseEvent): void {\n const target = e.target as Element;\n if (!this.closable || !this.open || containsElement(this.host, target)) {\n return;\n }\n\n if (containsElement(this.boundElement, target)) {\n // stop propagation if the click was on the trigger element to prevent close and reopen glitches\n e.stopPropagation();\n }\n this.open = false;\n }\n\n @Watch(\"position\")\n validatePosition(newValue: PopoverPosition): void {\n if (!Object.values(PopoverPosition).includes(newValue as PopoverPosition) || newValue === PopoverPosition.AUTO) {\n newValue = PopoverPosition.TOP;\n this.position = newValue;\n }\n this.currentPosition = newValue;\n if (this.open) {\n this.setPosition();\n }\n }\n\n /** Setup popover behaviors when `open` changes. */\n @Watch(\"open\")\n onOpen(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n this.openChange.emit({open: this.open});\n if (!this.open) {\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n this.currentPosition = undefined;\n\n return;\n }\n\n const updatePositionLoop = (): void => {\n if (!this.open) {\n return;\n }\n\n this.setPosition();\n this.animationFrameRequestId = requestAnimationFrame(updatePositionLoop);\n };\n\n // call `setPosition` after a tick to ensure the DOM is ready and sizes are available\n setTimeout(() => {\n updatePositionLoop();\n }, 0);\n }\n\n @Watch(\"bindTo\")\n onBindingChange(): void {\n this.findBoundElement();\n }\n\n /** Returns the offset modifier to use in calculations to align the popover with the bound element. */\n private get offsetModifier(): OffsetModifier {\n return this.center ? 0.5 : 0;\n }\n\n private findBoundElement(): void {\n if (typeof this.bindTo === \"string\") {\n this.boundElement = this.host.ownerDocument.querySelector(this.bindTo) as HTMLElement;\n } else if (this.bindTo) {\n this.boundElement = this.bindTo;\n } else {\n this.boundElement = getParentElement(this.host) as HTMLElement;\n if (this.boundElement.tagName.toLowerCase() === \"z-tooltip\") {\n // If the popover is used inside a tooltip without a specified `bindTo`, bind it to the parent of the tooltip.\n this.boundElement = getParentElement(this.boundElement) as HTMLElement;\n }\n }\n }\n\n /**\n * Check if element has enough space to the right and left to be centered.\n * Used for `TOP` and `BOTTOM` position.\n * When `center` is not enabled, only one side needs to be checked and `RIGHT` is the default.\n */\n private hasCenteredHorizontalSpace(\n availableLeft: number,\n availableRight: number,\n hostWidth: number,\n boundElementWidth: number\n ): boolean {\n const requiredSideSpace = (hostWidth - boundElementWidth) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableRight >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableRight >= requiredSideSpace - this.spaceTolerance &&\n availableLeft >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if element has enough space to the top and bottom to be centered.\n * Used for `RIGHT` and `LEFT` position.\n * When `center` is not enabled, only one side needs to be checked and `BOTTOM` is the default.\n */\n private hasCenteredVerticalSpace(\n availableTop: number,\n availableBottom: number,\n hostHeight: number,\n boundElementHeight: number\n ): boolean {\n const requiredSideSpace = (hostHeight - boundElementHeight) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableBottom >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableTop >= requiredSideSpace - this.spaceTolerance &&\n availableBottom >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if there is enough space in the given direction to fit the popover.\n * Used for composed positions like TOP_RIGHT, LEFT_BOTTOM, etc.\n */\n private hasEnoughSideSpace(\n availableSpace: number,\n hostSize: number,\n boundElementSize: number,\n offsetModifier: OffsetModifier\n ): boolean {\n return availableSpace >= hostSize - boundElementSize * (1 - offsetModifier) - this.spaceTolerance;\n }\n\n /**\n * Given a desired position and available space around the bound element, returns the best position\n * that fits the popover, trying all positions if needed.\n * Takes into account offsetModifier for centering.\n * @param desiredPosition The desired position of the popover.\n * @param availableSpace The available space around the bound element.\n */\n private getOptimalPopoverPosition(desiredPosition: PopoverPosition, availableSpace: Offsets): PopoverPosition {\n const hostWidth = this.host.offsetWidth;\n const hostHeight = this.host.offsetHeight;\n const boundElementWidth = this.boundElement.getBoundingClientRect().width;\n const boundElementHeight = this.boundElement.getBoundingClientRect().height;\n const offsetModifier = this.offsetModifier;\n\n /** Check if there is enough space to fit the popover in the desired position */\n const fits = (pos: PopoverPosition): boolean => {\n switch (pos) {\n case PopoverPosition.TOP:\n return (\n availableSpace.top >= hostHeight - this.spaceTolerance &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.TOP_RIGHT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.TOP_LEFT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.RIGHT:\n return (\n availableSpace.right >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.RIGHT_BOTTOM:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.RIGHT_TOP:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.BOTTOM:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.BOTTOM_LEFT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.BOTTOM_RIGHT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.LEFT:\n return (\n availableSpace.left >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.LEFT_TOP:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.LEFT_BOTTOM:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n\n default:\n return false;\n }\n };\n\n // Check desired position first\n if (fits(desiredPosition)) {\n return desiredPosition;\n }\n\n // Find position index and create rotation starting from next position\n const positions = ZPopover.positionOrder;\n const startIndex = positions.indexOf(desiredPosition);\n\n if (startIndex === -1) {\n return desiredPosition; // fallback if position not found\n }\n\n // Try all other positions starting from the next one\n for (let i = 1; i < positions.length; i++) {\n const posIndex = (startIndex + i) % positions.length;\n const pos = positions[posIndex];\n if (fits(pos)) {\n return pos;\n }\n }\n\n return this.findBestFallbackPosition(availableSpace);\n }\n\n /** Find the best fallback position based on available space when no position fits perfectly. */\n private findBestFallbackPosition(availableSpace: Offsets): PopoverPosition {\n // Determine which horizontal and vertical direction has the most available space\n const bestHorizontalDirection =\n availableSpace.right >= availableSpace.left ? PopoverPosition.RIGHT : PopoverPosition.LEFT;\n\n const bestVerticalDirection =\n availableSpace.bottom >= availableSpace.top ? PopoverPosition.BOTTOM : PopoverPosition.TOP;\n\n // Choose the main direction based on which axis has more space overall\n const maxHorizontalSpace = Math.max(availableSpace.right, availableSpace.left);\n const maxVerticalSpace = Math.max(availableSpace.bottom, availableSpace.top);\n\n const mainDirection = maxVerticalSpace >= maxHorizontalSpace ? bestVerticalDirection : bestHorizontalDirection;\n\n // Decide if a secondary direction is needed\n // Only add a secondary direction if the difference between min and max in that axis is at least double\n let needsSecondaryDirection = false;\n\n if (mainDirection === bestVerticalDirection) {\n // If main direction is vertical, check horizontal space difference\n const minHorizontalSpace = Math.min(availableSpace.right, availableSpace.left);\n needsSecondaryDirection = maxHorizontalSpace >= minHorizontalSpace * 2;\n } else {\n // If main direction is horizontal, check vertical space difference\n const minVerticalSpace = Math.min(availableSpace.bottom, availableSpace.top);\n needsSecondaryDirection = maxVerticalSpace >= minVerticalSpace * 2;\n }\n\n if (!needsSecondaryDirection) {\n return mainDirection;\n }\n\n const secondaryDirection =\n mainDirection === bestVerticalDirection ? bestHorizontalDirection : bestVerticalDirection;\n\n // Return a combined position (e.g., \"bottom_right\")\n return `${mainDirection}_${secondaryDirection}` as PopoverPosition;\n }\n\n /**\n * Find the nearest scrollable ancestor of an element to take as a reference for positioning.\n * The ancestor is considered scrollable if it doesn't have `overflow` property set to `hidden` and its scroll size is bigger than its client size.\n */\n private findScrollableAncestor(element: HTMLElement): HTMLElement {\n let parent = getParentElement(element);\n\n while (parent) {\n if (parent === element.ownerDocument.documentElement) {\n return parent as HTMLElement;\n }\n\n const style = window.getComputedStyle(parent);\n const {overflow, overflowX, overflowY} = style;\n const hasHiddenOverflow = overflow === \"hidden\" || overflowY === \"hidden\" || overflowX === \"hidden\";\n const isScrollable =\n (parent.scrollHeight > parent.clientHeight && overflow !== \"visible\" && overflowY !== \"visible\") ||\n (parent.scrollWidth > parent.clientWidth && overflow !== \"visible\" && overflowX !== \"visible\");\n\n if (!hasHiddenOverflow && isScrollable) {\n return parent as HTMLElement;\n }\n\n parent = getParentElement(parent);\n }\n\n return element.ownerDocument.documentElement;\n }\n\n /**\n * Calculate available space around the element bound with the popover, based on its nearest scrollable ancestor.\n *\n * Calculations for `right` and `bottom` can be a little bit confusing because `boundingRect.right` and `bottom` may not be what you expect...\n * For more information see the explanation in the docs.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#return_value\n */\n private calculateAvailableSpace(): Offsets {\n const boundElementRect = this.boundElement.getBoundingClientRect();\n\n if (\n this.lastBoundRect &&\n this.lastBoundRect.x === boundElementRect.x &&\n this.lastBoundRect.y === boundElementRect.y &&\n this.lastBoundRect.width === boundElementRect.width &&\n this.lastBoundRect.height === boundElementRect.height &&\n this.cachedAvailableSpace\n ) {\n // If the bound element's rect hasn't changed, return the cached rect\n return this.cachedAvailableSpace;\n }\n\n this.lastBoundRect = boundElementRect;\n const scrollableAncestor = this.findScrollableAncestor(this.boundElement);\n const scrollableAncestorRect = scrollableAncestor.getBoundingClientRect();\n const isScrollableAncestorNested = scrollableAncestor !== this.boundElement.ownerDocument.documentElement;\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n const safeSpace = 8; // extra space to avoid popover being too close to the edges\n\n // These deltas represent the offset between the scrollable ancestor and the viewport.\n // They are used to adjust the available space calculations when the scrollable ancestor is not the document or body,\n // to try to fit the popover inside the scrollable ancestor.\n const deltaTop = isScrollableAncestorNested ? scrollableAncestorRect.top : 0;\n const deltaRight = isScrollableAncestorNested ? documentWidth - scrollableAncestorRect.right : 0;\n const deltaBottom = isScrollableAncestorNested ? documentHeight - scrollableAncestorRect.bottom : 0;\n const deltaLeft = isScrollableAncestorNested ? scrollableAncestorRect.left : 0;\n\n this.cachedAvailableSpace = {\n top: boundElementRect.top - deltaTop - safeSpace,\n right: documentWidth - boundElementRect.right - deltaRight - safeSpace,\n bottom: documentHeight - boundElementRect.bottom - deltaBottom - safeSpace,\n left: boundElementRect.left - deltaLeft - safeSpace,\n };\n\n return this.cachedAvailableSpace;\n }\n\n /** Calculate the space around the bound element relative to the viewport. */\n private getBoundElementOffsets(): Offsets {\n const elementRect = this.boundElement.getBoundingClientRect();\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n\n return {\n top: elementRect.top,\n right: documentWidth - elementRect.right,\n bottom: documentHeight - elementRect.bottom,\n left: elementRect.left,\n };\n }\n\n /** Compute positioning offsets in the appropriate coordinate space, accounting for transformed containing blocks and scroll. */\n private computePositionOffsets(): Offsets {\n const boundElementOffsets = this.getBoundElementOffsets();\n const containingBlockAncestor = findContainingBlockAncestor(this.host);\n const isDocumentElement = containingBlockAncestor === this.host.ownerDocument.documentElement;\n\n if (isDocumentElement) {\n return boundElementOffsets;\n }\n\n const containingBlockRect = containingBlockAncestor.getBoundingClientRect();\n const containingBlockStyle = getComputedStyle(containingBlockAncestor);\n /** Padding box of the containing block, accounting for borders. */\n const paddingBox = {\n top: containingBlockRect.top + parseFloat(containingBlockStyle.borderTopWidth),\n right: containingBlockRect.right - parseFloat(containingBlockStyle.borderRightWidth),\n bottom: containingBlockRect.bottom - parseFloat(containingBlockStyle.borderBottomWidth),\n left: containingBlockRect.left + parseFloat(containingBlockStyle.borderLeftWidth),\n };\n\n const boundElementRect = this.boundElement.getBoundingClientRect();\n /** Bound element offsets relative to the containing block padding box. */\n const relativeOffsets = {\n top: boundElementRect.top - paddingBox.top,\n right: paddingBox.right - boundElementRect.right,\n bottom: paddingBox.bottom - boundElementRect.bottom,\n left: boundElementRect.left - paddingBox.left,\n };\n\n /** Account for scroll to keep the popover aligned while the containing block scrolls. */\n return {\n top: relativeOffsets.top + containingBlockAncestor.scrollTop,\n right: relativeOffsets.right - containingBlockAncestor.scrollLeft,\n bottom: relativeOffsets.bottom - containingBlockAncestor.scrollTop,\n left: relativeOffsets.left + containingBlockAncestor.scrollLeft,\n };\n }\n\n /** Apply positioning styles based on `position` parameter. */\n private applyPositionStyles(position: PopoverPosition, availableSpace: Offsets): void {\n const boundElementWidth = this.boundElement.offsetWidth;\n const boundElementHeight = this.boundElement.offsetHeight;\n const offsetModifier = this.offsetModifier;\n /** Distance between the arrow center and the popover edge. Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled. */\n const arrowModifier = this.showArrow && this.center ? 8 : 0;\n const hostStyle = this.host.style;\n /** Gap between the popover and the bound element. */\n const distanceFromBound = parseInt(hostStyle.getPropertyValue(\"--space-unit\")) || 8;\n const positionOffsets = this.computePositionOffsets();\n\n /**\n * Precomputed bases to reduce repeated arithmetic in the switch below.\n * They represent the bound element edges plus optional centering offsets.\n */\n const leftBase = positionOffsets.left + boundElementWidth * offsetModifier;\n const rightBase = positionOffsets.right + boundElementWidth * offsetModifier;\n const topBase = positionOffsets.top + boundElementHeight;\n const bottomBase = positionOffsets.bottom + boundElementHeight;\n const sideTopBase = positionOffsets.top + boundElementHeight * offsetModifier;\n const sideBottomBase = positionOffsets.bottom + boundElementHeight * offsetModifier;\n\n let maxWidth: number;\n let maxHeight: number;\n\n switch (position) {\n case PopoverPosition.TOP:\n case PopoverPosition.TOP_RIGHT:\n hostStyle.bottom = `${bottomBase + distanceFromBound}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.TOP_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.top - distanceFromBound;\n if (position === PopoverPosition.TOP_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.TOP_LEFT:\n hostStyle.right = `${rightBase - arrowModifier}px`;\n hostStyle.bottom = `${bottomBase + distanceFromBound}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.top - distanceFromBound;\n break;\n\n case PopoverPosition.BOTTOM:\n case PopoverPosition.BOTTOM_RIGHT:\n hostStyle.top = `${topBase + distanceFromBound}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.BOTTOM_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.bottom - distanceFromBound;\n if (position === PopoverPosition.BOTTOM_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.BOTTOM_LEFT:\n hostStyle.top = `${topBase + distanceFromBound}px`;\n hostStyle.right = `${rightBase - arrowModifier}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.bottom - distanceFromBound;\n break;\n\n case PopoverPosition.RIGHT:\n case PopoverPosition.RIGHT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.RIGHT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth + distanceFromBound}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n if (position === PopoverPosition.RIGHT) {\n maxHeight = availableSpace.top + availableSpace.bottom + boundElementHeight;\n } else {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.RIGHT_TOP:\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth + distanceFromBound}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n\n case PopoverPosition.LEFT:\n case PopoverPosition.LEFT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.LEFT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.right = `${positionOffsets.right + boundElementWidth + distanceFromBound}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n if (position === PopoverPosition.LEFT_BOTTOM) {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.LEFT_TOP:\n hostStyle.right = `${positionOffsets.right + boundElementWidth + distanceFromBound}px`;\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n }\n\n if (getDevice() !== Device.MOBILE) {\n // Only force max sizes on non-mobile viewports\n Object.assign(hostStyle, {\n maxWidth: maxWidth ? `${maxWidth}px` : \"\",\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n });\n }\n }\n\n /** Set the position of the popover. */\n private setPosition(): void {\n if (!this.boundElement) {\n return;\n }\n\n if (!isElementVisibleInContainer(this.boundElement, this.findScrollableAncestor(this.boundElement))) {\n // If the bound element is not visible, hide the popover too\n this.open = false;\n\n return;\n }\n\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n\n const availableSpace = this.calculateAvailableSpace();\n const position = this.getOptimalPopoverPosition(this.position, availableSpace);\n\n this.applyPositionStyles(position, availableSpace);\n this.currentPosition = position;\n this.positionChange.emit({position: this.currentPosition});\n\n // ...then restore the visibility\n this.host.style.visibility = \"visible\";\n }\n\n componentWillLoad(): void {\n this.validatePosition(this.position);\n }\n\n componentDidLoad(): void {\n this.findBoundElement();\n if (this.open) {\n this.onOpen();\n }\n }\n\n disconnectedCallback(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n }\n\n render(): HTMLZPopoverElement {\n return (\n <Host current-position={this.currentPosition}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMenuStyle0","isZMenuSection","el","tagName","ZMenu","focusableItem","this","items","find","item","htmlTabindex","tabIndex","toggle","hasContent","open","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","setLabelA11yAttrs","reflow","live","floating","content","style","left","host","getBoundingClientRect","widthPx","getComputedStyle","width","parseFloat","replace","safeScrollbarSpace","Math","min","window","innerWidth","raf","requestAnimationFrame","bind","checkContent","hasHeader","querySelectorAll","length","setItemTabindex","setItemsA11yAttrs","forEach","index","tabindex","setAttribute","onItemsChange","Array","from","children","filter","slot","moveFocus","receiver","current","setFocus","setTimeout","focus","onLabelClick","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","verticalContext","ARROW_RIGHT","label","labelButton","firstElementChild","focusLastItem","lastItem","onOpenChanged","cancelAnimationFrame","closed","emit","opened","slottedLabel","role","onItemClick","clickedItem","containsElement","onKeyDown","ESC","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","_a","ARROW_LEFT","constructor","hostRef","componentWillLoad","render","h","class","onSlotchange","Host","ref","onClick","name"],"sources":["src/components/z-menu/styles.css?tag=z-menu&encapsulation=shadow","src/components/z-menu/index.tsx"],"sourcesContent":[":host,\n::slotted(*),\n* {\n box-sizing: border-box;\n outline: none;\n}\n\n:host {\n --z-menu-label-color: ;\n\n position: relative;\n display: inline-flex;\n height: fit-content;\n flex-direction: column;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.menu-label {\n position: relative;\n display: flex;\n width: 100%;\n align-items: center;\n padding: 0;\n border: 0;\n border-bottom: var(--border-size-large) solid transparent;\n margin: 0;\n background: transparent;\n border-radius: 0;\n color: inherit;\n text-align: left;\n}\n\nbutton.menu-label {\n cursor: pointer;\n}\n\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host(:is([active], [open])) .menu-label ::slotted(*),\n.menu-label:focus-visible ::slotted(*),\ndiv.menu-label:focus-within ::slotted(*) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n\n:host([vertical-context]) .menu-label {\n padding: var(--space-unit) 0;\n border-width: var(--border-size-small);\n border-color: var(--color-surface03);\n}\n\n:host(:is([active], [open])) .menu-label,\n.menu-label:hover,\n.menu-label:focus-visible,\ndiv.menu-label:focus-within {\n border-color: var(--color-primary01);\n}\n\n:host([vertical-context]:is([active], [open])) .menu-label::after,\n:host([vertical-context]) .menu-label:hover::after,\n:host([vertical-context]) .menu-label:focus-visible::after,\n:host([vertical-context]) div.menu-label:focus-within::after {\n position: absolute;\n bottom: calc(var(--border-size-small) * -1);\n left: 0;\n width: 100%;\n height: var(--border-size-large);\n background-color: var(--color-primary01);\n content: \"\";\n}\n\n:host([vertical-context]) .menu-label ::slotted(*) {\n padding: 0;\n}\n\n.menu-label ::slotted(*) {\n display: inline-flex;\n width: 100%;\n min-width: fit-content;\n padding-bottom: 2px;\n margin: 0;\n appearance: none;\n color: var(--z-menu-label-color, var(--color-default-text));\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: inherit;\n line-height: 1.5;\n white-space: nowrap;\n}\n\n.menu-label z-icon {\n margin-left: calc(var(--space-unit) * 1.5);\n fill: var(--color-default-icon);\n}\n\n/* Prevents 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]:not([slot]))::after {\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n letter-spacing: normal;\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text]:not([slot]))::after {\n display: none;\n }\n}\n\n::slotted([data-text]:not([slot])) {\n display: inline-flex;\n flex-direction: column;\n}\n\n.content {\n background: var(--color-surface01);\n}\n\n:host(:not([open])) .content {\n display: none;\n}\n\n:host([floating]:not([vertical-context])) .content {\n position: absolute;\n top: 100%;\n left: 0;\n width: 375px;\n min-width: 100%;\n max-width: 100vw;\n padding: 0 calc(var(--space-unit) * 2);\n box-shadow: var(--shadow-2);\n}\n\n:host(:not([floating])) .content {\n width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n padding: var(--space-unit) 0 calc(var(--space-unit) * 2);\n}\n\n.header ::slotted(img[slot=\"header\"]) {\n width: calc(var(--space-unit) * 11.25);\n height: auto;\n object-fit: contain;\n}\n\n.header ::slotted([slot=\"header\"]:not(:first-child)) {\n margin: auto 0;\n margin-left: calc(var(--space-unit) * 2.5);\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n line-height: 1.5;\n}\n\n.items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: inherit;\n}\n\n.items > ::slotted([slot=\"item\"]) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.5;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.items > ::slotted([slot=\"item\"]:not(z-menu-section)) {\n padding: var(--space-unit) 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n}\n\n:host(:not([vertical-context])) .items > ::slotted([slot=\"item\"]:last-child) {\n border-bottom: 0;\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"]:active),\n.items > ::slotted([slot=\"item\"][active]),\n.items > ::slotted([slot=\"item\"][data-active]) {\n border-color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst isZMenuSection = (el: HTMLElement | HTMLZMenuSectionElement): el is HTMLZMenuSectionElement =>\n el?.tagName === \"Z-MENU-SECTION\";\n\n/**\n * @slot - Menu label\n * @slot header - Header to display as the first entry of the open menu.\n * @slot item - Single entry of the section. Can be slotted multiple times to insert items onto the menu. Set the `data-active` HTML attribute on the element to highlight it (`active` also works but `data-active` is preferable). Use `z-menu-section` for submenus.\n * @cssprop --z-menu-label-color - Color of the label's text.\n */\n@Component({\n tag: \"z-menu\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenu {\n @Element() host: HTMLZMenuElement;\n\n /** Flag to set the active status of the menu. */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Flag to set the display mode of the list.\n * If true, the list will be absolutely positioned under the menu label,\n * stacked beneath it otherwise.\n */\n @Prop({reflect: true})\n floating? = true;\n\n /** The opening state of the menu. */\n @Prop({mutable: true, reflect: true})\n open = false;\n\n /**\n * Tells the component that it's placed in a vertical context with other `ZMenu`s (usually in the ZAppHeader's offcanvas).\n * A small border is placed under it as a separator from other elements.\n */\n @Prop({reflect: true})\n verticalContext = false;\n\n /**\n * Tabindex value to set on the menu label.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZAppHeader).\n */\n @Prop()\n htmlTabindex = -1;\n\n @State()\n hasHeader: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The menu has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The menu has been closed. */\n @Event()\n closed: EventEmitter;\n\n private labelButton: HTMLButtonElement;\n\n private content: HTMLElement;\n\n private items: (HTMLElement | HTMLZMenuSectionElement)[] = [];\n\n /** Animation frame request id. */\n private raf: number;\n\n private get focusableItem(): HTMLZMenuSectionElement | HTMLElement | null {\n return this.items.find((item) => (isZMenuSection(item) ? item.htmlTabindex === 0 : item.tabIndex === 0));\n }\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\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?.textContent;\n this.setLabelA11yAttrs();\n }\n\n /**\n * Correctly set position of the floating menu in order to prevent overflow.\n * @param live Should run the method on every refresh frame.\n */\n private reflow(live = false): void {\n if (!this.floating) {\n return;\n }\n\n if (this.content && this.hasContent) {\n const {style} = this.content;\n const {left} = this.host.getBoundingClientRect();\n const widthPx = getComputedStyle(this.content).width;\n const width = widthPx ? parseFloat(widthPx.replace(\"px\", \"\")) : 375;\n const safeScrollbarSpace = 30;\n style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;\n }\n if (live) {\n this.raf = requestAnimationFrame(this.reflow.bind(this, live));\n }\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasHeader = !!this.host.querySelectorAll(\"[slot=header]\").length;\n this.hasContent = !!this.host.querySelectorAll(\"[slot=item]\").length || this.hasHeader;\n }\n\n private setItemTabindex(item: HTMLElement | HTMLZMenuSectionElement, tabIndex: number): void {\n if (isZMenuSection(item)) {\n item.htmlTabindex = tabIndex;\n } else {\n item.tabIndex = tabIndex;\n }\n }\n\n /**\n * Set `menuitem` role to all menu items (ZMenuSection items already have it).\n * Set -1 to the tabindex of the items and 0 to the first one.\n */\n private setItemsA11yAttrs(): void {\n this.items.forEach((item, index) => {\n const tabindex = index === 0 ? 0 : -1;\n this.setItemTabindex(item, tabindex);\n if (!isZMenuSection(item)) {\n item.setAttribute(\"role\", \"menuitem\");\n }\n });\n }\n\n private onItemsChange(): void {\n this.checkContent();\n this.items = Array.from(this.host.children).filter(({slot}) => slot === \"item\") as HTMLElement[];\n this.setItemsA11yAttrs();\n this.items.forEach((item) => {\n if (!isZMenuSection(item)) {\n item.dataset.text = item.textContent;\n }\n });\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n * If the receiver is a ZMenuSection and it's open, focus its first focusable item.\n */\n private moveFocus(\n receiver: HTMLElement | HTMLZMenuSectionElement,\n current?: HTMLElement | HTMLZMenuSectionElement\n ): void {\n if (isZMenuSection(receiver)) {\n receiver.setFocus();\n } else {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n }\n if (!current) {\n return;\n }\n\n this.setItemTabindex(current, -1);\n }\n\n private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.moveFocus(this.items[0]);\n }\n\n return;\n }\n\n if (!this.verticalContext) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_RIGHT && !this.open) {\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.moveFocus(this.items[0]);\n }\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n const label = this.hasContent ? this.labelButton : (this.host.firstElementChild as HTMLElement);\n label.focus();\n }\n\n /**\n * Focus the last item.\n */\n @Method()\n async focusLastItem(): Promise<void> {\n const lastItem = this.items[this.items.length - 1];\n if (isZMenuSection(lastItem) && lastItem.open) {\n lastItem.focusLastItem();\n\n return;\n }\n\n this.moveFocus(lastItem);\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n if (!this.open) {\n cancelAnimationFrame(this.raf);\n this.closed.emit();\n this.items.forEach((item) => {\n if (isZMenuSection(item) && item.open) {\n item.open = false;\n }\n });\n\n return;\n }\n\n this.setItemsA11yAttrs();\n this.opened.emit();\n if (this.floating) {\n this.reflow(true);\n }\n }\n\n @Watch(\"htmlTabindex\")\n setLabelA11yAttrs(): void {\n if (this.hasContent && this.labelButton) {\n this.labelButton.tabIndex = this.htmlTabindex;\n\n return;\n }\n\n const slottedLabel = this.host.firstElementChild as HTMLElement;\n slottedLabel.role = \"menuitem\";\n slottedLabel.tabIndex = this.htmlTabindex;\n }\n\n /**\n * Set tabindex to -1 to all siblings of the clicked item.\n */\n @Listen(\"click\", {target: \"document\"})\n onItemClick(ev: MouseEvent): void {\n const clickedItem = this.items.find((item) => containsElement(item, ev.target as HTMLElement));\n if (clickedItem) {\n this.items.forEach((item) => {\n if (item === clickedItem) {\n return;\n }\n\n if (isZMenuSection(item)) {\n item.htmlTabindex = -1;\n } else {\n item.tabIndex = -1;\n }\n });\n }\n }\n\n @Listen(\"keydown\")\n onKeyDown(ev: KeyboardEvent): void {\n if (!this.hasContent) {\n return;\n }\n\n switch (ev.key) {\n case KeyboardCode.ESC:\n if (!this.open) {\n break;\n }\n ev.stopPropagation();\n ev.preventDefault();\n this.open = false;\n this.setFocus();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (document.activeElement === this.host) {\n if (this.verticalContext && !this.open) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[0]);\n break;\n }\n\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (this.verticalContext && currentIndex === this.items.length - 1) {\n // navigation is going to leave this menu. restore tabindex to the label and let the parent handle it\n this.setItemTabindex(this.items[currentIndex], -1);\n this.htmlTabindex = 0;\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const receiver = this.items[currentIndex + 1];\n // if the last item is already focused, navigate to the first one\n this.moveFocus(receiver ?? this.items[0], this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (document.activeElement === this.host) {\n if (this.verticalContext) {\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n // open the menu and focus the last item\n if (!this.open) {\n this.open = true;\n }\n this.moveFocus(this.items[this.items.length - 1], this.focusableItem);\n break;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n const currentIndex = this.items.indexOf(this.focusableItem);\n if (currentIndex === 0 && this.verticalContext) {\n this.setItemTabindex(this.focusableItem, -1);\n this.setFocus();\n break;\n }\n\n const receiver = this.items[currentIndex - 1] ?? this.items[this.items.length - 1];\n // if the receiver is a ZMenuSection and it's open, focus its last item\n if (isZMenuSection(receiver) && receiver.open) {\n this.setItemTabindex(this.focusableItem, -1);\n receiver.focusLastItem();\n break;\n }\n\n this.moveFocus(receiver, this.focusableItem);\n break;\n }\n case KeyboardCode.ARROW_LEFT:\n if (!this.open || !this.verticalContext) {\n break;\n }\n\n // close the menu and focus the label\n ev.preventDefault();\n ev.stopPropagation();\n this.open = false;\n this.setFocus();\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.checkContent = this.checkContent.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.setLabelA11yAttrs();\n this.onItemsChange();\n }\n\n render(): HTMLDivElement | HTMLZMenuElement {\n if (!this.hasContent) {\n return (\n <div class=\"menu-label\">\n <slot onSlotchange={this.onLabelSlotChange} />\n </div>\n );\n }\n\n return (\n <Host>\n <button\n ref={(el) => (this.labelButton = el)}\n class=\"menu-label\"\n aria-expanded={`${!!this.open}`}\n aria-haspopup={`${this.hasContent}`}\n aria-label={this.open ? \"Chiudi menù\" : \"Apri menù\"}\n role=\"menuitem\"\n tabIndex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />\n </button>\n\n <div\n class=\"content\"\n ref={(el) => (this.content = el)}\n >\n {this.hasHeader && (\n <header class=\"header\">\n <slot\n name=\"header\"\n onSlotchange={this.checkContent}\n />\n </header>\n )}\n\n <div\n class=\"items\"\n role=\"menu\"\n >\n <slot\n name=\"item\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,h as r,a as c}from"./p-75c4a726.js";const s=":host{display:block;box-sizing:border-box;border-top:1px solid var(--color-surface03);border-bottom:1px solid var(--color-surface03)}:host([sticky]){position:sticky;z-index:1;bottom:0;background-color:var(--color-surface01)}";const t=s;const a=class{constructor(r){o(this,r);this.sticky=false}render(){return r(c,{key:"a7106c5ef3c347b7cc797a6cd1031e5d29cf2ae3",role:"rowgroup",tabIndex:-1},r("slot",{key:"cd4f042bdfd7df449603fbcb49cf4b78da6f4d36"}))}};a.style=t;export{a as Z};
2
- //# sourceMappingURL=p-4c9bf42d.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as i}from"./p-75c4a726.js";const n="ul{padding:0;margin:0}";const a=n;const s=class{constructor(i){t(this,i);this.inputrawdata=undefined;this.list=undefined}componentWillLoad(){if(this.inputrawdata){this.parseinputrawdata(this.inputrawdata)}}parseinputrawdata(t){this.list=[...JSON.parse(t)]}oninputrawdataChange(t){this.parseinputrawdata(t)}render(){const t=this.list?this.list.length-1:-1;return i("ul",{key:"6ec3bbeab4df0bb06bf5dd54f5a8d9e406da4446"},this.list&&this.list.map(((n,a)=>i("z-myz-list-item",{listitemid:n.listitemid,text:n.text,link:n.link,linktarget:n.linktarget,icon:n.icon,underlined:t!=a}))))}static get watchers(){return{inputrawdata:["oninputrawdataChange"]}}};s.style=a;export{s as z_myz_list};
2
- //# sourceMappingURL=p-60e3fa30.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,h as n,a}from"./p-75c4a726.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-inverse-success)}:host([type="warning"]){background:var(--color-inverse-warning)}:host([type="error"]){background:var(--color-inverse-error)}.status-icon,.close-button{display:flex;height:20px;align-items:center}:host([type="success"]) .status-icon{fill:var(--color-default-success)}:host([type="warning"]) .status-icon{fill:var(--color-default-warning)}:host([type="error"]) .status-icon{fill:var(--color-default-error)}: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-default-text);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}.action-button:focus{box-shadow:var(--shadow-focus-primary);outline:none !important}.content-container+.close-button{margin-left:calc(var(--space-unit) * 2)}.close-button z-icon{fill:var(--color-primary01)}@media only screen and (min-width: 768px){.content-container{flex-wrap:nowrap}.content-text+.action-button{margin-left:calc(var(--space-unit) * 5)}}';const i=e;const s=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(a,{key:"aac3e6385d2f77e80c9933e666770e3da17c21a5"},this.contenticonname&&n("z-icon",{key:"1ba77acd6db4e01ac47ae605c4ab05a345999462",class:"status-icon",name:this.contenticonname,width:16,height:16}),n("div",{key:"9df24bcba7a1f49c803f339a0ac5ddafc08c03c9",class:"content-container"},n("div",{key:"bd1a76905a9c14fa77a1704a127a65a8ba9adab8",class:"content-text"},n("slot",{key:"b126d399950149b0d4cd94d3c2480678d7f91a97"})),!!((t=this.actiontext)===null||t===void 0?void 0:t.trim())&&n("button",{key:"63f56578ed42e720c20b57424c1d824729279e36",class:"action-button",type:"button",onClick:this.handleActionButtonClick},this.actiontext)),this.showclose&&n("button",{key:"81ccf6858d6b559a23b1c9266d8af55e7bd3a2f2",class:"close-button",type:"button",onClick:this.handleCloseButtonClick},n("z-icon",{key:"96c95d07ef561d4b900acefaef90e00d85dc3904",name:"multiply-circle",width:16,height:16})))}};s.style=i;export{s as z_notification};
2
- //# sourceMappingURL=p-6cffbabc.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/z-notification/styles.css?tag=z-notification&encapsulation=shadow","src/components/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-inverse-success);\n}\n\n:host([type=\"warning\"]) {\n background: var(--color-inverse-warning);\n}\n\n:host([type=\"error\"]) {\n background: var(--color-inverse-error);\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-default-success);\n}\n\n:host([type=\"warning\"]) .status-icon {\n fill: var(--color-default-warning);\n}\n\n:host([type=\"error\"]) .status-icon {\n fill: var(--color-default-error);\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-default-text);\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.action-button:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\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 only screen 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, Event, EventEmitter, Host, Prop, h} 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":"oDAAA,MAAMA,EAAY,szDAClB,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,UAAAE,IAAA,2CACEE,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,UAAAE,IAAA,2CACEE,MAAM,gBACNO,KAAK,SACLC,QAASrB,KAAKH,yBAEbG,KAAKkB,aAIXlB,KAAKsB,WACJb,EAAA,UAAAE,IAAA,2CACEE,MAAM,eACNO,KAAK,SACLC,QAASrB,KAAKG,wBAEdM,EAAA,UAAAE,IAAA,2CACEG,KAAK,kBACLC,MAAO,GACPC,OAAQ,M","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,a as o,g as a}from"./p-75c4a726.js";const s=':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-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host(:is([active],[open])) .label,.label:hover{border-color:var(--color-primary01)}: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-default-icon)}.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-primary01)}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"][active]){color:var(--color-primary01);font-weight:var(--font-bd)}';const l=s;const n=class{constructor(i){t(this,i);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 i(o,{key:"cb55ccb8c7327254eabaab573f6fb0a5ae2ac361",role:"menu",open:this.open},i("button",{key:"5065f38502c4bb0167bb7332e0e8ba0dd36541df",class:"label","aria-pressed":this.open?"true":"false",onClick:this.toggle.bind(this)},i("slot",{key:"67a5082482b73f27f8244f730ac88da14d4db6c4",onSlotchange:this.onLabelSlotChange.bind(this)}),this.hasContent&&i("z-icon",{key:"b513a5c76223e7a83162cc3b28434c53124b135c",name:this.open?"chevron-up":"chevron-down"})),this.open&&i("div",{key:"4f43962d01e60cea802f06413acae360ead32aa0",class:"items"},i("slot",{key:"020f1235a37a99e274e9f4d611153f4915c9cd41",name:"item",onSlotchange:this.checkContent.bind(this)})))}get hostElement(){return a(this)}};n.style=l;export{n as z_menu_section_deprecated};
2
- //# sourceMappingURL=p-816fd6dc.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,a as n,g as o}from"./p-75c4a726.js";import{T as s}from"./p-17af7fb2.js";import{e,d as c}from"./p-e6778114.js";import"./p-5145a606.js";const r=".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}";const a=r;const l=class{constructor(i){t(this,i);this.variant=undefined;this.links=[];this.visible=false;this.visibleLink=""}handleFocusOutSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=false}}handleFocusSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=true}}componentDidLoad(){this.showFirstChild()}componentWillRender(){if(this.links){this.links=typeof this.links==="string"?JSON.parse(this.links):this.links}}isInSkipToContent(t){const i=e(t);const n=i.find((t=>t.nodeName.toLowerCase()==="z-skip-to-content"));return!!n}showFirstChild(){var t;const i=(t=this.hostElement.children)===null||t===void 0?void 0:t[0];if(i){this.visibleLink=i.id}}handleLinkClick(){this.visible=false}render(){return i(n,{key:"1a7ea404cfe0bc4dcf7f60787b218cdf58f28a28",class:{[this.variant]:true,"skip-to-content-visible":this.visible}},this.links.map(((t,n)=>{const o=`skip-to-content-${n}`;return i("div",{class:"link-container"},i("a",{id:o,class:{"body-1-sb":true,"z-link":true,"z-link-underline":true,"z-link-inverse":this.variant===s.DARK,"link-visible":o==this.visibleLink,"link-invisible":o!=this.visibleLink},"aria-label":t.ariaLabel||t.label,href:t.href,onFocus:()=>this.visibleLink=o,onClick:()=>this.handleLinkClick(),onKeyUp:t=>c(t,this.handleLinkClick.bind(this))},t.label))})))}get hostElement(){return o(this)}};l.style=a;export{l as z_skip_to_content};
2
- //# sourceMappingURL=p-99210133.entry.js.map