cross-seed 7.0.0-21 → 7.0.0-22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/action.js +4 -6
  2. package/dist/action.js.map +1 -1
  3. package/dist/arr.js +2 -2
  4. package/dist/arr.js.map +1 -1
  5. package/dist/clients/Deluge.d.ts +1 -1
  6. package/dist/clients/Deluge.js +6 -6
  7. package/dist/clients/Deluge.js.map +1 -1
  8. package/dist/clients/QBittorrent.d.ts +2 -0
  9. package/dist/clients/QBittorrent.js +16 -15
  10. package/dist/clients/QBittorrent.js.map +1 -1
  11. package/dist/clients/RTorrent.js +26 -21
  12. package/dist/clients/RTorrent.js.map +1 -1
  13. package/dist/clients/TorrentClient.d.ts +2 -2
  14. package/dist/clients/TorrentClient.js +0 -2
  15. package/dist/clients/TorrentClient.js.map +1 -1
  16. package/dist/clients/Transmission.js +7 -5
  17. package/dist/clients/Transmission.js.map +1 -1
  18. package/dist/configuration.js +4 -3
  19. package/dist/configuration.js.map +1 -1
  20. package/dist/dataFiles.js +4 -4
  21. package/dist/dataFiles.js.map +1 -1
  22. package/dist/db.js +8 -4
  23. package/dist/db.js.map +1 -1
  24. package/dist/decide.js +5 -5
  25. package/dist/decide.js.map +1 -1
  26. package/dist/devLogin.js.map +1 -1
  27. package/dist/diff.js.map +1 -1
  28. package/dist/indexers.js.map +1 -1
  29. package/dist/inject.js +5 -5
  30. package/dist/inject.js.map +1 -1
  31. package/dist/logger.js +7 -5
  32. package/dist/logger.js.map +1 -1
  33. package/dist/migrations/09-clientAndDataSearchees.js +1 -0
  34. package/dist/migrations/09-clientAndDataSearchees.js.map +1 -1
  35. package/dist/migrations/17-api-key-settings-json.js +3 -1
  36. package/dist/migrations/17-api-key-settings-json.js.map +1 -1
  37. package/dist/migrations/migrations.d.ts +12 -5
  38. package/dist/migrations/migrations.js +1 -1
  39. package/dist/migrations/migrations.js.map +1 -1
  40. package/dist/parseTorrent.d.ts +1 -1
  41. package/dist/parseTorrent.js.map +1 -1
  42. package/dist/pipeline.js +10 -10
  43. package/dist/pipeline.js.map +1 -1
  44. package/dist/problems/linking.js +1 -1
  45. package/dist/problems/linking.js.map +1 -1
  46. package/dist/problems.js +2 -1
  47. package/dist/problems.js.map +1 -1
  48. package/dist/pushNotifier.js +5 -5
  49. package/dist/pushNotifier.js.map +1 -1
  50. package/dist/routes/baseApi.d.ts +8 -0
  51. package/dist/routes/baseApi.js +24 -50
  52. package/dist/routes/baseApi.js.map +1 -1
  53. package/dist/routes/devLogin.js +1 -0
  54. package/dist/routes/devLogin.js.map +1 -1
  55. package/dist/routes/indexerApi.js +1 -0
  56. package/dist/routes/indexerApi.js.map +1 -1
  57. package/dist/routes/staticFrontendPlugin.js +1 -0
  58. package/dist/routes/staticFrontendPlugin.js.map +1 -1
  59. package/dist/searchee.d.ts +13 -1
  60. package/dist/searchee.js +5 -3
  61. package/dist/searchee.js.map +1 -1
  62. package/dist/services/indexerService.js +8 -2
  63. package/dist/services/indexerService.js.map +1 -1
  64. package/dist/torrent.js +25 -19
  65. package/dist/torrent.js.map +1 -1
  66. package/dist/torznab.d.ts +2 -2
  67. package/dist/torznab.js +15 -14
  68. package/dist/torznab.js.map +1 -1
  69. package/dist/trpc/routers/auth.js +1 -1
  70. package/dist/trpc/routers/auth.js.map +1 -1
  71. package/dist/trpc/routers/clients.js +6 -12
  72. package/dist/trpc/routers/clients.js.map +1 -1
  73. package/dist/trpc/routers/jobs.js +1 -1
  74. package/dist/trpc/routers/jobs.js.map +1 -1
  75. package/dist/trpc/routers/logs.js +6 -5
  76. package/dist/trpc/routers/logs.js.map +1 -1
  77. package/dist/trpc/routers/settings.js +40 -17
  78. package/dist/trpc/routers/settings.js.map +1 -1
  79. package/dist/userAuth.js +1 -1
  80. package/dist/userAuth.js.map +1 -1
  81. package/dist/utils.d.ts +3 -1
  82. package/dist/utils.js +8 -0
  83. package/dist/utils.js.map +1 -1
  84. package/dist/webui/assets/ClientOnly-CED5mhgl.js +1 -0
  85. package/dist/webui/assets/{DeleteOption-dxKSbv6N.js → DeleteOption-C_dwvZJZ.js} +1 -1
  86. package/dist/webui/assets/{FieldInfo-FLjtPgL4.js → FieldInfo-COkGdLYk.js} +1 -1
  87. package/dist/webui/assets/Page-Cdp3BgLk.js +1 -0
  88. package/dist/webui/assets/array-field-pYvhneFJ.js +1 -0
  89. package/dist/webui/assets/{badge-hukNSIir.js → badge-B5DKWJgq.js} +1 -1
  90. package/dist/webui/assets/{button-1cIaa9Lf.js → button-CaZ-GDfE.js} +1 -1
  91. package/dist/webui/assets/check-pwIfPY4Z.js +1 -0
  92. package/dist/webui/assets/{chevron-down-CVVogpPh.js → chevron-down-CNQyUZdL.js} +1 -1
  93. package/dist/webui/assets/clients-S5qMvvhJ.js +1 -0
  94. package/dist/webui/assets/connect-BOmFXztg.js +2 -0
  95. package/dist/webui/assets/{debug-CEmoQ2W_.js → debug-sgTUOKd_.js} +1 -1
  96. package/dist/webui/assets/{directories-CNuHKfHz.js → directories-lpeuI9dw.js} +1 -1
  97. package/dist/webui/assets/{dist-Bbmh5Du9.js → dist-DTcPk3zL.js} +1 -1
  98. package/dist/webui/assets/{dist-b2njvUJz.js → dist-DpJDqDMU.js} +1 -1
  99. package/dist/webui/assets/{dist-DzdkRn7I.js → dist-zSohDmOx.js} +1 -1
  100. package/dist/webui/assets/duration-field-Bk_Qqnlj.js +1 -0
  101. package/dist/webui/assets/form-context-DCwZ847X.js +1 -0
  102. package/dist/webui/assets/general-D0zUNDCw.js +1 -0
  103. package/dist/webui/assets/health-dB9XUh2l.js +1 -0
  104. package/dist/webui/assets/index-nqUtTZMx.js +11 -0
  105. package/dist/webui/assets/{input-CsfmMUT5.js → input-DGmxnZJ2.js} +1 -1
  106. package/dist/webui/assets/{jobs-Cr1xWWzM.js → jobs-fUKQtvM8.js} +1 -1
  107. package/dist/webui/assets/library-CraLMam6.js +1 -0
  108. package/dist/webui/assets/loader-circle-DdnKPTse.js +1 -0
  109. package/dist/webui/assets/{logs-C1l3cu_j.js → logs-ChewkpXh.js} +1 -1
  110. package/dist/webui/assets/number-field-ZjXjriQK.js +1 -0
  111. package/dist/webui/assets/{routes-Bw2nXmFg.js → routes-DrXWE_DD.js} +1 -1
  112. package/dist/webui/assets/search-CmXUf5GH.js +1 -0
  113. package/dist/webui/assets/{select-CZn10WME.js → select-CtY5SiOV.js} +1 -1
  114. package/dist/webui/assets/select-field-CELReIHC.js +1 -0
  115. package/dist/webui/assets/settings-BA8KbdFh.js +1 -0
  116. package/dist/webui/assets/sidebar-DwCb7ZYM.js +5 -0
  117. package/dist/webui/assets/submit-button-Ev5moeev.js +1 -0
  118. package/dist/webui/assets/{switch-D4S9As9u.js → switch-D4iXqWRT.js} +1 -1
  119. package/dist/webui/assets/switch-field-DvVYQ0fF.js +1 -0
  120. package/dist/webui/assets/{table-B1Y18B60.js → table-Cm5CkWDw.js} +1 -1
  121. package/dist/webui/assets/{test-tube-CbcievIk.js → test-tube-BEJhBYxj.js} +1 -1
  122. package/dist/webui/assets/text-field-BF6NHHSy.js +1 -0
  123. package/dist/webui/assets/{trackers-ULhLxA6-.js → trackers-DbTH144L.js} +2 -2
  124. package/dist/webui/assets/{trash-D083IWKI.js → trash-BBrYUzLS.js} +1 -1
  125. package/dist/webui/assets/use-settings-form-submit-DhYXrP0h.js +129 -0
  126. package/dist/webui/assets/{useBaseQuery-BvrWhgOK.js → useBaseQuery-CF_kheUn.js} +1 -1
  127. package/dist/webui/assets/useRouter-DOlw-pQR.js +1 -0
  128. package/dist/webui/assets/utils-DLIw4Ti7.js +1 -0
  129. package/dist/webui/index.html +12 -12
  130. package/node_modules/@cross-seed/shared/dist/tsconfig.tsbuildinfo +1 -1
  131. package/node_modules/@cross-seed/shared/package.json +5 -1
  132. package/node_modules/zod/README.md +1 -18
  133. package/node_modules/zod/locales/package.json +2 -1
  134. package/node_modules/zod/mini/package.json +2 -1
  135. package/node_modules/zod/package.json +1 -1
  136. package/node_modules/zod/src/v3/tests/all-errors.test.ts +3 -3
  137. package/node_modules/zod/src/v3/tests/object.test.ts +5 -5
  138. package/node_modules/zod/src/v3/tests/partials.test.ts +3 -3
  139. package/node_modules/zod/src/v4/classic/errors.ts +2 -2
  140. package/node_modules/zod/src/v4/classic/external.ts +1 -0
  141. package/node_modules/zod/src/v4/classic/from-json-schema.ts +39 -23
  142. package/node_modules/zod/src/v4/classic/parse.ts +6 -6
  143. package/node_modules/zod/src/v4/classic/schemas.ts +414 -151
  144. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +6 -0
  145. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +50 -0
  146. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +142 -1
  147. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +1 -1
  148. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +1 -1
  149. package/node_modules/zod/src/v4/classic/tests/default.test.ts +44 -0
  150. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  151. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +34 -1
  152. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +214 -2
  153. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +161 -0
  154. package/node_modules/zod/src/v4/classic/tests/function.test.ts +6 -6
  155. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  156. package/node_modules/zod/src/v4/classic/tests/index.test.ts +2 -2
  157. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  158. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  159. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  160. package/node_modules/zod/src/v4/classic/tests/number.test.ts +55 -0
  161. package/node_modules/zod/src/v4/classic/tests/object.test.ts +83 -6
  162. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +114 -4
  163. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +24 -1
  164. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +1 -1
  165. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  166. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +69 -0
  167. package/node_modules/zod/src/v4/classic/tests/record.test.ts +85 -0
  168. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +49 -0
  169. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +63 -0
  170. package/node_modules/zod/src/v4/classic/tests/string.test.ts +50 -1
  171. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +4 -4
  172. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +150 -15
  173. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +17 -0
  174. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +315 -2
  175. package/node_modules/zod/src/v4/classic/tests/union.test.ts +54 -0
  176. package/node_modules/zod/src/v4/core/api.ts +31 -6
  177. package/node_modules/zod/src/v4/core/checks.ts +1 -1
  178. package/node_modules/zod/src/v4/core/core.ts +17 -2
  179. package/node_modules/zod/src/v4/core/errors.ts +31 -24
  180. package/node_modules/zod/src/v4/core/json-schema-processors.ts +17 -18
  181. package/node_modules/zod/src/v4/core/parse.ts +7 -7
  182. package/node_modules/zod/src/v4/core/regexes.ts +8 -1
  183. package/node_modules/zod/src/v4/core/schemas.ts +263 -71
  184. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  185. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  186. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  187. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +22 -0
  188. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +58 -0
  189. package/node_modules/zod/src/v4/core/to-json-schema.ts +10 -1
  190. package/node_modules/zod/src/v4/core/util.ts +52 -35
  191. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  192. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  193. package/node_modules/zod/src/v4/locales/en.ts +4 -0
  194. package/node_modules/zod/src/v4/locales/fr.ts +24 -8
  195. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  196. package/node_modules/zod/src/v4/locales/index.ts +3 -0
  197. package/node_modules/zod/src/v4/locales/it.ts +1 -1
  198. package/node_modules/zod/src/v4/locales/ka.ts +8 -8
  199. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  200. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  201. package/node_modules/zod/src/v4/mini/external.ts +1 -0
  202. package/node_modules/zod/src/v4/mini/schemas.ts +56 -25
  203. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +19 -0
  204. package/node_modules/zod/src/v4/mini/tests/index.test.ts +32 -2
  205. package/node_modules/zod/src/v4/mini/tests/object.test.ts +9 -9
  206. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +51 -1
  207. package/node_modules/zod/src/v4/mini/tests/string.test.ts +5 -0
  208. package/node_modules/zod/v3/package.json +2 -1
  209. package/node_modules/zod/v4/classic/errors.js +2 -2
  210. package/node_modules/zod/v4/classic/external.d.cts +1 -0
  211. package/node_modules/zod/v4/classic/external.d.ts +1 -0
  212. package/node_modules/zod/v4/classic/from-json-schema.cjs +31 -16
  213. package/node_modules/zod/v4/classic/from-json-schema.js +31 -16
  214. package/node_modules/zod/v4/classic/package.json +2 -1
  215. package/node_modules/zod/v4/classic/schemas.cjs +358 -119
  216. package/node_modules/zod/v4/classic/schemas.d.cts +42 -14
  217. package/node_modules/zod/v4/classic/schemas.d.ts +42 -14
  218. package/node_modules/zod/v4/classic/schemas.js +356 -118
  219. package/node_modules/zod/v4/core/api.cjs +7 -2
  220. package/node_modules/zod/v4/core/api.d.cts +26 -5
  221. package/node_modules/zod/v4/core/api.d.ts +26 -5
  222. package/node_modules/zod/v4/core/api.js +7 -2
  223. package/node_modules/zod/v4/core/checks.d.cts +1 -1
  224. package/node_modules/zod/v4/core/checks.d.ts +1 -1
  225. package/node_modules/zod/v4/core/core.cjs +3 -1
  226. package/node_modules/zod/v4/core/core.js +4 -2
  227. package/node_modules/zod/v4/core/errors.cjs +26 -23
  228. package/node_modules/zod/v4/core/errors.d.cts +1 -0
  229. package/node_modules/zod/v4/core/errors.d.ts +1 -0
  230. package/node_modules/zod/v4/core/errors.js +26 -23
  231. package/node_modules/zod/v4/core/json-schema-processors.cjs +16 -20
  232. package/node_modules/zod/v4/core/json-schema-processors.js +16 -20
  233. package/node_modules/zod/v4/core/package.json +2 -1
  234. package/node_modules/zod/v4/core/parse.cjs +7 -7
  235. package/node_modules/zod/v4/core/parse.js +7 -7
  236. package/node_modules/zod/v4/core/regexes.cjs +9 -3
  237. package/node_modules/zod/v4/core/regexes.d.cts +6 -0
  238. package/node_modules/zod/v4/core/regexes.d.ts +6 -0
  239. package/node_modules/zod/v4/core/regexes.js +7 -1
  240. package/node_modules/zod/v4/core/schemas.cjs +211 -65
  241. package/node_modules/zod/v4/core/schemas.d.cts +39 -1
  242. package/node_modules/zod/v4/core/schemas.d.ts +39 -1
  243. package/node_modules/zod/v4/core/schemas.js +210 -64
  244. package/node_modules/zod/v4/core/to-json-schema.cjs +12 -1
  245. package/node_modules/zod/v4/core/to-json-schema.js +12 -1
  246. package/node_modules/zod/v4/core/util.cjs +54 -30
  247. package/node_modules/zod/v4/core/util.d.cts +1 -0
  248. package/node_modules/zod/v4/core/util.d.ts +1 -0
  249. package/node_modules/zod/v4/core/util.js +55 -32
  250. package/node_modules/zod/v4/core/versions.cjs +2 -2
  251. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  252. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  253. package/node_modules/zod/v4/core/versions.js +2 -2
  254. package/node_modules/zod/v4/locales/el.cjs +136 -0
  255. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  256. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  257. package/node_modules/zod/v4/locales/el.js +109 -0
  258. package/node_modules/zod/v4/locales/en.cjs +4 -0
  259. package/node_modules/zod/v4/locales/en.js +4 -0
  260. package/node_modules/zod/v4/locales/fr.cjs +24 -7
  261. package/node_modules/zod/v4/locales/fr.js +24 -7
  262. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  263. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  264. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  265. package/node_modules/zod/v4/locales/hr.js +122 -0
  266. package/node_modules/zod/v4/locales/index.cjs +8 -1
  267. package/node_modules/zod/v4/locales/index.d.cts +3 -0
  268. package/node_modules/zod/v4/locales/index.d.ts +3 -0
  269. package/node_modules/zod/v4/locales/index.js +3 -0
  270. package/node_modules/zod/v4/locales/it.cjs +1 -1
  271. package/node_modules/zod/v4/locales/it.js +1 -1
  272. package/node_modules/zod/v4/locales/ka.cjs +8 -8
  273. package/node_modules/zod/v4/locales/ka.js +8 -8
  274. package/node_modules/zod/v4/locales/package.json +2 -1
  275. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  276. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  277. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  278. package/node_modules/zod/v4/locales/ro.js +119 -0
  279. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  280. package/node_modules/zod/v4/locales/uz.js +1 -0
  281. package/node_modules/zod/v4/mini/external.d.cts +1 -0
  282. package/node_modules/zod/v4/mini/external.d.ts +1 -0
  283. package/node_modules/zod/v4/mini/package.json +2 -1
  284. package/node_modules/zod/v4/mini/schemas.cjs +41 -4
  285. package/node_modules/zod/v4/mini/schemas.d.cts +28 -10
  286. package/node_modules/zod/v4/mini/schemas.d.ts +28 -10
  287. package/node_modules/zod/v4/mini/schemas.js +40 -4
  288. package/node_modules/zod/v4/package.json +2 -1
  289. package/node_modules/zod/v4-mini/package.json +2 -1
  290. package/package.json +9 -9
  291. package/dist/webui/assets/ClientOnly-CzZIsGML.js +0 -1
  292. package/dist/webui/assets/Page-C7KClZ28.js +0 -1
  293. package/dist/webui/assets/array-field-DGB7Lbh7.js +0 -1
  294. package/dist/webui/assets/check-CUrWQ2C7.js +0 -1
  295. package/dist/webui/assets/clients-CHdgqO4r.js +0 -1
  296. package/dist/webui/assets/connect-Cr6Q3W8U.js +0 -2
  297. package/dist/webui/assets/duration-field-CnlQcr37.js +0 -1
  298. package/dist/webui/assets/form-context-B-ekdUc0.js +0 -1
  299. package/dist/webui/assets/general-Cs8dEydJ.js +0 -1
  300. package/dist/webui/assets/health-DugF7R6A.js +0 -1
  301. package/dist/webui/assets/index-DinSQfHc.js +0 -11
  302. package/dist/webui/assets/library-BNsctrbc.js +0 -1
  303. package/dist/webui/assets/loader-circle-BQbzoYGJ.js +0 -1
  304. package/dist/webui/assets/number-field-Ce3QdLSz.js +0 -1
  305. package/dist/webui/assets/search-D9W5vk_0.js +0 -1
  306. package/dist/webui/assets/select-field-DozTirAZ.js +0 -1
  307. package/dist/webui/assets/settings-BXbhXNDK.js +0 -1
  308. package/dist/webui/assets/sidebar-y9WJu7Jw.js +0 -5
  309. package/dist/webui/assets/submit-button-CBOzR0f_.js +0 -1
  310. package/dist/webui/assets/switch-field-2E9ctvy_.js +0 -1
  311. package/dist/webui/assets/text-field-DV4EP-I8.js +0 -1
  312. package/dist/webui/assets/use-settings-form-submit-D87nmJRy.js +0 -79
  313. package/dist/webui/assets/useRouterState-CZfD5Xdv.js +0 -1
  314. /package/dist/webui/assets/{createLucideIcon-zYRS_Hrv.js → createLucideIcon-B7JFsQMg.js} +0 -0
  315. /package/dist/webui/assets/{dist-DhH_lYkz.js → dist-BOuUIo52.js} +0 -0
  316. /package/dist/webui/assets/{react-dom-mEftaaxx.js → react-dom-BMqFzhWt.js} +0 -0
@@ -16,7 +16,11 @@ export const ZodMiniType = /*@__PURE__*/ core.$constructor("ZodMiniType", (inst,
16
16
  ...def,
17
17
  checks: [
18
18
  ...(def.checks ?? []),
19
- ...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
19
+ ...checks.map((ch) => typeof ch === "function"
20
+ ? {
21
+ _zod: { check: ch, def: { check: "custom" }, onattach: [] },
22
+ }
23
+ : ch),
20
24
  ],
21
25
  }, { parent: true });
22
26
  };
@@ -90,7 +94,7 @@ export function url(params) {
90
94
  // @__NO_SIDE_EFFECTS__
91
95
  export function httpUrl(params) {
92
96
  return core._url(ZodMiniURL, {
93
- protocol: /^https?$/,
97
+ protocol: core.regexes.httpProtocol,
94
98
  hostname: core.regexes.domain,
95
99
  ...util.normalizeParams(params),
96
100
  });
@@ -111,10 +115,22 @@ export const ZodMiniNanoID = /*@__PURE__*/ core.$constructor("ZodMiniNanoID", (i
111
115
  export function nanoid(params) {
112
116
  return core._nanoid(ZodMiniNanoID, params);
113
117
  }
118
+ /**
119
+ * @deprecated CUID v1 is deprecated by its authors due to information leakage
120
+ * (timestamps embedded in the id). Use {@link ZodMiniCUID2} instead.
121
+ * See https://github.com/paralleldrive/cuid.
122
+ */
114
123
  export const ZodMiniCUID = /*@__PURE__*/ core.$constructor("ZodMiniCUID", (inst, def) => {
115
124
  core.$ZodCUID.init(inst, def);
116
125
  ZodMiniStringFormat.init(inst, def);
117
126
  });
127
+ /**
128
+ * Validates a CUID v1 string.
129
+ *
130
+ * @deprecated CUID v1 is deprecated by its authors due to information leakage
131
+ * (timestamps embedded in the id). Use {@link cuid2 | `z.cuid2()`} instead.
132
+ * See https://github.com/paralleldrive/cuid.
133
+ */
118
134
  // @__NO_SIDE_EFFECTS__
119
135
  export function cuid(params) {
120
136
  return core._cuid(ZodMiniCUID, params);
@@ -543,6 +559,15 @@ export const ZodMiniRecord = /*@__PURE__*/ core.$constructor("ZodMiniRecord", (i
543
559
  });
544
560
  // @__NO_SIDE_EFFECTS__
545
561
  export function record(keyType, valueType, params) {
562
+ // v3-compat: z.record(valueType, params?) — defaults keyType to z.string()
563
+ if (!valueType || !valueType._zod) {
564
+ return new ZodMiniRecord({
565
+ type: "record",
566
+ keyType: string(),
567
+ valueType: keyType,
568
+ ...util.normalizeParams(valueType),
569
+ });
570
+ }
546
571
  return new ZodMiniRecord({
547
572
  type: "record",
548
573
  keyType,
@@ -792,6 +817,17 @@ export function codec(in_, out, params) {
792
817
  reverseTransform: params.encode,
793
818
  });
794
819
  }
820
+ // @__NO_SIDE_EFFECTS__
821
+ export function invertCodec(codec) {
822
+ const def = codec._zod.def;
823
+ return new ZodMiniCodec({
824
+ type: "pipe",
825
+ in: def.out,
826
+ out: def.in,
827
+ transform: def.reverseTransform,
828
+ reverseTransform: def.transform,
829
+ });
830
+ }
795
831
  export const ZodMiniReadonly = /*@__PURE__*/ core.$constructor("ZodMiniReadonly", (inst, def) => {
796
832
  core.$ZodReadonly.init(inst, def);
797
833
  ZodMiniType.init(inst, def);
@@ -868,8 +904,8 @@ export function refine(fn, _params = {}) {
868
904
  }
869
905
  // superRefine
870
906
  // @__NO_SIDE_EFFECTS__
871
- export function superRefine(fn) {
872
- return core._superRefine(fn);
907
+ export function superRefine(fn, params) {
908
+ return core._superRefine(fn, params);
873
909
  }
874
910
  // Re-export describe and meta from core
875
911
  export const describe = core.describe;
@@ -2,5 +2,6 @@
2
2
  "type": "module",
3
3
  "main": "./index.cjs",
4
4
  "module": "./index.js",
5
- "types": "./index.d.cts"
5
+ "types": "./index.d.cts",
6
+ "sideEffects": false
6
7
  }
@@ -2,5 +2,6 @@
2
2
  "type": "module",
3
3
  "main": "./index.cjs",
4
4
  "module": "./index.js",
5
- "types": "./index.d.cts"
5
+ "types": "./index.d.cts",
6
+ "sideEffects": false
6
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cross-seed",
3
- "version": "7.0.0-21",
3
+ "version": "7.0.0-22",
4
4
  "description": "Fully-automatic cross-seeding with Torznab",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,15 +15,15 @@
15
15
  "scripts": {
16
16
  "test": "vitest",
17
17
  "coverage": "vitest run --coverage",
18
- "build": "tsc -b tsconfig.json",
19
- "build:all": "npm run build && npm -C ../.. run build:api-types && npm -C ../.. run build:webui && npm run copy:webui",
20
- "copy:webui": "node ../../scripts/copy-webui.js",
21
- "watch": "tsc -b --watch --preserveWatchOutput",
18
+ "build": "tsc -b tsconfig.build.json",
19
+ "build:all": "npm run build && npm -C .. run build:api-types && npm -C .. run build:webui && npm run copy:webui",
20
+ "copy:webui": "node ../scripts/copy-webui.js",
21
+ "watch": "tsc -b tsconfig.build.json --watch --preserveWatchOutput",
22
22
  "dev": "node --watch dist/cmd.js daemon",
23
- "prepublishOnly": "rimraf dist tsconfig.tsbuildinfo && npm -C ../.. run build",
24
- "prepack": "node ../../scripts/prepare-bundled-deps.js",
25
- "lint": "concurrently --names \"Prettier,ESLint\" \"prettier --check '{src,tests}/{**/*,*}.{js,ts,cjs,mjs}'\" \"eslint '{src,tests}/{**/*,*}.{js,ts,cjs,mjs}'\"",
26
- "typecheck": "tsc -b ../shared/tsconfig.json --force && tsc -b tsconfig.json && tsc -p tsconfig.tests.json",
23
+ "prepublishOnly": "rimraf dist tsconfig.tsbuildinfo && npm -C .. run build",
24
+ "prepack": "node ../scripts/prepare-bundled-deps.js",
25
+ "lint": "concurrently --names \"Prettier,ESLint\" \"prettier --check '{src,tests}/{**/*,*}.{js,ts,cjs,mjs}'\" \"eslint .\"",
26
+ "typecheck": "tsc -b tsconfig.json --force",
27
27
  "format": "prettier --write '{src,tests}/{**/*,*}.{js,ts,cjs,mjs}' package.json"
28
28
  },
29
29
  "bundledDependencies": [
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{h as r}from"./useRouterState-CZfD5Xdv.js";function i(e){let t=new Map,n,r,i=e=>{e.next&&(e.prev?(e.prev.next=e.next,e.next.prev=e.prev,e.next=void 0,r&&(r.next=e,e.prev=r)):(e.next.prev=void 0,n=e.next,e.next=void 0,r&&(e.prev=r,r.next=e)),r=e)};return{get(e){let n=t.get(e);if(n)return i(n),n.value},set(a,o){if(t.size>=e&&n){let e=n;t.delete(e.key),e.next&&(n=e.next,e.next.prev=void 0),e===r&&(r=void 0)}let s=t.get(a);if(s)s.value=o,i(s);else{let e={key:a,value:o,prev:r};r&&(r.next=e),r=e,n||=e,t.set(a,e)}},clear(){t.clear(),n=void 0,r=void 0}}}var a=!0,o=`Invariant failed`;function s(e,t){if(!e){if(a)throw Error(o);var n=typeof t==`function`?t():t,r=n?`${o}: ${n}`:o;throw Error(r)}}var c=4,l=5;function u(e){let t=e.indexOf(`{`);if(t===-1)return null;let n=e.indexOf(`}`,t);return n===-1||t+1>=e.length?null:[t,n]}function d(e,t,n=new Uint16Array(6)){let r=e.indexOf(`/`,t),i=r===-1?e.length:r,a=e.substring(t,i);if(!a||!a.includes(`$`))return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n;if(a===`$`){let r=e.length;return n[0]=2,n[1]=t,n[2]=t,n[3]=r,n[4]=r,n[5]=r,n}if(a.charCodeAt(0)===36)return n[0]=1,n[1]=t,n[2]=t+1,n[3]=i,n[4]=i,n[5]=i,n;let o=u(a);if(o){let[r,s]=o,c=a.charCodeAt(r+1);if(c===45){if(r+2<a.length&&a.charCodeAt(r+2)===36){let e=r+3,a=s;if(e<a)return n[0]=3,n[1]=t+r,n[2]=t+e,n[3]=t+a,n[4]=t+s+1,n[5]=i,n}}else if(c===36){let a=r+1,o=r+2;return o===s?(n[0]=2,n[1]=t+r,n[2]=t+a,n[3]=t+o,n[4]=t+s+1,n[5]=e.length,n):(n[0]=1,n[1]=t+r,n[2]=t+o,n[3]=t+s,n[4]=t+s+1,n[5]=i,n)}}return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n}function f(e,t,n,r,i,a,o){o?.(n);let s=r;{let r=n.fullPath??n.from,o=r.length,u=n.options?.caseSensitive??e,f=!!(n.options?.params?.parse&&n.options?.skipRouteOnParseError?.params);for(;s<o;){let e=d(r,s,t),o,c=s,l=e[5];switch(s=l+1,a++,e[0]){case 0:{let t=r.substring(e[2],e[3]);if(u){let e=i.static?.get(t);if(e)o=e;else{i.static??=new Map;let e=h(n.fullPath??n.from);e.parent=i,e.depth=a,o=e,i.static.set(t,e)}}else{let e=t.toLowerCase(),r=i.staticInsensitive?.get(e);if(r)o=r;else{i.staticInsensitive??=new Map;let t=h(n.fullPath??n.from);t.parent=i,t.depth=a,o=t,i.staticInsensitive.set(e,t)}}break}case 1:{let t=r.substring(c,e[1]),s=r.substring(e[4],l),d=u&&!!(t||s),p=t?d?t:t.toLowerCase():void 0,m=s?d?s:s.toLowerCase():void 0,h=!f&&i.dynamic?.find(e=>!e.skipOnParamError&&e.caseSensitive===d&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=g(1,n.fullPath??n.from,d,p,m);o=e,e.depth=a,e.parent=i,i.dynamic??=[],i.dynamic.push(e)}break}case 3:{let t=r.substring(c,e[1]),s=r.substring(e[4],l),d=u&&!!(t||s),p=t?d?t:t.toLowerCase():void 0,m=s?d?s:s.toLowerCase():void 0,h=!f&&i.optional?.find(e=>!e.skipOnParamError&&e.caseSensitive===d&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=g(3,n.fullPath??n.from,d,p,m);o=e,e.parent=i,e.depth=a,i.optional??=[],i.optional.push(e)}break}case 2:{let t=r.substring(c,e[1]),s=r.substring(e[4],l),d=u&&!!(t||s),f=t?d?t:t.toLowerCase():void 0,p=s?d?s:s.toLowerCase():void 0,m=g(2,n.fullPath??n.from,d,f,p);o=m,m.parent=i,m.depth=a,i.wildcard??=[],i.wildcard.push(m)}}i=o}if(f&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf(`/`)+1)===95){let e=h(n.fullPath??n.from);e.kind=l,e.parent=i,a++,e.depth=a,i.pathless??=[],i.pathless.push(e),i=e}let p=(n.path||!n.children)&&!n.isRoot;if(p&&r.endsWith(`/`)){let e=h(n.fullPath??n.from);e.kind=c,e.parent=i,a++,e.depth=a,i.index=e,i=e}i.parse=n.options?.params?.parse??null,i.skipOnParamError=f,i.parsingPriority=n.options?.skipRouteOnParseError?.priority??0,p&&!i.route&&(i.route=n,i.fullPath=n.fullPath??n.from)}if(n.children)for(let r of n.children)f(e,t,r,s,i,a,o)}function p(e,t){if(e.skipOnParamError&&!t.skipOnParamError)return-1;if(!e.skipOnParamError&&t.skipOnParamError)return 1;if(e.skipOnParamError&&t.skipOnParamError&&(e.parsingPriority||t.parsingPriority))return t.parsingPriority-e.parsingPriority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function m(e){if(e.pathless)for(let t of e.pathless)m(t);if(e.static)for(let t of e.static.values())m(t);if(e.staticInsensitive)for(let t of e.staticInsensitive.values())m(t);if(e.dynamic?.length){e.dynamic.sort(p);for(let t of e.dynamic)m(t)}if(e.optional?.length){e.optional.sort(p);for(let t of e.optional)m(t)}if(e.wildcard?.length){e.wildcard.sort(p);for(let t of e.wildcard)m(t)}}function h(e){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null,skipOnParamError:!1,parsingPriority:0}}function g(e,t,n,r,i){return{kind:e,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,skipOnParamError:!1,parsingPriority:0,caseSensitive:n,prefix:r,suffix:i}}function _(e,t){let n=h(`/`),r=new Uint16Array(6);for(let t of e)f(!1,r,t,1,n,0);m(n),t.masksTree=n,t.flatCache=i(1e3)}function v(e,t){e||=`/`;let n=t.flatCache.get(e);if(n)return n;let r=C(e,t.masksTree);return t.flatCache.set(e,r),r}function y(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=h(`/`),f(t,new Uint16Array(6),{from:e},1,o,0),i.singleCache.set(a,o)),C(r,o,n)}function b(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=C(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=T(a.route)),t.matchCache.set(r,a),a}function x(e){return e===`/`?e:e.replace(/\/{1,}$/,``)}function S(e,t=!1,n){let r=h(e.fullPath),a=new Uint16Array(6),o={},c={},l=0;return f(t,a,e,1,r,0,e=>{if(n?.(e,l),s(!(e.id in o),`Duplicate routes found with id: ${String(e.id)}`),o[e.id]=e,l!==0&&e.path){let t=x(e.fullPath);(!c[t]||e.fullPath.endsWith(`/`))&&(c[t]=e)}l++}),m(r),{processedTree:{segmentTree:r,singleCache:i(1e3),matchCache:i(1e3),flatCache:null,masksTree:null},routesById:o,routesByPath:c}}function C(e,t,n=!1){let r=e.split(`/`),i=D(e,r,t,n);if(!i)return null;let[a]=w(e,r,i);return{route:i.node.route,rawParams:a,parsedParams:i.parsedParams}}function w(e,t,n){let r=E(n.node),i=null,a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,u=n.extract?.path??0,d=n.extract?.segment??0;for(;s<r.length;o++,s++,u++,d++){let f=r[s];if(f.kind===c)break;if(f.kind===l){d--,o--,u--;continue}let p=t[o],m=u;if(p&&(u+=p.length),f.kind===1){i??=n.node.fullPath.split(`/`);let e=i[d],t=f.prefix?.length??0;if(e.charCodeAt(t)===123){let n=f.suffix?.length??0,r=e.substring(t+2,e.length-n-1),i=p.substring(t,p.length-n);a[r]=decodeURIComponent(i)}else{let t=e.substring(1);a[t]=decodeURIComponent(p)}}else if(f.kind===3){if(n.skipped&1<<s){o--,u=m-1;continue}i??=n.node.fullPath.split(`/`);let e=i[d],t=f.prefix?.length??0,r=f.suffix?.length??0,c=e.substring(t+3,e.length-r-1),l=f.suffix||f.prefix?p.substring(t,p.length-r):p;l&&(a[c]=decodeURIComponent(l))}else if(f.kind===2){let t=f,n=e.substring(m+(t.prefix?.length??0),e.length-(t.suffix?.length??0)),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:u,segment:d}]}function T(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function E(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function D(e,t,n,i){if(e===`/`&&n.index)return{node:n.index,skipped:0};let a=!r(t),o=a&&e!==`/`,s=t.length-(a?1:0),l=[{node:n,index:1,skipped:0,depth:1,statics:1,dynamics:0,optionals:0}],u=null,d=null,f=null;for(;l.length;){let n=l.pop(),{node:r,index:a,skipped:p,depth:m,statics:h,dynamics:g,optionals:_}=n,{extract:v,rawParams:y,parsedParams:b}=n;if(r.skipOnParamError){if(!O(e,t,n))continue;y=n.rawParams,v=n.extract,b=n.parsedParams}i&&r.route&&r.kind!==c&&k(d,n)&&(d=n);let x=a===s;if(x&&(r.route&&!o&&k(f,n)&&(f=n),!r.optional&&!r.wildcard&&!r.index&&!r.pathless))continue;let S=x?void 0:t[a],C;if(x&&r.index){let n={node:r.index,index:a,skipped:p,depth:m+1,statics:h,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b},i=!0;if(r.index.skipOnParamError&&(O(e,t,n)||(i=!1)),i){if(h===s&&!g&&!_&&!p)return n;k(f,n)&&(f=n)}}if(r.wildcard&&k(u,n))for(let n of r.wildcard){let{prefix:r,suffix:i}=n;if(r&&(x||!(n.caseSensitive?S:C??=S.toLowerCase()).startsWith(r)))continue;if(i){if(x)continue;let e=t.slice(a).join(`/`).slice(-i.length);if((n.caseSensitive?e:e.toLowerCase())!==i)continue}let o={node:n,index:s,skipped:p,depth:m,statics:h,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b};if(!(n.skipOnParamError&&!O(e,t,o))){u=o;break}}if(r.optional){let e=p|1<<m,t=m+1;for(let n=r.optional.length-1;n>=0;n--){let i=r.optional[n];l.push({node:i,index:a,skipped:e,depth:t,statics:h,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b})}if(!x)for(let e=r.optional.length-1;e>=0;e--){let n=r.optional[e],{prefix:i,suffix:o}=n;if(i||o){let e=n.caseSensitive?S:C??=S.toLowerCase();if(i&&!e.startsWith(i)||o&&!e.endsWith(o))continue}l.push({node:n,index:a+1,skipped:p,depth:t,statics:h,dynamics:g,optionals:_+1,extract:v,rawParams:y,parsedParams:b})}}if(!x&&r.dynamic&&S)for(let e=r.dynamic.length-1;e>=0;e--){let t=r.dynamic[e],{prefix:n,suffix:i}=t;if(n||i){let e=t.caseSensitive?S:C??=S.toLowerCase();if(n&&!e.startsWith(n)||i&&!e.endsWith(i))continue}l.push({node:t,index:a+1,skipped:p,depth:m+1,statics:h,dynamics:g+1,optionals:_,extract:v,rawParams:y,parsedParams:b})}if(!x&&r.staticInsensitive){let e=r.staticInsensitive.get(C??=S.toLowerCase());e&&l.push({node:e,index:a+1,skipped:p,depth:m+1,statics:h+1,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b})}if(!x&&r.static){let e=r.static.get(S);e&&l.push({node:e,index:a+1,skipped:p,depth:m+1,statics:h+1,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b})}if(r.pathless){let e=m+1;for(let t=r.pathless.length-1;t>=0;t--){let n=r.pathless[t];l.push({node:n,index:a,skipped:p,depth:e,statics:h,dynamics:g,optionals:_,extract:v,rawParams:y,parsedParams:b})}}}if(f&&u)return k(u,f)?f:u;if(f)return f;if(u)return u;if(i&&d){let n=d.index;for(let e=0;e<d.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return d.rawParams??=Object.create(null),d.rawParams[`**`]=decodeURIComponent(r),d}return null}function O(e,t,n){try{let[r,i]=w(e,t,n);n.rawParams=r,n.extract=i;let a=n.node.parse(r);return n.parsedParams=Object.assign(Object.create(null),n.parsedParams,a),!0}catch{return null}}function k(e,t){return e?t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===c)>(e.node.kind===c)||t.node.kind===c==(e.node.kind===c)&&t.depth>e.depth))):!0}function A(e){return j(e.filter(e=>e!==void 0).join(`/`))}function j(e){return e.replace(/\/{2,}/g,`/`)}function M(e){return e===`/`?e:e.replace(/^\/{1,}/,``)}function N(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/{1,}$/,``):e}function P(e){return N(M(e))}function F(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function I(e,t,n){return F(e,n)===F(t,n)}function L({base:e,to:t,trailingSlash:n=`never`,cache:i}){let a=t.startsWith(`/`),o=!a&&t===`.`,s;if(i){s=a?t:o?e:e+`\0`+t;let n=i.get(s);if(n)return n}let c;if(o)c=e.split(`/`);else if(a)c=t.split(`/`);else{for(c=e.split(`/`);c.length>1&&r(c)===``;)c.pop();let n=t.split(`/`);for(let e=0,t=n.length;e<t;e++){let r=n[e];r===``?e?e===t-1&&c.push(r):c=[r]:r===`..`?c.pop():r===`.`||c.push(r)}}c.length>1&&(r(c)===``?n===`never`&&c.pop():n===`always`&&c.push(``));let l,u=``;for(let e=0;e<c.length;e++){e>0&&(u+=`/`);let t=c[e];if(!t)continue;l=d(t,0,l);let n=l[0];if(n===0){u+=t;continue}let r=l[5],i=t.substring(0,l[1]),a=t.substring(l[4],r),o=t.substring(l[2],l[3]);n===1?u+=i||a?`${i}{$${o}}${a}`:`$${o}`:n===2?u+=i||a?`${i}{$}${a}`:`$`:u+=`${i}{-$${o}}${a}`}u=j(u);let f=u||`/`;return s&&i&&i.set(s,f),f}function R(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=Array.from(t.keys()).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),r=new RegExp(n,`g`);return e=>e.replace(r,e=>t.get(e)??e)}function z(e,t,n){let r=t[e];return typeof r==`string`?e===`_splat`?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split(`/`).map(e=>V(e,n)).join(`/`):V(r,n):r}function B({path:e,params:t,decoder:n,...r}){let i=!1,a=Object.create(null);if(!e||e===`/`)return{interpolatedPath:`/`,usedParams:a,isMissingParams:i};if(!e.includes(`$`))return{interpolatedPath:e,usedParams:a,isMissingParams:i};let o=e.length,s=0,c,l=``;for(;s<o;){let r=s;c=d(e,r,c);let o=c[5];if(s=o+1,r===o)continue;let u=c[0];if(u===0){l+=`/`+e.substring(r,o);continue}if(u===2){let s=t._splat;a._splat=s,a[`*`]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o);if(!s){i=!0,(u||d)&&(l+=`/`+u+d);continue}let f=z(`_splat`,t,n);l+=`/`+u+f+d;continue}if(u===1){let s=e.substring(c[2],c[3]);!i&&!(s in t)&&(i=!0),a[s]=t[s];let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=z(s,t,n)??`undefined`;l+=`/`+u+f+d;continue}if(u===3){let i=e.substring(c[2],c[3]),s=t[i];if(s==null)continue;a[i]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=z(i,t,n)??``;l+=`/`+u+f+d;continue}}return e.endsWith(`/`)&&(l+=`/`),{usedParams:a,interpolatedPath:l||`/`,isMissingParams:i}}function V(e,t){let n=encodeURIComponent(e);return t?.(n)??n}var H=e(n(),1),U=t();function W({children:e,fallback:t=null}){return G()?(0,U.jsx)(H.Fragment,{children:e}):(0,U.jsx)(H.Fragment,{children:t})}function G(){return H.useSyncExternalStore(K,()=>!0,()=>!1)}function K(){return()=>{}}export{S as _,I as a,F as c,M as d,N as f,_ as g,y as h,R as i,L as l,b as m,G as n,B as o,v as p,j as r,A as s,W as t,P as u,s as v,i as y};
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{N as r,P as i,h as a,lt as o}from"./sidebar-y9WJu7Jw.js";import{t as s}from"./useRouterState-CZfD5Xdv.js";import{a as c,i as l,r as u}from"./dist-DhH_lYkz.js";import{t as d}from"./button-1cIaa9Lf.js";import{t as f}from"./createLucideIcon-zYRS_Hrv.js";import{c as p,i as m,n as h,r as g,s as _}from"./dist-DzdkRn7I.js";import{a as ee,c as v,d as y,f as b,h as x,i as S,l as te,m as C,o as w,p as ne,r as T,s as E,u as re}from"./dist-b2njvUJz.js";import{n as D,t as O}from"./dist-Bbmh5Du9.js";function k(e){return s({select:t=>e?.select?e.select(t.location):t.location})}var A=f(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),j=f(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),ie=f(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),M=e(n(),1),N=t(),P=`rovingFocusGroup.onEntryFocus`,ae={bubbles:!1,cancelable:!0},F=`RovingFocusGroup`,[I,L,oe]=D(F),[se,ce]=_(F,[oe]),[le,ue]=se(F),de=M.forwardRef((e,t)=>(0,N.jsx)(I.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,N.jsx)(I.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,N.jsx)(fe,{...e,ref:t})})}));de.displayName=F;var fe=M.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,g=M.useRef(null),_=l(t,g),ee=O(a),[v,y]=m({prop:o,defaultProp:s??null,onChange:c,caller:F}),[b,x]=M.useState(!1),S=C(u),te=L(n),w=M.useRef(!1),[ne,T]=M.useState(0);return M.useEffect(()=>{let e=g.current;if(e)return e.addEventListener(P,S),()=>e.removeEventListener(P,S)},[S]),(0,N.jsx)(le,{scope:n,orientation:r,dir:ee,loop:i,currentTabStopId:v,onItemFocus:M.useCallback(e=>y(e),[y]),onItemShiftTab:M.useCallback(()=>x(!0),[]),onFocusableItemAdd:M.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:M.useCallback(()=>T(e=>e-1),[]),children:(0,N.jsx)(h.div,{tabIndex:b||ne===0?-1:0,"data-orientation":r,...f,ref:_,style:{outline:`none`,...e.style},onMouseDown:p(e.onMouseDown,()=>{w.current=!0}),onFocus:p(e.onFocus,e=>{let t=!w.current;if(e.target===e.currentTarget&&t&&!b){let t=new CustomEvent(P,ae);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=te().filter(e=>e.focusable);ve([e.find(e=>e.active),e.find(e=>e.id===v),...e].filter(Boolean).map(e=>e.ref.current),d)}}w.current=!1}),onBlur:p(e.onBlur,()=>x(!1))})})}),pe=`RovingFocusGroupItem`,me=M.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=x(),l=a||c,u=ue(pe,n),d=u.currentTabStopId===l,f=L(n),{onFocusableItemAdd:m,onFocusableItemRemove:g,currentTabStopId:_}=u;return M.useEffect(()=>{if(r)return m(),()=>g()},[r,m,g]),(0,N.jsx)(I.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,N.jsx)(h.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:p(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:p(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:p(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=_e(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?ye(n,r+1):n.slice(r+1)}setTimeout(()=>ve(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:_!=null}):o})})});me.displayName=pe;var he={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function ge(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function _e(e,t,n){let r=ge(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return he[r]}function ve(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ye(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var be=de,xe=me;function Se(e){let t=Ce(e),n=M.forwardRef((e,n)=>{let{children:r,...i}=e,a=M.Children.toArray(r),o=a.find(Te);if(o){let e=o.props.children,r=a.map(t=>t===o?M.Children.count(e)>1?M.Children.only(null):M.isValidElement(e)?e.props.children:null:t);return(0,N.jsx)(t,{...i,ref:n,children:M.isValidElement(e)?M.cloneElement(e,void 0,r):null})}return(0,N.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Ce(e){let t=M.forwardRef((e,t)=>{let{children:n,...r}=e;if(M.isValidElement(n)){let e=De(n),i=Ee(r,n.props);return n.type!==M.Fragment&&(i.ref=t?u(t,e):e),M.cloneElement(n,i)}return M.Children.count(n)>1?M.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var we=Symbol(`radix.slottable`);function Te(e){return M.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===we}function Ee(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function De(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var R=[`Enter`,` `],Oe=[`ArrowDown`,`PageUp`,`Home`],ke=[`ArrowUp`,`PageDown`,`End`],Ae=[...Oe,...ke],je={ltr:[...R,`ArrowRight`],rtl:[...R,`ArrowLeft`]},Me={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},z=`Menu`,[B,Ne,Pe]=D(z),[V,Fe]=_(z,[Pe,E,ce]),H=E(),Ie=ce(),[Le,U]=V(z),[Re,W]=V(z),ze=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=H(t),[c,l]=M.useState(null),u=M.useRef(!1),d=C(a),f=O(i);return M.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,N.jsx)(w,{...s,children:(0,N.jsx)(Le,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,N.jsx)(Re,{scope:t,onClose:M.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};ze.displayName=z;var Be=`MenuAnchor`,Ve=M.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,N.jsx)(T,{...i,...r,ref:t})});Ve.displayName=Be;var He=`MenuPortal`,[Ue,We]=V(He,{forceMount:void 0}),Ge=e=>{let{__scopeMenu:t,forceMount:n,children:i,container:a}=e,o=U(He,t);return(0,N.jsx)(Ue,{scope:t,forceMount:n,children:(0,N.jsx)(r,{present:n||o.open,children:(0,N.jsx)(y,{asChild:!0,container:a,children:i})})})};Ge.displayName=He;var G=`MenuContent`,[Ke,qe]=V(G),Je=M.forwardRef((e,t)=>{let n=We(G,e.__scopeMenu),{forceMount:i=n.forceMount,...a}=e,o=U(G,e.__scopeMenu),s=W(G,e.__scopeMenu);return(0,N.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,N.jsx)(r,{present:i||o.open,children:(0,N.jsx)(B.Slot,{scope:e.__scopeMenu,children:s.modal?(0,N.jsx)(Ye,{...a,ref:t}):(0,N.jsx)(Xe,{...a,ref:t})})})})}),Ye=M.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu),r=M.useRef(null),i=l(t,r);return M.useEffect(()=>{let e=r.current;if(e)return v(e)},[]),(0,N.jsx)(Qe,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:p(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Xe=M.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu);return(0,N.jsx)(Qe,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ze=Se(`MenuContent.ScrollLock`),Qe=M.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:h,disableOutsideScroll:g,..._}=e,v=U(G,n),y=W(G,n),x=H(n),S=Ie(n),C=Ne(n),[w,T]=M.useState(null),E=M.useRef(null),D=l(t,E,v.onContentChange),O=M.useRef(0),k=M.useRef(``),A=M.useRef(0),j=M.useRef(null),ie=M.useRef(`right`),P=M.useRef(0),ae=g?te:M.Fragment,F=g?{as:Ze,allowPinchZoom:!0}:void 0,I=e=>{let t=k.current+e,n=C().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Mt(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){k.current=t,window.clearTimeout(O.current),t!==``&&(O.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};M.useEffect(()=>()=>window.clearTimeout(O.current),[]),re();let L=M.useCallback(e=>ie.current===j.current?.side&&Pt(e,j.current?.area),[]);return(0,N.jsx)(Ke,{scope:n,searchRef:k,onItemEnter:M.useCallback(e=>{L(e)&&e.preventDefault()},[L]),onItemLeave:M.useCallback(e=>{L(e)||(E.current?.focus(),T(null))},[L]),onTriggerLeave:M.useCallback(e=>{L(e)&&e.preventDefault()},[L]),pointerGraceTimerRef:A,onPointerGraceIntentChange:M.useCallback(e=>{j.current=e},[]),children:(0,N.jsx)(ae,{...F,children:(0,N.jsx)(b,{asChild:!0,trapped:i,onMountAutoFocus:p(a,e=>{e.preventDefault(),E.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,N.jsx)(ne,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:f,onInteractOutside:m,onDismiss:h,children:(0,N.jsx)(be,{asChild:!0,...S,dir:y.dir,orientation:`vertical`,loop:r,currentTabStopId:w,onCurrentTabStopIdChange:T,onEntryFocus:p(c,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,N.jsx)(ee,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ot(v.open),"data-radix-menu-content":``,dir:y.dir,...x,..._,ref:D,style:{outline:`none`,..._.style},onKeyDown:p(_.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&I(e.key));let i=E.current;if(e.target!==i||!Ae.includes(e.key))return;e.preventDefault();let a=C().filter(e=>!e.disabled).map(e=>e.ref.current);ke.includes(e.key)&&a.reverse(),At(a)}),onBlur:p(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),k.current=``)}),onPointerMove:p(e.onPointerMove,X(e=>{let t=e.target,n=P.current!==e.clientX;e.currentTarget.contains(t)&&n&&(ie.current=e.clientX>P.current?`right`:`left`,P.current=e.clientX)}))})})})})})})});Je.displayName=G;var $e=`MenuGroup`,et=M.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,N.jsx)(h.div,{role:`group`,...r,ref:t})});et.displayName=$e;var tt=`MenuLabel`,nt=M.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,N.jsx)(h.div,{...r,ref:t})});nt.displayName=tt;var K=`MenuItem`,rt=`menu.itemSelect`,q=M.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=M.useRef(null),o=W(K,e.__scopeMenu),s=qe(K,e.__scopeMenu),c=l(t,a),u=M.useRef(!1),d=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(rt,{bubbles:!0,cancelable:!0});e.addEventListener(rt,e=>r?.(e),{once:!0}),g(e,t),t.defaultPrevented?u.current=!1:o.onClose()}};return(0,N.jsx)(it,{...i,ref:c,disabled:n,onClick:p(e.onClick,d),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:p(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:p(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||R.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});q.displayName=K;var it=M.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=qe(K,n),s=Ie(n),c=M.useRef(null),u=l(t,c),[d,f]=M.useState(!1),[m,g]=M.useState(``);return M.useEffect(()=>{let e=c.current;e&&g((e.textContent??``).trim())},[a.children]),(0,N.jsx)(B.ItemSlot,{scope:n,disabled:r,textValue:i??m,children:(0,N.jsx)(xe,{asChild:!0,...s,focusable:!r,children:(0,N.jsx)(h.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:u,onPointerMove:p(e.onPointerMove,X(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:p(e.onPointerLeave,X(e=>o.onItemLeave(e))),onFocus:p(e.onFocus,()=>f(!0)),onBlur:p(e.onBlur,()=>f(!1))})})})}),at=`MenuCheckboxItem`,ot=M.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,N.jsx)(mt,{scope:e.__scopeMenu,checked:n,children:(0,N.jsx)(q,{role:`menuitemcheckbox`,"aria-checked":Y(n)?`mixed`:n,...i,ref:t,"data-state":kt(n),onSelect:p(i.onSelect,()=>r?.(Y(n)?!0:!n),{checkForDefaultPrevented:!1})})})});ot.displayName=at;var st=`MenuRadioGroup`,[ct,lt]=V(st,{value:void 0,onValueChange:()=>{}}),ut=M.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=C(r);return(0,N.jsx)(ct,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,N.jsx)(et,{...i,ref:t})})});ut.displayName=st;var dt=`MenuRadioItem`,ft=M.forwardRef((e,t)=>{let{value:n,...r}=e,i=lt(dt,e.__scopeMenu),a=n===i.value;return(0,N.jsx)(mt,{scope:e.__scopeMenu,checked:a,children:(0,N.jsx)(q,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":kt(a),onSelect:p(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});ft.displayName=dt;var pt=`MenuItemIndicator`,[mt,ht]=V(pt,{checked:!1}),gt=M.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:i,...a}=e,o=ht(pt,n);return(0,N.jsx)(r,{present:i||Y(o.checked)||o.checked===!0,children:(0,N.jsx)(h.span,{...a,ref:t,"data-state":kt(o.checked)})})});gt.displayName=pt;var _t=`MenuSeparator`,vt=M.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,N.jsx)(h.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});vt.displayName=_t;var yt=`MenuArrow`,bt=M.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,N.jsx)(S,{...i,...r,ref:t})});bt.displayName=yt;var xt=`MenuSub`,[St,Ct]=V(xt),wt=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=U(xt,t),o=H(t),[s,c]=M.useState(null),[l,u]=M.useState(null),d=C(i);return M.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,N.jsx)(w,{...o,children:(0,N.jsx)(Le,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,N.jsx)(St,{scope:t,contentId:x(),triggerId:x(),trigger:s,onTriggerChange:c,children:n})})})};wt.displayName=xt;var J=`MenuSubTrigger`,Tt=M.forwardRef((e,t)=>{let n=U(J,e.__scopeMenu),r=W(J,e.__scopeMenu),i=Ct(J,e.__scopeMenu),a=qe(J,e.__scopeMenu),o=M.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},d=M.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return M.useEffect(()=>d,[d]),M.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,N.jsx)(Ve,{asChild:!0,...l,children:(0,N.jsx)(it,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Ot(n.open),...e,ref:u(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:p(e.onPointerMove,X(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:p(e.onPointerLeave,X(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:p(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||je[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});Tt.displayName=J;var Et=`MenuSubContent`,Dt=M.forwardRef((e,t)=>{let n=We(G,e.__scopeMenu),{forceMount:i=n.forceMount,...a}=e,o=U(G,e.__scopeMenu),s=W(G,e.__scopeMenu),c=Ct(Et,e.__scopeMenu),u=M.useRef(null),d=l(t,u);return(0,N.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,N.jsx)(r,{present:i||o.open,children:(0,N.jsx)(B.Slot,{scope:e.__scopeMenu,children:(0,N.jsx)(Qe,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:d,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:p(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:p(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:p(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Me[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});Dt.displayName=Et;function Ot(e){return e?`open`:`closed`}function Y(e){return e===`indeterminate`}function kt(e){return Y(e)?`indeterminate`:e?`checked`:`unchecked`}function At(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function jt(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Mt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=jt(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Nt(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Pt(e,t){return t?Nt({x:e.clientX,y:e.clientY},t):!1}function X(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Ft=ze,It=Ve,Lt=Ge,Rt=Je,zt=et,Bt=nt,Vt=q,Ht=ot,Ut=ut,Wt=ft,Gt=gt,Kt=vt,qt=bt,Jt=Tt,Yt=Dt,Z=`DropdownMenu`,[Xt,Zt]=_(Z,[Fe]),Q=Fe(),[Qt,$t]=Xt(Z),en=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=Q(t),l=M.useRef(null),[u,d]=m({prop:i,defaultProp:a??!1,onChange:o,caller:Z});return(0,N.jsx)(Qt,{scope:t,triggerId:x(),triggerRef:l,contentId:x(),open:u,onOpenChange:d,onOpenToggle:M.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,N.jsx)(Ft,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};en.displayName=Z;var tn=`DropdownMenuTrigger`,nn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=$t(tn,n),o=Q(n);return(0,N.jsx)(It,{asChild:!0,...o,children:(0,N.jsx)(h.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:u(t,a.triggerRef),onPointerDown:p(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:p(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});nn.displayName=tn;var rn=`DropdownMenuPortal`,an=e=>{let{__scopeDropdownMenu:t,...n}=e,r=Q(t);return(0,N.jsx)(Lt,{...r,...n})};an.displayName=rn;var on=`DropdownMenuContent`,sn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$t(on,n),a=Q(n),o=M.useRef(!1);return(0,N.jsx)(Rt,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:p(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:p(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});sn.displayName=on;var cn=`DropdownMenuGroup`,ln=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(zt,{...i,...r,ref:t})});ln.displayName=cn;var un=`DropdownMenuLabel`,dn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Bt,{...i,...r,ref:t})});dn.displayName=un;var fn=`DropdownMenuItem`,pn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Vt,{...i,...r,ref:t})});pn.displayName=fn;var mn=`DropdownMenuCheckboxItem`,hn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Ht,{...i,...r,ref:t})});hn.displayName=mn;var gn=`DropdownMenuRadioGroup`,_n=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Ut,{...i,...r,ref:t})});_n.displayName=gn;var vn=`DropdownMenuRadioItem`,yn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Wt,{...i,...r,ref:t})});yn.displayName=vn;var bn=`DropdownMenuItemIndicator`,xn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Gt,{...i,...r,ref:t})});xn.displayName=bn;var Sn=`DropdownMenuSeparator`,Cn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Kt,{...i,...r,ref:t})});Cn.displayName=Sn;var wn=`DropdownMenuArrow`,Tn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(qt,{...i,...r,ref:t})});Tn.displayName=wn;var En=`DropdownMenuSubTrigger`,Dn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Jt,{...i,...r,ref:t})});Dn.displayName=En;var On=`DropdownMenuSubContent`,kn=M.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Q(n);return(0,N.jsx)(Yt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});kn.displayName=On;var An=en,jn=nn,Mn=an,Nn=sn,Pn=dn,Fn=pn,In=Cn;function Ln({...e}){return(0,N.jsx)(An,{"data-slot":`dropdown-menu`,...e})}function Rn({...e}){return(0,N.jsx)(jn,{"data-slot":`dropdown-menu-trigger`,...e})}function zn({className:e,sideOffset:t=4,...n}){return(0,N.jsx)(Mn,{children:(0,N.jsx)(Nn,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:c(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function $({className:e,inset:t,variant:n=`default`,...r}){return(0,N.jsx)(Fn,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:c(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function Bn({className:e,inset:t,...n}){return(0,N.jsx)(Pn,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:c(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function Vn({className:e,...t}){return(0,N.jsx)(In,{"data-slot":`dropdown-menu-separator`,className:c(`bg-border -mx-1 my-1 h-px`,e),...t})}var Hn=({className:e})=>{let{setTheme:t}=o();return(0,N.jsxs)(Ln,{children:[(0,N.jsx)(Rn,{asChild:!0,children:(0,N.jsxs)(d,{variant:`ghost`,size:`icon`,className:e,children:[(0,N.jsx)(ie,{className:`h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90`}),(0,N.jsx)(j,{className:`absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0`}),(0,N.jsx)(`span`,{className:`sr-only`,children:`Toggle theme`})]})}),(0,N.jsxs)(zn,{children:[(0,N.jsx)($,{onClick:()=>t(`light`),children:`Light`}),(0,N.jsx)($,{onClick:()=>t(`dark`),children:`Dark`}),(0,N.jsx)($,{onClick:()=>t(`system`),children:`System`})]})]})};function Un({...e}){return(0,N.jsx)(`nav`,{"aria-label":`breadcrumb`,"data-slot":`breadcrumb`,...e})}function Wn({className:e,...t}){return(0,N.jsx)(`ol`,{"data-slot":`breadcrumb-list`,className:c(`text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5`,e),...t})}function Gn({className:e,...t}){return(0,N.jsx)(`li`,{"data-slot":`breadcrumb-item`,className:c(`inline-flex items-center gap-1.5`,e),...t})}function Kn({className:e,...t}){return(0,N.jsx)(`span`,{"data-slot":`breadcrumb-page`,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:c(`text-foreground font-normal`,e),...t})}function qn({children:e,className:t,...n}){return(0,N.jsx)(`li`,{"data-slot":`breadcrumb-separator`,role:`presentation`,"aria-hidden":`true`,className:c(`[&>svg]:size-3.5`,t),...n,children:e??(0,N.jsx)(A,{})})}function Jn({breadcrumbs:e,actions:t,children:n}){let r=k(),o=(0,M.useMemo)(()=>e||r.pathname.split(`/`).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)),[r.pathname,e]);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-2 border-b px-4`,children:[(0,N.jsx)(a,{className:`-ml-1`}),(0,N.jsx)(i,{orientation:`vertical`,className:`mr-2 h-4`}),(0,N.jsx)(Un,{children:(0,N.jsx)(Wn,{children:o.map((e,t)=>(0,N.jsxs)(M.Fragment,{children:[(0,N.jsx)(Gn,{children:t===o.length-1?(0,N.jsx)(Kn,{children:e}):e}),t<o.length-1&&(0,N.jsx)(qn,{})]},t))})}),(0,N.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[t,(0,N.jsx)(Hn,{})]})]}),(0,N.jsx)(`div`,{className:`flex flex-1 flex-col`,children:(0,N.jsx)(`div`,{className:`@container/main`,children:(0,N.jsx)(`div`,{className:`flex flex-col gap-4 p-4`,children:n})})})]})}export{Bn as a,A as c,$ as i,Ln as n,Vn as o,zn as r,Rn as s,Jn as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./useStore-CusP06SD.js";import{a as t}from"./dist-DhH_lYkz.js";import{t as n}from"./input-CsfmMUT5.js";import{t as r}from"./DeleteOption-dxKSbv6N.js";import{r as i}from"./form-context-B-ekdUc0.js";var a=e(),o=({className:e,showDelete:o=!1,onDelete:s})=>{let c=i();return(0,a.jsxs)(`div`,{className:t(`flex items-center gap-2`,e),children:[(0,a.jsx)(n,{type:`text`,id:`${c.name}`,className:`form-input`,value:c.state.value?String(c.state.value):``,"aria-invalid":!!(c.state.meta.isTouched&&c.state.meta.errorMap.onBlur?.length>0),onBlur:c.handleBlur,onChange:e=>c.handleChange(e.target.value)}),o&&(0,a.jsx)(r,{onClick:s})]})};export{o as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-zYRS_Hrv.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);export{t};
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{I as r,L as i,S as a,_ as o,b as s,g as c,v as l,x as u,y as d}from"./sidebar-y9WJu7Jw.js";import{a as f,i as p,n as m,r as h,s as g,t as _}from"./Page-C7KClZ28.js";import{t as v}from"./button-1cIaa9Lf.js";import{a as y,i as b,n as x,r as S,t as ee}from"./trash-D083IWKI.js";import{t as C}from"./loader-circle-BQbzoYGJ.js";import{t as w}from"./test-tube-CbcievIk.js";import{f as T,i as E,t as D}from"./index-DinSQfHc.js";import{a as O,d as k,f as te,g as A,i as j,n as M,p as N,r as P,t as F,u as I,x as L}from"./use-settings-form-submit-D87nmJRy.js";import{a as R,i as z,n as ne,o as B,r as V,t as re}from"./table-B1Y18B60.js";var H=e(n(),1),U=t();function ie({open:e,onOpenChange:t,client:n,onEdit:r}){return(0,U.jsx)(c,{open:e,onOpenChange:t,children:(0,U.jsxs)(l,{className:`sm:max-w-md`,children:[(0,U.jsxs)(u,{children:[(0,U.jsx)(a,{children:`View Torrent Client`}),(0,U.jsx)(d,{children:`View torrent client details.`})]}),(0,U.jsxs)(`div`,{className:`grid flex-1 auto-rows-min gap-6 px-4`,children:[(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[(0,U.jsx)(E,{children:`URL`}),(0,U.jsx)(`div`,{className:`bg-muted/50 rounded-md border px-3 py-2 font-mono text-sm break-all`,children:n?.url||`N/A`})]}),(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[(0,U.jsx)(E,{children:`Username`}),(0,U.jsx)(`div`,{className:`bg-muted/50 rounded-md border px-3 py-2 font-mono text-sm break-all`,children:n?.user||`N/A`})]}),(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[(0,U.jsx)(E,{children:`Password`}),(0,U.jsx)(`div`,{className:`bg-muted/50 rounded-md border px-3 py-2 font-mono text-sm break-all`,children:n?.password?`********`:`N/A`})]}),(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[(0,U.jsx)(E,{children:`Read only`}),(0,U.jsx)(`div`,{className:`bg-muted/50 rounded-md border px-3 py-2 font-mono text-sm break-all`,children:n?.readOnly?`Yes`:`No`})]})]}),(0,U.jsxs)(s,{children:[r&&(0,U.jsxs)(v,{type:`button`,onClick:()=>r(n),className:`flex-1`,children:[(0,U.jsx)(S,{className:`mr-2 h-4 w-4`}),`Edit`]}),(0,U.jsx)(o,{asChild:!0,className:`flex-1`,children:(0,U.jsx)(v,{type:`button`,variant:`outline`,className:`flex-1`,children:`Close`})})]})]})})}var W=e=>{try{return decodeURIComponent(e)}catch{return e}},G=e=>{let t=e.indexOf(`://`);if(t===-1)return e;let n=t+3,r=e.lastIndexOf(`@`);if(r<=n)return e;let i=e.slice(n,r),a=i.indexOf(`:`);if(a===-1)return e;let o=i.slice(0,a),s=i.slice(a+1),c=encodeURIComponent(W(o)),l=encodeURIComponent(W(s));return`${e.slice(0,n)}${c}:${l}${e.slice(r)}`},K=e=>new URL(G(e));function ae(e){return W(K(e).username)}function oe(e){return W(K(e).password)}var q=e=>{try{let t=K(e);return`${t.protocol}//${t.host}${t.pathname}${t.search}${t.hash}`}catch(t){let n=e.indexOf(`://`),r=n===-1?-1:n+3,i=e.lastIndexOf(`@`);if(r!==-1&&i>r){let t=`${e.slice(0,r)}${e.slice(i+1)}`;try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return t}}return console.warn(`Unable to strip credentials from client URL`,t),e}};function J({endpointUrl:e,username:t=``,password:n=``,includeUsername:r=!0}){let i=K(q(e));return i.username=r?t:``,i.password=n,i.toString()}function Y({client:e,endpointUrl:t,username:n=``,password:r=``,readonly:i=!1}){let a=J({endpointUrl:t,username:n,password:r,includeUsername:e.toLowerCase()!==`deluge`});return`${e.toLowerCase()}:${i?`readonly:`:``}${a}`}function X({client:e,endpointUrl:t,username:n=``,password:r=``}){return J({endpointUrl:t,username:n,password:r,includeUsername:e.toLowerCase()!==`deluge`})}var Z=async({client:e,url:t,username:n=``,password:i})=>{try{return{success:(await r.clients.testConnection.mutate({client:e.toLowerCase(),url:t,username:n,password:i,readonly:!1})).success}}catch(e){return console.error(`Error testing connection:`,e),{success:!1}}},Q={qbittorrent:`qBittorrent`,rtorrent:`rTorrent`,transmission:`Transmission`,deluge:`Deluge`};function se({open:e,onOpenChange:t,mode:n,client:r}){let[f,p]=(0,H.useState)(!1),{isFieldRequired:m}=k(N),{data:h}=T(i().settings.get.queryOptions(void 0,{select:e=>e.config.torrentClients||[]})),{saveConfig:g,isLoading:_}=M(),y=O({...I,defaultValues:r??{},onSubmit:async({value:e})=>{try{let i={...e,readOnly:e?.readOnly??!1},a=N.safeParse(i);if(a.success){let e=a.data,i=Y({client:e.client,endpointUrl:e.url,username:e.user??``,password:e.password??``,readonly:e.readOnly}),o;n===`edit`&&r&&r.index!==void 0?(o=[...h||[]],o[r.index]=i):o=[...h||[],i],g({torrentClients:o}),t(!1)}else throw console.error(`FULL VALIDATION FAILED:`,a.error.format()),Error(`Validation failed`)}catch(e){return console.error(`Exception during full validation:`,e),{status:`error`,error:{_form:`An unexpected error occurred during validation`}}}},validators:{onSubmit:N}}),b=async()=>{p(!0);let e=String(y.getFieldValue(`client`)),t=String(y.getFieldValue(`url`)),n=String(y.getFieldValue(`user`)||``),r=String(y.getFieldValue(`password`)||``);(await Z({client:e,url:X({client:e,endpointUrl:t,username:n,password:r}),username:n,password:r})).success?(D.success(`Connection successful!`,{description:`The torrent client connection was successful.`}),p(!1)):(D.error(`Connection failed`,{description:`Failed to connect to the torrent client.`}),p(!1))},x=_||f;return(0,U.jsx)(c,{open:e,onOpenChange:t,children:(0,U.jsx)(l,{className:`sm:max-w-md`,children:(0,U.jsx)(j,{isFieldRequired:m,children:(0,U.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),y.handleSubmit()},children:[(0,U.jsxs)(u,{children:[(0,U.jsx)(a,{children:n===`edit`?`Edit Client`:`Create Client`}),(0,U.jsx)(d,{children:n===`edit`?`Edit the details of the torrent client.`:`Create a new torrent client.`})]}),(0,U.jsxs)(`div`,{className:`grid flex-1 auto-rows-min gap-6 px-4`,children:[(0,U.jsx)(`div`,{className:`grid gap-3`,children:(0,U.jsx)(y.AppField,{name:`client`,children:e=>(0,U.jsx)(e.SelectField,{label:`Client`,options:Q})})}),(0,U.jsx)(`div`,{className:`grid gap-3`,children:(0,U.jsx)(y.AppField,{name:`url`,children:e=>(0,U.jsx)(e.TextField,{label:`Endpoint URL`})})}),(0,U.jsx)(`div`,{className:`grid gap-3`,children:(0,U.jsx)(y.AppField,{name:`user`,children:e=>(0,U.jsx)(e.TextField,{label:`User`})})}),(0,U.jsx)(`div`,{className:`grid gap-3`,children:(0,U.jsx)(y.AppField,{name:`password`,children:e=>(0,U.jsx)(e.TextField,{label:`Password`,type:`password`})})}),(0,U.jsx)(`div`,{className:`grid gap-3`,children:(0,U.jsx)(y.AppField,{name:`readOnly`,children:e=>(0,U.jsx)(e.SwitchField,{label:`Read only`})})}),(0,U.jsx)(y.Subscribe,{selector:e=>({urlValue:e.values.url,urlMeta:e.fieldMeta.url,userValue:e.values.user,userMeta:e.fieldMeta.user,passwordValue:e.values.password,passwordMeta:e.fieldMeta.password,clientValue:e.values.client}),children:({urlValue:e,urlMeta:t,userValue:n,userMeta:r,passwordValue:i,passwordMeta:a,clientValue:o})=>{let s=e&&!t?.errors?.length,c=o===`transmission`&&i===void 0?!0:i&&!a?.errors?.length,l=o===`deluge`||o===`transmission`?!0:n&&!r?.errors?.length;return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(v,{type:`button`,variant:`outline`,onClick:b,disabled:!(s&&c&&l),className:`w-full`,children:f?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(C,{className:`animate-spin`}),`Testing connection...`]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(w,{className:`mr-2`}),`Test Connection`]})}),o===`qbittorrent`&&(0,U.jsxs)(`p`,{className:`text-muted-foreground -mt-4 px-2 text-sm italic`,children:[`Note: Testing connections can return false positives if`,` `,(0,U.jsx)(`code`,{className:`bg-yellow-100 px-1`,children:`Bypass auth on localhost`}),` `,`is enabled in qBittorrent.`]})]})}})]}),(0,U.jsxs)(s,{className:`mt-6`,children:[(0,U.jsx)(y.AppForm,{children:(0,U.jsx)(y.SubmitButton,{label:n===`edit`?`Update`:`Create`,actionLabel:n===`edit`?`Updating...`:`Creating...`})}),(0,U.jsx)(o,{asChild:!0,children:(0,U.jsx)(v,{type:`button`,variant:`outline`,disabled:x,children:`Cancel`})})]})]})})})})}function $(){let e=i(),{saveConfig:t}=M(),[n,r]=(0,H.useState)(void 0),[a,o]=(0,H.useState)(null),[s,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),[d,C]=(0,H.useState)(!1),[w,E]=(0,H.useState)(`create`),{isFieldRequired:D}=k(A),{data:N}=T(e.settings.get.queryOptions(void 0,{select:e=>P(A,te(e.config),{includeUndefined:!0})})),W=F(),G=O({...I,defaultValues:N??I.defaultValues,onSubmit:W,validators:{onSubmit:A}}),[K,J]=(0,H.useState)(null);(0,H.useEffect)(()=>{K&&(document.getElementById(K)?.focus(),J(null))},[K]),(0,H.useEffect)(()=>{let e=N?.torrentClients??[];if(!e.length){r([]);return}r(e.map((e,t)=>{if(!e)return null;let n=``,r=``,i=!1,a=``,o=``;if(typeof e==`object`)n=e.client,i=e.readOnly||!1,r=e.url,a=e.user||``,o=e.password||``;else if(typeof e==`string`){let t=String(e);n=t.split(`:`)[0];let s=`${n}:readonly:`,c=`${n}:`;i=t.startsWith(s);let l=t.startsWith(s)?t.slice(s.length):t.slice(c.length);if(!l)return null;let u=q(l);if(!u)return null;r=u,a=ae(l),o=oe(l)}return!n||!r?null:{index:t,client:n,url:r,user:a,password:o,readOnly:i}}).filter(Boolean))},[N]);let X=e=>{e.preventDefault(),e.stopPropagation(),c(null),E(`create`),C(!0)},Z=e=>{u(e),e||o(null)},Q=(e,t)=>{e.preventDefault(),e.stopPropagation(),o(null),c(t),u(!0)},$=e=>{o(null),c(e),E(`edit`),u(!1),C(!0)},ce=e=>{o(null);let i=e.index===void 0?n?.filter(t=>t.url!==e.url):n?.filter(t=>t.index!==e.index);r(i),t({torrentClients:(i||[]).map(e=>Y({client:e.client,endpointUrl:e.url,username:e.user??``,password:e.password??``,readonly:e.readOnly??!1}))})};return(0,U.jsxs)(_,{breadcrumbs:[`Settings`,`Torrent Clients`],actions:(0,U.jsxs)(v,{onClick:X,type:`button`,size:`sm`,children:[(0,U.jsx)(x,{className:`mr-2 h-4 w-4`}),`Add Torrent Client`]}),children:[(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Torrent Clients`}),(0,U.jsx)(`p`,{className:`text-muted-foreground`,children:`Manage your torrent clients`})]}),n?(0,U.jsx)(`div`,{className:`mt-4 mb-7 overflow-x-auto rounded-lg border`,children:(0,U.jsxs)(re,{children:[(0,U.jsx)(R,{className:`bg-muted sticky top-0 z-10`,children:(0,U.jsxs)(B,{className:`border-b`,children:[(0,U.jsx)(z,{children:`Client`}),(0,U.jsx)(z,{children:`RPC URL`}),(0,U.jsx)(z,{children:`Read only`}),(0,U.jsx)(z,{className:`text-right`,children:`Actions`})]})}),(0,U.jsxs)(ne,{children:[n?.length===0&&(0,U.jsx)(B,{children:(0,U.jsx)(V,{colSpan:6,className:`text-center`,children:(0,U.jsx)(`p`,{className:`text-muted-foreground`,children:`No torrent clients configured. Add a client to start downloading.`})})}),n?.map(e=>(0,U.jsxs)(B,{className:`hover:bg-muted/50 cursor-pointer`,onClick:t=>Q(t,e),children:[(0,U.jsx)(V,{className:`font-medium`,children:e.client}),(0,U.jsx)(V,{className:`font-mono text-sm`,children:e.url}),(0,U.jsx)(V,{children:e.readOnly?`Yes`:`No`}),(0,U.jsx)(V,{className:`text-right`,children:(0,U.jsxs)(m,{open:a===e.url,onOpenChange:t=>o(t?e.url:null),children:[(0,U.jsx)(g,{asChild:!0,children:(0,U.jsxs)(v,{variant:`ghost`,className:`h-8 w-8 p-0`,type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:[(0,U.jsx)(`span`,{className:`sr-only`,children:`Actions`}),(0,U.jsx)(y,{className:`h-4 w-4`})]})}),(0,U.jsxs)(h,{align:`end`,children:[(0,U.jsx)(f,{children:`Actions`}),(0,U.jsxs)(p,{onClick:t=>{Q(t,e)},children:[(0,U.jsx)(b,{className:`mr-2 h-4 w-4`}),`View Details`]}),(0,U.jsxs)(p,{onClick:t=>{t.stopPropagation(),$(e)},children:[(0,U.jsx)(S,{className:`mr-2 h-4 w-4`}),`Edit`]}),(0,U.jsxs)(p,{variant:`destructive`,onClick:t=>{t.stopPropagation(),ce(e)},children:[(0,U.jsx)(ee,{className:`mr-2 h-4 w-4`}),`Delete`]})]})]})})]},e.url))]})]})}):(0,U.jsx)(`p`,{className:`mb-4 text-lg`,children:`No torrent clients configured. Add a client`}),(0,U.jsx)(j,{isFieldRequired:D,children:(0,U.jsx)(`form`,{className:`form flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),e.stopPropagation(),G.handleSubmit()},noValidate:!0,children:(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(`h2`,{className:`text-xl font-bold`,children:`Torrent Client Options`}),(0,U.jsxs)(`fieldset`,{className:`form-fieldset w-full gap-6 rounded-md`,children:[(0,U.jsx)(`div`,{className:``,children:(0,U.jsx)(G.AppField,{name:`action`,children:e=>(0,U.jsx)(e.SelectField,{label:`Action`,options:L})})}),(0,U.jsx)(`div`,{className:``,children:(0,U.jsx)(G.AppField,{name:`linkCategory`,validators:{},children:e=>(0,U.jsx)(e.TextField,{label:`Link Category`,required:!1})})}),(0,U.jsx)(`div`,{className:``,children:(0,U.jsx)(G.AppField,{name:`torrentDir`,validators:{},children:e=>(0,U.jsx)(e.TextField,{label:`Torrent Directory`,required:!1})})}),(0,U.jsx)(`div`,{className:``,children:(0,U.jsx)(G.AppField,{name:`outputDir`,validators:{},children:e=>(0,U.jsx)(e.TextField,{label:`Output Directory`,required:!1})})}),(0,U.jsxs)(`div`,{className:`form-field-switches col-span-2 gap-x-12`,children:[(0,U.jsx)(G.AppField,{name:`skipRecheck`,children:e=>(0,U.jsx)(e.SwitchField,{label:`Skip Recheck`})}),(0,U.jsx)(G.AppField,{name:`useClientTorrents`,children:e=>(0,U.jsx)(e.SwitchField,{label:`Use Client Torrents`})}),(0,U.jsx)(G.AppField,{name:`duplicateCategories`,children:e=>(0,U.jsx)(e.SwitchField,{label:`Duplicate Categories`})})]})]}),(0,U.jsx)(G.AppForm,{children:(0,U.jsx)(G.SubmitButton,{})})]})})})]}),(0,U.jsx)(ie,{open:l,onOpenChange:Z,client:s,onEdit:$}),(0,U.jsx)(se,{open:d,onOpenChange:e=>{C(e),e||o(null)},client:s,mode:w})]})}export{$ as component};
@@ -1,2 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{L as r}from"./sidebar-y9WJu7Jw.js";import{t as i}from"./Page-C7KClZ28.js";import{a}from"./dist-DhH_lYkz.js";import{t as o}from"./button-1cIaa9Lf.js";import{t as s}from"./input-CsfmMUT5.js";import{t as c}from"./loader-circle-BQbzoYGJ.js";import{t as l}from"./test-tube-CbcievIk.js";import{t as u}from"./DeleteOption-dxKSbv6N.js";import{f as d,i as f,t as p,u as m}from"./index-DinSQfHc.js";import{a as h,b as g,d as _,f as v,i as y,m as b,o as x,r as S,t as C,y as w}from"./use-settings-form-submit-D87nmJRy.js";import{t as T}from"./FieldInfo-FLjtPgL4.js";import{t as E}from"./switch-D4S9As9u.js";var D=e(n(),1),O=t();function k({className:e,...t}){return(0,O.jsx)(`textarea`,{"data-slot":`textarea`,className:a(`placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,e),...t})}function A(e){return e.filter(e=>e.url!==``).map(e=>{if(!e.payload&&!e.headers)return e.url;let t={url:e.url};if(e.payload)try{t.payload=JSON.parse(e.payload)}catch{}if(e.headers)try{t.headers=JSON.parse(e.headers)}catch{}return t})}function j(){let{isFieldRequired:e}=_(b),t=r(),n=(0,D.useCallback)(e=>S(b,v(e.config),{includeUndefined:!0}),[]),{data:a}=d(t.settings.get.queryOptions(void 0,{select:n})),j=C(),M=(0,D.useCallback)(async({value:e})=>j({value:{...e,notificationWebhookUrls:A(e.notificationWebhookUrls)}}),[j]),N=h({defaultValues:a??x,onSubmit:M,validators:{onSubmit:b}}),{mutate:P,isPending:F}=m(t.settings.testNotification.mutationOptions({onSuccess:e=>{let t=e.results,n=t.filter(e=>!e.ok),r=t.length===1?``:`s`;if(n.length===0)p.success(`All ${t.length} webhook${r} sent successfully!`);else{let e=n.map(e=>`${e.url.replace(/:\/\/[^@/]*@/,`://***@`)} — ${e.error}`).join(`
2
- `);p.error(`${n.length} of ${t.length} webhook${r} failed:\n${e}`)}},onError:e=>{p.error(`Test failed: ${e.message}`)}})),[I,L]=(0,D.useState)(null);return(0,D.useEffect)(()=>{I&&(document.getElementById(I)?.focus(),L(null))},[I]),(0,O.jsx)(i,{children:(0,O.jsxs)(`div`,{className:`space-y-4`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Connected App Settings`}),(0,O.jsx)(`p`,{className:`text-muted-foreground`,children:`Manage apps connected to Cross-seed.`})]}),(0,O.jsx)(y,{isFieldRequired:e,children:(0,O.jsx)(`form`,{className:`form flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),e.stopPropagation(),N.handleSubmit()},noValidate:!0,children:(0,O.jsxs)(`div`,{className:`flex flex-wrap gap-6`,children:[(0,O.jsxs)(`fieldset`,{className:`form-fieldset w-full gap-6`,children:[(0,O.jsx)(`div`,{children:(0,O.jsx)(N.AppField,{name:`host`,validators:{},children:e=>(0,O.jsx)(e.TextField,{label:`Host`})})}),(0,O.jsx)(`div`,{className:``,children:(0,O.jsx)(N.AppField,{name:`port`,validators:{},children:e=>(0,O.jsx)(e.NumberField,{label:`port`})})}),(0,O.jsx)(`div`,{children:(0,O.jsx)(N.AppField,{name:`apiKey`,validators:{},children:e=>(0,O.jsx)(e.TextField,{label:`API Key`})})})]}),(0,O.jsxs)(`fieldset`,{className:`form-fieldset border-border w-full gap-6 rounded-md border`,children:[(0,O.jsx)(`legend`,{children:`Connect to Other Apps`}),(0,O.jsx)(`div`,{className:``,children:(0,O.jsx)(N.Field,{name:`sonarr`,mode:`array`,validators:{},children:t=>(0,O.jsxs)(`div`,{className:`space-y-3`,children:[(0,O.jsxs)(f,{htmlFor:t.name,className:`block w-full`,children:[`Sonarr URL(s)`,e(t.name)&&(0,O.jsx)(`span`,{className:`pl-1 text-red-500`,children:`*`})]}),t.state.value&&t.state.value.map((e,n)=>(0,O.jsxs)(`div`,{className:`gap-y- mb-3 flex flex-col`,children:[(0,O.jsx)(N.AppField,{name:`sonarr[${n}]`,validators:{onBlur:g().url().or(w(``))},children:e=>(0,O.jsx)(e.ArrayField,{showDelete:t.state.value&&t.state.value?.length>1,index:n,onDelete:()=>{t.removeValue(n)}})}),(0,O.jsx)(N.Subscribe,{selector:e=>e.fieldMeta[`${t.name}[${n}]`],children:e=>(0,O.jsx)(T,{fieldMeta:e})})]},n)),(0,O.jsx)(o,{variant:`secondary`,type:`button`,onClick:()=>{t.pushValue(``),L(`${t.name}-${t.state.value?.length?t.state.value.length-1:0}`)},title:`Add ${t.name}`,children:`Add`})]})})}),(0,O.jsx)(`div`,{children:(0,O.jsx)(N.Field,{name:`radarr`,mode:`array`,validators:{},children:t=>(0,O.jsxs)(`div`,{className:`space-y-3`,children:[(0,O.jsxs)(f,{htmlFor:t.name,className:`block w-full`,children:[`Radarr URL(s)`,e(t.name)&&(0,O.jsx)(`span`,{className:`pl-1 text-red-500`,children:`*`})]}),t.state.value&&t.state.value.map((e,n)=>(0,O.jsxs)(`div`,{className:`gap-y- mb-3 flex flex-col`,children:[(0,O.jsx)(N.AppField,{name:`radarr[${n}]`,validators:{onBlur:g().url().or(w(``))},children:e=>(0,O.jsx)(e.ArrayField,{showDelete:t.state.value&&t.state.value?.length>1,index:n,onDelete:()=>{t.removeValue(n)}})}),(0,O.jsx)(N.Subscribe,{selector:e=>e.fieldMeta[`${t.name}[${n}]`],children:e=>(0,O.jsx)(T,{fieldMeta:e})})]},n)),(0,O.jsx)(o,{variant:`secondary`,type:`button`,onClick:()=>{t.pushValue(``),L(`${t.name}-${t.state.value?.length?t.state.value.length-1:0}`)},title:`Add ${t.name}`,children:`Add`})]})})}),(0,O.jsx)(`div`,{children:(0,O.jsx)(N.Field,{name:`notificationWebhookUrls`,mode:`array`,validators:{},children:t=>(0,O.jsxs)(`div`,{className:`space-y-3`,children:[(0,O.jsxs)(f,{htmlFor:t.name,className:`block w-full`,children:[`Notification Webhook(s)`,e(t.name)&&(0,O.jsx)(`span`,{className:`pl-1 text-red-500`,children:`*`})]}),t.state.value?.map((e,n)=>(0,O.jsxs)(`fieldset`,{className:`border-border space-y-2 rounded-md border p-3`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(N.Field,{name:`notificationWebhookUrls[${n}].url`,validators:{onBlur:g().url().or(w(``))},children:e=>(0,O.jsx)(s,{id:`notificationWebhookUrls-${n}-url`,name:e.name,value:e.state.value,onChange:t=>e.handleChange(t.target.value),onBlur:e.handleBlur,placeholder:`https://example.com/webhook`,className:`flex-1`})}),(t.state.value?.length??0)>1&&(0,O.jsx)(u,{onClick:()=>t.removeValue(n)})]}),(0,O.jsx)(N.Subscribe,{selector:e=>e.fieldMeta[`notificationWebhookUrls[${n}].url`],children:e=>(0,O.jsx)(T,{fieldMeta:e})}),(0,O.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,O.jsx)(N.Field,{name:`notificationWebhookUrls[${n}].advancedOpen`,children:e=>(0,O.jsx)(E,{id:`notificationWebhookUrls-${n}-advanced`,checked:e.state.value,onCheckedChange:t=>e.handleChange(t)})}),(0,O.jsx)(f,{htmlFor:`notificationWebhookUrls-${n}-advanced`,className:`text-muted-foreground text-xs`,children:`Custom headers & payload`})]}),(0,O.jsx)(N.Subscribe,{selector:e=>e.values.notificationWebhookUrls?.[n]?.advancedOpen,children:e=>e?(0,O.jsxs)(`div`,{className:`mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,O.jsxs)(`div`,{children:[(0,O.jsx)(f,{className:`text-muted-foreground text-xs`,children:`Headers (JSON)`}),(0,O.jsx)(N.Field,{name:`notificationWebhookUrls[${n}].headers`,children:e=>(0,O.jsx)(k,{name:e.name,value:e.state.value,onChange:t=>e.handleChange(t.target.value),onBlur:e.handleBlur,placeholder:`{"Authorization": "Bearer token"}`,rows:2,className:`resize-y font-mono text-xs`})}),(0,O.jsx)(N.Subscribe,{selector:e=>e.fieldMeta[`notificationWebhookUrls[${n}].headers`],children:e=>(0,O.jsx)(T,{fieldMeta:e})})]}),(0,O.jsxs)(`div`,{children:[(0,O.jsx)(f,{className:`text-muted-foreground text-xs`,children:`Payload (JSON)`}),(0,O.jsx)(N.Field,{name:`notificationWebhookUrls[${n}].payload`,children:e=>(0,O.jsx)(k,{name:e.name,value:e.state.value,onChange:t=>e.handleChange(t.target.value),onBlur:e.handleBlur,placeholder:`{"topic": "cross-seed", "priority": 3, "tags": ["seedbox"]}`,rows:2,className:`resize-y font-mono text-xs`})}),(0,O.jsx)(N.Subscribe,{selector:e=>e.fieldMeta[`notificationWebhookUrls[${n}].payload`],children:e=>(0,O.jsx)(T,{fieldMeta:e})})]})]}):null})]},n)),(0,O.jsxs)(`div`,{className:`flex gap-2`,children:[(0,O.jsx)(o,{variant:`secondary`,type:`button`,onClick:()=>{t.pushValue({url:``,payload:``,headers:``,advancedOpen:!1}),L(`notificationWebhookUrls-${t.state.value?.length??0}-url`)},title:`Add webhook`,children:`Add`}),(0,O.jsx)(o,{variant:`secondary`,type:`button`,disabled:F||!t.state.value?.some(e=>e.url),onClick:()=>{let e=t.state.value??[];if(e.some(e=>[e.headers,e.payload].some(e=>{if(!e)return!1;try{return JSON.parse(e),!1}catch{return!0}}))){p.error(`Fix invalid headers/payload JSON before testing.`);return}let n=A(e);if(n.length===0){p.error(`No webhooks to test.`);return}P({webhooks:n})},title:`Test all configured webhooks`,children:F?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(c,{className:`h-4 w-4 animate-spin`}),`Testing…`]}):(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(l,{className:`h-4 w-4`}),`Test Webhooks`]})})]})]})})})]}),(0,O.jsx)(N.AppForm,{children:(0,O.jsx)(N.SubmitButton,{})})]})})})]})})}export{j as component};
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{a as r}from"./dist-DhH_lYkz.js";import{t as i}from"./input-CsfmMUT5.js";import{a,i as o,n as s,r as c,t as l}from"./select-CZn10WME.js";import{i as u}from"./index-DinSQfHc.js";import{r as d}from"./form-context-B-ekdUc0.js";import{n as f,t as p}from"./required-indicator-BXf2UzTH.js";import{t as m}from"./FieldInfo-FLjtPgL4.js";var h=e(n(),1),g=t(),_=[{label:`Millisecond`,labelPlural:`Milliseconds`,value:`milliseconds`,ms:1},{label:`Second`,labelPlural:`Seconds`,value:`seconds`,ms:1e3},{label:`Minute`,labelPlural:`Minutes`,value:`minutes`,ms:60*1e3},{label:`Hour`,labelPlural:`Hours`,value:`hours`,ms:3600*1e3},{label:`Day`,labelPlural:`Days`,value:`days`,ms:1440*60*1e3}];function v({id:e,className:t,value:n,onChange:u,onBlur:d,units:f=_,disabled:p=!1}){let m=(0,h.useMemo)(()=>f,[f]),v=(0,h.useMemo)(()=>C(n),[n]),[S,T]=(0,h.useState)(()=>v==null?m[2]?.value??m[0].value:y(v,m).value),[E,D]=(0,h.useState)(``),[O,k]=(0,h.useState)(!1),A=m.find(e=>e.value===S)??m[0],j=w(A,b(E));(0,h.useEffect)(()=>{if(!O&&v!=null){let e=y(v,m);e.value!==S&&T(e.value)}},[O,v,S,m]),(0,h.useEffect)(()=>{if(v==null){D(``);return}D(x(v,(m.find(e=>e.value===S)??m[0]).ms))},[v,S,m]);let M=e=>{k(!0),D(e);let t=b(e);if(t==null){u(null);return}u(t*A.ms)};return(0,g.jsxs)(`div`,{className:r(`flex items-center gap-3`,t),children:[(0,g.jsx)(i,{id:e,name:e,type:`number`,min:0,step:`any`,className:`flex-1 shadow-none`,value:E,onBlur:d,inputMode:`decimal`,disabled:p,onChange:e=>M(e.target.value)}),(0,g.jsxs)(l,{value:A.value,onValueChange:e=>{k(!0),T(e)},disabled:p,children:[(0,g.jsx)(o,{className:`w-32 shadow-none`,children:(0,g.jsx)(a,{"aria-label":j,children:j})}),(0,g.jsx)(s,{children:m.map(e=>(0,g.jsx)(c,{value:e.value,children:e.labelPlural??`${e.label}s`},e.value))})]})]})}function y(e,t){if(!Number.isFinite(e)||e<=0)return t[0];for(let n=t.length-1;n>=0;--n){let r=t[n];if(e>=r.ms)return r}return t[0]}function b(e){if(!e||e.trim()===``)return null;let t=Number(e);return!Number.isFinite(t)||t<0?null:t}function x(e,t){if(t===0)return``;let n=e/t;return Number.isInteger(n)?n.toString():S(n.toFixed(6))}function S(e){return e.includes(`.`)?e.replace(/\.?0+$/,``):e}function C(e){if(e==null)return null;if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=Number(e);return Number.isFinite(t)?t:null}function w(e,t){return t==null||t!==1?e.labelPlural??`${e.label}s`:e.label}var T=({label:e,className:t,hideLabel:n=!1})=>{let i=d(),{isFieldRequired:a}=f();return(0,g.jsxs)(`div`,{className:r(`space-y-3`,t),children:[!n&&(0,g.jsxs)(u,{htmlFor:i.name,className:`block w-full`,children:[e,a(i.name)&&(0,g.jsx)(p,{})]}),(0,g.jsx)(v,{id:i.name,value:i.state.value??null,onBlur:i.handleBlur,onChange:e=>i.handleChange(e)}),(0,g.jsx)(m,{fieldMeta:i.state.meta})]})};export{T as default};
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n,t as r}from"./useStore-CusP06SD.js";import{c as i,l as a}from"./index-DinSQfHc.js";var o=class{constructor(e,t){this.fn=e,this.options=t,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...e)=>{let t=Date.now()-this.lastExecutionTime;if(this.options.leading&&t>=this.options.wait)this.execute(...e);else if(this.lastArgs=e,!this.timeoutId&&this.options.trailing){let e=this.options.wait-t;this.isPending=!0,this.timeoutId=setTimeout(()=>{this.lastArgs!==void 0&&this.execute(...this.lastArgs)},e)}},this.execute=(...e)=>{this.fn(...e),this.options.onExecute?.(e,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{this.isPending&&this.lastArgs&&this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{this.timeoutId&&=(clearTimeout(this.timeoutId),void 0)},this.options.leading===void 0&&this.options.trailing===void 0&&(this.options.leading=!0,this.options.trailing=!0)}};function s(e,t){return new o(e,t).maybeExecute}var c=class{#e=!0;#t;#n;#r;#i;#a;#o;#s;#c=0;#l=5;#u=!1;#d=!1;#f=null;#p=()=>{this.debugLog(`Connected to event bus`),this.#a=!0,this.#u=!1,this.debugLog(`Emitting queued events`,this.#i),this.#i.forEach(e=>this.emitEventToBus(e)),this.#i=[],this.stopConnectLoop(),this.#n().removeEventListener(`tanstack-connect-success`,this.#p)};#m=()=>{if(this.#c<this.#l){this.#c++,this.dispatchCustomEvent(`tanstack-connect`,{});return}this.#n().removeEventListener(`tanstack-connect`,this.#m),this.#d=!0,this.debugLog(`Max retries reached, giving up on connection`),this.stopConnectLoop()};#h=()=>{this.#u||(this.#u=!0,this.#n().addEventListener(`tanstack-connect-success`,this.#p),this.#m())};constructor({pluginId:e,debug:t=!1,enabled:n=!0,reconnectEveryMs:r=300}){this.#t=e,this.#e=n,this.#n=this.getGlobalTarget,this.#r=t,this.debugLog(` Initializing event subscription for plugin`,this.#t),this.#i=[],this.#a=!1,this.#d=!1,this.#o=null,this.#s=r}startConnectLoop(){this.#o!==null||this.#a||(this.debugLog(`Starting connect loop (every ${this.#s}ms)`),this.#o=setInterval(this.#m,this.#s))}stopConnectLoop(){this.#u=!1,this.#o!==null&&(clearInterval(this.#o),this.#o=null,this.#i=[],this.debugLog(`Stopped connect loop`))}debugLog(...e){this.#r&&console.log(`🌴 [tanstack-devtools:${this.#t}-plugin]`,...e)}getGlobalTarget(){if(typeof globalThis<`u`&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog(`Using global event target`),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<`u`&&window.addEventListener!==void 0)return this.debugLog(`Using window as event target`),window;let e=typeof EventTarget<`u`?new EventTarget:void 0;return e===void 0||e.addEventListener===void 0?(this.debugLog(`No event mechanism available, running in non-web environment`),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1}):(this.debugLog(`Using new EventTarget as fallback`),e)}getPluginId(){return this.#t}dispatchCustomEventShim(e,t){try{let n=new Event(e,{detail:t});this.#n().dispatchEvent(n)}catch{this.debugLog(`Failed to dispatch shim event`)}}dispatchCustomEvent(e,t){try{this.#n().dispatchEvent(new CustomEvent(e,{detail:t}))}catch{this.dispatchCustomEventShim(e,t)}}emitEventToBus(e){this.debugLog(`Emitting event to client bus`,e),this.dispatchCustomEvent(`tanstack-dispatch-event`,e)}createEventPayload(e,t){return{type:`${this.#t}:${e}`,payload:t,pluginId:this.#t}}emit(e,t){if(!this.#e){this.debugLog(`Event bus client is disabled, not emitting event`,e,t);return}if(this.#f&&(this.debugLog(`Emitting event to internal event target`,e,t),this.#f.dispatchEvent(new CustomEvent(`${this.#t}:${e}`,{detail:this.createEventPayload(e,t)}))),this.#d){this.debugLog(`Previously failed to connect, not emitting to bus`);return}if(!this.#a){this.debugLog(`Bus not available, will be pushed as soon as connected`),this.#i.push(this.createEventPayload(e,t)),typeof CustomEvent<`u`&&!this.#u&&(this.#h(),this.startConnectLoop());return}return this.emitEventToBus(this.createEventPayload(e,t))}on(e,t,n){let r=n?.withEventTarget??!1,i=`${this.#t}:${e}`;if(r&&(this.#f||=new EventTarget,this.#f.addEventListener(i,e=>{t(e.detail)})),!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`,i),()=>{};let a=e=>{this.debugLog(`Received event from bus`,e.detail),t(e.detail)};return this.#n().addEventListener(i,a),this.debugLog(`Registered event to bus`,i),()=>{r&&this.#f?.removeEventListener(i,a),this.#n().removeEventListener(i,a)}}onAll(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}onAllPluginEvents(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;this.#t&&n.pluginId!==this.#t||e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}},l=new class extends c{constructor(){super({pluginId:`form-devtools`,reconnectEveryMs:1e3})}};function u(e,t){return typeof e==`function`?e(t):e}function d(e,t){return x(t).reduce((e,t)=>{if(e===null)return null;if(e!==void 0)return e[t]},e)}function f(e,t,n){let r=x(t);function i(e){if(!r.length)return u(n,e);let t=r.shift();if(typeof t==`string`||typeof t==`number`&&!Array.isArray(e))return typeof e==`object`?(e===null&&(e={}),{...e,[t]:i(e[t])}):{[t]:i()};if(Array.isArray(e)&&typeof t==`number`){let n=e.slice(0,t);return[...n.length?n:Array(t),i(e[t]),...e.slice(t+1)]}return[...Array(t),i()]}return i(e)}function p(e,t){let n=x(t);function r(e){if(!e)return;if(n.length===1){let t=n[0];if(Array.isArray(e)&&typeof t==`number`)return e.filter((e,n)=>n!==t);let{[t]:r,...i}=e;return i}let t=n.shift();if((typeof t==`string`||typeof t==`number`&&!Array.isArray(e))&&typeof e==`object`)return{...e,[t]:r(e[t])};if(typeof t==`number`&&Array.isArray(e)){if(t>=e.length)return e;let n=e.slice(0,t);return[...n.length?n:Array(t),r(e[t]),...e.slice(t+1)]}throw Error(`It seems we have created an infinite loop in deleteBy. `)}return r(e)}var m=/^(\d+)$/gm,h=/\.(\d+)(?=\.)/gm,g=/^(\d+)\./gm,_=/\.(\d+$)/gm,v=/\.{2,}/gm,y=`__int__`,b=`${y}$1`;function x(e){if(Array.isArray(e))return[...e];if(typeof e!=`string`)throw Error(`Path must be a string.`);return e.replace(/(^\[)|]/gm,``).replace(/\[/g,`.`).replace(m,b).replace(h,`.${b}.`).replace(g,`${b}.`).replace(_,`.${b}`).replace(v,`.`).split(`.`).map(e=>{if(e.startsWith(y)){let t=e.substring(7),n=parseInt(t,10);return String(n)===t?n:t}return e})}function S(e,t){return e.length===0?t:t.length===0?e:t.startsWith(`[`)||t.startsWith(`.`)?e+t:`${e}.${t}`}function ee(e){return!(Array.isArray(e)&&e.length===0)}function C(e,t){return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,async:!1},runValidation:e=>e.validators.filter(Boolean).map(e=>({cause:e.cause,validate:e.fn}))})}function w(e,t){let{asyncDebounceMs:n}=t,{onBlurAsyncDebounceMs:r,onChangeAsyncDebounceMs:i,onDynamicAsyncDebounceMs:a}=t.validators||{},o=n??0;return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,async:!0},runValidation:t=>t.validators.filter(Boolean).map(t=>{let n=t?.cause||e,s=o;switch(n){case`change`:s=i??o;break;case`blur`:s=r??o;break;case`dynamic`:s=a??o;break;case`submit`:s=0;break}return e===`submit`&&(s=0),{cause:n,validate:t.fn,debounceMs:s}})})}var T=e=>!!e&&typeof e==`object`&&`fields`in e;function E(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n)if(!r.includes(i)||!E(e[i],t[i]))return!1;return!0}var D=({newFormValidatorError:e,isPreviousErrorFromFormValidator:t,previousErrorValue:n})=>e?{newErrorValue:e,newSource:`form`}:t?{newErrorValue:void 0,newSource:void 0}:n?{newErrorValue:n,newSource:`field`}:{newErrorValue:void 0,newSource:void 0},O=({formLevelError:e,fieldLevelError:t})=>t?{newErrorValue:t,newSource:`field`}:e?{newErrorValue:e,newSource:`form`}:{newErrorValue:void 0,newSource:void 0};function k(e,t){return e==null?t:{...e,...t}}for(var A=256,j=[],M;A--;)j[A]=(A+256).toString(16).substring(1);function N(){let e=0,t,n=``;if(!M||A+16>256){for(M=Array(256),e=256;e--;)M[e]=256*Math.random()|0;e=0,A=0}for(;e<16;e++)t=M[A+e],e===6?n+=j[t&15|64]:e===8?n+=j[t&63|128]:n+=j[t],e&1&&e>1&&e<11&&(n+=`-`);return A++,n}var te=s(e=>l.emit(`form-state`,{id:e.formId,state:e.store.state}),{wait:300});function P(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++)t[n]=P(e[n]);return t}if(e instanceof Map){let t=new Map;return e.forEach((e,n)=>{t.set(n,P(e))}),t}if(e instanceof Set){let t=new Set;return e.forEach(e=>{t.add(P(e))}),t}let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=P(e[n]));return t}var F=e=>{if(!e.validators)return e.runValidation({validators:[],form:e.form});let t=e.event.async,n=t?void 0:{fn:e.validators.onMount,cause:`mount`},r={fn:t?e.validators.onChangeAsync:e.validators.onChange,cause:`change`},i={fn:t?e.validators.onBlurAsync:e.validators.onBlur,cause:`blur`},a={fn:t?e.validators.onSubmitAsync:e.validators.onSubmit,cause:`submit`},o=t?void 0:{fn:()=>void 0,cause:`server`};switch(e.event.type){case`mount`:return e.runValidation({validators:[n],form:e.form});case`submit`:return e.runValidation({validators:[r,i,a,o],form:e.form});case`server`:return e.runValidation({validators:[],form:e.form});case`blur`:return e.runValidation({validators:[i,o],form:e.form});case`change`:return e.runValidation({validators:[r,o],form:e.form});default:throw Error(`Unknown validation event type: ${e.event.type}`)}};function ne(e,t){let n=new Map;for(let r of e){let e=r.path??[],i=t,a=``;for(let t=0;t<e.length;t++){let n=e[t];if(n===void 0)continue;let r=typeof n==`object`?n.key:n,o=Number(r);Array.isArray(i)&&!Number.isNaN(o)?a+=`[${o}]`:a+=(t>0?`.`:``)+String(r),i=typeof i==`object`&&i?i[r]:void 0}n.set(a,(n.get(a)??[]).concat(r))}return Object.fromEntries(n)}var I=(e,t)=>{let n=ne(e,t);return{form:n,fields:n}},L={validate({value:e,validationSource:t},n){let r=n[`~standard`].validate(e);if(r instanceof Promise)throw Error(`async function passed to sync validator`);if(r.issues)return t===`field`?r.issues:I(r.issues,e)},async validateAsync({value:e,validationSource:t},n){let r=await n[`~standard`].validate(e);if(r.issues)return t===`field`?r.issues:I(r.issues,e)}},re=e=>!!e&&`~standard`in e,R={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{}};function z(e){function t(t,n,r){let i=o(t,n,`move`,r),s=Math.min(n,r),l=Math.max(n,r);for(let e=s;e<=l;e++)i.push(a(t,e));let u=Object.keys(e.fieldInfo).reduce((r,i)=>(i.startsWith(a(t,n))&&r.set(i,e.getFieldMeta(i)),r),new Map);c(i,n<r?`up`:`down`),Object.keys(e.fieldInfo).filter(e=>e.startsWith(a(t,r))).forEach(i=>{let o=i.replace(a(t,r),a(t,n)),s=u.get(o);s&&e.setFieldMeta(i,s)})}function n(e,t){c(o(e,t,`remove`),`up`)}function r(t,n,r){o(t,n,`swap`,r).forEach(i=>{if(!i.toString().startsWith(a(t,n)))return;let o=i.toString().replace(a(t,n),a(t,r)),[s,c]=[e.getFieldMeta(i),e.getFieldMeta(o)];s&&e.setFieldMeta(o,s),c&&e.setFieldMeta(i,c)})}function i(t,n){let r=o(t,n,`insert`);c(r,`down`),r.forEach(r=>{r.toString().startsWith(a(t,n))&&e.setFieldMeta(r,l())})}function a(e,t){return`${e}[${t}]`}function o(t,n,r,i){let o=[a(t,n)];switch(r){case`swap`:o.push(a(t,i));break;case`move`:{let[e,r]=[Math.min(n,i),Math.max(n,i)];for(let n=e;n<=r;n++)o.push(a(t,n));break}default:{let r=e.getFieldValue(t),i=Array.isArray(r)?r.length:0;for(let e=n+1;e<i;e++)o.push(a(t,e));break}}return Object.keys(e.fieldInfo).filter(e=>o.some(t=>e.startsWith(t)))}function s(e,t){return e.replace(/\[(\d+)\]/,(e,n)=>{let r=parseInt(n,10);return`[${t===`up`?r+1:Math.max(0,r-1)}]`})}function c(t,n){(n===`up`?t:[...t].reverse()).forEach(t=>{let r=s(t.toString(),n),i=e.getFieldMeta(r);i?e.setFieldMeta(t,i):e.setFieldMeta(t,l())})}let l=()=>R;return{handleArrayMove:t,handleArrayRemove:n,handleArraySwap:r,handleArrayInsert:i}}function B(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}var V=class{constructor(e){this.options={},this.fieldInfo={},this.mount=()=>{let e=this.store.subscribe(()=>{te(this)}),t=l.on(`request-form-state`,e=>{e.payload.id===this._formId&&l.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options})}),n=l.on(`request-form-reset`,e=>{e.payload.id===this._formId&&this.reset()}),r=l.on(`request-form-force-submit`,e=>{e.payload.id===this._formId&&(this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1)}),i=()=>{r(),n(),t(),e.unsubscribe(),l.emit(`form-unmounted`,{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:a}=this.options.validators||{};return l.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options}),a&&this.validateSync(`mount`),i},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let n=e.defaultValues&&!E(e.defaultValues,t.defaultValues)&&!this.state.isTouched,r=!E(e.defaultState,t.defaultState)&&!this.state.isTouched;!n&&!r||(i(()=>{this.baseStore.setState(()=>B(Object.assign({},this.state,r?e.defaultState:{},n?{values:e.defaultValues}:{})))}),l.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options}))},this.reset=(e,t)=>{let{fieldMeta:n}=this.state,r=this.resetFieldMeta(n);e&&!t?.keepDefaultValues&&(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>B({...this.options.defaultState,values:e??this.options.defaultValues??this.options.defaultState?.values,fieldMetaBase:r}))},this.validateAllFields=async e=>{let t=[];return i(()=>{Object.values(this.fieldInfo).forEach(n=>{if(!n.instance)return;let r=n.instance;t.push(Promise.resolve().then(()=>r.validate(e,{skipFormValidation:!0}))),n.instance.state.meta.isTouched||n.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,n)=>{let r=this.getFieldValue(e),a=Array.isArray(r)?Math.max(r.length-1,0):null,o=[`${e}[${t}]`];for(let n=t+1;n<=(a??0);n++)o.push(`${e}[${n}]`);let s=Object.keys(this.fieldInfo).filter(e=>o.some(t=>e.startsWith(t))),c=[];return i(()=>{s.forEach(e=>{c.push(Promise.resolve().then(()=>this.validateField(e,n)))})}),(await Promise.all(c)).flat()},this.validateField=(e,t)=>{let n=this.fieldInfo[e]?.instance;if(!n){let{hasErrored:n}=this.validateSync(t);return n&&!this.options.asyncAlways?this.getFieldMeta(e)?.errors??[]:this.validateAsync(t).then(()=>this.getFieldMeta(e)?.errors??[])}return n.state.meta.isTouched||n.setMeta(e=>({...e,isTouched:!0})),n.validate(t)},this.validateSync=e=>{let t=C(e,{...this.options,form:this,validationLogic:this.options.validationLogic||F}),n=!1,r={};return i(()=>{for(let e of t){if(!e.validate)continue;let{formError:t,fieldErrors:i}=H(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`},type:`validate`})),a=U(e.cause),o=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(i||{})]);for(let e of o){if(this.baseStore.state.fieldMetaBase[e]===void 0&&!i?.[e])continue;let{errorMap:t,errorSourceMap:n}=this.getFieldMeta(e)??R,o=i?.[e],{newErrorValue:s,newSource:c}=D({newFormValidatorError:o,isPreviousErrorFromFormValidator:n?.[a]===`form`,previousErrorValue:t?.[a]});c===`form`&&(r[e]={...r[e],[a]:o}),t?.[a]!==s&&this.setFieldMeta(e,(e=R)=>({...e,errorMap:{...e.errorMap,[a]:s},errorSourceMap:{...e.errorSourceMap,[a]:c}}))}this.state.errorMap?.[a]!==t&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:t}})),(t||i)&&(n=!0)}let i=U(`submit`);this.state.errorMap?.[i]&&e!==`submit`&&!n&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[i]:void 0}}));let a=U(`server`);this.state.errorMap?.[a]&&e!==`server`&&!n&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:void 0}}))}),{hasErrored:n,fieldsErrorMap:r}},this.validateAsync=async e=>{let t=w(e,{...this.options,form:this,validationLogic:this.options.validationLogic||F});this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let n=[],r;for(let e of t){if(!e.validate)continue;let t=U(e.cause);this.state.validationMetaMap[t]?.lastAbortController.abort();let i=new AbortController;this.state.validationMetaMap[t]={lastAbortController:i},n.push(new Promise(async t=>{let n;try{n=await new Promise((t,n)=>{setTimeout(async()=>{if(i.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`,signal:i.signal},type:`validateAsync`}))}catch(e){n(e)}},e.debounceMs)})}catch(e){n=e}let{formError:a,fieldErrors:o}=H(n);o&&(r=r?{...r,...o}:o);let s=U(e.cause);for(let e of Object.keys(this.state.fieldMeta)){if(this.baseStore.state.fieldMetaBase[e]===void 0)continue;let t=this.getFieldMeta(e);if(!t)continue;let{errorMap:n,errorSourceMap:i}=t,a=r?.[e],{newErrorValue:o,newSource:c}=D({newFormValidatorError:a,isPreviousErrorFromFormValidator:i?.[s]===`form`,previousErrorValue:n?.[s]});n?.[s]!==o&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[s]:o},errorSourceMap:{...e.errorSourceMap,[s]:c}}))}this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[s]:a}})),t(r?{fieldErrors:r,errorMapKey:s}:void 0)}))}let i=[],a={};if(n.length){i=await Promise.all(n);for(let e of i)if(e?.fieldErrors){let{errorMapKey:t}=e;for(let[n,r]of Object.entries(e.fieldErrors))a[n]={...a[n]||{},[t]:r}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),a},this.validate=e=>{let{hasErrored:t,fieldsErrorMap:n}=this.validateSync(e);return t&&!this.options.asyncAlways?n:this.validateAsync(e)},this._handleSubmit=async e=>{this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1,isSubmitSuccessful:!1})),i(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance&&(e.instance.state.meta.isTouched||e.instance.setMeta(e=>({...e,isTouched:!0})))})});let t=e??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t});return}this.baseStore.setState(e=>({...e,isSubmitting:!0}));let n=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields(`submit`),!this.state.isFieldsValid){n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),l.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validateAllFields`,errors:Object.values(this.state.fieldMeta).map(e=>e.errors).flat()});return}if(await this.validate(`submit`),!this.state.isValid){n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),l.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validate`,errors:this.state.errors});return}i(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance?.options.listeners?.onSubmit?.({value:e.instance.state.value,fieldApi:e.instance})})}),this.options.listeners?.onSubmit?.({formApi:this,meta:t});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:t}),i(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0,isSubmitSuccessful:!0})),l.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),n()})}catch(e){throw this.baseStore.setState(e=>({...e,isSubmitSuccessful:!1})),l.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`inflight`,onError:e}),n(),e}},this.getFieldValue=e=>d(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFieldInfo=e=>this.fieldInfo[e]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.setFieldMeta=(e,t)=>{this.baseStore.setState(n=>({...n,fieldMetaBase:{...n.fieldMetaBase,[e]:u(t,n.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>{let n=t;return e[n]=R,e},{}),this.setFieldValue=(e,t,n)=>{let r=n?.dontUpdateMeta??!1,a=n?.dontRunListeners??!1,o=n?.dontValidate??!1;i(()=>{r||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...e?.errorMap,onMount:void 0}})),this.baseStore.setState(n=>({...n,values:f(n.values,e,t)}))}),a||this.getFieldInfo(e).instance?.triggerOnChangeListener(),o||this.validateField(e,`change`)},this.deleteField=e=>{let t=[...Object.keys(this.fieldInfo).filter(t=>{let n=e.toString();return t!==n&&t.startsWith(n)}),e];this.baseStore.setState(e=>{let n={...e};return t.forEach(e=>{n.values=p(n.values,e),delete this.fieldInfo[e],delete n.fieldMetaBase[e]}),n})},this.pushFieldValue=(e,t,n)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],n)},this.insertFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>[...e.slice(0,t),n,...e.slice(t)],k(r,{dontValidate:!0}));let i=r?.dontValidate??!1;i||await this.validateField(e,`change`),z(this).handleArrayInsert(e,t),i||await this.validateArrayFieldsStartingFrom(e,t,`change`)},this.replaceFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>e.map((e,r)=>r===t?n:e),k(r,{dontValidate:!0})),(r?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.removeFieldValue=async(e,t,n)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,n)=>n!==t),k(n,{dontValidate:!0})),z(this).handleArrayRemove(e,t),i!==null){let t=`${e}[${i}]`;this.deleteField(t)}(n?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.swapFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=e[t],i=e[n];return f(f(e,`${t}`,i),`${n}`,r)},k(r,{dontValidate:!0})),z(this).handleArraySwap(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.moveFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=[...e];return r.splice(n,0,r.splice(t,1)[0]),r},k(r,{dontValidate:!0})),z(this).handleArrayMove(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.clearFieldValues=(e,t)=>{let n=this.getFieldValue(e),r=Array.isArray(n)?Math.max(n.length-1,0):null;if(this.setFieldValue(e,[],k(t,{dontValidate:!0})),r!==null)for(let t=0;t<=r;t++){let n=`${e}[${t}]`;this.deleteField(n)}(t?.dontValidate??!1)||this.validateField(e,`change`)},this.resetField=e=>{this.baseStore.setState(t=>({...t,fieldMetaBase:{...t.fieldMetaBase,[e]:R},values:this.options.defaultValues?f(t.values,e,d(this.options.defaultValues,e)):t.values}))},this.setErrorMap=e=>{i(()=>{Object.entries(e).forEach(([e,t])=>{let n=e;if(T(t)){let{formError:e,fieldErrors:r}=H(t);for(let e of Object.keys(this.fieldInfo))this.getFieldMeta(e)&&this.setFieldMeta(e,t=>({...t,errorMap:{...t.errorMap,[n]:r?.[e]},errorSourceMap:{...t.errorSourceMap,[n]:`form`}}));this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,[n]:e}}))}else this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[n]:t}}))})})},this.getAllErrors=()=>({form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((e,[t,n])=>(Object.keys(n).length&&n.errors.length&&(e[t]={errors:n.errors,errorMap:n.errorMap}),e),{})}),this.parseValuesWithSchema=e=>L.validate({value:this.state.values,validationSource:`form`},e),this.parseValuesWithSchemaAsync=e=>L.validateAsync({value:this.state.values,validationSource:`form`},e),this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=e?.formId??N(),this._devtoolsSubmissionOverride=!1;let t=B({...e?.defaultState,values:e?.defaultValues??e?.defaultState?.values});if(e?.transform){t=e.transform({state:t}).state;for(let e of Object.keys(t.errorMap)){let n=t.errorMap[e];if(!(n===void 0||!T(n)))for(let r of Object.keys(n.fields)){let i=n.fields[r];if(i===void 0)continue;let a=t.fieldMetaBase[r];t.fieldMetaBase[r]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,...a??{},errorSourceMap:{...a?.errorSourceMap??{},onChange:`form`},errorMap:{...a?.errorMap??{},[e]:i}}}}}this.baseStore=a(t);let n;this.fieldMetaDerived=a(e=>{let t=this.baseStore.get(),r=0,i={};for(let a of Object.keys(t.fieldMetaBase)){let o=t.fieldMetaBase[a],s=n?.fieldMetaBase[a],c=e?.[a],l=d(t.values,a),u=c?.errors;if(!s||o.errorMap!==s.errorMap){u=Object.values(o.errorMap??{}).filter(e=>e!==void 0);let e=this.getFieldInfo(a)?.instance;(!e||!e.options.disableErrorFlat)&&(u=u.flat(1))}let f=!ee(u),p=!o.isDirty,m=E(l,d(this.options.defaultValues,a))||E(l,this.getFieldInfo(a)?.instance?.options.defaultValue);if(c&&c.isPristine===p&&c.isValid===f&&c.isDefaultValue===m&&c.errors===u&&o===s){i[a]=c,r++;continue}i[a]={...o,errors:u??[],isPristine:p,isValid:f,isDefaultValue:m}}return Object.keys(t.fieldMetaBase).length?e&&r===Object.keys(t.fieldMetaBase).length?e:(n=this.baseStore.get(),i):i});let r;this.store=a(e=>{let t=this.baseStore.get(),n=this.fieldMetaDerived.get(),i=Object.values(n).filter(Boolean),a=i.some(e=>e.isValidating),o=i.every(e=>e.isValid),s=i.some(e=>e.isTouched),c=i.some(e=>e.isBlurred),l=i.every(e=>e.isDefaultValue),u=s&&t.errorMap?.onMount,d=i.some(e=>e.isDirty),f=!d,p=!!(t.errorMap?.onMount||i.some(e=>e?.errorMap?.onMount)),m=!!a,h=e?.errors??[];(!r||t.errorMap!==r.errorMap)&&(h=Object.values(t.errorMap).reduce((e,t)=>t===void 0?e:t&&T(t)?(e.push(t.form),e):(e.push(t),e),[]));let g=h.length===0,_=o&&g,v=this.options.canSubmitWhenInvalid??!1,y=t.submissionAttempts===0&&!s&&!p||!m&&!t.isSubmitting&&_||v,b=t.errorMap;if(u&&(h=h.filter(e=>e!==t.errorMap.onMount),b=Object.assign(b,{onMount:void 0})),e&&r&&e.errorMap===b&&e.fieldMeta===this.fieldMetaDerived.state&&e.errors===h&&e.isFieldsValidating===a&&e.isFieldsValid===o&&e.isFormValid===g&&e.isValid===_&&e.canSubmit===y&&e.isTouched===s&&e.isBlurred===c&&e.isPristine===f&&e.isDefaultValue===l&&e.isDirty===d&&E(r,t))return e;let x={...t,errorMap:b,fieldMeta:this.fieldMetaDerived.state,errors:h,isFieldsValidating:a,isFieldsValid:o,isFormValid:g,isValid:_,canSubmit:y,isTouched:s,isBlurred:c,isPristine:f,isDefaultValue:l,isDirty:d};return r=this.baseStore.get(),x}),this.handleSubmit=this.handleSubmit.bind(this),this.update(e||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(e){return re(e.validate)?L[e.type](e.value,e.validate):e.validate(e.value)}handleSubmit(e){return this._handleSubmit(e)}};function H(e){return e?T(e)?{formError:H(e.form).formError,fieldErrors:e.fields}:{formError:e}:{formError:void 0}}function U(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}var W=class{constructor(e){this.options={},this.mount=()=>{this.options.defaultValue!==void 0&&!this.getMeta().isTouched&&this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let e=this.getInfo();e.instance=this,this.update(this.options);let{onMount:t}=this.options.validators||{};if(t){let e=this.runValidator({validate:t,value:{value:this.state.value,fieldApi:this,validationSource:`field`},type:`validate`});e&&this.setMeta(t=>({...t,errorMap:{...t?.errorMap,onMount:e},errorSourceMap:{...t?.errorSourceMap,onMount:`field`}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{}},this.update=e=>{this.options=e,this.name=e.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0&&(E(this.form.getFieldValue(this.name),e.defaultValue)||this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})),this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{this.form.setFieldValue(this.name,e,k(t,{dontRunListeners:!0,dontValidate:!0})),t?.dontRunListeners||this.triggerOnChangeListener(),t?.dontValidate||this.validate(`change`)},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>{this.form.pushFieldValue(this.name,e,k(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.insertValue=(e,t,n)=>{this.form.insertFieldValue(this.name,e,t,k(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.replaceValue=(e,t,n)=>{this.form.replaceFieldValue(this.name,e,t,k(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.removeValue=(e,t)=>{this.form.removeFieldValue(this.name,e,k(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.swapValues=(e,t,n)=>{this.form.swapFieldValues(this.name,e,t,k(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.moveValue=(e,t,n)=>{this.form.moveFieldValues(this.name,e,t,k(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.clearValues=e=>{this.form.clearFieldValues(this.name,k(e,{dontRunListeners:!0})),e?.dontRunListeners||this.triggerOnChangeListener()},this.getLinkedFields=e=>{let t=Object.values(this.form.fieldInfo),n=[];for(let r of t){if(!r.instance)continue;let{onChangeListenTo:t,onBlurListenTo:i}=r.instance.options.validators||{};e===`change`&&t?.includes(this.name)&&n.push(r.instance),e===`blur`&&i?.includes(this.name)&&n.push(r.instance)}return n},this.validateSync=(e,t)=>{let n=C(e,{...this.options,form:this.form,validationLogic:this.form.options.validationLogic||F}),r=this.getLinkedFields(e).reduce((t,n)=>{let r=C(e,{...n.options,form:n.form,validationLogic:n.form.options.validationLogic||F});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),a=!1;i(()=>{let e=(e,n)=>{let r=K(n.cause),i=n.validate?G(e.runValidator({validate:n.validate,value:{value:e.store.state.value,validationSource:`field`,fieldApi:e},type:`validate`})):void 0,o=t[r],{newErrorValue:s,newSource:c}=O({formLevelError:o,fieldLevelError:i});e.state.meta.errorMap?.[r]!==s&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[r]:s},errorSourceMap:{...e.errorSourceMap,[r]:c}})),s&&(a=!0)};for(let t of n)e(this,t);for(let t of r)t.validate&&e(t.field,t)});let o=K(`submit`);return this.state.meta.errorMap?.[o]&&e!==`submit`&&!a&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[o]:void 0},errorSourceMap:{...e.errorSourceMap,[o]:void 0}})),{hasErrored:a}},this.validateAsync=async(e,t)=>{let n=w(e,{...this.options,form:this.form,validationLogic:this.form.options.validationLogic||F}),r=await t,i=this.getLinkedFields(e),a=i.reduce((t,n)=>{let r=w(e,{...n.options,form:n.form,validationLogic:n.form.options.validationLogic||F});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),o=[],s=[],c=n.some(e=>e.validate)||a.some(e=>e.validate);if(c){this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0}));for(let e of i)e.setMeta(e=>({...e,isValidating:!0}))}let l=(e,t,n)=>{let i=K(t.cause);e.getInfo().validationMetaMap[i]?.lastAbortController.abort();let a=new AbortController;this.getInfo().validationMetaMap[i]={lastAbortController:a},n.push(new Promise(async n=>{let o;try{o=await new Promise((n,r)=>{this.timeoutIds.validations[t.cause]&&clearTimeout(this.timeoutIds.validations[t.cause]),this.timeoutIds.validations[t.cause]=setTimeout(async()=>{if(a.signal.aborted)return n(void 0);try{n(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:a.signal,validationSource:`field`},type:`validateAsync`}))}catch(e){r(e)}},t.debounceMs)})}catch(e){o=e}if(a.signal.aborted)return n(void 0);let s=G(o),c=r[this.name]?.[i],{newErrorValue:l,newSource:u}=O({formLevelError:c,fieldLevelError:s});e.setMeta(e=>({...e,errorMap:{...e?.errorMap,[i]:l},errorSourceMap:{...e.errorSourceMap,[i]:u}})),n(l)}))};for(let e of n)e.validate&&l(this,e,o);for(let e of a)e.validate&&l(e.field,e,s);let u=[];if((o.length||s.length)&&(u=await Promise.all(o),await Promise.all(s)),c){this.setMeta(e=>({...e,isValidating:!1}));for(let e of i)e.setMeta(e=>({...e,isValidating:!1}))}return u.filter(Boolean)},this.validate=(e,t)=>{if(!this.state.meta.isTouched)return[];let{fieldsErrorMap:n}=t?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(e),{hasErrored:r}=this.validateSync(e,n[this.name]??{});if(r&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[K(e)]?.lastAbortController.abort(),this.state.meta.errors;let i=t?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(e);return this.validateAsync(e,i)},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{this.state.meta.isTouched||this.setMeta(e=>({...e,isTouched:!0})),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate(`blur`),this.triggerOnBlurListener()},this.setErrorMap=e=>{this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))},this.parseValueWithSchema=e=>L.validate({value:this.state.value,validationSource:`field`},e),this.parseValueWithSchemaAsync=e=>L.validateAsync({value:this.state.value,validationSource:`field`},e),this.triggerOnChangeListener=()=>{let e=this.form.options.listeners?.onChangeDebounceMs;e&&e>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},this.form=e.form,this.name=e.name,this.options=e,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=a(t=>{this.form.store.get();let n=this.form.getFieldMeta(this.name)??{...R,...e.defaultMeta},r=this.form.getFieldValue(this.name);return!n.isTouched&&r===void 0&&this.options.defaultValue!==void 0&&!E(r,this.options.defaultValue)&&(r=this.options.defaultValue),t&&t.value===r&&t.meta===n?t:{value:r,meta:n}})}get state(){return this.store.state}runValidator(e){return re(e.validate)?L[e.type](e.value,e.validate):e.validate(e.value)}triggerOnBlurListener(){let e=this.form.options.listeners?.onBlurDebounceMs;e&&e>0?(this.timeoutIds.formListeners.blur&&clearTimeout(this.timeoutIds.formListeners.blur),this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onBlurDebounceMs;t&&t>0?(this.timeoutIds.listeners.blur&&clearTimeout(this.timeoutIds.listeners.blur),this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})}};function G(e){if(e)return e}function K(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}var q=class e{constructor(t){if(this.getFormFieldName=e=>{if(typeof this.fieldsMap==`string`)return S(this.fieldsMap,e);let t=x(e)[0];if(typeof t!=`string`)return``;let n=e.slice(t.length),r=this.fieldsMap[t];return S(r,n)},this.getFormFieldOptions=e=>{let t={...e},n=t.validators;if(t.name=this.getFormFieldName(e.name),n&&(n.onChangeListenTo||n.onBlurListenTo)){let e={...n},r=e=>{if(e)return e.map(e=>this.getFormFieldName(e))};e.onChangeListenTo=r(n.onChangeListenTo),e.onBlurListenTo=r(n.onBlurListenTo),t.validators=e}return t},this.mount=()=>()=>{},this.validateArrayFieldsStartingFrom=async(e,t,n)=>this.form.validateArrayFieldsStartingFrom(this.getFormFieldName(e),t,n),this.validateField=(e,t)=>this.form.validateField(this.getFormFieldName(e),t),this.getFieldValue=e=>this.form.getFieldValue(this.getFormFieldName(e)),this.getFieldMeta=e=>this.form.getFieldMeta(this.getFormFieldName(e)),this.setFieldMeta=(e,t)=>this.form.setFieldMeta(this.getFormFieldName(e),t),this.setFieldValue=(e,t,n)=>this.form.setFieldValue(this.getFormFieldName(e),t,n),this.deleteField=e=>this.form.deleteField(this.getFormFieldName(e)),this.pushFieldValue=(e,t,n)=>this.form.pushFieldValue(this.getFormFieldName(e),t,n),this.insertFieldValue=async(e,t,n,r)=>this.form.insertFieldValue(this.getFormFieldName(e),t,n,r),this.replaceFieldValue=async(e,t,n,r)=>this.form.replaceFieldValue(this.getFormFieldName(e),t,n,r),this.removeFieldValue=async(e,t,n)=>this.form.removeFieldValue(this.getFormFieldName(e),t,n),this.swapFieldValues=(e,t,n,r)=>this.form.swapFieldValues(this.getFormFieldName(e),t,n,r),this.moveFieldValues=(e,t,n,r)=>this.form.moveFieldValues(this.getFormFieldName(e),t,n,r),this.clearFieldValues=(e,t)=>this.form.clearFieldValues(this.getFormFieldName(e),t),this.resetField=e=>this.form.resetField(this.getFormFieldName(e)),this.validateAllFields=e=>this.form.validateAllFields(e),t.form instanceof e){let e=t.form;if(this.form=e.form,typeof t.fields==`string`)this.fieldsMap=e.getFormFieldName(t.fields);else{let n={...t.fields};for(let t in n)n[t]=e.getFormFieldName(n[t]);this.fieldsMap=n}}else this.form=t.form,this.fieldsMap=t.fields;this.store=a(()=>{let e=this.form.store.get(),t;if(typeof this.fieldsMap==`string`)t=d(e.values,this.fieldsMap);else{t={};let n=this.fieldsMap;for(let r in n)t[r]=d(e.values,n[r])}return{values:t}})}get state(){return this.store.state}async handleSubmit(e){return this.form.handleSubmit(e)}};function ie(e,t){if(!t)return;let n=Object.assign({},e,{state:P(e.state)});t(n),n.fieldInfo!==e.fieldInfo&&(e.fieldInfo=n.fieldInfo),n.options!==e.options&&(e.options=n.options);let r=Object.keys({values:null,validationMetaMap:null,fieldMetaBase:null,isSubmitting:null,isSubmitted:null,isValidating:null,submissionAttempts:null,isSubmitSuccessful:null,_force_re_eval:null}).reduce((t,r)=>(e.state[r]!==n.state[r]&&(t[r]=n.state[r]),t),{});return i(()=>{Object.keys(r).length&&e.baseStore.setState(e=>({...e,...r})),n.state.errorMap!==e.state.errorMap&&e.setErrorMap(n.state.errorMap)}),n}var J=e(n(),1),Y=typeof window<`u`?J.useLayoutEffect:J.useEffect,X=t();function ae(e){let[t,n]=(0,J.useState)(()=>({form:e.form,name:e.name})),[i,a]=(0,J.useState)(()=>new W({...e}));(t.form!==e.form||t.name!==e.name)&&(a(new W({...e})),n({form:e.form,name:e.name}));let o=r(i.store,e.mode===`array`?e=>Object.keys(e.value??[]).length:e=>e.value),s=r(i.store,e=>e.meta.isTouched),c=r(i.store,e=>e.meta.isBlurred),l=r(i.store,e=>e.meta.isDirty),u=r(i.store,e=>e.meta.errorMap),d=r(i.store,e=>e.meta.errorSourceMap),f=r(i.store,e=>e.meta.isValidating),p=(0,J.useMemo)(()=>{let t={...i,get state(){return{value:e.mode===`array`?i.state.value:o,get meta(){return{...i.state.meta,isTouched:s,isBlurred:c,isDirty:l,errorMap:u,errorSourceMap:d,isValidating:f}}}}};return t.Field=Z,t},[i,e.mode,o,s,c,l,u,d,f]);return Y(i.mount,[i]),Y(()=>{i.update(e)}),p}var Z=(({children:e,...t})=>{let n=ae(t);return(0,X.jsx)(X.Fragment,{children:(0,J.useMemo)(()=>u(e,n),[e,n])})});function oe(){return(0,J.useState)(()=>N())[0]}var se=J,ce=`19.2.4`.split(`.`)[0]===`17`?oe:se.useId;function le({form:e,selector:t=e=>e,children:n}){return(0,X.jsx)(X.Fragment,{children:u(n,r(e.store,t))})}function ue(e){let t=ce(),[n,r]=(0,J.useState)(e?.formId),[i,a]=(0,J.useState)(()=>new V({...e,formId:e?.formId??t}));if(n!==e?.formId){let n=e?.formId??t;a(new V({...e,formId:n})),r(n)}let o=(0,J.useMemo)(()=>{let e={...i,handleSubmit:((...e)=>i._handleSubmit(...e)),get formId(){return i._formId},get state(){return i.store.state}};return e.Field=function(e){return(0,X.jsx)(Z,{...e,form:i})},e.Subscribe=function(e){return(0,X.jsx)(le,{form:i,selector:e.selector,children:e.children})},e},[i]);Y(i.mount,[]),Y(()=>{i.update(e)});let s=(0,J.useRef)(!1);return Y(()=>{s.current&&e?.transform&&ie(i,e.transform)},[i,e?.transform]),Y(()=>{s.current=!0}),o}function de({lens:e,selector:t=e=>e,children:n}){return(0,X.jsx)(X.Fragment,{children:u(n,r(e.store,t))})}function fe(e){let[t]=(0,J.useState)(()=>{let n=new q(e),r=e.form instanceof q?e.form.form:e.form,i=n;return i.AppForm=function(e){return(0,X.jsx)(r.AppForm,{...e})},i.AppField=function(e){return(0,X.jsx)(r.AppField,{...t.getFormFieldOptions(e)})},i.Field=function(e){return(0,X.jsx)(r.Field,{...t.getFormFieldOptions(e)})},i.Subscribe=function(e){return(0,X.jsx)(de,{lens:t,selector:e.selector,children:e.children})},Object.assign(i,{...e.formComponents})});return Y(t.mount,[t]),t}var Q=(0,J.createContext)(null),pe=(0,J.createContext)(null);function $(){let e=(0,J.useContext)(pe);if(!e)throw Error("`formContext` only works when within a `formComponent` passed to `createFormHook`");return e}function me(){function e(){let e=(0,J.useContext)(Q);if(!e)throw Error("`fieldContext` only works when within a `fieldComponent` passed to `createFormHook`");return e}return{fieldContext:Q,useFieldContext:e,useFormContext:$,formContext:pe}}function he({fieldComponents:e,fieldContext:t,formContext:n,formComponents:r}){function i(i){let a=ue(i),o=(0,J.useMemo)(()=>({children:e})=>(0,X.jsx)(n.Provider,{value:a,children:e}),[a]),s=(0,J.useMemo)(()=>(({children:n,...r})=>(0,X.jsx)(a.Field,{...r,children:r=>(0,X.jsx)(t.Provider,{value:r,children:n(Object.assign(r,e))})})),[a]);return(0,J.useMemo)(()=>Object.assign(a,{AppField:s,AppForm:o,...r}),[a,s,o])}function a({render:e,props:t}){return function(n){return e({...t,...n})}}function o({render:e,props:t,defaultValues:n}){return function(i){let a=fe((0,J.useMemo)(()=>({form:i.form,fields:i.fields,defaultValues:n,formComponents:r}),[i.form,i.fields]));return e({...t,...i,group:a})}}function s(e){return $()}return{useAppForm:i,withForm:a,withFieldGroup:o,useTypedAppFormContext:s}}var{fieldContext:ge,useFieldContext:_e,formContext:ve,useFormContext:ye}=me();export{he as a,ye as i,ve as n,_e as r,ge as t};
@@ -1 +0,0 @@
1
- import{a as e,n as t,r as n}from"./useStore-CusP06SD.js";import{L as r}from"./sidebar-y9WJu7Jw.js";import{i}from"./useBaseQuery-BvrWhgOK.js";import{t as a}from"./Page-C7KClZ28.js";import{t as o}from"./button-1cIaa9Lf.js";import{t as s}from"./input-CsfmMUT5.js";import{t as c}from"./createLucideIcon-zYRS_Hrv.js";import{t as l}from"./DeleteOption-dxKSbv6N.js";import{f as u,i as d,t as f,u as p}from"./index-DinSQfHc.js";import{_ as m,a as h,c as g,d as _,f as v,i as y,r as b,t as x}from"./use-settings-form-submit-D87nmJRy.js";import{t as S}from"./FieldInfo-FLjtPgL4.js";var C=c(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),w=c(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),T=e(n()),E=t();function D(){let{isFieldRequired:e}=_(m),t=r(),n=i(),{data:c}=u(t.settings.get.queryOptions(void 0)),D=c?.config?b(m,v(c.config),{includeUndefined:!0}):void 0,O=x(),k=h({defaultValues:D??g,onSubmit:O,validators:{onSubmit:m}}),[A,j]=(0,T.useState)(null),[M,N]=(0,T.useState)(``);(0,T.useEffect)(()=>{A&&(document.getElementById(A)?.focus(),j(null))},[A]),(0,T.useEffect)(()=>{c?.apiKey&&N(c.apiKey)},[c?.apiKey]);let P=p(t.settings.resetApiKey.mutationOptions({onSuccess:async({apiKey:e})=>{N(e),await n.invalidateQueries({queryKey:t.settings.get.queryKey(),exact:!1}),f.success(`API key regenerated and saved`)},onError:e=>{f.error(`Failed to regenerate API key`,{description:e.message||`An unknown error occurred`})}})),F=e=>{e.currentTarget.select()};return(0,E.jsx)(a,{children:(0,E.jsxs)(`div`,{className:`space-y-4`,children:[(0,E.jsx)(`div`,{children:(0,E.jsx)(`h1`,{className:`text-2xl font-bold`,children:`General Settings`})}),(0,E.jsx)(y,{isFieldRequired:e,children:(0,E.jsx)(`form`,{className:`form flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),e.stopPropagation(),k.handleSubmit()},noValidate:!0,children:(0,E.jsxs)(`div`,{className:`flex flex-wrap gap-6`,children:[(0,E.jsxs)(`fieldset`,{className:`form-fieldset w-full gap-6`,children:[(0,E.jsx)(k.AppField,{name:`includeNonVideos`,children:e=>(0,E.jsx)(e.SwitchField,{label:`Include Non-Videos`})}),(0,E.jsx)(k.AppField,{name:`includeSingleEpisodes`,children:e=>(0,E.jsx)(e.SwitchField,{label:`Include Single Episodes`})}),(0,E.jsx)(`div`,{className:``,children:(0,E.jsx)(k.AppField,{name:`snatchTimeout`,validators:{},children:e=>(0,E.jsx)(e.DurationField,{label:`Snatch Timeout`})})}),(0,E.jsx)(`div`,{className:``,children:(0,E.jsx)(k.AppField,{name:`fuzzySizeThreshold`,validators:{},children:e=>(0,E.jsx)(e.NumberField,{label:`Fuzzy Size Threshold`,step:`0.01`})})}),(0,E.jsx)(`div`,{className:``,children:(0,E.jsx)(k.AppField,{name:`seasonFromEpisodes`,validators:{},children:e=>(0,E.jsx)(e.NumberField,{label:`Season from Episodes`,min:`0`})})}),(0,E.jsx)(`div`,{className:``,children:(0,E.jsx)(k.AppField,{name:`autoResumeMaxDownload`,children:e=>(0,E.jsx)(e.NumberField,{label:`Auto-resume Max Download`})})}),(0,E.jsx)(`div`,{className:``,children:(0,E.jsx)(k.Field,{name:`blockList`,mode:`array`,children:t=>(0,E.jsxs)(`div`,{className:`space-y-3`,children:[(0,E.jsxs)(d,{htmlFor:t.name,className:`block w-full`,children:[`Block List`,e(t.name)&&(0,E.jsx)(`span`,{className:`pl-1 text-red-500`,children:`*`})]}),t.state.value.map((e,n)=>(0,E.jsx)(k.Field,{name:`blockList[${n}]`,children:e=>(0,E.jsxs)(`div`,{className:`gap-y- mb-3 flex flex-col`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(s,{type:`text`,className:`form-input`,value:e.state.value,"aria-invalid":!!(e.state.meta.isTouched&&e.state.meta.errorMap.onBlur),onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value)}),t.state.value.length>1&&(0,E.jsx)(l,{onClick:()=>{t.removeValue(n)}})]}),e.state.meta.isTouched&&e.state.meta.errors&&(0,E.jsx)(S,{fieldMeta:e.state.meta})]})},`${t.name}-${n}`)),(0,E.jsx)(o,{variant:`secondary`,type:`button`,onClick:()=>{t.pushValue(``),j(`${t.name}-${t.state.value.length}`)},title:`Add ${t.name}`,children:`Add`})]})})}),(0,E.jsxs)(`div`,{className:`space-y-3`,children:[(0,E.jsx)(d,{htmlFor:`apiKey`,children:`API Key`}),(0,E.jsxs)(`div`,{className:`flex max-w-3xl flex-col gap-2 lg:flex-row`,children:[(0,E.jsx)(s,{id:`apiKey`,type:`text`,value:M,autoComplete:`off`,spellCheck:!1,readOnly:!0,onClick:F,onFocus:F}),(0,E.jsxs)(`div`,{className:`flex gap-2`,children:[(0,E.jsxs)(o,{type:`button`,variant:`outline`,disabled:!M,onClick:async()=>{try{await navigator.clipboard.writeText(M),f.success(`API key copied`)}catch(e){f.error(`Failed to copy API key`,{description:e instanceof Error?e.message:`Clipboard unavailable`})}},children:[(0,E.jsx)(C,{}),`Copy`]}),(0,E.jsxs)(o,{type:`button`,variant:`outline`,disabled:P.isPending,onClick:()=>P.mutate(),children:[(0,E.jsx)(w,{}),`Regenerate & Save`]})]})]})]})]}),(0,E.jsx)(k.AppForm,{children:(0,E.jsx)(k.SubmitButton,{})})]})})})]})})}export{D as component};
@@ -1 +0,0 @@
1
- import{n as e}from"./useStore-CusP06SD.js";import{L as t}from"./sidebar-y9WJu7Jw.js";import{t as n}from"./Page-C7KClZ28.js";import{a as r}from"./dist-DhH_lYkz.js";import{t as i}from"./button-1cIaa9Lf.js";import{t as a}from"./createLucideIcon-zYRS_Hrv.js";import{d as o,n as s}from"./index-DinSQfHc.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./table-B1Y18B60.js";var m=a(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),h=a(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),g=a(`octagon-alert`,[[`path`,{d:`M12 16h.01`,key:`1drbdi`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`,key:`1fd625`}]]),_=a(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);function v(e,t){if(e===0)return`0 B`;let n=t?.binary?1024:1e3,r=t?.binary?[`B`,`KiB`,`MiB`,`GiB`,`TiB`]:[`B`,`kB`,`MB`,`GB`,`TB`],i=Math.floor(Math.log(Math.abs(e))/Math.log(n)),a=e/n**+i;return`${parseFloat(a.toFixed(2))} ${r[i]}`}var y=e(),b={error:0,warning:1,info:2},x={error:`border-red-500/60 bg-red-500/10`,warning:`border-amber-500/60 bg-amber-500/10`,info:`border-sky-500/60 bg-sky-500/10`},S={error:g,warning:s,info:h};function C(){let{data:{problems:e,diagnostics:a},refetch:s,isFetching:h}=o(t().health.get.queryOptions()),g=[...e].sort((e,t)=>b[e.severity]-b[t.severity]),C=a?.db,w=e=>e==null?`Unknown`:e.toLocaleString(),T=e=>e==null?`Unknown`:`${e.toFixed(1)}%`,E=e=>e==null?`Unknown`:v(e,{binary:!0});return(0,y.jsx)(n,{breadcrumbs:[`Diagnostics`,`Health`],actions:(0,y.jsxs)(i,{variant:`outline`,size:`sm`,onClick:()=>s(),disabled:h,children:[(0,y.jsx)(_,{className:r(`mr-2 h-4 w-4`,h&&`text-primary animate-spin`)}),`Refresh`]}),children:(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsxs)(`div`,{className:`space-y-2`,children:[(0,y.jsx)(`h1`,{className:`text-2xl font-semibold`,children:`Health`}),(0,y.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`A quick snapshot of anything that needs attention. Issues are ordered by severity.`})]}),g.length===0?(0,y.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-emerald-500/30 bg-emerald-500/10 p-4 text-sm text-emerald-700`,children:[(0,y.jsx)(m,{className:`h-5 w-5`}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`p`,{className:`font-medium`,children:`All clear`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`No health issues detected. Everything looks good.`})]})]}):(0,y.jsx)(`div`,{className:`space-y-3`,children:g.map(e=>{let t=S[e.severity];return(0,y.jsxs)(`div`,{className:r(`flex items-start gap-3 rounded-lg border p-4 text-sm`,x[e.severity]),children:[(0,y.jsx)(t,{className:`mt-0.5 h-5 w-5 flex-shrink-0`}),(0,y.jsxs)(`div`,{className:`space-y-1`,children:[(0,y.jsx)(`p`,{className:`font-medium`,children:e.summary}),e.details&&(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:e.details})]})]},e.id)})}),(0,y.jsxs)(`div`,{className:`space-y-3 pt-2`,children:[(0,y.jsxs)(`div`,{className:`space-y-1`,children:[(0,y.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Database diagnostics`}),(0,y.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Disk usage and SQLite stats for your cross-seed database.`})]}),C?(0,y.jsxs)(`div`,{className:`space-y-4`,children:[C.error&&(0,y.jsxs)(`div`,{className:`rounded-lg border border-amber-500/40 bg-amber-500/10 p-4 text-sm text-amber-700`,children:[(0,y.jsx)(`p`,{className:`font-medium`,children:`Diagnostics error`}),(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:C.error})]}),(0,y.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Database file`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:E(C.sizes.db)}),(0,y.jsx)(`p`,{className:`text-muted-foreground mt-1 font-mono text-xs break-all`,children:C.path})]}),(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`WAL file`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:E(C.sizes.wal)})]}),(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`SHM file`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:E(C.sizes.shm)})]})]}),(0,y.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:[(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Page size`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:E(C.pageSize)})]}),(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Page count`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:w(C.pageCount)})]}),(0,y.jsxs)(`div`,{className:`rounded-lg border p-4 text-sm`,children:[(0,y.jsx)(`p`,{className:`text-muted-foreground`,children:`Freelist pages`}),(0,y.jsx)(`p`,{className:`text-base font-semibold`,children:w(C.freelistCount)}),(0,y.jsxs)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:[E(C.freeBytes),` free (`,T(C.freePercent),`)`]})]})]}),C.dbstatError&&(0,y.jsxs)(`p`,{className:`text-muted-foreground text-sm`,children:[`Table size breakdown unavailable: `,C.dbstatError]}),C.dbstatTop&&C.dbstatTop.length>0&&(0,y.jsx)(`div`,{className:`rounded-lg border`,children:(0,y.jsxs)(p,{children:[(0,y.jsx)(c,{children:(0,y.jsxs)(d,{className:`border-b`,children:[(0,y.jsx)(l,{children:`Object`}),(0,y.jsx)(l,{className:`text-right`,children:`Size`}),(0,y.jsx)(l,{className:`text-right`,children:`Pages`})]})}),(0,y.jsx)(u,{children:C.dbstatTop.map(e=>(0,y.jsxs)(d,{children:[(0,y.jsx)(f,{className:`font-medium`,children:e.name}),(0,y.jsx)(f,{className:`text-right`,children:E(e.bytes)}),(0,y.jsx)(f,{className:`text-right`,children:e.pages.toLocaleString()})]},e.name))})]})})]}):(0,y.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No database diagnostics available.`})]})]})})}export{C as component};