@zanichelli/albe-web-components 16.3.1-rc1 → 16.3.2

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 (605) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/cjs/{index-01778132.js → index-041b41e6.js} +2 -2
  3. package/dist/cjs/{index-01778132.js.map → index-041b41e6.js.map} +1 -1
  4. package/dist/cjs/index-1dfb8b3c.js +47 -0
  5. package/dist/cjs/index-1dfb8b3c.js.map +1 -0
  6. package/dist/cjs/{index-ef486baa.js → index-25ded558.js} +2 -2
  7. package/dist/cjs/{index-ef486baa.js.map → index-25ded558.js.map} +1 -1
  8. package/dist/cjs/index-4bce26ea.js +59 -0
  9. package/dist/cjs/index-4bce26ea.js.map +1 -0
  10. package/dist/cjs/{index-b26fbd76.js → index-b7759a0d.js} +2 -2
  11. package/dist/cjs/{index-b26fbd76.js.map → index-b7759a0d.js.map} +1 -1
  12. package/dist/cjs/index-d4272b0e.js +65 -0
  13. package/dist/cjs/index-d4272b0e.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/web-components-library.cjs.js +1 -1
  16. package/dist/cjs/z-accordion.cjs.entry.js +1 -1
  17. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  18. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -1
  19. package/dist/cjs/z-app-header_12.cjs.entry.js +73 -23
  20. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  21. package/dist/cjs/z-aria-alert.cjs.entry.js +1 -1
  22. package/dist/cjs/z-avatar.cjs.entry.js +2 -2
  23. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  24. package/dist/cjs/z-breadcrumb.cjs.entry.js +2 -2
  25. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  26. package/dist/cjs/z-chip.cjs.entry.js +2 -2
  27. package/dist/cjs/z-combobox.cjs.entry.js +1 -1
  28. package/dist/cjs/z-cover-hero.cjs.entry.js +2 -2
  29. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +4 -4
  30. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  31. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  32. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  33. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  34. package/dist/cjs/z-menu-section.cjs.entry.js +28 -13
  35. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -1
  36. package/dist/cjs/z-menu.cjs.entry.js +89 -43
  37. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  38. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  39. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  40. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  41. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  42. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  43. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  44. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  45. package/dist/cjs/z-myz-card_4.cjs.entry.js +4 -4
  46. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  47. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  48. package/dist/cjs/z-navigation-tabs.cjs.entry.js +2 -2
  49. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  50. package/dist/cjs/z-otp.cjs.entry.js +2 -2
  51. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  52. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  53. package/dist/cjs/z-section-title.cjs.entry.js +1 -1
  54. package/dist/cjs/z-select.cjs.entry.js +1 -1
  55. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  56. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  57. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  58. package/dist/cjs/z-table.cjs.entry.js +8 -8
  59. package/dist/cjs/z-table.cjs.entry.js.map +1 -1
  60. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  61. package/dist/cjs/z-td.cjs.entry.js +1 -1
  62. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  63. package/dist/cjs/z-th.cjs.entry.js +1 -1
  64. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  65. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  66. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  67. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  68. package/dist/cjs/z-toggle-switch.cjs.entry.js +3 -3
  69. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  70. package/dist/cjs/z-tr.cjs.entry.js +3 -3
  71. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  72. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  73. package/dist/collection/components/table/cells/z-td/index.js.map +1 -1
  74. package/dist/collection/components/table/cells/z-td/styles.css +13 -21
  75. package/dist/collection/components/table/cells/z-th/index.js +5 -36
  76. package/dist/collection/components/table/cells/z-th/index.js.map +1 -1
  77. package/dist/collection/components/table/cells/z-th/styles.css +24 -57
  78. package/dist/collection/components/table/z-table/index.js +1 -1
  79. package/dist/collection/components/table/z-table/index.stories.js +3 -19
  80. package/dist/collection/components/table/z-table/index.stories.js.map +1 -1
  81. package/dist/collection/components/table/z-table/styles.css +4 -0
  82. package/dist/collection/components/table/z-tbody/index.js +1 -1
  83. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  84. package/dist/collection/components/table/z-thead/index.js +1 -1
  85. package/dist/collection/components/table/z-tr/index.js +1 -1
  86. package/dist/collection/components/table/z-tr/styles.css +1 -0
  87. package/dist/collection/components/z-accordion/index.js +1 -1
  88. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  89. package/dist/collection/components/z-app-header/index.js +55 -13
  90. package/dist/collection/components/z-app-header/index.js.map +1 -1
  91. package/dist/collection/components/z-app-header/index.stories.js +50 -116
  92. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  93. package/dist/collection/components/z-app-header/styles.css +34 -25
  94. package/dist/collection/components/z-aria-alert/index.js +1 -1
  95. package/dist/collection/components/z-avatar/index.js +2 -2
  96. package/dist/collection/components/z-book-card/index.js +1 -1
  97. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  98. package/dist/collection/components/z-button-sort/index.js +1 -1
  99. package/dist/collection/components/z-chip/index.js +2 -2
  100. package/dist/collection/components/z-combobox/index.js +1 -1
  101. package/dist/collection/components/z-cover-hero/index.js +2 -2
  102. package/dist/collection/components/z-divider/index.js +1 -1
  103. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  104. package/dist/collection/components/z-info-box/index.js +1 -1
  105. package/dist/collection/components/z-info-reveal/index.js +1 -1
  106. package/dist/collection/components/z-input/index.js +1 -1
  107. package/dist/collection/components/z-input-message/index.js +1 -1
  108. package/dist/collection/components/z-logo/index.js +1 -1
  109. package/dist/collection/components/z-menu/index.js +93 -42
  110. package/dist/collection/components/z-menu/index.js.map +1 -1
  111. package/dist/collection/components/z-menu/styles.css +40 -52
  112. package/dist/collection/components/z-menu-section/index.js +31 -16
  113. package/dist/collection/components/z-menu-section/index.js.map +1 -1
  114. package/dist/collection/components/z-menu-section/styles.css +8 -0
  115. package/dist/collection/components/z-modal/index.js +4 -4
  116. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  117. package/dist/collection/components/z-notification/index.js +1 -1
  118. package/dist/collection/components/z-offcanvas/index.js +1 -1
  119. package/dist/collection/components/z-panel-elem/index.js +2 -2
  120. package/dist/collection/components/z-popover/index.js +1 -1
  121. package/dist/collection/components/z-searchbar/index.js +14 -5
  122. package/dist/collection/components/z-searchbar/index.js.map +1 -1
  123. package/dist/collection/components/z-section-title/index.js +1 -1
  124. package/dist/collection/components/z-select/index.js +1 -1
  125. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  126. package/dist/collection/components/z-stepper/index.js +1 -1
  127. package/dist/collection/components/z-stepper-item/index.js +1 -1
  128. package/dist/collection/components/z-tag/index.js +2 -2
  129. package/dist/collection/components/z-toast-notification/index.js +1 -1
  130. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  131. package/dist/collection/components/z-toggle-button/index.js +2 -2
  132. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  133. package/dist/collection/components/z-tooltip/index.js +1 -1
  134. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  135. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  136. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  137. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  138. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  139. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  140. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  141. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  142. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  143. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  144. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  145. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  146. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  147. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  148. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  149. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  150. package/dist/components/index10.js +1 -1
  151. package/dist/components/index11.js +1 -1
  152. package/dist/components/index15.js +4 -4
  153. package/dist/components/index16.js +1 -1
  154. package/dist/components/index17.js +1 -1
  155. package/dist/components/index18.js +1 -1
  156. package/dist/components/index19.js +1 -1
  157. package/dist/components/index20.js +1 -1
  158. package/dist/components/index21.js +1 -1
  159. package/dist/components/index22.js +1 -1
  160. package/dist/components/index23.js +14 -5
  161. package/dist/components/index23.js.map +1 -1
  162. package/dist/components/index24.js +2 -2
  163. package/dist/components/index3.js +1 -1
  164. package/dist/components/index5.js +2 -2
  165. package/dist/components/index6.js +1 -1
  166. package/dist/components/index8.js +1 -1
  167. package/dist/components/z-accordion.js +1 -1
  168. package/dist/components/z-anchor-navigation.js +1 -1
  169. package/dist/components/z-app-header.js +56 -14
  170. package/dist/components/z-app-header.js.map +1 -1
  171. package/dist/components/z-aria-alert.js +1 -1
  172. package/dist/components/z-avatar.js +2 -2
  173. package/dist/components/z-book-card.js +1 -1
  174. package/dist/components/z-breadcrumb.js +2 -2
  175. package/dist/components/z-button-sort.js +1 -1
  176. package/dist/components/z-combobox.js +1 -1
  177. package/dist/components/z-cover-hero.js +2 -2
  178. package/dist/components/z-info-box.js +1 -1
  179. package/dist/components/z-info-reveal.js +1 -1
  180. package/dist/components/z-logo.js +1 -1
  181. package/dist/components/z-menu-section.js +30 -15
  182. package/dist/components/z-menu-section.js.map +1 -1
  183. package/dist/components/z-menu.js +89 -44
  184. package/dist/components/z-menu.js.map +1 -1
  185. package/dist/components/z-myz-card-alert.js +1 -1
  186. package/dist/components/z-myz-card-dictionary.js +1 -1
  187. package/dist/components/z-myz-card-footer-sections.js +1 -1
  188. package/dist/components/z-myz-card-footer.js +1 -1
  189. package/dist/components/z-myz-card-icon.js +1 -1
  190. package/dist/components/z-myz-card-info.js +1 -1
  191. package/dist/components/z-myz-card-list.js +1 -1
  192. package/dist/components/z-myz-list.js +1 -1
  193. package/dist/components/z-navigation-tabs.js +2 -2
  194. package/dist/components/z-notification.js +1 -1
  195. package/dist/components/z-otp.js +2 -2
  196. package/dist/components/z-panel-elem.js +2 -2
  197. package/dist/components/z-section-title.js +1 -1
  198. package/dist/components/z-select.js +1 -1
  199. package/dist/components/z-skip-to-content.js +1 -1
  200. package/dist/components/z-stepper-item.js +1 -1
  201. package/dist/components/z-stepper.js +1 -1
  202. package/dist/components/z-table.js +2 -2
  203. package/dist/components/z-table.js.map +1 -1
  204. package/dist/components/z-tbody.js +1 -1
  205. package/dist/components/z-td.js +2 -2
  206. package/dist/components/z-td.js.map +1 -1
  207. package/dist/components/z-tfoot.js +1 -1
  208. package/dist/components/z-th.js +6 -14
  209. package/dist/components/z-th.js.map +1 -1
  210. package/dist/components/z-thead.js +1 -1
  211. package/dist/components/z-toast-notification-list.js +1 -1
  212. package/dist/components/z-toast-notification.js +1 -1
  213. package/dist/components/z-toggle-button.js +2 -2
  214. package/dist/components/z-toggle-switch.js +3 -3
  215. package/dist/components/z-tooltip.js +1 -1
  216. package/dist/components/z-tr.js +2 -2
  217. package/dist/components/z-tr.js.map +1 -1
  218. package/dist/components/z-visually-hidden.js +1 -1
  219. package/dist/esm/{index-8e5c830a.js → index-36f0f6c0.js} +2 -2
  220. package/dist/esm/{index-8e5c830a.js.map → index-36f0f6c0.js.map} +1 -1
  221. package/dist/esm/index-66bd56db.js +57 -0
  222. package/dist/esm/index-66bd56db.js.map +1 -0
  223. package/dist/esm/index-89520805.js +63 -0
  224. package/dist/esm/index-89520805.js.map +1 -0
  225. package/dist/esm/index-cddfba10.js +45 -0
  226. package/dist/esm/index-cddfba10.js.map +1 -0
  227. package/dist/esm/{index-fe4fc8da.js → index-dfddeb25.js} +2 -2
  228. package/dist/esm/{index-fe4fc8da.js.map → index-dfddeb25.js.map} +1 -1
  229. package/dist/esm/{index-09ff70db.js → index-e70be23f.js} +2 -2
  230. package/dist/esm/{index-09ff70db.js.map → index-e70be23f.js.map} +1 -1
  231. package/dist/esm/loader.js +1 -1
  232. package/dist/esm/web-components-library.js +1 -1
  233. package/dist/esm/z-accordion.entry.js +1 -1
  234. package/dist/esm/z-alert.entry.js +1 -1
  235. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  236. package/dist/esm/z-app-header_12.entry.js +73 -23
  237. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  238. package/dist/esm/z-aria-alert.entry.js +1 -1
  239. package/dist/esm/z-avatar.entry.js +2 -2
  240. package/dist/esm/z-book-card.entry.js +1 -1
  241. package/dist/esm/z-breadcrumb.entry.js +2 -2
  242. package/dist/esm/z-button-sort.entry.js +1 -1
  243. package/dist/esm/z-chip.entry.js +2 -2
  244. package/dist/esm/z-combobox.entry.js +1 -1
  245. package/dist/esm/z-cover-hero.entry.js +2 -2
  246. package/dist/esm/z-dragdrop-area_2.entry.js +4 -4
  247. package/dist/esm/z-ghost-loading.entry.js +1 -1
  248. package/dist/esm/z-info-box.entry.js +1 -1
  249. package/dist/esm/z-info-reveal.entry.js +1 -1
  250. package/dist/esm/z-logo.entry.js +1 -1
  251. package/dist/esm/z-menu-section.entry.js +28 -13
  252. package/dist/esm/z-menu-section.entry.js.map +1 -1
  253. package/dist/esm/z-menu.entry.js +89 -43
  254. package/dist/esm/z-menu.entry.js.map +1 -1
  255. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  256. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  257. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  258. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  259. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  260. package/dist/esm/z-myz-card-info.entry.js +1 -1
  261. package/dist/esm/z-myz-card-list.entry.js +1 -1
  262. package/dist/esm/z-myz-card_4.entry.js +4 -4
  263. package/dist/esm/z-myz-list-item.entry.js +1 -1
  264. package/dist/esm/z-myz-list.entry.js +1 -1
  265. package/dist/esm/z-navigation-tabs.entry.js +2 -2
  266. package/dist/esm/z-notification.entry.js +1 -1
  267. package/dist/esm/z-otp.entry.js +2 -2
  268. package/dist/esm/z-panel-elem.entry.js +2 -2
  269. package/dist/esm/z-popover.entry.js +1 -1
  270. package/dist/esm/z-section-title.entry.js +1 -1
  271. package/dist/esm/z-select.entry.js +1 -1
  272. package/dist/esm/z-skip-to-content.entry.js +1 -1
  273. package/dist/esm/z-stepper-item.entry.js +1 -1
  274. package/dist/esm/z-stepper.entry.js +1 -1
  275. package/dist/esm/z-table.entry.js +8 -8
  276. package/dist/esm/z-table.entry.js.map +1 -1
  277. package/dist/esm/z-tbody.entry.js +1 -1
  278. package/dist/esm/z-td.entry.js +1 -1
  279. package/dist/esm/z-tfoot.entry.js +1 -1
  280. package/dist/esm/z-th.entry.js +1 -1
  281. package/dist/esm/z-thead.entry.js +1 -1
  282. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  283. package/dist/esm/z-toast-notification.entry.js +1 -1
  284. package/dist/esm/z-toggle-button.entry.js +2 -2
  285. package/dist/esm/z-toggle-switch.entry.js +3 -3
  286. package/dist/esm/z-tooltip.entry.js +1 -1
  287. package/dist/esm/z-tr.entry.js +3 -3
  288. package/dist/esm/z-visually-hidden.entry.js +1 -1
  289. package/dist/types/components/table/cells/z-th/index.d.ts +0 -11
  290. package/dist/types/components/table/z-table/index.stories.d.ts +0 -11
  291. package/dist/types/components/z-app-header/index.d.ts +4 -3
  292. package/dist/types/components/z-menu/index.d.ts +9 -1
  293. package/dist/types/components/z-menu-section/index.d.ts +4 -2
  294. package/dist/types/components/z-searchbar/index.d.ts +1 -0
  295. package/dist/types/components.d.ts +0 -8
  296. package/dist/web-components-library/p-06d98334.entry.js +2 -0
  297. package/dist/web-components-library/{p-291319ed.entry.js → p-100c6243.entry.js} +2 -2
  298. package/dist/web-components-library/p-28018cd3.entry.js +2 -0
  299. package/dist/web-components-library/p-28018cd3.entry.js.map +1 -0
  300. package/dist/web-components-library/p-2b1fd95a.entry.js +2 -0
  301. package/dist/web-components-library/{p-6e92df75.entry.js → p-2f662fea.entry.js} +2 -2
  302. package/dist/web-components-library/p-3ae8fb1a.entry.js +2 -0
  303. package/dist/web-components-library/p-3dbad75e.js +2 -0
  304. package/dist/web-components-library/{p-a16ed530.entry.js → p-4537f922.entry.js} +2 -2
  305. package/dist/web-components-library/{p-17d2d60b.entry.js → p-45dc157c.entry.js} +2 -2
  306. package/dist/web-components-library/{p-b6ea478b.entry.js → p-46d98609.entry.js} +2 -2
  307. package/dist/web-components-library/p-4a2e0034.js +2 -0
  308. package/dist/web-components-library/{p-155c52f7.js.map → p-4a2e0034.js.map} +1 -1
  309. package/dist/web-components-library/p-4f3f8578.entry.js +2 -0
  310. package/dist/web-components-library/{p-956ece11.entry.js → p-51f1c9c0.entry.js} +2 -2
  311. package/dist/web-components-library/{p-0b100bd7.entry.js → p-5a0f0978.entry.js} +2 -2
  312. package/dist/web-components-library/{p-ee430669.entry.js → p-5a178c69.entry.js} +2 -2
  313. package/dist/web-components-library/p-60f410df.js +2 -0
  314. package/dist/web-components-library/p-60f410df.js.map +1 -0
  315. package/dist/web-components-library/p-63ec7bad.entry.js +2 -0
  316. package/dist/web-components-library/p-64aab82f.js +2 -0
  317. package/dist/web-components-library/p-68f4fbc8.entry.js +2 -0
  318. package/dist/web-components-library/{p-f87bcdc3.entry.js.map → p-68f4fbc8.entry.js.map} +1 -1
  319. package/{www/build/p-b387e877.entry.js → dist/web-components-library/p-6a1b3e86.entry.js} +2 -2
  320. package/{www/build/p-1320c34d.entry.js → dist/web-components-library/p-6db2fd46.entry.js} +2 -2
  321. package/{www/build/p-0ca0265f.entry.js → dist/web-components-library/p-707e5f91.entry.js} +2 -2
  322. package/dist/web-components-library/{p-89b1e0ce.entry.js → p-777ad335.entry.js} +2 -2
  323. package/{www/build/p-eb93aa0b.entry.js → dist/web-components-library/p-7aba5af3.entry.js} +2 -2
  324. package/dist/web-components-library/p-7d5bf905.entry.js +2 -0
  325. package/dist/web-components-library/{p-6f9fc850.entry.js → p-820b48f6.entry.js} +2 -2
  326. package/dist/web-components-library/p-823c45d4.entry.js +2 -0
  327. package/dist/web-components-library/{p-d847bfcd.entry.js → p-855334f4.entry.js} +2 -2
  328. package/dist/web-components-library/p-8a6a4d22.js +2 -0
  329. package/dist/web-components-library/p-8a6a4d22.js.map +1 -0
  330. package/{www/build/p-9fc6961e.entry.js → dist/web-components-library/p-8d56e74b.entry.js} +2 -2
  331. package/dist/web-components-library/p-8e5f1ae0.entry.js +2 -0
  332. package/dist/web-components-library/p-8e5f1ae0.entry.js.map +1 -0
  333. package/dist/web-components-library/p-95cb8701.js +2 -0
  334. package/{www/build/p-4704cece.entry.js → dist/web-components-library/p-9a1b51ed.entry.js} +2 -2
  335. package/dist/web-components-library/{p-140b5d8f.entry.js → p-9b9a04ad.entry.js} +2 -2
  336. package/dist/web-components-library/{p-ef8a7250.entry.js → p-a0fd1323.entry.js} +2 -2
  337. package/dist/web-components-library/{p-64ba80da.entry.js → p-a64a1bf0.entry.js} +2 -2
  338. package/dist/web-components-library/{p-e770ed95.entry.js → p-aaae6b16.entry.js} +2 -2
  339. package/dist/web-components-library/{p-d94c5857.entry.js → p-ab7f129e.entry.js} +2 -2
  340. package/{www/build/p-62b75a18.entry.js → dist/web-components-library/p-ad97fdc4.entry.js} +2 -2
  341. package/dist/web-components-library/{p-b7af7424.entry.js → p-b2356bc7.entry.js} +2 -2
  342. package/dist/web-components-library/p-b6e7866f.entry.js +2 -0
  343. package/dist/web-components-library/p-b6e7866f.entry.js.map +1 -0
  344. package/dist/web-components-library/p-c1e498ac.entry.js +2 -0
  345. package/dist/web-components-library/p-c54d0925.entry.js +2 -0
  346. package/dist/web-components-library/p-c679277c.entry.js +2 -0
  347. package/{www/build/p-9bf06eb5.entry.js.map → dist/web-components-library/p-c679277c.entry.js.map} +1 -1
  348. package/dist/web-components-library/p-cc71a90c.entry.js +2 -0
  349. package/dist/web-components-library/{p-f26b2e47.entry.js → p-cd0219b4.entry.js} +2 -2
  350. package/dist/web-components-library/{p-48b2e967.entry.js → p-d5f5e107.entry.js} +2 -2
  351. package/dist/web-components-library/{p-f410f295.entry.js → p-df8c381a.entry.js} +2 -2
  352. package/dist/web-components-library/{p-ca7634bf.entry.js → p-e25d7f0a.entry.js} +2 -2
  353. package/dist/web-components-library/{p-a45e72f0.entry.js → p-e4d97fbf.entry.js} +2 -2
  354. package/dist/web-components-library/{p-c451b4d7.entry.js → p-e529a714.entry.js} +2 -2
  355. package/dist/web-components-library/{p-ecae1a7a.entry.js → p-ea9c0ff3.entry.js} +2 -2
  356. package/dist/web-components-library/{p-9a48e70b.entry.js → p-f06ad42c.entry.js} +2 -2
  357. package/dist/web-components-library/{p-00f7e0da.entry.js → p-f15d0a00.entry.js} +2 -2
  358. package/{www/build/p-c38833ea.entry.js → dist/web-components-library/p-f425c6f2.entry.js} +2 -2
  359. package/dist/web-components-library/p-f703660d.entry.js +2 -0
  360. package/{www/build/p-30f09188.entry.js → dist/web-components-library/p-f8bbca6e.entry.js} +2 -2
  361. package/dist/web-components-library/p-fb0b11cd.entry.js +2 -0
  362. package/dist/web-components-library/p-fb0b11cd.entry.js.map +1 -0
  363. package/dist/web-components-library/web-components-library.esm.js +1 -1
  364. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  365. package/package.json +1 -1
  366. package/www/build/p-06d98334.entry.js +2 -0
  367. package/www/build/{p-291319ed.entry.js → p-100c6243.entry.js} +2 -2
  368. package/www/build/p-28018cd3.entry.js +2 -0
  369. package/www/build/p-28018cd3.entry.js.map +1 -0
  370. package/www/build/p-2b1fd95a.entry.js +2 -0
  371. package/www/build/{p-6e92df75.entry.js → p-2f662fea.entry.js} +2 -2
  372. package/www/build/p-38bf2bfc.js +2 -0
  373. package/www/build/p-3ae8fb1a.entry.js +2 -0
  374. package/www/build/p-3dbad75e.js +2 -0
  375. package/www/build/{p-a16ed530.entry.js → p-4537f922.entry.js} +2 -2
  376. package/www/build/{p-17d2d60b.entry.js → p-45dc157c.entry.js} +2 -2
  377. package/www/build/{p-b6ea478b.entry.js → p-46d98609.entry.js} +2 -2
  378. package/www/build/p-4a2e0034.js +2 -0
  379. package/www/build/{p-155c52f7.js.map → p-4a2e0034.js.map} +1 -1
  380. package/www/build/p-4f3f8578.entry.js +2 -0
  381. package/www/build/{p-956ece11.entry.js → p-51f1c9c0.entry.js} +2 -2
  382. package/www/build/{p-0b100bd7.entry.js → p-5a0f0978.entry.js} +2 -2
  383. package/www/build/{p-ee430669.entry.js → p-5a178c69.entry.js} +2 -2
  384. package/www/build/p-60f410df.js +2 -0
  385. package/www/build/p-60f410df.js.map +1 -0
  386. package/www/build/p-63ec7bad.entry.js +2 -0
  387. package/www/build/p-64aab82f.js +2 -0
  388. package/www/build/p-68f4fbc8.entry.js +2 -0
  389. package/www/build/{p-f87bcdc3.entry.js.map → p-68f4fbc8.entry.js.map} +1 -1
  390. package/{dist/web-components-library/p-b387e877.entry.js → www/build/p-6a1b3e86.entry.js} +2 -2
  391. package/{dist/web-components-library/p-1320c34d.entry.js → www/build/p-6db2fd46.entry.js} +2 -2
  392. package/{dist/web-components-library/p-0ca0265f.entry.js → www/build/p-707e5f91.entry.js} +2 -2
  393. package/www/build/{p-89b1e0ce.entry.js → p-777ad335.entry.js} +2 -2
  394. package/{dist/web-components-library/p-eb93aa0b.entry.js → www/build/p-7aba5af3.entry.js} +2 -2
  395. package/www/build/p-7d5bf905.entry.js +2 -0
  396. package/www/build/{p-6f9fc850.entry.js → p-820b48f6.entry.js} +2 -2
  397. package/www/build/p-823c45d4.entry.js +2 -0
  398. package/www/build/{p-d847bfcd.entry.js → p-855334f4.entry.js} +2 -2
  399. package/www/build/p-8a6a4d22.js +2 -0
  400. package/www/build/p-8a6a4d22.js.map +1 -0
  401. package/{dist/web-components-library/p-9fc6961e.entry.js → www/build/p-8d56e74b.entry.js} +2 -2
  402. package/www/build/p-8e5f1ae0.entry.js +2 -0
  403. package/www/build/p-8e5f1ae0.entry.js.map +1 -0
  404. package/www/build/p-95cb8701.js +2 -0
  405. package/{dist/web-components-library/p-4704cece.entry.js → www/build/p-9a1b51ed.entry.js} +2 -2
  406. package/www/build/{p-140b5d8f.entry.js → p-9b9a04ad.entry.js} +2 -2
  407. package/www/build/{p-ef8a7250.entry.js → p-a0fd1323.entry.js} +2 -2
  408. package/www/build/{p-64ba80da.entry.js → p-a64a1bf0.entry.js} +2 -2
  409. package/www/build/{p-e770ed95.entry.js → p-aaae6b16.entry.js} +2 -2
  410. package/www/build/{p-d94c5857.entry.js → p-ab7f129e.entry.js} +2 -2
  411. package/{dist/web-components-library/p-62b75a18.entry.js → www/build/p-ad97fdc4.entry.js} +2 -2
  412. package/www/build/{p-b7af7424.entry.js → p-b2356bc7.entry.js} +2 -2
  413. package/www/build/p-b6e7866f.entry.js +2 -0
  414. package/www/build/p-b6e7866f.entry.js.map +1 -0
  415. package/www/build/p-c1e498ac.entry.js +2 -0
  416. package/www/build/p-c54d0925.entry.js +2 -0
  417. package/www/build/p-c679277c.entry.js +2 -0
  418. package/{dist/web-components-library/p-9bf06eb5.entry.js.map → www/build/p-c679277c.entry.js.map} +1 -1
  419. package/www/build/p-cc71a90c.entry.js +2 -0
  420. package/www/build/{p-f26b2e47.entry.js → p-cd0219b4.entry.js} +2 -2
  421. package/www/build/{p-48b2e967.entry.js → p-d5f5e107.entry.js} +2 -2
  422. package/www/build/{p-f410f295.entry.js → p-df8c381a.entry.js} +2 -2
  423. package/www/build/{p-ca7634bf.entry.js → p-e25d7f0a.entry.js} +2 -2
  424. package/www/build/{p-a45e72f0.entry.js → p-e4d97fbf.entry.js} +2 -2
  425. package/www/build/{p-c451b4d7.entry.js → p-e529a714.entry.js} +2 -2
  426. package/www/build/{p-ecae1a7a.entry.js → p-ea9c0ff3.entry.js} +2 -2
  427. package/www/build/{p-9a48e70b.entry.js → p-f06ad42c.entry.js} +2 -2
  428. package/www/build/{p-00f7e0da.entry.js → p-f15d0a00.entry.js} +2 -2
  429. package/{dist/web-components-library/p-c38833ea.entry.js → www/build/p-f425c6f2.entry.js} +2 -2
  430. package/www/build/p-f703660d.entry.js +2 -0
  431. package/{dist/web-components-library/p-30f09188.entry.js → www/build/p-f8bbca6e.entry.js} +2 -2
  432. package/www/build/p-fb0b11cd.entry.js +2 -0
  433. package/www/build/p-fb0b11cd.entry.js.map +1 -0
  434. package/www/build/web-components-library.esm.js +1 -1
  435. package/www/build/web-components-library.esm.js.map +1 -1
  436. package/www/index.html +1 -1
  437. package/dist/cjs/index-9963e4d6.js +0 -71
  438. package/dist/cjs/index-9963e4d6.js.map +0 -1
  439. package/dist/cjs/index-b504fdc8.js +0 -47
  440. package/dist/cjs/index-b504fdc8.js.map +0 -1
  441. package/dist/cjs/index-ec5b8c02.js +0 -59
  442. package/dist/cjs/index-ec5b8c02.js.map +0 -1
  443. package/dist/esm/index-81b223e5.js +0 -45
  444. package/dist/esm/index-81b223e5.js.map +0 -1
  445. package/dist/esm/index-96faeb1f.js +0 -57
  446. package/dist/esm/index-96faeb1f.js.map +0 -1
  447. package/dist/esm/index-ee04c4d5.js +0 -69
  448. package/dist/esm/index-ee04c4d5.js.map +0 -1
  449. package/dist/web-components-library/p-04c39e8a.entry.js +0 -2
  450. package/dist/web-components-library/p-04c39e8a.entry.js.map +0 -1
  451. package/dist/web-components-library/p-155c52f7.js +0 -2
  452. package/dist/web-components-library/p-16719dff.entry.js +0 -2
  453. package/dist/web-components-library/p-2a83f280.entry.js +0 -2
  454. package/dist/web-components-library/p-2cab65f7.entry.js +0 -2
  455. package/dist/web-components-library/p-32d603b8.js +0 -2
  456. package/dist/web-components-library/p-37019125.js +0 -2
  457. package/dist/web-components-library/p-37019125.js.map +0 -1
  458. package/dist/web-components-library/p-3b26bd7b.entry.js +0 -2
  459. package/dist/web-components-library/p-3d97dedf.entry.js +0 -2
  460. package/dist/web-components-library/p-5b2b0988.entry.js +0 -2
  461. package/dist/web-components-library/p-5b2b0988.entry.js.map +0 -1
  462. package/dist/web-components-library/p-6297dfaa.entry.js +0 -2
  463. package/dist/web-components-library/p-6d2fb9f2.entry.js +0 -2
  464. package/dist/web-components-library/p-6d2fb9f2.entry.js.map +0 -1
  465. package/dist/web-components-library/p-8855aef4.js +0 -2
  466. package/dist/web-components-library/p-9bf06eb5.entry.js +0 -2
  467. package/dist/web-components-library/p-9c36d574.entry.js +0 -2
  468. package/dist/web-components-library/p-a167bdd5.js +0 -2
  469. package/dist/web-components-library/p-af7e5773.entry.js +0 -2
  470. package/dist/web-components-library/p-c39ca8e7.entry.js +0 -2
  471. package/dist/web-components-library/p-c6867a3b.js +0 -2
  472. package/dist/web-components-library/p-c6867a3b.js.map +0 -1
  473. package/dist/web-components-library/p-c923360b.entry.js +0 -2
  474. package/dist/web-components-library/p-c923360b.entry.js.map +0 -1
  475. package/dist/web-components-library/p-cfe336c9.entry.js +0 -2
  476. package/dist/web-components-library/p-f87bcdc3.entry.js +0 -2
  477. package/dist/web-components-library/p-febc4982.entry.js +0 -2
  478. package/www/build/p-04c39e8a.entry.js +0 -2
  479. package/www/build/p-04c39e8a.entry.js.map +0 -1
  480. package/www/build/p-155c52f7.js +0 -2
  481. package/www/build/p-16719dff.entry.js +0 -2
  482. package/www/build/p-2a83f280.entry.js +0 -2
  483. package/www/build/p-2cab65f7.entry.js +0 -2
  484. package/www/build/p-32d603b8.js +0 -2
  485. package/www/build/p-37019125.js +0 -2
  486. package/www/build/p-37019125.js.map +0 -1
  487. package/www/build/p-3b26bd7b.entry.js +0 -2
  488. package/www/build/p-3d97dedf.entry.js +0 -2
  489. package/www/build/p-5b2b0988.entry.js +0 -2
  490. package/www/build/p-5b2b0988.entry.js.map +0 -1
  491. package/www/build/p-6297dfaa.entry.js +0 -2
  492. package/www/build/p-6d2fb9f2.entry.js +0 -2
  493. package/www/build/p-6d2fb9f2.entry.js.map +0 -1
  494. package/www/build/p-8855aef4.js +0 -2
  495. package/www/build/p-8e25517b.js +0 -2
  496. package/www/build/p-9bf06eb5.entry.js +0 -2
  497. package/www/build/p-9c36d574.entry.js +0 -2
  498. package/www/build/p-a167bdd5.js +0 -2
  499. package/www/build/p-af7e5773.entry.js +0 -2
  500. package/www/build/p-c39ca8e7.entry.js +0 -2
  501. package/www/build/p-c6867a3b.js +0 -2
  502. package/www/build/p-c6867a3b.js.map +0 -1
  503. package/www/build/p-c923360b.entry.js +0 -2
  504. package/www/build/p-c923360b.entry.js.map +0 -1
  505. package/www/build/p-cfe336c9.entry.js +0 -2
  506. package/www/build/p-f87bcdc3.entry.js +0 -2
  507. package/www/build/p-febc4982.entry.js +0 -2
  508. /package/dist/web-components-library/{p-9c36d574.entry.js.map → p-06d98334.entry.js.map} +0 -0
  509. /package/dist/web-components-library/{p-291319ed.entry.js.map → p-100c6243.entry.js.map} +0 -0
  510. /package/dist/web-components-library/{p-16719dff.entry.js.map → p-2b1fd95a.entry.js.map} +0 -0
  511. /package/dist/web-components-library/{p-6e92df75.entry.js.map → p-2f662fea.entry.js.map} +0 -0
  512. /package/dist/web-components-library/{p-af7e5773.entry.js.map → p-3ae8fb1a.entry.js.map} +0 -0
  513. /package/dist/web-components-library/{p-a167bdd5.js.map → p-3dbad75e.js.map} +0 -0
  514. /package/dist/web-components-library/{p-a16ed530.entry.js.map → p-4537f922.entry.js.map} +0 -0
  515. /package/dist/web-components-library/{p-17d2d60b.entry.js.map → p-45dc157c.entry.js.map} +0 -0
  516. /package/dist/web-components-library/{p-b6ea478b.entry.js.map → p-46d98609.entry.js.map} +0 -0
  517. /package/dist/web-components-library/{p-2a83f280.entry.js.map → p-4f3f8578.entry.js.map} +0 -0
  518. /package/dist/web-components-library/{p-956ece11.entry.js.map → p-51f1c9c0.entry.js.map} +0 -0
  519. /package/dist/web-components-library/{p-0b100bd7.entry.js.map → p-5a0f0978.entry.js.map} +0 -0
  520. /package/dist/web-components-library/{p-ee430669.entry.js.map → p-5a178c69.entry.js.map} +0 -0
  521. /package/dist/web-components-library/{p-3b26bd7b.entry.js.map → p-63ec7bad.entry.js.map} +0 -0
  522. /package/dist/web-components-library/{p-8855aef4.js.map → p-64aab82f.js.map} +0 -0
  523. /package/dist/web-components-library/{p-b387e877.entry.js.map → p-6a1b3e86.entry.js.map} +0 -0
  524. /package/dist/web-components-library/{p-1320c34d.entry.js.map → p-6db2fd46.entry.js.map} +0 -0
  525. /package/dist/web-components-library/{p-0ca0265f.entry.js.map → p-707e5f91.entry.js.map} +0 -0
  526. /package/dist/web-components-library/{p-89b1e0ce.entry.js.map → p-777ad335.entry.js.map} +0 -0
  527. /package/dist/web-components-library/{p-eb93aa0b.entry.js.map → p-7aba5af3.entry.js.map} +0 -0
  528. /package/dist/web-components-library/{p-6297dfaa.entry.js.map → p-7d5bf905.entry.js.map} +0 -0
  529. /package/dist/web-components-library/{p-6f9fc850.entry.js.map → p-820b48f6.entry.js.map} +0 -0
  530. /package/dist/web-components-library/{p-cfe336c9.entry.js.map → p-823c45d4.entry.js.map} +0 -0
  531. /package/dist/web-components-library/{p-d847bfcd.entry.js.map → p-855334f4.entry.js.map} +0 -0
  532. /package/dist/web-components-library/{p-9fc6961e.entry.js.map → p-8d56e74b.entry.js.map} +0 -0
  533. /package/dist/web-components-library/{p-32d603b8.js.map → p-95cb8701.js.map} +0 -0
  534. /package/dist/web-components-library/{p-4704cece.entry.js.map → p-9a1b51ed.entry.js.map} +0 -0
  535. /package/dist/web-components-library/{p-140b5d8f.entry.js.map → p-9b9a04ad.entry.js.map} +0 -0
  536. /package/dist/web-components-library/{p-ef8a7250.entry.js.map → p-a0fd1323.entry.js.map} +0 -0
  537. /package/dist/web-components-library/{p-64ba80da.entry.js.map → p-a64a1bf0.entry.js.map} +0 -0
  538. /package/dist/web-components-library/{p-e770ed95.entry.js.map → p-aaae6b16.entry.js.map} +0 -0
  539. /package/dist/web-components-library/{p-d94c5857.entry.js.map → p-ab7f129e.entry.js.map} +0 -0
  540. /package/dist/web-components-library/{p-62b75a18.entry.js.map → p-ad97fdc4.entry.js.map} +0 -0
  541. /package/dist/web-components-library/{p-b7af7424.entry.js.map → p-b2356bc7.entry.js.map} +0 -0
  542. /package/dist/web-components-library/{p-3d97dedf.entry.js.map → p-c1e498ac.entry.js.map} +0 -0
  543. /package/dist/web-components-library/{p-2cab65f7.entry.js.map → p-c54d0925.entry.js.map} +0 -0
  544. /package/dist/web-components-library/{p-c39ca8e7.entry.js.map → p-cc71a90c.entry.js.map} +0 -0
  545. /package/dist/web-components-library/{p-f26b2e47.entry.js.map → p-cd0219b4.entry.js.map} +0 -0
  546. /package/dist/web-components-library/{p-48b2e967.entry.js.map → p-d5f5e107.entry.js.map} +0 -0
  547. /package/dist/web-components-library/{p-f410f295.entry.js.map → p-df8c381a.entry.js.map} +0 -0
  548. /package/dist/web-components-library/{p-ca7634bf.entry.js.map → p-e25d7f0a.entry.js.map} +0 -0
  549. /package/dist/web-components-library/{p-a45e72f0.entry.js.map → p-e4d97fbf.entry.js.map} +0 -0
  550. /package/dist/web-components-library/{p-c451b4d7.entry.js.map → p-e529a714.entry.js.map} +0 -0
  551. /package/dist/web-components-library/{p-ecae1a7a.entry.js.map → p-ea9c0ff3.entry.js.map} +0 -0
  552. /package/dist/web-components-library/{p-9a48e70b.entry.js.map → p-f06ad42c.entry.js.map} +0 -0
  553. /package/dist/web-components-library/{p-00f7e0da.entry.js.map → p-f15d0a00.entry.js.map} +0 -0
  554. /package/dist/web-components-library/{p-c38833ea.entry.js.map → p-f425c6f2.entry.js.map} +0 -0
  555. /package/dist/web-components-library/{p-febc4982.entry.js.map → p-f703660d.entry.js.map} +0 -0
  556. /package/dist/web-components-library/{p-30f09188.entry.js.map → p-f8bbca6e.entry.js.map} +0 -0
  557. /package/www/build/{p-9c36d574.entry.js.map → p-06d98334.entry.js.map} +0 -0
  558. /package/www/build/{p-291319ed.entry.js.map → p-100c6243.entry.js.map} +0 -0
  559. /package/www/build/{p-16719dff.entry.js.map → p-2b1fd95a.entry.js.map} +0 -0
  560. /package/www/build/{p-6e92df75.entry.js.map → p-2f662fea.entry.js.map} +0 -0
  561. /package/www/build/{p-af7e5773.entry.js.map → p-3ae8fb1a.entry.js.map} +0 -0
  562. /package/www/build/{p-a167bdd5.js.map → p-3dbad75e.js.map} +0 -0
  563. /package/www/build/{p-a16ed530.entry.js.map → p-4537f922.entry.js.map} +0 -0
  564. /package/www/build/{p-17d2d60b.entry.js.map → p-45dc157c.entry.js.map} +0 -0
  565. /package/www/build/{p-b6ea478b.entry.js.map → p-46d98609.entry.js.map} +0 -0
  566. /package/www/build/{p-2a83f280.entry.js.map → p-4f3f8578.entry.js.map} +0 -0
  567. /package/www/build/{p-956ece11.entry.js.map → p-51f1c9c0.entry.js.map} +0 -0
  568. /package/www/build/{p-0b100bd7.entry.js.map → p-5a0f0978.entry.js.map} +0 -0
  569. /package/www/build/{p-ee430669.entry.js.map → p-5a178c69.entry.js.map} +0 -0
  570. /package/www/build/{p-3b26bd7b.entry.js.map → p-63ec7bad.entry.js.map} +0 -0
  571. /package/www/build/{p-8855aef4.js.map → p-64aab82f.js.map} +0 -0
  572. /package/www/build/{p-b387e877.entry.js.map → p-6a1b3e86.entry.js.map} +0 -0
  573. /package/www/build/{p-1320c34d.entry.js.map → p-6db2fd46.entry.js.map} +0 -0
  574. /package/www/build/{p-0ca0265f.entry.js.map → p-707e5f91.entry.js.map} +0 -0
  575. /package/www/build/{p-89b1e0ce.entry.js.map → p-777ad335.entry.js.map} +0 -0
  576. /package/www/build/{p-eb93aa0b.entry.js.map → p-7aba5af3.entry.js.map} +0 -0
  577. /package/www/build/{p-6297dfaa.entry.js.map → p-7d5bf905.entry.js.map} +0 -0
  578. /package/www/build/{p-6f9fc850.entry.js.map → p-820b48f6.entry.js.map} +0 -0
  579. /package/www/build/{p-cfe336c9.entry.js.map → p-823c45d4.entry.js.map} +0 -0
  580. /package/www/build/{p-d847bfcd.entry.js.map → p-855334f4.entry.js.map} +0 -0
  581. /package/www/build/{p-9fc6961e.entry.js.map → p-8d56e74b.entry.js.map} +0 -0
  582. /package/www/build/{p-32d603b8.js.map → p-95cb8701.js.map} +0 -0
  583. /package/www/build/{p-4704cece.entry.js.map → p-9a1b51ed.entry.js.map} +0 -0
  584. /package/www/build/{p-140b5d8f.entry.js.map → p-9b9a04ad.entry.js.map} +0 -0
  585. /package/www/build/{p-ef8a7250.entry.js.map → p-a0fd1323.entry.js.map} +0 -0
  586. /package/www/build/{p-64ba80da.entry.js.map → p-a64a1bf0.entry.js.map} +0 -0
  587. /package/www/build/{p-e770ed95.entry.js.map → p-aaae6b16.entry.js.map} +0 -0
  588. /package/www/build/{p-d94c5857.entry.js.map → p-ab7f129e.entry.js.map} +0 -0
  589. /package/www/build/{p-62b75a18.entry.js.map → p-ad97fdc4.entry.js.map} +0 -0
  590. /package/www/build/{p-b7af7424.entry.js.map → p-b2356bc7.entry.js.map} +0 -0
  591. /package/www/build/{p-3d97dedf.entry.js.map → p-c1e498ac.entry.js.map} +0 -0
  592. /package/www/build/{p-2cab65f7.entry.js.map → p-c54d0925.entry.js.map} +0 -0
  593. /package/www/build/{p-c39ca8e7.entry.js.map → p-cc71a90c.entry.js.map} +0 -0
  594. /package/www/build/{p-f26b2e47.entry.js.map → p-cd0219b4.entry.js.map} +0 -0
  595. /package/www/build/{p-48b2e967.entry.js.map → p-d5f5e107.entry.js.map} +0 -0
  596. /package/www/build/{p-f410f295.entry.js.map → p-df8c381a.entry.js.map} +0 -0
  597. /package/www/build/{p-ca7634bf.entry.js.map → p-e25d7f0a.entry.js.map} +0 -0
  598. /package/www/build/{p-a45e72f0.entry.js.map → p-e4d97fbf.entry.js.map} +0 -0
  599. /package/www/build/{p-c451b4d7.entry.js.map → p-e529a714.entry.js.map} +0 -0
  600. /package/www/build/{p-ecae1a7a.entry.js.map → p-ea9c0ff3.entry.js.map} +0 -0
  601. /package/www/build/{p-9a48e70b.entry.js.map → p-f06ad42c.entry.js.map} +0 -0
  602. /package/www/build/{p-00f7e0da.entry.js.map → p-f15d0a00.entry.js.map} +0 -0
  603. /package/www/build/{p-c38833ea.entry.js.map → p-f425c6f2.entry.js.map} +0 -0
  604. /package/www/build/{p-febc4982.entry.js.map → p-f703660d.entry.js.map} +0 -0
  605. /package/www/build/{p-30f09188.entry.js.map → p-f8bbca6e.entry.js.map} +0 -0
@@ -1,18 +1,14 @@
1
1
  :host {
2
2
  position: relative;
3
3
  display: flex;
4
- max-width: 100%;
4
+ min-width: 128px;
5
+ box-sizing: border-box;
5
6
  align-items: center;
6
7
  padding: var(--z-table--cells-padding, calc(var(--space-unit) * 2));
7
8
  background-color: var(--color-surface01);
8
9
  gap: calc(var(--space-unit) * 2) var(--space-unit);
9
10
  }
10
11
 
11
- :host,
12
- * {
13
- box-sizing: border-box;
14
- }
15
-
16
12
  :host([sticky]) {
17
13
  position: sticky;
18
14
  z-index: 1;
@@ -21,23 +17,21 @@
21
17
  box-shadow: 8px 0 16px -8px var(--shadow-color-base);
22
18
  }
23
19
 
24
- :host([menu-open]) {
25
- z-index: 2;
26
- }
27
-
28
- .cell--content {
29
- display: flex;
30
- width: 100%;
20
+ /* Leave the space for the menu button */
21
+ :host([show-menu])::after {
22
+ display: inline-block;
31
23
  height: 100%;
32
- align-items: center;
33
- }
34
-
35
- :host([show-menu]) .cell--content {
36
- column-gap: var(--space-unit);
24
+ margin-right: calc(var(--space-unit) * 4);
25
+ background: transparent;
26
+ content: "";
27
+ user-select: none;
37
28
  }
38
29
 
39
30
  .cell--menu-container {
40
- margin-left: auto;
31
+ position: absolute;
32
+ z-index: 1;
33
+ top: var(--space-unit);
34
+ right: var(--space-unit);
41
35
  }
42
36
 
43
37
  :host(:not([show-menu])) .cell--menu-container {
@@ -47,7 +41,6 @@
47
41
 
48
42
  :host(:is([show-menu], [menu-open])) .cell--menu-container,
49
43
  :host([show-menu]) .cell--menu-container:focus-within {
50
- z-index: 1;
51
44
  opacity: 1;
52
45
  pointer-events: all;
53
46
  }
@@ -63,7 +56,6 @@
63
56
  }
64
57
 
65
58
  :host([show-menu="hover"]:hover) .cell--menu-container {
66
- z-index: 1;
67
59
  opacity: 1;
68
60
  pointer-events: all;
69
61
  }
@@ -71,55 +63,30 @@
71
63
 
72
64
 
73
65
  :host {
74
- z-index: 1;
75
- padding: 0;
76
66
  background-color: var(--color-surface02);
77
67
  font-weight: var(--font-sb);
78
68
  }
79
69
 
80
- .cell--content {
81
- padding: calc(var(--space-unit) * 2);
82
- }
70
+ /* :host([sticky]) {
71
+ background-color: var(--color-surface02);
72
+ } */
83
73
 
84
- :host([show-sorting]) .cell--content {
85
- column-gap: var(--space-unit);
74
+ :host([sortable]) {
75
+ cursor: pointer;
86
76
  }
87
77
 
88
78
  .z-th--sort-button {
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: center;
89
82
  padding: 0;
90
83
  border: none;
84
+ margin-top: auto;
91
85
  background-color: transparent;
92
86
  cursor: pointer;
93
- outline: none;
94
87
  }
95
88
 
96
- @media (min-width: 768px) and (hover: hover) {
97
- :host([show-sorting="hover"]) .z-th--sort-button {
98
- opacity: 0;
99
- pointer-events: none;
100
- }
101
-
102
- :host([show-sorting="hover"]:hover) .z-th--sort-button,
103
- :host([show-sorting="hover"]) .z-th--sort-button:focus:focus-visible,
104
- :host([show-sorting="always"]) .z-th--sort-button {
105
- opacity: 1;
106
- pointer-events: all;
107
- }
108
- }
109
-
110
- :host([show-sorting="hover"]:hover) .z-th--sort-button::after,
111
- :host([show-sorting="hover"]) .z-th--sort-button:focus:focus-visible::after,
112
- :host([show-sorting="always"]) .z-th--sort-button::after {
113
- position: absolute;
114
- top: 6px;
115
- left: 6px;
116
- width: calc(100% - 12px);
117
- height: calc(100% - 10px);
118
- background-color: transparent;
119
- content: "";
120
- }
121
-
122
- .z-th--sort-button:focus:focus-visible::after,
123
- .z-th--sort-button--active::after {
89
+ .z-th--sort-button:focus {
124
90
  box-shadow: var(--shadow-focus-primary);
91
+ outline: none;
125
92
  }
@@ -36,7 +36,7 @@ export class ZTable {
36
36
  (_a = this.expandableMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
37
37
  }
38
38
  render() {
39
- return (h(Host, { key: '6fa1464a9d96267c0a1a45078a7b19e15930b2be', expandable: this.expandable }, h("div", { key: '9436f4627cab2b6c474bbfc803b64514cd152fb3', class: "table", role: "table" }, h("slot", { key: 'b9cf927ccd915cf55f4bb2e5a8943ceff347f9f7' }))));
39
+ return (h(Host, { key: '2d8e50a74ff7ccf3c6dc4f5324a512177ad52f45', expandable: this.expandable }, h("div", { key: '5e1d9d44dc90ac06683bf5306f7eecadffe807fe', class: "table", role: "table" }, h("slot", { key: '12a615e336a4ad50390a2ab0b12b2d20b3503f06' }))));
40
40
  }
41
41
  static get is() { return "z-table"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -236,17 +236,6 @@ export const CellsWithContextualMenu = {
236
236
  * Clicking the button will fire the `sort` event with the `sortDirection` as detail.
237
237
  */
238
238
  export const SortAction = {
239
- argTypes: {
240
- showSorting: {
241
- options: Object.values(VisibilityCondition),
242
- control: {
243
- type: "inline-radio",
244
- },
245
- },
246
- },
247
- args: {
248
- showSorting: VisibilityCondition.HOVER,
249
- },
250
239
  render: (args) => html `<z-table
251
240
  class="z-table-demo"
252
241
  .bordered=${args.bordered}
@@ -256,20 +245,15 @@ export const SortAction = {
256
245
  >
257
246
  <z-thead>
258
247
  <z-tr>
248
+ <z-th>Colonna 1</z-th>
259
249
  <z-th
260
250
  .sortDirection=${SortDirection.ASC}
261
251
  .showMenu=${VisibilityCondition.HOVER}
262
- .showSorting=${args.showSorting}
263
252
  >
264
- Colonna 1 con menu e sorting
253
+ Colonna 2 con menu e sorting
265
254
  <div slot="contextual-menu">Contenuto del popover</div>
266
255
  </z-th>
267
- <z-th>Colonna 2</z-th>
268
- <z-th
269
- .sortDirection=${SortDirection.DESC}
270
- .showSorting=${args.showSorting}
271
- >Colonna 3 con sorting</z-th
272
- >
256
+ <z-th .sortDirection=${SortDirection.DESC}>Colonna 3 con sorting</z-th>
273
257
  </z-tr>
274
258
  </z-thead>
275
259
  <z-tbody>${repeat([...new Array(3)], () => html `<z-tr>${cellsTemplate(3)}</z-tr>`)}</z-tbody>
@@ -1 +1 @@
1
- {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/table/z-table/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta} from \"@storybook/web-components\";\nimport {html, type TemplateResult} from \"lit\";\nimport {repeat} from \"lit/directives/repeat.js\";\nimport {styleMap} from \"lit/directives/style-map.js\";\nimport {type ZTable} from \".\";\nimport {PopoverPosition, SortDirection, VisibilityCondition} from \"../../../beans\";\nimport {CSSVarsArguments} from \"../../../utils/storybook-utils\";\nimport \"../../z-button/index\";\nimport \"./index\";\nimport \"./index.stories.css\";\n\ntype ZTableStoriesArgs = ZTable & CSSVarsArguments<\"z-table--cells-padding\">;\n\n/**\n * ## Accessibility\n *\n * The `ZTable` and its related components comes with a set of roles and ARIA attributes to help screen readers to understand the table structure and its content.\n * The roles are mainly used to identify the table parts, since they are not the native HTML table elements.\n * The ARIA attributes used are the following:\n * - [`aria-sort`](https://www.w3.org/TR/wai-aria-1.1/#aria-sort) to identify the sorting direction of a column when sorting is enabled\n * - [`aria-expanded`](https://www.w3.org/TR/wai-aria-1.1/#aria-expanded) to identify if a row is expanded or not when expandable rows are enabled. The attribute is set on the button that expands the row, as explained in the [docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n * - [`aria-controls`](https://www.w3.org/TR/wai-aria-1.1/#aria-controls) is used on the expandable row button to identify the content that is controlled by the button itself, as explained in the [docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls). Maybe the `aria-owns` attribute were more appropriate, but it is not supported on MacOS and iOS with VoiceOver, so we used `aria-controls` instead.\n * - [`aria-label`](https://www.w3.org/TR/wai-aria-1.1/#aria-label) is used on the expandable row button to provide a label for the button, since the button doesn't have any text content.\n */\nconst StoryMeta = {\n title: \"ZTable\",\n component: \"z-table\",\n args: {\n \"bordered\": true,\n \"--z-table--cells-padding\": \"16px\",\n },\n} satisfies Meta<ZTableStoriesArgs>;\n\nexport default StoryMeta;\n\nconst cellsTemplate = (count = 1): TemplateResult =>\n html`${repeat([...new Array(count)], () => html`<z-td>Contenuto cella</z-td>`)}`;\n\nexport const Default = {\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>${repeat([...new Array(8)], () => html`<z-th>Titolo colonna</z-th>`)}</z-tr>\n </z-thead>\n <z-tbody>${repeat([...new Array(5)], () => html`<z-tr>${cellsTemplate(8)}</z-tr>`)}</z-tbody>\n <z-tfoot>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * Just set `expandable` prop on the `z-tr` element to make it expandable, then put an additional `z-td` as extended content.\n * If you put a clickable item as a child cell of a z-tr with `expandable` set to `true`, you need to set a \"prevent-expand\" class on that item, in order to prevent unwanted row expansions.\n */\nexport const ExpandableRows = {\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>${repeat([...new Array(8)], (_, index) => html`<z-th>Colonna ${index + 1}</z-th>`)}</z-tr>\n </z-thead>\n <z-tbody>\n <z-tr>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(5)}\n </z-tr>\n <z-tr>${repeat([...new Array(8)], () => html`<z-td>Contenuto cella</z-td>`)}</z-tr>\n <z-tr expandable>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td>\n <span>Contenuto cella</span>\n <z-button\n class=\"prevent-expand\"\n onclick=\"alert('button clicked without expanding the row')\"\n icon=\"plus\"\n size=\"x-small\"\n ></z-button\n ></z-td>\n ${cellsTemplate(5)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n <z-tr>${cellsTemplate(8)}</z-tr>\n <z-tr expandable>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu=\"always\">\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(6)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n </z-tbody>\n <z-tfoot>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * To make a column sticky, you need to set the `sticky` prop on the `z-th` and/or `z-td` elements of the same column.\n * For the header or footer, just set the `sticky` prop on the `z-thead` or `z-tfoot` element.\n */\nexport const Sticky = {\n args: {\n stickyHeader: true,\n stickyFooter: true,\n stickFirstColumn: true,\n },\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n \"height\": \"400px\",\n })}\n >\n <z-thead .sticky=${args.stickyHeader}>\n <z-tr>\n <z-th .sticky=${args.stickFirstColumn}>Colonna 1</z-th>\n ${repeat([...new Array(7)], (_, index) => html`<z-th>Colonna ${index + 2}</z-th>`)}\n </z-tr>\n </z-thead>\n <z-tbody>\n <z-tr>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(4)}\n </z-tr>\n ${repeat(\n [...new Array(5)],\n () =>\n html`<z-tr>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(7)}\n </z-tr>`\n )}\n <z-tr expandable>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(6)}\n <z-td>\n <span>Contenuto cella</span>\n <z-button\n class=\"prevent-expand\"\n onclick=\"alert('button clicked')\"\n icon=\"plus\"\n size=\"x-small\"\n ></z-button\n ></z-td>\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n <z-tr expandable>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(7)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n </z-tbody>\n <z-tfoot .sticky=${args.stickyFooter}>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * Use the `showMenu` prop on `z-td` or `z-th`, setting a value of the enum `VisibilityCondition` (`HOVER` or `ALWAYS`), to show a contextual menu button on the cell. The content of the menu must be placed using the slot `contextual-menu`.\n * Use `popoverPosition` prop on `z-th` to set the position of contextual menu, default is `auto`.\n */\nexport const CellsWithContextualMenu = {\n argTypes: {\n showMenu: {\n control: {\n type: \"inline-radio\",\n labels: {\n null: \"hidden\",\n },\n },\n popoverPosition: {\n options: Object.values(PopoverPosition),\n control: {\n type: \"select\",\n },\n },\n options: [null, ...Object.values(VisibilityCondition)],\n },\n },\n args: {\n showMenu: VisibilityCondition.HOVER,\n popoverPosition: PopoverPosition.AUTO,\n },\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>\n <z-th>Colonna 1</z-th>\n <z-th\n .showMenu=${args.showMenu}\n .popoverPosition=${args.popoverPosition}\n >\n Heading con menu\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-th>\n <z-th>Colonna 2</z-th>\n </z-tr>\n </z-thead>\n <z-tbody>\n ${repeat(\n [...new Array(3)],\n () =>\n html`<z-tr>\n <z-td .showMenu=${args.showMenu}>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-td>\n <z-td>Contenuto cella</z-td>\n <z-td .showMenu=${args.showMenu}>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-td>\n </z-tr>`\n )}\n </z-tbody>\n </z-table>`,\n};\n\n/**\n * Set the `sortDirection` prop to `SortDirection.ASC` or `SortDirection.DESC` to enable sorting and show the sort button.\n * Clicking the button will fire the `sort` event with the `sortDirection` as detail.\n */\nexport const SortAction = {\n argTypes: {\n showSorting: {\n options: Object.values(VisibilityCondition),\n control: {\n type: \"inline-radio\",\n },\n },\n },\n args: {\n showSorting: VisibilityCondition.HOVER,\n },\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>\n <z-th\n .sortDirection=${SortDirection.ASC}\n .showMenu=${VisibilityCondition.HOVER}\n .showSorting=${args.showSorting}\n >\n Colonna 1 con menu e sorting\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-th>\n <z-th>Colonna 2</z-th>\n <z-th\n .sortDirection=${SortDirection.DESC}\n .showSorting=${args.showSorting}\n >Colonna 3 con sorting</z-th\n >\n </z-tr>\n </z-thead>\n <z-tbody>${repeat([...new Array(3)], () => html`<z-tr>${cellsTemplate(3)}</z-tr>`)}</z-tbody>\n </z-table>`,\n};\n"]}
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/table/z-table/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta} from \"@storybook/web-components\";\nimport {html, type TemplateResult} from \"lit\";\nimport {repeat} from \"lit/directives/repeat.js\";\nimport {styleMap} from \"lit/directives/style-map.js\";\nimport {type ZTable} from \".\";\nimport {PopoverPosition, SortDirection, VisibilityCondition} from \"../../../beans\";\nimport {CSSVarsArguments} from \"../../../utils/storybook-utils\";\nimport \"../../z-button/index\";\nimport \"./index\";\nimport \"./index.stories.css\";\n\ntype ZTableStoriesArgs = ZTable & CSSVarsArguments<\"z-table--cells-padding\">;\n\n/**\n * ## Accessibility\n *\n * The `ZTable` and its related components comes with a set of roles and ARIA attributes to help screen readers to understand the table structure and its content.\n * The roles are mainly used to identify the table parts, since they are not the native HTML table elements.\n * The ARIA attributes used are the following:\n * - [`aria-sort`](https://www.w3.org/TR/wai-aria-1.1/#aria-sort) to identify the sorting direction of a column when sorting is enabled\n * - [`aria-expanded`](https://www.w3.org/TR/wai-aria-1.1/#aria-expanded) to identify if a row is expanded or not when expandable rows are enabled. The attribute is set on the button that expands the row, as explained in the [docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n * - [`aria-controls`](https://www.w3.org/TR/wai-aria-1.1/#aria-controls) is used on the expandable row button to identify the content that is controlled by the button itself, as explained in the [docs](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls). Maybe the `aria-owns` attribute were more appropriate, but it is not supported on MacOS and iOS with VoiceOver, so we used `aria-controls` instead.\n * - [`aria-label`](https://www.w3.org/TR/wai-aria-1.1/#aria-label) is used on the expandable row button to provide a label for the button, since the button doesn't have any text content.\n */\nconst StoryMeta = {\n title: \"ZTable\",\n component: \"z-table\",\n args: {\n \"bordered\": true,\n \"--z-table--cells-padding\": \"16px\",\n },\n} satisfies Meta<ZTableStoriesArgs>;\n\nexport default StoryMeta;\n\nconst cellsTemplate = (count = 1): TemplateResult =>\n html`${repeat([...new Array(count)], () => html`<z-td>Contenuto cella</z-td>`)}`;\n\nexport const Default = {\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>${repeat([...new Array(8)], () => html`<z-th>Titolo colonna</z-th>`)}</z-tr>\n </z-thead>\n <z-tbody>${repeat([...new Array(5)], () => html`<z-tr>${cellsTemplate(8)}</z-tr>`)}</z-tbody>\n <z-tfoot>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * Just set `expandable` prop on the `z-tr` element to make it expandable, then put an additional `z-td` as extended content.\n * If you put a clickable item as a child cell of a z-tr with `expandable` set to `true`, you need to set a \"prevent-expand\" class on that item, in order to prevent unwanted row expansions.\n */\nexport const ExpandableRows = {\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>${repeat([...new Array(8)], (_, index) => html`<z-th>Colonna ${index + 1}</z-th>`)}</z-tr>\n </z-thead>\n <z-tbody>\n <z-tr>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(5)}\n </z-tr>\n <z-tr>${repeat([...new Array(8)], () => html`<z-td>Contenuto cella</z-td>`)}</z-tr>\n <z-tr expandable>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td>\n <span>Contenuto cella</span>\n <z-button\n class=\"prevent-expand\"\n onclick=\"alert('button clicked without expanding the row')\"\n icon=\"plus\"\n size=\"x-small\"\n ></z-button\n ></z-td>\n ${cellsTemplate(5)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n <z-tr>${cellsTemplate(8)}</z-tr>\n <z-tr expandable>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu=\"always\">\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(6)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n </z-tbody>\n <z-tfoot>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * To make a column sticky, you need to set the `sticky` prop on the `z-th` and/or `z-td` elements of the same column.\n * For the header or footer, just set the `sticky` prop on the `z-thead` or `z-tfoot` element.\n */\nexport const Sticky = {\n args: {\n stickyHeader: true,\n stickyFooter: true,\n stickFirstColumn: true,\n },\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n \"height\": \"400px\",\n })}\n >\n <z-thead .sticky=${args.stickyHeader}>\n <z-tr>\n <z-th .sticky=${args.stickFirstColumn}>Colonna 1</z-th>\n ${repeat([...new Array(7)], (_, index) => html`<z-th>Colonna ${index + 2}</z-th>`)}\n </z-tr>\n </z-thead>\n <z-tbody>\n <z-tr>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td>Contenuto cella</z-td>\n <z-td show-menu>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div></z-td\n >\n ${cellsTemplate(4)}\n </z-tr>\n ${repeat(\n [...new Array(5)],\n () =>\n html`<z-tr>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(7)}\n </z-tr>`\n )}\n <z-tr expandable>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(6)}\n <z-td>\n <span>Contenuto cella</span>\n <z-button\n class=\"prevent-expand\"\n onclick=\"alert('button clicked')\"\n icon=\"plus\"\n size=\"x-small\"\n ></z-button\n ></z-td>\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n <z-tr expandable>\n <z-td .sticky=${args.stickFirstColumn}>Contenuto cella 1</z-td>\n ${cellsTemplate(7)}\n <z-td>Contenuto espanso</z-td>\n </z-tr>\n </z-tbody>\n <z-tfoot .sticky=${args.stickyFooter}>\n <z-tr>\n <z-td colspan=\"8\">Table footer</z-td>\n </z-tr>\n </z-tfoot>\n </z-table>`,\n};\n\n/**\n * Use the `showMenu` prop on `z-td` or `z-th`, setting a value of the enum `VisibilityCondition` (`HOVER` or `ALWAYS`), to show a contextual menu button on the cell. The content of the menu must be placed using the slot `contextual-menu`.\n * Use `popoverPosition` prop on `z-th` to set the position of contextual menu, default is `auto`.\n */\nexport const CellsWithContextualMenu = {\n argTypes: {\n showMenu: {\n control: {\n type: \"inline-radio\",\n labels: {\n null: \"hidden\",\n },\n },\n popoverPosition: {\n options: Object.values(PopoverPosition),\n control: {\n type: \"select\",\n },\n },\n options: [null, ...Object.values(VisibilityCondition)],\n },\n },\n args: {\n showMenu: VisibilityCondition.HOVER,\n popoverPosition: PopoverPosition.AUTO,\n },\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>\n <z-th>Colonna 1</z-th>\n <z-th\n .showMenu=${args.showMenu}\n .popoverPosition=${args.popoverPosition}\n >\n Heading con menu\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-th>\n <z-th>Colonna 2</z-th>\n </z-tr>\n </z-thead>\n <z-tbody>\n ${repeat(\n [...new Array(3)],\n () =>\n html`<z-tr>\n <z-td .showMenu=${args.showMenu}>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-td>\n <z-td>Contenuto cella</z-td>\n <z-td .showMenu=${args.showMenu}>\n <span>Contenuto cella con menu</span>\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-td>\n </z-tr>`\n )}\n </z-tbody>\n </z-table>`,\n};\n\n/**\n * Set the `sortDirection` prop to `SortDirection.ASC` or `SortDirection.DESC` to enable sorting and show the sort button.\n * Clicking the button will fire the `sort` event with the `sortDirection` as detail.\n */\nexport const SortAction = {\n render: (args) =>\n html`<z-table\n class=\"z-table-demo\"\n .bordered=${args.bordered}\n style=${styleMap({\n \"--z-table--cells-padding\": args[\"--z-table--cells-padding\"],\n })}\n >\n <z-thead>\n <z-tr>\n <z-th>Colonna 1</z-th>\n <z-th\n .sortDirection=${SortDirection.ASC}\n .showMenu=${VisibilityCondition.HOVER}\n >\n Colonna 2 con menu e sorting\n <div slot=\"contextual-menu\">Contenuto del popover</div>\n </z-th>\n <z-th .sortDirection=${SortDirection.DESC}>Colonna 3 con sorting</z-th>\n </z-tr>\n </z-thead>\n <z-tbody>${repeat([...new Array(3)], () => html`<z-tr>${cellsTemplate(3)}</z-tr>`)}</z-tbody>\n </z-table>`,\n};\n"]}
@@ -16,3 +16,7 @@
16
16
  :host([bordered]) {
17
17
  --z-table--cell-left-border: 1px solid var(--color-surface03);
18
18
  }
19
+
20
+ .table {
21
+ min-width: max-content;
22
+ }
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  */
6
6
  export class ZTbody {
7
7
  render() {
8
- return (h(Host, { key: '8520398deeb7fec7d7aee91d87e39775f93355c6', role: "rowgroup" }, h("slot", { key: 'a73aff9d76af07fa46c373e362ac102349c844ed' })));
8
+ return (h(Host, { key: 'f3e13d724ae83c0117eafa2bd141a1b9319f0331', role: "rowgroup" }, h("slot", { key: 'f84d2b79230cb6b8305c0b01f4a48f8811634421' })));
9
9
  }
10
10
  static get is() { return "z-tbody"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -8,7 +8,7 @@ export class ZTfoot {
8
8
  this.sticky = false;
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'ad89fa705c3e70275166d5146ab915a286feedfe', role: "rowgroup" }, h("slot", { key: 'cb66c0a5c01972c54100efade79a91241baadc9a' })));
11
+ return (h(Host, { key: 'b872f68fd9e643528d02adb7bd76f8377a59fcdc', role: "rowgroup" }, h("slot", { key: '6ebdc491ee2459d415a53fb96e5f27405704a99f' })));
12
12
  }
13
13
  static get is() { return "z-tfoot"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -8,7 +8,7 @@ export class ZThead {
8
8
  this.sticky = false;
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'ba72ed16202c8dbcc0176254347cdbdbc9d11418', role: "rowgroup" }, h("slot", { key: '4c2f8a0ee4fbd2718796cc254dd3d689403782cf' })));
11
+ return (h(Host, { key: '44bbf57a110328328c65171e6463a5128d0be2e7', role: "rowgroup" }, h("slot", { key: '1953f6a0c9d96f3cbf66ed0e856391d19e985e20' })));
12
12
  }
13
13
  static get is() { return "z-thead"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -43,7 +43,7 @@ export class ZTr {
43
43
  this.updateColumns();
44
44
  }
45
45
  render() {
46
- return (h(Host, { key: 'f4ec553131b472795ba58de3d2dfecd217774879', role: "row", onClick: this.onRowClick.bind(this), expanded: this.expanded }, h("div", { key: '746b4cef2f63c5b0c0c38a2b83606d81c0dd17cf', class: "z-tr--expand-button-container" }, this.expandable && (h("button", { key: '96c12982390416514e22a25ebb8f889ee4795bea', "aria-expanded": this.expanded ? "true" : "false", "aria-label": this.expanded ? "Comprimi riga" : "Espandi riga", "aria-controls": this.expandableContentId, type: "button" }, h("z-icon", { key: 'c0570b8d6d1fd6e7759a6f9d170dc3c5f932dc88', name: this.expanded ? "minus-circled" : "plus-circled" })))), h("slot", { key: 'aa2d374dbd6a2dda118df9884c0a03c3234a2d01', onSlotchange: this.updateColumns.bind(this) })));
46
+ return (h(Host, { key: '1048c6109f085ef7d6a2c80ee1f821378f1419eb', role: "row", onClick: this.onRowClick.bind(this), expanded: this.expanded }, h("div", { key: 'b4333edd3915db24134ec862e61e42af75544544', class: "z-tr--expand-button-container" }, this.expandable && (h("button", { key: 'f5d0233257d0ffd2d1221b850f9d33565b882bfe', "aria-expanded": this.expanded ? "true" : "false", "aria-label": this.expanded ? "Comprimi riga" : "Espandi riga", "aria-controls": this.expandableContentId, type: "button" }, h("z-icon", { key: '0c0e51bac7a95bab954450447b2bce3dfa0079b6', name: this.expanded ? "minus-circled" : "plus-circled" })))), h("slot", { key: 'f7af8227af6ec842ead9b12ad13a6d1df448c9a6', onSlotchange: this.updateColumns.bind(this) })));
47
47
  }
48
48
  static get is() { return "z-tr"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -3,6 +3,7 @@
3
3
  --columns: 1;
4
4
 
5
5
  display: grid;
6
+ min-width: max-content;
6
7
  box-sizing: border-box;
7
8
  grid-auto-flow: column;
8
9
  grid-template-columns: var(--z-table--expand-button-size, 0) repeat(var(--columns), minmax(128px, 1fr));
@@ -47,7 +47,7 @@ export class ZAccordion {
47
47
  this.toggled.emit(this.open);
48
48
  }
49
49
  render() {
50
- return (h("details", { key: '6cbbf8aca4848416bbc95fb8114fe2ebeb857a35', ref: (elm) => (this.detailsElm = elm), onToggle: this.onDetailsToggle.bind(this), open: this.open }, h("summary", { key: '983d8f605375d5ddce8a4a51b5b63fa8e405a483', tabIndex: this.isDisabled ? -1 : null, part: "summary" }, this.icon && (h("z-icon", { key: '595a91626c910b3dd13360bb5ad9fb09a147facc', class: "z-accordion-label-icon", name: this.icon })), h("span", { key: '30f72bedfb26e6150853c06e0e7a3e9a21afcd11', class: "z-accordion-label" }, this.label), h("span", { key: 'bfbf51e33e0114ada33cad9ea49f878cb5f39d41', class: "z-accordion-tags" }, h("slot", { key: '027530202366a508b0b434b7cf02b7e4fe6763dd', name: "tag" })), h("z-icon", { key: '8f02c3ea045b217b0b3edc08eb0c768bf98db040', class: "z-accordion-chevron", name: this.open ? "chevron-up" : "chevron-down" })), !this.isDisabled && (h("div", { key: '1b03e279c9a10fcbfd753c6d364e21e78b663fdd', class: "z-accordion-content", part: "content" }, h("slot", { key: '278b1775544aad10d9a8eb4df69b370b6542291f' })))));
50
+ return (h("details", { key: '56a50ae163d1cb527d90732d637d0a657641cff7', ref: (elm) => (this.detailsElm = elm), onToggle: this.onDetailsToggle.bind(this), open: this.open }, h("summary", { key: '22095c950d00c43d6ddfc3eaea13c804e24fbb37', tabIndex: this.isDisabled ? -1 : null, part: "summary" }, this.icon && (h("z-icon", { key: '40f7b6d5dec14284aba76ca8884740b81f4d43a0', class: "z-accordion-label-icon", name: this.icon })), h("span", { key: '781a5720488ab4972e685d3ac4efafaf25cb1a20', class: "z-accordion-label" }, this.label), h("span", { key: '83fbad7e915391654344591231db512b13ccd1bb', class: "z-accordion-tags" }, h("slot", { key: 'd02d6e89bf46e606fdf229906036fbf3ebdbff05', name: "tag" })), h("z-icon", { key: 'd239c54b1187939517baf24809cab9c5168afa2a', class: "z-accordion-chevron", name: this.open ? "chevron-up" : "chevron-down" })), !this.isDisabled && (h("div", { key: '750de9f238fad34d4d380f585cc948067f229f8a', class: "z-accordion-content", part: "content" }, h("slot", { key: '41568aa9d4e561b1f7f43fbf2bf9cb7ab0c1a713' })))));
51
51
  }
52
52
  static get is() { return "z-accordion"; }
53
53
  static get encapsulation() { return "shadow"; }
@@ -49,7 +49,7 @@ export class ZAnchorNavigation {
49
49
  window.removeEventListener("hashchange", this.setCurrent);
50
50
  }
51
51
  render() {
52
- return (h(Host, { key: '7f0773194039735c315a25768b3a6c635a9fdb5b', collapsed: this.collapsed }, h("z-button", { key: '46b631d8377d3b5c6987ee63c45ddaec9d23871b', class: "toggle", variant: ButtonVariant.SECONDARY, icon: this.collapsed ? "chevron-up" : "chevron-down", onClick: this.toggleCollapsed.bind(this) }, "salta a"), h("nav", { key: '7c71bac57142ad2591e42da19fee7ce72fada9be', ref: (el) => (this.nav = el) }, h("slot", { key: 'ce6251454b66d006a2c1fd4baf5c21fa3cffdb19' }))));
52
+ return (h(Host, { key: 'b4e85ef373611b9543bab61b0045437916d9cd09', collapsed: this.collapsed }, h("z-button", { key: '97dfa2f7f35db72615f5a263dd13d4c3db94c0b4', class: "toggle", variant: ButtonVariant.SECONDARY, icon: this.collapsed ? "chevron-up" : "chevron-down", onClick: this.toggleCollapsed.bind(this) }, "salta a"), h("nav", { key: '8e51117f3e341260b9a1794ff2432811dfba0683', ref: (el) => (this.nav = el) }, h("slot", { key: '2d1c7cece920f74947f5e07565498b162680d87b' }))));
53
53
  }
54
54
  static get is() { return "z-anchor-navigation"; }
55
55
  static get originalStyleUrls() {
@@ -62,7 +62,7 @@ export class ZAppHeader {
62
62
  openDrawer() {
63
63
  this.drawerOpen = true;
64
64
  this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));
65
- setTimeout(() => this.closeMenuButton.focus(), 100);
65
+ setTimeout(() => this.menuElements[0].setFocus(), 400); /* wait for the 400ms offcanvas transition */
66
66
  }
67
67
  closeDrawer() {
68
68
  this.drawerOpen = false;
@@ -109,17 +109,58 @@ export class ZAppHeader {
109
109
  current.htmlTabindex = -1;
110
110
  receiver.setFocus();
111
111
  }
112
- /** Close each menu except the one receiving focus/click */
113
- manageMenus(ev) {
114
- this.menuElements.forEach((menu) => {
115
- if (!menu.open || !menu.floating || menu.verticalContext || containsElement(menu, ev.target)) {
116
- return;
112
+ onOffcanvasKeydown(ev) {
113
+ var _a, _b;
114
+ if (ev.key !== KeyboardCode.TAB || !this.drawerOpen) {
115
+ return;
116
+ }
117
+ const closestMenu = ev.target.closest("z-menu");
118
+ if (closestMenu) {
119
+ ev.preventDefault();
120
+ ev.stopPropagation();
121
+ // restore tabindex to the zmenu containing the focused element
122
+ closestMenu.htmlTabindex = 0;
123
+ this.closeDrawerButton.focus();
124
+ }
125
+ else if (ev.target === this.closeDrawerButton) {
126
+ ev.preventDefault();
127
+ ev.stopPropagation();
128
+ if (ev.shiftKey) {
129
+ // give focus to the last open menu if any or the last menu otherwhise
130
+ ((_a = this.menuElements.filter((menu) => menu.open).pop()) !== null && _a !== void 0 ? _a : this.menuElements[this.menuLength - 1]).setFocus();
117
131
  }
118
- menu.open = false;
119
- });
132
+ else {
133
+ // give focus to the first open menu if any or the first menu otherwhise
134
+ ((_b = this.menuElements.find((menu) => menu.open)) !== null && _b !== void 0 ? _b : this.menuElements[0]).setFocus();
135
+ }
136
+ }
120
137
  }
121
- handleMenubarKeydown(ev) {
138
+ /** Close each menu except the one receiving focus/click, if any */
139
+ manageMenus(ev) {
140
+ const targetMenu = this.menuElements.find((menu) => containsElement(menu, ev.target));
141
+ if (targetMenu) {
142
+ this.menuElements.forEach((menu) => {
143
+ if (menu === targetMenu) {
144
+ return;
145
+ }
146
+ menu.htmlTabindex = -1;
147
+ if (!this.drawerOpen) {
148
+ menu.open = false;
149
+ }
150
+ });
151
+ }
152
+ else if (!this.drawerOpen) {
153
+ this.menuElements.forEach((menu) => {
154
+ menu.open = false;
155
+ });
156
+ }
157
+ }
158
+ handleKeydown(ev) {
122
159
  var _a, _b;
160
+ if (ev.key === KeyboardCode.ESC && this.drawerOpen) {
161
+ this.closeDrawer();
162
+ return;
163
+ }
123
164
  if (!this.menuElements.some((elem) => elem.contains(ev.target))) {
124
165
  return;
125
166
  }
@@ -160,10 +201,10 @@ export class ZAppHeader {
160
201
  }
161
202
  renderMenuButton() {
162
203
  return (this.menuLength > 0 &&
163
- (this.enableOffcanvas || this._stuck || this.isMobile) && (h("button", { ref: (el) => (this.burgerButton = el), "aria-label": "Apri menu", "aria-haspopup": "menu", "aria-expanded": `${this.drawerOpen}`, "aria-controls": "offcanvas-menu", class: "drawer-trigger", onClick: this.openDrawer }, h("z-icon", { name: "burger-menu" }))));
204
+ (this.enableOffcanvas || this._stuck || this.isMobile) && (h("button", { ref: (el) => (this.burgerButton = el), class: "drawer-trigger", "aria-label": "Apri menu", "aria-haspopup": "menu", "aria-expanded": `${this.drawerOpen}`, "aria-controls": "offcanvas-menu", onClick: this.openDrawer }, h("z-icon", { name: "burger-menu" }))));
164
205
  }
165
206
  renderOffcanvas() {
166
- return (h("z-offcanvas", { id: "offcanvas-menu", variant: OffCanvasVariant.OVERLAY, transitiondirection: TransitionDirection.RIGHT, open: this.drawerOpen, onCanvasOpenStatusChanged: (ev) => (this.drawerOpen = ev.detail) }, h("div", { slot: "canvasContent" }, h("button", { ref: (el) => (this.closeMenuButton = el), class: "drawer-close", "aria-label": "Chiudi menu", onClick: this.closeDrawer, "aria-hidden": `${!this.drawerOpen}`, disabled: !this.drawerOpen }, h("z-icon", { name: "close" })), h("div", { class: "drawer-content", "aria-hidden": `${!this.drawerOpen}` }, h("slot", { name: "menu", onSlotchange: this.collectMenuElements })))));
207
+ return (h("z-offcanvas", { id: "offcanvas-menu", variant: OffCanvasVariant.OVERLAY, transitiondirection: TransitionDirection.RIGHT, open: this.drawerOpen, onCanvasOpenStatusChanged: (ev) => (this.drawerOpen = ev.detail), onKeyDown: this.onOffcanvasKeydown }, h("div", { slot: "canvasContent" }, h("button", { ref: (el) => (this.closeDrawerButton = el), class: "drawer-close", "aria-label": "Chiudi menu", onClick: this.closeDrawer, "aria-hidden": `${!this.drawerOpen}`, disabled: !this.drawerOpen }, h("z-icon", { name: "close" })), h("div", { class: "drawer-content", "aria-hidden": `${!this.drawerOpen}` }, h("slot", { name: "menu", onSlotchange: this.collectMenuElements })))));
167
208
  }
168
209
  renderStuck() {
169
210
  return (h("div", { class: "heading-stuck" }, h("div", { class: "heading-stuck-content" }, this.renderMenuButton(), h("div", { class: "heading-title" }, this.renderProductLogos(), h("div", { class: "stucked-title" }, h("slot", { name: "stucked-title" }, this.title))), this.enableSearch && this.renderSeachbar())));
@@ -190,6 +231,7 @@ export class ZAppHeader {
190
231
  this.openDrawer = this.openDrawer.bind(this);
191
232
  this.closeDrawer = this.closeDrawer.bind(this);
192
233
  this.collectMenuElements = this.collectMenuElements.bind(this);
234
+ this.onOffcanvasKeydown = this.onOffcanvasKeydown.bind(this);
193
235
  }
194
236
  componentWillLoad() {
195
237
  this.collectMenuElements();
@@ -211,7 +253,7 @@ export class ZAppHeader {
211
253
  }
212
254
  render() {
213
255
  const hasTopSubtitle = this.hasSlot("top-subtitle");
214
- return (h(Host, { key: 'f3b2e205d9ccacf49785df2ab30ebbba03084338', "menu-length": this.menuLength }, h("div", { key: 'fb6663fa9a943c6940a2e0d31834843640f56dbd', class: { "heading-panel": true, "has-menubar": this.menuLength > 0 && !this.enableOffcanvas }, ref: (el) => (this.container = el) }, h("div", { key: '072583668ba0681b9dbc3e4c8c0a49f0f3875e88', class: "heading-container" }, ((!this.enableSearch && this.isMobile) || !this.isMobile) && (h("div", { key: '7cd576f613a777094851a45ff544663adf8f60dc', class: "top-subtitle" }, h("slot", { key: 'c4f1287f72d5bf94a45b517414ac212fbea37ba3', name: "top-subtitle" }))), h("div", { key: '8b10882a779a28db15f4d3f078322f77d06f53ca', class: "heading-title" }, this.renderMenuButton(), !hasTopSubtitle && !this._stuck && this.renderProductLogos(), h("slot", { key: 'c7437c627d86d78cdb76f7ce783a60b297158fbe', name: "title" }), this.enableSearch && !this.isMobile && this.renderSeachbar()), this.enableSearch && this.isMobile && this.renderSeachbar()), h("nav", { key: 'dd5c413b208a066f2df51d49f116dd64a0af1656', class: "menu-container", "aria-label": this.title || undefined }, this.canShowMenu && (h("div", { key: 'a711bb60306c6b40e4b8db5f751b3942c0c76389', role: "menubar", "aria-label": this.title || undefined }, h("slot", { key: 'f06bbe90b8b5b46ed1162c77a6f3b6710c618787', name: "menu", onSlotchange: this.collectMenuElements }))))), this.renderOffcanvas(), this._stuck && this.renderStuck()));
256
+ return (h(Host, { key: 'f75168a2f0382aa913d97f584d3633a5bdfbfa9c', "menu-length": this.menuLength }, h("div", { key: '124e4e42c49b555e9e0a7fbf74fbed58a34eff26', class: { "heading-panel": true, "has-menubar": this.menuLength > 0 && !this.enableOffcanvas }, ref: (el) => (this.container = el) }, h("div", { key: '59a0f19801d6667ba0bb2ab532e8fef017b7a1f4', class: "heading-container" }, ((!this.enableSearch && this.isMobile) || !this.isMobile) && (h("div", { key: '90477c97647ac20836742a0f66cf33f4a314b096', class: "top-subtitle" }, h("slot", { key: '79635b43939be93a2c8453760325e438a88ac7a6', name: "top-subtitle" }))), h("div", { key: '886bc226038945a58945f76e327c700bf046c573', class: "heading-title" }, this.renderMenuButton(), !hasTopSubtitle && !this._stuck && this.renderProductLogos(), h("slot", { key: 'eec8098326dfc1c57dacfbd1b7c048b0cda46163', name: "title" }), this.enableSearch && !this.isMobile && this.renderSeachbar()), this.enableSearch && this.isMobile && this.renderSeachbar()), h("nav", { key: '4fab027ebeb20cb1be744961c86566328535cc39', class: "menu-container", "aria-label": this.title || undefined }, this.canShowMenu && (h("div", { key: 'e7b8a2c2131e550144a5203c07cc09a77af7f977', role: "menubar", "aria-label": this.title || undefined }, h("slot", { key: '4e020acf3f33bb6fef9da32e9dd69a8b6ed40412', name: "menu", onSlotchange: this.collectMenuElements }))))), this.renderOffcanvas(), this._stuck && this.renderStuck()));
215
257
  }
216
258
  static get is() { return "z-app-header"; }
217
259
  static get encapsulation() { return "shadow"; }
@@ -409,7 +451,7 @@ export class ZAppHeader {
409
451
  "passive": true
410
452
  }, {
411
453
  "name": "keydown",
412
- "method": "handleMenubarKeydown",
454
+ "method": "handleKeydown",
413
455
  "target": undefined,
414
456
  "capture": false,
415
457
  "passive": true
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-app-header/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Fragment, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, KeyboardCode, OffCanvasVariant, TransitionDirection} from \"../../beans\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst SUPPORT_INTERSECTION_OBSERVER = typeof IntersectionObserver !== \"undefined\";\n\n/**\n * @slot title - Slot for the main title\n * @slot top-subtitle - Slot for the top subtitle. It will not appear in stuck header.\n * @slot stucked-title - Title for the stuck header. By default it uses the text from the `title` slot.\n * @slot product-logo - To insert the product logo, it should be used with an img tag.\n * @cssprop --app-header-content-max-width - Use it to set header's content max width. Useful when the project use a fixed width layout. Defaults to `100%`.\n * @cssprop --app-header-top-offset - Top offset for the stuck header. Useful when there are other fixed elements above the header. Defaults to `48px` (the height of the main topbar).\n * @cssprop --app-header-bg - Header background color. Defaults to `--color-surface01`.\n * @cssprop --app-header-text-color - Header text color. Defaults to `--color-default-text`.\n * @cssprop --app-header-stucked-bg - Stuck header background color. Defaults to `--color-surface01`.\n * @cssprop --app-header-stucked-text-color - Stuck header text color. Defaults to `--color-default-text`.\n */\n@Component({\n tag: \"z-app-header\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZAppHeader {\n @Element() hostElement: HTMLZAppHeaderElement;\n\n /**\n * Stuck mode for the header.\n * You can programmatically set it using an IntersectionObserver.\n */\n @Prop({reflect: true})\n stuck = false;\n\n /**\n * When enabled, the menu bar is not displayed and a burger icon appears to open the offcanvas menu. Automatically enabled on mobile and when the menu items overflow the container.\n */\n @Prop({reflect: true, mutable: true})\n enableOffcanvas = false;\n\n /**\n * Enable the search bar.\n */\n @Prop({reflect: true})\n enableSearch = false;\n\n /**\n * Placeholder text for the search bar.\n */\n @Prop()\n searchPlaceholder = \"Cerca\";\n\n /**\n * Search string for the search bar.\n */\n @Prop({mutable: true})\n searchString = \"\";\n\n /**\n * Url to the search page.\n * Set this prop and `enableSearch` to show a link-button on mobile and tablet viewports, instead of the normal searchbar.\n * The link will also appear on the sticky header.\n */\n @Prop()\n searchPageUrl: string;\n\n /**\n * Enable laZ logo.\n */\n @Prop({reflect: true})\n enableZLogo = true;\n\n /**\n * Emitted when the `stuck` state of the header changes\n */\n @Event()\n sticking: EventEmitter;\n\n /**\n * The stuck state of the bar.\n */\n @State()\n private _stuck = false;\n\n /**\n * Current count of menu items.\n */\n @State()\n private menuLength: number;\n\n /**\n * The opening state of the drawer.\n */\n @State()\n private drawerOpen = false;\n\n @State()\n private isMobile = true;\n\n @State()\n private isTablet = false;\n\n private container?: HTMLDivElement;\n\n private menuElements: HTMLZMenuElement[] = [];\n\n private menuWidth: number;\n\n private closeMenuButton: HTMLButtonElement;\n\n private burgerButton: HTMLButtonElement;\n\n private menuResizeObserver: ResizeObserver;\n\n private stuckIntersecObserver?: IntersectionObserver = SUPPORT_INTERSECTION_OBSERVER\n ? new IntersectionObserver(\n ([entry]) => {\n this._stuck = !entry.isIntersecting;\n },\n {threshold: 0.5}\n )\n : undefined;\n\n @Watch(\"_stuck\")\n onStuck(): void {\n const scrollParent = this.scrollParent;\n if (!scrollParent) {\n return;\n }\n\n this.sticking.emit(this._stuck);\n }\n\n @Watch(\"drawerOpen\")\n setMenuFloatingMode(): void {\n if (this.menuElements.length === 0) {\n return;\n }\n\n this.menuElements.forEach((element) => {\n element.open = false;\n element.verticalContext = this.drawerOpen;\n });\n }\n\n @Watch(\"stuck\")\n onStuckChange(): void {\n if (this.stuck) {\n this.stuckIntersecObserver?.observe(this.container);\n } else {\n this._stuck = false;\n this.stuckIntersecObserver?.unobserve(this.container);\n }\n }\n\n private get title(): string {\n return this.hostElement.querySelector('[slot=\"title\"]')?.textContent.trim();\n }\n\n private get scrollParent(): Window | Element {\n const parent = this.hostElement.offsetParent;\n if (parent === document.body || parent === document.documentElement) {\n return window;\n }\n\n return parent;\n }\n\n private get canShowMenu(): boolean {\n return !this.enableOffcanvas && this.menuElements.length > 0 && !this.isMobile && !this.drawerOpen;\n }\n\n private get focusableMenu(): HTMLZMenuElement {\n return this.menuElements.find((el) => el.htmlTabindex === 0);\n }\n\n private openDrawer(): void {\n this.drawerOpen = true;\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n setTimeout(() => this.closeMenuButton.focus(), 100);\n }\n\n private closeDrawer(): void {\n this.drawerOpen = false;\n setTimeout(() => this.burgerButton.focus(), 100);\n }\n\n private collectMenuElements(): void {\n this.menuElements = Array.from(this.hostElement.querySelectorAll('[slot=\"menu\"]'));\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n this.menuLength = this.menuElements.length;\n if (!this.enableOffcanvas) {\n this.menuWidth =\n this.menuElements.reduce((acc, el) => acc + el.getBoundingClientRect().width, 0) +\n (this.menuLength - 1) * 32 /* 32px is the gap between each menu item */;\n }\n this.setMenuFloatingMode();\n }\n\n /** Automatically use offcanvas mode when the menubar doesn't fit in the header. */\n private setupMenuResizeObserver(): void {\n if (this.enableOffcanvas) {\n return;\n }\n\n this.menuResizeObserver = new ResizeObserver((entries) => {\n if (this.isMobile) {\n this.enableOffcanvas = true;\n\n return;\n }\n\n const containerWidth = entries[0].contentBoxSize[0].inlineSize;\n if (this.menuWidth === 0) {\n return;\n }\n\n if (this.menuWidth > containerWidth && !this.enableOffcanvas) {\n this.enableOffcanvas = true;\n } else if (this.menuWidth <= containerWidth && this.enableOffcanvas) {\n this.enableOffcanvas = false;\n }\n });\n this.menuResizeObserver.observe(this.container);\n }\n\n private hasSlot(slotName: string): boolean {\n return this.hostElement.querySelector(`[slot=\"${slotName}\"]`) !== null;\n }\n\n private moveFocus(current: HTMLZMenuElement, receiver: HTMLZMenuElement): void {\n current.htmlTabindex = -1;\n receiver.setFocus();\n }\n\n /** Close each menu except the one receiving focus/click */\n @Listen(\"focusin\", {target: \"document\", passive: true})\n @Listen(\"click\", {target: \"document\", passive: true})\n manageMenus(ev: FocusEvent | PointerEvent): void {\n this.menuElements.forEach((menu) => {\n if (!menu.open || !menu.floating || menu.verticalContext || containsElement(menu, ev.target as Element)) {\n return;\n }\n menu.open = false;\n });\n }\n\n @Listen(\"keydown\", {passive: true})\n handleMenubarKeydown(ev: KeyboardEvent): void {\n if (!this.menuElements.some((elem) => elem.contains(ev.target as HTMLElement))) {\n return;\n }\n\n const current = this.focusableMenu;\n const currentIndex = this.menuElements.indexOf(current);\n let receiver: HTMLZMenuElement;\n if (\n (ev.key === KeyboardCode.ARROW_RIGHT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_DOWN && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex + 1] ?? this.menuElements[0];\n } else if (\n (ev.key === KeyboardCode.ARROW_LEFT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_UP && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex - 1] ?? this.menuElements[this.menuLength - 1];\n }\n if (!receiver) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_UP && current.verticalContext) {\n if (receiver.open) {\n current.htmlTabindex = -1;\n receiver.focusLastItem();\n\n return;\n }\n }\n\n this.moveFocus(current, receiver);\n }\n\n private renderSeachbar(): HTMLZButtonElement | HTMLZSearchbarElement | undefined {\n if (this.isMobile && !this.searchPageUrl && this._stuck) {\n return;\n }\n\n if (this.searchPageUrl && (this.isMobile || this.isTablet)) {\n return (\n <z-button\n class=\"search-page-button\"\n variant={ButtonVariant.SECONDARY}\n href={this.searchPageUrl}\n icon=\"search\"\n size={ControlSize.X_SMALL}\n />\n );\n }\n\n return (\n <z-searchbar\n value={this.searchString}\n placeholder={this.searchPlaceholder}\n showSearchButton={true}\n searchButtonIconOnly={this.isMobile || this.isTablet}\n size={ControlSize.X_SMALL}\n variant={ButtonVariant.SECONDARY}\n preventSubmit={this.searchString.length < 3}\n onSearchTyping={(e) => (this.searchString = e.detail)}\n />\n );\n }\n\n private renderProductLogos(): HTMLElement | null {\n return (\n <Fragment>\n {this.enableZLogo && (\n <span class=\"z-logo\">\n <img alt=\"Logo Zanichelli\" />\n </span>\n )}\n {this.hostElement.querySelector(\"[slot='product-logo']\") && (\n <span class=\"product-logo\">\n <slot name=\"product-logo\" />\n </span>\n )}\n </Fragment>\n );\n }\n\n private renderMenuButton(): HTMLButtonElement {\n return (\n this.menuLength > 0 &&\n (this.enableOffcanvas || this._stuck || this.isMobile) && (\n <button\n ref={(el) => (this.burgerButton = el as HTMLButtonElement)}\n aria-label=\"Apri menu\"\n aria-haspopup=\"menu\"\n aria-expanded={`${this.drawerOpen}`}\n aria-controls=\"offcanvas-menu\"\n class=\"drawer-trigger\"\n onClick={this.openDrawer}\n >\n <z-icon name=\"burger-menu\" />\n </button>\n )\n );\n }\n\n private renderOffcanvas(): HTMLZOffcanvasElement {\n return (\n <z-offcanvas\n id=\"offcanvas-menu\"\n variant={OffCanvasVariant.OVERLAY}\n transitiondirection={TransitionDirection.RIGHT}\n open={this.drawerOpen}\n onCanvasOpenStatusChanged={(ev) => (this.drawerOpen = ev.detail)}\n >\n <div slot=\"canvasContent\">\n <button\n ref={(el) => (this.closeMenuButton = el as HTMLButtonElement)}\n class=\"drawer-close\"\n aria-label=\"Chiudi menu\"\n onClick={this.closeDrawer}\n aria-hidden={`${!this.drawerOpen}`}\n disabled={!this.drawerOpen}\n >\n <z-icon name=\"close\" />\n </button>\n\n <div\n class=\"drawer-content\"\n aria-hidden={`${!this.drawerOpen}`}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n </div>\n </z-offcanvas>\n );\n }\n\n private renderStuck(): HTMLElement {\n return (\n <div class=\"heading-stuck\">\n <div class=\"heading-stuck-content\">\n {this.renderMenuButton()}\n <div class=\"heading-title\">\n {this.renderProductLogos()}\n <div class=\"stucked-title\">\n <slot name=\"stucked-title\">{this.title}</slot>\n </div>\n </div>\n {this.enableSearch && this.renderSeachbar()}\n </div>\n </div>\n );\n }\n\n constructor() {\n this.openDrawer = this.openDrawer.bind(this);\n this.closeDrawer = this.closeDrawer.bind(this);\n this.collectMenuElements = this.collectMenuElements.bind(this);\n }\n\n componentWillLoad(): void {\n this.collectMenuElements();\n\n // mobile and tablet media queries listeners\n const mobileMediaQuery = window.matchMedia(`(max-width: ${Breakpoints.MOBILE}px)`);\n this.isMobile = mobileMediaQuery.matches;\n mobileMediaQuery.addEventListener(\"change\", (e) => (this.isMobile = e.matches));\n const tabletMediaQuery = window.matchMedia(\n `(min-width: ${Breakpoints.MOBILE + 1}px) and (max-width: ${Breakpoints.TABLET}px)`\n );\n this.isTablet = tabletMediaQuery.matches;\n tabletMediaQuery.addEventListener(\"change\", (e) => (this.isTablet = e.matches));\n }\n\n componentDidLoad(): void {\n this.onStuckChange();\n this.setupMenuResizeObserver();\n }\n\n disconnectedCallback(): void {\n this.menuResizeObserver?.disconnect();\n }\n\n render(): HTMLZAppHeaderElement {\n const hasTopSubtitle = this.hasSlot(\"top-subtitle\");\n\n return (\n <Host menu-length={this.menuLength}>\n <div\n class={{\"heading-panel\": true, \"has-menubar\": this.menuLength > 0 && !this.enableOffcanvas}}\n ref={(el) => (this.container = el)}\n >\n <div class=\"heading-container\">\n {((!this.enableSearch && this.isMobile) || !this.isMobile) && (\n <div class=\"top-subtitle\">\n <slot name=\"top-subtitle\" />\n </div>\n )}\n <div class=\"heading-title\">\n {this.renderMenuButton()}\n {!hasTopSubtitle && !this._stuck && this.renderProductLogos()}\n <slot name=\"title\" />\n {this.enableSearch && !this.isMobile && this.renderSeachbar()}\n </div>\n {this.enableSearch && this.isMobile && this.renderSeachbar()}\n </div>\n\n <nav\n class=\"menu-container\"\n aria-label={this.title || undefined}\n >\n {this.canShowMenu && (\n <div\n role=\"menubar\"\n aria-label={this.title || undefined}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n )}\n </nav>\n </div>\n {this.renderOffcanvas()}\n {this._stuck && this.renderStuck()}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/z-app-header/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Fragment, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ButtonVariant, ControlSize, KeyboardCode, OffCanvasVariant, TransitionDirection} from \"../../beans\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\nimport {containsElement} from \"../../utils/utils\";\n\nconst SUPPORT_INTERSECTION_OBSERVER = typeof IntersectionObserver !== \"undefined\";\n\n/**\n * @slot title - Slot for the main title\n * @slot top-subtitle - Slot for the top subtitle. It will not appear in stuck header.\n * @slot stucked-title - Title for the stuck header. By default it uses the text from the `title` slot.\n * @slot product-logo - To insert the product logo, it should be used with an img tag.\n * @cssprop --app-header-content-max-width - Use it to set header's content max width. Useful when the project use a fixed width layout. Defaults to `100%`.\n * @cssprop --app-header-top-offset - Top offset for the stuck header. Useful when there are other fixed elements above the header. Defaults to `48px` (the height of the main topbar).\n * @cssprop --app-header-bg - Header background color. Defaults to `--color-surface01`.\n * @cssprop --app-header-text-color - Header text color. Defaults to `--color-default-text`.\n * @cssprop --app-header-stucked-bg - Stuck header background color. Defaults to `--color-surface01`.\n * @cssprop --app-header-stucked-text-color - Stuck header text color. Defaults to `--color-default-text`.\n */\n@Component({\n tag: \"z-app-header\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZAppHeader {\n @Element() hostElement: HTMLZAppHeaderElement;\n\n /**\n * Stuck mode for the header.\n * You can programmatically set it using an IntersectionObserver.\n */\n @Prop({reflect: true})\n stuck = false;\n\n /**\n * When enabled, the menu bar is not displayed and a burger icon appears to open the offcanvas menu. Automatically enabled on mobile and when the menu items overflow the container.\n */\n @Prop({reflect: true, mutable: true})\n enableOffcanvas = false;\n\n /**\n * Enable the search bar.\n */\n @Prop({reflect: true})\n enableSearch = false;\n\n /**\n * Placeholder text for the search bar.\n */\n @Prop()\n searchPlaceholder = \"Cerca\";\n\n /**\n * Search string for the search bar.\n */\n @Prop({mutable: true})\n searchString = \"\";\n\n /**\n * Url to the search page.\n * Set this prop and `enableSearch` to show a link-button on mobile and tablet viewports, instead of the normal searchbar.\n * The link will also appear on the sticky header.\n */\n @Prop()\n searchPageUrl: string;\n\n /**\n * Enable laZ logo.\n */\n @Prop({reflect: true})\n enableZLogo = true;\n\n /**\n * Emitted when the `stuck` state of the header changes\n */\n @Event()\n sticking: EventEmitter;\n\n /**\n * The stuck state of the bar.\n */\n @State()\n private _stuck = false;\n\n /**\n * Current count of menu items.\n */\n @State()\n private menuLength: number;\n\n /**\n * The opening state of the drawer.\n */\n @State()\n private drawerOpen = false;\n\n @State()\n private isMobile = true;\n\n @State()\n private isTablet = false;\n\n private container?: HTMLDivElement;\n\n private menuElements: HTMLZMenuElement[] = [];\n\n private menuWidth: number;\n\n private closeDrawerButton: HTMLButtonElement;\n\n private burgerButton: HTMLButtonElement;\n\n private menuResizeObserver: ResizeObserver;\n\n private stuckIntersecObserver?: IntersectionObserver = SUPPORT_INTERSECTION_OBSERVER\n ? new IntersectionObserver(\n ([entry]) => {\n this._stuck = !entry.isIntersecting;\n },\n {threshold: 0.5}\n )\n : undefined;\n\n @Watch(\"_stuck\")\n onStuck(): void {\n const scrollParent = this.scrollParent;\n if (!scrollParent) {\n return;\n }\n\n this.sticking.emit(this._stuck);\n }\n\n @Watch(\"drawerOpen\")\n setMenuFloatingMode(): void {\n if (this.menuElements.length === 0) {\n return;\n }\n\n this.menuElements.forEach((element) => {\n element.open = false;\n element.verticalContext = this.drawerOpen;\n });\n }\n\n @Watch(\"stuck\")\n onStuckChange(): void {\n if (this.stuck) {\n this.stuckIntersecObserver?.observe(this.container);\n } else {\n this._stuck = false;\n this.stuckIntersecObserver?.unobserve(this.container);\n }\n }\n\n private get title(): string {\n return this.hostElement.querySelector('[slot=\"title\"]')?.textContent.trim();\n }\n\n private get scrollParent(): Window | Element {\n const parent = this.hostElement.offsetParent;\n if (parent === document.body || parent === document.documentElement) {\n return window;\n }\n\n return parent;\n }\n\n private get canShowMenu(): boolean {\n return !this.enableOffcanvas && this.menuElements.length > 0 && !this.isMobile && !this.drawerOpen;\n }\n\n private get focusableMenu(): HTMLZMenuElement {\n return this.menuElements.find((el) => el.htmlTabindex === 0);\n }\n\n private openDrawer(): void {\n this.drawerOpen = true;\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n setTimeout(() => this.menuElements[0].setFocus(), 400); /* wait for the 400ms offcanvas transition */\n }\n\n private closeDrawer(): void {\n this.drawerOpen = false;\n setTimeout(() => this.burgerButton.focus(), 100);\n }\n\n private collectMenuElements(): void {\n this.menuElements = Array.from(this.hostElement.querySelectorAll('[slot=\"menu\"]'));\n this.menuElements.forEach((element, index) => (element.htmlTabindex = index === 0 ? 0 : -1));\n this.menuLength = this.menuElements.length;\n if (!this.enableOffcanvas) {\n this.menuWidth =\n this.menuElements.reduce((acc, el) => acc + el.getBoundingClientRect().width, 0) +\n (this.menuLength - 1) * 32 /* 32px is the gap between each menu item */;\n }\n this.setMenuFloatingMode();\n }\n\n /** Automatically use offcanvas mode when the menubar doesn't fit in the header. */\n private setupMenuResizeObserver(): void {\n if (this.enableOffcanvas) {\n return;\n }\n\n this.menuResizeObserver = new ResizeObserver((entries) => {\n if (this.isMobile) {\n this.enableOffcanvas = true;\n\n return;\n }\n\n const containerWidth = entries[0].contentBoxSize[0].inlineSize;\n if (this.menuWidth === 0) {\n return;\n }\n\n if (this.menuWidth > containerWidth && !this.enableOffcanvas) {\n this.enableOffcanvas = true;\n } else if (this.menuWidth <= containerWidth && this.enableOffcanvas) {\n this.enableOffcanvas = false;\n }\n });\n this.menuResizeObserver.observe(this.container);\n }\n\n private hasSlot(slotName: string): boolean {\n return this.hostElement.querySelector(`[slot=\"${slotName}\"]`) !== null;\n }\n\n private moveFocus(current: HTMLZMenuElement, receiver: HTMLZMenuElement): void {\n current.htmlTabindex = -1;\n receiver.setFocus();\n }\n\n private onOffcanvasKeydown(ev: KeyboardEvent): void {\n if (ev.key !== KeyboardCode.TAB || !this.drawerOpen) {\n return;\n }\n\n const closestMenu = (ev.target as HTMLElement).closest(\"z-menu\");\n if (closestMenu) {\n ev.preventDefault();\n ev.stopPropagation();\n // restore tabindex to the zmenu containing the focused element\n closestMenu.htmlTabindex = 0;\n this.closeDrawerButton.focus();\n } else if (ev.target === this.closeDrawerButton) {\n ev.preventDefault();\n ev.stopPropagation();\n if (ev.shiftKey) {\n // give focus to the last open menu if any or the last menu otherwhise\n (this.menuElements.filter((menu) => menu.open).pop() ?? this.menuElements[this.menuLength - 1]).setFocus();\n } else {\n // give focus to the first open menu if any or the first menu otherwhise\n (this.menuElements.find((menu) => menu.open) ?? this.menuElements[0]).setFocus();\n }\n }\n }\n\n /** Close each menu except the one receiving focus/click, if any */\n @Listen(\"focusin\", {target: \"document\", passive: true})\n @Listen(\"click\", {target: \"document\", passive: true})\n manageMenus(ev: FocusEvent | PointerEvent): void {\n const targetMenu = this.menuElements.find((menu) => containsElement(menu, ev.target as Element));\n if (targetMenu) {\n this.menuElements.forEach((menu) => {\n if (menu === targetMenu) {\n return;\n }\n\n menu.htmlTabindex = -1;\n if (!this.drawerOpen) {\n menu.open = false;\n }\n });\n } else if (!this.drawerOpen) {\n this.menuElements.forEach((menu) => {\n menu.open = false;\n });\n }\n }\n\n @Listen(\"keydown\", {passive: true})\n handleKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ESC && this.drawerOpen) {\n this.closeDrawer();\n\n return;\n }\n\n if (!this.menuElements.some((elem) => elem.contains(ev.target as HTMLElement))) {\n return;\n }\n\n const current = this.focusableMenu;\n const currentIndex = this.menuElements.indexOf(current);\n let receiver: HTMLZMenuElement;\n if (\n (ev.key === KeyboardCode.ARROW_RIGHT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_DOWN && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex + 1] ?? this.menuElements[0];\n } else if (\n (ev.key === KeyboardCode.ARROW_LEFT && !current.verticalContext) ||\n (ev.key === KeyboardCode.ARROW_UP && current.verticalContext)\n ) {\n receiver = this.menuElements[currentIndex - 1] ?? this.menuElements[this.menuLength - 1];\n }\n if (!receiver) {\n return;\n }\n\n if (ev.key === KeyboardCode.ARROW_UP && current.verticalContext) {\n if (receiver.open) {\n current.htmlTabindex = -1;\n receiver.focusLastItem();\n\n return;\n }\n }\n\n this.moveFocus(current, receiver);\n }\n\n private renderSeachbar(): HTMLZButtonElement | HTMLZSearchbarElement | undefined {\n if (this.isMobile && !this.searchPageUrl && this._stuck) {\n return;\n }\n\n if (this.searchPageUrl && (this.isMobile || this.isTablet)) {\n return (\n <z-button\n class=\"search-page-button\"\n variant={ButtonVariant.SECONDARY}\n href={this.searchPageUrl}\n icon=\"search\"\n size={ControlSize.X_SMALL}\n />\n );\n }\n\n return (\n <z-searchbar\n value={this.searchString}\n placeholder={this.searchPlaceholder}\n showSearchButton={true}\n searchButtonIconOnly={this.isMobile || this.isTablet}\n size={ControlSize.X_SMALL}\n variant={ButtonVariant.SECONDARY}\n preventSubmit={this.searchString.length < 3}\n onSearchTyping={(e) => (this.searchString = e.detail)}\n />\n );\n }\n\n private renderProductLogos(): HTMLElement | null {\n return (\n <Fragment>\n {this.enableZLogo && (\n <span class=\"z-logo\">\n <img alt=\"Logo Zanichelli\" />\n </span>\n )}\n {this.hostElement.querySelector(\"[slot='product-logo']\") && (\n <span class=\"product-logo\">\n <slot name=\"product-logo\" />\n </span>\n )}\n </Fragment>\n );\n }\n\n private renderMenuButton(): HTMLButtonElement {\n return (\n this.menuLength > 0 &&\n (this.enableOffcanvas || this._stuck || this.isMobile) && (\n <button\n ref={(el) => (this.burgerButton = el as HTMLButtonElement)}\n class=\"drawer-trigger\"\n aria-label=\"Apri menu\"\n aria-haspopup=\"menu\"\n aria-expanded={`${this.drawerOpen}`}\n aria-controls=\"offcanvas-menu\"\n onClick={this.openDrawer}\n >\n <z-icon name=\"burger-menu\" />\n </button>\n )\n );\n }\n\n private renderOffcanvas(): HTMLZOffcanvasElement {\n return (\n <z-offcanvas\n id=\"offcanvas-menu\"\n variant={OffCanvasVariant.OVERLAY}\n transitiondirection={TransitionDirection.RIGHT}\n open={this.drawerOpen}\n onCanvasOpenStatusChanged={(ev) => (this.drawerOpen = ev.detail)}\n onKeyDown={this.onOffcanvasKeydown}\n >\n <div slot=\"canvasContent\">\n <button\n ref={(el) => (this.closeDrawerButton = el)}\n class=\"drawer-close\"\n aria-label=\"Chiudi menu\"\n onClick={this.closeDrawer}\n aria-hidden={`${!this.drawerOpen}`}\n disabled={!this.drawerOpen}\n >\n <z-icon name=\"close\" />\n </button>\n\n <div\n class=\"drawer-content\"\n aria-hidden={`${!this.drawerOpen}`}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n </div>\n </z-offcanvas>\n );\n }\n\n private renderStuck(): HTMLElement {\n return (\n <div class=\"heading-stuck\">\n <div class=\"heading-stuck-content\">\n {this.renderMenuButton()}\n <div class=\"heading-title\">\n {this.renderProductLogos()}\n <div class=\"stucked-title\">\n <slot name=\"stucked-title\">{this.title}</slot>\n </div>\n </div>\n {this.enableSearch && this.renderSeachbar()}\n </div>\n </div>\n );\n }\n\n constructor() {\n this.openDrawer = this.openDrawer.bind(this);\n this.closeDrawer = this.closeDrawer.bind(this);\n this.collectMenuElements = this.collectMenuElements.bind(this);\n this.onOffcanvasKeydown = this.onOffcanvasKeydown.bind(this);\n }\n\n componentWillLoad(): void {\n this.collectMenuElements();\n\n // mobile and tablet media queries listeners\n const mobileMediaQuery = window.matchMedia(`(max-width: ${Breakpoints.MOBILE}px)`);\n this.isMobile = mobileMediaQuery.matches;\n mobileMediaQuery.addEventListener(\"change\", (e) => (this.isMobile = e.matches));\n const tabletMediaQuery = window.matchMedia(\n `(min-width: ${Breakpoints.MOBILE + 1}px) and (max-width: ${Breakpoints.TABLET}px)`\n );\n this.isTablet = tabletMediaQuery.matches;\n tabletMediaQuery.addEventListener(\"change\", (e) => (this.isTablet = e.matches));\n }\n\n componentDidLoad(): void {\n this.onStuckChange();\n this.setupMenuResizeObserver();\n }\n\n disconnectedCallback(): void {\n this.menuResizeObserver?.disconnect();\n }\n\n render(): HTMLZAppHeaderElement {\n const hasTopSubtitle = this.hasSlot(\"top-subtitle\");\n\n return (\n <Host menu-length={this.menuLength}>\n <div\n class={{\"heading-panel\": true, \"has-menubar\": this.menuLength > 0 && !this.enableOffcanvas}}\n ref={(el) => (this.container = el)}\n >\n <div class=\"heading-container\">\n {((!this.enableSearch && this.isMobile) || !this.isMobile) && (\n <div class=\"top-subtitle\">\n <slot name=\"top-subtitle\" />\n </div>\n )}\n <div class=\"heading-title\">\n {this.renderMenuButton()}\n {!hasTopSubtitle && !this._stuck && this.renderProductLogos()}\n <slot name=\"title\" />\n {this.enableSearch && !this.isMobile && this.renderSeachbar()}\n </div>\n {this.enableSearch && this.isMobile && this.renderSeachbar()}\n </div>\n\n <nav\n class=\"menu-container\"\n aria-label={this.title || undefined}\n >\n {this.canShowMenu && (\n <div\n role=\"menubar\"\n aria-label={this.title || undefined}\n >\n <slot\n name=\"menu\"\n onSlotchange={this.collectMenuElements}\n />\n </div>\n )}\n </nav>\n </div>\n {this.renderOffcanvas()}\n {this._stuck && this.renderStuck()}\n </Host>\n );\n }\n}\n"]}