@zanichelli/albe-web-components 18.7.7-RC1 → 18.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/index-96af6326.js +4 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/web-components-library.cjs.js +1 -1
  5. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/z-app-header_12.cjs.entry.js +18 -18
  7. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  8. package/dist/cjs/z-aria-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/z-avatar.cjs.entry.js +2 -2
  10. package/dist/cjs/z-book-card.cjs.entry.js +15 -14
  11. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  12. package/dist/{components/placeholder-cover.js → cjs/z-book-cover.cjs.entry.js} +26 -2
  13. package/dist/cjs/z-book-cover.cjs.entry.js.map +1 -0
  14. package/dist/cjs/z-breadcrumb.cjs.entry.js +2 -2
  15. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  16. package/dist/cjs/z-chip.cjs.entry.js +2 -2
  17. package/dist/cjs/z-combobox.cjs.entry.js +26 -41
  18. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/z-cover-hero.cjs.entry.js +2 -2
  20. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +4 -4
  21. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  22. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  23. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  24. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  25. package/dist/cjs/z-menu-section.cjs.entry.js +1 -1
  26. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  27. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  28. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  29. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  30. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  32. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  33. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
  34. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  35. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  36. package/dist/cjs/z-navigation-tabs.cjs.entry.js +2 -2
  37. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  38. package/dist/cjs/z-otp.cjs.entry.js +2 -2
  39. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  40. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  41. package/dist/cjs/z-result-card.cjs.entry.js +6 -14
  42. package/dist/cjs/z-result-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/z-select.cjs.entry.js +2 -2
  44. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  45. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  46. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  47. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  48. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  49. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  50. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  51. package/dist/cjs/z-toggle-switch.cjs.entry.js +3 -3
  52. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  53. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  54. package/dist/collection/collection-manifest.json +2 -1
  55. package/dist/collection/components/book-card/z-book-card/index.js +66 -29
  56. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  57. package/dist/collection/components/book-card/z-book-card/index.stories.js +11 -13
  58. package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
  59. package/dist/collection/components/book-card/z-book-card/styles.css +35 -67
  60. package/dist/collection/components/z-app-header/index.js +2 -1
  61. package/dist/collection/components/z-app-header/index.js.map +1 -1
  62. package/dist/collection/components/z-app-header/index.stories.js +16 -0
  63. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  64. package/dist/collection/components/z-app-header/styles.css +2 -1
  65. package/dist/collection/components/z-aria-alert/index.js +1 -1
  66. package/dist/collection/components/z-avatar/index.js +2 -2
  67. package/dist/collection/components/z-book-cover/index.js +113 -0
  68. package/dist/collection/components/z-book-cover/index.js.map +1 -0
  69. package/dist/collection/components/z-book-cover/index.stories.js +31 -0
  70. package/dist/collection/components/z-book-cover/index.stories.js.map +1 -0
  71. package/dist/collection/components/z-book-cover/styles.css +95 -0
  72. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  73. package/dist/collection/components/z-button-sort/index.js +1 -1
  74. package/dist/collection/components/z-chip/index.js +2 -2
  75. package/dist/collection/components/z-combobox/index.js +25 -40
  76. package/dist/collection/components/z-combobox/index.js.map +1 -1
  77. package/dist/collection/components/z-combobox/styles.css +0 -8
  78. package/dist/collection/components/z-cover-hero/index.js +2 -2
  79. package/dist/collection/components/z-divider/index.js +1 -1
  80. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  81. package/dist/collection/components/z-info-box/index.js +1 -1
  82. package/dist/collection/components/z-info-reveal/index.js +1 -1
  83. package/dist/collection/components/z-input/index.js +17 -19
  84. package/dist/collection/components/z-input/index.js.map +1 -1
  85. package/dist/collection/components/z-input-message/index.js +1 -1
  86. package/dist/collection/components/z-logo/index.js +1 -1
  87. package/dist/collection/components/z-menu-section/index.js +1 -1
  88. package/dist/collection/components/z-modal/index.js +4 -4
  89. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  90. package/dist/collection/components/z-notification/index.js +1 -1
  91. package/dist/collection/components/z-offcanvas/index.js +21 -1
  92. package/dist/collection/components/z-offcanvas/index.js.map +1 -1
  93. package/dist/collection/components/z-offcanvas/index.stories.js +12 -0
  94. package/dist/collection/components/z-offcanvas/index.stories.js.map +1 -1
  95. package/dist/collection/components/z-offcanvas/styles.css +5 -4
  96. package/dist/collection/components/z-panel-elem/index.js +2 -2
  97. package/dist/collection/components/z-popover/index.js +1 -1
  98. package/dist/collection/components/{result-card/z-result-card → z-result-card}/index.js +10 -18
  99. package/dist/collection/components/z-result-card/index.js.map +1 -0
  100. package/dist/collection/components/{result-card/z-result-card → z-result-card}/styles.css +39 -108
  101. package/dist/collection/components/z-result-card/z-result-card.stories.js.map +1 -0
  102. package/dist/collection/components/z-searchbar/index.js +1 -1
  103. package/dist/collection/components/z-select/index.js +2 -2
  104. package/dist/collection/components/z-select/index.js.map +1 -1
  105. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  106. package/dist/collection/components/z-stepper/index.js +1 -1
  107. package/dist/collection/components/z-stepper-item/index.js +1 -1
  108. package/dist/collection/components/z-toast-notification/index.js +1 -1
  109. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  110. package/dist/collection/components/z-toggle-button/index.js +2 -2
  111. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  112. package/dist/collection/components/z-tooltip/index.js +1 -1
  113. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  114. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  115. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  116. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  117. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  118. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  119. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  120. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  121. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  122. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  123. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  124. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  125. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  126. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  127. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  128. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  129. package/dist/components/index.d.ts +3 -1
  130. package/dist/components/index.js +1 -0
  131. package/dist/components/index.js.map +1 -1
  132. package/dist/components/index10.js +24 -65
  133. package/dist/components/index10.js.map +1 -1
  134. package/dist/components/index11.js +58 -308
  135. package/dist/components/index11.js.map +1 -1
  136. package/dist/components/index12.js +311 -37
  137. package/dist/components/index12.js.map +1 -1
  138. package/dist/components/index13.js +40 -27
  139. package/dist/components/index13.js.map +1 -1
  140. package/dist/components/index14.js +23 -151
  141. package/dist/components/index14.js.map +1 -1
  142. package/dist/components/index15.js +144 -37
  143. package/dist/components/index15.js.map +1 -1
  144. package/dist/components/index16.js +42 -1008
  145. package/dist/components/index16.js.map +1 -1
  146. package/dist/components/index17.js +1012 -37
  147. package/dist/components/index17.js.map +1 -1
  148. package/dist/components/index18.js +42 -10
  149. package/dist/components/index18.js.map +1 -1
  150. package/dist/components/index19.js +10 -22
  151. package/dist/components/index19.js.map +1 -1
  152. package/dist/components/index20.js +16 -33
  153. package/dist/components/index20.js.map +1 -1
  154. package/dist/components/index21.js +39 -43
  155. package/dist/components/index21.js.map +1 -1
  156. package/dist/components/index22.js +44 -81
  157. package/dist/components/index22.js.map +1 -1
  158. package/dist/components/index23.js +60 -430
  159. package/dist/components/index23.js.map +1 -1
  160. package/dist/components/index24.js +415 -341
  161. package/dist/components/index24.js.map +1 -1
  162. package/dist/components/index25.js +376 -19
  163. package/dist/components/index25.js.map +1 -1
  164. package/dist/components/index26.js +45 -0
  165. package/dist/components/index26.js.map +1 -0
  166. package/dist/components/index3.js +1 -1
  167. package/dist/components/index4.js +23 -60
  168. package/dist/components/index4.js.map +1 -1
  169. package/dist/components/index5.js +53 -27
  170. package/dist/components/index5.js.map +1 -1
  171. package/dist/components/index6.js +34 -18
  172. package/dist/components/index6.js.map +1 -1
  173. package/dist/components/index7.js +18 -41
  174. package/dist/components/index7.js.map +1 -1
  175. package/dist/components/index8.js +41 -11
  176. package/dist/components/index8.js.map +1 -1
  177. package/dist/components/index9.js +10 -28
  178. package/dist/components/index9.js.map +1 -1
  179. package/dist/components/z-accordion.js +1 -1
  180. package/dist/components/z-anchor-navigation.js +2 -2
  181. package/dist/components/z-app-header-deprecated.js +11 -11
  182. package/dist/components/z-app-header.js +13 -13
  183. package/dist/components/z-app-header.js.map +1 -1
  184. package/dist/components/z-aria-alert.js +1 -1
  185. package/dist/components/z-avatar.js +2 -2
  186. package/dist/components/z-book-card-app.js +2 -2
  187. package/dist/components/z-book-card-deprecated.js +1 -1
  188. package/dist/components/z-book-card.js +26 -17
  189. package/dist/components/z-book-card.js.map +1 -1
  190. package/dist/components/z-book-cover.d.ts +11 -0
  191. package/dist/components/z-book-cover.js +8 -0
  192. package/dist/components/z-book-cover.js.map +1 -0
  193. package/dist/components/z-breadcrumb.js +8 -8
  194. package/dist/components/z-button-sort.js +2 -2
  195. package/dist/components/z-button.js +1 -1
  196. package/dist/components/z-card.js +1 -1
  197. package/dist/components/z-carousel.js +3 -3
  198. package/dist/components/z-chip.js +1 -1
  199. package/dist/components/z-combobox.js +32 -47
  200. package/dist/components/z-combobox.js.map +1 -1
  201. package/dist/components/z-cover-hero.js +2 -2
  202. package/dist/components/z-date-picker.js +3 -3
  203. package/dist/components/z-divider.js +1 -1
  204. package/dist/components/z-dragdrop-area.js +1 -1
  205. package/dist/components/z-file-upload.js +4 -4
  206. package/dist/components/z-file.js +3 -3
  207. package/dist/components/z-ghost-loading.js +1 -1
  208. package/dist/components/z-icon.js +1 -1
  209. package/dist/components/z-info-box.js +2 -2
  210. package/dist/components/z-info-reveal.js +1 -1
  211. package/dist/components/z-input-message.js +1 -1
  212. package/dist/components/z-input.js +1 -1
  213. package/dist/components/z-list-element.js +1 -1
  214. package/dist/components/z-list-group.js +1 -1
  215. package/dist/components/z-list.js +1 -1
  216. package/dist/components/z-logo.js +1 -1
  217. package/dist/components/z-menu-deprecated.js +1 -1
  218. package/dist/components/z-menu-section-deprecated.js +1 -1
  219. package/dist/components/z-menu-section.js +2 -2
  220. package/dist/components/z-menu.js +1 -1
  221. package/dist/components/z-modal.js +1 -1
  222. package/dist/components/z-myz-card-alert.js +2 -2
  223. package/dist/components/z-myz-card-body.js +1 -1
  224. package/dist/components/z-myz-card-cover.js +1 -1
  225. package/dist/components/z-myz-card-dictionary.js +7 -7
  226. package/dist/components/z-myz-card-footer-sections.js +1 -1
  227. package/dist/components/z-myz-card-footer.js +1 -1
  228. package/dist/components/z-myz-card-header.js +1 -1
  229. package/dist/components/z-myz-card-icon.js +2 -2
  230. package/dist/components/z-myz-card-info.js +3 -3
  231. package/dist/components/z-myz-card-list.js +1 -1
  232. package/dist/components/z-myz-card.js +1 -1
  233. package/dist/components/z-myz-list-item.js +1 -1
  234. package/dist/components/z-myz-list.js +3 -3
  235. package/dist/components/z-navigation-tabs.js +3 -3
  236. package/dist/components/z-notification.js +2 -2
  237. package/dist/components/z-offcanvas.js +1 -1
  238. package/dist/components/z-otp.js +4 -4
  239. package/dist/components/z-pagination.js +4 -4
  240. package/dist/components/z-panel-elem.js +3 -3
  241. package/dist/components/z-popover.js +1 -1
  242. package/dist/components/z-range-picker.js +3 -3
  243. package/dist/components/z-result-card.js +14 -16
  244. package/dist/components/z-result-card.js.map +1 -1
  245. package/dist/components/z-searchbar.js +1 -1
  246. package/dist/components/z-section-title.js +1 -1
  247. package/dist/components/z-select.js +10 -10
  248. package/dist/components/z-select.js.map +1 -1
  249. package/dist/components/z-skip-to-content.js +1 -1
  250. package/dist/components/z-slideshow.js +1 -1
  251. package/dist/components/z-stepper-item.js +2 -2
  252. package/dist/components/z-stepper.js +1 -1
  253. package/dist/components/z-table.js +1 -1
  254. package/dist/components/z-tag.js +1 -1
  255. package/dist/components/z-td.js +3 -3
  256. package/dist/components/z-th.js +3 -3
  257. package/dist/components/z-toast-notification-list.js +1 -1
  258. package/dist/components/z-toast-notification.js +2 -2
  259. package/dist/components/z-toggle-button.js +3 -3
  260. package/dist/components/z-toggle-switch.js +4 -4
  261. package/dist/components/z-tooltip.js +2 -2
  262. package/dist/components/z-tr.js +2 -2
  263. package/dist/components/z-tree-list.js +4 -4
  264. package/dist/components/z-visually-hidden.js +1 -1
  265. package/dist/esm/index-c8ceadeb.js +4 -0
  266. package/dist/esm/loader.js +1 -1
  267. package/dist/esm/web-components-library.js +1 -1
  268. package/dist/esm/z-alert.entry.js +1 -1
  269. package/dist/esm/z-app-header_12.entry.js +18 -18
  270. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  271. package/dist/esm/z-aria-alert.entry.js +1 -1
  272. package/dist/esm/z-avatar.entry.js +2 -2
  273. package/dist/esm/z-book-card.entry.js +15 -14
  274. package/dist/esm/z-book-card.entry.js.map +1 -1
  275. package/dist/{cjs/placeholder-cover-b679e768.js → esm/z-book-cover.entry.js} +21 -3
  276. package/dist/esm/z-book-cover.entry.js.map +1 -0
  277. package/dist/esm/z-breadcrumb.entry.js +2 -2
  278. package/dist/esm/z-button-sort.entry.js +1 -1
  279. package/dist/esm/z-chip.entry.js +2 -2
  280. package/dist/esm/z-combobox.entry.js +26 -41
  281. package/dist/esm/z-combobox.entry.js.map +1 -1
  282. package/dist/esm/z-cover-hero.entry.js +2 -2
  283. package/dist/esm/z-dragdrop-area_2.entry.js +4 -4
  284. package/dist/esm/z-ghost-loading.entry.js +1 -1
  285. package/dist/esm/z-info-box.entry.js +1 -1
  286. package/dist/esm/z-info-reveal.entry.js +1 -1
  287. package/dist/esm/z-logo.entry.js +1 -1
  288. package/dist/esm/z-menu-section.entry.js +1 -1
  289. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  290. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  291. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  292. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  293. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  294. package/dist/esm/z-myz-card-info.entry.js +1 -1
  295. package/dist/esm/z-myz-card-list.entry.js +1 -1
  296. package/dist/esm/z-myz-card_4.entry.js +4 -4
  297. package/dist/esm/z-myz-list-item.entry.js +1 -1
  298. package/dist/esm/z-myz-list.entry.js +1 -1
  299. package/dist/esm/z-navigation-tabs.entry.js +2 -2
  300. package/dist/esm/z-notification.entry.js +1 -1
  301. package/dist/esm/z-otp.entry.js +2 -2
  302. package/dist/esm/z-panel-elem.entry.js +2 -2
  303. package/dist/esm/z-popover.entry.js +1 -1
  304. package/dist/esm/z-result-card.entry.js +6 -14
  305. package/dist/esm/z-result-card.entry.js.map +1 -1
  306. package/dist/esm/z-select.entry.js +2 -2
  307. package/dist/esm/z-select.entry.js.map +1 -1
  308. package/dist/esm/z-skip-to-content.entry.js +1 -1
  309. package/dist/esm/z-stepper-item.entry.js +1 -1
  310. package/dist/esm/z-stepper.entry.js +1 -1
  311. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  312. package/dist/esm/z-toast-notification.entry.js +1 -1
  313. package/dist/esm/z-toggle-button.entry.js +2 -2
  314. package/dist/esm/z-toggle-switch.entry.js +3 -3
  315. package/dist/esm/z-tooltip.entry.js +1 -1
  316. package/dist/esm/z-visually-hidden.entry.js +1 -1
  317. package/dist/types/components/book-card/z-book-card/index.d.ts +20 -16
  318. package/dist/types/components/book-card/z-book-card/index.stories.d.ts +2 -35
  319. package/dist/types/components/z-app-header/index.d.ts +1 -0
  320. package/dist/types/components/z-app-header/index.stories.d.ts +8 -0
  321. package/dist/types/components/z-book-cover/index.d.ts +23 -0
  322. package/dist/types/components/z-book-cover/index.stories.d.ts +21 -0
  323. package/dist/types/components/z-combobox/index.d.ts +1 -0
  324. package/dist/types/components/z-input/index.d.ts +4 -4
  325. package/dist/types/components/z-offcanvas/index.d.ts +2 -0
  326. package/dist/types/components/z-offcanvas/index.stories.d.ts +9 -0
  327. package/dist/types/components/{result-card/z-result-card → z-result-card}/index.d.ts +8 -26
  328. package/dist/types/components.d.ts +185 -76
  329. package/{www/build/p-8117a929.entry.js → dist/web-components-library/p-01f941c2.entry.js} +2 -2
  330. package/dist/web-components-library/{p-0756fe6f.entry.js → p-028dd72a.entry.js} +2 -2
  331. package/{www/build/p-e160545f.entry.js → dist/web-components-library/p-0990d475.entry.js} +2 -2
  332. package/{www/build/p-e160545f.entry.js.map → dist/web-components-library/p-0990d475.entry.js.map} +1 -1
  333. package/dist/web-components-library/{p-6ca0ee2f.entry.js → p-0a49dd1c.entry.js} +2 -2
  334. package/dist/web-components-library/{p-09ba466b.entry.js → p-240de9aa.entry.js} +2 -2
  335. package/dist/web-components-library/{p-f1c55eda.entry.js → p-28534fb5.entry.js} +2 -2
  336. package/{www/build/p-966cbf03.entry.js → dist/web-components-library/p-28d83c86.entry.js} +2 -2
  337. package/dist/web-components-library/{p-cbab66f7.entry.js → p-2bdac94e.entry.js} +2 -2
  338. package/dist/web-components-library/{p-e8419614.entry.js → p-2ffdfbb1.entry.js} +2 -2
  339. package/dist/web-components-library/p-31bd2a1c.entry.js +2 -0
  340. package/dist/web-components-library/p-31bd2a1c.entry.js.map +1 -0
  341. package/dist/web-components-library/{p-8c52635e.entry.js → p-4551b0df.entry.js} +2 -2
  342. package/dist/web-components-library/{p-e639e1bc.entry.js → p-460b2068.entry.js} +2 -2
  343. package/{www/build/p-0eab3c09.entry.js → dist/web-components-library/p-46ea0b2e.entry.js} +3 -3
  344. package/dist/web-components-library/{p-689b0280.entry.js → p-4a257653.entry.js} +2 -2
  345. package/dist/web-components-library/{p-8dec332e.entry.js → p-4aaf0172.entry.js} +2 -2
  346. package/dist/web-components-library/{p-d6d3a92a.entry.js → p-4affbb99.entry.js} +2 -2
  347. package/dist/web-components-library/{p-caa491ca.entry.js → p-5989465b.entry.js} +2 -2
  348. package/dist/web-components-library/{p-d8aa6afa.entry.js → p-5a1f98a2.entry.js} +2 -2
  349. package/{www/build/p-d0d54d42.entry.js → dist/web-components-library/p-5c5882c6.entry.js} +2 -2
  350. package/dist/web-components-library/{p-01302e57.entry.js → p-5f94986f.entry.js} +2 -2
  351. package/dist/web-components-library/p-6cff173f.entry.js +2 -0
  352. package/dist/web-components-library/{p-97608d16.entry.js.map → p-6cff173f.entry.js.map} +1 -1
  353. package/dist/web-components-library/p-6cffbabc.entry.js +2 -0
  354. package/{www/build/p-ac585bcd.entry.js.map → dist/web-components-library/p-6cffbabc.entry.js.map} +1 -1
  355. package/dist/web-components-library/{p-1ad8810a.entry.js → p-7194003a.entry.js} +2 -2
  356. package/{www/build/p-2b8eb0c2.entry.js → dist/web-components-library/p-78146cef.entry.js} +2 -2
  357. package/dist/web-components-library/{p-4fbcf534.entry.js → p-7a4f6a5b.entry.js} +2 -2
  358. package/dist/web-components-library/{p-6793061a.entry.js → p-7ceddb7a.entry.js} +2 -2
  359. package/dist/web-components-library/{p-4c730d4a.entry.js → p-86160fe3.entry.js} +2 -2
  360. package/dist/web-components-library/{p-63c1bde5.entry.js → p-863fd1c4.entry.js} +2 -2
  361. package/dist/web-components-library/p-8fc213c2.entry.js +2 -0
  362. package/dist/web-components-library/p-8fc213c2.entry.js.map +1 -0
  363. package/dist/web-components-library/{p-5cf3a797.entry.js → p-943db3a8.entry.js} +2 -2
  364. package/dist/web-components-library/{p-dc5ba112.entry.js → p-94916bdf.entry.js} +2 -2
  365. package/dist/web-components-library/p-a2e87cec.entry.js +2 -0
  366. package/dist/web-components-library/{p-badd98ad.entry.js → p-ac477ae7.entry.js} +2 -2
  367. package/dist/web-components-library/p-af5e8524.entry.js +2 -0
  368. package/dist/web-components-library/{p-7916e0f7.entry.js → p-b3f1b5c1.entry.js} +2 -2
  369. package/dist/web-components-library/{p-962c7f6b.entry.js → p-ceeb3e2a.entry.js} +2 -2
  370. package/dist/web-components-library/p-d60684d5.entry.js +2 -0
  371. package/dist/web-components-library/p-d60684d5.entry.js.map +1 -0
  372. package/dist/web-components-library/{p-cb1de7b4.entry.js → p-dc086eb5.entry.js} +2 -2
  373. package/dist/web-components-library/p-deb7f8d7.entry.js +2 -0
  374. package/dist/web-components-library/{p-6273db7f.entry.js → p-e0b88075.entry.js} +2 -2
  375. package/dist/web-components-library/p-e4bb1256.entry.js +2 -0
  376. package/dist/web-components-library/p-e4bb1256.entry.js.map +1 -0
  377. package/dist/web-components-library/{p-e231e811.entry.js → p-f487290e.entry.js} +2 -2
  378. package/dist/web-components-library/p-f4bac89b.entry.js +2 -0
  379. package/dist/web-components-library/p-f4bac89b.entry.js.map +1 -0
  380. package/dist/web-components-library/web-components-library.esm.js +1 -1
  381. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  382. package/package.json +2 -3
  383. package/react/components.d.ts +1 -0
  384. package/react/components.js +3 -2
  385. package/react/components.js.map +1 -1
  386. package/{dist/web-components-library/p-8117a929.entry.js → www/build/p-01f941c2.entry.js} +2 -2
  387. package/www/build/{p-0756fe6f.entry.js → p-028dd72a.entry.js} +2 -2
  388. package/{dist/web-components-library/p-e160545f.entry.js → www/build/p-0990d475.entry.js} +2 -2
  389. package/{dist/web-components-library/p-e160545f.entry.js.map → www/build/p-0990d475.entry.js.map} +1 -1
  390. package/www/build/{p-6ca0ee2f.entry.js → p-0a49dd1c.entry.js} +2 -2
  391. package/www/build/{p-09ba466b.entry.js → p-240de9aa.entry.js} +2 -2
  392. package/www/build/{p-f1c55eda.entry.js → p-28534fb5.entry.js} +2 -2
  393. package/{dist/web-components-library/p-966cbf03.entry.js → www/build/p-28d83c86.entry.js} +2 -2
  394. package/www/build/{p-cbab66f7.entry.js → p-2bdac94e.entry.js} +2 -2
  395. package/www/build/{p-e8419614.entry.js → p-2ffdfbb1.entry.js} +2 -2
  396. package/www/build/p-31bd2a1c.entry.js +2 -0
  397. package/www/build/p-31bd2a1c.entry.js.map +1 -0
  398. package/www/build/{p-8c52635e.entry.js → p-4551b0df.entry.js} +2 -2
  399. package/www/build/{p-e639e1bc.entry.js → p-460b2068.entry.js} +2 -2
  400. package/{dist/web-components-library/p-0eab3c09.entry.js → www/build/p-46ea0b2e.entry.js} +3 -3
  401. package/www/build/{p-689b0280.entry.js → p-4a257653.entry.js} +2 -2
  402. package/www/build/{p-8dec332e.entry.js → p-4aaf0172.entry.js} +2 -2
  403. package/www/build/{p-d6d3a92a.entry.js → p-4affbb99.entry.js} +2 -2
  404. package/www/build/{p-caa491ca.entry.js → p-5989465b.entry.js} +2 -2
  405. package/www/build/{p-d8aa6afa.entry.js → p-5a1f98a2.entry.js} +2 -2
  406. package/{dist/web-components-library/p-d0d54d42.entry.js → www/build/p-5c5882c6.entry.js} +2 -2
  407. package/www/build/{p-01302e57.entry.js → p-5f94986f.entry.js} +2 -2
  408. package/www/build/p-6cff173f.entry.js +2 -0
  409. package/www/build/{p-97608d16.entry.js.map → p-6cff173f.entry.js.map} +1 -1
  410. package/www/build/p-6cffbabc.entry.js +2 -0
  411. package/{dist/web-components-library/p-ac585bcd.entry.js.map → www/build/p-6cffbabc.entry.js.map} +1 -1
  412. package/www/build/{p-1ad8810a.entry.js → p-7194003a.entry.js} +2 -2
  413. package/{dist/web-components-library/p-2b8eb0c2.entry.js → www/build/p-78146cef.entry.js} +2 -2
  414. package/www/build/{p-4fbcf534.entry.js → p-7a4f6a5b.entry.js} +2 -2
  415. package/www/build/{p-6793061a.entry.js → p-7ceddb7a.entry.js} +2 -2
  416. package/www/build/{p-4c730d4a.entry.js → p-86160fe3.entry.js} +2 -2
  417. package/www/build/{p-63c1bde5.entry.js → p-863fd1c4.entry.js} +2 -2
  418. package/www/build/p-8fc213c2.entry.js +2 -0
  419. package/www/build/p-8fc213c2.entry.js.map +1 -0
  420. package/www/build/{p-5cf3a797.entry.js → p-943db3a8.entry.js} +2 -2
  421. package/www/build/{p-dc5ba112.entry.js → p-94916bdf.entry.js} +2 -2
  422. package/www/build/p-a2e87cec.entry.js +2 -0
  423. package/www/build/{p-badd98ad.entry.js → p-ac477ae7.entry.js} +2 -2
  424. package/www/build/p-af5e8524.entry.js +2 -0
  425. package/www/build/{p-7916e0f7.entry.js → p-b3f1b5c1.entry.js} +2 -2
  426. package/www/build/p-b716b49c.js +2 -0
  427. package/www/build/{p-962c7f6b.entry.js → p-ceeb3e2a.entry.js} +2 -2
  428. package/www/build/p-d60684d5.entry.js +2 -0
  429. package/www/build/p-d60684d5.entry.js.map +1 -0
  430. package/www/build/{p-cb1de7b4.entry.js → p-dc086eb5.entry.js} +2 -2
  431. package/www/build/p-deb7f8d7.entry.js +2 -0
  432. package/www/build/{p-6273db7f.entry.js → p-e0b88075.entry.js} +2 -2
  433. package/www/build/p-e4bb1256.entry.js +2 -0
  434. package/www/build/p-e4bb1256.entry.js.map +1 -0
  435. package/www/build/{p-e231e811.entry.js → p-f487290e.entry.js} +2 -2
  436. package/www/build/p-f4bac89b.entry.js +2 -0
  437. package/www/build/p-f4bac89b.entry.js.map +1 -0
  438. package/www/build/web-components-library.esm.js +1 -1
  439. package/www/build/web-components-library.esm.js.map +1 -1
  440. package/www/index.html +1 -1
  441. package/dist/cjs/placeholder-cover-b679e768.js.map +0 -1
  442. package/dist/collection/components/result-card/z-result-card/index.js.map +0 -1
  443. package/dist/collection/components/result-card/z-result-card/z-result-card.stories.js.map +0 -1
  444. package/dist/components/placeholder-cover.js.map +0 -1
  445. package/dist/esm/placeholder-cover-9346be8f.js +0 -5
  446. package/dist/esm/placeholder-cover-9346be8f.js.map +0 -1
  447. package/dist/web-components-library/p-165d5acc.entry.js +0 -2
  448. package/dist/web-components-library/p-165d5acc.entry.js.map +0 -1
  449. package/dist/web-components-library/p-310c2215.entry.js +0 -2
  450. package/dist/web-components-library/p-310c2215.entry.js.map +0 -1
  451. package/dist/web-components-library/p-3ed25564.entry.js +0 -2
  452. package/dist/web-components-library/p-67edb420.entry.js +0 -2
  453. package/dist/web-components-library/p-74819cbe.entry.js +0 -2
  454. package/dist/web-components-library/p-8d55127c.entry.js +0 -2
  455. package/dist/web-components-library/p-8d55127c.entry.js.map +0 -1
  456. package/dist/web-components-library/p-8d923a1d.js +0 -2
  457. package/dist/web-components-library/p-8d923a1d.js.map +0 -1
  458. package/dist/web-components-library/p-97608d16.entry.js +0 -2
  459. package/dist/web-components-library/p-abd17b10.entry.js +0 -2
  460. package/dist/web-components-library/p-abd17b10.entry.js.map +0 -1
  461. package/dist/web-components-library/p-ac585bcd.entry.js +0 -2
  462. package/www/build/p-165d5acc.entry.js +0 -2
  463. package/www/build/p-165d5acc.entry.js.map +0 -1
  464. package/www/build/p-310c2215.entry.js +0 -2
  465. package/www/build/p-310c2215.entry.js.map +0 -1
  466. package/www/build/p-3ed25564.entry.js +0 -2
  467. package/www/build/p-67edb420.entry.js +0 -2
  468. package/www/build/p-74819cbe.entry.js +0 -2
  469. package/www/build/p-8d55127c.entry.js +0 -2
  470. package/www/build/p-8d55127c.entry.js.map +0 -1
  471. package/www/build/p-8d923a1d.js +0 -2
  472. package/www/build/p-8d923a1d.js.map +0 -1
  473. package/www/build/p-97608d16.entry.js +0 -2
  474. package/www/build/p-abd17b10.entry.js +0 -2
  475. package/www/build/p-abd17b10.entry.js.map +0 -1
  476. package/www/build/p-ac585bcd.entry.js +0 -2
  477. package/www/build/p-f9314f48.js +0 -2
  478. /package/dist/collection/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.js +0 -0
  479. /package/dist/types/components/{result-card/z-result-card → z-result-card}/z-result-card.stories.d.ts +0 -0
  480. /package/dist/web-components-library/{p-8117a929.entry.js.map → p-01f941c2.entry.js.map} +0 -0
  481. /package/dist/web-components-library/{p-0756fe6f.entry.js.map → p-028dd72a.entry.js.map} +0 -0
  482. /package/dist/web-components-library/{p-6ca0ee2f.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
  483. /package/dist/web-components-library/{p-09ba466b.entry.js.map → p-240de9aa.entry.js.map} +0 -0
  484. /package/dist/web-components-library/{p-f1c55eda.entry.js.map → p-28534fb5.entry.js.map} +0 -0
  485. /package/dist/web-components-library/{p-966cbf03.entry.js.map → p-28d83c86.entry.js.map} +0 -0
  486. /package/dist/web-components-library/{p-cbab66f7.entry.js.map → p-2bdac94e.entry.js.map} +0 -0
  487. /package/dist/web-components-library/{p-e8419614.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
  488. /package/dist/web-components-library/{p-8c52635e.entry.js.map → p-4551b0df.entry.js.map} +0 -0
  489. /package/dist/web-components-library/{p-e639e1bc.entry.js.map → p-460b2068.entry.js.map} +0 -0
  490. /package/dist/web-components-library/{p-0eab3c09.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
  491. /package/dist/web-components-library/{p-689b0280.entry.js.map → p-4a257653.entry.js.map} +0 -0
  492. /package/dist/web-components-library/{p-8dec332e.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
  493. /package/dist/web-components-library/{p-d6d3a92a.entry.js.map → p-4affbb99.entry.js.map} +0 -0
  494. /package/dist/web-components-library/{p-caa491ca.entry.js.map → p-5989465b.entry.js.map} +0 -0
  495. /package/dist/web-components-library/{p-d8aa6afa.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
  496. /package/dist/web-components-library/{p-d0d54d42.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
  497. /package/dist/web-components-library/{p-01302e57.entry.js.map → p-5f94986f.entry.js.map} +0 -0
  498. /package/dist/web-components-library/{p-1ad8810a.entry.js.map → p-7194003a.entry.js.map} +0 -0
  499. /package/dist/web-components-library/{p-2b8eb0c2.entry.js.map → p-78146cef.entry.js.map} +0 -0
  500. /package/dist/web-components-library/{p-4fbcf534.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
  501. /package/dist/web-components-library/{p-6793061a.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
  502. /package/dist/web-components-library/{p-4c730d4a.entry.js.map → p-86160fe3.entry.js.map} +0 -0
  503. /package/dist/web-components-library/{p-63c1bde5.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
  504. /package/dist/web-components-library/{p-5cf3a797.entry.js.map → p-943db3a8.entry.js.map} +0 -0
  505. /package/dist/web-components-library/{p-dc5ba112.entry.js.map → p-94916bdf.entry.js.map} +0 -0
  506. /package/dist/web-components-library/{p-67edb420.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
  507. /package/dist/web-components-library/{p-badd98ad.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
  508. /package/dist/web-components-library/{p-3ed25564.entry.js.map → p-af5e8524.entry.js.map} +0 -0
  509. /package/dist/web-components-library/{p-7916e0f7.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
  510. /package/dist/web-components-library/{p-962c7f6b.entry.js.map → p-ceeb3e2a.entry.js.map} +0 -0
  511. /package/dist/web-components-library/{p-cb1de7b4.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
  512. /package/dist/web-components-library/{p-74819cbe.entry.js.map → p-deb7f8d7.entry.js.map} +0 -0
  513. /package/dist/web-components-library/{p-6273db7f.entry.js.map → p-e0b88075.entry.js.map} +0 -0
  514. /package/dist/web-components-library/{p-e231e811.entry.js.map → p-f487290e.entry.js.map} +0 -0
  515. /package/www/build/{p-8117a929.entry.js.map → p-01f941c2.entry.js.map} +0 -0
  516. /package/www/build/{p-0756fe6f.entry.js.map → p-028dd72a.entry.js.map} +0 -0
  517. /package/www/build/{p-6ca0ee2f.entry.js.map → p-0a49dd1c.entry.js.map} +0 -0
  518. /package/www/build/{p-09ba466b.entry.js.map → p-240de9aa.entry.js.map} +0 -0
  519. /package/www/build/{p-f1c55eda.entry.js.map → p-28534fb5.entry.js.map} +0 -0
  520. /package/www/build/{p-966cbf03.entry.js.map → p-28d83c86.entry.js.map} +0 -0
  521. /package/www/build/{p-cbab66f7.entry.js.map → p-2bdac94e.entry.js.map} +0 -0
  522. /package/www/build/{p-e8419614.entry.js.map → p-2ffdfbb1.entry.js.map} +0 -0
  523. /package/www/build/{p-8c52635e.entry.js.map → p-4551b0df.entry.js.map} +0 -0
  524. /package/www/build/{p-e639e1bc.entry.js.map → p-460b2068.entry.js.map} +0 -0
  525. /package/www/build/{p-0eab3c09.entry.js.map → p-46ea0b2e.entry.js.map} +0 -0
  526. /package/www/build/{p-689b0280.entry.js.map → p-4a257653.entry.js.map} +0 -0
  527. /package/www/build/{p-8dec332e.entry.js.map → p-4aaf0172.entry.js.map} +0 -0
  528. /package/www/build/{p-d6d3a92a.entry.js.map → p-4affbb99.entry.js.map} +0 -0
  529. /package/www/build/{p-caa491ca.entry.js.map → p-5989465b.entry.js.map} +0 -0
  530. /package/www/build/{p-d8aa6afa.entry.js.map → p-5a1f98a2.entry.js.map} +0 -0
  531. /package/www/build/{p-d0d54d42.entry.js.map → p-5c5882c6.entry.js.map} +0 -0
  532. /package/www/build/{p-01302e57.entry.js.map → p-5f94986f.entry.js.map} +0 -0
  533. /package/www/build/{p-1ad8810a.entry.js.map → p-7194003a.entry.js.map} +0 -0
  534. /package/www/build/{p-2b8eb0c2.entry.js.map → p-78146cef.entry.js.map} +0 -0
  535. /package/www/build/{p-4fbcf534.entry.js.map → p-7a4f6a5b.entry.js.map} +0 -0
  536. /package/www/build/{p-6793061a.entry.js.map → p-7ceddb7a.entry.js.map} +0 -0
  537. /package/www/build/{p-4c730d4a.entry.js.map → p-86160fe3.entry.js.map} +0 -0
  538. /package/www/build/{p-63c1bde5.entry.js.map → p-863fd1c4.entry.js.map} +0 -0
  539. /package/www/build/{p-5cf3a797.entry.js.map → p-943db3a8.entry.js.map} +0 -0
  540. /package/www/build/{p-dc5ba112.entry.js.map → p-94916bdf.entry.js.map} +0 -0
  541. /package/www/build/{p-67edb420.entry.js.map → p-a2e87cec.entry.js.map} +0 -0
  542. /package/www/build/{p-badd98ad.entry.js.map → p-ac477ae7.entry.js.map} +0 -0
  543. /package/www/build/{p-3ed25564.entry.js.map → p-af5e8524.entry.js.map} +0 -0
  544. /package/www/build/{p-7916e0f7.entry.js.map → p-b3f1b5c1.entry.js.map} +0 -0
  545. /package/www/build/{p-962c7f6b.entry.js.map → p-ceeb3e2a.entry.js.map} +0 -0
  546. /package/www/build/{p-cb1de7b4.entry.js.map → p-dc086eb5.entry.js.map} +0 -0
  547. /package/www/build/{p-74819cbe.entry.js.map → p-deb7f8d7.entry.js.map} +0 -0
  548. /package/www/build/{p-6273db7f.entry.js.map → p-e0b88075.entry.js.map} +0 -0
  549. /package/www/build/{p-e231e811.entry.js.map → p-f487290e.entry.js.map} +0 -0
@@ -1,20 +1,19 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import defaultFallbackCover from "../../../assets/images/png/placeholder-cover.png";
3
2
  import { BookCardVariant, ControlSize } from "../../../beans";
4
3
  /**
5
- * @slot cta - top right cta (e.g. bookmark icon)
6
- * @slot ebook - as default, it shows laZ ebook link
7
- * @slot tags - tags section, default empty
8
- * @slot data - external link and pill, default empty
9
- * @slot apps - list of card-related apps, default empty
10
- * @slot coverOverlay - purple layer on top of book cover
11
- * @cssprop --z-book-card-portrait-cover-height - set custom cover height for portrait variant - default 378px
12
- * @cssprop --z-book-card-title-lines - set title avilable lines - default 2
13
- * @cssprop --z-book-card-title-word-break - set title word-break rule - default initial
14
- * @cssprop --z-book-card-subtitle-lines - set subtitle available lines - default 1
15
- * @cssprop --z-book-card-subtitle-word-break - set subtitle word-break rule - default break-all
16
- * @cssprop --z-book-card-authors-lines - set authors available lines - default 1
17
- * @cssprop --z-book-card-authors-word-break - set authors word-break rule - default break-all
4
+ * @slot cta - Top right cta (e.g. bookmark icon)
5
+ * @slot ebook - As default, it shows laZ ebook link
6
+ * @slot tags - Tags section, default empty
7
+ * @slot data - External link and pill, default empty
8
+ * @slot apps - List of card-related apps, default empty
9
+ * @slot coverOverlay - Content to be displayed in the `z-book-cover` component slot
10
+ * @cssprop --z-book-card-portrait-cover-height - Set custom cover height for portrait variant - Default: `378px`
11
+ * @cssprop --z-book-card-title-lines - Set title avilable lines - Default: `2`
12
+ * @cssprop --z-book-card-title-word-break - Set title word-break rule - Default: `initial`
13
+ * @cssprop --z-book-card-subtitle-lines - Set subtitle available lines - Default: `1`
14
+ * @cssprop --z-book-card-subtitle-word-break - Set subtitle word-break rule - Default: `break-all`
15
+ * @cssprop --z-book-card-authors-lines - Set authors available lines - Default: `1`
16
+ * @cssprop --z-book-card-authors-word-break - Set authors word-break rule - Default: `break-all`
18
17
  */
19
18
  export class ZBookCard {
20
19
  constructor() {
@@ -27,7 +26,9 @@ export class ZBookCard {
27
26
  this.isbnLabel = "";
28
27
  this.year = undefined;
29
28
  this.ebookUrl = undefined;
29
+ this.linkTarget = "_blank";
30
30
  this.fallbackCover = undefined;
31
+ this.hasMultipleCovers = false;
31
32
  this.titleHtmlTag = undefined;
32
33
  }
33
34
  emitEbookClick() {
@@ -40,15 +41,15 @@ export class ZBookCard {
40
41
  this.titleClick.emit();
41
42
  }
42
43
  renderCover() {
43
- const coverImg = (h("img", { src: this.cover, onError: () => {
44
- if (this.fallbackCover) {
45
- this.cover = this.fallbackCover;
46
- }
47
- else {
48
- this.cover = defaultFallbackCover;
49
- }
50
- }, "aria-hidden": "true" }));
51
- return (h("div", { class: "cover" }, this.ebookUrl ? (h("a", { tabIndex: 0, class: "cover-link", href: this.ebookUrl, onClick: () => this.emitCoverClick(), target: "_blank" }, coverImg)) : (coverImg), h("slot", { name: "coverOverlay" })));
44
+ const CoverTag = this.ebookUrl ? "a" : "div";
45
+ const coverAttrs = this.ebookUrl
46
+ ? {
47
+ href: this.ebookUrl,
48
+ onClick: () => this.emitCoverClick(),
49
+ target: this.linkTarget,
50
+ }
51
+ : {};
52
+ return (h(CoverTag, Object.assign({ class: "cover" }, coverAttrs), h("z-book-cover", { cover: this.cover, fallbackCover: this.fallbackCover, multiple: this.hasMultipleCovers && this.variant === BookCardVariant.PORTRAIT }, h("slot", { name: "coverOverlay", slot: "coverOverlay" }))));
52
53
  }
53
54
  renderYear() {
54
55
  if (!this.year) {
@@ -67,7 +68,7 @@ export class ZBookCard {
67
68
  ? `<${this.titleHtmlTag}>${this.operaTitle}</${this.titleHtmlTag}>`
68
69
  : this.operaTitle;
69
70
  const operaTitle = (h("div", { class: "opera-title ellipsis body-2-sb", innerHTML: title }));
70
- return (h("div", { class: "cta-wrapper" }, this.ebookUrl ? (h("a", { class: "z-link", href: this.ebookUrl, onClick: () => this.emitTitleClick(), target: "_blank" }, operaTitle)) : (operaTitle), this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null));
71
+ return (h("div", { class: "cta-wrapper" }, this.ebookUrl ? (h("a", { class: "z-link", href: this.ebookUrl, onClick: () => this.emitTitleClick(), target: this.linkTarget }, operaTitle)) : (operaTitle), this.variant === BookCardVariant.PORTRAIT ? this.renderCtaSlot() : null));
71
72
  }
72
73
  renderVolumeTitle() {
73
74
  if (!this.volumeTitle) {
@@ -82,13 +83,13 @@ export class ZBookCard {
82
83
  return (h("div", { class: "isbn ellipsis body-4-sb", "aria-description": `isbn ${this.isbnLabel}` }, this.isbn, " ", this.isbnLabel ? h("span", { class: "body-4" }, this.isbnLabel) : null));
83
84
  }
84
85
  renderEbook() {
85
- return (h("div", { class: "ebook" }, h("div", null, h("div", { class: "app-name" }, h("img", { class: "ebook-logo", "aria-hidden": "true" }), h("div", { class: "body-4-sb" }, "laZ Ebook"))), h("z-button", { size: ControlSize.X_SMALL, href: this.ebookUrl, target: "_blank", onClick: () => this.emitEbookClick(), htmlrole: "link", "aria-description": `leggi l'ebook ${this.operaTitle} su laZ Ebook` }, "leggi ebook")));
86
+ return (h("div", { class: "ebook" }, h("div", { class: "app-name" }, h("img", { class: "ebook-logo", "aria-hidden": "true" }), h("div", { class: "body-4-sb" }, "laZ Ebook")), h("z-button", { size: ControlSize.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")));
86
87
  }
87
88
  renderCtaSlot() {
88
89
  return h("slot", { name: "cta" });
89
90
  }
90
91
  render() {
91
- return (h(Host, { key: 'b8b37f10e4c09f1bd9314cf8fb1b8f752ae9c47e' }, h("div", { key: '70f04ae7125d557d2911a6ef4e44d1903128bde5', class: "main-content" }, this.renderCover(), h("div", { key: '96a357c922d91e09c31f0fdf4cd7283e8a1ed9a7', class: "card-info" }, h("div", { key: 'dd12a24cdc1fadaa877406b9662b91ba0de8aa27', class: "top" }, h("div", { key: '42a1245295cf5659f51b39516963e0104cba4cef' }, this.renderYear(), this.renderAuthors(), this.renderOperaTitle(), this.renderVolumeTitle(), this.renderIsbn()), h("slot", { key: 'b69e77dc77c971019ecf3bb30d0bf211ccc794f9', name: "tags" }), h("slot", { key: '53202f9466707bdafcc6882c563978b339e61335', name: "data" })), h("slot", { key: '646df6b2a349a30c2ab9cf0a3c30919157cced93', name: "ebook" }, !!this.ebookUrl && h("div", { key: 'a3707624b5e428a472ff91a32e03bd72be7e3f57', class: "bottom" }, this.renderEbook())))), h("slot", { key: 'a5d2a636f6848f46e1f48117efbdce91673c532b', name: "apps" })));
92
+ return (h(Host, { key: '5fae727734d46a2bff95228aba24343fe8b44d71' }, h("div", { key: '68bae5839bfd59cfbf64c525085db9945fccfa22', class: "main-content" }, this.renderCover(), h("div", { key: '0f79c65a3b4778db175867ea3ef71a331c567dbf', class: "card-info" }, h("div", { key: '14f31c2adeb8ba009385cad9f3e5b91b1571402f', class: "top" }, h("div", { key: '6f53c622d7c46bc9c7086129d6e61efc3b8e87ac' }, this.renderYear(), this.renderAuthors(), this.renderOperaTitle(), this.renderVolumeTitle(), this.renderIsbn()), h("slot", { key: 'e320abfb8ccb71748b7f786e44f8acb7579c9008', name: "tags" }), h("slot", { key: '718e46c2db387806e6835db0a1f14880e1990a5f', name: "data" })), h("slot", { key: '625086bafb8ebb76bb4d419bfaa1f0e6a6bda8c4', name: "ebook" }, !!this.ebookUrl && h("div", { key: '534cddf3d9e4b7b184eda121d74999645bc60b4f', class: "bottom" }, this.renderEbook())))), h("slot", { key: '64cf4f52982302d9aa44a0a0b63b5d54cac3c3dc', name: "apps" })));
92
93
  }
93
94
  static get is() { return "z-book-card"; }
94
95
  static get encapsulation() { return "shadow"; }
@@ -260,11 +261,29 @@ export class ZBookCard {
260
261
  "optional": true,
261
262
  "docs": {
262
263
  "tags": [],
263
- "text": "[optional] Show link to the ebook resource. Set title and cover as clickable, opening a new tab to the ebook resource"
264
+ "text": "[optional] Link to the ebook resource. Creates a link also around the cover and title."
264
265
  },
265
266
  "attribute": "ebook-url",
266
267
  "reflect": false
267
268
  },
269
+ "linkTarget": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "string",
274
+ "resolved": "string",
275
+ "references": {}
276
+ },
277
+ "required": false,
278
+ "optional": false,
279
+ "docs": {
280
+ "tags": [],
281
+ "text": "[optional] Value for the `target` attribute of the links created by `ebookUrl` prop."
282
+ },
283
+ "attribute": "link-target",
284
+ "reflect": false,
285
+ "defaultValue": "\"_blank\""
286
+ },
268
287
  "fallbackCover": {
269
288
  "type": "string",
270
289
  "mutable": false,
@@ -277,11 +296,29 @@ export class ZBookCard {
277
296
  "optional": true,
278
297
  "docs": {
279
298
  "tags": [],
280
- "text": "[optional] Fallback cover URL"
299
+ "text": "[optional] Fallback cover URL."
281
300
  },
282
301
  "attribute": "fallback-cover",
283
302
  "reflect": false
284
303
  },
304
+ "hasMultipleCovers": {
305
+ "type": "boolean",
306
+ "mutable": false,
307
+ "complexType": {
308
+ "original": "boolean",
309
+ "resolved": "boolean",
310
+ "references": {}
311
+ },
312
+ "required": false,
313
+ "optional": false,
314
+ "docs": {
315
+ "tags": [],
316
+ "text": "Whether to show a stack of covers to represent multiple books (only for `portrait` variant)."
317
+ },
318
+ "attribute": "has-multiple-covers",
319
+ "reflect": false,
320
+ "defaultValue": "false"
321
+ },
285
322
  "titleHtmlTag": {
286
323
  "type": "string",
287
324
  "mutable": false,
@@ -294,7 +331,7 @@ export class ZBookCard {
294
331
  "optional": true,
295
332
  "docs": {
296
333
  "tags": [],
297
- "text": "[optional] Set a specific h level as html tag for opera title"
334
+ "text": "[optional] Set a specific heading level as html tag for the title."
298
335
  },
299
336
  "attribute": "title-html-tag",
300
337
  "reflect": false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport defaultFallbackCover from \"../../../assets/images/png/placeholder-cover.png\";\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 - purple layer on top of book cover\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] Show link to the ebook resource. Set title and cover as clickable, opening a new tab to the ebook resource */\n @Prop()\n ebookUrl?: string;\n\n /** [optional] Fallback cover URL */\n @Prop()\n fallbackCover?: string;\n\n /** [optional] Set a specific h level as html tag for opera 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 coverImg: HTMLImageElement = (\n <img\n src={this.cover}\n onError={() => {\n if (this.fallbackCover) {\n this.cover = this.fallbackCover;\n } else {\n this.cover = defaultFallbackCover;\n }\n }}\n aria-hidden=\"true\"\n />\n );\n\n return (\n <div class=\"cover\">\n {this.ebookUrl ? (\n <a\n tabIndex={0}\n class={\"cover-link\"}\n href={this.ebookUrl}\n onClick={() => this.emitCoverClick()}\n target=\"_blank\"\n >\n {coverImg}\n </a>\n ) : (\n coverImg\n )}\n <slot name=\"coverOverlay\"></slot>\n </div>\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=\"_blank\"\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>\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 </div>\n <z-button\n size={ControlSize.X_SMALL}\n href={this.ebookUrl}\n target=\"_blank\"\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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -10,23 +10,16 @@ const StoryMeta = {
10
10
  title: "ZBookCard/ZBookCard",
11
11
  component: "z-book-card",
12
12
  argTypes: {
13
- "variant": {
13
+ variant: {
14
14
  control: {
15
15
  type: "inline-radio",
16
16
  },
17
17
  options: Object.values(BookCardVariant),
18
18
  },
19
- "--z-book-card-portrait-cover-height": { control: { type: "text" } },
20
- "--z-book-card-title-lines": { control: { type: "text" } },
21
- "--z-book-card-title-word-break": { control: { type: "text" } },
22
- "--z-book-card-subtitle-lines": { control: { type: "text" } },
23
- "--z-book-card-subtitle-word-break": { control: { type: "text" } },
24
- "--z-book-card-authors-lines": { control: { type: "text" } },
25
- "--z-book-card-authors-word-break": { control: { type: "text" } },
26
19
  },
27
20
  args: {
28
21
  "variant": BookCardVariant.LANDSCAPE,
29
- "cover": "https://staticmy.zanichelli.it/catalogo/assets/m40001.9788808490056.jpg",
22
+ "cover": "https://staticmy.zanichelli.it/copertine/dashboard/m40002.9788808999825.jpg",
30
23
  "operaTitle": "Matematica.azzurro",
31
24
  "volumeTitle": "Volume 3 con Tutor",
32
25
  "authors": "Massimo Bergamini, Anna Trifone, Graziella Barozzi",
@@ -35,7 +28,9 @@ const StoryMeta = {
35
28
  "year": "2025",
36
29
  "ebookUrl": "https://www.zanichelli.it/ricerca",
37
30
  "fallbackCover": "https://staticmy.zanichelli.it/copertine/dashboard/Dashboard_Book_Placeholder.jpg",
38
- "titleHtmlTag": null,
31
+ "titleHtmlTag": undefined,
32
+ "hasMultipleCovers": false,
33
+ "linkTarget": "_blank",
39
34
  "--z-book-card-portrait-cover-height": "378px",
40
35
  "--z-book-card-title-lines": "2",
41
36
  "--z-book-card-title-word-break": "initial",
@@ -48,7 +43,7 @@ const StoryMeta = {
48
43
  export default StoryMeta;
49
44
  export const Card = {
50
45
  render: (args) => html `<z-book-card
51
- variant=${args.variant}
46
+ .variant=${args.variant}
52
47
  cover=${args.cover}
53
48
  authors=${args.authors}
54
49
  opera-title=${args.operaTitle}
@@ -59,6 +54,8 @@ export const Card = {
59
54
  ebook-url=${args.ebookUrl}
60
55
  fallback-cover=${args.fallbackCover}
61
56
  title-html-tag=${args.titleHtmlTag}
57
+ .hasMultipleCovers=${args.hasMultipleCovers}
58
+ link-target=${args.linkTarget}
62
59
  style=${styleMap({
63
60
  "--z-book-card-portrait-cover-height": args["--z-book-card-portrait-cover-height"],
64
61
  "--z-book-card-title-lines": args["--z-book-card-title-lines"],
@@ -73,7 +70,7 @@ export const Card = {
73
70
  export const WithSlottedContent = {
74
71
  render: (args) => html `<z-book-card
75
72
  variant=${args.variant}
76
- cover=${args.cover}
73
+ .cover=${args.cover}
77
74
  authors=${args.authors}
78
75
  opera-title=${args.operaTitle}
79
76
  volume-title=${args.volumeTitle}
@@ -83,6 +80,8 @@ export const WithSlottedContent = {
83
80
  ebook-url=${args.ebookUrl}
84
81
  fallback-cover=${args.fallbackCover}
85
82
  title-html-tag=${args.titleHtmlTag}
83
+ .hasMultipleCovers=${args.hasMultipleCovers}
84
+ link-target=${args.linkTarget}
86
85
  style=${styleMap({
87
86
  "--z-book-card-portrait-cover-height": args["--z-book-card-portrait-cover-height"],
88
87
  "--z-book-card-title-lines": args["--z-book-card-title-lines"],
@@ -155,7 +154,6 @@ export const WithSlottedContent = {
155
154
  <div
156
155
  slot="coverOverlay"
157
156
  class="body-4-sb"
158
- style="text-align: center; padding: 16px 0;"
159
157
  >
160
158
  ANTEPRIMA DEL LIBRO SENZA RISORSE MULTIMEDIALI
161
159
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {styleMap} from \"lit/directives/style-map.js\";\nimport {ZBookCard} from \".\";\nimport {BookCardVariant} from \"../../../beans\";\nimport {CSSVarsArguments} from \"../../../utils/storybook-utils\";\nimport \"../../z-button/index\";\nimport \"../../z-icon/index\";\nimport \"../../z-tag/index\";\nimport \"../z-book-card-app/index\";\nimport \"./index\";\n\ntype ZBookCardStoriesArgs = ZBookCard &\n CSSVarsArguments<\n | \"--z-book-card-portrait-cover-height\"\n | \"--z-book-card-title-lines\"\n | \"--z-book-card-title-word-break\"\n | \"--z-book-card-subtitle-lines\"\n | \"--z-book-card-subtitle-word-break\"\n | \"--z-book-card-authors-lines\"\n | \"--z-book-card-authors-word-break\"\n >;\n\nconst StoryMeta = {\n title: \"ZBookCard/ZBookCard\",\n component: \"z-book-card\",\n argTypes: {\n \"variant\": {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(BookCardVariant),\n },\n \"--z-book-card-portrait-cover-height\": {control: {type: \"text\"}},\n \"--z-book-card-title-lines\": {control: {type: \"text\"}},\n \"--z-book-card-title-word-break\": {control: {type: \"text\"}},\n \"--z-book-card-subtitle-lines\": {control: {type: \"text\"}},\n \"--z-book-card-subtitle-word-break\": {control: {type: \"text\"}},\n \"--z-book-card-authors-lines\": {control: {type: \"text\"}},\n \"--z-book-card-authors-word-break\": {control: {type: \"text\"}},\n },\n args: {\n \"variant\": BookCardVariant.LANDSCAPE,\n \"cover\": \"https://staticmy.zanichelli.it/catalogo/assets/m40001.9788808490056.jpg\",\n \"operaTitle\": \"Matematica.azzurro\",\n \"volumeTitle\": \"Volume 3 con Tutor\",\n \"authors\": \"Massimo Bergamini, Anna Trifone, Graziella Barozzi\",\n \"isbn\": \"9788808930552\",\n \"isbnLabel\": \"(ed. cartacea)\",\n \"year\": \"2025\",\n \"ebookUrl\": \"https://www.zanichelli.it/ricerca\",\n \"fallbackCover\": \"https://staticmy.zanichelli.it/copertine/dashboard/Dashboard_Book_Placeholder.jpg\",\n \"titleHtmlTag\": null,\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} satisfies Meta<ZBookCardStoriesArgs>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZBookCardStoriesArgs>;\n\nexport const Card = {\n render: (args) =>\n html`<z-book-card\n variant=${args.variant}\n cover=${args.cover}\n authors=${args.authors}\n opera-title=${args.operaTitle}\n volume-title=${args.volumeTitle}\n isbn=${args.isbn}\n isbn-label=${args.isbnLabel}\n year=${args.year}\n ebook-url=${args.ebookUrl}\n fallback-cover=${args.fallbackCover}\n title-html-tag=${args.titleHtmlTag}\n style=${styleMap({\n \"--z-book-card-portrait-cover-height\": args[\"--z-book-card-portrait-cover-height\"],\n \"--z-book-card-title-lines\": args[\"--z-book-card-title-lines\"],\n \"--z-book-card-title-word-break\": args[\"--z-book-card-title-word-break\"],\n \"--z-book-card-subtitle-lines\": args[\"--z-book-card-subtitle-lines\"],\n \"--z-book-card-subtitle-word-break\": args[\"--z-book-card-subtitle-word-break\"],\n \"--z-book-card-authors-lines\": args[\"--z-book-card-authors-lines\"],\n \"--z-book-card-authors-word-break\": args[\"--z-book-card-authors-word-break\"],\n })}\n ></z-book-card>`,\n} satisfies Story;\n\nexport const WithSlottedContent = {\n render: (args) =>\n html`<z-book-card\n variant=${args.variant}\n cover=${args.cover}\n authors=${args.authors}\n opera-title=${args.operaTitle}\n volume-title=${args.volumeTitle}\n isbn=${args.isbn}\n isbn-label=${args.isbnLabel}\n year=${args.year}\n ebook-url=${args.ebookUrl}\n fallback-cover=${args.fallbackCover}\n title-html-tag=${args.titleHtmlTag}\n style=${styleMap({\n \"--z-book-card-portrait-cover-height\": args[\"--z-book-card-portrait-cover-height\"],\n \"--z-book-card-title-lines\": args[\"--z-book-card-title-lines\"],\n \"--z-book-card-title-word-break\": args[\"--z-book-card-title-word-break\"],\n \"--z-book-card-subtitle-lines\": args[\"--z-book-card-subtitle-lines\"],\n \"--z-book-card-subtitle-word-break\": args[\"--z-book-card-subtitle-word-break\"],\n \"--z-book-card-authors-lines\": args[\"--z-book-card-authors-lines\"],\n \"--z-book-card-authors-word-break\": args[\"--z-book-card-authors-word-break\"],\n })}\n >\n <div slot=\"cta\">\n <z-icon\n style=\"cursor: pointer; fill: var(--blue500);\"\n name=\"star-full\"\n width=\"20\"\n height=\"20\"\n ></z-icon>\n </div>\n\n <div slot=\"ebook\">\n <z-button\n variant=\"primary\"\n size=\"x-small\"\n >custom ebook button</z-button\n >\n </div>\n\n <div slot=\"tags\">\n <z-tag style=\"--z-tag-bg: var(--gray500);\">EDIZIONE DIGITALE INSEGNANTE</z-tag>\n <z-tag style=\"--z-tag-bg: var(--blue50); --z-tag-text-color: var(--gray950);\">BES</z-tag>\n </div>\n\n <div slot=\"data\">\n <a\n href=\"https://www.zanichelli.it\"\n class=\"catalog-link z-link z-link-blue z-link-icon body-4-sb\"\n >Scheda catalogo\n <z-icon\n name=\"arrow-quad-north-east\"\n width=\"14\"\n height=\"14\"\n ></z-icon>\n </a>\n <div\n class=\"body-5-sb\"\n style=\"padding: calc(var(--space-unit) / 2) var(--space-unit); background-color: var(--green100); border-radius: 100px;\"\n >\n ADOTTATO\n </div>\n </div>\n\n <div\n slot=\"apps\"\n style=\"display: flex; flex-wrap: wrap;\"\n >\n <z-book-card-app\n icon=\"https://placehold.co/24\"\n name=\"Tutor di matematica matematica\"\n info=\"test test\"\n link=\"http://localhost\"\n ></z-book-card-app>\n <z-book-card-app\n icon=\"https://placehold.co/24\"\n name=\"Esercizi\"\n info=\"test test\"\n link=\"http://localhost\"\n ></z-book-card-app>\n </div>\n\n <div\n slot=\"coverOverlay\"\n class=\"body-4-sb\"\n style=\"text-align: center; padding: 16px 0;\"\n >\n ANTEPRIMA DEL LIBRO SENZA RISORSE MULTIMEDIALI\n </div>\n\n <style>\n z-book-card-app {\n --z-book-card-app-padding-x: 8px;\n width: 100%;\n max-width: 100%;\n height: 47px;\n\n @media (min-width: 768px) {\n --z-book-card-app-padding-x: 16px;\n width: 315px;\n }\n }\n </style>\n </z-book-card>`,\n} satisfies Story;\n"]}
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../../src/components/book-card/z-book-card/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {styleMap} from \"lit/directives/style-map.js\";\nimport {ZBookCard} from \".\";\nimport {BookCardVariant} from \"../../../beans\";\nimport {CSSVarsArguments} from \"../../../utils/storybook-utils\";\nimport \"../../z-button/index\";\nimport \"../../z-icon/index\";\nimport \"../../z-tag/index\";\nimport \"../z-book-card-app/index\";\nimport \"./index\";\n\ntype ZBookCardStoriesArgs = ZBookCard &\n CSSVarsArguments<\n | \"--z-book-card-portrait-cover-height\"\n | \"--z-book-card-title-lines\"\n | \"--z-book-card-title-word-break\"\n | \"--z-book-card-subtitle-lines\"\n | \"--z-book-card-subtitle-word-break\"\n | \"--z-book-card-authors-lines\"\n | \"--z-book-card-authors-word-break\"\n >;\n\nconst StoryMeta = {\n title: \"ZBookCard/ZBookCard\",\n component: \"z-book-card\",\n argTypes: {\n variant: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(BookCardVariant),\n },\n },\n args: {\n \"variant\": BookCardVariant.LANDSCAPE,\n \"cover\": \"https://staticmy.zanichelli.it/copertine/dashboard/m40002.9788808999825.jpg\",\n \"operaTitle\": \"Matematica.azzurro\",\n \"volumeTitle\": \"Volume 3 con Tutor\",\n \"authors\": \"Massimo Bergamini, Anna Trifone, Graziella Barozzi\",\n \"isbn\": \"9788808930552\",\n \"isbnLabel\": \"(ed. cartacea)\",\n \"year\": \"2025\",\n \"ebookUrl\": \"https://www.zanichelli.it/ricerca\",\n \"fallbackCover\": \"https://staticmy.zanichelli.it/copertine/dashboard/Dashboard_Book_Placeholder.jpg\",\n \"titleHtmlTag\": undefined,\n \"hasMultipleCovers\": false,\n \"linkTarget\": \"_blank\",\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} satisfies Meta<ZBookCardStoriesArgs>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZBookCardStoriesArgs>;\n\nexport const Card = {\n render: (args) =>\n html`<z-book-card\n .variant=${args.variant}\n cover=${args.cover}\n authors=${args.authors}\n opera-title=${args.operaTitle}\n volume-title=${args.volumeTitle}\n isbn=${args.isbn}\n isbn-label=${args.isbnLabel}\n year=${args.year}\n ebook-url=${args.ebookUrl}\n fallback-cover=${args.fallbackCover}\n title-html-tag=${args.titleHtmlTag}\n .hasMultipleCovers=${args.hasMultipleCovers}\n link-target=${args.linkTarget}\n style=${styleMap({\n \"--z-book-card-portrait-cover-height\": args[\"--z-book-card-portrait-cover-height\"],\n \"--z-book-card-title-lines\": args[\"--z-book-card-title-lines\"],\n \"--z-book-card-title-word-break\": args[\"--z-book-card-title-word-break\"],\n \"--z-book-card-subtitle-lines\": args[\"--z-book-card-subtitle-lines\"],\n \"--z-book-card-subtitle-word-break\": args[\"--z-book-card-subtitle-word-break\"],\n \"--z-book-card-authors-lines\": args[\"--z-book-card-authors-lines\"],\n \"--z-book-card-authors-word-break\": args[\"--z-book-card-authors-word-break\"],\n })}\n ></z-book-card>`,\n} satisfies Story;\n\nexport const WithSlottedContent = {\n render: (args) =>\n html`<z-book-card\n variant=${args.variant}\n .cover=${args.cover}\n authors=${args.authors}\n opera-title=${args.operaTitle}\n volume-title=${args.volumeTitle}\n isbn=${args.isbn}\n isbn-label=${args.isbnLabel}\n year=${args.year}\n ebook-url=${args.ebookUrl}\n fallback-cover=${args.fallbackCover}\n title-html-tag=${args.titleHtmlTag}\n .hasMultipleCovers=${args.hasMultipleCovers}\n link-target=${args.linkTarget}\n style=${styleMap({\n \"--z-book-card-portrait-cover-height\": args[\"--z-book-card-portrait-cover-height\"],\n \"--z-book-card-title-lines\": args[\"--z-book-card-title-lines\"],\n \"--z-book-card-title-word-break\": args[\"--z-book-card-title-word-break\"],\n \"--z-book-card-subtitle-lines\": args[\"--z-book-card-subtitle-lines\"],\n \"--z-book-card-subtitle-word-break\": args[\"--z-book-card-subtitle-word-break\"],\n \"--z-book-card-authors-lines\": args[\"--z-book-card-authors-lines\"],\n \"--z-book-card-authors-word-break\": args[\"--z-book-card-authors-word-break\"],\n })}\n >\n <div slot=\"cta\">\n <z-icon\n style=\"cursor: pointer; fill: var(--blue500);\"\n name=\"star-full\"\n width=\"20\"\n height=\"20\"\n ></z-icon>\n </div>\n\n <div slot=\"ebook\">\n <z-button\n variant=\"primary\"\n size=\"x-small\"\n >custom ebook button</z-button\n >\n </div>\n\n <div slot=\"tags\">\n <z-tag style=\"--z-tag-bg: var(--gray500);\">EDIZIONE DIGITALE INSEGNANTE</z-tag>\n <z-tag style=\"--z-tag-bg: var(--blue50); --z-tag-text-color: var(--gray950);\">BES</z-tag>\n </div>\n\n <div slot=\"data\">\n <a\n href=\"https://www.zanichelli.it\"\n class=\"catalog-link z-link z-link-blue z-link-icon body-4-sb\"\n >Scheda catalogo\n <z-icon\n name=\"arrow-quad-north-east\"\n width=\"14\"\n height=\"14\"\n ></z-icon>\n </a>\n <div\n class=\"body-5-sb\"\n style=\"padding: calc(var(--space-unit) / 2) var(--space-unit); background-color: var(--green100); border-radius: 100px;\"\n >\n ADOTTATO\n </div>\n </div>\n\n <div\n slot=\"apps\"\n style=\"display: flex; flex-wrap: wrap;\"\n >\n <z-book-card-app\n icon=\"https://placehold.co/24\"\n name=\"Tutor di matematica matematica\"\n info=\"test test\"\n link=\"http://localhost\"\n ></z-book-card-app>\n <z-book-card-app\n icon=\"https://placehold.co/24\"\n name=\"Esercizi\"\n info=\"test test\"\n link=\"http://localhost\"\n ></z-book-card-app>\n </div>\n\n <div\n slot=\"coverOverlay\"\n class=\"body-4-sb\"\n >\n ANTEPRIMA DEL LIBRO SENZA RISORSE MULTIMEDIALI\n </div>\n\n <style>\n z-book-card-app {\n --z-book-card-app-padding-x: 8px;\n width: 100%;\n max-width: 100%;\n height: 47px;\n\n @media (min-width: 768px) {\n --z-book-card-app-padding-x: 16px;\n width: 315px;\n }\n }\n </style>\n </z-book-card>`,\n} satisfies Story;\n"]}
@@ -18,59 +18,37 @@
18
18
  font-family: var(--font-family-sans);
19
19
  }
20
20
 
21
- :host .main-content {
21
+ :host,
22
+ * {
23
+ box-sizing: border-box;
24
+ }
25
+
26
+ .main-content {
22
27
  display: flex;
23
28
  height: 100%;
24
- box-sizing: border-box;
25
29
  flex-direction: column;
26
30
  padding: var(--space-unit);
27
31
  gap: var(--space-unit);
28
32
  }
29
33
 
30
- :host .main-content .cover {
34
+ .main-content .cover {
31
35
  position: relative;
32
36
  display: flex;
33
37
  overflow: hidden;
34
- height: var(--z-book-card-portrait-cover-height);
35
38
  align-items: flex-end;
36
- background: var(--color-white);
37
39
  border-radius: var(--border-radius);
38
40
  }
39
41
 
40
- :host .main-content .cover:focus-within {
41
- border-radius: var(--border-radius);
42
- box-shadow: var(--shadow-focus-primary);
43
- outline: none;
42
+ .main-content .cover z-book-cover {
43
+ --z-book-cover-height: var(--z-book-card-portrait-cover-height);
44
44
  }
45
45
 
46
- :host .main-content .cover a {
47
- display: inline-flex;
48
- outline: none;
49
- }
50
-
51
- :host .main-content .cover img {
52
- max-width: 100%;
53
- max-height: 100%;
46
+ .main-content a.cover:focus-visible {
47
+ box-shadow: var(--shadow-focus-primary);
54
48
  outline: none;
55
49
  }
56
50
 
57
- ::slotted([slot="coverOverlay"]) {
58
- position: absolute;
59
- bottom: 0;
60
- overflow: hidden;
61
- width: 100%;
62
- box-sizing: border-box;
63
- padding: var(--space-unit);
64
- background-color: var(--avatar-C19);
65
- color: var(--color-white);
66
- }
67
-
68
- :host .main-content .cover ::slotted([slot="coverOverlay"]) {
69
- min-height: 80px;
70
- max-height: 336px;
71
- }
72
-
73
- :host .main-content .card-info {
51
+ .main-content .card-info {
74
52
  display: flex;
75
53
  flex: 1;
76
54
  flex-direction: column;
@@ -78,24 +56,24 @@
78
56
  gap: var(--space-unit);
79
57
  }
80
58
 
81
- :host .main-content .card-info .top {
59
+ .main-content .card-info .top {
82
60
  display: flex;
83
61
  flex-direction: column;
84
62
  gap: calc(var(--space-unit) * 2);
85
63
  }
86
64
 
87
- :host .main-content .card-info .top ::slotted([slot="tags"]) {
65
+ .main-content .card-info .top ::slotted([slot="tags"]) {
88
66
  display: flex;
89
67
  flex-wrap: wrap;
90
68
  gap: var(--space-unit);
91
69
  }
92
70
 
93
- :host .main-content .card-info .top ::slotted([slot="data"]) {
71
+ .main-content .card-info .top ::slotted([slot="data"]) {
94
72
  display: flex;
95
73
  justify-content: space-between;
96
74
  }
97
75
 
98
- :host .main-content .card-info .top .ellipsis {
76
+ .main-content .card-info .top .ellipsis {
99
77
  display: -webkit-box;
100
78
  overflow: hidden;
101
79
  height: 1.4rem;
@@ -107,46 +85,49 @@
107
85
  word-break: break-all;
108
86
  }
109
87
 
110
- :host .main-content .card-info .top .ellipsis.opera-title {
111
- height: calc(1.5 * var(--z-book-card-title-lines)) rem;
88
+ .main-content .card-info .top .ellipsis.opera-title {
89
+ height: auto;
90
+ max-height: calc(1.5rem * var(--z-book-card-title-lines));
112
91
  -webkit-line-clamp: var(--z-book-card-title-lines);
113
92
  line-clamp: var(--z-book-card-title-lines);
114
93
  line-height: 1.5rem;
115
94
  word-break: var(--z-book-card-title-word-break);
116
95
  }
117
96
 
118
- :host .main-content .card-info .top .ellipsis.volume-title {
119
- height: calc(1.4 * var(--z-book-card-subtitle-lines)) rem;
97
+ .main-content .card-info .top .ellipsis.volume-title {
98
+ height: auto;
99
+ max-height: calc(1.4rem * var(--z-book-card-subtitle-lines));
120
100
  -webkit-line-clamp: var(--z-book-card-subtitle-lines);
121
101
  line-clamp: var(--z-book-card-subtitle-lines);
122
102
  line-height: 1.4rem;
123
103
  word-break: var(--z-book-card-subtitle-word-break);
124
104
  }
125
105
 
126
- :host .main-content .card-info .top .ellipsis.authors {
127
- height: calc(1.4 * var(--z-book-card-authors-lines)) rem;
106
+ .main-content .card-info .top .ellipsis.authors {
107
+ height: auto;
108
+ max-height: calc(1.4rem * var(--z-book-card-authors-lines));
128
109
  -webkit-line-clamp: var(--z-book-card-authors-lines);
129
110
  line-clamp: var(--z-book-card-authors-lines);
130
111
  line-height: 1.4rem;
131
112
  word-break: var(--z-book-card-authors-word-break);
132
113
  }
133
114
 
134
- :host .main-content .card-info .top .opera-title * {
115
+ .main-content .card-info .top .opera-title * {
135
116
  all: unset;
136
117
  }
137
118
 
138
- :host .main-content .cta-wrapper {
119
+ .main-content .cta-wrapper {
139
120
  display: flex;
140
121
  justify-content: space-between;
141
122
  gap: calc(var(--space-unit) / 2);
142
123
  }
143
124
 
144
- :host .main-content .card-info .top .link-chip-wrapper {
125
+ .main-content .card-info .top .link-chip-wrapper {
145
126
  display: flex;
146
127
  justify-content: space-between;
147
128
  }
148
129
 
149
- :host .main-content .card-info .bottom .ebook {
130
+ .main-content .card-info .bottom .ebook {
150
131
  display: flex;
151
132
  flex-wrap: wrap;
152
133
  align-items: center;
@@ -157,7 +138,7 @@
157
138
  gap: var(--space-unit);
158
139
  }
159
140
 
160
- :host .main-content .card-info .bottom .ebook .app-name {
141
+ .main-content .card-info .bottom .ebook .app-name {
161
142
  display: flex;
162
143
  align-items: center;
163
144
  padding: calc(var(--space-unit) / 2) 0;
@@ -165,43 +146,30 @@
165
146
  gap: calc(var(--space-unit) / 2);
166
147
  }
167
148
 
168
- :host .main-content .card-info .bottom .ebook .app-name .ebook-logo {
149
+ .main-content .card-info .bottom .ebook .app-name .ebook-logo {
169
150
  width: 1.5rem;
170
151
  height: 1.5rem;
171
152
  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");
172
153
  }
173
154
 
174
155
  :host([variant="landscape"]) {
175
- width: 635px;
156
+ width: 637px;
176
157
  min-height: max(332px, 20.75rem);
177
158
  padding: 0;
178
159
  }
179
160
 
180
161
  :host([variant="landscape"]) .main-content {
181
162
  min-height: max(332px, 20.75rem);
182
- box-sizing: border-box;
183
163
  flex-direction: row;
184
164
  padding: calc(var(--space-unit) * 2);
185
165
  gap: calc(var(--space-unit) * 2);
186
166
  }
187
167
 
188
- :host([variant="landscape"]) .main-content .cover {
189
- display: flex;
190
- overflow: hidden;
191
- width: 221px;
192
- height: 300px;
193
- margin: 0;
194
- }
195
-
196
- :host([variant="landscape"]) .main-content .cover ::slotted([slot="coverOverlay"]) {
197
- min-height: 80px;
198
- max-height: 256px;
199
- }
200
-
201
- :host([variant="landscape"]) .main-content .card-info {
202
- gap: calc(var(--space-unit) / 2);
168
+ :host([variant="landscape"]) .main-content .cover z-book-cover {
169
+ --z-book-cover-height: 300px;
203
170
  }
204
171
 
172
+ :host([variant="landscape"]) .main-content .card-info,
205
173
  :host([variant="landscape"]) .main-content .card-info .top {
206
174
  gap: calc(var(--space-unit) / 2);
207
175
  }
@@ -4,6 +4,7 @@ import { Breakpoints } from "../../constants/breakpoints";
4
4
  import { containsElement } from "../../utils/utils";
5
5
  const SUPPORT_INTERSECTION_OBSERVER = typeof IntersectionObserver !== "undefined";
6
6
  /**
7
+ * @slot menu-button - Slot for a custom menu button. It will replace the default burger icon.
7
8
  * @slot title - Slot for the main title
8
9
  * @slot top-subtitle - Slot for the top subtitle. It will not appear in stuck header.
9
10
  * @slot stucked-title - Title for the stuck header. By default it uses the text from the `title` slot.
@@ -256,7 +257,7 @@ export class ZAppHeader {
256
257
  }
257
258
  render() {
258
259
  const hasTopSubtitle = this.hasSlot("top-subtitle");
259
- return (h(Host, { key: '01bcf2e73c2b4da9ed2c9bcf19ceeece56bd738e', "menu-length": this.menuLength }, h("div", { key: 'adf412ee992b488c6e87b7e2f82265c7e6a13b8c', class: { "heading-panel": true, "has-menubar": this.menuLength > 0 && !this.enableOffcanvas }, ref: (el) => (this.container = el) }, h("div", { key: '015996363351b8b81ee50bffd409d8a41edc4008', class: "heading-container" }, ((!this.enableSearch && this.isMobile) || !this.isMobile) && (h("div", { key: '98e3fd2bc1a55fb77dfb00fb55708f6520461bb5', class: "top-subtitle" }, h("slot", { key: '068c16c8cb9496933955c6d68ac8aa1326640688', name: "top-subtitle" }))), h("div", { key: 'c7a806a4af8d099f0c6bc70cefd03f01467b235f', class: "heading-title" }, this.renderMenuButton(), !hasTopSubtitle && !this._stuck && this.renderProductLogos(), h("slot", { key: '45a99fbbb889355061ee3230d5825110d681e26e', name: "title" }), this.enableSearch && !this.isMobile && this.renderSeachbar()), this.enableSearch && this.isMobile && this.renderSeachbar()), h("nav", { key: 'b9ab704c754800865087d45791257a6191b847e9', class: "menu-container", "aria-label": this.title || undefined }, this.canShowMenu && (h("div", { key: '0dd28fca9d831513a3f29041a33da0b9935caa3e', role: "menubar", "aria-label": this.title || undefined }, h("slot", { key: '35e03382a70e5601c8d02c26731ba434d795de0a', name: "menu", onSlotchange: this.collectMenuElements }))))), this.renderOffcanvas(), this._stuck && this.renderStuck()));
260
+ return (h(Host, { key: 'a0bd0524157668d1ed6132f581596e91feef9c37', "menu-length": this.menuLength }, h("div", { key: 'a91c0c19ea534e7707dff0700fc3da571c3ff440', class: { "heading-panel": true, "has-menubar": this.menuLength > 0 && !this.enableOffcanvas }, ref: (el) => (this.container = el) }, h("div", { key: 'b19a7bbbc84d0fe7a516b0bdfb191572162ec79c', class: "heading-container" }, ((!this.enableSearch && this.isMobile) || !this.isMobile) && (h("div", { key: '5769e4b6a5aaef8d99133268e8dba7769cdad8ed', class: "top-subtitle" }, h("slot", { key: '9f5979f6a544049f53dd07a59c7524192aaef936', name: "top-subtitle" }))), h("div", { key: '4a3a22a01bbe11e460ef6f72b4eed08e17743013', class: "heading-title" }, h("slot", { key: '6cd7e4dbfdaddb8a2716e8168fc1bba4121c4291', name: "menu-button" }, this.renderMenuButton()), !hasTopSubtitle && !this._stuck && this.renderProductLogos(), h("slot", { key: '7401663bd3b0cd3fe228789ca856e002a04d3581', name: "title" }), this.enableSearch && !this.isMobile && this.renderSeachbar()), this.enableSearch && this.isMobile && this.renderSeachbar()), h("nav", { key: '685e52ce6b58cd839c34d7e5ab69c775604853e0', class: "menu-container", "aria-label": this.title || undefined }, this.canShowMenu && (h("div", { key: '9b5d50462dcc1c2fde87c9ee7a7ba62d96b6c252', role: "menubar", "aria-label": this.title || undefined }, h("slot", { key: '9965ec165c2e2f20e96a70f121856bf7382e1ecb', name: "menu", onSlotchange: this.collectMenuElements }))))), this.renderOffcanvas(), this._stuck && this.renderStuck()));
260
261
  }
261
262
  static get is() { return "z-app-header"; }
262
263
  static get encapsulation() { return "shadow"; }