@stll/folio-react 0.25.3 → 0.27.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 (28) hide show
  1. package/README.md +1 -1
  2. package/dist/{CommentsSidebar-IR9uTkkk.js → CommentsSidebar-BbwdJakm.js} +53 -33
  3. package/dist/{FindReplaceDialog-BUwFQWaq.js → FindReplaceDialog-LlVMe3EW.js} +148 -107
  4. package/dist/{FootnotePropertiesDialog-6XdO0zBH.js → FootnotePropertiesDialog-D73t3LNP.js} +1 -1
  5. package/dist/ImagePositionDialog-Cwt6R8iM.js +1039 -0
  6. package/dist/ImagePropertiesDialog-GNZLBFLB.js +607 -0
  7. package/dist/{InsertSymbolDialog-Cn_Nifhg.js → InsertSymbolDialog-CeEhkEvc.js} +1 -1
  8. package/dist/PageSetupDialog-DD6IEZAo.js +805 -0
  9. package/dist/SetNumberingValueDialog-CDQGDvP1.js +233 -0
  10. package/dist/TablePropertiesDialog-Vu0HXQz6.js +416 -0
  11. package/dist/{TextContextMenu-Bqth8itn.js → TextContextMenu-DZ3AUFKh.js} +4 -2
  12. package/dist/compat/eigenpal.d.ts +1 -1
  13. package/dist/compat/eigenpal.js +1 -1
  14. package/dist/{dialogs-DZz6gVev.d.ts → dialogs-BENP66Ly.d.ts} +11 -11
  15. package/dist/{dialogs-Dzu4hqRp.js → dialogs-De-oslzU.js} +417 -394
  16. package/dist/dialogs.d.ts +1 -1
  17. package/dist/dialogs.js +8 -8
  18. package/dist/{folio-ui-DO95voaI.js → folio-ui-rCHqCEG6.js} +125 -35
  19. package/dist/index.d.ts +2 -2
  20. package/dist/index.js +10 -10
  21. package/dist/{renderAsync-JTB5ldQI.d.ts → renderAsync-B9AIgM8K.d.ts} +3 -1
  22. package/dist/{renderAsync-C0_y_c9Y.js → renderAsync-Bcpsd6Fw.js} +2851 -2024
  23. package/package.json +5 -5
  24. package/dist/ImagePositionDialog-9q71ka9N.js +0 -1065
  25. package/dist/ImagePropertiesDialog-o79NCGk7.js +0 -613
  26. package/dist/PageSetupDialog-CMdVXCZ-.js +0 -820
  27. package/dist/SetNumberingValueDialog-DOsaSq7e.js +0 -237
  28. package/dist/TablePropertiesDialog-DwPiUj4m.js +0 -421
@@ -0,0 +1,1039 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-BBjsoOtd.js";
2
+ import { r as useFolioUI } from "./folio-ui-rCHqCEG6.js";
3
+ import { u as useCloseOnDialogOpenChange } from "./dialogChrome-BoGYPgeu.js";
4
+ import { c } from "react-compiler-runtime";
5
+ import { useId, useState } from "react";
6
+ import { useTranslations } from "use-intl";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/dialogs/ImagePositionDialog.tsx
9
+ /**
10
+ * Image Position Dialog
11
+ *
12
+ * Modal for editing image positioning settings:
13
+ * - Horizontal: alignment or offset, relative to page/column/margin/paragraph
14
+ * - Vertical: alignment or offset, relative to page/margin/paragraph/line
15
+ * - Distance from text (top/bottom/left/right)
16
+ */
17
+ var ImagePositionDialog_exports = /* @__PURE__ */ __exportAll({ ImagePositionDialog: () => ImagePositionDialog });
18
+ function ImagePositionDialog(props) {
19
+ const $ = c(5);
20
+ if (!props.isOpen) return null;
21
+ let t0;
22
+ if ($[0] !== props.currentData) {
23
+ t0 = JSON.stringify(props.currentData);
24
+ $[0] = props.currentData;
25
+ $[1] = t0;
26
+ } else t0 = $[1];
27
+ let t1;
28
+ if ($[2] !== props || $[3] !== t0) {
29
+ t1 = /* @__PURE__ */ jsx(ImagePositionDialogForm, { ...props }, t0);
30
+ $[2] = props;
31
+ $[3] = t0;
32
+ $[4] = t1;
33
+ } else t1 = $[4];
34
+ return t1;
35
+ }
36
+ function ImagePositionDialogForm(t0) {
37
+ const $ = c(266);
38
+ const { isOpen, onClose, onApply, currentData } = t0;
39
+ const { Root: Dialog, Portal: DialogPortal, Backdrop: DialogBackdrop, Popup: DialogPopup, Title: DialogTitle, Close: DialogClose } = useFolioUI().Dialog;
40
+ const handleOpenChange = useCloseOnDialogOpenChange(onClose);
41
+ const t = useTranslations("folio");
42
+ const id = useId();
43
+ const [hMode, setHMode] = useState(currentData?.horizontal?.align || currentData?.horizontal?.posOffset === void 0 ? "align" : "offset");
44
+ const [hAlign, setHAlign] = useState(currentData?.horizontal?.align ?? "center");
45
+ const [hRelativeTo, setHRelativeTo] = useState(currentData?.horizontal?.relativeTo ?? "column");
46
+ const [hOffset, setHOffset] = useState(currentData?.horizontal?.posOffset ?? 0);
47
+ const [vMode, setVMode] = useState(currentData?.vertical?.align || currentData?.vertical?.posOffset === void 0 ? "align" : "offset");
48
+ const [vAlign, setVAlign] = useState(currentData?.vertical?.align ?? "top");
49
+ const [vRelativeTo, setVRelativeTo] = useState(currentData?.vertical?.relativeTo ?? "paragraph");
50
+ const [vOffset, setVOffset] = useState(currentData?.vertical?.posOffset ?? 0);
51
+ const [distTop, setDistTop] = useState(currentData?.distTop ?? 0);
52
+ const [distBottom, setDistBottom] = useState(currentData?.distBottom ?? 0);
53
+ const [distLeft, setDistLeft] = useState(currentData?.distLeft ?? 0);
54
+ const [distRight, setDistRight] = useState(currentData?.distRight ?? 0);
55
+ let t1;
56
+ if ($[0] !== distBottom || $[1] !== distLeft || $[2] !== distRight || $[3] !== distTop || $[4] !== hAlign || $[5] !== hMode || $[6] !== hOffset || $[7] !== hRelativeTo || $[8] !== onApply || $[9] !== onClose || $[10] !== vAlign || $[11] !== vMode || $[12] !== vOffset || $[13] !== vRelativeTo) {
57
+ t1 = () => {
58
+ const data = {};
59
+ data.horizontal = {
60
+ relativeTo: hRelativeTo,
61
+ ...hMode === "align" ? { align: hAlign } : { posOffset: hOffset }
62
+ };
63
+ data.vertical = {
64
+ relativeTo: vRelativeTo,
65
+ ...vMode === "align" ? { align: vAlign } : { posOffset: vOffset }
66
+ };
67
+ data.distTop = distTop;
68
+ data.distBottom = distBottom;
69
+ data.distLeft = distLeft;
70
+ data.distRight = distRight;
71
+ onApply(data);
72
+ onClose();
73
+ };
74
+ $[0] = distBottom;
75
+ $[1] = distLeft;
76
+ $[2] = distRight;
77
+ $[3] = distTop;
78
+ $[4] = hAlign;
79
+ $[5] = hMode;
80
+ $[6] = hOffset;
81
+ $[7] = hRelativeTo;
82
+ $[8] = onApply;
83
+ $[9] = onClose;
84
+ $[10] = vAlign;
85
+ $[11] = vMode;
86
+ $[12] = vOffset;
87
+ $[13] = vRelativeTo;
88
+ $[14] = t1;
89
+ } else t1 = $[14];
90
+ const handleApply = t1;
91
+ const t2 = `${id}-img-pos-h-mode`;
92
+ const t3 = `${id}-img-pos-h-align`;
93
+ const t4 = `${id}-img-pos-h-offset`;
94
+ const t5 = `${id}-img-pos-h-rel`;
95
+ const t6 = `${id}-img-pos-v-mode`;
96
+ const t7 = `${id}-img-pos-v-align`;
97
+ const t8 = `${id}-img-pos-v-offset`;
98
+ const t9 = `${id}-img-pos-v-rel`;
99
+ const t10 = `${id}-img-pos-dist-top`;
100
+ const t11 = `${id}-img-pos-dist-bottom`;
101
+ const t12 = `${id}-img-pos-dist-left`;
102
+ const t13 = `${id}-img-pos-dist-right`;
103
+ let t14;
104
+ if ($[15] !== t10 || $[16] !== t11 || $[17] !== t12 || $[18] !== t13 || $[19] !== t2 || $[20] !== t3 || $[21] !== t4 || $[22] !== t5 || $[23] !== t6 || $[24] !== t7 || $[25] !== t8 || $[26] !== t9) {
105
+ t14 = {
106
+ hMode: t2,
107
+ hAlign: t3,
108
+ hOffset: t4,
109
+ hRelativeTo: t5,
110
+ vMode: t6,
111
+ vAlign: t7,
112
+ vOffset: t8,
113
+ vRelativeTo: t9,
114
+ distTop: t10,
115
+ distBottom: t11,
116
+ distLeft: t12,
117
+ distRight: t13
118
+ };
119
+ $[15] = t10;
120
+ $[16] = t11;
121
+ $[17] = t12;
122
+ $[18] = t13;
123
+ $[19] = t2;
124
+ $[20] = t3;
125
+ $[21] = t4;
126
+ $[22] = t5;
127
+ $[23] = t6;
128
+ $[24] = t7;
129
+ $[25] = t8;
130
+ $[26] = t9;
131
+ $[27] = t14;
132
+ } else t14 = $[27];
133
+ const fieldIds = t14;
134
+ let t15;
135
+ if ($[28] !== DialogBackdrop) {
136
+ t15 = /* @__PURE__ */ jsx(DialogBackdrop, { className: "fixed inset-0 z-[10000] bg-black/50" });
137
+ $[28] = DialogBackdrop;
138
+ $[29] = t15;
139
+ } else t15 = $[29];
140
+ let t16;
141
+ if ($[30] !== t) {
142
+ t16 = t("dialogs.imagePosition.title");
143
+ $[30] = t;
144
+ $[31] = t16;
145
+ } else t16 = $[31];
146
+ let t17;
147
+ if ($[32] !== DialogTitle || $[33] !== t16) {
148
+ t17 = /* @__PURE__ */ jsx(DialogTitle, {
149
+ className: "border-b px-5 py-3 text-base font-semibold",
150
+ children: t16
151
+ });
152
+ $[32] = DialogTitle;
153
+ $[33] = t16;
154
+ $[34] = t17;
155
+ } else t17 = $[34];
156
+ let t18;
157
+ if ($[35] !== t) {
158
+ t18 = t("dialogs.imagePosition.horizontal");
159
+ $[35] = t;
160
+ $[36] = t18;
161
+ } else t18 = $[36];
162
+ let t19;
163
+ if ($[37] !== t18) {
164
+ t19 = /* @__PURE__ */ jsx("div", {
165
+ className: "text-foreground text-[13px] font-semibold",
166
+ children: t18
167
+ });
168
+ $[37] = t18;
169
+ $[38] = t19;
170
+ } else t19 = $[38];
171
+ const t20 = fieldIds.hMode;
172
+ let t21;
173
+ if ($[39] !== t) {
174
+ t21 = t("dialogs.imagePosition.position");
175
+ $[39] = t;
176
+ $[40] = t21;
177
+ } else t21 = $[40];
178
+ let t22;
179
+ if ($[41] !== fieldIds.hMode || $[42] !== t21) {
180
+ t22 = /* @__PURE__ */ jsx("label", {
181
+ className: "w-[75px] text-muted-foreground text-xs",
182
+ htmlFor: t20,
183
+ children: t21
184
+ });
185
+ $[41] = fieldIds.hMode;
186
+ $[42] = t21;
187
+ $[43] = t22;
188
+ } else t22 = $[43];
189
+ const t23 = fieldIds.hMode;
190
+ let t24;
191
+ if ($[44] === Symbol.for("react.memo_cache_sentinel")) {
192
+ t24 = (e) => setHMode(e.target.value);
193
+ $[44] = t24;
194
+ } else t24 = $[44];
195
+ let t25;
196
+ if ($[45] !== t) {
197
+ t25 = t("dialogs.imagePosition.alignment");
198
+ $[45] = t;
199
+ $[46] = t25;
200
+ } else t25 = $[46];
201
+ let t26;
202
+ if ($[47] !== t25) {
203
+ t26 = /* @__PURE__ */ jsx("option", {
204
+ value: "align",
205
+ children: t25
206
+ });
207
+ $[47] = t25;
208
+ $[48] = t26;
209
+ } else t26 = $[48];
210
+ let t27;
211
+ if ($[49] !== t) {
212
+ t27 = t("dialogs.imagePosition.offset");
213
+ $[49] = t;
214
+ $[50] = t27;
215
+ } else t27 = $[50];
216
+ let t28;
217
+ if ($[51] !== t27) {
218
+ t28 = /* @__PURE__ */ jsx("option", {
219
+ value: "offset",
220
+ children: t27
221
+ });
222
+ $[51] = t27;
223
+ $[52] = t28;
224
+ } else t28 = $[52];
225
+ let t29;
226
+ if ($[53] !== fieldIds.hMode || $[54] !== hMode || $[55] !== t26 || $[56] !== t28) {
227
+ t29 = /* @__PURE__ */ jsxs("select", {
228
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
229
+ id: t23,
230
+ value: hMode,
231
+ onChange: t24,
232
+ children: [t26, t28]
233
+ });
234
+ $[53] = fieldIds.hMode;
235
+ $[54] = hMode;
236
+ $[55] = t26;
237
+ $[56] = t28;
238
+ $[57] = t29;
239
+ } else t29 = $[57];
240
+ let t30;
241
+ if ($[58] !== t22 || $[59] !== t29) {
242
+ t30 = /* @__PURE__ */ jsxs("div", {
243
+ className: "flex items-center gap-2",
244
+ children: [t22, t29]
245
+ });
246
+ $[58] = t22;
247
+ $[59] = t29;
248
+ $[60] = t30;
249
+ } else t30 = $[60];
250
+ let t31;
251
+ if ($[61] !== fieldIds.hAlign || $[62] !== fieldIds.hOffset || $[63] !== hAlign || $[64] !== hMode || $[65] !== hOffset || $[66] !== t) {
252
+ t31 = hMode === "align" ? /* @__PURE__ */ jsxs("div", {
253
+ className: "flex items-center gap-2",
254
+ children: [/* @__PURE__ */ jsx("label", {
255
+ className: "w-[75px] text-muted-foreground text-xs",
256
+ htmlFor: fieldIds.hAlign,
257
+ children: t("dialogs.imagePosition.align")
258
+ }), /* @__PURE__ */ jsxs("select", {
259
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
260
+ id: fieldIds.hAlign,
261
+ value: hAlign,
262
+ onChange: (e_0) => setHAlign(e_0.target.value),
263
+ children: [
264
+ /* @__PURE__ */ jsx("option", {
265
+ value: "left",
266
+ children: t("dialogs.imagePosition.alignOptions.left")
267
+ }),
268
+ /* @__PURE__ */ jsx("option", {
269
+ value: "center",
270
+ children: t("dialogs.imagePosition.alignOptions.center")
271
+ }),
272
+ /* @__PURE__ */ jsx("option", {
273
+ value: "right",
274
+ children: t("dialogs.imagePosition.alignOptions.right")
275
+ })
276
+ ]
277
+ })]
278
+ }) : /* @__PURE__ */ jsxs("div", {
279
+ className: "flex items-center gap-2",
280
+ children: [/* @__PURE__ */ jsx("label", {
281
+ className: "w-[75px] text-muted-foreground text-xs",
282
+ htmlFor: fieldIds.hOffset,
283
+ children: t("dialogs.imagePosition.offsetPx")
284
+ }), /* @__PURE__ */ jsx("input", {
285
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
286
+ id: fieldIds.hOffset,
287
+ type: "number",
288
+ value: hOffset,
289
+ onChange: (e_1) => setHOffset(Number(e_1.target.value) || 0)
290
+ })]
291
+ });
292
+ $[61] = fieldIds.hAlign;
293
+ $[62] = fieldIds.hOffset;
294
+ $[63] = hAlign;
295
+ $[64] = hMode;
296
+ $[65] = hOffset;
297
+ $[66] = t;
298
+ $[67] = t31;
299
+ } else t31 = $[67];
300
+ const t32 = fieldIds.hRelativeTo;
301
+ let t33;
302
+ if ($[68] !== t) {
303
+ t33 = t("dialogs.imagePosition.relativeTo");
304
+ $[68] = t;
305
+ $[69] = t33;
306
+ } else t33 = $[69];
307
+ let t34;
308
+ if ($[70] !== fieldIds.hRelativeTo || $[71] !== t33) {
309
+ t34 = /* @__PURE__ */ jsx("label", {
310
+ className: "w-[75px] text-muted-foreground text-xs",
311
+ htmlFor: t32,
312
+ children: t33
313
+ });
314
+ $[70] = fieldIds.hRelativeTo;
315
+ $[71] = t33;
316
+ $[72] = t34;
317
+ } else t34 = $[72];
318
+ const t35 = fieldIds.hRelativeTo;
319
+ let t36;
320
+ if ($[73] === Symbol.for("react.memo_cache_sentinel")) {
321
+ t36 = (e_2) => setHRelativeTo(e_2.target.value);
322
+ $[73] = t36;
323
+ } else t36 = $[73];
324
+ let t37;
325
+ if ($[74] !== t) {
326
+ t37 = t("dialogs.imagePosition.relativeOptions.page");
327
+ $[74] = t;
328
+ $[75] = t37;
329
+ } else t37 = $[75];
330
+ let t38;
331
+ if ($[76] !== t37) {
332
+ t38 = /* @__PURE__ */ jsx("option", {
333
+ value: "page",
334
+ children: t37
335
+ });
336
+ $[76] = t37;
337
+ $[77] = t38;
338
+ } else t38 = $[77];
339
+ let t39;
340
+ if ($[78] !== t) {
341
+ t39 = t("dialogs.imagePosition.relativeOptions.column");
342
+ $[78] = t;
343
+ $[79] = t39;
344
+ } else t39 = $[79];
345
+ let t40;
346
+ if ($[80] !== t39) {
347
+ t40 = /* @__PURE__ */ jsx("option", {
348
+ value: "column",
349
+ children: t39
350
+ });
351
+ $[80] = t39;
352
+ $[81] = t40;
353
+ } else t40 = $[81];
354
+ let t41;
355
+ if ($[82] !== t) {
356
+ t41 = t("dialogs.imagePosition.relativeOptions.margin");
357
+ $[82] = t;
358
+ $[83] = t41;
359
+ } else t41 = $[83];
360
+ let t42;
361
+ if ($[84] !== t41) {
362
+ t42 = /* @__PURE__ */ jsx("option", {
363
+ value: "margin",
364
+ children: t41
365
+ });
366
+ $[84] = t41;
367
+ $[85] = t42;
368
+ } else t42 = $[85];
369
+ let t43;
370
+ if ($[86] !== t) {
371
+ t43 = t("dialogs.imagePosition.relativeOptions.character");
372
+ $[86] = t;
373
+ $[87] = t43;
374
+ } else t43 = $[87];
375
+ let t44;
376
+ if ($[88] !== t43) {
377
+ t44 = /* @__PURE__ */ jsx("option", {
378
+ value: "character",
379
+ children: t43
380
+ });
381
+ $[88] = t43;
382
+ $[89] = t44;
383
+ } else t44 = $[89];
384
+ let t45;
385
+ if ($[90] !== fieldIds.hRelativeTo || $[91] !== hRelativeTo || $[92] !== t38 || $[93] !== t40 || $[94] !== t42 || $[95] !== t44) {
386
+ t45 = /* @__PURE__ */ jsxs("select", {
387
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
388
+ id: t35,
389
+ value: hRelativeTo,
390
+ onChange: t36,
391
+ children: [
392
+ t38,
393
+ t40,
394
+ t42,
395
+ t44
396
+ ]
397
+ });
398
+ $[90] = fieldIds.hRelativeTo;
399
+ $[91] = hRelativeTo;
400
+ $[92] = t38;
401
+ $[93] = t40;
402
+ $[94] = t42;
403
+ $[95] = t44;
404
+ $[96] = t45;
405
+ } else t45 = $[96];
406
+ let t46;
407
+ if ($[97] !== t34 || $[98] !== t45) {
408
+ t46 = /* @__PURE__ */ jsxs("div", {
409
+ className: "flex items-center gap-2",
410
+ children: [t34, t45]
411
+ });
412
+ $[97] = t34;
413
+ $[98] = t45;
414
+ $[99] = t46;
415
+ } else t46 = $[99];
416
+ let t47;
417
+ if ($[100] !== t19 || $[101] !== t30 || $[102] !== t31 || $[103] !== t46) {
418
+ t47 = /* @__PURE__ */ jsxs("div", {
419
+ className: "flex flex-col gap-2",
420
+ children: [
421
+ t19,
422
+ t30,
423
+ t31,
424
+ t46
425
+ ]
426
+ });
427
+ $[100] = t19;
428
+ $[101] = t30;
429
+ $[102] = t31;
430
+ $[103] = t46;
431
+ $[104] = t47;
432
+ } else t47 = $[104];
433
+ let t48;
434
+ if ($[105] !== t) {
435
+ t48 = t("dialogs.imagePosition.vertical");
436
+ $[105] = t;
437
+ $[106] = t48;
438
+ } else t48 = $[106];
439
+ let t49;
440
+ if ($[107] !== t48) {
441
+ t49 = /* @__PURE__ */ jsx("div", {
442
+ className: "text-foreground text-[13px] font-semibold",
443
+ children: t48
444
+ });
445
+ $[107] = t48;
446
+ $[108] = t49;
447
+ } else t49 = $[108];
448
+ const t50 = fieldIds.vMode;
449
+ let t51;
450
+ if ($[109] !== t) {
451
+ t51 = t("dialogs.imagePosition.position");
452
+ $[109] = t;
453
+ $[110] = t51;
454
+ } else t51 = $[110];
455
+ let t52;
456
+ if ($[111] !== fieldIds.vMode || $[112] !== t51) {
457
+ t52 = /* @__PURE__ */ jsx("label", {
458
+ className: "w-[75px] text-muted-foreground text-xs",
459
+ htmlFor: t50,
460
+ children: t51
461
+ });
462
+ $[111] = fieldIds.vMode;
463
+ $[112] = t51;
464
+ $[113] = t52;
465
+ } else t52 = $[113];
466
+ const t53 = fieldIds.vMode;
467
+ let t54;
468
+ if ($[114] === Symbol.for("react.memo_cache_sentinel")) {
469
+ t54 = (e_3) => setVMode(e_3.target.value);
470
+ $[114] = t54;
471
+ } else t54 = $[114];
472
+ let t55;
473
+ if ($[115] !== t) {
474
+ t55 = t("dialogs.imagePosition.alignment");
475
+ $[115] = t;
476
+ $[116] = t55;
477
+ } else t55 = $[116];
478
+ let t56;
479
+ if ($[117] !== t55) {
480
+ t56 = /* @__PURE__ */ jsx("option", {
481
+ value: "align",
482
+ children: t55
483
+ });
484
+ $[117] = t55;
485
+ $[118] = t56;
486
+ } else t56 = $[118];
487
+ let t57;
488
+ if ($[119] !== t) {
489
+ t57 = t("dialogs.imagePosition.offset");
490
+ $[119] = t;
491
+ $[120] = t57;
492
+ } else t57 = $[120];
493
+ let t58;
494
+ if ($[121] !== t57) {
495
+ t58 = /* @__PURE__ */ jsx("option", {
496
+ value: "offset",
497
+ children: t57
498
+ });
499
+ $[121] = t57;
500
+ $[122] = t58;
501
+ } else t58 = $[122];
502
+ let t59;
503
+ if ($[123] !== fieldIds.vMode || $[124] !== t56 || $[125] !== t58 || $[126] !== vMode) {
504
+ t59 = /* @__PURE__ */ jsxs("select", {
505
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
506
+ id: t53,
507
+ value: vMode,
508
+ onChange: t54,
509
+ children: [t56, t58]
510
+ });
511
+ $[123] = fieldIds.vMode;
512
+ $[124] = t56;
513
+ $[125] = t58;
514
+ $[126] = vMode;
515
+ $[127] = t59;
516
+ } else t59 = $[127];
517
+ let t60;
518
+ if ($[128] !== t52 || $[129] !== t59) {
519
+ t60 = /* @__PURE__ */ jsxs("div", {
520
+ className: "flex items-center gap-2",
521
+ children: [t52, t59]
522
+ });
523
+ $[128] = t52;
524
+ $[129] = t59;
525
+ $[130] = t60;
526
+ } else t60 = $[130];
527
+ let t61;
528
+ if ($[131] !== fieldIds.vAlign || $[132] !== fieldIds.vOffset || $[133] !== t || $[134] !== vAlign || $[135] !== vMode || $[136] !== vOffset) {
529
+ t61 = vMode === "align" ? /* @__PURE__ */ jsxs("div", {
530
+ className: "flex items-center gap-2",
531
+ children: [/* @__PURE__ */ jsx("label", {
532
+ className: "w-[75px] text-muted-foreground text-xs",
533
+ htmlFor: fieldIds.vAlign,
534
+ children: t("dialogs.imagePosition.align")
535
+ }), /* @__PURE__ */ jsxs("select", {
536
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
537
+ id: fieldIds.vAlign,
538
+ value: vAlign,
539
+ onChange: (e_4) => setVAlign(e_4.target.value),
540
+ children: [
541
+ /* @__PURE__ */ jsx("option", {
542
+ value: "top",
543
+ children: t("dialogs.imagePosition.alignOptions.top")
544
+ }),
545
+ /* @__PURE__ */ jsx("option", {
546
+ value: "center",
547
+ children: t("dialogs.imagePosition.alignOptions.center")
548
+ }),
549
+ /* @__PURE__ */ jsx("option", {
550
+ value: "bottom",
551
+ children: t("dialogs.imagePosition.alignOptions.bottom")
552
+ })
553
+ ]
554
+ })]
555
+ }) : /* @__PURE__ */ jsxs("div", {
556
+ className: "flex items-center gap-2",
557
+ children: [/* @__PURE__ */ jsx("label", {
558
+ className: "w-[75px] text-muted-foreground text-xs",
559
+ htmlFor: fieldIds.vOffset,
560
+ children: t("dialogs.imagePosition.offsetPx")
561
+ }), /* @__PURE__ */ jsx("input", {
562
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
563
+ id: fieldIds.vOffset,
564
+ type: "number",
565
+ value: vOffset,
566
+ onChange: (e_5) => setVOffset(Number(e_5.target.value) || 0)
567
+ })]
568
+ });
569
+ $[131] = fieldIds.vAlign;
570
+ $[132] = fieldIds.vOffset;
571
+ $[133] = t;
572
+ $[134] = vAlign;
573
+ $[135] = vMode;
574
+ $[136] = vOffset;
575
+ $[137] = t61;
576
+ } else t61 = $[137];
577
+ const t62 = fieldIds.vRelativeTo;
578
+ let t63;
579
+ if ($[138] !== t) {
580
+ t63 = t("dialogs.imagePosition.relativeTo");
581
+ $[138] = t;
582
+ $[139] = t63;
583
+ } else t63 = $[139];
584
+ let t64;
585
+ if ($[140] !== fieldIds.vRelativeTo || $[141] !== t63) {
586
+ t64 = /* @__PURE__ */ jsx("label", {
587
+ className: "w-[75px] text-muted-foreground text-xs",
588
+ htmlFor: t62,
589
+ children: t63
590
+ });
591
+ $[140] = fieldIds.vRelativeTo;
592
+ $[141] = t63;
593
+ $[142] = t64;
594
+ } else t64 = $[142];
595
+ const t65 = fieldIds.vRelativeTo;
596
+ let t66;
597
+ if ($[143] === Symbol.for("react.memo_cache_sentinel")) {
598
+ t66 = (e_6) => setVRelativeTo(e_6.target.value);
599
+ $[143] = t66;
600
+ } else t66 = $[143];
601
+ let t67;
602
+ if ($[144] !== t) {
603
+ t67 = t("dialogs.imagePosition.relativeOptions.page");
604
+ $[144] = t;
605
+ $[145] = t67;
606
+ } else t67 = $[145];
607
+ let t68;
608
+ if ($[146] !== t67) {
609
+ t68 = /* @__PURE__ */ jsx("option", {
610
+ value: "page",
611
+ children: t67
612
+ });
613
+ $[146] = t67;
614
+ $[147] = t68;
615
+ } else t68 = $[147];
616
+ let t69;
617
+ if ($[148] !== t) {
618
+ t69 = t("dialogs.imagePosition.relativeOptions.margin");
619
+ $[148] = t;
620
+ $[149] = t69;
621
+ } else t69 = $[149];
622
+ let t70;
623
+ if ($[150] !== t69) {
624
+ t70 = /* @__PURE__ */ jsx("option", {
625
+ value: "margin",
626
+ children: t69
627
+ });
628
+ $[150] = t69;
629
+ $[151] = t70;
630
+ } else t70 = $[151];
631
+ let t71;
632
+ if ($[152] !== t) {
633
+ t71 = t("dialogs.imagePosition.relativeOptions.paragraph");
634
+ $[152] = t;
635
+ $[153] = t71;
636
+ } else t71 = $[153];
637
+ let t72;
638
+ if ($[154] !== t71) {
639
+ t72 = /* @__PURE__ */ jsx("option", {
640
+ value: "paragraph",
641
+ children: t71
642
+ });
643
+ $[154] = t71;
644
+ $[155] = t72;
645
+ } else t72 = $[155];
646
+ let t73;
647
+ if ($[156] !== t) {
648
+ t73 = t("dialogs.imagePosition.relativeOptions.line");
649
+ $[156] = t;
650
+ $[157] = t73;
651
+ } else t73 = $[157];
652
+ let t74;
653
+ if ($[158] !== t73) {
654
+ t74 = /* @__PURE__ */ jsx("option", {
655
+ value: "line",
656
+ children: t73
657
+ });
658
+ $[158] = t73;
659
+ $[159] = t74;
660
+ } else t74 = $[159];
661
+ let t75;
662
+ if ($[160] !== fieldIds.vRelativeTo || $[161] !== t68 || $[162] !== t70 || $[163] !== t72 || $[164] !== t74 || $[165] !== vRelativeTo) {
663
+ t75 = /* @__PURE__ */ jsxs("select", {
664
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
665
+ id: t65,
666
+ value: vRelativeTo,
667
+ onChange: t66,
668
+ children: [
669
+ t68,
670
+ t70,
671
+ t72,
672
+ t74
673
+ ]
674
+ });
675
+ $[160] = fieldIds.vRelativeTo;
676
+ $[161] = t68;
677
+ $[162] = t70;
678
+ $[163] = t72;
679
+ $[164] = t74;
680
+ $[165] = vRelativeTo;
681
+ $[166] = t75;
682
+ } else t75 = $[166];
683
+ let t76;
684
+ if ($[167] !== t64 || $[168] !== t75) {
685
+ t76 = /* @__PURE__ */ jsxs("div", {
686
+ className: "flex items-center gap-2",
687
+ children: [t64, t75]
688
+ });
689
+ $[167] = t64;
690
+ $[168] = t75;
691
+ $[169] = t76;
692
+ } else t76 = $[169];
693
+ let t77;
694
+ if ($[170] !== t49 || $[171] !== t60 || $[172] !== t61 || $[173] !== t76) {
695
+ t77 = /* @__PURE__ */ jsxs("div", {
696
+ className: "flex flex-col gap-2",
697
+ children: [
698
+ t49,
699
+ t60,
700
+ t61,
701
+ t76
702
+ ]
703
+ });
704
+ $[170] = t49;
705
+ $[171] = t60;
706
+ $[172] = t61;
707
+ $[173] = t76;
708
+ $[174] = t77;
709
+ } else t77 = $[174];
710
+ let t78;
711
+ if ($[175] !== t) {
712
+ t78 = t("dialogs.imagePosition.distanceFromText");
713
+ $[175] = t;
714
+ $[176] = t78;
715
+ } else t78 = $[176];
716
+ let t79;
717
+ if ($[177] !== t78) {
718
+ t79 = /* @__PURE__ */ jsx("div", {
719
+ className: "text-foreground text-[13px] font-semibold",
720
+ children: t78
721
+ });
722
+ $[177] = t78;
723
+ $[178] = t79;
724
+ } else t79 = $[178];
725
+ const t80 = fieldIds.distTop;
726
+ let t81;
727
+ if ($[179] !== t) {
728
+ t81 = t("dialogs.imagePosition.alignOptions.top");
729
+ $[179] = t;
730
+ $[180] = t81;
731
+ } else t81 = $[180];
732
+ let t82;
733
+ if ($[181] !== fieldIds.distTop || $[182] !== t81) {
734
+ t82 = /* @__PURE__ */ jsx("label", {
735
+ className: "w-[45px] text-muted-foreground text-xs",
736
+ htmlFor: t80,
737
+ children: t81
738
+ });
739
+ $[181] = fieldIds.distTop;
740
+ $[182] = t81;
741
+ $[183] = t82;
742
+ } else t82 = $[183];
743
+ let t83;
744
+ if ($[184] === Symbol.for("react.memo_cache_sentinel")) {
745
+ t83 = (e_7) => setDistTop(Number(e_7.target.value) || 0);
746
+ $[184] = t83;
747
+ } else t83 = $[184];
748
+ let t84;
749
+ if ($[185] !== distTop || $[186] !== fieldIds.distTop) {
750
+ t84 = /* @__PURE__ */ jsx("input", {
751
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
752
+ id: fieldIds.distTop,
753
+ min: 0,
754
+ type: "number",
755
+ value: distTop,
756
+ onChange: t83
757
+ });
758
+ $[185] = distTop;
759
+ $[186] = fieldIds.distTop;
760
+ $[187] = t84;
761
+ } else t84 = $[187];
762
+ let t85;
763
+ if ($[188] !== t82 || $[189] !== t84) {
764
+ t85 = /* @__PURE__ */ jsxs("div", {
765
+ className: "flex items-center gap-2",
766
+ children: [t82, t84]
767
+ });
768
+ $[188] = t82;
769
+ $[189] = t84;
770
+ $[190] = t85;
771
+ } else t85 = $[190];
772
+ const t86 = fieldIds.distBottom;
773
+ let t87;
774
+ if ($[191] !== t) {
775
+ t87 = t("dialogs.imagePosition.alignOptions.bottom");
776
+ $[191] = t;
777
+ $[192] = t87;
778
+ } else t87 = $[192];
779
+ let t88;
780
+ if ($[193] !== fieldIds.distBottom || $[194] !== t87) {
781
+ t88 = /* @__PURE__ */ jsx("label", {
782
+ className: "w-[45px] text-muted-foreground text-xs",
783
+ htmlFor: t86,
784
+ children: t87
785
+ });
786
+ $[193] = fieldIds.distBottom;
787
+ $[194] = t87;
788
+ $[195] = t88;
789
+ } else t88 = $[195];
790
+ let t89;
791
+ if ($[196] === Symbol.for("react.memo_cache_sentinel")) {
792
+ t89 = (e_8) => setDistBottom(Number(e_8.target.value) || 0);
793
+ $[196] = t89;
794
+ } else t89 = $[196];
795
+ let t90;
796
+ if ($[197] !== distBottom || $[198] !== fieldIds.distBottom) {
797
+ t90 = /* @__PURE__ */ jsx("input", {
798
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
799
+ id: fieldIds.distBottom,
800
+ min: 0,
801
+ type: "number",
802
+ value: distBottom,
803
+ onChange: t89
804
+ });
805
+ $[197] = distBottom;
806
+ $[198] = fieldIds.distBottom;
807
+ $[199] = t90;
808
+ } else t90 = $[199];
809
+ let t91;
810
+ if ($[200] !== t88 || $[201] !== t90) {
811
+ t91 = /* @__PURE__ */ jsxs("div", {
812
+ className: "flex items-center gap-2",
813
+ children: [t88, t90]
814
+ });
815
+ $[200] = t88;
816
+ $[201] = t90;
817
+ $[202] = t91;
818
+ } else t91 = $[202];
819
+ const t92 = fieldIds.distLeft;
820
+ let t93;
821
+ if ($[203] !== t) {
822
+ t93 = t("dialogs.imagePosition.alignOptions.left");
823
+ $[203] = t;
824
+ $[204] = t93;
825
+ } else t93 = $[204];
826
+ let t94;
827
+ if ($[205] !== fieldIds.distLeft || $[206] !== t93) {
828
+ t94 = /* @__PURE__ */ jsx("label", {
829
+ className: "w-[45px] text-muted-foreground text-xs",
830
+ htmlFor: t92,
831
+ children: t93
832
+ });
833
+ $[205] = fieldIds.distLeft;
834
+ $[206] = t93;
835
+ $[207] = t94;
836
+ } else t94 = $[207];
837
+ let t95;
838
+ if ($[208] === Symbol.for("react.memo_cache_sentinel")) {
839
+ t95 = (e_9) => setDistLeft(Number(e_9.target.value) || 0);
840
+ $[208] = t95;
841
+ } else t95 = $[208];
842
+ let t96;
843
+ if ($[209] !== distLeft || $[210] !== fieldIds.distLeft) {
844
+ t96 = /* @__PURE__ */ jsx("input", {
845
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
846
+ id: fieldIds.distLeft,
847
+ min: 0,
848
+ type: "number",
849
+ value: distLeft,
850
+ onChange: t95
851
+ });
852
+ $[209] = distLeft;
853
+ $[210] = fieldIds.distLeft;
854
+ $[211] = t96;
855
+ } else t96 = $[211];
856
+ let t97;
857
+ if ($[212] !== t94 || $[213] !== t96) {
858
+ t97 = /* @__PURE__ */ jsxs("div", {
859
+ className: "flex items-center gap-2",
860
+ children: [t94, t96]
861
+ });
862
+ $[212] = t94;
863
+ $[213] = t96;
864
+ $[214] = t97;
865
+ } else t97 = $[214];
866
+ const t98 = fieldIds.distRight;
867
+ let t99;
868
+ if ($[215] !== t) {
869
+ t99 = t("dialogs.imagePosition.alignOptions.right");
870
+ $[215] = t;
871
+ $[216] = t99;
872
+ } else t99 = $[216];
873
+ let t100;
874
+ if ($[217] !== fieldIds.distRight || $[218] !== t99) {
875
+ t100 = /* @__PURE__ */ jsx("label", {
876
+ className: "w-[45px] text-muted-foreground text-xs",
877
+ htmlFor: t98,
878
+ children: t99
879
+ });
880
+ $[217] = fieldIds.distRight;
881
+ $[218] = t99;
882
+ $[219] = t100;
883
+ } else t100 = $[219];
884
+ let t101;
885
+ if ($[220] === Symbol.for("react.memo_cache_sentinel")) {
886
+ t101 = (e_10) => setDistRight(Number(e_10.target.value) || 0);
887
+ $[220] = t101;
888
+ } else t101 = $[220];
889
+ let t102;
890
+ if ($[221] !== distRight || $[222] !== fieldIds.distRight) {
891
+ t102 = /* @__PURE__ */ jsx("input", {
892
+ className: "border-input bg-background text-foreground flex-1 rounded border px-1.5 py-1 text-xs outline-none",
893
+ id: fieldIds.distRight,
894
+ min: 0,
895
+ type: "number",
896
+ value: distRight,
897
+ onChange: t101
898
+ });
899
+ $[221] = distRight;
900
+ $[222] = fieldIds.distRight;
901
+ $[223] = t102;
902
+ } else t102 = $[223];
903
+ let t103;
904
+ if ($[224] !== t100 || $[225] !== t102) {
905
+ t103 = /* @__PURE__ */ jsxs("div", {
906
+ className: "flex items-center gap-2",
907
+ children: [t100, t102]
908
+ });
909
+ $[224] = t100;
910
+ $[225] = t102;
911
+ $[226] = t103;
912
+ } else t103 = $[226];
913
+ let t104;
914
+ if ($[227] !== t103 || $[228] !== t85 || $[229] !== t91 || $[230] !== t97) {
915
+ t104 = /* @__PURE__ */ jsxs("div", {
916
+ className: "grid grid-cols-2 gap-2",
917
+ children: [
918
+ t85,
919
+ t91,
920
+ t97,
921
+ t103
922
+ ]
923
+ });
924
+ $[227] = t103;
925
+ $[228] = t85;
926
+ $[229] = t91;
927
+ $[230] = t97;
928
+ $[231] = t104;
929
+ } else t104 = $[231];
930
+ let t105;
931
+ if ($[232] !== t104 || $[233] !== t79) {
932
+ t105 = /* @__PURE__ */ jsxs("div", {
933
+ className: "flex flex-col gap-2",
934
+ children: [t79, t104]
935
+ });
936
+ $[232] = t104;
937
+ $[233] = t79;
938
+ $[234] = t105;
939
+ } else t105 = $[234];
940
+ let t106;
941
+ if ($[235] !== t105 || $[236] !== t47 || $[237] !== t77) {
942
+ t106 = /* @__PURE__ */ jsxs("div", {
943
+ className: "flex flex-col gap-4 px-5 py-4",
944
+ children: [
945
+ t47,
946
+ t77,
947
+ t105
948
+ ]
949
+ });
950
+ $[235] = t105;
951
+ $[236] = t47;
952
+ $[237] = t77;
953
+ $[238] = t106;
954
+ } else t106 = $[238];
955
+ let t107;
956
+ if ($[239] !== t) {
957
+ t107 = t("common.cancel");
958
+ $[239] = t;
959
+ $[240] = t107;
960
+ } else t107 = $[240];
961
+ let t108;
962
+ if ($[241] !== DialogClose || $[242] !== t107) {
963
+ t108 = /* @__PURE__ */ jsx(DialogClose, {
964
+ className: "border-input rounded border px-4 py-1.5 text-[13px]",
965
+ children: t107
966
+ });
967
+ $[241] = DialogClose;
968
+ $[242] = t107;
969
+ $[243] = t108;
970
+ } else t108 = $[243];
971
+ let t109;
972
+ if ($[244] !== t) {
973
+ t109 = t("common.apply");
974
+ $[244] = t;
975
+ $[245] = t109;
976
+ } else t109 = $[245];
977
+ let t110;
978
+ if ($[246] !== handleApply || $[247] !== t109) {
979
+ t110 = /* @__PURE__ */ jsx("button", {
980
+ className: "bg-primary text-primary-foreground rounded px-4 py-1.5 text-[13px] font-medium",
981
+ onClick: handleApply,
982
+ type: "button",
983
+ children: t109
984
+ });
985
+ $[246] = handleApply;
986
+ $[247] = t109;
987
+ $[248] = t110;
988
+ } else t110 = $[248];
989
+ let t111;
990
+ if ($[249] !== t108 || $[250] !== t110) {
991
+ t111 = /* @__PURE__ */ jsxs("div", {
992
+ className: "flex justify-end gap-2 border-t px-5 py-3",
993
+ children: [t108, t110]
994
+ });
995
+ $[249] = t108;
996
+ $[250] = t110;
997
+ $[251] = t111;
998
+ } else t111 = $[251];
999
+ let t112;
1000
+ if ($[252] !== DialogPopup || $[253] !== t106 || $[254] !== t111 || $[255] !== t17) {
1001
+ t112 = /* @__PURE__ */ jsxs(DialogPopup, {
1002
+ className: "bg-popover fixed start-1/2 top-1/2 z-[10001] w-full max-w-[480px] min-w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-lg border shadow-xl",
1003
+ children: [
1004
+ t17,
1005
+ t106,
1006
+ t111
1007
+ ]
1008
+ });
1009
+ $[252] = DialogPopup;
1010
+ $[253] = t106;
1011
+ $[254] = t111;
1012
+ $[255] = t17;
1013
+ $[256] = t112;
1014
+ } else t112 = $[256];
1015
+ let t113;
1016
+ if ($[257] !== DialogPortal || $[258] !== t112 || $[259] !== t15) {
1017
+ t113 = /* @__PURE__ */ jsxs(DialogPortal, { children: [t15, t112] });
1018
+ $[257] = DialogPortal;
1019
+ $[258] = t112;
1020
+ $[259] = t15;
1021
+ $[260] = t113;
1022
+ } else t113 = $[260];
1023
+ let t114;
1024
+ if ($[261] !== Dialog || $[262] !== handleOpenChange || $[263] !== isOpen || $[264] !== t113) {
1025
+ t114 = /* @__PURE__ */ jsx(Dialog, {
1026
+ open: isOpen,
1027
+ onOpenChange: handleOpenChange,
1028
+ children: t113
1029
+ });
1030
+ $[261] = Dialog;
1031
+ $[262] = handleOpenChange;
1032
+ $[263] = isOpen;
1033
+ $[264] = t113;
1034
+ $[265] = t114;
1035
+ } else t114 = $[265];
1036
+ return t114;
1037
+ }
1038
+ //#endregion
1039
+ export { ImagePositionDialog_exports as n, ImagePositionDialog as t };