voyager-ionic-core 8.8.8 → 8.8.10

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 (419) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +1 -1
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +1 -1
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +1 -1
  66. package/components/ion-refresher-content.js +1 -1
  67. package/components/ion-refresher.js +1 -1
  68. package/components/ion-reorder-group.js +1 -1
  69. package/components/ion-reorder.js +1 -1
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +1 -1
  72. package/components/ion-route.js +1 -1
  73. package/components/ion-router-link.js +1 -1
  74. package/components/ion-router-outlet.js +1 -1
  75. package/components/ion-router.js +1 -1
  76. package/components/ion-row.js +1 -1
  77. package/components/ion-searchbar.js +1 -1
  78. package/components/ion-segment-button.js +1 -1
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +1 -1
  81. package/components/ion-segment.js +1 -1
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +1 -1
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +1 -1
  86. package/components/ion-skeleton-text.js +1 -1
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +1 -1
  89. package/components/ion-tab-bar.js +1 -1
  90. package/components/ion-tab-button.js +1 -1
  91. package/components/ion-tab.js +1 -1
  92. package/components/ion-tabs.js +1 -1
  93. package/components/ion-text.js +1 -1
  94. package/components/ion-textarea.js +1 -1
  95. package/components/ion-thumbnail.js +1 -1
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +1 -1
  98. package/components/ion-toggle.js +1 -1
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/{p-CoA-aqGF.js → p--JUspHvy.js} +1 -1
  101. package/components/{p-DHsZWn1l.js → p-0NRupjzW.js} +1 -1
  102. package/components/{p-BSB38Tek.js → p-5bE_Wz4Y.js} +1 -1
  103. package/components/{p-kvaDs24J.js → p-B60hm8Qv.js} +1 -1
  104. package/components/{p-B6FQ0cKR.js → p-B9jFTlwE.js} +1 -1
  105. package/{dist/ionic/p-BvFYtOdE.js → components/p-BAYYcg3o.js} +1 -1
  106. package/components/{p-DJMZehmW.js → p-BLmJ0zRm.js} +1 -1
  107. package/components/{p-Cyxa_4PV.js → p-BSEgsdFI.js} +1 -1
  108. package/components/{p-B6HaBl3o.js → p-BTPfOxsU.js} +1 -1
  109. package/{dist/ionic/p-DjriolRs.js → components/p-BT_5jSqG.js} +1 -1
  110. package/components/{p-DgbT0exM.js → p-Baq1XyAy.js} +1 -1
  111. package/components/{p-BYDc3hSE.js → p-BirPFsRD.js} +1 -1
  112. package/components/{p-FBcnjE5W.js → p-BjfgFSSR.js} +1 -1
  113. package/components/p-BjoEPDW5.js +4 -0
  114. package/{dist/ionic/p-DLbbmF9h.js → components/p-BnqQlm7c.js} +1 -1
  115. package/components/{p-BxwWvu-b.js → p-BsPelv04.js} +1 -1
  116. package/components/{p-DZhbcvo5.js → p-Bth-EzJ0.js} +1 -1
  117. package/components/{p-vEbVo2hO.js → p-Bz0dSlXZ.js} +1 -1
  118. package/components/{p-CBzELu-H.js → p-C1aScSTo.js} +1 -1
  119. package/components/{p-BTeL5HCK.js → p-C2lKgrXx.js} +1 -1
  120. package/components/{p-BgwEQWW6.js → p-C4t5ymfq.js} +1 -1
  121. package/components/p-CHqRYvYm.js +4 -0
  122. package/components/{p-Q1-Xy3As.js → p-CI3ncNZm.js} +1 -1
  123. package/components/{p-DYdpXONG.js → p-CSZf8_j0.js} +1 -1
  124. package/components/p-CU5rbWAW.js +4 -0
  125. package/components/p-C_xFdyXe.js +4 -0
  126. package/components/{p-CgfaEEem.js → p-Cfx4M1Bn.js} +1 -1
  127. package/{dist/ionic/p-C0JvVFMv.js → components/p-Ciz1-FuE.js} +1 -1
  128. package/components/p-CmR5uXej.js +4 -0
  129. package/components/p-CtukzcyX.js +4 -0
  130. package/components/{p-CEmXdzGo.js → p-D5Ubpm7D.js} +1 -1
  131. package/components/p-D7bSXQD3.js +4 -0
  132. package/components/{p-Cf6Z1pmL.js → p-DDWp95gH.js} +1 -1
  133. package/components/p-DIE4pXMl.js +4 -0
  134. package/components/p-DNQI6d-L.js +4 -0
  135. package/components/{p-CDfQnFrd.js → p-DOFCbuQR.js} +1 -1
  136. package/components/{p-BR3tZJmu.js → p-DnL1c9_X.js} +1 -1
  137. package/components/{p-YLXPWgVj.js → p-DqLB8yFQ.js} +1 -1
  138. package/components/{p-BagjAGC0.js → p-DqZAXv2t.js} +1 -1
  139. package/components/p-W5nO8mX_.js +4 -0
  140. package/components/{p-Cq8cQ0NL.js → p-W9CZ2mWX.js} +1 -1
  141. package/components/p-XlSIJDJ-.js +4 -0
  142. package/components/{p-ZuZOauwD.js → p-dhLYXa7A.js} +1 -1
  143. package/components/p-ijF0iCrA.js +4 -0
  144. package/components/{p-B8b1Ukl9.js → p-j5IxBIan.js} +1 -1
  145. package/components/{p-BUbsoBOV.js → p-k_E4tX5Z.js} +1 -1
  146. package/components/{p-DvOO1fxp.js → p-lE_JGpHD.js} +1 -1
  147. package/components/{p-D-cP12ZN.js → p-nQi4oKcG.js} +1 -1
  148. package/components/{p-fpbh6w3f.js → p-rCa2eL0j.js} +1 -1
  149. package/components/{p-SBseW5KJ.js → p-ryqmO0B-.js} +1 -1
  150. package/dist/cjs/{animation-Dg4yiuR2.js → animation-BJq0kcy2.js} +1 -1
  151. package/dist/cjs/{app-globals-CLI8xCmk.js → app-globals-BlqrqKTN.js} +1 -1
  152. package/dist/cjs/{button-active-FscMI17-.js → button-active-0mPOKmV2.js} +1 -1
  153. package/dist/cjs/{config-BukYi_pW.js → config-xninhj0J.js} +1 -1
  154. package/dist/cjs/{data-BYlBjkMU.js → data-DLTUw-KF.js} +1 -1
  155. package/dist/cjs/{framework-delegate-CRgp8o_p.js → framework-delegate-BtICZDHr.js} +1 -1
  156. package/dist/cjs/{hardware-back-button-C4rMJ5uI.js → hardware-back-button-iUuF_76h.js} +1 -1
  157. package/dist/cjs/{helpers-CxTYJdbT.js → helpers-Cv23MFHM.js} +1 -1
  158. package/dist/cjs/{index-C845Ti6K.js → index-BERfRao3.js} +4 -4
  159. package/dist/cjs/{index-MbaBbWXk.js → index-CIrkNXqJ.js} +2 -2
  160. package/dist/cjs/{index-CqT-2gKy.js → index-Ct7gcRif.js} +67 -23
  161. package/dist/cjs/{index-YcSftOMz.js → index-D81eLYUM.js} +2 -2
  162. package/dist/cjs/{index-CFUwM5x_.js → index-aC4x3Fk3.js} +5 -5
  163. package/dist/cjs/index.cjs.js +12 -12
  164. package/dist/cjs/{input-shims-CPL2J8F-.js → input-shims-CFLg7uzj.js} +3 -3
  165. package/dist/cjs/{input.utils-DmeJ8dmo.js → input.utils-DetjmtH2.js} +2 -2
  166. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  168. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  169. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  170. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  171. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  172. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  173. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  176. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  178. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  179. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  180. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  181. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  182. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  183. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  184. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  185. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  186. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  187. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  188. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  189. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  190. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  191. package/dist/cjs/ion-modal.cjs.entry.js +16 -13
  192. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  193. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  194. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  195. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  196. package/dist/cjs/ion-popover.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  198. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  199. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  200. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  201. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  202. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  203. package/dist/cjs/ion-route_4.cjs.entry.js +187 -21
  204. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  205. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  206. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  207. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  208. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  209. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  210. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  211. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  212. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  213. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  214. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  215. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  216. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  217. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  218. package/dist/cjs/{ionic-global-Bc3kJi1Z.js → ionic-global-B-cA6LkY.js} +1 -1
  219. package/dist/cjs/ionic.cjs.js +5 -5
  220. package/dist/cjs/{ios.transition-trBiC95R.js → ios.transition-BOSWOaiK.js} +4 -4
  221. package/dist/cjs/loader.cjs.js +4 -4
  222. package/dist/cjs/{md.transition-CUQECuvD.js → md.transition-B8-wBZqt.js} +4 -4
  223. package/dist/cjs/{notch-controller-sD-lTpdc.js → notch-controller-18PzRGXd.js} +1 -1
  224. package/dist/cjs/{overlays-C2jiBSNQ.js → overlays-TbKsuC-K.js} +5 -5
  225. package/dist/cjs/{status-tap-CCJk5VgT.js → status-tap-BXX8H8_Y.js} +3 -3
  226. package/dist/cjs/{swipe-back-CCpyQb6R.js → swipe-back-CCMaNiP2.js} +2 -2
  227. package/dist/collection/collection-manifest.json +2 -1
  228. package/dist/collection/components/modal/modal.js +7 -4
  229. package/dist/collection/components/picker-column-option/picker-column-option.md.css +13 -1
  230. package/dist/collection/components/router/router.js +55 -14
  231. package/dist/collection/components/router/utils/dom.js +114 -1
  232. package/dist/collection/components/router/utils/path.js +17 -5
  233. package/dist/collection/components/split-pane/split-pane.js +1 -1
  234. package/dist/docs.json +4 -4
  235. package/dist/esm/{animation-CnGMT4ji.js → animation-DLJpuoEz.js} +1 -1
  236. package/dist/esm/{app-globals-DhZjtldk.js → app-globals-D0C5S4hU.js} +1 -1
  237. package/dist/esm/{button-active-BBx21brx.js → button-active-BSpTQmS9.js} +1 -1
  238. package/dist/esm/{config-TO1rZH52.js → config-DQCONYYp.js} +1 -1
  239. package/dist/esm/{data-B9iGR5YO.js → data-DZI70dKr.js} +1 -1
  240. package/dist/esm/{framework-delegate-CyxE1S_P.js → framework-delegate-FnPGymXL.js} +1 -1
  241. package/dist/esm/{hardware-back-button-CTe4XmL7.js → hardware-back-button-B93Gru0Y.js} +1 -1
  242. package/dist/esm/{helpers-Tl8jw6S2.js → helpers-HEqiOzXb.js} +1 -1
  243. package/dist/esm/{index-BtUdxPjv.js → index-BRHzoo00.js} +2 -2
  244. package/dist/esm/{index-B-hkiOUh.js → index-B_dQk_WE.js} +4 -4
  245. package/dist/esm/{index-hW6eNZ3o.js → index-MEDq2S8l.js} +2 -2
  246. package/dist/esm/{index-B2KwgBLx.js → index-Q6UPU0Ay.js} +5 -5
  247. package/dist/esm/{index-IGIE5vDm.js → index-tcQvqkiX.js} +67 -23
  248. package/dist/esm/index.js +12 -12
  249. package/dist/esm/{input-shims-DbrgeeNb.js → input-shims-D10mwcw1.js} +3 -3
  250. package/dist/esm/{input.utils-Bxa_DQ7-.js → input.utils-Y6NgW8bw.js} +2 -2
  251. package/dist/esm/ion-accordion_2.entry.js +3 -3
  252. package/dist/esm/ion-action-sheet.entry.js +8 -8
  253. package/dist/esm/ion-alert.entry.js +9 -9
  254. package/dist/esm/ion-app_8.entry.js +12 -12
  255. package/dist/esm/ion-avatar_3.entry.js +2 -2
  256. package/dist/esm/ion-back-button.entry.js +3 -3
  257. package/dist/esm/ion-backdrop.entry.js +2 -2
  258. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  259. package/dist/esm/ion-button_2.entry.js +3 -3
  260. package/dist/esm/ion-card_5.entry.js +3 -3
  261. package/dist/esm/ion-checkbox.entry.js +3 -3
  262. package/dist/esm/ion-chip.entry.js +2 -2
  263. package/dist/esm/ion-col_3.entry.js +2 -2
  264. package/dist/esm/ion-datetime-button.entry.js +4 -4
  265. package/dist/esm/ion-datetime_3.entry.js +9 -9
  266. package/dist/esm/ion-fab_3.entry.js +3 -3
  267. package/dist/esm/ion-img.entry.js +3 -3
  268. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  269. package/dist/esm/ion-input-otp.entry.js +3 -3
  270. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  271. package/dist/esm/ion-input.entry.js +5 -5
  272. package/dist/esm/ion-item-option_3.entry.js +4 -4
  273. package/dist/esm/ion-item_8.entry.js +3 -3
  274. package/dist/esm/ion-loading.entry.js +8 -8
  275. package/dist/esm/ion-menu_3.entry.js +8 -8
  276. package/dist/esm/ion-modal.entry.js +16 -13
  277. package/dist/esm/ion-nav_2.entry.js +6 -6
  278. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  279. package/dist/esm/ion-picker-column.entry.js +3 -3
  280. package/dist/esm/ion-picker.entry.js +2 -2
  281. package/dist/esm/ion-popover.entry.js +8 -8
  282. package/dist/esm/ion-progress-bar.entry.js +3 -3
  283. package/dist/esm/ion-radio_2.entry.js +3 -3
  284. package/dist/esm/ion-range.entry.js +4 -4
  285. package/dist/esm/ion-refresher_2.entry.js +6 -6
  286. package/dist/esm/ion-reorder_2.entry.js +5 -5
  287. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  288. package/dist/esm/ion-route_4.entry.js +187 -21
  289. package/dist/esm/ion-searchbar.entry.js +3 -3
  290. package/dist/esm/ion-segment-content.entry.js +1 -1
  291. package/dist/esm/ion-segment-view.entry.js +1 -1
  292. package/dist/esm/ion-segment_2.entry.js +3 -3
  293. package/dist/esm/ion-select-modal.entry.js +6 -6
  294. package/dist/esm/ion-select_3.entry.js +7 -7
  295. package/dist/esm/ion-spinner.entry.js +2 -2
  296. package/dist/esm/ion-split-pane.entry.js +2 -2
  297. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  298. package/dist/esm/ion-tab_2.entry.js +3 -3
  299. package/dist/esm/ion-text.entry.js +2 -2
  300. package/dist/esm/ion-textarea.entry.js +5 -5
  301. package/dist/esm/ion-toast.entry.js +9 -9
  302. package/dist/esm/ion-toggle.entry.js +5 -5
  303. package/dist/esm/{ionic-global-DfbeLwcV.js → ionic-global-Cp_eT4sZ.js} +1 -1
  304. package/dist/esm/ionic.js +6 -6
  305. package/dist/esm/{ios.transition--aMF-pDH.js → ios.transition-ClFrsIrS.js} +4 -4
  306. package/dist/esm/loader.js +5 -5
  307. package/dist/esm/{md.transition-BEVbfm8j.js → md.transition-D0msQmzI.js} +4 -4
  308. package/dist/esm/{notch-controller-DAcvKU57.js → notch-controller-DKDjU_O7.js} +1 -1
  309. package/dist/esm/{overlays-F8GHPo-e.js → overlays-TbiM4mdr.js} +5 -5
  310. package/dist/esm/{status-tap-BfJqFSLF.js → status-tap-Kan2W7sh.js} +3 -3
  311. package/dist/esm/{swipe-back-D6Ce7Ca3.js → swipe-back-ZUWwA-KF.js} +2 -2
  312. package/dist/ionic/index.esm.js +1 -1
  313. package/dist/ionic/ionic.esm.js +1 -1
  314. package/dist/ionic/{p-f3e7b155.entry.js → p-00dbb17e.entry.js} +1 -1
  315. package/dist/ionic/{p-f2deaceb.entry.js → p-01f81ea5.entry.js} +1 -1
  316. package/dist/ionic/{p-078037da.entry.js → p-06c232a4.entry.js} +1 -1
  317. package/dist/ionic/{p-1ca9c36b.entry.js → p-0d005398.entry.js} +1 -1
  318. package/dist/ionic/{p-b325a113.entry.js → p-0fa9c382.entry.js} +1 -1
  319. package/dist/ionic/{p-6b97f2a3.entry.js → p-1ae21e4c.entry.js} +1 -1
  320. package/dist/ionic/{p-a805674e.entry.js → p-20b1a044.entry.js} +1 -1
  321. package/dist/ionic/{p-164f79c4.entry.js → p-2394a9a6.entry.js} +1 -1
  322. package/dist/ionic/{p-6b701daa.entry.js → p-27d30585.entry.js} +1 -1
  323. package/dist/ionic/{p-f8186550.entry.js → p-2bb2cb18.entry.js} +1 -1
  324. package/dist/ionic/{p-8fda6a62.entry.js → p-2f55dc1a.entry.js} +1 -1
  325. package/dist/ionic/p-30bf9737.entry.js +4 -0
  326. package/dist/ionic/{p-031b76f7.entry.js → p-3353c229.entry.js} +1 -1
  327. package/dist/ionic/p-33704f20.entry.js +4 -0
  328. package/dist/ionic/{p-e863ffe8.entry.js → p-37e720da.entry.js} +1 -1
  329. package/dist/ionic/{p-d4e8b473.entry.js → p-390ca786.entry.js} +1 -1
  330. package/dist/ionic/{p-084c25b2.entry.js → p-3a126bca.entry.js} +1 -1
  331. package/dist/ionic/{p-7761ef65.entry.js → p-3a541154.entry.js} +1 -1
  332. package/dist/ionic/{p-2a68388b.entry.js → p-3a7d1e91.entry.js} +1 -1
  333. package/dist/ionic/{p-a893c61c.entry.js → p-3ae5f277.entry.js} +1 -1
  334. package/dist/ionic/{p-294f4bb5.entry.js → p-4858af1f.entry.js} +1 -1
  335. package/dist/ionic/{p-53f750a5.entry.js → p-4baa5b82.entry.js} +1 -1
  336. package/dist/ionic/{p-7ca71c83.entry.js → p-4dc1c33c.entry.js} +1 -1
  337. package/dist/ionic/{p-e663bc5a.entry.js → p-4e92a11f.entry.js} +1 -1
  338. package/dist/ionic/{p-6af16209.entry.js → p-50e1194a.entry.js} +1 -1
  339. package/dist/ionic/{p-c3cce9d8.entry.js → p-5d1da0a2.entry.js} +1 -1
  340. package/dist/ionic/{p-a84f2d21.entry.js → p-75dc25ba.entry.js} +1 -1
  341. package/dist/ionic/{p-f5dfb9a3.entry.js → p-81ea5652.entry.js} +1 -1
  342. package/dist/ionic/{p-1b169fb6.entry.js → p-84d5ce05.entry.js} +1 -1
  343. package/dist/ionic/{p-2fd110aa.entry.js → p-874b4bd8.entry.js} +1 -1
  344. package/dist/ionic/{p-23ec35e4.entry.js → p-8c8eee7d.entry.js} +1 -1
  345. package/dist/ionic/{p-87125490.entry.js → p-8d6fd502.entry.js} +1 -1
  346. package/dist/ionic/{p-301c43f8.entry.js → p-8eb8ee76.entry.js} +1 -1
  347. package/dist/ionic/p-8fce95d5.entry.js +4 -0
  348. package/dist/ionic/{p-7620be24.entry.js → p-94f2a736.entry.js} +1 -1
  349. package/dist/ionic/{p-aa812c4b.entry.js → p-9a65ac7f.entry.js} +1 -1
  350. package/dist/ionic/{p-bcaa827e.entry.js → p-9f1103ce.entry.js} +1 -1
  351. package/dist/ionic/{p-BAt5H1ac.js → p-BGqMS-oh.js} +1 -1
  352. package/dist/ionic/{p-DB_iPQC-.js → p-BUFIpxKM.js} +1 -1
  353. package/dist/ionic/{p-CmFz1Mjc.js → p-CFlfIb2g.js} +1 -1
  354. package/dist/ionic/p-CwdymDLH.js +4 -0
  355. package/dist/ionic/p-Cx3IXROA.js +4 -0
  356. package/{components/p-BS1TtEiJ.js → dist/ionic/p-DAAFkPFT.js} +1 -1
  357. package/{components/p-ak_d-z48.js → dist/ionic/p-DC3RagnA.js} +1 -1
  358. package/dist/ionic/{p-CGmVTdWh.js → p-DIuEbVLu.js} +1 -1
  359. package/dist/ionic/p-DSG2s2Eb.js +4 -0
  360. package/dist/ionic/{p-DcSNwXfb.js → p-Dfbt-q2k.js} +1 -1
  361. package/dist/ionic/p-DoJvtrbw.js +4 -0
  362. package/dist/ionic/{p-gbVXD275.js → p-DzWaWHGc.js} +1 -1
  363. package/{components/p-D6NJwNJN.js → dist/ionic/p-KjNvRoEp.js} +1 -1
  364. package/dist/ionic/{p-NFFyoJ4Q.js → p-Nqf6uvGh.js} +1 -1
  365. package/dist/ionic/p-SNAkTDfm.js +4 -0
  366. package/{components/p-9VcRUwdB.js → dist/ionic/p-VAemlbDS.js} +1 -1
  367. package/dist/ionic/{p-B8xlpH8p.js → p-Wk5HzclC.js} +1 -1
  368. package/dist/ionic/{p-9cbc6f1f.entry.js → p-a21add2f.entry.js} +1 -1
  369. package/dist/ionic/{p-370a60ee.entry.js → p-a3bdcae6.entry.js} +1 -1
  370. package/dist/ionic/{p-28a9e720.entry.js → p-aa5d6b8f.entry.js} +1 -1
  371. package/dist/ionic/{p-045a6a42.entry.js → p-c0fb8edd.entry.js} +1 -1
  372. package/dist/ionic/{p-80cac7a2.entry.js → p-c4d8641b.entry.js} +1 -1
  373. package/dist/ionic/{p-9833cf63.entry.js → p-c6e49f3f.entry.js} +1 -1
  374. package/dist/ionic/{p-ca31010f.entry.js → p-dfa8d673.entry.js} +1 -1
  375. package/dist/ionic/{p-0d8b5c38.entry.js → p-e0be05c5.entry.js} +1 -1
  376. package/dist/ionic/{p-2f5a8140.entry.js → p-e686695b.entry.js} +1 -1
  377. package/dist/ionic/{p-f69a5f71.entry.js → p-e847a888.entry.js} +1 -1
  378. package/dist/ionic/{p-16813ce7.entry.js → p-ec090e0a.entry.js} +1 -1
  379. package/dist/ionic/{p-07506134.entry.js → p-ef4c3bee.entry.js} +1 -1
  380. package/dist/ionic/{p-fdbc90d4.entry.js → p-fabcce6c.entry.js} +1 -1
  381. package/dist/ionic/{p-050873ec.entry.js → p-facfde02.entry.js} +1 -1
  382. package/dist/ionic/{p-9a851035.entry.js → p-fd7eebc4.entry.js} +1 -1
  383. package/dist/ionic/p-mjKAFv89.js +4 -0
  384. package/dist/ionic/p-tcQvqkiX.js +5 -0
  385. package/{components/p-Cy5XSfIk.js → dist/ionic/p-viFHDgRs.js} +1 -1
  386. package/dist/ionic/{p-DTPR1Wpn.js → p-xOfi7-Zn.js} +1 -1
  387. package/dist/ionic/p-xWb6fgfq.js +4 -0
  388. package/dist/types/components/router/router.d.ts +7 -0
  389. package/dist/types/components/router/utils/dom.d.ts +10 -0
  390. package/dist/types/components/router/utils/interface.d.ts +2 -0
  391. package/dist/types/components/router/utils/path.d.ts +3 -2
  392. package/dist/types/components.d.ts +2 -2
  393. package/dist/types/stencil-public-runtime.d.ts +4 -1
  394. package/hydrate/index.js +1063 -420
  395. package/hydrate/index.mjs +1063 -420
  396. package/package.json +4 -4
  397. package/components/p-BJoMtgfR.js +0 -4
  398. package/components/p-BNAG-aVv.js +0 -4
  399. package/components/p-BeXMwcl5.js +0 -4
  400. package/components/p-BegtE7nr.js +0 -4
  401. package/components/p-C4jPsTQa.js +0 -4
  402. package/components/p-C59ryAuS.js +0 -4
  403. package/components/p-CU1SSH8_.js +0 -4
  404. package/components/p-CgqKJg96.js +0 -4
  405. package/components/p-CneGxKsZ.js +0 -4
  406. package/components/p-Csw8xuz4.js +0 -4
  407. package/components/p-DVJHuxRx.js +0 -4
  408. package/dist/ionic/p-23fac490.entry.js +0 -4
  409. package/dist/ionic/p-771b27a5.entry.js +0 -4
  410. package/dist/ionic/p-BW_TRJm8.js +0 -4
  411. package/dist/ionic/p-Bum7H1fw.js +0 -4
  412. package/dist/ionic/p-BxIcPWoV.js +0 -4
  413. package/dist/ionic/p-CYbRmDdy.js +0 -4
  414. package/dist/ionic/p-CtA-yJYy.js +0 -4
  415. package/dist/ionic/p-Dt1wGZdq.js +0 -4
  416. package/dist/ionic/p-DtVZDHlS.js +0 -4
  417. package/dist/ionic/p-IGIE5vDm.js +0 -5
  418. package/dist/ionic/p-cbe95f72.entry.js +0 -4
  419. package/dist/ionic/p-hNN3VvaC.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -396,7 +396,7 @@ const appGlobalScript = initialize || (() => {});
396
396
  const globalScripts = appGlobalScript;
397
397
 
398
398
  /*
399
- Stencil Hydrate Platform v4.43.0 | MIT Licensed | https://stenciljs.com
399
+ Stencil Hydrate Platform v4.43.5 | MIT Licensed | https://stenciljs.com
400
400
  */
401
401
  var __create = Object.create;
402
402
  var __defProp = Object.defineProperty;
@@ -431,7 +431,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
431
431
  __defProp(target, "default", { value: mod, enumerable: true }) ,
432
432
  mod
433
433
  ));
434
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
434
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
435
435
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
436
436
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
437
437
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
@@ -673,15 +673,26 @@ var TYPE_CONSTANT = "type";
673
673
  var VALUE_CONSTANT = "value";
674
674
  var SERIALIZED_PREFIX = "serialized:";
675
675
 
676
+ // src/utils/get-prop-descriptor.ts
677
+ function getPropertyDescriptor(obj, memberName, getOnly) {
678
+ const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
679
+ while (obj && obj !== stopAt) {
680
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
681
+ if (desc && (!getOnly || desc.get)) return desc;
682
+ obj = Object.getPrototypeOf(obj);
683
+ }
684
+ return void 0;
685
+ }
686
+
676
687
  // src/utils/es2022-rewire-class-members.ts
677
688
  var reWireGetterSetter = (instance, hostRef) => {
678
- var _a;
689
+ var _a2;
679
690
  const cmpMeta = hostRef.$cmpMeta$;
680
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
691
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
681
692
  members.map(([memberName, [memberFlags]]) => {
682
693
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
683
694
  const ogValue = instance[memberName];
684
- const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
695
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
685
696
  if (ogDescriptor) {
686
697
  Object.defineProperty(instance, memberName, {
687
698
  get() {
@@ -694,18 +705,14 @@ var reWireGetterSetter = (instance, hostRef) => {
694
705
  enumerable: true
695
706
  });
696
707
  }
697
- instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
708
+ if (hostRef.$instanceValues$.has(memberName)) {
709
+ instance[memberName] = hostRef.$instanceValues$.get(memberName);
710
+ } else if (ogValue !== void 0) {
711
+ instance[memberName] = ogValue;
712
+ }
698
713
  }
699
714
  });
700
715
  };
701
- function getPropertyDescriptor(obj, memberName) {
702
- while (obj) {
703
- const desc = Object.getOwnPropertyDescriptor(obj, memberName);
704
- if (desc == null ? void 0 : desc.get) return desc;
705
- obj = Object.getPrototypeOf(obj);
706
- }
707
- return void 0;
708
- }
709
716
 
710
717
  // src/runtime/runtime-constants.ts
711
718
  var CONTENT_REF_ID = "r";
@@ -733,13 +740,13 @@ function createStyleSheetIfNeededAndSupported(styles2) {
733
740
  // src/utils/shadow-root.ts
734
741
  var globalStyleSheet;
735
742
  function createShadowRoot(cmpMeta) {
736
- var _a;
743
+ var _a2;
737
744
  const opts = { mode: "open" };
738
745
  {
739
746
  opts.delegatesFocus = !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */);
740
747
  }
741
748
  const shadowRoot = this.attachShadow(opts);
742
- if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
749
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a2 = createStyleSheetIfNeededAndSupported()) != null ? _a2 : null;
743
750
  if (globalStyleSheet) {
744
751
  {
745
752
  shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
@@ -875,8 +882,8 @@ function dispatchSlotChangeEvent(elm) {
875
882
  elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
876
883
  }
877
884
  function findSlotFromSlottedNode(slottedNode, parentHost) {
878
- var _a;
879
- parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
885
+ var _a2;
886
+ parentHost = parentHost || ((_a2 = slottedNode["s-ol"]) == null ? void 0 : _a2.parentElement);
880
887
  if (!parentHost) return { slotNode: null, slotName: "" };
881
888
  const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
882
889
  const childNodes = internalCall(parentHost, "childNodes");
@@ -910,8 +917,8 @@ var uniqueTime = (key, measureText) => {
910
917
 
911
918
  // src/utils/query-nonce-meta-tag-content.ts
912
919
  function queryNonceMetaTagContent(doc) {
913
- var _a, _b, _c;
914
- 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;
920
+ var _a2, _b, _c;
921
+ return (_c = (_b = (_a2 = doc.head) == null ? void 0 : _a2.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
915
922
  }
916
923
 
917
924
  // src/runtime/styles.ts
@@ -924,7 +931,7 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
924
931
  styles.set(scopeId2, style);
925
932
  };
926
933
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
927
- var _a;
934
+ var _a2;
928
935
  const scopeId2 = getScopeId(cmpMeta, mode);
929
936
  const style = styles.get(scopeId2);
930
937
  if (!win$2.document) {
@@ -945,7 +952,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
945
952
  } else if (!appliedStyles.has(scopeId2)) {
946
953
  styleElm = win$2.document.createElement("style");
947
954
  styleElm.textContent = style;
948
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win$2.document);
955
+ const nonce = (_a2 = plt.$nonce$) != null ? _a2 : queryNonceMetaTagContent(win$2.document);
949
956
  if (nonce != null) {
950
957
  styleElm.setAttribute("nonce", nonce);
951
958
  }
@@ -963,7 +970,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
963
970
  } else if ("host" in styleContainerNode) {
964
971
  {
965
972
  const existingStyleContainer = styleContainerNode.querySelector("style");
966
- if (existingStyleContainer) {
973
+ if (existingStyleContainer && true) {
967
974
  existingStyleContainer.textContent = style + existingStyleContainer.textContent;
968
975
  } else {
969
976
  styleContainerNode.prepend(styleElm);
@@ -1131,7 +1138,7 @@ var convertToPrivate = (node) => {
1131
1138
 
1132
1139
  // src/runtime/client-hydrate.ts
1133
1140
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1134
- var _a, _b, _c, _d;
1141
+ var _a2, _b, _c, _d;
1135
1142
  const endHydrate = createTime("hydrateClient", tagName);
1136
1143
  const shadowRoot = hostElm.shadowRoot;
1137
1144
  const childRenderNodes = [];
@@ -1178,7 +1185,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1178
1185
  if (childRenderNode.$tag$ === "slot") {
1179
1186
  node["s-cr"] = hostElm["s-cr"];
1180
1187
  }
1181
- } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1188
+ } else if (((_a2 = childRenderNode.$tag$) == null ? void 0 : _a2.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1182
1189
  const cmpMeta = getHostRef(childRenderNode.$elm$);
1183
1190
  if (cmpMeta) {
1184
1191
  const scopeId3 = getScopeId(
@@ -1525,10 +1532,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1525
1532
  parentVNode.$children$[childVNode.$index$] = childVNode;
1526
1533
  }
1527
1534
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1528
- var _a, _b;
1535
+ var _a2, _b;
1529
1536
  let slottedNode = slotNode.nextSibling;
1530
1537
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1531
- if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1538
+ if (!slottedNode || ((_a2 = slottedNode.nodeValue) == null ? void 0 : _a2.startsWith(SLOT_NODE_ID + "."))) return;
1532
1539
  do {
1533
1540
  if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1534
1541
  slottedNode["s-sn"] = slotName;
@@ -1960,8 +1967,33 @@ var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1960
1967
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1961
1968
  var setMode = (handler) => modeResolutionChain.push(handler);
1962
1969
  var getMode = (ref) => {
1963
- var _a;
1964
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1970
+ var _a2;
1971
+ return (_a2 = getHostRef(ref)) == null ? void 0 : _a2.$modeName$;
1972
+ };
1973
+
1974
+ // src/runtime/normalize-watchers.ts
1975
+ var normalizeWatchers = (raw) => {
1976
+ if (!raw) return void 0;
1977
+ const keys = Object.keys(raw);
1978
+ if (keys.length === 0) return void 0;
1979
+ let hasLegacy = false;
1980
+ for (const propName of keys) {
1981
+ if (hasLegacy) break;
1982
+ for (const h2 of raw[propName]) {
1983
+ if (typeof h2 === "string") {
1984
+ hasLegacy = true;
1985
+ break;
1986
+ }
1987
+ }
1988
+ }
1989
+ if (!hasLegacy) return raw;
1990
+ const out = {};
1991
+ for (const propName of keys) {
1992
+ out[propName] = raw[propName].map(
1993
+ (h2) => typeof h2 === "string" ? { [h2]: 0 } : h2
1994
+ );
1995
+ }
1996
+ return out;
1965
1997
  };
1966
1998
 
1967
1999
  // src/utils/remote-value.ts
@@ -2060,11 +2092,19 @@ var RemoteValue = class _RemoteValue {
2060
2092
  };
2061
2093
 
2062
2094
  // src/utils/serialize.ts
2095
+ function decodeBase64Unicode(base64) {
2096
+ const binary = atob(base64);
2097
+ const bytes = new Uint8Array(binary.length);
2098
+ for (let i2 = 0; i2 < binary.length; i2++) {
2099
+ bytes[i2] = binary.charCodeAt(i2);
2100
+ }
2101
+ return new TextDecoder().decode(bytes);
2102
+ }
2063
2103
  function deserializeProperty(value) {
2064
2104
  if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
2065
2105
  return value;
2066
2106
  }
2067
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
2107
+ return RemoteValue.fromLocalValue(JSON.parse(decodeBase64Unicode(value.slice(SERIALIZED_PREFIX.length))));
2068
2108
  }
2069
2109
 
2070
2110
  // src/runtime/parse-property-value.ts
@@ -2090,8 +2130,8 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
2090
2130
  return propValue;
2091
2131
  };
2092
2132
  var getElement = (ref) => {
2093
- var _a;
2094
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
2133
+ var _a2;
2134
+ return (_a2 = getHostRef(ref)) == null ? void 0 : _a2.$hostElement$ ;
2095
2135
  };
2096
2136
 
2097
2137
  // src/runtime/event-emitter.ts
@@ -2316,7 +2356,7 @@ var isSvgMode = false;
2316
2356
  var refCallbacksToRemove = [];
2317
2357
  var refCallbacksToAttach = [];
2318
2358
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2319
- var _a;
2359
+ var _a2;
2320
2360
  const newVNode2 = newParentVNode.$children$[childIndex];
2321
2361
  let i2 = 0;
2322
2362
  let elm;
@@ -2387,7 +2427,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2387
2427
  elm["s-sr"] = true;
2388
2428
  elm["s-cr"] = contentRef;
2389
2429
  elm["s-sn"] = newVNode2.$name$ || "";
2390
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2430
+ elm["s-rf"] = (_a2 = newVNode2.$attrs$) == null ? void 0 : _a2.ref;
2391
2431
  patchSlotNode(elm);
2392
2432
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2393
2433
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
@@ -2729,12 +2769,12 @@ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
2729
2769
  }
2730
2770
  };
2731
2771
  function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2732
- var _a, _b;
2772
+ var _a2, _b;
2733
2773
  let scopeId2;
2734
2774
  if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
2735
2775
  const scopeName = slotNode["s-sn"];
2736
2776
  const hostName = slotNode["s-hn"];
2737
- (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
2777
+ (_a2 = newParent.classList) == null ? void 0 : _a2.add(scopeId2 + "-s");
2738
2778
  if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
2739
2779
  let child = (oldParent.__childNodes || oldParent.childNodes)[0];
2740
2780
  let found = false;
@@ -2750,7 +2790,7 @@ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2750
2790
  }
2751
2791
  }
2752
2792
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2753
- var _a, _d, _e;
2793
+ var _a2, _d, _e;
2754
2794
  const hostElm = hostRef.$hostElement$;
2755
2795
  const cmpMeta = hostRef.$cmpMeta$;
2756
2796
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -2806,7 +2846,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2806
2846
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2807
2847
  const slotRefNode = relocateData.$slotRefNode$;
2808
2848
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
2809
- nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
2849
+ nodeToRelocate["s-ih"] = (_a2 = nodeToRelocate.hidden) != null ? _a2 : false;
2810
2850
  }
2811
2851
  if (slotRefNode) {
2812
2852
  const parentNodeRef = slotRefNode.parentNode;
@@ -2866,14 +2906,14 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2866
2906
  flushQueuedRefCallbacks();
2867
2907
  };
2868
2908
  var slotReferenceDebugNode = (slotVNode) => {
2869
- var _a;
2870
- return (_a = win$2.document) == null ? void 0 : _a.createComment(
2909
+ var _a2;
2910
+ return (_a2 = win$2.document) == null ? void 0 : _a2.createComment(
2871
2911
  `<slot${slotVNode.$name$ ? ' name="' + slotVNode.$name$ + '"' : ""}> (host=${hostTagName.toLowerCase()})`
2872
2912
  );
2873
2913
  };
2874
2914
  var originalLocationDebugNode = (nodeToRelocate) => {
2875
- var _a;
2876
- return (_a = win$2.document) == null ? void 0 : _a.createComment(
2915
+ var _a2;
2916
+ return (_a2 = win$2.document) == null ? void 0 : _a2.createComment(
2877
2917
  `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
2878
2918
  );
2879
2919
  };
@@ -2950,7 +2990,7 @@ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then
2950
2990
  }) : fn();
2951
2991
  var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
2952
2992
  var updateComponent = async (hostRef, instance, isInitialLoad) => {
2953
- var _a;
2993
+ var _a2;
2954
2994
  const elm = hostRef.$hostElement$;
2955
2995
  const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
2956
2996
  const rc = elm["s-rc"];
@@ -2982,7 +3022,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
2982
3022
  endRender();
2983
3023
  endUpdate();
2984
3024
  {
2985
- const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
3025
+ const childrenPromises = (_a2 = elm["s-p"]) != null ? _a2 : [];
2986
3026
  const postUpdate = () => postUpdateComponent(hostRef);
2987
3027
  if (childrenPromises.length === 0) {
2988
3028
  postUpdate();
@@ -3056,13 +3096,13 @@ var forceUpdate = (ref) => {
3056
3096
  return false;
3057
3097
  };
3058
3098
  var appDidLoad = (who) => {
3059
- var _a;
3099
+ var _a2;
3060
3100
  if (BUILD.asyncQueue) {
3061
3101
  plt.$flags$ |= 2 /* appLoaded */;
3062
3102
  }
3063
3103
  nextTick(() => emitEvent(win$2, "appload", { detail: { namespace: NAMESPACE } }));
3064
3104
  {
3065
- if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
3105
+ if ((_a2 = plt.$orgLocNodes$) == null ? void 0 : _a2.size) {
3066
3106
  plt.$orgLocNodes$.clear();
3067
3107
  }
3068
3108
  }
@@ -3078,8 +3118,8 @@ var safeCall$1 = (instance, method, arg, elm) => {
3078
3118
  return void 0;
3079
3119
  };
3080
3120
  var addHydratedFlag = (elm) => {
3081
- var _a;
3082
- return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
3121
+ var _a2;
3122
+ return elm.classList.add((_a2 = BUILD.hydratedSelectorName) != null ? _a2 : "hydrated") ;
3083
3123
  };
3084
3124
  var serverSideConnected = (elm) => {
3085
3125
  const children = elm.children;
@@ -3154,12 +3194,12 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3154
3194
 
3155
3195
  // src/runtime/proxy-component.ts
3156
3196
  var proxyComponent = (Cstr, cmpMeta, flags) => {
3157
- var _a;
3197
+ var _a2;
3158
3198
  const prototype = Cstr.prototype;
3159
3199
  {
3160
3200
  {
3161
3201
  if (Cstr.watchers && !cmpMeta.$watchers$) {
3162
- cmpMeta.$watchers$ = Cstr.watchers;
3202
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
3163
3203
  }
3164
3204
  if (Cstr.deserializers && !cmpMeta.$deserializers$) {
3165
3205
  cmpMeta.$deserializers$ = Cstr.deserializers;
@@ -3168,10 +3208,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3168
3208
  cmpMeta.$serializers$ = Cstr.serializers;
3169
3209
  }
3170
3210
  }
3171
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
3211
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
3172
3212
  members.map(([memberName, [memberFlags]]) => {
3173
3213
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
3174
- const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
3214
+ const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
3175
3215
  if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
3176
3216
  if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
3177
3217
  if (!origGetter) {
@@ -3246,7 +3286,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
3246
3286
  }
3247
3287
  if (!Cstr.isProxied) {
3248
3288
  {
3249
- cmpMeta.$watchers$ = Cstr.watchers;
3289
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
3250
3290
  cmpMeta.$serializers$ = Cstr.serializers;
3251
3291
  cmpMeta.$deserializers$ = Cstr.deserializers;
3252
3292
  }
@@ -3412,11 +3452,11 @@ var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) =>
3412
3452
  }
3413
3453
  };
3414
3454
  var hostListenerProxy = (hostRef, methodName) => (ev) => {
3415
- var _a;
3455
+ var _a2;
3416
3456
  try {
3417
3457
  {
3418
3458
  if (hostRef.$flags$ & 256 /* isListenReady */) {
3419
- (_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);
3459
+ (_a2 = hostRef.$lazyInstance$) == null ? void 0 : _a2[methodName](ev);
3420
3460
  } else {
3421
3461
  (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
3422
3462
  }
@@ -3450,7 +3490,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3450
3490
  const orgLocationNodes = [];
3451
3491
  parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);
3452
3492
  orgLocationNodes.forEach((orgLocationNode) => {
3453
- var _a;
3493
+ var _a2;
3454
3494
  if (orgLocationNode != null && orgLocationNode["s-nr"]) {
3455
3495
  const nodeRef = orgLocationNode["s-nr"];
3456
3496
  let hostId = nodeRef["s-host-id"];
@@ -3468,7 +3508,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3468
3508
  }
3469
3509
  } else if (nodeRef.nodeType === 3 /* TextNode */) {
3470
3510
  if (hostId === 0) {
3471
- const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();
3511
+ const textContent = (_a2 = nodeRef.nodeValue) == null ? void 0 : _a2.trim();
3472
3512
  if (textContent === "") {
3473
3513
  orgLocationNode.remove();
3474
3514
  return;
@@ -3498,7 +3538,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3498
3538
  }
3499
3539
  };
3500
3540
  var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3501
- var _a;
3541
+ var _a2;
3502
3542
  if (node == null) {
3503
3543
  return;
3504
3544
  }
@@ -3506,7 +3546,7 @@ var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3506
3546
  orgLocationNodes.push(node);
3507
3547
  }
3508
3548
  if (node.nodeType === 1 /* ElementNode */) {
3509
- const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a = node.shadowRoot) == null ? void 0 : _a.childNodes) || [])];
3549
+ const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a2 = node.shadowRoot) == null ? void 0 : _a2.childNodes) || [])];
3510
3550
  childNodes.forEach((childNode) => {
3511
3551
  const hostRef = getHostRef(childNode);
3512
3552
  if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {
@@ -3732,8 +3772,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
3732
3772
  };
3733
3773
 
3734
3774
  // node_modules/minimatch/dist/esm/ast.js
3775
+ var _a;
3735
3776
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
3736
3777
  var isExtglobType = (c) => types.has(c);
3778
+ var isExtglobAST = (c) => isExtglobType(c.type);
3779
+ var adoptionMap = /* @__PURE__ */ new Map([
3780
+ ["!", ["@"]],
3781
+ ["?", ["?", "@"]],
3782
+ ["@", ["@"]],
3783
+ ["*", ["*", "+", "?", "@"]],
3784
+ ["+", ["+", "@"]]
3785
+ ]);
3786
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
3787
+ ["!", ["?"]],
3788
+ ["@", ["?"]],
3789
+ ["+", ["?", "*"]]
3790
+ ]);
3791
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
3792
+ ["!", ["?", "@"]],
3793
+ ["?", ["?", "@"]],
3794
+ ["@", ["?", "@"]],
3795
+ ["*", ["*", "+", "?", "@"]],
3796
+ ["+", ["+", "@", "?", "*"]]
3797
+ ]);
3798
+ var usurpMap = /* @__PURE__ */ new Map([
3799
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
3800
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
3801
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
3802
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
3803
+ ]);
3737
3804
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
3738
3805
  var startNoDot = "(?!\\.)";
3739
3806
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -3743,8 +3810,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
3743
3810
  var qmark = "[^/]";
3744
3811
  var star = qmark + "*?";
3745
3812
  var starNoEmpty = qmark + "+?";
3746
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
3747
- var _AST = class _AST {
3813
+ var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, canAdoptWithSpace_fn, canAdopt_fn, canAdoptType_fn, adoptWithSpace_fn, adopt_fn, canUsurpType_fn, canUsurp_fn, usurp_fn, flatten_fn, partsToRegExp_fn, parseGlob_fn;
3814
+ var AST = class {
3748
3815
  constructor(type, parent, options = {}) {
3749
3816
  __privateAdd(this, _AST_instances);
3750
3817
  __publicField(this, "type");
@@ -3797,44 +3864,44 @@ var _AST = class _AST {
3797
3864
  for (const p of parts) {
3798
3865
  if (p === "")
3799
3866
  continue;
3800
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
3867
+ if (typeof p !== "string" && !(p instanceof _a && __privateGet(p, _parent) === this)) {
3801
3868
  throw new Error("invalid part: " + p);
3802
3869
  }
3803
3870
  __privateGet(this, _parts).push(p);
3804
3871
  }
3805
3872
  }
3806
3873
  toJSON() {
3807
- var _a;
3874
+ var _a2;
3808
3875
  const ret = this.type === null ? __privateGet(this, _parts).slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...__privateGet(this, _parts).map((p) => p.toJSON())];
3809
3876
  if (this.isStart() && !this.type)
3810
3877
  ret.unshift([]);
3811
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")) {
3878
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
3812
3879
  ret.push({});
3813
3880
  }
3814
3881
  return ret;
3815
3882
  }
3816
3883
  isStart() {
3817
- var _a;
3884
+ var _a2;
3818
3885
  if (__privateGet(this, _root) === this)
3819
3886
  return true;
3820
- if (!((_a = __privateGet(this, _parent)) == null ? void 0 : _a.isStart()))
3887
+ if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
3821
3888
  return false;
3822
3889
  if (__privateGet(this, _parentIndex) === 0)
3823
3890
  return true;
3824
3891
  const p = __privateGet(this, _parent);
3825
3892
  for (let i2 = 0; i2 < __privateGet(this, _parentIndex); i2++) {
3826
3893
  const pp = __privateGet(p, _parts)[i2];
3827
- if (!(pp instanceof _AST && pp.type === "!")) {
3894
+ if (!(pp instanceof _a && pp.type === "!")) {
3828
3895
  return false;
3829
3896
  }
3830
3897
  }
3831
3898
  return true;
3832
3899
  }
3833
3900
  isEnd() {
3834
- var _a, _b, _c;
3901
+ var _a2, _b, _c;
3835
3902
  if (__privateGet(this, _root) === this)
3836
3903
  return true;
3837
- if (((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")
3904
+ if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
3838
3905
  return true;
3839
3906
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
3840
3907
  return false;
@@ -3850,16 +3917,16 @@ var _AST = class _AST {
3850
3917
  this.push(part.clone(this));
3851
3918
  }
3852
3919
  clone(parent) {
3853
- const c = new _AST(this.type, parent);
3920
+ const c = new _a(this.type, parent);
3854
3921
  for (const p of __privateGet(this, _parts)) {
3855
3922
  c.copyIn(p);
3856
3923
  }
3857
3924
  return c;
3858
3925
  }
3859
3926
  static fromGlob(pattern, options = {}) {
3860
- var _a;
3861
- const ast = new _AST(null, void 0, options);
3862
- __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, pattern, ast, 0, options);
3927
+ var _a2;
3928
+ const ast = new _a(null, void 0, options);
3929
+ __privateMethod(_a2 = _a, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options, 0);
3863
3930
  return ast;
3864
3931
  }
3865
3932
  // returns the regular expression if there's magic, or the unescaped
@@ -3952,15 +4019,17 @@ var _AST = class _AST {
3952
4019
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
3953
4020
  // or start or whatever) and prepend ^ or / at the Regexp construction.
3954
4021
  toRegExpSource(allowDot) {
3955
- var _a;
4022
+ var _a2;
3956
4023
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
3957
- if (__privateGet(this, _root) === this)
4024
+ if (__privateGet(this, _root) === this) {
4025
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
3958
4026
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
3959
- if (!this.type) {
4027
+ }
4028
+ if (!isExtglobAST(this)) {
3960
4029
  const noEmpty = this.isStart() && this.isEnd();
3961
4030
  const src = __privateGet(this, _parts).map((p) => {
3962
- var _a2;
3963
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a2 = _AST, _AST_static, parseGlob_fn).call(_a2, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
4031
+ var _a3;
4032
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _a, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
3964
4033
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
3965
4034
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
3966
4035
  return re;
@@ -3983,7 +4052,7 @@ var _AST = class _AST {
3983
4052
  }
3984
4053
  }
3985
4054
  let end = "";
3986
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!") {
4055
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
3987
4056
  end = "(?:$|\\/)";
3988
4057
  }
3989
4058
  const final2 = start2 + src + end;
@@ -3999,12 +4068,13 @@ var _AST = class _AST {
3999
4068
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
4000
4069
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
4001
4070
  const s = this.toString();
4002
- __privateSet(this, _parts, [s]);
4003
- this.type = null;
4004
- __privateSet(this, _hasMagic, void 0);
4071
+ const me = this;
4072
+ __privateSet(me, _parts, [s]);
4073
+ me.type = null;
4074
+ __privateSet(me, _hasMagic, void 0);
4005
4075
  return [s, unescape(this.toString()), false, false];
4006
4076
  }
4007
- let bodyDotAllowed = !repeated || allowDot || dot || false ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
4077
+ let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
4008
4078
  if (bodyDotAllowed === body) {
4009
4079
  bodyDotAllowed = "";
4010
4080
  }
@@ -4070,8 +4140,9 @@ fillNegs_fn = function() {
4070
4140
  return this;
4071
4141
  };
4072
4142
  _AST_static = new WeakSet();
4073
- parseAST_fn = function(str, ast, pos, opt) {
4074
- var _a, _b;
4143
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
4144
+ var _a2, _b, _c, _d, _e;
4145
+ const maxDepth = (_a2 = opt.maxExtglobRecursion) != null ? _a2 : 2;
4075
4146
  let escaping = false;
4076
4147
  let inBrace = false;
4077
4148
  let braceStart = -1;
@@ -4103,11 +4174,12 @@ parseAST_fn = function(str, ast, pos, opt) {
4103
4174
  acc2 += c;
4104
4175
  continue;
4105
4176
  }
4106
- if (!opt.noext && isExtglobType(c) && str.charAt(i3) === "(") {
4177
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i3) === "(" && extDepth <= maxDepth;
4178
+ if (doRecurse) {
4107
4179
  ast.push(acc2);
4108
4180
  acc2 = "";
4109
- const ext2 = new _AST(c, ast);
4110
- i3 = __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, str, ext2, i3, opt);
4181
+ const ext2 = new _a(c, ast);
4182
+ i3 = __privateMethod(_b = _a, _AST_static, parseAST_fn).call(_b, str, ext2, i3, opt, extDepth + 1);
4111
4183
  ast.push(ext2);
4112
4184
  continue;
4113
4185
  }
@@ -4117,7 +4189,7 @@ parseAST_fn = function(str, ast, pos, opt) {
4117
4189
  return i3;
4118
4190
  }
4119
4191
  let i2 = pos + 1;
4120
- let part = new _AST(null, ast);
4192
+ let part = new _a(null, ast);
4121
4193
  const parts = [];
4122
4194
  let acc = "";
4123
4195
  while (i2 < str.length) {
@@ -4144,19 +4216,22 @@ parseAST_fn = function(str, ast, pos, opt) {
4144
4216
  acc += c;
4145
4217
  continue;
4146
4218
  }
4147
- if (isExtglobType(c) && str.charAt(i2) === "(") {
4219
+ const doRecurse = isExtglobType(c) && str.charAt(i2) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
4220
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
4221
+ if (doRecurse) {
4222
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
4148
4223
  part.push(acc);
4149
4224
  acc = "";
4150
- const ext2 = new _AST(c, part);
4225
+ const ext2 = new _a(c, part);
4151
4226
  part.push(ext2);
4152
- i2 = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt);
4227
+ i2 = __privateMethod(_e = _a, _AST_static, parseAST_fn).call(_e, str, ext2, i2, opt, extDepth + depthAdd);
4153
4228
  continue;
4154
4229
  }
4155
4230
  if (c === "|") {
4156
4231
  part.push(acc);
4157
4232
  acc = "";
4158
4233
  parts.push(part);
4159
- part = new _AST(null, ast);
4234
+ part = new _a(null, ast);
4160
4235
  continue;
4161
4236
  }
4162
4237
  if (c === ")") {
@@ -4175,6 +4250,100 @@ parseAST_fn = function(str, ast, pos, opt) {
4175
4250
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
4176
4251
  return i2;
4177
4252
  };
4253
+ canAdoptWithSpace_fn = function(child) {
4254
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
4255
+ };
4256
+ canAdopt_fn = function(child, map2 = adoptionMap) {
4257
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
4258
+ return false;
4259
+ }
4260
+ const gc = __privateGet(child, _parts)[0];
4261
+ if (!gc || typeof gc !== "object" || gc.type === null) {
4262
+ return false;
4263
+ }
4264
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
4265
+ };
4266
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
4267
+ var _a2;
4268
+ return !!((_a2 = map2.get(this.type)) == null ? void 0 : _a2.includes(c));
4269
+ };
4270
+ adoptWithSpace_fn = function(child, index) {
4271
+ const gc = __privateGet(child, _parts)[0];
4272
+ const blank = new _a(null, gc, this.options);
4273
+ __privateGet(blank, _parts).push("");
4274
+ gc.push(blank);
4275
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
4276
+ };
4277
+ adopt_fn = function(child, index) {
4278
+ const gc = __privateGet(child, _parts)[0];
4279
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
4280
+ for (const p of __privateGet(gc, _parts)) {
4281
+ if (typeof p === "object")
4282
+ __privateSet(p, _parent, this);
4283
+ }
4284
+ __privateSet(this, _toString, void 0);
4285
+ };
4286
+ canUsurpType_fn = function(c) {
4287
+ const m = usurpMap.get(this.type);
4288
+ return !!(m == null ? void 0 : m.has(c));
4289
+ };
4290
+ canUsurp_fn = function(child) {
4291
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
4292
+ return false;
4293
+ }
4294
+ const gc = __privateGet(child, _parts)[0];
4295
+ if (!gc || typeof gc !== "object" || gc.type === null) {
4296
+ return false;
4297
+ }
4298
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
4299
+ };
4300
+ usurp_fn = function(child) {
4301
+ const m = usurpMap.get(this.type);
4302
+ const gc = __privateGet(child, _parts)[0];
4303
+ const nt = m == null ? void 0 : m.get(gc.type);
4304
+ if (!nt)
4305
+ return false;
4306
+ __privateSet(this, _parts, __privateGet(gc, _parts));
4307
+ for (const p of __privateGet(this, _parts)) {
4308
+ if (typeof p === "object")
4309
+ __privateSet(p, _parent, this);
4310
+ }
4311
+ this.type = nt;
4312
+ __privateSet(this, _toString, void 0);
4313
+ __privateSet(this, _emptyExt, false);
4314
+ };
4315
+ flatten_fn = function() {
4316
+ var _a2, _b;
4317
+ if (!isExtglobAST(this)) {
4318
+ for (const p of __privateGet(this, _parts)) {
4319
+ if (typeof p === "object")
4320
+ __privateMethod(_a2 = p, _AST_instances, flatten_fn).call(_a2);
4321
+ }
4322
+ } else {
4323
+ let iterations = 0;
4324
+ let done = false;
4325
+ do {
4326
+ done = true;
4327
+ for (let i2 = 0; i2 < __privateGet(this, _parts).length; i2++) {
4328
+ const c = __privateGet(this, _parts)[i2];
4329
+ if (typeof c === "object") {
4330
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
4331
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
4332
+ done = false;
4333
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i2);
4334
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
4335
+ done = false;
4336
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i2);
4337
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
4338
+ done = false;
4339
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
4340
+ }
4341
+ }
4342
+ }
4343
+ } while (!done && ++iterations < 10);
4344
+ }
4345
+ __privateSet(this, _toString, void 0);
4346
+ };
4178
4347
  partsToRegExp_fn = function(dot) {
4179
4348
  return __privateGet(this, _parts).map((p) => {
4180
4349
  if (typeof p === "string") {
@@ -4189,11 +4358,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4189
4358
  let escaping = false;
4190
4359
  let re = "";
4191
4360
  let uflag = false;
4361
+ let inStar = false;
4192
4362
  for (let i2 = 0; i2 < glob.length; i2++) {
4193
4363
  const c = glob.charAt(i2);
4194
4364
  if (escaping) {
4195
4365
  escaping = false;
4196
4366
  re += (reSpecials.has(c) ? "\\" : "") + c;
4367
+ inStar = false;
4197
4368
  continue;
4198
4369
  }
4199
4370
  if (c === "\\") {
@@ -4211,16 +4382,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4211
4382
  uflag = uflag || needUflag;
4212
4383
  i2 += consumed - 1;
4213
4384
  hasMagic = hasMagic || magic;
4385
+ inStar = false;
4214
4386
  continue;
4215
4387
  }
4216
4388
  }
4217
4389
  if (c === "*") {
4218
- if (noEmpty && glob === "*")
4219
- re += starNoEmpty;
4220
- else
4221
- re += star;
4390
+ if (inStar)
4391
+ continue;
4392
+ inStar = true;
4393
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
4222
4394
  hasMagic = true;
4223
4395
  continue;
4396
+ } else {
4397
+ inStar = false;
4224
4398
  }
4225
4399
  if (c === "?") {
4226
4400
  re += qmark;
@@ -4231,8 +4405,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4231
4405
  }
4232
4406
  return [re, unescape(glob), !!hasMagic, uflag];
4233
4407
  };
4234
- __privateAdd(_AST, _AST_static);
4235
- var AST = _AST;
4408
+ __privateAdd(AST, _AST_static);
4409
+ _a = AST;
4236
4410
 
4237
4411
  // node_modules/minimatch/dist/esm/escape.js
4238
4412
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -4371,28 +4545,33 @@ var match = (list, pattern, options = {}) => {
4371
4545
  minimatch.match = match;
4372
4546
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
4373
4547
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
4548
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
4374
4549
  var Minimatch = class {
4375
- options;
4376
- set;
4377
- pattern;
4378
- windowsPathsNoEscape;
4379
- nonegate;
4380
- negate;
4381
- comment;
4382
- empty;
4383
- preserveMultipleSlashes;
4384
- partial;
4385
- globSet;
4386
- globParts;
4387
- nocase;
4388
- isWindows;
4389
- platform;
4390
- windowsNoMagicRoot;
4391
- regexp;
4392
4550
  constructor(pattern, options = {}) {
4551
+ __privateAdd(this, _Minimatch_instances);
4552
+ __publicField(this, "options");
4553
+ __publicField(this, "set");
4554
+ __publicField(this, "pattern");
4555
+ __publicField(this, "windowsPathsNoEscape");
4556
+ __publicField(this, "nonegate");
4557
+ __publicField(this, "negate");
4558
+ __publicField(this, "comment");
4559
+ __publicField(this, "empty");
4560
+ __publicField(this, "preserveMultipleSlashes");
4561
+ __publicField(this, "partial");
4562
+ __publicField(this, "globSet");
4563
+ __publicField(this, "globParts");
4564
+ __publicField(this, "nocase");
4565
+ __publicField(this, "isWindows");
4566
+ __publicField(this, "platform");
4567
+ __publicField(this, "windowsNoMagicRoot");
4568
+ __publicField(this, "maxGlobstarRecursion");
4569
+ __publicField(this, "regexp");
4570
+ var _a2;
4393
4571
  assertValidPattern(pattern);
4394
4572
  options = options || {};
4395
4573
  this.options = options;
4574
+ this.maxGlobstarRecursion = (_a2 = options.maxGlobstarRecursion) != null ? _a2 : 200;
4396
4575
  this.pattern = pattern;
4397
4576
  this.platform = options.platform || defaultPlatform;
4398
4577
  this.isWindows = this.platform === "win32";
@@ -4660,10 +4839,11 @@ var Minimatch = class {
4660
4839
  for (let i2 = 0; i2 < globParts.length - 1; i2++) {
4661
4840
  for (let j = i2 + 1; j < globParts.length; j++) {
4662
4841
  const matched = this.partsMatch(globParts[i2], globParts[j], !this.preserveMultipleSlashes);
4663
- if (!matched)
4664
- continue;
4665
- globParts[i2] = matched;
4666
- globParts[j] = [];
4842
+ if (matched) {
4843
+ globParts[i2] = [];
4844
+ globParts[j] = matched;
4845
+ break;
4846
+ }
4667
4847
  }
4668
4848
  }
4669
4849
  return globParts.filter((gs) => gs.length);
@@ -4724,7 +4904,8 @@ var Minimatch = class {
4724
4904
  // out of pattern, then that's fine, as long as all
4725
4905
  // the parts match.
4726
4906
  matchOne(file, pattern, partial = false) {
4727
- const options = this.options;
4907
+ let fileStartIndex = 0;
4908
+ let patternStartIndex = 0;
4728
4909
  if (this.isWindows) {
4729
4910
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
4730
4911
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -4733,14 +4914,14 @@ var Minimatch = class {
4733
4914
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
4734
4915
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
4735
4916
  if (typeof fdi === "number" && typeof pdi === "number") {
4736
- const [fd, pd] = [file[fdi], pattern[pdi]];
4917
+ const [fd, pd] = [
4918
+ file[fdi],
4919
+ pattern[pdi]
4920
+ ];
4737
4921
  if (fd.toLowerCase() === pd.toLowerCase()) {
4738
4922
  pattern[pdi] = fd;
4739
- if (pdi > fdi) {
4740
- pattern = pattern.slice(pdi);
4741
- } else if (fdi > pdi) {
4742
- file = file.slice(fdi);
4743
- }
4923
+ patternStartIndex = pdi;
4924
+ fileStartIndex = fdi;
4744
4925
  }
4745
4926
  }
4746
4927
  }
@@ -4748,71 +4929,10 @@ var Minimatch = class {
4748
4929
  if (optimizationLevel >= 2) {
4749
4930
  file = this.levelTwoFileOptimize(file);
4750
4931
  }
4751
- this.debug("matchOne", this, { file, pattern });
4752
- this.debug("matchOne", file.length, pattern.length);
4753
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
4754
- this.debug("matchOne loop");
4755
- var p = pattern[pi];
4756
- var f = file[fi];
4757
- this.debug(pattern, p, f);
4758
- if (p === false) {
4759
- return false;
4760
- }
4761
- if (p === GLOBSTAR) {
4762
- this.debug("GLOBSTAR", [pattern, p, f]);
4763
- var fr = fi;
4764
- var pr = pi + 1;
4765
- if (pr === pl) {
4766
- this.debug("** at the end");
4767
- for (; fi < fl; fi++) {
4768
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
4769
- return false;
4770
- }
4771
- return true;
4772
- }
4773
- while (fr < fl) {
4774
- var swallowee = file[fr];
4775
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
4776
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
4777
- this.debug("globstar found match!", fr, fl, swallowee);
4778
- return true;
4779
- } else {
4780
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
4781
- this.debug("dot detected!", file, fr, pattern, pr);
4782
- break;
4783
- }
4784
- this.debug("globstar swallow a segment, and continue");
4785
- fr++;
4786
- }
4787
- }
4788
- if (partial) {
4789
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
4790
- if (fr === fl) {
4791
- return true;
4792
- }
4793
- }
4794
- return false;
4795
- }
4796
- let hit;
4797
- if (typeof p === "string") {
4798
- hit = f === p;
4799
- this.debug("string match", p, f, hit);
4800
- } else {
4801
- hit = p.test(f);
4802
- this.debug("pattern match", p, f, hit);
4803
- }
4804
- if (!hit)
4805
- return false;
4806
- }
4807
- if (fi === fl && pi === pl) {
4808
- return true;
4809
- } else if (fi === fl) {
4810
- return partial;
4811
- } else if (pi === pl) {
4812
- return fi === fl - 1 && file[fi] === "";
4813
- } else {
4814
- throw new Error("wtf?");
4932
+ if (pattern.includes(GLOBSTAR)) {
4933
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4815
4934
  }
4935
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4816
4936
  }
4817
4937
  braceExpand() {
4818
4938
  return braceExpand(this.pattern, this.options);
@@ -4951,6 +5071,135 @@ var Minimatch = class {
4951
5071
  return minimatch.defaults(def).Minimatch;
4952
5072
  }
4953
5073
  };
5074
+ _Minimatch_instances = new WeakSet();
5075
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
5076
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
5077
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
5078
+ const [head, body, tail] = partial ? [
5079
+ pattern.slice(patternIndex, firstgs),
5080
+ pattern.slice(firstgs + 1),
5081
+ []
5082
+ ] : [
5083
+ pattern.slice(patternIndex, firstgs),
5084
+ pattern.slice(firstgs + 1, lastgs),
5085
+ pattern.slice(lastgs + 1)
5086
+ ];
5087
+ if (head.length) {
5088
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
5089
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
5090
+ return false;
5091
+ fileIndex += head.length;
5092
+ }
5093
+ let fileTailMatch = 0;
5094
+ if (tail.length) {
5095
+ if (tail.length + fileIndex > file.length)
5096
+ return false;
5097
+ let tailStart = file.length - tail.length;
5098
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
5099
+ fileTailMatch = tail.length;
5100
+ } else {
5101
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
5102
+ return false;
5103
+ }
5104
+ tailStart--;
5105
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
5106
+ return false;
5107
+ fileTailMatch = tail.length + 1;
5108
+ }
5109
+ }
5110
+ if (!body.length) {
5111
+ let sawSome = !!fileTailMatch;
5112
+ for (let i3 = fileIndex; i3 < file.length - fileTailMatch; i3++) {
5113
+ const f = String(file[i3]);
5114
+ sawSome = true;
5115
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5116
+ return false;
5117
+ }
5118
+ }
5119
+ return partial || sawSome;
5120
+ }
5121
+ const bodySegments = [[[], 0]];
5122
+ let currentBody = bodySegments[0];
5123
+ let nonGsParts = 0;
5124
+ const nonGsPartsSums = [0];
5125
+ for (const b of body) {
5126
+ if (b === GLOBSTAR) {
5127
+ nonGsPartsSums.push(nonGsParts);
5128
+ currentBody = [[], 0];
5129
+ bodySegments.push(currentBody);
5130
+ } else {
5131
+ currentBody[0].push(b);
5132
+ nonGsParts++;
5133
+ }
5134
+ }
5135
+ let i2 = bodySegments.length - 1;
5136
+ const fileLength = file.length - fileTailMatch;
5137
+ for (const b of bodySegments) {
5138
+ b[1] = fileLength - (nonGsPartsSums[i2--] + b[0].length);
5139
+ }
5140
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
5141
+ };
5142
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
5143
+ const bs = bodySegments[bodyIndex];
5144
+ if (!bs) {
5145
+ for (let i2 = fileIndex; i2 < file.length; i2++) {
5146
+ sawTail = true;
5147
+ const f = file[i2];
5148
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5149
+ return false;
5150
+ }
5151
+ }
5152
+ return sawTail;
5153
+ }
5154
+ const [body, after] = bs;
5155
+ while (fileIndex <= after) {
5156
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
5157
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
5158
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
5159
+ if (sub !== false)
5160
+ return sub;
5161
+ }
5162
+ const f = file[fileIndex];
5163
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5164
+ return false;
5165
+ }
5166
+ fileIndex++;
5167
+ }
5168
+ return partial || null;
5169
+ };
5170
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
5171
+ let fi;
5172
+ let pi;
5173
+ let pl;
5174
+ let fl;
5175
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
5176
+ this.debug("matchOne loop");
5177
+ let p = pattern[pi];
5178
+ let f = file[fi];
5179
+ this.debug(pattern, p, f);
5180
+ if (p === false || p === GLOBSTAR)
5181
+ return false;
5182
+ let hit;
5183
+ if (typeof p === "string") {
5184
+ hit = f === p;
5185
+ this.debug("string match", p, f, hit);
5186
+ } else {
5187
+ hit = p.test(f);
5188
+ this.debug("pattern match", p, f, hit);
5189
+ }
5190
+ if (!hit)
5191
+ return false;
5192
+ }
5193
+ if (fi === fl && pi === pl) {
5194
+ return true;
5195
+ } else if (fi === fl) {
5196
+ return partial;
5197
+ } else if (pi === pl) {
5198
+ return fi === fl - 1 && file[fi] === "";
5199
+ } else {
5200
+ throw new Error("wtf?");
5201
+ }
5202
+ };
4954
5203
  minimatch.AST = AST;
4955
5204
  minimatch.Minimatch = Minimatch;
4956
5205
  minimatch.escape = escape;
@@ -5024,7 +5273,7 @@ function proxyHostElement(elm, cstr) {
5024
5273
  const hostRef = getHostRef(elm);
5025
5274
  const members = Object.entries(cmpMeta.$members$);
5026
5275
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
5027
- var _a, _b;
5276
+ var _a2, _b;
5028
5277
  if (memberFlags & 31 /* Prop */) {
5029
5278
  const attributeName = metaAttributeName || memberName;
5030
5279
  const attrValue = elm.getAttribute(attributeName);
@@ -5032,7 +5281,7 @@ function proxyHostElement(elm, cstr) {
5032
5281
  let attrPropVal;
5033
5282
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
5034
5283
  if (attrValue != null) {
5035
- if ((_a = cmpMeta.$deserializers$) == null ? void 0 : _a[memberName]) {
5284
+ if ((_a2 = cmpMeta.$deserializers$) == null ? void 0 : _a2[memberName]) {
5036
5285
  for (const deserializer of cmpMeta.$deserializers$[memberName]) {
5037
5286
  const [[methodName]] = Object.entries(deserializer);
5038
5287
  attrPropVal = cstr.prototype[methodName](attrValue, memberName);
@@ -5065,8 +5314,8 @@ function proxyHostElement(elm, cstr) {
5065
5314
  Object.defineProperty(elm, memberName, getterSetterDescriptor);
5066
5315
  Object.defineProperty(elm, metaAttributeName, getterSetterDescriptor);
5067
5316
  hostRef.$fetchedCbList$.push(() => {
5068
- var _a2;
5069
- if (!((_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.has(memberName))) {
5317
+ var _a3;
5318
+ if (!((_a3 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a3.has(memberName))) {
5070
5319
  setValue(
5071
5320
  elm,
5072
5321
  memberName,
@@ -5079,11 +5328,11 @@ function proxyHostElement(elm, cstr) {
5079
5328
  } else if (memberFlags & 64 /* Method */) {
5080
5329
  Object.defineProperty(elm, memberName, {
5081
5330
  value(...args) {
5082
- var _a2;
5331
+ var _a3;
5083
5332
  const ref = getHostRef(this);
5084
- return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {
5085
- var _a3;
5086
- return (_a3 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);
5333
+ return (_a3 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a3.then(() => {
5334
+ var _a4;
5335
+ return (_a4 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a4[memberName](...args);
5087
5336
  }).catch((e) => {
5088
5337
  consoleError(e, this);
5089
5338
  });
@@ -5094,8 +5343,8 @@ function proxyHostElement(elm, cstr) {
5094
5343
  }
5095
5344
  }
5096
5345
  function componentOnReady$1() {
5097
- var _a;
5098
- return (_a = getHostRef(this)) == null ? void 0 : _a.$onReadyPromise$;
5346
+ var _a2;
5347
+ return (_a2 = getHostRef(this)) == null ? void 0 : _a2.$onReadyPromise$;
5099
5348
  }
5100
5349
  function forceUpdate2() {
5101
5350
  }
@@ -26408,20 +26657,20 @@ class Modal {
26408
26657
  const isCardModal = presentingElement !== undefined && mode === 'ios';
26409
26658
  const isHandleCycle = handleBehavior === 'cycle';
26410
26659
  const isSheetModalWithHandle = isSheetModal && showHandle;
26411
- return (hAsync(Host, Object.assign({ key: 'd6a271ace939c33703966a1425ab32b7a30bf246', "no-router": true,
26660
+ return (hAsync(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
26412
26661
  // Allow the modal to be navigable when the handle is focusable
26413
26662
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
26414
26663
  zIndex: `${20000 + this.overlayIndex}`,
26415
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '51e29823c1444059edc1299e2f8509dda4c39008', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '4292a849e82b83570b18b95e3cbdf05af0a4e170', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'd3131150733c13cd6658545207e4ab49094672b7',
26664
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '3f6c61ba60b063592784d76a9594073b3bf210a9',
26416
26665
  /*
26417
26666
  role and aria-modal must be used on the
26418
26667
  same element. They must also be set inside the
26419
26668
  shadow DOM otherwise ion-button will not be highlighted
26420
26669
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
26421
26670
  */
26422
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '3da13bff87602c8c0aa8e3db54375b40d96d3b83', class: "modal-handle",
26671
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '7f66b4fdb3dec61a2b9aec4e9dbacf5d013d637c', class: "modal-handle",
26423
26672
  // Prevents the handle from receiving keyboard focus when it does not cycle
26424
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '73b22a4eb7ca2e499b9f843b66751a1dbfef69a9', onSlotchange: this.onSlotChange }))));
26673
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '2dfaaebe3d0b2a46be1224c25f9ab89bf1744332', onSlotchange: this.onSlotChange }))));
26425
26674
  }
26426
26675
  get el() { return getElement(this); }
26427
26676
  static get watchers() { return {
@@ -26430,6 +26679,9 @@ class Modal {
26430
26679
  }],
26431
26680
  "trigger": [{
26432
26681
  "triggerChanged": 0
26682
+ }],
26683
+ "breakpoints": [{
26684
+ "breakpointsChanged": 0
26433
26685
  }]
26434
26686
  }; }
26435
26687
  static get style() { return {
@@ -29161,7 +29413,7 @@ class PickerColumnCmp {
29161
29413
  this.emitColChange();
29162
29414
  return;
29163
29415
  }
29164
- this.velocity = clamp(-90, detail.velocityY * 23, MAX_PICKER_SPEED);
29416
+ this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
29165
29417
  if (this.velocity === 0 && detail.deltaY === 0) {
29166
29418
  const opt = detail.event.target.closest('.picker-opt');
29167
29419
  if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
@@ -29256,7 +29508,7 @@ const TRANSITION_DURATION = 150;
29256
29508
 
29257
29509
  const pickerColumnOptionIosCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}`;
29258
29510
 
29259
- const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active){color:var(--ion-color-base)}`;
29511
+ const pickerColumnOptionMdCss = () => `.picker-column-option-button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}:host(.option-disabled){opacity:0.4}:host(.option-disabled) .picker-column-option-button{cursor:default}:host(.option-active),:host([part~=active]){color:var(--ion-color-base)}`;
29260
29512
 
29261
29513
  class PickerColumnOption {
29262
29514
  constructor(hostRef) {
@@ -33934,7 +34186,7 @@ class ReorderGroup {
33934
34186
  }
33935
34187
  let amount = 0;
33936
34188
  if (posY < this.scrollElTop) {
33937
- amount = -10;
34189
+ amount = -SCROLL_JUMP;
33938
34190
  }
33939
34191
  else if (posY > this.scrollElBottom) {
33940
34192
  amount = SCROLL_JUMP;
@@ -34196,7 +34448,7 @@ const generatePath = (segments) => {
34196
34448
  const path = segments.filter((s) => s.length > 0).join('/');
34197
34449
  return '/' + path;
34198
34450
  };
34199
- const generateUrl = (segments, useHash, queryString) => {
34451
+ const generateUrl = (segments, useHash, queryString, fragment) => {
34200
34452
  let url = generatePath(segments);
34201
34453
  if (useHash) {
34202
34454
  url = '#' + url;
@@ -34204,10 +34456,13 @@ const generateUrl = (segments, useHash, queryString) => {
34204
34456
  if (queryString !== undefined) {
34205
34457
  url += '?' + queryString;
34206
34458
  }
34459
+ if (fragment !== undefined) {
34460
+ url += '#' + fragment;
34461
+ }
34207
34462
  return url;
34208
34463
  };
34209
- const writeSegments = (history, root, useHash, segments, direction, state, queryString) => {
34210
- const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString);
34464
+ const writeSegments = (history, root, useHash, segments, direction, state, queryString, fragment) => {
34465
+ const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString, fragment);
34211
34466
  if (direction === ROUTER_INTENT_FORWARD) {
34212
34467
  history.pushState(state, '', url);
34213
34468
  }
@@ -34274,12 +34529,21 @@ const readSegments = (loc, root, useHash) => {
34274
34529
  /**
34275
34530
  * Parses the path to:
34276
34531
  * - segments an array of '/' separated parts,
34277
- * - queryString (undefined when no query string).
34532
+ * - queryString (undefined when no query string),
34533
+ * - fragment (undefined when no `#`).
34278
34534
  */
34279
34535
  const parsePath = (path) => {
34280
34536
  let segments = [''];
34281
34537
  let queryString;
34538
+ let fragment;
34282
34539
  if (path != null) {
34540
+ // The fragment ("#") starts a section that runs to the end of the URL.
34541
+ // Anything inside it (including "?") is part of the fragment per RFC 3986.
34542
+ const fragStart = path.indexOf('#');
34543
+ if (fragStart > -1) {
34544
+ fragment = path.substring(fragStart + 1);
34545
+ path = path.substring(0, fragStart);
34546
+ }
34283
34547
  const qsStart = path.indexOf('?');
34284
34548
  if (qsStart > -1) {
34285
34549
  queryString = path.substring(qsStart + 1);
@@ -34293,7 +34557,7 @@ const parsePath = (path) => {
34293
34557
  segments = [''];
34294
34558
  }
34295
34559
  }
34296
- return { segments, queryString };
34560
+ return { segments, queryString, fragment };
34297
34561
  };
34298
34562
 
34299
34563
  const printRoutes = (routes) => {
@@ -34378,6 +34642,118 @@ const readNavState = async (root) => {
34378
34642
  }
34379
34643
  return { ids, outlet };
34380
34644
  };
34645
+ /** Max animation frames `scrollToFragment` polls while waiting for the target to mount. */
34646
+ const FRAGMENT_POLL_FRAMES = 30;
34647
+ /** Duration (ms) of the smooth-scroll animation that lands on the fragment target. */
34648
+ const FRAGMENT_SCROLL_DURATION = 300;
34649
+ const nextFrame = () => new Promise((resolve) => raf(() => resolve()));
34650
+ /**
34651
+ * Returns true when `el` lives inside an active `.ion-page`. `ion-page-hidden`
34652
+ * marks nav back-stack entries; `tab-hidden` marks inactive `ion-tab` elements.
34653
+ * Either class on the page's ancestor chain disqualifies it. When no `.ion-page`
34654
+ * exists in the document at all (non-router pages), the candidate is accepted
34655
+ * so plain anchors still work.
34656
+ */
34657
+ const isInActivePage = (el) => {
34658
+ const page = el.closest('.ion-page');
34659
+ if (page === null) {
34660
+ return document.querySelector('.ion-page') === null;
34661
+ }
34662
+ return page.closest('.ion-page-hidden, .tab-hidden') === null;
34663
+ };
34664
+ /**
34665
+ * Polls across animation frames for an element matching `fragment` that lives
34666
+ * in the active page. Scoping by "last `.ion-page:not(.ion-page-hidden)`" is
34667
+ * unreliable: inactive `ion-tab` siblings carry `.ion-page` (gated by
34668
+ * `.tab-hidden`, not `.ion-page-hidden`) and can be ordered after the leaf.
34669
+ * Instead, locate candidates globally and walk them from last to first,
34670
+ * accepting the deepest one whose `.ion-page` ancestor is not hidden. The
34671
+ * last-to-first order preserves leaf-most preference for nested outlets.
34672
+ */
34673
+ const findFragmentTarget = async (fragment, shouldContinue) => {
34674
+ // CSS.escape is unavailable on very old WebViews; the fallback path uses
34675
+ // `getElementById` and drops the legacy `<a name>` branch.
34676
+ const canEscape = typeof CSS !== 'undefined' && typeof CSS.escape === 'function';
34677
+ const escaped = canEscape ? CSS.escape(fragment) : null;
34678
+ for (let i = 0; i < FRAGMENT_POLL_FRAMES; i++) {
34679
+ if (!shouldContinue())
34680
+ return null;
34681
+ let candidates = [];
34682
+ if (escaped !== null) {
34683
+ try {
34684
+ candidates = [...document.querySelectorAll(`#${escaped}, a[name="${escaped}"]`)];
34685
+ }
34686
+ catch (_a) {
34687
+ candidates = [...document.querySelectorAll(`#${escaped}`)];
34688
+ }
34689
+ }
34690
+ else {
34691
+ const byId = document.getElementById(fragment);
34692
+ if (byId !== null)
34693
+ candidates = [byId];
34694
+ }
34695
+ for (let j = candidates.length - 1; j >= 0; j--) {
34696
+ if (isInActivePage(candidates[j])) {
34697
+ return candidates[j];
34698
+ }
34699
+ }
34700
+ await nextFrame();
34701
+ }
34702
+ return null;
34703
+ };
34704
+ /**
34705
+ * Scrolls to the element whose id matches `fragment`, falling back to a legacy
34706
+ * `<a name="...">` target. When the target lives inside an `ion-content`, the
34707
+ * scroll uses its smooth-animated scroll API; otherwise it falls back to
34708
+ * `Element.scrollIntoView`.
34709
+ *
34710
+ * `shouldContinue` lets callers cancel in-flight scrolls when a newer
34711
+ * navigation supersedes this one. It is checked between async steps.
34712
+ */
34713
+ const scrollToFragment = async (fragment, shouldContinue = () => true) => {
34714
+ if (fragment == null || fragment === '') {
34715
+ return false;
34716
+ }
34717
+ // URL fragments are percent-encoded but element ids are not; decode for
34718
+ // matching per the HTML spec's indicated-element resolution.
34719
+ let decoded;
34720
+ try {
34721
+ decoded = decodeURIComponent(fragment);
34722
+ }
34723
+ catch (_a) {
34724
+ decoded = fragment;
34725
+ }
34726
+ const target = await findFragmentTarget(decoded, shouldContinue);
34727
+ if (!target || !shouldContinue()) {
34728
+ return false;
34729
+ }
34730
+ // Best-effort scroll: swallow exceptions if the page tears down mid-animation.
34731
+ try {
34732
+ const contentHost = findClosestIonContent(target);
34733
+ if (contentHost && isIonContent(contentHost)) {
34734
+ const content = contentHost;
34735
+ const scrollEl = await getScrollElement(content);
34736
+ // Yield one frame so the newly mounted target's layout is stable
34737
+ // before we measure its rect.
34738
+ await nextFrame();
34739
+ if (!shouldContinue())
34740
+ return false;
34741
+ const targetRect = target.getBoundingClientRect();
34742
+ const scrollRect = scrollEl.getBoundingClientRect();
34743
+ const top = targetRect.top - scrollRect.top + scrollEl.scrollTop;
34744
+ // Preserve scrollLeft so RTL and horizontally-scrolling pages aren't reset.
34745
+ await content.scrollToPoint(scrollEl.scrollLeft, top, FRAGMENT_SCROLL_DURATION);
34746
+ }
34747
+ else {
34748
+ target.scrollIntoView({ behavior: 'smooth' });
34749
+ }
34750
+ return true;
34751
+ }
34752
+ catch (e) {
34753
+ printIonError('[ion-router] - Exception in scrollToFragment:', e);
34754
+ return false;
34755
+ }
34756
+ };
34381
34757
  const waitUntilNavNode = () => {
34382
34758
  if (searchNavNode(document.body)) {
34383
34759
  return Promise.resolve();
@@ -34719,6 +35095,7 @@ class Router {
34719
35095
  this.busy = false;
34720
35096
  this.state = 0;
34721
35097
  this.lastState = 0;
35098
+ this.fragmentScrollToken = 0;
34722
35099
  /**
34723
35100
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify
34724
35101
  * an alternate prefix for all URL paths.
@@ -34747,12 +35124,17 @@ class Router {
34747
35124
  if (typeof canProceed === 'object') {
34748
35125
  const { redirect } = canProceed;
34749
35126
  const path = parsePath(redirect);
34750
- this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString);
34751
- await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
35127
+ this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString, path.fragment);
35128
+ const result = await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
35129
+ if (result) {
35130
+ this.maybeScrollToFragment();
35131
+ }
34752
35132
  }
35133
+ return;
34753
35134
  }
34754
- else {
34755
- await this.onRoutesChanged();
35135
+ const result = await this.onRoutesChanged();
35136
+ if (result) {
35137
+ this.maybeScrollToFragment();
34756
35138
  }
34757
35139
  }
34758
35140
  componentDidLoad() {
@@ -34771,7 +35153,11 @@ class Router {
34771
35153
  return false;
34772
35154
  }
34773
35155
  }
34774
- return this.writeNavStateRoot(segments, direction);
35156
+ const result = await this.writeNavStateRoot(segments, direction);
35157
+ if (result) {
35158
+ this.maybeScrollToFragment();
35159
+ }
35160
+ return result;
34775
35161
  }
34776
35162
  onBackButton(ev) {
34777
35163
  ev.detail.register(0, (processNextHandler) => {
@@ -34805,7 +35191,7 @@ class Router {
34805
35191
  const currentPath = (_a = this.previousPath) !== null && _a !== void 0 ? _a : '/';
34806
35192
  // Convert currentPath to an URL by pre-pending a protocol and a host to resolve the relative path.
34807
35193
  const url = new URL(path, `https://host/${currentPath}`);
34808
- path = url.pathname + url.search;
35194
+ path = url.pathname + url.search + url.hash;
34809
35195
  }
34810
35196
  let parsedPath = parsePath(path);
34811
35197
  const canProceed = await this.runGuards(parsedPath.segments);
@@ -34817,8 +35203,12 @@ class Router {
34817
35203
  return false;
34818
35204
  }
34819
35205
  }
34820
- this.setSegments(parsedPath.segments, direction, parsedPath.queryString);
34821
- return this.writeNavStateRoot(parsedPath.segments, direction, animation);
35206
+ this.setSegments(parsedPath.segments, direction, parsedPath.queryString, parsedPath.fragment);
35207
+ const result = await this.writeNavStateRoot(parsedPath.segments, direction, animation);
35208
+ if (result) {
35209
+ this.maybeScrollToFragment();
35210
+ }
35211
+ return result;
34822
35212
  }
34823
35213
  /** Go back to previous page in the window.history. */
34824
35214
  back() {
@@ -34848,7 +35238,12 @@ class Router {
34848
35238
  printIonWarning('[ion-router] - Router could not match path because some required param is missing.');
34849
35239
  return false;
34850
35240
  }
34851
- this.setSegments(segments, direction);
35241
+ // navChanged is an outlet-driven URL sync. Only keep the fragment when
35242
+ // the path is unchanged; on a real navigation it refers to an anchor on
35243
+ // the page being left and would be stale.
35244
+ const newPath = generatePath(segments);
35245
+ const fragment = newPath === this.previousPath ? this.getFragment() : undefined;
35246
+ this.setSegments(segments, direction, undefined, fragment);
34852
35247
  await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, segments, null, ids.length);
34853
35248
  return true;
34854
35249
  }
@@ -34891,8 +35286,8 @@ class Router {
34891
35286
  const redirect = findRouteRedirect(segments, redirects);
34892
35287
  let redirectFrom = null;
34893
35288
  if (redirect) {
34894
- const { segments: toSegments, queryString } = redirect.to;
34895
- this.setSegments(toSegments, direction, queryString);
35289
+ const { segments: toSegments, queryString, fragment } = redirect.to;
35290
+ this.setSegments(toSegments, direction, queryString, fragment);
34896
35291
  redirectFrom = redirect.from;
34897
35292
  segments = toSegments;
34898
35293
  }
@@ -34972,13 +35367,35 @@ class Router {
34972
35367
  }
34973
35368
  return changed;
34974
35369
  }
34975
- setSegments(segments, direction, queryString) {
35370
+ setSegments(segments, direction, queryString, fragment) {
34976
35371
  this.state++;
34977
- writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString);
35372
+ // Every URL write invalidates any in-flight fragment scroll: a newer nav
35373
+ // (with or without a fragment, successful or not) should always supersede.
35374
+ this.fragmentScrollToken++;
35375
+ writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString, fragment);
34978
35376
  }
34979
35377
  getSegments() {
34980
35378
  return readSegments(window.location, this.root, this.useHash);
34981
35379
  }
35380
+ getFragment() {
35381
+ // In hash mode the URL fragment trails a second `#` (e.g. `#/path#anchor`);
35382
+ // parse the routing portion to extract it.
35383
+ const raw = this.useHash ? parsePath(window.location.hash.slice(1)).fragment : window.location.hash.slice(1);
35384
+ return raw ? raw : undefined;
35385
+ }
35386
+ /**
35387
+ * Fires a best-effort scroll to the current URL fragment. The scroll bails
35388
+ * if a newer `setSegments` advances `fragmentScrollToken` mid-flight.
35389
+ */
35390
+ maybeScrollToFragment() {
35391
+ const fragment = this.getFragment();
35392
+ if (!fragment)
35393
+ return;
35394
+ const token = this.fragmentScrollToken;
35395
+ // Fire-and-forget; the returned promise resolves only after the scroll
35396
+ // animation completes, which the caller does not need to await.
35397
+ scrollToFragment(fragment, () => token === this.fragmentScrollToken).catch(() => { });
35398
+ }
34982
35399
  routeChangeEvent(toSegments, redirectFromSegments) {
34983
35400
  const from = this.previousPath;
34984
35401
  const to = generatePath(toSegments);
@@ -39428,7 +39845,7 @@ const createSwipeToDismissGesture = (el, toastPosition, onDismiss) => {
39428
39845
  * consider when the threshold is a negative in the event the
39429
39846
  * user drags up (since the deltaY will also be negative).
39430
39847
  */
39431
- shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -0.5 / 2;
39848
+ shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -DISMISS_THRESHOLD / 2;
39432
39849
  /**
39433
39850
  * Since we are replacing the keyframes
39434
39851
  * below the animation always starts from
@@ -40333,10 +40750,10 @@ class Toggle {
40333
40750
  }
40334
40751
  const shouldToggle = (rtl, checked, deltaX, margin) => {
40335
40752
  if (checked) {
40336
- return (!rtl && margin > deltaX) || (rtl && 10 < deltaX);
40753
+ return (!rtl && margin > deltaX) || (rtl && -margin < deltaX);
40337
40754
  }
40338
40755
  else {
40339
- return (!rtl && 10 < deltaX) || (rtl && margin > deltaX);
40756
+ return (!rtl && -margin < deltaX) || (rtl && margin > deltaX);
40340
40757
  }
40341
40758
  };
40342
40759
  let toggleIds = 0;
@@ -41485,7 +41902,7 @@ var NAMESPACE = (
41485
41902
  );
41486
41903
 
41487
41904
  /*
41488
- Stencil Hydrate Runner v4.43.0 | MIT Licensed | https://stenciljs.com
41905
+ Stencil Hydrate Runner v4.43.5 | MIT Licensed | https://stenciljs.com
41489
41906
  */
41490
41907
  var __create = Object.create;
41491
41908
  var __defProp = Object.defineProperty;
@@ -42816,11 +43233,11 @@ var fromCodePoint = (
42816
43233
  }
42817
43234
  );
42818
43235
  function replaceCodePoint(codePoint) {
42819
- var _a2;
43236
+ var _a3;
42820
43237
  if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
42821
43238
  return 65533;
42822
43239
  }
42823
- return (_a2 = decodeMap.get(codePoint)) !== null && _a2 !== void 0 ? _a2 : codePoint;
43240
+ return (_a3 = decodeMap.get(codePoint)) !== null && _a3 !== void 0 ? _a3 : codePoint;
42824
43241
  }
42825
43242
 
42826
43243
  // node_modules/entities/lib/esm/decode.js
@@ -43017,9 +43434,9 @@ var EntityDecoder = class {
43017
43434
  * @returns The number of characters that were consumed.
43018
43435
  */
43019
43436
  emitNumericEntity(lastCp, expectedLength) {
43020
- var _a2;
43437
+ var _a3;
43021
43438
  if (this.consumed <= expectedLength) {
43022
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
43439
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
43023
43440
  return 0;
43024
43441
  }
43025
43442
  if (lastCp === CharCodes.SEMI) {
@@ -43079,11 +43496,11 @@ var EntityDecoder = class {
43079
43496
  * @returns The number of characters consumed.
43080
43497
  */
43081
43498
  emitNotTerminatedNamedEntity() {
43082
- var _a2;
43499
+ var _a3;
43083
43500
  const { result, decodeTree } = this;
43084
43501
  const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
43085
43502
  this.emitNamedEntityData(result, valueLength, this.consumed);
43086
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.missingSemicolonAfterCharacterReference();
43503
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.missingSemicolonAfterCharacterReference();
43087
43504
  return this.consumed;
43088
43505
  }
43089
43506
  /**
@@ -43111,7 +43528,7 @@ var EntityDecoder = class {
43111
43528
  * @returns The number of characters consumed.
43112
43529
  */
43113
43530
  end() {
43114
- var _a2;
43531
+ var _a3;
43115
43532
  switch (this.state) {
43116
43533
  case EntityDecoderState.NamedEntity: {
43117
43534
  return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
@@ -43124,7 +43541,7 @@ var EntityDecoder = class {
43124
43541
  return this.emitNumericEntity(0, 3);
43125
43542
  }
43126
43543
  case EntityDecoderState.NumericStart: {
43127
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
43544
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
43128
43545
  return 0;
43129
43546
  }
43130
43547
  case EntityDecoderState.EntityStart: {
@@ -43605,8 +44022,8 @@ var TAG_NAME_TO_ID = /* @__PURE__ */ new Map([
43605
44022
  [TAG_NAMES.XMP, TAG_ID.XMP]
43606
44023
  ]);
43607
44024
  function getTagID(tagName) {
43608
- var _a2;
43609
- return (_a2 = TAG_NAME_TO_ID.get(tagName)) !== null && _a2 !== void 0 ? _a2 : TAG_ID.UNKNOWN;
44025
+ var _a3;
44026
+ return (_a3 = TAG_NAME_TO_ID.get(tagName)) !== null && _a3 !== void 0 ? _a3 : TAG_ID.UNKNOWN;
43610
44027
  }
43611
44028
  var $ = TAG_ID;
43612
44029
  var SPECIAL_ELEMENTS = {
@@ -43873,8 +44290,8 @@ var Tokenizer = class {
43873
44290
  }
43874
44291
  //Errors
43875
44292
  _err(code, cpOffset = 0) {
43876
- var _a2, _b;
43877
- (_b = (_a2 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a2, this.preprocessor.getError(code, cpOffset));
44293
+ var _a3, _b;
44294
+ (_b = (_a3 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a3, this.preprocessor.getError(code, cpOffset));
43878
44295
  }
43879
44296
  // NOTE: `offset` may never run across line boundaries.
43880
44297
  getCurrentLocation(offset) {
@@ -44016,13 +44433,13 @@ var Tokenizer = class {
44016
44433
  this.currentLocation = this.getCurrentLocation(0);
44017
44434
  }
44018
44435
  _leaveAttrName() {
44019
- var _a2;
44436
+ var _a3;
44020
44437
  var _b;
44021
44438
  const token = this.currentToken;
44022
44439
  if (getTokenAttr(token, this.currentAttr.name) === null) {
44023
44440
  token.attrs.push(this.currentAttr);
44024
44441
  if (token.location && this.currentLocation) {
44025
- const attrLocations = (_a2 = (_b = token.location).attrs) !== null && _a2 !== void 0 ? _a2 : _b.attrs = /* @__PURE__ */ Object.create(null);
44442
+ const attrLocations = (_a3 = (_b = token.location).attrs) !== null && _a3 !== void 0 ? _a3 : _b.attrs = /* @__PURE__ */ Object.create(null);
44026
44443
  attrLocations[this.currentAttr.name] = this.currentLocation;
44027
44444
  this._leaveAttrValue();
44028
44445
  }
@@ -47370,10 +47787,10 @@ var Parser = class {
47370
47787
  //Errors
47371
47788
  /** @internal */
47372
47789
  _err(token, code, beforeToken) {
47373
- var _a2;
47790
+ var _a3;
47374
47791
  if (!this.onParseError)
47375
47792
  return;
47376
- const loc = (_a2 = token.location) !== null && _a2 !== void 0 ? _a2 : BASE_LOC;
47793
+ const loc = (_a3 = token.location) !== null && _a3 !== void 0 ? _a3 : BASE_LOC;
47377
47794
  const err2 = {
47378
47795
  code,
47379
47796
  startLine: loc.startLine,
@@ -47388,18 +47805,18 @@ var Parser = class {
47388
47805
  //Stack events
47389
47806
  /** @internal */
47390
47807
  onItemPush(node, tid, isTop) {
47391
- var _a2, _b;
47392
- (_b = (_a2 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a2, node);
47808
+ var _a3, _b;
47809
+ (_b = (_a3 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a3, node);
47393
47810
  if (isTop && this.openElements.stackTop > 0)
47394
47811
  this._setContextModes(node, tid);
47395
47812
  }
47396
47813
  /** @internal */
47397
47814
  onItemPop(node, isTop) {
47398
- var _a2, _b;
47815
+ var _a3, _b;
47399
47816
  if (this.options.sourceCodeLocationInfo) {
47400
47817
  this._setEndLocation(node, this.currentToken);
47401
47818
  }
47402
- (_b = (_a2 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a2, node, this.openElements.current);
47819
+ (_b = (_a3 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a3, node, this.openElements.current);
47403
47820
  if (isTop) {
47404
47821
  let current;
47405
47822
  let currentTagId;
@@ -49473,9 +49890,9 @@ function eofInBody(p, token) {
49473
49890
  }
49474
49891
  }
49475
49892
  function endTagInText(p, token) {
49476
- var _a2;
49893
+ var _a3;
49477
49894
  if (token.tagID === TAG_ID.SCRIPT) {
49478
- (_a2 = p.scriptHandler) === null || _a2 === void 0 ? void 0 : _a2.call(p, p.openElements.current);
49895
+ (_a3 = p.scriptHandler) === null || _a3 === void 0 ? void 0 : _a3.call(p, p.openElements.current);
49479
49896
  }
49480
49897
  p.openElements.pop();
49481
49898
  p.insertionMode = p.originalInsertionMode;
@@ -50137,7 +50554,7 @@ function startTagAfterBody(p, token) {
50137
50554
  }
50138
50555
  }
50139
50556
  function endTagAfterBody(p, token) {
50140
- var _a2;
50557
+ var _a3;
50141
50558
  if (token.tagID === TAG_ID.HTML) {
50142
50559
  if (!p.fragmentContext) {
50143
50560
  p.insertionMode = InsertionMode.AFTER_AFTER_BODY;
@@ -50145,7 +50562,7 @@ function endTagAfterBody(p, token) {
50145
50562
  if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === TAG_ID.HTML) {
50146
50563
  p._setEndLocation(p.openElements.items[0], token);
50147
50564
  const bodyElement = p.openElements.items[1];
50148
- if (bodyElement && !((_a2 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a2 === void 0 ? void 0 : _a2.endTag)) {
50565
+ if (bodyElement && !((_a3 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a3 === void 0 ? void 0 : _a3.endTag)) {
50149
50566
  p._setEndLocation(bodyElement, token);
50150
50567
  }
50151
50568
  }
@@ -52009,7 +52426,7 @@ function serializeNodeToHtml(elm, serializationOptions = {}) {
52009
52426
  }
52010
52427
  var shadowRootTag = "mock:shadow-root";
52011
52428
  function* streamToHtml(node, opts, output) {
52012
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
52429
+ var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
52013
52430
  const isShadowRoot = node.nodeType === 11 /* DOCUMENT_FRAGMENT_NODE */;
52014
52431
  if (node.nodeType === 1 /* ELEMENT_NODE */ || isShadowRoot) {
52015
52432
  const tagName = isShadowRoot ? shadowRootTag : getTagName(node);
@@ -52018,7 +52435,7 @@ function* streamToHtml(node, opts, output) {
52018
52435
  }
52019
52436
  const ignoreTag = opts.excludeTags != null && opts.excludeTags.includes(tagName);
52020
52437
  if (ignoreTag === false) {
52021
- const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a2 = opts.indentSpaces) != null ? _a2 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
52438
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a3 = opts.indentSpaces) != null ? _a3 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
52022
52439
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
52023
52440
  yield "\n";
52024
52441
  output.currentLineWidth = 0;
@@ -52537,9 +52954,7 @@ var MockNode2 = class {
52537
52954
  const firstChild = this.firstChild;
52538
52955
  items.forEach((item) => {
52539
52956
  const isNode = typeof item === "object" && item !== null && "nodeType" in item;
52540
- if (firstChild) {
52541
- this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
52542
- }
52957
+ this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
52543
52958
  });
52544
52959
  }
52545
52960
  cloneNode(deep) {
@@ -52588,8 +53003,8 @@ var MockNode2 = class {
52588
53003
  return null;
52589
53004
  }
52590
53005
  get nodeValue() {
52591
- var _a2;
52592
- return (_a2 = this._nodeValue) != null ? _a2 : "";
53006
+ var _a3;
53007
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
52593
53008
  }
52594
53009
  set nodeValue(value) {
52595
53010
  this._nodeValue = value;
@@ -52649,8 +53064,8 @@ var MockNode2 = class {
52649
53064
  return null;
52650
53065
  }
52651
53066
  get textContent() {
52652
- var _a2;
52653
- return (_a2 = this._nodeValue) != null ? _a2 : "";
53067
+ var _a3;
53068
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
52654
53069
  }
52655
53070
  set textContent(value) {
52656
53071
  this._nodeValue = String(value);
@@ -52709,9 +53124,9 @@ var MockElement = class extends MockNode2 {
52709
53124
  addEventListener(this, type, handler);
52710
53125
  }
52711
53126
  attachShadow(_opts) {
52712
- var _a2;
53127
+ var _a3;
52713
53128
  const shadowRoot = this.ownerDocument.createDocumentFragment();
52714
- shadowRoot.delegatesFocus = (_a2 = _opts.delegatesFocus) != null ? _a2 : false;
53129
+ shadowRoot.delegatesFocus = (_a3 = _opts.delegatesFocus) != null ? _a3 : false;
52715
53130
  this.shadowRoot = shadowRoot;
52716
53131
  return shadowRoot;
52717
53132
  }
@@ -52782,6 +53197,9 @@ var MockElement = class extends MockNode2 {
52782
53197
  get part() {
52783
53198
  return new MockTokenList(this, "part");
52784
53199
  }
53200
+ set part(value) {
53201
+ this.setAttributeNS(null, "part", String(value));
53202
+ }
52785
53203
  click() {
52786
53204
  dispatchEvent(this, new MockEvent("click", { bubbles: true, cancelable: true, composed: true }));
52787
53205
  }
@@ -52884,8 +53302,8 @@ var MockElement = class extends MockNode2 {
52884
53302
  });
52885
53303
  }
52886
53304
  set innerHTML(html) {
52887
- var _a2;
52888
- if (NON_ESCAPABLE_CONTENT.has((_a2 = this.nodeName) != null ? _a2 : "") === true) {
53305
+ var _a3;
53306
+ if (NON_ESCAPABLE_CONTENT.has((_a3 = this.nodeName) != null ? _a3 : "") === true) {
52889
53307
  setTextContent(this, html);
52890
53308
  } else {
52891
53309
  for (let i = this.childNodes.length - 1; i >= 0; i--) {
@@ -53128,8 +53546,8 @@ var MockElement = class extends MockNode2 {
53128
53546
  this.setAttributeNS(null, "tabindex", value);
53129
53547
  }
53130
53548
  get tagName() {
53131
- var _a2;
53132
- return (_a2 = this.nodeName) != null ? _a2 : "";
53549
+ var _a3;
53550
+ return (_a3 = this.nodeName) != null ? _a3 : "";
53133
53551
  }
53134
53552
  set tagName(value) {
53135
53553
  this.nodeName = value;
@@ -53351,11 +53769,11 @@ function getElementsByClassName(elm, classNames, foundElms) {
53351
53769
  }
53352
53770
  }
53353
53771
  function getElementsByTagName(elm, tagName, foundElms) {
53354
- var _a2;
53772
+ var _a3;
53355
53773
  const children = elm.children;
53356
53774
  for (let i = 0, ii = children.length; i < ii; i++) {
53357
53775
  const childElm = children[i];
53358
- if (tagName === "*" || ((_a2 = childElm.nodeName) != null ? _a2 : "").toLowerCase() === tagName) {
53776
+ if (tagName === "*" || ((_a3 = childElm.nodeName) != null ? _a3 : "").toLowerCase() === tagName) {
53359
53777
  foundElms.push(childElm);
53360
53778
  }
53361
53779
  getElementsByTagName(childElm, tagName, foundElms);
@@ -53392,8 +53810,8 @@ var MockHTMLElement = class extends MockElement {
53392
53810
  super(ownerDocument, typeof nodeName === "string" ? nodeName.toUpperCase() : null);
53393
53811
  }
53394
53812
  get tagName() {
53395
- var _a2;
53396
- return (_a2 = this.nodeName) != null ? _a2 : "";
53813
+ var _a3;
53814
+ return (_a3 = this.nodeName) != null ? _a3 : "";
53397
53815
  }
53398
53816
  set tagName(value) {
53399
53817
  this.nodeName = value;
@@ -53851,10 +54269,10 @@ var MockLabelElement = class extends MockHTMLElement {
53851
54269
  this.setAttributeNS(null, "for", value);
53852
54270
  }
53853
54271
  get control() {
53854
- var _a2, _b;
54272
+ var _a3, _b;
53855
54273
  const forAttr = this.htmlFor;
53856
54274
  if (forAttr) {
53857
- return (_b = (_a2 = this.ownerDocument) == null ? void 0 : _a2.getElementById(forAttr)) != null ? _b : null;
54275
+ return (_b = (_a3 = this.ownerDocument) == null ? void 0 : _a3.getElementById(forAttr)) != null ? _b : null;
53858
54276
  }
53859
54277
  const labelableSelector = 'button, input:not([type="hidden"]), meter, output, progress, select, textarea';
53860
54278
  return this.querySelector(labelableSelector);
@@ -56362,18 +56780,34 @@ var RemoteValue = class _RemoteValue {
56362
56780
  };
56363
56781
 
56364
56782
  // src/utils/serialize.ts
56783
+ function encodeBase64Unicode(str) {
56784
+ const utf8Bytes = new TextEncoder().encode(str);
56785
+ let binary = "";
56786
+ for (let i = 0; i < utf8Bytes.length; i++) {
56787
+ binary += String.fromCharCode(utf8Bytes[i]);
56788
+ }
56789
+ return btoa(binary);
56790
+ }
56791
+ function decodeBase64Unicode(base64) {
56792
+ const binary = atob(base64);
56793
+ const bytes = new Uint8Array(binary.length);
56794
+ for (let i = 0; i < binary.length; i++) {
56795
+ bytes[i] = binary.charCodeAt(i);
56796
+ }
56797
+ return new TextDecoder().decode(bytes);
56798
+ }
56365
56799
  function serializeProperty(value) {
56366
56800
  if (["string", "boolean", "undefined"].includes(typeof value) || typeof value === "number" && value !== Infinity && value !== -Infinity && !isNaN(value)) {
56367
56801
  return value;
56368
56802
  }
56369
56803
  const arg = LocalValue.getArgument(value);
56370
- return SERIALIZED_PREFIX + btoa(JSON.stringify(arg));
56804
+ return SERIALIZED_PREFIX + encodeBase64Unicode(JSON.stringify(arg));
56371
56805
  }
56372
56806
  function deserializeProperty(value) {
56373
56807
  if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
56374
56808
  return value;
56375
56809
  }
56376
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
56810
+ return RemoteValue.fromLocalValue(JSON.parse(decodeBase64Unicode(value.slice(SERIALIZED_PREFIX.length))));
56377
56811
  }
56378
56812
  var CAPTURE_EVENT_SUFFIX = "Capture";
56379
56813
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
@@ -56567,8 +57001,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
56567
57001
  };
56568
57002
 
56569
57003
  // node_modules/minimatch/dist/esm/ast.js
57004
+ var _a2;
56570
57005
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
56571
57006
  var isExtglobType = (c) => types.has(c);
57007
+ var isExtglobAST = (c) => isExtglobType(c.type);
57008
+ var adoptionMap = /* @__PURE__ */ new Map([
57009
+ ["!", ["@"]],
57010
+ ["?", ["?", "@"]],
57011
+ ["@", ["@"]],
57012
+ ["*", ["*", "+", "?", "@"]],
57013
+ ["+", ["+", "@"]]
57014
+ ]);
57015
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
57016
+ ["!", ["?"]],
57017
+ ["@", ["?"]],
57018
+ ["+", ["?", "*"]]
57019
+ ]);
57020
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
57021
+ ["!", ["?", "@"]],
57022
+ ["?", ["?", "@"]],
57023
+ ["@", ["?", "@"]],
57024
+ ["*", ["*", "+", "?", "@"]],
57025
+ ["+", ["+", "@", "?", "*"]]
57026
+ ]);
57027
+ var usurpMap = /* @__PURE__ */ new Map([
57028
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
57029
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
57030
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
57031
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
57032
+ ]);
56572
57033
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
56573
57034
  var startNoDot = "(?!\\.)";
56574
57035
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -56578,8 +57039,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
56578
57039
  var qmark = "[^/]";
56579
57040
  var star = qmark + "*?";
56580
57041
  var starNoEmpty = qmark + "+?";
56581
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
56582
- var _AST = class _AST {
57042
+ var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, canAdoptWithSpace_fn, canAdopt_fn, canAdoptType_fn, adoptWithSpace_fn, adopt_fn, canUsurpType_fn, canUsurp_fn, usurp_fn, flatten_fn, partsToRegExp_fn, parseGlob_fn;
57043
+ var AST = class {
56583
57044
  constructor(type, parent, options = {}) {
56584
57045
  __privateAdd(this, _AST_instances);
56585
57046
  __publicField(this, "type");
@@ -56632,44 +57093,44 @@ var _AST = class _AST {
56632
57093
  for (const p of parts) {
56633
57094
  if (p === "")
56634
57095
  continue;
56635
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
57096
+ if (typeof p !== "string" && !(p instanceof _a2 && __privateGet(p, _parent) === this)) {
56636
57097
  throw new Error("invalid part: " + p);
56637
57098
  }
56638
57099
  __privateGet(this, _parts).push(p);
56639
57100
  }
56640
57101
  }
56641
57102
  toJSON() {
56642
- var _a2;
57103
+ var _a3;
56643
57104
  const ret = this.type === null ? __privateGet(this, _parts).slice().map((p) => typeof p === "string" ? p : p.toJSON()) : [this.type, ...__privateGet(this, _parts).map((p) => p.toJSON())];
56644
57105
  if (this.isStart() && !this.type)
56645
57106
  ret.unshift([]);
56646
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
57107
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")) {
56647
57108
  ret.push({});
56648
57109
  }
56649
57110
  return ret;
56650
57111
  }
56651
57112
  isStart() {
56652
- var _a2;
57113
+ var _a3;
56653
57114
  if (__privateGet(this, _root) === this)
56654
57115
  return true;
56655
- if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
57116
+ if (!((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.isStart()))
56656
57117
  return false;
56657
57118
  if (__privateGet(this, _parentIndex) === 0)
56658
57119
  return true;
56659
57120
  const p = __privateGet(this, _parent);
56660
57121
  for (let i = 0; i < __privateGet(this, _parentIndex); i++) {
56661
57122
  const pp = __privateGet(p, _parts)[i];
56662
- if (!(pp instanceof _AST && pp.type === "!")) {
57123
+ if (!(pp instanceof _a2 && pp.type === "!")) {
56663
57124
  return false;
56664
57125
  }
56665
57126
  }
56666
57127
  return true;
56667
57128
  }
56668
57129
  isEnd() {
56669
- var _a2, _b, _c;
57130
+ var _a3, _b, _c;
56670
57131
  if (__privateGet(this, _root) === this)
56671
57132
  return true;
56672
- if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
57133
+ if (((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")
56673
57134
  return true;
56674
57135
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
56675
57136
  return false;
@@ -56685,16 +57146,16 @@ var _AST = class _AST {
56685
57146
  this.push(part.clone(this));
56686
57147
  }
56687
57148
  clone(parent) {
56688
- const c = new _AST(this.type, parent);
57149
+ const c = new _a2(this.type, parent);
56689
57150
  for (const p of __privateGet(this, _parts)) {
56690
57151
  c.copyIn(p);
56691
57152
  }
56692
57153
  return c;
56693
57154
  }
56694
57155
  static fromGlob(pattern, options = {}) {
56695
- var _a2;
56696
- const ast = new _AST(null, void 0, options);
56697
- __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options);
57156
+ var _a3;
57157
+ const ast = new _a2(null, void 0, options);
57158
+ __privateMethod(_a3 = _a2, _AST_static, parseAST_fn).call(_a3, pattern, ast, 0, options, 0);
56698
57159
  return ast;
56699
57160
  }
56700
57161
  // returns the regular expression if there's magic, or the unescaped
@@ -56787,15 +57248,17 @@ var _AST = class _AST {
56787
57248
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
56788
57249
  // or start or whatever) and prepend ^ or / at the Regexp construction.
56789
57250
  toRegExpSource(allowDot) {
56790
- var _a2;
57251
+ var _a3;
56791
57252
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
56792
- if (__privateGet(this, _root) === this)
57253
+ if (__privateGet(this, _root) === this) {
57254
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
56793
57255
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
56794
- if (!this.type) {
57256
+ }
57257
+ if (!isExtglobAST(this)) {
56795
57258
  const noEmpty = this.isStart() && this.isEnd();
56796
57259
  const src = __privateGet(this, _parts).map((p) => {
56797
- var _a3;
56798
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _AST, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
57260
+ var _a4;
57261
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a4 = _a2, _AST_static, parseGlob_fn).call(_a4, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
56799
57262
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
56800
57263
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
56801
57264
  return re;
@@ -56818,7 +57281,7 @@ var _AST = class _AST {
56818
57281
  }
56819
57282
  }
56820
57283
  let end = "";
56821
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
57284
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!") {
56822
57285
  end = "(?:$|\\/)";
56823
57286
  }
56824
57287
  const final2 = start2 + src + end;
@@ -56834,9 +57297,10 @@ var _AST = class _AST {
56834
57297
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
56835
57298
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
56836
57299
  const s = this.toString();
56837
- __privateSet(this, _parts, [s]);
56838
- this.type = null;
56839
- __privateSet(this, _hasMagic, void 0);
57300
+ const me = this;
57301
+ __privateSet(me, _parts, [s]);
57302
+ me.type = null;
57303
+ __privateSet(me, _hasMagic, void 0);
56840
57304
  return [s, unescape(this.toString()), false, false];
56841
57305
  }
56842
57306
  let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
@@ -56905,8 +57369,9 @@ fillNegs_fn = function() {
56905
57369
  return this;
56906
57370
  };
56907
57371
  _AST_static = new WeakSet();
56908
- parseAST_fn = function(str, ast, pos, opt) {
56909
- var _a2, _b;
57372
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
57373
+ var _a3, _b, _c, _d, _e;
57374
+ const maxDepth = (_a3 = opt.maxExtglobRecursion) != null ? _a3 : 2;
56910
57375
  let escaping = false;
56911
57376
  let inBrace = false;
56912
57377
  let braceStart = -1;
@@ -56938,11 +57403,12 @@ parseAST_fn = function(str, ast, pos, opt) {
56938
57403
  acc2 += c;
56939
57404
  continue;
56940
57405
  }
56941
- if (!opt.noext && isExtglobType(c) && str.charAt(i2) === "(") {
57406
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i2) === "(" && extDepth <= maxDepth;
57407
+ if (doRecurse) {
56942
57408
  ast.push(acc2);
56943
57409
  acc2 = "";
56944
- const ext2 = new _AST(c, ast);
56945
- i2 = __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, str, ext2, i2, opt);
57410
+ const ext2 = new _a2(c, ast);
57411
+ i2 = __privateMethod(_b = _a2, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt, extDepth + 1);
56946
57412
  ast.push(ext2);
56947
57413
  continue;
56948
57414
  }
@@ -56952,7 +57418,7 @@ parseAST_fn = function(str, ast, pos, opt) {
56952
57418
  return i2;
56953
57419
  }
56954
57420
  let i = pos + 1;
56955
- let part = new _AST(null, ast);
57421
+ let part = new _a2(null, ast);
56956
57422
  const parts = [];
56957
57423
  let acc = "";
56958
57424
  while (i < str.length) {
@@ -56979,19 +57445,22 @@ parseAST_fn = function(str, ast, pos, opt) {
56979
57445
  acc += c;
56980
57446
  continue;
56981
57447
  }
56982
- if (isExtglobType(c) && str.charAt(i) === "(") {
57448
+ const doRecurse = isExtglobType(c) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
57449
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
57450
+ if (doRecurse) {
57451
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
56983
57452
  part.push(acc);
56984
57453
  acc = "";
56985
- const ext2 = new _AST(c, part);
57454
+ const ext2 = new _a2(c, part);
56986
57455
  part.push(ext2);
56987
- i = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i, opt);
57456
+ i = __privateMethod(_e = _a2, _AST_static, parseAST_fn).call(_e, str, ext2, i, opt, extDepth + depthAdd);
56988
57457
  continue;
56989
57458
  }
56990
57459
  if (c === "|") {
56991
57460
  part.push(acc);
56992
57461
  acc = "";
56993
57462
  parts.push(part);
56994
- part = new _AST(null, ast);
57463
+ part = new _a2(null, ast);
56995
57464
  continue;
56996
57465
  }
56997
57466
  if (c === ")") {
@@ -57010,6 +57479,100 @@ parseAST_fn = function(str, ast, pos, opt) {
57010
57479
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
57011
57480
  return i;
57012
57481
  };
57482
+ canAdoptWithSpace_fn = function(child) {
57483
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
57484
+ };
57485
+ canAdopt_fn = function(child, map2 = adoptionMap) {
57486
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
57487
+ return false;
57488
+ }
57489
+ const gc = __privateGet(child, _parts)[0];
57490
+ if (!gc || typeof gc !== "object" || gc.type === null) {
57491
+ return false;
57492
+ }
57493
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
57494
+ };
57495
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
57496
+ var _a3;
57497
+ return !!((_a3 = map2.get(this.type)) == null ? void 0 : _a3.includes(c));
57498
+ };
57499
+ adoptWithSpace_fn = function(child, index) {
57500
+ const gc = __privateGet(child, _parts)[0];
57501
+ const blank = new _a2(null, gc, this.options);
57502
+ __privateGet(blank, _parts).push("");
57503
+ gc.push(blank);
57504
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
57505
+ };
57506
+ adopt_fn = function(child, index) {
57507
+ const gc = __privateGet(child, _parts)[0];
57508
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
57509
+ for (const p of __privateGet(gc, _parts)) {
57510
+ if (typeof p === "object")
57511
+ __privateSet(p, _parent, this);
57512
+ }
57513
+ __privateSet(this, _toString, void 0);
57514
+ };
57515
+ canUsurpType_fn = function(c) {
57516
+ const m = usurpMap.get(this.type);
57517
+ return !!(m == null ? void 0 : m.has(c));
57518
+ };
57519
+ canUsurp_fn = function(child) {
57520
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
57521
+ return false;
57522
+ }
57523
+ const gc = __privateGet(child, _parts)[0];
57524
+ if (!gc || typeof gc !== "object" || gc.type === null) {
57525
+ return false;
57526
+ }
57527
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
57528
+ };
57529
+ usurp_fn = function(child) {
57530
+ const m = usurpMap.get(this.type);
57531
+ const gc = __privateGet(child, _parts)[0];
57532
+ const nt = m == null ? void 0 : m.get(gc.type);
57533
+ if (!nt)
57534
+ return false;
57535
+ __privateSet(this, _parts, __privateGet(gc, _parts));
57536
+ for (const p of __privateGet(this, _parts)) {
57537
+ if (typeof p === "object")
57538
+ __privateSet(p, _parent, this);
57539
+ }
57540
+ this.type = nt;
57541
+ __privateSet(this, _toString, void 0);
57542
+ __privateSet(this, _emptyExt, false);
57543
+ };
57544
+ flatten_fn = function() {
57545
+ var _a3, _b;
57546
+ if (!isExtglobAST(this)) {
57547
+ for (const p of __privateGet(this, _parts)) {
57548
+ if (typeof p === "object")
57549
+ __privateMethod(_a3 = p, _AST_instances, flatten_fn).call(_a3);
57550
+ }
57551
+ } else {
57552
+ let iterations = 0;
57553
+ let done = false;
57554
+ do {
57555
+ done = true;
57556
+ for (let i = 0; i < __privateGet(this, _parts).length; i++) {
57557
+ const c = __privateGet(this, _parts)[i];
57558
+ if (typeof c === "object") {
57559
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
57560
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
57561
+ done = false;
57562
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i);
57563
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
57564
+ done = false;
57565
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i);
57566
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
57567
+ done = false;
57568
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
57569
+ }
57570
+ }
57571
+ }
57572
+ } while (!done && ++iterations < 10);
57573
+ }
57574
+ __privateSet(this, _toString, void 0);
57575
+ };
57013
57576
  partsToRegExp_fn = function(dot) {
57014
57577
  return __privateGet(this, _parts).map((p) => {
57015
57578
  if (typeof p === "string") {
@@ -57024,11 +57587,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57024
57587
  let escaping = false;
57025
57588
  let re = "";
57026
57589
  let uflag = false;
57590
+ let inStar = false;
57027
57591
  for (let i = 0; i < glob.length; i++) {
57028
57592
  const c = glob.charAt(i);
57029
57593
  if (escaping) {
57030
57594
  escaping = false;
57031
57595
  re += (reSpecials.has(c) ? "\\" : "") + c;
57596
+ inStar = false;
57032
57597
  continue;
57033
57598
  }
57034
57599
  if (c === "\\") {
@@ -57046,16 +57611,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57046
57611
  uflag = uflag || needUflag;
57047
57612
  i += consumed - 1;
57048
57613
  hasMagic = hasMagic || magic;
57614
+ inStar = false;
57049
57615
  continue;
57050
57616
  }
57051
57617
  }
57052
57618
  if (c === "*") {
57053
- if (noEmpty && glob === "*")
57054
- re += starNoEmpty;
57055
- else
57056
- re += star;
57619
+ if (inStar)
57620
+ continue;
57621
+ inStar = true;
57622
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
57057
57623
  hasMagic = true;
57058
57624
  continue;
57625
+ } else {
57626
+ inStar = false;
57059
57627
  }
57060
57628
  if (c === "?") {
57061
57629
  re += qmark;
@@ -57066,8 +57634,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57066
57634
  }
57067
57635
  return [re, unescape(glob), !!hasMagic, uflag];
57068
57636
  };
57069
- __privateAdd(_AST, _AST_static);
57070
- var AST = _AST;
57637
+ __privateAdd(AST, _AST_static);
57638
+ _a2 = AST;
57071
57639
 
57072
57640
  // node_modules/minimatch/dist/esm/escape.js
57073
57641
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -57206,28 +57774,33 @@ var match = (list, pattern, options = {}) => {
57206
57774
  minimatch.match = match;
57207
57775
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
57208
57776
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
57777
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
57209
57778
  var Minimatch = class {
57210
- options;
57211
- set;
57212
- pattern;
57213
- windowsPathsNoEscape;
57214
- nonegate;
57215
- negate;
57216
- comment;
57217
- empty;
57218
- preserveMultipleSlashes;
57219
- partial;
57220
- globSet;
57221
- globParts;
57222
- nocase;
57223
- isWindows;
57224
- platform;
57225
- windowsNoMagicRoot;
57226
- regexp;
57227
57779
  constructor(pattern, options = {}) {
57780
+ __privateAdd(this, _Minimatch_instances);
57781
+ __publicField(this, "options");
57782
+ __publicField(this, "set");
57783
+ __publicField(this, "pattern");
57784
+ __publicField(this, "windowsPathsNoEscape");
57785
+ __publicField(this, "nonegate");
57786
+ __publicField(this, "negate");
57787
+ __publicField(this, "comment");
57788
+ __publicField(this, "empty");
57789
+ __publicField(this, "preserveMultipleSlashes");
57790
+ __publicField(this, "partial");
57791
+ __publicField(this, "globSet");
57792
+ __publicField(this, "globParts");
57793
+ __publicField(this, "nocase");
57794
+ __publicField(this, "isWindows");
57795
+ __publicField(this, "platform");
57796
+ __publicField(this, "windowsNoMagicRoot");
57797
+ __publicField(this, "maxGlobstarRecursion");
57798
+ __publicField(this, "regexp");
57799
+ var _a3;
57228
57800
  assertValidPattern(pattern);
57229
57801
  options = options || {};
57230
57802
  this.options = options;
57803
+ this.maxGlobstarRecursion = (_a3 = options.maxGlobstarRecursion) != null ? _a3 : 200;
57231
57804
  this.pattern = pattern;
57232
57805
  this.platform = options.platform || defaultPlatform;
57233
57806
  this.isWindows = this.platform === "win32";
@@ -57495,10 +58068,11 @@ var Minimatch = class {
57495
58068
  for (let i = 0; i < globParts.length - 1; i++) {
57496
58069
  for (let j = i + 1; j < globParts.length; j++) {
57497
58070
  const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
57498
- if (!matched)
57499
- continue;
57500
- globParts[i] = matched;
57501
- globParts[j] = [];
58071
+ if (matched) {
58072
+ globParts[i] = [];
58073
+ globParts[j] = matched;
58074
+ break;
58075
+ }
57502
58076
  }
57503
58077
  }
57504
58078
  return globParts.filter((gs) => gs.length);
@@ -57559,7 +58133,8 @@ var Minimatch = class {
57559
58133
  // out of pattern, then that's fine, as long as all
57560
58134
  // the parts match.
57561
58135
  matchOne(file, pattern, partial = false) {
57562
- const options = this.options;
58136
+ let fileStartIndex = 0;
58137
+ let patternStartIndex = 0;
57563
58138
  if (this.isWindows) {
57564
58139
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
57565
58140
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -57568,14 +58143,14 @@ var Minimatch = class {
57568
58143
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
57569
58144
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
57570
58145
  if (typeof fdi === "number" && typeof pdi === "number") {
57571
- const [fd, pd] = [file[fdi], pattern[pdi]];
58146
+ const [fd, pd] = [
58147
+ file[fdi],
58148
+ pattern[pdi]
58149
+ ];
57572
58150
  if (fd.toLowerCase() === pd.toLowerCase()) {
57573
58151
  pattern[pdi] = fd;
57574
- if (pdi > fdi) {
57575
- pattern = pattern.slice(pdi);
57576
- } else if (fdi > pdi) {
57577
- file = file.slice(fdi);
57578
- }
58152
+ patternStartIndex = pdi;
58153
+ fileStartIndex = fdi;
57579
58154
  }
57580
58155
  }
57581
58156
  }
@@ -57583,71 +58158,10 @@ var Minimatch = class {
57583
58158
  if (optimizationLevel >= 2) {
57584
58159
  file = this.levelTwoFileOptimize(file);
57585
58160
  }
57586
- this.debug("matchOne", this, { file, pattern });
57587
- this.debug("matchOne", file.length, pattern.length);
57588
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
57589
- this.debug("matchOne loop");
57590
- var p = pattern[pi];
57591
- var f = file[fi];
57592
- this.debug(pattern, p, f);
57593
- if (p === false) {
57594
- return false;
57595
- }
57596
- if (p === GLOBSTAR) {
57597
- this.debug("GLOBSTAR", [pattern, p, f]);
57598
- var fr = fi;
57599
- var pr = pi + 1;
57600
- if (pr === pl) {
57601
- this.debug("** at the end");
57602
- for (; fi < fl; fi++) {
57603
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
57604
- return false;
57605
- }
57606
- return true;
57607
- }
57608
- while (fr < fl) {
57609
- var swallowee = file[fr];
57610
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
57611
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
57612
- this.debug("globstar found match!", fr, fl, swallowee);
57613
- return true;
57614
- } else {
57615
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
57616
- this.debug("dot detected!", file, fr, pattern, pr);
57617
- break;
57618
- }
57619
- this.debug("globstar swallow a segment, and continue");
57620
- fr++;
57621
- }
57622
- }
57623
- if (partial) {
57624
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
57625
- if (fr === fl) {
57626
- return true;
57627
- }
57628
- }
57629
- return false;
57630
- }
57631
- let hit;
57632
- if (typeof p === "string") {
57633
- hit = f === p;
57634
- this.debug("string match", p, f, hit);
57635
- } else {
57636
- hit = p.test(f);
57637
- this.debug("pattern match", p, f, hit);
57638
- }
57639
- if (!hit)
57640
- return false;
57641
- }
57642
- if (fi === fl && pi === pl) {
57643
- return true;
57644
- } else if (fi === fl) {
57645
- return partial;
57646
- } else if (pi === pl) {
57647
- return fi === fl - 1 && file[fi] === "";
57648
- } else {
57649
- throw new Error("wtf?");
58161
+ if (pattern.includes(GLOBSTAR)) {
58162
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
57650
58163
  }
58164
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
57651
58165
  }
57652
58166
  braceExpand() {
57653
58167
  return braceExpand(this.pattern, this.options);
@@ -57786,6 +58300,135 @@ var Minimatch = class {
57786
58300
  return minimatch.defaults(def).Minimatch;
57787
58301
  }
57788
58302
  };
58303
+ _Minimatch_instances = new WeakSet();
58304
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
58305
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
58306
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
58307
+ const [head, body, tail] = partial ? [
58308
+ pattern.slice(patternIndex, firstgs),
58309
+ pattern.slice(firstgs + 1),
58310
+ []
58311
+ ] : [
58312
+ pattern.slice(patternIndex, firstgs),
58313
+ pattern.slice(firstgs + 1, lastgs),
58314
+ pattern.slice(lastgs + 1)
58315
+ ];
58316
+ if (head.length) {
58317
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
58318
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
58319
+ return false;
58320
+ fileIndex += head.length;
58321
+ }
58322
+ let fileTailMatch = 0;
58323
+ if (tail.length) {
58324
+ if (tail.length + fileIndex > file.length)
58325
+ return false;
58326
+ let tailStart = file.length - tail.length;
58327
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
58328
+ fileTailMatch = tail.length;
58329
+ } else {
58330
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
58331
+ return false;
58332
+ }
58333
+ tailStart--;
58334
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
58335
+ return false;
58336
+ fileTailMatch = tail.length + 1;
58337
+ }
58338
+ }
58339
+ if (!body.length) {
58340
+ let sawSome = !!fileTailMatch;
58341
+ for (let i2 = fileIndex; i2 < file.length - fileTailMatch; i2++) {
58342
+ const f = String(file[i2]);
58343
+ sawSome = true;
58344
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58345
+ return false;
58346
+ }
58347
+ }
58348
+ return partial || sawSome;
58349
+ }
58350
+ const bodySegments = [[[], 0]];
58351
+ let currentBody = bodySegments[0];
58352
+ let nonGsParts = 0;
58353
+ const nonGsPartsSums = [0];
58354
+ for (const b of body) {
58355
+ if (b === GLOBSTAR) {
58356
+ nonGsPartsSums.push(nonGsParts);
58357
+ currentBody = [[], 0];
58358
+ bodySegments.push(currentBody);
58359
+ } else {
58360
+ currentBody[0].push(b);
58361
+ nonGsParts++;
58362
+ }
58363
+ }
58364
+ let i = bodySegments.length - 1;
58365
+ const fileLength = file.length - fileTailMatch;
58366
+ for (const b of bodySegments) {
58367
+ b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
58368
+ }
58369
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
58370
+ };
58371
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
58372
+ const bs = bodySegments[bodyIndex];
58373
+ if (!bs) {
58374
+ for (let i = fileIndex; i < file.length; i++) {
58375
+ sawTail = true;
58376
+ const f = file[i];
58377
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58378
+ return false;
58379
+ }
58380
+ }
58381
+ return sawTail;
58382
+ }
58383
+ const [body, after] = bs;
58384
+ while (fileIndex <= after) {
58385
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
58386
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
58387
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
58388
+ if (sub !== false)
58389
+ return sub;
58390
+ }
58391
+ const f = file[fileIndex];
58392
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58393
+ return false;
58394
+ }
58395
+ fileIndex++;
58396
+ }
58397
+ return partial || null;
58398
+ };
58399
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
58400
+ let fi;
58401
+ let pi;
58402
+ let pl;
58403
+ let fl;
58404
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
58405
+ this.debug("matchOne loop");
58406
+ let p = pattern[pi];
58407
+ let f = file[fi];
58408
+ this.debug(pattern, p, f);
58409
+ if (p === false || p === GLOBSTAR)
58410
+ return false;
58411
+ let hit;
58412
+ if (typeof p === "string") {
58413
+ hit = f === p;
58414
+ this.debug("string match", p, f, hit);
58415
+ } else {
58416
+ hit = p.test(f);
58417
+ this.debug("pattern match", p, f, hit);
58418
+ }
58419
+ if (!hit)
58420
+ return false;
58421
+ }
58422
+ if (fi === fl && pi === pl) {
58423
+ return true;
58424
+ } else if (fi === fl) {
58425
+ return partial;
58426
+ } else if (pi === pl) {
58427
+ return fi === fl - 1 && file[fi] === "";
58428
+ } else {
58429
+ throw new Error("wtf?");
58430
+ }
58431
+ };
57789
58432
  minimatch.AST = AST;
57790
58433
  minimatch.Minimatch = Minimatch;
57791
58434
  minimatch.escape = escape;
@@ -57856,7 +58499,7 @@ var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") ||
57856
58499
 
57857
58500
  // src/compiler/html/canonical-link.ts
57858
58501
  var updateCanonicalLink = (doc, href) => {
57859
- var _a2;
58502
+ var _a3;
57860
58503
  let canonicalLinkElm = doc.head.querySelector('link[rel="canonical"]');
57861
58504
  if (typeof href === "string") {
57862
58505
  if (canonicalLinkElm == null) {
@@ -57869,7 +58512,7 @@ var updateCanonicalLink = (doc, href) => {
57869
58512
  if (canonicalLinkElm != null) {
57870
58513
  const existingHref = canonicalLinkElm.getAttribute("href");
57871
58514
  if (!existingHref) {
57872
- (_a2 = canonicalLinkElm.parentNode) == null ? void 0 : _a2.removeChild(canonicalLinkElm);
58515
+ (_a3 = canonicalLinkElm.parentNode) == null ? void 0 : _a3.removeChild(canonicalLinkElm);
57873
58516
  }
57874
58517
  }
57875
58518
  }
@@ -58381,7 +59024,7 @@ var serializeCss = (stylesheet, serializeOpts) => {
58381
59024
  return out.join("");
58382
59025
  };
58383
59026
  var serializeCssVisitNode = (opts, node, index, len) => {
58384
- var _a2;
59027
+ var _a3;
58385
59028
  const nodeType = node.type;
58386
59029
  if (nodeType === 4 /* Declaration */) {
58387
59030
  return serializeCssDeclaration(node, index, len);
@@ -58390,7 +59033,7 @@ var serializeCssVisitNode = (opts, node, index, len) => {
58390
59033
  return serializeCssRule(opts, node);
58391
59034
  }
58392
59035
  if (nodeType === 1 /* Comment */) {
58393
- if (((_a2 = node.comment) == null ? void 0 : _a2[0]) === "!") {
59036
+ if (((_a3 = node.comment) == null ? void 0 : _a3[0]) === "!") {
58394
59037
  return `/*${node.comment}*/`;
58395
59038
  } else {
58396
59039
  return "";
@@ -58438,10 +59081,10 @@ var serializeCssVisitNode = (opts, node, index, len) => {
58438
59081
  return "";
58439
59082
  };
58440
59083
  var serializeCssRule = (opts, node) => {
58441
- var _a2, _b;
59084
+ var _a3, _b;
58442
59085
  const decls = node.declarations;
58443
59086
  const usedSelectors = opts.usedSelectors;
58444
- const selectors = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.slice()) != null ? _b : [];
59087
+ const selectors = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.slice()) != null ? _b : [];
58445
59088
  const hasDecls = decls != null && decls.length > 0;
58446
59089
  const hasNestedRules = node.rules != null && node.rules.length > 0;
58447
59090
  if (!hasDecls && !hasNestedRules) {
@@ -58545,8 +59188,8 @@ var serializeCssKeyframes = (opts, node) => {
58545
59188
  return "@" + (node.vendor || "") + "keyframes " + node.name + "{" + keyframesCss + "}";
58546
59189
  };
58547
59190
  var serializeCssKeyframe = (opts, node) => {
58548
- var _a2, _b;
58549
- return ((_b = (_a2 = node.values) == null ? void 0 : _a2.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
59191
+ var _a3, _b;
59192
+ return ((_b = (_a3 = node.values) == null ? void 0 : _a3.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
58550
59193
  };
58551
59194
  var serializeCssFontFace = (opts, node) => {
58552
59195
  const fontCss = serializeCssMapVisit(opts, node.declarations);
@@ -58570,8 +59213,8 @@ var serializeCssContainer = (opts, node) => {
58570
59213
  return "@container " + removeMediaWhitespace(node.media) + "{" + containerCss + "}";
58571
59214
  };
58572
59215
  var serializeCssPage = (opts, node) => {
58573
- var _a2, _b;
58574
- const sel = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.join(", ")) != null ? _b : "";
59216
+ var _a3, _b;
59217
+ const sel = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.join(", ")) != null ? _b : "";
58575
59218
  return "@page " + sel + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
58576
59219
  };
58577
59220
  var serializeCssDocument = (opts, node) => {
@@ -58618,10 +59261,10 @@ var removeSelectorWhitespace = (selector) => {
58618
59261
  return rtn;
58619
59262
  };
58620
59263
  var removeMediaWhitespace = (media) => {
58621
- var _a2;
59264
+ var _a3;
58622
59265
  let rtn = "";
58623
59266
  let char = "";
58624
- media = (_a2 = media == null ? void 0 : media.trim()) != null ? _a2 : "";
59267
+ media = (_a3 = media == null ? void 0 : media.trim()) != null ? _a3 : "";
58625
59268
  for (let i = 0, l = media.length; i < l; i++) {
58626
59269
  char = media[i];
58627
59270
  if (CSS_WS_REG.test(char)) {