zudoku 0.0.0-fa903e7 → 0.0.0-fabd0c1

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 (508) hide show
  1. package/client.d.ts +7 -0
  2. package/dist/app/demo.js +1 -1
  3. package/dist/app/demo.js.map +1 -1
  4. package/dist/app/entry.client.d.ts +1 -0
  5. package/dist/app/entry.client.js +14 -15
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.d.ts +1 -0
  8. package/dist/app/entry.server.js +2 -2
  9. package/dist/app/entry.server.js.map +1 -1
  10. package/dist/app/main.d.ts +1 -1
  11. package/dist/app/main.js +2 -1
  12. package/dist/app/main.js.map +1 -1
  13. package/dist/app/sentry.d.ts +3 -0
  14. package/dist/app/sentry.js +19 -0
  15. package/dist/app/sentry.js.map +1 -0
  16. package/dist/app/standalone.js +1 -1
  17. package/dist/app/standalone.js.map +1 -1
  18. package/dist/app/tailwind.d.ts +2 -1
  19. package/dist/app/tailwind.js +64 -52
  20. package/dist/app/tailwind.js.map +1 -1
  21. package/dist/cli/cli.js +0 -2
  22. package/dist/cli/cli.js.map +1 -1
  23. package/dist/cli/cmds/build.js +1 -0
  24. package/dist/cli/cmds/build.js.map +1 -1
  25. package/dist/cli/common/outdated.js +2 -1
  26. package/dist/cli/common/outdated.js.map +1 -1
  27. package/dist/config/common.d.ts +8 -0
  28. package/dist/config/common.js +2 -0
  29. package/dist/config/common.js.map +1 -0
  30. package/dist/config/config.d.ts +3 -2
  31. package/dist/config/loader.d.ts +20 -0
  32. package/dist/config/loader.js +154 -0
  33. package/dist/config/loader.js.map +1 -0
  34. package/dist/config/validators/InputSidebarSchema.d.ts +14 -13
  35. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  36. package/dist/config/validators/common.d.ts +4945 -0
  37. package/dist/config/validators/common.js +280 -0
  38. package/dist/config/validators/common.js.map +1 -0
  39. package/dist/config/validators/icon-types.d.ts +1 -0
  40. package/dist/config/validators/icon-types.js +2 -0
  41. package/dist/config/validators/icon-types.js.map +1 -0
  42. package/dist/config/validators/validate.d.ts +783 -533
  43. package/dist/config/validators/validate.js +9 -234
  44. package/dist/config/validators/validate.js.map +1 -1
  45. package/dist/lib/authentication/components/CallbackHandler.js +1 -1
  46. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  47. package/dist/lib/authentication/components/SignIn.js +1 -1
  48. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  49. package/dist/lib/authentication/components/SignOut.js +1 -1
  50. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  51. package/dist/lib/authentication/providers/openid.d.ts +7 -0
  52. package/dist/lib/authentication/providers/openid.js +8 -2
  53. package/dist/lib/authentication/providers/openid.js.map +1 -1
  54. package/dist/lib/components/AnchorLink.d.ts +1 -1
  55. package/dist/lib/components/AnchorLink.js +1 -1
  56. package/dist/lib/components/AnchorLink.js.map +1 -1
  57. package/dist/lib/components/Bootstrap.d.ts +1 -2
  58. package/dist/lib/components/Bootstrap.js +3 -3
  59. package/dist/lib/components/Bootstrap.js.map +1 -1
  60. package/dist/lib/components/Header.js +2 -2
  61. package/dist/lib/components/Header.js.map +1 -1
  62. package/dist/lib/components/Heading.d.ts +4 -4
  63. package/dist/lib/components/Heading.js +1 -1
  64. package/dist/lib/components/Heading.js.map +1 -1
  65. package/dist/lib/components/Layout.js +4 -3
  66. package/dist/lib/components/Layout.js.map +1 -1
  67. package/dist/lib/components/Markdown.js +1 -1
  68. package/dist/lib/components/Markdown.js.map +1 -1
  69. package/dist/lib/components/MobileTopNavigation.js +1 -1
  70. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  71. package/dist/lib/components/NotFoundPage.js +1 -1
  72. package/dist/lib/components/NotFoundPage.js.map +1 -1
  73. package/dist/lib/components/ReactMarkdown.d.ts +29 -0
  74. package/dist/lib/components/ReactMarkdown.js +182 -0
  75. package/dist/lib/components/ReactMarkdown.js.map +1 -0
  76. package/dist/lib/components/Search.d.ts +3 -1
  77. package/dist/lib/components/Search.js +3 -3
  78. package/dist/lib/components/Search.js.map +1 -1
  79. package/dist/lib/components/SlotletProvider.d.ts +2 -2
  80. package/dist/lib/components/SyntaxHighlight.js +0 -4
  81. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  82. package/dist/lib/components/TopNavigation.d.ts +1 -1
  83. package/dist/lib/components/TopNavigation.js +1 -1
  84. package/dist/lib/components/TopNavigation.js.map +1 -1
  85. package/dist/lib/components/Zudoku.js +1 -1
  86. package/dist/lib/components/Zudoku.js.map +1 -1
  87. package/dist/lib/components/context/ZudokuContext.js +1 -1
  88. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  89. package/dist/lib/components/index.d.ts +4 -4
  90. package/dist/lib/components/index.js +1 -1
  91. package/dist/lib/components/index.js.map +1 -1
  92. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  93. package/dist/lib/components/navigation/Sidebar.js +2 -2
  94. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  95. package/dist/lib/components/navigation/SidebarBadge.d.ts +0 -9
  96. package/dist/lib/components/navigation/SidebarBadge.js +0 -9
  97. package/dist/lib/components/navigation/SidebarBadge.js.map +1 -1
  98. package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
  99. package/dist/lib/components/navigation/SidebarCategory.js +4 -5
  100. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  101. package/dist/lib/components/navigation/SidebarItem.d.ts +2 -4
  102. package/dist/lib/components/navigation/SidebarItem.js +6 -11
  103. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  104. package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
  105. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  106. package/dist/lib/components/navigation/utils.js +1 -1
  107. package/dist/lib/components/navigation/utils.js.map +1 -1
  108. package/dist/lib/core/ZudokuContext.d.ts +1 -1
  109. package/dist/lib/core/plugins.d.ts +3 -5
  110. package/dist/lib/core/plugins.js.map +1 -1
  111. package/dist/lib/errors/RouterError.js +1 -1
  112. package/dist/lib/errors/RouterError.js.map +1 -1
  113. package/dist/lib/oas/graphql/index.js +4 -1
  114. package/dist/lib/oas/graphql/index.js.map +1 -1
  115. package/dist/lib/plugins/api-catalog/Catalog.d.ts +2 -0
  116. package/dist/lib/plugins/api-catalog/Catalog.js +36 -0
  117. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
  118. package/dist/lib/plugins/api-catalog/index.d.ts +30 -0
  119. package/dist/lib/plugins/api-catalog/index.js +15 -0
  120. package/dist/lib/plugins/api-catalog/index.js.map +1 -0
  121. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  122. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  123. package/dist/lib/plugins/api-keys/ProtectedRoute.js +1 -1
  124. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  125. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +1 -1
  126. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  127. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  128. package/dist/lib/plugins/markdown/MdxPage.js +3 -3
  129. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  130. package/dist/lib/plugins/markdown/index.d.ts +3 -1
  131. package/dist/lib/plugins/markdown/index.js.map +1 -1
  132. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  133. package/dist/lib/plugins/openapi/OperationList.js +24 -3
  134. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  135. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  136. package/dist/lib/plugins/openapi/OperationListItem.js +14 -4
  137. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  138. package/dist/lib/plugins/openapi/Route.d.ts +4 -2
  139. package/dist/lib/plugins/openapi/Route.js +25 -2
  140. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  141. package/dist/lib/plugins/openapi/Sidecar.js +3 -13
  142. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  143. package/dist/lib/plugins/openapi/context.d.ts +3 -3
  144. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  145. package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
  146. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  147. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +2 -0
  148. package/dist/lib/plugins/openapi/graphql/graphql.js +1 -0
  149. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  150. package/dist/lib/plugins/openapi/index.js +13 -13
  151. package/dist/lib/plugins/openapi/index.js.map +1 -1
  152. package/dist/lib/plugins/openapi/interfaces.d.ts +19 -0
  153. package/dist/lib/plugins/openapi/playground/PathParams.js +1 -1
  154. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  155. package/dist/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
  156. package/dist/lib/plugins/openapi/util/methodToColor.js +24 -0
  157. package/dist/lib/plugins/openapi/util/methodToColor.js.map +1 -0
  158. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
  159. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js +27 -0
  160. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js.map +1 -0
  161. package/dist/lib/plugins/redirect/index.d.ts +1 -1
  162. package/dist/lib/plugins/redirect/index.js +1 -1
  163. package/dist/lib/plugins/redirect/index.js.map +1 -1
  164. package/dist/lib/plugins/search-inkeep/index.d.ts +22 -3
  165. package/dist/lib/plugins/search-inkeep/index.js +41 -5
  166. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  167. package/dist/lib/plugins/search-inkeep/inkeep.d.ts +3 -4
  168. package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
  169. package/dist/lib/ui/Button.d.ts +1 -1
  170. package/dist/lib/ui/Command.d.ts +1 -1
  171. package/dist/lib/util/MdxComponents.d.ts +18 -19
  172. package/dist/lib/util/MdxComponents.js +1 -3
  173. package/dist/lib/util/MdxComponents.js.map +1 -1
  174. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  175. package/dist/lib/util/useExposedProps.js +1 -1
  176. package/dist/lib/util/useExposedProps.js.map +1 -1
  177. package/dist/lib/util/useOnScreen.d.ts +1 -1
  178. package/dist/lib/util/useScrollToAnchor.js +1 -1
  179. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  180. package/dist/lib/util/useScrollToTop.js +1 -1
  181. package/dist/lib/util/useScrollToTop.js.map +1 -1
  182. package/dist/vite/build.js +15 -3
  183. package/dist/vite/build.js.map +1 -1
  184. package/dist/vite/config.d.ts +6 -4
  185. package/dist/vite/config.js +59 -24
  186. package/dist/vite/config.js.map +1 -1
  187. package/dist/vite/config.test.js +4 -1
  188. package/dist/vite/config.test.js.map +1 -1
  189. package/dist/vite/css/collect.d.ts +2 -0
  190. package/dist/vite/css/collect.js +27 -0
  191. package/dist/vite/css/collect.js.map +1 -0
  192. package/dist/vite/css/plugin.d.ts +5 -0
  193. package/dist/vite/css/plugin.js +79 -0
  194. package/dist/vite/css/plugin.js.map +1 -0
  195. package/dist/vite/dev-server.js +19 -6
  196. package/dist/vite/dev-server.js.map +1 -1
  197. package/dist/vite/output.d.ts +1 -1
  198. package/dist/vite/output.js +25 -16
  199. package/dist/vite/output.js.map +1 -1
  200. package/dist/vite/plugin-api.js +79 -10
  201. package/dist/vite/plugin-api.js.map +1 -1
  202. package/dist/vite/plugin-component.js +1 -0
  203. package/dist/vite/plugin-component.js.map +1 -1
  204. package/dist/vite/plugin-config-reload.d.ts +1 -2
  205. package/dist/vite/plugin-config-reload.js.map +1 -1
  206. package/dist/vite/plugin-config.js +20 -0
  207. package/dist/vite/plugin-config.js.map +1 -1
  208. package/dist/vite/plugin-mdx.js +50 -1
  209. package/dist/vite/plugin-mdx.js.map +1 -1
  210. package/dist/vite/{plugin-custom-css.d.ts → plugin-theme-css.d.ts} +2 -2
  211. package/dist/vite/{plugin-custom-css.js → plugin-theme-css.js} +10 -3
  212. package/dist/vite/plugin-theme-css.js.map +1 -0
  213. package/dist/vite/plugin.d.ts +1 -2
  214. package/dist/vite/plugin.js +6 -2
  215. package/dist/vite/plugin.js.map +1 -1
  216. package/dist/vite/prerender.d.ts +2 -1
  217. package/dist/vite/prerender.js +2 -2
  218. package/dist/vite/prerender.js.map +1 -1
  219. package/dist/vite/sitemap.d.ts +1 -1
  220. package/dist/zuplo/env.d.ts +6 -0
  221. package/dist/zuplo/env.js +9 -0
  222. package/dist/zuplo/env.js.map +1 -0
  223. package/dist/zuplo/with-zuplo.d.ts +2 -2
  224. package/dist/zuplo/with-zuplo.js.map +1 -1
  225. package/lib/AnchorLink-DFZZbmvr.js +34 -0
  226. package/lib/AnchorLink-DFZZbmvr.js.map +1 -0
  227. package/lib/{AuthenticationPlugin-D0Em0SwR.js → AuthenticationPlugin-fB7viE7A.js} +15 -16
  228. package/lib/AuthenticationPlugin-fB7viE7A.js.map +1 -0
  229. package/lib/{Button-jK0EsymC.js → Button-DeAoTouo.js} +4 -4
  230. package/lib/{Button-jK0EsymC.js.map → Button-DeAoTouo.js.map} +1 -1
  231. package/lib/{CategoryHeading-Bb9dqxD3.js → CategoryHeading-CBconmtI.js} +3 -3
  232. package/lib/{CategoryHeading-Bb9dqxD3.js.map → CategoryHeading-CBconmtI.js.map} +1 -1
  233. package/lib/ClientOnly-E7hGysn1.js.map +1 -1
  234. package/lib/{Dialog-k70Qfukb.js → Dialog-Bxv1yEIg.js} +3 -3
  235. package/lib/{Dialog-k70Qfukb.js.map → Dialog-Bxv1yEIg.js.map} +1 -1
  236. package/lib/{Markdown-ievDDhFT.js → Markdown-CZDLNOFc.js} +13227 -13217
  237. package/lib/Markdown-CZDLNOFc.js.map +1 -0
  238. package/lib/{MdxPage-B2FpJ9KC.js → MdxPage-CPBw4_lf.js} +82 -77
  239. package/lib/MdxPage-CPBw4_lf.js.map +1 -0
  240. package/lib/OperationList-n4U_BHmO.js +5062 -0
  241. package/lib/OperationList-n4U_BHmO.js.map +1 -0
  242. package/lib/Route-C8nwd9A2.js +37 -0
  243. package/lib/Route-C8nwd9A2.js.map +1 -0
  244. package/lib/{Select-O9ZM3ZgX.js → Select-D3XuKKuH.js} +5 -5
  245. package/lib/{Select-O9ZM3ZgX.js.map → Select-D3XuKKuH.js.map} +1 -1
  246. package/lib/SlotletProvider-pfc9oejW.js +221 -0
  247. package/lib/SlotletProvider-pfc9oejW.js.map +1 -0
  248. package/lib/{Spinner-3cQDBVGr.js → Spinner-DuxJLLNE.js} +2 -2
  249. package/lib/{Spinner-3cQDBVGr.js.map → Spinner-DuxJLLNE.js.map} +1 -1
  250. package/lib/StaggeredRender-DgsamH_G.js +17 -0
  251. package/lib/StaggeredRender-DgsamH_G.js.map +1 -0
  252. package/lib/{SyntaxHighlight-DkLOsjHS.js → SyntaxHighlight-Bz-lOJtH.js} +8 -12
  253. package/lib/{SyntaxHighlight-DkLOsjHS.js.map → SyntaxHighlight-Bz-lOJtH.js.map} +1 -1
  254. package/lib/assets/{index-B_Jk_Yzp.js → index-C7jnHK4b.js} +218 -197
  255. package/lib/assets/index-C7jnHK4b.js.map +1 -0
  256. package/lib/assets/{worker-BHClFO3A.js → worker-D2kRl-cG.js} +5285 -4904
  257. package/lib/assets/worker-D2kRl-cG.js.map +1 -0
  258. package/lib/chunk-D52XG6IA-Dl7HLe6j.js +1823 -0
  259. package/lib/chunk-D52XG6IA-Dl7HLe6j.js.map +1 -0
  260. package/lib/{cn-BmFQLtkS.js → cn-qaFjX9_3.js} +2 -2
  261. package/lib/cn-qaFjX9_3.js.map +1 -0
  262. package/lib/{context-D1nXWxm7.js → context-h_UkBLvr.js} +2 -2
  263. package/lib/context-h_UkBLvr.js.map +1 -0
  264. package/lib/{createServer-CpJlUPtn.js → createServer-69sLlmQA.js} +4820 -4440
  265. package/lib/createServer-69sLlmQA.js.map +1 -0
  266. package/lib/{hook-hEqe7fPB.js → hook-DgGeo5iL.js} +3 -3
  267. package/lib/{hook-hEqe7fPB.js.map → hook-DgGeo5iL.js.map} +1 -1
  268. package/lib/{index-CkwDvuPt.js → index-CBXSgjaE.js} +259 -238
  269. package/lib/index-CBXSgjaE.js.map +1 -0
  270. package/lib/index-CPNSgwSb.js +36 -0
  271. package/lib/index-CPNSgwSb.js.map +1 -0
  272. package/lib/index-DStSNvP-.js +1284 -0
  273. package/lib/index-DStSNvP-.js.map +1 -0
  274. package/lib/index-LNp6rxyU.js.map +1 -1
  275. package/lib/index.esm-BSV1C092.js +692 -0
  276. package/lib/index.esm-BSV1C092.js.map +1 -0
  277. package/lib/index.esm-BnnBRKJX.js +1214 -0
  278. package/lib/index.esm-BnnBRKJX.js.map +1 -0
  279. package/lib/invariant-Caa8-XvF.js.map +1 -1
  280. package/lib/jsx-runtime-Dx-03ztt.js +446 -0
  281. package/lib/jsx-runtime-Dx-03ztt.js.map +1 -0
  282. package/lib/object_hash-BNWPnMN9.js +787 -0
  283. package/lib/object_hash-BNWPnMN9.js.map +1 -0
  284. package/lib/post-processors/removeExtensions.js.map +1 -1
  285. package/lib/post-processors/removePaths.js.map +1 -1
  286. package/lib/post-processors/traverse.js.map +1 -1
  287. package/lib/prism-csharp.min-DUwvItt4.js +63 -0
  288. package/lib/{prism-csharp.min-Yizuc34Y.js.map → prism-csharp.min-DUwvItt4.js.map} +1 -1
  289. package/lib/prism-java.min-BtgBR4yd.js +35 -0
  290. package/lib/{prism-java.min-d5iT_mOd.js.map → prism-java.min-BtgBR4yd.js.map} +1 -1
  291. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  292. package/lib/prism-ruby.min-DeDXCp1r.js +38 -0
  293. package/lib/{prism-ruby.min-C7LwcKyz.js.map → prism-ruby.min-DeDXCp1r.js.map} +1 -1
  294. package/lib/prism-typescript.min-CD7H2IYQ.js +34 -0
  295. package/lib/{prism-typescript.min-oSVeWCAd.js.map → prism-typescript.min-CD7H2IYQ.js.map} +1 -1
  296. package/lib/state-CFQsUZUP.js +202 -0
  297. package/lib/state-CFQsUZUP.js.map +1 -0
  298. package/lib/ui/Accordion.js +2 -2
  299. package/lib/ui/Accordion.js.map +1 -1
  300. package/lib/ui/ActionButton.js +4 -4
  301. package/lib/ui/ActionButton.js.map +1 -1
  302. package/lib/ui/Alert.js +3 -3
  303. package/lib/ui/Alert.js.map +1 -1
  304. package/lib/ui/AlertDialog.js +2 -2
  305. package/lib/ui/AlertDialog.js.map +1 -1
  306. package/lib/ui/Badge.js +3 -3
  307. package/lib/ui/Badge.js.map +1 -1
  308. package/lib/ui/Breadcrumb.js +2 -2
  309. package/lib/ui/Breadcrumb.js.map +1 -1
  310. package/lib/ui/Button.js +3 -3
  311. package/lib/ui/Button.js.map +1 -1
  312. package/lib/ui/Callout.js +2 -2
  313. package/lib/ui/Callout.js.map +1 -1
  314. package/lib/ui/Card.js +2 -2
  315. package/lib/ui/Card.js.map +1 -1
  316. package/lib/ui/Carousel.js +407 -401
  317. package/lib/ui/Carousel.js.map +1 -1
  318. package/lib/ui/Checkbox.js +2 -2
  319. package/lib/ui/Checkbox.js.map +1 -1
  320. package/lib/ui/Command.js +111 -108
  321. package/lib/ui/Command.js.map +1 -1
  322. package/lib/ui/Dialog.js +2 -2
  323. package/lib/ui/Dialog.js.map +1 -1
  324. package/lib/ui/Drawer.js +81 -81
  325. package/lib/ui/Drawer.js.map +1 -1
  326. package/lib/ui/DropdownMenu.js +2 -2
  327. package/lib/ui/DropdownMenu.js.map +1 -1
  328. package/lib/ui/Form.js +3 -3
  329. package/lib/ui/Form.js.map +1 -1
  330. package/lib/ui/HoverCard.js +2 -2
  331. package/lib/ui/Input.js +2 -2
  332. package/lib/ui/Input.js.map +1 -1
  333. package/lib/ui/Label.js +3 -3
  334. package/lib/ui/Pagination.js +2 -2
  335. package/lib/ui/Pagination.js.map +1 -1
  336. package/lib/ui/Popover.js +2 -2
  337. package/lib/ui/Popover.js.map +1 -1
  338. package/lib/ui/Progress.js +2 -2
  339. package/lib/ui/Progress.js.map +1 -1
  340. package/lib/ui/RadioGroup.js +2 -2
  341. package/lib/ui/RadioGroup.js.map +1 -1
  342. package/lib/ui/ScrollArea.js +2 -2
  343. package/lib/ui/ScrollArea.js.map +1 -1
  344. package/lib/ui/Select.js +2 -2
  345. package/lib/ui/Select.js.map +1 -1
  346. package/lib/ui/Skeleton.js +2 -2
  347. package/lib/ui/Skeleton.js.map +1 -1
  348. package/lib/ui/Slider.js +2 -2
  349. package/lib/ui/Switch.js +2 -2
  350. package/lib/ui/Switch.js.map +1 -1
  351. package/lib/ui/Tabs.js +2 -2
  352. package/lib/ui/Textarea.js +2 -2
  353. package/lib/ui/Textarea.js.map +1 -1
  354. package/lib/ui/Toggle.js +3 -3
  355. package/lib/ui/Toggle.js.map +1 -1
  356. package/lib/ui/ToggleGroup.js +2 -2
  357. package/lib/ui/ToggleGroup.js.map +1 -1
  358. package/lib/ui/Tooltip.js +2 -2
  359. package/lib/useExposedProps-DE9lR6MF.js +9 -0
  360. package/lib/useExposedProps-DE9lR6MF.js.map +1 -0
  361. package/lib/{utils-DcpDOncX.js → utils-B4O1uet5.js} +35 -36
  362. package/lib/{utils-DcpDOncX.js.map → utils-B4O1uet5.js.map} +1 -1
  363. package/lib/zudoku.auth-auth0.js +1 -1
  364. package/lib/zudoku.auth-auth0.js.map +1 -1
  365. package/lib/zudoku.auth-clerk.js +2 -2
  366. package/lib/zudoku.auth-clerk.js.map +1 -1
  367. package/lib/zudoku.auth-openid.js +382 -374
  368. package/lib/zudoku.auth-openid.js.map +1 -1
  369. package/lib/zudoku.components.js +773 -992
  370. package/lib/zudoku.components.js.map +1 -1
  371. package/lib/zudoku.openapi-worker.js +1 -1
  372. package/lib/zudoku.openapi-worker.js.map +1 -1
  373. package/lib/zudoku.plugin-api-catalog.js +123 -0
  374. package/lib/zudoku.plugin-api-catalog.js.map +1 -0
  375. package/lib/zudoku.plugin-api-keys.js +15 -16
  376. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  377. package/lib/zudoku.plugin-custom-pages.js +4 -4
  378. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  379. package/lib/zudoku.plugin-markdown.js +2 -2
  380. package/lib/zudoku.plugin-markdown.js.map +1 -1
  381. package/lib/zudoku.plugin-openapi.js +5 -5
  382. package/lib/zudoku.plugin-redirect.js +1 -1
  383. package/lib/zudoku.plugin-redirect.js.map +1 -1
  384. package/lib/zudoku.plugin-search-inkeep.js +53 -24
  385. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  386. package/package.json +59 -47
  387. package/src/app/demo.tsx +1 -1
  388. package/src/app/entry.client.tsx +16 -15
  389. package/src/app/entry.server.tsx +3 -2
  390. package/src/app/main.tsx +6 -2
  391. package/src/app/sentry.ts +24 -0
  392. package/src/app/standalone.tsx +1 -1
  393. package/src/app/tailwind.ts +67 -52
  394. package/src/lib/authentication/components/CallbackHandler.tsx +1 -1
  395. package/src/lib/authentication/components/SignIn.tsx +1 -1
  396. package/src/lib/authentication/components/SignOut.tsx +1 -1
  397. package/src/lib/authentication/providers/openid.tsx +12 -5
  398. package/src/lib/components/AnchorLink.tsx +1 -1
  399. package/src/lib/components/Bootstrap.tsx +4 -6
  400. package/src/lib/components/Header.tsx +2 -2
  401. package/src/lib/components/Heading.tsx +13 -13
  402. package/src/lib/components/Layout.tsx +10 -5
  403. package/src/lib/components/Markdown.tsx +1 -1
  404. package/src/lib/components/MobileTopNavigation.tsx +18 -18
  405. package/src/lib/components/NotFoundPage.tsx +1 -1
  406. package/src/lib/components/ReactMarkdown.license.txt +21 -0
  407. package/src/lib/components/ReactMarkdown.tsx +264 -0
  408. package/src/lib/components/Search.tsx +3 -3
  409. package/src/lib/components/SlotletProvider.tsx +1 -1
  410. package/src/lib/components/SyntaxHighlight.tsx +0 -4
  411. package/src/lib/components/TopNavigation.tsx +2 -2
  412. package/src/lib/components/Zudoku.tsx +1 -1
  413. package/src/lib/components/context/ZudokuContext.ts +1 -1
  414. package/src/lib/components/index.ts +1 -1
  415. package/src/lib/components/navigation/Sidebar.tsx +18 -8
  416. package/src/lib/components/navigation/SidebarBadge.tsx +0 -10
  417. package/src/lib/components/navigation/SidebarCategory.tsx +11 -10
  418. package/src/lib/components/navigation/SidebarItem.tsx +11 -14
  419. package/src/lib/components/navigation/SidebarWrapper.tsx +1 -1
  420. package/src/lib/components/navigation/utils.ts +1 -1
  421. package/src/lib/core/ZudokuContext.ts +1 -1
  422. package/src/lib/core/plugins.ts +3 -7
  423. package/src/lib/errors/RouterError.tsx +1 -1
  424. package/src/lib/oas/graphql/index.ts +4 -1
  425. package/src/lib/plugins/api-catalog/Catalog.tsx +123 -0
  426. package/src/lib/plugins/api-catalog/index.tsx +64 -0
  427. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  428. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +1 -1
  429. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +1 -1
  430. package/src/lib/plugins/api-keys/index.tsx +1 -1
  431. package/src/lib/plugins/custom-pages/index.tsx +1 -1
  432. package/src/lib/plugins/markdown/MdxPage.tsx +3 -1
  433. package/src/lib/plugins/markdown/index.tsx +4 -2
  434. package/src/lib/plugins/markdown/resolver.ts +2 -4
  435. package/src/lib/plugins/openapi/OperationList.tsx +64 -8
  436. package/src/lib/plugins/openapi/OperationListItem.tsx +31 -2
  437. package/src/lib/plugins/openapi/Route.tsx +45 -9
  438. package/src/lib/plugins/openapi/Sidecar.tsx +3 -17
  439. package/src/lib/plugins/openapi/context.tsx +2 -2
  440. package/src/lib/plugins/openapi/graphql/gql.ts +2 -2
  441. package/src/lib/plugins/openapi/graphql/graphql.ts +3 -0
  442. package/src/lib/plugins/openapi/index.tsx +35 -28
  443. package/src/lib/plugins/openapi/interfaces.ts +22 -1
  444. package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -0
  445. package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
  446. package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
  447. package/src/lib/plugins/redirect/index.tsx +2 -2
  448. package/src/lib/plugins/search-inkeep/index.tsx +78 -23
  449. package/src/lib/plugins/search-inkeep/inkeep.ts +3 -9
  450. package/src/lib/util/MdxComponents.tsx +3 -8
  451. package/src/lib/util/createVariantComponent.tsx +2 -2
  452. package/src/lib/util/useExposedProps.tsx +1 -1
  453. package/src/lib/util/useScrollToAnchor.ts +1 -1
  454. package/src/lib/util/useScrollToTop.ts +1 -1
  455. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.d.ts +0 -2
  456. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js +0 -3
  457. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js.map +0 -1
  458. package/dist/vite/plugin-custom-css.js.map +0 -1
  459. package/lib/AnchorLink-CDlhr8gL.js +0 -706
  460. package/lib/AnchorLink-CDlhr8gL.js.map +0 -1
  461. package/lib/AuthenticationPlugin-D0Em0SwR.js.map +0 -1
  462. package/lib/InkeepCustomTrigger-CE5-K5ex.js +0 -6
  463. package/lib/InkeepCustomTrigger-CE5-K5ex.js.map +0 -1
  464. package/lib/Markdown-ievDDhFT.js.map +0 -1
  465. package/lib/MdxPage-B2FpJ9KC.js.map +0 -1
  466. package/lib/OperationList-BkNQEsNs.js +0 -4693
  467. package/lib/OperationList-BkNQEsNs.js.map +0 -1
  468. package/lib/Route-DlG_HTMu.js +0 -11
  469. package/lib/Route-DlG_HTMu.js.map +0 -1
  470. package/lib/SidebarBadge-DxFJcJ6V.js +0 -51
  471. package/lib/SidebarBadge-DxFJcJ6V.js.map +0 -1
  472. package/lib/SlotletProvider-DyomlzGx.js +0 -252
  473. package/lib/SlotletProvider-DyomlzGx.js.map +0 -1
  474. package/lib/assets/index-B_Jk_Yzp.js.map +0 -1
  475. package/lib/assets/worker-BHClFO3A.js.map +0 -1
  476. package/lib/cn-BmFQLtkS.js.map +0 -1
  477. package/lib/context-D1nXWxm7.js.map +0 -1
  478. package/lib/createServer-CpJlUPtn.js.map +0 -1
  479. package/lib/index-BuAyrJe3.js +0 -46
  480. package/lib/index-BuAyrJe3.js.map +0 -1
  481. package/lib/index-C7SaIME0.js +0 -1277
  482. package/lib/index-C7SaIME0.js.map +0 -1
  483. package/lib/index-CkwDvuPt.js.map +0 -1
  484. package/lib/index-Czzd9rjU.js +0 -899
  485. package/lib/index-Czzd9rjU.js.map +0 -1
  486. package/lib/index-Yn8c3UWE.js +0 -921
  487. package/lib/index-Yn8c3UWE.js.map +0 -1
  488. package/lib/index.esm-C5mr_sKO.js +0 -1193
  489. package/lib/index.esm-C5mr_sKO.js.map +0 -1
  490. package/lib/jsx-runtime-B6kdoens.js +0 -635
  491. package/lib/jsx-runtime-B6kdoens.js.map +0 -1
  492. package/lib/object_hash-CvlLgU-M.js +0 -785
  493. package/lib/object_hash-CvlLgU-M.js.map +0 -1
  494. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  495. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  496. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  497. package/lib/prism-markup-templating-DZrrEs0A.js.map +0 -1
  498. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  499. package/lib/prism-php.min-o7FpoMP_.js.map +0 -1
  500. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  501. package/lib/prism-typescript.min-oSVeWCAd.js +0 -6
  502. package/lib/router-lfyopgBI.js +0 -3024
  503. package/lib/router-lfyopgBI.js.map +0 -1
  504. package/lib/state-tsXBLONe.js +0 -203
  505. package/lib/state-tsXBLONe.js.map +0 -1
  506. package/lib/useExposedProps-CTPtylCV.js +0 -10
  507. package/lib/useExposedProps-CTPtylCV.js.map +0 -1
  508. package/src/lib/plugins/search-inkeep/InkeepCustomTrigger.tsx +0 -3
@@ -2,6 +2,7 @@ import rehypeMetaAsAttributes from "@lekoarts/rehype-meta-as-attributes";
2
2
  import mdx from "@mdx-js/rollup";
3
3
  import withToc from "@stefanprobst/rehype-extract-toc";
4
4
  import withTocExport from "@stefanprobst/rehype-extract-toc/mdx";
5
+ import { toString as hastToString } from "hast-util-to-string";
5
6
  import path from "node:path";
6
7
  import rehypeSlug from "rehype-slug";
7
8
  import remarkComment from "remark-comment";
@@ -10,7 +11,7 @@ import remarkDirectiveRehype from "remark-directive-rehype";
10
11
  import remarkFrontmatter from "remark-frontmatter";
11
12
  import remarkGfm from "remark-gfm";
12
13
  import remarkMdxFrontmatter from "remark-mdx-frontmatter";
13
- import { visit } from "unist-util-visit";
14
+ import { EXIT, visit } from "unist-util-visit";
14
15
  import { remarkStaticGeneration } from "./remarkStaticGeneration.js";
15
16
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
17
  const rehypeCodeBlockPlugin = () => (tree) => {
@@ -50,6 +51,51 @@ const rehypeMediaBasePath = (basePath = "") =>
50
51
  }
51
52
  });
52
53
  };
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ const rehypeExcerptWithMdxExport = () => (tree, _vfile) => {
56
+ let excerpt;
57
+ visit(tree, "element", (node) => {
58
+ if (node.tagName !== "p")
59
+ return;
60
+ excerpt = hastToString(node);
61
+ return EXIT;
62
+ });
63
+ if (!excerpt)
64
+ return;
65
+ // Inject the excerpt as a named export into the MDX AST
66
+ // Injection code taken from @stefanprobst/rehype-extract-toc/mdx
67
+ tree.children.unshift({
68
+ type: "mdxjsEsm",
69
+ data: {
70
+ estree: {
71
+ type: "Program",
72
+ sourceType: "module",
73
+ body: [
74
+ {
75
+ type: "ExportNamedDeclaration",
76
+ source: null,
77
+ specifiers: [],
78
+ declaration: {
79
+ type: "VariableDeclaration",
80
+ kind: "const",
81
+ declarations: [
82
+ {
83
+ type: "VariableDeclarator",
84
+ id: { name: "excerpt", type: "Identifier" },
85
+ init: {
86
+ type: "Literal",
87
+ value: excerpt,
88
+ raw: JSON.stringify(excerpt),
89
+ },
90
+ },
91
+ ],
92
+ },
93
+ },
94
+ ],
95
+ },
96
+ },
97
+ });
98
+ };
53
99
  const viteMdxPlugin = (getConfig) => {
54
100
  const config = getConfig();
55
101
  return {
@@ -71,6 +117,7 @@ const viteMdxPlugin = (getConfig) => {
71
117
  remarkDirectiveRehype,
72
118
  [remarkLinkRewritePlugin, config.basePath],
73
119
  ...(config.build?.remarkPlugins ?? []),
120
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
121
  ],
75
122
  rehypePlugins: [
76
123
  rehypeSlug,
@@ -79,7 +126,9 @@ const viteMdxPlugin = (getConfig) => {
79
126
  [rehypeMediaBasePath, config.basePath],
80
127
  withToc,
81
128
  withTocExport,
129
+ rehypeExcerptWithMdxExport,
82
130
  ...(config.build?.rehypePlugins ?? []),
131
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
132
  ],
84
133
  }),
85
134
  name: "zudoku-mdx-plugin",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { type Plugin } from "vite";
2
2
  import { type ZudokuPluginOptions } from "../config/config.js";
3
3
  declare const THEME_VARIABLES: readonly ["background", "foreground", "card", "cardForeground", "popover", "popoverForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "muted", "mutedForeground", "accent", "accentForeground", "destructive", "destructiveForeground", "border", "input", "ring", "radius"];
4
4
  export type Theme = Partial<Record<(typeof THEME_VARIABLES)[number], string>>;
5
- declare const viteCustomCss: (getConfig: () => ZudokuPluginOptions) => Plugin;
6
- export default viteCustomCss;
5
+ export declare const viteThemeCss: (getConfig: () => ZudokuPluginOptions) => Plugin;
6
+ export {};
@@ -26,7 +26,7 @@ const generateCss = (theme) => objectEntries(theme)
26
26
  .filter(([key]) => THEME_VARIABLES.includes(key))
27
27
  .map(([key, value]) => `--${uncamelize(key)}:${value};`)
28
28
  .join("\n");
29
- const viteCustomCss = (getConfig) => {
29
+ export const viteThemeCss = (getConfig) => {
30
30
  const virtualModuleId = "virtual:zudoku-theme.css";
31
31
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
32
32
  return {
@@ -41,6 +41,14 @@ const viteCustomCss = (getConfig) => {
41
41
  return;
42
42
  const config = getConfig();
43
43
  const cssParts = [];
44
+ // It's important that @import statements come first:
45
+ // > "@import must precede all other statements (besides @charset or empty @layer)"
46
+ if (config.theme?.fonts?.sans) {
47
+ cssParts.push(`@import url('${config.theme.fonts.sans.url}');`);
48
+ }
49
+ if (config.theme?.fonts?.mono) {
50
+ cssParts.push(`@import url('${config.theme.fonts.mono.url}');`);
51
+ }
44
52
  if (config.theme?.light) {
45
53
  cssParts.push(`:root:root { ${generateCss(config.theme.light)} }`);
46
54
  }
@@ -51,5 +59,4 @@ const viteCustomCss = (getConfig) => {
51
59
  },
52
60
  };
53
61
  };
54
- export default viteCustomCss;
55
- //# sourceMappingURL=plugin-custom-css.js.map
62
+ //# sourceMappingURL=plugin-theme-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-theme-css.js","sourceRoot":"","sources":["../../src/vite/plugin-theme-css.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,gBAAgB;IAChB,SAAS;IACT,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,qBAAqB;IACrB,OAAO;IACP,iBAAiB;IACjB,QAAQ;IACR,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;CACA,CAAC;AAEX,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAIhE,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE,CACnC,aAAa,CAAC,KAAK,CAAC;KACjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;KACvD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAU,EAAE;IAC3E,MAAM,eAAe,GAAG,0BAA0B,CAAC;IACnD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAE3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,qDAAqD;YACrD,mFAAmF;YACnF,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { type PluginOption } from "vite";
2
- import { type ZudokuPluginOptions } from "../config/config.js";
3
- import { type LoadedConfig } from "./config.js";
2
+ import { LoadedConfig, type ZudokuPluginOptions } from "../config/config.js";
4
3
  export default function vitePlugin(initialConfig: ZudokuPluginOptions, onConfigChange?: () => Promise<LoadedConfig>): PluginOption;
@@ -1,11 +1,11 @@
1
1
  import react from "@vitejs/plugin-react";
2
+ import { vitePluginSsrCss } from "./css/plugin.js";
2
3
  import viteApiKeysPlugin from "./plugin-api-keys.js";
3
4
  import viteApiPlugin from "./plugin-api.js";
4
5
  import viteAuthPlugin from "./plugin-auth.js";
5
6
  import viteAliasPlugin from "./plugin-component.js";
6
7
  import { createConfigReloadPlugin } from "./plugin-config-reload.js";
7
8
  import viteConfigPlugin from "./plugin-config.js";
8
- import viteCustomCss from "./plugin-custom-css.js";
9
9
  import viteCustomPagesPlugin from "./plugin-custom-pages.js";
10
10
  import viteDocsPlugin from "./plugin-docs.js";
11
11
  import { viteFrontmatterPlugin } from "./plugin-frontmatter.js";
@@ -13,10 +13,14 @@ import viteMdxPlugin from "./plugin-mdx.js";
13
13
  import viteRedirectPlugin from "./plugin-redirect.js";
14
14
  import { viteSearchPlugin } from "./plugin-search.js";
15
15
  import { viteSidebarPlugin } from "./plugin-sidebar.js";
16
+ import { viteThemeCss } from "./plugin-theme-css.js";
16
17
  export default function vitePlugin(initialConfig, onConfigChange) {
17
18
  const [configReloadPlugin, getCurrentConfig] = createConfigReloadPlugin(initialConfig, onConfigChange);
18
19
  return [
19
20
  viteMdxPlugin(getCurrentConfig),
21
+ vitePluginSsrCss(getCurrentConfig, {
22
+ entries: ["zudoku/app/entry.server.tsx"],
23
+ }),
20
24
  react({ include: /\.(mdx?|jsx?|tsx?)$/ }),
21
25
  viteConfigPlugin(getCurrentConfig),
22
26
  viteApiKeysPlugin(getCurrentConfig),
@@ -29,7 +33,7 @@ export default function vitePlugin(initialConfig, onConfigChange) {
29
33
  viteSearchPlugin(getCurrentConfig),
30
34
  viteAliasPlugin(getCurrentConfig),
31
35
  viteRedirectPlugin(getCurrentConfig),
32
- viteCustomCss(getCurrentConfig),
36
+ viteThemeCss(getCurrentConfig),
33
37
  configReloadPlugin,
34
38
  ];
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAIzC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,EAAE;YACjC,OAAO,EAAE,CAAC,6BAA6B,CAAC;SACzC,CAAC;QACF,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,YAAY,CAAC,gBAAgB,CAAC;QAC9B,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
@@ -14,8 +14,9 @@ export declare class FileWritingResponse {
14
14
  end(chunk?: string): Promise<void>;
15
15
  isSent(): Promise<void>;
16
16
  }
17
- export declare const prerender: ({ html, dir, base, }: {
17
+ export declare const prerender: ({ html, dir, base, serverConfigFilename, }: {
18
18
  html: string;
19
19
  dir: string;
20
20
  base?: string;
21
+ serverConfigFilename: string;
21
22
  }) => Promise<string[]>;
@@ -57,11 +57,11 @@ const routesToPaths = (routes) => {
57
57
  addPaths(routes);
58
58
  return paths;
59
59
  };
60
- export const prerender = async ({ html, dir, base = "", }) => {
60
+ export const prerender = async ({ html, dir, base = "", serverConfigFilename, }) => {
61
61
  // eslint-disable-next-line no-console
62
62
  console.log("Prerendering...");
63
63
  const distDir = path.join(dir, "dist", base);
64
- const config = await import(pathToFileURL(path.join(distDir, "server/zudoku.config.js")).href).then((m) => m.default);
64
+ const config = await import(pathToFileURL(path.join(distDir, "server", serverConfigFilename)).href).then((m) => m.default);
65
65
  const module = await import(pathToFileURL(path.join(distDir, "server/entry.server.js")).href);
66
66
  const render = module.render;
67
67
  const getRoutes = module.getRoutesByConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,OAAO,mBAAmB;IAcD;IAbrB,MAAM,GAAG,EAAE,CAAC;IACZ,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACnB,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IAEpE,GAAG,KAAI,CAAC;IACR,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,EAAE,KAAI,CAAC;IAEP,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,CAAC,KAAa,EAAE,SAAkB;QACrC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,CAAC,MAA4C,EAAE,EAAE;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,MAA4C,EAAE,EAAE;QAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,IAAI,EACJ,GAAG,EACH,IAAI,GAAG,EAAE,GAKV,EAAE,EAAE;IACH,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAiB,MAAM,MAAM,CACvC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAClE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAA6B,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,CAAC,iBAA6C,CAAC;IAEvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,OAAO,CACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,IAAI,CACrE,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,CAAC;QAErE,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEvE,MAAM,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,eAAe,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,aAAa,EAAE,OAAO;KACvB,CAAC,CAAC;IAEH,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEjD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ZudokuSiteMapConfig } from "../config/validators/validate.js";
1
+ import { ZudokuSiteMapConfig } from "../config/validators/common.js";
2
2
  export declare function generateSitemap({ outputUrls, basePath, baseOutputDir, config, }: {
3
3
  /**
4
4
  * The base path of the site (e.g. `/docs`).
@@ -0,0 +1,6 @@
1
+ export declare const ZuploEnv: {
2
+ /**
3
+ * Indicates that the build is running in Zuplo "mode"
4
+ */
5
+ readonly isZuplo: boolean;
6
+ };
@@ -0,0 +1,9 @@
1
+ export const ZuploEnv = {
2
+ /**
3
+ * Indicates that the build is running in Zuplo "mode"
4
+ */
5
+ get isZuplo() {
6
+ return process.env.ZUPLO === "1";
7
+ },
8
+ };
9
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/zuplo/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;IACnC,CAAC;CACF,CAAC"}
@@ -1,3 +1,3 @@
1
- import { ZudokuConfig } from "../config/config.js";
2
- declare function withZuplo(config: ZudokuConfig): ZudokuConfig;
1
+ import { CommonConfig } from "../config/validators/common.js";
2
+ declare function withZuplo<TConfig extends CommonConfig>(config: TConfig): TConfig;
3
3
  export default withZuplo;
@@ -1 +1 @@
1
- {"version":3,"file":"with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/with-zuplo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,uDAAuD,CAAC;AAEpF,SAAS,SAAS,CAAC,MAAoB;IACrC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG;YACtB,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC;gBACV,mDAAmD;gBACnD,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC;aACzD,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/with-zuplo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,uDAAuD,CAAC;AAEpF,SAAS,SAAS,CAA+B,MAAe;IAC9D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,MAAuB;IAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG;YACtB,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC;gBACV,mDAAmD;gBACnD,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC;aACzD,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,34 @@
1
+ import e from "react";
2
+ import { j as r } from "./jsx-runtime-Dx-03ztt.js";
3
+ import { u as l, L as m } from "./chunk-D52XG6IA-Dl7HLe6j.js";
4
+ const c = {}, u = e.createContext(c);
5
+ function f(t) {
6
+ const n = e.useContext(u);
7
+ return e.useMemo(
8
+ function() {
9
+ return typeof t == "function" ? t(n) : { ...n, ...t };
10
+ },
11
+ [n, t]
12
+ );
13
+ }
14
+ function h(t) {
15
+ let n;
16
+ return t.disableParentContext ? n = typeof t.components == "function" ? t.components(c) : t.components || c : n = f(t.components), e.createElement(
17
+ u.Provider,
18
+ { value: n },
19
+ t.children
20
+ );
21
+ }
22
+ const y = (t) => {
23
+ const n = l(), o = typeof t.to == "string" ? t.to : t.to.hash, i = (a) => {
24
+ var s;
25
+ !(o != null && o.startsWith("#")) || o !== n.hash || (a.preventDefault(), (s = document.getElementById(o.slice(1))) == null || s.scrollIntoView());
26
+ };
27
+ return /* @__PURE__ */ r.jsx(m, { onClick: i, ...t });
28
+ };
29
+ export {
30
+ y as A,
31
+ h as M,
32
+ f as u
33
+ };
34
+ //# sourceMappingURL=AnchorLink-DFZZbmvr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnchorLink-DFZZbmvr.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.0_@types+react@19.0.1_react@19.0.0/node_modules/@mdx-js/react/lib/index.js","../src/lib/components/AnchorLink.tsx"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","import React from \"react\";\nimport { Link, type LinkProps, useLocation } from \"react-router\";\n\n/**\n * Link that scrolls to anchor even if the hash is already set in the URL.\n */\nexport const AnchorLink = (props: LinkProps) => {\n const location = useLocation();\n const hash = typeof props.to === \"string\" ? props.to : props.to.hash;\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (!hash?.startsWith(\"#\") || hash !== location.hash) return;\n\n event.preventDefault();\n document.getElementById(hash.slice(1))?.scrollIntoView();\n };\n\n return <Link onClick={handleClick} {...props} />;\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","AnchorLink","props","location","useLocation","hash","handleClick","event","_a","jsx","Link"],"mappings":";;;AA0BA,MAAMA,IAAkB,CAAA,GAElBC,IAAaC,EAAM,cAAcF,CAAe;AAU/C,SAASG,EAAiBC,GAAY;AAC3C,QAAMC,IAAoBH,EAAM,WAAWD,CAAU;AAGrD,SAAOC,EAAM;AAAA,IACX,WAAY;AAEV,aAAI,OAAOE,KAAe,aACjBA,EAAWC,CAAiB,IAG9B,EAAC,GAAGA,GAAmB,GAAGD,EAAU;AAAA,IAC5C;AAAA,IACD,CAACC,GAAmBD,CAAU;AAAA,EAClC;AACA;AAWO,SAASE,EAAYC,GAAY;AAEtC,MAAIC;AAEJ,SAAID,EAAW,uBACbC,IACE,OAAOD,EAAW,cAAe,aAC7BA,EAAW,WAAWP,CAAe,IACrCO,EAAW,cAAcP,IAE/BQ,IAAgBL,EAAiBI,EAAW,UAAU,GAGjDL,EAAM;AAAA,IACXD,EAAW;AAAA,IACX,EAAC,OAAOO,EAAa;AAAA,IACrBD,EAAW;AAAA,EACf;AACA;AC5Ea,MAAAE,IAAa,CAACC,MAAqB;AAC9C,QAAMC,IAAWC,EAAY,GACvBC,IAAO,OAAOH,EAAM,MAAO,WAAWA,EAAM,KAAKA,EAAM,GAAG,MAE1DI,IAAc,CAACC,MAA+C;;AAClE,IAAI,EAACF,KAAA,QAAAA,EAAM,WAAW,SAAQA,MAASF,EAAS,SAEhDI,EAAM,eAAe,IACrBC,IAAA,SAAS,eAAeH,EAAK,MAAM,CAAC,CAAC,MAArC,QAAAG,EAAwC;AAAA,EAC1C;AAEA,SAAQC,gBAAAA,EAAAA,IAAAC,GAAA,EAAK,SAASJ,GAAc,GAAGJ,GAAO;AAChD;","x_google_ignoreList":[0]}
@@ -1,44 +1,43 @@
1
- import { j as e } from "./jsx-runtime-B6kdoens.js";
1
+ import { j as o } from "./jsx-runtime-Dx-03ztt.js";
2
2
  import { LogOutIcon as s } from "lucide-react";
3
3
  import { useEffect as i } from "react";
4
- import { u } from "./index-Yn8c3UWE.js";
5
- import { u as a } from "./utils-DcpDOncX.js";
6
- import { a as r } from "./index-Czzd9rjU.js";
4
+ import { b as u, a as r } from "./chunk-D52XG6IA-Dl7HLe6j.js";
5
+ import { a } from "./utils-B4O1uet5.js";
7
6
  const c = () => {
8
7
  const t = a(), [n] = u();
9
8
  return i(() => {
10
- var o;
11
- (o = t.authentication) == null || o.signIn({
9
+ var e;
10
+ (e = t.authentication) == null || e.signIn({
12
11
  redirectTo: n.get("redirect") ?? void 0
13
12
  });
14
13
  }, [t.authentication, n]), null;
15
14
  }, g = () => {
16
15
  const t = a(), n = r();
17
16
  return i(() => {
18
- var o;
19
- (o = t.authentication) == null || o.signOut().then(() => n("/"));
17
+ var e;
18
+ (e = t.authentication) == null || e.signOut().then(() => n("/"));
20
19
  }, [n, t.authentication]), null;
21
20
  }, m = () => {
22
21
  const t = a();
23
22
  return i(() => {
24
- var n, o;
25
- ((n = t.authentication) == null ? void 0 : n.signUp()) ?? ((o = t.authentication) == null || o.signIn());
23
+ var n, e;
24
+ ((n = t.authentication) == null ? void 0 : n.signUp()) ?? ((e = t.authentication) == null || e.signIn());
26
25
  }, [t.authentication]), null;
27
26
  };
28
- class v {
27
+ class d {
29
28
  getRoutes() {
30
29
  return [
31
30
  {
32
31
  path: "/signout",
33
- element: /* @__PURE__ */ e.jsx(g, {})
32
+ element: /* @__PURE__ */ o.jsx(g, {})
34
33
  },
35
34
  {
36
35
  path: "/signin",
37
- element: /* @__PURE__ */ e.jsx(c, {})
36
+ element: /* @__PURE__ */ o.jsx(c, {})
38
37
  },
39
38
  {
40
39
  path: "/signup",
41
- element: /* @__PURE__ */ e.jsx(m, {})
40
+ element: /* @__PURE__ */ o.jsx(m, {})
42
41
  }
43
42
  ];
44
43
  }
@@ -54,6 +53,6 @@ class v {
54
53
  }
55
54
  }
56
55
  export {
57
- v as A
56
+ d as A
58
57
  };
59
- //# sourceMappingURL=AuthenticationPlugin-D0Em0SwR.js.map
58
+ //# sourceMappingURL=AuthenticationPlugin-fB7viE7A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationPlugin-fB7viE7A.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx","../src/lib/authentication/AuthenticationPlugin.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignIn = () => {\n const context = useZudoku();\n const [search] = useSearchParams();\n useEffect(() => {\n void context.authentication?.signIn({\n redirectTo: search.get(\"redirect\") ?? undefined,\n });\n }, [context.authentication, search]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignOut = () => {\n const context = useZudoku();\n const navigate = useNavigate();\n useEffect(() => {\n void context.authentication?.signOut().then(() => navigate(\"/\"));\n }, [navigate, context.authentication]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignUp = () => {\n const context = useZudoku();\n useEffect(() => {\n void (context.authentication?.signUp() ?? context.authentication?.signIn());\n }, [context.authentication]);\n\n return null;\n};\n","import { LogOutIcon } from \"lucide-react\";\nimport {\n CommonPlugin,\n NavigationPlugin,\n ProfileMenuPlugin,\n} from \"../core/plugins.js\";\nimport { SignIn } from \"./components/SignIn.js\";\nimport { SignOut } from \"./components/SignOut.js\";\nimport { SignUp } from \"./components/SignUp.js\";\n\ntype PluginInterface = NavigationPlugin & CommonPlugin & ProfileMenuPlugin;\n\nexport class AuthenticationPlugin implements PluginInterface {\n getRoutes() {\n return [\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n {\n path: \"/signin\",\n element: <SignIn />,\n },\n {\n path: \"/signup\",\n element: <SignUp />,\n },\n ];\n }\n\n getProfileMenuItems() {\n return [\n {\n label: \"Logout\",\n path: \"/signout\",\n category: \"bottom\",\n icon: LogOutIcon,\n } as const,\n ];\n }\n}\n"],"names":["SignIn","context","useZudoku","search","useSearchParams","useEffect","_a","SignOut","navigate","useNavigate","SignUp","_b","AuthenticationPlugin","LogOutIcon"],"mappings":";;;;;AAIO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC,EAAU,GACpB,CAACC,CAAM,IAAIC,EAAgB;AACjC,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,OAAO;AAAA,MAClC,YAAYH,EAAO,IAAI,UAAU,KAAK;AAAA,IAAA;AAAA,EAEvC,GAAA,CAACF,EAAQ,gBAAgBE,CAAM,CAAC,GAE5B;AACT,GCVaI,IAAU,MAAM;AAC3B,QAAMN,IAAUC,EAAU,GACpBM,IAAWC,EAAY;AAC7B,SAAAJ,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,UAAU,KAAK,MAAME,EAAS,GAAG;AAAA,EAC7D,GAAA,CAACA,GAAUP,EAAQ,cAAc,CAAC,GAE9B;AACT,GCTaS,IAAS,MAAM;AAC1B,QAAMT,IAAUC,EAAU;AAC1B,SAAAG,EAAU,MAAM;;AACd,MAAMC,IAAAL,EAAQ,mBAAR,gBAAAK,EAAwB,eAAYK,IAAAV,EAAQ,mBAAR,QAAAU,EAAwB;AAAA,EAAO,GACxE,CAACV,EAAQ,cAAc,CAAC,GAEpB;AACT;ACEO,MAAMW,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUL,GAAQ,CAAA,CAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUP,GAAO,CAAA,CAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUU,GAAO,CAAA,CAAA;AAAA,MAAA;AAAA,IAErB;AAAA,EAAA;AAAA,EAGF,sBAAsB;AACb,WAAA;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,MAAMG;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA;AAEJ;"}
@@ -1,8 +1,8 @@
1
- import { j as i } from "./jsx-runtime-B6kdoens.js";
1
+ import { j as i } from "./jsx-runtime-Dx-03ztt.js";
2
2
  import { Slot as d } from "@radix-ui/react-slot";
3
- import { c } from "./index-BuAyrJe3.js";
3
+ import { c } from "./index-CPNSgwSb.js";
4
4
  import * as u from "react";
5
- import { c as m } from "./cn-BmFQLtkS.js";
5
+ import { c as m } from "./cn-qaFjX9_3.js";
6
6
  const f = c(
7
7
  "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
8
  {
@@ -45,4 +45,4 @@ l.displayName = "Button";
45
45
  export {
46
46
  l as B
47
47
  };
48
- //# sourceMappingURL=Button-jK0EsymC.js.map
48
+ //# sourceMappingURL=Button-DeAoTouo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button-jK0EsymC.js","sources":["../src/lib/ui/Button.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"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","jsx","cn"],"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,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF,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,IAAA;AAAA,EAGV;AACF;AACAN,EAAO,cAAc;"}
1
+ {"version":3,"file":"Button-DeAoTouo.js","sources":["../src/lib/ui/Button.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"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","jsx","cn"],"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;"}
@@ -1,5 +1,5 @@
1
- import { j as s } from "./jsx-runtime-B6kdoens.js";
2
- import { a as m } from "./index-BuAyrJe3.js";
1
+ import { j as s } from "./jsx-runtime-Dx-03ztt.js";
2
+ import { a as m } from "./index-CPNSgwSb.js";
3
3
  const e = ({
4
4
  children: t,
5
5
  className: r
@@ -7,4 +7,4 @@ const e = ({
7
7
  export {
8
8
  e as C
9
9
  };
10
- //# sourceMappingURL=CategoryHeading-Bb9dqxD3.js.map
10
+ //# sourceMappingURL=CategoryHeading-CBconmtI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryHeading-Bb9dqxD3.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,4BAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,GACpE,UAAAD,EACH,CAAA;"}
1
+ {"version":3,"file":"CategoryHeading-CBconmtI.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,4BAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,GACpE,UAAAD,GACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClientOnly-E7hGysn1.js","sources":["../src/lib/components/ClientOnly.tsx"],"sourcesContent":["import { type ReactNode, useSyncExternalStore } from \"react\";\n\nconst noop = () => () => {};\n\nexport const ClientOnly = (props: {\n children: ReactNode;\n fallback?: ReactNode;\n}) => {\n const value = useSyncExternalStore(\n noop,\n () => \"client\",\n () => \"server\",\n );\n\n return value === \"client\" ? props.children : props.fallback;\n};\n"],"names":["noop","ClientOnly","props","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAO,MAAM,MAAM;AAAC,GAEbC,IAAa,CAACC,MAIXC;AAAA,EACZH;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,MAGS,WAAWE,EAAM,WAAWA,EAAM;"}
1
+ {"version":3,"file":"ClientOnly-E7hGysn1.js","sources":["../src/lib/components/ClientOnly.tsx"],"sourcesContent":["import { type ReactNode, useSyncExternalStore } from \"react\";\n\nconst noop = () => () => {};\n\nexport const ClientOnly = (props: {\n children: ReactNode;\n fallback?: ReactNode;\n}) => {\n const value = useSyncExternalStore(\n noop,\n () => \"client\",\n () => \"server\",\n );\n\n return value === \"client\" ? props.children : props.fallback;\n};\n"],"names":["noop","ClientOnly","props","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAO,MAAM,MAAM;AAAC,GAEbC,IAAa,CAACC,MAIXC;AAAA,EACZH;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AACR,MAEiB,WAAWE,EAAM,WAAWA,EAAM;"}
@@ -1,8 +1,8 @@
1
- import { j as t } from "./jsx-runtime-B6kdoens.js";
1
+ import { j as t } from "./jsx-runtime-Dx-03ztt.js";
2
2
  import * as a from "@radix-ui/react-dialog";
3
3
  import { X as r } from "lucide-react";
4
4
  import * as i from "react";
5
- import { c as n } from "./cn-BmFQLtkS.js";
5
+ import { c as n } from "./cn-qaFjX9_3.js";
6
6
  const y = a.Root, N = a.Trigger, c = a.Portal, d = i.forwardRef(({ className: e, ...o }, s) => /* @__PURE__ */ t.jsx(
7
7
  a.Overlay,
8
8
  {
@@ -64,4 +64,4 @@ export {
64
64
  N as b,
65
65
  p as c
66
66
  };
67
- //# sourceMappingURL=Dialog-k70Qfukb.js.map
67
+ //# sourceMappingURL=Dialog-Bxv1yEIg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog-k70Qfukb.js","sources":["../src/lib/ui/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","jsxs","X","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAI/BG,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcH,EAAgB,QAAQ;AAEpD,MAAMU,IAAgBN,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,GAAGL,EAAM,GAAGC,MACpCK,gBAAAA,EAAAA,KAACV,GACC,EAAA,UAAA;AAAA,EAAAM,gBAAAA,EAAA,IAACL,GAAc,EAAA;AAAA,EACfS,gBAAAA,EAAA;AAAA,IAACZ,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAO;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,gBAAAA,EAAA,KAAAZ,EAAgB,OAAhB,EAAsB,WAAU,iRAC/B,UAAA;AAAA,UAACQ,gBAAAA,EAAAA,IAAAK,GAAA,EAAE,WAAU,UAAU,CAAA;AAAA,UACtBL,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,WAAU,UAAK,SAAA;AAAA,QAAA,GACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAAA,EAAA,CACF,CACD;AACDE,EAAc,cAAcV,EAAgB,QAAQ;AA8B9C,MAAAc,IAAcV,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAY,cAAcd,EAAgB,MAAM;AAEhD,MAAMe,IAAoBX,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDS,EAAkB,cAAcf,EAAgB,YAAY;"}
1
+ {"version":3,"file":"Dialog-Bxv1yEIg.js","sources":["../src/lib/ui/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogOverlay","React","className","props","ref","jsx","cn","DialogContent","children","jsxs","X","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,MAAMA,IAASC,EAAgB,MAEzBC,IAAgBD,EAAgB,SAEhCE,IAAeF,EAAgB,QAI/BG,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcH,EAAgB,QAAQ;AAEpD,MAAMU,IAAgBN,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,UAAAM,GAAU,GAAGL,EAAM,GAAGC,MACpCK,gBAAAA,EAAAA,KAACV,GACC,EAAA,UAAA;AAAA,EAAAM,gBAAAA,EAAA,IAACL,GAAc,EAAA;AAAA,EACfS,gBAAAA,EAAA;AAAA,IAACZ,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAO;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MACF;AAAA,MACC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAK;AAAA,QACAC,gBAAAA,EAAA,KAAAZ,EAAgB,OAAhB,EAAsB,WAAU,iRAC/B,UAAA;AAAA,UAACQ,gBAAAA,EAAAA,IAAAK,GAAA,EAAE,WAAU,UAAU,CAAA;AAAA,UACtBL,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,WAAU,UAAK,QAAA,CAAA;AAAA,QAAA,EACjC,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AACF,GACF,CACD;AACDE,EAAc,cAAcV,EAAgB,QAAQ;AA8B9C,MAAAc,IAAcV,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAY,cAAcd,EAAgB,MAAM;AAEhD,MAAMe,IAAoBX,EAAM,WAG9B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAM,GAAGC,MAC1BC,gBAAAA,EAAA;AAAA,EAACR,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAO;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDS,EAAkB,cAAcf,EAAgB,YAAY;"}