@quartzds/core 1.0.0-beta.81 → 1.0.0-beta.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/components/index.js +2 -2
  2. package/components/{p-7b04d43e.js → p-002e77af.js} +656 -328
  3. package/components/p-002e77af.js.map +1 -0
  4. package/components/{p-9df62f97.js → p-065d722e.js} +18 -7
  5. package/components/{p-9df62f97.js.map → p-065d722e.js.map} +1 -1
  6. package/components/{p-7f6e797a.js → p-252b0946.js} +17 -12
  7. package/components/p-252b0946.js.map +1 -0
  8. package/components/{p-d279ae53.js → p-2e88c3cc.js} +11 -3
  9. package/components/p-2e88c3cc.js.map +1 -0
  10. package/components/{p-698edde1.js → p-786e2b51.js} +79 -44
  11. package/components/p-786e2b51.js.map +1 -0
  12. package/components/{p-b82bac0a.js → p-84aae53b.js} +20 -11
  13. package/components/p-84aae53b.js.map +1 -0
  14. package/components/{p-028b9d2e.js → p-86a0fdf3.js} +11 -4
  15. package/components/p-86a0fdf3.js.map +1 -0
  16. package/components/{p-82461767.js → p-9a9561a8.js} +8 -80
  17. package/components/p-9a9561a8.js.map +1 -0
  18. package/components/{p-f5ba28ff.js → p-ae6eda4e.js} +41 -30
  19. package/components/p-ae6eda4e.js.map +1 -0
  20. package/components/{p-f85b490c.js → p-ed500f42.js} +72 -28
  21. package/components/p-ed500f42.js.map +1 -0
  22. package/components/{p-355efdb1.js → p-ee2621aa.js} +11 -5
  23. package/components/p-ee2621aa.js.map +1 -0
  24. package/components/{p-4141d6ed.js → p-efdb8fa2.js} +2 -2
  25. package/components/p-efdb8fa2.js.map +1 -0
  26. package/components/qds-badge-counter.js +1 -1
  27. package/components/qds-badge-indicator.js +1 -1
  28. package/components/qds-breadcrumb-item.js +65 -15
  29. package/components/qds-breadcrumb-item.js.map +1 -1
  30. package/components/qds-button.js +1 -1
  31. package/components/qds-checkbox.js +1 -1
  32. package/components/qds-chip.js +46 -25
  33. package/components/qds-chip.js.map +1 -1
  34. package/components/qds-dialog.js +9 -4
  35. package/components/qds-dialog.js.map +1 -1
  36. package/components/qds-divider.js +1 -1
  37. package/components/qds-dropdown.js +25 -18
  38. package/components/qds-dropdown.js.map +1 -1
  39. package/components/qds-form-message.js +18 -8
  40. package/components/qds-form-message.js.map +1 -1
  41. package/components/qds-icon.js +1 -1
  42. package/components/qds-inline-link.js +18 -17
  43. package/components/qds-inline-link.js.map +1 -1
  44. package/components/qds-input.js +117 -54
  45. package/components/qds-input.js.map +1 -1
  46. package/components/qds-label.js +1 -1
  47. package/components/qds-list-item.js +21 -22
  48. package/components/qds-list-item.js.map +1 -1
  49. package/components/qds-loader.js +5 -3
  50. package/components/qds-loader.js.map +1 -1
  51. package/components/qds-nav-list-item.js +32 -16
  52. package/components/qds-nav-list-item.js.map +1 -1
  53. package/components/qds-progress-bar.js +25 -7
  54. package/components/qds-progress-bar.js.map +1 -1
  55. package/components/qds-radio.js +25 -24
  56. package/components/qds-radio.js.map +1 -1
  57. package/components/qds-select.js +119 -31
  58. package/components/qds-select.js.map +1 -1
  59. package/components/qds-standalone-link.js +26 -19
  60. package/components/qds-standalone-link.js.map +1 -1
  61. package/components/qds-switch.js +70 -21
  62. package/components/qds-switch.js.map +1 -1
  63. package/components/qds-tab.js +71 -45
  64. package/components/qds-tab.js.map +1 -1
  65. package/components/qds-tabbar.js +34 -27
  66. package/components/qds-tabbar.js.map +1 -1
  67. package/components/qds-table-body.js +3 -3
  68. package/components/qds-table-body.js.map +1 -1
  69. package/components/qds-table-cell.js +3 -5
  70. package/components/qds-table-cell.js.map +1 -1
  71. package/components/qds-table-head-cell.js +3 -7
  72. package/components/qds-table-head-cell.js.map +1 -1
  73. package/components/qds-table-head.js +3 -3
  74. package/components/qds-table-head.js.map +1 -1
  75. package/components/qds-table-row.js +3 -3
  76. package/components/qds-table-row.js.map +1 -1
  77. package/components/qds-table.js +3 -3
  78. package/components/qds-table.js.map +1 -1
  79. package/components/qds-tag.js +1 -1
  80. package/components/qds-textarea.js +94 -39
  81. package/components/qds-textarea.js.map +1 -1
  82. package/components/qds-title.js +1 -1
  83. package/components/qds-tooltip.js +1 -1
  84. package/dist/cjs/helpers-cdd65bd0.js.map +1 -1
  85. package/dist/cjs/{index-a9985af0.js → index-644fe556.js} +720 -273
  86. package/dist/cjs/index-644fe556.js.map +1 -0
  87. package/dist/cjs/index.cjs.js +2 -2
  88. package/dist/cjs/{library-57845012.js → library-1fda56bc.js} +2 -2
  89. package/dist/cjs/{library-57845012.js.map → library-1fda56bc.js.map} +1 -1
  90. package/dist/cjs/loader.cjs.js +2 -2
  91. package/dist/cjs/qds-badge-counter_2.cjs.entry.js +151 -0
  92. package/dist/cjs/qds-badge-counter_2.cjs.entry.js.map +1 -0
  93. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +53 -12
  94. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js.map +1 -1
  95. package/dist/cjs/qds-button.cjs.entry.js +73 -38
  96. package/dist/cjs/qds-button.cjs.entry.js.map +1 -1
  97. package/dist/cjs/qds-checkbox.cjs.entry.js +67 -22
  98. package/dist/cjs/qds-checkbox.cjs.entry.js.map +1 -1
  99. package/dist/cjs/qds-chip.cjs.entry.js +43 -21
  100. package/dist/cjs/qds-chip.cjs.entry.js.map +1 -1
  101. package/dist/cjs/qds-dialog.cjs.entry.js +8 -3
  102. package/dist/cjs/qds-dialog.cjs.entry.js.map +1 -1
  103. package/dist/cjs/qds-divider.cjs.entry.js +9 -3
  104. package/dist/cjs/qds-divider.cjs.entry.js.map +1 -1
  105. package/dist/cjs/qds-dropdown.cjs.entry.js +24 -17
  106. package/dist/cjs/qds-dropdown.cjs.entry.js.map +1 -1
  107. package/dist/cjs/qds-form-message.cjs.entry.js +16 -6
  108. package/dist/cjs/qds-form-message.cjs.entry.js.map +1 -1
  109. package/dist/cjs/qds-icon.cjs.entry.js +7 -5
  110. package/dist/cjs/qds-icon.cjs.entry.js.map +1 -1
  111. package/dist/cjs/qds-inline-link.cjs.entry.js +16 -15
  112. package/dist/cjs/qds-inline-link.cjs.entry.js.map +1 -1
  113. package/dist/cjs/qds-input.cjs.entry.js +110 -43
  114. package/dist/cjs/qds-input.cjs.entry.js.map +1 -1
  115. package/dist/cjs/qds-label.cjs.entry.js +16 -5
  116. package/dist/cjs/qds-label.cjs.entry.js.map +1 -1
  117. package/dist/cjs/qds-list-item.cjs.entry.js +17 -18
  118. package/dist/cjs/qds-list-item.cjs.entry.js.map +1 -1
  119. package/dist/cjs/qds-loader.cjs.entry.js +4 -2
  120. package/dist/cjs/qds-loader.cjs.entry.js.map +1 -1
  121. package/dist/cjs/qds-nav-list-item.cjs.entry.js +29 -13
  122. package/dist/cjs/qds-nav-list-item.cjs.entry.js.map +1 -1
  123. package/dist/cjs/qds-progress-bar.cjs.entry.js +25 -7
  124. package/dist/cjs/qds-progress-bar.cjs.entry.js.map +1 -1
  125. package/dist/cjs/qds-radio.cjs.entry.js +22 -21
  126. package/dist/cjs/qds-radio.cjs.entry.js.map +1 -1
  127. package/dist/cjs/qds-select.cjs.entry.js +116 -26
  128. package/dist/cjs/qds-select.cjs.entry.js.map +1 -1
  129. package/dist/cjs/qds-standalone-link.cjs.entry.js +24 -17
  130. package/dist/cjs/qds-standalone-link.cjs.entry.js.map +1 -1
  131. package/dist/cjs/qds-switch.cjs.entry.js +68 -18
  132. package/dist/cjs/qds-switch.cjs.entry.js.map +1 -1
  133. package/dist/cjs/qds-tab.cjs.entry.js +64 -38
  134. package/dist/cjs/qds-tab.cjs.entry.js.map +1 -1
  135. package/dist/cjs/qds-tabbar.cjs.entry.js +27 -20
  136. package/dist/cjs/qds-tabbar.cjs.entry.js.map +1 -1
  137. package/dist/cjs/qds-table-body.cjs.entry.js +2 -2
  138. package/dist/cjs/qds-table-body.cjs.entry.js.map +1 -1
  139. package/dist/cjs/qds-table-cell.cjs.entry.js +2 -4
  140. package/dist/cjs/qds-table-cell.cjs.entry.js.map +1 -1
  141. package/dist/cjs/qds-table-head-cell.cjs.entry.js +2 -6
  142. package/dist/cjs/qds-table-head-cell.cjs.entry.js.map +1 -1
  143. package/dist/cjs/qds-table-head.cjs.entry.js +2 -2
  144. package/dist/cjs/qds-table-head.cjs.entry.js.map +1 -1
  145. package/dist/cjs/qds-table-row.cjs.entry.js +2 -2
  146. package/dist/cjs/qds-table-row.cjs.entry.js.map +1 -1
  147. package/dist/cjs/qds-table.cjs.entry.js +2 -2
  148. package/dist/cjs/qds-table.cjs.entry.js.map +1 -1
  149. package/dist/cjs/qds-tag_2.cjs.entry.js +30 -16
  150. package/dist/cjs/qds-tag_2.cjs.entry.js.map +1 -1
  151. package/dist/cjs/qds-textarea.cjs.entry.js +92 -33
  152. package/dist/cjs/qds-textarea.cjs.entry.js.map +1 -1
  153. package/dist/cjs/{qds-badge-counter_3.cjs.entry.js → qds-tooltip.cjs.entry.js} +40 -152
  154. package/dist/cjs/qds-tooltip.cjs.entry.js.map +1 -0
  155. package/dist/cjs/qds.cjs.js +3 -3
  156. package/dist/cjs/qds.cjs.js.map +1 -1
  157. package/dist/custom-elements.json +103 -229
  158. package/dist/docs.d.ts +8 -0
  159. package/dist/docs.json +870 -630
  160. package/dist/esm/{helpers-4eb4fa44.js → helpers-d08540f8.js} +2 -2
  161. package/dist/esm/helpers-d08540f8.js.map +1 -0
  162. package/dist/esm/{index-5291e8ff.js → index-be1284b6.js} +720 -273
  163. package/dist/esm/index-be1284b6.js.map +1 -0
  164. package/dist/esm/index.js +2 -2
  165. package/dist/esm/{library-9edbe354.js → library-a92b7d9e.js} +2 -2
  166. package/dist/esm/{library-9edbe354.js.map → library-a92b7d9e.js.map} +1 -1
  167. package/dist/esm/loader.js +3 -3
  168. package/dist/esm/qds-badge-counter_2.entry.js +146 -0
  169. package/dist/esm/qds-badge-counter_2.entry.js.map +1 -0
  170. package/dist/esm/qds-breadcrumb-item.entry.js +54 -13
  171. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -1
  172. package/dist/esm/qds-button.entry.js +74 -39
  173. package/dist/esm/qds-button.entry.js.map +1 -1
  174. package/dist/esm/qds-checkbox.entry.js +69 -24
  175. package/dist/esm/qds-checkbox.entry.js.map +1 -1
  176. package/dist/esm/qds-chip.entry.js +44 -22
  177. package/dist/esm/qds-chip.entry.js.map +1 -1
  178. package/dist/esm/qds-dialog.entry.js +9 -4
  179. package/dist/esm/qds-dialog.entry.js.map +1 -1
  180. package/dist/esm/qds-divider.entry.js +10 -4
  181. package/dist/esm/qds-divider.entry.js.map +1 -1
  182. package/dist/esm/qds-dropdown.entry.js +25 -18
  183. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  184. package/dist/esm/qds-form-message.entry.js +17 -7
  185. package/dist/esm/qds-form-message.entry.js.map +1 -1
  186. package/dist/esm/qds-icon.entry.js +8 -6
  187. package/dist/esm/qds-icon.entry.js.map +1 -1
  188. package/dist/esm/qds-inline-link.entry.js +17 -16
  189. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  190. package/dist/esm/qds-input.entry.js +112 -45
  191. package/dist/esm/qds-input.entry.js.map +1 -1
  192. package/dist/esm/qds-label.entry.js +17 -6
  193. package/dist/esm/qds-label.entry.js.map +1 -1
  194. package/dist/esm/qds-list-item.entry.js +18 -19
  195. package/dist/esm/qds-list-item.entry.js.map +1 -1
  196. package/dist/esm/qds-loader.entry.js +4 -2
  197. package/dist/esm/qds-loader.entry.js.map +1 -1
  198. package/dist/esm/qds-nav-list-item.entry.js +30 -14
  199. package/dist/esm/qds-nav-list-item.entry.js.map +1 -1
  200. package/dist/esm/qds-progress-bar.entry.js +25 -7
  201. package/dist/esm/qds-progress-bar.entry.js.map +1 -1
  202. package/dist/esm/qds-radio.entry.js +23 -22
  203. package/dist/esm/qds-radio.entry.js.map +1 -1
  204. package/dist/esm/qds-select.entry.js +118 -28
  205. package/dist/esm/qds-select.entry.js.map +1 -1
  206. package/dist/esm/qds-standalone-link.entry.js +25 -18
  207. package/dist/esm/qds-standalone-link.entry.js.map +1 -1
  208. package/dist/esm/qds-switch.entry.js +70 -20
  209. package/dist/esm/qds-switch.entry.js.map +1 -1
  210. package/dist/esm/qds-tab.entry.js +65 -39
  211. package/dist/esm/qds-tab.entry.js.map +1 -1
  212. package/dist/esm/qds-tabbar.entry.js +28 -21
  213. package/dist/esm/qds-tabbar.entry.js.map +1 -1
  214. package/dist/esm/qds-table-body.entry.js +3 -3
  215. package/dist/esm/qds-table-body.entry.js.map +1 -1
  216. package/dist/esm/qds-table-cell.entry.js +3 -5
  217. package/dist/esm/qds-table-cell.entry.js.map +1 -1
  218. package/dist/esm/qds-table-head-cell.entry.js +3 -7
  219. package/dist/esm/qds-table-head-cell.entry.js.map +1 -1
  220. package/dist/esm/qds-table-head.entry.js +3 -3
  221. package/dist/esm/qds-table-head.entry.js.map +1 -1
  222. package/dist/esm/qds-table-row.entry.js +3 -3
  223. package/dist/esm/qds-table-row.entry.js.map +1 -1
  224. package/dist/esm/qds-table.entry.js +3 -3
  225. package/dist/esm/qds-table.entry.js.map +1 -1
  226. package/dist/esm/qds-tag_2.entry.js +31 -17
  227. package/dist/esm/qds-tag_2.entry.js.map +1 -1
  228. package/dist/esm/qds-textarea.entry.js +94 -35
  229. package/dist/esm/qds-textarea.entry.js.map +1 -1
  230. package/dist/esm/{qds-badge-counter_3.entry.js → qds-tooltip.entry.js} +42 -152
  231. package/dist/esm/qds-tooltip.entry.js.map +1 -0
  232. package/dist/esm/qds.js +4 -4
  233. package/dist/esm/qds.js.map +1 -1
  234. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +4 -0
  235. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  236. package/dist/types/components/chip/chip.d.ts +0 -6
  237. package/dist/types/components/input/input.d.ts +1 -30
  238. package/dist/types/components/select/select.d.ts +1 -8
  239. package/dist/types/components/switch/switch.d.ts +0 -6
  240. package/dist/types/components/tag/tag.d.ts +1 -1
  241. package/dist/types/components/textarea/textarea.d.ts +1 -29
  242. package/dist/types/components.d.ts +623 -91
  243. package/dist/types/stencil-public-runtime.d.ts +6 -0
  244. package/dist/vscode.html-custom-data.json +0 -80
  245. package/hydrate/index.d.ts +28 -5
  246. package/hydrate/index.js +2753 -1052
  247. package/hydrate/index.mjs +2753 -1052
  248. package/package.json +3 -3
  249. package/components/p-028b9d2e.js.map +0 -1
  250. package/components/p-355efdb1.js.map +0 -1
  251. package/components/p-4141d6ed.js.map +0 -1
  252. package/components/p-698edde1.js.map +0 -1
  253. package/components/p-7b04d43e.js.map +0 -1
  254. package/components/p-7f6e797a.js.map +0 -1
  255. package/components/p-82461767.js.map +0 -1
  256. package/components/p-b82bac0a.js.map +0 -1
  257. package/components/p-d279ae53.js.map +0 -1
  258. package/components/p-f5ba28ff.js.map +0 -1
  259. package/components/p-f85b490c.js.map +0 -1
  260. package/dist/cjs/index-a9985af0.js.map +0 -1
  261. package/dist/cjs/qds-badge-counter_3.cjs.entry.js.map +0 -1
  262. package/dist/esm/helpers-4eb4fa44.js.map +0 -1
  263. package/dist/esm/index-5291e8ff.js.map +0 -1
  264. package/dist/esm/qds-badge-counter_3.entry.js.map +0 -1
@@ -4,19 +4,32 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  const NAMESPACE = 'qds';
7
- const BUILD = /* qds */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: false, initializeNextTick: false, invisiblePrehydration: false, 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: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: true, 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 };
7
+ const BUILD = /* qds */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, constructableCSS: true, cssAnnotations: true, devTools: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: false, initializeNextTick: false, invisiblePrehydration: false, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: 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: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: true, 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 };
8
8
 
9
9
  /*
10
- Stencil Client Platform v4.21.0 | MIT Licensed | https://stenciljs.com
10
+ Stencil Client Platform v4.27.1 | MIT Licensed | https://stenciljs.com
11
11
  */
12
12
  var __defProp = Object.defineProperty;
13
13
  var __export = (target, all) => {
14
14
  for (var name in all)
15
15
  __defProp(target, name, { get: all[name], enumerable: true });
16
16
  };
17
- var hostRefs = /* @__PURE__ */ new WeakMap();
18
- var getHostRef = (ref) => hostRefs.get(ref);
19
- var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
17
+
18
+ // src/utils/constants.ts
19
+ var SVG_NS = "http://www.w3.org/2000/svg";
20
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
21
+
22
+ // src/client/client-host-ref.ts
23
+ var getHostRef = (ref) => {
24
+ if (ref.__stencil__getHostRef) {
25
+ return ref.__stencil__getHostRef();
26
+ }
27
+ return void 0;
28
+ };
29
+ var registerInstance = (lazyInstance, hostRef) => {
30
+ lazyInstance.__stencil__getHostRef = () => hostRef;
31
+ hostRef.$lazyInstance$ = lazyInstance;
32
+ };
20
33
  var registerHost = (hostElement, cmpMeta) => {
21
34
  const hostRef = {
22
35
  $flags$: 0,
@@ -32,7 +45,9 @@ var registerHost = (hostElement, cmpMeta) => {
32
45
  hostElement["s-p"] = [];
33
46
  hostElement["s-rc"] = [];
34
47
  }
35
- return hostRefs.set(hostElement, hostRef);
48
+ const ref = hostRef;
49
+ hostElement.__stencil__getHostRef = () => ref;
50
+ return ref;
36
51
  };
37
52
  var isMemberInElement = (elm, memberName) => memberName in elm;
38
53
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -56,12 +71,17 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
56
71
  /* webpackExclude: /\.system\.entry\.js$/ */
57
72
  /* webpackMode: "lazy" */
58
73
  `./${bundleId}.entry.js${""}`
59
- ).then((importedModule) => {
60
- {
61
- cmpModules.set(bundleId, importedModule);
74
+ ).then(
75
+ (importedModule) => {
76
+ {
77
+ cmpModules.set(bundleId, importedModule);
78
+ }
79
+ return importedModule[exportName];
80
+ },
81
+ (e) => {
82
+ consoleError(e, hostRef.$hostElement$);
62
83
  }
63
- return importedModule[exportName];
64
- }, consoleError);
84
+ );
65
85
  };
66
86
 
67
87
  // src/client/client-style.ts
@@ -72,6 +92,7 @@ var CONTENT_REF_ID = "r";
72
92
  var ORG_LOCATION_ID = "o";
73
93
  var SLOT_NODE_ID = "s";
74
94
  var TEXT_NODE_ID = "t";
95
+ var COMMENT_NODE_ID = "c";
75
96
  var HYDRATE_ID = "s-id";
76
97
  var HYDRATED_STYLE_ID = "sty-id";
77
98
  var HYDRATE_CHILD_ID = "c-id";
@@ -84,7 +105,6 @@ var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
84
105
  "formStateRestoreCallback"
85
106
  ];
86
107
  var win = typeof window !== "undefined" ? window : {};
87
- var doc = win.document || { head: {} };
88
108
  var plt = {
89
109
  $flags$: 0,
90
110
  $resourcesUrl$: "",
@@ -94,11 +114,11 @@ var plt = {
94
114
  rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
95
115
  ce: (eventName, opts) => new CustomEvent(eventName, opts)
96
116
  };
97
- var supportsShadow = BUILD.shadowDom;
98
117
  var supportsListenerOptions = /* @__PURE__ */ (() => {
118
+ var _a;
99
119
  let supportsListenerOptions2 = false;
100
120
  try {
101
- doc.addEventListener(
121
+ (_a = win.document) == null ? void 0 : _a.addEventListener(
102
122
  "e",
103
123
  null,
104
124
  Object.defineProperty({}, "passive", {
@@ -162,22 +182,17 @@ var getAssetPath = (path) => {
162
182
  return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
163
183
  };
164
184
 
165
- // src/utils/constants.ts
166
- var EMPTY_OBJ = {};
167
- var SVG_NS = "http://www.w3.org/2000/svg";
168
- var HTML_NS = "http://www.w3.org/1999/xhtml";
169
-
170
185
  // src/utils/helpers.ts
171
- var isDef = (v) => v != null;
186
+ var isDef = (v) => v != null && v !== void 0;
172
187
  var isComplexType = (o) => {
173
188
  o = typeof o;
174
189
  return o === "object" || o === "function";
175
190
  };
176
191
 
177
192
  // src/utils/query-nonce-meta-tag-content.ts
178
- function queryNonceMetaTagContent(doc2) {
193
+ function queryNonceMetaTagContent(doc) {
179
194
  var _a, _b, _c;
180
- return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
195
+ return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
181
196
  }
182
197
 
183
198
  // src/utils/result.ts
@@ -228,6 +243,82 @@ var unwrapErr = (result) => {
228
243
  throw result.value;
229
244
  }
230
245
  };
246
+ var getSlottedChildNodes = (childNodes) => {
247
+ const result = [];
248
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
249
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
250
+ if (slottedNode && slottedNode.isConnected) {
251
+ result.push(slottedNode);
252
+ }
253
+ }
254
+ return result;
255
+ };
256
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
257
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
258
+ return;
259
+ }
260
+ const slottedNodeLocation = document.createTextNode("");
261
+ slottedNodeLocation["s-nr"] = newChild;
262
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
263
+ const parent = slotNode["s-cr"].parentNode;
264
+ const appendMethod = prepend ? internalCall(parent, "prepend") : internalCall(parent, "appendChild");
265
+ if (typeof position !== "undefined") {
266
+ slottedNodeLocation["s-oo"] = position;
267
+ const childNodes = internalCall(parent, "childNodes");
268
+ const slotRelocateNodes = [slottedNodeLocation];
269
+ childNodes.forEach((n) => {
270
+ if (n["s-nr"]) slotRelocateNodes.push(n);
271
+ });
272
+ slotRelocateNodes.sort((a, b) => {
273
+ if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1;
274
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
275
+ return 0;
276
+ });
277
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
278
+ } else {
279
+ appendMethod.call(parent, slottedNodeLocation);
280
+ }
281
+ newChild["s-ol"] = slottedNodeLocation;
282
+ newChild["s-sh"] = slotNode["s-hn"];
283
+ };
284
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
285
+ function patchSlotNode(node) {
286
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
287
+ const assignedFactory = (elementsOnly) => (function(opts) {
288
+ const toReturn = [];
289
+ const slotName = this["s-sn"];
290
+ if (opts == null ? void 0 : opts.flatten) {
291
+ console.error(`
292
+ Flattening is not supported for Stencil non-shadow slots.
293
+ You can use \`.childNodes\` to nested slot fallback content.
294
+ If you have a particular use case, please open an issue on the Stencil repo.
295
+ `);
296
+ }
297
+ const parent = this["s-cr"].parentElement;
298
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
299
+ slottedNodes.forEach((n) => {
300
+ if (slotName === getSlotName(n)) {
301
+ toReturn.push(n);
302
+ }
303
+ });
304
+ if (elementsOnly) {
305
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
306
+ }
307
+ return toReturn;
308
+ }).bind(node);
309
+ node.assignedElements = assignedFactory(true);
310
+ node.assignedNodes = assignedFactory(false);
311
+ }
312
+ function internalCall(node, method) {
313
+ if ("__" + method in node) {
314
+ const toReturn = node["__" + method];
315
+ if (typeof toReturn !== "function") return toReturn;
316
+ return toReturn.bind(node);
317
+ } else {
318
+ if (typeof node[method] !== "function") return node[method];
319
+ return node[method].bind(node);
320
+ }
321
+ }
231
322
  var createTime = (fnName, tagName = "") => {
232
323
  {
233
324
  return () => {
@@ -350,50 +441,145 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
350
441
  const shadowRoot = hostElm.shadowRoot;
351
442
  const childRenderNodes = [];
352
443
  const slotNodes = [];
444
+ const slottedNodes = [];
353
445
  const shadowRootNodes = shadowRoot ? [] : null;
354
- const vnode = hostRef.$vnode$ = newVNode(tagName, null);
355
- if (!plt.$orgLocNodes$) {
356
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
446
+ const vnode = newVNode(tagName, null);
447
+ vnode.$elm$ = hostElm;
448
+ let scopeId2;
449
+ {
450
+ const cmpMeta = hostRef.$cmpMeta$;
451
+ if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
452
+ scopeId2 = hostElm["s-sc"];
453
+ hostElm.classList.add(scopeId2 + "-h");
454
+ } else if (hostElm["s-sc"]) {
455
+ delete hostElm["s-sc"];
456
+ }
457
+ }
458
+ if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
459
+ initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
357
460
  }
358
461
  hostElm[HYDRATE_ID] = hostId;
359
462
  hostElm.removeAttribute(HYDRATE_ID);
360
- clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);
361
- childRenderNodes.map((c) => {
362
- const orgLocationId = c.$hostId$ + "." + c.$nodeId$;
463
+ hostRef.$vnode$ = clientHydrate(
464
+ vnode,
465
+ childRenderNodes,
466
+ slotNodes,
467
+ shadowRootNodes,
468
+ hostElm,
469
+ hostElm,
470
+ hostId,
471
+ slottedNodes
472
+ );
473
+ let crIndex = 0;
474
+ const crLength = childRenderNodes.length;
475
+ let childRenderNode;
476
+ for (crIndex; crIndex < crLength; crIndex++) {
477
+ childRenderNode = childRenderNodes[crIndex];
478
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
363
479
  const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
364
- const node = c.$elm$;
365
- if (orgLocationNode && supportsShadow && orgLocationNode["s-en"] === "") {
366
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
367
- }
480
+ const node = childRenderNode.$elm$;
368
481
  if (!shadowRoot) {
369
- node["s-hn"] = tagName;
370
- if (orgLocationNode) {
371
- node["s-ol"] = orgLocationNode;
372
- node["s-ol"]["s-nr"] = node;
482
+ node["s-hn"] = tagName.toUpperCase();
483
+ if (childRenderNode.$tag$ === "slot") {
484
+ node["s-cr"] = hostElm["s-cr"];
485
+ }
486
+ }
487
+ if (childRenderNode.$tag$ === "slot") {
488
+ childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
489
+ if (childRenderNode.$children$) {
490
+ childRenderNode.$flags$ |= 2 /* isSlotFallback */;
491
+ if (!childRenderNode.$elm$.childNodes.length) {
492
+ childRenderNode.$children$.forEach((c) => {
493
+ childRenderNode.$elm$.appendChild(c.$elm$);
494
+ });
495
+ }
496
+ } else {
497
+ childRenderNode.$flags$ |= 1 /* isSlotReference */;
498
+ }
499
+ }
500
+ if (orgLocationNode && orgLocationNode.isConnected) {
501
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
502
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
503
+ }
504
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
505
+ if (!shadowRoot) {
506
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
373
507
  }
374
508
  }
375
509
  plt.$orgLocNodes$.delete(orgLocationId);
376
- });
377
- if (shadowRoot) {
378
- shadowRootNodes.map((shadowRootNode) => {
379
- if (shadowRootNode) {
380
- shadowRoot.appendChild(shadowRootNode);
510
+ }
511
+ const hosts = [];
512
+ const snLen = slottedNodes.length;
513
+ let snIndex = 0;
514
+ let slotGroup;
515
+ let snGroupIdx;
516
+ let snGroupLen;
517
+ let slottedItem;
518
+ for (snIndex; snIndex < snLen; snIndex++) {
519
+ slotGroup = slottedNodes[snIndex];
520
+ if (!slotGroup || !slotGroup.length) continue;
521
+ snGroupLen = slotGroup.length;
522
+ snGroupIdx = 0;
523
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
524
+ slottedItem = slotGroup[snGroupIdx];
525
+ if (!hosts[slottedItem.hostId]) {
526
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
381
527
  }
528
+ if (!hosts[slottedItem.hostId]) continue;
529
+ const hostEle = hosts[slottedItem.hostId];
530
+ if (!hostEle.shadowRoot || !shadowRoot) {
531
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
532
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
533
+ slottedItem.slot["s-cr"] = hostEle;
534
+ } else {
535
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
536
+ }
537
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
538
+ }
539
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
540
+ hostEle.appendChild(slottedItem.node);
541
+ }
542
+ }
543
+ }
544
+ if (scopeId2 && slotNodes.length) {
545
+ slotNodes.forEach((slot) => {
546
+ slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
382
547
  });
383
548
  }
549
+ if (shadowRoot && !shadowRoot.childNodes.length) {
550
+ let rnIdex = 0;
551
+ const rnLen = shadowRootNodes.length;
552
+ if (rnLen) {
553
+ for (rnIdex; rnIdex < rnLen; rnIdex++) {
554
+ shadowRoot.appendChild(shadowRootNodes[rnIdex]);
555
+ }
556
+ Array.from(hostElm.childNodes).forEach((node) => {
557
+ if (typeof node["s-sn"] !== "string") {
558
+ if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
559
+ node.removeAttribute("hidden");
560
+ } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
561
+ node.parentNode.removeChild(node);
562
+ }
563
+ }
564
+ });
565
+ }
566
+ }
567
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
568
+ hostRef.$hostElement$ = hostElm;
384
569
  endHydrate();
385
570
  };
386
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
571
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
387
572
  let childNodeType;
388
573
  let childIdSplt;
389
574
  let childVNode;
390
575
  let i2;
576
+ const scopeId2 = hostElm["s-sc"];
391
577
  if (node.nodeType === 1 /* ElementNode */) {
392
578
  childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
393
579
  if (childNodeType) {
394
580
  childIdSplt = childNodeType.split(".");
395
581
  if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
396
- childVNode = {
582
+ childVNode = createSimpleVNode({
397
583
  $flags$: 0,
398
584
  $hostId$: childIdSplt[0],
399
585
  $nodeId$: childIdSplt[1],
@@ -401,18 +587,43 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
401
587
  $index$: childIdSplt[3],
402
588
  $tag$: node.tagName.toLowerCase(),
403
589
  $elm$: node,
404
- $attrs$: null,
405
- $children$: null,
406
- $key$: null,
407
- $name$: null,
408
- $text$: null
409
- };
590
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
591
+ // won't try to reconcile them. Classes set on the node will be blown away.
592
+ $attrs$: { class: node.className || "" }
593
+ });
410
594
  childRenderNodes.push(childVNode);
411
595
  node.removeAttribute(HYDRATE_CHILD_ID);
412
596
  if (!parentVNode.$children$) {
413
597
  parentVNode.$children$ = [];
414
598
  }
415
- parentVNode.$children$[childVNode.$index$] = childVNode;
599
+ if (scopeId2) {
600
+ node["s-si"] = scopeId2;
601
+ childVNode.$attrs$.class += " " + scopeId2;
602
+ }
603
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
604
+ if (typeof slotName === "string") {
605
+ if (childVNode.$tag$ === "slot-fb") {
606
+ addSlot(
607
+ slotName,
608
+ childIdSplt[2],
609
+ childVNode,
610
+ node,
611
+ parentVNode,
612
+ childRenderNodes,
613
+ slotNodes,
614
+ shadowRootNodes,
615
+ slottedNodes
616
+ );
617
+ if (scopeId2) {
618
+ node.classList.add(scopeId2);
619
+ }
620
+ }
621
+ childVNode.$elm$["s-sn"] = slotName;
622
+ childVNode.$elm$.removeAttribute("s-sn");
623
+ }
624
+ if (childVNode.$index$ !== void 0) {
625
+ parentVNode.$children$[childVNode.$index$] = childVNode;
626
+ }
416
627
  parentVNode = childVNode;
417
628
  if (shadowRootNodes && childVNode.$depth$ === "0") {
418
629
  shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
@@ -428,31 +639,33 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
428
639
  shadowRootNodes,
429
640
  hostElm,
430
641
  node.shadowRoot.childNodes[i2],
431
- hostId
642
+ hostId,
643
+ slottedNodes
432
644
  );
433
645
  }
434
646
  }
435
- for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {
647
+ const nonShadowNodes = node.__childNodes || node.childNodes;
648
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
436
649
  clientHydrate(
437
650
  parentVNode,
438
651
  childRenderNodes,
439
652
  slotNodes,
440
653
  shadowRootNodes,
441
654
  hostElm,
442
- node.childNodes[i2],
443
- hostId
655
+ nonShadowNodes[i2],
656
+ hostId,
657
+ slottedNodes
444
658
  );
445
659
  }
446
660
  } else if (node.nodeType === 8 /* CommentNode */) {
447
661
  childIdSplt = node.nodeValue.split(".");
448
662
  if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
449
663
  childNodeType = childIdSplt[0];
450
- childVNode = {
451
- $flags$: 0,
664
+ childVNode = createSimpleVNode({
452
665
  $hostId$: childIdSplt[1],
453
666
  $nodeId$: childIdSplt[2],
454
667
  $depth$: childIdSplt[3],
455
- $index$: childIdSplt[4],
668
+ $index$: childIdSplt[4] || "0",
456
669
  $elm$: node,
457
670
  $attrs$: null,
458
671
  $children$: null,
@@ -460,46 +673,43 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
460
673
  $name$: null,
461
674
  $tag$: null,
462
675
  $text$: null
463
- };
676
+ });
464
677
  if (childNodeType === TEXT_NODE_ID) {
465
- childVNode.$elm$ = node.nextSibling;
678
+ childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */);
466
679
  if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
467
680
  childVNode.$text$ = childVNode.$elm$.textContent;
468
681
  childRenderNodes.push(childVNode);
469
682
  node.remove();
470
- if (!parentVNode.$children$) {
471
- parentVNode.$children$ = [];
683
+ if (hostId === childVNode.$hostId$) {
684
+ if (!parentVNode.$children$) {
685
+ parentVNode.$children$ = [];
686
+ }
687
+ parentVNode.$children$[childVNode.$index$] = childVNode;
472
688
  }
473
- parentVNode.$children$[childVNode.$index$] = childVNode;
474
689
  if (shadowRootNodes && childVNode.$depth$ === "0") {
475
690
  shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
476
691
  }
477
692
  }
693
+ } else if (childNodeType === COMMENT_NODE_ID) {
694
+ childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */);
695
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
696
+ childRenderNodes.push(childVNode);
697
+ node.remove();
698
+ }
478
699
  } else if (childVNode.$hostId$ === hostId) {
479
700
  if (childNodeType === SLOT_NODE_ID) {
480
- childVNode.$tag$ = "slot";
481
- if (childIdSplt[5]) {
482
- node["s-sn"] = childVNode.$name$ = childIdSplt[5];
483
- } else {
484
- node["s-sn"] = "";
485
- }
486
- node["s-sr"] = true;
487
- if (shadowRootNodes) {
488
- childVNode.$elm$ = doc.createElement(childVNode.$tag$);
489
- if (childVNode.$name$) {
490
- childVNode.$elm$.setAttribute("name", childVNode.$name$);
491
- }
492
- node.parentNode.insertBefore(childVNode.$elm$, node);
493
- node.remove();
494
- if (childVNode.$depth$ === "0") {
495
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
496
- }
497
- }
498
- slotNodes.push(childVNode);
499
- if (!parentVNode.$children$) {
500
- parentVNode.$children$ = [];
501
- }
502
- parentVNode.$children$[childVNode.$index$] = childVNode;
701
+ const slotName = node["s-sn"] = childIdSplt[5] || "";
702
+ addSlot(
703
+ slotName,
704
+ childIdSplt[2],
705
+ childVNode,
706
+ node,
707
+ parentVNode,
708
+ childRenderNodes,
709
+ slotNodes,
710
+ shadowRootNodes,
711
+ slottedNodes
712
+ );
503
713
  } else if (childNodeType === CONTENT_REF_ID) {
504
714
  if (shadowRootNodes) {
505
715
  node.remove();
@@ -512,18 +722,28 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
512
722
  vnode.$elm$ = node;
513
723
  vnode.$index$ = "0";
514
724
  parentVNode.$children$ = [vnode];
725
+ } else {
726
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
727
+ node.remove();
728
+ }
515
729
  }
730
+ return parentVNode;
516
731
  };
517
732
  var initializeDocumentHydrate = (node, orgLocNodes) => {
518
733
  if (node.nodeType === 1 /* ElementNode */) {
734
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
735
+ if (componentId) {
736
+ orgLocNodes.set(componentId, node);
737
+ }
519
738
  let i2 = 0;
520
739
  if (node.shadowRoot) {
521
740
  for (; i2 < node.shadowRoot.childNodes.length; i2++) {
522
741
  initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
523
742
  }
524
743
  }
525
- for (i2 = 0; i2 < node.childNodes.length; i2++) {
526
- initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);
744
+ const nonShadowNodes = node.__childNodes || node.childNodes;
745
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
746
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
527
747
  }
528
748
  } else if (node.nodeType === 8 /* CommentNode */) {
529
749
  const childIdSplt = node.nodeValue.split(".");
@@ -534,6 +754,75 @@ var initializeDocumentHydrate = (node, orgLocNodes) => {
534
754
  }
535
755
  }
536
756
  };
757
+ var createSimpleVNode = (vnode) => {
758
+ const defaultVNode = {
759
+ $flags$: 0,
760
+ $hostId$: null,
761
+ $nodeId$: null,
762
+ $depth$: null,
763
+ $index$: "0",
764
+ $elm$: null,
765
+ $attrs$: null,
766
+ $children$: null,
767
+ $key$: null,
768
+ $name$: null,
769
+ $tag$: null,
770
+ $text$: null
771
+ };
772
+ return { ...defaultVNode, ...vnode };
773
+ };
774
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
775
+ node["s-sr"] = true;
776
+ childVNode.$name$ = slotName || null;
777
+ childVNode.$tag$ = "slot";
778
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
779
+ if (shadowRootNodes && win.document) {
780
+ const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$);
781
+ if (childVNode.$name$) {
782
+ childVNode.$elm$.setAttribute("name", slotName);
783
+ }
784
+ if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
785
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
786
+ } else {
787
+ node.parentNode.insertBefore(childVNode.$elm$, node);
788
+ }
789
+ addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
790
+ node.remove();
791
+ if (childVNode.$depth$ === "0") {
792
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
793
+ }
794
+ } else {
795
+ const slot = childVNode.$elm$;
796
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
797
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
798
+ patchSlotNode(node);
799
+ if (shouldMove) {
800
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
801
+ }
802
+ childRenderNodes.push(childVNode);
803
+ }
804
+ slotNodes.push(childVNode);
805
+ if (!parentVNode.$children$) {
806
+ parentVNode.$children$ = [];
807
+ }
808
+ parentVNode.$children$[childVNode.$index$] = childVNode;
809
+ }
810
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
811
+ let slottedNode = slotNode.nextSibling;
812
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
813
+ while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
814
+ slottedNode["s-sn"] = slotName;
815
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
816
+ slottedNode = slottedNode.nextSibling;
817
+ }
818
+ };
819
+ var findCorrespondingNode = (node, type) => {
820
+ let sibling = node;
821
+ do {
822
+ sibling = sibling.nextSibling;
823
+ } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
824
+ return sibling;
825
+ };
537
826
  var parsePropertyValue = (propValue, propType) => {
538
827
  if (propValue != null && !isComplexType(propValue)) {
539
828
  if (propType & 4 /* Boolean */) {
@@ -589,7 +878,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
589
878
  var _a;
590
879
  const scopeId2 = getScopeId(cmpMeta);
591
880
  const style = styles.get(scopeId2);
592
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
881
+ if (!win.document) {
882
+ return scopeId2;
883
+ }
884
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
593
885
  if (style) {
594
886
  if (typeof style === "string") {
595
887
  styleContainerNode = styleContainerNode.head || styleContainerNode;
@@ -602,24 +894,38 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
602
894
  if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
603
895
  styleElm.innerHTML = style;
604
896
  } else {
605
- styleElm = doc.createElement("style");
897
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
606
898
  styleElm.innerHTML = style;
607
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
899
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
608
900
  if (nonce != null) {
609
901
  styleElm.setAttribute("nonce", nonce);
610
902
  }
611
903
  if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
612
904
  if (styleContainerNode.nodeName === "HEAD") {
613
905
  const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
614
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : document.querySelector("style");
615
- styleContainerNode.insertBefore(styleElm, referenceNode2);
906
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
907
+ styleContainerNode.insertBefore(
908
+ styleElm,
909
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
910
+ );
616
911
  } else if ("host" in styleContainerNode) {
617
- styleContainerNode.prepend(styleElm);
912
+ if (supportsConstructableStylesheets) {
913
+ const stylesheet = new CSSStyleSheet();
914
+ stylesheet.replaceSync(style);
915
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
916
+ } else {
917
+ const existingStyleContainer = styleContainerNode.querySelector("style");
918
+ if (existingStyleContainer) {
919
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
920
+ } else {
921
+ styleContainerNode.prepend(styleElm);
922
+ }
923
+ }
618
924
  } else {
619
925
  styleContainerNode.append(styleElm);
620
926
  }
621
927
  }
622
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
928
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
623
929
  styleContainerNode.insertBefore(styleElm, null);
624
930
  }
625
931
  }
@@ -644,135 +950,177 @@ var attachStyles = (hostRef) => {
644
950
  const scopeId2 = addStyle(
645
951
  elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
646
952
  cmpMeta);
647
- if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
953
+ if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) {
648
954
  elm["s-sc"] = scopeId2;
649
955
  elm.classList.add(scopeId2 + "-h");
650
- if (flags & 2 /* scopedCssEncapsulation */) {
651
- elm.classList.add(scopeId2 + "-s");
652
- }
653
956
  }
654
957
  endAttachStyles();
655
958
  };
656
959
  var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
657
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
658
- if (oldValue !== newValue) {
659
- let isProp = isMemberInElement(elm, memberName);
660
- let ln = memberName.toLowerCase();
661
- if (memberName === "class") {
662
- const classList = elm.classList;
663
- const oldClasses = parseClassList(oldValue);
664
- const newClasses = parseClassList(newValue);
960
+ var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{");
961
+ var hydrateScopedToShadow = () => {
962
+ if (!win.document) {
963
+ return;
964
+ }
965
+ const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
966
+ let i2 = 0;
967
+ for (; i2 < styles2.length; i2++) {
968
+ registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true);
969
+ }
970
+ };
971
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
972
+ if (oldValue === newValue) {
973
+ return;
974
+ }
975
+ let isProp = isMemberInElement(elm, memberName);
976
+ let ln = memberName.toLowerCase();
977
+ if (memberName === "class") {
978
+ const classList = elm.classList;
979
+ const oldClasses = parseClassList(oldValue);
980
+ let newClasses = parseClassList(newValue);
981
+ if (elm["s-si"] && initialRender) {
982
+ newClasses.push(elm["s-si"]);
983
+ oldClasses.forEach((c) => {
984
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
985
+ });
986
+ newClasses = [...new Set(newClasses)];
987
+ classList.add(...newClasses);
988
+ } else {
665
989
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
666
990
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
667
- } else if (memberName === "style") {
668
- {
669
- for (const prop in oldValue) {
670
- if (!newValue || newValue[prop] == null) {
671
- if (prop.includes("-")) {
672
- elm.style.removeProperty(prop);
673
- } else {
674
- elm.style[prop] = "";
675
- }
676
- }
677
- }
678
- }
679
- for (const prop in newValue) {
680
- if (!oldValue || newValue[prop] !== oldValue[prop]) {
991
+ }
992
+ } else if (memberName === "style") {
993
+ {
994
+ for (const prop in oldValue) {
995
+ if (!newValue || newValue[prop] == null) {
681
996
  if (prop.includes("-")) {
682
- elm.style.setProperty(prop, newValue[prop]);
997
+ elm.style.removeProperty(prop);
683
998
  } else {
684
- elm.style[prop] = newValue[prop];
999
+ elm.style[prop] = "";
685
1000
  }
686
1001
  }
687
1002
  }
688
- } else if (memberName === "key") ; else if (memberName === "ref") {
689
- if (newValue) {
690
- newValue(elm);
691
- }
692
- } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
693
- if (memberName[2] === "-") {
694
- memberName = memberName.slice(3);
695
- } else if (isMemberInElement(win, ln)) {
696
- memberName = ln.slice(2);
697
- } else {
698
- memberName = ln[2] + memberName.slice(3);
699
- }
700
- if (oldValue || newValue) {
701
- const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
702
- memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
703
- if (oldValue) {
704
- plt.rel(elm, memberName, oldValue, capture);
705
- }
706
- if (newValue) {
707
- plt.ael(elm, memberName, newValue, capture);
1003
+ }
1004
+ for (const prop in newValue) {
1005
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
1006
+ if (prop.includes("-")) {
1007
+ elm.style.setProperty(prop, newValue[prop]);
1008
+ } else {
1009
+ elm.style[prop] = newValue[prop];
708
1010
  }
709
1011
  }
1012
+ }
1013
+ } else if (memberName === "key") ; else if (memberName === "ref") {
1014
+ if (newValue) {
1015
+ newValue(elm);
1016
+ }
1017
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1018
+ if (memberName[2] === "-") {
1019
+ memberName = memberName.slice(3);
1020
+ } else if (isMemberInElement(win, ln)) {
1021
+ memberName = ln.slice(2);
710
1022
  } else {
711
- const isComplex = isComplexType(newValue);
712
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
713
- try {
714
- if (!elm.tagName.includes("-")) {
715
- const n = newValue == null ? "" : newValue;
716
- if (memberName === "list") {
717
- isProp = false;
718
- } else if (oldValue == null || elm[memberName] != n) {
719
- if (typeof elm.__lookupSetter__(memberName) === "function") {
720
- elm[memberName] = n;
721
- } else {
722
- elm.setAttribute(memberName, n);
723
- }
1023
+ memberName = ln[2] + memberName.slice(3);
1024
+ }
1025
+ if (oldValue || newValue) {
1026
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
1027
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
1028
+ if (oldValue) {
1029
+ plt.rel(elm, memberName, oldValue, capture);
1030
+ }
1031
+ if (newValue) {
1032
+ plt.ael(elm, memberName, newValue, capture);
1033
+ }
1034
+ }
1035
+ } else {
1036
+ const isComplex = isComplexType(newValue);
1037
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
1038
+ try {
1039
+ if (!elm.tagName.includes("-")) {
1040
+ const n = newValue == null ? "" : newValue;
1041
+ if (memberName === "list") {
1042
+ isProp = false;
1043
+ } else if (oldValue == null || elm[memberName] != n) {
1044
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
1045
+ elm[memberName] = n;
1046
+ } else {
1047
+ elm.setAttribute(memberName, n);
724
1048
  }
725
- } else {
726
- elm[memberName] = newValue;
727
1049
  }
728
- } catch (e) {
1050
+ } else if (elm[memberName] !== newValue) {
1051
+ elm[memberName] = newValue;
729
1052
  }
1053
+ } catch (e) {
730
1054
  }
731
- let xlink = false;
732
- {
733
- if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
734
- memberName = ln;
735
- xlink = true;
736
- }
1055
+ }
1056
+ let xlink = false;
1057
+ {
1058
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
1059
+ memberName = ln;
1060
+ xlink = true;
737
1061
  }
738
- if (newValue == null || newValue === false) {
739
- if (newValue !== false || elm.getAttribute(memberName) === "") {
740
- if (xlink) {
741
- elm.removeAttributeNS(XLINK_NS, memberName);
742
- } else {
743
- elm.removeAttribute(memberName);
744
- }
745
- }
746
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
747
- newValue = newValue === true ? "" : newValue;
1062
+ }
1063
+ if (newValue == null || newValue === false) {
1064
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
748
1065
  if (xlink) {
749
- elm.setAttributeNS(XLINK_NS, memberName, newValue);
1066
+ elm.removeAttributeNS(XLINK_NS, memberName);
750
1067
  } else {
751
- elm.setAttribute(memberName, newValue);
1068
+ elm.removeAttribute(memberName);
752
1069
  }
753
1070
  }
1071
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
1072
+ newValue = newValue === true ? "" : newValue;
1073
+ if (xlink) {
1074
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
1075
+ } else {
1076
+ elm.setAttribute(memberName, newValue);
1077
+ }
754
1078
  }
755
1079
  }
756
1080
  };
757
1081
  var parseClassListRegex = /\s/;
758
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
1082
+ var parseClassList = (value) => {
1083
+ if (typeof value === "object" && value && "baseVal" in value) {
1084
+ value = value.baseVal;
1085
+ }
1086
+ if (!value || typeof value !== "string") {
1087
+ return [];
1088
+ }
1089
+ return value.split(parseClassListRegex);
1090
+ };
759
1091
  var CAPTURE_EVENT_SUFFIX = "Capture";
760
1092
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
761
1093
 
762
1094
  // src/runtime/vdom/update-element.ts
763
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
1095
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
764
1096
  const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
765
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
766
- const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
1097
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
1098
+ const newVnodeAttrs = newVnode.$attrs$ || {};
767
1099
  {
768
1100
  for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
769
1101
  if (!(memberName in newVnodeAttrs)) {
770
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
1102
+ setAccessor(
1103
+ elm,
1104
+ memberName,
1105
+ oldVnodeAttrs[memberName],
1106
+ void 0,
1107
+ isSvgMode2,
1108
+ newVnode.$flags$,
1109
+ isInitialRender
1110
+ );
771
1111
  }
772
1112
  }
773
1113
  }
774
1114
  for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
775
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
1115
+ setAccessor(
1116
+ elm,
1117
+ memberName,
1118
+ oldVnodeAttrs[memberName],
1119
+ newVnodeAttrs[memberName],
1120
+ isSvgMode2,
1121
+ newVnode.$flags$,
1122
+ isInitialRender
1123
+ );
776
1124
  }
777
1125
  };
778
1126
  function sortedAttrNames(attrNames) {
@@ -790,18 +1138,23 @@ var scopeId;
790
1138
  var hostTagName;
791
1139
  var useNativeShadowDom = false;
792
1140
  var isSvgMode = false;
793
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
1141
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
794
1142
  const newVNode2 = newParentVNode.$children$[childIndex];
795
1143
  let i2 = 0;
796
1144
  let elm;
797
1145
  let childNode;
798
1146
  if (newVNode2.$text$ !== null) {
799
- elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
1147
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
800
1148
  } else {
801
1149
  if (!isSvgMode) {
802
1150
  isSvgMode = newVNode2.$tag$ === "svg";
803
1151
  }
804
- elm = newVNode2.$elm$ = doc.createElementNS(
1152
+ if (!win.document) {
1153
+ throw new Error(
1154
+ "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
1155
+ );
1156
+ }
1157
+ elm = newVNode2.$elm$ = win.document.createElementNS(
805
1158
  isSvgMode ? SVG_NS : HTML_NS,
806
1159
  !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
807
1160
  ) ;
@@ -811,17 +1164,12 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
811
1164
  {
812
1165
  updateElement(null, newVNode2, isSvgMode);
813
1166
  }
814
- const rootNode = elm.getRootNode();
815
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
816
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
1167
+ if (isDef(scopeId) && elm["s-si"] !== scopeId) {
817
1168
  elm.classList.add(elm["s-si"] = scopeId);
818
1169
  }
819
- {
820
- updateElementScopeIds(elm, parentElm);
821
- }
822
1170
  if (newVNode2.$children$) {
823
1171
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
824
- childNode = createElm(oldParentVNode, newVNode2, i2, elm);
1172
+ childNode = createElm(oldParentVNode, newVNode2, i2);
825
1173
  if (childNode) {
826
1174
  elm.appendChild(childNode);
827
1175
  }
@@ -846,7 +1194,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
846
1194
  }
847
1195
  for (; startIdx <= endIdx; ++startIdx) {
848
1196
  if (vnodes[startIdx]) {
849
- childNode = createElm(null, parentVNode, startIdx, parentElm);
1197
+ childNode = createElm(null, parentVNode, startIdx);
850
1198
  if (childNode) {
851
1199
  vnodes[startIdx].$elm$ = childNode;
852
1200
  insertBefore(containerElm, childNode, before);
@@ -919,7 +1267,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
919
1267
  if (idxInOld >= 0) {
920
1268
  elmToMove = oldCh[idxInOld];
921
1269
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
922
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);
1270
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
923
1271
  } else {
924
1272
  patch(elmToMove, newStartVnode, isInitialRender);
925
1273
  oldCh[idxInOld] = void 0;
@@ -927,7 +1275,7 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
927
1275
  }
928
1276
  newStartVnode = newCh[++newStartIdx];
929
1277
  } else {
930
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);
1278
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
931
1279
  newStartVnode = newCh[++newStartIdx];
932
1280
  }
933
1281
  if (node) {
@@ -955,6 +1303,9 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
955
1303
  if (!isInitialRender) {
956
1304
  return leftVNode.$key$ === rightVNode.$key$;
957
1305
  }
1306
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
1307
+ leftVNode.$key$ = rightVNode.$key$;
1308
+ }
958
1309
  return true;
959
1310
  }
960
1311
  return false;
@@ -970,9 +1321,7 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
970
1321
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
971
1322
  }
972
1323
  {
973
- if (tag === "slot" && !useNativeShadowDom) ; else {
974
- updateElement(oldVNode, newVNode2, isSvgMode);
975
- }
1324
+ updateElement(oldVNode, newVNode2, isSvgMode, isInitialRender);
976
1325
  }
977
1326
  if (oldChildren !== null && newChildren !== null) {
978
1327
  updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
@@ -1001,38 +1350,34 @@ var nullifyVNodeRefs = (vNode) => {
1001
1350
  }
1002
1351
  };
1003
1352
  var insertBefore = (parent, newNode, reference) => {
1004
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
1353
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
1354
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
1355
+ }
1005
1356
  {
1006
- updateElementScopeIds(newNode, parent);
1007
- }
1008
- return inserted;
1009
- };
1010
- var findScopeIds = (element) => {
1011
- const scopeIds = [];
1012
- if (element) {
1013
- scopeIds.push(
1014
- ...element["s-scs"] || [],
1015
- element["s-si"],
1016
- element["s-sc"],
1017
- ...findScopeIds(element.parentElement)
1018
- );
1357
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1019
1358
  }
1020
- return scopeIds;
1021
1359
  };
1022
- var updateElementScopeIds = (element, parent, iterateChildNodes = false) => {
1023
- var _a;
1024
- if (element && parent && element.nodeType === 1 /* ElementNode */) {
1025
- const scopeIds = new Set(findScopeIds(parent).filter(Boolean));
1026
- if (scopeIds.size) {
1027
- (_a = element.classList) == null ? void 0 : _a.add(...element["s-scs"] = [...scopeIds]);
1028
- if (element["s-ol"] || iterateChildNodes) {
1029
- for (const childNode of Array.from(element.childNodes)) {
1030
- updateElementScopeIds(childNode, element, true);
1360
+ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
1361
+ var _a, _b;
1362
+ let scopeId2;
1363
+ if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
1364
+ const scopeName = slotNode["s-sn"];
1365
+ const hostName = slotNode["s-hn"];
1366
+ (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
1367
+ if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
1368
+ let child = (oldParent.__childNodes || oldParent.childNodes)[0];
1369
+ let found = false;
1370
+ while (child) {
1371
+ if (child["s-sn"] !== scopeName && child["s-hn"] === hostName && !!child["s-sr"]) {
1372
+ found = true;
1373
+ break;
1031
1374
  }
1375
+ child = child.nextSibling;
1032
1376
  }
1377
+ if (!found) oldParent.classList.remove(scopeId2 + "-s");
1033
1378
  }
1034
1379
  }
1035
- };
1380
+ }
1036
1381
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1037
1382
  const hostElm = hostRef.$hostElement$;
1038
1383
  const cmpMeta = hostRef.$cmpMeta$;
@@ -1059,14 +1404,21 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1059
1404
  {
1060
1405
  scopeId = hostElm["s-sc"];
1061
1406
  }
1062
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
1407
+ useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1063
1408
  patch(oldVNode, rootVnode, isInitialLoad);
1064
1409
  };
1065
1410
 
1066
1411
  // src/runtime/update-component.ts
1067
1412
  var attachToAncestor = (hostRef, ancestorComponent) => {
1068
1413
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
1069
- ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
1414
+ const index = ancestorComponent["s-p"].push(
1415
+ new Promise(
1416
+ (r) => hostRef.$onRenderResolve$ = () => {
1417
+ ancestorComponent["s-p"].splice(index - 1, 1);
1418
+ r();
1419
+ }
1420
+ )
1421
+ );
1070
1422
  }
1071
1423
  };
1072
1424
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -1095,14 +1447,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
1095
1447
  {
1096
1448
  hostRef.$flags$ |= 256 /* isListenReady */;
1097
1449
  if (hostRef.$queuedListeners$) {
1098
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1450
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1099
1451
  hostRef.$queuedListeners$ = void 0;
1100
1452
  }
1101
1453
  }
1102
- {
1103
- maybePromise = safeCall(instance, "componentWillLoad");
1104
- }
1454
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
1455
+ } else {
1456
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1105
1457
  }
1458
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
1106
1459
  endSchedule();
1107
1460
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1108
1461
  };
@@ -1168,14 +1521,10 @@ var postUpdateComponent = (hostRef) => {
1168
1521
  const endPostUpdate = createTime("postUpdate", tagName);
1169
1522
  const instance = hostRef.$lazyInstance$ ;
1170
1523
  const ancestorComponent = hostRef.$ancestorComponent$;
1171
- {
1172
- safeCall(instance, "componentDidRender");
1173
- }
1524
+ safeCall(instance, "componentDidRender", void 0, elm);
1174
1525
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1175
1526
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1176
- {
1177
- safeCall(instance, "componentDidLoad");
1178
- }
1527
+ safeCall(instance, "componentDidLoad", void 0, elm);
1179
1528
  endPostUpdate();
1180
1529
  {
1181
1530
  hostRef.$onReadyResolve$(elm);
@@ -1184,6 +1533,7 @@ var postUpdateComponent = (hostRef) => {
1184
1533
  }
1185
1534
  }
1186
1535
  } else {
1536
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1187
1537
  endPostUpdate();
1188
1538
  }
1189
1539
  {
@@ -1203,12 +1553,12 @@ var postUpdateComponent = (hostRef) => {
1203
1553
  var appDidLoad = (who) => {
1204
1554
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1205
1555
  };
1206
- var safeCall = (instance, method, arg) => {
1556
+ var safeCall = (instance, method, arg, elm) => {
1207
1557
  if (instance && instance[method]) {
1208
1558
  try {
1209
1559
  return instance[method](arg);
1210
1560
  } catch (e) {
1211
- consoleError(e);
1561
+ consoleError(e, elm);
1212
1562
  }
1213
1563
  }
1214
1564
  return void 0;
@@ -1246,6 +1596,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1246
1596
  }
1247
1597
  }
1248
1598
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1599
+ if (instance.componentShouldUpdate) {
1600
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1601
+ return;
1602
+ }
1603
+ }
1249
1604
  scheduleUpdate(hostRef, false);
1250
1605
  }
1251
1606
  }
@@ -1257,23 +1612,23 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1257
1612
  var _a, _b;
1258
1613
  const prototype = Cstr.prototype;
1259
1614
  if (cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {
1260
- FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(
1261
- (cbName) => Object.defineProperty(prototype, cbName, {
1615
+ FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach((cbName) => {
1616
+ Object.defineProperty(prototype, cbName, {
1262
1617
  value(...args) {
1263
1618
  const hostRef = getHostRef(this);
1264
1619
  const instance = hostRef.$lazyInstance$ ;
1265
1620
  if (!instance) {
1266
- hostRef.$onReadyPromise$.then((instance2) => {
1267
- const cb = instance2[cbName];
1268
- typeof cb === "function" && cb.call(instance2, ...args);
1621
+ hostRef.$onReadyPromise$.then((asyncInstance) => {
1622
+ const cb = asyncInstance[cbName];
1623
+ typeof cb === "function" && cb.call(asyncInstance, ...args);
1269
1624
  });
1270
1625
  } else {
1271
- const cb = instance[cbName];
1626
+ const cb = instance[cbName] ;
1272
1627
  typeof cb === "function" && cb.call(instance, ...args);
1273
1628
  }
1274
1629
  }
1275
- })
1276
- );
1630
+ });
1631
+ });
1277
1632
  }
1278
1633
  if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
1279
1634
  if (Cstr.watchers && !cmpMeta.$watchers$) {
@@ -1282,15 +1637,68 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1282
1637
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1283
1638
  members.map(([memberName, [memberFlags]]) => {
1284
1639
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1640
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1641
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1642
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1643
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
1644
+ Object.defineProperty(prototype, memberName, {
1645
+ get() {
1646
+ {
1647
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
1648
+ return getValue(this, memberName);
1649
+ }
1650
+ const ref = getHostRef(this);
1651
+ const instance = ref ? ref.$lazyInstance$ : prototype;
1652
+ if (!instance) return;
1653
+ return instance[memberName];
1654
+ }
1655
+ },
1656
+ configurable: true,
1657
+ enumerable: true
1658
+ });
1659
+ }
1285
1660
  Object.defineProperty(prototype, memberName, {
1286
- get() {
1287
- return getValue(this, memberName);
1288
- },
1289
1661
  set(newValue) {
1290
- setValue(this, memberName, newValue, cmpMeta);
1291
- },
1292
- configurable: true,
1293
- enumerable: true
1662
+ const ref = getHostRef(this);
1663
+ if (origSetter) {
1664
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1665
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1666
+ newValue = ref.$instanceValues$.get(memberName);
1667
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
1668
+ ref.$instanceValues$.set(memberName, currentValue);
1669
+ }
1670
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
1671
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1672
+ setValue(this, memberName, newValue, cmpMeta);
1673
+ return;
1674
+ }
1675
+ {
1676
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
1677
+ setValue(this, memberName, newValue, cmpMeta);
1678
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
1679
+ ref.$onReadyPromise$.then(() => {
1680
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
1681
+ ref.$lazyInstance$[memberName] = newValue;
1682
+ }
1683
+ });
1684
+ }
1685
+ return;
1686
+ }
1687
+ const setterSetVal = () => {
1688
+ const currentValue = ref.$lazyInstance$[memberName];
1689
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1690
+ ref.$instanceValues$.set(memberName, currentValue);
1691
+ }
1692
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
1693
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1694
+ };
1695
+ if (ref.$lazyInstance$) {
1696
+ setterSetVal();
1697
+ } else {
1698
+ ref.$onReadyPromise$.then(() => setterSetVal());
1699
+ }
1700
+ }
1701
+ }
1294
1702
  });
1295
1703
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1296
1704
  Object.defineProperty(prototype, memberName, {
@@ -1311,7 +1719,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1311
1719
  plt.jmp(() => {
1312
1720
  var _a2;
1313
1721
  const propName = attrNameToPropName.get(attrName);
1314
- if (this.hasOwnProperty(propName)) {
1722
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1315
1723
  newValue = this[propName];
1316
1724
  delete this[propName];
1317
1725
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -1331,7 +1739,11 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1331
1739
  }
1332
1740
  return;
1333
1741
  }
1334
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1742
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1743
+ newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1744
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
1745
+ this[propName] = newValue;
1746
+ }
1335
1747
  });
1336
1748
  };
1337
1749
  Cstr.observedAttributes = Array.from(
@@ -1360,7 +1772,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1360
1772
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1361
1773
  const bundleId = cmpMeta.$lazyBundleId$;
1362
1774
  if (bundleId) {
1363
- const CstrImport = loadModule(cmpMeta);
1775
+ const CstrImport = loadModule(cmpMeta, hostRef);
1364
1776
  if (CstrImport && "then" in CstrImport) {
1365
1777
  const endLoad = uniqueTime();
1366
1778
  Cstr = await CstrImport;
@@ -1385,7 +1797,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1385
1797
  try {
1386
1798
  new Cstr(hostRef);
1387
1799
  } catch (e) {
1388
- consoleError(e);
1800
+ consoleError(e, elm);
1389
1801
  }
1390
1802
  {
1391
1803
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
@@ -1394,6 +1806,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1394
1806
  hostRef.$flags$ |= 128 /* isWatchReady */;
1395
1807
  }
1396
1808
  endNewInstance();
1809
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1397
1810
  } else {
1398
1811
  Cstr = elm.constructor;
1399
1812
  const cmpTag = elm.localName;
@@ -1420,7 +1833,10 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1420
1833
  schedule();
1421
1834
  }
1422
1835
  };
1423
- var fireConnectedCallback = (instance) => {
1836
+ var fireConnectedCallback = (instance, elm) => {
1837
+ {
1838
+ safeCall(instance, "connectedCallback", void 0, elm);
1839
+ }
1424
1840
  };
1425
1841
 
1426
1842
  // src/runtime/connected-callback.ts
@@ -1438,6 +1854,9 @@ var connectedCallback = (elm) => {
1438
1854
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1439
1855
  const scopeId2 = addStyle(elm.shadowRoot, cmpMeta);
1440
1856
  elm.classList.remove(scopeId2 + "-h", scopeId2 + "-s");
1857
+ } else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
1858
+ const scopeId2 = getScopeId(cmpMeta);
1859
+ elm["s-sc"] = scopeId2;
1441
1860
  }
1442
1861
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
1443
1862
  }
@@ -1465,16 +1884,18 @@ var connectedCallback = (elm) => {
1465
1884
  }
1466
1885
  } else {
1467
1886
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1468
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1469
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1887
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1888
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1889
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1890
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1470
1891
  }
1471
1892
  }
1472
1893
  endConnected();
1473
1894
  }
1474
1895
  };
1475
- var disconnectInstance = (instance) => {
1896
+ var disconnectInstance = (instance, elm) => {
1476
1897
  {
1477
- safeCall(instance, "disconnectedCallback");
1898
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1478
1899
  }
1479
1900
  };
1480
1901
  var disconnectedCallback = async (elm) => {
@@ -1487,31 +1908,44 @@ var disconnectedCallback = async (elm) => {
1487
1908
  }
1488
1909
  }
1489
1910
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1490
- disconnectInstance(hostRef.$lazyInstance$);
1911
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1491
1912
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1492
- hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1913
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1493
1914
  }
1494
1915
  }
1916
+ if (rootAppliedStyles.has(elm)) {
1917
+ rootAppliedStyles.delete(elm);
1918
+ }
1919
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
1920
+ rootAppliedStyles.delete(elm.shadowRoot);
1921
+ }
1495
1922
  };
1496
1923
 
1497
1924
  // src/runtime/bootstrap-lazy.ts
1498
1925
  var bootstrapLazy = (lazyBundles, options = {}) => {
1499
1926
  var _a;
1927
+ if (!win.document) {
1928
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
1929
+ return;
1930
+ }
1500
1931
  const endBootstrap = createTime();
1501
1932
  const cmpTags = [];
1502
1933
  const exclude = options.exclude || [];
1503
1934
  const customElements2 = win.customElements;
1504
- const head = doc.head;
1935
+ const head = win.document.head;
1505
1936
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
1506
- const dataStyles = /* @__PURE__ */ doc.createElement("style");
1937
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
1507
1938
  const deferredConnectedCallbacks = [];
1508
1939
  let appLoadFallback;
1509
1940
  let isBootstrapping = true;
1510
1941
  Object.assign(plt, options);
1511
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
1942
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1512
1943
  {
1513
1944
  plt.$flags$ |= 2 /* appLoaded */;
1514
1945
  }
1946
+ {
1947
+ hydrateScopedToShadow();
1948
+ }
1515
1949
  let hasSlotRelocation = false;
1516
1950
  lazyBundles.map((lazyBundle) => {
1517
1951
  lazyBundle[1].map((compactMeta) => {
@@ -1582,6 +2016,17 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1582
2016
  }
1583
2017
  disconnectedCallback() {
1584
2018
  plt.jmp(() => disconnectedCallback(this));
2019
+ plt.raf(() => {
2020
+ var _a3;
2021
+ const hostRef = getHostRef(this);
2022
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
2023
+ if (i2 > -1) {
2024
+ deferredConnectedCallbacks.splice(i2, 1);
2025
+ }
2026
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
2027
+ delete hostRef.$vnode$.$elm$;
2028
+ }
2029
+ });
1585
2030
  }
1586
2031
  componentOnReady() {
1587
2032
  return getHostRef(this).$onReadyPromise$;
@@ -1606,7 +2051,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1606
2051
  }
1607
2052
  if (dataStyles.innerHTML.length) {
1608
2053
  dataStyles.setAttribute("data-styles", "");
1609
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
2054
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1610
2055
  if (nonce != null) {
1611
2056
  dataStyles.setAttribute("nonce", nonce);
1612
2057
  }
@@ -1627,9 +2072,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1627
2072
  // src/runtime/fragment.ts
1628
2073
  var Fragment = (_, children) => children;
1629
2074
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1630
- if (listeners) {
2075
+ if (listeners && win.document) {
1631
2076
  listeners.map(([flags, name, method]) => {
1632
- const target = getHostListenerTarget(elm, flags) ;
2077
+ const target = getHostListenerTarget(win.document, elm, flags) ;
1633
2078
  const handler = hostListenerProxy(hostRef, method);
1634
2079
  const opts = hostListenerOpts(flags);
1635
2080
  plt.ael(target, name, handler, opts);
@@ -1648,11 +2093,13 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1648
2093
  }
1649
2094
  }
1650
2095
  } catch (e) {
1651
- consoleError(e);
2096
+ consoleError(e, hostRef.$hostElement$);
1652
2097
  }
1653
2098
  };
1654
- var getHostListenerTarget = (elm, flags) => {
1655
- if (flags & 4 /* TargetDocument */) return doc;
2099
+ var getHostListenerTarget = (doc, elm, flags) => {
2100
+ if (flags & 4 /* TargetDocument */) {
2101
+ return doc;
2102
+ }
1656
2103
  return elm;
1657
2104
  };
1658
2105
  var hostListenerOpts = (flags) => supportsListenerOptions ? {
@@ -1665,4 +2112,4 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
1665
2112
 
1666
2113
  export { Fragment as F, Host as H, getElement as a, bootstrapLazy as b, createEvent as c, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1667
2114
 
1668
- //# sourceMappingURL=index-5291e8ff.js.map
2115
+ //# sourceMappingURL=index-be1284b6.js.map