@treasuryspatial/prompt-ui-kit 0.1.13 → 0.1.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackPanel.d.ts","sourceRoot":"","sources":["../src/FeedbackPanel.tsx"],"names":[],"mappings":"AAIA,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAW,EACX,IAAS,EACT,KAAkB,EAClB,WAA+C,GAChD,EAAE,kBAAkB,2CAiJpB"}
1
+ {"version":3,"file":"FeedbackPanel.d.ts","sourceRoot":"","sources":["../src/FeedbackPanel.tsx"],"names":[],"mappings":"AAKA,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAwIF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAW,EACX,IAAS,EACT,KAAkB,EAClB,WAA+C,GAChD,EAAE,kBAAkB,2CAuIpB"}
@@ -1,8 +1,125 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useRef, useState } from 'react';
4
+ import styled from 'styled-components';
4
5
  const FEEDBACK_IMAGE_LIMIT = 3;
5
6
  const FEEDBACK_IMAGE_MAX_BYTES = 5 * 1024 * 1024;
7
+ const Root = styled.div `
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 16px;
11
+ `;
12
+ const Header = styled.div `
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: 6px;
16
+ `;
17
+ const Title = styled.div `
18
+ font-size: 17px;
19
+ font-weight: 600;
20
+ letter-spacing: 0.01em;
21
+ color: var(--brand-text-primary);
22
+ `;
23
+ const Description = styled.p `
24
+ font-size: 13px;
25
+ line-height: 1.6;
26
+ color: var(--brand-text-secondary);
27
+ `;
28
+ const Textarea = styled.textarea `
29
+ width: 100%;
30
+ min-height: 170px;
31
+ resize: vertical;
32
+ border-radius: 24px;
33
+ border: 1px solid var(--brand-text-primary);
34
+ background: var(--brand-background);
35
+ padding: 18px 20px;
36
+ font-size: 13px;
37
+ line-height: 1.6;
38
+ color: var(--brand-text-primary);
39
+ outline: none;
40
+
41
+ &::placeholder {
42
+ color: color-mix(in srgb, var(--brand-text-secondary) 72%, white 28%);
43
+ }
44
+
45
+ &:focus {
46
+ border-color: var(--brand-primary);
47
+ }
48
+ `;
49
+ const Note = styled.div `
50
+ font-size: 12px;
51
+ line-height: 1.5;
52
+ color: var(--brand-text-secondary);
53
+ `;
54
+ const DropZone = styled.div `
55
+ margin-top: 10px;
56
+ border-radius: 24px;
57
+ border: 2px dashed ${(props) => (props.$dragActive ? 'var(--brand-primary)' : 'var(--brand-text-primary)')};
58
+ background: ${(props) => props.$dragActive
59
+ ? 'color-mix(in srgb, var(--brand-primary) 10%, var(--brand-background) 90%)'
60
+ : 'var(--brand-background)'};
61
+ padding: 28px 20px;
62
+ text-align: center;
63
+ transition: border-color 0.16s ease, background-color 0.16s ease;
64
+ `;
65
+ const DropButton = styled.button `
66
+ border: 0;
67
+ background: transparent;
68
+ color: var(--brand-text-primary);
69
+ cursor: pointer;
70
+ font-size: 13px;
71
+ font-weight: 600;
72
+ letter-spacing: 0.01em;
73
+ `;
74
+ const FileList = styled.div `
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: 8px;
78
+ margin-top: 10px;
79
+ `;
80
+ const FileRow = styled.div `
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: space-between;
84
+ gap: 12px;
85
+ border-radius: 18px;
86
+ border: 1px solid var(--brand-panel-border);
87
+ background: var(--brand-background);
88
+ padding: 12px 14px;
89
+ font-size: 12px;
90
+ color: var(--brand-text-secondary);
91
+ `;
92
+ const RemoveButton = styled.button `
93
+ border: 0;
94
+ background: transparent;
95
+ color: var(--brand-primary);
96
+ cursor: pointer;
97
+ font-size: 11px;
98
+ text-transform: uppercase;
99
+ letter-spacing: 0.16em;
100
+ `;
101
+ const Status = styled.div `
102
+ font-size: 12px;
103
+ color: ${(props) => props.$tone === 'success' ? 'var(--brand-text-primary)' : 'var(--viewer-ui-color-text-error, #b91c1c)'};
104
+ `;
105
+ const SubmitButton = styled.button `
106
+ width: 100%;
107
+ min-height: 56px;
108
+ border-radius: 999px;
109
+ border: 0;
110
+ background: var(--brand-text-primary);
111
+ color: var(--brand-background);
112
+ cursor: pointer;
113
+ font-size: 13px;
114
+ font-weight: 600;
115
+ letter-spacing: 0.01em;
116
+ transition: opacity 0.16s ease;
117
+
118
+ &:disabled {
119
+ opacity: 0.5;
120
+ cursor: not-allowed;
121
+ }
122
+ `;
6
123
  export default function FeedbackPanel({ toolId = '', page = '', title = 'feedback', description = 'Share bugs, requests, or notes.', }) {
7
124
  const [message, setMessage] = useState('');
8
125
  const [status, setStatus] = useState('idle');
@@ -14,7 +131,9 @@ export default function FeedbackPanel({ toolId = '', page = '', title = 'feedbac
14
131
  const addFiles = (fileList) => {
15
132
  const incoming = Array.from(fileList);
16
133
  const remaining = Math.max(0, FEEDBACK_IMAGE_LIMIT - images.length);
17
- const accepted = incoming.filter((file) => file.type.startsWith('image/') && file.size <= FEEDBACK_IMAGE_MAX_BYTES).slice(0, remaining);
134
+ const accepted = incoming
135
+ .filter((file) => file.type.startsWith('image/') && file.size <= FEEDBACK_IMAGE_MAX_BYTES)
136
+ .slice(0, remaining);
18
137
  if (accepted.length === 0) {
19
138
  setImageError(`Add up to ${FEEDBACK_IMAGE_LIMIT} images under ${Math.round(FEEDBACK_IMAGE_MAX_BYTES / 1024 / 1024)}MB each.`);
20
139
  return;
@@ -60,13 +179,13 @@ export default function FeedbackPanel({ toolId = '', page = '', title = 'feedbac
60
179
  setError(nextError?.message || 'Failed to send feedback');
61
180
  }
62
181
  };
63
- return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { children: [_jsx("div", { className: "text-[16px] font-semibold tracking-[0.01em] text-[var(--viewer-ui-color-text-strong)]", children: title }), _jsx("p", { className: "mt-1 text-[12px] text-[var(--viewer-ui-color-text-muted)] leading-relaxed", children: description })] }), _jsx("textarea", { value: message, onChange: (event) => {
182
+ return (_jsxs(Root, { children: [_jsxs(Header, { children: [_jsx(Title, { children: title }), _jsx(Description, { children: description })] }), _jsx(Textarea, { value: message, onChange: (event) => {
64
183
  setMessage(event.target.value);
65
184
  if (status !== 'idle') {
66
185
  setStatus('idle');
67
186
  setError('');
68
187
  }
69
- }, rows: 6, placeholder: "Share feedback, feature requests, or issues.", className: "w-full rounded-xl border border-[var(--viewer-ui-color-button-secondary)] bg-[var(--viewer-ui-color-panel-bg)] text-[var(--viewer-ui-color-text-strong)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--viewer-ui-color-focus)]" }), _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-xs text-[var(--viewer-ui-color-text-muted)] normal-case", children: ["Add up to ", FEEDBACK_IMAGE_LIMIT, " screenshots (max ", Math.round(FEEDBACK_IMAGE_MAX_BYTES / 1024 / 1024), "MB each)."] }), _jsxs("div", { onDragOver: (event) => {
188
+ }, rows: 6, placeholder: "Share feedback, feature requests, or issues." }), _jsxs("div", { children: [_jsxs(Note, { children: ["Add up to ", FEEDBACK_IMAGE_LIMIT, " screenshots (max ", Math.round(FEEDBACK_IMAGE_MAX_BYTES / 1024 / 1024), "MB each)."] }), _jsxs(DropZone, { "$dragActive": dragActive, onDragOver: (event) => {
70
189
  event.preventDefault();
71
190
  setDragActive(true);
72
191
  }, onDragLeave: () => setDragActive(false), onDrop: (event) => {
@@ -74,12 +193,10 @@ export default function FeedbackPanel({ toolId = '', page = '', title = 'feedbac
74
193
  setDragActive(false);
75
194
  if (event.dataTransfer?.files?.length)
76
195
  addFiles(event.dataTransfer.files);
77
- }, className: `rounded-xl border border-dashed px-4 py-4 text-center text-sm transition ${dragActive
78
- ? 'border-[var(--viewer-ui-color-button-primary)] bg-[var(--viewer-ui-color-button-primary)]/10 text-[var(--viewer-ui-color-text-strong)]'
79
- : 'border-[var(--viewer-ui-color-button-secondary)] text-[var(--viewer-ui-color-text-muted)]'}`, children: [_jsx("input", { ref: inputRef, type: "file", accept: "image/*", multiple: true, className: "hidden", onChange: (event) => {
196
+ }, children: [_jsx("input", { ref: inputRef, type: "file", accept: "image/*", multiple: true, className: "hidden", onChange: (event) => {
80
197
  if (event.target.files?.length) {
81
198
  addFiles(event.target.files);
82
199
  event.target.value = '';
83
200
  }
84
- } }), _jsx("button", { type: "button", onClick: () => inputRef.current?.click(), className: "text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--viewer-ui-color-text-strong)]", children: "drop screenshots here or click to upload" })] }), imageError ? _jsx("div", { className: "text-xs text-[var(--viewer-ui-color-button-primary)]", children: imageError }) : null, images.length > 0 ? (_jsx("div", { className: "space-y-1", children: images.map((item) => (_jsxs("div", { className: "flex items-center justify-between rounded-lg border viewer-ui-kit-border-subtle viewer-ui-kit-surface px-3 py-2 text-xs viewer-ui-kit-text-muted", children: [_jsx("span", { className: "truncate", children: item.file.name }), _jsx("button", { type: "button", onClick: () => removeFile(item.id), className: "text-[11px] uppercase tracking-[0.2em] text-[var(--viewer-ui-color-button-primary)] hover:text-[var(--viewer-ui-color-button-secondary)]", children: "remove" })] }, item.id))) })) : null] }), status === 'error' ? _jsx("div", { className: "text-xs text-[var(--viewer-ui-color-button-primary)]", children: error || 'Failed to send feedback.' }) : null, status === 'success' ? _jsx("div", { className: "text-xs text-[var(--viewer-ui-color-button-secondary)]", children: "Thanks \u2014 we received your feedback." }) : null, _jsx("button", { type: "button", onClick: () => void submit(), disabled: status === 'sending', className: "w-full rounded-full px-4 py-2.5 text-[12px] font-semibold uppercase tracking-[0.08em] bg-[var(--viewer-ui-color-button-secondary)] text-[var(--viewer-ui-color-text-strong)] hover:bg-[var(--viewer-ui-color-button-primary)] disabled:opacity-60 disabled:cursor-not-allowed transition-colors", children: status === 'sending' ? 'sending…' : 'send feedback' })] }));
201
+ } }), _jsx(DropButton, { type: "button", onClick: () => inputRef.current?.click(), children: "drop screenshots here or click to upload" })] }), imageError ? _jsx(Status, { "$tone": "error", style: { marginTop: '8px' }, children: imageError }) : null, images.length > 0 ? (_jsx(FileList, { children: images.map((item) => (_jsxs(FileRow, { children: [_jsx("span", { className: "truncate", children: item.file.name }), _jsx(RemoveButton, { type: "button", onClick: () => removeFile(item.id), children: "remove" })] }, item.id))) })) : null] }), status === 'error' ? _jsx(Status, { "$tone": "error", children: error || 'Failed to send feedback.' }) : null, status === 'success' ? _jsx(Status, { "$tone": "success", children: "Thanks \u2014 we received your feedback." }) : null, _jsx(SubmitButton, { type: "button", onClick: () => void submit(), disabled: status === 'sending', children: status === 'sending' ? 'sending…' : 'send feedback' })] }));
85
202
  }
@@ -60,9 +60,9 @@ export default function FullscreenImage({ open, src, alt = 'image', title, subti
60
60
  const classes = action.variant === 'secondary'
61
61
  ? 'viewer-ui-kit-button viewer-ui-kit-button-secondary'
62
62
  : 'viewer-ui-kit-button viewer-ui-kit-button-primary';
63
- return (_jsx("button", { type: "button", onClick: action.onClick, disabled: action.disabled, className: `px-4 py-2 text-xs font-neusa font-black lowercase tracking-[0.08em] ${classes} ${action.disabled ? 'opacity-60 cursor-not-allowed' : ''}`, children: action.label }));
63
+ return (_jsx("button", { type: "button", onClick: action.onClick, disabled: action.disabled, className: `px-4 py-2 text-xs font-black lowercase tracking-[0.08em] ${classes} ${action.disabled ? 'opacity-60 cursor-not-allowed' : ''}`, children: action.label }));
64
64
  };
65
- return (_jsxs("div", { className: "fixed inset-0 z-[140] bg-black/80 backdrop-blur-sm", children: [_jsx("button", { type: "button", "aria-label": "Close image", className: "absolute inset-0 h-full w-full cursor-default", onClick: onClose }), _jsxs("div", { className: "absolute inset-6 z-[1] grid gap-6 lg:grid-cols-[minmax(0,1.5fr)_minmax(320px,420px)]", children: [_jsx("div", { className: "min-h-0 rounded-3xl border viewer-ui-kit-border viewer-ui-kit-surface shadow-2xl overflow-hidden flex items-center justify-center", children: _jsx("img", { src: src, alt: alt, className: "max-h-full max-w-full object-contain" }) }), _jsxs("div", { className: "min-h-0 rounded-3xl border viewer-ui-kit-border viewer-ui-kit-surface shadow-2xl p-5 overflow-y-auto", children: [_jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-2xl font-neusa font-black lowercase viewer-ui-kit-text-strong", children: title || 'untitled image' }), subtitle ? _jsx("div", { className: "mt-1 text-sm viewer-ui-kit-text-muted", children: subtitle }) : null, _jsxs("div", { className: "mt-2 flex flex-wrap gap-2 text-[10px] uppercase tracking-[0.18em] viewer-ui-kit-text-subtle", children: [modeLabel ? _jsx("span", { children: modeLabel }) : null, createdAt ? _jsx("span", { children: createdAt }) : null] })] }), _jsx("button", { type: "button", onClick: onClose, className: "viewer-ui-kit-text-muted viewer-ui-kit-text-hover text-sm uppercase tracking-[0.2em]", children: "close" })] }), editableTitle ? (_jsxs("div", { className: "mt-5 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "title" }), _jsx("input", { value: editableTitle.value, onChange: (event) => editableTitle.onChange(event.target.value), className: "w-full rounded-xl border viewer-ui-kit-border-subtle viewer-ui-kit-surface px-3 py-2 text-sm viewer-ui-kit-text" }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: editableTitle.onSave, className: "px-3 py-2 text-xs font-neusa font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "save title" }), statusLabel(editableTitle.status) ? _jsx("span", { className: "text-xs viewer-ui-kit-text-muted", children: statusLabel(editableTitle.status) }) : null] })] })) : null, _jsxs("div", { className: "mt-5 flex flex-wrap gap-2", children: [renderAction(primaryAction), renderAction(secondaryAction), publicUrl ? (_jsx("button", { type: "button", onClick: () => void shareImage(), className: "px-4 py-2 text-xs font-neusa font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "share image" })) : null, publicUrl ? (_jsx("button", { type: "button", onClick: () => void copy(publicUrl), className: "px-4 py-2 text-xs font-neusa font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "copy public link" })) : null, copyUrl && copyUrl !== publicUrl ? (_jsx("button", { type: "button", onClick: () => void copy(copyUrl), className: "px-4 py-2 text-xs font-neusa font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "copy image link" })) : null] }), (primaryAction?.status || secondaryAction?.status || shareStatus !== 'idle') ? (_jsx("div", { className: "mt-2 text-xs viewer-ui-kit-text-muted", children: statusLabel(primaryAction?.status) ||
65
+ return (_jsxs("div", { className: "fixed inset-0 z-[140] bg-black/80 backdrop-blur-sm", children: [_jsx("button", { type: "button", "aria-label": "Close image", className: "absolute inset-0 h-full w-full cursor-default", onClick: onClose }), _jsxs("div", { className: "absolute inset-6 z-[1] grid gap-6 lg:grid-cols-[minmax(0,1.5fr)_minmax(320px,420px)]", children: [_jsx("div", { className: "min-h-0 rounded-3xl border viewer-ui-kit-border viewer-ui-kit-surface shadow-2xl overflow-hidden flex items-center justify-center", children: _jsx("img", { src: src, alt: alt, className: "max-h-full max-w-full object-contain" }) }), _jsxs("div", { className: "min-h-0 rounded-3xl border viewer-ui-kit-border viewer-ui-kit-surface shadow-2xl p-5 overflow-y-auto", children: [_jsxs("div", { className: "flex items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-2xl font-black lowercase viewer-ui-kit-text-strong", children: title || 'untitled image' }), subtitle ? _jsx("div", { className: "mt-1 text-sm viewer-ui-kit-text-muted", children: subtitle }) : null, _jsxs("div", { className: "mt-2 flex flex-wrap gap-2 text-[10px] uppercase tracking-[0.18em] viewer-ui-kit-text-subtle", children: [modeLabel ? _jsx("span", { children: modeLabel }) : null, createdAt ? _jsx("span", { children: createdAt }) : null] })] }), _jsx("button", { type: "button", onClick: onClose, className: "viewer-ui-kit-text-muted viewer-ui-kit-text-hover text-sm uppercase tracking-[0.2em]", children: "close" })] }), editableTitle ? (_jsxs("div", { className: "mt-5 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "title" }), _jsx("input", { value: editableTitle.value, onChange: (event) => editableTitle.onChange(event.target.value), className: "w-full rounded-xl border viewer-ui-kit-border-subtle viewer-ui-kit-surface px-3 py-2 text-sm viewer-ui-kit-text" }), _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("button", { type: "button", onClick: editableTitle.onSave, className: "px-3 py-2 text-xs font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "save title" }), statusLabel(editableTitle.status) ? _jsx("span", { className: "text-xs viewer-ui-kit-text-muted", children: statusLabel(editableTitle.status) }) : null] })] })) : null, _jsxs("div", { className: "mt-5 flex flex-wrap gap-2", children: [renderAction(primaryAction), renderAction(secondaryAction), publicUrl ? (_jsx("button", { type: "button", onClick: () => void shareImage(), className: "px-4 py-2 text-xs font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "share image" })) : null, publicUrl ? (_jsx("button", { type: "button", onClick: () => void copy(publicUrl), className: "px-4 py-2 text-xs font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "copy public link" })) : null, copyUrl && copyUrl !== publicUrl ? (_jsx("button", { type: "button", onClick: () => void copy(copyUrl), className: "px-4 py-2 text-xs font-black lowercase tracking-[0.08em] viewer-ui-kit-button viewer-ui-kit-button-secondary", children: "copy image link" })) : null] }), (primaryAction?.status || secondaryAction?.status || shareStatus !== 'idle') ? (_jsx("div", { className: "mt-2 text-xs viewer-ui-kit-text-muted", children: statusLabel(primaryAction?.status) ||
66
66
  statusLabel(secondaryAction?.status) ||
67
- (shareStatus === 'copied' ? 'link copied' : shareStatus === 'error' ? 'share failed' : null) })) : null, prompt ? (_jsxs("div", { className: "mt-6 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "prompt" }), _jsx("pre", { className: "whitespace-pre-wrap rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface p-3 text-[11px] font-nunito viewer-ui-kit-text", children: prompt })] })) : null, manifestText ? (_jsxs("div", { className: "mt-6 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "manifest" }), _jsx("pre", { className: "whitespace-pre-wrap rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface p-3 text-[10px] font-mono viewer-ui-kit-text-muted", children: manifestText })] })) : null] })] })] }));
67
+ (shareStatus === 'copied' ? 'link copied' : shareStatus === 'error' ? 'share failed' : null) })) : null, prompt ? (_jsxs("div", { className: "mt-6 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "prompt" }), _jsx("pre", { className: "whitespace-pre-wrap rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface p-3 text-[11px] viewer-ui-kit-text", children: prompt })] })) : null, manifestText ? (_jsxs("div", { className: "mt-6 space-y-2", children: [_jsx("div", { className: "text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: "manifest" }), _jsx("pre", { className: "whitespace-pre-wrap rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface p-3 text-[10px] font-mono viewer-ui-kit-text-muted", children: manifestText })] })) : null] })] })] }));
68
68
  }
@@ -8,5 +8,5 @@ export default function GalleryThumbCard({ title, author, modeLabel, metaLine, i
8
8
  onClick();
9
9
  }
10
10
  }
11
- : undefined, className: `relative break-inside-avoid overflow-hidden rounded-[22px] border viewer-ui-kit-border-subtle viewer-ui-kit-surface shadow-[0_8px_18px_rgba(0,0,0,0.14)] transition ${onClick ? 'cursor-pointer hover:border-[var(--viewer-ui-color-panel-border)]' : ''} ${className || ''}`, children: [_jsx("div", { className: "relative overflow-hidden rounded-[20px] border viewer-ui-kit-border-subtle viewer-ui-kit-surface", children: _jsx("img", { src: imageSrc, alt: title, className: "h-auto w-full object-cover", draggable: false }) }), _jsxs("div", { className: "p-4", children: [_jsx("div", { className: "text-[14px] viewer-ui-kit-text font-nunito normal-case", children: title }), author ? _jsx("div", { className: "mt-1 text-[11px] viewer-ui-kit-text-muted font-nunito normal-case", children: author }) : null, metaLine ? _jsx("div", { className: "mt-1 text-[10px] viewer-ui-kit-text-muted font-nunito normal-case", children: metaLine }) : null, modeLabel ? _jsx("div", { className: "mt-2 text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle font-nunito", children: modeLabel }) : null] }), actions ? _jsx("div", { className: "px-4 pb-4", children: actions }) : null] }));
11
+ : undefined, className: `relative break-inside-avoid overflow-hidden rounded-[22px] border viewer-ui-kit-border-subtle viewer-ui-kit-surface shadow-[0_8px_18px_rgba(0,0,0,0.14)] transition ${onClick ? 'cursor-pointer hover:border-[var(--viewer-ui-color-panel-border)]' : ''} ${className || ''}`, children: [_jsx("div", { className: "relative overflow-hidden rounded-[20px] border viewer-ui-kit-border-subtle viewer-ui-kit-surface", children: _jsx("img", { src: imageSrc, alt: title, className: "h-auto w-full object-cover", draggable: false }) }), _jsxs("div", { className: "p-4", children: [_jsx("div", { className: "text-[14px] viewer-ui-kit-text normal-case", children: title }), author ? _jsx("div", { className: "mt-1 text-[11px] viewer-ui-kit-text-muted normal-case", children: author }) : null, metaLine ? _jsx("div", { className: "mt-1 text-[10px] viewer-ui-kit-text-muted normal-case", children: metaLine }) : null, modeLabel ? _jsx("div", { className: "mt-2 text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: modeLabel }) : null] }), actions ? _jsx("div", { className: "px-4 pb-4", children: actions }) : null] }));
12
12
  }
@@ -1,5 +1,5 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export default function PromptDebugPanel({ open, entries, onToggle, onOpenEditor }) {
4
- return (_jsxs("details", { className: "mt-6 rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface", open: open, onToggle: (event) => onToggle(event.target.open), children: [_jsx("summary", { className: "cursor-pointer list-none px-4 py-3 text-[11px] uppercase tracking-[0.22em] viewer-ui-kit-text-muted", children: "prompt debug" }), _jsxs("div", { className: "space-y-4 px-4 pb-4", children: [entries.length === 0 && _jsx("div", { className: "text-[11px] viewer-ui-kit-text-muted", children: "no prompt history yet." }), entries.map((entry) => (_jsxs("div", { className: "rounded-2xl border viewer-ui-kit-border-subtle viewer-ui-kit-surface p-3", children: [_jsxs("div", { className: "flex items-center justify-between text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: [_jsx("span", { children: entry.kind }), _jsx("span", { children: entry.ts })] }), _jsx("pre", { className: "mt-3 max-h-56 overflow-auto whitespace-pre-wrap text-[11px] viewer-ui-kit-text", children: entry.prompt }), entry.manifest && (_jsxs("details", { className: "mt-3", children: [_jsx("summary", { className: "cursor-pointer text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-muted", children: "manifest snapshot" }), _jsx("pre", { className: "mt-2 max-h-40 overflow-auto whitespace-pre-wrap rounded border viewer-ui-kit-border viewer-ui-kit-surface p-2 text-[10px] viewer-ui-kit-text", children: JSON.stringify(entry.manifest, null, 2) })] })), onOpenEditor && (_jsx("div", { className: "mt-3 flex gap-2", children: _jsx("button", { type: "button", onClick: () => onOpenEditor(entry), className: "viewer-ui-kit-button viewer-ui-kit-button-primary px-3 py-1 text-[10px] font-neusa font-black lowercase tracking-[0.08em]", children: "open in prompt editor" }) }))] }, entry.id)))] })] }));
4
+ return (_jsxs("details", { className: "mt-6 rounded-2xl border viewer-ui-kit-border viewer-ui-kit-surface", open: open, onToggle: (event) => onToggle(event.target.open), children: [_jsx("summary", { className: "cursor-pointer list-none px-4 py-3 text-[11px] uppercase tracking-[0.22em] viewer-ui-kit-text-muted", children: "prompt debug" }), _jsxs("div", { className: "space-y-4 px-4 pb-4", children: [entries.length === 0 && _jsx("div", { className: "text-[11px] viewer-ui-kit-text-muted", children: "no prompt history yet." }), entries.map((entry) => (_jsxs("div", { className: "rounded-2xl border viewer-ui-kit-border-subtle viewer-ui-kit-surface p-3", children: [_jsxs("div", { className: "flex items-center justify-between text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-subtle", children: [_jsx("span", { children: entry.kind }), _jsx("span", { children: entry.ts })] }), _jsx("pre", { className: "mt-3 max-h-56 overflow-auto whitespace-pre-wrap text-[11px] viewer-ui-kit-text", children: entry.prompt }), entry.manifest && (_jsxs("details", { className: "mt-3", children: [_jsx("summary", { className: "cursor-pointer text-[10px] uppercase tracking-[0.2em] viewer-ui-kit-text-muted", children: "manifest snapshot" }), _jsx("pre", { className: "mt-2 max-h-40 overflow-auto whitespace-pre-wrap rounded border viewer-ui-kit-border viewer-ui-kit-surface p-2 text-[10px] viewer-ui-kit-text", children: JSON.stringify(entry.manifest, null, 2) })] })), onOpenEditor && (_jsx("div", { className: "mt-3 flex gap-2", children: _jsx("button", { type: "button", onClick: () => onOpenEditor(entry), className: "viewer-ui-kit-button viewer-ui-kit-button-primary px-3 py-1 text-[10px] font-black lowercase tracking-[0.08em]", children: "open in prompt editor" }) }))] }, entry.id)))] })] }));
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderHistoryPanel.d.ts","sourceRoot":"","sources":["../src/RenderHistoryPanel.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAClD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,kDA4K3G"}
1
+ {"version":3,"file":"RenderHistoryPanel.d.ts","sourceRoot":"","sources":["../src/RenderHistoryPanel.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAClD,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC,CAAC;AA8GF,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,kDA0J3G"}
@@ -1,7 +1,101 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from 'react';
4
+ import styled from 'styled-components';
4
5
  const fallbackFormatTitle = (value) => value;
6
+ const Root = styled.div `
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: 14px;
10
+ `;
11
+ const Header = styled.div `
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ gap: 12px;
16
+ `;
17
+ const Eyebrow = styled.div `
18
+ font-size: 10px;
19
+ text-transform: uppercase;
20
+ letter-spacing: 0.14em;
21
+ color: var(--brand-text-secondary);
22
+ `;
23
+ const ClearButton = styled.button `
24
+ border: 0;
25
+ background: transparent;
26
+ color: var(--brand-text-secondary);
27
+ cursor: pointer;
28
+ font-size: 11px;
29
+ letter-spacing: 0.08em;
30
+ text-transform: uppercase;
31
+ `;
32
+ const Card = styled.div `
33
+ border-radius: 24px;
34
+ border: 1px solid var(--brand-panel-border);
35
+ background: var(--brand-background);
36
+ padding: 14px;
37
+ display: flex;
38
+ flex-direction: column;
39
+ gap: 12px;
40
+ `;
41
+ const CardLabel = styled.div `
42
+ font-size: 10px;
43
+ text-transform: uppercase;
44
+ letter-spacing: 0.14em;
45
+ color: var(--brand-text-secondary);
46
+ `;
47
+ const CardTitle = styled.div `
48
+ font-size: 13px;
49
+ line-height: 1.5;
50
+ color: var(--brand-text-primary);
51
+ `;
52
+ const ImageGrid = styled.div `
53
+ display: grid;
54
+ grid-template-columns: repeat(${(props) => props.$columns ?? 2}, minmax(0, 1fr));
55
+ gap: 10px;
56
+ `;
57
+ const ImagePane = styled.div `
58
+ display: flex;
59
+ flex-direction: column;
60
+ gap: 8px;
61
+ `;
62
+ const ImageButton = styled.button `
63
+ border: 0;
64
+ background: transparent;
65
+ padding: 0;
66
+ cursor: zoom-in;
67
+ overflow: hidden;
68
+ border-radius: 18px;
69
+ `;
70
+ const Image = styled.img `
71
+ width: 100%;
72
+ aspect-ratio: 4 / 3;
73
+ object-fit: cover;
74
+ display: block;
75
+ `;
76
+ const ActionRow = styled.div `
77
+ display: flex;
78
+ flex-wrap: wrap;
79
+ gap: 8px;
80
+ `;
81
+ const ActionButton = styled.button `
82
+ min-height: 38px;
83
+ padding: 0 16px;
84
+ border-radius: 999px;
85
+ border: 1px solid
86
+ ${(props) => (props.$variant === 'primary' ? 'var(--brand-text-primary)' : 'var(--brand-panel-border)')};
87
+ background: ${(props) => (props.$variant === 'primary' ? 'var(--brand-text-primary)' : 'var(--brand-background)')};
88
+ color: ${(props) => (props.$variant === 'primary' ? 'var(--brand-background)' : 'var(--brand-text-primary)')};
89
+ cursor: pointer;
90
+ font-size: 12px;
91
+ font-weight: 600;
92
+ letter-spacing: 0.01em;
93
+
94
+ &:disabled {
95
+ opacity: 0.5;
96
+ cursor: not-allowed;
97
+ }
98
+ `;
5
99
  export default function RenderHistoryPanel({ history, onClear, onOpenLightbox, formatTitle, actions }) {
6
100
  const titleFormatter = formatTitle ?? fallbackFormatTitle;
7
101
  const copyText = async (value) => {
@@ -41,12 +135,9 @@ export default function RenderHistoryPanel({ history, onClear, onOpenLightbox, f
41
135
  ];
42
136
  if (resolvedActions.length === 0)
43
137
  return null;
44
- return (_jsx("div", { className: "mt-2 flex flex-wrap gap-2", children: resolvedActions.map((action) => {
138
+ return (_jsx(ActionRow, { children: resolvedActions.map((action) => {
45
139
  const disabled = action.disabled?.(entry) ?? false;
46
- const baseClasses = action.variant === 'primary'
47
- ? 'viewer-ui-kit-button viewer-ui-kit-button-primary'
48
- : 'viewer-ui-kit-button viewer-ui-kit-button-secondary';
49
- return (_jsx("button", { type: "button", onClick: () => action.onSelect(entry), disabled: disabled, className: `px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] ${baseClasses} ${disabled ? 'opacity-60 cursor-not-allowed' : ''}`, children: action.label }, action.id));
140
+ return (_jsx(ActionButton, { type: "button", onClick: () => action.onSelect(entry), disabled: disabled, "$variant": action.variant ?? 'secondary', children: action.label }, action.id));
50
141
  }) }));
51
142
  };
52
143
  const grouped = useMemo(() => {
@@ -70,13 +161,13 @@ export default function RenderHistoryPanel({ history, onClear, onOpenLightbox, f
70
161
  }, [history]);
71
162
  if (history.length === 0)
72
163
  return null;
73
- return (_jsx(_Fragment, { children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "text-[10px] lowercase viewer-ui-kit-text-subtle", children: "image flow" }), _jsx("button", { type: "button", onClick: onClear, className: "text-[11px] uppercase font-semibold tracking-[0.08em] viewer-ui-kit-text-muted viewer-ui-kit-text-hover", children: "clear images" })] }), grouped.map((item) => item.type === 'set' ? (_jsxs("div", { className: "rounded border p-2 viewer-ui-kit-surface viewer-ui-kit-border", children: [_jsx("div", { className: "flex items-center justify-between mb-1", children: _jsx("div", { className: "text-[10px] lowercase viewer-ui-kit-text-subtle", children: "image set" }) }), _jsx("div", { className: "text-[11px] viewer-ui-kit-text font-nunito mb-2", children: titleFormatter(item.entries[0]?.title || '') }), _jsx("div", { className: "grid grid-cols-2 gap-2", children: item.entries.slice(0, 4).map((entry) => (_jsx("button", { type: "button", className: "rounded overflow-hidden", onClick: () => onOpenLightbox?.(entry, entry.outputImage, 'render output'), children: _jsx("img", { src: entry.outputImage, alt: "render output", className: "w-full h-full object-cover" }) }, entry.id))) })] }, item.entries[0]?.setId ?? 'set')) : item.entry.kind === 'capture' ? (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "rounded border p-2 viewer-ui-kit-surface viewer-ui-kit-border", children: [_jsx("div", { className: "text-[10px] mb-1 lowercase viewer-ui-kit-text-subtle", children: "original capture" }), _jsx("img", { src: item.entry.originalImage, alt: "render input", className: "w-full aspect-[4/3] rounded object-cover cursor-zoom-in", onClick: () => {
74
- if (!item.entry.originalImage)
75
- return;
76
- onOpenLightbox?.(item.entry, item.entry.originalImage, 'render input');
77
- } })] }), _jsxs("div", { className: "rounded border p-2 viewer-ui-kit-surface viewer-ui-kit-border", children: [_jsx("div", { className: "text-[10px] mb-1 lowercase viewer-ui-kit-text-subtle", children: "output" }), _jsx("img", { src: item.entry.outputImage, alt: "render output", className: "w-full aspect-[4/3] rounded object-cover cursor-zoom-in", onClick: () => {
78
- onOpenLightbox?.(item.entry, item.entry.outputImage, 'render output');
79
- } }), item.entry.title ? (_jsx("div", { className: "mt-2 text-[11px] viewer-ui-kit-text", children: titleFormatter(item.entry.title || '') })) : null, renderActions(item.entry)] })] }, item.entry.id)) : (_jsxs("div", { className: "rounded border p-2 viewer-ui-kit-surface viewer-ui-kit-border", children: [_jsx("div", { className: "text-[10px] mb-1 lowercase viewer-ui-kit-text-subtle", children: "adapted output" }), _jsx("img", { src: item.entry.outputImage, alt: "render output", className: "w-full aspect-[4/3] rounded object-cover cursor-zoom-in", onClick: () => {
80
- onOpenLightbox?.(item.entry, item.entry.outputImage, 'render output');
81
- } }), item.entry.title ? (_jsx("div", { className: "mt-2 text-[11px] viewer-ui-kit-text", children: titleFormatter(item.entry.title || '') })) : null, renderActions(item.entry)] }, item.entry.id)))] }) }));
164
+ return (_jsxs(Root, { children: [_jsxs(Header, { children: [_jsx(Eyebrow, { children: "image flow" }), _jsx(ClearButton, { type: "button", onClick: onClear, children: "clear images" })] }), grouped.map((item) => item.type === 'set' ? (_jsxs(Card, { children: [_jsx(CardLabel, { children: "image set" }), _jsx(CardTitle, { children: titleFormatter(item.entries[0]?.title || '') }), _jsx(ImageGrid, { "$columns": 2, children: item.entries.slice(0, 4).map((entry) => (_jsx(ImageButton, { type: "button", onClick: () => onOpenLightbox?.(entry, entry.outputImage, 'render output'), children: _jsx(Image, { src: entry.outputImage, alt: "render output" }) }, entry.id))) })] }, item.entries[0]?.setId ?? 'set')) : item.entry.kind === 'capture' ? (_jsxs(Card, { children: [_jsxs(ImageGrid, { "$columns": 2, children: [_jsxs(ImagePane, { children: [_jsx(CardLabel, { children: "original capture" }), _jsx(ImageButton, { type: "button", onClick: () => {
165
+ if (!item.entry.originalImage)
166
+ return;
167
+ onOpenLightbox?.(item.entry, item.entry.originalImage, 'render input');
168
+ }, children: _jsx(Image, { src: item.entry.originalImage, alt: "render input" }) })] }), _jsxs(ImagePane, { children: [_jsx(CardLabel, { children: "output" }), _jsx(ImageButton, { type: "button", onClick: () => {
169
+ onOpenLightbox?.(item.entry, item.entry.outputImage, 'render output');
170
+ }, children: _jsx(Image, { src: item.entry.outputImage, alt: "render output" }) })] })] }), item.entry.title ? _jsx(CardTitle, { children: titleFormatter(item.entry.title || '') }) : null, renderActions(item.entry)] }, item.entry.id)) : (_jsxs(Card, { children: [_jsx(CardLabel, { children: "adapted output" }), _jsx(ImageButton, { type: "button", onClick: () => {
171
+ onOpenLightbox?.(item.entry, item.entry.outputImage, 'render output');
172
+ }, children: _jsx(Image, { src: item.entry.outputImage, alt: "render output" }) }), item.entry.title ? _jsx(CardTitle, { children: titleFormatter(item.entry.title || '') }) : null, renderActions(item.entry)] }, item.entry.id)))] }));
82
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPanel.d.ts","sourceRoot":"","sources":["../src/RenderPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderPanel.d.ts","sourceRoot":"","sources":["../src/RenderPanel.tsx"],"names":[],"mappings":"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"}