zudoku 0.66.2 → 0.66.3

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 (161) hide show
  1. package/dist/config/validators/validate.d.ts +32 -3
  2. package/dist/config/validators/validate.js +1 -1
  3. package/dist/config/validators/validate.js.map +1 -1
  4. package/dist/flat-config.d.ts +1 -1
  5. package/dist/lib/auth/issuer.js +1 -1
  6. package/dist/lib/auth/issuer.js.map +1 -1
  7. package/dist/lib/authentication/authentication.d.ts +3 -2
  8. package/dist/lib/authentication/hook.d.ts +2 -0
  9. package/dist/lib/authentication/hook.js +10 -0
  10. package/dist/lib/authentication/hook.js.map +1 -1
  11. package/dist/lib/authentication/providers/firebase.js +67 -9
  12. package/dist/lib/authentication/providers/firebase.js.map +1 -1
  13. package/dist/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
  14. package/dist/lib/authentication/ui/EmailVerificationUi.js +34 -0
  15. package/dist/lib/authentication/ui/EmailVerificationUi.js.map +1 -0
  16. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +7 -2
  17. package/dist/lib/authentication/ui/ZudokuAuthUi.js +43 -11
  18. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -1
  19. package/dist/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
  20. package/dist/lib/authentication/utils/relativeRedirectUrl.js +8 -0
  21. package/dist/lib/authentication/utils/relativeRedirectUrl.js.map +1 -0
  22. package/dist/lib/components/index.d.ts +2 -0
  23. package/dist/lib/errors/ErrorMessage.d.ts +3 -0
  24. package/dist/lib/errors/ErrorMessage.js +16 -0
  25. package/dist/lib/errors/ErrorMessage.js.map +1 -0
  26. package/dist/lib/hooks/index.d.ts +2 -0
  27. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +9 -172
  28. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  29. package/dist/lib/plugins/api-keys/index.d.ts +4 -1
  30. package/dist/lib/plugins/api-keys/index.js +19 -14
  31. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  32. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
  33. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js +133 -0
  34. package/dist/lib/plugins/api-keys/settings/ApiKeyItem.js.map +1 -0
  35. package/dist/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
  36. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js +30 -0
  37. package/dist/lib/plugins/api-keys/settings/ApiKeyList.js.map +1 -0
  38. package/dist/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
  39. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js +39 -0
  40. package/dist/lib/plugins/api-keys/settings/RevealApiKey.js.map +1 -0
  41. package/dist/vite/config.js +7 -0
  42. package/dist/vite/config.js.map +1 -1
  43. package/dist/vite/plugin-api-keys.js +4 -1
  44. package/dist/vite/plugin-api-keys.js.map +1 -1
  45. package/dist/vite/zuplo.d.ts +13 -0
  46. package/dist/vite/zuplo.js +15 -0
  47. package/dist/vite/zuplo.js.map +1 -0
  48. package/lib/{ClaudeLogo-CGRfGTk2.js → ClaudeLogo-BZslN9XF.js} +3 -3
  49. package/lib/{ClaudeLogo-CGRfGTk2.js.map → ClaudeLogo-BZslN9XF.js.map} +1 -1
  50. package/lib/{Drawer-Ci7XwhqT.js → Drawer-BRMcpfuF.js} +6 -6
  51. package/lib/{Drawer-Ci7XwhqT.js.map → Drawer-BRMcpfuF.js.map} +1 -1
  52. package/lib/Frame-DxlznfVd.js +205 -0
  53. package/lib/Frame-DxlznfVd.js.map +1 -0
  54. package/lib/{useMutation-C6RqWmTS.js → Input-D-kqEQ5M.js} +41 -23
  55. package/lib/Input-D-kqEQ5M.js.map +1 -0
  56. package/lib/{MdxPage-Bjf72BP3.js → MdxPage-B4zZq5aR.js} +8 -8
  57. package/lib/{MdxPage-Bjf72BP3.js.map → MdxPage-B4zZq5aR.js.map} +1 -1
  58. package/lib/{Mermaid-D_VSX7_Q.js → Mermaid-BjSczjLW.js} +3 -3
  59. package/lib/{Mermaid-D_VSX7_Q.js.map → Mermaid-BjSczjLW.js.map} +1 -1
  60. package/lib/{OAuthErrorPage-1Ekji0PK.js → OAuthErrorPage-DRY2hlga.js} +20 -21
  61. package/lib/{OAuthErrorPage-1Ekji0PK.js.map → OAuthErrorPage-DRY2hlga.js.map} +1 -1
  62. package/lib/{OasProvider-BZxmTyMM.js → OasProvider-lMwTD76Y.js} +4 -4
  63. package/lib/{OasProvider-BZxmTyMM.js.map → OasProvider-lMwTD76Y.js.map} +1 -1
  64. package/lib/{OperationList-B7nPIFB8.js → OperationList-Bm76b4vl.js} +23 -24
  65. package/lib/{OperationList-B7nPIFB8.js.map → OperationList-Bm76b4vl.js.map} +1 -1
  66. package/lib/{RouteGuard-9wjejsKm.js → RouteGuard-DGc32XJV.js} +4 -4
  67. package/lib/{RouteGuard-9wjejsKm.js.map → RouteGuard-DGc32XJV.js.map} +1 -1
  68. package/lib/{SchemaList-16_obkku.js → SchemaList-DX4FPogg.js} +7 -7
  69. package/lib/{SchemaList-16_obkku.js.map → SchemaList-DX4FPogg.js.map} +1 -1
  70. package/lib/SchemaView-CjXvSRxy.js +434 -0
  71. package/lib/SchemaView-CjXvSRxy.js.map +1 -0
  72. package/lib/{Select-CkxXP5I7.js → Secret-BxGpIhDP.js} +121 -121
  73. package/lib/Secret-BxGpIhDP.js.map +1 -0
  74. package/lib/{SignUp-D54_QWFy.js → SignUp-CntxjFGS.js} +4 -4
  75. package/lib/{SignUp-D54_QWFy.js.map → SignUp-CntxjFGS.js.map} +1 -1
  76. package/lib/{SyntaxHighlight-j_HRSPCU.js → SyntaxHighlight-Dgd0AaaX.js} +2 -2
  77. package/lib/{SyntaxHighlight-j_HRSPCU.js.map → SyntaxHighlight-Dgd0AaaX.js.map} +1 -1
  78. package/lib/{Toc-z05x698-.js → Toc-L1vGGHA1.js} +2 -2
  79. package/lib/{Toc-z05x698-.js.map → Toc-L1vGGHA1.js.map} +1 -1
  80. package/lib/{ZudokuContext-BXldanA8.js → ZudokuContext-DNHMZfcP.js} +33 -33
  81. package/lib/{ZudokuContext-BXldanA8.js.map → ZudokuContext-DNHMZfcP.js.map} +1 -1
  82. package/lib/{chunk-PVWAREVJ-dLIqswPy.js → chunk-PVWAREVJ-ClM0m2aJ.js} +19 -19
  83. package/lib/{chunk-PVWAREVJ-dLIqswPy.js.map → chunk-PVWAREVJ-ClM0m2aJ.js.map} +1 -1
  84. package/lib/{circular-D5sYCIWL.js → circular-BIN_WQ0c.js} +2 -2
  85. package/lib/{circular-D5sYCIWL.js.map → circular-BIN_WQ0c.js.map} +1 -1
  86. package/lib/{createServer-BlwU7lIr.js → createServer-BEl12QFw.js} +4 -4
  87. package/lib/{createServer-BlwU7lIr.js.map → createServer-BEl12QFw.js.map} +1 -1
  88. package/lib/createVariantComponent-CQVt-H3r.js +18 -0
  89. package/lib/createVariantComponent-CQVt-H3r.js.map +1 -0
  90. package/lib/{errors-BtC4Kn2j.js → errors-CtBbD47A.js} +2 -2
  91. package/lib/{errors-BtC4Kn2j.js.map → errors-CtBbD47A.js.map} +1 -1
  92. package/lib/{firebase-Ibm_tv3G.js → firebase-CT38ugg4.js} +1588 -1342
  93. package/lib/firebase-CT38ugg4.js.map +1 -0
  94. package/lib/hook-CHw_R_xu.js +52 -0
  95. package/lib/hook-CHw_R_xu.js.map +1 -0
  96. package/lib/{ErrorAlert-BUlG32M9.js → index-CG2v-T7-.js} +5373 -4335
  97. package/lib/index-CG2v-T7-.js.map +1 -0
  98. package/lib/{index-eKVhlB94.js → index-CISwSpdT.js} +2 -2
  99. package/lib/{index-eKVhlB94.js.map → index-CISwSpdT.js.map} +1 -1
  100. package/lib/{index-Css56y3F.js → index-DXXZDuSJ.js} +4 -4
  101. package/lib/{index-Css56y3F.js.map → index-DXXZDuSJ.js.map} +1 -1
  102. package/lib/{index-CeVTNcfF.js → index-jI2Fjpy-.js} +98 -99
  103. package/lib/{index-CeVTNcfF.js.map → index-jI2Fjpy-.js.map} +1 -1
  104. package/lib/{index.esm-BoKBnRoT.js → index.esm-Bu35TNgg.js} +16 -14
  105. package/lib/index.esm-Bu35TNgg.js.map +1 -0
  106. package/lib/{mutation-BoVlx8yA.js → mutation-DMHWqmFp.js} +2 -2
  107. package/lib/{mutation-BoVlx8yA.js.map → mutation-DMHWqmFp.js.map} +1 -1
  108. package/lib/ui/Drawer.js +2 -2
  109. package/lib/ui/SyntaxHighlight.js +2 -2
  110. package/lib/zudoku.__internal.js +507 -479
  111. package/lib/zudoku.__internal.js.map +1 -1
  112. package/lib/zudoku.auth-auth0.js +1 -1
  113. package/lib/zudoku.auth-azureb2c.js +4 -4
  114. package/lib/zudoku.auth-clerk.js +2 -2
  115. package/lib/zudoku.auth-firebase.js +6 -5
  116. package/lib/zudoku.auth-firebase.js.map +1 -1
  117. package/lib/zudoku.auth-openid.js +4 -4
  118. package/lib/zudoku.auth-supabase.js +5 -5
  119. package/lib/zudoku.components.js +20 -21
  120. package/lib/zudoku.components.js.map +1 -1
  121. package/lib/zudoku.hooks.js +3 -3
  122. package/lib/zudoku.mermaid.js +3 -3
  123. package/lib/zudoku.plugin-api-catalog.js +8 -9
  124. package/lib/zudoku.plugin-api-catalog.js.map +1 -1
  125. package/lib/zudoku.plugin-api-keys.js +580 -543
  126. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  127. package/lib/zudoku.plugin-custom-pages.js +1 -1
  128. package/lib/zudoku.plugin-markdown.js +1 -1
  129. package/lib/zudoku.plugin-openapi.js +3 -3
  130. package/lib/zudoku.plugin-redirect.js +1 -1
  131. package/lib/zudoku.plugin-search-pagefind.js +3 -3
  132. package/lib/zudoku.router.js +2 -2
  133. package/package.json +4 -2
  134. package/src/lib/auth/issuer.ts +1 -1
  135. package/src/lib/authentication/authentication.ts +8 -2
  136. package/src/lib/authentication/hook.ts +16 -0
  137. package/src/lib/authentication/providers/firebase.tsx +98 -6
  138. package/src/lib/authentication/ui/EmailVerificationUi.tsx +129 -0
  139. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +170 -38
  140. package/src/lib/authentication/utils/relativeRedirectUrl.ts +12 -0
  141. package/src/lib/errors/ErrorMessage.tsx +38 -0
  142. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +36 -476
  143. package/src/lib/plugins/api-keys/index.tsx +33 -18
  144. package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
  145. package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +64 -0
  146. package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +124 -0
  147. package/lib/ErrorAlert-BUlG32M9.js.map +0 -1
  148. package/lib/RouterError-DfTZblpv.js +0 -42
  149. package/lib/RouterError-DfTZblpv.js.map +0 -1
  150. package/lib/SchemaView-eyvR4bRt.js +0 -597
  151. package/lib/SchemaView-eyvR4bRt.js.map +0 -1
  152. package/lib/Select-CkxXP5I7.js.map +0 -1
  153. package/lib/createVariantComponent-B9_dVBvu.js +0 -35
  154. package/lib/createVariantComponent-B9_dVBvu.js.map +0 -1
  155. package/lib/firebase-Ibm_tv3G.js.map +0 -1
  156. package/lib/hook-BNxidGQq.js +0 -40
  157. package/lib/hook-BNxidGQq.js.map +0 -1
  158. package/lib/index-DSOi7zVM.js +0 -1059
  159. package/lib/index-DSOi7zVM.js.map +0 -1
  160. package/lib/index.esm-BoKBnRoT.js.map +0 -1
  161. package/lib/useMutation-C6RqWmTS.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
3
+ import { CheckIcon, CircleSlashIcon, PencilLineIcon, RefreshCwIcon, XIcon, } from "lucide-react";
4
+ import { AnimatePresence } from "motion/react";
5
+ import { useState } from "react";
6
+ import { Alert, AlertTitle } from "zudoku/ui/Alert.js";
7
+ import { Button } from "zudoku/ui/Button.js";
8
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "zudoku/ui/Dialog.js";
9
+ import { Frame, FrameDescription, FrameHeader, FramePanel, FrameTitle, } from "zudoku/ui/Frame.js";
10
+ import { Input } from "zudoku/ui/Input.js";
11
+ import { useZudoku } from "../../../components/context/ZudokuContext.js";
12
+ import { cn } from "../../../util/cn.js";
13
+ import { RevealApiKey } from "./RevealApiKey.js";
14
+ const ApiKeyItem = ({ consumer, onUpdate, onRollKey, onDeleteKey, }) => {
15
+ const [isEditing, setIsEditing] = useState(false);
16
+ const [editingLabel, setEditingLabel] = useState(consumer.label);
17
+ const queryClient = useQueryClient();
18
+ const context = useZudoku();
19
+ const rollKeyMutation = useMutation({
20
+ mutationFn: async (id) => {
21
+ if (!onRollKey) {
22
+ throw new Error("rollKey not implemented");
23
+ }
24
+ return await onRollKey?.(id, context);
25
+ },
26
+ onSuccess: () => void queryClient.invalidateQueries({ queryKey: ["api-keys"] }),
27
+ });
28
+ const deleteKeyMutation = useMutation({
29
+ mutationFn: ({ consumerId, keyId, }) => {
30
+ if (!onDeleteKey) {
31
+ throw new Error("deleteKey not implemented");
32
+ }
33
+ return onDeleteKey(consumerId, keyId, context);
34
+ },
35
+ onMutate: async ({ consumerId, keyId }) => {
36
+ await queryClient.cancelQueries({ queryKey: ["api-keys"] });
37
+ const previousData = queryClient.getQueryData([
38
+ "api-keys",
39
+ ]);
40
+ queryClient.setQueryData(["api-keys"], (old) => {
41
+ if (!old) {
42
+ return old;
43
+ }
44
+ return old.map((consumer) => {
45
+ if (consumer.id === consumerId) {
46
+ return {
47
+ ...consumer,
48
+ apiKeys: consumer.apiKeys.filter((key) => key.id !== keyId),
49
+ };
50
+ }
51
+ return consumer;
52
+ });
53
+ });
54
+ return { previousData };
55
+ },
56
+ onError: (_err, _variables, context) => {
57
+ if (context?.previousData) {
58
+ queryClient.setQueryData(["api-keys"], context.previousData);
59
+ }
60
+ },
61
+ onSuccess: () => {
62
+ void queryClient.invalidateQueries({ queryKey: ["api-keys"] });
63
+ },
64
+ });
65
+ const updateConsumerMutation = useMutation({
66
+ mutationFn: ({ consumerId, label, }) => {
67
+ if (!onUpdate) {
68
+ throw new Error("updateConsumer not implemented");
69
+ }
70
+ return onUpdate({ id: consumerId, label }, context);
71
+ },
72
+ onMutate: async ({ consumerId, label }) => {
73
+ await queryClient.cancelQueries({ queryKey: ["api-keys"] });
74
+ const previousData = queryClient.getQueryData(["api-keys"]);
75
+ queryClient.setQueryData(["api-keys"], (old) => {
76
+ if (!old) {
77
+ return old;
78
+ }
79
+ return old.map((consumer) => {
80
+ if (consumer.id === consumerId) {
81
+ return {
82
+ ...consumer,
83
+ label,
84
+ };
85
+ }
86
+ return consumer;
87
+ });
88
+ });
89
+ return { previousData };
90
+ },
91
+ onError: (_err, _variables, context) => {
92
+ if (context?.previousData) {
93
+ queryClient.setQueryData(["api-keys"], context.previousData);
94
+ }
95
+ },
96
+ onSuccess: () => {
97
+ void queryClient.invalidateQueries({ queryKey: ["api-keys"] });
98
+ },
99
+ });
100
+ const handleStartEdit = () => {
101
+ setIsEditing(true);
102
+ setEditingLabel(consumer.label);
103
+ };
104
+ const handleSaveEdit = () => {
105
+ if (editingLabel.trim()) {
106
+ updateConsumerMutation.mutate({
107
+ label: editingLabel.trim(),
108
+ consumerId: consumer.id,
109
+ });
110
+ }
111
+ setIsEditing(false);
112
+ };
113
+ return (_jsxs(_Fragment, { children: [rollKeyMutation.isError && (_jsxs(Alert, { variant: "destructive", className: "mb-4", children: [_jsx(CircleSlashIcon, { size: 16 }), _jsx(AlertTitle, { children: rollKeyMutation.error.message })] })), updateConsumerMutation.isError && (_jsxs(Alert, { variant: "destructive", className: "mb-4", children: [_jsx(CircleSlashIcon, { size: 16 }), _jsx(AlertTitle, { children: updateConsumerMutation.error.message })] })), deleteKeyMutation.isError && (_jsxs(Alert, { variant: "destructive", className: "mb-4", children: [_jsx(CircleSlashIcon, { size: 16 }), _jsx(AlertTitle, { children: deleteKeyMutation.error.message })] })), _jsxs(Frame, { className: "grid grid-cols-subgrid col-span-full items-center mb-4 group", children: [_jsxs(FrameHeader, { className: "col-span-full flex-row items-start justify-between gap-4", children: [_jsxs("div", { className: "flex flex-col gap-1", children: [isEditing ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Input, { maxLength: 32, value: editingLabel, onChange: (e) => setEditingLabel(e.target.value), onKeyDown: (e) => {
114
+ if (e.key === "Enter") {
115
+ handleSaveEdit();
116
+ }
117
+ else if (e.key === "Escape") {
118
+ setIsEditing(false);
119
+ }
120
+ }, autoFocus: true }), _jsxs("div", { className: "flex items-center", children: [_jsx(Button, { size: "icon", variant: "ghost", onClick: handleSaveEdit, disabled: !editingLabel.trim(), children: _jsx(CheckIcon, { size: 16 }) }), _jsx(Button, { size: "icon", variant: "ghost", onClick: () => setIsEditing(false), children: _jsx(XIcon, { size: 16 }) })] })] })) : (_jsx(FrameTitle, { children: consumer.label })), _jsxs(FrameDescription, { children: [consumer.createdOn && (_jsxs("div", { children: ["Created on ", new Date(consumer.createdOn).toLocaleDateString()] })), consumer.expiresOn && (_jsxs("div", { children: ["Expires on ", new Date(consumer.expiresOn).toLocaleDateString()] }))] })] }), _jsxs("div", { className: "flex gap-1", children: [onUpdate && (_jsxs(Button, { variant: "ghost", onClick: handleStartEdit, className: cn("flex gap-2", isEditing && "opacity-0! pointer-events-none"), disabled: isEditing, children: [_jsx(PencilLineIcon, { size: 16 }), _jsx("span", { className: "hidden md:block", children: "Edit label" })] })), onRollKey && (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsxs(Button, { title: "Roll this key", variant: "ghost", disabled: rollKeyMutation.isPending, className: "flex items-center gap-2", children: [_jsx(RefreshCwIcon, { size: 16, className: rollKeyMutation.isPending ? "animate-spin" : undefined }), _jsx("span", { className: "hidden md:block", children: "Roll key" })] }) }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Roll API Key" }), _jsx(DialogDescription, { children: "Are you sure you want to roll this API key?" })] }), _jsxs(DialogFooter, { children: [_jsx(DialogClose, { asChild: true, children: _jsx(Button, { variant: "outline", children: "Cancel" }) }), _jsx(DialogClose, { asChild: true, children: _jsx(Button, { onClick: () => {
121
+ rollKeyMutation.mutate(consumer.id);
122
+ }, children: "Roll Key" }) })] })] })] }))] })] }), _jsx(FramePanel, { className: "p-0 grid grid-cols-subgrid col-span-full divide-y divide-border", children: _jsx(AnimatePresence, { children: consumer.apiKeys.map((apiKey) => (_jsx(RevealApiKey, { apiKey: apiKey, onDeleteKey: () => {
123
+ deleteKeyMutation.mutate({
124
+ consumerId: consumer.id,
125
+ keyId: apiKey.id,
126
+ });
127
+ }, className: deleteKeyMutation.variables?.keyId === apiKey.id &&
128
+ deleteKeyMutation.isPending
129
+ ? "opacity-10!"
130
+ : undefined }, apiKey.id))) }) })] }, consumer.id)] }));
131
+ };
132
+ export default ApiKeyItem;
133
+ //# sourceMappingURL=ApiKeyItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyItem.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/api-keys/settings/ApiKeyItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ApiKeyService } from "../index.js";
2
+ export declare const ApiKeyList: ({ service }: {
3
+ service: ApiKeyService;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useSuspenseQuery } from "@tanstack/react-query";
3
+ import { useState } from "react";
4
+ import { useZudoku } from "../../../components/context/ZudokuContext.js";
5
+ import { cn } from "../../../util/cn.js";
6
+ import { ZudokuError } from "../../../util/invariant.js";
7
+ import { CreateApiKeyDialog } from "../CreateApiKeyDialog.js";
8
+ import ApiKeyItem from "./ApiKeyItem.js";
9
+ export const ApiKeyList = ({ service }) => {
10
+ const context = useZudoku();
11
+ const { data } = useSuspenseQuery({
12
+ queryFn: async () => {
13
+ try {
14
+ return await service.getConsumers(context);
15
+ }
16
+ catch (error) {
17
+ throw new ZudokuError("Cannot get API keys", {
18
+ cause: error,
19
+ title: "Error getting API keys",
20
+ developerHint: "Check the response of the API request for more information.",
21
+ });
22
+ }
23
+ },
24
+ queryKey: ["api-keys"],
25
+ retry: false,
26
+ });
27
+ const [isCreateApiKeyOpen, setIsCreateApiKeyOpen] = useState(false);
28
+ return (_jsx("div", { className: "mt-8", children: data.length === 0 ? (_jsxs("div", { className: "flex col-span-full flex-col justify-center gap-4 items-center p-8 border rounded-sm bg-muted/30 text-muted-foreground", children: [_jsxs("p", { className: "text-center", children: ["You have no API keys yet.", _jsx("br", {}), service.createKey && "Get started and create your first key."] }), service.createKey && (_jsx(CreateApiKeyDialog, { service: service, isOpen: isCreateApiKeyOpen, onOpenChange: setIsCreateApiKeyOpen }))] })) : (_jsx("ul", { className: cn("grid grid-cols-[1fr_min-content] col-span-6"), children: data.map((consumer) => (_jsx(ApiKeyItem, { consumer: consumer, onUpdate: service.updateConsumer, onRollKey: service.rollKey, onDeleteKey: service.deleteKey }, consumer.id))) })) }));
29
+ };
30
+ //# sourceMappingURL=ApiKeyList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyList.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/api-keys/settings/ApiKeyList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAA8B,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAChC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE;oBAC3C,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,wBAAwB;oBAC/B,aAAa,EACX,6DAA6D;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;QACtB,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,CACL,cAAK,SAAS,EAAC,MAAM,YAClB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,eAAK,SAAS,EAAC,uHAAuH,aACpI,aAAG,SAAS,EAAC,aAAa,0CAExB,cAAM,EACL,OAAO,CAAC,SAAS,IAAI,wCAAwC,IAC5D,EACH,OAAO,CAAC,SAAS,IAAI,CACpB,KAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,qBAAqB,GACnC,CACH,IACG,CACP,CAAC,CAAC,CAAC,CACF,aAAI,SAAS,EAAE,EAAE,CAAC,6CAA6C,CAAC,YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACtB,KAAC,UAAU,IAET,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,CAAC,cAAc,EAChC,SAAS,EAAE,OAAO,CAAC,OAAO,EAC1B,WAAW,EAAE,OAAO,CAAC,SAAS,IAJzB,QAAQ,CAAC,EAAE,CAKhB,CACH,CAAC,GACC,CACN,GACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ApiKey } from "../index.js";
2
+ export declare const RevealApiKey: ({ apiKey, onDeleteKey, className, }: {
3
+ apiKey: ApiKey;
4
+ onDeleteKey: () => void;
5
+ className?: string;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TrashIcon } from "lucide-react";
3
+ import { useState } from "react";
4
+ import { Button } from "zudoku/ui/Button.js";
5
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "zudoku/ui/Dialog.js";
6
+ import { Secret } from "zudoku/ui/Secret.js";
7
+ import { cn } from "../../../util/cn.js";
8
+ export const RevealApiKey = ({ apiKey, onDeleteKey, className, }) => {
9
+ const [revealed, setRevealed] = useState(false);
10
+ const { key, createdOn, expiresOn } = apiKey;
11
+ const isExpired = expiresOn && new Date(expiresOn) < new Date();
12
+ const daysUntilExpiry = expiresOn
13
+ ? Math.ceil((new Date(expiresOn).getTime() - Date.now()) / (1000 * 60 * 60 * 24))
14
+ : Infinity;
15
+ const expiresSoon = daysUntilExpiry <= 7 && !isExpired;
16
+ return (_jsxs("div", { className: cn("grid col-span-full grid-cols-subgrid p-6", className), children: [_jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Secret, { className: "max-w-fit w-full", secret: key, status: isExpired ? "expired" : expiresSoon ? "expiring" : "active", revealed: revealed, onReveal: setRevealed }), _jsxs("div", { className: "flex gap-1 mt-0.5 text-nowrap", children: [createdOn && (_jsxs("span", { className: "text-xs text-muted-foreground", children: ["Created ", getTimeAgo(createdOn), "."] })), " ", expiresOn && expiresSoon && (_jsxs("span", { className: "text-xs text-primary", children: ["Expires in ", daysUntilExpiry, " ", daysUntilExpiry === 1 ? "day" : "days", "."] })), expiresOn && isExpired && (_jsxs("span", { className: "text-xs text-primary", children: ["Expired", " ", daysUntilExpiry === 0
17
+ ? "today."
18
+ : `${daysUntilExpiry * -1} days ago.`] }))] })] }), _jsx("div", { className: "flex justify-end", children: expiresOn && onDeleteKey && (_jsxs(Dialog, { children: [_jsx(DialogTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon", children: _jsx(TrashIcon, { size: 16 }) }) }), _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: "Delete API Key" }), _jsx(DialogDescription, { children: "Are you sure you want to delete this API key?" })] }), _jsxs(DialogFooter, { children: [_jsx(DialogClose, { asChild: true, children: _jsx(Button, { variant: "outline", children: "Cancel" }) }), _jsx(DialogClose, { asChild: true, children: _jsx(Button, { onClick: () => {
19
+ onDeleteKey();
20
+ }, children: "Delete" }) })] })] })] })) })] }));
21
+ };
22
+ const getTimeAgo = (date) => {
23
+ const now = new Date();
24
+ const created = new Date(date);
25
+ const diffInSeconds = Math.floor((now.getTime() - created.getTime()) / 1000);
26
+ const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
27
+ if (diffInSeconds < 60)
28
+ return rtf.format(-diffInSeconds, "second");
29
+ if (diffInSeconds < 3600)
30
+ return rtf.format(-Math.floor(diffInSeconds / 60), "minute");
31
+ if (diffInSeconds < 86400)
32
+ return rtf.format(-Math.floor(diffInSeconds / 3600), "hour");
33
+ if (diffInSeconds < 2592000)
34
+ return rtf.format(-Math.floor(diffInSeconds / 86400), "day");
35
+ if (diffInSeconds < 31536000)
36
+ return rtf.format(-Math.floor(diffInSeconds / 2592000), "month");
37
+ return rtf.format(-Math.floor(diffInSeconds / 31536000), "year");
38
+ };
39
+ //# sourceMappingURL=RevealApiKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevealApiKey.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/api-keys/settings/RevealApiKey.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { fileURLToPath } from "node:url";
3
+ import dotenv from "dotenv";
3
4
  import colors from "picocolors";
4
5
  import { loadConfigFromFile, mergeConfig, } from "vite";
5
6
  import packageJson from "../../package.json" with { type: "json" };
@@ -84,6 +85,12 @@ export async function getViteConfig(dir, configEnv) {
84
85
  `process.env.${key}`,
85
86
  value,
86
87
  ]));
88
+ if (ZuploEnv.isZuplo) {
89
+ dotenv.config({
90
+ path: path.resolve(config.__meta.rootDir, "../.env.zuplo"),
91
+ quiet: true,
92
+ });
93
+ }
87
94
  const viteConfig = {
88
95
  root: dir,
89
96
  base,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ZuploEnv } from "../app/env.js";
2
2
  import { getCurrentConfig } from "../config/loader.js";
3
+ import { getZuploSystemConfigurations } from "./zuplo.js";
3
4
  const viteApiKeysPlugin = () => {
4
5
  const virtualModuleId = "virtual:zudoku-api-keys-plugin";
5
6
  const resolvedVirtualModuleId = `\0${virtualModuleId}`;
@@ -16,7 +17,9 @@ const viteApiKeysPlugin = () => {
16
17
  if (!config.apiKeys || config.__meta.mode === "standalone") {
17
18
  return `export const configuredApiKeysPlugin = undefined;`;
18
19
  }
19
- const deploymentName = ZuploEnv.buildConfig?.deploymentName;
20
+ const deploymentName = ZuploEnv.buildConfig?.deploymentName ||
21
+ getZuploSystemConfigurations(process.env.ZUPLO_SYSTEM_CONFIGURATIONS)
22
+ ?.__ZUPLO_DEPLOYMENT_NAME;
20
23
  const code = [
21
24
  `import config from "virtual:zudoku-config";`,
22
25
  config.__meta.mode === "internal"
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api-keys.js","sourceRoot":"","sources":["../../src/vite/plugin-api-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACrC,MAAM,eAAe,GAAG,gCAAgC,CAAC;IACzD,MAAM,uBAAuB,GAAG,KAAK,eAAe,EAAE,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBAElC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC3D,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBAED,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;gBAC5D,MAAM,IAAI,GAAG;oBACX,6CAA6C;oBAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;wBAC/B,CAAC,CAAC,iCAAiC,MAAM,CAAC,MAAM,CAAC,SAAS,uCAAuC;wBACjG,CAAC,CAAC,yDAAyD;oBAC7D;;cAEI,cAAc,CAAC,CAAC,CAAC,oBAAoB,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE;cAC3D;iBACL,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"plugin-api-keys.js","sourceRoot":"","sources":["../../src/vite/plugin-api-keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACrC,MAAM,eAAe,GAAG,gCAAgC,CAAC;IACzD,MAAM,uBAAuB,GAAG,KAAK,eAAe,EAAE,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBAElC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC3D,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBAED,MAAM,cAAc,GAClB,QAAQ,CAAC,WAAW,EAAE,cAAc;oBACpC,4BAA4B,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;wBACnE,EAAE,uBAAuB,CAAC;gBAE9B,MAAM,IAAI,GAAG;oBACX,6CAA6C;oBAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;wBAC/B,CAAC,CAAC,iCAAiC,MAAM,CAAC,MAAM,CAAC,SAAS,uCAAuC;wBACjG,CAAC,CAAC,yDAAyD;oBAC7D;;cAEI,cAAc,CAAC,CAAC,CAAC,oBAAoB,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE;cAC3D;iBACL,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export type ZuploEnvironmentVariables = {
2
+ __ZUPLO_DEPLOYMENT_NAME?: string;
3
+ __ZUPLO_LOGGING_ID?: string;
4
+ __ZUPLO_REMOTE_LOG_TOKEN?: string;
5
+ __ZUPLO_AUTH_API_JWT?: string;
6
+ __ZUPLO_EXTERNAL_SERVICE_TOKEN?: string;
7
+ ZUPLO_ENVIRONMENT_TYPE?: "PRODUCTION" | "DEVELOPMENT" | "STAGING";
8
+ ZUPLO_PROJECT_ID?: string;
9
+ ZUPLO_API_KEY_SERVICE_BUCKET_NAME?: string;
10
+ ZUPLO_SERVICE_BUCKET_ID?: string;
11
+ __ZUPLO_CONFIG?: string;
12
+ };
13
+ export declare const getZuploSystemConfigurations: (string?: string) => ZuploEnvironmentVariables | undefined;
@@ -0,0 +1,15 @@
1
+ import bs58 from "bs58";
2
+ export const getZuploSystemConfigurations = (string) => {
3
+ if (!string)
4
+ return undefined;
5
+ try {
6
+ const zuploSystemConfigurations = JSON.parse(Buffer.from(bs58.decode(string)).toString("utf8"));
7
+ return zuploSystemConfigurations;
8
+ }
9
+ catch (error) {
10
+ // biome-ignore lint/suspicious/noConsole: Logging allowed here
11
+ console.error(error);
12
+ return undefined;
13
+ }
14
+ };
15
+ //# sourceMappingURL=zuplo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zuplo.js","sourceRoot":"","sources":["../../src/vite/zuplo.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAexB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAe,EAAE,EAAE;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,yBAAyB,GAA8B,IAAI,CAAC,KAAK,CACrE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClD,CAAC;QAEF,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+DAA+D;QAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { j as l } from "./jsx-runtime-BzflLqGi.js";
2
2
  import { ArrowLeftIcon as c, ArrowRightIcon as i } from "lucide-react";
3
- import { L as e } from "./chunk-PVWAREVJ-dLIqswPy.js";
3
+ import { L as e } from "./chunk-PVWAREVJ-ClM0m2aJ.js";
4
4
  import { c as n } from "./cn-dYga0KKN.js";
5
- import { B as r } from "./index-DSOi7zVM.js";
5
+ import { B as r } from "./index-CG2v-T7-.js";
6
6
  const j = ({
7
7
  prev: t,
8
8
  next: s,
@@ -66,4 +66,4 @@ export {
66
66
  j as P,
67
67
  u as a
68
68
  };
69
- //# sourceMappingURL=ClaudeLogo-CGRfGTk2.js.map
69
+ //# sourceMappingURL=ClaudeLogo-BZslN9XF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeLogo-CGRfGTk2.js","sources":["../src/lib/components/Pagination.tsx","../src/lib/plugins/markdown/assets/ChatGPTLogo.tsx","../src/lib/plugins/markdown/assets/ClaudeLogo.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./index.js\";\n\nexport const Pagination = ({\n prev,\n next,\n className,\n}: {\n prev: { to: string; label: string } | undefined;\n next: { to: string; label: string } | undefined;\n className?: string;\n}) => {\n const linkClass =\n \"group transition-all p-5 space-x-1 rtl:space-x-reverse transition-all hover:text-foreground\";\n\n return (\n <div\n className={cn(\n \"flex -mx-4 text-muted-foreground font-semibold\",\n prev ? \"justify-between\" : \"justify-end\",\n className,\n )}\n data-pagefind-ignore=\"all\"\n >\n {prev && (\n <Button variant=\"ghost\" asChild>\n <Link to={prev.to} relative=\"path\" className={linkClass}>\n <ArrowLeftIcon size={14} strokeWidth={2.5} />\n <span className=\"text-lg truncate\">{prev.label}</span>\n </Link>\n </Button>\n )}\n {next && (\n <Button variant=\"ghost\" asChild>\n <Link to={next.to} relative=\"path\" className={linkClass}>\n <span className=\"text-lg truncate\">{next.label}</span>\n <ArrowRightIcon size={14} strokeWidth={2.5} />\n </Link>\n </Button>\n )}\n </div>\n );\n};\n","import type { SVGProps } from \"react\";\n\nexport const ChatGPTLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 320\" {...props}>\n <title>ChatGPT</title>\n <path\n fill=\"currentColor\"\n d=\"M297.06 130.97a79.712 79.712 0 0 0-6.85-65.48c-17.46-30.4-52.56-46.04-86.84-38.68A79.747 79.747 0 0 0 143.24 0C108.2-.08 77.11 22.48 66.33 55.82a79.754 79.754 0 0 0-53.31 38.67c-17.59 30.32-13.58 68.54 9.92 94.54a79.712 79.712 0 0 0 6.85 65.48c17.46 30.4 52.56 46.04 86.84 38.68a79.687 79.687 0 0 0 60.13 26.8c35.06.09 66.16-22.49 76.94-55.86a79.754 79.754 0 0 0 53.31-38.67c17.57-30.32 13.55-68.51-9.94-94.51zM176.78 299.08a59.77 59.77 0 0 1-38.39-13.88c.49-.26 1.34-.73 1.89-1.07l63.72-36.8a10.36 10.36 0 0 0 5.24-9.07v-89.83l26.93 15.55c.29.14.48.42.52.74v74.39c-.04 33.08-26.83 59.9-59.91 59.97zM47.94 244.05a59.71 59.71 0 0 1-7.15-40.18c.47.28 1.3.79 1.89 1.13l63.72 36.8c3.23 1.89 7.23 1.89 10.47 0l77.79-44.92v31.1c.02.32-.13.63-.38.83L129.87 266c-28.69 16.52-65.33 6.7-81.92-21.95zM31.17 104.96c7-12.16 18.05-21.46 31.21-26.29 0 .55-.03 1.52-.03 2.2v73.61c-.02 3.74 1.98 7.21 5.23 9.06l77.79 44.91L118.44 224c-.27.18-.61.21-.91.08l-64.42-37.22c-28.63-16.58-38.45-53.21-21.95-81.89zm221.26 51.49-77.79-44.92 26.93-15.54c.27-.18.61-.21.91-.08l64.42 37.19c28.68 16.57 38.51 53.26 21.94 81.94a59.94 59.94 0 0 1-31.2 26.28v-75.81c.03-3.74-1.96-7.2-5.2-9.06zm26.8-40.34c-.47-.29-1.3-.79-1.89-1.13l-63.72-36.8a10.375 10.375 0 0 0-10.47 0l-77.79 44.92V92c-.02-.32.13-.63.38-.83l64.41-37.16c28.69-16.55 65.37-6.7 81.91 22a59.95 59.95 0 0 1 7.15 40.1zm-168.51 55.43-26.94-15.55a.943.943 0 0 1-.52-.74V80.86c.02-33.12 26.89-59.96 60.01-59.94 14.01 0 27.57 4.92 38.34 13.88-.49.26-1.33.73-1.89 1.07L116 72.67a10.344 10.344 0 0 0-5.24 9.06l-.04 89.79zM125.35 140 160 119.99l34.65 20V180L160 200l-34.65-20z\"\n />\n </svg>\n);\n","import type { SVGProps } from \"react\";\n\nexport const ClaudeLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <title>Claude</title>\n <path\n fill=\"#D97757\"\n d=\"m4.709 15.955 4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 0 1-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312z\"\n />\n </svg>\n);\n"],"names":["Pagination","prev","next","className","linkClass","jsxs","cn","jsx","Button","Link","ArrowLeftIcon","ArrowRightIcon","ChatGPTLogo","props","ClaudeLogo"],"mappings":";;;;;AAKO,MAAMA,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AACF,MAIM;AACJ,QAAMC,IACJ;AAEF,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAL,IAAO,oBAAoB;AAAA,QAC3BE;AAAA,MAAA;AAAA,MAEF,wBAAqB;AAAA,MAEpB,UAAA;AAAA,QAAAF,KACCM,gBAAAA,EAAAA,IAACC,GAAA,EAAO,SAAQ,SAAQ,SAAO,IAC7B,UAAAH,gBAAAA,EAAAA,KAACI,GAAA,EAAK,IAAIR,EAAK,IAAI,UAAS,QAAO,WAAWG,GAC5C,UAAA;AAAA,UAAAG,gBAAAA,EAAAA,IAACG,GAAA,EAAc,MAAM,IAAI,aAAa,KAAK;AAAA,UAC3CH,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,YAAK,MAAA,CAAM;AAAA,QAAA,EAAA,CACjD,EAAA,CACF;AAAA,QAEDL,KACCK,gBAAAA,EAAAA,IAACC,GAAA,EAAO,SAAQ,SAAQ,SAAO,IAC7B,UAAAH,gBAAAA,EAAAA,KAACI,GAAA,EAAK,IAAIP,EAAK,IAAI,UAAS,QAAO,WAAWE,GAC5C,UAAA;AAAA,UAAAG,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,UAAAL,EAAK,OAAM;AAAA,UAC/CK,gBAAAA,EAAAA,IAACI,GAAA,EAAe,MAAM,IAAI,aAAa,IAAA,CAAK;AAAA,QAAA,EAAA,CAC9C,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GC1CaC,IAAc,CAACC,MAC1BR,gBAAAA,EAAAA,KAAC,OAAA,EAAI,OAAM,8BAA6B,SAAQ,eAAe,GAAGQ,GAChE,UAAA;AAAA,EAAAN,gBAAAA,EAAAA,IAAC,WAAM,UAAA,UAAA,CAAO;AAAA,EACdA,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,GAAE;AAAA,IAAA;AAAA,EAAA;AACJ,EAAA,CACF,GCPWO,IAAa,CAACD,MACzBR,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,IACL,UAAS;AAAA,IACT,SAAQ;AAAA,IACP,GAAGQ;AAAA,IAEJ,UAAA;AAAA,MAAAN,gBAAAA,EAAAA,IAAC,WAAM,UAAA,SAAA,CAAM;AAAA,MACbA,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AACF;"}
1
+ {"version":3,"file":"ClaudeLogo-BZslN9XF.js","sources":["../src/lib/components/Pagination.tsx","../src/lib/plugins/markdown/assets/ChatGPTLogo.tsx","../src/lib/plugins/markdown/assets/ClaudeLogo.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./index.js\";\n\nexport const Pagination = ({\n prev,\n next,\n className,\n}: {\n prev: { to: string; label: string } | undefined;\n next: { to: string; label: string } | undefined;\n className?: string;\n}) => {\n const linkClass =\n \"group transition-all p-5 space-x-1 rtl:space-x-reverse transition-all hover:text-foreground\";\n\n return (\n <div\n className={cn(\n \"flex -mx-4 text-muted-foreground font-semibold\",\n prev ? \"justify-between\" : \"justify-end\",\n className,\n )}\n data-pagefind-ignore=\"all\"\n >\n {prev && (\n <Button variant=\"ghost\" asChild>\n <Link to={prev.to} relative=\"path\" className={linkClass}>\n <ArrowLeftIcon size={14} strokeWidth={2.5} />\n <span className=\"text-lg truncate\">{prev.label}</span>\n </Link>\n </Button>\n )}\n {next && (\n <Button variant=\"ghost\" asChild>\n <Link to={next.to} relative=\"path\" className={linkClass}>\n <span className=\"text-lg truncate\">{next.label}</span>\n <ArrowRightIcon size={14} strokeWidth={2.5} />\n </Link>\n </Button>\n )}\n </div>\n );\n};\n","import type { SVGProps } from \"react\";\n\nexport const ChatGPTLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 320\" {...props}>\n <title>ChatGPT</title>\n <path\n fill=\"currentColor\"\n d=\"M297.06 130.97a79.712 79.712 0 0 0-6.85-65.48c-17.46-30.4-52.56-46.04-86.84-38.68A79.747 79.747 0 0 0 143.24 0C108.2-.08 77.11 22.48 66.33 55.82a79.754 79.754 0 0 0-53.31 38.67c-17.59 30.32-13.58 68.54 9.92 94.54a79.712 79.712 0 0 0 6.85 65.48c17.46 30.4 52.56 46.04 86.84 38.68a79.687 79.687 0 0 0 60.13 26.8c35.06.09 66.16-22.49 76.94-55.86a79.754 79.754 0 0 0 53.31-38.67c17.57-30.32 13.55-68.51-9.94-94.51zM176.78 299.08a59.77 59.77 0 0 1-38.39-13.88c.49-.26 1.34-.73 1.89-1.07l63.72-36.8a10.36 10.36 0 0 0 5.24-9.07v-89.83l26.93 15.55c.29.14.48.42.52.74v74.39c-.04 33.08-26.83 59.9-59.91 59.97zM47.94 244.05a59.71 59.71 0 0 1-7.15-40.18c.47.28 1.3.79 1.89 1.13l63.72 36.8c3.23 1.89 7.23 1.89 10.47 0l77.79-44.92v31.1c.02.32-.13.63-.38.83L129.87 266c-28.69 16.52-65.33 6.7-81.92-21.95zM31.17 104.96c7-12.16 18.05-21.46 31.21-26.29 0 .55-.03 1.52-.03 2.2v73.61c-.02 3.74 1.98 7.21 5.23 9.06l77.79 44.91L118.44 224c-.27.18-.61.21-.91.08l-64.42-37.22c-28.63-16.58-38.45-53.21-21.95-81.89zm221.26 51.49-77.79-44.92 26.93-15.54c.27-.18.61-.21.91-.08l64.42 37.19c28.68 16.57 38.51 53.26 21.94 81.94a59.94 59.94 0 0 1-31.2 26.28v-75.81c.03-3.74-1.96-7.2-5.2-9.06zm26.8-40.34c-.47-.29-1.3-.79-1.89-1.13l-63.72-36.8a10.375 10.375 0 0 0-10.47 0l-77.79 44.92V92c-.02-.32.13-.63.38-.83l64.41-37.16c28.69-16.55 65.37-6.7 81.91 22a59.95 59.95 0 0 1 7.15 40.1zm-168.51 55.43-26.94-15.55a.943.943 0 0 1-.52-.74V80.86c.02-33.12 26.89-59.96 60.01-59.94 14.01 0 27.57 4.92 38.34 13.88-.49.26-1.33.73-1.89 1.07L116 72.67a10.344 10.344 0 0 0-5.24 9.06l-.04 89.79zM125.35 140 160 119.99l34.65 20V180L160 200l-34.65-20z\"\n />\n </svg>\n);\n","import type { SVGProps } from \"react\";\n\nexport const ClaudeLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <title>Claude</title>\n <path\n fill=\"#D97757\"\n d=\"m4.709 15.955 4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 0 1-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312z\"\n />\n </svg>\n);\n"],"names":["Pagination","prev","next","className","linkClass","jsxs","cn","jsx","Button","Link","ArrowLeftIcon","ArrowRightIcon","ChatGPTLogo","props","ClaudeLogo"],"mappings":";;;;;AAKO,MAAMA,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AACF,MAIM;AACJ,QAAMC,IACJ;AAEF,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAL,IAAO,oBAAoB;AAAA,QAC3BE;AAAA,MAAA;AAAA,MAEF,wBAAqB;AAAA,MAEpB,UAAA;AAAA,QAAAF,KACCM,gBAAAA,EAAAA,IAACC,GAAA,EAAO,SAAQ,SAAQ,SAAO,IAC7B,UAAAH,gBAAAA,EAAAA,KAACI,GAAA,EAAK,IAAIR,EAAK,IAAI,UAAS,QAAO,WAAWG,GAC5C,UAAA;AAAA,UAAAG,gBAAAA,EAAAA,IAACG,GAAA,EAAc,MAAM,IAAI,aAAa,KAAK;AAAA,UAC3CH,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,YAAK,MAAA,CAAM;AAAA,QAAA,EAAA,CACjD,EAAA,CACF;AAAA,QAEDL,KACCK,gBAAAA,EAAAA,IAACC,GAAA,EAAO,SAAQ,SAAQ,SAAO,IAC7B,UAAAH,gBAAAA,EAAAA,KAACI,GAAA,EAAK,IAAIP,EAAK,IAAI,UAAS,QAAO,WAAWE,GAC5C,UAAA;AAAA,UAAAG,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,UAAAL,EAAK,OAAM;AAAA,UAC/CK,gBAAAA,EAAAA,IAACI,GAAA,EAAe,MAAM,IAAI,aAAa,IAAA,CAAK;AAAA,QAAA,EAAA,CAC9C,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GC1CaC,IAAc,CAACC,MAC1BR,gBAAAA,EAAAA,KAAC,OAAA,EAAI,OAAM,8BAA6B,SAAQ,eAAe,GAAGQ,GAChE,UAAA;AAAA,EAAAN,gBAAAA,EAAAA,IAAC,WAAM,UAAA,UAAA,CAAO;AAAA,EACdA,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,GAAE;AAAA,IAAA;AAAA,EAAA;AACJ,EAAA,CACF,GCPWO,IAAa,CAACD,MACzBR,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,IACL,UAAS;AAAA,IACT,SAAQ;AAAA,IACP,GAAGQ;AAAA,IAEJ,UAAA;AAAA,MAAAN,gBAAAA,EAAAA,IAAC,WAAM,UAAA,SAAA,CAAM;AAAA,MACbA,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AACF;"}
@@ -1118,11 +1118,11 @@ const nn = pt.forwardRef(({ className: t, ...n }, e) => /* @__PURE__ */ X.jsx(
1118
1118
  ));
1119
1119
  nn.displayName = V.Description.displayName;
1120
1120
  export {
1121
- Ge as D,
1122
- sn as a,
1123
- Qe as b,
1124
- en as c,
1125
- V as d,
1121
+ V as D,
1122
+ Qe as a,
1123
+ en as b,
1124
+ Ge as c,
1125
+ sn as d,
1126
1126
  ln as e,
1127
1127
  nn as f,
1128
1128
  tn as g,
@@ -1130,4 +1130,4 @@ export {
1130
1130
  ae as i,
1131
1131
  Je as j
1132
1132
  };
1133
- //# sourceMappingURL=Drawer-Ci7XwhqT.js.map
1133
+ //# sourceMappingURL=Drawer-BRMcpfuF.js.map