@revolist/revogrid 4.15.2 → 4.15.3

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 (316) hide show
  1. package/dist/cjs/{app-globals-f72a6199.js → app-globals-Dyhp_4xt.js} +3 -2
  2. package/dist/cjs/app-globals-Dyhp_4xt.js.map +1 -0
  3. package/dist/cjs/{cell-renderer-e5481ec8.js → cell-renderer-TbPNpr1V.js} +5 -4
  4. package/dist/cjs/cell-renderer-TbPNpr1V.js.map +1 -0
  5. package/dist/cjs/{column.drag.plugin-f3c54b57.js → column.drag.plugin-6uJDpdhd.js} +15 -20
  6. package/dist/cjs/column.drag.plugin-6uJDpdhd.js.map +1 -0
  7. package/dist/cjs/{column.service-e6411bc8.js → column.service-tkBPqZbF.js} +46 -15
  8. package/dist/cjs/column.service-tkBPqZbF.js.map +1 -0
  9. package/dist/cjs/{debounce-ec7a04b4.js → debounce-CcpHiH2p.js} +13 -20
  10. package/dist/cjs/debounce-CcpHiH2p.js.map +1 -0
  11. package/dist/cjs/{dimension.helpers-29797371.js → dimension.helpers-B22YFI1t.js} +73 -158
  12. package/dist/cjs/dimension.helpers-B22YFI1t.js.map +1 -0
  13. package/dist/cjs/{edit.utils-2142d37d.js → edit.utils-C4mlXiHS.js} +3 -2
  14. package/dist/cjs/edit.utils-C4mlXiHS.js.map +1 -0
  15. package/dist/cjs/{events-af8f6914.js → events-DeLDyZlb.js} +2 -1
  16. package/dist/cjs/events-DeLDyZlb.js.map +1 -0
  17. package/dist/cjs/{filter.button-2708e602.js → filter.button-0z5oxlOa.js} +3 -2
  18. package/dist/cjs/filter.button-0z5oxlOa.js.map +1 -0
  19. package/dist/cjs/{header-cell-renderer-56658ed7.js → header-cell-renderer-BsXDj6T-.js} +8 -9
  20. package/dist/cjs/header-cell-renderer-BsXDj6T-.js.map +1 -0
  21. package/dist/cjs/{index-8006d065.js → index-BkwGxxDX.js} +1403 -1119
  22. package/dist/cjs/index-BkwGxxDX.js.map +1 -0
  23. package/dist/cjs/index.cjs.js +16 -21
  24. package/dist/cjs/index.cjs.js.map +1 -1
  25. package/dist/cjs/loader.cjs.js +4 -5
  26. package/dist/cjs/loader.cjs.js.map +1 -1
  27. package/dist/cjs/{resize-observer-d009a220.js → resize-observer-BCzJvzIA.js} +2 -1
  28. package/dist/cjs/resize-observer-BCzJvzIA.js.map +1 -0
  29. package/dist/cjs/revo-grid.cjs.entry.js +134 -25
  30. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  31. package/dist/cjs/revo-grid.cjs.js +8 -7
  32. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  33. package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
  34. package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
  35. package/dist/cjs/revogr-attribution_7.cjs.entry.js +38 -56
  36. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
  37. package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
  38. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +11 -20
  39. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  40. package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
  41. package/dist/cjs/revogr-data_4.cjs.entry.js +38 -54
  42. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/revogr-filter-panel.cjs.entry.js +14 -12
  44. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  45. package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
  46. package/dist/cjs/{text-editor-aa356695.js → text-editor-CKL2sOoS.js} +4 -3
  47. package/dist/cjs/text-editor-CKL2sOoS.js.map +1 -0
  48. package/dist/cjs/{throttle-c7ae5154.js → throttle-DH3Y55Tf.js} +4 -3
  49. package/dist/cjs/throttle-DH3Y55Tf.js.map +1 -0
  50. package/dist/cjs/{viewport.helpers-e59a544e.js → viewport.helpers-DWmWzj7C.js} +2 -1
  51. package/dist/cjs/viewport.helpers-DWmWzj7C.js.map +1 -0
  52. package/dist/cjs/{viewport.store-7f0d0f80.js → viewport.store-CTVsdNW0.js} +3 -2
  53. package/dist/cjs/viewport.store-CTVsdNW0.js.map +1 -0
  54. package/dist/collection/collection-manifest.json +1 -1
  55. package/dist/collection/components/clipboard/revogr-clipboard.js +1 -4
  56. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  57. package/dist/collection/components/data/revogr-data.js +19 -20
  58. package/dist/collection/components/data/revogr-data.js.map +1 -1
  59. package/dist/collection/components/editors/revogr-edit.js +9 -7
  60. package/dist/collection/components/editors/revogr-edit.js.map +1 -1
  61. package/dist/collection/components/extra/revogr-extra.js +7 -0
  62. package/dist/collection/components/extra/revogr-extra.js.map +1 -1
  63. package/dist/collection/components/header/revogr-header.js +18 -16
  64. package/dist/collection/components/header/revogr-header.js.map +1 -1
  65. package/dist/collection/components/order/revogr-order-editor.js +5 -6
  66. package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
  67. package/dist/collection/components/overlay/revogr-overlay-selection.js +18 -21
  68. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  69. package/dist/collection/components/revoGrid/revo-grid.js +156 -30
  70. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  71. package/dist/collection/components/rowHeaders/revogr-row-headers.js +13 -11
  72. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  73. package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
  74. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  75. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +8 -8
  76. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
  77. package/dist/collection/components/selectionFocus/revogr-focus.js +12 -10
  78. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  79. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +3 -3
  80. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
  81. package/dist/collection/components/vnode/vnode-converter.js +2 -1
  82. package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
  83. package/dist/collection/plugins/filter/filter.panel.js +14 -7
  84. package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
  85. package/dist/collection/plugins/wcag/index.js +3 -3
  86. package/dist/collection/plugins/wcag/index.js.map +1 -1
  87. package/dist/esm/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
  88. package/dist/esm/app-globals-CkPSYtJ_.js.map +1 -0
  89. package/dist/{revo-grid/cell-renderer-852ac653.js → esm/cell-renderer-Dtpwnxt0.js} +5 -4
  90. package/dist/esm/cell-renderer-Dtpwnxt0.js.map +1 -0
  91. package/dist/esm/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
  92. package/dist/esm/column.drag.plugin-BZ32BSNS.js.map +1 -0
  93. package/dist/esm/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
  94. package/dist/esm/column.service-Do0vf1Cg.js.map +1 -0
  95. package/dist/esm/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
  96. package/dist/esm/debounce-BfO9dz9v.js.map +1 -0
  97. package/dist/{revo-grid/dimension.helpers-87e12689.js → esm/dimension.helpers-8nBiaJKx.js} +70 -154
  98. package/dist/esm/dimension.helpers-8nBiaJKx.js.map +1 -0
  99. package/dist/esm/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
  100. package/dist/esm/edit.utils-t1e44_Iw.js.map +1 -0
  101. package/dist/esm/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
  102. package/dist/esm/events-BvSmBueA.js.map +1 -0
  103. package/dist/{revo-grid/filter.button-84396156.js → esm/filter.button-CTclut8G.js} +3 -2
  104. package/dist/esm/filter.button-CTclut8G.js.map +1 -0
  105. package/dist/{revo-grid/header-cell-renderer-c2acd090.js → esm/header-cell-renderer-CF2Sx-Ys.js} +8 -9
  106. package/dist/esm/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
  107. package/dist/esm/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
  108. package/dist/esm/index-CHLNwl4l.js.map +1 -0
  109. package/dist/esm/index.js +14 -13
  110. package/dist/esm/index.js.map +1 -1
  111. package/dist/esm/loader.js +5 -4
  112. package/dist/esm/loader.js.map +1 -1
  113. package/dist/esm/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
  114. package/dist/esm/resize-observer-Ccj7Fd8V.js.map +1 -0
  115. package/dist/esm/revo-grid.entry.js +134 -23
  116. package/dist/esm/revo-grid.entry.js.map +1 -1
  117. package/dist/esm/revo-grid.js +7 -5
  118. package/dist/esm/revo-grid.js.map +1 -1
  119. package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
  120. package/dist/esm/revogr-attribution_7.entry.js +38 -54
  121. package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
  122. package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
  123. package/dist/esm/revogr-clipboard_3.entry.js +11 -18
  124. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  125. package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
  126. package/dist/esm/revogr-data_4.entry.js +38 -52
  127. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  128. package/dist/esm/revogr-filter-panel.entry.js +14 -10
  129. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  130. package/dist/{revo-grid/text-editor-4224a2f6.js → esm/text-editor-CaPIpNpL.js} +4 -3
  131. package/dist/esm/text-editor-CaPIpNpL.js.map +1 -0
  132. package/dist/{revo-grid/throttle-7c83ca69.js → esm/throttle-DXN-EdTN.js} +4 -3
  133. package/dist/esm/throttle-DXN-EdTN.js.map +1 -0
  134. package/dist/{revo-grid/viewport.helpers-7e7f9dad.js → esm/viewport.helpers-B3EYGhqf.js} +2 -1
  135. package/dist/esm/viewport.helpers-B3EYGhqf.js.map +1 -0
  136. package/dist/{revo-grid/viewport.store-84060ef5.js → esm/viewport.store-BM58GIue.js} +3 -2
  137. package/dist/esm/viewport.store-BM58GIue.js.map +1 -0
  138. package/dist/revo-grid/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
  139. package/dist/revo-grid/app-globals-CkPSYtJ_.js.map +1 -0
  140. package/dist/{esm/cell-renderer-852ac653.js → revo-grid/cell-renderer-Dtpwnxt0.js} +5 -4
  141. package/dist/revo-grid/cell-renderer-Dtpwnxt0.js.map +1 -0
  142. package/dist/revo-grid/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
  143. package/dist/revo-grid/column.drag.plugin-BZ32BSNS.js.map +1 -0
  144. package/dist/revo-grid/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
  145. package/dist/revo-grid/column.service-Do0vf1Cg.js.map +1 -0
  146. package/dist/revo-grid/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
  147. package/dist/revo-grid/debounce-BfO9dz9v.js.map +1 -0
  148. package/dist/{esm/dimension.helpers-87e12689.js → revo-grid/dimension.helpers-8nBiaJKx.js} +70 -154
  149. package/dist/revo-grid/dimension.helpers-8nBiaJKx.js.map +1 -0
  150. package/dist/revo-grid/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
  151. package/dist/revo-grid/edit.utils-t1e44_Iw.js.map +1 -0
  152. package/dist/revo-grid/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
  153. package/dist/revo-grid/events-BvSmBueA.js.map +1 -0
  154. package/dist/{esm/filter.button-84396156.js → revo-grid/filter.button-CTclut8G.js} +3 -2
  155. package/dist/revo-grid/filter.button-CTclut8G.js.map +1 -0
  156. package/dist/{esm/header-cell-renderer-c2acd090.js → revo-grid/header-cell-renderer-CF2Sx-Ys.js} +8 -9
  157. package/dist/revo-grid/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
  158. package/dist/revo-grid/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
  159. package/dist/revo-grid/index-CHLNwl4l.js.map +1 -0
  160. package/dist/revo-grid/index.esm.js +14 -13
  161. package/dist/revo-grid/index.esm.js.map +1 -1
  162. package/dist/revo-grid/loader.esm.js.map +1 -0
  163. package/dist/revo-grid/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
  164. package/dist/revo-grid/resize-observer-Ccj7Fd8V.js.map +1 -0
  165. package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
  166. package/dist/revo-grid/revo-grid.entry.js +134 -23
  167. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  168. package/dist/revo-grid/revo-grid.esm.js +7 -5
  169. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  170. package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
  171. package/dist/revo-grid/revogr-attribution_7.entry.js +38 -54
  172. package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
  173. package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
  174. package/dist/revo-grid/revogr-clipboard_3.entry.js +11 -18
  175. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  176. package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
  177. package/dist/revo-grid/revogr-data_4.entry.js +38 -52
  178. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  179. package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
  180. package/dist/revo-grid/revogr-filter-panel.entry.js +14 -10
  181. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  182. package/dist/{esm/text-editor-4224a2f6.js → revo-grid/text-editor-CaPIpNpL.js} +4 -3
  183. package/dist/revo-grid/text-editor-CaPIpNpL.js.map +1 -0
  184. package/dist/{esm/throttle-7c83ca69.js → revo-grid/throttle-DXN-EdTN.js} +4 -3
  185. package/dist/revo-grid/throttle-DXN-EdTN.js.map +1 -0
  186. package/dist/{esm/viewport.helpers-7e7f9dad.js → revo-grid/viewport.helpers-B3EYGhqf.js} +2 -1
  187. package/dist/revo-grid/viewport.helpers-B3EYGhqf.js.map +1 -0
  188. package/dist/{esm/viewport.store-84060ef5.js → revo-grid/viewport.store-BM58GIue.js} +3 -2
  189. package/dist/revo-grid/viewport.store-BM58GIue.js.map +1 -0
  190. package/dist/types/stencil-public-runtime.d.ts +3 -0
  191. package/hydrate/index.d.ts +34 -5
  192. package/hydrate/index.js +2629 -2051
  193. package/hydrate/index.mjs +2639 -2061
  194. package/package.json +3 -3
  195. package/standalone/column.service.js +42 -12
  196. package/standalone/column.service.js.map +1 -1
  197. package/standalone/consts.js +1 -0
  198. package/standalone/consts.js.map +1 -1
  199. package/standalone/data.store.js +59 -143
  200. package/standalone/data.store.js.map +1 -1
  201. package/standalone/debounce.js +5 -6
  202. package/standalone/debounce.js.map +1 -1
  203. package/standalone/dimension.helpers.js +10 -9
  204. package/standalone/dimension.helpers.js.map +1 -1
  205. package/standalone/filter.button.js +1 -0
  206. package/standalone/filter.button.js.map +1 -1
  207. package/standalone/index.js +3 -2
  208. package/standalone/index.js.map +1 -1
  209. package/standalone/index2.js +1 -0
  210. package/standalone/index2.js.map +1 -1
  211. package/standalone/local.scroll.timer.js +1 -0
  212. package/standalone/local.scroll.timer.js.map +1 -1
  213. package/standalone/platform.js +3 -2
  214. package/standalone/platform.js.map +1 -1
  215. package/standalone/resize-observer.js +1 -0
  216. package/standalone/resize-observer.js.map +1 -1
  217. package/standalone/revo-grid.js +140 -35
  218. package/standalone/revo-grid.js.map +1 -1
  219. package/standalone/revogr-attribution.js +1 -0
  220. package/standalone/revogr-attribution2.js +1 -0
  221. package/standalone/revogr-attribution2.js.map +1 -1
  222. package/standalone/revogr-clipboard.js +1 -0
  223. package/standalone/revogr-clipboard2.js +1 -1
  224. package/standalone/revogr-clipboard2.js.map +1 -1
  225. package/standalone/revogr-data.js +1 -0
  226. package/standalone/revogr-data2.js +16 -24
  227. package/standalone/revogr-data2.js.map +1 -1
  228. package/standalone/revogr-edit.js +1 -0
  229. package/standalone/revogr-edit2.js +8 -9
  230. package/standalone/revogr-edit2.js.map +1 -1
  231. package/standalone/revogr-extra.js +1 -0
  232. package/standalone/revogr-extra2.js +7 -0
  233. package/standalone/revogr-extra2.js.map +1 -1
  234. package/standalone/revogr-filter-panel.js +14 -10
  235. package/standalone/revogr-filter-panel.js.map +1 -1
  236. package/standalone/revogr-focus.js +1 -0
  237. package/standalone/revogr-focus2.js +12 -16
  238. package/standalone/revogr-focus2.js.map +1 -1
  239. package/standalone/revogr-header.js +1 -0
  240. package/standalone/revogr-header2.js +24 -34
  241. package/standalone/revogr-header2.js.map +1 -1
  242. package/standalone/revogr-order-editor.js +1 -0
  243. package/standalone/revogr-order-editor2.js +4 -8
  244. package/standalone/revogr-order-editor2.js.map +1 -1
  245. package/standalone/revogr-overlay-selection.js +1 -0
  246. package/standalone/revogr-overlay-selection2.js +15 -25
  247. package/standalone/revogr-overlay-selection2.js.map +1 -1
  248. package/standalone/revogr-row-headers.js +1 -0
  249. package/standalone/revogr-row-headers2.js +11 -12
  250. package/standalone/revogr-row-headers2.js.map +1 -1
  251. package/standalone/revogr-scroll-virtual.js +1 -0
  252. package/standalone/revogr-scroll-virtual2.js +6 -6
  253. package/standalone/revogr-scroll-virtual2.js.map +1 -1
  254. package/standalone/revogr-temp-range.js +1 -0
  255. package/standalone/revogr-temp-range2.js +5 -8
  256. package/standalone/revogr-temp-range2.js.map +1 -1
  257. package/standalone/revogr-viewport-scroll.js +1 -0
  258. package/standalone/revogr-viewport-scroll2.js +9 -5
  259. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  260. package/standalone/selection.utils.js +2 -1
  261. package/standalone/selection.utils.js.map +1 -1
  262. package/standalone/throttle.js +2 -1
  263. package/standalone/throttle.js.map +1 -1
  264. package/standalone/toNumber.js +6 -11
  265. package/standalone/toNumber.js.map +1 -1
  266. package/standalone/vnode-converter.js +2 -1
  267. package/standalone/vnode-converter.js.map +1 -1
  268. package/standalone/vnode-html.js +1 -0
  269. package/dist/cjs/app-globals-f72a6199.js.map +0 -1
  270. package/dist/cjs/cell-renderer-e5481ec8.js.map +0 -1
  271. package/dist/cjs/column.drag.plugin-f3c54b57.js.map +0 -1
  272. package/dist/cjs/column.service-e6411bc8.js.map +0 -1
  273. package/dist/cjs/debounce-ec7a04b4.js.map +0 -1
  274. package/dist/cjs/dimension.helpers-29797371.js.map +0 -1
  275. package/dist/cjs/edit.utils-2142d37d.js.map +0 -1
  276. package/dist/cjs/events-af8f6914.js.map +0 -1
  277. package/dist/cjs/filter.button-2708e602.js.map +0 -1
  278. package/dist/cjs/header-cell-renderer-56658ed7.js.map +0 -1
  279. package/dist/cjs/index-8006d065.js.map +0 -1
  280. package/dist/cjs/resize-observer-d009a220.js.map +0 -1
  281. package/dist/cjs/text-editor-aa356695.js.map +0 -1
  282. package/dist/cjs/throttle-c7ae5154.js.map +0 -1
  283. package/dist/cjs/viewport.helpers-e59a544e.js.map +0 -1
  284. package/dist/cjs/viewport.store-7f0d0f80.js.map +0 -1
  285. package/dist/esm/app-globals-6b929fd8.js.map +0 -1
  286. package/dist/esm/cell-renderer-852ac653.js.map +0 -1
  287. package/dist/esm/column.drag.plugin-c6b89504.js.map +0 -1
  288. package/dist/esm/column.service-e3c41fb8.js.map +0 -1
  289. package/dist/esm/debounce-b3166f78.js.map +0 -1
  290. package/dist/esm/dimension.helpers-87e12689.js.map +0 -1
  291. package/dist/esm/edit.utils-512f86c9.js.map +0 -1
  292. package/dist/esm/events-cf0893a3.js.map +0 -1
  293. package/dist/esm/filter.button-84396156.js.map +0 -1
  294. package/dist/esm/header-cell-renderer-c2acd090.js.map +0 -1
  295. package/dist/esm/index-f6fae858.js.map +0 -1
  296. package/dist/esm/resize-observer-83c9e167.js.map +0 -1
  297. package/dist/esm/text-editor-4224a2f6.js.map +0 -1
  298. package/dist/esm/throttle-7c83ca69.js.map +0 -1
  299. package/dist/esm/viewport.helpers-7e7f9dad.js.map +0 -1
  300. package/dist/esm/viewport.store-84060ef5.js.map +0 -1
  301. package/dist/revo-grid/app-globals-6b929fd8.js.map +0 -1
  302. package/dist/revo-grid/cell-renderer-852ac653.js.map +0 -1
  303. package/dist/revo-grid/column.drag.plugin-c6b89504.js.map +0 -1
  304. package/dist/revo-grid/column.service-e3c41fb8.js.map +0 -1
  305. package/dist/revo-grid/debounce-b3166f78.js.map +0 -1
  306. package/dist/revo-grid/dimension.helpers-87e12689.js.map +0 -1
  307. package/dist/revo-grid/edit.utils-512f86c9.js.map +0 -1
  308. package/dist/revo-grid/events-cf0893a3.js.map +0 -1
  309. package/dist/revo-grid/filter.button-84396156.js.map +0 -1
  310. package/dist/revo-grid/header-cell-renderer-c2acd090.js.map +0 -1
  311. package/dist/revo-grid/index-f6fae858.js.map +0 -1
  312. package/dist/revo-grid/resize-observer-83c9e167.js.map +0 -1
  313. package/dist/revo-grid/text-editor-4224a2f6.js.map +0 -1
  314. package/dist/revo-grid/throttle-7c83ca69.js.map +0 -1
  315. package/dist/revo-grid/viewport.helpers-7e7f9dad.js.map +0 -1
  316. package/dist/revo-grid/viewport.store-84060ef5.js.map +0 -1
@@ -3,31 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- function _interopNamespace(e) {
7
- if (e && e.__esModule) return e;
8
- var n = Object.create(null);
9
- if (e) {
10
- Object.keys(e).forEach(function (k) {
11
- if (k !== 'default') {
12
- var d = Object.getOwnPropertyDescriptor(e, k);
13
- Object.defineProperty(n, k, d.get ? d : {
14
- enumerable: true,
15
- get: function () {
16
- return e[k];
17
- }
18
- });
19
- }
20
- });
21
- }
22
- n['default'] = e;
23
- return Object.freeze(n);
24
- }
25
-
26
6
  const NAMESPACE = 'revo-grid';
27
- const BUILD = /* revo-grid */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: true, 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: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, 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 };
7
+ const BUILD = /* revo-grid */ { hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: false, slotRelocation: true, updatable: true};
28
8
 
29
9
  /*
30
- Stencil Client Platform v4.23.0 | MIT Licensed | https://stenciljs.com
10
+ Stencil Client Platform v4.29.2 | MIT Licensed | https://stenciljs.com
31
11
  */
32
12
  var __defProp = Object.defineProperty;
33
13
  var __export = (target, all) => {
@@ -35,14 +15,47 @@ var __export = (target, all) => {
35
15
  __defProp(target, name, { get: all[name], enumerable: true });
36
16
  };
37
17
  var Build = {
38
- isDev: false,
39
- isBrowser: true,
40
- isServer: false,
41
- isTesting: false
42
- };
43
- var hostRefs = /* @__PURE__ */ new WeakMap();
44
- var getHostRef = (ref) => hostRefs.get(ref);
45
- var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
18
+ isDev: false};
19
+
20
+ // src/utils/constants.ts
21
+ var SVG_NS = "http://www.w3.org/2000/svg";
22
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
23
+ var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
24
+ PrimitiveType2["Undefined"] = "undefined";
25
+ PrimitiveType2["Null"] = "null";
26
+ PrimitiveType2["String"] = "string";
27
+ PrimitiveType2["Number"] = "number";
28
+ PrimitiveType2["SpecialNumber"] = "number";
29
+ PrimitiveType2["Boolean"] = "boolean";
30
+ PrimitiveType2["BigInt"] = "bigint";
31
+ return PrimitiveType2;
32
+ })(PrimitiveType || {});
33
+ var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
34
+ NonPrimitiveType2["Array"] = "array";
35
+ NonPrimitiveType2["Date"] = "date";
36
+ NonPrimitiveType2["Map"] = "map";
37
+ NonPrimitiveType2["Object"] = "object";
38
+ NonPrimitiveType2["RegularExpression"] = "regexp";
39
+ NonPrimitiveType2["Set"] = "set";
40
+ NonPrimitiveType2["Channel"] = "channel";
41
+ NonPrimitiveType2["Symbol"] = "symbol";
42
+ return NonPrimitiveType2;
43
+ })(NonPrimitiveType || {});
44
+ var TYPE_CONSTANT = "type";
45
+ var VALUE_CONSTANT = "value";
46
+ var SERIALIZED_PREFIX = "serialized:";
47
+
48
+ // src/client/client-host-ref.ts
49
+ var getHostRef = (ref) => {
50
+ if (ref.__stencil__getHostRef) {
51
+ return ref.__stencil__getHostRef();
52
+ }
53
+ return void 0;
54
+ };
55
+ var registerInstance = (lazyInstance, hostRef) => {
56
+ lazyInstance.__stencil__getHostRef = () => hostRef;
57
+ hostRef.$lazyInstance$ = lazyInstance;
58
+ };
46
59
  var registerHost = (hostElement, cmpMeta) => {
47
60
  const hostRef = {
48
61
  $flags$: 0,
@@ -58,7 +71,9 @@ var registerHost = (hostElement, cmpMeta) => {
58
71
  hostElement["s-p"] = [];
59
72
  hostElement["s-rc"] = [];
60
73
  }
61
- return hostRefs.set(hostElement, hostRef);
74
+ const ref = hostRef;
75
+ hostElement.__stencil__getHostRef = () => ref;
76
+ return ref;
62
77
  };
63
78
  var isMemberInElement = (elm, memberName) => memberName in elm;
64
79
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -105,18 +120,23 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
105
120
  './revogr-data_4.cjs.entry.js')); }).then(processMod, consoleError);
106
121
  }
107
122
  }
108
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
123
+ return import(
109
124
  /* @vite-ignore */
110
125
  /* webpackInclude: /\.entry\.js$/ */
111
126
  /* webpackExclude: /\.system\.entry\.js$/ */
112
127
  /* webpackMode: "lazy" */
113
128
  `./${bundleId}.entry.js${""}`
114
- )); }).then((importedModule) => {
115
- {
116
- cmpModules.set(bundleId, importedModule);
129
+ ).then(
130
+ (importedModule) => {
131
+ {
132
+ cmpModules.set(bundleId, importedModule);
133
+ }
134
+ return importedModule[exportName];
135
+ },
136
+ (e) => {
137
+ consoleError(e, hostRef.$hostElement$);
117
138
  }
118
- return importedModule[exportName];
119
- }, consoleError);
139
+ );
120
140
  };
121
141
 
122
142
  // src/client/client-style.ts
@@ -134,7 +154,6 @@ var HYDRATE_CHILD_ID = "c-id";
134
154
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
135
155
  var XLINK_NS = "http://www.w3.org/1999/xlink";
136
156
  var win = typeof window !== "undefined" ? window : {};
137
- var doc = win.document || { head: {} };
138
157
  var plt = {
139
158
  $flags$: 0,
140
159
  $resourcesUrl$: "",
@@ -146,9 +165,10 @@ var plt = {
146
165
  };
147
166
  var supportsShadow = BUILD.shadowDom;
148
167
  var supportsListenerOptions = /* @__PURE__ */ (() => {
168
+ var _a;
149
169
  let supportsListenerOptions2 = false;
150
170
  try {
151
- doc.addEventListener(
171
+ (_a = win.document) == null ? void 0 : _a.addEventListener(
152
172
  "e",
153
173
  null,
154
174
  Object.defineProperty({}, "passive", {
@@ -205,25 +225,112 @@ var flush = () => {
205
225
  };
206
226
  var nextTick = (cb) => promiseResolve().then(cb);
207
227
  var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
208
-
209
- // src/utils/constants.ts
210
- var EMPTY_OBJ = {};
211
- var SVG_NS = "http://www.w3.org/2000/svg";
212
- var HTML_NS = "http://www.w3.org/1999/xhtml";
213
-
214
- // src/utils/helpers.ts
215
- var isDef = (v) => v != null;
216
228
  var isComplexType = (o) => {
217
229
  o = typeof o;
218
230
  return o === "object" || o === "function";
219
231
  };
220
232
 
221
233
  // src/utils/query-nonce-meta-tag-content.ts
222
- function queryNonceMetaTagContent(doc2) {
234
+ function queryNonceMetaTagContent(doc) {
223
235
  var _a, _b, _c;
224
- 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;
236
+ 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;
225
237
  }
226
238
 
239
+ // src/utils/remote-value.ts
240
+ var RemoteValue = class _RemoteValue {
241
+ /**
242
+ * Deserializes a LocalValue serialized object back to its original JavaScript representation
243
+ *
244
+ * @param serialized The serialized LocalValue object
245
+ * @returns The original JavaScript value/object
246
+ */
247
+ static fromLocalValue(serialized) {
248
+ const type = serialized[TYPE_CONSTANT];
249
+ const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
250
+ switch (type) {
251
+ case "string" /* String */:
252
+ return value;
253
+ case "boolean" /* Boolean */:
254
+ return value;
255
+ case "bigint" /* BigInt */:
256
+ return BigInt(value);
257
+ case "undefined" /* Undefined */:
258
+ return void 0;
259
+ case "null" /* Null */:
260
+ return null;
261
+ case "number" /* Number */:
262
+ if (value === "NaN") return NaN;
263
+ if (value === "-0") return -0;
264
+ if (value === "Infinity") return Infinity;
265
+ if (value === "-Infinity") return -Infinity;
266
+ return value;
267
+ case "array" /* Array */:
268
+ return value.map((item) => _RemoteValue.fromLocalValue(item));
269
+ case "date" /* Date */:
270
+ return new Date(value);
271
+ case "map" /* Map */:
272
+ const map2 = /* @__PURE__ */ new Map();
273
+ for (const [key, val] of value) {
274
+ const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
275
+ const deserializedValue = _RemoteValue.fromLocalValue(val);
276
+ map2.set(deserializedKey, deserializedValue);
277
+ }
278
+ return map2;
279
+ case "object" /* Object */:
280
+ const obj = {};
281
+ for (const [key, val] of value) {
282
+ obj[key] = _RemoteValue.fromLocalValue(val);
283
+ }
284
+ return obj;
285
+ case "regexp" /* RegularExpression */:
286
+ const { pattern, flags } = value;
287
+ return new RegExp(pattern, flags);
288
+ case "set" /* Set */:
289
+ const set = /* @__PURE__ */ new Set();
290
+ for (const item of value) {
291
+ set.add(_RemoteValue.fromLocalValue(item));
292
+ }
293
+ return set;
294
+ case "symbol" /* Symbol */:
295
+ return Symbol(value);
296
+ default:
297
+ throw new Error(`Unsupported type: ${type}`);
298
+ }
299
+ }
300
+ /**
301
+ * Utility method to deserialize multiple LocalValues at once
302
+ *
303
+ * @param serializedValues Array of serialized LocalValue objects
304
+ * @returns Array of deserialized JavaScript values
305
+ */
306
+ static fromLocalValueArray(serializedValues) {
307
+ return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
308
+ }
309
+ /**
310
+ * Verifies if the given object matches the structure of a serialized LocalValue
311
+ *
312
+ * @param obj Object to verify
313
+ * @returns boolean indicating if the object has LocalValue structure
314
+ */
315
+ static isLocalValueObject(obj) {
316
+ if (typeof obj !== "object" || obj === null) {
317
+ return false;
318
+ }
319
+ if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
320
+ return false;
321
+ }
322
+ const type = obj[TYPE_CONSTANT];
323
+ const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
324
+ if (!hasTypeProperty) {
325
+ return false;
326
+ }
327
+ if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
328
+ return obj.hasOwnProperty(VALUE_CONSTANT);
329
+ }
330
+ return true;
331
+ }
332
+ };
333
+
227
334
  // src/utils/result.ts
228
335
  var result_exports = {};
229
336
  __export(result_exports, {
@@ -272,6 +379,162 @@ var unwrapErr = (result) => {
272
379
  throw result.value;
273
380
  }
274
381
  };
382
+
383
+ // src/utils/serialize.ts
384
+ function deserializeProperty(value) {
385
+ if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
386
+ return value;
387
+ }
388
+ return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
389
+ }
390
+ var updateFallbackSlotVisibility = (elm) => {
391
+ const childNodes = internalCall(elm, "childNodes");
392
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
393
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
394
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
395
+ if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
396
+ slotNode.hidden = true;
397
+ } else {
398
+ slotNode.hidden = false;
399
+ }
400
+ }
401
+ });
402
+ }
403
+ let i2 = 0;
404
+ for (i2 = 0; i2 < childNodes.length; i2++) {
405
+ const childNode = childNodes[i2];
406
+ if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
407
+ updateFallbackSlotVisibility(childNode);
408
+ }
409
+ }
410
+ };
411
+ var getSlottedChildNodes = (childNodes) => {
412
+ const result = [];
413
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
414
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
415
+ if (slottedNode && slottedNode.isConnected) {
416
+ result.push(slottedNode);
417
+ }
418
+ }
419
+ return result;
420
+ };
421
+ function getHostSlotNodes(childNodes, hostName, slotName) {
422
+ let i2 = 0;
423
+ let slottedNodes = [];
424
+ let childNode;
425
+ for (; i2 < childNodes.length; i2++) {
426
+ childNode = childNodes[i2];
427
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) {
428
+ slottedNodes.push(childNode);
429
+ }
430
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
431
+ }
432
+ return slottedNodes;
433
+ }
434
+ var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
435
+ const childNodes = [];
436
+ if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
437
+ let node = slot;
438
+ while (node = node.nextSibling) {
439
+ if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
440
+ }
441
+ return childNodes;
442
+ };
443
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
444
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
445
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
446
+ return true;
447
+ }
448
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
449
+ return true;
450
+ }
451
+ return false;
452
+ }
453
+ if (nodeToRelocate["s-sn"] === slotName) {
454
+ return true;
455
+ }
456
+ return slotName === "";
457
+ };
458
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
459
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
460
+ return;
461
+ }
462
+ const slottedNodeLocation = document.createTextNode("");
463
+ slottedNodeLocation["s-nr"] = newChild;
464
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
465
+ const parent = slotNode["s-cr"].parentNode;
466
+ const appendMethod = internalCall(parent, "appendChild");
467
+ if (typeof position !== "undefined") {
468
+ slottedNodeLocation["s-oo"] = position;
469
+ const childNodes = internalCall(parent, "childNodes");
470
+ const slotRelocateNodes = [slottedNodeLocation];
471
+ childNodes.forEach((n) => {
472
+ if (n["s-nr"]) slotRelocateNodes.push(n);
473
+ });
474
+ slotRelocateNodes.sort((a, b) => {
475
+ if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1;
476
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
477
+ return 0;
478
+ });
479
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
480
+ } else {
481
+ appendMethod.call(parent, slottedNodeLocation);
482
+ }
483
+ newChild["s-ol"] = slottedNodeLocation;
484
+ newChild["s-sh"] = slotNode["s-hn"];
485
+ };
486
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
487
+ function patchSlotNode(node) {
488
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
489
+ const assignedFactory = (elementsOnly) => (function(opts) {
490
+ const toReturn = [];
491
+ const slotName = this["s-sn"];
492
+ if (opts == null ? void 0 : opts.flatten) {
493
+ console.error(`
494
+ Flattening is not supported for Stencil non-shadow slots.
495
+ You can use \`.childNodes\` to nested slot fallback content.
496
+ If you have a particular use case, please open an issue on the Stencil repo.
497
+ `);
498
+ }
499
+ const parent = this["s-cr"].parentElement;
500
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
501
+ slottedNodes.forEach((n) => {
502
+ if (slotName === getSlotName(n)) {
503
+ toReturn.push(n);
504
+ }
505
+ });
506
+ if (elementsOnly) {
507
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
508
+ }
509
+ return toReturn;
510
+ }).bind(node);
511
+ node.assignedElements = assignedFactory(true);
512
+ node.assignedNodes = assignedFactory(false);
513
+ }
514
+ function internalCall(node, method) {
515
+ if ("__" + method in node) {
516
+ const toReturn = node["__" + method];
517
+ if (typeof toReturn !== "function") return toReturn;
518
+ return toReturn.bind(node);
519
+ } else {
520
+ if (typeof node[method] !== "function") return node[method];
521
+ return node[method].bind(node);
522
+ }
523
+ }
524
+ var createTime = (fnName, tagName = "") => {
525
+ {
526
+ return () => {
527
+ return;
528
+ };
529
+ }
530
+ };
531
+ var uniqueTime = (key, measureText) => {
532
+ {
533
+ return () => {
534
+ return;
535
+ };
536
+ }
537
+ };
275
538
  var h = (nodeName, vnodeData, ...children) => {
276
539
  let child = null;
277
540
  let key = null;
@@ -383,1119 +646,1108 @@ var convertToPrivate = (node) => {
383
646
  vnode.$name$ = node.vname;
384
647
  return vnode;
385
648
  };
386
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
387
- if (oldValue !== newValue) {
388
- let isProp = isMemberInElement(elm, memberName);
389
- let ln = memberName.toLowerCase();
390
- if (memberName === "class") {
391
- const classList = elm.classList;
392
- const oldClasses = parseClassList(oldValue);
393
- const newClasses = parseClassList(newValue);
394
- if (elm["s-si"] && newClasses.indexOf(elm["s-si"]) < 0) {
395
- newClasses.push(elm["s-si"]);
396
- }
397
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
398
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
399
- } else if (memberName === "style") {
400
- {
401
- for (const prop in oldValue) {
402
- if (!newValue || newValue[prop] == null) {
403
- if (prop.includes("-")) {
404
- elm.style.removeProperty(prop);
405
- } else {
406
- elm.style[prop] = "";
407
- }
408
- }
409
- }
649
+
650
+ // src/runtime/client-hydrate.ts
651
+ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
652
+ var _a;
653
+ const endHydrate = createTime("hydrateClient", tagName);
654
+ const shadowRoot = hostElm.shadowRoot;
655
+ const childRenderNodes = [];
656
+ const slotNodes = [];
657
+ const slottedNodes = [];
658
+ const shadowRootNodes = null;
659
+ const vnode = newVNode(tagName, null);
660
+ vnode.$elm$ = hostElm;
661
+ const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
662
+ members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
663
+ var _a2;
664
+ if (!(memberFlags & 31 /* Prop */)) {
665
+ return;
666
+ }
667
+ const attributeName = metaAttributeName || memberName;
668
+ const attrVal = hostElm.getAttribute(attributeName);
669
+ if (attrVal !== null) {
670
+ const attrPropVal = parsePropertyValue(attrVal, memberFlags);
671
+ (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
672
+ }
673
+ });
674
+ if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
675
+ initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
676
+ }
677
+ hostElm[HYDRATE_ID] = hostId;
678
+ hostElm.removeAttribute(HYDRATE_ID);
679
+ hostRef.$vnode$ = clientHydrate(
680
+ vnode,
681
+ childRenderNodes,
682
+ slotNodes,
683
+ shadowRootNodes,
684
+ hostElm,
685
+ hostElm,
686
+ hostId,
687
+ slottedNodes
688
+ );
689
+ let crIndex = 0;
690
+ const crLength = childRenderNodes.length;
691
+ let childRenderNode;
692
+ for (crIndex; crIndex < crLength; crIndex++) {
693
+ childRenderNode = childRenderNodes[crIndex];
694
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
695
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
696
+ const node = childRenderNode.$elm$;
697
+ if (!shadowRoot) {
698
+ node["s-hn"] = tagName.toUpperCase();
699
+ if (childRenderNode.$tag$ === "slot") {
700
+ node["s-cr"] = hostElm["s-cr"];
410
701
  }
411
- for (const prop in newValue) {
412
- if (!oldValue || newValue[prop] !== oldValue[prop]) {
413
- if (prop.includes("-")) {
414
- elm.style.setProperty(prop, newValue[prop]);
415
- } else {
416
- elm.style[prop] = newValue[prop];
417
- }
702
+ }
703
+ if (childRenderNode.$tag$ === "slot") {
704
+ childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
705
+ if (childRenderNode.$children$) {
706
+ childRenderNode.$flags$ |= 2 /* isSlotFallback */;
707
+ if (!childRenderNode.$elm$.childNodes.length) {
708
+ childRenderNode.$children$.forEach((c) => {
709
+ childRenderNode.$elm$.appendChild(c.$elm$);
710
+ });
418
711
  }
419
- }
420
- } else if (memberName === "key") ; else if (memberName === "ref") {
421
- if (newValue) {
422
- newValue(elm);
423
- }
424
- } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
425
- if (memberName[2] === "-") {
426
- memberName = memberName.slice(3);
427
- } else if (isMemberInElement(win, ln)) {
428
- memberName = ln.slice(2);
429
712
  } else {
430
- memberName = ln[2] + memberName.slice(3);
713
+ childRenderNode.$flags$ |= 1 /* isSlotReference */;
431
714
  }
432
- if (oldValue || newValue) {
433
- const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
434
- memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
435
- if (oldValue) {
436
- plt.rel(elm, memberName, oldValue, capture);
437
- }
438
- if (newValue) {
439
- plt.ael(elm, memberName, newValue, capture);
440
- }
715
+ }
716
+ if (orgLocationNode && orgLocationNode.isConnected) {
717
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
718
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
441
719
  }
442
- } else {
443
- const isComplex = isComplexType(newValue);
444
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
445
- try {
446
- if (!elm.tagName.includes("-")) {
447
- const n = newValue == null ? "" : newValue;
448
- if (memberName === "list") {
449
- isProp = false;
450
- } else if (oldValue == null || elm[memberName] != n) {
451
- if (typeof elm.__lookupSetter__(memberName) === "function") {
452
- elm[memberName] = n;
453
- } else {
454
- elm.setAttribute(memberName, n);
455
- }
456
- }
457
- } else {
458
- elm[memberName] = newValue;
459
- }
460
- } catch (e) {
461
- }
720
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
721
+ if (!shadowRoot) {
722
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
462
723
  }
463
- let xlink = false;
464
- {
465
- if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
466
- memberName = ln;
467
- xlink = true;
468
- }
724
+ }
725
+ plt.$orgLocNodes$.delete(orgLocationId);
726
+ }
727
+ const hosts = [];
728
+ const snLen = slottedNodes.length;
729
+ let snIndex = 0;
730
+ let slotGroup;
731
+ let snGroupIdx;
732
+ let snGroupLen;
733
+ let slottedItem;
734
+ for (snIndex; snIndex < snLen; snIndex++) {
735
+ slotGroup = slottedNodes[snIndex];
736
+ if (!slotGroup || !slotGroup.length) continue;
737
+ snGroupLen = slotGroup.length;
738
+ snGroupIdx = 0;
739
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
740
+ slottedItem = slotGroup[snGroupIdx];
741
+ if (!hosts[slottedItem.hostId]) {
742
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
469
743
  }
470
- if (newValue == null || newValue === false) {
471
- if (newValue !== false || elm.getAttribute(memberName) === "") {
472
- if (xlink) {
473
- elm.removeAttributeNS(XLINK_NS, memberName);
474
- } else {
475
- elm.removeAttribute(memberName);
476
- }
477
- }
478
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
479
- newValue = newValue === true ? "" : newValue;
480
- if (xlink) {
481
- elm.setAttributeNS(XLINK_NS, memberName, newValue);
744
+ if (!hosts[slottedItem.hostId]) continue;
745
+ const hostEle = hosts[slottedItem.hostId];
746
+ if (!hostEle.shadowRoot || !shadowRoot) {
747
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
748
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
749
+ slottedItem.slot["s-cr"] = hostEle;
482
750
  } else {
483
- elm.setAttribute(memberName, newValue);
751
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
484
752
  }
753
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
485
754
  }
486
- }
487
- }
488
- };
489
- var parseClassListRegex = /\s/;
490
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
491
- var CAPTURE_EVENT_SUFFIX = "Capture";
492
- var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
493
-
494
- // src/runtime/vdom/update-element.ts
495
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
496
- const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
497
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
498
- const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
499
- {
500
- for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
501
- if (!(memberName in newVnodeAttrs)) {
502
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
755
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
756
+ hostEle.appendChild(slottedItem.node);
503
757
  }
504
758
  }
505
759
  }
506
- for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
507
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
508
- }
760
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
761
+ hostRef.$hostElement$ = hostElm;
762
+ endHydrate();
509
763
  };
510
- function sortedAttrNames(attrNames) {
511
- return attrNames.includes("ref") ? (
512
- // we need to sort these to ensure that `'ref'` is the last attr
513
- [...attrNames.filter((attr) => attr !== "ref"), "ref"]
514
- ) : (
515
- // no need to sort, return the original array
516
- attrNames
517
- );
518
- }
519
-
520
- // src/runtime/vdom/vdom-render.ts
521
- var scopeId;
522
- var contentRef;
523
- var hostTagName;
524
- var useNativeShadowDom = false;
525
- var checkSlotFallbackVisibility = false;
526
- var checkSlotRelocate = false;
527
- var isSvgMode = false;
528
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
529
- var _a;
530
- const newVNode2 = newParentVNode.$children$[childIndex];
531
- let i2 = 0;
532
- let elm;
533
- let childNode;
534
- let oldVNode;
535
- if (!useNativeShadowDom) {
536
- checkSlotRelocate = true;
537
- if (newVNode2.$tag$ === "slot") {
538
- newVNode2.$flags$ |= newVNode2.$children$ ? (
539
- // slot element has fallback content
540
- // still create an element that "mocks" the slot element
541
- 2 /* isSlotFallback */
542
- ) : (
543
- // slot element does not have fallback content
544
- // create an html comment we'll use to always reference
545
- // where actual slot content should sit next to
546
- 1 /* isSlotReference */
547
- );
548
- }
549
- }
550
- if (newVNode2.$text$ !== null) {
551
- elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
552
- } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
553
- elm = newVNode2.$elm$ = doc.createTextNode("");
554
- } else {
555
- if (!isSvgMode) {
556
- isSvgMode = newVNode2.$tag$ === "svg";
557
- }
558
- elm = newVNode2.$elm$ = doc.createElementNS(
559
- isSvgMode ? SVG_NS : HTML_NS,
560
- !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
561
- ) ;
562
- if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
563
- isSvgMode = false;
764
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
765
+ let childNodeType;
766
+ let childIdSplt;
767
+ let childVNode;
768
+ let i2;
769
+ if (node.nodeType === 1 /* ElementNode */) {
770
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
771
+ if (childNodeType) {
772
+ childIdSplt = childNodeType.split(".");
773
+ if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
774
+ childVNode = createSimpleVNode({
775
+ $flags$: 0,
776
+ $hostId$: childIdSplt[0],
777
+ $nodeId$: childIdSplt[1],
778
+ $depth$: childIdSplt[2],
779
+ $index$: childIdSplt[3],
780
+ $tag$: node.tagName.toLowerCase(),
781
+ $elm$: node,
782
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
783
+ // won't try to reconcile them. Classes set on the node will be blown away.
784
+ $attrs$: { class: node.className || "" }
785
+ });
786
+ childRenderNodes.push(childVNode);
787
+ node.removeAttribute(HYDRATE_CHILD_ID);
788
+ if (!parentVNode.$children$) {
789
+ parentVNode.$children$ = [];
790
+ }
791
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
792
+ if (typeof slotName === "string") {
793
+ if (childVNode.$tag$ === "slot-fb") {
794
+ addSlot(
795
+ slotName,
796
+ childIdSplt[2],
797
+ childVNode,
798
+ node,
799
+ parentVNode,
800
+ childRenderNodes,
801
+ slotNodes,
802
+ shadowRootNodes,
803
+ slottedNodes
804
+ );
805
+ }
806
+ childVNode.$elm$["s-sn"] = slotName;
807
+ childVNode.$elm$.removeAttribute("s-sn");
808
+ }
809
+ if (childVNode.$index$ !== void 0) {
810
+ parentVNode.$children$[childVNode.$index$] = childVNode;
811
+ }
812
+ parentVNode = childVNode;
813
+ }
564
814
  }
565
- {
566
- updateElement(null, newVNode2, isSvgMode);
815
+ if (node.shadowRoot) {
816
+ for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
817
+ clientHydrate(
818
+ parentVNode,
819
+ childRenderNodes,
820
+ slotNodes,
821
+ shadowRootNodes,
822
+ hostElm,
823
+ node.shadowRoot.childNodes[i2],
824
+ hostId,
825
+ slottedNodes
826
+ );
827
+ }
567
828
  }
568
- const rootNode = elm.getRootNode();
569
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
570
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
571
- elm.classList.add(elm["s-si"] = scopeId);
829
+ const nonShadowNodes = node.__childNodes || node.childNodes;
830
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
831
+ clientHydrate(
832
+ parentVNode,
833
+ childRenderNodes,
834
+ slotNodes,
835
+ shadowRootNodes,
836
+ hostElm,
837
+ nonShadowNodes[i2],
838
+ hostId,
839
+ slottedNodes
840
+ );
572
841
  }
573
- if (newVNode2.$children$) {
574
- for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
575
- childNode = createElm(oldParentVNode, newVNode2, i2);
576
- if (childNode) {
577
- elm.appendChild(childNode);
842
+ } else if (node.nodeType === 8 /* CommentNode */) {
843
+ childIdSplt = node.nodeValue.split(".");
844
+ if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
845
+ childNodeType = childIdSplt[0];
846
+ childVNode = createSimpleVNode({
847
+ $hostId$: childIdSplt[1],
848
+ $nodeId$: childIdSplt[2],
849
+ $depth$: childIdSplt[3],
850
+ $index$: childIdSplt[4] || "0",
851
+ $elm$: node,
852
+ $attrs$: null,
853
+ $children$: null,
854
+ $key$: null,
855
+ $name$: null,
856
+ $tag$: null,
857
+ $text$: null
858
+ });
859
+ if (childNodeType === TEXT_NODE_ID) {
860
+ childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */);
861
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
862
+ childVNode.$text$ = childVNode.$elm$.textContent;
863
+ childRenderNodes.push(childVNode);
864
+ node.remove();
865
+ if (hostId === childVNode.$hostId$) {
866
+ if (!parentVNode.$children$) {
867
+ parentVNode.$children$ = [];
868
+ }
869
+ parentVNode.$children$[childVNode.$index$] = childVNode;
870
+ }
871
+ }
872
+ } else if (childNodeType === COMMENT_NODE_ID) {
873
+ childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */);
874
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
875
+ childRenderNodes.push(childVNode);
876
+ node.remove();
877
+ }
878
+ } else if (childVNode.$hostId$ === hostId) {
879
+ if (childNodeType === SLOT_NODE_ID) {
880
+ const slotName = node["s-sn"] = childIdSplt[5] || "";
881
+ addSlot(
882
+ slotName,
883
+ childIdSplt[2],
884
+ childVNode,
885
+ node,
886
+ parentVNode,
887
+ childRenderNodes,
888
+ slotNodes,
889
+ shadowRootNodes,
890
+ slottedNodes
891
+ );
892
+ } else if (childNodeType === CONTENT_REF_ID) {
893
+ {
894
+ hostElm["s-cr"] = node;
895
+ node["s-cn"] = true;
896
+ }
578
897
  }
579
898
  }
580
899
  }
581
- {
582
- if (newVNode2.$tag$ === "svg") {
583
- isSvgMode = false;
584
- } else if (elm.tagName === "foreignObject") {
585
- isSvgMode = true;
900
+ } else if (parentVNode && parentVNode.$tag$ === "style") {
901
+ const vnode = newVNode(null, node.textContent);
902
+ vnode.$elm$ = node;
903
+ vnode.$index$ = "0";
904
+ parentVNode.$children$ = [vnode];
905
+ } else {
906
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
907
+ node.remove();
908
+ }
909
+ }
910
+ return parentVNode;
911
+ };
912
+ var initializeDocumentHydrate = (node, orgLocNodes) => {
913
+ if (node.nodeType === 1 /* ElementNode */) {
914
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
915
+ if (componentId) {
916
+ orgLocNodes.set(componentId, node);
917
+ }
918
+ let i2 = 0;
919
+ if (node.shadowRoot) {
920
+ for (; i2 < node.shadowRoot.childNodes.length; i2++) {
921
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
586
922
  }
587
923
  }
924
+ const nonShadowNodes = node.__childNodes || node.childNodes;
925
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
926
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
927
+ }
928
+ } else if (node.nodeType === 8 /* CommentNode */) {
929
+ const childIdSplt = node.nodeValue.split(".");
930
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
931
+ orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
932
+ node.nodeValue = "";
933
+ node["s-en"] = childIdSplt[3];
934
+ }
588
935
  }
589
- elm["s-hn"] = hostTagName;
936
+ };
937
+ var createSimpleVNode = (vnode) => {
938
+ const defaultVNode = {
939
+ $flags$: 0,
940
+ $hostId$: null,
941
+ $nodeId$: null,
942
+ $depth$: null,
943
+ $index$: "0",
944
+ $elm$: null,
945
+ $attrs$: null,
946
+ $children$: null,
947
+ $key$: null,
948
+ $name$: null,
949
+ $tag$: null,
950
+ $text$: null
951
+ };
952
+ return { ...defaultVNode, ...vnode };
953
+ };
954
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
955
+ node["s-sr"] = true;
956
+ childVNode.$name$ = slotName || null;
957
+ childVNode.$tag$ = "slot";
958
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
590
959
  {
591
- if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
592
- elm["s-sr"] = true;
593
- elm["s-cr"] = contentRef;
594
- elm["s-sn"] = newVNode2.$name$ || "";
595
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
596
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
597
- if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
598
- {
599
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
600
- }
601
- }
960
+ const slot = childVNode.$elm$;
961
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
962
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
963
+ patchSlotNode(node);
964
+ if (shouldMove) {
965
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
602
966
  }
967
+ childRenderNodes.push(childVNode);
968
+ }
969
+ slotNodes.push(childVNode);
970
+ if (!parentVNode.$children$) {
971
+ parentVNode.$children$ = [];
972
+ }
973
+ parentVNode.$children$[childVNode.$index$] = childVNode;
974
+ }
975
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
976
+ let slottedNode = slotNode.nextSibling;
977
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
978
+ 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 */))) {
979
+ slottedNode["s-sn"] = slotName;
980
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
981
+ slottedNode = slottedNode.nextSibling;
603
982
  }
604
- return elm;
605
983
  };
606
- var putBackInOriginalLocation = (parentElm, recursive) => {
607
- plt.$flags$ |= 1 /* isTmpDisconnected */;
608
- const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
609
- if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
610
- let node = parentElm;
611
- while (node = node.nextSibling) {
612
- if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
613
- oldSlotChildNodes.push(node);
614
- }
984
+ var findCorrespondingNode = (node, type) => {
985
+ let sibling = node;
986
+ do {
987
+ sibling = sibling.nextSibling;
988
+ } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
989
+ return sibling;
990
+ };
991
+ var parsePropertyValue = (propValue, propType) => {
992
+ if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
993
+ try {
994
+ propValue = JSON.parse(propValue);
995
+ return propValue;
996
+ } catch (e) {
615
997
  }
616
998
  }
617
- for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
618
- const childNode = oldSlotChildNodes[i2];
619
- if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
620
- insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
621
- childNode["s-ol"].remove();
622
- childNode["s-ol"] = void 0;
623
- childNode["s-sh"] = void 0;
624
- checkSlotRelocate = true;
999
+ if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1000
+ propValue = deserializeProperty(propValue);
1001
+ return propValue;
1002
+ }
1003
+ if (propValue != null && !isComplexType(propValue)) {
1004
+ if (propType & 4 /* Boolean */) {
1005
+ return propValue === "false" ? false : propValue === "" || !!propValue;
625
1006
  }
626
- if (recursive) {
627
- putBackInOriginalLocation(childNode, recursive);
1007
+ if (propType & 2 /* Number */) {
1008
+ return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
1009
+ }
1010
+ if (propType & 1 /* String */) {
1011
+ return String(propValue);
628
1012
  }
1013
+ return propValue;
629
1014
  }
630
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
1015
+ return propValue;
631
1016
  };
632
- var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
633
- let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
634
- let childNode;
635
- for (; startIdx <= endIdx; ++startIdx) {
636
- if (vnodes[startIdx]) {
637
- childNode = createElm(null, parentVNode, startIdx);
638
- if (childNode) {
639
- vnodes[startIdx].$elm$ = childNode;
640
- insertBefore(containerElm, childNode, referenceNode(before) );
641
- }
1017
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1018
+
1019
+ // src/runtime/event-emitter.ts
1020
+ var createEvent = (ref, name, flags) => {
1021
+ const elm = getElement(ref);
1022
+ return {
1023
+ emit: (detail) => {
1024
+ return emitEvent(elm, name, {
1025
+ bubbles: !!(flags & 4 /* Bubbles */),
1026
+ composed: !!(flags & 2 /* Composed */),
1027
+ cancelable: !!(flags & 1 /* Cancellable */),
1028
+ detail
1029
+ });
642
1030
  }
643
- }
1031
+ };
644
1032
  };
645
- var removeVnodes = (vnodes, startIdx, endIdx) => {
646
- for (let index = startIdx; index <= endIdx; ++index) {
647
- const vnode = vnodes[index];
648
- if (vnode) {
649
- const elm = vnode.$elm$;
650
- nullifyVNodeRefs(vnode);
651
- if (elm) {
652
- {
653
- checkSlotFallbackVisibility = true;
654
- if (elm["s-ol"]) {
655
- elm["s-ol"].remove();
656
- } else {
657
- putBackInOriginalLocation(elm, true);
658
- }
659
- }
660
- elm.remove();
661
- }
1033
+ var emitEvent = (elm, name, opts) => {
1034
+ const ev = plt.ce(name, opts);
1035
+ elm.dispatchEvent(ev);
1036
+ return ev;
1037
+ };
1038
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1039
+ var registerStyle = (scopeId2, cssText, allowCS) => {
1040
+ let style = styles.get(scopeId2);
1041
+ if (supportsConstructableStylesheets && allowCS) {
1042
+ style = style || new CSSStyleSheet();
1043
+ if (typeof style === "string") {
1044
+ style = cssText;
1045
+ } else {
1046
+ style.replaceSync(cssText);
662
1047
  }
1048
+ } else {
1049
+ style = cssText;
663
1050
  }
1051
+ styles.set(scopeId2, style);
664
1052
  };
665
- var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
666
- let oldStartIdx = 0;
667
- let newStartIdx = 0;
668
- let idxInOld = 0;
669
- let i2 = 0;
670
- let oldEndIdx = oldCh.length - 1;
671
- let oldStartVnode = oldCh[0];
672
- let oldEndVnode = oldCh[oldEndIdx];
673
- let newEndIdx = newCh.length - 1;
674
- let newStartVnode = newCh[0];
675
- let newEndVnode = newCh[newEndIdx];
676
- let node;
677
- let elmToMove;
678
- while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
679
- if (oldStartVnode == null) {
680
- oldStartVnode = oldCh[++oldStartIdx];
681
- } else if (oldEndVnode == null) {
682
- oldEndVnode = oldCh[--oldEndIdx];
683
- } else if (newStartVnode == null) {
684
- newStartVnode = newCh[++newStartIdx];
685
- } else if (newEndVnode == null) {
686
- newEndVnode = newCh[--newEndIdx];
687
- } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
688
- patch(oldStartVnode, newStartVnode, isInitialRender);
689
- oldStartVnode = oldCh[++oldStartIdx];
690
- newStartVnode = newCh[++newStartIdx];
691
- } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
692
- patch(oldEndVnode, newEndVnode, isInitialRender);
693
- oldEndVnode = oldCh[--oldEndIdx];
694
- newEndVnode = newCh[--newEndIdx];
695
- } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
696
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
697
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
698
- }
699
- patch(oldStartVnode, newEndVnode, isInitialRender);
700
- insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
701
- oldStartVnode = oldCh[++oldStartIdx];
702
- newEndVnode = newCh[--newEndIdx];
703
- } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
704
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
705
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1053
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1054
+ var _a;
1055
+ const scopeId2 = getScopeId(cmpMeta);
1056
+ const style = styles.get(scopeId2);
1057
+ if (!win.document) {
1058
+ return scopeId2;
1059
+ }
1060
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1061
+ if (style) {
1062
+ if (typeof style === "string") {
1063
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
1064
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1065
+ let styleElm;
1066
+ if (!appliedStyles) {
1067
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
706
1068
  }
707
- patch(oldEndVnode, newStartVnode, isInitialRender);
708
- insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
709
- oldEndVnode = oldCh[--oldEndIdx];
710
- newStartVnode = newCh[++newStartIdx];
711
- } else {
712
- idxInOld = -1;
713
- {
714
- for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
715
- if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
716
- idxInOld = i2;
717
- break;
1069
+ if (!appliedStyles.has(scopeId2)) {
1070
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1071
+ styleElm.innerHTML = style;
1072
+ } else {
1073
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
1074
+ styleElm.innerHTML = style;
1075
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1076
+ if (nonce != null) {
1077
+ styleElm.setAttribute("nonce", nonce);
1078
+ }
1079
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1080
+ if (styleContainerNode.nodeName === "HEAD") {
1081
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1082
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1083
+ styleContainerNode.insertBefore(
1084
+ styleElm,
1085
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1086
+ );
1087
+ } else if ("host" in styleContainerNode) {
1088
+ if (supportsConstructableStylesheets) {
1089
+ const stylesheet = new CSSStyleSheet();
1090
+ stylesheet.replaceSync(style);
1091
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1092
+ } else {
1093
+ const existingStyleContainer = styleContainerNode.querySelector("style");
1094
+ if (existingStyleContainer) {
1095
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1096
+ } else {
1097
+ styleContainerNode.prepend(styleElm);
1098
+ }
1099
+ }
1100
+ } else {
1101
+ styleContainerNode.append(styleElm);
1102
+ }
1103
+ }
1104
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1105
+ styleContainerNode.insertBefore(styleElm, null);
718
1106
  }
719
1107
  }
720
- }
721
- if (idxInOld >= 0) {
722
- elmToMove = oldCh[idxInOld];
723
- if (elmToMove.$tag$ !== newStartVnode.$tag$) {
724
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
725
- } else {
726
- patch(elmToMove, newStartVnode, isInitialRender);
727
- oldCh[idxInOld] = void 0;
728
- node = elmToMove.$elm$;
1108
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1109
+ styleElm.innerHTML += SLOT_FB_CSS;
729
1110
  }
730
- newStartVnode = newCh[++newStartIdx];
731
- } else {
732
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
733
- newStartVnode = newCh[++newStartIdx];
734
- }
735
- if (node) {
736
- {
737
- insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
1111
+ if (appliedStyles) {
1112
+ appliedStyles.add(scopeId2);
738
1113
  }
739
1114
  }
1115
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1116
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
740
1117
  }
741
1118
  }
742
- if (oldStartIdx > oldEndIdx) {
743
- addVnodes(
744
- parentElm,
745
- newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
746
- newVNode2,
747
- newCh,
748
- newStartIdx,
749
- newEndIdx
750
- );
751
- } else if (newStartIdx > newEndIdx) {
752
- removeVnodes(oldCh, oldStartIdx, oldEndIdx);
753
- }
754
- };
755
- var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
756
- if (leftVNode.$tag$ === rightVNode.$tag$) {
757
- if (leftVNode.$tag$ === "slot") {
758
- if (
759
- // The component gets hydrated and no VDOM has been initialized.
760
- // Here the comparison can't happen as $name$ property is not set for `leftNode`.
761
- "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
762
- // hydration comments to be removed
763
- leftVNode.$elm$.nodeType !== 8
764
- ) {
765
- return false;
766
- }
767
- return leftVNode.$name$ === rightVNode.$name$;
768
- }
769
- if (!isInitialRender) {
770
- return leftVNode.$key$ === rightVNode.$key$;
771
- }
772
- return true;
773
- }
774
- return false;
775
- };
776
- var referenceNode = (node) => {
777
- return node && node["s-ol"] || node;
1119
+ return scopeId2;
778
1120
  };
779
- var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
780
- var patch = (oldVNode, newVNode2, isInitialRender = false) => {
781
- const elm = newVNode2.$elm$ = oldVNode.$elm$;
782
- const oldChildren = oldVNode.$children$;
783
- const newChildren = newVNode2.$children$;
784
- const tag = newVNode2.$tag$;
785
- const text = newVNode2.$text$;
786
- let defaultHolder;
787
- if (text === null) {
788
- {
789
- isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1121
+ var attachStyles = (hostRef) => {
1122
+ const cmpMeta = hostRef.$cmpMeta$;
1123
+ const elm = hostRef.$hostElement$;
1124
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1125
+ addStyle(
1126
+ elm.getRootNode(),
1127
+ cmpMeta);
1128
+ endAttachStyles();
1129
+ };
1130
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1131
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1132
+ if (oldValue === newValue) {
1133
+ return;
1134
+ }
1135
+ let isProp = isMemberInElement(elm, memberName);
1136
+ let ln = memberName.toLowerCase();
1137
+ if (memberName === "class") {
1138
+ const classList = elm.classList;
1139
+ const oldClasses = parseClassList(oldValue);
1140
+ let newClasses = parseClassList(newValue);
1141
+ if (elm["s-si"] && initialRender) {
1142
+ newClasses.push(elm["s-si"]);
1143
+ oldClasses.forEach((c) => {
1144
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
1145
+ });
1146
+ newClasses = [...new Set(newClasses)];
1147
+ classList.add(...newClasses);
1148
+ } else {
1149
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
1150
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
790
1151
  }
1152
+ } else if (memberName === "style") {
791
1153
  {
792
- if (tag === "slot" && !useNativeShadowDom) ; else {
793
- updateElement(oldVNode, newVNode2, isSvgMode);
1154
+ for (const prop in oldValue) {
1155
+ if (!newValue || newValue[prop] == null) {
1156
+ if (prop.includes("-")) {
1157
+ elm.style.removeProperty(prop);
1158
+ } else {
1159
+ elm.style[prop] = "";
1160
+ }
1161
+ }
794
1162
  }
795
1163
  }
796
- if (oldChildren !== null && newChildren !== null) {
797
- updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
798
- } else if (newChildren !== null) {
799
- if (oldVNode.$text$ !== null) {
800
- elm.textContent = "";
1164
+ for (const prop in newValue) {
1165
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
1166
+ if (prop.includes("-")) {
1167
+ elm.style.setProperty(prop, newValue[prop]);
1168
+ } else {
1169
+ elm.style[prop] = newValue[prop];
1170
+ }
801
1171
  }
802
- addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
803
- } else if (
804
- // don't do this on initial render as it can cause non-hydrated content to be removed
805
- !isInitialRender && BUILD.updatable && oldChildren !== null
806
- ) {
807
- removeVnodes(oldChildren, 0, oldChildren.length - 1);
808
1172
  }
809
- if (isSvgMode && tag === "svg") {
810
- isSvgMode = false;
1173
+ } else if (memberName === "key") ; else if (memberName === "ref") {
1174
+ if (newValue) {
1175
+ newValue(elm);
811
1176
  }
812
- } else if ((defaultHolder = elm["s-cr"])) {
813
- defaultHolder.parentNode.textContent = text;
814
- } else if (oldVNode.$text$ !== text) {
815
- elm.data = text;
816
- }
817
- };
818
- var updateFallbackSlotVisibility = (elm) => {
819
- const childNodes = elm.__childNodes || elm.childNodes;
820
- for (const childNode of childNodes) {
821
- if (childNode.nodeType === 1 /* ElementNode */) {
822
- if (childNode["s-sr"]) {
823
- const slotName = childNode["s-sn"];
824
- childNode.hidden = false;
825
- for (const siblingNode of childNodes) {
826
- if (siblingNode !== childNode) {
827
- if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
828
- if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
829
- childNode.hidden = true;
830
- break;
831
- }
832
- } else if (slotName === siblingNode["s-sn"]) {
833
- if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
834
- childNode.hidden = true;
835
- break;
836
- }
837
- }
838
- }
839
- }
1177
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1178
+ if (memberName[2] === "-") {
1179
+ memberName = memberName.slice(3);
1180
+ } else if (isMemberInElement(win, ln)) {
1181
+ memberName = ln.slice(2);
1182
+ } else {
1183
+ memberName = ln[2] + memberName.slice(3);
1184
+ }
1185
+ if (oldValue || newValue) {
1186
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
1187
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
1188
+ if (oldValue) {
1189
+ plt.rel(elm, memberName, oldValue, capture);
1190
+ }
1191
+ if (newValue) {
1192
+ plt.ael(elm, memberName, newValue, capture);
840
1193
  }
841
- updateFallbackSlotVisibility(childNode);
842
1194
  }
843
- }
844
- };
845
- var relocateNodes = [];
846
- var markSlotContentForRelocation = (elm) => {
847
- let node;
848
- let hostContentNodes;
849
- let j;
850
- const children = elm.__childNodes || elm.childNodes;
851
- for (const childNode of children) {
852
- if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
853
- hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
854
- const slotName = childNode["s-sn"];
855
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
856
- node = hostContentNodes[j];
857
- if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
858
- if (isNodeLocatedInSlot(node, slotName)) {
859
- let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
860
- checkSlotFallbackVisibility = true;
861
- node["s-sn"] = node["s-sn"] || slotName;
862
- if (relocateNodeData) {
863
- relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
864
- relocateNodeData.$slotRefNode$ = childNode;
1195
+ } else {
1196
+ const isComplex = isComplexType(newValue);
1197
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
1198
+ try {
1199
+ if (!elm.tagName.includes("-")) {
1200
+ const n = newValue == null ? "" : newValue;
1201
+ if (memberName === "list") {
1202
+ isProp = false;
1203
+ } else if (oldValue == null || elm[memberName] != n) {
1204
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
1205
+ elm[memberName] = n;
865
1206
  } else {
866
- node["s-sh"] = childNode["s-hn"];
867
- relocateNodes.push({
868
- $slotRefNode$: childNode,
869
- $nodeToRelocate$: node
870
- });
1207
+ elm.setAttribute(memberName, n);
871
1208
  }
872
- if (node["s-sr"]) {
873
- relocateNodes.map((relocateNode) => {
874
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
875
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
876
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
877
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
878
- }
879
- }
880
- });
881
- }
882
- } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
883
- relocateNodes.push({
884
- $nodeToRelocate$: node
885
- });
886
1209
  }
1210
+ } else if (elm[memberName] !== newValue) {
1211
+ elm[memberName] = newValue;
887
1212
  }
1213
+ } catch (e) {
888
1214
  }
889
1215
  }
890
- if (childNode.nodeType === 1 /* ElementNode */) {
891
- markSlotContentForRelocation(childNode);
1216
+ let xlink = false;
1217
+ {
1218
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
1219
+ memberName = ln;
1220
+ xlink = true;
1221
+ }
1222
+ }
1223
+ if (newValue == null || newValue === false) {
1224
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
1225
+ if (xlink) {
1226
+ elm.removeAttributeNS(XLINK_NS, memberName);
1227
+ } else {
1228
+ elm.removeAttribute(memberName);
1229
+ }
1230
+ }
1231
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
1232
+ newValue = newValue === true ? "" : newValue;
1233
+ if (xlink) {
1234
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
1235
+ } else {
1236
+ elm.setAttribute(memberName, newValue);
1237
+ }
892
1238
  }
893
1239
  }
894
1240
  };
895
- var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
896
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
897
- if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
898
- return true;
899
- }
900
- if (nodeToRelocate.getAttribute("slot") === slotName) {
901
- return true;
902
- }
903
- return false;
1241
+ var parseClassListRegex = /\s/;
1242
+ var parseClassList = (value) => {
1243
+ if (typeof value === "object" && value && "baseVal" in value) {
1244
+ value = value.baseVal;
904
1245
  }
905
- if (nodeToRelocate["s-sn"] === slotName) {
906
- return true;
1246
+ if (!value || typeof value !== "string") {
1247
+ return [];
907
1248
  }
908
- return slotName === "";
1249
+ return value.split(parseClassListRegex);
909
1250
  };
910
- var nullifyVNodeRefs = (vNode) => {
1251
+ var CAPTURE_EVENT_SUFFIX = "Capture";
1252
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
1253
+
1254
+ // src/runtime/vdom/update-element.ts
1255
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
1256
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
1257
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
1258
+ const newVnodeAttrs = newVnode.$attrs$ || {};
911
1259
  {
912
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
913
- vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1260
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
1261
+ if (!(memberName in newVnodeAttrs)) {
1262
+ setAccessor(
1263
+ elm,
1264
+ memberName,
1265
+ oldVnodeAttrs[memberName],
1266
+ void 0,
1267
+ isSvgMode2,
1268
+ newVnode.$flags$,
1269
+ isInitialRender
1270
+ );
1271
+ }
1272
+ }
914
1273
  }
915
- };
916
- var insertBefore = (parent, newNode, reference) => {
917
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
918
- return inserted;
919
- };
920
- var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
921
- var _a, _b, _c, _d;
922
- const hostElm = hostRef.$hostElement$;
923
- const cmpMeta = hostRef.$cmpMeta$;
924
- const oldVNode = hostRef.$vnode$ || newVNode(null, null);
925
- const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
926
- hostTagName = hostElm.tagName;
927
- if (cmpMeta.$attrsToReflect$) {
928
- rootVnode.$attrs$ = rootVnode.$attrs$ || {};
929
- cmpMeta.$attrsToReflect$.map(
930
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1274
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
1275
+ setAccessor(
1276
+ elm,
1277
+ memberName,
1278
+ oldVnodeAttrs[memberName],
1279
+ newVnodeAttrs[memberName],
1280
+ isSvgMode2,
1281
+ newVnode.$flags$,
1282
+ isInitialRender
931
1283
  );
932
1284
  }
933
- if (isInitialLoad && rootVnode.$attrs$) {
934
- for (const key of Object.keys(rootVnode.$attrs$)) {
935
- if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
936
- rootVnode.$attrs$[key] = hostElm[key];
937
- }
1285
+ };
1286
+ function sortedAttrNames(attrNames) {
1287
+ return attrNames.includes("ref") ? (
1288
+ // we need to sort these to ensure that `'ref'` is the last attr
1289
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
1290
+ ) : (
1291
+ // no need to sort, return the original array
1292
+ attrNames
1293
+ );
1294
+ }
1295
+ var contentRef;
1296
+ var hostTagName;
1297
+ var useNativeShadowDom = false;
1298
+ var checkSlotFallbackVisibility = false;
1299
+ var checkSlotRelocate = false;
1300
+ var isSvgMode = false;
1301
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1302
+ var _a;
1303
+ const newVNode2 = newParentVNode.$children$[childIndex];
1304
+ let i2 = 0;
1305
+ let elm;
1306
+ let childNode;
1307
+ let oldVNode;
1308
+ if (!useNativeShadowDom) {
1309
+ checkSlotRelocate = true;
1310
+ if (newVNode2.$tag$ === "slot") {
1311
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
1312
+ // slot element has fallback content
1313
+ // still create an element that "mocks" the slot element
1314
+ 2 /* isSlotFallback */
1315
+ ) : (
1316
+ // slot element does not have fallback content
1317
+ // create an html comment we'll use to always reference
1318
+ // where actual slot content should sit next to
1319
+ 1 /* isSlotReference */
1320
+ );
938
1321
  }
939
1322
  }
940
- rootVnode.$tag$ = null;
941
- rootVnode.$flags$ |= 4 /* isHost */;
942
- hostRef.$vnode$ = rootVnode;
943
- rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
944
- useNativeShadowDom = supportsShadow ;
945
- {
946
- contentRef = hostElm["s-cr"];
947
- checkSlotFallbackVisibility = false;
948
- }
949
- patch(oldVNode, rootVnode, isInitialLoad);
950
- {
951
- plt.$flags$ |= 1 /* isTmpDisconnected */;
952
- if (checkSlotRelocate) {
953
- markSlotContentForRelocation(rootVnode.$elm$);
954
- for (const relocateData of relocateNodes) {
955
- const nodeToRelocate = relocateData.$nodeToRelocate$;
956
- if (!nodeToRelocate["s-ol"]) {
957
- const orgLocationNode = doc.createTextNode("");
958
- orgLocationNode["s-nr"] = nodeToRelocate;
959
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
960
- }
961
- }
962
- for (const relocateData of relocateNodes) {
963
- const nodeToRelocate = relocateData.$nodeToRelocate$;
964
- const slotRefNode = relocateData.$slotRefNode$;
965
- if (slotRefNode) {
966
- const parentNodeRef = slotRefNode.parentNode;
967
- let insertBeforeNode = slotRefNode.nextSibling;
968
- {
969
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
970
- while (orgLocationNode) {
971
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
972
- if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
973
- refNode = refNode.nextSibling;
974
- while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
975
- refNode = refNode == null ? void 0 : refNode.nextSibling;
976
- }
977
- if (!refNode || !refNode["s-nr"]) {
978
- insertBeforeNode = refNode;
979
- break;
980
- }
981
- }
982
- orgLocationNode = orgLocationNode.previousSibling;
983
- }
984
- }
985
- if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
986
- if (nodeToRelocate !== insertBeforeNode) {
987
- if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
988
- nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
989
- }
990
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
991
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
992
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
993
- }
994
- }
995
- }
996
- nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
997
- } else {
998
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
999
- if (isInitialLoad) {
1000
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1001
- }
1002
- nodeToRelocate.hidden = true;
1003
- }
1323
+ if (newVNode2.$text$ !== null) {
1324
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
1325
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1326
+ elm = newVNode2.$elm$ = win.document.createTextNode("");
1327
+ {
1328
+ updateElement(null, newVNode2, isSvgMode);
1329
+ }
1330
+ } else {
1331
+ if (!isSvgMode) {
1332
+ isSvgMode = newVNode2.$tag$ === "svg";
1333
+ }
1334
+ if (!win.document) {
1335
+ throw new Error(
1336
+ "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."
1337
+ );
1338
+ }
1339
+ elm = newVNode2.$elm$ = win.document.createElementNS(
1340
+ isSvgMode ? SVG_NS : HTML_NS,
1341
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
1342
+ ) ;
1343
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
1344
+ isSvgMode = false;
1345
+ }
1346
+ {
1347
+ updateElement(null, newVNode2, isSvgMode);
1348
+ }
1349
+ if (newVNode2.$children$) {
1350
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1351
+ childNode = createElm(oldParentVNode, newVNode2, i2);
1352
+ if (childNode) {
1353
+ elm.appendChild(childNode);
1004
1354
  }
1005
1355
  }
1006
1356
  }
1007
- if (checkSlotFallbackVisibility) {
1008
- updateFallbackSlotVisibility(rootVnode.$elm$);
1009
- }
1010
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
1011
- relocateNodes.length = 0;
1012
- }
1013
- contentRef = void 0;
1014
- };
1015
- var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
1016
- let slottedNodeLocation;
1017
- if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
1018
- slottedNodeLocation = newChild["s-ol"];
1019
- } else {
1020
- slottedNodeLocation = document.createTextNode("");
1021
- slottedNodeLocation["s-nr"] = newChild;
1022
- }
1023
- if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
1024
- const parent = slotNode["s-cr"].parentNode;
1025
- const appendMethod = prepend ? parent.__prepend || parent.prepend : parent.__appendChild || parent.appendChild;
1026
- if (typeof position !== "undefined") {
1027
1357
  {
1028
- slottedNodeLocation["s-oo"] = position;
1029
- const childNodes = parent.__childNodes || parent.childNodes;
1030
- const slotRelocateNodes = [slottedNodeLocation];
1031
- childNodes.forEach((n) => {
1032
- if (n["s-nr"]) slotRelocateNodes.push(n);
1033
- });
1034
- slotRelocateNodes.sort((a, b) => {
1035
- if (!a["s-oo"] || a["s-oo"] < b["s-oo"]) return -1;
1036
- else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
1037
- return 0;
1038
- });
1039
- slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
1358
+ if (newVNode2.$tag$ === "svg") {
1359
+ isSvgMode = false;
1360
+ } else if (elm.tagName === "foreignObject") {
1361
+ isSvgMode = true;
1362
+ }
1040
1363
  }
1041
- } else {
1042
- appendMethod.call(parent, slottedNodeLocation);
1043
1364
  }
1044
- newChild["s-ol"] = slottedNodeLocation;
1045
- newChild["s-sh"] = slotNode["s-hn"];
1046
- };
1047
- var createTime = (fnName, tagName = "") => {
1365
+ elm["s-hn"] = hostTagName;
1048
1366
  {
1049
- return () => {
1050
- return;
1051
- };
1367
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
1368
+ elm["s-sr"] = true;
1369
+ elm["s-cr"] = contentRef;
1370
+ elm["s-sn"] = newVNode2.$name$ || "";
1371
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
1372
+ patchSlotNode(elm);
1373
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
1374
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
1375
+ {
1376
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
1377
+ }
1378
+ }
1379
+ }
1052
1380
  }
1381
+ return elm;
1053
1382
  };
1054
- var uniqueTime = (key, measureText) => {
1055
- {
1056
- return () => {
1057
- return;
1058
- };
1383
+ var putBackInOriginalLocation = (parentElm, recursive) => {
1384
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1385
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
1386
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
1387
+ const childNode = oldSlotChildNodes[i2];
1388
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
1389
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
1390
+ childNode["s-ol"].remove();
1391
+ childNode["s-ol"] = void 0;
1392
+ childNode["s-sh"] = void 0;
1393
+ checkSlotRelocate = true;
1394
+ }
1395
+ if (recursive) {
1396
+ putBackInOriginalLocation(childNode, recursive);
1397
+ }
1059
1398
  }
1399
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1060
1400
  };
1061
-
1062
- // src/runtime/client-hydrate.ts
1063
- var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1064
- const endHydrate = createTime("hydrateClient", tagName);
1065
- const shadowRoot = hostElm.shadowRoot;
1066
- const childRenderNodes = [];
1067
- const slotNodes = [];
1068
- const slottedNodes = [];
1069
- const shadowRootNodes = null;
1070
- const vnode = newVNode(tagName, null);
1071
- vnode.$elm$ = hostElm;
1072
- if (!plt.$orgLocNodes$) {
1073
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
1074
- }
1075
- hostElm[HYDRATE_ID] = hostId;
1076
- hostElm.removeAttribute(HYDRATE_ID);
1077
- hostRef.$vnode$ = clientHydrate(
1078
- vnode,
1079
- childRenderNodes,
1080
- slotNodes,
1081
- shadowRootNodes,
1082
- hostElm,
1083
- hostElm,
1084
- hostId,
1085
- slottedNodes
1086
- );
1087
- let crIndex = 0;
1088
- const crLength = childRenderNodes.length;
1089
- let childRenderNode;
1090
- for (crIndex; crIndex < crLength; crIndex++) {
1091
- childRenderNode = childRenderNodes[crIndex];
1092
- const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
1093
- const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1094
- const node = childRenderNode.$elm$;
1095
- if (!shadowRoot) {
1096
- node["s-hn"] = tagName.toUpperCase();
1097
- if (childRenderNode.$tag$ === "slot") {
1098
- node["s-cr"] = hostElm["s-cr"];
1099
- }
1100
- }
1101
- if (orgLocationNode && orgLocationNode.isConnected) {
1102
- if (shadowRoot && orgLocationNode["s-en"] === "") {
1103
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1104
- }
1105
- orgLocationNode.parentNode.removeChild(orgLocationNode);
1106
- if (!shadowRoot) {
1107
- node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1401
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
1402
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
1403
+ let childNode;
1404
+ for (; startIdx <= endIdx; ++startIdx) {
1405
+ if (vnodes[startIdx]) {
1406
+ childNode = createElm(null, parentVNode, startIdx);
1407
+ if (childNode) {
1408
+ vnodes[startIdx].$elm$ = childNode;
1409
+ insertBefore(containerElm, childNode, referenceNode(before) );
1108
1410
  }
1109
1411
  }
1110
- plt.$orgLocNodes$.delete(orgLocationId);
1111
1412
  }
1112
- const hosts = [];
1113
- let snIndex = 0;
1114
- const snLen = slottedNodes.length;
1115
- let slotGroup;
1116
- let snGroupIdx;
1117
- let snGroupLen;
1118
- let slottedItem;
1119
- for (snIndex; snIndex < snLen; snIndex++) {
1120
- slotGroup = slottedNodes[snIndex];
1121
- if (!slotGroup || !slotGroup.length) continue;
1122
- snGroupLen = slotGroup.length;
1123
- snGroupIdx = 0;
1124
- for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1125
- slottedItem = slotGroup[snGroupIdx];
1126
- if (!hosts[slottedItem.hostId]) {
1127
- hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1128
- }
1129
- if (!hosts[slottedItem.hostId]) continue;
1130
- const hostEle = hosts[slottedItem.hostId];
1131
- if (!hostEle.shadowRoot || !shadowRoot) {
1132
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1133
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1134
- slottedItem.slot["s-cr"] = hostEle;
1135
- } else {
1136
- const hostChildren = hostEle.__childNodes || hostEle.childNodes;
1137
- slottedItem.slot["s-cr"] = hostChildren[0];
1413
+ };
1414
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
1415
+ for (let index = startIdx; index <= endIdx; ++index) {
1416
+ const vnode = vnodes[index];
1417
+ if (vnode) {
1418
+ const elm = vnode.$elm$;
1419
+ nullifyVNodeRefs(vnode);
1420
+ if (elm) {
1421
+ {
1422
+ checkSlotFallbackVisibility = true;
1423
+ if (elm["s-ol"]) {
1424
+ elm["s-ol"].remove();
1425
+ } else {
1426
+ putBackInOriginalLocation(elm, true);
1427
+ }
1138
1428
  }
1139
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1140
- }
1141
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1142
- hostEle.appendChild(slottedItem.node);
1429
+ elm.remove();
1143
1430
  }
1144
1431
  }
1145
1432
  }
1146
- hostRef.$hostElement$ = hostElm;
1147
- endHydrate();
1148
1433
  };
1149
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
1150
- let childNodeType;
1151
- let childIdSplt;
1152
- let childVNode;
1153
- let i2;
1154
- const scopeId2 = hostElm["s-sc"];
1155
- if (node.nodeType === 1 /* ElementNode */) {
1156
- childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1157
- if (childNodeType) {
1158
- childIdSplt = childNodeType.split(".");
1159
- if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1160
- childVNode = createSimpleVNode({
1161
- $flags$: 0,
1162
- $hostId$: childIdSplt[0],
1163
- $nodeId$: childIdSplt[1],
1164
- $depth$: childIdSplt[2],
1165
- $index$: childIdSplt[3],
1166
- $tag$: node.tagName.toLowerCase(),
1167
- $elm$: node,
1168
- // If we don't add the initial classes to the VNode, the first `vdom-render.ts` reconciliation will fail:
1169
- // client side changes before componentDidLoad will be ignored, `set-accessor.ts` will just take the element's initial classes
1170
- $attrs$: { class: node.className }
1171
- });
1172
- childRenderNodes.push(childVNode);
1173
- node.removeAttribute(HYDRATE_CHILD_ID);
1174
- if (!parentVNode.$children$) {
1175
- parentVNode.$children$ = [];
1176
- }
1177
- const slotName = childVNode.$elm$.getAttribute("s-sn");
1178
- if (typeof slotName === "string") {
1179
- if (childVNode.$tag$ === "slot-fb") {
1180
- addSlot(
1181
- slotName,
1182
- childIdSplt[2],
1183
- childVNode,
1184
- node,
1185
- parentVNode,
1186
- childRenderNodes,
1187
- slotNodes,
1188
- shadowRootNodes,
1189
- slottedNodes
1190
- );
1191
- }
1192
- childVNode.$elm$["s-sn"] = slotName;
1193
- childVNode.$elm$.removeAttribute("s-sn");
1194
- }
1195
- if (childVNode.$index$ !== void 0) {
1196
- parentVNode.$children$[childVNode.$index$] = childVNode;
1197
- }
1198
- if (scopeId2) node["s-si"] = scopeId2;
1199
- parentVNode = childVNode;
1200
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1201
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1202
- }
1434
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
1435
+ let oldStartIdx = 0;
1436
+ let newStartIdx = 0;
1437
+ let idxInOld = 0;
1438
+ let i2 = 0;
1439
+ let oldEndIdx = oldCh.length - 1;
1440
+ let oldStartVnode = oldCh[0];
1441
+ let oldEndVnode = oldCh[oldEndIdx];
1442
+ let newEndIdx = newCh.length - 1;
1443
+ let newStartVnode = newCh[0];
1444
+ let newEndVnode = newCh[newEndIdx];
1445
+ let node;
1446
+ let elmToMove;
1447
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
1448
+ if (oldStartVnode == null) {
1449
+ oldStartVnode = oldCh[++oldStartIdx];
1450
+ } else if (oldEndVnode == null) {
1451
+ oldEndVnode = oldCh[--oldEndIdx];
1452
+ } else if (newStartVnode == null) {
1453
+ newStartVnode = newCh[++newStartIdx];
1454
+ } else if (newEndVnode == null) {
1455
+ newEndVnode = newCh[--newEndIdx];
1456
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
1457
+ patch(oldStartVnode, newStartVnode, isInitialRender);
1458
+ oldStartVnode = oldCh[++oldStartIdx];
1459
+ newStartVnode = newCh[++newStartIdx];
1460
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
1461
+ patch(oldEndVnode, newEndVnode, isInitialRender);
1462
+ oldEndVnode = oldCh[--oldEndIdx];
1463
+ newEndVnode = newCh[--newEndIdx];
1464
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
1465
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1466
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
1203
1467
  }
1204
- }
1205
- if (node.shadowRoot) {
1206
- for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
1207
- clientHydrate(
1208
- parentVNode,
1209
- childRenderNodes,
1210
- slotNodes,
1211
- shadowRootNodes,
1212
- hostElm,
1213
- node.shadowRoot.childNodes[i2],
1214
- hostId,
1215
- slottedNodes
1216
- );
1468
+ patch(oldStartVnode, newEndVnode, isInitialRender);
1469
+ insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
1470
+ oldStartVnode = oldCh[++oldStartIdx];
1471
+ newEndVnode = newCh[--newEndIdx];
1472
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
1473
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1474
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1217
1475
  }
1218
- }
1219
- const nonShadowNodes = node.__childNodes || node.childNodes;
1220
- for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
1221
- clientHydrate(
1222
- parentVNode,
1223
- childRenderNodes,
1224
- slotNodes,
1225
- shadowRootNodes,
1226
- hostElm,
1227
- nonShadowNodes[i2],
1228
- hostId,
1229
- slottedNodes
1230
- );
1231
- }
1232
- } else if (node.nodeType === 8 /* CommentNode */) {
1233
- childIdSplt = node.nodeValue.split(".");
1234
- if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1235
- childNodeType = childIdSplt[0];
1236
- childVNode = createSimpleVNode({
1237
- $hostId$: childIdSplt[1],
1238
- $nodeId$: childIdSplt[2],
1239
- $depth$: childIdSplt[3],
1240
- $index$: childIdSplt[4] || "0",
1241
- $elm$: node,
1242
- $attrs$: null,
1243
- $children$: null,
1244
- $key$: null,
1245
- $name$: null,
1246
- $tag$: null,
1247
- $text$: null
1248
- });
1249
- if (childNodeType === TEXT_NODE_ID) {
1250
- childVNode.$elm$ = node.nextSibling;
1251
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1252
- childVNode.$text$ = childVNode.$elm$.textContent;
1253
- childRenderNodes.push(childVNode);
1254
- node.remove();
1255
- if (hostId === childVNode.$hostId$) {
1256
- if (!parentVNode.$children$) {
1257
- parentVNode.$children$ = [];
1258
- }
1259
- parentVNode.$children$[childVNode.$index$] = childVNode;
1260
- }
1261
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1262
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1476
+ patch(oldEndVnode, newStartVnode, isInitialRender);
1477
+ insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
1478
+ oldEndVnode = oldCh[--oldEndIdx];
1479
+ newStartVnode = newCh[++newStartIdx];
1480
+ } else {
1481
+ idxInOld = -1;
1482
+ {
1483
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
1484
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
1485
+ idxInOld = i2;
1486
+ break;
1263
1487
  }
1264
1488
  }
1265
- } else if (childNodeType === COMMENT_NODE_ID) {
1266
- childVNode.$elm$ = node.nextSibling;
1267
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1268
- childRenderNodes.push(childVNode);
1269
- node.remove();
1489
+ }
1490
+ if (idxInOld >= 0) {
1491
+ elmToMove = oldCh[idxInOld];
1492
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1493
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
1494
+ } else {
1495
+ patch(elmToMove, newStartVnode, isInitialRender);
1496
+ oldCh[idxInOld] = void 0;
1497
+ node = elmToMove.$elm$;
1270
1498
  }
1271
- } else if (childVNode.$hostId$ === hostId) {
1272
- if (childNodeType === SLOT_NODE_ID) {
1273
- childVNode.$tag$ = "slot";
1274
- const slotName = node["s-sn"] = childVNode.$name$ = childIdSplt[5] || "";
1275
- addSlot(
1276
- slotName,
1277
- childIdSplt[2],
1278
- childVNode,
1499
+ newStartVnode = newCh[++newStartIdx];
1500
+ } else {
1501
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
1502
+ newStartVnode = newCh[++newStartIdx];
1503
+ }
1504
+ if (node) {
1505
+ {
1506
+ insertBefore(
1507
+ referenceNode(oldStartVnode.$elm$).parentNode,
1279
1508
  node,
1280
- parentVNode,
1281
- childRenderNodes,
1282
- slotNodes,
1283
- shadowRootNodes,
1284
- slottedNodes
1509
+ referenceNode(oldStartVnode.$elm$)
1285
1510
  );
1286
- } else if (childNodeType === CONTENT_REF_ID) {
1287
- {
1288
- hostElm["s-cr"] = node;
1289
- node["s-cn"] = true;
1290
- }
1291
1511
  }
1292
1512
  }
1293
1513
  }
1294
- } else if (parentVNode && parentVNode.$tag$ === "style") {
1295
- const vnode = newVNode(null, node.textContent);
1296
- vnode.$elm$ = node;
1297
- vnode.$index$ = "0";
1298
- parentVNode.$children$ = [vnode];
1299
1514
  }
1300
- return parentVNode;
1515
+ if (oldStartIdx > oldEndIdx) {
1516
+ addVnodes(
1517
+ parentElm,
1518
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
1519
+ newVNode2,
1520
+ newCh,
1521
+ newStartIdx,
1522
+ newEndIdx
1523
+ );
1524
+ } else if (newStartIdx > newEndIdx) {
1525
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
1526
+ }
1301
1527
  };
1302
- var initializeDocumentHydrate = (node, orgLocNodes) => {
1303
- if (node.nodeType === 1 /* ElementNode */) {
1304
- const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1305
- if (componentId) {
1306
- orgLocNodes.set(componentId, node);
1307
- }
1308
- let i2 = 0;
1309
- if (node.shadowRoot) {
1310
- for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1311
- initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1312
- }
1528
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1529
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1530
+ if (leftVNode.$tag$ === "slot") {
1531
+ return leftVNode.$name$ === rightVNode.$name$;
1313
1532
  }
1314
- const nonShadowNodes = node.__childNodes || node.childNodes;
1315
- for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1316
- initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
1533
+ if (!isInitialRender) {
1534
+ return leftVNode.$key$ === rightVNode.$key$;
1317
1535
  }
1318
- } else if (node.nodeType === 8 /* CommentNode */) {
1319
- const childIdSplt = node.nodeValue.split(".");
1320
- if (childIdSplt[0] === ORG_LOCATION_ID) {
1321
- orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
1322
- node.nodeValue = "";
1323
- node["s-en"] = childIdSplt[3];
1536
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
1537
+ leftVNode.$key$ = rightVNode.$key$;
1324
1538
  }
1539
+ return true;
1325
1540
  }
1541
+ return false;
1326
1542
  };
1327
- var createSimpleVNode = (vnode) => {
1328
- const defaultVNode = {
1329
- $flags$: 0,
1330
- $hostId$: null,
1331
- $nodeId$: null,
1332
- $depth$: null,
1333
- $index$: "0",
1334
- $elm$: null,
1335
- $attrs$: null,
1336
- $children$: null,
1337
- $key$: null,
1338
- $name$: null,
1339
- $tag$: null,
1340
- $text$: null
1341
- };
1342
- return { ...defaultVNode, ...vnode };
1343
- };
1344
- function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1345
- node["s-sr"] = true;
1346
- const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1347
- {
1348
- const slot = childVNode.$elm$;
1349
- const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1350
- addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1351
- if (shouldMove) {
1352
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1543
+ var referenceNode = (node) => node && node["s-ol"] || node;
1544
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1545
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
1546
+ const oldChildren = oldVNode.$children$;
1547
+ const newChildren = newVNode2.$children$;
1548
+ const tag = newVNode2.$tag$;
1549
+ const text = newVNode2.$text$;
1550
+ let defaultHolder;
1551
+ if (text === null) {
1552
+ {
1553
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1353
1554
  }
1354
- childRenderNodes.push(childVNode);
1355
- }
1356
- slotNodes.push(childVNode);
1357
- if (!parentVNode.$children$) {
1358
- parentVNode.$children$ = [];
1359
- }
1360
- parentVNode.$children$[childVNode.$index$] = childVNode;
1361
- }
1362
- var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1363
- let slottedNode = slotNode.nextSibling;
1364
- slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1365
- 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 */))) {
1366
- slottedNode["s-sn"] = slotName;
1367
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1368
- slottedNode = slottedNode.nextSibling;
1555
+ {
1556
+ updateElement(oldVNode, newVNode2, isSvgMode, isInitialRender);
1557
+ }
1558
+ if (oldChildren !== null && newChildren !== null) {
1559
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
1560
+ } else if (newChildren !== null) {
1561
+ if (oldVNode.$text$ !== null) {
1562
+ elm.textContent = "";
1563
+ }
1564
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
1565
+ } else if (
1566
+ // don't do this on initial render as it can cause non-hydrated content to be removed
1567
+ !isInitialRender && BUILD.updatable && oldChildren !== null
1568
+ ) {
1569
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
1570
+ }
1571
+ if (isSvgMode && tag === "svg") {
1572
+ isSvgMode = false;
1573
+ }
1574
+ } else if ((defaultHolder = elm["s-cr"])) {
1575
+ defaultHolder.parentNode.textContent = text;
1576
+ } else if (oldVNode.$text$ !== text) {
1577
+ elm.data = text;
1369
1578
  }
1370
1579
  };
1371
- var parsePropertyValue = (propValue, propType) => {
1372
- if (propValue != null && !isComplexType(propValue)) {
1373
- if (propType & 4 /* Boolean */) {
1374
- return propValue === "false" ? false : propValue === "" || !!propValue;
1375
- }
1376
- if (propType & 2 /* Number */) {
1377
- return parseFloat(propValue);
1580
+ var relocateNodes = [];
1581
+ var markSlotContentForRelocation = (elm) => {
1582
+ let node;
1583
+ let hostContentNodes;
1584
+ let j;
1585
+ const children = elm.__childNodes || elm.childNodes;
1586
+ for (const childNode of children) {
1587
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1588
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1589
+ const slotName = childNode["s-sn"];
1590
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1591
+ node = hostContentNodes[j];
1592
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (true)) {
1593
+ if (isNodeLocatedInSlot(node, slotName)) {
1594
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1595
+ checkSlotFallbackVisibility = true;
1596
+ node["s-sn"] = node["s-sn"] || slotName;
1597
+ if (relocateNodeData) {
1598
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
1599
+ relocateNodeData.$slotRefNode$ = childNode;
1600
+ } else {
1601
+ node["s-sh"] = childNode["s-hn"];
1602
+ relocateNodes.push({
1603
+ $slotRefNode$: childNode,
1604
+ $nodeToRelocate$: node
1605
+ });
1606
+ }
1607
+ if (node["s-sr"]) {
1608
+ relocateNodes.map((relocateNode) => {
1609
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
1610
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1611
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1612
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1613
+ }
1614
+ }
1615
+ });
1616
+ }
1617
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1618
+ relocateNodes.push({
1619
+ $nodeToRelocate$: node
1620
+ });
1621
+ }
1622
+ }
1623
+ }
1378
1624
  }
1379
- if (propType & 1 /* String */) {
1380
- return String(propValue);
1625
+ if (childNode.nodeType === 1 /* ElementNode */) {
1626
+ markSlotContentForRelocation(childNode);
1381
1627
  }
1382
- return propValue;
1383
1628
  }
1384
- return propValue;
1385
1629
  };
1386
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1387
-
1388
- // src/runtime/event-emitter.ts
1389
- var createEvent = (ref, name, flags) => {
1390
- const elm = getElement(ref);
1391
- return {
1392
- emit: (detail) => {
1393
- return emitEvent(elm, name, {
1394
- bubbles: !!(flags & 4 /* Bubbles */),
1395
- composed: !!(flags & 2 /* Composed */),
1396
- cancelable: !!(flags & 1 /* Cancellable */),
1397
- detail
1398
- });
1399
- }
1400
- };
1630
+ var nullifyVNodeRefs = (vNode) => {
1631
+ {
1632
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1633
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1634
+ }
1401
1635
  };
1402
- var emitEvent = (elm, name, opts) => {
1403
- const ev = plt.ce(name, opts);
1404
- elm.dispatchEvent(ev);
1405
- return ev;
1636
+ var insertBefore = (parent, newNode, reference) => {
1637
+ {
1638
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1639
+ }
1406
1640
  };
1407
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1408
- var registerStyle = (scopeId2, cssText, allowCS) => {
1409
- let style = styles.get(scopeId2);
1410
- if (supportsConstructableStylesheets && allowCS) {
1411
- style = style || new CSSStyleSheet();
1412
- if (typeof style === "string") {
1413
- style = cssText;
1414
- } else {
1415
- style.replaceSync(cssText);
1641
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1642
+ var _a, _b, _c, _d;
1643
+ const hostElm = hostRef.$hostElement$;
1644
+ const cmpMeta = hostRef.$cmpMeta$;
1645
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1646
+ const isHostElement = isHost(renderFnResults);
1647
+ const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
1648
+ hostTagName = hostElm.tagName;
1649
+ if (cmpMeta.$attrsToReflect$) {
1650
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1651
+ cmpMeta.$attrsToReflect$.map(
1652
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1653
+ );
1654
+ }
1655
+ if (isInitialLoad && rootVnode.$attrs$) {
1656
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1657
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
1658
+ rootVnode.$attrs$[key] = hostElm[key];
1659
+ }
1416
1660
  }
1417
- } else {
1418
- style = cssText;
1419
1661
  }
1420
- styles.set(scopeId2, style);
1421
- };
1422
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1423
- var _a;
1424
- const scopeId2 = getScopeId(cmpMeta);
1425
- const style = styles.get(scopeId2);
1426
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1427
- if (style) {
1428
- if (typeof style === "string") {
1429
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1430
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1431
- let styleElm;
1432
- if (!appliedStyles) {
1433
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1662
+ rootVnode.$tag$ = null;
1663
+ rootVnode.$flags$ |= 4 /* isHost */;
1664
+ hostRef.$vnode$ = rootVnode;
1665
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
1666
+ useNativeShadowDom = supportsShadow;
1667
+ {
1668
+ contentRef = hostElm["s-cr"];
1669
+ checkSlotFallbackVisibility = false;
1670
+ }
1671
+ patch(oldVNode, rootVnode, isInitialLoad);
1672
+ {
1673
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1674
+ if (checkSlotRelocate) {
1675
+ markSlotContentForRelocation(rootVnode.$elm$);
1676
+ for (const relocateData of relocateNodes) {
1677
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1678
+ if (!nodeToRelocate["s-ol"] && win.document) {
1679
+ const orgLocationNode = win.document.createTextNode("");
1680
+ orgLocationNode["s-nr"] = nodeToRelocate;
1681
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1682
+ }
1434
1683
  }
1435
- if (!appliedStyles.has(scopeId2)) {
1436
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1437
- styleElm.innerHTML = style;
1438
- } else {
1439
- styleElm = doc.createElement("style");
1440
- styleElm.innerHTML = style;
1441
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1442
- if (nonce != null) {
1443
- styleElm.setAttribute("nonce", nonce);
1444
- }
1445
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1446
- if (styleContainerNode.nodeName === "HEAD") {
1447
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1448
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1449
- styleContainerNode.insertBefore(styleElm, referenceNode2);
1450
- } else if ("host" in styleContainerNode) {
1451
- if (supportsConstructableStylesheets) {
1452
- const stylesheet = new CSSStyleSheet();
1453
- stylesheet.replaceSync(style);
1454
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1455
- } else {
1456
- const existingStyleContainer = styleContainerNode.querySelector("style");
1457
- if (existingStyleContainer) {
1458
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1459
- } else {
1460
- styleContainerNode.prepend(styleElm);
1684
+ for (const relocateData of relocateNodes) {
1685
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1686
+ const slotRefNode = relocateData.$slotRefNode$;
1687
+ if (slotRefNode) {
1688
+ const parentNodeRef = slotRefNode.parentNode;
1689
+ let insertBeforeNode = slotRefNode.nextSibling;
1690
+ {
1691
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1692
+ while (orgLocationNode) {
1693
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1694
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1695
+ refNode = refNode.nextSibling;
1696
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1697
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1698
+ }
1699
+ if (!refNode || !refNode["s-nr"]) {
1700
+ insertBeforeNode = refNode;
1701
+ break;
1461
1702
  }
1462
1703
  }
1463
- } else {
1464
- styleContainerNode.append(styleElm);
1704
+ orgLocationNode = orgLocationNode.previousSibling;
1465
1705
  }
1466
1706
  }
1467
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
1468
- styleContainerNode.insertBefore(styleElm, null);
1707
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1708
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1709
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1710
+ if (nodeToRelocate !== insertBeforeNode) {
1711
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1712
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1713
+ }
1714
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1715
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1716
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1717
+ }
1718
+ }
1719
+ }
1720
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1721
+ } else {
1722
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1723
+ if (isInitialLoad) {
1724
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1725
+ }
1726
+ nodeToRelocate.hidden = true;
1469
1727
  }
1470
- }
1471
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1472
- styleElm.innerHTML += SLOT_FB_CSS;
1473
- }
1474
- if (appliedStyles) {
1475
- appliedStyles.add(scopeId2);
1476
1728
  }
1477
1729
  }
1478
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1479
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1480
1730
  }
1731
+ if (checkSlotFallbackVisibility) {
1732
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1733
+ }
1734
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1735
+ relocateNodes.length = 0;
1481
1736
  }
1482
- return scopeId2;
1483
- };
1484
- var attachStyles = (hostRef) => {
1485
- const cmpMeta = hostRef.$cmpMeta$;
1486
- const elm = hostRef.$hostElement$;
1487
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1488
- addStyle(
1489
- elm.getRootNode(),
1490
- cmpMeta);
1491
- endAttachStyles();
1737
+ contentRef = void 0;
1492
1738
  };
1493
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1494
1739
 
1495
1740
  // src/runtime/update-component.ts
1496
1741
  var attachToAncestor = (hostRef, ancestorComponent) => {
1497
1742
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
1498
- ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
1743
+ const index = ancestorComponent["s-p"].push(
1744
+ new Promise(
1745
+ (r) => hostRef.$onRenderResolve$ = () => {
1746
+ ancestorComponent["s-p"].splice(index - 1, 1);
1747
+ r();
1748
+ }
1749
+ )
1750
+ );
1499
1751
  }
1500
1752
  };
1501
1753
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -1524,17 +1776,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
1524
1776
  {
1525
1777
  hostRef.$flags$ |= 256 /* isListenReady */;
1526
1778
  if (hostRef.$queuedListeners$) {
1527
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1779
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1528
1780
  hostRef.$queuedListeners$ = void 0;
1529
1781
  }
1530
1782
  }
1531
- {
1532
- maybePromise = safeCall(instance, "componentWillLoad");
1533
- }
1534
- }
1535
- {
1536
- maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender"));
1783
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
1784
+ } else {
1785
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1537
1786
  }
1787
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
1538
1788
  endSchedule();
1539
1789
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1540
1790
  };
@@ -1579,7 +1829,7 @@ var callRender = (hostRef, instance, elm, isInitialLoad) => {
1579
1829
  renderingRef = instance;
1580
1830
  instance = instance.render && instance.render();
1581
1831
  {
1582
- hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
1832
+ hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
1583
1833
  }
1584
1834
  {
1585
1835
  hostRef.$flags$ |= 2 /* hasRendered */;
@@ -1604,17 +1854,13 @@ var postUpdateComponent = (hostRef) => {
1604
1854
  const endPostUpdate = createTime("postUpdate", tagName);
1605
1855
  const instance = hostRef.$lazyInstance$ ;
1606
1856
  const ancestorComponent = hostRef.$ancestorComponent$;
1607
- {
1608
- safeCall(instance, "componentDidRender");
1609
- }
1857
+ safeCall(instance, "componentDidRender", void 0, elm);
1610
1858
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1611
1859
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1612
1860
  {
1613
1861
  addHydratedFlag(elm);
1614
1862
  }
1615
- {
1616
- safeCall(instance, "componentDidLoad");
1617
- }
1863
+ safeCall(instance, "componentDidLoad", void 0, elm);
1618
1864
  endPostUpdate();
1619
1865
  {
1620
1866
  hostRef.$onReadyResolve$(elm);
@@ -1623,6 +1869,7 @@ var postUpdateComponent = (hostRef) => {
1623
1869
  }
1624
1870
  }
1625
1871
  } else {
1872
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1626
1873
  endPostUpdate();
1627
1874
  }
1628
1875
  {
@@ -1636,7 +1883,7 @@ var postUpdateComponent = (hostRef) => {
1636
1883
  if (hostRef.$flags$ & 512 /* needsRerender */) {
1637
1884
  nextTick(() => scheduleUpdate(hostRef, false));
1638
1885
  }
1639
- hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
1886
+ hostRef.$flags$ &= -517;
1640
1887
  }
1641
1888
  };
1642
1889
  var forceUpdate = (ref) => {
@@ -1650,17 +1897,14 @@ var forceUpdate = (ref) => {
1650
1897
  }
1651
1898
  };
1652
1899
  var appDidLoad = (who) => {
1653
- {
1654
- addHydratedFlag(doc.documentElement);
1655
- }
1656
1900
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1657
1901
  };
1658
- var safeCall = (instance, method, arg) => {
1902
+ var safeCall = (instance, method, arg, elm) => {
1659
1903
  if (instance && instance[method]) {
1660
1904
  try {
1661
1905
  return instance[method](arg);
1662
1906
  } catch (e) {
1663
- consoleError(e);
1907
+ consoleError(e, elm);
1664
1908
  }
1665
1909
  }
1666
1910
  return void 0;
@@ -1676,7 +1920,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1676
1920
  const hostRef = getHostRef(ref);
1677
1921
  if (!hostRef) {
1678
1922
  throw new Error(
1679
- `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
1923
+ `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
1680
1924
  );
1681
1925
  }
1682
1926
  const elm = hostRef.$hostElement$ ;
@@ -1702,6 +1946,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1702
1946
  }
1703
1947
  }
1704
1948
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1949
+ if (instance.componentShouldUpdate) {
1950
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1951
+ return;
1952
+ }
1953
+ }
1705
1954
  scheduleUpdate(hostRef, false);
1706
1955
  }
1707
1956
  }
@@ -1719,62 +1968,69 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1719
1968
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1720
1969
  members.map(([memberName, [memberFlags]]) => {
1721
1970
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1722
- if ((memberFlags & 2048 /* Getter */) === 0) {
1971
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1972
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1973
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1974
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
1723
1975
  Object.defineProperty(prototype, memberName, {
1724
1976
  get() {
1725
- return getValue(this, memberName);
1726
- },
1727
- set(newValue) {
1728
- setValue(this, memberName, newValue, cmpMeta);
1729
- },
1730
- configurable: true,
1731
- enumerable: true
1732
- });
1733
- } else if (flags & 1 /* isElementConstructor */ && memberFlags & 2048 /* Getter */) {
1734
- {
1735
- Object.defineProperty(prototype, memberName, {
1736
- get() {
1977
+ {
1978
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
1979
+ return getValue(this, memberName);
1980
+ }
1737
1981
  const ref = getHostRef(this);
1738
1982
  const instance = ref ? ref.$lazyInstance$ : prototype;
1739
1983
  if (!instance) return;
1740
1984
  return instance[memberName];
1741
- },
1742
- configurable: true,
1743
- enumerable: true
1744
- });
1745
- }
1746
- if (memberFlags & 4096 /* Setter */) {
1747
- const origSetter = Object.getOwnPropertyDescriptor(prototype, memberName).set;
1748
- Object.defineProperty(prototype, memberName, {
1749
- set(newValue) {
1750
- const ref = getHostRef(this);
1751
- if (origSetter) {
1752
- const currentValue = ref.$hostElement$[memberName];
1753
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1754
- ref.$instanceValues$.set(memberName, currentValue);
1755
- }
1756
- origSetter.apply(this, [parsePropertyValue(newValue, cmpMeta.$members$[memberName][0])]);
1757
- setValue(this, memberName, ref.$hostElement$[memberName], cmpMeta);
1758
- return;
1985
+ }
1986
+ },
1987
+ configurable: true,
1988
+ enumerable: true
1989
+ });
1990
+ }
1991
+ Object.defineProperty(prototype, memberName, {
1992
+ set(newValue) {
1993
+ const ref = getHostRef(this);
1994
+ if (origSetter) {
1995
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1996
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1997
+ newValue = ref.$instanceValues$.get(memberName);
1998
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
1999
+ ref.$instanceValues$.set(memberName, currentValue);
2000
+ }
2001
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2002
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2003
+ setValue(this, memberName, newValue, cmpMeta);
2004
+ return;
2005
+ }
2006
+ {
2007
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
2008
+ setValue(this, memberName, newValue, cmpMeta);
2009
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
2010
+ ref.$onReadyPromise$.then(() => {
2011
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
2012
+ ref.$lazyInstance$[memberName] = newValue;
2013
+ }
2014
+ });
1759
2015
  }
1760
- if (!ref) return;
1761
- const setterSetVal = () => {
1762
- const currentValue = ref.$lazyInstance$[memberName];
1763
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1764
- ref.$instanceValues$.set(memberName, currentValue);
1765
- }
1766
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, cmpMeta.$members$[memberName][0]);
1767
- setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1768
- };
1769
- if (ref.$lazyInstance$) {
1770
- setterSetVal();
1771
- } else {
1772
- ref.$onReadyPromise$.then(() => setterSetVal());
2016
+ return;
2017
+ }
2018
+ const setterSetVal = () => {
2019
+ const currentValue = ref.$lazyInstance$[memberName];
2020
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
2021
+ ref.$instanceValues$.set(memberName, currentValue);
1773
2022
  }
2023
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
2024
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
2025
+ };
2026
+ if (ref.$lazyInstance$) {
2027
+ setterSetVal();
2028
+ } else {
2029
+ ref.$onReadyPromise$.then(() => setterSetVal());
1774
2030
  }
1775
- });
2031
+ }
1776
2032
  }
1777
- }
2033
+ });
1778
2034
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1779
2035
  Object.defineProperty(prototype, memberName, {
1780
2036
  value(...args) {
@@ -1794,7 +2050,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1794
2050
  plt.jmp(() => {
1795
2051
  var _a2;
1796
2052
  const propName = attrNameToPropName.get(attrName);
1797
- if (this.hasOwnProperty(propName)) {
2053
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1798
2054
  newValue = this[propName];
1799
2055
  delete this[propName];
1800
2056
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -1815,8 +2071,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1815
2071
  return;
1816
2072
  }
1817
2073
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1818
- if (!propDesc.get || !!propDesc.set) {
1819
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2074
+ newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2075
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2076
+ this[propName] = newValue;
1820
2077
  }
1821
2078
  });
1822
2079
  };
@@ -1846,7 +2103,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1846
2103
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1847
2104
  const bundleId = cmpMeta.$lazyBundleId$;
1848
2105
  if (bundleId) {
1849
- const CstrImport = loadModule(cmpMeta);
2106
+ const CstrImport = loadModule(cmpMeta, hostRef);
1850
2107
  if (CstrImport && "then" in CstrImport) {
1851
2108
  const endLoad = uniqueTime();
1852
2109
  Cstr = await CstrImport;
@@ -1871,16 +2128,16 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1871
2128
  try {
1872
2129
  new Cstr(hostRef);
1873
2130
  } catch (e) {
1874
- consoleError(e);
2131
+ consoleError(e, elm);
1875
2132
  }
1876
2133
  {
1877
- hostRef.$flags$ &= ~8 /* isConstructingInstance */;
2134
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
1878
2135
  }
1879
2136
  {
1880
2137
  hostRef.$flags$ |= 128 /* isWatchReady */;
1881
2138
  }
1882
2139
  endNewInstance();
1883
- fireConnectedCallback(hostRef.$lazyInstance$);
2140
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1884
2141
  } else {
1885
2142
  Cstr = elm.constructor;
1886
2143
  const cmpTag = elm.localName;
@@ -1907,9 +2164,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1907
2164
  schedule();
1908
2165
  }
1909
2166
  };
1910
- var fireConnectedCallback = (instance) => {
2167
+ var fireConnectedCallback = (instance, elm) => {
1911
2168
  {
1912
- safeCall(instance, "connectedCallback");
2169
+ safeCall(instance, "connectedCallback", void 0, elm);
1913
2170
  }
1914
2171
  };
1915
2172
 
@@ -1958,24 +2215,27 @@ var connectedCallback = (elm) => {
1958
2215
  } else {
1959
2216
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1960
2217
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1961
- fireConnectedCallback(hostRef.$lazyInstance$);
2218
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1962
2219
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1963
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2220
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1964
2221
  }
1965
2222
  }
1966
2223
  endConnected();
1967
2224
  }
1968
2225
  };
1969
2226
  var setContentReference = (elm) => {
1970
- const contentRefElm = elm["s-cr"] = doc.createComment(
2227
+ if (!win.document) {
2228
+ return;
2229
+ }
2230
+ const contentRefElm = elm["s-cr"] = win.document.createComment(
1971
2231
  ""
1972
2232
  );
1973
2233
  contentRefElm["s-cn"] = true;
1974
2234
  insertBefore(elm, contentRefElm, elm.firstChild);
1975
2235
  };
1976
- var disconnectInstance = (instance) => {
2236
+ var disconnectInstance = (instance, elm) => {
1977
2237
  {
1978
- safeCall(instance, "disconnectedCallback");
2238
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1979
2239
  }
1980
2240
  };
1981
2241
  var disconnectedCallback = async (elm) => {
@@ -1988,28 +2248,38 @@ var disconnectedCallback = async (elm) => {
1988
2248
  }
1989
2249
  }
1990
2250
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1991
- disconnectInstance(hostRef.$lazyInstance$);
2251
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1992
2252
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1993
- hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2253
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1994
2254
  }
1995
2255
  }
2256
+ if (rootAppliedStyles.has(elm)) {
2257
+ rootAppliedStyles.delete(elm);
2258
+ }
2259
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
2260
+ rootAppliedStyles.delete(elm.shadowRoot);
2261
+ }
1996
2262
  };
1997
2263
 
1998
2264
  // src/runtime/bootstrap-lazy.ts
1999
2265
  var bootstrapLazy = (lazyBundles, options = {}) => {
2000
2266
  var _a;
2267
+ if (!win.document) {
2268
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
2269
+ return;
2270
+ }
2001
2271
  const endBootstrap = createTime();
2002
2272
  const cmpTags = [];
2003
2273
  const exclude = options.exclude || [];
2004
2274
  const customElements2 = win.customElements;
2005
- const head = doc.head;
2275
+ const head = win.document.head;
2006
2276
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
2007
- const dataStyles = /* @__PURE__ */ doc.createElement("style");
2277
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
2008
2278
  const deferredConnectedCallbacks = [];
2009
2279
  let appLoadFallback;
2010
2280
  let isBootstrapping = true;
2011
2281
  Object.assign(plt, options);
2012
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
2282
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
2013
2283
  {
2014
2284
  plt.$flags$ |= 2 /* appLoaded */;
2015
2285
  }
@@ -2065,6 +2335,17 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2065
2335
  }
2066
2336
  disconnectedCallback() {
2067
2337
  plt.jmp(() => disconnectedCallback(this));
2338
+ plt.raf(() => {
2339
+ var _a3;
2340
+ const hostRef = getHostRef(this);
2341
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
2342
+ if (i2 > -1) {
2343
+ deferredConnectedCallbacks.splice(i2, 1);
2344
+ }
2345
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
2346
+ delete hostRef.$vnode$.$elm$;
2347
+ }
2348
+ });
2068
2349
  }
2069
2350
  componentOnReady() {
2070
2351
  return getHostRef(this).$onReadyPromise$;
@@ -2086,7 +2367,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2086
2367
  }
2087
2368
  if (dataStyles.innerHTML.length) {
2088
2369
  dataStyles.setAttribute("data-styles", "");
2089
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
2370
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2090
2371
  if (nonce != null) {
2091
2372
  dataStyles.setAttribute("nonce", nonce);
2092
2373
  }
@@ -2104,9 +2385,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2104
2385
  endBootstrap();
2105
2386
  };
2106
2387
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2107
- if (listeners) {
2388
+ if (listeners && win.document) {
2108
2389
  listeners.map(([flags, name, method]) => {
2109
- const target = getHostListenerTarget(elm, flags) ;
2390
+ const target = getHostListenerTarget(win.document, elm, flags) ;
2110
2391
  const handler = hostListenerProxy(hostRef, method);
2111
2392
  const opts = hostListenerOpts(flags);
2112
2393
  plt.ael(target, name, handler, opts);
@@ -2125,11 +2406,13 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
2125
2406
  }
2126
2407
  }
2127
2408
  } catch (e) {
2128
- consoleError(e);
2409
+ consoleError(e, hostRef.$hostElement$);
2129
2410
  }
2130
2411
  };
2131
- var getHostListenerTarget = (elm, flags) => {
2132
- if (flags & 4 /* TargetDocument */) return doc;
2412
+ var getHostListenerTarget = (doc, elm, flags) => {
2413
+ if (flags & 4 /* TargetDocument */) {
2414
+ return doc;
2415
+ }
2133
2416
  return elm;
2134
2417
  };
2135
2418
  var hostListenerOpts = (flags) => supportsListenerOptions ? {
@@ -2151,5 +2434,6 @@ exports.h = h;
2151
2434
  exports.promiseResolve = promiseResolve;
2152
2435
  exports.registerInstance = registerInstance;
2153
2436
  exports.setNonce = setNonce;
2437
+ //# sourceMappingURL=index-BkwGxxDX.js.map
2154
2438
 
2155
- //# sourceMappingURL=index-8006d065.js.map
2439
+ //# sourceMappingURL=index-BkwGxxDX.js.map