@qwanyx/ai-editor 1.3.10 → 1.3.12

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.
@@ -10,6 +10,7 @@ export interface ImagePayload {
10
10
  altText?: string;
11
11
  width?: number;
12
12
  height?: number;
13
+ title?: string;
13
14
  copyright?: string;
14
15
  photographer?: string;
15
16
  comment?: string;
@@ -20,6 +21,10 @@ export interface ImagePayload {
20
21
  captionSize?: CaptionSizeType;
21
22
  showFileName?: boolean;
22
23
  showAltText?: boolean;
24
+ showTitle?: boolean;
25
+ showPhotographer?: boolean;
26
+ showCopyright?: boolean;
27
+ showComment?: boolean;
23
28
  borderWidth?: number;
24
29
  borderColor?: string;
25
30
  borderRadius?: number;
@@ -33,6 +38,7 @@ export type SerializedImageNode = Spread<{
33
38
  altText: string;
34
39
  width?: number;
35
40
  height?: number;
41
+ title?: string;
36
42
  copyright?: string;
37
43
  photographer?: string;
38
44
  comment?: string;
@@ -43,6 +49,10 @@ export type SerializedImageNode = Spread<{
43
49
  captionSize?: CaptionSizeType;
44
50
  showFileName?: boolean;
45
51
  showAltText?: boolean;
52
+ showTitle?: boolean;
53
+ showPhotographer?: boolean;
54
+ showCopyright?: boolean;
55
+ showComment?: boolean;
46
56
  borderWidth?: number;
47
57
  borderColor?: string;
48
58
  borderRadius?: number;
@@ -56,6 +66,7 @@ export declare class ImageNode extends DecoratorNode<React.ReactElement> {
56
66
  __altText: string;
57
67
  __width?: number;
58
68
  __height?: number;
69
+ __title?: string;
59
70
  __copyright?: string;
60
71
  __photographer?: string;
61
72
  __comment?: string;
@@ -66,6 +77,10 @@ export declare class ImageNode extends DecoratorNode<React.ReactElement> {
66
77
  __captionSize?: CaptionSizeType;
67
78
  __showFileName?: boolean;
68
79
  __showAltText?: boolean;
80
+ __showTitle?: boolean;
81
+ __showPhotographer?: boolean;
82
+ __showCopyright?: boolean;
83
+ __showComment?: boolean;
69
84
  __borderWidth?: number;
70
85
  __borderColor?: string;
71
86
  __borderRadius?: number;
@@ -75,7 +90,7 @@ export declare class ImageNode extends DecoratorNode<React.ReactElement> {
75
90
  __shadowColor?: string;
76
91
  static getType(): string;
77
92
  static clone(node: ImageNode): ImageNode;
78
- constructor(src: string, altText?: string, width?: number, height?: number, copyright?: string, photographer?: string, comment?: string, float?: ImageFloatType, captionPosition?: CaptionPositionType, captionAlign?: CaptionAlignType, captionVerticalAlign?: CaptionVerticalAlignType, captionSize?: CaptionSizeType, showFileName?: boolean, showAltText?: boolean, borderWidth?: number, borderColor?: string, borderRadius?: number, shadowOffsetX?: number, shadowOffsetY?: number, shadowBlur?: number, shadowColor?: string, key?: NodeKey);
93
+ constructor(src: string, altText?: string, width?: number, height?: number, title?: string, copyright?: string, photographer?: string, comment?: string, float?: ImageFloatType, captionPosition?: CaptionPositionType, captionAlign?: CaptionAlignType, captionVerticalAlign?: CaptionVerticalAlignType, captionSize?: CaptionSizeType, showFileName?: boolean, showAltText?: boolean, showTitle?: boolean, showPhotographer?: boolean, showCopyright?: boolean, showComment?: boolean, borderWidth?: number, borderColor?: string, borderRadius?: number, shadowOffsetX?: number, shadowOffsetY?: number, shadowBlur?: number, shadowColor?: string, key?: NodeKey);
79
94
  createDOM(): HTMLElement;
80
95
  updateDOM(): false;
81
96
  setSrc(src: string): void;
@@ -106,6 +121,16 @@ export declare class ImageNode extends DecoratorNode<React.ReactElement> {
106
121
  getShowFileName(): boolean | undefined;
107
122
  setShowAltText(showAltText: boolean | undefined): void;
108
123
  getShowAltText(): boolean | undefined;
124
+ setTitle(title: string | undefined): void;
125
+ getTitle(): string | undefined;
126
+ setShowTitle(showTitle: boolean | undefined): void;
127
+ getShowTitle(): boolean | undefined;
128
+ setShowPhotographer(showPhotographer: boolean | undefined): void;
129
+ getShowPhotographer(): boolean | undefined;
130
+ setShowCopyright(showCopyright: boolean | undefined): void;
131
+ getShowCopyright(): boolean | undefined;
132
+ setShowComment(showComment: boolean | undefined): void;
133
+ getShowComment(): boolean | undefined;
109
134
  setBorderWidth(borderWidth: number | undefined): void;
110
135
  getBorderWidth(): number | undefined;
111
136
  setBorderColor(borderColor: string | undefined): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageNode.d.ts","sourceRoot":"","sources":["../../src/nodes/ImageNode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageNode.d.ts","sourceRoot":"","sources":["../../src/nodes/ImageNode.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const CAPTION_FONT_SIZES = {
17
17
  medium: { base: 16, alt: 18 },
18
18
  large: { base: 24, alt: 26 }
19
19
  };
20
- function ImageComponent({ src, altText, width, height, copyright: initialCopyright, photographer: initialPhotographer, comment: initialComment, float: initialFloat, captionPosition: initialCaptionPosition, captionAlign: initialCaptionAlign, captionVerticalAlign: initialCaptionVerticalAlign, captionSize: initialCaptionSize, showFileName: initialShowFileName, showAltText: initialShowAltText, borderWidth: initialBorderWidth, borderColor: initialBorderColor, borderRadius: initialBorderRadius, shadowOffsetX: initialShadowOffsetX, shadowOffsetY: initialShadowOffsetY, shadowBlur: initialShadowBlur, shadowColor: initialShadowColor, nodeKey, }) {
20
+ function ImageComponent({ src, altText, width, height, title: initialTitle, copyright: initialCopyright, photographer: initialPhotographer, comment: initialComment, float: initialFloat, captionPosition: initialCaptionPosition, captionAlign: initialCaptionAlign, captionVerticalAlign: initialCaptionVerticalAlign, captionSize: initialCaptionSize, showFileName: initialShowFileName, showAltText: initialShowAltText, showTitle: initialShowTitle, showPhotographer: initialShowPhotographer, showCopyright: initialShowCopyright, showComment: initialShowComment, borderWidth: initialBorderWidth, borderColor: initialBorderColor, borderRadius: initialBorderRadius, shadowOffsetX: initialShadowOffsetX, shadowOffsetY: initialShadowOffsetY, shadowBlur: initialShadowBlur, shadowColor: initialShadowColor, nodeKey, }) {
21
21
  const [editor] = (0, LexicalComposerContext_1.useLexicalComposerContext)();
22
22
  const { isViewer } = (0, EditorModeContext_1.useEditorMode)();
23
23
  const containerRef = (0, react_1.useRef)(null);
@@ -27,8 +27,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
27
27
  const [isResizing, setIsResizing] = (0, react_1.useState)(false);
28
28
  const [showMetadataEditor, setShowMetadataEditor] = (0, react_1.useState)(false);
29
29
  const [showFullscreen, setShowFullscreen] = (0, react_1.useState)(false);
30
+ const [activeTab, setActiveTab] = (0, react_1.useState)('info');
30
31
  const [currentWidth, setCurrentWidth] = (0, react_1.useState)(width);
31
32
  // Local state for display (updated after save)
33
+ const [displayTitle, setDisplayTitle] = (0, react_1.useState)(initialTitle);
32
34
  const [displayCopyright, setDisplayCopyright] = (0, react_1.useState)(initialCopyright);
33
35
  const [displayPhotographer, setDisplayPhotographer] = (0, react_1.useState)(initialPhotographer);
34
36
  const [displayComment, setDisplayComment] = (0, react_1.useState)(initialComment);
@@ -39,6 +41,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
39
41
  const [displayCaptionSize, setDisplayCaptionSize] = (0, react_1.useState)(initialCaptionSize || 'small');
40
42
  const [displayShowFileName, setDisplayShowFileName] = (0, react_1.useState)(initialShowFileName || false);
41
43
  const [displayShowAltText, setDisplayShowAltText] = (0, react_1.useState)(initialShowAltText !== false);
44
+ const [displayShowTitle, setDisplayShowTitle] = (0, react_1.useState)(initialShowTitle !== false);
45
+ const [displayShowPhotographer, setDisplayShowPhotographer] = (0, react_1.useState)(initialShowPhotographer !== false);
46
+ const [displayShowCopyright, setDisplayShowCopyright] = (0, react_1.useState)(initialShowCopyright !== false);
47
+ const [displayShowComment, setDisplayShowComment] = (0, react_1.useState)(initialShowComment !== false);
42
48
  const [displayBorderWidth, setDisplayBorderWidth] = (0, react_1.useState)(initialBorderWidth || 0);
43
49
  const [displayBorderColor, setDisplayBorderColor] = (0, react_1.useState)(initialBorderColor || '#000000');
44
50
  const [displayBorderRadius, setDisplayBorderRadius] = (0, react_1.useState)(initialBorderRadius || 0);
@@ -49,6 +55,7 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
49
55
  // Edit form state
50
56
  const [editSrc, setEditSrc] = (0, react_1.useState)('');
51
57
  const [editAltText, setEditAltText] = (0, react_1.useState)('');
58
+ const [editTitle, setEditTitle] = (0, react_1.useState)('');
52
59
  const [editCopyright, setEditCopyright] = (0, react_1.useState)('');
53
60
  const [editPhotographer, setEditPhotographer] = (0, react_1.useState)('');
54
61
  const [editComment, setEditComment] = (0, react_1.useState)('');
@@ -59,6 +66,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
59
66
  const [editCaptionSize, setEditCaptionSize] = (0, react_1.useState)('small');
60
67
  const [editShowFileName, setEditShowFileName] = (0, react_1.useState)(false);
61
68
  const [editShowAltText, setEditShowAltText] = (0, react_1.useState)(true);
69
+ const [editShowTitle, setEditShowTitle] = (0, react_1.useState)(true);
70
+ const [editShowPhotographer, setEditShowPhotographer] = (0, react_1.useState)(true);
71
+ const [editShowCopyright, setEditShowCopyright] = (0, react_1.useState)(true);
72
+ const [editShowComment, setEditShowComment] = (0, react_1.useState)(true);
62
73
  const [editBorderWidth, setEditBorderWidth] = (0, react_1.useState)(0);
63
74
  const [editBorderColor, setEditBorderColor] = (0, react_1.useState)('#000000');
64
75
  const [editBorderRadius, setEditBorderRadius] = (0, react_1.useState)(0);
@@ -166,6 +177,7 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
166
177
  editor.getEditorState().read(() => {
167
178
  const node = (0, lexical_1.$getNodeByKey)(nodeKey);
168
179
  if (node && $isImageNode(node)) {
180
+ setEditTitle(node.getTitle() || '');
169
181
  setEditCopyright(node.getCopyright() || '');
170
182
  setEditPhotographer(node.getPhotographer() || '');
171
183
  setEditComment(node.getComment() || '');
@@ -176,6 +188,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
176
188
  setEditCaptionSize(node.getCaptionSize() || 'small');
177
189
  setEditShowFileName(node.getShowFileName() || false);
178
190
  setEditShowAltText(node.getShowAltText() !== false);
191
+ setEditShowTitle(node.getShowTitle() !== false);
192
+ setEditShowPhotographer(node.getShowPhotographer() !== false);
193
+ setEditShowCopyright(node.getShowCopyright() !== false);
194
+ setEditShowComment(node.getShowComment() !== false);
179
195
  setEditBorderWidth(node.getBorderWidth() || 0);
180
196
  setEditBorderColor(node.getBorderColor() || '#000000');
181
197
  setEditBorderRadius(node.getBorderRadius() || 0);
@@ -214,6 +230,7 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
214
230
  if (editSrc)
215
231
  node.setSrc(editSrc);
216
232
  node.setAltText(editAltText);
233
+ node.setTitle(editTitle || undefined);
217
234
  node.setCopyright(editCopyright || undefined);
218
235
  node.setPhotographer(editPhotographer || undefined);
219
236
  node.setComment(editComment || undefined);
@@ -224,6 +241,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
224
241
  node.setCaptionSize(editCaptionSize);
225
242
  node.setShowFileName(editShowFileName);
226
243
  node.setShowAltText(editShowAltText);
244
+ node.setShowTitle(editShowTitle);
245
+ node.setShowPhotographer(editShowPhotographer);
246
+ node.setShowCopyright(editShowCopyright);
247
+ node.setShowComment(editShowComment);
227
248
  node.setBorderWidth(editBorderWidth || undefined);
228
249
  node.setBorderColor(editBorderColor || undefined);
229
250
  node.setBorderRadius(editBorderRadius || undefined);
@@ -234,6 +255,7 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
234
255
  }
235
256
  });
236
257
  // Update display state
258
+ setDisplayTitle(editTitle || undefined);
237
259
  setDisplayCopyright(editCopyright || undefined);
238
260
  setDisplayPhotographer(editPhotographer || undefined);
239
261
  setDisplayComment(editComment || undefined);
@@ -244,6 +266,10 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
244
266
  setDisplayCaptionSize(editCaptionSize);
245
267
  setDisplayShowFileName(editShowFileName);
246
268
  setDisplayShowAltText(editShowAltText);
269
+ setDisplayShowTitle(editShowTitle);
270
+ setDisplayShowPhotographer(editShowPhotographer);
271
+ setDisplayShowCopyright(editShowCopyright);
272
+ setDisplayShowComment(editShowComment);
247
273
  setDisplayBorderWidth(editBorderWidth);
248
274
  setDisplayBorderColor(editBorderColor);
249
275
  setDisplayBorderRadius(editBorderRadius);
@@ -252,7 +278,7 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
252
278
  setDisplayShadowBlur(editShadowBlur);
253
279
  setDisplayShadowColor(editShadowColor);
254
280
  setShowMetadataEditor(false);
255
- }, [editor, nodeKey, editSrc, editAltText, editCopyright, editPhotographer, editComment, editFloat, editCaptionPosition, editCaptionAlign, editCaptionVerticalAlign, editCaptionSize, editShowFileName, editShowAltText, editBorderWidth, editBorderColor, editBorderRadius, editShadowOffsetX, editShadowOffsetY, editShadowBlur, editShadowColor]);
281
+ }, [editor, nodeKey, editSrc, editAltText, editTitle, editCopyright, editPhotographer, editComment, editFloat, editCaptionPosition, editCaptionAlign, editCaptionVerticalAlign, editCaptionSize, editShowFileName, editShowAltText, editShowTitle, editShowPhotographer, editShowCopyright, editShowComment, editBorderWidth, editBorderColor, editBorderRadius, editShadowOffsetX, editShadowOffsetY, editShadowBlur, editShadowColor]);
256
282
  // Get float styles
257
283
  const getFloatStyles = () => {
258
284
  if (displayFloat === 'left') {
@@ -267,26 +293,25 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
267
293
  const fontSize = CAPTION_FONT_SIZES[displayCaptionSize] || CAPTION_FONT_SIZES.small;
268
294
  const iconSize = Math.max(10, fontSize.base - 2);
269
295
  // Render metadata content based on position
270
- // Below order: copyright photographerfileName → altText (bold) → comment
271
- // Beside order: altText (bold) → comment → fileName → copyright → photographer
296
+ // Order: title (bold, +2px) → altText (bold) → comment → fileName → copyright → photographer
272
297
  const renderMetadataContent = (position) => {
273
298
  const fileName = displayShowFileName ? getFileName(src) : null;
274
- const copyrightEl = displayCopyright && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px` }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "copyright" }), displayCopyright] }, "copyright"));
275
- const photographerEl = displayPhotographer && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px` }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "photo_camera" }), displayPhotographer] }, "photographer"));
276
- const fileNameEl = fileName && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px`, fontStyle: 'italic' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "insert_drive_file" }), fileName] }, "fileName"));
299
+ const titleEl = displayTitle && displayShowTitle && ((0, jsx_runtime_1.jsx)("span", { style: { display: 'block', fontWeight: 'bold', fontSize: `${fontSize.alt}px` }, children: displayTitle }, "title"));
277
300
  const altTextEl = altText && displayShowAltText && ((0, jsx_runtime_1.jsx)("span", { style: { display: 'block', fontWeight: 'bold', fontSize: `${fontSize.alt}px` }, children: altText }, "altText"));
278
- const commentEl = displayComment && ((0, jsx_runtime_1.jsx)("span", { style: { display: 'block', fontSize: `${fontSize.base}px` }, children: displayComment }, "comment"));
279
- if (position === 'beside') {
280
- // Beside order: altText (bold) comment fileName copyright photographer
281
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [altTextEl, commentEl, fileNameEl, copyrightEl, photographerEl] });
282
- }
283
- else {
284
- // Below/Overlay order: copyright → photographer → fileName → altText (bold) → comment
285
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [copyrightEl, photographerEl, fileNameEl, altTextEl, commentEl] });
286
- }
301
+ const commentEl = displayComment && displayShowComment && ((0, jsx_runtime_1.jsx)("span", { style: { display: 'block', fontSize: `${fontSize.base}px` }, children: displayComment }, "comment"));
302
+ const fileNameEl = fileName && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px`, fontStyle: 'italic' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "insert_drive_file" }), fileName] }, "fileName"));
303
+ const copyrightEl = displayCopyright && displayShowCopyright && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px` }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "copyright" }), displayCopyright] }, "copyright"));
304
+ const photographerEl = displayPhotographer && displayShowPhotographer && ((0, jsx_runtime_1.jsxs)("span", { style: { display: 'flex', alignItems: 'center', gap: '3px', fontSize: `${fontSize.base}px` }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: `${iconSize}px` }, children: "photo_camera" }), displayPhotographer] }, "photographer"));
305
+ // Order: title → altText → comment → fileName → copyright → photographer
306
+ return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [titleEl, altTextEl, commentEl, fileNameEl, copyrightEl, photographerEl] });
287
307
  };
288
308
  // Check if there's any metadata to display
289
- const hasMetadata = displayCopyright || displayPhotographer || displayComment || (altText && displayShowAltText) || (displayShowFileName && src);
309
+ const hasMetadata = (displayTitle && displayShowTitle) ||
310
+ (altText && displayShowAltText) ||
311
+ (displayComment && displayShowComment) ||
312
+ (displayCopyright && displayShowCopyright) ||
313
+ (displayPhotographer && displayShowPhotographer) ||
314
+ (displayShowFileName && src);
290
315
  // Get vertical alignment for beside mode
291
316
  const getVerticalAlign = () => {
292
317
  switch (displayCaptionVerticalAlign) {
@@ -399,342 +424,376 @@ function ImageComponent({ src, altText, width, height, copyright: initialCopyrig
399
424
  }, onClick: () => setShowMetadataEditor(false), children: (0, jsx_runtime_1.jsxs)("div", { onClick: (e) => e.stopPropagation(), style: {
400
425
  backgroundColor: 'white',
401
426
  borderRadius: '12px',
402
- padding: '24px',
403
427
  boxShadow: '0 25px 50px rgba(0,0,0,0.25)',
404
- minWidth: '360px',
405
- maxWidth: '450px',
406
- }, children: [(0, jsx_runtime_1.jsx)("h3", { style: { margin: '0 0 20px 0', fontSize: '18px', fontWeight: 600, color: '#111827' }, children: "Propri\u00E9t\u00E9s de l'image" }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "link" }), "URL de l'image"] }), (0, jsx_runtime_1.jsx)("input", { type: "url", value: editSrc, onChange: (e) => setEditSrc(e.target.value), placeholder: "https://example.com/image.jpg", style: {
407
- width: '100%',
408
- padding: '10px 12px',
409
- border: '1px solid #d1d5db',
410
- borderRadius: '8px',
411
- fontSize: '14px',
412
- boxSizing: 'border-box',
413
- outline: 'none',
414
- }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "description" }), "Texte alternatif"] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editAltText, onChange: (e) => setEditAltText(e.target.value), placeholder: "Description de l'image", style: {
415
- width: '100%',
416
- padding: '10px 12px',
417
- border: '1px solid #d1d5db',
418
- borderRadius: '8px',
419
- fontSize: '14px',
420
- boxSizing: 'border-box',
421
- outline: 'none',
422
- }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsx)("hr", { style: { border: 'none', borderTop: '1px solid #e5e7eb', margin: '20px 0' } }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "photo_camera" }), "Photographe"] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editPhotographer, onChange: (e) => setEditPhotographer(e.target.value), placeholder: "Nom du photographe", autoFocus: true, style: {
423
- width: '100%',
424
- padding: '10px 12px',
425
- border: '1px solid #d1d5db',
426
- borderRadius: '8px',
427
- fontSize: '14px',
428
- boxSizing: 'border-box',
429
- outline: 'none',
430
- }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "copyright" }), "Copyright"] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editCopyright, onChange: (e) => setEditCopyright(e.target.value), placeholder: "Ex: \u00A9 2024 Nom", style: {
431
- width: '100%',
432
- padding: '10px 12px',
433
- border: '1px solid #d1d5db',
434
- borderRadius: '8px',
435
- fontSize: '14px',
436
- boxSizing: 'border-box',
437
- outline: 'none',
438
- }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "chat" }), "Commentaire (tooltip)"] }), (0, jsx_runtime_1.jsx)("textarea", { value: editComment, onChange: (e) => setEditComment(e.target.value), placeholder: "Commentaire affich\u00E9 au survol de l'image", rows: 3, style: {
439
- width: '100%',
440
- padding: '10px 12px',
441
- border: '1px solid #d1d5db',
442
- borderRadius: '8px',
443
- fontSize: '14px',
444
- resize: 'vertical',
445
- boxSizing: 'border-box',
446
- outline: 'none',
447
- fontFamily: 'inherit',
448
- }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '24px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "wrap_text" }), "Habillage du texte"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('none'), style: {
449
- flex: 1,
450
- minWidth: 0,
451
- padding: '12px',
452
- border: '1px solid',
453
- borderColor: editFloat === 'none' ? '#3b82f6' : '#d1d5db',
454
- backgroundColor: editFloat === 'none' ? '#eff6ff' : 'white',
455
- color: editFloat === 'none' ? '#1d4ed8' : '#374151',
456
- borderRadius: '6px',
457
- cursor: 'pointer',
458
- display: 'flex',
459
- flexDirection: 'column',
460
- alignItems: 'center',
461
- justifyContent: 'center',
462
- gap: '4px',
463
- }, title: "Aucun habillage", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "image" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('left'), style: {
464
- flex: 1,
465
- minWidth: 0,
466
- padding: '12px',
467
- border: '1px solid',
468
- borderColor: editFloat === 'left' ? '#3b82f6' : '#d1d5db',
469
- backgroundColor: editFloat === 'left' ? '#eff6ff' : 'white',
470
- color: editFloat === 'left' ? '#1d4ed8' : '#374151',
471
- borderRadius: '6px',
472
- cursor: 'pointer',
473
- display: 'flex',
474
- flexDirection: 'column',
475
- alignItems: 'center',
476
- justifyContent: 'center',
477
- gap: '4px',
478
- }, title: "Image \u00E0 gauche", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "west" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('right'), style: {
479
- flex: 1,
480
- minWidth: 0,
481
- padding: '12px',
482
- border: '1px solid',
483
- borderColor: editFloat === 'right' ? '#3b82f6' : '#d1d5db',
484
- backgroundColor: editFloat === 'right' ? '#eff6ff' : 'white',
485
- color: editFloat === 'right' ? '#1d4ed8' : '#374151',
486
- borderRadius: '6px',
487
- cursor: 'pointer',
488
- display: 'flex',
489
- flexDirection: 'column',
490
- alignItems: 'center',
491
- justifyContent: 'center',
492
- gap: '4px',
493
- }, title: "Image \u00E0 droite", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "east" }) })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "subtitles" }), "Position des cr\u00E9dits"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('overlay'), style: {
494
- flex: 1,
495
- minWidth: 0,
496
- padding: '10px 8px',
497
- border: '1px solid',
498
- borderColor: editCaptionPosition === 'overlay' ? '#3b82f6' : '#d1d5db',
499
- backgroundColor: editCaptionPosition === 'overlay' ? '#eff6ff' : 'white',
500
- color: editCaptionPosition === 'overlay' ? '#1d4ed8' : '#374151',
501
- borderRadius: '6px',
502
- cursor: 'pointer',
503
- display: 'flex',
504
- flexDirection: 'column',
505
- alignItems: 'center',
506
- justifyContent: 'center',
507
- gap: '4px',
508
- fontSize: '11px',
509
- }, title: "Sur l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "filter" }), "Sur l'image"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('below'), style: {
510
- flex: 1,
511
- minWidth: 0,
512
- padding: '10px 8px',
513
- border: '1px solid',
514
- borderColor: editCaptionPosition === 'below' ? '#3b82f6' : '#d1d5db',
515
- backgroundColor: editCaptionPosition === 'below' ? '#eff6ff' : 'white',
516
- color: editCaptionPosition === 'below' ? '#1d4ed8' : '#374151',
517
- borderRadius: '6px',
518
- cursor: 'pointer',
519
- display: 'flex',
520
- flexDirection: 'column',
521
- alignItems: 'center',
522
- justifyContent: 'center',
523
- gap: '4px',
524
- fontSize: '11px',
525
- }, title: "Sous l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_bottom" }), "Dessous"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('beside'), style: {
526
- flex: 1,
527
- minWidth: 0,
528
- padding: '10px 8px',
529
- border: '1px solid',
530
- borderColor: editCaptionPosition === 'beside' ? '#3b82f6' : '#d1d5db',
531
- backgroundColor: editCaptionPosition === 'beside' ? '#eff6ff' : 'white',
532
- color: editCaptionPosition === 'beside' ? '#1d4ed8' : '#374151',
533
- borderRadius: '6px',
534
- cursor: 'pointer',
535
- display: 'flex',
536
- flexDirection: 'column',
537
- alignItems: 'center',
538
- justifyContent: 'center',
539
- gap: '4px',
540
- fontSize: '11px',
541
- }, title: "\u00C0 c\u00F4t\u00E9 de l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "view_sidebar" }), "\u00C0 c\u00F4t\u00E9"] })] })] }), editCaptionPosition !== 'overlay' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "format_align_left" }), "Alignement horizontal"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('left'), style: {
542
- flex: 1,
543
- minWidth: 0,
544
- padding: '10px',
545
- border: '1px solid',
546
- borderColor: editCaptionAlign === 'left' ? '#3b82f6' : '#d1d5db',
547
- backgroundColor: editCaptionAlign === 'left' ? '#eff6ff' : 'white',
548
- color: editCaptionAlign === 'left' ? '#1d4ed8' : '#374151',
549
- borderRadius: '6px',
550
- cursor: 'pointer',
551
- display: 'flex',
552
- alignItems: 'center',
553
- justifyContent: 'center',
554
- }, title: "Gauche", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_left" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('center'), style: {
555
- flex: 1,
556
- minWidth: 0,
557
- padding: '10px',
558
- border: '1px solid',
559
- borderColor: editCaptionAlign === 'center' ? '#3b82f6' : '#d1d5db',
560
- backgroundColor: editCaptionAlign === 'center' ? '#eff6ff' : 'white',
561
- color: editCaptionAlign === 'center' ? '#1d4ed8' : '#374151',
562
- borderRadius: '6px',
563
- cursor: 'pointer',
564
- display: 'flex',
565
- alignItems: 'center',
566
- justifyContent: 'center',
567
- }, title: "Centre", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_center" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('right'), style: {
568
- flex: 1,
569
- minWidth: 0,
570
- padding: '10px',
571
- border: '1px solid',
572
- borderColor: editCaptionAlign === 'right' ? '#3b82f6' : '#d1d5db',
573
- backgroundColor: editCaptionAlign === 'right' ? '#eff6ff' : 'white',
574
- color: editCaptionAlign === 'right' ? '#1d4ed8' : '#374151',
575
- borderRadius: '6px',
576
- cursor: 'pointer',
577
- display: 'flex',
578
- alignItems: 'center',
579
- justifyContent: 'center',
580
- }, title: "Droite", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_right" }) })] })] })), editCaptionPosition === 'beside' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "vertical_align_center" }), "Alignement vertical"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('top'), style: {
581
- flex: 1,
582
- minWidth: 0,
583
- padding: '10px',
584
- border: '1px solid',
585
- borderColor: editCaptionVerticalAlign === 'top' ? '#3b82f6' : '#d1d5db',
586
- backgroundColor: editCaptionVerticalAlign === 'top' ? '#eff6ff' : 'white',
587
- color: editCaptionVerticalAlign === 'top' ? '#1d4ed8' : '#374151',
588
- borderRadius: '6px',
428
+ width: '480px',
429
+ height: '600px',
430
+ maxHeight: '90vh',
431
+ display: 'flex',
432
+ flexDirection: 'column',
433
+ overflow: 'hidden',
434
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { padding: '20px 24px 0 24px' }, children: [(0, jsx_runtime_1.jsx)("h3", { style: { margin: '0 0 16px 0', fontSize: '18px', fontWeight: 600, color: '#111827' }, children: "Propri\u00E9t\u00E9s de l'image" }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '0', borderBottom: '1px solid #e5e7eb' }, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setActiveTab('info'), style: {
435
+ padding: '10px 16px',
436
+ border: 'none',
437
+ backgroundColor: 'transparent',
438
+ color: activeTab === 'info' ? '#3b82f6' : '#6b7280',
439
+ fontWeight: activeTab === 'info' ? 600 : 400,
440
+ fontSize: '14px',
589
441
  cursor: 'pointer',
442
+ borderBottom: activeTab === 'info' ? '2px solid #3b82f6' : '2px solid transparent',
443
+ marginBottom: '-1px',
590
444
  display: 'flex',
591
445
  alignItems: 'center',
592
- justifyContent: 'center',
593
- }, title: "Haut", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_top" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('middle'), style: {
594
- flex: 1,
595
- minWidth: 0,
596
- padding: '10px',
597
- border: '1px solid',
598
- borderColor: editCaptionVerticalAlign === 'middle' ? '#3b82f6' : '#d1d5db',
599
- backgroundColor: editCaptionVerticalAlign === 'middle' ? '#eff6ff' : 'white',
600
- color: editCaptionVerticalAlign === 'middle' ? '#1d4ed8' : '#374151',
601
- borderRadius: '6px',
446
+ gap: '6px',
447
+ }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px' }, children: "info" }), "Info"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setActiveTab('habillage'), style: {
448
+ padding: '10px 16px',
449
+ border: 'none',
450
+ backgroundColor: 'transparent',
451
+ color: activeTab === 'habillage' ? '#3b82f6' : '#6b7280',
452
+ fontWeight: activeTab === 'habillage' ? 600 : 400,
453
+ fontSize: '14px',
602
454
  cursor: 'pointer',
455
+ borderBottom: activeTab === 'habillage' ? '2px solid #3b82f6' : '2px solid transparent',
456
+ marginBottom: '-1px',
603
457
  display: 'flex',
604
458
  alignItems: 'center',
605
- justifyContent: 'center',
606
- }, title: "Milieu", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_center" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('bottom'), style: {
607
- flex: 1,
608
- minWidth: 0,
609
- padding: '10px',
610
- border: '1px solid',
611
- borderColor: editCaptionVerticalAlign === 'bottom' ? '#3b82f6' : '#d1d5db',
612
- backgroundColor: editCaptionVerticalAlign === 'bottom' ? '#eff6ff' : 'white',
613
- color: editCaptionVerticalAlign === 'bottom' ? '#1d4ed8' : '#374151',
614
- borderRadius: '6px',
459
+ gap: '6px',
460
+ }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px' }, children: "wrap_text" }), "Habillage"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setActiveTab('decoration'), style: {
461
+ padding: '10px 16px',
462
+ border: 'none',
463
+ backgroundColor: 'transparent',
464
+ color: activeTab === 'decoration' ? '#3b82f6' : '#6b7280',
465
+ fontWeight: activeTab === 'decoration' ? 600 : 400,
466
+ fontSize: '14px',
615
467
  cursor: 'pointer',
468
+ borderBottom: activeTab === 'decoration' ? '2px solid #3b82f6' : '2px solid transparent',
469
+ marginBottom: '-1px',
616
470
  display: 'flex',
617
471
  alignItems: 'center',
618
- justifyContent: 'center',
619
- }, title: "Bas", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_bottom" }) })] })] })), editCaptionPosition !== 'overlay' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "format_size" }), "Taille du texte"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('small'), style: {
620
- flex: 1,
621
- minWidth: 0,
622
- padding: '10px 8px',
623
- border: '1px solid',
624
- borderColor: editCaptionSize === 'small' ? '#3b82f6' : '#d1d5db',
625
- backgroundColor: editCaptionSize === 'small' ? '#eff6ff' : 'white',
626
- color: editCaptionSize === 'small' ? '#1d4ed8' : '#374151',
627
- borderRadius: '6px',
628
- cursor: 'pointer',
629
- display: 'flex',
630
- flexDirection: 'column',
631
- alignItems: 'center',
632
- justifyContent: 'center',
633
- gap: '2px',
634
- }, title: "Petit (10px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '10px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Petit" })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('medium'), style: {
635
- flex: 1,
636
- minWidth: 0,
637
- padding: '10px 8px',
638
- border: '1px solid',
639
- borderColor: editCaptionSize === 'medium' ? '#3b82f6' : '#d1d5db',
640
- backgroundColor: editCaptionSize === 'medium' ? '#eff6ff' : 'white',
641
- color: editCaptionSize === 'medium' ? '#1d4ed8' : '#374151',
642
- borderRadius: '6px',
643
- cursor: 'pointer',
644
- display: 'flex',
645
- flexDirection: 'column',
646
- alignItems: 'center',
647
- justifyContent: 'center',
648
- gap: '2px',
649
- }, title: "Moyen (16px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '14px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Moyen" })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('large'), style: {
650
- flex: 1,
651
- minWidth: 0,
652
- padding: '10px 8px',
653
- border: '1px solid',
654
- borderColor: editCaptionSize === 'large' ? '#3b82f6' : '#d1d5db',
655
- backgroundColor: editCaptionSize === 'large' ? '#eff6ff' : 'white',
656
- color: editCaptionSize === 'large' ? '#1d4ed8' : '#374151',
657
- borderRadius: '6px',
658
- cursor: 'pointer',
659
- display: 'flex',
660
- flexDirection: 'column',
661
- alignItems: 'center',
662
- justifyContent: 'center',
663
- gap: '2px',
664
- }, title: "Grand (24px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '18px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Grand" })] })] })] })), editCaptionPosition !== 'overlay' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '24px', display: 'flex', flexDirection: 'column', gap: '12px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: {
665
- display: 'flex',
666
- alignItems: 'center',
667
- gap: '10px',
668
- fontSize: '14px',
669
- fontWeight: 500,
670
- color: '#374151',
671
- cursor: 'pointer',
672
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowAltText, onChange: (e) => setEditShowAltText(e.target.checked), style: {
673
- width: '18px',
674
- height: '18px',
675
- cursor: 'pointer',
676
- } }), (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "description" }), "Afficher le texte alternatif"] }), (0, jsx_runtime_1.jsxs)("label", { style: {
677
- display: 'flex',
678
- alignItems: 'center',
679
- gap: '10px',
680
- fontSize: '14px',
681
- fontWeight: 500,
682
- color: '#374151',
683
- cursor: 'pointer',
684
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowFileName, onChange: (e) => setEditShowFileName(e.target.checked), style: {
685
- width: '18px',
686
- height: '18px',
687
- cursor: 'pointer',
688
- } }), (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "insert_drive_file" }), "Afficher le nom du fichier"] })] })), (0, jsx_runtime_1.jsx)("hr", { style: { border: 'none', borderTop: '1px solid #e5e7eb', margin: '20px 0' } }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "crop_square" }), "Bordure"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "\u00C9paisseur (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "20", value: editBorderWidth, onChange: (e) => setEditBorderWidth(parseInt(e.target.value) || 0), style: {
472
+ gap: '6px',
473
+ }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px' }, children: "palette" }), "D\u00E9coration"] })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { padding: '20px 24px', overflowY: 'auto', flex: 1 }, children: [activeTab === 'info' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "link" }), "URL de l'image"] }), (0, jsx_runtime_1.jsx)("input", { type: "url", value: editSrc, onChange: (e) => setEditSrc(e.target.value), placeholder: "https://example.com/image.jpg", style: {
689
474
  width: '100%',
690
- padding: '8px 10px',
475
+ padding: '10px 12px',
691
476
  border: '1px solid #d1d5db',
692
- borderRadius: '6px',
477
+ borderRadius: '8px',
693
478
  fontSize: '14px',
694
479
  boxSizing: 'border-box',
695
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Couleur" }), (0, jsx_runtime_1.jsx)("input", { type: "color", value: editBorderColor, onChange: (e) => setEditBorderColor(e.target.value), style: {
696
- width: '100%',
697
- height: '38px',
698
- padding: '2px',
699
- border: '1px solid #d1d5db',
700
- borderRadius: '6px',
701
- cursor: 'pointer',
702
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Coins arrondis (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "100", value: editBorderRadius, onChange: (e) => setEditBorderRadius(parseInt(e.target.value) || 0), style: {
480
+ outline: 'none',
481
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px' }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowTitle, onChange: (e) => setEditShowTitle(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "title" }), "Titre"] })] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editTitle, onChange: (e) => setEditTitle(e.target.value), placeholder: "Titre de l'image", style: {
703
482
  width: '100%',
704
- padding: '8px 10px',
483
+ padding: '10px 12px',
705
484
  border: '1px solid #d1d5db',
706
- borderRadius: '6px',
485
+ borderRadius: '8px',
707
486
  fontSize: '14px',
708
487
  boxSizing: 'border-box',
709
- } })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "blur_on" }), "Ombre"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "D\u00E9calage X (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "-50", max: "50", value: editShadowOffsetX, onChange: (e) => setEditShadowOffsetX(parseInt(e.target.value) || 0), style: {
488
+ outline: 'none',
489
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px' }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowAltText, onChange: (e) => setEditShowAltText(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "description" }), "Texte alternatif"] })] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editAltText, onChange: (e) => setEditAltText(e.target.value), placeholder: "Description de l'image", style: {
710
490
  width: '100%',
711
- padding: '8px 10px',
491
+ padding: '10px 12px',
712
492
  border: '1px solid #d1d5db',
713
- borderRadius: '6px',
493
+ borderRadius: '8px',
714
494
  fontSize: '14px',
715
495
  boxSizing: 'border-box',
716
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "D\u00E9calage Y (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "-50", max: "50", value: editShadowOffsetY, onChange: (e) => setEditShadowOffsetY(parseInt(e.target.value) || 0), style: {
496
+ outline: 'none',
497
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsx)("hr", { style: { border: 'none', borderTop: '1px solid #e5e7eb', margin: '20px 0' } }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px' }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowPhotographer, onChange: (e) => setEditShowPhotographer(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "photo_camera" }), "Photographe"] })] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editPhotographer, onChange: (e) => setEditPhotographer(e.target.value), placeholder: "Nom du photographe", style: {
717
498
  width: '100%',
718
- padding: '8px 10px',
499
+ padding: '10px 12px',
719
500
  border: '1px solid #d1d5db',
720
- borderRadius: '6px',
501
+ borderRadius: '8px',
721
502
  fontSize: '14px',
722
503
  boxSizing: 'border-box',
723
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Flou (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "100", value: editShadowBlur, onChange: (e) => setEditShadowBlur(parseInt(e.target.value) || 0), style: {
504
+ outline: 'none',
505
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px' }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowCopyright, onChange: (e) => setEditShowCopyright(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "copyright" }), "Copyright"] })] }), (0, jsx_runtime_1.jsx)("input", { type: "text", value: editCopyright, onChange: (e) => setEditCopyright(e.target.value), placeholder: "Ex: \u00A9 2024 Nom", style: {
724
506
  width: '100%',
725
- padding: '8px 10px',
507
+ padding: '10px 12px',
726
508
  border: '1px solid #d1d5db',
727
- borderRadius: '6px',
509
+ borderRadius: '8px',
728
510
  fontSize: '14px',
729
511
  boxSizing: 'border-box',
730
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Couleur" }), (0, jsx_runtime_1.jsx)("input", { type: "color", value: editShadowColor.startsWith('rgba') ? '#000000' : editShadowColor, onChange: (e) => setEditShadowColor(e.target.value), style: {
512
+ outline: 'none',
513
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px' }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowComment, onChange: (e) => setEditShowComment(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "chat" }), "Commentaire (tooltip)"] })] }), (0, jsx_runtime_1.jsx)("textarea", { value: editComment, onChange: (e) => setEditComment(e.target.value), placeholder: "Commentaire affich\u00E9 au survol de l'image", rows: 3, style: {
731
514
  width: '100%',
732
- height: '38px',
733
- padding: '2px',
515
+ padding: '10px 12px',
734
516
  border: '1px solid #d1d5db',
735
- borderRadius: '6px',
736
- cursor: 'pointer',
737
- } })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px', justifyContent: 'flex-end' }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => setShowMetadataEditor(false), style: {
517
+ borderRadius: '8px',
518
+ fontSize: '14px',
519
+ resize: 'vertical',
520
+ boxSizing: 'border-box',
521
+ outline: 'none',
522
+ fontFamily: 'inherit',
523
+ }, onFocus: (e) => e.target.style.borderColor = '#3b82f6', onBlur: (e) => e.target.style.borderColor = '#d1d5db' })] }), (0, jsx_runtime_1.jsx)("div", { style: { marginBottom: '0' }, children: (0, jsx_runtime_1.jsxs)("label", { style: {
524
+ display: 'flex',
525
+ alignItems: 'center',
526
+ gap: '10px',
527
+ fontSize: '14px',
528
+ fontWeight: 500,
529
+ color: '#374151',
530
+ cursor: 'pointer',
531
+ }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: editShowFileName, onChange: (e) => setEditShowFileName(e.target.checked), style: { width: '16px', height: '16px', cursor: 'pointer' } }), (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "insert_drive_file" }), "Afficher le nom du fichier"] }) })] })), activeTab === 'habillage' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '24px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "wrap_text" }), "Habillage du texte"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('none'), style: {
532
+ flex: 1,
533
+ minWidth: 0,
534
+ padding: '12px',
535
+ border: '1px solid',
536
+ borderColor: editFloat === 'none' ? '#3b82f6' : '#d1d5db',
537
+ backgroundColor: editFloat === 'none' ? '#eff6ff' : 'white',
538
+ color: editFloat === 'none' ? '#1d4ed8' : '#374151',
539
+ borderRadius: '6px',
540
+ cursor: 'pointer',
541
+ display: 'flex',
542
+ flexDirection: 'column',
543
+ alignItems: 'center',
544
+ justifyContent: 'center',
545
+ gap: '4px',
546
+ }, title: "Aucun habillage", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "image" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('left'), style: {
547
+ flex: 1,
548
+ minWidth: 0,
549
+ padding: '12px',
550
+ border: '1px solid',
551
+ borderColor: editFloat === 'left' ? '#3b82f6' : '#d1d5db',
552
+ backgroundColor: editFloat === 'left' ? '#eff6ff' : 'white',
553
+ color: editFloat === 'left' ? '#1d4ed8' : '#374151',
554
+ borderRadius: '6px',
555
+ cursor: 'pointer',
556
+ display: 'flex',
557
+ flexDirection: 'column',
558
+ alignItems: 'center',
559
+ justifyContent: 'center',
560
+ gap: '4px',
561
+ }, title: "Image \u00E0 gauche", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "west" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditFloat('right'), style: {
562
+ flex: 1,
563
+ minWidth: 0,
564
+ padding: '12px',
565
+ border: '1px solid',
566
+ borderColor: editFloat === 'right' ? '#3b82f6' : '#d1d5db',
567
+ backgroundColor: editFloat === 'right' ? '#eff6ff' : 'white',
568
+ color: editFloat === 'right' ? '#1d4ed8' : '#374151',
569
+ borderRadius: '6px',
570
+ cursor: 'pointer',
571
+ display: 'flex',
572
+ flexDirection: 'column',
573
+ alignItems: 'center',
574
+ justifyContent: 'center',
575
+ gap: '4px',
576
+ }, title: "Image \u00E0 droite", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '24px' }, children: "east" }) })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "subtitles" }), "Position des cr\u00E9dits"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('overlay'), style: {
577
+ flex: 1,
578
+ minWidth: 0,
579
+ padding: '10px 8px',
580
+ border: '1px solid',
581
+ borderColor: editCaptionPosition === 'overlay' ? '#3b82f6' : '#d1d5db',
582
+ backgroundColor: editCaptionPosition === 'overlay' ? '#eff6ff' : 'white',
583
+ color: editCaptionPosition === 'overlay' ? '#1d4ed8' : '#374151',
584
+ borderRadius: '6px',
585
+ cursor: 'pointer',
586
+ display: 'flex',
587
+ flexDirection: 'column',
588
+ alignItems: 'center',
589
+ justifyContent: 'center',
590
+ gap: '4px',
591
+ fontSize: '11px',
592
+ }, title: "Sur l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "filter" }), "Sur l'image"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('below'), style: {
593
+ flex: 1,
594
+ minWidth: 0,
595
+ padding: '10px 8px',
596
+ border: '1px solid',
597
+ borderColor: editCaptionPosition === 'below' ? '#3b82f6' : '#d1d5db',
598
+ backgroundColor: editCaptionPosition === 'below' ? '#eff6ff' : 'white',
599
+ color: editCaptionPosition === 'below' ? '#1d4ed8' : '#374151',
600
+ borderRadius: '6px',
601
+ cursor: 'pointer',
602
+ display: 'flex',
603
+ flexDirection: 'column',
604
+ alignItems: 'center',
605
+ justifyContent: 'center',
606
+ gap: '4px',
607
+ fontSize: '11px',
608
+ }, title: "Sous l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_bottom" }), "Dessous"] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionPosition('beside'), style: {
609
+ flex: 1,
610
+ minWidth: 0,
611
+ padding: '10px 8px',
612
+ border: '1px solid',
613
+ borderColor: editCaptionPosition === 'beside' ? '#3b82f6' : '#d1d5db',
614
+ backgroundColor: editCaptionPosition === 'beside' ? '#eff6ff' : 'white',
615
+ color: editCaptionPosition === 'beside' ? '#1d4ed8' : '#374151',
616
+ borderRadius: '6px',
617
+ cursor: 'pointer',
618
+ display: 'flex',
619
+ flexDirection: 'column',
620
+ alignItems: 'center',
621
+ justifyContent: 'center',
622
+ gap: '4px',
623
+ fontSize: '11px',
624
+ }, title: "\u00C0 c\u00F4t\u00E9 de l'image", children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "view_sidebar" }), "\u00C0 c\u00F4t\u00E9"] })] })] }), editCaptionPosition !== 'overlay' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "format_align_left" }), "Alignement horizontal"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('left'), style: {
625
+ flex: 1,
626
+ minWidth: 0,
627
+ padding: '10px',
628
+ border: '1px solid',
629
+ borderColor: editCaptionAlign === 'left' ? '#3b82f6' : '#d1d5db',
630
+ backgroundColor: editCaptionAlign === 'left' ? '#eff6ff' : 'white',
631
+ color: editCaptionAlign === 'left' ? '#1d4ed8' : '#374151',
632
+ borderRadius: '6px',
633
+ cursor: 'pointer',
634
+ display: 'flex',
635
+ alignItems: 'center',
636
+ justifyContent: 'center',
637
+ }, title: "Gauche", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_left" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('center'), style: {
638
+ flex: 1,
639
+ minWidth: 0,
640
+ padding: '10px',
641
+ border: '1px solid',
642
+ borderColor: editCaptionAlign === 'center' ? '#3b82f6' : '#d1d5db',
643
+ backgroundColor: editCaptionAlign === 'center' ? '#eff6ff' : 'white',
644
+ color: editCaptionAlign === 'center' ? '#1d4ed8' : '#374151',
645
+ borderRadius: '6px',
646
+ cursor: 'pointer',
647
+ display: 'flex',
648
+ alignItems: 'center',
649
+ justifyContent: 'center',
650
+ }, title: "Centre", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_center" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionAlign('right'), style: {
651
+ flex: 1,
652
+ minWidth: 0,
653
+ padding: '10px',
654
+ border: '1px solid',
655
+ borderColor: editCaptionAlign === 'right' ? '#3b82f6' : '#d1d5db',
656
+ backgroundColor: editCaptionAlign === 'right' ? '#eff6ff' : 'white',
657
+ color: editCaptionAlign === 'right' ? '#1d4ed8' : '#374151',
658
+ borderRadius: '6px',
659
+ cursor: 'pointer',
660
+ display: 'flex',
661
+ alignItems: 'center',
662
+ justifyContent: 'center',
663
+ }, title: "Droite", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "format_align_right" }) })] })] })), editCaptionPosition === 'beside' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "vertical_align_center" }), "Alignement vertical"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('top'), style: {
664
+ flex: 1,
665
+ minWidth: 0,
666
+ padding: '10px',
667
+ border: '1px solid',
668
+ borderColor: editCaptionVerticalAlign === 'top' ? '#3b82f6' : '#d1d5db',
669
+ backgroundColor: editCaptionVerticalAlign === 'top' ? '#eff6ff' : 'white',
670
+ color: editCaptionVerticalAlign === 'top' ? '#1d4ed8' : '#374151',
671
+ borderRadius: '6px',
672
+ cursor: 'pointer',
673
+ display: 'flex',
674
+ alignItems: 'center',
675
+ justifyContent: 'center',
676
+ }, title: "Haut", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_top" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('middle'), style: {
677
+ flex: 1,
678
+ minWidth: 0,
679
+ padding: '10px',
680
+ border: '1px solid',
681
+ borderColor: editCaptionVerticalAlign === 'middle' ? '#3b82f6' : '#d1d5db',
682
+ backgroundColor: editCaptionVerticalAlign === 'middle' ? '#eff6ff' : 'white',
683
+ color: editCaptionVerticalAlign === 'middle' ? '#1d4ed8' : '#374151',
684
+ borderRadius: '6px',
685
+ cursor: 'pointer',
686
+ display: 'flex',
687
+ alignItems: 'center',
688
+ justifyContent: 'center',
689
+ }, title: "Milieu", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_center" }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setEditCaptionVerticalAlign('bottom'), style: {
690
+ flex: 1,
691
+ minWidth: 0,
692
+ padding: '10px',
693
+ border: '1px solid',
694
+ borderColor: editCaptionVerticalAlign === 'bottom' ? '#3b82f6' : '#d1d5db',
695
+ backgroundColor: editCaptionVerticalAlign === 'bottom' ? '#eff6ff' : 'white',
696
+ color: editCaptionVerticalAlign === 'bottom' ? '#1d4ed8' : '#374151',
697
+ borderRadius: '6px',
698
+ cursor: 'pointer',
699
+ display: 'flex',
700
+ alignItems: 'center',
701
+ justifyContent: 'center',
702
+ }, title: "Bas", children: (0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '20px' }, children: "vertical_align_bottom" }) })] })] })), editCaptionPosition !== 'overlay' && ((0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '16px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "format_size" }), "Taille du texte"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '8px', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('small'), style: {
703
+ flex: 1,
704
+ minWidth: 0,
705
+ padding: '10px 8px',
706
+ border: '1px solid',
707
+ borderColor: editCaptionSize === 'small' ? '#3b82f6' : '#d1d5db',
708
+ backgroundColor: editCaptionSize === 'small' ? '#eff6ff' : 'white',
709
+ color: editCaptionSize === 'small' ? '#1d4ed8' : '#374151',
710
+ borderRadius: '6px',
711
+ cursor: 'pointer',
712
+ display: 'flex',
713
+ flexDirection: 'column',
714
+ alignItems: 'center',
715
+ justifyContent: 'center',
716
+ gap: '2px',
717
+ }, title: "Petit (10px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '10px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Petit" })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('medium'), style: {
718
+ flex: 1,
719
+ minWidth: 0,
720
+ padding: '10px 8px',
721
+ border: '1px solid',
722
+ borderColor: editCaptionSize === 'medium' ? '#3b82f6' : '#d1d5db',
723
+ backgroundColor: editCaptionSize === 'medium' ? '#eff6ff' : 'white',
724
+ color: editCaptionSize === 'medium' ? '#1d4ed8' : '#374151',
725
+ borderRadius: '6px',
726
+ cursor: 'pointer',
727
+ display: 'flex',
728
+ flexDirection: 'column',
729
+ alignItems: 'center',
730
+ justifyContent: 'center',
731
+ gap: '2px',
732
+ }, title: "Moyen (16px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '14px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Moyen" })] }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => setEditCaptionSize('large'), style: {
733
+ flex: 1,
734
+ minWidth: 0,
735
+ padding: '10px 8px',
736
+ border: '1px solid',
737
+ borderColor: editCaptionSize === 'large' ? '#3b82f6' : '#d1d5db',
738
+ backgroundColor: editCaptionSize === 'large' ? '#eff6ff' : 'white',
739
+ color: editCaptionSize === 'large' ? '#1d4ed8' : '#374151',
740
+ borderRadius: '6px',
741
+ cursor: 'pointer',
742
+ display: 'flex',
743
+ flexDirection: 'column',
744
+ alignItems: 'center',
745
+ justifyContent: 'center',
746
+ gap: '2px',
747
+ }, title: "Grand (24px)", children: [(0, jsx_runtime_1.jsx)("span", { style: { fontSize: '18px', fontWeight: 500 }, children: "Aa" }), (0, jsx_runtime_1.jsx)("span", { style: { fontSize: '9px' }, children: "Grand" })] })] })] }))] })), activeTab === 'decoration' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '24px' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "crop_square" }), "Bordure"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "\u00C9paisseur (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "20", value: editBorderWidth, onChange: (e) => setEditBorderWidth(parseInt(e.target.value) || 0), style: {
748
+ width: '100%',
749
+ padding: '8px 10px',
750
+ border: '1px solid #d1d5db',
751
+ borderRadius: '6px',
752
+ fontSize: '14px',
753
+ boxSizing: 'border-box',
754
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Couleur" }), (0, jsx_runtime_1.jsx)("input", { type: "color", value: editBorderColor, onChange: (e) => setEditBorderColor(e.target.value), style: {
755
+ width: '100%',
756
+ height: '38px',
757
+ padding: '2px',
758
+ border: '1px solid #d1d5db',
759
+ borderRadius: '6px',
760
+ cursor: 'pointer',
761
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Coins arrondis (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "100", value: editBorderRadius, onChange: (e) => setEditBorderRadius(parseInt(e.target.value) || 0), style: {
762
+ width: '100%',
763
+ padding: '8px 10px',
764
+ border: '1px solid #d1d5db',
765
+ borderRadius: '6px',
766
+ fontSize: '14px',
767
+ boxSizing: 'border-box',
768
+ } })] })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { marginBottom: '0' }, children: [(0, jsx_runtime_1.jsxs)("label", { style: { display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '6px', fontSize: '14px', fontWeight: 500, color: '#374151' }, children: [(0, jsx_runtime_1.jsx)("span", { className: "material-icons", style: { fontSize: '18px', color: '#6b7280' }, children: "blur_on" }), "Ombre"] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: '12px', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "D\u00E9calage X (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "-50", max: "50", value: editShadowOffsetX, onChange: (e) => setEditShadowOffsetX(parseInt(e.target.value) || 0), style: {
769
+ width: '100%',
770
+ padding: '8px 10px',
771
+ border: '1px solid #d1d5db',
772
+ borderRadius: '6px',
773
+ fontSize: '14px',
774
+ boxSizing: 'border-box',
775
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "D\u00E9calage Y (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "-50", max: "50", value: editShadowOffsetY, onChange: (e) => setEditShadowOffsetY(parseInt(e.target.value) || 0), style: {
776
+ width: '100%',
777
+ padding: '8px 10px',
778
+ border: '1px solid #d1d5db',
779
+ borderRadius: '6px',
780
+ fontSize: '14px',
781
+ boxSizing: 'border-box',
782
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Flou (px)" }), (0, jsx_runtime_1.jsx)("input", { type: "number", min: "0", max: "100", value: editShadowBlur, onChange: (e) => setEditShadowBlur(parseInt(e.target.value) || 0), style: {
783
+ width: '100%',
784
+ padding: '8px 10px',
785
+ border: '1px solid #d1d5db',
786
+ borderRadius: '6px',
787
+ fontSize: '14px',
788
+ boxSizing: 'border-box',
789
+ } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { flex: 1 }, children: [(0, jsx_runtime_1.jsx)("label", { style: { fontSize: '12px', color: '#6b7280', marginBottom: '4px', display: 'block' }, children: "Couleur" }), (0, jsx_runtime_1.jsx)("input", { type: "color", value: editShadowColor.startsWith('rgba') ? '#000000' : editShadowColor, onChange: (e) => setEditShadowColor(e.target.value), style: {
790
+ width: '100%',
791
+ height: '38px',
792
+ padding: '2px',
793
+ border: '1px solid #d1d5db',
794
+ borderRadius: '6px',
795
+ cursor: 'pointer',
796
+ } })] })] })] })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: { padding: '16px 24px', borderTop: '1px solid #e5e7eb', display: 'flex', gap: '12px', justifyContent: 'flex-end' }, children: [(0, jsx_runtime_1.jsx)("button", { onClick: () => setShowMetadataEditor(false), style: {
738
797
  padding: '10px 20px',
739
798
  border: '1px solid #d1d5db',
740
799
  backgroundColor: 'white',
@@ -804,14 +863,15 @@ class ImageNode extends lexical_1.DecoratorNode {
804
863
  return 'image';
805
864
  }
806
865
  static clone(node) {
807
- return new ImageNode(node.__src, node.__altText, node.__width, node.__height, node.__copyright, node.__photographer, node.__comment, node.__float, node.__captionPosition, node.__captionAlign, node.__captionVerticalAlign, node.__captionSize, node.__showFileName, node.__showAltText, node.__borderWidth, node.__borderColor, node.__borderRadius, node.__shadowOffsetX, node.__shadowOffsetY, node.__shadowBlur, node.__shadowColor, node.__key);
866
+ return new ImageNode(node.__src, node.__altText, node.__width, node.__height, node.__title, node.__copyright, node.__photographer, node.__comment, node.__float, node.__captionPosition, node.__captionAlign, node.__captionVerticalAlign, node.__captionSize, node.__showFileName, node.__showAltText, node.__showTitle, node.__showPhotographer, node.__showCopyright, node.__showComment, node.__borderWidth, node.__borderColor, node.__borderRadius, node.__shadowOffsetX, node.__shadowOffsetY, node.__shadowBlur, node.__shadowColor, node.__key);
808
867
  }
809
- constructor(src, altText = '', width, height, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor, key) {
868
+ constructor(src, altText = '', width, height, title, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, showTitle, showPhotographer, showCopyright, showComment, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor, key) {
810
869
  super(key);
811
870
  this.__src = src;
812
871
  this.__altText = altText;
813
872
  this.__width = width;
814
873
  this.__height = height;
874
+ this.__title = title;
815
875
  this.__copyright = copyright;
816
876
  this.__photographer = photographer;
817
877
  this.__comment = comment;
@@ -822,6 +882,10 @@ class ImageNode extends lexical_1.DecoratorNode {
822
882
  this.__captionSize = captionSize;
823
883
  this.__showFileName = showFileName;
824
884
  this.__showAltText = showAltText;
885
+ this.__showTitle = showTitle;
886
+ this.__showPhotographer = showPhotographer;
887
+ this.__showCopyright = showCopyright;
888
+ this.__showComment = showComment;
825
889
  this.__borderWidth = borderWidth;
826
890
  this.__borderColor = borderColor;
827
891
  this.__borderRadius = borderRadius;
@@ -936,6 +1000,41 @@ class ImageNode extends lexical_1.DecoratorNode {
936
1000
  getShowAltText() {
937
1001
  return this.__showAltText;
938
1002
  }
1003
+ setTitle(title) {
1004
+ const writable = this.getWritable();
1005
+ writable.__title = title;
1006
+ }
1007
+ getTitle() {
1008
+ return this.__title;
1009
+ }
1010
+ setShowTitle(showTitle) {
1011
+ const writable = this.getWritable();
1012
+ writable.__showTitle = showTitle;
1013
+ }
1014
+ getShowTitle() {
1015
+ return this.__showTitle;
1016
+ }
1017
+ setShowPhotographer(showPhotographer) {
1018
+ const writable = this.getWritable();
1019
+ writable.__showPhotographer = showPhotographer;
1020
+ }
1021
+ getShowPhotographer() {
1022
+ return this.__showPhotographer;
1023
+ }
1024
+ setShowCopyright(showCopyright) {
1025
+ const writable = this.getWritable();
1026
+ writable.__showCopyright = showCopyright;
1027
+ }
1028
+ getShowCopyright() {
1029
+ return this.__showCopyright;
1030
+ }
1031
+ setShowComment(showComment) {
1032
+ const writable = this.getWritable();
1033
+ writable.__showComment = showComment;
1034
+ }
1035
+ getShowComment() {
1036
+ return this.__showComment;
1037
+ }
939
1038
  setBorderWidth(borderWidth) {
940
1039
  const writable = this.getWritable();
941
1040
  writable.__borderWidth = borderWidth;
@@ -986,8 +1085,8 @@ class ImageNode extends lexical_1.DecoratorNode {
986
1085
  return this.__shadowColor;
987
1086
  }
988
1087
  static importJSON(serializedNode) {
989
- const { src, altText, width, height, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor } = serializedNode;
990
- return $createImageNode({ src, altText, width, height, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor });
1088
+ const { src, altText, width, height, title, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, showTitle, showPhotographer, showCopyright, showComment, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor } = serializedNode;
1089
+ return $createImageNode({ src, altText, width, height, title, copyright, photographer, comment, float, captionPosition, captionAlign, captionVerticalAlign, captionSize, showFileName, showAltText, showTitle, showPhotographer, showCopyright, showComment, borderWidth, borderColor, borderRadius, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor });
991
1090
  }
992
1091
  exportJSON() {
993
1092
  return {
@@ -997,6 +1096,7 @@ class ImageNode extends lexical_1.DecoratorNode {
997
1096
  altText: this.__altText,
998
1097
  width: this.__width,
999
1098
  height: this.__height,
1099
+ title: this.__title,
1000
1100
  copyright: this.__copyright,
1001
1101
  photographer: this.__photographer,
1002
1102
  comment: this.__comment,
@@ -1007,6 +1107,10 @@ class ImageNode extends lexical_1.DecoratorNode {
1007
1107
  captionSize: this.__captionSize,
1008
1108
  showFileName: this.__showFileName,
1009
1109
  showAltText: this.__showAltText,
1110
+ showTitle: this.__showTitle,
1111
+ showPhotographer: this.__showPhotographer,
1112
+ showCopyright: this.__showCopyright,
1113
+ showComment: this.__showComment,
1010
1114
  borderWidth: this.__borderWidth,
1011
1115
  borderColor: this.__borderColor,
1012
1116
  borderRadius: this.__borderRadius,
@@ -1042,12 +1146,12 @@ class ImageNode extends lexical_1.DecoratorNode {
1042
1146
  };
1043
1147
  }
1044
1148
  decorate() {
1045
- return ((0, jsx_runtime_1.jsx)(ImageComponent, { src: this.__src, altText: this.__altText, width: this.__width, height: this.__height, copyright: this.__copyright, photographer: this.__photographer, comment: this.__comment, float: this.__float, captionPosition: this.__captionPosition, captionAlign: this.__captionAlign, captionVerticalAlign: this.__captionVerticalAlign, captionSize: this.__captionSize, showFileName: this.__showFileName, showAltText: this.__showAltText, borderWidth: this.__borderWidth, borderColor: this.__borderColor, borderRadius: this.__borderRadius, shadowOffsetX: this.__shadowOffsetX, shadowOffsetY: this.__shadowOffsetY, shadowBlur: this.__shadowBlur, shadowColor: this.__shadowColor, nodeKey: this.__key }));
1149
+ return ((0, jsx_runtime_1.jsx)(ImageComponent, { src: this.__src, altText: this.__altText, width: this.__width, height: this.__height, title: this.__title, copyright: this.__copyright, photographer: this.__photographer, comment: this.__comment, float: this.__float, captionPosition: this.__captionPosition, captionAlign: this.__captionAlign, captionVerticalAlign: this.__captionVerticalAlign, captionSize: this.__captionSize, showFileName: this.__showFileName, showAltText: this.__showAltText, showTitle: this.__showTitle, showPhotographer: this.__showPhotographer, showCopyright: this.__showCopyright, showComment: this.__showComment, borderWidth: this.__borderWidth, borderColor: this.__borderColor, borderRadius: this.__borderRadius, shadowOffsetX: this.__shadowOffsetX, shadowOffsetY: this.__shadowOffsetY, shadowBlur: this.__shadowBlur, shadowColor: this.__shadowColor, nodeKey: this.__key }));
1046
1150
  }
1047
1151
  }
1048
1152
  exports.ImageNode = ImageNode;
1049
1153
  function $createImageNode(payload) {
1050
- return new ImageNode(payload.src, payload.altText || '', payload.width, payload.height, payload.copyright, payload.photographer, payload.comment, payload.float, payload.captionPosition, payload.captionAlign, payload.captionVerticalAlign, payload.captionSize, payload.showFileName, payload.showAltText, payload.borderWidth, payload.borderColor, payload.borderRadius, payload.shadowOffsetX, payload.shadowOffsetY, payload.shadowBlur, payload.shadowColor);
1154
+ return new ImageNode(payload.src, payload.altText || '', payload.width, payload.height, payload.title, payload.copyright, payload.photographer, payload.comment, payload.float, payload.captionPosition, payload.captionAlign, payload.captionVerticalAlign, payload.captionSize, payload.showFileName, payload.showAltText, payload.showTitle, payload.showPhotographer, payload.showCopyright, payload.showComment, payload.borderWidth, payload.borderColor, payload.borderRadius, payload.shadowOffsetX, payload.shadowOffsetY, payload.shadowBlur, payload.shadowColor);
1051
1155
  }
1052
1156
  function $isImageNode(node) {
1053
1157
  return node instanceof ImageNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qwanyx/ai-editor",
3
- "version": "1.3.10",
3
+ "version": "1.3.12",
4
4
  "description": "AI-powered WYSIWYG rich text editor",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",