@lmvz-ds/components 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/dist/cjs/app-globals-V2Kpy_OQ.js +3 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  3. package/dist/cjs/{assets-BnJmIx_h.js → assets-XY-cBmal.js} +5 -2
  4. package/dist/cjs/assets-XY-cBmal.js.map +1 -0
  5. package/dist/cjs/header-integration_7.cjs.entry.js +1024 -0
  6. package/dist/cjs/header-integration_7.cjs.entry.js.map +1 -0
  7. package/dist/cjs/{Effect-CpZhfb0D.js → icons-BOM23oli.js} +1010 -236
  8. package/dist/cjs/icons-BOM23oli.js.map +1 -0
  9. package/dist/cjs/{index-9ZJx0550.js → index-B1Puzu82.js} +11 -651
  10. package/dist/cjs/index-B1Puzu82.js.map +1 -0
  11. package/dist/cjs/{index-QRnWYctw.js → index-ww_DCXU7.js} +431 -426
  12. package/dist/cjs/index-ww_DCXU7.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +13 -12
  14. package/dist/cjs/index.cjs.js.map +1 -0
  15. package/dist/cjs/lmvz-action.cjs.entry.js +5 -2
  16. package/dist/cjs/lmvz-action.cjs.entry.js.map +1 -0
  17. package/dist/cjs/lmvz-card.cjs.entry.js +7 -4
  18. package/dist/cjs/lmvz-card.cjs.entry.js.map +1 -0
  19. package/dist/cjs/lmvz-chip.cjs.entry.js +5 -2
  20. package/dist/cjs/lmvz-chip.cjs.entry.js.map +1 -0
  21. package/dist/cjs/lmvz-components.cjs.js +6 -3
  22. package/dist/cjs/lmvz-components.cjs.js.map +1 -0
  23. package/dist/cjs/loader.cjs.js +5 -2
  24. package/dist/cjs/loader.cjs.js.map +1 -0
  25. package/dist/collection/api/ds.constants.js +1 -0
  26. package/dist/collection/api/ds.constants.js.map +1 -0
  27. package/dist/collection/api/index.js +1 -0
  28. package/dist/collection/api/index.js.map +1 -0
  29. package/dist/collection/collection-manifest.json +2 -1
  30. package/dist/collection/components/lmvz-action/lmvz-action.js +2 -1
  31. package/dist/collection/components/lmvz-action/lmvz-action.js.map +1 -0
  32. package/dist/collection/components/lmvz-button/lmvz-button.css +4 -0
  33. package/dist/collection/components/lmvz-button/lmvz-button.js +3 -2
  34. package/dist/collection/components/lmvz-button/lmvz-button.js.map +1 -0
  35. package/dist/collection/components/lmvz-card/lmvz-card.css +4 -0
  36. package/dist/collection/components/lmvz-card/lmvz-card.js +4 -3
  37. package/dist/collection/components/lmvz-card/lmvz-card.js.map +1 -0
  38. package/dist/collection/components/lmvz-chip/lmvz-chip.js +3 -2
  39. package/dist/collection/components/lmvz-chip/lmvz-chip.js.map +1 -0
  40. package/dist/collection/components/lmvz-header/lmvz-header.js +17 -10
  41. package/dist/collection/components/lmvz-header/lmvz-header.js.map +1 -0
  42. package/dist/collection/components/lmvz-icon/icons.js +1 -0
  43. package/dist/collection/components/lmvz-icon/icons.js.map +1 -0
  44. package/dist/collection/components/lmvz-icon/lmvz-icon.js +8 -7
  45. package/dist/collection/components/lmvz-icon/lmvz-icon.js.map +1 -0
  46. package/dist/collection/components/lmvz-icon/public.js +1 -0
  47. package/dist/collection/components/lmvz-icon/public.js.map +1 -0
  48. package/dist/collection/components/lmvz-icon/test/icons.unit.js +1 -0
  49. package/dist/collection/components/lmvz-icon/test/icons.unit.js.map +1 -0
  50. package/dist/collection/components/lmvz-input/lmvz-input.js +35 -28
  51. package/dist/collection/components/lmvz-input/lmvz-input.js.map +1 -0
  52. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js +5 -2
  53. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js.map +1 -0
  54. package/dist/collection/components/lmvz-select/lmvz-select.css +197 -0
  55. package/dist/collection/components/lmvz-select/lmvz-select.js +224 -0
  56. package/dist/collection/components/lmvz-select/lmvz-select.js.map +1 -0
  57. package/dist/collection/index.js +1 -0
  58. package/dist/collection/index.js.map +1 -0
  59. package/dist/collection/integration/header-integration.js +5 -4
  60. package/dist/collection/integration/header-integration.js.map +1 -0
  61. package/dist/collection/utils/aria/aria-validation-controller.js +1 -0
  62. package/dist/collection/utils/aria/aria-validation-controller.js.map +1 -0
  63. package/dist/collection/utils/aria/element-activation-controller.js +1 -0
  64. package/dist/collection/utils/aria/element-activation-controller.js.map +1 -0
  65. package/dist/collection/utils/aria/list-keyboard-controller.js +7 -4
  66. package/dist/collection/utils/aria/list-keyboard-controller.js.map +1 -0
  67. package/dist/collection/utils/assets.js +1 -0
  68. package/dist/collection/utils/assets.js.map +1 -0
  69. package/dist/collection/utils/component.js +7 -4
  70. package/dist/collection/utils/component.js.map +1 -0
  71. package/dist/collection/utils/effect.js +1 -0
  72. package/dist/collection/utils/effect.js.map +1 -0
  73. package/dist/collection/utils/environment.js +1 -0
  74. package/dist/collection/utils/environment.js.map +1 -0
  75. package/dist/collection/utils/http.js +1 -0
  76. package/dist/collection/utils/http.js.map +1 -0
  77. package/dist/collection/utils/http.unit.js +1 -0
  78. package/dist/collection/utils/http.unit.js.map +1 -0
  79. package/dist/collection/utils/public.js +1 -0
  80. package/dist/collection/utils/public.js.map +1 -0
  81. package/dist/collection/utils/reactive-controller-host.js +1 -0
  82. package/dist/collection/utils/reactive-controller-host.js.map +1 -0
  83. package/dist/collection/utils/validation/svg.js +1 -0
  84. package/dist/collection/utils/validation/svg.js.map +1 -0
  85. package/dist/components/header-integration.d.ts +11 -0
  86. package/dist/components/header-integration.js +2 -0
  87. package/dist/components/header-integration.js.map +1 -0
  88. package/dist/components/index.d.ts +4 -0
  89. package/dist/components/index.js +2 -1
  90. package/dist/components/index.js.map +1 -0
  91. package/dist/components/lmvz-action.js +2 -1
  92. package/dist/components/lmvz-action.js.map +1 -0
  93. package/dist/components/lmvz-button.js +2 -1
  94. package/dist/components/lmvz-button.js.map +1 -0
  95. package/dist/components/lmvz-card.js +2 -1
  96. package/dist/components/lmvz-card.js.map +1 -0
  97. package/dist/components/lmvz-chip.js +2 -1
  98. package/dist/components/lmvz-chip.js.map +1 -0
  99. package/dist/components/lmvz-header.js +2 -1
  100. package/dist/components/lmvz-header.js.map +1 -0
  101. package/dist/components/lmvz-icon.js +2 -1
  102. package/dist/components/lmvz-icon.js.map +1 -0
  103. package/dist/components/lmvz-input.js +2 -1
  104. package/dist/components/lmvz-input.js.map +1 -0
  105. package/dist/components/lmvz-menuitem.js +2 -1
  106. package/dist/components/lmvz-menuitem.js.map +1 -0
  107. package/dist/components/lmvz-select.d.ts +11 -0
  108. package/dist/components/lmvz-select.js +2 -0
  109. package/dist/components/lmvz-select.js.map +1 -0
  110. package/dist/components/p-B2g3aN-E.js +2 -0
  111. package/dist/components/p-B2g3aN-E.js.map +1 -0
  112. package/dist/components/p-BXdOuZTp.js +2 -0
  113. package/dist/components/p-BXdOuZTp.js.map +1 -0
  114. package/dist/components/p-BfTCfPZ1.js +3 -2
  115. package/dist/components/p-BfTCfPZ1.js.map +1 -0
  116. package/dist/components/p-BpCjj39Z.js +2 -0
  117. package/dist/components/p-BpCjj39Z.js.map +1 -0
  118. package/dist/components/p-BsHYIl56.js +2 -0
  119. package/dist/components/p-BsHYIl56.js.map +1 -0
  120. package/dist/components/p-C5rqq3bf.js +2 -0
  121. package/dist/components/p-C5rqq3bf.js.map +1 -0
  122. package/dist/components/p-CI0tffvo.js +2 -0
  123. package/dist/components/p-CI0tffvo.js.map +1 -0
  124. package/dist/components/p-CN0JX9-m.js +2 -1
  125. package/dist/components/p-CN0JX9-m.js.map +1 -0
  126. package/dist/components/p-ClmDNIy4.js +2 -0
  127. package/dist/components/p-ClmDNIy4.js.map +1 -0
  128. package/dist/components/p-DQEkWkMh.js +2 -0
  129. package/dist/components/p-DQEkWkMh.js.map +1 -0
  130. package/dist/components/p-X5fEFT9T.js +2 -0
  131. package/dist/components/p-X5fEFT9T.js.map +1 -0
  132. package/dist/components/p-vIq2biqy.js +13 -0
  133. package/dist/components/p-vIq2biqy.js.map +1 -0
  134. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  135. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  136. package/dist/esm/{assets-CvV1KMMV.js → assets-BD98wsl7.js} +4 -1
  137. package/dist/esm/assets-BD98wsl7.js.map +1 -0
  138. package/dist/esm/header-integration_7.entry.js +1016 -0
  139. package/dist/esm/header-integration_7.entry.js.map +1 -0
  140. package/dist/esm/{Effect-DyamyJqO.js → icons-D1lxdRXP.js} +975 -174
  141. package/dist/esm/icons-D1lxdRXP.js.map +1 -0
  142. package/dist/esm/{index-CekEw3_K.js → index-DoNkkDv1.js} +6 -1
  143. package/dist/esm/index-DoNkkDv1.js.map +1 -0
  144. package/dist/esm/{index-smGPjoDX.js → index-WeqgWisK.js} +11 -651
  145. package/dist/esm/index-WeqgWisK.js.map +1 -0
  146. package/dist/esm/index.js +7 -5
  147. package/dist/esm/index.js.map +1 -0
  148. package/dist/esm/lmvz-action.entry.js +5 -2
  149. package/dist/esm/lmvz-action.entry.js.map +1 -0
  150. package/dist/esm/lmvz-card.entry.js +7 -4
  151. package/dist/esm/lmvz-card.entry.js.map +1 -0
  152. package/dist/esm/lmvz-chip.entry.js +5 -2
  153. package/dist/esm/lmvz-chip.entry.js.map +1 -0
  154. package/dist/esm/lmvz-components.js +7 -4
  155. package/dist/esm/lmvz-components.js.map +1 -0
  156. package/dist/esm/loader.js +6 -3
  157. package/dist/esm/loader.js.map +1 -0
  158. package/dist/ext-libs.d.ts +1 -0
  159. package/dist/lmvz-components/index.esm.js +2 -1
  160. package/dist/lmvz-components/index.esm.js.map +1 -0
  161. package/dist/lmvz-components/lmvz-components.esm.js +2 -1
  162. package/dist/lmvz-components/lmvz-components.esm.js.map +1 -0
  163. package/dist/lmvz-components/p-33485219.entry.js +2 -0
  164. package/dist/lmvz-components/p-33485219.entry.js.map +1 -0
  165. package/dist/lmvz-components/p-76032c32.entry.js +2 -0
  166. package/dist/lmvz-components/p-76032c32.entry.js.map +1 -0
  167. package/dist/lmvz-components/p-7aeec9a8.entry.js +7 -0
  168. package/dist/lmvz-components/p-7aeec9a8.entry.js.map +1 -0
  169. package/dist/lmvz-components/p-84e0a9dd.entry.js +2 -0
  170. package/dist/lmvz-components/p-84e0a9dd.entry.js.map +1 -0
  171. package/dist/lmvz-components/p-CkJb8WVZ.js +2 -0
  172. package/dist/lmvz-components/p-CkJb8WVZ.js.map +1 -0
  173. package/dist/lmvz-components/p-DQuL1Twl.js +2 -1
  174. package/dist/lmvz-components/p-DQuL1Twl.js.map +1 -0
  175. package/dist/lmvz-components/p-WeqgWisK.js +3 -0
  176. package/dist/lmvz-components/p-WeqgWisK.js.map +1 -0
  177. package/dist/lmvz-components/p-Z9X0_ik0.js +2 -0
  178. package/dist/lmvz-components/p-Z9X0_ik0.js.map +1 -0
  179. package/dist/lmvz-components/p-eP0oxQ44.js +13 -0
  180. package/dist/lmvz-components/p-eP0oxQ44.js.map +1 -0
  181. package/dist/manifest.json +392 -68
  182. package/dist/stencil.config.base.js +45 -0
  183. package/dist/stencil.config.base.js.map +1 -0
  184. package/dist/stencil.config.dev.js +22 -0
  185. package/dist/stencil.config.dev.js.map +1 -0
  186. package/dist/stencil.config.integration.js +27 -0
  187. package/dist/stencil.config.integration.js.map +1 -0
  188. package/dist/stencil.config.js +16 -0
  189. package/dist/stencil.config.js.map +1 -0
  190. package/dist/stencil.config.prod.js +30 -0
  191. package/dist/stencil.config.prod.js.map +1 -0
  192. package/dist/types/Users/patrick.nemenz/workspace/lmvz/lmvz-ds/packages/components/.stencil/stencil.config.base.d.ts +2 -0
  193. package/dist/types/Users/patrick.nemenz/workspace/lmvz/lmvz-ds/packages/components/.stencil/stencil.config.d.ts +2 -0
  194. package/dist/types/Users/patrick.nemenz/workspace/lmvz/lmvz-ds/packages/components/.stencil/stencil.config.dev.d.ts +2 -0
  195. package/dist/types/Users/patrick.nemenz/workspace/lmvz/lmvz-ds/packages/components/.stencil/stencil.config.integration.d.ts +2 -0
  196. package/dist/types/Users/patrick.nemenz/workspace/lmvz/lmvz-ds/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  197. package/dist/types/components/lmvz-action/lmvz-action.d.ts +1 -1
  198. package/dist/types/components/lmvz-button/lmvz-button.d.ts +2 -2
  199. package/dist/types/components/lmvz-card/lmvz-card.d.ts +1 -1
  200. package/dist/types/components/lmvz-header/lmvz-header.d.ts +4 -4
  201. package/dist/types/components/lmvz-icon/lmvz-icon.d.ts +4 -4
  202. package/dist/types/components/lmvz-input/lmvz-input.d.ts +4 -4
  203. package/dist/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +3 -3
  204. package/dist/types/components/lmvz-select/lmvz-select.d.ts +24 -0
  205. package/dist/types/components.d.ts +173 -3
  206. package/dist/types/index.d.ts +1 -1
  207. package/dist/types/integration/header-integration.d.ts +5 -0
  208. package/dist/types/utils/aria/aria-validation-controller.d.ts +1 -1
  209. package/dist/types/utils/aria/element-activation-controller.d.ts +1 -1
  210. package/dist/types/utils/component.d.ts +2 -2
  211. package/dist/types/utils/http.d.ts +3 -3
  212. package/dist/types/utils/validation/svg.d.ts +1 -1
  213. package/hydrate/index.js +998 -436
  214. package/hydrate/index.mjs +998 -436
  215. package/package.json +37 -73
  216. package/readme.md +2 -2
  217. package/dist/cjs/aria-loader-BBKbBZLq.js +0 -76
  218. package/dist/cjs/component-CRc6eHcV.js +0 -138
  219. package/dist/cjs/element-activation-controller-DC_6T0Rt.js +0 -31
  220. package/dist/cjs/icons-Brr4vqiE.js +0 -653
  221. package/dist/cjs/index-Bp6Dd2i1.js +0 -94
  222. package/dist/cjs/lmvz-button.cjs.entry.js +0 -73
  223. package/dist/cjs/lmvz-header.cjs.entry.js +0 -142
  224. package/dist/cjs/lmvz-icon.cjs.entry.js +0 -87
  225. package/dist/cjs/lmvz-input.cjs.entry.js +0 -177
  226. package/dist/cjs/lmvz-menuitem.cjs.entry.js +0 -34
  227. package/dist/cjs/reactive-controller-host-DWpVosFu.js +0 -189
  228. package/dist/collection/utils/typing.js +0 -1
  229. package/dist/components/p-B3JVFwO1.js +0 -1
  230. package/dist/components/p-BaPwpeMs.js +0 -1
  231. package/dist/components/p-CSRpdnrt.js +0 -1
  232. package/dist/components/p-DK2hpvEW.js +0 -12
  233. package/dist/components/p-DcMNH3fv.js +0 -1
  234. package/dist/components/p-DugBvwmd.js +0 -1
  235. package/dist/esm/aria-loader-DB71Xewa.js +0 -69
  236. package/dist/esm/component-B3JVFwO1.js +0 -132
  237. package/dist/esm/element-activation-controller-CN0JX9-m.js +0 -29
  238. package/dist/esm/icons-C69Um2xB.js +0 -649
  239. package/dist/esm/index-BfTCfPZ1.js +0 -92
  240. package/dist/esm/lmvz-button.entry.js +0 -71
  241. package/dist/esm/lmvz-header.entry.js +0 -140
  242. package/dist/esm/lmvz-icon.entry.js +0 -85
  243. package/dist/esm/lmvz-input.entry.js +0 -175
  244. package/dist/esm/lmvz-menuitem.entry.js +0 -32
  245. package/dist/esm/reactive-controller-host-1nFoJEdT.js +0 -186
  246. package/dist/lmvz-components/p-0e5aa1a3.entry.js +0 -1
  247. package/dist/lmvz-components/p-18c18de4.entry.js +0 -1
  248. package/dist/lmvz-components/p-5775a56c.entry.js +0 -1
  249. package/dist/lmvz-components/p-814ee542.entry.js +0 -1
  250. package/dist/lmvz-components/p-9faac8f3.entry.js +0 -1
  251. package/dist/lmvz-components/p-B3JVFwO1.js +0 -1
  252. package/dist/lmvz-components/p-B3j8zrhV.js +0 -1
  253. package/dist/lmvz-components/p-BEoSvNlI.js +0 -1
  254. package/dist/lmvz-components/p-BTpia82J.js +0 -1
  255. package/dist/lmvz-components/p-BfTCfPZ1.js +0 -6
  256. package/dist/lmvz-components/p-CN0JX9-m.js +0 -1
  257. package/dist/lmvz-components/p-D7GrtdQF.js +0 -1
  258. package/dist/lmvz-components/p-DyamyJqO.js +0 -1
  259. package/dist/lmvz-components/p-c61f7daa.entry.js +0 -1
  260. package/dist/lmvz-components/p-c6bae21b.entry.js +0 -1
  261. package/dist/lmvz-components/p-cM67HC0Z.js +0 -12
  262. package/dist/lmvz-components/p-d4b68381.entry.js +0 -1
  263. package/dist/lmvz-components/p-smGPjoDX.js +0 -2
  264. package/dist/types/utils/typing.d.ts +0 -3
package/hydrate/index.mjs CHANGED
@@ -134,7 +134,7 @@ const NAMESPACE = 'lmvz-components';
134
134
  const BUILD = /* lmvz-components */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
135
135
 
136
136
  /*
137
- Stencil Hydrate Platform v4.43.2 | MIT Licensed | https://stenciljs.com
137
+ Stencil Hydrate Platform v4.43.3 | MIT Licensed | https://stenciljs.com
138
138
  */
139
139
  var __create = Object.create;
140
140
  var __defProp = Object.defineProperty;
@@ -169,7 +169,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
169
169
  __defProp(target, "default", { value: mod, enumerable: true }) ,
170
170
  mod
171
171
  ));
172
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
172
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
173
173
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
174
174
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
175
175
  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);
@@ -420,9 +420,9 @@ function getPropertyDescriptor(obj, memberName, getOnly) {
420
420
 
421
421
  // src/utils/es2022-rewire-class-members.ts
422
422
  var reWireGetterSetter = (instance, hostRef) => {
423
- var _a;
423
+ var _a2;
424
424
  const cmpMeta = hostRef.$cmpMeta$;
425
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
425
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
426
426
  members.map(([memberName, [memberFlags]]) => {
427
427
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
428
428
  const ogValue = instance[memberName];
@@ -480,13 +480,13 @@ function createStyleSheetIfNeededAndSupported(styles2) {
480
480
  // src/utils/shadow-root.ts
481
481
  var globalStyleSheet;
482
482
  function createShadowRoot(cmpMeta) {
483
- var _a;
483
+ var _a2;
484
484
  const opts = { mode: "open" };
485
485
  {
486
486
  opts.delegatesFocus = !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */);
487
487
  }
488
488
  const shadowRoot = this.attachShadow(opts);
489
- if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
489
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a2 = createStyleSheetIfNeededAndSupported()) != null ? _a2 : null;
490
490
  if (globalStyleSheet) {
491
491
  {
492
492
  shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
@@ -622,8 +622,8 @@ function dispatchSlotChangeEvent(elm) {
622
622
  elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false }));
623
623
  }
624
624
  function findSlotFromSlottedNode(slottedNode, parentHost) {
625
- var _a;
626
- parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement);
625
+ var _a2;
626
+ parentHost = parentHost || ((_a2 = slottedNode["s-ol"]) == null ? void 0 : _a2.parentElement);
627
627
  if (!parentHost) return { slotNode: null, slotName: "" };
628
628
  const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || "";
629
629
  const childNodes = internalCall(parentHost, "childNodes");
@@ -657,8 +657,8 @@ var uniqueTime = (key, measureText) => {
657
657
 
658
658
  // src/utils/query-nonce-meta-tag-content.ts
659
659
  function queryNonceMetaTagContent(doc) {
660
- var _a, _b, _c;
661
- 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;
660
+ var _a2, _b, _c;
661
+ 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;
662
662
  }
663
663
 
664
664
  // src/runtime/styles.ts
@@ -671,7 +671,7 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
671
671
  styles.set(scopeId2, style);
672
672
  };
673
673
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
674
- var _a;
674
+ var _a2;
675
675
  const scopeId2 = getScopeId(cmpMeta);
676
676
  const style = styles.get(scopeId2);
677
677
  if (!win.document) {
@@ -692,7 +692,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
692
692
  } else if (!appliedStyles.has(scopeId2)) {
693
693
  styleElm = win.document.createElement("style");
694
694
  styleElm.textContent = style;
695
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
695
+ const nonce = (_a2 = plt.$nonce$) != null ? _a2 : queryNonceMetaTagContent(win.document);
696
696
  if (nonce != null) {
697
697
  styleElm.setAttribute("nonce", nonce);
698
698
  }
@@ -839,7 +839,7 @@ var isHost = (node) => node && node.$tag$ === Host;
839
839
 
840
840
  // src/runtime/client-hydrate.ts
841
841
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
842
- var _a, _b, _c, _d;
842
+ var _a2, _b, _c, _d;
843
843
  const endHydrate = createTime("hydrateClient", tagName);
844
844
  const shadowRoot = hostElm.shadowRoot;
845
845
  const childRenderNodes = [];
@@ -886,7 +886,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
886
886
  if (childRenderNode.$tag$ === "slot") {
887
887
  node["s-cr"] = hostElm["s-cr"];
888
888
  }
889
- } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
889
+ } else if (((_a2 = childRenderNode.$tag$) == null ? void 0 : _a2.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
890
890
  const cmpMeta = getHostRef(childRenderNode.$elm$);
891
891
  if (cmpMeta) {
892
892
  const scopeId3 = getScopeId(
@@ -1231,10 +1231,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1231
1231
  parentVNode.$children$[childVNode.$index$] = childVNode;
1232
1232
  }
1233
1233
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1234
- var _a, _b;
1234
+ var _a2, _b;
1235
1235
  let slottedNode = slotNode.nextSibling;
1236
1236
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1237
- if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1237
+ if (!slottedNode || ((_a2 = slottedNode.nodeValue) == null ? void 0 : _a2.startsWith(SLOT_NODE_ID + "."))) return;
1238
1238
  do {
1239
1239
  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 */))) {
1240
1240
  slottedNode["s-sn"] = slotName;
@@ -1790,8 +1790,8 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1790
1790
  return propValue;
1791
1791
  };
1792
1792
  var getElement = (ref) => {
1793
- var _a;
1794
- return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1793
+ var _a2;
1794
+ return (_a2 = getHostRef(ref)) == null ? void 0 : _a2.$hostElement$ ;
1795
1795
  };
1796
1796
 
1797
1797
  // src/runtime/event-emitter.ts
@@ -2016,7 +2016,7 @@ var isSvgMode = false;
2016
2016
  var refCallbacksToRemove = [];
2017
2017
  var refCallbacksToAttach = [];
2018
2018
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2019
- var _a;
2019
+ var _a2;
2020
2020
  const newVNode2 = newParentVNode.$children$[childIndex];
2021
2021
  let i2 = 0;
2022
2022
  let elm;
@@ -2073,7 +2073,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
2073
2073
  elm["s-sr"] = true;
2074
2074
  elm["s-cr"] = contentRef;
2075
2075
  elm["s-sn"] = newVNode2.$name$ || "";
2076
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
2076
+ elm["s-rf"] = (_a2 = newVNode2.$attrs$) == null ? void 0 : _a2.ref;
2077
2077
  patchSlotNode(elm);
2078
2078
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
2079
2079
  if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
@@ -2409,12 +2409,12 @@ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
2409
2409
  }
2410
2410
  };
2411
2411
  function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2412
- var _a, _b;
2412
+ var _a2, _b;
2413
2413
  let scopeId2;
2414
2414
  if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
2415
2415
  const scopeName = slotNode["s-sn"];
2416
2416
  const hostName = slotNode["s-hn"];
2417
- (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
2417
+ (_a2 = newParent.classList) == null ? void 0 : _a2.add(scopeId2 + "-s");
2418
2418
  if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
2419
2419
  let child = (oldParent.__childNodes || oldParent.childNodes)[0];
2420
2420
  let found = false;
@@ -2430,7 +2430,7 @@ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
2430
2430
  }
2431
2431
  }
2432
2432
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2433
- var _a, _d, _e;
2433
+ var _a2, _d, _e;
2434
2434
  const hostElm = hostRef.$hostElement$;
2435
2435
  const cmpMeta = hostRef.$cmpMeta$;
2436
2436
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -2486,7 +2486,7 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2486
2486
  const nodeToRelocate = relocateData.$nodeToRelocate$;
2487
2487
  const slotRefNode = relocateData.$slotRefNode$;
2488
2488
  if (nodeToRelocate.nodeType === 1 /* ElementNode */ && isInitialLoad) {
2489
- nodeToRelocate["s-ih"] = (_a = nodeToRelocate.hidden) != null ? _a : false;
2489
+ nodeToRelocate["s-ih"] = (_a2 = nodeToRelocate.hidden) != null ? _a2 : false;
2490
2490
  }
2491
2491
  if (slotRefNode) {
2492
2492
  const parentNodeRef = slotRefNode.parentNode;
@@ -2546,14 +2546,14 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
2546
2546
  flushQueuedRefCallbacks();
2547
2547
  };
2548
2548
  var slotReferenceDebugNode = (slotVNode) => {
2549
- var _a;
2550
- return (_a = win.document) == null ? void 0 : _a.createComment(
2549
+ var _a2;
2550
+ return (_a2 = win.document) == null ? void 0 : _a2.createComment(
2551
2551
  `<slot${slotVNode.$name$ ? ' name="' + slotVNode.$name$ + '"' : ""}> (host=${hostTagName.toLowerCase()})`
2552
2552
  );
2553
2553
  };
2554
2554
  var originalLocationDebugNode = (nodeToRelocate) => {
2555
- var _a;
2556
- return (_a = win.document) == null ? void 0 : _a.createComment(
2555
+ var _a2;
2556
+ return (_a2 = win.document) == null ? void 0 : _a2.createComment(
2557
2557
  `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
2558
2558
  );
2559
2559
  };
@@ -2623,7 +2623,7 @@ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then
2623
2623
  }) : fn();
2624
2624
  var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
2625
2625
  var updateComponent = async (hostRef, instance, isInitialLoad) => {
2626
- var _a;
2626
+ var _a2;
2627
2627
  const elm = hostRef.$hostElement$;
2628
2628
  const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
2629
2629
  const rc = elm["s-rc"];
@@ -2655,7 +2655,7 @@ var updateComponent = async (hostRef, instance, isInitialLoad) => {
2655
2655
  endRender();
2656
2656
  endUpdate();
2657
2657
  {
2658
- const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
2658
+ const childrenPromises = (_a2 = elm["s-p"]) != null ? _a2 : [];
2659
2659
  const postUpdate = () => postUpdateComponent(hostRef);
2660
2660
  if (childrenPromises.length === 0) {
2661
2661
  postUpdate();
@@ -2726,13 +2726,13 @@ var postUpdateComponent = (hostRef) => {
2726
2726
  }
2727
2727
  };
2728
2728
  var appDidLoad = (who) => {
2729
- var _a;
2729
+ var _a2;
2730
2730
  if (BUILD.asyncQueue) {
2731
2731
  plt.$flags$ |= 2 /* appLoaded */;
2732
2732
  }
2733
2733
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2734
2734
  {
2735
- if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2735
+ if ((_a2 = plt.$orgLocNodes$) == null ? void 0 : _a2.size) {
2736
2736
  plt.$orgLocNodes$.clear();
2737
2737
  }
2738
2738
  }
@@ -2748,8 +2748,8 @@ var safeCall = (instance, method, arg, elm) => {
2748
2748
  return void 0;
2749
2749
  };
2750
2750
  var addHydratedFlag = (elm) => {
2751
- var _a;
2752
- return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
2751
+ var _a2;
2752
+ return elm.classList.add((_a2 = BUILD.hydratedSelectorName) != null ? _a2 : "hydrated") ;
2753
2753
  };
2754
2754
  var serverSideConnected = (elm) => {
2755
2755
  const children = elm.children;
@@ -2826,7 +2826,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2826
2826
 
2827
2827
  // src/runtime/proxy-component.ts
2828
2828
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2829
- var _a;
2829
+ var _a2;
2830
2830
  const prototype = Cstr.prototype;
2831
2831
  {
2832
2832
  {
@@ -2840,7 +2840,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2840
2840
  cmpMeta.$serializers$ = Cstr.serializers;
2841
2841
  }
2842
2842
  }
2843
- const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2843
+ const members = Object.entries((_a2 = cmpMeta.$members$) != null ? _a2 : {});
2844
2844
  members.map(([memberName, [memberFlags]]) => {
2845
2845
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
2846
2846
  const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
@@ -3074,7 +3074,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3074
3074
  const orgLocationNodes = [];
3075
3075
  parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes);
3076
3076
  orgLocationNodes.forEach((orgLocationNode) => {
3077
- var _a;
3077
+ var _a2;
3078
3078
  if (orgLocationNode != null && orgLocationNode["s-nr"]) {
3079
3079
  const nodeRef = orgLocationNode["s-nr"];
3080
3080
  let hostId = nodeRef["s-host-id"];
@@ -3092,7 +3092,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3092
3092
  }
3093
3093
  } else if (nodeRef.nodeType === 3 /* TextNode */) {
3094
3094
  if (hostId === 0) {
3095
- const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();
3095
+ const textContent = (_a2 = nodeRef.nodeValue) == null ? void 0 : _a2.trim();
3096
3096
  if (textContent === "") {
3097
3097
  orgLocationNode.remove();
3098
3098
  return;
@@ -3122,7 +3122,7 @@ var insertVdomAnnotations = (doc, staticComponents) => {
3122
3122
  }
3123
3123
  };
3124
3124
  var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3125
- var _a;
3125
+ var _a2;
3126
3126
  if (node == null) {
3127
3127
  return;
3128
3128
  }
@@ -3130,7 +3130,7 @@ var parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => {
3130
3130
  orgLocationNodes.push(node);
3131
3131
  }
3132
3132
  if (node.nodeType === 1 /* ElementNode */) {
3133
- const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a = node.shadowRoot) == null ? void 0 : _a.childNodes) || [])];
3133
+ const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a2 = node.shadowRoot) == null ? void 0 : _a2.childNodes) || [])];
3134
3134
  childNodes.forEach((childNode) => {
3135
3135
  const hostRef = getHostRef(childNode);
3136
3136
  if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {
@@ -3356,8 +3356,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
3356
3356
  };
3357
3357
 
3358
3358
  // node_modules/minimatch/dist/esm/ast.js
3359
+ var _a;
3359
3360
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
3360
3361
  var isExtglobType = (c) => types.has(c);
3362
+ var isExtglobAST = (c) => isExtglobType(c.type);
3363
+ var adoptionMap = /* @__PURE__ */ new Map([
3364
+ ["!", ["@"]],
3365
+ ["?", ["?", "@"]],
3366
+ ["@", ["@"]],
3367
+ ["*", ["*", "+", "?", "@"]],
3368
+ ["+", ["+", "@"]]
3369
+ ]);
3370
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
3371
+ ["!", ["?"]],
3372
+ ["@", ["?"]],
3373
+ ["+", ["?", "*"]]
3374
+ ]);
3375
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
3376
+ ["!", ["?", "@"]],
3377
+ ["?", ["?", "@"]],
3378
+ ["@", ["?", "@"]],
3379
+ ["*", ["*", "+", "?", "@"]],
3380
+ ["+", ["+", "@", "?", "*"]]
3381
+ ]);
3382
+ var usurpMap = /* @__PURE__ */ new Map([
3383
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
3384
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
3385
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
3386
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
3387
+ ]);
3361
3388
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
3362
3389
  var startNoDot = "(?!\\.)";
3363
3390
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -3367,8 +3394,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
3367
3394
  var qmark = "[^/]";
3368
3395
  var star = qmark + "*?";
3369
3396
  var starNoEmpty = qmark + "+?";
3370
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
3371
- var _AST = class _AST {
3397
+ 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;
3398
+ var AST = class {
3372
3399
  constructor(type, parent, options = {}) {
3373
3400
  __privateAdd(this, _AST_instances);
3374
3401
  __publicField(this, "type");
@@ -3421,44 +3448,44 @@ var _AST = class _AST {
3421
3448
  for (const p of parts) {
3422
3449
  if (p === "")
3423
3450
  continue;
3424
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
3451
+ if (typeof p !== "string" && !(p instanceof _a && __privateGet(p, _parent) === this)) {
3425
3452
  throw new Error("invalid part: " + p);
3426
3453
  }
3427
3454
  __privateGet(this, _parts).push(p);
3428
3455
  }
3429
3456
  }
3430
3457
  toJSON() {
3431
- var _a;
3458
+ var _a2;
3432
3459
  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())];
3433
3460
  if (this.isStart() && !this.type)
3434
3461
  ret.unshift([]);
3435
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")) {
3462
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
3436
3463
  ret.push({});
3437
3464
  }
3438
3465
  return ret;
3439
3466
  }
3440
3467
  isStart() {
3441
- var _a;
3468
+ var _a2;
3442
3469
  if (__privateGet(this, _root) === this)
3443
3470
  return true;
3444
- if (!((_a = __privateGet(this, _parent)) == null ? void 0 : _a.isStart()))
3471
+ if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
3445
3472
  return false;
3446
3473
  if (__privateGet(this, _parentIndex) === 0)
3447
3474
  return true;
3448
3475
  const p = __privateGet(this, _parent);
3449
3476
  for (let i2 = 0; i2 < __privateGet(this, _parentIndex); i2++) {
3450
3477
  const pp = __privateGet(p, _parts)[i2];
3451
- if (!(pp instanceof _AST && pp.type === "!")) {
3478
+ if (!(pp instanceof _a && pp.type === "!")) {
3452
3479
  return false;
3453
3480
  }
3454
3481
  }
3455
3482
  return true;
3456
3483
  }
3457
3484
  isEnd() {
3458
- var _a, _b, _c;
3485
+ var _a2, _b, _c;
3459
3486
  if (__privateGet(this, _root) === this)
3460
3487
  return true;
3461
- if (((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!")
3488
+ if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
3462
3489
  return true;
3463
3490
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
3464
3491
  return false;
@@ -3474,16 +3501,16 @@ var _AST = class _AST {
3474
3501
  this.push(part.clone(this));
3475
3502
  }
3476
3503
  clone(parent) {
3477
- const c = new _AST(this.type, parent);
3504
+ const c = new _a(this.type, parent);
3478
3505
  for (const p of __privateGet(this, _parts)) {
3479
3506
  c.copyIn(p);
3480
3507
  }
3481
3508
  return c;
3482
3509
  }
3483
3510
  static fromGlob(pattern, options = {}) {
3484
- var _a;
3485
- const ast = new _AST(null, void 0, options);
3486
- __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, pattern, ast, 0, options);
3511
+ var _a2;
3512
+ const ast = new _a(null, void 0, options);
3513
+ __privateMethod(_a2 = _a, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options, 0);
3487
3514
  return ast;
3488
3515
  }
3489
3516
  // returns the regular expression if there's magic, or the unescaped
@@ -3576,15 +3603,17 @@ var _AST = class _AST {
3576
3603
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
3577
3604
  // or start or whatever) and prepend ^ or / at the Regexp construction.
3578
3605
  toRegExpSource(allowDot) {
3579
- var _a;
3606
+ var _a2;
3580
3607
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
3581
- if (__privateGet(this, _root) === this)
3608
+ if (__privateGet(this, _root) === this) {
3609
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
3582
3610
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
3583
- if (!this.type) {
3611
+ }
3612
+ if (!isExtglobAST(this)) {
3584
3613
  const noEmpty = this.isStart() && this.isEnd();
3585
3614
  const src = __privateGet(this, _parts).map((p) => {
3586
- var _a2;
3587
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a2 = _AST, _AST_static, parseGlob_fn).call(_a2, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
3615
+ var _a3;
3616
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _a, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
3588
3617
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
3589
3618
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
3590
3619
  return re;
@@ -3607,7 +3636,7 @@ var _AST = class _AST {
3607
3636
  }
3608
3637
  }
3609
3638
  let end = "";
3610
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a = __privateGet(this, _parent)) == null ? void 0 : _a.type) === "!") {
3639
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
3611
3640
  end = "(?:$|\\/)";
3612
3641
  }
3613
3642
  const final2 = start2 + src + end;
@@ -3623,9 +3652,10 @@ var _AST = class _AST {
3623
3652
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
3624
3653
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
3625
3654
  const s = this.toString();
3626
- __privateSet(this, _parts, [s]);
3627
- this.type = null;
3628
- __privateSet(this, _hasMagic, void 0);
3655
+ const me = this;
3656
+ __privateSet(me, _parts, [s]);
3657
+ me.type = null;
3658
+ __privateSet(me, _hasMagic, void 0);
3629
3659
  return [s, unescape(this.toString()), false, false];
3630
3660
  }
3631
3661
  let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
@@ -3694,8 +3724,9 @@ fillNegs_fn = function() {
3694
3724
  return this;
3695
3725
  };
3696
3726
  _AST_static = new WeakSet();
3697
- parseAST_fn = function(str, ast, pos, opt) {
3698
- var _a, _b;
3727
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
3728
+ var _a2, _b, _c, _d, _e;
3729
+ const maxDepth = (_a2 = opt.maxExtglobRecursion) != null ? _a2 : 2;
3699
3730
  let escaping = false;
3700
3731
  let inBrace = false;
3701
3732
  let braceStart = -1;
@@ -3727,11 +3758,12 @@ parseAST_fn = function(str, ast, pos, opt) {
3727
3758
  acc2 += c;
3728
3759
  continue;
3729
3760
  }
3730
- if (!opt.noext && isExtglobType(c) && str.charAt(i3) === "(") {
3761
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i3) === "(" && extDepth <= maxDepth;
3762
+ if (doRecurse) {
3731
3763
  ast.push(acc2);
3732
3764
  acc2 = "";
3733
- const ext2 = new _AST(c, ast);
3734
- i3 = __privateMethod(_a = _AST, _AST_static, parseAST_fn).call(_a, str, ext2, i3, opt);
3765
+ const ext2 = new _a(c, ast);
3766
+ i3 = __privateMethod(_b = _a, _AST_static, parseAST_fn).call(_b, str, ext2, i3, opt, extDepth + 1);
3735
3767
  ast.push(ext2);
3736
3768
  continue;
3737
3769
  }
@@ -3741,7 +3773,7 @@ parseAST_fn = function(str, ast, pos, opt) {
3741
3773
  return i3;
3742
3774
  }
3743
3775
  let i2 = pos + 1;
3744
- let part = new _AST(null, ast);
3776
+ let part = new _a(null, ast);
3745
3777
  const parts = [];
3746
3778
  let acc = "";
3747
3779
  while (i2 < str.length) {
@@ -3768,19 +3800,22 @@ parseAST_fn = function(str, ast, pos, opt) {
3768
3800
  acc += c;
3769
3801
  continue;
3770
3802
  }
3771
- if (isExtglobType(c) && str.charAt(i2) === "(") {
3803
+ const doRecurse = isExtglobType(c) && str.charAt(i2) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
3804
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
3805
+ if (doRecurse) {
3806
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
3772
3807
  part.push(acc);
3773
3808
  acc = "";
3774
- const ext2 = new _AST(c, part);
3809
+ const ext2 = new _a(c, part);
3775
3810
  part.push(ext2);
3776
- i2 = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt);
3811
+ i2 = __privateMethod(_e = _a, _AST_static, parseAST_fn).call(_e, str, ext2, i2, opt, extDepth + depthAdd);
3777
3812
  continue;
3778
3813
  }
3779
3814
  if (c === "|") {
3780
3815
  part.push(acc);
3781
3816
  acc = "";
3782
3817
  parts.push(part);
3783
- part = new _AST(null, ast);
3818
+ part = new _a(null, ast);
3784
3819
  continue;
3785
3820
  }
3786
3821
  if (c === ")") {
@@ -3799,6 +3834,100 @@ parseAST_fn = function(str, ast, pos, opt) {
3799
3834
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
3800
3835
  return i2;
3801
3836
  };
3837
+ canAdoptWithSpace_fn = function(child) {
3838
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
3839
+ };
3840
+ canAdopt_fn = function(child, map2 = adoptionMap) {
3841
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
3842
+ return false;
3843
+ }
3844
+ const gc = __privateGet(child, _parts)[0];
3845
+ if (!gc || typeof gc !== "object" || gc.type === null) {
3846
+ return false;
3847
+ }
3848
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
3849
+ };
3850
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
3851
+ var _a2;
3852
+ return !!((_a2 = map2.get(this.type)) == null ? void 0 : _a2.includes(c));
3853
+ };
3854
+ adoptWithSpace_fn = function(child, index) {
3855
+ const gc = __privateGet(child, _parts)[0];
3856
+ const blank = new _a(null, gc, this.options);
3857
+ __privateGet(blank, _parts).push("");
3858
+ gc.push(blank);
3859
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
3860
+ };
3861
+ adopt_fn = function(child, index) {
3862
+ const gc = __privateGet(child, _parts)[0];
3863
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
3864
+ for (const p of __privateGet(gc, _parts)) {
3865
+ if (typeof p === "object")
3866
+ __privateSet(p, _parent, this);
3867
+ }
3868
+ __privateSet(this, _toString, void 0);
3869
+ };
3870
+ canUsurpType_fn = function(c) {
3871
+ const m = usurpMap.get(this.type);
3872
+ return !!(m == null ? void 0 : m.has(c));
3873
+ };
3874
+ canUsurp_fn = function(child) {
3875
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
3876
+ return false;
3877
+ }
3878
+ const gc = __privateGet(child, _parts)[0];
3879
+ if (!gc || typeof gc !== "object" || gc.type === null) {
3880
+ return false;
3881
+ }
3882
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
3883
+ };
3884
+ usurp_fn = function(child) {
3885
+ const m = usurpMap.get(this.type);
3886
+ const gc = __privateGet(child, _parts)[0];
3887
+ const nt = m == null ? void 0 : m.get(gc.type);
3888
+ if (!nt)
3889
+ return false;
3890
+ __privateSet(this, _parts, __privateGet(gc, _parts));
3891
+ for (const p of __privateGet(this, _parts)) {
3892
+ if (typeof p === "object")
3893
+ __privateSet(p, _parent, this);
3894
+ }
3895
+ this.type = nt;
3896
+ __privateSet(this, _toString, void 0);
3897
+ __privateSet(this, _emptyExt, false);
3898
+ };
3899
+ flatten_fn = function() {
3900
+ var _a2, _b;
3901
+ if (!isExtglobAST(this)) {
3902
+ for (const p of __privateGet(this, _parts)) {
3903
+ if (typeof p === "object")
3904
+ __privateMethod(_a2 = p, _AST_instances, flatten_fn).call(_a2);
3905
+ }
3906
+ } else {
3907
+ let iterations = 0;
3908
+ let done = false;
3909
+ do {
3910
+ done = true;
3911
+ for (let i2 = 0; i2 < __privateGet(this, _parts).length; i2++) {
3912
+ const c = __privateGet(this, _parts)[i2];
3913
+ if (typeof c === "object") {
3914
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
3915
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
3916
+ done = false;
3917
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i2);
3918
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
3919
+ done = false;
3920
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i2);
3921
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
3922
+ done = false;
3923
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
3924
+ }
3925
+ }
3926
+ }
3927
+ } while (!done && ++iterations < 10);
3928
+ }
3929
+ __privateSet(this, _toString, void 0);
3930
+ };
3802
3931
  partsToRegExp_fn = function(dot) {
3803
3932
  return __privateGet(this, _parts).map((p) => {
3804
3933
  if (typeof p === "string") {
@@ -3813,11 +3942,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
3813
3942
  let escaping = false;
3814
3943
  let re = "";
3815
3944
  let uflag = false;
3945
+ let inStar = false;
3816
3946
  for (let i2 = 0; i2 < glob.length; i2++) {
3817
3947
  const c = glob.charAt(i2);
3818
3948
  if (escaping) {
3819
3949
  escaping = false;
3820
3950
  re += (reSpecials.has(c) ? "\\" : "") + c;
3951
+ inStar = false;
3821
3952
  continue;
3822
3953
  }
3823
3954
  if (c === "\\") {
@@ -3835,16 +3966,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
3835
3966
  uflag = uflag || needUflag;
3836
3967
  i2 += consumed - 1;
3837
3968
  hasMagic = hasMagic || magic;
3969
+ inStar = false;
3838
3970
  continue;
3839
3971
  }
3840
3972
  }
3841
3973
  if (c === "*") {
3842
- if (noEmpty && glob === "*")
3843
- re += starNoEmpty;
3844
- else
3845
- re += star;
3974
+ if (inStar)
3975
+ continue;
3976
+ inStar = true;
3977
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
3846
3978
  hasMagic = true;
3847
3979
  continue;
3980
+ } else {
3981
+ inStar = false;
3848
3982
  }
3849
3983
  if (c === "?") {
3850
3984
  re += qmark;
@@ -3855,8 +3989,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
3855
3989
  }
3856
3990
  return [re, unescape(glob), !!hasMagic, uflag];
3857
3991
  };
3858
- __privateAdd(_AST, _AST_static);
3859
- var AST = _AST;
3992
+ __privateAdd(AST, _AST_static);
3993
+ _a = AST;
3860
3994
 
3861
3995
  // node_modules/minimatch/dist/esm/escape.js
3862
3996
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -3995,28 +4129,33 @@ var match$1 = (list, pattern, options = {}) => {
3995
4129
  minimatch.match = match$1;
3996
4130
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
3997
4131
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
4132
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
3998
4133
  var Minimatch = class {
3999
- options;
4000
- set;
4001
- pattern;
4002
- windowsPathsNoEscape;
4003
- nonegate;
4004
- negate;
4005
- comment;
4006
- empty;
4007
- preserveMultipleSlashes;
4008
- partial;
4009
- globSet;
4010
- globParts;
4011
- nocase;
4012
- isWindows;
4013
- platform;
4014
- windowsNoMagicRoot;
4015
- regexp;
4016
4134
  constructor(pattern, options = {}) {
4135
+ __privateAdd(this, _Minimatch_instances);
4136
+ __publicField(this, "options");
4137
+ __publicField(this, "set");
4138
+ __publicField(this, "pattern");
4139
+ __publicField(this, "windowsPathsNoEscape");
4140
+ __publicField(this, "nonegate");
4141
+ __publicField(this, "negate");
4142
+ __publicField(this, "comment");
4143
+ __publicField(this, "empty");
4144
+ __publicField(this, "preserveMultipleSlashes");
4145
+ __publicField(this, "partial");
4146
+ __publicField(this, "globSet");
4147
+ __publicField(this, "globParts");
4148
+ __publicField(this, "nocase");
4149
+ __publicField(this, "isWindows");
4150
+ __publicField(this, "platform");
4151
+ __publicField(this, "windowsNoMagicRoot");
4152
+ __publicField(this, "maxGlobstarRecursion");
4153
+ __publicField(this, "regexp");
4154
+ var _a2;
4017
4155
  assertValidPattern(pattern);
4018
4156
  options = options || {};
4019
4157
  this.options = options;
4158
+ this.maxGlobstarRecursion = (_a2 = options.maxGlobstarRecursion) != null ? _a2 : 200;
4020
4159
  this.pattern = pattern;
4021
4160
  this.platform = options.platform || defaultPlatform;
4022
4161
  this.isWindows = this.platform === "win32";
@@ -4284,10 +4423,11 @@ var Minimatch = class {
4284
4423
  for (let i2 = 0; i2 < globParts.length - 1; i2++) {
4285
4424
  for (let j = i2 + 1; j < globParts.length; j++) {
4286
4425
  const matched = this.partsMatch(globParts[i2], globParts[j], !this.preserveMultipleSlashes);
4287
- if (!matched)
4288
- continue;
4289
- globParts[i2] = matched;
4290
- globParts[j] = [];
4426
+ if (matched) {
4427
+ globParts[i2] = [];
4428
+ globParts[j] = matched;
4429
+ break;
4430
+ }
4291
4431
  }
4292
4432
  }
4293
4433
  return globParts.filter((gs) => gs.length);
@@ -4348,7 +4488,8 @@ var Minimatch = class {
4348
4488
  // out of pattern, then that's fine, as long as all
4349
4489
  // the parts match.
4350
4490
  matchOne(file, pattern, partial = false) {
4351
- const options = this.options;
4491
+ let fileStartIndex = 0;
4492
+ let patternStartIndex = 0;
4352
4493
  if (this.isWindows) {
4353
4494
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
4354
4495
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -4357,14 +4498,14 @@ var Minimatch = class {
4357
4498
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
4358
4499
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
4359
4500
  if (typeof fdi === "number" && typeof pdi === "number") {
4360
- const [fd, pd] = [file[fdi], pattern[pdi]];
4501
+ const [fd, pd] = [
4502
+ file[fdi],
4503
+ pattern[pdi]
4504
+ ];
4361
4505
  if (fd.toLowerCase() === pd.toLowerCase()) {
4362
4506
  pattern[pdi] = fd;
4363
- if (pdi > fdi) {
4364
- pattern = pattern.slice(pdi);
4365
- } else if (fdi > pdi) {
4366
- file = file.slice(fdi);
4367
- }
4507
+ patternStartIndex = pdi;
4508
+ fileStartIndex = fdi;
4368
4509
  }
4369
4510
  }
4370
4511
  }
@@ -4372,71 +4513,10 @@ var Minimatch = class {
4372
4513
  if (optimizationLevel >= 2) {
4373
4514
  file = this.levelTwoFileOptimize(file);
4374
4515
  }
4375
- this.debug("matchOne", this, { file, pattern });
4376
- this.debug("matchOne", file.length, pattern.length);
4377
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
4378
- this.debug("matchOne loop");
4379
- var p = pattern[pi];
4380
- var f = file[fi];
4381
- this.debug(pattern, p, f);
4382
- if (p === false) {
4383
- return false;
4384
- }
4385
- if (p === GLOBSTAR) {
4386
- this.debug("GLOBSTAR", [pattern, p, f]);
4387
- var fr = fi;
4388
- var pr = pi + 1;
4389
- if (pr === pl) {
4390
- this.debug("** at the end");
4391
- for (; fi < fl; fi++) {
4392
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
4393
- return false;
4394
- }
4395
- return true;
4396
- }
4397
- while (fr < fl) {
4398
- var swallowee = file[fr];
4399
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
4400
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
4401
- this.debug("globstar found match!", fr, fl, swallowee);
4402
- return true;
4403
- } else {
4404
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
4405
- this.debug("dot detected!", file, fr, pattern, pr);
4406
- break;
4407
- }
4408
- this.debug("globstar swallow a segment, and continue");
4409
- fr++;
4410
- }
4411
- }
4412
- if (partial) {
4413
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
4414
- if (fr === fl) {
4415
- return true;
4416
- }
4417
- }
4418
- return false;
4419
- }
4420
- let hit;
4421
- if (typeof p === "string") {
4422
- hit = f === p;
4423
- this.debug("string match", p, f, hit);
4424
- } else {
4425
- hit = p.test(f);
4426
- this.debug("pattern match", p, f, hit);
4427
- }
4428
- if (!hit)
4429
- return false;
4430
- }
4431
- if (fi === fl && pi === pl) {
4432
- return true;
4433
- } else if (fi === fl) {
4434
- return partial;
4435
- } else if (pi === pl) {
4436
- return fi === fl - 1 && file[fi] === "";
4437
- } else {
4438
- throw new Error("wtf?");
4516
+ if (pattern.includes(GLOBSTAR)) {
4517
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4439
4518
  }
4519
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
4440
4520
  }
4441
4521
  braceExpand() {
4442
4522
  return braceExpand(this.pattern, this.options);
@@ -4575,6 +4655,135 @@ var Minimatch = class {
4575
4655
  return minimatch.defaults(def).Minimatch;
4576
4656
  }
4577
4657
  };
4658
+ _Minimatch_instances = new WeakSet();
4659
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
4660
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
4661
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
4662
+ const [head, body, tail] = partial ? [
4663
+ pattern.slice(patternIndex, firstgs),
4664
+ pattern.slice(firstgs + 1),
4665
+ []
4666
+ ] : [
4667
+ pattern.slice(patternIndex, firstgs),
4668
+ pattern.slice(firstgs + 1, lastgs),
4669
+ pattern.slice(lastgs + 1)
4670
+ ];
4671
+ if (head.length) {
4672
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
4673
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
4674
+ return false;
4675
+ fileIndex += head.length;
4676
+ }
4677
+ let fileTailMatch = 0;
4678
+ if (tail.length) {
4679
+ if (tail.length + fileIndex > file.length)
4680
+ return false;
4681
+ let tailStart = file.length - tail.length;
4682
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
4683
+ fileTailMatch = tail.length;
4684
+ } else {
4685
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
4686
+ return false;
4687
+ }
4688
+ tailStart--;
4689
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
4690
+ return false;
4691
+ fileTailMatch = tail.length + 1;
4692
+ }
4693
+ }
4694
+ if (!body.length) {
4695
+ let sawSome = !!fileTailMatch;
4696
+ for (let i3 = fileIndex; i3 < file.length - fileTailMatch; i3++) {
4697
+ const f = String(file[i3]);
4698
+ sawSome = true;
4699
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
4700
+ return false;
4701
+ }
4702
+ }
4703
+ return partial || sawSome;
4704
+ }
4705
+ const bodySegments = [[[], 0]];
4706
+ let currentBody = bodySegments[0];
4707
+ let nonGsParts = 0;
4708
+ const nonGsPartsSums = [0];
4709
+ for (const b of body) {
4710
+ if (b === GLOBSTAR) {
4711
+ nonGsPartsSums.push(nonGsParts);
4712
+ currentBody = [[], 0];
4713
+ bodySegments.push(currentBody);
4714
+ } else {
4715
+ currentBody[0].push(b);
4716
+ nonGsParts++;
4717
+ }
4718
+ }
4719
+ let i2 = bodySegments.length - 1;
4720
+ const fileLength = file.length - fileTailMatch;
4721
+ for (const b of bodySegments) {
4722
+ b[1] = fileLength - (nonGsPartsSums[i2--] + b[0].length);
4723
+ }
4724
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
4725
+ };
4726
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
4727
+ const bs = bodySegments[bodyIndex];
4728
+ if (!bs) {
4729
+ for (let i2 = fileIndex; i2 < file.length; i2++) {
4730
+ sawTail = true;
4731
+ const f = file[i2];
4732
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
4733
+ return false;
4734
+ }
4735
+ }
4736
+ return sawTail;
4737
+ }
4738
+ const [body, after] = bs;
4739
+ while (fileIndex <= after) {
4740
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
4741
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
4742
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
4743
+ if (sub !== false)
4744
+ return sub;
4745
+ }
4746
+ const f = file[fileIndex];
4747
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
4748
+ return false;
4749
+ }
4750
+ fileIndex++;
4751
+ }
4752
+ return partial || null;
4753
+ };
4754
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
4755
+ let fi;
4756
+ let pi;
4757
+ let pl;
4758
+ let fl;
4759
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
4760
+ this.debug("matchOne loop");
4761
+ let p = pattern[pi];
4762
+ let f = file[fi];
4763
+ this.debug(pattern, p, f);
4764
+ if (p === false || p === GLOBSTAR)
4765
+ return false;
4766
+ let hit;
4767
+ if (typeof p === "string") {
4768
+ hit = f === p;
4769
+ this.debug("string match", p, f, hit);
4770
+ } else {
4771
+ hit = p.test(f);
4772
+ this.debug("pattern match", p, f, hit);
4773
+ }
4774
+ if (!hit)
4775
+ return false;
4776
+ }
4777
+ if (fi === fl && pi === pl) {
4778
+ return true;
4779
+ } else if (fi === fl) {
4780
+ return partial;
4781
+ } else if (pi === pl) {
4782
+ return fi === fl - 1 && file[fi] === "";
4783
+ } else {
4784
+ throw new Error("wtf?");
4785
+ }
4786
+ };
4578
4787
  minimatch.AST = AST;
4579
4788
  minimatch.Minimatch = Minimatch;
4580
4789
  minimatch.escape = escape;
@@ -4648,7 +4857,7 @@ function proxyHostElement(elm, cstr) {
4648
4857
  const hostRef = getHostRef(elm);
4649
4858
  const members = Object.entries(cmpMeta.$members$);
4650
4859
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
4651
- var _a, _b;
4860
+ var _a2, _b;
4652
4861
  if (memberFlags & 31 /* Prop */) {
4653
4862
  const attributeName = metaAttributeName || memberName;
4654
4863
  const attrValue = elm.getAttribute(attributeName);
@@ -4656,7 +4865,7 @@ function proxyHostElement(elm, cstr) {
4656
4865
  let attrPropVal;
4657
4866
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
4658
4867
  if (attrValue != null) {
4659
- if ((_a = cmpMeta.$deserializers$) == null ? void 0 : _a[memberName]) {
4868
+ if ((_a2 = cmpMeta.$deserializers$) == null ? void 0 : _a2[memberName]) {
4660
4869
  for (const deserializer of cmpMeta.$deserializers$[memberName]) {
4661
4870
  const [[methodName]] = Object.entries(deserializer);
4662
4871
  attrPropVal = cstr.prototype[methodName](attrValue, memberName);
@@ -4689,8 +4898,8 @@ function proxyHostElement(elm, cstr) {
4689
4898
  Object.defineProperty(elm, memberName, getterSetterDescriptor);
4690
4899
  Object.defineProperty(elm, metaAttributeName, getterSetterDescriptor);
4691
4900
  hostRef.$fetchedCbList$.push(() => {
4692
- var _a2;
4693
- if (!((_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.has(memberName))) {
4901
+ var _a3;
4902
+ if (!((_a3 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a3.has(memberName))) {
4694
4903
  setValue(
4695
4904
  elm,
4696
4905
  memberName,
@@ -4703,11 +4912,11 @@ function proxyHostElement(elm, cstr) {
4703
4912
  } else if (memberFlags & 64 /* Method */) {
4704
4913
  Object.defineProperty(elm, memberName, {
4705
4914
  value(...args) {
4706
- var _a2;
4915
+ var _a3;
4707
4916
  const ref = getHostRef(this);
4708
- return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {
4709
- var _a3;
4710
- return (_a3 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);
4917
+ return (_a3 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a3.then(() => {
4918
+ var _a4;
4919
+ return (_a4 = ref == null ? void 0 : ref.$lazyInstance$) == null ? void 0 : _a4[memberName](...args);
4711
4920
  }).catch((e) => {
4712
4921
  consoleError(e, this);
4713
4922
  });
@@ -4718,8 +4927,8 @@ function proxyHostElement(elm, cstr) {
4718
4927
  }
4719
4928
  }
4720
4929
  function componentOnReady$1() {
4721
- var _a;
4722
- return (_a = getHostRef(this)) == null ? void 0 : _a.$onReadyPromise$;
4930
+ var _a2;
4931
+ return (_a2 = getHostRef(this)) == null ? void 0 : _a2.$onReadyPromise$;
4723
4932
  }
4724
4933
  function forceUpdate2() {
4725
4934
  }
@@ -5115,7 +5324,7 @@ class LmvzAction {
5115
5324
  this.actionClick.emit(event);
5116
5325
  }
5117
5326
  render() {
5118
- return (hAsync(Host, { key: '71303bfe6ac64a96edd21800ae5e8c43a3a38c23', onClick: this._onClick.bind(this) }, hAsync("slot", { key: '94922fdfd355e7e4d1b78bedb80ae814c186b199' })));
5327
+ return (hAsync(Host, { key: '15c0f20e08cd5019abfd3bb71ec69d175dc5ba48', onClick: this._onClick.bind(this) }, hAsync("slot", { key: 'f71a7853168d1b66b0a50b0f971d140385530ac3' })));
5119
5328
  }
5120
5329
  static get style() { return lmvzActionCss(); }
5121
5330
  static get cmpMeta() { return {
@@ -5219,6 +5428,26 @@ function requireClassnames () {
5219
5428
  var classnamesExports = requireClassnames();
5220
5429
  var classNames = /*@__PURE__*/getDefaultExportFromCjs(classnamesExports);
5221
5430
 
5431
+ /**
5432
+ * Verify whether a value is a Promise by duck-testing for a 'then' function
5433
+ */
5434
+ function isPromise(value) {
5435
+ if (!value)
5436
+ return false;
5437
+ return typeof value === 'object' && typeof value.then === 'function';
5438
+ }
5439
+
5440
+ /**
5441
+ * Resolve the result of a function that may be async or not, as a Promise.
5442
+ */
5443
+ function resolvePossiblyAsyncFunction(func, args = []) {
5444
+ const res = func(...args);
5445
+ if (isPromise(res)) {
5446
+ return res;
5447
+ }
5448
+ return Promise.resolve(res);
5449
+ }
5450
+
5222
5451
  const GLOBAL_STATE_KEY = Symbol('__lmvzAriaValidationRuntimeState');
5223
5452
  const ARIA_VALIDATION_RUNTIME_CHANGED_EVENT = 'lmvz:aria-validation-runtime-changed';
5224
5453
  function getRuntimeState() {
@@ -5233,10 +5462,35 @@ function getRuntimeState() {
5233
5462
  const isAriaValidationEnabled = () => getRuntimeState().enabled;
5234
5463
  const useVerboseLogging = () => getRuntimeState().verboseLogging ?? false;
5235
5464
  function queueValidation(...args) {
5236
- const state = getRuntimeState();
5237
- if (!state.enabled || !state.runtime)
5465
+ const { enabled, runtime, loadPromise, lazyCondition } = getRuntimeState();
5466
+ if (!enabled)
5238
5467
  return;
5239
- state.runtime.enqueueValidation(...args);
5468
+ if (!lazyCondition)
5469
+ return q();
5470
+ resolvePossiblyAsyncFunction(lazyCondition).then((shouldEnqueue) => {
5471
+ if (!shouldEnqueue)
5472
+ return;
5473
+ q();
5474
+ });
5475
+ function q() {
5476
+ if (runtime)
5477
+ return runtime.enqueueValidation(...args);
5478
+ if (!loadPromise) {
5479
+ console.warn('neither runtime nor load promise found for aria validation. This should not happen, as enabling aria validation should have triggered the loading of the runtime.');
5480
+ return;
5481
+ }
5482
+ loadPromise
5483
+ .then((loadedRuntime) => {
5484
+ if (!loadedRuntime?.enqueueValidation) {
5485
+ console.error('Failed to load aria validation runtime');
5486
+ return;
5487
+ }
5488
+ loadedRuntime.enqueueValidation(...args);
5489
+ })
5490
+ .catch(() => {
5491
+ console.error('Failed to enqueue validation due to an error while loading the runtime');
5492
+ });
5493
+ }
5240
5494
  }
5241
5495
 
5242
5496
  class AriaValidationController {
@@ -5419,7 +5673,7 @@ const componentOnReady = (el, callback) => {
5419
5673
  };
5420
5674
  const inheritAttributes = (el, attributes = []) => {
5421
5675
  const attributeObject = {};
5422
- attributes.forEach(attr => {
5676
+ attributes.forEach((attr) => {
5423
5677
  if (el.hasAttribute(attr)) {
5424
5678
  const value = el.getAttribute(attr);
5425
5679
  if (value !== null) {
@@ -5501,7 +5755,7 @@ function getDeepActiveElement(root = document) {
5501
5755
  if (!activeElement) {
5502
5756
  return null;
5503
5757
  }
5504
- while (activeElement && activeElement.shadowRoot) {
5758
+ while (activeElement?.shadowRoot) {
5505
5759
  const next = activeElement.shadowRoot.activeElement;
5506
5760
  if (!next) {
5507
5761
  break;
@@ -5511,6 +5765,8 @@ function getDeepActiveElement(root = document) {
5511
5765
  return activeElement;
5512
5766
  }
5513
5767
  function canReceiveFocus(el) {
5768
+ if (!el)
5769
+ return false;
5514
5770
  return (el instanceof HTMLElement && el.tabIndex >= 0 && !el.hasAttribute('disabled') && el.getAttribute('aria-hidden') !== 'true' && el.checkVisibility() && el.offsetParent !== null);
5515
5771
  }
5516
5772
  function findFormByRef(form, el) {
@@ -5580,7 +5836,7 @@ class ReactiveControllerHost {
5580
5836
  }
5581
5837
  }
5582
5838
 
5583
- const lmvzButtonCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } `;
5839
+ const lmvzButtonCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } `;
5584
5840
 
5585
5841
  class LmvzButton extends ReactiveControllerHost {
5586
5842
  get el() { return getElement(this); }
@@ -5637,7 +5893,7 @@ class LmvzButton extends ReactiveControllerHost {
5637
5893
  };
5638
5894
  render() {
5639
5895
  this.renderHiddenButton();
5640
- return (hAsync(Host, { key: '3f3eda78349322ce5160d7aac1290a73f0adcd4a', "aria-disabled": this.disabled ? 'true' : null }, hAsync("button", { key: 'b132404d8d5f5bf0fa7e845b562c953c5ceec36c', ref: (e) => (this.validationEl = e), disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, hAsync("slot", { key: 'ce63f7f1061ec9c3f10cbcfc67998ddbf3e04c3d' }))));
5896
+ return (hAsync(Host, { key: 'c6f44d3765d579e04ab91272747035d8589e2ff2', "aria-disabled": this.disabled ? 'true' : null }, hAsync("button", { key: '9d48dfc7a6a23df1eda46e9c9035520789a08d4c', ref: (e) => (this.validationEl = e), disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, hAsync("slot", { key: '95e9fb932e477c7d6e933d2c00e6a3728e55c256' }))));
5641
5897
  }
5642
5898
  static get delegatesFocus() { return true; }
5643
5899
  static get style() { return lmvzButtonCss(); }
@@ -5678,7 +5934,7 @@ function joinPath(...parts) {
5678
5934
  return parts.filter(Boolean).join('/').replace('//', '/').replace('/./', '/');
5679
5935
  }
5680
5936
 
5681
- const lmvzCardCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } .sc-lmvz-card-h { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: flex; min-width: var(--lmvz-other-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-other-component-card-maxwidth, 21.6875rem); flex-direction: column; align-items: flex-start; border-radius: var(--lmvz-semantic-border-radius-lg, 14px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); } *.sc-lmvz-card { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .top.sc-lmvz-card { display: flex; padding: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); flex-direction: column; justify-content: center; align-items: center; align-self: stretch; } .bottom.sc-lmvz-card { display: flex; min-width: 150px; padding: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)); flex-direction: column; align-items: flex-start; align-self: stretch; } .title.sc-lmvz-card { margin: 0; display: flex; justify-content: center; align-items: center; align-self: stretch; padding-bottom: var(--lmvz-global-s4, 4px); overflow-wrap: break-word; font: var(--lmvz-typography-heading-2xl, 500 clamp(2rem, 1.94rem + 0.26vw, 2.25rem) / 1.2 Router); } .description.sc-lmvz-card { display: flex; margin: 0; padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-items: flex-start; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .image-wrapper.sc-lmvz-card { aspect-ratio: 4 / 3; width: 100%; background-size: cover; background-position: center; flex: 1 0 0; align-self: stretch; border-radius: var(--lmvz-semantic-border-radius-md, 6px); } .actions.sc-lmvz-card { margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem)); display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-self: stretch; } button.primary.sc-lmvz-card, lmvz-button.primary.sc-lmvz-card { display: flex; justify-content: center; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); flex: 1 0 0; }`;
5937
+ const lmvzCardCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } } .sc-lmvz-card-h { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: flex; min-width: var(--lmvz-other-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-other-component-card-maxwidth, 21.6875rem); flex-direction: column; align-items: flex-start; border-radius: var(--lmvz-semantic-border-radius-lg, 14px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); } *.sc-lmvz-card { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .top.sc-lmvz-card { display: flex; padding: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); flex-direction: column; justify-content: center; align-items: center; align-self: stretch; } .bottom.sc-lmvz-card { display: flex; min-width: 150px; padding: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)); flex-direction: column; align-items: flex-start; align-self: stretch; } .title.sc-lmvz-card { margin: 0; display: flex; justify-content: center; align-items: center; align-self: stretch; padding-bottom: var(--lmvz-global-s4, 4px); overflow-wrap: break-word; font: var(--lmvz-typography-heading-2xl, 500 clamp(2rem, 1.94rem + 0.26vw, 2.25rem) / 1.2 Router); } .description.sc-lmvz-card { display: flex; margin: 0; padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-items: flex-start; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .image-wrapper.sc-lmvz-card { aspect-ratio: 4 / 3; width: 100%; background-size: cover; background-position: center; flex: 1 0 0; align-self: stretch; border-radius: var(--lmvz-semantic-border-radius-md, 6px); } .actions.sc-lmvz-card { margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem)); display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-self: stretch; } button.primary.sc-lmvz-card, lmvz-button.primary.sc-lmvz-card { display: flex; justify-content: center; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); flex: 1 0 0; }`;
5682
5938
 
5683
5939
  class LmvzCard {
5684
5940
  constructor(hostRef) {
@@ -5703,7 +5959,7 @@ class LmvzCard {
5703
5959
  const imgStyle = {
5704
5960
  backgroundImage: `url(${this.imageUrl ?? this.fallbackImage})`,
5705
5961
  };
5706
- return (hAsync(Host, { key: 'ba2e8d9e25428c744da2470cbd677306c56b09ae', role: "article" }, hAsync("div", { key: '54ff7545559a4b6fb00c94909717234f4dfedd7c', class: "top" }, hAsync("div", { key: '7bff35f247b6e8aca9b6346103139daa65ca16a3', class: "image-wrapper", style: imgStyle }, hAsync("div", { key: 'c2c3d21227175b9dc0a55c75294f6c21bc713a26', class: "chip-slot" }, hAsync("slot", { key: '1a7002aab5fc3f9f698c3d1678f8819ea36f91d3', name: "chip" })))), hAsync("div", { key: 'a313321abe4da83db4b2ba64fdefa28edde93d41', class: "bottom" }, hAsync("header", { key: 'f5ba333fcaa59d5b4f61dee94aba4628f49db9d7' }, hAsync("h2", { key: 'b7d9ad6944b136476703cde89f885b189583eef1', class: "title" }, this.cardTitle)), hAsync("p", { key: '6594626904a4f9fbc53d5956b71bbdefe00add8c', class: "description" }, this.description), hAsync("div", { key: 'd8bbfebeb572fcf6990160a0dba7c5ae8a5a7fc7', class: "actions" }, hAsync("button", { key: '6311a97a18412f8fbf8eb33e8a0f7a17700e71c6', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), hAsync("button", { key: '12033ad5018d100f84f0149d83dc965d8e5b2c66', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, hAsync("span", { key: 'e11f8008542b4f7f70d1273bb31200c50d02aabb', class: "icon-placeholder" }, "..."))))));
5962
+ return (hAsync(Host, { key: '46c2832b4f90b9eb222749632bc7ad59cd645e10', role: "article" }, hAsync("div", { key: 'cc387fe96cff2dd04c24f75cf838a2bf6f438279', class: "top" }, hAsync("div", { key: 'f9a54a5f81378ef4265e1d74c36c78af002e8874', class: "image-wrapper", style: imgStyle }, hAsync("div", { key: '76daed00408f7ae9ee46977637ddcd3d4f846380', class: "chip-slot" }, hAsync("slot", { key: '6ad522ef7428166b876d0218ef8d801c4ef337f1', name: "chip" })))), hAsync("div", { key: '9c9799668ac199cfecbe10061e271d70d70e2d07', class: "bottom" }, hAsync("header", { key: '1bec743235bea5c7ab163225ffbd7bc6cf11f754' }, hAsync("h2", { key: '06f8e14153328bc5ca920e71e09d9343047c440c', class: "title" }, this.cardTitle)), hAsync("p", { key: '86b95db4e6464ca3236b4a03798013c3580819bf', class: "description" }, this.description), hAsync("div", { key: '553dc998d5318a4730196baa0b9baff3a0a3369f', class: "actions" }, hAsync("button", { key: '7532d01b46769198c23a1b1015c187fdefce146a', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), hAsync("button", { key: '633d679ae59b1896aa2a06e04b4564569cf27a7d', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, hAsync("span", { key: 'b72c45f93d259502b9d7c5ffb19e292a53c60ec6', class: "icon-placeholder" }, "..."))))));
5707
5963
  }
5708
5964
  static get assetsDirs() { return ["../../assets"]; }
5709
5965
  static get style() { return lmvzCardCss(); }
@@ -5730,7 +5986,7 @@ class LmvzChip {
5730
5986
  }
5731
5987
  text;
5732
5988
  render() {
5733
- return hAsync(Host, { key: 'b247f41d22bcf77998bf5a49669f1aa8d7fd3a63' }, this.text);
5989
+ return hAsync(Host, { key: 'd128e24bb90891ebd13d13a8e27c06782363cace' }, this.text);
5734
5990
  }
5735
5991
  static get style() { return lmvzChipCss(); }
5736
5992
  static get cmpMeta() { return {
@@ -5771,19 +6027,21 @@ class ListKeyboardNavigationController {
5771
6027
  }
5772
6028
  };
5773
6029
  getNextFocusableElement(current, direction) {
6030
+ if (!current)
6031
+ return undefined;
5774
6032
  const { elements } = this;
5775
6033
  const currentIndex = elements.indexOf(current);
5776
6034
  if (currentIndex === -1)
5777
- return null;
5778
- let nextIndex = null;
6035
+ return undefined;
6036
+ let nextIndex = undefined;
5779
6037
  if (direction === 'down') {
5780
6038
  nextIndex = (currentIndex + 1) % elements.length;
5781
6039
  }
5782
6040
  else if (direction === 'up') {
5783
6041
  nextIndex = (currentIndex - 1 + elements.length) % elements.length;
5784
6042
  }
5785
- if (nextIndex == null)
5786
- return null;
6043
+ if (nextIndex == undefined)
6044
+ return undefined;
5787
6045
  const candidate = elements[nextIndex];
5788
6046
  if (!canReceiveFocus(candidate))
5789
6047
  return this.getNextFocusableElement(candidate, direction);
@@ -5795,16 +6053,18 @@ const lmvzHeaderCss = () => `:host{display:flex;width:100vw;flex-direction:row;a
5795
6053
 
5796
6054
  class LmvzHeader extends ReactiveControllerHost {
5797
6055
  get el() { return getElement(this); }
5798
- validationEl = this.el;
6056
+ get validationEl() {
6057
+ return this.el;
6058
+ }
5799
6059
  primarySlot;
5800
6060
  secondarySlot;
5801
6061
  secondaryNav;
5802
6062
  keyboardNavigationController = new ListKeyboardNavigationController(this);
5803
6063
  get primaryMenuitems() {
5804
- return this.primarySlot.assignedElements({ flatten: false });
6064
+ return this.primarySlot?.assignedElements({ flatten: false }) || [];
5805
6065
  }
5806
6066
  get secondaryMenuitems() {
5807
- return this.secondarySlot.assignedElements({ flatten: true });
6067
+ return this.secondarySlot?.assignedElements({ flatten: true }) || [];
5808
6068
  }
5809
6069
  get role() {
5810
6070
  return 'banner';
@@ -5823,9 +6083,9 @@ class LmvzHeader extends ReactiveControllerHost {
5823
6083
  this.updateElementsActive();
5824
6084
  }
5825
6085
  componentDidLoad() {
5826
- this.primarySlot.addEventListener('slotchange', this.handlePrimaryNavItemsChange.bind(this));
6086
+ this.primarySlot?.addEventListener('slotchange', this.handlePrimaryNavItemsChange.bind(this));
5827
6087
  this.handlePrimaryNavItemsChange();
5828
- this.secondarySlot.addEventListener('slotchange', this.handleSecondaryNavItemsChange.bind(this));
6088
+ this.secondarySlot?.addEventListener('slotchange', this.handleSecondaryNavItemsChange.bind(this));
5829
6089
  super.componentDidLoad();
5830
6090
  }
5831
6091
  handlePrimaryNavItemsChange() {
@@ -5853,14 +6113,18 @@ class LmvzHeader extends ReactiveControllerHost {
5853
6113
  }
5854
6114
  updateElementsActive() {
5855
6115
  const items = this.primaryMenuitems;
5856
- let label;
6116
+ if (!items.length)
6117
+ return;
6118
+ let label = '';
5857
6119
  items.forEach((el) => {
5858
6120
  const isActive = el.id === this.lmvzActiveNav;
5859
6121
  if (isActive)
5860
6122
  label = el.textContent || el.id;
5861
6123
  el.setAttribute('aria-expanded', isActive ? 'true' : 'false');
5862
6124
  });
5863
- this.secondaryNav.setAttribute('aria-label', `Untermenü für ${label}`);
6125
+ if (!label)
6126
+ return;
6127
+ this.secondaryNav?.setAttribute('aria-label', `Untermenü für ${label}`);
5864
6128
  }
5865
6129
  delegateFocus() {
5866
6130
  const firstFocusable = this.primaryMenuitems[0];
@@ -5869,7 +6133,7 @@ class LmvzHeader extends ReactiveControllerHost {
5869
6133
  }
5870
6134
  }
5871
6135
  render() {
5872
- return (hAsync(Host, { key: 'e5efeeb233de82c44e23302d20ebb488dfc6307b', onFocus: this.delegateFocus.bind(this) }, hAsync("div", { key: '5e34efe17901ec990d09cd6764c37858ced1f021', class: "brand" }, hAsync("slot", { key: 'd30fa8bf8e77a6f02bad45dbad58fe9bbdc8b3f3', name: "brand" }, hAsync("img", { key: '074192bf3b5b4bcdb19302a954c56c5c61ee4b8f', id: "fallback-logo-lmvz", src: logoSvg, alt: "Lehrmittelverlag Z\u00FCrich" }))), hAsync("nav", { key: '663f04ecb9d6ea026f9476888b532f8e1c4e432c', "aria-label": "Hauptnavigation" }, hAsync("div", { key: 'ed0f492144c2b94822db02733c371329a95d8a1e', role: "menubar", class: "primary-menubar" }, hAsync("slot", { key: 'cbcf15f96b5b6c2133506902dc992c962e4873fb', name: "nav-primary", ref: (el) => (this.primarySlot = el) }), hAsync("div", { key: '109ca0ea7ee937c9a1a4a510305595486ea48d94', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: (el) => (this.secondaryNav = el) }, hAsync("slot", { key: 'b88d0da4772cf171854c369fa4e01131377c4f35', name: this.secondarySlotName, ref: (el) => (this.secondarySlot = el) })))), hAsync("div", { key: '4f024b948ea1ebce1ef914b1149420cd9ed817dd', class: "actions" }, hAsync("slot", { key: 'b1f6cff936e2a8fa5c0ff4e3bcc938a5c4f88e0c', name: "actions" }))));
6136
+ return (hAsync(Host, { key: '35883b5d4a92d10b5b010d822fb2233604464f9b', onFocus: this.delegateFocus.bind(this) }, hAsync("div", { key: '6fdec3af75bab2b076651b8cfef4aec8e23326a6', class: "brand" }, hAsync("slot", { key: '3127b4223b8bebfe425efc7ce45626f37fbf76b9', name: "brand" }, hAsync("img", { key: '20b3dd598e320c6950fb08bbd55dd80c47552eaf', id: "fallback-logo-lmvz", src: logoSvg, alt: "Lehrmittelverlag Z\u00FCrich" }))), hAsync("nav", { key: 'c3bf07f78930085c1a7b89421506bcd41d139911', "aria-label": "Hauptnavigation" }, hAsync("div", { key: 'fbc5199080f52da4f10c8c14fbbc0877ecc5f31c', role: "menubar", class: "primary-menubar" }, hAsync("slot", { key: '4210d213dcf7a1a27a73f2a9cf7ff97fec62f0db', name: "nav-primary", ref: (el) => (this.primarySlot = el) }), hAsync("div", { key: '7b91c269f75e1245f75d471ec5bb7eeabfe1094d', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: (el) => (this.secondaryNav = el) }, hAsync("slot", { key: 'e23eb0f222b49d912bb45870df6d9b0d01f43788', name: this.secondarySlotName, ref: (el) => (this.secondarySlot = el) })))), hAsync("div", { key: '4b19026d5b2e54aa7aed072ce57de4acaa75cb4f', class: "actions" }, hAsync("slot", { key: '8f02d5d178bb60b40604fcd1be74d373d89c911f', name: "actions" }))));
5873
6137
  }
5874
6138
  static get watchers() { return {
5875
6139
  "lmvzActiveNav": [{
@@ -6607,10 +6871,13 @@ function compareBoth(self, that) {
6607
6871
  }
6608
6872
  }
6609
6873
  if (structuralRegionState.enabled) {
6874
+ if (self === null || that === null) {
6875
+ return false;
6876
+ }
6610
6877
  if (Array.isArray(self) && Array.isArray(that)) {
6611
6878
  return self.length === that.length && self.every((v, i) => compareBoth(v, that[i]));
6612
6879
  }
6613
- if (Object.getPrototypeOf(self) === Object.prototype && Object.getPrototypeOf(self) === Object.prototype) {
6880
+ if (Object.getPrototypeOf(self) === Object.prototype && Object.getPrototypeOf(that) === Object.prototype) {
6614
6881
  const keysSelf = Object.keys(self);
6615
6882
  const keysThat = Object.keys(that);
6616
6883
  if (keysSelf.length === keysThat.length) {
@@ -6739,7 +7006,7 @@ const OP_FAILURE = "Failure";
6739
7006
  /** @internal */
6740
7007
  const OP_WITH_RUNTIME = "WithRuntime";
6741
7008
 
6742
- let moduleVersion = "3.19.14";
7009
+ let moduleVersion = "3.21.0";
6743
7010
  const getCurrentVersion = () => moduleVersion;
6744
7011
 
6745
7012
  /** @internal */
@@ -9229,34 +9496,33 @@ const renderErrorCause = (cause, prefix) => {
9229
9496
  return stack;
9230
9497
  };
9231
9498
  /** @internal */
9232
- class PrettyError extends globalThis.Error {
9233
- span = undefined;
9234
- constructor(originalError) {
9235
- const originalErrorIsObject = typeof originalError === "object" && originalError !== null;
9236
- const prevLimit = Error.stackTraceLimit;
9237
- Error.stackTraceLimit = 1;
9238
- super(prettyErrorMessage(originalError), originalErrorIsObject && "cause" in originalError && typeof originalError.cause !== "undefined" ? {
9239
- cause: new PrettyError(originalError.cause)
9240
- } : undefined);
9241
- if (this.message === "") {
9242
- this.message = "An error has occurred";
9243
- }
9244
- Error.stackTraceLimit = prevLimit;
9245
- this.name = originalError instanceof Error ? originalError.name : "Error";
9246
- if (originalErrorIsObject) {
9247
- if (spanSymbol in originalError) {
9248
- this.span = originalError[spanSymbol];
9249
- }
9250
- Object.keys(originalError).forEach(key => {
9251
- if (!(key in this)) {
9252
- // @ts-expect-error
9253
- this[key] = originalError[key];
9254
- }
9255
- });
9256
- }
9257
- this.stack = prettyErrorStack(`${this.name}: ${this.message}`, originalError instanceof Error && originalError.stack ? originalError.stack : "", this.span);
9499
+ const makePrettyError = originalError => {
9500
+ const originalErrorIsObject = typeof originalError === "object" && originalError !== null;
9501
+ const prevLimit = Error.stackTraceLimit;
9502
+ Error.stackTraceLimit = 1;
9503
+ const error = new Error(prettyErrorMessage(originalError), originalErrorIsObject && "cause" in originalError && typeof originalError.cause !== "undefined" ? {
9504
+ cause: makePrettyError(originalError.cause)
9505
+ } : undefined);
9506
+ Error.stackTraceLimit = prevLimit;
9507
+ if (error.message === "") {
9508
+ error.message = "An error has occurred";
9509
+ }
9510
+ Error.stackTraceLimit = prevLimit;
9511
+ error.name = originalError instanceof Error ? originalError.name : "Error";
9512
+ if (originalErrorIsObject) {
9513
+ if (spanSymbol in originalError) {
9514
+ error.span = originalError[spanSymbol];
9515
+ }
9516
+ Object.keys(originalError).forEach(key => {
9517
+ if (!(key in error)) {
9518
+ // @ts-expect-error
9519
+ error[key] = originalError[key];
9520
+ }
9521
+ });
9258
9522
  }
9259
- }
9523
+ error.stack = prettyErrorStack(`${error.name}: ${error.message}`, originalError instanceof Error && originalError.stack ? originalError.stack : "", error.span);
9524
+ return error;
9525
+ };
9260
9526
  /**
9261
9527
  * A utility function for generating human-readable error messages from a generic error of type `unknown`.
9262
9528
  *
@@ -9344,10 +9610,10 @@ const spanSymbol = /*#__PURE__*/Symbol.for("effect/SpanAnnotation");
9344
9610
  const prettyErrors = cause => reduceWithContext(cause, void 0, {
9345
9611
  emptyCase: () => [],
9346
9612
  dieCase: (_, unknownError) => {
9347
- return [new PrettyError(unknownError)];
9613
+ return [makePrettyError(unknownError)];
9348
9614
  },
9349
9615
  failCase: (_, error) => {
9350
- return [new PrettyError(error)];
9616
+ return [makePrettyError(error)];
9351
9617
  },
9352
9618
  interruptCase: () => [],
9353
9619
  parallelCase: (_, l, r) => [...l, ...r],
@@ -9667,7 +9933,7 @@ class LmvzIcon extends ReactiveControllerHost {
9667
9933
  disconnectedCallback() {
9668
9934
  if (this.intersectionObserver) {
9669
9935
  this.intersectionObserver.disconnect();
9670
- this.intersectionObserver = null;
9936
+ this.intersectionObserver = undefined;
9671
9937
  }
9672
9938
  super.disconnectedCallback();
9673
9939
  }
@@ -9682,7 +9948,7 @@ class LmvzIcon extends ReactiveControllerHost {
9682
9948
  super.componentDidRender();
9683
9949
  }
9684
9950
  render() {
9685
- return hAsync(Host, { key: '8b1ce550253e994650fe91de38496aff7c7eccc2', role: 'img', "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
9951
+ return hAsync(Host, { key: 'f5c2f8025d0e9598d903e72770ebca6cad01961c', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
9686
9952
  }
9687
9953
  waitUntilVisible(callback, rootMargin = 50) {
9688
9954
  {
@@ -9719,7 +9985,9 @@ const lmvzInputCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.compone
9719
9985
  let inputIdCounter = 0;
9720
9986
  class LmvzInput extends ReactiveControllerHost {
9721
9987
  get el() { return getElement(this); }
9722
- validationEl = this.el;
9988
+ get validationEl() {
9989
+ return this.el;
9990
+ }
9723
9991
  lmvzInput;
9724
9992
  internals;
9725
9993
  nativeInputElement;
@@ -9775,9 +10043,13 @@ class LmvzInput extends ReactiveControllerHost {
9775
10043
  }
9776
10044
  async setValue(newValue) {
9777
10045
  const input = this.nativeInputElement;
9778
- this.value = input.value = newValue ?? '';
9779
- this.internals.setFormValue?.(newValue);
9780
- this.lmvzInput.emit(newValue);
10046
+ const val = newValue ?? '';
10047
+ if (input) {
10048
+ input.value = val;
10049
+ }
10050
+ this.value = val;
10051
+ this.internals.setFormValue?.(val);
10052
+ this.lmvzInput.emit(val);
9781
10053
  }
9782
10054
  async focusInput() {
9783
10055
  this.nativeInputElement?.focus();
@@ -9816,13 +10088,13 @@ class LmvzInput extends ReactiveControllerHost {
9816
10088
  }));
9817
10089
  }
9818
10090
  componentWillLoad() {
9819
- this.initialValue = this.value;
10091
+ this.initialValue = this.value ?? '';
9820
10092
  super.componentWillLoad();
9821
10093
  }
9822
10094
  formAssociatedCallback(form) {
9823
10095
  if (!form)
9824
10096
  return;
9825
- this.internals.setFormValue?.(this.value);
10097
+ this.internals.setFormValue?.(this.value ?? '');
9826
10098
  }
9827
10099
  formResetCallback() {
9828
10100
  this.internals.setValidity({});
@@ -9866,9 +10138,9 @@ class LmvzInput extends ReactiveControllerHost {
9866
10138
  render() {
9867
10139
  const hasValue = Boolean(this.value);
9868
10140
  const shouldFloatLabel = hasValue || Boolean(this.placeholder);
9869
- return (hAsync("div", { key: '79ab97e1e1d0217d5302ca1dea7087292ef19fc7', class: classNames('input-container', {
10141
+ return (hAsync("div", { key: '195e2c5046d48d01f4912993bde3c8d2b3a73d1d', class: classNames('input-container', {
9870
10142
  'interaction-filled': hasValue,
9871
- }) }, hAsync("div", { key: '9e59a33c261f610f93e1d6db3a07107f9300bbda', class: 'input-wrapper' }, hAsync("slot", { key: 'fadb3f5e49afa817014cdbd44774462b467827f4', name: 'before-input' }), hAsync("div", { key: '27d592787bb841fbd430c2e8ce0adc10f59b68ec', class: 'label-input-group' }, hAsync("label", { key: 'f83f154f356660ecafde254b5437ce6c42898b54', htmlFor: this.inputId, class: classNames({ floating: shouldFloatLabel }) }, this.label, this.required && (hAsync("span", { key: 'b51463179a2099ecd687ccd2480136379b0d0502', class: 'required-indicator', "aria-hidden": 'true' }, ' ', "*"))), hAsync("input", { key: '30d8308f286e82fba5d2ebdad972509c06294543', id: this.inputId, ref: (el) => (this.nativeInputElement = el), type: this.type, min: this.min, max: this.max, step: this.step, value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, form: this.form, autocomplete: this.autocomplete, inputmode: this.inputmode, autocorrect: this.autocorrect, autocapitalize: this.autocapitalize, spellcheck: this.spellcheck, autofocus: this.autofocus, minlength: this.minlength, maxlength: this.maxlength, pattern: this.pattern, "aria-invalid": this.error ? 'true' : 'false', "aria-required": this.required ? 'true' : 'false', "aria-describedby": this.describedBy, "aria-errormessage": this.errorId, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur })), hAsync("slot", { key: 'a8448a0827ce24194b21b8281d2b54eb76f24652', name: 'after-input' })), hAsync("div", { key: '79413854b97380812c84f3128d1db053d4154008', id: this.helperId, role: 'status' }, this.helperText || null), hAsync("div", { key: 'd34c6b421688934b69917f6da1f9bb22c220a6f9', id: this.errorId, role: 'alert' }, (this.showErrorMessage && this.errorMessage) || null)));
10143
+ }) }, hAsync("div", { key: '66bc3deab063a309eefc0de5ebf7f54331c9190c', class: "input-wrapper" }, hAsync("slot", { key: 'fac318070421d526bb09ba0dd0efdecf8964d952', name: "before-input" }), hAsync("div", { key: '1945152dc010d571c5886f222332b057e89e496c', class: "label-input-group" }, hAsync("label", { key: 'd57392c2c83b1e5f362dd33fa9d060e570417f3f', htmlFor: this.inputId, class: classNames({ floating: shouldFloatLabel }) }, this.label, this.required && (hAsync("span", { key: '507603a50eb08f0f4f5e2b87b2550fe6b657c4d4', class: "required-indicator", "aria-hidden": "true" }, ' ', "*"))), hAsync("input", { key: '0fe916fef48618331806142c0d3500d9e6dec9cb', id: this.inputId, ref: (el) => (this.nativeInputElement = el), type: this.type, min: this.min, max: this.max, step: this.step, value: this.value, name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, required: this.required, form: this.form, autocomplete: this.autocomplete, inputmode: this.inputmode, autocorrect: this.autocorrect, autocapitalize: this.autocapitalize, spellcheck: this.spellcheck, autofocus: this.autofocus, minlength: this.minlength, maxlength: this.maxlength, pattern: this.pattern, "aria-invalid": this.error ? 'true' : 'false', "aria-required": this.required ? 'true' : 'false', "aria-describedby": this.describedBy, "aria-errormessage": this.errorId, onInput: this.handleInput, onChange: this.handleChange, onFocus: this.handleFocus, onBlur: this.handleBlur })), hAsync("slot", { key: 'b415bedde58862e5bd7621f73a1d77bc478850a3', name: "after-input" })), hAsync("div", { key: 'bc0e07f5243417f4c632eb2f7976dc944fdbf17a', id: this.helperId, role: "status" }, this.helperText || null), hAsync("div", { key: '62e2267453b92edd47077b233cb231a1deecedc4', id: this.errorId, role: "alert" }, (this.showErrorMessage && this.errorMessage) || null)));
9872
10144
  }
9873
10145
  static get formAssociated() { return true; }
9874
10146
  static get watchers() { return {
@@ -9927,7 +10199,9 @@ const lmvzMenuitemCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.comp
9927
10199
 
9928
10200
  class LmvzMenuItem extends ReactiveControllerHost {
9929
10201
  get el() { return getElement(this); }
9930
- validationEl = this.el;
10202
+ get validationEl() {
10203
+ return this.el;
10204
+ }
9931
10205
  validationSlot;
9932
10206
  get role() {
9933
10207
  return 'menuitem';
@@ -9944,7 +10218,7 @@ class LmvzMenuItem extends ReactiveControllerHost {
9944
10218
  this.addController(new ElementActivationController(this));
9945
10219
  }
9946
10220
  render() {
9947
- return (hAsync(Host, { key: 'a022a198618ac628cb39c97b29cf0c332b522e79' }, hAsync("slot", { key: 'c8dab82b31b49db3d966cacb1cf9ef5cb1763797', ref: e => (this.validationSlot = e) })));
10221
+ return (hAsync(Host, { key: '1a37d2873a29c713cf95c60070c8dcf045c9f8fc' }, hAsync("slot", { key: 'c6578bcfdb9f0cebad095d80f0ed63cf663bf91e', ref: (e) => (this.validationSlot = e) })));
9948
10222
  }
9949
10223
  static get style() { return lmvzMenuitemCss(); }
9950
10224
  static get cmpMeta() { return {
@@ -9960,6 +10234,86 @@ class LmvzMenuItem extends ReactiveControllerHost {
9960
10234
  }; }
9961
10235
  }
9962
10236
 
10237
+ const chevronDownSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjMzMzQgOC42NjY2M0wxMi4wMDAxIDE3TDMuNjY2NzUgOC42NjY2MyIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=';
10238
+
10239
+ const lmvzSelectCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-select-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --lmvz-internal-select-floating-label-top-offset: 0.375rem; padding-top: var(--lmvz-internal-select-floating-label-top-offset); --lmvz-select-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-select-bg: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-select-bg-hover: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-select-text-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-select-label-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-padding-x: var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-select-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-select-height: 40px; --lmvz-select-label-font-size: var(--lmvz-component-component-typography-body-sm-font-size, 0.75rem); --lmvz-select-label-top-offset: calc(var(--lmvz-internal-select-floating-label-top-offset) * -1); --lmvz-select-label-minimized-padding-x: 4px; --lmvz-select-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); --lmvz-select-helper-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --lmvz-select-focus-color: var(--lmvz-semantic-color-status-on-selected, #0e7ab4); --lmvz-select-error-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); } .select-wrapper.sc-lmvz-select { position: relative; height: var(--lmvz-select-height); } label.sc-lmvz-select { position: absolute; top: 50%; left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-label-color); line-height: normal; white-space: nowrap; pointer-events: none; z-index: 2; transform: translateY(-50%); transform-origin: left top; transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out; } label.assistive-label.sc-lmvz-select { opacity: 0; padding: 0; } label.floating-label.sc-lmvz-select { top: var(--lmvz-select-label-top-offset); transform: translateY(0) scale(0.85); left: calc(var(--lmvz-select-padding-x) - 2px); background-color: var(--lmvz-select-bg); padding: 0 var(--lmvz-select-label-minimized-padding-x); opacity: 1; font-weight: 500; } label.sc-lmvz-select > span[aria-hidden='true'].sc-lmvz-select, div[aria-hidden='true'].sc-lmvz-select > span.sc-lmvz-select:first-child > span[aria-hidden='true'].sc-lmvz-select { color: var(--lmvz-select-error-color); margin-left: 2px; display: inline-block; line-height: 0; vertical-align: middle; } div[aria-hidden].sc-lmvz-select { display: flex; align-items: center; gap: var(--lmvz-select-gap); height: 100%; padding: 0 var(--lmvz-select-padding-x); border-radius: var(--lmvz-select-radius); background-color: var(--lmvz-select-bg); cursor: pointer; position: relative; z-index: 1; transition: background-color 0.15s ease; } .sc-lmvz-select-h:not([disabled]) .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select { background-color: var(--lmvz-select-bg-hover); } .select-wrapper.sc-lmvz-select:focus-within div[aria-hidden].sc-lmvz-select { outline: 2px solid var(--lmvz-select-focus-color); outline-offset: 2px; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { flex: 1 0 0; font-size: var(--lmvz-component-component-typography-body-md-font-size, 0.875rem); font-weight: var(--lmvz-global-font-weight-500, 500); color: var(--lmvz-select-text-color); line-height: 1.4; letter-spacing: var(--lmvz-component-body-md-letter-spacing, 0); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:last-child { flex-shrink: 0; display: flex; align-items: center; justify-content: center; } img.sc-lmvz-select { display: block; width: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); height: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); } select.sc-lmvz-select { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; border: none; background: transparent; margin: 0; padding: 0; } [disabled].sc-lmvz-select-h .select-wrapper.sc-lmvz-select { opacity: var(--lmvz-select-disabled-opacity); pointer-events: none; cursor: not-allowed; } [role='status'].sc-lmvz-select { margin-top: 4px; padding-left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-helper-color); line-height: normal; }`;
10240
+
10241
+ let selectIdCounter = 0;
10242
+ class LmvzSelect extends ReactiveControllerHost {
10243
+ get el() { return getElement(this); }
10244
+ get validationEl() {
10245
+ return this.el;
10246
+ }
10247
+ selectId = `lmvz-select-${selectIdCounter++}`;
10248
+ nativeSelectEl;
10249
+ constructor(hostRef) {
10250
+ super();
10251
+ registerInstance(this, hostRef);
10252
+ this.lmvzChange = createEvent(this, "lmvzChange");
10253
+ this.addController(new AriaValidationController(this));
10254
+ }
10255
+ lmvzChange;
10256
+ value;
10257
+ label;
10258
+ helperText;
10259
+ disabled = false;
10260
+ required = false;
10261
+ name;
10262
+ selectedLabel = '';
10263
+ get hasValue() {
10264
+ return Boolean(this.value);
10265
+ }
10266
+ componentDidLoad() {
10267
+ this.syncSelectedLabel();
10268
+ super.componentDidLoad();
10269
+ }
10270
+ handleValueChange(newValue) {
10271
+ if (this.nativeSelectEl && this.nativeSelectEl.value !== (newValue ?? '')) {
10272
+ this.nativeSelectEl.value = newValue ?? '';
10273
+ }
10274
+ this.syncSelectedLabel();
10275
+ }
10276
+ syncSelectedLabel() {
10277
+ if (!this.nativeSelectEl)
10278
+ return;
10279
+ const idx = this.nativeSelectEl.selectedIndex;
10280
+ this.selectedLabel = idx >= 0 ? (this.nativeSelectEl.options[idx]?.text ?? '') : '';
10281
+ }
10282
+ handleChange = (event) => {
10283
+ const select = event.target;
10284
+ this.value = select.value;
10285
+ this.syncSelectedLabel();
10286
+ this.lmvzChange.emit(select.value);
10287
+ };
10288
+ render() {
10289
+ const hasValue = this.hasValue;
10290
+ const shouldShowLabel = hasValue;
10291
+ return (hAsync(Host, { key: '7d1abb943f79e90451b43c9221801b80a2f61346' }, hAsync("div", { key: 'ded3e45246ab38e89d444c59239cdc63a2c4d4fc', class: "select-wrapper" }, hAsync("label", { key: 'cb68ff79976c2fb55d4cc827f9e90ba2597a8a43', htmlFor: this.selectId, class: shouldShowLabel ? 'floating-label' : 'assistive-label' }, this.label, this.required && shouldShowLabel && hAsync("span", { key: 'ab77eaea1645b95d90f00ffb609bbd7a1704f7bc', "aria-hidden": "true" }, " *")), hAsync("div", { key: '45cee00478a6cc31c10dddf69d8e6687fc8f440d', "aria-hidden": "true" }, hAsync("span", { key: '0c5d425ea8843234aa6abd94a207377e2a675686' }, hasValue ? this.selectedLabel : this.label, this.required && !hasValue && hAsync("span", { key: 'ebef5322371ee0253b50dd801b80cbb6402c067a', "aria-hidden": "true" }, " *")), hAsync("span", { key: 'a12d31dc29563444f728133f181b48914d31705b' }, hAsync("img", { key: 'dd3f175d1ca2b9ccc6c2bfa2075e5da62016a896', src: chevronDownSvg, alt: "" }))), hAsync("select", { key: 'a196f3b824177d1b45971c38341bf6a2939dda82', id: this.selectId, ref: (el) => (this.nativeSelectEl = el), name: this.name, disabled: this.disabled, required: this.required, "aria-label": this.label, onChange: this.handleChange }, !hasValue && hAsync("option", { key: '536cc559def0e9ffa4b2150693ece9a597c238d1', value: "", disabled: true, selected: true, hidden: true }), hAsync("slot", { key: 'ad9fed96b9f8c1d8257511bb1d5ab5ee756973ce' }))), this.helperText && hAsync("div", { key: '4723b44d781c900be5aae7ece2a0be04b6c744b9', role: "status" }, this.helperText)));
10292
+ }
10293
+ static get watchers() { return {
10294
+ "value": [{
10295
+ "handleValueChange": 0
10296
+ }]
10297
+ }; }
10298
+ static get style() { return lmvzSelectCss(); }
10299
+ static get cmpMeta() { return {
10300
+ "$flags$": 774,
10301
+ "$tagName$": "lmvz-select",
10302
+ "$members$": {
10303
+ "value": [1025],
10304
+ "label": [1],
10305
+ "helperText": [1, "helper-text"],
10306
+ "disabled": [516],
10307
+ "required": [516],
10308
+ "name": [1],
10309
+ "selectedLabel": [32]
10310
+ },
10311
+ "$listeners$": undefined,
10312
+ "$lazyBundleId$": "-",
10313
+ "$attrsToReflect$": [["disabled", "disabled"], ["required", "required"]]
10314
+ }; }
10315
+ }
10316
+
9963
10317
  registerComponents([
9964
10318
  LmvzAction,
9965
10319
  LmvzButton,
@@ -9969,6 +10323,7 @@ registerComponents([
9969
10323
  LmvzIcon,
9970
10324
  LmvzInput,
9971
10325
  LmvzMenuItem,
10326
+ LmvzSelect,
9972
10327
  ]);
9973
10328
 
9974
10329
  exports.hydrateApp = hydrateApp;
@@ -10070,7 +10425,7 @@ var NAMESPACE = (
10070
10425
  );
10071
10426
 
10072
10427
  /*
10073
- Stencil Hydrate Runner v4.43.2 | MIT Licensed | https://stenciljs.com
10428
+ Stencil Hydrate Runner v4.43.3 | MIT Licensed | https://stenciljs.com
10074
10429
  */
10075
10430
  var __create = Object.create;
10076
10431
  var __defProp = Object.defineProperty;
@@ -11401,11 +11756,11 @@ var fromCodePoint = (
11401
11756
  }
11402
11757
  );
11403
11758
  function replaceCodePoint(codePoint) {
11404
- var _a2;
11759
+ var _a3;
11405
11760
  if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
11406
11761
  return 65533;
11407
11762
  }
11408
- return (_a2 = decodeMap.get(codePoint)) !== null && _a2 !== void 0 ? _a2 : codePoint;
11763
+ return (_a3 = decodeMap.get(codePoint)) !== null && _a3 !== void 0 ? _a3 : codePoint;
11409
11764
  }
11410
11765
 
11411
11766
  // node_modules/entities/lib/esm/decode.js
@@ -11602,9 +11957,9 @@ var EntityDecoder = class {
11602
11957
  * @returns The number of characters that were consumed.
11603
11958
  */
11604
11959
  emitNumericEntity(lastCp, expectedLength) {
11605
- var _a2;
11960
+ var _a3;
11606
11961
  if (this.consumed <= expectedLength) {
11607
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
11962
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
11608
11963
  return 0;
11609
11964
  }
11610
11965
  if (lastCp === CharCodes.SEMI) {
@@ -11664,11 +12019,11 @@ var EntityDecoder = class {
11664
12019
  * @returns The number of characters consumed.
11665
12020
  */
11666
12021
  emitNotTerminatedNamedEntity() {
11667
- var _a2;
12022
+ var _a3;
11668
12023
  const { result, decodeTree } = this;
11669
12024
  const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
11670
12025
  this.emitNamedEntityData(result, valueLength, this.consumed);
11671
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.missingSemicolonAfterCharacterReference();
12026
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.missingSemicolonAfterCharacterReference();
11672
12027
  return this.consumed;
11673
12028
  }
11674
12029
  /**
@@ -11696,7 +12051,7 @@ var EntityDecoder = class {
11696
12051
  * @returns The number of characters consumed.
11697
12052
  */
11698
12053
  end() {
11699
- var _a2;
12054
+ var _a3;
11700
12055
  switch (this.state) {
11701
12056
  case EntityDecoderState.NamedEntity: {
11702
12057
  return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
@@ -11709,7 +12064,7 @@ var EntityDecoder = class {
11709
12064
  return this.emitNumericEntity(0, 3);
11710
12065
  }
11711
12066
  case EntityDecoderState.NumericStart: {
11712
- (_a2 = this.errors) === null || _a2 === void 0 ? void 0 : _a2.absenceOfDigitsInNumericCharacterReference(this.consumed);
12067
+ (_a3 = this.errors) === null || _a3 === void 0 ? void 0 : _a3.absenceOfDigitsInNumericCharacterReference(this.consumed);
11713
12068
  return 0;
11714
12069
  }
11715
12070
  case EntityDecoderState.EntityStart: {
@@ -12190,8 +12545,8 @@ var TAG_NAME_TO_ID = /* @__PURE__ */ new Map([
12190
12545
  [TAG_NAMES.XMP, TAG_ID.XMP]
12191
12546
  ]);
12192
12547
  function getTagID(tagName) {
12193
- var _a2;
12194
- return (_a2 = TAG_NAME_TO_ID.get(tagName)) !== null && _a2 !== void 0 ? _a2 : TAG_ID.UNKNOWN;
12548
+ var _a3;
12549
+ return (_a3 = TAG_NAME_TO_ID.get(tagName)) !== null && _a3 !== void 0 ? _a3 : TAG_ID.UNKNOWN;
12195
12550
  }
12196
12551
  var $ = TAG_ID;
12197
12552
  var SPECIAL_ELEMENTS = {
@@ -12458,8 +12813,8 @@ var Tokenizer = class {
12458
12813
  }
12459
12814
  //Errors
12460
12815
  _err(code, cpOffset = 0) {
12461
- var _a2, _b;
12462
- (_b = (_a2 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a2, this.preprocessor.getError(code, cpOffset));
12816
+ var _a3, _b;
12817
+ (_b = (_a3 = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a3, this.preprocessor.getError(code, cpOffset));
12463
12818
  }
12464
12819
  // NOTE: `offset` may never run across line boundaries.
12465
12820
  getCurrentLocation(offset) {
@@ -12601,13 +12956,13 @@ var Tokenizer = class {
12601
12956
  this.currentLocation = this.getCurrentLocation(0);
12602
12957
  }
12603
12958
  _leaveAttrName() {
12604
- var _a2;
12959
+ var _a3;
12605
12960
  var _b;
12606
12961
  const token = this.currentToken;
12607
12962
  if (getTokenAttr(token, this.currentAttr.name) === null) {
12608
12963
  token.attrs.push(this.currentAttr);
12609
12964
  if (token.location && this.currentLocation) {
12610
- const attrLocations = (_a2 = (_b = token.location).attrs) !== null && _a2 !== void 0 ? _a2 : _b.attrs = /* @__PURE__ */ Object.create(null);
12965
+ const attrLocations = (_a3 = (_b = token.location).attrs) !== null && _a3 !== void 0 ? _a3 : _b.attrs = /* @__PURE__ */ Object.create(null);
12611
12966
  attrLocations[this.currentAttr.name] = this.currentLocation;
12612
12967
  this._leaveAttrValue();
12613
12968
  }
@@ -15955,10 +16310,10 @@ var Parser = class {
15955
16310
  //Errors
15956
16311
  /** @internal */
15957
16312
  _err(token, code, beforeToken) {
15958
- var _a2;
16313
+ var _a3;
15959
16314
  if (!this.onParseError)
15960
16315
  return;
15961
- const loc = (_a2 = token.location) !== null && _a2 !== void 0 ? _a2 : BASE_LOC;
16316
+ const loc = (_a3 = token.location) !== null && _a3 !== void 0 ? _a3 : BASE_LOC;
15962
16317
  const err2 = {
15963
16318
  code,
15964
16319
  startLine: loc.startLine,
@@ -15973,18 +16328,18 @@ var Parser = class {
15973
16328
  //Stack events
15974
16329
  /** @internal */
15975
16330
  onItemPush(node, tid, isTop) {
15976
- var _a2, _b;
15977
- (_b = (_a2 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a2, node);
16331
+ var _a3, _b;
16332
+ (_b = (_a3 = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a3, node);
15978
16333
  if (isTop && this.openElements.stackTop > 0)
15979
16334
  this._setContextModes(node, tid);
15980
16335
  }
15981
16336
  /** @internal */
15982
16337
  onItemPop(node, isTop) {
15983
- var _a2, _b;
16338
+ var _a3, _b;
15984
16339
  if (this.options.sourceCodeLocationInfo) {
15985
16340
  this._setEndLocation(node, this.currentToken);
15986
16341
  }
15987
- (_b = (_a2 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a2, node, this.openElements.current);
16342
+ (_b = (_a3 = this.treeAdapter).onItemPop) === null || _b === void 0 ? void 0 : _b.call(_a3, node, this.openElements.current);
15988
16343
  if (isTop) {
15989
16344
  let current;
15990
16345
  let currentTagId;
@@ -18058,9 +18413,9 @@ function eofInBody(p, token) {
18058
18413
  }
18059
18414
  }
18060
18415
  function endTagInText(p, token) {
18061
- var _a2;
18416
+ var _a3;
18062
18417
  if (token.tagID === TAG_ID.SCRIPT) {
18063
- (_a2 = p.scriptHandler) === null || _a2 === void 0 ? void 0 : _a2.call(p, p.openElements.current);
18418
+ (_a3 = p.scriptHandler) === null || _a3 === void 0 ? void 0 : _a3.call(p, p.openElements.current);
18064
18419
  }
18065
18420
  p.openElements.pop();
18066
18421
  p.insertionMode = p.originalInsertionMode;
@@ -18722,7 +19077,7 @@ function startTagAfterBody(p, token) {
18722
19077
  }
18723
19078
  }
18724
19079
  function endTagAfterBody(p, token) {
18725
- var _a2;
19080
+ var _a3;
18726
19081
  if (token.tagID === TAG_ID.HTML) {
18727
19082
  if (!p.fragmentContext) {
18728
19083
  p.insertionMode = InsertionMode.AFTER_AFTER_BODY;
@@ -18730,7 +19085,7 @@ function endTagAfterBody(p, token) {
18730
19085
  if (p.options.sourceCodeLocationInfo && p.openElements.tagIDs[0] === TAG_ID.HTML) {
18731
19086
  p._setEndLocation(p.openElements.items[0], token);
18732
19087
  const bodyElement = p.openElements.items[1];
18733
- if (bodyElement && !((_a2 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a2 === void 0 ? void 0 : _a2.endTag)) {
19088
+ if (bodyElement && !((_a3 = p.treeAdapter.getNodeSourceCodeLocation(bodyElement)) === null || _a3 === void 0 ? void 0 : _a3.endTag)) {
18734
19089
  p._setEndLocation(bodyElement, token);
18735
19090
  }
18736
19091
  }
@@ -20594,7 +20949,7 @@ function serializeNodeToHtml(elm, serializationOptions = {}) {
20594
20949
  }
20595
20950
  var shadowRootTag = "mock:shadow-root";
20596
20951
  function* streamToHtml(node, opts, output) {
20597
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
20952
+ var _a3, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
20598
20953
  const isShadowRoot = node.nodeType === 11 /* DOCUMENT_FRAGMENT_NODE */;
20599
20954
  if (node.nodeType === 1 /* ELEMENT_NODE */ || isShadowRoot) {
20600
20955
  const tagName = isShadowRoot ? shadowRootTag : getTagName(node);
@@ -20603,7 +20958,7 @@ function* streamToHtml(node, opts, output) {
20603
20958
  }
20604
20959
  const ignoreTag = opts.excludeTags != null && opts.excludeTags.includes(tagName);
20605
20960
  if (ignoreTag === false) {
20606
- const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a2 = opts.indentSpaces) != null ? _a2 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
20961
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a3 = opts.indentSpaces) != null ? _a3 : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
20607
20962
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
20608
20963
  yield "\n";
20609
20964
  output.currentLineWidth = 0;
@@ -21122,9 +21477,7 @@ var MockNode2 = class {
21122
21477
  const firstChild = this.firstChild;
21123
21478
  items.forEach((item) => {
21124
21479
  const isNode = typeof item === "object" && item !== null && "nodeType" in item;
21125
- if (firstChild) {
21126
- this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
21127
- }
21480
+ this.insertBefore(isNode ? item : this.ownerDocument.createTextNode(String(item)), firstChild);
21128
21481
  });
21129
21482
  }
21130
21483
  cloneNode(deep) {
@@ -21173,8 +21526,8 @@ var MockNode2 = class {
21173
21526
  return null;
21174
21527
  }
21175
21528
  get nodeValue() {
21176
- var _a2;
21177
- return (_a2 = this._nodeValue) != null ? _a2 : "";
21529
+ var _a3;
21530
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
21178
21531
  }
21179
21532
  set nodeValue(value) {
21180
21533
  this._nodeValue = value;
@@ -21234,8 +21587,8 @@ var MockNode2 = class {
21234
21587
  return null;
21235
21588
  }
21236
21589
  get textContent() {
21237
- var _a2;
21238
- return (_a2 = this._nodeValue) != null ? _a2 : "";
21590
+ var _a3;
21591
+ return (_a3 = this._nodeValue) != null ? _a3 : "";
21239
21592
  }
21240
21593
  set textContent(value) {
21241
21594
  this._nodeValue = String(value);
@@ -21294,9 +21647,9 @@ var MockElement = class extends MockNode2 {
21294
21647
  addEventListener(this, type, handler);
21295
21648
  }
21296
21649
  attachShadow(_opts) {
21297
- var _a2;
21650
+ var _a3;
21298
21651
  const shadowRoot = this.ownerDocument.createDocumentFragment();
21299
- shadowRoot.delegatesFocus = (_a2 = _opts.delegatesFocus) != null ? _a2 : false;
21652
+ shadowRoot.delegatesFocus = (_a3 = _opts.delegatesFocus) != null ? _a3 : false;
21300
21653
  this.shadowRoot = shadowRoot;
21301
21654
  return shadowRoot;
21302
21655
  }
@@ -21472,8 +21825,8 @@ var MockElement = class extends MockNode2 {
21472
21825
  });
21473
21826
  }
21474
21827
  set innerHTML(html) {
21475
- var _a2;
21476
- if (NON_ESCAPABLE_CONTENT.has((_a2 = this.nodeName) != null ? _a2 : "") === true) {
21828
+ var _a3;
21829
+ if (NON_ESCAPABLE_CONTENT.has((_a3 = this.nodeName) != null ? _a3 : "") === true) {
21477
21830
  setTextContent(this, html);
21478
21831
  } else {
21479
21832
  for (let i = this.childNodes.length - 1; i >= 0; i--) {
@@ -21716,8 +22069,8 @@ var MockElement = class extends MockNode2 {
21716
22069
  this.setAttributeNS(null, "tabindex", value);
21717
22070
  }
21718
22071
  get tagName() {
21719
- var _a2;
21720
- return (_a2 = this.nodeName) != null ? _a2 : "";
22072
+ var _a3;
22073
+ return (_a3 = this.nodeName) != null ? _a3 : "";
21721
22074
  }
21722
22075
  set tagName(value) {
21723
22076
  this.nodeName = value;
@@ -21939,11 +22292,11 @@ function getElementsByClassName(elm, classNames, foundElms) {
21939
22292
  }
21940
22293
  }
21941
22294
  function getElementsByTagName(elm, tagName, foundElms) {
21942
- var _a2;
22295
+ var _a3;
21943
22296
  const children = elm.children;
21944
22297
  for (let i = 0, ii = children.length; i < ii; i++) {
21945
22298
  const childElm = children[i];
21946
- if (tagName === "*" || ((_a2 = childElm.nodeName) != null ? _a2 : "").toLowerCase() === tagName) {
22299
+ if (tagName === "*" || ((_a3 = childElm.nodeName) != null ? _a3 : "").toLowerCase() === tagName) {
21947
22300
  foundElms.push(childElm);
21948
22301
  }
21949
22302
  getElementsByTagName(childElm, tagName, foundElms);
@@ -21980,8 +22333,8 @@ var MockHTMLElement = class extends MockElement {
21980
22333
  super(ownerDocument, typeof nodeName === "string" ? nodeName.toUpperCase() : null);
21981
22334
  }
21982
22335
  get tagName() {
21983
- var _a2;
21984
- return (_a2 = this.nodeName) != null ? _a2 : "";
22336
+ var _a3;
22337
+ return (_a3 = this.nodeName) != null ? _a3 : "";
21985
22338
  }
21986
22339
  set tagName(value) {
21987
22340
  this.nodeName = value;
@@ -22439,10 +22792,10 @@ var MockLabelElement = class extends MockHTMLElement {
22439
22792
  this.setAttributeNS(null, "for", value);
22440
22793
  }
22441
22794
  get control() {
22442
- var _a2, _b;
22795
+ var _a3, _b;
22443
22796
  const forAttr = this.htmlFor;
22444
22797
  if (forAttr) {
22445
- return (_b = (_a2 = this.ownerDocument) == null ? void 0 : _a2.getElementById(forAttr)) != null ? _b : null;
22798
+ return (_b = (_a3 = this.ownerDocument) == null ? void 0 : _a3.getElementById(forAttr)) != null ? _b : null;
22446
22799
  }
22447
22800
  const labelableSelector = 'button, input:not([type="hidden"]), meter, output, progress, select, textarea';
22448
22801
  return this.querySelector(labelableSelector);
@@ -25155,8 +25508,35 @@ var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
25155
25508
  };
25156
25509
 
25157
25510
  // node_modules/minimatch/dist/esm/ast.js
25511
+ var _a2;
25158
25512
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
25159
25513
  var isExtglobType = (c) => types.has(c);
25514
+ var isExtglobAST = (c) => isExtglobType(c.type);
25515
+ var adoptionMap = /* @__PURE__ */ new Map([
25516
+ ["!", ["@"]],
25517
+ ["?", ["?", "@"]],
25518
+ ["@", ["@"]],
25519
+ ["*", ["*", "+", "?", "@"]],
25520
+ ["+", ["+", "@"]]
25521
+ ]);
25522
+ var adoptionWithSpaceMap = /* @__PURE__ */ new Map([
25523
+ ["!", ["?"]],
25524
+ ["@", ["?"]],
25525
+ ["+", ["?", "*"]]
25526
+ ]);
25527
+ var adoptionAnyMap = /* @__PURE__ */ new Map([
25528
+ ["!", ["?", "@"]],
25529
+ ["?", ["?", "@"]],
25530
+ ["@", ["?", "@"]],
25531
+ ["*", ["*", "+", "?", "@"]],
25532
+ ["+", ["+", "@", "?", "*"]]
25533
+ ]);
25534
+ var usurpMap = /* @__PURE__ */ new Map([
25535
+ ["!", /* @__PURE__ */ new Map([["!", "@"]])],
25536
+ ["?", /* @__PURE__ */ new Map([["*", "*"], ["+", "*"]])],
25537
+ ["@", /* @__PURE__ */ new Map([["!", "!"], ["?", "?"], ["@", "@"], ["*", "*"], ["+", "+"]])],
25538
+ ["+", /* @__PURE__ */ new Map([["?", "*"], ["*", "*"]])]
25539
+ ]);
25160
25540
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
25161
25541
  var startNoDot = "(?!\\.)";
25162
25542
  var addPatternStart = /* @__PURE__ */ new Set(["[", "."]);
@@ -25166,8 +25546,8 @@ var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
25166
25546
  var qmark = "[^/]";
25167
25547
  var star = qmark + "*?";
25168
25548
  var starNoEmpty = qmark + "+?";
25169
- var _root, _hasMagic, _uflag, _parts, _parent, _parentIndex, _negs, _filledNegs, _options, _toString, _emptyExt, _AST_instances, fillNegs_fn, _AST_static, parseAST_fn, partsToRegExp_fn, parseGlob_fn;
25170
- var _AST = class _AST {
25549
+ 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;
25550
+ var AST = class {
25171
25551
  constructor(type, parent, options = {}) {
25172
25552
  __privateAdd(this, _AST_instances);
25173
25553
  __publicField(this, "type");
@@ -25220,44 +25600,44 @@ var _AST = class _AST {
25220
25600
  for (const p of parts) {
25221
25601
  if (p === "")
25222
25602
  continue;
25223
- if (typeof p !== "string" && !(p instanceof _AST && __privateGet(p, _parent) === this)) {
25603
+ if (typeof p !== "string" && !(p instanceof _a2 && __privateGet(p, _parent) === this)) {
25224
25604
  throw new Error("invalid part: " + p);
25225
25605
  }
25226
25606
  __privateGet(this, _parts).push(p);
25227
25607
  }
25228
25608
  }
25229
25609
  toJSON() {
25230
- var _a2;
25610
+ var _a3;
25231
25611
  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())];
25232
25612
  if (this.isStart() && !this.type)
25233
25613
  ret.unshift([]);
25234
- if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")) {
25614
+ if (this.isEnd() && (this === __privateGet(this, _root) || __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")) {
25235
25615
  ret.push({});
25236
25616
  }
25237
25617
  return ret;
25238
25618
  }
25239
25619
  isStart() {
25240
- var _a2;
25620
+ var _a3;
25241
25621
  if (__privateGet(this, _root) === this)
25242
25622
  return true;
25243
- if (!((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.isStart()))
25623
+ if (!((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.isStart()))
25244
25624
  return false;
25245
25625
  if (__privateGet(this, _parentIndex) === 0)
25246
25626
  return true;
25247
25627
  const p = __privateGet(this, _parent);
25248
25628
  for (let i = 0; i < __privateGet(this, _parentIndex); i++) {
25249
25629
  const pp = __privateGet(p, _parts)[i];
25250
- if (!(pp instanceof _AST && pp.type === "!")) {
25630
+ if (!(pp instanceof _a2 && pp.type === "!")) {
25251
25631
  return false;
25252
25632
  }
25253
25633
  }
25254
25634
  return true;
25255
25635
  }
25256
25636
  isEnd() {
25257
- var _a2, _b, _c;
25637
+ var _a3, _b, _c;
25258
25638
  if (__privateGet(this, _root) === this)
25259
25639
  return true;
25260
- if (((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!")
25640
+ if (((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!")
25261
25641
  return true;
25262
25642
  if (!((_b = __privateGet(this, _parent)) == null ? void 0 : _b.isEnd()))
25263
25643
  return false;
@@ -25273,16 +25653,16 @@ var _AST = class _AST {
25273
25653
  this.push(part.clone(this));
25274
25654
  }
25275
25655
  clone(parent) {
25276
- const c = new _AST(this.type, parent);
25656
+ const c = new _a2(this.type, parent);
25277
25657
  for (const p of __privateGet(this, _parts)) {
25278
25658
  c.copyIn(p);
25279
25659
  }
25280
25660
  return c;
25281
25661
  }
25282
25662
  static fromGlob(pattern, options = {}) {
25283
- var _a2;
25284
- const ast = new _AST(null, void 0, options);
25285
- __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, pattern, ast, 0, options);
25663
+ var _a3;
25664
+ const ast = new _a2(null, void 0, options);
25665
+ __privateMethod(_a3 = _a2, _AST_static, parseAST_fn).call(_a3, pattern, ast, 0, options, 0);
25286
25666
  return ast;
25287
25667
  }
25288
25668
  // returns the regular expression if there's magic, or the unescaped
@@ -25375,15 +25755,17 @@ var _AST = class _AST {
25375
25755
  // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
25376
25756
  // or start or whatever) and prepend ^ or / at the Regexp construction.
25377
25757
  toRegExpSource(allowDot) {
25378
- var _a2;
25758
+ var _a3;
25379
25759
  const dot = allowDot != null ? allowDot : !!__privateGet(this, _options).dot;
25380
- if (__privateGet(this, _root) === this)
25760
+ if (__privateGet(this, _root) === this) {
25761
+ __privateMethod(this, _AST_instances, flatten_fn).call(this);
25381
25762
  __privateMethod(this, _AST_instances, fillNegs_fn).call(this);
25382
- if (!this.type) {
25763
+ }
25764
+ if (!isExtglobAST(this)) {
25383
25765
  const noEmpty = this.isStart() && this.isEnd();
25384
25766
  const src = __privateGet(this, _parts).map((p) => {
25385
- var _a3;
25386
- const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a3 = _AST, _AST_static, parseGlob_fn).call(_a3, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
25767
+ var _a4;
25768
+ const [re, _, hasMagic, uflag] = typeof p === "string" ? __privateMethod(_a4 = _a2, _AST_static, parseGlob_fn).call(_a4, p, __privateGet(this, _hasMagic), noEmpty) : p.toRegExpSource(allowDot);
25387
25769
  __privateSet(this, _hasMagic, __privateGet(this, _hasMagic) || hasMagic);
25388
25770
  __privateSet(this, _uflag, __privateGet(this, _uflag) || uflag);
25389
25771
  return re;
@@ -25406,7 +25788,7 @@ var _AST = class _AST {
25406
25788
  }
25407
25789
  }
25408
25790
  let end = "";
25409
- if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a2 = __privateGet(this, _parent)) == null ? void 0 : _a2.type) === "!") {
25791
+ if (this.isEnd() && __privateGet(__privateGet(this, _root), _filledNegs) && ((_a3 = __privateGet(this, _parent)) == null ? void 0 : _a3.type) === "!") {
25410
25792
  end = "(?:$|\\/)";
25411
25793
  }
25412
25794
  const final2 = start2 + src + end;
@@ -25422,9 +25804,10 @@ var _AST = class _AST {
25422
25804
  let body = __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, dot);
25423
25805
  if (this.isStart() && this.isEnd() && !body && this.type !== "!") {
25424
25806
  const s = this.toString();
25425
- __privateSet(this, _parts, [s]);
25426
- this.type = null;
25427
- __privateSet(this, _hasMagic, void 0);
25807
+ const me = this;
25808
+ __privateSet(me, _parts, [s]);
25809
+ me.type = null;
25810
+ __privateSet(me, _hasMagic, void 0);
25428
25811
  return [s, unescape(this.toString()), false, false];
25429
25812
  }
25430
25813
  let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot ? "" : __privateMethod(this, _AST_instances, partsToRegExp_fn).call(this, true);
@@ -25493,8 +25876,9 @@ fillNegs_fn = function() {
25493
25876
  return this;
25494
25877
  };
25495
25878
  _AST_static = new WeakSet();
25496
- parseAST_fn = function(str, ast, pos, opt) {
25497
- var _a2, _b;
25879
+ parseAST_fn = function(str, ast, pos, opt, extDepth) {
25880
+ var _a3, _b, _c, _d, _e;
25881
+ const maxDepth = (_a3 = opt.maxExtglobRecursion) != null ? _a3 : 2;
25498
25882
  let escaping = false;
25499
25883
  let inBrace = false;
25500
25884
  let braceStart = -1;
@@ -25526,11 +25910,12 @@ parseAST_fn = function(str, ast, pos, opt) {
25526
25910
  acc2 += c;
25527
25911
  continue;
25528
25912
  }
25529
- if (!opt.noext && isExtglobType(c) && str.charAt(i2) === "(") {
25913
+ const doRecurse = !opt.noext && isExtglobType(c) && str.charAt(i2) === "(" && extDepth <= maxDepth;
25914
+ if (doRecurse) {
25530
25915
  ast.push(acc2);
25531
25916
  acc2 = "";
25532
- const ext2 = new _AST(c, ast);
25533
- i2 = __privateMethod(_a2 = _AST, _AST_static, parseAST_fn).call(_a2, str, ext2, i2, opt);
25917
+ const ext2 = new _a2(c, ast);
25918
+ i2 = __privateMethod(_b = _a2, _AST_static, parseAST_fn).call(_b, str, ext2, i2, opt, extDepth + 1);
25534
25919
  ast.push(ext2);
25535
25920
  continue;
25536
25921
  }
@@ -25540,7 +25925,7 @@ parseAST_fn = function(str, ast, pos, opt) {
25540
25925
  return i2;
25541
25926
  }
25542
25927
  let i = pos + 1;
25543
- let part = new _AST(null, ast);
25928
+ let part = new _a2(null, ast);
25544
25929
  const parts = [];
25545
25930
  let acc = "";
25546
25931
  while (i < str.length) {
@@ -25567,19 +25952,22 @@ parseAST_fn = function(str, ast, pos, opt) {
25567
25952
  acc += c;
25568
25953
  continue;
25569
25954
  }
25570
- if (isExtglobType(c) && str.charAt(i) === "(") {
25955
+ const doRecurse = isExtglobType(c) && str.charAt(i) === "(" && /* c8 ignore start - the maxDepth is sufficient here */
25956
+ (extDepth <= maxDepth || ast && __privateMethod(_c = ast, _AST_instances, canAdoptType_fn).call(_c, c));
25957
+ if (doRecurse) {
25958
+ const depthAdd = ast && __privateMethod(_d = ast, _AST_instances, canAdoptType_fn).call(_d, c) ? 0 : 1;
25571
25959
  part.push(acc);
25572
25960
  acc = "";
25573
- const ext2 = new _AST(c, part);
25961
+ const ext2 = new _a2(c, part);
25574
25962
  part.push(ext2);
25575
- i = __privateMethod(_b = _AST, _AST_static, parseAST_fn).call(_b, str, ext2, i, opt);
25963
+ i = __privateMethod(_e = _a2, _AST_static, parseAST_fn).call(_e, str, ext2, i, opt, extDepth + depthAdd);
25576
25964
  continue;
25577
25965
  }
25578
25966
  if (c === "|") {
25579
25967
  part.push(acc);
25580
25968
  acc = "";
25581
25969
  parts.push(part);
25582
- part = new _AST(null, ast);
25970
+ part = new _a2(null, ast);
25583
25971
  continue;
25584
25972
  }
25585
25973
  if (c === ")") {
@@ -25598,6 +25986,100 @@ parseAST_fn = function(str, ast, pos, opt) {
25598
25986
  __privateSet(ast, _parts, [str.substring(pos - 1)]);
25599
25987
  return i;
25600
25988
  };
25989
+ canAdoptWithSpace_fn = function(child) {
25990
+ return __privateMethod(this, _AST_instances, canAdopt_fn).call(this, child, adoptionWithSpaceMap);
25991
+ };
25992
+ canAdopt_fn = function(child, map2 = adoptionMap) {
25993
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null) {
25994
+ return false;
25995
+ }
25996
+ const gc = __privateGet(child, _parts)[0];
25997
+ if (!gc || typeof gc !== "object" || gc.type === null) {
25998
+ return false;
25999
+ }
26000
+ return __privateMethod(this, _AST_instances, canAdoptType_fn).call(this, gc.type, map2);
26001
+ };
26002
+ canAdoptType_fn = function(c, map2 = adoptionAnyMap) {
26003
+ var _a3;
26004
+ return !!((_a3 = map2.get(this.type)) == null ? void 0 : _a3.includes(c));
26005
+ };
26006
+ adoptWithSpace_fn = function(child, index) {
26007
+ const gc = __privateGet(child, _parts)[0];
26008
+ const blank = new _a2(null, gc, this.options);
26009
+ __privateGet(blank, _parts).push("");
26010
+ gc.push(blank);
26011
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, child, index);
26012
+ };
26013
+ adopt_fn = function(child, index) {
26014
+ const gc = __privateGet(child, _parts)[0];
26015
+ __privateGet(this, _parts).splice(index, 1, ...__privateGet(gc, _parts));
26016
+ for (const p of __privateGet(gc, _parts)) {
26017
+ if (typeof p === "object")
26018
+ __privateSet(p, _parent, this);
26019
+ }
26020
+ __privateSet(this, _toString, void 0);
26021
+ };
26022
+ canUsurpType_fn = function(c) {
26023
+ const m = usurpMap.get(this.type);
26024
+ return !!(m == null ? void 0 : m.has(c));
26025
+ };
26026
+ canUsurp_fn = function(child) {
26027
+ if (!child || typeof child !== "object" || child.type !== null || __privateGet(child, _parts).length !== 1 || this.type === null || __privateGet(this, _parts).length !== 1) {
26028
+ return false;
26029
+ }
26030
+ const gc = __privateGet(child, _parts)[0];
26031
+ if (!gc || typeof gc !== "object" || gc.type === null) {
26032
+ return false;
26033
+ }
26034
+ return __privateMethod(this, _AST_instances, canUsurpType_fn).call(this, gc.type);
26035
+ };
26036
+ usurp_fn = function(child) {
26037
+ const m = usurpMap.get(this.type);
26038
+ const gc = __privateGet(child, _parts)[0];
26039
+ const nt = m == null ? void 0 : m.get(gc.type);
26040
+ if (!nt)
26041
+ return false;
26042
+ __privateSet(this, _parts, __privateGet(gc, _parts));
26043
+ for (const p of __privateGet(this, _parts)) {
26044
+ if (typeof p === "object")
26045
+ __privateSet(p, _parent, this);
26046
+ }
26047
+ this.type = nt;
26048
+ __privateSet(this, _toString, void 0);
26049
+ __privateSet(this, _emptyExt, false);
26050
+ };
26051
+ flatten_fn = function() {
26052
+ var _a3, _b;
26053
+ if (!isExtglobAST(this)) {
26054
+ for (const p of __privateGet(this, _parts)) {
26055
+ if (typeof p === "object")
26056
+ __privateMethod(_a3 = p, _AST_instances, flatten_fn).call(_a3);
26057
+ }
26058
+ } else {
26059
+ let iterations = 0;
26060
+ let done = false;
26061
+ do {
26062
+ done = true;
26063
+ for (let i = 0; i < __privateGet(this, _parts).length; i++) {
26064
+ const c = __privateGet(this, _parts)[i];
26065
+ if (typeof c === "object") {
26066
+ __privateMethod(_b = c, _AST_instances, flatten_fn).call(_b);
26067
+ if (__privateMethod(this, _AST_instances, canAdopt_fn).call(this, c)) {
26068
+ done = false;
26069
+ __privateMethod(this, _AST_instances, adopt_fn).call(this, c, i);
26070
+ } else if (__privateMethod(this, _AST_instances, canAdoptWithSpace_fn).call(this, c)) {
26071
+ done = false;
26072
+ __privateMethod(this, _AST_instances, adoptWithSpace_fn).call(this, c, i);
26073
+ } else if (__privateMethod(this, _AST_instances, canUsurp_fn).call(this, c)) {
26074
+ done = false;
26075
+ __privateMethod(this, _AST_instances, usurp_fn).call(this, c);
26076
+ }
26077
+ }
26078
+ }
26079
+ } while (!done && ++iterations < 10);
26080
+ }
26081
+ __privateSet(this, _toString, void 0);
26082
+ };
25601
26083
  partsToRegExp_fn = function(dot) {
25602
26084
  return __privateGet(this, _parts).map((p) => {
25603
26085
  if (typeof p === "string") {
@@ -25612,11 +26094,13 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
25612
26094
  let escaping = false;
25613
26095
  let re = "";
25614
26096
  let uflag = false;
26097
+ let inStar = false;
25615
26098
  for (let i = 0; i < glob.length; i++) {
25616
26099
  const c = glob.charAt(i);
25617
26100
  if (escaping) {
25618
26101
  escaping = false;
25619
26102
  re += (reSpecials.has(c) ? "\\" : "") + c;
26103
+ inStar = false;
25620
26104
  continue;
25621
26105
  }
25622
26106
  if (c === "\\") {
@@ -25634,16 +26118,19 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
25634
26118
  uflag = uflag || needUflag;
25635
26119
  i += consumed - 1;
25636
26120
  hasMagic = hasMagic || magic;
26121
+ inStar = false;
25637
26122
  continue;
25638
26123
  }
25639
26124
  }
25640
26125
  if (c === "*") {
25641
- if (noEmpty && glob === "*")
25642
- re += starNoEmpty;
25643
- else
25644
- re += star;
26126
+ if (inStar)
26127
+ continue;
26128
+ inStar = true;
26129
+ re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
25645
26130
  hasMagic = true;
25646
26131
  continue;
26132
+ } else {
26133
+ inStar = false;
25647
26134
  }
25648
26135
  if (c === "?") {
25649
26136
  re += qmark;
@@ -25654,8 +26141,8 @@ parseGlob_fn = function(glob, hasMagic, noEmpty = false) {
25654
26141
  }
25655
26142
  return [re, unescape(glob), !!hasMagic, uflag];
25656
26143
  };
25657
- __privateAdd(_AST, _AST_static);
25658
- var AST = _AST;
26144
+ __privateAdd(AST, _AST_static);
26145
+ _a2 = AST;
25659
26146
 
25660
26147
  // node_modules/minimatch/dist/esm/escape.js
25661
26148
  var escape = (s, { windowsPathsNoEscape = false } = {}) => {
@@ -25794,28 +26281,33 @@ var match = (list, pattern, options = {}) => {
25794
26281
  minimatch.match = match;
25795
26282
  var globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
25796
26283
  var regExpEscape2 = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
26284
+ var _Minimatch_instances, matchGlobstar_fn, matchGlobStarBodySections_fn, matchOne_fn;
25797
26285
  var Minimatch = class {
25798
- options;
25799
- set;
25800
- pattern;
25801
- windowsPathsNoEscape;
25802
- nonegate;
25803
- negate;
25804
- comment;
25805
- empty;
25806
- preserveMultipleSlashes;
25807
- partial;
25808
- globSet;
25809
- globParts;
25810
- nocase;
25811
- isWindows;
25812
- platform;
25813
- windowsNoMagicRoot;
25814
- regexp;
25815
26286
  constructor(pattern, options = {}) {
26287
+ __privateAdd(this, _Minimatch_instances);
26288
+ __publicField(this, "options");
26289
+ __publicField(this, "set");
26290
+ __publicField(this, "pattern");
26291
+ __publicField(this, "windowsPathsNoEscape");
26292
+ __publicField(this, "nonegate");
26293
+ __publicField(this, "negate");
26294
+ __publicField(this, "comment");
26295
+ __publicField(this, "empty");
26296
+ __publicField(this, "preserveMultipleSlashes");
26297
+ __publicField(this, "partial");
26298
+ __publicField(this, "globSet");
26299
+ __publicField(this, "globParts");
26300
+ __publicField(this, "nocase");
26301
+ __publicField(this, "isWindows");
26302
+ __publicField(this, "platform");
26303
+ __publicField(this, "windowsNoMagicRoot");
26304
+ __publicField(this, "maxGlobstarRecursion");
26305
+ __publicField(this, "regexp");
26306
+ var _a3;
25816
26307
  assertValidPattern(pattern);
25817
26308
  options = options || {};
25818
26309
  this.options = options;
26310
+ this.maxGlobstarRecursion = (_a3 = options.maxGlobstarRecursion) != null ? _a3 : 200;
25819
26311
  this.pattern = pattern;
25820
26312
  this.platform = options.platform || defaultPlatform;
25821
26313
  this.isWindows = this.platform === "win32";
@@ -26083,10 +26575,11 @@ var Minimatch = class {
26083
26575
  for (let i = 0; i < globParts.length - 1; i++) {
26084
26576
  for (let j = i + 1; j < globParts.length; j++) {
26085
26577
  const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
26086
- if (!matched)
26087
- continue;
26088
- globParts[i] = matched;
26089
- globParts[j] = [];
26578
+ if (matched) {
26579
+ globParts[i] = [];
26580
+ globParts[j] = matched;
26581
+ break;
26582
+ }
26090
26583
  }
26091
26584
  }
26092
26585
  return globParts.filter((gs) => gs.length);
@@ -26147,7 +26640,8 @@ var Minimatch = class {
26147
26640
  // out of pattern, then that's fine, as long as all
26148
26641
  // the parts match.
26149
26642
  matchOne(file, pattern, partial = false) {
26150
- const options = this.options;
26643
+ let fileStartIndex = 0;
26644
+ let patternStartIndex = 0;
26151
26645
  if (this.isWindows) {
26152
26646
  const fileDrive = typeof file[0] === "string" && /^[a-z]:$/i.test(file[0]);
26153
26647
  const fileUNC = !fileDrive && file[0] === "" && file[1] === "" && file[2] === "?" && /^[a-z]:$/i.test(file[3]);
@@ -26156,14 +26650,14 @@ var Minimatch = class {
26156
26650
  const fdi = fileUNC ? 3 : fileDrive ? 0 : void 0;
26157
26651
  const pdi = patternUNC ? 3 : patternDrive ? 0 : void 0;
26158
26652
  if (typeof fdi === "number" && typeof pdi === "number") {
26159
- const [fd, pd] = [file[fdi], pattern[pdi]];
26653
+ const [fd, pd] = [
26654
+ file[fdi],
26655
+ pattern[pdi]
26656
+ ];
26160
26657
  if (fd.toLowerCase() === pd.toLowerCase()) {
26161
26658
  pattern[pdi] = fd;
26162
- if (pdi > fdi) {
26163
- pattern = pattern.slice(pdi);
26164
- } else if (fdi > pdi) {
26165
- file = file.slice(fdi);
26166
- }
26659
+ patternStartIndex = pdi;
26660
+ fileStartIndex = fdi;
26167
26661
  }
26168
26662
  }
26169
26663
  }
@@ -26171,71 +26665,10 @@ var Minimatch = class {
26171
26665
  if (optimizationLevel >= 2) {
26172
26666
  file = this.levelTwoFileOptimize(file);
26173
26667
  }
26174
- this.debug("matchOne", this, { file, pattern });
26175
- this.debug("matchOne", file.length, pattern.length);
26176
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
26177
- this.debug("matchOne loop");
26178
- var p = pattern[pi];
26179
- var f = file[fi];
26180
- this.debug(pattern, p, f);
26181
- if (p === false) {
26182
- return false;
26183
- }
26184
- if (p === GLOBSTAR) {
26185
- this.debug("GLOBSTAR", [pattern, p, f]);
26186
- var fr = fi;
26187
- var pr = pi + 1;
26188
- if (pr === pl) {
26189
- this.debug("** at the end");
26190
- for (; fi < fl; fi++) {
26191
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
26192
- return false;
26193
- }
26194
- return true;
26195
- }
26196
- while (fr < fl) {
26197
- var swallowee = file[fr];
26198
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
26199
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
26200
- this.debug("globstar found match!", fr, fl, swallowee);
26201
- return true;
26202
- } else {
26203
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
26204
- this.debug("dot detected!", file, fr, pattern, pr);
26205
- break;
26206
- }
26207
- this.debug("globstar swallow a segment, and continue");
26208
- fr++;
26209
- }
26210
- }
26211
- if (partial) {
26212
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
26213
- if (fr === fl) {
26214
- return true;
26215
- }
26216
- }
26217
- return false;
26218
- }
26219
- let hit;
26220
- if (typeof p === "string") {
26221
- hit = f === p;
26222
- this.debug("string match", p, f, hit);
26223
- } else {
26224
- hit = p.test(f);
26225
- this.debug("pattern match", p, f, hit);
26226
- }
26227
- if (!hit)
26228
- return false;
26229
- }
26230
- if (fi === fl && pi === pl) {
26231
- return true;
26232
- } else if (fi === fl) {
26233
- return partial;
26234
- } else if (pi === pl) {
26235
- return fi === fl - 1 && file[fi] === "";
26236
- } else {
26237
- throw new Error("wtf?");
26668
+ if (pattern.includes(GLOBSTAR)) {
26669
+ return __privateMethod(this, _Minimatch_instances, matchGlobstar_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
26238
26670
  }
26671
+ return __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, pattern, partial, fileStartIndex, patternStartIndex);
26239
26672
  }
26240
26673
  braceExpand() {
26241
26674
  return braceExpand(this.pattern, this.options);
@@ -26374,6 +26807,135 @@ var Minimatch = class {
26374
26807
  return minimatch.defaults(def).Minimatch;
26375
26808
  }
26376
26809
  };
26810
+ _Minimatch_instances = new WeakSet();
26811
+ matchGlobstar_fn = function(file, pattern, partial, fileIndex, patternIndex) {
26812
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
26813
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
26814
+ const [head, body, tail] = partial ? [
26815
+ pattern.slice(patternIndex, firstgs),
26816
+ pattern.slice(firstgs + 1),
26817
+ []
26818
+ ] : [
26819
+ pattern.slice(patternIndex, firstgs),
26820
+ pattern.slice(firstgs + 1, lastgs),
26821
+ pattern.slice(lastgs + 1)
26822
+ ];
26823
+ if (head.length) {
26824
+ const fileHead = file.slice(fileIndex, fileIndex + head.length);
26825
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, fileHead, head, partial, 0, 0))
26826
+ return false;
26827
+ fileIndex += head.length;
26828
+ }
26829
+ let fileTailMatch = 0;
26830
+ if (tail.length) {
26831
+ if (tail.length + fileIndex > file.length)
26832
+ return false;
26833
+ let tailStart = file.length - tail.length;
26834
+ if (__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0)) {
26835
+ fileTailMatch = tail.length;
26836
+ } else {
26837
+ if (file[file.length - 1] !== "" || fileIndex + tail.length === file.length) {
26838
+ return false;
26839
+ }
26840
+ tailStart--;
26841
+ if (!__privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file, tail, partial, tailStart, 0))
26842
+ return false;
26843
+ fileTailMatch = tail.length + 1;
26844
+ }
26845
+ }
26846
+ if (!body.length) {
26847
+ let sawSome = !!fileTailMatch;
26848
+ for (let i2 = fileIndex; i2 < file.length - fileTailMatch; i2++) {
26849
+ const f = String(file[i2]);
26850
+ sawSome = true;
26851
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
26852
+ return false;
26853
+ }
26854
+ }
26855
+ return partial || sawSome;
26856
+ }
26857
+ const bodySegments = [[[], 0]];
26858
+ let currentBody = bodySegments[0];
26859
+ let nonGsParts = 0;
26860
+ const nonGsPartsSums = [0];
26861
+ for (const b of body) {
26862
+ if (b === GLOBSTAR) {
26863
+ nonGsPartsSums.push(nonGsParts);
26864
+ currentBody = [[], 0];
26865
+ bodySegments.push(currentBody);
26866
+ } else {
26867
+ currentBody[0].push(b);
26868
+ nonGsParts++;
26869
+ }
26870
+ }
26871
+ let i = bodySegments.length - 1;
26872
+ const fileLength = file.length - fileTailMatch;
26873
+ for (const b of bodySegments) {
26874
+ b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
26875
+ }
26876
+ return !!__privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
26877
+ };
26878
+ matchGlobStarBodySections_fn = function(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
26879
+ const bs = bodySegments[bodyIndex];
26880
+ if (!bs) {
26881
+ for (let i = fileIndex; i < file.length; i++) {
26882
+ sawTail = true;
26883
+ const f = file[i];
26884
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
26885
+ return false;
26886
+ }
26887
+ }
26888
+ return sawTail;
26889
+ }
26890
+ const [body, after] = bs;
26891
+ while (fileIndex <= after) {
26892
+ const m = __privateMethod(this, _Minimatch_instances, matchOne_fn).call(this, file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
26893
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
26894
+ const sub = __privateMethod(this, _Minimatch_instances, matchGlobStarBodySections_fn).call(this, file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
26895
+ if (sub !== false)
26896
+ return sub;
26897
+ }
26898
+ const f = file[fileIndex];
26899
+ if (f === "." || f === ".." || !this.options.dot && f.startsWith(".")) {
26900
+ return false;
26901
+ }
26902
+ fileIndex++;
26903
+ }
26904
+ return partial || null;
26905
+ };
26906
+ matchOne_fn = function(file, pattern, partial, fileIndex, patternIndex) {
26907
+ let fi;
26908
+ let pi;
26909
+ let pl;
26910
+ let fl;
26911
+ for (fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
26912
+ this.debug("matchOne loop");
26913
+ let p = pattern[pi];
26914
+ let f = file[fi];
26915
+ this.debug(pattern, p, f);
26916
+ if (p === false || p === GLOBSTAR)
26917
+ return false;
26918
+ let hit;
26919
+ if (typeof p === "string") {
26920
+ hit = f === p;
26921
+ this.debug("string match", p, f, hit);
26922
+ } else {
26923
+ hit = p.test(f);
26924
+ this.debug("pattern match", p, f, hit);
26925
+ }
26926
+ if (!hit)
26927
+ return false;
26928
+ }
26929
+ if (fi === fl && pi === pl) {
26930
+ return true;
26931
+ } else if (fi === fl) {
26932
+ return partial;
26933
+ } else if (pi === pl) {
26934
+ return fi === fl - 1 && file[fi] === "";
26935
+ } else {
26936
+ throw new Error("wtf?");
26937
+ }
26938
+ };
26377
26939
  minimatch.AST = AST;
26378
26940
  minimatch.Minimatch = Minimatch;
26379
26941
  minimatch.escape = escape;
@@ -26444,7 +27006,7 @@ var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") ||
26444
27006
 
26445
27007
  // src/compiler/html/canonical-link.ts
26446
27008
  var updateCanonicalLink = (doc, href) => {
26447
- var _a2;
27009
+ var _a3;
26448
27010
  let canonicalLinkElm = doc.head.querySelector('link[rel="canonical"]');
26449
27011
  if (typeof href === "string") {
26450
27012
  if (canonicalLinkElm == null) {
@@ -26457,7 +27019,7 @@ var updateCanonicalLink = (doc, href) => {
26457
27019
  if (canonicalLinkElm != null) {
26458
27020
  const existingHref = canonicalLinkElm.getAttribute("href");
26459
27021
  if (!existingHref) {
26460
- (_a2 = canonicalLinkElm.parentNode) == null ? void 0 : _a2.removeChild(canonicalLinkElm);
27022
+ (_a3 = canonicalLinkElm.parentNode) == null ? void 0 : _a3.removeChild(canonicalLinkElm);
26461
27023
  }
26462
27024
  }
26463
27025
  }
@@ -26969,7 +27531,7 @@ var serializeCss = (stylesheet, serializeOpts) => {
26969
27531
  return out.join("");
26970
27532
  };
26971
27533
  var serializeCssVisitNode = (opts, node, index, len) => {
26972
- var _a2;
27534
+ var _a3;
26973
27535
  const nodeType = node.type;
26974
27536
  if (nodeType === 4 /* Declaration */) {
26975
27537
  return serializeCssDeclaration(node, index, len);
@@ -26978,7 +27540,7 @@ var serializeCssVisitNode = (opts, node, index, len) => {
26978
27540
  return serializeCssRule(opts, node);
26979
27541
  }
26980
27542
  if (nodeType === 1 /* Comment */) {
26981
- if (((_a2 = node.comment) == null ? void 0 : _a2[0]) === "!") {
27543
+ if (((_a3 = node.comment) == null ? void 0 : _a3[0]) === "!") {
26982
27544
  return `/*${node.comment}*/`;
26983
27545
  } else {
26984
27546
  return "";
@@ -27026,10 +27588,10 @@ var serializeCssVisitNode = (opts, node, index, len) => {
27026
27588
  return "";
27027
27589
  };
27028
27590
  var serializeCssRule = (opts, node) => {
27029
- var _a2, _b;
27591
+ var _a3, _b;
27030
27592
  const decls = node.declarations;
27031
27593
  const usedSelectors = opts.usedSelectors;
27032
- const selectors = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.slice()) != null ? _b : [];
27594
+ const selectors = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.slice()) != null ? _b : [];
27033
27595
  const hasDecls = decls != null && decls.length > 0;
27034
27596
  const hasNestedRules = node.rules != null && node.rules.length > 0;
27035
27597
  if (!hasDecls && !hasNestedRules) {
@@ -27133,8 +27695,8 @@ var serializeCssKeyframes = (opts, node) => {
27133
27695
  return "@" + (node.vendor || "") + "keyframes " + node.name + "{" + keyframesCss + "}";
27134
27696
  };
27135
27697
  var serializeCssKeyframe = (opts, node) => {
27136
- var _a2, _b;
27137
- return ((_b = (_a2 = node.values) == null ? void 0 : _a2.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
27698
+ var _a3, _b;
27699
+ return ((_b = (_a3 = node.values) == null ? void 0 : _a3.join(",")) != null ? _b : "") + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
27138
27700
  };
27139
27701
  var serializeCssFontFace = (opts, node) => {
27140
27702
  const fontCss = serializeCssMapVisit(opts, node.declarations);
@@ -27158,8 +27720,8 @@ var serializeCssContainer = (opts, node) => {
27158
27720
  return "@container " + removeMediaWhitespace(node.media) + "{" + containerCss + "}";
27159
27721
  };
27160
27722
  var serializeCssPage = (opts, node) => {
27161
- var _a2, _b;
27162
- const sel = (_b = (_a2 = node.selectors) == null ? void 0 : _a2.join(", ")) != null ? _b : "";
27723
+ var _a3, _b;
27724
+ const sel = (_b = (_a3 = node.selectors) == null ? void 0 : _a3.join(", ")) != null ? _b : "";
27163
27725
  return "@page " + sel + "{" + serializeCssMapVisit(opts, node.declarations) + "}";
27164
27726
  };
27165
27727
  var serializeCssDocument = (opts, node) => {
@@ -27206,10 +27768,10 @@ var removeSelectorWhitespace = (selector) => {
27206
27768
  return rtn;
27207
27769
  };
27208
27770
  var removeMediaWhitespace = (media) => {
27209
- var _a2;
27771
+ var _a3;
27210
27772
  let rtn = "";
27211
27773
  let char = "";
27212
- media = (_a2 = media == null ? void 0 : media.trim()) != null ? _a2 : "";
27774
+ media = (_a3 = media == null ? void 0 : media.trim()) != null ? _a3 : "";
27213
27775
  for (let i = 0, l = media.length; i < l; i++) {
27214
27776
  char = media[i];
27215
27777
  if (CSS_WS_REG.test(char)) {