zudoku 0.0.0-z179c4f85 → 0.0.0-z2f55b5ae

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 (336) hide show
  1. package/dist/app/main.js +1 -1
  2. package/dist/app/main.js.map +1 -1
  3. package/dist/config/create-plugin.d.ts +2 -0
  4. package/dist/config/create-plugin.js +55 -0
  5. package/dist/config/create-plugin.js.map +1 -0
  6. package/dist/config/loader.js +3 -1
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +103 -53
  9. package/dist/config/validators/InputNavigationSchema.js +17 -0
  10. package/dist/config/validators/InputNavigationSchema.js.map +1 -1
  11. package/dist/config/validators/NavigationSchema.d.ts +10 -2
  12. package/dist/config/validators/NavigationSchema.js +7 -0
  13. package/dist/config/validators/NavigationSchema.js.map +1 -1
  14. package/dist/config/validators/ProtectedRoutesSchema.d.ts +1 -1
  15. package/dist/config/validators/validate.d.ts +25 -6
  16. package/dist/config/validators/validate.js +8 -3
  17. package/dist/config/validators/validate.js.map +1 -1
  18. package/dist/flat-config.d.ts +40 -27
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/lib/components/Bootstrap.js +1 -2
  23. package/dist/lib/components/Bootstrap.js.map +1 -1
  24. package/dist/lib/components/Heading.d.ts +1 -1
  25. package/dist/lib/components/MobileTopNavigation.js +2 -1
  26. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  27. package/dist/lib/components/Slot.test.js +1 -1
  28. package/dist/lib/components/Slot.test.js.map +1 -1
  29. package/dist/lib/components/TopNavigation.d.ts +7 -1
  30. package/dist/lib/components/TopNavigation.js +7 -2
  31. package/dist/lib/components/TopNavigation.js.map +1 -1
  32. package/dist/lib/components/Zudoku.d.ts +4 -1
  33. package/dist/lib/components/Zudoku.js +4 -7
  34. package/dist/lib/components/Zudoku.js.map +1 -1
  35. package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
  36. package/dist/lib/components/context/ZudokuContext.js +4 -2
  37. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  38. package/dist/lib/components/context/ZudokuProvider.js +1 -1
  39. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  40. package/dist/lib/components/context/ZudokuReactContext.d.ts +11 -0
  41. package/dist/lib/components/context/ZudokuReactContext.js +4 -0
  42. package/dist/lib/components/context/ZudokuReactContext.js.map +1 -0
  43. package/dist/lib/components/index.d.ts +18 -74
  44. package/dist/lib/components/index.js +19 -36
  45. package/dist/lib/components/index.js.map +1 -1
  46. package/dist/lib/components/navigation/Navigation.js +4 -3
  47. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  48. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  49. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  50. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  51. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  52. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  53. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  54. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  55. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  56. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  57. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  58. package/dist/lib/components/navigation/utils.d.ts +2 -1
  59. package/dist/lib/components/navigation/utils.js +22 -1
  60. package/dist/lib/components/navigation/utils.js.map +1 -1
  61. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  62. package/dist/lib/core/ZudokuContext.js +3 -1
  63. package/dist/lib/core/ZudokuContext.js.map +1 -1
  64. package/dist/lib/core/__internal.d.ts +1 -0
  65. package/dist/lib/core/__internal.js +2 -0
  66. package/dist/lib/core/__internal.js.map +1 -1
  67. package/dist/lib/core/plugins.d.ts +15 -1
  68. package/dist/lib/core/plugins.js +1 -0
  69. package/dist/lib/core/plugins.js.map +1 -1
  70. package/dist/lib/core/transform-config.d.ts +4 -0
  71. package/dist/lib/core/transform-config.js +42 -0
  72. package/dist/lib/core/transform-config.js.map +1 -0
  73. package/dist/lib/core/transform-config.test.d.ts +1 -0
  74. package/dist/lib/core/transform-config.test.js +83 -0
  75. package/dist/lib/core/transform-config.test.js.map +1 -0
  76. package/dist/lib/errors/ErrorAlert.js +1 -2
  77. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  78. package/dist/lib/hooks/index.d.ts +7 -30
  79. package/dist/lib/hooks/index.js +7 -15
  80. package/dist/lib/hooks/index.js.map +1 -1
  81. package/dist/lib/hooks/useEvent.test.js +1 -1
  82. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  83. package/dist/lib/oas/graphql/circular.d.ts +1 -1
  84. package/dist/lib/oas/graphql/circular.js +18 -35
  85. package/dist/lib/oas/graphql/circular.js.map +1 -1
  86. package/dist/lib/oas/graphql/circular.test.js +33 -2
  87. package/dist/lib/oas/graphql/circular.test.js.map +1 -1
  88. package/dist/lib/oas/parser/index.js +14 -5
  89. package/dist/lib/oas/parser/index.js.map +1 -1
  90. package/dist/lib/plugins/openapi/OasProvider.js +6 -2
  91. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -1
  92. package/dist/lib/plugins/openapi/OperationList.js +4 -8
  93. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  94. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -0
  95. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  96. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  97. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  98. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  99. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  100. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  101. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  102. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  103. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +3 -0
  104. package/dist/lib/plugins/openapi/util/getRoutes.js +2 -1
  105. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -1
  106. package/dist/lib/ui/Alert.d.ts +3 -2
  107. package/dist/lib/ui/Alert.js +9 -5
  108. package/dist/lib/ui/Alert.js.map +1 -1
  109. package/dist/lib/ui/Command.d.ts +3 -3
  110. package/dist/lib/ui/InputGroup.d.ts +16 -0
  111. package/dist/lib/ui/InputGroup.js +65 -0
  112. package/dist/lib/ui/InputGroup.js.map +1 -0
  113. package/dist/lib/ui/Secret.js +2 -2
  114. package/dist/lib/ui/Secret.js.map +1 -1
  115. package/dist/lib/util/flattenAllOf.d.ts +0 -2
  116. package/dist/lib/util/flattenAllOf.js +0 -46
  117. package/dist/lib/util/flattenAllOf.js.map +1 -1
  118. package/dist/lib/util/flattenAllOf.test.js +2 -1
  119. package/dist/lib/util/flattenAllOf.test.js.map +1 -1
  120. package/dist/lib/util/flattenAllOfProcessor.d.ts +2 -0
  121. package/dist/lib/util/flattenAllOfProcessor.js +48 -0
  122. package/dist/lib/util/flattenAllOfProcessor.js.map +1 -0
  123. package/dist/lib/util/readFrontmatter.js +2 -1
  124. package/dist/lib/util/readFrontmatter.js.map +1 -1
  125. package/dist/vite/api/SchemaManager.d.ts +11 -1
  126. package/dist/vite/api/SchemaManager.js +29 -18
  127. package/dist/vite/api/SchemaManager.js.map +1 -1
  128. package/dist/vite/api/SchemaManager.test.js +45 -1
  129. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  130. package/dist/vite/build.js +91 -73
  131. package/dist/vite/build.js.map +1 -1
  132. package/dist/vite/config.js +5 -2
  133. package/dist/vite/config.js.map +1 -1
  134. package/dist/vite/mdx/remark-inject-filepath.js +5 -1
  135. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -1
  136. package/dist/vite/mdx/remark-link-rewrite.js +3 -2
  137. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -1
  138. package/dist/vite/plugin-api.js +5 -3
  139. package/dist/vite/plugin-api.js.map +1 -1
  140. package/dist/vite/plugin-config.js +16 -4
  141. package/dist/vite/plugin-config.js.map +1 -1
  142. package/dist/vite/plugin-docs.js +9 -7
  143. package/dist/vite/plugin-docs.js.map +1 -1
  144. package/dist/vite/plugin-markdown-export.js +4 -2
  145. package/dist/vite/plugin-markdown-export.js.map +1 -1
  146. package/dist/vite/plugin-theme.js +2 -1
  147. package/dist/vite/plugin-theme.js.map +1 -1
  148. package/dist/vite/prerender/prerender.js +3 -1
  149. package/dist/vite/prerender/prerender.js.map +1 -1
  150. package/dist/vite/prerender/worker.js +3 -1
  151. package/dist/vite/prerender/worker.js.map +1 -1
  152. package/lib/{ClaudeLogo-DHxJUhN_.js → ClaudeLogo-Br8C_vTq.js} +26 -22
  153. package/lib/{ClaudeLogo-DHxJUhN_.js.map → ClaudeLogo-Br8C_vTq.js.map} +1 -1
  154. package/lib/Drawer-Ch7927PF.js.map +1 -1
  155. package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
  156. package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
  157. package/lib/{MdxPage-CD36PJ17.js → MdxPage-C0QFAsgv.js} +8 -8
  158. package/lib/{MdxPage-CD36PJ17.js.map → MdxPage-C0QFAsgv.js.map} +1 -1
  159. package/lib/Mermaid-Chx5BPHn.js +104 -0
  160. package/lib/Mermaid-Chx5BPHn.js.map +1 -0
  161. package/lib/{OAuthErrorPage-4mN5DA86.js → OAuthErrorPage-CFz_gBFx.js} +22 -19
  162. package/lib/{OAuthErrorPage-4mN5DA86.js.map → OAuthErrorPage-CFz_gBFx.js.map} +1 -1
  163. package/lib/OasProvider-BnQ1_ehf.js +48 -0
  164. package/lib/OasProvider-BnQ1_ehf.js.map +1 -0
  165. package/lib/OperationList-Bw-3OS_8.js +5907 -0
  166. package/lib/OperationList-Bw-3OS_8.js.map +1 -0
  167. package/lib/{RouteGuard--A04ESy8.js → RouteGuard-CVs3yvEs.js} +5 -5
  168. package/lib/{RouteGuard--A04ESy8.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
  169. package/lib/{SchemaList-Dw3-CJPb.js → SchemaList-IehIWcDV.js} +8 -8
  170. package/lib/{SchemaList-Dw3-CJPb.js.map → SchemaList-IehIWcDV.js.map} +1 -1
  171. package/lib/{SchemaView-DyJkiQkD.js → SchemaView-BZLyoQRI.js} +3 -3
  172. package/lib/{SchemaView-DyJkiQkD.js.map → SchemaView-BZLyoQRI.js.map} +1 -1
  173. package/lib/{Secret-BDBqq4p3.js → Secret-DUpgv4V3.js} +92 -72
  174. package/lib/Secret-DUpgv4V3.js.map +1 -0
  175. package/lib/{SignUp-DRvN-8cq.js → SignUp-Dug1jAGC.js} +31 -26
  176. package/lib/{SignUp-DRvN-8cq.js.map → SignUp-Dug1jAGC.js.map} +1 -1
  177. package/lib/{SyntaxHighlight-klTH8c6-.js → SyntaxHighlight-BMu0b_hF.js} +12 -11
  178. package/lib/SyntaxHighlight-BMu0b_hF.js.map +1 -0
  179. package/lib/{Toc-PbuF-u9x.js → Toc-BiJ2YL0O.js} +2 -2
  180. package/lib/{Toc-PbuF-u9x.js.map → Toc-BiJ2YL0O.js.map} +1 -1
  181. package/lib/{index-BDsEwofZ.js → Zudoku-iyiXgWFY.js} +2996 -2859
  182. package/lib/Zudoku-iyiXgWFY.js.map +1 -0
  183. package/lib/ZudokuContext-CYyb_PB_.js +175 -0
  184. package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
  185. package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
  186. package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
  187. package/lib/chunk-EPOLDU6W-C6C8jAwd.js.map +1 -1
  188. package/lib/{circular-DFquXeY2.js → circular-CfBNz-Ot.js} +1327 -1346
  189. package/lib/{circular-DFquXeY2.js.map → circular-CfBNz-Ot.js.map} +1 -1
  190. package/lib/createServer-BtZPTSEO.js +13036 -0
  191. package/lib/createServer-BtZPTSEO.js.map +1 -0
  192. package/lib/{errors-rWHkzVTd.js → errors-B77S9iOc.js} +3 -3
  193. package/lib/{errors-rWHkzVTd.js.map → errors-B77S9iOc.js.map} +1 -1
  194. package/lib/{firebase-BmGU1FuD.js → firebase-C7XKRGLf.js} +26 -25
  195. package/lib/firebase-C7XKRGLf.js.map +1 -0
  196. package/lib/{hook-BGlHBdET.js → hook-Dz_n9SoE.js} +16 -15
  197. package/lib/{hook-BGlHBdET.js.map → hook-Dz_n9SoE.js.map} +1 -1
  198. package/lib/{index-DRBOFufT.js → index-BDp2MTiq.js} +2 -2
  199. package/lib/{index-DRBOFufT.js.map → index-BDp2MTiq.js.map} +1 -1
  200. package/lib/{index-BQB9hb6n.js → index-CQ-p1wyT.js} +588 -547
  201. package/lib/index-CQ-p1wyT.js.map +1 -0
  202. package/lib/index-CrcNWbel.js.map +1 -1
  203. package/lib/index-DAWHN3cH.js +86 -0
  204. package/lib/index-DAWHN3cH.js.map +1 -0
  205. package/lib/index.esm-BYObtETB.js.map +1 -1
  206. package/lib/{index.esm-B_0dvNjB.js → index.esm-Ca5zvoff.js} +20 -20
  207. package/lib/{index.esm-B_0dvNjB.js.map → index.esm-Ca5zvoff.js.map} +1 -1
  208. package/lib/{index.esm-Cx8B1YJQ.js → index.esm-Cth49JBv.js} +2 -2
  209. package/lib/index.esm-Cth49JBv.js.map +1 -0
  210. package/lib/{invariant-BJAl77rw.js → invariant-B_t_F2s_.js} +3 -3
  211. package/lib/{invariant-BJAl77rw.js.map → invariant-B_t_F2s_.js.map} +1 -1
  212. package/lib/jsx-runtime-BzflLqGi.js.map +1 -1
  213. package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
  214. package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
  215. package/lib/ui/Alert.js +32 -20
  216. package/lib/ui/Alert.js.map +1 -1
  217. package/lib/ui/Carousel.js.map +1 -1
  218. package/lib/ui/InputGroup.js +155 -0
  219. package/lib/ui/InputGroup.js.map +1 -0
  220. package/lib/ui/Secret.js +2 -2
  221. package/lib/ui/Secret.js.map +1 -1
  222. package/lib/ui/SyntaxHighlight.js +3 -3
  223. package/lib/useExposedProps-CzTDfXfq.js +30 -0
  224. package/lib/useExposedProps-CzTDfXfq.js.map +1 -0
  225. package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
  226. package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
  227. package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
  228. package/lib/useQuery-ht7aWJ3S.js.map +1 -0
  229. package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
  230. package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
  231. package/lib/zudoku.__internal.js +1519 -1033
  232. package/lib/zudoku.__internal.js.map +1 -1
  233. package/lib/zudoku.auth-auth0.js +6 -5
  234. package/lib/zudoku.auth-auth0.js.map +1 -1
  235. package/lib/zudoku.auth-azureb2c.js +14 -13
  236. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  237. package/lib/zudoku.auth-clerk.js +2 -2
  238. package/lib/zudoku.auth-firebase.js +5 -5
  239. package/lib/zudoku.auth-openid.js +8 -7
  240. package/lib/zudoku.auth-openid.js.map +1 -1
  241. package/lib/zudoku.auth-supabase.js +4 -4
  242. package/lib/zudoku.components.js +31 -29
  243. package/lib/zudoku.components.js.map +1 -1
  244. package/lib/zudoku.hooks.js +24 -11
  245. package/lib/zudoku.hooks.js.map +1 -1
  246. package/lib/zudoku.mermaid.js +5 -4
  247. package/lib/zudoku.mermaid.js.map +1 -1
  248. package/lib/zudoku.plugin-api-catalog.js +41 -36
  249. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  250. package/lib/zudoku.plugin-api-keys.js +156 -153
  251. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  252. package/lib/zudoku.plugin-custom-pages.js +1 -1
  253. package/lib/zudoku.plugin-markdown.js +1 -1
  254. package/lib/zudoku.plugin-openapi.js +2 -2
  255. package/lib/zudoku.plugin-search-pagefind.js +19 -18
  256. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  257. package/lib/zudoku.plugins.js +9 -8
  258. package/lib/zudoku.plugins.js.map +1 -1
  259. package/lib/zudoku.react-query.js +26 -25
  260. package/lib/zudoku.react-query.js.map +1 -1
  261. package/lib/zudoku.router.js.map +1 -1
  262. package/package.json +23 -15
  263. package/src/app/defaultTheme.css +4 -0
  264. package/src/app/main.css +2 -0
  265. package/src/app/main.tsx +1 -1
  266. package/src/lib/components/Bootstrap.tsx +1 -4
  267. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  268. package/src/lib/components/Slot.test.tsx +1 -1
  269. package/src/lib/components/TopNavigation.tsx +25 -7
  270. package/src/lib/components/Zudoku.tsx +18 -14
  271. package/src/lib/components/context/ZudokuContext.ts +3 -6
  272. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  273. package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
  274. package/src/lib/components/index.ts +19 -39
  275. package/src/lib/components/navigation/Navigation.tsx +4 -3
  276. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  277. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  278. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  279. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  280. package/src/lib/components/navigation/utils.ts +32 -1
  281. package/src/lib/core/ZudokuContext.ts +7 -1
  282. package/src/lib/core/__internal.tsx +2 -0
  283. package/src/lib/core/plugins.ts +25 -1
  284. package/src/lib/core/transform-config.test.tsx +99 -0
  285. package/src/lib/core/transform-config.ts +67 -0
  286. package/src/lib/errors/ErrorAlert.tsx +1 -6
  287. package/src/lib/hooks/index.ts +7 -16
  288. package/src/lib/hooks/useEvent.test.tsx +1 -1
  289. package/src/lib/oas/graphql/circular.test.ts +37 -2
  290. package/src/lib/oas/graphql/circular.ts +25 -51
  291. package/src/lib/oas/parser/index.ts +17 -6
  292. package/src/lib/plugins/openapi/OasProvider.tsx +10 -2
  293. package/src/lib/plugins/openapi/OperationList.tsx +4 -9
  294. package/src/lib/plugins/openapi/interfaces.ts +6 -1
  295. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  296. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  297. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  298. package/src/lib/plugins/openapi/util/getRoutes.tsx +4 -1
  299. package/src/lib/ui/Alert.tsx +17 -5
  300. package/src/lib/ui/InputGroup.tsx +168 -0
  301. package/src/lib/ui/Secret.tsx +2 -2
  302. package/src/lib/util/flattenAllOf.test.ts +2 -1
  303. package/src/lib/util/flattenAllOf.ts +0 -57
  304. package/src/lib/util/flattenAllOfProcessor.ts +58 -0
  305. package/src/lib/util/readFrontmatter.ts +2 -1
  306. package/src/shiki/langs/c3.js +1 -0
  307. package/src/shiki/langs/gn.js +1 -0
  308. package/src/shiki/langs/moonbit.js +1 -0
  309. package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
  310. package/src/zuplo/enrich-with-zuplo.ts +254 -0
  311. package/src/zuplo/policy-types.ts +46 -0
  312. package/src/zuplo/with-zuplo-processors.ts +35 -0
  313. package/src/zuplo/with-zuplo.ts +14 -0
  314. package/lib/Mermaid-Koc3z8mU.js +0 -102
  315. package/lib/Mermaid-Koc3z8mU.js.map +0 -1
  316. package/lib/OasProvider-DSe-hk5Y.js +0 -40
  317. package/lib/OasProvider-DSe-hk5Y.js.map +0 -1
  318. package/lib/OperationList-CaknPbvq.js +0 -5823
  319. package/lib/OperationList-CaknPbvq.js.map +0 -1
  320. package/lib/Secret-BDBqq4p3.js.map +0 -1
  321. package/lib/Separator-BXt1LYnm.js +0 -27
  322. package/lib/Separator-BXt1LYnm.js.map +0 -1
  323. package/lib/SyntaxHighlight-klTH8c6-.js.map +0 -1
  324. package/lib/ZudokuContext-BZB1TWdT.js +0 -387
  325. package/lib/ZudokuContext-BZB1TWdT.js.map +0 -1
  326. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js +0 -9
  327. package/lib/___vite-browser-external_commonjs-proxy-BttVsNON.js.map +0 -1
  328. package/lib/createServer-BXZ0CAUn.js +0 -16693
  329. package/lib/createServer-BXZ0CAUn.js.map +0 -1
  330. package/lib/firebase-BmGU1FuD.js.map +0 -1
  331. package/lib/index-BDsEwofZ.js.map +0 -1
  332. package/lib/index-BQB9hb6n.js.map +0 -1
  333. package/lib/index-DBjOT2H1.js +0 -133
  334. package/lib/index-DBjOT2H1.js.map +0 -1
  335. package/lib/index.esm-Cx8B1YJQ.js.map +0 -1
  336. package/lib/useSuspenseQuery-CSB_rVek.js.map +0 -1
@@ -1,34 +1,53 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
- import * as o from "@radix-ui/react-select";
3
- import { ChevronDownIcon as u, CheckIcon as m, ChevronUpIcon as z, EyeOffIcon as w, EyeIcon as S, CopyIcon as N } from "lucide-react";
2
+ import { memo as z, useState as w } from "react";
3
+ import { a as S } from "./ZudokuContext-CYyb_PB_.js";
4
+ import { h as N } from "./SyntaxHighlight-BMu0b_hF.js";
5
+ import { i as k } from "./invariant-B_t_F2s_.js";
6
+ import { CodeBlock as I } from "./ui/CodeBlock.js";
7
+ import { EmbeddedCodeBlock as C } from "./ui/EmbeddedCodeBlock.js";
8
+ import * as n from "@radix-ui/react-select";
9
+ import { ChevronDownIcon as u, CheckIcon as g, ChevronUpIcon as _, EyeOffIcon as B, EyeIcon as T, CopyIcon as R } from "lucide-react";
4
10
  import { cn as l } from "./ui/util.js";
5
- import { useState as I } from "react";
6
- import { c as r } from "./cn-5-Gd1Dss.js";
7
- import { u as k } from "./useCopyToClipboard-B_085nfO.js";
8
- import { Button as c } from "./ui/Button.js";
9
- function P({
11
+ import { c as d } from "./cn-5-Gd1Dss.js";
12
+ import { u as E } from "./useCopyToClipboard-B_085nfO.js";
13
+ import { Button as m } from "./ui/Button.js";
14
+ const H = z(
15
+ ({ code: t, children: a, embedded: s, ...o }) => {
16
+ const { syntaxHighlighting: i } = S().options;
17
+ k(i?.highlighter, "Highlighter not found");
18
+ const r = N(
19
+ i.highlighter,
20
+ t ?? a,
21
+ o.language,
22
+ i.themes
23
+ );
24
+ return s ? /* @__PURE__ */ e.jsx(C, { ...o, children: r }) : /* @__PURE__ */ e.jsx(I, { ...o, children: r });
25
+ }
26
+ );
27
+ H.displayName = "SyntaxHighlight";
28
+ function Q({
10
29
  ...t
11
30
  }) {
12
- return /* @__PURE__ */ e.jsx(o.Root, { "data-slot": "select", ...t });
31
+ return /* @__PURE__ */ e.jsx(n.Root, { "data-slot": "select", ...t });
13
32
  }
14
- function M({
33
+ function W({
15
34
  ...t
16
35
  }) {
17
- return /* @__PURE__ */ e.jsx(o.Group, { "data-slot": "select-group", ...t });
36
+ return /* @__PURE__ */ e.jsx(n.Group, { "data-slot": "select-group", ...t });
18
37
  }
19
- function O({
38
+ function X({
20
39
  ...t
21
40
  }) {
22
- return /* @__PURE__ */ e.jsx(o.Value, { "data-slot": "select-value", ...t });
41
+ return /* @__PURE__ */ e.jsx(n.Value, { "data-slot": "select-value", ...t });
23
42
  }
24
- function $({
43
+ function Y({
25
44
  className: t,
26
45
  size: a = "default",
27
46
  children: s,
28
- ...n
47
+ ...o
29
48
  }) {
30
49
  return /* @__PURE__ */ e.jsxs(
31
- o.Trigger,
50
+ n.Trigger,
32
51
  {
33
52
  "data-slot": "select-trigger",
34
53
  "data-size": a,
@@ -36,23 +55,23 @@ function $({
36
55
  "border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
37
56
  t
38
57
  ),
39
- ...n,
58
+ ...o,
40
59
  children: [
41
60
  s,
42
- /* @__PURE__ */ e.jsx(o.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(u, { className: "size-4 opacity-50" }) })
61
+ /* @__PURE__ */ e.jsx(n.Icon, { asChild: !0, children: /* @__PURE__ */ e.jsx(u, { className: "size-4 opacity-50" }) })
43
62
  ]
44
63
  }
45
64
  );
46
65
  }
47
- function q({
66
+ function ee({
48
67
  className: t,
49
68
  children: a,
50
69
  position: s = "popper",
51
- align: n = "center",
70
+ align: o = "center",
52
71
  ...i
53
72
  }) {
54
- return /* @__PURE__ */ e.jsx(o.Portal, { children: /* @__PURE__ */ e.jsxs(
55
- o.Content,
73
+ return /* @__PURE__ */ e.jsx(n.Portal, { children: /* @__PURE__ */ e.jsxs(
74
+ n.Content,
56
75
  {
57
76
  "data-slot": "select-content",
58
77
  className: l(
@@ -61,12 +80,12 @@ function q({
61
80
  t
62
81
  ),
63
82
  position: s,
64
- align: n,
83
+ align: o,
65
84
  ...i,
66
85
  children: [
67
- /* @__PURE__ */ e.jsx(_, {}),
86
+ /* @__PURE__ */ e.jsx(D, {}),
68
87
  /* @__PURE__ */ e.jsx(
69
- o.Viewport,
88
+ n.Viewport,
70
89
  {
71
90
  className: l(
72
91
  "p-1",
@@ -75,18 +94,18 @@ function q({
75
94
  children: a
76
95
  }
77
96
  ),
78
- /* @__PURE__ */ e.jsx(C, {})
97
+ /* @__PURE__ */ e.jsx(U, {})
79
98
  ]
80
99
  }
81
100
  ) });
82
101
  }
83
- function A({
102
+ function te({
84
103
  className: t,
85
104
  children: a,
86
105
  ...s
87
106
  }) {
88
107
  return /* @__PURE__ */ e.jsxs(
89
- o.Item,
108
+ n.Item,
90
109
  {
91
110
  "data-slot": "select-item",
92
111
  className: l(
@@ -95,18 +114,18 @@ function A({
95
114
  ),
96
115
  ...s,
97
116
  children: [
98
- /* @__PURE__ */ e.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(o.ItemIndicator, { children: /* @__PURE__ */ e.jsx(m, { className: "size-4" }) }) }),
99
- /* @__PURE__ */ e.jsx(o.ItemText, { children: a })
117
+ /* @__PURE__ */ e.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e.jsx(n.ItemIndicator, { children: /* @__PURE__ */ e.jsx(g, { className: "size-4" }) }) }),
118
+ /* @__PURE__ */ e.jsx(n.ItemText, { children: a })
100
119
  ]
101
120
  }
102
121
  );
103
122
  }
104
- function _({
123
+ function D({
105
124
  className: t,
106
125
  ...a
107
126
  }) {
108
127
  return /* @__PURE__ */ e.jsx(
109
- o.ScrollUpButton,
128
+ n.ScrollUpButton,
110
129
  {
111
130
  "data-slot": "select-scroll-up-button",
112
131
  className: l(
@@ -114,16 +133,16 @@ function _({
114
133
  t
115
134
  ),
116
135
  ...a,
117
- children: /* @__PURE__ */ e.jsx(z, { className: "size-4" })
136
+ children: /* @__PURE__ */ e.jsx(_, { className: "size-4" })
118
137
  }
119
138
  );
120
139
  }
121
- function C({
140
+ function U({
122
141
  className: t,
123
142
  ...a
124
143
  }) {
125
144
  return /* @__PURE__ */ e.jsx(
126
- o.ScrollDownButton,
145
+ n.ScrollDownButton,
127
146
  {
128
147
  "data-slot": "select-scroll-down-button",
129
148
  className: l(
@@ -135,16 +154,16 @@ function C({
135
154
  }
136
155
  );
137
156
  }
138
- const T = ({
157
+ const V = ({
139
158
  secret: t,
140
159
  revealed: a = !1,
141
160
  previewChars: s = 5,
142
- className: n
143
- }) => /* @__PURE__ */ e.jsxs("span", { className: r("w-full truncate", n), children: [
161
+ className: o
162
+ }) => /* @__PURE__ */ e.jsxs("span", { className: d("w-full truncate", o), children: [
144
163
  /* @__PURE__ */ e.jsx(
145
164
  "div",
146
165
  {
147
- className: r(
166
+ className: d(
148
167
  "w-40 inline-block md:w-fit",
149
168
  a ? "" : "opacity-50"
150
169
  ),
@@ -162,68 +181,68 @@ const T = ({
162
181
  }
163
182
  ),
164
183
  s > 0 && /* @__PURE__ */ e.jsx("span", { children: t.slice(-s) })
165
- ] }), F = ({
184
+ ] }), se = ({
166
185
  secret: t,
167
186
  preview: a = 5,
168
187
  className: s,
169
- status: n,
188
+ status: o,
170
189
  onCopy: i,
171
- revealed: p,
172
- onReveal: x,
173
- noReveal: f
190
+ revealed: r,
191
+ onReveal: p,
192
+ noReveal: x
174
193
  }) => {
175
- const g = Math.abs(a), [h, v] = I(!1), [j, b] = k(), d = p ?? h;
194
+ const f = Math.abs(a), [h, v] = w(!1), [j, b] = E(), c = r ?? h;
176
195
  return /* @__PURE__ */ e.jsxs(
177
196
  "div",
178
197
  {
179
- className: r(
198
+ className: d(
180
199
  "flex gap-2 items-center text-sm border rounded-md px-1",
181
200
  s
182
201
  ),
183
202
  children: [
184
203
  /* @__PURE__ */ e.jsxs("div", { className: "font-mono w-full h-9 items-center flex px-2 text-xs gap-2", children: [
185
- n && /* @__PURE__ */ e.jsx(
204
+ o && /* @__PURE__ */ e.jsx(
186
205
  "div",
187
206
  {
188
- className: r(
207
+ className: d(
189
208
  "rounded-full shrink-0 w-2 h-2 mr-2",
190
- n === "active" && "bg-emerald-400",
191
- n === "expired" && "bg-neutral-200",
192
- n === "expiring" && "bg-yellow-400",
193
- n === "revoked" && "bg-red-400",
194
- n === "none" && "opacity-0"
209
+ o === "active" && "bg-emerald-400",
210
+ o === "expired" && "bg-neutral-200",
211
+ o === "expiring" && "bg-yellow-400",
212
+ o === "revoked" && "bg-red-400",
213
+ o === "none" && "opacity-0"
195
214
  )
196
215
  }
197
216
  ),
198
217
  /* @__PURE__ */ e.jsx(
199
- T,
218
+ V,
200
219
  {
201
220
  secret: t,
202
- revealed: d,
203
- previewChars: g
221
+ revealed: c,
222
+ previewChars: f
204
223
  }
205
224
  )
206
225
  ] }),
207
- f !== !0 && /* @__PURE__ */ e.jsx(
208
- c,
226
+ x !== !0 && /* @__PURE__ */ e.jsx(
227
+ m,
209
228
  {
210
229
  variant: "ghost",
211
230
  onClick: () => {
212
- v((y) => !y), x?.(!d);
231
+ v((y) => !y), p?.(!c);
213
232
  },
214
- size: "icon",
215
- children: d ? /* @__PURE__ */ e.jsx(w, { size: 16 }) : /* @__PURE__ */ e.jsx(S, { size: 16 })
233
+ size: "icon-sm",
234
+ children: c ? /* @__PURE__ */ e.jsx(B, { size: 16 }) : /* @__PURE__ */ e.jsx(T, { size: 16 })
216
235
  }
217
236
  ),
218
237
  /* @__PURE__ */ e.jsx(
219
- c,
238
+ m,
220
239
  {
221
240
  variant: "ghost",
222
241
  onClick: () => {
223
242
  b(t), i?.(t);
224
243
  },
225
- size: "icon",
226
- children: j ? /* @__PURE__ */ e.jsx(m, { size: 16 }) : /* @__PURE__ */ e.jsx(N, { size: 16 })
244
+ size: "icon-sm",
245
+ children: j ? /* @__PURE__ */ e.jsx(g, { size: 16 }) : /* @__PURE__ */ e.jsx(R, { size: 16 })
227
246
  }
228
247
  )
229
248
  ]
@@ -231,13 +250,14 @@ const T = ({
231
250
  );
232
251
  };
233
252
  export {
234
- P as S,
235
- $ as a,
236
- O as b,
237
- q as c,
238
- M as d,
239
- A as e,
240
- F as f,
241
- T as g
253
+ H as S,
254
+ Q as a,
255
+ Y as b,
256
+ X as c,
257
+ ee as d,
258
+ W as e,
259
+ te as f,
260
+ se as g,
261
+ V as h
242
262
  };
243
- //# sourceMappingURL=Secret-BDBqq4p3.js.map
263
+ //# sourceMappingURL=Secret-DUpgv4V3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Secret-DUpgv4V3.js","sources":["../src/lib/ui/SyntaxHighlight.tsx","../src/lib/ui/Select.tsx","../src/lib/ui/Secret.tsx"],"sourcesContent":["import { memo } from \"react\";\nimport { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { highlight } from \"../shiki.js\";\nimport invariant from \"../util/invariant.js\";\nimport { CodeBlock, type CodeBlockProps } from \"./CodeBlock.js\";\nimport { EmbeddedCodeBlock } from \"./EmbeddedCodeBlock.js\";\n\ntype SyntaxHighlightProps = CodeBlockProps &\n (\n | {\n code: string;\n embedded?: boolean;\n children?: never;\n fullHeight?: boolean;\n }\n | { code?: never; children: string; embedded?: boolean }\n );\n\nexport const SyntaxHighlight = memo(\n ({ code, children, embedded, ...props }: SyntaxHighlightProps) => {\n const { syntaxHighlighting } = useZudoku().options;\n\n invariant(syntaxHighlighting?.highlighter, \"Highlighter not found\");\n\n const highlightedCode = highlight(\n syntaxHighlighting.highlighter,\n code ?? children,\n props.language,\n syntaxHighlighting.themes,\n );\n\n return embedded ? (\n <EmbeddedCodeBlock {...props}>{highlightedCode}</EmbeddedCodeBlock>\n ) : (\n <CodeBlock {...props}>{highlightedCode}</CodeBlock>\n );\n },\n);\n\nSyntaxHighlight.displayName = \"SyntaxHighlight\";\n","import * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"./util.js\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-placeholder:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","import { CheckIcon, CopyIcon, EyeIcon, EyeOffIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { cn } from \"../util/cn.js\";\nimport { useCopyToClipboard } from \"../util/useCopyToClipboard.js\";\nimport { Button } from \"./Button.js\";\n\ntype Status = \"active\" | \"expired\" | \"expiring\" | \"revoked\" | \"none\";\n\nexport const SecretText = ({\n secret,\n revealed = false,\n previewChars = 5,\n className,\n}: {\n secret: string;\n revealed?: boolean;\n previewChars?: number;\n className?: string;\n}) => {\n return (\n <span className={cn(\"w-full truncate\", className)}>\n <div\n className={cn(\n \"w-40 inline-block md:w-fit\",\n revealed ? \"\" : \"opacity-50\",\n )}\n >\n {revealed\n ? secret.slice(0, previewChars === 0 ? secret.length : -previewChars)\n : \"•••• \".repeat(\n secret.slice(\n 0,\n previewChars === 0 ? secret.length : -previewChars,\n ).length / 5,\n ) +\n \"•\".repeat(\n secret.slice(\n 0,\n previewChars === 0 ? secret.length : -previewChars,\n ).length % 5,\n )}\n </div>\n {previewChars > 0 && <span>{secret.slice(-previewChars)}</span>}\n </span>\n );\n};\n\nexport const Secret = ({\n secret,\n preview = 5,\n className,\n status,\n onCopy,\n revealed: controlledRevealed,\n onReveal,\n noReveal: disabledReveal,\n}: {\n revealed?: boolean;\n noReveal?: boolean;\n secret: string;\n status?: Status;\n className?: string;\n preview?: number;\n onCopy?: (secret: string) => void;\n onReveal?: (revealed: boolean) => void;\n}) => {\n const previewChars = Math.abs(preview);\n const [isRevealed, setRevealed] = useState(false);\n const [isCopied, copyToClipboard] = useCopyToClipboard();\n\n const revealed = controlledRevealed ?? isRevealed;\n\n return (\n <div\n className={cn(\n \"flex gap-2 items-center text-sm border rounded-md px-1\",\n className,\n )}\n >\n <div className=\"font-mono w-full h-9 items-center flex px-2 text-xs gap-2\">\n {status && (\n <div\n className={cn(\n \"rounded-full shrink-0 w-2 h-2 mr-2\",\n status === \"active\" && \"bg-emerald-400\",\n status === \"expired\" && \"bg-neutral-200\",\n status === \"expiring\" && \"bg-yellow-400\",\n status === \"revoked\" && \"bg-red-400\",\n status === \"none\" && \"opacity-0\",\n )}\n />\n )}\n <SecretText\n secret={secret}\n revealed={revealed}\n previewChars={previewChars}\n />\n </div>\n {disabledReveal !== true && (\n <Button\n variant=\"ghost\"\n onClick={() => {\n setRevealed((prev) => !prev);\n onReveal?.(!revealed);\n }}\n size=\"icon-sm\"\n >\n {revealed ? <EyeOffIcon size={16} /> : <EyeIcon size={16} />}\n </Button>\n )}\n <Button\n variant=\"ghost\"\n onClick={() => {\n copyToClipboard(secret);\n onCopy?.(secret);\n }}\n size=\"icon-sm\"\n >\n {isCopied ? <CheckIcon size={16} /> : <CopyIcon size={16} />}\n </Button>\n </div>\n );\n};\n"],"names":["SyntaxHighlight","memo","code","children","embedded","props","syntaxHighlighting","useZudoku","invariant","highlightedCode","highlight","jsx","EmbeddedCodeBlock","CodeBlock","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","jsxs","cn","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectItem","CheckIcon","ChevronUpIcon","SecretText","secret","revealed","previewChars","Secret","preview","status","onCopy","controlledRevealed","onReveal","disabledReveal","isRevealed","setRevealed","useState","isCopied","copyToClipboard","useCopyToClipboard","Button","prev","EyeOffIcon","EyeIcon","CopyIcon"],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  import { j as e } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { useEffect as t } from "react";
3
- import { b as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
- import { S as p, B as a, L as h } from "./index-BDsEwofZ.js";
5
- import { C as l, a as d, b as u, c as m, d as x } from "./Card-DCdq37aA.js";
6
- import { u as i } from "./useLatest-hmRS46UF.js";
7
- import { u as n } from "./hook-BGlHBdET.js";
8
- const y = () => {
9
- const r = n(), [s] = g(), o = s.get("redirect") ?? void 0, c = i(r.login);
3
+ import { b as p, L as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
+ import { Button as a } from "./ui/Button.js";
5
+ import "lucide-react";
6
+ import "./Zudoku-iyiXgWFY.js";
7
+ import "./ZudokuReactContext-DGJAP1sN.js";
8
+ import { S as h } from "./Spinner-CI6bRyZw.js";
9
+ import "./index-DAWHN3cH.js";
10
+ import { u as i } from "./hook-Dz_n9SoE.js";
11
+ import { C as l, a as d, b as m, c as u, d as x } from "./Card-DCdq37aA.js";
12
+ import { u as n } from "./useLatest-hmRS46UF.js";
13
+ const E = () => {
14
+ const s = i(), [r] = p(), o = r.get("redirect") ?? void 0, c = n(s.login);
10
15
  return t(() => {
11
16
  c.current({
12
17
  redirectTo: o,
@@ -14,37 +19,37 @@ const y = () => {
14
19
  });
15
20
  }, [c, o]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
16
21
  /* @__PURE__ */ e.jsxs(d, { children: [
17
- /* @__PURE__ */ e.jsx(u, { className: "text-lg", children: "Sign in" }),
18
- /* @__PURE__ */ e.jsx(m, { children: "You're being redirected to our secure login provider to complete your sign-in process." })
22
+ /* @__PURE__ */ e.jsx(m, { className: "text-lg", children: "Sign in" }),
23
+ /* @__PURE__ */ e.jsx(u, { children: "You're being redirected to our secure login provider to complete your sign-in process." })
19
24
  ] }),
20
25
  /* @__PURE__ */ e.jsx(x, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex items-center text-sm font-medium gap-2", children: [
21
- /* @__PURE__ */ e.jsx(p, {}),
26
+ /* @__PURE__ */ e.jsx(h, {}),
22
27
  " Redirecting..."
23
28
  ] }) })
24
29
  ] }) });
25
- }, w = () => {
26
- const r = n(), s = i(r.logout);
30
+ }, T = () => {
31
+ const s = i(), r = n(s.logout);
27
32
  return t(() => {
28
- s.current();
29
- }, [s]), null;
30
- }, k = () => {
31
- const r = n(), s = i(r.signup);
33
+ r.current();
34
+ }, [r]), null;
35
+ }, Y = () => {
36
+ const s = i(), r = n(s.signup);
32
37
  return t(() => {
33
- s.current();
34
- }, [s]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
38
+ r.current();
39
+ }, [r]), /* @__PURE__ */ e.jsx("div", { className: "flex items-center justify-center mt-8", children: /* @__PURE__ */ e.jsxs(l, { className: "max-w-md w-full", children: [
35
40
  /* @__PURE__ */ e.jsxs(d, { children: [
36
- /* @__PURE__ */ e.jsx(u, { className: "text-lg", children: "Sign up" }),
37
- /* @__PURE__ */ e.jsx(m, { children: "You're being redirected to our secure login provider to complete your sign up process." })
41
+ /* @__PURE__ */ e.jsx(m, { className: "text-lg", children: "Sign up" }),
42
+ /* @__PURE__ */ e.jsx(u, { children: "You're being redirected to our secure login provider to complete your sign up process." })
38
43
  ] }),
39
44
  /* @__PURE__ */ e.jsx(x, { children: /* @__PURE__ */ e.jsxs("div", { className: "flex flex-col gap-2 justify-center", children: [
40
- /* @__PURE__ */ e.jsx(a, { onClick: () => r.signup(), variant: "default", children: "Register" }),
41
- /* @__PURE__ */ e.jsx(a, { variant: "link", className: "text-muted-foreground", asChild: !0, children: /* @__PURE__ */ e.jsx(h, { to: "/", children: "Go home" }) })
45
+ /* @__PURE__ */ e.jsx(a, { onClick: () => s.signup(), variant: "default", children: "Register" }),
46
+ /* @__PURE__ */ e.jsx(a, { variant: "link", className: "text-muted-foreground", asChild: !0, children: /* @__PURE__ */ e.jsx(g, { to: "/", children: "Go home" }) })
42
47
  ] }) })
43
48
  ] }) });
44
49
  };
45
50
  export {
46
- w as S,
47
- y as a,
48
- k as b
51
+ T as S,
52
+ E as a,
53
+ Y as b
49
54
  };
50
- //# sourceMappingURL=SignUp-DRvN-8cq.js.map
55
+ //# sourceMappingURL=SignUp-Dug1jAGC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignUp-DRvN-8cq.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { Spinner } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignIn = () => {\n const auth = useAuth();\n const [search] = useSearchParams();\n const redirectTo = search.get(\"redirect\") ?? undefined;\n\n const login = useLatest(auth.login);\n\n useEffect(() => {\n void login.current({\n redirectTo,\n replace: true,\n });\n }, [login, redirectTo]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign in</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign-in process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex items-center text-sm font-medium gap-2\">\n <Spinner /> Redirecting...\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n","import { useEffect } from \"react\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignOut = () => {\n const auth = useAuth();\n\n const logout = useLatest(auth.logout);\n\n useEffect(() => {\n void logout.current();\n }, [logout]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { Button, Link } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignUp = () => {\n const auth = useAuth();\n\n const signup = useLatest(auth.signup);\n\n useEffect(() => {\n void signup.current();\n }, [signup]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign up</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign up process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-2 justify-center\">\n <Button onClick={() => auth.signup()} variant=\"default\">\n Register\n </Button>\n <Button variant=\"link\" className=\"text-muted-foreground\" asChild>\n <Link to=\"/\">Go home</Link>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["SignIn","auth","useAuth","search","useSearchParams","redirectTo","login","useLatest","useEffect","jsxs","Card","CardHeader","jsx","CardTitle","CardDescription","CardContent","Spinner","SignOut","logout","SignUp","signup","Button","Link"],"mappings":";;;;;;;AAaO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAOC,EAAA,GACP,CAACC,CAAM,IAAIC,EAAA,GACXC,IAAaF,EAAO,IAAI,UAAU,KAAK,QAEvCG,IAAQC,EAAUN,EAAK,KAAK;AAElC,SAAAO,EAAU,MAAM;AACd,IAAKF,EAAM,QAAQ;AAAA,MACjB,YAAAD;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAAA,EACH,GAAG,CAACC,GAAOD,CAAU,CAAC,yBAGnB,OAAA,EAAI,WAAU,yCACb,UAAAI,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACI,GAAA,EAAQ;AAAA,MAAE;AAAA,IAAA,EAAA,CACb,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ,GCzCaC,IAAU,MAAM;AAC3B,QAAMhB,IAAOC,EAAA,GAEPgB,IAASX,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKU,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,GAEJ;AACT,GCFaC,IAAS,MAAM;AAC1B,QAAMlB,IAAOC,EAAA,GAEPkB,IAASb,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKY,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,yBAGR,OAAA,EAAI,WAAU,yCACb,UAAAX,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAS,MAAMpB,EAAK,UAAU,SAAQ,WAAU,UAAA,WAAA,CAExD;AAAA,MACAW,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAQ,QAAO,WAAU,yBAAwB,SAAO,IAC9D,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,EAAK,IAAG,KAAI,qBAAO,EAAA,CACtB;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"SignUp-Dug1jAGC.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { Spinner } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignIn = () => {\n const auth = useAuth();\n const [search] = useSearchParams();\n const redirectTo = search.get(\"redirect\") ?? undefined;\n\n const login = useLatest(auth.login);\n\n useEffect(() => {\n void login.current({\n redirectTo,\n replace: true,\n });\n }, [login, redirectTo]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign in</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign-in process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex items-center text-sm font-medium gap-2\">\n <Spinner /> Redirecting...\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n","import { useEffect } from \"react\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignOut = () => {\n const auth = useAuth();\n\n const logout = useLatest(auth.logout);\n\n useEffect(() => {\n void logout.current();\n }, [logout]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { Button, Link } from \"zudoku/components\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"zudoku/ui/Card.js\";\nimport { useLatest } from \"../../util/useLatest.js\";\nimport { useAuth } from \"../hook.js\";\n\nexport const SignUp = () => {\n const auth = useAuth();\n\n const signup = useLatest(auth.signup);\n\n useEffect(() => {\n void signup.current();\n }, [signup]);\n\n return (\n <div className=\"flex items-center justify-center mt-8\">\n <Card className=\"max-w-md w-full\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Sign up</CardTitle>\n <CardDescription>\n You're being redirected to our secure login provider to complete\n your sign up process.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-2 justify-center\">\n <Button onClick={() => auth.signup()} variant=\"default\">\n Register\n </Button>\n <Button variant=\"link\" className=\"text-muted-foreground\" asChild>\n <Link to=\"/\">Go home</Link>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n};\n"],"names":["SignIn","auth","useAuth","search","useSearchParams","redirectTo","login","useLatest","useEffect","jsxs","Card","CardHeader","jsx","CardTitle","CardDescription","CardContent","Spinner","SignOut","logout","SignUp","signup","Button","Link"],"mappings":";;;;;;;;;;;;AAaO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAOC,EAAA,GACP,CAACC,CAAM,IAAIC,EAAA,GACXC,IAAaF,EAAO,IAAI,UAAU,KAAK,QAEvCG,IAAQC,EAAUN,EAAK,KAAK;AAElC,SAAAO,EAAU,MAAM;AACd,IAAKF,EAAM,QAAQ;AAAA,MACjB,YAAAD;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAAA,EACH,GAAG,CAACC,GAAOD,CAAU,CAAC,yBAGnB,OAAA,EAAI,WAAU,yCACb,UAAAI,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACI,GAAA,EAAQ;AAAA,MAAE;AAAA,IAAA,EAAA,CACb,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ,GCzCaC,IAAU,MAAM;AAC3B,QAAMhB,IAAOC,EAAA,GAEPgB,IAASX,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKU,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,GAEJ;AACT,GCFaC,IAAS,MAAM;AAC1B,QAAMlB,IAAOC,EAAA,GAEPkB,IAASb,EAAUN,EAAK,MAAM;AAEpC,SAAAO,EAAU,MAAM;AACd,IAAKY,EAAO,QAAA;AAAA,EACd,GAAG,CAACA,CAAM,CAAC,yBAGR,OAAA,EAAI,WAAU,yCACb,UAAAX,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,mBACd,UAAA;AAAA,IAAAD,gBAAAA,OAACE,GAAA,EACC,UAAA;AAAA,MAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAU,WAAU,WAAU,UAAA,WAAO;AAAA,MACtCD,gBAAAA,EAAAA,IAACE,KAAgB,UAAA,yFAAA,CAGjB;AAAA,IAAA,GACF;AAAA,IACAF,gBAAAA,MAACG,GAAA,EACC,UAAAN,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,sCACb,UAAA;AAAA,MAAAG,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAS,MAAMpB,EAAK,UAAU,SAAQ,WAAU,UAAA,WAAA,CAExD;AAAA,MACAW,gBAAAA,EAAAA,IAACS,GAAA,EAAO,SAAQ,QAAO,WAAU,yBAAwB,SAAO,IAC9D,UAAAT,gBAAAA,EAAAA,IAACU,GAAA,EAAK,IAAG,KAAI,qBAAO,EAAA,CACtB;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import { j as at } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { createElement as ss, Fragment as as, memo as is } from "react";
3
- import { a as ls } from "./ZudokuContext-BZB1TWdT.js";
3
+ import { a as ls } from "./ZudokuContext-CYyb_PB_.js";
4
4
  import { c as Ir } from "./cn-5-Gd1Dss.js";
5
- import { a as us, i as cs } from "./invariant-BJAl77rw.js";
5
+ import { g as us, i as cs } from "./invariant-B_t_F2s_.js";
6
6
  import { CodeBlock as hs } from "./ui/CodeBlock.js";
7
7
  import { EmbeddedCodeBlock as fs } from "./ui/EmbeddedCodeBlock.js";
8
8
  function ah() {
@@ -6955,7 +6955,8 @@ function Dl(t, e, n, r = We(t)) {
6955
6955
  type: "element",
6956
6956
  tagName: "pre",
6957
6957
  properties: u,
6958
- children: []
6958
+ children: [],
6959
+ data: e.data
6959
6960
  }, h = {
6960
6961
  type: "element",
6961
6962
  tagName: "code",
@@ -7604,7 +7605,7 @@ function tu(t) {
7604
7605
  return o.length === 1 ? [o[0]] : Array.from({ length: o[1] - o[0] + 1 }, (s, a) => o[0] + a);
7605
7606
  }) : null;
7606
7607
  }
7607
- const lr = Symbol("highlighted-lines");
7608
+ const lr = /* @__PURE__ */ Symbol("highlighted-lines");
7608
7609
  function nu(t = {}) {
7609
7610
  const { className: e = "highlighted", zeroIndexed: n = !1 } = t;
7610
7611
  return {
@@ -10392,12 +10393,12 @@ export {
10392
10393
  lh as d,
10393
10394
  Nr as e,
10394
10395
  Fr as f,
10395
- Vr as g,
10396
- ha as h,
10397
- la as i,
10398
- jn as j,
10399
- mh as k,
10400
- Jc as l,
10396
+ ha as g,
10397
+ Jc as h,
10398
+ Vr as i,
10399
+ la as j,
10400
+ jn as k,
10401
+ mh as l,
10401
10402
  ah as o,
10402
10403
  Br as p,
10403
10404
  Ts as s,
@@ -10406,4 +10407,4 @@ export {
10406
10407
  Xr as v,
10407
10408
  ca as z
10408
10409
  };
10409
- //# sourceMappingURL=SyntaxHighlight-klTH8c6-.js.map
10410
+ //# sourceMappingURL=SyntaxHighlight-BMu0b_hF.js.map