@zanichelli/albe-web-components 17.3.0-RC1 → 18.0.1

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 (899) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/{index-a6593d82.js → index-0cb5e57a.js} +2 -2
  3. package/dist/cjs/{index-a6593d82.js.map → index-0cb5e57a.js.map} +1 -1
  4. package/dist/cjs/{index-4e2d222e.js → index-1c3f7a64.js} +2 -2
  5. package/dist/cjs/{index-4e2d222e.js.map → index-1c3f7a64.js.map} +1 -1
  6. package/dist/cjs/{index-117cd3b0.js → index-24b23a97.js} +5 -5
  7. package/dist/cjs/{index-117cd3b0.js.map → index-24b23a97.js.map} +1 -1
  8. package/dist/cjs/{index-7191c0cc.js → index-41d3dc9e.js} +2 -2
  9. package/dist/cjs/{index-7191c0cc.js.map → index-41d3dc9e.js.map} +1 -1
  10. package/dist/cjs/{index-9b8b105e.js → index-48540995.js} +3 -3
  11. package/dist/cjs/{index-9b8b105e.js.map → index-48540995.js.map} +1 -1
  12. package/dist/cjs/{index-a465bca8.js → index-4f18c0e2.js} +1 -6
  13. package/{www/build/p-2b309f57.js.map → dist/cjs/index-4f18c0e2.js.map} +1 -1
  14. package/dist/cjs/{index-d6c4fda2.js → index-f9fe3768.js} +3 -3
  15. package/dist/cjs/{index-d6c4fda2.js.map → index-f9fe3768.js.map} +1 -1
  16. package/dist/cjs/index.cjs.js +2 -8
  17. package/dist/cjs/index.cjs.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{utils-873dd0ae.js → utils-67ea6e35.js} +2 -2
  20. package/dist/cjs/{utils-873dd0ae.js.map → utils-67ea6e35.js.map} +1 -1
  21. package/dist/cjs/{utils-ee8e5b38.js → utils-a6d8a0b7.js} +2 -2
  22. package/dist/cjs/{utils-ee8e5b38.js.map → utils-a6d8a0b7.js.map} +1 -1
  23. package/dist/cjs/web-components-library.cjs.js +1 -1
  24. package/dist/cjs/z-accordion.cjs.entry.js +3 -3
  25. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -1
  26. package/dist/cjs/z-alert.cjs.entry.js +2 -2
  27. package/dist/cjs/z-alert.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-anchor-navigation.cjs.entry.js +3 -3
  29. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -1
  30. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +2 -2
  31. package/dist/cjs/z-app-header_12.cjs.entry.js +19 -19
  32. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  33. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -2
  34. package/dist/cjs/z-avatar.cjs.entry.js +3 -3
  35. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -2
  36. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +3 -3
  37. package/dist/cjs/z-book-card.cjs.entry.js +44 -90
  38. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  39. package/dist/cjs/z-breadcrumb.cjs.entry.js +13 -7
  40. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +1 -1
  41. package/dist/cjs/z-button-sort.cjs.entry.js +2 -2
  42. package/dist/cjs/z-button-sort.cjs.entry.js.map +1 -1
  43. package/dist/cjs/z-card.cjs.entry.js +2 -2
  44. package/dist/cjs/z-card.cjs.entry.js.map +1 -1
  45. package/dist/cjs/z-carousel.cjs.entry.js +3 -3
  46. package/dist/cjs/z-carousel.cjs.entry.js.map +1 -1
  47. package/dist/cjs/z-chip.cjs.entry.js +4 -4
  48. package/dist/cjs/z-chip.cjs.entry.js.map +1 -1
  49. package/dist/cjs/z-combobox.cjs.entry.js +6 -6
  50. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  51. package/dist/cjs/z-cover-hero.cjs.entry.js +3 -3
  52. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  53. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +8 -8
  54. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/z-file.cjs.entry.js +2 -2
  57. package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -2
  58. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +1 -1
  59. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  60. package/dist/cjs/z-info-reveal.cjs.entry.js +2 -2
  61. package/dist/cjs/z-logo.cjs.entry.js +1 -1
  62. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  63. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  64. package/dist/cjs/z-menu-section.cjs.entry.js +5 -2
  65. package/dist/cjs/z-menu-section.cjs.entry.js.map +1 -1
  66. package/dist/cjs/z-menu.cjs.entry.js +3 -3
  67. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  68. package/dist/cjs/z-myz-card-alert.cjs.entry.js +3 -3
  69. package/dist/cjs/z-myz-card-alert.cjs.entry.js.map +1 -1
  70. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +2 -2
  71. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  72. package/dist/cjs/z-myz-card-footer.cjs.entry.js +2 -2
  73. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  74. package/dist/cjs/z-myz-card-info.cjs.entry.js +4 -4
  75. package/dist/cjs/z-myz-card-info.cjs.entry.js.map +1 -1
  76. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  77. package/dist/cjs/z-myz-card_4.cjs.entry.js +5 -5
  78. package/dist/cjs/z-myz-list-item.cjs.entry.js +3 -3
  79. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  80. package/dist/cjs/z-navigation-tabs.cjs.entry.js +4 -4
  81. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +1 -1
  82. package/dist/cjs/z-notification.cjs.entry.js +2 -2
  83. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  84. package/dist/cjs/z-otp.cjs.entry.js +4 -4
  85. package/dist/cjs/z-otp.cjs.entry.js.map +1 -1
  86. package/dist/cjs/z-pagination.cjs.entry.js +2 -2
  87. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -1
  88. package/dist/cjs/z-panel-elem.cjs.entry.js +2 -2
  89. package/dist/cjs/z-popover.cjs.entry.js +2 -2
  90. package/dist/cjs/z-range-picker.cjs.entry.js +5 -5
  91. package/dist/cjs/z-section-title.cjs.entry.js +2 -2
  92. package/dist/cjs/z-select.cjs.entry.js +5 -5
  93. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  94. package/dist/cjs/z-skip-to-content.cjs.entry.js +3 -3
  95. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  96. package/dist/cjs/z-stepper-item.cjs.entry.js +2 -2
  97. package/dist/cjs/z-stepper-item.cjs.entry.js.map +1 -1
  98. package/dist/cjs/z-stepper.cjs.entry.js +2 -2
  99. package/dist/cjs/z-stepper.cjs.entry.js.map +1 -1
  100. package/dist/cjs/z-table.cjs.entry.js +9 -9
  101. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  102. package/dist/cjs/z-td.cjs.entry.js +2 -2
  103. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  104. package/dist/cjs/z-th.cjs.entry.js +2 -2
  105. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  106. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -2
  107. package/dist/cjs/z-toast-notification.cjs.entry.js +3 -3
  108. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  109. package/dist/cjs/z-toggle-button.cjs.entry.js +3 -3
  110. package/dist/cjs/z-toggle-button.cjs.entry.js.map +1 -1
  111. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -5
  112. package/dist/cjs/z-tooltip.cjs.entry.js +2 -2
  113. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  114. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  115. package/dist/collection/beans/index.js +0 -5
  116. package/dist/collection/beans/index.js.map +1 -1
  117. package/dist/collection/collection-manifest.json +1 -1
  118. package/dist/collection/components/book-card/z-book-card/index.js +72 -267
  119. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  120. package/dist/collection/components/book-card/z-book-card/index.stories.js +100 -106
  121. package/dist/collection/components/book-card/z-book-card/index.stories.js.map +1 -1
  122. package/dist/collection/components/book-card/z-book-card/styles.css +76 -140
  123. package/dist/collection/components/book-card/z-book-card-app/index.js +1 -1
  124. package/dist/collection/components/css-components/z-scrollbar/index.stories.js +2 -2
  125. package/dist/collection/components/css-components/z-scrollbar/index.stories.js.map +1 -1
  126. package/dist/collection/components/date-picker/z-date-picker/index.js +1 -1
  127. package/dist/collection/components/date-picker/z-range-picker/index.js +3 -3
  128. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +1 -1
  129. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +1 -1
  130. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js +1 -14
  131. package/dist/collection/components/deprecated/z-book-card-deprecated/index.stories.js.map +1 -1
  132. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +1 -1
  133. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +1 -1
  134. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  135. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  136. package/dist/collection/components/list/z-list/index.js +1 -1
  137. package/dist/collection/components/list/z-list-element/index.js +1 -1
  138. package/dist/collection/components/list/z-list-element/styles.css +6 -5
  139. package/dist/collection/components/list/z-list-group/index.js +2 -2
  140. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  141. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  142. package/dist/collection/components/table/z-table/index.js +1 -1
  143. package/dist/collection/components/table/z-tbody/index.js +1 -1
  144. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  145. package/dist/collection/components/table/z-thead/index.js +1 -1
  146. package/dist/collection/components/table/z-tr/index.js +1 -1
  147. package/dist/collection/components/z-accordion/index.js +1 -1
  148. package/dist/collection/components/z-accordion/styles.css +1 -1
  149. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  150. package/dist/collection/components/z-anchor-navigation/styles.css +3 -2
  151. package/dist/collection/components/z-app-header/index.js +1 -1
  152. package/dist/collection/components/z-app-header/styles.css +1 -1
  153. package/dist/collection/components/z-aria-alert/index.js +1 -1
  154. package/dist/collection/components/z-avatar/index.js +2 -2
  155. package/dist/collection/components/z-breadcrumb/index.js +10 -4
  156. package/dist/collection/components/z-breadcrumb/index.js.map +1 -1
  157. package/dist/collection/components/z-breadcrumb/index.stories.js +1 -1
  158. package/dist/collection/components/z-breadcrumb/index.stories.js.map +1 -1
  159. package/dist/collection/components/z-breadcrumb/styles.css +3 -0
  160. package/dist/collection/components/z-button-sort/index.js +1 -1
  161. package/dist/collection/components/z-button-sort/styles.css +5 -5
  162. package/dist/collection/components/z-card/index.stories.js +2 -2
  163. package/dist/collection/components/z-card/index.stories.js.map +1 -1
  164. package/dist/collection/components/z-card/styles.css +1 -2
  165. package/dist/collection/components/z-carousel/index.js +2 -2
  166. package/dist/collection/components/z-carousel/index.js.map +1 -1
  167. package/dist/collection/components/z-chip/index.js +2 -2
  168. package/dist/collection/components/z-chip/styles.css +4 -8
  169. package/dist/collection/components/z-combobox/index.js +3 -3
  170. package/dist/collection/components/z-combobox/index.js.map +1 -1
  171. package/dist/collection/components/z-combobox/styles.css +35 -18
  172. package/dist/collection/components/z-cover-hero/index.js +2 -2
  173. package/dist/collection/components/z-divider/index.js +1 -1
  174. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  175. package/dist/collection/components/z-ghost-loading/styles.css +3 -3
  176. package/dist/collection/components/z-icon/index.js +1 -1
  177. package/dist/collection/components/z-info-box/index.js +1 -1
  178. package/dist/collection/components/z-info-reveal/index.js +1 -1
  179. package/dist/collection/components/z-input/index.js +1 -1
  180. package/dist/collection/components/z-input/styles.css +9 -6
  181. package/dist/collection/components/z-input-message/index.js +1 -1
  182. package/dist/collection/components/z-input-message/styles.css +1 -1
  183. package/dist/collection/components/z-logo/index.js +1 -1
  184. package/dist/collection/components/z-menu/styles.css +1 -1
  185. package/dist/collection/components/z-menu-section/index.js +4 -1
  186. package/dist/collection/components/z-menu-section/index.js.map +1 -1
  187. package/dist/collection/components/z-modal/index.js +7 -7
  188. package/dist/collection/components/z-modal/index.js.map +1 -1
  189. package/dist/collection/components/z-modal/index.stories.js +1 -1
  190. package/dist/collection/components/z-modal/index.stories.js.map +1 -1
  191. package/dist/collection/components/z-modal/styles.css +5 -6
  192. package/dist/collection/components/z-navigation-tabs/index.js +2 -2
  193. package/dist/collection/components/z-navigation-tabs/styles.css +1 -1
  194. package/dist/collection/components/z-notification/index.js +1 -1
  195. package/dist/collection/components/z-notification/styles.css +6 -6
  196. package/dist/collection/components/z-offcanvas/index.js +1 -1
  197. package/dist/collection/components/z-pagination/styles.css +1 -1
  198. package/dist/collection/components/z-panel-elem/index.js +2 -2
  199. package/dist/collection/components/z-popover/index.js +1 -1
  200. package/dist/collection/components/z-popover/index.stories.js +2 -1
  201. package/dist/collection/components/z-popover/index.stories.js.map +1 -1
  202. package/dist/collection/components/z-searchbar/index.js +1 -1
  203. package/dist/collection/components/z-section-title/index.js +1 -1
  204. package/dist/collection/components/z-select/index.js +2 -2
  205. package/dist/collection/components/z-select/index.js.map +1 -1
  206. package/dist/collection/components/z-select/styles.css +14 -8
  207. package/dist/collection/components/z-skip-to-content/index.js +1 -1
  208. package/dist/collection/components/z-stepper/index.js +1 -1
  209. package/dist/collection/components/z-stepper/index.stories.js +42 -12
  210. package/dist/collection/components/z-stepper/index.stories.js.map +1 -1
  211. package/dist/collection/components/z-stepper/styles.css +1 -1
  212. package/dist/collection/components/z-stepper-item/index.js +1 -1
  213. package/dist/collection/components/z-stepper-item/styles.css +6 -6
  214. package/dist/collection/components/z-tag/index.js +2 -2
  215. package/dist/collection/components/z-toast-notification/index.js +1 -1
  216. package/dist/collection/components/z-toast-notification/styles.css +5 -5
  217. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  218. package/dist/collection/components/z-toggle-button/index.js +2 -2
  219. package/dist/collection/components/z-toggle-button/styles.css +1 -1
  220. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  221. package/dist/collection/components/z-tooltip/index.js +1 -1
  222. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  223. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  224. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  225. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/styles.css +2 -2
  226. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  227. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  228. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  229. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  230. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  231. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  232. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  233. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  234. package/dist/collection/snowflakes/myz/card/z-myz-card-info/styles.css +1 -1
  235. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  236. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  237. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  238. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  239. package/dist/collection/snowflakes/myz/z-alert/styles.css +6 -6
  240. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  241. package/dist/collection/snowflakes/myz/z-otp/styles.css +2 -2
  242. package/dist/components/index.js +1 -1
  243. package/dist/components/index10.js +1 -1
  244. package/dist/components/index11.js +2 -2
  245. package/dist/components/index11.js.map +1 -1
  246. package/dist/components/index12.js +2 -2
  247. package/dist/components/index12.js.map +1 -1
  248. package/dist/components/index13.js +1 -1
  249. package/dist/components/index14.js +2 -2
  250. package/dist/components/index14.js.map +1 -1
  251. package/dist/components/index15.js +2 -2
  252. package/dist/components/index16.js +5 -5
  253. package/dist/components/index16.js.map +1 -1
  254. package/dist/components/index17.js +1 -1
  255. package/dist/components/index18.js +1 -1
  256. package/dist/components/index19.js +1 -1
  257. package/dist/components/index2.js +1 -6
  258. package/dist/components/index2.js.map +1 -1
  259. package/dist/components/index20.js +1 -1
  260. package/dist/components/index21.js +1 -1
  261. package/dist/components/index22.js +1 -1
  262. package/dist/components/index23.js +1 -1
  263. package/dist/components/index24.js +1 -1
  264. package/dist/components/index25.js +2 -2
  265. package/dist/components/index3.js +2 -2
  266. package/dist/components/index3.js.map +1 -1
  267. package/dist/components/index5.js +3 -3
  268. package/dist/components/index5.js.map +1 -1
  269. package/dist/components/index6.js +1 -1
  270. package/dist/components/index7.js +2 -2
  271. package/dist/components/index8.js +2 -2
  272. package/dist/components/index8.js.map +1 -1
  273. package/dist/components/index9.js +1 -1
  274. package/dist/components/z-accordion.js +3 -3
  275. package/dist/components/z-accordion.js.map +1 -1
  276. package/dist/components/z-anchor-navigation.js +2 -2
  277. package/dist/components/z-anchor-navigation.js.map +1 -1
  278. package/dist/components/z-app-header-deprecated.js +1 -1
  279. package/dist/components/z-app-header.js +2 -2
  280. package/dist/components/z-app-header.js.map +1 -1
  281. package/dist/components/z-aria-alert.js +1 -1
  282. package/dist/components/z-avatar.js +2 -2
  283. package/dist/components/z-book-card-app.js +1 -1
  284. package/dist/components/z-book-card-deprecated.js +1 -1
  285. package/dist/components/z-book-card.js +53 -117
  286. package/dist/components/z-book-card.js.map +1 -1
  287. package/dist/components/z-breadcrumb.js +11 -5
  288. package/dist/components/z-breadcrumb.js.map +1 -1
  289. package/dist/components/z-button-sort.js +2 -2
  290. package/dist/components/z-button-sort.js.map +1 -1
  291. package/dist/components/z-card.js +1 -1
  292. package/dist/components/z-card.js.map +1 -1
  293. package/dist/components/z-carousel.js +2 -2
  294. package/dist/components/z-carousel.js.map +1 -1
  295. package/dist/components/z-combobox.js +16 -22
  296. package/dist/components/z-combobox.js.map +1 -1
  297. package/dist/components/z-cover-hero.js +2 -2
  298. package/dist/components/z-date-picker.js +1 -1
  299. package/dist/components/z-file.js +1 -1
  300. package/dist/components/z-info-box.js +1 -1
  301. package/dist/components/z-logo.js +1 -1
  302. package/dist/components/z-menu-deprecated.js +1 -1
  303. package/dist/components/z-menu-section-deprecated.js +1 -1
  304. package/dist/components/z-menu-section.js +4 -1
  305. package/dist/components/z-menu-section.js.map +1 -1
  306. package/dist/components/z-menu.js +1 -1
  307. package/dist/components/z-menu.js.map +1 -1
  308. package/dist/components/z-myz-card-alert.js +2 -2
  309. package/dist/components/z-myz-card-alert.js.map +1 -1
  310. package/dist/components/z-myz-card-dictionary.js +1 -1
  311. package/dist/components/z-myz-card-footer-sections.js +1 -1
  312. package/dist/components/z-myz-card-footer.js +1 -1
  313. package/dist/components/z-myz-card-icon.js +1 -1
  314. package/dist/components/z-myz-card-info.js +2 -2
  315. package/dist/components/z-myz-card-info.js.map +1 -1
  316. package/dist/components/z-myz-card-list.js +1 -1
  317. package/dist/components/z-myz-list.js +1 -1
  318. package/dist/components/z-navigation-tabs.js +3 -3
  319. package/dist/components/z-navigation-tabs.js.map +1 -1
  320. package/dist/components/z-notification.js +2 -2
  321. package/dist/components/z-notification.js.map +1 -1
  322. package/dist/components/z-otp.js +3 -3
  323. package/dist/components/z-otp.js.map +1 -1
  324. package/dist/components/z-pagination.js +1 -1
  325. package/dist/components/z-pagination.js.map +1 -1
  326. package/dist/components/z-panel-elem.js +2 -2
  327. package/dist/components/z-range-picker.js +3 -3
  328. package/dist/components/z-section-title.js +1 -1
  329. package/dist/components/z-select.js +3 -3
  330. package/dist/components/z-select.js.map +1 -1
  331. package/dist/components/z-skip-to-content.js +1 -1
  332. package/dist/components/z-stepper-item.js +2 -2
  333. package/dist/components/z-stepper-item.js.map +1 -1
  334. package/dist/components/z-stepper.js +2 -2
  335. package/dist/components/z-stepper.js.map +1 -1
  336. package/dist/components/z-table.js +1 -1
  337. package/dist/components/z-tbody.js +1 -1
  338. package/dist/components/z-td.js +1 -1
  339. package/dist/components/z-tfoot.js +1 -1
  340. package/dist/components/z-th.js +1 -1
  341. package/dist/components/z-thead.js +1 -1
  342. package/dist/components/z-toast-notification-list.js +1 -1
  343. package/dist/components/z-toast-notification.js +2 -2
  344. package/dist/components/z-toast-notification.js.map +1 -1
  345. package/dist/components/z-toggle-button.js +3 -3
  346. package/dist/components/z-toggle-button.js.map +1 -1
  347. package/dist/components/z-toggle-switch.js +3 -3
  348. package/dist/components/z-tooltip.js +1 -1
  349. package/dist/components/z-tr.js +1 -1
  350. package/dist/components/z-visually-hidden.js +1 -1
  351. package/dist/docs/themes/index.stories.js +7 -15
  352. package/dist/docs/themes/index.stories.js.map +1 -1
  353. package/dist/esm/{index-5dff449e.js → index-0ebe53c2.js} +2 -2
  354. package/dist/esm/{index-5dff449e.js.map → index-0ebe53c2.js.map} +1 -1
  355. package/dist/esm/{index-678ea09c.js → index-7ff7476c.js} +5 -5
  356. package/dist/esm/{index-678ea09c.js.map → index-7ff7476c.js.map} +1 -1
  357. package/dist/esm/{index-04335eea.js → index-8965837f.js} +2 -2
  358. package/dist/esm/{index-04335eea.js.map → index-8965837f.js.map} +1 -1
  359. package/dist/esm/{index-9adfcd0d.js → index-dfd97928.js} +2 -2
  360. package/dist/esm/{index-9adfcd0d.js.map → index-dfd97928.js.map} +1 -1
  361. package/dist/esm/{index-dac83244.js → index-f75609c5.js} +3 -3
  362. package/dist/esm/{index-dac83244.js.map → index-f75609c5.js.map} +1 -1
  363. package/dist/esm/{index-5c567adb.js → index-f87879d9.js} +3 -3
  364. package/dist/esm/{index-5c567adb.js.map → index-f87879d9.js.map} +1 -1
  365. package/dist/esm/{index-c9fd4a10.js → index-fe87283d.js} +2 -7
  366. package/dist/esm/index-fe87283d.js.map +1 -0
  367. package/dist/esm/index.js +2 -2
  368. package/dist/esm/loader.js +1 -1
  369. package/dist/esm/{utils-1a6a53d2.js → utils-ae56fbe5.js} +2 -2
  370. package/dist/esm/{utils-1a6a53d2.js.map → utils-ae56fbe5.js.map} +1 -1
  371. package/dist/esm/{utils-cd97a95b.js → utils-c7062cf7.js} +2 -2
  372. package/dist/esm/{utils-cd97a95b.js.map → utils-c7062cf7.js.map} +1 -1
  373. package/dist/esm/web-components-library.js +1 -1
  374. package/dist/esm/z-accordion.entry.js +3 -3
  375. package/dist/esm/z-accordion.entry.js.map +1 -1
  376. package/dist/esm/z-alert.entry.js +2 -2
  377. package/dist/esm/z-alert.entry.js.map +1 -1
  378. package/dist/esm/z-anchor-navigation.entry.js +3 -3
  379. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  380. package/dist/esm/z-app-header-deprecated.entry.js +2 -2
  381. package/dist/esm/z-app-header_12.entry.js +19 -19
  382. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  383. package/dist/esm/z-aria-alert.entry.js +2 -2
  384. package/dist/esm/z-avatar.entry.js +3 -3
  385. package/dist/esm/z-book-card-app.entry.js +2 -2
  386. package/dist/esm/z-book-card-deprecated.entry.js +3 -3
  387. package/dist/esm/z-book-card.entry.js +45 -91
  388. package/dist/esm/z-book-card.entry.js.map +1 -1
  389. package/dist/esm/z-breadcrumb.entry.js +13 -7
  390. package/dist/esm/z-breadcrumb.entry.js.map +1 -1
  391. package/dist/esm/z-button-sort.entry.js +2 -2
  392. package/dist/esm/z-button-sort.entry.js.map +1 -1
  393. package/dist/esm/z-card.entry.js +2 -2
  394. package/dist/esm/z-card.entry.js.map +1 -1
  395. package/dist/esm/z-carousel.entry.js +3 -3
  396. package/dist/esm/z-carousel.entry.js.map +1 -1
  397. package/dist/esm/z-chip.entry.js +4 -4
  398. package/dist/esm/z-chip.entry.js.map +1 -1
  399. package/dist/esm/z-combobox.entry.js +6 -6
  400. package/dist/esm/z-combobox.entry.js.map +1 -1
  401. package/dist/esm/z-cover-hero.entry.js +3 -3
  402. package/dist/esm/z-date-picker.entry.js +3 -3
  403. package/dist/esm/z-dragdrop-area_2.entry.js +8 -8
  404. package/dist/esm/z-dragdrop-area_2.entry.js.map +1 -1
  405. package/dist/esm/z-file-upload.entry.js +1 -1
  406. package/dist/esm/z-file.entry.js +2 -2
  407. package/dist/esm/z-ghost-loading.entry.js +2 -2
  408. package/dist/esm/z-ghost-loading.entry.js.map +1 -1
  409. package/dist/esm/z-info-box.entry.js +1 -1
  410. package/dist/esm/z-info-reveal.entry.js +2 -2
  411. package/dist/esm/z-logo.entry.js +1 -1
  412. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  413. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  414. package/dist/esm/z-menu-section.entry.js +5 -2
  415. package/dist/esm/z-menu-section.entry.js.map +1 -1
  416. package/dist/esm/z-menu.entry.js +3 -3
  417. package/dist/esm/z-menu.entry.js.map +1 -1
  418. package/dist/esm/z-myz-card-alert.entry.js +3 -3
  419. package/dist/esm/z-myz-card-alert.entry.js.map +1 -1
  420. package/dist/esm/z-myz-card-dictionary.entry.js +2 -2
  421. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  422. package/dist/esm/z-myz-card-footer.entry.js +2 -2
  423. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  424. package/dist/esm/z-myz-card-info.entry.js +4 -4
  425. package/dist/esm/z-myz-card-info.entry.js.map +1 -1
  426. package/dist/esm/z-myz-card-list.entry.js +1 -1
  427. package/dist/esm/z-myz-card_4.entry.js +5 -5
  428. package/dist/esm/z-myz-list-item.entry.js +3 -3
  429. package/dist/esm/z-myz-list.entry.js +1 -1
  430. package/dist/esm/z-navigation-tabs.entry.js +4 -4
  431. package/dist/esm/z-navigation-tabs.entry.js.map +1 -1
  432. package/dist/esm/z-notification.entry.js +2 -2
  433. package/dist/esm/z-notification.entry.js.map +1 -1
  434. package/dist/esm/z-otp.entry.js +4 -4
  435. package/dist/esm/z-otp.entry.js.map +1 -1
  436. package/dist/esm/z-pagination.entry.js +2 -2
  437. package/dist/esm/z-pagination.entry.js.map +1 -1
  438. package/dist/esm/z-panel-elem.entry.js +2 -2
  439. package/dist/esm/z-popover.entry.js +2 -2
  440. package/dist/esm/z-range-picker.entry.js +5 -5
  441. package/dist/esm/z-section-title.entry.js +2 -2
  442. package/dist/esm/z-select.entry.js +5 -5
  443. package/dist/esm/z-select.entry.js.map +1 -1
  444. package/dist/esm/z-skip-to-content.entry.js +3 -3
  445. package/dist/esm/z-slideshow.entry.js +2 -2
  446. package/dist/esm/z-stepper-item.entry.js +2 -2
  447. package/dist/esm/z-stepper-item.entry.js.map +1 -1
  448. package/dist/esm/z-stepper.entry.js +2 -2
  449. package/dist/esm/z-stepper.entry.js.map +1 -1
  450. package/dist/esm/z-table.entry.js +9 -9
  451. package/dist/esm/z-tbody.entry.js +1 -1
  452. package/dist/esm/z-td.entry.js +2 -2
  453. package/dist/esm/z-tfoot.entry.js +1 -1
  454. package/dist/esm/z-th.entry.js +2 -2
  455. package/dist/esm/z-thead.entry.js +1 -1
  456. package/dist/esm/z-toast-notification-list.entry.js +2 -2
  457. package/dist/esm/z-toast-notification.entry.js +3 -3
  458. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  459. package/dist/esm/z-toggle-button.entry.js +3 -3
  460. package/dist/esm/z-toggle-button.entry.js.map +1 -1
  461. package/dist/esm/z-toggle-switch.entry.js +5 -5
  462. package/dist/esm/z-tooltip.entry.js +2 -2
  463. package/dist/esm/z-tr.entry.js +5 -5
  464. package/dist/esm/z-visually-hidden.entry.js +1 -1
  465. package/dist/types/beans/index.d.ts +0 -12
  466. package/dist/types/components/book-card/z-book-card/index.d.ts +28 -42
  467. package/dist/types/components/book-card/z-book-card/index.stories.d.ts +35 -32
  468. package/dist/types/components/css-components/z-scrollbar/index.stories.d.ts +1 -1
  469. package/dist/types/components/deprecated/z-book-card-deprecated/index.stories.d.ts +1 -10
  470. package/dist/types/components/z-breadcrumb/index.stories.d.ts +1 -1
  471. package/dist/types/components/z-card/index.stories.d.ts +1 -1
  472. package/dist/types/components/z-modal/index.d.ts +3 -3
  473. package/dist/types/components/z-popover/index.stories.d.ts +5 -2
  474. package/dist/types/components/z-stepper/index.stories.d.ts +3 -0
  475. package/dist/types/components.d.ts +57 -76
  476. package/dist/types/home/runner/work/design-system/design-system/.stencil/docs/themes/index.stories.d.ts +1 -12
  477. package/dist/web-components-library/index.esm.js +1 -1
  478. package/dist/web-components-library/index.esm.js.map +1 -1
  479. package/{www/build/p-b22d3c7d.js → dist/web-components-library/p-00e88046.js} +2 -2
  480. package/dist/web-components-library/{p-7ef2c4ce.entry.js → p-0bf8d989.entry.js} +2 -2
  481. package/dist/web-components-library/{p-7b375bca.js → p-0cb113f9.js} +2 -2
  482. package/{www/build/p-c3c99202.js → dist/web-components-library/p-0d9f1574.js} +2 -2
  483. package/dist/web-components-library/{p-fca17517.entry.js → p-121f2960.entry.js} +2 -2
  484. package/dist/web-components-library/p-1bbf185c.js +2 -0
  485. package/dist/web-components-library/{p-7f0cbe57.entry.js → p-1c51153b.entry.js} +2 -2
  486. package/{www/build/p-5b6dd467.entry.js → dist/web-components-library/p-1cbc1b08.entry.js} +2 -2
  487. package/dist/web-components-library/{p-c7f8b628.entry.js → p-1e25d225.entry.js} +2 -2
  488. package/dist/web-components-library/p-1ece11f1.entry.js +2 -0
  489. package/dist/web-components-library/p-1ece11f1.entry.js.map +1 -0
  490. package/dist/web-components-library/{p-2dde9b84.entry.js → p-2467913e.entry.js} +2 -2
  491. package/{www/build/p-2dde9b84.entry.js.map → dist/web-components-library/p-2467913e.entry.js.map} +1 -1
  492. package/dist/web-components-library/{p-ad74941b.entry.js → p-25be56d1.entry.js} +2 -2
  493. package/dist/web-components-library/p-28c972c6.entry.js +2 -0
  494. package/dist/web-components-library/{p-6f5f2d56.entry.js → p-29414fa3.entry.js} +2 -2
  495. package/{www/build/p-6f5f2d56.entry.js.map → dist/web-components-library/p-29414fa3.entry.js.map} +1 -1
  496. package/dist/web-components-library/p-301b56f1.entry.js +2 -0
  497. package/dist/web-components-library/p-301b56f1.entry.js.map +1 -0
  498. package/dist/web-components-library/p-30677b5c.entry.js +2 -0
  499. package/dist/web-components-library/p-30677b5c.entry.js.map +1 -0
  500. package/dist/web-components-library/p-32c1e2fa.entry.js +2 -0
  501. package/dist/web-components-library/p-32c1e2fa.entry.js.map +1 -0
  502. package/{www/build/p-31c5b39d.entry.js → dist/web-components-library/p-37a34984.entry.js} +2 -2
  503. package/dist/web-components-library/{p-195c19a5.entry.js → p-390bbfd4.entry.js} +2 -2
  504. package/dist/web-components-library/p-3a42612f.entry.js +2 -0
  505. package/dist/web-components-library/{p-4f33d4f4.entry.js → p-3d8cdd34.entry.js} +2 -2
  506. package/dist/web-components-library/p-431f5871.js +2 -0
  507. package/{www/build/p-6230c432.entry.js → dist/web-components-library/p-4de706ad.entry.js} +2 -2
  508. package/dist/web-components-library/{p-f49171aa.entry.js → p-53a2995c.entry.js} +2 -2
  509. package/dist/web-components-library/{p-22d56699.entry.js → p-55fad9b1.entry.js} +2 -2
  510. package/{www/build/p-c7df6a63.entry.js → dist/web-components-library/p-5a24e268.entry.js} +2 -2
  511. package/dist/web-components-library/{p-0a149188.entry.js → p-5d7bbd82.entry.js} +2 -2
  512. package/dist/web-components-library/{p-42559870.entry.js → p-5ed87dec.entry.js} +2 -2
  513. package/dist/web-components-library/p-61a83529.entry.js +2 -0
  514. package/dist/web-components-library/{p-9187ce36.entry.js → p-6655e19b.entry.js} +2 -2
  515. package/dist/web-components-library/{p-bbdb67db.entry.js → p-7314c74b.entry.js} +2 -2
  516. package/dist/web-components-library/p-7b13eeff.entry.js +2 -0
  517. package/dist/web-components-library/p-7b13eeff.entry.js.map +1 -0
  518. package/dist/web-components-library/p-7ce5ca87.entry.js +2 -0
  519. package/dist/web-components-library/p-7df942c9.entry.js +2 -0
  520. package/dist/web-components-library/p-7df942c9.entry.js.map +1 -0
  521. package/dist/web-components-library/p-7ecc3acf.entry.js +2 -0
  522. package/dist/web-components-library/p-7ecc3acf.entry.js.map +1 -0
  523. package/{www/build/p-c2af9a71.entry.js → dist/web-components-library/p-816fd6dc.entry.js} +2 -2
  524. package/dist/web-components-library/p-838b298b.entry.js +2 -0
  525. package/dist/web-components-library/p-838b298b.entry.js.map +1 -0
  526. package/dist/web-components-library/{p-2dcf53b3.entry.js → p-8c5dcab3.entry.js} +2 -2
  527. package/dist/web-components-library/p-8d043fc0.entry.js +7 -0
  528. package/dist/web-components-library/{p-2c5f77f2.entry.js.map → p-8d043fc0.entry.js.map} +1 -1
  529. package/dist/web-components-library/p-8eb94125.entry.js +2 -0
  530. package/{www/build/p-8e544914.entry.js.map → dist/web-components-library/p-8eb94125.entry.js.map} +1 -1
  531. package/dist/web-components-library/{p-d29f9574.entry.js → p-8fa23b47.entry.js} +2 -2
  532. package/{www/build/p-d29f9574.entry.js.map → dist/web-components-library/p-8fa23b47.entry.js.map} +1 -1
  533. package/dist/web-components-library/p-8fdf9453.entry.js +2 -0
  534. package/dist/web-components-library/{p-3243015c.entry.js.map → p-8fdf9453.entry.js.map} +1 -1
  535. package/{www/build/p-29a297ed.entry.js → dist/web-components-library/p-996446e2.entry.js} +2 -2
  536. package/dist/web-components-library/p-996446e2.entry.js.map +1 -0
  537. package/{www/build/p-96be6eae.entry.js → dist/web-components-library/p-99a6c92f.entry.js} +2 -2
  538. package/dist/web-components-library/{p-cdc51108.entry.js → p-9b2e5033.entry.js} +3 -3
  539. package/dist/web-components-library/p-9bad1dbc.entry.js +2 -0
  540. package/dist/web-components-library/p-9bad1dbc.entry.js.map +1 -0
  541. package/dist/web-components-library/{p-6337614a.entry.js → p-9fcc8e5d.entry.js} +2 -2
  542. package/{www/build/p-6337614a.entry.js.map → dist/web-components-library/p-9fcc8e5d.entry.js.map} +1 -1
  543. package/dist/web-components-library/p-aaab7f44.entry.js +2 -0
  544. package/dist/web-components-library/p-abc08ea3.entry.js +2 -0
  545. package/{www/build/p-475a2ba2.entry.js → dist/web-components-library/p-abd3b914.entry.js} +2 -2
  546. package/dist/web-components-library/p-acee5500.entry.js +2 -0
  547. package/dist/web-components-library/{p-0d60cc5e.entry.js → p-adb5caab.entry.js} +2 -2
  548. package/{www/build/p-0d60cc5e.entry.js.map → dist/web-components-library/p-adb5caab.entry.js.map} +1 -1
  549. package/dist/web-components-library/{p-f9fb6005.entry.js → p-ae1b5e23.entry.js} +2 -2
  550. package/{www/build/p-cc775eee.entry.js → dist/web-components-library/p-b1cbb20d.entry.js} +2 -2
  551. package/dist/web-components-library/p-b4018dab.entry.js +2 -0
  552. package/dist/web-components-library/p-b4018dab.entry.js.map +1 -0
  553. package/dist/web-components-library/{p-7091a1fc.entry.js → p-b94e0513.entry.js} +2 -2
  554. package/dist/web-components-library/{p-a1b6184f.js → p-bc408f39.js} +2 -2
  555. package/dist/web-components-library/p-bc71a934.entry.js +2 -0
  556. package/dist/web-components-library/p-bc71a934.entry.js.map +1 -0
  557. package/dist/web-components-library/p-bd44674f.entry.js +2 -0
  558. package/dist/web-components-library/p-bd44674f.entry.js.map +1 -0
  559. package/dist/web-components-library/p-cfbef2c3.entry.js +2 -0
  560. package/dist/web-components-library/p-d20df54b.entry.js +2 -0
  561. package/dist/web-components-library/p-d20df54b.entry.js.map +1 -0
  562. package/{www/build/p-bd5b0bce.entry.js → dist/web-components-library/p-d8d7db0e.entry.js} +2 -2
  563. package/dist/web-components-library/{p-30170218.entry.js → p-d9fdc804.entry.js} +2 -2
  564. package/{www/build/p-8e6760d9.entry.js → dist/web-components-library/p-df97df54.entry.js} +2 -2
  565. package/dist/web-components-library/p-df9f25a1.entry.js +2 -0
  566. package/dist/web-components-library/p-df9f25a1.entry.js.map +1 -0
  567. package/dist/web-components-library/p-dfcf9936.js +2 -0
  568. package/dist/web-components-library/p-dfcf9936.js.map +1 -0
  569. package/dist/web-components-library/p-e5ce98e0.entry.js +2 -0
  570. package/dist/web-components-library/p-e5ce98e0.entry.js.map +1 -0
  571. package/dist/web-components-library/p-ec8f8ac8.entry.js +2 -0
  572. package/dist/web-components-library/p-ec8f8ac8.entry.js.map +1 -0
  573. package/dist/web-components-library/{p-e087f05f.js → p-f3145212.js} +2 -2
  574. package/dist/web-components-library/p-f73d8a87.entry.js +2 -0
  575. package/dist/web-components-library/p-f73d8a87.entry.js.map +1 -0
  576. package/dist/web-components-library/{p-4c462e7f.js → p-f7f2beae.js} +2 -2
  577. package/dist/web-components-library/p-f8d49a59.entry.js +2 -0
  578. package/dist/web-components-library/p-f9f98130.entry.js +2 -0
  579. package/dist/web-components-library/p-f9f98130.entry.js.map +1 -0
  580. package/dist/web-components-library/p-fad6ea09.entry.js +2 -0
  581. package/dist/web-components-library/p-fad6ea09.entry.js.map +1 -0
  582. package/dist/web-components-library/web-components-library.css +142 -175
  583. package/dist/web-components-library/web-components-library.esm.js +1 -1
  584. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  585. package/package.json +2 -1
  586. package/www/build/index.esm.js +1 -1
  587. package/www/build/index.esm.js.map +1 -1
  588. package/{dist/web-components-library/p-b22d3c7d.js → www/build/p-00e88046.js} +2 -2
  589. package/www/build/{p-7ef2c4ce.entry.js → p-0bf8d989.entry.js} +2 -2
  590. package/www/build/{p-7b375bca.js → p-0cb113f9.js} +2 -2
  591. package/{dist/web-components-library/p-c3c99202.js → www/build/p-0d9f1574.js} +2 -2
  592. package/www/build/{p-fca17517.entry.js → p-121f2960.entry.js} +2 -2
  593. package/www/build/p-1bbf185c.js +2 -0
  594. package/www/build/{p-7f0cbe57.entry.js → p-1c51153b.entry.js} +2 -2
  595. package/{dist/web-components-library/p-5b6dd467.entry.js → www/build/p-1cbc1b08.entry.js} +2 -2
  596. package/www/build/{p-c7f8b628.entry.js → p-1e25d225.entry.js} +2 -2
  597. package/www/build/p-1ece11f1.entry.js +2 -0
  598. package/www/build/p-1ece11f1.entry.js.map +1 -0
  599. package/www/build/{p-2dde9b84.entry.js → p-2467913e.entry.js} +2 -2
  600. package/{dist/web-components-library/p-2dde9b84.entry.js.map → www/build/p-2467913e.entry.js.map} +1 -1
  601. package/www/build/{p-ad74941b.entry.js → p-25be56d1.entry.js} +2 -2
  602. package/www/build/p-28c972c6.entry.js +2 -0
  603. package/www/build/{p-6f5f2d56.entry.js → p-29414fa3.entry.js} +2 -2
  604. package/{dist/web-components-library/p-6f5f2d56.entry.js.map → www/build/p-29414fa3.entry.js.map} +1 -1
  605. package/www/build/p-301b56f1.entry.js +2 -0
  606. package/www/build/p-301b56f1.entry.js.map +1 -0
  607. package/www/build/p-30677b5c.entry.js +2 -0
  608. package/www/build/p-30677b5c.entry.js.map +1 -0
  609. package/www/build/p-32c1e2fa.entry.js +2 -0
  610. package/www/build/p-32c1e2fa.entry.js.map +1 -0
  611. package/www/build/p-3595114a.js +2 -0
  612. package/{dist/web-components-library/p-31c5b39d.entry.js → www/build/p-37a34984.entry.js} +2 -2
  613. package/www/build/{p-195c19a5.entry.js → p-390bbfd4.entry.js} +2 -2
  614. package/www/build/p-3a42612f.entry.js +2 -0
  615. package/www/build/{p-4f33d4f4.entry.js → p-3d8cdd34.entry.js} +2 -2
  616. package/www/build/p-431f5871.js +2 -0
  617. package/{dist/web-components-library/p-6230c432.entry.js → www/build/p-4de706ad.entry.js} +2 -2
  618. package/www/build/{p-f49171aa.entry.js → p-53a2995c.entry.js} +2 -2
  619. package/www/build/{p-22d56699.entry.js → p-55fad9b1.entry.js} +2 -2
  620. package/{dist/web-components-library/p-c7df6a63.entry.js → www/build/p-5a24e268.entry.js} +2 -2
  621. package/www/build/{p-0a149188.entry.js → p-5d7bbd82.entry.js} +2 -2
  622. package/www/build/{p-42559870.entry.js → p-5ed87dec.entry.js} +2 -2
  623. package/www/build/p-61a83529.entry.js +2 -0
  624. package/www/build/{p-9187ce36.entry.js → p-6655e19b.entry.js} +2 -2
  625. package/www/build/{p-bbdb67db.entry.js → p-7314c74b.entry.js} +2 -2
  626. package/www/build/p-7b13eeff.entry.js +2 -0
  627. package/www/build/p-7b13eeff.entry.js.map +1 -0
  628. package/www/build/p-7ce5ca87.entry.js +2 -0
  629. package/www/build/p-7df942c9.entry.js +2 -0
  630. package/www/build/p-7df942c9.entry.js.map +1 -0
  631. package/www/build/p-7ecc3acf.entry.js +2 -0
  632. package/www/build/p-7ecc3acf.entry.js.map +1 -0
  633. package/{dist/web-components-library/p-c2af9a71.entry.js → www/build/p-816fd6dc.entry.js} +2 -2
  634. package/www/build/p-838b298b.entry.js +2 -0
  635. package/www/build/p-838b298b.entry.js.map +1 -0
  636. package/www/build/{p-2dcf53b3.entry.js → p-8c5dcab3.entry.js} +2 -2
  637. package/www/build/p-8d043fc0.entry.js +7 -0
  638. package/www/build/{p-2c5f77f2.entry.js.map → p-8d043fc0.entry.js.map} +1 -1
  639. package/www/build/p-8eb94125.entry.js +2 -0
  640. package/{dist/web-components-library/p-8e544914.entry.js.map → www/build/p-8eb94125.entry.js.map} +1 -1
  641. package/www/build/{p-d29f9574.entry.js → p-8fa23b47.entry.js} +2 -2
  642. package/{dist/web-components-library/p-d29f9574.entry.js.map → www/build/p-8fa23b47.entry.js.map} +1 -1
  643. package/www/build/p-8fdf9453.entry.js +2 -0
  644. package/www/build/{p-3243015c.entry.js.map → p-8fdf9453.entry.js.map} +1 -1
  645. package/{dist/web-components-library/p-29a297ed.entry.js → www/build/p-996446e2.entry.js} +2 -2
  646. package/www/build/p-996446e2.entry.js.map +1 -0
  647. package/{dist/web-components-library/p-96be6eae.entry.js → www/build/p-99a6c92f.entry.js} +2 -2
  648. package/www/build/{p-cdc51108.entry.js → p-9b2e5033.entry.js} +3 -3
  649. package/www/build/p-9bad1dbc.entry.js +2 -0
  650. package/www/build/p-9bad1dbc.entry.js.map +1 -0
  651. package/www/build/{p-6337614a.entry.js → p-9fcc8e5d.entry.js} +2 -2
  652. package/{dist/web-components-library/p-6337614a.entry.js.map → www/build/p-9fcc8e5d.entry.js.map} +1 -1
  653. package/www/build/{p-5fcad73f.css → p-a69c66e4.css} +142 -175
  654. package/www/build/p-aaab7f44.entry.js +2 -0
  655. package/www/build/p-abc08ea3.entry.js +2 -0
  656. package/{dist/web-components-library/p-475a2ba2.entry.js → www/build/p-abd3b914.entry.js} +2 -2
  657. package/www/build/p-acee5500.entry.js +2 -0
  658. package/www/build/{p-0d60cc5e.entry.js → p-adb5caab.entry.js} +2 -2
  659. package/{dist/web-components-library/p-0d60cc5e.entry.js.map → www/build/p-adb5caab.entry.js.map} +1 -1
  660. package/www/build/{p-f9fb6005.entry.js → p-ae1b5e23.entry.js} +2 -2
  661. package/{dist/web-components-library/p-cc775eee.entry.js → www/build/p-b1cbb20d.entry.js} +2 -2
  662. package/www/build/p-b4018dab.entry.js +2 -0
  663. package/www/build/p-b4018dab.entry.js.map +1 -0
  664. package/www/build/{p-7091a1fc.entry.js → p-b94e0513.entry.js} +2 -2
  665. package/www/build/{p-a1b6184f.js → p-bc408f39.js} +2 -2
  666. package/www/build/p-bc71a934.entry.js +2 -0
  667. package/www/build/p-bc71a934.entry.js.map +1 -0
  668. package/www/build/p-bd44674f.entry.js +2 -0
  669. package/www/build/p-bd44674f.entry.js.map +1 -0
  670. package/www/build/p-cfbef2c3.entry.js +2 -0
  671. package/www/build/p-d20df54b.entry.js +2 -0
  672. package/www/build/p-d20df54b.entry.js.map +1 -0
  673. package/{dist/web-components-library/p-bd5b0bce.entry.js → www/build/p-d8d7db0e.entry.js} +2 -2
  674. package/www/build/{p-30170218.entry.js → p-d9fdc804.entry.js} +2 -2
  675. package/{dist/web-components-library/p-8e6760d9.entry.js → www/build/p-df97df54.entry.js} +2 -2
  676. package/www/build/p-df9f25a1.entry.js +2 -0
  677. package/www/build/p-df9f25a1.entry.js.map +1 -0
  678. package/www/build/p-dfcf9936.js +2 -0
  679. package/www/build/p-dfcf9936.js.map +1 -0
  680. package/www/build/p-e5ce98e0.entry.js +2 -0
  681. package/www/build/p-e5ce98e0.entry.js.map +1 -0
  682. package/www/build/p-ec8f8ac8.entry.js +2 -0
  683. package/www/build/p-ec8f8ac8.entry.js.map +1 -0
  684. package/www/build/{p-e087f05f.js → p-f3145212.js} +2 -2
  685. package/www/build/p-f73d8a87.entry.js +2 -0
  686. package/www/build/p-f73d8a87.entry.js.map +1 -0
  687. package/www/build/{p-4c462e7f.js → p-f7f2beae.js} +2 -2
  688. package/www/build/p-f8d49a59.entry.js +2 -0
  689. package/www/build/p-f9f98130.entry.js +2 -0
  690. package/www/build/p-f9f98130.entry.js.map +1 -0
  691. package/www/build/p-fad6ea09.entry.js +2 -0
  692. package/www/build/p-fad6ea09.entry.js.map +1 -0
  693. package/www/build/web-components-library.css +142 -175
  694. package/www/build/web-components-library.esm.js +1 -1
  695. package/www/build/web-components-library.esm.js.map +1 -1
  696. package/www/index.html +1 -1
  697. package/www/pages/book-cards.html +251 -250
  698. package/dist/cjs/index-a465bca8.js.map +0 -1
  699. package/dist/esm/index-c9fd4a10.js.map +0 -1
  700. package/dist/web-components-library/p-011fa0c8.entry.js +0 -2
  701. package/dist/web-components-library/p-011fa0c8.entry.js.map +0 -1
  702. package/dist/web-components-library/p-035807e3.entry.js +0 -2
  703. package/dist/web-components-library/p-035807e3.entry.js.map +0 -1
  704. package/dist/web-components-library/p-08d8f935.entry.js +0 -2
  705. package/dist/web-components-library/p-0e3ec0b2.entry.js +0 -2
  706. package/dist/web-components-library/p-0e3ec0b2.entry.js.map +0 -1
  707. package/dist/web-components-library/p-0fce007b.entry.js +0 -2
  708. package/dist/web-components-library/p-20e4a601.entry.js +0 -2
  709. package/dist/web-components-library/p-20e4a601.entry.js.map +0 -1
  710. package/dist/web-components-library/p-29a297ed.entry.js.map +0 -1
  711. package/dist/web-components-library/p-2aeb2a94.entry.js +0 -2
  712. package/dist/web-components-library/p-2b309f57.js +0 -2
  713. package/dist/web-components-library/p-2b309f57.js.map +0 -1
  714. package/dist/web-components-library/p-2c5f77f2.entry.js +0 -7
  715. package/dist/web-components-library/p-3243015c.entry.js +0 -2
  716. package/dist/web-components-library/p-384baa02.entry.js +0 -2
  717. package/dist/web-components-library/p-384baa02.entry.js.map +0 -1
  718. package/dist/web-components-library/p-3a6f069c.entry.js +0 -2
  719. package/dist/web-components-library/p-3a6f069c.entry.js.map +0 -1
  720. package/dist/web-components-library/p-4df7de6b.entry.js +0 -2
  721. package/dist/web-components-library/p-4df7de6b.entry.js.map +0 -1
  722. package/dist/web-components-library/p-5f04d9eb.entry.js +0 -2
  723. package/dist/web-components-library/p-5f04d9eb.entry.js.map +0 -1
  724. package/dist/web-components-library/p-6e1ba2f0.entry.js +0 -2
  725. package/dist/web-components-library/p-7095262b.entry.js +0 -2
  726. package/dist/web-components-library/p-7095262b.entry.js.map +0 -1
  727. package/dist/web-components-library/p-7779ebce.entry.js +0 -2
  728. package/dist/web-components-library/p-78626225.entry.js +0 -2
  729. package/dist/web-components-library/p-78626225.entry.js.map +0 -1
  730. package/dist/web-components-library/p-898fcd66.entry.js +0 -2
  731. package/dist/web-components-library/p-898fcd66.entry.js.map +0 -1
  732. package/dist/web-components-library/p-8e544914.entry.js +0 -2
  733. package/dist/web-components-library/p-9ec778dc.entry.js +0 -2
  734. package/dist/web-components-library/p-9ec778dc.entry.js.map +0 -1
  735. package/dist/web-components-library/p-a4ddeb5f.entry.js +0 -2
  736. package/dist/web-components-library/p-b38be247.entry.js +0 -2
  737. package/dist/web-components-library/p-b539c9be.entry.js +0 -2
  738. package/dist/web-components-library/p-b659f139.entry.js +0 -2
  739. package/dist/web-components-library/p-b659f139.entry.js.map +0 -1
  740. package/dist/web-components-library/p-b6de174b.entry.js +0 -2
  741. package/dist/web-components-library/p-b6de174b.entry.js.map +0 -1
  742. package/dist/web-components-library/p-b7cf2442.entry.js +0 -2
  743. package/dist/web-components-library/p-b7cf2442.entry.js.map +0 -1
  744. package/dist/web-components-library/p-bbd492d3.entry.js +0 -2
  745. package/dist/web-components-library/p-bbd492d3.entry.js.map +0 -1
  746. package/dist/web-components-library/p-c13ef624.js +0 -2
  747. package/dist/web-components-library/p-cb8aec27.entry.js +0 -2
  748. package/dist/web-components-library/p-dbcc4906.entry.js +0 -2
  749. package/dist/web-components-library/p-dbcc4906.entry.js.map +0 -1
  750. package/dist/web-components-library/p-ea36d666.entry.js +0 -2
  751. package/dist/web-components-library/p-ea36d666.entry.js.map +0 -1
  752. package/dist/web-components-library/p-fb06a5d8.entry.js +0 -2
  753. package/dist/web-components-library/p-fb06a5d8.entry.js.map +0 -1
  754. package/dist/web-components-library/p-feb84d36.js +0 -2
  755. package/www/build/p-011fa0c8.entry.js +0 -2
  756. package/www/build/p-011fa0c8.entry.js.map +0 -1
  757. package/www/build/p-035807e3.entry.js +0 -2
  758. package/www/build/p-035807e3.entry.js.map +0 -1
  759. package/www/build/p-08d8f935.entry.js +0 -2
  760. package/www/build/p-0e3ec0b2.entry.js +0 -2
  761. package/www/build/p-0e3ec0b2.entry.js.map +0 -1
  762. package/www/build/p-0fce007b.entry.js +0 -2
  763. package/www/build/p-20e4a601.entry.js +0 -2
  764. package/www/build/p-20e4a601.entry.js.map +0 -1
  765. package/www/build/p-29a297ed.entry.js.map +0 -1
  766. package/www/build/p-2aeb2a94.entry.js +0 -2
  767. package/www/build/p-2b309f57.js +0 -2
  768. package/www/build/p-2c5f77f2.entry.js +0 -7
  769. package/www/build/p-3243015c.entry.js +0 -2
  770. package/www/build/p-384baa02.entry.js +0 -2
  771. package/www/build/p-384baa02.entry.js.map +0 -1
  772. package/www/build/p-3a6f069c.entry.js +0 -2
  773. package/www/build/p-3a6f069c.entry.js.map +0 -1
  774. package/www/build/p-4df7de6b.entry.js +0 -2
  775. package/www/build/p-4df7de6b.entry.js.map +0 -1
  776. package/www/build/p-5f04d9eb.entry.js +0 -2
  777. package/www/build/p-5f04d9eb.entry.js.map +0 -1
  778. package/www/build/p-6e1ba2f0.entry.js +0 -2
  779. package/www/build/p-7095262b.entry.js +0 -2
  780. package/www/build/p-7095262b.entry.js.map +0 -1
  781. package/www/build/p-7779ebce.entry.js +0 -2
  782. package/www/build/p-78626225.entry.js +0 -2
  783. package/www/build/p-78626225.entry.js.map +0 -1
  784. package/www/build/p-898fcd66.entry.js +0 -2
  785. package/www/build/p-898fcd66.entry.js.map +0 -1
  786. package/www/build/p-8e544914.entry.js +0 -2
  787. package/www/build/p-9ec778dc.entry.js +0 -2
  788. package/www/build/p-9ec778dc.entry.js.map +0 -1
  789. package/www/build/p-a0155994.js +0 -2
  790. package/www/build/p-a4ddeb5f.entry.js +0 -2
  791. package/www/build/p-b38be247.entry.js +0 -2
  792. package/www/build/p-b539c9be.entry.js +0 -2
  793. package/www/build/p-b659f139.entry.js +0 -2
  794. package/www/build/p-b659f139.entry.js.map +0 -1
  795. package/www/build/p-b6de174b.entry.js +0 -2
  796. package/www/build/p-b6de174b.entry.js.map +0 -1
  797. package/www/build/p-b7cf2442.entry.js +0 -2
  798. package/www/build/p-b7cf2442.entry.js.map +0 -1
  799. package/www/build/p-bbd492d3.entry.js +0 -2
  800. package/www/build/p-bbd492d3.entry.js.map +0 -1
  801. package/www/build/p-c13ef624.js +0 -2
  802. package/www/build/p-cb8aec27.entry.js +0 -2
  803. package/www/build/p-dbcc4906.entry.js +0 -2
  804. package/www/build/p-dbcc4906.entry.js.map +0 -1
  805. package/www/build/p-ea36d666.entry.js +0 -2
  806. package/www/build/p-ea36d666.entry.js.map +0 -1
  807. package/www/build/p-fb06a5d8.entry.js +0 -2
  808. package/www/build/p-fb06a5d8.entry.js.map +0 -1
  809. package/www/build/p-feb84d36.js +0 -2
  810. /package/dist/web-components-library/{p-b22d3c7d.js.map → p-00e88046.js.map} +0 -0
  811. /package/dist/web-components-library/{p-7ef2c4ce.entry.js.map → p-0bf8d989.entry.js.map} +0 -0
  812. /package/dist/web-components-library/{p-7b375bca.js.map → p-0cb113f9.js.map} +0 -0
  813. /package/dist/web-components-library/{p-c3c99202.js.map → p-0d9f1574.js.map} +0 -0
  814. /package/dist/web-components-library/{p-fca17517.entry.js.map → p-121f2960.entry.js.map} +0 -0
  815. /package/dist/web-components-library/{p-c13ef624.js.map → p-1bbf185c.js.map} +0 -0
  816. /package/dist/web-components-library/{p-7f0cbe57.entry.js.map → p-1c51153b.entry.js.map} +0 -0
  817. /package/dist/web-components-library/{p-5b6dd467.entry.js.map → p-1cbc1b08.entry.js.map} +0 -0
  818. /package/dist/web-components-library/{p-c7f8b628.entry.js.map → p-1e25d225.entry.js.map} +0 -0
  819. /package/dist/web-components-library/{p-ad74941b.entry.js.map → p-25be56d1.entry.js.map} +0 -0
  820. /package/dist/web-components-library/{p-7779ebce.entry.js.map → p-28c972c6.entry.js.map} +0 -0
  821. /package/dist/web-components-library/{p-31c5b39d.entry.js.map → p-37a34984.entry.js.map} +0 -0
  822. /package/dist/web-components-library/{p-195c19a5.entry.js.map → p-390bbfd4.entry.js.map} +0 -0
  823. /package/dist/web-components-library/{p-0fce007b.entry.js.map → p-3a42612f.entry.js.map} +0 -0
  824. /package/dist/web-components-library/{p-4f33d4f4.entry.js.map → p-3d8cdd34.entry.js.map} +0 -0
  825. /package/dist/web-components-library/{p-feb84d36.js.map → p-431f5871.js.map} +0 -0
  826. /package/dist/web-components-library/{p-6230c432.entry.js.map → p-4de706ad.entry.js.map} +0 -0
  827. /package/dist/web-components-library/{p-f49171aa.entry.js.map → p-53a2995c.entry.js.map} +0 -0
  828. /package/dist/web-components-library/{p-22d56699.entry.js.map → p-55fad9b1.entry.js.map} +0 -0
  829. /package/dist/web-components-library/{p-c7df6a63.entry.js.map → p-5a24e268.entry.js.map} +0 -0
  830. /package/dist/web-components-library/{p-0a149188.entry.js.map → p-5d7bbd82.entry.js.map} +0 -0
  831. /package/dist/web-components-library/{p-42559870.entry.js.map → p-5ed87dec.entry.js.map} +0 -0
  832. /package/dist/web-components-library/{p-2aeb2a94.entry.js.map → p-61a83529.entry.js.map} +0 -0
  833. /package/dist/web-components-library/{p-9187ce36.entry.js.map → p-6655e19b.entry.js.map} +0 -0
  834. /package/dist/web-components-library/{p-bbdb67db.entry.js.map → p-7314c74b.entry.js.map} +0 -0
  835. /package/dist/web-components-library/{p-cb8aec27.entry.js.map → p-7ce5ca87.entry.js.map} +0 -0
  836. /package/dist/web-components-library/{p-c2af9a71.entry.js.map → p-816fd6dc.entry.js.map} +0 -0
  837. /package/dist/web-components-library/{p-2dcf53b3.entry.js.map → p-8c5dcab3.entry.js.map} +0 -0
  838. /package/dist/web-components-library/{p-96be6eae.entry.js.map → p-99a6c92f.entry.js.map} +0 -0
  839. /package/dist/web-components-library/{p-cdc51108.entry.js.map → p-9b2e5033.entry.js.map} +0 -0
  840. /package/dist/web-components-library/{p-6e1ba2f0.entry.js.map → p-aaab7f44.entry.js.map} +0 -0
  841. /package/dist/web-components-library/{p-a4ddeb5f.entry.js.map → p-abc08ea3.entry.js.map} +0 -0
  842. /package/dist/web-components-library/{p-475a2ba2.entry.js.map → p-abd3b914.entry.js.map} +0 -0
  843. /package/dist/web-components-library/{p-08d8f935.entry.js.map → p-acee5500.entry.js.map} +0 -0
  844. /package/dist/web-components-library/{p-f9fb6005.entry.js.map → p-ae1b5e23.entry.js.map} +0 -0
  845. /package/dist/web-components-library/{p-cc775eee.entry.js.map → p-b1cbb20d.entry.js.map} +0 -0
  846. /package/dist/web-components-library/{p-7091a1fc.entry.js.map → p-b94e0513.entry.js.map} +0 -0
  847. /package/dist/web-components-library/{p-a1b6184f.js.map → p-bc408f39.js.map} +0 -0
  848. /package/dist/web-components-library/{p-b38be247.entry.js.map → p-cfbef2c3.entry.js.map} +0 -0
  849. /package/dist/web-components-library/{p-bd5b0bce.entry.js.map → p-d8d7db0e.entry.js.map} +0 -0
  850. /package/dist/web-components-library/{p-30170218.entry.js.map → p-d9fdc804.entry.js.map} +0 -0
  851. /package/dist/web-components-library/{p-8e6760d9.entry.js.map → p-df97df54.entry.js.map} +0 -0
  852. /package/dist/web-components-library/{p-e087f05f.js.map → p-f3145212.js.map} +0 -0
  853. /package/dist/web-components-library/{p-4c462e7f.js.map → p-f7f2beae.js.map} +0 -0
  854. /package/dist/web-components-library/{p-b539c9be.entry.js.map → p-f8d49a59.entry.js.map} +0 -0
  855. /package/www/build/{p-b22d3c7d.js.map → p-00e88046.js.map} +0 -0
  856. /package/www/build/{p-7ef2c4ce.entry.js.map → p-0bf8d989.entry.js.map} +0 -0
  857. /package/www/build/{p-7b375bca.js.map → p-0cb113f9.js.map} +0 -0
  858. /package/www/build/{p-c3c99202.js.map → p-0d9f1574.js.map} +0 -0
  859. /package/www/build/{p-fca17517.entry.js.map → p-121f2960.entry.js.map} +0 -0
  860. /package/www/build/{p-c13ef624.js.map → p-1bbf185c.js.map} +0 -0
  861. /package/www/build/{p-7f0cbe57.entry.js.map → p-1c51153b.entry.js.map} +0 -0
  862. /package/www/build/{p-5b6dd467.entry.js.map → p-1cbc1b08.entry.js.map} +0 -0
  863. /package/www/build/{p-c7f8b628.entry.js.map → p-1e25d225.entry.js.map} +0 -0
  864. /package/www/build/{p-ad74941b.entry.js.map → p-25be56d1.entry.js.map} +0 -0
  865. /package/www/build/{p-7779ebce.entry.js.map → p-28c972c6.entry.js.map} +0 -0
  866. /package/www/build/{p-31c5b39d.entry.js.map → p-37a34984.entry.js.map} +0 -0
  867. /package/www/build/{p-195c19a5.entry.js.map → p-390bbfd4.entry.js.map} +0 -0
  868. /package/www/build/{p-0fce007b.entry.js.map → p-3a42612f.entry.js.map} +0 -0
  869. /package/www/build/{p-4f33d4f4.entry.js.map → p-3d8cdd34.entry.js.map} +0 -0
  870. /package/www/build/{p-feb84d36.js.map → p-431f5871.js.map} +0 -0
  871. /package/www/build/{p-6230c432.entry.js.map → p-4de706ad.entry.js.map} +0 -0
  872. /package/www/build/{p-f49171aa.entry.js.map → p-53a2995c.entry.js.map} +0 -0
  873. /package/www/build/{p-22d56699.entry.js.map → p-55fad9b1.entry.js.map} +0 -0
  874. /package/www/build/{p-c7df6a63.entry.js.map → p-5a24e268.entry.js.map} +0 -0
  875. /package/www/build/{p-0a149188.entry.js.map → p-5d7bbd82.entry.js.map} +0 -0
  876. /package/www/build/{p-42559870.entry.js.map → p-5ed87dec.entry.js.map} +0 -0
  877. /package/www/build/{p-2aeb2a94.entry.js.map → p-61a83529.entry.js.map} +0 -0
  878. /package/www/build/{p-9187ce36.entry.js.map → p-6655e19b.entry.js.map} +0 -0
  879. /package/www/build/{p-bbdb67db.entry.js.map → p-7314c74b.entry.js.map} +0 -0
  880. /package/www/build/{p-cb8aec27.entry.js.map → p-7ce5ca87.entry.js.map} +0 -0
  881. /package/www/build/{p-c2af9a71.entry.js.map → p-816fd6dc.entry.js.map} +0 -0
  882. /package/www/build/{p-2dcf53b3.entry.js.map → p-8c5dcab3.entry.js.map} +0 -0
  883. /package/www/build/{p-96be6eae.entry.js.map → p-99a6c92f.entry.js.map} +0 -0
  884. /package/www/build/{p-cdc51108.entry.js.map → p-9b2e5033.entry.js.map} +0 -0
  885. /package/www/build/{p-6e1ba2f0.entry.js.map → p-aaab7f44.entry.js.map} +0 -0
  886. /package/www/build/{p-a4ddeb5f.entry.js.map → p-abc08ea3.entry.js.map} +0 -0
  887. /package/www/build/{p-475a2ba2.entry.js.map → p-abd3b914.entry.js.map} +0 -0
  888. /package/www/build/{p-08d8f935.entry.js.map → p-acee5500.entry.js.map} +0 -0
  889. /package/www/build/{p-f9fb6005.entry.js.map → p-ae1b5e23.entry.js.map} +0 -0
  890. /package/www/build/{p-cc775eee.entry.js.map → p-b1cbb20d.entry.js.map} +0 -0
  891. /package/www/build/{p-7091a1fc.entry.js.map → p-b94e0513.entry.js.map} +0 -0
  892. /package/www/build/{p-a1b6184f.js.map → p-bc408f39.js.map} +0 -0
  893. /package/www/build/{p-b38be247.entry.js.map → p-cfbef2c3.entry.js.map} +0 -0
  894. /package/www/build/{p-bd5b0bce.entry.js.map → p-d8d7db0e.entry.js.map} +0 -0
  895. /package/www/build/{p-30170218.entry.js.map → p-d9fdc804.entry.js.map} +0 -0
  896. /package/www/build/{p-8e6760d9.entry.js.map → p-df97df54.entry.js.map} +0 -0
  897. /package/www/build/{p-e087f05f.js.map → p-f3145212.js.map} +0 -0
  898. /package/www/build/{p-4c462e7f.js.map → p-f7f2beae.js.map} +0 -0
  899. /package/www/build/{p-b539c9be.entry.js.map → p-f8d49a59.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZDragdropAreaStyle0","ZDragdropArea","onDrop","e","preventDefault","this","dragging","dataTransfer","files","length","fileDropped","emit","render","h","Host","key","class","dragover","onDragOver","onDragLeave","bind","dragAndDropLabel","supportCustomEvent","window","CustomEvent","event","x","ev","document","createEvent","initCustomEvent","bubbles","cancelable","detail","prototype","Event","safeDispatchEvent","target","check","type","toLowerCase","dispatchEvent","createsStackingContext","el","body","s","getComputedStyle","invalid","k","ok","undefined","opacity","position","webkitOverflowScrolling","parentElement","findNearestDialog","localName","parentNode","host","safeBlur","shadowRoot","activeElement","blur","inNodeList","nodeList","node","i","isFormMethodDialog","hasAttribute","getAttribute","findFocusableElementWithin","hostElement","opts","query","map","push","querySelector","join","Element","elems","querySelectorAll","tagName","isConnected","element","contains","findFormSubmitter","submitter","form","HTMLFormElement","dialogPolyfill","formSubmitter","root","getRootNode","maybeHandleSubmit","defaultPrevented","value","imagemapUseValue","dialog","formmethod","close","dialogPolyfillInfo","dialog_","replacedStyleTop_","openAsModal_","setAttribute","show","showModal","addEventListener","returnValue","mo","MutationObserver","maybeHideModal","observe","attributes","attributeFilter","removed","cb","downgradeModal","timeout","delayModel","cand","substr","clearTimeout","setTimeout","forEach","name","Object","defineProperty","set","setOpen","get","backdrop_","createElement","className","backdropMouseEvent_","style","zIndex","top","removeChild","dm","removeDialog","removeAttribute","fake","insertBefore","firstChild","tabIndex","focus","redirectedEvent","initMouseEvent","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","stopPropagation","focus_","updateZIndex","dialogZ","backdropZ","Error","open","pushDialog","console","warn","needsCentering","reposition","nextSibling","opt_returnValue","closeEvent","scrollTop","documentElement","topValue","innerHeight","offsetHeight","Math","max","isInlinePositionSetByStylesheet","styleSheets","styleSheet","cssRules","j","rule","selectedNodes","selectorText","cssTop","getPropertyValue","cssBottom","computedStyle","bottom","forceRegisterDialog","HTMLDialogElement","registerDialog","DialogManager","pendingDialogStack","checkDOM","checkDOM_","overlay","forwardTab_","handleKey_","handleFocus_","zIndexLow_","zIndexHigh_","mo_","records","rec","c","removedNodes","concat","blockDocument","childList","subtree","unblockDocument","removeEventListener","disconnect","updateStacking","dpi","last","p","appendChild","containedByTopDialog_","candidate","composedPath","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","keyCode","cancelEvent","clone","slice","indexOf","allowed","unshift","index","splice","testForm","method","methodDescriptor","getOwnPropertyDescriptor","realGet","call","realSet","v","path","shift","valid","offsetX","offsetY","nativeFormSubmit","submit","replacementFormSubmit","ZModalStyle0","FOCUSABLE_ELEMENTS_SELECTOR","ZModal","emitModalClose","closable","modalClose","modalid","resetPageScroll","emitModalHeaderActive","modalHeaderActive","emitBackgroundClick","modalBackgroundClick","lockPageScroll","overflowY","componentDidLoad","requestAnimationFrame","disconnectedCallback","_a","focusableElements","Array","from","filter","display","handleKeyDown","code","KeyboardCode","ESC","TAB","shadowActiveElement","ownerDocument","firstFocusableElement","lastFocusableElement","closeButtonSlot","closeButtonLabel","onClick","handleEscape","scrollInside","role","alertdialog","ref","onClose","onCancel","id","modaltitle","modalsubtitle"],"sources":["src/components/file-upload/z-dragdrop-area/styles.css?tag=z-dragdrop-area&encapsulation=shadow","src/components/file-upload/z-dragdrop-area/index.tsx","node_modules/dialog-polyfill/dist/dialog-polyfill.esm.js","src/components/z-modal/styles.css?tag=z-modal&encapsulation=shadow","src/components/z-modal/index.tsx"],"sourcesContent":[":host {\n position: relative;\n display: flex;\n width: 100%;\n height: 232px;\n flex-direction: column;\n align-items: center;\n padding: calc(var(--space-unit) * 3);\n background-color: var(--color-surface02);\n background-image:\n repeating-linear-gradient(\n 0deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 90deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 180deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 270deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n );\n background-position:\n 0 0,\n 0 0,\n 100% 0,\n 0 100%;\n background-repeat: no-repeat;\n background-size:\n 2px 100%,\n 100% 2px,\n 2px 100%,\n 100% 2px;\n border-radius: var(--border-radius-small);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n/* https://stackoverflow.com/questions/7110353/html5-dragleave-fired-when-hovering-a-child-element */\n:host(.dragover) * {\n pointer-events: none;\n}\n\n.dragover-container {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n display: none;\n width: 100%;\n height: 100%;\n background-color: var(--color-primary03);\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host(.dragover) .dragover-container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","import {Component, Event, EventEmitter, Host, Prop, State, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-dragdrop-area\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZDragdropArea {\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel: string;\n\n /** State that indicates if the user is dragging a file over the drag & drop area */\n @State()\n dragging = false;\n\n /** Emitted when user drop one or more files */\n @Event()\n fileDropped: EventEmitter;\n\n private onDrop(e: DragEvent): void {\n e.preventDefault();\n this.dragging = false;\n if (e.dataTransfer.files.length) {\n this.fileDropped.emit(e.dataTransfer.files);\n }\n }\n\n render(): HTMLZDragdropAreaElement {\n return (\n <Host\n class={{dragover: this.dragging}}\n onDragOver={(e) => {\n e.preventDefault();\n this.dragging = true;\n }}\n onDragLeave={() => {\n this.dragging = false;\n }}\n onDrop={this.onDrop.bind(this)}\n >\n <div class=\"dragover-container\">\n <z-button>{this.dragAndDropLabel}</z-button>\n </div>\n <slot />\n </Host>\n );\n }\n}\n","// nb. This is for IE10 and lower _only_.\nvar supportCustomEvent = window.CustomEvent;\nif (!supportCustomEvent || typeof supportCustomEvent === 'object') {\n supportCustomEvent = function CustomEvent(event, x) {\n x = x || {};\n var ev = document.createEvent('CustomEvent');\n ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null);\n return ev;\n };\n supportCustomEvent.prototype = window.Event.prototype;\n}\n\n/**\n * Dispatches the passed event to both an \"on<type>\" handler as well as via the\n * normal dispatch operation. Does not bubble.\n *\n * @param {!EventTarget} target\n * @param {!Event} event\n * @return {boolean}\n */\nfunction safeDispatchEvent(target, event) {\n var check = 'on' + event.type.toLowerCase();\n if (typeof target[check] === 'function') {\n target[check](event);\n }\n return target.dispatchEvent(event);\n}\n\n/**\n * @param {Element} el to check for stacking context\n * @return {boolean} whether this el or its parents creates a stacking context\n */\nfunction createsStackingContext(el) {\n while (el && el !== document.body) {\n var s = window.getComputedStyle(el);\n var invalid = function(k, ok) {\n return !(s[k] === undefined || s[k] === ok);\n };\n\n if (s.opacity < 1 ||\n invalid('zIndex', 'auto') ||\n invalid('transform', 'none') ||\n invalid('mixBlendMode', 'normal') ||\n invalid('filter', 'none') ||\n invalid('perspective', 'none') ||\n s['isolation'] === 'isolate' ||\n s.position === 'fixed' ||\n s.webkitOverflowScrolling === 'touch') {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the nearest <dialog> from the passed element.\n *\n * @param {Element} el to search from\n * @return {HTMLDialogElement} dialog found\n */\nfunction findNearestDialog(el) {\n while (el) {\n if (el.localName === 'dialog') {\n return /** @type {HTMLDialogElement} */ (el);\n }\n if (el.parentElement) {\n el = el.parentElement;\n } else if (el.parentNode) {\n el = el.parentNode.host;\n } else {\n el = null;\n }\n }\n return null;\n}\n\n/**\n * Blur the specified element, as long as it's not the HTML body element.\n * This works around an IE9/10 bug - blurring the body causes Windows to\n * blur the whole application.\n *\n * @param {Element} el to blur\n */\nfunction safeBlur(el) {\n // Find the actual focused element when the active element is inside a shadow root\n while (el && el.shadowRoot && el.shadowRoot.activeElement) {\n el = el.shadowRoot.activeElement;\n }\n\n if (el && el.blur && el !== document.body) {\n el.blur();\n }\n}\n\n/**\n * @param {!NodeList} nodeList to search\n * @param {Node} node to find\n * @return {boolean} whether node is inside nodeList\n */\nfunction inNodeList(nodeList, node) {\n for (var i = 0; i < nodeList.length; ++i) {\n if (nodeList[i] === node) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * @param {HTMLFormElement} el to check\n * @return {boolean} whether this form has method=\"dialog\"\n */\nfunction isFormMethodDialog(el) {\n if (!el || !el.hasAttribute('method')) {\n return false;\n }\n return el.getAttribute('method').toLowerCase() === 'dialog';\n}\n\n/**\n * @param {!DocumentFragment|!Element} hostElement\n * @return {?Element}\n */\nfunction findFocusableElementWithin(hostElement) {\n // Note that this is 'any focusable area'. This list is probably not exhaustive, but the\n // alternative involves stepping through and trying to focus everything.\n var opts = ['button', 'input', 'keygen', 'select', 'textarea'];\n var query = opts.map(function(el) {\n return el + ':not([disabled])';\n });\n // TODO(samthor): tabindex values that are not numeric are not focusable.\n query.push('[tabindex]:not([disabled]):not([tabindex=\"\"])'); // tabindex != \"\", not disabled\n var target = hostElement.querySelector(query.join(', '));\n\n if (!target && 'attachShadow' in Element.prototype) {\n // If we haven't found a focusable target, see if the host element contains an element\n // which has a shadowRoot.\n // Recursively search for the first focusable item in shadow roots.\n var elems = hostElement.querySelectorAll('*');\n for (var i = 0; i < elems.length; i++) {\n if (elems[i].tagName && elems[i].shadowRoot) {\n target = findFocusableElementWithin(elems[i].shadowRoot);\n if (target) {\n break;\n }\n }\n }\n }\n return target;\n}\n\n/**\n * Determines if an element is attached to the DOM.\n * @param {Element} element to check\n * @return {boolean} whether the element is in DOM\n */\nfunction isConnected(element) {\n return element.isConnected || document.body.contains(element);\n}\n\n/**\n * @param {!Event} event\n * @return {?Element}\n */\nfunction findFormSubmitter(event) {\n if (event.submitter) {\n return event.submitter;\n }\n\n var form = event.target;\n if (!(form instanceof HTMLFormElement)) {\n return null;\n }\n\n var submitter = dialogPolyfill.formSubmitter;\n if (!submitter) {\n var target = event.target;\n var root = ('getRootNode' in target && target.getRootNode() || document);\n submitter = root.activeElement;\n }\n\n if (!submitter || submitter.form !== form) {\n return null;\n }\n return submitter;\n}\n\n/**\n * @param {!Event} event\n */\nfunction maybeHandleSubmit(event) {\n if (event.defaultPrevented) {\n return;\n }\n var form = /** @type {!HTMLFormElement} */ (event.target);\n\n // We'd have a value if we clicked on an imagemap.\n var value = dialogPolyfill.imagemapUseValue;\n var submitter = findFormSubmitter(event);\n if (value === null && submitter) {\n value = submitter.value;\n }\n\n // There should always be a dialog as this handler is added specifically on them, but check just\n // in case.\n var dialog = findNearestDialog(form);\n if (!dialog) {\n return;\n }\n\n // Prefer formmethod on the button.\n var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method');\n if (formmethod !== 'dialog') {\n return;\n }\n event.preventDefault();\n\n if (value != null) {\n // nb. we explicitly check against null/undefined\n dialog.close(value);\n } else {\n dialog.close();\n }\n}\n\n/**\n * @param {!HTMLDialogElement} dialog to upgrade\n * @constructor\n */\nfunction dialogPolyfillInfo(dialog) {\n this.dialog_ = dialog;\n this.replacedStyleTop_ = false;\n this.openAsModal_ = false;\n\n // Set a11y role. Browsers that support dialog implicitly know this already.\n if (!dialog.hasAttribute('role')) {\n dialog.setAttribute('role', 'dialog');\n }\n\n dialog.show = this.show.bind(this);\n dialog.showModal = this.showModal.bind(this);\n dialog.close = this.close.bind(this);\n\n dialog.addEventListener('submit', maybeHandleSubmit, false);\n\n if (!('returnValue' in dialog)) {\n dialog.returnValue = '';\n }\n\n if ('MutationObserver' in window) {\n var mo = new MutationObserver(this.maybeHideModal.bind(this));\n mo.observe(dialog, {attributes: true, attributeFilter: ['open']});\n } else {\n // IE10 and below support. Note that DOMNodeRemoved etc fire _before_ removal. They also\n // seem to fire even if the element was removed as part of a parent removal. Use the removed\n // events to force downgrade (useful if removed/immediately added).\n var removed = false;\n var cb = function() {\n removed ? this.downgradeModal() : this.maybeHideModal();\n removed = false;\n }.bind(this);\n var timeout;\n var delayModel = function(ev) {\n if (ev.target !== dialog) { return; } // not for a child element\n var cand = 'DOMNodeRemoved';\n removed |= (ev.type.substr(0, cand.length) === cand);\n window.clearTimeout(timeout);\n timeout = window.setTimeout(cb, 0);\n };\n ['DOMAttrModified', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument'].forEach(function(name) {\n dialog.addEventListener(name, delayModel);\n });\n }\n // Note that the DOM is observed inside DialogManager while any dialog\n // is being displayed as a modal, to catch modal removal from the DOM.\n\n Object.defineProperty(dialog, 'open', {\n set: this.setOpen.bind(this),\n get: dialog.hasAttribute.bind(dialog, 'open')\n });\n\n this.backdrop_ = document.createElement('div');\n this.backdrop_.className = 'backdrop';\n this.backdrop_.addEventListener('mouseup' , this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('mousedown', this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('click' , this.backdropMouseEvent_.bind(this));\n}\n\ndialogPolyfillInfo.prototype = /** @type {HTMLDialogElement.prototype} */ ({\n\n get dialog() {\n return this.dialog_;\n },\n\n /**\n * Maybe remove this dialog from the modal top layer. This is called when\n * a modal dialog may no longer be tenable, e.g., when the dialog is no\n * longer open or is no longer part of the DOM.\n */\n maybeHideModal: function() {\n if (this.dialog_.hasAttribute('open') && isConnected(this.dialog_)) { return; }\n this.downgradeModal();\n },\n\n /**\n * Remove this dialog from the modal top layer, leaving it as a non-modal.\n */\n downgradeModal: function() {\n if (!this.openAsModal_) { return; }\n this.openAsModal_ = false;\n this.dialog_.style.zIndex = '';\n\n // This won't match the native <dialog> exactly because if the user set top on a centered\n // polyfill dialog, that top gets thrown away when the dialog is closed. Not sure it's\n // possible to polyfill this perfectly.\n if (this.replacedStyleTop_) {\n this.dialog_.style.top = '';\n this.replacedStyleTop_ = false;\n }\n\n // Clear the backdrop and remove from the manager.\n this.backdrop_.parentNode && this.backdrop_.parentNode.removeChild(this.backdrop_);\n dialogPolyfill.dm.removeDialog(this);\n },\n\n /**\n * @param {boolean} value whether to open or close this dialog\n */\n setOpen: function(value) {\n if (value) {\n this.dialog_.hasAttribute('open') || this.dialog_.setAttribute('open', '');\n } else {\n this.dialog_.removeAttribute('open');\n this.maybeHideModal(); // nb. redundant with MutationObserver\n }\n },\n\n /**\n * Handles mouse events ('mouseup', 'mousedown', 'click') on the fake .backdrop element, redirecting them as if\n * they were on the dialog itself.\n *\n * @param {!Event} e to redirect\n */\n backdropMouseEvent_: function(e) {\n if (!this.dialog_.hasAttribute('tabindex')) {\n // Clicking on the backdrop should move the implicit cursor, even if dialog cannot be\n // focused. Create a fake thing to focus on. If the backdrop was _before_ the dialog, this\n // would not be needed - clicks would move the implicit cursor there.\n var fake = document.createElement('div');\n this.dialog_.insertBefore(fake, this.dialog_.firstChild);\n fake.tabIndex = -1;\n fake.focus();\n this.dialog_.removeChild(fake);\n } else {\n this.dialog_.focus();\n }\n\n var redirectedEvent = document.createEvent('MouseEvents');\n redirectedEvent.initMouseEvent(e.type, e.bubbles, e.cancelable, window,\n e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey,\n e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);\n this.dialog_.dispatchEvent(redirectedEvent);\n e.stopPropagation();\n },\n\n /**\n * Focuses on the first focusable element within the dialog. This will always blur the current\n * focus, even if nothing within the dialog is found.\n */\n focus_: function() {\n // Find element with `autofocus` attribute, or fall back to the first form/tabindex control.\n var target = this.dialog_.querySelector('[autofocus]:not([disabled])');\n if (!target && this.dialog_.tabIndex >= 0) {\n target = this.dialog_;\n }\n if (!target) {\n target = findFocusableElementWithin(this.dialog_);\n }\n safeBlur(document.activeElement);\n target && target.focus();\n },\n\n /**\n * Sets the zIndex for the backdrop and dialog.\n *\n * @param {number} dialogZ\n * @param {number} backdropZ\n */\n updateZIndex: function(dialogZ, backdropZ) {\n if (dialogZ < backdropZ) {\n throw new Error('dialogZ should never be < backdropZ');\n }\n this.dialog_.style.zIndex = dialogZ;\n this.backdrop_.style.zIndex = backdropZ;\n },\n\n /**\n * Shows the dialog. If the dialog is already open, this does nothing.\n */\n show: function() {\n if (!this.dialog_.open) {\n this.setOpen(true);\n this.focus_();\n }\n },\n\n /**\n * Show this dialog modally.\n */\n showModal: function() {\n if (this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is already open, and therefore cannot be opened modally.');\n }\n if (!isConnected(this.dialog_)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is not in a Document.');\n }\n if (!dialogPolyfill.dm.pushDialog(this)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: There are too many open modal dialogs.');\n }\n\n if (createsStackingContext(this.dialog_.parentElement)) {\n console.warn('A dialog is being shown inside a stacking context. ' +\n 'This may cause it to be unusable. For more information, see this link: ' +\n 'https://github.com/GoogleChrome/dialog-polyfill/#stacking-context');\n }\n\n this.setOpen(true);\n this.openAsModal_ = true;\n\n // Optionally center vertically, relative to the current viewport.\n if (dialogPolyfill.needsCentering(this.dialog_)) {\n dialogPolyfill.reposition(this.dialog_);\n this.replacedStyleTop_ = true;\n } else {\n this.replacedStyleTop_ = false;\n }\n\n // Insert backdrop.\n this.dialog_.parentNode.insertBefore(this.backdrop_, this.dialog_.nextSibling);\n\n // Focus on whatever inside the dialog.\n this.focus_();\n },\n\n /**\n * Closes this HTMLDialogElement. This is optional vs clearing the open\n * attribute, however this fires a 'close' event.\n *\n * @param {string=} opt_returnValue to use as the returnValue\n */\n close: function(opt_returnValue) {\n if (!this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'close\\' on dialog: The element does not have an \\'open\\' attribute, and therefore cannot be closed.');\n }\n this.setOpen(false);\n\n // Leave returnValue untouched in case it was set directly on the element\n if (opt_returnValue !== undefined) {\n this.dialog_.returnValue = opt_returnValue;\n }\n\n // Triggering \"close\" event for any attached listeners on the <dialog>.\n var closeEvent = new supportCustomEvent('close', {\n bubbles: false,\n cancelable: false\n });\n safeDispatchEvent(this.dialog_, closeEvent);\n }\n\n});\n\nvar dialogPolyfill = {};\n\ndialogPolyfill.reposition = function(element) {\n var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n var topValue = scrollTop + (window.innerHeight - element.offsetHeight) / 2;\n element.style.top = Math.max(scrollTop, topValue) + 'px';\n};\n\ndialogPolyfill.isInlinePositionSetByStylesheet = function(element) {\n for (var i = 0; i < document.styleSheets.length; ++i) {\n var styleSheet = document.styleSheets[i];\n var cssRules = null;\n // Some browsers throw on cssRules.\n try {\n cssRules = styleSheet.cssRules;\n } catch (e) {}\n if (!cssRules) { continue; }\n for (var j = 0; j < cssRules.length; ++j) {\n var rule = cssRules[j];\n var selectedNodes = null;\n // Ignore errors on invalid selector texts.\n try {\n selectedNodes = document.querySelectorAll(rule.selectorText);\n } catch(e) {}\n if (!selectedNodes || !inNodeList(selectedNodes, element)) {\n continue;\n }\n var cssTop = rule.style.getPropertyValue('top');\n var cssBottom = rule.style.getPropertyValue('bottom');\n if ((cssTop && cssTop !== 'auto') || (cssBottom && cssBottom !== 'auto')) {\n return true;\n }\n }\n }\n return false;\n};\n\ndialogPolyfill.needsCentering = function(dialog) {\n var computedStyle = window.getComputedStyle(dialog);\n if (computedStyle.position !== 'absolute') {\n return false;\n }\n\n // We must determine whether the top/bottom specified value is non-auto. In\n // WebKit/Blink, checking computedStyle.top == 'auto' is sufficient, but\n // Firefox returns the used value. So we do this crazy thing instead: check\n // the inline style and then go through CSS rules.\n if ((dialog.style.top !== 'auto' && dialog.style.top !== '') ||\n (dialog.style.bottom !== 'auto' && dialog.style.bottom !== '')) {\n return false;\n }\n return !dialogPolyfill.isInlinePositionSetByStylesheet(dialog);\n};\n\n/**\n * @param {!Element} element to force upgrade\n */\ndialogPolyfill.forceRegisterDialog = function(element) {\n if (window.HTMLDialogElement || element.showModal) {\n console.warn('This browser already supports <dialog>, the polyfill ' +\n 'may not work correctly', element);\n }\n if (element.localName !== 'dialog') {\n throw new Error('Failed to register dialog: The element is not a dialog.');\n }\n new dialogPolyfillInfo(/** @type {!HTMLDialogElement} */ (element));\n};\n\n/**\n * @param {!Element} element to upgrade, if necessary\n */\ndialogPolyfill.registerDialog = function(element) {\n if (!element.showModal) {\n dialogPolyfill.forceRegisterDialog(element);\n }\n};\n\n/**\n * @constructor\n */\ndialogPolyfill.DialogManager = function() {\n /** @type {!Array<!dialogPolyfillInfo>} */\n this.pendingDialogStack = [];\n\n var checkDOM = this.checkDOM_.bind(this);\n\n // The overlay is used to simulate how a modal dialog blocks the document.\n // The blocking dialog is positioned on top of the overlay, and the rest of\n // the dialogs on the pending dialog stack are positioned below it. In the\n // actual implementation, the modal dialog stacking is controlled by the\n // top layer, where z-index has no effect.\n this.overlay = document.createElement('div');\n this.overlay.className = '_dialog_overlay';\n this.overlay.addEventListener('click', function(e) {\n this.forwardTab_ = undefined;\n e.stopPropagation();\n checkDOM([]); // sanity-check DOM\n }.bind(this));\n\n this.handleKey_ = this.handleKey_.bind(this);\n this.handleFocus_ = this.handleFocus_.bind(this);\n\n this.zIndexLow_ = 100000;\n this.zIndexHigh_ = 100000 + 150;\n\n this.forwardTab_ = undefined;\n\n if ('MutationObserver' in window) {\n this.mo_ = new MutationObserver(function(records) {\n var removed = [];\n records.forEach(function(rec) {\n for (var i = 0, c; c = rec.removedNodes[i]; ++i) {\n if (!(c instanceof Element)) {\n continue;\n } else if (c.localName === 'dialog') {\n removed.push(c);\n }\n removed = removed.concat(c.querySelectorAll('dialog'));\n }\n });\n removed.length && checkDOM(removed);\n });\n }\n};\n\n/**\n * Called on the first modal dialog being shown. Adds the overlay and related\n * handlers.\n */\ndialogPolyfill.DialogManager.prototype.blockDocument = function() {\n document.documentElement.addEventListener('focus', this.handleFocus_, true);\n document.addEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.observe(document, {childList: true, subtree: true});\n};\n\n/**\n * Called on the first modal dialog being removed, i.e., when no more modal\n * dialogs are visible.\n */\ndialogPolyfill.DialogManager.prototype.unblockDocument = function() {\n document.documentElement.removeEventListener('focus', this.handleFocus_, true);\n document.removeEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.disconnect();\n};\n\n/**\n * Updates the stacking of all known dialogs.\n */\ndialogPolyfill.DialogManager.prototype.updateStacking = function() {\n var zIndex = this.zIndexHigh_;\n\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n dpi.updateZIndex(--zIndex, --zIndex);\n if (i === 0) {\n this.overlay.style.zIndex = --zIndex;\n }\n }\n\n // Make the overlay a sibling of the dialog itself.\n var last = this.pendingDialogStack[0];\n if (last) {\n var p = last.dialog.parentNode || document.body;\n p.appendChild(this.overlay);\n } else if (this.overlay.parentNode) {\n this.overlay.parentNode.removeChild(this.overlay);\n }\n};\n\n/**\n * @param {Element} candidate to check if contained or is the top-most modal dialog\n * @return {boolean} whether candidate is contained in top dialog\n */\ndialogPolyfill.DialogManager.prototype.containedByTopDialog_ = function(candidate) {\n while (candidate = findNearestDialog(candidate)) {\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n if (dpi.dialog === candidate) {\n return i === 0; // only valid if top-most\n }\n }\n candidate = candidate.parentElement;\n }\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleFocus_ = function(event) {\n var target = event.composedPath ? event.composedPath()[0] : event.target;\n\n if (this.containedByTopDialog_(target)) { return; }\n\n if (document.activeElement === document.documentElement) { return; }\n\n event.preventDefault();\n event.stopPropagation();\n safeBlur(/** @type {Element} */ (target));\n\n if (this.forwardTab_ === undefined) { return; } // move focus only from a tab key\n\n var dpi = this.pendingDialogStack[0];\n var dialog = dpi.dialog;\n var position = dialog.compareDocumentPosition(target);\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n if (this.forwardTab_) {\n // forward\n dpi.focus_();\n } else if (target !== document.documentElement) {\n // backwards if we're not already focused on <html>\n document.documentElement.focus();\n }\n }\n\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleKey_ = function(event) {\n this.forwardTab_ = undefined;\n if (event.keyCode === 27) {\n event.preventDefault();\n event.stopPropagation();\n var cancelEvent = new supportCustomEvent('cancel', {\n bubbles: false,\n cancelable: true\n });\n var dpi = this.pendingDialogStack[0];\n if (dpi && safeDispatchEvent(dpi.dialog, cancelEvent)) {\n dpi.dialog.close();\n }\n } else if (event.keyCode === 9) {\n this.forwardTab_ = !event.shiftKey;\n }\n};\n\n/**\n * Finds and downgrades any known modal dialogs that are no longer displayed. Dialogs that are\n * removed and immediately readded don't stay modal, they become normal.\n *\n * @param {!Array<!HTMLDialogElement>} removed that have definitely been removed\n */\ndialogPolyfill.DialogManager.prototype.checkDOM_ = function(removed) {\n // This operates on a clone because it may cause it to change. Each change also calls\n // updateStacking, which only actually needs to happen once. But who removes many modal dialogs\n // at a time?!\n var clone = this.pendingDialogStack.slice();\n clone.forEach(function(dpi) {\n if (removed.indexOf(dpi.dialog) !== -1) {\n dpi.downgradeModal();\n } else {\n dpi.maybeHideModal();\n }\n });\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n * @return {boolean} whether the dialog was allowed\n */\ndialogPolyfill.DialogManager.prototype.pushDialog = function(dpi) {\n var allowed = (this.zIndexHigh_ - this.zIndexLow_) / 2 - 1;\n if (this.pendingDialogStack.length >= allowed) {\n return false;\n }\n if (this.pendingDialogStack.unshift(dpi) === 1) {\n this.blockDocument();\n }\n this.updateStacking();\n return true;\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n */\ndialogPolyfill.DialogManager.prototype.removeDialog = function(dpi) {\n var index = this.pendingDialogStack.indexOf(dpi);\n if (index === -1) { return; }\n\n this.pendingDialogStack.splice(index, 1);\n if (this.pendingDialogStack.length === 0) {\n this.unblockDocument();\n }\n this.updateStacking();\n};\n\ndialogPolyfill.dm = new dialogPolyfill.DialogManager();\ndialogPolyfill.formSubmitter = null;\ndialogPolyfill.imagemapUseValue = null;\n\n/**\n * Installs global handlers, such as click listers and native method overrides. These are needed\n * even if a no dialog is registered, as they deal with <form method=\"dialog\">.\n */\nif (window.HTMLDialogElement === undefined) {\n\n /**\n * If HTMLFormElement translates method=\"DIALOG\" into 'get', then replace the descriptor with\n * one that returns the correct value.\n */\n var testForm = document.createElement('form');\n testForm.setAttribute('method', 'dialog');\n if (testForm.method !== 'dialog') {\n var methodDescriptor = Object.getOwnPropertyDescriptor(HTMLFormElement.prototype, 'method');\n if (methodDescriptor) {\n // nb. Some older iOS and older PhantomJS fail to return the descriptor. Don't do anything\n // and don't bother to update the element.\n var realGet = methodDescriptor.get;\n methodDescriptor.get = function() {\n if (isFormMethodDialog(this)) {\n return 'dialog';\n }\n return realGet.call(this);\n };\n var realSet = methodDescriptor.set;\n /** @this {HTMLElement} */\n methodDescriptor.set = function(v) {\n if (typeof v === 'string' && v.toLowerCase() === 'dialog') {\n return this.setAttribute('method', v);\n }\n return realSet.call(this, v);\n };\n Object.defineProperty(HTMLFormElement.prototype, 'method', methodDescriptor);\n }\n }\n\n /**\n * Global 'click' handler, to capture the <input type=\"submit\"> or <button> element which has\n * submitted a <form method=\"dialog\">. Needed as Safari and others don't report this inside\n * document.activeElement.\n */\n document.addEventListener('click', function(ev) {\n dialogPolyfill.formSubmitter = null;\n dialogPolyfill.imagemapUseValue = null;\n if (ev.defaultPrevented) { return; } // e.g. a submit which prevents default submission\n\n var target = /** @type {Element} */ (ev.target);\n if ('composedPath' in ev) {\n var path = ev.composedPath();\n target = path.shift() || target;\n }\n if (!target || !isFormMethodDialog(target.form)) { return; }\n\n var valid = (target.type === 'submit' && ['button', 'input'].indexOf(target.localName) > -1);\n if (!valid) {\n if (!(target.localName === 'input' && target.type === 'image')) { return; }\n // this is a <input type=\"image\">, which can submit forms\n dialogPolyfill.imagemapUseValue = ev.offsetX + ',' + ev.offsetY;\n }\n\n var dialog = findNearestDialog(target);\n if (!dialog) { return; }\n\n dialogPolyfill.formSubmitter = target;\n\n }, false);\n\n /**\n * Global 'submit' handler. This handles submits of `method=\"dialog\"` which are invalid, i.e.,\n * outside a dialog. They get prevented.\n */\n document.addEventListener('submit', function(ev) {\n var form = ev.target;\n var dialog = findNearestDialog(form);\n if (dialog) {\n return; // ignore, handle there\n }\n\n var submitter = findFormSubmitter(ev);\n var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method');\n if (formmethod === 'dialog') {\n ev.preventDefault();\n }\n });\n\n /**\n * Replace the native HTMLFormElement.submit() method, as it won't fire the\n * submit event and give us a chance to respond.\n */\n var nativeFormSubmit = HTMLFormElement.prototype.submit;\n var replacementFormSubmit = function () {\n if (!isFormMethodDialog(this)) {\n return nativeFormSubmit.call(this);\n }\n var dialog = findNearestDialog(this);\n dialog && dialog.close();\n };\n HTMLFormElement.prototype.submit = replacementFormSubmit;\n}\n\nexport default dialogPolyfill;\n",":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-modal-content-padding: calc(var(--space-unit) * 2);\n}\n\n:host > dialog {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\n/* stylelint-disable selector-pseudo-class-no-unknown */\n:host > dialog:modal {\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n}\n\n:host > dialog::backdrop {\n display: none;\n}\n\n/* polyfill style */\n:host > dialog + .backdrop {\n display: none;\n}\n\n:host > dialog:not([open]) {\n display: none;\n}\n\n:host > dialog[open] {\n display: block;\n}\n\n::slotted([slot=\"modalContent\"]) {\n padding: var(--z-modal-content-padding);\n}\n\n.modal-container {\n z-index: 1010;\n display: flex;\n overflow: -moz-scrollbars-none;\n width: 100%;\n height: 100vh;\n flex-direction: column;\n}\n\n.modal-container > .modal-content-scroll-outside {\n overflow: auto;\n background: var(--color-surface01);\n}\n\n.modal-container > header {\n padding: calc(var(--space-unit) * 1.75) calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.75)\n calc(var(--space-unit) * 2);\n background: var(--color-background);\n}\n\n.modal-container > header button {\n padding: 0;\n border: none;\n margin: 0;\n margin-left: auto;\n background: transparent;\n cursor: pointer;\n}\n\n.modal-container > header button:focus-visible {\n border-radius: 50%;\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n.modal-container > header button::after {\n position: absolute;\n top: 6px;\n right: 4px;\n display: block;\n width: 40px;\n height: 40px;\n background-color: transparent;\n content: \"\";\n}\n\n.modal-container > header z-icon {\n --z-icon-width: calc(var(--space-unit) * 2.25);\n --z-icon-height: calc(var(--space-unit) * 2.25);\n\n display: flex;\n fill: var(--color-primary01-icon);\n}\n\n.modal-container > header > div {\n display: flex;\n width: 100%;\n align-items: baseline;\n margin-right: calc(var(--space-unit) * 2);\n}\n\n.modal-container > header h1,\n.modal-container > header .subtitle {\n padding: 0;\n margin: 0;\n color: var(--color-default-text);\n font-weight: var(--font-sb);\n}\n\n.modal-container > header h1 {\n font-size: var(--font-size-5);\n letter-spacing: 0;\n line-height: 1.4;\n}\n\n.modal-container > header .subtitle {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n letter-spacing: 0;\n line-height: 1.5;\n}\n\n.modal-container > header > div > h1 *:empty {\n display: none;\n}\n\n.modal-container > header h1 + .subtitle {\n margin-top: calc(var(--space-unit) * 0.5);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside {\n overflow: hidden auto;\n flex: 1 auto;\n background: var(--color-surface01);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar-thumb,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar-thumb:hover,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox */\n@supports not selector(::-webkit-scrollbar-track) {\n .modal-container-scroll-inside .modal-content-scroll-inside,\n .modal-container-scroll-outside .modal-content-scroll-outside {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n/* Tablet / Desktop */\n@media only screen and (min-width: 768px) {\n .modal-background {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n width: 100vw;\n height: 100vh;\n background-color: var(--gray900);\n opacity: 0.7;\n }\n\n .modal-background.modal-background-scroll-outside {\n position: sticky;\n }\n\n .modal-container-scroll-inside {\n position: fixed;\n top: calc(var(--space-unit) * 6);\n left: 50%;\n overflow: hidden;\n width: auto;\n min-width: calc(var(--space-unit) * 40);\n height: auto;\n min-height: calc(var(--space-unit) * 40);\n max-height: calc(100vh - calc(var(--space-unit) * 6 * 2));\n border-radius: var(--border-radius);\n transform: translateX(-50%);\n }\n\n .modal-container-scroll-outside {\n position: absolute;\n top: calc(var(--space-unit) * 6);\n left: 50%;\n display: block;\n overflow: initial;\n width: auto;\n min-width: calc(var(--space-unit) * 40);\n height: auto;\n min-height: calc(var(--space-unit) * 40);\n max-height: calc(100vh - calc(var(--space-unit) * 6 * 2));\n transform: translateX(-50%);\n }\n\n .modal-container > .modal-content-scroll-outside {\n overflow: initial;\n }\n\n .modal-container-scroll-outside > header,\n .modal-container-scroll-inside > header {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n }\n\n .modal-container-scroll-outside::after {\n display: block;\n height: calc(var(--space-unit) * 6);\n content: \" \";\n }\n\n .modal-dialog {\n position: fixed;\n top: 0;\n left: 0;\n height: auto;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .modal-content-scroll-outside {\n border-bottom-left-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n }\n\n .modal-dialog::-webkit-scrollbar {\n display: none;\n }\n}\n\n/* Desktop */\n@media only screen and (min-width: 1152px) {\n .modal-container > header {\n padding-top: calc(var(--space-unit) * 1.5);\n padding-bottom: calc(var(--space-unit) * 1.5);\n }\n\n .modal-container > header h1 {\n font-size: var(--font-size-6);\n font-weight: var(--font-sb);\n letter-spacing: 0;\n line-height: 1.333;\n }\n\n .modal-container > header .subtitle {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n letter-spacing: 0;\n line-height: 1.5;\n }\n\n .modal-container > header h1 + .subtitle {\n margin-top: 0;\n }\n}\n","import {Component, Element, Event, EventEmitter, Listen, Method, Prop, h} from \"@stencil/core\";\nimport dialogPolyfill from \"dialog-polyfill\";\nimport {KeyboardCode} from \"../../beans\";\n\nconst FOCUSABLE_ELEMENTS_SELECTOR =\n ':is(button, input, select, textarea, [contenteditable=\"\"], [contenteditable=\"true\"], a[href], [tabindex], summary):not([disabled], [disabled=\"\"], [tabindex=\"-1\"], [aria-hidden=\"true\"], [hidden])';\n\n/**\n * @slot modalCloseButton - accept custom close button\n * @slot modalContent - set the content of the modal\n * @cssprop --z-modal-content-padding - set a default padding for the modal content slot to 16px\n */\n@Component({\n tag: \"z-modal\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZModal {\n /** unique id */\n @Prop()\n modalid: string;\n\n /** title text (optional) */\n @Prop()\n modaltitle?: string;\n\n /** subtitle (optional) */\n @Prop()\n modalsubtitle?: string;\n\n /** aria-label for close button (optional) */\n @Prop()\n closeButtonLabel = \"chiudi modale\";\n\n /** add role \"alertdialog\" to dialog (optional, default is false) */\n @Prop()\n alertdialog?: boolean = false;\n\n /** if true, the modal is closable (optional, default is true) */\n @Prop()\n closable?: boolean = true;\n\n /** if true, the modal can scroll inside, if false the viewport can scroll */\n @Prop()\n scrollInside?: boolean = true;\n\n /** if true, the page scroll is locked when the modal is open (optional, default is true) */\n @Prop()\n lockPageScroll?: boolean = true;\n\n private dialog: HTMLDialogElement;\n\n @Element() host: HTMLZModalElement;\n\n /** emitted on close button click, returns modalid */\n @Event()\n modalClose: EventEmitter;\n\n private emitModalClose(): void {\n if (this.closable) {\n this.modalClose.emit({modalid: this.modalid});\n this.resetPageScroll();\n }\n }\n\n /** emitted on modal header click, returns modalid */\n @Event()\n modalHeaderActive: EventEmitter;\n\n private emitModalHeaderActive(): void {\n this.modalHeaderActive.emit({modalid: this.modalid});\n }\n\n /** emitted on background click, returns modalid */\n @Event()\n modalBackgroundClick: EventEmitter;\n\n private emitBackgroundClick(): void {\n if (this.closable) {\n this.modalBackgroundClick.emit({modalid: this.modalid});\n this.resetPageScroll();\n }\n }\n\n private resetPageScroll(): void {\n if (this.lockPageScroll && document.body.style.overflowY === \"hidden\") {\n document.body.style.overflowY = \"\";\n }\n }\n\n componentDidLoad(): void {\n if (typeof window.HTMLDialogElement !== \"function\") {\n /* workaround to fix `registerDialog` in test environment:\n stencil converts html elements to MockHTMLElement but this element is missing the `localName` property,\n which is used by `registerDialog` to recognize the element as dialog */\n if (!this.dialog.localName) {\n Object.defineProperty(this.dialog, \"localName\", {value: \"dialog\"});\n }\n dialogPolyfill.registerDialog(this.dialog);\n this.dialog.setAttribute(\"open\", \"true\");\n } else {\n this.open();\n }\n if (this.lockPageScroll) {\n requestAnimationFrame(() => (document.body.style.overflowY = \"hidden\"));\n }\n }\n\n disconnectedCallback(): void {\n this.resetPageScroll();\n }\n\n /** open modal */\n @Method()\n async open(): Promise<void> {\n this.dialog?.showModal();\n if (this.lockPageScroll) {\n document.body.style.overflowY = \"hidden\";\n }\n }\n\n /** close modal */\n @Method()\n async close(): Promise<void> {\n if (this.closable) {\n this.dialog?.close();\n this.resetPageScroll();\n }\n }\n\n /**\n * Get a list of focusable elements in the dialog.\n * Remove elements with `display: none` from the list, because they're not focusable.\n *\n * N.B. The list is built on the assumption that elements inside shadow root are placed ALL before the `modalContent` slot.\n * Adding focusable elements after the `modalContent` slot would break the order of elements in the list.\n */\n private get focusableElements(): HTMLElement[] {\n return [\n ...Array.from(this.host.shadowRoot.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR)),\n ...Array.from(this.host.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR)),\n ].filter((element) => getComputedStyle(element).display !== \"none\");\n }\n\n @Listen(\"keydown\")\n handleKeyDown(e: KeyboardEvent): void {\n if (e.code === KeyboardCode.ESC && !this.closable) {\n e.preventDefault();\n }\n\n if (e.code !== KeyboardCode.TAB) {\n return;\n }\n\n const focusableElements = this.focusableElements;\n const shadowActiveElement = this.host.shadowRoot.activeElement;\n const activeElement = this.host.ownerDocument.activeElement;\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n if (e.shiftKey && (shadowActiveElement == firstFocusableElement || activeElement == firstFocusableElement)) {\n // shift + tab was pressed and current active element is the first focusable element\n e.preventDefault();\n lastFocusableElement.focus();\n } else if (!e.shiftKey && (shadowActiveElement == lastFocusableElement || activeElement == lastFocusableElement)) {\n // shift + tab was pressed and current active element is the first focusable element\n e.preventDefault();\n firstFocusableElement.focus();\n }\n }\n\n private closeButtonSlot(): HTMLElement | void {\n if (this.closable) {\n return (\n <slot name=\"modalCloseButton\">\n <button\n aria-label={this.closeButtonLabel}\n onClick={() => this.close()}\n >\n <z-icon name=\"multiply-circle-filled\"></z-icon>\n </button>\n </slot>\n );\n }\n }\n\n private handleEscape(e: Event): void {\n if (this.closable) {\n return;\n }\n e.preventDefault();\n }\n\n render(): HTMLZModalElement {\n return (\n <dialog\n class={{\n \"modal-dialog\": !this.scrollInside,\n }}\n aria-labelledby=\"modal-title\"\n aria-describedby=\"modal-content\"\n role={this.alertdialog ? \"alertdialog\" : undefined}\n ref={(el) => (this.dialog = el as HTMLDialogElement)}\n onClose={() => this.emitModalClose()}\n onCancel={(e) => this.handleEscape(e)}\n >\n <div\n class={{\n \"modal-container\": true,\n \"modal-container-scroll-inside\": this.scrollInside,\n \"modal-container-scroll-outside\": !this.scrollInside,\n }}\n id={this.modalid}\n >\n <header onClick={this.emitModalHeaderActive.bind(this)}>\n <div>\n {this.modaltitle && <h1 id=\"modal-title\">{this.modaltitle}</h1>}\n {this.closeButtonSlot()}\n </div>\n {this.modalsubtitle && (\n <div\n class=\"subtitle\"\n id=\"modal-subtitle\"\n >\n {this.modalsubtitle}\n </div>\n )}\n </header>\n\n <div\n class={{\n \"modal-content-scroll-inside\": this.scrollInside,\n \"modal-content-scroll-outside\": !this.scrollInside,\n }}\n id=\"modal-content\"\n >\n <slot name=\"modalContent\"></slot>\n </div>\n </div>\n <div\n class={{\n \"modal-background\": true,\n \"modal-background-scroll-outside\": !this.scrollInside,\n }}\n data-action=\"modalBackground\"\n data-modal={this.modalid}\n onClick={() => {\n this.emitBackgroundClick();\n this.close();\n }}\n ></div>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZDragdropAreaStyle0","ZDragdropArea","onDrop","e","preventDefault","this","dragging","dataTransfer","files","length","fileDropped","emit","render","h","Host","key","class","dragover","onDragOver","onDragLeave","bind","dragAndDropLabel","supportCustomEvent","window","CustomEvent","event","x","ev","document","createEvent","initCustomEvent","bubbles","cancelable","detail","prototype","Event","safeDispatchEvent","target","check","type","toLowerCase","dispatchEvent","createsStackingContext","el","body","s","getComputedStyle","invalid","k","ok","undefined","opacity","position","webkitOverflowScrolling","parentElement","findNearestDialog","localName","parentNode","host","safeBlur","shadowRoot","activeElement","blur","inNodeList","nodeList","node","i","isFormMethodDialog","hasAttribute","getAttribute","findFocusableElementWithin","hostElement","opts","query","map","push","querySelector","join","Element","elems","querySelectorAll","tagName","isConnected","element","contains","findFormSubmitter","submitter","form","HTMLFormElement","dialogPolyfill","formSubmitter","root","getRootNode","maybeHandleSubmit","defaultPrevented","value","imagemapUseValue","dialog","formmethod","close","dialogPolyfillInfo","dialog_","replacedStyleTop_","openAsModal_","setAttribute","show","showModal","addEventListener","returnValue","mo","MutationObserver","maybeHideModal","observe","attributes","attributeFilter","removed","cb","downgradeModal","timeout","delayModel","cand","substr","clearTimeout","setTimeout","forEach","name","Object","defineProperty","set","setOpen","get","backdrop_","createElement","className","backdropMouseEvent_","style","zIndex","top","removeChild","dm","removeDialog","removeAttribute","fake","insertBefore","firstChild","tabIndex","focus","redirectedEvent","initMouseEvent","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","stopPropagation","focus_","updateZIndex","dialogZ","backdropZ","Error","open","pushDialog","console","warn","needsCentering","reposition","nextSibling","opt_returnValue","closeEvent","scrollTop","documentElement","topValue","innerHeight","offsetHeight","Math","max","isInlinePositionSetByStylesheet","styleSheets","styleSheet","cssRules","j","rule","selectedNodes","selectorText","cssTop","getPropertyValue","cssBottom","computedStyle","bottom","forceRegisterDialog","HTMLDialogElement","registerDialog","DialogManager","pendingDialogStack","checkDOM","checkDOM_","overlay","forwardTab_","handleKey_","handleFocus_","zIndexLow_","zIndexHigh_","mo_","records","rec","c","removedNodes","concat","blockDocument","childList","subtree","unblockDocument","removeEventListener","disconnect","updateStacking","dpi","last","p","appendChild","containedByTopDialog_","candidate","composedPath","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","keyCode","cancelEvent","clone","slice","indexOf","allowed","unshift","index","splice","testForm","method","methodDescriptor","getOwnPropertyDescriptor","realGet","call","realSet","v","path","shift","valid","offsetX","offsetY","nativeFormSubmit","submit","replacementFormSubmit","ZModalStyle0","FOCUSABLE_ELEMENTS_SELECTOR","ZModal","emitModalClose","closable","modalClose","modalid","resetPageScroll","emitModalHeaderActive","modalHeaderActive","emitBackgroundClick","modalBackgroundClick","lockPageScroll","overflowY","componentDidLoad","requestAnimationFrame","disconnectedCallback","_a","focusableElements","Array","from","filter","display","handleKeyDown","code","KeyboardCode","ESC","TAB","shadowActiveElement","ownerDocument","firstFocusableElement","lastFocusableElement","closeButtonSlot","closeButtonLabel","onClick","handleEscape","scrollInside","role","alertdialog","ref","onClose","onCancel","id","modaltitle","modalsubtitle"],"sources":["src/components/file-upload/z-dragdrop-area/styles.css?tag=z-dragdrop-area&encapsulation=shadow","src/components/file-upload/z-dragdrop-area/index.tsx","node_modules/dialog-polyfill/dist/dialog-polyfill.esm.js","src/components/z-modal/styles.css?tag=z-modal&encapsulation=shadow","src/components/z-modal/index.tsx"],"sourcesContent":[":host {\n position: relative;\n display: flex;\n width: 100%;\n height: 232px;\n flex-direction: column;\n align-items: center;\n padding: calc(var(--space-unit) * 3);\n background-color: var(--color-surface02);\n background-image:\n repeating-linear-gradient(\n 0deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 90deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 180deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n ),\n repeating-linear-gradient(\n 270deg,\n var(--color-surface03),\n var(--color-surface03) 12px,\n transparent 12px,\n transparent 20px\n );\n background-position:\n 0 0,\n 0 0,\n 100% 0,\n 0 100%;\n background-repeat: no-repeat;\n background-size:\n 2px 100%,\n 100% 2px,\n 2px 100%,\n 100% 2px;\n border-radius: var(--border-radius-small);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host,\n* {\n box-sizing: border-box;\n}\n\n/* https://stackoverflow.com/questions/7110353/html5-dragleave-fired-when-hovering-a-child-element */\n:host(.dragover) * {\n pointer-events: none;\n}\n\n.dragover-container {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 0;\n display: none;\n width: 100%;\n height: 100%;\n background-color: var(--color-primary03);\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host(.dragover) .dragover-container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","import {Component, Event, EventEmitter, Host, Prop, State, h} from \"@stencil/core\";\n\n@Component({\n tag: \"z-dragdrop-area\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZDragdropArea {\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel: string;\n\n /** State that indicates if the user is dragging a file over the drag & drop area */\n @State()\n dragging = false;\n\n /** Emitted when user drop one or more files */\n @Event()\n fileDropped: EventEmitter;\n\n private onDrop(e: DragEvent): void {\n e.preventDefault();\n this.dragging = false;\n if (e.dataTransfer.files.length) {\n this.fileDropped.emit(e.dataTransfer.files);\n }\n }\n\n render(): HTMLZDragdropAreaElement {\n return (\n <Host\n class={{dragover: this.dragging}}\n onDragOver={(e) => {\n e.preventDefault();\n this.dragging = true;\n }}\n onDragLeave={() => {\n this.dragging = false;\n }}\n onDrop={this.onDrop.bind(this)}\n >\n <div class=\"dragover-container\">\n <z-button>{this.dragAndDropLabel}</z-button>\n </div>\n <slot />\n </Host>\n );\n }\n}\n","// nb. This is for IE10 and lower _only_.\nvar supportCustomEvent = window.CustomEvent;\nif (!supportCustomEvent || typeof supportCustomEvent === 'object') {\n supportCustomEvent = function CustomEvent(event, x) {\n x = x || {};\n var ev = document.createEvent('CustomEvent');\n ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null);\n return ev;\n };\n supportCustomEvent.prototype = window.Event.prototype;\n}\n\n/**\n * Dispatches the passed event to both an \"on<type>\" handler as well as via the\n * normal dispatch operation. Does not bubble.\n *\n * @param {!EventTarget} target\n * @param {!Event} event\n * @return {boolean}\n */\nfunction safeDispatchEvent(target, event) {\n var check = 'on' + event.type.toLowerCase();\n if (typeof target[check] === 'function') {\n target[check](event);\n }\n return target.dispatchEvent(event);\n}\n\n/**\n * @param {Element} el to check for stacking context\n * @return {boolean} whether this el or its parents creates a stacking context\n */\nfunction createsStackingContext(el) {\n while (el && el !== document.body) {\n var s = window.getComputedStyle(el);\n var invalid = function(k, ok) {\n return !(s[k] === undefined || s[k] === ok);\n };\n\n if (s.opacity < 1 ||\n invalid('zIndex', 'auto') ||\n invalid('transform', 'none') ||\n invalid('mixBlendMode', 'normal') ||\n invalid('filter', 'none') ||\n invalid('perspective', 'none') ||\n s['isolation'] === 'isolate' ||\n s.position === 'fixed' ||\n s.webkitOverflowScrolling === 'touch') {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the nearest <dialog> from the passed element.\n *\n * @param {Element} el to search from\n * @return {HTMLDialogElement} dialog found\n */\nfunction findNearestDialog(el) {\n while (el) {\n if (el.localName === 'dialog') {\n return /** @type {HTMLDialogElement} */ (el);\n }\n if (el.parentElement) {\n el = el.parentElement;\n } else if (el.parentNode) {\n el = el.parentNode.host;\n } else {\n el = null;\n }\n }\n return null;\n}\n\n/**\n * Blur the specified element, as long as it's not the HTML body element.\n * This works around an IE9/10 bug - blurring the body causes Windows to\n * blur the whole application.\n *\n * @param {Element} el to blur\n */\nfunction safeBlur(el) {\n // Find the actual focused element when the active element is inside a shadow root\n while (el && el.shadowRoot && el.shadowRoot.activeElement) {\n el = el.shadowRoot.activeElement;\n }\n\n if (el && el.blur && el !== document.body) {\n el.blur();\n }\n}\n\n/**\n * @param {!NodeList} nodeList to search\n * @param {Node} node to find\n * @return {boolean} whether node is inside nodeList\n */\nfunction inNodeList(nodeList, node) {\n for (var i = 0; i < nodeList.length; ++i) {\n if (nodeList[i] === node) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * @param {HTMLFormElement} el to check\n * @return {boolean} whether this form has method=\"dialog\"\n */\nfunction isFormMethodDialog(el) {\n if (!el || !el.hasAttribute('method')) {\n return false;\n }\n return el.getAttribute('method').toLowerCase() === 'dialog';\n}\n\n/**\n * @param {!DocumentFragment|!Element} hostElement\n * @return {?Element}\n */\nfunction findFocusableElementWithin(hostElement) {\n // Note that this is 'any focusable area'. This list is probably not exhaustive, but the\n // alternative involves stepping through and trying to focus everything.\n var opts = ['button', 'input', 'keygen', 'select', 'textarea'];\n var query = opts.map(function(el) {\n return el + ':not([disabled])';\n });\n // TODO(samthor): tabindex values that are not numeric are not focusable.\n query.push('[tabindex]:not([disabled]):not([tabindex=\"\"])'); // tabindex != \"\", not disabled\n var target = hostElement.querySelector(query.join(', '));\n\n if (!target && 'attachShadow' in Element.prototype) {\n // If we haven't found a focusable target, see if the host element contains an element\n // which has a shadowRoot.\n // Recursively search for the first focusable item in shadow roots.\n var elems = hostElement.querySelectorAll('*');\n for (var i = 0; i < elems.length; i++) {\n if (elems[i].tagName && elems[i].shadowRoot) {\n target = findFocusableElementWithin(elems[i].shadowRoot);\n if (target) {\n break;\n }\n }\n }\n }\n return target;\n}\n\n/**\n * Determines if an element is attached to the DOM.\n * @param {Element} element to check\n * @return {boolean} whether the element is in DOM\n */\nfunction isConnected(element) {\n return element.isConnected || document.body.contains(element);\n}\n\n/**\n * @param {!Event} event\n * @return {?Element}\n */\nfunction findFormSubmitter(event) {\n if (event.submitter) {\n return event.submitter;\n }\n\n var form = event.target;\n if (!(form instanceof HTMLFormElement)) {\n return null;\n }\n\n var submitter = dialogPolyfill.formSubmitter;\n if (!submitter) {\n var target = event.target;\n var root = ('getRootNode' in target && target.getRootNode() || document);\n submitter = root.activeElement;\n }\n\n if (!submitter || submitter.form !== form) {\n return null;\n }\n return submitter;\n}\n\n/**\n * @param {!Event} event\n */\nfunction maybeHandleSubmit(event) {\n if (event.defaultPrevented) {\n return;\n }\n var form = /** @type {!HTMLFormElement} */ (event.target);\n\n // We'd have a value if we clicked on an imagemap.\n var value = dialogPolyfill.imagemapUseValue;\n var submitter = findFormSubmitter(event);\n if (value === null && submitter) {\n value = submitter.value;\n }\n\n // There should always be a dialog as this handler is added specifically on them, but check just\n // in case.\n var dialog = findNearestDialog(form);\n if (!dialog) {\n return;\n }\n\n // Prefer formmethod on the button.\n var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method');\n if (formmethod !== 'dialog') {\n return;\n }\n event.preventDefault();\n\n if (value != null) {\n // nb. we explicitly check against null/undefined\n dialog.close(value);\n } else {\n dialog.close();\n }\n}\n\n/**\n * @param {!HTMLDialogElement} dialog to upgrade\n * @constructor\n */\nfunction dialogPolyfillInfo(dialog) {\n this.dialog_ = dialog;\n this.replacedStyleTop_ = false;\n this.openAsModal_ = false;\n\n // Set a11y role. Browsers that support dialog implicitly know this already.\n if (!dialog.hasAttribute('role')) {\n dialog.setAttribute('role', 'dialog');\n }\n\n dialog.show = this.show.bind(this);\n dialog.showModal = this.showModal.bind(this);\n dialog.close = this.close.bind(this);\n\n dialog.addEventListener('submit', maybeHandleSubmit, false);\n\n if (!('returnValue' in dialog)) {\n dialog.returnValue = '';\n }\n\n if ('MutationObserver' in window) {\n var mo = new MutationObserver(this.maybeHideModal.bind(this));\n mo.observe(dialog, {attributes: true, attributeFilter: ['open']});\n } else {\n // IE10 and below support. Note that DOMNodeRemoved etc fire _before_ removal. They also\n // seem to fire even if the element was removed as part of a parent removal. Use the removed\n // events to force downgrade (useful if removed/immediately added).\n var removed = false;\n var cb = function() {\n removed ? this.downgradeModal() : this.maybeHideModal();\n removed = false;\n }.bind(this);\n var timeout;\n var delayModel = function(ev) {\n if (ev.target !== dialog) { return; } // not for a child element\n var cand = 'DOMNodeRemoved';\n removed |= (ev.type.substr(0, cand.length) === cand);\n window.clearTimeout(timeout);\n timeout = window.setTimeout(cb, 0);\n };\n ['DOMAttrModified', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument'].forEach(function(name) {\n dialog.addEventListener(name, delayModel);\n });\n }\n // Note that the DOM is observed inside DialogManager while any dialog\n // is being displayed as a modal, to catch modal removal from the DOM.\n\n Object.defineProperty(dialog, 'open', {\n set: this.setOpen.bind(this),\n get: dialog.hasAttribute.bind(dialog, 'open')\n });\n\n this.backdrop_ = document.createElement('div');\n this.backdrop_.className = 'backdrop';\n this.backdrop_.addEventListener('mouseup' , this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('mousedown', this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('click' , this.backdropMouseEvent_.bind(this));\n}\n\ndialogPolyfillInfo.prototype = /** @type {HTMLDialogElement.prototype} */ ({\n\n get dialog() {\n return this.dialog_;\n },\n\n /**\n * Maybe remove this dialog from the modal top layer. This is called when\n * a modal dialog may no longer be tenable, e.g., when the dialog is no\n * longer open or is no longer part of the DOM.\n */\n maybeHideModal: function() {\n if (this.dialog_.hasAttribute('open') && isConnected(this.dialog_)) { return; }\n this.downgradeModal();\n },\n\n /**\n * Remove this dialog from the modal top layer, leaving it as a non-modal.\n */\n downgradeModal: function() {\n if (!this.openAsModal_) { return; }\n this.openAsModal_ = false;\n this.dialog_.style.zIndex = '';\n\n // This won't match the native <dialog> exactly because if the user set top on a centered\n // polyfill dialog, that top gets thrown away when the dialog is closed. Not sure it's\n // possible to polyfill this perfectly.\n if (this.replacedStyleTop_) {\n this.dialog_.style.top = '';\n this.replacedStyleTop_ = false;\n }\n\n // Clear the backdrop and remove from the manager.\n this.backdrop_.parentNode && this.backdrop_.parentNode.removeChild(this.backdrop_);\n dialogPolyfill.dm.removeDialog(this);\n },\n\n /**\n * @param {boolean} value whether to open or close this dialog\n */\n setOpen: function(value) {\n if (value) {\n this.dialog_.hasAttribute('open') || this.dialog_.setAttribute('open', '');\n } else {\n this.dialog_.removeAttribute('open');\n this.maybeHideModal(); // nb. redundant with MutationObserver\n }\n },\n\n /**\n * Handles mouse events ('mouseup', 'mousedown', 'click') on the fake .backdrop element, redirecting them as if\n * they were on the dialog itself.\n *\n * @param {!Event} e to redirect\n */\n backdropMouseEvent_: function(e) {\n if (!this.dialog_.hasAttribute('tabindex')) {\n // Clicking on the backdrop should move the implicit cursor, even if dialog cannot be\n // focused. Create a fake thing to focus on. If the backdrop was _before_ the dialog, this\n // would not be needed - clicks would move the implicit cursor there.\n var fake = document.createElement('div');\n this.dialog_.insertBefore(fake, this.dialog_.firstChild);\n fake.tabIndex = -1;\n fake.focus();\n this.dialog_.removeChild(fake);\n } else {\n this.dialog_.focus();\n }\n\n var redirectedEvent = document.createEvent('MouseEvents');\n redirectedEvent.initMouseEvent(e.type, e.bubbles, e.cancelable, window,\n e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey,\n e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);\n this.dialog_.dispatchEvent(redirectedEvent);\n e.stopPropagation();\n },\n\n /**\n * Focuses on the first focusable element within the dialog. This will always blur the current\n * focus, even if nothing within the dialog is found.\n */\n focus_: function() {\n // Find element with `autofocus` attribute, or fall back to the first form/tabindex control.\n var target = this.dialog_.querySelector('[autofocus]:not([disabled])');\n if (!target && this.dialog_.tabIndex >= 0) {\n target = this.dialog_;\n }\n if (!target) {\n target = findFocusableElementWithin(this.dialog_);\n }\n safeBlur(document.activeElement);\n target && target.focus();\n },\n\n /**\n * Sets the zIndex for the backdrop and dialog.\n *\n * @param {number} dialogZ\n * @param {number} backdropZ\n */\n updateZIndex: function(dialogZ, backdropZ) {\n if (dialogZ < backdropZ) {\n throw new Error('dialogZ should never be < backdropZ');\n }\n this.dialog_.style.zIndex = dialogZ;\n this.backdrop_.style.zIndex = backdropZ;\n },\n\n /**\n * Shows the dialog. If the dialog is already open, this does nothing.\n */\n show: function() {\n if (!this.dialog_.open) {\n this.setOpen(true);\n this.focus_();\n }\n },\n\n /**\n * Show this dialog modally.\n */\n showModal: function() {\n if (this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is already open, and therefore cannot be opened modally.');\n }\n if (!isConnected(this.dialog_)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is not in a Document.');\n }\n if (!dialogPolyfill.dm.pushDialog(this)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: There are too many open modal dialogs.');\n }\n\n if (createsStackingContext(this.dialog_.parentElement)) {\n console.warn('A dialog is being shown inside a stacking context. ' +\n 'This may cause it to be unusable. For more information, see this link: ' +\n 'https://github.com/GoogleChrome/dialog-polyfill/#stacking-context');\n }\n\n this.setOpen(true);\n this.openAsModal_ = true;\n\n // Optionally center vertically, relative to the current viewport.\n if (dialogPolyfill.needsCentering(this.dialog_)) {\n dialogPolyfill.reposition(this.dialog_);\n this.replacedStyleTop_ = true;\n } else {\n this.replacedStyleTop_ = false;\n }\n\n // Insert backdrop.\n this.dialog_.parentNode.insertBefore(this.backdrop_, this.dialog_.nextSibling);\n\n // Focus on whatever inside the dialog.\n this.focus_();\n },\n\n /**\n * Closes this HTMLDialogElement. This is optional vs clearing the open\n * attribute, however this fires a 'close' event.\n *\n * @param {string=} opt_returnValue to use as the returnValue\n */\n close: function(opt_returnValue) {\n if (!this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'close\\' on dialog: The element does not have an \\'open\\' attribute, and therefore cannot be closed.');\n }\n this.setOpen(false);\n\n // Leave returnValue untouched in case it was set directly on the element\n if (opt_returnValue !== undefined) {\n this.dialog_.returnValue = opt_returnValue;\n }\n\n // Triggering \"close\" event for any attached listeners on the <dialog>.\n var closeEvent = new supportCustomEvent('close', {\n bubbles: false,\n cancelable: false\n });\n safeDispatchEvent(this.dialog_, closeEvent);\n }\n\n});\n\nvar dialogPolyfill = {};\n\ndialogPolyfill.reposition = function(element) {\n var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n var topValue = scrollTop + (window.innerHeight - element.offsetHeight) / 2;\n element.style.top = Math.max(scrollTop, topValue) + 'px';\n};\n\ndialogPolyfill.isInlinePositionSetByStylesheet = function(element) {\n for (var i = 0; i < document.styleSheets.length; ++i) {\n var styleSheet = document.styleSheets[i];\n var cssRules = null;\n // Some browsers throw on cssRules.\n try {\n cssRules = styleSheet.cssRules;\n } catch (e) {}\n if (!cssRules) { continue; }\n for (var j = 0; j < cssRules.length; ++j) {\n var rule = cssRules[j];\n var selectedNodes = null;\n // Ignore errors on invalid selector texts.\n try {\n selectedNodes = document.querySelectorAll(rule.selectorText);\n } catch(e) {}\n if (!selectedNodes || !inNodeList(selectedNodes, element)) {\n continue;\n }\n var cssTop = rule.style.getPropertyValue('top');\n var cssBottom = rule.style.getPropertyValue('bottom');\n if ((cssTop && cssTop !== 'auto') || (cssBottom && cssBottom !== 'auto')) {\n return true;\n }\n }\n }\n return false;\n};\n\ndialogPolyfill.needsCentering = function(dialog) {\n var computedStyle = window.getComputedStyle(dialog);\n if (computedStyle.position !== 'absolute') {\n return false;\n }\n\n // We must determine whether the top/bottom specified value is non-auto. In\n // WebKit/Blink, checking computedStyle.top == 'auto' is sufficient, but\n // Firefox returns the used value. So we do this crazy thing instead: check\n // the inline style and then go through CSS rules.\n if ((dialog.style.top !== 'auto' && dialog.style.top !== '') ||\n (dialog.style.bottom !== 'auto' && dialog.style.bottom !== '')) {\n return false;\n }\n return !dialogPolyfill.isInlinePositionSetByStylesheet(dialog);\n};\n\n/**\n * @param {!Element} element to force upgrade\n */\ndialogPolyfill.forceRegisterDialog = function(element) {\n if (window.HTMLDialogElement || element.showModal) {\n console.warn('This browser already supports <dialog>, the polyfill ' +\n 'may not work correctly', element);\n }\n if (element.localName !== 'dialog') {\n throw new Error('Failed to register dialog: The element is not a dialog.');\n }\n new dialogPolyfillInfo(/** @type {!HTMLDialogElement} */ (element));\n};\n\n/**\n * @param {!Element} element to upgrade, if necessary\n */\ndialogPolyfill.registerDialog = function(element) {\n if (!element.showModal) {\n dialogPolyfill.forceRegisterDialog(element);\n }\n};\n\n/**\n * @constructor\n */\ndialogPolyfill.DialogManager = function() {\n /** @type {!Array<!dialogPolyfillInfo>} */\n this.pendingDialogStack = [];\n\n var checkDOM = this.checkDOM_.bind(this);\n\n // The overlay is used to simulate how a modal dialog blocks the document.\n // The blocking dialog is positioned on top of the overlay, and the rest of\n // the dialogs on the pending dialog stack are positioned below it. In the\n // actual implementation, the modal dialog stacking is controlled by the\n // top layer, where z-index has no effect.\n this.overlay = document.createElement('div');\n this.overlay.className = '_dialog_overlay';\n this.overlay.addEventListener('click', function(e) {\n this.forwardTab_ = undefined;\n e.stopPropagation();\n checkDOM([]); // sanity-check DOM\n }.bind(this));\n\n this.handleKey_ = this.handleKey_.bind(this);\n this.handleFocus_ = this.handleFocus_.bind(this);\n\n this.zIndexLow_ = 100000;\n this.zIndexHigh_ = 100000 + 150;\n\n this.forwardTab_ = undefined;\n\n if ('MutationObserver' in window) {\n this.mo_ = new MutationObserver(function(records) {\n var removed = [];\n records.forEach(function(rec) {\n for (var i = 0, c; c = rec.removedNodes[i]; ++i) {\n if (!(c instanceof Element)) {\n continue;\n } else if (c.localName === 'dialog') {\n removed.push(c);\n }\n removed = removed.concat(c.querySelectorAll('dialog'));\n }\n });\n removed.length && checkDOM(removed);\n });\n }\n};\n\n/**\n * Called on the first modal dialog being shown. Adds the overlay and related\n * handlers.\n */\ndialogPolyfill.DialogManager.prototype.blockDocument = function() {\n document.documentElement.addEventListener('focus', this.handleFocus_, true);\n document.addEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.observe(document, {childList: true, subtree: true});\n};\n\n/**\n * Called on the first modal dialog being removed, i.e., when no more modal\n * dialogs are visible.\n */\ndialogPolyfill.DialogManager.prototype.unblockDocument = function() {\n document.documentElement.removeEventListener('focus', this.handleFocus_, true);\n document.removeEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.disconnect();\n};\n\n/**\n * Updates the stacking of all known dialogs.\n */\ndialogPolyfill.DialogManager.prototype.updateStacking = function() {\n var zIndex = this.zIndexHigh_;\n\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n dpi.updateZIndex(--zIndex, --zIndex);\n if (i === 0) {\n this.overlay.style.zIndex = --zIndex;\n }\n }\n\n // Make the overlay a sibling of the dialog itself.\n var last = this.pendingDialogStack[0];\n if (last) {\n var p = last.dialog.parentNode || document.body;\n p.appendChild(this.overlay);\n } else if (this.overlay.parentNode) {\n this.overlay.parentNode.removeChild(this.overlay);\n }\n};\n\n/**\n * @param {Element} candidate to check if contained or is the top-most modal dialog\n * @return {boolean} whether candidate is contained in top dialog\n */\ndialogPolyfill.DialogManager.prototype.containedByTopDialog_ = function(candidate) {\n while (candidate = findNearestDialog(candidate)) {\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n if (dpi.dialog === candidate) {\n return i === 0; // only valid if top-most\n }\n }\n candidate = candidate.parentElement;\n }\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleFocus_ = function(event) {\n var target = event.composedPath ? event.composedPath()[0] : event.target;\n\n if (this.containedByTopDialog_(target)) { return; }\n\n if (document.activeElement === document.documentElement) { return; }\n\n event.preventDefault();\n event.stopPropagation();\n safeBlur(/** @type {Element} */ (target));\n\n if (this.forwardTab_ === undefined) { return; } // move focus only from a tab key\n\n var dpi = this.pendingDialogStack[0];\n var dialog = dpi.dialog;\n var position = dialog.compareDocumentPosition(target);\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n if (this.forwardTab_) {\n // forward\n dpi.focus_();\n } else if (target !== document.documentElement) {\n // backwards if we're not already focused on <html>\n document.documentElement.focus();\n }\n }\n\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleKey_ = function(event) {\n this.forwardTab_ = undefined;\n if (event.keyCode === 27) {\n event.preventDefault();\n event.stopPropagation();\n var cancelEvent = new supportCustomEvent('cancel', {\n bubbles: false,\n cancelable: true\n });\n var dpi = this.pendingDialogStack[0];\n if (dpi && safeDispatchEvent(dpi.dialog, cancelEvent)) {\n dpi.dialog.close();\n }\n } else if (event.keyCode === 9) {\n this.forwardTab_ = !event.shiftKey;\n }\n};\n\n/**\n * Finds and downgrades any known modal dialogs that are no longer displayed. Dialogs that are\n * removed and immediately readded don't stay modal, they become normal.\n *\n * @param {!Array<!HTMLDialogElement>} removed that have definitely been removed\n */\ndialogPolyfill.DialogManager.prototype.checkDOM_ = function(removed) {\n // This operates on a clone because it may cause it to change. Each change also calls\n // updateStacking, which only actually needs to happen once. But who removes many modal dialogs\n // at a time?!\n var clone = this.pendingDialogStack.slice();\n clone.forEach(function(dpi) {\n if (removed.indexOf(dpi.dialog) !== -1) {\n dpi.downgradeModal();\n } else {\n dpi.maybeHideModal();\n }\n });\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n * @return {boolean} whether the dialog was allowed\n */\ndialogPolyfill.DialogManager.prototype.pushDialog = function(dpi) {\n var allowed = (this.zIndexHigh_ - this.zIndexLow_) / 2 - 1;\n if (this.pendingDialogStack.length >= allowed) {\n return false;\n }\n if (this.pendingDialogStack.unshift(dpi) === 1) {\n this.blockDocument();\n }\n this.updateStacking();\n return true;\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n */\ndialogPolyfill.DialogManager.prototype.removeDialog = function(dpi) {\n var index = this.pendingDialogStack.indexOf(dpi);\n if (index === -1) { return; }\n\n this.pendingDialogStack.splice(index, 1);\n if (this.pendingDialogStack.length === 0) {\n this.unblockDocument();\n }\n this.updateStacking();\n};\n\ndialogPolyfill.dm = new dialogPolyfill.DialogManager();\ndialogPolyfill.formSubmitter = null;\ndialogPolyfill.imagemapUseValue = null;\n\n/**\n * Installs global handlers, such as click listers and native method overrides. These are needed\n * even if a no dialog is registered, as they deal with <form method=\"dialog\">.\n */\nif (window.HTMLDialogElement === undefined) {\n\n /**\n * If HTMLFormElement translates method=\"DIALOG\" into 'get', then replace the descriptor with\n * one that returns the correct value.\n */\n var testForm = document.createElement('form');\n testForm.setAttribute('method', 'dialog');\n if (testForm.method !== 'dialog') {\n var methodDescriptor = Object.getOwnPropertyDescriptor(HTMLFormElement.prototype, 'method');\n if (methodDescriptor) {\n // nb. Some older iOS and older PhantomJS fail to return the descriptor. Don't do anything\n // and don't bother to update the element.\n var realGet = methodDescriptor.get;\n methodDescriptor.get = function() {\n if (isFormMethodDialog(this)) {\n return 'dialog';\n }\n return realGet.call(this);\n };\n var realSet = methodDescriptor.set;\n /** @this {HTMLElement} */\n methodDescriptor.set = function(v) {\n if (typeof v === 'string' && v.toLowerCase() === 'dialog') {\n return this.setAttribute('method', v);\n }\n return realSet.call(this, v);\n };\n Object.defineProperty(HTMLFormElement.prototype, 'method', methodDescriptor);\n }\n }\n\n /**\n * Global 'click' handler, to capture the <input type=\"submit\"> or <button> element which has\n * submitted a <form method=\"dialog\">. Needed as Safari and others don't report this inside\n * document.activeElement.\n */\n document.addEventListener('click', function(ev) {\n dialogPolyfill.formSubmitter = null;\n dialogPolyfill.imagemapUseValue = null;\n if (ev.defaultPrevented) { return; } // e.g. a submit which prevents default submission\n\n var target = /** @type {Element} */ (ev.target);\n if ('composedPath' in ev) {\n var path = ev.composedPath();\n target = path.shift() || target;\n }\n if (!target || !isFormMethodDialog(target.form)) { return; }\n\n var valid = (target.type === 'submit' && ['button', 'input'].indexOf(target.localName) > -1);\n if (!valid) {\n if (!(target.localName === 'input' && target.type === 'image')) { return; }\n // this is a <input type=\"image\">, which can submit forms\n dialogPolyfill.imagemapUseValue = ev.offsetX + ',' + ev.offsetY;\n }\n\n var dialog = findNearestDialog(target);\n if (!dialog) { return; }\n\n dialogPolyfill.formSubmitter = target;\n\n }, false);\n\n /**\n * Global 'submit' handler. This handles submits of `method=\"dialog\"` which are invalid, i.e.,\n * outside a dialog. They get prevented.\n */\n document.addEventListener('submit', function(ev) {\n var form = ev.target;\n var dialog = findNearestDialog(form);\n if (dialog) {\n return; // ignore, handle there\n }\n\n var submitter = findFormSubmitter(ev);\n var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method');\n if (formmethod === 'dialog') {\n ev.preventDefault();\n }\n });\n\n /**\n * Replace the native HTMLFormElement.submit() method, as it won't fire the\n * submit event and give us a chance to respond.\n */\n var nativeFormSubmit = HTMLFormElement.prototype.submit;\n var replacementFormSubmit = function () {\n if (!isFormMethodDialog(this)) {\n return nativeFormSubmit.call(this);\n }\n var dialog = findNearestDialog(this);\n dialog && dialog.close();\n };\n HTMLFormElement.prototype.submit = replacementFormSubmit;\n}\n\nexport default dialogPolyfill;\n",":host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-modal-content-padding: ;\n}\n\n:host > dialog {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\n/* stylelint-disable selector-pseudo-class-no-unknown */\n:host > dialog:modal {\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n}\n\n:host > dialog::backdrop {\n display: none;\n}\n\n/* polyfill style */\n:host > dialog + .backdrop {\n display: none;\n}\n\n:host > dialog:not([open]) {\n display: none;\n}\n\n:host > dialog[open] {\n display: block;\n}\n\n::slotted([slot=\"modalContent\"]) {\n padding: var(--z-modal-content-padding, calc(var(--space-unit) * 2));\n}\n\n.modal-container {\n z-index: 1010;\n display: flex;\n overflow: -moz-scrollbars-none;\n width: 100%;\n height: 100vh;\n flex-direction: column;\n}\n\n.modal-container > .modal-content-scroll-outside {\n overflow: auto;\n background: var(--color-surface01);\n}\n\n.modal-container > header {\n padding: calc(var(--space-unit) * 1.75) calc(var(--space-unit) * 2);\n background: var(--color-background);\n}\n\n.modal-container > header button {\n padding: 0;\n border: none;\n margin: 0;\n margin-left: auto;\n background: transparent;\n cursor: pointer;\n}\n\n.modal-container > header button:focus-visible {\n border-radius: 50%;\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n.modal-container > header button::after {\n position: absolute;\n top: 6px;\n right: 4px;\n display: block;\n width: 40px;\n height: 40px;\n background-color: transparent;\n content: \"\";\n}\n\n.modal-container > header z-icon {\n --z-icon-width: calc(var(--space-unit) * 2.25);\n --z-icon-height: calc(var(--space-unit) * 2.25);\n\n display: flex;\n fill: var(--color-primary01-icon);\n}\n\n.modal-container > header > div {\n display: flex;\n width: 100%;\n align-items: baseline;\n margin-right: calc(var(--space-unit) * 2);\n}\n\n.modal-container > header h1,\n.modal-container > header .subtitle {\n padding: 0;\n margin: 0;\n color: var(--color-default-text);\n font-weight: var(--font-sb);\n}\n\n.modal-container > header h1 {\n font-size: var(--font-size-5);\n letter-spacing: 0;\n line-height: 1.4;\n}\n\n.modal-container > header .subtitle {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n letter-spacing: 0;\n line-height: 1.5;\n}\n\n.modal-container > header > div > h1 *:empty {\n display: none;\n}\n\n.modal-container > header h1 + .subtitle {\n margin-top: calc(var(--space-unit) * 0.5);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside {\n overflow: hidden auto;\n flex: 1 auto;\n background: var(--color-surface01);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar-thumb,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n.modal-container-scroll-inside > .modal-content-scroll-inside::-webkit-scrollbar-thumb:hover,\n.modal-container-scroll-outside > .modal-content-scroll-outside::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox */\n@supports not selector(::-webkit-scrollbar-track) {\n .modal-container-scroll-inside .modal-content-scroll-inside,\n .modal-container-scroll-outside .modal-content-scroll-outside {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n/* Tablet / Desktop */\n@media only screen and (min-width: 768px) {\n .modal-background {\n position: fixed;\n top: 0;\n left: 0;\n overflow: hidden;\n width: 100vw;\n height: 100vh;\n background-color: var(--gray900);\n opacity: 0.7;\n }\n\n .modal-background.modal-background-scroll-outside {\n position: sticky;\n }\n\n .modal-container-scroll-inside {\n position: fixed;\n top: calc(var(--space-unit) * 6);\n left: 50%;\n overflow: hidden;\n width: auto;\n min-width: calc(var(--space-unit) * 40);\n height: auto;\n min-height: calc(var(--space-unit) * 40);\n max-height: calc(100vh - calc(var(--space-unit) * 6 * 2));\n border-radius: var(--border-radius);\n transform: translateX(-50%);\n }\n\n .modal-container-scroll-outside {\n position: absolute;\n top: calc(var(--space-unit) * 6);\n left: 50%;\n display: block;\n overflow: initial;\n width: auto;\n min-width: calc(var(--space-unit) * 40);\n height: auto;\n min-height: calc(var(--space-unit) * 40);\n max-height: calc(100vh - calc(var(--space-unit) * 6 * 2));\n transform: translateX(-50%);\n }\n\n .modal-container > .modal-content-scroll-outside {\n overflow: initial;\n }\n\n .modal-container-scroll-outside > header,\n .modal-container-scroll-inside > header {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n }\n\n .modal-container-scroll-outside::after {\n display: block;\n height: calc(var(--space-unit) * 6);\n content: \" \";\n }\n\n .modal-dialog {\n position: fixed;\n top: 0;\n left: 0;\n height: auto;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .modal-content-scroll-outside {\n border-bottom-left-radius: var(--border-radius);\n border-bottom-right-radius: var(--border-radius);\n }\n\n .modal-dialog::-webkit-scrollbar {\n display: none;\n }\n}\n\n/* Desktop */\n@media (min-width: 1152px) {\n .modal-container > header {\n padding-top: calc(var(--space-unit) * 1.5);\n padding-bottom: calc(var(--space-unit) * 1.5);\n }\n\n .modal-container > header h1 {\n font-size: var(--font-size-6);\n font-weight: var(--font-sb);\n letter-spacing: 0;\n line-height: 1.333;\n }\n\n .modal-container > header .subtitle {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n letter-spacing: 0;\n line-height: 1.5;\n }\n\n .modal-container > header h1 + .subtitle {\n margin-top: 0;\n }\n}\n","import {Component, Element, Event, EventEmitter, Listen, Method, Prop, h} from \"@stencil/core\";\nimport dialogPolyfill from \"dialog-polyfill\";\nimport {KeyboardCode} from \"../../beans\";\n\nconst FOCUSABLE_ELEMENTS_SELECTOR =\n ':is(button, input, select, textarea, [contenteditable=\"\"], [contenteditable=\"true\"], a[href], [tabindex], summary):not([disabled], [disabled=\"\"], [tabindex=\"-1\"], [aria-hidden=\"true\"], [hidden])';\n\n/**\n * @slot modalCloseButton - slot for custom close button\n * @slot modalContent - slot for the content of the modal\n * @cssprop --z-modal-content-padding - padding of the modal's content. The default is 16px (--space-unit * 2)\n */\n@Component({\n tag: \"z-modal\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZModal {\n /** unique id */\n @Prop()\n modalid: string;\n\n /** title text (optional) */\n @Prop()\n modaltitle?: string;\n\n /** subtitle (optional) */\n @Prop()\n modalsubtitle?: string;\n\n /** aria-label for close button (optional) */\n @Prop()\n closeButtonLabel = \"chiudi modale\";\n\n /** add role \"alertdialog\" to dialog (optional, default is false) */\n @Prop()\n alertdialog?: boolean = false;\n\n /** if true, the modal is closable (optional, default is true) */\n @Prop()\n closable?: boolean = true;\n\n /** if true, the modal can scroll inside, if false the viewport can scroll */\n @Prop()\n scrollInside?: boolean = true;\n\n /** if true, the page scroll is locked when the modal is open (optional, default is true) */\n @Prop()\n lockPageScroll?: boolean = true;\n\n private dialog: HTMLDialogElement;\n\n @Element() host: HTMLZModalElement;\n\n /** emitted on close button click, returns modalid */\n @Event()\n modalClose: EventEmitter;\n\n private emitModalClose(): void {\n if (this.closable) {\n this.modalClose.emit({modalid: this.modalid});\n this.resetPageScroll();\n }\n }\n\n /** emitted on modal header click, returns modalid */\n @Event()\n modalHeaderActive: EventEmitter;\n\n private emitModalHeaderActive(): void {\n this.modalHeaderActive.emit({modalid: this.modalid});\n }\n\n /** emitted on background click, returns modalid */\n @Event()\n modalBackgroundClick: EventEmitter;\n\n private emitBackgroundClick(): void {\n if (this.closable) {\n this.modalBackgroundClick.emit({modalid: this.modalid});\n this.resetPageScroll();\n }\n }\n\n private resetPageScroll(): void {\n if (this.lockPageScroll && document.body.style.overflowY === \"hidden\") {\n document.body.style.overflowY = \"\";\n }\n }\n\n componentDidLoad(): void {\n if (typeof window.HTMLDialogElement !== \"function\") {\n /* workaround to fix `registerDialog` in test environment:\n stencil converts html elements to MockHTMLElement but this element is missing the `localName` property,\n which is used by `registerDialog` to recognize the element as dialog */\n if (!this.dialog.localName) {\n Object.defineProperty(this.dialog, \"localName\", {value: \"dialog\"});\n }\n dialogPolyfill.registerDialog(this.dialog);\n this.dialog.setAttribute(\"open\", \"true\");\n } else {\n this.open();\n }\n if (this.lockPageScroll) {\n requestAnimationFrame(() => (document.body.style.overflowY = \"hidden\"));\n }\n }\n\n disconnectedCallback(): void {\n this.resetPageScroll();\n }\n\n /** open modal */\n @Method()\n async open(): Promise<void> {\n this.dialog?.showModal();\n if (this.lockPageScroll) {\n document.body.style.overflowY = \"hidden\";\n }\n }\n\n /** close modal */\n @Method()\n async close(): Promise<void> {\n if (this.closable) {\n this.dialog?.close();\n this.resetPageScroll();\n }\n }\n\n /**\n * Get a list of focusable elements in the dialog.\n * Remove elements with `display: none` from the list, because they're not focusable.\n *\n * N.B. The list is built on the assumption that elements inside shadow root are placed ALL before the `modalContent` slot.\n * Adding focusable elements after the `modalContent` slot would break the order of elements in the list.\n */\n private get focusableElements(): HTMLElement[] {\n return [\n ...Array.from(this.host.shadowRoot.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR)),\n ...Array.from(this.host.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR)),\n ].filter((element) => getComputedStyle(element).display !== \"none\");\n }\n\n @Listen(\"keydown\")\n handleKeyDown(e: KeyboardEvent): void {\n if (e.code === KeyboardCode.ESC && !this.closable) {\n e.preventDefault();\n }\n\n if (e.code !== KeyboardCode.TAB) {\n return;\n }\n\n const focusableElements = this.focusableElements;\n const shadowActiveElement = this.host.shadowRoot.activeElement;\n const activeElement = this.host.ownerDocument.activeElement;\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n if (e.shiftKey && (shadowActiveElement == firstFocusableElement || activeElement == firstFocusableElement)) {\n // shift + tab was pressed and current active element is the first focusable element\n e.preventDefault();\n lastFocusableElement.focus();\n } else if (!e.shiftKey && (shadowActiveElement == lastFocusableElement || activeElement == lastFocusableElement)) {\n // shift + tab was pressed and current active element is the first focusable element\n e.preventDefault();\n firstFocusableElement.focus();\n }\n }\n\n private closeButtonSlot(): HTMLElement | void {\n if (this.closable) {\n return (\n <slot name=\"modalCloseButton\">\n <button\n aria-label={this.closeButtonLabel}\n onClick={() => this.close()}\n >\n <z-icon name=\"multiply-circle-filled\"></z-icon>\n </button>\n </slot>\n );\n }\n }\n\n private handleEscape(e: Event): void {\n if (this.closable) {\n return;\n }\n e.preventDefault();\n }\n\n render(): HTMLZModalElement {\n return (\n <dialog\n class={{\n \"modal-dialog\": !this.scrollInside,\n }}\n aria-labelledby=\"modal-title\"\n aria-describedby=\"modal-content\"\n role={this.alertdialog ? \"alertdialog\" : undefined}\n ref={(el) => (this.dialog = el as HTMLDialogElement)}\n onClose={() => this.emitModalClose()}\n onCancel={(e) => this.handleEscape(e)}\n >\n <div\n class={{\n \"modal-container\": true,\n \"modal-container-scroll-inside\": this.scrollInside,\n \"modal-container-scroll-outside\": !this.scrollInside,\n }}\n id={this.modalid}\n >\n <header onClick={this.emitModalHeaderActive.bind(this)}>\n <div>\n {this.modaltitle && <h1 id=\"modal-title\">{this.modaltitle}</h1>}\n {this.closeButtonSlot()}\n </div>\n {this.modalsubtitle && (\n <div\n class=\"subtitle\"\n id=\"modal-subtitle\"\n >\n {this.modalsubtitle}\n </div>\n )}\n </header>\n\n <div\n class={{\n \"modal-content-scroll-inside\": this.scrollInside,\n \"modal-content-scroll-outside\": !this.scrollInside,\n }}\n id=\"modal-content\"\n >\n <slot name=\"modalContent\"></slot>\n </div>\n </div>\n <div\n class={{\n \"modal-background\": true,\n \"modal-background-scroll-outside\": !this.scrollInside,\n }}\n data-action=\"modalBackground\"\n data-modal={this.modalid}\n onClick={() => {\n this.emitBackgroundClick();\n this.close();\n }}\n ></div>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,a as n,g as o}from"./p-75c4a726.js";import{T as s}from"./p-2b309f57.js";import{e,d as c}from"./p-e087f05f.js";import"./p-5145a606.js";const r=".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}";const a=r;const l=class{constructor(i){t(this,i);this.variant=undefined;this.links=[];this.visible=false;this.visibleLink=""}handleFocusOutSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=false}}handleFocusSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=true}}componentDidLoad(){this.showFirstChild()}componentWillRender(){if(this.links){this.links=typeof this.links==="string"?JSON.parse(this.links):this.links}}isInSkipToContent(t){const i=e(t);const n=i.find((t=>t.nodeName.toLowerCase()==="z-skip-to-content"));return!!n}showFirstChild(){var t;const i=(t=this.hostElement.children)===null||t===void 0?void 0:t[0];if(i){this.visibleLink=i.id}}handleLinkClick(){this.visible=false}render(){return i(n,{key:"3887a0d40964e8bb4dd860e49dccca7863f2a902",class:{[this.variant]:true,"skip-to-content-visible":this.visible}},this.links.map(((t,n)=>{const o=`skip-to-content-${n}`;return i("div",{class:"link-container"},i("a",{id:o,class:{"body-1-sb":true,"z-link":true,"z-link-underline":true,"z-link-inverse":this.variant===s.DARK,"link-visible":o==this.visibleLink,"link-invisible":o!=this.visibleLink},"aria-label":t.ariaLabel||t.label,href:t.href,onFocus:()=>this.visibleLink=o,onClick:()=>this.handleLinkClick(),onKeyUp:t=>c(t,this.handleLinkClick.bind(this))},t.label))})))}get hostElement(){return o(this)}};l.style=a;export{l as z_skip_to_content};
2
- //# sourceMappingURL=p-ad74941b.entry.js.map
1
+ import{r as t,h as i,a as n,g as o}from"./p-75c4a726.js";import{T as s}from"./p-dfcf9936.js";import{e,d as c}from"./p-f3145212.js";import"./p-5145a606.js";const r=".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--color-surface05);color:var(--color-surface01)}.light.sc-z-skip-to-content-h{border:var(--border-size-medium) solid var(--color-surface05);background-color:var(--color-surface01);color:var(--color-default-text)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:var(--border-size-small) solid var(--color-surface05)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:var(--border-size-small) solid var(--color-surface01)}}";const l=r;const a=class{constructor(i){t(this,i);this.variant=undefined;this.links=[];this.visible=false;this.visibleLink=""}handleFocusOutSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=false}}handleFocusSkipToContent(t){if(this.isInSkipToContent(t.target)){this.visible=true}}componentDidLoad(){this.showFirstChild()}componentWillRender(){if(this.links){this.links=typeof this.links==="string"?JSON.parse(this.links):this.links}}isInSkipToContent(t){const i=e(t);const n=i.find((t=>t.nodeName.toLowerCase()==="z-skip-to-content"));return!!n}showFirstChild(){var t;const i=(t=this.hostElement.children)===null||t===void 0?void 0:t[0];if(i){this.visibleLink=i.id}}handleLinkClick(){this.visible=false}render(){return i(n,{key:"1e46d109b1dbb4518f20891945fe2df2f71ebd83",class:{[this.variant]:true,"skip-to-content-visible":this.visible}},this.links.map(((t,n)=>{const o=`skip-to-content-${n}`;return i("div",{class:"link-container"},i("a",{id:o,class:{"body-1-sb":true,"z-link":true,"z-link-underline":true,"z-link-inverse":this.variant===s.DARK,"link-visible":o==this.visibleLink,"link-invisible":o!=this.visibleLink},"aria-label":t.ariaLabel||t.label,href:t.href,onFocus:()=>this.visibleLink=o,onClick:()=>this.handleLinkClick(),onKeyUp:t=>c(t,this.handleLinkClick.bind(this))},t.label))})))}get hostElement(){return o(this)}};a.style=l;export{a as z_skip_to_content};
2
+ //# sourceMappingURL=p-25be56d1.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,a,g as s}from"./p-75c4a726.js";import"./p-431f5871.js";import"./p-1bbf185c.js";import"./p-f7f2beae.js";import"./p-bc408f39.js";import"./p-f3145212.js";import"./p-dfcf9936.js";import"./p-5145a606.js";import"./p-0cb113f9.js";import"./p-0d9f1574.js";const r=":host{--z-table--cells-padding:calc(var(--space-unit) * 2);position:relative;display:block;overflow:auto;max-width:100%;box-sizing:border-box;background-color:var(--color-surface01)}:host([expandable]){--z-table--expand-button-size:40px}:host([bordered]){--z-table--cell-left-border:1px solid var(--color-surface03)}";const o=r;const i=class{constructor(e){t(this,e);this.bordered=false;this.expandable=false}updateExpandable(){this.expandable=this.host.querySelectorAll("z-tr[expandable]").length>0}componentWillLoad(){this.expandableMutationObserver=new MutationObserver((()=>{this.updateExpandable()}));this.expandableMutationObserver.observe(this.host,{childList:true,subtree:true,attributes:true,attributeFilter:["expandable"],attributeOldValue:false})}disconnectedCallback(){var t;(t=this.expandableMutationObserver)===null||t===void 0?void 0:t.disconnect()}render(){return e(a,{key:"2bb52e3fc888013ff58b5f47d365b321857c9151",expandable:this.expandable},e("div",{key:"dbeadb1c170166590a3409fd2c8a9187ef1dad8e",class:"table",role:"table"},e("slot",{key:"eabc792f58c1653315c31d84a5611b940c4ee0ae"})))}get host(){return s(this)}};i.style=o;export{i as z_table};
2
+ //# sourceMappingURL=p-28c972c6.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as s,a as i,g as o}from"./p-75c4a726.js";import{g as a}from"./p-2b309f57.js";const n=':host{display: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)}.label{display:flex;width:100%;align-items:center;padding:var(--space-unit) 0;border:0;border-bottom:var(--border-size-small) solid var(--color-surface03);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}:host(:last-child:not([open])) .label{border-bottom:none}:host(:is([active],[open])) .label,.label:focus:focus-visible,.label:hover{border-color:var(--color-primary01)}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}::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.5}.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[hidden]{display:none}::slotted([slot="section"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-1);line-height:1.333;outline:none}::slotted([slot="section"]:last-of-type){border:none}::slotted([slot="section"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-primary01)}::slotted([slot="section"]:hover),::slotted([slot="section"]:focus:focus-visible),::slotted([slot="section"][active]){color:var(--color-primary01);font-weight:var(--font-bd)}';const h=n;const l=class{get focusableItem(){return this.items.find((({tabIndex:t})=>t===0))}toggle(){if(!this.hasItems){return}this.open=!this.open}setItemsA11yAttrs(){if(!this.hasItems){return}this.items.forEach((t=>{t.setAttribute("role","menuitem");t.tabIndex=-1}))}onItemsChange(){this.items=Array.from(this.host.querySelectorAll('[slot="section"]'));this.hasItems=this.items.length>0;this.setItemsA11yAttrs()}onLabelSlotChange(t){const e=t.target.assignedElements()[0];e.dataset.text=e===null||e===void 0?void 0:e.textContent}onLabelClick(){this.toggle();this.setFocus()}onLabelKeydown(t){if(t.key===a.ENTER||t.key===a.SPACE){t.preventDefault();t.stopPropagation();this.toggle();if(this.open){this.focustFirstItem()}}}moveFocus(t,e){t.tabIndex=0;setTimeout((()=>{t.focus()}),100);if(e){e.tabIndex=-1}}focustFirstItem(){this.moveFocus(this.items[0])}async focusLastItem(){this.moveFocus(this.items[this.items.length-1])}async setFocus(){this.htmlTabindex=0;setTimeout((()=>{this.label.focus()}),100)}onOpenChange(){if(!this.open){this.setItemsA11yAttrs();this.closed.emit()}else{this.opened.emit()}}onTabindexChange(){this.label.tabIndex=this.htmlTabindex}onItemsKeydown(t){switch(t.key){case a.ESC:case a.ARROW_LEFT:if(!this.open){break}t.preventDefault();t.stopPropagation();this.moveFocus(this.label,this.focusableItem);this.open=false;break;case a.ARROW_RIGHT:if(this.open){break}t.preventDefault();t.stopPropagation();this.open=true;this.focustFirstItem();break;case a.ARROW_DOWN:{if(!this.open){break}if(document.activeElement===this.host){t.preventDefault();t.stopPropagation();this.focustFirstItem();break}const e=this.items.indexOf(this.focusableItem);const s=this.items[e+1];if(s){t.preventDefault();t.stopPropagation();this.moveFocus(s,this.focusableItem)}else{this.htmlTabindex=0;this.focusableItem.tabIndex=-1}break}case a.ARROW_UP:{if(!this.open||document.activeElement===this.host){break}const e=this.items.indexOf(this.focusableItem);const s=this.items[e-1];t.preventDefault();t.stopPropagation();if(s){this.moveFocus(s,this.focusableItem)}else{this.focusableItem.tabIndex=-1;this.setFocus()}break}}}constructor(s){t(this,s);this.opened=e(this,"opened",7);this.closed=e(this,"closed",7);this.active=undefined;this.htmlTabindex=-1;this.open=undefined;this.hasItems=undefined;this.items=undefined;this.toggle=this.toggle.bind(this);this.onItemsChange=this.onItemsChange.bind(this);this.onLabelSlotChange=this.onLabelSlotChange.bind(this);this.onLabelClick=this.onLabelClick.bind(this);this.onLabelKeydown=this.onLabelKeydown.bind(this);this.onItemsKeydown=this.onItemsKeydown.bind(this)}connectedCallback(){this.onItemsChange()}render(){return s(i,{key:"ca61d9daac35484cf3fa3a7ab4d6b5700dade8b0",open:this.open},s("button",{key:"d2750e008a22b0de43075ed947d1b9e0f6917bd5",ref:t=>this.label=t,class:"label","aria-haspopup":`${!!this.hasItems}`,"aria-expanded":`${!!this.open}`,role:"menuitem",tabindex:this.htmlTabindex,onClick:this.onLabelClick,onKeyDown:this.onLabelKeydown},s("slot",{key:"be5dad19dd6fece321bb68ff89e17372f4353539",onSlotchange:this.onLabelSlotChange}),this.hasItems&&s("z-icon",{key:"7c6fecfd96a4391394b17f3eea38aa7f29786a18",name:this.open?"chevron-up":"chevron-down"})),s("div",{key:"87512635c2b4377a6c304cc0bb1345131997e5f4",class:"items",role:"menu",hidden:!this.open},s("slot",{key:"b2dfb0d5a94adb555fb08c7592d5c58feb3c6c5f",name:"section",onSlotchange:this.onItemsChange})))}get host(){return o(this)}static get watchers(){return{open:["onOpenChange"],htmlTabindex:["onTabindexChange"]}}};l.style=h;export{l as z_menu_section};
2
- //# sourceMappingURL=p-6f5f2d56.entry.js.map
1
+ import{r as t,c as e,h as s,a as i,g as o}from"./p-75c4a726.js";import{g as a}from"./p-dfcf9936.js";const n=':host{display: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)}.label{display:flex;width:100%;align-items:center;padding:var(--space-unit) 0;border:0;border-bottom:var(--border-size-small) solid var(--color-surface03);margin:0;background:transparent;border-radius:0;cursor:pointer;text-align:left}:host(:last-child:not([open])) .label{border-bottom:none}:host(:is([active],[open])) .label,.label:focus:focus-visible,.label:hover{border-color:var(--color-primary01)}.label:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host(:is([active],[open])) .label ::slotted(*),.label:focus:focus-visible ::slotted(*),.label:hover ::slotted(*){font-weight:var(--font-bd)}::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.5}.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[hidden]{display:none}::slotted([slot="section"]){display:inline-flex;padding:calc(var(--space-unit) / 2);margin:0;font-size:var(--font-size-1);line-height:1.333;outline:none}::slotted([slot="section"]:last-of-type){border:none}::slotted([slot="section"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary);color:var(--color-primary01)}::slotted([slot="section"]:hover),::slotted([slot="section"]:focus:focus-visible),::slotted([slot="section"][active]){color:var(--color-primary01);font-weight:var(--font-bd)}';const h=n;const l=class{get focusableItem(){return this.items.find((({tabIndex:t})=>t===0))}toggle(){if(!this.hasItems){return}this.open=!this.open}setItemsA11yAttrs(){if(!this.hasItems){return}this.items.forEach((t=>{t.setAttribute("role","menuitem");t.tabIndex=-1}))}onItemsChange(){this.items=Array.from(this.host.querySelectorAll('[slot="section"]'));this.hasItems=this.items.length>0;this.setItemsA11yAttrs()}onLabelSlotChange(t){const e=t.target.assignedElements()[0];e.dataset.text=e===null||e===void 0?void 0:e.textContent}onLabelClick(){this.toggle();this.setFocus()}onLabelKeydown(t){if(t.key===a.ENTER||t.key===a.SPACE){t.preventDefault();t.stopPropagation();this.toggle();if(this.open){this.focustFirstItem()}}}moveFocus(t,e){t.tabIndex=0;setTimeout((()=>{t.focus()}),100);if(e){e.tabIndex=-1}}focustFirstItem(){this.moveFocus(this.items[0])}async focusLastItem(){this.moveFocus(this.items[this.items.length-1])}async setFocus(){this.htmlTabindex=0;setTimeout((()=>{this.label.focus()}),100)}onOpenChange(){if(!this.open){this.setItemsA11yAttrs();this.closed.emit()}else{this.opened.emit()}}onTabindexChange(){if(!this.label){return}this.label.tabIndex=this.htmlTabindex}onItemsKeydown(t){switch(t.key){case a.ESC:case a.ARROW_LEFT:if(!this.open){break}t.preventDefault();t.stopPropagation();this.moveFocus(this.label,this.focusableItem);this.open=false;break;case a.ARROW_RIGHT:if(this.open){break}t.preventDefault();t.stopPropagation();this.open=true;this.focustFirstItem();break;case a.ARROW_DOWN:{if(!this.open){break}if(document.activeElement===this.host){t.preventDefault();t.stopPropagation();this.focustFirstItem();break}const e=this.items.indexOf(this.focusableItem);const s=this.items[e+1];if(s){t.preventDefault();t.stopPropagation();this.moveFocus(s,this.focusableItem)}else{this.htmlTabindex=0;this.focusableItem.tabIndex=-1}break}case a.ARROW_UP:{if(!this.open||document.activeElement===this.host){break}const e=this.items.indexOf(this.focusableItem);const s=this.items[e-1];t.preventDefault();t.stopPropagation();if(s){this.moveFocus(s,this.focusableItem)}else{this.focusableItem.tabIndex=-1;this.setFocus()}break}}}constructor(s){t(this,s);this.opened=e(this,"opened",7);this.closed=e(this,"closed",7);this.active=undefined;this.htmlTabindex=-1;this.open=undefined;this.hasItems=undefined;this.items=undefined;this.toggle=this.toggle.bind(this);this.onItemsChange=this.onItemsChange.bind(this);this.onLabelSlotChange=this.onLabelSlotChange.bind(this);this.onLabelClick=this.onLabelClick.bind(this);this.onLabelKeydown=this.onLabelKeydown.bind(this);this.onItemsKeydown=this.onItemsKeydown.bind(this)}connectedCallback(){this.onItemsChange()}render(){return s(i,{key:"7096b13684165ea59a80c5aa679f9ab63c47c0c0",open:this.open},s("button",{key:"9f170b0588f348f8b17ae9d7809c9fcbf52d9e53",ref:t=>this.label=t,class:"label","aria-haspopup":`${!!this.hasItems}`,"aria-expanded":`${!!this.open}`,role:"menuitem",tabindex:this.htmlTabindex,onClick:this.onLabelClick,onKeyDown:this.onLabelKeydown},s("slot",{key:"bf8676afd6af9f622fed46baee5c3f2ef349e083",onSlotchange:this.onLabelSlotChange}),this.hasItems&&s("z-icon",{key:"53ac6446d771a867af3474619809ffc110e4baa1",name:this.open?"chevron-up":"chevron-down"})),s("div",{key:"632ee96a07716da82d70b8fc8170014846f8fca4",class:"items",role:"menu",hidden:!this.open},s("slot",{key:"f5c81d4bf7073341a0d46a0638c8d08172c2afb9",name:"section",onSlotchange:this.onItemsChange})))}get host(){return o(this)}static get watchers(){return{open:["onOpenChange"],htmlTabindex:["onTabindexChange"]}}};l.style=h;export{l as z_menu_section};
2
+ //# sourceMappingURL=p-29414fa3.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZMenuSectionStyle0","ZMenuSection","focusableItem","this","items","find","tabIndex","toggle","hasItems","open","setItemsA11yAttrs","forEach","item","setAttribute","onItemsChange","Array","from","host","querySelectorAll","length","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","onLabelClick","setFocus","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","focustFirstItem","moveFocus","receiver","current","setTimeout","focus","focusLastItem","htmlTabindex","label","onOpenChange","closed","emit","opened","onTabindexChange","onItemsKeydown","ESC","ARROW_LEFT","ARROW_RIGHT","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","constructor","hostRef","bind","connectedCallback","render","h","Host","ref","el","class","role","tabindex","onClick","onKeyDown","onSlotchange","name","hidden"],"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: 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.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: var(--space-unit) 0;\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n:host(:last-child:not([open])) .label {\n border-bottom: none;\n}\n\n:host(:is([active], [open])) .label,\n.label:focus:focus-visible,\n.label:hover {\n border-color: var(--color-primary01);\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\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::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.5;\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[hidden] {\n display: none;\n}\n\n::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-1);\n line-height: 1.333;\n outline: none;\n}\n\n::slotted([slot=\"section\"]:last-of-type) {\n border: none;\n}\n\n::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n}\n\n::slotted([slot=\"section\"]:hover),\n::slotted([slot=\"section\"]:focus:focus-visible),\n::slotted([slot=\"section\"][active]) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot section - Single entry of the menu section. Set the same slot name to different elements to put many of them. Add the `active` attribute to a slotted element to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() host: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Tabindex value to set on the label button.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZMenu).\n */\n @Prop()\n htmlTabindex = -1;\n\n /** The opening state of the section. */\n @Prop({mutable: true})\n open: boolean;\n\n @State()\n hasItems: boolean;\n\n @State()\n items: HTMLElement[];\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 label: HTMLButtonElement;\n\n private get focusableItem(): HTMLElement {\n return this.items.find(({tabIndex}) => tabIndex === 0);\n }\n\n private toggle(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.open = !this.open;\n }\n\n private setItemsA11yAttrs(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.tabIndex = -1;\n });\n }\n\n private onItemsChange(): void {\n this.items = Array.from(this.host.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n this.hasItems = this.items.length > 0;\n this.setItemsA11yAttrs();\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 private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.focustFirstItem();\n }\n }\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n */\n private moveFocus(receiver: HTMLElement, current?: HTMLElement): void {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n if (current) {\n current.tabIndex = -1;\n }\n }\n\n private focustFirstItem(): void {\n this.moveFocus(this.items[0]);\n }\n\n /** Focus the last item. */\n @Method()\n async focusLastItem(): Promise<void> {\n this.moveFocus(this.items[this.items.length - 1]);\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n setTimeout(() => {\n this.label.focus();\n }, 100);\n }\n\n @Watch(\"open\")\n onOpenChange(): void {\n if (!this.open) {\n this.setItemsA11yAttrs();\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n @Watch(\"htmlTabindex\")\n onTabindexChange(): void {\n this.label.tabIndex = this.htmlTabindex;\n }\n\n @Listen(\"keydown\")\n private onItemsKeydown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case KeyboardCode.ESC:\n case KeyboardCode.ARROW_LEFT:\n if (!this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(this.label, this.focusableItem);\n this.open = false;\n break;\n case KeyboardCode.ARROW_RIGHT:\n if (this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.focustFirstItem();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (!this.open) {\n break;\n }\n if (document.activeElement === this.host) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focustFirstItem();\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex + 1];\n if (receiver) {\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(receiver, this.focusableItem);\n } else {\n this.htmlTabindex = 0;\n this.focusableItem.tabIndex = -1;\n }\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (!this.open || document.activeElement === this.host) {\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex - 1];\n ev.preventDefault();\n ev.stopPropagation();\n if (receiver) {\n this.moveFocus(receiver, this.focusableItem);\n } else {\n // since there isn't a previous item to focus, give the focus to the label element\n this.focusableItem.tabIndex = -1;\n this.setFocus();\n }\n break;\n }\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n this.onItemsKeydown = this.onItemsKeydown.bind(this);\n }\n\n connectedCallback(): void {\n this.onItemsChange();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host open={this.open}>\n <button\n ref={(el) => (this.label = el)}\n class=\"label\"\n aria-haspopup={`${!!this.hasItems}`}\n aria-expanded={`${!!this.open}`}\n role=\"menuitem\"\n tabindex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n {this.hasItems && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n <div\n class=\"items\"\n role=\"menu\"\n hidden={!this.open}\n >\n <slot\n name=\"section\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZMenuSectionStyle0","ZMenuSection","focusableItem","this","items","find","tabIndex","toggle","hasItems","open","setItemsA11yAttrs","forEach","item","setAttribute","onItemsChange","Array","from","host","querySelectorAll","length","onLabelSlotChange","ev","labelElement","target","assignedElements","dataset","text","textContent","onLabelClick","setFocus","onLabelKeydown","key","KeyboardCode","ENTER","SPACE","preventDefault","stopPropagation","focustFirstItem","moveFocus","receiver","current","setTimeout","focus","focusLastItem","htmlTabindex","label","onOpenChange","closed","emit","opened","onTabindexChange","onItemsKeydown","ESC","ARROW_LEFT","ARROW_RIGHT","ARROW_DOWN","document","activeElement","currentIndex","indexOf","ARROW_UP","constructor","hostRef","bind","connectedCallback","render","h","Host","ref","el","class","role","tabindex","onClick","onKeyDown","onSlotchange","name","hidden"],"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: 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.label {\n display: flex;\n width: 100%;\n align-items: center;\n padding: var(--space-unit) 0;\n border: 0;\n border-bottom: var(--border-size-small) solid var(--color-surface03);\n margin: 0;\n background: transparent;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n}\n\n:host(:last-child:not([open])) .label {\n border-bottom: none;\n}\n\n:host(:is([active], [open])) .label,\n.label:focus:focus-visible,\n.label:hover {\n border-color: var(--color-primary01);\n}\n\n.label:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\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::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.5;\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[hidden] {\n display: none;\n}\n\n::slotted([slot=\"section\"]) {\n display: inline-flex;\n padding: calc(var(--space-unit) / 2);\n margin: 0;\n font-size: var(--font-size-1);\n line-height: 1.333;\n outline: none;\n}\n\n::slotted([slot=\"section\"]:last-of-type) {\n border: none;\n}\n\n::slotted([slot=\"section\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-primary01);\n}\n\n::slotted([slot=\"section\"]:hover),\n::slotted([slot=\"section\"]:focus:focus-visible),\n::slotted([slot=\"section\"][active]) {\n color: var(--color-primary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode} from \"../../beans\";\n\n/**\n * A component to create submenus inside the ZMenu.\n * @slot - Label of the menu section.\n * @slot section - Single entry of the menu section. Set the same slot name to different elements to put many of them. Add the `active` attribute to a slotted element to highlight it.\n */\n@Component({\n tag: \"z-menu-section\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuSection {\n @Element() host: HTMLZMenuSectionElement;\n\n /** Active state */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Tabindex value to set on the label button.\n * Useful to manage keyboard navigation focus with roving tabindex handled by this component's parent (usually ZMenu).\n */\n @Prop()\n htmlTabindex = -1;\n\n /** The opening state of the section. */\n @Prop({mutable: true})\n open: boolean;\n\n @State()\n hasItems: boolean;\n\n @State()\n items: HTMLElement[];\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 label: HTMLButtonElement;\n\n private get focusableItem(): HTMLElement {\n return this.items.find(({tabIndex}) => tabIndex === 0);\n }\n\n private toggle(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.open = !this.open;\n }\n\n private setItemsA11yAttrs(): void {\n if (!this.hasItems) {\n return;\n }\n\n this.items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.tabIndex = -1;\n });\n }\n\n private onItemsChange(): void {\n this.items = Array.from(this.host.querySelectorAll('[slot=\"section\"]')) as HTMLElement[];\n this.hasItems = this.items.length > 0;\n this.setItemsA11yAttrs();\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 private onLabelClick(): void {\n this.toggle();\n this.setFocus();\n }\n\n private onLabelKeydown(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.ENTER || ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n ev.stopPropagation();\n this.toggle();\n if (this.open) {\n this.focustFirstItem();\n }\n }\n }\n\n /**\n * Move focus and adjust the tabindex value of `receiver` and `current` elements,\n * setting -1 to the `current` and 0 to the `receiver`, then focus the `receiver` element.\n */\n private moveFocus(receiver: HTMLElement, current?: HTMLElement): void {\n receiver.tabIndex = 0;\n setTimeout(() => {\n receiver.focus();\n }, 100);\n if (current) {\n current.tabIndex = -1;\n }\n }\n\n private focustFirstItem(): void {\n this.moveFocus(this.items[0]);\n }\n\n /** Focus the last item. */\n @Method()\n async focusLastItem(): Promise<void> {\n this.moveFocus(this.items[this.items.length - 1]);\n }\n\n /** Set tabindex of the label to 0, then focus it. */\n @Method()\n async setFocus(): Promise<void> {\n this.htmlTabindex = 0;\n setTimeout(() => {\n this.label.focus();\n }, 100);\n }\n\n @Watch(\"open\")\n onOpenChange(): void {\n if (!this.open) {\n this.setItemsA11yAttrs();\n this.closed.emit();\n } else {\n this.opened.emit();\n }\n }\n\n @Watch(\"htmlTabindex\")\n onTabindexChange(): void {\n if (!this.label) {\n return;\n }\n\n this.label.tabIndex = this.htmlTabindex;\n }\n\n @Listen(\"keydown\")\n private onItemsKeydown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case KeyboardCode.ESC:\n case KeyboardCode.ARROW_LEFT:\n if (!this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(this.label, this.focusableItem);\n this.open = false;\n break;\n case KeyboardCode.ARROW_RIGHT:\n if (this.open) {\n break;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.open = true;\n this.focustFirstItem();\n break;\n case KeyboardCode.ARROW_DOWN: {\n if (!this.open) {\n break;\n }\n if (document.activeElement === this.host) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focustFirstItem();\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex + 1];\n if (receiver) {\n ev.preventDefault();\n ev.stopPropagation();\n this.moveFocus(receiver, this.focusableItem);\n } else {\n this.htmlTabindex = 0;\n this.focusableItem.tabIndex = -1;\n }\n break;\n }\n case KeyboardCode.ARROW_UP: {\n if (!this.open || document.activeElement === this.host) {\n break;\n }\n const currentIndex = this.items.indexOf(this.focusableItem);\n const receiver = this.items[currentIndex - 1];\n ev.preventDefault();\n ev.stopPropagation();\n if (receiver) {\n this.moveFocus(receiver, this.focusableItem);\n } else {\n // since there isn't a previous item to focus, give the focus to the label element\n this.focusableItem.tabIndex = -1;\n this.setFocus();\n }\n break;\n }\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onLabelClick = this.onLabelClick.bind(this);\n this.onLabelKeydown = this.onLabelKeydown.bind(this);\n this.onItemsKeydown = this.onItemsKeydown.bind(this);\n }\n\n connectedCallback(): void {\n this.onItemsChange();\n }\n\n render(): HTMLZMenuSectionElement {\n return (\n <Host open={this.open}>\n <button\n ref={(el) => (this.label = el)}\n class=\"label\"\n aria-haspopup={`${!!this.hasItems}`}\n aria-expanded={`${!!this.open}`}\n role=\"menuitem\"\n tabindex={this.htmlTabindex}\n onClick={this.onLabelClick}\n onKeyDown={this.onLabelKeydown}\n >\n <slot onSlotchange={this.onLabelSlotChange} />\n {this.hasItems && <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />}\n </button>\n <div\n class=\"items\"\n role=\"menu\"\n hidden={!this.open}\n >\n <slot\n name=\"section\"\n onSlotchange={this.onItemsChange}\n />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAY,oiEAClB,MAAAC,EAAeD,E,MCYFE,EAAY,MAkCvB,iBAAYC,GACV,OAAOC,KAAKC,MAAMC,MAAK,EAAEC,cAAcA,IAAa,G,CAG9C,MAAAC,GACN,IAAKJ,KAAKK,SAAU,CAClB,M,CAGFL,KAAKM,MAAQN,KAAKM,I,CAGZ,iBAAAC,GACN,IAAKP,KAAKK,SAAU,CAClB,M,CAGFL,KAAKC,MAAMO,SAASC,IAClBA,EAAKC,aAAa,OAAQ,YAC1BD,EAAKN,UAAY,CAAC,G,CAId,aAAAQ,GACNX,KAAKC,MAAQW,MAAMC,KAAKb,KAAKc,KAAKC,iBAAiB,qBACnDf,KAAKK,SAAWL,KAAKC,MAAMe,OAAS,EACpChB,KAAKO,mB,CAOC,iBAAAU,CAAkBC,GACxB,MAAMC,EAAgBD,EAAGE,OAA2BC,mBAAmB,GACvEF,EAAaG,QAAQC,KAAOJ,IAAY,MAAZA,SAAY,SAAZA,EAAcK,W,CAGpC,YAAAC,GACNzB,KAAKI,SACLJ,KAAK0B,U,CAGC,cAAAC,CAAeT,GACrB,GAAIA,EAAGU,MAAQC,EAAaC,OAASZ,EAAGU,MAAQC,EAAaE,MAAO,CAClEb,EAAGc,iBACHd,EAAGe,kBACHjC,KAAKI,SACL,GAAIJ,KAAKM,KAAM,CACbN,KAAKkC,iB,GASH,SAAAC,CAAUC,EAAuBC,GACvCD,EAASjC,SAAW,EACpBmC,YAAW,KACTF,EAASG,OAAO,GACf,KACH,GAAIF,EAAS,CACXA,EAAQlC,UAAY,C,EAIhB,eAAA+B,GACNlC,KAAKmC,UAAUnC,KAAKC,MAAM,G,CAK5B,mBAAMuC,GACJxC,KAAKmC,UAAUnC,KAAKC,MAAMD,KAAKC,MAAMe,OAAS,G,CAKhD,cAAMU,GACJ1B,KAAKyC,aAAe,EACpBH,YAAW,KACTtC,KAAK0C,MAAMH,OAAO,GACjB,I,CAIL,YAAAI,GACE,IAAK3C,KAAKM,KAAM,CACdN,KAAKO,oBACLP,KAAK4C,OAAOC,M,KACP,CACL7C,KAAK8C,OAAOD,M,EAKhB,gBAAAE,GACE,IAAK/C,KAAK0C,MAAO,CACf,M,CAGF1C,KAAK0C,MAAMvC,SAAWH,KAAKyC,Y,CAIrB,cAAAO,CAAe9B,GACrB,OAAQA,EAAGU,KACT,KAAKC,EAAaoB,IAClB,KAAKpB,EAAaqB,WAChB,IAAKlD,KAAKM,KAAM,CACd,K,CAEFY,EAAGc,iBACHd,EAAGe,kBACHjC,KAAKmC,UAAUnC,KAAK0C,MAAO1C,KAAKD,eAChCC,KAAKM,KAAO,MACZ,MACF,KAAKuB,EAAasB,YAChB,GAAInD,KAAKM,KAAM,CACb,K,CAEFY,EAAGc,iBACHd,EAAGe,kBACHjC,KAAKM,KAAO,KACZN,KAAKkC,kBACL,MACF,KAAKL,EAAauB,WAAY,CAC5B,IAAKpD,KAAKM,KAAM,CACd,K,CAEF,GAAI+C,SAASC,gBAAkBtD,KAAKc,KAAM,CACxCI,EAAGc,iBACHd,EAAGe,kBACHjC,KAAKkC,kBACL,K,CAEF,MAAMqB,EAAevD,KAAKC,MAAMuD,QAAQxD,KAAKD,eAC7C,MAAMqC,EAAWpC,KAAKC,MAAMsD,EAAe,GAC3C,GAAInB,EAAU,CACZlB,EAAGc,iBACHd,EAAGe,kBACHjC,KAAKmC,UAAUC,EAAUpC,KAAKD,c,KACzB,CACLC,KAAKyC,aAAe,EACpBzC,KAAKD,cAAcI,UAAY,C,CAEjC,K,CAEF,KAAK0B,EAAa4B,SAAU,CAC1B,IAAKzD,KAAKM,MAAQ+C,SAASC,gBAAkBtD,KAAKc,KAAM,CACtD,K,CAEF,MAAMyC,EAAevD,KAAKC,MAAMuD,QAAQxD,KAAKD,eAC7C,MAAMqC,EAAWpC,KAAKC,MAAMsD,EAAe,GAC3CrC,EAAGc,iBACHd,EAAGe,kBACH,GAAIG,EAAU,CACZpC,KAAKmC,UAAUC,EAAUpC,KAAKD,c,KACzB,CAELC,KAAKD,cAAcI,UAAY,EAC/BH,KAAK0B,U,CAEP,K,GAKN,WAAAgC,CAAAC,G,iHAhMgB,E,iEAiMd3D,KAAKI,OAASJ,KAAKI,OAAOwD,KAAK5D,MAC/BA,KAAKW,cAAgBX,KAAKW,cAAciD,KAAK5D,MAC7CA,KAAKiB,kBAAoBjB,KAAKiB,kBAAkB2C,KAAK5D,MACrDA,KAAKyB,aAAezB,KAAKyB,aAAamC,KAAK5D,MAC3CA,KAAK2B,eAAiB3B,KAAK2B,eAAeiC,KAAK5D,MAC/CA,KAAKgD,eAAiBhD,KAAKgD,eAAeY,KAAK5D,K,CAGjD,iBAAA6D,GACE7D,KAAKW,e,CAGP,MAAAmD,GACE,OACEC,EAACC,EAAI,CAAApC,IAAA,2CAACtB,KAAMN,KAAKM,MACfyD,EAAA,UAAAnC,IAAA,2CACEqC,IAAMC,GAAQlE,KAAK0C,MAAQwB,EAC3BC,MAAM,QAAO,gBACE,KAAKnE,KAAKK,WAAU,gBACpB,KAAKL,KAAKM,OACzB8D,KAAK,WACLC,SAAUrE,KAAKyC,aACf6B,QAAStE,KAAKyB,aACd8C,UAAWvE,KAAK2B,gBAEhBoC,EAAA,QAAAnC,IAAA,2CAAM4C,aAAcxE,KAAKiB,oBACxBjB,KAAKK,UAAY0D,EAAA,UAAAnC,IAAA,2CAAQ6C,KAAMzE,KAAKM,KAAO,aAAe,kBAE7DyD,EAAA,OAAAnC,IAAA,2CACEuC,MAAM,QACNC,KAAK,OACLM,QAAS1E,KAAKM,MAEdyD,EAAA,QAAAnC,IAAA,2CACE6C,KAAK,UACLD,aAAcxE,KAAKW,iB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as a,a as o}from"./p-75c4a726.js";const s=':host{display:inline-block;overflow:hidden;width:100%;height:100%;background:var(--color-surface02);border-radius:var(--border-radius);transform:translate3d(0, 0, 0)}:host::after{display:block;width:100%;height:100%;animation:progress 1.6s ease-in-out infinite;background-image:linear-gradient(\n 90deg,\n var(--color-surface02) 0%,\n var(--color-surface03) 95%,\n var(--color-surface02) 100%\n );content:"";filter:blur(6px)}@keyframes progress{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}';const e=s;const t=class{constructor(a){r(this,a)}render(){return a(o,{key:"3bb2943f271b8c4ba5ac15a19c49d25ff1431611"})}};t.style=e;export{t as z_ghost_loading};
2
+ //# sourceMappingURL=p-301b56f1.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZGhostLoadingStyle0","ZGhostLoading","render","h","Host","key"],"sources":["src/components/z-ghost-loading/styles.css?tag=z-ghost-loading&encapsulation=shadow","src/components/z-ghost-loading/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n height: 100%;\n background: var(--color-surface02);\n border-radius: var(--border-radius);\n transform: translate3d(0, 0, 0);\n}\n\n:host::after {\n display: block;\n width: 100%;\n height: 100%;\n animation: progress 1.6s ease-in-out infinite;\n background-image: linear-gradient(\n 90deg,\n var(--color-surface02) 0%,\n var(--color-surface03) 95%,\n var(--color-surface02) 100%\n );\n content: \"\";\n filter: blur(6px);\n}\n\n@keyframes progress {\n 0% {\n transform: translateX(-100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n}\n","import {Component, h, Host} from \"@stencil/core\";\n@Component({\n tag: \"z-ghost-loading\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZGhostLoading {\n render(): HTMLZGhostLoadingElement {\n return <Host />;\n }\n}\n"],"mappings":"6CAAA,MAAMA,EAAY,6gBAClB,MAAAC,EAAeD,E,MCKFE,EAAa,M,yBACxB,MAAAC,GACE,OAAOC,EAACC,EAAI,CAAAC,IAAA,4C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as n}from"./p-75c4a726.js";import{f as a}from"./p-dfcf9936.js";const e="input:focus{box-shadow:var(--shadow-focus-primary);outline:none !important}:host{font-family:var(--font-family-sans);font-weight:var(--font-rg)}.digits-container{display:flex;justify-content:flex-start}input{width:calc(var(--space-unit) * 5);height:72px;box-sizing:border-box;padding:0;caret-color:transparent;color:var(--color-surface05);font-family:var(--font-family-sans);font-size:32px;font-weight:300;text-align:center}input.error{border:1px solid;border-color:var(--color-default-error);background-color:var(--color-inverse-error);border-radius:4px}input:not(:last-of-type){margin-right:var(--space-unit)}@media only screen and (min-width: 768px){input:not(:last-of-type){margin-right:calc(var(--space-unit) * 2)}}@media only screen and (min-width: 1025px){input{width:calc(var(--space-unit) * 6)}}";const r=e;const o=class{constructor(n){t(this,n);this.otpChange=i(this,"otpChange",7);this.inputNum=6;this.status=undefined;this.message=undefined}emitInputChange(t){this.otpChange.emit({value:t})}componentWillLoad(){this.otp=[...Array(this.inputNum)];this.otpRef=[...Array(this.inputNum)]}render(){return n("div",{key:"1bd9b3d70957e51d840124cfb043bf4d67d5041f",class:"otp-container"},n("div",{key:"319ee96fb8f0c226bfc50da230c68c25cdaf8689",class:"digits-container"},this.otp.map(((t,i)=>n("input",{class:this.status==a.ERROR?"error":null,onKeyDown:t=>{if(t.keyCode>47){this.otpRef[i].value=""}},onKeyUp:t=>{if(t.keyCode>47){i<this.inputNum-1&&this.otpRef[i+1].focus()}},onInput:t=>{this.otp[i]=t.target.value;this.emitInputChange(this.otp.join(""))},type:"text",minlength:"1",maxlength:"1",autoComplete:"off",ref:t=>this.otpRef[i]=t})))),n("z-input-message",{key:"adede57e3fb459da18620c6e31ff8d26af0149aa",message:this.message,status:this.status}))}};o.style=r;export{o as z_otp};
2
+ //# sourceMappingURL=p-30677b5c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZOtpStyle0","ZOtp","emitInputChange","value","this","otpChange","emit","componentWillLoad","otp","Array","inputNum","otpRef","render","h","key","class","map","_val","i","status","InputStatus","ERROR","onKeyDown","e","keyCode","onKeyUp","focus","onInput","target","join","type","minlength","maxlength","autoComplete","ref","el","message"],"sources":["src/snowflakes/myz/z-otp/styles.css?tag=z-otp&encapsulation=shadow","src/snowflakes/myz/z-otp/index.tsx"],"sourcesContent":["input:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.digits-container {\n display: flex;\n justify-content: flex-start;\n}\n\ninput {\n width: calc(var(--space-unit) * 5);\n height: 72px;\n box-sizing: border-box;\n padding: 0;\n caret-color: transparent;\n color: var(--color-surface05);\n font-family: var(--font-family-sans);\n font-size: 32px;\n font-weight: 300;\n text-align: center;\n}\n\ninput.error {\n border: 1px solid;\n border-color: var(--color-default-error);\n background-color: var(--color-inverse-error);\n border-radius: 4px;\n}\n\ninput:not(:last-of-type) {\n margin-right: var(--space-unit);\n}\n\n/* Tablet breakpoint */\n@media only screen and (min-width: 768px) {\n input:not(:last-of-type) {\n margin-right: calc(var(--space-unit) * 2);\n }\n}\n\n/* Desktop breakpoint */\n@media only screen and (min-width: 1025px) {\n input {\n width: calc(var(--space-unit) * 6);\n }\n}\n","import {Component, Event, EventEmitter, Prop, h} from \"@stencil/core\";\nimport {InputStatus} from \"../../../beans\";\n\n@Component({\n tag: \"z-otp\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZOtp {\n /** Input number */\n @Prop()\n inputNum?: number = 6;\n\n /** Input status */\n @Prop()\n status?: InputStatus;\n\n /** Input message */\n @Prop()\n message?: string;\n\n private otp: string[];\n\n private otpRef: HTMLInputElement[];\n\n /** Otp change event */\n @Event()\n otpChange: EventEmitter;\n\n private emitInputChange(value: string): void {\n this.otpChange.emit({value});\n }\n\n componentWillLoad(): void {\n this.otp = [...Array(this.inputNum)];\n this.otpRef = [...Array(this.inputNum)];\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"otp-container\">\n <div class=\"digits-container\">\n {this.otp.map((_val, i) => (\n <input\n class={this.status == InputStatus.ERROR ? \"error\" : null}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.keyCode > 47) {\n this.otpRef[i].value = \"\";\n }\n }}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.keyCode > 47) {\n i < this.inputNum - 1 && this.otpRef[i + 1].focus();\n }\n }}\n onInput={(e: InputEvent) => {\n this.otp[i] = (e.target as HTMLInputElement).value;\n this.emitInputChange(this.otp.join(\"\"));\n }}\n type=\"text\"\n minlength=\"1\"\n maxlength=\"1\"\n autoComplete=\"off\"\n ref={(el) => (this.otpRef[i] = el)}\n />\n ))}\n </div>\n <z-input-message\n message={this.message}\n status={this.status}\n ></z-input-message>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAY,uyBAClB,MAAAC,EAAeD,E,MCOFE,EAAI,M,4EAGK,E,6CAkBZ,eAAAC,CAAgBC,GACtBC,KAAKC,UAAUC,KAAK,CAACH,S,CAGvB,iBAAAI,GACEH,KAAKI,IAAM,IAAIC,MAAML,KAAKM,WAC1BN,KAAKO,OAAS,IAAIF,MAAML,KAAKM,U,CAG/B,MAAAE,GACE,OACEC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,iBACTF,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBACRX,KAAKI,IAAIQ,KAAI,CAACC,EAAMC,IACnBL,EAAA,SACEE,MAAOX,KAAKe,QAAUC,EAAYC,MAAQ,QAAU,KACpDC,UAAYC,IACV,GAAIA,EAAEC,QAAU,GAAI,CAClBpB,KAAKO,OAAOO,GAAGf,MAAQ,E,GAG3BsB,QAAUF,IACR,GAAIA,EAAEC,QAAU,GAAI,CAClBN,EAAId,KAAKM,SAAW,GAAKN,KAAKO,OAAOO,EAAI,GAAGQ,O,GAGhDC,QAAUJ,IACRnB,KAAKI,IAAIU,GAAMK,EAAEK,OAA4BzB,MAC7CC,KAAKF,gBAAgBE,KAAKI,IAAIqB,KAAK,IAAI,EAEzCC,KAAK,OACLC,UAAU,IACVC,UAAU,IACVC,aAAa,MACbC,IAAMC,GAAQ/B,KAAKO,OAAOO,GAAKiB,OAIrCtB,EAAA,mBAAAC,IAAA,2CACEsB,QAAShC,KAAKgC,QACdjB,OAAQf,KAAKe,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,a as s,g as o}from"./p-75c4a726.js";import{g as n}from"./p-dfcf9936.js";import{a}from"./p-f3145212.js";import"./p-5145a606.js";const r=':host,::slotted(*),*{box-sizing:border-box;outline:none}:host{position:relative;display:inline-flex;height:fit-content;flex-direction:column}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{position:relative;display:flex;width:100%;align-items:center;padding:0;border:0;border-bottom:var(--border-size-large) solid transparent;margin:0;background:transparent;border-radius:0;color:inherit;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-visible,div.menu-label:focus-within{box-shadow:var(--shadow-focus-primary)}:host(:is([active],[open])) .menu-label ::slotted(*),.menu-label:focus-visible ::slotted(*),div.menu-label:focus-within ::slotted(*){color:var(--color-primary01);font-weight:var(--font-bd)}:host([vertical-context]) .menu-label{padding:var(--space-unit) 0;border-width:var(--border-size-small);border-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label,.menu-label:hover,.menu-label:focus-visible,div.menu-label:focus-within{border-color:var(--color-primary01)}:host([vertical-context]:is([active],[open])) .menu-label::after,:host([vertical-context]) .menu-label:hover::after,:host([vertical-context]) .menu-label:focus-visible::after,:host([vertical-context]) div.menu-label:focus-within::after{position:absolute;bottom:calc(var(--border-size-small) * -1);left:0;width:100%;height:var(--border-size-large);background-color:var(--color-primary01);content:""}:host([vertical-context]) .menu-label ::slotted(*){padding:0}.menu-label ::slotted(*){display:inline-flex;width:100%;min-width:fit-content;padding-bottom:2px;margin:0;appearance:none;color:var(--z-menu-label-color, var(--color-default-text));font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:inherit;line-height:1.5;white-space:nowrap}.menu-label z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:var(--color-default-icon)}::slotted([data-text]:not([slot]))::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]:not([slot]))::after{display:none}}::slotted([data-text]:not([slot])){display:inline-flex;flex-direction:column}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]:not([vertical-context])) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:0 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.5}.items>::slotted([slot="item"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot="item"]:not(z-menu-section)){padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface03)}:host(:not([vertical-context])) .items>::slotted([slot="item"]:last-child){border-bottom:0}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"]:active){border-color:var(--color-primary01);font-weight:var(--font-bd)}';const h=r;const l=t=>(t===null||t===void 0?void 0:t.tagName)==="Z-MENU-SECTION";const c=class{get focusableItem(){return this.items.find((t=>l(t)?t.htmlTabindex===0:t.tabIndex===0))}toggle(){if(!this.hasContent){return}this.open=!this.open}onLabelSlotChange(t){const i=t.target.assignedElements()[0];i.dataset.text=i===null||i===void 0?void 0:i.textContent;this.setLabelA11yAttrs()}reflow(t=false){if(!this.floating){return}if(this.content&&this.hasContent){const{style:t}=this.content;const{left:i}=this.host.getBoundingClientRect();const e=getComputedStyle(this.content).width;const s=e?parseFloat(e.replace("px","")):375;const o=30;t.left=`${Math.min(window.innerWidth-i-s-o,0)}px`}if(t){this.raf=requestAnimationFrame(this.reflow.bind(this,t))}}checkContent(){this.hasHeader=!!this.host.querySelectorAll("[slot=header]").length;this.hasContent=!!this.host.querySelectorAll("[slot=item]").length||this.hasHeader}setItemTabindex(t,i){if(l(t)){t.htmlTabindex=i}else{t.tabIndex=i}}setItemsA11yAttrs(){this.items.forEach(((t,i)=>{const e=i===0?0:-1;this.setItemTabindex(t,e);if(!l(t)){t.setAttribute("role","menuitem")}}))}onItemsChange(){this.checkContent();this.items=Array.from(this.host.children).filter((({slot:t})=>t==="item"));this.setItemsA11yAttrs();this.items.forEach((t=>{if(!l(t)){t.dataset.text=t.textContent}}))}moveFocus(t,i){if(l(t)){t.setFocus()}else{t.tabIndex=0;setTimeout((()=>{t.focus()}),100)}if(!i){return}this.setItemTabindex(i,-1)}onLabelClick(){this.toggle();this.setFocus()}onLabelKeydown(t){if(t.key===n.ENTER||t.key===n.SPACE){t.preventDefault();t.stopPropagation();this.toggle();if(this.open){this.moveFocus(this.items[0])}return}if(!this.verticalContext){return}if(t.key===n.ARROW_RIGHT&&!this.open){t.preventDefault();t.stopPropagation();this.open=true;this.moveFocus(this.items[0])}}async setFocus(){this.htmlTabindex=0;const t=this.hasContent?this.labelButton:this.host.firstElementChild;t.focus()}async focusLastItem(){const t=this.items[this.items.length-1];if(l(t)&&t.open){t.focusLastItem();return}this.moveFocus(t)}onOpenChanged(){if(!this.open){cancelAnimationFrame(this.raf);this.closed.emit();this.items.forEach((t=>{if(l(t)&&t.open){t.open=false}}));return}this.setItemsA11yAttrs();this.opened.emit();if(this.floating){this.reflow(true)}}setLabelA11yAttrs(){if(this.hasContent&&this.labelButton){this.labelButton.tabIndex=this.htmlTabindex;return}const t=this.host.firstElementChild;t.role="menuitem";t.tabIndex=this.htmlTabindex}onItemClick(t){const i=this.items.find((i=>a(i,t.target)));if(i){this.items.forEach((t=>{if(t===i){return}if(l(t)){t.htmlTabindex=-1}else{t.tabIndex=-1}}))}}onKeyDown(t){var i;if(!this.hasContent){return}switch(t.key){case n.ESC:if(!this.open){break}t.stopPropagation();t.preventDefault();this.open=false;this.setFocus();break;case n.ARROW_DOWN:{if(document.activeElement===this.host){if(this.verticalContext&&!this.open){break}t.stopPropagation();t.preventDefault();if(!this.open){this.open=true}this.moveFocus(this.items[0]);break}const i=this.items.indexOf(this.focusableItem);if(this.verticalContext&&i===this.items.length-1){this.setItemTabindex(this.items[i],-1);this.htmlTabindex=0;break}t.stopPropagation();t.preventDefault();const e=this.items[i+1];this.moveFocus(e!==null&&e!==void 0?e:this.items[0],this.focusableItem);break}case n.ARROW_UP:{if(document.activeElement===this.host){if(this.verticalContext){break}t.stopPropagation();t.preventDefault();if(!this.open){this.open=true}this.moveFocus(this.items[this.items.length-1],this.focusableItem);break}t.stopPropagation();t.preventDefault();const e=this.items.indexOf(this.focusableItem);if(e===0&&this.verticalContext){this.setItemTabindex(this.focusableItem,-1);this.setFocus();break}const s=(i=this.items[e-1])!==null&&i!==void 0?i:this.items[this.items.length-1];if(l(s)&&s.open){this.setItemTabindex(this.focusableItem,-1);s.focusLastItem();break}this.moveFocus(s,this.focusableItem);break}case n.ARROW_LEFT:if(!this.open||!this.verticalContext){break}t.preventDefault();t.stopPropagation();this.open=false;this.setFocus()}}constructor(e){t(this,e);this.opened=i(this,"opened",7);this.closed=i(this,"closed",7);this.items=[];this.active=undefined;this.floating=true;this.open=false;this.verticalContext=false;this.htmlTabindex=-1;this.hasHeader=undefined;this.hasContent=undefined;this.toggle=this.toggle.bind(this);this.checkContent=this.checkContent.bind(this);this.onLabelSlotChange=this.onLabelSlotChange.bind(this);this.onLabelClick=this.onLabelClick.bind(this);this.onItemsChange=this.onItemsChange.bind(this);this.onLabelKeydown=this.onLabelKeydown.bind(this)}componentWillLoad(){this.setLabelA11yAttrs();this.onItemsChange()}render(){if(!this.hasContent){return e("div",{class:"menu-label"},e("slot",{onSlotchange:this.onLabelSlotChange}))}return e(s,null,e("button",{ref:t=>this.labelButton=t,class:"menu-label","aria-expanded":`${!!this.open}`,"aria-haspopup":`${this.hasContent}`,"aria-label":this.open?"Chiudi menù":"Apri menù",role:"menuitem",tabIndex:this.htmlTabindex,onClick:this.onLabelClick,onKeyDown:this.onLabelKeydown},e("slot",{onSlotchange:this.onLabelSlotChange}),e("z-icon",{name:this.open?"chevron-up":"chevron-down"})),e("div",{class:"content",ref:t=>this.content=t},this.hasHeader&&e("header",{class:"header"},e("slot",{name:"header",onSlotchange:this.checkContent})),e("div",{class:"items",role:"menu"},e("slot",{name:"item",onSlotchange:this.onItemsChange}))))}get host(){return o(this)}static get watchers(){return{open:["onOpenChanged"],htmlTabindex:["setLabelA11yAttrs"]}}};c.style=h;export{c as z_menu};
2
+ //# sourceMappingURL=p-32c1e2fa.entry.js.map