@zanichelli/albe-web-components 6.3.4 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/{index-e3299e0a.js → index-0b49c192.js} +207 -225
  3. package/dist/cjs/loader.cjs.js +3 -3
  4. package/dist/cjs/web-components-library.cjs.js +3 -3
  5. package/dist/cjs/z-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/z-anchor-navigation.cjs.entry.js +1 -1
  7. package/dist/cjs/z-app-header_2.cjs.entry.js +1 -1
  8. package/dist/cjs/z-app-switcher_2.cjs.entry.js +1 -1
  9. package/dist/cjs/z-app-topbar.cjs.entry.js +1 -1
  10. package/dist/cjs/z-aria-alert.cjs.entry.js +1 -1
  11. package/dist/cjs/z-avatar.cjs.entry.js +1 -1
  12. package/dist/cjs/z-body_2.cjs.entry.js +1 -1
  13. package/dist/cjs/z-button-sort.cjs.entry.js +1 -1
  14. package/dist/cjs/z-button.cjs.entry.js +1 -1
  15. package/dist/cjs/z-card.cjs.entry.js +1 -1
  16. package/dist/cjs/z-carousel.cjs.entry.js +1 -1
  17. package/dist/cjs/z-chip.cjs.entry.js +1 -1
  18. package/dist/cjs/z-combobox.cjs.entry.js +22 -2
  19. package/dist/cjs/z-contextual-menu.cjs.entry.js +1 -1
  20. package/dist/cjs/z-cover-hero.cjs.entry.js +1 -1
  21. package/dist/cjs/z-date-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/z-divider.cjs.entry.js +1 -1
  23. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +1 -1
  24. package/dist/cjs/z-file-upload.cjs.entry.js +1 -1
  25. package/dist/cjs/z-file.cjs.entry.js +1 -1
  26. package/dist/cjs/z-ghost-loading.cjs.entry.js +1 -1
  27. package/dist/cjs/z-icon-package.cjs.entry.js +1 -1
  28. package/dist/cjs/z-info-box.cjs.entry.js +1 -1
  29. package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
  30. package/dist/cjs/z-input_2.cjs.entry.js +1 -1
  31. package/dist/cjs/z-link.cjs.entry.js +1 -1
  32. package/dist/cjs/z-list_3.cjs.entry.js +1 -1
  33. package/dist/cjs/z-menu-dropdown.cjs.entry.js +1 -1
  34. package/dist/cjs/z-menu-section.cjs.entry.js +1 -1
  35. package/dist/cjs/z-menu.cjs.entry.js +1 -1
  36. package/dist/cjs/z-messages-pocket.cjs.entry.js +1 -1
  37. package/dist/cjs/z-modal-login.cjs.entry.js +1 -1
  38. package/dist/cjs/z-modal.cjs.entry.js +1 -1
  39. package/dist/cjs/z-myz-card-alert.cjs.entry.js +1 -1
  40. package/dist/cjs/z-myz-card-dictionary.cjs.entry.js +1 -1
  41. package/dist/cjs/z-myz-card-footer-sections.cjs.entry.js +1 -1
  42. package/dist/cjs/z-myz-card-footer.cjs.entry.js +1 -1
  43. package/dist/cjs/z-myz-card-icon.cjs.entry.js +1 -1
  44. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  45. package/dist/cjs/z-myz-card-list.cjs.entry.js +1 -1
  46. package/dist/cjs/z-myz-card_4.cjs.entry.js +1 -1
  47. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  48. package/dist/cjs/z-myz-list.cjs.entry.js +1 -1
  49. package/dist/cjs/z-navigation-tab-link.cjs.entry.js +1 -1
  50. package/dist/cjs/z-navigation-tab.cjs.entry.js +1 -1
  51. package/dist/cjs/z-navigation-tabs.cjs.entry.js +1 -1
  52. package/dist/cjs/z-notification.cjs.entry.js +1 -1
  53. package/dist/cjs/z-offcanvas.cjs.entry.js +1 -1
  54. package/dist/cjs/z-otp.cjs.entry.js +1 -1
  55. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  56. package/dist/cjs/z-panel-elem.cjs.entry.js +1 -1
  57. package/dist/cjs/z-pocket-message.cjs.entry.js +1 -1
  58. package/dist/cjs/z-pocket_3.cjs.entry.js +1 -1
  59. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  60. package/dist/cjs/z-range-picker.cjs.entry.js +1 -1
  61. package/dist/cjs/z-section-title.cjs.entry.js +1 -1
  62. package/dist/cjs/z-select.cjs.entry.js +12 -9
  63. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  64. package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
  65. package/dist/cjs/z-stepper-item.cjs.entry.js +1 -1
  66. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  67. package/dist/cjs/z-table-body.cjs.entry.js +1 -1
  68. package/dist/cjs/z-table-cell.cjs.entry.js +1 -1
  69. package/dist/cjs/z-table-empty-box.cjs.entry.js +1 -1
  70. package/dist/cjs/z-table-expanded-row.cjs.entry.js +1 -1
  71. package/dist/cjs/z-table-footer.cjs.entry.js +1 -1
  72. package/dist/cjs/z-table-head.cjs.entry.js +1 -1
  73. package/dist/cjs/z-table-header-row.cjs.entry.js +1 -1
  74. package/dist/cjs/z-table-header.cjs.entry.js +1 -1
  75. package/dist/cjs/z-table-row.cjs.entry.js +1 -1
  76. package/dist/cjs/z-table-sticky-footer.cjs.entry.js +1 -1
  77. package/dist/cjs/z-table.cjs.entry.js +1 -1
  78. package/dist/cjs/z-tag.cjs.entry.js +1 -1
  79. package/dist/cjs/z-toast-notification-list.cjs.entry.js +1 -1
  80. package/dist/cjs/z-toast-notification.cjs.entry.js +1 -1
  81. package/dist/cjs/z-toggle-button.cjs.entry.js +1 -1
  82. package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
  83. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  84. package/dist/cjs/z-user-dropdown.cjs.entry.js +1 -1
  85. package/dist/cjs/z-visually-hidden.cjs.entry.js +1 -1
  86. package/dist/collection/collection-manifest.json +2 -2
  87. package/dist/collection/components/inputs/z-combobox/index.js +39 -2
  88. package/dist/collection/components/inputs/z-select/index.js +9 -6
  89. package/dist/esm/{index-a2ca4b97.js → index-3517583d.js} +207 -225
  90. package/dist/esm/loader.js +3 -3
  91. package/dist/esm/polyfills/css-shim.js +1 -1
  92. package/dist/esm/web-components-library.js +3 -3
  93. package/dist/esm/z-alert.entry.js +1 -1
  94. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  95. package/dist/esm/z-app-header_2.entry.js +1 -1
  96. package/dist/esm/z-app-switcher_2.entry.js +1 -1
  97. package/dist/esm/z-app-topbar.entry.js +1 -1
  98. package/dist/esm/z-aria-alert.entry.js +1 -1
  99. package/dist/esm/z-avatar.entry.js +1 -1
  100. package/dist/esm/z-body_2.entry.js +1 -1
  101. package/dist/esm/z-button-sort.entry.js +1 -1
  102. package/dist/esm/z-button.entry.js +1 -1
  103. package/dist/esm/z-card.entry.js +1 -1
  104. package/dist/esm/z-carousel.entry.js +1 -1
  105. package/dist/esm/z-chip.entry.js +1 -1
  106. package/dist/esm/z-combobox.entry.js +23 -3
  107. package/dist/esm/z-contextual-menu.entry.js +1 -1
  108. package/dist/esm/z-cover-hero.entry.js +1 -1
  109. package/dist/esm/z-date-picker.entry.js +1 -1
  110. package/dist/esm/z-divider.entry.js +1 -1
  111. package/dist/esm/z-dragdrop-area_2.entry.js +1 -1
  112. package/dist/esm/z-file-upload.entry.js +1 -1
  113. package/dist/esm/z-file.entry.js +1 -1
  114. package/dist/esm/z-ghost-loading.entry.js +1 -1
  115. package/dist/esm/z-icon-package.entry.js +1 -1
  116. package/dist/esm/z-info-box.entry.js +1 -1
  117. package/dist/esm/z-info-reveal.entry.js +1 -1
  118. package/dist/esm/z-input_2.entry.js +1 -1
  119. package/dist/esm/z-link.entry.js +1 -1
  120. package/dist/esm/z-list_3.entry.js +1 -1
  121. package/dist/esm/z-menu-dropdown.entry.js +1 -1
  122. package/dist/esm/z-menu-section.entry.js +1 -1
  123. package/dist/esm/z-menu.entry.js +1 -1
  124. package/dist/esm/z-messages-pocket.entry.js +1 -1
  125. package/dist/esm/z-modal-login.entry.js +1 -1
  126. package/dist/esm/z-modal.entry.js +1 -1
  127. package/dist/esm/z-myz-card-alert.entry.js +1 -1
  128. package/dist/esm/z-myz-card-dictionary.entry.js +1 -1
  129. package/dist/esm/z-myz-card-footer-sections.entry.js +1 -1
  130. package/dist/esm/z-myz-card-footer.entry.js +1 -1
  131. package/dist/esm/z-myz-card-icon.entry.js +1 -1
  132. package/dist/esm/z-myz-card-info.entry.js +1 -1
  133. package/dist/esm/z-myz-card-list.entry.js +1 -1
  134. package/dist/esm/z-myz-card_4.entry.js +1 -1
  135. package/dist/esm/z-myz-list-item.entry.js +1 -1
  136. package/dist/esm/z-myz-list.entry.js +1 -1
  137. package/dist/esm/z-navigation-tab-link.entry.js +1 -1
  138. package/dist/esm/z-navigation-tab.entry.js +1 -1
  139. package/dist/esm/z-navigation-tabs.entry.js +1 -1
  140. package/dist/esm/z-notification.entry.js +1 -1
  141. package/dist/esm/z-offcanvas.entry.js +1 -1
  142. package/dist/esm/z-otp.entry.js +1 -1
  143. package/dist/esm/z-pagination.entry.js +1 -1
  144. package/dist/esm/z-panel-elem.entry.js +1 -1
  145. package/dist/esm/z-pocket-message.entry.js +1 -1
  146. package/dist/esm/z-pocket_3.entry.js +1 -1
  147. package/dist/esm/z-popover.entry.js +1 -1
  148. package/dist/esm/z-range-picker.entry.js +1 -1
  149. package/dist/esm/z-section-title.entry.js +1 -1
  150. package/dist/esm/z-select.entry.js +10 -7
  151. package/dist/esm/z-skip-to-content.entry.js +1 -1
  152. package/dist/esm/z-slideshow.entry.js +1 -1
  153. package/dist/esm/z-stepper-item.entry.js +1 -1
  154. package/dist/esm/z-stepper.entry.js +1 -1
  155. package/dist/esm/z-table-body.entry.js +1 -1
  156. package/dist/esm/z-table-cell.entry.js +1 -1
  157. package/dist/esm/z-table-empty-box.entry.js +1 -1
  158. package/dist/esm/z-table-expanded-row.entry.js +1 -1
  159. package/dist/esm/z-table-footer.entry.js +1 -1
  160. package/dist/esm/z-table-head.entry.js +1 -1
  161. package/dist/esm/z-table-header-row.entry.js +1 -1
  162. package/dist/esm/z-table-header.entry.js +1 -1
  163. package/dist/esm/z-table-row.entry.js +1 -1
  164. package/dist/esm/z-table-sticky-footer.entry.js +1 -1
  165. package/dist/esm/z-table.entry.js +1 -1
  166. package/dist/esm/z-tag.entry.js +1 -1
  167. package/dist/esm/z-toast-notification-list.entry.js +1 -1
  168. package/dist/esm/z-toast-notification.entry.js +1 -1
  169. package/dist/esm/z-toggle-button.entry.js +1 -1
  170. package/dist/esm/z-toggle-switch.entry.js +1 -1
  171. package/dist/esm/z-tooltip.entry.js +1 -1
  172. package/dist/esm/z-user-dropdown.entry.js +1 -1
  173. package/dist/esm/z-visually-hidden.entry.js +1 -1
  174. package/dist/types/beans/index.d.ts +1 -0
  175. package/dist/types/components/inputs/z-combobox/index.d.ts +4 -0
  176. package/dist/types/components/inputs/z-select/index.d.ts +1 -0
  177. package/dist/types/components.d.ts +8 -0
  178. package/dist/types/stencil-public-runtime.d.ts +4 -15
  179. package/dist/web-components-library/{p-7af991f5.entry.js → p-04e21cfc.entry.js} +1 -1
  180. package/dist/web-components-library/{p-3c2d438b.entry.js → p-0617465e.entry.js} +1 -1
  181. package/dist/web-components-library/{p-e40b16fa.entry.js → p-0a03d96b.entry.js} +1 -1
  182. package/dist/web-components-library/{p-1b6279a6.entry.js → p-11277636.entry.js} +1 -1
  183. package/dist/web-components-library/{p-8980398c.entry.js → p-14088110.entry.js} +1 -1
  184. package/dist/web-components-library/{p-2acd6a51.entry.js → p-146d00a4.entry.js} +1 -1
  185. package/dist/web-components-library/{p-5b6d2bcf.entry.js → p-14f11a64.entry.js} +1 -1
  186. package/dist/web-components-library/{p-411cbcd6.entry.js → p-2274996e.entry.js} +1 -1
  187. package/dist/web-components-library/{p-a2b67e2d.entry.js → p-23cf5ac4.entry.js} +1 -1
  188. package/dist/web-components-library/{p-f158d205.entry.js → p-25769717.entry.js} +1 -1
  189. package/dist/web-components-library/{p-0843b0e7.entry.js → p-25d2f10b.entry.js} +1 -1
  190. package/dist/web-components-library/{p-9965827d.entry.js → p-2808b914.entry.js} +1 -1
  191. package/dist/web-components-library/{p-20a3247c.entry.js → p-29508ba1.entry.js} +1 -1
  192. package/dist/web-components-library/{p-eaa4eba8.entry.js → p-2acf124c.entry.js} +1 -1
  193. package/{www/build/p-bdc6f2e5.entry.js → dist/web-components-library/p-2bf3dfd8.entry.js} +1 -1
  194. package/dist/web-components-library/{p-93dc6d51.entry.js → p-309f0d89.entry.js} +1 -1
  195. package/dist/web-components-library/{p-f95cc914.entry.js → p-3124aed0.entry.js} +1 -1
  196. package/dist/web-components-library/{p-3a468aa9.entry.js → p-33a1112a.entry.js} +1 -1
  197. package/dist/web-components-library/{p-074ea569.entry.js → p-348c5ada.entry.js} +1 -1
  198. package/dist/web-components-library/{p-c4417a91.entry.js → p-363c7e45.entry.js} +1 -1
  199. package/dist/web-components-library/{p-37e050bd.entry.js → p-3b974737.entry.js} +1 -1
  200. package/dist/web-components-library/{p-f0653e72.entry.js → p-3e597061.entry.js} +1 -1
  201. package/{www/build/p-f20d1242.entry.js → dist/web-components-library/p-406d605a.entry.js} +1 -1
  202. package/dist/web-components-library/{p-26f834e5.entry.js → p-45348cbc.entry.js} +1 -1
  203. package/dist/web-components-library/{p-ce83ce18.entry.js → p-48134f75.entry.js} +1 -1
  204. package/dist/web-components-library/p-481db363.entry.js +1 -0
  205. package/dist/web-components-library/{p-3f55dce6.entry.js → p-4fe96235.entry.js} +1 -1
  206. package/dist/web-components-library/{p-810bd730.entry.js → p-6a53a0d8.entry.js} +1 -1
  207. package/dist/web-components-library/{p-33352f9e.entry.js → p-6c63079c.entry.js} +1 -1
  208. package/{www/build/p-8bf0844b.entry.js → dist/web-components-library/p-7191be2d.entry.js} +1 -1
  209. package/dist/web-components-library/{p-73c91de3.entry.js → p-71ff9b83.entry.js} +1 -1
  210. package/dist/web-components-library/{p-59cfee8d.entry.js → p-78ff0efe.entry.js} +1 -1
  211. package/dist/web-components-library/{p-540c7d73.entry.js → p-79940e8f.entry.js} +1 -1
  212. package/{www/build/p-a82ea410.entry.js → dist/web-components-library/p-7c415bfe.entry.js} +1 -1
  213. package/dist/web-components-library/{p-beba3e67.entry.js → p-822a2027.entry.js} +1 -1
  214. package/{www/build/p-009c9f67.entry.js → dist/web-components-library/p-82c03635.entry.js} +1 -1
  215. package/dist/web-components-library/{p-07e18572.entry.js → p-852f3031.entry.js} +1 -1
  216. package/dist/web-components-library/{p-b33f5e6a.entry.js → p-8709db71.entry.js} +1 -1
  217. package/dist/web-components-library/p-87942fb9.entry.js +1 -0
  218. package/dist/web-components-library/{p-a79d1412.entry.js → p-88b9d5b4.entry.js} +1 -1
  219. package/{www/build/p-9c338aeb.entry.js → dist/web-components-library/p-8a21c30e.entry.js} +1 -1
  220. package/dist/web-components-library/{p-6b1a5309.entry.js → p-8db62c1c.entry.js} +1 -1
  221. package/{www/build/p-95b8f109.entry.js → dist/web-components-library/p-8f8a9683.entry.js} +1 -1
  222. package/dist/web-components-library/{p-9ed27651.entry.js → p-90f3dc7f.entry.js} +1 -1
  223. package/dist/web-components-library/{p-34c26207.entry.js → p-98f4fdb5.entry.js} +1 -1
  224. package/dist/web-components-library/{p-38a3cf3b.entry.js → p-9aeb2e7a.entry.js} +1 -1
  225. package/dist/web-components-library/{p-4cd6c6f4.entry.js → p-9c0df331.entry.js} +1 -1
  226. package/dist/web-components-library/{p-ede9fbf5.entry.js → p-a55ef7b5.entry.js} +1 -1
  227. package/dist/web-components-library/{p-5dd9a2c6.entry.js → p-a9cf8d5a.entry.js} +1 -1
  228. package/dist/web-components-library/{p-9d57a84c.entry.js → p-ae2dd723.entry.js} +1 -1
  229. package/{www/build/p-01f001fd.entry.js → dist/web-components-library/p-b2dc5cee.entry.js} +1 -1
  230. package/dist/web-components-library/p-b366ef8e.js +2 -0
  231. package/dist/web-components-library/{p-9c28b8fc.entry.js → p-bc28797e.entry.js} +1 -1
  232. package/{www/build/p-2d1b6c3c.entry.js → dist/web-components-library/p-be4dcede.entry.js} +1 -1
  233. package/dist/web-components-library/{p-4e8fd5be.entry.js → p-bffce318.entry.js} +1 -1
  234. package/dist/web-components-library/{p-bb0fe7bc.entry.js → p-c0d382bc.entry.js} +1 -1
  235. package/dist/web-components-library/{p-9d03a7d6.entry.js → p-c1c6988e.entry.js} +1 -1
  236. package/dist/web-components-library/{p-61424b8a.entry.js → p-c4b70baa.entry.js} +1 -1
  237. package/dist/web-components-library/{p-214b6cee.entry.js → p-c5056ee2.entry.js} +1 -1
  238. package/dist/web-components-library/{p-af4d1987.entry.js → p-c5ecf36a.entry.js} +1 -1
  239. package/dist/web-components-library/{p-c25b0b2a.entry.js → p-c7fdb1ba.entry.js} +1 -1
  240. package/dist/web-components-library/{p-8ffc17b7.entry.js → p-cabf67dc.entry.js} +1 -1
  241. package/dist/web-components-library/{p-8b960526.entry.js → p-cb39beff.entry.js} +1 -1
  242. package/dist/web-components-library/{p-8c105bd1.entry.js → p-cc228556.entry.js} +1 -1
  243. package/dist/web-components-library/{p-0fa4b50b.entry.js → p-d0f719a2.entry.js} +1 -1
  244. package/dist/web-components-library/{p-db3c8e3e.entry.js → p-d4f61a8f.entry.js} +1 -1
  245. package/dist/web-components-library/{p-682528b2.entry.js → p-dcea5be3.entry.js} +1 -1
  246. package/dist/web-components-library/{p-b17981a4.entry.js → p-ddd1a2f9.entry.js} +1 -1
  247. package/dist/web-components-library/{p-b6f36170.entry.js → p-de98b941.entry.js} +1 -1
  248. package/dist/web-components-library/p-dee7b19b.entry.js +1 -0
  249. package/dist/web-components-library/p-e137a17f.entry.js +1 -0
  250. package/dist/web-components-library/{p-1cb23bbb.entry.js → p-e589999c.entry.js} +1 -1
  251. package/dist/web-components-library/{p-279655eb.entry.js → p-e7990dec.entry.js} +1 -1
  252. package/dist/web-components-library/{p-51e308ca.entry.js → p-ea140c86.entry.js} +1 -1
  253. package/dist/web-components-library/{p-2efedcf4.entry.js → p-eb612914.entry.js} +1 -1
  254. package/dist/web-components-library/{p-475ca461.entry.js → p-eddaa3ce.entry.js} +1 -1
  255. package/dist/web-components-library/{p-344e7ae7.entry.js → p-f0a63044.entry.js} +1 -1
  256. package/dist/web-components-library/{p-05ced71c.entry.js → p-f2f9134b.entry.js} +1 -1
  257. package/dist/web-components-library/{p-1ba8d432.entry.js → p-f6b8bc8d.entry.js} +1 -1
  258. package/dist/web-components-library/{p-67d6cfcb.entry.js → p-fb45f2b0.entry.js} +1 -1
  259. package/dist/web-components-library/{p-3be171d0.entry.js → p-ff000765.entry.js} +1 -1
  260. package/dist/web-components-library/{p-735bdfa3.entry.js → p-ffacff3f.entry.js} +1 -1
  261. package/dist/web-components-library/web-components-library.css +1 -1
  262. package/dist/web-components-library/web-components-library.esm.js +1 -1
  263. package/package.json +1 -1
  264. package/www/build/{p-7af991f5.entry.js → p-04e21cfc.entry.js} +1 -1
  265. package/www/build/{p-3c2d438b.entry.js → p-0617465e.entry.js} +1 -1
  266. package/www/build/{p-e40b16fa.entry.js → p-0a03d96b.entry.js} +1 -1
  267. package/www/build/{p-1b6279a6.entry.js → p-11277636.entry.js} +1 -1
  268. package/www/build/{p-8980398c.entry.js → p-14088110.entry.js} +1 -1
  269. package/www/build/{p-2acd6a51.entry.js → p-146d00a4.entry.js} +1 -1
  270. package/www/build/{p-5b6d2bcf.entry.js → p-14f11a64.entry.js} +1 -1
  271. package/www/build/{p-411cbcd6.entry.js → p-2274996e.entry.js} +1 -1
  272. package/www/build/{p-a2b67e2d.entry.js → p-23cf5ac4.entry.js} +1 -1
  273. package/www/build/{p-f158d205.entry.js → p-25769717.entry.js} +1 -1
  274. package/www/build/{p-0843b0e7.entry.js → p-25d2f10b.entry.js} +1 -1
  275. package/www/build/{p-9965827d.entry.js → p-2808b914.entry.js} +1 -1
  276. package/www/build/{p-20a3247c.entry.js → p-29508ba1.entry.js} +1 -1
  277. package/www/build/{p-eaa4eba8.entry.js → p-2acf124c.entry.js} +1 -1
  278. package/{dist/web-components-library/p-bdc6f2e5.entry.js → www/build/p-2bf3dfd8.entry.js} +1 -1
  279. package/www/build/{p-93dc6d51.entry.js → p-309f0d89.entry.js} +1 -1
  280. package/www/build/{p-f95cc914.entry.js → p-3124aed0.entry.js} +1 -1
  281. package/www/build/{p-3a468aa9.entry.js → p-33a1112a.entry.js} +1 -1
  282. package/www/build/{p-074ea569.entry.js → p-348c5ada.entry.js} +1 -1
  283. package/www/build/{p-c4417a91.entry.js → p-363c7e45.entry.js} +1 -1
  284. package/www/build/{p-37e050bd.entry.js → p-3b974737.entry.js} +1 -1
  285. package/www/build/{p-f0653e72.entry.js → p-3e597061.entry.js} +1 -1
  286. package/{dist/web-components-library/p-f20d1242.entry.js → www/build/p-406d605a.entry.js} +1 -1
  287. package/www/build/{p-26f834e5.entry.js → p-45348cbc.entry.js} +1 -1
  288. package/www/build/{p-ce83ce18.entry.js → p-48134f75.entry.js} +1 -1
  289. package/www/build/p-481db363.entry.js +1 -0
  290. package/www/build/p-4c9c83c0.css +1 -0
  291. package/www/build/{p-3f55dce6.entry.js → p-4fe96235.entry.js} +1 -1
  292. package/www/build/{p-810bd730.entry.js → p-6a53a0d8.entry.js} +1 -1
  293. package/www/build/{p-33352f9e.entry.js → p-6c63079c.entry.js} +1 -1
  294. package/{dist/web-components-library/p-8bf0844b.entry.js → www/build/p-7191be2d.entry.js} +1 -1
  295. package/www/build/{p-73c91de3.entry.js → p-71ff9b83.entry.js} +1 -1
  296. package/www/build/{p-59cfee8d.entry.js → p-78ff0efe.entry.js} +1 -1
  297. package/www/build/{p-540c7d73.entry.js → p-79940e8f.entry.js} +1 -1
  298. package/{dist/web-components-library/p-a82ea410.entry.js → www/build/p-7c415bfe.entry.js} +1 -1
  299. package/www/build/{p-beba3e67.entry.js → p-822a2027.entry.js} +1 -1
  300. package/{dist/web-components-library/p-009c9f67.entry.js → www/build/p-82c03635.entry.js} +1 -1
  301. package/www/build/{p-07e18572.entry.js → p-852f3031.entry.js} +1 -1
  302. package/www/build/{p-b33f5e6a.entry.js → p-8709db71.entry.js} +1 -1
  303. package/www/build/p-87942fb9.entry.js +1 -0
  304. package/www/build/{p-a79d1412.entry.js → p-88b9d5b4.entry.js} +1 -1
  305. package/{dist/web-components-library/p-9c338aeb.entry.js → www/build/p-8a21c30e.entry.js} +1 -1
  306. package/www/build/{p-6b1a5309.entry.js → p-8db62c1c.entry.js} +1 -1
  307. package/{dist/web-components-library/p-95b8f109.entry.js → www/build/p-8f8a9683.entry.js} +1 -1
  308. package/www/build/{p-9ed27651.entry.js → p-90f3dc7f.entry.js} +1 -1
  309. package/www/build/{p-34c26207.entry.js → p-98f4fdb5.entry.js} +1 -1
  310. package/www/build/{p-38a3cf3b.entry.js → p-9aeb2e7a.entry.js} +1 -1
  311. package/www/build/{p-4cd6c6f4.entry.js → p-9c0df331.entry.js} +1 -1
  312. package/www/build/{p-ede9fbf5.entry.js → p-a55ef7b5.entry.js} +1 -1
  313. package/www/build/{p-5dd9a2c6.entry.js → p-a9cf8d5a.entry.js} +1 -1
  314. package/www/build/{p-9d57a84c.entry.js → p-ae2dd723.entry.js} +1 -1
  315. package/{dist/web-components-library/p-01f001fd.entry.js → www/build/p-b2dc5cee.entry.js} +1 -1
  316. package/www/build/p-b366ef8e.js +2 -0
  317. package/www/build/{p-9c28b8fc.entry.js → p-bc28797e.entry.js} +1 -1
  318. package/{dist/web-components-library/p-2d1b6c3c.entry.js → www/build/p-be4dcede.entry.js} +1 -1
  319. package/www/build/{p-4e8fd5be.entry.js → p-bffce318.entry.js} +1 -1
  320. package/www/build/{p-bb0fe7bc.entry.js → p-c0d382bc.entry.js} +1 -1
  321. package/www/build/{p-9d03a7d6.entry.js → p-c1c6988e.entry.js} +1 -1
  322. package/www/build/{p-61424b8a.entry.js → p-c4b70baa.entry.js} +1 -1
  323. package/www/build/{p-214b6cee.entry.js → p-c5056ee2.entry.js} +1 -1
  324. package/www/build/{p-af4d1987.entry.js → p-c5ecf36a.entry.js} +1 -1
  325. package/www/build/{p-c25b0b2a.entry.js → p-c7fdb1ba.entry.js} +1 -1
  326. package/www/build/{p-8ffc17b7.entry.js → p-cabf67dc.entry.js} +1 -1
  327. package/www/build/{p-8b960526.entry.js → p-cb39beff.entry.js} +1 -1
  328. package/www/build/{p-8c105bd1.entry.js → p-cc228556.entry.js} +1 -1
  329. package/www/build/{p-0fa4b50b.entry.js → p-d0f719a2.entry.js} +1 -1
  330. package/www/build/{p-db3c8e3e.entry.js → p-d4f61a8f.entry.js} +1 -1
  331. package/www/build/{p-682528b2.entry.js → p-dcea5be3.entry.js} +1 -1
  332. package/www/build/{p-b17981a4.entry.js → p-ddd1a2f9.entry.js} +1 -1
  333. package/www/build/{p-b6f36170.entry.js → p-de98b941.entry.js} +1 -1
  334. package/www/build/p-dee7b19b.entry.js +1 -0
  335. package/www/build/p-e137a17f.entry.js +1 -0
  336. package/www/build/p-e2c6535b.js +1 -0
  337. package/www/build/{p-1cb23bbb.entry.js → p-e589999c.entry.js} +1 -1
  338. package/www/build/{p-279655eb.entry.js → p-e7990dec.entry.js} +1 -1
  339. package/www/build/{p-51e308ca.entry.js → p-ea140c86.entry.js} +1 -1
  340. package/www/build/{p-2efedcf4.entry.js → p-eb612914.entry.js} +1 -1
  341. package/www/build/{p-475ca461.entry.js → p-eddaa3ce.entry.js} +1 -1
  342. package/www/build/{p-344e7ae7.entry.js → p-f0a63044.entry.js} +1 -1
  343. package/www/build/{p-05ced71c.entry.js → p-f2f9134b.entry.js} +1 -1
  344. package/www/build/{p-1ba8d432.entry.js → p-f6b8bc8d.entry.js} +1 -1
  345. package/www/build/{p-67d6cfcb.entry.js → p-fb45f2b0.entry.js} +1 -1
  346. package/www/build/{p-3be171d0.entry.js → p-ff000765.entry.js} +1 -1
  347. package/www/build/{p-735bdfa3.entry.js → p-ffacff3f.entry.js} +1 -1
  348. package/www/build/web-components-library.css +1 -1
  349. package/www/build/web-components-library.esm.js +1 -1
  350. package/www/index.html +1 -1
  351. package/dist/web-components-library/p-057600de.entry.js +0 -1
  352. package/dist/web-components-library/p-8f46e548.entry.js +0 -1
  353. package/dist/web-components-library/p-c6aad085.entry.js +0 -1
  354. package/dist/web-components-library/p-d17ebc2f.js +0 -2
  355. package/dist/web-components-library/p-f54f63e1.entry.js +0 -1
  356. package/www/build/p-057600de.entry.js +0 -1
  357. package/www/build/p-2a056aa6.js +0 -1
  358. package/www/build/p-8f46e548.entry.js +0 -1
  359. package/www/build/p-c6aad085.entry.js +0 -1
  360. package/www/build/p-d17ebc2f.js +0 -2
  361. package/www/build/p-d70c7670.css +0 -1
  362. package/www/build/p-f54f63e1.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- import { InputType, KeyboardKeyCode } from "../../../beans";
2
+ import { InputType, KeyboardKeyCode, ListDividerType } from "../../../beans";
3
3
  import { handleKeyboardSubmit } from "../../../utils/utils";
4
4
  export class ZCombobox {
5
5
  constructor() {
@@ -117,6 +117,9 @@ export class ZCombobox {
117
117
  }
118
118
  return (h("div", { class: this.searchValue && "search", tabindex: -1 }, this.renderList(this.renderItemsList), this.searchValue && this.renderCloseButton()));
119
119
  }
120
+ renderItem(item, index, length) {
121
+ return (h("z-myz-list-item", { id: item.id, listitemid: item.id, action: `combo-li-${this.inputid}`, underlined: index !== length - 1 }, h("z-input", { type: InputType.CHECKBOX, checked: item.checked, htmlid: `combo-checkbox-${this.inputid}-${item.id}`, label: item.name, disabled: !item.checked && this.maxcheckableitems && this.maxcheckableitems === this.selectedCounter })));
122
+ }
120
123
  renderList(items) {
121
124
  if (!items) {
122
125
  return;
@@ -124,10 +127,27 @@ export class ZCombobox {
124
127
  if (!items.length && this.searchValue) {
125
128
  return this.renderNoSearchResults();
126
129
  }
130
+ if (this.hasgroupitems) {
131
+ return this.renderGroups(this.itemsList);
132
+ }
127
133
  return (h("ul", null, items.map((item, i) => {
128
- return (h("z-myz-list-item", { id: item.id, listitemid: item.id, action: `combo-li-${this.inputid}`, underlined: i !== items.length - 1 }, h("z-input", { type: InputType.CHECKBOX, checked: item.checked, htmlid: `combo-checkbox-${this.inputid}-${item.id}`, label: item.name, disabled: !item.checked && this.maxcheckableitems && this.maxcheckableitems === this.selectedCounter })));
134
+ return this.renderItem(item, i, items.length);
129
135
  })));
130
136
  }
137
+ renderGroups(items) {
138
+ const newData = items.reduce((group, item, index) => {
139
+ var _a;
140
+ const { category } = item;
141
+ const zListItem = this.renderItem(item, index, items.length);
142
+ group[category] = (_a = group[category]) !== null && _a !== void 0 ? _a : [];
143
+ group[category].push(zListItem);
144
+ return group;
145
+ }, {});
146
+ const listGroups = Object.entries(newData).map(([key, value]) => {
147
+ return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("z-body", { class: "z-list-group-title", level: 3, slot: "header-title", variant: "semibold" }, key), value.map((item) => item)));
148
+ });
149
+ return h("ul", null, listGroups);
150
+ }
131
151
  renderNoSearchResults() {
132
152
  return (h("ul", null, h("z-myz-list-item", { id: "no-results", text: this.noresultslabel, listitemid: "no-results", icon: "multiply-circle" })));
133
153
  }
@@ -437,6 +457,23 @@ export class ZCombobox {
437
457
  "attribute": "maxcheckableitems",
438
458
  "reflect": false,
439
459
  "defaultValue": "0"
460
+ },
461
+ "hasgroupitems": {
462
+ "type": "boolean",
463
+ "mutable": false,
464
+ "complexType": {
465
+ "original": "boolean",
466
+ "resolved": "boolean",
467
+ "references": {}
468
+ },
469
+ "required": false,
470
+ "optional": true,
471
+ "docs": {
472
+ "tags": [],
473
+ "text": "group items by category"
474
+ },
475
+ "attribute": "hasgroupitems",
476
+ "reflect": false
440
477
  }
441
478
  };
442
479
  }
@@ -221,26 +221,29 @@ export class ZSelect {
221
221
  readonly: this.readonly,
222
222
  filled: !!this.selectedItem,
223
223
  [`input-${this.status}`]: !this.isOpen && !!this.status,
224
- } }, this.hasGroupItems ? this.renderSelectGroupItems() : this.renderSelectUlItems()))));
224
+ } }, this.renderSelectUlItems()))));
225
+ }
226
+ renderItem(item, key, lastItem) {
227
+ return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${key}`, onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, h("span", { class: { selected: !!item.selected }, innerHTML: item.name })));
225
228
  }
226
229
  renderSelectUlItems() {
227
230
  if (!this.itemsList.length) {
228
231
  return this.renderNoSearchResults();
229
232
  }
233
+ if (this.hasGroupItems) {
234
+ return this.renderSelectGroupItems();
235
+ }
230
236
  return this.itemsList.map((item, key, array) => {
231
237
  const lastItem = array.length === key + 1;
232
- return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${key}`, onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, h("span", { class: { selected: !!item.selected }, innerHTML: item.name })));
238
+ return this.renderItem(item, key, lastItem);
233
239
  });
234
240
  }
235
241
  renderSelectGroupItems() {
236
- if (!this.itemsList.length) {
237
- return this.renderNoSearchResults();
238
- }
239
242
  const newData = this.itemsList.reduce((group, item, index, array) => {
240
243
  var _a;
241
244
  const { category } = item;
242
245
  const lastItem = array.length === index + 1;
243
- const zListItem = (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${index}`, onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, index) }, h("span", { class: { selected: !!item.selected }, innerHTML: item.name })));
246
+ const zListItem = this.renderItem(item, index, lastItem);
244
247
  group[category] = (_a = group[category]) !== null && _a !== void 0 ? _a : [];
245
248
  group[category].push(zListItem);
246
249
  return group;
@@ -1,13 +1,5 @@
1
1
  const NAMESPACE = 'web-components-library';
2
2
 
3
- /**
4
- * Virtual DOM patching algorithm based on Snabbdom by
5
- * Simon Friis Vindum (@paldepind)
6
- * Licensed under the MIT License
7
- * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
8
- *
9
- * Modified for Stencil's renderer and slot projection
10
- */
11
3
  let scopeId;
12
4
  let contentRef;
13
5
  let hostTagName;
@@ -16,6 +8,67 @@ let checkSlotFallbackVisibility = false;
16
8
  let checkSlotRelocate = false;
17
9
  let isSvgMode = false;
18
10
  let queuePending = false;
11
+ const win = typeof window !== 'undefined' ? window : {};
12
+ const doc = win.document || { head: {} };
13
+ const plt = {
14
+ $flags$: 0,
15
+ $resourcesUrl$: '',
16
+ jmp: (h) => h(),
17
+ raf: (h) => requestAnimationFrame(h),
18
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
19
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
20
+ ce: (eventName, opts) => new CustomEvent(eventName, opts),
21
+ };
22
+ const promiseResolve = (v) => Promise.resolve(v);
23
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
24
+ try {
25
+ new CSSStyleSheet();
26
+ return typeof new CSSStyleSheet().replaceSync === 'function';
27
+ }
28
+ catch (e) { }
29
+ return false;
30
+ })()
31
+ ;
32
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
33
+ if (listeners) {
34
+ listeners.map(([flags, name, method]) => {
35
+ const target = getHostListenerTarget(elm, flags) ;
36
+ const handler = hostListenerProxy(hostRef, method);
37
+ const opts = hostListenerOpts(flags);
38
+ plt.ael(target, name, handler, opts);
39
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
40
+ });
41
+ }
42
+ };
43
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
44
+ try {
45
+ {
46
+ if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
47
+ // instance is ready, let's call it's member method for this event
48
+ hostRef.$lazyInstance$[methodName](ev);
49
+ }
50
+ else {
51
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
52
+ }
53
+ }
54
+ }
55
+ catch (e) {
56
+ consoleError(e);
57
+ }
58
+ };
59
+ const getHostListenerTarget = (elm, flags) => {
60
+ if (flags & 4 /* LISTENER_FLAGS.TargetDocument */)
61
+ return doc;
62
+ if (flags & 8 /* LISTENER_FLAGS.TargetWindow */)
63
+ return win;
64
+ if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
65
+ return doc.body;
66
+ return elm;
67
+ };
68
+ // prettier-ignore
69
+ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
70
+ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
71
+ const XLINK_NS = 'http://www.w3.org/1999/xlink';
19
72
  const createTime = (fnName, tagName = '') => {
20
73
  {
21
74
  return () => {
@@ -30,8 +83,79 @@ const uniqueTime = (key, measureText) => {
30
83
  };
31
84
  }
32
85
  };
33
- const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
34
- const XLINK_NS = 'http://www.w3.org/1999/xlink';
86
+ const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
87
+ const registerStyle = (scopeId, cssText, allowCS) => {
88
+ let style = styles.get(scopeId);
89
+ if (supportsConstructableStylesheets && allowCS) {
90
+ style = (style || new CSSStyleSheet());
91
+ if (typeof style === 'string') {
92
+ style = cssText;
93
+ }
94
+ else {
95
+ style.replaceSync(cssText);
96
+ }
97
+ }
98
+ else {
99
+ style = cssText;
100
+ }
101
+ styles.set(scopeId, style);
102
+ };
103
+ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
104
+ let scopeId = getScopeId(cmpMeta);
105
+ const style = styles.get(scopeId);
106
+ // if an element is NOT connected then getRootNode() will return the wrong root node
107
+ // so the fallback is to always use the document for the root node in those cases
108
+ styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
109
+ if (style) {
110
+ if (typeof style === 'string') {
111
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
112
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
113
+ let styleElm;
114
+ if (!appliedStyles) {
115
+ rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
116
+ }
117
+ if (!appliedStyles.has(scopeId)) {
118
+ {
119
+ {
120
+ styleElm = doc.createElement('style');
121
+ styleElm.innerHTML = style;
122
+ }
123
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
124
+ }
125
+ if (appliedStyles) {
126
+ appliedStyles.add(scopeId);
127
+ }
128
+ }
129
+ }
130
+ else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
131
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
132
+ }
133
+ }
134
+ return scopeId;
135
+ };
136
+ const attachStyles = (hostRef) => {
137
+ const cmpMeta = hostRef.$cmpMeta$;
138
+ const elm = hostRef.$hostElement$;
139
+ const flags = cmpMeta.$flags$;
140
+ const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
141
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
142
+ if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
143
+ // only required when we're NOT using native shadow dom (slot)
144
+ // or this browser doesn't support native shadow dom
145
+ // and this host element was NOT created with SSR
146
+ // let's pick out the inner content for slot projection
147
+ // create a node to represent where the original
148
+ // content was first placed, which is useful later on
149
+ // DOM WRITE!!
150
+ elm['s-sc'] = scopeId;
151
+ elm.classList.add(scopeId + '-h');
152
+ if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
153
+ elm.classList.add(scopeId + '-s');
154
+ }
155
+ }
156
+ endAttachStyles();
157
+ };
158
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
35
159
  /**
36
160
  * Default style mode id
37
161
  */
@@ -146,152 +270,6 @@ const newVNode = (tag, text) => {
146
270
  };
147
271
  const Host = {};
148
272
  const isHost = (node) => node && node.$tag$ === Host;
149
- /**
150
- * Parse a new property value for a given property type.
151
- *
152
- * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
153
- * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
154
- * 1. `any`, the type given to `propValue` in the function signature
155
- * 2. the type stored from `propType`.
156
- *
157
- * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
158
- *
159
- * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
160
- * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
161
- * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
162
- * ```tsx
163
- * <my-cmp prop-val={0}></my-cmp>
164
- * ```
165
- *
166
- * HTML prop values on the other hand, will always a string
167
- *
168
- * @param propValue the new value to coerce to some type
169
- * @param propType the type of the prop, expressed as a binary number
170
- * @returns the parsed/coerced value
171
- */
172
- const parsePropertyValue = (propValue, propType) => {
173
- // ensure this value is of the correct prop type
174
- if (propValue != null && !isComplexType(propValue)) {
175
- if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
176
- // per the HTML spec, any string value means it is a boolean true value
177
- // but we'll cheat here and say that the string "false" is the boolean false
178
- return propValue === 'false' ? false : propValue === '' || !!propValue;
179
- }
180
- if (propType & 2 /* MEMBER_FLAGS.Number */) {
181
- // force it to be a number
182
- return parseFloat(propValue);
183
- }
184
- if (propType & 1 /* MEMBER_FLAGS.String */) {
185
- // could have been passed as a number or boolean
186
- // but we still want it as a string
187
- return String(propValue);
188
- }
189
- // redundant return here for better minification
190
- return propValue;
191
- }
192
- // not sure exactly what type we want
193
- // so no need to change to a different type
194
- return propValue;
195
- };
196
- const getElement = (ref) => (getHostRef(ref).$hostElement$ );
197
- const createEvent = (ref, name, flags) => {
198
- const elm = getElement(ref);
199
- return {
200
- emit: (detail) => {
201
- return emitEvent(elm, name, {
202
- bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
203
- composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
204
- cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
205
- detail,
206
- });
207
- },
208
- };
209
- };
210
- /**
211
- * Helper function to create & dispatch a custom Event on a provided target
212
- * @param elm the target of the Event
213
- * @param name the name to give the custom Event
214
- * @param opts options for configuring a custom Event
215
- * @returns the custom Event
216
- */
217
- const emitEvent = (elm, name, opts) => {
218
- const ev = plt.ce(name, opts);
219
- elm.dispatchEvent(ev);
220
- return ev;
221
- };
222
- const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
223
- const registerStyle = (scopeId, cssText, allowCS) => {
224
- let style = styles.get(scopeId);
225
- if (supportsConstructableStylesheets && allowCS) {
226
- style = (style || new CSSStyleSheet());
227
- if (typeof style === 'string') {
228
- style = cssText;
229
- }
230
- else {
231
- style.replaceSync(cssText);
232
- }
233
- }
234
- else {
235
- style = cssText;
236
- }
237
- styles.set(scopeId, style);
238
- };
239
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
240
- let scopeId = getScopeId(cmpMeta);
241
- const style = styles.get(scopeId);
242
- // if an element is NOT connected then getRootNode() will return the wrong root node
243
- // so the fallback is to always use the document for the root node in those cases
244
- styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
245
- if (style) {
246
- if (typeof style === 'string') {
247
- styleContainerNode = styleContainerNode.head || styleContainerNode;
248
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
249
- let styleElm;
250
- if (!appliedStyles) {
251
- rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
252
- }
253
- if (!appliedStyles.has(scopeId)) {
254
- {
255
- {
256
- styleElm = doc.createElement('style');
257
- styleElm.innerHTML = style;
258
- }
259
- styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
260
- }
261
- if (appliedStyles) {
262
- appliedStyles.add(scopeId);
263
- }
264
- }
265
- }
266
- else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
267
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
268
- }
269
- }
270
- return scopeId;
271
- };
272
- const attachStyles = (hostRef) => {
273
- const cmpMeta = hostRef.$cmpMeta$;
274
- const elm = hostRef.$hostElement$;
275
- const flags = cmpMeta.$flags$;
276
- const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
277
- const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
278
- if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
279
- // only required when we're NOT using native shadow dom (slot)
280
- // or this browser doesn't support native shadow dom
281
- // and this host element was NOT created with SSR
282
- // let's pick out the inner content for slot projection
283
- // create a node to represent where the original
284
- // content was first placed, which is useful later on
285
- // DOM WRITE!!
286
- elm['s-sc'] = scopeId;
287
- elm.classList.add(scopeId + '-h');
288
- if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
289
- elm.classList.add(scopeId + '-s');
290
- }
291
- }
292
- endAttachStyles();
293
- };
294
- const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
295
273
  /**
296
274
  * Production setAccessor() function based on Preact by
297
275
  * Jason Miller (@developit)
@@ -1216,6 +1194,32 @@ const renderVdom = (hostRef, renderFnResults) => {
1216
1194
  relocateNodes.length = 0;
1217
1195
  }
1218
1196
  };
1197
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
1198
+ const createEvent = (ref, name, flags) => {
1199
+ const elm = getElement(ref);
1200
+ return {
1201
+ emit: (detail) => {
1202
+ return emitEvent(elm, name, {
1203
+ bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
1204
+ composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
1205
+ cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
1206
+ detail,
1207
+ });
1208
+ },
1209
+ };
1210
+ };
1211
+ /**
1212
+ * Helper function to create & dispatch a custom Event on a provided target
1213
+ * @param elm the target of the Event
1214
+ * @param name the name to give the custom Event
1215
+ * @param opts options for configuring a custom Event
1216
+ * @returns the custom Event
1217
+ */
1218
+ const emitEvent = (elm, name, opts) => {
1219
+ const ev = plt.ce(name, opts);
1220
+ elm.dispatchEvent(ev);
1221
+ return ev;
1222
+ };
1219
1223
  const attachToAncestor = (hostRef, ancestorComponent) => {
1220
1224
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
1221
1225
  ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
@@ -1398,6 +1402,53 @@ const then = (promise, thenFn) => {
1398
1402
  };
1399
1403
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1400
1404
  ;
1405
+ /**
1406
+ * Parse a new property value for a given property type.
1407
+ *
1408
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
1409
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
1410
+ * 1. `any`, the type given to `propValue` in the function signature
1411
+ * 2. the type stored from `propType`.
1412
+ *
1413
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
1414
+ *
1415
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
1416
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
1417
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
1418
+ * ```tsx
1419
+ * <my-cmp prop-val={0}></my-cmp>
1420
+ * ```
1421
+ *
1422
+ * HTML prop values on the other hand, will always a string
1423
+ *
1424
+ * @param propValue the new value to coerce to some type
1425
+ * @param propType the type of the prop, expressed as a binary number
1426
+ * @returns the parsed/coerced value
1427
+ */
1428
+ const parsePropertyValue = (propValue, propType) => {
1429
+ // ensure this value is of the correct prop type
1430
+ if (propValue != null && !isComplexType(propValue)) {
1431
+ if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
1432
+ // per the HTML spec, any string value means it is a boolean true value
1433
+ // but we'll cheat here and say that the string "false" is the boolean false
1434
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
1435
+ }
1436
+ if (propType & 2 /* MEMBER_FLAGS.Number */) {
1437
+ // force it to be a number
1438
+ return parseFloat(propValue);
1439
+ }
1440
+ if (propType & 1 /* MEMBER_FLAGS.String */) {
1441
+ // could have been passed as a number or boolean
1442
+ // but we still want it as a string
1443
+ return String(propValue);
1444
+ }
1445
+ // redundant return here for better minification
1446
+ return propValue;
1447
+ }
1448
+ // not sure exactly what type we want
1449
+ // so no need to change to a different type
1450
+ return propValue;
1451
+ };
1401
1452
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1402
1453
  const setValue = (ref, propName, newVal, cmpMeta) => {
1403
1454
  // check our new property value against our internal value
@@ -1441,16 +1492,6 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1441
1492
  }
1442
1493
  }
1443
1494
  };
1444
- /**
1445
- * Attach a series of runtime constructs to a compiled Stencil component
1446
- * constructor, including getters and setters for the `@Prop` and `@State`
1447
- * decorators, callbacks for when attributes change, and so on.
1448
- *
1449
- * @param Cstr the constructor for a component that we need to process
1450
- * @param cmpMeta metadata collected previously about the component
1451
- * @param flags a number used to store a series of bit flags
1452
- * @returns a reference to the same constructor passed in (but now mutated)
1453
- */
1454
1495
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1455
1496
  if (cmpMeta.$members$) {
1456
1497
  if (Cstr.watchers) {
@@ -1814,44 +1855,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1814
1855
  // Fallback appLoad event
1815
1856
  endBootstrap();
1816
1857
  };
1817
- const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1818
- if (listeners) {
1819
- listeners.map(([flags, name, method]) => {
1820
- const target = getHostListenerTarget(elm, flags) ;
1821
- const handler = hostListenerProxy(hostRef, method);
1822
- const opts = hostListenerOpts(flags);
1823
- plt.ael(target, name, handler, opts);
1824
- (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
1825
- });
1826
- }
1827
- };
1828
- const hostListenerProxy = (hostRef, methodName) => (ev) => {
1829
- try {
1830
- {
1831
- if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
1832
- // instance is ready, let's call it's member method for this event
1833
- hostRef.$lazyInstance$[methodName](ev);
1834
- }
1835
- else {
1836
- (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
1837
- }
1838
- }
1839
- }
1840
- catch (e) {
1841
- consoleError(e);
1842
- }
1843
- };
1844
- const getHostListenerTarget = (elm, flags) => {
1845
- if (flags & 4 /* LISTENER_FLAGS.TargetDocument */)
1846
- return doc;
1847
- if (flags & 8 /* LISTENER_FLAGS.TargetWindow */)
1848
- return win;
1849
- if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
1850
- return doc.body;
1851
- return elm;
1852
- };
1853
- // prettier-ignore
1854
- const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
1855
1858
  const hostRefs = /*@__PURE__*/ new WeakMap();
1856
1859
  const getHostRef = (ref) => hostRefs.get(ref);
1857
1860
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
@@ -2231,27 +2234,6 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2231
2234
  }, consoleError);
2232
2235
  };
2233
2236
  const styles = /*@__PURE__*/ new Map();
2234
- const win = typeof window !== 'undefined' ? window : {};
2235
- const doc = win.document || { head: {} };
2236
- const plt = {
2237
- $flags$: 0,
2238
- $resourcesUrl$: '',
2239
- jmp: (h) => h(),
2240
- raf: (h) => requestAnimationFrame(h),
2241
- ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
2242
- rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2243
- ce: (eventName, opts) => new CustomEvent(eventName, opts),
2244
- };
2245
- const promiseResolve = (v) => Promise.resolve(v);
2246
- const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2247
- try {
2248
- new CSSStyleSheet();
2249
- return typeof new CSSStyleSheet().replaceSync === 'function';
2250
- }
2251
- catch (e) { }
2252
- return false;
2253
- })()
2254
- ;
2255
2237
  const queueDomReads = [];
2256
2238
  const queueDomWrites = [];
2257
2239
  const queueTask = (queue, write) => (cb) => {