zudoku 0.57.0 → 0.58.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 (612) hide show
  1. package/cli.js +1 -0
  2. package/dist/app/ZuploBuildConfig.d.ts +1 -1
  3. package/dist/app/ZuploBuildConfig.js +1 -1
  4. package/dist/app/ZuploBuildConfig.js.map +1 -1
  5. package/dist/app/entry.client.js +5 -4
  6. package/dist/app/entry.client.js.map +1 -1
  7. package/dist/app/entry.server.js +2 -2
  8. package/dist/app/entry.server.js.map +1 -1
  9. package/dist/app/env.js +6 -6
  10. package/dist/app/env.js.map +1 -1
  11. package/dist/app/main.js.map +1 -1
  12. package/dist/app/standalone.js +4 -1
  13. package/dist/app/standalone.js.map +1 -1
  14. package/dist/cli/cli.js +2 -1
  15. package/dist/cli/cli.js.map +1 -1
  16. package/dist/cli/cmds/build.d.ts +1 -1
  17. package/dist/cli/cmds/dev.d.ts +1 -1
  18. package/dist/cli/cmds/preview.d.ts +1 -1
  19. package/dist/cli/common/analytics/lib.js +1 -1
  20. package/dist/cli/common/analytics/lib.js.map +1 -1
  21. package/dist/cli/common/logger.js +0 -1
  22. package/dist/cli/common/logger.js.map +1 -1
  23. package/dist/cli/common/machine-id/lib.js +3 -2
  24. package/dist/cli/common/machine-id/lib.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/cli/common/output.js +2 -3
  28. package/dist/cli/common/output.js.map +1 -1
  29. package/dist/cli/common/utils/box.js +2 -2
  30. package/dist/cli/common/utils/box.js.map +1 -1
  31. package/dist/cli/common/validators/lib.js +1 -1
  32. package/dist/cli/common/validators/lib.js.map +1 -1
  33. package/dist/cli/dev/handler.js +0 -4
  34. package/dist/cli/dev/handler.js.map +1 -1
  35. package/dist/codegen.js +2 -2
  36. package/dist/codegen.js.map +1 -1
  37. package/dist/config/loader.js.map +1 -1
  38. package/dist/config/validators/BuildSchema.d.ts +1 -1
  39. package/dist/config/validators/BuildSchema.js +3 -3
  40. package/dist/config/validators/BuildSchema.js.map +1 -1
  41. package/dist/config/validators/InputNavigationSchema.d.ts +7 -1
  42. package/dist/config/validators/InputNavigationSchema.js +4 -2
  43. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  44. package/dist/config/validators/InputNavigationSchema.test-d.js +2 -1
  45. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -1
  46. package/dist/config/validators/NavigationSchema.d.ts +1 -1
  47. package/dist/config/validators/NavigationSchema.js +2 -2
  48. package/dist/config/validators/NavigationSchema.js.map +1 -1
  49. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  50. package/dist/config/validators/ProtectedRoutesSchema.js +1 -1
  51. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -1
  52. package/dist/config/validators/auth.d.ts +2 -2
  53. package/dist/config/validators/auth.js +1 -1
  54. package/dist/config/validators/auth.js.map +1 -1
  55. package/dist/config/validators/validate.d.ts +1 -1
  56. package/dist/config/validators/validate.js +3 -3
  57. package/dist/config/validators/validate.js.map +1 -1
  58. package/dist/config/validators/validate.test.js +1 -2
  59. package/dist/config/validators/validate.test.js.map +1 -1
  60. package/dist/flat-config.d.ts +2 -0
  61. package/dist/index.d.ts +5 -5
  62. package/dist/index.js +2 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/MissingIcon.d.ts +1 -1
  65. package/dist/lib/MissingIcon.js.map +1 -1
  66. package/dist/lib/auth/issuer.test.js +1 -0
  67. package/dist/lib/auth/issuer.test.js.map +1 -1
  68. package/dist/lib/authentication/AuthenticationPlugin.d.ts +1 -1
  69. package/dist/lib/authentication/authentication.d.ts +1 -3
  70. package/dist/lib/authentication/components/OAuthErrorPage.d.ts +1 -1
  71. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  72. package/dist/lib/authentication/components/SignOut.js +1 -1
  73. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  74. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  75. package/dist/lib/authentication/providers/auth0.js +1 -1
  76. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  77. package/dist/lib/authentication/providers/azureb2c.d.ts +2 -2
  78. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  79. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  80. package/dist/lib/authentication/providers/openid.d.ts +2 -2
  81. package/dist/lib/authentication/providers/openid.js.map +1 -1
  82. package/dist/lib/authentication/providers/supabase.d.ts +2 -2
  83. package/dist/lib/authentication/providers/supabase.js +1 -0
  84. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  85. package/dist/lib/authentication/use-broadcast/shared.d.ts +1 -1
  86. package/dist/lib/authentication/use-broadcast/shared.js +3 -3
  87. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -1
  88. package/dist/lib/authentication/use-broadcast/useBroadcast.js +2 -2
  89. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -1
  90. package/dist/lib/components/Autocomplete.js.map +1 -1
  91. package/dist/lib/components/Bootstrap.js.map +1 -1
  92. package/dist/lib/components/BuildCheck.js +2 -1
  93. package/dist/lib/components/BuildCheck.js.map +1 -1
  94. package/dist/lib/components/Header.js +1 -3
  95. package/dist/lib/components/Header.js.map +1 -1
  96. package/dist/lib/components/Heading.d.ts +1 -1
  97. package/dist/lib/components/Heading.js +1 -1
  98. package/dist/lib/components/Heading.js.map +1 -1
  99. package/dist/lib/components/Layout.js.map +1 -1
  100. package/dist/lib/components/Markdown.js +2 -2
  101. package/dist/lib/components/Markdown.js.map +1 -1
  102. package/dist/lib/components/MobileTopNavigation.js +4 -4
  103. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  104. package/dist/lib/components/PathRenderer.js +1 -1
  105. package/dist/lib/components/PathRenderer.js.map +1 -1
  106. package/dist/lib/components/Search.js +1 -1
  107. package/dist/lib/components/Search.js.map +1 -1
  108. package/dist/lib/components/Slot.js.map +1 -1
  109. package/dist/lib/components/Slot.test.js +7 -3
  110. package/dist/lib/components/Slot.test.js.map +1 -1
  111. package/dist/lib/components/TopNavigation.d.ts +1 -1
  112. package/dist/lib/components/TopNavigation.js +2 -2
  113. package/dist/lib/components/TopNavigation.js.map +1 -1
  114. package/dist/lib/components/Zudoku.js +2 -2
  115. package/dist/lib/components/Zudoku.js.map +1 -1
  116. package/dist/lib/components/context/ComponentsContext.js.map +1 -1
  117. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -1
  118. package/dist/lib/components/context/SlotProvider.js.map +1 -1
  119. package/dist/lib/components/context/ViewportAnchorContext.js +1 -1
  120. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  121. package/dist/lib/components/context/ZudokuContext.d.ts +1 -1
  122. package/dist/lib/components/context/ZudokuProvider.d.ts +1 -1
  123. package/dist/lib/components/index.js +1 -1
  124. package/dist/lib/components/index.js.map +1 -1
  125. package/dist/lib/components/navigation/NavigationCategory.js +6 -1
  126. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  127. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  128. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  129. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -1
  130. package/dist/lib/components/navigation/Toc.js.map +1 -1
  131. package/dist/lib/components/navigation/ZudokuLogo.d.ts +1 -1
  132. package/dist/lib/components/navigation/utils.d.ts +3 -3
  133. package/dist/lib/components/navigation/utils.js +1 -2
  134. package/dist/lib/components/navigation/utils.js.map +1 -1
  135. package/dist/lib/core/ZudokuContext.d.ts +1 -1
  136. package/dist/lib/core/ZudokuContext.js +1 -0
  137. package/dist/lib/core/ZudokuContext.js.map +1 -1
  138. package/dist/lib/errors/ErrorAlert.js +0 -1
  139. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  140. package/dist/lib/errors/TopLevelError.d.ts +2 -2
  141. package/dist/lib/errors/TopLevelError.js +1 -2
  142. package/dist/lib/errors/TopLevelError.js.map +1 -1
  143. package/dist/lib/oas/graphql/circular.js +2 -2
  144. package/dist/lib/oas/graphql/circular.js.map +1 -1
  145. package/dist/lib/oas/graphql/index.js +2 -1
  146. package/dist/lib/oas/graphql/index.js.map +1 -1
  147. package/dist/lib/oas/parser/dereference/index.js +2 -1
  148. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  149. package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
  150. package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
  151. package/dist/lib/oas/parser/index.js +1 -1
  152. package/dist/lib/oas/parser/index.js.map +1 -1
  153. package/dist/lib/oas/parser/upgrade/index.js +2 -1
  154. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  155. package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +1 -1
  156. package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
  157. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +5 -6
  158. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  159. package/dist/lib/plugins/api-keys/index.d.ts +3 -3
  160. package/dist/lib/plugins/api-keys/index.js +1 -1
  161. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  162. package/dist/lib/plugins/custom-pages/index.d.ts +1 -1
  163. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  164. package/dist/lib/plugins/markdown/MdxPage.js +3 -3
  165. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  166. package/dist/lib/plugins/markdown/index.d.ts +1 -1
  167. package/dist/lib/plugins/openapi/ColorizedParam.js +4 -1
  168. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  169. package/dist/lib/plugins/openapi/Endpoint.js +2 -2
  170. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  171. package/dist/lib/plugins/openapi/OasProvider.d.ts +1 -1
  172. package/dist/lib/plugins/openapi/OasProvider.js +1 -0
  173. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  174. package/dist/lib/plugins/openapi/OperationList.d.ts +1 -1
  175. package/dist/lib/plugins/openapi/OperationList.js +8 -4
  176. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  177. package/dist/lib/plugins/openapi/OperationListItem.d.ts +1 -1
  178. package/dist/lib/plugins/openapi/OperationListItem.js +6 -4
  179. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  180. package/dist/lib/plugins/openapi/ParamInfos.d.ts +1 -1
  181. package/dist/lib/plugins/openapi/ParamInfos.js +3 -1
  182. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  183. package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
  184. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  185. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
  186. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  187. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  188. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  189. package/dist/lib/plugins/openapi/Sidecar.js +4 -2
  190. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  191. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
  192. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +1 -1
  193. package/dist/lib/plugins/openapi/client/createServer.js +1 -2
  194. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  195. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
  196. package/dist/lib/plugins/openapi/context.d.ts +1 -1
  197. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  198. package/dist/lib/plugins/openapi/graphql/gql.js +0 -1
  199. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  200. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  201. package/dist/lib/plugins/openapi/index.d.ts +2 -2
  202. package/dist/lib/plugins/openapi/index.js +2 -1
  203. package/dist/lib/plugins/openapi/index.js.map +1 -1
  204. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -3
  205. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +1 -1
  206. package/dist/lib/plugins/openapi/playground/Headers.d.ts +1 -1
  207. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +1 -1
  208. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +1 -1
  209. package/dist/lib/plugins/openapi/playground/Playground.d.ts +1 -1
  210. package/dist/lib/plugins/openapi/playground/Playground.js +1 -1
  211. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  212. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
  213. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +3 -1
  214. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  215. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +2 -2
  216. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +1 -1
  217. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +1 -1
  218. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -1
  219. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +1 -0
  220. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -1
  221. package/dist/lib/plugins/openapi/processors/removeParameters.test.js +1 -0
  222. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -1
  223. package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -1
  224. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -1
  225. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +1 -1
  226. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +1 -1
  227. package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +1 -1
  228. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +1 -1
  229. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -1
  230. package/dist/lib/plugins/openapi/util/createNavigationCategory.js +1 -0
  231. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -1
  232. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
  233. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +1 -2
  234. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  235. package/dist/lib/plugins/openapi/util/getRoutes.js +1 -1
  236. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  237. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +1 -1
  238. package/dist/lib/plugins/search-inkeep/index.js +1 -1
  239. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  240. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +1 -1
  241. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  242. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +1 -1
  243. package/dist/lib/plugins/search-pagefind/ResultList.js +4 -1
  244. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  245. package/dist/lib/plugins/search-pagefind/get-results.js +0 -1
  246. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -1
  247. package/dist/lib/shiki.d.ts +2 -5
  248. package/dist/lib/shiki.js +3 -6
  249. package/dist/lib/shiki.js.map +1 -1
  250. package/dist/lib/ui/Breadcrumb.js +1 -1
  251. package/dist/lib/ui/Breadcrumb.js.map +1 -1
  252. package/dist/lib/ui/Carousel.js.map +1 -1
  253. package/dist/lib/ui/CodeBlock.js +1 -1
  254. package/dist/lib/ui/CodeBlock.js.map +1 -1
  255. package/dist/lib/ui/Command.d.ts +2 -2
  256. package/dist/lib/ui/Command.js +2 -6
  257. package/dist/lib/ui/Command.js.map +1 -1
  258. package/dist/lib/ui/Dialog.js +1 -1
  259. package/dist/lib/ui/Dialog.js.map +1 -1
  260. package/dist/lib/ui/Form.d.ts +2 -2
  261. package/dist/lib/ui/Pagination.d.ts +1 -1
  262. package/dist/lib/ui/Pagination.js +1 -1
  263. package/dist/lib/ui/Pagination.js.map +1 -1
  264. package/dist/lib/ui/ToggleGroup.d.ts +1 -1
  265. package/dist/lib/util/MdxComponents.d.ts +1 -1
  266. package/dist/lib/util/MdxComponents.js +4 -2
  267. package/dist/lib/util/MdxComponents.js.map +1 -1
  268. package/dist/lib/util/cn.js.map +1 -1
  269. package/dist/lib/util/createVariantComponent.d.ts +2 -2
  270. package/dist/lib/util/createVariantComponent.js.map +1 -1
  271. package/dist/lib/util/groupBy.js +1 -0
  272. package/dist/lib/util/groupBy.js.map +1 -1
  273. package/dist/lib/util/humanFileSize.js +1 -1
  274. package/dist/lib/util/humanFileSize.js.map +1 -1
  275. package/dist/lib/util/invariant.js +3 -1
  276. package/dist/lib/util/invariant.js.map +1 -1
  277. package/dist/lib/util/pastellize.js +2 -2
  278. package/dist/lib/util/pastellize.js.map +1 -1
  279. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -1
  280. package/dist/lib/util/useScrollToAnchor.js +2 -0
  281. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  282. package/dist/ts.js +3 -3
  283. package/dist/ts.js.map +1 -1
  284. package/dist/vite/api/SchemaManager.js +6 -6
  285. package/dist/vite/api/SchemaManager.js.map +1 -1
  286. package/dist/vite/api/schema-codegen.js +1 -2
  287. package/dist/vite/api/schema-codegen.js.map +1 -1
  288. package/dist/vite/api/schema-codegen.test.js +1 -1
  289. package/dist/vite/api/schema-codegen.test.js.map +1 -1
  290. package/dist/vite/build.js +1 -1
  291. package/dist/vite/build.js.map +1 -1
  292. package/dist/vite/dev-server.js +2 -2
  293. package/dist/vite/dev-server.js.map +1 -1
  294. package/dist/vite/error-handler.d.ts +2 -2
  295. package/dist/vite/error-handler.js.map +1 -1
  296. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  297. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  298. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  299. package/dist/vite/mdx/remark-last-modified.js +0 -1
  300. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  301. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  302. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  303. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  304. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  305. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  306. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  307. package/dist/vite/{remarkStaticGeneration.d.ts → mdx/remark-static-generation.d.ts} +2 -2
  308. package/dist/vite/{remarkStaticGeneration.js → mdx/remark-static-generation.js} +2 -2
  309. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  310. package/dist/vite/output.d.ts +1 -1
  311. package/dist/vite/output.js +1 -1
  312. package/dist/vite/output.js.map +1 -1
  313. package/dist/vite/plugin-api-keys.d.ts +1 -1
  314. package/dist/vite/plugin-api-keys.js +1 -1
  315. package/dist/vite/plugin-api-keys.js.map +1 -1
  316. package/dist/vite/plugin-api.js +4 -4
  317. package/dist/vite/plugin-api.js.map +1 -1
  318. package/dist/vite/plugin-auth.d.ts +1 -1
  319. package/dist/vite/plugin-auth.js +1 -1
  320. package/dist/vite/plugin-auth.js.map +1 -1
  321. package/dist/vite/plugin-component.d.ts +1 -1
  322. package/dist/vite/plugin-config-reload.d.ts +1 -1
  323. package/dist/vite/plugin-custom-pages.d.ts +1 -1
  324. package/dist/vite/plugin-custom-pages.js +1 -1
  325. package/dist/vite/plugin-custom-pages.js.map +1 -1
  326. package/dist/vite/plugin-docs.js +2 -2
  327. package/dist/vite/plugin-docs.js.map +1 -1
  328. package/dist/vite/plugin-frontmatter.js +1 -1
  329. package/dist/vite/plugin-frontmatter.js.map +1 -1
  330. package/dist/vite/plugin-mdx.d.ts +1 -1
  331. package/dist/vite/plugin-mdx.js +9 -25
  332. package/dist/vite/plugin-mdx.js.map +1 -1
  333. package/dist/vite/plugin-metadata.d.ts +1 -1
  334. package/dist/vite/plugin-navigation.d.ts +2 -2
  335. package/dist/vite/plugin-navigation.js +34 -35
  336. package/dist/vite/plugin-navigation.js.map +1 -1
  337. package/dist/vite/plugin-redirect.d.ts +1 -1
  338. package/dist/vite/plugin-redirect.js +1 -1
  339. package/dist/vite/plugin-redirect.js.map +1 -1
  340. package/dist/vite/plugin-search.d.ts +1 -1
  341. package/dist/vite/plugin-search.js +1 -1
  342. package/dist/vite/plugin-search.js.map +1 -1
  343. package/dist/vite/plugin-shiki-register.js +1 -1
  344. package/dist/vite/plugin-shiki-register.js.map +1 -1
  345. package/dist/vite/plugin-theme.js +6 -6
  346. package/dist/vite/plugin-theme.js.map +1 -1
  347. package/dist/vite/plugin-theme.test.js +2 -0
  348. package/dist/vite/plugin-theme.test.js.map +1 -1
  349. package/dist/vite/plugin.d.ts +1 -1
  350. package/dist/vite/plugin.js +2 -2
  351. package/dist/vite/plugin.js.map +1 -1
  352. package/dist/vite/prerender/FileWritingResponse.js +5 -3
  353. package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
  354. package/dist/vite/prerender/InMemoryResponse.js +3 -1
  355. package/dist/vite/prerender/InMemoryResponse.js.map +1 -1
  356. package/dist/vite/prerender/prerender.js +1 -1
  357. package/dist/vite/prerender/prerender.js.map +1 -1
  358. package/dist/vite/prerender/worker.d.ts +1 -1
  359. package/dist/vite/prerender/worker.js.map +1 -1
  360. package/dist/vite/reporter.js +2 -2
  361. package/dist/vite/reporter.js.map +1 -1
  362. package/dist/vite/shadcn-registry.d.ts +8 -33
  363. package/dist/vite/sitemap.js +4 -4
  364. package/dist/vite/sitemap.js.map +1 -1
  365. package/dist/zuplo/enrich-with-zuplo.js +3 -3
  366. package/dist/zuplo/enrich-with-zuplo.js.map +1 -1
  367. package/dist/zuplo/policy-types.js +0 -1
  368. package/dist/zuplo/policy-types.js.map +1 -1
  369. package/dist/zuplo/with-zuplo.js +1 -1
  370. package/dist/zuplo/with-zuplo.js.map +1 -1
  371. package/lib/{CodeBlock-yJjjRwj-.js → CodeBlock-CX_J17Hf.js} +10 -10
  372. package/lib/CodeBlock-CX_J17Hf.js.map +1 -0
  373. package/lib/{Command-CDn17s8X.js → Command-CUSlH0gJ.js} +21 -27
  374. package/lib/Command-CUSlH0gJ.js.map +1 -0
  375. package/lib/{Dialog-BrIjMmUK.js → Dialog-BmgXWOaz.js} +2 -2
  376. package/lib/Dialog-BmgXWOaz.js.map +1 -0
  377. package/lib/{MdxPage-BmOQ5m5g.js → MdxPage-Dae--mnh.js} +12 -12
  378. package/lib/MdxPage-Dae--mnh.js.map +1 -0
  379. package/lib/{OAuthErrorPage-Jv3r8wnL.js → OAuthErrorPage-C2pwoHzm.js} +6 -6
  380. package/lib/OAuthErrorPage-C2pwoHzm.js.map +1 -0
  381. package/lib/{OasProvider-CA_lpILt.js → OasProvider-qKBA2fuv.js} +3 -2
  382. package/lib/OasProvider-qKBA2fuv.js.map +1 -0
  383. package/lib/{OperationList-C-TObVw6.js → OperationList-sDq65nbj.js} +302 -306
  384. package/lib/OperationList-sDq65nbj.js.map +1 -0
  385. package/lib/{Pagination-CBiRGddW.js → Pagination-CmDrHzPg.js} +2 -2
  386. package/lib/{Pagination-CBiRGddW.js.map → Pagination-CmDrHzPg.js.map} +1 -1
  387. package/lib/{RouteGuard-JLH6tCY8.js → RouteGuard-BIksrt_C.js} +4 -4
  388. package/lib/{RouteGuard-JLH6tCY8.js.map → RouteGuard-BIksrt_C.js.map} +1 -1
  389. package/lib/{RouterError-DcVonMP1.js → RouterError-BYHrbLtD.js} +2 -2
  390. package/lib/{RouterError-DcVonMP1.js.map → RouterError-BYHrbLtD.js.map} +1 -1
  391. package/lib/{SchemaList-BeYWvBC7.js → SchemaList-DdwSRBpd.js} +7 -7
  392. package/lib/{SchemaList-BeYWvBC7.js.map → SchemaList-DdwSRBpd.js.map} +1 -1
  393. package/lib/{SchemaView-CRcShewo.js → SchemaView-CA_Q_bvL.js} +65 -62
  394. package/lib/SchemaView-CA_Q_bvL.js.map +1 -0
  395. package/lib/{Select-C3efYI1n.js → Select-DWh0wSay.js} +3 -3
  396. package/lib/{Select-C3efYI1n.js.map → Select-DWh0wSay.js.map} +1 -1
  397. package/lib/{SignUp-CxBGHgba.js → SignUp-u6c0hFsC.js} +4 -4
  398. package/lib/SignUp-u6c0hFsC.js.map +1 -0
  399. package/lib/{Slot-DOtTvoyj.js → Slot-BbdqiRXo.js} +267 -239
  400. package/lib/{Slot-DOtTvoyj.js.map → Slot-BbdqiRXo.js.map} +1 -1
  401. package/lib/{SyntaxHighlight-GR0eix_L.js → SyntaxHighlight-CvzJ7DNa.js} +6 -9
  402. package/lib/{SyntaxHighlight-GR0eix_L.js.map → SyntaxHighlight-CvzJ7DNa.js.map} +1 -1
  403. package/lib/{Toc-BlcGIkXc.js → Toc-BAa-kpqN.js} +2 -2
  404. package/lib/{Toc-BlcGIkXc.js.map → Toc-BAa-kpqN.js.map} +1 -1
  405. package/lib/{ZudokuContext-BuJD7yIX.js → ZudokuContext-BR-lnR7O.js} +16 -17
  406. package/lib/{ZudokuContext-BuJD7yIX.js.map → ZudokuContext-BR-lnR7O.js.map} +1 -1
  407. package/lib/chunk-QMGIS6GS-DqecZ6nq.js.map +1 -1
  408. package/lib/{circular-CGTcsqA3.js → circular-vrOlHc7z.js} +2 -2
  409. package/lib/{circular-CGTcsqA3.js.map → circular-vrOlHc7z.js.map} +1 -1
  410. package/lib/cn-dYga0KKN.js.map +1 -1
  411. package/lib/{createServer-DjgpuLne.js → createServer-BFra0x-X.js} +12 -27
  412. package/lib/createServer-BFra0x-X.js.map +1 -0
  413. package/lib/{errors-CrI3s7mR.js → errors-B6u81sEb.js} +2 -2
  414. package/lib/errors-B6u81sEb.js.map +1 -0
  415. package/lib/{hook-bv3iuX7X.js → hook-B4Q30zMI.js} +2 -2
  416. package/lib/{hook-bv3iuX7X.js.map → hook-B4Q30zMI.js.map} +1 -1
  417. package/lib/{index-HarEI51d.js → index-CQGi1b3U.js} +2 -2
  418. package/lib/{index-HarEI51d.js.map → index-CQGi1b3U.js.map} +1 -1
  419. package/lib/{index-CvTWnHZF.js → index-D1QlkVH3.js} +55 -52
  420. package/lib/index-D1QlkVH3.js.map +1 -0
  421. package/lib/{index-DzO-Qh6S.js → index-z-rQiwfg.js} +143 -146
  422. package/lib/index-z-rQiwfg.js.map +1 -0
  423. package/lib/invariant-Bm-FVUQE.js.map +1 -1
  424. package/lib/{mutation-Dy_5up8v.js → mutation-CiMUdKRU.js} +2 -2
  425. package/lib/{mutation-Dy_5up8v.js.map → mutation-CiMUdKRU.js.map} +1 -1
  426. package/lib/ui/Breadcrumb.js +22 -21
  427. package/lib/ui/Breadcrumb.js.map +1 -1
  428. package/lib/ui/Carousel.js.map +1 -1
  429. package/lib/ui/CodeBlock.js +1 -1
  430. package/lib/ui/Command.js +20 -26
  431. package/lib/ui/Command.js.map +1 -1
  432. package/lib/ui/Dialog.js +1 -1
  433. package/lib/ui/Dialog.js.map +1 -1
  434. package/lib/ui/Form.js.map +1 -1
  435. package/lib/ui/Pagination.js +28 -29
  436. package/lib/ui/Pagination.js.map +1 -1
  437. package/lib/ui/SyntaxHighlight.js +3 -3
  438. package/lib/ui/ToggleGroup.js.map +1 -1
  439. package/lib/zudoku.__internal.js +824 -815
  440. package/lib/zudoku.__internal.js.map +1 -1
  441. package/lib/zudoku.auth-auth0.js +1 -1
  442. package/lib/zudoku.auth-auth0.js.map +1 -1
  443. package/lib/zudoku.auth-azureb2c.js +5 -5
  444. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  445. package/lib/zudoku.auth-clerk.js +2 -2
  446. package/lib/zudoku.auth-clerk.js.map +1 -1
  447. package/lib/zudoku.auth-openid.js +5 -5
  448. package/lib/zudoku.auth-openid.js.map +1 -1
  449. package/lib/zudoku.auth-supabase.js +3 -2
  450. package/lib/zudoku.auth-supabase.js.map +1 -1
  451. package/lib/zudoku.components.js +4 -4
  452. package/lib/zudoku.hooks.js +3 -3
  453. package/lib/zudoku.icons.js.map +1 -1
  454. package/lib/zudoku.plugin-api-catalog.js +5 -5
  455. package/lib/zudoku.plugin-api-keys.js +40 -40
  456. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  457. package/lib/zudoku.plugin-custom-pages.js +1 -1
  458. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  459. package/lib/zudoku.plugin-markdown.js +1 -1
  460. package/lib/zudoku.plugin-markdown.js.map +1 -1
  461. package/lib/zudoku.plugin-openapi.js +3 -3
  462. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  463. package/lib/zudoku.plugin-search-pagefind.js +6 -6
  464. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  465. package/package.json +7 -22
  466. package/src/app/ZuploBuildConfig.ts +1 -1
  467. package/src/app/entry.client.tsx +6 -5
  468. package/src/app/entry.server.tsx +3 -3
  469. package/src/app/env.ts +6 -6
  470. package/src/app/main.tsx +2 -2
  471. package/src/app/standalone.tsx +7 -2
  472. package/src/lib/MissingIcon.tsx +1 -1
  473. package/src/lib/auth/issuer.test.ts +1 -0
  474. package/src/lib/authentication/AuthenticationPlugin.tsx +4 -4
  475. package/src/lib/authentication/authentication.ts +3 -3
  476. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  477. package/src/lib/authentication/components/SignOut.tsx +1 -1
  478. package/src/lib/authentication/providers/auth0.tsx +5 -5
  479. package/src/lib/authentication/providers/azureb2c.tsx +5 -5
  480. package/src/lib/authentication/providers/clerk.tsx +5 -5
  481. package/src/lib/authentication/providers/openid.tsx +6 -6
  482. package/src/lib/authentication/providers/supabase.tsx +7 -6
  483. package/src/lib/authentication/use-broadcast/shared.ts +4 -4
  484. package/src/lib/authentication/use-broadcast/useBroadcast.ts +2 -2
  485. package/src/lib/components/AnchorLink.tsx +1 -1
  486. package/src/lib/components/Autocomplete.tsx +1 -1
  487. package/src/lib/components/Bootstrap.tsx +1 -0
  488. package/src/lib/components/BuildCheck.tsx +2 -1
  489. package/src/lib/components/Header.tsx +2 -3
  490. package/src/lib/components/Heading.tsx +2 -3
  491. package/src/lib/components/Layout.tsx +1 -1
  492. package/src/lib/components/Markdown.tsx +5 -2
  493. package/src/lib/components/MobileTopNavigation.tsx +11 -13
  494. package/src/lib/components/PathRenderer.tsx +2 -2
  495. package/src/lib/components/Search.tsx +1 -1
  496. package/src/lib/components/Slot.test.tsx +8 -8
  497. package/src/lib/components/Slot.tsx +2 -2
  498. package/src/lib/components/TopNavigation.tsx +3 -3
  499. package/src/lib/components/Zudoku.tsx +2 -2
  500. package/src/lib/components/context/ComponentsContext.tsx +2 -2
  501. package/src/lib/components/context/RouterEventsEmitter.tsx +1 -1
  502. package/src/lib/components/context/SlotProvider.tsx +4 -4
  503. package/src/lib/components/context/ViewportAnchorContext.tsx +2 -2
  504. package/src/lib/components/context/ZudokuContext.ts +1 -1
  505. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  506. package/src/lib/components/index.ts +1 -1
  507. package/src/lib/components/navigation/NavigationCategory.tsx +8 -1
  508. package/src/lib/components/navigation/NavigationItem.tsx +2 -2
  509. package/src/lib/components/navigation/NavigationWrapper.tsx +1 -1
  510. package/src/lib/components/navigation/Toc.tsx +2 -2
  511. package/src/lib/components/navigation/ZudokuLogo.tsx +1 -1
  512. package/src/lib/components/navigation/utils.ts +5 -6
  513. package/src/lib/core/ZudokuContext.ts +2 -1
  514. package/src/lib/errors/ErrorAlert.tsx +0 -1
  515. package/src/lib/errors/TopLevelError.tsx +2 -4
  516. package/src/lib/hooks/useEvent.test.tsx +2 -2
  517. package/src/lib/oas/graphql/circular.ts +3 -3
  518. package/src/lib/oas/graphql/index.ts +2 -1
  519. package/src/lib/oas/parser/dereference/index.ts +2 -1
  520. package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
  521. package/src/lib/oas/parser/index.ts +2 -2
  522. package/src/lib/oas/parser/upgrade/index.ts +2 -1
  523. package/src/lib/plugins/api-keys/CreateApiKey.tsx +1 -1
  524. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +5 -6
  525. package/src/lib/plugins/api-keys/index.tsx +8 -8
  526. package/src/lib/plugins/custom-pages/index.tsx +1 -1
  527. package/src/lib/plugins/markdown/MdxPage.tsx +5 -5
  528. package/src/lib/plugins/markdown/index.tsx +1 -1
  529. package/src/lib/plugins/openapi/ColorizedParam.tsx +3 -1
  530. package/src/lib/plugins/openapi/Endpoint.tsx +2 -2
  531. package/src/lib/plugins/openapi/OasProvider.tsx +2 -1
  532. package/src/lib/plugins/openapi/OperationList.tsx +5 -4
  533. package/src/lib/plugins/openapi/OperationListItem.tsx +18 -20
  534. package/src/lib/plugins/openapi/ParamInfos.tsx +2 -1
  535. package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -3
  536. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -3
  537. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +1 -1
  538. package/src/lib/plugins/openapi/Sidecar.tsx +2 -1
  539. package/src/lib/plugins/openapi/SidecarExamples.tsx +1 -1
  540. package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
  541. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +1 -1
  542. package/src/lib/plugins/openapi/client/createServer.ts +1 -2
  543. package/src/lib/plugins/openapi/client/useCreateQuery.ts +3 -2
  544. package/src/lib/plugins/openapi/context.tsx +1 -1
  545. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +0 -1
  546. package/src/lib/plugins/openapi/graphql/gql.ts +0 -1
  547. package/src/lib/plugins/openapi/graphql/graphql.ts +0 -1
  548. package/src/lib/plugins/openapi/index.tsx +5 -4
  549. package/src/lib/plugins/openapi/interfaces.ts +5 -3
  550. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +2 -2
  551. package/src/lib/plugins/openapi/playground/Headers.tsx +1 -1
  552. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +1 -1
  553. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +1 -1
  554. package/src/lib/plugins/openapi/playground/Playground.tsx +2 -2
  555. package/src/lib/plugins/openapi/playground/QueryParams.tsx +1 -1
  556. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +1 -1
  557. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  558. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +3 -1
  559. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +3 -3
  560. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +1 -1
  561. package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +1 -0
  562. package/src/lib/plugins/openapi/processors/removeParameters.test.ts +1 -0
  563. package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
  564. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +1 -1
  565. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +2 -2
  566. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +1 -0
  567. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +3 -4
  568. package/src/lib/plugins/openapi/util/getRoutes.tsx +2 -2
  569. package/src/lib/plugins/openapi/util/methodColorMap.tsx +1 -1
  570. package/src/lib/plugins/search-inkeep/index.tsx +3 -3
  571. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +2 -4
  572. package/src/lib/plugins/search-pagefind/ResultList.tsx +3 -4
  573. package/src/lib/plugins/search-pagefind/get-results.tsx +0 -1
  574. package/src/lib/shiki.ts +6 -6
  575. package/src/lib/ui/Breadcrumb.tsx +1 -0
  576. package/src/lib/ui/Carousel.tsx +1 -0
  577. package/src/lib/ui/CodeBlock.tsx +3 -1
  578. package/src/lib/ui/Command.tsx +2 -4
  579. package/src/lib/ui/Dialog.tsx +1 -2
  580. package/src/lib/ui/Form.tsx +4 -4
  581. package/src/lib/ui/Pagination.tsx +1 -2
  582. package/src/lib/ui/ToggleGroup.tsx +1 -1
  583. package/src/lib/util/MdxComponents.tsx +9 -2
  584. package/src/lib/util/cn.ts +1 -1
  585. package/src/lib/util/createVariantComponent.tsx +2 -2
  586. package/src/lib/util/groupBy.ts +1 -0
  587. package/src/lib/util/humanFileSize.ts +2 -3
  588. package/src/lib/util/invariant.ts +1 -0
  589. package/src/lib/util/pastellize.ts +2 -2
  590. package/src/lib/util/types.ts +1 -1
  591. package/src/lib/util/useIsomorphicLayoutEffect.ts +1 -0
  592. package/src/lib/util/useScrollToAnchor.ts +3 -1
  593. package/src/shiki/langs/vue-vine.js +1 -0
  594. package/dist/lib/components/ReactMarkdown.d.ts +0 -29
  595. package/dist/lib/components/ReactMarkdown.js +0 -182
  596. package/dist/lib/components/ReactMarkdown.js.map +0 -1
  597. package/dist/vite/remarkStaticGeneration.js.map +0 -1
  598. package/lib/CodeBlock-yJjjRwj-.js.map +0 -1
  599. package/lib/Command-CDn17s8X.js.map +0 -1
  600. package/lib/Dialog-BrIjMmUK.js.map +0 -1
  601. package/lib/MdxPage-BmOQ5m5g.js.map +0 -1
  602. package/lib/OAuthErrorPage-Jv3r8wnL.js.map +0 -1
  603. package/lib/OasProvider-CA_lpILt.js.map +0 -1
  604. package/lib/OperationList-C-TObVw6.js.map +0 -1
  605. package/lib/SchemaView-CRcShewo.js.map +0 -1
  606. package/lib/SignUp-CxBGHgba.js.map +0 -1
  607. package/lib/createServer-DjgpuLne.js.map +0 -1
  608. package/lib/errors-CrI3s7mR.js.map +0 -1
  609. package/lib/index-CvTWnHZF.js.map +0 -1
  610. package/lib/index-DzO-Qh6S.js.map +0 -1
  611. package/src/lib/components/ReactMarkdown.license.txt +0 -21
  612. package/src/lib/components/ReactMarkdown.tsx +0 -264
@@ -1,6 +1,6 @@
1
1
  import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { LogOutIcon as n } from "lucide-react";
3
- import { S as i, a, b as u } from "./SignUp-CxBGHgba.js";
3
+ import { S as i, a, b as u } from "./SignUp-u6c0hFsC.js";
4
4
  import { Z as m } from "./invariant-Bm-FVUQE.js";
5
5
  class h {
6
6
  getRoutes() {
@@ -42,4 +42,4 @@ export {
42
42
  h as C,
43
43
  f as O
44
44
  };
45
- //# sourceMappingURL=errors-CrI3s7mR.js.map
45
+ //# sourceMappingURL=errors-B6u81sEb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-B6u81sEb.js","sources":["../src/lib/authentication/AuthenticationPlugin.tsx","../src/lib/authentication/errors.ts"],"sourcesContent":["import { LogOutIcon } from \"lucide-react\";\nimport type {\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 CoreAuthenticationPlugin 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","import type { OAuth2Error } from \"oauth4webapi\";\nimport { ZudokuError, type ZudokuErrorOptions } from \"../util/invariant.js\";\n\nexport class AuthorizationError extends Error {}\n\nexport class OAuthAuthorizationError extends ZudokuError {\n constructor(\n message: string,\n public error: OAuth2Error,\n options?: ZudokuErrorOptions,\n ) {\n super(message, options);\n }\n}\n\nexport type OAuthErrorType =\n // Authorization errors\n | \"invalid_request\"\n | \"unauthorized_client\"\n | \"access_denied\"\n | \"unsupported_response_type\"\n | \"invalid_scope\"\n | \"server_error\"\n | \"temporarily_unavailable\"\n // Token errors\n | \"invalid_client\"\n | \"invalid_grant\"\n | \"unsupported_grant_type\"\n // Custom errors\n | \"invalid_state\"\n | \"missing_code_verifier\"\n | \"network_error\"\n | \"token_expired\"\n | \"configuration_error\"\n | \"unknown_error\";\n"],"names":["CoreAuthenticationPlugin","SignOut","SignIn","SignUp","LogOutIcon","AuthorizationError","OAuthAuthorizationError","ZudokuError","message","error","options"],"mappings":";;;;AAYO,MAAMA,EAAoD;AAAA,EAC/D,YAAY;AACV,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUC,GAAA,CAAA,CAAQ;AAAA,MAAA;AAAA,MAEpB;AAAA,QACE,MAAM;AAAA,QACN,+BAAUC,GAAA,CAAA,CAAO;AAAA,MAAA;AAAA,MAEnB;AAAA,QACE,MAAM;AAAA,QACN,+BAAUC,GAAA,CAAA,CAAO;AAAA,MAAA;AAAA,IACnB;AAAA,EAEJ;AAAA,EAEA,sBAAsB;AACpB,WAAO;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,MAAMC;AAAA,MAAA;AAAA,IACR;AAAA,EAEJ;AACF;ACrCO,MAAMC,UAA2B,MAAM;AAAC;AAExC,MAAMC,UAAgCC,EAAY;AAAA,EACvD,YACEC,GACOC,GACPC,GACA;AACA,UAAMF,GAASE,CAAO,GAHf,KAAA,QAAAD;AAAA,EAIT;AACF;"}
@@ -1,4 +1,4 @@
1
- import { d as _ } from "./ZudokuContext-BuJD7yIX.js";
1
+ import { d as _ } from "./ZudokuContext-BR-lnR7O.js";
2
2
  import I from "react";
3
3
  const E = (t) => {
4
4
  let n;
@@ -244,4 +244,4 @@ export {
244
244
  x as p,
245
245
  O as u
246
246
  };
247
- //# sourceMappingURL=hook-bv3iuX7X.js.map
247
+ //# sourceMappingURL=hook-B4Q30zMI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook-bv3iuX7X.js","sources":["../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/middleware.mjs","../src/lib/authentication/state.ts","../src/lib/authentication/hook.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { create, type Mutate, type StoreApi } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nexport interface AuthState<ProviderData = unknown> {\n isAuthenticated: boolean;\n isPending: boolean;\n profile: UserProfile | null;\n providerData: ProviderData | null;\n setAuthenticationPending: () => void;\n setLoggedOut: () => void;\n setLoggedIn: ({\n profile,\n providerData,\n }: {\n profile: UserProfile;\n providerData: unknown;\n }) => void;\n}\n\nexport type StoreWithPersist<T> = Mutate<\n StoreApi<T>,\n [[\"zustand/persist\", unknown]]\n>;\n\nconst withStorageDOMEvents = <T>(store: StoreWithPersist<T>) => {\n const storageEventCallback = (e: StorageEvent) => {\n if (e.key === store.persist.getOptions().name && e.newValue) {\n void store.persist.rehydrate();\n }\n };\n\n window.addEventListener(\"storage\", storageEventCallback);\n\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n};\n\nexport const useAuthState = create<AuthState>()(\n persist(\n (set) => ({\n isAuthenticated: false,\n isPending: true,\n profile: null,\n providerData: null,\n setAuthenticationPending: () =>\n set(() => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n })),\n setLoggedOut: () =>\n set(() => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n })),\n setLoggedIn: ({\n profile,\n providerData,\n }: {\n profile: UserProfile;\n providerData: unknown;\n }) =>\n set(() => ({\n isAuthenticated: true,\n isPending: false,\n profile,\n providerData,\n })),\n }),\n {\n merge: (persistedState, currentState) => {\n return {\n ...currentState,\n isPending: false,\n ...(typeof persistedState === \"object\" ? persistedState : {}),\n };\n },\n name: \"auth-state\",\n storage: createJSONStorage(() => localStorage),\n },\n ),\n);\n\nif (typeof window !== \"undefined\") {\n withStorageDOMEvents(useAuthState);\n}\n\nexport interface UserProfile {\n sub: string;\n email: string | undefined;\n emailVerified: boolean;\n name: string | undefined;\n pictureUrl: string | undefined;\n [key: string]: string | boolean | undefined;\n}\n","import { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport type UseAuthReturn = ReturnType<typeof useAuth>;\n\nexport const useAuth = () => {\n const { authentication } = useZudoku();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n ...authState,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn({\n redirectTo: window.location.href,\n });\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n\n signup: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n await authentication.signUp({\n redirectTo: window.location.href,\n });\n },\n };\n};\n"],"names":["createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","React","createImpl","useBoundStore","create","createJSONStorage","getStorage","options","storage","name","_a","parse","str2","str","newValue","toThenable","fn","input","result","onFulfilled","_onRejected","_onFulfilled","onRejected","persistImpl","config","baseOptions","set","get","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","setItem","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","e","newOptions","persist","withStorageDOMEvents","store","storageEventCallback","useAuthState","profile","providerData","useAuth","authentication","useZudoku","authState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"hook-B4Q30zMI.js","sources":["../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.6_@types+react@19.1.8_react@19.1.0_use-sync-external-store@1.5.0_react@19.1.0_/node_modules/zustand/esm/middleware.mjs","../src/lib/authentication/state.ts","../src/lib/authentication/hook.ts"],"sourcesContent":["const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { create, type Mutate, type StoreApi } from \"zustand\";\nimport { createJSONStorage, persist } from \"zustand/middleware\";\n\nexport interface AuthState<ProviderData = unknown> {\n isAuthenticated: boolean;\n isPending: boolean;\n profile: UserProfile | null;\n providerData: ProviderData | null;\n setAuthenticationPending: () => void;\n setLoggedOut: () => void;\n setLoggedIn: ({\n profile,\n providerData,\n }: {\n profile: UserProfile;\n providerData: unknown;\n }) => void;\n}\n\nexport type StoreWithPersist<T> = Mutate<\n StoreApi<T>,\n [[\"zustand/persist\", unknown]]\n>;\n\nconst withStorageDOMEvents = <T>(store: StoreWithPersist<T>) => {\n const storageEventCallback = (e: StorageEvent) => {\n if (e.key === store.persist.getOptions().name && e.newValue) {\n void store.persist.rehydrate();\n }\n };\n\n window.addEventListener(\"storage\", storageEventCallback);\n\n return () => {\n window.removeEventListener(\"storage\", storageEventCallback);\n };\n};\n\nexport const useAuthState = create<AuthState>()(\n persist(\n (set) => ({\n isAuthenticated: false,\n isPending: true,\n profile: null,\n providerData: null,\n setAuthenticationPending: () =>\n set(() => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n })),\n setLoggedOut: () =>\n set(() => ({\n isAuthenticated: false,\n isPending: false,\n profile: null,\n providerData: null,\n })),\n setLoggedIn: ({\n profile,\n providerData,\n }: {\n profile: UserProfile;\n providerData: unknown;\n }) =>\n set(() => ({\n isAuthenticated: true,\n isPending: false,\n profile,\n providerData,\n })),\n }),\n {\n merge: (persistedState, currentState) => {\n return {\n ...currentState,\n isPending: false,\n ...(typeof persistedState === \"object\" ? persistedState : {}),\n };\n },\n name: \"auth-state\",\n storage: createJSONStorage(() => localStorage),\n },\n ),\n);\n\nif (typeof window !== \"undefined\") {\n withStorageDOMEvents(useAuthState);\n}\n\nexport interface UserProfile {\n sub: string;\n email: string | undefined;\n emailVerified: boolean;\n name: string | undefined;\n pictureUrl: string | undefined;\n [key: string]: string | boolean | undefined;\n}\n","import { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport type UseAuthReturn = ReturnType<typeof useAuth>;\n\nexport const useAuth = () => {\n const { authentication } = useZudoku();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n ...authState,\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn({\n redirectTo: window.location.href,\n });\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n\n signup: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n await authentication.signUp({\n redirectTo: window.location.href,\n });\n },\n };\n};\n"],"names":["createStoreImpl","createState","state","listeners","setState","partial","replace","nextState","previousState","listener","getState","api","initialState","createStore","identity","arg","useStore","selector","slice","React","createImpl","useBoundStore","create","createJSONStorage","getStorage","options","storage","name","_a","parse","str2","str","newValue","toThenable","fn","input","result","onFulfilled","_onRejected","_onFulfilled","onRejected","persistImpl","config","baseOptions","set","get","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","args","setItem","savedSetState","configResult","stateFromStorage","hydrate","_b","cb","_a2","postRehydrationCallback","deserializedStorageValue","migration","migrationResult","migrated","migratedState","e","newOptions","persist","withStorageDOMEvents","store","storageEventCallback","useAuthState","profile","providerData","useAuth","authentication","useZudoku","authState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,4 +1,4 @@
1
- import { e as s } from "./Slot-DOtTvoyj.js";
1
+ import { e as s } from "./Slot-BbdqiRXo.js";
2
2
  const u = [
3
3
  // German umlauts
4
4
  ["ß", "ss"],
@@ -2091,4 +2091,4 @@ export {
2091
2091
  S as a,
2092
2092
  f as s
2093
2093
  };
2094
- //# sourceMappingURL=index-HarEI51d.js.map
2094
+ //# sourceMappingURL=index-CQGi1b3U.js.map