pulse-feedback-widget 1.3.2 → 3.0.0

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 (71) hide show
  1. package/dist/PulseWidget.d.ts +3 -2
  2. package/dist/PulseWidget.d.ts.map +1 -1
  3. package/dist/PulseWidget.mjs +28 -15
  4. package/dist/PulseWidget.mjs.map +1 -1
  5. package/dist/components/ConversationView.d.ts +3 -1
  6. package/dist/components/ConversationView.d.ts.map +1 -1
  7. package/dist/components/ConversationView.mjs +4 -17
  8. package/dist/components/ConversationView.mjs.map +1 -1
  9. package/dist/components/FeedbackForm.d.ts +3 -1
  10. package/dist/components/FeedbackForm.d.ts.map +1 -1
  11. package/dist/components/FeedbackForm.mjs +7 -7
  12. package/dist/components/FeedbackForm.mjs.map +1 -1
  13. package/dist/components/FeedbackPanel.d.ts +9 -1
  14. package/dist/components/FeedbackPanel.d.ts.map +1 -1
  15. package/dist/components/FeedbackPanel.mjs +12 -5
  16. package/dist/components/FeedbackPanel.mjs.map +1 -1
  17. package/dist/components/FeedbackPanel.module.css.mjs +1 -1
  18. package/dist/components/ImagePicker.d.ts +4 -1
  19. package/dist/components/ImagePicker.d.ts.map +1 -1
  20. package/dist/components/ImagePicker.mjs +8 -2
  21. package/dist/components/ImagePicker.mjs.map +1 -1
  22. package/dist/components/ImagePicker.module.css.mjs +2 -2
  23. package/dist/components/ScreenshotEditor.d.ts +10 -0
  24. package/dist/components/ScreenshotEditor.d.ts.map +1 -0
  25. package/dist/components/ScreenshotEditor.mjs +146 -0
  26. package/dist/components/ScreenshotEditor.mjs.map +1 -0
  27. package/dist/components/ScreenshotEditor.module.css.mjs +8 -0
  28. package/dist/components/ScreenshotEditor.module.css.mjs.map +1 -0
  29. package/dist/components/SuccessState.d.ts +3 -1
  30. package/dist/components/SuccessState.d.ts.map +1 -1
  31. package/dist/components/SuccessState.mjs +2 -2
  32. package/dist/components/SuccessState.mjs.map +1 -1
  33. package/dist/components/ThreadList.d.ts +3 -1
  34. package/dist/components/ThreadList.d.ts.map +1 -1
  35. package/dist/components/ThreadList.mjs +5 -19
  36. package/dist/components/ThreadList.mjs.map +1 -1
  37. package/dist/components/TriggerButton.d.ts +6 -1
  38. package/dist/components/TriggerButton.d.ts.map +1 -1
  39. package/dist/components/TriggerButton.mjs +9 -2
  40. package/dist/components/TriggerButton.mjs.map +1 -1
  41. package/dist/components/TriggerButton.module.css.mjs +1 -1
  42. package/dist/components/TypeSelector.d.ts +3 -1
  43. package/dist/components/TypeSelector.d.ts.map +1 -1
  44. package/dist/components/TypeSelector.mjs +9 -2
  45. package/dist/components/TypeSelector.mjs.map +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/lib/canvas-tools.d.ts +15 -0
  49. package/dist/lib/canvas-tools.d.ts.map +1 -0
  50. package/dist/lib/canvas-tools.mjs +64 -0
  51. package/dist/lib/canvas-tools.mjs.map +1 -0
  52. package/dist/lib/i18n.d.ts +40 -0
  53. package/dist/lib/i18n.d.ts.map +1 -0
  54. package/dist/lib/i18n.mjs +34 -0
  55. package/dist/lib/i18n.mjs.map +1 -0
  56. package/dist/locales/en.d.ts +4 -0
  57. package/dist/locales/en.d.ts.map +1 -0
  58. package/dist/locales/en.mjs +48 -0
  59. package/dist/locales/en.mjs.map +1 -0
  60. package/dist/locales/ko.d.ts +4 -0
  61. package/dist/locales/ko.d.ts.map +1 -0
  62. package/dist/locales/ko.mjs +48 -0
  63. package/dist/locales/ko.mjs.map +1 -0
  64. package/dist/pulse-widget.iife.js +56 -0
  65. package/dist/pulse-widget.iife.js.map +1 -0
  66. package/dist/standalone.d.ts +2 -0
  67. package/dist/standalone.d.ts.map +1 -0
  68. package/dist/types.d.ts +18 -1
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/types.mjs.map +1 -1
  71. package/package.json +9 -3
@@ -1,3 +1,4 @@
1
- import type { PulseWidgetProps } from './types';
2
- export declare function PulseWidget({ projectId, apiKey, apiUrl, position, accentColor, greeting, placeholder, hideOnPaths, collectEmail, collectDiagnostics, userId, metadata, onOpen, onClose: onCloseProp, onSubmit, }: PulseWidgetProps): import("react/jsx-runtime").JSX.Element | null;
1
+ import React from 'react';
2
+ import type { PulseWidgetProps, PulseWidgetHandle } from './types';
3
+ export declare const PulseWidget: React.ForwardRefExoticComponent<PulseWidgetProps & React.RefAttributes<PulseWidgetHandle>>;
3
4
  //# sourceMappingURL=PulseWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PulseWidget.d.ts","sourceRoot":"","sources":["../src/PulseWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAahD,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,MAAM,EACN,MAAwB,EACxB,QAAyB,EACzB,WAAuB,EACvB,QAAmB,EACnB,WAAoC,EACpC,WAAgB,EAChB,YAAmB,EACnB,kBAA0B,EAC1B,MAAM,EACN,QAAa,EACb,MAAM,EACN,OAAO,EAAE,WAAW,EACpB,QAAQ,GACT,EAAE,gBAAgB,kDA0FlB"}
1
+ {"version":3,"file":"PulseWidget.d.ts","sourceRoot":"","sources":["../src/PulseWidget.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6G,MAAM,OAAO,CAAC;AAClI,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAenE,eAAO,MAAM,WAAW,4FA+HtB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
- import { lazy, useState, useMemo, useRef, useEffect, Suspense } from 'react';
3
+ import { lazy, forwardRef, useState, useMemo, useCallback, useImperativeHandle, useEffect, useRef, Suspense } from 'react';
4
+ import { createTranslations } from './lib/i18n.mjs';
4
5
  import { getDeviceId } from './lib/device.mjs';
5
6
  import { createHttpClient } from './lib/http.mjs';
6
7
  import { checkUnreadReplies } from './lib/api.mjs';
@@ -9,21 +10,34 @@ import { TriggerButton } from './components/TriggerButton.mjs';
9
10
 
10
11
  const FeedbackPanel = lazy(() => import('./components/FeedbackPanel.mjs').then((m) => ({ default: m.FeedbackPanel })));
11
12
  const DEFAULT_API_URL = 'https://10-pulse.vercel.app';
12
- function PulseWidget({ projectId, apiKey, apiUrl = DEFAULT_API_URL, position = 'bottom-right', accentColor = '#6366F1', greeting = 'Hi! 👋', placeholder = "What's on your mind?", hideOnPaths = [], collectEmail = true, collectDiagnostics = false, userId, metadata = {}, onOpen, onClose: onCloseProp, onSubmit, }) {
13
+ const PulseWidget = forwardRef(function PulseWidget({ apiKey, apiUrl = DEFAULT_API_URL, position = 'bottom-right', offset, hideDefaultLauncher = false, accentColor = '#6366F1', greeting = 'Hi! \u{1F44B}', placeholder = "What's on your mind?", hideOnPaths = [], collectEmail = true, collectDiagnostics = false, locale, userId, metadata = {}, onOpen, onClose: onCloseProp, onSubmit, }, ref) {
13
14
  const [isOpen, setIsOpen] = useState(false);
14
15
  const [hasNotification, setHasNotification] = useState(false);
15
16
  const [hidden, setHidden] = useState(false);
16
17
  // Prop validation
17
- if (!projectId || typeof projectId !== 'string') {
18
- console.error('[Pulse] Invalid projectId: must be a non-empty string');
19
- return null;
20
- }
21
18
  if (!apiKey || typeof apiKey !== 'string') {
22
19
  console.error('[Pulse] Invalid apiKey: must be a non-empty string');
23
20
  return null;
24
21
  }
22
+ const t = useMemo(() => createTranslations(locale), [locale]);
25
23
  const deviceId = useMemo(() => getDeviceId(), []);
26
24
  const client = useMemo(() => createHttpClient(apiUrl, apiKey, deviceId, userId), [apiUrl, apiKey, deviceId, userId]);
25
+ // Stable open/close callbacks
26
+ const open = useCallback(() => { setIsOpen(true); onOpen?.(); }, [onOpen]);
27
+ const close = useCallback(() => { setIsOpen(false); setHasNotification(false); onCloseProp?.(); }, [onCloseProp]);
28
+ // Imperative handle (React ref API)
29
+ useImperativeHandle(ref, () => ({
30
+ open,
31
+ close,
32
+ isOpen: () => isOpen,
33
+ }), [open, close, isOpen]);
34
+ // Global API (window.Pulse)
35
+ useEffect(() => {
36
+ if (typeof window === 'undefined')
37
+ return;
38
+ window.Pulse = { open, close, isOpen: () => isOpen };
39
+ return () => { delete window.Pulse; };
40
+ }, [open, close, isOpen]);
27
41
  // Diagnostics log collector
28
42
  const logCollectorRef = useRef(null);
29
43
  useEffect(() => {
@@ -57,15 +71,14 @@ function PulseWidget({ projectId, apiKey, apiUrl = DEFAULT_API_URL, position = '
57
71
  }, [client, deviceId]);
58
72
  if (hidden)
59
73
  return null;
60
- return (jsxs(Fragment, { children: [!isOpen && (jsx(TriggerButton, { onClick: () => {
61
- setIsOpen(true);
62
- onOpen?.();
63
- }, position: position, accentColor: accentColor, hasNotification: hasNotification })), isOpen && (jsx(Suspense, { fallback: null, children: jsx(FeedbackPanel, { client: client, accentColor: accentColor, greeting: greeting, placeholder: placeholder, collectEmail: collectEmail, logCollectorRef: logCollectorRef, metadata: metadata, position: position, onClose: () => {
64
- setIsOpen(false);
65
- setHasNotification(false);
66
- onCloseProp?.();
67
- }, onSubmit: onSubmit }) }))] }));
68
- }
74
+ // Panel bottom offset calculation
75
+ // 56 = 48px trigger height + 8px gap
76
+ const triggerBottom = offset?.bottom;
77
+ const panelBottomOffset = triggerBottom !== undefined
78
+ ? (hideDefaultLauncher ? triggerBottom : triggerBottom + 56)
79
+ : (hideDefaultLauncher ? 16 : undefined);
80
+ return (jsxs(Fragment, { children: [!isOpen && !hideDefaultLauncher && (jsx(TriggerButton, { onClick: open, position: position, accentColor: accentColor, hasNotification: hasNotification, offset: offset })), isOpen && (jsx(Suspense, { fallback: null, children: jsx(FeedbackPanel, { client: client, accentColor: accentColor, greeting: greeting, placeholder: placeholder, collectEmail: collectEmail, logCollectorRef: logCollectorRef, metadata: metadata, position: position, offset: offset, panelBottomOffset: panelBottomOffset, t: t, onClose: close, onSubmit: onSubmit }) }))] }));
81
+ });
69
82
 
70
83
  export { PulseWidget };
71
84
  //# sourceMappingURL=PulseWidget.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"PulseWidget.mjs","sources":["../src/PulseWidget.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAUA;AAIA;AAEM;;;;;;AAuBF;AACA;;;AAGA;AACA;;AAGF;AACA;;AAMA;;;AAGI;;AAEF;AACE;AACA;AACF;AACF;;;;;AAKE;AACA;AACF;;;AAIE;;;AAEA;AACE;AACA;;;AAEF;;AAEF;AAEA;AAAY;AAEZ;;;AAOQ;;;;;AA6BV;;"}
1
+ {"version":3,"file":"PulseWidget.mjs","sources":["../src/PulseWidget.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAYA;AAIA;AAEO;;;;;;AAyBH;AACA;;AAGF;AACA;AACA;;;AAOA;;AAGA;;;AAGE;;;;;;AAMA;;;;AAKF;;;AAGI;;AAEF;AACE;AACA;AACF;AACF;;;;;AAKE;AACA;AACF;;;AAIE;;;AAEA;AACE;AACA;;;AAEF;;AAEF;AAEA;AAAY;;;AAIZ;AACA;AACE;AACA;;AAmCJ;;"}
@@ -1,11 +1,13 @@
1
1
  import type { HttpClient } from '../lib/http';
2
2
  import type { Thread } from '../types';
3
+ import type { Translations } from '../lib/i18n';
3
4
  interface ConversationViewProps {
4
5
  client: HttpClient;
5
6
  thread: Thread;
6
7
  accentColor: string;
8
+ t: Translations;
7
9
  onBack: () => void;
8
10
  }
9
- export declare function ConversationView({ client, thread, accentColor, onBack }: ConversationViewProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ConversationView({ client, thread, accentColor, t, onBack }: ConversationViewProps): import("react/jsx-runtime").JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=ConversationView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationView.d.ts","sourceRoot":"","sources":["../../src/components/ConversationView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAuB,MAAM,UAAU,CAAC;AAM5D,UAAU,qBAAqB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CA6K9F"}
1
+ {"version":3,"file":"ConversationView.d.ts","sourceRoot":"","sources":["../../src/components/ConversationView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAuB,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,UAAU,qBAAqB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,EAAE,YAAY,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CA6KjG"}
@@ -1,11 +1,12 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState, useRef, useEffect } from 'react';
3
+ import { formatTimeAgo } from '../lib/i18n.mjs';
3
4
  import { getThreadMessages, uploadAttachment, sendUserReply } from '../lib/api.mjs';
4
5
  import { compressImage } from '../lib/compress.mjs';
5
6
  import { ImagePicker, getClipboardImages } from './ImagePicker.mjs';
6
7
  import styles from './ConversationView.module.css.mjs';
7
8
 
8
- function ConversationView({ client, thread, accentColor, onBack }) {
9
+ function ConversationView({ client, thread, accentColor, t, onBack }) {
9
10
  const [messages, setMessages] = useState([]);
10
11
  const [reply, setReply] = useState('');
11
12
  const [pendingFiles, setPendingFiles] = useState([]);
@@ -63,12 +64,12 @@ function ConversationView({ client, thread, accentColor, onBack }) {
63
64
  handleSend();
64
65
  }
65
66
  }
66
- return (jsxs("div", { className: styles.conversation, children: [jsxs("button", { type: "button", className: styles.backBtn, onClick: onBack, children: [jsx("svg", { className: styles.backIcon, viewBox: "0 0 24 24", children: jsx("polyline", { points: "15 18 9 12 15 6" }) }), "Back"] }), jsx("h3", { className: styles.subject, children: thread.subject }), jsxs("div", { className: styles.messages, children: [messages.map((msg) => (jsxs("div", { className: `${styles.message} ${msg.sender === 'user' ? styles.messageUser : styles.messageDev}`, style: msg.sender === 'developer' ? { backgroundColor: accentColor } : undefined, children: [jsx("p", { className: styles.messageBody, children: msg.body }), msg.attachments?.length > 0 && (jsx("div", { className: styles.attachmentRow, children: msg.attachments.map((att, i) => (jsx("a", { href: `${client.baseUrl}/api/v1/attachments/${att.path}`, target: "_blank", rel: "noopener noreferrer", children: jsx("img", { className: styles.attachmentThumb, src: `${client.baseUrl}/api/v1/attachments/${att.path}`, alt: att.name, loading: "lazy" }) }, i))) })), jsxs("div", { className: styles.messageTime, children: [msg.sender === 'developer' ? 'Developer' : 'You', " \u00B7 ", formatTime(msg.createdAt)] })] }, msg.id))), jsx("div", { ref: messagesEndRef })] }), pendingFiles.length > 0 && (jsx("div", { className: styles.replyAttachments, children: jsx(ImagePicker, { files: pendingFiles, onFilesSelected: (files) => setPendingFiles((prev) => [...prev, ...files].slice(0, 3)), onRemove: (i) => setPendingFiles((prev) => prev.filter((_, idx) => idx !== i)), accentColor: accentColor, disabled: sending }) })), jsxs("div", { className: styles.replyBox, children: [jsx("input", { className: styles.replyInput, value: reply, onChange: (e) => setReply(e.target.value), onKeyDown: handleKeyDown, onPaste: (e) => {
67
+ return (jsxs("div", { className: styles.conversation, children: [jsxs("button", { type: "button", className: styles.backBtn, onClick: onBack, children: [jsx("svg", { className: styles.backIcon, viewBox: "0 0 24 24", children: jsx("polyline", { points: "15 18 9 12 15 6" }) }), t.btnBack] }), jsx("h3", { className: styles.subject, children: thread.subject }), jsxs("div", { className: styles.messages, children: [messages.map((msg) => (jsxs("div", { className: `${styles.message} ${msg.sender === 'user' ? styles.messageUser : styles.messageDev}`, style: msg.sender === 'developer' ? { backgroundColor: accentColor } : undefined, children: [jsx("p", { className: styles.messageBody, children: msg.body }), msg.attachments?.length > 0 && (jsx("div", { className: styles.attachmentRow, children: msg.attachments.map((att, i) => (jsx("a", { href: `${client.baseUrl}/api/v1/attachments/${att.path}`, target: "_blank", rel: "noopener noreferrer", children: jsx("img", { className: styles.attachmentThumb, src: `${client.baseUrl}/api/v1/attachments/${att.path}`, alt: att.name, loading: "lazy" }) }, i))) })), jsxs("div", { className: styles.messageTime, children: [msg.sender === 'developer' ? t.senderDeveloper : t.senderYou, " \u00B7 ", formatTimeAgo(msg.createdAt, t)] })] }, msg.id))), jsx("div", { ref: messagesEndRef })] }), pendingFiles.length > 0 && (jsx("div", { className: styles.replyAttachments, children: jsx(ImagePicker, { files: pendingFiles, onFilesSelected: (files) => setPendingFiles((prev) => [...prev, ...files].slice(0, 3)), onRemove: (i) => setPendingFiles((prev) => prev.filter((_, idx) => idx !== i)), accentColor: accentColor, disabled: sending }) })), jsxs("div", { className: styles.replyBox, children: [jsx("input", { className: styles.replyInput, value: reply, onChange: (e) => setReply(e.target.value), onKeyDown: handleKeyDown, onPaste: (e) => {
67
68
  const images = getClipboardImages(e);
68
69
  if (images.length > 0) {
69
70
  setPendingFiles((prev) => [...prev, ...images].slice(0, 3));
70
71
  }
71
- }, placeholder: "Type a reply..." }), jsx("button", { type: "button", className: styles.attachBtn, onClick: () => {
72
+ }, placeholder: t.replyPlaceholder }), jsx("button", { type: "button", className: styles.attachBtn, onClick: () => {
72
73
  const input = document.createElement('input');
73
74
  input.type = 'file';
74
75
  input.accept = 'image/png,image/jpeg,image/gif,image/webp';
@@ -81,20 +82,6 @@ function ConversationView({ client, thread, accentColor, onBack }) {
81
82
  input.click();
82
83
  }, disabled: sending || pendingFiles.length >= 3, title: "Attach images", children: jsx("svg", { className: styles.attachIcon, viewBox: "0 0 24 24", children: jsx("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" }) }) }), jsx("button", { type: "button", className: styles.sendBtn, style: { backgroundColor: accentColor }, onClick: handleSend, disabled: (!reply.trim() && pendingFiles.length === 0) || sending, children: jsxs("svg", { className: styles.sendIcon, viewBox: "0 0 24 24", children: [jsx("line", { x1: "22", y1: "2", x2: "11", y2: "13" }), jsx("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })] }) })] })] }));
83
84
  }
84
- function formatTime(dateStr) {
85
- const d = new Date(dateStr);
86
- const now = new Date();
87
- const diffMs = now.getTime() - d.getTime();
88
- const mins = Math.floor(diffMs / 60000);
89
- if (mins < 1)
90
- return 'just now';
91
- if (mins < 60)
92
- return `${mins}m ago`;
93
- const hours = Math.floor(mins / 60);
94
- if (hours < 24)
95
- return `${hours}h ago`;
96
- return d.toLocaleDateString();
97
- }
98
85
 
99
86
  export { ConversationView };
100
87
  //# sourceMappingURL=ConversationView.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationView.mjs","sources":["../../src/components/ConversationView.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ConversationView.mjs","sources":["../../src/components/ConversationView.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HttpClient } from '../lib/http';
3
3
  import type { LogCollector } from '../lib/log-collector';
4
+ import type { Translations } from '../lib/i18n';
4
5
  interface FeedbackFormProps {
5
6
  client: HttpClient;
6
7
  accentColor: string;
@@ -8,8 +9,9 @@ interface FeedbackFormProps {
8
9
  collectEmail: boolean;
9
10
  logCollectorRef: React.RefObject<LogCollector | null>;
10
11
  metadata: Record<string, unknown>;
12
+ t: Translations;
11
13
  onSubmit?: (threadId: string) => void;
12
14
  }
13
- export declare function FeedbackForm({ client, accentColor, placeholder, collectEmail, logCollectorRef, metadata, onSubmit: onSubmitCallback, }: FeedbackFormProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function FeedbackForm({ client, accentColor, placeholder, collectEmail, logCollectorRef, metadata, t, onSubmit: onSubmitCallback, }: FeedbackFormProps): import("react/jsx-runtime").JSX.Element;
14
16
  export {};
15
17
  //# sourceMappingURL=FeedbackForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWzD,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,QAAQ,EAAE,gBAAgB,GAC3B,EAAE,iBAAiB,2CA6JnB"}
1
+ {"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAWhD,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,EAAE,YAAY,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,WAAW,EACX,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,CAAC,EACD,QAAQ,EAAE,gBAAgB,GAC3B,EAAE,iBAAiB,2CA+JnB"}
@@ -9,7 +9,7 @@ import { getClipboardImages, ImagePicker } from './ImagePicker.mjs';
9
9
  import styles from './FeedbackForm.module.css.mjs';
10
10
 
11
11
  const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
12
- function FeedbackForm({ client, accentColor, placeholder, collectEmail, logCollectorRef, metadata, onSubmit: onSubmitCallback, }) {
12
+ function FeedbackForm({ client, accentColor, placeholder, collectEmail, logCollectorRef, metadata, t, onSubmit: onSubmitCallback, }) {
13
13
  const [type, setType] = useState(null);
14
14
  const [body, setBody] = useState('');
15
15
  const [email, setEmail] = useState('');
@@ -63,7 +63,7 @@ function FeedbackForm({ client, accentColor, placeholder, collectEmail, logColle
63
63
  onSubmitCallback?.(threadId);
64
64
  }
65
65
  else {
66
- setError("Couldn't send — please try again.");
66
+ setError(t.submitError);
67
67
  }
68
68
  }
69
69
  function resetForm() {
@@ -77,18 +77,18 @@ function FeedbackForm({ client, accentColor, placeholder, collectEmail, logColle
77
77
  setSuccess(false);
78
78
  }
79
79
  if (success) {
80
- return jsx(SuccessState, { accentColor: accentColor, onNewFeedback: resetForm });
80
+ return jsx(SuccessState, { accentColor: accentColor, t: t, onNewFeedback: resetForm });
81
81
  }
82
- return (jsxs("form", { className: styles.form, onSubmit: handleSubmit, children: [jsxs("div", { children: [jsx("label", { className: styles.label, children: "Type" }), jsx(TypeSelector, { value: type, onChange: setType })] }), jsxs("div", { children: [jsx("label", { className: styles.label, children: "Message" }), jsx("textarea", { className: styles.textarea, value: body, onChange: (e) => setBody(e.target.value.slice(0, 5000)), onPaste: (e) => {
82
+ return (jsxs("form", { className: styles.form, onSubmit: handleSubmit, children: [jsxs("div", { children: [jsx("label", { className: styles.label, children: t.labelType }), jsx(TypeSelector, { value: type, onChange: setType, t: t })] }), jsxs("div", { children: [jsx("label", { className: styles.label, children: t.labelMessage }), jsx("textarea", { className: styles.textarea, value: body, onChange: (e) => setBody(e.target.value.slice(0, 5000)), onPaste: (e) => {
83
83
  const images = getClipboardImages(e);
84
84
  if (images.length > 0) {
85
85
  setPendingFiles((prev) => [...prev, ...images].slice(0, 3));
86
86
  }
87
- }, placeholder: placeholder, maxLength: 5000 }), jsxs("div", { className: styles.charCount, children: [body.length, "/5000"] })] }), jsx(ImagePicker, { files: pendingFiles, onFilesSelected: (files) => setPendingFiles((prev) => [...prev, ...files].slice(0, 3)), onRemove: (i) => setPendingFiles((prev) => prev.filter((_, idx) => idx !== i)), accentColor: accentColor, disabled: submitting || uploading }), collectEmail && (jsxs("div", { className: styles.row, children: [jsxs("div", { children: [jsx("label", { className: styles.label, children: "Name (optional)" }), jsx("input", { className: styles.input, type: "text", value: name, onChange: (e) => setName(e.target.value), placeholder: "Your name" })] }), jsxs("div", { children: [jsx("label", { className: styles.label, children: "Email (optional)" }), jsx("input", { className: styles.input, type: "email", value: email, onChange: (e) => { setEmail(e.target.value); setEmailError(null); }, onBlur: () => {
87
+ }, placeholder: placeholder, maxLength: 5000 }), jsxs("div", { className: styles.charCount, children: [body.length, "/5000"] })] }), jsx(ImagePicker, { files: pendingFiles, onFilesSelected: (files) => setPendingFiles((prev) => [...prev, ...files].slice(0, 3)), onRemove: (i) => setPendingFiles((prev) => prev.filter((_, idx) => idx !== i)), onReplaceFile: (i, file) => setPendingFiles((prev) => prev.map((f, idx) => idx === i ? file : f)), accentColor: accentColor, disabled: submitting || uploading, t: t }), collectEmail && (jsxs("div", { className: styles.row, children: [jsxs("div", { children: [jsx("label", { className: styles.label, children: t.labelName }), jsx("input", { className: styles.input, type: "text", value: name, onChange: (e) => setName(e.target.value), placeholder: t.placeholderName })] }), jsxs("div", { children: [jsx("label", { className: styles.label, children: t.labelEmail }), jsx("input", { className: styles.input, type: "email", value: email, onChange: (e) => { setEmail(e.target.value); setEmailError(null); }, onBlur: () => {
88
88
  if (email.trim() && !EMAIL_REGEX.test(email.trim())) {
89
- setEmailError('Please enter a valid email');
89
+ setEmailError(t.emailError);
90
90
  }
91
- }, placeholder: "you@example.com" }), emailError && jsx("p", { className: styles.fieldError, children: emailError })] })] })), error && jsx("p", { className: styles.error, children: error }), jsx("button", { type: "submit", className: styles.submitBtn, style: { backgroundColor: accentColor }, disabled: !canSubmit, children: uploading ? 'Uploading...' : submitting ? 'Sending...' : 'Send Feedback' })] }));
91
+ }, placeholder: t.placeholderEmail }), emailError && jsx("p", { className: styles.fieldError, children: emailError })] })] })), error && jsx("p", { className: styles.error, children: error }), jsx("button", { type: "submit", className: styles.submitBtn, style: { backgroundColor: accentColor }, disabled: !canSubmit, children: uploading ? t.btnUploading : submitting ? t.btnSending : t.btnSendFeedback })] }));
92
92
  }
93
93
 
94
94
  export { FeedbackForm };
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackForm.mjs","sources":["../../src/components/FeedbackForm.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackForm.mjs","sources":["../../src/components/FeedbackForm.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { HttpClient } from '../lib/http';
3
3
  import type { LogCollector } from '../lib/log-collector';
4
+ import type { Translations } from '../lib/i18n';
4
5
  interface FeedbackPanelProps {
5
6
  client: HttpClient;
6
7
  accentColor: string;
@@ -10,9 +11,16 @@ interface FeedbackPanelProps {
10
11
  logCollectorRef: React.RefObject<LogCollector | null>;
11
12
  metadata: Record<string, unknown>;
12
13
  position: 'bottom-right' | 'bottom-left';
14
+ offset?: {
15
+ bottom?: number;
16
+ left?: number;
17
+ right?: number;
18
+ };
19
+ panelBottomOffset?: number;
20
+ t: Translations;
13
21
  onClose: () => void;
14
22
  onSubmit?: (threadId: string) => void;
15
23
  }
16
- export declare function FeedbackPanel({ client, accentColor, greeting, placeholder, collectEmail, logCollectorRef, metadata, position, onClose, onSubmit, }: FeedbackPanelProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function FeedbackPanel({ client, accentColor, greeting, placeholder, collectEmail, logCollectorRef, metadata, position, offset, panelBottomOffset, t, onClose, onSubmit, }: FeedbackPanelProps): import("react/jsx-runtime").JSX.Element;
17
25
  export {};
18
26
  //# sourceMappingURL=FeedbackPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackPanel.d.ts","sourceRoot":"","sources":["../../src/components/FeedbackPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMzD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,cAAc,GAAG,aAAa,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAID,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,2CAsGpB"}
1
+ {"version":3,"file":"FeedbackPanel.d.ts","sourceRoot":"","sources":["../../src/components/FeedbackPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,cAAc,GAAG,aAAa,CAAC;IACzC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,EAAE,YAAY,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAID,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,CAAC,EACD,OAAO,EACP,QAAQ,GACT,EAAE,kBAAkB,2CA8GpB"}
@@ -5,7 +5,7 @@ import { ThreadList } from './ThreadList.mjs';
5
5
  import { ConversationView } from './ConversationView.mjs';
6
6
  import styles from './FeedbackPanel.module.css.mjs';
7
7
 
8
- function FeedbackPanel({ client, accentColor, greeting, placeholder, collectEmail, logCollectorRef, metadata, position, onClose, onSubmit, }) {
8
+ function FeedbackPanel({ client, accentColor, greeting, placeholder, collectEmail, logCollectorRef, metadata, position, offset, panelBottomOffset, t, onClose, onSubmit, }) {
9
9
  const [tab, setTab] = useState('new');
10
10
  const [selectedThread, setSelectedThread] = useState(null);
11
11
  const [isDark, setIsDark] = useState(false);
@@ -25,16 +25,23 @@ function FeedbackPanel({ client, accentColor, greeting, placeholder, collectEmai
25
25
  }, [onClose]);
26
26
  const posClass = position === 'bottom-left' ? styles.bottomLeft : styles.bottomRight;
27
27
  const themeClass = isDark ? styles.panelDark : styles.panelLight;
28
+ const inlinePos = {};
29
+ if (panelBottomOffset !== undefined)
30
+ inlinePos.bottom = panelBottomOffset;
31
+ if (position === 'bottom-right' && offset?.right !== undefined)
32
+ inlinePos.right = offset.right;
33
+ if (position === 'bottom-left' && offset?.left !== undefined)
34
+ inlinePos.left = offset.left;
28
35
  function renderBody() {
29
36
  if (selectedThread) {
30
- return (jsx(ConversationView, { client: client, thread: selectedThread, accentColor: accentColor, onBack: () => setSelectedThread(null) }));
37
+ return (jsx(ConversationView, { client: client, thread: selectedThread, accentColor: accentColor, t: t, onBack: () => setSelectedThread(null) }));
31
38
  }
32
39
  if (tab === 'new') {
33
- return (jsx(FeedbackForm, { client: client, accentColor: accentColor, placeholder: placeholder, collectEmail: collectEmail, logCollectorRef: logCollectorRef, metadata: metadata, onSubmit: onSubmit }));
40
+ return (jsx(FeedbackForm, { client: client, accentColor: accentColor, placeholder: placeholder, collectEmail: collectEmail, logCollectorRef: logCollectorRef, metadata: metadata, t: t, onSubmit: onSubmit }));
34
41
  }
35
- return (jsx(ThreadList, { client: client, onSelectThread: (thread) => setSelectedThread(thread) }));
42
+ return (jsx(ThreadList, { client: client, t: t, onSelectThread: (thread) => setSelectedThread(thread) }));
36
43
  }
37
- return (jsxs(Fragment, { children: [jsx("div", { className: styles.overlay, onClick: onClose }), jsxs("div", { className: `${styles.panel} ${posClass} ${themeClass}`, style: { '--pulse-accent': accentColor }, onClick: (e) => e.stopPropagation(), children: [jsxs("div", { className: styles.header, children: [jsx("p", { className: styles.greeting, children: greeting }), jsx("button", { type: "button", className: styles.closeBtn, onClick: onClose, "aria-label": "Close", children: jsxs("svg", { className: styles.closeIcon, viewBox: "0 0 24 24", children: [jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), !selectedThread && (jsxs("div", { className: styles.tabs, children: [jsx("button", { type: "button", className: `${styles.tab} ${tab === 'new' ? styles.tabActive : ''}`, style: tab === 'new' ? { borderBottomColor: accentColor } : undefined, onClick: () => setTab('new'), children: "New" }), jsx("button", { type: "button", className: `${styles.tab} ${tab === 'threads' ? styles.tabActive : ''}`, style: tab === 'threads' ? { borderBottomColor: accentColor } : undefined, onClick: () => setTab('threads'), children: "My Threads" })] })), jsx("div", { className: styles.body, children: renderBody() })] })] }));
44
+ return (jsxs(Fragment, { children: [jsx("div", { className: styles.overlay, onClick: onClose }), jsxs("div", { className: `${styles.panel} ${posClass} ${themeClass}`, style: { '--pulse-accent': accentColor, ...inlinePos }, onClick: (e) => e.stopPropagation(), children: [jsxs("div", { className: styles.header, children: [jsx("p", { className: styles.greeting, children: greeting }), jsx("button", { type: "button", className: styles.closeBtn, onClick: onClose, "aria-label": "Close", children: jsxs("svg", { className: styles.closeIcon, viewBox: "0 0 24 24", children: [jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }) })] }), !selectedThread && (jsxs("div", { className: styles.tabs, children: [jsx("button", { type: "button", className: `${styles.tab} ${tab === 'new' ? styles.tabActive : ''}`, style: tab === 'new' ? { borderBottomColor: accentColor } : undefined, onClick: () => setTab('new'), children: t.tabNew }), jsx("button", { type: "button", className: `${styles.tab} ${tab === 'threads' ? styles.tabActive : ''}`, style: tab === 'threads' ? { borderBottomColor: accentColor } : undefined, onClick: () => setTab('threads'), children: t.tabMyThreads })] })), jsx("div", { className: styles.body, children: renderBody() })] })] }));
38
45
  }
39
46
 
40
47
  export { FeedbackPanel };
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackPanel.mjs","sources":["../../src/components/FeedbackPanel.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"FeedbackPanel.mjs","sources":["../../src/components/FeedbackPanel.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import styleInject from '../node_modules/style-inject/dist/style-inject.es.mjs';
2
2
 
3
- var css_248z = ".FeedbackPanel-module_overlay__7EKR-{inset:0;position:fixed;z-index:9999}.FeedbackPanel-module_panel__kSC1b{animation:FeedbackPanel-module_slideUp__HxbOr .2s cubic-bezier(.22,1,.36,1);border-radius:16px;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-height:520px;overflow:hidden;position:fixed;width:380px;z-index:10000}.FeedbackPanel-module_panelLight__KDQJ4{--pulse-bg:#fff;--pulse-bg-secondary:#f9fafb;--pulse-bg-hover:#f3f4f6;--pulse-text-primary:#111827;--pulse-text-secondary:#6b7280;--pulse-text-tertiary:#9ca3af;--pulse-border:#e5e7eb;--pulse-border-strong:#d1d5db;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.12);color:#111827}.FeedbackPanel-module_panelDark__EUh4H{--pulse-bg:#1a1a2e;--pulse-bg-secondary:#16162a;--pulse-bg-hover:#22223a;--pulse-text-primary:#e5e7eb;--pulse-text-secondary:#9ca3af;--pulse-text-tertiary:#6b7280;--pulse-border:#2a2a40;--pulse-border-strong:#3a3a55;background:#1a1a2e;box-shadow:0 8px 40px rgba(0,0,0,.32);color:#e5e7eb}.FeedbackPanel-module_bottomRight__331Vd{bottom:72px;right:16px}.FeedbackPanel-module_bottomLeft__W1rlu{bottom:72px;left:16px}.FeedbackPanel-module_header__yWwBD{align-items:center;border-bottom:1px solid var(--pulse-border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.FeedbackPanel-module_greeting__DLD1g{color:var(--pulse-text-primary,#111827);font-size:15px;font-weight:600;margin:0}.FeedbackPanel-module_closeBtn__HdntP{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--pulse-text-secondary,#6b7280);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .12s ease;width:28px}.FeedbackPanel-module_closeBtn__HdntP:hover{background:var(--pulse-bg-hover,#f3f4f6)}.FeedbackPanel-module_closeIcon__eM6qt{stroke:currentColor;stroke-width:2;fill:none;height:18px;width:18px}.FeedbackPanel-module_tabs__-Tq3f{border-bottom:1px solid var(--pulse-border,#e5e7eb);display:flex;flex-shrink:0}.FeedbackPanel-module_tab__MgsxB{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--pulse-text-secondary,#6b7280);cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:500;padding:10px;transition:all .12s ease}.FeedbackPanel-module_tabActive__cSus0{border-bottom-color:var(--pulse-accent,#6366f1);color:var(--pulse-text-primary,#111827)}.FeedbackPanel-module_body__hp-M0{flex:1;overflow-y:auto;padding:16px}@keyframes FeedbackPanel-module_slideUp__HxbOr{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:479px){.FeedbackPanel-module_panel__kSC1b{border-radius:16px 16px 16px 16px;bottom:16px!important;left:16px!important;max-height:70vh;right:16px!important;width:calc(100vw - 32px)}}@media (prefers-reduced-motion:reduce){.FeedbackPanel-module_panel__kSC1b{animation:none}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZlZWRiYWNrUGFuZWwubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFRSxPQUFRLENBRFIsY0FBZSxDQUVmLFlBQ0YsQ0FFQSxtQ0FXRSwyRUFBdUQsQ0FOdkQsa0JBQW1CLENBRW5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsNEZBQ3FDLENBTnJDLGdCQUFpQixDQUVqQixlQUFnQixDQUxoQixjQUFlLENBRWYsV0FBWSxDQURaLGFBVUYsQ0FFQSx3Q0FJRSxlQUFtQixDQUNuQiw0QkFBNkIsQ0FDN0Isd0JBQXlCLENBQ3pCLDRCQUE2QixDQUM3Qiw4QkFBK0IsQ0FDL0IsNkJBQThCLENBQzlCLHNCQUF1QixDQUN2Qiw2QkFBOEIsQ0FWOUIsZUFBbUIsQ0FFbkIscUNBQTBDLENBRDFDLGFBVUYsQ0FFQSx1Q0FJRSxrQkFBbUIsQ0FDbkIsNEJBQTZCLENBQzdCLHdCQUF5QixDQUN6Qiw0QkFBNkIsQ0FDN0IsOEJBQStCLENBQy9CLDZCQUE4QixDQUM5QixzQkFBdUIsQ0FDdkIsNkJBQThCLENBVjlCLGtCQUFtQixDQUVuQixxQ0FBMEMsQ0FEMUMsYUFVRixDQUVBLHlDQUNFLFdBQVksQ0FDWixVQUNGLENBRUEsd0NBQ0UsV0FBWSxDQUNaLFNBQ0YsQ0FFQSxvQ0FFRSxrQkFBbUIsQ0FHbkIsbURBQXFELENBSnJELFlBQWEsQ0FLYixhQUFjLENBSGQsNkJBQThCLENBQzlCLGlCQUdGLENBRUEsc0NBSUUsdUNBQXlDLENBSHpDLGNBQWUsQ0FDZixlQUFnQixDQUNoQixRQUVGLENBRUEsc0NBUUUsa0JBQW1CLENBSG5CLHNCQUF1QixDQUR2QixXQUFZLENBRFosaUJBQWtCLENBT2xCLHlDQUEyQyxDQUozQyxjQUFlLENBQ2YsWUFBYSxDQUxiLFdBQVksQ0FPWixzQkFBdUIsQ0FHdkIsU0FBVSxDQURWLCtCQUFpQyxDQVZqQyxVQVlGLENBRUEsNENBQ0Usd0NBQ0YsQ0FFQSx1Q0FHRSxtQkFBb0IsQ0FDcEIsY0FBZSxDQUNmLFNBQVUsQ0FIVixXQUFZLENBRFosVUFLRixDQUVBLGtDQUVFLG1EQUFxRCxDQURyRCxZQUFhLENBRWIsYUFDRixDQUVBLGlDQUlFLHNCQUF1QixDQU92QixXQUFvQyxDQUFwQyxtQ0FBb0MsQ0FIcEMseUNBQTJDLENBSDNDLGNBQWUsQ0FKZixNQUFPLENBU1AsbUJBQW9CLENBSnBCLGNBQWUsQ0FDZixlQUFnQixDQUxoQixZQUFhLENBT2Isd0JBR0YsQ0FFQSx1Q0FDRSwrQ0FBaUQsQ0FDakQsdUNBQ0YsQ0FFQSxrQ0FDRSxNQUFPLENBQ1AsZUFBZ0IsQ0FDaEIsWUFDRixDQUVBLCtDQUNFLEdBQ0UsU0FBVSxDQUNWLHlCQUNGLENBQ0EsR0FDRSxTQUFVLENBQ1YsdUJBQ0YsQ0FDRixDQUdBLHlCQUNFLG1DQU1FLGlDQUFrQyxDQUhsQyxxQkFBdUIsQ0FDdkIsbUJBQXFCLENBRnJCLGVBQWdCLENBR2hCLG9CQUFzQixDQUp0Qix3QkFNRixDQUNGLENBRUEsdUNBQ0UsbUNBQ0UsY0FDRixDQUNGIiwiZmlsZSI6IkZlZWRiYWNrUGFuZWwubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLnBhbmVsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtaGVpZ2h0OiA1MjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLFxuICAgICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBhbmltYXRpb246IHNsaWRlVXAgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xufVxuXG4ucGFuZWxMaWdodCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMTExODI3O1xuICBib3gtc2hhZG93OiAwIDhweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIC0tcHVsc2UtYmc6ICNmZmZmZmY7XG4gIC0tcHVsc2UtYmctc2Vjb25kYXJ5OiAjZjlmYWZiO1xuICAtLXB1bHNlLWJnLWhvdmVyOiAjZjNmNGY2O1xuICAtLXB1bHNlLXRleHQtcHJpbWFyeTogIzExMTgyNztcbiAgLS1wdWxzZS10ZXh0LXNlY29uZGFyeTogIzZiNzI4MDtcbiAgLS1wdWxzZS10ZXh0LXRlcnRpYXJ5OiAjOWNhM2FmO1xuICAtLXB1bHNlLWJvcmRlcjogI2U1ZTdlYjtcbiAgLS1wdWxzZS1ib3JkZXItc3Ryb25nOiAjZDFkNWRiO1xufVxuXG4ucGFuZWxEYXJrIHtcbiAgYmFja2dyb3VuZDogIzFhMWEyZTtcbiAgY29sb3I6ICNlNWU3ZWI7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjMyKTtcbiAgLS1wdWxzZS1iZzogIzFhMWEyZTtcbiAgLS1wdWxzZS1iZy1zZWNvbmRhcnk6ICMxNjE2MmE7XG4gIC0tcHVsc2UtYmctaG92ZXI6ICMyMjIyM2E7XG4gIC0tcHVsc2UtdGV4dC1wcmltYXJ5OiAjZTVlN2ViO1xuICAtLXB1bHNlLXRleHQtc2Vjb25kYXJ5OiAjOWNhM2FmO1xuICAtLXB1bHNlLXRleHQtdGVydGlhcnk6ICM2YjcyODA7XG4gIC0tcHVsc2UtYm9yZGVyOiAjMmEyYTQwO1xuICAtLXB1bHNlLWJvcmRlci1zdHJvbmc6ICMzYTNhNTU7XG59XG5cbi5ib3R0b21SaWdodCB7XG4gIGJvdHRvbTogNzJweDtcbiAgcmlnaHQ6IDE2cHg7XG59XG5cbi5ib3R0b21MZWZ0IHtcbiAgYm90dG9tOiA3MnB4O1xuICBsZWZ0OiAxNnB4O1xufVxuXG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wdWxzZS1ib3JkZXIsICNlNWU3ZWIpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmdyZWV0aW5nIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1wdWxzZS10ZXh0LXByaW1hcnksICMxMTE4MjcpO1xufVxuXG4uY2xvc2VCdG4ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1wdWxzZS10ZXh0LXNlY29uZGFyeSwgIzZiNzI4MCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNsb3NlQnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHVsc2UtYmctaG92ZXIsICNmM2Y0ZjYpO1xufVxuXG4uY2xvc2VJY29uIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS13aWR0aDogMjtcbiAgZmlsbDogbm9uZTtcbn1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHVsc2UtYm9yZGVyLCAjZTVlN2ViKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50YWIge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLXB1bHNlLXRleHQtc2Vjb25kYXJ5LCAjNmI3MjgwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDEyMG1zIGVhc2U7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJBY3RpdmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wdWxzZS1hY2NlbnQsICM2MzY2ZjEpO1xuICBjb2xvcjogdmFyKC0tcHVsc2UtdGV4dC1wcmltYXJ5LCAjMTExODI3KTtcbn1cblxuLmJvZHkge1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAxNnB4O1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vKiBNb2JpbGU6IGZ1bGwtd2lkdGggYm90dG9tIHNoZWV0ICovXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLnBhbmVsIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDMycHgpO1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDE2cHggMTZweDtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGFuZWwge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuIl19 */";
3
+ var css_248z = ".FeedbackPanel-module_overlay__7EKR-{inset:0;position:fixed;z-index:9999}.FeedbackPanel-module_panel__kSC1b{animation:FeedbackPanel-module_slideUp__HxbOr .2s cubic-bezier(.22,1,.36,1);border-radius:16px;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;max-height:520px;overflow:hidden;position:fixed;width:380px;z-index:10000}.FeedbackPanel-module_panelLight__KDQJ4{--pulse-bg:#fff;--pulse-bg-secondary:#f9fafb;--pulse-bg-hover:#f3f4f6;--pulse-text-primary:#111827;--pulse-text-secondary:#6b7280;--pulse-text-tertiary:#9ca3af;--pulse-border:#e5e7eb;--pulse-border-strong:#d1d5db;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.12);color:#111827}.FeedbackPanel-module_panelDark__EUh4H{--pulse-bg:#1a1a2e;--pulse-bg-secondary:#16162a;--pulse-bg-hover:#22223a;--pulse-text-primary:#e5e7eb;--pulse-text-secondary:#9ca3af;--pulse-text-tertiary:#6b7280;--pulse-border:#2a2a40;--pulse-border-strong:#3a3a55;background:#1a1a2e;box-shadow:0 8px 40px rgba(0,0,0,.32);color:#e5e7eb}.FeedbackPanel-module_bottomRight__331Vd{bottom:72px;right:var(--pulse-offset-right,16px)}.FeedbackPanel-module_bottomLeft__W1rlu{bottom:72px;left:var(--pulse-offset-left,16px)}.FeedbackPanel-module_header__yWwBD{align-items:center;border-bottom:1px solid var(--pulse-border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.FeedbackPanel-module_greeting__DLD1g{color:var(--pulse-text-primary,#111827);font-size:15px;font-weight:600;margin:0}.FeedbackPanel-module_closeBtn__HdntP{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--pulse-text-secondary,#6b7280);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .12s ease;width:28px}.FeedbackPanel-module_closeBtn__HdntP:hover{background:var(--pulse-bg-hover,#f3f4f6)}.FeedbackPanel-module_closeIcon__eM6qt{stroke:currentColor;stroke-width:2;fill:none;height:18px;width:18px}.FeedbackPanel-module_tabs__-Tq3f{border-bottom:1px solid var(--pulse-border,#e5e7eb);display:flex;flex-shrink:0}.FeedbackPanel-module_tab__MgsxB{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--pulse-text-secondary,#6b7280);cursor:pointer;flex:1;font-family:inherit;font-size:13px;font-weight:500;padding:10px;transition:all .12s ease}.FeedbackPanel-module_tabActive__cSus0{border-bottom-color:var(--pulse-accent,#6366f1);color:var(--pulse-text-primary,#111827)}.FeedbackPanel-module_body__hp-M0{flex:1;overflow-y:auto;padding:16px}@keyframes FeedbackPanel-module_slideUp__HxbOr{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:479px){.FeedbackPanel-module_panel__kSC1b{border-radius:16px 16px 16px 16px;bottom:16px!important;left:16px!important;max-height:70vh;right:16px!important;width:calc(100vw - 32px)}}@media (prefers-reduced-motion:reduce){.FeedbackPanel-module_panel__kSC1b{animation:none}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZlZWRiYWNrUGFuZWwubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFRSxPQUFRLENBRFIsY0FBZSxDQUVmLFlBQ0YsQ0FFQSxtQ0FXRSwyRUFBdUQsQ0FOdkQsa0JBQW1CLENBRW5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsNEZBQ3FDLENBTnJDLGdCQUFpQixDQUVqQixlQUFnQixDQUxoQixjQUFlLENBRWYsV0FBWSxDQURaLGFBVUYsQ0FFQSx3Q0FJRSxlQUFtQixDQUNuQiw0QkFBNkIsQ0FDN0Isd0JBQXlCLENBQ3pCLDRCQUE2QixDQUM3Qiw4QkFBK0IsQ0FDL0IsNkJBQThCLENBQzlCLHNCQUF1QixDQUN2Qiw2QkFBOEIsQ0FWOUIsZUFBbUIsQ0FFbkIscUNBQTBDLENBRDFDLGFBVUYsQ0FFQSx1Q0FJRSxrQkFBbUIsQ0FDbkIsNEJBQTZCLENBQzdCLHdCQUF5QixDQUN6Qiw0QkFBNkIsQ0FDN0IsOEJBQStCLENBQy9CLDZCQUE4QixDQUM5QixzQkFBdUIsQ0FDdkIsNkJBQThCLENBVjlCLGtCQUFtQixDQUVuQixxQ0FBMEMsQ0FEMUMsYUFVRixDQUVBLHlDQUNFLFdBQVksQ0FDWixvQ0FDRixDQUVBLHdDQUNFLFdBQVksQ0FDWixrQ0FDRixDQUVBLG9DQUVFLGtCQUFtQixDQUduQixtREFBcUQsQ0FKckQsWUFBYSxDQUtiLGFBQWMsQ0FIZCw2QkFBOEIsQ0FDOUIsaUJBR0YsQ0FFQSxzQ0FJRSx1Q0FBeUMsQ0FIekMsY0FBZSxDQUNmLGVBQWdCLENBQ2hCLFFBRUYsQ0FFQSxzQ0FRRSxrQkFBbUIsQ0FIbkIsc0JBQXVCLENBRHZCLFdBQVksQ0FEWixpQkFBa0IsQ0FPbEIseUNBQTJDLENBSjNDLGNBQWUsQ0FDZixZQUFhLENBTGIsV0FBWSxDQU9aLHNCQUF1QixDQUd2QixTQUFVLENBRFYsK0JBQWlDLENBVmpDLFVBWUYsQ0FFQSw0Q0FDRSx3Q0FDRixDQUVBLHVDQUdFLG1CQUFvQixDQUNwQixjQUFlLENBQ2YsU0FBVSxDQUhWLFdBQVksQ0FEWixVQUtGLENBRUEsa0NBRUUsbURBQXFELENBRHJELFlBQWEsQ0FFYixhQUNGLENBRUEsaUNBSUUsc0JBQXVCLENBT3ZCLFdBQW9DLENBQXBDLG1DQUFvQyxDQUhwQyx5Q0FBMkMsQ0FIM0MsY0FBZSxDQUpmLE1BQU8sQ0FTUCxtQkFBb0IsQ0FKcEIsY0FBZSxDQUNmLGVBQWdCLENBTGhCLFlBQWEsQ0FPYix3QkFHRixDQUVBLHVDQUNFLCtDQUFpRCxDQUNqRCx1Q0FDRixDQUVBLGtDQUNFLE1BQU8sQ0FDUCxlQUFnQixDQUNoQixZQUNGLENBRUEsK0NBQ0UsR0FDRSxTQUFVLENBQ1YseUJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVix1QkFDRixDQUNGLENBR0EseUJBQ0UsbUNBTUUsaUNBQWtDLENBSGxDLHFCQUF1QixDQUN2QixtQkFBcUIsQ0FGckIsZUFBZ0IsQ0FHaEIsb0JBQXNCLENBSnRCLHdCQU1GLENBQ0YsQ0FFQSx1Q0FDRSxtQ0FDRSxjQUNGLENBQ0YiLCJmaWxlIjoiRmVlZGJhY2tQYW5lbC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4ucGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogMzgwcHg7XG4gIG1heC1oZWlnaHQ6IDUyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sXG4gICAgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGFuaW1hdGlvbjogc2xpZGVVcCAyMDBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG59XG5cbi5wYW5lbExpZ2h0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMxMTE4Mjc7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgLS1wdWxzZS1iZzogI2ZmZmZmZjtcbiAgLS1wdWxzZS1iZy1zZWNvbmRhcnk6ICNmOWZhZmI7XG4gIC0tcHVsc2UtYmctaG92ZXI6ICNmM2Y0ZjY7XG4gIC0tcHVsc2UtdGV4dC1wcmltYXJ5OiAjMTExODI3O1xuICAtLXB1bHNlLXRleHQtc2Vjb25kYXJ5OiAjNmI3MjgwO1xuICAtLXB1bHNlLXRleHQtdGVydGlhcnk6ICM5Y2EzYWY7XG4gIC0tcHVsc2UtYm9yZGVyOiAjZTVlN2ViO1xuICAtLXB1bHNlLWJvcmRlci1zdHJvbmc6ICNkMWQ1ZGI7XG59XG5cbi5wYW5lbERhcmsge1xuICBiYWNrZ3JvdW5kOiAjMWExYTJlO1xuICBjb2xvcjogI2U1ZTdlYjtcbiAgYm94LXNoYWRvdzogMCA4cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMzIpO1xuICAtLXB1bHNlLWJnOiAjMWExYTJlO1xuICAtLXB1bHNlLWJnLXNlY29uZGFyeTogIzE2MTYyYTtcbiAgLS1wdWxzZS1iZy1ob3ZlcjogIzIyMjIzYTtcbiAgLS1wdWxzZS10ZXh0LXByaW1hcnk6ICNlNWU3ZWI7XG4gIC0tcHVsc2UtdGV4dC1zZWNvbmRhcnk6ICM5Y2EzYWY7XG4gIC0tcHVsc2UtdGV4dC10ZXJ0aWFyeTogIzZiNzI4MDtcbiAgLS1wdWxzZS1ib3JkZXI6ICMyYTJhNDA7XG4gIC0tcHVsc2UtYm9yZGVyLXN0cm9uZzogIzNhM2E1NTtcbn1cblxuLmJvdHRvbVJpZ2h0IHtcbiAgYm90dG9tOiA3MnB4O1xuICByaWdodDogdmFyKC0tcHVsc2Utb2Zmc2V0LXJpZ2h0LCAxNnB4KTtcbn1cblxuLmJvdHRvbUxlZnQge1xuICBib3R0b206IDcycHg7XG4gIGxlZnQ6IHZhcigtLXB1bHNlLW9mZnNldC1sZWZ0LCAxNnB4KTtcbn1cblxuLmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHVsc2UtYm9yZGVyLCAjZTVlN2ViKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ncmVldGluZyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tcHVsc2UtdGV4dC1wcmltYXJ5LCAjMTExODI3KTtcbn1cblxuLmNsb3NlQnRuIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tcHVsc2UtdGV4dC1zZWNvbmRhcnksICM2YjcyODApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2U7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jbG9zZUJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXB1bHNlLWJnLWhvdmVyLCAjZjNmNGY2KTtcbn1cblxuLmNsb3NlSWNvbiB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDI7XG4gIGZpbGw6IG5vbmU7XG59XG5cbi50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXB1bHNlLWJvcmRlciwgI2U1ZTdlYik7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGFiIHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1wdWxzZS10ZXh0LXNlY29uZGFyeSwgIzZiNzI4MCk7XG4gIHRyYW5zaXRpb246IGFsbCAxMjBtcyBlYXNlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4udGFiQWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcHVsc2UtYWNjZW50LCAjNjM2NmYxKTtcbiAgY29sb3I6IHZhcigtLXB1bHNlLXRleHQtcHJpbWFyeSwgIzExMTgyNyk7XG59XG5cbi5ib2R5IHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMTZweDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLyogTW9iaWxlOiBmdWxsLXdpZHRoIGJvdHRvbSBzaGVldCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC5wYW5lbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTtcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgIGJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICByaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAxNnB4IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnBhbmVsIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cbiJdfQ== */";
4
4
  var styles = {"overlay":"FeedbackPanel-module_overlay__7EKR-","panel":"FeedbackPanel-module_panel__kSC1b","panelLight":"FeedbackPanel-module_panelLight__KDQJ4","panelDark":"FeedbackPanel-module_panelDark__EUh4H","bottomRight":"FeedbackPanel-module_bottomRight__331Vd","bottomLeft":"FeedbackPanel-module_bottomLeft__W1rlu","header":"FeedbackPanel-module_header__yWwBD","greeting":"FeedbackPanel-module_greeting__DLD1g","closeBtn":"FeedbackPanel-module_closeBtn__HdntP","closeIcon":"FeedbackPanel-module_closeIcon__eM6qt","tabs":"FeedbackPanel-module_tabs__-Tq3f","tab":"FeedbackPanel-module_tab__MgsxB","tabActive":"FeedbackPanel-module_tabActive__cSus0","body":"FeedbackPanel-module_body__hp-M0"};
5
5
  styleInject(css_248z);
6
6
 
@@ -1,13 +1,16 @@
1
1
  import React from 'react';
2
+ import type { Translations } from '../lib/i18n';
2
3
  interface ImagePickerProps {
3
4
  files: File[];
4
5
  onFilesSelected: (files: File[]) => void;
5
6
  onRemove: (index: number) => void;
7
+ onReplaceFile?: (index: number, file: File) => void;
6
8
  maxFiles?: number;
7
9
  accentColor: string;
8
10
  disabled?: boolean;
11
+ t?: Translations;
9
12
  }
10
- export declare function ImagePicker({ files, onFilesSelected, onRemove, maxFiles, accentColor, disabled, }: ImagePickerProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function ImagePicker({ files, onFilesSelected, onRemove, onReplaceFile, maxFiles, accentColor, disabled, t, }: ImagePickerProps): import("react/jsx-runtime").JSX.Element;
11
14
  /** Extract image files from a clipboard paste event */
12
15
  export declare function getClipboardImages(e: React.ClipboardEvent): File[];
13
16
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ImagePicker.d.ts","sourceRoot":"","sources":["../../src/components/ImagePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,UAAU,gBAAgB;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,eAAe,EACf,QAAQ,EACR,QAAY,EACZ,WAAW,EACX,QAAgB,GACjB,EAAE,gBAAgB,2CAyElB;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,EAAE,CAMlE"}
1
+ {"version":3,"file":"ImagePicker.d.ts","sourceRoot":"","sources":["../../src/components/ImagePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOhD,UAAU,gBAAgB;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,CAAC,EAAE,YAAY,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,QAAY,EACZ,WAAW,EACX,QAAgB,EAChB,CAAC,GACF,EAAE,gBAAgB,2CAiGlB;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,EAAE,CAMlE"}
@@ -1,12 +1,14 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useState, useEffect } from 'react';
3
+ import { ScreenshotEditor } from './ScreenshotEditor.mjs';
3
4
  import styles from './ImagePicker.module.css.mjs';
4
5
 
5
6
  const ALLOWED_TYPES = ['image/png', 'image/jpeg', 'image/gif', 'image/webp'];
6
7
  const MAX_SIZE = 5 * 1024 * 1024;
7
- function ImagePicker({ files, onFilesSelected, onRemove, maxFiles = 3, accentColor, disabled = false, }) {
8
+ function ImagePicker({ files, onFilesSelected, onRemove, onReplaceFile, maxFiles = 3, accentColor, disabled = false, t, }) {
8
9
  const inputRef = useRef(null);
9
10
  const [previews, setPreviews] = useState([]);
11
+ const [editingIndex, setEditingIndex] = useState(null);
10
12
  useEffect(() => {
11
13
  const urls = files.map((f) => URL.createObjectURL(f));
12
14
  setPreviews(urls);
@@ -27,7 +29,11 @@ function ImagePicker({ files, onFilesSelected, onRemove, maxFiles = 3, accentCol
27
29
  if (valid.length > 0)
28
30
  onFilesSelected(valid);
29
31
  }
30
- return (jsxs("div", { className: styles.picker, children: [jsx("input", { ref: inputRef, type: "file", accept: "image/png,image/jpeg,image/gif,image/webp", multiple: true, className: styles.hidden, onChange: handleChange, disabled: disabled }), files.length < maxFiles && (jsx("button", { type: "button", className: styles.attachBtn, onClick: () => inputRef.current?.click(), disabled: disabled, title: "Attach images", children: jsx("svg", { className: styles.icon, viewBox: "0 0 24 24", children: jsx("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" }) }) })), previews.length > 0 && (jsx("div", { className: styles.thumbs, children: previews.map((url, i) => (jsxs("div", { className: styles.thumbWrap, children: [jsx("img", { className: styles.thumb, src: url, alt: files[i]?.name }), jsx("button", { type: "button", className: styles.remove, onClick: () => onRemove(i), disabled: disabled, style: { backgroundColor: accentColor }, children: "\u00D7" })] }, i))) }))] }));
32
+ return (jsxs("div", { className: styles.picker, children: [jsx("input", { ref: inputRef, type: "file", accept: "image/png,image/jpeg,image/gif,image/webp", multiple: true, className: styles.hidden, onChange: handleChange, disabled: disabled }), files.length < maxFiles && (jsx("button", { type: "button", className: styles.attachBtn, onClick: () => inputRef.current?.click(), disabled: disabled, title: t?.attachImages || 'Attach images', children: jsx("svg", { className: styles.icon, viewBox: "0 0 24 24", children: jsx("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48" }) }) })), previews.length > 0 && (jsx("div", { className: styles.thumbs, children: previews.map((url, i) => (jsxs("div", { className: styles.thumbWrap, children: [jsx("img", { className: styles.thumb, src: url, alt: files[i]?.name }), onReplaceFile && (jsx("button", { type: "button", className: styles.editBtn, onClick: () => setEditingIndex(i), disabled: disabled, children: "\u270E" })), jsx("button", { type: "button", className: styles.remove, onClick: () => onRemove(i), disabled: disabled, style: { backgroundColor: accentColor }, children: "\u00D7" })] }, i))) })), editingIndex !== null && previews[editingIndex] && t && (jsx(ScreenshotEditor, { imageUrl: previews[editingIndex], t: t, onDone: (blob) => {
33
+ const file = new File([blob], files[editingIndex].name, { type: 'image/png' });
34
+ onReplaceFile?.(editingIndex, file);
35
+ setEditingIndex(null);
36
+ }, onCancel: () => setEditingIndex(null) }))] }));
31
37
  }
32
38
  /** Extract image files from a clipboard paste event */
33
39
  function getClipboardImages(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImagePicker.mjs","sources":["../../src/components/ImagePicker.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ImagePicker.mjs","sources":["../../src/components/ImagePicker.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../node_modules/style-inject/dist/style-inject.es.mjs';
2
2
 
3
- var css_248z = ".ImagePicker-module_picker__8tgcC{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ImagePicker-module_hidden__1X7xg{display:none}.ImagePicker-module_attachBtn__2pk-P{align-items:center;background:var(--pulse-bg,#fff);border:1px solid var(--pulse-border,#e5e7eb);border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:border-color .12s ease;width:32px}.ImagePicker-module_attachBtn__2pk-P:hover{border-color:var(--pulse-accent,#6366f1)}.ImagePicker-module_attachBtn__2pk-P:disabled{cursor:not-allowed;opacity:.4}.ImagePicker-module_icon__0AoQY{stroke:var(--pulse-text-secondary,#6b7280);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.ImagePicker-module_thumbs__dae6n{display:flex;flex-wrap:wrap;gap:6px}.ImagePicker-module_thumbWrap__03OD-{border:1px solid var(--pulse-border,#e5e7eb);border-radius:6px;height:48px;overflow:hidden;position:relative;width:48px}.ImagePicker-module_thumb__DaGDa{display:block;height:100%;object-fit:cover;width:100%}.ImagePicker-module_remove__IvsEj{align-items:center;border:none;border-radius:0 5px 0 4px;color:#fff;cursor:pointer;display:flex;font-size:13px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:-1px;top:-1px;width:18px}.ImagePicker-module_remove__IvsEj:disabled{cursor:not-allowed;opacity:.5}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlUGlja2VyLm1vZHVsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FHYixjQUFlLENBRGYsT0FFRixDQUVBLGtDQUNFLFlBQ0YsQ0FFQSxxQ0FRRSxrQkFBbUIsQ0FIbkIsK0JBQW9DLENBRHBDLDRDQUE4QyxDQUQ5QyxpQkFBa0IsQ0FHbEIsY0FBZSxDQUNmLFlBQWEsQ0FHYixhQUFjLENBUmQsV0FBWSxDQU9aLHNCQUF1QixDQUV2QixpQ0FBbUMsQ0FWbkMsVUFXRixDQUVBLDJDQUNFLHdDQUNGLENBRUEsOENBRUUsa0JBQW1CLENBRG5CLFVBRUYsQ0FFQSxnQ0FHRSwwQ0FBNEMsQ0FDNUMsY0FBZSxDQUNmLFNBQVUsQ0FDVixvQkFBcUIsQ0FDckIscUJBQXNCLENBTHRCLFdBQVksQ0FEWixVQU9GLENBRUEsa0NBQ0UsWUFBYSxDQUViLGNBQWUsQ0FEZixPQUVGLENBRUEscUNBTUUsNENBQThDLENBRjlDLGlCQUFrQixDQURsQixXQUFZLENBRVosZUFBZ0IsQ0FKaEIsaUJBQWtCLENBQ2xCLFVBS0YsQ0FFQSxpQ0FJRSxhQUFjLENBRmQsV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUlGLENBRUEsa0NBYUUsa0JBQW1CLENBTm5CLFdBQVksQ0FEWix5QkFBMEIsQ0FFMUIsVUFBYyxDQUdkLGNBQWUsQ0FDZixZQUFhLENBSGIsY0FBZSxDQUpmLFdBQVksQ0FTWixzQkFBdUIsQ0FKdkIsYUFBYyxDQUtkLFNBQVUsQ0FkVixpQkFBa0IsQ0FFbEIsVUFBVyxDQURYLFFBQVMsQ0FFVCxVQVlGLENBRUEsMkNBRUUsa0JBQW1CLENBRG5CLFVBRUYiLCJmaWxlIjoiSW1hZ2VQaWNrZXIubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5waWNrZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmF0dGFjaEJ0biB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHVsc2UtYm9yZGVyLCAjZTVlN2ViKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHVsc2UtYmcsICNmZmZmZmYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7XG59XG5cbi5hdHRhY2hCdG46aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXB1bHNlLWFjY2VudCwgIzYzNjZmMSk7XG59XG5cbi5hdHRhY2hCdG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgc3Ryb2tlOiB2YXIoLS1wdWxzZS10ZXh0LXNlY29uZGFyeSwgIzZiNzI4MCk7XG4gIHN0cm9rZS13aWR0aDogMjtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xufVxuXG4udGh1bWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRodW1iV3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wdWxzZS1ib3JkZXIsICNlNWU3ZWIpO1xufVxuXG4udGh1bWIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZW1vdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgNXB4IDAgNHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmVtb3ZlOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIl19 */";
4
- var styles = {"picker":"ImagePicker-module_picker__8tgcC","hidden":"ImagePicker-module_hidden__1X7xg","attachBtn":"ImagePicker-module_attachBtn__2pk-P","icon":"ImagePicker-module_icon__0AoQY","thumbs":"ImagePicker-module_thumbs__dae6n","thumbWrap":"ImagePicker-module_thumbWrap__03OD-","thumb":"ImagePicker-module_thumb__DaGDa","remove":"ImagePicker-module_remove__IvsEj"};
3
+ var css_248z = ".ImagePicker-module_picker__8tgcC{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ImagePicker-module_hidden__1X7xg{display:none}.ImagePicker-module_attachBtn__2pk-P{align-items:center;background:var(--pulse-bg,#fff);border:1px solid var(--pulse-border,#e5e7eb);border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:border-color .12s ease;width:32px}.ImagePicker-module_attachBtn__2pk-P:hover{border-color:var(--pulse-accent,#6366f1)}.ImagePicker-module_attachBtn__2pk-P:disabled{cursor:not-allowed;opacity:.4}.ImagePicker-module_icon__0AoQY{stroke:var(--pulse-text-secondary,#6b7280);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.ImagePicker-module_thumbs__dae6n{display:flex;flex-wrap:wrap;gap:6px}.ImagePicker-module_thumbWrap__03OD-{border:1px solid var(--pulse-border,#e5e7eb);border-radius:6px;height:48px;overflow:hidden;position:relative;width:48px}.ImagePicker-module_thumb__DaGDa{display:block;height:100%;object-fit:cover;width:100%}.ImagePicker-module_remove__IvsEj{align-items:center;border:none;border-radius:0 5px 0 4px;color:#fff;cursor:pointer;display:flex;font-size:13px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:-1px;top:-1px;width:18px}.ImagePicker-module_remove__IvsEj:disabled{cursor:not-allowed;opacity:.5}.ImagePicker-module_editBtn__7lPfO{align-items:center;background:rgba(0,0,0,.6);border:none;border-radius:4px 0 5px 0;bottom:-1px;color:#fff;cursor:pointer;display:flex;font-size:11px;height:18px;justify-content:center;line-height:1;padding:0;position:absolute;right:-1px;width:18px}.ImagePicker-module_editBtn__7lPfO:disabled{cursor:not-allowed;opacity:.5}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlUGlja2VyLm1vZHVsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FHYixjQUFlLENBRGYsT0FFRixDQUVBLGtDQUNFLFlBQ0YsQ0FFQSxxQ0FRRSxrQkFBbUIsQ0FIbkIsK0JBQW9DLENBRHBDLDRDQUE4QyxDQUQ5QyxpQkFBa0IsQ0FHbEIsY0FBZSxDQUNmLFlBQWEsQ0FHYixhQUFjLENBUmQsV0FBWSxDQU9aLHNCQUF1QixDQUV2QixpQ0FBbUMsQ0FWbkMsVUFXRixDQUVBLDJDQUNFLHdDQUNGLENBRUEsOENBRUUsa0JBQW1CLENBRG5CLFVBRUYsQ0FFQSxnQ0FHRSwwQ0FBNEMsQ0FDNUMsY0FBZSxDQUNmLFNBQVUsQ0FDVixvQkFBcUIsQ0FDckIscUJBQXNCLENBTHRCLFdBQVksQ0FEWixVQU9GLENBRUEsa0NBQ0UsWUFBYSxDQUViLGNBQWUsQ0FEZixPQUVGLENBRUEscUNBTUUsNENBQThDLENBRjlDLGlCQUFrQixDQURsQixXQUFZLENBRVosZUFBZ0IsQ0FKaEIsaUJBQWtCLENBQ2xCLFVBS0YsQ0FFQSxpQ0FJRSxhQUFjLENBRmQsV0FBWSxDQUNaLGdCQUFpQixDQUZqQixVQUlGLENBRUEsa0NBYUUsa0JBQW1CLENBTm5CLFdBQVksQ0FEWix5QkFBMEIsQ0FFMUIsVUFBYyxDQUdkLGNBQWUsQ0FDZixZQUFhLENBSGIsY0FBZSxDQUpmLFdBQVksQ0FTWixzQkFBdUIsQ0FKdkIsYUFBYyxDQUtkLFNBQVUsQ0FkVixpQkFBa0IsQ0FFbEIsVUFBVyxDQURYLFFBQVMsQ0FFVCxVQVlGLENBRUEsMkNBRUUsa0JBQW1CLENBRG5CLFVBRUYsQ0FFQSxtQ0FjRSxrQkFBbUIsQ0FObkIseUJBQThCLENBRDlCLFdBQVksQ0FEWix5QkFBMEIsQ0FKMUIsV0FBWSxDQU9aLFVBQWMsQ0FHZCxjQUFlLENBQ2YsWUFBYSxDQUhiLGNBQWUsQ0FMZixXQUFZLENBVVosc0JBQXVCLENBSnZCLGFBQWMsQ0FLZCxTQUFVLENBZlYsaUJBQWtCLENBRWxCLFVBQVcsQ0FDWCxVQWFGLENBRUEsNENBRUUsa0JBQW1CLENBRG5CLFVBRUYiLCJmaWxlIjoiSW1hZ2VQaWNrZXIubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5waWNrZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmF0dGFjaEJ0biB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHVsc2UtYm9yZGVyLCAjZTVlN2ViKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHVsc2UtYmcsICNmZmZmZmYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7XG59XG5cbi5hdHRhY2hCdG46aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXB1bHNlLWFjY2VudCwgIzYzNjZmMSk7XG59XG5cbi5hdHRhY2hCdG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgc3Ryb2tlOiB2YXIoLS1wdWxzZS10ZXh0LXNlY29uZGFyeSwgIzZiNzI4MCk7XG4gIHN0cm9rZS13aWR0aDogMjtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xufVxuXG4udGh1bWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRodW1iV3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wdWxzZS1ib3JkZXIsICNlNWU3ZWIpO1xufVxuXG4udGh1bWIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZW1vdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgNXB4IDAgNHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmVtb3ZlOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZWRpdEJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgNXB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmVkaXRCdG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4iXX0= */";
4
+ var styles = {"picker":"ImagePicker-module_picker__8tgcC","hidden":"ImagePicker-module_hidden__1X7xg","attachBtn":"ImagePicker-module_attachBtn__2pk-P","icon":"ImagePicker-module_icon__0AoQY","thumbs":"ImagePicker-module_thumbs__dae6n","thumbWrap":"ImagePicker-module_thumbWrap__03OD-","thumb":"ImagePicker-module_thumb__DaGDa","remove":"ImagePicker-module_remove__IvsEj","editBtn":"ImagePicker-module_editBtn__7lPfO"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { styles as default };