zudoku 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/dist/app/main.d.ts +1 -1
  2. package/dist/app/main.js +19 -7
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/config/config.d.ts +1 -0
  5. package/dist/config/validators/InputSidebarSchema.d.ts +2 -2
  6. package/dist/config/validators/common.d.ts +78 -0
  7. package/dist/config/validators/common.js +6 -0
  8. package/dist/config/validators/common.js.map +1 -1
  9. package/dist/config/validators/validate.d.ts +34 -0
  10. package/dist/lib/authentication/providers/auth0.js +1 -1
  11. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  12. package/dist/lib/authentication/providers/openid.d.ts +1 -1
  13. package/dist/lib/authentication/providers/openid.js +10 -6
  14. package/dist/lib/authentication/providers/openid.js.map +1 -1
  15. package/dist/lib/components/AnchorLink.js +5 -2
  16. package/dist/lib/components/AnchorLink.js.map +1 -1
  17. package/dist/lib/components/Autocomplete.d.ts +12 -0
  18. package/dist/lib/components/Autocomplete.js +47 -0
  19. package/dist/lib/components/Autocomplete.js.map +1 -0
  20. package/dist/lib/components/Header.js +4 -4
  21. package/dist/lib/components/Header.js.map +1 -1
  22. package/dist/lib/components/Heading.d.ts +1 -1
  23. package/dist/lib/components/Markdown.d.ts +2 -2
  24. package/dist/lib/components/Markdown.js +3 -1
  25. package/dist/lib/components/Markdown.js.map +1 -1
  26. package/dist/lib/components/StatusPage.d.ts +7 -0
  27. package/dist/lib/components/StatusPage.js +71 -0
  28. package/dist/lib/components/StatusPage.js.map +1 -0
  29. package/dist/lib/components/SyntaxHighlight.d.ts +2 -1
  30. package/dist/lib/components/SyntaxHighlight.js +2 -2
  31. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  32. package/dist/lib/components/ThemeSwitch.js +4 -4
  33. package/dist/lib/components/ThemeSwitch.js.map +1 -1
  34. package/dist/lib/components/cache.d.ts +6 -0
  35. package/dist/lib/components/cache.js +13 -0
  36. package/dist/lib/components/cache.js.map +1 -0
  37. package/dist/lib/components/context/ViewportAnchorContext.js +16 -4
  38. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  39. package/dist/lib/components/context/ZudokuContext.js +2 -1
  40. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  41. package/dist/lib/components/index.d.ts +9 -2
  42. package/dist/lib/components/index.js +5 -2
  43. package/dist/lib/components/index.js.map +1 -1
  44. package/dist/lib/core/RouteGuard.d.ts +1 -0
  45. package/dist/lib/core/RouteGuard.js +28 -0
  46. package/dist/lib/core/RouteGuard.js.map +1 -0
  47. package/dist/lib/core/ZudokuContext.d.ts +4 -2
  48. package/dist/lib/core/ZudokuContext.js +9 -7
  49. package/dist/lib/core/ZudokuContext.js.map +1 -1
  50. package/dist/lib/oas/graphql/circular.d.ts +3 -0
  51. package/dist/lib/oas/graphql/circular.js +27 -0
  52. package/dist/lib/oas/graphql/circular.js.map +1 -0
  53. package/dist/lib/oas/graphql/index.js +5 -6
  54. package/dist/lib/oas/graphql/index.js.map +1 -1
  55. package/dist/lib/oas/parser/dereference/index.d.ts +0 -1
  56. package/dist/lib/oas/parser/dereference/index.js +1 -1
  57. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  58. package/dist/lib/plugins/markdown/MdxPage.js +8 -2
  59. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  60. package/dist/lib/plugins/openapi/OperationListItem.js +1 -1
  61. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  62. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  63. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  64. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -1
  65. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -2
  66. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  67. package/dist/lib/plugins/openapi/Sidecar.js +3 -3
  68. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  69. package/dist/lib/plugins/openapi/index.js +4 -11
  70. package/dist/lib/plugins/openapi/index.js.map +1 -1
  71. package/dist/lib/plugins/openapi/interfaces.d.ts +7 -2
  72. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
  73. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +12 -0
  74. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
  75. package/dist/lib/plugins/openapi/playground/Headers.js +67 -4
  76. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  77. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +5 -0
  78. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +4 -0
  79. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -0
  80. package/dist/lib/plugins/openapi/playground/PathParams.js +4 -12
  81. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  82. package/dist/lib/plugins/openapi/playground/Playground.d.ts +18 -1
  83. package/dist/lib/plugins/openapi/playground/Playground.js +53 -40
  84. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  85. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  86. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  87. package/dist/lib/plugins/openapi/playground/QueryParams.js +21 -30
  88. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  89. package/dist/lib/plugins/openapi/playground/SubmitButton.d.ts +7 -0
  90. package/dist/lib/plugins/openapi/playground/SubmitButton.js +22 -0
  91. package/dist/lib/plugins/openapi/playground/SubmitButton.js.map +1 -0
  92. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.d.ts +7 -0
  93. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +11 -0
  94. package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -0
  95. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +8 -0
  96. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +95 -0
  97. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -0
  98. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +7 -0
  99. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +16 -0
  100. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -0
  101. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
  102. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +32 -0
  103. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -0
  104. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.d.ts +1 -0
  105. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js +56 -0
  106. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js.map +1 -0
  107. package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +2 -1
  108. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +5 -3
  109. package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -1
  110. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +49 -0
  111. package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -1
  112. package/dist/lib/plugins/openapi/post-processors/removeParameters.d.ts +10 -0
  113. package/dist/lib/plugins/openapi/post-processors/removeParameters.js +66 -0
  114. package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +1 -0
  115. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.d.ts +1 -0
  116. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js +131 -0
  117. package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +1 -0
  118. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +1 -1
  119. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
  120. package/dist/lib/ui/Command.d.ts +9 -1
  121. package/dist/lib/ui/Command.js +5 -1
  122. package/dist/lib/ui/Command.js.map +1 -1
  123. package/dist/lib/ui/Select.js +2 -2
  124. package/dist/lib/ui/Select.js.map +1 -1
  125. package/dist/lib/util/MdxComponents.js +2 -2
  126. package/dist/lib/util/MdxComponents.js.map +1 -1
  127. package/dist/lib/util/joinUrl.d.ts +1 -0
  128. package/dist/lib/util/joinUrl.js +40 -0
  129. package/dist/lib/util/joinUrl.js.map +1 -0
  130. package/dist/lib/util/useScrollToAnchor.d.ts +1 -0
  131. package/dist/lib/util/useScrollToAnchor.js +26 -15
  132. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  133. package/dist/vite/build.js +10 -10
  134. package/dist/vite/build.js.map +1 -1
  135. package/dist/vite/config.js +4 -1
  136. package/dist/vite/config.js.map +1 -1
  137. package/dist/vite/dev-server.js +4 -1
  138. package/dist/vite/dev-server.js.map +1 -1
  139. package/dist/vite/plugin-api.d.ts +1 -1
  140. package/dist/vite/plugin-api.js +31 -7
  141. package/dist/vite/plugin-api.js.map +1 -1
  142. package/dist/vite/plugin-auth.js +4 -1
  143. package/dist/vite/plugin-auth.js.map +1 -1
  144. package/dist/vite/plugin-mdx.js +9 -4
  145. package/dist/vite/plugin-mdx.js.map +1 -1
  146. package/dist/vite/prerender.d.ts +2 -2
  147. package/dist/vite/prerender.js +5 -4
  148. package/dist/vite/prerender.js.map +1 -1
  149. package/dist/zuplo/enrich-with-zuplo.d.ts +5 -0
  150. package/dist/zuplo/enrich-with-zuplo.js +184 -0
  151. package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
  152. package/dist/zuplo/env.d.ts +1 -0
  153. package/dist/zuplo/env.js +3 -0
  154. package/dist/zuplo/env.js.map +1 -1
  155. package/dist/zuplo/policy-types.d.ts +33 -0
  156. package/dist/zuplo/policy-types.js +8 -0
  157. package/dist/zuplo/policy-types.js.map +1 -0
  158. package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
  159. package/dist/zuplo/with-zuplo-processors.js +26 -0
  160. package/dist/zuplo/with-zuplo-processors.js.map +1 -0
  161. package/dist/zuplo/with-zuplo.d.ts +1 -1
  162. package/dist/zuplo/with-zuplo.js +7 -26
  163. package/dist/zuplo/with-zuplo.js.map +1 -1
  164. package/lib/{AuthenticationPlugin-DNXBcsVN.js → AuthenticationPlugin-CO_YCd2x.js} +3 -3
  165. package/lib/{AuthenticationPlugin-DNXBcsVN.js.map → AuthenticationPlugin-CO_YCd2x.js.map} +1 -1
  166. package/lib/{Markdown-BrfrjEk_.js → Markdown-B8o9Qz4q.js} +1197 -1186
  167. package/lib/{Markdown-BrfrjEk_.js.map → Markdown-B8o9Qz4q.js.map} +1 -1
  168. package/lib/{MdxPage-LNZLj_A5.js → MdxPage-BxRt3Ly7.js} +63 -58
  169. package/lib/MdxPage-BxRt3Ly7.js.map +1 -0
  170. package/lib/OperationList-DH-zIgtq.js +5160 -0
  171. package/lib/OperationList-DH-zIgtq.js.map +1 -0
  172. package/lib/{Route-Pzk6qwIk.js → Route-DJ0ZlVq1.js} +3 -3
  173. package/lib/{Route-Pzk6qwIk.js.map → Route-DJ0ZlVq1.js.map} +1 -1
  174. package/lib/{Select-DkOpAG0c.js → Select-B7UXR0SB.js} +61 -61
  175. package/lib/Select-B7UXR0SB.js.map +1 -0
  176. package/lib/{SlotletProvider-DPbx9KdU.js → SlotletProvider-CtIp8rP3.js} +4 -4
  177. package/lib/{SlotletProvider-DPbx9KdU.js.map → SlotletProvider-CtIp8rP3.js.map} +1 -1
  178. package/lib/{Button-oroWHXAy.js → Spinner-BlzrEEk1.js} +15 -12
  179. package/lib/Spinner-BlzrEEk1.js.map +1 -0
  180. package/lib/{SyntaxHighlight-CJCSPG1F.js → SyntaxHighlight-C1w1QPdY.js} +300 -295
  181. package/lib/{SyntaxHighlight-CJCSPG1F.js.map → SyntaxHighlight-C1w1QPdY.js.map} +1 -1
  182. package/lib/{ZudokuContext-D3ayHjP-.js → ZudokuContext-8jts0fF3.js} +259 -248
  183. package/lib/ZudokuContext-8jts0fF3.js.map +1 -0
  184. package/lib/{chunk-SYFQ2XB5-KWlHsT7t.js → chunk-SYFQ2XB5-BPvC-soB.js} +6 -5
  185. package/lib/{chunk-SYFQ2XB5-KWlHsT7t.js.map → chunk-SYFQ2XB5-BPvC-soB.js.map} +1 -1
  186. package/lib/circular-Dgpd6AN-.js +15397 -0
  187. package/lib/circular-Dgpd6AN-.js.map +1 -0
  188. package/lib/{createServer-BcaswoFO.js → createServer-BV0tHzLK.js} +3450 -5577
  189. package/lib/createServer-BV0tHzLK.js.map +1 -0
  190. package/lib/{hook-DUyACbIK.js → hook-BG02esyv.js} +2 -2
  191. package/lib/{hook-DUyACbIK.js.map → hook-BG02esyv.js.map} +1 -1
  192. package/lib/index-B7mqiOei.js +509 -0
  193. package/lib/index-B7mqiOei.js.map +1 -0
  194. package/lib/index-DmqsUPcm.js +1915 -0
  195. package/lib/index-DmqsUPcm.js.map +1 -0
  196. package/lib/joinUrl-BTy9bvoK.js +20 -0
  197. package/lib/joinUrl-BTy9bvoK.js.map +1 -0
  198. package/lib/post-processors/removeExtensions.js +7 -7
  199. package/lib/post-processors/removeExtensions.js.map +1 -1
  200. package/lib/post-processors/removeParameters.js +48 -0
  201. package/lib/post-processors/removeParameters.js.map +1 -0
  202. package/lib/ui/ActionButton.js +10 -11
  203. package/lib/ui/ActionButton.js.map +1 -1
  204. package/lib/ui/Command.js +125 -13
  205. package/lib/ui/Command.js.map +1 -1
  206. package/lib/ui/Select.js +2 -2
  207. package/lib/ui/Select.js.map +1 -1
  208. package/lib/{useExposedProps-BBHR7aLM.js → useExposedProps-BLKFBylA.js} +2 -2
  209. package/lib/{useExposedProps-BBHR7aLM.js.map → useExposedProps-BLKFBylA.js.map} +1 -1
  210. package/lib/useScrollToAnchor-Bl6mz9_x.js +288 -0
  211. package/lib/useScrollToAnchor-Bl6mz9_x.js.map +1 -0
  212. package/lib/zudoku.auth-auth0.js +7 -9
  213. package/lib/zudoku.auth-auth0.js.map +1 -1
  214. package/lib/zudoku.auth-clerk.js +1 -1
  215. package/lib/zudoku.auth-openid.js +223 -219
  216. package/lib/zudoku.auth-openid.js.map +1 -1
  217. package/lib/zudoku.components.js +754 -992
  218. package/lib/zudoku.components.js.map +1 -1
  219. package/lib/zudoku.plugin-api-catalog.js +3 -3
  220. package/lib/zudoku.plugin-api-keys.js +5 -5
  221. package/lib/zudoku.plugin-custom-pages.js +2 -2
  222. package/lib/zudoku.plugin-markdown.js +1 -1
  223. package/lib/zudoku.plugin-openapi.js +4 -4
  224. package/lib/zudoku.plugin-redirect.js +1 -1
  225. package/package.json +2 -2
  226. package/src/app/main.css +50 -50
  227. package/src/app/main.tsx +26 -7
  228. package/src/lib/authentication/providers/auth0.tsx +1 -4
  229. package/src/lib/authentication/providers/openid.tsx +12 -5
  230. package/src/lib/components/AnchorLink.tsx +5 -2
  231. package/src/lib/components/Autocomplete.tsx +111 -0
  232. package/src/lib/components/Header.tsx +4 -4
  233. package/src/lib/components/Markdown.tsx +14 -15
  234. package/src/lib/components/StatusPage.tsx +91 -0
  235. package/src/lib/components/SyntaxHighlight.tsx +14 -0
  236. package/src/lib/components/ThemeSwitch.tsx +14 -15
  237. package/src/lib/components/cache.ts +15 -0
  238. package/src/lib/components/context/ViewportAnchorContext.tsx +20 -6
  239. package/src/lib/components/context/ZudokuContext.ts +3 -1
  240. package/src/lib/components/index.ts +9 -2
  241. package/src/lib/core/RouteGuard.tsx +35 -0
  242. package/src/lib/core/ZudokuContext.ts +9 -8
  243. package/src/lib/oas/graphql/circular.ts +29 -0
  244. package/src/lib/oas/graphql/index.ts +9 -9
  245. package/src/lib/oas/parser/dereference/index.ts +1 -2
  246. package/src/lib/plugins/markdown/MdxPage.tsx +9 -1
  247. package/src/lib/plugins/openapi/OperationListItem.tsx +0 -2
  248. package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -0
  249. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +5 -0
  250. package/src/lib/plugins/openapi/Sidecar.tsx +4 -2
  251. package/src/lib/plugins/openapi/index.tsx +9 -15
  252. package/src/lib/plugins/openapi/interfaces.ts +10 -2
  253. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +54 -0
  254. package/src/lib/plugins/openapi/playground/Headers.tsx +136 -39
  255. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +8 -0
  256. package/src/lib/plugins/openapi/playground/PathParams.tsx +34 -74
  257. package/src/lib/plugins/openapi/playground/Playground.tsx +219 -177
  258. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  259. package/src/lib/plugins/openapi/playground/QueryParams.tsx +90 -122
  260. package/src/lib/plugins/openapi/playground/SubmitButton.tsx +75 -0
  261. package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +73 -0
  262. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +210 -0
  263. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +101 -0
  264. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.test.ts +64 -0
  265. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
  266. package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +58 -0
  267. package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +7 -4
  268. package/src/lib/plugins/openapi/post-processors/removeParameters.test.ts +148 -0
  269. package/src/lib/plugins/openapi/post-processors/removeParameters.ts +101 -0
  270. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +1 -1
  271. package/src/lib/ui/Command.tsx +20 -0
  272. package/src/lib/ui/Select.tsx +1 -1
  273. package/src/lib/util/MdxComponents.tsx +2 -1
  274. package/src/lib/util/joinUrl.ts +57 -0
  275. package/src/lib/util/useScrollToAnchor.ts +32 -15
  276. package/dist/lib/plugins/openapi/playground/EnumSelector.d.ts +0 -8
  277. package/dist/lib/plugins/openapi/playground/EnumSelector.js +0 -21
  278. package/dist/lib/plugins/openapi/playground/EnumSelector.js.map +0 -1
  279. package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +0 -4
  280. package/dist/lib/plugins/openapi/playground/ResponseTab.js +0 -42
  281. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +0 -1
  282. package/lib/AnchorLink-_Vu02ceN.js +0 -34
  283. package/lib/AnchorLink-_Vu02ceN.js.map +0 -1
  284. package/lib/Button-oroWHXAy.js.map +0 -1
  285. package/lib/Command-D5DE0DD7.js +0 -611
  286. package/lib/Command-D5DE0DD7.js.map +0 -1
  287. package/lib/MdxPage-LNZLj_A5.js.map +0 -1
  288. package/lib/OperationList-PCwzTp1r.js +0 -5144
  289. package/lib/OperationList-PCwzTp1r.js.map +0 -1
  290. package/lib/Select-DkOpAG0c.js.map +0 -1
  291. package/lib/Spinner-C5gHXrVz.js +0 -7
  292. package/lib/Spinner-C5gHXrVz.js.map +0 -1
  293. package/lib/ZudokuContext-D3ayHjP-.js.map +0 -1
  294. package/lib/createServer-BcaswoFO.js.map +0 -1
  295. package/lib/index-CaILD1AV.js +0 -1292
  296. package/lib/index-CaILD1AV.js.map +0 -1
  297. package/lib/index-TaRXY2w1.js +0 -43
  298. package/lib/index-TaRXY2w1.js.map +0 -1
  299. package/src/lib/plugins/openapi/playground/EnumSelector.tsx +0 -86
  300. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -76
@@ -1,6 +1,6 @@
1
1
  import { j as e } from "./jsx-runtime-Bdg6XQ1m.js";
2
- import { c as u, O as m } from "./chunk-SYFQ2XB5-KWlHsT7t.js";
3
- import { j } from "./ZudokuContext-D3ayHjP-.js";
2
+ import { c as u, O as m } from "./chunk-SYFQ2XB5-BPvC-soB.js";
3
+ import { j } from "./ZudokuContext-8jts0fF3.js";
4
4
  import { O, G as l } from "./context-rwLGh-6_.js";
5
5
  const d = ({
6
6
  basePath: i,
@@ -32,4 +32,4 @@ const d = ({
32
32
  export {
33
33
  d as OpenApiRoute
34
34
  };
35
- //# sourceMappingURL=Route-Pzk6qwIk.js.map
35
+ //# sourceMappingURL=Route-DJ0ZlVq1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Route-Pzk6qwIk.js","sources":["../src/lib/plugins/openapi/Route.tsx"],"sourcesContent":["import { Outlet, useParams } from \"react-router\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport type { GraphQLClient } from \"./client/GraphQLClient.js\";\nimport { GraphQLProvider } from \"./client/GraphQLContext.js\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { type OasPluginConfig } from \"./interfaces.js\";\n\nexport const OpenApiRoute = ({\n basePath,\n versions,\n config,\n client,\n}: {\n basePath: string;\n versions: string[];\n config: OasPluginConfig;\n client: GraphQLClient;\n}) => {\n const { version } = useParams<\"version\">();\n\n const input =\n config.type === \"file\"\n ? {\n type: config.type,\n input: version\n ? config.input[version]!\n : Object.values(config.input).at(0)!,\n }\n : { type: config.type, input: config.input };\n\n const currentVersion = version ?? versions.at(0);\n\n return (\n <OasConfigProvider\n value={{\n config: {\n ...config,\n version: currentVersion,\n versions: Object.fromEntries(\n versions.map((version) => [version, joinPath(basePath, version)]),\n ),\n ...input,\n },\n }}\n >\n <GraphQLProvider client={client}>\n <Outlet />\n </GraphQLProvider>\n </OasConfigProvider>\n );\n};\n"],"names":["OpenApiRoute","basePath","versions","config","client","version","useParams","input","currentVersion","jsx","OasConfigProvider","joinPath","GraphQLProvider","Outlet"],"mappings":";;;;AAOO,MAAMA,IAAe,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AACF,MAKM;AACE,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAqB,GAEnCC,IACJJ,EAAO,SAAS,SACZ;AAAA,IACE,MAAMA,EAAO;AAAA,IACb,OAAOE,IACHF,EAAO,MAAME,CAAO,IACpB,OAAO,OAAOF,EAAO,KAAK,EAAE,GAAG,CAAC;AAAA,EAAA,IAEtC,EAAE,MAAMA,EAAO,MAAM,OAAOA,EAAO,MAAM,GAEzCK,IAAiBH,KAAWH,EAAS,GAAG,CAAC;AAG7C,SAAAO,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,QAAQ;AAAA,UACN,GAAGP;AAAA,UACH,SAASK;AAAA,UACT,UAAU,OAAO;AAAA,YACfN,EAAS,IAAI,CAACG,MAAY,CAACA,GAASM,EAASV,GAAUI,CAAO,CAAC,CAAC;AAAA,UAClE;AAAA,UACA,GAAGE;AAAA,QAAA;AAAA,MAEP;AAAA,MAEA,UAACE,gBAAAA,EAAAA,IAAAG,GAAA,EAAgB,QAAAR,GACf,UAAAK,gBAAAA,EAAA,IAACI,KAAO,EACV,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"Route-DJ0ZlVq1.js","sources":["../src/lib/plugins/openapi/Route.tsx"],"sourcesContent":["import { Outlet, useParams } from \"react-router\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport type { GraphQLClient } from \"./client/GraphQLClient.js\";\nimport { GraphQLProvider } from \"./client/GraphQLContext.js\";\nimport { OasConfigProvider } from \"./context.js\";\nimport { type OasPluginConfig } from \"./interfaces.js\";\n\nexport const OpenApiRoute = ({\n basePath,\n versions,\n config,\n client,\n}: {\n basePath: string;\n versions: string[];\n config: OasPluginConfig;\n client: GraphQLClient;\n}) => {\n const { version } = useParams<\"version\">();\n\n const input =\n config.type === \"file\"\n ? {\n type: config.type,\n input: version\n ? config.input[version]!\n : Object.values(config.input).at(0)!,\n }\n : { type: config.type, input: config.input };\n\n const currentVersion = version ?? versions.at(0);\n\n return (\n <OasConfigProvider\n value={{\n config: {\n ...config,\n version: currentVersion,\n versions: Object.fromEntries(\n versions.map((version) => [version, joinPath(basePath, version)]),\n ),\n ...input,\n },\n }}\n >\n <GraphQLProvider client={client}>\n <Outlet />\n </GraphQLProvider>\n </OasConfigProvider>\n );\n};\n"],"names":["OpenApiRoute","basePath","versions","config","client","version","useParams","input","currentVersion","jsx","OasConfigProvider","joinPath","GraphQLProvider","Outlet"],"mappings":";;;;AAOO,MAAMA,IAAe,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AACF,MAKM;AACE,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAqB,GAEnCC,IACJJ,EAAO,SAAS,SACZ;AAAA,IACE,MAAMA,EAAO;AAAA,IACb,OAAOE,IACHF,EAAO,MAAME,CAAO,IACpB,OAAO,OAAOF,EAAO,KAAK,EAAE,GAAG,CAAC;AAAA,EAAA,IAEtC,EAAE,MAAMA,EAAO,MAAM,OAAOA,EAAO,MAAM,GAEzCK,IAAiBH,KAAWH,EAAS,GAAG,CAAC;AAG7C,SAAAO,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,QAAQ;AAAA,UACN,GAAGP;AAAA,UACH,SAASK;AAAA,UACT,UAAU,OAAO;AAAA,YACfN,EAAS,IAAI,CAACG,MAAY,CAACA,GAASM,EAASV,GAAUI,CAAO,CAAC,CAAC;AAAA,UAClE;AAAA,UACA,GAAGE;AAAA,QAAA;AAAA,MAEP;AAAA,MAEA,UAACE,gBAAAA,EAAAA,IAAAG,GAAA,EAAgB,QAAAR,GACf,UAAAK,gBAAAA,EAAA,IAACI,KAAO,EACV,CAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1,76 +1,76 @@
1
1
  var M = (s) => {
2
2
  throw TypeError(s);
3
3
  };
4
- var v = (s, t, e) => t.has(s) || M("Cannot " + e);
5
- var r = (s, t, e) => (v(s, t, "read from private field"), e ? e.call(s) : t.get(s)), x = (s, t, e) => t.has(s) ? M("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, e), y = (s, t, e, a) => (v(s, t, "write to private field"), a ? a.call(s, e) : t.set(s, e), e), g = (s, t, e) => (v(s, t, "access private method"), e);
4
+ var v = (s, e, t) => e.has(s) || M("Cannot " + t);
5
+ var r = (s, e, t) => (v(s, e, "read from private field"), t ? t.call(s) : e.get(s)), x = (s, e, t) => e.has(s) ? M("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), y = (s, e, t, a) => (v(s, e, "write to private field"), a ? a.call(s, t) : e.set(s, t), t), g = (s, e, t) => (v(s, e, "access private method"), t);
6
6
  import * as l from "react";
7
- import { g as K } from "./hook-DUyACbIK.js";
8
- import { S as L, s as T, h as E, n as U, e as z, f as P, g as V } from "./ZudokuContext-D3ayHjP-.js";
7
+ import { g as K } from "./hook-BG02esyv.js";
8
+ import { S as L, s as T, h as E, n as U, e as z, f as P, g as V } from "./ZudokuContext-8jts0fF3.js";
9
9
  import { j as o } from "./jsx-runtime-Bdg6XQ1m.js";
10
10
  import * as i from "@radix-ui/react-select";
11
11
  import { ChevronDown as k, ChevronUp as G, Check as q } from "lucide-react";
12
12
  import { c as p } from "./cn-qaFjX9_3.js";
13
13
  var h, m, n, c, u, j, C, I, A = (I = class extends L {
14
- constructor(t, e) {
14
+ constructor(e, t) {
15
15
  super();
16
16
  x(this, u);
17
17
  x(this, h);
18
18
  x(this, m);
19
19
  x(this, n);
20
20
  x(this, c);
21
- y(this, h, t), this.setOptions(e), this.bindMethods(), g(this, u, j).call(this);
21
+ y(this, h, e), this.setOptions(t), this.bindMethods(), g(this, u, j).call(this);
22
22
  }
23
23
  bindMethods() {
24
24
  this.mutate = this.mutate.bind(this), this.reset = this.reset.bind(this);
25
25
  }
26
- setOptions(t) {
26
+ setOptions(e) {
27
27
  var a;
28
- const e = this.options;
29
- this.options = r(this, h).defaultMutationOptions(t), T(this.options, e) || r(this, h).getMutationCache().notify({
28
+ const t = this.options;
29
+ this.options = r(this, h).defaultMutationOptions(e), T(this.options, t) || r(this, h).getMutationCache().notify({
30
30
  type: "observerOptionsUpdated",
31
31
  mutation: r(this, n),
32
32
  observer: this
33
- }), e != null && e.mutationKey && this.options.mutationKey && E(e.mutationKey) !== E(this.options.mutationKey) ? this.reset() : ((a = r(this, n)) == null ? void 0 : a.state.status) === "pending" && r(this, n).setOptions(this.options);
33
+ }), t != null && t.mutationKey && this.options.mutationKey && E(t.mutationKey) !== E(this.options.mutationKey) ? this.reset() : ((a = r(this, n)) == null ? void 0 : a.state.status) === "pending" && r(this, n).setOptions(this.options);
34
34
  }
35
35
  onUnsubscribe() {
36
- var t;
37
- this.hasListeners() || (t = r(this, n)) == null || t.removeObserver(this);
36
+ var e;
37
+ this.hasListeners() || (e = r(this, n)) == null || e.removeObserver(this);
38
38
  }
39
- onMutationUpdate(t) {
40
- g(this, u, j).call(this), g(this, u, C).call(this, t);
39
+ onMutationUpdate(e) {
40
+ g(this, u, j).call(this), g(this, u, C).call(this, e);
41
41
  }
42
42
  getCurrentResult() {
43
43
  return r(this, m);
44
44
  }
45
45
  reset() {
46
- var t;
47
- (t = r(this, n)) == null || t.removeObserver(this), y(this, n, void 0), g(this, u, j).call(this), g(this, u, C).call(this);
46
+ var e;
47
+ (e = r(this, n)) == null || e.removeObserver(this), y(this, n, void 0), g(this, u, j).call(this), g(this, u, C).call(this);
48
48
  }
49
- mutate(t, e) {
49
+ mutate(e, t) {
50
50
  var a;
51
- return y(this, c, e), (a = r(this, n)) == null || a.removeObserver(this), y(this, n, r(this, h).getMutationCache().build(r(this, h), this.options)), r(this, n).addObserver(this), r(this, n).execute(t);
51
+ return y(this, c, t), (a = r(this, n)) == null || a.removeObserver(this), y(this, n, r(this, h).getMutationCache().build(r(this, h), this.options)), r(this, n).addObserver(this), r(this, n).execute(e);
52
52
  }
53
53
  }, h = new WeakMap(), m = new WeakMap(), n = new WeakMap(), c = new WeakMap(), u = new WeakSet(), j = function() {
54
- var e;
55
- const t = ((e = r(this, n)) == null ? void 0 : e.state) ?? K();
54
+ var t;
55
+ const e = ((t = r(this, n)) == null ? void 0 : t.state) ?? K();
56
56
  y(this, m, {
57
- ...t,
58
- isPending: t.status === "pending",
59
- isSuccess: t.status === "success",
60
- isError: t.status === "error",
61
- isIdle: t.status === "idle",
57
+ ...e,
58
+ isPending: e.status === "pending",
59
+ isSuccess: e.status === "success",
60
+ isError: e.status === "error",
61
+ isIdle: e.status === "idle",
62
62
  mutate: this.mutate,
63
63
  reset: this.reset
64
64
  });
65
- }, C = function(t) {
65
+ }, C = function(e) {
66
66
  U.batch(() => {
67
- var e, a, d, w, f, S, R, O;
67
+ var t, a, d, w, f, S, R, O;
68
68
  if (r(this, c) && this.hasListeners()) {
69
69
  const b = r(this, m).variables, N = r(this, m).context;
70
- (t == null ? void 0 : t.type) === "success" ? ((a = (e = r(this, c)).onSuccess) == null || a.call(e, t.data, b, N), (w = (d = r(this, c)).onSettled) == null || w.call(d, t.data, null, b, N)) : (t == null ? void 0 : t.type) === "error" && ((S = (f = r(this, c)).onError) == null || S.call(f, t.error, b, N), (O = (R = r(this, c)).onSettled) == null || O.call(
70
+ (e == null ? void 0 : e.type) === "success" ? ((a = (t = r(this, c)).onSuccess) == null || a.call(t, e.data, b, N), (w = (d = r(this, c)).onSettled) == null || w.call(d, e.data, null, b, N)) : (e == null ? void 0 : e.type) === "error" && ((S = (f = r(this, c)).onError) == null || S.call(f, e.error, b, N), (O = (R = r(this, c)).onSettled) == null || O.call(
71
71
  R,
72
72
  void 0,
73
- t.error,
73
+ e.error,
74
74
  b,
75
75
  N
76
76
  ));
@@ -80,10 +80,10 @@ var h, m, n, c, u, j, C, I, A = (I = class extends L {
80
80
  });
81
81
  });
82
82
  }, I);
83
- function et(s, t) {
84
- const e = z(t), [a] = l.useState(
83
+ function te(s, e) {
84
+ const t = z(e), [a] = l.useState(
85
85
  () => new A(
86
- e,
86
+ t,
87
87
  s
88
88
  )
89
89
  );
@@ -107,7 +107,7 @@ function et(s, t) {
107
107
  throw d.error;
108
108
  return { ...d, mutate: w, mutateAsync: d.mutate };
109
109
  }
110
- const st = i.Root, at = i.Group, rt = i.Value, Q = l.forwardRef(({ className: s, children: t, ...e }, a) => /* @__PURE__ */ o.jsxs(
110
+ const se = i.Root, ae = i.Group, re = i.Value, Q = l.forwardRef(({ className: s, children: e, ...t }, a) => /* @__PURE__ */ o.jsxs(
111
111
  i.Trigger,
112
112
  {
113
113
  ref: a,
@@ -115,50 +115,50 @@ const st = i.Root, at = i.Group, rt = i.Value, Q = l.forwardRef(({ className: s,
115
115
  "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
116
116
  s
117
117
  ),
118
- ...e,
118
+ ...t,
119
119
  children: [
120
- /* @__PURE__ */ o.jsx("span", { className: "truncate", children: t }),
120
+ /* @__PURE__ */ o.jsx("span", { className: "truncate", children: e }),
121
121
  /* @__PURE__ */ o.jsx(i.Icon, { asChild: !0, children: /* @__PURE__ */ o.jsx(k, { className: "flex-shrink-0 h-4 w-4 opacity-50" }) })
122
122
  ]
123
123
  }
124
124
  ));
125
125
  Q.displayName = i.Trigger.displayName;
126
- const B = l.forwardRef(({ className: s, ...t }, e) => /* @__PURE__ */ o.jsx(
126
+ const B = l.forwardRef(({ className: s, ...e }, t) => /* @__PURE__ */ o.jsx(
127
127
  i.ScrollUpButton,
128
128
  {
129
- ref: e,
129
+ ref: t,
130
130
  className: p(
131
131
  "flex cursor-default items-center justify-center py-1",
132
132
  s
133
133
  ),
134
- ...t,
134
+ ...e,
135
135
  children: /* @__PURE__ */ o.jsx(G, { className: "h-4 w-4" })
136
136
  }
137
137
  ));
138
138
  B.displayName = i.ScrollUpButton.displayName;
139
- const D = l.forwardRef(({ className: s, ...t }, e) => /* @__PURE__ */ o.jsx(
139
+ const D = l.forwardRef(({ className: s, ...e }, t) => /* @__PURE__ */ o.jsx(
140
140
  i.ScrollDownButton,
141
141
  {
142
- ref: e,
142
+ ref: t,
143
143
  className: p(
144
144
  "flex cursor-default items-center justify-center py-1",
145
145
  s
146
146
  ),
147
- ...t,
147
+ ...e,
148
148
  children: /* @__PURE__ */ o.jsx(k, { className: "h-4 w-4" })
149
149
  }
150
150
  ));
151
151
  D.displayName = i.ScrollDownButton.displayName;
152
- const F = l.forwardRef(({ className: s, children: t, position: e = "popper", ...a }, d) => /* @__PURE__ */ o.jsx(i.Portal, { children: /* @__PURE__ */ o.jsxs(
152
+ const F = l.forwardRef(({ className: s, children: e, position: t = "popper", ...a }, d) => /* @__PURE__ */ o.jsx(i.Portal, { children: /* @__PURE__ */ o.jsxs(
153
153
  i.Content,
154
154
  {
155
155
  ref: d,
156
156
  className: p(
157
157
  "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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",
158
- e === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
158
+ t === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
159
159
  s
160
160
  ),
161
- position: e,
161
+ position: t,
162
162
  ...a,
163
163
  children: [
164
164
  /* @__PURE__ */ o.jsx(B, {}),
@@ -166,10 +166,10 @@ const F = l.forwardRef(({ className: s, children: t, position: e = "popper", ...
166
166
  i.Viewport,
167
167
  {
168
168
  className: p(
169
- "p-1",
170
- e === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
169
+ t === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",
170
+ "divide-y"
171
171
  ),
172
- children: t
172
+ children: e
173
173
  }
174
174
  ),
175
175
  /* @__PURE__ */ o.jsx(D, {})
@@ -177,16 +177,16 @@ const F = l.forwardRef(({ className: s, children: t, position: e = "popper", ...
177
177
  }
178
178
  ) }));
179
179
  F.displayName = i.Content.displayName;
180
- const H = l.forwardRef(({ className: s, ...t }, e) => /* @__PURE__ */ o.jsx(
180
+ const H = l.forwardRef(({ className: s, ...e }, t) => /* @__PURE__ */ o.jsx(
181
181
  i.Label,
182
182
  {
183
- ref: e,
183
+ ref: t,
184
184
  className: p("py-1.5 pl-8 pr-2 text-sm font-semibold", s),
185
- ...t
185
+ ...e
186
186
  }
187
187
  ));
188
188
  H.displayName = i.Label.displayName;
189
- const J = l.forwardRef(({ className: s, children: t, ...e }, a) => /* @__PURE__ */ o.jsxs(
189
+ const J = l.forwardRef(({ className: s, children: e, ...t }, a) => /* @__PURE__ */ o.jsxs(
190
190
  i.Item,
191
191
  {
192
192
  ref: a,
@@ -194,30 +194,30 @@ const J = l.forwardRef(({ className: s, children: t, ...e }, a) => /* @__PURE__
194
194
  "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
195
195
  s
196
196
  ),
197
- ...e,
197
+ ...t,
198
198
  children: [
199
199
  /* @__PURE__ */ o.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ o.jsx(i.ItemIndicator, { children: /* @__PURE__ */ o.jsx(q, { className: "h-4 w-4" }) }) }),
200
- /* @__PURE__ */ o.jsx(i.ItemText, { children: t })
200
+ /* @__PURE__ */ o.jsx(i.ItemText, { children: e })
201
201
  ]
202
202
  }
203
203
  ));
204
204
  J.displayName = i.Item.displayName;
205
- const W = l.forwardRef(({ className: s, ...t }, e) => /* @__PURE__ */ o.jsx(
205
+ const W = l.forwardRef(({ className: s, ...e }, t) => /* @__PURE__ */ o.jsx(
206
206
  i.Separator,
207
207
  {
208
- ref: e,
208
+ ref: t,
209
209
  className: p("-mx-1 my-1 h-px bg-muted", s),
210
- ...t
210
+ ...e
211
211
  }
212
212
  ));
213
213
  W.displayName = i.Separator.displayName;
214
214
  export {
215
- st as S,
215
+ se as S,
216
216
  Q as a,
217
- rt as b,
217
+ re as b,
218
218
  F as c,
219
- at as d,
219
+ ae as d,
220
220
  J as e,
221
- et as u
221
+ te as u
222
222
  };
223
- //# sourceMappingURL=Select-DkOpAG0c.js.map
223
+ //# sourceMappingURL=Select-B7UXR0SB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-B7UXR0SB.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.64.2/node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/.pnpm/@tanstack+react-query@5.64.2_react@19.0.0/node_modules/@tanstack/react-query/build/modern/useMutation.js","../src/lib/ui/Select.tsx"],"sourcesContent":["// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const context = this.#currentResult.context;\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(action.data, variables, context);\n this.#mutateOptions.onSettled?.(action.data, null, variables, context);\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(action.error, variables, context);\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { noop, shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"truncate\">{children}</span>\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"flex-shrink-0 h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n \"divide-y\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"names":["MutationObserver","_a","Subscribable","client","options","__privateAdd","_MutationObserver_instances","_client","_currentResult","_currentMutation","_mutateOptions","__privateSet","__privateMethod","updateResult_fn","prevOptions","__privateGet","shallowEqualObjects","hashKey","action","notify_fn","variables","state","getDefaultState","notifyManager","context","_b","_d","_c","_f","_e","_h","_g","listener","useMutation","queryClient","useQueryClient","observer","React","result","onStoreChange","mutate","mutateOptions","noop","shouldThrowError","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","children","props","ref","jsxs","cn","jsx","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,12 +1,12 @@
1
1
  import { j as o } from "./jsx-runtime-Bdg6XQ1m.js";
2
- import { c as N, L as Y, d as $, i as O } from "./chunk-SYFQ2XB5-KWlHsT7t.js";
2
+ import { c as N, L as Y, g as $, i as O } from "./chunk-SYFQ2XB5-BPvC-soB.js";
3
3
  import { UnlinkIcon as w } from "lucide-react";
4
4
  import { C as M } from "./CategoryHeading-MYL1u_6K.js";
5
5
  import { Callout as b } from "./ui/Callout.js";
6
- import { M as F, P as L, H as I } from "./Markdown-BrfrjEk_.js";
6
+ import { M as F, P as L, H as I } from "./Markdown-B8o9Qz4q.js";
7
7
  import { Z as C } from "./invariant-Caa8-XvF.js";
8
8
  import v, { useContext as k } from "react";
9
- import { u as D } from "./useExposedProps-BBHR7aLM.js";
9
+ import { u as D } from "./useExposedProps-BLKFBylA.js";
10
10
  const g = ({
11
11
  children: r,
12
12
  className: s
@@ -218,4 +218,4 @@ export {
218
218
  ne as S,
219
219
  te as a
220
220
  };
221
- //# sourceMappingURL=SlotletProvider-DPbx9KdU.js.map
221
+ //# sourceMappingURL=SlotletProvider-CtIp8rP3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlotletProvider-DPbx9KdU.js","sources":["../src/lib/components/DeveloperHint.tsx","../src/lib/components/NotFoundPage.tsx","../src/lib/errors/ErrorAlert.tsx","../src/lib/errors/RouterError.tsx","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/cjs/react-is.production.js","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/index.js","../src/lib/components/SlotletProvider.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Callout } from \"../ui/Callout.js\";\nimport { Markdown } from \"./Markdown.js\";\n\nexport const DeveloperHint = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n return (\n <Callout type=\"caution\" title=\"Developer hint\" className={className}>\n <div className=\"flex flex-col gap-2\">\n {typeof children === \"string\" ? (\n <Markdown content={children} />\n ) : (\n <div>{children}</div>\n )}\n <small className=\"italic\">\n Note: This hint is only shown in development mode.\n </small>\n </div>\n </Callout>\n );\n};\n","import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{PROJECT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nimport { DeveloperHint } from \"../components/DeveloperHint.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\n\nexport function ErrorAlert({ error }: { error: unknown }) {\n const message =\n error instanceof Error ? error.message : \"Something went wrong\";\n\n const hint = error instanceof ZudokuError ? error.developerHint : undefined;\n const title =\n error instanceof ZudokuError ? error.title : \"Something went wrong\";\n const stack = error instanceof Error ? error.stack : undefined;\n const cause = error instanceof Error ? error.cause : undefined;\n\n return (\n <div className=\"flex h-screen max-h-[calc(100vh-var(--header-height))] min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n {title}\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {hint && <DeveloperHint className=\"mb-4\">{hint}</DeveloperHint>}\n {cause instanceof Error ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {cause.stack}\n </pre>\n ) : stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { isRouteErrorResponse, useRouteError } from \"react-router\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError() {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return <ErrorAlert error={error} />;\n}\n","/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\nSymbol.for(\"react.provider\");\nvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nexports.ContextConsumer = REACT_CONSUMER_TYPE;\nexports.ContextProvider = REACT_CONTEXT_TYPE;\nexports.Element = REACT_ELEMENT_TYPE;\nexports.ForwardRef = REACT_FORWARD_REF_TYPE;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Lazy = REACT_LAZY_TYPE;\nexports.Memo = REACT_MEMO_TYPE;\nexports.Portal = REACT_PORTAL_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nexports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n};\nexports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n};\nexports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n};\nexports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n};\nexports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n};\nexports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n};\nexports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n};\nexports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n};\nexports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n};\nexports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n};\nexports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n};\nexports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n};\nexports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n};\nexports.typeOf = typeOf;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n exports.ContextConsumer = REACT_CONSUMER_TYPE;\n exports.ContextProvider = REACT_CONTEXT_TYPE;\n exports.Element = REACT_ELEMENT_TYPE;\n exports.ForwardRef = REACT_FORWARD_REF_TYPE;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Lazy = REACT_LAZY_TYPE;\n exports.Memo = REACT_MEMO_TYPE;\n exports.Portal = REACT_PORTAL_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n exports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n };\n exports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n };\n exports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n };\n exports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n };\n exports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n };\n exports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n };\n exports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n };\n exports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n };\n exports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n };\n exports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n };\n exports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n };\n exports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n };\n exports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n };\n exports.typeOf = typeOf;\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React, {\n type ComponentType,\n type ReactElement,\n ReactNode,\n useContext,\n} from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport {\n type Location,\n type NavigateFunction,\n type Params,\n type SetURLSearchParams,\n} from \"react-router\";\nimport { useExposedProps } from \"../util/useExposedProps.js\";\n\nexport type Slotlets = Record<\n string,\n ReactNode | ReactElement | ComponentType<ExposedComponentProps>\n>;\n\nconst SlotletContext = React.createContext<Slotlets | undefined>({});\n\nexport const SlotletProvider = ({\n slotlets,\n children,\n}: {\n children: ReactNode;\n slotlets?: Slotlets;\n}) => {\n return (\n <SlotletContext.Provider value={slotlets}>\n {children}\n </SlotletContext.Provider>\n );\n};\n\nexport type ExposedComponentProps = {\n location: Location;\n navigate: NavigateFunction;\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParams;\n params: Params;\n};\n\nexport const Slotlet = ({ name }: { name: string }) => {\n const context = useContext(SlotletContext);\n const componentOrElement = context?.[name];\n const slotletProps = useExposedProps();\n\n if (isValidElementType(componentOrElement)) {\n return React.createElement(componentOrElement, slotletProps);\n }\n\n return componentOrElement as ReactNode;\n};\n"],"names":["DeveloperHint","children","className","jsx","Callout","jsxs","Markdown","NotFoundPage","params","useParams","ProseClasses","CategoryHeading","Heading","UnlinkIcon","Link","ErrorAlert","error","message","hint","ZudokuError","title","stack","cause","RouterError","useRouteError","isRouteErrorResponse","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE","typeOf","object","$$typeof","reactIs_production","type","reactIs_development","reactIsModule","require$$0","require$$1","SlotletContext","React","SlotletProvider","slotlets","Slotlet","name","context","useContext","componentOrElement","slotletProps","useExposedProps","isValidElementType"],"mappings":"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","x_google_ignoreList":[4,5,6]}
1
+ {"version":3,"file":"SlotletProvider-CtIp8rP3.js","sources":["../src/lib/components/DeveloperHint.tsx","../src/lib/components/NotFoundPage.tsx","../src/lib/errors/ErrorAlert.tsx","../src/lib/errors/RouterError.tsx","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/cjs/react-is.production.js","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/.pnpm/react-is@19.0.0/node_modules/react-is/index.js","../src/lib/components/SlotletProvider.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Callout } from \"../ui/Callout.js\";\nimport { Markdown } from \"./Markdown.js\";\n\nexport const DeveloperHint = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n return (\n <Callout type=\"caution\" title=\"Developer hint\" className={className}>\n <div className=\"flex flex-col gap-2\">\n {typeof children === \"string\" ? (\n <Markdown content={children} />\n ) : (\n <div>{children}</div>\n )}\n <small className=\"italic\">\n Note: This hint is only shown in development mode.\n </small>\n </div>\n </Callout>\n );\n};\n","import { UnlinkIcon } from \"lucide-react\";\nimport { Link, useParams } from \"react-router\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { DeveloperHint } from \"./DeveloperHint.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const NotFoundPage = () => {\n const params = useParams();\n\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n <CategoryHeading>404</CategoryHeading>\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n Page not found\n <UnlinkIcon size={24} />\n </Heading>\n <DeveloperHint>\n Start by adding a file at{\" \"}\n <code>\n {\"{PROJECT_ROOT}\"}/{params[\"*\"]}.mdx\n </code>{\" \"}\n and add some content to make this error go away.\n </DeveloperHint>\n <p>\n It seems that the page you are looking for does not exist or may have\n been moved. Please check the URL for any typos or use the navigation\n menu to find the correct page.\n </p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nimport { DeveloperHint } from \"../components/DeveloperHint.js\";\nimport { ZudokuError } from \"../util/invariant.js\";\n\nexport function ErrorAlert({ error }: { error: unknown }) {\n const message =\n error instanceof Error ? error.message : \"Something went wrong\";\n\n const hint = error instanceof ZudokuError ? error.developerHint : undefined;\n const title =\n error instanceof ZudokuError ? error.title : \"Something went wrong\";\n const stack = error instanceof Error ? error.stack : undefined;\n const cause = error instanceof Error ? error.cause : undefined;\n\n return (\n <div className=\"flex h-screen max-h-[calc(100vh-var(--header-height))] min-h-full items-center justify-center bg-primary-background px-4 py-16 lg:px-8\">\n <div className=\"mx-auto max-w-[85%] sm:max-w-[50%]\">\n <h1 className=\"text-4xl font-bold tracking-tight text-h1-text sm:text-5xl\">\n {title}\n </h1>\n <p className=\"mt-5 text-h1-text\">{message}</p>\n {hint && <DeveloperHint className=\"mb-4\">{hint}</DeveloperHint>}\n {cause instanceof Error ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {cause.stack}\n </pre>\n ) : stack ? (\n <pre className=\"mt-5 max-h-[400px] w-full overflow-scroll rounded-md border border-input-border bg-input-background p-3 text-property-name-text text-red-700\">\n {stack}\n </pre>\n ) : null}\n </div>\n </div>\n );\n}\n","import { isRouteErrorResponse, useRouteError } from \"react-router\";\nimport { NotFoundPage } from \"../components/NotFoundPage.js\";\nimport { ErrorAlert } from \"./ErrorAlert.js\";\n\nexport function RouterError() {\n const error = useRouteError();\n\n if (isRouteErrorResponse(error) && error.status === 404) {\n return <NotFoundPage />;\n }\n\n return <ErrorAlert error={error} />;\n}\n","/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\nSymbol.for(\"react.provider\");\nvar REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n}\nexports.ContextConsumer = REACT_CONSUMER_TYPE;\nexports.ContextProvider = REACT_CONTEXT_TYPE;\nexports.Element = REACT_ELEMENT_TYPE;\nexports.ForwardRef = REACT_FORWARD_REF_TYPE;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Lazy = REACT_LAZY_TYPE;\nexports.Memo = REACT_MEMO_TYPE;\nexports.Portal = REACT_PORTAL_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nexports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n};\nexports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n};\nexports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n};\nexports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n};\nexports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n};\nexports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n};\nexports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n};\nexports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n};\nexports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n};\nexports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n};\nexports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n};\nexports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n};\nexports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n};\nexports.typeOf = typeOf;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function typeOf(object) {\n if (\"object\" === typeof object && null !== object) {\n var $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n switch (((object = object.type), object)) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return object;\n default:\n switch (((object = object && object.$$typeof), object)) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return object;\n case REACT_CONSUMER_TYPE:\n return object;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n }\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n exports.ContextConsumer = REACT_CONSUMER_TYPE;\n exports.ContextProvider = REACT_CONTEXT_TYPE;\n exports.Element = REACT_ELEMENT_TYPE;\n exports.ForwardRef = REACT_FORWARD_REF_TYPE;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Lazy = REACT_LAZY_TYPE;\n exports.Memo = REACT_MEMO_TYPE;\n exports.Portal = REACT_PORTAL_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n exports.isContextConsumer = function (object) {\n return typeOf(object) === REACT_CONSUMER_TYPE;\n };\n exports.isContextProvider = function (object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n };\n exports.isElement = function (object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n };\n exports.isForwardRef = function (object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n };\n exports.isFragment = function (object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n };\n exports.isLazy = function (object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n };\n exports.isMemo = function (object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n };\n exports.isPortal = function (object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n };\n exports.isProfiler = function (object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n };\n exports.isStrictMode = function (object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n };\n exports.isSuspense = function (object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n };\n exports.isSuspenseList = function (object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n };\n exports.isValidElementType = function (type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n };\n exports.typeOf = typeOf;\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React, {\n type ComponentType,\n type ReactElement,\n ReactNode,\n useContext,\n} from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport {\n type Location,\n type NavigateFunction,\n type Params,\n type SetURLSearchParams,\n} from \"react-router\";\nimport { useExposedProps } from \"../util/useExposedProps.js\";\n\nexport type Slotlets = Record<\n string,\n ReactNode | ReactElement | ComponentType<ExposedComponentProps>\n>;\n\nconst SlotletContext = React.createContext<Slotlets | undefined>({});\n\nexport const SlotletProvider = ({\n slotlets,\n children,\n}: {\n children: ReactNode;\n slotlets?: Slotlets;\n}) => {\n return (\n <SlotletContext.Provider value={slotlets}>\n {children}\n </SlotletContext.Provider>\n );\n};\n\nexport type ExposedComponentProps = {\n location: Location;\n navigate: NavigateFunction;\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParams;\n params: Params;\n};\n\nexport const Slotlet = ({ name }: { name: string }) => {\n const context = useContext(SlotletContext);\n const componentOrElement = context?.[name];\n const slotletProps = useExposedProps();\n\n if (isValidElementType(componentOrElement)) {\n return React.createElement(componentOrElement, slotletProps);\n }\n\n return componentOrElement as ReactNode;\n};\n"],"names":["DeveloperHint","children","className","jsx","Callout","jsxs","Markdown","NotFoundPage","params","useParams","ProseClasses","CategoryHeading","Heading","UnlinkIcon","Link","ErrorAlert","error","message","hint","ZudokuError","title","stack","cause","RouterError","useRouteError","isRouteErrorResponse","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE","typeOf","object","$$typeof","reactIs_production","type","reactIs_development","reactIsModule","require$$0","require$$1","SlotletContext","React","SlotletProvider","slotlets","Slotlet","name","context","useContext","componentOrElement","slotletProps","useExposedProps","isValidElementType"],"mappings":"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","x_google_ignoreList":[4,5,6]}
@@ -1,8 +1,9 @@
1
- import { j as i } from "./jsx-runtime-Bdg6XQ1m.js";
1
+ import { j as t } from "./jsx-runtime-Bdg6XQ1m.js";
2
2
  import { Slot as d } from "@radix-ui/react-slot";
3
3
  import { c } from "./index-Djenk2Hj.js";
4
4
  import * as u from "react";
5
5
  import { c as m } from "./cn-qaFjX9_3.js";
6
+ import { LoaderCircle as l } from "lucide-react";
6
7
  const f = c(
7
8
  "not-prose inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
8
9
  {
@@ -28,21 +29,23 @@ const f = c(
28
29
  size: "default"
29
30
  }
30
31
  }
31
- ), l = u.forwardRef(
32
- ({ className: e, variant: t, size: r, asChild: o = !1, ...n }, s) => {
33
- const a = o ? d : "button";
34
- return /* @__PURE__ */ i.jsx(
35
- a,
32
+ ), p = u.forwardRef(
33
+ ({ className: e, variant: r, size: o, asChild: n = !1, ...s }, a) => {
34
+ const i = n ? d : "button";
35
+ return /* @__PURE__ */ t.jsx(
36
+ i,
36
37
  {
37
- className: m(f({ variant: t, size: r, className: e })),
38
- ref: s,
39
- ...n
38
+ className: m(f({ variant: r, size: o, className: e })),
39
+ ref: a,
40
+ ...s
40
41
  }
41
42
  );
42
43
  }
43
44
  );
44
- l.displayName = "Button";
45
+ p.displayName = "Button";
46
+ const y = ({ size: e = 16 }) => /* @__PURE__ */ t.jsx(l, { size: e, className: "animate-spin" });
45
47
  export {
46
- l as B
48
+ p as B,
49
+ y as S
47
50
  };
48
- //# sourceMappingURL=Button-oroWHXAy.js.map
51
+ //# sourceMappingURL=Spinner-BlzrEEk1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner-BlzrEEk1.js","sources":["../src/lib/ui/Button.tsx","../src/lib/components/Spinner.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nexport const buttonVariants = cva(\n \"not-prose inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n xl: \"h-14 rounded-lg px-10 text-lg\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n","import { LoaderCircle } from \"lucide-react\";\n\nexport const Spinner = ({ size = 16 }: { size?: number }) => (\n <LoaderCircle size={size} className=\"animate-spin\" />\n);\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","jsx","cn","Spinner","LoaderCircle"],"mappings":";;;;;;AAKO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAQaC,IAASC,EAAM;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,MAAAC,GAAM,SAAAC,IAAU,IAAO,GAAGC,EAAM,GAAGC,MAAQ;AAC1D,UAAAC,IAAOH,IAAUI,IAAO;AAE5B,WAAAC,gBAAAA,EAAA;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,WAAWG,EAAGb,EAAe,EAAE,SAAAK,GAAS,MAAAC,GAAM,WAAAF,EAAA,CAAW,CAAC;AAAA,QAC1D,KAAAK;AAAA,QACC,GAAGD;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAGN;AACAN,EAAO,cAAc;ACpDR,MAAAY,IAAU,CAAC,EAAE,MAAAR,IAAO,SAC9BM,gBAAAA,MAAAG,GAAA,EAAa,MAAAT,GAAY,WAAU,eAAe,CAAA;"}