zudoku 0.0.0-fix-downgrade-openapi-parser.aac00796 → 0.0.0-fix-firebase-export.2e421fda

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 (566) hide show
  1. package/dist/app/main.d.ts +91 -1
  2. package/dist/app/main.js +5 -1
  3. package/dist/app/main.js.map +1 -1
  4. package/dist/app/sentry.js +1 -1
  5. package/dist/config/config.d.ts +15 -46
  6. package/dist/config/validators/BuildSchema.js +18 -3
  7. package/dist/config/validators/BuildSchema.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +61 -61
  9. package/dist/config/validators/NavigationSchema.js +2 -4
  10. package/dist/config/validators/NavigationSchema.js.map +1 -1
  11. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  12. package/dist/config/validators/validate.d.ts +203 -5
  13. package/dist/config/validators/validate.js +44 -1
  14. package/dist/config/validators/validate.js.map +1 -1
  15. package/dist/config/validators/validate.test.js +43 -0
  16. package/dist/config/validators/validate.test.js.map +1 -1
  17. package/dist/flat-config.d.ts +31 -2
  18. package/dist/lib/auth/issuer.js +3 -0
  19. package/dist/lib/auth/issuer.js.map +1 -1
  20. package/dist/lib/authentication/authentication.d.ts +1 -1
  21. package/dist/lib/authentication/providers/auth0.js +6 -1
  22. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  23. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  24. package/dist/lib/authentication/providers/firebase.js +215 -0
  25. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  26. package/dist/lib/authentication/providers/supabase.js +1 -6
  27. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  28. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +24 -0
  29. package/dist/lib/authentication/ui/ZudokuAuthUi.js +124 -0
  30. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  31. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  32. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  33. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  34. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  35. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  36. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  37. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  38. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  39. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  40. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  41. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  42. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  43. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  44. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  45. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  46. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  47. package/dist/lib/authentication/ui/icons/X.js +4 -0
  48. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  49. package/dist/lib/components/Autocomplete.d.ts +3 -1
  50. package/dist/lib/components/Autocomplete.js +6 -2
  51. package/dist/lib/components/Autocomplete.js.map +1 -1
  52. package/dist/lib/components/Heading.d.ts +1 -1
  53. package/dist/lib/components/Layout.js +3 -2
  54. package/dist/lib/components/Layout.js.map +1 -1
  55. package/dist/lib/components/Mermaid.d.ts +7 -0
  56. package/dist/lib/components/Mermaid.js +42 -0
  57. package/dist/lib/components/Mermaid.js.map +1 -0
  58. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  59. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  60. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  61. package/dist/lib/components/Zudoku.js +2 -5
  62. package/dist/lib/components/Zudoku.js.map +1 -1
  63. package/dist/lib/components/navigation/NavigationItem.js +2 -2
  64. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  65. package/dist/lib/core/RouteGuard.js +7 -7
  66. package/dist/lib/core/RouteGuard.js.map +1 -1
  67. package/dist/lib/core/plugins.d.ts +3 -3
  68. package/dist/lib/errors/ErrorAlert.js +1 -1
  69. package/dist/lib/errors/RouterError.d.ts +3 -1
  70. package/dist/lib/errors/RouterError.js +3 -2
  71. package/dist/lib/errors/RouterError.js.map +1 -1
  72. package/dist/lib/oas/parser/index.d.ts +1 -0
  73. package/dist/lib/oas/parser/index.js +7 -3
  74. package/dist/lib/oas/parser/index.js.map +1 -1
  75. package/dist/lib/plugins/api-keys/ProtectedRoute.js +4 -1
  76. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  77. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +1 -0
  78. package/dist/lib/plugins/openapi/CollapsibleCode.js +2 -1
  79. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  80. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  81. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  82. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  83. package/dist/lib/plugins/openapi/Endpoint.js +3 -6
  84. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  85. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  86. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  87. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  88. package/dist/lib/plugins/openapi/OasProvider.js +22 -13
  89. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  90. package/dist/lib/plugins/openapi/OperationList.js +16 -6
  91. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  92. package/dist/lib/plugins/openapi/OperationListItem.d.ts +2 -1
  93. package/dist/lib/plugins/openapi/OperationListItem.js +4 -3
  94. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  95. package/dist/lib/plugins/openapi/ParameterList.js +7 -4
  96. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  97. package/dist/lib/plugins/openapi/ParameterListItem.js +17 -6
  98. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  99. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +9 -2
  100. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +5 -2
  101. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  102. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +4 -2
  103. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +26 -4
  104. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  105. package/dist/lib/plugins/openapi/SchemaList.js +2 -1
  106. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -1
  107. package/dist/lib/plugins/openapi/Sidecar.d.ts +2 -2
  108. package/dist/lib/plugins/openapi/Sidecar.js +61 -26
  109. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  110. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  111. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  112. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +9 -2
  113. package/dist/lib/plugins/openapi/SidecarExamples.js +24 -43
  114. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
  115. package/dist/lib/plugins/openapi/components/ConstValue.js +1 -1
  116. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -1
  117. package/dist/lib/plugins/openapi/components/EnumValues.js +1 -1
  118. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -1
  119. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  120. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  121. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  122. package/dist/lib/plugins/openapi/components/ResponseContent.js +5 -6
  123. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -1
  124. package/dist/lib/plugins/openapi/index.js +11 -5
  125. package/dist/lib/plugins/openapi/index.js.map +1 -1
  126. package/dist/lib/plugins/openapi/interfaces.d.ts +29 -13
  127. package/dist/lib/plugins/openapi/playground/BodyPanel.js +67 -15
  128. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -1
  129. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +2 -2
  130. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  131. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +1 -1
  132. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -1
  133. package/dist/lib/plugins/openapi/playground/Headers.js +23 -83
  134. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  135. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +10 -2
  136. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +8 -1
  137. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -1
  138. package/dist/lib/plugins/openapi/playground/PathParams.js +2 -3
  139. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  140. package/dist/lib/plugins/openapi/playground/Playground.d.ts +7 -0
  141. package/dist/lib/plugins/openapi/playground/Playground.js +58 -26
  142. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  143. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +3 -2
  144. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  145. package/dist/lib/plugins/openapi/playground/QueryParams.js +16 -40
  146. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  147. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  148. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  149. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  150. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +1 -1
  151. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -1
  152. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  153. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  154. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  155. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  156. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  157. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  158. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +2 -2
  159. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  160. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +1 -1
  161. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -1
  162. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +17 -8
  163. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  164. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +1 -1
  165. package/dist/lib/plugins/openapi/schema/SchemaView.js +31 -16
  166. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  167. package/dist/lib/plugins/openapi/schema/UnionView.js +2 -5
  168. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -1
  169. package/dist/lib/plugins/openapi/schema/union-helpers.js +0 -1
  170. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -1
  171. package/dist/lib/plugins/openapi/schema/utils.d.ts +2 -2
  172. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  173. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +9 -11
  174. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  175. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +6 -1
  176. package/dist/lib/plugins/openapi/util/getRoutes.js +29 -2
  177. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  178. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  179. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  180. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  181. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +22 -5
  182. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -1
  183. package/dist/lib/plugins/search-pagefind/ResultList.js +5 -4
  184. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -1
  185. package/dist/lib/shiki.d.ts +1 -1
  186. package/dist/lib/shiki.js +18 -12
  187. package/dist/lib/shiki.js.map +1 -1
  188. package/dist/lib/ui/Badge.d.ts +3 -3
  189. package/dist/lib/ui/Badge.js +9 -7
  190. package/dist/lib/ui/Badge.js.map +1 -1
  191. package/dist/lib/ui/Button.d.ts +2 -2
  192. package/dist/lib/ui/Button.js +9 -7
  193. package/dist/lib/ui/Button.js.map +1 -1
  194. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  195. package/dist/lib/ui/ButtonGroup.js +28 -0
  196. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  197. package/dist/lib/ui/Checkbox.d.ts +2 -2
  198. package/dist/lib/ui/Checkbox.js +4 -4
  199. package/dist/lib/ui/Checkbox.js.map +1 -1
  200. package/dist/lib/ui/CodeBlock.d.ts +0 -1
  201. package/dist/lib/ui/CodeBlock.js +1 -1
  202. package/dist/lib/ui/CodeBlock.js.map +1 -1
  203. package/dist/lib/ui/Collapsible.d.ts +4 -4
  204. package/dist/lib/ui/Collapsible.js +11 -4
  205. package/dist/lib/ui/Collapsible.js.map +1 -1
  206. package/dist/lib/ui/Command.d.ts +3 -3
  207. package/dist/lib/ui/Command.js +2 -2
  208. package/dist/lib/ui/Command.js.map +1 -1
  209. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  210. package/dist/lib/ui/DropdownMenu.js +47 -32
  211. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  212. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +0 -1
  213. package/dist/lib/ui/EmbeddedCodeBlock.js +3 -2
  214. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  215. package/dist/lib/ui/Frame.d.ts +8 -0
  216. package/dist/lib/ui/Frame.js +22 -0
  217. package/dist/lib/ui/Frame.js.map +1 -0
  218. package/dist/lib/ui/Item.d.ts +23 -0
  219. package/dist/lib/ui/Item.js +67 -0
  220. package/dist/lib/ui/Item.js.map +1 -0
  221. package/dist/lib/ui/Kbd.d.ts +3 -0
  222. package/dist/lib/ui/Kbd.js +10 -0
  223. package/dist/lib/ui/Kbd.js.map +1 -0
  224. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  225. package/dist/lib/ui/NativeSelect.js +14 -0
  226. package/dist/lib/ui/NativeSelect.js.map +1 -0
  227. package/dist/lib/ui/Select.d.ts +13 -11
  228. package/dist/lib/ui/Select.js +34 -23
  229. package/dist/lib/ui/Select.js.map +1 -1
  230. package/dist/lib/ui/Separator.d.ts +4 -0
  231. package/dist/lib/ui/Separator.js +8 -0
  232. package/dist/lib/ui/Separator.js.map +1 -0
  233. package/dist/lib/ui/Tooltip.d.ts +7 -7
  234. package/dist/lib/ui/Tooltip.js +16 -10
  235. package/dist/lib/ui/Tooltip.js.map +1 -1
  236. package/dist/lib/util/MdxComponents.d.ts +1 -0
  237. package/dist/lib/util/MdxComponents.js +2 -0
  238. package/dist/lib/util/MdxComponents.js.map +1 -1
  239. package/dist/lib/util/createVariantComponent.d.ts +5 -2
  240. package/dist/lib/util/createVariantComponent.js +5 -2
  241. package/dist/lib/util/createVariantComponent.js.map +1 -1
  242. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  243. package/dist/lib/util/flattenAllOf.js +88 -0
  244. package/dist/lib/util/flattenAllOf.js.map +1 -0
  245. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  246. package/dist/lib/util/flattenAllOf.test.js +587 -0
  247. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  248. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  249. package/dist/lib/util/readFrontmatter.js +12 -0
  250. package/dist/lib/util/readFrontmatter.js.map +1 -0
  251. package/dist/vite/api/SchemaManager.d.ts +5 -0
  252. package/dist/vite/api/SchemaManager.js +30 -18
  253. package/dist/vite/api/SchemaManager.js.map +1 -1
  254. package/dist/vite/api/SchemaManager.test.js +67 -0
  255. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  256. package/dist/vite/config.js +8 -2
  257. package/dist/vite/config.js.map +1 -1
  258. package/dist/vite/dev-server.js +25 -0
  259. package/dist/vite/dev-server.js.map +1 -1
  260. package/dist/vite/mdx/remark-last-modified.js +57 -3
  261. package/dist/vite/mdx/remark-last-modified.js.map +1 -1
  262. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  263. package/dist/vite/pagefind-dev-index.js +68 -0
  264. package/dist/vite/pagefind-dev-index.js.map +1 -0
  265. package/dist/vite/plugin-api.js +41 -3
  266. package/dist/vite/plugin-api.js.map +1 -1
  267. package/dist/vite/plugin-frontmatter.js +3 -5
  268. package/dist/vite/plugin-frontmatter.js.map +1 -1
  269. package/dist/vite/plugin-markdown-export.js +3 -4
  270. package/dist/vite/plugin-markdown-export.js.map +1 -1
  271. package/dist/vite/plugin-theme.js +10 -1
  272. package/dist/vite/plugin-theme.js.map +1 -1
  273. package/dist/vite/prerender/prerender.js +1 -19
  274. package/dist/vite/prerender/prerender.js.map +1 -1
  275. package/dist/vite/prerender/utils.d.ts +2 -0
  276. package/dist/vite/prerender/utils.js +24 -0
  277. package/dist/vite/prerender/utils.js.map +1 -0
  278. package/lib/ActionButton-DUgvSylL.js +25 -0
  279. package/lib/ActionButton-DUgvSylL.js.map +1 -0
  280. package/lib/Button-CynVW1JV.js +53 -0
  281. package/lib/Button-CynVW1JV.js.map +1 -0
  282. package/lib/ClaudeLogo-B4Xxt-x_.js +69 -0
  283. package/lib/ClaudeLogo-B4Xxt-x_.js.map +1 -0
  284. package/lib/{Command-CUcrW3qs.js → Command-BpT1iBE6.js} +25 -25
  285. package/lib/Command-BpT1iBE6.js.map +1 -0
  286. package/lib/Drawer-Ci7XwhqT.js.map +1 -1
  287. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  288. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  289. package/lib/{ErrorAlert-DE3Sf66a.js → ErrorAlert-DrOR8w3f.js} +475 -456
  290. package/lib/ErrorAlert-DrOR8w3f.js.map +1 -0
  291. package/lib/IndexingDialog-B5zCiUKr.js +100 -0
  292. package/lib/IndexingDialog-B5zCiUKr.js.map +1 -0
  293. package/lib/MdxPage-BagO2c-n.js +210 -0
  294. package/lib/MdxPage-BagO2c-n.js.map +1 -0
  295. package/lib/Mermaid-D_VSX7_Q.js +102 -0
  296. package/lib/Mermaid-D_VSX7_Q.js.map +1 -0
  297. package/lib/{OAuthErrorPage-BycMozgn.js → OAuthErrorPage-Fq54RLgt.js} +7 -7
  298. package/lib/{OAuthErrorPage-BycMozgn.js.map → OAuthErrorPage-Fq54RLgt.js.map} +1 -1
  299. package/lib/OasProvider-DPH8mwDa.js +40 -0
  300. package/lib/OasProvider-DPH8mwDa.js.map +1 -0
  301. package/lib/OperationList-C0jiEaG5.js +5805 -0
  302. package/lib/OperationList-C0jiEaG5.js.map +1 -0
  303. package/lib/RouteGuard-9wjejsKm.js +77 -0
  304. package/lib/RouteGuard-9wjejsKm.js.map +1 -0
  305. package/lib/RouterError-DSLXagd5.js +42 -0
  306. package/lib/RouterError-DSLXagd5.js.map +1 -0
  307. package/lib/{SchemaList-xZSf3IMh.js → SchemaList-BU0zCHn9.js} +28 -27
  308. package/lib/SchemaList-BU0zCHn9.js.map +1 -0
  309. package/lib/SchemaView-DVae4RO2.js +597 -0
  310. package/lib/SchemaView-DVae4RO2.js.map +1 -0
  311. package/lib/Select-CkxXP5I7.js +243 -0
  312. package/lib/Select-CkxXP5I7.js.map +1 -0
  313. package/lib/Separator-CTPSeW1S.js +27 -0
  314. package/lib/Separator-CTPSeW1S.js.map +1 -0
  315. package/lib/{SignUp-6SGx9Yyq.js → SignUp-BjS4ozA7.js} +13 -13
  316. package/lib/{SignUp-6SGx9Yyq.js.map → SignUp-BjS4ozA7.js.map} +1 -1
  317. package/lib/{SyntaxHighlight-zvlnSnHB.js → SyntaxHighlight-Kdyskw3C.js} +710 -662
  318. package/lib/{SyntaxHighlight-zvlnSnHB.js.map → SyntaxHighlight-Kdyskw3C.js.map} +1 -1
  319. package/lib/{Toc-Da9yp7lo.js → Toc-DJxFPfcS.js} +2 -2
  320. package/lib/{Toc-Da9yp7lo.js.map → Toc-DJxFPfcS.js.map} +1 -1
  321. package/lib/{ZudokuContext-BUZ5hkWB.js → ZudokuContext-BXldanA8.js} +11 -11
  322. package/lib/{ZudokuContext-BUZ5hkWB.js.map → ZudokuContext-BXldanA8.js.map} +1 -1
  323. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  324. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  325. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js → chunk-PVWAREVJ-dLIqswPy.js} +5 -5
  326. package/lib/{chunk-PVWAREVJ-BMhpCH5D.js.map → chunk-PVWAREVJ-dLIqswPy.js.map} +1 -1
  327. package/lib/{circular-DvuimBGQ.js → circular-CzWF1hj5.js} +6360 -5953
  328. package/lib/circular-CzWF1hj5.js.map +1 -0
  329. package/lib/createServer-BIr2_tGn.js +16693 -0
  330. package/lib/createServer-BIr2_tGn.js.map +1 -0
  331. package/lib/createVariantComponent-B9_dVBvu.js +35 -0
  332. package/lib/createVariantComponent-B9_dVBvu.js.map +1 -0
  333. package/lib/{errors-CuGgh3hf.js → errors-Bs4duWDy.js} +3 -3
  334. package/lib/{errors-CuGgh3hf.js.map → errors-Bs4duWDy.js.map} +1 -1
  335. package/lib/firebase-Cax7HPzn.js +7360 -0
  336. package/lib/firebase-Cax7HPzn.js.map +1 -0
  337. package/lib/{hook-CMeoxziF.js → hook-BNxidGQq.js} +3 -3
  338. package/lib/{hook-CMeoxziF.js.map → hook-BNxidGQq.js.map} +1 -1
  339. package/lib/index-0oT9beQN.js +3676 -0
  340. package/lib/index-0oT9beQN.js.map +1 -0
  341. package/lib/{index-rYHsvtTo.js → index-Bh-MffiL.js} +2 -2
  342. package/lib/{index-rYHsvtTo.js.map → index-Bh-MffiL.js.map} +1 -1
  343. package/lib/{index-B1rmok4X.js → index-CCmMJp02.js} +10 -10
  344. package/lib/{index-B1rmok4X.js.map → index-CCmMJp02.js.map} +1 -1
  345. package/lib/index-CrcNWbel.js.map +1 -1
  346. package/lib/index-Css56y3F.js +133 -0
  347. package/lib/index-Css56y3F.js.map +1 -0
  348. package/lib/index.esm-DDENMN4y.js +32 -0
  349. package/lib/index.esm-DDENMN4y.js.map +1 -0
  350. package/lib/{index.esm-BnYHxCYC.js → index.esm-DtzT_KoE.js} +20 -20
  351. package/lib/{index.esm-BnYHxCYC.js.map → index.esm-DtzT_KoE.js.map} +1 -1
  352. package/lib/{invariant-Bm-FVUQE.js → invariant-CGOLuIIz.js} +3 -3
  353. package/lib/{invariant-Bm-FVUQE.js.map → invariant-CGOLuIIz.js.map} +1 -1
  354. package/lib/{mutation-BSU0xu4m.js → mutation-BoVlx8yA.js} +2 -2
  355. package/lib/{mutation-BSU0xu4m.js.map → mutation-BoVlx8yA.js.map} +1 -1
  356. package/lib/ui/ActionButton.js +1 -1
  357. package/lib/ui/Badge.js +27 -13
  358. package/lib/ui/Badge.js.map +1 -1
  359. package/lib/ui/Button.js +26 -24
  360. package/lib/ui/Button.js.map +1 -1
  361. package/lib/ui/ButtonGroup.js +77 -0
  362. package/lib/ui/ButtonGroup.js.map +1 -0
  363. package/lib/ui/Checkbox.js +29 -26
  364. package/lib/ui/Checkbox.js.map +1 -1
  365. package/lib/ui/CodeBlock.js +7 -7
  366. package/lib/ui/CodeBlock.js.map +1 -1
  367. package/lib/ui/Collapsible.js +32 -5
  368. package/lib/ui/Collapsible.js.map +1 -1
  369. package/lib/ui/Command.js +3 -3
  370. package/lib/ui/Command.js.map +1 -1
  371. package/lib/ui/DropdownMenu.js +227 -140
  372. package/lib/ui/DropdownMenu.js.map +1 -1
  373. package/lib/ui/EmbeddedCodeBlock.js +26 -25
  374. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  375. package/lib/ui/Frame.js +81 -0
  376. package/lib/ui/Frame.js.map +1 -0
  377. package/lib/ui/Item.js +188 -0
  378. package/lib/ui/Item.js.map +1 -0
  379. package/lib/ui/Kbd.js +32 -0
  380. package/lib/ui/Kbd.js.map +1 -0
  381. package/lib/ui/NativeSelect.js +57 -0
  382. package/lib/ui/NativeSelect.js.map +1 -0
  383. package/lib/ui/Select.js +166 -116
  384. package/lib/ui/Select.js.map +1 -1
  385. package/lib/ui/Separator.js +27 -0
  386. package/lib/ui/Separator.js.map +1 -0
  387. package/lib/ui/SyntaxHighlight.js +3 -3
  388. package/lib/ui/Tabs.js +10 -10
  389. package/lib/ui/Tooltip.js +55 -28
  390. package/lib/ui/Tooltip.js.map +1 -1
  391. package/lib/useMutation-C6RqWmTS.js +97 -0
  392. package/lib/useMutation-C6RqWmTS.js.map +1 -0
  393. package/lib/zudoku.__internal.js +349 -349
  394. package/lib/zudoku.__internal.js.map +1 -1
  395. package/lib/zudoku.auth-auth0.js +7 -7
  396. package/lib/zudoku.auth-auth0.js.map +1 -1
  397. package/lib/zudoku.auth-azureb2c.js +4 -4
  398. package/lib/zudoku.auth-clerk.js +2 -2
  399. package/lib/zudoku.auth-firebase.js +9 -0
  400. package/lib/zudoku.auth-firebase.js.map +1 -0
  401. package/lib/zudoku.auth-openid.js +5 -5
  402. package/lib/zudoku.auth-supabase.js +31 -34
  403. package/lib/zudoku.auth-supabase.js.map +1 -1
  404. package/lib/zudoku.components.js +7 -7
  405. package/lib/zudoku.hooks.js +11 -24
  406. package/lib/zudoku.hooks.js.map +1 -1
  407. package/lib/zudoku.mermaid.js +10 -0
  408. package/lib/zudoku.mermaid.js.map +1 -0
  409. package/lib/zudoku.plugin-api-catalog.js +6 -6
  410. package/lib/zudoku.plugin-api-keys.js +225 -216
  411. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  412. package/lib/zudoku.plugin-custom-pages.js +1 -1
  413. package/lib/zudoku.plugin-markdown.js +1 -1
  414. package/lib/zudoku.plugin-openapi.js +3 -3
  415. package/lib/zudoku.plugin-redirect.js +1 -1
  416. package/lib/zudoku.plugin-search-pagefind.js +184 -226
  417. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  418. package/lib/zudoku.plugins.js.map +1 -1
  419. package/lib/zudoku.router.js +2 -2
  420. package/package.json +44 -27
  421. package/src/app/main.css +1 -1
  422. package/src/app/main.tsx +5 -1
  423. package/src/app/sentry.ts +1 -1
  424. package/src/lib/auth/issuer.ts +3 -0
  425. package/src/lib/authentication/authentication.ts +1 -1
  426. package/src/lib/authentication/providers/auth0.tsx +6 -1
  427. package/src/lib/authentication/providers/firebase.tsx +284 -0
  428. package/src/lib/authentication/providers/supabase.tsx +2 -7
  429. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +335 -0
  430. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  431. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  432. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  433. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  434. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  435. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  436. package/src/lib/components/Autocomplete.tsx +11 -2
  437. package/src/lib/components/Layout.tsx +3 -2
  438. package/src/lib/components/Mermaid.tsx +68 -0
  439. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  440. package/src/lib/components/Zudoku.tsx +4 -7
  441. package/src/lib/components/navigation/NavigationItem.tsx +7 -20
  442. package/src/lib/core/RouteGuard.tsx +9 -9
  443. package/src/lib/core/plugins.ts +2 -2
  444. package/src/lib/errors/ErrorAlert.tsx +1 -1
  445. package/src/lib/errors/RouterError.tsx +7 -2
  446. package/src/lib/oas/parser/index.ts +10 -3
  447. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +11 -7
  448. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -3
  449. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  450. package/src/lib/plugins/openapi/Endpoint.tsx +20 -27
  451. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  452. package/src/lib/plugins/openapi/OasProvider.tsx +30 -17
  453. package/src/lib/plugins/openapi/OperationList.tsx +46 -21
  454. package/src/lib/plugins/openapi/OperationListItem.tsx +15 -12
  455. package/src/lib/plugins/openapi/ParameterList.tsx +37 -23
  456. package/src/lib/plugins/openapi/ParameterListItem.tsx +105 -54
  457. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +48 -7
  458. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +101 -33
  459. package/src/lib/plugins/openapi/SchemaList.tsx +4 -0
  460. package/src/lib/plugins/openapi/Sidecar.tsx +145 -65
  461. package/src/lib/plugins/openapi/SidecarBox.tsx +26 -4
  462. package/src/lib/plugins/openapi/SidecarExamples.tsx +91 -79
  463. package/src/lib/plugins/openapi/components/ConstValue.tsx +1 -1
  464. package/src/lib/plugins/openapi/components/EnumValues.tsx +2 -2
  465. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  466. package/src/lib/plugins/openapi/components/ResponseContent.tsx +63 -53
  467. package/src/lib/plugins/openapi/index.tsx +16 -7
  468. package/src/lib/plugins/openapi/interfaces.ts +28 -7
  469. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +246 -30
  470. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +10 -6
  471. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +3 -2
  472. package/src/lib/plugins/openapi/playground/Headers.tsx +103 -219
  473. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +33 -1
  474. package/src/lib/plugins/openapi/playground/PathParams.tsx +26 -34
  475. package/src/lib/plugins/openapi/playground/Playground.tsx +75 -33
  476. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +9 -30
  477. package/src/lib/plugins/openapi/playground/QueryParams.tsx +82 -136
  478. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  479. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +1 -1
  480. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  481. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  482. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +2 -6
  483. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +1 -1
  484. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +89 -55
  485. package/src/lib/plugins/openapi/schema/SchemaView.tsx +98 -60
  486. package/src/lib/plugins/openapi/schema/UnionView.tsx +6 -17
  487. package/src/lib/plugins/openapi/schema/union-helpers.ts +0 -1
  488. package/src/lib/plugins/openapi/schema/utils.ts +5 -2
  489. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +11 -11
  490. package/src/lib/plugins/openapi/util/getRoutes.tsx +35 -3
  491. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  492. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +61 -22
  493. package/src/lib/plugins/search-pagefind/ResultList.tsx +8 -3
  494. package/src/lib/shiki.ts +21 -12
  495. package/src/lib/ui/Badge.tsx +21 -12
  496. package/src/lib/ui/Button.tsx +10 -9
  497. package/src/lib/ui/ButtonGroup.tsx +82 -0
  498. package/src/lib/ui/Checkbox.tsx +23 -24
  499. package/src/lib/ui/CodeBlock.tsx +3 -4
  500. package/src/lib/ui/Collapsible.tsx +26 -4
  501. package/src/lib/ui/Command.tsx +3 -3
  502. package/src/lib/ui/DropdownMenu.tsx +226 -170
  503. package/src/lib/ui/EmbeddedCodeBlock.tsx +21 -19
  504. package/src/lib/ui/Frame.tsx +81 -0
  505. package/src/lib/ui/Item.tsx +192 -0
  506. package/src/lib/ui/Kbd.tsx +28 -0
  507. package/src/lib/ui/NativeSelect.tsx +47 -0
  508. package/src/lib/ui/Select.tsx +153 -126
  509. package/src/lib/ui/Separator.tsx +25 -0
  510. package/src/lib/ui/Tooltip.tsx +54 -32
  511. package/src/lib/util/MdxComponents.tsx +2 -0
  512. package/src/lib/util/createVariantComponent.tsx +31 -5
  513. package/src/lib/util/flattenAllOf.test.ts +689 -0
  514. package/src/lib/util/flattenAllOf.ts +122 -0
  515. package/src/lib/util/readFrontmatter.ts +13 -0
  516. package/src/shiki/langs/markdown-nix.js +1 -0
  517. package/src/shiki/langs/openscad.js +1 -0
  518. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  519. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  520. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  521. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.d.ts +0 -5
  522. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js +0 -7
  523. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.js.map +0 -1
  524. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.d.ts +0 -4
  525. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js +0 -10
  526. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.js.map +0 -1
  527. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.d.ts +0 -5
  528. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js +0 -16
  529. package/dist/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.js.map +0 -1
  530. package/dist/vite/create-pagefind-index.d.ts +0 -4
  531. package/dist/vite/create-pagefind-index.js +0 -12
  532. package/dist/vite/create-pagefind-index.js.map +0 -1
  533. package/lib/Button-DmS4u8Lj.js +0 -51
  534. package/lib/Button-DmS4u8Lj.js.map +0 -1
  535. package/lib/Command-CUcrW3qs.js.map +0 -1
  536. package/lib/DropdownMenu-BZ2NKQ3K.js +0 -126
  537. package/lib/DropdownMenu-BZ2NKQ3K.js.map +0 -1
  538. package/lib/ErrorAlert-DE3Sf66a.js.map +0 -1
  539. package/lib/MdxPage-DZfeC0QY.js +0 -240
  540. package/lib/MdxPage-DZfeC0QY.js.map +0 -1
  541. package/lib/OasProvider-Bf5zBDBY.js +0 -36
  542. package/lib/OasProvider-Bf5zBDBY.js.map +0 -1
  543. package/lib/OperationList-Cmiw1xm2.js +0 -5446
  544. package/lib/OperationList-Cmiw1xm2.js.map +0 -1
  545. package/lib/Pagination-CJszmeSA.js +0 -37
  546. package/lib/Pagination-CJszmeSA.js.map +0 -1
  547. package/lib/RouteGuard-DhU3LRr1.js +0 -81
  548. package/lib/RouteGuard-DhU3LRr1.js.map +0 -1
  549. package/lib/RouterError-VDLnrFqF.js +0 -41
  550. package/lib/RouterError-VDLnrFqF.js.map +0 -1
  551. package/lib/SchemaList-xZSf3IMh.js.map +0 -1
  552. package/lib/SchemaView-tHXTm5oM.js +0 -458
  553. package/lib/SchemaView-tHXTm5oM.js.map +0 -1
  554. package/lib/Select-C1DeCqKv.js +0 -372
  555. package/lib/Select-C1DeCqKv.js.map +0 -1
  556. package/lib/circular-DvuimBGQ.js.map +0 -1
  557. package/lib/createServer-D9UvCoDf.js +0 -12559
  558. package/lib/createServer-D9UvCoDf.js.map +0 -1
  559. package/lib/index-Cr9_YzOZ.js +0 -3364
  560. package/lib/index-Cr9_YzOZ.js.map +0 -1
  561. package/lib/useExposedProps-U3pmsHaG.js +0 -113
  562. package/lib/useExposedProps-U3pmsHaG.js.map +0 -1
  563. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  564. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupConnector.tsx +0 -36
  565. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupItem.tsx +0 -25
  566. package/src/lib/plugins/openapi/schema/AllOfGroup/AllOfGroupView.tsx +0 -42
@@ -45,7 +45,11 @@ export type _Schema6 = (("Inter" | "Roboto" | "Open Sans" | "Poppins" | "Montser
45
45
  })
46
46
  export type _Schema7 = ({
47
47
  type: "url"
48
- input: string
48
+ input: (string | {
49
+ path: string
50
+ input: string
51
+ label?: string
52
+ }[])
49
53
  server?: _Schema8
50
54
  path?: _Schema9
51
55
  categories?: _Schema10
@@ -155,7 +159,7 @@ export interface FlatZudokuConfig {
155
159
  noDefaultTheme?: boolean
156
160
  }
157
161
  syntaxHighlighting?: {
158
- languages?: ("abap" | "actionscript-3" | "ada" | "angular-html" | "angular-ts" | "apache" | "apex" | "apl" | "applescript" | "ara" | "asciidoc" | "asm" | "astro" | "awk" | "ballerina" | "bat" | "beancount" | "berry" | "bibtex" | "bicep" | "blade" | "bsl" | "c" | "cadence" | "cairo" | "clarity" | "clojure" | "cmake" | "cobol" | "codeowners" | "codeql" | "coffee" | "common-lisp" | "coq" | "cpp" | "crystal" | "csharp" | "css" | "csv" | "cue" | "cypher" | "d" | "dart" | "dax" | "desktop" | "diff" | "docker" | "dotenv" | "dream-maker" | "edge" | "elixir" | "elm" | "emacs-lisp" | "erb" | "erlang" | "fennel" | "fish" | "fluent" | "fortran-fixed-form" | "fortran-free-form" | "fsharp" | "gdresource" | "gdscript" | "gdshader" | "genie" | "gherkin" | "git-commit" | "git-rebase" | "gleam" | "glimmer-js" | "glimmer-ts" | "glsl" | "gnuplot" | "go" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "haskell" | "haxe" | "hcl" | "hjson" | "hlsl" | "html" | "html-derivative" | "http" | "hurl" | "hxml" | "hy" | "imba" | "ini" | "java" | "javascript" | "jinja" | "jison" | "json" | "json5" | "jsonc" | "jsonl" | "jsonnet" | "jssm" | "jsx" | "julia" | "kdl" | "kotlin" | "kusto" | "latex" | "lean" | "less" | "liquid" | "llvm" | "log" | "logo" | "lua" | "luau" | "make" | "markdown" | "marko" | "matlab" | "mdc" | "mdx" | "mermaid" | "mipsasm" | "mojo" | "move" | "narrat" | "nextflow" | "nginx" | "nim" | "nix" | "nushell" | "objective-c" | "objective-cpp" | "ocaml" | "pascal" | "perl" | "php" | "pkl" | "plsql" | "po" | "polar" | "postcss" | "powerquery" | "powershell" | "prisma" | "prolog" | "proto" | "pug" | "puppet" | "purescript" | "python" | "qml" | "qmldir" | "qss" | "r" | "racket" | "raku" | "razor" | "reg" | "regexp" | "rel" | "riscv" | "rosmsg" | "rst" | "ruby" | "rust" | "sas" | "sass" | "scala" | "scheme" | "scss" | "sdbl" | "shaderlab" | "shellscript" | "shellsession" | "smalltalk" | "solidity" | "soy" | "sparql" | "splunk" | "sql" | "ssh-config" | "stata" | "stylus" | "svelte" | "swift" | "system-verilog" | "systemd" | "talonscript" | "tasl" | "tcl" | "templ" | "terraform" | "tex" | "toml" | "ts-tags" | "tsv" | "tsx" | "turtle" | "twig" | "typescript" | "typespec" | "typst" | "v" | "vala" | "vb" | "verilog" | "vhdl" | "viml" | "vue" | "vue-html" | "vue-vine" | "vyper" | "wasm" | "wenyan" | "wgsl" | "wikitext" | "wit" | "wolfram" | "xml" | "xsl" | "yaml" | "zenscript" | "zig" | "adoc" | "batch" | "be" | "1c" | "cdc" | "clj" | "ql" | "coffeescript" | "lisp" | "c++" | "c#" | "cs" | "cql" | "dockerfile" | "elisp" | "erl" | "ftl" | "f" | "for" | "f77" | "f90" | "f95" | "f03" | "f08" | "f18" | "f#" | "fs" | "gjs" | "gts" | "gql" | "hbs" | "hs" | "properties" | "js" | "cjs" | "mjs" | "fsl" | "jl" | "kt" | "kts" | "kql" | "lean4" | "makefile" | "md" | "mmd" | "mips" | "nar" | "nf" | "nu" | "objc" | "pot" | "potx" | "ps" | "ps1" | "protobuf" | "jade" | "py" | "perl6" | "regex" | "rb" | "rs" | "1c-query" | "shader" | "bash" | "sh" | "shell" | "zsh" | "console" | "closure-templates" | "spl" | "styl" | "talon" | "tf" | "tfvars" | "lit" | "ts" | "cts" | "mts" | "tsp" | "typ" | "cmd" | "vim" | "vimscript" | "vy" | "文言" | "mediawiki" | "wiki" | "wl" | "yml")[]
162
+ languages?: ("abap" | "actionscript-3" | "ada" | "angular-html" | "angular-ts" | "apache" | "apex" | "apl" | "applescript" | "ara" | "asciidoc" | "asm" | "astro" | "awk" | "ballerina" | "bat" | "beancount" | "berry" | "bibtex" | "bicep" | "blade" | "bsl" | "c" | "cadence" | "cairo" | "clarity" | "clojure" | "cmake" | "cobol" | "codeowners" | "codeql" | "coffee" | "common-lisp" | "coq" | "cpp" | "crystal" | "csharp" | "css" | "csv" | "cue" | "cypher" | "d" | "dart" | "dax" | "desktop" | "diff" | "docker" | "dotenv" | "dream-maker" | "edge" | "elixir" | "elm" | "emacs-lisp" | "erb" | "erlang" | "fennel" | "fish" | "fluent" | "fortran-fixed-form" | "fortran-free-form" | "fsharp" | "gdresource" | "gdscript" | "gdshader" | "genie" | "gherkin" | "git-commit" | "git-rebase" | "gleam" | "glimmer-js" | "glimmer-ts" | "glsl" | "gnuplot" | "go" | "graphql" | "groovy" | "hack" | "haml" | "handlebars" | "haskell" | "haxe" | "hcl" | "hjson" | "hlsl" | "html" | "html-derivative" | "http" | "hurl" | "hxml" | "hy" | "imba" | "ini" | "java" | "javascript" | "jinja" | "jison" | "json" | "json5" | "jsonc" | "jsonl" | "jsonnet" | "jssm" | "jsx" | "julia" | "kdl" | "kotlin" | "kusto" | "latex" | "lean" | "less" | "liquid" | "llvm" | "log" | "logo" | "lua" | "luau" | "make" | "markdown" | "marko" | "matlab" | "mdc" | "mdx" | "mermaid" | "mipsasm" | "mojo" | "move" | "narrat" | "nextflow" | "nginx" | "nim" | "nix" | "nushell" | "objective-c" | "objective-cpp" | "ocaml" | "openscad" | "pascal" | "perl" | "php" | "pkl" | "plsql" | "po" | "polar" | "postcss" | "powerquery" | "powershell" | "prisma" | "prolog" | "proto" | "pug" | "puppet" | "purescript" | "python" | "qml" | "qmldir" | "qss" | "r" | "racket" | "raku" | "razor" | "reg" | "regexp" | "rel" | "riscv" | "rosmsg" | "rst" | "ruby" | "rust" | "sas" | "sass" | "scala" | "scheme" | "scss" | "sdbl" | "shaderlab" | "shellscript" | "shellsession" | "smalltalk" | "solidity" | "soy" | "sparql" | "splunk" | "sql" | "ssh-config" | "stata" | "stylus" | "svelte" | "swift" | "system-verilog" | "systemd" | "talonscript" | "tasl" | "tcl" | "templ" | "terraform" | "tex" | "toml" | "ts-tags" | "tsv" | "tsx" | "turtle" | "twig" | "typescript" | "typespec" | "typst" | "v" | "vala" | "vb" | "verilog" | "vhdl" | "viml" | "vue" | "vue-html" | "vue-vine" | "vyper" | "wasm" | "wenyan" | "wgsl" | "wikitext" | "wit" | "wolfram" | "xml" | "xsl" | "yaml" | "zenscript" | "zig" | "adoc" | "batch" | "be" | "1c" | "cdc" | "clj" | "ql" | "coffeescript" | "lisp" | "c++" | "c#" | "cs" | "cql" | "dockerfile" | "elisp" | "erl" | "ftl" | "f" | "for" | "f77" | "f90" | "f95" | "f03" | "f08" | "f18" | "f#" | "fs" | "gjs" | "gts" | "gql" | "hbs" | "hs" | "properties" | "js" | "cjs" | "mjs" | "fsl" | "jl" | "kt" | "kts" | "kql" | "lean4" | "makefile" | "md" | "mmd" | "mips" | "nar" | "nf" | "nu" | "objc" | "scad" | "pot" | "potx" | "ps" | "ps1" | "protobuf" | "jade" | "py" | "perl6" | "regex" | "rb" | "rs" | "1c-query" | "shader" | "bash" | "sh" | "shell" | "zsh" | "console" | "closure-templates" | "spl" | "styl" | "talon" | "tf" | "tfvars" | "lit" | "ts" | "cts" | "mts" | "tsp" | "typ" | "cmd" | "vim" | "vimscript" | "vy" | "文言" | "mediawiki" | "wiki" | "wl" | "yml")[]
159
163
  themes?: {
160
164
  light: ("andromeeda" | "aurora-x" | "ayu-dark" | "catppuccin-frappe" | "catppuccin-latte" | "catppuccin-macchiato" | "catppuccin-mocha" | "dark-plus" | "dracula" | "dracula-soft" | "everforest-dark" | "everforest-light" | "github-dark" | "github-dark-default" | "github-dark-dimmed" | "github-dark-high-contrast" | "github-light" | "github-light-default" | "github-light-high-contrast" | "gruvbox-dark-hard" | "gruvbox-dark-medium" | "gruvbox-dark-soft" | "gruvbox-light-hard" | "gruvbox-light-medium" | "gruvbox-light-soft" | "houston" | "kanagawa-dragon" | "kanagawa-lotus" | "kanagawa-wave" | "laserwave" | "light-plus" | "material-theme" | "material-theme-darker" | "material-theme-lighter" | "material-theme-ocean" | "material-theme-palenight" | "min-dark" | "min-light" | "monokai" | "night-owl" | "nord" | "one-dark-pro" | "one-light" | "plastic" | "poimandres" | "red" | "rose-pine" | "rose-pine-dawn" | "rose-pine-moon" | "slack-dark" | "slack-ochin" | "snazzy-light" | "solarized-dark" | "solarized-light" | "synthwave-84" | "tokyo-night" | "vesper" | "vitesse-black" | "vitesse-dark" | "vitesse-light")
161
165
  dark: ("andromeeda" | "aurora-x" | "ayu-dark" | "catppuccin-frappe" | "catppuccin-latte" | "catppuccin-macchiato" | "catppuccin-mocha" | "dark-plus" | "dracula" | "dracula-soft" | "everforest-dark" | "everforest-light" | "github-dark" | "github-dark-default" | "github-dark-dimmed" | "github-dark-high-contrast" | "github-light" | "github-light-default" | "github-light-high-contrast" | "gruvbox-dark-hard" | "gruvbox-dark-medium" | "gruvbox-dark-soft" | "gruvbox-light-hard" | "gruvbox-light-medium" | "gruvbox-light-soft" | "houston" | "kanagawa-dragon" | "kanagawa-lotus" | "kanagawa-wave" | "laserwave" | "light-plus" | "material-theme" | "material-theme-darker" | "material-theme-lighter" | "material-theme-ocean" | "material-theme-palenight" | "min-dark" | "min-light" | "monokai" | "night-owl" | "nord" | "one-dark-pro" | "one-light" | "plastic" | "poimandres" | "red" | "rose-pine" | "rose-pine-dawn" | "rose-pine-moon" | "slack-dark" | "slack-ochin" | "snazzy-light" | "solarized-dark" | "solarized-light" | "synthwave-84" | "tokyo-night" | "vesper" | "vitesse-black" | "vitesse-dark" | "vitesse-light")
@@ -182,8 +186,22 @@ export interface FlatZudokuConfig {
182
186
  redirectToAfterSignUp?: string
183
187
  redirectToAfterSignIn?: string
184
188
  redirectToAfterSignOut?: string
189
+ } | {
190
+ type: "firebase"
191
+ apiKey: string
192
+ authDomain: string
193
+ projectId: string
194
+ storageBucket?: string
195
+ messagingSenderId?: string
196
+ appId: string
197
+ measurementId?: string
198
+ providers?: ("google" | "facebook" | "twitter" | "github" | "microsoft" | "apple" | "yahoo" | "password" | "phone" | "emailLink")[]
199
+ redirectToAfterSignUp?: string
200
+ redirectToAfterSignIn?: string
201
+ redirectToAfterSignOut?: string
185
202
  } | {
186
203
  type: "openid"
204
+ basePath?: string
187
205
  clientId: string
188
206
  issuer: string
189
207
  audience?: string
@@ -193,6 +211,7 @@ export interface FlatZudokuConfig {
193
211
  redirectToAfterSignOut?: string
194
212
  } | {
195
213
  type: "azureb2c"
214
+ basePath?: string
196
215
  clientId: string
197
216
  tenantName: string
198
217
  policyName: string
@@ -212,9 +231,11 @@ export interface FlatZudokuConfig {
212
231
  redirectToAfterSignOut?: string
213
232
  options?: {
214
233
  alwaysPromptLogin?: boolean
234
+ prompt?: string
215
235
  }
216
236
  } | {
217
237
  type: "supabase"
238
+ basePath?: string
218
239
  supabaseUrl: string
219
240
  supabaseKey: string
220
241
  provider?: string
@@ -342,12 +363,20 @@ export interface _Schema5 {
342
363
  }
343
364
  export interface _Schema12 {
344
365
  examplesLanguage?: string
366
+ supportedLanguages?: {
367
+ value: string
368
+ label: string
369
+ }[]
345
370
  disablePlayground?: boolean
346
371
  disableSidecar?: boolean
347
372
  showVersionSelect?: ("always" | "if-available" | "hide")
348
373
  expandAllTags?: boolean
349
374
  expandApiInformation?: boolean
375
+ schemaDownload?: {
376
+ enabled?: boolean
377
+ }
350
378
  transformExamples?: unknown
379
+ generateCodeSnippet?: unknown
351
380
  }
352
381
  export interface _Schema13 {
353
382
  path: string
@@ -26,6 +26,9 @@ export const getIssuer = async (config) => {
26
26
  case "azureb2c": {
27
27
  return config.authentication.issuer;
28
28
  }
29
+ case "firebase": {
30
+ return config.authentication.authDomain;
31
+ }
29
32
  case undefined: {
30
33
  return undefined;
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../../src/lib/auth/issuer.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAoB,EAAE,EAAE;IACtD,QAAQ,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACpC,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW;iBACzD,KAAK,CAAC,GAAG,CAAC;iBACV,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACV,SAAS,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,SAAS,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YAEtD,OAAO,WAAW,WAAW,EAAE,CAAC;QAClC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,WAAW,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QACpD,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;QAC3C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"issuer.js","sourceRoot":"","sources":["../../../src/lib/auth/issuer.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAoB,EAAE,EAAE;IACtD,QAAQ,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACpC,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,kBAAkB,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW;iBACzD,KAAK,CAAC,GAAG,CAAC;iBACV,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACV,SAAS,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,SAAS,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAC;YAEtD,OAAO,WAAW,WAAW,EAAE,CAAC;QAClC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,WAAW,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QACpD,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;QAC3C,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;QAC1C,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -16,7 +16,7 @@ export interface AuthenticationPlugin {
16
16
  /**
17
17
  * @deprecated use signRequest instead
18
18
  */
19
- getAccessToken(): Promise<string>;
19
+ getAccessToken?(): Promise<string>;
20
20
  onPageLoad?(): void;
21
21
  signRequest(request: Request): Promise<Request>;
22
22
  }
@@ -14,7 +14,12 @@ class Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {
14
14
  this.options = config.options;
15
15
  }
16
16
  onAuthorizationUrl = async (url, { isSignUp }) => {
17
- if (this.options?.alwaysPromptLogin !== false) {
17
+ if (this.options?.prompt !== undefined) {
18
+ if (this.options.prompt !== "") {
19
+ url.searchParams.set("prompt", this.options.prompt);
20
+ }
21
+ }
22
+ else if (this.options?.alwaysPromptLogin !== false) {
18
23
  url.searchParams.set("prompt", "login");
19
24
  }
20
25
  if (isSignUp) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/auth0.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,2BACJ,SAAQ,4BAA4B;IAGnB,OAAO,CAAuC;IAC/D,YAAY,MAAiC;QAC3C,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,GAAG;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,kBAAkB,GAAG,KAAK,EACxB,GAAQ,EACR,EAAE,QAAQ,EAAyB,EACnC,EAAE;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,GAAG,KAAK,EAAE,CAAoB,EAAiB,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,YAAY,CAAC,QAAQ,CAAC;YACpB,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAEnD,+EAA+E;QAC/E,uEAAuE;QACvE,+DAA+D;QAC/D,wDAAwD;QAExD,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,EAAE,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YACD,SAAS,CAAC,YAAY,CAAC,GAAG,CACxB,0BAA0B,EAC1B,WAAW,CAAC,QAAQ,EAAE,CACvB,CAAC;YAEF,+CAA+C;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAChD,CAAC;YACF,+CAA+C;QACjD,CAAC;IACH,CAAC,CAAC;CACH;AAED,MAAM,SAAS,GAEX,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAE1D,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"auth0.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/auth0.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,2BACJ,SAAQ,4BAA4B;IAGnB,OAAO,CAAuC;IAC/D,YAAY,MAAiC;QAC3C,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW,MAAM,CAAC,MAAM,GAAG;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,kBAAkB,GAAG,KAAK,EACxB,GAAQ,EACR,EAAE,QAAQ,EAAyB,EACnC,EAAE;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;YACrD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,GAAG,KAAK,EAAE,CAAoB,EAAiB,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,YAAY,CAAC,QAAQ,CAAC;YACpB,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAEnD,+EAA+E;QAC/E,uEAAuE;QACvE,+DAA+D;QAC/D,wDAAwD;QAExD,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,EAAE,CAAC,oBAAoB,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YACD,SAAS,CAAC,YAAY,CAAC,GAAG,CACxB,0BAA0B,EAC1B,WAAW,CAAC,QAAQ,EAAE,CACvB,CAAC;YAEF,+CAA+C;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAChD,CAAC;YACF,+CAA+C;QACjD,CAAC;IACH,CAAC,CAAC;CACH;AAED,MAAM,SAAS,GAEX,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAE1D,eAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FirebaseAuthenticationConfig } from "../../../config/config.js";
2
+ import type { AuthenticationProviderInitializer } from "../authentication.js";
3
+ declare const supabaseAuth: AuthenticationProviderInitializer<FirebaseAuthenticationConfig>;
4
+ export default supabaseAuth;
@@ -0,0 +1,215 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { initializeApp } from "firebase/app";
3
+ import { createUserWithEmailAndPassword, getAuth, signInWithEmailAndPassword, signInWithPopup, signOut, } from "firebase/auth";
4
+ import { CoreAuthenticationPlugin } from "../AuthenticationPlugin.js";
5
+ import { SignOut } from "../components/SignOut.js";
6
+ import { AuthorizationError } from "../errors.js";
7
+ import { useAuthState } from "../state.js";
8
+ import { ZudokuSignInUi, ZudokuSignUpUi } from "../ui/ZudokuAuthUi.js";
9
+ class FirebaseAuthenticationProvider extends CoreAuthenticationPlugin {
10
+ app;
11
+ auth;
12
+ providers;
13
+ constructor(config) {
14
+ super();
15
+ this.app = initializeApp({
16
+ apiKey: config.apiKey,
17
+ authDomain: config.authDomain,
18
+ projectId: config.projectId,
19
+ storageBucket: config.storageBucket,
20
+ messagingSenderId: config.messagingSenderId,
21
+ appId: config.appId,
22
+ measurementId: config.measurementId,
23
+ });
24
+ this.auth = getAuth(this.app);
25
+ this.providers = config.providers ?? [];
26
+ }
27
+ async signRequest(request) {
28
+ const accessToken = await this.auth.currentUser?.getIdToken();
29
+ if (!accessToken) {
30
+ throw new AuthorizationError("User is not authenticated");
31
+ }
32
+ request.headers.set("Authorization", `Bearer ${accessToken}`);
33
+ return request;
34
+ }
35
+ signUp = async ({ navigate }, { redirectTo }) => {
36
+ void navigate(redirectTo
37
+ ? `/signup?redirectTo=${encodeURIComponent(redirectTo)}`
38
+ : `/signup`);
39
+ };
40
+ signIn = async ({ navigate }, { redirectTo }) => {
41
+ void navigate(redirectTo
42
+ ? `/signin?redirectTo=${encodeURIComponent(redirectTo)}`
43
+ : `/signin`);
44
+ };
45
+ getRoutes = () => {
46
+ return [
47
+ {
48
+ path: "/signin",
49
+ element: (_jsx(ZudokuSignInUi, { providers: this.providers, onOAuthSignIn: async (providerId) => {
50
+ useAuthState.setState({ isPending: true });
51
+ const provider = await getProviderForId(providerId);
52
+ if (!provider) {
53
+ throw new AuthorizationError(`Provider ${providerId} not found`);
54
+ }
55
+ const result = await signInWithPopup(this.auth, provider);
56
+ useAuthState.setState({ isPending: false });
57
+ useAuthState.getState().setLoggedIn({
58
+ providerData: { user: result.user },
59
+ profile: {
60
+ sub: result.user.uid,
61
+ email: result.user.email ?? undefined,
62
+ name: result.user.displayName ?? undefined,
63
+ emailVerified: result.user.emailVerified,
64
+ pictureUrl: result.user.photoURL ?? undefined,
65
+ },
66
+ });
67
+ }, onUsernamePasswordSignIn: async (email, password) => {
68
+ try {
69
+ await signInWithEmailAndPassword(this.auth, email, password);
70
+ }
71
+ catch (error) {
72
+ throw Error(getFirebaseErrorMessage(error), { cause: error });
73
+ }
74
+ } })),
75
+ },
76
+ {
77
+ path: "/signup",
78
+ element: (_jsx(ZudokuSignUpUi, { providers: this.providers, onOAuthSignUp: async (providerId) => {
79
+ const provider = await getProviderForId(providerId);
80
+ if (!provider) {
81
+ throw new AuthorizationError(`Provider ${providerId} not found`);
82
+ }
83
+ await signInWithPopup(this.auth, provider);
84
+ }, onUsernamePasswordSignUp: async (email, password) => {
85
+ await createUserWithEmailAndPassword(this.auth, email, password);
86
+ } })),
87
+ },
88
+ {
89
+ path: "/signout",
90
+ element: _jsx(SignOut, {}),
91
+ },
92
+ ];
93
+ };
94
+ signOut = async () => {
95
+ await signOut(this.auth);
96
+ useAuthState.setState({
97
+ isAuthenticated: false,
98
+ isPending: false,
99
+ profile: undefined,
100
+ providerData: undefined,
101
+ });
102
+ };
103
+ onPageLoad = async () => {
104
+ const user = this.auth.currentUser;
105
+ if (user) {
106
+ await this.updateUserState(user);
107
+ }
108
+ else {
109
+ useAuthState.setState({ isPending: false });
110
+ }
111
+ };
112
+ async updateUserState(user) {
113
+ useAuthState.getState().setLoggedIn({
114
+ profile: {
115
+ sub: user.uid,
116
+ email: user.email ?? undefined,
117
+ name: user.displayName ?? undefined,
118
+ emailVerified: user.emailVerified,
119
+ pictureUrl: user.photoURL ?? undefined,
120
+ },
121
+ providerData: { user },
122
+ });
123
+ }
124
+ }
125
+ const supabaseAuth = (options) => new FirebaseAuthenticationProvider(options);
126
+ export default supabaseAuth;
127
+ const getProviderForId = async (providerId) => {
128
+ switch (providerId) {
129
+ case "google": {
130
+ const { GoogleAuthProvider } = await import("firebase/auth");
131
+ return new GoogleAuthProvider();
132
+ }
133
+ case "github": {
134
+ const { GithubAuthProvider } = await import("firebase/auth");
135
+ return new GithubAuthProvider();
136
+ }
137
+ case "facebook": {
138
+ const { FacebookAuthProvider } = await import("firebase/auth");
139
+ return new FacebookAuthProvider();
140
+ }
141
+ case "twitter": {
142
+ const { TwitterAuthProvider } = await import("firebase/auth");
143
+ return new TwitterAuthProvider();
144
+ }
145
+ case "microsoft": {
146
+ const { OAuthProvider } = await import("firebase/auth");
147
+ return new OAuthProvider("microsoft.com");
148
+ }
149
+ case "apple": {
150
+ const { OAuthProvider } = await import("firebase/auth");
151
+ return new OAuthProvider("apple.com");
152
+ }
153
+ case "yahoo": {
154
+ const { OAuthProvider } = await import("firebase/auth");
155
+ return new OAuthProvider("yahoo.com");
156
+ }
157
+ }
158
+ throw new AuthorizationError(`Provider ${providerId} not found`);
159
+ };
160
+ const getFirebaseErrorMessage = (error) => {
161
+ if (!(error instanceof Error)) {
162
+ return "An unexpected error occurred. Please try again.";
163
+ }
164
+ const errorCode = error.code;
165
+ switch (errorCode) {
166
+ case "auth/email-already-in-use":
167
+ return "The email address is already used by another account.";
168
+ case "auth/invalid-email":
169
+ return "That email address isn't correct.";
170
+ case "auth/operation-not-allowed":
171
+ return "This sign-in method is not enabled. Please contact support.";
172
+ case "auth/weak-password":
173
+ return "The password must be at least 6 characters long.";
174
+ case "auth/user-disabled":
175
+ return "This account has been disabled. Please contact support.";
176
+ case "auth/user-not-found":
177
+ return "That email address doesn't match an existing account.";
178
+ case "auth/wrong-password":
179
+ return "The email and password you entered don't match.";
180
+ case "auth/too-many-requests":
181
+ return "You have entered an incorrect password too many times. Please try again in a few minutes.";
182
+ case "auth/popup-blocked":
183
+ return "The sign-in popup was blocked by your browser. Please allow popups and try again.";
184
+ case "auth/popup-closed-by-user":
185
+ return "The sign-in popup was closed before completing. Please try again.";
186
+ case "auth/network-request-failed":
187
+ return "A network error has occurred. Please check your connection and try again.";
188
+ case "auth/requires-recent-login":
189
+ return "Please login again to perform this operation.";
190
+ case "auth/invalid-credential":
191
+ return "The credential is invalid or has expired. Please try again.";
192
+ case "auth/account-exists-with-different-credential":
193
+ return "An account already exists with the same email address but different sign-in credentials.";
194
+ case "auth/credential-already-in-use":
195
+ return "This credential is already associated with a different user account.";
196
+ case "auth/invalid-verification-code":
197
+ return "Wrong code. Try again.";
198
+ case "auth/invalid-verification-id":
199
+ return "The verification ID is invalid.";
200
+ case "auth/missing-verification-code":
201
+ return "Please enter the verification code.";
202
+ case "auth/user-cancelled":
203
+ return "Please authorize the required permissions to sign in.";
204
+ case "auth/expired-action-code":
205
+ return "This code has expired.";
206
+ case "auth/invalid-action-code":
207
+ return "The action code is invalid. This can happen if the code is malformed or has already been used.";
208
+ case "auth/unauthorized-domain":
209
+ return "This domain is not authorized for OAuth operations.";
210
+ default:
211
+ return (error.message ||
212
+ "An error occurred during authentication. Please try again.");
213
+ }
214
+ };
215
+ //# sourceMappingURL=firebase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/firebase.tsx"],"names":[],"mappings":"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"}
@@ -7,15 +7,10 @@ import { useAuthState } from "../state.js";
7
7
  import { SupabaseAuthUI } from "./supabase/SupabaseAuthUI.js";
8
8
  class SupabaseAuthenticationProvider extends CoreAuthenticationPlugin {
9
9
  client;
10
- providers;
11
10
  config;
12
11
  constructor(config) {
13
- const { provider, providers, supabaseUrl, supabaseKey } = config;
12
+ const { supabaseUrl, supabaseKey } = config;
14
13
  super();
15
- this.providers = providers ?? (provider ? [provider] : []);
16
- if (this.providers.length === 0) {
17
- throw new Error("At least one provider must be provided");
18
- }
19
14
  this.client = createClient(supabaseUrl, supabaseKey, {
20
15
  auth: {
21
16
  autoRefreshToken: true,
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/supabase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/supabase.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ export declare const AUTH_PROVIDER_NAMES: Record<AuthProviderId, string>;
3
+ export type AuthProviderId = keyof typeof ProviderIcons;
4
+ declare const ProviderIcons: {
5
+ readonly google: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
6
+ readonly github: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
7
+ readonly facebook: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
8
+ readonly twitter: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
9
+ readonly x: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
10
+ readonly apple: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
11
+ readonly microsoft: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
12
+ readonly yahoo: React.ExoticComponent<React.FragmentProps>;
13
+ };
14
+ export declare const ZudokuSignInUi: ({ providers, onOAuthSignIn, onUsernamePasswordSignIn, }: {
15
+ providers: string[];
16
+ onOAuthSignIn: (providerId: string) => Promise<void>;
17
+ onUsernamePasswordSignIn: (email: string, password: string) => Promise<void>;
18
+ }) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const ZudokuSignUpUi: ({ providers, onOAuthSignUp, onUsernamePasswordSignUp, }: {
20
+ providers: string[];
21
+ onOAuthSignUp: (providerId: string) => Promise<void>;
22
+ onUsernamePasswordSignUp: (email: string, password: string) => Promise<void>;
23
+ }) => import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1,124 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMutation } from "@tanstack/react-query";
3
+ import React from "react";
4
+ import { useForm } from "react-hook-form";
5
+ import { Link, useNavigate, useSearchParams } from "react-router";
6
+ import { ActionButton } from "zudoku/ui/ActionButton.js";
7
+ import { Alert, AlertDescription, AlertTitle } from "zudoku/ui/Alert.js";
8
+ import { Button } from "zudoku/ui/Button.js";
9
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "zudoku/ui/Card.js";
10
+ import { Input } from "zudoku/ui/Input.js";
11
+ import { Separator } from "zudoku/ui/Separator.js";
12
+ import { Form, FormControl, FormItem, FormLabel, FormMessage, } from "../../ui/Form.js";
13
+ import { cn } from "../../util/cn.js";
14
+ import createVariantComponent from "../../util/createVariantComponent.js";
15
+ import AppleIcon from "./icons/Apple.js";
16
+ import FacebookIcon from "./icons/Facebook.js";
17
+ import GithubIcon from "./icons/Github.js";
18
+ import GoogleIcon from "./icons/Google.js";
19
+ import MicrosoftIcon from "./icons/Microsoft.js";
20
+ import XIcon from "./icons/X.js";
21
+ export const AUTH_PROVIDER_NAMES = {
22
+ google: "Google",
23
+ github: "GitHub",
24
+ facebook: "Facebook",
25
+ twitter: "X",
26
+ x: "X",
27
+ microsoft: "Microsoft",
28
+ apple: "Apple",
29
+ yahoo: "Yahoo",
30
+ };
31
+ const ProviderIcons = {
32
+ google: GoogleIcon,
33
+ github: GithubIcon,
34
+ facebook: FacebookIcon,
35
+ twitter: XIcon,
36
+ x: XIcon,
37
+ apple: AppleIcon,
38
+ microsoft: MicrosoftIcon,
39
+ yahoo: React.Fragment,
40
+ };
41
+ const isValidAuthProviderId = (provider) => {
42
+ return provider in ProviderIcons;
43
+ };
44
+ const isAuthProviderIdArray = (providers) => {
45
+ return providers.every(isValidAuthProviderId);
46
+ };
47
+ const AuthProviderButton = ({ providerId, onClick, ...buttonProps }) => {
48
+ const IconRenderer = ProviderIcons[providerId];
49
+ return (_jsxs(Button, { variant: "outline", className: "gap-2", onClick: onClick, ...buttonProps, children: [_jsx(IconRenderer, { className: "w-4 h-4 fill-foreground" }), AUTH_PROVIDER_NAMES[providerId]] }));
50
+ };
51
+ const EmailPasswordForm = ({ form, onSubmit, submitLabel, isPending, }) => {
52
+ return (_jsx(Form, { ...form, children: _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), className: "flex flex-col gap-2", children: [_jsxs(FormItem, { children: [_jsx(FormLabel, { children: "E-Mail" }), _jsx(FormControl, { children: _jsx(Input, { placeholder: "Email", ...form.register("email") }) }), _jsx(FormMessage, {})] }), _jsxs(FormItem, { children: [_jsx(FormLabel, { children: "Password" }), _jsx(FormControl, { children: _jsx(Input, { placeholder: "Password", ...form.register("password"), type: "password" }) }), _jsx(FormMessage, {})] }), _jsx(ActionButton, { type: "submit", isPending: isPending, children: submitLabel })] }) }));
53
+ };
54
+ export const ZudokuSignInUi = ({ providers, onOAuthSignIn, onUsernamePasswordSignIn, }) => {
55
+ const navigate = useNavigate();
56
+ const [searchParams] = useSearchParams();
57
+ const redirectTo = searchParams.get("redirectTo");
58
+ if (!isAuthProviderIdArray(providers)) {
59
+ throw new Error("Invalid auth provider IDs");
60
+ }
61
+ const signInUsernameMutation = useMutation({
62
+ mutationFn: async ({ email, password }) => {
63
+ await onUsernamePasswordSignIn(email, password);
64
+ },
65
+ onSuccess: () => {
66
+ void navigate(redirectTo ?? "/");
67
+ },
68
+ });
69
+ const signInByProviderMutation = useMutation({
70
+ mutationFn: async ({ providerId }) => {
71
+ await onOAuthSignIn(providerId);
72
+ },
73
+ onSuccess: () => {
74
+ void navigate(redirectTo ?? "/");
75
+ },
76
+ });
77
+ const form = useForm({
78
+ defaultValues: {
79
+ email: "",
80
+ password: "",
81
+ },
82
+ });
83
+ const pending = signInUsernameMutation.isPending || signInByProviderMutation.isPending;
84
+ const error = signInUsernameMutation.error ?? signInByProviderMutation.error;
85
+ return (_jsxs(AuthCard, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Sign in" }), _jsx(CardDescription, { children: "Sign in to your account to continue." })] }), _jsxs(CardContent, { className: "flex flex-col gap-4", children: [error && (_jsxs(Alert, { variant: "destructive", children: [_jsx(AlertTitle, { children: "Error" }), _jsx(AlertDescription, { children: error?.message })] })), _jsx(EmailPasswordForm, { form: form, onSubmit: (data) => void signInUsernameMutation.mutate({
86
+ email: data.email,
87
+ password: data.password,
88
+ }), submitLabel: "Sign in", isPending: pending }), _jsx(ProviderSeparator, { providers: providers }), _jsx(ProviderButtons, { providers: providers, onClick: (providerId) => signInByProviderMutation.mutate({ providerId }) }), _jsx(Link, { to: "/signup", className: "text-sm text-muted-foreground", children: "Don't have an account? Sign up." })] })] }));
89
+ };
90
+ export const ZudokuSignUpUi = ({ providers, onOAuthSignUp, onUsernamePasswordSignUp, }) => {
91
+ if (!isAuthProviderIdArray(providers)) {
92
+ throw new Error("Invalid auth provider IDs");
93
+ }
94
+ const signUpUsernameMutation = useMutation({
95
+ mutationFn: async ({ email, password }) => {
96
+ await onUsernamePasswordSignUp(email, password);
97
+ },
98
+ });
99
+ const signUpByProviderMutation = useMutation({
100
+ mutationFn: async ({ providerId }) => {
101
+ await onOAuthSignUp(providerId);
102
+ },
103
+ });
104
+ const form = useForm({
105
+ defaultValues: {
106
+ email: "",
107
+ password: "",
108
+ },
109
+ });
110
+ const pending = signUpUsernameMutation.isPending || signUpByProviderMutation.isPending;
111
+ const error = signUpUsernameMutation.error ?? signUpByProviderMutation.error;
112
+ return (_jsxs(AuthCard, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Sign up" }), _jsx(CardDescription, { children: "Sign up to your account to continue." })] }), _jsxs(CardContent, { className: "flex flex-col gap-4", children: [error && (_jsxs(Alert, { variant: "destructive", children: [_jsx(AlertTitle, { children: "Error" }), _jsx(AlertDescription, { children: error?.message })] })), _jsx(EmailPasswordForm, { form: form, onSubmit: (data) => void signUpUsernameMutation.mutate({
113
+ email: data.email,
114
+ password: data.password,
115
+ }), submitLabel: "Sign up", isPending: pending }), _jsx(ProviderSeparator, { providers: providers }), _jsx(ProviderButtons, { providers: providers, onClick: (providerId) => signUpByProviderMutation.mutate({ providerId }) }), _jsx(Link, { to: "/signin", className: "text-sm text-muted-foreground", children: "Already have an account? Sign in." })] })] }));
116
+ };
117
+ const AuthCard = createVariantComponent(Card, "max-w-md w-full mt-10 mx-auto");
118
+ const ProviderButtons = ({ providers, onClick, }) => {
119
+ return (_jsx("div", { className: cn("grid grid-cols-2 gap-2", providers.length % 2 === 0 ? "grid-cols-2" : "grid-cols-1"), children: providers.map((provider) => (_jsx(AuthProviderButton, { providerId: provider, onClick: () => onClick(provider) }, provider))) }));
120
+ };
121
+ const ProviderSeparator = ({ providers }) => {
122
+ return (providers.length > 0 && (_jsx(Separator, { className: "my-3 relative", children: _jsx("span", { className: "bg-card text-muted-foreground text-sm px-2 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", children: "or continue with" }) })));
123
+ };
124
+ //# sourceMappingURL=ZudokuAuthUi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZudokuAuthUi.js","sourceRoot":"","sources":["../../../../src/lib/authentication/ui/ZudokuAuthUi.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SVGProps } from "react";
2
+ declare const AppleIcon: (props: SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
3
+ export default AppleIcon;
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const AppleIcon = (props) => (_jsxs("svg", { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("title", { children: "Apple" }), _jsx("path", { d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701" })] }));
3
+ export default AppleIcon;
4
+ //# sourceMappingURL=Apple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Apple.js","sourceRoot":"","sources":["../../../../../src/lib/authentication/ui/icons/Apple.tsx"],"names":[],"mappings":";AAEA,MAAM,SAAS,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CACpD,eAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B,KAAK,KAAK,aACnE,0BAAQ,OAAO,GAAS,EACxB,eAAM,CAAC,EAAC,+hBAA+hB,GAAG,IACtiB,CACP,CAAC;AAEF,eAAe,SAAS,CAAC"}