@zanichelli/albe-web-components 19.1.4-RC1 → 19.2.1-RC

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 (800) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cjs/iconset-5d47610c.js +1016 -0
  3. package/dist/cjs/iconset-5d47610c.js.map +1 -0
  4. package/dist/cjs/{index-1c7cd5df.js → index-012853a0.js} +2 -2
  5. package/dist/cjs/{index-1c7cd5df.js.map → index-012853a0.js.map} +1 -1
  6. package/dist/cjs/{index-66928615.js → index-1d7a50cc.js} +3 -3
  7. package/dist/cjs/{index-66928615.js.map → index-1d7a50cc.js.map} +1 -1
  8. package/dist/cjs/{index-62712250.js → index-2dff20f5.js} +2 -2
  9. package/dist/cjs/{index-62712250.js.map → index-2dff20f5.js.map} +1 -1
  10. package/dist/cjs/{index-f011b2e3.js → index-86a8a3a4.js} +2 -2
  11. package/dist/cjs/{index-f011b2e3.js.map → index-86a8a3a4.js.map} +1 -1
  12. package/dist/cjs/{index-805390c8.js → index-938c9669.js} +5 -5
  13. package/dist/cjs/{index-805390c8.js.map → index-938c9669.js.map} +1 -1
  14. package/dist/cjs/index-96af6326.js +8 -4
  15. package/dist/cjs/{index-09238e31.js → index-cb280932.js} +3 -3
  16. package/dist/cjs/{index-09238e31.js.map → index-cb280932.js.map} +1 -1
  17. package/dist/cjs/{index-97a4c18d.js → index-e30d0503.js} +51 -1
  18. package/dist/cjs/index-e30d0503.js.map +1 -0
  19. package/dist/cjs/index.cjs.js +5 -2
  20. package/dist/cjs/index.cjs.js.map +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/cjs/{utils-7f9d5a78.js → utils-4f7b4830.js} +2 -2
  23. package/dist/cjs/{utils-7f9d5a78.js.map → utils-4f7b4830.js.map} +1 -1
  24. package/dist/cjs/{utils-5148245a.js → utils-e8b453d5.js} +35 -6
  25. package/dist/cjs/utils-e8b453d5.js.map +1 -0
  26. package/dist/cjs/web-components-library.cjs.js +1 -1
  27. package/dist/cjs/z-accordion.cjs.entry.js +12 -3
  28. package/dist/cjs/z-accordion.cjs.entry.js.map +1 -1
  29. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  30. package/dist/cjs/z-anchor-navigation.cjs.entry.js +2 -2
  31. package/dist/cjs/z-app-header-deprecated.cjs.entry.js +2 -2
  32. package/dist/cjs/z-app-header_12.cjs.entry.js +105 -1024
  33. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  34. package/dist/cjs/z-aria-alert.cjs.entry.js +2 -2
  35. package/dist/cjs/z-avatar.cjs.entry.js +3 -3
  36. package/dist/cjs/z-book-card-app.cjs.entry.js +2 -2
  37. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +3 -3
  38. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  39. package/dist/cjs/z-book-cover.cjs.entry.js +1 -1
  40. package/dist/cjs/z-breadcrumb.cjs.entry.js +4 -4
  41. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  42. package/dist/cjs/z-card.cjs.entry.js +1 -1
  43. package/dist/cjs/z-carousel.cjs.entry.js +1 -1
  44. package/dist/cjs/z-chip.cjs.entry.js +3 -3
  45. package/dist/cjs/z-color-picker.cjs.entry.js +212 -0
  46. package/dist/cjs/z-color-picker.cjs.entry.js.map +1 -0
  47. package/dist/cjs/z-combobox.cjs.entry.js +2 -2
  48. package/dist/cjs/z-cover-hero.cjs.entry.js +1 -1
  49. package/dist/cjs/z-date-picker.cjs.entry.js +3 -3
  50. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +3 -3
  51. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  52. package/dist/cjs/z-file.cjs.entry.js +2 -2
  53. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  54. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  55. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  56. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  57. package/dist/cjs/z-menu-section.cjs.entry.js +2 -2
  58. package/dist/cjs/z-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/z-menu.cjs.entry.js.map +1 -1
  60. package/dist/cjs/z-myz-card-alert.cjs.entry.js +2 -2
  61. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +2 -2
  62. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  63. package/dist/cjs/z-myz-card-footer.cjs.entry.js +2 -2
  64. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  65. package/dist/cjs/z-myz-card-info.cjs.entry.js +3 -3
  66. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  67. package/dist/cjs/z-myz-card_4.cjs.entry.js +5 -5
  68. package/dist/cjs/z-myz-list-item.cjs.entry.js +3 -3
  69. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  70. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  71. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  72. package/dist/cjs/z-notification.cjs.entry.js.map +1 -1
  73. package/dist/cjs/z-otp.cjs.entry.js +3 -3
  74. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  75. package/dist/cjs/z-popover.cjs.entry.js +20 -16
  76. package/dist/cjs/z-popover.cjs.entry.js.map +1 -1
  77. package/dist/cjs/z-range-picker.cjs.entry.js +5 -5
  78. package/dist/cjs/z-section-title.cjs.entry.js +2 -2
  79. package/dist/cjs/z-select.cjs.entry.js +2 -2
  80. package/dist/cjs/z-skip-to-content.cjs.entry.js +2 -2
  81. package/dist/cjs/z-slideshow.cjs.entry.js +2 -2
  82. package/dist/cjs/z-table.cjs.entry.js +9 -9
  83. package/dist/cjs/z-tbody.cjs.entry.js +1 -1
  84. package/dist/cjs/z-td.cjs.entry.js +2 -2
  85. package/dist/cjs/z-tfoot.cjs.entry.js +1 -1
  86. package/dist/cjs/z-th.cjs.entry.js +2 -2
  87. package/dist/cjs/z-thead.cjs.entry.js +1 -1
  88. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -2
  89. package/dist/cjs/z-toast-notification.cjs.entry.js +43 -46
  90. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  91. package/dist/cjs/z-toggle-button.cjs.entry.js +2 -2
  92. package/dist/cjs/z-toggle-switch.cjs.entry.js +5 -5
  93. package/dist/cjs/z-tool.cjs.entry.js +147 -42
  94. package/dist/cjs/z-tool.cjs.entry.js.map +1 -1
  95. package/dist/cjs/z-toolbar.cjs.entry.js +64 -66
  96. package/dist/cjs/z-toolbar.cjs.entry.js.map +1 -1
  97. package/dist/cjs/z-tooltip.cjs.entry.js +3 -2
  98. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -1
  99. package/dist/cjs/z-tr.cjs.entry.js +5 -5
  100. package/dist/cjs/z-tree-list.cjs.entry.js +2 -2
  101. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  102. package/dist/collection/beans/index.js +48 -0
  103. package/dist/collection/beans/index.js.map +1 -1
  104. package/dist/collection/collection-manifest.json +1 -0
  105. package/dist/collection/components/book-card/z-book-card-app/index.js +1 -1
  106. package/dist/collection/components/date-picker/z-date-picker/index.js +1 -1
  107. package/dist/collection/components/date-picker/z-range-picker/index.js +3 -3
  108. package/dist/collection/components/deprecated/z-app-header-deprecated/index.js +1 -1
  109. package/dist/collection/components/deprecated/z-book-card-deprecated/index.js +1 -1
  110. package/dist/collection/components/deprecated/z-menu-deprecated/index.js +1 -1
  111. package/dist/collection/components/deprecated/z-menu-section-deprecated/index.js +1 -1
  112. package/dist/collection/components/deprecated/z-section-title/index.js +1 -1
  113. package/dist/collection/components/file-upload/z-dragdrop-area/index.js +2 -2
  114. package/dist/collection/components/file-upload/z-file/index.js +1 -1
  115. package/dist/collection/components/list/z-list/index.js +1 -1
  116. package/dist/collection/components/list/z-list-element/index.js +1 -1
  117. package/dist/collection/components/list/z-list-group/index.js +2 -2
  118. package/dist/collection/components/list/z-tree-list/index.js +1 -1
  119. package/dist/collection/components/table/cells/z-td/index.js +1 -1
  120. package/dist/collection/components/table/cells/z-th/index.js +1 -1
  121. package/dist/collection/components/table/z-table/index.js +1 -1
  122. package/dist/collection/components/table/z-tbody/index.js +1 -1
  123. package/dist/collection/components/table/z-tfoot/index.js +1 -1
  124. package/dist/collection/components/table/z-thead/index.js +1 -1
  125. package/dist/collection/components/table/z-tr/index.js +1 -1
  126. package/dist/collection/components/z-accordion/index.js +15 -1
  127. package/dist/collection/components/z-accordion/index.js.map +1 -1
  128. package/dist/collection/components/z-accordion/index.stories.js +4 -4
  129. package/dist/collection/components/z-accordion/index.stories.js.map +1 -1
  130. package/dist/collection/components/z-accordion/styles.css +2 -34
  131. package/dist/collection/components/z-anchor-navigation/index.js +1 -1
  132. package/dist/collection/components/z-app-header/index.js +1 -1
  133. package/dist/collection/components/z-app-header/index.js.map +1 -1
  134. package/dist/collection/components/z-app-header/index.stories.js +42 -0
  135. package/dist/collection/components/z-app-header/index.stories.js.map +1 -1
  136. package/dist/collection/components/z-app-header/styles.css +8 -0
  137. package/dist/collection/components/z-aria-alert/index.js +1 -1
  138. package/dist/collection/components/z-avatar/index.js +2 -2
  139. package/dist/collection/components/z-book-cover/index.js +1 -1
  140. package/dist/collection/components/z-breadcrumb/index.js +2 -2
  141. package/dist/collection/components/z-button-sort/index.js +1 -1
  142. package/dist/collection/components/z-chip/index.js +2 -2
  143. package/dist/collection/components/z-color-picker/index.js +367 -0
  144. package/dist/collection/components/z-color-picker/index.js.map +1 -0
  145. package/dist/collection/components/z-color-picker/index.stories.js +34 -0
  146. package/dist/collection/components/z-color-picker/index.stories.js.map +1 -0
  147. package/dist/collection/components/z-color-picker/styles.css +74 -0
  148. package/dist/collection/components/z-ghost-loading/index.js +1 -1
  149. package/dist/collection/components/z-icon/index.js +38 -9
  150. package/dist/collection/components/z-icon/index.js.map +1 -1
  151. package/dist/collection/components/z-icon/index.stories.js +34 -18
  152. package/dist/collection/components/z-icon/index.stories.js.map +1 -1
  153. package/dist/collection/components/z-icon/styles.css +16 -2
  154. package/dist/collection/components/z-menu/index.js +1 -1
  155. package/dist/collection/components/z-menu/index.js.map +1 -1
  156. package/dist/collection/components/z-menu-section/index.js +1 -1
  157. package/dist/collection/components/z-notification/styles.css +2 -2
  158. package/dist/collection/components/z-offcanvas/index.js +89 -10
  159. package/dist/collection/components/z-offcanvas/index.js.map +1 -1
  160. package/dist/collection/components/z-popover/index.js +31 -21
  161. package/dist/collection/components/z-popover/index.js.map +1 -1
  162. package/dist/collection/components/z-popover/styles.css +18 -3
  163. package/dist/collection/components/z-tag/index.js +2 -2
  164. package/dist/collection/components/z-toast-notification/index.js +43 -45
  165. package/dist/collection/components/z-toast-notification/index.js.map +1 -1
  166. package/dist/collection/components/z-toast-notification/index.stories.js +3 -1
  167. package/dist/collection/components/z-toast-notification/index.stories.js.map +1 -1
  168. package/dist/collection/components/z-toast-notification/styles.css +124 -124
  169. package/dist/collection/components/z-toast-notification-list/index.js +1 -1
  170. package/dist/collection/components/z-toggle-button/index.js +2 -2
  171. package/dist/collection/components/z-toggle-switch/index.js +3 -3
  172. package/dist/collection/components/z-tool/index.js +281 -48
  173. package/dist/collection/components/z-tool/index.js.map +1 -1
  174. package/dist/collection/components/z-tool/index.stories.js +89 -12
  175. package/dist/collection/components/z-tool/index.stories.js.map +1 -1
  176. package/dist/collection/components/z-tool/styles.css +30 -31
  177. package/dist/collection/components/z-toolbar/index.js +72 -91
  178. package/dist/collection/components/z-toolbar/index.js.map +1 -1
  179. package/dist/collection/components/z-toolbar/index.stories.js +190 -309
  180. package/dist/collection/components/z-toolbar/index.stories.js.map +1 -1
  181. package/dist/collection/components/z-toolbar/styles.css +10 -19
  182. package/dist/collection/components/z-tooltip/index.js +19 -1
  183. package/dist/collection/components/z-tooltip/index.js.map +1 -1
  184. package/dist/collection/components/z-visually-hidden/index.js +1 -1
  185. package/dist/collection/constants/iconset.js +152 -142
  186. package/dist/collection/constants/iconset.js.map +1 -1
  187. package/dist/collection/index.js +1 -0
  188. package/dist/collection/index.js.map +1 -1
  189. package/dist/collection/snowflakes/myz/card/z-myz-card/index.js +1 -1
  190. package/dist/collection/snowflakes/myz/card/z-myz-card-alert/index.js +1 -1
  191. package/dist/collection/snowflakes/myz/card/z-myz-card-body/index.js +1 -1
  192. package/dist/collection/snowflakes/myz/card/z-myz-card-cover/index.js +1 -1
  193. package/dist/collection/snowflakes/myz/card/z-myz-card-dictionary/index.js +1 -1
  194. package/dist/collection/snowflakes/myz/card/z-myz-card-footer/index.js +1 -1
  195. package/dist/collection/snowflakes/myz/card/z-myz-card-footer-sections/index.js +1 -1
  196. package/dist/collection/snowflakes/myz/card/z-myz-card-header/index.js +1 -1
  197. package/dist/collection/snowflakes/myz/card/z-myz-card-icon/index.js +1 -1
  198. package/dist/collection/snowflakes/myz/card/z-myz-card-info/index.js +1 -1
  199. package/dist/collection/snowflakes/myz/card/z-myz-card-list/index.js +1 -1
  200. package/dist/collection/snowflakes/myz/list/z-myz-list/index.js +1 -1
  201. package/dist/collection/snowflakes/myz/list/z-myz-list-item/index.js +1 -1
  202. package/dist/collection/snowflakes/myz/z-alert/index.js +1 -1
  203. package/dist/collection/snowflakes/myz/z-otp/index.js +2 -2
  204. package/dist/collection/utils/utils.js +33 -4
  205. package/dist/collection/utils/utils.js.map +1 -1
  206. package/dist/components/iconset.js +152 -143
  207. package/dist/components/iconset.js.map +1 -1
  208. package/dist/components/index.d.ts +2 -0
  209. package/dist/components/index.js +3 -1
  210. package/dist/components/index.js.map +1 -1
  211. package/dist/components/index10.js +15 -6
  212. package/dist/components/index10.js.map +1 -1
  213. package/dist/components/index14.js +1 -1
  214. package/dist/components/index15.js +1 -1
  215. package/dist/components/index16.js +2 -2
  216. package/dist/components/index18.js +1 -1
  217. package/dist/components/index19.js +1 -1
  218. package/dist/components/index2.js +49 -1
  219. package/dist/components/index2.js.map +1 -1
  220. package/dist/components/index20.js +1 -1
  221. package/dist/components/index21.js +1 -1
  222. package/dist/components/index22.js +1 -1
  223. package/dist/components/index23.js +84 -11
  224. package/dist/components/index23.js.map +1 -1
  225. package/dist/components/index24.js +19 -15
  226. package/dist/components/index24.js.map +1 -1
  227. package/dist/components/index26.js +2 -2
  228. package/dist/components/index27.js +55 -0
  229. package/dist/components/index27.js.map +1 -0
  230. package/dist/components/index3.js +1 -1
  231. package/dist/components/index4.js +1 -1
  232. package/dist/components/index6.js +2 -2
  233. package/dist/components/index8.js +2 -2
  234. package/dist/components/index9.js +1 -1
  235. package/dist/components/utils.js +33 -4
  236. package/dist/components/utils.js.map +1 -1
  237. package/dist/components/z-accordion.js +13 -3
  238. package/dist/components/z-accordion.js.map +1 -1
  239. package/dist/components/z-anchor-navigation.js +1 -1
  240. package/dist/components/z-app-header-deprecated.js +1 -1
  241. package/dist/components/z-app-header.js +2 -2
  242. package/dist/components/z-app-header.js.map +1 -1
  243. package/dist/components/z-aria-alert.js +1 -1
  244. package/dist/components/z-avatar.js +2 -2
  245. package/dist/components/z-book-card-app.js +1 -1
  246. package/dist/components/z-book-card-deprecated.js +1 -1
  247. package/dist/components/z-breadcrumb.js +2 -2
  248. package/dist/components/z-button-sort.js +1 -1
  249. package/dist/components/z-color-picker.d.ts +11 -0
  250. package/dist/components/z-color-picker.js +234 -0
  251. package/dist/components/z-color-picker.js.map +1 -0
  252. package/dist/components/z-date-picker.js +1 -1
  253. package/dist/components/z-file.js +1 -1
  254. package/dist/components/z-menu-deprecated.js +1 -1
  255. package/dist/components/z-menu-section-deprecated.js +1 -1
  256. package/dist/components/z-menu-section.js +1 -1
  257. package/dist/components/z-menu.js +1 -1
  258. package/dist/components/z-menu.js.map +1 -1
  259. package/dist/components/z-myz-card-alert.js +1 -1
  260. package/dist/components/z-myz-card-dictionary.js +1 -1
  261. package/dist/components/z-myz-card-footer-sections.js +1 -1
  262. package/dist/components/z-myz-card-footer.js +1 -1
  263. package/dist/components/z-myz-card-icon.js +1 -1
  264. package/dist/components/z-myz-card-info.js +1 -1
  265. package/dist/components/z-myz-card-list.js +1 -1
  266. package/dist/components/z-myz-list.js +1 -1
  267. package/dist/components/z-notification.js +1 -1
  268. package/dist/components/z-notification.js.map +1 -1
  269. package/dist/components/z-otp.js +2 -2
  270. package/dist/components/z-range-picker.js +3 -3
  271. package/dist/components/z-section-title.js +1 -1
  272. package/dist/components/z-table.js +1 -1
  273. package/dist/components/z-tbody.js +1 -1
  274. package/dist/components/z-td.js +1 -1
  275. package/dist/components/z-tfoot.js +1 -1
  276. package/dist/components/z-th.js +1 -1
  277. package/dist/components/z-thead.js +1 -1
  278. package/dist/components/z-toast-notification-list.js +1 -1
  279. package/dist/components/z-toast-notification.js +44 -46
  280. package/dist/components/z-toast-notification.js.map +1 -1
  281. package/dist/components/z-toggle-button.js +2 -2
  282. package/dist/components/z-toggle-switch.js +3 -3
  283. package/dist/components/z-tool.js +165 -49
  284. package/dist/components/z-tool.js.map +1 -1
  285. package/dist/components/z-toolbar.js +65 -68
  286. package/dist/components/z-toolbar.js.map +1 -1
  287. package/dist/components/z-tooltip.js +1 -50
  288. package/dist/components/z-tooltip.js.map +1 -1
  289. package/dist/components/z-tr.js +1 -1
  290. package/dist/components/z-tree-list.js +1 -1
  291. package/dist/components/z-visually-hidden.js +1 -1
  292. package/dist/esm/iconset-d7823b13.js +1013 -0
  293. package/dist/esm/iconset-d7823b13.js.map +1 -0
  294. package/dist/esm/{index-0ea3c7c8.js → index-09bfb4ee.js} +2 -2
  295. package/dist/esm/{index-0ea3c7c8.js.map → index-09bfb4ee.js.map} +1 -1
  296. package/dist/esm/{index-2a6324f8.js → index-106473a8.js} +50 -2
  297. package/dist/esm/index-106473a8.js.map +1 -0
  298. package/dist/esm/{index-36122d8f.js → index-3856a6ca.js} +2 -2
  299. package/dist/esm/{index-36122d8f.js.map → index-3856a6ca.js.map} +1 -1
  300. package/dist/esm/{index-0bcacbd3.js → index-455c0a68.js} +2 -2
  301. package/dist/esm/{index-0bcacbd3.js.map → index-455c0a68.js.map} +1 -1
  302. package/dist/esm/{index-b64ced16.js → index-6c43bc70.js} +3 -3
  303. package/dist/esm/{index-b64ced16.js.map → index-6c43bc70.js.map} +1 -1
  304. package/dist/esm/{index-8a9f6d27.js → index-83248f5c.js} +5 -5
  305. package/dist/esm/{index-8a9f6d27.js.map → index-83248f5c.js.map} +1 -1
  306. package/dist/esm/index-c8ceadeb.js +8 -4
  307. package/dist/esm/{index-f20179ad.js → index-f8517155.js} +3 -3
  308. package/dist/esm/{index-f20179ad.js.map → index-f8517155.js.map} +1 -1
  309. package/dist/esm/index.js +3 -2
  310. package/dist/esm/index.js.map +1 -1
  311. package/dist/esm/loader.js +1 -1
  312. package/dist/esm/{utils-e66d94c3.js → utils-1b64bcd9.js} +35 -6
  313. package/dist/esm/utils-1b64bcd9.js.map +1 -0
  314. package/dist/esm/{utils-227ef1c0.js → utils-93ac0e6c.js} +2 -2
  315. package/dist/esm/{utils-227ef1c0.js.map → utils-93ac0e6c.js.map} +1 -1
  316. package/dist/esm/web-components-library.js +1 -1
  317. package/dist/esm/z-accordion.entry.js +13 -4
  318. package/dist/esm/z-accordion.entry.js.map +1 -1
  319. package/dist/esm/z-alert.entry.js +1 -1
  320. package/dist/esm/z-anchor-navigation.entry.js +2 -2
  321. package/dist/esm/z-app-header-deprecated.entry.js +2 -2
  322. package/dist/esm/z-app-header_12.entry.js +105 -1024
  323. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  324. package/dist/esm/z-aria-alert.entry.js +2 -2
  325. package/dist/esm/z-avatar.entry.js +3 -3
  326. package/dist/esm/z-book-card-app.entry.js +2 -2
  327. package/dist/esm/z-book-card-deprecated.entry.js +3 -3
  328. package/dist/esm/z-book-card.entry.js +1 -1
  329. package/dist/esm/z-book-cover.entry.js +1 -1
  330. package/dist/esm/z-breadcrumb.entry.js +4 -4
  331. package/dist/esm/z-button-sort.entry.js +1 -1
  332. package/dist/esm/z-card.entry.js +1 -1
  333. package/dist/esm/z-carousel.entry.js +1 -1
  334. package/dist/esm/z-chip.entry.js +3 -3
  335. package/dist/esm/z-color-picker.entry.js +208 -0
  336. package/dist/esm/z-color-picker.entry.js.map +1 -0
  337. package/dist/esm/z-combobox.entry.js +2 -2
  338. package/dist/esm/z-cover-hero.entry.js +1 -1
  339. package/dist/esm/z-date-picker.entry.js +3 -3
  340. package/dist/esm/z-dragdrop-area_2.entry.js +3 -3
  341. package/dist/esm/z-file-upload.entry.js +1 -1
  342. package/dist/esm/z-file.entry.js +2 -2
  343. package/dist/esm/z-ghost-loading.entry.js +1 -1
  344. package/dist/esm/z-info-reveal.entry.js +1 -1
  345. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  346. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  347. package/dist/esm/z-menu-section.entry.js +2 -2
  348. package/dist/esm/z-menu.entry.js +2 -2
  349. package/dist/esm/z-menu.entry.js.map +1 -1
  350. package/dist/esm/z-myz-card-alert.entry.js +2 -2
  351. package/dist/esm/z-myz-card-dictionary.entry.js +2 -2
  352. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  353. package/dist/esm/z-myz-card-footer.entry.js +2 -2
  354. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  355. package/dist/esm/z-myz-card-info.entry.js +3 -3
  356. package/dist/esm/z-myz-card-list.entry.js +1 -1
  357. package/dist/esm/z-myz-card_4.entry.js +5 -5
  358. package/dist/esm/z-myz-list-item.entry.js +3 -3
  359. package/dist/esm/z-myz-list.entry.js +1 -1
  360. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  361. package/dist/esm/z-notification.entry.js +1 -1
  362. package/dist/esm/z-notification.entry.js.map +1 -1
  363. package/dist/esm/z-otp.entry.js +3 -3
  364. package/dist/esm/z-pagination.entry.js +1 -1
  365. package/dist/esm/z-popover.entry.js +20 -16
  366. package/dist/esm/z-popover.entry.js.map +1 -1
  367. package/dist/esm/z-range-picker.entry.js +5 -5
  368. package/dist/esm/z-section-title.entry.js +2 -2
  369. package/dist/esm/z-select.entry.js +2 -2
  370. package/dist/esm/z-skip-to-content.entry.js +2 -2
  371. package/dist/esm/z-slideshow.entry.js +2 -2
  372. package/dist/esm/z-table.entry.js +9 -9
  373. package/dist/esm/z-tbody.entry.js +1 -1
  374. package/dist/esm/z-td.entry.js +2 -2
  375. package/dist/esm/z-tfoot.entry.js +1 -1
  376. package/dist/esm/z-th.entry.js +2 -2
  377. package/dist/esm/z-thead.entry.js +1 -1
  378. package/dist/esm/z-toast-notification-list.entry.js +2 -2
  379. package/dist/esm/z-toast-notification.entry.js +43 -46
  380. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  381. package/dist/esm/z-toggle-button.entry.js +2 -2
  382. package/dist/esm/z-toggle-switch.entry.js +5 -5
  383. package/dist/esm/z-tool.entry.js +147 -42
  384. package/dist/esm/z-tool.entry.js.map +1 -1
  385. package/dist/esm/z-toolbar.entry.js +64 -66
  386. package/dist/esm/z-toolbar.entry.js.map +1 -1
  387. package/dist/esm/z-tooltip.entry.js +4 -3
  388. package/dist/esm/z-tooltip.entry.js.map +1 -1
  389. package/dist/esm/z-tr.entry.js +5 -5
  390. package/dist/esm/z-tree-list.entry.js +2 -2
  391. package/dist/esm/z-visually-hidden.entry.js +1 -1
  392. package/dist/types/beans/index.d.ts +184 -0
  393. package/dist/types/components/z-accordion/index.d.ts +5 -0
  394. package/dist/types/components/z-accordion/index.stories.d.ts +4 -4
  395. package/dist/types/components/z-app-header/index.stories.d.ts +16 -0
  396. package/dist/types/components/z-color-picker/index.d.ts +64 -0
  397. package/dist/types/components/z-color-picker/index.stories.d.ts +33 -0
  398. package/dist/types/components/z-icon/index.d.ts +21 -6
  399. package/dist/types/components/z-icon/index.stories.d.ts +23 -10
  400. package/dist/types/components/z-offcanvas/index.d.ts +24 -0
  401. package/dist/types/components/z-popover/index.d.ts +9 -4
  402. package/dist/types/components/z-toast-notification/index.d.ts +8 -7
  403. package/dist/types/components/z-toast-notification/index.stories.d.ts +11 -1
  404. package/dist/types/components/z-tool/index.d.ts +73 -9
  405. package/dist/types/components/z-tool/index.stories.d.ts +38 -12
  406. package/dist/types/components/z-toolbar/index.d.ts +23 -6
  407. package/dist/types/components/z-toolbar/index.stories.d.ts +23 -20
  408. package/dist/types/components/z-tooltip/index.d.ts +8 -0
  409. package/dist/types/components.d.ts +189 -35
  410. package/dist/types/constants/iconset.d.ts +281 -141
  411. package/dist/types/index.d.ts +1 -0
  412. package/dist/types/utils/utils.d.ts +3 -2
  413. package/dist/web-components-library/index.esm.js +1 -1
  414. package/dist/web-components-library/index.esm.js.map +1 -1
  415. package/dist/web-components-library/{p-375f8542.entry.js → p-0643d684.entry.js} +2 -2
  416. package/dist/web-components-library/{p-44459393.entry.js → p-0aed3ddc.entry.js} +2 -2
  417. package/{www/build/p-b96900bb.entry.js → dist/web-components-library/p-19103e70.entry.js} +2 -2
  418. package/dist/web-components-library/p-1a0c206d.js +2 -0
  419. package/dist/web-components-library/p-1a0c206d.js.map +1 -0
  420. package/dist/web-components-library/{p-fb232d07.entry.js → p-252893a8.entry.js} +2 -2
  421. package/{www/build/p-2aeffcf9.entry.js → dist/web-components-library/p-26ed6c96.entry.js} +2 -2
  422. package/{www/build/p-99210133.entry.js → dist/web-components-library/p-2d4cf6ff.entry.js} +2 -2
  423. package/dist/web-components-library/{p-8687691b.entry.js → p-30a78a06.entry.js} +2 -2
  424. package/dist/web-components-library/p-32bc8a40.entry.js +2 -0
  425. package/dist/web-components-library/p-32bc8a40.entry.js.map +1 -0
  426. package/dist/web-components-library/p-3977b0ae.entry.js +2 -0
  427. package/dist/web-components-library/p-3ba7621b.entry.js +2 -0
  428. package/{www/build/p-8c164e0d.entry.js → dist/web-components-library/p-41891d34.entry.js} +2 -2
  429. package/dist/web-components-library/p-42abfe3b.entry.js +2 -0
  430. package/dist/web-components-library/p-4504375f.entry.js +2 -0
  431. package/{www/build/p-19f5b6a9.entry.js → dist/web-components-library/p-47813782.entry.js} +2 -2
  432. package/{www/build/p-b7b972c0.entry.js → dist/web-components-library/p-47b59f05.entry.js} +2 -2
  433. package/dist/web-components-library/p-4844c774.js +2 -0
  434. package/{www/build/p-030257b3.js.map → dist/web-components-library/p-4844c774.js.map} +1 -1
  435. package/dist/web-components-library/p-55e5e53a.entry.js +2 -0
  436. package/dist/web-components-library/p-55e5e53a.entry.js.map +1 -0
  437. package/{www/build/p-4a257653.entry.js → dist/web-components-library/p-565c1815.entry.js} +2 -2
  438. package/{www/build/p-22ba2a17.entry.js → dist/web-components-library/p-58aeaf21.entry.js} +2 -2
  439. package/dist/web-components-library/{p-1c7550f9.entry.js → p-5905cca0.entry.js} +2 -2
  440. package/dist/web-components-library/{p-cc18a2b7.entry.js → p-5e2f6ab7.entry.js} +2 -2
  441. package/dist/web-components-library/{p-0a49dd1c.entry.js → p-613987cd.entry.js} +2 -2
  442. package/{www/build/p-b63c8e8b.entry.js → dist/web-components-library/p-6164feb9.entry.js} +2 -2
  443. package/dist/web-components-library/p-623fdee4.js +2 -0
  444. package/dist/web-components-library/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  445. package/dist/web-components-library/{p-f19f12b1.js → p-68d91a93.js} +2 -2
  446. package/dist/web-components-library/p-6c6a655e.entry.js +2 -0
  447. package/dist/web-components-library/{p-5a24e268.entry.js.map → p-6c6a655e.entry.js.map} +1 -1
  448. package/{www/build/p-f4bac89b.entry.js → dist/web-components-library/p-6c9cd6be.entry.js} +2 -2
  449. package/dist/web-components-library/p-6d15da6f.entry.js +2 -0
  450. package/dist/web-components-library/p-6d15da6f.entry.js.map +1 -0
  451. package/{www/build/p-e3b82454.entry.js → dist/web-components-library/p-6e13aa8e.entry.js} +2 -2
  452. package/dist/web-components-library/{p-4affbb99.entry.js → p-767b66ca.entry.js} +2 -2
  453. package/{www/build/p-34975328.entry.js → dist/web-components-library/p-76d1d0e4.entry.js} +2 -2
  454. package/dist/web-components-library/{p-e9e2ceb4.entry.js → p-771dea79.entry.js} +2 -2
  455. package/dist/web-components-library/p-7b837e11.js +2 -0
  456. package/dist/web-components-library/{p-86160fe3.entry.js → p-7d655f96.entry.js} +2 -2
  457. package/dist/web-components-library/p-82eeea83.entry.js +2 -0
  458. package/dist/web-components-library/p-862989b6.entry.js +2 -0
  459. package/dist/web-components-library/p-862989b6.entry.js.map +1 -0
  460. package/dist/web-components-library/p-86618221.js +2 -0
  461. package/dist/web-components-library/p-86618221.js.map +1 -0
  462. package/dist/web-components-library/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  463. package/dist/web-components-library/{p-2f948bac.entry.js → p-8988eee3.entry.js} +2 -2
  464. package/{www/build/p-1844a4f4.entry.js → dist/web-components-library/p-8a53fefb.entry.js} +2 -2
  465. package/dist/web-components-library/{p-748fa3ae.js → p-8b367393.js} +2 -2
  466. package/dist/web-components-library/{p-4551b0df.entry.js → p-8c52635e.entry.js} +2 -2
  467. package/dist/web-components-library/{p-240de9aa.entry.js → p-8fd50cc5.entry.js} +2 -2
  468. package/{www/build/p-1fd1cf02.entry.js → dist/web-components-library/p-92f13701.entry.js} +2 -2
  469. package/{www/build/p-ceeb3e2a.entry.js → dist/web-components-library/p-93d349ee.entry.js} +2 -2
  470. package/dist/web-components-library/p-988a58dd.entry.js +2 -0
  471. package/{www/build/p-816fd6dc.entry.js → dist/web-components-library/p-9ae0c0c6.entry.js} +2 -2
  472. package/dist/web-components-library/{p-d7f12672.js → p-9c816a3b.js} +2 -2
  473. package/{www/build/p-4cec3345.entry.js → dist/web-components-library/p-a2ee659d.entry.js} +2 -2
  474. package/{www/build/p-94916bdf.entry.js → dist/web-components-library/p-a4d2cf55.entry.js} +2 -2
  475. package/dist/web-components-library/p-a5146ef3.entry.js +2 -0
  476. package/dist/web-components-library/p-a5146ef3.entry.js.map +1 -0
  477. package/dist/web-components-library/{p-04f80811.entry.js → p-a8609510.entry.js} +2 -2
  478. package/{www/build/p-817689d5.entry.js → dist/web-components-library/p-aaa96c12.entry.js} +3 -3
  479. package/dist/web-components-library/{p-e0b88075.entry.js → p-b391211f.entry.js} +2 -2
  480. package/dist/web-components-library/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  481. package/dist/web-components-library/p-b54d923e.entry.js +2 -0
  482. package/dist/web-components-library/p-b54d923e.entry.js.map +1 -0
  483. package/dist/web-components-library/{p-d9c9de15.entry.js → p-b7056859.entry.js} +2 -2
  484. package/dist/web-components-library/p-c12f93e4.entry.js +2 -0
  485. package/dist/web-components-library/p-c12f93e4.entry.js.map +1 -0
  486. package/dist/web-components-library/{p-3f5aa623.entry.js → p-c5d52872.entry.js} +2 -2
  487. package/dist/web-components-library/p-c5d52872.entry.js.map +1 -0
  488. package/dist/web-components-library/{p-5159edb1.entry.js → p-c811b0cf.entry.js} +2 -2
  489. package/dist/web-components-library/p-c89e1f4b.entry.js +2 -0
  490. package/dist/web-components-library/p-c89e1f4b.entry.js.map +1 -0
  491. package/dist/web-components-library/{p-2bdac94e.entry.js → p-c9b81cab.entry.js} +2 -2
  492. package/dist/web-components-library/{p-30e42fb1.js → p-cb395500.js} +2 -2
  493. package/dist/web-components-library/{p-5a1f98a2.entry.js → p-cbc09112.entry.js} +2 -2
  494. package/dist/web-components-library/p-da3abb97.entry.js +2 -0
  495. package/dist/web-components-library/{p-2612e3a2.entry.js → p-daa442e6.entry.js} +2 -2
  496. package/dist/web-components-library/{p-c778bf87.entry.js → p-e8eacbeb.entry.js} +4 -4
  497. package/dist/web-components-library/p-e8eacbeb.entry.js.map +1 -0
  498. package/dist/web-components-library/p-eb15536d.js +2 -0
  499. package/dist/web-components-library/p-eb15536d.js.map +1 -0
  500. package/dist/web-components-library/p-efa6b991.entry.js +2 -0
  501. package/dist/web-components-library/{p-01f941c2.entry.js → p-f4b987ed.entry.js} +2 -2
  502. package/dist/web-components-library/{p-bdbcf353.entry.js → p-f662e7ff.entry.js} +2 -2
  503. package/dist/web-components-library/p-f92e0c29.entry.js +2 -0
  504. package/dist/web-components-library/{p-a905df88.entry.js → p-ff89d630.entry.js} +2 -2
  505. package/dist/web-components-library/web-components-library.css +23 -25
  506. package/dist/web-components-library/web-components-library.esm.js +1 -1
  507. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  508. package/package.json +3 -3
  509. package/react/components.d.ts +1 -0
  510. package/react/components.js +3 -2
  511. package/react/components.js.map +1 -1
  512. package/www/build/index.esm.js +1 -1
  513. package/www/build/index.esm.js.map +1 -1
  514. package/www/build/{p-375f8542.entry.js → p-0643d684.entry.js} +2 -2
  515. package/www/build/{p-44459393.entry.js → p-0aed3ddc.entry.js} +2 -2
  516. package/www/build/p-156f9df4.js +2 -0
  517. package/{dist/web-components-library/p-b96900bb.entry.js → www/build/p-19103e70.entry.js} +2 -2
  518. package/www/build/p-1a0c206d.js +2 -0
  519. package/www/build/p-1a0c206d.js.map +1 -0
  520. package/www/build/{p-fb232d07.entry.js → p-252893a8.entry.js} +2 -2
  521. package/{dist/web-components-library/p-2aeffcf9.entry.js → www/build/p-26ed6c96.entry.js} +2 -2
  522. package/{dist/web-components-library/p-99210133.entry.js → www/build/p-2d4cf6ff.entry.js} +2 -2
  523. package/www/build/{p-8687691b.entry.js → p-30a78a06.entry.js} +2 -2
  524. package/www/build/p-32bc8a40.entry.js +2 -0
  525. package/www/build/p-32bc8a40.entry.js.map +1 -0
  526. package/www/build/p-3977b0ae.entry.js +2 -0
  527. package/www/build/p-3ba7621b.entry.js +2 -0
  528. package/{dist/web-components-library/p-8c164e0d.entry.js → www/build/p-41891d34.entry.js} +2 -2
  529. package/www/build/p-42abfe3b.entry.js +2 -0
  530. package/www/build/p-4504375f.entry.js +2 -0
  531. package/{dist/web-components-library/p-19f5b6a9.entry.js → www/build/p-47813782.entry.js} +2 -2
  532. package/{dist/web-components-library/p-b7b972c0.entry.js → www/build/p-47b59f05.entry.js} +2 -2
  533. package/www/build/p-4844c774.js +2 -0
  534. package/{dist/web-components-library/p-030257b3.js.map → www/build/p-4844c774.js.map} +1 -1
  535. package/www/build/p-55e5e53a.entry.js +2 -0
  536. package/www/build/p-55e5e53a.entry.js.map +1 -0
  537. package/{dist/web-components-library/p-4a257653.entry.js → www/build/p-565c1815.entry.js} +2 -2
  538. package/{dist/web-components-library/p-22ba2a17.entry.js → www/build/p-58aeaf21.entry.js} +2 -2
  539. package/www/build/{p-1c7550f9.entry.js → p-5905cca0.entry.js} +2 -2
  540. package/www/build/{p-cc18a2b7.entry.js → p-5e2f6ab7.entry.js} +2 -2
  541. package/www/build/{p-0a49dd1c.entry.js → p-613987cd.entry.js} +2 -2
  542. package/{dist/web-components-library/p-b63c8e8b.entry.js → www/build/p-6164feb9.entry.js} +2 -2
  543. package/www/build/p-623fdee4.js +2 -0
  544. package/www/build/{p-ee695830.entry.js → p-66c0f993.entry.js} +2 -2
  545. package/www/build/{p-f19f12b1.js → p-68d91a93.js} +2 -2
  546. package/www/build/p-6c6a655e.entry.js +2 -0
  547. package/www/build/{p-5a24e268.entry.js.map → p-6c6a655e.entry.js.map} +1 -1
  548. package/{dist/web-components-library/p-f4bac89b.entry.js → www/build/p-6c9cd6be.entry.js} +2 -2
  549. package/www/build/p-6d15da6f.entry.js +2 -0
  550. package/www/build/p-6d15da6f.entry.js.map +1 -0
  551. package/{dist/web-components-library/p-e3b82454.entry.js → www/build/p-6e13aa8e.entry.js} +2 -2
  552. package/www/build/{p-4affbb99.entry.js → p-767b66ca.entry.js} +2 -2
  553. package/{dist/web-components-library/p-34975328.entry.js → www/build/p-76d1d0e4.entry.js} +2 -2
  554. package/www/build/{p-e9e2ceb4.entry.js → p-771dea79.entry.js} +2 -2
  555. package/www/build/p-7b837e11.js +2 -0
  556. package/www/build/{p-86160fe3.entry.js → p-7d655f96.entry.js} +2 -2
  557. package/www/build/{p-b5b5dae5.css → p-813bd63b.css} +23 -25
  558. package/www/build/p-82eeea83.entry.js +2 -0
  559. package/www/build/p-862989b6.entry.js +2 -0
  560. package/www/build/p-862989b6.entry.js.map +1 -0
  561. package/www/build/p-86618221.js +2 -0
  562. package/www/build/p-86618221.js.map +1 -0
  563. package/www/build/{p-757415e9.entry.js → p-88a9865c.entry.js} +2 -2
  564. package/www/build/{p-2f948bac.entry.js → p-8988eee3.entry.js} +2 -2
  565. package/{dist/web-components-library/p-1844a4f4.entry.js → www/build/p-8a53fefb.entry.js} +2 -2
  566. package/www/build/{p-748fa3ae.js → p-8b367393.js} +2 -2
  567. package/www/build/{p-4551b0df.entry.js → p-8c52635e.entry.js} +2 -2
  568. package/www/build/{p-240de9aa.entry.js → p-8fd50cc5.entry.js} +2 -2
  569. package/{dist/web-components-library/p-1fd1cf02.entry.js → www/build/p-92f13701.entry.js} +2 -2
  570. package/{dist/web-components-library/p-ceeb3e2a.entry.js → www/build/p-93d349ee.entry.js} +2 -2
  571. package/www/build/p-988a58dd.entry.js +2 -0
  572. package/{dist/web-components-library/p-816fd6dc.entry.js → www/build/p-9ae0c0c6.entry.js} +2 -2
  573. package/www/build/{p-d7f12672.js → p-9c816a3b.js} +2 -2
  574. package/{dist/web-components-library/p-4cec3345.entry.js → www/build/p-a2ee659d.entry.js} +2 -2
  575. package/{dist/web-components-library/p-94916bdf.entry.js → www/build/p-a4d2cf55.entry.js} +2 -2
  576. package/www/build/p-a5146ef3.entry.js +2 -0
  577. package/www/build/p-a5146ef3.entry.js.map +1 -0
  578. package/www/build/{p-04f80811.entry.js → p-a8609510.entry.js} +2 -2
  579. package/{dist/web-components-library/p-817689d5.entry.js → www/build/p-aaa96c12.entry.js} +3 -3
  580. package/www/build/{p-e0b88075.entry.js → p-b391211f.entry.js} +2 -2
  581. package/www/build/{p-342b0eb0.entry.js → p-b421424f.entry.js} +2 -2
  582. package/www/build/p-b54d923e.entry.js +2 -0
  583. package/www/build/p-b54d923e.entry.js.map +1 -0
  584. package/www/build/{p-d9c9de15.entry.js → p-b7056859.entry.js} +2 -2
  585. package/www/build/p-c12f93e4.entry.js +2 -0
  586. package/www/build/p-c12f93e4.entry.js.map +1 -0
  587. package/www/build/{p-3f5aa623.entry.js → p-c5d52872.entry.js} +2 -2
  588. package/www/build/p-c5d52872.entry.js.map +1 -0
  589. package/www/build/{p-5159edb1.entry.js → p-c811b0cf.entry.js} +2 -2
  590. package/www/build/p-c89e1f4b.entry.js +2 -0
  591. package/www/build/p-c89e1f4b.entry.js.map +1 -0
  592. package/www/build/{p-2bdac94e.entry.js → p-c9b81cab.entry.js} +2 -2
  593. package/www/build/{p-30e42fb1.js → p-cb395500.js} +2 -2
  594. package/www/build/{p-5a1f98a2.entry.js → p-cbc09112.entry.js} +2 -2
  595. package/www/build/p-da3abb97.entry.js +2 -0
  596. package/www/build/{p-2612e3a2.entry.js → p-daa442e6.entry.js} +2 -2
  597. package/www/build/{p-c778bf87.entry.js → p-e8eacbeb.entry.js} +4 -4
  598. package/www/build/p-e8eacbeb.entry.js.map +1 -0
  599. package/www/build/p-eb15536d.js +2 -0
  600. package/www/build/p-eb15536d.js.map +1 -0
  601. package/www/build/p-efa6b991.entry.js +2 -0
  602. package/www/build/{p-01f941c2.entry.js → p-f4b987ed.entry.js} +2 -2
  603. package/www/build/{p-bdbcf353.entry.js → p-f662e7ff.entry.js} +2 -2
  604. package/www/build/p-f92e0c29.entry.js +2 -0
  605. package/www/build/{p-a905df88.entry.js → p-ff89d630.entry.js} +2 -2
  606. package/www/build/web-components-library.css +23 -25
  607. package/www/build/web-components-library.esm.js +1 -1
  608. package/www/build/web-components-library.esm.js.map +1 -1
  609. package/www/index.html +1 -1
  610. package/dist/cjs/index-97a4c18d.js.map +0 -1
  611. package/dist/cjs/utils-5148245a.js.map +0 -1
  612. package/dist/esm/index-2a6324f8.js.map +0 -1
  613. package/dist/esm/utils-e66d94c3.js.map +0 -1
  614. package/dist/web-components-library/p-030257b3.js +0 -2
  615. package/dist/web-components-library/p-1170826b.js +0 -2
  616. package/dist/web-components-library/p-17af7fb2.js +0 -2
  617. package/dist/web-components-library/p-17af7fb2.js.map +0 -1
  618. package/dist/web-components-library/p-17e1abca.entry.js +0 -2
  619. package/dist/web-components-library/p-17e1abca.entry.js.map +0 -1
  620. package/dist/web-components-library/p-198b1692.entry.js +0 -2
  621. package/dist/web-components-library/p-22128478.entry.js +0 -2
  622. package/dist/web-components-library/p-22128478.entry.js.map +0 -1
  623. package/dist/web-components-library/p-237fcaa9.entry.js +0 -2
  624. package/dist/web-components-library/p-334cba5d.entry.js +0 -2
  625. package/dist/web-components-library/p-334cba5d.entry.js.map +0 -1
  626. package/dist/web-components-library/p-3f5aa623.entry.js.map +0 -1
  627. package/dist/web-components-library/p-4c9bf42d.js +0 -2
  628. package/dist/web-components-library/p-5a24e268.entry.js +0 -2
  629. package/dist/web-components-library/p-60e3fa30.entry.js +0 -2
  630. package/dist/web-components-library/p-6cffbabc.entry.js +0 -2
  631. package/dist/web-components-library/p-6cffbabc.entry.js.map +0 -1
  632. package/dist/web-components-library/p-9e3da0b7.entry.js +0 -2
  633. package/dist/web-components-library/p-bc7fd8af.entry.js +0 -2
  634. package/dist/web-components-library/p-bc7fd8af.entry.js.map +0 -1
  635. package/dist/web-components-library/p-c778bf87.entry.js.map +0 -1
  636. package/dist/web-components-library/p-d2035d26.entry.js +0 -2
  637. package/dist/web-components-library/p-d6a7b7f3.entry.js +0 -2
  638. package/dist/web-components-library/p-d6a7b7f3.entry.js.map +0 -1
  639. package/dist/web-components-library/p-d75f8bbb.entry.js +0 -2
  640. package/dist/web-components-library/p-d90d2698.entry.js +0 -2
  641. package/dist/web-components-library/p-deb7f8d7.entry.js +0 -2
  642. package/dist/web-components-library/p-e5407cc1.entry.js +0 -2
  643. package/dist/web-components-library/p-e6778114.js +0 -2
  644. package/dist/web-components-library/p-e6778114.js.map +0 -1
  645. package/dist/web-components-library/p-f5dfd04d.entry.js +0 -2
  646. package/dist/web-components-library/p-f5dfd04d.entry.js.map +0 -1
  647. package/www/build/p-030257b3.js +0 -2
  648. package/www/build/p-0aba9c42.js +0 -2
  649. package/www/build/p-1170826b.js +0 -2
  650. package/www/build/p-17af7fb2.js +0 -2
  651. package/www/build/p-17af7fb2.js.map +0 -1
  652. package/www/build/p-17e1abca.entry.js +0 -2
  653. package/www/build/p-17e1abca.entry.js.map +0 -1
  654. package/www/build/p-198b1692.entry.js +0 -2
  655. package/www/build/p-22128478.entry.js +0 -2
  656. package/www/build/p-22128478.entry.js.map +0 -1
  657. package/www/build/p-237fcaa9.entry.js +0 -2
  658. package/www/build/p-334cba5d.entry.js +0 -2
  659. package/www/build/p-334cba5d.entry.js.map +0 -1
  660. package/www/build/p-3f5aa623.entry.js.map +0 -1
  661. package/www/build/p-4c9bf42d.js +0 -2
  662. package/www/build/p-5a24e268.entry.js +0 -2
  663. package/www/build/p-60e3fa30.entry.js +0 -2
  664. package/www/build/p-6cffbabc.entry.js +0 -2
  665. package/www/build/p-6cffbabc.entry.js.map +0 -1
  666. package/www/build/p-9e3da0b7.entry.js +0 -2
  667. package/www/build/p-bc7fd8af.entry.js +0 -2
  668. package/www/build/p-bc7fd8af.entry.js.map +0 -1
  669. package/www/build/p-c778bf87.entry.js.map +0 -1
  670. package/www/build/p-d2035d26.entry.js +0 -2
  671. package/www/build/p-d6a7b7f3.entry.js +0 -2
  672. package/www/build/p-d6a7b7f3.entry.js.map +0 -1
  673. package/www/build/p-d75f8bbb.entry.js +0 -2
  674. package/www/build/p-d90d2698.entry.js +0 -2
  675. package/www/build/p-deb7f8d7.entry.js +0 -2
  676. package/www/build/p-e5407cc1.entry.js +0 -2
  677. package/www/build/p-e6778114.js +0 -2
  678. package/www/build/p-e6778114.js.map +0 -1
  679. package/www/build/p-f5dfd04d.entry.js +0 -2
  680. package/www/build/p-f5dfd04d.entry.js.map +0 -1
  681. /package/dist/web-components-library/{p-375f8542.entry.js.map → p-0643d684.entry.js.map} +0 -0
  682. /package/dist/web-components-library/{p-44459393.entry.js.map → p-0aed3ddc.entry.js.map} +0 -0
  683. /package/dist/web-components-library/{p-b96900bb.entry.js.map → p-19103e70.entry.js.map} +0 -0
  684. /package/dist/web-components-library/{p-fb232d07.entry.js.map → p-252893a8.entry.js.map} +0 -0
  685. /package/dist/web-components-library/{p-2aeffcf9.entry.js.map → p-26ed6c96.entry.js.map} +0 -0
  686. /package/dist/web-components-library/{p-99210133.entry.js.map → p-2d4cf6ff.entry.js.map} +0 -0
  687. /package/dist/web-components-library/{p-8687691b.entry.js.map → p-30a78a06.entry.js.map} +0 -0
  688. /package/dist/web-components-library/{p-237fcaa9.entry.js.map → p-3977b0ae.entry.js.map} +0 -0
  689. /package/dist/web-components-library/{p-9e3da0b7.entry.js.map → p-3ba7621b.entry.js.map} +0 -0
  690. /package/dist/web-components-library/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  691. /package/dist/web-components-library/{p-d2035d26.entry.js.map → p-42abfe3b.entry.js.map} +0 -0
  692. /package/dist/web-components-library/{p-60e3fa30.entry.js.map → p-4504375f.entry.js.map} +0 -0
  693. /package/dist/web-components-library/{p-19f5b6a9.entry.js.map → p-47813782.entry.js.map} +0 -0
  694. /package/dist/web-components-library/{p-b7b972c0.entry.js.map → p-47b59f05.entry.js.map} +0 -0
  695. /package/dist/web-components-library/{p-4a257653.entry.js.map → p-565c1815.entry.js.map} +0 -0
  696. /package/dist/web-components-library/{p-22ba2a17.entry.js.map → p-58aeaf21.entry.js.map} +0 -0
  697. /package/dist/web-components-library/{p-1c7550f9.entry.js.map → p-5905cca0.entry.js.map} +0 -0
  698. /package/dist/web-components-library/{p-cc18a2b7.entry.js.map → p-5e2f6ab7.entry.js.map} +0 -0
  699. /package/dist/web-components-library/{p-0a49dd1c.entry.js.map → p-613987cd.entry.js.map} +0 -0
  700. /package/dist/web-components-library/{p-b63c8e8b.entry.js.map → p-6164feb9.entry.js.map} +0 -0
  701. /package/dist/web-components-library/{p-1170826b.js.map → p-623fdee4.js.map} +0 -0
  702. /package/dist/web-components-library/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  703. /package/dist/web-components-library/{p-f19f12b1.js.map → p-68d91a93.js.map} +0 -0
  704. /package/dist/web-components-library/{p-f4bac89b.entry.js.map → p-6c9cd6be.entry.js.map} +0 -0
  705. /package/dist/web-components-library/{p-e3b82454.entry.js.map → p-6e13aa8e.entry.js.map} +0 -0
  706. /package/dist/web-components-library/{p-4affbb99.entry.js.map → p-767b66ca.entry.js.map} +0 -0
  707. /package/dist/web-components-library/{p-34975328.entry.js.map → p-76d1d0e4.entry.js.map} +0 -0
  708. /package/dist/web-components-library/{p-e9e2ceb4.entry.js.map → p-771dea79.entry.js.map} +0 -0
  709. /package/dist/web-components-library/{p-4c9bf42d.js.map → p-7b837e11.js.map} +0 -0
  710. /package/dist/web-components-library/{p-86160fe3.entry.js.map → p-7d655f96.entry.js.map} +0 -0
  711. /package/dist/web-components-library/{p-d75f8bbb.entry.js.map → p-82eeea83.entry.js.map} +0 -0
  712. /package/dist/web-components-library/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  713. /package/dist/web-components-library/{p-2f948bac.entry.js.map → p-8988eee3.entry.js.map} +0 -0
  714. /package/dist/web-components-library/{p-1844a4f4.entry.js.map → p-8a53fefb.entry.js.map} +0 -0
  715. /package/dist/web-components-library/{p-748fa3ae.js.map → p-8b367393.js.map} +0 -0
  716. /package/dist/web-components-library/{p-4551b0df.entry.js.map → p-8c52635e.entry.js.map} +0 -0
  717. /package/dist/web-components-library/{p-240de9aa.entry.js.map → p-8fd50cc5.entry.js.map} +0 -0
  718. /package/dist/web-components-library/{p-1fd1cf02.entry.js.map → p-92f13701.entry.js.map} +0 -0
  719. /package/dist/web-components-library/{p-ceeb3e2a.entry.js.map → p-93d349ee.entry.js.map} +0 -0
  720. /package/dist/web-components-library/{p-d90d2698.entry.js.map → p-988a58dd.entry.js.map} +0 -0
  721. /package/dist/web-components-library/{p-816fd6dc.entry.js.map → p-9ae0c0c6.entry.js.map} +0 -0
  722. /package/dist/web-components-library/{p-d7f12672.js.map → p-9c816a3b.js.map} +0 -0
  723. /package/dist/web-components-library/{p-4cec3345.entry.js.map → p-a2ee659d.entry.js.map} +0 -0
  724. /package/dist/web-components-library/{p-94916bdf.entry.js.map → p-a4d2cf55.entry.js.map} +0 -0
  725. /package/dist/web-components-library/{p-04f80811.entry.js.map → p-a8609510.entry.js.map} +0 -0
  726. /package/dist/web-components-library/{p-817689d5.entry.js.map → p-aaa96c12.entry.js.map} +0 -0
  727. /package/dist/web-components-library/{p-e0b88075.entry.js.map → p-b391211f.entry.js.map} +0 -0
  728. /package/dist/web-components-library/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  729. /package/dist/web-components-library/{p-d9c9de15.entry.js.map → p-b7056859.entry.js.map} +0 -0
  730. /package/dist/web-components-library/{p-5159edb1.entry.js.map → p-c811b0cf.entry.js.map} +0 -0
  731. /package/dist/web-components-library/{p-2bdac94e.entry.js.map → p-c9b81cab.entry.js.map} +0 -0
  732. /package/dist/web-components-library/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  733. /package/dist/web-components-library/{p-5a1f98a2.entry.js.map → p-cbc09112.entry.js.map} +0 -0
  734. /package/dist/web-components-library/{p-deb7f8d7.entry.js.map → p-da3abb97.entry.js.map} +0 -0
  735. /package/dist/web-components-library/{p-2612e3a2.entry.js.map → p-daa442e6.entry.js.map} +0 -0
  736. /package/dist/web-components-library/{p-e5407cc1.entry.js.map → p-efa6b991.entry.js.map} +0 -0
  737. /package/dist/web-components-library/{p-01f941c2.entry.js.map → p-f4b987ed.entry.js.map} +0 -0
  738. /package/dist/web-components-library/{p-bdbcf353.entry.js.map → p-f662e7ff.entry.js.map} +0 -0
  739. /package/dist/web-components-library/{p-198b1692.entry.js.map → p-f92e0c29.entry.js.map} +0 -0
  740. /package/dist/web-components-library/{p-a905df88.entry.js.map → p-ff89d630.entry.js.map} +0 -0
  741. /package/www/build/{p-375f8542.entry.js.map → p-0643d684.entry.js.map} +0 -0
  742. /package/www/build/{p-44459393.entry.js.map → p-0aed3ddc.entry.js.map} +0 -0
  743. /package/www/build/{p-b96900bb.entry.js.map → p-19103e70.entry.js.map} +0 -0
  744. /package/www/build/{p-fb232d07.entry.js.map → p-252893a8.entry.js.map} +0 -0
  745. /package/www/build/{p-2aeffcf9.entry.js.map → p-26ed6c96.entry.js.map} +0 -0
  746. /package/www/build/{p-99210133.entry.js.map → p-2d4cf6ff.entry.js.map} +0 -0
  747. /package/www/build/{p-8687691b.entry.js.map → p-30a78a06.entry.js.map} +0 -0
  748. /package/www/build/{p-237fcaa9.entry.js.map → p-3977b0ae.entry.js.map} +0 -0
  749. /package/www/build/{p-9e3da0b7.entry.js.map → p-3ba7621b.entry.js.map} +0 -0
  750. /package/www/build/{p-8c164e0d.entry.js.map → p-41891d34.entry.js.map} +0 -0
  751. /package/www/build/{p-d2035d26.entry.js.map → p-42abfe3b.entry.js.map} +0 -0
  752. /package/www/build/{p-60e3fa30.entry.js.map → p-4504375f.entry.js.map} +0 -0
  753. /package/www/build/{p-19f5b6a9.entry.js.map → p-47813782.entry.js.map} +0 -0
  754. /package/www/build/{p-b7b972c0.entry.js.map → p-47b59f05.entry.js.map} +0 -0
  755. /package/www/build/{p-4a257653.entry.js.map → p-565c1815.entry.js.map} +0 -0
  756. /package/www/build/{p-22ba2a17.entry.js.map → p-58aeaf21.entry.js.map} +0 -0
  757. /package/www/build/{p-1c7550f9.entry.js.map → p-5905cca0.entry.js.map} +0 -0
  758. /package/www/build/{p-cc18a2b7.entry.js.map → p-5e2f6ab7.entry.js.map} +0 -0
  759. /package/www/build/{p-0a49dd1c.entry.js.map → p-613987cd.entry.js.map} +0 -0
  760. /package/www/build/{p-b63c8e8b.entry.js.map → p-6164feb9.entry.js.map} +0 -0
  761. /package/www/build/{p-1170826b.js.map → p-623fdee4.js.map} +0 -0
  762. /package/www/build/{p-ee695830.entry.js.map → p-66c0f993.entry.js.map} +0 -0
  763. /package/www/build/{p-f19f12b1.js.map → p-68d91a93.js.map} +0 -0
  764. /package/www/build/{p-f4bac89b.entry.js.map → p-6c9cd6be.entry.js.map} +0 -0
  765. /package/www/build/{p-e3b82454.entry.js.map → p-6e13aa8e.entry.js.map} +0 -0
  766. /package/www/build/{p-4affbb99.entry.js.map → p-767b66ca.entry.js.map} +0 -0
  767. /package/www/build/{p-34975328.entry.js.map → p-76d1d0e4.entry.js.map} +0 -0
  768. /package/www/build/{p-e9e2ceb4.entry.js.map → p-771dea79.entry.js.map} +0 -0
  769. /package/www/build/{p-4c9bf42d.js.map → p-7b837e11.js.map} +0 -0
  770. /package/www/build/{p-86160fe3.entry.js.map → p-7d655f96.entry.js.map} +0 -0
  771. /package/www/build/{p-d75f8bbb.entry.js.map → p-82eeea83.entry.js.map} +0 -0
  772. /package/www/build/{p-757415e9.entry.js.map → p-88a9865c.entry.js.map} +0 -0
  773. /package/www/build/{p-2f948bac.entry.js.map → p-8988eee3.entry.js.map} +0 -0
  774. /package/www/build/{p-1844a4f4.entry.js.map → p-8a53fefb.entry.js.map} +0 -0
  775. /package/www/build/{p-748fa3ae.js.map → p-8b367393.js.map} +0 -0
  776. /package/www/build/{p-4551b0df.entry.js.map → p-8c52635e.entry.js.map} +0 -0
  777. /package/www/build/{p-240de9aa.entry.js.map → p-8fd50cc5.entry.js.map} +0 -0
  778. /package/www/build/{p-1fd1cf02.entry.js.map → p-92f13701.entry.js.map} +0 -0
  779. /package/www/build/{p-ceeb3e2a.entry.js.map → p-93d349ee.entry.js.map} +0 -0
  780. /package/www/build/{p-d90d2698.entry.js.map → p-988a58dd.entry.js.map} +0 -0
  781. /package/www/build/{p-816fd6dc.entry.js.map → p-9ae0c0c6.entry.js.map} +0 -0
  782. /package/www/build/{p-d7f12672.js.map → p-9c816a3b.js.map} +0 -0
  783. /package/www/build/{p-4cec3345.entry.js.map → p-a2ee659d.entry.js.map} +0 -0
  784. /package/www/build/{p-94916bdf.entry.js.map → p-a4d2cf55.entry.js.map} +0 -0
  785. /package/www/build/{p-04f80811.entry.js.map → p-a8609510.entry.js.map} +0 -0
  786. /package/www/build/{p-817689d5.entry.js.map → p-aaa96c12.entry.js.map} +0 -0
  787. /package/www/build/{p-e0b88075.entry.js.map → p-b391211f.entry.js.map} +0 -0
  788. /package/www/build/{p-342b0eb0.entry.js.map → p-b421424f.entry.js.map} +0 -0
  789. /package/www/build/{p-d9c9de15.entry.js.map → p-b7056859.entry.js.map} +0 -0
  790. /package/www/build/{p-5159edb1.entry.js.map → p-c811b0cf.entry.js.map} +0 -0
  791. /package/www/build/{p-2bdac94e.entry.js.map → p-c9b81cab.entry.js.map} +0 -0
  792. /package/www/build/{p-30e42fb1.js.map → p-cb395500.js.map} +0 -0
  793. /package/www/build/{p-5a1f98a2.entry.js.map → p-cbc09112.entry.js.map} +0 -0
  794. /package/www/build/{p-deb7f8d7.entry.js.map → p-da3abb97.entry.js.map} +0 -0
  795. /package/www/build/{p-2612e3a2.entry.js.map → p-daa442e6.entry.js.map} +0 -0
  796. /package/www/build/{p-e5407cc1.entry.js.map → p-efa6b991.entry.js.map} +0 -0
  797. /package/www/build/{p-01f941c2.entry.js.map → p-f4b987ed.entry.js.map} +0 -0
  798. /package/www/build/{p-bdbcf353.entry.js.map → p-f662e7ff.entry.js.map} +0 -0
  799. /package/www/build/{p-198b1692.entry.js.map → p-f92e0c29.entry.js.map} +0 -0
  800. /package/www/build/{p-a905df88.entry.js.map → p-ff89d630.entry.js.map} +0 -0
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { P as PopoverPosition, g as KeyboardCode, p as Device } from './index2.js';
3
3
  import { a as containsElement, i as getParentElement, j as findContainingBlockAncestor, g as getDevice, k as isElementVisibleInContainer } from './utils.js';
4
4
 
5
- const stylesCss = ":host{position:fixed;display:none;max-width:calc(100% - var(--grid-margin) * 2);max-height:calc(100% - var(--grid-margin) * 2);padding:var(--z-popover-padding, 0);background:var(--z-popover-theme--surface, var(--color-surface01));border-radius:var(--border-radius-small);color:var(--z-popover-theme--text, var(--color-default-text));fill:currentcolor;filter:var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));text-align:center;visibility:hidden;}:host([open]:not([open=\"false\"])[current-position]){display:block}:host([center][current-position=\"top\"]),:host([center][current-position=\"bottom\"]){transform:translateX(-50%)}:host([center][current-position=\"right\"]),:host([center][current-position=\"left\"]){transform:translateY(-50%)}:host([current-position])::before{--arrow-size:6px;--arrow-edge-offset:calc(100% - var(--space-unit) - (var(--arrow-size) / 2));--arrow-center-x-offset:calc(50% - (var(--arrow-size) / 2));--arrow-center-y-offset:calc(100% - (var(--arrow-size) / 2));position:absolute;display:block;width:var(--arrow-size);height:var(--arrow-size);background:var(--z-popover-theme--surface, var(--color-surface01));content:\"\";transform:rotate(45deg)}:host([show-arrow=\"false\"])::before,:host(:not([show-arrow]))::before{display:none}:host([current-position^=\"top\"])::before{top:var(--arrow-center-y-offset)}:host([current-position^=\"bottom\"])::before{bottom:var(--arrow-center-y-offset)}:host([current-position=\"top\"])::before,:host([current-position=\"bottom\"])::before{right:var(--arrow-edge-offset)}:host([current-position=\"right\"])::before,:host([current-position=\"left\"])::before{bottom:var(--arrow-edge-offset)}:host([current-position=\"right\"])::before{right:var(--arrow-center-y-offset)}:host([current-position=\"left\"])::before{left:var(--arrow-center-y-offset)}:host([current-position=\"top_right\"])::before,:host([current-position=\"bottom_right\"])::before{right:var(--arrow-edge-offset)}:host([current-position=\"top_left\"])::before,:host([current-position=\"bottom_left\"])::before{left:var(--arrow-edge-offset)}:host([current-position=\"right_top\"])::before,:host([current-position=\"left_top\"])::before{top:var(--arrow-edge-offset)}:host([current-position=\"right_top\"])::before,:host([current-position=\"right_bottom\"])::before{right:var(--arrow-center-y-offset)}:host([current-position=\"left_top\"])::before,:host([current-position=\"left_bottom\"])::before{left:var(--arrow-center-y-offset)}:host([current-position=\"right_bottom\"])::before,:host([current-position=\"left_bottom\"])::before{bottom:var(--arrow-edge-offset)}:host([center][current-position=\"top\"])::before,:host([center][current-position=\"bottom\"])::before{right:auto;left:var(--arrow-center-x-offset)}:host([center][current-position=\"right\"])::before,:host([center][current-position=\"left\"])::before{top:var(--arrow-center-x-offset);bottom:auto}";
5
+ const stylesCss = ":host{position:fixed;display:none;max-width:calc(100dvw - var(--grid-margin) * 2);max-height:calc(100dvh - var(--grid-margin) * 2);padding:var(--z-popover-padding, 0);background:var(--z-popover-theme--surface, var(--color-surface01));border-radius:var(--border-radius-small);color:var(--z-popover-theme--text, var(--color-default-text));fill:currentcolor;filter:var(--z-popover-shadow-filter, drop-shadow(0 1px 2px var(--shadow-color-base)));text-align:center;visibility:hidden;}:host([open]:not([open=\"false\"])[current-position]){display:block}:host([center][current-position=\"top\"]),:host([center][current-position=\"bottom\"]){transform:translateX(-50%)}:host([center][current-position=\"right\"]),:host([center][current-position=\"left\"]){transform:translateY(-50%)}:host([current-position^=\"top\"]){margin:0 0 var(--space-unit)}:host([current-position^=\"bottom\"]){margin:var(--space-unit) 0 0}:host([current-position^=\"left\"]){margin:0 var(--space-unit) 0 0}:host([current-position^=\"right\"]){margin:0 0 0 var(--space-unit)}:host([current-position])::before{--arrow-size:6px;--arrow-edge-offset:calc(100% - var(--space-unit) - (var(--arrow-size) / 2));--arrow-center-x-offset:calc(50% - (var(--arrow-size) / 2));--arrow-center-y-offset:calc(100% - (var(--arrow-size) / 2));position:absolute;display:block;width:var(--arrow-size);height:var(--arrow-size);background:var(--z-popover-theme--surface, var(--color-surface01));content:\"\";transform:rotate(45deg)}:host([show-arrow=\"false\"])::before,:host(:not([show-arrow]))::before{display:none}:host([current-position^=\"top\"])::before{top:var(--arrow-center-y-offset)}:host([current-position^=\"bottom\"])::before{bottom:var(--arrow-center-y-offset)}:host([current-position=\"top\"])::before,:host([current-position=\"bottom\"])::before{right:var(--arrow-edge-offset)}:host([current-position=\"right\"])::before,:host([current-position=\"left\"])::before{bottom:var(--arrow-edge-offset)}:host([current-position=\"right\"])::before{right:var(--arrow-center-y-offset)}:host([current-position=\"left\"])::before{left:var(--arrow-center-y-offset)}:host([current-position=\"top_right\"])::before,:host([current-position=\"bottom_right\"])::before{right:var(--arrow-edge-offset)}:host([current-position=\"top_left\"])::before,:host([current-position=\"bottom_left\"])::before{left:var(--arrow-edge-offset)}:host([current-position=\"right_top\"])::before,:host([current-position=\"left_top\"])::before{top:var(--arrow-edge-offset)}:host([current-position=\"right_top\"])::before,:host([current-position=\"right_bottom\"])::before{right:var(--arrow-center-y-offset)}:host([current-position=\"left_top\"])::before,:host([current-position=\"left_bottom\"])::before{left:var(--arrow-center-y-offset)}:host([current-position=\"right_bottom\"])::before,:host([current-position=\"left_bottom\"])::before{bottom:var(--arrow-edge-offset)}:host([center][current-position=\"top\"])::before,:host([center][current-position=\"bottom\"])::before{right:auto;left:var(--arrow-center-x-offset)}:host([center][current-position=\"right\"])::before,:host([center][current-position=\"left\"])::before{top:var(--arrow-center-x-offset);bottom:auto}";
6
6
  const ZPopoverStyle0 = stylesCss;
7
7
 
8
8
  const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLElement {
@@ -24,6 +24,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
24
24
  }
25
25
  closePopoverWithKeyboard(e) {
26
26
  if (this.closable && e.key === KeyboardCode.ESC) {
27
+ e.stopPropagation();
27
28
  this.open = false;
28
29
  }
29
30
  }
@@ -254,7 +255,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
254
255
  if (parent === element.ownerDocument.documentElement) {
255
256
  return parent;
256
257
  }
257
- const style = window.getComputedStyle(parent);
258
+ const style = getComputedStyle(parent);
258
259
  const { overflow, overflowX, overflowY } = style;
259
260
  const hasHiddenOverflow = overflow === "hidden" || overflowY === "hidden" || overflowX === "hidden";
260
261
  const isScrollable = (parent.scrollHeight > parent.clientHeight && overflow !== "visible" && overflowY !== "visible") ||
@@ -356,11 +357,14 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
356
357
  const boundElementWidth = this.boundElement.offsetWidth;
357
358
  const boundElementHeight = this.boundElement.offsetHeight;
358
359
  const offsetModifier = this.offsetModifier;
359
- /** Distance between the arrow center and the popover edge. Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled. */
360
+ /**
361
+ * Distance between the arrow center and the popover edge.
362
+ * Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled.
363
+ */
360
364
  const arrowModifier = this.showArrow && this.center ? 8 : 0;
361
365
  const hostStyle = this.host.style;
362
- /** Gap between the popover and the bound element. */
363
- const distanceFromBound = parseInt(hostStyle.getPropertyValue("--space-unit")) || 8;
366
+ /** Gap between the popover and the bound element, set as margin in CSS. */
367
+ const distanceFromBound = parseFloat(getComputedStyle(this.host).marginTop.replace("px", "")) || 0;
364
368
  const positionOffsets = this.computePositionOffsets();
365
369
  /**
366
370
  * Precomputed bases to reduce repeated arithmetic in the switch below.
@@ -377,7 +381,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
377
381
  switch (position) {
378
382
  case PopoverPosition.TOP:
379
383
  case PopoverPosition.TOP_RIGHT:
380
- hostStyle.bottom = `${bottomBase + distanceFromBound}px`;
384
+ hostStyle.bottom = `${bottomBase}px`;
381
385
  hostStyle.left = `${leftBase - (position === PopoverPosition.TOP_RIGHT ? arrowModifier : 0)}px`;
382
386
  maxHeight = availableSpace.top - distanceFromBound;
383
387
  if (position === PopoverPosition.TOP_RIGHT) {
@@ -386,13 +390,13 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
386
390
  break;
387
391
  case PopoverPosition.TOP_LEFT:
388
392
  hostStyle.right = `${rightBase - arrowModifier}px`;
389
- hostStyle.bottom = `${bottomBase + distanceFromBound}px`;
393
+ hostStyle.bottom = `${bottomBase}px`;
390
394
  maxWidth = availableSpace.left + boundElementWidth * offsetModifier;
391
395
  maxHeight = availableSpace.top - distanceFromBound;
392
396
  break;
393
397
  case PopoverPosition.BOTTOM:
394
398
  case PopoverPosition.BOTTOM_RIGHT:
395
- hostStyle.top = `${topBase + distanceFromBound}px`;
399
+ hostStyle.top = `${topBase}px`;
396
400
  hostStyle.left = `${leftBase - (position === PopoverPosition.BOTTOM_RIGHT ? arrowModifier : 0)}px`;
397
401
  maxHeight = availableSpace.bottom - distanceFromBound;
398
402
  if (position === PopoverPosition.BOTTOM_RIGHT) {
@@ -400,7 +404,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
400
404
  }
401
405
  break;
402
406
  case PopoverPosition.BOTTOM_LEFT:
403
- hostStyle.top = `${topBase + distanceFromBound}px`;
407
+ hostStyle.top = `${topBase}px`;
404
408
  hostStyle.right = `${rightBase - arrowModifier}px`;
405
409
  maxWidth = availableSpace.left + boundElementWidth * offsetModifier;
406
410
  maxHeight = availableSpace.bottom - distanceFromBound;
@@ -408,7 +412,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
408
412
  case PopoverPosition.RIGHT:
409
413
  case PopoverPosition.RIGHT_BOTTOM:
410
414
  hostStyle.top = `${sideTopBase - (position === PopoverPosition.RIGHT_BOTTOM ? arrowModifier : 0)}px`;
411
- hostStyle.left = `${positionOffsets.left + boundElementWidth + distanceFromBound}px`;
415
+ hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;
412
416
  maxWidth = availableSpace.right - distanceFromBound;
413
417
  if (position === PopoverPosition.RIGHT) {
414
418
  maxHeight = availableSpace.top + availableSpace.bottom + boundElementHeight;
@@ -419,21 +423,21 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
419
423
  break;
420
424
  case PopoverPosition.RIGHT_TOP:
421
425
  hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;
422
- hostStyle.left = `${positionOffsets.left + boundElementWidth + distanceFromBound}px`;
426
+ hostStyle.left = `${positionOffsets.left + boundElementWidth}px`;
423
427
  maxWidth = availableSpace.right - distanceFromBound;
424
428
  maxHeight = availableSpace.top + boundElementHeight * offsetModifier;
425
429
  break;
426
430
  case PopoverPosition.LEFT:
427
431
  case PopoverPosition.LEFT_BOTTOM:
428
432
  hostStyle.top = `${sideTopBase - (position === PopoverPosition.LEFT_BOTTOM ? arrowModifier : 0)}px`;
429
- hostStyle.right = `${positionOffsets.right + boundElementWidth + distanceFromBound}px`;
433
+ hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;
430
434
  maxWidth = availableSpace.left - distanceFromBound;
431
435
  if (position === PopoverPosition.LEFT_BOTTOM) {
432
436
  maxHeight = availableSpace.bottom + boundElementHeight * offsetModifier;
433
437
  }
434
438
  break;
435
439
  case PopoverPosition.LEFT_TOP:
436
- hostStyle.right = `${positionOffsets.right + boundElementWidth + distanceFromBound}px`;
440
+ hostStyle.right = `${positionOffsets.right + boundElementWidth}px`;
437
441
  hostStyle.bottom = `${sideBottomBase - arrowModifier}px`;
438
442
  maxWidth = availableSpace.left - distanceFromBound;
439
443
  maxHeight = availableSpace.top + boundElementHeight * offsetModifier;
@@ -489,7 +493,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
489
493
  cancelAnimationFrame(this.animationFrameRequestId);
490
494
  }
491
495
  render() {
492
- return (h(Host, { key: 'a778d9679d27ca18fe92eab0f596a86cb904a49f', "current-position": this.currentPosition }, h("slot", { key: 'de51304770f9f501a10ca26232448a31482da68d' })));
496
+ return (h(Host, { key: 'c3483157f2664088a337118936d81f551dcf25b1', "current-position": this.currentPosition }, h("slot", { key: 'fc9856b30959fc041dbf295fe7bbf523ce6adaf6' })));
493
497
  }
494
498
  get host() { return this; }
495
499
  static get watchers() { return {
@@ -506,7 +510,7 @@ const ZPopover = /*@__PURE__*/ proxyCustomElement(class ZPopover extends HTMLEle
506
510
  "center": [516],
507
511
  "closable": [4],
508
512
  "currentPosition": [32]
509
- }, [[8, "keyup", "closePopoverWithKeyboard"], [18, "click", "handleOutsideClick"]], {
513
+ }, [[10, "keyup", "closePopoverWithKeyboard"], [18, "click", "handleOutsideClick"]], {
510
514
  "position": ["validatePosition"],
511
515
  "open": ["onOpen"],
512
516
  "bindTo": ["onBindingChange"]
@@ -1 +1 @@
1
- {"file":"index24.js","mappings":"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","names":[],"sources":["src/components/z-popover/styles.css?tag=z-popover&encapsulation=shadow","src/components/z-popover/index.tsx"],"sourcesContent":[":host {\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(100% - var(--grid-margin) * 2);\n max-height: calc(100% - 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/* Arrow style */\n\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 {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} 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 * @cssprop --z-popover-theme--surface - background color of the popover.\n * @cssprop --z-popover-theme--text - foreground color of the popover.\n * @cssprop --z-popover-padding - padding of the popover.\n * @cssprop --z-popover-shadow-filter - drop-shadow filter of the popover. Defaults to `drop-shadow(0 1px 2px var(--shadow-color-base))`.\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover {\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 * 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 * 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;\n\n /** Open change event. */\n @Event()\n openChange: EventEmitter;\n\n @Listen(\"keyup\", {target: \"window\"})\n closePopoverWithKeyboard(e: KeyboardEvent): void {\n if (this.closable && e.key === KeyboardCode.ESC) {\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 = window.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 /** Distance between the arrow center and the popover edge. Needed to align the center of the arrow with the center of the bound element when `showArrow` and `center` are enabled. */\n const arrowModifier = this.showArrow && this.center ? 8 : 0;\n const hostStyle = this.host.style;\n /** Gap between the popover and the bound element. */\n const distanceFromBound = parseInt(hostStyle.getPropertyValue(\"--space-unit\")) || 8;\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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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 + distanceFromBound}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"],"version":3}
1
+ {"file":"index24.js","mappings":"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","names":[],"sources":["src/components/z-popover/styles.css?tag=z-popover&encapsulation=shadow","src/components/z-popover/index.tsx"],"sourcesContent":[":host {\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 {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} 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 * @cssprop --z-popover-theme--surface - background color of the popover.\n * @cssprop --z-popover-theme--text - foreground color of the popover.\n * @cssprop --z-popover-padding - padding of the popover.\n * @cssprop --z-popover-shadow-filter - drop-shadow filter of the popover. Defaults to `drop-shadow(0 1px 2px var(--shadow-color-base))`.\n */\n@Component({\n tag: \"z-popover\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZPopover {\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"],"version":3}
@@ -14,10 +14,10 @@ const ZTag = /*@__PURE__*/ proxyCustomElement(class ZTag extends HTMLElement {
14
14
  render() {
15
15
  var _a;
16
16
  const hasText = ((_a = this.host.textContent) === null || _a === void 0 ? void 0 : _a.trim().length) > 0;
17
- return (h(Host, { key: '639a80328cf620c692ea9cda77ba077c45aeb2cc', class: {
17
+ return (h(Host, { key: 'ed05949bf1f4fb03fdbecfaa7acb43bfbb6f8841', class: {
18
18
  "expandable": this.expandable && !!this.icon,
19
19
  "has-text": hasText,
20
- } }, this.icon && h("z-icon", { key: '46b90e5166a9794407ec7d59f6fffcaf5452829d', name: this.icon }), h("div", { key: '0ba235cee8da5c3fcc5229fbb3cb6abcd0b63db0' }, h("slot", { key: '647a88e3f9b0149e9091e3e84616b53bf78e38a7' }))));
20
+ } }, this.icon && h("z-icon", { key: '72ebeed5930725102f4131acedeabc536d887a44', name: this.icon }), h("div", { key: '7528424efc94fad4b910f54365a20dd644962936' }, h("slot", { key: '951b325ae2b157d343fd6fbed8bc8d40fcdd9e37' }))));
21
21
  }
22
22
  get host() { return this; }
23
23
  static get style() { return ZTagStyle0; }
@@ -0,0 +1,55 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { P as PopoverPosition } from './index2.js';
3
+ import { d as defineCustomElement$1 } from './index24.js';
4
+
5
+ const stylesCss = ":host{--z-tooltip-theme--surface:var(--color-surface01);--z-tooltip-theme--text:var(--color-default-text);--z-tooltip-shadow-filter:drop-shadow(0 1px 2px var(--shadow-color-base));--z-tooltip-padding:var(--space-unit)}z-popover{--z-popover-theme--surface:var(--z-tooltip-theme--surface);--z-popover-theme--text:var(--z-tooltip-theme--text);--z-popover-padding:var(--z-tooltip-padding);--z-popover-shadow-filter:var(--z-tooltip-shadow-filter)}:host([dark]) z-popover{--z-popover-theme--surface:var(--color-surface05);--z-popover-theme--text:var(--color-text-inverse)}";
6
+ const ZTooltipStyle0 = stylesCss;
7
+
8
+ const ZTooltip = /*@__PURE__*/ proxyCustomElement(class ZTooltip extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.__attachShadow();
13
+ this.openChange = createEvent(this, "openChange", 7);
14
+ this.position = PopoverPosition.AUTO;
15
+ this.dark = false;
16
+ this.open = false;
17
+ this.bindTo = undefined;
18
+ this.closable = true;
19
+ }
20
+ onPopoverOpenChange() {
21
+ this.open = this.popoverEl.open;
22
+ }
23
+ render() {
24
+ return (h("z-popover", { key: '8290e0b20bc315ce438e6407ff40c51d227f719d', ref: (el) => (this.popoverEl = el), bindTo: this.bindTo, open: this.open, position: this.position, closable: this.closable, center: true, showArrow: true, onOpenChange: (event) => this.openChange.emit(event.detail) }, h("slot", { key: 'e4f62754fc30723f63f99b79d53d72310f2cae91' })));
25
+ }
26
+ static get style() { return ZTooltipStyle0; }
27
+ }, [1, "z-tooltip", {
28
+ "position": [513],
29
+ "dark": [516],
30
+ "open": [1540],
31
+ "bindTo": [1, "bind-to"],
32
+ "closable": [4]
33
+ }, [[0, "openChange", "onPopoverOpenChange"]]]);
34
+ function defineCustomElement() {
35
+ if (typeof customElements === "undefined") {
36
+ return;
37
+ }
38
+ const components = ["z-tooltip", "z-popover"];
39
+ components.forEach(tagName => { switch (tagName) {
40
+ case "z-tooltip":
41
+ if (!customElements.get(tagName)) {
42
+ customElements.define(tagName, ZTooltip);
43
+ }
44
+ break;
45
+ case "z-popover":
46
+ if (!customElements.get(tagName)) {
47
+ defineCustomElement$1();
48
+ }
49
+ break;
50
+ } });
51
+ }
52
+
53
+ export { ZTooltip as Z, defineCustomElement as d };
54
+
55
+ //# sourceMappingURL=index27.js.map
@@ -0,0 +1 @@
1
+ {"file":"index27.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,wjBAAwjB,CAAC;AAC3kB,uBAAe,SAAS;;MCeX,QAAQ;;;;;;wBAGS,eAAe,CAAC,IAAI;oBAIzC,KAAK;oBAML,KAAK;;wBAcD,IAAI;;IAYf,mBAAmB;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KACjC;IAED,MAAM;QACJ,QACE,kEACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAyB,CAAC,EACzD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,QACN,SAAS,QACT,YAAY,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAE3D,8DAAa,CACH,EACZ;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/z-tooltip/styles.css?tag=z-tooltip&encapsulation=shadow","src/components/z-tooltip/index.tsx"],"sourcesContent":[":host {\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, 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 * @cssprop --z-tooltip-theme--surface - background color of the popover.\n * @cssprop --z-tooltip-theme--text - foreground color of the popover.\n * @cssprop --z-tooltip-shadow-filter - drop-shadow filter of the popover.\n */\n@Component({\n tag: \"z-tooltip\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZTooltip {\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"],"version":3}
@@ -11,7 +11,7 @@ const ZAlert = /*@__PURE__*/ proxyCustomElement(class ZAlert extends HTMLElement
11
11
  this.type = undefined;
12
12
  }
13
13
  render() {
14
- return (h("div", { key: '26eebb059185e89470d6bbe28baa546022df51ab', class: this.type }, h("slot", { key: '0664bdd8351bba159899aed612879654580a9a0e' })));
14
+ return (h("div", { key: '9cdbd685674a5ee5f5d2dec9b9272402f76b9de8', class: this.type }, h("slot", { key: '36d8361bdc4a04c47695afe8e824f976ee8c47df' })));
15
15
  }
16
16
  static get style() { return ZAlertStyle0; }
17
17
  }, [1, "z-alert", {
@@ -17,7 +17,7 @@ const ZBookCover = /*@__PURE__*/ proxyCustomElement(class ZBookCover extends HTM
17
17
  }
18
18
  render() {
19
19
  var _a;
20
- return (h(Host, { key: '68d64d604da888608345f2ce5ca0c5936ab395a7' }, this.multiple && (h(Fragment, { key: 'ce48dbba436fd9fa9cfbda1b96880394b78bf6bc' }, h("div", { key: '50b4efc239d5a89cd224c4c3e78bd09544ae5a58', class: "shifted-stack-cover stack-cover-2" }), h("div", { key: 'aec43bf969d4b7f14c8eae78bd616c3fbcc8cdbc', class: "shifted-stack-cover stack-cover-1" }))), h("div", { key: 'd8c3f8f22e338f112cbede47f5cfbce61a018d5c', class: "cover-container" }, h("img", { key: '35fd6b50c3fbf63bd9e20e02be81348a45c448eb', src: (_a = this.cover) !== null && _a !== void 0 ? _a : img, "aria-hidden": "true", alt: "", onError: () => (this.cover = this.fallbackCover || img) }), h("slot", { key: '56dd2c69edcc18052667a71c09f9157e979617c0', name: "coverOverlay" }))));
20
+ return (h(Host, { key: 'a39c5ae748e87831c5032997d7b98ec3884bce13' }, this.multiple && (h(Fragment, { key: 'ffbce1953710801b0967cef86d3f3d525a08e83a' }, h("div", { key: '29fa36521978e853ae6518cf39c62479f83fe876', class: "shifted-stack-cover stack-cover-2" }), h("div", { key: 'a3922017b9e6d1492bb0a4d3f29ee3438a674f11', class: "shifted-stack-cover stack-cover-1" }))), h("div", { key: '73141066121f7d8a66319962294af2f368fe4523', class: "cover-container" }, h("img", { key: '41de1cbfe5faae14c4e6c52e25e0f64a80792555', src: (_a = this.cover) !== null && _a !== void 0 ? _a : img, "aria-hidden": "true", alt: "", onError: () => (this.cover = this.fallbackCover || img) }), h("slot", { key: '9c49173fd6a0234c960aa8ae612f026a24521231', name: "coverOverlay" }))));
21
21
  }
22
22
  static get style() { return ZBookCoverStyle0; }
23
23
  }, [1, "z-book-cover", {
@@ -17,11 +17,11 @@ const ZChip = /*@__PURE__*/ proxyCustomElement(class ZChip extends HTMLElement {
17
17
  this.ariaLabel = "";
18
18
  }
19
19
  render() {
20
- return (h("div", { key: 'b72d752e39024d30607e7a86bc9541ea2141e40c', class: {
20
+ return (h("div", { key: '7dd8f9f2d4c632559d1e9b3b04e2d139d3cdd1ce', class: {
21
21
  "z-chip-container": true,
22
22
  "z-chip-interactive": !!this.interactiveIcon,
23
23
  [this.type]: true,
24
- }, "aria-disabled": this.disabled }, this.icon && h("z-icon", { key: 'ea88728b94745d8a72b78ffdbb09d24de10d56a5', name: this.icon }), h("slot", { key: '36bea3ad6017a06d4ed8a3592ce98f5799da7e79' }), this.interactiveIcon && (h("button", { key: '0321ec2ba1a499057022fa46f4c6d4e284d74ce4', type: "button", onClick: () => this.interactiveIconClick.emit(), "aria-label": this.ariaLabel, disabled: this.disabled }, h("z-icon", { key: 'dc32dda6bd49e897b4895b17069e0f031f622070', class: "interactive-icon", name: this.interactiveIcon })))));
24
+ }, "aria-disabled": this.disabled }, this.icon && h("z-icon", { key: 'af4721aa7ef2e3c8381685bb2eadd19a35effc81', name: this.icon }), h("slot", { key: '521b4fc72980f48dec8ee49c6fc3c06df3c9bf9a' }), this.interactiveIcon && (h("button", { key: '15cb6244073a9402ee3cb147f74cf3763b2a02cd', type: "button", onClick: () => this.interactiveIconClick.emit(), "aria-label": this.ariaLabel, disabled: this.disabled }, h("z-icon", { key: 'a7c434efafd9891a5262dffa24136724acc0f791', class: "interactive-icon", name: this.interactiveIcon })))));
25
25
  }
26
26
  get el() { return this; }
27
27
  static get style() { return ZChipStyle0; }
@@ -22,12 +22,12 @@ const ZDragdropArea = /*@__PURE__*/ proxyCustomElement(class ZDragdropArea exten
22
22
  }
23
23
  }
24
24
  render() {
25
- return (h(Host, { key: '190dcbcc79e4443895774274715076523f618cf2', class: { dragover: this.dragging }, onDragOver: (e) => {
25
+ return (h(Host, { key: '32b072c1d8a73bfe406e587c2e9e0c7d43424615', class: { dragover: this.dragging }, onDragOver: (e) => {
26
26
  e.preventDefault();
27
27
  this.dragging = true;
28
28
  }, onDragLeave: () => {
29
29
  this.dragging = false;
30
- }, onDrop: this.onDrop.bind(this) }, h("div", { key: '4d80939d13543b91165c7fdb14f5ec8037464ffe', class: "dragover-container" }, h("z-button", { key: '0957633378fc64a9efa91e6cf3748480572f05b8' }, this.dragAndDropLabel)), h("slot", { key: '128c06ec19a231080cafc23108f5a82398626fc5' })));
30
+ }, onDrop: this.onDrop.bind(this) }, h("div", { key: '8312cab9a38f7c4258ef705945717fb8b8ef4b92', class: "dragover-container" }, h("z-button", { key: '36bdf4d0361043294b29c5e7a7102344f74c2b67' }, this.dragAndDropLabel)), h("slot", { key: '8e60d77a01a662095594b085656492e96ac3b445' })));
31
31
  }
32
32
  static get style() { return ZDragdropAreaStyle0; }
33
33
  }, [1, "z-dragdrop-area", {
@@ -10,7 +10,7 @@ const ZGhostLoading = /*@__PURE__*/ proxyCustomElement(class ZGhostLoading exten
10
10
  this.__attachShadow();
11
11
  }
12
12
  render() {
13
- return h(Host, { key: 'b91e3e3bce067ebad27d70f6c1d209e98f045a8e' });
13
+ return h(Host, { key: '597d6715119bb24d4a8427f9cb3ebd3b5a20f5fc' });
14
14
  }
15
15
  static get style() { return ZGhostLoadingStyle0; }
16
16
  }, [1, "z-ghost-loading"]);
@@ -101,24 +101,53 @@ function colorFromId(id) {
101
101
  return `${prefix}${color.toString().padStart(2, "0")}`;
102
102
  }
103
103
  /**
104
- * Check if an element contains another element, checking both light and shadow DOM.
104
+ * Check if an element contains another element, checking both light and shadow DOM recursively.
105
+ * This function also checks slot assignments, so it correctly handles nested slots across components.
105
106
  * @param ancestor Ancestor element
106
107
  * @param descendant Descendant element
107
108
  */
108
109
  function containsElement(ancestor, descendant) {
109
110
  var _a;
110
- return ancestor.contains(descendant) || !!((_a = ancestor.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(descendant));
111
+ if (ancestor.contains(descendant) || ((_a = ancestor.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(descendant))) {
112
+ return true;
113
+ }
114
+ const checkRecursive = (node) => {
115
+ if (node === descendant) {
116
+ return true;
117
+ }
118
+ const shadowRoot = node.shadowRoot;
119
+ if (!shadowRoot) {
120
+ // Check light DOM children only
121
+ return Array.from(node.childNodes).some(checkRecursive);
122
+ }
123
+ if (shadowRoot.contains(descendant)) {
124
+ return true;
125
+ }
126
+ // Check slot assigned nodes
127
+ const hasDescendantInAssignedNodes = Array.from(shadowRoot.querySelectorAll("slot")).some((slot) => slot
128
+ .assignedNodes({ flatten: true })
129
+ .some((assigned) => { var _a, _b; return ((_b = (_a = assigned).contains) === null || _b === void 0 ? void 0 : _b.call(_a, descendant)) || checkRecursive(assigned); }));
130
+ if (hasDescendantInAssignedNodes) {
131
+ return true;
132
+ }
133
+ // Check shadow and light DOM children
134
+ return Array.from(shadowRoot.children).some(checkRecursive) || Array.from(node.childNodes).some(checkRecursive);
135
+ };
136
+ return checkRecursive(ancestor);
111
137
  }
112
138
  /** Get the parent of passed element, accounting for shadow DOM.
113
139
  * @param element The element whose parent is to be found.
114
140
  */
115
141
  function getParentElement(element) {
116
- if (element.parentNode === element.shadowRoot) {
117
- return element.shadowRoot.host;
142
+ // If the element is slotted, the direct rendered parent is the target slot in shadow DOM.
143
+ if (element.assignedSlot) {
144
+ return element.assignedSlot;
118
145
  }
146
+ // If the element is in a shadow root, the parent is the shadow host.
119
147
  if (element.parentNode instanceof ShadowRoot) {
120
148
  return element.parentNode.host;
121
149
  }
150
+ // Otherwise fall back to standard light DOM parent.
122
151
  return element.parentElement;
123
152
  }
124
153
  /**