zudoku 0.0.0-zce59fc03 → 0.0.0-zd57c18df

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 (232) 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 +2 -2
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/validators/InputNavigationSchema.d.ts +118 -68
  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/validate.d.ts +5 -4
  15. package/dist/config/validators/validate.js +2 -0
  16. package/dist/config/validators/validate.js.map +1 -1
  17. package/dist/flat-config.d.ts +12 -0
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/lib/components/Bootstrap.js +1 -2
  22. package/dist/lib/components/Bootstrap.js.map +1 -1
  23. package/dist/lib/components/MobileTopNavigation.js +2 -1
  24. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  25. package/dist/lib/components/Slot.test.js +1 -1
  26. package/dist/lib/components/Slot.test.js.map +1 -1
  27. package/dist/lib/components/TopNavigation.d.ts +7 -1
  28. package/dist/lib/components/TopNavigation.js +7 -2
  29. package/dist/lib/components/TopNavigation.js.map +1 -1
  30. package/dist/lib/components/Zudoku.d.ts +4 -1
  31. package/dist/lib/components/Zudoku.js +4 -7
  32. package/dist/lib/components/Zudoku.js.map +1 -1
  33. package/dist/lib/components/context/ZudokuContext.d.ts +9 -4
  34. package/dist/lib/components/context/ZudokuContext.js +4 -2
  35. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  36. package/dist/lib/components/context/ZudokuProvider.js +1 -1
  37. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  38. package/dist/lib/components/context/ZudokuReactContext.d.ts +11 -0
  39. package/dist/lib/components/context/ZudokuReactContext.js +4 -0
  40. package/dist/lib/components/context/ZudokuReactContext.js.map +1 -0
  41. package/dist/lib/components/navigation/Navigation.js +4 -3
  42. package/dist/lib/components/navigation/Navigation.js.map +1 -1
  43. package/dist/lib/components/navigation/NavigationCategory.js +8 -0
  44. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
  45. package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
  46. package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
  47. package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
  48. package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
  49. package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
  50. package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
  51. package/dist/lib/components/navigation/NavigationItem.js +11 -1
  52. package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
  53. package/dist/lib/components/navigation/utils.d.ts +2 -1
  54. package/dist/lib/components/navigation/utils.js +22 -1
  55. package/dist/lib/components/navigation/utils.js.map +1 -1
  56. package/dist/lib/core/ZudokuContext.d.ts +2 -1
  57. package/dist/lib/core/ZudokuContext.js +3 -1
  58. package/dist/lib/core/ZudokuContext.js.map +1 -1
  59. package/dist/lib/core/__internal.d.ts +1 -0
  60. package/dist/lib/core/__internal.js +2 -0
  61. package/dist/lib/core/__internal.js.map +1 -1
  62. package/dist/lib/core/plugins.d.ts +5 -1
  63. package/dist/lib/core/plugins.js.map +1 -1
  64. package/dist/lib/core/transform-config.d.ts +4 -2
  65. package/dist/lib/core/transform-config.js +33 -13
  66. package/dist/lib/core/transform-config.js.map +1 -1
  67. package/dist/lib/core/transform-config.test.d.ts +1 -0
  68. package/dist/lib/core/transform-config.test.js +83 -0
  69. package/dist/lib/core/transform-config.test.js.map +1 -0
  70. package/dist/lib/errors/ErrorAlert.js +1 -2
  71. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  72. package/dist/lib/hooks/useEvent.test.js +1 -1
  73. package/dist/lib/hooks/useEvent.test.js.map +1 -1
  74. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
  75. package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
  76. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
  77. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
  78. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
  79. package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
  80. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
  81. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  82. package/dist/lib/ui/Alert.d.ts +3 -2
  83. package/dist/lib/ui/Alert.js +9 -5
  84. package/dist/lib/ui/Alert.js.map +1 -1
  85. package/dist/lib/ui/InputGroup.d.ts +16 -0
  86. package/dist/lib/ui/InputGroup.js +65 -0
  87. package/dist/lib/ui/InputGroup.js.map +1 -0
  88. package/dist/lib/ui/Secret.js +2 -2
  89. package/dist/lib/ui/Secret.js.map +1 -1
  90. package/dist/vite/config.js +5 -2
  91. package/dist/vite/config.js.map +1 -1
  92. package/dist/vite/plugin-config.js +16 -4
  93. package/dist/vite/plugin-config.js.map +1 -1
  94. package/dist/vite/plugin-theme.js +2 -1
  95. package/dist/vite/plugin-theme.js.map +1 -1
  96. package/dist/vite/prerender/prerender.js +3 -1
  97. package/dist/vite/prerender/prerender.js.map +1 -1
  98. package/dist/vite/prerender/worker.js +3 -1
  99. package/dist/vite/prerender/worker.js.map +1 -1
  100. package/lib/{ClaudeLogo-C6q-Xn_l.js → ClaudeLogo-Br8C_vTq.js} +3 -3
  101. package/lib/{ClaudeLogo-C6q-Xn_l.js.map → ClaudeLogo-Br8C_vTq.js.map} +1 -1
  102. package/lib/{HydrationBoundary-CNF2ZV3E.js → HydrationBoundary-CJu4vUlG.js} +6 -6
  103. package/lib/{HydrationBoundary-CNF2ZV3E.js.map → HydrationBoundary-CJu4vUlG.js.map} +1 -1
  104. package/lib/{MdxPage-B1G4W1TK.js → MdxPage-C0QFAsgv.js} +6 -6
  105. package/lib/{MdxPage-B1G4W1TK.js.map → MdxPage-C0QFAsgv.js.map} +1 -1
  106. package/lib/Mermaid-Chx5BPHn.js +104 -0
  107. package/lib/Mermaid-Chx5BPHn.js.map +1 -0
  108. package/lib/{OAuthErrorPage-01Ke086W.js → OAuthErrorPage-CFz_gBFx.js} +11 -10
  109. package/lib/{OAuthErrorPage-01Ke086W.js.map → OAuthErrorPage-CFz_gBFx.js.map} +1 -1
  110. package/lib/{OasProvider-oHPiMJZg.js → OasProvider-BQ60YgAd.js} +3 -3
  111. package/lib/{OasProvider-oHPiMJZg.js.map → OasProvider-BQ60YgAd.js.map} +1 -1
  112. package/lib/{OperationList-CZ4OK8Pm.js → OperationList-D31urxqy.js} +40 -39
  113. package/lib/{OperationList-CZ4OK8Pm.js.map → OperationList-D31urxqy.js.map} +1 -1
  114. package/lib/{RouteGuard-B1lCR0C_.js → RouteGuard-CVs3yvEs.js} +3 -3
  115. package/lib/{RouteGuard-B1lCR0C_.js.map → RouteGuard-CVs3yvEs.js.map} +1 -1
  116. package/lib/{SchemaList-DoQFkJgM.js → SchemaList-CSVFH585.js} +7 -7
  117. package/lib/{SchemaList-DoQFkJgM.js.map → SchemaList-CSVFH585.js.map} +1 -1
  118. package/lib/{SchemaView-D2k6ZJck.js → SchemaView-D4marpgk.js} +3 -3
  119. package/lib/{SchemaView-D2k6ZJck.js.map → SchemaView-D4marpgk.js.map} +1 -1
  120. package/lib/{Secret-BDBqq4p3.js → Secret-DUpgv4V3.js} +92 -72
  121. package/lib/Secret-DUpgv4V3.js.map +1 -0
  122. package/lib/{SignUp-8kDBaLbO.js → SignUp-Dug1jAGC.js} +4 -4
  123. package/lib/{SignUp-8kDBaLbO.js.map → SignUp-Dug1jAGC.js.map} +1 -1
  124. package/lib/{SyntaxHighlight-hZOFnYl0.js → SyntaxHighlight-BMu0b_hF.js} +8 -8
  125. package/lib/{SyntaxHighlight-hZOFnYl0.js.map → SyntaxHighlight-BMu0b_hF.js.map} +1 -1
  126. package/lib/{Toc-qEIii_-W.js → Toc-BiJ2YL0O.js} +2 -2
  127. package/lib/{Toc-qEIii_-W.js.map → Toc-BiJ2YL0O.js.map} +1 -1
  128. package/lib/{Zudoku-DUsdmPME.js → Zudoku-iyiXgWFY.js} +2777 -2622
  129. package/lib/Zudoku-iyiXgWFY.js.map +1 -0
  130. package/lib/ZudokuContext-CYyb_PB_.js +175 -0
  131. package/lib/ZudokuContext-CYyb_PB_.js.map +1 -0
  132. package/lib/ZudokuReactContext-DGJAP1sN.js +222 -0
  133. package/lib/ZudokuReactContext-DGJAP1sN.js.map +1 -0
  134. package/lib/{circular-D9tSKG2c.js → circular-cPOX8BVJ.js} +2 -2
  135. package/lib/{circular-D9tSKG2c.js.map → circular-cPOX8BVJ.js.map} +1 -1
  136. package/lib/{createServer-BprC4n85.js → createServer-SJT25uZH.js} +4 -4
  137. package/lib/{createServer-BprC4n85.js.map → createServer-SJT25uZH.js.map} +1 -1
  138. package/lib/{errors-7hgPDs1h.js → errors-B77S9iOc.js} +2 -2
  139. package/lib/{errors-7hgPDs1h.js.map → errors-B77S9iOc.js.map} +1 -1
  140. package/lib/{firebase-Dwn-2ju-.js → firebase-C7XKRGLf.js} +25 -24
  141. package/lib/{firebase-Dwn-2ju-.js.map → firebase-C7XKRGLf.js.map} +1 -1
  142. package/lib/{hook-ZEd1Es7D.js → hook-Dz_n9SoE.js} +16 -15
  143. package/lib/{hook-ZEd1Es7D.js.map → hook-Dz_n9SoE.js.map} +1 -1
  144. package/lib/{index-Dxdhrp-I.js → index-BDp2MTiq.js} +2 -2
  145. package/lib/{index-Dxdhrp-I.js.map → index-BDp2MTiq.js.map} +1 -1
  146. package/lib/{index-CyIW9rHv.js → index-Bc2mE-53.js} +642 -606
  147. package/lib/index-Bc2mE-53.js.map +1 -0
  148. package/lib/{index.esm-DG4KaDKR.js → index.esm-Cth49JBv.js} +2 -2
  149. package/lib/index.esm-Cth49JBv.js.map +1 -0
  150. package/lib/{mutation-BISOc7OM.js → mutation-B7eFBLZY.js} +2 -2
  151. package/lib/{mutation-BISOc7OM.js.map → mutation-B7eFBLZY.js.map} +1 -1
  152. package/lib/ui/Alert.js +32 -20
  153. package/lib/ui/Alert.js.map +1 -1
  154. package/lib/ui/InputGroup.js +155 -0
  155. package/lib/ui/InputGroup.js.map +1 -0
  156. package/lib/ui/Secret.js +2 -2
  157. package/lib/ui/Secret.js.map +1 -1
  158. package/lib/ui/SyntaxHighlight.js +2 -2
  159. package/lib/{useMutation-CFMGlAMW.js → useMutation-CErliDZ9.js} +5 -5
  160. package/lib/{useMutation-CFMGlAMW.js.map → useMutation-CErliDZ9.js.map} +1 -1
  161. package/lib/{useSuspenseQuery-CSB_rVek.js → useQuery-ht7aWJ3S.js} +432 -446
  162. package/lib/useQuery-ht7aWJ3S.js.map +1 -0
  163. package/lib/useSuspenseQuery-DQH4Bmc2.js +18 -0
  164. package/lib/useSuspenseQuery-DQH4Bmc2.js.map +1 -0
  165. package/lib/zudoku.__internal.js +524 -500
  166. package/lib/zudoku.__internal.js.map +1 -1
  167. package/lib/zudoku.auth-auth0.js +6 -5
  168. package/lib/zudoku.auth-auth0.js.map +1 -1
  169. package/lib/zudoku.auth-azureb2c.js +14 -13
  170. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  171. package/lib/zudoku.auth-clerk.js +2 -2
  172. package/lib/zudoku.auth-firebase.js +4 -4
  173. package/lib/zudoku.auth-openid.js +7 -6
  174. package/lib/zudoku.auth-openid.js.map +1 -1
  175. package/lib/zudoku.auth-supabase.js +4 -4
  176. package/lib/zudoku.components.js +3 -3
  177. package/lib/zudoku.hooks.js +3 -3
  178. package/lib/zudoku.mermaid.js +3 -3
  179. package/lib/zudoku.plugin-api-catalog.js +28 -27
  180. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  181. package/lib/zudoku.plugin-api-keys.js +98 -96
  182. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  183. package/lib/zudoku.plugin-custom-pages.js +1 -1
  184. package/lib/zudoku.plugin-markdown.js +1 -1
  185. package/lib/zudoku.plugin-openapi.js +2 -2
  186. package/lib/zudoku.plugin-search-pagefind.js +19 -18
  187. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  188. package/lib/zudoku.plugins.js.map +1 -1
  189. package/lib/zudoku.react-query.js +26 -25
  190. package/lib/zudoku.react-query.js.map +1 -1
  191. package/package.json +10 -4
  192. package/src/app/defaultTheme.css +4 -0
  193. package/src/app/main.css +2 -0
  194. package/src/app/main.tsx +1 -1
  195. package/src/lib/components/Bootstrap.tsx +1 -4
  196. package/src/lib/components/MobileTopNavigation.tsx +13 -8
  197. package/src/lib/components/Slot.test.tsx +1 -1
  198. package/src/lib/components/TopNavigation.tsx +25 -7
  199. package/src/lib/components/Zudoku.tsx +18 -14
  200. package/src/lib/components/context/ZudokuContext.ts +3 -6
  201. package/src/lib/components/context/ZudokuProvider.tsx +1 -1
  202. package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
  203. package/src/lib/components/navigation/Navigation.tsx +4 -3
  204. package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
  205. package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
  206. package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
  207. package/src/lib/components/navigation/NavigationItem.tsx +17 -1
  208. package/src/lib/components/navigation/utils.ts +32 -1
  209. package/src/lib/core/ZudokuContext.ts +7 -1
  210. package/src/lib/core/__internal.tsx +2 -0
  211. package/src/lib/core/plugins.ts +7 -3
  212. package/src/lib/core/transform-config.test.tsx +99 -0
  213. package/src/lib/core/transform-config.ts +57 -19
  214. package/src/lib/errors/ErrorAlert.tsx +1 -6
  215. package/src/lib/hooks/useEvent.test.tsx +1 -1
  216. package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
  217. package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
  218. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
  219. package/src/lib/ui/Alert.tsx +17 -5
  220. package/src/lib/ui/InputGroup.tsx +168 -0
  221. package/src/lib/ui/Secret.tsx +2 -2
  222. package/lib/Mermaid-B1xNo-pf.js +0 -103
  223. package/lib/Mermaid-B1xNo-pf.js.map +0 -1
  224. package/lib/Secret-BDBqq4p3.js.map +0 -1
  225. package/lib/Separator-BXt1LYnm.js +0 -27
  226. package/lib/Separator-BXt1LYnm.js.map +0 -1
  227. package/lib/Zudoku-DUsdmPME.js.map +0 -1
  228. package/lib/ZudokuContext-BBI06sOx.js +0 -387
  229. package/lib/ZudokuContext-BBI06sOx.js.map +0 -1
  230. package/lib/index-CyIW9rHv.js.map +0 -1
  231. package/lib/index.esm-DG4KaDKR.js.map +0 -1
  232. 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":";;;;;;;;;;;;;AAkBO,MAAMA,IAAkBC;AAAA,EAC7B,CAAC,EAAE,MAAAC,GAAM,UAAAC,GAAU,UAAAC,GAAU,GAAGC,QAAkC;AAChE,UAAM,EAAE,oBAAAC,EAAA,IAAuBC,EAAA,EAAY;AAE3C,IAAAC,EAAUF,GAAoB,aAAa,uBAAuB;AAElE,UAAMG,IAAkBC;AAAA,MACtBJ,EAAmB;AAAA,MACnBJ,KAAQC;AAAA,MACRE,EAAM;AAAA,MACNC,EAAmB;AAAA,IAAA;AAGrB,WAAOF,IACLO,gBAAAA,EAAAA,IAACC,GAAA,EAAmB,GAAGP,GAAQ,UAAAI,EAAA,CAAgB,IAE/CE,gBAAAA,EAAAA,IAACE,GAAA,EAAW,GAAGR,GAAQ,UAAAI,GAAgB;AAAA,EAE3C;AACF;AAEAT,EAAgB,cAAc;AClC9B,SAASc,EAAO;AAAA,EACd,GAAGT;AACL,GAAsD;AACpD,+BAAQU,EAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAGV,GAAO;AAC7D;AAEA,SAASW,EAAY;AAAA,EACnB,GAAGX;AACL,GAAuD;AACrD,+BAAQU,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGV,GAAO;AACpE;AAEA,SAASY,EAAY;AAAA,EACnB,GAAGZ;AACL,GAAuD;AACrD,+BAAQU,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGV,GAAO;AACpE;AAEA,SAASa,EAAc;AAAA,EACrB,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,UAAAjB;AAAA,EACA,GAAGE;AACL,GAEG;AACD,SACEgB,gBAAAA,EAAAA;AAAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,aAAWK;AAAA,MACX,WAAWE;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGd;AAAA,MAEH,UAAA;AAAA,QAAAF;AAAA,QACDQ,gBAAAA,EAAAA,IAACI,EAAgB,MAAhB,EAAqB,SAAO,IAC3B,UAAAJ,gBAAAA,EAAAA,IAACY,GAAA,EAAgB,WAAU,oBAAA,CAAoB,EAAA,CACjD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,SAASC,GAAc;AAAA,EACrB,WAAAL;AAAA,EACA,UAAAhB;AAAA,EACA,UAAAsB,IAAW;AAAA,EACX,OAAAC,IAAQ;AAAA,EACR,GAAGrB;AACL,GAAyD;AACvD,SACEM,gBAAAA,EAAAA,IAACI,EAAgB,QAAhB,EACC,UAAAM,gBAAAA,EAAAA;AAAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAG,MAAa,YACX;AAAA,QACFN;AAAA,MAAA;AAAA,MAEF,UAAAM;AAAA,MACA,OAAAC;AAAA,MACC,GAAGrB;AAAA,MAEJ,UAAA;AAAA,QAAAM,gBAAAA,EAAAA,IAACgB,GAAA,EAAqB;AAAA,QACtBhB,gBAAAA,EAAAA;AAAAA,UAACI,EAAgB;AAAA,UAAhB;AAAA,YACC,WAAWO;AAAA,cACT;AAAA,cACAG,MAAa,YACX;AAAA,YAAA;AAAA,YAGH,UAAAtB;AAAA,UAAA;AAAA,QAAA;AAAA,8BAEFyB,GAAA,CAAA,CAAuB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE5B;AAEJ;AAeA,SAASC,GAAW;AAAA,EAClB,WAAAV;AAAA,EACA,UAAAhB;AAAA,EACA,GAAGE;AACL,GAAsD;AACpD,SACEgB,gBAAAA,EAAAA;AAAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGd;AAAA,MAEJ,UAAA;AAAA,QAAAM,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,8DACd,UAAAA,gBAAAA,EAAAA,IAACI,EAAgB,eAAhB,EACC,UAAAJ,gBAAAA,EAAAA,IAACmB,GAAA,EAAU,WAAU,SAAA,CAAS,EAAA,CAChC,GACF;AAAA,QACAnB,gBAAAA,EAAAA,IAACI,EAAgB,UAAhB,EAA0B,UAAAZ,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1C;AAeA,SAASwB,EAAqB;AAAA,EAC5B,WAAAR;AAAA,EACA,GAAGd;AACL,GAAgE;AAC9D,SACEM,gBAAAA,EAAAA;AAAAA,IAACI,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGd;AAAA,MAEJ,UAAAM,gBAAAA,EAAAA,IAACoB,GAAA,EAAc,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGxC;AAEA,SAASH,EAAuB;AAAA,EAC9B,WAAAT;AAAA,EACA,GAAGd;AACL,GAAkE;AAChE,SACEM,gBAAAA,EAAAA;AAAAA,IAACI,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGd;AAAA,MAEJ,UAAAM,gBAAAA,EAAAA,IAACY,GAAA,EAAgB,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG1C;AClKO,MAAMS,IAAa,CAAC;AAAA,EACzB,QAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,cAAAC,IAAe;AAAA,EACf,WAAAhB;AACF,6BAOK,QAAA,EAAK,WAAWG,EAAG,mBAAmBH,CAAS,GAC9C,UAAA;AAAA,EAAAR,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWW;AAAAA,QACT;AAAA,QACAY,IAAW,KAAK;AAAA,MAAA;AAAA,MAGjB,UAAAA,IACGD,EAAO,MAAM,GAAGE,MAAiB,IAAIF,EAAO,SAAS,CAACE,CAAY,IAClE,QAAQ;AAAA,QACNF,EAAO;AAAA,UACL;AAAA,UACAE,MAAiB,IAAIF,EAAO,SAAS,CAACE;AAAA,QAAA,EACtC,SAAS;AAAA,MAAA,IAEb,IAAI;AAAA,QACFF,EAAO;AAAA,UACL;AAAA,UACAE,MAAiB,IAAIF,EAAO,SAAS,CAACE;AAAA,QAAA,EACtC,SAAS;AAAA,MAAA;AAAA,IACb;AAAA,EAAA;AAAA,EAELA,IAAe,KAAKxB,gBAAAA,EAAAA,IAAC,QAAA,EAAM,YAAO,MAAM,CAACwB,CAAY,EAAA,CAAE;AAAA,GAC1D,GAISC,KAAS,CAAC;AAAA,EACrB,QAAAH;AAAA,EACA,SAAAI,IAAU;AAAA,EACV,WAAAlB;AAAA,EACA,QAAAmB;AAAA,EACA,QAAAC;AAAA,EACA,UAAUC;AAAA,EACV,UAAAC;AAAA,EACA,UAAUC;AACZ,MASM;AACJ,QAAMP,IAAe,KAAK,IAAIE,CAAO,GAC/B,CAACM,GAAYC,CAAW,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAUC,CAAe,IAAIC,EAAA,GAE9Bd,IAAWM,KAAsBG;AAEvC,SACEtB,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAAE,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,6DACZ,UAAA;AAAA,UAAAiB,KACC3B,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWW;AAAAA,gBACT;AAAA,gBACAgB,MAAW,YAAY;AAAA,gBACvBA,MAAW,aAAa;AAAA,gBACxBA,MAAW,cAAc;AAAA,gBACzBA,MAAW,aAAa;AAAA,gBACxBA,MAAW,UAAU;AAAA,cAAA;AAAA,YACvB;AAAA,UAAA;AAAA,UAGJ3B,gBAAAA,EAAAA;AAAAA,YAACqB;AAAA,YAAA;AAAA,cACC,QAAAC;AAAA,cACA,UAAAC;AAAA,cACA,cAAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,GACF;AAAA,QACCO,MAAmB,MAClB/B,gBAAAA,EAAAA;AAAAA,UAACsC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAAL,EAAY,CAACM,MAAS,CAACA,CAAI,GAC3BT,IAAW,CAACP,CAAQ;AAAA,YACtB;AAAA,YACA,MAAK;AAAA,YAEJ,UAAAA,0BAAYiB,GAAA,EAAW,MAAM,IAAI,IAAKxC,gBAAAA,EAAAA,IAACyC,GAAA,EAAQ,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,QAG9DzC,gBAAAA,EAAAA;AAAAA,UAACsC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,SAAS,MAAM;AACb,cAAAF,EAAgBd,CAAM,GACtBM,IAASN,CAAM;AAAA,YACjB;AAAA,YACA,MAAK;AAAA,YAEJ,UAAAa,0BAAYhB,GAAA,EAAU,MAAM,IAAI,IAAKnB,gBAAAA,EAAAA,IAAC0C,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MAC5D;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -3,11 +3,11 @@ import { useEffect as t } from "react";
3
3
  import { b as p, L as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
4
4
  import { Button as a } from "./ui/Button.js";
5
5
  import "lucide-react";
6
- import "./Zudoku-DUsdmPME.js";
7
- import "./ZudokuContext-BBI06sOx.js";
6
+ import "./Zudoku-iyiXgWFY.js";
7
+ import "./ZudokuReactContext-DGJAP1sN.js";
8
8
  import { S as h } from "./Spinner-CI6bRyZw.js";
9
9
  import "./index-DAWHN3cH.js";
10
- import { u as i } from "./hook-ZEd1Es7D.js";
10
+ import { u as i } from "./hook-Dz_n9SoE.js";
11
11
  import { C as l, a as d, b as m, c as u, d as x } from "./Card-DCdq37aA.js";
12
12
  import { u as n } from "./useLatest-hmRS46UF.js";
13
13
  const E = () => {
@@ -52,4 +52,4 @@ export {
52
52
  E as a,
53
53
  Y as b
54
54
  };
55
- //# sourceMappingURL=SignUp-8kDBaLbO.js.map
55
+ //# sourceMappingURL=SignUp-Dug1jAGC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignUp-8kDBaLbO.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,6 +1,6 @@
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-BBI06sOx.js";
3
+ import { a as ls } from "./ZudokuContext-CYyb_PB_.js";
4
4
  import { c as Ir } from "./cn-5-Gd1Dss.js";
5
5
  import { g as us, i as cs } from "./invariant-B_t_F2s_.js";
6
6
  import { CodeBlock as hs } from "./ui/CodeBlock.js";
@@ -10393,12 +10393,12 @@ export {
10393
10393
  lh as d,
10394
10394
  Nr as e,
10395
10395
  Fr as f,
10396
- Vr as g,
10397
- ha as h,
10398
- la as i,
10399
- jn as j,
10400
- mh as k,
10401
- 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,
10402
10402
  ah as o,
10403
10403
  Br as p,
10404
10404
  Ts as s,
@@ -10407,4 +10407,4 @@ export {
10407
10407
  Xr as v,
10408
10408
  ca as z
10409
10409
  };
10410
- //# sourceMappingURL=SyntaxHighlight-hZOFnYl0.js.map
10410
+ //# sourceMappingURL=SyntaxHighlight-BMu0b_hF.js.map