@zanichelli/albe-web-components 20.0.4 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (951) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
  3. package/dist/cjs/breakpoints-B7vFm-3T.js +0 -3
  4. package/dist/cjs/iconset-BIdMT0Ke.js +0 -3
  5. package/dist/cjs/index-DppFfqsn.js +0 -3
  6. package/dist/cjs/{index-CZz7uP-M.js → index-ps8icjTZ.js} +37 -13
  7. package/dist/cjs/index.cjs.js +0 -3
  8. package/dist/cjs/loader.cjs.js +2 -5
  9. package/dist/cjs/{reactive-controller-DJkjAuqS.js → reactive-controller-B7HE6OC5.js} +1 -4
  10. package/dist/cjs/utils-BnCPu0Si.js +0 -3
  11. package/dist/cjs/utils-C6lcMaul.js +0 -3
  12. package/dist/cjs/web-components-library.cjs.js +3 -6
  13. package/dist/cjs/z-accordion.cjs.entry.js +1 -4
  14. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -4
  15. package/dist/cjs/z-app-header_12.cjs.entry.js +74 -40
  16. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -5
  17. package/dist/cjs/z-avatar.cjs.entry.js +3 -6
  18. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -5
  19. package/dist/cjs/z-book-card.cjs.entry.js +2 -5
  20. package/dist/cjs/z-book-cover.cjs.entry.js +2 -5
  21. package/dist/cjs/z-breadcrumb.cjs.entry.js +3 -6
  22. package/dist/cjs/z-button-sort.cjs.entry.js +2 -5
  23. package/dist/cjs/z-card.cjs.entry.js +1 -4
  24. package/dist/cjs/z-carousel.cjs.entry.js +2 -5
  25. package/dist/cjs/z-chip.cjs.entry.js +3 -6
  26. package/dist/cjs/z-color-picker.cjs.entry.js +2 -5
  27. package/dist/cjs/z-combobox.cjs.entry.js +4 -7
  28. package/dist/cjs/z-cover-hero.cjs.entry.js +3 -6
  29. package/dist/cjs/z-date-picker.cjs.entry.js +1 -4
  30. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +6 -9
  31. package/dist/cjs/z-file-upload.cjs.entry.js +1 -4
  32. package/dist/cjs/z-file.cjs.entry.js +1 -4
  33. package/dist/cjs/z-ghost-loading.cjs.entry.js +2 -5
  34. package/dist/cjs/z-info-box.cjs.entry.js +2 -5
  35. package/dist/cjs/z-info-reveal.cjs.entry.js +2 -5
  36. package/dist/cjs/z-input-range.cjs.entry.js +3 -6
  37. package/dist/cjs/z-logo.cjs.entry.js +2 -5
  38. package/dist/cjs/z-menu-section.cjs.entry.js +2 -5
  39. package/dist/cjs/z-menu.cjs.entry.js +1 -4
  40. package/dist/cjs/z-navigation-tabs.cjs.entry.js +3 -6
  41. package/dist/cjs/z-notification.cjs.entry.js +2 -5
  42. package/dist/cjs/z-pagination.cjs.entry.js +1 -4
  43. package/dist/cjs/z-popover.cjs.entry.js +2 -5
  44. package/dist/cjs/z-range-picker.cjs.entry.js +1 -4
  45. package/dist/cjs/z-result-card.cjs.entry.js +1 -4
  46. package/dist/cjs/z-select.cjs.entry.js +12 -9
  47. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -5
  48. package/dist/cjs/z-stepper-item.cjs.entry.js +3 -6
  49. package/dist/cjs/z-stepper.cjs.entry.js +2 -5
  50. package/dist/cjs/z-table.cjs.entry.js +1 -4
  51. package/dist/cjs/z-tbody.cjs.entry.js +1 -4
  52. package/dist/cjs/z-td.cjs.entry.js +1 -4
  53. package/dist/cjs/z-tfoot.cjs.entry.js +1 -4
  54. package/dist/cjs/z-th.cjs.entry.js +1 -4
  55. package/dist/cjs/z-thead.cjs.entry.js +1 -4
  56. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -5
  57. package/dist/cjs/z-toast-notification.cjs.entry.js +4 -7
  58. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -8
  59. package/dist/cjs/z-tool.cjs.entry.js +4 -7
  60. package/dist/cjs/z-toolbar.cjs.entry.js +2 -5
  61. package/dist/cjs/z-tooltip.cjs.entry.js +2 -5
  62. package/dist/cjs/z-tr.cjs.entry.js +1 -4
  63. package/dist/cjs/z-tree-list.cjs.entry.js +1 -4
  64. package/dist/cjs/z-visually-hidden.cjs.entry.js +2 -5
  65. package/dist/collection/beans/index.js +0 -1
  66. package/dist/collection/collection-manifest.json +1 -1
  67. package/dist/collection/components/book-card/z-book-card/index.js +0 -1
  68. package/dist/collection/components/book-card/z-book-card-app/index.js +0 -1
  69. package/dist/collection/components/css-components/z-label/styles.css +7 -3
  70. package/dist/collection/components/css-components/z-scrollbar/styles.css +53 -13
  71. package/dist/collection/components/date-picker/utils.js +0 -1
  72. package/dist/collection/components/date-picker/z-date-picker/index.js +0 -1
  73. package/dist/collection/components/date-picker/z-range-picker/index.js +0 -1
  74. package/dist/collection/components/deprecated/table/cells/z-td/index.js +0 -1
  75. package/dist/collection/components/deprecated/table/cells/z-th/index.js +0 -1
  76. package/dist/collection/components/deprecated/table/z-table/index.js +0 -1
  77. package/dist/collection/components/deprecated/table/z-tbody/index.js +0 -1
  78. package/dist/collection/components/deprecated/table/z-tfoot/index.js +0 -1
  79. package/dist/collection/components/deprecated/table/z-thead/index.js +0 -1
  80. package/dist/collection/components/deprecated/table/z-tr/index.js +0 -1
  81. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +0 -1
  82. package/dist/collection/components/file-upload/z-file/index.js +0 -1
  83. package/dist/collection/components/file-upload/z-file-upload/index.js +0 -1
  84. package/dist/collection/components/index.js +0 -1
  85. package/dist/collection/components/list/z-list/index.js +0 -1
  86. package/dist/collection/components/list/z-list-element/index.js +0 -1
  87. package/dist/collection/components/list/z-list-group/index.js +0 -1
  88. package/dist/collection/components/list/z-tree-list/index.js +0 -1
  89. package/dist/collection/components/z-accordion/index.js +0 -1
  90. package/dist/collection/components/z-anchor-navigation/index.js +0 -1
  91. package/dist/collection/components/z-app-header/index.js +9 -15
  92. package/dist/collection/components/z-app-header/styles.css +12 -15
  93. package/dist/collection/components/z-aria-alert/index.js +1 -2
  94. package/dist/collection/components/z-avatar/index.js +2 -3
  95. package/dist/collection/components/z-book-cover/index.js +1 -2
  96. package/dist/collection/components/z-breadcrumb/index.js +2 -3
  97. package/dist/collection/components/z-button/index.js +0 -1
  98. package/dist/collection/components/z-button-sort/index.js +1 -2
  99. package/dist/collection/components/z-card/index.js +0 -1
  100. package/dist/collection/components/z-carousel/index.js +0 -1
  101. package/dist/collection/components/z-chip/index.js +2 -3
  102. package/dist/collection/components/z-color-picker/index.js +1 -2
  103. package/dist/collection/components/z-combobox/index.js +1 -2
  104. package/dist/collection/components/z-combobox/styles.css +3 -3
  105. package/dist/collection/components/z-cover-hero/index.js +2 -3
  106. package/dist/collection/components/z-divider/index.js +1 -2
  107. package/dist/collection/components/z-ghost-loading/index.js +1 -2
  108. package/dist/collection/components/z-icon/index.js +1 -2
  109. package/dist/collection/components/z-info-box/index.js +1 -2
  110. package/dist/collection/components/z-info-reveal/index.js +1 -2
  111. package/dist/collection/components/z-input/index.js +50 -8
  112. package/dist/collection/components/z-input/styles-general.css +74 -23
  113. package/dist/collection/components/z-input/styles-text.css +13 -16
  114. package/dist/collection/components/z-input/styles-textarea.css +2 -1
  115. package/dist/collection/components/z-input-message/index.js +1 -2
  116. package/dist/collection/components/z-input-message/styles.css +9 -5
  117. package/dist/collection/components/z-input-range/index.js +1 -2
  118. package/dist/collection/components/z-logo/index.js +1 -2
  119. package/dist/collection/components/z-menu/index.js +0 -1
  120. package/dist/collection/components/z-menu-section/index.js +1 -2
  121. package/dist/collection/components/z-modal/index.js +4 -5
  122. package/dist/collection/components/z-navigation-tabs/index.js +2 -3
  123. package/dist/collection/components/z-notification/index.js +1 -2
  124. package/dist/collection/components/z-offcanvas/index.js +2 -3
  125. package/dist/collection/components/z-pagination/index.js +0 -1
  126. package/dist/collection/components/z-popover/index.js +1 -2
  127. package/dist/collection/components/z-result-card/index.js +0 -1
  128. package/dist/collection/components/z-searchbar/index.js +4 -5
  129. package/dist/collection/components/z-searchbar/styles.css +4 -0
  130. package/dist/collection/components/z-select/index.js +10 -5
  131. package/dist/collection/components/z-select/styles.css +4 -2
  132. package/dist/collection/components/z-skip-to-content/index.js +1 -2
  133. package/dist/collection/components/z-stepper/index.js +1 -2
  134. package/dist/collection/components/z-stepper-item/index.js +1 -2
  135. package/dist/collection/components/z-stepper-item/styles.css +19 -4
  136. package/dist/collection/components/z-tag/index.js +2 -3
  137. package/dist/collection/components/z-toast-notification/index.js +3 -4
  138. package/dist/collection/components/z-toast-notification-list/index.js +1 -2
  139. package/dist/collection/components/z-toggle-switch/index.js +3 -4
  140. package/dist/collection/components/z-toggle-switch/styles.css +337 -4
  141. package/dist/collection/components/z-tool/index.js +2 -3
  142. package/dist/collection/components/z-toolbar/index.js +1 -2
  143. package/dist/collection/components/z-tooltip/index.js +1 -2
  144. package/dist/collection/components/z-visually-hidden/index.js +1 -2
  145. package/dist/collection/constants/breakpoints.js +0 -1
  146. package/dist/collection/constants/icons.js +0 -1
  147. package/dist/collection/constants/iconset.js +0 -1
  148. package/dist/collection/index.js +0 -1
  149. package/dist/collection/tokens/typography.css +537 -75
  150. package/dist/collection/utils/focus-trap-controller.js +0 -1
  151. package/dist/collection/utils/reactive-controller.js +0 -1
  152. package/dist/collection/utils/storybook-utils.js +0 -1
  153. package/dist/collection/utils/utils.js +0 -1
  154. package/dist/components/_commonjsHelpers.js +1 -2
  155. package/dist/components/breakpoints.js +1 -2
  156. package/dist/components/iconset.js +1 -2
  157. package/dist/components/index.js +1 -2
  158. package/dist/components/index10.js +1 -2
  159. package/dist/components/index11.js +1 -2
  160. package/dist/components/index12.js +1 -2
  161. package/dist/components/index13.js +1 -2
  162. package/dist/components/index14.js +1 -2
  163. package/dist/components/index15.js +1 -2
  164. package/dist/components/index16.js +1 -2
  165. package/dist/components/index17.js +1 -2
  166. package/dist/components/index18.js +1 -2
  167. package/dist/components/index19.js +1 -2
  168. package/dist/components/index2.js +1 -2
  169. package/dist/components/index20.js +1 -2
  170. package/dist/components/index21.js +1 -2
  171. package/dist/components/index3.js +1 -2
  172. package/dist/components/index4.js +1 -2
  173. package/dist/components/index5.js +1 -2
  174. package/dist/components/index6.js +1 -2
  175. package/dist/components/index7.js +1 -2
  176. package/dist/components/index8.js +1 -2
  177. package/dist/components/index9.js +1 -2
  178. package/dist/components/reactive-controller.js +2 -3
  179. package/dist/components/utils.js +2 -3
  180. package/dist/components/utils2.js +1 -2
  181. package/dist/components/z-accordion.js +1 -2
  182. package/dist/components/z-anchor-navigation.js +1 -2
  183. package/dist/components/z-app-header.js +1 -2
  184. package/dist/components/z-aria-alert.js +1 -2
  185. package/dist/components/z-avatar.js +1 -2
  186. package/dist/components/z-book-card-app.js +1 -2
  187. package/dist/components/z-book-card.js +1 -2
  188. package/dist/components/z-book-cover.js +1 -2
  189. package/dist/components/z-breadcrumb.js +1 -2
  190. package/dist/components/z-button-sort.js +1 -2
  191. package/dist/components/z-button.js +1 -2
  192. package/dist/components/z-card.js +1 -2
  193. package/dist/components/z-carousel.js +1 -2
  194. package/dist/components/z-chip.js +1 -2
  195. package/dist/components/z-color-picker.js +1 -2
  196. package/dist/components/z-combobox.js +1 -2
  197. package/dist/components/z-cover-hero.js +1 -2
  198. package/dist/components/z-date-picker.js +2 -3
  199. package/dist/components/z-divider.js +1 -2
  200. package/dist/components/z-dragdrop-area.js +1 -2
  201. package/dist/components/z-file-upload.js +1 -2
  202. package/dist/components/z-file.js +1 -2
  203. package/dist/components/z-ghost-loading.js +1 -2
  204. package/dist/components/z-icon.js +1 -2
  205. package/dist/components/z-info-box.js +1 -2
  206. package/dist/components/z-info-reveal.js +1 -2
  207. package/dist/components/z-input-message.js +1 -2
  208. package/dist/components/z-input-range.js +1 -2
  209. package/dist/components/z-input.js +1 -2
  210. package/dist/components/z-list-element.js +1 -2
  211. package/dist/components/z-list-group.js +1 -2
  212. package/dist/components/z-list.js +1 -2
  213. package/dist/components/z-logo.js +1 -2
  214. package/dist/components/z-menu-section.js +1 -2
  215. package/dist/components/z-menu.js +1 -2
  216. package/dist/components/z-modal.js +1 -2
  217. package/dist/components/z-navigation-tabs.js +1 -2
  218. package/dist/components/z-notification.js +1 -2
  219. package/dist/components/z-offcanvas.js +1 -2
  220. package/dist/components/z-pagination.js +1 -2
  221. package/dist/components/z-popover.js +1 -2
  222. package/dist/components/z-range-picker.js +1 -2
  223. package/dist/components/z-result-card.js +1 -2
  224. package/dist/components/z-searchbar.js +1 -2
  225. package/dist/components/z-select.js +1 -2
  226. package/dist/components/z-skip-to-content.js +1 -2
  227. package/dist/components/z-stepper-item.js +1 -2
  228. package/dist/components/z-stepper.js +1 -2
  229. package/dist/components/z-table.js +1 -2
  230. package/dist/components/z-tag.js +1 -2
  231. package/dist/components/z-tbody.js +1 -2
  232. package/dist/components/z-td.js +1 -2
  233. package/dist/components/z-tfoot.js +1 -2
  234. package/dist/components/z-th.js +1 -2
  235. package/dist/components/z-thead.js +1 -2
  236. package/dist/components/z-toast-notification-list.js +1 -2
  237. package/dist/components/z-toast-notification.js +2 -8
  238. package/dist/components/z-toggle-switch.js +1 -2
  239. package/dist/components/z-tool.js +1 -2
  240. package/dist/components/z-toolbar.js +1 -2
  241. package/dist/components/z-tooltip.js +1 -2
  242. package/dist/components/z-tr.js +1 -2
  243. package/dist/components/z-tree-list.js +1 -2
  244. package/dist/components/z-visually-hidden.js +1 -2
  245. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
  246. package/dist/esm/breakpoints-Q-tWjk7P.js +0 -3
  247. package/dist/esm/iconset-D1c5gR45.js +0 -3
  248. package/dist/esm/index-DdetsoIY.js +0 -3
  249. package/dist/esm/{index-BcDWN4F1.js → index-SFwvdS4t.js} +37 -13
  250. package/dist/esm/index.js +0 -3
  251. package/dist/esm/loader.js +3 -6
  252. package/dist/esm/{reactive-controller-CHemhYDp.js → reactive-controller-Bp_OSSRX.js} +1 -4
  253. package/dist/esm/utils-BO5sSCUY.js +0 -3
  254. package/dist/esm/utils-CJc3A9NX.js +0 -3
  255. package/dist/esm/web-components-library.js +4 -7
  256. package/dist/esm/z-accordion.entry.js +1 -4
  257. package/dist/esm/z-anchor-navigation.entry.js +1 -4
  258. package/dist/esm/z-app-header_12.entry.js +74 -40
  259. package/dist/esm/z-aria-alert.entry.js +2 -5
  260. package/dist/esm/z-avatar.entry.js +3 -6
  261. package/dist/esm/z-book-card-app.entry.js +2 -5
  262. package/dist/esm/z-book-card.entry.js +2 -5
  263. package/dist/esm/z-book-cover.entry.js +2 -5
  264. package/dist/esm/z-breadcrumb.entry.js +3 -6
  265. package/dist/esm/z-button-sort.entry.js +2 -5
  266. package/dist/esm/z-card.entry.js +1 -4
  267. package/dist/esm/z-carousel.entry.js +2 -5
  268. package/dist/esm/z-chip.entry.js +3 -6
  269. package/dist/esm/z-color-picker.entry.js +2 -5
  270. package/dist/esm/z-combobox.entry.js +4 -7
  271. package/dist/esm/z-cover-hero.entry.js +3 -6
  272. package/dist/esm/z-date-picker.entry.js +1 -4
  273. package/dist/esm/z-dragdrop-area_2.entry.js +6 -9
  274. package/dist/esm/z-file-upload.entry.js +1 -4
  275. package/dist/esm/z-file.entry.js +1 -4
  276. package/dist/esm/z-ghost-loading.entry.js +2 -5
  277. package/dist/esm/z-info-box.entry.js +2 -5
  278. package/dist/esm/z-info-reveal.entry.js +2 -5
  279. package/dist/esm/z-input-range.entry.js +3 -6
  280. package/dist/esm/z-logo.entry.js +2 -5
  281. package/dist/esm/z-menu-section.entry.js +2 -5
  282. package/dist/esm/z-menu.entry.js +1 -4
  283. package/dist/esm/z-navigation-tabs.entry.js +3 -6
  284. package/dist/esm/z-notification.entry.js +2 -5
  285. package/dist/esm/z-pagination.entry.js +1 -4
  286. package/dist/esm/z-popover.entry.js +2 -5
  287. package/dist/esm/z-range-picker.entry.js +1 -4
  288. package/dist/esm/z-result-card.entry.js +1 -4
  289. package/dist/esm/z-select.entry.js +12 -9
  290. package/dist/esm/z-skip-to-content.entry.js +2 -5
  291. package/dist/esm/z-stepper-item.entry.js +3 -6
  292. package/dist/esm/z-stepper.entry.js +2 -5
  293. package/dist/esm/z-table.entry.js +1 -4
  294. package/dist/esm/z-tbody.entry.js +1 -4
  295. package/dist/esm/z-td.entry.js +1 -4
  296. package/dist/esm/z-tfoot.entry.js +1 -4
  297. package/dist/esm/z-th.entry.js +1 -4
  298. package/dist/esm/z-thead.entry.js +1 -4
  299. package/dist/esm/z-toast-notification-list.entry.js +2 -5
  300. package/dist/esm/z-toast-notification.entry.js +4 -7
  301. package/dist/esm/z-toggle-switch.entry.js +5 -8
  302. package/dist/esm/z-tool.entry.js +4 -7
  303. package/dist/esm/z-toolbar.entry.js +2 -5
  304. package/dist/esm/z-tooltip.entry.js +2 -5
  305. package/dist/esm/z-tr.entry.js +1 -4
  306. package/dist/esm/z-tree-list.entry.js +1 -4
  307. package/dist/esm/z-visually-hidden.entry.js +2 -5
  308. package/dist/types/components/z-app-header/index.d.ts +2 -3
  309. package/dist/types/components/z-input/index.d.ts +7 -0
  310. package/dist/types/components/z-select/index.d.ts +2 -0
  311. package/dist/types/components.d.ts +4 -4
  312. package/dist/types/stencil-public-runtime.d.ts +1 -0
  313. package/dist/web-components-library/index.esm.js +1 -2
  314. package/dist/web-components-library/p-01045d94.entry.js +1 -0
  315. package/dist/web-components-library/p-029b5462.entry.js +1 -0
  316. package/dist/web-components-library/p-07ad2d64.entry.js +1 -0
  317. package/dist/web-components-library/p-12086d02.entry.js +1 -0
  318. package/dist/web-components-library/p-16d11cd8.entry.js +1 -0
  319. package/dist/web-components-library/p-18a1ae5c.entry.js +1 -0
  320. package/dist/web-components-library/p-1b5a788a.entry.js +1 -0
  321. package/dist/web-components-library/p-1e47d958.entry.js +1 -0
  322. package/dist/web-components-library/p-265691af.entry.js +1 -0
  323. package/dist/web-components-library/p-26f6964c.entry.js +1 -0
  324. package/dist/web-components-library/p-28056b47.entry.js +1 -0
  325. package/dist/web-components-library/p-282fec35.entry.js +1 -0
  326. package/dist/web-components-library/p-2a122434.entry.js +1 -0
  327. package/dist/web-components-library/p-30458bad.entry.js +1 -0
  328. package/dist/web-components-library/p-33e1ffe6.entry.js +1 -0
  329. package/dist/web-components-library/p-35f50eb5.entry.js +1 -0
  330. package/dist/web-components-library/p-3fa6766d.entry.js +1 -0
  331. package/dist/web-components-library/p-417ff6c3.entry.js +16 -0
  332. package/dist/web-components-library/p-48da181b.entry.js +1 -0
  333. package/dist/web-components-library/p-48e6d036.entry.js +1 -0
  334. package/dist/web-components-library/{p-ea462d53.entry.js → p-4b506603.entry.js} +1 -2
  335. package/dist/web-components-library/p-566141b5.entry.js +1 -0
  336. package/dist/web-components-library/p-5684466e.entry.js +1 -0
  337. package/dist/web-components-library/p-5adb300f.entry.js +1 -0
  338. package/dist/web-components-library/p-5b2d9cb2.entry.js +1 -0
  339. package/dist/web-components-library/p-5e1546ca.entry.js +1 -0
  340. package/dist/web-components-library/p-5e276f04.entry.js +1 -0
  341. package/dist/web-components-library/p-5fe609c7.entry.js +1 -0
  342. package/dist/web-components-library/p-6631dd57.entry.js +1 -0
  343. package/dist/web-components-library/p-74796120.entry.js +1 -0
  344. package/dist/web-components-library/p-74b66d40.entry.js +1 -0
  345. package/dist/web-components-library/p-755fbc56.entry.js +1 -0
  346. package/dist/web-components-library/p-76e5775e.entry.js +1 -0
  347. package/dist/web-components-library/p-7d7db1de.entry.js +1 -0
  348. package/dist/web-components-library/p-8247cb21.entry.js +1 -0
  349. package/dist/web-components-library/p-867029d2.entry.js +1 -0
  350. package/dist/web-components-library/p-899ef830.entry.js +1 -0
  351. package/dist/web-components-library/p-8a2dc548.entry.js +1 -0
  352. package/dist/web-components-library/p-8a99f71b.entry.js +2 -0
  353. package/dist/web-components-library/p-B6jtvVtV.js +1 -2
  354. package/dist/web-components-library/p-B85MJLTf.js +1 -2
  355. package/dist/web-components-library/p-D1c5gR45.js +1 -2
  356. package/dist/web-components-library/p-DPrEzmhI.js +2 -3
  357. package/dist/web-components-library/p-DWyY-2H5.js +5 -0
  358. package/dist/web-components-library/p-DdetsoIY.js +1 -2
  359. package/dist/web-components-library/p-Q-tWjk7P.js +1 -2
  360. package/dist/web-components-library/p-SFwvdS4t.js +2 -0
  361. package/dist/web-components-library/p-b8e25468.entry.js +1 -0
  362. package/dist/web-components-library/p-c375c57c.entry.js +1 -0
  363. package/dist/web-components-library/p-c5dded69.entry.js +1 -0
  364. package/dist/web-components-library/p-c629fdb3.entry.js +1 -0
  365. package/dist/web-components-library/p-d22f34ac.entry.js +1 -0
  366. package/dist/web-components-library/p-e0db0935.entry.js +1 -0
  367. package/dist/web-components-library/p-e17981fe.entry.js +1 -0
  368. package/dist/web-components-library/p-e18ead24.entry.js +1 -0
  369. package/dist/web-components-library/p-e69a2a0b.entry.js +1 -0
  370. package/dist/web-components-library/p-ea40b987.entry.js +1 -0
  371. package/dist/web-components-library/p-eb0bd443.entry.js +1 -0
  372. package/dist/web-components-library/p-f5a6cde3.entry.js +1 -0
  373. package/dist/web-components-library/p-fdb00ffd.entry.js +1 -0
  374. package/dist/web-components-library/web-components-library.css +1149 -91
  375. package/dist/web-components-library/web-components-library.esm.js +1 -2
  376. package/package.json +13 -13
  377. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  378. package/dist/cjs/breakpoints-B7vFm-3T.js.map +0 -1
  379. package/dist/cjs/iconset-BIdMT0Ke.js.map +0 -1
  380. package/dist/cjs/index-CZz7uP-M.js.map +0 -1
  381. package/dist/cjs/index-DppFfqsn.js.map +0 -1
  382. package/dist/cjs/index.cjs.js.map +0 -1
  383. package/dist/cjs/loader.cjs.js.map +0 -1
  384. package/dist/cjs/reactive-controller-DJkjAuqS.js.map +0 -1
  385. package/dist/cjs/utils-BnCPu0Si.js.map +0 -1
  386. package/dist/cjs/utils-C6lcMaul.js.map +0 -1
  387. package/dist/cjs/web-components-library.cjs.js.map +0 -1
  388. package/dist/cjs/z-accordion.cjs.entry.js.map +0 -1
  389. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +0 -1
  390. package/dist/cjs/z-app-header_12.cjs.entry.js.map +0 -1
  391. package/dist/cjs/z-aria-alert.cjs.entry.js.map +0 -1
  392. package/dist/cjs/z-avatar.cjs.entry.js.map +0 -1
  393. package/dist/cjs/z-book-card-app.cjs.entry.js.map +0 -1
  394. package/dist/cjs/z-book-card.cjs.entry.js.map +0 -1
  395. package/dist/cjs/z-book-cover.cjs.entry.js.map +0 -1
  396. package/dist/cjs/z-breadcrumb.cjs.entry.js.map +0 -1
  397. package/dist/cjs/z-button-sort.cjs.entry.js.map +0 -1
  398. package/dist/cjs/z-card.cjs.entry.js.map +0 -1
  399. package/dist/cjs/z-carousel.cjs.entry.js.map +0 -1
  400. package/dist/cjs/z-chip.cjs.entry.js.map +0 -1
  401. package/dist/cjs/z-color-picker.cjs.entry.js.map +0 -1
  402. package/dist/cjs/z-combobox.cjs.entry.js.map +0 -1
  403. package/dist/cjs/z-cover-hero.cjs.entry.js.map +0 -1
  404. package/dist/cjs/z-date-picker.cjs.entry.js.map +0 -1
  405. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js.map +0 -1
  406. package/dist/cjs/z-file-upload.cjs.entry.js.map +0 -1
  407. package/dist/cjs/z-file.cjs.entry.js.map +0 -1
  408. package/dist/cjs/z-ghost-loading.cjs.entry.js.map +0 -1
  409. package/dist/cjs/z-info-box.cjs.entry.js.map +0 -1
  410. package/dist/cjs/z-info-reveal.cjs.entry.js.map +0 -1
  411. package/dist/cjs/z-input-range.cjs.entry.js.map +0 -1
  412. package/dist/cjs/z-logo.cjs.entry.js.map +0 -1
  413. package/dist/cjs/z-menu-section.cjs.entry.js.map +0 -1
  414. package/dist/cjs/z-menu.cjs.entry.js.map +0 -1
  415. package/dist/cjs/z-navigation-tabs.cjs.entry.js.map +0 -1
  416. package/dist/cjs/z-notification.cjs.entry.js.map +0 -1
  417. package/dist/cjs/z-pagination.cjs.entry.js.map +0 -1
  418. package/dist/cjs/z-popover.cjs.entry.js.map +0 -1
  419. package/dist/cjs/z-range-picker.cjs.entry.js.map +0 -1
  420. package/dist/cjs/z-result-card.cjs.entry.js.map +0 -1
  421. package/dist/cjs/z-select.cjs.entry.js.map +0 -1
  422. package/dist/cjs/z-skip-to-content.cjs.entry.js.map +0 -1
  423. package/dist/cjs/z-stepper-item.cjs.entry.js.map +0 -1
  424. package/dist/cjs/z-stepper.cjs.entry.js.map +0 -1
  425. package/dist/cjs/z-table.cjs.entry.js.map +0 -1
  426. package/dist/cjs/z-tbody.cjs.entry.js.map +0 -1
  427. package/dist/cjs/z-td.cjs.entry.js.map +0 -1
  428. package/dist/cjs/z-tfoot.cjs.entry.js.map +0 -1
  429. package/dist/cjs/z-th.cjs.entry.js.map +0 -1
  430. package/dist/cjs/z-thead.cjs.entry.js.map +0 -1
  431. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +0 -1
  432. package/dist/cjs/z-toast-notification.cjs.entry.js.map +0 -1
  433. package/dist/cjs/z-toggle-switch.cjs.entry.js.map +0 -1
  434. package/dist/cjs/z-tool.cjs.entry.js.map +0 -1
  435. package/dist/cjs/z-toolbar.cjs.entry.js.map +0 -1
  436. package/dist/cjs/z-tooltip.cjs.entry.js.map +0 -1
  437. package/dist/cjs/z-tr.cjs.entry.js.map +0 -1
  438. package/dist/cjs/z-tree-list.cjs.entry.js.map +0 -1
  439. package/dist/cjs/z-visually-hidden.cjs.entry.js.map +0 -1
  440. package/dist/collection/beans/index.js.map +0 -1
  441. package/dist/collection/components/book-card/z-book-card/index.js.map +0 -1
  442. package/dist/collection/components/book-card/z-book-card-app/index.js.map +0 -1
  443. package/dist/collection/components/date-picker/utils.js.map +0 -1
  444. package/dist/collection/components/date-picker/z-date-picker/index.js.map +0 -1
  445. package/dist/collection/components/date-picker/z-range-picker/index.js.map +0 -1
  446. package/dist/collection/components/deprecated/table/cells/z-td/index.js.map +0 -1
  447. package/dist/collection/components/deprecated/table/cells/z-th/index.js.map +0 -1
  448. package/dist/collection/components/deprecated/table/z-table/index.js.map +0 -1
  449. package/dist/collection/components/deprecated/table/z-tbody/index.js.map +0 -1
  450. package/dist/collection/components/deprecated/table/z-tfoot/index.js.map +0 -1
  451. package/dist/collection/components/deprecated/table/z-thead/index.js.map +0 -1
  452. package/dist/collection/components/deprecated/table/z-tr/index.js.map +0 -1
  453. package/dist/collection/components/file-upload/z-dragdrop-area/index.js.map +0 -1
  454. package/dist/collection/components/file-upload/z-file/index.js.map +0 -1
  455. package/dist/collection/components/file-upload/z-file-upload/index.js.map +0 -1
  456. package/dist/collection/components/index.js.map +0 -1
  457. package/dist/collection/components/list/z-list/index.js.map +0 -1
  458. package/dist/collection/components/list/z-list-element/index.js.map +0 -1
  459. package/dist/collection/components/list/z-list-group/index.js.map +0 -1
  460. package/dist/collection/components/list/z-tree-list/index.js.map +0 -1
  461. package/dist/collection/components/z-accordion/index.js.map +0 -1
  462. package/dist/collection/components/z-anchor-navigation/index.js.map +0 -1
  463. package/dist/collection/components/z-app-header/index.js.map +0 -1
  464. package/dist/collection/components/z-aria-alert/index.js.map +0 -1
  465. package/dist/collection/components/z-avatar/index.js.map +0 -1
  466. package/dist/collection/components/z-book-cover/index.js.map +0 -1
  467. package/dist/collection/components/z-breadcrumb/index.js.map +0 -1
  468. package/dist/collection/components/z-button/index.js.map +0 -1
  469. package/dist/collection/components/z-button-sort/index.js.map +0 -1
  470. package/dist/collection/components/z-card/index.js.map +0 -1
  471. package/dist/collection/components/z-carousel/index.js.map +0 -1
  472. package/dist/collection/components/z-chip/index.js.map +0 -1
  473. package/dist/collection/components/z-color-picker/index.js.map +0 -1
  474. package/dist/collection/components/z-combobox/index.js.map +0 -1
  475. package/dist/collection/components/z-cover-hero/index.js.map +0 -1
  476. package/dist/collection/components/z-divider/index.js.map +0 -1
  477. package/dist/collection/components/z-ghost-loading/index.js.map +0 -1
  478. package/dist/collection/components/z-icon/index.js.map +0 -1
  479. package/dist/collection/components/z-info-box/index.js.map +0 -1
  480. package/dist/collection/components/z-info-reveal/index.js.map +0 -1
  481. package/dist/collection/components/z-input/index.js.map +0 -1
  482. package/dist/collection/components/z-input-message/index.js.map +0 -1
  483. package/dist/collection/components/z-input-range/index.js.map +0 -1
  484. package/dist/collection/components/z-logo/index.js.map +0 -1
  485. package/dist/collection/components/z-menu/index.js.map +0 -1
  486. package/dist/collection/components/z-menu-section/index.js.map +0 -1
  487. package/dist/collection/components/z-modal/index.js.map +0 -1
  488. package/dist/collection/components/z-navigation-tabs/index.js.map +0 -1
  489. package/dist/collection/components/z-notification/index.js.map +0 -1
  490. package/dist/collection/components/z-offcanvas/index.js.map +0 -1
  491. package/dist/collection/components/z-pagination/index.js.map +0 -1
  492. package/dist/collection/components/z-popover/index.js.map +0 -1
  493. package/dist/collection/components/z-result-card/index.js.map +0 -1
  494. package/dist/collection/components/z-searchbar/index.js.map +0 -1
  495. package/dist/collection/components/z-select/index.js.map +0 -1
  496. package/dist/collection/components/z-skip-to-content/index.js.map +0 -1
  497. package/dist/collection/components/z-stepper/index.js.map +0 -1
  498. package/dist/collection/components/z-stepper-item/index.js.map +0 -1
  499. package/dist/collection/components/z-tag/index.js.map +0 -1
  500. package/dist/collection/components/z-toast-notification/index.js.map +0 -1
  501. package/dist/collection/components/z-toast-notification-list/index.js.map +0 -1
  502. package/dist/collection/components/z-toggle-switch/index.js.map +0 -1
  503. package/dist/collection/components/z-tool/index.js.map +0 -1
  504. package/dist/collection/components/z-toolbar/index.js.map +0 -1
  505. package/dist/collection/components/z-tooltip/index.js.map +0 -1
  506. package/dist/collection/components/z-visually-hidden/index.js.map +0 -1
  507. package/dist/collection/constants/breakpoints.js.map +0 -1
  508. package/dist/collection/constants/icons.js.map +0 -1
  509. package/dist/collection/constants/iconset.js.map +0 -1
  510. package/dist/collection/index.js.map +0 -1
  511. package/dist/collection/utils/focus-trap-controller.js.map +0 -1
  512. package/dist/collection/utils/reactive-controller.js.map +0 -1
  513. package/dist/collection/utils/storybook-utils.js.map +0 -1
  514. package/dist/collection/utils/utils.js.map +0 -1
  515. package/dist/components/_commonjsHelpers.js.map +0 -1
  516. package/dist/components/breakpoints.js.map +0 -1
  517. package/dist/components/iconset.js.map +0 -1
  518. package/dist/components/index.js.map +0 -1
  519. package/dist/components/index10.js.map +0 -1
  520. package/dist/components/index11.js.map +0 -1
  521. package/dist/components/index12.js.map +0 -1
  522. package/dist/components/index13.js.map +0 -1
  523. package/dist/components/index14.js.map +0 -1
  524. package/dist/components/index15.js.map +0 -1
  525. package/dist/components/index16.js.map +0 -1
  526. package/dist/components/index17.js.map +0 -1
  527. package/dist/components/index18.js.map +0 -1
  528. package/dist/components/index19.js.map +0 -1
  529. package/dist/components/index2.js.map +0 -1
  530. package/dist/components/index20.js.map +0 -1
  531. package/dist/components/index21.js.map +0 -1
  532. package/dist/components/index3.js.map +0 -1
  533. package/dist/components/index4.js.map +0 -1
  534. package/dist/components/index5.js.map +0 -1
  535. package/dist/components/index6.js.map +0 -1
  536. package/dist/components/index7.js.map +0 -1
  537. package/dist/components/index8.js.map +0 -1
  538. package/dist/components/index9.js.map +0 -1
  539. package/dist/components/reactive-controller.js.map +0 -1
  540. package/dist/components/utils.js.map +0 -1
  541. package/dist/components/utils2.js.map +0 -1
  542. package/dist/components/z-accordion.js.map +0 -1
  543. package/dist/components/z-anchor-navigation.js.map +0 -1
  544. package/dist/components/z-app-header.js.map +0 -1
  545. package/dist/components/z-aria-alert.js.map +0 -1
  546. package/dist/components/z-avatar.js.map +0 -1
  547. package/dist/components/z-book-card-app.js.map +0 -1
  548. package/dist/components/z-book-card.js.map +0 -1
  549. package/dist/components/z-book-cover.js.map +0 -1
  550. package/dist/components/z-breadcrumb.js.map +0 -1
  551. package/dist/components/z-button-sort.js.map +0 -1
  552. package/dist/components/z-button.js.map +0 -1
  553. package/dist/components/z-card.js.map +0 -1
  554. package/dist/components/z-carousel.js.map +0 -1
  555. package/dist/components/z-chip.js.map +0 -1
  556. package/dist/components/z-color-picker.js.map +0 -1
  557. package/dist/components/z-combobox.js.map +0 -1
  558. package/dist/components/z-cover-hero.js.map +0 -1
  559. package/dist/components/z-date-picker.js.map +0 -1
  560. package/dist/components/z-divider.js.map +0 -1
  561. package/dist/components/z-dragdrop-area.js.map +0 -1
  562. package/dist/components/z-file-upload.js.map +0 -1
  563. package/dist/components/z-file.js.map +0 -1
  564. package/dist/components/z-ghost-loading.js.map +0 -1
  565. package/dist/components/z-icon.js.map +0 -1
  566. package/dist/components/z-info-box.js.map +0 -1
  567. package/dist/components/z-info-reveal.js.map +0 -1
  568. package/dist/components/z-input-message.js.map +0 -1
  569. package/dist/components/z-input-range.js.map +0 -1
  570. package/dist/components/z-input.js.map +0 -1
  571. package/dist/components/z-list-element.js.map +0 -1
  572. package/dist/components/z-list-group.js.map +0 -1
  573. package/dist/components/z-list.js.map +0 -1
  574. package/dist/components/z-logo.js.map +0 -1
  575. package/dist/components/z-menu-section.js.map +0 -1
  576. package/dist/components/z-menu.js.map +0 -1
  577. package/dist/components/z-modal.js.map +0 -1
  578. package/dist/components/z-navigation-tabs.js.map +0 -1
  579. package/dist/components/z-notification.js.map +0 -1
  580. package/dist/components/z-offcanvas.js.map +0 -1
  581. package/dist/components/z-pagination.js.map +0 -1
  582. package/dist/components/z-popover.js.map +0 -1
  583. package/dist/components/z-range-picker.js.map +0 -1
  584. package/dist/components/z-result-card.js.map +0 -1
  585. package/dist/components/z-searchbar.js.map +0 -1
  586. package/dist/components/z-select.js.map +0 -1
  587. package/dist/components/z-skip-to-content.js.map +0 -1
  588. package/dist/components/z-stepper-item.js.map +0 -1
  589. package/dist/components/z-stepper.js.map +0 -1
  590. package/dist/components/z-table.js.map +0 -1
  591. package/dist/components/z-tag.js.map +0 -1
  592. package/dist/components/z-tbody.js.map +0 -1
  593. package/dist/components/z-td.js.map +0 -1
  594. package/dist/components/z-tfoot.js.map +0 -1
  595. package/dist/components/z-th.js.map +0 -1
  596. package/dist/components/z-thead.js.map +0 -1
  597. package/dist/components/z-toast-notification-list.js.map +0 -1
  598. package/dist/components/z-toast-notification.js.map +0 -1
  599. package/dist/components/z-toggle-switch.js.map +0 -1
  600. package/dist/components/z-tool.js.map +0 -1
  601. package/dist/components/z-toolbar.js.map +0 -1
  602. package/dist/components/z-tooltip.js.map +0 -1
  603. package/dist/components/z-tr.js.map +0 -1
  604. package/dist/components/z-tree-list.js.map +0 -1
  605. package/dist/components/z-visually-hidden.js.map +0 -1
  606. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
  607. package/dist/esm/breakpoints-Q-tWjk7P.js.map +0 -1
  608. package/dist/esm/iconset-D1c5gR45.js.map +0 -1
  609. package/dist/esm/index-BcDWN4F1.js.map +0 -1
  610. package/dist/esm/index-DdetsoIY.js.map +0 -1
  611. package/dist/esm/index.js.map +0 -1
  612. package/dist/esm/loader.js.map +0 -1
  613. package/dist/esm/reactive-controller-CHemhYDp.js.map +0 -1
  614. package/dist/esm/utils-BO5sSCUY.js.map +0 -1
  615. package/dist/esm/utils-CJc3A9NX.js.map +0 -1
  616. package/dist/esm/web-components-library.js.map +0 -1
  617. package/dist/esm/z-accordion.entry.js.map +0 -1
  618. package/dist/esm/z-anchor-navigation.entry.js.map +0 -1
  619. package/dist/esm/z-app-header_12.entry.js.map +0 -1
  620. package/dist/esm/z-aria-alert.entry.js.map +0 -1
  621. package/dist/esm/z-avatar.entry.js.map +0 -1
  622. package/dist/esm/z-book-card-app.entry.js.map +0 -1
  623. package/dist/esm/z-book-card.entry.js.map +0 -1
  624. package/dist/esm/z-book-cover.entry.js.map +0 -1
  625. package/dist/esm/z-breadcrumb.entry.js.map +0 -1
  626. package/dist/esm/z-button-sort.entry.js.map +0 -1
  627. package/dist/esm/z-card.entry.js.map +0 -1
  628. package/dist/esm/z-carousel.entry.js.map +0 -1
  629. package/dist/esm/z-chip.entry.js.map +0 -1
  630. package/dist/esm/z-color-picker.entry.js.map +0 -1
  631. package/dist/esm/z-combobox.entry.js.map +0 -1
  632. package/dist/esm/z-cover-hero.entry.js.map +0 -1
  633. package/dist/esm/z-date-picker.entry.js.map +0 -1
  634. package/dist/esm/z-dragdrop-area_2.entry.js.map +0 -1
  635. package/dist/esm/z-file-upload.entry.js.map +0 -1
  636. package/dist/esm/z-file.entry.js.map +0 -1
  637. package/dist/esm/z-ghost-loading.entry.js.map +0 -1
  638. package/dist/esm/z-info-box.entry.js.map +0 -1
  639. package/dist/esm/z-info-reveal.entry.js.map +0 -1
  640. package/dist/esm/z-input-range.entry.js.map +0 -1
  641. package/dist/esm/z-logo.entry.js.map +0 -1
  642. package/dist/esm/z-menu-section.entry.js.map +0 -1
  643. package/dist/esm/z-menu.entry.js.map +0 -1
  644. package/dist/esm/z-navigation-tabs.entry.js.map +0 -1
  645. package/dist/esm/z-notification.entry.js.map +0 -1
  646. package/dist/esm/z-pagination.entry.js.map +0 -1
  647. package/dist/esm/z-popover.entry.js.map +0 -1
  648. package/dist/esm/z-range-picker.entry.js.map +0 -1
  649. package/dist/esm/z-result-card.entry.js.map +0 -1
  650. package/dist/esm/z-select.entry.js.map +0 -1
  651. package/dist/esm/z-skip-to-content.entry.js.map +0 -1
  652. package/dist/esm/z-stepper-item.entry.js.map +0 -1
  653. package/dist/esm/z-stepper.entry.js.map +0 -1
  654. package/dist/esm/z-table.entry.js.map +0 -1
  655. package/dist/esm/z-tbody.entry.js.map +0 -1
  656. package/dist/esm/z-td.entry.js.map +0 -1
  657. package/dist/esm/z-tfoot.entry.js.map +0 -1
  658. package/dist/esm/z-th.entry.js.map +0 -1
  659. package/dist/esm/z-thead.entry.js.map +0 -1
  660. package/dist/esm/z-toast-notification-list.entry.js.map +0 -1
  661. package/dist/esm/z-toast-notification.entry.js.map +0 -1
  662. package/dist/esm/z-toggle-switch.entry.js.map +0 -1
  663. package/dist/esm/z-tool.entry.js.map +0 -1
  664. package/dist/esm/z-toolbar.entry.js.map +0 -1
  665. package/dist/esm/z-tooltip.entry.js.map +0 -1
  666. package/dist/esm/z-tr.entry.js.map +0 -1
  667. package/dist/esm/z-tree-list.entry.js.map +0 -1
  668. package/dist/esm/z-visually-hidden.entry.js.map +0 -1
  669. package/dist/web-components-library/index.esm.js.map +0 -1
  670. package/dist/web-components-library/p-04b6a9f8.entry.js +0 -2
  671. package/dist/web-components-library/p-04b6a9f8.entry.js.map +0 -1
  672. package/dist/web-components-library/p-09ac8cb2.entry.js +0 -2
  673. package/dist/web-components-library/p-09ac8cb2.entry.js.map +0 -1
  674. package/dist/web-components-library/p-10ffee06.entry.js +0 -2
  675. package/dist/web-components-library/p-10ffee06.entry.js.map +0 -1
  676. package/dist/web-components-library/p-13bc7433.entry.js +0 -2
  677. package/dist/web-components-library/p-13bc7433.entry.js.map +0 -1
  678. package/dist/web-components-library/p-16423e69.entry.js +0 -2
  679. package/dist/web-components-library/p-16423e69.entry.js.map +0 -1
  680. package/dist/web-components-library/p-1702efd5.entry.js +0 -2
  681. package/dist/web-components-library/p-1702efd5.entry.js.map +0 -1
  682. package/dist/web-components-library/p-1fedbf42.entry.js +0 -2
  683. package/dist/web-components-library/p-1fedbf42.entry.js.map +0 -1
  684. package/dist/web-components-library/p-248ff73f.entry.js +0 -2
  685. package/dist/web-components-library/p-248ff73f.entry.js.map +0 -1
  686. package/dist/web-components-library/p-2f8bd98f.entry.js +0 -2
  687. package/dist/web-components-library/p-2f8bd98f.entry.js.map +0 -1
  688. package/dist/web-components-library/p-315ca31f.entry.js +0 -2
  689. package/dist/web-components-library/p-315ca31f.entry.js.map +0 -1
  690. package/dist/web-components-library/p-320b05fc.entry.js +0 -2
  691. package/dist/web-components-library/p-320b05fc.entry.js.map +0 -1
  692. package/dist/web-components-library/p-3a9a120f.entry.js +0 -2
  693. package/dist/web-components-library/p-3a9a120f.entry.js.map +0 -1
  694. package/dist/web-components-library/p-3e78dc0d.entry.js +0 -2
  695. package/dist/web-components-library/p-3e78dc0d.entry.js.map +0 -1
  696. package/dist/web-components-library/p-41a3f231.entry.js +0 -2
  697. package/dist/web-components-library/p-41a3f231.entry.js.map +0 -1
  698. package/dist/web-components-library/p-4362efeb.entry.js +0 -2
  699. package/dist/web-components-library/p-4362efeb.entry.js.map +0 -1
  700. package/dist/web-components-library/p-484f3064.entry.js +0 -2
  701. package/dist/web-components-library/p-484f3064.entry.js.map +0 -1
  702. package/dist/web-components-library/p-4bc9e06a.entry.js +0 -2
  703. package/dist/web-components-library/p-4bc9e06a.entry.js.map +0 -1
  704. package/dist/web-components-library/p-4c054dc5.entry.js +0 -2
  705. package/dist/web-components-library/p-4c054dc5.entry.js.map +0 -1
  706. package/dist/web-components-library/p-4d6ea6b1.entry.js +0 -2
  707. package/dist/web-components-library/p-4d6ea6b1.entry.js.map +0 -1
  708. package/dist/web-components-library/p-57ba851d.entry.js +0 -2
  709. package/dist/web-components-library/p-57ba851d.entry.js.map +0 -1
  710. package/dist/web-components-library/p-5ecdc465.entry.js +0 -2
  711. package/dist/web-components-library/p-5ecdc465.entry.js.map +0 -1
  712. package/dist/web-components-library/p-6005c944.entry.js +0 -2
  713. package/dist/web-components-library/p-6005c944.entry.js.map +0 -1
  714. package/dist/web-components-library/p-61b49075.entry.js +0 -2
  715. package/dist/web-components-library/p-61b49075.entry.js.map +0 -1
  716. package/dist/web-components-library/p-67a2f55e.entry.js +0 -2
  717. package/dist/web-components-library/p-67a2f55e.entry.js.map +0 -1
  718. package/dist/web-components-library/p-6ce99251.entry.js +0 -2
  719. package/dist/web-components-library/p-6ce99251.entry.js.map +0 -1
  720. package/dist/web-components-library/p-6f6cf4eb.entry.js +0 -2
  721. package/dist/web-components-library/p-6f6cf4eb.entry.js.map +0 -1
  722. package/dist/web-components-library/p-791a76d6.entry.js +0 -2
  723. package/dist/web-components-library/p-791a76d6.entry.js.map +0 -1
  724. package/dist/web-components-library/p-885472aa.entry.js +0 -2
  725. package/dist/web-components-library/p-885472aa.entry.js.map +0 -1
  726. package/dist/web-components-library/p-9dc4d290.entry.js +0 -2
  727. package/dist/web-components-library/p-9dc4d290.entry.js.map +0 -1
  728. package/dist/web-components-library/p-B6jtvVtV.js.map +0 -1
  729. package/dist/web-components-library/p-B85MJLTf.js.map +0 -1
  730. package/dist/web-components-library/p-BcDWN4F1.js +0 -3
  731. package/dist/web-components-library/p-BcDWN4F1.js.map +0 -1
  732. package/dist/web-components-library/p-BjrC13Q0.js +0 -6
  733. package/dist/web-components-library/p-BjrC13Q0.js.map +0 -1
  734. package/dist/web-components-library/p-D1c5gR45.js.map +0 -1
  735. package/dist/web-components-library/p-DPrEzmhI.js.map +0 -1
  736. package/dist/web-components-library/p-DdetsoIY.js.map +0 -1
  737. package/dist/web-components-library/p-Q-tWjk7P.js.map +0 -1
  738. package/dist/web-components-library/p-a1f060c0.entry.js +0 -2
  739. package/dist/web-components-library/p-a1f060c0.entry.js.map +0 -1
  740. package/dist/web-components-library/p-a30b5538.entry.js +0 -2
  741. package/dist/web-components-library/p-a30b5538.entry.js.map +0 -1
  742. package/dist/web-components-library/p-a5e15158.entry.js +0 -2
  743. package/dist/web-components-library/p-a5e15158.entry.js.map +0 -1
  744. package/dist/web-components-library/p-acd3b237.entry.js +0 -2
  745. package/dist/web-components-library/p-acd3b237.entry.js.map +0 -1
  746. package/dist/web-components-library/p-ae51be93.entry.js +0 -2
  747. package/dist/web-components-library/p-ae51be93.entry.js.map +0 -1
  748. package/dist/web-components-library/p-b3d0d75c.entry.js +0 -2
  749. package/dist/web-components-library/p-b3d0d75c.entry.js.map +0 -1
  750. package/dist/web-components-library/p-b5d18aae.entry.js +0 -2
  751. package/dist/web-components-library/p-b5d18aae.entry.js.map +0 -1
  752. package/dist/web-components-library/p-bd1876f7.entry.js +0 -2
  753. package/dist/web-components-library/p-bd1876f7.entry.js.map +0 -1
  754. package/dist/web-components-library/p-bd663d9d.entry.js +0 -2
  755. package/dist/web-components-library/p-bd663d9d.entry.js.map +0 -1
  756. package/dist/web-components-library/p-c00b8b6d.entry.js +0 -2
  757. package/dist/web-components-library/p-c00b8b6d.entry.js.map +0 -1
  758. package/dist/web-components-library/p-ca2d01fd.entry.js +0 -2
  759. package/dist/web-components-library/p-ca2d01fd.entry.js.map +0 -1
  760. package/dist/web-components-library/p-d4ad8db2.entry.js +0 -2
  761. package/dist/web-components-library/p-d4ad8db2.entry.js.map +0 -1
  762. package/dist/web-components-library/p-d70ab97a.entry.js +0 -2
  763. package/dist/web-components-library/p-d70ab97a.entry.js.map +0 -1
  764. package/dist/web-components-library/p-d76c3418.entry.js +0 -17
  765. package/dist/web-components-library/p-d76c3418.entry.js.map +0 -1
  766. package/dist/web-components-library/p-d8c06756.entry.js +0 -2
  767. package/dist/web-components-library/p-d8c06756.entry.js.map +0 -1
  768. package/dist/web-components-library/p-de682f93.entry.js +0 -2
  769. package/dist/web-components-library/p-de682f93.entry.js.map +0 -1
  770. package/dist/web-components-library/p-ea462d53.entry.js.map +0 -1
  771. package/dist/web-components-library/p-eb2deba7.entry.js +0 -2
  772. package/dist/web-components-library/p-eb2deba7.entry.js.map +0 -1
  773. package/dist/web-components-library/p-f074b98b.entry.js +0 -2
  774. package/dist/web-components-library/p-f074b98b.entry.js.map +0 -1
  775. package/dist/web-components-library/p-f8fd6f08.entry.js +0 -2
  776. package/dist/web-components-library/p-f8fd6f08.entry.js.map +0 -1
  777. package/dist/web-components-library/p-f95adaa5.entry.js +0 -8
  778. package/dist/web-components-library/p-f95adaa5.entry.js.map +0 -1
  779. package/dist/web-components-library/p-fa11fd2d.entry.js +0 -2
  780. package/dist/web-components-library/p-fa11fd2d.entry.js.map +0 -1
  781. package/dist/web-components-library/p-ffe7860b.entry.js +0 -2
  782. package/dist/web-components-library/p-ffe7860b.entry.js.map +0 -1
  783. package/dist/web-components-library/web-components-library.esm.js.map +0 -1
  784. package/www/assets/favicon.png +0 -0
  785. package/www/assets/images/png/arrowDown.png +0 -0
  786. package/www/assets/images/png/arrowUp.png +0 -0
  787. package/www/assets/images/png/back-button.png +0 -0
  788. package/www/assets/images/png/bovolenta-logo.png +0 -0
  789. package/www/assets/images/png/cart-icon.png +0 -0
  790. package/www/assets/images/png/cea-logo.png +0 -0
  791. package/www/assets/images/png/clitt-logo.png +0 -0
  792. package/www/assets/images/png/down-arrow.png +0 -0
  793. package/www/assets/images/png/download.png +0 -0
  794. package/www/assets/images/png/facebook.png +0 -0
  795. package/www/assets/images/png/gruoss.png +0 -0
  796. package/www/assets/images/png/instagram.png +0 -0
  797. package/www/assets/images/png/lucisano-logo.png +0 -0
  798. package/www/assets/images/png/myzanichelli-logo.png +0 -0
  799. package/www/assets/images/png/placeholder-cover.png +0 -0
  800. package/www/assets/images/png/question-mark.png +0 -0
  801. package/www/assets/images/png/suitcase-icon.png +0 -0
  802. package/www/assets/images/png/twitter.png +0 -0
  803. package/www/assets/images/png/up-arrow.png +0 -0
  804. package/www/assets/images/png/user.png +0 -0
  805. package/www/assets/images/png/user_transparent.png +0 -0
  806. package/www/assets/images/png/youtube.png +0 -0
  807. package/www/assets/images/png/zanichelli-add-book-gray@8x.png +0 -0
  808. package/www/assets/images/png/zanichelli-book-remove-gray@8x.png +0 -0
  809. package/www/assets/images/png/zanichelli-error-image.png +0 -0
  810. package/www/assets/images/png/zanichelli-external-link-2@8x.png +0 -0
  811. package/www/assets/images/png/zanichelli-external-link-3@8x.png +0 -0
  812. package/www/assets/images/png/zanichelli-external-link@8x.png +0 -0
  813. package/www/assets/images/png/zanichelli-logo-2.png +0 -0
  814. package/www/assets/images/png/zanichelli-logo-footer.png +0 -0
  815. package/www/assets/images/png/zanichelli-logo.png +0 -0
  816. package/www/build/index.esm.js +0 -2
  817. package/www/build/index.esm.js.map +0 -1
  818. package/www/build/p-04b6a9f8.entry.js +0 -2
  819. package/www/build/p-04b6a9f8.entry.js.map +0 -1
  820. package/www/build/p-09ac8cb2.entry.js +0 -2
  821. package/www/build/p-09ac8cb2.entry.js.map +0 -1
  822. package/www/build/p-10ffee06.entry.js +0 -2
  823. package/www/build/p-10ffee06.entry.js.map +0 -1
  824. package/www/build/p-13bc7433.entry.js +0 -2
  825. package/www/build/p-13bc7433.entry.js.map +0 -1
  826. package/www/build/p-16423e69.entry.js +0 -2
  827. package/www/build/p-16423e69.entry.js.map +0 -1
  828. package/www/build/p-1702efd5.entry.js +0 -2
  829. package/www/build/p-1702efd5.entry.js.map +0 -1
  830. package/www/build/p-188d1101.css +0 -2716
  831. package/www/build/p-1fedbf42.entry.js +0 -2
  832. package/www/build/p-1fedbf42.entry.js.map +0 -1
  833. package/www/build/p-248ff73f.entry.js +0 -2
  834. package/www/build/p-248ff73f.entry.js.map +0 -1
  835. package/www/build/p-2f8bd98f.entry.js +0 -2
  836. package/www/build/p-2f8bd98f.entry.js.map +0 -1
  837. package/www/build/p-315ca31f.entry.js +0 -2
  838. package/www/build/p-315ca31f.entry.js.map +0 -1
  839. package/www/build/p-320b05fc.entry.js +0 -2
  840. package/www/build/p-320b05fc.entry.js.map +0 -1
  841. package/www/build/p-3a9a120f.entry.js +0 -2
  842. package/www/build/p-3a9a120f.entry.js.map +0 -1
  843. package/www/build/p-3e78dc0d.entry.js +0 -2
  844. package/www/build/p-3e78dc0d.entry.js.map +0 -1
  845. package/www/build/p-41a3f231.entry.js +0 -2
  846. package/www/build/p-41a3f231.entry.js.map +0 -1
  847. package/www/build/p-4362efeb.entry.js +0 -2
  848. package/www/build/p-4362efeb.entry.js.map +0 -1
  849. package/www/build/p-484f3064.entry.js +0 -2
  850. package/www/build/p-484f3064.entry.js.map +0 -1
  851. package/www/build/p-4bc9e06a.entry.js +0 -2
  852. package/www/build/p-4bc9e06a.entry.js.map +0 -1
  853. package/www/build/p-4c054dc5.entry.js +0 -2
  854. package/www/build/p-4c054dc5.entry.js.map +0 -1
  855. package/www/build/p-4d6ea6b1.entry.js +0 -2
  856. package/www/build/p-4d6ea6b1.entry.js.map +0 -1
  857. package/www/build/p-57ba851d.entry.js +0 -2
  858. package/www/build/p-57ba851d.entry.js.map +0 -1
  859. package/www/build/p-5ecdc465.entry.js +0 -2
  860. package/www/build/p-5ecdc465.entry.js.map +0 -1
  861. package/www/build/p-6005c944.entry.js +0 -2
  862. package/www/build/p-6005c944.entry.js.map +0 -1
  863. package/www/build/p-61b49075.entry.js +0 -2
  864. package/www/build/p-61b49075.entry.js.map +0 -1
  865. package/www/build/p-67a2f55e.entry.js +0 -2
  866. package/www/build/p-67a2f55e.entry.js.map +0 -1
  867. package/www/build/p-6ce99251.entry.js +0 -2
  868. package/www/build/p-6ce99251.entry.js.map +0 -1
  869. package/www/build/p-6f6cf4eb.entry.js +0 -2
  870. package/www/build/p-6f6cf4eb.entry.js.map +0 -1
  871. package/www/build/p-791a76d6.entry.js +0 -2
  872. package/www/build/p-791a76d6.entry.js.map +0 -1
  873. package/www/build/p-885472aa.entry.js +0 -2
  874. package/www/build/p-885472aa.entry.js.map +0 -1
  875. package/www/build/p-9dc4d290.entry.js +0 -2
  876. package/www/build/p-9dc4d290.entry.js.map +0 -1
  877. package/www/build/p-B6jtvVtV.js +0 -2
  878. package/www/build/p-B6jtvVtV.js.map +0 -1
  879. package/www/build/p-B85MJLTf.js +0 -2
  880. package/www/build/p-B85MJLTf.js.map +0 -1
  881. package/www/build/p-BcDWN4F1.js +0 -3
  882. package/www/build/p-BcDWN4F1.js.map +0 -1
  883. package/www/build/p-BjrC13Q0.js +0 -6
  884. package/www/build/p-BjrC13Q0.js.map +0 -1
  885. package/www/build/p-D1c5gR45.js +0 -2
  886. package/www/build/p-D1c5gR45.js.map +0 -1
  887. package/www/build/p-DPrEzmhI.js +0 -7
  888. package/www/build/p-DPrEzmhI.js.map +0 -1
  889. package/www/build/p-DdetsoIY.js +0 -2
  890. package/www/build/p-DdetsoIY.js.map +0 -1
  891. package/www/build/p-Q-tWjk7P.js +0 -2
  892. package/www/build/p-Q-tWjk7P.js.map +0 -1
  893. package/www/build/p-a1f060c0.entry.js +0 -2
  894. package/www/build/p-a1f060c0.entry.js.map +0 -1
  895. package/www/build/p-a30b5538.entry.js +0 -2
  896. package/www/build/p-a30b5538.entry.js.map +0 -1
  897. package/www/build/p-a5a93813.js +0 -2
  898. package/www/build/p-a5e15158.entry.js +0 -2
  899. package/www/build/p-a5e15158.entry.js.map +0 -1
  900. package/www/build/p-acd3b237.entry.js +0 -2
  901. package/www/build/p-acd3b237.entry.js.map +0 -1
  902. package/www/build/p-ae51be93.entry.js +0 -2
  903. package/www/build/p-ae51be93.entry.js.map +0 -1
  904. package/www/build/p-b3d0d75c.entry.js +0 -2
  905. package/www/build/p-b3d0d75c.entry.js.map +0 -1
  906. package/www/build/p-b5d18aae.entry.js +0 -2
  907. package/www/build/p-b5d18aae.entry.js.map +0 -1
  908. package/www/build/p-bd1876f7.entry.js +0 -2
  909. package/www/build/p-bd1876f7.entry.js.map +0 -1
  910. package/www/build/p-bd663d9d.entry.js +0 -2
  911. package/www/build/p-bd663d9d.entry.js.map +0 -1
  912. package/www/build/p-c00b8b6d.entry.js +0 -2
  913. package/www/build/p-c00b8b6d.entry.js.map +0 -1
  914. package/www/build/p-ca2d01fd.entry.js +0 -2
  915. package/www/build/p-ca2d01fd.entry.js.map +0 -1
  916. package/www/build/p-d4ad8db2.entry.js +0 -2
  917. package/www/build/p-d4ad8db2.entry.js.map +0 -1
  918. package/www/build/p-d70ab97a.entry.js +0 -2
  919. package/www/build/p-d70ab97a.entry.js.map +0 -1
  920. package/www/build/p-d76c3418.entry.js +0 -17
  921. package/www/build/p-d76c3418.entry.js.map +0 -1
  922. package/www/build/p-d8c06756.entry.js +0 -2
  923. package/www/build/p-d8c06756.entry.js.map +0 -1
  924. package/www/build/p-de682f93.entry.js +0 -2
  925. package/www/build/p-de682f93.entry.js.map +0 -1
  926. package/www/build/p-ea462d53.entry.js +0 -2
  927. package/www/build/p-ea462d53.entry.js.map +0 -1
  928. package/www/build/p-eb2deba7.entry.js +0 -2
  929. package/www/build/p-eb2deba7.entry.js.map +0 -1
  930. package/www/build/p-f074b98b.entry.js +0 -2
  931. package/www/build/p-f074b98b.entry.js.map +0 -1
  932. package/www/build/p-f8fd6f08.entry.js +0 -2
  933. package/www/build/p-f8fd6f08.entry.js.map +0 -1
  934. package/www/build/p-f95adaa5.entry.js +0 -8
  935. package/www/build/p-f95adaa5.entry.js.map +0 -1
  936. package/www/build/p-fa11fd2d.entry.js +0 -2
  937. package/www/build/p-fa11fd2d.entry.js.map +0 -1
  938. package/www/build/p-ffe7860b.entry.js +0 -2
  939. package/www/build/p-ffe7860b.entry.js.map +0 -1
  940. package/www/build/web-components-library.css +0 -2716
  941. package/www/build/web-components-library.esm.js +0 -2
  942. package/www/build/web-components-library.esm.js.map +0 -1
  943. package/www/build/web-components-library.js +0 -33
  944. package/www/host.config.json +0 -15
  945. package/www/index.html +0 -3
  946. package/www/pages/book-cards.html +0 -345
  947. package/www/pages/file-upload.html +0 -258
  948. package/www/pages/notification.html +0 -299
  949. package/www/pages/stepper/stepper-1.html +0 -127
  950. package/www/pages/stepper/stepper-2.html +0 -128
  951. package/www/pages/stepper/stepper-3.html +0 -153
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZPopover","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","position","PopoverPosition","TOP","open","showArrow","center","closable","spaceTolerance","closePopoverWithKeyboard","e","key","KeyboardCode","ESC","stopPropagation","handleOutsideClick","target","containsElement","host","boundElement","validatePosition","newValue","Object","values","includes","AUTO","currentPosition","setPosition","onOpen","cancelAnimationFrame","animationFrameRequestId","openChange","emit","assign","style","top","right","bottom","left","maxWidth","maxHeight","visibility","undefined","updatePositionLoop","requestAnimationFrame","setTimeout","onBindingChange","findBoundElement","offsetModifier","bindTo","ownerDocument","querySelector","getParentElement","tagName","toLowerCase","hasCenteredHorizontalSpace","availableLeft","availableRight","hostWidth","boundElementWidth","requiredSideSpace","hasCenteredVerticalSpace","availableTop","availableBottom","hostHeight","boundElementHeight","hasEnoughSideSpace","availableSpace","hostSize","boundElementSize","getOptimalPopoverPosition","desiredPosition","offsetWidth","offsetHeight","getBoundingClientRect","width","height","fits","pos","TOP_RIGHT","TOP_LEFT","RIGHT","RIGHT_BOTTOM","RIGHT_TOP","BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT","LEFT_TOP","LEFT_BOTTOM","positions","positionOrder","startIndex","indexOf","i","length","posIndex","findBestFallbackPosition","bestHorizontalDirection","bestVerticalDirection","maxHorizontalSpace","Math","max","maxVerticalSpace","mainDirection","needsSecondaryDirection","minHorizontalSpace","min","minVerticalSpace","secondaryDirection","findScrollableAncestor","element","parent","documentElement","getComputedStyle","overflow","overflowX","overflowY","hasHiddenOverflow","isScrollable","scrollHeight","clientHeight","scrollWidth","clientWidth","calculateAvailableSpace","boundElementRect","lastBoundRect","x","y","cachedAvailableSpace","scrollableAncestor","scrollableAncestorRect","isScrollableAncestorNested","documentWidth","documentHeight","safeSpace","deltaTop","deltaRight","deltaBottom","deltaLeft","getBoundElementOffsets","elementRect","computePositionOffsets","boundElementOffsets","containingBlockAncestor","findContainingBlockAncestor","isDocumentElement","containingBlockRect","containingBlockStyle","paddingBox","parseFloat","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","relativeOffsets","scrollTop","scrollLeft","applyPositionStyles","arrowModifier","hostStyle","distanceFromBound","marginTop","replace","positionOffsets","leftBase","rightBase","topBase","bottomBase","sideTopBase","sideBottomBase","getDevice","Device","MOBILE","isElementVisibleInContainer","positionChange","componentWillLoad","componentDidLoad","disconnectedCallback","render","h","Host"],"sources":["src/components/z-popover/styles.css?tag=z-popover&encapsulation=shadow","src/components/z-popover/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-popover-theme--surface: background color of the popover.\n * @prop --z-popover-theme--text: foreground color of the popover.\n * @prop --z-popover-padding: padding of the popover.\n * @prop --z-popover-shadow-filter: drop-shadow filter of the popover. Defaults to `drop-shadow(0 1px 2px var(--shadow-color-base))`.\n */\n --z-popover-theme--surface: ;\n --z-popover-theme--text: ;\n --z-popover-padding: ;\n --z-popover-shadow-filter: ;\n\n position: fixed;\n display: none;\n max-width: calc(100dvw - var(--grid-margin) * 2);\n max-height: calc(100dvh - var(--grid-margin) * 2);\n padding: var(--z-popover-padding, 0);\n background: var(--z-popover-theme--surface, var(--color-surface01));\n border-radius: var(--border-radius-small);\n color: var(--z-popover-theme--text, var(--color-default-text));\n fill: currentcolor;\n filter: var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));\n text-align: center;\n visibility: hidden; /* hidden by default. the positioning algorithm will set it to 'visible' when needed */\n}\n\n:host([open]:not([open=\"false\"])[current-position]) {\n display: block;\n}\n\n:host([center][current-position=\"top\"]),\n:host([center][current-position=\"bottom\"]) {\n transform: translateX(-50%);\n}\n\n:host([center][current-position=\"right\"]),\n:host([center][current-position=\"left\"]) {\n transform: translateY(-50%);\n}\n\n:host([current-position^=\"top\"]) {\n margin: 0 0 var(--space-unit);\n}\n\n:host([current-position^=\"bottom\"]) {\n margin: var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"left\"]) {\n margin: 0 var(--space-unit) 0 0;\n}\n\n:host([current-position^=\"right\"]) {\n margin: 0 0 0 var(--space-unit);\n}\n\n/* Arrow style */\n:host([current-position])::before {\n --arrow-size: 6px;\n --arrow-edge-offset: calc(100% - var(--space-unit) - (var(--arrow-size) / 2));\n --arrow-center-x-offset: calc(50% - (var(--arrow-size) / 2));\n --arrow-center-y-offset: calc(100% - (var(--arrow-size) / 2));\n\n position: absolute;\n display: block;\n width: var(--arrow-size);\n height: var(--arrow-size);\n background: var(--z-popover-theme--surface, var(--color-surface01));\n content: \"\";\n transform: rotate(45deg);\n}\n\n:host([show-arrow=\"false\"])::before,\n:host(:not([show-arrow]))::before {\n display: none;\n}\n\n:host([current-position^=\"top\"])::before {\n top: var(--arrow-center-y-offset);\n}\n\n:host([current-position^=\"bottom\"])::before {\n bottom: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top\"])::before,\n:host([current-position=\"bottom\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before,\n:host([current-position=\"left\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"top_right\"])::before,\n:host([current-position=\"bottom_right\"])::before {\n right: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"top_left\"])::before,\n:host([current-position=\"bottom_left\"])::before {\n left: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"left_top\"])::before {\n top: var(--arrow-edge-offset);\n}\n\n:host([current-position=\"right_top\"])::before,\n:host([current-position=\"right_bottom\"])::before {\n right: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"left_top\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n left: var(--arrow-center-y-offset);\n}\n\n:host([current-position=\"right_bottom\"])::before,\n:host([current-position=\"left_bottom\"])::before {\n bottom: var(--arrow-edge-offset);\n}\n\n:host([center][current-position=\"top\"])::before,\n:host([center][current-position=\"bottom\"])::before {\n right: auto;\n left: var(--arrow-center-x-offset);\n}\n\n:host([center][current-position=\"right\"])::before,\n:host([center][current-position=\"left\"])::before {\n top: var(--arrow-center-x-offset);\n bottom: auto;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {Device, KeyboardCode, PopoverPosition} from \"../../beans\";\nimport {\n containsElement,\n findContainingBlockAncestor,\n getDevice,\n getParentElement,\n isElementVisibleInContainer,\n} from \"../../utils/utils\";\n\n/** Centering offset modifier. 0 for no offset, 0.5 for centering. */\ntype OffsetModifier = 0 | 0.5;\ntype Offsets = {top: number; right: number; bottom: number; left: number};\n\n/**\n * Popover component.\n * This component displays a popover bound to an element.\n * It supports various positions and can automatically adjust it based on available space, accounting for scrollable containers.\n *\n * Notes:\n * - If positioning has an odd behavior, consider manually adjusting the size of the slotted elements (using `width`, `height`, `max-width`, `max-height`, etc...) when its content is \"fluid\" (like text), because it can interfere with the position calculation (for example a long text on one single line can be bigger than the available space, letting the algorithm think the popover doesn't fits).\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover implements ComponentInterface {\n /**\n * The preferred position to render the popover.\n * The popover will automatically search another position if not enough space is available for the preferred position.\n * If the preferred position is not available, it will try to find the best position starting from `TOP` and going clockwise.\n */\n @Prop({reflect: true, mutable: true})\n position?: PopoverPosition = PopoverPosition.TOP;\n\n /**\n * The initial open state of the popover.\n * Internal changes of this prop are emitted through the `openChange` event.\n * Make sure to listen to that event if you need the updated state of the popover from the outside, to avoid inconsistent values.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the popover.\n * If string css selector is provided make sure to use a valid selector.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /** Whether to show popover's arrow. */\n @Prop({reflect: true})\n showArrow = false;\n\n /** Whether to center the popup on the main side (according to \"position\"). */\n @Prop({reflect: true})\n center = false;\n\n /**\n * Whether the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\n * Default: `true`.\n */\n @Prop()\n closable = true;\n\n /**\n * The current position of the popover.\n * It differs from `position` only when calculated automatically for space reasons.\n */\n @State()\n currentPosition?: PopoverPosition;\n\n @Element() host: HTMLZPopoverElement;\n\n // Clockwise order of positions.\n private static readonly positionOrder: PopoverPosition[] = [\n PopoverPosition.TOP,\n PopoverPosition.TOP_RIGHT,\n PopoverPosition.TOP_LEFT,\n PopoverPosition.RIGHT,\n PopoverPosition.RIGHT_BOTTOM,\n PopoverPosition.RIGHT_TOP,\n PopoverPosition.BOTTOM,\n PopoverPosition.BOTTOM_LEFT,\n PopoverPosition.BOTTOM_RIGHT,\n PopoverPosition.LEFT,\n PopoverPosition.LEFT_TOP,\n PopoverPosition.LEFT_BOTTOM,\n ] as const;\n\n private animationFrameRequestId?: number;\n\n /** space tolerance for space calculations */\n private readonly spaceTolerance = 3;\n\n /** The element bound to the popover. */\n private boundElement?: HTMLElement;\n\n /** Cached available space around the bound element to avoid unnecessary recalculations */\n private cachedAvailableSpace?: Offsets;\n\n /** Last bounding rect of the bound element to detect changes and eventually invalidate the caches. */\n private lastBoundRect?: DOMRect;\n\n /** Fired when the position changes. */\n @Event()\n positionChange: EventEmitter<{position: PopoverPosition}>;\n\n /** Event emitted when the open state of the popover changes (e.g. when the user clicks outside the popover to close it, if `closable` is true). */\n @Event()\n openChange: EventEmitter<{open: boolean}>;\n\n @Listen(\"keyup\", {target: \"window\", capture: true})\n closePopoverWithKeyboard(e: KeyboardEvent): void {\n if (this.closable && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n this.open = false;\n }\n }\n\n /**\n * Close the popover when clicking outside of its content.\n * Stop event propagation if the click was fired by popover's trigger element,\n * to prevent close and reopen glitches.\n */\n @Listen(\"click\", {target: \"body\", capture: true})\n handleOutsideClick(e: MouseEvent): void {\n const target = e.target as Element;\n if (!this.closable || !this.open || containsElement(this.host, target)) {\n return;\n }\n\n if (containsElement(this.boundElement, target)) {\n // stop propagation if the click was on the trigger element to prevent close and reopen glitches\n e.stopPropagation();\n }\n this.open = false;\n }\n\n @Watch(\"position\")\n validatePosition(newValue: PopoverPosition): void {\n if (!Object.values(PopoverPosition).includes(newValue as PopoverPosition) || newValue === PopoverPosition.AUTO) {\n newValue = PopoverPosition.TOP;\n this.position = newValue;\n }\n this.currentPosition = newValue;\n if (this.open) {\n this.setPosition();\n }\n }\n\n /** Setup popover behaviors when `open` changes. */\n @Watch(\"open\")\n onOpen(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n this.openChange.emit({open: this.open});\n if (!this.open) {\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n this.currentPosition = undefined;\n\n return;\n }\n\n const updatePositionLoop = (): void => {\n if (!this.open) {\n return;\n }\n\n this.setPosition();\n this.animationFrameRequestId = requestAnimationFrame(updatePositionLoop);\n };\n\n // call `setPosition` after a tick to ensure the DOM is ready and sizes are available\n setTimeout(() => {\n updatePositionLoop();\n }, 0);\n }\n\n @Watch(\"bindTo\")\n onBindingChange(): void {\n this.findBoundElement();\n }\n\n /** Returns the offset modifier to use in calculations to align the popover with the bound element. */\n private get offsetModifier(): OffsetModifier {\n return this.center ? 0.5 : 0;\n }\n\n private findBoundElement(): void {\n if (typeof this.bindTo === \"string\") {\n this.boundElement = this.host.ownerDocument.querySelector(this.bindTo) as HTMLElement;\n } else if (this.bindTo) {\n this.boundElement = this.bindTo;\n } else {\n this.boundElement = getParentElement(this.host) as HTMLElement;\n if (this.boundElement.tagName.toLowerCase() === \"z-tooltip\") {\n // If the popover is used inside a tooltip without a specified `bindTo`, bind it to the parent of the tooltip.\n this.boundElement = getParentElement(this.boundElement) as HTMLElement;\n }\n }\n }\n\n /**\n * Check if element has enough space to the right and left to be centered.\n * Used for `TOP` and `BOTTOM` position.\n * When `center` is not enabled, only one side needs to be checked and `RIGHT` is the default.\n */\n private hasCenteredHorizontalSpace(\n availableLeft: number,\n availableRight: number,\n hostWidth: number,\n boundElementWidth: number\n ): boolean {\n const requiredSideSpace = (hostWidth - boundElementWidth) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableRight >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableRight >= requiredSideSpace - this.spaceTolerance &&\n availableLeft >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if element has enough space to the top and bottom to be centered.\n * Used for `RIGHT` and `LEFT` position.\n * When `center` is not enabled, only one side needs to be checked and `BOTTOM` is the default.\n */\n private hasCenteredVerticalSpace(\n availableTop: number,\n availableBottom: number,\n hostHeight: number,\n boundElementHeight: number\n ): boolean {\n const requiredSideSpace = (hostHeight - boundElementHeight) * (1 - this.offsetModifier);\n\n if (!this.center) {\n return availableBottom >= requiredSideSpace - this.spaceTolerance;\n }\n\n return (\n availableTop >= requiredSideSpace - this.spaceTolerance &&\n availableBottom >= requiredSideSpace - this.spaceTolerance\n );\n }\n\n /**\n * Check if there is enough space in the given direction to fit the popover.\n * Used for composed positions like TOP_RIGHT, LEFT_BOTTOM, etc.\n */\n private hasEnoughSideSpace(\n availableSpace: number,\n hostSize: number,\n boundElementSize: number,\n offsetModifier: OffsetModifier\n ): boolean {\n return availableSpace >= hostSize - boundElementSize * (1 - offsetModifier) - this.spaceTolerance;\n }\n\n /**\n * Given a desired position and available space around the bound element, returns the best position\n * that fits the popover, trying all positions if needed.\n * Takes into account offsetModifier for centering.\n * @param desiredPosition The desired position of the popover.\n * @param availableSpace The available space around the bound element.\n */\n private getOptimalPopoverPosition(desiredPosition: PopoverPosition, availableSpace: Offsets): PopoverPosition {\n const hostWidth = this.host.offsetWidth;\n const hostHeight = this.host.offsetHeight;\n const boundElementWidth = this.boundElement.getBoundingClientRect().width;\n const boundElementHeight = this.boundElement.getBoundingClientRect().height;\n const offsetModifier = this.offsetModifier;\n\n /** Check if there is enough space to fit the popover in the desired position */\n const fits = (pos: PopoverPosition): boolean => {\n switch (pos) {\n case PopoverPosition.TOP:\n return (\n availableSpace.top >= hostHeight - this.spaceTolerance &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.TOP_RIGHT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.TOP_LEFT:\n return (\n availableSpace.top >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.RIGHT:\n return (\n availableSpace.right >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.RIGHT_BOTTOM:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.RIGHT_TOP:\n return (\n availableSpace.right >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.BOTTOM:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasCenteredHorizontalSpace(availableSpace.left, availableSpace.right, hostWidth, boundElementWidth)\n );\n case PopoverPosition.BOTTOM_LEFT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.left, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.BOTTOM_RIGHT:\n return (\n availableSpace.bottom >= hostHeight &&\n this.hasEnoughSideSpace(availableSpace.right, hostWidth, boundElementWidth, offsetModifier)\n );\n case PopoverPosition.LEFT:\n return (\n availableSpace.left >= hostWidth &&\n this.hasCenteredVerticalSpace(availableSpace.top, availableSpace.bottom, hostHeight, boundElementHeight)\n );\n case PopoverPosition.LEFT_TOP:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.top, hostHeight, boundElementHeight, offsetModifier)\n );\n case PopoverPosition.LEFT_BOTTOM:\n return (\n availableSpace.left >= hostWidth &&\n this.hasEnoughSideSpace(availableSpace.bottom, hostHeight, boundElementHeight, offsetModifier)\n );\n\n default:\n return false;\n }\n };\n\n // Check desired position first\n if (fits(desiredPosition)) {\n return desiredPosition;\n }\n\n // Find position index and create rotation starting from next position\n const positions = ZPopover.positionOrder;\n const startIndex = positions.indexOf(desiredPosition);\n\n if (startIndex === -1) {\n return desiredPosition; // fallback if position not found\n }\n\n // Try all other positions starting from the next one\n for (let i = 1; i < positions.length; i++) {\n const posIndex = (startIndex + i) % positions.length;\n const pos = positions[posIndex];\n if (fits(pos)) {\n return pos;\n }\n }\n\n return this.findBestFallbackPosition(availableSpace);\n }\n\n /** Find the best fallback position based on available space when no position fits perfectly. */\n private findBestFallbackPosition(availableSpace: Offsets): PopoverPosition {\n // Determine which horizontal and vertical direction has the most available space\n const bestHorizontalDirection =\n availableSpace.right >= availableSpace.left ? PopoverPosition.RIGHT : PopoverPosition.LEFT;\n\n const bestVerticalDirection =\n availableSpace.bottom >= availableSpace.top ? PopoverPosition.BOTTOM : PopoverPosition.TOP;\n\n // Choose the main direction based on which axis has more space overall\n const maxHorizontalSpace = Math.max(availableSpace.right, availableSpace.left);\n const maxVerticalSpace = Math.max(availableSpace.bottom, availableSpace.top);\n\n const mainDirection = maxVerticalSpace >= maxHorizontalSpace ? bestVerticalDirection : bestHorizontalDirection;\n\n // Decide if a secondary direction is needed\n // Only add a secondary direction if the difference between min and max in that axis is at least double\n let needsSecondaryDirection = false;\n\n if (mainDirection === bestVerticalDirection) {\n // If main direction is vertical, check horizontal space difference\n const minHorizontalSpace = Math.min(availableSpace.right, availableSpace.left);\n needsSecondaryDirection = maxHorizontalSpace >= minHorizontalSpace * 2;\n } else {\n // If main direction is horizontal, check vertical space difference\n const minVerticalSpace = Math.min(availableSpace.bottom, availableSpace.top);\n needsSecondaryDirection = maxVerticalSpace >= minVerticalSpace * 2;\n }\n\n if (!needsSecondaryDirection) {\n return mainDirection;\n }\n\n const secondaryDirection =\n mainDirection === bestVerticalDirection ? bestHorizontalDirection : bestVerticalDirection;\n\n // Return a combined position (e.g., \"bottom_right\")\n return `${mainDirection}_${secondaryDirection}` as PopoverPosition;\n }\n\n /**\n * Find the nearest scrollable ancestor of an element to take as a reference for positioning.\n * The ancestor is considered scrollable if it doesn't have `overflow` property set to `hidden` and its scroll size is bigger than its client size.\n */\n private findScrollableAncestor(element: HTMLElement): HTMLElement {\n let parent = getParentElement(element);\n\n while (parent) {\n if (parent === element.ownerDocument.documentElement) {\n return parent as HTMLElement;\n }\n\n const style = getComputedStyle(parent);\n const {overflow, overflowX, overflowY} = style;\n const hasHiddenOverflow = overflow === \"hidden\" || overflowY === \"hidden\" || overflowX === \"hidden\";\n const isScrollable =\n (parent.scrollHeight > parent.clientHeight && overflow !== \"visible\" && overflowY !== \"visible\") ||\n (parent.scrollWidth > parent.clientWidth && overflow !== \"visible\" && overflowX !== \"visible\");\n\n if (!hasHiddenOverflow && isScrollable) {\n return parent as HTMLElement;\n }\n\n parent = getParentElement(parent);\n }\n\n return element.ownerDocument.documentElement;\n }\n\n /**\n * Calculate available space around the element bound with the popover, based on its nearest scrollable ancestor.\n *\n * Calculations for `right` and `bottom` can be a little bit confusing because `boundingRect.right` and `bottom` may not be what you expect...\n * For more information see the explanation in the docs.\n * @link https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#return_value\n */\n private calculateAvailableSpace(): Offsets {\n const boundElementRect = this.boundElement.getBoundingClientRect();\n\n if (\n this.lastBoundRect &&\n this.lastBoundRect.x === boundElementRect.x &&\n this.lastBoundRect.y === boundElementRect.y &&\n this.lastBoundRect.width === boundElementRect.width &&\n this.lastBoundRect.height === boundElementRect.height &&\n this.cachedAvailableSpace\n ) {\n // If the bound element's rect hasn't changed, return the cached rect\n return this.cachedAvailableSpace;\n }\n\n this.lastBoundRect = boundElementRect;\n const scrollableAncestor = this.findScrollableAncestor(this.boundElement);\n const scrollableAncestorRect = scrollableAncestor.getBoundingClientRect();\n const isScrollableAncestorNested = scrollableAncestor !== this.boundElement.ownerDocument.documentElement;\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n const safeSpace = 8; // extra space to avoid popover being too close to the edges\n\n // These deltas represent the offset between the scrollable ancestor and the viewport.\n // They are used to adjust the available space calculations when the scrollable ancestor is not the document or body,\n // to try to fit the popover inside the scrollable ancestor.\n const deltaTop = isScrollableAncestorNested ? scrollableAncestorRect.top : 0;\n const deltaRight = isScrollableAncestorNested ? documentWidth - scrollableAncestorRect.right : 0;\n const deltaBottom = isScrollableAncestorNested ? documentHeight - scrollableAncestorRect.bottom : 0;\n const deltaLeft = isScrollableAncestorNested ? scrollableAncestorRect.left : 0;\n\n this.cachedAvailableSpace = {\n top: boundElementRect.top - deltaTop - safeSpace,\n right: documentWidth - boundElementRect.right - deltaRight - safeSpace,\n bottom: documentHeight - boundElementRect.bottom - deltaBottom - safeSpace,\n left: boundElementRect.left - deltaLeft - safeSpace,\n };\n\n return this.cachedAvailableSpace;\n }\n\n /** Calculate the space around the bound element relative to the viewport. */\n private getBoundElementOffsets(): Offsets {\n const elementRect = this.boundElement.getBoundingClientRect();\n const documentWidth = this.boundElement.ownerDocument.documentElement.clientWidth;\n const documentHeight = this.boundElement.ownerDocument.documentElement.clientHeight;\n\n return {\n top: elementRect.top,\n right: documentWidth - elementRect.right,\n bottom: documentHeight - elementRect.bottom,\n left: elementRect.left,\n };\n }\n\n /** Compute positioning offsets in the appropriate coordinate space, accounting for transformed containing blocks and scroll. */\n private computePositionOffsets(): Offsets {\n const boundElementOffsets = this.getBoundElementOffsets();\n const containingBlockAncestor = findContainingBlockAncestor(this.host);\n const isDocumentElement = containingBlockAncestor === this.host.ownerDocument.documentElement;\n\n if (isDocumentElement) {\n return boundElementOffsets;\n }\n\n const containingBlockRect = containingBlockAncestor.getBoundingClientRect();\n const containingBlockStyle = getComputedStyle(containingBlockAncestor);\n /** Padding box of the containing block, accounting for borders. */\n const paddingBox = {\n top: containingBlockRect.top + parseFloat(containingBlockStyle.borderTopWidth),\n right: containingBlockRect.right - parseFloat(containingBlockStyle.borderRightWidth),\n bottom: containingBlockRect.bottom - parseFloat(containingBlockStyle.borderBottomWidth),\n left: containingBlockRect.left + parseFloat(containingBlockStyle.borderLeftWidth),\n };\n\n const boundElementRect = this.boundElement.getBoundingClientRect();\n /** Bound element offsets relative to the containing block padding box. */\n const relativeOffsets = {\n top: boundElementRect.top - paddingBox.top,\n right: paddingBox.right - boundElementRect.right,\n bottom: paddingBox.bottom - boundElementRect.bottom,\n left: boundElementRect.left - paddingBox.left,\n };\n\n /** Account for scroll to keep the popover aligned while the containing block scrolls. */\n return {\n top: relativeOffsets.top + containingBlockAncestor.scrollTop,\n right: relativeOffsets.right - containingBlockAncestor.scrollLeft,\n bottom: relativeOffsets.bottom - containingBlockAncestor.scrollTop,\n left: relativeOffsets.left + containingBlockAncestor.scrollLeft,\n };\n }\n\n /** Apply positioning styles based on `position` parameter. */\n private applyPositionStyles(position: PopoverPosition, availableSpace: Offsets): void {\n const boundElementWidth = this.boundElement.offsetWidth;\n const boundElementHeight = this.boundElement.offsetHeight;\n const offsetModifier = this.offsetModifier;\n /**\n * Distance between the arrow center and the popover edge.\n * Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled.\n */\n const arrowModifier = this.showArrow && this.center ? 8 : 0;\n const hostStyle = this.host.style;\n /** Gap between the popover and the bound element, set as margin in CSS. */\n const distanceFromBound = parseFloat(getComputedStyle(this.host).marginTop.replace(\"px\", \"\")) || 0;\n const positionOffsets = this.computePositionOffsets();\n\n /**\n * Precomputed bases to reduce repeated arithmetic in the switch below.\n * They represent the bound element edges plus optional centering offsets.\n */\n const leftBase = positionOffsets.left + boundElementWidth * offsetModifier;\n const rightBase = positionOffsets.right + boundElementWidth * offsetModifier;\n const topBase = positionOffsets.top + boundElementHeight;\n const bottomBase = positionOffsets.bottom + boundElementHeight;\n const sideTopBase = positionOffsets.top + boundElementHeight * offsetModifier;\n const sideBottomBase = positionOffsets.bottom + boundElementHeight * offsetModifier;\n\n let maxWidth: number;\n let maxHeight: number;\n\n switch (position) {\n case PopoverPosition.TOP:\n case PopoverPosition.TOP_RIGHT:\n hostStyle.bottom = `${bottomBase}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.TOP_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.top - distanceFromBound;\n if (position === PopoverPosition.TOP_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.TOP_LEFT:\n hostStyle.right = `${rightBase - arrowModifier}px`;\n hostStyle.bottom = `${bottomBase}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.top - distanceFromBound;\n break;\n\n case PopoverPosition.BOTTOM:\n case PopoverPosition.BOTTOM_RIGHT:\n hostStyle.top = `${topBase}px`;\n hostStyle.left = `${leftBase - (position === PopoverPosition.BOTTOM_RIGHT ? arrowModifier : 0)}px`;\n maxHeight = availableSpace.bottom - distanceFromBound;\n if (position === PopoverPosition.BOTTOM_RIGHT) {\n maxWidth = availableSpace.right + boundElementWidth * offsetModifier;\n }\n break;\n\n case PopoverPosition.BOTTOM_LEFT:\n hostStyle.top = `${topBase}px`;\n hostStyle.right = `${rightBase - arrowModifier}px`;\n maxWidth = availableSpace.left + boundElementWidth * offsetModifier;\n maxHeight = availableSpace.bottom - distanceFromBound;\n break;\n\n case PopoverPosition.RIGHT:\n case PopoverPosition.RIGHT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.RIGHT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n if (position === PopoverPosition.RIGHT) {\n maxHeight = availableSpace.top + availableSpace.bottom + boundElementHeight;\n } else {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.RIGHT_TOP:\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;\n maxWidth = availableSpace.right - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n\n case PopoverPosition.LEFT:\n case PopoverPosition.LEFT_BOTTOM:\n hostStyle.top = `${sideTopBase - (position === PopoverPosition.LEFT_BOTTOM ? arrowModifier : 0)}px`;\n hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n if (position === PopoverPosition.LEFT_BOTTOM) {\n maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;\n }\n break;\n\n case PopoverPosition.LEFT_TOP:\n hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;\n hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;\n maxWidth = availableSpace.left - distanceFromBound;\n maxHeight = availableSpace.top + boundElementHeight * offsetModifier;\n break;\n }\n\n if (getDevice() !== Device.MOBILE) {\n // Only force max sizes on non-mobile viewports\n Object.assign(hostStyle, {\n maxWidth: maxWidth ? `${maxWidth}px` : \"\",\n maxHeight: maxHeight ? `${maxHeight}px` : \"\",\n });\n }\n }\n\n /** Set the position of the popover. */\n private setPosition(): void {\n if (!this.boundElement) {\n return;\n }\n\n if (!isElementVisibleInContainer(this.boundElement, this.findScrollableAncestor(this.boundElement))) {\n // If the bound element is not visible, hide the popover too\n this.open = false;\n\n return;\n }\n\n Object.assign(this.host.style, {\n // Reset all positioning properties\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"\",\n maxHeight: \"\",\n // Set initial visibility to hidden while calculating position...\n visibility: \"hidden\",\n });\n\n const availableSpace = this.calculateAvailableSpace();\n const position = this.getOptimalPopoverPosition(this.position, availableSpace);\n\n this.applyPositionStyles(position, availableSpace);\n this.currentPosition = position;\n this.positionChange.emit({position: this.currentPosition});\n\n // ...then restore the visibility\n this.host.style.visibility = \"visible\";\n }\n\n componentWillLoad(): void {\n this.validatePosition(this.position);\n }\n\n componentDidLoad(): void {\n this.findBoundElement();\n if (this.open) {\n this.onOpen();\n }\n }\n\n disconnectedCallback(): void {\n cancelAnimationFrame(this.animationFrameRequestId);\n }\n\n render(): HTMLZPopoverElement {\n return (\n <Host current-position={this.currentPosition}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZGhostLoading","__stencil_proxyCustomElement","HTMLElement","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, ComponentInterface, h, Host} from \"@stencil/core\";\n@Component({\n tag: \"z-ghost-loading\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZGhostLoading implements ComponentInterface {\n render(): HTMLZGhostLoadingElement {\n return <Host />;\n }\n}\n"],"mappings":"uHAAA,MAAMA,EAAY,IAAM,wgB,MCMXC,EAAaC,EAAA,MAAAD,UAAAE,E,iFACxB,MAAAC,GACE,OAAOC,EAACC,EAAI,CAAAC,IAAA,4C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZChip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","ZChipType","DEFAULT","variant","ZChipVariant","OUTLINE","disabled","render","h","key","class","interactiveIcon","undefined","icon","name","onClick","interactiveIconClick","emit","htmlAriaLabel"],"sources":["src/components/z-chip/styles.css?tag=z-chip&encapsulation=scoped","src/components/z-chip/index.tsx"],"sourcesContent":[":host,\n:host * {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n:host > .z-chip-container {\n display: inline-flex;\n min-height: 28px;\n align-items: center;\n padding: 0 calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--color-surface03);\n background-color: var(--color-surface01);\n border-radius: 14px;\n color: var(--color-primary01);\n fill: var(--color-default-icon);\n font-family: var(--font-family-sans);\n font-size: 14px;\n font-weight: var(--font-sb);\n gap: var(--space-unit);\n line-height: 1;\n}\n\n:host > .z-chip-container > button {\n position: relative;\n display: flex;\n width: 28px;\n height: 28px;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n background-color: transparent;\n border-radius: 50%;\n cursor: pointer;\n}\n\n:host > .z-chip-container .interactive-icon {\n fill: var(--color-primary01);\n}\n\n:host > .z-chip-container:not([aria-disabled]) button:hover .interactive-icon {\n color: var(--color-hover-primary);\n fill: var(--color-hover-primary);\n}\n\n/* Variants */\n:host > .z-chip-container.filled {\n border-color: transparent;\n background-color: var(--color-primary01);\n color: var(--color-text-inverse);\n fill: var(--color-inverse-icon);\n}\n\n:host > .z-chip-container.filled .interactive-icon {\n fill: var(--color-inverse-icon);\n}\n\n:host > .z-chip-container.filled:not([aria-disabled]) button::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--color-inverse-icon);\n border-radius: 50%;\n content: \"\";\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.2s;\n}\n\n:host > .z-chip-container.filled:not([aria-disabled]) button:hover::before {\n opacity: 0.16;\n}\n\n:host > .z-chip-container.filled:not([aria-disabled]) button:hover .interactive-icon {\n color: var(--color-inverse-icon);\n fill: var(--color-inverse-icon);\n}\n\n:host > .z-chip-container.soft {\n border-color: transparent;\n background-color: var(--color-primary02);\n color: var(--color-default-text);\n}\n\n:host > .z-chip-container.soft .interactive-icon {\n fill: var(--color-primary01);\n}\n\n/* Disabled state */\n:host > .z-chip-container[aria-disabled],\n:host > .z-chip-container[aria-disabled] .interactive-icon {\n color: var(--color-disabled03);\n cursor: auto;\n fill: var(--color-disabled03);\n}\n\n:host > .z-chip-container[aria-disabled] {\n border: var(--border-size-small) solid var(--color-disabled01);\n background-color: transparent;\n}\n\n:host > .z-chip-container.filled[aria-disabled],\n:host > .z-chip-container.soft[aria-disabled] {\n border-color: transparent;\n background-color: var(--color-disabled01);\n}\n\n:host > .z-chip-container > button:focus:focus-visible {\n border-radius: 100%;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > .z-chip-container > z-icon,\n:host > .z-chip-container .interactive-icon {\n --z-icon-width: 22px;\n --z-icon-height: 22px;\n}\n\n/* :host type */\n:host > .z-chip-container.default {\n min-height: 44px;\n border-radius: 22px;\n}\n\n:host > .z-chip-container.medium {\n min-height: 40px;\n border-radius: 22px;\n}\n\n:host > .z-chip-container.small {\n min-height: 36px;\n border-radius: 22px;\n}\n\n/* Desktop breakpoint */\n@media (min-width: 1152px) {\n :host > .z-chip-container {\n padding: 0 calc(var(--space-unit) * 1.5);\n font-size: 12px;\n gap: calc(var(--space-unit) / 2);\n }\n\n /* :host type */\n :host > .z-chip-container.default {\n min-height: 32px;\n border-radius: 16px;\n }\n\n :host > .z-chip-container.medium {\n min-height: 28px;\n border-radius: 16px;\n }\n\n :host > .z-chip-container.small {\n min-height: 24px;\n border-radius: 16px;\n }\n\n :host > .z-chip-container > z-icon,\n :host > .z-chip-container .interactive-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n }\n\n :host > .z-chip-container > button {\n width: 20px;\n height: 20px;\n }\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Prop, h} from \"@stencil/core\";\nimport {ZChipType, ZChipVariant} from \"../../beans\";\n\n@Component({\n tag: \"z-chip\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZChip implements ComponentInterface {\n @Element() el: HTMLZChipElement;\n\n /** Non interactive icon */\n @Prop()\n icon?: string;\n\n /** z-chip size type, can be default, medium or small */\n @Prop({reflect: true})\n type?: ZChipType = ZChipType.DEFAULT;\n\n /** z-chip variant type, can be outline, filled or soft */\n @Prop({reflect: true})\n variant?: ZChipVariant = ZChipVariant.OUTLINE;\n\n /** z-chip interactive icon */\n @Prop({reflect: true})\n interactiveIcon?: string;\n\n /** set z-chip as disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** `aria-label` for the icon button */\n @Prop()\n htmlAriaLabel?: string;\n\n /** click on interactive icon */\n @Event()\n interactiveIconClick: EventEmitter;\n\n render(): HTMLDivElement {\n return (\n <div\n class={{\n \"z-chip-container\": true,\n \"z-chip-interactive\": !!this.interactiveIcon,\n [this.type]: true,\n [this.variant]: true,\n }}\n aria-disabled={this.disabled ? \"true\" : undefined}\n >\n {this.icon && <z-icon name={this.icon} />}\n <slot />\n {this.interactiveIcon && (\n <button\n type=\"button\"\n onClick={() => this.interactiveIconClick.emit()}\n aria-label={this.htmlAriaLabel || undefined}\n disabled={this.disabled}\n >\n <z-icon\n class=\"interactive-icon\"\n name={this.interactiveIcon}\n />\n </button>\n )}\n </div>\n );\n }\n}\n"],"mappings":"qMAAA,MAAMA,EAAY,IAAM,yzH,MCSXC,EAAKC,EAAA,MAAAD,UAAAE,EANlB,WAAAC,CAAAC,G,uGAeEC,KAAAC,KAAmBC,EAAUC,QAI7BH,KAAAI,QAAyBC,EAAaC,QAQtCN,KAAAO,SAAqB,KAuCtB,CA7BC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,CACL,mBAAoB,KACpB,uBAAwBX,KAAKY,gBAC7B,CAACZ,KAAKC,MAAO,KACb,CAACD,KAAKI,SAAU,MACjB,gBACcJ,KAAKO,SAAW,OAASM,WAEvCb,KAAKc,MAAQL,EAAA,UAAAC,IAAA,2CAAQK,KAAMf,KAAKc,OACjCL,EAAA,QAAAC,IAAA,6CACCV,KAAKY,iBACJH,EAAA,UAAAC,IAAA,2CACET,KAAK,SACLe,QAAS,IAAMhB,KAAKiB,qBAAqBC,OAAM,aACnClB,KAAKmB,eAAiBN,UAClCN,SAAUP,KAAKO,UAEfE,EAAA,UAAAC,IAAA,2CACEC,MAAM,mBACNI,KAAMf,KAAKY,mB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZDragdropArea","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","dragging","onDrop","e","preventDefault","dataTransfer","files","length","fileDropped","emit","render","h","Host","key","class","dragover","onDragOver","onDragLeave","bind","dragAndDropLabel"],"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"],"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, ComponentInterface, 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 implements ComponentInterface {\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"],"mappings":"wMAAA,MAAMA,EAAY,IAAM,+7C,MCOXC,EAAaC,EAAA,MAAAD,UAAAE,EAL1B,WAAAC,CAAAC,G,2GAYEC,KAAAC,SAAW,KAkCZ,CA5BS,MAAAC,CAAOC,GACbA,EAAEC,iBACFJ,KAAKC,SAAW,MAChB,GAAIE,EAAEE,aAAaC,MAAMC,OAAQ,CAC/BP,KAAKQ,YAAYC,KAAKN,EAAEE,aAAaC,M,EAIzC,MAAAI,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CAACC,SAAUf,KAAKC,UACvBe,WAAab,IACXA,EAAEC,iBACFJ,KAAKC,SAAW,IAAI,EAEtBgB,YAAa,KACXjB,KAAKC,SAAW,KAAK,EAEvBC,OAAQF,KAAKE,OAAOgB,KAAKlB,OAEzBW,EAAA,OAAAE,IAAA,2CAAKC,MAAM,sBACTH,EAAA,YAAAE,IAAA,4CAAWb,KAAKmB,mBAElBR,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["LicenseType","CardVariant","Orientation","NavigationTabsOrientation","NavigationTabsSize","NavigationTabsKeyboardEvents","ButtonVariant","ButtonType","ButtonSize","ControlSize","InputType","InputStatus","PopoverPosition","KeyboardKeyCode","KeyboardCode","ThemeVariant","DividerSize","DividerOrientation","SortDirection","AvatarSize","ListSize","ExpandableListStyle","ExpandableListButtonAlign","LabelPosition","ListDividerType","ListType","NotificationType","AlertType","Device","ToastNotification","ToastNotificationTransition","ToastNotificationPosition","ZTableRowExpandedType","ZAriaAlertMode","TransitionDirection","OffCanvasVariant","ZFileUploadType","ZChipType","ZChipVariant","ZSectionTitleDividerPosition","ZDatePickerMode","ZDatePickerModeValue","ZDatePickerPosition","ZRangePickerMode","InfoRevealPosition","CoverHeroVariant","CoverHeroContentPosition","CarouselArrowsPosition","CarouselProgressMode","BreadcrumbPathStyle","BreadcrumbHomepageVariant","VisibilityCondition","BookCardVariant","BookCardDeprecatedVariant","AccordionVariant","IconPosition","ColorPickerPalette","it","en"],"sources":["src/beans/index.tsx"],"sourcesContent":["export type MyzLink = {\n label: string;\n img: string;\n link: string;\n};\n\nexport enum LicenseType {\n REAL = \"reale\",\n VIRTUAL = \"virtuale\",\n TRIAL = \"saggio\",\n TEMP = \"reale_temp\",\n}\n\nexport type Card = {\n id: string;\n isbn: string;\n volumeTitle: string;\n operaTitle: string;\n img: string;\n authors: string;\n actions: Action[];\n isBookmark: boolean;\n licenseType: LicenseType;\n};\n\nexport enum CardVariant {\n BORDER = \"border\",\n SHADOW = \"shadow\",\n OVERLAY = \"overlay\",\n TEXT = \"text\",\n}\n\nexport type Action = {\n isLink: boolean;\n value: string;\n url?: string;\n};\n\nexport type ListItem = {\n text: string;\n link?: string;\n linktarget?: string;\n icon?: string;\n listitemid?: string;\n};\n\nexport type FilterItem = {\n name: string;\n id: string;\n isActive: boolean;\n isfixed: boolean;\n};\n\nexport type MenuItem = {\n id: string;\n label: string;\n link?: string;\n icon?: string;\n target?: string;\n subMenu?: MenuItem[];\n};\n\nexport type TabItem = {\n id: string;\n label: string;\n icon?: string;\n size?: string;\n selected?: boolean;\n disabled?: boolean;\n};\n\nexport enum Orientation {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport enum NavigationTabsOrientation {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport enum NavigationTabsSize {\n BIG = \"big\",\n SMALL = \"small\",\n}\n\nexport enum NavigationTabsKeyboardEvents {\n LEFT = \"ArrowLeft\",\n RIGHT = \"ArrowRight\",\n UP = \"ArrowUp\",\n DOWN = \"ArrowDown\",\n}\n\nexport type HeaderUserData = {\n islogged: boolean;\n id?: number;\n name?: string;\n usergroup: number;\n userlinks: MenuItem[];\n};\n\nexport type ComboItem = {\n id: string;\n name: string;\n checked: boolean;\n category?: string;\n};\n\nexport enum ButtonVariant {\n PRIMARY = \"primary\",\n SECONDARY = \"secondary\",\n TERTIARY = \"tertiary\",\n}\n\nexport enum ButtonType {\n SUBMIT = \"submit\",\n RESET = \"reset\",\n BUTTON = \"button\",\n}\n\n/**\n * @deprecated Use ControlSize instead\n */\nexport enum ButtonSize {\n BIG = \"big\",\n SMALL = \"small\",\n X_SMALL = \"x-small\",\n}\n\nexport enum ControlSize {\n BIG = \"big\",\n SMALL = \"small\",\n X_SMALL = \"x-small\",\n}\n\nexport enum InputType {\n TEXT = \"text\",\n PASSWORD = \"password\",\n NUMBER = \"number\",\n EMAIL = \"email\",\n TEXTAREA = \"textarea\",\n CHECKBOX = \"checkbox\",\n RADIO = \"radio\",\n TEL = \"tel\",\n URL = \"url\",\n SEARCH = \"search\",\n}\n\nexport enum InputStatus {\n SUCCESS = \"success\",\n ERROR = \"error\",\n WARNING = \"warning\",\n}\n\nexport enum PopoverPosition {\n /** @deprecated This value is not needed anymore as the popover will always try to position itself automatically based on available space.\n *\n * Passing `AUTO` is the same as not passing any position value.\n * Use any of the other values to explicitly set the preferred position of the popover.\n */\n AUTO = \"auto\",\n TOP = \"top\",\n RIGHT = \"right\",\n BOTTOM = \"bottom\",\n LEFT = \"left\",\n TOP_RIGHT = \"top_right\",\n TOP_LEFT = \"top_left\",\n BOTTOM_RIGHT = \"bottom_right\",\n BOTTOM_LEFT = \"bottom_left\",\n RIGHT_TOP = \"right_top\",\n RIGHT_BOTTOM = \"right_bottom\",\n LEFT_TOP = \"left_top\",\n LEFT_BOTTOM = \"left_bottom\",\n}\n\nexport enum KeyboardKeyCode {\n TAB = 9,\n SPACE = 32,\n ESC = 27,\n ENTER = 13,\n ARROW_UP = 38,\n ARROW_DOWN = 40,\n BACKSPACE = 8,\n DELETE = 46,\n}\n\nexport enum KeyboardCode {\n TAB = \"Tab\",\n SPACE = \"Space\",\n ESC = \"Escape\",\n ENTER = \"Enter\",\n ARROW_UP = \"ArrowUp\",\n ARROW_DOWN = \"ArrowDown\",\n BACKSPACE = \"Backspace\",\n DELETE = \"Delete\",\n ARROW_RIGHT = \"ArrowRight\",\n ARROW_LEFT = \"ArrowLeft\",\n}\n\nexport type SelectItem = {\n id: string;\n name: string;\n selected: boolean;\n icon?: string;\n disabled?: boolean;\n category?: string;\n children?: SelectItem[];\n};\n\nexport enum ThemeVariant {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\nexport enum DividerSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n}\n\nexport enum DividerOrientation {\n HORIZONTAL = \"horizontal\",\n VERTICAL = \"vertical\",\n}\n\nexport enum SortDirection {\n ASC = \"asc\",\n DESC = \"desc\",\n}\n\nexport enum AvatarSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n}\n\nexport enum ListSize {\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n X_LARGE = \"x-large\",\n NONE = \"none\",\n}\n\nexport enum ExpandableListStyle {\n ACCORDION = \"accordion\",\n MENU = \"menu\",\n}\n\nexport enum ExpandableListButtonAlign {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\nexport enum LabelPosition {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\nexport enum ListDividerType {\n NONE = \"none\",\n HEADER = \"header\",\n ELEMENT = \"element\",\n}\n\nexport enum ListType {\n NONE = \"none\",\n ORDERED = \"ordered\",\n UNORDERED = \"unordered\",\n}\n\nexport enum NotificationType {\n SUCCESS = \"success\",\n WARNING = \"warning\",\n ERROR = \"error\",\n}\n\nexport enum AlertType {\n SUCCESS = \"success\",\n WARNING = \"warning\",\n ERROR = \"error\",\n}\n\nexport enum Device {\n MOBILE = \"mobile\",\n TABLET = \"tablet\",\n DESKTOP = \"desktop\",\n DESKTOP_WIDE = \"desktop-wide\",\n}\n\nexport type DictionaryData = {\n author: string;\n year: string;\n title: string;\n description: string;\n onlineLicense: DictionaryLicenseData;\n offlineLicense: DictionaryLicenseData;\n};\n\nexport type DictionaryLicenseData = {\n expiration: string;\n expired: boolean;\n expiring: boolean;\n installations: string;\n};\n\nexport enum ToastNotification {\n DARK = \"dark\",\n LIGHT = \"light\",\n ACCENT = \"accent\",\n ERROR = \"error\",\n SUCCESS = \"success\",\n WARNING = \"warning\",\n}\n\nexport enum ToastNotificationTransition {\n SLIDE_IN_LEFT = \"slide-in-left\",\n SLIDE_IN_RIGHT = \"slide-in-right\",\n SLIDE_IN_DOWN = \"slide-in-down\",\n SLIDE_IN_UP = \"slide-in-up\",\n SLIDE_OUT_LEFT = \"slide-out-left\",\n SLIDE_OUT_RIGHT = \"slide-out-right\",\n SLIDE_OUT_DOWN = \"slide-out-down\",\n SLIDE_OUT_UP = \"slide-out-up\",\n}\n\nexport enum ToastNotificationPosition {\n TOP_RIGHT = \"top-right\",\n TOP_LEFT = \"top-left\",\n TOP_CENTRE = \"top-centre\",\n BOTTOM_RIGHT = \"bottom-right\",\n BOTTOM_LEFT = \"bottom-left\",\n BOTTOM_CENTRE = \"bottom-centre\",\n}\n\nexport enum ZTableRowExpandedType {\n EXPANDABLE = \"expandable\",\n PADDING = \"padding\",\n NONE = \"none\",\n}\n\nexport enum ZAriaAlertMode {\n POLITE = \"polite\",\n ASSERTIVE = \"assertive\",\n}\n\nexport enum TransitionDirection {\n LEFT = \"left\",\n RIGHT = \"right\",\n UP = \"up\",\n}\n\nexport enum OffCanvasVariant {\n OVERLAY = \"overlay\",\n PUSHCONTENT = \"pushcontent\",\n}\n\nexport enum ZFileUploadType {\n DEFAULT = \"default\",\n DRAGDROP = \"dragdrop\",\n}\n\nexport enum ZChipType {\n DEFAULT = \"default\",\n MEDIUM = \"medium\",\n SMALL = \"small\",\n}\n\nexport enum ZChipVariant {\n OUTLINE = \"outline\",\n FILLED = \"filled\",\n SOFT = \"soft\",\n}\n\nexport enum ZSectionTitleDividerPosition {\n BEFORE = \"before\",\n AFTER = \"after\",\n}\n\nexport enum ZDatePickerMode {\n DATE = \"date\",\n DATE_TIME = \"date-time\",\n MONTHS = \"months\",\n}\n\nexport enum ZDatePickerModeValue {\n DATE = 401,\n DATE_TIME = 523,\n MONTHS = 288,\n}\n\nexport enum ZDatePickerPosition {\n TOP = \"top\",\n BOTTOM = \"bottom\",\n}\n\nexport enum ZRangePickerMode {\n DATE = \"date\",\n DATE_TIME = \"date-time\",\n}\n\nexport type SkipToContentLink = {\n label: string;\n href: string;\n ariaLabel?: string;\n};\n\nexport enum InfoRevealPosition {\n TOP_RIGHT = \"top_right\",\n TOP_LEFT = \"top_left\",\n BOTTOM_RIGHT = \"bottom_right\",\n BOTTOM_LEFT = \"bottom_left\",\n}\n\nexport enum CoverHeroVariant {\n OVERLAY = \"overlay\",\n STACKED = \"stacked\",\n}\n\nexport enum CoverHeroContentPosition {\n TOP = \"top\",\n BOTTOM = \"bottom\",\n}\n\nexport enum CarouselArrowsPosition {\n OVER = \"over\",\n BOTTOM = \"bottom\",\n}\n\nexport enum CarouselProgressMode {\n DOTS = \"dots\",\n NUMBERS = \"numbers\",\n}\n\nexport type SearchbarItem = {\n label: string;\n id?: string;\n icon?: string;\n tag?: {icon?: string; text: string};\n category?: string;\n subcategory?: string;\n children?: Omit<SearchbarItem, \"category\" | \"subcategory\">[];\n};\n\nexport type SearchbarGroupedItem = {\n [key: string]: SearchbarGroup;\n};\n\nexport type SearchbarGroup = {\n items: SearchbarItem[];\n category?: string;\n subcategory?: string;\n};\n\nexport type BreadcrumbPath = {\n text?: string;\n path?: string;\n hasTooltip?: boolean;\n};\n\nexport enum BreadcrumbPathStyle {\n SEMIBOLD = \"semibold\",\n UNDERLINED = \"underlined\",\n}\n\nexport enum BreadcrumbHomepageVariant {\n TEXT = \"text\",\n ICON = \"icon\",\n}\n\nexport enum VisibilityCondition {\n HOVER = \"hover\",\n ALWAYS = \"always\",\n}\n\nexport enum BookCardVariant {\n LANDSCAPE = \"landscape\",\n PORTRAIT = \"portrait\",\n}\n\nexport enum BookCardDeprecatedVariant {\n EXPANDED = \"expanded\",\n COMPACT = \"compact\",\n SEARCH = \"search\",\n}\n\nexport enum AccordionVariant {\n DEFAULT = \"default\",\n BACKGROUND = \"background\",\n}\n\nexport type TreeListItem = {\n id: string;\n name: string;\n url: string;\n icon?: string;\n bold?: boolean;\n children?: TreeListItem[];\n};\n\nexport enum IconPosition {\n LEFT = \"left\",\n RIGHT = \"right\",\n}\n\n/** Map of color hex codes to their Italian and English names for the Color Picker Palette. */\nexport const ColorPickerPalette = {\n \"#FFFFFF00\": {it: \"Trasparente\", en: \"Transparent\"},\n \"#FFFFFF\": {it: \"Bianco\", en: \"White\"},\n \"#CCCCCC\": {it: \"Grigio\", en: \"Gray\"},\n \"#7E7E7E\": {it: \"Grigio scuro 1\", en: \"Dark gray 1\"},\n \"#333333\": {it: \"Grigio scuro 2\", en: \"Dark gray 2\"},\n\n \"#FFCCCC\": {it: \"Rosso chiaro 1\", en: \"Light red 1\"},\n \"#FF9999\": {it: \"Rosso chiaro 2\", en: \"Light red 2\"},\n \"#FF3333\": {it: \"Rosso\", en: \"Red\"},\n \"#CC0000\": {it: \"Rosso scuro 1\", en: \"Dark red 1\"},\n \"#660000\": {it: \"Rosso scuro 2\", en: \"Dark red 2\"},\n\n \"#FFE1CC\": {it: \"Arancione chiaro 1\", en: \"Light orange 1\"},\n \"#FFC399\": {it: \"Arancione chiaro 2\", en: \"Light orange 2\"},\n \"#FF8933\": {it: \"Arancione\", en: \"Orange\"},\n \"#CC5500\": {it: \"Arancione scuro 1\", en: \"Dark orange 1\"},\n \"#662B00\": {it: \"Arancione scuro 2\", en: \"Dark orange 2\"},\n\n \"#FFF7CC\": {it: \"Giallo chiaro 1\", en: \"Light yellow 1\"},\n \"#FFEE99\": {it: \"Giallo chiaro 2\", en: \"Light yellow 2\"},\n \"#FFDD33\": {it: \"Giallo\", en: \"Yellow\"},\n \"#CCAA00\": {it: \"Giallo scuro 1\", en: \"Dark yellow 1\"},\n \"#665600\": {it: \"Giallo scuro 2\", en: \"Dark yellow 2\"},\n\n \"#DDFFCC\": {it: \"Verde chiaro 1\", en: \"Light green 1\"},\n \"#BBFF99\": {it: \"Verde chiaro 2\", en: \"Light green 2\"},\n \"#77FF33\": {it: \"Verde\", en: \"Green\"},\n \"#44CC00\": {it: \"Verde scuro 1\", en: \"Dark green 1\"},\n \"#226600\": {it: \"Verde scuro 2\", en: \"Dark green 2\"},\n\n \"#CCFFE5\": {it: \"Verde acqua chiaro 1\", en: \"Light aquamarine 1\"},\n \"#99FFCC\": {it: \"Verde acqua chiaro 2\", en: \"Light aquamarine 2\"},\n \"#33FF99\": {it: \"Verde acqua\", en: \"Aquamarine\"},\n \"#00CC66\": {it: \"Verde acqua scuro 1\", en: \"Dark aquamarine 1\"},\n \"#006633\": {it: \"Verde acqua scuro 2\", en: \"Dark aquamarine 2\"},\n\n \"#CCEEFF\": {it: \"Azzurro chiaro 1\", en: \"Light blue 1\"},\n \"#99DDFF\": {it: \"Azzurro chiaro 2\", en: \"Light blue 2\"},\n \"#33BBFF\": {it: \"Azzurro\", en: \"Blue\"},\n \"#0088CC\": {it: \"Azzurro scuro 1\", en: \"Dark blue 1\"},\n \"#004466\": {it: \"Azzurro scuro 2\", en: \"Dark blue 2\"},\n\n \"#D4CCFF\": {it: \"Viola chiaro 1\", en: \"Light purple 1\"},\n \"#AA99FF\": {it: \"Viola chiaro 2\", en: \"Light purple 2\"},\n \"#5533FF\": {it: \"Viola\", en: \"Purple\"},\n \"#2200CC\": {it: \"Viola scuro 1\", en: \"Dark purple 1\"},\n \"#110066\": {it: \"Viola scuro 2\", en: \"Dark purple 2\"},\n\n \"#FFCCFF\": {it: \"Rosa chiaro 1\", en: \"Light pink 1\"},\n \"#FF99FF\": {it: \"Rosa chiaro 2\", en: \"Light pink 2\"},\n \"#FF33FF\": {it: \"Rosa\", en: \"Pink\"},\n \"#CC00CC\": {it: \"Rosa scuro 1\", en: \"Dark pink 1\"},\n \"#660066\": {it: \"Rosa scuro 2\", en: \"Dark pink 2\"},\n} as const satisfies Record<`#${string}`, {it: string; en: string}>;\nexport type ColorPickerPalette = keyof typeof ColorPickerPalette;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["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","length","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","preventDefault","close","dialogPolyfillInfo","this","dialog_","replacedStyleTop_","openAsModal_","setAttribute","show","bind","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","e","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","stylesCss","ZModal","__stencil_proxyCustomElement","ReactiveControllerHost","closeButtonLabel","alertdialog","closable","scrollInside","lockPageScroll","focusTrapController","FocusTrapController","isActive","_a","emitModalClose","modalClose","emit","modalid","resetPageScroll","emitModalHeaderActive","modalHeaderActive","emitBackgroundClick","modalBackgroundClick","overflowY","componentDidLoad","requestAnimationFrame","super","disconnectedCallback","sync","handleKeyDown","code","KeyboardCode","ESC","handleWrapTab","closeButtonSlot","h","onClick","handleEscape","render","key","class","role","ref","onClose","onCancel","id","modaltitle","modalsubtitle"],"sources":["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":["// 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 /**\n * @prop --z-modal-content-padding: padding of the modal's content. The default is `16px` (`--space-unit * 2`).\n */\n --z-modal-content-padding: ;\n\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\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\";\nimport {FocusTrapController} from \"../../utils/focus-trap-controller\";\nimport {ReactiveControllerHost} from \"../../utils/reactive-controller\";\n\n/**\n * @slot modalCloseButton - slot for custom close button\n * @slot modalContent - slot for the content of the modal\n */\n@Component({\n tag: \"z-modal\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZModal extends ReactiveControllerHost {\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 private focusTrapController = new FocusTrapController(this, {\n isActive: () => !!this.dialog?.open,\n });\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 super.componentDidLoad();\n }\n\n disconnectedCallback(): void {\n this.resetPageScroll();\n super.disconnectedCallback();\n }\n\n /** open modal */\n @Method()\n async open(): Promise<void> {\n this.dialog?.showModal();\n this.focusTrapController.sync();\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.focusTrapController.sync();\n this.resetPageScroll();\n }\n }\n\n @Listen(\"keydown\")\n handleKeyDown(e: KeyboardEvent): void {\n if (e.code === KeyboardCode.ESC && !this.closable) {\n e.preventDefault();\n\n return;\n }\n\n this.focusTrapController.handleWrapTab(e);\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 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZTooltip","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","position","PopoverPosition","AUTO","dark","open","closable","onPopoverOpenChange","popoverEl","render","h","key","ref","el","bindTo","center","showArrow","onOpenChange","event","openChange","emit","detail"],"sources":["src/components/z-tooltip/styles.css?tag=z-tooltip&encapsulation=shadow","src/components/z-tooltip/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-tooltip-theme--surface: Background color of the popover.\n * @prop --z-tooltip-theme--text: Foreground color of the popover.\n * @prop --z-tooltip-shadow-filter: Drop-shadow filter of the popover.\n * @prop --z-tooltip-padding: Padding of the popover. The default is `8px` (`--space-unit`).\n */\n --z-tooltip-theme--surface: var(--color-surface01);\n --z-tooltip-theme--text: var(--color-default-text);\n --z-tooltip-shadow-filter: drop-shadow(0 1px 2px var(--shadow-color-base));\n --z-tooltip-padding: var(--space-unit);\n}\n\nz-popover {\n --z-popover-theme--surface: var(--z-tooltip-theme--surface);\n --z-popover-theme--text: var(--z-tooltip-theme--text);\n --z-popover-padding: var(--z-tooltip-padding);\n --z-popover-shadow-filter: var(--z-tooltip-shadow-filter);\n}\n\n:host([dark]) z-popover {\n --z-popover-theme--surface: var(--color-surface05);\n --z-popover-theme--text: var(--color-text-inverse);\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Listen, Prop, h} from \"@stencil/core\";\nimport {PopoverPosition} from \"../../beans\";\n\n/**\n * Tooltip component.\n * It is basically a wrapper for the `<z-popover>` component with custom configuration.\n */\n@Component({\n tag: \"z-tooltip\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTooltip implements ComponentInterface {\n /** Tooltip position. */\n @Prop({reflect: true})\n position: PopoverPosition = PopoverPosition.AUTO;\n\n /** Enable tooltip dark mode. */\n @Prop({reflect: true})\n dark = false;\n\n /**\n * The open state of the tooltip.\n */\n @Prop({reflect: true, mutable: true})\n open = false;\n\n /**\n * The selector or the element bound with the tooltip.\n */\n @Prop()\n bindTo?: string | HTMLElement;\n\n /**\n * Reflects `closable` prop of the popover.\n * \"If true, the popover can be closed by clicking outside of it or pressing the escape key.\n * Otherwise, it will be closed only programmatically (by setting `open` to `false`).\"\n */\n @Prop()\n closable = true;\n\n /**\n * Propagation of the `openChange` event from the internal `z-popover` to allow listening to it directly on `z-tooltip`.\n * This is necessary to keep the internal state of the `open` prop in sync when the popover is closed by user interaction instead of programmatically.\n */\n @Event()\n openChange: EventEmitter<{open: boolean}>;\n\n private popoverEl: HTMLZPopoverElement;\n\n @Listen(\"openChange\")\n onPopoverOpenChange(): void {\n this.open = this.popoverEl.open;\n }\n\n render(): HTMLZPopoverElement {\n return (\n <z-popover\n ref={(el) => (this.popoverEl = el as HTMLZPopoverElement)}\n bindTo={this.bindTo}\n open={this.open}\n position={this.position}\n closable={this.closable}\n center\n showArrow\n onOpenChange={(event) => this.openChange.emit(event.detail)}\n >\n <slot></slot>\n </z-popover>\n );\n }\n}\n"],"mappings":"+LAAA,MAAMA,EAAY,IAAM,yjB,MCYXC,EAAQC,EAAA,MAAAD,UAAAE,EALrB,WAAAC,CAAAC,G,yGAQEC,KAAAC,SAA4BC,EAAgBC,KAI5CH,KAAAI,KAAO,MAMPJ,KAAAK,KAAO,MAcPL,KAAAM,SAAW,IAgCZ,CApBC,mBAAAC,GACEP,KAAKK,KAAOL,KAAKQ,UAAUH,I,CAG7B,MAAAI,GACE,OACEC,EAAA,aAAAC,IAAA,2CACEC,IAAMC,GAAQb,KAAKQ,UAAYK,EAC/BC,OAAQd,KAAKc,OACbT,KAAML,KAAKK,KACXJ,SAAUD,KAAKC,SACfK,SAAUN,KAAKM,SACfS,OAAM,KACNC,UAAS,KACTC,aAAeC,GAAUlB,KAAKmB,WAAWC,KAAKF,EAAMG,SAEpDX,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ICON_NAME_SUFFIX_REGEX","ZIcon","__stencil_proxyCustomElement","HTMLElement","selectPathOrPolygon","iconValue","startsWith","h","d","points","hasColorIndicator","COLOR_INDICATOR_ICONS","includes","this","name","needsTransparentIndicator","_a","indicatorColor","toLowerCase","getTransparentIndicatorIconIfNeeded","transparentIconName","replace","ICONS","renderColorIndicator","class","fill","viewBox","width","height","renderBaseIcon","id","iconid","undefined","render","Host","key"],"sources":["src/components/z-icon/styles.css?tag=z-icon&encapsulation=shadow","src/components/z-icon/index.tsx"],"sourcesContent":[":host {\n /**\n * @prop --z-icon-width: Width of the icon. Default is 1.125rem (18px).\n * @prop --z-icon-height: Height of the icon. Default is 1.125rem (18px).\n * @prop --z-icon-left-margin: Left margin of the icon. Default is 0.\n * @prop --z-icon-right-margin: Right margin of the icon. Default is 0.\n */\n display: inline;\n margin-right: var(--z-icon-right-margin, 0);\n margin-left: var(--z-icon-left-margin, 0);\n line-height: 0;\n vertical-align: middle;\n}\n\n.icon-wrapper {\n position: relative;\n z-index: 0;\n display: inline-block;\n}\n\nsvg:not([width]) {\n width: var(--z-icon-width, 1.125rem);\n}\n\nsvg:not([height]) {\n height: var(--z-icon-height, 1.125rem);\n}\n\n.icon-wrapper svg.color-indicator {\n position: absolute;\n z-index: -1;\n bottom: 0;\n left: 0;\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {COLOR_INDICATOR_ICONS, ICONS} from \"../../constants/iconset\";\n\n// https://regex101.com/r/ZnoZQ5/3\nconst ICON_NAME_SUFFIX_REGEX = /^(.+?)(-transparent)?(-filled|-button)?$/;\n\n/**\n * Component to render an SVG icon from the internal icon set, selected by `name`.\n * This component automatically recognizes icons that have an indicator (e.g. `bg-color`, `font-color`, etc.), that can be filled with a custom color via the `indicatorColor` prop.\n */\n@Component({\n tag: \"z-icon\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZIcon implements ComponentInterface {\n /** Icon name */\n @Prop()\n name: string;\n\n /** Icon height (optional) */\n @Prop()\n height?: number | string;\n\n /** Icon width (optional) */\n @Prop()\n width?: number | string;\n\n /** HTML `id` attribute (optional) */\n @Prop()\n iconid?: string;\n\n /** Name of the CSS color token to use for the icon fill color (e.g. `blue500`). */\n @Prop()\n fill?: string;\n\n /**\n * Color to use to fill the icon's color indicator, if it has one.\n * Can be any valid value for the `fill` svg attribute.\n * If the icon passed through the `name` prop doesn't have a color indicator, this prop has no effect.\n */\n @Prop()\n indicatorColor?: string;\n\n /**\n * Selects either a `<path>` or `<polygon>` element based on the format of the icon data.\n * @param iconValue The SVG path data or polygon points from the ICONS set.\n */\n private selectPathOrPolygon(iconValue: string): SVGPathElement | SVGPolygonElement {\n if (iconValue?.startsWith(\"M\")) {\n return <path d={iconValue}></path>;\n }\n\n return <polygon points={iconValue}></polygon>;\n }\n\n private get hasColorIndicator(): boolean {\n return COLOR_INDICATOR_ICONS.includes(this.name);\n }\n\n private get needsTransparentIndicator(): boolean {\n return [\"transparent\", \"#ffffff00\"].includes(this.indicatorColor?.toLowerCase());\n }\n\n /**\n * For icons with a color indicator, if `indicatorColor` is set to transparent, use a specific icon version without the color indicator.\n * Using the icon without the color indicator prevents visual ambiguity between a transparent indicator and one filled with the background color.\n * @returns The name of the corresponding icon without the indicator, or the original icon name if no transparent version is needed or available.\n */\n private getTransparentIndicatorIconIfNeeded(): string {\n const transparentIconName = this.name?.replace(ICON_NAME_SUFFIX_REGEX, \"$1-transparent$3\");\n if (!this.hasColorIndicator || !this.needsTransparentIndicator || !ICONS[transparentIconName]) {\n return this.name;\n }\n\n return transparentIconName;\n }\n\n /**\n * Render the icon with the color indicator.\n * The indicator is rendered as a separate SVG element behind the main icon, filled with the `indicatorColor`.\n */\n private renderColorIndicator(): SVGElement {\n return (\n <svg\n class=\"color-indicator\"\n fill={this.indicatorColor || \"#FFFFFF00\"}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n aria-hidden=\"true\"\n >\n {this.selectPathOrPolygon(ICONS[\"picker-color\"])}\n </svg>\n );\n }\n\n private renderBaseIcon(): SVGElement {\n return (\n <svg\n id={this.iconid || undefined}\n fill={this.fill ? `var(--${this.fill})` : undefined}\n viewBox=\"0 0 1000 1000\"\n width={this.width}\n height={this.height}\n aria-hidden=\"true\"\n >\n {this.selectPathOrPolygon(ICONS[this.getTransparentIndicatorIconIfNeeded()])}\n </svg>\n );\n }\n\n render(): HTMLZIconElement {\n return (\n <Host aria-hidden=\"true\">\n {this.hasColorIndicator && !this.needsTransparentIndicator ? (\n <div class=\"icon-wrapper\">\n {this.renderColorIndicator()}\n {this.renderBaseIcon()}\n </div>\n ) : (\n this.renderBaseIcon()\n )}\n </Host>\n );\n }\n}\n"],"mappings":"+JAAA,MAAMA,EAAY,IAAM,2YCIxB,MAAMC,EAAyB,2C,MAWlBC,EAAKC,EAAA,MAAAD,UAAAE,E,iFAiCR,mBAAAC,CAAoBC,GAC1B,GAAIA,IAAS,MAATA,SAAS,SAATA,EAAWC,WAAW,KAAM,CAC9B,OAAOC,EAAA,QAAMC,EAAGH,G,CAGlB,OAAOE,EAAA,WAASE,OAAQJ,G,CAG1B,qBAAYK,GACV,OAAOC,EAAsBC,SAASC,KAAKC,K,CAG7C,6BAAYC,G,MACV,MAAO,CAAC,cAAe,aAAaH,UAASI,EAAAH,KAAKI,kBAAc,MAAAD,SAAA,SAAAA,EAAEE,c,CAQ5D,mCAAAC,G,MACN,MAAMC,GAAsBJ,EAAAH,KAAKC,QAAI,MAAAE,SAAA,SAAAA,EAAEK,QAAQrB,EAAwB,oBACvE,IAAKa,KAAKH,oBAAsBG,KAAKE,4BAA8BO,EAAMF,GAAsB,CAC7F,OAAOP,KAAKC,I,CAGd,OAAOM,C,CAOD,oBAAAG,GACN,OACEhB,EAAA,OACEiB,MAAM,kBACNC,KAAMZ,KAAKI,gBAAkB,YAC7BS,QAAQ,gBACRC,MAAOd,KAAKc,MACZC,OAAQf,KAAKe,OAAM,cACP,QAEXf,KAAKT,oBAAoBkB,EAAM,iB,CAK9B,cAAAO,GACN,OACEtB,EAAA,OACEuB,GAAIjB,KAAKkB,QAAUC,UACnBP,KAAMZ,KAAKY,KAAO,SAASZ,KAAKY,QAAUO,UAC1CN,QAAQ,gBACRC,MAAOd,KAAKc,MACZC,OAAQf,KAAKe,OAAM,cACP,QAEXf,KAAKT,oBAAoBkB,EAAMT,KAAKM,wC,CAK3C,MAAAc,GACE,OACE1B,EAAC2B,EAAI,CAAAC,IAAA,yDAAa,QACftB,KAAKH,oBAAsBG,KAAKE,0BAC/BR,EAAA,OAAKiB,MAAM,gBACRX,KAAKU,uBACLV,KAAKgB,kBAGRhB,KAAKgB,iB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZButton","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","disabled","type","ButtonType","BUTTON","variant","ButtonVariant","PRIMARY","iconPosition","IconPosition","LEFT","size","ControlSize","BIG","hasText","componentWillLoad","_a","hostElement","textContent","trim","attributes","id","htmlid","class","htmlAriaLabel","undefined","renderIcon","icon","h","name","render","href","Object","assign","target","role","htmlRole"],"sources":["src/components/z-button/styles.css?tag=z-button&encapsulation=scoped","src/components/z-button/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n --z-icon-right-margin: 0;\n --z-icon-left-margin: 0;\n}\n\n:host([disabled]:not([disabled=\"false\"])) {\n pointer-events: none;\n}\n\n:host .z-button--container {\n display: inline-flex;\n width: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n padding: 0;\n border-width: var(--border-size-medium);\n border-style: solid;\n border-radius: var(--border-radius);\n column-gap: var(--space-unit);\n cursor: pointer;\n fill: currentcolor;\n font-family: var(--font-family-sans);\n font-size: 14px;\n font-weight: var(--font-sb);\n letter-spacing: 0.3px;\n line-height: 1;\n outline: none;\n text-decoration: none;\n text-transform: uppercase;\n white-space: nowrap;\n}\n\n:host .z-button--container:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n}\n\n:host .z-button--container.z-button--has-text {\n min-width: calc(var(--space-unit) * 8);\n padding: 0 calc(var(--space-unit) * 2);\n}\n\n:host([icon-position=\"right\"]) .z-button--container.z-button--has-text {\n flex-direction: row-reverse;\n}\n\n:host([size=\"big\"]) .z-button--container {\n min-width: 44px;\n height: 44px;\n}\n\n:host([size=\"small\"]) .z-button--container {\n min-width: 36px;\n height: 36px;\n}\n\n:host([size=\"x-small\"]) .z-button--container {\n min-width: 32px;\n height: 32px;\n}\n\n:host([variant=\"primary\"]) .z-button--container {\n border-color: var(--color-primary01);\n background-color: var(--color-primary01);\n color: var(--color-text-inverse);\n}\n\n@media (hover: hover) {\n :host([variant=\"primary\"]) .z-button--container:hover {\n border-color: var(--color-hover-primary);\n background-color: var(--color-hover-primary);\n color: var(--color-text-inverse);\n }\n}\n\n:host([variant=\"primary\"]) .z-button--container:active {\n border-color: var(--color-pressed-primary);\n background-color: var(--color-pressed-primary);\n box-shadow: var(--shadow-2);\n color: var(--color-text-inverse);\n}\n\n:host([variant=\"primary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-disabled01);\n color: var(--color-disabled03);\n}\n\n:host([variant=\"secondary\"]) .z-button--container {\n border-color: var(--color-primary01);\n background-color: var(--color-button-secondary);\n color: var(--color-primary01);\n}\n\n@media (hover: hover) {\n :host([variant=\"secondary\"]) .z-button--container:hover {\n border-color: var(--color-hover-primary);\n background-color: var(--color-button-secondary);\n color: var(--color-hover-primary);\n }\n}\n\n:host([variant=\"secondary\"]) .z-button--container:active {\n border-color: var(--color-pressed-primary);\n background-color: var(--color-button-secondary);\n box-shadow: var(--shadow-2);\n color: var(--color-pressed-primary);\n}\n\n:host([variant=\"secondary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-button-secondary);\n color: var(--color-disabled03);\n}\n\n:host([variant=\"tertiary\"]) .z-button--container {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n color: var(--color-primary01);\n}\n\n@media (hover: hover) {\n :host([variant=\"tertiary\"]) .z-button--container:hover {\n border-color: var(--color-primary03);\n background-color: var(--color-primary03);\n color: var(--color-hover-primary);\n }\n}\n\n:host([variant=\"tertiary\"]) .z-button--container:focus:focus-visible {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n color: var(--color-primary01);\n}\n\n:host([variant=\"tertiary\"]) .z-button--container:active {\n border-color: var(--color-primary02);\n background-color: var(--color-primary02);\n box-shadow: var(--shadow-2);\n color: var(--color-primary01);\n}\n\n:host([variant=\"tertiary\"][disabled]:not([disabled=\"false\"])) .z-button--container {\n border-color: var(--color-disabled01);\n background-color: var(--color-disabled01);\n color: var(--color-disabled03);\n}\n","import {Component, ComponentInterface, Element, Prop, h} from \"@stencil/core\";\nimport {JSXBase} from \"@stencil/core/internal\";\nimport {ButtonSize, ButtonType, ButtonVariant, ControlSize, IconPosition} from \"../../beans\";\n\n/**\n * @slot - button label\n */\n@Component({\n tag: \"z-button\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZButton implements ComponentInterface {\n @Element() hostElement: HTMLZButtonElement;\n\n /** `aria-label` for the internal button element. Mostly needed when no text is present, like for an icon-only button. */\n @Prop()\n htmlAriaLabel?: string;\n\n /** `role` attribute for the internal button element. Used for accessibility. */\n @Prop()\n htmlRole?: string;\n\n /** HTML <a> href attribute. If it is set, it renders an HTML <a> tag. */\n @Prop()\n href?: string;\n\n /** HTML a target attribute. */\n @Prop()\n target?: string;\n\n /** Identifier, should be unique. */\n @Prop()\n htmlid?: string;\n\n /** HTML button name attribute. */\n @Prop()\n name?: string;\n\n /** HTML button disabled attribute. */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** HTML button type attribute. */\n @Prop()\n type?: ButtonType = ButtonType.BUTTON;\n\n /** Graphical variant: `primary`, `secondary`, `tertiary`. Defaults to `primary`. */\n @Prop({reflect: true})\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n /** `z-icon` name to use (optional). */\n @Prop()\n icon?: string;\n\n /** the button icon position. Defaults to `left` */\n @Prop({reflect: true})\n iconPosition?: IconPosition = IconPosition.LEFT;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop({reflect: true})\n size?: ButtonSize | ControlSize = ControlSize.BIG;\n\n private hasText = false;\n\n componentWillLoad() {\n this.hasText = !!this.hostElement.textContent?.trim();\n }\n\n private get attributes(): JSXBase.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement> {\n return {\n \"id\": this.htmlid,\n \"class\": {\n \"z-button--container\": true,\n \"z-button--has-text\": this.hasText,\n },\n \"aria-label\": this.htmlAriaLabel?.trim() || undefined,\n };\n }\n\n private renderIcon(): HTMLZIconElement | undefined {\n return this.icon && <z-icon name={this.icon} />;\n }\n\n render(): HTMLAnchorElement | HTMLButtonElement {\n if (this.href) {\n return (\n <a\n {...this.attributes}\n href={this.href}\n target={this.target}\n >\n {this.renderIcon()}\n <slot />\n </a>\n );\n }\n\n return (\n <button\n {...this.attributes}\n name={this.name}\n type={this.type}\n disabled={this.disabled}\n role={this.htmlRole || undefined}\n >\n {this.renderIcon()}\n <slot />\n </button>\n );\n }\n}\n"],"mappings":"mMAAA,MAAMA,EAAY,IAAM,04H,MCaXC,EAAOC,EAAA,MAAAD,UAAAE,EANpB,WAAAC,CAAAC,G,4CAmCEC,KAAAC,SAAqB,MAIrBD,KAAAE,KAAoBC,EAAWC,OAI/BJ,KAAAK,QAA0BC,EAAcC,QAQxCP,KAAAQ,aAA8BC,EAAaC,KAI3CV,KAAAW,KAAkCC,EAAYC,IAEtCb,KAAAc,QAAU,KAgDnB,CA9CC,iBAAAC,G,MACEf,KAAKc,YAAYE,EAAAhB,KAAKiB,YAAYC,eAAW,MAAAF,SAAA,SAAAA,EAAEG,O,CAGjD,cAAYC,G,MACV,MAAO,CACLC,GAAMrB,KAAKsB,OACXC,MAAS,CACP,sBAAuB,KACvB,qBAAsBvB,KAAKc,SAE7B,eAAcE,EAAAhB,KAAKwB,iBAAa,MAAAR,SAAA,SAAAA,EAAEG,SAAUM,U,CAIxC,UAAAC,GACN,OAAO1B,KAAK2B,MAAQC,EAAA,UAAQC,KAAM7B,KAAK2B,M,CAGzC,MAAAG,GACE,GAAI9B,KAAK+B,KAAM,CACb,OACEH,EAAA,IAAAI,OAAAC,OAAA,GACMjC,KAAKoB,WAAU,CACnBW,KAAM/B,KAAK+B,KACXG,OAAQlC,KAAKkC,SAEZlC,KAAK0B,aACNE,EAAA,a,CAKN,OACEA,EAAA,SAAAI,OAAAC,OAAA,GACMjC,KAAKoB,WAAU,CACnBS,KAAM7B,KAAK6B,KACX3B,KAAMF,KAAKE,KACXD,SAAUD,KAAKC,SACfkC,KAAMnC,KAAKoC,UAAYX,YAEtBzB,KAAK0B,aACNE,EAAA,a","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZDivider","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","DividerSize","SMALL","color","orientation","DividerOrientation","HORIZONTAL","render","h","Host","key","class","style","backgroundColor"],"sources":["src/components/z-divider/styles.css?tag=z-divider&encapsulation=scoped","src/components/z-divider/index.tsx"],"sourcesContent":[":host {\n display: block;\n padding: 0;\n margin: 0;\n}\n\n:host.divider-horizontal {\n width: 100%;\n}\n\n:host.divider-vertical {\n height: 100%;\n}\n\n:host.divider-small.divider-horizontal {\n height: var(--border-size-small);\n}\n\n:host.divider-medium.divider-horizontal {\n height: var(--border-size-medium);\n}\n\n:host.divider-large.divider-horizontal {\n height: var(--border-size-large);\n}\n\n:host.divider-small.divider-vertical {\n width: var(--border-size-small);\n}\n\n:host.divider-medium.divider-vertical {\n width: var(--border-size-medium);\n}\n\n:host.divider-large.divider-vertical {\n width: var(--border-size-large);\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {DividerOrientation, DividerSize} from \"../../beans\";\n@Component({\n tag: \"z-divider\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZDivider implements ComponentInterface {\n /** [optional] Divider size */\n @Prop()\n size?: DividerSize = DividerSize.SMALL;\n\n /** [optional] Divider color */\n @Prop()\n color?: string = \"gray200\";\n\n /** [optional] Divider orintation */\n @Prop()\n orientation?: DividerOrientation = DividerOrientation.HORIZONTAL;\n\n render(): HTMLZDividerElement {\n return (\n <Host\n class={`divider-${this.size} divider-${this.orientation}`}\n style={{backgroundColor: `var(--${this.color})`}}\n />\n );\n }\n}\n"],"mappings":"8JAAA,MAAMA,EAAY,IAAM,gnB,MCQXC,EAAQC,EAAA,MAAAD,UAAAE,EANrB,WAAAC,CAAAC,G,4CASEC,KAAAC,KAAqBC,EAAYC,MAIjCH,KAAAI,MAAiB,UAIjBJ,KAAAK,YAAmCC,EAAmBC,UAUvD,CARC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,WAAWZ,KAAKC,gBAAgBD,KAAKK,cAC5CQ,MAAO,CAACC,gBAAiB,SAASd,KAAKI,W","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesGeneralCss","stylesTextCss","stylesTextareaCss","stylesCheckboxRadioCss","ZInput","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","htmlid","randomId","type","InputType","TEXT","disabled","readonly","required","checked","indeterminate","message","labelPosition","LabelPosition","RIGHT","hasclearicon","size","ControlSize","BIG","isTyping","passwordHidden","typingtimeout","inputCheckListener","e","data","detail","RADIO","name","id","watchIndeterminate","syncCheckboxIndeterminate","CHECKBOX","inputRef","isChecked","console","warn","emitInputChange","value","emitStartTyping","validity","TEXTAREA","getValidity","inputChange","emit","clearTimeout","timer","setTimeout","emitStopTyping","startTyping","stopTyping","emitInputCheck","inputCheck","emitInputFocus","inputFocus","emitInputBlur","inputBlur","input","hostElement","querySelector","getTextAttributes","placeholder","title","htmltitle","minlength","maxlength","class","status","autocomplete","onInput","target","getNumberAttributes","NUMBER","min","max","step","getPatternAttribute","PASSWORD","TEL","SEARCH","URL","EMAIL","pattern","inputHasMessage","boolean","getAriaAttributes","role","htmlRole","undefined","htmlAriaDescribedby","htmlAriaLabelledby","getTextAriaAttributes","Object","assign","htmlAriaExpanded","htmlAriaControls","htmlAriaAutocomplete","htmlAriaActivedescendant","InputStatus","ERROR","getFocusBlurAttributes","onFocus","onBlur","renderInputText","attr","htmlAriaLabel","icon","h","renderLabel","ref","el","renderIcons","renderMessage","label","htmlFor","renderResetIcon","renderIcon","renderShowHidePassword","hidden","onClick","focus","renderTextarea","attributes","ariaAttributes","Fragment","handleCheck","ev","getCheckboxAriaChecked","renderCheckbox","ariaRequired","onChange","bind","after","before","LEFT","innerHTML","renderRadio","render"],"sources":["src/components/z-input/styles-general.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-text.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-textarea.css?tag=z-input&encapsulation=scoped","src/components/z-input/styles-checkbox-radio.css?tag=z-input&encapsulation=scoped","src/components/z-input/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n}\n\n:host * {\n box-sizing: border-box;\n}\n\n/* GENERAL */\ninput::-ms-clear,\ninput::-ms-reveal {\n display: none;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput,\ntextarea {\n background: var(--color-form-background);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n outline: none;\n}\n\ninput,\n.textarea-wrapper {\n border: var(--border-size-small) solid var(--color-form-surface04);\n border-radius: var(--border-radius-small);\n color: var(--color-form-default-text);\n}\n\n:host([size=\"small\"]) input,\n:host([size=\"small\"]) textarea,\n:host([size=\"x-small\"]) input,\n:host([size=\"x-small\"]) textarea {\n font-size: var(--font-size-2);\n}\n\n:host.cursor-select input {\n cursor: pointer;\n}\n\n/* HOVER */\ninput:not([readonly]):hover,\n.textarea-wrapper:not(.readonly):hover {\n outline: var(--border-size-medium) solid var(--color-surface04);\n outline-offset: -2px;\n}\n\n/* FOCUS */\n/* stylelint-disable-next-line selector-not-notation */\n:host(:not(.active-select):not(.cursor-select)) input:focus:focus-visible,\n:host:not([readonly=\"true\"]) .textarea-wrapper:focus-within {\n border-color: var(--color-form-active-primary);\n box-shadow: var(--shadow-focus-primary);\n color: var(--color-form-active-primary);\n}\n\n:host input:focus:focus-visible:hover,\n.textarea-wrapper:not(.readonly):focus-within:hover {\n outline-color: var(--color-form-active-primary);\n}\n\n:host input:focus:focus-visible + .icons-wrapper {\n fill: var(--color-form-active-primary);\n}\n\n:host.active-select input {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n}\n\n:host.cursor-select input:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n caret-color: transparent;\n}\n\n:host input[readonly]:focus:focus-visible {\n border-color: var(--color-form-surface03);\n box-shadow: none;\n}\n\n/* STATUSES (success, warning, error) */\n.input-success {\n border-color: var(--color-form-success01);\n background: var(--color-form-inverse-success);\n}\n\n.input-success:focus:focus-visible + .icons-wrapper,\n.input-success + .icons-wrapper {\n fill: var(--color-form-success01);\n}\n\n.input-error {\n border-color: var(--color-form-hover-error);\n background: var(--color-form-inverse-error);\n}\n\n.input-error:focus:focus-visible + .icons-wrapper,\n.input-error + .icons-wrapper {\n fill: var(--color-form-hover-error);\n}\n\n.input-warning {\n border-color: var(--color-form-hover-warning);\n background: var(--color-form-inverse-warning);\n}\n\n.input-warning:focus:focus-visible + .icons-wrapper,\n.input-warning + .icons-wrapper {\n fill: var(--color-form-hover-warning);\n}\n\n:is(.input-success, .input-error, .input-warning):focus:focus-visible {\n color: var(--color-form-default-text);\n}\n\n/* READONLY */\n:host:not(.active-select) input[readonly],\n.textarea-wrapper.readonly {\n border-color: var(--color-form-surface03);\n fill: var(--color-form-disabled01-icon);\n pointer-events: none;\n}\n\n/* DISABLED */\n:host([disabled]:not([disabled=\"false\"])) input,\n:host([disabled]:not([disabled=\"false\"])) .textarea-wrapper,\n:host([disabled]:not([disabled=\"false\"])) z-icon {\n border-color: var(--color-form-disabled03);\n box-shadow: none;\n color: var(--color-form-disabled-text);\n fill: var(--color-form-disabled01-icon);\n pointer-events: none;\n}\n\n:host([disabled]:not([disabled=\"false\"])) input:hover {\n border-width: var(--border-size-small);\n}\n\n/* PLACEHOLDER */\ninput::placeholder,\ntextarea::placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n::-webkit-textarea-placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n:-ms-textarea-placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n::placeholder {\n color: var(--color-form-placeholder-text);\n}\n\n:host([disabled]:not([disabled=\"false\"])) label.z-label {\n color: var(--color-disabled03);\n}\n",".text-wrapper > div {\n position: relative;\n z-index: 1;\n fill: var(--color-form-default-icon);\n}\n\n.text-wrapper > div > input {\n width: 100%;\n height: calc(var(--space-unit) * 5.5);\n box-sizing: border-box;\n padding: 0 calc(var(--space-unit) * 1.5);\n margin: 0;\n}\n\n:host([size=\"small\"]) .text-wrapper > div > input {\n height: calc(var(--space-unit) * 4.5);\n}\n\n:host([size=\"x-small\"]) .text-wrapper > div > input {\n height: calc(var(--space-unit) * 4);\n}\n\n.text-wrapper > div > input.has-icon,\n.text-wrapper > div > input.has-clear-icon {\n padding-right: calc(var(--space-unit) * 5.25);\n}\n\n.text-wrapper > div > input.has-icon.has-clear-icon {\n padding-right: calc(var(--space-unit) * 8);\n}\n\n.text-wrapper .icons-wrapper {\n position: absolute;\n z-index: 2;\n top: 50%;\n right: calc(var(--space-unit) * 1.5);\n display: flex;\n pointer-events: none;\n transform: translateY(-50%);\n}\n\n.text-wrapper .icons-wrapper > button.input-icon {\n display: flex;\n padding: 0;\n border: 0;\n background: none;\n color: inherit;\n font: inherit;\n pointer-events: initial;\n}\n\n.text-wrapper .icons-wrapper > .input-icon + .input-icon {\n margin-left: calc(var(--space-unit) * 0.5);\n}\n\n.text-wrapper .icons-wrapper > button.input-icon.hidden {\n display: none;\n}\n\n.text-wrapper .icons-wrapper > button.reset-icon,\n.text-wrapper .icons-wrapper > button.toggle-password-icon {\n display: flex;\n min-width: 24px;\n min-height: 24px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n\n.text-wrapper .icons-wrapper > .input-icon {\n --z-icon-width: 18px;\n --z-icon-height: 18px;\n\n display: block;\n}\n\n.text-wrapper .icons-wrapper > .input-icon.small,\n.text-wrapper .icons-wrapper > .input-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n.text-wrapper .icons-wrapper > button.input-icon:focus {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n/* stylelint-disable property-no-vendor-prefix */\n.text-wrapper > div > input:-webkit-autofill {\n -webkit-box-shadow: 0 0 0 1000px #fff inset;\n -webkit-text-fill-color: currentcolor;\n}\n",".textarea-wrapper {\n width: 100%;\n height: 100%;\n padding: calc(var(--space-unit) * 1.5);\n}\n\n.textarea-wrapper:not(.input-error, .input-success, .input-warning) {\n background-color: var(--color-form-background);\n}\n\ntextarea {\n width: 100%;\n min-height: 132px;\n padding: 0;\n border: none;\n margin: 0;\n color: currentcolor;\n resize: none;\n}\n",".radio-wrapper,\n.checkbox-wrapper {\n position: relative;\n display: inline-flex;\n flex-direction: row;\n align-items: center;\n color: var(--color-default-text);\n fill: var(--color-primary01-icon);\n font-family: var(--font-family-sans);\n}\n\n.radio-wrapper:hover,\n.checkbox-wrapper:hover {\n color: var(--color-hover-primary);\n fill: var(--color-hover-primary-icon);\n}\n\n.radio-wrapper > input,\n.checkbox-wrapper > input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n pointer-events: none;\n}\n\n.radio-wrapper .radio-label,\n.checkbox-wrapper .checkbox-label {\n display: inline-flex;\n min-height: 24px;\n align-items: center;\n padding: 3px 0;\n margin: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: 1;\n text-transform: inherit;\n}\n\n.radio-wrapper input:not(:disabled) + .radio-label,\n.checkbox-wrapper input:not(:disabled) + .checkbox-label {\n cursor: pointer;\n}\n\n.radio-wrapper .radio-label z-icon,\n.checkbox-wrapper .checkbox-label z-icon {\n cursor: pointer;\n fill: inherit;\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label z-icon,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label {\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) .radio-wrapper .radio-label z-icon,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"]) .radio-wrapper .radio-label,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label {\n font-size: var(--font-size-1);\n}\n\n.radio-wrapper .radio-label.after,\n.checkbox-wrapper .checkbox-label.after {\n flex-direction: row;\n}\n\n.radio-wrapper .radio-label.before,\n.checkbox-wrapper .checkbox-label.before {\n flex-direction: row-reverse;\n}\n\n.radio-wrapper .radio-label.after > span,\n.checkbox-wrapper .checkbox-label.after > span {\n margin-left: var(--space-unit);\n}\n\n.radio-wrapper .radio-label.before > span,\n.checkbox-wrapper .checkbox-label.before > span {\n margin-right: var(--space-unit);\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label.after > span,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label.after > span,\n:host([size=\"x-small\"]) .radio-wrapper .radio-label.after > span,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label.after > span {\n margin-left: calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"small\"]) .radio-wrapper .radio-label.before > span,\n:host([size=\"small\"]) .checkbox-wrapper .checkbox-label.before > span,\n:host([size=\"x-small\"]) .radio-wrapper .radio-label.before > span,\n:host([size=\"x-small\"]) .checkbox-wrapper .checkbox-label.before > span {\n margin-right: calc(var(--space-unit) * 0.5);\n}\n\n/* focus */\n.radio-wrapper > input:focus:focus-visible + .radio-label > z-icon {\n border-radius: 50%;\n}\n\n.checkbox-wrapper > input:focus:focus-visible + .checkbox-label > z-icon {\n border-radius: var(--border-radius-small);\n}\n\n.radio-wrapper > input:focus:focus-visible + .radio-label > z-icon,\n.checkbox-wrapper > input:focus:focus-visible + .checkbox-label > z-icon {\n box-shadow: var(--shadow-focus-primary);\n}\n\n/* disabled */\n.radio-wrapper > input:disabled + .radio-label,\n.checkbox-wrapper > input:disabled + .checkbox-label {\n color: var(--color-disabled03);\n}\n\n.radio-wrapper > input:disabled + .radio-label > z-icon,\n.checkbox-wrapper > input:disabled + .checkbox-label > z-icon {\n cursor: default;\n fill: var(--color-disabled03-icon);\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {Fragment, JSXBase} from \"@stencil/core/internal\";\nimport {ControlSize, InputStatus, InputType, LabelPosition} from \"../../beans\";\nimport {boolean, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-input\",\n styleUrls: [\"styles-general.css\", \"styles-text.css\", \"styles-textarea.css\", \"styles-checkbox-radio.css\"],\n shadow: false,\n scoped: true,\n})\nexport class ZInput implements ComponentInterface {\n @Element() hostElement: HTMLZInputElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** Input type */\n @Prop()\n type: InputType = InputType.TEXT;\n\n /** the input `name` attribute */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input `aria-label` */\n @Prop()\n htmlAriaLabel?: string;\n\n /** the input `aria-expanded`: available for text, password, number, email */\n @Prop()\n htmlAriaExpanded?: string;\n\n /** the input `aria-controls` (optional): available for text, password, number, email */\n @Prop()\n htmlAriaControls?: string;\n\n /** the input `aria-autocomplete` (optional): available for text, password, number, email */\n @Prop()\n htmlAriaAutocomplete?: string;\n\n /** the input `aria-activedescendant` (optional): available for text, password, number, email */\n @Prop()\n htmlAriaActivedescendant?: string;\n\n /** the input `aria-describedby` (optional) */\n @Prop()\n htmlAriaDescribedby?: string;\n\n /** the input `aria-labelledby` (optional) */\n @Prop()\n htmlAriaLabelledby?: string;\n\n /** the input value */\n @Prop({mutable: true})\n value?: string;\n\n /** the input is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input is required (optional): available for text, password, number, email, textarea, checkbox */\n @Prop()\n required?: boolean = false;\n\n /** checked: available for checkbox, radio */\n @Prop({mutable: true})\n checked?: boolean = false;\n\n /** indeterminate: available for checkbox */\n @Prop({mutable: true})\n indeterminate?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional): available for text, password, number, email, textarea */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional): available for text, password, number, email, textarea - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input label position: available for checkbox, radio */\n @Prop()\n labelPosition?: LabelPosition = LabelPosition.RIGHT;\n\n /** the input has autocomplete option (optional): available for text, password, number, email */\n @Prop()\n autocomplete?: string;\n\n /** the input `role` */\n @Prop()\n htmlRole?: string;\n\n /** render clear icon when typing (optional): available for text */\n @Prop()\n hasclearicon?: boolean = true;\n\n /** render icon (optional): available for text */\n @Prop()\n icon?: string;\n\n /** min number value (optional): available for number */\n @Prop()\n min?: number;\n\n /** Min length value (optional): available for text */\n @Prop()\n minlength?: number;\n\n /** max number value (optional): available for number */\n @Prop()\n max?: number;\n\n /** Max length value (optional): available for text */\n @Prop()\n maxlength?: number;\n\n /** step number value (optional): available for number */\n @Prop()\n step?: number;\n\n /** pattern value (optional): available for tel, text, search, url, email, password*/\n @Prop()\n pattern?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop({reflect: true})\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isTyping = false;\n\n @State()\n passwordHidden = true;\n\n private timer;\n\n private typingtimeout = 300;\n\n private inputRef: HTMLInputElement;\n\n @Listen(\"inputCheck\", {target: \"document\"})\n inputCheckListener(e: CustomEvent): void {\n const data = e.detail;\n switch (this.type) {\n case InputType.RADIO:\n if (data.type === InputType.RADIO && data.name === this.name && data.id !== this.htmlid) {\n this.checked = false;\n }\n break;\n }\n }\n\n @Watch(\"indeterminate\")\n watchIndeterminate(): void {\n this.syncCheckboxIndeterminate();\n }\n\n private syncCheckboxIndeterminate(): void {\n if (this.type !== InputType.CHECKBOX || !this.inputRef) {\n return;\n }\n\n this.inputRef.indeterminate = !!this.indeterminate;\n }\n\n /** get checked status */\n @Method()\n async isChecked(): Promise<boolean> {\n switch (this.type) {\n case InputType.CHECKBOX:\n case InputType.RADIO:\n return this.checked;\n default:\n console.warn(\"`isChecked` method is only available for type `checkbox` and `radio`\");\n\n return false;\n }\n }\n\n /** Emitted on input value change, returns value, validity */\n @Event()\n inputChange: EventEmitter;\n\n private emitInputChange(value: string): void {\n if (!this.isTyping) {\n this.emitStartTyping();\n }\n\n let validity: ValidityState;\n if (this.type === InputType.TEXTAREA) {\n validity = this.getValidity(\"textarea\");\n } else {\n validity = this.getValidity(\"input\");\n }\n this.value = value;\n this.inputChange.emit({value, validity});\n\n clearTimeout(this.timer);\n this.timer = setTimeout(() => {\n this.emitStopTyping(this.value, validity);\n }, this.typingtimeout);\n }\n\n /** Emitted when user starts typing */\n @Event()\n startTyping: EventEmitter;\n\n private emitStartTyping(): void {\n this.isTyping = true;\n this.startTyping.emit();\n }\n\n /** Emitted when user stops typing, returns value, validity */\n @Event()\n stopTyping: EventEmitter;\n\n private emitStopTyping(value: string, validity: ValidityState): void {\n this.isTyping = false;\n this.stopTyping.emit({\n value: value,\n validity: validity,\n });\n }\n\n /** Emitted on checkbox check/uncheck, returns id, checked, type, name, value, validity */\n @Event()\n inputCheck: EventEmitter;\n\n private emitInputCheck(checked: boolean): void {\n this.inputCheck.emit({\n id: this.htmlid,\n checked: checked,\n type: this.type,\n name: this.name,\n value: this.value,\n validity: this.getValidity(\"input\"),\n });\n }\n\n /** Emitted on input focus */\n @Event()\n inputFocus: EventEmitter;\n\n private emitInputFocus(): void {\n this.inputFocus.emit({id: this.htmlid});\n }\n\n /** Emitted on input blur */\n @Event()\n inputBlur: EventEmitter;\n\n private emitInputBlur(): void {\n this.inputBlur.emit({id: this.htmlid});\n }\n\n private getValidity(type: string): ValidityState {\n const input = this.hostElement.querySelector(type) as HTMLInputElement;\n\n return input.validity;\n }\n\n /* START text/password/email/number */\n\n private getTextAttributes(): JSXBase.InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement> {\n return {\n id: this.htmlid,\n name: this.name,\n placeholder: this.placeholder,\n value: this.value,\n disabled: this.disabled,\n readonly: this.readonly,\n required: this.required,\n title: this.htmltitle,\n minlength: this.minlength,\n maxlength: this.maxlength,\n class: {\n [`input-${this.status}`]: !!this.status,\n },\n autocomplete: this.autocomplete,\n onInput: (e: InputEvent) => this.emitInputChange((e.target as HTMLInputElement).value),\n };\n }\n\n private getNumberAttributes(type: InputType): JSXBase.InputHTMLAttributes<HTMLInputElement> {\n if (type != InputType.NUMBER) {\n return;\n }\n\n return {\n min: this.min,\n max: this.max,\n step: this.step,\n };\n }\n\n private getPatternAttribute(type: InputType): JSXBase.InputHTMLAttributes<HTMLInputElement> {\n if (\n type != InputType.PASSWORD &&\n type != InputType.TEXT &&\n type != InputType.TEL &&\n type != InputType.SEARCH &&\n type != InputType.URL &&\n type != InputType.EMAIL\n ) {\n return;\n }\n\n return {\n pattern: this.pattern,\n };\n }\n\n private inputHasMessage(): boolean {\n if (typeof boolean(this.message) === \"boolean\") {\n return false;\n }\n\n return true;\n }\n\n private getAriaAttributes(): Record<string, string | undefined> {\n return {\n \"role\": this.htmlRole || undefined,\n \"aria-describedby\": this.htmlAriaDescribedby || undefined,\n \"aria-labelledby\": this.htmlAriaLabelledby || undefined,\n };\n }\n\n private getTextAriaAttributes(): Record<string, string | undefined> {\n return {\n ...this.getAriaAttributes(),\n \"aria-expanded\": this.htmlAriaExpanded || undefined,\n \"aria-controls\": this.htmlAriaControls || undefined,\n \"aria-autocomplete\": this.htmlAriaAutocomplete || undefined,\n \"aria-activedescendant\": this.htmlAriaActivedescendant || undefined,\n \"aria-describedby\":\n this.htmlAriaDescribedby || this.inputHasMessage()\n ? this.htmlAriaDescribedby || `${this.htmlid}-message`\n : undefined,\n \"aria-invalid\": this.status === InputStatus.ERROR ? \"true\" : undefined,\n \"aria-required\": this.required ? \"true\" : undefined,\n };\n }\n\n private getFocusBlurAttributes(): JSXBase.InputHTMLAttributes<HTMLInputElement | HTMLTextAreaElement> {\n return {\n onFocus: () => this.emitInputFocus(),\n onBlur: () => this.emitInputBlur(),\n };\n }\n\n private renderInputText(type: InputType = InputType.TEXT): HTMLDivElement {\n const attr = {\n ...this.getTextAttributes(),\n ...this.getNumberAttributes(type),\n ...this.getPatternAttribute(type),\n ...this.getTextAriaAttributes(),\n ...this.getFocusBlurAttributes(),\n \"aria-label\": this.htmlAriaLabel || undefined,\n };\n\n attr.class = {\n ...(attr.class as {[className: string]: boolean}),\n \"has-icon\": !!this.icon || type === InputType.PASSWORD,\n \"has-clear-icon\": this.hasclearicon && type != InputType.NUMBER,\n };\n\n return (\n <div class=\"text-wrapper\">\n {this.renderLabel()}\n <div>\n <input\n {...attr}\n type={type === InputType.PASSWORD && !this.passwordHidden ? InputType.TEXT : type}\n ref={(el) => (this.inputRef = el)}\n />\n {this.renderIcons()}\n </div>\n {this.renderMessage()}\n </div>\n );\n }\n\n private renderLabel(): HTMLLabelElement {\n if (!this.label) {\n return;\n }\n\n return (\n <label\n class=\"z-label body-5-sb\"\n id={`${this.htmlid}_label`}\n htmlFor={this.htmlid}\n >\n {this.label}\n </label>\n );\n }\n\n private renderIcons(): HTMLSpanElement {\n return (\n <span class=\"icons-wrapper\">\n {this.renderResetIcon()}\n {this.renderIcon()}\n </span>\n );\n }\n\n private renderIcon(): HTMLButtonElement {\n if (this.type === InputType.PASSWORD) {\n return this.renderShowHidePassword();\n }\n\n if (!this.icon) {\n return;\n }\n\n return (\n <z-icon\n name={this.icon}\n class={{[this.size]: true, \"input-icon\": true}}\n />\n );\n }\n\n private renderResetIcon(): HTMLButtonElement {\n let hidden = false;\n if (!this.hasclearicon || !this.value || this.disabled || this.readonly || this.type == InputType.NUMBER) {\n hidden = true;\n }\n\n return (\n <button\n type=\"button\"\n class={{\"reset-icon\": true, \"input-icon\": true, hidden}}\n aria-label=\"cancella il contenuto dell'input\"\n onClick={() => {\n this.inputRef.value = \"\";\n this.emitInputChange(\"\");\n this.inputRef.focus();\n }}\n >\n <z-icon\n name=\"multiply\"\n class={this.size}\n />\n </button>\n );\n }\n\n private renderShowHidePassword(): HTMLButtonElement {\n return (\n <button\n type=\"button\"\n class=\"input-icon toggle-password-icon\"\n disabled={this.disabled}\n aria-label=\"mostra password\"\n aria-pressed={!this.passwordHidden ? \"true\" : \"false\"}\n onClick={() => (this.passwordHidden = !this.passwordHidden)}\n >\n <z-icon\n name={this.passwordHidden ? \"view-filled\" : \"view-off-filled\"}\n class={this.size}\n />\n </button>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n html-id={`${this.htmlid}-message`}\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n /* END text/password/email/number */\n\n /* START textarea */\n\n private renderTextarea(): HTMLDivElement {\n const attributes = this.getTextAttributes();\n const ariaAttributes = this.getTextAriaAttributes();\n\n return (\n <Fragment>\n {this.renderLabel()}\n <div\n class={{\n ...(attributes.class as {[className: string]: boolean}),\n \"textarea-wrapper\": true,\n \"readonly\": !!attributes.readonly,\n }}\n >\n <textarea\n {...attributes}\n {...ariaAttributes}\n class={{\n ...(attributes.class as {[className: string]: boolean}),\n \"z-scrollbar\": true,\n }}\n aria-label={this.htmlAriaLabel || undefined}\n ></textarea>\n </div>\n {this.renderMessage()}\n </Fragment>\n );\n }\n\n /* END textarea */\n\n private handleCheck(ev: Event): void {\n if (this.type === InputType.CHECKBOX && this.indeterminate) {\n this.indeterminate = false;\n }\n\n this.checked = (ev.target as HTMLInputElement).checked;\n this.emitInputCheck(this.checked);\n }\n\n private getCheckboxAriaChecked(): \"true\" | \"false\" | \"mixed\" {\n if (this.indeterminate) {\n return \"mixed\";\n }\n\n return this.checked ? \"true\" : \"false\";\n }\n\n /* START checkbox */\n private renderCheckbox(): HTMLDivElement {\n const ariaRequired = this.required ? {\"aria-required\": \"true\"} : {};\n\n return (\n <div class=\"checkbox-wrapper\">\n <input\n id={this.htmlid}\n type=\"checkbox\"\n name={this.name}\n checked={this.indeterminate ? false : this.checked}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n onChange={this.handleCheck.bind(this)}\n value={this.value}\n aria-checked={this.getCheckboxAriaChecked()}\n {...ariaRequired}\n {...this.getAriaAttributes()}\n {...this.getFocusBlurAttributes()}\n ref={(el) => {\n this.inputRef = el;\n this.syncCheckboxIndeterminate();\n }}\n />\n\n <label\n htmlFor={this.htmlid}\n class={{\n \"checkbox-label\": true,\n \"after\": this.labelPosition === LabelPosition.RIGHT,\n \"before\": this.labelPosition === LabelPosition.LEFT,\n }}\n >\n <z-icon\n name={this.indeterminate ? \"indeterminated-checkbox\" : this.checked ? \"checkbox-checked\" : \"checkbox\"}\n class={this.size}\n />\n {this.label && <span innerHTML={this.label}></span>}\n </label>\n </div>\n );\n }\n\n /* END checkbox */\n\n /* START radio */\n private renderRadio(): HTMLDivElement {\n const ariaRequired = this.required ? {\"aria-required\": \"true\"} : {};\n\n return (\n <div class=\"radio-wrapper\">\n <input\n id={this.htmlid}\n type=\"radio\"\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n onChange={this.handleCheck.bind(this)}\n value={this.value}\n {...this.getAriaAttributes()}\n {...this.getFocusBlurAttributes()}\n {...ariaRequired}\n />\n\n <label\n htmlFor={this.htmlid}\n class={{\n \"radio-label\": true,\n \"after\": this.labelPosition === LabelPosition.RIGHT,\n \"before\": this.labelPosition === LabelPosition.LEFT,\n }}\n >\n <z-icon\n name={this.checked ? \"radio-button-checked\" : \"radio-button\"}\n class={this.size}\n />\n {this.label && <span innerHTML={this.label} />}\n </label>\n </div>\n );\n }\n /* END radio */\n\n render(): HTMLInputElement | HTMLDivElement {\n switch (this.type) {\n case InputType.TEXTAREA:\n return this.renderTextarea();\n case InputType.CHECKBOX:\n return this.renderCheckbox();\n case InputType.RADIO:\n return this.renderRadio();\n case InputType.TEXT:\n default:\n return this.renderInputText(this.type);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZInputMessage","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","htmlId","randomId","htmlRole","statusIcons","success","error","warning","render","h","Host","key","role","message","status","undefined","id","name","innerHTML"],"sources":["src/components/z-input-message/styles.css?tag=z-input-message&encapsulation=shadow","src/components/z-input-message/index.tsx"],"sourcesContent":[":host {\n display: flex;\n min-height: calc(var(--space-unit) * 2.5);\n align-items: start;\n margin-top: var(--space-unit);\n color: var(--color-default-text);\n fill: currentcolor;\n font-family: var(--font-family-sans);\n font-size: var(--font-size-2);\n letter-spacing: 0.16px;\n}\n\n:host(.small),\n:host(.x-small) {\n margin-top: calc(var(--space-unit) * 0.5);\n font-size: var(--font-size-1);\n}\n\n:host([status=\"success\"]) {\n color: var(--color-hover-success);\n}\n\n:host([status=\"error\"]) {\n color: var(--color-hover-error);\n}\n\n:host([status=\"warning\"]) {\n color: var(--color-hover-warning);\n}\n\n:host(:focus) {\n outline: none;\n}\n\n:host > z-icon {\n --z-icon-width: calc(var(--space-unit) * 2);\n --z-icon-height: calc(var(--space-unit) * 2);\n --z-icon-right-margin: var(--space-unit);\n\n margin-top: calc(var(--space-unit) * 0.25);\n}\n\n:host(.small) > z-icon,\n:host(.x-small) > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n --z-icon-right-margin: calc(var(--space-unit) * 0.5);\n}\n\n:host([disabled]) {\n color: var(--color-disabled03);\n fill: var(--color-disabled03);\n}\n","import {Component, ComponentInterface, Host, Prop, h} from \"@stencil/core\";\nimport {InputStatus} from \"../../beans\";\nimport {randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-input-message\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZInputMessage implements ComponentInterface {\n /** input helper message */\n @Prop()\n message: string;\n\n /** the id of the message element (optional) */\n @Prop()\n htmlId? = `id-${randomId()}`;\n\n /** the role to set when both the message and the status are populated (optional) */\n @Prop()\n htmlRole: null | string = \"alert\";\n\n /** input status (optional) */\n @Prop({reflect: true})\n status?: InputStatus;\n\n /** input disabled status (optional) */\n @Prop({reflect: true})\n disabled?: boolean;\n\n private statusIcons = {\n success: \"checkmark-circle\",\n error: \"multiply-circled\",\n warning: \"exclamation-circle\",\n };\n\n render(): HTMLZInputMessageElement {\n return (\n <Host\n role={this.htmlRole && this.message && this.status ? this.htmlRole : undefined}\n id={this.htmlId}\n >\n {this.statusIcons[this.status] && this.message && <z-icon name={this.statusIcons[this.status]}></z-icon>}\n <span innerHTML={this.message} />\n </Host>\n );\n }\n}\n"],"mappings":"sLAAA,MAAMA,EAAY,IAAM,+6B,MCSXC,EAAaC,EAAA,MAAAD,UAAAE,EAL1B,WAAAC,CAAAC,G,kEAYEC,KAAAC,OAAU,MAAMC,MAIhBF,KAAAG,SAA0B,QAUlBH,KAAAI,YAAc,CACpBC,QAAS,mBACTC,MAAO,mBACPC,QAAS,qBAcZ,CAXC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAMZ,KAAKG,UAAYH,KAAKa,SAAWb,KAAKc,OAASd,KAAKG,SAAWY,UACrEC,GAAIhB,KAAKC,QAERD,KAAKI,YAAYJ,KAAKc,SAAWd,KAAKa,SAAWJ,EAAA,UAAAE,IAAA,2CAAQM,KAAMjB,KAAKI,YAAYJ,KAAKc,UACtFL,EAAA,QAAAE,IAAA,2CAAMO,UAAWlB,KAAKa,U","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZList","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","size","ListSize","MEDIUM","listType","ListType","NONE","htmlRole","onRoleChange","newValue","setChildrenProps","Array","from","host","children","filter","child","tagName","toLowerCase","forEach","i","listElementPosition","render","h","Host","key","role"],"sources":["src/components/list/z-list/styles.css?tag=z-list&encapsulation=shadow","src/components/list/z-list/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n","import {Component, ComponentInterface, Element, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ListSize, ListType} from \"../../../beans\";\n\n@Component({\n tag: \"z-list\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZList implements ComponentInterface {\n @Element() host: HTMLZListElement;\n\n /**\n * [optional] Size of the list elements.\n */\n @Prop({reflect: true})\n size?: ListSize = ListSize.MEDIUM;\n\n /**\n * [optional] Type of the list marker for each element.\n */\n @Prop({reflect: true})\n listType?: ListType = ListType.NONE;\n\n @State()\n htmlRole = \"list\";\n\n /** Watch for changes in the role native attribute */\n @Watch(\"role\", {immediate: true})\n onRoleChange(newValue: string): void {\n this.htmlRole = newValue;\n }\n\n @Watch(\"size\", {immediate: true})\n @Watch(\"listType\", {immediate: true})\n setChildrenProps(): void {\n Array.from(this.host.children)\n .filter((child): child is HTMLZListElementElement => child.tagName.toLowerCase() === \"z-list-element\")\n .forEach((child, i) => {\n child.size = this.size;\n child.listType = this.listType;\n child.listElementPosition = `${i + 1}`;\n });\n }\n\n render(): HTMLZListElement {\n return (\n <Host role={this.htmlRole}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"8JAAA,MAAMA,EAAY,IAAM,2G,MCQXC,EAAKC,EAAA,MAAAD,UAAAE,EALlB,WAAAC,CAAAC,G,kEAYEC,KAAAC,KAAkBC,EAASC,OAM3BH,KAAAI,SAAsBC,EAASC,KAG/BN,KAAAO,SAAW,MA2BZ,CAvBC,YAAAC,CAAaC,GACXT,KAAKO,SAAWE,C,CAKlB,gBAAAC,GACEC,MAAMC,KAAKZ,KAAKa,KAAKC,UAClBC,QAAQC,GAA4CA,EAAMC,QAAQC,gBAAkB,mBACpFC,SAAQ,CAACH,EAAOI,KACfJ,EAAMf,KAAOD,KAAKC,KAClBe,EAAMZ,SAAWJ,KAAKI,SACtBY,EAAMK,oBAAsB,GAAGD,EAAI,GAAG,G,CAI5C,MAAAE,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAM1B,KAAKO,UACfgB,EAAA,QAAAE,IAAA,6C","ignoreList":[]}