@zanichelli/albe-web-components 16.0.0-rc2 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/cjs/{index-7ce01c0e.js → index-066b8da0.js} +5 -5
  3. package/dist/cjs/{index-7ce01c0e.js.map → index-066b8da0.js.map} +1 -1
  4. package/dist/cjs/{index-f31d0e66.js → index-1890445d.js} +3 -3
  5. package/dist/cjs/{index-f31d0e66.js.map → index-1890445d.js.map} +1 -1
  6. package/dist/cjs/{index-19279b08.js → index-1f9f28df.js} +3 -3
  7. package/dist/cjs/{index-19279b08.js.map → index-1f9f28df.js.map} +1 -1
  8. package/dist/cjs/{index-a83e999c.js → index-5cc0f0ca.js} +5 -6
  9. package/dist/cjs/index-5cc0f0ca.js.map +1 -0
  10. package/dist/cjs/{index-48cf79d4.js → index-98822eac.js} +6 -6
  11. package/dist/cjs/{index-48cf79d4.js.map → index-98822eac.js.map} +1 -1
  12. package/dist/cjs/{index-94f7957c.js → index-b361709b.js} +3 -3
  13. package/dist/cjs/{index-94f7957c.js.map → index-b361709b.js.map} +1 -1
  14. package/dist/cjs/{index-e3835c94.js → index-bab7a651.js} +3 -1
  15. package/dist/cjs/index-bab7a651.js.map +1 -0
  16. package/dist/cjs/{index-5dc4a8de.js → index-e801ae96.js} +55 -2
  17. package/dist/cjs/index-e801ae96.js.map +1 -0
  18. package/dist/cjs/index.cjs.js +2 -2
  19. package/dist/cjs/loader.cjs.js +2 -2
  20. package/dist/cjs/{utils-0d3ac1c1.js → utils-311316ce.js} +2 -2
  21. package/dist/cjs/{utils-0d3ac1c1.js.map → utils-311316ce.js.map} +1 -1
  22. package/dist/cjs/{utils-1a8655c7.js → utils-6bd8c55e.js} +2 -2
  23. package/dist/cjs/{utils-1a8655c7.js.map → utils-6bd8c55e.js.map} +1 -1
  24. package/dist/cjs/web-components-library.cjs.js +2 -2
  25. package/dist/cjs/z-accordion.cjs.entry.js +3 -3
  26. package/dist/cjs/z-alert.cjs.entry.js +2 -2
  27. package/dist/cjs/z-anchor-navigation.cjs.entry.js +3 -3
  28. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +158 -0
  29. package/dist/cjs/z-app-header-deprecated.cjs.entry.js.map +1 -0
  30. package/dist/cjs/z-app-header_12.cjs.entry.js +197 -67
  31. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  32. package/dist/cjs/z-aria-alert.cjs.entry.js +3 -3
  33. package/dist/cjs/z-avatar.cjs.entry.js +4 -4
  34. package/dist/cjs/z-book-card.cjs.entry.js +4 -4
  35. package/dist/cjs/z-breadcrumb.cjs.entry.js +5 -5
  36. package/dist/cjs/z-button-sort.cjs.entry.js +2 -2
  37. package/dist/cjs/z-card.cjs.entry.js +2 -2
  38. package/dist/cjs/z-carousel.cjs.entry.js +2 -2
  39. package/dist/cjs/z-chip.cjs.entry.js +4 -4
  40. package/dist/cjs/z-combobox.cjs.entry.js +4 -4
  41. package/dist/cjs/z-cover-hero.cjs.entry.js +4 -4
  42. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  43. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +8 -8
  44. package/dist/cjs/z-file-upload.cjs.entry.js +4 -4
  45. package/dist/cjs/z-file.cjs.entry.js +3 -3
  46. package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -2
  47. package/dist/cjs/z-info-box.cjs.entry.js +2 -2
  48. package/dist/cjs/z-info-reveal.cjs.entry.js +3 -3
  49. package/dist/cjs/z-logo.cjs.entry.js +2 -2
  50. package/dist/cjs/z-menu-deprecated.cjs.entry.js +115 -0
  51. package/dist/cjs/z-menu-deprecated.cjs.entry.js.map +1 -0
  52. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +60 -0
  53. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js.map +1 -0
  54. package/dist/cjs/z-menu-section.cjs.entry.js +92 -4
  55. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -1
  56. package/dist/cjs/z-menu.cjs.entry.js +121 -10
  57. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/z-myz-card-alert.cjs.entry.js +3 -3
  59. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +3 -3
  60. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +2 -2
  61. package/dist/cjs/z-myz-card-footer.cjs.entry.js +3 -3
  62. package/dist/cjs/z-myz-card-icon.cjs.entry.js +2 -2
  63. package/dist/cjs/z-myz-card-info.cjs.entry.js +4 -4
  64. package/dist/cjs/z-myz-card-list.cjs.entry.js +2 -2
  65. package/dist/cjs/z-myz-card_4.cjs.entry.js +6 -6
  66. package/dist/cjs/z-myz-list-item.cjs.entry.js +4 -4
  67. package/dist/cjs/z-myz-list.cjs.entry.js +2 -2
  68. package/dist/cjs/z-navigation-tabs.cjs.entry.js +4 -4
  69. package/dist/cjs/z-notification.cjs.entry.js +2 -2
  70. package/dist/cjs/z-otp.cjs.entry.js +4 -4
  71. package/dist/cjs/z-pagination.cjs.entry.js +2 -2
  72. package/dist/cjs/z-panel-elem.cjs.entry.js +3 -3
  73. package/dist/cjs/z-popover.cjs.entry.js +3 -3
  74. package/dist/cjs/z-range-picker.cjs.entry.js +3 -3
  75. package/dist/cjs/z-section-title.cjs.entry.js +3 -3
  76. package/dist/cjs/z-select.cjs.entry.js +4 -4
  77. package/dist/cjs/z-skip-to-content.cjs.entry.js +4 -4
  78. package/dist/cjs/z-slideshow.cjs.entry.js +3 -3
  79. package/dist/cjs/z-stepper-item.cjs.entry.js +2 -2
  80. package/dist/cjs/z-stepper.cjs.entry.js +2 -2
  81. package/dist/cjs/z-table.cjs.entry.js +10 -10
  82. package/dist/cjs/z-tbody.cjs.entry.js +2 -2
  83. package/dist/cjs/z-td.cjs.entry.js +3 -3
  84. package/dist/cjs/z-tfoot.cjs.entry.js +2 -2
  85. package/dist/cjs/z-th.cjs.entry.js +3 -3
  86. package/dist/cjs/z-thead.cjs.entry.js +2 -2
  87. package/dist/cjs/z-toast-notification-list.cjs.entry.js +3 -3
  88. package/dist/cjs/z-toast-notification.cjs.entry.js +3 -3
  89. package/dist/cjs/z-toggle-button.cjs.entry.js +3 -3
  90. package/dist/cjs/z-toggle-switch.cjs.entry.js +6 -6
  91. package/dist/cjs/z-tooltip.cjs.entry.js +3 -3
  92. package/dist/cjs/z-tr.cjs.entry.js +6 -6
  93. package/dist/cjs/z-visually-hidden.cjs.entry.js +2 -2
  94. package/dist/collection/assets/orientamento.svg +14 -0
  95. package/dist/collection/beans/index.js +2 -0
  96. package/dist/collection/beans/index.js.map +1 -1
  97. package/dist/collection/collection-manifest.json +3 -0
  98. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +420 -0
  99. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js.map +1 -0
  100. package/dist/collection/components/deprecated/z-app-header-deprecated/index.spec.js +203 -0
  101. package/dist/collection/components/deprecated/z-app-header-deprecated/index.spec.js.map +1 -0
  102. package/dist/collection/components/deprecated/z-app-header-deprecated/index.stories.js +635 -0
  103. package/dist/collection/components/deprecated/z-app-header-deprecated/index.stories.js.map +1 -0
  104. package/dist/collection/components/deprecated/z-app-header-deprecated/styles.css +441 -0
  105. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +244 -0
  106. package/dist/collection/components/deprecated/z-menu-deprecated/index.js.map +1 -0
  107. package/dist/collection/components/deprecated/z-menu-deprecated/index.spec.js +120 -0
  108. package/dist/collection/components/deprecated/z-menu-deprecated/index.spec.js.map +1 -0
  109. package/dist/collection/components/deprecated/z-menu-deprecated/index.stories.js +129 -0
  110. package/dist/collection/components/deprecated/z-menu-deprecated/index.stories.js.map +1 -0
  111. package/dist/collection/components/deprecated/z-menu-deprecated/styles.css +217 -0
  112. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +131 -0
  113. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js.map +1 -0
  114. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.spec.js +50 -0
  115. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.spec.js.map +1 -0
  116. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.stories.js +41 -0
  117. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.stories.js.map +1 -0
  118. package/dist/collection/components/deprecated/z-menu-section-deprecated/styles.css +123 -0
  119. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  120. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  121. package/dist/collection/components/file-upload/z-file-upload/index.js +1 -1
  122. package/dist/collection/components/list/z-list/index.js +1 -1
  123. package/dist/collection/components/list/z-list-element/index.js +1 -1
  124. package/dist/collection/components/list/z-list-group/index.js +2 -2
  125. package/dist/collection/components/table/cells/z-td/index.js +2 -27
  126. package/dist/collection/components/table/cells/z-td/index.js.map +1 -1
  127. package/dist/collection/components/table/cells/z-td/styles.css +0 -4
  128. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  129. package/dist/collection/components/table/cells/z-th/styles.css +0 -4
  130. package/dist/collection/components/table/z-table/index.js +1 -1
  131. package/dist/collection/components/table/z-tbody/index.js +1 -1
  132. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  133. package/dist/collection/components/table/z-thead/index.js +1 -1
  134. package/dist/collection/components/table/z-tr/index.js +1 -1
  135. package/dist/collection/components/z-accordion/index.js +1 -1
  136. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  137. package/dist/collection/components/z-app-header/index.js +215 -159
  138. package/dist/collection/components/z-app-header/index.js.map +1 -1
  139. package/dist/collection/components/z-app-header/index.spec.js +493 -79
  140. package/dist/collection/components/z-app-header/index.spec.js.map +1 -1
  141. package/dist/collection/components/z-app-header/index.stories.js +59 -369
  142. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  143. package/dist/collection/components/z-app-header/styles.css +147 -183
  144. package/dist/collection/components/z-aria-alert/index.js +1 -1
  145. package/dist/collection/components/z-avatar/index.js +2 -2
  146. package/dist/collection/components/z-book-card/index.js +1 -1
  147. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  148. package/dist/collection/components/z-button-sort/index.js +1 -1
  149. package/dist/collection/components/z-chip/index.js +2 -2
  150. package/dist/collection/components/z-combobox/index.js +1 -1
  151. package/dist/collection/components/z-cover-hero/index.js +2 -2
  152. package/dist/collection/components/z-divider/index.js +1 -1
  153. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  154. package/dist/collection/components/z-info-box/index.js +1 -1
  155. package/dist/collection/components/z-info-reveal/index.js +1 -1
  156. package/dist/collection/components/z-input/index.js +1 -1
  157. package/dist/collection/components/z-input-message/index.js +1 -1
  158. package/dist/collection/components/z-logo/index.js +1 -1
  159. package/dist/collection/components/z-menu/index.js +128 -5
  160. package/dist/collection/components/z-menu/index.js.map +1 -1
  161. package/dist/collection/components/z-menu/index.spec.js +49 -33
  162. package/dist/collection/components/z-menu/index.spec.js.map +1 -1
  163. package/dist/collection/components/z-menu/index.stories.js +7 -7
  164. package/dist/collection/components/z-menu/index.stories.js.map +1 -1
  165. package/dist/collection/components/z-menu/styles.css +21 -8
  166. package/dist/collection/components/z-menu-section/index.js +102 -2
  167. package/dist/collection/components/z-menu-section/index.js.map +1 -1
  168. package/dist/collection/components/z-menu-section/index.spec.js +7 -7
  169. package/dist/collection/components/z-menu-section/index.spec.js.map +1 -1
  170. package/dist/collection/components/z-menu-section/index.stories.js +3 -3
  171. package/dist/collection/components/z-menu-section/index.stories.js.map +1 -1
  172. package/dist/collection/components/z-menu-section/styles.css +5 -5
  173. package/dist/collection/components/z-modal/index.js +4 -4
  174. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  175. package/dist/collection/components/z-notification/index.js +1 -1
  176. package/dist/collection/components/z-offcanvas/index.js +1 -1
  177. package/dist/collection/components/z-panel-elem/index.js +2 -2
  178. package/dist/collection/components/z-popover/index.js +1 -1
  179. package/dist/collection/components/z-searchbar/index.js +1 -1
  180. package/dist/collection/components/z-section-title/index.js +1 -1
  181. package/dist/collection/components/z-select/index.js +1 -1
  182. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  183. package/dist/collection/components/z-stepper/index.js +1 -1
  184. package/dist/collection/components/z-stepper-item/index.js +1 -1
  185. package/dist/collection/components/z-tag/index.js +2 -2
  186. package/dist/collection/components/z-toast-notification/index.js +1 -1
  187. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  188. package/dist/collection/components/z-toggle-button/index.js +2 -2
  189. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  190. package/dist/collection/components/z-tooltip/index.js +1 -1
  191. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  192. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  193. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  194. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  195. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  196. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  197. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  198. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  199. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  200. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  201. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  202. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  203. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  204. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  205. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  206. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  207. package/dist/components/index.d.ts +6 -0
  208. package/dist/components/index.js +3 -0
  209. package/dist/components/index.js.map +1 -1
  210. package/dist/components/index10.js +1 -1
  211. package/dist/components/index11.js +1 -1
  212. package/dist/components/index12.js +1 -1
  213. package/dist/components/index13.js +1 -1
  214. package/dist/components/index14.js +2 -2
  215. package/dist/components/index15.js +4 -4
  216. package/dist/components/index16.js +1 -1
  217. package/dist/components/index17.js +1 -1
  218. package/dist/components/index18.js +1 -1
  219. package/dist/components/index19.js +1 -1
  220. package/dist/components/index2.js +2 -0
  221. package/dist/components/index2.js.map +1 -1
  222. package/dist/components/index20.js +1 -1
  223. package/dist/components/index21.js +1 -1
  224. package/dist/components/index22.js +1 -1
  225. package/dist/components/index23.js +1 -1
  226. package/dist/components/index24.js +2 -2
  227. package/dist/components/index3.js +1 -1
  228. package/dist/components/index5.js +2 -2
  229. package/dist/components/index6.js +1 -1
  230. package/dist/components/index7.js +2 -2
  231. package/dist/components/index8.js +1 -1
  232. package/dist/components/z-accordion.js +1 -1
  233. package/dist/components/z-anchor-navigation.js +1 -1
  234. package/dist/components/z-app-header-deprecated.d.ts +11 -0
  235. package/dist/components/z-app-header-deprecated.js +255 -0
  236. package/dist/components/z-app-header-deprecated.js.map +1 -0
  237. package/dist/components/z-app-header.js +190 -60
  238. package/dist/components/z-app-header.js.map +1 -1
  239. package/dist/components/z-aria-alert.js +1 -1
  240. package/dist/components/z-avatar.js +2 -2
  241. package/dist/components/z-book-card.js +1 -1
  242. package/dist/components/z-breadcrumb.js +2 -2
  243. package/dist/components/z-button-sort.js +1 -1
  244. package/dist/components/z-combobox.js +1 -1
  245. package/dist/components/z-cover-hero.js +2 -2
  246. package/dist/components/z-file-upload.js +1 -1
  247. package/dist/components/z-file.js +1 -1
  248. package/dist/components/z-info-box.js +1 -1
  249. package/dist/components/z-info-reveal.js +1 -1
  250. package/dist/components/z-logo.js +1 -1
  251. package/dist/components/z-menu-deprecated.d.ts +11 -0
  252. package/dist/components/z-menu-deprecated.js +144 -0
  253. package/dist/components/z-menu-deprecated.js.map +1 -0
  254. package/dist/components/z-menu-section-deprecated.d.ts +11 -0
  255. package/dist/components/z-menu-section-deprecated.js +84 -0
  256. package/dist/components/z-menu-section-deprecated.js.map +1 -0
  257. package/dist/components/z-menu-section.js +92 -4
  258. package/dist/components/z-menu-section.js.map +1 -1
  259. package/dist/components/z-menu.js +117 -6
  260. package/dist/components/z-menu.js.map +1 -1
  261. package/dist/components/z-myz-card-alert.js +1 -1
  262. package/dist/components/z-myz-card-dictionary.js +1 -1
  263. package/dist/components/z-myz-card-footer-sections.js +1 -1
  264. package/dist/components/z-myz-card-footer.js +1 -1
  265. package/dist/components/z-myz-card-icon.js +1 -1
  266. package/dist/components/z-myz-card-info.js +1 -1
  267. package/dist/components/z-myz-card-list.js +1 -1
  268. package/dist/components/z-myz-list.js +1 -1
  269. package/dist/components/z-navigation-tabs.js +2 -2
  270. package/dist/components/z-notification.js +1 -1
  271. package/dist/components/z-otp.js +2 -2
  272. package/dist/components/z-panel-elem.js +2 -2
  273. package/dist/components/z-section-title.js +1 -1
  274. package/dist/components/z-select.js +1 -1
  275. package/dist/components/z-skip-to-content.js +1 -1
  276. package/dist/components/z-stepper-item.js +1 -1
  277. package/dist/components/z-stepper.js +1 -1
  278. package/dist/components/z-table.js +1 -1
  279. package/dist/components/z-tbody.js +1 -1
  280. package/dist/components/z-td.js +3 -5
  281. package/dist/components/z-td.js.map +1 -1
  282. package/dist/components/z-tfoot.js +1 -1
  283. package/dist/components/z-th.js +2 -2
  284. package/dist/components/z-th.js.map +1 -1
  285. package/dist/components/z-thead.js +1 -1
  286. package/dist/components/z-toast-notification-list.js +1 -1
  287. package/dist/components/z-toast-notification.js +1 -1
  288. package/dist/components/z-toggle-button.js +2 -2
  289. package/dist/components/z-toggle-switch.js +3 -3
  290. package/dist/components/z-tooltip.js +1 -1
  291. package/dist/components/z-tr.js +1 -1
  292. package/dist/components/z-visually-hidden.js +1 -1
  293. package/dist/esm/index-175661e6.js +18 -0
  294. package/dist/esm/{index-41ee4016.js.map → index-175661e6.js.map} +1 -1
  295. package/dist/esm/{index-aa07660e.js → index-18018bb5.js} +5 -5
  296. package/dist/esm/{index-aa07660e.js.map → index-18018bb5.js.map} +1 -1
  297. package/dist/esm/{index-497d9441.js → index-292b4dd2.js} +5 -6
  298. package/dist/esm/index-292b4dd2.js.map +1 -0
  299. package/dist/esm/{index-437f0b00.js → index-50bbb22e.js} +6 -6
  300. package/dist/esm/{index-437f0b00.js.map → index-50bbb22e.js.map} +1 -1
  301. package/dist/esm/{index-ab5f1eaa.js → index-a2130b6a.js} +55 -3
  302. package/dist/esm/index-a2130b6a.js.map +1 -0
  303. package/dist/esm/{index-ea49e441.js → index-a81f1558.js} +3 -3
  304. package/dist/esm/{index-ea49e441.js.map → index-a81f1558.js.map} +1 -1
  305. package/dist/esm/{index-cfde9cec.js → index-b556b384.js} +3 -3
  306. package/dist/esm/{index-cfde9cec.js.map → index-b556b384.js.map} +1 -1
  307. package/dist/esm/{index-a7f69d42.js → index-b7dbacb4.js} +3 -1
  308. package/dist/esm/index-b7dbacb4.js.map +1 -0
  309. package/dist/esm/index.js +2 -2
  310. package/dist/esm/loader.js +3 -3
  311. package/dist/esm/{utils-f7da2c5f.js → utils-54e02183.js} +2 -2
  312. package/dist/esm/{utils-f7da2c5f.js.map → utils-54e02183.js.map} +1 -1
  313. package/dist/esm/{utils-0ce33738.js → utils-8ade9e2d.js} +2 -2
  314. package/dist/esm/{utils-0ce33738.js.map → utils-8ade9e2d.js.map} +1 -1
  315. package/dist/esm/web-components-library.js +3 -3
  316. package/dist/esm/z-accordion.entry.js +3 -3
  317. package/dist/esm/z-alert.entry.js +2 -2
  318. package/dist/esm/z-anchor-navigation.entry.js +3 -3
  319. package/dist/esm/z-app-header-deprecated.entry.js +154 -0
  320. package/dist/esm/z-app-header-deprecated.entry.js.map +1 -0
  321. package/dist/esm/z-app-header_12.entry.js +197 -67
  322. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  323. package/dist/esm/z-aria-alert.entry.js +3 -3
  324. package/dist/esm/z-avatar.entry.js +4 -4
  325. package/dist/esm/z-book-card.entry.js +4 -4
  326. package/dist/esm/z-breadcrumb.entry.js +5 -5
  327. package/dist/esm/z-button-sort.entry.js +2 -2
  328. package/dist/esm/z-card.entry.js +2 -2
  329. package/dist/esm/z-carousel.entry.js +2 -2
  330. package/dist/esm/z-chip.entry.js +4 -4
  331. package/dist/esm/z-combobox.entry.js +4 -4
  332. package/dist/esm/z-cover-hero.entry.js +4 -4
  333. package/dist/esm/z-date-picker.entry.js +3 -3
  334. package/dist/esm/z-dragdrop-area_2.entry.js +8 -8
  335. package/dist/esm/z-file-upload.entry.js +4 -4
  336. package/dist/esm/z-file.entry.js +3 -3
  337. package/dist/esm/z-ghost-loading.entry.js +2 -2
  338. package/dist/esm/z-info-box.entry.js +2 -2
  339. package/dist/esm/z-info-reveal.entry.js +3 -3
  340. package/dist/esm/z-logo.entry.js +2 -2
  341. package/dist/esm/z-menu-deprecated.entry.js +111 -0
  342. package/dist/esm/z-menu-deprecated.entry.js.map +1 -0
  343. package/dist/esm/z-menu-section-deprecated.entry.js +56 -0
  344. package/dist/esm/z-menu-section-deprecated.entry.js.map +1 -0
  345. package/dist/esm/z-menu-section.entry.js +92 -4
  346. package/dist/esm/z-menu-section.entry.js.map +1 -1
  347. package/dist/esm/z-menu.entry.js +117 -6
  348. package/dist/esm/z-menu.entry.js.map +1 -1
  349. package/dist/esm/z-myz-card-alert.entry.js +3 -3
  350. package/dist/esm/z-myz-card-dictionary.entry.js +3 -3
  351. package/dist/esm/z-myz-card-footer-sections.entry.js +2 -2
  352. package/dist/esm/z-myz-card-footer.entry.js +3 -3
  353. package/dist/esm/z-myz-card-icon.entry.js +2 -2
  354. package/dist/esm/z-myz-card-info.entry.js +4 -4
  355. package/dist/esm/z-myz-card-list.entry.js +2 -2
  356. package/dist/esm/z-myz-card_4.entry.js +6 -6
  357. package/dist/esm/z-myz-list-item.entry.js +4 -4
  358. package/dist/esm/z-myz-list.entry.js +2 -2
  359. package/dist/esm/z-navigation-tabs.entry.js +4 -4
  360. package/dist/esm/z-notification.entry.js +2 -2
  361. package/dist/esm/z-otp.entry.js +4 -4
  362. package/dist/esm/z-pagination.entry.js +2 -2
  363. package/dist/esm/z-panel-elem.entry.js +3 -3
  364. package/dist/esm/z-popover.entry.js +3 -3
  365. package/dist/esm/z-range-picker.entry.js +3 -3
  366. package/dist/esm/z-section-title.entry.js +3 -3
  367. package/dist/esm/z-select.entry.js +4 -4
  368. package/dist/esm/z-skip-to-content.entry.js +4 -4
  369. package/dist/esm/z-slideshow.entry.js +3 -3
  370. package/dist/esm/z-stepper-item.entry.js +2 -2
  371. package/dist/esm/z-stepper.entry.js +2 -2
  372. package/dist/esm/z-table.entry.js +10 -10
  373. package/dist/esm/z-tbody.entry.js +2 -2
  374. package/dist/esm/z-td.entry.js +3 -3
  375. package/dist/esm/z-tfoot.entry.js +2 -2
  376. package/dist/esm/z-th.entry.js +3 -3
  377. package/dist/esm/z-thead.entry.js +2 -2
  378. package/dist/esm/z-toast-notification-list.entry.js +3 -3
  379. package/dist/esm/z-toast-notification.entry.js +3 -3
  380. package/dist/esm/z-toggle-button.entry.js +3 -3
  381. package/dist/esm/z-toggle-switch.entry.js +6 -6
  382. package/dist/esm/z-tooltip.entry.js +3 -3
  383. package/dist/esm/z-tr.entry.js +6 -6
  384. package/dist/esm/z-visually-hidden.entry.js +2 -2
  385. package/dist/types/beans/index.d.ts +3 -1
  386. package/dist/types/components/deprecated/z-app-header-deprecated/index.d.ts +149 -0
  387. package/dist/types/components/deprecated/z-app-header-deprecated/index.stories.d.ts +118 -0
  388. package/dist/types/components/deprecated/z-menu-deprecated/index.d.ts +61 -0
  389. package/dist/types/components/deprecated/z-menu-deprecated/index.stories.d.ts +27 -0
  390. package/dist/types/components/deprecated/z-menu-section-deprecated/index.d.ts +31 -0
  391. package/dist/types/components/deprecated/z-menu-section-deprecated/index.stories.d.ts +16 -0
  392. package/dist/types/components/table/cells/z-td/index.d.ts +1 -5
  393. package/dist/types/components/z-app-header/index.d.ts +33 -76
  394. package/dist/types/components/z-app-header/index.stories.d.ts +20 -40
  395. package/dist/types/components/z-menu/index.d.ts +11 -0
  396. package/dist/types/components/z-menu-section/index.d.ts +9 -0
  397. package/dist/types/components.d.ts +268 -18
  398. package/dist/web-components-library/index.esm.js +1 -1
  399. package/dist/web-components-library/{p-5e0acf57.entry.js → p-054484d4.entry.js} +2 -2
  400. package/dist/web-components-library/{p-bd75bef4.entry.js → p-05e9ae1e.entry.js} +2 -2
  401. package/dist/web-components-library/{p-6c5a8061.entry.js → p-12d62027.entry.js} +2 -2
  402. package/{www/build/p-726e1059.entry.js → dist/web-components-library/p-18690383.entry.js} +2 -2
  403. package/dist/web-components-library/{p-a36045c2.entry.js → p-19f8c3d2.entry.js} +2 -2
  404. package/dist/web-components-library/p-1edbac5f.entry.js +2 -0
  405. package/dist/web-components-library/{p-9ddfcfd4.entry.js → p-21b85c7f.entry.js} +2 -2
  406. package/dist/web-components-library/{p-f7180c65.entry.js → p-2672e36f.entry.js} +2 -2
  407. package/{www/build/p-4a2b4ad1.entry.js → dist/web-components-library/p-28928bb6.entry.js} +2 -2
  408. package/dist/web-components-library/{p-a0231723.entry.js → p-2a7e4988.entry.js} +2 -2
  409. package/dist/web-components-library/{p-66d70fb4.js → p-2c184714.js} +2 -2
  410. package/dist/web-components-library/p-304eeab0.js +2 -0
  411. package/dist/web-components-library/{p-09897132.entry.js → p-324ef970.entry.js} +2 -2
  412. package/{www/build/p-90b4d340.entry.js → dist/web-components-library/p-33eea921.entry.js} +2 -2
  413. package/dist/web-components-library/p-385bf4ca.entry.js +2 -0
  414. package/dist/web-components-library/{p-411d929f.entry.js → p-3b266de4.entry.js} +2 -2
  415. package/dist/web-components-library/{p-2ed68ac5.entry.js → p-4552744b.entry.js} +2 -2
  416. package/dist/web-components-library/{p-ebdfd7e5.entry.js → p-49e4ce84.entry.js} +2 -2
  417. package/dist/web-components-library/p-57eee056.entry.js +2 -0
  418. package/dist/web-components-library/{p-e2997191.entry.js.map → p-57eee056.entry.js.map} +1 -1
  419. package/{www/build/p-1efacf4c.entry.js → dist/web-components-library/p-5a5481be.entry.js} +2 -2
  420. package/dist/web-components-library/p-6037cdf3.js +2 -0
  421. package/{www/build/p-3de034cf.js.map → dist/web-components-library/p-6037cdf3.js.map} +1 -1
  422. package/{www/build/p-65df3290.entry.js → dist/web-components-library/p-609c11d6.entry.js} +2 -2
  423. package/dist/web-components-library/p-6319b5e2.entry.js +2 -0
  424. package/{www/build/p-467d8a16.entry.js → dist/web-components-library/p-63e970ee.entry.js} +2 -2
  425. package/{www/build/p-7693ae18.entry.js → dist/web-components-library/p-6586441a.entry.js} +3 -3
  426. package/dist/web-components-library/p-68822fbc.entry.js +2 -0
  427. package/dist/web-components-library/{p-493c652a.entry.js → p-6a664748.entry.js} +2 -2
  428. package/dist/web-components-library/p-6b2cd695.entry.js +2 -0
  429. package/dist/web-components-library/p-6f4dd02b.entry.js +2 -0
  430. package/dist/web-components-library/{p-5e45636a.entry.js.map → p-6f4dd02b.entry.js.map} +1 -1
  431. package/dist/web-components-library/p-74a65c6f.entry.js +2 -0
  432. package/{www/build/p-dde9f76d.entry.js → dist/web-components-library/p-77d8ad7e.entry.js} +2 -2
  433. package/{www/build/p-2190352b.js → dist/web-components-library/p-78e52a02.js} +2 -2
  434. package/dist/web-components-library/p-7d827c11.js +2 -0
  435. package/dist/web-components-library/{p-5bbb5599.entry.js → p-83350b5f.entry.js} +2 -2
  436. package/dist/web-components-library/p-83eff308.entry.js +2 -0
  437. package/dist/web-components-library/p-83eff308.entry.js.map +1 -0
  438. package/dist/web-components-library/{p-8df46096.entry.js → p-8499a29d.entry.js} +2 -2
  439. package/{www/build/p-1501c221.entry.js → dist/web-components-library/p-85f84e55.entry.js} +2 -2
  440. package/dist/web-components-library/{p-376208ab.entry.js → p-88e756cd.entry.js} +2 -2
  441. package/dist/web-components-library/p-89584f19.entry.js +2 -0
  442. package/dist/web-components-library/{p-b6e14c6b.entry.js.map → p-89584f19.entry.js.map} +1 -1
  443. package/dist/web-components-library/{p-7ce64686.entry.js → p-8a10fec5.entry.js} +2 -2
  444. package/dist/web-components-library/p-8a10fec5.entry.js.map +1 -0
  445. package/dist/web-components-library/{p-214bc293.entry.js → p-8b309268.entry.js} +2 -2
  446. package/dist/web-components-library/p-8c517cd7.entry.js +2 -0
  447. package/dist/web-components-library/p-8c517cd7.entry.js.map +1 -0
  448. package/dist/web-components-library/{p-0c2fdbe5.entry.js → p-8c9f7cef.entry.js} +2 -2
  449. package/dist/web-components-library/p-8d7323f7.entry.js +2 -0
  450. package/dist/web-components-library/p-8d7323f7.entry.js.map +1 -0
  451. package/dist/web-components-library/p-8de7ea6e.js +2 -0
  452. package/dist/web-components-library/{p-82dc715b.js.map → p-8de7ea6e.js.map} +1 -1
  453. package/dist/web-components-library/{p-f3272ec6.entry.js → p-91c04edc.entry.js} +2 -2
  454. package/dist/web-components-library/{p-80359658.entry.js → p-97b0c3b3.entry.js} +2 -2
  455. package/dist/web-components-library/{p-74e134e6.entry.js → p-99b791d1.entry.js} +2 -2
  456. package/dist/web-components-library/p-9f2a7cf0.js +2 -0
  457. package/dist/web-components-library/p-9f2a7cf0.js.map +1 -0
  458. package/{www/build/p-63337e8b.entry.js → dist/web-components-library/p-a4ada10b.entry.js} +2 -2
  459. package/dist/web-components-library/p-a5781264.entry.js +2 -0
  460. package/{www/build/p-14bf4619.entry.js → dist/web-components-library/p-ad76b8ff.entry.js} +2 -2
  461. package/dist/web-components-library/p-ae94e377.js +2 -0
  462. package/{www/build/p-40e4e3af.js.map → dist/web-components-library/p-ae94e377.js.map} +1 -1
  463. package/dist/web-components-library/{p-2c81acaa.entry.js → p-ae96bc09.entry.js} +2 -2
  464. package/dist/web-components-library/{p-09a9e2ca.entry.js → p-af856537.entry.js} +2 -2
  465. package/{www/build/p-7d5983f6.entry.js → dist/web-components-library/p-b84fa3b6.entry.js} +2 -2
  466. package/dist/web-components-library/{p-ff4aa84a.entry.js → p-be4878f2.entry.js} +2 -2
  467. package/dist/web-components-library/p-bf2a057d.entry.js +2 -0
  468. package/dist/web-components-library/{p-82b845c3.entry.js → p-c0bdbfb5.entry.js} +2 -2
  469. package/dist/web-components-library/p-c0bdbfb5.entry.js.map +1 -0
  470. package/dist/web-components-library/{p-464e5886.entry.js → p-c6b269ce.entry.js} +2 -2
  471. package/dist/web-components-library/{p-1064cb1a.entry.js → p-c90249e5.entry.js} +2 -2
  472. package/dist/web-components-library/p-cf2640b0.entry.js +2 -0
  473. package/dist/web-components-library/p-cf2640b0.entry.js.map +1 -0
  474. package/dist/web-components-library/p-cfa39bd3.js +3 -0
  475. package/dist/web-components-library/p-cfa39bd3.js.map +1 -0
  476. package/dist/web-components-library/p-d9e1d8c7.js +2 -0
  477. package/dist/web-components-library/{p-60dfcfaa.entry.js → p-df05727f.entry.js} +2 -2
  478. package/dist/web-components-library/p-e0323da3.entry.js +2 -0
  479. package/dist/web-components-library/{p-810433b1.entry.js → p-e1852de3.entry.js} +2 -2
  480. package/dist/web-components-library/{p-2010d544.entry.js → p-e366782c.entry.js} +2 -2
  481. package/dist/web-components-library/{p-f323cc0b.entry.js → p-e5dc0719.entry.js} +2 -2
  482. package/dist/web-components-library/{p-ea9aa3bb.entry.js → p-f21bc3a9.entry.js} +2 -2
  483. package/{www/build/p-a11e1d48.entry.js → dist/web-components-library/p-f74f9f3c.entry.js} +2 -2
  484. package/dist/web-components-library/p-f8d45aa4.entry.js +2 -0
  485. package/dist/web-components-library/{p-c3809d39.entry.js → p-fe87b081.entry.js} +2 -2
  486. package/dist/web-components-library/web-components-library.esm.js +1 -1
  487. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  488. package/package.json +1 -1
  489. package/react/components.d.ts +3 -0
  490. package/react/components.js +5 -2
  491. package/react/components.js.map +1 -1
  492. package/www/assets/orientamento.svg +14 -0
  493. package/www/build/index.esm.js +1 -1
  494. package/www/build/{p-5e0acf57.entry.js → p-054484d4.entry.js} +2 -2
  495. package/www/build/{p-bd75bef4.entry.js → p-05e9ae1e.entry.js} +2 -2
  496. package/www/build/{p-6c5a8061.entry.js → p-12d62027.entry.js} +2 -2
  497. package/{dist/web-components-library/p-726e1059.entry.js → www/build/p-18690383.entry.js} +2 -2
  498. package/www/build/{p-a36045c2.entry.js → p-19f8c3d2.entry.js} +2 -2
  499. package/www/build/p-1edbac5f.entry.js +2 -0
  500. package/www/build/{p-9ddfcfd4.entry.js → p-21b85c7f.entry.js} +2 -2
  501. package/www/build/{p-f7180c65.entry.js → p-2672e36f.entry.js} +2 -2
  502. package/{dist/web-components-library/p-4a2b4ad1.entry.js → www/build/p-28928bb6.entry.js} +2 -2
  503. package/www/build/{p-a0231723.entry.js → p-2a7e4988.entry.js} +2 -2
  504. package/www/build/{p-66d70fb4.js → p-2c184714.js} +2 -2
  505. package/www/build/p-304eeab0.js +2 -0
  506. package/www/build/{p-09897132.entry.js → p-324ef970.entry.js} +2 -2
  507. package/{dist/web-components-library/p-90b4d340.entry.js → www/build/p-33eea921.entry.js} +2 -2
  508. package/www/build/p-385bf4ca.entry.js +2 -0
  509. package/www/build/{p-411d929f.entry.js → p-3b266de4.entry.js} +2 -2
  510. package/www/build/{p-2ed68ac5.entry.js → p-4552744b.entry.js} +2 -2
  511. package/www/build/{p-ebdfd7e5.entry.js → p-49e4ce84.entry.js} +2 -2
  512. package/www/build/p-57eee056.entry.js +2 -0
  513. package/www/build/{p-e2997191.entry.js.map → p-57eee056.entry.js.map} +1 -1
  514. package/{dist/web-components-library/p-1efacf4c.entry.js → www/build/p-5a5481be.entry.js} +2 -2
  515. package/www/build/p-6037cdf3.js +2 -0
  516. package/{dist/web-components-library/p-3de034cf.js.map → www/build/p-6037cdf3.js.map} +1 -1
  517. package/{dist/web-components-library/p-65df3290.entry.js → www/build/p-609c11d6.entry.js} +2 -2
  518. package/www/build/p-6319b5e2.entry.js +2 -0
  519. package/{dist/web-components-library/p-467d8a16.entry.js → www/build/p-63e970ee.entry.js} +2 -2
  520. package/{dist/web-components-library/p-7693ae18.entry.js → www/build/p-6586441a.entry.js} +3 -3
  521. package/www/build/p-68822fbc.entry.js +2 -0
  522. package/www/build/{p-493c652a.entry.js → p-6a664748.entry.js} +2 -2
  523. package/www/build/p-6b2cd695.entry.js +2 -0
  524. package/www/build/p-6f4dd02b.entry.js +2 -0
  525. package/www/build/{p-5e45636a.entry.js.map → p-6f4dd02b.entry.js.map} +1 -1
  526. package/www/build/p-74a65c6f.entry.js +2 -0
  527. package/www/build/p-774b449d.js +2 -0
  528. package/{dist/web-components-library/p-dde9f76d.entry.js → www/build/p-77d8ad7e.entry.js} +2 -2
  529. package/{dist/web-components-library/p-2190352b.js → www/build/p-78e52a02.js} +2 -2
  530. package/www/build/p-7d827c11.js +2 -0
  531. package/www/build/{p-5bbb5599.entry.js → p-83350b5f.entry.js} +2 -2
  532. package/www/build/p-83eff308.entry.js +2 -0
  533. package/www/build/p-83eff308.entry.js.map +1 -0
  534. package/www/build/{p-8df46096.entry.js → p-8499a29d.entry.js} +2 -2
  535. package/{dist/web-components-library/p-1501c221.entry.js → www/build/p-85f84e55.entry.js} +2 -2
  536. package/www/build/{p-376208ab.entry.js → p-88e756cd.entry.js} +2 -2
  537. package/www/build/p-89584f19.entry.js +2 -0
  538. package/www/build/{p-b6e14c6b.entry.js.map → p-89584f19.entry.js.map} +1 -1
  539. package/www/build/{p-7ce64686.entry.js → p-8a10fec5.entry.js} +2 -2
  540. package/www/build/p-8a10fec5.entry.js.map +1 -0
  541. package/www/build/{p-214bc293.entry.js → p-8b309268.entry.js} +2 -2
  542. package/www/build/p-8c517cd7.entry.js +2 -0
  543. package/www/build/p-8c517cd7.entry.js.map +1 -0
  544. package/www/build/{p-0c2fdbe5.entry.js → p-8c9f7cef.entry.js} +2 -2
  545. package/www/build/p-8d7323f7.entry.js +2 -0
  546. package/www/build/p-8d7323f7.entry.js.map +1 -0
  547. package/www/build/p-8de7ea6e.js +2 -0
  548. package/www/build/{p-82dc715b.js.map → p-8de7ea6e.js.map} +1 -1
  549. package/www/build/{p-f3272ec6.entry.js → p-91c04edc.entry.js} +2 -2
  550. package/www/build/{p-80359658.entry.js → p-97b0c3b3.entry.js} +2 -2
  551. package/www/build/{p-74e134e6.entry.js → p-99b791d1.entry.js} +2 -2
  552. package/www/build/p-9f2a7cf0.js +2 -0
  553. package/www/build/p-9f2a7cf0.js.map +1 -0
  554. package/{dist/web-components-library/p-63337e8b.entry.js → www/build/p-a4ada10b.entry.js} +2 -2
  555. package/www/build/p-a5781264.entry.js +2 -0
  556. package/{dist/web-components-library/p-14bf4619.entry.js → www/build/p-ad76b8ff.entry.js} +2 -2
  557. package/www/build/p-ae94e377.js +2 -0
  558. package/{dist/web-components-library/p-40e4e3af.js.map → www/build/p-ae94e377.js.map} +1 -1
  559. package/www/build/{p-2c81acaa.entry.js → p-ae96bc09.entry.js} +2 -2
  560. package/www/build/{p-09a9e2ca.entry.js → p-af856537.entry.js} +2 -2
  561. package/{dist/web-components-library/p-7d5983f6.entry.js → www/build/p-b84fa3b6.entry.js} +2 -2
  562. package/www/build/{p-ff4aa84a.entry.js → p-be4878f2.entry.js} +2 -2
  563. package/www/build/p-bf2a057d.entry.js +2 -0
  564. package/www/build/{p-82b845c3.entry.js → p-c0bdbfb5.entry.js} +2 -2
  565. package/www/build/p-c0bdbfb5.entry.js.map +1 -0
  566. package/www/build/{p-464e5886.entry.js → p-c6b269ce.entry.js} +2 -2
  567. package/www/build/{p-1064cb1a.entry.js → p-c90249e5.entry.js} +2 -2
  568. package/www/build/p-cf2640b0.entry.js +2 -0
  569. package/www/build/p-cf2640b0.entry.js.map +1 -0
  570. package/www/build/p-cfa39bd3.js +3 -0
  571. package/www/build/p-cfa39bd3.js.map +1 -0
  572. package/www/build/p-d9e1d8c7.js +2 -0
  573. package/www/build/{p-60dfcfaa.entry.js → p-df05727f.entry.js} +2 -2
  574. package/www/build/p-e0323da3.entry.js +2 -0
  575. package/www/build/{p-810433b1.entry.js → p-e1852de3.entry.js} +2 -2
  576. package/www/build/{p-2010d544.entry.js → p-e366782c.entry.js} +2 -2
  577. package/www/build/{p-f323cc0b.entry.js → p-e5dc0719.entry.js} +2 -2
  578. package/www/build/{p-ea9aa3bb.entry.js → p-f21bc3a9.entry.js} +2 -2
  579. package/{dist/web-components-library/p-a11e1d48.entry.js → www/build/p-f74f9f3c.entry.js} +2 -2
  580. package/www/build/p-f8d45aa4.entry.js +2 -0
  581. package/www/build/{p-c3809d39.entry.js → p-fe87b081.entry.js} +2 -2
  582. package/www/build/web-components-library.esm.js +1 -1
  583. package/www/build/web-components-library.esm.js.map +1 -1
  584. package/www/index.html +1 -1
  585. package/dist/cjs/index-5dc4a8de.js.map +0 -1
  586. package/dist/cjs/index-a83e999c.js.map +0 -1
  587. package/dist/cjs/index-e3835c94.js.map +0 -1
  588. package/dist/esm/index-41ee4016.js +0 -18
  589. package/dist/esm/index-497d9441.js.map +0 -1
  590. package/dist/esm/index-a7f69d42.js.map +0 -1
  591. package/dist/esm/index-ab5f1eaa.js.map +0 -1
  592. package/dist/web-components-library/p-3de034cf.js +0 -2
  593. package/dist/web-components-library/p-40e4e3af.js +0 -2
  594. package/dist/web-components-library/p-4b27ccf0.entry.js +0 -2
  595. package/dist/web-components-library/p-4d1a8ee8.entry.js +0 -2
  596. package/dist/web-components-library/p-4d1a8ee8.entry.js.map +0 -1
  597. package/dist/web-components-library/p-5214f770.entry.js +0 -2
  598. package/dist/web-components-library/p-550b4473.entry.js +0 -2
  599. package/dist/web-components-library/p-5e45636a.entry.js +0 -2
  600. package/dist/web-components-library/p-5e734fd3.entry.js +0 -2
  601. package/dist/web-components-library/p-6f5b7f16.js +0 -2
  602. package/dist/web-components-library/p-6f5b7f16.js.map +0 -1
  603. package/dist/web-components-library/p-737293b2.js +0 -2
  604. package/dist/web-components-library/p-79766609.entry.js +0 -2
  605. package/dist/web-components-library/p-7cba8558.entry.js +0 -2
  606. package/dist/web-components-library/p-7ce64686.entry.js.map +0 -1
  607. package/dist/web-components-library/p-82b845c3.entry.js.map +0 -1
  608. package/dist/web-components-library/p-82dc715b.js +0 -2
  609. package/dist/web-components-library/p-93d39e70.entry.js +0 -2
  610. package/dist/web-components-library/p-b6e14c6b.entry.js +0 -2
  611. package/dist/web-components-library/p-b9078348.js +0 -2
  612. package/dist/web-components-library/p-cc3c02fe.js +0 -3
  613. package/dist/web-components-library/p-cc3c02fe.js.map +0 -1
  614. package/dist/web-components-library/p-e2997191.entry.js +0 -2
  615. package/dist/web-components-library/p-ee290d4c.entry.js +0 -2
  616. package/dist/web-components-library/p-f978d22d.entry.js +0 -2
  617. package/dist/web-components-library/p-fdd176e2.entry.js +0 -2
  618. package/dist/web-components-library/p-feca4075.js +0 -2
  619. package/www/build/p-3de034cf.js +0 -2
  620. package/www/build/p-40e4e3af.js +0 -2
  621. package/www/build/p-4b27ccf0.entry.js +0 -2
  622. package/www/build/p-4d1a8ee8.entry.js +0 -2
  623. package/www/build/p-4d1a8ee8.entry.js.map +0 -1
  624. package/www/build/p-5214f770.entry.js +0 -2
  625. package/www/build/p-550b4473.entry.js +0 -2
  626. package/www/build/p-5e45636a.entry.js +0 -2
  627. package/www/build/p-5e734fd3.entry.js +0 -2
  628. package/www/build/p-6f5b7f16.js +0 -2
  629. package/www/build/p-6f5b7f16.js.map +0 -1
  630. package/www/build/p-737293b2.js +0 -2
  631. package/www/build/p-79766609.entry.js +0 -2
  632. package/www/build/p-7cba8558.entry.js +0 -2
  633. package/www/build/p-7ce64686.entry.js.map +0 -1
  634. package/www/build/p-82b845c3.entry.js.map +0 -1
  635. package/www/build/p-82dc715b.js +0 -2
  636. package/www/build/p-93d39e70.entry.js +0 -2
  637. package/www/build/p-9bd47256.js +0 -2
  638. package/www/build/p-b6e14c6b.entry.js +0 -2
  639. package/www/build/p-b9078348.js +0 -2
  640. package/www/build/p-cc3c02fe.js +0 -3
  641. package/www/build/p-cc3c02fe.js.map +0 -1
  642. package/www/build/p-e2997191.entry.js +0 -2
  643. package/www/build/p-ee290d4c.entry.js +0 -2
  644. package/www/build/p-f978d22d.entry.js +0 -2
  645. package/www/build/p-fdd176e2.entry.js +0 -2
  646. package/www/build/p-feca4075.js +0 -2
  647. /package/dist/web-components-library/{p-5e0acf57.entry.js.map → p-054484d4.entry.js.map} +0 -0
  648. /package/dist/web-components-library/{p-bd75bef4.entry.js.map → p-05e9ae1e.entry.js.map} +0 -0
  649. /package/dist/web-components-library/{p-6c5a8061.entry.js.map → p-12d62027.entry.js.map} +0 -0
  650. /package/dist/web-components-library/{p-726e1059.entry.js.map → p-18690383.entry.js.map} +0 -0
  651. /package/dist/web-components-library/{p-a36045c2.entry.js.map → p-19f8c3d2.entry.js.map} +0 -0
  652. /package/dist/web-components-library/{p-4b27ccf0.entry.js.map → p-1edbac5f.entry.js.map} +0 -0
  653. /package/dist/web-components-library/{p-9ddfcfd4.entry.js.map → p-21b85c7f.entry.js.map} +0 -0
  654. /package/dist/web-components-library/{p-f7180c65.entry.js.map → p-2672e36f.entry.js.map} +0 -0
  655. /package/dist/web-components-library/{p-4a2b4ad1.entry.js.map → p-28928bb6.entry.js.map} +0 -0
  656. /package/dist/web-components-library/{p-a0231723.entry.js.map → p-2a7e4988.entry.js.map} +0 -0
  657. /package/dist/web-components-library/{p-66d70fb4.js.map → p-2c184714.js.map} +0 -0
  658. /package/dist/web-components-library/{p-737293b2.js.map → p-304eeab0.js.map} +0 -0
  659. /package/dist/web-components-library/{p-09897132.entry.js.map → p-324ef970.entry.js.map} +0 -0
  660. /package/dist/web-components-library/{p-90b4d340.entry.js.map → p-33eea921.entry.js.map} +0 -0
  661. /package/dist/web-components-library/{p-7cba8558.entry.js.map → p-385bf4ca.entry.js.map} +0 -0
  662. /package/dist/web-components-library/{p-411d929f.entry.js.map → p-3b266de4.entry.js.map} +0 -0
  663. /package/dist/web-components-library/{p-2ed68ac5.entry.js.map → p-4552744b.entry.js.map} +0 -0
  664. /package/dist/web-components-library/{p-ebdfd7e5.entry.js.map → p-49e4ce84.entry.js.map} +0 -0
  665. /package/dist/web-components-library/{p-1efacf4c.entry.js.map → p-5a5481be.entry.js.map} +0 -0
  666. /package/dist/web-components-library/{p-65df3290.entry.js.map → p-609c11d6.entry.js.map} +0 -0
  667. /package/dist/web-components-library/{p-ee290d4c.entry.js.map → p-6319b5e2.entry.js.map} +0 -0
  668. /package/dist/web-components-library/{p-467d8a16.entry.js.map → p-63e970ee.entry.js.map} +0 -0
  669. /package/dist/web-components-library/{p-7693ae18.entry.js.map → p-6586441a.entry.js.map} +0 -0
  670. /package/dist/web-components-library/{p-5214f770.entry.js.map → p-68822fbc.entry.js.map} +0 -0
  671. /package/dist/web-components-library/{p-493c652a.entry.js.map → p-6a664748.entry.js.map} +0 -0
  672. /package/dist/web-components-library/{p-93d39e70.entry.js.map → p-6b2cd695.entry.js.map} +0 -0
  673. /package/dist/web-components-library/{p-5e734fd3.entry.js.map → p-74a65c6f.entry.js.map} +0 -0
  674. /package/dist/web-components-library/{p-dde9f76d.entry.js.map → p-77d8ad7e.entry.js.map} +0 -0
  675. /package/dist/web-components-library/{p-2190352b.js.map → p-78e52a02.js.map} +0 -0
  676. /package/dist/web-components-library/{p-feca4075.js.map → p-7d827c11.js.map} +0 -0
  677. /package/dist/web-components-library/{p-5bbb5599.entry.js.map → p-83350b5f.entry.js.map} +0 -0
  678. /package/dist/web-components-library/{p-8df46096.entry.js.map → p-8499a29d.entry.js.map} +0 -0
  679. /package/dist/web-components-library/{p-1501c221.entry.js.map → p-85f84e55.entry.js.map} +0 -0
  680. /package/dist/web-components-library/{p-376208ab.entry.js.map → p-88e756cd.entry.js.map} +0 -0
  681. /package/dist/web-components-library/{p-214bc293.entry.js.map → p-8b309268.entry.js.map} +0 -0
  682. /package/dist/web-components-library/{p-0c2fdbe5.entry.js.map → p-8c9f7cef.entry.js.map} +0 -0
  683. /package/dist/web-components-library/{p-f3272ec6.entry.js.map → p-91c04edc.entry.js.map} +0 -0
  684. /package/dist/web-components-library/{p-80359658.entry.js.map → p-97b0c3b3.entry.js.map} +0 -0
  685. /package/dist/web-components-library/{p-74e134e6.entry.js.map → p-99b791d1.entry.js.map} +0 -0
  686. /package/dist/web-components-library/{p-63337e8b.entry.js.map → p-a4ada10b.entry.js.map} +0 -0
  687. /package/dist/web-components-library/{p-550b4473.entry.js.map → p-a5781264.entry.js.map} +0 -0
  688. /package/dist/web-components-library/{p-14bf4619.entry.js.map → p-ad76b8ff.entry.js.map} +0 -0
  689. /package/dist/web-components-library/{p-2c81acaa.entry.js.map → p-ae96bc09.entry.js.map} +0 -0
  690. /package/dist/web-components-library/{p-09a9e2ca.entry.js.map → p-af856537.entry.js.map} +0 -0
  691. /package/dist/web-components-library/{p-7d5983f6.entry.js.map → p-b84fa3b6.entry.js.map} +0 -0
  692. /package/dist/web-components-library/{p-ff4aa84a.entry.js.map → p-be4878f2.entry.js.map} +0 -0
  693. /package/dist/web-components-library/{p-79766609.entry.js.map → p-bf2a057d.entry.js.map} +0 -0
  694. /package/dist/web-components-library/{p-464e5886.entry.js.map → p-c6b269ce.entry.js.map} +0 -0
  695. /package/dist/web-components-library/{p-1064cb1a.entry.js.map → p-c90249e5.entry.js.map} +0 -0
  696. /package/dist/web-components-library/{p-b9078348.js.map → p-d9e1d8c7.js.map} +0 -0
  697. /package/dist/web-components-library/{p-60dfcfaa.entry.js.map → p-df05727f.entry.js.map} +0 -0
  698. /package/dist/web-components-library/{p-f978d22d.entry.js.map → p-e0323da3.entry.js.map} +0 -0
  699. /package/dist/web-components-library/{p-810433b1.entry.js.map → p-e1852de3.entry.js.map} +0 -0
  700. /package/dist/web-components-library/{p-2010d544.entry.js.map → p-e366782c.entry.js.map} +0 -0
  701. /package/dist/web-components-library/{p-f323cc0b.entry.js.map → p-e5dc0719.entry.js.map} +0 -0
  702. /package/dist/web-components-library/{p-ea9aa3bb.entry.js.map → p-f21bc3a9.entry.js.map} +0 -0
  703. /package/dist/web-components-library/{p-a11e1d48.entry.js.map → p-f74f9f3c.entry.js.map} +0 -0
  704. /package/dist/web-components-library/{p-fdd176e2.entry.js.map → p-f8d45aa4.entry.js.map} +0 -0
  705. /package/dist/web-components-library/{p-c3809d39.entry.js.map → p-fe87b081.entry.js.map} +0 -0
  706. /package/www/build/{p-5e0acf57.entry.js.map → p-054484d4.entry.js.map} +0 -0
  707. /package/www/build/{p-bd75bef4.entry.js.map → p-05e9ae1e.entry.js.map} +0 -0
  708. /package/www/build/{p-6c5a8061.entry.js.map → p-12d62027.entry.js.map} +0 -0
  709. /package/www/build/{p-726e1059.entry.js.map → p-18690383.entry.js.map} +0 -0
  710. /package/www/build/{p-a36045c2.entry.js.map → p-19f8c3d2.entry.js.map} +0 -0
  711. /package/www/build/{p-4b27ccf0.entry.js.map → p-1edbac5f.entry.js.map} +0 -0
  712. /package/www/build/{p-9ddfcfd4.entry.js.map → p-21b85c7f.entry.js.map} +0 -0
  713. /package/www/build/{p-f7180c65.entry.js.map → p-2672e36f.entry.js.map} +0 -0
  714. /package/www/build/{p-4a2b4ad1.entry.js.map → p-28928bb6.entry.js.map} +0 -0
  715. /package/www/build/{p-a0231723.entry.js.map → p-2a7e4988.entry.js.map} +0 -0
  716. /package/www/build/{p-66d70fb4.js.map → p-2c184714.js.map} +0 -0
  717. /package/www/build/{p-737293b2.js.map → p-304eeab0.js.map} +0 -0
  718. /package/www/build/{p-09897132.entry.js.map → p-324ef970.entry.js.map} +0 -0
  719. /package/www/build/{p-90b4d340.entry.js.map → p-33eea921.entry.js.map} +0 -0
  720. /package/www/build/{p-7cba8558.entry.js.map → p-385bf4ca.entry.js.map} +0 -0
  721. /package/www/build/{p-411d929f.entry.js.map → p-3b266de4.entry.js.map} +0 -0
  722. /package/www/build/{p-2ed68ac5.entry.js.map → p-4552744b.entry.js.map} +0 -0
  723. /package/www/build/{p-ebdfd7e5.entry.js.map → p-49e4ce84.entry.js.map} +0 -0
  724. /package/www/build/{p-1efacf4c.entry.js.map → p-5a5481be.entry.js.map} +0 -0
  725. /package/www/build/{p-65df3290.entry.js.map → p-609c11d6.entry.js.map} +0 -0
  726. /package/www/build/{p-ee290d4c.entry.js.map → p-6319b5e2.entry.js.map} +0 -0
  727. /package/www/build/{p-467d8a16.entry.js.map → p-63e970ee.entry.js.map} +0 -0
  728. /package/www/build/{p-7693ae18.entry.js.map → p-6586441a.entry.js.map} +0 -0
  729. /package/www/build/{p-5214f770.entry.js.map → p-68822fbc.entry.js.map} +0 -0
  730. /package/www/build/{p-493c652a.entry.js.map → p-6a664748.entry.js.map} +0 -0
  731. /package/www/build/{p-93d39e70.entry.js.map → p-6b2cd695.entry.js.map} +0 -0
  732. /package/www/build/{p-5e734fd3.entry.js.map → p-74a65c6f.entry.js.map} +0 -0
  733. /package/www/build/{p-dde9f76d.entry.js.map → p-77d8ad7e.entry.js.map} +0 -0
  734. /package/www/build/{p-2190352b.js.map → p-78e52a02.js.map} +0 -0
  735. /package/www/build/{p-feca4075.js.map → p-7d827c11.js.map} +0 -0
  736. /package/www/build/{p-5bbb5599.entry.js.map → p-83350b5f.entry.js.map} +0 -0
  737. /package/www/build/{p-8df46096.entry.js.map → p-8499a29d.entry.js.map} +0 -0
  738. /package/www/build/{p-1501c221.entry.js.map → p-85f84e55.entry.js.map} +0 -0
  739. /package/www/build/{p-376208ab.entry.js.map → p-88e756cd.entry.js.map} +0 -0
  740. /package/www/build/{p-214bc293.entry.js.map → p-8b309268.entry.js.map} +0 -0
  741. /package/www/build/{p-0c2fdbe5.entry.js.map → p-8c9f7cef.entry.js.map} +0 -0
  742. /package/www/build/{p-f3272ec6.entry.js.map → p-91c04edc.entry.js.map} +0 -0
  743. /package/www/build/{p-80359658.entry.js.map → p-97b0c3b3.entry.js.map} +0 -0
  744. /package/www/build/{p-74e134e6.entry.js.map → p-99b791d1.entry.js.map} +0 -0
  745. /package/www/build/{p-63337e8b.entry.js.map → p-a4ada10b.entry.js.map} +0 -0
  746. /package/www/build/{p-550b4473.entry.js.map → p-a5781264.entry.js.map} +0 -0
  747. /package/www/build/{p-14bf4619.entry.js.map → p-ad76b8ff.entry.js.map} +0 -0
  748. /package/www/build/{p-2c81acaa.entry.js.map → p-ae96bc09.entry.js.map} +0 -0
  749. /package/www/build/{p-09a9e2ca.entry.js.map → p-af856537.entry.js.map} +0 -0
  750. /package/www/build/{p-7d5983f6.entry.js.map → p-b84fa3b6.entry.js.map} +0 -0
  751. /package/www/build/{p-ff4aa84a.entry.js.map → p-be4878f2.entry.js.map} +0 -0
  752. /package/www/build/{p-79766609.entry.js.map → p-bf2a057d.entry.js.map} +0 -0
  753. /package/www/build/{p-464e5886.entry.js.map → p-c6b269ce.entry.js.map} +0 -0
  754. /package/www/build/{p-1064cb1a.entry.js.map → p-c90249e5.entry.js.map} +0 -0
  755. /package/www/build/{p-b9078348.js.map → p-d9e1d8c7.js.map} +0 -0
  756. /package/www/build/{p-60dfcfaa.entry.js.map → p-df05727f.entry.js.map} +0 -0
  757. /package/www/build/{p-f978d22d.entry.js.map → p-e0323da3.entry.js.map} +0 -0
  758. /package/www/build/{p-810433b1.entry.js.map → p-e1852de3.entry.js.map} +0 -0
  759. /package/www/build/{p-2010d544.entry.js.map → p-e366782c.entry.js.map} +0 -0
  760. /package/www/build/{p-f323cc0b.entry.js.map → p-e5dc0719.entry.js.map} +0 -0
  761. /package/www/build/{p-ea9aa3bb.entry.js.map → p-f21bc3a9.entry.js.map} +0 -0
  762. /package/www/build/{p-a11e1d48.entry.js.map → p-f74f9f3c.entry.js.map} +0 -0
  763. /package/www/build/{p-fdd176e2.entry.js.map → p-f8d45aa4.entry.js.map} +0 -0
  764. /package/www/build/{p-c3809d39.entry.js.map → p-fe87b081.entry.js.map} +0 -0
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-e801ae96.js');
6
+
7
+ const stylesCss = ":host,::slotted(*),*{box-sizing:border-box}:host{position:relative;display:inline-flex;flex-direction:column;--z-menu-label-color:var(--color-default-text)}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{padding:0;border:0;margin:0;background:transparent;border-radius:0;color:inherit;outline:none;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-within{z-index:1;padding-right:calc(var(--space-unit) * 0.5);padding-left:calc(var(--space-unit) * 0.5);margin-right:calc(var(--space-unit) * -0.5);margin-left:calc(var(--space-unit) * -0.5);box-shadow:var(--shadow-focus-primary)}.menu-label .menu-label-content{position:relative;display:flex;align-items:center}:host(:is([active],[open])) .menu-label-content,.menu-label:focus-within .menu-label-content{font-weight:var(--font-bd)}:host(:is([active],[open])) .menu-label-content ::slotted(*),.menu-label:focus-within .menu-label-content ::slotted(*){letter-spacing:normal}:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible){box-shadow:none !important}:host(:is([active],[open],[vertical-context])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{position:absolute;bottom:0;left:0;width:100%;content:\"\";pointer-events:none}:host([vertical-context]) .menu-label-content::after{height:var(--border-size-small);background-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{height:var(--border-size-large);background-color:var(--color-secondary01)}::slotted([data-text])::after{height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}::slotted([data-text]){display:inline-flex;flex-direction:column}.menu-label .menu-label-content ::slotted(*){display:inline-flex;width:100%;margin:0;appearance:none;color:var(--z-menu-label-color);font-family:var(--font-family-sans);font-size:var(--font-size-5);font-weight:inherit;letter-spacing:0.36px;line-height:1.2;outline:none}.menu-label .menu-label-content ::slotted(*),.menu-label .menu-label-content z-icon{padding:var(--space-unit) 0}.menu-label .menu-label-content z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:currentcolor}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot=\"header\"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot=\"header\"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot=\"item\"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25;outline:none}.items>::slotted([slot=\"item\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot=\"item\"]:not(z-menu-section)){padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--color-surface05)}.items>::slotted([slot=\"item\"]:hover),.items>::slotted([slot=\"item\"]:focus:focus-visible),.items>::slotted([slot=\"item\"]:active){border-color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
+ const ZMenuDeprecatedStyle0 = stylesCss;
9
+
10
+ const ZMenuDeprecated = class {
11
+ toggle() {
12
+ if (!this.hasContent) {
13
+ return;
14
+ }
15
+ this.open = !this.open;
16
+ this.open ? this.opened.emit() : this.closed.emit();
17
+ }
18
+ /** Close the floating list when a click is performed outside of this Element. */
19
+ handleClick(ev) {
20
+ if (!this.floating || !this.open || this.hostElement.contains(ev.target)) {
21
+ return;
22
+ }
23
+ this.reflow();
24
+ this.open = false;
25
+ this.closed.emit();
26
+ }
27
+ onOpenChanged() {
28
+ if (this.open) {
29
+ this.reflow(true);
30
+ }
31
+ else {
32
+ cancelAnimationFrame(this.raf);
33
+ }
34
+ }
35
+ constructor(hostRef) {
36
+ index.registerInstance(this, hostRef);
37
+ this.opened = index.createEvent(this, "opened", 7);
38
+ this.closed = index.createEvent(this, "closed", 7);
39
+ this.active = undefined;
40
+ this.floating = false;
41
+ this.open = false;
42
+ this.verticalContext = false;
43
+ this.hasHeader = undefined;
44
+ this.hasContent = undefined;
45
+ this.toggle = this.toggle.bind(this);
46
+ this.checkContent = this.checkContent.bind(this);
47
+ this.onLabelSlotChange = this.onLabelSlotChange.bind(this);
48
+ this.onItemsChange = this.onItemsChange.bind(this);
49
+ }
50
+ componentWillLoad() {
51
+ this.checkContent();
52
+ }
53
+ /**
54
+ * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.
55
+ * @param ev Slotchange event
56
+ */
57
+ onLabelSlotChange(ev) {
58
+ const labelElement = ev.target.assignedElements()[0];
59
+ labelElement.dataset.text = labelElement === null || labelElement === void 0 ? void 0 : labelElement.textContent;
60
+ }
61
+ /**
62
+ * Correctly set position of the floating menu in order to prevent overflow.
63
+ * @param live Should run the method on every refresh frame.
64
+ */
65
+ reflow(live = false) {
66
+ if (this.content) {
67
+ const { style } = this.content;
68
+ const { left } = this.hostElement.getBoundingClientRect();
69
+ const widthPx = getComputedStyle(this.content).width;
70
+ const width = widthPx ? parseFloat(widthPx.replace("px", "")) : 375;
71
+ const safeScrollbarSpace = 30;
72
+ style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;
73
+ }
74
+ if (live) {
75
+ this.raf = requestAnimationFrame(this.reflow.bind(this, live));
76
+ }
77
+ }
78
+ /**
79
+ * Check if some content slot is set.
80
+ */
81
+ checkContent() {
82
+ this.hasHeader = !!this.hostElement.querySelectorAll("[slot=header]").length;
83
+ this.hasContent = !!this.hostElement.querySelectorAll("[slot=item]").length || this.hasHeader;
84
+ }
85
+ /**
86
+ * Set `menuitem` role to all menu items.
87
+ * Set the item's inner text to the `data-text` attribute (this is for using bold text avoiding layout shifts).
88
+ */
89
+ onItemsChange() {
90
+ this.checkContent();
91
+ const items = this.hostElement.querySelectorAll("[slot=item]");
92
+ items.forEach((item) => {
93
+ item.setAttribute("role", "menuitem");
94
+ item.dataset.text = item.textContent;
95
+ });
96
+ }
97
+ renderMenuLabel() {
98
+ if (this.hasContent) {
99
+ return (index.h("button", { class: "menu-label", "aria-expanded": this.open ? "true" : "false", "aria-label": this.open ? "Chiudi menù" : "Apri menù", onClick: this.toggle }, index.h("div", { class: "menu-label-content" }, index.h("slot", { onSlotchange: this.onLabelSlotChange }), index.h("z-icon", { name: this.open ? "chevron-up" : "chevron-down" }))));
100
+ }
101
+ return (index.h("div", { class: "menu-label" }, index.h("div", { class: "menu-label-content" }, index.h("slot", { onSlotchange: this.onLabelSlotChange }))));
102
+ }
103
+ render() {
104
+ return (index.h(index.Host, { key: '3db9cc8073a46a7160e9cdd10ca8e56017fa17e3' }, this.renderMenuLabel(), this.hasContent && (index.h("div", { key: '1ba60c68bbb101a557bab3609640b6f0729b0791', class: "content", ref: (el) => (this.content = el) }, this.hasHeader && (index.h("header", { key: '08a6e9093b5f38d61ad5dc7c52749df71de26218', class: "header" }, index.h("slot", { key: '3c0cc8a49f9d83ca592f144d2e63e3bbb82f44a8', name: "header", onSlotchange: this.checkContent }))), index.h("div", { key: '2f8d351c4fd22ff30d6f6d1899e5c3f5875b2cc5', class: "items", role: "menu" }, index.h("slot", { key: '4f411874aea00060bc7a1333bfed808c92d96bdd', name: "item", onSlotchange: this.onItemsChange }))))));
105
+ }
106
+ get hostElement() { return index.getElement(this); }
107
+ static get watchers() { return {
108
+ "open": ["onOpenChanged"]
109
+ }; }
110
+ };
111
+ ZMenuDeprecated.style = ZMenuDeprecatedStyle0;
112
+
113
+ exports.z_menu_deprecated = ZMenuDeprecated;
114
+
115
+ //# sourceMappingURL=z-menu-deprecated.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"z-menu-deprecated.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/deprecated/z-menu-deprecated/styles.css?tag=z-menu-deprecated&encapsulation=shadow","src/components/deprecated/z-menu-deprecated/index.tsx"],"sourcesContent":[":host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n:host {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n\n --z-menu-label-color: var(--color-default-text);\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.menu-label {\n padding: 0;\n border: 0;\n margin: 0;\n background: transparent;\n border-radius: 0;\n color: inherit;\n outline: none;\n text-align: left;\n}\n\nbutton.menu-label {\n cursor: pointer;\n}\n\n.menu-label:focus-within {\n z-index: 1;\n padding-right: calc(var(--space-unit) * 0.5);\n padding-left: calc(var(--space-unit) * 0.5);\n margin-right: calc(var(--space-unit) * -0.5);\n margin-left: calc(var(--space-unit) * -0.5);\n box-shadow: var(--shadow-focus-primary);\n}\n\n.menu-label .menu-label-content {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n:host(:is([active], [open])) .menu-label-content,\n.menu-label:focus-within .menu-label-content {\n font-weight: var(--font-bd);\n}\n\n:host(:is([active], [open])) .menu-label-content ::slotted(*),\n.menu-label:focus-within .menu-label-content ::slotted(*) {\n letter-spacing: normal;\n}\n\n:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible) {\n box-shadow: none !important;\n}\n\n/* border */\n:host(:is([active], [open], [vertical-context])) .menu-label .menu-label-content::after,\n.menu-label .menu-label-content:hover::after,\n.menu-label:focus-within .menu-label-content::after {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n content: \"\";\n pointer-events: none;\n}\n\n:host([vertical-context]) .menu-label-content::after {\n height: var(--border-size-small);\n background-color: var(--color-surface03);\n}\n\n:host(:is([active], [open])) .menu-label .menu-label-content::after,\n.menu-label .menu-label-content:hover::after,\n.menu-label:focus-within .menu-label-content::after {\n height: var(--border-size-large);\n background-color: var(--color-secondary01);\n}\n\n/* Prevents layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n letter-spacing: normal;\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n.menu-label .menu-label-content ::slotted(*) {\n display: inline-flex;\n width: 100%;\n margin: 0;\n appearance: none;\n color: var(--z-menu-label-color);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-5);\n font-weight: inherit;\n letter-spacing: 0.36px; /* increasing the letter spacing of the regular text helps reduce the size difference between regular and bold text */\n line-height: 1.2;\n outline: none;\n}\n\n.menu-label .menu-label-content ::slotted(*),\n.menu-label .menu-label-content z-icon {\n padding: var(--space-unit) 0;\n}\n\n.menu-label .menu-label-content z-icon {\n margin-left: calc(var(--space-unit) * 1.5);\n fill: currentcolor;\n}\n\n.content {\n background: var(--color-surface01);\n}\n\n:host(:not([open])) .content {\n display: none;\n}\n\n:host([floating]) .content {\n position: absolute;\n top: 100%;\n left: 0;\n width: 375px;\n min-width: 100%;\n max-width: 100vw;\n padding: var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);\n box-shadow: var(--shadow-2);\n}\n\n:host(:not([floating])) .content {\n width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n padding: var(--space-unit) 0 calc(var(--space-unit) * 2);\n}\n\n.header ::slotted(img[slot=\"header\"]) {\n width: calc(var(--space-unit) * 11.25);\n height: auto;\n object-fit: contain;\n}\n\n.header ::slotted([slot=\"header\"]:not(:first-child)) {\n margin: auto 0;\n margin-left: calc(var(--space-unit) * 2.5);\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n line-height: 1.5;\n}\n\n.items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: inherit;\n}\n\n.items > ::slotted([slot=\"item\"]) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n outline: none;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.items > ::slotted([slot=\"item\"]:not(z-menu-section)) {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"]:active) {\n border-color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\n\n/**\n * @slot - Menu label\n * @slot header - Header to display as the first entry of the open menu.\n * @slot item - Single entry of the section. Can be slotted multiple times to insert items onto the menu. Use `z-menu-section` for submenus.\n * @cssprop --z-menu-label-color - Color of the label's text.\n */\n@Component({\n tag: \"z-menu-deprecated\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuDeprecated {\n @Element() hostElement: HTMLZMenuDeprecatedElement;\n\n /** Flag to set the active status of the menu. */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Flag to set the display mode of the list.\n * If true, the list will be absolutely positioned under the menu label,\n * stacked beneath it otherwise.\n */\n @Prop({reflect: true})\n floating? = false;\n\n /** The opening state of the menu. */\n @Prop({mutable: true, reflect: true})\n open = false;\n\n /**\n * Tells the component that it's placed in a vertical context with other `ZMenu`s (e.g. in the ZAppHeader's offcanvas).\n * A small border is placed under it as a separator from other elements.\n */\n @Prop({reflect: true})\n verticalContext = false;\n\n @State()\n hasHeader: boolean;\n\n @State()\n hasContent: boolean;\n\n private content: HTMLElement;\n\n /** Animation frame request id. */\n private raf: number;\n\n /** The menu has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The menu has been closed. */\n @Event()\n closed: EventEmitter;\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the floating list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.floating || !this.open || this.hostElement.contains(ev.target as Element)) {\n return;\n }\n\n this.reflow();\n this.open = false;\n this.closed.emit();\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n if (this.open) {\n this.reflow(true);\n } else {\n cancelAnimationFrame(this.raf);\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.checkContent = this.checkContent.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n }\n\n /**\n * Correctly set position of the floating menu in order to prevent overflow.\n * @param live Should run the method on every refresh frame.\n */\n private reflow(live = false): void {\n if (this.content) {\n const {style} = this.content;\n const {left} = this.hostElement.getBoundingClientRect();\n const widthPx = getComputedStyle(this.content).width;\n const width = widthPx ? parseFloat(widthPx.replace(\"px\", \"\")) : 375;\n const safeScrollbarSpace = 30;\n style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;\n }\n if (live) {\n this.raf = requestAnimationFrame(this.reflow.bind(this, live));\n }\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasHeader = !!this.hostElement.querySelectorAll(\"[slot=header]\").length;\n this.hasContent = !!this.hostElement.querySelectorAll(\"[slot=item]\").length || this.hasHeader;\n }\n\n /**\n * Set `menuitem` role to all menu items.\n * Set the item's inner text to the `data-text` attribute (this is for using bold text avoiding layout shifts).\n */\n private onItemsChange(): void {\n this.checkContent();\n const items = this.hostElement.querySelectorAll<HTMLElement>(\"[slot=item]\");\n items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.dataset.text = item.textContent;\n });\n }\n\n private renderMenuLabel(): HTMLButtonElement | HTMLDivElement {\n if (this.hasContent) {\n return (\n <button\n class=\"menu-label\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-label={this.open ? \"Chiudi menù\" : \"Apri menù\"}\n onClick={this.toggle}\n >\n <div class=\"menu-label-content\">\n <slot onSlotchange={this.onLabelSlotChange}></slot>\n <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />\n </div>\n </button>\n );\n }\n\n return (\n <div class=\"menu-label\">\n <div class=\"menu-label-content\">\n <slot onSlotchange={this.onLabelSlotChange}></slot>\n </div>\n </div>\n );\n }\n\n render(): HTMLZMenuElement {\n return (\n <Host>\n {this.renderMenuLabel()}\n\n {this.hasContent && (\n <div\n class=\"content\"\n ref={(el) => (this.content = el)}\n >\n {this.hasHeader && (\n <header class=\"header\">\n <slot\n name=\"header\"\n onSlotchange={this.checkContent}\n ></slot>\n </header>\n )}\n\n <div\n class=\"items\"\n role=\"menu\"\n >\n <slot\n name=\"item\"\n onSlotchange={this.onItemsChange}\n ></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-e801ae96.js');
6
+
7
+ const stylesCss = ":host{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;font-family:var(--font-family-sans)}:host,::slotted(*),*{box-sizing:border-box}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host(:is([active],[open])) .label,.label:hover{border-color:var(--color-secondary01)}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}.label{display:flex;width:100%;align-items:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);border:0;border-bottom:var(--border-size-small) solid var(--color-surface05);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}::slotted([data-text]){display:inline-flex;flex-direction:column}::slotted([data-text])::after{overflow:hidden;height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}.label ::slotted(*){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.label z-icon{margin-left:calc(var(--space-unit) * 4);fill:var(--color-default-icon)}.items{display:flex;width:100%;flex-direction:column;padding:calc(var(--space-unit) / 2);padding-bottom:calc(var(--space-unit) * 1.5)}.items>::slotted([slot=\"item\"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-2);line-height:1.4;outline:none}.items>::slotted([slot=\"item\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-secondary01)}.items>::slotted([slot=\"item\"]:hover),.items>::slotted([slot=\"item\"]:focus:focus-visible),.items>::slotted([slot=\"item\"][active]){color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
+ const ZMenuSectionDeprecatedStyle0 = stylesCss;
9
+
10
+ const ZMenuSectionDeprecated = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.opened = index.createEvent(this, "opened", 7);
14
+ this.closed = index.createEvent(this, "closed", 7);
15
+ this.active = undefined;
16
+ this.open = undefined;
17
+ this.hasContent = undefined;
18
+ }
19
+ toggle() {
20
+ if (!this.hasContent) {
21
+ return;
22
+ }
23
+ this.open = !this.open;
24
+ this.open ? this.opened.emit() : this.closed.emit();
25
+ }
26
+ /** Close the list when a click is performed outside of this Element. */
27
+ handleClick(ev) {
28
+ if (!this.open || this.hostElement.contains(ev.target)) {
29
+ return;
30
+ }
31
+ this.open = false;
32
+ this.closed.emit();
33
+ }
34
+ /**
35
+ * Check if some content slot is set.
36
+ */
37
+ checkContent() {
38
+ this.hasContent = this.hostElement.querySelectorAll('[slot="item"]').length > 0;
39
+ }
40
+ /**
41
+ * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.
42
+ * @param ev Slotchange event
43
+ */
44
+ onLabelSlotChange(ev) {
45
+ const labelElement = ev.target.assignedElements()[0];
46
+ labelElement.dataset.text = (labelElement === null || labelElement === void 0 ? void 0 : labelElement.innerText) || null;
47
+ }
48
+ componentWillLoad() {
49
+ this.checkContent();
50
+ }
51
+ render() {
52
+ return (index.h(index.Host, { key: '9f5e6272fec856fc30b8f00632105cf2d41f53cc', role: "menu", open: this.open }, index.h("button", { key: '31fbf5069fe344a43e5835f14459300dcf3359ac', class: "label", "aria-pressed": this.open ? "true" : "false", onClick: this.toggle.bind(this) }, index.h("slot", { key: '789bf049b23b099e4fb07f12a3fa5a80a221f833', onSlotchange: this.onLabelSlotChange.bind(this) }), this.hasContent && index.h("z-icon", { key: 'ffc7213860bca2db3fc12d575aaf26a0c598caaa', name: this.open ? "chevron-up" : "chevron-down" })), this.open && (index.h("div", { key: '14cc6b2bb5f80030df79598464af61c4e375293b', class: "items" }, index.h("slot", { key: '830b84cf4ce1028c7cfed3ec5051f206f742e66f', name: "item", onSlotchange: this.checkContent.bind(this) })))));
53
+ }
54
+ get hostElement() { return index.getElement(this); }
55
+ };
56
+ ZMenuSectionDeprecated.style = ZMenuSectionDeprecatedStyle0;
57
+
58
+ exports.z_menu_section_deprecated = ZMenuSectionDeprecated;
59
+
60
+ //# sourceMappingURL=z-menu-section-deprecated.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"z-menu-section-deprecated.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,88DAA88D,CAAC;AACj+D,qCAAe,SAAS;;MCWX,sBAAsB;;;;;;;;;IAqBzB,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACrD;;IAID,WAAW,CAAC,EAAc;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAc,CAAC,EAAE;YAC9D,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;;;;IAKO,YAAY;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACjF;;;;;IAMO,iBAAiB,CAAC,EAAS;QACjC,MAAM,YAAY,GAAI,EAAE,CAAC,MAA0B,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAgB,CAAC;QACzF,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,KAAI,IAAI,CAAC;KAC7D;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,qDACH,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAEfD,qEACE,KAAK,EAAC,OAAO,kBACC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAE/BA,mEAAM,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAS,EAC7D,IAAI,CAAC,UAAU,IAAIA,qEAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,YAAY,GAAG,cAAc,GAAI,CACxE,EACR,IAAI,CAAC,IAAI,KACRA,kEAAK,KAAK,EAAC,OAAO,IAChBA,mEACE,IAAI,EAAC,MAAM,EACX,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GACpC,CACJ,CACP,CACI,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/deprecated/z-menu-section-deprecated/styles.css?tag=z-menu-section-deprecated&encapsulation=shadow","src/components/deprecated/z-menu-section-deprecated/index.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host(:is([active], [open])) .label,\n.label:hover {\n border-color: var(--color-secondary01);\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items > ::slotted([slot=\"item\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-2);\n line-height: 1.4;\n outline: none;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-secondary01);\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"][active]) {\n color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot item - Single entry of the section. Set the same slot name to different items to put many of them. Add the `active` attribute to a slotted item to highlight it.\n */\n@Component({\n tag: \"z-menu-section-deprecated\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSectionDeprecated {\n @Element() hostElement: HTMLZMenuSectionDeprecatedElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n @State()\n open: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.open || this.hostElement.contains(ev.target as Node)) {\n return;\n }\n\n this.open = false;\n this.closed.emit();\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasContent = this.hostElement.querySelectorAll('[slot=\"item\"]').length > 0;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.innerText || null;\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host\n role=\"menu\"\n open={this.open}\n >\n <button\n class=\"label\"\n aria-pressed={this.open ? \"true\" : \"false\"}\n onClick={this.toggle.bind(this)}\n >\n <slot onSlotchange={this.onLabelSlotChange.bind(this)}></slot>\n {this.hasContent && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n {this.open && (\n <div class=\"items\">\n <slot\n name=\"item\"\n onSlotchange={this.checkContent.bind(this)}\n ></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,9 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-5dc4a8de.js');
5
+ const index = require('./index-e801ae96.js');
6
+ const index$1 = require('./index-bab7a651.js');
6
7
 
7
- const stylesCss = ":host{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;font-family:var(--font-family-sans)}:host,::slotted(*),*{box-sizing:border-box}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host(:is([active],[open])) .label,.label:hover{border-color:var(--color-secondary01)}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}.label{display:flex;width:100%;align-items:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);border:0;border-bottom:var(--border-size-small) solid var(--color-surface05);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}::slotted([data-text]){display:inline-flex;flex-direction:column}::slotted([data-text])::after{overflow:hidden;height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}.label ::slotted(*){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.label z-icon{margin-left:calc(var(--space-unit) * 4);fill:var(--color-default-icon)}.items{display:flex;width:100%;flex-direction:column;padding:calc(var(--space-unit) / 2);padding-bottom:calc(var(--space-unit) * 1.5)}.items>::slotted([slot=\"item\"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-2);line-height:1.4;outline:none}.items>::slotted([slot=\"item\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-secondary01)}.items>::slotted([slot=\"item\"]:hover),.items>::slotted([slot=\"item\"]:focus:focus-visible),.items>::slotted([slot=\"item\"][active]){color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
+ const stylesCss = ":host{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;font-family:var(--font-family-sans)}:host,::slotted(*),*{box-sizing:border-box}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host(:is([active],[open])) .label,.label:hover{border-color:var(--color-secondary01)}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}.label{display:flex;width:100%;align-items:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);border:0;border-bottom:var(--border-size-small) solid var(--color-surface05);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}::slotted([data-text]){display:inline-flex;flex-direction:column}::slotted([data-text])::after{overflow:hidden;height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}.label ::slotted(*){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}.label z-icon{margin-left:calc(var(--space-unit) * 4);fill:var(--color-default-icon)}.items{display:flex;width:100%;flex-direction:column;padding:calc(var(--space-unit) / 2);padding-bottom:calc(var(--space-unit) * 1.5)}.items>::slotted([slot=\"section\"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-2);line-height:1.4;outline:none}.items>::slotted([slot=\"section\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-secondary01)}.items>::slotted([slot=\"section\"]:hover),.items>::slotted([slot=\"section\"]:focus:focus-visible),.items>::slotted([slot=\"section\"][active]){color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
9
  const ZMenuSectionStyle0 = stylesCss;
9
10
 
10
11
  const ZMenuSection = class {
@@ -12,10 +13,90 @@ const ZMenuSection = class {
12
13
  index.registerInstance(this, hostRef);
13
14
  this.opened = index.createEvent(this, "opened", 7);
14
15
  this.closed = index.createEvent(this, "closed", 7);
16
+ this.currentIndex = -1;
17
+ this.currentCanvasOpenStatus = false;
15
18
  this.active = undefined;
16
19
  this.open = undefined;
17
20
  this.hasContent = undefined;
18
21
  }
22
+ canvasOpenStatusChanged(e) {
23
+ this.currentCanvasOpenStatus = e.detail;
24
+ }
25
+ handleKeyDown(e) {
26
+ if (e.code === index$1.KeyboardCode.ENTER) {
27
+ return;
28
+ }
29
+ if (this.open && !this.currentCanvasOpenStatus) {
30
+ this.handleNavigationSideArrow(e);
31
+ }
32
+ this.handleArrowsNav(e);
33
+ }
34
+ handleNavigationSideArrow(e) {
35
+ if (e.code !== index$1.KeyboardCode.ARROW_RIGHT && e.code !== index$1.KeyboardCode.ARROW_LEFT) {
36
+ return;
37
+ }
38
+ if (e.code === index$1.KeyboardCode.ARROW_RIGHT) {
39
+ const nextElement = this.hostElement.parentElement.nextElementSibling;
40
+ if (nextElement) {
41
+ const menuButton = nextElement.shadowRoot.querySelector(".menu-label");
42
+ console.log(this.hostElement.parentElement);
43
+ menuButton.focus();
44
+ }
45
+ this.open = false;
46
+ nextElement.setAttribute("open", "true");
47
+ }
48
+ else if (e.code === index$1.KeyboardCode.ARROW_LEFT) {
49
+ const prevElement = this.hostElement.parentElement.previousElementSibling;
50
+ if (prevElement) {
51
+ const menuButton = prevElement.shadowRoot.querySelector(".menu-label");
52
+ menuButton.focus();
53
+ }
54
+ prevElement.setAttribute("open", "true");
55
+ this.open = false;
56
+ }
57
+ }
58
+ handleArrowsNav(e) {
59
+ const menuItems = Array.from(this.hostElement.querySelectorAll('[slot="section"]'));
60
+ if (this.open) {
61
+ e.preventDefault();
62
+ e.stopPropagation();
63
+ if (e.code === index$1.KeyboardCode.ARROW_DOWN || e.code === index$1.KeyboardCode.ARROW_UP) {
64
+ let nextFocusableItem;
65
+ // INFO: reset focus on all menu items
66
+ menuItems.forEach((item) => item.setAttribute("tabindex", "-1"));
67
+ if (e.code === index$1.KeyboardCode.ARROW_DOWN) {
68
+ nextFocusableItem = this.getNextItem(menuItems, 1);
69
+ }
70
+ else if (e.code === index$1.KeyboardCode.ARROW_UP) {
71
+ nextFocusableItem = this.getNextItem(menuItems, -1);
72
+ }
73
+ if (nextFocusableItem) {
74
+ nextFocusableItem.setAttribute("tabindex", "0");
75
+ nextFocusableItem.focus();
76
+ }
77
+ }
78
+ else if (e.code === index$1.KeyboardCode.ESC) {
79
+ this.focusToParentAndCloseMenu();
80
+ }
81
+ else if (e.shiftKey && e.code === index$1.KeyboardCode.TAB) {
82
+ this.focusToParentAndCloseMenu();
83
+ }
84
+ }
85
+ }
86
+ getNextItem(menuItems, direction) {
87
+ if (this.currentIndex === -1) {
88
+ this.currentIndex = direction === 1 ? 0 : menuItems.length - 1;
89
+ return menuItems[this.currentIndex];
90
+ }
91
+ this.currentIndex = (this.currentIndex + direction + menuItems.length) % menuItems.length;
92
+ return menuItems[this.currentIndex];
93
+ }
94
+ focusToParentAndCloseMenu() {
95
+ const menuButton = this.hostElement.shadowRoot.querySelector("button");
96
+ menuButton.focus();
97
+ this.currentIndex = -1;
98
+ this.open = false;
99
+ }
19
100
  toggle() {
20
101
  if (!this.hasContent) {
21
102
  return;
@@ -35,7 +116,7 @@ const ZMenuSection = class {
35
116
  * Check if some content slot is set.
36
117
  */
37
118
  checkContent() {
38
- this.hasContent = this.hostElement.querySelectorAll('[slot="item"]').length > 0;
119
+ this.hasContent = this.hostElement.querySelectorAll('[slot="section"]').length > 0;
39
120
  }
40
121
  /**
41
122
  * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.
@@ -45,11 +126,18 @@ const ZMenuSection = class {
45
126
  const labelElement = ev.target.assignedElements()[0];
46
127
  labelElement.dataset.text = (labelElement === null || labelElement === void 0 ? void 0 : labelElement.innerText) || null;
47
128
  }
129
+ focusFirstSectionItemOnKeyUp() {
130
+ const firstElement = this.hostElement.querySelectorAll('[slot="section"]')[0];
131
+ if (firstElement) {
132
+ firstElement.focus();
133
+ this.currentIndex = 0;
134
+ }
135
+ }
48
136
  componentWillLoad() {
49
137
  this.checkContent();
50
138
  }
51
139
  render() {
52
- return (index.h(index.Host, { key: '7261f7c68d7e097fe0a70e6f8c0b513958605dbd', role: "menu", open: this.open }, index.h("button", { key: '74fd64a789a7f9ea93ec118dc2978809e70c5312', class: "label", "aria-pressed": this.open ? "true" : "false", onClick: this.toggle.bind(this) }, index.h("slot", { key: 'b8e32ae6fc27571d5318eb71ceddea6d87ca3ffa', onSlotchange: this.onLabelSlotChange.bind(this) }), this.hasContent && index.h("z-icon", { key: '5500c12ff4f374564c03e887a69ceba287a8d577', name: this.open ? "chevron-up" : "chevron-down" })), this.open && (index.h("div", { key: 'ff66588a6fa8fe8968ec9d7e12d6fac3bb1bb45f', class: "items" }, index.h("slot", { key: 'de19fdba5a89f0a048b6f8e824feacaa80bbe3fc', name: "item", onSlotchange: this.checkContent.bind(this) })))));
140
+ return (index.h(index.Host, { key: '1370ec8c9379a204ed8bfb387ef53f6ad976ce0f', role: "menu", open: this.open }, index.h("button", { key: '4a474f4f47b9f72f3621a4c1f043f287ebf98d66', class: "label", "aria-pressed": this.open ? "true" : "false", onClick: this.toggle.bind(this), onKeyUp: this.focusFirstSectionItemOnKeyUp.bind(this) }, index.h("slot", { key: '1332d96212421fd936b1ee1e295c856219bfb1cc', onSlotchange: this.onLabelSlotChange.bind(this) }), this.hasContent && index.h("z-icon", { key: '04b94f8f22bd56d16f7cdb3f394024c5726435e5', name: this.open ? "chevron-up" : "chevron-down" })), this.open && (index.h("div", { key: '01353c9f9b57cce04361849e79c3264f5f106472', class: "items" }, index.h("slot", { key: '29379c69dff6189d4226246eb859dad6c67ca0ec', name: "section", onSlotchange: this.checkContent.bind(this) })))));
53
141
  }
54
142
  get hostElement() { return index.getElement(this); }
55
143
  };
@@ -1 +1 @@
1
- {"file":"z-menu-section.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,88DAA88D,CAAC;AACj+D,2BAAe,SAAS;;MCWX,YAAY;;;;;;;;;IAqBf,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACrD;;IAID,WAAW,CAAC,EAAc;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAc,CAAC,EAAE;YAC9D,OAAO;SACR;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;;;;IAKO,YAAY;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACjF;;;;;IAMO,iBAAiB,CAAC,EAAS;QACjC,MAAM,YAAY,GAAI,EAAE,CAAC,MAA0B,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAgB,CAAC;QACzF,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,KAAI,IAAI,CAAC;KAC7D;IAED,iBAAiB;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAED,MAAM;QACJ,QACEA,QAACC,UAAI,qDACH,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAEfD,qEACE,KAAK,EAAC,OAAO,kBACC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAE/BA,mEAAM,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAS,EAC7D,IAAI,CAAC,UAAU,IAAIA,qEAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,YAAY,GAAG,cAAc,GAAI,CACxE,EACR,IAAI,CAAC,IAAI,KACRA,kEAAK,KAAK,EAAC,OAAO,IAChBA,mEACE,IAAI,EAAC,MAAM,EACX,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GACpC,CACJ,CACP,CACI,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host(:is([active], [open])) .label,\n.label:hover {\n border-color: var(--color-secondary01);\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items > ::slotted([slot=\"item\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-2);\n line-height: 1.4;\n outline: none;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-secondary01);\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"][active]) {\n color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot item - Single entry of the section. Set the same slot name to different items to put many of them. Add the `active` attribute to a slotted item to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() hostElement: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n @State()\n open: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.open || this.hostElement.contains(ev.target as Node)) {\n return;\n }\n\n this.open = false;\n this.closed.emit();\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasContent = this.hostElement.querySelectorAll('[slot=\"item\"]').length > 0;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.innerText || null;\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host\n role=\"menu\"\n open={this.open}\n >\n <button\n class=\"label\"\n aria-pressed={this.open ? \"true\" : \"false\"}\n onClick={this.toggle.bind(this)}\n >\n <slot onSlotchange={this.onLabelSlotChange.bind(this)}></slot>\n {this.hasContent && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n {this.open && (\n <div class=\"items\">\n <slot\n name=\"item\"\n onSlotchange={this.checkContent.bind(this)}\n ></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"z-menu-section.entry.cjs.js","mappings":"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","names":["KeyboardCode","h","Host"],"sources":["src/components/z-menu-section/styles.css?tag=z-menu-section&encapsulation=shadow","src/components/z-menu-section/index.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n padding: 0;\n font-family: var(--font-family-sans);\n}\n\n:host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host(:is([active], [open])) .label,\n.label:hover {\n border-color: var(--color-secondary01);\n}\n\n:host(:is([active], [open])) .label ::slotted(*),\n.label:focus:focus-visible ::slotted(*),\n.label:hover ::slotted(*) {\n font-weight: var(--font-bd);\n}\n\n.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) / 2);\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n/* Trick to prevent layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n overflow: hidden;\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n.label ::slotted(*) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.label z-icon {\n margin-left: calc(var(--space-unit) * 4);\n fill: var(--color-default-icon);\n}\n\n.items {\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: calc(var(--space-unit) / 2);\n padding-bottom: calc(var(--space-unit) * 1.5);\n}\n\n.items > ::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-2);\n line-height: 1.4;\n outline: none;\n}\n\n.items > ::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-secondary01);\n}\n\n.items > ::slotted([slot=\"section\"]:hover),\n.items > ::slotted([slot=\"section\"]:focus:focus-visible),\n.items > ::slotted([slot=\"section\"][active]) {\n color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot item - Single entry of the section. Set the same slot name to different items to put many of them. Add the `active` attribute to a slotted item to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() hostElement: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n @State()\n open: boolean;\n\n @State()\n hasContent: boolean;\n\n /** The section has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The section has been closed. */\n @Event()\n closed: EventEmitter;\n\n private currentIndex = -1;\n\n private currentCanvasOpenStatus = false;\n\n @Listen(\"canvasOpenStatusChanged\", {target: \"document\"})\n canvasOpenStatusChanged(e: CustomEvent): void {\n this.currentCanvasOpenStatus = e.detail;\n }\n\n @Listen(\"keydown\")\n handleKeyDown(e: KeyboardEvent): void {\n if (e.code === KeyboardCode.ENTER) {\n return;\n }\n\n if (this.open && !this.currentCanvasOpenStatus) {\n this.handleNavigationSideArrow(e);\n }\n\n this.handleArrowsNav(e);\n }\n\n private handleNavigationSideArrow(e: KeyboardEvent): void {\n if (e.code !== KeyboardCode.ARROW_RIGHT && e.code !== KeyboardCode.ARROW_LEFT) {\n return;\n }\n if (e.code === KeyboardCode.ARROW_RIGHT) {\n const nextElement = this.hostElement.parentElement.nextElementSibling;\n if (nextElement) {\n const menuButton = nextElement.shadowRoot.querySelector(\".menu-label\") as HTMLElement;\n console.log(this.hostElement.parentElement);\n menuButton.focus();\n }\n this.open = false;\n nextElement.setAttribute(\"open\", \"true\");\n } else if (e.code === KeyboardCode.ARROW_LEFT) {\n const prevElement = this.hostElement.parentElement.previousElementSibling;\n if (prevElement) {\n const menuButton = prevElement.shadowRoot.querySelector(\".menu-label\") as HTMLElement;\n menuButton.focus();\n }\n prevElement.setAttribute(\"open\", \"true\");\n this.open = false;\n }\n }\n\n private handleArrowsNav(e: KeyboardEvent): void {\n const menuItems = Array.from(this.hostElement.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n if (this.open) {\n e.preventDefault();\n e.stopPropagation();\n if (e.code === KeyboardCode.ARROW_DOWN || e.code === KeyboardCode.ARROW_UP) {\n let nextFocusableItem: HTMLElement;\n // INFO: reset focus on all menu items\n menuItems.forEach((item: HTMLElement) => item.setAttribute(\"tabindex\", \"-1\"));\n\n if (e.code === KeyboardCode.ARROW_DOWN) {\n nextFocusableItem = this.getNextItem(menuItems, 1);\n } else if (e.code === KeyboardCode.ARROW_UP) {\n nextFocusableItem = this.getNextItem(menuItems, -1);\n }\n\n if (nextFocusableItem) {\n nextFocusableItem.setAttribute(\"tabindex\", \"0\");\n nextFocusableItem.focus();\n }\n } else if (e.code === KeyboardCode.ESC) {\n this.focusToParentAndCloseMenu();\n } else if (e.shiftKey && e.code === KeyboardCode.TAB) {\n this.focusToParentAndCloseMenu();\n }\n }\n }\n\n private getNextItem(menuItems: HTMLElement[], direction: number): HTMLElement {\n if (this.currentIndex === -1) {\n this.currentIndex = direction === 1 ? 0 : menuItems.length - 1;\n\n return menuItems[this.currentIndex];\n }\n\n this.currentIndex = (this.currentIndex + direction + menuItems.length) % menuItems.length;\n\n return menuItems[this.currentIndex];\n }\n\n private focusToParentAndCloseMenu(): void {\n const menuButton = this.hostElement.shadowRoot.querySelector(\"button\") as HTMLElement;\n menuButton.focus();\n this.currentIndex = -1;\n this.open = false;\n }\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.open || this.hostElement.contains(ev.target as Node)) {\n return;\n }\n\n this.open = false;\n this.closed.emit();\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasContent = this.hostElement.querySelectorAll('[slot=\"section\"]').length > 0;\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.innerText || null;\n }\n\n private focusFirstSectionItemOnKeyUp(): void {\n const firstElement = this.hostElement.querySelectorAll('[slot=\"section\"]')[0] as HTMLElement;\n if (firstElement) {\n firstElement.focus();\n this.currentIndex = 0;\n }\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host\n role=\"menu\"\n open={this.open}\n >\n <button\n class=\"label\"\n aria-pressed={this.open ? \"true\" : \"false\"}\n onClick={this.toggle.bind(this)}\n onKeyUp={this.focusFirstSectionItemOnKeyUp.bind(this)}\n >\n <slot onSlotchange={this.onLabelSlotChange.bind(this)}></slot>\n {this.hasContent && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n {this.open && (\n <div class=\"items\">\n <slot\n name=\"section\"\n onSlotchange={this.checkContent.bind(this)}\n ></slot>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,9 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-5dc4a8de.js');
5
+ const index$1 = require('./index-e801ae96.js');
6
+ const index = require('./index-bab7a651.js');
6
7
 
7
- const stylesCss = ":host,::slotted(*),*{box-sizing:border-box}:host{position:relative;display:inline-flex;flex-direction:column;--z-menu-label-color:var(--color-default-text)}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{padding:0;border:0;margin:0;background:transparent;border-radius:0;color:inherit;outline:none;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-within{z-index:1;padding-right:calc(var(--space-unit) * 0.5);padding-left:calc(var(--space-unit) * 0.5);margin-right:calc(var(--space-unit) * -0.5);margin-left:calc(var(--space-unit) * -0.5);box-shadow:var(--shadow-focus-primary)}.menu-label .menu-label-content{position:relative;display:flex;align-items:center}:host(:is([active],[open])) .menu-label-content,.menu-label:focus-within .menu-label-content{font-weight:var(--font-bd)}:host(:is([active],[open])) .menu-label-content ::slotted(*),.menu-label:focus-within .menu-label-content ::slotted(*){letter-spacing:normal}:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible){box-shadow:none !important}:host(:is([active],[open],[vertical-context])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{position:absolute;bottom:0;left:0;width:100%;content:\"\";pointer-events:none}:host([vertical-context]) .menu-label-content::after{height:var(--border-size-small);background-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{height:var(--border-size-large);background-color:var(--color-secondary01)}::slotted([data-text])::after{height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}::slotted([data-text]){display:inline-flex;flex-direction:column}.menu-label .menu-label-content ::slotted(*){display:inline-flex;width:100%;margin:0;appearance:none;color:var(--z-menu-label-color);font-family:var(--font-family-sans);font-size:var(--font-size-5);font-weight:inherit;letter-spacing:0.36px;line-height:1.2;outline:none}.menu-label .menu-label-content ::slotted(*),.menu-label .menu-label-content z-icon{padding:var(--space-unit) 0}.menu-label .menu-label-content z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:currentcolor}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot=\"header\"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot=\"header\"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot=\"item\"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25;outline:none}.items>::slotted([slot=\"item\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot=\"item\"]:not(z-menu-section)){padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--color-surface05)}.items>::slotted([slot=\"item\"]:hover),.items>::slotted([slot=\"item\"]:focus:focus-visible),.items>::slotted([slot=\"item\"]:active){border-color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
+ const stylesCss = ":host,::slotted(*),*{box-sizing:border-box;outline:none}:host{position:relative;display:inline-flex;flex-direction:column;flex-shrink:0;--z-menu-label-color:var(--color-default-text)}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{width:100%;padding:0;border:0;margin:0;background:transparent;border-radius:0;color:inherit;outline:none;text-align:left}.menu-wrapper{display:flex;align-items:center}.menu-wrapper:focus-visible,.menu-label-content:focus-visible,button:focus-visible{outline:none}button.menu-label{cursor:pointer}.menu-label:focus-within{z-index:1;box-shadow:var(--shadow-focus-primary)}.menu-label .menu-label-content{position:relative;display:flex;height:30px;align-items:center}:host(:is([active],[open])) .menu-label-content,.menu-label:focus-within .menu-label-content{color:var(--color-primary01);font-weight:var(--font-bd)}:host(:is([active],[open])) .menu-label-content ::slotted(*),.menu-label:focus-within .menu-label-content ::slotted(*),.menu-label:focus-within .menu-label-content z-icon{color:var(--color-primary01);letter-spacing:normal}:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible){box-shadow:none !important}:host(:is([active],[open],[vertical-context])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{position:absolute;bottom:0;left:0;width:100%;content:\"\";pointer-events:none}:host([vertical-context]) .menu-label-content::after{height:var(--border-size-small);background-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{height:var(--border-size-large);background-color:var(--color-secondary01)}::slotted([data-text])::after{height:0;content:attr(data-text);content:attr(data-text) / \"\";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}::slotted([data-text]){display:inline-flex;flex-direction:column}.menu-label .menu-label-content ::slotted(*){display:inline-flex;width:100%;min-width:fit-content;margin:0;appearance:none;color:var(--z-menu-label-color);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:inherit;outline:none}.menu-label .menu-label-content ::slotted(*),.menu-label .menu-label-content z-icon{padding:var(--space-unit) 0}.menu-label .menu-label-content z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:currentcolor}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot=\"header\"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot=\"header\"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot=\"item\"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25;outline:none}.items>::slotted([slot=\"item\"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot=\"item\"]:not(z-menu-section)){padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--color-surface05)}.items>::slotted([slot=\"item\"]:hover),.items>::slotted([slot=\"item\"]:focus:focus-visible),.items>::slotted([slot=\"item\"]:active){border-color:var(--color-secondary01);font-weight:var(--font-bd)}";
8
9
  const ZMenuStyle0 = stylesCss;
9
10
 
10
11
  const ZMenu = class {
@@ -24,6 +25,103 @@ const ZMenu = class {
24
25
  this.open = false;
25
26
  this.closed.emit();
26
27
  }
28
+ canvasOpenStatusChanged(e) {
29
+ this.currentCanvasOpenStatus = e.detail;
30
+ }
31
+ handleKeyDown(e) {
32
+ if (e.code === index.KeyboardCode.ENTER) {
33
+ return;
34
+ }
35
+ if (this.open && !this.currentCanvasOpenStatus) {
36
+ this.handleNavigationSideArrow(e);
37
+ }
38
+ this.handleArrowsNav(e);
39
+ }
40
+ handleNavigationSideArrow(e) {
41
+ if (e.code !== index.KeyboardCode.ARROW_RIGHT && e.code !== index.KeyboardCode.ARROW_LEFT) {
42
+ return;
43
+ }
44
+ if (e.code === index.KeyboardCode.ARROW_RIGHT) {
45
+ const nextElement = this.hostElement.nextElementSibling;
46
+ if (!nextElement) {
47
+ const firstMenuItem = this.firstElMenu.shadowRoot.querySelector(".menu-label");
48
+ firstMenuItem.focus();
49
+ this.open = false;
50
+ }
51
+ if (nextElement && nextElement.tagName === "Z-MENU") {
52
+ const menuButton = nextElement.shadowRoot.querySelector(".menu-label");
53
+ menuButton.focus();
54
+ if (nextElement.children.length > 1) {
55
+ nextElement.setAttribute("open", "true");
56
+ }
57
+ this.open = false;
58
+ }
59
+ }
60
+ else if (e.code === index.KeyboardCode.ARROW_LEFT) {
61
+ const prevElement = this.hostElement.previousElementSibling;
62
+ if (prevElement.tagName !== "Z-MENU") {
63
+ const lastElMenuItem = this.lastElMenu.shadowRoot.querySelector(".menu-label");
64
+ lastElMenuItem.focus();
65
+ this.open = false;
66
+ }
67
+ if (prevElement && prevElement.tagName === "Z-MENU") {
68
+ const menuButton = prevElement.shadowRoot.querySelector(".menu-label");
69
+ menuButton.focus();
70
+ if (prevElement.children.length > 1) {
71
+ prevElement.setAttribute("open", "true");
72
+ }
73
+ this.open = false;
74
+ }
75
+ }
76
+ }
77
+ handleArrowsNav(e) {
78
+ const menuItems = Array.from(this.hostElement.querySelectorAll("[slot='item']"));
79
+ const newMenuItems = menuItems.map((el) => {
80
+ if (el.tagName === "Z-MENU-SECTION") {
81
+ return el.shadowRoot.querySelector("button");
82
+ }
83
+ return el;
84
+ });
85
+ if (this.open) {
86
+ e.preventDefault();
87
+ e.stopPropagation();
88
+ if (e.code === index.KeyboardCode.ARROW_DOWN || e.code === index.KeyboardCode.ARROW_UP) {
89
+ let nextFocusableItem;
90
+ // INFO: reset focus on all menu items
91
+ newMenuItems.forEach((item) => item.setAttribute("tabindex", "-1"));
92
+ if (e.code === index.KeyboardCode.ARROW_DOWN) {
93
+ nextFocusableItem = this.getNextItem(newMenuItems, 1);
94
+ }
95
+ else if (e.code === index.KeyboardCode.ARROW_UP) {
96
+ nextFocusableItem = this.getNextItem(newMenuItems, -1);
97
+ }
98
+ if (nextFocusableItem) {
99
+ nextFocusableItem.setAttribute("tabindex", "0");
100
+ nextFocusableItem.focus();
101
+ }
102
+ }
103
+ else if (e.code === index.KeyboardCode.ESC) {
104
+ this.focusToParentAndCloseMenu();
105
+ }
106
+ else if (e.shiftKey && e.code === index.KeyboardCode.TAB) {
107
+ this.focusToParentAndCloseMenu();
108
+ }
109
+ }
110
+ }
111
+ getNextItem(menuItems, direction) {
112
+ if (this.currentIndex === -1) {
113
+ this.currentIndex = direction === 1 ? 0 : menuItems.length - 1;
114
+ return menuItems[this.currentIndex];
115
+ }
116
+ this.currentIndex = (this.currentIndex + direction + menuItems.length) % menuItems.length;
117
+ return menuItems[this.currentIndex];
118
+ }
119
+ focusToParentAndCloseMenu() {
120
+ const menuButton = this.hostElement.shadowRoot.querySelector(".menu-label");
121
+ menuButton.focus();
122
+ this.currentIndex = -1;
123
+ this.open = false;
124
+ }
27
125
  onOpenChanged() {
28
126
  if (this.open) {
29
127
  this.reflow(true);
@@ -33,11 +131,13 @@ const ZMenu = class {
33
131
  }
34
132
  }
35
133
  constructor(hostRef) {
36
- index.registerInstance(this, hostRef);
37
- this.opened = index.createEvent(this, "opened", 7);
38
- this.closed = index.createEvent(this, "closed", 7);
134
+ index$1.registerInstance(this, hostRef);
135
+ this.opened = index$1.createEvent(this, "opened", 7);
136
+ this.closed = index$1.createEvent(this, "closed", 7);
137
+ this.currentIndex = -1;
138
+ this.currentCanvasOpenStatus = false;
39
139
  this.active = undefined;
40
- this.floating = false;
140
+ this.floating = true;
41
141
  this.open = false;
42
142
  this.verticalContext = false;
43
143
  this.hasHeader = undefined;
@@ -48,6 +148,9 @@ const ZMenu = class {
48
148
  this.onItemsChange = this.onItemsChange.bind(this);
49
149
  }
50
150
  componentWillLoad() {
151
+ const menuItems = Array.from(this.hostElement.parentElement.querySelectorAll('[slot="menu"]'));
152
+ this.firstElMenu = menuItems[0];
153
+ this.lastElMenu = menuItems[menuItems.length - 1];
51
154
  this.checkContent();
52
155
  }
53
156
  /**
@@ -91,19 +194,27 @@ const ZMenu = class {
91
194
  const items = this.hostElement.querySelectorAll("[slot=item]");
92
195
  items.forEach((item) => {
93
196
  item.setAttribute("role", "menuitem");
197
+ item.setAttribute("tabindex", "-1");
94
198
  item.dataset.text = item.textContent;
95
199
  });
96
200
  }
201
+ focusFirstItemOnKeyUp() {
202
+ const firstElement = this.hostElement.querySelectorAll("[slot='item']")[0];
203
+ if (firstElement) {
204
+ firstElement.focus();
205
+ this.currentIndex = 0;
206
+ }
207
+ }
97
208
  renderMenuLabel() {
98
209
  if (this.hasContent) {
99
- return (index.h("button", { class: "menu-label", "aria-expanded": this.open ? "true" : "false", "aria-label": this.open ? "Chiudi menù" : "Apri menù", onClick: this.toggle }, index.h("div", { class: "menu-label-content" }, index.h("slot", { onSlotchange: this.onLabelSlotChange }), index.h("z-icon", { name: this.open ? "chevron-up" : "chevron-down" }))));
210
+ return (index$1.h("div", { class: "menu-wrapper" }, index$1.h("button", { class: "menu-label", "aria-expanded": this.open ? "true" : "false", "aria-label": this.open ? "Chiudi menù" : "Apri menù", onClick: this.toggle, onKeyUp: this.focusFirstItemOnKeyUp.bind(this) }, index$1.h("div", { class: "menu-label-content" }, index$1.h("slot", { onSlotchange: this.onLabelSlotChange }), index$1.h("z-icon", { name: this.open ? "chevron-up" : "chevron-down" })))));
100
211
  }
101
- return (index.h("div", { class: "menu-label" }, index.h("div", { class: "menu-label-content" }, index.h("slot", { onSlotchange: this.onLabelSlotChange }))));
212
+ return (index$1.h("div", { class: "menu-wrapper" }, index$1.h("div", { class: "menu-label" }, index$1.h("div", { class: "menu-label-content" }, index$1.h("slot", { onSlotchange: this.onLabelSlotChange })))));
102
213
  }
103
214
  render() {
104
- return (index.h(index.Host, { key: '675f13eb3d814743037d5e791afd82d8737ba57d' }, this.renderMenuLabel(), this.hasContent && (index.h("div", { key: '50ef2a4dbf031fa211bc818b7704d46acbe63446', class: "content", ref: (el) => (this.content = el) }, this.hasHeader && (index.h("header", { key: '9ed7520b00334a598c7664e0ccb1c4f8bfe3b858', class: "header" }, index.h("slot", { key: '6a41d2d5802d54bf192fd7f03586df1c933a7877', name: "header", onSlotchange: this.checkContent }))), index.h("div", { key: '7aa4c1c061559caac915866d1ae2acfe02dc3a8a', class: "items", role: "menu" }, index.h("slot", { key: '8494b984ad295b61d2cad61a25571220e74b8dff', name: "item", onSlotchange: this.onItemsChange }))))));
215
+ return (index$1.h(index$1.Host, { key: 'e2ab0535d927c4ef1dbaf75746a1e7ee1a87858a' }, this.renderMenuLabel(), this.hasContent && (index$1.h("div", { key: '3f0a5da5e77bd229ff0ee232afbbf0273d4245cf', class: "content", ref: (el) => (this.content = el) }, this.hasHeader && (index$1.h("header", { key: '4264de0204704ad5f16cb1b0617532220ab121fb', class: "header" }, index$1.h("slot", { key: '6b88411ff1c87fa1d12f2e6dedcec19605921df9', name: "header", onSlotchange: this.checkContent }))), index$1.h("div", { key: '4fab11ecc9b79b5b95d3238da7f25b05b6e36ec9', class: "items", role: "menu" }, index$1.h("slot", { key: '42d1e2006d0588e337a5cb9df4688081e128c9f9', name: "item", onSlotchange: this.onItemsChange }))))));
105
216
  }
106
- get hostElement() { return index.getElement(this); }
217
+ get hostElement() { return index$1.getElement(this); }
107
218
  static get watchers() { return {
108
219
  "open": ["onOpenChanged"]
109
220
  }; }