zudoku 0.63.1 → 0.64.1

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 (223) hide show
  1. package/client.d.ts +8 -0
  2. package/dist/config/config.d.ts +3 -1
  3. package/dist/config/validators/BuildSchema.d.ts +5 -4
  4. package/dist/config/validators/BuildSchema.js +5 -2
  5. package/dist/config/validators/BuildSchema.js.map +1 -1
  6. package/dist/config/validators/InputNavigationSchema.d.ts +20 -20
  7. package/dist/config/validators/validate.d.ts +10 -12
  8. package/dist/config/validators/validate.js +8 -8
  9. package/dist/config/validators/validate.js.map +1 -1
  10. package/dist/flat-config.d.ts +6 -1
  11. package/dist/lib/authentication/authentication.d.ts +14 -9
  12. package/dist/lib/authentication/components/OAuthErrorPage.js +1 -1
  13. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -1
  14. package/dist/lib/authentication/components/SignIn.js +6 -5
  15. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  16. package/dist/lib/authentication/components/SignOut.js +6 -6
  17. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  18. package/dist/lib/authentication/components/SignUp.js +5 -5
  19. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  20. package/dist/lib/authentication/hook.d.ts +3 -2
  21. package/dist/lib/authentication/hook.js +12 -8
  22. package/dist/lib/authentication/hook.js.map +1 -1
  23. package/dist/lib/authentication/providers/auth0.js +1 -1
  24. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  25. package/dist/lib/authentication/providers/azureb2c.d.ts +4 -4
  26. package/dist/lib/authentication/providers/azureb2c.js +3 -3
  27. package/dist/lib/authentication/providers/azureb2c.js.map +1 -1
  28. package/dist/lib/authentication/providers/clerk.js +2 -2
  29. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  30. package/dist/lib/authentication/providers/openid.d.ts +7 -7
  31. package/dist/lib/authentication/providers/openid.js +5 -3
  32. package/dist/lib/authentication/providers/openid.js.map +1 -1
  33. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  34. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  35. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  36. package/dist/lib/authentication/providers/supabase.js +35 -31
  37. package/dist/lib/authentication/providers/supabase.js.map +1 -1
  38. package/dist/lib/authentication/state.d.ts +1 -5
  39. package/dist/lib/authentication/state.js +2 -14
  40. package/dist/lib/authentication/state.js.map +1 -1
  41. package/dist/lib/components/Zudoku.js +3 -3
  42. package/dist/lib/components/index.d.ts +2 -2
  43. package/dist/lib/components/navigation/Toc.js +1 -1
  44. package/dist/lib/components/navigation/Toc.js.map +1 -1
  45. package/dist/lib/core/RouteGuard.d.ts +1 -1
  46. package/dist/lib/core/RouteGuard.js +6 -14
  47. package/dist/lib/core/RouteGuard.js.map +1 -1
  48. package/dist/lib/core/__internal.d.ts +1 -1
  49. package/dist/lib/hooks/index.d.ts +2 -2
  50. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +1 -1
  51. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -1
  52. package/dist/lib/plugins/openapi/playground/Playground.js +12 -2
  53. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  54. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +2 -1
  55. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +10 -2
  56. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -1
  57. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +1 -1
  58. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +1 -1
  59. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -1
  60. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +23 -21
  61. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
  62. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +1 -1
  63. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -1
  64. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +2 -0
  65. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -1
  66. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +7 -0
  67. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  68. package/dist/lib/shiki.d.ts +1 -1
  69. package/dist/lib/shiki.js +13 -2
  70. package/dist/lib/shiki.js.map +1 -1
  71. package/dist/lib/ui/Callout.d.ts +5 -5
  72. package/dist/lib/ui/Callout.js +5 -5
  73. package/dist/lib/ui/Callout.js.map +1 -1
  74. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +3 -1
  75. package/dist/lib/ui/EmbeddedCodeBlock.js +2 -2
  76. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  77. package/dist/lib/ui/ReactComponentDoc.d.ts +1 -1
  78. package/dist/lib/ui/ReactComponentDoc.js +2 -2
  79. package/dist/lib/ui/ReactComponentDoc.js.map +1 -1
  80. package/dist/lib/ui/SyntaxHighlight.d.ts +1 -0
  81. package/dist/lib/ui/SyntaxHighlight.js.map +1 -1
  82. package/dist/lib/util/MdxComponents.d.ts +2 -1
  83. package/dist/lib/util/MdxComponents.js +3 -2
  84. package/dist/lib/util/MdxComponents.js.map +1 -1
  85. package/dist/lib/util/syncZustandState.d.ts +5 -0
  86. package/dist/lib/util/syncZustandState.js +14 -0
  87. package/dist/lib/util/syncZustandState.js.map +1 -0
  88. package/dist/vite/api/SchemaManager.d.ts +3 -1
  89. package/dist/vite/api/SchemaManager.js +22 -3
  90. package/dist/vite/api/SchemaManager.js.map +1 -1
  91. package/dist/vite/api/SchemaManager.test.js +2 -2
  92. package/dist/vite/api/SchemaManager.test.js.map +1 -1
  93. package/dist/vite/plugin-api.js +14 -5
  94. package/dist/vite/plugin-api.js.map +1 -1
  95. package/dist/vite/plugin-mdx.js +36 -30
  96. package/dist/vite/plugin-mdx.js.map +1 -1
  97. package/lib/{ErrorAlert-VBJ8aHH7.js → ErrorAlert-DE3Sf66a.js} +1711 -1772
  98. package/lib/ErrorAlert-DE3Sf66a.js.map +1 -0
  99. package/lib/{MdxPage-1xaNI6q_.js → MdxPage-DZfeC0QY.js} +8 -8
  100. package/lib/{MdxPage-1xaNI6q_.js.map → MdxPage-DZfeC0QY.js.map} +1 -1
  101. package/lib/{OAuthErrorPage-Du_4sFER.js → OAuthErrorPage-BycMozgn.js} +8 -8
  102. package/lib/{OAuthErrorPage-Du_4sFER.js.map → OAuthErrorPage-BycMozgn.js.map} +1 -1
  103. package/lib/{OasProvider-0xiB5cKH.js → OasProvider-1XEOsIiW.js} +3 -3
  104. package/lib/{OasProvider-0xiB5cKH.js.map → OasProvider-1XEOsIiW.js.map} +1 -1
  105. package/lib/{OperationList-BzWKTkNq.js → OperationList-DCJw6wXL.js} +113 -109
  106. package/lib/OperationList-DCJw6wXL.js.map +1 -0
  107. package/lib/{Pagination-DOcPyfy_.js → Pagination-CJszmeSA.js} +3 -3
  108. package/lib/{Pagination-DOcPyfy_.js.map → Pagination-CJszmeSA.js.map} +1 -1
  109. package/lib/RouteGuard-DhU3LRr1.js +81 -0
  110. package/lib/RouteGuard-DhU3LRr1.js.map +1 -0
  111. package/lib/{RouterError-fm21cqlj.js → RouterError-VDLnrFqF.js} +5 -5
  112. package/lib/{RouterError-fm21cqlj.js.map → RouterError-VDLnrFqF.js.map} +1 -1
  113. package/lib/{SchemaList-Dea2Skqv.js → SchemaList-qOHkDzSz.js} +7 -7
  114. package/lib/{SchemaList-Dea2Skqv.js.map → SchemaList-qOHkDzSz.js.map} +1 -1
  115. package/lib/{SchemaView-H9glU5P7.js → SchemaView-D3hm65cc.js} +3 -3
  116. package/lib/{SchemaView-H9glU5P7.js.map → SchemaView-D3hm65cc.js.map} +1 -1
  117. package/lib/{Select-CPoGZU_V.js → Select-C1DeCqKv.js} +3 -3
  118. package/lib/{Select-CPoGZU_V.js.map → Select-C1DeCqKv.js.map} +1 -1
  119. package/lib/SignUp-6SGx9Yyq.js +50 -0
  120. package/lib/SignUp-6SGx9Yyq.js.map +1 -0
  121. package/lib/{SyntaxHighlight-B0laqAqK.js → SyntaxHighlight-zvlnSnHB.js} +789 -778
  122. package/lib/{SyntaxHighlight-B0laqAqK.js.map → SyntaxHighlight-zvlnSnHB.js.map} +1 -1
  123. package/lib/{Toc-KzXCRqrX.js → Toc-Da9yp7lo.js} +5 -5
  124. package/lib/Toc-Da9yp7lo.js.map +1 -0
  125. package/lib/{ZudokuContext-BXTZApgy.js → ZudokuContext-BUZ5hkWB.js} +33 -31
  126. package/lib/ZudokuContext-BUZ5hkWB.js.map +1 -0
  127. package/lib/{chunk-PVWAREVJ-BO6B-RAk.js → chunk-PVWAREVJ-BMhpCH5D.js} +7 -7
  128. package/lib/{chunk-PVWAREVJ-BO6B-RAk.js.map → chunk-PVWAREVJ-BMhpCH5D.js.map} +1 -1
  129. package/lib/{circular-OGtD_zFg.js → circular-CSSuz-LS.js} +2 -2
  130. package/lib/{circular-OGtD_zFg.js.map → circular-CSSuz-LS.js.map} +1 -1
  131. package/lib/{createServer-DyUc5BPr.js → createServer-CLbcVLbK.js} +4 -4
  132. package/lib/{createServer-DyUc5BPr.js.map → createServer-CLbcVLbK.js.map} +1 -1
  133. package/lib/{errors-7_i0Oyw4.js → errors-CuGgh3hf.js} +2 -2
  134. package/lib/{errors-7_i0Oyw4.js.map → errors-CuGgh3hf.js.map} +1 -1
  135. package/lib/hook-CMeoxziF.js +40 -0
  136. package/lib/hook-CMeoxziF.js.map +1 -0
  137. package/lib/{index-CLJGtw_S.js → index-B1rmok4X.js} +7 -7
  138. package/lib/{index-CLJGtw_S.js.map → index-B1rmok4X.js.map} +1 -1
  139. package/lib/{index-PdgTSEkk.js → index-RNAxx6IF.js} +853 -793
  140. package/lib/index-RNAxx6IF.js.map +1 -0
  141. package/lib/{index-C5L4favO.js → index-rYHsvtTo.js} +2 -2
  142. package/lib/{index-C5L4favO.js.map → index-rYHsvtTo.js.map} +1 -1
  143. package/lib/{mutation-CdGPxHNX.js → mutation-BSU0xu4m.js} +2 -2
  144. package/lib/{mutation-CdGPxHNX.js.map → mutation-BSU0xu4m.js.map} +1 -1
  145. package/lib/ui/Callout.js +18 -18
  146. package/lib/ui/Callout.js.map +1 -1
  147. package/lib/ui/CodeBlock.js +217 -7
  148. package/lib/ui/CodeBlock.js.map +1 -1
  149. package/lib/ui/EmbeddedCodeBlock.js +22 -19
  150. package/lib/ui/EmbeddedCodeBlock.js.map +1 -1
  151. package/lib/ui/ReactComponentDoc.js +13 -13
  152. package/lib/ui/ReactComponentDoc.js.map +1 -1
  153. package/lib/ui/SyntaxHighlight.js +3 -3
  154. package/lib/{useExposedProps-Cd7Yg_uG.js → useExposedProps-U3pmsHaG.js} +2 -2
  155. package/lib/{useExposedProps-Cd7Yg_uG.js.map → useExposedProps-U3pmsHaG.js.map} +1 -1
  156. package/lib/zudoku.__internal.js +7 -7
  157. package/lib/zudoku.auth-auth0.js +13 -13
  158. package/lib/zudoku.auth-auth0.js.map +1 -1
  159. package/lib/zudoku.auth-azureb2c.js +28 -28
  160. package/lib/zudoku.auth-azureb2c.js.map +1 -1
  161. package/lib/zudoku.auth-clerk.js +40 -40
  162. package/lib/zudoku.auth-clerk.js.map +1 -1
  163. package/lib/zudoku.auth-openid.js +53 -56
  164. package/lib/zudoku.auth-openid.js.map +1 -1
  165. package/lib/zudoku.auth-supabase.js +111 -52
  166. package/lib/zudoku.auth-supabase.js.map +1 -1
  167. package/lib/zudoku.components.js +6 -6
  168. package/lib/zudoku.hooks.js +4 -4
  169. package/lib/zudoku.plugin-api-catalog.js +5 -5
  170. package/lib/zudoku.plugin-api-keys.js +99 -99
  171. package/lib/zudoku.plugin-custom-pages.js +1 -1
  172. package/lib/zudoku.plugin-markdown.js +1 -1
  173. package/lib/zudoku.plugin-openapi.js +3 -3
  174. package/lib/zudoku.plugin-redirect.js +1 -1
  175. package/lib/zudoku.plugin-search-pagefind.js +38 -38
  176. package/lib/zudoku.plugin-search-pagefind.js.map +1 -1
  177. package/lib/zudoku.router.js +2 -2
  178. package/package.json +16 -8
  179. package/src/app/main.css +19 -9
  180. package/src/lib/authentication/authentication.ts +19 -3
  181. package/src/lib/authentication/components/OAuthErrorPage.tsx +1 -1
  182. package/src/lib/authentication/components/SignIn.tsx +7 -5
  183. package/src/lib/authentication/components/SignOut.tsx +7 -6
  184. package/src/lib/authentication/components/SignUp.tsx +5 -8
  185. package/src/lib/authentication/hook.ts +21 -10
  186. package/src/lib/authentication/providers/auth0.tsx +2 -1
  187. package/src/lib/authentication/providers/azureb2c.tsx +10 -3
  188. package/src/lib/authentication/providers/clerk.tsx +9 -2
  189. package/src/lib/authentication/providers/openid.tsx +20 -15
  190. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  191. package/src/lib/authentication/providers/supabase.tsx +59 -43
  192. package/src/lib/authentication/state.ts +3 -23
  193. package/src/lib/components/Zudoku.tsx +3 -3
  194. package/src/lib/components/navigation/Toc.tsx +3 -3
  195. package/src/lib/core/RouteGuard.tsx +33 -13
  196. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +2 -2
  197. package/src/lib/plugins/openapi/playground/Playground.tsx +13 -2
  198. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +20 -1
  199. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +2 -2
  200. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +102 -58
  201. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +1 -1
  202. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +3 -0
  203. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +10 -0
  204. package/src/lib/shiki.ts +16 -2
  205. package/src/lib/ui/Callout.tsx +10 -5
  206. package/src/lib/ui/EmbeddedCodeBlock.tsx +6 -3
  207. package/src/lib/ui/ReactComponentDoc.tsx +17 -17
  208. package/src/lib/ui/SyntaxHighlight.tsx +6 -1
  209. package/src/lib/util/MdxComponents.tsx +3 -5
  210. package/src/lib/util/syncZustandState.ts +22 -0
  211. package/lib/CodeBlock-CanTUJLl.js +0 -221
  212. package/lib/CodeBlock-CanTUJLl.js.map +0 -1
  213. package/lib/ErrorAlert-VBJ8aHH7.js.map +0 -1
  214. package/lib/OperationList-BzWKTkNq.js.map +0 -1
  215. package/lib/RouteGuard-Bg0Lu0OU.js +0 -56
  216. package/lib/RouteGuard-Bg0Lu0OU.js.map +0 -1
  217. package/lib/SignUp-DUZ4yUmQ.js +0 -56
  218. package/lib/SignUp-DUZ4yUmQ.js.map +0 -1
  219. package/lib/Toc-KzXCRqrX.js.map +0 -1
  220. package/lib/ZudokuContext-BXTZApgy.js.map +0 -1
  221. package/lib/hook-CAebs2rv.js +0 -31
  222. package/lib/hook-CAebs2rv.js.map +0 -1
  223. package/lib/index-PdgTSEkk.js.map +0 -1
@@ -1,221 +0,0 @@
1
- import { j as o } from "./jsx-runtime-BzflLqGi.js";
2
- import { CheckIcon as d, CopyIcon as h } from "lucide-react";
3
- import { lazy as t, Suspense as w, useRef as x } from "react";
4
- import { c as s } from "./cn-dYga0KKN.js";
5
- import { u } from "./useCopyToClipboard-B_085nfO.js";
6
- const $ = {
7
- typescript: {
8
- pattern: /^(ts|typescript)$/,
9
- icon: t(() => import("./typescript-C26xdBDC.js")),
10
- width: 15
11
- },
12
- javascript: {
13
- pattern: /^(js|javascript)$/,
14
- icon: t(() => import("./javascript-CcmIpL4G.js"))
15
- },
16
- react: {
17
- pattern: /^(react|tsx|jsx)$/,
18
- icon: t(() => import("./react-DHpVpxRv.js")),
19
- width: 22
20
- },
21
- markdown: {
22
- pattern: /^(md|markdown)$/,
23
- icon: t(() => import("./markdown-DYGWCmGQ.js")),
24
- width: 22
25
- },
26
- mdx: {
27
- pattern: /^mdx$/,
28
- icon: t(() => import("./mdx-CHwYvXd4.js")),
29
- width: 28
30
- },
31
- java: {
32
- pattern: /^(java)$/,
33
- icon: t(() => import("./java-CVLzHfb1.js")),
34
- width: 22
35
- },
36
- json: {
37
- pattern: /^jsonc?$/,
38
- icon: t(() => import("./json-4AyP4uiY.js"))
39
- },
40
- yaml: {
41
- pattern: /^yaml$/,
42
- icon: t(() => import("./yaml-BGsJItKv.js"))
43
- },
44
- toml: {
45
- pattern: /^toml$/,
46
- icon: t(() => import("./toml-Co9mpdct.js"))
47
- },
48
- shell: {
49
- pattern: /^(shell|bash|sh|zsh|term|terminal|ansi)$/,
50
- icon: t(() => import("./shell-HUv9oVtp.js"))
51
- },
52
- python: {
53
- pattern: /^(py|python)$/,
54
- icon: t(() => import("./python-QIQAE5Ei.js"))
55
- },
56
- csharp: {
57
- pattern: /^(cs|csharp|vb)$/,
58
- icon: t(() => import("./csharp-D8MIL50B.js")),
59
- width: 20
60
- },
61
- rust: {
62
- pattern: /^(rs|rust)$/,
63
- icon: t(() => import("./rust-DYnLHAi2.js")),
64
- width: 20
65
- },
66
- ruby: {
67
- pattern: /^(rb|ruby)$/,
68
- icon: t(() => import("./ruby-B2dU8Ny5.js"))
69
- },
70
- php: {
71
- pattern: /^php$/,
72
- icon: t(() => import("./php-rQXzo7K_.js")),
73
- width: 24
74
- },
75
- html: {
76
- pattern: /^html?$/,
77
- icon: t(() => import("./html-MGnI2uzP.js")),
78
- width: 15
79
- },
80
- css: {
81
- pattern: /^css$/,
82
- icon: t(() => import("./css-Bt6hr1td.js"))
83
- },
84
- objectivec: {
85
- pattern: /^(objc|objectivec)$/,
86
- icon: t(() => import("./objectivec-HZY8shkd.js")),
87
- width: 16
88
- },
89
- swift: {
90
- pattern: /^swift$/,
91
- icon: t(() => import("./swift-B4z6ig1Z.js"))
92
- },
93
- go: {
94
- pattern: /^go$/,
95
- icon: t(() => import("./go-D2VsmIOS.js")),
96
- width: 28
97
- },
98
- xml: {
99
- pattern: /^xml$/,
100
- icon: t(() => import("./xml-BQOOC04j.js"))
101
- },
102
- kotlin: {
103
- pattern: /^(kt|kotlin)$/,
104
- icon: t(() => import("./kotlin-v2plddBQ.js")),
105
- width: 14
106
- },
107
- graphql: {
108
- pattern: /^(gql|graphql)$/,
109
- icon: t(() => import("./graphql-BtA6M4m5.js"))
110
- },
111
- zig: {
112
- pattern: /^zig$/,
113
- icon: t(() => import("./zig-CUV2sTct.js")),
114
- width: 28
115
- },
116
- scala: {
117
- pattern: /^scala$/,
118
- icon: t(() => import("./scala-CeKInBR8.js")),
119
- width: 18
120
- },
121
- dart: {
122
- pattern: /^dart$/,
123
- icon: t(() => import("./dart-B0vy1jWB.js")),
124
- width: 20
125
- },
126
- ocaml: {
127
- pattern: /^ocaml$/,
128
- icon: t(() => import("./ocaml-DqsdDdwb.js")),
129
- width: 20
130
- },
131
- c: {
132
- pattern: /^c$/,
133
- icon: t(() => import("./c-B-NUhs61.js")),
134
- width: 20
135
- },
136
- cpp: {
137
- pattern: /^(cpp|c\+\+)$/,
138
- icon: t(() => import("./cpp-79Paht7T.js")),
139
- width: 20
140
- },
141
- commonlisp: {
142
- pattern: /^(clisp|common-lisp|lisp|cl|commonlisp)$/,
143
- icon: t(() => import("./commonlisp-De080z23.js")),
144
- width: 18
145
- },
146
- elixir: {
147
- pattern: /^elixir$/,
148
- icon: t(() => import("./elixir-Ds8r0sF8.js")),
149
- width: 18
150
- },
151
- powershell: {
152
- pattern: /^(pshell|powershell|ps1)$/,
153
- icon: t(() => import("./powershell-CQje9pm1.js")),
154
- width: 18
155
- }
156
- }, b = ({ language: i }) => {
157
- if (!i) return null;
158
- const r = Object.values($).find((n) => n.pattern.test(i));
159
- if (!r) return null;
160
- const e = r.width ?? 18;
161
- return /* @__PURE__ */ o.jsx(w, { fallback: /* @__PURE__ */ o.jsx("div", { style: { width: e, height: "1em" } }), children: /* @__PURE__ */ o.jsx(r.icon, { className: "h-auto", style: { width: e } }) });
162
- }, k = ({
163
- children: i,
164
- title: r = "Code",
165
- language: e,
166
- showCopy: n = "hover",
167
- showLanguageIndicator: j,
168
- showLineNumbers: a,
169
- ...m
170
- }) => {
171
- const [p, l] = u(), c = x(null);
172
- return i ? /* @__PURE__ */ o.jsxs(
173
- "div",
174
- {
175
- className: s(
176
- "border code-block-wrapper relative group rounded-md overflow-hidden",
177
- a && "line-numbers",
178
- m.className
179
- ),
180
- children: [
181
- /* @__PURE__ */ o.jsxs("div", { className: "border-b flex items-center h-10 font-sans bg-black/2", children: [
182
- /* @__PURE__ */ o.jsxs("div", { className: "flex items-center gap-1.5 flex-1 text-sm w-full px-3", children: [
183
- /* @__PURE__ */ o.jsx(b, { language: e }),
184
- r
185
- ] }),
186
- " ",
187
- n !== "never" && /* @__PURE__ */ o.jsx(
188
- "button",
189
- {
190
- type: "button",
191
- "aria-label": "Copy code",
192
- title: "Copy code",
193
- className: s(
194
- "transition px-2 py-2 mx-1 rounded-sm",
195
- !p && "hover:bg-accent hover:brightness-95"
196
- ),
197
- disabled: p,
198
- onClick: () => {
199
- c.current?.textContent && l(c.current.textContent);
200
- },
201
- children: p ? /* @__PURE__ */ o.jsx(d, { className: "text-emerald-600", size: 14 }) : /* @__PURE__ */ o.jsx(h, { size: 14 })
202
- }
203
- )
204
- ] }),
205
- /* @__PURE__ */ o.jsx(
206
- "div",
207
- {
208
- className: "code-block text-sm not-prose scrollbar [&_code]:px-3 [&_code]:py-2",
209
- ref: c,
210
- children: i
211
- }
212
- )
213
- ]
214
- }
215
- ) : null;
216
- };
217
- export {
218
- k as C,
219
- b as L
220
- };
221
- //# sourceMappingURL=CodeBlock-CanTUJLl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeBlock-CanTUJLl.js","sources":["../src/lib/components/LanguageIcon.tsx","../src/lib/ui/CodeBlock.tsx"],"sourcesContent":["import {\n type ComponentType,\n type LazyExoticComponent,\n lazy,\n Suspense,\n type SVGProps,\n} from \"react\";\n\ntype Language = {\n pattern: RegExp;\n icon: LazyExoticComponent<ComponentType<SVGProps<SVGSVGElement>>>;\n width?: number;\n};\n\nconst Languages: Record<string, Language> = {\n typescript: {\n pattern: /^(ts|typescript)$/,\n icon: lazy(() => import(\"../assets/language-icons/typescript.js\")),\n width: 15,\n },\n javascript: {\n pattern: /^(js|javascript)$/,\n icon: lazy(() => import(\"../assets/language-icons/javascript.js\")),\n },\n react: {\n pattern: /^(react|tsx|jsx)$/,\n icon: lazy(() => import(\"../assets/language-icons/react.js\")),\n width: 22,\n },\n markdown: {\n pattern: /^(md|markdown)$/,\n icon: lazy(() => import(\"../assets/language-icons/markdown.js\")),\n width: 22,\n },\n mdx: {\n pattern: /^mdx$/,\n icon: lazy(() => import(\"../assets/language-icons/mdx.js\")),\n width: 28,\n },\n java: {\n pattern: /^(java)$/,\n icon: lazy(() => import(\"../assets/language-icons/java.js\")),\n width: 22,\n },\n json: {\n pattern: /^jsonc?$/,\n icon: lazy(() => import(\"../assets/language-icons/json.js\")),\n },\n yaml: {\n pattern: /^yaml$/,\n icon: lazy(() => import(\"../assets/language-icons/yaml.js\")),\n },\n toml: {\n pattern: /^toml$/,\n icon: lazy(() => import(\"../assets/language-icons/toml.js\")),\n },\n shell: {\n pattern: /^(shell|bash|sh|zsh|term|terminal|ansi)$/,\n icon: lazy(() => import(\"../assets/language-icons/shell.js\")),\n },\n python: {\n pattern: /^(py|python)$/,\n icon: lazy(() => import(\"../assets/language-icons/python.js\")),\n },\n csharp: {\n pattern: /^(cs|csharp|vb)$/,\n icon: lazy(() => import(\"../assets/language-icons/csharp.js\")),\n width: 20,\n },\n rust: {\n pattern: /^(rs|rust)$/,\n icon: lazy(() => import(\"../assets/language-icons/rust.js\")),\n width: 20,\n },\n ruby: {\n pattern: /^(rb|ruby)$/,\n icon: lazy(() => import(\"../assets/language-icons/ruby.js\")),\n },\n php: {\n pattern: /^php$/,\n icon: lazy(() => import(\"../assets/language-icons/php.js\")),\n width: 24,\n },\n html: {\n pattern: /^html?$/,\n icon: lazy(() => import(\"../assets/language-icons/html.js\")),\n width: 15,\n },\n css: {\n pattern: /^css$/,\n icon: lazy(() => import(\"../assets/language-icons/css.js\")),\n },\n objectivec: {\n pattern: /^(objc|objectivec)$/,\n icon: lazy(() => import(\"../assets/language-icons/objectivec.js\")),\n width: 16,\n },\n swift: {\n pattern: /^swift$/,\n icon: lazy(() => import(\"../assets/language-icons/swift.js\")),\n },\n go: {\n pattern: /^go$/,\n icon: lazy(() => import(\"../assets/language-icons/go.js\")),\n width: 28,\n },\n xml: {\n pattern: /^xml$/,\n icon: lazy(() => import(\"../assets/language-icons/xml.js\")),\n },\n kotlin: {\n pattern: /^(kt|kotlin)$/,\n icon: lazy(() => import(\"../assets/language-icons/kotlin.js\")),\n width: 14,\n },\n graphql: {\n pattern: /^(gql|graphql)$/,\n icon: lazy(() => import(\"../assets/language-icons/graphql.js\")),\n },\n zig: {\n pattern: /^zig$/,\n icon: lazy(() => import(\"../assets/language-icons/zig.js\")),\n width: 28,\n },\n scala: {\n pattern: /^scala$/,\n icon: lazy(() => import(\"../assets/language-icons/scala.js\")),\n width: 18,\n },\n dart: {\n pattern: /^dart$/,\n icon: lazy(() => import(\"../assets/language-icons/dart.js\")),\n width: 20,\n },\n ocaml: {\n pattern: /^ocaml$/,\n icon: lazy(() => import(\"../assets/language-icons/ocaml.js\")),\n width: 20,\n },\n c: {\n pattern: /^c$/,\n icon: lazy(() => import(\"../assets/language-icons/c.js\")),\n width: 20,\n },\n cpp: {\n pattern: /^(cpp|c\\+\\+)$/,\n icon: lazy(() => import(\"../assets/language-icons/cpp.js\")),\n width: 20,\n },\n commonlisp: {\n pattern: /^(clisp|common-lisp|lisp|cl|commonlisp)$/,\n icon: lazy(() => import(\"../assets/language-icons/commonlisp.js\")),\n width: 18,\n },\n elixir: {\n pattern: /^elixir$/,\n icon: lazy(() => import(\"../assets/language-icons/elixir.js\")),\n width: 18,\n },\n powershell: {\n pattern: /^(pshell|powershell|ps1)$/,\n icon: lazy(() => import(\"../assets/language-icons/powershell.js\")),\n width: 18,\n },\n};\n\nexport const LanguageIcon = ({ language }: { language?: string }) => {\n if (!language) return null;\n\n const Lang = Object.values(Languages).find((l) => l.pattern.test(language));\n\n if (!Lang) return null;\n\n const size = Lang.width ?? 18;\n\n return (\n <Suspense fallback={<div style={{ width: size, height: \"1em\" }} />}>\n <Lang.icon className=\"h-auto\" style={{ width: size }} />\n </Suspense>\n );\n};\n","import { CheckIcon, CopyIcon } from \"lucide-react\";\nimport { type ReactNode, useRef } from \"react\";\nimport { LanguageIcon } from \"../components/LanguageIcon.js\";\nimport { cn } from \"../util/cn.js\";\nimport { useCopyToClipboard } from \"../util/useCopyToClipboard.js\";\n\nexport type CodeBlockProps = {\n className?: string;\n noBackground?: boolean;\n wrapLines?: boolean;\n showLanguageIndicator?: boolean;\n language?: string;\n title?: string;\n children?: ReactNode;\n code?: ReactNode;\n showCopy?: \"hover\" | \"always\" | \"never\";\n disabled?: boolean;\n showLineNumbers?: boolean;\n};\n\nexport const CodeBlock = ({\n children,\n title = \"Code\",\n language,\n showCopy = \"hover\",\n showLanguageIndicator,\n showLineNumbers,\n ...props\n}: CodeBlockProps) => {\n const [isCopied, copyToClipboard] = useCopyToClipboard();\n const ref = useRef<HTMLDivElement>(null);\n\n if (!children) return null;\n\n return (\n <div\n className={cn(\n \"border code-block-wrapper relative group rounded-md overflow-hidden\",\n showLineNumbers && \"line-numbers\",\n props.className,\n )}\n >\n <div className=\"border-b flex items-center h-10 font-sans bg-black/2\">\n <div className=\"flex items-center gap-1.5 flex-1 text-sm w-full px-3\">\n <LanguageIcon language={language} />\n {title}\n </div>{\" \"}\n {showCopy !== \"never\" && (\n <button\n type=\"button\"\n aria-label=\"Copy code\"\n title=\"Copy code\"\n className={cn(\n \"transition px-2 py-2 mx-1 rounded-sm\",\n !isCopied && \"hover:bg-accent hover:brightness-95\",\n )}\n disabled={isCopied}\n onClick={() => {\n if (!ref.current?.textContent) return;\n\n copyToClipboard(ref.current.textContent);\n }}\n >\n {isCopied ? (\n <CheckIcon className=\"text-emerald-600\" size={14} />\n ) : (\n <CopyIcon size={14} />\n )}\n </button>\n )}\n </div>\n <div\n className=\"code-block text-sm not-prose scrollbar [&_code]:px-3 [&_code]:py-2\"\n ref={ref}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["Languages","lazy","LanguageIcon","language","Lang","l","size","jsx","Suspense","CodeBlock","children","title","showCopy","showLanguageIndicator","showLineNumbers","props","isCopied","copyToClipboard","useCopyToClipboard","ref","useRef","jsxs","cn","CheckIcon","CopyIcon"],"mappings":"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"}