@ukic/web-components 2.0.0-alpha.121

Sign up to get free protection for your applications and to get access to all the features.
Files changed (926) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/check-icon-999d9877.js +10 -0
  3. package/dist/cjs/check-icon-999d9877.js.map +1 -0
  4. package/dist/cjs/chevron-icon-d175fe66.js +10 -0
  5. package/dist/cjs/chevron-icon-d175fe66.js.map +1 -0
  6. package/dist/cjs/close-icon-8ccb0163.js +12 -0
  7. package/dist/cjs/close-icon-8ccb0163.js.map +1 -0
  8. package/dist/cjs/core.cjs.js +21 -0
  9. package/dist/cjs/core.cjs.js.map +1 -0
  10. package/dist/cjs/error-icon-99504103.js +18 -0
  11. package/dist/cjs/error-icon-99504103.js.map +1 -0
  12. package/dist/cjs/helpers-9d4961dc.js +430 -0
  13. package/dist/cjs/helpers-9d4961dc.js.map +1 -0
  14. package/dist/cjs/ic-alert.cjs.entry.js +91 -0
  15. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -0
  16. package/dist/cjs/ic-back-to-top.cjs.entry.js +132 -0
  17. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -0
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +63 -0
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -0
  20. package/dist/cjs/ic-breadcrumbs.cjs.entry.js +181 -0
  21. package/dist/cjs/ic-breadcrumbs.cjs.entry.js.map +1 -0
  22. package/dist/cjs/ic-button_3.cjs.entry.js +432 -0
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -0
  24. package/dist/cjs/ic-card.cjs.entry.js +87 -0
  25. package/dist/cjs/ic-card.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +66 -0
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -0
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +72 -0
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -0
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js +42 -0
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -0
  32. package/dist/cjs/ic-data-entity.cjs.entry.js +31 -0
  33. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -0
  34. package/dist/cjs/ic-data-row.cjs.entry.js +74 -0
  35. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -0
  36. package/dist/cjs/ic-divider.cjs.entry.js +29 -0
  37. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -0
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +69 -0
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +59 -0
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-footer.cjs.entry.js +87 -0
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -0
  44. package/dist/cjs/ic-hero.cjs.entry.js +72 -0
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -0
  46. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +485 -0
  47. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
  49. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  50. package/dist/cjs/ic-link.cjs.entry.js +69 -0
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -0
  52. package/dist/cjs/ic-navigation-button.cjs.entry.js +86 -0
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -0
  54. package/dist/cjs/ic-navigation-group.cjs.entry.js +240 -0
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -0
  56. package/dist/cjs/ic-navigation-item.cjs.entry.js +146 -0
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -0
  58. package/dist/cjs/ic-navigation-menu.cjs.entry.js +129 -0
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -0
  60. package/dist/cjs/ic-page-header.cjs.entry.js +107 -0
  61. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -0
  62. package/dist/cjs/ic-radio-group.cjs.entry.js +103 -0
  63. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -0
  64. package/dist/cjs/ic-radio-option.cjs.entry.js +108 -0
  65. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -0
  66. package/dist/cjs/ic-search-bar.cjs.entry.js +393 -0
  67. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -0
  68. package/dist/cjs/ic-section-container.cjs.entry.js +29 -0
  69. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -0
  70. package/dist/cjs/ic-select.cjs.entry.js +166 -0
  71. package/dist/cjs/ic-select.cjs.entry.js.map +1 -0
  72. package/dist/cjs/ic-side-navigation.cjs.entry.js +384 -0
  73. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -0
  74. package/dist/cjs/ic-skeleton.cjs.entry.js +59 -0
  75. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -0
  76. package/dist/cjs/ic-status-tag.cjs.entry.js +34 -0
  77. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -0
  78. package/dist/cjs/ic-step.cjs.entry.js +59 -0
  79. package/dist/cjs/ic-step.cjs.entry.js.map +1 -0
  80. package/dist/cjs/ic-stepper.cjs.entry.js +96 -0
  81. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -0
  82. package/dist/cjs/ic-switch.cjs.entry.js +65 -0
  83. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -0
  84. package/dist/cjs/ic-tab-context.cjs.entry.js +226 -0
  85. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -0
  86. package/dist/cjs/ic-tab-list.cjs.entry.js +145 -0
  87. package/dist/cjs/ic-tab-list.cjs.entry.js.map +1 -0
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +33 -0
  89. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -0
  90. package/dist/cjs/ic-tab.cjs.entry.js +73 -0
  91. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -0
  92. package/dist/cjs/ic-text-field.cjs.entry.js +203 -0
  93. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -0
  94. package/dist/cjs/ic-theme.cjs.entry.js +53 -0
  95. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-top-navigation.cjs.entry.js +207 -0
  97. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -0
  98. package/dist/cjs/ic-typography.cjs.entry.js +28 -0
  99. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -0
  100. package/dist/cjs/index-3ef30d9d.js +2459 -0
  101. package/dist/cjs/index-3ef30d9d.js.map +1 -0
  102. package/dist/cjs/index.cjs.js +4 -0
  103. package/dist/cjs/index.cjs.js.map +1 -0
  104. package/dist/cjs/loader.cjs.js +23 -0
  105. package/dist/cjs/loader.cjs.js.map +1 -0
  106. package/dist/cjs/popper-11d5f714.js +1803 -0
  107. package/dist/cjs/popper-11d5f714.js.map +1 -0
  108. package/dist/cjs/success-icon-887b2097.js +11 -0
  109. package/dist/cjs/success-icon-887b2097.js.map +1 -0
  110. package/dist/collection/assets/back-icon.svg +3 -0
  111. package/dist/collection/assets/check-icon.svg +3 -0
  112. package/dist/collection/assets/chevron-icon.svg +3 -0
  113. package/dist/collection/assets/clear-icon.svg +3 -0
  114. package/dist/collection/assets/close-icon.svg +5 -0
  115. package/dist/collection/assets/error-icon.svg +5 -0
  116. package/dist/collection/assets/hamburger-menu-icon.svg +5 -0
  117. package/dist/collection/assets/info-icon.svg +5 -0
  118. package/dist/collection/assets/neutral-icon.svg +5 -0
  119. package/dist/collection/assets/search-icon.svg +3 -0
  120. package/dist/collection/assets/success-icon.svg +5 -0
  121. package/dist/collection/assets/warning-icon.svg +5 -0
  122. package/dist/collection/collection-manifest.json +59 -0
  123. package/dist/collection/components/ic-alert/ic-alert.css +615 -0
  124. package/dist/collection/components/ic-alert/ic-alert.js +235 -0
  125. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -0
  126. package/dist/collection/components/ic-alert/ic-alert.test.a11y.js +11 -0
  127. package/dist/collection/components/ic-alert/ic-alert.test.a11y.js.map +1 -0
  128. package/dist/collection/components/ic-alert/ic-alert.types.js +2 -0
  129. package/dist/collection/components/ic-alert/ic-alert.types.js.map +1 -0
  130. package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +3 -0
  131. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +526 -0
  132. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +160 -0
  133. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -0
  134. package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js +28 -0
  135. package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js.map +1 -0
  136. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +80 -0
  137. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +136 -0
  138. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -0
  139. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.types.js +2 -0
  140. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.types.js.map +1 -0
  141. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.js +35 -0
  142. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.js.map +1 -0
  143. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.css +35 -0
  144. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.js +228 -0
  145. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.js.map +1 -0
  146. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.js +21 -0
  147. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.js.map +1 -0
  148. package/dist/collection/components/ic-button/ic-button.css +840 -0
  149. package/dist/collection/components/ic-button/ic-button.js +613 -0
  150. package/dist/collection/components/ic-button/ic-button.js.map +1 -0
  151. package/dist/collection/components/ic-button/ic-button.test.a11y.js +11 -0
  152. package/dist/collection/components/ic-button/ic-button.test.a11y.js.map +1 -0
  153. package/dist/collection/components/ic-button/ic-button.types.js +2 -0
  154. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -0
  155. package/dist/collection/components/ic-card/ic-card.css +546 -0
  156. package/dist/collection/components/ic-card/ic-card.js +291 -0
  157. package/dist/collection/components/ic-card/ic-card.js.map +1 -0
  158. package/dist/collection/components/ic-card/ic-card.test.a11y.js +21 -0
  159. package/dist/collection/components/ic-card/ic-card.test.a11y.js.map +1 -0
  160. package/dist/collection/components/ic-checkbox/ic-checkbox.css +597 -0
  161. package/dist/collection/components/ic-checkbox/ic-checkbox.js +256 -0
  162. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -0
  163. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +466 -0
  164. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +271 -0
  165. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -0
  166. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js +16 -0
  167. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +1 -0
  168. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js +2 -0
  169. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js.map +1 -0
  170. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +494 -0
  171. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +141 -0
  172. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -0
  173. package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js +11 -0
  174. package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js.map +1 -0
  175. package/dist/collection/components/ic-classification-banner/ic-classification-banner.types.js +2 -0
  176. package/dist/collection/components/ic-classification-banner/ic-classification-banner.types.js.map +1 -0
  177. package/dist/collection/components/ic-data-entity/ic-data-entity.css +468 -0
  178. package/dist/collection/components/ic-data-entity/ic-data-entity.js +70 -0
  179. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -0
  180. package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js +11 -0
  181. package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js.map +1 -0
  182. package/dist/collection/components/ic-data-row/ic-data-row.css +499 -0
  183. package/dist/collection/components/ic-data-row/ic-data-row.js +141 -0
  184. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -0
  185. package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js +18 -0
  186. package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js.map +1 -0
  187. package/dist/collection/components/ic-divider/ic-divider.css +11 -0
  188. package/dist/collection/components/ic-divider/ic-divider.js +44 -0
  189. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -0
  190. package/dist/collection/components/ic-footer/ic-footer.css +537 -0
  191. package/dist/collection/components/ic-footer/ic-footer.js +247 -0
  192. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -0
  193. package/dist/collection/components/ic-footer/ic-footer.test.a11y.js +21 -0
  194. package/dist/collection/components/ic-footer/ic-footer.test.a11y.js.map +1 -0
  195. package/dist/collection/components/ic-footer/ic-footer.types.js +2 -0
  196. package/dist/collection/components/ic-footer/ic-footer.types.js.map +1 -0
  197. package/dist/collection/components/ic-footer-link/ic-footer-link.css +558 -0
  198. package/dist/collection/components/ic-footer-link/ic-footer-link.js +103 -0
  199. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -0
  200. package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js +21 -0
  201. package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js.map +1 -0
  202. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +522 -0
  203. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +113 -0
  204. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -0
  205. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js +21 -0
  206. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +1 -0
  207. package/dist/collection/components/ic-hero/ic-hero.css +703 -0
  208. package/dist/collection/components/ic-hero/ic-hero.js +273 -0
  209. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -0
  210. package/dist/collection/components/ic-hero/ic-hero.test.a11y.js +11 -0
  211. package/dist/collection/components/ic-hero/ic-hero.test.a11y.js.map +1 -0
  212. package/dist/collection/components/ic-hero/ic-hero.types.js +2 -0
  213. package/dist/collection/components/ic-hero/ic-hero.types.js.map +1 -0
  214. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +118 -0
  215. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +208 -0
  216. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -0
  217. package/dist/collection/components/ic-input-container/ic-input-container.css +5 -0
  218. package/dist/collection/components/ic-input-container/ic-input-container.js +66 -0
  219. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -0
  220. package/dist/collection/components/ic-input-label/ic-input-label.css +39 -0
  221. package/dist/collection/components/ic-input-label/ic-input-label.js +194 -0
  222. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -0
  223. package/dist/collection/components/ic-input-validation/ic-input-validation.css +43 -0
  224. package/dist/collection/components/ic-input-validation/ic-input-validation.js +152 -0
  225. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -0
  226. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js +2 -0
  227. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +1 -0
  228. package/dist/collection/components/ic-link/assets/OpenInNew.svg +1 -0
  229. package/dist/collection/components/ic-link/ic-link.css +545 -0
  230. package/dist/collection/components/ic-link/ic-link.js +231 -0
  231. package/dist/collection/components/ic-link/ic-link.js.map +1 -0
  232. package/dist/collection/components/ic-link/ic-link.test.a11y.js +11 -0
  233. package/dist/collection/components/ic-link/ic-link.test.a11y.js.map +1 -0
  234. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +672 -0
  235. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +334 -0
  236. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -0
  237. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js +11 -0
  238. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js.map +1 -0
  239. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js +2 -0
  240. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -0
  241. package/dist/collection/components/ic-menu/ic-menu.css +579 -0
  242. package/dist/collection/components/ic-menu/ic-menu.js +806 -0
  243. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -0
  244. package/dist/collection/components/ic-menu/ic-menu.types.js +2 -0
  245. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -0
  246. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +452 -0
  247. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +266 -0
  248. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -0
  249. package/dist/collection/components/ic-navigation-button/ic-navigation-button.types.js +2 -0
  250. package/dist/collection/components/ic-navigation-button/ic-navigation-button.types.js.map +1 -0
  251. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +639 -0
  252. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +331 -0
  253. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -0
  254. package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js +18 -0
  255. package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js.map +1 -0
  256. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +967 -0
  257. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +347 -0
  258. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -0
  259. package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js +18 -0
  260. package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js.map +1 -0
  261. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +87 -0
  262. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +208 -0
  263. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -0
  264. package/dist/collection/components/ic-page-header/ic-page-header.css +561 -0
  265. package/dist/collection/components/ic-page-header/ic-page-header.js +275 -0
  266. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -0
  267. package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js +13 -0
  268. package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js.map +1 -0
  269. package/dist/collection/components/ic-radio-group/ic-radio-group.css +454 -0
  270. package/dist/collection/components/ic-radio-group/ic-radio-group.js +308 -0
  271. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -0
  272. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js +16 -0
  273. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +1 -0
  274. package/dist/collection/components/ic-radio-option/ic-radio-option.css +639 -0
  275. package/dist/collection/components/ic-radio-option/ic-radio-option.js +305 -0
  276. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -0
  277. package/dist/collection/components/ic-search-bar/ic-search-bar.css +552 -0
  278. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1127 -0
  279. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -0
  280. package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js +11 -0
  281. package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js.map +1 -0
  282. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js +2 -0
  283. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -0
  284. package/dist/collection/components/ic-section-container/ic-section-container.css +513 -0
  285. package/dist/collection/components/ic-section-container/ic-section-container.js +74 -0
  286. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -0
  287. package/dist/collection/components/ic-select/assets/Check.svg +3 -0
  288. package/dist/collection/components/ic-select/assets/Clear.svg +3 -0
  289. package/dist/collection/components/ic-select/assets/Expand.svg +3 -0
  290. package/dist/collection/components/ic-select/ic-select.css +592 -0
  291. package/dist/collection/components/ic-select/ic-select.js +516 -0
  292. package/dist/collection/components/ic-select/ic-select.js.map +1 -0
  293. package/dist/collection/components/ic-select/ic-select.test.a11y.js +28 -0
  294. package/dist/collection/components/ic-select/ic-select.test.a11y.js.map +1 -0
  295. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js +321 -0
  296. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +1 -0
  297. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +607 -0
  298. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +566 -0
  299. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -0
  300. package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js +14 -0
  301. package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js.map +1 -0
  302. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js +2 -0
  303. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -0
  304. package/dist/collection/components/ic-skeleton/ic-skeleton.css +495 -0
  305. package/dist/collection/components/ic-skeleton/ic-skeleton.js +112 -0
  306. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -0
  307. package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js +11 -0
  308. package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js.map +1 -0
  309. package/dist/collection/components/ic-skeleton/ic-skeleton.types.js +2 -0
  310. package/dist/collection/components/ic-skeleton/ic-skeleton.types.js.map +1 -0
  311. package/dist/collection/components/ic-status-tag/ic-status-tag.css +499 -0
  312. package/dist/collection/components/ic-status-tag/ic-status-tag.js +119 -0
  313. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -0
  314. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js +11 -0
  315. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +1 -0
  316. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js +2 -0
  317. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -0
  318. package/dist/collection/components/ic-step/ic-step.css +146 -0
  319. package/dist/collection/components/ic-step/ic-step.js +160 -0
  320. package/dist/collection/components/ic-step/ic-step.js.map +1 -0
  321. package/dist/collection/components/ic-step/ic-step.types.js +2 -0
  322. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -0
  323. package/dist/collection/components/ic-stepper/ic-stepper.css +14 -0
  324. package/dist/collection/components/ic-stepper/ic-stepper.js +147 -0
  325. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -0
  326. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js +24 -0
  327. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +1 -0
  328. package/dist/collection/components/ic-stepper/ic-stepper.types.js +2 -0
  329. package/dist/collection/components/ic-stepper/ic-stepper.types.js.map +1 -0
  330. package/dist/collection/components/ic-switch/ic-switch.css +626 -0
  331. package/dist/collection/components/ic-switch/ic-switch.js +288 -0
  332. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -0
  333. package/dist/collection/components/ic-switch/ic-switch.test.a11y.js +11 -0
  334. package/dist/collection/components/ic-switch/ic-switch.test.a11y.js.map +1 -0
  335. package/dist/collection/components/ic-switch/ic-switch.types.js +2 -0
  336. package/dist/collection/components/ic-switch/ic-switch.types.js.map +1 -0
  337. package/dist/collection/components/ic-tab/ic-tab.css +511 -0
  338. package/dist/collection/components/ic-tab/ic-tab.js +245 -0
  339. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -0
  340. package/dist/collection/components/ic-tab/ic-tab.types.js +2 -0
  341. package/dist/collection/components/ic-tab/ic-tab.types.js.map +1 -0
  342. package/dist/collection/components/ic-tab-context/ic-tab-context.js +337 -0
  343. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -0
  344. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +19 -0
  345. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -0
  346. package/dist/collection/components/ic-tab-list/assets/left-arrow.svg +3 -0
  347. package/dist/collection/components/ic-tab-list/assets/right-arrow.svg +3 -0
  348. package/dist/collection/components/ic-tab-list/ic-tab-list.css +139 -0
  349. package/dist/collection/components/ic-tab-list/ic-tab-list.js +258 -0
  350. package/dist/collection/components/ic-tab-list/ic-tab-list.js.map +1 -0
  351. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +3 -0
  352. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +115 -0
  353. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -0
  354. package/dist/collection/components/ic-text-field/ic-text-field.css +556 -0
  355. package/dist/collection/components/ic-text-field/ic-text-field.js +1006 -0
  356. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -0
  357. package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js +33 -0
  358. package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js.map +1 -0
  359. package/dist/collection/components/ic-text-field/ic-text-field.types.js +2 -0
  360. package/dist/collection/components/ic-text-field/ic-text-field.types.js.map +1 -0
  361. package/dist/collection/components/ic-theme/ic-theme.js +93 -0
  362. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -0
  363. package/dist/collection/components/ic-tooltip/ic-tooltip.css +538 -0
  364. package/dist/collection/components/ic-tooltip/ic-tooltip.js +192 -0
  365. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -0
  366. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js +15 -0
  367. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +1 -0
  368. package/dist/collection/components/ic-tooltip/ic-tooltip.types.js +2 -0
  369. package/dist/collection/components/ic-tooltip/ic-tooltip.types.js.map +1 -0
  370. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +736 -0
  371. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +411 -0
  372. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -0
  373. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js +23 -0
  374. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +1 -0
  375. package/dist/collection/components/ic-typography/ic-typography.css +543 -0
  376. package/dist/collection/components/ic-typography/ic-typography.js +73 -0
  377. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -0
  378. package/dist/collection/components/ic-typography/ic-typography.test.a11y.js +11 -0
  379. package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +1 -0
  380. package/dist/collection/index.js +2 -0
  381. package/dist/collection/index.js.map +1 -0
  382. package/dist/collection/testspec.setup.js +32 -0
  383. package/dist/collection/testspec.setup.js.map +1 -0
  384. package/dist/collection/utils/constants.js +44 -0
  385. package/dist/collection/utils/constants.js.map +1 -0
  386. package/dist/collection/utils/helpers.js +339 -0
  387. package/dist/collection/utils/helpers.js.map +1 -0
  388. package/dist/collection/utils/testa11y.helpers.js +8 -0
  389. package/dist/collection/utils/testa11y.helpers.js.map +1 -0
  390. package/dist/collection/utils/types.js +13 -0
  391. package/dist/collection/utils/types.js.map +1 -0
  392. package/dist/components/check-icon.js +8 -0
  393. package/dist/components/check-icon.js.map +1 -0
  394. package/dist/components/chevron-icon.js +8 -0
  395. package/dist/components/chevron-icon.js.map +1 -0
  396. package/dist/components/close-icon.js +10 -0
  397. package/dist/components/close-icon.js.map +1 -0
  398. package/dist/components/error-icon.js +15 -0
  399. package/dist/components/error-icon.js.map +1 -0
  400. package/dist/components/helpers.js +397 -0
  401. package/dist/components/helpers.js.map +1 -0
  402. package/dist/components/ic-alert.d.ts +11 -0
  403. package/dist/components/ic-alert.js +138 -0
  404. package/dist/components/ic-alert.js.map +1 -0
  405. package/dist/components/ic-back-to-top.d.ts +11 -0
  406. package/dist/components/ic-back-to-top.js +157 -0
  407. package/dist/components/ic-back-to-top.js.map +1 -0
  408. package/dist/components/ic-breadcrumb.d.ts +11 -0
  409. package/dist/components/ic-breadcrumb.js +8 -0
  410. package/dist/components/ic-breadcrumb.js.map +1 -0
  411. package/dist/components/ic-breadcrumb2.js +85 -0
  412. package/dist/components/ic-breadcrumb2.js.map +1 -0
  413. package/dist/components/ic-breadcrumbs.d.ts +11 -0
  414. package/dist/components/ic-breadcrumbs.js +212 -0
  415. package/dist/components/ic-breadcrumbs.js.map +1 -0
  416. package/dist/components/ic-button.d.ts +11 -0
  417. package/dist/components/ic-button.js +8 -0
  418. package/dist/components/ic-button.js.map +1 -0
  419. package/dist/components/ic-button2.js +243 -0
  420. package/dist/components/ic-button2.js.map +1 -0
  421. package/dist/components/ic-card.d.ts +11 -0
  422. package/dist/components/ic-card.js +121 -0
  423. package/dist/components/ic-card.js.map +1 -0
  424. package/dist/components/ic-checkbox-group.d.ts +11 -0
  425. package/dist/components/ic-checkbox-group.js +109 -0
  426. package/dist/components/ic-checkbox-group.js.map +1 -0
  427. package/dist/components/ic-checkbox.d.ts +11 -0
  428. package/dist/components/ic-checkbox.js +102 -0
  429. package/dist/components/ic-checkbox.js.map +1 -0
  430. package/dist/components/ic-classification-banner.d.ts +11 -0
  431. package/dist/components/ic-classification-banner.js +68 -0
  432. package/dist/components/ic-classification-banner.js.map +1 -0
  433. package/dist/components/ic-data-entity.d.ts +11 -0
  434. package/dist/components/ic-data-entity.js +54 -0
  435. package/dist/components/ic-data-entity.js.map +1 -0
  436. package/dist/components/ic-data-row.d.ts +11 -0
  437. package/dist/components/ic-data-row.js +100 -0
  438. package/dist/components/ic-data-row.js.map +1 -0
  439. package/dist/components/ic-divider.d.ts +11 -0
  440. package/dist/components/ic-divider.js +8 -0
  441. package/dist/components/ic-divider.js.map +1 -0
  442. package/dist/components/ic-divider2.js +41 -0
  443. package/dist/components/ic-divider2.js.map +1 -0
  444. package/dist/components/ic-footer-link-group.d.ts +11 -0
  445. package/dist/components/ic-footer-link-group.js +101 -0
  446. package/dist/components/ic-footer-link-group.js.map +1 -0
  447. package/dist/components/ic-footer-link.d.ts +11 -0
  448. package/dist/components/ic-footer-link.js +78 -0
  449. package/dist/components/ic-footer-link.js.map +1 -0
  450. package/dist/components/ic-footer.d.ts +11 -0
  451. package/dist/components/ic-footer.js +122 -0
  452. package/dist/components/ic-footer.js.map +1 -0
  453. package/dist/components/ic-hero.d.ts +11 -0
  454. package/dist/components/ic-hero.js +112 -0
  455. package/dist/components/ic-hero.js.map +1 -0
  456. package/dist/components/ic-input-component-container.d.ts +11 -0
  457. package/dist/components/ic-input-component-container.js +8 -0
  458. package/dist/components/ic-input-component-container.js.map +1 -0
  459. package/dist/components/ic-input-component-container2.js +71 -0
  460. package/dist/components/ic-input-component-container2.js.map +1 -0
  461. package/dist/components/ic-input-container.d.ts +11 -0
  462. package/dist/components/ic-input-container.js +8 -0
  463. package/dist/components/ic-input-container.js.map +1 -0
  464. package/dist/components/ic-input-container2.js +40 -0
  465. package/dist/components/ic-input-container2.js.map +1 -0
  466. package/dist/components/ic-input-label.d.ts +11 -0
  467. package/dist/components/ic-input-label.js +8 -0
  468. package/dist/components/ic-input-label.js.map +1 -0
  469. package/dist/components/ic-input-label2.js +74 -0
  470. package/dist/components/ic-input-label2.js.map +1 -0
  471. package/dist/components/ic-input-validation.d.ts +11 -0
  472. package/dist/components/ic-input-validation.js +8 -0
  473. package/dist/components/ic-input-validation.js.map +1 -0
  474. package/dist/components/ic-input-validation2.js +68 -0
  475. package/dist/components/ic-input-validation2.js.map +1 -0
  476. package/dist/components/ic-link.d.ts +11 -0
  477. package/dist/components/ic-link.js +8 -0
  478. package/dist/components/ic-link.js.map +1 -0
  479. package/dist/components/ic-link2.js +89 -0
  480. package/dist/components/ic-link2.js.map +1 -0
  481. package/dist/components/ic-loading-indicator.d.ts +11 -0
  482. package/dist/components/ic-loading-indicator.js +8 -0
  483. package/dist/components/ic-loading-indicator.js.map +1 -0
  484. package/dist/components/ic-loading-indicator2.js +158 -0
  485. package/dist/components/ic-loading-indicator2.js.map +1 -0
  486. package/dist/components/ic-menu.d.ts +11 -0
  487. package/dist/components/ic-menu.js +8 -0
  488. package/dist/components/ic-menu.js.map +1 -0
  489. package/dist/components/ic-menu2.js +461 -0
  490. package/dist/components/ic-menu2.js.map +1 -0
  491. package/dist/components/ic-navigation-button.d.ts +11 -0
  492. package/dist/components/ic-navigation-button.js +135 -0
  493. package/dist/components/ic-navigation-button.js.map +1 -0
  494. package/dist/components/ic-navigation-group.d.ts +11 -0
  495. package/dist/components/ic-navigation-group.js +271 -0
  496. package/dist/components/ic-navigation-group.js.map +1 -0
  497. package/dist/components/ic-navigation-item.d.ts +11 -0
  498. package/dist/components/ic-navigation-item.js +188 -0
  499. package/dist/components/ic-navigation-item.js.map +1 -0
  500. package/dist/components/ic-navigation-menu.d.ts +11 -0
  501. package/dist/components/ic-navigation-menu.js +8 -0
  502. package/dist/components/ic-navigation-menu.js.map +1 -0
  503. package/dist/components/ic-navigation-menu2.js +167 -0
  504. package/dist/components/ic-navigation-menu2.js.map +1 -0
  505. package/dist/components/ic-page-header.d.ts +11 -0
  506. package/dist/components/ic-page-header.js +145 -0
  507. package/dist/components/ic-page-header.js.map +1 -0
  508. package/dist/components/ic-radio-group.d.ts +11 -0
  509. package/dist/components/ic-radio-group.js +147 -0
  510. package/dist/components/ic-radio-group.js.map +1 -0
  511. package/dist/components/ic-radio-option.d.ts +11 -0
  512. package/dist/components/ic-radio-option.js +137 -0
  513. package/dist/components/ic-radio-option.js.map +1 -0
  514. package/dist/components/ic-search-bar.d.ts +11 -0
  515. package/dist/components/ic-search-bar.js +500 -0
  516. package/dist/components/ic-search-bar.js.map +1 -0
  517. package/dist/components/ic-section-container.d.ts +11 -0
  518. package/dist/components/ic-section-container.js +8 -0
  519. package/dist/components/ic-section-container.js.map +1 -0
  520. package/dist/components/ic-section-container2.js +43 -0
  521. package/dist/components/ic-section-container2.js.map +1 -0
  522. package/dist/components/ic-select.d.ts +11 -0
  523. package/dist/components/ic-select.js +253 -0
  524. package/dist/components/ic-select.js.map +1 -0
  525. package/dist/components/ic-side-navigation.d.ts +11 -0
  526. package/dist/components/ic-side-navigation.js +444 -0
  527. package/dist/components/ic-side-navigation.js.map +1 -0
  528. package/dist/components/ic-skeleton.d.ts +11 -0
  529. package/dist/components/ic-skeleton.js +80 -0
  530. package/dist/components/ic-skeleton.js.map +1 -0
  531. package/dist/components/ic-status-tag.d.ts +11 -0
  532. package/dist/components/ic-status-tag.js +59 -0
  533. package/dist/components/ic-status-tag.js.map +1 -0
  534. package/dist/components/ic-step.d.ts +11 -0
  535. package/dist/components/ic-step.js +85 -0
  536. package/dist/components/ic-step.js.map +1 -0
  537. package/dist/components/ic-stepper.d.ts +11 -0
  538. package/dist/components/ic-stepper.js +115 -0
  539. package/dist/components/ic-stepper.js.map +1 -0
  540. package/dist/components/ic-switch.d.ts +11 -0
  541. package/dist/components/ic-switch.js +102 -0
  542. package/dist/components/ic-switch.js.map +1 -0
  543. package/dist/components/ic-tab-context.d.ts +11 -0
  544. package/dist/components/ic-tab-context.js +245 -0
  545. package/dist/components/ic-tab-context.js.map +1 -0
  546. package/dist/components/ic-tab-list.d.ts +11 -0
  547. package/dist/components/ic-tab-list.js +180 -0
  548. package/dist/components/ic-tab-list.js.map +1 -0
  549. package/dist/components/ic-tab-panel.d.ts +11 -0
  550. package/dist/components/ic-tab-panel.js +52 -0
  551. package/dist/components/ic-tab-panel.js.map +1 -0
  552. package/dist/components/ic-tab.d.ts +11 -0
  553. package/dist/components/ic-tab.js +100 -0
  554. package/dist/components/ic-tab.js.map +1 -0
  555. package/dist/components/ic-text-field.d.ts +11 -0
  556. package/dist/components/ic-text-field.js +8 -0
  557. package/dist/components/ic-text-field.js.map +1 -0
  558. package/dist/components/ic-text-field2.js +282 -0
  559. package/dist/components/ic-text-field2.js.map +1 -0
  560. package/dist/components/ic-theme.d.ts +11 -0
  561. package/dist/components/ic-theme.js +69 -0
  562. package/dist/components/ic-theme.js.map +1 -0
  563. package/dist/components/ic-tooltip.d.ts +11 -0
  564. package/dist/components/ic-tooltip.js +8 -0
  565. package/dist/components/ic-tooltip.js.map +1 -0
  566. package/dist/components/ic-tooltip2.js +149 -0
  567. package/dist/components/ic-tooltip2.js.map +1 -0
  568. package/dist/components/ic-top-navigation.d.ts +11 -0
  569. package/dist/components/ic-top-navigation.js +273 -0
  570. package/dist/components/ic-top-navigation.js.map +1 -0
  571. package/dist/components/ic-typography.d.ts +11 -0
  572. package/dist/components/ic-typography.js +8 -0
  573. package/dist/components/ic-typography.js.map +1 -0
  574. package/dist/components/ic-typography2.js +42 -0
  575. package/dist/components/ic-typography2.js.map +1 -0
  576. package/dist/components/index.d.ts +69 -0
  577. package/dist/components/index.js +51 -0
  578. package/dist/components/index.js.map +1 -0
  579. package/dist/components/popper.js +1801 -0
  580. package/dist/components/popper.js.map +1 -0
  581. package/dist/components/success-icon.js +9 -0
  582. package/dist/components/success-icon.js.map +1 -0
  583. package/dist/core/core.css +57 -0
  584. package/dist/core/core.esm.js +2 -0
  585. package/dist/core/core.esm.js.map +1 -0
  586. package/dist/core/index.esm.js +2 -0
  587. package/dist/core/index.esm.js.map +1 -0
  588. package/dist/core/p-012dc33c.entry.js +2 -0
  589. package/dist/core/p-012dc33c.entry.js.map +1 -0
  590. package/dist/core/p-0d4ac3c9.entry.js +2 -0
  591. package/dist/core/p-0d4ac3c9.entry.js.map +1 -0
  592. package/dist/core/p-0ebbf9e7.entry.js +2 -0
  593. package/dist/core/p-0ebbf9e7.entry.js.map +1 -0
  594. package/dist/core/p-13854b65.entry.js +2 -0
  595. package/dist/core/p-13854b65.entry.js.map +1 -0
  596. package/dist/core/p-17420c90.entry.js +2 -0
  597. package/dist/core/p-17420c90.entry.js.map +1 -0
  598. package/dist/core/p-1e7b4310.js +2 -0
  599. package/dist/core/p-1e7b4310.js.map +1 -0
  600. package/dist/core/p-263018da.entry.js +2 -0
  601. package/dist/core/p-263018da.entry.js.map +1 -0
  602. package/dist/core/p-28ef3fe0.entry.js +2 -0
  603. package/dist/core/p-28ef3fe0.entry.js.map +1 -0
  604. package/dist/core/p-3b9d4007.entry.js +2 -0
  605. package/dist/core/p-3b9d4007.entry.js.map +1 -0
  606. package/dist/core/p-43e646c6.entry.js +2 -0
  607. package/dist/core/p-43e646c6.entry.js.map +1 -0
  608. package/dist/core/p-44355e34.entry.js +2 -0
  609. package/dist/core/p-44355e34.entry.js.map +1 -0
  610. package/dist/core/p-44512ebe.js +2 -0
  611. package/dist/core/p-44512ebe.js.map +1 -0
  612. package/dist/core/p-44af91df.entry.js +2 -0
  613. package/dist/core/p-44af91df.entry.js.map +1 -0
  614. package/dist/core/p-4b1b46f5.entry.js +2 -0
  615. package/dist/core/p-4b1b46f5.entry.js.map +1 -0
  616. package/dist/core/p-4b692529.entry.js +2 -0
  617. package/dist/core/p-4b692529.entry.js.map +1 -0
  618. package/dist/core/p-4cf60a22.entry.js +2 -0
  619. package/dist/core/p-4cf60a22.entry.js.map +1 -0
  620. package/dist/core/p-4fba6cae.entry.js +2 -0
  621. package/dist/core/p-4fba6cae.entry.js.map +1 -0
  622. package/dist/core/p-5316e421.entry.js +2 -0
  623. package/dist/core/p-5316e421.entry.js.map +1 -0
  624. package/dist/core/p-5d3dd182.entry.js +2 -0
  625. package/dist/core/p-5d3dd182.entry.js.map +1 -0
  626. package/dist/core/p-5e0b88fa.entry.js +2 -0
  627. package/dist/core/p-5e0b88fa.entry.js.map +1 -0
  628. package/dist/core/p-6be5e06b.entry.js +2 -0
  629. package/dist/core/p-6be5e06b.entry.js.map +1 -0
  630. package/dist/core/p-7152788d.entry.js +2 -0
  631. package/dist/core/p-7152788d.entry.js.map +1 -0
  632. package/dist/core/p-79905074.entry.js +2 -0
  633. package/dist/core/p-79905074.entry.js.map +1 -0
  634. package/dist/core/p-7ed79493.entry.js +2 -0
  635. package/dist/core/p-7ed79493.entry.js.map +1 -0
  636. package/dist/core/p-7f6ba60a.entry.js +2 -0
  637. package/dist/core/p-7f6ba60a.entry.js.map +1 -0
  638. package/dist/core/p-836c93b1.entry.js +2 -0
  639. package/dist/core/p-836c93b1.entry.js.map +1 -0
  640. package/dist/core/p-85436343.entry.js +2 -0
  641. package/dist/core/p-85436343.entry.js.map +1 -0
  642. package/dist/core/p-85dc9100.entry.js +2 -0
  643. package/dist/core/p-85dc9100.entry.js.map +1 -0
  644. package/dist/core/p-8a677ff1.entry.js +2 -0
  645. package/dist/core/p-8a677ff1.entry.js.map +1 -0
  646. package/dist/core/p-8af2a343.entry.js +2 -0
  647. package/dist/core/p-8af2a343.entry.js.map +1 -0
  648. package/dist/core/p-a3df537f.entry.js +2 -0
  649. package/dist/core/p-a3df537f.entry.js.map +1 -0
  650. package/dist/core/p-a968ff18.entry.js +2 -0
  651. package/dist/core/p-a968ff18.entry.js.map +1 -0
  652. package/dist/core/p-ae6aa67f.js +2 -0
  653. package/dist/core/p-ae6aa67f.js.map +1 -0
  654. package/dist/core/p-b1d83eb6.entry.js +2 -0
  655. package/dist/core/p-b1d83eb6.entry.js.map +1 -0
  656. package/dist/core/p-b858dc5a.entry.js +2 -0
  657. package/dist/core/p-b858dc5a.entry.js.map +1 -0
  658. package/dist/core/p-b9253509.entry.js +2 -0
  659. package/dist/core/p-b9253509.entry.js.map +1 -0
  660. package/dist/core/p-bbe0b521.entry.js +2 -0
  661. package/dist/core/p-bbe0b521.entry.js.map +1 -0
  662. package/dist/core/p-bdd2f166.entry.js +2 -0
  663. package/dist/core/p-bdd2f166.entry.js.map +1 -0
  664. package/dist/core/p-bddb885a.entry.js +2 -0
  665. package/dist/core/p-bddb885a.entry.js.map +1 -0
  666. package/dist/core/p-bf5717ca.js +2 -0
  667. package/dist/core/p-bf5717ca.js.map +1 -0
  668. package/dist/core/p-c09e9589.entry.js +2 -0
  669. package/dist/core/p-c09e9589.entry.js.map +1 -0
  670. package/dist/core/p-d10ce0a7.entry.js +2 -0
  671. package/dist/core/p-d10ce0a7.entry.js.map +1 -0
  672. package/dist/core/p-d198ae1f.entry.js +2 -0
  673. package/dist/core/p-d198ae1f.entry.js.map +1 -0
  674. package/dist/core/p-dc79694a.entry.js +2 -0
  675. package/dist/core/p-dc79694a.entry.js.map +1 -0
  676. package/dist/core/p-e28af65b.js +2 -0
  677. package/dist/core/p-e28af65b.js.map +1 -0
  678. package/dist/core/p-e5a09372.js +2 -0
  679. package/dist/core/p-e5a09372.js.map +1 -0
  680. package/dist/core/p-ec26fc38.js +2 -0
  681. package/dist/core/p-ec26fc38.js.map +1 -0
  682. package/dist/core/p-ed1d8712.entry.js +2 -0
  683. package/dist/core/p-ed1d8712.entry.js.map +1 -0
  684. package/dist/core/p-f7828fde.entry.js +2 -0
  685. package/dist/core/p-f7828fde.entry.js.map +1 -0
  686. package/dist/core/p-f9370be6.js +3 -0
  687. package/dist/core/p-f9370be6.js.map +1 -0
  688. package/dist/core/p-fba2f052.entry.js +2 -0
  689. package/dist/core/p-fba2f052.entry.js.map +1 -0
  690. package/dist/esm/check-icon-53f1d9e5.js +8 -0
  691. package/dist/esm/check-icon-53f1d9e5.js.map +1 -0
  692. package/dist/esm/chevron-icon-5b38c60a.js +8 -0
  693. package/dist/esm/chevron-icon-5b38c60a.js.map +1 -0
  694. package/dist/esm/close-icon-2f02b42a.js +10 -0
  695. package/dist/esm/close-icon-2f02b42a.js.map +1 -0
  696. package/dist/esm/core.js +19 -0
  697. package/dist/esm/core.js.map +1 -0
  698. package/dist/esm/error-icon-6046a380.js +15 -0
  699. package/dist/esm/error-icon-6046a380.js.map +1 -0
  700. package/dist/esm/helpers-db00eae1.js +397 -0
  701. package/dist/esm/helpers-db00eae1.js.map +1 -0
  702. package/dist/esm/ic-alert.entry.js +87 -0
  703. package/dist/esm/ic-alert.entry.js.map +1 -0
  704. package/dist/esm/ic-back-to-top.entry.js +128 -0
  705. package/dist/esm/ic-back-to-top.entry.js.map +1 -0
  706. package/dist/esm/ic-breadcrumb.entry.js +59 -0
  707. package/dist/esm/ic-breadcrumb.entry.js.map +1 -0
  708. package/dist/esm/ic-breadcrumbs.entry.js +177 -0
  709. package/dist/esm/ic-breadcrumbs.entry.js.map +1 -0
  710. package/dist/esm/ic-button_3.entry.js +426 -0
  711. package/dist/esm/ic-button_3.entry.js.map +1 -0
  712. package/dist/esm/ic-card.entry.js +83 -0
  713. package/dist/esm/ic-card.entry.js.map +1 -0
  714. package/dist/esm/ic-checkbox-group.entry.js +62 -0
  715. package/dist/esm/ic-checkbox-group.entry.js.map +1 -0
  716. package/dist/esm/ic-checkbox.entry.js +68 -0
  717. package/dist/esm/ic-checkbox.entry.js.map +1 -0
  718. package/dist/esm/ic-classification-banner.entry.js +38 -0
  719. package/dist/esm/ic-classification-banner.entry.js.map +1 -0
  720. package/dist/esm/ic-data-entity.entry.js +27 -0
  721. package/dist/esm/ic-data-entity.entry.js.map +1 -0
  722. package/dist/esm/ic-data-row.entry.js +70 -0
  723. package/dist/esm/ic-data-row.entry.js.map +1 -0
  724. package/dist/esm/ic-divider.entry.js +25 -0
  725. package/dist/esm/ic-divider.entry.js.map +1 -0
  726. package/dist/esm/ic-footer-link-group.entry.js +65 -0
  727. package/dist/esm/ic-footer-link-group.entry.js.map +1 -0
  728. package/dist/esm/ic-footer-link.entry.js +55 -0
  729. package/dist/esm/ic-footer-link.entry.js.map +1 -0
  730. package/dist/esm/ic-footer.entry.js +83 -0
  731. package/dist/esm/ic-footer.entry.js.map +1 -0
  732. package/dist/esm/ic-hero.entry.js +68 -0
  733. package/dist/esm/ic-hero.entry.js.map +1 -0
  734. package/dist/esm/ic-input-component-container_3.entry.js +479 -0
  735. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  736. package/dist/esm/ic-input-label_2.entry.js +81 -0
  737. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  738. package/dist/esm/ic-link.entry.js +65 -0
  739. package/dist/esm/ic-link.entry.js.map +1 -0
  740. package/dist/esm/ic-navigation-button.entry.js +82 -0
  741. package/dist/esm/ic-navigation-button.entry.js.map +1 -0
  742. package/dist/esm/ic-navigation-group.entry.js +236 -0
  743. package/dist/esm/ic-navigation-group.entry.js.map +1 -0
  744. package/dist/esm/ic-navigation-item.entry.js +142 -0
  745. package/dist/esm/ic-navigation-item.entry.js.map +1 -0
  746. package/dist/esm/ic-navigation-menu.entry.js +125 -0
  747. package/dist/esm/ic-navigation-menu.entry.js.map +1 -0
  748. package/dist/esm/ic-page-header.entry.js +103 -0
  749. package/dist/esm/ic-page-header.entry.js.map +1 -0
  750. package/dist/esm/ic-radio-group.entry.js +99 -0
  751. package/dist/esm/ic-radio-group.entry.js.map +1 -0
  752. package/dist/esm/ic-radio-option.entry.js +104 -0
  753. package/dist/esm/ic-radio-option.entry.js.map +1 -0
  754. package/dist/esm/ic-search-bar.entry.js +389 -0
  755. package/dist/esm/ic-search-bar.entry.js.map +1 -0
  756. package/dist/esm/ic-section-container.entry.js +25 -0
  757. package/dist/esm/ic-section-container.entry.js.map +1 -0
  758. package/dist/esm/ic-select.entry.js +162 -0
  759. package/dist/esm/ic-select.entry.js.map +1 -0
  760. package/dist/esm/ic-side-navigation.entry.js +380 -0
  761. package/dist/esm/ic-side-navigation.entry.js.map +1 -0
  762. package/dist/esm/ic-skeleton.entry.js +55 -0
  763. package/dist/esm/ic-skeleton.entry.js.map +1 -0
  764. package/dist/esm/ic-status-tag.entry.js +30 -0
  765. package/dist/esm/ic-status-tag.entry.js.map +1 -0
  766. package/dist/esm/ic-step.entry.js +55 -0
  767. package/dist/esm/ic-step.entry.js.map +1 -0
  768. package/dist/esm/ic-stepper.entry.js +92 -0
  769. package/dist/esm/ic-stepper.entry.js.map +1 -0
  770. package/dist/esm/ic-switch.entry.js +61 -0
  771. package/dist/esm/ic-switch.entry.js.map +1 -0
  772. package/dist/esm/ic-tab-context.entry.js +222 -0
  773. package/dist/esm/ic-tab-context.entry.js.map +1 -0
  774. package/dist/esm/ic-tab-list.entry.js +141 -0
  775. package/dist/esm/ic-tab-list.entry.js.map +1 -0
  776. package/dist/esm/ic-tab-panel.entry.js +29 -0
  777. package/dist/esm/ic-tab-panel.entry.js.map +1 -0
  778. package/dist/esm/ic-tab.entry.js +69 -0
  779. package/dist/esm/ic-tab.entry.js.map +1 -0
  780. package/dist/esm/ic-text-field.entry.js +199 -0
  781. package/dist/esm/ic-text-field.entry.js.map +1 -0
  782. package/dist/esm/ic-theme.entry.js +49 -0
  783. package/dist/esm/ic-theme.entry.js.map +1 -0
  784. package/dist/esm/ic-top-navigation.entry.js +203 -0
  785. package/dist/esm/ic-top-navigation.entry.js.map +1 -0
  786. package/dist/esm/ic-typography.entry.js +24 -0
  787. package/dist/esm/ic-typography.entry.js.map +1 -0
  788. package/dist/esm/index-1500de1f.js +2431 -0
  789. package/dist/esm/index-1500de1f.js.map +1 -0
  790. package/dist/esm/index.js +3 -0
  791. package/dist/esm/index.js.map +1 -0
  792. package/dist/esm/loader.js +19 -0
  793. package/dist/esm/loader.js.map +1 -0
  794. package/dist/esm/polyfills/core-js.js +11 -0
  795. package/dist/esm/polyfills/css-shim.js +1 -0
  796. package/dist/esm/polyfills/dom.js +79 -0
  797. package/dist/esm/polyfills/es5-html-element.js +1 -0
  798. package/dist/esm/polyfills/index.js +34 -0
  799. package/dist/esm/polyfills/system.js +6 -0
  800. package/dist/esm/popper-f860750c.js +1801 -0
  801. package/dist/esm/popper-f860750c.js.map +1 -0
  802. package/dist/esm/success-icon-2f71b115.js +9 -0
  803. package/dist/esm/success-icon-2f71b115.js.map +1 -0
  804. package/dist/index.cjs.js +1 -0
  805. package/dist/index.js +1 -0
  806. package/dist/types/components/ic-alert/ic-alert.d.ts +44 -0
  807. package/dist/types/components/ic-alert/ic-alert.test.a11y.d.ts +1 -0
  808. package/dist/types/components/ic-alert/ic-alert.types.d.ts +1 -0
  809. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +24 -0
  810. package/dist/types/components/ic-back-to-top/ic-back-to-top.test.a11y.d.ts +1 -0
  811. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +26 -0
  812. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.types.d.ts +1 -0
  813. package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.d.ts +2 -0
  814. package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs.d.ts +33 -0
  815. package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.d.ts +1 -0
  816. package/dist/types/components/ic-button/ic-button.d.ts +111 -0
  817. package/dist/types/components/ic-button/ic-button.test.a11y.d.ts +1 -0
  818. package/dist/types/components/ic-button/ic-button.types.d.ts +5 -0
  819. package/dist/types/components/ic-card/ic-card.d.ts +58 -0
  820. package/dist/types/components/ic-card/ic-card.test.a11y.d.ts +1 -0
  821. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +50 -0
  822. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +51 -0
  823. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.test.a11y.d.ts +1 -0
  824. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +3 -0
  825. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +24 -0
  826. package/dist/types/components/ic-classification-banner/ic-classification-banner.test.a11y.d.ts +1 -0
  827. package/dist/types/components/ic-classification-banner/ic-classification-banner.types.d.ts +1 -0
  828. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +12 -0
  829. package/dist/types/components/ic-data-entity/ic-data-entity.test.a11y.d.ts +1 -0
  830. package/dist/types/components/ic-data-row/ic-data-row.d.ts +31 -0
  831. package/dist/types/components/ic-data-row/ic-data-row.test.a11y.d.ts +1 -0
  832. package/dist/types/components/ic-divider/ic-divider.d.ts +6 -0
  833. package/dist/types/components/ic-footer/ic-footer.d.ts +52 -0
  834. package/dist/types/components/ic-footer/ic-footer.test.a11y.d.ts +1 -0
  835. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -0
  836. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +21 -0
  837. package/dist/types/components/ic-footer-link/ic-footer-link.test.a11y.d.ts +1 -0
  838. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +19 -0
  839. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.test.a11y.d.ts +1 -0
  840. package/dist/types/components/ic-hero/ic-hero.d.ts +57 -0
  841. package/dist/types/components/ic-hero/ic-hero.test.a11y.d.ts +1 -0
  842. package/dist/types/components/ic-hero/ic-hero.types.d.ts +1 -0
  843. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +40 -0
  844. package/dist/types/components/ic-input-container/ic-input-container.d.ts +11 -0
  845. package/dist/types/components/ic-input-label/ic-input-label.d.ts +36 -0
  846. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +30 -0
  847. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -0
  848. package/dist/types/components/ic-link/ic-link.d.ts +44 -0
  849. package/dist/types/components/ic-link/ic-link.test.a11y.d.ts +1 -0
  850. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +66 -0
  851. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.test.a11y.d.ts +1 -0
  852. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +3 -0
  853. package/dist/types/components/ic-menu/ic-menu.d.ts +116 -0
  854. package/dist/types/components/ic-menu/ic-menu.types.d.ts +11 -0
  855. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +53 -0
  856. package/dist/types/components/ic-navigation-button/ic-navigation-button.types.d.ts +1 -0
  857. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +56 -0
  858. package/dist/types/components/ic-navigation-group/ic-navigation-group.test.a11y.d.ts +1 -0
  859. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +65 -0
  860. package/dist/types/components/ic-navigation-item/ic-navigation-item.test.a11y.d.ts +1 -0
  861. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +36 -0
  862. package/dist/types/components/ic-page-header/ic-page-header.d.ts +55 -0
  863. package/dist/types/components/ic-page-header/ic-page-header.test.a11y.d.ts +1 -0
  864. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +57 -0
  865. package/dist/types/components/ic-radio-group/ic-radio-group.test.a11y.d.ts +1 -0
  866. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +57 -0
  867. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +211 -0
  868. package/dist/types/components/ic-search-bar/ic-search-bar.test.a11y.d.ts +1 -0
  869. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +4 -0
  870. package/dist/types/components/ic-section-container/ic-section-container.d.ts +12 -0
  871. package/dist/types/components/ic-select/ic-select.d.ts +108 -0
  872. package/dist/types/components/ic-select/ic-select.test.a11y.d.ts +1 -0
  873. package/dist/types/components/ic-side-navigation/ic-side-navigation-test-examples.d.ts +5 -0
  874. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +89 -0
  875. package/dist/types/components/ic-side-navigation/ic-side-navigation.test.a11y.d.ts +1 -0
  876. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +9 -0
  877. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +18 -0
  878. package/dist/types/components/ic-skeleton/ic-skeleton.test.a11y.d.ts +1 -0
  879. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -0
  880. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +21 -0
  881. package/dist/types/components/ic-status-tag/ic-status-tag.test.a11y.d.ts +1 -0
  882. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +2 -0
  883. package/dist/types/components/ic-step/ic-step.d.ts +26 -0
  884. package/dist/types/components/ic-step/ic-step.types.d.ts +1 -0
  885. package/dist/types/components/ic-stepper/ic-stepper.d.ts +26 -0
  886. package/dist/types/components/ic-stepper/ic-stepper.test.a11y.d.ts +1 -0
  887. package/dist/types/components/ic-stepper/ic-stepper.types.d.ts +1 -0
  888. package/dist/types/components/ic-switch/ic-switch.d.ts +67 -0
  889. package/dist/types/components/ic-switch/ic-switch.test.a11y.d.ts +1 -0
  890. package/dist/types/components/ic-switch/ic-switch.types.d.ts +4 -0
  891. package/dist/types/components/ic-tab/ic-tab.d.ts +38 -0
  892. package/dist/types/components/ic-tab/ic-tab.types.d.ts +8 -0
  893. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +51 -0
  894. package/dist/types/components/ic-tab-context/ic-tab-context.test.a11y.d.ts +1 -0
  895. package/dist/types/components/ic-tab-list/ic-tab-list.d.ts +49 -0
  896. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +15 -0
  897. package/dist/types/components/ic-text-field/ic-text-field.d.ts +199 -0
  898. package/dist/types/components/ic-text-field/ic-text-field.test.a11y.d.ts +1 -0
  899. package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +3 -0
  900. package/dist/types/components/ic-theme/ic-theme.d.ts +17 -0
  901. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +35 -0
  902. package/dist/types/components/ic-tooltip/ic-tooltip.test.a11y.d.ts +1 -0
  903. package/dist/types/components/ic-tooltip/ic-tooltip.types.d.ts +1 -0
  904. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +79 -0
  905. package/dist/types/components/ic-top-navigation/ic-top-navigation.test.a11y.d.ts +1 -0
  906. package/dist/types/components/ic-typography/ic-typography.d.ts +13 -0
  907. package/dist/types/components/ic-typography/ic-typography.test.a11y.d.ts +1 -0
  908. package/dist/types/components.d.ts +3276 -0
  909. package/dist/types/index.d.ts +1 -0
  910. package/dist/types/interface.d.ts +15 -0
  911. package/dist/types/stencil-public-runtime.d.ts +1581 -0
  912. package/dist/types/testspec.setup.d.ts +3 -0
  913. package/dist/types/utils/constants.d.ts +14 -0
  914. package/dist/types/utils/helpers.d.ts +95 -0
  915. package/dist/types/utils/testa11y.helpers.d.ts +2 -0
  916. package/dist/types/utils/types.d.ts +53 -0
  917. package/hydrate/index.d.ts +217 -0
  918. package/hydrate/index.js +14702 -0
  919. package/hydrate/package.json +6 -0
  920. package/loader/cdn.js +3 -0
  921. package/loader/index.cjs.js +3 -0
  922. package/loader/index.d.ts +12 -0
  923. package/loader/index.es2017.js +3 -0
  924. package/loader/index.js +4 -0
  925. package/loader/package.json +11 -0
  926. package/package.json +74 -0
@@ -0,0 +1,2459 @@
1
+ 'use strict';
2
+
3
+ function _interopNamespace(e) {
4
+ if (e && e.__esModule) return e;
5
+ var n = Object.create(null);
6
+ if (e) {
7
+ Object.keys(e).forEach(function (k) {
8
+ if (k !== 'default') {
9
+ var d = Object.getOwnPropertyDescriptor(e, k);
10
+ Object.defineProperty(n, k, d.get ? d : {
11
+ enumerable: true,
12
+ get: function () {
13
+ return e[k];
14
+ }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n['default'] = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ const NAMESPACE = 'core';
24
+
25
+ /**
26
+ * Virtual DOM patching algorithm based on Snabbdom by
27
+ * Simon Friis Vindum (@paldepind)
28
+ * Licensed under the MIT License
29
+ * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
30
+ *
31
+ * Modified for Stencil's renderer and slot projection
32
+ */
33
+ let scopeId;
34
+ let contentRef;
35
+ let hostTagName;
36
+ let useNativeShadowDom = false;
37
+ let checkSlotFallbackVisibility = false;
38
+ let checkSlotRelocate = false;
39
+ let isSvgMode = false;
40
+ let queuePending = false;
41
+ const createTime = (fnName, tagName = '') => {
42
+ {
43
+ return () => {
44
+ return;
45
+ };
46
+ }
47
+ };
48
+ const uniqueTime = (key, measureText) => {
49
+ {
50
+ return () => {
51
+ return;
52
+ };
53
+ }
54
+ };
55
+ const CONTENT_REF_ID = 'r';
56
+ const ORG_LOCATION_ID = 'o';
57
+ const SLOT_NODE_ID = 's';
58
+ const TEXT_NODE_ID = 't';
59
+ const HYDRATE_ID = 's-id';
60
+ const HYDRATED_STYLE_ID = 'sty-id';
61
+ const HYDRATE_CHILD_ID = 'c-id';
62
+ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
63
+ const XLINK_NS = 'http://www.w3.org/1999/xlink';
64
+ /**
65
+ * Default style mode id
66
+ */
67
+ /**
68
+ * Reusable empty obj/array
69
+ * Don't add values to these!!
70
+ */
71
+ const EMPTY_OBJ = {};
72
+ /**
73
+ * Namespaces
74
+ */
75
+ const SVG_NS = 'http://www.w3.org/2000/svg';
76
+ const HTML_NS = 'http://www.w3.org/1999/xhtml';
77
+ const isDef = (v) => v != null;
78
+ const isComplexType = (o) => {
79
+ // https://jsperf.com/typeof-fn-object/5
80
+ o = typeof o;
81
+ return o === 'object' || o === 'function';
82
+ };
83
+ /**
84
+ * Production h() function based on Preact by
85
+ * Jason Miller (@developit)
86
+ * Licensed under the MIT License
87
+ * https://github.com/developit/preact/blob/master/LICENSE
88
+ *
89
+ * Modified for Stencil's compiler and vdom
90
+ */
91
+ // const stack: any[] = [];
92
+ // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
93
+ // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
94
+ const h = (nodeName, vnodeData, ...children) => {
95
+ let child = null;
96
+ let key = null;
97
+ let slotName = null;
98
+ let simple = false;
99
+ let lastSimple = false;
100
+ const vNodeChildren = [];
101
+ const walk = (c) => {
102
+ for (let i = 0; i < c.length; i++) {
103
+ child = c[i];
104
+ if (Array.isArray(child)) {
105
+ walk(child);
106
+ }
107
+ else if (child != null && typeof child !== 'boolean') {
108
+ if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
109
+ child = String(child);
110
+ }
111
+ if (simple && lastSimple) {
112
+ // If the previous child was simple (string), we merge both
113
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
114
+ }
115
+ else {
116
+ // Append a new vNode, if it's text, we create a text vNode
117
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
118
+ }
119
+ lastSimple = simple;
120
+ }
121
+ }
122
+ };
123
+ walk(children);
124
+ if (vnodeData) {
125
+ // normalize class / classname attributes
126
+ if (vnodeData.key) {
127
+ key = vnodeData.key;
128
+ }
129
+ if (vnodeData.name) {
130
+ slotName = vnodeData.name;
131
+ }
132
+ {
133
+ const classData = vnodeData.className || vnodeData.class;
134
+ if (classData) {
135
+ vnodeData.class =
136
+ typeof classData !== 'object'
137
+ ? classData
138
+ : Object.keys(classData)
139
+ .filter((k) => classData[k])
140
+ .join(' ');
141
+ }
142
+ }
143
+ }
144
+ if (typeof nodeName === 'function') {
145
+ // nodeName is a functional component
146
+ return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
147
+ }
148
+ const vnode = newVNode(nodeName, null);
149
+ vnode.$attrs$ = vnodeData;
150
+ if (vNodeChildren.length > 0) {
151
+ vnode.$children$ = vNodeChildren;
152
+ }
153
+ {
154
+ vnode.$key$ = key;
155
+ }
156
+ {
157
+ vnode.$name$ = slotName;
158
+ }
159
+ return vnode;
160
+ };
161
+ const newVNode = (tag, text) => {
162
+ const vnode = {
163
+ $flags$: 0,
164
+ $tag$: tag,
165
+ $text$: text,
166
+ $elm$: null,
167
+ $children$: null,
168
+ };
169
+ {
170
+ vnode.$attrs$ = null;
171
+ }
172
+ {
173
+ vnode.$key$ = null;
174
+ }
175
+ {
176
+ vnode.$name$ = null;
177
+ }
178
+ return vnode;
179
+ };
180
+ const Host = {};
181
+ const isHost = (node) => node && node.$tag$ === Host;
182
+ const vdomFnUtils = {
183
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
184
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
185
+ };
186
+ const convertToPublic = (node) => ({
187
+ vattrs: node.$attrs$,
188
+ vchildren: node.$children$,
189
+ vkey: node.$key$,
190
+ vname: node.$name$,
191
+ vtag: node.$tag$,
192
+ vtext: node.$text$,
193
+ });
194
+ const convertToPrivate = (node) => {
195
+ if (typeof node.vtag === 'function') {
196
+ const vnodeData = Object.assign({}, node.vattrs);
197
+ if (node.vkey) {
198
+ vnodeData.key = node.vkey;
199
+ }
200
+ if (node.vname) {
201
+ vnodeData.name = node.vname;
202
+ }
203
+ return h(node.vtag, vnodeData, ...(node.vchildren || []));
204
+ }
205
+ const vnode = newVNode(node.vtag, node.vtext);
206
+ vnode.$attrs$ = node.vattrs;
207
+ vnode.$children$ = node.vchildren;
208
+ vnode.$key$ = node.vkey;
209
+ vnode.$name$ = node.vname;
210
+ return vnode;
211
+ };
212
+ const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
213
+ const endHydrate = createTime('hydrateClient', tagName);
214
+ const shadowRoot = hostElm.shadowRoot;
215
+ const childRenderNodes = [];
216
+ const slotNodes = [];
217
+ const shadowRootNodes = shadowRoot ? [] : null;
218
+ const vnode = (hostRef.$vnode$ = newVNode(tagName, null));
219
+ if (!plt.$orgLocNodes$) {
220
+ initializeDocumentHydrate(doc.body, (plt.$orgLocNodes$ = new Map()));
221
+ }
222
+ hostElm[HYDRATE_ID] = hostId;
223
+ hostElm.removeAttribute(HYDRATE_ID);
224
+ clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);
225
+ childRenderNodes.map((c) => {
226
+ const orgLocationId = c.$hostId$ + '.' + c.$nodeId$;
227
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
228
+ const node = c.$elm$;
229
+ if (orgLocationNode && supportsShadow && orgLocationNode['s-en'] === '') {
230
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
231
+ }
232
+ if (!shadowRoot) {
233
+ node['s-hn'] = tagName;
234
+ if (orgLocationNode) {
235
+ node['s-ol'] = orgLocationNode;
236
+ node['s-ol']['s-nr'] = node;
237
+ }
238
+ }
239
+ plt.$orgLocNodes$.delete(orgLocationId);
240
+ });
241
+ if (shadowRoot) {
242
+ shadowRootNodes.map((shadowRootNode) => {
243
+ if (shadowRootNode) {
244
+ shadowRoot.appendChild(shadowRootNode);
245
+ }
246
+ });
247
+ }
248
+ endHydrate();
249
+ };
250
+ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
251
+ let childNodeType;
252
+ let childIdSplt;
253
+ let childVNode;
254
+ let i;
255
+ if (node.nodeType === 1 /* NODE_TYPE.ElementNode */) {
256
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
257
+ if (childNodeType) {
258
+ // got the node data from the element's attribute
259
+ // `${hostId}.${nodeId}.${depth}.${index}`
260
+ childIdSplt = childNodeType.split('.');
261
+ if (childIdSplt[0] === hostId || childIdSplt[0] === '0') {
262
+ childVNode = {
263
+ $flags$: 0,
264
+ $hostId$: childIdSplt[0],
265
+ $nodeId$: childIdSplt[1],
266
+ $depth$: childIdSplt[2],
267
+ $index$: childIdSplt[3],
268
+ $tag$: node.tagName.toLowerCase(),
269
+ $elm$: node,
270
+ $attrs$: null,
271
+ $children$: null,
272
+ $key$: null,
273
+ $name$: null,
274
+ $text$: null,
275
+ };
276
+ childRenderNodes.push(childVNode);
277
+ node.removeAttribute(HYDRATE_CHILD_ID);
278
+ // this is a new child vnode
279
+ // so ensure its parent vnode has the vchildren array
280
+ if (!parentVNode.$children$) {
281
+ parentVNode.$children$ = [];
282
+ }
283
+ // add our child vnode to a specific index of the vnode's children
284
+ parentVNode.$children$[childVNode.$index$] = childVNode;
285
+ // this is now the new parent vnode for all the next child checks
286
+ parentVNode = childVNode;
287
+ if (shadowRootNodes && childVNode.$depth$ === '0') {
288
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
289
+ }
290
+ }
291
+ }
292
+ // recursively drill down, end to start so we can remove nodes
293
+ for (i = node.childNodes.length - 1; i >= 0; i--) {
294
+ clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId);
295
+ }
296
+ if (node.shadowRoot) {
297
+ // keep drilling down through the shadow root nodes
298
+ for (i = node.shadowRoot.childNodes.length - 1; i >= 0; i--) {
299
+ clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId);
300
+ }
301
+ }
302
+ }
303
+ else if (node.nodeType === 8 /* NODE_TYPE.CommentNode */) {
304
+ // `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}`
305
+ childIdSplt = node.nodeValue.split('.');
306
+ if (childIdSplt[1] === hostId || childIdSplt[1] === '0') {
307
+ // comment node for either the host id or a 0 host id
308
+ childNodeType = childIdSplt[0];
309
+ childVNode = {
310
+ $flags$: 0,
311
+ $hostId$: childIdSplt[1],
312
+ $nodeId$: childIdSplt[2],
313
+ $depth$: childIdSplt[3],
314
+ $index$: childIdSplt[4],
315
+ $elm$: node,
316
+ $attrs$: null,
317
+ $children$: null,
318
+ $key$: null,
319
+ $name$: null,
320
+ $tag$: null,
321
+ $text$: null,
322
+ };
323
+ if (childNodeType === TEXT_NODE_ID) {
324
+ childVNode.$elm$ = node.nextSibling;
325
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* NODE_TYPE.TextNode */) {
326
+ childVNode.$text$ = childVNode.$elm$.textContent;
327
+ childRenderNodes.push(childVNode);
328
+ // remove the text comment since it's no longer needed
329
+ node.remove();
330
+ if (!parentVNode.$children$) {
331
+ parentVNode.$children$ = [];
332
+ }
333
+ parentVNode.$children$[childVNode.$index$] = childVNode;
334
+ if (shadowRootNodes && childVNode.$depth$ === '0') {
335
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
336
+ }
337
+ }
338
+ }
339
+ else if (childVNode.$hostId$ === hostId) {
340
+ // this comment node is specifcally for this host id
341
+ if (childNodeType === SLOT_NODE_ID) {
342
+ // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;
343
+ childVNode.$tag$ = 'slot';
344
+ if (childIdSplt[5]) {
345
+ node['s-sn'] = childVNode.$name$ = childIdSplt[5];
346
+ }
347
+ else {
348
+ node['s-sn'] = '';
349
+ }
350
+ node['s-sr'] = true;
351
+ if (shadowRootNodes) {
352
+ // browser support shadowRoot and this is a shadow dom component
353
+ // create an actual slot element
354
+ childVNode.$elm$ = doc.createElement(childVNode.$tag$);
355
+ if (childVNode.$name$) {
356
+ // add the slot name attribute
357
+ childVNode.$elm$.setAttribute('name', childVNode.$name$);
358
+ }
359
+ // insert the new slot element before the slot comment
360
+ node.parentNode.insertBefore(childVNode.$elm$, node);
361
+ // remove the slot comment since it's not needed for shadow
362
+ node.remove();
363
+ if (childVNode.$depth$ === '0') {
364
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
365
+ }
366
+ }
367
+ slotNodes.push(childVNode);
368
+ if (!parentVNode.$children$) {
369
+ parentVNode.$children$ = [];
370
+ }
371
+ parentVNode.$children$[childVNode.$index$] = childVNode;
372
+ }
373
+ else if (childNodeType === CONTENT_REF_ID) {
374
+ // `${CONTENT_REF_ID}.${hostId}`;
375
+ if (shadowRootNodes) {
376
+ // remove the content ref comment since it's not needed for shadow
377
+ node.remove();
378
+ }
379
+ else {
380
+ hostElm['s-cr'] = node;
381
+ node['s-cn'] = true;
382
+ }
383
+ }
384
+ }
385
+ }
386
+ }
387
+ else if (parentVNode && parentVNode.$tag$ === 'style') {
388
+ const vnode = newVNode(null, node.textContent);
389
+ vnode.$elm$ = node;
390
+ vnode.$index$ = '0';
391
+ parentVNode.$children$ = [vnode];
392
+ }
393
+ };
394
+ const initializeDocumentHydrate = (node, orgLocNodes) => {
395
+ if (node.nodeType === 1 /* NODE_TYPE.ElementNode */) {
396
+ let i = 0;
397
+ for (; i < node.childNodes.length; i++) {
398
+ initializeDocumentHydrate(node.childNodes[i], orgLocNodes);
399
+ }
400
+ if (node.shadowRoot) {
401
+ for (i = 0; i < node.shadowRoot.childNodes.length; i++) {
402
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes);
403
+ }
404
+ }
405
+ }
406
+ else if (node.nodeType === 8 /* NODE_TYPE.CommentNode */) {
407
+ const childIdSplt = node.nodeValue.split('.');
408
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
409
+ orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node);
410
+ node.nodeValue = '';
411
+ // useful to know if the original location is
412
+ // the root light-dom of a shadow dom component
413
+ node['s-en'] = childIdSplt[3];
414
+ }
415
+ }
416
+ };
417
+ /**
418
+ * Parse a new property value for a given property type.
419
+ *
420
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
421
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
422
+ * 1. `any`, the type given to `propValue` in the function signature
423
+ * 2. the type stored from `propType`.
424
+ *
425
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
426
+ *
427
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
428
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
429
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
430
+ * ```tsx
431
+ * <my-cmp prop-val={0}></my-cmp>
432
+ * ```
433
+ *
434
+ * HTML prop values on the other hand, will always a string
435
+ *
436
+ * @param propValue the new value to coerce to some type
437
+ * @param propType the type of the prop, expressed as a binary number
438
+ * @returns the parsed/coerced value
439
+ */
440
+ const parsePropertyValue = (propValue, propType) => {
441
+ // ensure this value is of the correct prop type
442
+ if (propValue != null && !isComplexType(propValue)) {
443
+ if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
444
+ // per the HTML spec, any string value means it is a boolean true value
445
+ // but we'll cheat here and say that the string "false" is the boolean false
446
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
447
+ }
448
+ if (propType & 2 /* MEMBER_FLAGS.Number */) {
449
+ // force it to be a number
450
+ return parseFloat(propValue);
451
+ }
452
+ if (propType & 1 /* MEMBER_FLAGS.String */) {
453
+ // could have been passed as a number or boolean
454
+ // but we still want it as a string
455
+ return String(propValue);
456
+ }
457
+ // redundant return here for better minification
458
+ return propValue;
459
+ }
460
+ // not sure exactly what type we want
461
+ // so no need to change to a different type
462
+ return propValue;
463
+ };
464
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
465
+ const createEvent = (ref, name, flags) => {
466
+ const elm = getElement(ref);
467
+ return {
468
+ emit: (detail) => {
469
+ return emitEvent(elm, name, {
470
+ bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
471
+ composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
472
+ cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
473
+ detail,
474
+ });
475
+ },
476
+ };
477
+ };
478
+ /**
479
+ * Helper function to create & dispatch a custom Event on a provided target
480
+ * @param elm the target of the Event
481
+ * @param name the name to give the custom Event
482
+ * @param opts options for configuring a custom Event
483
+ * @returns the custom Event
484
+ */
485
+ const emitEvent = (elm, name, opts) => {
486
+ const ev = plt.ce(name, opts);
487
+ elm.dispatchEvent(ev);
488
+ return ev;
489
+ };
490
+ const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
491
+ const registerStyle = (scopeId, cssText, allowCS) => {
492
+ let style = styles.get(scopeId);
493
+ if (supportsConstructableStylesheets && allowCS) {
494
+ style = (style || new CSSStyleSheet());
495
+ if (typeof style === 'string') {
496
+ style = cssText;
497
+ }
498
+ else {
499
+ style.replaceSync(cssText);
500
+ }
501
+ }
502
+ else {
503
+ style = cssText;
504
+ }
505
+ styles.set(scopeId, style);
506
+ };
507
+ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
508
+ let scopeId = getScopeId(cmpMeta);
509
+ const style = styles.get(scopeId);
510
+ // if an element is NOT connected then getRootNode() will return the wrong root node
511
+ // so the fallback is to always use the document for the root node in those cases
512
+ styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
513
+ if (style) {
514
+ if (typeof style === 'string') {
515
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
516
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
517
+ let styleElm;
518
+ if (!appliedStyles) {
519
+ rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
520
+ }
521
+ if (!appliedStyles.has(scopeId)) {
522
+ if (styleContainerNode.host &&
523
+ (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId}"]`))) {
524
+ // This is only happening on native shadow-dom, do not needs CSS var shim
525
+ styleElm.innerHTML = style;
526
+ }
527
+ else {
528
+ {
529
+ styleElm = doc.createElement('style');
530
+ styleElm.innerHTML = style;
531
+ }
532
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
533
+ }
534
+ if (appliedStyles) {
535
+ appliedStyles.add(scopeId);
536
+ }
537
+ }
538
+ }
539
+ else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
540
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
541
+ }
542
+ }
543
+ return scopeId;
544
+ };
545
+ const attachStyles = (hostRef) => {
546
+ const cmpMeta = hostRef.$cmpMeta$;
547
+ const elm = hostRef.$hostElement$;
548
+ const flags = cmpMeta.$flags$;
549
+ const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
550
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
551
+ if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
552
+ // only required when we're NOT using native shadow dom (slot)
553
+ // or this browser doesn't support native shadow dom
554
+ // and this host element was NOT created with SSR
555
+ // let's pick out the inner content for slot projection
556
+ // create a node to represent where the original
557
+ // content was first placed, which is useful later on
558
+ // DOM WRITE!!
559
+ elm['s-sc'] = scopeId;
560
+ elm.classList.add(scopeId + '-h');
561
+ if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
562
+ elm.classList.add(scopeId + '-s');
563
+ }
564
+ }
565
+ endAttachStyles();
566
+ };
567
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
568
+ const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, '$1{');
569
+ /**
570
+ * Production setAccessor() function based on Preact by
571
+ * Jason Miller (@developit)
572
+ * Licensed under the MIT License
573
+ * https://github.com/developit/preact/blob/master/LICENSE
574
+ *
575
+ * Modified for Stencil's compiler and vdom
576
+ */
577
+ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
578
+ if (oldValue !== newValue) {
579
+ let isProp = isMemberInElement(elm, memberName);
580
+ let ln = memberName.toLowerCase();
581
+ if (memberName === 'class') {
582
+ const classList = elm.classList;
583
+ const oldClasses = parseClassList(oldValue);
584
+ const newClasses = parseClassList(newValue);
585
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
586
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
587
+ }
588
+ else if (memberName === 'style') {
589
+ // update style attribute, css properties and values
590
+ {
591
+ for (const prop in oldValue) {
592
+ if (!newValue || newValue[prop] == null) {
593
+ if (prop.includes('-')) {
594
+ elm.style.removeProperty(prop);
595
+ }
596
+ else {
597
+ elm.style[prop] = '';
598
+ }
599
+ }
600
+ }
601
+ }
602
+ for (const prop in newValue) {
603
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
604
+ if (prop.includes('-')) {
605
+ elm.style.setProperty(prop, newValue[prop]);
606
+ }
607
+ else {
608
+ elm.style[prop] = newValue[prop];
609
+ }
610
+ }
611
+ }
612
+ }
613
+ else if (memberName === 'key')
614
+ ;
615
+ else if (memberName === 'ref') {
616
+ // minifier will clean this up
617
+ if (newValue) {
618
+ newValue(elm);
619
+ }
620
+ }
621
+ else if ((!isProp ) &&
622
+ memberName[0] === 'o' &&
623
+ memberName[1] === 'n') {
624
+ // Event Handlers
625
+ // so if the member name starts with "on" and the 3rd characters is
626
+ // a capital letter, and it's not already a member on the element,
627
+ // then we're assuming it's an event listener
628
+ if (memberName[2] === '-') {
629
+ // on- prefixed events
630
+ // allows to be explicit about the dom event to listen without any magic
631
+ // under the hood:
632
+ // <my-cmp on-click> // listens for "click"
633
+ // <my-cmp on-Click> // listens for "Click"
634
+ // <my-cmp on-ionChange> // listens for "ionChange"
635
+ // <my-cmp on-EVENTS> // listens for "EVENTS"
636
+ memberName = memberName.slice(3);
637
+ }
638
+ else if (isMemberInElement(win, ln)) {
639
+ // standard event
640
+ // the JSX attribute could have been "onMouseOver" and the
641
+ // member name "onmouseover" is on the window's prototype
642
+ // so let's add the listener "mouseover", which is all lowercased
643
+ memberName = ln.slice(2);
644
+ }
645
+ else {
646
+ // custom event
647
+ // the JSX attribute could have been "onMyCustomEvent"
648
+ // so let's trim off the "on" prefix and lowercase the first character
649
+ // and add the listener "myCustomEvent"
650
+ // except for the first character, we keep the event name case
651
+ memberName = ln[2] + memberName.slice(3);
652
+ }
653
+ if (oldValue) {
654
+ plt.rel(elm, memberName, oldValue, false);
655
+ }
656
+ if (newValue) {
657
+ plt.ael(elm, memberName, newValue, false);
658
+ }
659
+ }
660
+ else {
661
+ // Set property if it exists and it's not a SVG
662
+ const isComplex = isComplexType(newValue);
663
+ if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
664
+ try {
665
+ if (!elm.tagName.includes('-')) {
666
+ const n = newValue == null ? '' : newValue;
667
+ // Workaround for Safari, moving the <input> caret when re-assigning the same valued
668
+ if (memberName === 'list') {
669
+ isProp = false;
670
+ }
671
+ else if (oldValue == null || elm[memberName] != n) {
672
+ elm[memberName] = n;
673
+ }
674
+ }
675
+ else {
676
+ elm[memberName] = newValue;
677
+ }
678
+ }
679
+ catch (e) { }
680
+ }
681
+ /**
682
+ * Need to manually update attribute if:
683
+ * - memberName is not an attribute
684
+ * - if we are rendering the host element in order to reflect attribute
685
+ * - if it's a SVG, since properties might not work in <svg>
686
+ * - if the newValue is null/undefined or 'false'.
687
+ */
688
+ let xlink = false;
689
+ {
690
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ''))) {
691
+ memberName = ln;
692
+ xlink = true;
693
+ }
694
+ }
695
+ if (newValue == null || newValue === false) {
696
+ if (newValue !== false || elm.getAttribute(memberName) === '') {
697
+ if (xlink) {
698
+ elm.removeAttributeNS(XLINK_NS, memberName);
699
+ }
700
+ else {
701
+ elm.removeAttribute(memberName);
702
+ }
703
+ }
704
+ }
705
+ else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
706
+ newValue = newValue === true ? '' : newValue;
707
+ if (xlink) {
708
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
709
+ }
710
+ else {
711
+ elm.setAttribute(memberName, newValue);
712
+ }
713
+ }
714
+ }
715
+ }
716
+ };
717
+ const parseClassListRegex = /\s/;
718
+ const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
719
+ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
720
+ // if the element passed in is a shadow root, which is a document fragment
721
+ // then we want to be adding attrs/props to the shadow root's "host" element
722
+ // if it's not a shadow root, then we add attrs/props to the same element
723
+ const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
724
+ ? newVnode.$elm$.host
725
+ : newVnode.$elm$;
726
+ const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
727
+ const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
728
+ {
729
+ // remove attributes no longer present on the vnode by setting them to undefined
730
+ for (memberName in oldVnodeAttrs) {
731
+ if (!(memberName in newVnodeAttrs)) {
732
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
733
+ }
734
+ }
735
+ }
736
+ // add new & update changed attributes
737
+ for (memberName in newVnodeAttrs) {
738
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
739
+ }
740
+ };
741
+ /**
742
+ * Create a DOM Node corresponding to one of the children of a given VNode.
743
+ *
744
+ * @param oldParentVNode the parent VNode from the previous render
745
+ * @param newParentVNode the parent VNode from the current render
746
+ * @param childIndex the index of the VNode, in the _new_ parent node's
747
+ * children, for which we will create a new DOM node
748
+ * @param parentElm the parent DOM node which our new node will be a child of
749
+ * @returns the newly created node
750
+ */
751
+ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
752
+ // tslint:disable-next-line: prefer-const
753
+ const newVNode = newParentVNode.$children$[childIndex];
754
+ let i = 0;
755
+ let elm;
756
+ let childNode;
757
+ let oldVNode;
758
+ if (!useNativeShadowDom) {
759
+ // remember for later we need to check to relocate nodes
760
+ checkSlotRelocate = true;
761
+ if (newVNode.$tag$ === 'slot') {
762
+ if (scopeId) {
763
+ // scoped css needs to add its scoped id to the parent element
764
+ parentElm.classList.add(scopeId + '-s');
765
+ }
766
+ newVNode.$flags$ |= newVNode.$children$
767
+ ? // slot element has fallback content
768
+ 2 /* VNODE_FLAGS.isSlotFallback */
769
+ : // slot element does not have fallback content
770
+ 1 /* VNODE_FLAGS.isSlotReference */;
771
+ }
772
+ }
773
+ if (newVNode.$text$ !== null) {
774
+ // create text node
775
+ elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
776
+ }
777
+ else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
778
+ // create a slot reference node
779
+ elm = newVNode.$elm$ =
780
+ doc.createTextNode('');
781
+ }
782
+ else {
783
+ if (!isSvgMode) {
784
+ isSvgMode = newVNode.$tag$ === 'svg';
785
+ }
786
+ // create element
787
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
788
+ ? 'slot-fb'
789
+ : newVNode.$tag$)
790
+ );
791
+ if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
792
+ isSvgMode = false;
793
+ }
794
+ // add css classes, attrs, props, listeners, etc.
795
+ {
796
+ updateElement(null, newVNode, isSvgMode);
797
+ }
798
+ if (isDef(scopeId) && elm['s-si'] !== scopeId) {
799
+ // if there is a scopeId and this is the initial render
800
+ // then let's add the scopeId as a css class
801
+ elm.classList.add((elm['s-si'] = scopeId));
802
+ }
803
+ if (newVNode.$children$) {
804
+ for (i = 0; i < newVNode.$children$.length; ++i) {
805
+ // create the node
806
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
807
+ // return node could have been null
808
+ if (childNode) {
809
+ // append our new node
810
+ elm.appendChild(childNode);
811
+ }
812
+ }
813
+ }
814
+ {
815
+ if (newVNode.$tag$ === 'svg') {
816
+ // Only reset the SVG context when we're exiting <svg> element
817
+ isSvgMode = false;
818
+ }
819
+ else if (elm.tagName === 'foreignObject') {
820
+ // Reenter SVG context when we're exiting <foreignObject> element
821
+ isSvgMode = true;
822
+ }
823
+ }
824
+ }
825
+ {
826
+ elm['s-hn'] = hostTagName;
827
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
828
+ // remember the content reference comment
829
+ elm['s-sr'] = true;
830
+ // remember the content reference comment
831
+ elm['s-cr'] = contentRef;
832
+ // remember the slot name, or empty string for default slot
833
+ elm['s-sn'] = newVNode.$name$ || '';
834
+ // check if we've got an old vnode for this slot
835
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
836
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
837
+ // we've got an old slot vnode and the wrapper is being replaced
838
+ // so let's move the old slot content back to it's original location
839
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
840
+ }
841
+ }
842
+ }
843
+ return elm;
844
+ };
845
+ const putBackInOriginalLocation = (parentElm, recursive) => {
846
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
847
+ const oldSlotChildNodes = parentElm.childNodes;
848
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
849
+ const childNode = oldSlotChildNodes[i];
850
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
851
+ // // this child node in the old element is from another component
852
+ // // remove this node from the old slot's parent
853
+ // childNode.remove();
854
+ // and relocate it back to it's original location
855
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
856
+ // remove the old original location comment entirely
857
+ // later on the patch function will know what to do
858
+ // and move this to the correct spot in need be
859
+ childNode['s-ol'].remove();
860
+ childNode['s-ol'] = undefined;
861
+ checkSlotRelocate = true;
862
+ }
863
+ if (recursive) {
864
+ putBackInOriginalLocation(childNode, recursive);
865
+ }
866
+ }
867
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
868
+ };
869
+ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
870
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
871
+ let childNode;
872
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
873
+ containerElm = containerElm.shadowRoot;
874
+ }
875
+ for (; startIdx <= endIdx; ++startIdx) {
876
+ if (vnodes[startIdx]) {
877
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
878
+ if (childNode) {
879
+ vnodes[startIdx].$elm$ = childNode;
880
+ containerElm.insertBefore(childNode, referenceNode(before) );
881
+ }
882
+ }
883
+ }
884
+ };
885
+ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
886
+ for (; startIdx <= endIdx; ++startIdx) {
887
+ if ((vnode = vnodes[startIdx])) {
888
+ elm = vnode.$elm$;
889
+ callNodeRefs(vnode);
890
+ {
891
+ // we're removing this element
892
+ // so it's possible we need to show slot fallback content now
893
+ checkSlotFallbackVisibility = true;
894
+ if (elm['s-ol']) {
895
+ // remove the original location comment
896
+ elm['s-ol'].remove();
897
+ }
898
+ else {
899
+ // it's possible that child nodes of the node
900
+ // that's being removed are slot nodes
901
+ putBackInOriginalLocation(elm, true);
902
+ }
903
+ }
904
+ // remove the vnode's element from the dom
905
+ elm.remove();
906
+ }
907
+ }
908
+ };
909
+ /**
910
+ * Reconcile the children of a new VNode with the children of an old VNode by
911
+ * traversing the two collections of children, identifying nodes that are
912
+ * conserved or changed, calling out to `patch` to make any necessary
913
+ * updates to the DOM, and rearranging DOM nodes as needed.
914
+ *
915
+ * The algorithm for reconciling children works by analyzing two 'windows' onto
916
+ * the two arrays of children (`oldCh` and `newCh`). We keep track of the
917
+ * 'windows' by storing start and end indices and references to the
918
+ * corresponding array entries. Initially the two 'windows' are basically equal
919
+ * to the entire array, but we progressively narrow the windows until there are
920
+ * no children left to update by doing the following:
921
+ *
922
+ * 1. Skip any `null` entries at the beginning or end of the two arrays, so
923
+ * that if we have an initial array like the following we'll end up dealing
924
+ * only with a window bounded by the highlighted elements:
925
+ *
926
+ * [null, null, VNode1 , ... , VNode2, null, null]
927
+ * ^^^^^^ ^^^^^^
928
+ *
929
+ * 2. Check to see if the elements at the head and tail positions are equal
930
+ * across the windows. This will basically detect elements which haven't
931
+ * been added, removed, or changed position, i.e. if you had the following
932
+ * VNode elements (represented as HTML):
933
+ *
934
+ * oldVNode: `<div><p><span>HEY</span></p></div>`
935
+ * newVNode: `<div><p><span>THERE</span></p></div>`
936
+ *
937
+ * Then when comparing the children of the `<div>` tag we check the equality
938
+ * of the VNodes corresponding to the `<p>` tags and, since they are the
939
+ * same tag in the same position, we'd be able to avoid completely
940
+ * re-rendering the subtree under them with a new DOM element and would just
941
+ * call out to `patch` to handle reconciling their children and so on.
942
+ *
943
+ * 3. Check, for both windows, to see if the element at the beginning of the
944
+ * window corresponds to the element at the end of the other window. This is
945
+ * a heuristic which will let us identify _some_ situations in which
946
+ * elements have changed position, for instance it _should_ detect that the
947
+ * children nodes themselves have not changed but merely moved in the
948
+ * following example:
949
+ *
950
+ * oldVNode: `<div><element-one /><element-two /></div>`
951
+ * newVNode: `<div><element-two /><element-one /></div>`
952
+ *
953
+ * If we find cases like this then we also need to move the concrete DOM
954
+ * elements corresponding to the moved children to write the re-order to the
955
+ * DOM.
956
+ *
957
+ * 4. Finally, if VNodes have the `key` attribute set on them we check for any
958
+ * nodes in the old children which have the same key as the first element in
959
+ * our window on the new children. If we find such a node we handle calling
960
+ * out to `patch`, moving relevant DOM nodes, and so on, in accordance with
961
+ * what we find.
962
+ *
963
+ * Finally, once we've narrowed our 'windows' to the point that either of them
964
+ * collapse (i.e. they have length 0) we then handle any remaining VNode
965
+ * insertion or deletion that needs to happen to get a DOM state that correctly
966
+ * reflects the new child VNodes. If, for instance, after our window on the old
967
+ * children has collapsed we still have more nodes on the new children that
968
+ * we haven't dealt with yet then we need to add them, or if the new children
969
+ * collapse but we still have unhandled _old_ children then we need to make
970
+ * sure the corresponding DOM nodes are removed.
971
+ *
972
+ * @param parentElm the node into which the parent VNode is rendered
973
+ * @param oldCh the old children of the parent node
974
+ * @param newVNode the new VNode which will replace the parent
975
+ * @param newCh the new children of the parent node
976
+ */
977
+ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
978
+ let oldStartIdx = 0;
979
+ let newStartIdx = 0;
980
+ let idxInOld = 0;
981
+ let i = 0;
982
+ let oldEndIdx = oldCh.length - 1;
983
+ let oldStartVnode = oldCh[0];
984
+ let oldEndVnode = oldCh[oldEndIdx];
985
+ let newEndIdx = newCh.length - 1;
986
+ let newStartVnode = newCh[0];
987
+ let newEndVnode = newCh[newEndIdx];
988
+ let node;
989
+ let elmToMove;
990
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
991
+ if (oldStartVnode == null) {
992
+ // VNode might have been moved left
993
+ oldStartVnode = oldCh[++oldStartIdx];
994
+ }
995
+ else if (oldEndVnode == null) {
996
+ oldEndVnode = oldCh[--oldEndIdx];
997
+ }
998
+ else if (newStartVnode == null) {
999
+ newStartVnode = newCh[++newStartIdx];
1000
+ }
1001
+ else if (newEndVnode == null) {
1002
+ newEndVnode = newCh[--newEndIdx];
1003
+ }
1004
+ else if (isSameVnode(oldStartVnode, newStartVnode)) {
1005
+ // if the start nodes are the same then we should patch the new VNode
1006
+ // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
1007
+ // indices to reflect that. We don't need to move any DOM Nodes around
1008
+ // since things are matched up in order.
1009
+ patch(oldStartVnode, newStartVnode);
1010
+ oldStartVnode = oldCh[++oldStartIdx];
1011
+ newStartVnode = newCh[++newStartIdx];
1012
+ }
1013
+ else if (isSameVnode(oldEndVnode, newEndVnode)) {
1014
+ // likewise, if the end nodes are the same we patch new onto old and
1015
+ // decrement our end indices, and also likewise in this case we don't
1016
+ // need to move any DOM Nodes.
1017
+ patch(oldEndVnode, newEndVnode);
1018
+ oldEndVnode = oldCh[--oldEndIdx];
1019
+ newEndVnode = newCh[--newEndIdx];
1020
+ }
1021
+ else if (isSameVnode(oldStartVnode, newEndVnode)) {
1022
+ // case: "Vnode moved right"
1023
+ //
1024
+ // We've found that the last node in our window on the new children is
1025
+ // the same VNode as the _first_ node in our window on the old children
1026
+ // we're dealing with now. Visually, this is the layout of these two
1027
+ // nodes:
1028
+ //
1029
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
1030
+ // ^^^^^^^^^^^
1031
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
1032
+ // ^^^^^^^^^^^^^
1033
+ //
1034
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
1035
+ // and move the DOM element for `oldStartVnode`.
1036
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
1037
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
1038
+ }
1039
+ patch(oldStartVnode, newEndVnode);
1040
+ // We need to move the element for `oldStartVnode` into a position which
1041
+ // will be appropriate for `newEndVnode`. For this we can use
1042
+ // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
1043
+ // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
1044
+ // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
1045
+ //
1046
+ // <old-start-node />
1047
+ // <some-intervening-node />
1048
+ // <old-end-node />
1049
+ // <!-- -> <-- `oldStartVnode.$elm$` should be inserted here
1050
+ // <next-sibling />
1051
+ //
1052
+ // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
1053
+ // the node for `oldStartVnode` at the end of the children of
1054
+ // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
1055
+ // aren't any siblings, and passing `null` to `Node.insertBefore` will
1056
+ // append it to the children of the parent element.
1057
+ parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
1058
+ oldStartVnode = oldCh[++oldStartIdx];
1059
+ newEndVnode = newCh[--newEndIdx];
1060
+ }
1061
+ else if (isSameVnode(oldEndVnode, newStartVnode)) {
1062
+ // case: "Vnode moved left"
1063
+ //
1064
+ // We've found that the first node in our window on the new children is
1065
+ // the same VNode as the _last_ node in our window on the old children.
1066
+ // Visually, this is the layout of these two nodes:
1067
+ //
1068
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
1069
+ // ^^^^^^^^^^^^^
1070
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
1071
+ // ^^^^^^^^^^^
1072
+ //
1073
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
1074
+ // (which will handle updating any changed attributes, reconciling their
1075
+ // children etc) but we also need to move the DOM node to which
1076
+ // `oldEndVnode` corresponds.
1077
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
1078
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1079
+ }
1080
+ patch(oldEndVnode, newStartVnode);
1081
+ // We've already checked above if `oldStartVnode` and `newStartVnode` are
1082
+ // the same node, so since we're here we know that they are not. Thus we
1083
+ // can move the element for `oldEndVnode` _before_ the element for
1084
+ // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
1085
+ // future.
1086
+ parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
1087
+ oldEndVnode = oldCh[--oldEndIdx];
1088
+ newStartVnode = newCh[++newStartIdx];
1089
+ }
1090
+ else {
1091
+ // Here we do some checks to match up old and new nodes based on the
1092
+ // `$key$` attribute, which is set by putting a `key="my-key"` attribute
1093
+ // in the JSX for a DOM element in the implementation of a Stencil
1094
+ // component.
1095
+ //
1096
+ // First we check to see if there are any nodes in the array of old
1097
+ // children which have the same key as the first node in the new
1098
+ // children.
1099
+ idxInOld = -1;
1100
+ {
1101
+ for (i = oldStartIdx; i <= oldEndIdx; ++i) {
1102
+ if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {
1103
+ idxInOld = i;
1104
+ break;
1105
+ }
1106
+ }
1107
+ }
1108
+ if (idxInOld >= 0) {
1109
+ // We found a node in the old children which matches up with the first
1110
+ // node in the new children! So let's deal with that
1111
+ elmToMove = oldCh[idxInOld];
1112
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1113
+ // the tag doesn't match so we'll need a new DOM element
1114
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
1115
+ }
1116
+ else {
1117
+ patch(elmToMove, newStartVnode);
1118
+ // invalidate the matching old node so that we won't try to update it
1119
+ // again later on
1120
+ oldCh[idxInOld] = undefined;
1121
+ node = elmToMove.$elm$;
1122
+ }
1123
+ newStartVnode = newCh[++newStartIdx];
1124
+ }
1125
+ else {
1126
+ // We either didn't find an element in the old children that matches
1127
+ // the key of the first new child OR the build is not using `key`
1128
+ // attributes at all. In either case we need to create a new element
1129
+ // for the new node.
1130
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
1131
+ newStartVnode = newCh[++newStartIdx];
1132
+ }
1133
+ if (node) {
1134
+ // if we created a new node then handle inserting it to the DOM
1135
+ {
1136
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+ if (oldStartIdx > oldEndIdx) {
1142
+ // we have some more new nodes to add which don't match up with old nodes
1143
+ addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
1144
+ }
1145
+ else if (newStartIdx > newEndIdx) {
1146
+ // there are nodes in the `oldCh` array which no longer correspond to nodes
1147
+ // in the new array, so lets remove them (which entails cleaning up the
1148
+ // relevant DOM nodes)
1149
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
1150
+ }
1151
+ };
1152
+ /**
1153
+ * Compare two VNodes to determine if they are the same
1154
+ *
1155
+ * **NB**: This function is an equality _heuristic_ based on the available
1156
+ * information set on the two VNodes and can be misleading under certain
1157
+ * circumstances. In particular, if the two nodes do not have `key` attrs
1158
+ * (available under `$key$` on VNodes) then the function falls back on merely
1159
+ * checking that they have the same tag.
1160
+ *
1161
+ * So, in other words, if `key` attrs are not set on VNodes which may be
1162
+ * changing order within a `children` array or something along those lines then
1163
+ * we could obtain a false positive and then have to do needless re-rendering.
1164
+ *
1165
+ * @param leftVNode the first VNode to check
1166
+ * @param rightVNode the second VNode to check
1167
+ * @returns whether they're equal or not
1168
+ */
1169
+ const isSameVnode = (leftVNode, rightVNode) => {
1170
+ // compare if two vnode to see if they're "technically" the same
1171
+ // need to have the same element tag, and same key to be the same
1172
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1173
+ if (leftVNode.$tag$ === 'slot') {
1174
+ return leftVNode.$name$ === rightVNode.$name$;
1175
+ }
1176
+ // this will be set if components in the build have `key` attrs set on them
1177
+ {
1178
+ return leftVNode.$key$ === rightVNode.$key$;
1179
+ }
1180
+ }
1181
+ return false;
1182
+ };
1183
+ const referenceNode = (node) => {
1184
+ // this node was relocated to a new location in the dom
1185
+ // because of some other component's slot
1186
+ // but we still have an html comment in place of where
1187
+ // it's original location was according to it's original vdom
1188
+ return (node && node['s-ol']) || node;
1189
+ };
1190
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
1191
+ /**
1192
+ * Handle reconciling an outdated VNode with a new one which corresponds to
1193
+ * it. This function handles flushing updates to the DOM and reconciling the
1194
+ * children of the two nodes (if any).
1195
+ *
1196
+ * @param oldVNode an old VNode whose DOM element and children we want to update
1197
+ * @param newVNode a new VNode representing an updated version of the old one
1198
+ */
1199
+ const patch = (oldVNode, newVNode) => {
1200
+ const elm = (newVNode.$elm$ = oldVNode.$elm$);
1201
+ const oldChildren = oldVNode.$children$;
1202
+ const newChildren = newVNode.$children$;
1203
+ const tag = newVNode.$tag$;
1204
+ const text = newVNode.$text$;
1205
+ let defaultHolder;
1206
+ if (text === null) {
1207
+ {
1208
+ // test if we're rendering an svg element, or still rendering nodes inside of one
1209
+ // only add this to the when the compiler sees we're using an svg somewhere
1210
+ isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
1211
+ }
1212
+ {
1213
+ if (tag === 'slot')
1214
+ ;
1215
+ else {
1216
+ // either this is the first render of an element OR it's an update
1217
+ // AND we already know it's possible it could have changed
1218
+ // this updates the element's css classes, attrs, props, listeners, etc.
1219
+ updateElement(oldVNode, newVNode, isSvgMode);
1220
+ }
1221
+ }
1222
+ if (oldChildren !== null && newChildren !== null) {
1223
+ // looks like there's child vnodes for both the old and new vnodes
1224
+ // so we need to call `updateChildren` to reconcile them
1225
+ updateChildren(elm, oldChildren, newVNode, newChildren);
1226
+ }
1227
+ else if (newChildren !== null) {
1228
+ // no old child vnodes, but there are new child vnodes to add
1229
+ if (oldVNode.$text$ !== null) {
1230
+ // the old vnode was text, so be sure to clear it out
1231
+ elm.textContent = '';
1232
+ }
1233
+ // add the new vnode children
1234
+ addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
1235
+ }
1236
+ else if (oldChildren !== null) {
1237
+ // no new child vnodes, but there are old child vnodes to remove
1238
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
1239
+ }
1240
+ if (isSvgMode && tag === 'svg') {
1241
+ isSvgMode = false;
1242
+ }
1243
+ }
1244
+ else if ((defaultHolder = elm['s-cr'])) {
1245
+ // this element has slotted content
1246
+ defaultHolder.parentNode.textContent = text;
1247
+ }
1248
+ else if (oldVNode.$text$ !== text) {
1249
+ // update the text content for the text only vnode
1250
+ // and also only if the text is different than before
1251
+ elm.data = text;
1252
+ }
1253
+ };
1254
+ const updateFallbackSlotVisibility = (elm) => {
1255
+ // tslint:disable-next-line: prefer-const
1256
+ const childNodes = elm.childNodes;
1257
+ let childNode;
1258
+ let i;
1259
+ let ilen;
1260
+ let j;
1261
+ let slotNameAttr;
1262
+ let nodeType;
1263
+ for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1264
+ childNode = childNodes[i];
1265
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1266
+ if (childNode['s-sr']) {
1267
+ // this is a slot fallback node
1268
+ // get the slot name for this slot reference node
1269
+ slotNameAttr = childNode['s-sn'];
1270
+ // by default always show a fallback slot node
1271
+ // then hide it if there are other slots in the light dom
1272
+ childNode.hidden = false;
1273
+ for (j = 0; j < ilen; j++) {
1274
+ nodeType = childNodes[j].nodeType;
1275
+ if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1276
+ // this sibling node is from a different component OR is a named fallback slot node
1277
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1278
+ childNode.hidden = true;
1279
+ break;
1280
+ }
1281
+ }
1282
+ else {
1283
+ // this is a default fallback slot node
1284
+ // any element or text node (with content)
1285
+ // should hide the default fallback slot node
1286
+ if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1287
+ (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1288
+ childNode.hidden = true;
1289
+ break;
1290
+ }
1291
+ }
1292
+ }
1293
+ }
1294
+ // keep drilling down
1295
+ updateFallbackSlotVisibility(childNode);
1296
+ }
1297
+ }
1298
+ };
1299
+ const relocateNodes = [];
1300
+ const relocateSlotContent = (elm) => {
1301
+ // tslint:disable-next-line: prefer-const
1302
+ let childNode;
1303
+ let node;
1304
+ let hostContentNodes;
1305
+ let slotNameAttr;
1306
+ let relocateNodeData;
1307
+ let j;
1308
+ let i = 0;
1309
+ const childNodes = elm.childNodes;
1310
+ const ilen = childNodes.length;
1311
+ for (; i < ilen; i++) {
1312
+ childNode = childNodes[i];
1313
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1314
+ // first got the content reference comment node
1315
+ // then we got it's parent, which is where all the host content is in now
1316
+ hostContentNodes = node.parentNode.childNodes;
1317
+ slotNameAttr = childNode['s-sn'];
1318
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1319
+ node = hostContentNodes[j];
1320
+ if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1321
+ // let's do some relocating to its new home
1322
+ // but never relocate a content reference node
1323
+ // that is suppose to always represent the original content location
1324
+ if (isNodeLocatedInSlot(node, slotNameAttr)) {
1325
+ // it's possible we've already decided to relocate this node
1326
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1327
+ // made some changes to slots
1328
+ // let's make sure we also double check
1329
+ // fallbacks are correctly hidden or shown
1330
+ checkSlotFallbackVisibility = true;
1331
+ node['s-sn'] = node['s-sn'] || slotNameAttr;
1332
+ if (relocateNodeData) {
1333
+ // previously we never found a slot home for this node
1334
+ // but turns out we did, so let's remember it now
1335
+ relocateNodeData.$slotRefNode$ = childNode;
1336
+ }
1337
+ else {
1338
+ // add to our list of nodes to relocate
1339
+ relocateNodes.push({
1340
+ $slotRefNode$: childNode,
1341
+ $nodeToRelocate$: node,
1342
+ });
1343
+ }
1344
+ if (node['s-sr']) {
1345
+ relocateNodes.map((relocateNode) => {
1346
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1347
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1348
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1349
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1350
+ }
1351
+ }
1352
+ });
1353
+ }
1354
+ }
1355
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1356
+ // so far this element does not have a slot home, not setting slotRefNode on purpose
1357
+ // if we never find a home for this element then we'll need to hide it
1358
+ relocateNodes.push({
1359
+ $nodeToRelocate$: node,
1360
+ });
1361
+ }
1362
+ }
1363
+ }
1364
+ }
1365
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1366
+ relocateSlotContent(childNode);
1367
+ }
1368
+ }
1369
+ };
1370
+ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1371
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1372
+ if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1373
+ return true;
1374
+ }
1375
+ if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1376
+ return true;
1377
+ }
1378
+ return false;
1379
+ }
1380
+ if (nodeToRelocate['s-sn'] === slotNameAttr) {
1381
+ return true;
1382
+ }
1383
+ return slotNameAttr === '';
1384
+ };
1385
+ const callNodeRefs = (vNode) => {
1386
+ {
1387
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1388
+ vNode.$children$ && vNode.$children$.map(callNodeRefs);
1389
+ }
1390
+ };
1391
+ const renderVdom = (hostRef, renderFnResults) => {
1392
+ const hostElm = hostRef.$hostElement$;
1393
+ const cmpMeta = hostRef.$cmpMeta$;
1394
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1395
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1396
+ hostTagName = hostElm.tagName;
1397
+ if (cmpMeta.$attrsToReflect$) {
1398
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1399
+ cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1400
+ }
1401
+ rootVnode.$tag$ = null;
1402
+ rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1403
+ hostRef.$vnode$ = rootVnode;
1404
+ rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
1405
+ {
1406
+ scopeId = hostElm['s-sc'];
1407
+ }
1408
+ {
1409
+ contentRef = hostElm['s-cr'];
1410
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1411
+ // always reset
1412
+ checkSlotFallbackVisibility = false;
1413
+ }
1414
+ // synchronous patch
1415
+ patch(oldVNode, rootVnode);
1416
+ {
1417
+ // while we're moving nodes around existing nodes, temporarily disable
1418
+ // the disconnectCallback from working
1419
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1420
+ if (checkSlotRelocate) {
1421
+ relocateSlotContent(rootVnode.$elm$);
1422
+ let relocateData;
1423
+ let nodeToRelocate;
1424
+ let orgLocationNode;
1425
+ let parentNodeRef;
1426
+ let insertBeforeNode;
1427
+ let refNode;
1428
+ let i = 0;
1429
+ for (; i < relocateNodes.length; i++) {
1430
+ relocateData = relocateNodes[i];
1431
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1432
+ if (!nodeToRelocate['s-ol']) {
1433
+ // add a reference node marking this node's original location
1434
+ // keep a reference to this node for later lookups
1435
+ orgLocationNode =
1436
+ doc.createTextNode('');
1437
+ orgLocationNode['s-nr'] = nodeToRelocate;
1438
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1439
+ }
1440
+ }
1441
+ for (i = 0; i < relocateNodes.length; i++) {
1442
+ relocateData = relocateNodes[i];
1443
+ nodeToRelocate = relocateData.$nodeToRelocate$;
1444
+ if (relocateData.$slotRefNode$) {
1445
+ // by default we're just going to insert it directly
1446
+ // after the slot reference node
1447
+ parentNodeRef = relocateData.$slotRefNode$.parentNode;
1448
+ insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1449
+ orgLocationNode = nodeToRelocate['s-ol'];
1450
+ while ((orgLocationNode = orgLocationNode.previousSibling)) {
1451
+ refNode = orgLocationNode['s-nr'];
1452
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1453
+ refNode = refNode.nextSibling;
1454
+ if (!refNode || !refNode['s-nr']) {
1455
+ insertBeforeNode = refNode;
1456
+ break;
1457
+ }
1458
+ }
1459
+ }
1460
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1461
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1462
+ // we've checked that it's worth while to relocate
1463
+ // since that the node to relocate
1464
+ // has a different next sibling or parent relocated
1465
+ if (nodeToRelocate !== insertBeforeNode) {
1466
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1467
+ // probably a component in the index.html that doesn't have it's hostname set
1468
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1469
+ }
1470
+ // add it back to the dom but in its new home
1471
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1472
+ }
1473
+ }
1474
+ }
1475
+ else {
1476
+ // this node doesn't have a slot home to go to, so let's hide it
1477
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1478
+ nodeToRelocate.hidden = true;
1479
+ }
1480
+ }
1481
+ }
1482
+ }
1483
+ if (checkSlotFallbackVisibility) {
1484
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1485
+ }
1486
+ // done moving nodes around
1487
+ // allow the disconnect callback to work again
1488
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1489
+ // always reset
1490
+ relocateNodes.length = 0;
1491
+ }
1492
+ };
1493
+ const attachToAncestor = (hostRef, ancestorComponent) => {
1494
+ if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
1495
+ ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
1496
+ }
1497
+ };
1498
+ const scheduleUpdate = (hostRef, isInitialLoad) => {
1499
+ {
1500
+ hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
1501
+ }
1502
+ if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
1503
+ hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
1504
+ return;
1505
+ }
1506
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$);
1507
+ // there is no ancestor component or the ancestor component
1508
+ // has already fired off its lifecycle update then
1509
+ // fire off the initial update
1510
+ const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1511
+ return writeTask(dispatch) ;
1512
+ };
1513
+ const dispatchHooks = (hostRef, isInitialLoad) => {
1514
+ const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1515
+ const instance = hostRef.$lazyInstance$ ;
1516
+ let promise;
1517
+ if (isInitialLoad) {
1518
+ {
1519
+ hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1520
+ if (hostRef.$queuedListeners$) {
1521
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1522
+ hostRef.$queuedListeners$ = null;
1523
+ }
1524
+ }
1525
+ {
1526
+ promise = safeCall(instance, 'componentWillLoad');
1527
+ }
1528
+ }
1529
+ else {
1530
+ {
1531
+ promise = safeCall(instance, 'componentWillUpdate');
1532
+ }
1533
+ }
1534
+ {
1535
+ promise = then(promise, () => safeCall(instance, 'componentWillRender'));
1536
+ }
1537
+ endSchedule();
1538
+ return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1539
+ };
1540
+ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1541
+ // updateComponent
1542
+ const elm = hostRef.$hostElement$;
1543
+ const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1544
+ const rc = elm['s-rc'];
1545
+ if (isInitialLoad) {
1546
+ // DOM WRITE!
1547
+ attachStyles(hostRef);
1548
+ }
1549
+ const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1550
+ {
1551
+ callRender(hostRef, instance);
1552
+ }
1553
+ if (rc) {
1554
+ // ok, so turns out there are some child host elements
1555
+ // waiting on this parent element to load
1556
+ // let's fire off all update callbacks waiting
1557
+ rc.map((cb) => cb());
1558
+ elm['s-rc'] = undefined;
1559
+ }
1560
+ endRender();
1561
+ endUpdate();
1562
+ {
1563
+ const childrenPromises = elm['s-p'];
1564
+ const postUpdate = () => postUpdateComponent(hostRef);
1565
+ if (childrenPromises.length === 0) {
1566
+ postUpdate();
1567
+ }
1568
+ else {
1569
+ Promise.all(childrenPromises).then(postUpdate);
1570
+ hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
1571
+ childrenPromises.length = 0;
1572
+ }
1573
+ }
1574
+ };
1575
+ const callRender = (hostRef, instance, elm) => {
1576
+ try {
1577
+ instance = instance.render() ;
1578
+ {
1579
+ hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
1580
+ }
1581
+ {
1582
+ hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
1583
+ }
1584
+ {
1585
+ {
1586
+ // looks like we've got child nodes to render into this host element
1587
+ // or we need to update the css class/attrs on the host element
1588
+ // DOM WRITE!
1589
+ {
1590
+ renderVdom(hostRef, instance);
1591
+ }
1592
+ }
1593
+ }
1594
+ }
1595
+ catch (e) {
1596
+ consoleError(e, hostRef.$hostElement$);
1597
+ }
1598
+ return null;
1599
+ };
1600
+ const postUpdateComponent = (hostRef) => {
1601
+ const tagName = hostRef.$cmpMeta$.$tagName$;
1602
+ const elm = hostRef.$hostElement$;
1603
+ const endPostUpdate = createTime('postUpdate', tagName);
1604
+ const instance = hostRef.$lazyInstance$ ;
1605
+ const ancestorComponent = hostRef.$ancestorComponent$;
1606
+ {
1607
+ safeCall(instance, 'componentDidRender');
1608
+ }
1609
+ if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
1610
+ hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
1611
+ {
1612
+ // DOM WRITE!
1613
+ addHydratedFlag(elm);
1614
+ }
1615
+ {
1616
+ safeCall(instance, 'componentDidLoad');
1617
+ }
1618
+ endPostUpdate();
1619
+ {
1620
+ hostRef.$onReadyResolve$(elm);
1621
+ if (!ancestorComponent) {
1622
+ appDidLoad();
1623
+ }
1624
+ }
1625
+ }
1626
+ else {
1627
+ {
1628
+ safeCall(instance, 'componentDidUpdate');
1629
+ }
1630
+ endPostUpdate();
1631
+ }
1632
+ {
1633
+ hostRef.$onInstanceResolve$(elm);
1634
+ }
1635
+ // load events fire from bottom to top
1636
+ // the deepest elements load first then bubbles up
1637
+ {
1638
+ if (hostRef.$onRenderResolve$) {
1639
+ hostRef.$onRenderResolve$();
1640
+ hostRef.$onRenderResolve$ = undefined;
1641
+ }
1642
+ if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
1643
+ nextTick(() => scheduleUpdate(hostRef, false));
1644
+ }
1645
+ hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
1646
+ }
1647
+ // ( •_•)
1648
+ // ( •_•)>⌐■-■
1649
+ // (⌐■_■)
1650
+ };
1651
+ const appDidLoad = (who) => {
1652
+ // on appload
1653
+ // we have finish the first big initial render
1654
+ {
1655
+ addHydratedFlag(doc.documentElement);
1656
+ }
1657
+ nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1658
+ };
1659
+ const safeCall = (instance, method, arg) => {
1660
+ if (instance && instance[method]) {
1661
+ try {
1662
+ return instance[method](arg);
1663
+ }
1664
+ catch (e) {
1665
+ consoleError(e);
1666
+ }
1667
+ }
1668
+ return undefined;
1669
+ };
1670
+ const then = (promise, thenFn) => {
1671
+ return promise && promise.then ? promise.then(thenFn) : thenFn();
1672
+ };
1673
+ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1674
+ ;
1675
+ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1676
+ const setValue = (ref, propName, newVal, cmpMeta) => {
1677
+ // check our new property value against our internal value
1678
+ const hostRef = getHostRef(ref);
1679
+ const elm = hostRef.$hostElement$ ;
1680
+ const oldVal = hostRef.$instanceValues$.get(propName);
1681
+ const flags = hostRef.$flags$;
1682
+ const instance = hostRef.$lazyInstance$ ;
1683
+ newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
1684
+ // explicitly check for NaN on both sides, as `NaN === NaN` is always false
1685
+ const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1686
+ const didValueChange = newVal !== oldVal && !areBothNaN;
1687
+ if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
1688
+ // gadzooks! the property's value has changed!!
1689
+ // set our new value!
1690
+ hostRef.$instanceValues$.set(propName, newVal);
1691
+ if (instance) {
1692
+ // get an array of method names of watch functions to call
1693
+ if (cmpMeta.$watchers$ && flags & 128 /* HOST_FLAGS.isWatchReady */) {
1694
+ const watchMethods = cmpMeta.$watchers$[propName];
1695
+ if (watchMethods) {
1696
+ // this instance is watching for when this property changed
1697
+ watchMethods.map((watchMethodName) => {
1698
+ try {
1699
+ // fire off each of the watch methods that are watching this property
1700
+ instance[watchMethodName](newVal, oldVal, propName);
1701
+ }
1702
+ catch (e) {
1703
+ consoleError(e, elm);
1704
+ }
1705
+ });
1706
+ }
1707
+ }
1708
+ if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1709
+ // looks like this value actually changed, so we've got work to do!
1710
+ // but only if we've already rendered, otherwise just chill out
1711
+ // queue that we need to do an update, but don't worry about queuing
1712
+ // up millions cuz this function ensures it only runs once
1713
+ scheduleUpdate(hostRef, false);
1714
+ }
1715
+ }
1716
+ }
1717
+ };
1718
+ /**
1719
+ * Attach a series of runtime constructs to a compiled Stencil component
1720
+ * constructor, including getters and setters for the `@Prop` and `@State`
1721
+ * decorators, callbacks for when attributes change, and so on.
1722
+ *
1723
+ * @param Cstr the constructor for a component that we need to process
1724
+ * @param cmpMeta metadata collected previously about the component
1725
+ * @param flags a number used to store a series of bit flags
1726
+ * @returns a reference to the same constructor passed in (but now mutated)
1727
+ */
1728
+ const proxyComponent = (Cstr, cmpMeta, flags) => {
1729
+ if (cmpMeta.$members$) {
1730
+ if (Cstr.watchers) {
1731
+ cmpMeta.$watchers$ = Cstr.watchers;
1732
+ }
1733
+ // It's better to have a const than two Object.entries()
1734
+ const members = Object.entries(cmpMeta.$members$);
1735
+ const prototype = Cstr.prototype;
1736
+ members.map(([memberName, [memberFlags]]) => {
1737
+ if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1738
+ ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
1739
+ // proxyComponent - prop
1740
+ Object.defineProperty(prototype, memberName, {
1741
+ get() {
1742
+ // proxyComponent, get value
1743
+ return getValue(this, memberName);
1744
+ },
1745
+ set(newValue) {
1746
+ // proxyComponent, set value
1747
+ setValue(this, memberName, newValue, cmpMeta);
1748
+ },
1749
+ configurable: true,
1750
+ enumerable: true,
1751
+ });
1752
+ }
1753
+ else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
1754
+ memberFlags & 64 /* MEMBER_FLAGS.Method */) {
1755
+ // proxyComponent - method
1756
+ Object.defineProperty(prototype, memberName, {
1757
+ value(...args) {
1758
+ const ref = getHostRef(this);
1759
+ return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1760
+ },
1761
+ });
1762
+ }
1763
+ });
1764
+ if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1765
+ const attrNameToPropName = new Map();
1766
+ prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1767
+ plt.jmp(() => {
1768
+ const propName = attrNameToPropName.get(attrName);
1769
+ // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1770
+ // in the case where an attribute was set inline.
1771
+ // ```html
1772
+ // <my-component some-attribute="some-value"></my-component>
1773
+ // ```
1774
+ //
1775
+ // There is an edge case where a developer sets the attribute inline on a custom element and then
1776
+ // programmatically changes it before it has been upgraded as shown below:
1777
+ //
1778
+ // ```html
1779
+ // <!-- this component has _not_ been upgraded yet -->
1780
+ // <my-component id="test" some-attribute="some-value"></my-component>
1781
+ // <script>
1782
+ // // grab non-upgraded component
1783
+ // el = document.querySelector("#test");
1784
+ // el.someAttribute = "another-value";
1785
+ // // upgrade component
1786
+ // customElements.define('my-component', MyComponent);
1787
+ // </script>
1788
+ // ```
1789
+ // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1790
+ // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1791
+ // to the value that was set inline i.e. "some-value" from above example. When
1792
+ // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1793
+ //
1794
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1795
+ // by connectedCallback as this attributeChangedCallback will not fire.
1796
+ //
1797
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
1798
+ //
1799
+ // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
1800
+ // properties here given that this goes against best practices outlined here
1801
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
1802
+ if (this.hasOwnProperty(propName)) {
1803
+ newValue = this[propName];
1804
+ delete this[propName];
1805
+ }
1806
+ else if (prototype.hasOwnProperty(propName) &&
1807
+ typeof this[propName] === 'number' &&
1808
+ this[propName] == newValue) {
1809
+ // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
1810
+ // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
1811
+ // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1812
+ return;
1813
+ }
1814
+ this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1815
+ });
1816
+ };
1817
+ // create an array of attributes to observe
1818
+ // and also create a map of html attribute name to js property name
1819
+ Cstr.observedAttributes = members
1820
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1821
+ .map(([propName, m]) => {
1822
+ const attrName = m[1] || propName;
1823
+ attrNameToPropName.set(attrName, propName);
1824
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1825
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
1826
+ }
1827
+ return attrName;
1828
+ });
1829
+ }
1830
+ }
1831
+ return Cstr;
1832
+ };
1833
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1834
+ // initializeComponent
1835
+ if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1836
+ {
1837
+ // we haven't initialized this element yet
1838
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1839
+ // lazy loaded components
1840
+ // request the component's implementation to be
1841
+ // wired up with the host element
1842
+ Cstr = loadModule(cmpMeta);
1843
+ if (Cstr.then) {
1844
+ // Await creates a micro-task avoid if possible
1845
+ const endLoad = uniqueTime();
1846
+ Cstr = await Cstr;
1847
+ endLoad();
1848
+ }
1849
+ if (!Cstr.isProxied) {
1850
+ // we've never proxied this Constructor before
1851
+ // let's add the getters/setters to its prototype before
1852
+ // the first time we create an instance of the implementation
1853
+ {
1854
+ cmpMeta.$watchers$ = Cstr.watchers;
1855
+ }
1856
+ proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
1857
+ Cstr.isProxied = true;
1858
+ }
1859
+ const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
1860
+ // ok, time to construct the instance
1861
+ // but let's keep track of when we start and stop
1862
+ // so that the getters/setters don't incorrectly step on data
1863
+ {
1864
+ hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
1865
+ }
1866
+ // construct the lazy-loaded component implementation
1867
+ // passing the hostRef is very important during
1868
+ // construction in order to directly wire together the
1869
+ // host element and the lazy-loaded instance
1870
+ try {
1871
+ new Cstr(hostRef);
1872
+ }
1873
+ catch (e) {
1874
+ consoleError(e);
1875
+ }
1876
+ {
1877
+ hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
1878
+ }
1879
+ {
1880
+ hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */;
1881
+ }
1882
+ endNewInstance();
1883
+ fireConnectedCallback(hostRef.$lazyInstance$);
1884
+ }
1885
+ if (Cstr.style) {
1886
+ // this component has styles but we haven't registered them yet
1887
+ let style = Cstr.style;
1888
+ const scopeId = getScopeId(cmpMeta);
1889
+ if (!styles.has(scopeId)) {
1890
+ const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
1891
+ registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
1892
+ endRegisterStyles();
1893
+ }
1894
+ }
1895
+ }
1896
+ // we've successfully created a lazy instance
1897
+ const ancestorComponent = hostRef.$ancestorComponent$;
1898
+ const schedule = () => scheduleUpdate(hostRef, true);
1899
+ if (ancestorComponent && ancestorComponent['s-rc']) {
1900
+ // this is the initial load and this component it has an ancestor component
1901
+ // but the ancestor component has NOT fired its will update lifecycle yet
1902
+ // so let's just cool our jets and wait for the ancestor to continue first
1903
+ // this will get fired off when the ancestor component
1904
+ // finally gets around to rendering its lazy self
1905
+ // fire off the initial update
1906
+ ancestorComponent['s-rc'].push(schedule);
1907
+ }
1908
+ else {
1909
+ schedule();
1910
+ }
1911
+ };
1912
+ const fireConnectedCallback = (instance) => {
1913
+ {
1914
+ safeCall(instance, 'connectedCallback');
1915
+ }
1916
+ };
1917
+ const connectedCallback = (elm) => {
1918
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1919
+ const hostRef = getHostRef(elm);
1920
+ const cmpMeta = hostRef.$cmpMeta$;
1921
+ const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
1922
+ if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1923
+ // first time this component has connected
1924
+ hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1925
+ let hostId;
1926
+ {
1927
+ hostId = elm.getAttribute(HYDRATE_ID);
1928
+ if (hostId) {
1929
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
1930
+ const scopeId = addStyle(elm.shadowRoot, cmpMeta);
1931
+ elm.classList.remove(scopeId + '-h', scopeId + '-s');
1932
+ }
1933
+ initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
1934
+ }
1935
+ }
1936
+ if (!hostId) {
1937
+ // initUpdate
1938
+ // if the slot polyfill is required we'll need to put some nodes
1939
+ // in here to act as original content anchors as we move nodes around
1940
+ // host element has been connected to the DOM
1941
+ if ((cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1942
+ setContentReference(elm);
1943
+ }
1944
+ }
1945
+ {
1946
+ // find the first ancestor component (if there is one) and register
1947
+ // this component as one of the actively loading child components for its ancestor
1948
+ let ancestorComponent = elm;
1949
+ while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
1950
+ // climb up the ancestors looking for the first
1951
+ // component that hasn't finished its lifecycle update yet
1952
+ if ((ancestorComponent.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1953
+ ancestorComponent.hasAttribute('s-id') &&
1954
+ ancestorComponent['s-p']) ||
1955
+ ancestorComponent['s-p']) {
1956
+ // we found this components first ancestor component
1957
+ // keep a reference to this component's ancestor component
1958
+ attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
1959
+ break;
1960
+ }
1961
+ }
1962
+ }
1963
+ // Lazy properties
1964
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
1965
+ if (cmpMeta.$members$) {
1966
+ Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1967
+ if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
1968
+ const value = elm[memberName];
1969
+ delete elm[memberName];
1970
+ elm[memberName] = value;
1971
+ }
1972
+ });
1973
+ }
1974
+ {
1975
+ initializeComponent(elm, hostRef, cmpMeta);
1976
+ }
1977
+ }
1978
+ else {
1979
+ // not the first time this has connected
1980
+ // reattach any event listeners to the host
1981
+ // since they would have been removed when disconnected
1982
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1983
+ // fire off connectedCallback() on component instance
1984
+ fireConnectedCallback(hostRef.$lazyInstance$);
1985
+ }
1986
+ endConnected();
1987
+ }
1988
+ };
1989
+ const setContentReference = (elm) => {
1990
+ // only required when we're NOT using native shadow dom (slot)
1991
+ // or this browser doesn't support native shadow dom
1992
+ // and this host element was NOT created with SSR
1993
+ // let's pick out the inner content for slot projection
1994
+ // create a node to represent where the original
1995
+ // content was first placed, which is useful later on
1996
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1997
+ contentRefElm['s-cn'] = true;
1998
+ elm.insertBefore(contentRefElm, elm.firstChild);
1999
+ };
2000
+ const disconnectedCallback = (elm) => {
2001
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
2002
+ const hostRef = getHostRef(elm);
2003
+ const instance = hostRef.$lazyInstance$ ;
2004
+ {
2005
+ if (hostRef.$rmListeners$) {
2006
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
2007
+ hostRef.$rmListeners$ = undefined;
2008
+ }
2009
+ }
2010
+ {
2011
+ safeCall(instance, 'disconnectedCallback');
2012
+ }
2013
+ }
2014
+ };
2015
+ const bootstrapLazy = (lazyBundles, options = {}) => {
2016
+ const endBootstrap = createTime();
2017
+ const cmpTags = [];
2018
+ const exclude = options.exclude || [];
2019
+ const customElements = win.customElements;
2020
+ const head = doc.head;
2021
+ const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
2022
+ const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
2023
+ const deferredConnectedCallbacks = [];
2024
+ const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
2025
+ let appLoadFallback;
2026
+ let isBootstrapping = true;
2027
+ let i = 0;
2028
+ Object.assign(plt, options);
2029
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
2030
+ {
2031
+ // If the app is already hydrated there is not point to disable the
2032
+ // async queue. This will improve the first input delay
2033
+ plt.$flags$ |= 2 /* PLATFORM_FLAGS.appLoaded */;
2034
+ }
2035
+ {
2036
+ for (; i < styles.length; i++) {
2037
+ registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);
2038
+ }
2039
+ }
2040
+ lazyBundles.map((lazyBundle) => {
2041
+ lazyBundle[1].map((compactMeta) => {
2042
+ const cmpMeta = {
2043
+ $flags$: compactMeta[0],
2044
+ $tagName$: compactMeta[1],
2045
+ $members$: compactMeta[2],
2046
+ $listeners$: compactMeta[3],
2047
+ };
2048
+ {
2049
+ cmpMeta.$members$ = compactMeta[2];
2050
+ }
2051
+ {
2052
+ cmpMeta.$listeners$ = compactMeta[3];
2053
+ }
2054
+ {
2055
+ cmpMeta.$attrsToReflect$ = [];
2056
+ }
2057
+ {
2058
+ cmpMeta.$watchers$ = {};
2059
+ }
2060
+ const tagName = cmpMeta.$tagName$;
2061
+ const HostElement = class extends HTMLElement {
2062
+ // StencilLazyHost
2063
+ constructor(self) {
2064
+ // @ts-ignore
2065
+ super(self);
2066
+ self = this;
2067
+ registerHost(self, cmpMeta);
2068
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2069
+ // this component is using shadow dom
2070
+ // and this browser supports shadow dom
2071
+ // add the read-only property "shadowRoot" to the host element
2072
+ // adding the shadow root build conditionals to minimize runtime
2073
+ {
2074
+ {
2075
+ self.attachShadow({ mode: 'open' });
2076
+ }
2077
+ }
2078
+ }
2079
+ }
2080
+ connectedCallback() {
2081
+ if (appLoadFallback) {
2082
+ clearTimeout(appLoadFallback);
2083
+ appLoadFallback = null;
2084
+ }
2085
+ if (isBootstrapping) {
2086
+ // connectedCallback will be processed once all components have been registered
2087
+ deferredConnectedCallbacks.push(this);
2088
+ }
2089
+ else {
2090
+ plt.jmp(() => connectedCallback(this));
2091
+ }
2092
+ }
2093
+ disconnectedCallback() {
2094
+ plt.jmp(() => disconnectedCallback(this));
2095
+ }
2096
+ componentOnReady() {
2097
+ return getHostRef(this).$onReadyPromise$;
2098
+ }
2099
+ };
2100
+ cmpMeta.$lazyBundleId$ = lazyBundle[0];
2101
+ if (!exclude.includes(tagName) && !customElements.get(tagName)) {
2102
+ cmpTags.push(tagName);
2103
+ customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
2104
+ }
2105
+ });
2106
+ });
2107
+ {
2108
+ visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
2109
+ visibilityStyle.setAttribute('data-styles', '');
2110
+ head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
2111
+ }
2112
+ // Process deferred connectedCallbacks now all components have been registered
2113
+ isBootstrapping = false;
2114
+ if (deferredConnectedCallbacks.length) {
2115
+ deferredConnectedCallbacks.map((host) => host.connectedCallback());
2116
+ }
2117
+ else {
2118
+ {
2119
+ plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
2120
+ }
2121
+ }
2122
+ // Fallback appLoad event
2123
+ endBootstrap();
2124
+ };
2125
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2126
+ if (listeners) {
2127
+ listeners.map(([flags, name, method]) => {
2128
+ const target = getHostListenerTarget(elm, flags) ;
2129
+ const handler = hostListenerProxy(hostRef, method);
2130
+ const opts = hostListenerOpts(flags);
2131
+ plt.ael(target, name, handler, opts);
2132
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
2133
+ });
2134
+ }
2135
+ };
2136
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
2137
+ try {
2138
+ {
2139
+ if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
2140
+ // instance is ready, let's call it's member method for this event
2141
+ hostRef.$lazyInstance$[methodName](ev);
2142
+ }
2143
+ else {
2144
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
2145
+ }
2146
+ }
2147
+ }
2148
+ catch (e) {
2149
+ consoleError(e);
2150
+ }
2151
+ };
2152
+ const getHostListenerTarget = (elm, flags) => {
2153
+ if (flags & 4 /* LISTENER_FLAGS.TargetDocument */)
2154
+ return doc;
2155
+ return elm;
2156
+ };
2157
+ // prettier-ignore
2158
+ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
2159
+ const hostRefs = /*@__PURE__*/ new WeakMap();
2160
+ const getHostRef = (ref) => hostRefs.get(ref);
2161
+ const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
2162
+ const registerHost = (elm, cmpMeta) => {
2163
+ const hostRef = {
2164
+ $flags$: 0,
2165
+ $hostElement$: elm,
2166
+ $cmpMeta$: cmpMeta,
2167
+ $instanceValues$: new Map(),
2168
+ };
2169
+ {
2170
+ hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
2171
+ }
2172
+ {
2173
+ hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
2174
+ elm['s-p'] = [];
2175
+ elm['s-rc'] = [];
2176
+ }
2177
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2178
+ return hostRefs.set(elm, hostRef);
2179
+ };
2180
+ const isMemberInElement = (elm, memberName) => memberName in elm;
2181
+ const consoleError = (e, el) => (0, console.error)(e, el);
2182
+ const cmpModules = /*@__PURE__*/ new Map();
2183
+ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2184
+ // loadModuleImport
2185
+ const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
2186
+ const bundleId = cmpMeta.$lazyBundleId$;
2187
+ const module = cmpModules.get(bundleId) ;
2188
+ if (module) {
2189
+ return module[exportName];
2190
+ }
2191
+
2192
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
2193
+ const processMod = importedModule => {
2194
+ cmpModules.set(bundleId, importedModule);
2195
+ return importedModule[exportName];
2196
+ }
2197
+ switch(bundleId) {
2198
+
2199
+ case 'ic-alert.cjs':
2200
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2201
+ /* webpackMode: "lazy" */
2202
+ './ic-alert.cjs.entry.js')); }).then(processMod, consoleError);
2203
+ case 'ic-back-to-top.cjs':
2204
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2205
+ /* webpackMode: "lazy" */
2206
+ './ic-back-to-top.cjs.entry.js')); }).then(processMod, consoleError);
2207
+ case 'ic-breadcrumbs.cjs':
2208
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2209
+ /* webpackMode: "lazy" */
2210
+ './ic-breadcrumbs.cjs.entry.js')); }).then(processMod, consoleError);
2211
+ case 'ic-card.cjs':
2212
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2213
+ /* webpackMode: "lazy" */
2214
+ './ic-card.cjs.entry.js')); }).then(processMod, consoleError);
2215
+ case 'ic-checkbox.cjs':
2216
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2217
+ /* webpackMode: "lazy" */
2218
+ './ic-checkbox.cjs.entry.js')); }).then(processMod, consoleError);
2219
+ case 'ic-checkbox-group.cjs':
2220
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2221
+ /* webpackMode: "lazy" */
2222
+ './ic-checkbox-group.cjs.entry.js')); }).then(processMod, consoleError);
2223
+ case 'ic-classification-banner.cjs':
2224
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2225
+ /* webpackMode: "lazy" */
2226
+ './ic-classification-banner.cjs.entry.js')); }).then(processMod, consoleError);
2227
+ case 'ic-data-entity.cjs':
2228
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2229
+ /* webpackMode: "lazy" */
2230
+ './ic-data-entity.cjs.entry.js')); }).then(processMod, consoleError);
2231
+ case 'ic-data-row.cjs':
2232
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2233
+ /* webpackMode: "lazy" */
2234
+ './ic-data-row.cjs.entry.js')); }).then(processMod, consoleError);
2235
+ case 'ic-footer.cjs':
2236
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2237
+ /* webpackMode: "lazy" */
2238
+ './ic-footer.cjs.entry.js')); }).then(processMod, consoleError);
2239
+ case 'ic-footer-link.cjs':
2240
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2241
+ /* webpackMode: "lazy" */
2242
+ './ic-footer-link.cjs.entry.js')); }).then(processMod, consoleError);
2243
+ case 'ic-footer-link-group.cjs':
2244
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2245
+ /* webpackMode: "lazy" */
2246
+ './ic-footer-link-group.cjs.entry.js')); }).then(processMod, consoleError);
2247
+ case 'ic-hero.cjs':
2248
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2249
+ /* webpackMode: "lazy" */
2250
+ './ic-hero.cjs.entry.js')); }).then(processMod, consoleError);
2251
+ case 'ic-navigation-button.cjs':
2252
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2253
+ /* webpackMode: "lazy" */
2254
+ './ic-navigation-button.cjs.entry.js')); }).then(processMod, consoleError);
2255
+ case 'ic-navigation-group.cjs':
2256
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2257
+ /* webpackMode: "lazy" */
2258
+ './ic-navigation-group.cjs.entry.js')); }).then(processMod, consoleError);
2259
+ case 'ic-navigation-item.cjs':
2260
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2261
+ /* webpackMode: "lazy" */
2262
+ './ic-navigation-item.cjs.entry.js')); }).then(processMod, consoleError);
2263
+ case 'ic-page-header.cjs':
2264
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2265
+ /* webpackMode: "lazy" */
2266
+ './ic-page-header.cjs.entry.js')); }).then(processMod, consoleError);
2267
+ case 'ic-radio-group.cjs':
2268
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2269
+ /* webpackMode: "lazy" */
2270
+ './ic-radio-group.cjs.entry.js')); }).then(processMod, consoleError);
2271
+ case 'ic-radio-option.cjs':
2272
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2273
+ /* webpackMode: "lazy" */
2274
+ './ic-radio-option.cjs.entry.js')); }).then(processMod, consoleError);
2275
+ case 'ic-search-bar.cjs':
2276
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2277
+ /* webpackMode: "lazy" */
2278
+ './ic-search-bar.cjs.entry.js')); }).then(processMod, consoleError);
2279
+ case 'ic-select.cjs':
2280
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2281
+ /* webpackMode: "lazy" */
2282
+ './ic-select.cjs.entry.js')); }).then(processMod, consoleError);
2283
+ case 'ic-side-navigation.cjs':
2284
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2285
+ /* webpackMode: "lazy" */
2286
+ './ic-side-navigation.cjs.entry.js')); }).then(processMod, consoleError);
2287
+ case 'ic-skeleton.cjs':
2288
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2289
+ /* webpackMode: "lazy" */
2290
+ './ic-skeleton.cjs.entry.js')); }).then(processMod, consoleError);
2291
+ case 'ic-status-tag.cjs':
2292
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2293
+ /* webpackMode: "lazy" */
2294
+ './ic-status-tag.cjs.entry.js')); }).then(processMod, consoleError);
2295
+ case 'ic-step.cjs':
2296
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2297
+ /* webpackMode: "lazy" */
2298
+ './ic-step.cjs.entry.js')); }).then(processMod, consoleError);
2299
+ case 'ic-stepper.cjs':
2300
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2301
+ /* webpackMode: "lazy" */
2302
+ './ic-stepper.cjs.entry.js')); }).then(processMod, consoleError);
2303
+ case 'ic-switch.cjs':
2304
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2305
+ /* webpackMode: "lazy" */
2306
+ './ic-switch.cjs.entry.js')); }).then(processMod, consoleError);
2307
+ case 'ic-tab.cjs':
2308
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2309
+ /* webpackMode: "lazy" */
2310
+ './ic-tab.cjs.entry.js')); }).then(processMod, consoleError);
2311
+ case 'ic-tab-context.cjs':
2312
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2313
+ /* webpackMode: "lazy" */
2314
+ './ic-tab-context.cjs.entry.js')); }).then(processMod, consoleError);
2315
+ case 'ic-tab-list.cjs':
2316
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2317
+ /* webpackMode: "lazy" */
2318
+ './ic-tab-list.cjs.entry.js')); }).then(processMod, consoleError);
2319
+ case 'ic-tab-panel.cjs':
2320
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2321
+ /* webpackMode: "lazy" */
2322
+ './ic-tab-panel.cjs.entry.js')); }).then(processMod, consoleError);
2323
+ case 'ic-theme.cjs':
2324
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2325
+ /* webpackMode: "lazy" */
2326
+ './ic-theme.cjs.entry.js')); }).then(processMod, consoleError);
2327
+ case 'ic-top-navigation.cjs':
2328
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2329
+ /* webpackMode: "lazy" */
2330
+ './ic-top-navigation.cjs.entry.js')); }).then(processMod, consoleError);
2331
+ case 'ic-breadcrumb.cjs':
2332
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2333
+ /* webpackMode: "lazy" */
2334
+ './ic-breadcrumb.cjs.entry.js')); }).then(processMod, consoleError);
2335
+ case 'ic-divider.cjs':
2336
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2337
+ /* webpackMode: "lazy" */
2338
+ './ic-divider.cjs.entry.js')); }).then(processMod, consoleError);
2339
+ case 'ic-navigation-menu.cjs':
2340
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2341
+ /* webpackMode: "lazy" */
2342
+ './ic-navigation-menu.cjs.entry.js')); }).then(processMod, consoleError);
2343
+ case 'ic-text-field.cjs':
2344
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2345
+ /* webpackMode: "lazy" */
2346
+ './ic-text-field.cjs.entry.js')); }).then(processMod, consoleError);
2347
+ case 'ic-link.cjs':
2348
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2349
+ /* webpackMode: "lazy" */
2350
+ './ic-link.cjs.entry.js')); }).then(processMod, consoleError);
2351
+ case 'ic-input-component-container_3.cjs':
2352
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2353
+ /* webpackMode: "lazy" */
2354
+ './ic-input-component-container_3.cjs.entry.js')); }).then(processMod, consoleError);
2355
+ case 'ic-input-label_2.cjs':
2356
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2357
+ /* webpackMode: "lazy" */
2358
+ './ic-input-label_2.cjs.entry.js')); }).then(processMod, consoleError);
2359
+ case 'ic-section-container.cjs':
2360
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2361
+ /* webpackMode: "lazy" */
2362
+ './ic-section-container.cjs.entry.js')); }).then(processMod, consoleError);
2363
+ case 'ic-button_3.cjs':
2364
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2365
+ /* webpackMode: "lazy" */
2366
+ './ic-button_3.cjs.entry.js')); }).then(processMod, consoleError);
2367
+ case 'ic-typography.cjs':
2368
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2369
+ /* webpackMode: "lazy" */
2370
+ './ic-typography.cjs.entry.js')); }).then(processMod, consoleError);
2371
+ }
2372
+ }
2373
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2374
+ /* @vite-ignore */
2375
+ /* webpackInclude: /\.entry\.js$/ */
2376
+ /* webpackExclude: /\.system\.entry\.js$/ */
2377
+ /* webpackMode: "lazy" */
2378
+ `./${bundleId}.entry.js${''}`)); }).then((importedModule) => {
2379
+ {
2380
+ cmpModules.set(bundleId, importedModule);
2381
+ }
2382
+ return importedModule[exportName];
2383
+ }, consoleError);
2384
+ };
2385
+ const styles = /*@__PURE__*/ new Map();
2386
+ const win = typeof window !== 'undefined' ? window : {};
2387
+ const doc = win.document || { head: {} };
2388
+ const plt = {
2389
+ $flags$: 0,
2390
+ $resourcesUrl$: '',
2391
+ jmp: (h) => h(),
2392
+ raf: (h) => requestAnimationFrame(h),
2393
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
2394
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2395
+ ce: (eventName, opts) => new CustomEvent(eventName, opts),
2396
+ };
2397
+ const supportsShadow = true;
2398
+ const promiseResolve = (v) => Promise.resolve(v);
2399
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2400
+ try {
2401
+ new CSSStyleSheet();
2402
+ return typeof new CSSStyleSheet().replaceSync === 'function';
2403
+ }
2404
+ catch (e) { }
2405
+ return false;
2406
+ })()
2407
+ ;
2408
+ const queueDomReads = [];
2409
+ const queueDomWrites = [];
2410
+ const queueTask = (queue, write) => (cb) => {
2411
+ queue.push(cb);
2412
+ if (!queuePending) {
2413
+ queuePending = true;
2414
+ if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
2415
+ nextTick(flush);
2416
+ }
2417
+ else {
2418
+ plt.raf(flush);
2419
+ }
2420
+ }
2421
+ };
2422
+ const consume = (queue) => {
2423
+ for (let i = 0; i < queue.length; i++) {
2424
+ try {
2425
+ queue[i](performance.now());
2426
+ }
2427
+ catch (e) {
2428
+ consoleError(e);
2429
+ }
2430
+ }
2431
+ queue.length = 0;
2432
+ };
2433
+ const flush = () => {
2434
+ // always force a bunch of medium callbacks to run, but still have
2435
+ // a throttle on how many can run in a certain time
2436
+ // DOM READS!!!
2437
+ consume(queueDomReads);
2438
+ // DOM WRITES!!!
2439
+ {
2440
+ consume(queueDomWrites);
2441
+ if ((queuePending = queueDomReads.length > 0)) {
2442
+ // still more to do yet, but we've run out of time
2443
+ // let's let this thing cool off and try again in the next tick
2444
+ plt.raf(flush);
2445
+ }
2446
+ }
2447
+ };
2448
+ const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2449
+ const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2450
+
2451
+ exports.Host = Host;
2452
+ exports.bootstrapLazy = bootstrapLazy;
2453
+ exports.createEvent = createEvent;
2454
+ exports.getElement = getElement;
2455
+ exports.h = h;
2456
+ exports.promiseResolve = promiseResolve;
2457
+ exports.registerInstance = registerInstance;
2458
+
2459
+ //# sourceMappingURL=index-3ef30d9d.js.map