smoothly 1.0.0-alpha.21 → 1.0.0-alpha.210

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 (549) hide show
  1. package/dist/cjs/{Listenable-63ea2d90.js → Data-ae713814.js} +523 -6
  2. package/dist/cjs/Data-ae713814.js.map +1 -0
  3. package/dist/cjs/Observers-6450f075.js +25 -0
  4. package/dist/cjs/Observers-6450f075.js.map +1 -0
  5. package/dist/cjs/TimeZone-016ac7b0.js +6181 -0
  6. package/dist/cjs/TimeZone-016ac7b0.js.map +1 -0
  7. package/dist/cjs/getLanguage-49a534df.js +6118 -0
  8. package/dist/cjs/getLanguage-49a534df.js.map +1 -0
  9. package/dist/cjs/{index-8adc5c1b.js → index-43af753b.js} +55 -2
  10. package/dist/cjs/index-43af753b.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +22 -17
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +4 -3
  14. package/dist/cjs/loader.cjs.js.map +1 -1
  15. package/dist/cjs/{Notice-88ba4c70.js → redirect-2e5d4524.js} +11 -2
  16. package/dist/cjs/redirect-2e5d4524.js.map +1 -0
  17. package/dist/cjs/smoothly-accordion-item.cjs.entry.js +61 -0
  18. package/dist/cjs/smoothly-accordion-item.cjs.entry.js.map +1 -0
  19. package/dist/cjs/smoothly-accordion.cjs.entry.js +58 -0
  20. package/dist/cjs/smoothly-accordion.cjs.entry.js.map +1 -0
  21. package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
  22. package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
  23. package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
  24. package/dist/cjs/smoothly-app_80.cjs.entry.js +10872 -0
  25. package/dist/cjs/smoothly-app_80.cjs.entry.js.map +1 -0
  26. package/dist/cjs/smoothly-checkbox.cjs.entry.js +102 -0
  27. package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -0
  28. package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
  29. package/dist/cjs/smoothly-country.cjs.entry.js +56 -55
  30. package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
  31. package/dist/cjs/smoothly-display-date-time.cjs.entry.js +26 -0
  32. package/dist/cjs/smoothly-display-date-time.cjs.entry.js.map +1 -0
  33. package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
  34. package/dist/cjs/smoothly-reorder.cjs.entry.js +1 -1
  35. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +4 -4
  36. package/dist/cjs/smoothly-trigger-sink.cjs.entry.js.map +1 -1
  37. package/dist/cjs/smoothly-trigger-source.cjs.entry.js +6 -6
  38. package/dist/cjs/smoothly-trigger-source.cjs.entry.js.map +1 -1
  39. package/dist/cjs/smoothly.cjs.js +4 -3
  40. package/dist/cjs/smoothly.cjs.js.map +1 -1
  41. package/dist/collection/collection-manifest.json +37 -15
  42. package/dist/collection/components/Button.js +16 -2
  43. package/dist/collection/components/Button.js.map +1 -1
  44. package/dist/collection/components/accordion/index.js +32 -12
  45. package/dist/collection/components/accordion/index.js.map +1 -1
  46. package/dist/collection/components/accordion-item/index.js +18 -25
  47. package/dist/collection/components/accordion-item/index.js.map +1 -1
  48. package/dist/collection/components/app/index.js +99 -29
  49. package/dist/collection/components/app/index.js.map +1 -1
  50. package/dist/collection/components/app/room/index.js +134 -25
  51. package/dist/collection/components/app/room/index.js.map +1 -1
  52. package/dist/collection/components/app/room/style.css +39 -10
  53. package/dist/collection/components/app/style.css +104 -39
  54. package/dist/collection/components/app-demo/index.js +1 -1
  55. package/dist/collection/components/app-demo/index.js.map +1 -1
  56. package/dist/collection/components/backtotop/index.js +3 -3
  57. package/dist/collection/components/backtotop/index.js.map +1 -1
  58. package/dist/collection/components/burger/index.js +60 -14
  59. package/dist/collection/components/burger/index.js.map +1 -1
  60. package/dist/collection/components/burger/style.css +2 -2
  61. package/dist/collection/components/button/index.js +10 -23
  62. package/dist/collection/components/button/index.js.map +1 -1
  63. package/dist/collection/components/button/style.css +33 -35
  64. package/dist/collection/components/button-demo/index.js +4 -2
  65. package/dist/collection/components/button-demo/index.js.map +1 -1
  66. package/dist/collection/components/button-demo/style.css +1 -0
  67. package/dist/collection/components/calendar/generate.js +1 -1
  68. package/dist/collection/components/calendar/generate.js.map +1 -1
  69. package/dist/collection/components/calendar/index.js +16 -16
  70. package/dist/collection/components/calendar/index.js.map +1 -1
  71. package/dist/collection/components/checkbox/index.js +82 -29
  72. package/dist/collection/components/checkbox/index.js.map +1 -1
  73. package/dist/collection/components/checkbox/style.css +39 -42
  74. package/dist/collection/components/confirm/index.js +261 -0
  75. package/dist/collection/components/confirm/index.js.map +1 -0
  76. package/dist/collection/components/confirm/style.css +15 -0
  77. package/dist/collection/components/country/index.js +1 -1
  78. package/dist/collection/components/display/index.js +6 -3
  79. package/dist/collection/components/display/index.js.map +1 -1
  80. package/dist/collection/components/display-amount/index.js +1 -1
  81. package/dist/collection/components/display-demo/index.js +16 -1
  82. package/dist/collection/components/display-demo/index.js.map +1 -1
  83. package/dist/collection/components/filter/Filter.js +17 -0
  84. package/dist/collection/components/filter/Filter.js.map +1 -0
  85. package/dist/collection/components/filter/field/index.js +105 -0
  86. package/dist/collection/components/filter/field/index.js.map +1 -0
  87. package/dist/collection/components/filter/field/style.css +4 -0
  88. package/dist/collection/components/filter/index.js +55 -132
  89. package/dist/collection/components/filter/index.js.map +1 -1
  90. package/dist/collection/components/filter/input/index.js +64 -302
  91. package/dist/collection/components/filter/input/index.js.map +1 -1
  92. package/dist/collection/components/filter/picker/index.js +174 -0
  93. package/dist/collection/components/filter/picker/index.js.map +1 -0
  94. package/dist/collection/components/filter/picker/style.css +7 -0
  95. package/dist/collection/components/filter/style.css +56 -71
  96. package/dist/collection/components/filter/toggle/index.js +248 -0
  97. package/dist/collection/components/filter/toggle/index.js.map +1 -0
  98. package/dist/collection/components/filter/toggle/style.css +8 -0
  99. package/dist/collection/components/form/index.js +302 -35
  100. package/dist/collection/components/form/index.js.map +1 -1
  101. package/dist/collection/components/form/style.css +11 -17
  102. package/dist/collection/components/icon/index.js +29 -38
  103. package/dist/collection/components/icon/index.js.map +1 -1
  104. package/dist/collection/components/icon-demo/index.js +1 -1
  105. package/dist/collection/components/icon-demo/index.js.map +1 -1
  106. package/dist/collection/components/icon-demo/style.css +5 -6
  107. package/dist/collection/components/input/Clearable.js.map +1 -0
  108. package/dist/collection/components/input/Editable.js +18 -0
  109. package/dist/collection/components/input/Editable.js.map +1 -0
  110. package/dist/collection/components/input/Input.js +23 -0
  111. package/dist/collection/components/input/Input.js.map +1 -0
  112. package/dist/collection/components/input/Looks.js +8 -0
  113. package/dist/collection/components/input/Looks.js.map +1 -0
  114. package/dist/collection/components/input/Submittable.js +8 -0
  115. package/dist/collection/components/input/Submittable.js.map +1 -0
  116. package/dist/collection/components/input/checkbox/index.js +235 -0
  117. package/dist/collection/components/input/checkbox/index.js.map +1 -0
  118. package/dist/collection/components/input/checkbox/style.css +31 -0
  119. package/dist/collection/components/input/clear/index.js +242 -0
  120. package/dist/collection/components/input/clear/index.js.map +1 -0
  121. package/dist/collection/components/input/clear/style.css +256 -0
  122. package/dist/collection/components/input/color/index.js +226 -0
  123. package/dist/collection/components/input/color/index.js.map +1 -0
  124. package/dist/collection/components/input/color/style.css +15 -0
  125. package/dist/collection/components/{input-date-range → input/date}/index.js +153 -99
  126. package/dist/collection/components/input/date/index.js.map +1 -0
  127. package/dist/collection/components/input/date/range/index.js +443 -0
  128. package/dist/collection/components/input/date/range/index.js.map +1 -0
  129. package/dist/collection/components/input/date/range/style.css +94 -0
  130. package/dist/collection/components/input/date/style.css +83 -0
  131. package/dist/collection/components/input/demo/index.js +47 -0
  132. package/dist/collection/components/input/demo/index.js.map +1 -0
  133. package/dist/collection/components/input/demo/style.css +15 -0
  134. package/dist/collection/components/input/edit/index.js +231 -0
  135. package/dist/collection/components/input/edit/index.js.map +1 -0
  136. package/dist/collection/components/input/edit/style.css +239 -0
  137. package/dist/collection/components/input/file/index.js +305 -0
  138. package/dist/collection/components/input/file/index.js.map +1 -0
  139. package/dist/collection/components/input/file/style.css +107 -0
  140. package/dist/collection/components/input/index.js +329 -104
  141. package/dist/collection/components/input/index.js.map +1 -1
  142. package/dist/collection/components/{input-month → input/month}/index.js +8 -8
  143. package/dist/collection/components/input/month/index.js.map +1 -0
  144. package/dist/collection/components/input/radio/Selected.js +11 -0
  145. package/dist/collection/components/input/radio/Selected.js.map +1 -0
  146. package/dist/collection/components/input/radio/index.js +404 -0
  147. package/dist/collection/components/input/radio/index.js.map +1 -0
  148. package/dist/collection/components/input/radio/item/index.js +150 -0
  149. package/dist/collection/components/input/radio/item/index.js.map +1 -0
  150. package/dist/collection/components/input/radio/item/style.css +28 -0
  151. package/dist/collection/components/input/radio/style.css +66 -0
  152. package/dist/collection/components/input/range/index.js +305 -0
  153. package/dist/collection/components/input/range/index.js.map +1 -0
  154. package/dist/collection/components/input/range/style.css +154 -0
  155. package/dist/collection/components/input/reset/index.js +241 -0
  156. package/dist/collection/components/input/reset/index.js.map +1 -0
  157. package/dist/collection/components/input/reset/style.css +259 -0
  158. package/dist/collection/components/input/select/index.js +452 -0
  159. package/dist/collection/components/input/select/index.js.map +1 -0
  160. package/dist/collection/components/input/select/style.css +104 -0
  161. package/dist/collection/components/input/style.css +47 -10
  162. package/dist/collection/components/input/submit/index.js +232 -0
  163. package/dist/collection/components/input/submit/index.js.map +1 -0
  164. package/dist/collection/components/input/submit/style.css +236 -0
  165. package/dist/collection/components/item/index.js +5 -5
  166. package/dist/collection/components/item/index.js.map +1 -1
  167. package/dist/collection/components/label/index.js +81 -0
  168. package/dist/collection/components/label/index.js.map +1 -0
  169. package/dist/collection/components/label/style.css +15 -0
  170. package/dist/collection/components/lazy/index.js +73 -0
  171. package/dist/collection/components/lazy/index.js.map +1 -0
  172. package/dist/collection/components/{radio → load-more}/index.js +35 -46
  173. package/dist/collection/components/load-more/index.js.map +1 -0
  174. package/dist/collection/components/load-more/style.css +5 -0
  175. package/dist/collection/components/notification/index.js +45 -8
  176. package/dist/collection/components/notification/index.js.map +1 -1
  177. package/dist/collection/components/notification/style.css +25 -1
  178. package/dist/collection/components/notifier/style.css +1 -3
  179. package/dist/collection/components/picker/demo/index.js +91 -0
  180. package/dist/collection/components/picker/demo/index.js.map +1 -0
  181. package/dist/collection/components/picker/demo/style.css +30 -0
  182. package/dist/collection/components/picker/index.js +197 -396
  183. package/dist/collection/components/picker/index.js.map +1 -1
  184. package/dist/collection/components/picker/menu/index.js +429 -0
  185. package/dist/collection/components/picker/menu/index.js.map +1 -0
  186. package/dist/collection/components/picker/menu/style.css +44 -0
  187. package/dist/collection/components/picker/option/index.js +298 -0
  188. package/dist/collection/components/picker/option/index.js.map +1 -0
  189. package/dist/collection/components/picker/option/style.css +30 -0
  190. package/dist/collection/components/picker/slot-elements/index.js +109 -0
  191. package/dist/collection/components/picker/slot-elements/index.js.map +1 -0
  192. package/dist/collection/components/picker/slot-elements/style.css +3 -0
  193. package/dist/collection/components/picker/slotted-elements/index.js +84 -0
  194. package/dist/collection/components/picker/slotted-elements/index.js.map +1 -0
  195. package/dist/collection/components/picker/slotted-elements/style.css +3 -0
  196. package/dist/collection/components/picker/style.css +76 -136
  197. package/dist/collection/components/popup/index.js +5 -5
  198. package/dist/collection/components/popup/index.js.map +1 -1
  199. package/dist/collection/components/popup/style.css +4 -4
  200. package/dist/collection/components/select-demo/index.js +0 -87
  201. package/dist/collection/components/select-demo/index.js.map +1 -1
  202. package/dist/collection/components/spinner/style.css +1 -0
  203. package/dist/collection/components/submit/index.js +64 -5
  204. package/dist/collection/components/submit/index.js.map +1 -1
  205. package/dist/collection/components/submit/style.css +226 -0
  206. package/dist/collection/components/summary/index.js +46 -4
  207. package/dist/collection/components/summary/index.js.map +1 -1
  208. package/dist/collection/components/summary/style.css +25 -16
  209. package/dist/collection/components/svg/style.css +2 -2
  210. package/dist/collection/components/table/cell/index.js +1 -1
  211. package/dist/collection/components/table/cell/index.js.map +1 -1
  212. package/dist/collection/components/table/cell/style.css +18 -11
  213. package/dist/collection/components/table/demo/filtered/Root.js.map +1 -1
  214. package/dist/collection/components/table/demo/filtered/index.js +18 -18
  215. package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
  216. package/dist/collection/components/table/demo/filtered/style.css +9 -0
  217. package/dist/collection/components/table/demo/index.js +2 -9
  218. package/dist/collection/components/table/demo/index.js.map +1 -1
  219. package/dist/collection/components/table/demo/style.css +7 -0
  220. package/dist/collection/components/table/demo/testing/data.js +28 -0
  221. package/dist/collection/components/table/demo/testing/data.js.map +1 -0
  222. package/dist/collection/components/table/demo/testing/index.js +28 -0
  223. package/dist/collection/components/table/demo/testing/index.js.map +1 -0
  224. package/dist/collection/components/table/demo/testing/style.css +32 -0
  225. package/dist/collection/components/table/expandable/cell/index.js +14 -33
  226. package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
  227. package/dist/collection/components/table/expandable/cell/style.css +32 -25
  228. package/dist/collection/components/table/expandable/row/index.js +9 -51
  229. package/dist/collection/components/table/expandable/row/index.js.map +1 -1
  230. package/dist/collection/components/table/expandable/row/style.css +32 -29
  231. package/dist/collection/components/table/footer/index.js +19 -0
  232. package/dist/collection/components/table/footer/index.js.map +1 -0
  233. package/dist/collection/components/table/footer/style.css +10 -0
  234. package/dist/collection/components/table/header/style.css +2 -3
  235. package/dist/collection/components/table/index.js +55 -12
  236. package/dist/collection/components/table/index.js.map +1 -1
  237. package/dist/collection/components/table/row/index.js +37 -5
  238. package/dist/collection/components/table/row/index.js.map +1 -1
  239. package/dist/collection/components/table/row/style.css +4 -1
  240. package/dist/collection/components/table/style.css +0 -2
  241. package/dist/collection/components/theme/color/index.js +48 -0
  242. package/dist/collection/components/theme/color/index.js.map +1 -0
  243. package/dist/collection/components/theme/color/style.css +8 -0
  244. package/dist/collection/components/theme/color/variant/index.js +66 -0
  245. package/dist/collection/components/theme/color/variant/index.js.map +1 -0
  246. package/dist/collection/components/theme/color/variant/style.css +18 -0
  247. package/dist/collection/components/theme/colors/index.js +30 -0
  248. package/dist/collection/components/theme/colors/index.js.map +1 -0
  249. package/dist/collection/components/theme/colors/style.css +7 -0
  250. package/dist/collection/components/theme/picker/index.js +48 -0
  251. package/dist/collection/components/theme/picker/index.js.map +1 -0
  252. package/dist/collection/components/theme/picker/style.css +0 -0
  253. package/dist/collection/components/toggle-switch/index.js +69 -17
  254. package/dist/collection/components/toggle-switch/index.js.map +1 -1
  255. package/dist/collection/components/toggle-switch/style.css +19 -12
  256. package/dist/collection/components/trigger-source/index.js +3 -3
  257. package/dist/collection/components/trigger-source/index.js.map +1 -1
  258. package/dist/collection/global/Observers.js +22 -0
  259. package/dist/collection/global/Observers.js.map +1 -0
  260. package/dist/collection/global/index.js +5 -0
  261. package/dist/collection/global/index.js.map +1 -0
  262. package/dist/collection/index.js +2 -2
  263. package/dist/collection/index.js.map +1 -1
  264. package/dist/collection/model/Color.js +18 -1
  265. package/dist/collection/model/Color.js.map +1 -1
  266. package/dist/collection/{components/form → model}/Data.js +8 -1
  267. package/dist/collection/model/Data.js.map +1 -0
  268. package/dist/collection/model/Icon.js +23 -0
  269. package/dist/collection/model/Icon.js.map +1 -0
  270. package/dist/collection/model/Listenable.js +17 -4
  271. package/dist/collection/model/Listenable.js.map +1 -1
  272. package/dist/collection/model/Notice.js +1 -1
  273. package/dist/collection/model/Notice.js.map +1 -1
  274. package/dist/collection/model/Option.js.map +1 -1
  275. package/dist/collection/model/index.js +4 -0
  276. package/dist/collection/model/index.js.map +1 -1
  277. package/dist/collection/model/redirect.js +8 -0
  278. package/dist/collection/model/redirect.js.map +1 -0
  279. package/dist/collection/smoothly.js +3 -0
  280. package/dist/collection/smoothly.js.map +1 -0
  281. package/dist/custom-elements/index.d.ts +176 -50
  282. package/dist/custom-elements/index.js +13369 -29834
  283. package/dist/custom-elements/index.js.map +1 -1
  284. package/dist/esm/{Listenable-fb6f4723.js → Data-0390d600.js} +518 -7
  285. package/dist/esm/Data-0390d600.js.map +1 -0
  286. package/dist/esm/Observers-5f08e828.js +25 -0
  287. package/dist/esm/Observers-5f08e828.js.map +1 -0
  288. package/dist/esm/TimeZone-c8df4905.js +6181 -0
  289. package/dist/esm/TimeZone-c8df4905.js.map +1 -0
  290. package/dist/esm/getLanguage-1e9ec036.js +6116 -0
  291. package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
  292. package/dist/esm/{index-6ac4212d.js → index-258984d3.js} +55 -2
  293. package/dist/esm/index-258984d3.js.map +1 -0
  294. package/dist/esm/index.js +20 -5
  295. package/dist/esm/index.js.map +1 -1
  296. package/dist/esm/loader.js +5 -4
  297. package/dist/esm/loader.js.map +1 -1
  298. package/dist/esm/{Notice-1fa17794.js → redirect-b0f87e88.js} +11 -3
  299. package/dist/esm/redirect-b0f87e88.js.map +1 -0
  300. package/dist/esm/smoothly-accordion-item.entry.js +57 -0
  301. package/dist/esm/smoothly-accordion-item.entry.js.map +1 -0
  302. package/dist/esm/smoothly-accordion.entry.js +54 -0
  303. package/dist/esm/smoothly-accordion.entry.js.map +1 -0
  304. package/dist/esm/smoothly-address-display.entry.js +1 -1
  305. package/dist/esm/smoothly-address.entry.js +1 -1
  306. package/dist/esm/smoothly-addresses.entry.js +1 -1
  307. package/dist/esm/smoothly-app_80.entry.js +10789 -0
  308. package/dist/esm/smoothly-app_80.entry.js.map +1 -0
  309. package/dist/esm/smoothly-checkbox.entry.js +98 -0
  310. package/dist/esm/smoothly-checkbox.entry.js.map +1 -0
  311. package/dist/esm/smoothly-color.entry.js +1 -1
  312. package/dist/esm/smoothly-country.entry.js +10 -9
  313. package/dist/esm/smoothly-country.entry.js.map +1 -1
  314. package/dist/esm/smoothly-display-date-time.entry.js +22 -0
  315. package/dist/esm/smoothly-display-date-time.entry.js.map +1 -0
  316. package/dist/esm/smoothly-google-font.entry.js +1 -1
  317. package/dist/esm/smoothly-reorder.entry.js +1 -1
  318. package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
  319. package/dist/esm/smoothly-trigger-source.entry.js +4 -4
  320. package/dist/esm/smoothly-trigger-source.entry.js.map +1 -1
  321. package/dist/esm/smoothly.js +5 -4
  322. package/dist/esm/smoothly.js.map +1 -1
  323. package/dist/smoothly/index.esm.js +1 -1
  324. package/dist/smoothly/index.esm.js.map +1 -1
  325. package/dist/smoothly/{p-04fb45e1.entry.js → p-12182a73.entry.js} +2 -2
  326. package/dist/smoothly/{p-5629e452.entry.js → p-127dcc56.entry.js} +2 -2
  327. package/dist/smoothly/p-21905b32.entry.js +2 -0
  328. package/dist/smoothly/p-21905b32.entry.js.map +1 -0
  329. package/dist/smoothly/p-312ef066.js +2 -0
  330. package/dist/smoothly/p-312ef066.js.map +1 -0
  331. package/dist/smoothly/p-36a1aa35.entry.js +2 -0
  332. package/dist/smoothly/p-36a1aa35.entry.js.map +1 -0
  333. package/dist/smoothly/p-47151a53.entry.js +2 -0
  334. package/dist/smoothly/p-5e387578.js +3 -0
  335. package/dist/smoothly/p-5e387578.js.map +1 -0
  336. package/dist/smoothly/{p-0fec28cc.entry.js → p-6aebb818.entry.js} +2 -2
  337. package/dist/smoothly/p-6e9aca2e.entry.js +2 -0
  338. package/dist/smoothly/p-6e9aca2e.entry.js.map +1 -0
  339. package/dist/smoothly/{p-ae467192.entry.js → p-7bf147bf.entry.js} +2 -2
  340. package/dist/smoothly/p-823e02b0.entry.js +2 -0
  341. package/dist/smoothly/p-823e02b0.entry.js.map +1 -0
  342. package/dist/smoothly/p-9b828bde.js +2 -0
  343. package/dist/smoothly/p-9b828bde.js.map +1 -0
  344. package/dist/smoothly/p-a0ebd646.entry.js +2 -0
  345. package/dist/smoothly/p-a0ebd646.entry.js.map +1 -0
  346. package/dist/smoothly/{p-b3eef141.entry.js → p-b3eac6af.entry.js} +2 -2
  347. package/dist/smoothly/p-c833c402.js +2 -0
  348. package/dist/smoothly/p-c833c402.js.map +1 -0
  349. package/dist/smoothly/{p-3a6873ed.entry.js → p-cb493516.entry.js} +2 -2
  350. package/dist/smoothly/p-ede93d69.js +2 -0
  351. package/dist/smoothly/p-ede93d69.js.map +1 -0
  352. package/dist/smoothly/p-eef1c80b.entry.js +2 -0
  353. package/dist/smoothly/p-eef1c80b.entry.js.map +1 -0
  354. package/dist/smoothly/p-f125610c.entry.js +2 -0
  355. package/dist/smoothly/p-f125610c.entry.js.map +1 -0
  356. package/dist/smoothly/p-fa664317.js +2 -0
  357. package/dist/smoothly/p-fa664317.js.map +1 -0
  358. package/dist/smoothly/smoothly.esm.js +1 -1
  359. package/dist/smoothly/smoothly.esm.js.map +1 -1
  360. package/dist/types/components/Button.d.ts +1 -2
  361. package/dist/types/components/accordion/index.d.ts +1 -1
  362. package/dist/types/components/accordion-item/index.d.ts +5 -4
  363. package/dist/types/components/app/index.d.ts +23 -10
  364. package/dist/types/components/app/room/index.d.ts +21 -7
  365. package/dist/types/components/app-demo/index.d.ts +1 -0
  366. package/dist/types/components/backtotop/index.d.ts +1 -1
  367. package/dist/types/components/burger/index.d.ts +7 -2
  368. package/dist/types/components/button/index.d.ts +2 -2
  369. package/dist/types/components/calendar/index.d.ts +5 -5
  370. package/dist/types/components/checkbox/index.d.ts +7 -3
  371. package/dist/types/components/confirm/index.d.ts +19 -0
  372. package/dist/types/components/filter/Filter.d.ts +21 -0
  373. package/dist/types/components/filter/field/index.d.ts +10 -0
  374. package/dist/types/components/filter/index.d.ts +13 -12
  375. package/dist/types/components/filter/input/index.d.ts +15 -23
  376. package/dist/types/components/filter/picker/index.d.ts +22 -0
  377. package/dist/types/components/filter/toggle/index.d.ts +22 -0
  378. package/dist/types/components/form/index.d.ts +23 -7
  379. package/dist/types/components/icon/index.d.ts +3 -9
  380. package/dist/types/components/input/Editable.d.ts +20 -0
  381. package/dist/types/components/input/Input.d.ts +22 -0
  382. package/dist/types/components/input/Looks.d.ts +7 -0
  383. package/dist/types/components/input/Submittable.d.ts +6 -0
  384. package/dist/types/components/input/checkbox/index.d.ts +20 -0
  385. package/dist/types/components/input/clear/index.d.ts +17 -0
  386. package/dist/types/components/input/color/index.d.ts +24 -0
  387. package/dist/types/components/input/date/index.d.ts +28 -0
  388. package/dist/types/components/input/date/range/index.d.ts +33 -0
  389. package/dist/types/components/input/demo/index.d.ts +6 -0
  390. package/dist/types/components/input/edit/index.d.ts +17 -0
  391. package/dist/types/components/input/file/index.d.ts +24 -0
  392. package/dist/types/components/input/index.d.ts +30 -11
  393. package/dist/types/components/{input-month → input/month}/index.d.ts +2 -2
  394. package/dist/types/components/input/radio/Selected.d.ts +10 -0
  395. package/dist/types/components/input/radio/index.d.ts +35 -0
  396. package/dist/types/components/input/radio/item/index.d.ts +15 -0
  397. package/dist/types/components/input/range/index.d.ts +24 -0
  398. package/dist/types/components/input/reset/index.d.ts +18 -0
  399. package/dist/types/components/input/select/index.d.ts +36 -0
  400. package/dist/types/components/input/submit/index.d.ts +17 -0
  401. package/dist/types/components/item/index.d.ts +1 -1
  402. package/dist/types/components/label/index.d.ts +6 -0
  403. package/dist/types/components/lazy/index.d.ts +7 -0
  404. package/dist/types/components/load-more/index.d.ts +11 -0
  405. package/dist/types/components/notification/index.d.ts +3 -1
  406. package/dist/types/components/picker/demo/index.d.ts +22 -0
  407. package/dist/types/components/picker/index.d.ts +33 -45
  408. package/dist/types/components/picker/menu/index.d.ts +54 -0
  409. package/dist/types/components/picker/option/index.d.ts +23 -0
  410. package/dist/types/components/picker/slot-elements/index.d.ts +15 -0
  411. package/dist/types/components/picker/slotted-elements/index.d.ts +8 -0
  412. package/dist/types/components/popup/index.d.ts +1 -1
  413. package/dist/types/components/select-demo/index.d.ts +0 -9
  414. package/dist/types/components/submit/index.d.ts +6 -1
  415. package/dist/types/components/summary/index.d.ts +4 -0
  416. package/dist/types/components/table/demo/filtered/Root.d.ts +1 -0
  417. package/dist/types/components/table/demo/filtered/index.d.ts +7 -7
  418. package/dist/types/components/table/demo/index.d.ts +1 -1
  419. package/dist/types/components/table/demo/testing/data.d.ts +5 -0
  420. package/dist/types/components/table/demo/testing/index.d.ts +4 -0
  421. package/dist/types/components/table/expandable/cell/index.d.ts +4 -5
  422. package/dist/types/components/table/expandable/row/index.d.ts +3 -8
  423. package/dist/types/components/table/footer/index.d.ts +3 -0
  424. package/dist/types/components/table/index.d.ts +6 -3
  425. package/dist/types/components/table/row/index.d.ts +3 -1
  426. package/dist/types/components/theme/color/index.d.ts +5 -0
  427. package/dist/types/components/theme/color/variant/index.d.ts +6 -0
  428. package/dist/types/components/theme/colors/index.d.ts +3 -0
  429. package/dist/types/components/theme/picker/index.d.ts +4 -0
  430. package/dist/types/components/toggle-switch/index.d.ts +7 -2
  431. package/dist/types/components/trigger-source/index.d.ts +1 -1
  432. package/dist/types/components.d.ts +912 -347
  433. package/dist/types/global/Observers.d.ts +8 -0
  434. package/dist/types/global/index.d.ts +4 -0
  435. package/dist/types/index.d.ts +1 -3
  436. package/dist/types/model/Color.d.ts +7 -1
  437. package/dist/types/{components/form → model}/Data.d.ts +4 -0
  438. package/dist/types/model/Icon.d.ts +8 -0
  439. package/dist/types/model/Listenable.d.ts +10 -1
  440. package/dist/types/model/Notice.d.ts +1 -1
  441. package/dist/types/model/Option.d.ts +24 -6
  442. package/dist/types/model/index.d.ts +3 -0
  443. package/dist/types/model/redirect.d.ts +1 -0
  444. package/dist/types/smoothly.d.ts +3 -0
  445. package/package.json +7 -6
  446. package/dist/cjs/Listenable-63ea2d90.js.map +0 -1
  447. package/dist/cjs/Notice-88ba4c70.js.map +0 -1
  448. package/dist/cjs/getLanguage-4f0a45d5.js +0 -12227
  449. package/dist/cjs/getLanguage-4f0a45d5.js.map +0 -1
  450. package/dist/cjs/index-8adc5c1b.js.map +0 -1
  451. package/dist/cjs/index-d16d46f4.js +0 -1224
  452. package/dist/cjs/index-d16d46f4.js.map +0 -1
  453. package/dist/cjs/smoothly-accordion_62.cjs.entry.js +0 -28199
  454. package/dist/cjs/smoothly-accordion_62.cjs.entry.js.map +0 -1
  455. package/dist/cjs/smoothly-radio-group.cjs.entry.js +0 -22
  456. package/dist/cjs/smoothly-radio-group.cjs.entry.js.map +0 -1
  457. package/dist/collection/components/filter/Clearable.js.map +0 -1
  458. package/dist/collection/components/form/Clearable.js +0 -8
  459. package/dist/collection/components/form/Clearable.js.map +0 -1
  460. package/dist/collection/components/form/Data.js.map +0 -1
  461. package/dist/collection/components/input-date/index.js +0 -206
  462. package/dist/collection/components/input-date/index.js.map +0 -1
  463. package/dist/collection/components/input-date/style.css +0 -40
  464. package/dist/collection/components/input-date-range/index.js.map +0 -1
  465. package/dist/collection/components/input-date-range/style.css +0 -51
  466. package/dist/collection/components/input-demo/index.js +0 -45
  467. package/dist/collection/components/input-demo/index.js.map +0 -1
  468. package/dist/collection/components/input-demo/style.css +0 -4
  469. package/dist/collection/components/input-month/index.js.map +0 -1
  470. package/dist/collection/components/menu-options/index.js +0 -413
  471. package/dist/collection/components/menu-options/index.js.map +0 -1
  472. package/dist/collection/components/menu-options/style.css +0 -18
  473. package/dist/collection/components/option/index.js +0 -270
  474. package/dist/collection/components/option/index.js.map +0 -1
  475. package/dist/collection/components/option/style.css +0 -42
  476. package/dist/collection/components/radio/index.js.map +0 -1
  477. package/dist/collection/components/radio/style.css +0 -31
  478. package/dist/collection/components/radio-button/Selected.js +0 -2
  479. package/dist/collection/components/radio-button/Selected.js.map +0 -1
  480. package/dist/collection/components/radio-button/index.js +0 -137
  481. package/dist/collection/components/radio-button/index.js.map +0 -1
  482. package/dist/collection/components/radio-button/item/index.js +0 -117
  483. package/dist/collection/components/radio-button/item/index.js.map +0 -1
  484. package/dist/collection/components/radio-button/item/style.css +0 -85
  485. package/dist/collection/components/radio-group/index.js +0 -43
  486. package/dist/collection/components/radio-group/index.js.map +0 -1
  487. package/dist/collection/components/radio-group/style.css +0 -36
  488. package/dist/collection/components/select/index.js +0 -108
  489. package/dist/collection/components/select/index.js.map +0 -1
  490. package/dist/collection/components/select/style.css +0 -20
  491. package/dist/collection/components/selector/index.js +0 -234
  492. package/dist/collection/components/selector/index.js.map +0 -1
  493. package/dist/collection/components/selector/style.css +0 -46
  494. package/dist/custom-elements/index2.js +0 -1222
  495. package/dist/custom-elements/index2.js.map +0 -1
  496. package/dist/esm/Listenable-fb6f4723.js.map +0 -1
  497. package/dist/esm/Notice-1fa17794.js.map +0 -1
  498. package/dist/esm/getLanguage-ffacd7b7.js +0 -12225
  499. package/dist/esm/getLanguage-ffacd7b7.js.map +0 -1
  500. package/dist/esm/index-6ac4212d.js.map +0 -1
  501. package/dist/esm/index-d5330059.js +0 -1222
  502. package/dist/esm/index-d5330059.js.map +0 -1
  503. package/dist/esm/smoothly-accordion_62.entry.js +0 -28134
  504. package/dist/esm/smoothly-accordion_62.entry.js.map +0 -1
  505. package/dist/esm/smoothly-radio-group.entry.js +0 -18
  506. package/dist/esm/smoothly-radio-group.entry.js.map +0 -1
  507. package/dist/smoothly/p-06337b89.js +0 -2
  508. package/dist/smoothly/p-06337b89.js.map +0 -1
  509. package/dist/smoothly/p-16cba662.entry.js +0 -2
  510. package/dist/smoothly/p-16cba662.entry.js.map +0 -1
  511. package/dist/smoothly/p-3ad51805.entry.js +0 -2
  512. package/dist/smoothly/p-3ad51805.entry.js.map +0 -1
  513. package/dist/smoothly/p-5e34795b.js +0 -2
  514. package/dist/smoothly/p-5e34795b.js.map +0 -1
  515. package/dist/smoothly/p-75373584.js +0 -2
  516. package/dist/smoothly/p-75373584.js.map +0 -1
  517. package/dist/smoothly/p-75452eb8.js +0 -2
  518. package/dist/smoothly/p-75452eb8.js.map +0 -1
  519. package/dist/smoothly/p-ae33d7e1.entry.js +0 -2
  520. package/dist/smoothly/p-ae33d7e1.entry.js.map +0 -1
  521. package/dist/smoothly/p-b98cd447.js +0 -3
  522. package/dist/smoothly/p-b98cd447.js.map +0 -1
  523. package/dist/smoothly/p-c109fc66.entry.js +0 -2
  524. package/dist/smoothly/p-c109fc66.entry.js.map +0 -1
  525. package/dist/smoothly/p-f29cc9ff.entry.js +0 -2
  526. package/dist/types/components/form/Clearable.d.ts +0 -6
  527. package/dist/types/components/input-date/index.d.ts +0 -14
  528. package/dist/types/components/input-date-range/index.d.ts +0 -23
  529. package/dist/types/components/input-demo/index.d.ts +0 -3
  530. package/dist/types/components/menu-options/index.d.ts +0 -35
  531. package/dist/types/components/option/index.d.ts +0 -32
  532. package/dist/types/components/radio/index.d.ts +0 -13
  533. package/dist/types/components/radio-button/Selected.d.ts +0 -5
  534. package/dist/types/components/radio-button/index.d.ts +0 -15
  535. package/dist/types/components/radio-button/item/index.d.ts +0 -12
  536. package/dist/types/components/radio-group/index.d.ts +0 -4
  537. package/dist/types/components/select/index.d.ts +0 -14
  538. package/dist/types/components/selector/index.d.ts +0 -23
  539. /package/dist/collection/components/{filter → input}/Clearable.js +0 -0
  540. /package/dist/collection/components/{input-month → input/month}/style.css +0 -0
  541. /package/dist/collection/components/{radio-button → lazy}/style.css +0 -0
  542. /package/dist/smoothly/{p-04fb45e1.entry.js.map → p-12182a73.entry.js.map} +0 -0
  543. /package/dist/smoothly/{p-5629e452.entry.js.map → p-127dcc56.entry.js.map} +0 -0
  544. /package/dist/smoothly/{p-f29cc9ff.entry.js.map → p-47151a53.entry.js.map} +0 -0
  545. /package/dist/smoothly/{p-0fec28cc.entry.js.map → p-6aebb818.entry.js.map} +0 -0
  546. /package/dist/smoothly/{p-ae467192.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
  547. /package/dist/smoothly/{p-b3eef141.entry.js.map → p-b3eac6af.entry.js.map} +0 -0
  548. /package/dist/smoothly/{p-3a6873ed.entry.js.map → p-cb493516.entry.js.map} +0 -0
  549. /package/dist/types/components/{filter → input}/Clearable.d.ts +0 -0
@@ -1,2 +0,0 @@
1
- class s{get state(){return this.stateValue}set state(s){if(this.stateValue!=s){this.stateValue=s;this.emit()}}get message(){return this.messageValue}set message(s){if(this.messageValue!=s){this.messageValue=s;this.emit()}}constructor(s,t,e){this.stateValue=s;this.messageValue=t;this.task=e;this.listeners=[];switch(s){case"delayed":this.timer=window.setTimeout((()=>this.execute()),5e3);break;case"executing":this.execute();break;case"success":case"warning":case"failed":this.startCloseTimer();break}}listen(s){this.listeners.push(s)}unlisten(s){this.listeners.filter((t=>t!=s))}emit(){this.listeners.forEach((s=>s(this)))}execute(){this.clearTimer();if(this.task){this.state="executing";this.task(this).then((s=>{this.messageValue=s[1];this.state=s[0]?"success":"failed";this.startCloseTimer()}))}else this.state="failed"}startCloseTimer(){this.timer=window.setTimeout((()=>this.close()),15e3)}close(){this.clearTimer();this.state="closed"}clearTimer(){if(this.timer){window.clearTimeout(this.timer);this.timer=undefined}}static delay(t,e){return new s("delayed",t,e)}static execute(t,e){return new s("executing",t,e)}static succeded(t){return new s("success",t)}static failed(t){return new s("failed",t)}static warn(t){return new s("warning",t)}}export{s as N};
2
- //# sourceMappingURL=p-5e34795b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Notice","state","this","stateValue","value","emit","message","messageValue","constructor","task","listeners","timer","window","setTimeout","execute","startCloseTimer","listen","listener","push","unlisten","filter","l","forEach","clearTimer","then","r","close","clearTimeout","undefined","static"],"sources":["./src/model/Notice.ts"],"sourcesContent":["export class Notice {\n\tprivate timer?: number\n\tget state(): Notice.State {\n\t\treturn this.stateValue\n\t}\n\tset state(value: Notice.State) {\n\t\tif (this.stateValue != value) {\n\t\t\tthis.stateValue = value\n\t\t\tthis.emit()\n\t\t}\n\t}\n\n\tprivate listeners: Notice.Listener[] = []\n\tget message(): string {\n\t\treturn this.messageValue\n\t}\n\tset message(value: string) {\n\t\tif (this.messageValue != value) {\n\t\t\tthis.messageValue = value\n\t\t\tthis.emit()\n\t\t}\n\t}\n\tprivate constructor(private stateValue: Notice.State, private messageValue: string, private task?: Notice.Task) {\n\t\tswitch (stateValue) {\n\t\t\tcase \"delayed\":\n\t\t\t\tthis.timer = window.setTimeout(() => this.execute(), 5000)\n\t\t\t\tbreak\n\t\t\tcase \"executing\":\n\t\t\t\tthis.execute()\n\t\t\t\tbreak\n\t\t\tcase \"success\":\n\t\t\tcase \"warning\":\n\t\t\tcase \"failed\":\n\t\t\t\tthis.startCloseTimer()\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbreak\n\t\t}\n\t}\n\tlisten(listener: Notice.Listener) {\n\t\tthis.listeners.push(listener)\n\t}\n\tunlisten(listener: Notice.Listener) {\n\t\tthis.listeners.filter(l => l != listener)\n\t}\n\tprivate emit() {\n\t\tthis.listeners.forEach(l => l(this))\n\t}\n\tprivate execute() {\n\t\tthis.clearTimer()\n\t\tif (this.task) {\n\t\t\tthis.state = \"executing\"\n\t\t\tthis.task(this).then(r => {\n\t\t\t\tthis.messageValue = r[1] // emit is triggered by the state change below\n\t\t\t\tthis.state = r[0] ? \"success\" : \"failed\"\n\t\t\t\tthis.startCloseTimer()\n\t\t\t})\n\t\t} else\n\t\t\tthis.state = \"failed\"\n\t}\n\tprivate startCloseTimer() {\n\t\tthis.timer = window.setTimeout(() => this.close(), 15000)\n\t}\n\n\tclose() {\n\t\tthis.clearTimer()\n\t\tthis.state = \"closed\"\n\t}\n\tprivate clearTimer() {\n\t\tif (this.timer) {\n\t\t\twindow.clearTimeout(this.timer)\n\t\t\tthis.timer = undefined\n\t\t}\n\t}\n\n\tstatic delay(message: string, task: Notice.Task): Notice {\n\t\treturn new Notice(\"delayed\", message, task)\n\t}\n\tstatic execute(message: string, task: Notice.Task): Notice {\n\t\treturn new Notice(\"executing\", message, task)\n\t}\n\tstatic succeded(message: string): Notice {\n\t\treturn new Notice(\"success\", message)\n\t}\n\tstatic failed(message: string): Notice {\n\t\treturn new Notice(\"failed\", message)\n\t}\n\tstatic warn(message: string): Notice {\n\t\treturn new Notice(\"warning\", message)\n\t}\n}\nexport namespace Notice {\n\texport type State = \"delayed\" | \"executing\" | \"success\" | \"warning\" | \"failed\" | \"closed\"\n\texport type Listener = (notice: Notice) => void\n\texport type Task = (notice: Notice) => Promise<[boolean, string]>\n}\n"],"mappings":"MAAaA,EAERC,YACH,OAAOC,KAAKC,U,CAETF,UAAMG,GACT,GAAIF,KAAKC,YAAcC,EAAO,CAC7BF,KAAKC,WAAaC,EAClBF,KAAKG,M,EAKHC,cACH,OAAOJ,KAAKK,Y,CAETD,YAAQF,GACX,GAAIF,KAAKK,cAAgBH,EAAO,CAC/BF,KAAKK,aAAeH,EACpBF,KAAKG,M,EAGPG,YAA4BL,EAAkCI,EAA8BE,GAAhEP,KAAAC,aAAkCD,KAAAK,eAA8BL,KAAAO,OAVpFP,KAAAQ,UAA+B,GAWtC,OAAQP,GACP,IAAK,UACJD,KAAKS,MAAQC,OAAOC,YAAW,IAAMX,KAAKY,WAAW,KACrD,MACD,IAAK,YACJZ,KAAKY,UACL,MACD,IAAK,UACL,IAAK,UACL,IAAK,SACJZ,KAAKa,kBACL,M,CAKHC,OAAOC,GACNf,KAAKQ,UAAUQ,KAAKD,E,CAErBE,SAASF,GACRf,KAAKQ,UAAUU,QAAOC,GAAKA,GAAKJ,G,CAEzBZ,OACPH,KAAKQ,UAAUY,SAAQD,GAAKA,EAAEnB,O,CAEvBY,UACPZ,KAAKqB,aACL,GAAIrB,KAAKO,KAAM,CACdP,KAAKD,MAAQ,YACbC,KAAKO,KAAKP,MAAMsB,MAAKC,IACpBvB,KAAKK,aAAekB,EAAE,GACtBvB,KAAKD,MAAQwB,EAAE,GAAK,UAAY,SAChCvB,KAAKa,iBAAiB,G,MAGvBb,KAAKD,MAAQ,Q,CAEPc,kBACPb,KAAKS,MAAQC,OAAOC,YAAW,IAAMX,KAAKwB,SAAS,K,CAGpDA,QACCxB,KAAKqB,aACLrB,KAAKD,MAAQ,Q,CAENsB,aACP,GAAIrB,KAAKS,MAAO,CACfC,OAAOe,aAAazB,KAAKS,OACzBT,KAAKS,MAAQiB,S,EAIfC,aAAavB,EAAiBG,GAC7B,OAAO,IAAIT,EAAO,UAAWM,EAASG,E,CAEvCoB,eAAevB,EAAiBG,GAC/B,OAAO,IAAIT,EAAO,YAAaM,EAASG,E,CAEzCoB,gBAAgBvB,GACf,OAAO,IAAIN,EAAO,UAAWM,E,CAE9BuB,cAAcvB,GACb,OAAO,IAAIN,EAAO,SAAUM,E,CAE7BuB,YAAYvB,GACX,OAAO,IAAIN,EAAO,UAAWM,E"}
@@ -1,2 +0,0 @@
1
- var t=/[$_\p{ID_Start}]/u;var e=/[$_\u200C\u200D\p{ID_Continue}]/u;function i(t,e){return(e?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(t)}function r(r,n=false){const s=[];let o=0;while(o<r.length){const f=r[o];const h=function(t){if(!n)throw new TypeError(t);s.push({type:"INVALID_CHAR",index:o,value:r[o++]})};if(f==="*"){s.push({type:"ASTERISK",index:o,value:r[o++]});continue}if(f==="+"||f==="?"){s.push({type:"MODIFIER",index:o,value:r[o++]});continue}if(f==="\\"){s.push({type:"ESCAPED_CHAR",index:o++,value:r[o++]});continue}if(f==="{"){s.push({type:"OPEN",index:o,value:r[o++]});continue}if(f==="}"){s.push({type:"CLOSE",index:o,value:r[o++]});continue}if(f===":"){let i="";let n=o+1;while(n<r.length){const s=r.substr(n,1);if(n===o+1&&t.test(s)||n!==o+1&&e.test(s)){i+=r[n++];continue}break}if(!i){h(`Missing parameter name at ${o}`);continue}s.push({type:"NAME",index:o,value:i});o=n;continue}if(f==="("){let t=1;let e="";let n=o+1;let f=false;if(r[n]==="?"){h(`Pattern cannot start with "?" at ${n}`);continue}while(n<r.length){if(!i(r[n],false)){h(`Invalid character '${r[n]}' at ${n}.`);f=true;break}if(r[n]==="\\"){e+=r[n++]+r[n++];continue}if(r[n]===")"){t--;if(t===0){n++;break}}else if(r[n]==="("){t++;if(r[n+1]!=="?"){h(`Capturing groups are not allowed at ${n}`);f=true;break}}e+=r[n++]}if(f){continue}if(t){h(`Unbalanced pattern at ${o}`);continue}if(!e){h(`Missing pattern at ${o}`);continue}s.push({type:"PATTERN",index:o,value:e});o=n;continue}s.push({type:"CHAR",index:o,value:r[o++]})}s.push({type:"END",index:o,value:""});return s}function n(t,e={}){const i=r(t);const{prefixes:n="./"}=e;const o=`[^${s(e.delimiter===void 0?"/#?":e.delimiter)}]+?`;const f=[];let h=0;let u=0;let a="";let c=new Set;const p=t=>{if(u<i.length&&i[u].type===t)return i[u++].value};const l=()=>{const t=p("MODIFIER");if(t){return t}return p("ASTERISK")};const w=t=>{const e=p(t);if(e!==void 0)return e;const{type:r,index:n}=i[u];throw new TypeError(`Unexpected ${r} at ${n}, expected ${t}`)};const m=()=>{let t="";let e;while(e=p("CHAR")||p("ESCAPED_CHAR")){t+=e}return t};const y=t=>t;const $=e.encodePart||y;while(u<i.length){const t=p("CHAR");const e=p("NAME");let i=p("PATTERN");if(!e&&!i&&p("ASTERISK")){i=".*"}if(e||i){let r=t||"";if(n.indexOf(r)===-1){a+=r;r=""}if(a){f.push($(a));a=""}const s=e||h++;if(c.has(s)){throw new TypeError(`Duplicate name '${s}'.`)}c.add(s);f.push({name:s,prefix:$(r),suffix:"",pattern:i||o,modifier:l()||""});continue}const r=t||p("ESCAPED_CHAR");if(r){a+=r;continue}const s=p("OPEN");if(s){const t=m();const e=p("NAME")||"";let i=p("PATTERN")||"";if(!e&&!i&&p("ASTERISK")){i=".*"}const r=m();w("CLOSE");const n=l()||"";if(!e&&!i&&!n){a+=t;continue}if(!e&&!i&&!t){continue}if(a){f.push($(a));a=""}f.push({name:e||(i?h++:""),pattern:e&&!i?o:i,prefix:$(t),suffix:$(r),modifier:n});continue}if(a){f.push($(a));a=""}w("END")}return f}function s(t){return t.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function o(t){return t&&t.ignoreCase?"ui":"u"}function f(t,e){if(!e)return t;const i=/\((?:\?<(.*?)>)?(?!\?)/g;let r=0;let n=i.exec(t.source);while(n){e.push({name:n[1]||r++,prefix:"",suffix:"",modifier:"",pattern:""});n=i.exec(t.source)}return t}function h(t,e,i){const r=t.map((t=>c(t,e,i).source));return new RegExp(`(?:${r.join("|")})`,o(i))}function u(t,e,i){return a(n(t,i),e,i)}function a(t,e,i={}){const{strict:r=false,start:n=true,end:f=true,encode:h=(t=>t)}=i;const u=`[${s(i.endsWith===void 0?"":i.endsWith)}]|$`;const a=`[${s(i.delimiter===void 0?"/#?":i.delimiter)}]`;let c=n?"^":"";for(const i of t){if(typeof i==="string"){c+=s(h(i))}else{const t=s(h(i.prefix));const r=s(h(i.suffix));if(i.pattern){if(e)e.push(i);if(t||r){if(i.modifier==="+"||i.modifier==="*"){const e=i.modifier==="*"?"?":"";c+=`(?:${t}((?:${i.pattern})(?:${r}${t}(?:${i.pattern}))*)${r})${e}`}else{c+=`(?:${t}(${i.pattern})${r})${i.modifier}`}}else{if(i.modifier==="+"||i.modifier==="*"){c+=`((?:${i.pattern})${i.modifier})`}else{c+=`(${i.pattern})${i.modifier}`}}}else{c+=`(?:${t}${r})${i.modifier}`}}}if(f){if(!r)c+=`${a}?`;c+=!i.endsWith?"$":`(?=${u})`}else{const e=t[t.length-1];const i=typeof e==="string"?a.indexOf(e[e.length-1])>-1:e===void 0;if(!r){c+=`(?:${a}(?=${u}))?`}if(!i){c+=`(?=${a}|${u})`}}return new RegExp(c,o(i))}function c(t,e,i){if(t instanceof RegExp)return f(t,e);if(Array.isArray(t))return h(t,e,i);return u(t,e,i)}var p={delimiter:"",prefixes:"",sensitive:true,strict:true};var l={delimiter:".",prefixes:"",sensitive:true,strict:true};var w={delimiter:"/",prefixes:"/",sensitive:true,strict:true};function m(t,e){if(!t.length){return false}if(t[0]==="/"){return true}if(!e){return false}if(t.length<2){return false}if((t[0]=="\\"||t[0]=="{")&&t[1]=="/"){return true}return false}function y(t,e){if(t.startsWith(e)){return t.substring(e.length,t.length)}return t}function $(t,e){if(t.endsWith(e)){return t.substr(0,t.length-e.length)}return t}function d(t){if(!t||t.length<2){return false}if(t[0]==="["){return true}if((t[0]==="\\"||t[0]==="{")&&t[1]==="["){return true}return false}var g=["ftp","file","http","https","ws","wss"];function b(t){if(!t){return true}for(const e of g){if(t.test(e)){return true}}return false}function E(t,e){t=y(t,"#");if(e||t===""){return t}const i=new URL("https://example.com");i.hash=t;return i.hash?i.hash.substring(1,i.hash.length):""}function x(t,e){t=y(t,"?");if(e||t===""){return t}const i=new URL("https://example.com");i.search=t;return i.search?i.search.substring(1,i.search.length):""}function v(t,e){if(e||t===""){return t}if(d(t)){return U(t)}else{return O(t)}}function R(t,e){if(e||t===""){return t}const i=new URL("https://example.com");i.password=t;return i.password}function A(t,e){if(e||t===""){return t}const i=new URL("https://example.com");i.username=t;return i.username}function k(t,e,i){if(i||t===""){return t}if(e&&!g.includes(e)){const i=new URL(`${e}:${t}`);return i.pathname}const r=t[0]=="/";t=new URL(!r?"/-"+t:t,"https://example.com").pathname;if(!r){t=t.substring(2,t.length)}return t}function T(t,e,i){if(C(e)===t){t=""}if(i||t===""){return t}return D(t)}function S(t,e){t=$(t,":");if(e||t===""){return t}return I(t)}function C(t){switch(t){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function I(t){if(t===""){return t}if(/^[-+.A-Za-z0-9]*$/.test(t))return t.toLowerCase();throw new TypeError(`Invalid protocol '${t}'.`)}function L(t){if(t===""){return t}const e=new URL("https://example.com");e.username=t;return e.username}function P(t){if(t===""){return t}const e=new URL("https://example.com");e.password=t;return e.password}function O(t){if(t===""){return t}if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(t)){throw new TypeError(`Invalid hostname '${t}'`)}const e=new URL("https://example.com");e.hostname=t;return e.hostname}function U(t){if(t===""){return t}if(/[^0-9a-fA-F[\]:]/g.test(t)){throw new TypeError(`Invalid IPv6 hostname '${t}'`)}return t.toLowerCase()}function D(t){if(t===""){return t}if(/^[0-9]*$/.test(t)&&parseInt(t)<=65535){return t}throw new TypeError(`Invalid port '${t}'.`)}function N(t){if(t===""){return t}const e=new URL("https://example.com");e.pathname=t[0]!=="/"?"/-"+t:t;if(t[0]!=="/"){return e.pathname.substring(2,e.pathname.length)}return e.pathname}function j(t){if(t===""){return t}const e=new URL(`data:${t}`);return e.pathname}function _(t){if(t===""){return t}const e=new URL("https://example.com");e.search=t;return e.search.substring(1,e.search.length)}function H(t){if(t===""){return t}const e=new URL("https://example.com");e.hash=t;return e.hash.substring(1,e.hash.length)}var M=class{constructor(t){this.tokenList=[];this.internalResult={};this.tokenIndex=0;this.tokenIncrement=1;this.componentStart=0;this.state=0;this.groupDepth=0;this.hostnameIPv6BracketDepth=0;this.shouldTreatAsStandardURL=false;this.input=t}get result(){return this.internalResult}parse(){this.tokenList=r(this.input,true);for(;this.tokenIndex<this.tokenList.length;this.tokenIndex+=this.tokenIncrement){this.tokenIncrement=1;if(this.tokenList[this.tokenIndex].type==="END"){if(this.state===0){this.rewind();if(this.isHashPrefix()){this.changeState(9,1)}else if(this.isSearchPrefix()){this.changeState(8,1);this.internalResult.hash=""}else{this.changeState(7,0);this.internalResult.search="";this.internalResult.hash=""}continue}else if(this.state===2){this.rewindAndSetState(5);continue}this.changeState(10,0);break}if(this.groupDepth>0){if(this.isGroupClose()){this.groupDepth-=1}else{continue}}if(this.isGroupOpen()){this.groupDepth+=1;continue}switch(this.state){case 0:if(this.isProtocolSuffix()){this.internalResult.username="";this.internalResult.password="";this.internalResult.hostname="";this.internalResult.port="";this.internalResult.pathname="";this.internalResult.search="";this.internalResult.hash="";this.rewindAndSetState(1)}break;case 1:if(this.isProtocolSuffix()){this.computeShouldTreatAsStandardURL();let t=7;let e=1;if(this.shouldTreatAsStandardURL){this.internalResult.pathname="/"}if(this.nextIsAuthoritySlashes()){t=2;e=3}else if(this.shouldTreatAsStandardURL){t=2}this.changeState(t,e)}break;case 2:if(this.isIdentityTerminator()){this.rewindAndSetState(3)}else if(this.isPathnameStart()||this.isSearchPrefix()||this.isHashPrefix()){this.rewindAndSetState(5)}break;case 3:if(this.isPasswordPrefix()){this.changeState(4,1)}else if(this.isIdentityTerminator()){this.changeState(5,1)}break;case 4:if(this.isIdentityTerminator()){this.changeState(5,1)}break;case 5:if(this.isIPv6Open()){this.hostnameIPv6BracketDepth+=1}else if(this.isIPv6Close()){this.hostnameIPv6BracketDepth-=1}if(this.isPortPrefix()&&!this.hostnameIPv6BracketDepth){this.changeState(6,1)}else if(this.isPathnameStart()){this.changeState(7,0)}else if(this.isSearchPrefix()){this.changeState(8,1)}else if(this.isHashPrefix()){this.changeState(9,1)}break;case 6:if(this.isPathnameStart()){this.changeState(7,0)}else if(this.isSearchPrefix()){this.changeState(8,1)}else if(this.isHashPrefix()){this.changeState(9,1)}break;case 7:if(this.isSearchPrefix()){this.changeState(8,1)}else if(this.isHashPrefix()){this.changeState(9,1)}break;case 8:if(this.isHashPrefix()){this.changeState(9,1)}break}}}changeState(t,e){switch(this.state){case 0:break;case 1:this.internalResult.protocol=this.makeComponentString();break;case 2:break;case 3:this.internalResult.username=this.makeComponentString();break;case 4:this.internalResult.password=this.makeComponentString();break;case 5:this.internalResult.hostname=this.makeComponentString();break;case 6:this.internalResult.port=this.makeComponentString();break;case 7:this.internalResult.pathname=this.makeComponentString();break;case 8:this.internalResult.search=this.makeComponentString();break;case 9:this.internalResult.hash=this.makeComponentString();break}this.changeStateWithoutSettingComponent(t,e)}changeStateWithoutSettingComponent(t,e){this.state=t;this.componentStart=this.tokenIndex+e;this.tokenIndex+=e;this.tokenIncrement=0}rewind(){this.tokenIndex=this.componentStart;this.tokenIncrement=0}rewindAndSetState(t){this.rewind();this.state=t}safeToken(t){if(t<0){t=this.tokenList.length-t}if(t<this.tokenList.length){return this.tokenList[t]}return this.tokenList[this.tokenList.length-1]}isNonSpecialPatternChar(t,e){const i=this.safeToken(t);return i.value===e&&(i.type==="CHAR"||i.type==="ESCAPED_CHAR"||i.type==="INVALID_CHAR")}isProtocolSuffix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}nextIsAuthoritySlashes(){return this.isNonSpecialPatternChar(this.tokenIndex+1,"/")&&this.isNonSpecialPatternChar(this.tokenIndex+2,"/")}isIdentityTerminator(){return this.isNonSpecialPatternChar(this.tokenIndex,"@")}isPasswordPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}isPortPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,":")}isPathnameStart(){return this.isNonSpecialPatternChar(this.tokenIndex,"/")}isSearchPrefix(){if(this.isNonSpecialPatternChar(this.tokenIndex,"?")){return true}if(this.tokenList[this.tokenIndex].value!=="?"){return false}const t=this.safeToken(this.tokenIndex-1);return t.type!=="NAME"&&t.type!=="PATTERN"&&t.type!=="CLOSE"&&t.type!=="ASTERISK"}isHashPrefix(){return this.isNonSpecialPatternChar(this.tokenIndex,"#")}isGroupOpen(){return this.tokenList[this.tokenIndex].type=="OPEN"}isGroupClose(){return this.tokenList[this.tokenIndex].type=="CLOSE"}isIPv6Open(){return this.isNonSpecialPatternChar(this.tokenIndex,"[")}isIPv6Close(){return this.isNonSpecialPatternChar(this.tokenIndex,"]")}makeComponentString(){const t=this.tokenList[this.tokenIndex];const e=this.safeToken(this.componentStart).index;return this.input.substring(e,t.index)}computeShouldTreatAsStandardURL(){const t={};Object.assign(t,p);t.encodePart=I;const e=c(this.makeComponentString(),void 0,t);this.shouldTreatAsStandardURL=b(e)}};var F=["protocol","username","password","hostname","port","pathname","search","hash"];var K="*";function G(t,e){if(typeof t!=="string"){throw new TypeError(`parameter 1 is not of type 'string'.`)}const i=new URL(t,e);return{protocol:i.protocol.substring(0,i.protocol.length-1),username:i.username,password:i.password,hostname:i.hostname,port:i.port,pathname:i.pathname,search:i.search!=""?i.search.substring(1,i.search.length):void 0,hash:i.hash!=""?i.hash.substring(1,i.hash.length):void 0}}function V(t,e){if(!e){return t}return W(t)}function z(t,e,i){let r;if(typeof e.baseURL==="string"){try{r=new URL(e.baseURL);t.protocol=V(r.protocol.substring(0,r.protocol.length-1),i);t.username=V(r.username,i);t.password=V(r.password,i);t.hostname=V(r.hostname,i);t.port=V(r.port,i);t.pathname=V(r.pathname,i);t.search=V(r.search.substring(1,r.search.length),i);t.hash=V(r.hash.substring(1,r.hash.length),i)}catch{throw new TypeError(`invalid baseURL '${e.baseURL}'.`)}}if(typeof e.protocol==="string"){t.protocol=S(e.protocol,i)}if(typeof e.username==="string"){t.username=A(e.username,i)}if(typeof e.password==="string"){t.password=R(e.password,i)}if(typeof e.hostname==="string"){t.hostname=v(e.hostname,i)}if(typeof e.port==="string"){t.port=T(e.port,t.protocol,i)}if(typeof e.pathname==="string"){t.pathname=e.pathname;if(r&&!m(t.pathname,i)){const e=r.pathname.lastIndexOf("/");if(e>=0){t.pathname=V(r.pathname.substring(0,e+1),i)+t.pathname}}t.pathname=k(t.pathname,t.protocol,i)}if(typeof e.search==="string"){t.search=x(e.search,i)}if(typeof e.hash==="string"){t.hash=E(e.hash,i)}return t}function W(t){return t.replace(/([+*?:{}()\\])/g,"\\$1")}function Z(t){return t.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function q(t,e){const i=".*";const r=`[^${Z(e.delimiter===void 0?"/#?":e.delimiter)}]+?`;const n=/[$_\u200C\u200D\p{ID_Continue}]/u;let s="";for(let o=0;o<t.length;++o){const f=t[o];const h=o>0?t[o-1]:null;const u=o<t.length-1?t[o+1]:null;if(typeof f==="string"){s+=W(f);continue}if(f.pattern===""){if(f.modifier===""){s+=W(f.prefix);continue}s+=`{${W(f.prefix)}}${f.modifier}`;continue}const a=typeof f.name!=="number";const c=e.prefixes!==void 0?e.prefixes:"./";let p=f.suffix!==""||f.prefix!==""&&(f.prefix.length!==1||!c.includes(f.prefix));if(!p&&a&&f.pattern===r&&f.modifier===""&&u&&!u.prefix&&!u.suffix){if(typeof u==="string"){const t=u.length>0?u[0]:"";p=n.test(t)}else{p=typeof u.name==="number"}}if(!p&&f.prefix===""&&h&&typeof h==="string"&&h.length>0){const t=h[h.length-1];p=c.includes(t)}if(p){s+="{"}s+=W(f.prefix);if(a){s+=`:${f.name}`}if(f.pattern===i){if(!a&&(!h||typeof h==="string"||h.modifier||p||f.prefix!=="")){s+="*"}else{s+=`(${i})`}}else if(f.pattern===r){if(!a){s+=`(${r})`}}else{s+=`(${f.pattern})`}if(f.pattern===r&&a&&f.suffix!==""){if(n.test(f.suffix[0])){s+="\\"}}s+=W(f.suffix);if(p){s+="}"}s+=f.modifier}return s}var B=class{constructor(t={},e,i){this.regexp={};this.keys={};this.component_pattern={};try{let r=void 0;if(typeof e==="string"){r=e}else{i=e}if(typeof t==="string"){const e=new M(t);e.parse();t=e.result;if(r===void 0&&typeof t.protocol!=="string"){throw new TypeError(`A base URL must be provided for a relative constructor string.`)}t.baseURL=r}else{if(!t||typeof t!=="object"){throw new TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`)}if(r){throw new TypeError(`parameter 1 is not of type 'string'.`)}}if(typeof i==="undefined"){i={ignoreCase:false}}const s={ignoreCase:i.ignoreCase===true};const o={pathname:K,protocol:K,username:K,password:K,hostname:K,port:K,search:K,hash:K};this.pattern=z(o,t,true);if(C(this.pattern.protocol)===this.pattern.port){this.pattern.port=""}let f;for(f of F){if(!(f in this.pattern))continue;const t={};const e=this.pattern[f];this.keys[f]=[];switch(f){case"protocol":Object.assign(t,p);t.encodePart=I;break;case"username":Object.assign(t,p);t.encodePart=L;break;case"password":Object.assign(t,p);t.encodePart=P;break;case"hostname":Object.assign(t,l);if(d(e)){t.encodePart=U}else{t.encodePart=O}break;case"port":Object.assign(t,p);t.encodePart=D;break;case"pathname":if(b(this.regexp.protocol)){Object.assign(t,w,s);t.encodePart=N}else{Object.assign(t,p,s);t.encodePart=j}break;case"search":Object.assign(t,p,s);t.encodePart=_;break;case"hash":Object.assign(t,p,s);t.encodePart=H;break}try{const i=n(e,t);this.regexp[f]=a(i,this.keys[f],t);this.component_pattern[f]=q(i,t)}catch{throw new TypeError(`invalid ${f} pattern '${this.pattern[f]}'.`)}}}catch(t){throw new TypeError(`Failed to construct 'URLPattern': ${t.message}`)}}test(t={},e){let i={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!=="string"&&e){throw new TypeError(`parameter 1 is not of type 'string'.`)}if(typeof t==="undefined"){return false}try{if(typeof t==="object"){i=z(i,t,false)}else{i=z(i,G(t,e),false)}}catch(t){return false}let r;for(r of F){if(!this.regexp[r].exec(i[r])){return false}}return true}exec(t={},e){let i={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof t!=="string"&&e){throw new TypeError(`parameter 1 is not of type 'string'.`)}if(typeof t==="undefined"){return}try{if(typeof t==="object"){i=z(i,t,false)}else{i=z(i,G(t,e),false)}}catch(t){return null}let r={};if(e){r.inputs=[t,e]}else{r.inputs=[t]}let n;for(n of F){let t=this.regexp[n].exec(i[n]);if(!t){return null}let e={};for(let[i,r]of this.keys[n].entries()){if(typeof r.name==="string"||typeof r.name==="number"){let n=t[i+1];e[r.name]=n}}r[n]={input:i[n]||"",groups:e}}return r}get protocol(){return this.component_pattern.protocol}get username(){return this.component_pattern.username}get password(){return this.component_pattern.password}get hostname(){return this.component_pattern.hostname}get port(){return this.component_pattern.port}get pathname(){return this.component_pattern.pathname}get search(){return this.component_pattern.search}get hash(){return this.component_pattern.hash}};if(!globalThis.URLPattern){globalThis.URLPattern=B}export{B as URLPattern};
2
- //# sourceMappingURL=p-75373584.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["regexIdentifierStart","regexIdentifierPart","isASCII","str","extended","test","lexer","lenient","tokens","i","length","char","ErrorOrInvalid","msg","TypeError","push","type","index","value","name","j","code","substr","count","pattern","error","parse","options","prefixes","defaultPattern","escapeString","delimiter","result","key","path","nameSet","Set","tryConsume","tryConsumeModifier","r","mustConsume","nextType","consumeText","result2","DefaultEncodePart","encodePart","prefix","indexOf","finalName","has","add","suffix","modifier","open","name2","pattern2","replace","flags","ignoreCase","regexpToRegexp","keys","groupsRegex","execResult","exec","source","arrayToRegexp","paths","parts","map","pathToRegexp","RegExp","join","stringToRegexp","tokensToRegexp","strict","start","end","encode","x","endsWith","route","token","mod","endToken","isEndDelimited","Array","isArray","DEFAULT_OPTIONS","sensitive","HOSTNAME_OPTIONS","PATHNAME_OPTIONS","isAbsolutePathname","pathname","isPattern","maybeStripPrefix","startsWith","substring","maybeStripSuffix","treatAsIPv6Hostname","SPECIAL_SCHEMES","isSpecialScheme","protocol_regexp","scheme","canonicalizeHash","hash","url","URL","canonicalizeSearch","search","canonicalizeHostname","hostname","ipv6HostnameEncodeCallback","hostnameEncodeCallback","canonicalizePassword","password","canonicalizeUsername","username","canonicalizePathname","protocol","includes","leadingSlash","canonicalizePort","port","defaultPortForProtocol","portEncodeCallback","canonicalizeProtocol","protocolEncodeCallback","input","toLowerCase","usernameEncodeCallback","passwordEncodeCallback","parseInt","standardURLPathnameEncodeCallback","pathURLPathnameEncodeCallback","searchEncodeCallback","hashEncodeCallback","Parser","constructor","this","tokenList","internalResult","tokenIndex","tokenIncrement","componentStart","state","groupDepth","hostnameIPv6BracketDepth","shouldTreatAsStandardURL","rewind","isHashPrefix","changeState","isSearchPrefix","rewindAndSetState","isGroupClose","isGroupOpen","isProtocolSuffix","computeShouldTreatAsStandardURL","nextState","skip","nextIsAuthoritySlashes","isIdentityTerminator","isPathnameStart","isPasswordPrefix","isIPv6Open","isIPv6Close","isPortPrefix","newState","makeComponentString","changeStateWithoutSettingComponent","safeToken","isNonSpecialPatternChar","previousToken","componentCharStart","Object","assign","regexp","COMPONENTS","DEFAULT_PATTERN","extractValues","baseURL","o","processBaseURLString","escapePatternString","applyInit","init","slashIndex","lastIndexOf","escapeRegexpString","tokensToPattern","wildcardPattern","segmentWildcardPattern","regexIdentifierPart2","lastToken","nextToken","customName","optionsPrefixes","needsGrouping","URLPattern","baseURLOrOptions","component_pattern","parser","ignoreCaseOptions","defaults","component","options2","err","message","values","inputs","match","groups","entries","globalThis"],"sources":["./node_modules/urlpattern-polyfill/dist/urlpattern.js","./node_modules/urlpattern-polyfill/index.js"],"sourcesContent":["// src/path-to-regex-modified.ts\nvar regexIdentifierStart = /[$_\\p{ID_Start}]/u;\nvar regexIdentifierPart = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\nfunction isASCII(str, extended) {\n return (extended ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str);\n}\nfunction lexer(str, lenient = false) {\n const tokens = [];\n let i = 0;\n while (i < str.length) {\n const char = str[i];\n const ErrorOrInvalid = function(msg) {\n if (!lenient)\n throw new TypeError(msg);\n tokens.push({ type: \"INVALID_CHAR\", index: i, value: str[i++] });\n };\n if (char === \"*\") {\n tokens.push({ type: \"ASTERISK\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n let name = \"\";\n let j = i + 1;\n while (j < str.length) {\n const code = str.substr(j, 1);\n if (j === i + 1 && regexIdentifierStart.test(code) || j !== i + 1 && regexIdentifierPart.test(code)) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name) {\n ErrorOrInvalid(`Missing parameter name at ${i}`);\n continue;\n }\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n let count = 1;\n let pattern = \"\";\n let j = i + 1;\n let error = false;\n if (str[j] === \"?\") {\n ErrorOrInvalid(`Pattern cannot start with \"?\" at ${j}`);\n continue;\n }\n while (j < str.length) {\n if (!isASCII(str[j], false)) {\n ErrorOrInvalid(`Invalid character '${str[j]}' at ${j}.`);\n error = true;\n break;\n }\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n ErrorOrInvalid(`Capturing groups are not allowed at ${j}`);\n error = true;\n break;\n }\n }\n pattern += str[j++];\n }\n if (error) {\n continue;\n }\n if (count) {\n ErrorOrInvalid(`Unbalanced pattern at ${i}`);\n continue;\n }\n if (!pattern) {\n ErrorOrInvalid(`Missing pattern at ${i}`);\n continue;\n }\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\nfunction parse(str, options = {}) {\n const tokens = lexer(str);\n const { prefixes = \"./\" } = options;\n const defaultPattern = `[^${escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]+?`;\n const result = [];\n let key = 0;\n let i = 0;\n let path = \"\";\n let nameSet = /* @__PURE__ */ new Set();\n const tryConsume = (type) => {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n const tryConsumeModifier = () => {\n const r = tryConsume(\"MODIFIER\");\n if (r) {\n return r;\n }\n return tryConsume(\"ASTERISK\");\n };\n const mustConsume = (type) => {\n const value = tryConsume(type);\n if (value !== void 0)\n return value;\n const { type: nextType, index } = tokens[i];\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`);\n };\n const consumeText = () => {\n let result2 = \"\";\n let value;\n while (value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\")) {\n result2 += value;\n }\n return result2;\n };\n const DefaultEncodePart = (value) => {\n return value;\n };\n const encodePart = options.encodePart || DefaultEncodePart;\n while (i < tokens.length) {\n const char = tryConsume(\"CHAR\");\n const name = tryConsume(\"NAME\");\n let pattern = tryConsume(\"PATTERN\");\n if (!name && !pattern && tryConsume(\"ASTERISK\")) {\n pattern = \".*\";\n }\n if (name || pattern) {\n let prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n const finalName = name || key++;\n if (nameSet.has(finalName)) {\n throw new TypeError(`Duplicate name '${finalName}'.`);\n }\n nameSet.add(finalName);\n result.push({\n name: finalName,\n prefix: encodePart(prefix),\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsumeModifier() || \"\"\n });\n continue;\n }\n const value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n const open = tryConsume(\"OPEN\");\n if (open) {\n const prefix = consumeText();\n const name2 = tryConsume(\"NAME\") || \"\";\n let pattern2 = tryConsume(\"PATTERN\") || \"\";\n if (!name2 && !pattern2 && tryConsume(\"ASTERISK\")) {\n pattern2 = \".*\";\n }\n const suffix = consumeText();\n mustConsume(\"CLOSE\");\n const modifier = tryConsumeModifier() || \"\";\n if (!name2 && !pattern2 && !modifier) {\n path += prefix;\n continue;\n }\n if (!name2 && !pattern2 && !prefix) {\n continue;\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n result.push({\n name: name2 || (pattern2 ? key++ : \"\"),\n pattern: name2 && !pattern2 ? defaultPattern : pattern2,\n prefix: encodePart(prefix),\n suffix: encodePart(suffix),\n modifier\n });\n continue;\n }\n if (path) {\n result.push(encodePart(path));\n path = \"\";\n }\n mustConsume(\"END\");\n }\n return result;\n}\nfunction escapeString(str) {\n return str.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction flags(options) {\n return options && options.ignoreCase ? \"ui\" : \"u\";\n}\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n const groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n let index = 0;\n let execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\nfunction arrayToRegexp(paths, keys, options) {\n const parts = paths.map((path) => pathToRegexp(path, keys, options).source);\n return new RegExp(`(?:${parts.join(\"|\")})`, flags(options));\n}\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\nfunction tokensToRegexp(tokens, keys, options = {}) {\n const {\n strict = false,\n start = true,\n end = true,\n encode = (x) => x\n } = options;\n const endsWith = `[${escapeString(options.endsWith === void 0 ? \"\" : options.endsWith)}]|$`;\n const delimiter = `[${escapeString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]`;\n let route = start ? \"^\" : \"\";\n for (const token of tokens) {\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n const prefix = escapeString(encode(token.prefix));\n const suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n const mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${mod}`;\n } else {\n route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;\n }\n } else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += `((?:${token.pattern})${token.modifier})`;\n } else {\n route += `(${token.pattern})${token.modifier}`;\n }\n }\n } else {\n route += `(?:${prefix}${suffix})${token.modifier}`;\n }\n }\n }\n if (end) {\n if (!strict)\n route += `${delimiter}?`;\n route += !options.endsWith ? \"$\" : `(?=${endsWith})`;\n } else {\n const endToken = tokens[tokens.length - 1];\n const isEndDelimited = typeof endToken === \"string\" ? delimiter.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;\n if (!strict) {\n route += `(?:${delimiter}(?=${endsWith}))?`;\n }\n if (!isEndDelimited) {\n route += `(?=${delimiter}|${endsWith})`;\n }\n }\n return new RegExp(route, flags(options));\n}\nfunction pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n\n// src/url-utils.ts\nvar DEFAULT_OPTIONS = {\n delimiter: \"\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar HOSTNAME_OPTIONS = {\n delimiter: \".\",\n prefixes: \"\",\n sensitive: true,\n strict: true\n};\nvar PATHNAME_OPTIONS = {\n delimiter: \"/\",\n prefixes: \"/\",\n sensitive: true,\n strict: true\n};\nfunction isAbsolutePathname(pathname, isPattern) {\n if (!pathname.length) {\n return false;\n }\n if (pathname[0] === \"/\") {\n return true;\n }\n if (!isPattern) {\n return false;\n }\n if (pathname.length < 2) {\n return false;\n }\n if ((pathname[0] == \"\\\\\" || pathname[0] == \"{\") && pathname[1] == \"/\") {\n return true;\n }\n return false;\n}\nfunction maybeStripPrefix(value, prefix) {\n if (value.startsWith(prefix)) {\n return value.substring(prefix.length, value.length);\n }\n return value;\n}\nfunction maybeStripSuffix(value, suffix) {\n if (value.endsWith(suffix)) {\n return value.substr(0, value.length - suffix.length);\n }\n return value;\n}\nfunction treatAsIPv6Hostname(value) {\n if (!value || value.length < 2) {\n return false;\n }\n if (value[0] === \"[\") {\n return true;\n }\n if ((value[0] === \"\\\\\" || value[0] === \"{\") && value[1] === \"[\") {\n return true;\n }\n return false;\n}\nvar SPECIAL_SCHEMES = [\n \"ftp\",\n \"file\",\n \"http\",\n \"https\",\n \"ws\",\n \"wss\"\n];\nfunction isSpecialScheme(protocol_regexp) {\n if (!protocol_regexp) {\n return true;\n }\n for (const scheme of SPECIAL_SCHEMES) {\n if (protocol_regexp.test(scheme)) {\n return true;\n }\n }\n return false;\n}\nfunction canonicalizeHash(hash, isPattern) {\n hash = maybeStripPrefix(hash, \"#\");\n if (isPattern || hash === \"\") {\n return hash;\n }\n const url = new URL(\"https://example.com\");\n url.hash = hash;\n return url.hash ? url.hash.substring(1, url.hash.length) : \"\";\n}\nfunction canonicalizeSearch(search, isPattern) {\n search = maybeStripPrefix(search, \"?\");\n if (isPattern || search === \"\") {\n return search;\n }\n const url = new URL(\"https://example.com\");\n url.search = search;\n return url.search ? url.search.substring(1, url.search.length) : \"\";\n}\nfunction canonicalizeHostname(hostname, isPattern) {\n if (isPattern || hostname === \"\") {\n return hostname;\n }\n if (treatAsIPv6Hostname(hostname)) {\n return ipv6HostnameEncodeCallback(hostname);\n } else {\n return hostnameEncodeCallback(hostname);\n }\n}\nfunction canonicalizePassword(password, isPattern) {\n if (isPattern || password === \"\") {\n return password;\n }\n const url = new URL(\"https://example.com\");\n url.password = password;\n return url.password;\n}\nfunction canonicalizeUsername(username, isPattern) {\n if (isPattern || username === \"\") {\n return username;\n }\n const url = new URL(\"https://example.com\");\n url.username = username;\n return url.username;\n}\nfunction canonicalizePathname(pathname, protocol, isPattern) {\n if (isPattern || pathname === \"\") {\n return pathname;\n }\n if (protocol && !SPECIAL_SCHEMES.includes(protocol)) {\n const url = new URL(`${protocol}:${pathname}`);\n return url.pathname;\n }\n const leadingSlash = pathname[0] == \"/\";\n pathname = new URL(\n !leadingSlash ? \"/-\" + pathname : pathname,\n \"https://example.com\"\n ).pathname;\n if (!leadingSlash) {\n pathname = pathname.substring(2, pathname.length);\n }\n return pathname;\n}\nfunction canonicalizePort(port, protocol, isPattern) {\n if (defaultPortForProtocol(protocol) === port) {\n port = \"\";\n }\n if (isPattern || port === \"\") {\n return port;\n }\n return portEncodeCallback(port);\n}\nfunction canonicalizeProtocol(protocol, isPattern) {\n protocol = maybeStripSuffix(protocol, \":\");\n if (isPattern || protocol === \"\") {\n return protocol;\n }\n return protocolEncodeCallback(protocol);\n}\nfunction defaultPortForProtocol(protocol) {\n switch (protocol) {\n case \"ws\":\n case \"http\":\n return \"80\";\n case \"wws\":\n case \"https\":\n return \"443\";\n case \"ftp\":\n return \"21\";\n default:\n return \"\";\n }\n}\nfunction protocolEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/^[-+.A-Za-z0-9]*$/.test(input))\n return input.toLowerCase();\n throw new TypeError(`Invalid protocol '${input}'.`);\n}\nfunction usernameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.username = input;\n return url.username;\n}\nfunction passwordEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.password = input;\n return url.password;\n}\nfunction hostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(input)) {\n throw new TypeError(`Invalid hostname '${input}'`);\n }\n const url = new URL(\"https://example.com\");\n url.hostname = input;\n return url.hostname;\n}\nfunction ipv6HostnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/[^0-9a-fA-F[\\]:]/g.test(input)) {\n throw new TypeError(`Invalid IPv6 hostname '${input}'`);\n }\n return input.toLowerCase();\n}\nfunction portEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n if (/^[0-9]*$/.test(input) && parseInt(input) <= 65535) {\n return input;\n }\n throw new TypeError(`Invalid port '${input}'.`);\n}\nfunction standardURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.pathname = input[0] !== \"/\" ? \"/-\" + input : input;\n if (input[0] !== \"/\") {\n return url.pathname.substring(2, url.pathname.length);\n }\n return url.pathname;\n}\nfunction pathURLPathnameEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(`data:${input}`);\n return url.pathname;\n}\nfunction searchEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.search = input;\n return url.search.substring(1, url.search.length);\n}\nfunction hashEncodeCallback(input) {\n if (input === \"\") {\n return input;\n }\n const url = new URL(\"https://example.com\");\n url.hash = input;\n return url.hash.substring(1, url.hash.length);\n}\n\n// src/url-pattern-parser.ts\nvar Parser = class {\n constructor(input) {\n this.tokenList = [];\n this.internalResult = {};\n this.tokenIndex = 0;\n this.tokenIncrement = 1;\n this.componentStart = 0;\n this.state = 0 /* INIT */;\n this.groupDepth = 0;\n this.hostnameIPv6BracketDepth = 0;\n this.shouldTreatAsStandardURL = false;\n this.input = input;\n }\n get result() {\n return this.internalResult;\n }\n parse() {\n this.tokenList = lexer(this.input, true);\n for (; this.tokenIndex < this.tokenList.length; this.tokenIndex += this.tokenIncrement) {\n this.tokenIncrement = 1;\n if (this.tokenList[this.tokenIndex].type === \"END\") {\n if (this.state === 0 /* INIT */) {\n this.rewind();\n if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n this.internalResult.hash = \"\";\n } else {\n this.changeState(7 /* PATHNAME */, 0);\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n }\n continue;\n } else if (this.state === 2 /* AUTHORITY */) {\n this.rewindAndSetState(5 /* HOSTNAME */);\n continue;\n }\n this.changeState(10 /* DONE */, 0);\n break;\n }\n if (this.groupDepth > 0) {\n if (this.isGroupClose()) {\n this.groupDepth -= 1;\n } else {\n continue;\n }\n }\n if (this.isGroupOpen()) {\n this.groupDepth += 1;\n continue;\n }\n switch (this.state) {\n case 0 /* INIT */:\n if (this.isProtocolSuffix()) {\n this.internalResult.username = \"\";\n this.internalResult.password = \"\";\n this.internalResult.hostname = \"\";\n this.internalResult.port = \"\";\n this.internalResult.pathname = \"\";\n this.internalResult.search = \"\";\n this.internalResult.hash = \"\";\n this.rewindAndSetState(1 /* PROTOCOL */);\n }\n break;\n case 1 /* PROTOCOL */:\n if (this.isProtocolSuffix()) {\n this.computeShouldTreatAsStandardURL();\n let nextState = 7 /* PATHNAME */;\n let skip = 1;\n if (this.shouldTreatAsStandardURL) {\n this.internalResult.pathname = \"/\";\n }\n if (this.nextIsAuthoritySlashes()) {\n nextState = 2 /* AUTHORITY */;\n skip = 3;\n } else if (this.shouldTreatAsStandardURL) {\n nextState = 2 /* AUTHORITY */;\n }\n this.changeState(nextState, skip);\n }\n break;\n case 2 /* AUTHORITY */:\n if (this.isIdentityTerminator()) {\n this.rewindAndSetState(3 /* USERNAME */);\n } else if (this.isPathnameStart() || this.isSearchPrefix() || this.isHashPrefix()) {\n this.rewindAndSetState(5 /* HOSTNAME */);\n }\n break;\n case 3 /* USERNAME */:\n if (this.isPasswordPrefix()) {\n this.changeState(4 /* PASSWORD */, 1);\n } else if (this.isIdentityTerminator()) {\n this.changeState(5 /* HOSTNAME */, 1);\n }\n break;\n case 4 /* PASSWORD */:\n if (this.isIdentityTerminator()) {\n this.changeState(5 /* HOSTNAME */, 1);\n }\n break;\n case 5 /* HOSTNAME */:\n if (this.isIPv6Open()) {\n this.hostnameIPv6BracketDepth += 1;\n } else if (this.isIPv6Close()) {\n this.hostnameIPv6BracketDepth -= 1;\n }\n if (this.isPortPrefix() && !this.hostnameIPv6BracketDepth) {\n this.changeState(6 /* PORT */, 1);\n } else if (this.isPathnameStart()) {\n this.changeState(7 /* PATHNAME */, 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 6 /* PORT */:\n if (this.isPathnameStart()) {\n this.changeState(7 /* PATHNAME */, 0);\n } else if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 7 /* PATHNAME */:\n if (this.isSearchPrefix()) {\n this.changeState(8 /* SEARCH */, 1);\n } else if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 8 /* SEARCH */:\n if (this.isHashPrefix()) {\n this.changeState(9 /* HASH */, 1);\n }\n break;\n case 9 /* HASH */:\n break;\n case 10 /* DONE */:\n break;\n }\n }\n }\n changeState(newState, skip) {\n switch (this.state) {\n case 0 /* INIT */:\n break;\n case 1 /* PROTOCOL */:\n this.internalResult.protocol = this.makeComponentString();\n break;\n case 2 /* AUTHORITY */:\n break;\n case 3 /* USERNAME */:\n this.internalResult.username = this.makeComponentString();\n break;\n case 4 /* PASSWORD */:\n this.internalResult.password = this.makeComponentString();\n break;\n case 5 /* HOSTNAME */:\n this.internalResult.hostname = this.makeComponentString();\n break;\n case 6 /* PORT */:\n this.internalResult.port = this.makeComponentString();\n break;\n case 7 /* PATHNAME */:\n this.internalResult.pathname = this.makeComponentString();\n break;\n case 8 /* SEARCH */:\n this.internalResult.search = this.makeComponentString();\n break;\n case 9 /* HASH */:\n this.internalResult.hash = this.makeComponentString();\n break;\n case 10 /* DONE */:\n break;\n }\n this.changeStateWithoutSettingComponent(newState, skip);\n }\n changeStateWithoutSettingComponent(newState, skip) {\n this.state = newState;\n this.componentStart = this.tokenIndex + skip;\n this.tokenIndex += skip;\n this.tokenIncrement = 0;\n }\n rewind() {\n this.tokenIndex = this.componentStart;\n this.tokenIncrement = 0;\n }\n rewindAndSetState(newState) {\n this.rewind();\n this.state = newState;\n }\n safeToken(index) {\n if (index < 0) {\n index = this.tokenList.length - index;\n }\n if (index < this.tokenList.length) {\n return this.tokenList[index];\n }\n return this.tokenList[this.tokenList.length - 1];\n }\n isNonSpecialPatternChar(index, value) {\n const token = this.safeToken(index);\n return token.value === value && (token.type === \"CHAR\" || token.type === \"ESCAPED_CHAR\" || token.type === \"INVALID_CHAR\");\n }\n isProtocolSuffix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n nextIsAuthoritySlashes() {\n return this.isNonSpecialPatternChar(this.tokenIndex + 1, \"/\") && this.isNonSpecialPatternChar(this.tokenIndex + 2, \"/\");\n }\n isIdentityTerminator() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"@\");\n }\n isPasswordPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n isPortPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \":\");\n }\n isPathnameStart() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"/\");\n }\n isSearchPrefix() {\n if (this.isNonSpecialPatternChar(this.tokenIndex, \"?\")) {\n return true;\n }\n if (this.tokenList[this.tokenIndex].value !== \"?\") {\n return false;\n }\n const previousToken = this.safeToken(this.tokenIndex - 1);\n return previousToken.type !== \"NAME\" && previousToken.type !== \"PATTERN\" && previousToken.type !== \"CLOSE\" && previousToken.type !== \"ASTERISK\";\n }\n isHashPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"#\");\n }\n isGroupOpen() {\n return this.tokenList[this.tokenIndex].type == \"OPEN\";\n }\n isGroupClose() {\n return this.tokenList[this.tokenIndex].type == \"CLOSE\";\n }\n isIPv6Open() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"[\");\n }\n isIPv6Close() {\n return this.isNonSpecialPatternChar(this.tokenIndex, \"]\");\n }\n makeComponentString() {\n const token = this.tokenList[this.tokenIndex];\n const componentCharStart = this.safeToken(this.componentStart).index;\n return this.input.substring(componentCharStart, token.index);\n }\n computeShouldTreatAsStandardURL() {\n const options = {};\n Object.assign(options, DEFAULT_OPTIONS);\n options.encodePart = protocolEncodeCallback;\n const regexp = pathToRegexp(this.makeComponentString(), void 0, options);\n this.shouldTreatAsStandardURL = isSpecialScheme(regexp);\n }\n};\n\n// src/url-pattern.ts\nvar COMPONENTS = [\n \"protocol\",\n \"username\",\n \"password\",\n \"hostname\",\n \"port\",\n \"pathname\",\n \"search\",\n \"hash\"\n];\nvar DEFAULT_PATTERN = \"*\";\nfunction extractValues(url, baseURL) {\n if (typeof url !== \"string\") {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n const o = new URL(url, baseURL);\n return {\n protocol: o.protocol.substring(0, o.protocol.length - 1),\n username: o.username,\n password: o.password,\n hostname: o.hostname,\n port: o.port,\n pathname: o.pathname,\n search: o.search != \"\" ? o.search.substring(1, o.search.length) : void 0,\n hash: o.hash != \"\" ? o.hash.substring(1, o.hash.length) : void 0\n };\n}\nfunction processBaseURLString(input, isPattern) {\n if (!isPattern) {\n return input;\n }\n return escapePatternString(input);\n}\nfunction applyInit(o, init, isPattern) {\n let baseURL;\n if (typeof init.baseURL === \"string\") {\n try {\n baseURL = new URL(init.baseURL);\n o.protocol = processBaseURLString(baseURL.protocol.substring(0, baseURL.protocol.length - 1), isPattern);\n o.username = processBaseURLString(baseURL.username, isPattern);\n o.password = processBaseURLString(baseURL.password, isPattern);\n o.hostname = processBaseURLString(baseURL.hostname, isPattern);\n o.port = processBaseURLString(baseURL.port, isPattern);\n o.pathname = processBaseURLString(baseURL.pathname, isPattern);\n o.search = processBaseURLString(baseURL.search.substring(1, baseURL.search.length), isPattern);\n o.hash = processBaseURLString(baseURL.hash.substring(1, baseURL.hash.length), isPattern);\n } catch {\n throw new TypeError(`invalid baseURL '${init.baseURL}'.`);\n }\n }\n if (typeof init.protocol === \"string\") {\n o.protocol = canonicalizeProtocol(init.protocol, isPattern);\n }\n if (typeof init.username === \"string\") {\n o.username = canonicalizeUsername(init.username, isPattern);\n }\n if (typeof init.password === \"string\") {\n o.password = canonicalizePassword(init.password, isPattern);\n }\n if (typeof init.hostname === \"string\") {\n o.hostname = canonicalizeHostname(init.hostname, isPattern);\n }\n if (typeof init.port === \"string\") {\n o.port = canonicalizePort(init.port, o.protocol, isPattern);\n }\n if (typeof init.pathname === \"string\") {\n o.pathname = init.pathname;\n if (baseURL && !isAbsolutePathname(o.pathname, isPattern)) {\n const slashIndex = baseURL.pathname.lastIndexOf(\"/\");\n if (slashIndex >= 0) {\n o.pathname = processBaseURLString(baseURL.pathname.substring(0, slashIndex + 1), isPattern) + o.pathname;\n }\n }\n o.pathname = canonicalizePathname(o.pathname, o.protocol, isPattern);\n }\n if (typeof init.search === \"string\") {\n o.search = canonicalizeSearch(init.search, isPattern);\n }\n if (typeof init.hash === \"string\") {\n o.hash = canonicalizeHash(init.hash, isPattern);\n }\n return o;\n}\nfunction escapePatternString(value) {\n return value.replace(/([+*?:{}()\\\\])/g, \"\\\\$1\");\n}\nfunction escapeRegexpString(value) {\n return value.replace(/([.+*?^${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction tokensToPattern(tokens, options) {\n const wildcardPattern = \".*\";\n const segmentWildcardPattern = `[^${escapeRegexpString(options.delimiter === void 0 ? \"/#?\" : options.delimiter)}]+?`;\n const regexIdentifierPart2 = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\n let result = \"\";\n for (let i = 0; i < tokens.length; ++i) {\n const token = tokens[i];\n const lastToken = i > 0 ? tokens[i - 1] : null;\n const nextToken = i < tokens.length - 1 ? tokens[i + 1] : null;\n if (typeof token === \"string\") {\n result += escapePatternString(token);\n continue;\n }\n if (token.pattern === \"\") {\n if (token.modifier === \"\") {\n result += escapePatternString(token.prefix);\n continue;\n }\n result += `{${escapePatternString(token.prefix)}}${token.modifier}`;\n continue;\n }\n const customName = typeof token.name !== \"number\";\n const optionsPrefixes = options.prefixes !== void 0 ? options.prefixes : \"./\";\n let needsGrouping = token.suffix !== \"\" || token.prefix !== \"\" && (token.prefix.length !== 1 || !optionsPrefixes.includes(token.prefix));\n if (!needsGrouping && customName && token.pattern === segmentWildcardPattern && token.modifier === \"\" && nextToken && !nextToken.prefix && !nextToken.suffix) {\n if (typeof nextToken === \"string\") {\n const code = nextToken.length > 0 ? nextToken[0] : \"\";\n needsGrouping = regexIdentifierPart2.test(code);\n } else {\n needsGrouping = typeof nextToken.name === \"number\";\n }\n }\n if (!needsGrouping && token.prefix === \"\" && lastToken && typeof lastToken === \"string\" && lastToken.length > 0) {\n const code = lastToken[lastToken.length - 1];\n needsGrouping = optionsPrefixes.includes(code);\n }\n if (needsGrouping) {\n result += \"{\";\n }\n result += escapePatternString(token.prefix);\n if (customName) {\n result += `:${token.name}`;\n }\n if (token.pattern === wildcardPattern) {\n if (!customName && (!lastToken || typeof lastToken === \"string\" || lastToken.modifier || needsGrouping || token.prefix !== \"\")) {\n result += \"*\";\n } else {\n result += `(${wildcardPattern})`;\n }\n } else if (token.pattern === segmentWildcardPattern) {\n if (!customName) {\n result += `(${segmentWildcardPattern})`;\n }\n } else {\n result += `(${token.pattern})`;\n }\n if (token.pattern === segmentWildcardPattern && customName && token.suffix !== \"\") {\n if (regexIdentifierPart2.test(token.suffix[0])) {\n result += \"\\\\\";\n }\n }\n result += escapePatternString(token.suffix);\n if (needsGrouping) {\n result += \"}\";\n }\n result += token.modifier;\n }\n return result;\n}\nvar URLPattern = class {\n constructor(init = {}, baseURLOrOptions, options) {\n this.regexp = {};\n this.keys = {};\n this.component_pattern = {};\n try {\n let baseURL = void 0;\n if (typeof baseURLOrOptions === \"string\") {\n baseURL = baseURLOrOptions;\n } else {\n options = baseURLOrOptions;\n }\n if (typeof init === \"string\") {\n const parser = new Parser(init);\n parser.parse();\n init = parser.result;\n if (baseURL === void 0 && typeof init.protocol !== \"string\") {\n throw new TypeError(`A base URL must be provided for a relative constructor string.`);\n }\n init.baseURL = baseURL;\n } else {\n if (!init || typeof init !== \"object\") {\n throw new TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);\n }\n if (baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n }\n if (typeof options === \"undefined\") {\n options = { ignoreCase: false };\n }\n const ignoreCaseOptions = { ignoreCase: options.ignoreCase === true };\n const defaults = {\n pathname: DEFAULT_PATTERN,\n protocol: DEFAULT_PATTERN,\n username: DEFAULT_PATTERN,\n password: DEFAULT_PATTERN,\n hostname: DEFAULT_PATTERN,\n port: DEFAULT_PATTERN,\n search: DEFAULT_PATTERN,\n hash: DEFAULT_PATTERN\n };\n this.pattern = applyInit(defaults, init, true);\n if (defaultPortForProtocol(this.pattern.protocol) === this.pattern.port) {\n this.pattern.port = \"\";\n }\n let component;\n for (component of COMPONENTS) {\n if (!(component in this.pattern))\n continue;\n const options2 = {};\n const pattern = this.pattern[component];\n this.keys[component] = [];\n switch (component) {\n case \"protocol\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = protocolEncodeCallback;\n break;\n case \"username\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = usernameEncodeCallback;\n break;\n case \"password\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = passwordEncodeCallback;\n break;\n case \"hostname\":\n Object.assign(options2, HOSTNAME_OPTIONS);\n if (treatAsIPv6Hostname(pattern)) {\n options2.encodePart = ipv6HostnameEncodeCallback;\n } else {\n options2.encodePart = hostnameEncodeCallback;\n }\n break;\n case \"port\":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = portEncodeCallback;\n break;\n case \"pathname\":\n if (isSpecialScheme(this.regexp.protocol)) {\n Object.assign(options2, PATHNAME_OPTIONS, ignoreCaseOptions);\n options2.encodePart = standardURLPathnameEncodeCallback;\n } else {\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = pathURLPathnameEncodeCallback;\n }\n break;\n case \"search\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = searchEncodeCallback;\n break;\n case \"hash\":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = hashEncodeCallback;\n break;\n }\n try {\n const tokens = parse(pattern, options2);\n this.regexp[component] = tokensToRegexp(tokens, this.keys[component], options2);\n this.component_pattern[component] = tokensToPattern(tokens, options2);\n } catch {\n throw new TypeError(`invalid ${component} pattern '${this.pattern[component]}'.`);\n }\n }\n } catch (err) {\n throw new TypeError(`Failed to construct 'URLPattern': ${err.message}`);\n }\n }\n test(input = {}, baseURL) {\n let values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n if (typeof input === \"undefined\") {\n return false;\n }\n try {\n if (typeof input === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return false;\n }\n let component;\n for (component of COMPONENTS) {\n if (!this.regexp[component].exec(values[component])) {\n return false;\n }\n }\n return true;\n }\n exec(input = {}, baseURL) {\n let values = {\n pathname: \"\",\n protocol: \"\",\n username: \"\",\n password: \"\",\n hostname: \"\",\n port: \"\",\n search: \"\",\n hash: \"\"\n };\n if (typeof input !== \"string\" && baseURL) {\n throw new TypeError(`parameter 1 is not of type 'string'.`);\n }\n if (typeof input === \"undefined\") {\n return;\n }\n try {\n if (typeof input === \"object\") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return null;\n }\n let result = {};\n if (baseURL) {\n result.inputs = [input, baseURL];\n } else {\n result.inputs = [input];\n }\n let component;\n for (component of COMPONENTS) {\n let match = this.regexp[component].exec(values[component]);\n if (!match) {\n return null;\n }\n let groups = {};\n for (let [i, key] of this.keys[component].entries()) {\n if (typeof key.name === \"string\" || typeof key.name === \"number\") {\n let value = match[i + 1];\n groups[key.name] = value;\n }\n }\n result[component] = {\n input: values[component] || \"\",\n groups\n };\n }\n return result;\n }\n get protocol() {\n return this.component_pattern.protocol;\n }\n get username() {\n return this.component_pattern.username;\n }\n get password() {\n return this.component_pattern.password;\n }\n get hostname() {\n return this.component_pattern.hostname;\n }\n get port() {\n return this.component_pattern.port;\n }\n get pathname() {\n return this.component_pattern.pathname;\n }\n get search() {\n return this.component_pattern.search;\n }\n get hash() {\n return this.component_pattern.hash;\n }\n};\nexport {\n URLPattern\n};\n","import { URLPattern } from \"./dist/urlpattern.js\";\n\nexport { URLPattern };\n\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n"],"mappings":"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"}