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.js CHANGED
@@ -398,7 +398,7 @@ const appGlobalScript = initialize || (() => {});
398
398
  const globalScripts = appGlobalScript;
399
399
 
400
400
  /*
401
- Stencil Hydrate Platform v4.43.0 | MIT Licensed | https://stenciljs.com
401
+ Stencil Hydrate Platform v4.43.5 | MIT Licensed | https://stenciljs.com
402
402
  */
403
403
  var __create = Object.create;
404
404
  var __defProp = Object.defineProperty;
@@ -433,7 +433,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
433
433
  __defProp(target, "default", { value: mod, enumerable: true }) ,
434
434
  mod
435
435
  ));
436
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
436
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
437
437
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
438
438
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
439
439
  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);
@@ -675,15 +675,26 @@ var TYPE_CONSTANT = "type";
675
675
  var VALUE_CONSTANT = "value";
676
676
  var SERIALIZED_PREFIX = "serialized:";
677
677
 
678
+ // src/utils/get-prop-descriptor.ts
679
+ function getPropertyDescriptor(obj, memberName, getOnly) {
680
+ const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
681
+ while (obj && obj !== stopAt) {
682
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
683
+ if (desc && (!getOnly || desc.get)) return desc;
684
+ obj = Object.getPrototypeOf(obj);
685
+ }
686
+ return void 0;
687
+ }
688
+
678
689
  // src/utils/es2022-rewire-class-members.ts
679
690
  var reWireGetterSetter = (instance, hostRef) => {
680
- var _a;
691
+ var _a2;
681
692
  const cmpMeta = hostRef.$cmpMeta$;
682
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
693
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
683
694
  members.map(([memberName, [memberFlags]]) => {
684
695
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
685
696
  const ogValue = instance[memberName];
686
- const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
697
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
687
698
  if (ogDescriptor) {
688
699
  Object.defineProperty(instance, memberName, {
689
700
  get() {
@@ -696,18 +707,14 @@ var reWireGetterSetter = (instance, hostRef) => {
696
707
  enumerable: true
697
708
  });
698
709
  }
699
- instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
710
+ if (hostRef.$instanceValues$.has(memberName)) {
711
+ instance[memberName] = hostRef.$instanceValues$.get(memberName);
712
+ } else if (ogValue !== void 0) {
713
+ instance[memberName] = ogValue;
714
+ }
700
715
  }
701
716
  });
702
717
  };
703
- function getPropertyDescriptor(obj, memberName) {
704
- while (obj) {
705
- const desc = Object.getOwnPropertyDescriptor(obj, memberName);
706
- if (desc == null ? void 0 : desc.get) return desc;
707
- obj = Object.getPrototypeOf(obj);
708
- }
709
- return void 0;
710
- }
711
718
 
712
719
  // src/runtime/runtime-constants.ts
713
720
  var CONTENT_REF_ID = "r";
@@ -735,13 +742,13 @@ function createStyleSheetIfNeededAndSupported(styles2) {
735
742
  // src/utils/shadow-root.ts
736
743
  var globalStyleSheet;
737
744
  function createShadowRoot(cmpMeta) {
738
- var _a;
745
+ var _a2;
739
746
  const opts = { mode: "open" };
740
747
  {
741
748
  opts.delegatesFocus = !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */);
742
749
  }
743
750
  const shadowRoot = this.attachShadow(opts);
744
- if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
751
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a2 = createStyleSheetIfNeededAndSupported()) != null ? _a2 : null;
745
752
  if (globalStyleSheet) {
746
753
  {
747
754
  shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
@@ -877,8 +884,8 @@ function dispatchSlotChangeEvent(elm) {
877
884
  elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
878
885
  }
879
886
  function findSlotFromSlottedNode(slottedNode, parentHost) {
880
- var _a;
881
- parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
887
+ var _a2;
888
+ parentHost = parentHost || ((_a2 = slottedNode["s-ol"]) == null ? void 0 : _a2.parentElement);
882
889
  if (!parentHost) return { slotNode: null, slotName: "" };
883
890
  const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
884
891
  const childNodes = internalCall(parentHost, "childNodes");
@@ -912,8 +919,8 @@ var uniqueTime = (key, measureText) => {
912
919
 
913
920
  // src/utils/query-nonce-meta-tag-content.ts
914
921
  function queryNonceMetaTagContent(doc) {
915
- var _a, _b, _c;
916
- 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;
922
+ var _a2, _b, _c;
923
+ 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;
917
924
  }
918
925
 
919
926
  // src/runtime/styles.ts
@@ -926,7 +933,7 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
926
933
  styles.set(scopeId2, style);
927
934
  };
928
935
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
929
- var _a;
936
+ var _a2;
930
937
  const scopeId2 = getScopeId(cmpMeta, mode);
931
938
  const style = styles.get(scopeId2);
932
939
  if (!win$2.document) {
@@ -947,7 +954,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
947
954
  } else if (!appliedStyles.has(scopeId2)) {
948
955
  styleElm = win$2.document.createElement("style");
949
956
  styleElm.textContent = style;
950
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win$2.document);
957
+ const nonce = (_a2 = plt.$nonce$) != null ? _a2 : queryNonceMetaTagContent(win$2.document);
951
958
  if (nonce != null) {
952
959
  styleElm.setAttribute("nonce", nonce);
953
960
  }
@@ -965,7 +972,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
965
972
  } else if ("host" in styleContainerNode) {
966
973
  {
967
974
  const existingStyleContainer = styleContainerNode.querySelector("style");
968
- if (existingStyleContainer) {
975
+ if (existingStyleContainer && true) {
969
976
  existingStyleContainer.textContent = style + existingStyleContainer.textContent;
970
977
  } else {
971
978
  styleContainerNode.prepend(styleElm);
@@ -1133,7 +1140,7 @@ var convertToPrivate = (node) => {
1133
1140
 
1134
1141
  // src/runtime/client-hydrate.ts
1135
1142
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1136
- var _a, _b, _c, _d;
1143
+ var _a2, _b, _c, _d;
1137
1144
  const endHydrate = createTime("hydrateClient", tagName);
1138
1145
  const shadowRoot = hostElm.shadowRoot;
1139
1146
  const childRenderNodes = [];
@@ -1180,7 +1187,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1180
1187
  if (childRenderNode.$tag$ === "slot") {
1181
1188
  node["s-cr"] = hostElm["s-cr"];
1182
1189
  }
1183
- } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1190
+ } else if (((_a2 = childRenderNode.$tag$) == null ? void 0 : _a2.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
1184
1191
  const cmpMeta = getHostRef(childRenderNode.$elm$);
1185
1192
  if (cmpMeta) {
1186
1193
  const scopeId3 = getScopeId(
@@ -1527,10 +1534,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1527
1534
  parentVNode.$children$[childVNode.$index$] = childVNode;
1528
1535
  }
1529
1536
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1530
- var _a, _b;
1537
+ var _a2, _b;
1531
1538
  let slottedNode = slotNode.nextSibling;
1532
1539
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1533
- if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1540
+ if (!slottedNode || ((_a2 = slottedNode.nodeValue) == null ? void 0 : _a2.startsWith(SLOT_NODE_ID + "."))) return;
1534
1541
  do {
1535
1542
  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 */))) {
1536
1543
  slottedNode["s-sn"] = slotName;
@@ -1962,8 +1969,33 @@ var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1962
1969
  var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
1963
1970
  var setMode = (handler) => modeResolutionChain.push(handler);
1964
1971
  var getMode = (ref) => {
1965
- var _a;
1966
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$modeName$;
1972
+ var _a2;
1973
+ return (_a2 = getHostRef(ref)) == null ? void 0 : _a2.$modeName$;
1974
+ };
1975
+
1976
+ // src/runtime/normalize-watchers.ts
1977
+ var normalizeWatchers = (raw) => {
1978
+ if (!raw) return void 0;
1979
+ const keys = Object.keys(raw);
1980
+ if (keys.length === 0) return void 0;
1981
+ let hasLegacy = false;
1982
+ for (const propName of keys) {
1983
+ if (hasLegacy) break;
1984
+ for (const h2 of raw[propName]) {
1985
+ if (typeof h2 === "string") {
1986
+ hasLegacy = true;
1987
+ break;
1988
+ }
1989
+ }
1990
+ }
1991
+ if (!hasLegacy) return raw;
1992
+ const out = {};
1993
+ for (const propName of keys) {
1994
+ out[propName] = raw[propName].map(
1995
+ (h2) => typeof h2 === "string" ? { [h2]: 0 } : h2
1996
+ );
1997
+ }
1998
+ return out;
1967
1999
  };
1968
2000
 
1969
2001
  // src/utils/remote-value.ts
@@ -2062,11 +2094,19 @@ var RemoteValue = class _RemoteValue {
2062
2094
  };
2063
2095
 
2064
2096
  // src/utils/serialize.ts
2097
+ function decodeBase64Unicode(base64) {
2098
+ const binary = atob(base64);
2099
+ const bytes = new Uint8Array(binary.length);
2100
+ for (let i2 = 0; i2 < binary.length; i2++) {
2101
+ bytes[i2] = binary.charCodeAt(i2);
2102
+ }
2103
+ return new TextDecoder().decode(bytes);
2104
+ }
2065
2105
  function deserializeProperty(value) {
2066
2106
  if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
2067
2107
  return value;
2068
2108
  }
2069
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
2109
+ return RemoteValue.fromLocalValue(JSON.parse(decodeBase64Unicode(value.slice(SERIALIZED_PREFIX.length))));
2070
2110
  }
2071
2111
 
2072
2112
  // src/runtime/parse-property-value.ts
@@ -2092,8 +2132,8 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
2092
2132
  return propValue;
2093
2133
  };
2094
2134
  var getElement = (ref) => {
2095
- var _a;
2096
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
2135
+ var _a2;
2136
+ return (_a2 = getHostRef(ref)) == null ? void 0 : _a2.$hostElement$ ;
2097
2137
  };
2098
2138
 
2099
2139
  // src/runtime/event-emitter.ts
@@ -2318,7 +2358,7 @@ var isSvgMode = false;
2318
2358
  var refCallbacksToRemove = [];
2319
2359
  var refCallbacksToAttach = [];
2320
2360
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2321
- var _a;
2361
+ var _a2;
2322
2362
  const newVNode2 = newParentVNode.$children$[childIndex];
2323
2363
  let i2 = 0;
2324
2364
  let elm;
@@ -2389,7 +2429,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2389
2429
  elm["s-sr"] = true;
2390
2430
  elm["s-cr"] = contentRef;
2391
2431
  elm["s-sn"] = newVNode2.$name$ || "";
2392
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2432
+ elm["s-rf"] = (_a2 = newVNode2.$attrs$) == null ? void 0 : _a2.ref;
2393
2433
  patchSlotNode(elm);
2394
2434
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2395
2435
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
@@ -2731,12 +2771,12 @@ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
2731
2771
  }
2732
2772
  };
2733
2773
  function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2734
- var _a, _b;
2774
+ var _a2, _b;
2735
2775
  let scopeId2;
2736
2776
  if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
2737
2777
  const scopeName = slotNode["s-sn"];
2738
2778
  const hostName = slotNode["s-hn"];
2739
- (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
2779
+ (_a2 = newParent.classList) == null ? void 0 : _a2.add(scopeId2 + "-s");
2740
2780
  if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
2741
2781
  let child = (oldParent.__childNodes || oldParent.childNodes)[0];
2742
2782
  let found = false;
@@ -2752,7 +2792,7 @@ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2752
2792
  }
2753
2793
  }
2754
2794
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2755
- var _a, _d, _e;
2795
+ var _a2, _d, _e;
2756
2796
  const hostElm = hostRef.$hostElement$;
2757
2797
  const cmpMeta = hostRef.$cmpMeta$;
2758
2798
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -2808,7 +2848,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2808
2848
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2809
2849
  const slotRefNode = relocateData.$slotRefNode$;
2810
2850
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
2811
- nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
2851
+ nodeToRelocate["s-ih"] = (_a2 = nodeToRelocate.hidden) != null ? _a2 : false;
2812
2852
  }
2813
2853
  if (slotRefNode) {
2814
2854
  const parentNodeRef = slotRefNode.parentNode;
@@ -2868,14 +2908,14 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2868
2908
  flushQueuedRefCallbacks();
2869
2909
  };
2870
2910
  var slotReferenceDebugNode = (slotVNode) => {
2871
- var _a;
2872
- return (_a = win$2.document) == null ? void 0 : _a.createComment(
2911
+ var _a2;
2912
+ return (_a2 = win$2.document) == null ? void 0 : _a2.createComment(
2873
2913
  `<slot${slotVNode.$name$ ? ' name="' + slotVNode.$name$ + '"' : ""}> (host=${hostTagName.toLowerCase()})`
2874
2914
  );
2875
2915
  };
2876
2916
  var originalLocationDebugNode = (nodeToRelocate) => {
2877
- var _a;
2878
- return (_a = win$2.document) == null ? void 0 : _a.createComment(
2917
+ var _a2;
2918
+ return (_a2 = win$2.document) == null ? void 0 : _a2.createComment(
2879
2919
  `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
2880
2920
  );
2881
2921
  };
@@ -2952,7 +2992,7 @@ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then
2952
2992
  }) : fn();
2953
2993
  var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
2954
2994
  var updateComponent = async (hostRef, instance, isInitialLoad) => {
2955
- var _a;
2995
+ var _a2;
2956
2996
  const elm = hostRef.$hostElement$;
2957
2997
  const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
2958
2998
  const rc = elm["s-rc"];
@@ -2984,7 +3024,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
2984
3024
  endRender();
2985
3025
  endUpdate();
2986
3026
  {
2987
- const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
3027
+ const childrenPromises = (_a2 = elm["s-p"]) != null ? _a2 : [];
2988
3028
  const postUpdate = () => postUpdateComponent(hostRef);
2989
3029
  if (childrenPromises.length === 0) {
2990
3030
  postUpdate();
@@ -3058,13 +3098,13 @@ var forceUpdate = (ref) => {
3058
3098
  return false;
3059
3099
  };
3060
3100
  var appDidLoad = (who) => {
3061
- var _a;
3101
+ var _a2;
3062
3102
  if (BUILD.asyncQueue) {
3063
3103
  plt.$flags$ |= 2 /* appLoaded */;
3064
3104
  }
3065
3105
  nextTick(() => emitEvent(win$2, "appload", { detail: { namespace: NAMESPACE } }));
3066
3106
  {
3067
- if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
3107
+ if ((_a2 = plt.$orgLocNodes$) == null ? void 0 : _a2.size) {
3068
3108
  plt.$orgLocNodes$.clear();
3069
3109
  }
3070
3110
  }
@@ -3080,8 +3120,8 @@ var safeCall$1 = (instance, method, arg, elm) => {
3080
3120
  return void 0;
3081
3121
  };
3082
3122
  var addHydratedFlag = (elm) => {
3083
- var _a;
3084
- return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
3123
+ var _a2;
3124
+ return elm.classList.add((_a2 = BUILD.hydratedSelectorName) != null ? _a2 : "hydrated") ;
3085
3125
  };
3086
3126
  var serverSideConnected = (elm) => {
3087
3127
  const children = elm.children;
@@ -3156,12 +3196,12 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
3156
3196
 
3157
3197
  // src/runtime/proxy-component.ts
3158
3198
  var proxyComponent = (Cstr, cmpMeta, flags) => {
3159
- var _a;
3199
+ var _a2;
3160
3200
  const prototype = Cstr.prototype;
3161
3201
  {
3162
3202
  {
3163
3203
  if (Cstr.watchers && !cmpMeta.$watchers$) {
3164
- cmpMeta.$watchers$ = Cstr.watchers;
3204
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
3165
3205
  }
3166
3206
  if (Cstr.deserializers && !cmpMeta.$deserializers$) {
3167
3207
  cmpMeta.$deserializers$ = Cstr.deserializers;
@@ -3170,10 +3210,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
3170
3210
  cmpMeta.$serializers$ = Cstr.serializers;
3171
3211
  }
3172
3212
  }
3173
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
3213
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
3174
3214
  members.map(([memberName, [memberFlags]]) => {
3175
3215
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
3176
- const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
3216
+ const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
3177
3217
  if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
3178
3218
  if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
3179
3219
  if (!origGetter) {
@@ -3248,7 +3288,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
3248
3288
  }
3249
3289
  if (!Cstr.isProxied) {
3250
3290
  {
3251
- cmpMeta.$watchers$ = Cstr.watchers;
3291
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
3252
3292
  cmpMeta.$serializers$ = Cstr.serializers;
3253
3293
  cmpMeta.$deserializers$ = Cstr.deserializers;
3254
3294
  }
@@ -3414,11 +3454,11 @@ var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) =>
3414
3454
  }
3415
3455
  };
3416
3456
  var hostListenerProxy = (hostRef, methodName) => (ev) => {
3417
- var _a;
3457
+ var _a2;
3418
3458
  try {
3419
3459
  {
3420
3460
  if (hostRef.$flags$ & 256 /* isListenReady */) {
3421
- (_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);
3461
+ (_a2 = hostRef.$lazyInstance$) == null ? void 0 : _a2[methodName](ev);
3422
3462
  } else {
3423
3463
  (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
3424
3464
  }
@@ -3452,7 +3492,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3452
3492
  const orgLocationNodes = [];
3453
3493
  parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);
3454
3494
  orgLocationNodes.forEach((orgLocationNode) => {
3455
- var _a;
3495
+ var _a2;
3456
3496
  if (orgLocationNode != null && orgLocationNode["s-nr"]) {
3457
3497
  const nodeRef = orgLocationNode["s-nr"];
3458
3498
  let hostId = nodeRef["s-host-id"];
@@ -3470,7 +3510,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3470
3510
  }
3471
3511
  } else if (nodeRef.nodeType === 3 /* TextNode */) {
3472
3512
  if (hostId === 0) {
3473
- const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();
3513
+ const textContent = (_a2 = nodeRef.nodeValue) == null ? void 0 : _a2.trim();
3474
3514
  if (textContent === "") {
3475
3515
  orgLocationNode.remove();
3476
3516
  return;
@@ -3500,7 +3540,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3500
3540
  }
3501
3541
  };
3502
3542
  var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3503
- var _a;
3543
+ var _a2;
3504
3544
  if (node == null) {
3505
3545
  return;
3506
3546
  }
@@ -3508,7 +3548,7 @@ var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3508
3548
  orgLocationNodes.push(node);
3509
3549
  }
3510
3550
  if (node.nodeType === 1 /* ElementNode */) {
3511
- const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a = node.shadowRoot) == null ? void 0 : _a.childNodes) || [])];
3551
+ const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a2 = node.shadowRoot) == null ? void 0 : _a2.childNodes) || [])];
3512
3552
  childNodes.forEach((childNode) => {
3513
3553
  const hostRef = getHostRef(childNode);
3514
3554
  if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {
@@ -3734,8 +3774,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
3734
3774
  };
3735
3775
 
3736
3776
  // node_modules/minimatch/dist/esm/ast.js
3777
+ var _a;
3737
3778
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
3738
3779
  var isExtglobType = (c) => types.has(c);
3780
+ var isExtglobAST = (c) => isExtglobType(c.type);
3781
+ var adoptionMap = /* @__PURE__ */ new Map([
3782
+ ["!", ["@"]],
3783
+ ["?", ["?", "@"]],
3784
+ ["@", ["@"]],
3785
+ ["*", ["*", "+", "?", "@"]],
3786
+ ["+", ["+", "@"]]
3787
+ ]);
3788
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
3789
+ ["!", ["?"]],
3790
+ ["@", ["?"]],
3791
+ ["+", ["?", "*"]]
3792
+ ]);
3793
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
3794
+ ["!", ["?", "@"]],
3795
+ ["?", ["?", "@"]],
3796
+ ["@", ["?", "@"]],
3797
+ ["*", ["*", "+", "?", "@"]],
3798
+ ["+", ["+", "@", "?", "*"]]
3799
+ ]);
3800
+ var usurpMap = /* @__PURE__ */ new Map([
3801
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
3802
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
3803
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
3804
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
3805
+ ]);
3739
3806
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
3740
3807
  var startNoDot = "(?!\\.)";
3741
3808
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -3745,8 +3812,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
3745
3812
  var qmark = "[^/]";
3746
3813
  var star = qmark + "*?";
3747
3814
  var starNoEmpty = qmark + "+?";
3748
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
3749
- var _AST = class _AST {
3815
+ 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;
3816
+ var AST = class {
3750
3817
  constructor(type, parent, options = {}) {
3751
3818
  __privateAdd(this, _AST_instances);
3752
3819
  __publicField(this, "type");
@@ -3799,44 +3866,44 @@ var _AST = class _AST {
3799
3866
  for (const p of parts) {
3800
3867
  if (p === "")
3801
3868
  continue;
3802
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
3869
+ if (typeof p !== "string" && !(p instanceof _a && __privateGet(p, _parent) === this)) {
3803
3870
  throw new Error("invalid part: " + p);
3804
3871
  }
3805
3872
  __privateGet(this, _parts).push(p);
3806
3873
  }
3807
3874
  }
3808
3875
  toJSON() {
3809
- var _a;
3876
+ var _a2;
3810
3877
  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())];
3811
3878
  if (this.isStart() && !this.type)
3812
3879
  ret.unshift([]);
3813
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")) {
3880
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
3814
3881
  ret.push({});
3815
3882
  }
3816
3883
  return ret;
3817
3884
  }
3818
3885
  isStart() {
3819
- var _a;
3886
+ var _a2;
3820
3887
  if (__privateGet(this, _root) === this)
3821
3888
  return true;
3822
- if (!((_a = __privateGet(this, _parent)) == null ? void 0 : _a.isStart()))
3889
+ if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
3823
3890
  return false;
3824
3891
  if (__privateGet(this, _parentIndex) === 0)
3825
3892
  return true;
3826
3893
  const p = __privateGet(this, _parent);
3827
3894
  for (let i2 = 0; i2 < __privateGet(this, _parentIndex); i2++) {
3828
3895
  const pp = __privateGet(p, _parts)[i2];
3829
- if (!(pp instanceof _AST && pp.type === "!")) {
3896
+ if (!(pp instanceof _a && pp.type === "!")) {
3830
3897
  return false;
3831
3898
  }
3832
3899
  }
3833
3900
  return true;
3834
3901
  }
3835
3902
  isEnd() {
3836
- var _a, _b, _c;
3903
+ var _a2, _b, _c;
3837
3904
  if (__privateGet(this, _root) === this)
3838
3905
  return true;
3839
- if (((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")
3906
+ if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
3840
3907
  return true;
3841
3908
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
3842
3909
  return false;
@@ -3852,16 +3919,16 @@ var _AST = class _AST {
3852
3919
  this.push(part.clone(this));
3853
3920
  }
3854
3921
  clone(parent) {
3855
- const c = new _AST(this.type, parent);
3922
+ const c = new _a(this.type, parent);
3856
3923
  for (const p of __privateGet(this, _parts)) {
3857
3924
  c.copyIn(p);
3858
3925
  }
3859
3926
  return c;
3860
3927
  }
3861
3928
  static fromGlob(pattern, options = {}) {
3862
- var _a;
3863
- const ast = new _AST(null, void 0, options);
3864
- __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, pattern, ast, 0, options);
3929
+ var _a2;
3930
+ const ast = new _a(null, void 0, options);
3931
+ __privateMethod(_a2 = _a, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options, 0);
3865
3932
  return ast;
3866
3933
  }
3867
3934
  // returns the regular expression if there's magic, or the unescaped
@@ -3954,15 +4021,17 @@ var _AST = class _AST {
3954
4021
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
3955
4022
  // or start or whatever) and prepend ^ or / at the Regexp construction.
3956
4023
  toRegExpSource(allowDot) {
3957
- var _a;
4024
+ var _a2;
3958
4025
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
3959
- if (__privateGet(this, _root) === this)
4026
+ if (__privateGet(this, _root) === this) {
4027
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
3960
4028
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
3961
- if (!this.type) {
4029
+ }
4030
+ if (!isExtglobAST(this)) {
3962
4031
  const noEmpty = this.isStart() && this.isEnd();
3963
4032
  const src = __privateGet(this, _parts).map((p) => {
3964
- var _a2;
3965
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a2 = _AST, _AST_static, parseGlob_fn).call(_a2, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
4033
+ var _a3;
4034
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _a, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
3966
4035
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
3967
4036
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
3968
4037
  return re;
@@ -3985,7 +4054,7 @@ var _AST = class _AST {
3985
4054
  }
3986
4055
  }
3987
4056
  let end = "";
3988
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!") {
4057
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
3989
4058
  end = "(?:$|\\/)";
3990
4059
  }
3991
4060
  const final2 = start2 + src + end;
@@ -4001,12 +4070,13 @@ var _AST = class _AST {
4001
4070
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
4002
4071
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
4003
4072
  const s = this.toString();
4004
- __privateSet(this, _parts, [s]);
4005
- this.type = null;
4006
- __privateSet(this, _hasMagic, void 0);
4073
+ const me = this;
4074
+ __privateSet(me, _parts, [s]);
4075
+ me.type = null;
4076
+ __privateSet(me, _hasMagic, void 0);
4007
4077
  return [s, unescape(this.toString()), false, false];
4008
4078
  }
4009
- let bodyDotAllowed = !repeated || allowDot || dot || false ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
4079
+ let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
4010
4080
  if (bodyDotAllowed === body) {
4011
4081
  bodyDotAllowed = "";
4012
4082
  }
@@ -4072,8 +4142,9 @@ fillNegs_fn = function() {
4072
4142
  return this;
4073
4143
  };
4074
4144
  _AST_static = new WeakSet();
4075
- parseAST_fn = function(str, ast, pos, opt) {
4076
- var _a, _b;
4145
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
4146
+ var _a2, _b, _c, _d, _e;
4147
+ const maxDepth = (_a2 = opt.maxExtglobRecursion) != null ? _a2 : 2;
4077
4148
  let escaping = false;
4078
4149
  let inBrace = false;
4079
4150
  let braceStart = -1;
@@ -4105,11 +4176,12 @@ parseAST_fn = function(str, ast, pos, opt) {
4105
4176
  acc2 += c;
4106
4177
  continue;
4107
4178
  }
4108
- if (!opt.noext && isExtglobType(c) && str.charAt(i3) === "(") {
4179
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i3) === "(" && extDepth <= maxDepth;
4180
+ if (doRecurse) {
4109
4181
  ast.push(acc2);
4110
4182
  acc2 = "";
4111
- const ext2 = new _AST(c, ast);
4112
- i3 = __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, str, ext2, i3, opt);
4183
+ const ext2 = new _a(c, ast);
4184
+ i3 = __privateMethod(_b = _a, _AST_static, parseAST_fn).call(_b, str, ext2, i3, opt, extDepth + 1);
4113
4185
  ast.push(ext2);
4114
4186
  continue;
4115
4187
  }
@@ -4119,7 +4191,7 @@ parseAST_fn = function(str, ast, pos, opt) {
4119
4191
  return i3;
4120
4192
  }
4121
4193
  let i2 = pos + 1;
4122
- let part = new _AST(null, ast);
4194
+ let part = new _a(null, ast);
4123
4195
  const parts = [];
4124
4196
  let acc = "";
4125
4197
  while (i2 < str.length) {
@@ -4146,19 +4218,22 @@ parseAST_fn = function(str, ast, pos, opt) {
4146
4218
  acc += c;
4147
4219
  continue;
4148
4220
  }
4149
- if (isExtglobType(c) && str.charAt(i2) === "(") {
4221
+ const doRecurse = isExtglobType(c) && str.charAt(i2) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
4222
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
4223
+ if (doRecurse) {
4224
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
4150
4225
  part.push(acc);
4151
4226
  acc = "";
4152
- const ext2 = new _AST(c, part);
4227
+ const ext2 = new _a(c, part);
4153
4228
  part.push(ext2);
4154
- i2 = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt);
4229
+ i2 = __privateMethod(_e = _a, _AST_static, parseAST_fn).call(_e, str, ext2, i2, opt, extDepth + depthAdd);
4155
4230
  continue;
4156
4231
  }
4157
4232
  if (c === "|") {
4158
4233
  part.push(acc);
4159
4234
  acc = "";
4160
4235
  parts.push(part);
4161
- part = new _AST(null, ast);
4236
+ part = new _a(null, ast);
4162
4237
  continue;
4163
4238
  }
4164
4239
  if (c === ")") {
@@ -4177,6 +4252,100 @@ parseAST_fn = function(str, ast, pos, opt) {
4177
4252
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
4178
4253
  return i2;
4179
4254
  };
4255
+ canAdoptWithSpace_fn = function(child) {
4256
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
4257
+ };
4258
+ canAdopt_fn = function(child, map2 = adoptionMap) {
4259
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
4260
+ return false;
4261
+ }
4262
+ const gc = __privateGet(child, _parts)[0];
4263
+ if (!gc || typeof gc !== "object" || gc.type === null) {
4264
+ return false;
4265
+ }
4266
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
4267
+ };
4268
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
4269
+ var _a2;
4270
+ return !!((_a2 = map2.get(this.type)) == null ? void 0 : _a2.includes(c));
4271
+ };
4272
+ adoptWithSpace_fn = function(child, index) {
4273
+ const gc = __privateGet(child, _parts)[0];
4274
+ const blank = new _a(null, gc, this.options);
4275
+ __privateGet(blank, _parts).push("");
4276
+ gc.push(blank);
4277
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
4278
+ };
4279
+ adopt_fn = function(child, index) {
4280
+ const gc = __privateGet(child, _parts)[0];
4281
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
4282
+ for (const p of __privateGet(gc, _parts)) {
4283
+ if (typeof p === "object")
4284
+ __privateSet(p, _parent, this);
4285
+ }
4286
+ __privateSet(this, _toString, void 0);
4287
+ };
4288
+ canUsurpType_fn = function(c) {
4289
+ const m = usurpMap.get(this.type);
4290
+ return !!(m == null ? void 0 : m.has(c));
4291
+ };
4292
+ canUsurp_fn = function(child) {
4293
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
4294
+ return false;
4295
+ }
4296
+ const gc = __privateGet(child, _parts)[0];
4297
+ if (!gc || typeof gc !== "object" || gc.type === null) {
4298
+ return false;
4299
+ }
4300
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
4301
+ };
4302
+ usurp_fn = function(child) {
4303
+ const m = usurpMap.get(this.type);
4304
+ const gc = __privateGet(child, _parts)[0];
4305
+ const nt = m == null ? void 0 : m.get(gc.type);
4306
+ if (!nt)
4307
+ return false;
4308
+ __privateSet(this, _parts, __privateGet(gc, _parts));
4309
+ for (const p of __privateGet(this, _parts)) {
4310
+ if (typeof p === "object")
4311
+ __privateSet(p, _parent, this);
4312
+ }
4313
+ this.type = nt;
4314
+ __privateSet(this, _toString, void 0);
4315
+ __privateSet(this, _emptyExt, false);
4316
+ };
4317
+ flatten_fn = function() {
4318
+ var _a2, _b;
4319
+ if (!isExtglobAST(this)) {
4320
+ for (const p of __privateGet(this, _parts)) {
4321
+ if (typeof p === "object")
4322
+ __privateMethod(_a2 = p, _AST_instances, flatten_fn).call(_a2);
4323
+ }
4324
+ } else {
4325
+ let iterations = 0;
4326
+ let done = false;
4327
+ do {
4328
+ done = true;
4329
+ for (let i2 = 0; i2 < __privateGet(this, _parts).length; i2++) {
4330
+ const c = __privateGet(this, _parts)[i2];
4331
+ if (typeof c === "object") {
4332
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
4333
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
4334
+ done = false;
4335
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i2);
4336
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
4337
+ done = false;
4338
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i2);
4339
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
4340
+ done = false;
4341
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
4342
+ }
4343
+ }
4344
+ }
4345
+ } while (!done && ++iterations < 10);
4346
+ }
4347
+ __privateSet(this, _toString, void 0);
4348
+ };
4180
4349
  partsToRegExp_fn = function(dot) {
4181
4350
  return __privateGet(this, _parts).map((p) => {
4182
4351
  if (typeof p === "string") {
@@ -4191,11 +4360,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4191
4360
  let escaping = false;
4192
4361
  let re = "";
4193
4362
  let uflag = false;
4363
+ let inStar = false;
4194
4364
  for (let i2 = 0; i2 < glob.length; i2++) {
4195
4365
  const c = glob.charAt(i2);
4196
4366
  if (escaping) {
4197
4367
  escaping = false;
4198
4368
  re += (reSpecials.has(c) ? "\\" : "") + c;
4369
+ inStar = false;
4199
4370
  continue;
4200
4371
  }
4201
4372
  if (c === "\\") {
@@ -4213,16 +4384,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4213
4384
  uflag = uflag || needUflag;
4214
4385
  i2 += consumed - 1;
4215
4386
  hasMagic = hasMagic || magic;
4387
+ inStar = false;
4216
4388
  continue;
4217
4389
  }
4218
4390
  }
4219
4391
  if (c === "*") {
4220
- if (noEmpty && glob === "*")
4221
- re += starNoEmpty;
4222
- else
4223
- re += star;
4392
+ if (inStar)
4393
+ continue;
4394
+ inStar = true;
4395
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
4224
4396
  hasMagic = true;
4225
4397
  continue;
4398
+ } else {
4399
+ inStar = false;
4226
4400
  }
4227
4401
  if (c === "?") {
4228
4402
  re += qmark;
@@ -4233,8 +4407,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
4233
4407
  }
4234
4408
  return [re, unescape(glob), !!hasMagic, uflag];
4235
4409
  };
4236
- __privateAdd(_AST, _AST_static);
4237
- var AST = _AST;
4410
+ __privateAdd(AST, _AST_static);
4411
+ _a = AST;
4238
4412
 
4239
4413
  // node_modules/minimatch/dist/esm/escape.js
4240
4414
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -4373,28 +4547,33 @@ var match = (list, pattern, options = {}) => {
4373
4547
  minimatch.match = match;
4374
4548
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
4375
4549
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
4550
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
4376
4551
  var Minimatch = class {
4377
- options;
4378
- set;
4379
- pattern;
4380
- windowsPathsNoEscape;
4381
- nonegate;
4382
- negate;
4383
- comment;
4384
- empty;
4385
- preserveMultipleSlashes;
4386
- partial;
4387
- globSet;
4388
- globParts;
4389
- nocase;
4390
- isWindows;
4391
- platform;
4392
- windowsNoMagicRoot;
4393
- regexp;
4394
4552
  constructor(pattern, options = {}) {
4553
+ __privateAdd(this, _Minimatch_instances);
4554
+ __publicField(this, "options");
4555
+ __publicField(this, "set");
4556
+ __publicField(this, "pattern");
4557
+ __publicField(this, "windowsPathsNoEscape");
4558
+ __publicField(this, "nonegate");
4559
+ __publicField(this, "negate");
4560
+ __publicField(this, "comment");
4561
+ __publicField(this, "empty");
4562
+ __publicField(this, "preserveMultipleSlashes");
4563
+ __publicField(this, "partial");
4564
+ __publicField(this, "globSet");
4565
+ __publicField(this, "globParts");
4566
+ __publicField(this, "nocase");
4567
+ __publicField(this, "isWindows");
4568
+ __publicField(this, "platform");
4569
+ __publicField(this, "windowsNoMagicRoot");
4570
+ __publicField(this, "maxGlobstarRecursion");
4571
+ __publicField(this, "regexp");
4572
+ var _a2;
4395
4573
  assertValidPattern(pattern);
4396
4574
  options = options || {};
4397
4575
  this.options = options;
4576
+ this.maxGlobstarRecursion = (_a2 = options.maxGlobstarRecursion) != null ? _a2 : 200;
4398
4577
  this.pattern = pattern;
4399
4578
  this.platform = options.platform || defaultPlatform;
4400
4579
  this.isWindows = this.platform === "win32";
@@ -4662,10 +4841,11 @@ var Minimatch = class {
4662
4841
  for (let i2 = 0; i2 < globParts.length - 1; i2++) {
4663
4842
  for (let j = i2 + 1; j < globParts.length; j++) {
4664
4843
  const matched = this.partsMatch(globParts[i2], globParts[j], !this.preserveMultipleSlashes);
4665
- if (!matched)
4666
- continue;
4667
- globParts[i2] = matched;
4668
- globParts[j] = [];
4844
+ if (matched) {
4845
+ globParts[i2] = [];
4846
+ globParts[j] = matched;
4847
+ break;
4848
+ }
4669
4849
  }
4670
4850
  }
4671
4851
  return globParts.filter((gs) => gs.length);
@@ -4726,7 +4906,8 @@ var Minimatch = class {
4726
4906
  // out of pattern, then that's fine, as long as all
4727
4907
  // the parts match.
4728
4908
  matchOne(file, pattern, partial = false) {
4729
- const options = this.options;
4909
+ let fileStartIndex = 0;
4910
+ let patternStartIndex = 0;
4730
4911
  if (this.isWindows) {
4731
4912
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
4732
4913
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -4735,14 +4916,14 @@ var Minimatch = class {
4735
4916
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
4736
4917
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
4737
4918
  if (typeof fdi === "number" && typeof pdi === "number") {
4738
- const [fd, pd] = [file[fdi], pattern[pdi]];
4919
+ const [fd, pd] = [
4920
+ file[fdi],
4921
+ pattern[pdi]
4922
+ ];
4739
4923
  if (fd.toLowerCase() === pd.toLowerCase()) {
4740
4924
  pattern[pdi] = fd;
4741
- if (pdi > fdi) {
4742
- pattern = pattern.slice(pdi);
4743
- } else if (fdi > pdi) {
4744
- file = file.slice(fdi);
4745
- }
4925
+ patternStartIndex = pdi;
4926
+ fileStartIndex = fdi;
4746
4927
  }
4747
4928
  }
4748
4929
  }
@@ -4750,71 +4931,10 @@ var Minimatch = class {
4750
4931
  if (optimizationLevel >= 2) {
4751
4932
  file = this.levelTwoFileOptimize(file);
4752
4933
  }
4753
- this.debug("matchOne", this, { file, pattern });
4754
- this.debug("matchOne", file.length, pattern.length);
4755
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
4756
- this.debug("matchOne loop");
4757
- var p = pattern[pi];
4758
- var f = file[fi];
4759
- this.debug(pattern, p, f);
4760
- if (p === false) {
4761
- return false;
4762
- }
4763
- if (p === GLOBSTAR) {
4764
- this.debug("GLOBSTAR", [pattern, p, f]);
4765
- var fr = fi;
4766
- var pr = pi + 1;
4767
- if (pr === pl) {
4768
- this.debug("** at the end");
4769
- for (; fi < fl; fi++) {
4770
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
4771
- return false;
4772
- }
4773
- return true;
4774
- }
4775
- while (fr < fl) {
4776
- var swallowee = file[fr];
4777
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
4778
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
4779
- this.debug("globstar found match!", fr, fl, swallowee);
4780
- return true;
4781
- } else {
4782
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
4783
- this.debug("dot detected!", file, fr, pattern, pr);
4784
- break;
4785
- }
4786
- this.debug("globstar swallow a segment, and continue");
4787
- fr++;
4788
- }
4789
- }
4790
- if (partial) {
4791
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
4792
- if (fr === fl) {
4793
- return true;
4794
- }
4795
- }
4796
- return false;
4797
- }
4798
- let hit;
4799
- if (typeof p === "string") {
4800
- hit = f === p;
4801
- this.debug("string match", p, f, hit);
4802
- } else {
4803
- hit = p.test(f);
4804
- this.debug("pattern match", p, f, hit);
4805
- }
4806
- if (!hit)
4807
- return false;
4808
- }
4809
- if (fi === fl && pi === pl) {
4810
- return true;
4811
- } else if (fi === fl) {
4812
- return partial;
4813
- } else if (pi === pl) {
4814
- return fi === fl - 1 && file[fi] === "";
4815
- } else {
4816
- throw new Error("wtf?");
4934
+ if (pattern.includes(GLOBSTAR)) {
4935
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4817
4936
  }
4937
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4818
4938
  }
4819
4939
  braceExpand() {
4820
4940
  return braceExpand(this.pattern, this.options);
@@ -4953,6 +5073,135 @@ var Minimatch = class {
4953
5073
  return minimatch.defaults(def).Minimatch;
4954
5074
  }
4955
5075
  };
5076
+ _Minimatch_instances = new WeakSet();
5077
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
5078
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
5079
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
5080
+ const [head, body, tail] = partial ? [
5081
+ pattern.slice(patternIndex, firstgs),
5082
+ pattern.slice(firstgs + 1),
5083
+ []
5084
+ ] : [
5085
+ pattern.slice(patternIndex, firstgs),
5086
+ pattern.slice(firstgs + 1, lastgs),
5087
+ pattern.slice(lastgs + 1)
5088
+ ];
5089
+ if (head.length) {
5090
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
5091
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
5092
+ return false;
5093
+ fileIndex += head.length;
5094
+ }
5095
+ let fileTailMatch = 0;
5096
+ if (tail.length) {
5097
+ if (tail.length + fileIndex > file.length)
5098
+ return false;
5099
+ let tailStart = file.length - tail.length;
5100
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
5101
+ fileTailMatch = tail.length;
5102
+ } else {
5103
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
5104
+ return false;
5105
+ }
5106
+ tailStart--;
5107
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
5108
+ return false;
5109
+ fileTailMatch = tail.length + 1;
5110
+ }
5111
+ }
5112
+ if (!body.length) {
5113
+ let sawSome = !!fileTailMatch;
5114
+ for (let i3 = fileIndex; i3 < file.length - fileTailMatch; i3++) {
5115
+ const f = String(file[i3]);
5116
+ sawSome = true;
5117
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5118
+ return false;
5119
+ }
5120
+ }
5121
+ return partial || sawSome;
5122
+ }
5123
+ const bodySegments = [[[], 0]];
5124
+ let currentBody = bodySegments[0];
5125
+ let nonGsParts = 0;
5126
+ const nonGsPartsSums = [0];
5127
+ for (const b of body) {
5128
+ if (b === GLOBSTAR) {
5129
+ nonGsPartsSums.push(nonGsParts);
5130
+ currentBody = [[], 0];
5131
+ bodySegments.push(currentBody);
5132
+ } else {
5133
+ currentBody[0].push(b);
5134
+ nonGsParts++;
5135
+ }
5136
+ }
5137
+ let i2 = bodySegments.length - 1;
5138
+ const fileLength = file.length - fileTailMatch;
5139
+ for (const b of bodySegments) {
5140
+ b[1] = fileLength - (nonGsPartsSums[i2--] + b[0].length);
5141
+ }
5142
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
5143
+ };
5144
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
5145
+ const bs = bodySegments[bodyIndex];
5146
+ if (!bs) {
5147
+ for (let i2 = fileIndex; i2 < file.length; i2++) {
5148
+ sawTail = true;
5149
+ const f = file[i2];
5150
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5151
+ return false;
5152
+ }
5153
+ }
5154
+ return sawTail;
5155
+ }
5156
+ const [body, after] = bs;
5157
+ while (fileIndex <= after) {
5158
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
5159
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
5160
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
5161
+ if (sub !== false)
5162
+ return sub;
5163
+ }
5164
+ const f = file[fileIndex];
5165
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
5166
+ return false;
5167
+ }
5168
+ fileIndex++;
5169
+ }
5170
+ return partial || null;
5171
+ };
5172
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
5173
+ let fi;
5174
+ let pi;
5175
+ let pl;
5176
+ let fl;
5177
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
5178
+ this.debug("matchOne loop");
5179
+ let p = pattern[pi];
5180
+ let f = file[fi];
5181
+ this.debug(pattern, p, f);
5182
+ if (p === false || p === GLOBSTAR)
5183
+ return false;
5184
+ let hit;
5185
+ if (typeof p === "string") {
5186
+ hit = f === p;
5187
+ this.debug("string match", p, f, hit);
5188
+ } else {
5189
+ hit = p.test(f);
5190
+ this.debug("pattern match", p, f, hit);
5191
+ }
5192
+ if (!hit)
5193
+ return false;
5194
+ }
5195
+ if (fi === fl && pi === pl) {
5196
+ return true;
5197
+ } else if (fi === fl) {
5198
+ return partial;
5199
+ } else if (pi === pl) {
5200
+ return fi === fl - 1 && file[fi] === "";
5201
+ } else {
5202
+ throw new Error("wtf?");
5203
+ }
5204
+ };
4956
5205
  minimatch.AST = AST;
4957
5206
  minimatch.Minimatch = Minimatch;
4958
5207
  minimatch.escape = escape;
@@ -5026,7 +5275,7 @@ function proxyHostElement(elm, cstr) {
5026
5275
  const hostRef = getHostRef(elm);
5027
5276
  const members = Object.entries(cmpMeta.$members$);
5028
5277
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
5029
- var _a, _b;
5278
+ var _a2, _b;
5030
5279
  if (memberFlags & 31 /* Prop */) {
5031
5280
  const attributeName = metaAttributeName || memberName;
5032
5281
  const attrValue = elm.getAttribute(attributeName);
@@ -5034,7 +5283,7 @@ function proxyHostElement(elm, cstr) {
5034
5283
  let attrPropVal;
5035
5284
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
5036
5285
  if (attrValue != null) {
5037
- if ((_a = cmpMeta.$deserializers$) == null ? void 0 : _a[memberName]) {
5286
+ if ((_a2 = cmpMeta.$deserializers$) == null ? void 0 : _a2[memberName]) {
5038
5287
  for (const deserializer of cmpMeta.$deserializers$[memberName]) {
5039
5288
  const [[methodName]] = Object.entries(deserializer);
5040
5289
  attrPropVal = cstr.prototype[methodName](attrValue, memberName);
@@ -5067,8 +5316,8 @@ function proxyHostElement(elm, cstr) {
5067
5316
  Object.defineProperty(elm, memberName, getterSetterDescriptor);
5068
5317
  Object.defineProperty(elm, metaAttributeName, getterSetterDescriptor);
5069
5318
  hostRef.$fetchedCbList$.push(() => {
5070
- var _a2;
5071
- if (!((_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.has(memberName))) {
5319
+ var _a3;
5320
+ if (!((_a3 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a3.has(memberName))) {
5072
5321
  setValue(
5073
5322
  elm,
5074
5323
  memberName,
@@ -5081,11 +5330,11 @@ function proxyHostElement(elm, cstr) {
5081
5330
  } else if (memberFlags & 64 /* Method */) {
5082
5331
  Object.defineProperty(elm, memberName, {
5083
5332
  value(...args) {
5084
- var _a2;
5333
+ var _a3;
5085
5334
  const ref = getHostRef(this);
5086
- return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {
5087
- var _a3;
5088
- return (_a3 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);
5335
+ return (_a3 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a3.then(() => {
5336
+ var _a4;
5337
+ return (_a4 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a4[memberName](...args);
5089
5338
  }).catch((e) => {
5090
5339
  consoleError(e, this);
5091
5340
  });
@@ -5096,8 +5345,8 @@ function proxyHostElement(elm, cstr) {
5096
5345
  }
5097
5346
  }
5098
5347
  function componentOnReady$1() {
5099
- var _a;
5100
- return (_a = getHostRef(this)) == null ? void 0 : _a.$onReadyPromise$;
5348
+ var _a2;
5349
+ return (_a2 = getHostRef(this)) == null ? void 0 : _a2.$onReadyPromise$;
5101
5350
  }
5102
5351
  function forceUpdate2() {
5103
5352
  }
@@ -26410,20 +26659,20 @@ class Modal {
26410
26659
  const isCardModal = presentingElement !== undefined && mode === 'ios';
26411
26660
  const isHandleCycle = handleBehavior === 'cycle';
26412
26661
  const isSheetModalWithHandle = isSheetModal && showHandle;
26413
- return (hAsync(Host, Object.assign({ key: 'd6a271ace939c33703966a1425ab32b7a30bf246', "no-router": true,
26662
+ return (hAsync(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
26414
26663
  // Allow the modal to be navigable when the handle is focusable
26415
26664
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
26416
26665
  zIndex: `${20000 + this.overlayIndex}`,
26417
- }, 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',
26666
+ }, 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',
26418
26667
  /*
26419
26668
  role and aria-modal must be used on the
26420
26669
  same element. They must also be set inside the
26421
26670
  shadow DOM otherwise ion-button will not be highlighted
26422
26671
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
26423
26672
  */
26424
- 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",
26673
+ 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",
26425
26674
  // Prevents the handle from receiving keyboard focus when it does not cycle
26426
- 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 }))));
26675
+ 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 }))));
26427
26676
  }
26428
26677
  get el() { return getElement(this); }
26429
26678
  static get watchers() { return {
@@ -26432,6 +26681,9 @@ class Modal {
26432
26681
  }],
26433
26682
  "trigger": [{
26434
26683
  "triggerChanged": 0
26684
+ }],
26685
+ "breakpoints": [{
26686
+ "breakpointsChanged": 0
26435
26687
  }]
26436
26688
  }; }
26437
26689
  static get style() { return {
@@ -29163,7 +29415,7 @@ class PickerColumnCmp {
29163
29415
  this.emitColChange();
29164
29416
  return;
29165
29417
  }
29166
- this.velocity = clamp(-90, detail.velocityY * 23, MAX_PICKER_SPEED);
29418
+ this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
29167
29419
  if (this.velocity === 0 && detail.deltaY === 0) {
29168
29420
  const opt = detail.event.target.closest('.picker-opt');
29169
29421
  if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
@@ -29258,7 +29510,7 @@ const TRANSITION_DURATION = 150;
29258
29510
 
29259
29511
  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}`;
29260
29512
 
29261
- 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)}`;
29513
+ 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)}`;
29262
29514
 
29263
29515
  class PickerColumnOption {
29264
29516
  constructor(hostRef) {
@@ -33936,7 +34188,7 @@ class ReorderGroup {
33936
34188
  }
33937
34189
  let amount = 0;
33938
34190
  if (posY < this.scrollElTop) {
33939
- amount = -10;
34191
+ amount = -SCROLL_JUMP;
33940
34192
  }
33941
34193
  else if (posY > this.scrollElBottom) {
33942
34194
  amount = SCROLL_JUMP;
@@ -34198,7 +34450,7 @@ const generatePath = (segments) => {
34198
34450
  const path = segments.filter((s) => s.length > 0).join('/');
34199
34451
  return '/' + path;
34200
34452
  };
34201
- const generateUrl = (segments, useHash, queryString) => {
34453
+ const generateUrl = (segments, useHash, queryString, fragment) => {
34202
34454
  let url = generatePath(segments);
34203
34455
  if (useHash) {
34204
34456
  url = '#' + url;
@@ -34206,10 +34458,13 @@ const generateUrl = (segments, useHash, queryString) => {
34206
34458
  if (queryString !== undefined) {
34207
34459
  url += '?' + queryString;
34208
34460
  }
34461
+ if (fragment !== undefined) {
34462
+ url += '#' + fragment;
34463
+ }
34209
34464
  return url;
34210
34465
  };
34211
- const writeSegments = (history, root, useHash, segments, direction, state, queryString) => {
34212
- const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString);
34466
+ const writeSegments = (history, root, useHash, segments, direction, state, queryString, fragment) => {
34467
+ const url = generateUrl([...parsePath(root).segments, ...segments], useHash, queryString, fragment);
34213
34468
  if (direction === ROUTER_INTENT_FORWARD) {
34214
34469
  history.pushState(state, '', url);
34215
34470
  }
@@ -34276,12 +34531,21 @@ const readSegments = (loc, root, useHash) => {
34276
34531
  /**
34277
34532
  * Parses the path to:
34278
34533
  * - segments an array of '/' separated parts,
34279
- * - queryString (undefined when no query string).
34534
+ * - queryString (undefined when no query string),
34535
+ * - fragment (undefined when no `#`).
34280
34536
  */
34281
34537
  const parsePath = (path) => {
34282
34538
  let segments = [''];
34283
34539
  let queryString;
34540
+ let fragment;
34284
34541
  if (path != null) {
34542
+ // The fragment ("#") starts a section that runs to the end of the URL.
34543
+ // Anything inside it (including "?") is part of the fragment per RFC 3986.
34544
+ const fragStart = path.indexOf('#');
34545
+ if (fragStart > -1) {
34546
+ fragment = path.substring(fragStart + 1);
34547
+ path = path.substring(0, fragStart);
34548
+ }
34285
34549
  const qsStart = path.indexOf('?');
34286
34550
  if (qsStart > -1) {
34287
34551
  queryString = path.substring(qsStart + 1);
@@ -34295,7 +34559,7 @@ const parsePath = (path) => {
34295
34559
  segments = [''];
34296
34560
  }
34297
34561
  }
34298
- return { segments, queryString };
34562
+ return { segments, queryString, fragment };
34299
34563
  };
34300
34564
 
34301
34565
  const printRoutes = (routes) => {
@@ -34380,6 +34644,118 @@ const readNavState = async (root) => {
34380
34644
  }
34381
34645
  return { ids, outlet };
34382
34646
  };
34647
+ /** Max animation frames `scrollToFragment` polls while waiting for the target to mount. */
34648
+ const FRAGMENT_POLL_FRAMES = 30;
34649
+ /** Duration (ms) of the smooth-scroll animation that lands on the fragment target. */
34650
+ const FRAGMENT_SCROLL_DURATION = 300;
34651
+ const nextFrame = () => new Promise((resolve) => raf(() => resolve()));
34652
+ /**
34653
+ * Returns true when `el` lives inside an active `.ion-page`. `ion-page-hidden`
34654
+ * marks nav back-stack entries; `tab-hidden` marks inactive `ion-tab` elements.
34655
+ * Either class on the page's ancestor chain disqualifies it. When no `.ion-page`
34656
+ * exists in the document at all (non-router pages), the candidate is accepted
34657
+ * so plain anchors still work.
34658
+ */
34659
+ const isInActivePage = (el) => {
34660
+ const page = el.closest('.ion-page');
34661
+ if (page === null) {
34662
+ return document.querySelector('.ion-page') === null;
34663
+ }
34664
+ return page.closest('.ion-page-hidden, .tab-hidden') === null;
34665
+ };
34666
+ /**
34667
+ * Polls across animation frames for an element matching `fragment` that lives
34668
+ * in the active page. Scoping by "last `.ion-page:not(.ion-page-hidden)`" is
34669
+ * unreliable: inactive `ion-tab` siblings carry `.ion-page` (gated by
34670
+ * `.tab-hidden`, not `.ion-page-hidden`) and can be ordered after the leaf.
34671
+ * Instead, locate candidates globally and walk them from last to first,
34672
+ * accepting the deepest one whose `.ion-page` ancestor is not hidden. The
34673
+ * last-to-first order preserves leaf-most preference for nested outlets.
34674
+ */
34675
+ const findFragmentTarget = async (fragment, shouldContinue) => {
34676
+ // CSS.escape is unavailable on very old WebViews; the fallback path uses
34677
+ // `getElementById` and drops the legacy `<a name>` branch.
34678
+ const canEscape = typeof CSS !== 'undefined' && typeof CSS.escape === 'function';
34679
+ const escaped = canEscape ? CSS.escape(fragment) : null;
34680
+ for (let i = 0; i < FRAGMENT_POLL_FRAMES; i++) {
34681
+ if (!shouldContinue())
34682
+ return null;
34683
+ let candidates = [];
34684
+ if (escaped !== null) {
34685
+ try {
34686
+ candidates = [...document.querySelectorAll(`#${escaped}, a[name="${escaped}"]`)];
34687
+ }
34688
+ catch (_a) {
34689
+ candidates = [...document.querySelectorAll(`#${escaped}`)];
34690
+ }
34691
+ }
34692
+ else {
34693
+ const byId = document.getElementById(fragment);
34694
+ if (byId !== null)
34695
+ candidates = [byId];
34696
+ }
34697
+ for (let j = candidates.length - 1; j >= 0; j--) {
34698
+ if (isInActivePage(candidates[j])) {
34699
+ return candidates[j];
34700
+ }
34701
+ }
34702
+ await nextFrame();
34703
+ }
34704
+ return null;
34705
+ };
34706
+ /**
34707
+ * Scrolls to the element whose id matches `fragment`, falling back to a legacy
34708
+ * `<a name="...">` target. When the target lives inside an `ion-content`, the
34709
+ * scroll uses its smooth-animated scroll API; otherwise it falls back to
34710
+ * `Element.scrollIntoView`.
34711
+ *
34712
+ * `shouldContinue` lets callers cancel in-flight scrolls when a newer
34713
+ * navigation supersedes this one. It is checked between async steps.
34714
+ */
34715
+ const scrollToFragment = async (fragment, shouldContinue = () => true) => {
34716
+ if (fragment == null || fragment === '') {
34717
+ return false;
34718
+ }
34719
+ // URL fragments are percent-encoded but element ids are not; decode for
34720
+ // matching per the HTML spec's indicated-element resolution.
34721
+ let decoded;
34722
+ try {
34723
+ decoded = decodeURIComponent(fragment);
34724
+ }
34725
+ catch (_a) {
34726
+ decoded = fragment;
34727
+ }
34728
+ const target = await findFragmentTarget(decoded, shouldContinue);
34729
+ if (!target || !shouldContinue()) {
34730
+ return false;
34731
+ }
34732
+ // Best-effort scroll: swallow exceptions if the page tears down mid-animation.
34733
+ try {
34734
+ const contentHost = findClosestIonContent(target);
34735
+ if (contentHost && isIonContent(contentHost)) {
34736
+ const content = contentHost;
34737
+ const scrollEl = await getScrollElement(content);
34738
+ // Yield one frame so the newly mounted target's layout is stable
34739
+ // before we measure its rect.
34740
+ await nextFrame();
34741
+ if (!shouldContinue())
34742
+ return false;
34743
+ const targetRect = target.getBoundingClientRect();
34744
+ const scrollRect = scrollEl.getBoundingClientRect();
34745
+ const top = targetRect.top - scrollRect.top + scrollEl.scrollTop;
34746
+ // Preserve scrollLeft so RTL and horizontally-scrolling pages aren't reset.
34747
+ await content.scrollToPoint(scrollEl.scrollLeft, top, FRAGMENT_SCROLL_DURATION);
34748
+ }
34749
+ else {
34750
+ target.scrollIntoView({ behavior: 'smooth' });
34751
+ }
34752
+ return true;
34753
+ }
34754
+ catch (e) {
34755
+ printIonError('[ion-router] - Exception in scrollToFragment:', e);
34756
+ return false;
34757
+ }
34758
+ };
34383
34759
  const waitUntilNavNode = () => {
34384
34760
  if (searchNavNode(document.body)) {
34385
34761
  return Promise.resolve();
@@ -34721,6 +35097,7 @@ class Router {
34721
35097
  this.busy = false;
34722
35098
  this.state = 0;
34723
35099
  this.lastState = 0;
35100
+ this.fragmentScrollToken = 0;
34724
35101
  /**
34725
35102
  * The root path to use when matching URLs. By default, this is set to "/", but you can specify
34726
35103
  * an alternate prefix for all URL paths.
@@ -34749,12 +35126,17 @@ class Router {
34749
35126
  if (typeof canProceed === 'object') {
34750
35127
  const { redirect } = canProceed;
34751
35128
  const path = parsePath(redirect);
34752
- this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString);
34753
- await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
35129
+ this.setSegments(path.segments, ROUTER_INTENT_NONE, path.queryString, path.fragment);
35130
+ const result = await this.writeNavStateRoot(path.segments, ROUTER_INTENT_NONE);
35131
+ if (result) {
35132
+ this.maybeScrollToFragment();
35133
+ }
34754
35134
  }
35135
+ return;
34755
35136
  }
34756
- else {
34757
- await this.onRoutesChanged();
35137
+ const result = await this.onRoutesChanged();
35138
+ if (result) {
35139
+ this.maybeScrollToFragment();
34758
35140
  }
34759
35141
  }
34760
35142
  componentDidLoad() {
@@ -34773,7 +35155,11 @@ class Router {
34773
35155
  return false;
34774
35156
  }
34775
35157
  }
34776
- return this.writeNavStateRoot(segments, direction);
35158
+ const result = await this.writeNavStateRoot(segments, direction);
35159
+ if (result) {
35160
+ this.maybeScrollToFragment();
35161
+ }
35162
+ return result;
34777
35163
  }
34778
35164
  onBackButton(ev) {
34779
35165
  ev.detail.register(0, (processNextHandler) => {
@@ -34807,7 +35193,7 @@ class Router {
34807
35193
  const currentPath = (_a = this.previousPath) !== null && _a !== void 0 ? _a : '/';
34808
35194
  // Convert currentPath to an URL by pre-pending a protocol and a host to resolve the relative path.
34809
35195
  const url = new URL(path, `https://host/${currentPath}`);
34810
- path = url.pathname + url.search;
35196
+ path = url.pathname + url.search + url.hash;
34811
35197
  }
34812
35198
  let parsedPath = parsePath(path);
34813
35199
  const canProceed = await this.runGuards(parsedPath.segments);
@@ -34819,8 +35205,12 @@ class Router {
34819
35205
  return false;
34820
35206
  }
34821
35207
  }
34822
- this.setSegments(parsedPath.segments, direction, parsedPath.queryString);
34823
- return this.writeNavStateRoot(parsedPath.segments, direction, animation);
35208
+ this.setSegments(parsedPath.segments, direction, parsedPath.queryString, parsedPath.fragment);
35209
+ const result = await this.writeNavStateRoot(parsedPath.segments, direction, animation);
35210
+ if (result) {
35211
+ this.maybeScrollToFragment();
35212
+ }
35213
+ return result;
34824
35214
  }
34825
35215
  /** Go back to previous page in the window.history. */
34826
35216
  back() {
@@ -34850,7 +35240,12 @@ class Router {
34850
35240
  printIonWarning('[ion-router] - Router could not match path because some required param is missing.');
34851
35241
  return false;
34852
35242
  }
34853
- this.setSegments(segments, direction);
35243
+ // navChanged is an outlet-driven URL sync. Only keep the fragment when
35244
+ // the path is unchanged; on a real navigation it refers to an anchor on
35245
+ // the page being left and would be stale.
35246
+ const newPath = generatePath(segments);
35247
+ const fragment = newPath === this.previousPath ? this.getFragment() : undefined;
35248
+ this.setSegments(segments, direction, undefined, fragment);
34854
35249
  await this.safeWriteNavState(outlet, chain, ROUTER_INTENT_NONE, segments, null, ids.length);
34855
35250
  return true;
34856
35251
  }
@@ -34893,8 +35288,8 @@ class Router {
34893
35288
  const redirect = findRouteRedirect(segments, redirects);
34894
35289
  let redirectFrom = null;
34895
35290
  if (redirect) {
34896
- const { segments: toSegments, queryString } = redirect.to;
34897
- this.setSegments(toSegments, direction, queryString);
35291
+ const { segments: toSegments, queryString, fragment } = redirect.to;
35292
+ this.setSegments(toSegments, direction, queryString, fragment);
34898
35293
  redirectFrom = redirect.from;
34899
35294
  segments = toSegments;
34900
35295
  }
@@ -34974,13 +35369,35 @@ class Router {
34974
35369
  }
34975
35370
  return changed;
34976
35371
  }
34977
- setSegments(segments, direction, queryString) {
35372
+ setSegments(segments, direction, queryString, fragment) {
34978
35373
  this.state++;
34979
- writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString);
35374
+ // Every URL write invalidates any in-flight fragment scroll: a newer nav
35375
+ // (with or without a fragment, successful or not) should always supersede.
35376
+ this.fragmentScrollToken++;
35377
+ writeSegments(window.history, this.root, this.useHash, segments, direction, this.state, queryString, fragment);
34980
35378
  }
34981
35379
  getSegments() {
34982
35380
  return readSegments(window.location, this.root, this.useHash);
34983
35381
  }
35382
+ getFragment() {
35383
+ // In hash mode the URL fragment trails a second `#` (e.g. `#/path#anchor`);
35384
+ // parse the routing portion to extract it.
35385
+ const raw = this.useHash ? parsePath(window.location.hash.slice(1)).fragment : window.location.hash.slice(1);
35386
+ return raw ? raw : undefined;
35387
+ }
35388
+ /**
35389
+ * Fires a best-effort scroll to the current URL fragment. The scroll bails
35390
+ * if a newer `setSegments` advances `fragmentScrollToken` mid-flight.
35391
+ */
35392
+ maybeScrollToFragment() {
35393
+ const fragment = this.getFragment();
35394
+ if (!fragment)
35395
+ return;
35396
+ const token = this.fragmentScrollToken;
35397
+ // Fire-and-forget; the returned promise resolves only after the scroll
35398
+ // animation completes, which the caller does not need to await.
35399
+ scrollToFragment(fragment, () => token === this.fragmentScrollToken).catch(() => { });
35400
+ }
34984
35401
  routeChangeEvent(toSegments, redirectFromSegments) {
34985
35402
  const from = this.previousPath;
34986
35403
  const to = generatePath(toSegments);
@@ -39430,7 +39847,7 @@ const createSwipeToDismissGesture = (el, toastPosition, onDismiss) => {
39430
39847
  * consider when the threshold is a negative in the event the
39431
39848
  * user drags up (since the deltaY will also be negative).
39432
39849
  */
39433
- shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -0.5 / 2;
39850
+ shouldDismiss = threshold >= DISMISS_THRESHOLD / 2 || threshold <= -DISMISS_THRESHOLD / 2;
39434
39851
  /**
39435
39852
  * Since we are replacing the keyframes
39436
39853
  * below the animation always starts from
@@ -40335,10 +40752,10 @@ class Toggle {
40335
40752
  }
40336
40753
  const shouldToggle = (rtl, checked, deltaX, margin) => {
40337
40754
  if (checked) {
40338
- return (!rtl && margin > deltaX) || (rtl && 10 < deltaX);
40755
+ return (!rtl && margin > deltaX) || (rtl && -margin < deltaX);
40339
40756
  }
40340
40757
  else {
40341
- return (!rtl && 10 < deltaX) || (rtl && margin > deltaX);
40758
+ return (!rtl && -margin < deltaX) || (rtl && margin > deltaX);
40342
40759
  }
40343
40760
  };
40344
40761
  let toggleIds = 0;
@@ -41487,7 +41904,7 @@ var NAMESPACE = (
41487
41904
  );
41488
41905
 
41489
41906
  /*
41490
- Stencil Hydrate Runner v4.43.0 | MIT Licensed | https://stenciljs.com
41907
+ Stencil Hydrate Runner v4.43.5 | MIT Licensed | https://stenciljs.com
41491
41908
  */
41492
41909
  var __create = Object.create;
41493
41910
  var __defProp = Object.defineProperty;
@@ -42818,11 +43235,11 @@ var fromCodePoint = (
42818
43235
  }
42819
43236
  );
42820
43237
  function replaceCodePoint(codePoint) {
42821
- var _a2;
43238
+ var _a3;
42822
43239
  if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
42823
43240
  return 65533;
42824
43241
  }
42825
- return (_a2 = decodeMap.get(codePoint)) !== null && _a2 !== void 0 ? _a2 : codePoint;
43242
+ return (_a3 = decodeMap.get(codePoint)) !== null && _a3 !== void 0 ? _a3 : codePoint;
42826
43243
  }
42827
43244
 
42828
43245
  // node_modules/entities/lib/esm/decode.js
@@ -43019,9 +43436,9 @@ var EntityDecoder = class {
43019
43436
  * @returns The number of characters that were consumed.
43020
43437
  */
43021
43438
  emitNumericEntity(lastCp, expectedLength) {
43022
- var _a2;
43439
+ var _a3;
43023
43440
  if (this.consumed <= expectedLength) {
43024
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
43441
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
43025
43442
  return 0;
43026
43443
  }
43027
43444
  if (lastCp === CharCodes.SEMI) {
@@ -43081,11 +43498,11 @@ var EntityDecoder = class {
43081
43498
  * @returns The number of characters consumed.
43082
43499
  */
43083
43500
  emitNotTerminatedNamedEntity() {
43084
- var _a2;
43501
+ var _a3;
43085
43502
  const { result, decodeTree } = this;
43086
43503
  const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
43087
43504
  this.emitNamedEntityData(result, valueLength, this.consumed);
43088
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.missingSemicolonAfterCharacterReference();
43505
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.missingSemicolonAfterCharacterReference();
43089
43506
  return this.consumed;
43090
43507
  }
43091
43508
  /**
@@ -43113,7 +43530,7 @@ var EntityDecoder = class {
43113
43530
  * @returns The number of characters consumed.
43114
43531
  */
43115
43532
  end() {
43116
- var _a2;
43533
+ var _a3;
43117
43534
  switch (this.state) {
43118
43535
  case EntityDecoderState.NamedEntity: {
43119
43536
  return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
@@ -43126,7 +43543,7 @@ var EntityDecoder = class {
43126
43543
  return this.emitNumericEntity(0, 3);
43127
43544
  }
43128
43545
  case EntityDecoderState.NumericStart: {
43129
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
43546
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
43130
43547
  return 0;
43131
43548
  }
43132
43549
  case EntityDecoderState.EntityStart: {
@@ -43607,8 +44024,8 @@ var TAG_NAME_TO_ID = /* @__PURE__ */ new Map([
43607
44024
  [TAG_NAMES.XMP, TAG_ID.XMP]
43608
44025
  ]);
43609
44026
  function getTagID(tagName) {
43610
- var _a2;
43611
- return (_a2 = TAG_NAME_TO_ID.get(tagName)) !== null && _a2 !== void 0 ? _a2 : TAG_ID.UNKNOWN;
44027
+ var _a3;
44028
+ return (_a3 = TAG_NAME_TO_ID.get(tagName)) !== null && _a3 !== void 0 ? _a3 : TAG_ID.UNKNOWN;
43612
44029
  }
43613
44030
  var $ = TAG_ID;
43614
44031
  var SPECIAL_ELEMENTS = {
@@ -43875,8 +44292,8 @@ var Tokenizer = class {
43875
44292
  }
43876
44293
  //Errors
43877
44294
  _err(code, cpOffset = 0) {
43878
- var _a2, _b;
43879
- (_b = (_a2 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a2, this.preprocessor.getError(code, cpOffset));
44295
+ var _a3, _b;
44296
+ (_b = (_a3 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a3, this.preprocessor.getError(code, cpOffset));
43880
44297
  }
43881
44298
  // NOTE: `offset` may never run across line boundaries.
43882
44299
  getCurrentLocation(offset) {
@@ -44018,13 +44435,13 @@ var Tokenizer = class {
44018
44435
  this.currentLocation = this.getCurrentLocation(0);
44019
44436
  }
44020
44437
  _leaveAttrName() {
44021
- var _a2;
44438
+ var _a3;
44022
44439
  var _b;
44023
44440
  const token = this.currentToken;
44024
44441
  if (getTokenAttr(token, this.currentAttr.name) === null) {
44025
44442
  token.attrs.push(this.currentAttr);
44026
44443
  if (token.location && this.currentLocation) {
44027
- const attrLocations = (_a2 = (_b = token.location).attrs) !== null && _a2 !== void 0 ? _a2 : _b.attrs = /* @__PURE__ */ Object.create(null);
44444
+ const attrLocations = (_a3 = (_b = token.location).attrs) !== null && _a3 !== void 0 ? _a3 : _b.attrs = /* @__PURE__ */ Object.create(null);
44028
44445
  attrLocations[this.currentAttr.name] = this.currentLocation;
44029
44446
  this._leaveAttrValue();
44030
44447
  }
@@ -47372,10 +47789,10 @@ var Parser = class {
47372
47789
  //Errors
47373
47790
  /** @internal */
47374
47791
  _err(token, code, beforeToken) {
47375
- var _a2;
47792
+ var _a3;
47376
47793
  if (!this.onParseError)
47377
47794
  return;
47378
- const loc = (_a2 = token.location) !== null && _a2 !== void 0 ? _a2 : BASE_LOC;
47795
+ const loc = (_a3 = token.location) !== null && _a3 !== void 0 ? _a3 : BASE_LOC;
47379
47796
  const err2 = {
47380
47797
  code,
47381
47798
  startLine: loc.startLine,
@@ -47390,18 +47807,18 @@ var Parser = class {
47390
47807
  //Stack events
47391
47808
  /** @internal */
47392
47809
  onItemPush(node, tid, isTop) {
47393
- var _a2, _b;
47394
- (_b = (_a2 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a2, node);
47810
+ var _a3, _b;
47811
+ (_b = (_a3 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a3, node);
47395
47812
  if (isTop && this.openElements.stackTop > 0)
47396
47813
  this._setContextModes(node, tid);
47397
47814
  }
47398
47815
  /** @internal */
47399
47816
  onItemPop(node, isTop) {
47400
- var _a2, _b;
47817
+ var _a3, _b;
47401
47818
  if (this.options.sourceCodeLocationInfo) {
47402
47819
  this._setEndLocation(node, this.currentToken);
47403
47820
  }
47404
- (_b = (_a2 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a2, node, this.openElements.current);
47821
+ (_b = (_a3 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a3, node, this.openElements.current);
47405
47822
  if (isTop) {
47406
47823
  let current;
47407
47824
  let currentTagId;
@@ -49475,9 +49892,9 @@ function eofInBody(p, token) {
49475
49892
  }
49476
49893
  }
49477
49894
  function endTagInText(p, token) {
49478
- var _a2;
49895
+ var _a3;
49479
49896
  if (token.tagID === TAG_ID.SCRIPT) {
49480
- (_a2 = p.scriptHandler) === null || _a2 === void 0 ? void 0 : _a2.call(p, p.openElements.current);
49897
+ (_a3 = p.scriptHandler) === null || _a3 === void 0 ? void 0 : _a3.call(p, p.openElements.current);
49481
49898
  }
49482
49899
  p.openElements.pop();
49483
49900
  p.insertionMode = p.originalInsertionMode;
@@ -50139,7 +50556,7 @@ function startTagAfterBody(p, token) {
50139
50556
  }
50140
50557
  }
50141
50558
  function endTagAfterBody(p, token) {
50142
- var _a2;
50559
+ var _a3;
50143
50560
  if (token.tagID === TAG_ID.HTML) {
50144
50561
  if (!p.fragmentContext) {
50145
50562
  p.insertionMode = InsertionMode.AFTER_AFTER_BODY;
@@ -50147,7 +50564,7 @@ function endTagAfterBody(p, token) {
50147
50564
  if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === TAG_ID.HTML) {
50148
50565
  p._setEndLocation(p.openElements.items[0], token);
50149
50566
  const bodyElement = p.openElements.items[1];
50150
- if (bodyElement && !((_a2 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a2 === void 0 ? void 0 : _a2.endTag)) {
50567
+ if (bodyElement && !((_a3 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a3 === void 0 ? void 0 : _a3.endTag)) {
50151
50568
  p._setEndLocation(bodyElement, token);
50152
50569
  }
50153
50570
  }
@@ -52011,7 +52428,7 @@ function serializeNodeToHtml(elm, serializationOptions = {}) {
52011
52428
  }
52012
52429
  var shadowRootTag = "mock:shadow-root";
52013
52430
  function* streamToHtml(node, opts, output) {
52014
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
52431
+ var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
52015
52432
  const isShadowRoot = node.nodeType === 11 /* DOCUMENT_FRAGMENT_NODE */;
52016
52433
  if (node.nodeType === 1 /* ELEMENT_NODE */ || isShadowRoot) {
52017
52434
  const tagName = isShadowRoot ? shadowRootTag : getTagName(node);
@@ -52020,7 +52437,7 @@ function* streamToHtml(node, opts, output) {
52020
52437
  }
52021
52438
  const ignoreTag = opts.excludeTags != null && opts.excludeTags.includes(tagName);
52022
52439
  if (ignoreTag === false) {
52023
- const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a2 = opts.indentSpaces) != null ? _a2 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
52440
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a3 = opts.indentSpaces) != null ? _a3 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
52024
52441
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
52025
52442
  yield "\n";
52026
52443
  output.currentLineWidth = 0;
@@ -52539,9 +52956,7 @@ var MockNode2 = class {
52539
52956
  const firstChild = this.firstChild;
52540
52957
  items.forEach((item) => {
52541
52958
  const isNode = typeof item === "object" && item !== null && "nodeType" in item;
52542
- if (firstChild) {
52543
- this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
52544
- }
52959
+ this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
52545
52960
  });
52546
52961
  }
52547
52962
  cloneNode(deep) {
@@ -52590,8 +53005,8 @@ var MockNode2 = class {
52590
53005
  return null;
52591
53006
  }
52592
53007
  get nodeValue() {
52593
- var _a2;
52594
- return (_a2 = this._nodeValue) != null ? _a2 : "";
53008
+ var _a3;
53009
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
52595
53010
  }
52596
53011
  set nodeValue(value) {
52597
53012
  this._nodeValue = value;
@@ -52651,8 +53066,8 @@ var MockNode2 = class {
52651
53066
  return null;
52652
53067
  }
52653
53068
  get textContent() {
52654
- var _a2;
52655
- return (_a2 = this._nodeValue) != null ? _a2 : "";
53069
+ var _a3;
53070
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
52656
53071
  }
52657
53072
  set textContent(value) {
52658
53073
  this._nodeValue = String(value);
@@ -52711,9 +53126,9 @@ var MockElement = class extends MockNode2 {
52711
53126
  addEventListener(this, type, handler);
52712
53127
  }
52713
53128
  attachShadow(_opts) {
52714
- var _a2;
53129
+ var _a3;
52715
53130
  const shadowRoot = this.ownerDocument.createDocumentFragment();
52716
- shadowRoot.delegatesFocus = (_a2 = _opts.delegatesFocus) != null ? _a2 : false;
53131
+ shadowRoot.delegatesFocus = (_a3 = _opts.delegatesFocus) != null ? _a3 : false;
52717
53132
  this.shadowRoot = shadowRoot;
52718
53133
  return shadowRoot;
52719
53134
  }
@@ -52784,6 +53199,9 @@ var MockElement = class extends MockNode2 {
52784
53199
  get part() {
52785
53200
  return new MockTokenList(this, "part");
52786
53201
  }
53202
+ set part(value) {
53203
+ this.setAttributeNS(null, "part", String(value));
53204
+ }
52787
53205
  click() {
52788
53206
  dispatchEvent(this, new MockEvent("click", { bubbles: true, cancelable: true, composed: true }));
52789
53207
  }
@@ -52886,8 +53304,8 @@ var MockElement = class extends MockNode2 {
52886
53304
  });
52887
53305
  }
52888
53306
  set innerHTML(html) {
52889
- var _a2;
52890
- if (NON_ESCAPABLE_CONTENT.has((_a2 = this.nodeName) != null ? _a2 : "") === true) {
53307
+ var _a3;
53308
+ if (NON_ESCAPABLE_CONTENT.has((_a3 = this.nodeName) != null ? _a3 : "") === true) {
52891
53309
  setTextContent(this, html);
52892
53310
  } else {
52893
53311
  for (let i = this.childNodes.length - 1; i >= 0; i--) {
@@ -53130,8 +53548,8 @@ var MockElement = class extends MockNode2 {
53130
53548
  this.setAttributeNS(null, "tabindex", value);
53131
53549
  }
53132
53550
  get tagName() {
53133
- var _a2;
53134
- return (_a2 = this.nodeName) != null ? _a2 : "";
53551
+ var _a3;
53552
+ return (_a3 = this.nodeName) != null ? _a3 : "";
53135
53553
  }
53136
53554
  set tagName(value) {
53137
53555
  this.nodeName = value;
@@ -53353,11 +53771,11 @@ function getElementsByClassName(elm, classNames, foundElms) {
53353
53771
  }
53354
53772
  }
53355
53773
  function getElementsByTagName(elm, tagName, foundElms) {
53356
- var _a2;
53774
+ var _a3;
53357
53775
  const children = elm.children;
53358
53776
  for (let i = 0, ii = children.length; i < ii; i++) {
53359
53777
  const childElm = children[i];
53360
- if (tagName === "*" || ((_a2 = childElm.nodeName) != null ? _a2 : "").toLowerCase() === tagName) {
53778
+ if (tagName === "*" || ((_a3 = childElm.nodeName) != null ? _a3 : "").toLowerCase() === tagName) {
53361
53779
  foundElms.push(childElm);
53362
53780
  }
53363
53781
  getElementsByTagName(childElm, tagName, foundElms);
@@ -53394,8 +53812,8 @@ var MockHTMLElement = class extends MockElement {
53394
53812
  super(ownerDocument, typeof nodeName === "string" ? nodeName.toUpperCase() : null);
53395
53813
  }
53396
53814
  get tagName() {
53397
- var _a2;
53398
- return (_a2 = this.nodeName) != null ? _a2 : "";
53815
+ var _a3;
53816
+ return (_a3 = this.nodeName) != null ? _a3 : "";
53399
53817
  }
53400
53818
  set tagName(value) {
53401
53819
  this.nodeName = value;
@@ -53853,10 +54271,10 @@ var MockLabelElement = class extends MockHTMLElement {
53853
54271
  this.setAttributeNS(null, "for", value);
53854
54272
  }
53855
54273
  get control() {
53856
- var _a2, _b;
54274
+ var _a3, _b;
53857
54275
  const forAttr = this.htmlFor;
53858
54276
  if (forAttr) {
53859
- return (_b = (_a2 = this.ownerDocument) == null ? void 0 : _a2.getElementById(forAttr)) != null ? _b : null;
54277
+ return (_b = (_a3 = this.ownerDocument) == null ? void 0 : _a3.getElementById(forAttr)) != null ? _b : null;
53860
54278
  }
53861
54279
  const labelableSelector = 'button, input:not([type="hidden"]), meter, output, progress, select, textarea';
53862
54280
  return this.querySelector(labelableSelector);
@@ -56364,18 +56782,34 @@ var RemoteValue = class _RemoteValue {
56364
56782
  };
56365
56783
 
56366
56784
  // src/utils/serialize.ts
56785
+ function encodeBase64Unicode(str) {
56786
+ const utf8Bytes = new TextEncoder().encode(str);
56787
+ let binary = "";
56788
+ for (let i = 0; i < utf8Bytes.length; i++) {
56789
+ binary += String.fromCharCode(utf8Bytes[i]);
56790
+ }
56791
+ return btoa(binary);
56792
+ }
56793
+ function decodeBase64Unicode(base64) {
56794
+ const binary = atob(base64);
56795
+ const bytes = new Uint8Array(binary.length);
56796
+ for (let i = 0; i < binary.length; i++) {
56797
+ bytes[i] = binary.charCodeAt(i);
56798
+ }
56799
+ return new TextDecoder().decode(bytes);
56800
+ }
56367
56801
  function serializeProperty(value) {
56368
56802
  if (["string", "boolean", "undefined"].includes(typeof value) || typeof value === "number" && value !== Infinity && value !== -Infinity && !isNaN(value)) {
56369
56803
  return value;
56370
56804
  }
56371
56805
  const arg = LocalValue.getArgument(value);
56372
- return SERIALIZED_PREFIX + btoa(JSON.stringify(arg));
56806
+ return SERIALIZED_PREFIX + encodeBase64Unicode(JSON.stringify(arg));
56373
56807
  }
56374
56808
  function deserializeProperty(value) {
56375
56809
  if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
56376
56810
  return value;
56377
56811
  }
56378
- return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
56812
+ return RemoteValue.fromLocalValue(JSON.parse(decodeBase64Unicode(value.slice(SERIALIZED_PREFIX.length))));
56379
56813
  }
56380
56814
  var CAPTURE_EVENT_SUFFIX = "Capture";
56381
56815
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
@@ -56569,8 +57003,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
56569
57003
  };
56570
57004
 
56571
57005
  // node_modules/minimatch/dist/esm/ast.js
57006
+ var _a2;
56572
57007
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
56573
57008
  var isExtglobType = (c) => types.has(c);
57009
+ var isExtglobAST = (c) => isExtglobType(c.type);
57010
+ var adoptionMap = /* @__PURE__ */ new Map([
57011
+ ["!", ["@"]],
57012
+ ["?", ["?", "@"]],
57013
+ ["@", ["@"]],
57014
+ ["*", ["*", "+", "?", "@"]],
57015
+ ["+", ["+", "@"]]
57016
+ ]);
57017
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
57018
+ ["!", ["?"]],
57019
+ ["@", ["?"]],
57020
+ ["+", ["?", "*"]]
57021
+ ]);
57022
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
57023
+ ["!", ["?", "@"]],
57024
+ ["?", ["?", "@"]],
57025
+ ["@", ["?", "@"]],
57026
+ ["*", ["*", "+", "?", "@"]],
57027
+ ["+", ["+", "@", "?", "*"]]
57028
+ ]);
57029
+ var usurpMap = /* @__PURE__ */ new Map([
57030
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
57031
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
57032
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
57033
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
57034
+ ]);
56574
57035
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
56575
57036
  var startNoDot = "(?!\\.)";
56576
57037
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -56580,8 +57041,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
56580
57041
  var qmark = "[^/]";
56581
57042
  var star = qmark + "*?";
56582
57043
  var starNoEmpty = qmark + "+?";
56583
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
56584
- var _AST = class _AST {
57044
+ 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;
57045
+ var AST = class {
56585
57046
  constructor(type, parent, options = {}) {
56586
57047
  __privateAdd(this, _AST_instances);
56587
57048
  __publicField(this, "type");
@@ -56634,44 +57095,44 @@ var _AST = class _AST {
56634
57095
  for (const p of parts) {
56635
57096
  if (p === "")
56636
57097
  continue;
56637
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
57098
+ if (typeof p !== "string" && !(p instanceof _a2 && __privateGet(p, _parent) === this)) {
56638
57099
  throw new Error("invalid part: " + p);
56639
57100
  }
56640
57101
  __privateGet(this, _parts).push(p);
56641
57102
  }
56642
57103
  }
56643
57104
  toJSON() {
56644
- var _a2;
57105
+ var _a3;
56645
57106
  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())];
56646
57107
  if (this.isStart() && !this.type)
56647
57108
  ret.unshift([]);
56648
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
57109
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")) {
56649
57110
  ret.push({});
56650
57111
  }
56651
57112
  return ret;
56652
57113
  }
56653
57114
  isStart() {
56654
- var _a2;
57115
+ var _a3;
56655
57116
  if (__privateGet(this, _root) === this)
56656
57117
  return true;
56657
- if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
57118
+ if (!((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.isStart()))
56658
57119
  return false;
56659
57120
  if (__privateGet(this, _parentIndex) === 0)
56660
57121
  return true;
56661
57122
  const p = __privateGet(this, _parent);
56662
57123
  for (let i = 0; i < __privateGet(this, _parentIndex); i++) {
56663
57124
  const pp = __privateGet(p, _parts)[i];
56664
- if (!(pp instanceof _AST && pp.type === "!")) {
57125
+ if (!(pp instanceof _a2 && pp.type === "!")) {
56665
57126
  return false;
56666
57127
  }
56667
57128
  }
56668
57129
  return true;
56669
57130
  }
56670
57131
  isEnd() {
56671
- var _a2, _b, _c;
57132
+ var _a3, _b, _c;
56672
57133
  if (__privateGet(this, _root) === this)
56673
57134
  return true;
56674
- if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
57135
+ if (((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")
56675
57136
  return true;
56676
57137
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
56677
57138
  return false;
@@ -56687,16 +57148,16 @@ var _AST = class _AST {
56687
57148
  this.push(part.clone(this));
56688
57149
  }
56689
57150
  clone(parent) {
56690
- const c = new _AST(this.type, parent);
57151
+ const c = new _a2(this.type, parent);
56691
57152
  for (const p of __privateGet(this, _parts)) {
56692
57153
  c.copyIn(p);
56693
57154
  }
56694
57155
  return c;
56695
57156
  }
56696
57157
  static fromGlob(pattern, options = {}) {
56697
- var _a2;
56698
- const ast = new _AST(null, void 0, options);
56699
- __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options);
57158
+ var _a3;
57159
+ const ast = new _a2(null, void 0, options);
57160
+ __privateMethod(_a3 = _a2, _AST_static, parseAST_fn).call(_a3, pattern, ast, 0, options, 0);
56700
57161
  return ast;
56701
57162
  }
56702
57163
  // returns the regular expression if there's magic, or the unescaped
@@ -56789,15 +57250,17 @@ var _AST = class _AST {
56789
57250
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
56790
57251
  // or start or whatever) and prepend ^ or / at the Regexp construction.
56791
57252
  toRegExpSource(allowDot) {
56792
- var _a2;
57253
+ var _a3;
56793
57254
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
56794
- if (__privateGet(this, _root) === this)
57255
+ if (__privateGet(this, _root) === this) {
57256
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
56795
57257
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
56796
- if (!this.type) {
57258
+ }
57259
+ if (!isExtglobAST(this)) {
56797
57260
  const noEmpty = this.isStart() && this.isEnd();
56798
57261
  const src = __privateGet(this, _parts).map((p) => {
56799
- var _a3;
56800
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _AST, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
57262
+ var _a4;
57263
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a4 = _a2, _AST_static, parseGlob_fn).call(_a4, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
56801
57264
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
56802
57265
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
56803
57266
  return re;
@@ -56820,7 +57283,7 @@ var _AST = class _AST {
56820
57283
  }
56821
57284
  }
56822
57285
  let end = "";
56823
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
57286
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!") {
56824
57287
  end = "(?:$|\\/)";
56825
57288
  }
56826
57289
  const final2 = start2 + src + end;
@@ -56836,9 +57299,10 @@ var _AST = class _AST {
56836
57299
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
56837
57300
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
56838
57301
  const s = this.toString();
56839
- __privateSet(this, _parts, [s]);
56840
- this.type = null;
56841
- __privateSet(this, _hasMagic, void 0);
57302
+ const me = this;
57303
+ __privateSet(me, _parts, [s]);
57304
+ me.type = null;
57305
+ __privateSet(me, _hasMagic, void 0);
56842
57306
  return [s, unescape(this.toString()), false, false];
56843
57307
  }
56844
57308
  let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
@@ -56907,8 +57371,9 @@ fillNegs_fn = function() {
56907
57371
  return this;
56908
57372
  };
56909
57373
  _AST_static = new WeakSet();
56910
- parseAST_fn = function(str, ast, pos, opt) {
56911
- var _a2, _b;
57374
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
57375
+ var _a3, _b, _c, _d, _e;
57376
+ const maxDepth = (_a3 = opt.maxExtglobRecursion) != null ? _a3 : 2;
56912
57377
  let escaping = false;
56913
57378
  let inBrace = false;
56914
57379
  let braceStart = -1;
@@ -56940,11 +57405,12 @@ parseAST_fn = function(str, ast, pos, opt) {
56940
57405
  acc2 += c;
56941
57406
  continue;
56942
57407
  }
56943
- if (!opt.noext && isExtglobType(c) && str.charAt(i2) === "(") {
57408
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i2) === "(" && extDepth <= maxDepth;
57409
+ if (doRecurse) {
56944
57410
  ast.push(acc2);
56945
57411
  acc2 = "";
56946
- const ext2 = new _AST(c, ast);
56947
- i2 = __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, str, ext2, i2, opt);
57412
+ const ext2 = new _a2(c, ast);
57413
+ i2 = __privateMethod(_b = _a2, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt, extDepth + 1);
56948
57414
  ast.push(ext2);
56949
57415
  continue;
56950
57416
  }
@@ -56954,7 +57420,7 @@ parseAST_fn = function(str, ast, pos, opt) {
56954
57420
  return i2;
56955
57421
  }
56956
57422
  let i = pos + 1;
56957
- let part = new _AST(null, ast);
57423
+ let part = new _a2(null, ast);
56958
57424
  const parts = [];
56959
57425
  let acc = "";
56960
57426
  while (i < str.length) {
@@ -56981,19 +57447,22 @@ parseAST_fn = function(str, ast, pos, opt) {
56981
57447
  acc += c;
56982
57448
  continue;
56983
57449
  }
56984
- if (isExtglobType(c) && str.charAt(i) === "(") {
57450
+ const doRecurse = isExtglobType(c) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
57451
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
57452
+ if (doRecurse) {
57453
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
56985
57454
  part.push(acc);
56986
57455
  acc = "";
56987
- const ext2 = new _AST(c, part);
57456
+ const ext2 = new _a2(c, part);
56988
57457
  part.push(ext2);
56989
- i = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i, opt);
57458
+ i = __privateMethod(_e = _a2, _AST_static, parseAST_fn).call(_e, str, ext2, i, opt, extDepth + depthAdd);
56990
57459
  continue;
56991
57460
  }
56992
57461
  if (c === "|") {
56993
57462
  part.push(acc);
56994
57463
  acc = "";
56995
57464
  parts.push(part);
56996
- part = new _AST(null, ast);
57465
+ part = new _a2(null, ast);
56997
57466
  continue;
56998
57467
  }
56999
57468
  if (c === ")") {
@@ -57012,6 +57481,100 @@ parseAST_fn = function(str, ast, pos, opt) {
57012
57481
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
57013
57482
  return i;
57014
57483
  };
57484
+ canAdoptWithSpace_fn = function(child) {
57485
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
57486
+ };
57487
+ canAdopt_fn = function(child, map2 = adoptionMap) {
57488
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
57489
+ return false;
57490
+ }
57491
+ const gc = __privateGet(child, _parts)[0];
57492
+ if (!gc || typeof gc !== "object" || gc.type === null) {
57493
+ return false;
57494
+ }
57495
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
57496
+ };
57497
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
57498
+ var _a3;
57499
+ return !!((_a3 = map2.get(this.type)) == null ? void 0 : _a3.includes(c));
57500
+ };
57501
+ adoptWithSpace_fn = function(child, index) {
57502
+ const gc = __privateGet(child, _parts)[0];
57503
+ const blank = new _a2(null, gc, this.options);
57504
+ __privateGet(blank, _parts).push("");
57505
+ gc.push(blank);
57506
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
57507
+ };
57508
+ adopt_fn = function(child, index) {
57509
+ const gc = __privateGet(child, _parts)[0];
57510
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
57511
+ for (const p of __privateGet(gc, _parts)) {
57512
+ if (typeof p === "object")
57513
+ __privateSet(p, _parent, this);
57514
+ }
57515
+ __privateSet(this, _toString, void 0);
57516
+ };
57517
+ canUsurpType_fn = function(c) {
57518
+ const m = usurpMap.get(this.type);
57519
+ return !!(m == null ? void 0 : m.has(c));
57520
+ };
57521
+ canUsurp_fn = function(child) {
57522
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
57523
+ return false;
57524
+ }
57525
+ const gc = __privateGet(child, _parts)[0];
57526
+ if (!gc || typeof gc !== "object" || gc.type === null) {
57527
+ return false;
57528
+ }
57529
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
57530
+ };
57531
+ usurp_fn = function(child) {
57532
+ const m = usurpMap.get(this.type);
57533
+ const gc = __privateGet(child, _parts)[0];
57534
+ const nt = m == null ? void 0 : m.get(gc.type);
57535
+ if (!nt)
57536
+ return false;
57537
+ __privateSet(this, _parts, __privateGet(gc, _parts));
57538
+ for (const p of __privateGet(this, _parts)) {
57539
+ if (typeof p === "object")
57540
+ __privateSet(p, _parent, this);
57541
+ }
57542
+ this.type = nt;
57543
+ __privateSet(this, _toString, void 0);
57544
+ __privateSet(this, _emptyExt, false);
57545
+ };
57546
+ flatten_fn = function() {
57547
+ var _a3, _b;
57548
+ if (!isExtglobAST(this)) {
57549
+ for (const p of __privateGet(this, _parts)) {
57550
+ if (typeof p === "object")
57551
+ __privateMethod(_a3 = p, _AST_instances, flatten_fn).call(_a3);
57552
+ }
57553
+ } else {
57554
+ let iterations = 0;
57555
+ let done = false;
57556
+ do {
57557
+ done = true;
57558
+ for (let i = 0; i < __privateGet(this, _parts).length; i++) {
57559
+ const c = __privateGet(this, _parts)[i];
57560
+ if (typeof c === "object") {
57561
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
57562
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
57563
+ done = false;
57564
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i);
57565
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
57566
+ done = false;
57567
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i);
57568
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
57569
+ done = false;
57570
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
57571
+ }
57572
+ }
57573
+ }
57574
+ } while (!done && ++iterations < 10);
57575
+ }
57576
+ __privateSet(this, _toString, void 0);
57577
+ };
57015
57578
  partsToRegExp_fn = function(dot) {
57016
57579
  return __privateGet(this, _parts).map((p) => {
57017
57580
  if (typeof p === "string") {
@@ -57026,11 +57589,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57026
57589
  let escaping = false;
57027
57590
  let re = "";
57028
57591
  let uflag = false;
57592
+ let inStar = false;
57029
57593
  for (let i = 0; i < glob.length; i++) {
57030
57594
  const c = glob.charAt(i);
57031
57595
  if (escaping) {
57032
57596
  escaping = false;
57033
57597
  re += (reSpecials.has(c) ? "\\" : "") + c;
57598
+ inStar = false;
57034
57599
  continue;
57035
57600
  }
57036
57601
  if (c === "\\") {
@@ -57048,16 +57613,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57048
57613
  uflag = uflag || needUflag;
57049
57614
  i += consumed - 1;
57050
57615
  hasMagic = hasMagic || magic;
57616
+ inStar = false;
57051
57617
  continue;
57052
57618
  }
57053
57619
  }
57054
57620
  if (c === "*") {
57055
- if (noEmpty && glob === "*")
57056
- re += starNoEmpty;
57057
- else
57058
- re += star;
57621
+ if (inStar)
57622
+ continue;
57623
+ inStar = true;
57624
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
57059
57625
  hasMagic = true;
57060
57626
  continue;
57627
+ } else {
57628
+ inStar = false;
57061
57629
  }
57062
57630
  if (c === "?") {
57063
57631
  re += qmark;
@@ -57068,8 +57636,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
57068
57636
  }
57069
57637
  return [re, unescape(glob), !!hasMagic, uflag];
57070
57638
  };
57071
- __privateAdd(_AST, _AST_static);
57072
- var AST = _AST;
57639
+ __privateAdd(AST, _AST_static);
57640
+ _a2 = AST;
57073
57641
 
57074
57642
  // node_modules/minimatch/dist/esm/escape.js
57075
57643
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -57208,28 +57776,33 @@ var match = (list, pattern, options = {}) => {
57208
57776
  minimatch.match = match;
57209
57777
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
57210
57778
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
57779
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
57211
57780
  var Minimatch = class {
57212
- options;
57213
- set;
57214
- pattern;
57215
- windowsPathsNoEscape;
57216
- nonegate;
57217
- negate;
57218
- comment;
57219
- empty;
57220
- preserveMultipleSlashes;
57221
- partial;
57222
- globSet;
57223
- globParts;
57224
- nocase;
57225
- isWindows;
57226
- platform;
57227
- windowsNoMagicRoot;
57228
- regexp;
57229
57781
  constructor(pattern, options = {}) {
57782
+ __privateAdd(this, _Minimatch_instances);
57783
+ __publicField(this, "options");
57784
+ __publicField(this, "set");
57785
+ __publicField(this, "pattern");
57786
+ __publicField(this, "windowsPathsNoEscape");
57787
+ __publicField(this, "nonegate");
57788
+ __publicField(this, "negate");
57789
+ __publicField(this, "comment");
57790
+ __publicField(this, "empty");
57791
+ __publicField(this, "preserveMultipleSlashes");
57792
+ __publicField(this, "partial");
57793
+ __publicField(this, "globSet");
57794
+ __publicField(this, "globParts");
57795
+ __publicField(this, "nocase");
57796
+ __publicField(this, "isWindows");
57797
+ __publicField(this, "platform");
57798
+ __publicField(this, "windowsNoMagicRoot");
57799
+ __publicField(this, "maxGlobstarRecursion");
57800
+ __publicField(this, "regexp");
57801
+ var _a3;
57230
57802
  assertValidPattern(pattern);
57231
57803
  options = options || {};
57232
57804
  this.options = options;
57805
+ this.maxGlobstarRecursion = (_a3 = options.maxGlobstarRecursion) != null ? _a3 : 200;
57233
57806
  this.pattern = pattern;
57234
57807
  this.platform = options.platform || defaultPlatform;
57235
57808
  this.isWindows = this.platform === "win32";
@@ -57497,10 +58070,11 @@ var Minimatch = class {
57497
58070
  for (let i = 0; i < globParts.length - 1; i++) {
57498
58071
  for (let j = i + 1; j < globParts.length; j++) {
57499
58072
  const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
57500
- if (!matched)
57501
- continue;
57502
- globParts[i] = matched;
57503
- globParts[j] = [];
58073
+ if (matched) {
58074
+ globParts[i] = [];
58075
+ globParts[j] = matched;
58076
+ break;
58077
+ }
57504
58078
  }
57505
58079
  }
57506
58080
  return globParts.filter((gs) => gs.length);
@@ -57561,7 +58135,8 @@ var Minimatch = class {
57561
58135
  // out of pattern, then that's fine, as long as all
57562
58136
  // the parts match.
57563
58137
  matchOne(file, pattern, partial = false) {
57564
- const options = this.options;
58138
+ let fileStartIndex = 0;
58139
+ let patternStartIndex = 0;
57565
58140
  if (this.isWindows) {
57566
58141
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
57567
58142
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -57570,14 +58145,14 @@ var Minimatch = class {
57570
58145
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
57571
58146
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
57572
58147
  if (typeof fdi === "number" && typeof pdi === "number") {
57573
- const [fd, pd] = [file[fdi], pattern[pdi]];
58148
+ const [fd, pd] = [
58149
+ file[fdi],
58150
+ pattern[pdi]
58151
+ ];
57574
58152
  if (fd.toLowerCase() === pd.toLowerCase()) {
57575
58153
  pattern[pdi] = fd;
57576
- if (pdi > fdi) {
57577
- pattern = pattern.slice(pdi);
57578
- } else if (fdi > pdi) {
57579
- file = file.slice(fdi);
57580
- }
58154
+ patternStartIndex = pdi;
58155
+ fileStartIndex = fdi;
57581
58156
  }
57582
58157
  }
57583
58158
  }
@@ -57585,71 +58160,10 @@ var Minimatch = class {
57585
58160
  if (optimizationLevel >= 2) {
57586
58161
  file = this.levelTwoFileOptimize(file);
57587
58162
  }
57588
- this.debug("matchOne", this, { file, pattern });
57589
- this.debug("matchOne", file.length, pattern.length);
57590
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
57591
- this.debug("matchOne loop");
57592
- var p = pattern[pi];
57593
- var f = file[fi];
57594
- this.debug(pattern, p, f);
57595
- if (p === false) {
57596
- return false;
57597
- }
57598
- if (p === GLOBSTAR) {
57599
- this.debug("GLOBSTAR", [pattern, p, f]);
57600
- var fr = fi;
57601
- var pr = pi + 1;
57602
- if (pr === pl) {
57603
- this.debug("** at the end");
57604
- for (; fi < fl; fi++) {
57605
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
57606
- return false;
57607
- }
57608
- return true;
57609
- }
57610
- while (fr < fl) {
57611
- var swallowee = file[fr];
57612
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
57613
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
57614
- this.debug("globstar found match!", fr, fl, swallowee);
57615
- return true;
57616
- } else {
57617
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
57618
- this.debug("dot detected!", file, fr, pattern, pr);
57619
- break;
57620
- }
57621
- this.debug("globstar swallow a segment, and continue");
57622
- fr++;
57623
- }
57624
- }
57625
- if (partial) {
57626
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
57627
- if (fr === fl) {
57628
- return true;
57629
- }
57630
- }
57631
- return false;
57632
- }
57633
- let hit;
57634
- if (typeof p === "string") {
57635
- hit = f === p;
57636
- this.debug("string match", p, f, hit);
57637
- } else {
57638
- hit = p.test(f);
57639
- this.debug("pattern match", p, f, hit);
57640
- }
57641
- if (!hit)
57642
- return false;
57643
- }
57644
- if (fi === fl && pi === pl) {
57645
- return true;
57646
- } else if (fi === fl) {
57647
- return partial;
57648
- } else if (pi === pl) {
57649
- return fi === fl - 1 && file[fi] === "";
57650
- } else {
57651
- throw new Error("wtf?");
58163
+ if (pattern.includes(GLOBSTAR)) {
58164
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
57652
58165
  }
58166
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
57653
58167
  }
57654
58168
  braceExpand() {
57655
58169
  return braceExpand(this.pattern, this.options);
@@ -57788,6 +58302,135 @@ var Minimatch = class {
57788
58302
  return minimatch.defaults(def).Minimatch;
57789
58303
  }
57790
58304
  };
58305
+ _Minimatch_instances = new WeakSet();
58306
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
58307
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
58308
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
58309
+ const [head, body, tail] = partial ? [
58310
+ pattern.slice(patternIndex, firstgs),
58311
+ pattern.slice(firstgs + 1),
58312
+ []
58313
+ ] : [
58314
+ pattern.slice(patternIndex, firstgs),
58315
+ pattern.slice(firstgs + 1, lastgs),
58316
+ pattern.slice(lastgs + 1)
58317
+ ];
58318
+ if (head.length) {
58319
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
58320
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
58321
+ return false;
58322
+ fileIndex += head.length;
58323
+ }
58324
+ let fileTailMatch = 0;
58325
+ if (tail.length) {
58326
+ if (tail.length + fileIndex > file.length)
58327
+ return false;
58328
+ let tailStart = file.length - tail.length;
58329
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
58330
+ fileTailMatch = tail.length;
58331
+ } else {
58332
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
58333
+ return false;
58334
+ }
58335
+ tailStart--;
58336
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
58337
+ return false;
58338
+ fileTailMatch = tail.length + 1;
58339
+ }
58340
+ }
58341
+ if (!body.length) {
58342
+ let sawSome = !!fileTailMatch;
58343
+ for (let i2 = fileIndex; i2 < file.length - fileTailMatch; i2++) {
58344
+ const f = String(file[i2]);
58345
+ sawSome = true;
58346
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58347
+ return false;
58348
+ }
58349
+ }
58350
+ return partial || sawSome;
58351
+ }
58352
+ const bodySegments = [[[], 0]];
58353
+ let currentBody = bodySegments[0];
58354
+ let nonGsParts = 0;
58355
+ const nonGsPartsSums = [0];
58356
+ for (const b of body) {
58357
+ if (b === GLOBSTAR) {
58358
+ nonGsPartsSums.push(nonGsParts);
58359
+ currentBody = [[], 0];
58360
+ bodySegments.push(currentBody);
58361
+ } else {
58362
+ currentBody[0].push(b);
58363
+ nonGsParts++;
58364
+ }
58365
+ }
58366
+ let i = bodySegments.length - 1;
58367
+ const fileLength = file.length - fileTailMatch;
58368
+ for (const b of bodySegments) {
58369
+ b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
58370
+ }
58371
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
58372
+ };
58373
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
58374
+ const bs = bodySegments[bodyIndex];
58375
+ if (!bs) {
58376
+ for (let i = fileIndex; i < file.length; i++) {
58377
+ sawTail = true;
58378
+ const f = file[i];
58379
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58380
+ return false;
58381
+ }
58382
+ }
58383
+ return sawTail;
58384
+ }
58385
+ const [body, after] = bs;
58386
+ while (fileIndex <= after) {
58387
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
58388
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
58389
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
58390
+ if (sub !== false)
58391
+ return sub;
58392
+ }
58393
+ const f = file[fileIndex];
58394
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
58395
+ return false;
58396
+ }
58397
+ fileIndex++;
58398
+ }
58399
+ return partial || null;
58400
+ };
58401
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
58402
+ let fi;
58403
+ let pi;
58404
+ let pl;
58405
+ let fl;
58406
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
58407
+ this.debug("matchOne loop");
58408
+ let p = pattern[pi];
58409
+ let f = file[fi];
58410
+ this.debug(pattern, p, f);
58411
+ if (p === false || p === GLOBSTAR)
58412
+ return false;
58413
+ let hit;
58414
+ if (typeof p === "string") {
58415
+ hit = f === p;
58416
+ this.debug("string match", p, f, hit);
58417
+ } else {
58418
+ hit = p.test(f);
58419
+ this.debug("pattern match", p, f, hit);
58420
+ }
58421
+ if (!hit)
58422
+ return false;
58423
+ }
58424
+ if (fi === fl && pi === pl) {
58425
+ return true;
58426
+ } else if (fi === fl) {
58427
+ return partial;
58428
+ } else if (pi === pl) {
58429
+ return fi === fl - 1 && file[fi] === "";
58430
+ } else {
58431
+ throw new Error("wtf?");
58432
+ }
58433
+ };
57791
58434
  minimatch.AST = AST;
57792
58435
  minimatch.Minimatch = Minimatch;
57793
58436
  minimatch.escape = escape;
@@ -57858,7 +58501,7 @@ var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") ||
57858
58501
 
57859
58502
  // src/compiler/html/canonical-link.ts
57860
58503
  var updateCanonicalLink = (doc, href) => {
57861
- var _a2;
58504
+ var _a3;
57862
58505
  let canonicalLinkElm = doc.head.querySelector('link[rel="canonical"]');
57863
58506
  if (typeof href === "string") {
57864
58507
  if (canonicalLinkElm == null) {
@@ -57871,7 +58514,7 @@ var updateCanonicalLink = (doc, href) => {
57871
58514
  if (canonicalLinkElm != null) {
57872
58515
  const existingHref = canonicalLinkElm.getAttribute("href");
57873
58516
  if (!existingHref) {
57874
- (_a2 = canonicalLinkElm.parentNode) == null ? void 0 : _a2.removeChild(canonicalLinkElm);
58517
+ (_a3 = canonicalLinkElm.parentNode) == null ? void 0 : _a3.removeChild(canonicalLinkElm);
57875
58518
  }
57876
58519
  }
57877
58520
  }
@@ -58383,7 +59026,7 @@ var serializeCss = (stylesheet, serializeOpts) => {
58383
59026
  return out.join("");
58384
59027
  };
58385
59028
  var serializeCssVisitNode = (opts, node, index, len) => {
58386
- var _a2;
59029
+ var _a3;
58387
59030
  const nodeType = node.type;
58388
59031
  if (nodeType === 4 /* Declaration */) {
58389
59032
  return serializeCssDeclaration(node, index, len);
@@ -58392,7 +59035,7 @@ var serializeCssVisitNode = (opts, node, index, len) => {
58392
59035
  return serializeCssRule(opts, node);
58393
59036
  }
58394
59037
  if (nodeType === 1 /* Comment */) {
58395
- if (((_a2 = node.comment) == null ? void 0 : _a2[0]) === "!") {
59038
+ if (((_a3 = node.comment) == null ? void 0 : _a3[0]) === "!") {
58396
59039
  return `/*${node.comment}*/`;
58397
59040
  } else {
58398
59041
  return "";
@@ -58440,10 +59083,10 @@ var serializeCssVisitNode = (opts, node, index, len) => {
58440
59083
  return "";
58441
59084
  };
58442
59085
  var serializeCssRule = (opts, node) => {
58443
- var _a2, _b;
59086
+ var _a3, _b;
58444
59087
  const decls = node.declarations;
58445
59088
  const usedSelectors = opts.usedSelectors;
58446
- const selectors = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.slice()) != null ? _b : [];
59089
+ const selectors = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.slice()) != null ? _b : [];
58447
59090
  const hasDecls = decls != null && decls.length > 0;
58448
59091
  const hasNestedRules = node.rules != null && node.rules.length > 0;
58449
59092
  if (!hasDecls && !hasNestedRules) {
@@ -58547,8 +59190,8 @@ var serializeCssKeyframes = (opts, node) => {
58547
59190
  return "@" + (node.vendor || "") + "keyframes " + node.name + "{" + keyframesCss + "}";
58548
59191
  };
58549
59192
  var serializeCssKeyframe = (opts, node) => {
58550
- var _a2, _b;
58551
- return ((_b = (_a2 = node.values) == null ? void 0 : _a2.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
59193
+ var _a3, _b;
59194
+ return ((_b = (_a3 = node.values) == null ? void 0 : _a3.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
58552
59195
  };
58553
59196
  var serializeCssFontFace = (opts, node) => {
58554
59197
  const fontCss = serializeCssMapVisit(opts, node.declarations);
@@ -58572,8 +59215,8 @@ var serializeCssContainer = (opts, node) => {
58572
59215
  return "@container " + removeMediaWhitespace(node.media) + "{" + containerCss + "}";
58573
59216
  };
58574
59217
  var serializeCssPage = (opts, node) => {
58575
- var _a2, _b;
58576
- const sel = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.join(", ")) != null ? _b : "";
59218
+ var _a3, _b;
59219
+ const sel = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.join(", ")) != null ? _b : "";
58577
59220
  return "@page " + sel + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
58578
59221
  };
58579
59222
  var serializeCssDocument = (opts, node) => {
@@ -58620,10 +59263,10 @@ var removeSelectorWhitespace = (selector) => {
58620
59263
  return rtn;
58621
59264
  };
58622
59265
  var removeMediaWhitespace = (media) => {
58623
- var _a2;
59266
+ var _a3;
58624
59267
  let rtn = "";
58625
59268
  let char = "";
58626
- media = (_a2 = media == null ? void 0 : media.trim()) != null ? _a2 : "";
59269
+ media = (_a3 = media == null ? void 0 : media.trim()) != null ? _a3 : "";
58627
59270
  for (let i = 0, l = media.length; i < l; i++) {
58628
59271
  char = media[i];
58629
59272
  if (CSS_WS_REG.test(char)) {