zudoku 0.16.3 → 0.18.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 (342) hide show
  1. package/dist/app/demo.js +0 -2
  2. package/dist/app/demo.js.map +1 -1
  3. package/dist/app/entry.client.js +14 -0
  4. package/dist/app/entry.client.js.map +1 -1
  5. package/dist/app/entry.server.js +5 -4
  6. package/dist/app/entry.server.js.map +1 -1
  7. package/dist/app/main.d.ts +1 -1
  8. package/dist/app/main.js +2 -2
  9. package/dist/app/main.js.map +1 -1
  10. package/dist/app/standalone.js +0 -2
  11. package/dist/app/standalone.js.map +1 -1
  12. package/dist/codegen.d.ts +3 -0
  13. package/dist/codegen.js +45 -0
  14. package/dist/codegen.js.map +1 -0
  15. package/dist/config/validators/InputSidebarSchema.d.ts +10 -10
  16. package/dist/config/validators/validate.d.ts +114 -114
  17. package/dist/config/validators/validate.js.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/authentication/authentication.d.ts +2 -2
  22. package/dist/lib/authentication/hook.d.ts +5 -4
  23. package/dist/lib/authentication/hook.js +1 -3
  24. package/dist/lib/authentication/hook.js.map +1 -1
  25. package/dist/lib/authentication/providers/auth0.js +11 -11
  26. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  27. package/dist/lib/authentication/providers/openid.d.ts +0 -1
  28. package/dist/lib/authentication/providers/openid.js +11 -26
  29. package/dist/lib/authentication/providers/openid.js.map +1 -1
  30. package/dist/lib/authentication/state.d.ts +25 -4
  31. package/dist/lib/authentication/state.js +28 -3
  32. package/dist/lib/authentication/state.js.map +1 -1
  33. package/dist/lib/authentication/use-broadcast/shared.d.ts +48 -0
  34. package/dist/lib/authentication/use-broadcast/shared.js +243 -0
  35. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -0
  36. package/dist/lib/authentication/use-broadcast/useBroadcast.d.ts +24 -0
  37. package/dist/lib/authentication/use-broadcast/useBroadcast.js +106 -0
  38. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -0
  39. package/dist/lib/components/Bootstrap.d.ts +3 -1
  40. package/dist/lib/components/Bootstrap.js +11 -3
  41. package/dist/lib/components/Bootstrap.js.map +1 -1
  42. package/dist/lib/components/ClientOnly.d.ts +4 -2
  43. package/dist/lib/components/ClientOnly.js +1 -1
  44. package/dist/lib/components/ClientOnly.js.map +1 -1
  45. package/dist/lib/components/DeveloperHint.js +2 -1
  46. package/dist/lib/components/DeveloperHint.js.map +1 -1
  47. package/dist/lib/components/Header.js +5 -7
  48. package/dist/lib/components/Header.js.map +1 -1
  49. package/dist/lib/components/Heading.d.ts +1 -1
  50. package/dist/lib/components/Layout.js +11 -3
  51. package/dist/lib/components/Layout.js.map +1 -1
  52. package/dist/lib/components/MobileTopNavigation.js +6 -7
  53. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  54. package/dist/lib/components/SyntaxHighlight.js +16 -12
  55. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  56. package/dist/lib/components/ThemeSwitch.d.ts +1 -0
  57. package/dist/lib/components/ThemeSwitch.js +13 -0
  58. package/dist/lib/components/ThemeSwitch.js.map +1 -0
  59. package/dist/lib/components/TopNavigation.d.ts +2 -0
  60. package/dist/lib/components/TopNavigation.js +13 -7
  61. package/dist/lib/components/TopNavigation.js.map +1 -1
  62. package/dist/lib/components/{DevPortal.d.ts → Zudoku.d.ts} +3 -3
  63. package/dist/lib/components/{DevPortal.js → Zudoku.js} +13 -14
  64. package/dist/lib/components/Zudoku.js.map +1 -0
  65. package/dist/lib/components/context/ZudokuContext.d.ts +7 -7
  66. package/dist/lib/components/context/ZudokuContext.js +8 -13
  67. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  68. package/dist/lib/components/context/ZudokuProvider.d.ts +2 -2
  69. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  70. package/dist/lib/components/index.d.ts +18 -10
  71. package/dist/lib/components/index.js +2 -3
  72. package/dist/lib/components/index.js.map +1 -1
  73. package/dist/lib/components/navigation/Sidebar.js +1 -1
  74. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  75. package/dist/lib/components/navigation/utils.js +2 -2
  76. package/dist/lib/components/navigation/utils.js.map +1 -1
  77. package/dist/lib/core/{DevPortalContext.d.ts → ZudokuContext.d.ts} +3 -7
  78. package/dist/lib/core/{DevPortalContext.js → ZudokuContext.js} +2 -7
  79. package/dist/lib/core/ZudokuContext.js.map +1 -0
  80. package/dist/lib/core/plugins.d.ts +12 -12
  81. package/dist/lib/core/plugins.js.map +1 -1
  82. package/dist/lib/errors/ErrorAlert.js +1 -1
  83. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  84. package/dist/lib/plugins/api-keys/index.d.ts +9 -9
  85. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  86. package/dist/lib/plugins/custom-pages/index.d.ts +2 -2
  87. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  88. package/dist/lib/plugins/markdown/index.d.ts +2 -2
  89. package/dist/lib/plugins/markdown/index.js.map +1 -1
  90. package/dist/lib/plugins/openapi/ColorizedParam.js +13 -9
  91. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  92. package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -1
  93. package/dist/lib/plugins/openapi/Endpoint.js +5 -9
  94. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  95. package/dist/lib/plugins/openapi/OperationList.d.ts +2 -2
  96. package/dist/lib/plugins/openapi/OperationList.js +7 -22
  97. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  98. package/dist/lib/plugins/openapi/Route.d.ts +4 -4
  99. package/dist/lib/plugins/openapi/Route.js +2 -4
  100. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  101. package/dist/lib/plugins/openapi/Sidecar.d.ts +1 -1
  102. package/dist/lib/plugins/openapi/Sidecar.js +34 -33
  103. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  104. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
  105. package/dist/lib/plugins/openapi/client/GraphQLClient.js +102 -0
  106. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -0
  107. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
  108. package/dist/lib/plugins/openapi/client/GraphQLContext.js +5 -0
  109. package/dist/lib/plugins/openapi/client/GraphQLContext.js.map +1 -0
  110. package/dist/lib/plugins/openapi/client/createServer.d.ts +1 -0
  111. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +5 -0
  112. package/dist/lib/plugins/openapi/client/useCreateQuery.js +13 -0
  113. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -0
  114. package/dist/lib/plugins/openapi/client/worker.d.ts +4 -1
  115. package/dist/lib/plugins/openapi/client/worker.js +23 -14
  116. package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
  117. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +3 -3
  118. package/dist/lib/plugins/openapi/graphql/fragment-masking.js +3 -4
  119. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  120. package/dist/lib/plugins/openapi/graphql/gql.d.ts +5 -52
  121. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  122. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  123. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +134 -9
  124. package/dist/lib/plugins/openapi/graphql/graphql.js +194 -778
  125. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  126. package/dist/lib/plugins/openapi/index.d.ts +2 -2
  127. package/dist/lib/plugins/openapi/index.js +40 -53
  128. package/dist/lib/plugins/openapi/index.js.map +1 -1
  129. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  130. package/dist/lib/plugins/openapi-worker.d.ts +1 -1
  131. package/dist/lib/plugins/openapi-worker.js +7 -1
  132. package/dist/lib/plugins/openapi-worker.js.map +1 -1
  133. package/dist/lib/plugins/redirect/index.d.ts +2 -2
  134. package/dist/lib/plugins/redirect/index.js.map +1 -1
  135. package/dist/lib/plugins/search-inkeep/index.d.ts +2 -2
  136. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  137. package/dist/lib/ui/ActionButton.d.ts +3 -1
  138. package/dist/lib/util/MdxComponents.d.ts +1 -1
  139. package/dist/lib/util/useOnScreen.d.ts +4 -0
  140. package/dist/lib/util/useOnScreen.js +19 -0
  141. package/dist/lib/util/useOnScreen.js.map +1 -0
  142. package/dist/vite/config.js +0 -1
  143. package/dist/vite/config.js.map +1 -1
  144. package/dist/vite/html.js +0 -2
  145. package/dist/vite/html.js.map +1 -1
  146. package/dist/vite/plugin-component.js +1 -1
  147. package/dist/vite/plugin-component.js.map +1 -1
  148. package/dist/vite/plugin-mdx.d.ts +0 -6
  149. package/dist/vite/plugin-mdx.js +3 -2
  150. package/dist/vite/plugin-mdx.js.map +1 -1
  151. package/dist/vite/plugin.js +0 -2
  152. package/dist/vite/plugin.js.map +1 -1
  153. package/dist/vite/remarkStaticGeneration.d.ts +3 -0
  154. package/dist/vite/remarkStaticGeneration.js +125 -0
  155. package/dist/vite/remarkStaticGeneration.js.map +1 -0
  156. package/lib/{AnchorLink-BbB2q-jx.js → AnchorLink-CDlhr8gL.js} +11 -10
  157. package/lib/{AnchorLink-BbB2q-jx.js.map → AnchorLink-CDlhr8gL.js.map} +1 -1
  158. package/lib/{AuthenticationPlugin-C9BHGXlE.js → AuthenticationPlugin-DeGDVa1r.js} +6 -5
  159. package/lib/{AuthenticationPlugin-C9BHGXlE.js.map → AuthenticationPlugin-DeGDVa1r.js.map} +1 -1
  160. package/lib/{Spinner-ChOGyPls.js → Button-jK0EsymC.js} +12 -15
  161. package/lib/Button-jK0EsymC.js.map +1 -0
  162. package/lib/{ClientOnly-CVN6leDu.js → ClientOnly-E7hGysn1.js} +4 -4
  163. package/lib/ClientOnly-E7hGysn1.js.map +1 -0
  164. package/lib/Markdown-ievDDhFT.js +15192 -0
  165. package/lib/Markdown-ievDDhFT.js.map +1 -0
  166. package/lib/{MdxPage-DKMH_t0f.js → MdxPage-Bwn-VSsH.js} +5 -5
  167. package/lib/{MdxPage-DKMH_t0f.js.map → MdxPage-Bwn-VSsH.js.map} +1 -1
  168. package/lib/OperationList-BwBl1xrD.js +4691 -0
  169. package/lib/OperationList-BwBl1xrD.js.map +1 -0
  170. package/lib/Route-DlG_HTMu.js +11 -0
  171. package/lib/Route-DlG_HTMu.js.map +1 -0
  172. package/lib/{Select-Bagt3Bme.js → Select-O9ZM3ZgX.js} +7 -7
  173. package/lib/Select-O9ZM3ZgX.js.map +1 -0
  174. package/lib/SidebarBadge-DxFJcJ6V.js +51 -0
  175. package/lib/SidebarBadge-DxFJcJ6V.js.map +1 -0
  176. package/lib/SlotletProvider-DyomlzGx.js +252 -0
  177. package/lib/SlotletProvider-DyomlzGx.js.map +1 -0
  178. package/lib/Spinner-3cQDBVGr.js +7 -0
  179. package/lib/Spinner-3cQDBVGr.js.map +1 -0
  180. package/lib/SyntaxHighlight-DkLOsjHS.js +2983 -0
  181. package/lib/SyntaxHighlight-DkLOsjHS.js.map +1 -0
  182. package/lib/assets/{worker-YA-aCP3P.js → worker-CPsGZsve.js} +24 -22
  183. package/lib/assets/{worker-YA-aCP3P.js.map → worker-CPsGZsve.js.map} +1 -1
  184. package/lib/context-D1nXWxm7.js +22 -0
  185. package/lib/context-D1nXWxm7.js.map +1 -0
  186. package/lib/createServer-DK-g7kbB.js +16089 -0
  187. package/lib/createServer-DK-g7kbB.js.map +1 -0
  188. package/lib/{hook-sn0zMTkE.js → hook-hEqe7fPB.js} +12 -14
  189. package/lib/hook-hEqe7fPB.js.map +1 -0
  190. package/lib/index-Czzd9rjU.js +899 -0
  191. package/lib/index-Czzd9rjU.js.map +1 -0
  192. package/lib/index-DNxQ_rCt.js +1273 -0
  193. package/lib/index-DNxQ_rCt.js.map +1 -0
  194. package/lib/index-Yn8c3UWE.js +921 -0
  195. package/lib/index-Yn8c3UWE.js.map +1 -0
  196. package/lib/{router-BsfSoK2j.js → router-lfyopgBI.js} +23 -23
  197. package/lib/{router-BsfSoK2j.js.map → router-lfyopgBI.js.map} +1 -1
  198. package/lib/state-tsXBLONe.js +203 -0
  199. package/lib/{state-CsuHT8ZO.js.map → state-tsXBLONe.js.map} +1 -1
  200. package/lib/ui/ActionButton.js +11 -10
  201. package/lib/ui/ActionButton.js.map +1 -1
  202. package/lib/useExposedProps-CTPtylCV.js +10 -0
  203. package/lib/{useExposedProps-ChOIUaS4.js.map → useExposedProps-CTPtylCV.js.map} +1 -1
  204. package/lib/{ZudokuContext-BKXGJTmu.js → utils-DcpDOncX.js} +242 -246
  205. package/lib/utils-DcpDOncX.js.map +1 -0
  206. package/lib/zudoku.auth-auth0.js +24 -18
  207. package/lib/zudoku.auth-auth0.js.map +1 -1
  208. package/lib/zudoku.auth-clerk.js +2 -2
  209. package/lib/zudoku.auth-openid.js +124 -138
  210. package/lib/zudoku.auth-openid.js.map +1 -1
  211. package/lib/zudoku.components.js +1284 -1121
  212. package/lib/zudoku.components.js.map +1 -1
  213. package/lib/zudoku.openapi-worker.js +10 -16346
  214. package/lib/zudoku.openapi-worker.js.map +1 -1
  215. package/lib/zudoku.plugin-api-keys.js +18 -18
  216. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  217. package/lib/zudoku.plugin-custom-pages.js +2 -2
  218. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  219. package/lib/zudoku.plugin-markdown.js +1 -1
  220. package/lib/zudoku.plugin-markdown.js.map +1 -1
  221. package/lib/zudoku.plugin-openapi.js +5 -9
  222. package/lib/zudoku.plugin-openapi.js.map +1 -1
  223. package/lib/zudoku.plugin-redirect.js +1 -1
  224. package/lib/zudoku.plugin-redirect.js.map +1 -1
  225. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  226. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  227. package/package.json +14 -4
  228. package/src/app/demo.tsx +0 -3
  229. package/src/app/entry.client.tsx +14 -0
  230. package/src/app/entry.server.tsx +59 -57
  231. package/src/app/main.tsx +4 -4
  232. package/src/app/standalone.tsx +0 -3
  233. package/src/lib/authentication/authentication.ts +2 -2
  234. package/src/lib/authentication/hook.ts +1 -3
  235. package/src/lib/authentication/providers/auth0.tsx +16 -11
  236. package/src/lib/authentication/providers/openid.tsx +12 -30
  237. package/src/lib/authentication/state.ts +50 -9
  238. package/{LICENSE.md → src/lib/authentication/use-broadcast/LICENSE.md} +2 -2
  239. package/src/lib/authentication/use-broadcast/shared.ts +372 -0
  240. package/src/lib/authentication/use-broadcast/useBroadcast.ts +146 -0
  241. package/src/lib/components/Bootstrap.tsx +36 -9
  242. package/src/lib/components/ClientOnly.tsx +6 -3
  243. package/src/lib/components/DeveloperHint.tsx +6 -1
  244. package/src/lib/components/Header.tsx +32 -37
  245. package/src/lib/components/Layout.tsx +48 -36
  246. package/src/lib/components/MobileTopNavigation.tsx +15 -18
  247. package/src/lib/components/SyntaxHighlight.tsx +81 -46
  248. package/src/lib/components/ThemeSwitch.tsx +26 -0
  249. package/src/lib/components/TopNavigation.tsx +27 -19
  250. package/src/lib/components/Zudoku.tsx +108 -0
  251. package/src/lib/components/context/ZudokuContext.ts +11 -16
  252. package/src/lib/components/context/ZudokuProvider.tsx +2 -2
  253. package/src/lib/components/index.ts +2 -3
  254. package/src/lib/components/navigation/Sidebar.tsx +3 -3
  255. package/src/lib/components/navigation/utils.ts +2 -2
  256. package/src/lib/core/{DevPortalContext.ts → ZudokuContext.ts} +3 -11
  257. package/src/lib/core/plugins.ts +12 -16
  258. package/src/lib/errors/ErrorAlert.tsx +2 -1
  259. package/src/lib/plugins/api-keys/index.tsx +9 -9
  260. package/src/lib/plugins/custom-pages/index.tsx +2 -2
  261. package/src/lib/plugins/markdown/index.tsx +2 -2
  262. package/src/lib/plugins/openapi/ColorizedParam.tsx +23 -14
  263. package/src/lib/plugins/openapi/Endpoint.tsx +5 -10
  264. package/src/lib/plugins/openapi/OperationList.tsx +6 -40
  265. package/src/lib/plugins/openapi/Route.tsx +11 -12
  266. package/src/lib/plugins/openapi/Sidecar.tsx +72 -61
  267. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +140 -0
  268. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
  269. package/src/lib/plugins/openapi/client/createServer.ts +2 -0
  270. package/src/lib/plugins/openapi/client/useCreateQuery.ts +18 -0
  271. package/src/lib/plugins/openapi/client/worker.ts +38 -24
  272. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +11 -18
  273. package/src/lib/plugins/openapi/graphql/gql.ts +7 -25
  274. package/src/lib/plugins/openapi/graphql/graphql.ts +351 -782
  275. package/src/lib/plugins/openapi/index.tsx +42 -67
  276. package/src/lib/plugins/openapi/schema/SchemaView.tsx +1 -1
  277. package/src/lib/plugins/openapi-worker.ts +11 -1
  278. package/src/lib/plugins/redirect/index.tsx +2 -2
  279. package/src/lib/plugins/search-inkeep/index.tsx +2 -2
  280. package/src/lib/ui/ActionButton.tsx +1 -1
  281. package/src/lib/util/useOnScreen.ts +32 -0
  282. package/dist/lib/components/DevPortal.js.map +0 -1
  283. package/dist/lib/components/context/ThemeContext.d.ts +0 -2
  284. package/dist/lib/components/context/ThemeContext.js +0 -7
  285. package/dist/lib/components/context/ThemeContext.js.map +0 -1
  286. package/dist/lib/components/context/ThemeProvider.d.ts +0 -4
  287. package/dist/lib/components/context/ThemeProvider.js +0 -23
  288. package/dist/lib/components/context/ThemeProvider.js.map +0 -1
  289. package/dist/lib/core/DevPortalContext.js.map +0 -1
  290. package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +0 -9
  291. package/dist/lib/plugins/openapi/client/createMemoryClient.js +0 -54
  292. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +0 -1
  293. package/dist/lib/plugins/openapi/client/createWorkerClient.d.ts +0 -10
  294. package/dist/lib/plugins/openapi/client/createWorkerClient.js +0 -62
  295. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +0 -1
  296. package/dist/lib/plugins/openapi/client/interfaces.d.ts +0 -4
  297. package/dist/lib/plugins/openapi/client/interfaces.js +0 -2
  298. package/dist/lib/plugins/openapi/client/interfaces.js.map +0 -1
  299. package/dist/lib/themeToggle.d.ts +0 -1
  300. package/dist/lib/themeToggle.js +0 -7
  301. package/dist/lib/themeToggle.js.map +0 -1
  302. package/dist/lib/util/createWaitForNotify.d.ts +0 -1
  303. package/dist/lib/util/createWaitForNotify.js +0 -15
  304. package/dist/lib/util/createWaitForNotify.js.map +0 -1
  305. package/dist/vite/plugin-html-transform.d.ts +0 -2
  306. package/dist/vite/plugin-html-transform.js +0 -15
  307. package/dist/vite/plugin-html-transform.js.map +0 -1
  308. package/lib/ClientOnly-CVN6leDu.js.map +0 -1
  309. package/lib/DeveloperHint-DHdLXGHA.js +0 -16
  310. package/lib/DeveloperHint-DHdLXGHA.js.map +0 -1
  311. package/lib/Markdown-BDcCAWwm.js +0 -18059
  312. package/lib/Markdown-BDcCAWwm.js.map +0 -1
  313. package/lib/OperationList-BjppA5yM.js +0 -621
  314. package/lib/OperationList-BjppA5yM.js.map +0 -1
  315. package/lib/Route-D_djzMv3.js +0 -13
  316. package/lib/Route-D_djzMv3.js.map +0 -1
  317. package/lib/Select-Bagt3Bme.js.map +0 -1
  318. package/lib/SidebarBadge-Bbt92M5K.js +0 -38
  319. package/lib/SidebarBadge-Bbt92M5K.js.map +0 -1
  320. package/lib/SlotletProvider-Da7eFgd2.js +0 -241
  321. package/lib/SlotletProvider-Da7eFgd2.js.map +0 -1
  322. package/lib/Spinner-ChOGyPls.js.map +0 -1
  323. package/lib/StaggeredRender-DDHSzQKE.js +0 -17
  324. package/lib/StaggeredRender-DDHSzQKE.js.map +0 -1
  325. package/lib/ZudokuContext-BKXGJTmu.js.map +0 -1
  326. package/lib/hook-sn0zMTkE.js.map +0 -1
  327. package/lib/index-CRo94sKK.js +0 -1783
  328. package/lib/index-CRo94sKK.js.map +0 -1
  329. package/lib/index-_gtpPhlu.js +0 -5877
  330. package/lib/index-_gtpPhlu.js.map +0 -1
  331. package/lib/state-CsuHT8ZO.js +0 -183
  332. package/lib/urql-core-35Qt_U4i.js +0 -1511
  333. package/lib/urql-core-35Qt_U4i.js.map +0 -1
  334. package/lib/useExposedProps-ChOIUaS4.js +0 -9
  335. package/src/lib/components/DevPortal.tsx +0 -111
  336. package/src/lib/components/context/ThemeContext.tsx +0 -8
  337. package/src/lib/components/context/ThemeProvider.tsx +0 -27
  338. package/src/lib/plugins/openapi/client/createMemoryClient.ts +0 -65
  339. package/src/lib/plugins/openapi/client/createWorkerClient.ts +0 -79
  340. package/src/lib/plugins/openapi/client/interfaces.ts +0 -5
  341. package/src/lib/themeToggle.ts +0 -7
  342. package/src/lib/util/createWaitForNotify.ts +0 -18
@@ -1,26 +1,23 @@
1
- import { matchPath, useRouteError, type RouteObject } from "react-router-dom";
2
- import { Client as UrqlClient, cacheExchange, fetchExchange } from "urql";
3
- import { type DevPortalPlugin } from "../../core/plugins.js";
1
+ import { matchPath, type RouteObject } from "react-router-dom";
2
+ import { type ZudokuPlugin } from "../../core/plugins.js";
4
3
  import { graphql } from "./graphql/index.js";
5
4
 
6
5
  import { useQuery } from "@tanstack/react-query";
7
6
  import { CirclePlayIcon, LogInIcon } from "lucide-react";
8
- import { createClient } from "zudoku/openapi-worker";
9
7
  import type { SidebarItem } from "../../../config/validators/SidebarSchema.js";
10
8
  import { useAuth } from "../../authentication/hook.js";
11
- import { ErrorPage } from "../../components/ErrorPage.js";
12
9
  import { ColorMap } from "../../components/navigation/SidebarBadge.js";
13
- import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
14
10
  import { Button } from "../../ui/Button.js";
15
11
  import { joinPath } from "../../util/joinPath.js";
12
+ import { GraphQLClient } from "./client/GraphQLClient.js";
16
13
  import { OasPluginConfig } from "./interfaces.js";
17
14
  import type { PlaygroundContentProps } from "./playground/Playground.js";
18
15
  import { PlaygroundDialog } from "./playground/PlaygroundDialog.js";
19
- import { GetServerQuery } from "./Sidecar.js";
20
16
 
21
17
  const GetCategoriesQuery = graphql(`
22
18
  query GetCategories($input: JSON!, $type: SchemaType!) {
23
19
  schema(input: $input, type: $type) {
20
+ url
24
21
  tags {
25
22
  __typename
26
23
  name
@@ -38,20 +35,6 @@ const GetCategoriesQuery = graphql(`
38
35
  }
39
36
  `);
40
37
 
41
- const OpenApiErrorPage = () => {
42
- const error = useRouteError();
43
- const message =
44
- error instanceof Error ? (
45
- <SyntaxHighlight code={error.message} />
46
- ) : (
47
- "An unknown error occurred"
48
- );
49
-
50
- return (
51
- <ErrorPage category="Error" title="An error occurred" message={message} />
52
- );
53
- };
54
-
55
38
  type InternalOasPluginConfig = { inMemory?: boolean };
56
39
 
57
40
  const MethodColorMap: Record<string, keyof typeof ColorMap> = {
@@ -66,17 +49,10 @@ const MethodColorMap: Record<string, keyof typeof ColorMap> = {
66
49
 
67
50
  export type OpenApiPluginOptions = OasPluginConfig & InternalOasPluginConfig;
68
51
 
69
- export const openApiPlugin = (
70
- config: OpenApiPluginOptions,
71
- ): DevPortalPlugin => {
52
+ export const openApiPlugin = (config: OpenApiPluginOptions): ZudokuPlugin => {
72
53
  const basePath = joinPath(config.navigationId ?? "/reference");
73
54
 
74
- const client = config.server
75
- ? new UrqlClient({
76
- url: config.server,
77
- exchanges: [cacheExchange, fetchExchange],
78
- })
79
- : createClient({ useMemoryClient: config.inMemory ?? false });
55
+ const client = new GraphQLClient(config);
80
56
 
81
57
  return {
82
58
  getHead: () => {
@@ -104,15 +80,13 @@ export const openApiPlugin = (
104
80
  ...props
105
81
  }: Partial<PlaygroundContentProps> & { requireAuth: boolean }) => {
106
82
  const auth = useAuth();
83
+ // We don't have the GraphQL context here
107
84
  const serverQuery = useQuery({
108
- queryFn: async () => {
109
- const result = await client.query(GetServerQuery, {
85
+ queryFn: () =>
86
+ client.fetch(GetCategoriesQuery, {
110
87
  type: config.type,
111
88
  input: config.input,
112
- });
113
-
114
- return result.data;
115
- },
89
+ }),
116
90
  enabled: !server,
117
91
  queryKey: ["playground-server"],
118
92
  });
@@ -150,38 +124,40 @@ export const openApiPlugin = (
150
124
  return [];
151
125
  }
152
126
 
153
- const { data } = await client.query(GetCategoriesQuery, {
154
- input: config.input,
155
- type: config.type,
156
- });
157
-
158
- if (!data) return [];
159
-
160
- const categories = data.schema.tags
161
- .filter((tag) => tag.operations.length > 0)
162
- .map<SidebarItem>((tag) => ({
163
- type: "category",
164
- label: tag.name || "Other endpoints",
165
- collapsible: true,
166
- collapsed: false,
167
- items: tag.operations.map((operation) => ({
168
- type: "link",
169
- label: operation.summary ?? operation.path,
170
- href: `#${operation.slug}`,
171
- badge: {
172
- label: operation.method,
173
- color: MethodColorMap[operation.method.toLowerCase()]!,
174
- },
175
- })),
176
- }));
127
+ try {
128
+ const data = await client.fetch(GetCategoriesQuery, {
129
+ type: config.type,
130
+ input: config.input,
131
+ });
177
132
 
178
- categories.unshift({
179
- type: "link",
180
- label: "Overview",
181
- href: "#description",
182
- });
133
+ const categories = data.schema.tags
134
+ .filter((tag) => tag.operations.length > 0)
135
+ .map<SidebarItem>((tag) => ({
136
+ type: "category",
137
+ label: tag.name || "Other endpoints",
138
+ collapsible: true,
139
+ collapsed: false,
140
+ items: tag.operations.map((operation) => ({
141
+ type: "link",
142
+ label: operation.summary ?? operation.path,
143
+ href: `#${operation.slug}`,
144
+ badge: {
145
+ label: operation.method,
146
+ color: MethodColorMap[operation.method.toLowerCase()]!,
147
+ },
148
+ })),
149
+ }));
150
+
151
+ categories.unshift({
152
+ type: "link",
153
+ label: "Overview",
154
+ href: "#description",
155
+ });
183
156
 
184
- return categories;
157
+ return categories;
158
+ } catch {
159
+ return [];
160
+ }
185
161
  },
186
162
  getRoutes: () =>
187
163
  [
@@ -192,7 +168,6 @@ export const openApiPlugin = (
192
168
  element: <OpenApiRoute client={client} config={config} />,
193
169
  };
194
170
  },
195
- errorElement: <OpenApiErrorPage />,
196
171
  children: [
197
172
  {
198
173
  path: basePath,
@@ -73,7 +73,7 @@ export const SchemaView = ({
73
73
  ) {
74
74
  return (
75
75
  <Card className="p-4 flex gap-2 items-center">
76
- {"name" in schema && <>{schema.name}</>}
76
+ {"name" in schema && <>{schema.name as string}</>}
77
77
  <span className="text-sm text-muted-foreground">object</span>
78
78
  {schema.description && (
79
79
  <Markdown
@@ -1 +1,11 @@
1
- export { createClient } from "./openapi/client/createWorkerClient.js";
1
+ export const initializeWorker = () => {
2
+ const worker = new SharedWorker(
3
+ new URL("./openapi/client/worker.ts", import.meta.url),
4
+ { type: "module" },
5
+ );
6
+ // eslint-disable-next-line no-console
7
+ worker.onerror = (e) => console.error(e);
8
+ worker.port.start();
9
+
10
+ return worker;
11
+ };
@@ -1,10 +1,10 @@
1
1
  import { redirect } from "react-router-dom";
2
2
  import { ZudokuRedirect } from "../../../config/validators/validate.js";
3
- import type { DevPortalPlugin } from "../../core/plugins.js";
3
+ import type { ZudokuPlugin } from "../../core/plugins.js";
4
4
 
5
5
  export const redirectPlugin = (options: {
6
6
  redirects: ZudokuRedirect[];
7
- }): DevPortalPlugin => {
7
+ }): ZudokuPlugin => {
8
8
  return {
9
9
  getRoutes: () =>
10
10
  options.redirects.map(({ from, to }) => ({
@@ -1,7 +1,7 @@
1
1
  import type { InkeepWidgetBaseSettings } from "@inkeep/widgets";
2
2
  import { lazy } from "react";
3
3
  import { ClientOnly } from "../../components/ClientOnly.js";
4
- import type { DevPortalPlugin } from "../../core/plugins.js";
4
+ import type { ZudokuPlugin } from "../../core/plugins.js";
5
5
  import { aiChatSettings, baseSettings } from "./inkeep.js";
6
6
 
7
7
  type PickedPluginInkeepBaseSettings =
@@ -44,7 +44,7 @@ const InkeepSearch = ({
44
44
 
45
45
  export const inkeepSearchPlugin = (
46
46
  settings: PluginInkeepBaseSettings,
47
- ): DevPortalPlugin => {
47
+ ): ZudokuPlugin => {
48
48
  return {
49
49
  renderSearch: ({
50
50
  isOpen,
@@ -5,7 +5,7 @@ import { cn } from "../util/cn.js";
5
5
 
6
6
  type ActionButtonProps = ButtonProps & { isPending?: boolean };
7
7
 
8
- export const ActionButton = forwardRef<HTMLButtonElement, ButtonProps>(
8
+ export const ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>(
9
9
  ({ isPending, children, className, ...props }: ActionButtonProps, ref) => {
10
10
  return (
11
11
  <Button
@@ -0,0 +1,32 @@
1
+ import { useEffect, useRef, useState } from "react";
2
+
3
+ export const useOnScreen = ({
4
+ rootMargin = "0px",
5
+ threshold,
6
+ }: {
7
+ rootMargin?: string;
8
+ threshold?: number;
9
+ } = {}) => {
10
+ const [isVisible, setIsVisible] = useState(false);
11
+ const ref = useRef<HTMLElement | null>(null);
12
+
13
+ useEffect(() => {
14
+ const observer = new IntersectionObserver(
15
+ ([entry]) => {
16
+ if (!entry) return;
17
+ setIsVisible(entry.isIntersecting);
18
+ },
19
+ { rootMargin, threshold },
20
+ );
21
+
22
+ const currentElement = ref.current;
23
+
24
+ if (!currentElement) return;
25
+
26
+ observer.observe(currentElement);
27
+
28
+ return () => observer.unobserve(currentElement);
29
+ }, [rootMargin, threshold]);
30
+
31
+ return [ref, isVisible] as const;
32
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevPortal.js","sourceRoot":"","sources":["../../../src/lib/components/DevPortal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACL,QAAQ,EACR,IAAI,EAEJ,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAChB,WAAW,GAEZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,cAAc,GAAG,CAAC,EACtB,QAAQ,EACR,GAAG,KAAK,EACgC,EAAE,EAAE;IAC5C,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,kBAAkB,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,EACrD,CAAC,KAAK,CAAC,SAAS,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,qBAAqB,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;aAChD,MAAM,CAAC,mBAAmB,CAAC;aAC3B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClB,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC;QAEJ,OAAO;YACL,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACzE,GAAG,aAAa;YAChB,GAAG,KAAK,CAAC,GAAG,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACvD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EACrD,CAAC,OAAO,EAAE,WAAW,CAAC,CACvB,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO;QACzB,EAAE,MAAM,CAAC,OAAO,CAAC;QACjB,oDAAoD;SACnD,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,KAAC,QAAQ,cAAU,MAAM,CAAC,OAAO,EAAE,EAAE,IAAtB,CAAC,CAAiC,CAAC,CAAC;IAEzE,OAAO,CACL,MAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,aACtC,KAAC,MAAM,cAAE,KAAK,GAAU,EACxB,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YACpD,KAAC,cAAc,IAAC,OAAO,EAAE,gBAAgB,YACvC,KAAC,WAAW,IAAC,UAAU,EAAE,aAAa,YACpC,KAAC,aAAa,cACZ,KAAC,kBAAkB,IAAC,KAAK,EAAE,UAAU,YACnC,KAAC,eAAe,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,YACvC,KAAC,sBAAsB,cACpB,QAAQ,IAAI,KAAC,MAAM,KAAG,GACA,GACT,GACC,GACP,GACJ,GACC,GACe,IACd,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;AAEnC,MAAM,SAAS,GAAG,CAAC,KAA2B,EAAE,EAAE;IAChD,OAAO,CACL,KAAC,aAAa,IAAC,iBAAiB,EAAE,aAAa,YAC7C,KAAC,KAAK,OAAK,KAAK,GAAI,GACN,CACjB,CAAC;AACJ,CAAC,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const ThemeContext: import("react").Context<readonly [boolean, () => void]>;
2
- export declare const useTheme: () => readonly [boolean, () => void];
@@ -1,7 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- export const ThemeContext = createContext([
3
- false,
4
- () => { },
5
- ]);
6
- export const useTheme = () => useContext(ThemeContext);
7
- //# sourceMappingURL=ThemeContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAiC;IACxE,KAAK;IACL,GAAG,EAAE,GAAE,CAAC;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { ReactNode } from "react";
2
- export declare const ThemeProvider: (props: {
3
- children: ReactNode;
4
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback, useEffect, useState } from "react";
3
- import { ThemeContext } from "./ThemeContext.js";
4
- export const ThemeProvider = (props) => {
5
- const [dark, setDark] = useState(false);
6
- // On mount, read the preferred theme from the persistence
7
- useEffect(() => {
8
- const theme = localStorage.getItem("theme");
9
- const prefersDark = window.matchMedia("(prefers-color-scheme: dark)");
10
- const isDark = theme === "dark" || (!theme && prefersDark.matches);
11
- setDark(isDark);
12
- }, [dark]);
13
- // To toggle between dark and light modes
14
- const toggle = useCallback(() => {
15
- const toggled = !dark;
16
- document.documentElement.classList.toggle("dark", toggled);
17
- localStorage.setItem("theme", toggled ? "dark" : "light");
18
- setDark(toggled);
19
- }, [dark]);
20
- const value = [dark, toggle];
21
- return _jsx(ThemeContext.Provider, { value: value, ...props });
22
- };
23
- //# sourceMappingURL=ThemeProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../../../src/lib/components/context/ThemeProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,yCAAyC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;QACtB,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC;IAEtC,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,KAAM,KAAK,GAAI,CAAC;AAC5D,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevPortalContext.js","sourceRoot":"","sources":["../../../src/lib/core/DevPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAElB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAkD7C,MAAM,OAAO,gBAAgB;IACpB,OAAO,CAA+C;IACtD,QAAQ,CAAgB;IACxB,aAAa,CAAqD;IAClE,IAAI,CAAmC;IACvC,IAAI,CAA+B;IACnC,cAAc,CAA0C;IACvD,iBAAiB,CAAqB;IAE9C,YAAY,MAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,UAAU,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC;IAEF,eAAe,GAAG,KAAK,EAAE,GAAwB,EAAE,EAAE;QACnD,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,mBAAmB,CAAC;aAC3B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACpC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,WAAW,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;QACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAE/D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;CACH"}
@@ -1,9 +0,0 @@
1
- import { CreateClientFunction } from "./interfaces.js";
2
- export declare const ssr: import("urql").SSRExchange;
3
- /**
4
- * Creates an in memory Client that does not use Workers. This allows
5
- * developers to run the simple standalone version of zudoku using the CDN
6
- * hosted scripts. Worker's cannot be loaded cross domain so in this case
7
- * we sacrifice performance for making it work cross domain.
8
- */
9
- export declare const createClient: CreateClientFunction;
@@ -1,54 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { cacheExchange, Client, fetchExchange, mapExchange, ssrExchange, } from "urql";
3
- import { createServer } from "./createServer.js";
4
- const localServer = createServer();
5
- const initialState =
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- typeof window !== "undefined" ? window.__URQL_DATA__ : undefined;
8
- export const ssr = ssrExchange({
9
- isClient: typeof window !== "undefined",
10
- initialState,
11
- });
12
- /**
13
- * Creates an in memory Client that does not use Workers. This allows
14
- * developers to run the simple standalone version of zudoku using the CDN
15
- * hosted scripts. Worker's cannot be loaded cross domain so in this case
16
- * we sacrifice performance for making it work cross domain.
17
- */
18
- export const createClient = () => {
19
- return new Client({
20
- url: "/__z/graphql",
21
- // Custom fetch to send the GraphQL request to the worker and convert the response back to a `Response` object
22
- fetch: async (req, init) => {
23
- if (!init?.body)
24
- throw new Error("No body");
25
- const response = await localServer.fetch(new Request("http://localhost/__z/graphql", {
26
- method: "POST",
27
- body: init.body,
28
- headers: {
29
- "Content-Type": "application/json",
30
- },
31
- }));
32
- return response;
33
- // port.postMessage({
34
- // id: e.data.id,
35
- // body: await response.text(),
36
- // } satisfies WorkerGraphQLMessage);
37
- },
38
- exchanges: [
39
- cacheExchange,
40
- mapExchange({
41
- onError(error, operation) {
42
- console.error(error);
43
- console.groupCollapsed("Operation info");
44
- console.log("body", operation.query.loc?.source.body.trim());
45
- console.log("variables", operation.variables);
46
- console.groupEnd();
47
- },
48
- }),
49
- ssr,
50
- fetchExchange,
51
- ],
52
- });
53
- };
54
- //# sourceMappingURL=createMemoryClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMemoryClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createMemoryClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;AAEnC,MAAM,YAAY;AAChB,8DAA8D;AAC9D,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAE,MAAc,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAE5E,MAAM,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC;IAC7B,QAAQ,EAAE,OAAO,MAAM,KAAK,WAAW;IACvC,YAAY;CACb,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,GAAG,EAAE;IACrD,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,OAAO,CAAC,8BAA8B,EAAE;gBAC1C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CACH,CAAC;YACF,OAAO,QAAQ,CAAC;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,iCAAiC;YACjC,qCAAqC;QACvC,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,GAAG;YACH,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { CreateClientFunction } from "./interfaces.js";
2
- export type WorkerGraphQLMessage = {
3
- id: string;
4
- body: string;
5
- };
6
- /**
7
- * This loads the client from a worker and uses mess port to send requests
8
- * and responses between the main thread and the worker.
9
- */
10
- export declare const createClient: CreateClientFunction;
@@ -1,62 +0,0 @@
1
- /* eslint-disable no-console */
2
- import { monotonicFactory } from "ulidx";
3
- import { cacheExchange, Client, fetchExchange, mapExchange } from "urql";
4
- import { createWaitForNotify } from "../../../util/createWaitForNotify.js";
5
- import { createClient as createMemoryClient, ssr, } from "./createMemoryClient.js";
6
- const ulid = monotonicFactory();
7
- /**
8
- * This loads the client from a worker and uses mess port to send requests
9
- * and responses between the main thread and the worker.
10
- */
11
- export const createClient = ({ useMemoryClient, }) => {
12
- if (useMemoryClient || typeof SharedWorker === "undefined") {
13
- return createMemoryClient({ useMemoryClient });
14
- }
15
- // NOTE: This URL needs to be inline with the SharedWorker otherwse
16
- // vite build does not recognize the worker file as a module.
17
- const worker = new SharedWorker(new URL("./worker.ts", import.meta.url), {
18
- type: "module",
19
- });
20
- worker.onerror = (e) => {
21
- console.error(e);
22
- };
23
- worker.port.start();
24
- const [waitFor, notify] = createWaitForNotify();
25
- worker.port.onmessage = (e) => {
26
- notify(e.data.id, e.data.body);
27
- };
28
- return new Client({
29
- url: "/__z/graphql",
30
- // Custom fetch to send the GraphQL request to the worker and convert the response back to a `Response` object
31
- fetch: async (_req, init) => {
32
- if (!init?.body)
33
- throw new Error("No body");
34
- const id = ulid();
35
- worker.port.postMessage({
36
- id,
37
- body: init.body,
38
- });
39
- const body = await waitFor(id);
40
- return new Response(body, {
41
- headers: {
42
- "Content-Type": "application/json",
43
- },
44
- });
45
- },
46
- exchanges: [
47
- cacheExchange,
48
- mapExchange({
49
- onError(error, operation) {
50
- console.error(error);
51
- console.groupCollapsed("Operation info");
52
- console.log("body", operation.query.loc?.source.body.trim());
53
- console.log("variables", operation.variables);
54
- console.groupEnd();
55
- },
56
- }),
57
- ssr,
58
- fetchExchange,
59
- ],
60
- });
61
- };
62
- //# sourceMappingURL=createWorkerClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWorkerClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createWorkerClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EACL,YAAY,IAAI,kBAAkB,EAClC,GAAG,GACJ,MAAM,yBAAyB,CAAC;AAIjC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,EACjD,eAAe,GAGhB,EAAE,EAAE;IACH,IAAI,eAAe,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAO,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvE,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAEpB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,mBAAmB,EAAU,CAAC;IAExD,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAqC,EAAE,EAAE;QAChE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAc;aACK,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;YAE/B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,GAAG;YACH,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import { Client } from "urql";
2
- export type CreateClientFunction = (config: {
3
- useMemoryClient: boolean;
4
- }) => Client;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/interfaces.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export declare const themeToggle: () => void;
@@ -1,7 +0,0 @@
1
- export const themeToggle = () => {
2
- const isDarkMode = localStorage.getItem("theme") === "dark" ||
3
- (!localStorage.getItem("theme") &&
4
- window.matchMedia("(prefers-color-scheme: dark)").matches);
5
- document.documentElement.classList.toggle("dark", isDarkMode);
6
- };
7
- //# sourceMappingURL=themeToggle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"themeToggle.js","sourceRoot":"","sources":["../../src/lib/themeToggle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,UAAU,GACd,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM;QACxC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/D,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare const createWaitForNotify: <T extends NonNullable<unknown>>() => readonly [(id: string) => Promise<T>, (id: string, data: T) => void];
@@ -1,15 +0,0 @@
1
- export const createWaitForNotify = () => {
2
- const resolveMap = new Map();
3
- const waitFor = (id) => new Promise((resolve) => {
4
- resolveMap.set(id, resolve);
5
- });
6
- const notify = (id, data) => {
7
- const resolveFn = resolveMap.get(id);
8
- if (resolveFn) {
9
- resolveFn(data);
10
- resolveMap.delete(id);
11
- }
12
- };
13
- return [waitFor, notify];
14
- };
15
- //# sourceMappingURL=createWaitForNotify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createWaitForNotify.js","sourceRoot":"","sources":["../../../src/lib/util/createWaitForNotify.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAmC,EAAE;IACtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE1E,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,EAAE,CAC7B,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QACzB,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,CAAC,EAAU,EAAE,IAAO,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AACpC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { type Plugin } from "vite";
2
- export declare const viteHtmlTransform: () => Plugin;
@@ -1,15 +0,0 @@
1
- import { themeToggle } from "../lib/themeToggle.js";
2
- export const viteHtmlTransform = () => {
3
- return {
4
- name: "zudoku-html-transform",
5
- transformIndexHtml: () => [
6
- {
7
- tag: "script",
8
- attrs: { type: "module" },
9
- injectTo: "head",
10
- children: `(${themeToggle.toString()})();`,
11
- },
12
- ],
13
- };
14
- };
15
- //# sourceMappingURL=plugin-html-transform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-html-transform.js","sourceRoot":"","sources":["../../src/vite/plugin-html-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAW,EAAE;IAC5C,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,kBAAkB,EAAE,GAAG,EAAE,CAAC;YACxB;gBACE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM;aAC3C;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientOnly-CVN6leDu.js","sources":["../src/lib/components/ClientOnly.tsx"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\n\nconst noop = () => () => {};\n\nexport const ClientOnly = (props: { children: React.ReactNode }) => {\n const value = useSyncExternalStore(\n noop,\n () => \"client\",\n () => \"server\",\n );\n\n return value === \"client\" ? props.children : null;\n};\n"],"names":["noop","ClientOnly","props","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAO,MAAM,MAAM;AAAC,GAEbC,IAAa,CAACC,MACXC;AAAA,EACZH;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,MAGS,WAAWE,EAAM,WAAW;"}
@@ -1,16 +0,0 @@
1
- import { j as e } from "./jsx-runtime-B6kdoens.js";
2
- import { Callout as i } from "./ui/Callout.js";
3
- const n = ({
4
- children: s,
5
- className: t
6
- }) => {
7
- if (process.env.NODE_ENV === "development")
8
- return /* @__PURE__ */ e.jsx(i, { type: "caution", title: "Developer hint", className: t, children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2", children: [
9
- /* @__PURE__ */ e.jsx("div", { children: s }),
10
- /* @__PURE__ */ e.jsx("small", { className: "italic", children: "Note: This hint is only shown in development mode." })
11
- ] }) });
12
- };
13
- export {
14
- n as D
15
- };
16
- //# sourceMappingURL=DeveloperHint-DHdLXGHA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeveloperHint-DHdLXGHA.js","sources":["../src/lib/components/DeveloperHint.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Callout } from \"../ui/Callout.js\";\n\nexport const DeveloperHint = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n if (process.env.NODE_ENV !== \"development\") return;\n\n return (\n <Callout type=\"caution\" title=\"Developer hint\" className={className}>\n <div className=\"flex flex-col gap-2\">\n <div>{children}</div>\n <small className=\"italic\">\n Note: This hint is only shown in development mode.\n </small>\n </div>\n </Callout>\n );\n};\n"],"names":["DeveloperHint","children","className","jsx","Callout","jsxs"],"mappings":";;AAGO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,UAAAC;AAAA,EACA,WAAAC;AACF,MAGM;AACA,MAAA,QAAQ,IAAI,aAAa;AAG3B,WAAAC,gBAAAA,EAAAA,IAACC,GAAQ,EAAA,MAAK,WAAU,OAAM,kBAAiB,WAAAF,GAC7C,UAAAG,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,uBACb,UAAA;AAAA,MAAAF,gBAAAA,MAAC,SAAK,UAAAF,GAAS;AAAA,MACdE,gBAAAA,EAAA,IAAA,SAAA,EAAM,WAAU,UAAS,UAE1B,sDAAA;AAAA,IAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}