@esri/solutions-components 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1065) hide show
  1. package/dist/cjs/ExpandToggle-8aa3f03d.js +118 -0
  2. package/dist/cjs/FloatingArrow-a3a78fca.js +50 -0
  3. package/dist/cjs/Heading-a6308c38.js +25 -0
  4. package/dist/cjs/ar-8bcca75e.js +104 -0
  5. package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
  6. package/dist/cjs/basemap-gallery_7.cjs.entry.js +4 -3
  7. package/dist/cjs/bg-dd2c317a.js +82 -0
  8. package/dist/cjs/breakpoints-fcd0f2a0.js +17 -0
  9. package/dist/cjs/bs-2e880b80.js +51 -0
  10. package/dist/cjs/buffer-tools_3.cjs.entry.js +661 -0
  11. package/dist/cjs/ca-5cf9d5a1.js +71 -0
  12. package/dist/cjs/calcite-accordion-item.cjs.entry.js +2 -2
  13. package/dist/cjs/calcite-accordion.cjs.entry.js +1 -1
  14. package/dist/cjs/calcite-action-bar_3.cjs.entry.js +5 -5
  15. package/dist/cjs/calcite-action-group_2.cjs.entry.js +4 -4
  16. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +296 -0
  17. package/dist/cjs/calcite-action_2.cjs.entry.js +3 -3
  18. package/dist/cjs/calcite-alert_3.cjs.entry.js +7 -6
  19. package/dist/cjs/calcite-avatar.cjs.entry.js +1 -1
  20. package/dist/cjs/calcite-block-section.cjs.entry.js +3 -3
  21. package/dist/cjs/calcite-block.cjs.entry.js +6 -6
  22. package/dist/cjs/calcite-button.cjs.entry.js +4 -4
  23. package/dist/cjs/calcite-card.cjs.entry.js +3 -3
  24. package/dist/cjs/calcite-checkbox_3.cjs.entry.js +4 -4
  25. package/dist/cjs/calcite-chip-group.cjs.entry.js +2 -2
  26. package/dist/cjs/calcite-chip.cjs.entry.js +4 -4
  27. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +2 -2
  28. package/dist/cjs/calcite-color-picker.cjs.entry.js +3 -3
  29. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +1 -1
  30. package/dist/cjs/calcite-combobox_6.cjs.entry.js +10 -9
  31. package/dist/cjs/calcite-date-picker-day.cjs.entry.js +100 -0
  32. package/dist/cjs/calcite-date-picker_3.cjs.entry.js +990 -0
  33. package/dist/cjs/calcite-fab.cjs.entry.js +2 -2
  34. package/dist/cjs/calcite-filter_2.cjs.entry.js +237 -0
  35. package/dist/cjs/calcite-flow-item.cjs.entry.js +3 -3
  36. package/dist/cjs/calcite-flow.cjs.entry.js +2 -2
  37. package/dist/cjs/calcite-graph_2.cjs.entry.js +1098 -0
  38. package/dist/cjs/calcite-handle.cjs.entry.js +170 -0
  39. package/dist/cjs/calcite-icon.cjs.entry.js +1 -1
  40. package/dist/cjs/calcite-inline-editable.cjs.entry.js +3 -3
  41. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +6 -6
  42. package/dist/cjs/calcite-input-number.cjs.entry.js +4 -4
  43. package/dist/cjs/calcite-input-text.cjs.entry.js +4 -4
  44. package/dist/cjs/calcite-input-time-picker-a1e90ec2.js +1849 -0
  45. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +6 -6
  46. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +4 -4
  47. package/dist/cjs/calcite-input_2.cjs.entry.js +4 -4
  48. package/dist/cjs/calcite-label.cjs.entry.js +1 -1
  49. package/dist/cjs/calcite-link.cjs.entry.js +2 -2
  50. package/dist/cjs/calcite-list-item-group.cjs.entry.js +1 -1
  51. package/dist/cjs/calcite-menu-item.cjs.entry.js +3 -3
  52. package/dist/cjs/calcite-menu.cjs.entry.js +3 -3
  53. package/dist/cjs/calcite-meter.cjs.entry.js +3 -3
  54. package/dist/cjs/calcite-modal.cjs.entry.js +5 -5
  55. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  56. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  57. package/dist/cjs/calcite-navigation.cjs.entry.js +2 -2
  58. package/dist/cjs/calcite-notice.cjs.entry.js +167 -0
  59. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  60. package/dist/cjs/calcite-option_2.cjs.entry.js +3 -3
  61. package/dist/cjs/calcite-pagination.cjs.entry.js +3 -3
  62. package/dist/cjs/calcite-panel.cjs.entry.js +269 -0
  63. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +3 -3
  64. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +4 -4
  65. package/dist/cjs/calcite-pick-list.cjs.entry.js +3 -3
  66. package/dist/cjs/calcite-popover.cjs.entry.js +6 -6
  67. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +2 -2
  68. package/dist/cjs/calcite-radio-button.cjs.entry.js +3 -3
  69. package/dist/cjs/calcite-rating.cjs.entry.js +4 -4
  70. package/dist/cjs/calcite-scrim.cjs.entry.js +2 -2
  71. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +3 -3
  72. package/dist/cjs/calcite-sheet.cjs.entry.js +3 -3
  73. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +2 -2
  74. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +12 -10
  75. package/dist/cjs/calcite-shell.cjs.entry.js +157 -0
  76. package/dist/cjs/calcite-sortable-list.cjs.entry.js +1 -1
  77. package/dist/cjs/calcite-split-button.cjs.entry.js +2 -2
  78. package/dist/cjs/calcite-stepper-item.cjs.entry.js +3 -3
  79. package/dist/cjs/calcite-stepper.cjs.entry.js +2 -2
  80. package/dist/cjs/calcite-switch.cjs.entry.js +3 -3
  81. package/dist/cjs/calcite-table-cell_2.cjs.entry.js +3 -3
  82. package/dist/cjs/calcite-table-row.cjs.entry.js +1 -1
  83. package/dist/cjs/calcite-table.cjs.entry.js +3 -3
  84. package/dist/cjs/calcite-text-area.cjs.entry.js +4 -4
  85. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +1 -1
  86. package/dist/cjs/calcite-tile-select.cjs.entry.js +2 -2
  87. package/dist/cjs/calcite-tile.cjs.entry.js +2 -2
  88. package/dist/cjs/calcite-time-picker.cjs.entry.js +3 -3
  89. package/dist/cjs/calcite-tip-group.cjs.entry.js +1 -1
  90. package/dist/cjs/calcite-tip-manager.cjs.entry.js +3 -3
  91. package/dist/cjs/calcite-tip.cjs.entry.js +4 -4
  92. package/dist/cjs/calcite-tooltip.cjs.entry.js +438 -0
  93. package/dist/cjs/card-manager_3.cjs.entry.js +35 -9
  94. package/dist/cjs/common-4cd3537b.js +38 -0
  95. package/dist/cjs/conditionalSlot-d68de819.js +63 -0
  96. package/dist/cjs/crowdsource-manager.cjs.entry.js +3 -2
  97. package/dist/cjs/crowdsource-reporter.cjs.entry.js +1 -1
  98. package/dist/cjs/cs-f072592b.js +147 -0
  99. package/dist/cjs/da-6af0e31c.js +66 -0
  100. package/dist/cjs/de-8d7e940e.js +91 -0
  101. package/dist/cjs/de-at-d864ad65.js +90 -0
  102. package/dist/cjs/de-ch-23108e0e.js +90 -0
  103. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  104. package/dist/cjs/downloadUtils-95e4a5b2.js +3124 -0
  105. package/dist/cjs/el-e6a28b0d.js +66 -0
  106. package/dist/cjs/en-au-9e23d436.js +66 -0
  107. package/dist/cjs/en-ca-34a501cb.js +65 -0
  108. package/dist/cjs/en-gb-33340e8a.js +69 -0
  109. package/dist/cjs/es-8adf47b0.js +66 -0
  110. package/dist/cjs/es-mx-44ad44a0.js +65 -0
  111. package/dist/cjs/esri-loader-a91c0ec1.js +303 -0
  112. package/dist/cjs/et-c9f248fa.js +92 -0
  113. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  114. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  115. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  116. package/dist/cjs/fi-e5ac8a6b.js +115 -0
  117. package/dist/cjs/form-1c637002.js +260 -0
  118. package/dist/cjs/fr-2ada2468.js +68 -0
  119. package/dist/cjs/fr-ch-645d30ad.js +66 -0
  120. package/dist/cjs/he-b6a59c60.js +105 -0
  121. package/dist/cjs/helpers-ff831524.js +903 -0
  122. package/dist/cjs/hi-6da5ed74.js +65 -0
  123. package/dist/cjs/hr-6f0e2b6e.js +80 -0
  124. package/dist/cjs/hu-f73982a9.js +88 -0
  125. package/dist/cjs/id-5e09da12.js +66 -0
  126. package/dist/cjs/index-22bb61da.js +201 -0
  127. package/dist/cjs/index-b8a649fc.js +2530 -0
  128. package/dist/cjs/index-f64944ad.js +2107 -0
  129. package/dist/cjs/index.es-a88403f8.js +10811 -0
  130. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +501 -0
  131. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +98 -0
  132. package/dist/cjs/instant-apps-export.cjs.entry.js +652 -0
  133. package/dist/cjs/instant-apps-filter-list.cjs.entry.js +997 -0
  134. package/dist/cjs/instant-apps-header.cjs.entry.js +126 -0
  135. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +1582 -0
  136. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +141 -0
  137. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +56 -0
  138. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +766 -0
  139. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +115 -0
  140. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +143 -0
  141. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +104 -0
  142. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +177 -0
  143. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +250 -0
  144. package/dist/cjs/instant-apps-measurement.cjs.entry.js +70 -0
  145. package/dist/cjs/instant-apps-popover.cjs.entry.js +79 -0
  146. package/dist/cjs/instant-apps-popovers.cjs.entry.js +92 -0
  147. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +467 -0
  148. package/dist/cjs/instant-apps-social-share.cjs.entry.js +502 -0
  149. package/dist/cjs/instant-apps-splash.cjs.entry.js +143 -0
  150. package/dist/cjs/it-94070661.js +66 -0
  151. package/dist/cjs/it-ch-8f628d09.js +66 -0
  152. package/dist/cjs/ja-b3dc5ef9.js +72 -0
  153. package/dist/cjs/ko-6ba17eb2.js +72 -0
  154. package/dist/cjs/languageSwitcher-cae609d9.js +58 -0
  155. package/dist/cjs/languageUtil-a3b464f8.js +69 -0
  156. package/dist/cjs/layout-manager.cjs.entry.js +3 -2
  157. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  158. package/dist/cjs/loadModules-1d0f0316.js +23 -0
  159. package/dist/cjs/loadModules-46d14e81.js +30 -0
  160. package/dist/cjs/loadable-e209caa9.js +94 -0
  161. package/dist/cjs/loader.cjs.js +2 -2
  162. package/dist/cjs/locale-56c3447b.js +82 -0
  163. package/dist/cjs/locale-9db09b63.js +122 -0
  164. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  165. package/dist/cjs/lt-2354e625.js +97 -0
  166. package/dist/cjs/lv-cc37b69c.js +66 -0
  167. package/dist/cjs/map-select-tools_3.cjs.entry.js +10 -8
  168. package/dist/cjs/mk-ac4a31aa.js +66 -0
  169. package/dist/cjs/mode-d6c12b38.js +19 -0
  170. package/dist/cjs/nb-abd9538a.js +67 -0
  171. package/dist/cjs/nl-c624c786.js +67 -0
  172. package/dist/cjs/openCloseComponent-cf70bddd.js +92 -0
  173. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  174. package/dist/cjs/pl-04f956d5.js +114 -0
  175. package/dist/cjs/pt-aabed5c9.js +67 -0
  176. package/dist/cjs/pt-br-ea295f22.js +65 -0
  177. package/dist/cjs/public-notification.cjs.entry.js +10 -8
  178. package/dist/cjs/publicNotificationStore-3a17c2f4.js +47 -0
  179. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  180. package/dist/cjs/restHelpersGet-e0737480.js +972 -0
  181. package/dist/cjs/ro-0a9832f9.js +66 -0
  182. package/dist/cjs/ru-9fe91395.js +126 -0
  183. package/dist/cjs/share-item.cjs.entry.js +1 -1
  184. package/dist/cjs/shared-list-render-b73b4b3d.js +364 -0
  185. package/dist/cjs/sk-0f14807f.js +148 -0
  186. package/dist/cjs/sl-91ca20d1.js +168 -0
  187. package/dist/cjs/solution-configuration.cjs.entry.js +8 -6
  188. package/dist/cjs/solution-contents_3.cjs.entry.js +9 -7
  189. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  190. package/dist/cjs/solution-resource-abec7452.js +141 -0
  191. package/dist/cjs/solution-store-ab6c980f.js +1344 -0
  192. package/dist/cjs/solutions-components.cjs.js +2 -2
  193. package/dist/cjs/spatial-ref.cjs.entry.js +6 -4
  194. package/dist/cjs/sr-bf45936b.js +101 -0
  195. package/dist/cjs/store-manager.cjs.entry.js +1 -1
  196. package/dist/cjs/sv-e20bd76f.js +71 -0
  197. package/dist/cjs/t9n-8460f178.js +100 -0
  198. package/dist/cjs/th-2a65e2af.js +65 -0
  199. package/dist/cjs/tr-55642c14.js +66 -0
  200. package/dist/cjs/uk-cee39dac.js +104 -0
  201. package/dist/cjs/utils-41eb3a01.js +120 -0
  202. package/dist/cjs/utils-bf5f34d7.js +64 -0
  203. package/dist/cjs/vi-264d924f.js +70 -0
  204. package/dist/cjs/zh-cn-31b500d4.js +94 -0
  205. package/dist/cjs/zh-hk-03ee3a8e.js +71 -0
  206. package/dist/cjs/zh-tw-13f729f1.js +92 -0
  207. package/dist/collection/collection-manifest.json +33 -0
  208. package/dist/collection/components/layer-table/layer-table.css +11 -1
  209. package/dist/collection/components/layer-table/layer-table.js +27 -16
  210. package/dist/components/action-pad.js +229 -0
  211. package/dist/components/block.js +281 -0
  212. package/dist/components/breakpoints.js +15 -0
  213. package/dist/components/calcite-action-pad.js +1 -222
  214. package/dist/components/calcite-block.js +1 -274
  215. package/dist/components/calcite-input-date-picker.js +1 -808
  216. package/dist/components/calcite-input-time-zone.js +1 -1
  217. package/dist/components/crowdsource-manager.js +76 -70
  218. package/dist/components/downloadUtils.js +1 -0
  219. package/dist/components/helpers.js +800 -0
  220. package/dist/components/index3.js +2068 -162
  221. package/dist/components/index4.js +179 -184
  222. package/dist/components/index5.js +188 -55
  223. package/dist/components/index6.js +71 -0
  224. package/dist/components/input-date-picker.js +815 -0
  225. package/dist/components/instant-apps-ckeditor-wrapper.js +11 -0
  226. package/dist/components/instant-apps-ckeditor-wrapper2.js +142 -0
  227. package/dist/components/instant-apps-control-panel.js +114 -0
  228. package/dist/components/instant-apps-export.js +750 -0
  229. package/dist/components/instant-apps-filter-list.js +1170 -0
  230. package/dist/components/instant-apps-header.js +11 -0
  231. package/dist/components/instant-apps-header2.js +175 -0
  232. package/dist/components/instant-apps-interactive-legend-classic.js +11 -0
  233. package/dist/components/instant-apps-interactive-legend-classic2.js +1674 -0
  234. package/dist/components/instant-apps-interactive-legend-count.js +11 -0
  235. package/dist/components/instant-apps-interactive-legend-count2.js +121 -0
  236. package/dist/components/instant-apps-interactive-legend-group-legend-element-caption.js +97 -0
  237. package/dist/components/instant-apps-interactive-legend-group-legend-element.js +11 -0
  238. package/dist/components/instant-apps-interactive-legend-group-legend-element2.js +99 -0
  239. package/dist/components/instant-apps-interactive-legend-layer-element-caption.js +11 -0
  240. package/dist/components/instant-apps-interactive-legend-layer-element-caption2.js +92 -0
  241. package/dist/components/instant-apps-interactive-legend-layer-element.js +11 -0
  242. package/dist/components/instant-apps-interactive-legend-layer-element2.js +100 -0
  243. package/dist/components/instant-apps-interactive-legend-legend-element-caption.js +11 -0
  244. package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +152 -0
  245. package/dist/components/instant-apps-interactive-legend-legend-element.js +11 -0
  246. package/dist/components/instant-apps-interactive-legend-legend-element2.js +122 -0
  247. package/dist/components/instant-apps-interactive-legend-relationship.js +11 -0
  248. package/dist/components/instant-apps-interactive-legend-relationship2.js +565 -0
  249. package/dist/components/instant-apps-interactive-legend.js +217 -0
  250. package/dist/components/instant-apps-keyboard-shortcuts.js +211 -0
  251. package/dist/components/instant-apps-landing-page.js +150 -0
  252. package/dist/components/instant-apps-language-switcher.js +311 -0
  253. package/dist/components/instant-apps-language-translator-item.js +11 -0
  254. package/dist/components/instant-apps-language-translator-item2.js +353 -0
  255. package/dist/components/instant-apps-language-translator-search.js +11 -0
  256. package/dist/components/instant-apps-language-translator-search2.js +131 -0
  257. package/dist/components/instant-apps-language-translator.js +11 -0
  258. package/dist/components/instant-apps-language-translator2.js +412 -0
  259. package/dist/components/instant-apps-measurement-tool.js +11 -0
  260. package/dist/components/instant-apps-measurement-tool2.js +154 -0
  261. package/dist/components/instant-apps-measurement.js +154 -0
  262. package/dist/components/instant-apps-popover.js +136 -0
  263. package/dist/components/instant-apps-popovers.js +115 -0
  264. package/dist/components/instant-apps-scoreboard.js +522 -0
  265. package/dist/components/instant-apps-social-share.js +11 -0
  266. package/dist/components/instant-apps-social-share2.js +566 -0
  267. package/dist/components/instant-apps-splash.js +206 -0
  268. package/dist/components/languageUtil.js +66 -0
  269. package/dist/components/layer-table2.js +77 -47
  270. package/dist/components/loadModules2.js +21 -0
  271. package/dist/components/locale3.js +77 -0
  272. package/dist/components/mode.js +17 -0
  273. package/dist/components/publicNotificationStore.js +1 -1
  274. package/dist/components/restHelpersGet.js +1 -0
  275. package/dist/components/solution-configuration.js +1 -0
  276. package/dist/components/solution-resource-item2.js +1 -0
  277. package/dist/components/solution-resource.js +1 -1699
  278. package/dist/components/solution-store.js +2 -1
  279. package/dist/components/spatial-ref2.js +1 -0
  280. package/dist/components/store.js +86 -0
  281. package/dist/components/utils4.js +111 -0
  282. package/dist/esm/ExpandToggle-52a39281.js +110 -0
  283. package/dist/esm/FloatingArrow-337e6e2c.js +48 -0
  284. package/dist/esm/Heading-f6569cca.js +22 -0
  285. package/dist/esm/ar-f77800f7.js +102 -0
  286. package/dist/esm/arcgis-login.entry.js +1 -1
  287. package/dist/esm/basemap-gallery_7.entry.js +4 -3
  288. package/dist/esm/bg-db2ef59b.js +80 -0
  289. package/dist/esm/breakpoints-f0f1417d.js +15 -0
  290. package/dist/esm/bs-f93b1f4d.js +49 -0
  291. package/dist/esm/buffer-tools_3.entry.js +655 -0
  292. package/dist/esm/ca-2b18b8fd.js +69 -0
  293. package/dist/esm/calcite-accordion-item.entry.js +2 -2
  294. package/dist/esm/calcite-accordion.entry.js +1 -1
  295. package/dist/esm/calcite-action-bar_3.entry.js +6 -6
  296. package/dist/esm/calcite-action-group_2.entry.js +5 -5
  297. package/dist/esm/calcite-action-pad_2.entry.js +291 -0
  298. package/dist/esm/calcite-action_2.entry.js +4 -4
  299. package/dist/esm/calcite-alert_3.entry.js +8 -7
  300. package/dist/esm/calcite-avatar.entry.js +1 -1
  301. package/dist/esm/calcite-block-section.entry.js +4 -4
  302. package/dist/esm/calcite-block.entry.js +7 -7
  303. package/dist/esm/calcite-button.entry.js +5 -5
  304. package/dist/esm/calcite-card.entry.js +4 -4
  305. package/dist/esm/calcite-checkbox_3.entry.js +4 -4
  306. package/dist/esm/calcite-chip-group.entry.js +2 -2
  307. package/dist/esm/calcite-chip.entry.js +5 -5
  308. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +2 -2
  309. package/dist/esm/calcite-color-picker.entry.js +4 -4
  310. package/dist/esm/calcite-combobox-item-group.entry.js +1 -1
  311. package/dist/esm/calcite-combobox_6.entry.js +11 -10
  312. package/dist/esm/calcite-date-picker-day.entry.js +96 -0
  313. package/dist/esm/calcite-date-picker_3.entry.js +984 -0
  314. package/dist/esm/calcite-fab.entry.js +2 -2
  315. package/dist/esm/calcite-filter_2.entry.js +232 -0
  316. package/dist/esm/calcite-flow-item.entry.js +4 -4
  317. package/dist/esm/calcite-flow.entry.js +2 -2
  318. package/dist/esm/calcite-graph_2.entry.js +1093 -0
  319. package/dist/esm/calcite-handle.entry.js +166 -0
  320. package/dist/esm/calcite-icon.entry.js +1 -1
  321. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  322. package/dist/esm/calcite-input-date-picker.entry.js +8 -8
  323. package/dist/esm/calcite-input-number.entry.js +5 -5
  324. package/dist/esm/calcite-input-text.entry.js +5 -5
  325. package/dist/esm/calcite-input-time-picker-9906784a.js +1846 -0
  326. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  327. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  328. package/dist/esm/calcite-input_2.entry.js +5 -5
  329. package/dist/esm/calcite-label.entry.js +1 -1
  330. package/dist/esm/calcite-link.entry.js +2 -2
  331. package/dist/esm/calcite-list-item-group.entry.js +1 -1
  332. package/dist/esm/calcite-menu-item.entry.js +4 -4
  333. package/dist/esm/calcite-menu.entry.js +4 -4
  334. package/dist/esm/calcite-meter.entry.js +4 -4
  335. package/dist/esm/calcite-modal.entry.js +6 -6
  336. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  337. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  338. package/dist/esm/calcite-navigation.entry.js +2 -2
  339. package/dist/esm/calcite-notice.entry.js +163 -0
  340. package/dist/esm/calcite-option-group.entry.js +1 -1
  341. package/dist/esm/calcite-option_2.entry.js +3 -3
  342. package/dist/esm/calcite-pagination.entry.js +4 -4
  343. package/dist/esm/calcite-panel.entry.js +265 -0
  344. package/dist/esm/calcite-pick-list-group.entry.js +3 -3
  345. package/dist/esm/calcite-pick-list-item.entry.js +5 -5
  346. package/dist/esm/calcite-pick-list.entry.js +3 -3
  347. package/dist/esm/calcite-popover.entry.js +7 -7
  348. package/dist/esm/calcite-radio-button-group.entry.js +2 -2
  349. package/dist/esm/calcite-radio-button.entry.js +3 -3
  350. package/dist/esm/calcite-rating.entry.js +5 -5
  351. package/dist/esm/calcite-scrim.entry.js +3 -3
  352. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  353. package/dist/esm/calcite-sheet.entry.js +3 -3
  354. package/dist/esm/calcite-shell-center-row.entry.js +2 -2
  355. package/dist/esm/calcite-shell-panel_14.entry.js +13 -11
  356. package/dist/esm/calcite-shell.entry.js +153 -0
  357. package/dist/esm/calcite-sortable-list.entry.js +1 -1
  358. package/dist/esm/calcite-split-button.entry.js +2 -2
  359. package/dist/esm/calcite-stepper-item.entry.js +4 -4
  360. package/dist/esm/calcite-stepper.entry.js +3 -3
  361. package/dist/esm/calcite-switch.entry.js +3 -3
  362. package/dist/esm/calcite-table-cell_2.entry.js +4 -4
  363. package/dist/esm/calcite-table-row.entry.js +1 -1
  364. package/dist/esm/calcite-table.entry.js +4 -4
  365. package/dist/esm/calcite-text-area.entry.js +5 -5
  366. package/dist/esm/calcite-tile-select-group.entry.js +1 -1
  367. package/dist/esm/calcite-tile-select.entry.js +2 -2
  368. package/dist/esm/calcite-tile.entry.js +2 -2
  369. package/dist/esm/calcite-time-picker.entry.js +5 -5
  370. package/dist/esm/calcite-tip-group.entry.js +1 -1
  371. package/dist/esm/calcite-tip-manager.entry.js +4 -4
  372. package/dist/esm/calcite-tip.entry.js +5 -5
  373. package/dist/esm/calcite-tooltip.entry.js +434 -0
  374. package/dist/esm/card-manager_3.entry.js +35 -9
  375. package/dist/esm/common-2cf42ac2.js +36 -0
  376. package/dist/esm/conditionalSlot-a714d511.js +60 -0
  377. package/dist/esm/crowdsource-manager.entry.js +3 -2
  378. package/dist/esm/crowdsource-reporter.entry.js +1 -1
  379. package/dist/esm/cs-deb5a8b8.js +145 -0
  380. package/dist/esm/da-200f1715.js +64 -0
  381. package/dist/esm/date-b6645c2f.js +245 -0
  382. package/dist/esm/de-2a1519db.js +89 -0
  383. package/dist/esm/de-at-f6b9f5e9.js +88 -0
  384. package/dist/esm/de-ch-57100172.js +88 -0
  385. package/dist/esm/deduct-calculator.entry.js +1 -1
  386. package/dist/esm/downloadUtils-83dd2143.js +3118 -0
  387. package/dist/esm/el-d8748e54.js +64 -0
  388. package/dist/esm/en-au-c4fb48e2.js +64 -0
  389. package/dist/esm/en-ca-e7c89089.js +63 -0
  390. package/dist/esm/en-gb-a9b09a37.js +67 -0
  391. package/dist/esm/es-b9849b68.js +64 -0
  392. package/dist/esm/es-mx-a6683427.js +63 -0
  393. package/dist/esm/esri-loader-eda07632.js +301 -0
  394. package/dist/esm/et-5977f99c.js +90 -0
  395. package/dist/esm/feature-comments.entry.js +1 -1
  396. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  397. package/dist/esm/features-flow-item.entry.js +1 -1
  398. package/dist/esm/fi-7c833852.js +113 -0
  399. package/dist/esm/form-20beb147.js +252 -0
  400. package/dist/esm/fr-666c6e38.js +66 -0
  401. package/dist/esm/fr-ch-c31a993e.js +64 -0
  402. package/dist/esm/he-0f33cd21.js +103 -0
  403. package/dist/esm/helpers-e8282221.js +877 -0
  404. package/dist/esm/hi-7c013995.js +63 -0
  405. package/dist/esm/hr-0beace22.js +78 -0
  406. package/dist/esm/hu-b9e83513.js +86 -0
  407. package/dist/esm/id-e79416a2.js +64 -0
  408. package/dist/esm/index-7183ce4a.js +2496 -0
  409. package/dist/esm/index-857df22e.js +199 -0
  410. package/dist/esm/index-a1e91462.js +2105 -0
  411. package/dist/esm/index.es-0c98e2f3.js +10725 -0
  412. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +495 -0
  413. package/dist/esm/instant-apps-control-panel.entry.js +94 -0
  414. package/dist/esm/instant-apps-export.entry.js +648 -0
  415. package/dist/esm/instant-apps-filter-list.entry.js +993 -0
  416. package/dist/esm/instant-apps-header.entry.js +122 -0
  417. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +1578 -0
  418. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +136 -0
  419. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +52 -0
  420. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +758 -0
  421. package/dist/esm/instant-apps-interactive-legend.entry.js +111 -0
  422. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +139 -0
  423. package/dist/esm/instant-apps-landing-page.entry.js +100 -0
  424. package/dist/esm/instant-apps-language-switcher.entry.js +173 -0
  425. package/dist/esm/instant-apps-language-translator.entry.js +246 -0
  426. package/dist/esm/instant-apps-measurement.entry.js +66 -0
  427. package/dist/esm/instant-apps-popover.entry.js +75 -0
  428. package/dist/esm/instant-apps-popovers.entry.js +88 -0
  429. package/dist/esm/instant-apps-scoreboard.entry.js +463 -0
  430. package/dist/esm/instant-apps-social-share.entry.js +498 -0
  431. package/dist/esm/instant-apps-splash.entry.js +139 -0
  432. package/dist/esm/it-37653e1d.js +64 -0
  433. package/dist/esm/it-ch-23524bd0.js +64 -0
  434. package/dist/esm/ja-7e8f1da7.js +70 -0
  435. package/dist/esm/ko-f251bcd0.js +70 -0
  436. package/dist/esm/languageSwitcher-75765d90.js +55 -0
  437. package/dist/esm/languageUtil-8b54477c.js +66 -0
  438. package/dist/esm/layout-manager.entry.js +3 -2
  439. package/dist/esm/list-flow-item.entry.js +1 -1
  440. package/dist/esm/loadModules-037feea8.js +21 -0
  441. package/dist/esm/loadModules-cea493da.js +28 -0
  442. package/dist/esm/loadable-4ea020fa.js +89 -0
  443. package/dist/esm/loader.js +3 -3
  444. package/dist/esm/locale-53d724b5.js +77 -0
  445. package/dist/esm/locale-834c52c6.js +119 -0
  446. package/dist/esm/locale-f08c5b10.js +594 -0
  447. package/dist/esm/location-flow-item.entry.js +1 -1
  448. package/dist/esm/lt-cdddaadd.js +95 -0
  449. package/dist/esm/lv-2cc9a2c6.js +64 -0
  450. package/dist/esm/map-select-tools_3.entry.js +10 -8
  451. package/dist/esm/mk-b8e24f01.js +64 -0
  452. package/dist/esm/mode-66911cb5.js +17 -0
  453. package/dist/esm/nb-f1105c34.js +65 -0
  454. package/dist/esm/nl-2e6ded8f.js +65 -0
  455. package/dist/esm/openCloseComponent-d85ff5f3.js +90 -0
  456. package/dist/esm/pci-calculator.entry.js +1 -1
  457. package/dist/esm/pl-433c515d.js +112 -0
  458. package/dist/esm/pt-br-7e11f4a3.js +63 -0
  459. package/dist/esm/pt-d448bc92.js +65 -0
  460. package/dist/esm/public-notification.entry.js +10 -8
  461. package/dist/esm/publicNotificationStore-9362d7ae.js +45 -0
  462. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  463. package/dist/esm/restHelpersGet-af032ab2.js +959 -0
  464. package/dist/esm/ro-1392a615.js +64 -0
  465. package/dist/esm/ru-ffcd1533.js +124 -0
  466. package/dist/esm/share-item.entry.js +1 -1
  467. package/dist/esm/shared-list-render-3f6a670f.js +342 -0
  468. package/dist/esm/sk-28b09fd6.js +146 -0
  469. package/dist/esm/sl-a85a243f.js +166 -0
  470. package/dist/esm/solution-configuration.entry.js +8 -6
  471. package/dist/esm/solution-contents_3.entry.js +9 -7
  472. package/dist/esm/solution-item-icon.entry.js +1 -1
  473. package/dist/esm/solution-resource-7b8d302d.js +138 -0
  474. package/dist/esm/solution-store-b08696f7.js +1342 -0
  475. package/dist/esm/solutions-components.js +3 -3
  476. package/dist/esm/spatial-ref.entry.js +6 -4
  477. package/dist/esm/sr-fcd3b800.js +99 -0
  478. package/dist/esm/store-manager.entry.js +1 -1
  479. package/dist/esm/sv-10bb847b.js +69 -0
  480. package/dist/esm/t9n-ff209b55.js +95 -0
  481. package/dist/esm/th-60df6ca9.js +63 -0
  482. package/dist/esm/time-8fc11a36.js +274 -0
  483. package/dist/esm/tr-d2a9de1a.js +64 -0
  484. package/dist/esm/uk-f65b52d5.js +102 -0
  485. package/dist/esm/utils-06bace50.js +111 -0
  486. package/dist/esm/utils-5fbb928b.js +61 -0
  487. package/dist/esm/vi-a661d397.js +68 -0
  488. package/dist/esm/zh-cn-a71a90fa.js +92 -0
  489. package/dist/esm/zh-hk-352c4f2e.js +69 -0
  490. package/dist/esm/zh-tw-de9cb649.js +90 -0
  491. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-control-panel/instant-apps-control-panel.css +3 -0
  492. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-export/instant-apps-export.css +81 -0
  493. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-filter-list/instant-apps-filter-list.css +104 -0
  494. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +165 -0
  495. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-classic/instant-apps-interactive-legend-classic.css +124 -0
  496. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-count/instant-apps-interactive-legend-count.css +18 -0
  497. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-group-legend-element/instant-apps-interactive-legend-group-legend-element.css +10 -0
  498. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-group-legend-element-caption/instant-apps-interactive-legend-group-legend-element-caption.css +67 -0
  499. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-layer-element/instant-apps-interactive-legend-layer-element.css +17 -0
  500. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-layer-element-caption/instant-apps-interactive-legend-layer-element-caption.css +68 -0
  501. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-legend-element/instant-apps-interactive-legend-legend-element.css +10 -0
  502. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-legend-element-caption/instant-apps-interactive-legend-legend-element-caption.css +52 -0
  503. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend-relationship/instant-apps-interactive-legend-relationship.css +15 -0
  504. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-interactive-legend/instant-apps-interactive-legend.css +12 -0
  505. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-keyboard-shortcuts/instant-apps-keyboard-shortcuts.css +33 -0
  506. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +222 -0
  507. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-language-switcher/instant-apps-language-switcher.css +13 -0
  508. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-language-translator/instant-apps-ckeditor-wrapper/instant-apps-ckeditor-wrapper.css +3 -0
  509. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-language-translator/instant-apps-language-translator-item/instant-apps-language-translator-item.css +83 -0
  510. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-language-translator/instant-apps-language-translator-search/instant-apps-language-translator-search.css +34 -0
  511. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-language-translator/instant-apps-language-translator.css +86 -0
  512. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-measurement/instant-apps-measurement-tool/instant-apps-measurement-tool.css +6 -0
  513. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-measurement/instant-apps-measurement.css +6 -0
  514. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-popover/instant-apps-popover.css +58 -0
  515. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-popovers/instant-apps-popovers.css +3 -0
  516. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-scoreboard/instant-apps-scoreboard.css +200 -0
  517. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-social-share/instant-apps-social-share.css +273 -0
  518. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-splash/instant-apps-splash.css +10 -0
  519. package/dist/solutions-components/p-00639754.js +6 -0
  520. package/dist/solutions-components/p-0103dee1.entry.js +6 -0
  521. package/dist/solutions-components/p-019f0baa.entry.js +6 -0
  522. package/dist/solutions-components/p-03466ab3.js +6 -0
  523. package/dist/solutions-components/p-0637dbc2.entry.js +6 -0
  524. package/dist/solutions-components/p-066ceb3b.entry.js +11 -0
  525. package/dist/solutions-components/p-077dd2ca.js +6 -0
  526. package/dist/solutions-components/p-089dc6bf.entry.js +6 -0
  527. package/dist/solutions-components/p-0959f0ba.entry.js +6 -0
  528. package/dist/solutions-components/p-0a0d0d3a.entry.js +6 -0
  529. package/dist/solutions-components/p-0ad0b29a.js +6 -0
  530. package/dist/solutions-components/p-0e64cb34.entry.js +11 -0
  531. package/dist/solutions-components/p-0f5defc9.entry.js +11 -0
  532. package/dist/solutions-components/p-0ff2ce41.js +6 -0
  533. package/dist/solutions-components/p-10c627d2.entry.js +6 -0
  534. package/dist/solutions-components/p-149d80ad.js +6 -0
  535. package/dist/solutions-components/p-14a48b14.js +6 -0
  536. package/dist/solutions-components/p-18245133.js +6 -0
  537. package/dist/solutions-components/p-188483e2.entry.js +6 -0
  538. package/dist/solutions-components/p-19f5577d.js +6 -0
  539. package/dist/solutions-components/p-1b267b47.entry.js +29 -0
  540. package/dist/solutions-components/p-1b9fb070.entry.js +6 -0
  541. package/dist/solutions-components/p-21c2d29c.entry.js +6 -0
  542. package/dist/solutions-components/p-21ccd955.entry.js +6 -0
  543. package/dist/solutions-components/p-220ec0d1.js +66 -0
  544. package/dist/solutions-components/p-225c4ca4.js +6 -0
  545. package/dist/solutions-components/p-23f5989b.js +6 -0
  546. package/dist/solutions-components/p-23fa75e8.entry.js +11 -0
  547. package/dist/solutions-components/p-2540efd5.entry.js +17 -0
  548. package/dist/solutions-components/p-28a5d3d0.js +6 -0
  549. package/dist/solutions-components/p-2f496e4c.entry.js +6 -0
  550. package/dist/solutions-components/p-3186b4b6.entry.js +11 -0
  551. package/dist/solutions-components/p-319c5251.entry.js +11 -0
  552. package/dist/solutions-components/p-3272b303.entry.js +11 -0
  553. package/dist/solutions-components/p-33cab25b.entry.js +11 -0
  554. package/dist/solutions-components/p-35f6e2e8.entry.js +6 -0
  555. package/dist/solutions-components/p-36eb8399.js +145 -0
  556. package/dist/solutions-components/p-3ac10964.js +6 -0
  557. package/dist/solutions-components/p-3c3c2587.entry.js +6 -0
  558. package/dist/solutions-components/p-3d17ee9f.entry.js +6 -0
  559. package/dist/solutions-components/p-3e30d94c.entry.js +6 -0
  560. package/dist/solutions-components/p-3f80aa6c.entry.js +11 -0
  561. package/dist/solutions-components/p-4052ab77.entry.js +6 -0
  562. package/dist/solutions-components/p-4193c543.entry.js +47 -0
  563. package/dist/solutions-components/p-423ba032.entry.js +11 -0
  564. package/dist/solutions-components/p-4349583f.js +6 -0
  565. package/dist/solutions-components/p-43546966.entry.js +6 -0
  566. package/dist/solutions-components/p-43e05fb4.entry.js +11 -0
  567. package/dist/solutions-components/p-442f8a22.js +6 -0
  568. package/dist/solutions-components/p-44e4e81d.entry.js +11 -0
  569. package/dist/solutions-components/p-4507fcfc.entry.js +11 -0
  570. package/dist/solutions-components/p-450bb7fb.js +6 -0
  571. package/dist/solutions-components/p-4671a5b6.entry.js +6 -0
  572. package/dist/solutions-components/p-48ff9cea.js +21 -0
  573. package/dist/solutions-components/p-49d11f7b.entry.js +17 -0
  574. package/dist/solutions-components/p-4a7dfcc3.entry.js +12 -0
  575. package/dist/solutions-components/p-4ee789e1.entry.js +21 -0
  576. package/dist/solutions-components/p-52afba17.entry.js +6 -0
  577. package/dist/solutions-components/p-54197bfa.entry.js +11 -0
  578. package/dist/solutions-components/p-5463e1aa.js +6 -0
  579. package/dist/solutions-components/p-58aa5973.js +6 -0
  580. package/dist/solutions-components/p-59337ddc.js +6 -0
  581. package/dist/solutions-components/p-59407d94.entry.js +6 -0
  582. package/dist/solutions-components/p-5953ebe8.entry.js +36 -0
  583. package/dist/solutions-components/p-59837e81.js +6 -0
  584. package/dist/solutions-components/p-5a60178d.js +11 -0
  585. package/dist/solutions-components/p-5a885617.entry.js +6 -0
  586. package/dist/solutions-components/p-5f79d121.entry.js +6 -0
  587. package/dist/solutions-components/p-60cdbf65.js +6 -0
  588. package/dist/solutions-components/p-6175d614.js +6 -0
  589. package/dist/solutions-components/p-61a523a6.entry.js +6 -0
  590. package/dist/solutions-components/p-6268020e.entry.js +6 -0
  591. package/dist/solutions-components/p-6384cfd0.entry.js +11 -0
  592. package/dist/solutions-components/p-63f76755.entry.js +11 -0
  593. package/dist/solutions-components/p-66f20ed3.js +6 -0
  594. package/dist/solutions-components/p-6a0777f1.entry.js +11 -0
  595. package/dist/solutions-components/p-6a9a9589.entry.js +11 -0
  596. package/dist/solutions-components/p-6b494d23.entry.js +18 -0
  597. package/dist/solutions-components/p-6b943f52.js +21 -0
  598. package/dist/solutions-components/p-6bba7223.entry.js +11 -0
  599. package/dist/solutions-components/p-6eeebb54.entry.js +11 -0
  600. package/dist/solutions-components/p-6fff23ce.js +6 -0
  601. package/dist/solutions-components/p-7283bfe4.entry.js +6 -0
  602. package/dist/solutions-components/p-72920bd9.entry.js +11 -0
  603. package/dist/solutions-components/p-74a89c71.entry.js +6 -0
  604. package/dist/solutions-components/p-77fe67bc.js +6 -0
  605. package/dist/solutions-components/p-78780f63.js +7 -0
  606. package/dist/solutions-components/p-796ce3a2.entry.js +6 -0
  607. package/dist/solutions-components/p-7b2c0232.js +6 -0
  608. package/dist/solutions-components/p-7ba359e7.js +6 -0
  609. package/dist/solutions-components/p-7d5d4770.entry.js +17 -0
  610. package/dist/solutions-components/p-7d635859.entry.js +17 -0
  611. package/dist/solutions-components/p-7eec285c.entry.js +6 -0
  612. package/dist/solutions-components/p-7f8b34ec.entry.js +17 -0
  613. package/dist/solutions-components/p-80bc8ff8.js +6 -0
  614. package/dist/solutions-components/p-811313d1.entry.js +6 -0
  615. package/dist/solutions-components/p-81c5c5f2.entry.js +6 -0
  616. package/dist/solutions-components/p-825c045a.entry.js +6 -0
  617. package/dist/solutions-components/p-83cf2842.js +6 -0
  618. package/dist/solutions-components/p-84034340.js +6 -0
  619. package/dist/solutions-components/p-840bf17d.entry.js +11 -0
  620. package/dist/solutions-components/p-847193e7.entry.js +6 -0
  621. package/dist/solutions-components/p-8479b57c.entry.js +6 -0
  622. package/dist/solutions-components/p-8684a905.js +21 -0
  623. package/dist/solutions-components/p-88d4aca3.js +11 -0
  624. package/dist/solutions-components/p-89dbc9bb.entry.js +11 -0
  625. package/dist/solutions-components/p-8a80c2c0.js +11 -0
  626. package/dist/solutions-components/p-8b45a9f3.js +6 -0
  627. package/dist/solutions-components/p-8b626490.js +11 -0
  628. package/dist/solutions-components/p-8b6dd664.entry.js +11 -0
  629. package/dist/solutions-components/p-8b8b2f3a.entry.js +6 -0
  630. package/dist/solutions-components/p-8dfdd18e.js +6 -0
  631. package/dist/solutions-components/p-8e552755.js +11 -0
  632. package/dist/solutions-components/p-9063316f.entry.js +11 -0
  633. package/dist/solutions-components/p-9190f5a9.entry.js +6 -0
  634. package/dist/solutions-components/p-91af3a8c.entry.js +6 -0
  635. package/dist/solutions-components/p-92c5117e.js +6 -0
  636. package/dist/solutions-components/p-93510a8c.entry.js +11 -0
  637. package/dist/solutions-components/p-93cfd220.entry.js +17 -0
  638. package/dist/solutions-components/p-946214a3.entry.js +11 -0
  639. package/dist/solutions-components/p-951a5673.entry.js +6 -0
  640. package/dist/solutions-components/p-96ac6d8a.entry.js +16 -0
  641. package/dist/solutions-components/p-9806d57b.js +6 -0
  642. package/dist/solutions-components/p-994a2cd8.entry.js +11 -0
  643. package/dist/solutions-components/p-998940b9.js +6 -0
  644. package/dist/solutions-components/p-9b84f526.entry.js +11 -0
  645. package/dist/solutions-components/p-9b9962f8.entry.js +6 -0
  646. package/dist/solutions-components/p-9bcbc1cc.js +21 -0
  647. package/dist/solutions-components/p-9bcbc357.js +11 -0
  648. package/dist/solutions-components/p-9c0818c4.js +6 -0
  649. package/dist/solutions-components/p-9e92fd19.entry.js +6 -0
  650. package/dist/solutions-components/p-9f742819.entry.js +11 -0
  651. package/dist/solutions-components/p-a01d0e29.entry.js +11 -0
  652. package/dist/solutions-components/p-a05de942.entry.js +11 -0
  653. package/dist/solutions-components/p-a0aca601.js +6 -0
  654. package/dist/solutions-components/p-a14fb8df.entry.js +11 -0
  655. package/dist/solutions-components/p-a15b73bb.entry.js +11 -0
  656. package/dist/solutions-components/p-a230b270.js +16 -0
  657. package/dist/solutions-components/p-a43e4f84.entry.js +11 -0
  658. package/dist/solutions-components/p-a44f1e85.entry.js +6 -0
  659. package/dist/solutions-components/p-a46dbf0a.js +6 -0
  660. package/dist/solutions-components/p-a4755ea8.entry.js +6 -0
  661. package/dist/solutions-components/p-a79147a2.entry.js +11 -0
  662. package/dist/solutions-components/p-a7957f1b.entry.js +11 -0
  663. package/dist/solutions-components/p-a7a06d6a.js +6 -0
  664. package/dist/solutions-components/p-ab6a2ecf.entry.js +6 -0
  665. package/dist/solutions-components/p-abab359e.entry.js +6 -0
  666. package/dist/solutions-components/p-abea8ef5.js +6 -0
  667. package/dist/solutions-components/p-ad5f374e.entry.js +6 -0
  668. package/dist/solutions-components/p-ad83172d.entry.js +11 -0
  669. package/dist/solutions-components/p-ada368a5.entry.js +6 -0
  670. package/dist/solutions-components/p-afd9d486.entry.js +6 -0
  671. package/dist/solutions-components/p-b030a151.js +61 -0
  672. package/dist/solutions-components/p-b1abf793.js +6 -0
  673. package/dist/solutions-components/p-b2a9bae3.entry.js +6 -0
  674. package/dist/solutions-components/p-b5f2bb07.entry.js +11 -0
  675. package/dist/solutions-components/p-b71c0cdc.js +6 -0
  676. package/dist/solutions-components/p-b7d448d5.entry.js +11 -0
  677. package/dist/solutions-components/p-b858abf3.js +6 -0
  678. package/dist/solutions-components/p-b8d4573d.entry.js +12 -0
  679. package/dist/solutions-components/p-b8feb6b8.entry.js +22 -0
  680. package/dist/solutions-components/p-b959efd3.js +16 -0
  681. package/dist/solutions-components/p-ba14f8c3.js +6 -0
  682. package/dist/solutions-components/p-bab0aa05.js +6 -0
  683. package/dist/solutions-components/p-bacb4e2f.entry.js +6 -0
  684. package/dist/solutions-components/p-bc6a9b9c.js +6 -0
  685. package/dist/solutions-components/p-bd3f4aa6.entry.js +6 -0
  686. package/dist/solutions-components/p-bff9e04f.entry.js +11 -0
  687. package/dist/solutions-components/p-c279b9ed.js +6 -0
  688. package/dist/solutions-components/p-c50a4911.js +11 -0
  689. package/dist/solutions-components/p-c853e879.js +11 -0
  690. package/dist/solutions-components/p-c8cf222b.entry.js +6 -0
  691. package/dist/solutions-components/p-c96eb2db.js +6 -0
  692. package/dist/solutions-components/p-cbd48f1f.entry.js +6 -0
  693. package/dist/solutions-components/p-cdb87252.entry.js +17 -0
  694. package/dist/solutions-components/p-cfe7292c.js +6 -0
  695. package/dist/solutions-components/p-d1b034ac.js +6 -0
  696. package/dist/solutions-components/p-d2ccbb6c.js +6 -0
  697. package/dist/solutions-components/p-d438df5d.js +6 -0
  698. package/dist/solutions-components/p-d48def3a.js +6 -0
  699. package/dist/solutions-components/p-d6050d57.js +489 -0
  700. package/dist/solutions-components/p-d65116b6.entry.js +6 -0
  701. package/dist/solutions-components/p-d68dc436.js +6 -0
  702. package/dist/solutions-components/p-d7d895df.entry.js +11 -0
  703. package/dist/solutions-components/p-d89fff3a.js +49 -0
  704. package/dist/solutions-components/p-d918ec36.js +6 -0
  705. package/dist/solutions-components/p-d9d9d7d1.entry.js +6 -0
  706. package/dist/solutions-components/p-da205222.js +11 -0
  707. package/dist/solutions-components/p-dfb33c83.entry.js +6 -0
  708. package/dist/solutions-components/p-e06f5cfe.js +6 -0
  709. package/dist/solutions-components/p-e0a11013.js +6 -0
  710. package/dist/solutions-components/p-e0e5d270.entry.js +11 -0
  711. package/dist/solutions-components/p-e2ea23c7.js +11 -0
  712. package/dist/solutions-components/p-e6010f64.entry.js +11 -0
  713. package/dist/solutions-components/p-e79106f9.js +11 -0
  714. package/dist/solutions-components/p-e91175f6.entry.js +11 -0
  715. package/dist/solutions-components/p-e95eb58c.entry.js +6 -0
  716. package/dist/solutions-components/p-e987323a.entry.js +16 -0
  717. package/dist/solutions-components/p-ed254530.entry.js +6 -0
  718. package/dist/solutions-components/p-edbe4059.js +16 -0
  719. package/dist/solutions-components/p-f3110ead.js +11 -0
  720. package/dist/solutions-components/p-f4742b64.entry.js +6 -0
  721. package/dist/solutions-components/p-f66f6617.entry.js +11 -0
  722. package/dist/solutions-components/p-f98b014f.entry.js +11 -0
  723. package/dist/solutions-components/p-f9ff6c29.entry.js +6 -0
  724. package/dist/solutions-components/p-fbb9a303.js +6 -0
  725. package/dist/solutions-components/p-ff172121.js +6 -0
  726. package/dist/solutions-components/solutions-components.esm.js +1 -1
  727. package/dist/types/components/layer-table/layer-table.d.ts +9 -4
  728. package/dist/types/components.d.ts +0 -5
  729. package/dist/types/preact.d.ts +88 -2
  730. package/package.json +6 -2
  731. package/dist/cjs/ExpandToggle-590d91ec.js +0 -118
  732. package/dist/cjs/FloatingArrow-51090818.js +0 -50
  733. package/dist/cjs/Heading-09046b7d.js +0 -25
  734. package/dist/cjs/ar-840ce104.js +0 -104
  735. package/dist/cjs/bg-fc50248c.js +0 -82
  736. package/dist/cjs/bs-70a07294.js +0 -51
  737. package/dist/cjs/buffer-tools_4.cjs.entry.js +0 -1531
  738. package/dist/cjs/ca-b8b7db3a.js +0 -71
  739. package/dist/cjs/calcite-action-pad.cjs.entry.js +0 -168
  740. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +0 -633
  741. package/dist/cjs/calcite-date-picker.cjs.entry.js +0 -457
  742. package/dist/cjs/calcite-filter_3.cjs.entry.js +0 -388
  743. package/dist/cjs/calcite-graph.cjs.entry.js +0 -226
  744. package/dist/cjs/calcite-input-time-picker-28bfb374.js +0 -1849
  745. package/dist/cjs/calcite-notice_2.cjs.entry.js +0 -590
  746. package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -411
  747. package/dist/cjs/common-3ef5d746.js +0 -37
  748. package/dist/cjs/conditionalSlot-7231dd93.js +0 -63
  749. package/dist/cjs/cs-d6262e24.js +0 -147
  750. package/dist/cjs/da-dd9a7705.js +0 -66
  751. package/dist/cjs/de-9f5b8820.js +0 -91
  752. package/dist/cjs/de-at-ed69f6a8.js +0 -90
  753. package/dist/cjs/de-ch-ebbe1a80.js +0 -90
  754. package/dist/cjs/downloadUtils-99067c29.js +0 -3123
  755. package/dist/cjs/el-a9188f61.js +0 -66
  756. package/dist/cjs/en-au-589b4eee.js +0 -66
  757. package/dist/cjs/en-ca-c2230b11.js +0 -65
  758. package/dist/cjs/en-gb-1f3a4bdd.js +0 -69
  759. package/dist/cjs/es-8270fcb2.js +0 -66
  760. package/dist/cjs/es-mx-fc3d2e8d.js +0 -65
  761. package/dist/cjs/et-48adb96e.js +0 -92
  762. package/dist/cjs/fi-47082a4a.js +0 -115
  763. package/dist/cjs/form-d72f69ef.js +0 -260
  764. package/dist/cjs/fr-ch-8f6be683.js +0 -66
  765. package/dist/cjs/fr-d5b30711.js +0 -68
  766. package/dist/cjs/he-5d6981f0.js +0 -105
  767. package/dist/cjs/hi-c8118b2b.js +0 -65
  768. package/dist/cjs/hr-5818f9ba.js +0 -80
  769. package/dist/cjs/hu-bc3f3f6d.js +0 -88
  770. package/dist/cjs/id-b5bf2386.js +0 -66
  771. package/dist/cjs/index-4f9f29fb.js +0 -201
  772. package/dist/cjs/index-7f076fd8.js +0 -2071
  773. package/dist/cjs/index.es-dec08d23.js +0 -10810
  774. package/dist/cjs/it-c256d30d.js +0 -66
  775. package/dist/cjs/it-ch-b395918d.js +0 -66
  776. package/dist/cjs/ja-82ffd2ce.js +0 -72
  777. package/dist/cjs/ko-4d303cb9.js +0 -72
  778. package/dist/cjs/loadModules-f4d81906.js +0 -30
  779. package/dist/cjs/loadable-2facb46d.js +0 -94
  780. package/dist/cjs/locale-57fa4b01.js +0 -416
  781. package/dist/cjs/lt-0b973f03.js +0 -97
  782. package/dist/cjs/lv-a7a5b9cd.js +0 -66
  783. package/dist/cjs/mk-83081689.js +0 -66
  784. package/dist/cjs/nb-556279b3.js +0 -67
  785. package/dist/cjs/nl-d32372d3.js +0 -67
  786. package/dist/cjs/openCloseComponent-9fe17555.js +0 -92
  787. package/dist/cjs/pl-4cfcbb3f.js +0 -114
  788. package/dist/cjs/pt-7614cb7b.js +0 -67
  789. package/dist/cjs/pt-br-ada28353.js +0 -65
  790. package/dist/cjs/publicNotificationStore-3463dc42.js +0 -47
  791. package/dist/cjs/restHelpersGet-c94617cf.js +0 -971
  792. package/dist/cjs/ro-00f7d69a.js +0 -66
  793. package/dist/cjs/ru-9020ec13.js +0 -126
  794. package/dist/cjs/shared-list-render-fd947d6c.js +0 -364
  795. package/dist/cjs/sk-4794fc4d.js +0 -148
  796. package/dist/cjs/sl-4f2b082d.js +0 -168
  797. package/dist/cjs/solution-resource-f9e3b289.js +0 -1839
  798. package/dist/cjs/solution-store-604f36b0.js +0 -1343
  799. package/dist/cjs/sr-86f4b55a.js +0 -101
  800. package/dist/cjs/sv-496c5934.js +0 -71
  801. package/dist/cjs/t9n-c3ceb777.js +0 -100
  802. package/dist/cjs/th-a614ee69.js +0 -65
  803. package/dist/cjs/tr-3f7e515e.js +0 -66
  804. package/dist/cjs/uk-0f7ba988.js +0 -104
  805. package/dist/cjs/utils-8b6142cb.js +0 -64
  806. package/dist/cjs/vi-4d5035bb.js +0 -70
  807. package/dist/cjs/zh-cn-b62e5470.js +0 -94
  808. package/dist/cjs/zh-hk-8869565e.js +0 -71
  809. package/dist/cjs/zh-tw-22117181.js +0 -92
  810. package/dist/esm/ExpandToggle-d7406f36.js +0 -110
  811. package/dist/esm/FloatingArrow-bf1b95bc.js +0 -48
  812. package/dist/esm/Heading-43bad629.js +0 -22
  813. package/dist/esm/ar-578388ab.js +0 -102
  814. package/dist/esm/bg-a1ce2f5e.js +0 -80
  815. package/dist/esm/bs-33d8c483.js +0 -49
  816. package/dist/esm/buffer-tools_4.entry.js +0 -1524
  817. package/dist/esm/ca-9d68dd8a.js +0 -69
  818. package/dist/esm/calcite-action-pad.entry.js +0 -164
  819. package/dist/esm/calcite-date-picker-day_3.entry.js +0 -627
  820. package/dist/esm/calcite-date-picker.entry.js +0 -453
  821. package/dist/esm/calcite-filter_3.entry.js +0 -382
  822. package/dist/esm/calcite-graph.entry.js +0 -222
  823. package/dist/esm/calcite-input-time-picker-c2833a3d.js +0 -1846
  824. package/dist/esm/calcite-notice_2.entry.js +0 -585
  825. package/dist/esm/calcite-panel_2.entry.js +0 -406
  826. package/dist/esm/common-5b421473.js +0 -35
  827. package/dist/esm/conditionalSlot-c0cf1f40.js +0 -60
  828. package/dist/esm/cs-dd703acb.js +0 -145
  829. package/dist/esm/da-2df01be0.js +0 -64
  830. package/dist/esm/date-4e28a3f5.js +0 -245
  831. package/dist/esm/de-472989ff.js +0 -89
  832. package/dist/esm/de-at-24c74c6f.js +0 -88
  833. package/dist/esm/de-ch-acdfbde0.js +0 -88
  834. package/dist/esm/downloadUtils-fc4259dd.js +0 -3117
  835. package/dist/esm/el-7a7658b2.js +0 -64
  836. package/dist/esm/en-au-a6621c75.js +0 -64
  837. package/dist/esm/en-ca-4e0a3d3b.js +0 -63
  838. package/dist/esm/en-gb-20f35c78.js +0 -67
  839. package/dist/esm/es-e2f4615a.js +0 -64
  840. package/dist/esm/es-mx-4257acd9.js +0 -63
  841. package/dist/esm/et-76f7bebb.js +0 -90
  842. package/dist/esm/fi-2448b641.js +0 -113
  843. package/dist/esm/form-cd3cad39.js +0 -252
  844. package/dist/esm/fr-a1950ce0.js +0 -66
  845. package/dist/esm/fr-ch-af2f108d.js +0 -64
  846. package/dist/esm/he-0ca759a1.js +0 -103
  847. package/dist/esm/hi-a61da82b.js +0 -63
  848. package/dist/esm/hr-34475682.js +0 -78
  849. package/dist/esm/hu-c9276c51.js +0 -86
  850. package/dist/esm/id-9eacb39e.js +0 -64
  851. package/dist/esm/index-3d4861da.js +0 -2037
  852. package/dist/esm/index-81456206.js +0 -199
  853. package/dist/esm/index.es-641d9f77.js +0 -10724
  854. package/dist/esm/it-55a02958.js +0 -64
  855. package/dist/esm/it-ch-14baf1fb.js +0 -64
  856. package/dist/esm/ja-7be4e315.js +0 -70
  857. package/dist/esm/ko-c4a3aeee.js +0 -70
  858. package/dist/esm/loadModules-4d9c5c9e.js +0 -28
  859. package/dist/esm/loadable-8dcddf78.js +0 -89
  860. package/dist/esm/locale-28107221.js +0 -412
  861. package/dist/esm/locale-71561992.js +0 -594
  862. package/dist/esm/lt-7762670b.js +0 -95
  863. package/dist/esm/lv-877e6a41.js +0 -64
  864. package/dist/esm/mk-ff0ae17f.js +0 -64
  865. package/dist/esm/nb-eb6b7a98.js +0 -65
  866. package/dist/esm/nl-26537297.js +0 -65
  867. package/dist/esm/openCloseComponent-980e90ae.js +0 -90
  868. package/dist/esm/pl-3ee1f545.js +0 -112
  869. package/dist/esm/pt-2dc3b792.js +0 -65
  870. package/dist/esm/pt-br-3ea2d13e.js +0 -63
  871. package/dist/esm/publicNotificationStore-16dff6da.js +0 -45
  872. package/dist/esm/restHelpersGet-a5ec2192.js +0 -958
  873. package/dist/esm/ro-b6f30eae.js +0 -64
  874. package/dist/esm/ru-77b04635.js +0 -124
  875. package/dist/esm/shared-list-render-ec482b94.js +0 -342
  876. package/dist/esm/sk-722e2621.js +0 -146
  877. package/dist/esm/sl-82c5462f.js +0 -166
  878. package/dist/esm/solution-resource-be35d35b.js +0 -1836
  879. package/dist/esm/solution-store-0fb525c5.js +0 -1341
  880. package/dist/esm/sr-db930513.js +0 -99
  881. package/dist/esm/sv-a4b9b3cc.js +0 -69
  882. package/dist/esm/t9n-cd58e9e1.js +0 -95
  883. package/dist/esm/th-0393996b.js +0 -63
  884. package/dist/esm/time-c4285372.js +0 -274
  885. package/dist/esm/tr-f3409dc8.js +0 -64
  886. package/dist/esm/uk-76eb5450.js +0 -102
  887. package/dist/esm/utils-b62d9d1d.js +0 -61
  888. package/dist/esm/vi-6217d42c.js +0 -68
  889. package/dist/esm/zh-cn-f8c92419.js +0 -92
  890. package/dist/esm/zh-hk-f51d7c64.js +0 -69
  891. package/dist/esm/zh-tw-030179bf.js +0 -90
  892. package/dist/solutions-components/p-00555f5f.js +0 -6
  893. package/dist/solutions-components/p-00b48e24.entry.js +0 -11
  894. package/dist/solutions-components/p-0415e505.entry.js +0 -6
  895. package/dist/solutions-components/p-04aded86.entry.js +0 -6
  896. package/dist/solutions-components/p-056ad62d.entry.js +0 -17
  897. package/dist/solutions-components/p-05a70865.entry.js +0 -6
  898. package/dist/solutions-components/p-060ed70b.entry.js +0 -6
  899. package/dist/solutions-components/p-0805f66a.js +0 -6
  900. package/dist/solutions-components/p-088e0e9b.entry.js +0 -47
  901. package/dist/solutions-components/p-0b6d5dae.entry.js +0 -11
  902. package/dist/solutions-components/p-0e4c70dc.entry.js +0 -6
  903. package/dist/solutions-components/p-0fb513ae.js +0 -11
  904. package/dist/solutions-components/p-0ffdd068.entry.js +0 -11
  905. package/dist/solutions-components/p-10533799.js +0 -21
  906. package/dist/solutions-components/p-10f750ca.entry.js +0 -17
  907. package/dist/solutions-components/p-111cb6f0.js +0 -6
  908. package/dist/solutions-components/p-11742557.js +0 -6
  909. package/dist/solutions-components/p-1434f7e2.entry.js +0 -11
  910. package/dist/solutions-components/p-153f5e80.entry.js +0 -12
  911. package/dist/solutions-components/p-17acc3e8.entry.js +0 -11
  912. package/dist/solutions-components/p-1b3e4ca7.js +0 -11
  913. package/dist/solutions-components/p-205487ff.entry.js +0 -11
  914. package/dist/solutions-components/p-20da9024.js +0 -6
  915. package/dist/solutions-components/p-23a5417c.entry.js +0 -18
  916. package/dist/solutions-components/p-23e699cc.entry.js +0 -6
  917. package/dist/solutions-components/p-261297c5.entry.js +0 -16
  918. package/dist/solutions-components/p-266612c2.js +0 -11
  919. package/dist/solutions-components/p-2679f63d.entry.js +0 -11
  920. package/dist/solutions-components/p-27d4c344.entry.js +0 -11
  921. package/dist/solutions-components/p-28357f66.entry.js +0 -6
  922. package/dist/solutions-components/p-29013fa3.js +0 -489
  923. package/dist/solutions-components/p-294a47c5.js +0 -11
  924. package/dist/solutions-components/p-2a4cccfa.js +0 -21
  925. package/dist/solutions-components/p-2c135b9a.entry.js +0 -6
  926. package/dist/solutions-components/p-2c7d71af.entry.js +0 -6
  927. package/dist/solutions-components/p-2d062258.js +0 -16
  928. package/dist/solutions-components/p-2d70d05e.entry.js +0 -6
  929. package/dist/solutions-components/p-2db39368.entry.js +0 -12
  930. package/dist/solutions-components/p-2dbfab3d.entry.js +0 -11
  931. package/dist/solutions-components/p-303992bb.entry.js +0 -11
  932. package/dist/solutions-components/p-31843189.entry.js +0 -6
  933. package/dist/solutions-components/p-31d5db9f.entry.js +0 -6
  934. package/dist/solutions-components/p-32e7b5b1.js +0 -6
  935. package/dist/solutions-components/p-337249b0.entry.js +0 -17
  936. package/dist/solutions-components/p-379c5a0b.entry.js +0 -6
  937. package/dist/solutions-components/p-395ef66f.entry.js +0 -17
  938. package/dist/solutions-components/p-3b93c66d.entry.js +0 -18
  939. package/dist/solutions-components/p-3c62c3b0.js +0 -6
  940. package/dist/solutions-components/p-42e128dd.entry.js +0 -11
  941. package/dist/solutions-components/p-439ecc25.js +0 -6
  942. package/dist/solutions-components/p-454fb30f.js +0 -6
  943. package/dist/solutions-components/p-457f08b2.entry.js +0 -6
  944. package/dist/solutions-components/p-45a1d711.js +0 -6
  945. package/dist/solutions-components/p-469b499f.entry.js +0 -6
  946. package/dist/solutions-components/p-481b913d.js +0 -6
  947. package/dist/solutions-components/p-4847dd10.entry.js +0 -6
  948. package/dist/solutions-components/p-48bb468e.entry.js +0 -11
  949. package/dist/solutions-components/p-4b96bb65.js +0 -6
  950. package/dist/solutions-components/p-4c0b96e2.entry.js +0 -11
  951. package/dist/solutions-components/p-4cc0e558.entry.js +0 -6
  952. package/dist/solutions-components/p-4ecbb9fd.entry.js +0 -11
  953. package/dist/solutions-components/p-54a84333.entry.js +0 -11
  954. package/dist/solutions-components/p-57912631.js +0 -6
  955. package/dist/solutions-components/p-57c36b35.js +0 -6
  956. package/dist/solutions-components/p-5856dc4f.js +0 -66
  957. package/dist/solutions-components/p-5a53709e.js +0 -6
  958. package/dist/solutions-components/p-5c4ac23f.entry.js +0 -6
  959. package/dist/solutions-components/p-5d9cc33f.entry.js +0 -21
  960. package/dist/solutions-components/p-5fa70b85.js +0 -7
  961. package/dist/solutions-components/p-63d26de4.js +0 -6
  962. package/dist/solutions-components/p-646ba6d2.entry.js +0 -11
  963. package/dist/solutions-components/p-655c3005.js +0 -6
  964. package/dist/solutions-components/p-680bc22f.entry.js +0 -6
  965. package/dist/solutions-components/p-68df6af9.entry.js +0 -6
  966. package/dist/solutions-components/p-693f7356.js +0 -6
  967. package/dist/solutions-components/p-6a2664e3.entry.js +0 -11
  968. package/dist/solutions-components/p-6a62f337.entry.js +0 -11
  969. package/dist/solutions-components/p-6ac5e954.js +0 -11
  970. package/dist/solutions-components/p-6ae0366e.js +0 -6
  971. package/dist/solutions-components/p-6b5ac9cc.js +0 -6
  972. package/dist/solutions-components/p-6e38395f.js +0 -6
  973. package/dist/solutions-components/p-6ed3b2fc.entry.js +0 -6
  974. package/dist/solutions-components/p-70567e13.js +0 -6
  975. package/dist/solutions-components/p-70f5b93f.entry.js +0 -6
  976. package/dist/solutions-components/p-72df03eb.entry.js +0 -11
  977. package/dist/solutions-components/p-730308be.js +0 -6
  978. package/dist/solutions-components/p-7fc1adbe.entry.js +0 -11
  979. package/dist/solutions-components/p-82f11c81.entry.js +0 -11
  980. package/dist/solutions-components/p-8386418f.entry.js +0 -11
  981. package/dist/solutions-components/p-83e6cfde.entry.js +0 -6
  982. package/dist/solutions-components/p-8476cecd.entry.js +0 -28
  983. package/dist/solutions-components/p-8480063f.entry.js +0 -6
  984. package/dist/solutions-components/p-84b840a1.js +0 -6
  985. package/dist/solutions-components/p-855f66d0.js +0 -11
  986. package/dist/solutions-components/p-861f5f1e.entry.js +0 -11
  987. package/dist/solutions-components/p-8735a284.js +0 -6
  988. package/dist/solutions-components/p-87c0e774.entry.js +0 -11
  989. package/dist/solutions-components/p-896124b8.entry.js +0 -11
  990. package/dist/solutions-components/p-89f41c66.entry.js +0 -6
  991. package/dist/solutions-components/p-8a438724.entry.js +0 -11
  992. package/dist/solutions-components/p-8a5dab43.entry.js +0 -6
  993. package/dist/solutions-components/p-8ae27c40.js +0 -6
  994. package/dist/solutions-components/p-8db84b94.entry.js +0 -11
  995. package/dist/solutions-components/p-8dc780a7.entry.js +0 -11
  996. package/dist/solutions-components/p-8f862c72.js +0 -16
  997. package/dist/solutions-components/p-902f9da4.entry.js +0 -11
  998. package/dist/solutions-components/p-91370f88.js +0 -6
  999. package/dist/solutions-components/p-938575f2.js +0 -21
  1000. package/dist/solutions-components/p-938ab9ca.entry.js +0 -6
  1001. package/dist/solutions-components/p-9551fb38.entry.js +0 -6
  1002. package/dist/solutions-components/p-95cde393.js +0 -11
  1003. package/dist/solutions-components/p-96fbe1cc.entry.js +0 -11
  1004. package/dist/solutions-components/p-98d8c605.entry.js +0 -11
  1005. package/dist/solutions-components/p-9ef41c63.entry.js +0 -11
  1006. package/dist/solutions-components/p-9f3cda4a.js +0 -6
  1007. package/dist/solutions-components/p-a0f8fbc3.entry.js +0 -6
  1008. package/dist/solutions-components/p-a3643c99.js +0 -6
  1009. package/dist/solutions-components/p-a38330de.entry.js +0 -11
  1010. package/dist/solutions-components/p-a642b88b.js +0 -6
  1011. package/dist/solutions-components/p-a8b42091.entry.js +0 -11
  1012. package/dist/solutions-components/p-aa340bbc.js +0 -6
  1013. package/dist/solutions-components/p-aaae349b.js +0 -6
  1014. package/dist/solutions-components/p-abe371c4.js +0 -6
  1015. package/dist/solutions-components/p-ac34f4d3.entry.js +0 -11
  1016. package/dist/solutions-components/p-aef47d8d.js +0 -11
  1017. package/dist/solutions-components/p-b02e167a.entry.js +0 -6
  1018. package/dist/solutions-components/p-b40040aa.js +0 -6
  1019. package/dist/solutions-components/p-b44395d5.entry.js +0 -11
  1020. package/dist/solutions-components/p-b536dee1.entry.js +0 -11
  1021. package/dist/solutions-components/p-b6e54660.entry.js +0 -29
  1022. package/dist/solutions-components/p-b71fa0ac.entry.js +0 -6
  1023. package/dist/solutions-components/p-b7c695bf.entry.js +0 -11
  1024. package/dist/solutions-components/p-b7e0263b.entry.js +0 -11
  1025. package/dist/solutions-components/p-b7e86f80.entry.js +0 -11
  1026. package/dist/solutions-components/p-ba44f20a.js +0 -6
  1027. package/dist/solutions-components/p-bb62bb27.js +0 -11
  1028. package/dist/solutions-components/p-bc63c516.js +0 -6
  1029. package/dist/solutions-components/p-bc6b53c9.entry.js +0 -17
  1030. package/dist/solutions-components/p-bda0389f.js +0 -6
  1031. package/dist/solutions-components/p-bea24407.entry.js +0 -17
  1032. package/dist/solutions-components/p-bf97ed97.js +0 -6
  1033. package/dist/solutions-components/p-c006e714.entry.js +0 -6
  1034. package/dist/solutions-components/p-c2833d75.js +0 -6
  1035. package/dist/solutions-components/p-c341666a.js +0 -6
  1036. package/dist/solutions-components/p-c5bca92c.entry.js +0 -6
  1037. package/dist/solutions-components/p-c7184511.js +0 -6
  1038. package/dist/solutions-components/p-c72af4fa.js +0 -61
  1039. package/dist/solutions-components/p-c82ff887.js +0 -11
  1040. package/dist/solutions-components/p-c887d89c.js +0 -6
  1041. package/dist/solutions-components/p-c8d122b9.js +0 -6
  1042. package/dist/solutions-components/p-ca539743.entry.js +0 -6
  1043. package/dist/solutions-components/p-cb062857.entry.js +0 -6
  1044. package/dist/solutions-components/p-d704e6f9.js +0 -6
  1045. package/dist/solutions-components/p-d8333d60.entry.js +0 -11
  1046. package/dist/solutions-components/p-d84fd29b.js +0 -6
  1047. package/dist/solutions-components/p-d90151c5.js +0 -6
  1048. package/dist/solutions-components/p-d9d50c7d.js +0 -6
  1049. package/dist/solutions-components/p-dc01676d.js +0 -6
  1050. package/dist/solutions-components/p-df9a5059.js +0 -11
  1051. package/dist/solutions-components/p-e44158b8.js +0 -145
  1052. package/dist/solutions-components/p-e698c901.entry.js +0 -6
  1053. package/dist/solutions-components/p-e782c41c.entry.js +0 -36
  1054. package/dist/solutions-components/p-e92df803.entry.js +0 -11
  1055. package/dist/solutions-components/p-ea08017f.js +0 -6
  1056. package/dist/solutions-components/p-f0b8d013.js +0 -11
  1057. package/dist/solutions-components/p-f176afee.entry.js +0 -16
  1058. package/dist/solutions-components/p-f588750f.js +0 -21
  1059. package/dist/solutions-components/p-f6ff7906.entry.js +0 -11
  1060. package/dist/solutions-components/p-f978e707.entry.js +0 -6
  1061. package/dist/solutions-components/p-fa5f90d9.entry.js +0 -11
  1062. package/dist/solutions-components/p-fcc68007.entry.js +0 -12
  1063. package/dist/solutions-components/p-fe1dcd6d.entry.js +0 -11
  1064. package/dist/solutions-components/p-ff0d7712.js +0 -44
  1065. package/dist/solutions-components/p-ff507d35.js +0 -6
@@ -0,0 +1,2530 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () {
18
+ return e[k];
19
+ }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n['default'] = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ const NAMESPACE = 'solutions-components';
29
+ const BUILD = /* solutions-components */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: true, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: true, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
30
+
31
+ /**
32
+ * Virtual DOM patching algorithm based on Snabbdom by
33
+ * Simon Friis Vindum (@paldepind)
34
+ * Licensed under the MIT License
35
+ * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
36
+ *
37
+ * Modified for Stencil's renderer and slot projection
38
+ */
39
+ let scopeId;
40
+ let contentRef;
41
+ let hostTagName;
42
+ let useNativeShadowDom = false;
43
+ let checkSlotFallbackVisibility = false;
44
+ let checkSlotRelocate = false;
45
+ let isSvgMode = false;
46
+ let renderingRef = null;
47
+ let queuePending = false;
48
+ const getAssetPath = (path) => {
49
+ const assetUrl = new URL(path, plt.$resourcesUrl$);
50
+ return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
51
+ };
52
+ const createTime = (fnName, tagName = '') => {
53
+ {
54
+ return () => {
55
+ return;
56
+ };
57
+ }
58
+ };
59
+ const uniqueTime = (key, measureText) => {
60
+ {
61
+ return () => {
62
+ return;
63
+ };
64
+ }
65
+ };
66
+ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
67
+ /**
68
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
69
+ *
70
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
71
+ * support as of Stencil v4.
72
+ */
73
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
74
+ const XLINK_NS = 'http://www.w3.org/1999/xlink';
75
+ /**
76
+ * Default style mode id
77
+ */
78
+ /**
79
+ * Reusable empty obj/array
80
+ * Don't add values to these!!
81
+ */
82
+ const EMPTY_OBJ = {};
83
+ /**
84
+ * Namespaces
85
+ */
86
+ const SVG_NS = 'http://www.w3.org/2000/svg';
87
+ const HTML_NS = 'http://www.w3.org/1999/xhtml';
88
+ const isDef = (v) => v != null;
89
+ /**
90
+ * Check whether a value is a 'complex type', defined here as an object or a
91
+ * function.
92
+ *
93
+ * @param o the value to check
94
+ * @returns whether it's a complex type or not
95
+ */
96
+ const isComplexType = (o) => {
97
+ // https://jsperf.com/typeof-fn-object/5
98
+ o = typeof o;
99
+ return o === 'object' || o === 'function';
100
+ };
101
+ /**
102
+ * Helper method for querying a `meta` tag that contains a nonce value
103
+ * out of a DOM's head.
104
+ *
105
+ * @param doc The DOM containing the `head` to query against
106
+ * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
107
+ * exists or the tag has no content.
108
+ */
109
+ function queryNonceMetaTagContent(doc) {
110
+ var _a, _b, _c;
111
+ return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
112
+ }
113
+ /**
114
+ * Production h() function based on Preact by
115
+ * Jason Miller (@developit)
116
+ * Licensed under the MIT License
117
+ * https://github.com/developit/preact/blob/master/LICENSE
118
+ *
119
+ * Modified for Stencil's compiler and vdom
120
+ */
121
+ // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
122
+ // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
123
+ const h = (nodeName, vnodeData, ...children) => {
124
+ let child = null;
125
+ let key = null;
126
+ let slotName = null;
127
+ let simple = false;
128
+ let lastSimple = false;
129
+ const vNodeChildren = [];
130
+ const walk = (c) => {
131
+ for (let i = 0; i < c.length; i++) {
132
+ child = c[i];
133
+ if (Array.isArray(child)) {
134
+ walk(child);
135
+ }
136
+ else if (child != null && typeof child !== 'boolean') {
137
+ if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
138
+ child = String(child);
139
+ }
140
+ if (simple && lastSimple) {
141
+ // If the previous child was simple (string), we merge both
142
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
143
+ }
144
+ else {
145
+ // Append a new vNode, if it's text, we create a text vNode
146
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
147
+ }
148
+ lastSimple = simple;
149
+ }
150
+ }
151
+ };
152
+ walk(children);
153
+ if (vnodeData) {
154
+ if (vnodeData.key) {
155
+ key = vnodeData.key;
156
+ }
157
+ if (vnodeData.name) {
158
+ slotName = vnodeData.name;
159
+ }
160
+ // normalize class / className attributes
161
+ {
162
+ const classData = vnodeData.className || vnodeData.class;
163
+ if (classData) {
164
+ vnodeData.class =
165
+ typeof classData !== 'object'
166
+ ? classData
167
+ : Object.keys(classData)
168
+ .filter((k) => classData[k])
169
+ .join(' ');
170
+ }
171
+ }
172
+ }
173
+ if (typeof nodeName === 'function') {
174
+ // nodeName is a functional component
175
+ return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
176
+ }
177
+ const vnode = newVNode(nodeName, null);
178
+ vnode.$attrs$ = vnodeData;
179
+ if (vNodeChildren.length > 0) {
180
+ vnode.$children$ = vNodeChildren;
181
+ }
182
+ {
183
+ vnode.$key$ = key;
184
+ }
185
+ {
186
+ vnode.$name$ = slotName;
187
+ }
188
+ return vnode;
189
+ };
190
+ /**
191
+ * A utility function for creating a virtual DOM node from a tag and some
192
+ * possible text content.
193
+ *
194
+ * @param tag the tag for this element
195
+ * @param text possible text content for the node
196
+ * @returns a newly-minted virtual DOM node
197
+ */
198
+ const newVNode = (tag, text) => {
199
+ const vnode = {
200
+ $flags$: 0,
201
+ $tag$: tag,
202
+ $text$: text,
203
+ $elm$: null,
204
+ $children$: null,
205
+ };
206
+ {
207
+ vnode.$attrs$ = null;
208
+ }
209
+ {
210
+ vnode.$key$ = null;
211
+ }
212
+ {
213
+ vnode.$name$ = null;
214
+ }
215
+ return vnode;
216
+ };
217
+ const Host = {};
218
+ /**
219
+ * Check whether a given node is a Host node or not
220
+ *
221
+ * @param node the virtual DOM node to check
222
+ * @returns whether it's a Host node or not
223
+ */
224
+ const isHost = (node) => node && node.$tag$ === Host;
225
+ /**
226
+ * Implementation of {@link d.FunctionalUtilities} for Stencil's VDom.
227
+ *
228
+ * Note that these functions convert from {@link d.VNode} to
229
+ * {@link d.ChildNode} to give functional component developers a friendly
230
+ * interface.
231
+ */
232
+ const vdomFnUtils = {
233
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
234
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
235
+ };
236
+ /**
237
+ * Convert a {@link d.VNode} to a {@link d.ChildNode} in order to present a
238
+ * friendlier public interface (hence, 'convertToPublic').
239
+ *
240
+ * @param node the virtual DOM node to convert
241
+ * @returns a converted child node
242
+ */
243
+ const convertToPublic = (node) => ({
244
+ vattrs: node.$attrs$,
245
+ vchildren: node.$children$,
246
+ vkey: node.$key$,
247
+ vname: node.$name$,
248
+ vtag: node.$tag$,
249
+ vtext: node.$text$,
250
+ });
251
+ /**
252
+ * Convert a {@link d.ChildNode} back to an equivalent {@link d.VNode} in
253
+ * order to use the resulting object in the virtual DOM. The initial object was
254
+ * likely created as part of presenting a public API, so converting it back
255
+ * involved making it 'private' again (hence, `convertToPrivate`).
256
+ *
257
+ * @param node the child node to convert
258
+ * @returns a converted virtual DOM node
259
+ */
260
+ const convertToPrivate = (node) => {
261
+ if (typeof node.vtag === 'function') {
262
+ const vnodeData = Object.assign({}, node.vattrs);
263
+ if (node.vkey) {
264
+ vnodeData.key = node.vkey;
265
+ }
266
+ if (node.vname) {
267
+ vnodeData.name = node.vname;
268
+ }
269
+ return h(node.vtag, vnodeData, ...(node.vchildren || []));
270
+ }
271
+ const vnode = newVNode(node.vtag, node.vtext);
272
+ vnode.$attrs$ = node.vattrs;
273
+ vnode.$children$ = node.vchildren;
274
+ vnode.$key$ = node.vkey;
275
+ vnode.$name$ = node.vname;
276
+ return vnode;
277
+ };
278
+ /**
279
+ * Parse a new property value for a given property type.
280
+ *
281
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
282
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
283
+ * 1. `any`, the type given to `propValue` in the function signature
284
+ * 2. the type stored from `propType`.
285
+ *
286
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
287
+ *
288
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
289
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
290
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
291
+ * ```tsx
292
+ * <my-cmp prop-val={0}></my-cmp>
293
+ * ```
294
+ *
295
+ * HTML prop values on the other hand, will always a string
296
+ *
297
+ * @param propValue the new value to coerce to some type
298
+ * @param propType the type of the prop, expressed as a binary number
299
+ * @returns the parsed/coerced value
300
+ */
301
+ const parsePropertyValue = (propValue, propType) => {
302
+ // ensure this value is of the correct prop type
303
+ if (propValue != null && !isComplexType(propValue)) {
304
+ if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
305
+ // per the HTML spec, any string value means it is a boolean true value
306
+ // but we'll cheat here and say that the string "false" is the boolean false
307
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
308
+ }
309
+ if (propType & 2 /* MEMBER_FLAGS.Number */) {
310
+ // force it to be a number
311
+ return parseFloat(propValue);
312
+ }
313
+ if (propType & 1 /* MEMBER_FLAGS.String */) {
314
+ // could have been passed as a number or boolean
315
+ // but we still want it as a string
316
+ return String(propValue);
317
+ }
318
+ // redundant return here for better minification
319
+ return propValue;
320
+ }
321
+ // not sure exactly what type we want
322
+ // so no need to change to a different type
323
+ return propValue;
324
+ };
325
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
326
+ const createEvent = (ref, name, flags) => {
327
+ const elm = getElement(ref);
328
+ return {
329
+ emit: (detail) => {
330
+ return emitEvent(elm, name, {
331
+ bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
332
+ composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
333
+ cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
334
+ detail,
335
+ });
336
+ },
337
+ };
338
+ };
339
+ /**
340
+ * Helper function to create & dispatch a custom Event on a provided target
341
+ * @param elm the target of the Event
342
+ * @param name the name to give the custom Event
343
+ * @param opts options for configuring a custom Event
344
+ * @returns the custom Event
345
+ */
346
+ const emitEvent = (elm, name, opts) => {
347
+ const ev = plt.ce(name, opts);
348
+ elm.dispatchEvent(ev);
349
+ return ev;
350
+ };
351
+ const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
352
+ const registerStyle = (scopeId, cssText, allowCS) => {
353
+ let style = styles.get(scopeId);
354
+ if (supportsConstructableStylesheets && allowCS) {
355
+ style = (style || new CSSStyleSheet());
356
+ if (typeof style === 'string') {
357
+ style = cssText;
358
+ }
359
+ else {
360
+ style.replaceSync(cssText);
361
+ }
362
+ }
363
+ else {
364
+ style = cssText;
365
+ }
366
+ styles.set(scopeId, style);
367
+ };
368
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
369
+ var _a;
370
+ const scopeId = getScopeId(cmpMeta);
371
+ const style = styles.get(scopeId);
372
+ // if an element is NOT connected then getRootNode() will return the wrong root node
373
+ // so the fallback is to always use the document for the root node in those cases
374
+ styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
375
+ if (style) {
376
+ if (typeof style === 'string') {
377
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
378
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
379
+ let styleElm;
380
+ if (!appliedStyles) {
381
+ rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
382
+ }
383
+ if (!appliedStyles.has(scopeId)) {
384
+ {
385
+ styleElm = doc.createElement('style');
386
+ styleElm.innerHTML = style;
387
+ // Apply CSP nonce to the style tag if it exists
388
+ const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
389
+ if (nonce != null) {
390
+ styleElm.setAttribute('nonce', nonce);
391
+ }
392
+ styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
393
+ }
394
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
395
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
396
+ styleElm.innerHTML += SLOT_FB_CSS;
397
+ }
398
+ if (appliedStyles) {
399
+ appliedStyles.add(scopeId);
400
+ }
401
+ }
402
+ }
403
+ else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
404
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
405
+ }
406
+ }
407
+ return scopeId;
408
+ };
409
+ const attachStyles = (hostRef) => {
410
+ const cmpMeta = hostRef.$cmpMeta$;
411
+ const elm = hostRef.$hostElement$;
412
+ const flags = cmpMeta.$flags$;
413
+ const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
414
+ const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
415
+ if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
416
+ // only required when we're NOT using native shadow dom (slot)
417
+ // or this browser doesn't support native shadow dom
418
+ // and this host element was NOT created with SSR
419
+ // let's pick out the inner content for slot projection
420
+ // create a node to represent where the original
421
+ // content was first placed, which is useful later on
422
+ // DOM WRITE!!
423
+ elm['s-sc'] = scopeId;
424
+ elm.classList.add(scopeId + '-h');
425
+ if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
426
+ elm.classList.add(scopeId + '-s');
427
+ }
428
+ }
429
+ endAttachStyles();
430
+ };
431
+ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
432
+ /**
433
+ * Production setAccessor() function based on Preact by
434
+ * Jason Miller (@developit)
435
+ * Licensed under the MIT License
436
+ * https://github.com/developit/preact/blob/master/LICENSE
437
+ *
438
+ * Modified for Stencil's compiler and vdom
439
+ */
440
+ /**
441
+ * When running a VDom render set properties present on a VDom node onto the
442
+ * corresponding HTML element.
443
+ *
444
+ * Note that this function has special functionality for the `class`,
445
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
446
+ * `onClick`, etc). All others are just passed through as-is.
447
+ *
448
+ * @param elm the HTMLElement onto which attributes should be set
449
+ * @param memberName the name of the attribute to set
450
+ * @param oldValue the old value for the attribute
451
+ * @param newValue the new value for the attribute
452
+ * @param isSvg whether we're in an svg context or not
453
+ * @param flags bitflags for Vdom variables
454
+ */
455
+ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
456
+ if (oldValue !== newValue) {
457
+ let isProp = isMemberInElement(elm, memberName);
458
+ let ln = memberName.toLowerCase();
459
+ if (memberName === 'class') {
460
+ const classList = elm.classList;
461
+ const oldClasses = parseClassList(oldValue);
462
+ const newClasses = parseClassList(newValue);
463
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
464
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
465
+ }
466
+ else if (memberName === 'style') {
467
+ // update style attribute, css properties and values
468
+ {
469
+ for (const prop in oldValue) {
470
+ if (!newValue || newValue[prop] == null) {
471
+ if (prop.includes('-')) {
472
+ elm.style.removeProperty(prop);
473
+ }
474
+ else {
475
+ elm.style[prop] = '';
476
+ }
477
+ }
478
+ }
479
+ }
480
+ for (const prop in newValue) {
481
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
482
+ if (prop.includes('-')) {
483
+ elm.style.setProperty(prop, newValue[prop]);
484
+ }
485
+ else {
486
+ elm.style[prop] = newValue[prop];
487
+ }
488
+ }
489
+ }
490
+ }
491
+ else if (memberName === 'key')
492
+ ;
493
+ else if (memberName === 'ref') {
494
+ // minifier will clean this up
495
+ if (newValue) {
496
+ newValue(elm);
497
+ }
498
+ }
499
+ else if ((!isProp ) &&
500
+ memberName[0] === 'o' &&
501
+ memberName[1] === 'n') {
502
+ // Event Handlers
503
+ // so if the member name starts with "on" and the 3rd characters is
504
+ // a capital letter, and it's not already a member on the element,
505
+ // then we're assuming it's an event listener
506
+ if (memberName[2] === '-') {
507
+ // on- prefixed events
508
+ // allows to be explicit about the dom event to listen without any magic
509
+ // under the hood:
510
+ // <my-cmp on-click> // listens for "click"
511
+ // <my-cmp on-Click> // listens for "Click"
512
+ // <my-cmp on-ionChange> // listens for "ionChange"
513
+ // <my-cmp on-EVENTS> // listens for "EVENTS"
514
+ memberName = memberName.slice(3);
515
+ }
516
+ else if (isMemberInElement(win, ln)) {
517
+ // standard event
518
+ // the JSX attribute could have been "onMouseOver" and the
519
+ // member name "onmouseover" is on the window's prototype
520
+ // so let's add the listener "mouseover", which is all lowercased
521
+ memberName = ln.slice(2);
522
+ }
523
+ else {
524
+ // custom event
525
+ // the JSX attribute could have been "onMyCustomEvent"
526
+ // so let's trim off the "on" prefix and lowercase the first character
527
+ // and add the listener "myCustomEvent"
528
+ // except for the first character, we keep the event name case
529
+ memberName = ln[2] + memberName.slice(3);
530
+ }
531
+ if (oldValue || newValue) {
532
+ // Need to account for "capture" events.
533
+ // If the event name ends with "Capture", we'll update the name to remove
534
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
535
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
536
+ // Make sure we only replace the last instance of "Capture"
537
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
538
+ if (oldValue) {
539
+ plt.rel(elm, memberName, oldValue, capture);
540
+ }
541
+ if (newValue) {
542
+ plt.ael(elm, memberName, newValue, capture);
543
+ }
544
+ }
545
+ }
546
+ else {
547
+ // Set property if it exists and it's not a SVG
548
+ const isComplex = isComplexType(newValue);
549
+ if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
550
+ try {
551
+ if (!elm.tagName.includes('-')) {
552
+ const n = newValue == null ? '' : newValue;
553
+ // Workaround for Safari, moving the <input> caret when re-assigning the same valued
554
+ if (memberName === 'list') {
555
+ isProp = false;
556
+ }
557
+ else if (oldValue == null || elm[memberName] != n) {
558
+ elm[memberName] = n;
559
+ }
560
+ }
561
+ else {
562
+ elm[memberName] = newValue;
563
+ }
564
+ }
565
+ catch (e) {
566
+ /**
567
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
568
+ */
569
+ }
570
+ }
571
+ /**
572
+ * Need to manually update attribute if:
573
+ * - memberName is not an attribute
574
+ * - if we are rendering the host element in order to reflect attribute
575
+ * - if it's a SVG, since properties might not work in <svg>
576
+ * - if the newValue is null/undefined or 'false'.
577
+ */
578
+ let xlink = false;
579
+ {
580
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ''))) {
581
+ memberName = ln;
582
+ xlink = true;
583
+ }
584
+ }
585
+ if (newValue == null || newValue === false) {
586
+ if (newValue !== false || elm.getAttribute(memberName) === '') {
587
+ if (xlink) {
588
+ elm.removeAttributeNS(XLINK_NS, memberName);
589
+ }
590
+ else {
591
+ elm.removeAttribute(memberName);
592
+ }
593
+ }
594
+ }
595
+ else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
596
+ newValue = newValue === true ? '' : newValue;
597
+ if (xlink) {
598
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
599
+ }
600
+ else {
601
+ elm.setAttribute(memberName, newValue);
602
+ }
603
+ }
604
+ }
605
+ }
606
+ };
607
+ const parseClassListRegex = /\s/;
608
+ /**
609
+ * Parsed a string of classnames into an array
610
+ * @param value className string, e.g. "foo bar baz"
611
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
612
+ */
613
+ const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
614
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
615
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
616
+ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
617
+ // if the element passed in is a shadow root, which is a document fragment
618
+ // then we want to be adding attrs/props to the shadow root's "host" element
619
+ // if it's not a shadow root, then we add attrs/props to the same element
620
+ const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
621
+ ? newVnode.$elm$.host
622
+ : newVnode.$elm$;
623
+ const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
624
+ const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
625
+ {
626
+ // remove attributes no longer present on the vnode by setting them to undefined
627
+ for (memberName in oldVnodeAttrs) {
628
+ if (!(memberName in newVnodeAttrs)) {
629
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
630
+ }
631
+ }
632
+ }
633
+ // add new & update changed attributes
634
+ for (memberName in newVnodeAttrs) {
635
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
636
+ }
637
+ };
638
+ /**
639
+ * Create a DOM Node corresponding to one of the children of a given VNode.
640
+ *
641
+ * @param oldParentVNode the parent VNode from the previous render
642
+ * @param newParentVNode the parent VNode from the current render
643
+ * @param childIndex the index of the VNode, in the _new_ parent node's
644
+ * children, for which we will create a new DOM node
645
+ * @param parentElm the parent DOM node which our new node will be a child of
646
+ * @returns the newly created node
647
+ */
648
+ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
649
+ var _a;
650
+ // tslint:disable-next-line: prefer-const
651
+ const newVNode = newParentVNode.$children$[childIndex];
652
+ let i = 0;
653
+ let elm;
654
+ let childNode;
655
+ let oldVNode;
656
+ if (!useNativeShadowDom) {
657
+ // remember for later we need to check to relocate nodes
658
+ checkSlotRelocate = true;
659
+ if (newVNode.$tag$ === 'slot') {
660
+ if (scopeId) {
661
+ // scoped css needs to add its scoped id to the parent element
662
+ parentElm.classList.add(scopeId + '-s');
663
+ }
664
+ newVNode.$flags$ |= newVNode.$children$
665
+ ? // slot element has fallback content
666
+ 2 /* VNODE_FLAGS.isSlotFallback */
667
+ : // slot element does not have fallback content
668
+ 1 /* VNODE_FLAGS.isSlotReference */;
669
+ }
670
+ }
671
+ if (newVNode.$text$ !== null) {
672
+ // create text node
673
+ elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
674
+ }
675
+ else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
676
+ // create a slot reference node
677
+ elm = newVNode.$elm$ =
678
+ doc.createTextNode('');
679
+ }
680
+ else {
681
+ if (!isSvgMode) {
682
+ isSvgMode = newVNode.$tag$ === 'svg';
683
+ }
684
+ // create element
685
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
686
+ ? 'slot-fb'
687
+ : newVNode.$tag$)
688
+ );
689
+ if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
690
+ isSvgMode = false;
691
+ }
692
+ // add css classes, attrs, props, listeners, etc.
693
+ {
694
+ updateElement(null, newVNode, isSvgMode);
695
+ }
696
+ if (isDef(scopeId) && elm['s-si'] !== scopeId) {
697
+ // if there is a scopeId and this is the initial render
698
+ // then let's add the scopeId as a css class
699
+ elm.classList.add((elm['s-si'] = scopeId));
700
+ }
701
+ if (newVNode.$children$) {
702
+ for (i = 0; i < newVNode.$children$.length; ++i) {
703
+ // create the node
704
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
705
+ // return node could have been null
706
+ if (childNode) {
707
+ // append our new node
708
+ elm.appendChild(childNode);
709
+ }
710
+ }
711
+ }
712
+ {
713
+ if (newVNode.$tag$ === 'svg') {
714
+ // Only reset the SVG context when we're exiting <svg> element
715
+ isSvgMode = false;
716
+ }
717
+ else if (elm.tagName === 'foreignObject') {
718
+ // Reenter SVG context when we're exiting <foreignObject> element
719
+ isSvgMode = true;
720
+ }
721
+ }
722
+ }
723
+ {
724
+ elm['s-hn'] = hostTagName;
725
+ if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
726
+ // remember the content reference comment
727
+ elm['s-sr'] = true;
728
+ // Persist the name of the slot that this slot was going to be projected into.
729
+ elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
730
+ // remember the content reference comment
731
+ elm['s-cr'] = contentRef;
732
+ // remember the slot name, or empty string for default slot
733
+ elm['s-sn'] = newVNode.$name$ || '';
734
+ // check if we've got an old vnode for this slot
735
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
736
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
737
+ // we've got an old slot vnode and the wrapper is being replaced
738
+ // so let's move the old slot content back to it's original location
739
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
740
+ }
741
+ }
742
+ }
743
+ return elm;
744
+ };
745
+ const putBackInOriginalLocation = (parentElm, recursive) => {
746
+ var _a;
747
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
748
+ const oldSlotChildNodes = parentElm.childNodes;
749
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
750
+ const childNode = oldSlotChildNodes[i];
751
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
752
+ // // this child node in the old element is from another component
753
+ // // remove this node from the old slot's parent
754
+ // childNode.remove();
755
+ // and relocate it back to it's original location
756
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
757
+ // remove the old original location comment entirely
758
+ // later on the patch function will know what to do
759
+ // and move this to the correct spot if need be
760
+ childNode['s-ol'].remove();
761
+ childNode['s-ol'] = undefined;
762
+ // Reset so we can correctly move the node around again.
763
+ childNode['s-sh'] = undefined;
764
+ // When putting an element node back in its original location,
765
+ // we need to reset the `slot` attribute back to the value it originally had
766
+ // so we can correctly relocate it again in the future
767
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
768
+ childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
769
+ }
770
+ checkSlotRelocate = true;
771
+ }
772
+ if (recursive) {
773
+ putBackInOriginalLocation(childNode, recursive);
774
+ }
775
+ }
776
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
777
+ };
778
+ /**
779
+ * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
780
+ * add them to the DOM in the appropriate place.
781
+ *
782
+ * @param parentElm the DOM node which should be used as a parent for the new
783
+ * DOM nodes
784
+ * @param before a child of the `parentElm` which the new children should be
785
+ * inserted before (optional)
786
+ * @param parentVNode the parent virtual DOM node
787
+ * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
788
+ * @param startIdx the index in the child virtual DOM nodes at which to start
789
+ * creating DOM nodes (inclusive)
790
+ * @param endIdx the index in the child virtual DOM nodes at which to stop
791
+ * creating DOM nodes (inclusive)
792
+ */
793
+ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
794
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
795
+ let childNode;
796
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
797
+ containerElm = containerElm.shadowRoot;
798
+ }
799
+ for (; startIdx <= endIdx; ++startIdx) {
800
+ if (vnodes[startIdx]) {
801
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
802
+ if (childNode) {
803
+ vnodes[startIdx].$elm$ = childNode;
804
+ containerElm.insertBefore(childNode, referenceNode(before) );
805
+ }
806
+ }
807
+ }
808
+ };
809
+ /**
810
+ * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
811
+ * This can be used to, for instance, clean up after a list of children which
812
+ * should no longer be shown.
813
+ *
814
+ * This function also handles some of Stencil's slot relocation logic.
815
+ *
816
+ * @param vnodes a list of virtual DOM nodes to remove
817
+ * @param startIdx the index at which to start removing nodes (inclusive)
818
+ * @param endIdx the index at which to stop removing nodes (inclusive)
819
+ */
820
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
821
+ for (let index = startIdx; index <= endIdx; ++index) {
822
+ const vnode = vnodes[index];
823
+ if (vnode) {
824
+ const elm = vnode.$elm$;
825
+ nullifyVNodeRefs(vnode);
826
+ if (elm) {
827
+ {
828
+ // we're removing this element
829
+ // so it's possible we need to show slot fallback content now
830
+ checkSlotFallbackVisibility = true;
831
+ if (elm['s-ol']) {
832
+ // remove the original location comment
833
+ elm['s-ol'].remove();
834
+ }
835
+ else {
836
+ // it's possible that child nodes of the node
837
+ // that's being removed are slot nodes
838
+ putBackInOriginalLocation(elm, true);
839
+ }
840
+ }
841
+ // remove the vnode's element from the dom
842
+ elm.remove();
843
+ }
844
+ }
845
+ }
846
+ };
847
+ /**
848
+ * Reconcile the children of a new VNode with the children of an old VNode by
849
+ * traversing the two collections of children, identifying nodes that are
850
+ * conserved or changed, calling out to `patch` to make any necessary
851
+ * updates to the DOM, and rearranging DOM nodes as needed.
852
+ *
853
+ * The algorithm for reconciling children works by analyzing two 'windows' onto
854
+ * the two arrays of children (`oldCh` and `newCh`). We keep track of the
855
+ * 'windows' by storing start and end indices and references to the
856
+ * corresponding array entries. Initially the two 'windows' are basically equal
857
+ * to the entire array, but we progressively narrow the windows until there are
858
+ * no children left to update by doing the following:
859
+ *
860
+ * 1. Skip any `null` entries at the beginning or end of the two arrays, so
861
+ * that if we have an initial array like the following we'll end up dealing
862
+ * only with a window bounded by the highlighted elements:
863
+ *
864
+ * [null, null, VNode1 , ... , VNode2, null, null]
865
+ * ^^^^^^ ^^^^^^
866
+ *
867
+ * 2. Check to see if the elements at the head and tail positions are equal
868
+ * across the windows. This will basically detect elements which haven't
869
+ * been added, removed, or changed position, i.e. if you had the following
870
+ * VNode elements (represented as HTML):
871
+ *
872
+ * oldVNode: `<div><p><span>HEY</span></p></div>`
873
+ * newVNode: `<div><p><span>THERE</span></p></div>`
874
+ *
875
+ * Then when comparing the children of the `<div>` tag we check the equality
876
+ * of the VNodes corresponding to the `<p>` tags and, since they are the
877
+ * same tag in the same position, we'd be able to avoid completely
878
+ * re-rendering the subtree under them with a new DOM element and would just
879
+ * call out to `patch` to handle reconciling their children and so on.
880
+ *
881
+ * 3. Check, for both windows, to see if the element at the beginning of the
882
+ * window corresponds to the element at the end of the other window. This is
883
+ * a heuristic which will let us identify _some_ situations in which
884
+ * elements have changed position, for instance it _should_ detect that the
885
+ * children nodes themselves have not changed but merely moved in the
886
+ * following example:
887
+ *
888
+ * oldVNode: `<div><element-one /><element-two /></div>`
889
+ * newVNode: `<div><element-two /><element-one /></div>`
890
+ *
891
+ * If we find cases like this then we also need to move the concrete DOM
892
+ * elements corresponding to the moved children to write the re-order to the
893
+ * DOM.
894
+ *
895
+ * 4. Finally, if VNodes have the `key` attribute set on them we check for any
896
+ * nodes in the old children which have the same key as the first element in
897
+ * our window on the new children. If we find such a node we handle calling
898
+ * out to `patch`, moving relevant DOM nodes, and so on, in accordance with
899
+ * what we find.
900
+ *
901
+ * Finally, once we've narrowed our 'windows' to the point that either of them
902
+ * collapse (i.e. they have length 0) we then handle any remaining VNode
903
+ * insertion or deletion that needs to happen to get a DOM state that correctly
904
+ * reflects the new child VNodes. If, for instance, after our window on the old
905
+ * children has collapsed we still have more nodes on the new children that
906
+ * we haven't dealt with yet then we need to add them, or if the new children
907
+ * collapse but we still have unhandled _old_ children then we need to make
908
+ * sure the corresponding DOM nodes are removed.
909
+ *
910
+ * @param parentElm the node into which the parent VNode is rendered
911
+ * @param oldCh the old children of the parent node
912
+ * @param newVNode the new VNode which will replace the parent
913
+ * @param newCh the new children of the parent node
914
+ */
915
+ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
916
+ let oldStartIdx = 0;
917
+ let newStartIdx = 0;
918
+ let idxInOld = 0;
919
+ let i = 0;
920
+ let oldEndIdx = oldCh.length - 1;
921
+ let oldStartVnode = oldCh[0];
922
+ let oldEndVnode = oldCh[oldEndIdx];
923
+ let newEndIdx = newCh.length - 1;
924
+ let newStartVnode = newCh[0];
925
+ let newEndVnode = newCh[newEndIdx];
926
+ let node;
927
+ let elmToMove;
928
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
929
+ if (oldStartVnode == null) {
930
+ // VNode might have been moved left
931
+ oldStartVnode = oldCh[++oldStartIdx];
932
+ }
933
+ else if (oldEndVnode == null) {
934
+ oldEndVnode = oldCh[--oldEndIdx];
935
+ }
936
+ else if (newStartVnode == null) {
937
+ newStartVnode = newCh[++newStartIdx];
938
+ }
939
+ else if (newEndVnode == null) {
940
+ newEndVnode = newCh[--newEndIdx];
941
+ }
942
+ else if (isSameVnode(oldStartVnode, newStartVnode)) {
943
+ // if the start nodes are the same then we should patch the new VNode
944
+ // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
945
+ // indices to reflect that. We don't need to move any DOM Nodes around
946
+ // since things are matched up in order.
947
+ patch(oldStartVnode, newStartVnode);
948
+ oldStartVnode = oldCh[++oldStartIdx];
949
+ newStartVnode = newCh[++newStartIdx];
950
+ }
951
+ else if (isSameVnode(oldEndVnode, newEndVnode)) {
952
+ // likewise, if the end nodes are the same we patch new onto old and
953
+ // decrement our end indices, and also likewise in this case we don't
954
+ // need to move any DOM Nodes.
955
+ patch(oldEndVnode, newEndVnode);
956
+ oldEndVnode = oldCh[--oldEndIdx];
957
+ newEndVnode = newCh[--newEndIdx];
958
+ }
959
+ else if (isSameVnode(oldStartVnode, newEndVnode)) {
960
+ // case: "Vnode moved right"
961
+ //
962
+ // We've found that the last node in our window on the new children is
963
+ // the same VNode as the _first_ node in our window on the old children
964
+ // we're dealing with now. Visually, this is the layout of these two
965
+ // nodes:
966
+ //
967
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
968
+ // ^^^^^^^^^^^
969
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
970
+ // ^^^^^^^^^^^^^
971
+ //
972
+ // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
973
+ // and move the DOM element for `oldStartVnode`.
974
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
975
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
976
+ }
977
+ patch(oldStartVnode, newEndVnode);
978
+ // We need to move the element for `oldStartVnode` into a position which
979
+ // will be appropriate for `newEndVnode`. For this we can use
980
+ // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
981
+ // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
982
+ // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
983
+ //
984
+ // <old-start-node />
985
+ // <some-intervening-node />
986
+ // <old-end-node />
987
+ // <!-- -> <-- `oldStartVnode.$elm$` should be inserted here
988
+ // <next-sibling />
989
+ //
990
+ // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
991
+ // the node for `oldStartVnode` at the end of the children of
992
+ // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
993
+ // aren't any siblings, and passing `null` to `Node.insertBefore` will
994
+ // append it to the children of the parent element.
995
+ parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
996
+ oldStartVnode = oldCh[++oldStartIdx];
997
+ newEndVnode = newCh[--newEndIdx];
998
+ }
999
+ else if (isSameVnode(oldEndVnode, newStartVnode)) {
1000
+ // case: "Vnode moved left"
1001
+ //
1002
+ // We've found that the first node in our window on the new children is
1003
+ // the same VNode as the _last_ node in our window on the old children.
1004
+ // Visually, this is the layout of these two nodes:
1005
+ //
1006
+ // newCh: [..., newStartVnode , ... , newEndVnode , ...]
1007
+ // ^^^^^^^^^^^^^
1008
+ // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
1009
+ // ^^^^^^^^^^^
1010
+ //
1011
+ // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
1012
+ // (which will handle updating any changed attributes, reconciling their
1013
+ // children etc) but we also need to move the DOM node to which
1014
+ // `oldEndVnode` corresponds.
1015
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
1016
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1017
+ }
1018
+ patch(oldEndVnode, newStartVnode);
1019
+ // We've already checked above if `oldStartVnode` and `newStartVnode` are
1020
+ // the same node, so since we're here we know that they are not. Thus we
1021
+ // can move the element for `oldEndVnode` _before_ the element for
1022
+ // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
1023
+ // future.
1024
+ parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
1025
+ oldEndVnode = oldCh[--oldEndIdx];
1026
+ newStartVnode = newCh[++newStartIdx];
1027
+ }
1028
+ else {
1029
+ // Here we do some checks to match up old and new nodes based on the
1030
+ // `$key$` attribute, which is set by putting a `key="my-key"` attribute
1031
+ // in the JSX for a DOM element in the implementation of a Stencil
1032
+ // component.
1033
+ //
1034
+ // First we check to see if there are any nodes in the array of old
1035
+ // children which have the same key as the first node in the new
1036
+ // children.
1037
+ idxInOld = -1;
1038
+ {
1039
+ for (i = oldStartIdx; i <= oldEndIdx; ++i) {
1040
+ if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) {
1041
+ idxInOld = i;
1042
+ break;
1043
+ }
1044
+ }
1045
+ }
1046
+ if (idxInOld >= 0) {
1047
+ // We found a node in the old children which matches up with the first
1048
+ // node in the new children! So let's deal with that
1049
+ elmToMove = oldCh[idxInOld];
1050
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1051
+ // the tag doesn't match so we'll need a new DOM element
1052
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
1053
+ }
1054
+ else {
1055
+ patch(elmToMove, newStartVnode);
1056
+ // invalidate the matching old node so that we won't try to update it
1057
+ // again later on
1058
+ oldCh[idxInOld] = undefined;
1059
+ node = elmToMove.$elm$;
1060
+ }
1061
+ newStartVnode = newCh[++newStartIdx];
1062
+ }
1063
+ else {
1064
+ // We either didn't find an element in the old children that matches
1065
+ // the key of the first new child OR the build is not using `key`
1066
+ // attributes at all. In either case we need to create a new element
1067
+ // for the new node.
1068
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
1069
+ newStartVnode = newCh[++newStartIdx];
1070
+ }
1071
+ if (node) {
1072
+ // if we created a new node then handle inserting it to the DOM
1073
+ {
1074
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
1075
+ }
1076
+ }
1077
+ }
1078
+ }
1079
+ if (oldStartIdx > oldEndIdx) {
1080
+ // we have some more new nodes to add which don't match up with old nodes
1081
+ addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
1082
+ }
1083
+ else if (newStartIdx > newEndIdx) {
1084
+ // there are nodes in the `oldCh` array which no longer correspond to nodes
1085
+ // in the new array, so lets remove them (which entails cleaning up the
1086
+ // relevant DOM nodes)
1087
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
1088
+ }
1089
+ };
1090
+ /**
1091
+ * Compare two VNodes to determine if they are the same
1092
+ *
1093
+ * **NB**: This function is an equality _heuristic_ based on the available
1094
+ * information set on the two VNodes and can be misleading under certain
1095
+ * circumstances. In particular, if the two nodes do not have `key` attrs
1096
+ * (available under `$key$` on VNodes) then the function falls back on merely
1097
+ * checking that they have the same tag.
1098
+ *
1099
+ * So, in other words, if `key` attrs are not set on VNodes which may be
1100
+ * changing order within a `children` array or something along those lines then
1101
+ * we could obtain a false negative and then have to do needless re-rendering
1102
+ * (i.e. we'd say two VNodes aren't equal when in fact they should be).
1103
+ *
1104
+ * @param leftVNode the first VNode to check
1105
+ * @param rightVNode the second VNode to check
1106
+ * @returns whether they're equal or not
1107
+ */
1108
+ const isSameVnode = (leftVNode, rightVNode) => {
1109
+ // compare if two vnode to see if they're "technically" the same
1110
+ // need to have the same element tag, and same key to be the same
1111
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1112
+ if (leftVNode.$tag$ === 'slot') {
1113
+ return leftVNode.$name$ === rightVNode.$name$;
1114
+ }
1115
+ // this will be set if components in the build have `key` attrs set on them
1116
+ {
1117
+ return leftVNode.$key$ === rightVNode.$key$;
1118
+ }
1119
+ }
1120
+ return false;
1121
+ };
1122
+ const referenceNode = (node) => {
1123
+ // this node was relocated to a new location in the dom
1124
+ // because of some other component's slot
1125
+ // but we still have an html comment in place of where
1126
+ // it's original location was according to it's original vdom
1127
+ return (node && node['s-ol']) || node;
1128
+ };
1129
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
1130
+ /**
1131
+ * Handle reconciling an outdated VNode with a new one which corresponds to
1132
+ * it. This function handles flushing updates to the DOM and reconciling the
1133
+ * children of the two nodes (if any).
1134
+ *
1135
+ * @param oldVNode an old VNode whose DOM element and children we want to update
1136
+ * @param newVNode a new VNode representing an updated version of the old one
1137
+ */
1138
+ const patch = (oldVNode, newVNode) => {
1139
+ const elm = (newVNode.$elm$ = oldVNode.$elm$);
1140
+ const oldChildren = oldVNode.$children$;
1141
+ const newChildren = newVNode.$children$;
1142
+ const tag = newVNode.$tag$;
1143
+ const text = newVNode.$text$;
1144
+ let defaultHolder;
1145
+ if (text === null) {
1146
+ {
1147
+ // test if we're rendering an svg element, or still rendering nodes inside of one
1148
+ // only add this to the when the compiler sees we're using an svg somewhere
1149
+ isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
1150
+ }
1151
+ {
1152
+ if (tag === 'slot')
1153
+ ;
1154
+ else {
1155
+ // either this is the first render of an element OR it's an update
1156
+ // AND we already know it's possible it could have changed
1157
+ // this updates the element's css classes, attrs, props, listeners, etc.
1158
+ updateElement(oldVNode, newVNode, isSvgMode);
1159
+ }
1160
+ }
1161
+ if (oldChildren !== null && newChildren !== null) {
1162
+ // looks like there's child vnodes for both the old and new vnodes
1163
+ // so we need to call `updateChildren` to reconcile them
1164
+ updateChildren(elm, oldChildren, newVNode, newChildren);
1165
+ }
1166
+ else if (newChildren !== null) {
1167
+ // no old child vnodes, but there are new child vnodes to add
1168
+ if (oldVNode.$text$ !== null) {
1169
+ // the old vnode was text, so be sure to clear it out
1170
+ elm.textContent = '';
1171
+ }
1172
+ // add the new vnode children
1173
+ addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
1174
+ }
1175
+ else if (oldChildren !== null) {
1176
+ // no new child vnodes, but there are old child vnodes to remove
1177
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
1178
+ }
1179
+ if (isSvgMode && tag === 'svg') {
1180
+ isSvgMode = false;
1181
+ }
1182
+ }
1183
+ else if ((defaultHolder = elm['s-cr'])) {
1184
+ // this element has slotted content
1185
+ defaultHolder.parentNode.textContent = text;
1186
+ }
1187
+ else if (oldVNode.$text$ !== text) {
1188
+ // update the text content for the text only vnode
1189
+ // and also only if the text is different than before
1190
+ elm.data = text;
1191
+ }
1192
+ };
1193
+ /**
1194
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
1195
+ * are slot fallbacks nodes.
1196
+ *
1197
+ * A slot fallback node should be visible by default. Then, it should be
1198
+ * conditionally hidden if:
1199
+ *
1200
+ * - it has a sibling with a `slot` property set to its slot name or if
1201
+ * - it is a default fallback slot node, in which case we hide if it has any
1202
+ * content
1203
+ *
1204
+ * @param elm the element of interest
1205
+ */
1206
+ const updateFallbackSlotVisibility = (elm) => {
1207
+ const childNodes = elm.childNodes;
1208
+ for (const childNode of childNodes) {
1209
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1210
+ if (childNode['s-sr']) {
1211
+ // this is a slot fallback node
1212
+ // get the slot name for this slot reference node
1213
+ const slotName = childNode['s-sn'];
1214
+ // by default always show a fallback slot node
1215
+ // then hide it if there are other slots in the light dom
1216
+ childNode.hidden = false;
1217
+ // we need to check all of its sibling nodes in order to see if
1218
+ // `childNode` should be hidden
1219
+ for (const siblingNode of childNodes) {
1220
+ // Don't check the node against itself
1221
+ if (siblingNode !== childNode) {
1222
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
1223
+ // this sibling node is from a different component OR is a named
1224
+ // fallback slot node
1225
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1226
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
1227
+ childNode.hidden = true;
1228
+ break;
1229
+ }
1230
+ }
1231
+ else {
1232
+ // this is a default fallback slot node
1233
+ // any element or text node (with content)
1234
+ // should hide the default fallback slot node
1235
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1236
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
1237
+ childNode.hidden = true;
1238
+ break;
1239
+ }
1240
+ }
1241
+ }
1242
+ }
1243
+ }
1244
+ // keep drilling down
1245
+ updateFallbackSlotVisibility(childNode);
1246
+ }
1247
+ }
1248
+ };
1249
+ /**
1250
+ * Component-global information about nodes which are either currently being
1251
+ * relocated or will be shortly.
1252
+ */
1253
+ const relocateNodes = [];
1254
+ /**
1255
+ * Mark the contents of a slot for relocation via adding references to them to
1256
+ * the {@link relocateNodes} data structure. The actual work of relocating them
1257
+ * will then be handled in {@link renderVdom}.
1258
+ *
1259
+ * @param elm a render node whose child nodes need to be relocated
1260
+ */
1261
+ const markSlotContentForRelocation = (elm) => {
1262
+ // tslint:disable-next-line: prefer-const
1263
+ let node;
1264
+ let hostContentNodes;
1265
+ let j;
1266
+ for (const childNode of elm.childNodes) {
1267
+ // we need to find child nodes which are slot references so we can then try
1268
+ // to match them up with nodes that need to be relocated
1269
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1270
+ // first get the content reference comment node ('s-cr'), then we get
1271
+ // its parent, which is where all the host content is now
1272
+ hostContentNodes = node.parentNode.childNodes;
1273
+ const slotName = childNode['s-sn'];
1274
+ // iterate through all the nodes under the location where the host was
1275
+ // originally rendered
1276
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1277
+ node = hostContentNodes[j];
1278
+ // check that the node is not a content reference node or a node
1279
+ // reference and then check that the host name does not match that of
1280
+ // childNode.
1281
+ // In addition, check that the slot either has not already been relocated, or
1282
+ // that its current location's host is not childNode's host. This is essentially
1283
+ // a check so that we don't try to relocate (and then hide) a node that is already
1284
+ // where it should be.
1285
+ if (!node['s-cn'] &&
1286
+ !node['s-nr'] &&
1287
+ node['s-hn'] !== childNode['s-hn'] &&
1288
+ (!BUILD.experimentalSlotFixes )) {
1289
+ // if `node` is located in the slot that `childNode` refers to (via the
1290
+ // `'s-sn'` property) then we need to relocate it from it's current spot
1291
+ // (under the host element parent) to the right slot location
1292
+ if (isNodeLocatedInSlot(node, slotName)) {
1293
+ // it's possible we've already decided to relocate this node
1294
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1295
+ // made some changes to slots
1296
+ // let's make sure we also double check
1297
+ // fallbacks are correctly hidden or shown
1298
+ checkSlotFallbackVisibility = true;
1299
+ // ensure that the slot-name attr is correct
1300
+ node['s-sn'] = node['s-sn'] || slotName;
1301
+ if (relocateNodeData) {
1302
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
1303
+ // we marked this node for relocation previously but didn't find
1304
+ // out the slot reference node to which it needs to be relocated
1305
+ // so write it down now!
1306
+ relocateNodeData.$slotRefNode$ = childNode;
1307
+ }
1308
+ else {
1309
+ node['s-sh'] = childNode['s-hn'];
1310
+ // add to our list of nodes to relocate
1311
+ relocateNodes.push({
1312
+ $slotRefNode$: childNode,
1313
+ $nodeToRelocate$: node,
1314
+ });
1315
+ }
1316
+ if (node['s-sr']) {
1317
+ relocateNodes.map((relocateNode) => {
1318
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1319
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1320
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1321
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1322
+ }
1323
+ }
1324
+ });
1325
+ }
1326
+ }
1327
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1328
+ // the node is not found within the slot (`childNode`) that we're
1329
+ // currently looking at, so we stick it into `relocateNodes` to
1330
+ // handle later. If we never find a home for this element then
1331
+ // we'll need to hide it
1332
+ relocateNodes.push({
1333
+ $nodeToRelocate$: node,
1334
+ });
1335
+ }
1336
+ }
1337
+ }
1338
+ }
1339
+ // if we're dealing with any type of element (capable of itself being a
1340
+ // slot reference or containing one) then we recur
1341
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1342
+ markSlotContentForRelocation(childNode);
1343
+ }
1344
+ }
1345
+ };
1346
+ /**
1347
+ * Check whether a node is located in a given named slot.
1348
+ *
1349
+ * @param nodeToRelocate the node of interest
1350
+ * @param slotName the slot name to check
1351
+ * @returns whether the node is located in the slot or not
1352
+ */
1353
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1354
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1355
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1356
+ // if the node doesn't have a slot attribute, and the slot we're checking
1357
+ // is not a named slot, then we assume the node should be within the slot
1358
+ return true;
1359
+ }
1360
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1361
+ return true;
1362
+ }
1363
+ return false;
1364
+ }
1365
+ if (nodeToRelocate['s-sn'] === slotName) {
1366
+ return true;
1367
+ }
1368
+ return slotName === '';
1369
+ };
1370
+ /**
1371
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1372
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1373
+ * node has been removed from the DOM.
1374
+ *
1375
+ * @param vNode a virtual DOM node
1376
+ */
1377
+ const nullifyVNodeRefs = (vNode) => {
1378
+ {
1379
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1380
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1381
+ }
1382
+ };
1383
+ /**
1384
+ * The main entry point for Stencil's virtual DOM-based rendering engine
1385
+ *
1386
+ * Given a {@link d.HostRef} container and some virtual DOM nodes, this
1387
+ * function will handle creating a virtual DOM tree with a single root, patching
1388
+ * the current virtual DOM tree onto an old one (if any), dealing with slot
1389
+ * relocation, and reflecting attributes.
1390
+ *
1391
+ * @param hostRef data needed to root and render the virtual DOM tree, such as
1392
+ * the DOM node into which it should be rendered.
1393
+ * @param renderFnResults the virtual DOM nodes to be rendered
1394
+ * @param isInitialLoad whether or not this is the first call after page load
1395
+ */
1396
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1397
+ var _a, _b;
1398
+ const hostElm = hostRef.$hostElement$;
1399
+ const cmpMeta = hostRef.$cmpMeta$;
1400
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1401
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1402
+ // we need to call `h` again to wrap the children of our component in a
1403
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1404
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1405
+ // contains attrs that need to be set on the host element.
1406
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1407
+ hostTagName = hostElm.tagName;
1408
+ if (cmpMeta.$attrsToReflect$) {
1409
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1410
+ cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1411
+ }
1412
+ // On the first render and *only* on the first render we want to check for
1413
+ // any attributes set on the host element which are also set on the vdom
1414
+ // node. If we find them, we override the value on the VDom node attrs with
1415
+ // the value from the host element, which allows developers building apps
1416
+ // with Stencil components to override e.g. the `role` attribute on a
1417
+ // component even if it's already set on the `Host`.
1418
+ if (isInitialLoad && rootVnode.$attrs$) {
1419
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1420
+ // We have a special implementation in `setAccessor` for `style` and
1421
+ // `class` which reconciles values coming from the VDom with values
1422
+ // already present on the DOM element, so we don't want to override those
1423
+ // attributes on the VDom tree with values from the host element if they
1424
+ // are present.
1425
+ //
1426
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1427
+ // runtime and we don't want to override those either.
1428
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1429
+ rootVnode.$attrs$[key] = hostElm[key];
1430
+ }
1431
+ }
1432
+ }
1433
+ rootVnode.$tag$ = null;
1434
+ rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1435
+ hostRef.$vnode$ = rootVnode;
1436
+ rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
1437
+ {
1438
+ scopeId = hostElm['s-sc'];
1439
+ }
1440
+ {
1441
+ contentRef = hostElm['s-cr'];
1442
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1443
+ // always reset
1444
+ checkSlotFallbackVisibility = false;
1445
+ }
1446
+ // synchronous patch
1447
+ patch(oldVNode, rootVnode);
1448
+ {
1449
+ // while we're moving nodes around existing nodes, temporarily disable
1450
+ // the disconnectCallback from working
1451
+ plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1452
+ if (checkSlotRelocate) {
1453
+ markSlotContentForRelocation(rootVnode.$elm$);
1454
+ for (const relocateData of relocateNodes) {
1455
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1456
+ if (!nodeToRelocate['s-ol']) {
1457
+ // add a reference node marking this node's original location
1458
+ // keep a reference to this node for later lookups
1459
+ const orgLocationNode = doc.createTextNode('');
1460
+ orgLocationNode['s-nr'] = nodeToRelocate;
1461
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1462
+ }
1463
+ }
1464
+ for (const relocateData of relocateNodes) {
1465
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1466
+ const slotRefNode = relocateData.$slotRefNode$;
1467
+ if (slotRefNode) {
1468
+ const parentNodeRef = slotRefNode.parentNode;
1469
+ // When determining where to insert content, the most simple case would be
1470
+ // to relocate the node immediately following the slot reference node. We do this
1471
+ // by getting a reference to the node immediately following the slot reference node
1472
+ // since we will use `insertBefore` to manipulate the DOM.
1473
+ //
1474
+ // If there is no node immediately following the slot reference node, then we will just
1475
+ // end up appending the node as the last child of the parent.
1476
+ let insertBeforeNode = slotRefNode.nextSibling;
1477
+ // If the node we're currently planning on inserting the new node before is an element,
1478
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1479
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1480
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1481
+ //
1482
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1483
+ {
1484
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1485
+ while (orgLocationNode) {
1486
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1487
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1488
+ refNode = refNode.nextSibling;
1489
+ if (!refNode || !refNode['s-nr']) {
1490
+ insertBeforeNode = refNode;
1491
+ break;
1492
+ }
1493
+ }
1494
+ orgLocationNode = orgLocationNode.previousSibling;
1495
+ }
1496
+ }
1497
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1498
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1499
+ // we've checked that it's worth while to relocate
1500
+ // since that the node to relocate
1501
+ // has a different next sibling or parent relocated
1502
+ if (nodeToRelocate !== insertBeforeNode) {
1503
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1504
+ // probably a component in the index.html that doesn't have its hostname set
1505
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1506
+ }
1507
+ // Add it back to the dom but in its new home
1508
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1509
+ // we're just going to append the node as the last child of the parent. Passing
1510
+ // `null` as the second arg here will trigger that behavior.
1511
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1512
+ }
1513
+ }
1514
+ }
1515
+ else {
1516
+ // this node doesn't have a slot home to go to, so let's hide it
1517
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1518
+ nodeToRelocate.hidden = true;
1519
+ }
1520
+ }
1521
+ }
1522
+ }
1523
+ if (checkSlotFallbackVisibility) {
1524
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1525
+ }
1526
+ // done moving nodes around
1527
+ // allow the disconnect callback to work again
1528
+ plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1529
+ // always reset
1530
+ relocateNodes.length = 0;
1531
+ }
1532
+ };
1533
+ const attachToAncestor = (hostRef, ancestorComponent) => {
1534
+ if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
1535
+ ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
1536
+ }
1537
+ };
1538
+ const scheduleUpdate = (hostRef, isInitialLoad) => {
1539
+ {
1540
+ hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
1541
+ }
1542
+ if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
1543
+ hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
1544
+ return;
1545
+ }
1546
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$);
1547
+ // there is no ancestor component or the ancestor component
1548
+ // has already fired off its lifecycle update then
1549
+ // fire off the initial update
1550
+ const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1551
+ return writeTask(dispatch) ;
1552
+ };
1553
+ /**
1554
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1555
+ * component lifecycle methods like `componentWillLoad` as well as
1556
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1557
+ *
1558
+ * @param hostRef a reference to a host DOM node
1559
+ * @param isInitialLoad whether we're on the initial load or not
1560
+ * @returns an empty Promise which is used to enqueue a series of operations for
1561
+ * the component
1562
+ */
1563
+ const dispatchHooks = (hostRef, isInitialLoad) => {
1564
+ const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1565
+ const instance = hostRef.$lazyInstance$ ;
1566
+ // We're going to use this variable together with `enqueue` to implement a
1567
+ // little promise-based queue. We start out with it `undefined`. When we add
1568
+ // the first function to the queue we'll set this variable to be that
1569
+ // function's return value. When we attempt to add subsequent values to the
1570
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1571
+ // the new function off of that `Promise` using `.then()`. This will give our
1572
+ // queue two nice properties:
1573
+ //
1574
+ // 1. If all functions added to the queue are synchronous they'll be called
1575
+ // synchronously right away.
1576
+ // 2. If all functions added to the queue are asynchronous they'll all be
1577
+ // called in order after `dispatchHooks` exits.
1578
+ let maybePromise;
1579
+ if (isInitialLoad) {
1580
+ {
1581
+ hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1582
+ if (hostRef.$queuedListeners$) {
1583
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1584
+ hostRef.$queuedListeners$ = undefined;
1585
+ }
1586
+ }
1587
+ {
1588
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1589
+ // whatever's going on in that `Promise` before we launch into
1590
+ // rendering the component, doing other lifecycle stuff, etc. So
1591
+ // in that case we assign the returned promise to the variable we
1592
+ // declared above to hold a possible 'queueing' Promise
1593
+ maybePromise = safeCall(instance, 'componentWillLoad');
1594
+ }
1595
+ }
1596
+ else {
1597
+ {
1598
+ // Like `componentWillLoad` above, we allow Stencil component
1599
+ // authors to return a `Promise` from this lifecycle callback, and
1600
+ // we specify that our runtime will wait for that `Promise` to
1601
+ // resolve before the component re-renders. So if the method
1602
+ // returns a `Promise` we need to keep it around!
1603
+ maybePromise = safeCall(instance, 'componentWillUpdate');
1604
+ }
1605
+ }
1606
+ {
1607
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, 'componentWillRender'));
1608
+ }
1609
+ endSchedule();
1610
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1611
+ };
1612
+ /**
1613
+ * This function uses a Promise to implement a simple first-in, first-out queue
1614
+ * of functions to be called.
1615
+ *
1616
+ * The queue is ordered on the basis of the first argument. If it's
1617
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1618
+ * be called synchronously (although note that this function may return a
1619
+ * `Promise`). The idea is that then the return value of that enqueueing
1620
+ * operation is kept around, so that if it was a `Promise` then subsequent
1621
+ * functions can be enqueued by calling this function again with that `Promise`
1622
+ * as the first argument.
1623
+ *
1624
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1625
+ * @param fn a function to enqueue
1626
+ * @returns either a `Promise` or the return value of the provided function
1627
+ */
1628
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1629
+ /**
1630
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1631
+ * instance of the `Promise` global. In a few circumstances, in particular if
1632
+ * the global has been overwritten, this is could be misleading, so we also do
1633
+ * a little 'duck typing' check to see if the `.then` property of the value is
1634
+ * defined and a function.
1635
+ *
1636
+ * @param maybePromise it might be a promise!
1637
+ * @returns whether it is or not
1638
+ */
1639
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1640
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1641
+ /**
1642
+ * Update a component given reference to its host elements and so on.
1643
+ *
1644
+ * @param hostRef an object containing references to the element's host node,
1645
+ * VDom nodes, and other metadata
1646
+ * @param instance a reference to the underlying host element where it will be
1647
+ * rendered
1648
+ * @param isInitialLoad whether or not this function is being called as part of
1649
+ * the first render cycle
1650
+ */
1651
+ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1652
+ var _a;
1653
+ const elm = hostRef.$hostElement$;
1654
+ const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1655
+ const rc = elm['s-rc'];
1656
+ if (isInitialLoad) {
1657
+ // DOM WRITE!
1658
+ attachStyles(hostRef);
1659
+ }
1660
+ const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1661
+ {
1662
+ callRender(hostRef, instance, elm, isInitialLoad);
1663
+ }
1664
+ if (rc) {
1665
+ // ok, so turns out there are some child host elements
1666
+ // waiting on this parent element to load
1667
+ // let's fire off all update callbacks waiting
1668
+ rc.map((cb) => cb());
1669
+ elm['s-rc'] = undefined;
1670
+ }
1671
+ endRender();
1672
+ endUpdate();
1673
+ {
1674
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1675
+ const postUpdate = () => postUpdateComponent(hostRef);
1676
+ if (childrenPromises.length === 0) {
1677
+ postUpdate();
1678
+ }
1679
+ else {
1680
+ Promise.all(childrenPromises).then(postUpdate);
1681
+ hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
1682
+ childrenPromises.length = 0;
1683
+ }
1684
+ }
1685
+ };
1686
+ /**
1687
+ * Handle making the call to the VDom renderer with the proper context given
1688
+ * various build variables
1689
+ *
1690
+ * @param hostRef an object containing references to the element's host node,
1691
+ * VDom nodes, and other metadata
1692
+ * @param instance a reference to the underlying host element where it will be
1693
+ * rendered
1694
+ * @param elm the Host element for the component
1695
+ * @param isInitialLoad whether or not this function is being called as part of
1696
+ * @returns an empty promise
1697
+ */
1698
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1699
+ try {
1700
+ renderingRef = instance;
1701
+ /**
1702
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1703
+ * method, so we can call the method immediately. If not, check before calling it.
1704
+ */
1705
+ instance = instance.render() ;
1706
+ {
1707
+ hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
1708
+ }
1709
+ {
1710
+ hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
1711
+ }
1712
+ {
1713
+ {
1714
+ // looks like we've got child nodes to render into this host element
1715
+ // or we need to update the css class/attrs on the host element
1716
+ // DOM WRITE!
1717
+ {
1718
+ renderVdom(hostRef, instance, isInitialLoad);
1719
+ }
1720
+ }
1721
+ }
1722
+ }
1723
+ catch (e) {
1724
+ consoleError(e, hostRef.$hostElement$);
1725
+ }
1726
+ renderingRef = null;
1727
+ return null;
1728
+ };
1729
+ const getRenderingRef = () => renderingRef;
1730
+ const postUpdateComponent = (hostRef) => {
1731
+ const tagName = hostRef.$cmpMeta$.$tagName$;
1732
+ const elm = hostRef.$hostElement$;
1733
+ const endPostUpdate = createTime('postUpdate', tagName);
1734
+ const instance = hostRef.$lazyInstance$ ;
1735
+ const ancestorComponent = hostRef.$ancestorComponent$;
1736
+ {
1737
+ safeCall(instance, 'componentDidRender');
1738
+ }
1739
+ if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
1740
+ hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
1741
+ {
1742
+ // DOM WRITE!
1743
+ addHydratedFlag(elm);
1744
+ }
1745
+ {
1746
+ safeCall(instance, 'componentDidLoad');
1747
+ }
1748
+ endPostUpdate();
1749
+ {
1750
+ hostRef.$onReadyResolve$(elm);
1751
+ if (!ancestorComponent) {
1752
+ appDidLoad();
1753
+ }
1754
+ }
1755
+ }
1756
+ else {
1757
+ {
1758
+ safeCall(instance, 'componentDidUpdate');
1759
+ }
1760
+ endPostUpdate();
1761
+ }
1762
+ {
1763
+ hostRef.$onInstanceResolve$(elm);
1764
+ }
1765
+ // load events fire from bottom to top
1766
+ // the deepest elements load first then bubbles up
1767
+ {
1768
+ if (hostRef.$onRenderResolve$) {
1769
+ hostRef.$onRenderResolve$();
1770
+ hostRef.$onRenderResolve$ = undefined;
1771
+ }
1772
+ if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
1773
+ nextTick(() => scheduleUpdate(hostRef, false));
1774
+ }
1775
+ hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
1776
+ }
1777
+ // ( •_•)
1778
+ // ( •_•)>⌐■-■
1779
+ // (⌐■_■)
1780
+ };
1781
+ const forceUpdate = (ref) => {
1782
+ {
1783
+ const hostRef = getHostRef(ref);
1784
+ const isConnected = hostRef.$hostElement$.isConnected;
1785
+ if (isConnected &&
1786
+ (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1787
+ scheduleUpdate(hostRef, false);
1788
+ }
1789
+ // Returns "true" when the forced update was successfully scheduled
1790
+ return isConnected;
1791
+ }
1792
+ };
1793
+ const appDidLoad = (who) => {
1794
+ // on appload
1795
+ // we have finish the first big initial render
1796
+ {
1797
+ addHydratedFlag(doc.documentElement);
1798
+ }
1799
+ nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1800
+ };
1801
+ /**
1802
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1803
+ * e.g. custom element node. If a build figures out that e.g. no component
1804
+ * has a `componentDidLoad` method, the instance method gets removed from the
1805
+ * output bundle and this function returns `undefined`.
1806
+ * @param instance any object that may or may not contain methods
1807
+ * @param method method name
1808
+ * @param arg single arbitrary argument
1809
+ * @returns result of method call if it exists, otherwise `undefined`
1810
+ */
1811
+ const safeCall = (instance, method, arg) => {
1812
+ if (instance && instance[method]) {
1813
+ try {
1814
+ return instance[method](arg);
1815
+ }
1816
+ catch (e) {
1817
+ consoleError(e);
1818
+ }
1819
+ }
1820
+ return undefined;
1821
+ };
1822
+ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1823
+ ;
1824
+ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1825
+ const setValue = (ref, propName, newVal, cmpMeta) => {
1826
+ // check our new property value against our internal value
1827
+ const hostRef = getHostRef(ref);
1828
+ const elm = hostRef.$hostElement$ ;
1829
+ const oldVal = hostRef.$instanceValues$.get(propName);
1830
+ const flags = hostRef.$flags$;
1831
+ const instance = hostRef.$lazyInstance$ ;
1832
+ newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
1833
+ // explicitly check for NaN on both sides, as `NaN === NaN` is always false
1834
+ const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1835
+ const didValueChange = newVal !== oldVal && !areBothNaN;
1836
+ if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
1837
+ // gadzooks! the property's value has changed!!
1838
+ // set our new value!
1839
+ hostRef.$instanceValues$.set(propName, newVal);
1840
+ if (instance) {
1841
+ // get an array of method names of watch functions to call
1842
+ if (cmpMeta.$watchers$ && flags & 128 /* HOST_FLAGS.isWatchReady */) {
1843
+ const watchMethods = cmpMeta.$watchers$[propName];
1844
+ if (watchMethods) {
1845
+ // this instance is watching for when this property changed
1846
+ watchMethods.map((watchMethodName) => {
1847
+ try {
1848
+ // fire off each of the watch methods that are watching this property
1849
+ instance[watchMethodName](newVal, oldVal, propName);
1850
+ }
1851
+ catch (e) {
1852
+ consoleError(e, elm);
1853
+ }
1854
+ });
1855
+ }
1856
+ }
1857
+ if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1858
+ if (instance.componentShouldUpdate) {
1859
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1860
+ return;
1861
+ }
1862
+ }
1863
+ // looks like this value actually changed, so we've got work to do!
1864
+ // but only if we've already rendered, otherwise just chill out
1865
+ // queue that we need to do an update, but don't worry about queuing
1866
+ // up millions cuz this function ensures it only runs once
1867
+ scheduleUpdate(hostRef, false);
1868
+ }
1869
+ }
1870
+ }
1871
+ };
1872
+ /**
1873
+ * Attach a series of runtime constructs to a compiled Stencil component
1874
+ * constructor, including getters and setters for the `@Prop` and `@State`
1875
+ * decorators, callbacks for when attributes change, and so on.
1876
+ *
1877
+ * @param Cstr the constructor for a component that we need to process
1878
+ * @param cmpMeta metadata collected previously about the component
1879
+ * @param flags a number used to store a series of bit flags
1880
+ * @returns a reference to the same constructor passed in (but now mutated)
1881
+ */
1882
+ const proxyComponent = (Cstr, cmpMeta, flags) => {
1883
+ var _a;
1884
+ const prototype = Cstr.prototype;
1885
+ if (cmpMeta.$members$) {
1886
+ if (Cstr.watchers) {
1887
+ cmpMeta.$watchers$ = Cstr.watchers;
1888
+ }
1889
+ // It's better to have a const than two Object.entries()
1890
+ const members = Object.entries(cmpMeta.$members$);
1891
+ members.map(([memberName, [memberFlags]]) => {
1892
+ if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1893
+ ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
1894
+ // proxyComponent - prop
1895
+ Object.defineProperty(prototype, memberName, {
1896
+ get() {
1897
+ // proxyComponent, get value
1898
+ return getValue(this, memberName);
1899
+ },
1900
+ set(newValue) {
1901
+ // proxyComponent, set value
1902
+ setValue(this, memberName, newValue, cmpMeta);
1903
+ },
1904
+ configurable: true,
1905
+ enumerable: true,
1906
+ });
1907
+ }
1908
+ else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
1909
+ memberFlags & 64 /* MEMBER_FLAGS.Method */) {
1910
+ // proxyComponent - method
1911
+ Object.defineProperty(prototype, memberName, {
1912
+ value(...args) {
1913
+ var _a;
1914
+ const ref = getHostRef(this);
1915
+ return (_a = ref === null || ref === void 0 ? void 0 : ref.$onInstancePromise$) === null || _a === void 0 ? void 0 : _a.then(() => { var _a; return (_a = ref.$lazyInstance$) === null || _a === void 0 ? void 0 : _a[memberName](...args); });
1916
+ },
1917
+ });
1918
+ }
1919
+ });
1920
+ if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1921
+ const attrNameToPropName = new Map();
1922
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1923
+ plt.jmp(() => {
1924
+ var _a;
1925
+ const propName = attrNameToPropName.get(attrName);
1926
+ // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1927
+ // in the case where an attribute was set inline.
1928
+ // ```html
1929
+ // <my-component some-attribute="some-value"></my-component>
1930
+ // ```
1931
+ //
1932
+ // There is an edge case where a developer sets the attribute inline on a custom element and then
1933
+ // programmatically changes it before it has been upgraded as shown below:
1934
+ //
1935
+ // ```html
1936
+ // <!-- this component has _not_ been upgraded yet -->
1937
+ // <my-component id="test" some-attribute="some-value"></my-component>
1938
+ // <script>
1939
+ // // grab non-upgraded component
1940
+ // el = document.querySelector("#test");
1941
+ // el.someAttribute = "another-value";
1942
+ // // upgrade component
1943
+ // customElements.define('my-component', MyComponent);
1944
+ // </script>
1945
+ // ```
1946
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1947
+ // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1948
+ // to the value that was set inline i.e. "some-value" from above example. When
1949
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1950
+ //
1951
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1952
+ // by connectedCallback as this attributeChangedCallback will not fire.
1953
+ //
1954
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
1955
+ //
1956
+ // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
1957
+ // properties here given that this goes against best practices outlined here
1958
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
1959
+ if (this.hasOwnProperty(propName)) {
1960
+ newValue = this[propName];
1961
+ delete this[propName];
1962
+ }
1963
+ else if (prototype.hasOwnProperty(propName) &&
1964
+ typeof this[propName] === 'number' &&
1965
+ this[propName] == newValue) {
1966
+ // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
1967
+ // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
1968
+ // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1969
+ return;
1970
+ }
1971
+ else if (propName == null) {
1972
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1973
+ // on a vanilla web component
1974
+ const hostRef = getHostRef(this);
1975
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1976
+ // We only want to trigger the callback(s) if:
1977
+ // 1. The instance is ready
1978
+ // 2. The watchers are ready
1979
+ // 3. The value has changed
1980
+ if (flags &&
1981
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1982
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1983
+ newValue !== oldValue) {
1984
+ const instance = hostRef.$lazyInstance$ ;
1985
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1986
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1987
+ if (instance[callbackName] != null) {
1988
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1989
+ }
1990
+ });
1991
+ }
1992
+ return;
1993
+ }
1994
+ this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1995
+ });
1996
+ };
1997
+ // Create an array of attributes to observe
1998
+ // This list in comprised of all strings used within a `@Watch()` decorator
1999
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
2000
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
2001
+ // an invalid attribute.
2002
+ Cstr.observedAttributes = Array.from(new Set([
2003
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
2004
+ ...members
2005
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
2006
+ .map(([propName, m]) => {
2007
+ var _a;
2008
+ const attrName = m[1] || propName;
2009
+ attrNameToPropName.set(attrName, propName);
2010
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
2011
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
2012
+ }
2013
+ return attrName;
2014
+ }),
2015
+ ]));
2016
+ }
2017
+ }
2018
+ return Cstr;
2019
+ };
2020
+ /**
2021
+ * Initialize a Stencil component given a reference to its host element, its
2022
+ * runtime bookkeeping data structure, runtime metadata about the component,
2023
+ * and (optionally) an HMR version ID.
2024
+ *
2025
+ * @param elm a host element
2026
+ * @param hostRef the element's runtime bookkeeping object
2027
+ * @param cmpMeta runtime metadata for the Stencil component
2028
+ * @param hmrVersionId an (optional) HMR version ID
2029
+ */
2030
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2031
+ let Cstr;
2032
+ // initializeComponent
2033
+ if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
2034
+ // Let the runtime know that the component has been initialized
2035
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
2036
+ {
2037
+ // lazy loaded components
2038
+ // request the component's implementation to be
2039
+ // wired up with the host element
2040
+ Cstr = loadModule(cmpMeta);
2041
+ if (Cstr.then) {
2042
+ // Await creates a micro-task avoid if possible
2043
+ const endLoad = uniqueTime();
2044
+ Cstr = await Cstr;
2045
+ endLoad();
2046
+ }
2047
+ if (!Cstr.isProxied) {
2048
+ // we've never proxied this Constructor before
2049
+ // let's add the getters/setters to its prototype before
2050
+ // the first time we create an instance of the implementation
2051
+ {
2052
+ cmpMeta.$watchers$ = Cstr.watchers;
2053
+ }
2054
+ proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
2055
+ Cstr.isProxied = true;
2056
+ }
2057
+ const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
2058
+ // ok, time to construct the instance
2059
+ // but let's keep track of when we start and stop
2060
+ // so that the getters/setters don't incorrectly step on data
2061
+ {
2062
+ hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
2063
+ }
2064
+ // construct the lazy-loaded component implementation
2065
+ // passing the hostRef is very important during
2066
+ // construction in order to directly wire together the
2067
+ // host element and the lazy-loaded instance
2068
+ try {
2069
+ new Cstr(hostRef);
2070
+ }
2071
+ catch (e) {
2072
+ consoleError(e);
2073
+ }
2074
+ {
2075
+ hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
2076
+ }
2077
+ {
2078
+ hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */;
2079
+ }
2080
+ endNewInstance();
2081
+ fireConnectedCallback(hostRef.$lazyInstance$);
2082
+ }
2083
+ if (Cstr.style) {
2084
+ // this component has styles but we haven't registered them yet
2085
+ let style = Cstr.style;
2086
+ const scopeId = getScopeId(cmpMeta);
2087
+ if (!styles.has(scopeId)) {
2088
+ const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
2089
+ registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
2090
+ endRegisterStyles();
2091
+ }
2092
+ }
2093
+ }
2094
+ // we've successfully created a lazy instance
2095
+ const ancestorComponent = hostRef.$ancestorComponent$;
2096
+ const schedule = () => scheduleUpdate(hostRef, true);
2097
+ if (ancestorComponent && ancestorComponent['s-rc']) {
2098
+ // this is the initial load and this component it has an ancestor component
2099
+ // but the ancestor component has NOT fired its will update lifecycle yet
2100
+ // so let's just cool our jets and wait for the ancestor to continue first
2101
+ // this will get fired off when the ancestor component
2102
+ // finally gets around to rendering its lazy self
2103
+ // fire off the initial update
2104
+ ancestorComponent['s-rc'].push(schedule);
2105
+ }
2106
+ else {
2107
+ schedule();
2108
+ }
2109
+ };
2110
+ const fireConnectedCallback = (instance) => {
2111
+ {
2112
+ safeCall(instance, 'connectedCallback');
2113
+ }
2114
+ };
2115
+ const connectedCallback = (elm) => {
2116
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
2117
+ const hostRef = getHostRef(elm);
2118
+ const cmpMeta = hostRef.$cmpMeta$;
2119
+ const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
2120
+ if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
2121
+ // first time this component has connected
2122
+ hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
2123
+ {
2124
+ // initUpdate
2125
+ // if the slot polyfill is required we'll need to put some nodes
2126
+ // in here to act as original content anchors as we move nodes around
2127
+ // host element has been connected to the DOM
2128
+ if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
2129
+ cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
2130
+ setContentReference(elm);
2131
+ }
2132
+ }
2133
+ {
2134
+ // find the first ancestor component (if there is one) and register
2135
+ // this component as one of the actively loading child components for its ancestor
2136
+ let ancestorComponent = elm;
2137
+ while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
2138
+ // climb up the ancestors looking for the first
2139
+ // component that hasn't finished its lifecycle update yet
2140
+ if (ancestorComponent['s-p']) {
2141
+ // we found this components first ancestor component
2142
+ // keep a reference to this component's ancestor component
2143
+ attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
2144
+ break;
2145
+ }
2146
+ }
2147
+ }
2148
+ // Lazy properties
2149
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
2150
+ if (cmpMeta.$members$) {
2151
+ Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
2152
+ if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
2153
+ const value = elm[memberName];
2154
+ delete elm[memberName];
2155
+ elm[memberName] = value;
2156
+ }
2157
+ });
2158
+ }
2159
+ {
2160
+ initializeComponent(elm, hostRef, cmpMeta);
2161
+ }
2162
+ }
2163
+ else {
2164
+ // not the first time this has connected
2165
+ // reattach any event listeners to the host
2166
+ // since they would have been removed when disconnected
2167
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2168
+ // fire off connectedCallback() on component instance
2169
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2170
+ fireConnectedCallback(hostRef.$lazyInstance$);
2171
+ }
2172
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2173
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2174
+ }
2175
+ }
2176
+ endConnected();
2177
+ }
2178
+ };
2179
+ const setContentReference = (elm) => {
2180
+ // only required when we're NOT using native shadow dom (slot)
2181
+ // or this browser doesn't support native shadow dom
2182
+ // and this host element was NOT created with SSR
2183
+ // let's pick out the inner content for slot projection
2184
+ // create a node to represent where the original
2185
+ // content was first placed, which is useful later on
2186
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
2187
+ contentRefElm['s-cn'] = true;
2188
+ elm.insertBefore(contentRefElm, elm.firstChild);
2189
+ };
2190
+ const disconnectInstance = (instance) => {
2191
+ {
2192
+ safeCall(instance, 'disconnectedCallback');
2193
+ }
2194
+ };
2195
+ const disconnectedCallback = async (elm) => {
2196
+ if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
2197
+ const hostRef = getHostRef(elm);
2198
+ {
2199
+ if (hostRef.$rmListeners$) {
2200
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
2201
+ hostRef.$rmListeners$ = undefined;
2202
+ }
2203
+ }
2204
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2205
+ disconnectInstance(hostRef.$lazyInstance$);
2206
+ }
2207
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2208
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2209
+ }
2210
+ }
2211
+ };
2212
+ const bootstrapLazy = (lazyBundles, options = {}) => {
2213
+ var _a;
2214
+ const endBootstrap = createTime();
2215
+ const cmpTags = [];
2216
+ const exclude = options.exclude || [];
2217
+ const customElements = win.customElements;
2218
+ const head = doc.head;
2219
+ const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
2220
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
2221
+ const deferredConnectedCallbacks = [];
2222
+ let appLoadFallback;
2223
+ let isBootstrapping = true;
2224
+ Object.assign(plt, options);
2225
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
2226
+ let hasSlotRelocation = false;
2227
+ lazyBundles.map((lazyBundle) => {
2228
+ lazyBundle[1].map((compactMeta) => {
2229
+ var _a;
2230
+ const cmpMeta = {
2231
+ $flags$: compactMeta[0],
2232
+ $tagName$: compactMeta[1],
2233
+ $members$: compactMeta[2],
2234
+ $listeners$: compactMeta[3],
2235
+ };
2236
+ // Check if we are using slots outside the shadow DOM in this component.
2237
+ // We'll use this information later to add styles for `slot-fb` elements
2238
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
2239
+ hasSlotRelocation = true;
2240
+ }
2241
+ {
2242
+ cmpMeta.$members$ = compactMeta[2];
2243
+ }
2244
+ {
2245
+ cmpMeta.$listeners$ = compactMeta[3];
2246
+ }
2247
+ {
2248
+ cmpMeta.$attrsToReflect$ = [];
2249
+ }
2250
+ {
2251
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
2252
+ }
2253
+ const tagName = cmpMeta.$tagName$;
2254
+ const HostElement = class extends HTMLElement {
2255
+ // StencilLazyHost
2256
+ constructor(self) {
2257
+ // @ts-ignore
2258
+ super(self);
2259
+ self = this;
2260
+ registerHost(self, cmpMeta);
2261
+ if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
2262
+ // this component is using shadow dom
2263
+ // and this browser supports shadow dom
2264
+ // add the read-only property "shadowRoot" to the host element
2265
+ // adding the shadow root build conditionals to minimize runtime
2266
+ {
2267
+ {
2268
+ self.attachShadow({
2269
+ mode: 'open',
2270
+ delegatesFocus: !!(cmpMeta.$flags$ & 16 /* CMP_FLAGS.shadowDelegatesFocus */),
2271
+ });
2272
+ }
2273
+ }
2274
+ }
2275
+ }
2276
+ connectedCallback() {
2277
+ if (appLoadFallback) {
2278
+ clearTimeout(appLoadFallback);
2279
+ appLoadFallback = null;
2280
+ }
2281
+ if (isBootstrapping) {
2282
+ // connectedCallback will be processed once all components have been registered
2283
+ deferredConnectedCallbacks.push(this);
2284
+ }
2285
+ else {
2286
+ plt.jmp(() => connectedCallback(this));
2287
+ }
2288
+ }
2289
+ disconnectedCallback() {
2290
+ plt.jmp(() => disconnectedCallback(this));
2291
+ }
2292
+ componentOnReady() {
2293
+ return getHostRef(this).$onReadyPromise$;
2294
+ }
2295
+ };
2296
+ cmpMeta.$lazyBundleId$ = lazyBundle[0];
2297
+ if (!exclude.includes(tagName) && !customElements.get(tagName)) {
2298
+ cmpTags.push(tagName);
2299
+ customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
2300
+ }
2301
+ });
2302
+ });
2303
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2304
+ if (hasSlotRelocation) {
2305
+ dataStyles.innerHTML += SLOT_FB_CSS;
2306
+ }
2307
+ // Add hydration styles
2308
+ {
2309
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
2310
+ }
2311
+ // If we have styles, add them to the DOM
2312
+ if (dataStyles.innerHTML.length) {
2313
+ dataStyles.setAttribute('data-styles', '');
2314
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
2315
+ // Apply CSP nonce to the style tag if it exists
2316
+ const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
2317
+ if (nonce != null) {
2318
+ dataStyles.setAttribute('nonce', nonce);
2319
+ }
2320
+ }
2321
+ // Process deferred connectedCallbacks now all components have been registered
2322
+ isBootstrapping = false;
2323
+ if (deferredConnectedCallbacks.length) {
2324
+ deferredConnectedCallbacks.map((host) => host.connectedCallback());
2325
+ }
2326
+ else {
2327
+ {
2328
+ plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
2329
+ }
2330
+ }
2331
+ // Fallback appLoad event
2332
+ endBootstrap();
2333
+ };
2334
+ const Fragment = (_, children) => children;
2335
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2336
+ if (listeners) {
2337
+ listeners.map(([flags, name, method]) => {
2338
+ const target = getHostListenerTarget(elm, flags) ;
2339
+ const handler = hostListenerProxy(hostRef, method);
2340
+ const opts = hostListenerOpts(flags);
2341
+ plt.ael(target, name, handler, opts);
2342
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
2343
+ });
2344
+ }
2345
+ };
2346
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
2347
+ try {
2348
+ {
2349
+ if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
2350
+ // instance is ready, let's call it's member method for this event
2351
+ hostRef.$lazyInstance$[methodName](ev);
2352
+ }
2353
+ else {
2354
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
2355
+ }
2356
+ }
2357
+ }
2358
+ catch (e) {
2359
+ consoleError(e);
2360
+ }
2361
+ };
2362
+ const getHostListenerTarget = (elm, flags) => {
2363
+ if (flags & 4 /* LISTENER_FLAGS.TargetDocument */)
2364
+ return doc;
2365
+ if (flags & 8 /* LISTENER_FLAGS.TargetWindow */)
2366
+ return win;
2367
+ if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
2368
+ return doc.body;
2369
+ return elm;
2370
+ };
2371
+ // prettier-ignore
2372
+ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
2373
+ /**
2374
+ * Assigns the given value to the nonce property on the runtime platform object.
2375
+ * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
2376
+ * @param nonce The value to be assigned to the platform nonce property.
2377
+ * @returns void
2378
+ */
2379
+ const setNonce = (nonce) => (plt.$nonce$ = nonce);
2380
+ /**
2381
+ * A WeakMap mapping runtime component references to their corresponding host reference
2382
+ * instances.
2383
+ */
2384
+ const hostRefs = /*@__PURE__*/ new WeakMap();
2385
+ /**
2386
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
2387
+ *
2388
+ * @param ref the runtime ref of interest
2389
+ * @returns the Host reference (if found) or undefined
2390
+ */
2391
+ const getHostRef = (ref) => hostRefs.get(ref);
2392
+ /**
2393
+ * Register a lazy instance with the {@link hostRefs} object so it's
2394
+ * corresponding {@link d.HostRef} can be retrieved later.
2395
+ *
2396
+ * @param lazyInstance the lazy instance of interest
2397
+ * @param hostRef that instances `HostRef` object
2398
+ * @returns a reference to the host ref WeakMap
2399
+ */
2400
+ const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
2401
+ /**
2402
+ * Register a host element for a Stencil component, setting up various metadata
2403
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
2404
+ * metadata.
2405
+ *
2406
+ * @param hostElement the host element to register
2407
+ * @param cmpMeta runtime metadata for that component
2408
+ * @returns a reference to the host ref WeakMap
2409
+ */
2410
+ const registerHost = (hostElement, cmpMeta) => {
2411
+ const hostRef = {
2412
+ $flags$: 0,
2413
+ $hostElement$: hostElement,
2414
+ $cmpMeta$: cmpMeta,
2415
+ $instanceValues$: new Map(),
2416
+ };
2417
+ {
2418
+ hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
2419
+ }
2420
+ {
2421
+ hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
2422
+ hostElement['s-p'] = [];
2423
+ hostElement['s-rc'] = [];
2424
+ }
2425
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
2426
+ return hostRefs.set(hostElement, hostRef);
2427
+ };
2428
+ const isMemberInElement = (elm, memberName) => memberName in elm;
2429
+ const consoleError = (e, el) => (0, console.error)(e, el);
2430
+ const cmpModules = /*@__PURE__*/ new Map();
2431
+ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2432
+ // loadModuleImport
2433
+ const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
2434
+ const bundleId = cmpMeta.$lazyBundleId$;
2435
+ const module = cmpModules.get(bundleId) ;
2436
+ if (module) {
2437
+ return module[exportName];
2438
+ }
2439
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
2440
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2441
+ /* @vite-ignore */
2442
+ /* webpackInclude: /\.entry\.js$/ */
2443
+ /* webpackExclude: /\.system\.entry\.js$/ */
2444
+ /* webpackMode: "lazy" */
2445
+ `./${bundleId}.entry.js${''}`)); }).then((importedModule) => {
2446
+ {
2447
+ cmpModules.set(bundleId, importedModule);
2448
+ }
2449
+ return importedModule[exportName];
2450
+ }, consoleError);
2451
+ };
2452
+ const styles = /*@__PURE__*/ new Map();
2453
+ const win = typeof window !== 'undefined' ? window : {};
2454
+ const doc = win.document || { head: {} };
2455
+ const plt = {
2456
+ $flags$: 0,
2457
+ $resourcesUrl$: '',
2458
+ jmp: (h) => h(),
2459
+ raf: (h) => requestAnimationFrame(h),
2460
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
2461
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2462
+ ce: (eventName, opts) => new CustomEvent(eventName, opts),
2463
+ };
2464
+ const promiseResolve = (v) => Promise.resolve(v);
2465
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2466
+ try {
2467
+ new CSSStyleSheet();
2468
+ return typeof new CSSStyleSheet().replaceSync === 'function';
2469
+ }
2470
+ catch (e) { }
2471
+ return false;
2472
+ })()
2473
+ ;
2474
+ const queueDomReads = [];
2475
+ const queueDomWrites = [];
2476
+ const queueTask = (queue, write) => (cb) => {
2477
+ queue.push(cb);
2478
+ if (!queuePending) {
2479
+ queuePending = true;
2480
+ if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
2481
+ nextTick(flush);
2482
+ }
2483
+ else {
2484
+ plt.raf(flush);
2485
+ }
2486
+ }
2487
+ };
2488
+ const consume = (queue) => {
2489
+ for (let i = 0; i < queue.length; i++) {
2490
+ try {
2491
+ queue[i](performance.now());
2492
+ }
2493
+ catch (e) {
2494
+ consoleError(e);
2495
+ }
2496
+ }
2497
+ queue.length = 0;
2498
+ };
2499
+ const flush = () => {
2500
+ // always force a bunch of medium callbacks to run, but still have
2501
+ // a throttle on how many can run in a certain time
2502
+ // DOM READS!!!
2503
+ consume(queueDomReads);
2504
+ // DOM WRITES!!!
2505
+ {
2506
+ consume(queueDomWrites);
2507
+ if ((queuePending = queueDomReads.length > 0)) {
2508
+ // still more to do yet, but we've run out of time
2509
+ // let's let this thing cool off and try again in the next tick
2510
+ plt.raf(flush);
2511
+ }
2512
+ }
2513
+ };
2514
+ const nextTick = (cb) => promiseResolve().then(cb);
2515
+ const readTask = /*@__PURE__*/ queueTask(queueDomReads, false);
2516
+ const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2517
+
2518
+ exports.Fragment = Fragment;
2519
+ exports.Host = Host;
2520
+ exports.bootstrapLazy = bootstrapLazy;
2521
+ exports.createEvent = createEvent;
2522
+ exports.forceUpdate = forceUpdate;
2523
+ exports.getAssetPath = getAssetPath;
2524
+ exports.getElement = getElement;
2525
+ exports.getRenderingRef = getRenderingRef;
2526
+ exports.h = h;
2527
+ exports.promiseResolve = promiseResolve;
2528
+ exports.readTask = readTask;
2529
+ exports.registerInstance = registerInstance;
2530
+ exports.setNonce = setNonce;