@alpaca-editor/core 1.0.4085 → 1.0.4086

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.
@@ -0,0 +1,229 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useMemo, useState } from "react";
3
+ import { useEditContext } from "../client/editContext";
4
+ import { Badge } from "../../components/ui/badge";
5
+ import { Button } from "../../components/ui/button";
6
+ import { Card } from "../../components/ui/card";
7
+ import { Select } from "../../components/ui/select";
8
+ import { CheckCircle, AlertCircle, Database, Settings, SparklesIcon, Link2, ExternalLink, RefreshCw, } from "lucide-react";
9
+ import { get } from "../services/serviceHelper";
10
+ import { getCombinedIndexStatus } from "../services/indexService";
11
+ import { getChildren } from "../services/contentService";
12
+ import { contentItemId } from "../../config/config";
13
+ export function Setup() {
14
+ const editContext = useEditContext();
15
+ const [dbState, setDbState] = useState("checking");
16
+ const [dbError, setDbError] = useState(null);
17
+ const [settingsState, setSettingsState] = useState("checking");
18
+ const [settingsItem, setSettingsItem] = useState(null);
19
+ const [settingsParent, setSettingsParent] = useState(null);
20
+ const [settingsError, setSettingsError] = useState(null);
21
+ const [creatingSettings, setCreatingSettings] = useState(false);
22
+ const [aiState, setAiState] = useState("idle");
23
+ const [aiProvider, setAiProvider] = useState("");
24
+ const [aiBusy, setAiBusy] = useState(false);
25
+ const [aiError, setAiError] = useState(null);
26
+ const [indexCount, setIndexCount] = useState(null);
27
+ const [indexLoading, setIndexLoading] = useState(false);
28
+ const userLang = editContext?.contentEditorItem?.language || "en";
29
+ const goToIndexPanel = useCallback(() => {
30
+ editContext?.updateUrl({ ccpanel: "index" });
31
+ editContext?.setCenterPanelView(null);
32
+ }, [editContext]);
33
+ const statusIcon = useCallback((state) => {
34
+ if (state === "success")
35
+ return _jsx(CheckCircle, { className: "h-4 w-4 text-green-600", strokeWidth: 1 });
36
+ if (state === "error")
37
+ return _jsx(AlertCircle, { className: "h-4 w-4 text-red-600", strokeWidth: 1 });
38
+ return (_jsx(RefreshCw, { className: "h-4 w-4 animate-spin text-amber-600", strokeWidth: 1 }));
39
+ }, []);
40
+ // 1) DB migrations check via /alpaca/editor/status
41
+ const checkDb = useCallback(async () => {
42
+ try {
43
+ setDbState("checking");
44
+ setDbError(null);
45
+ const res = await get("/alpaca/editor/status");
46
+ const errors = res?.data?.messages?.filter((m) => m.severity === "error") || [];
47
+ if (errors.length > 0) {
48
+ setDbState("error");
49
+ setDbError(errors.map((x) => x.message).join("\n"));
50
+ }
51
+ else {
52
+ setDbState("success");
53
+ }
54
+ }
55
+ catch (e) {
56
+ setDbState("error");
57
+ setDbError(e?.message || "Failed to check DB status");
58
+ }
59
+ }, []);
60
+ const findByName = (items, name) => {
61
+ const target = name.toLowerCase();
62
+ return items.find((x) => (x.displayName || x.name || "").toLowerCase() === target);
63
+ };
64
+ const resolvePathUnderContent = useCallback(async (names) => {
65
+ if (!editContext?.sessionId)
66
+ return null;
67
+ let currentId = contentItemId;
68
+ for (const segment of names) {
69
+ const children = (await getChildren(currentId, editContext.sessionId, [], false, userLang, "path"));
70
+ const next = findByName(children, segment);
71
+ if (!next)
72
+ return null;
73
+ currentId = next.id;
74
+ }
75
+ return { id: currentId, language: userLang, version: 0 };
76
+ }, [editContext?.sessionId, userLang]);
77
+ // 2) Check Settings item
78
+ const checkSettingsItem = useCallback(async () => {
79
+ try {
80
+ setSettingsState("checking");
81
+ setSettingsError(null);
82
+ setSettingsItem(null);
83
+ setSettingsParent(null);
84
+ const parent = await resolvePathUnderContent(["Settings"]);
85
+ if (parent)
86
+ setSettingsParent(parent);
87
+ const editorItem = await resolvePathUnderContent(["Settings", "Editor"]);
88
+ if (editorItem) {
89
+ setSettingsItem(editorItem);
90
+ setSettingsState("success");
91
+ return;
92
+ }
93
+ setSettingsState("error");
94
+ setSettingsError("Editor settings item not found at /sitecore/content/Settings/Editor");
95
+ }
96
+ catch (e) {
97
+ setSettingsState("error");
98
+ setSettingsError(e?.message || "Failed to check settings item");
99
+ }
100
+ }, [resolvePathUnderContent]);
101
+ const createSettingsItem = useCallback(async () => {
102
+ if (!editContext?.itemsRepository)
103
+ return;
104
+ try {
105
+ setCreatingSettings(true);
106
+ setSettingsError(null);
107
+ // Create from branch: /sitecore/templates/Branches/Alpaca/Settings/Editor/Editor
108
+ // We do not have a dedicated endpoint for branches in EditorController; use the generic CreateItem with templateId (branch id works too in Sitecore)
109
+ // Load parent /sitecore/content/Settings
110
+ // We need IDs to call createItem; resolve using backend search would be overkill, so use a helper dialog approach:
111
+ // Fall back to calling a small test endpoint if available is not reliable for production; instead, attempt to create via CreateItem using known template id.
112
+ // Known constants from serialization (branch root id and template ids)
113
+ const parentDescriptor = {
114
+ // /sitecore/content/Settings
115
+ id: "{2DE1F76B-39F0-49A0-8589-8F360E0B3F7E}",
116
+ language: userLang,
117
+ version: 0,
118
+ };
119
+ const branchOrTemplateId = "f133cae9-8fbc-4cdf-868e-321a533dec5b"; // Branch: /sitecore/templates/Branches/Alpaca/Settings/Editor/Editor
120
+ const created = await editContext.operations.createItem(parentDescriptor, branchOrTemplateId, "Editor");
121
+ if (created) {
122
+ setSettingsItem(created);
123
+ setSettingsState("success");
124
+ }
125
+ else {
126
+ setSettingsState("error");
127
+ setSettingsError("Failed to create settings item");
128
+ }
129
+ }
130
+ catch (e) {
131
+ setSettingsState("error");
132
+ setSettingsError(e?.message || "Failed to create settings item");
133
+ }
134
+ finally {
135
+ setCreatingSettings(false);
136
+ }
137
+ }, [editContext, userLang, settingsParent]);
138
+ // 3) AI Setup (provider selection + create endpoint under Ai Endpoints)
139
+ const aiOptions = useMemo(() => [
140
+ { value: "openai", label: "OpenAI" },
141
+ { value: "azure-openai", label: "Azure OpenAI" },
142
+ { value: "openrouter", label: "OpenRouter" },
143
+ ], []);
144
+ const createAiEndpoint = useCallback(async () => {
145
+ if (!aiProvider || !editContext)
146
+ return;
147
+ try {
148
+ setAiBusy(true);
149
+ setAiError(null);
150
+ if (!settingsItem) {
151
+ throw new Error("Editor settings item not found. Create it first.");
152
+ }
153
+ const children = (await getChildren(settingsItem.id, editContext.sessionId, [], false, userLang, "path"));
154
+ let aiEndpointsParent = findByName(children, "Ai Endpoints");
155
+ if (!aiEndpointsParent) {
156
+ const aiEndpointsTemplateId = "4592f2e0-06e4-470e-9820-7fd4ea148e00";
157
+ const createdContainer = await editContext.operations.createItem(settingsItem, aiEndpointsTemplateId, "Ai Endpoints");
158
+ if (!createdContainer)
159
+ throw new Error("Failed to create 'Ai Endpoints' container");
160
+ aiEndpointsParent = {
161
+ id: createdContainer.id,
162
+ name: "Ai Endpoints",
163
+ thumbUrl: "",
164
+ previewUrl: "",
165
+ templateId: "",
166
+ icon: "",
167
+ hasChildren: false,
168
+ isComponent: false,
169
+ displayName: "Ai Endpoints",
170
+ language: userLang,
171
+ version: 0,
172
+ hasLayout: false,
173
+ };
174
+ }
175
+ const templateId = "a6358b92-a9ea-4dd8-b4e1-7d6d3a3b9c40";
176
+ const name = aiProvider === "openai"
177
+ ? "OpenAI"
178
+ : aiProvider === "azure-openai"
179
+ ? "Azure OpenAI"
180
+ : "Open Router";
181
+ const created = await editContext.operations.createItem({
182
+ id: aiEndpointsParent.id,
183
+ language: userLang,
184
+ version: 0,
185
+ }, templateId, name);
186
+ if (!created)
187
+ throw new Error("Failed to create AI endpoint");
188
+ setAiState("success");
189
+ }
190
+ catch (e) {
191
+ setAiState("error");
192
+ setAiError(e?.message || "Failed to add AI endpoint");
193
+ }
194
+ finally {
195
+ setAiBusy(false);
196
+ }
197
+ }, [aiProvider, editContext, settingsItem, userLang]);
198
+ // 4) Index info
199
+ const loadIndex = useCallback(async () => {
200
+ try {
201
+ setIndexLoading(true);
202
+ const data = await getCombinedIndexStatus();
203
+ const count = data?.indexStatus?.numberOfIndexedItems ?? null;
204
+ setIndexCount(typeof count === "number" ? count : null);
205
+ }
206
+ finally {
207
+ setIndexLoading(false);
208
+ }
209
+ }, []);
210
+ useEffect(() => {
211
+ checkDb();
212
+ checkSettingsItem();
213
+ loadIndex();
214
+ }, [checkDb, checkSettingsItem, loadIndex]);
215
+ return (_jsxs("div", { className: "h-full overflow-auto p-4", children: [_jsx("div", { className: "mb-4 text-lg font-semibold text-gray-800", children: "Setup" }), _jsxs("div", { className: "grid grid-cols-1 gap-4 xl:grid-cols-2", children: [_jsxs(Card, { icon: _jsx(Database, { strokeWidth: 1, className: "h-5 w-5" }), title: "Database setup", description: "Verifies that all DB migrations ran successfully.", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2", children: [statusIcon(dbState), _jsx("span", { className: "text-sm text-gray-700", children: dbState === "success"
216
+ ? "All migrations are applied"
217
+ : dbState === "error"
218
+ ? "There are migration issues"
219
+ : "Checking..." })] }), _jsxs(Button, { size: "sm", variant: "outline", onClick: checkDb, children: [_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4" }), "Recheck"] })] }), dbError && (_jsx("div", { className: "mt-2 rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: dbError }))] }), _jsxs(Card, { icon: _jsx(Settings, { strokeWidth: 1, className: "h-5 w-5" }), title: "Global settings", description: "Checks presence of /sitecore/content/Settings/Editor and allows creating it.", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [statusIcon(settingsState === "checking"
220
+ ? "checking"
221
+ : settingsItem
222
+ ? "success"
223
+ : settingsState), _jsx("span", { className: "text-sm text-gray-700", children: settingsItem
224
+ ? "Settings item present"
225
+ : settingsState === "error"
226
+ ? "Settings item missing"
227
+ : "Checking..." })] }), !settingsItem && (_jsxs(Button, { size: "sm", onClick: createSettingsItem, disabled: creatingSettings, children: [creatingSettings ? (_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4 animate-spin" })) : (_jsx(CheckCircle, { strokeWidth: 1, className: "h-4 w-4" })), "Create"] }))] }), settingsError && (_jsx("div", { className: "mt-2 rounded border border-yellow-200 bg-yellow-50 p-2 text-xs whitespace-pre-wrap text-yellow-800", children: settingsError }))] }), _jsxs(Card, { icon: _jsx(SparklesIcon, { strokeWidth: 1, className: "h-5 w-5" }), title: "AI setup", description: "Add an AI endpoint (OpenAI, Azure OpenAI, or OpenRouter).", children: [_jsx("div", { className: "flex items-center justify-between gap-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [statusIcon(aiState === "idle" ? "success" : aiState), _jsx("span", { className: "text-sm text-gray-700", children: "Select provider and add endpoint" })] }) }), _jsxs("div", { className: "mt-3 flex items-center gap-2", children: [_jsx(Select, { value: aiProvider, onValueChange: setAiProvider, options: aiOptions, placeholder: "Choose provider" }), _jsxs(Button, { size: "sm", disabled: !aiProvider || aiBusy, onClick: createAiEndpoint, children: [aiBusy ? (_jsx(RefreshCw, { strokeWidth: 1, className: "h-4 w-4 animate-spin" })) : (_jsx(CheckCircle, { strokeWidth: 1, className: "h-4 w-4" })), "Add endpoint"] })] }), aiError && (_jsx("div", { className: "mt-2 rounded border border-red-200 bg-red-50 p-2 text-xs whitespace-pre-wrap text-red-700", children: aiError }))] }), _jsx(Card, { icon: _jsx(Link2, { strokeWidth: 1, className: "h-5 w-5" }), title: "Search index", description: "Shows number of indexed items and links to Index panel.", children: _jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "flex items-center gap-2", children: _jsxs(Badge, { variant: "outline", children: ["Indexed Items:", " ", indexLoading ? "..." : (indexCount ?? 0).toLocaleString()] }) }), _jsxs(Button, { size: "sm", variant: "outline", onClick: goToIndexPanel, children: [_jsx(ExternalLink, { strokeWidth: 1, className: "h-4 w-4" }), "Open Index"] })] }) })] })] }));
228
+ }
229
+ //# sourceMappingURL=Setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../../src/editor/control-center/Setup.tsx"],"names":[],"mappings":"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"}
@@ -111,7 +111,9 @@ export function InternalLinkFieldEditor({ field, readOnly, }) {
111
111
  const selectedNode = nodes[0]?.id;
112
112
  editContext?.operations.editField({
113
113
  field: field.descriptor,
114
- rawValue: selectedNode ? normalizeGuid(selectedNode) : undefined,
114
+ rawValue: selectedNode
115
+ ? normalizeGuid(selectedNode)
116
+ : undefined,
115
117
  });
116
118
  } }) })] }))] }) }));
117
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InternalLinkFieldEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/InternalLinkFieldEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InternalLinkFieldEditor.js","sourceRoot":"","sources":["../../../src/editor/field-types/InternalLinkFieldEditor.tsx"],"names":[],"mappings":"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"}
@@ -47,3 +47,8 @@ export declare function stripGuid(id: string): string;
47
47
  export declare function normalizeGuid(id: string): string;
48
48
  export declare function formatDate(date: Date): string;
49
49
  export declare function findClosestFieldElement(node: Node | null): HTMLElement | null;
50
+ export declare const GUID_REGEX_GLOBAL: RegExp;
51
+ export declare const GUID_REGEX_EXACT: RegExp;
52
+ export declare const GUID_REGEX_CONTAINS: RegExp;
53
+ export declare function containsGuidInText(text: string | undefined | null): boolean;
54
+ export declare function findGuidsInText(text: string | undefined | null): string[];
@@ -389,4 +389,33 @@ export function findClosestFieldElement(node) {
389
389
  }
390
390
  return null;
391
391
  }
392
+ // GUID helpers for clipboard parsing and validation
393
+ export const GUID_REGEX_GLOBAL = /[\{\(]?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}[\}\)]?/g;
394
+ export const GUID_REGEX_EXACT = /^[\{\(]?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}[\}\)]?$/;
395
+ // Non-global regex for quick containment checks (avoids lastIndex issues with .test on /g)
396
+ export const GUID_REGEX_CONTAINS = /[\{\(]?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}[\}\)]?/;
397
+ export function containsGuidInText(text) {
398
+ if (!text)
399
+ return false;
400
+ return GUID_REGEX_CONTAINS.test(text);
401
+ }
402
+ export function findGuidsInText(text) {
403
+ if (!text)
404
+ return [];
405
+ const matches = text.match(GUID_REGEX_GLOBAL) || [];
406
+ const normalized = matches
407
+ .map((m) => m.replace(/[{}()]/g, ""))
408
+ .filter((m) => !!m)
409
+ .map((m) => normalizeGuid(m));
410
+ // Deduplicate while preserving order
411
+ const seen = new Set();
412
+ const unique = [];
413
+ for (const id of normalized) {
414
+ if (!seen.has(id)) {
415
+ seen.add(id);
416
+ unique.push(id);
417
+ }
418
+ }
419
+ return unique;
420
+ }
392
421
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/editor/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/editor/utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.0.4085";
2
- export declare const buildDate = "2025-09-11 13:12:15";
1
+ export declare const version = "1.0.4086";
2
+ export declare const buildDate = "2025-09-12 01:46:21";
package/dist/revision.js CHANGED
@@ -1,3 +1,3 @@
1
- export const version = "1.0.4085";
2
- export const buildDate = "2025-09-11 13:12:15";
1
+ export const version = "1.0.4086";
2
+ export const buildDate = "2025-09-12 01:46:21";
3
3
  //# sourceMappingURL=revision.js.map
package/dist/styles.css CHANGED
@@ -2228,6 +2228,9 @@
2228
2228
  .text-accent-foreground {
2229
2229
  color: var(--accent-foreground);
2230
2230
  }
2231
+ .text-amber-600 {
2232
+ color: var(--color-amber-600);
2233
+ }
2231
2234
  .text-black {
2232
2235
  color: var(--color-black);
2233
2236
  }
@@ -3822,6 +3825,11 @@
3822
3825
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3823
3826
  }
3824
3827
  }
3828
+ .xl\:grid-cols-2 {
3829
+ @media (width >= 80rem) {
3830
+ grid-template-columns: repeat(2, minmax(0, 1fr));
3831
+ }
3832
+ }
3825
3833
  .xl\:\!\[--width\:660px\] {
3826
3834
  @media (width >= 80rem) {
3827
3835
  --width: 660px !important;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.4085",
3
+ "version": "1.0.4086",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -0,0 +1,163 @@
1
+ import { useRef, useState, useEffect } from "react";
2
+ import { createPortal } from "react-dom";
3
+ import { ClipboardPaste } from "lucide-react";
4
+
5
+ interface PasteButtonProps {
6
+ onPaste: (text: string) => void | Promise<void>;
7
+ duration?: number;
8
+ className?: string;
9
+ children?: React.ReactNode;
10
+ /** If true, shows icon only. If false, shows button with text */
11
+ iconOnly?: boolean;
12
+ /** If true, the button hides when clipboard text is empty */
13
+ hideIfClipboardEmpty?: boolean;
14
+ /** Optional validator to control visibility and click behavior based on clipboard content */
15
+ isClipboardValid?: (text: string) => boolean;
16
+ }
17
+
18
+ export function PasteButton({
19
+ onPaste,
20
+ duration = 2000,
21
+ className,
22
+ children,
23
+ iconOnly = false,
24
+ hideIfClipboardEmpty = false,
25
+ isClipboardValid,
26
+ }: PasteButtonProps) {
27
+ const [showPastedHint, setShowPastedHint] = useState(false);
28
+ const buttonRef = useRef<HTMLElement>(null);
29
+ const [clipboardText, setClipboardText] = useState<string | undefined>();
30
+
31
+ // Add keyframes to document head once (reuse same style id as copy button)
32
+ useEffect(() => {
33
+ const styleId = "copy-button-animations";
34
+ if (document.getElementById(styleId)) return;
35
+
36
+ const style = document.createElement("style");
37
+ style.id = styleId;
38
+ style.textContent = `
39
+ @keyframes shake {
40
+ 0%, 100% { transform: translateX(-50%) rotate(0deg); }
41
+ 10% { transform: translateX(-50%) rotate(-2deg) scale(1.05); }
42
+ 20% { transform: translateX(-50%) rotate(2deg) scale(1.1); }
43
+ 30% { transform: translateX(-50%) rotate(-2deg) scale(1.05); }
44
+ 40% { transform: translateX(-50%) rotate(2deg) scale(1.1); }
45
+ 50% { transform: translateX(-50%) rotate(-1deg) scale(1.02); }
46
+ 60% { transform: translateX(-50%) rotate(1deg) scale(1.02); }
47
+ 70% { transform: translateX(-50%) rotate(-1deg); }
48
+ 80% { transform: translateX(-50%) rotate(1deg); }
49
+ 90% { transform: translateX(-50%) rotate(0deg); }
50
+ }
51
+ @keyframes fadeOut {
52
+ 0% { opacity: 1; }
53
+ 70% { opacity: 1; }
54
+ 100% { opacity: 0; }
55
+ }
56
+ `;
57
+ document.head.appendChild(style);
58
+ }, []);
59
+
60
+ // Try to refresh clipboard text on mount, window focus, and when tab becomes visible
61
+ useEffect(() => {
62
+ if (!hideIfClipboardEmpty) return;
63
+ let isActive = true;
64
+
65
+ const tryReadClipboard = async () => {
66
+ try {
67
+ const text = await navigator.clipboard.readText();
68
+ if (!isActive) return;
69
+ setClipboardText(text);
70
+ } catch {
71
+ // If we cannot read (permissions/gesture), leave as undefined (unknown)
72
+ if (!isActive) return;
73
+ setClipboardText(undefined);
74
+ }
75
+ };
76
+
77
+ tryReadClipboard();
78
+ const onFocus = () => tryReadClipboard();
79
+ const onVisibility = () => {
80
+ if (document.visibilityState === "visible") tryReadClipboard();
81
+ };
82
+ window.addEventListener("focus", onFocus);
83
+ document.addEventListener("visibilitychange", onVisibility);
84
+ return () => {
85
+ isActive = false;
86
+ window.removeEventListener("focus", onFocus);
87
+ document.removeEventListener("visibilitychange", onVisibility);
88
+ };
89
+ }, [hideIfClipboardEmpty]);
90
+
91
+ const handlePaste = async () => {
92
+ try {
93
+ const text = await navigator.clipboard.readText();
94
+ if (typeof isClipboardValid === "function" && !isClipboardValid(text)) {
95
+ return;
96
+ }
97
+ await onPaste(text);
98
+ setShowPastedHint(true);
99
+ setTimeout(() => setShowPastedHint(false), duration);
100
+ } catch (error) {
101
+ // Silently ignore if clipboard is not accessible
102
+ // Consumers may add toasts if needed
103
+ console.error("Failed to paste from clipboard:", error);
104
+ }
105
+ };
106
+
107
+ const Element = iconOnly ? "span" : "button";
108
+ const defaultClassName = iconOnly
109
+ ? "cursor-pointer"
110
+ : "text-gray-1 flex cursor-pointer items-center gap-1 p-0 text-xs";
111
+ const defaultChildren = iconOnly ? (
112
+ <ClipboardPaste strokeWidth={1} className="h-3 w-3" />
113
+ ) : (
114
+ <>
115
+ <ClipboardPaste strokeWidth={1} className="h-3 w-3" /> Paste
116
+ </>
117
+ );
118
+
119
+ const shouldRender = !hideIfClipboardEmpty
120
+ ? true
121
+ : clipboardText === undefined // unknown -> show
122
+ ? true
123
+ : (() => {
124
+ const hasText = (clipboardText || "").trim().length > 0;
125
+ if (!hasText) return false;
126
+ if (typeof isClipboardValid === "function") {
127
+ return isClipboardValid(clipboardText);
128
+ }
129
+ return true;
130
+ })();
131
+
132
+ return (
133
+ <>
134
+ {shouldRender && (
135
+ <Element
136
+ ref={buttonRef as any}
137
+ onClick={handlePaste}
138
+ className={className || defaultClassName}
139
+ >
140
+ {children || defaultChildren}
141
+ </Element>
142
+ )}
143
+ {showPastedHint &&
144
+ buttonRef.current &&
145
+ createPortal(
146
+ <div
147
+ className="pointer-events-none fixed z-[9999] rounded bg-gray-800 px-2 py-1 text-xs whitespace-nowrap text-white shadow-lg"
148
+ style={{
149
+ animation: "shake 0.5s ease-in-out, fadeOut 2s ease-out forwards",
150
+ left:
151
+ buttonRef.current.getBoundingClientRect().left +
152
+ buttonRef.current.offsetWidth / 2,
153
+ top: buttonRef.current.getBoundingClientRect().top - 32,
154
+ transform: "translateX(-50%)",
155
+ }}
156
+ >
157
+ Pasted!
158
+ </div>,
159
+ document.body,
160
+ )}
161
+ </>
162
+ );
163
+ }