@thebes/cadmea 1.3.0 → 1.5.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.
@@ -17,15 +17,19 @@ var _tmpl$$4 = ["<p class=\"text-sm text-error\" role=\"alert\">", "</p>"], _tmp
17
17
  ">",
18
18
  "</button>"
19
19
  ], _tmpl$6$2 = [
20
+ "<span class=\"text-base-content/60 self-center px-1 text-xs\" aria-live=\"polite\">",
21
+ "",
22
+ "</span>"
23
+ ], _tmpl$7$1 = [
20
24
  "<form class=\"flex flex-col gap-4\">",
21
25
  "",
22
26
  "<div class=\"bg-base-100 sticky bottom-0 flex gap-2 border-t py-3\">",
23
27
  "</div></form>"
24
- ], _tmpl$7$1 = [
28
+ ], _tmpl$8$1 = [
25
29
  "<fieldset class=\"border-base-300 rounded-box border p-4\"><legend class=\"px-2 text-sm font-semibold\">",
26
30
  "</legend>",
27
31
  "</fieldset>"
28
- ], _tmpl$8$1 = ["<div class=\"grid grid-cols-1 gap-4 md:grid-cols-2\">", "</div>"], _tmpl$9$1 = "<span class=\"text-error\"> *</span>", _tmpl$0$1 = ["<p class=\"text-base-content/60 mb-1 text-xs\">", "</p>"], _tmpl$1$1 = ["<p class=\"text-error mt-1 text-sm\" role=\"alert\">", "</p>"], _tmpl$10$1 = [
32
+ ], _tmpl$9$1 = ["<div class=\"grid grid-cols-1 gap-4 md:grid-cols-2\">", "</div>"], _tmpl$0$1 = "<span class=\"text-error\"> *</span>", _tmpl$1$1 = ["<p class=\"text-base-content/60 mb-1 text-xs\">", "</p>"], _tmpl$10$1 = ["<p class=\"text-error mt-1 text-sm\" role=\"alert\">", "</p>"], _tmpl$11$1 = [
29
33
  "<div class=\"",
30
34
  "\"><label class=\"label\"",
31
35
  ">",
@@ -34,37 +38,37 @@ var _tmpl$$4 = ["<p class=\"text-sm text-error\" role=\"alert\">", "</p>"], _tmp
34
38
  "",
35
39
  "",
36
40
  "</div>"
37
- ], _tmpl$11$1 = [
41
+ ], _tmpl$12$1 = [
38
42
  "<input",
39
43
  " class=\"input\" type=\"text\"",
40
44
  "",
41
45
  ">"
42
- ], _tmpl$12$1 = [
46
+ ], _tmpl$13$1 = [
43
47
  "<select",
44
48
  " class=\"select\"",
45
49
  "",
46
50
  "",
47
51
  ">",
48
52
  "</select>"
49
- ], _tmpl$13$1 = [
53
+ ], _tmpl$14$1 = [
50
54
  "<option",
51
55
  ">",
52
56
  "</option>"
53
- ], _tmpl$14$1 = [
57
+ ], _tmpl$15$1 = [
54
58
  "<input",
55
59
  " class=\"input\" type=\"number\"",
56
60
  "",
57
61
  ">"
58
- ], _tmpl$15$1 = [
62
+ ], _tmpl$16 = [
59
63
  "<input",
60
64
  " class=\"input\" type=\"text\" readonly",
61
65
  ">"
62
- ], _tmpl$16 = [
66
+ ], _tmpl$17 = [
63
67
  "<input",
64
68
  " class=\"checkbox\" type=\"checkbox\"",
65
69
  "",
66
70
  ">"
67
- ], _tmpl$17 = ["<p class=\"text-sm opacity-70 break-all\">", "</p>"], _tmpl$18 = ["<p class=\"text-sm text-error\">", "</p>"], _tmpl$19 = [
71
+ ], _tmpl$18 = ["<p class=\"text-sm opacity-70 break-all\">", "</p>"], _tmpl$19 = ["<p class=\"text-sm text-error\">", "</p>"], _tmpl$20 = [
68
72
  "<div class=\"flex flex-col gap-2\">",
69
73
  "<input",
70
74
  " class=\"file-input\" type=\"file\"",
@@ -72,11 +76,11 @@ var _tmpl$$4 = ["<p class=\"text-sm text-error\" role=\"alert\">", "</p>"], _tmp
72
76
  ">",
73
77
  "",
74
78
  "</div>"
75
- ], _tmpl$20 = ["<div class=\"mb-1 flex flex-wrap gap-1\">", "</div>"], _tmpl$21 = "<button type=\"button\" aria-label=\"Clear\" class=\"absolute top-2 right-2 cursor-pointer opacity-60\">×</button>", _tmpl$22 = [
79
+ ], _tmpl$21 = ["<div class=\"mb-1 flex flex-wrap gap-1\">", "</div>"], _tmpl$22 = "<button type=\"button\" aria-label=\"Clear\" class=\"absolute top-2 right-2 cursor-pointer opacity-60\">×</button>", _tmpl$23 = [
76
80
  "<div",
77
81
  " role=\"listbox\" class=\"bg-base-100 border-base-300 rounded-box absolute z-10 mt-1 flex max-h-56 w-full flex-col overflow-auto border p-1 shadow\">",
78
82
  "</div>"
79
- ], _tmpl$23 = [
83
+ ], _tmpl$24 = [
80
84
  "<div class=\"relative\">",
81
85
  "<input",
82
86
  " type=\"text\" role=\"combobox\"",
@@ -85,27 +89,27 @@ var _tmpl$$4 = ["<p class=\"text-sm text-error\" role=\"alert\">", "</p>"], _tmp
85
89
  ">",
86
90
  "",
87
91
  "</div>"
88
- ], _tmpl$24 = [
92
+ ], _tmpl$25 = [
89
93
  "<span class=\"badge badge-primary gap-1\">",
90
94
  "<button type=\"button\" aria-label=\"",
91
95
  "\" class=\"cursor-pointer\">×</button></span>"
92
- ], _tmpl$25 = [
96
+ ], _tmpl$26 = [
93
97
  "<button type=\"button\" role=\"option\"",
94
98
  " class=\"",
95
99
  "\">",
96
100
  "</button>"
97
- ], _tmpl$26 = ["<div role=\"menu\" class=\"bg-base-100 border-base-300 rounded-box absolute z-10 mt-1 flex flex-col border p-1 shadow\">", "</div>"], _tmpl$27 = [
101
+ ], _tmpl$27 = ["<div role=\"menu\" class=\"bg-base-100 border-base-300 rounded-box absolute z-10 mt-1 flex flex-col border p-1 shadow\">", "</div>"], _tmpl$28 = [
98
102
  "<div class=\"relative self-start\"><button type=\"button\" class=\"btn btn-outline btn-sm\" aria-haspopup=\"menu\"",
99
103
  ">Add block</button>",
100
104
  "</div>"
101
- ], _tmpl$28 = [
105
+ ], _tmpl$29 = [
102
106
  "<div class=\"form-control md:col-span-2\"><div class=\"label font-medium\">",
103
107
  "",
104
108
  "</div>",
105
109
  "<div class=\"flex flex-col gap-3\">",
106
110
  "",
107
111
  "</div></div>"
108
- ], _tmpl$29 = ["<span class=\"text-base-content/60 truncate text-sm\">", "</span>"], _tmpl$30 = ["<div class=\"flex flex-col gap-2\">", "</div>"], _tmpl$31 = [
112
+ ], _tmpl$30 = ["<span class=\"text-base-content/60 truncate text-sm\">", "</span>"], _tmpl$31 = ["<div class=\"flex flex-col gap-2\">", "</div>"], _tmpl$32 = [
109
113
  "<div class=\"card bg-base-200 flex flex-col gap-2 p-3\"><div class=\"flex items-center gap-2\"><button type=\"button\" class=\"btn btn-ghost btn-sm gap-2\"",
110
114
  "><span aria-hidden=\"true\">",
111
115
  "</span><span class=\"font-semibold\">",
@@ -114,7 +118,7 @@ var _tmpl$$4 = ["<p class=\"text-sm text-error\" role=\"alert\">", "</p>"], _tmp
114
118
  ">↑</button><button type=\"button\" class=\"btn btn-ghost btn-xs\" aria-label=\"Move down\"",
115
119
  ">↓</button><button type=\"button\" class=\"btn btn-ghost btn-xs\" aria-label=\"Duplicate\">⧉</button><button type=\"button\" class=\"btn btn-ghost btn-xs text-error\" aria-label=\"Remove\">Remove</button></div></div>",
116
120
  "</div>"
117
- ], _tmpl$32 = ["<button type=\"button\" class=\"btn btn-outline btn-sm self-start\">Add ", "</button>"], _tmpl$33 = ["<i", " aria-hidden=\"true\"></i>"], _tmpl$34 = [
121
+ ], _tmpl$33 = ["<button type=\"button\" class=\"btn btn-outline btn-sm self-start\">Add ", "</button>"], _tmpl$34 = ["<i", " aria-hidden=\"true\"></i>"], _tmpl$35 = [
118
122
  "<button type=\"button\" role=\"menuitem\" class=\"flex items-center gap-2 rounded px-3 py-2 text-left\">",
119
123
  "",
120
124
  "</button>"
@@ -166,6 +170,7 @@ function CollectionEdit(props) {
166
170
  const isDefaultValue = form.useStore((s) => s.isDefaultValue);
167
171
  createEffect(() => props.onDirtyChange?.(!isDefaultValue()));
168
172
  const formValues = form.useStore((s) => s.values);
173
+ createEffect(() => props.onValuesChange?.(editablePayload(formValues())));
169
174
  function editablePayload(value) {
170
175
  return Object.fromEntries(Object.entries(value).filter(([key]) => props.config.fields[key]?.type !== "date"));
171
176
  }
@@ -182,7 +187,29 @@ function CollectionEdit(props) {
182
187
  };
183
188
  const fieldGroups = groupFields(editableFields(props.config));
184
189
  const versioned = () => props.config.versions?.drafts && props.draftActions;
185
- return ssr(_tmpl$6$2, escape(createComponent(Show, {
190
+ const [autosaveStatus, setAutosaveStatus] = createSignal("idle");
191
+ let autosaveTimer;
192
+ createEffect(() => {
193
+ const dirty = !isDefaultValue();
194
+ const values = formValues();
195
+ if (!versioned() || !props.draftActions?.autosave) return;
196
+ if (!dirty) {
197
+ setAutosaveStatus("idle");
198
+ return;
199
+ }
200
+ clearTimeout(autosaveTimer);
201
+ autosaveTimer = setTimeout(async () => {
202
+ setAutosaveStatus("saving");
203
+ try {
204
+ await props.draftActions?.onSaveDraft(editablePayload(values));
205
+ setAutosaveStatus("saved");
206
+ } catch {
207
+ setAutosaveStatus("idle");
208
+ }
209
+ }, props.draftActions?.autosaveMs ?? 1500);
210
+ });
211
+ onCleanup(() => clearTimeout(autosaveTimer));
212
+ return ssr(_tmpl$7$1, escape(createComponent(Show, {
186
213
  get when() {
187
214
  return props.error;
188
215
  },
@@ -206,7 +233,7 @@ function CollectionEdit(props) {
206
233
  });
207
234
  },
208
235
  get children() {
209
- return ssr(_tmpl$7$1, escape(group.name), escape(createComponent(FieldsGrid, {
236
+ return ssr(_tmpl$8$1, escape(group.name), escape(createComponent(FieldsGrid, {
210
237
  form,
211
238
  ctx,
212
239
  get fields() {
@@ -281,13 +308,31 @@ function CollectionEdit(props) {
281
308
  }
282
309
  })));
283
310
  }
311
+ }),
312
+ createComponent(Show, {
313
+ get when() {
314
+ return props.draftActions?.autosave;
315
+ },
316
+ get children() {
317
+ return ssr(_tmpl$6$2, escape(createComponent(Show, {
318
+ get when() {
319
+ return autosaveStatus() === "saving";
320
+ },
321
+ children: "Saving…"
322
+ })), escape(createComponent(Show, {
323
+ get when() {
324
+ return autosaveStatus() === "saved";
325
+ },
326
+ children: "Saved"
327
+ })));
328
+ }
284
329
  })
285
330
  ];
286
331
  }
287
332
  })));
288
333
  }
289
334
  function FieldsGrid(props) {
290
- return ssr(_tmpl$8$1, escape(createComponent(For, {
335
+ return ssr(_tmpl$9$1, escape(createComponent(For, {
291
336
  get each() {
292
337
  return props.fields;
293
338
  },
@@ -306,26 +351,26 @@ function renderField(form, ctx, name, field, label) {
306
351
  const spanClass = field.admin?.width === "half" ? "md:col-span-1" : "md:col-span-2";
307
352
  return createComponent(form.Field, {
308
353
  name,
309
- children: (fieldApi) => ssr(_tmpl$10$1, `form-control ${escape(spanClass, true)}`, ssrAttribute("for", escape(name, true), false), escape(label), escape(createComponent(Show, {
354
+ children: (fieldApi) => ssr(_tmpl$11$1, `form-control ${escape(spanClass, true)}`, ssrAttribute("for", escape(name, true), false), escape(label), escape(createComponent(Show, {
310
355
  get when() {
311
356
  return field.required;
312
357
  },
313
358
  get children() {
314
- return ssr(_tmpl$9$1);
359
+ return ssr(_tmpl$0$1);
315
360
  }
316
361
  })), escape(createComponent(Show, {
317
362
  get when() {
318
363
  return field.admin?.description;
319
364
  },
320
365
  get children() {
321
- return ssr(_tmpl$0$1, escape(field.admin?.description));
366
+ return ssr(_tmpl$1$1, escape(field.admin?.description));
322
367
  }
323
368
  })), escape(renderControl(ctx, name, field, fieldApi)), escape(createComponent(Show, {
324
369
  get when() {
325
370
  return (fieldApi().state.meta.errors?.length ?? 0) > 0;
326
371
  },
327
372
  get children() {
328
- return ssr(_tmpl$1$1, escape(fieldApi().state.meta.errors.filter(Boolean).join(", ")));
373
+ return ssr(_tmpl$10$1, escape(fieldApi().state.meta.errors.filter(Boolean).join(", ")));
329
374
  }
330
375
  })))
331
376
  });
@@ -345,16 +390,16 @@ function renderControl(ctx, name, field, fieldApi) {
345
390
  const readOnly = field.admin?.readOnly;
346
391
  const change = (v) => fieldApi().handleChange(v);
347
392
  switch (field.type) {
348
- case "text": return ssr(_tmpl$11$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("placeholder", escape(field.admin?.placeholder, true), false) + ssrAttribute("readonly", escape(readOnly, true), false) + ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true));
349
- case "select": return ssr(_tmpl$12$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true), ssrAttribute("disabled", readOnly, true), escape(createComponent(For, {
393
+ case "text": return ssr(_tmpl$12$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("placeholder", escape(field.admin?.placeholder, true), false) + ssrAttribute("readonly", escape(readOnly, true), false) + ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true));
394
+ case "select": return ssr(_tmpl$13$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true), ssrAttribute("disabled", readOnly, true), escape(createComponent(For, {
350
395
  get each() {
351
396
  return field.options;
352
397
  },
353
- children: (option) => ssr(_tmpl$13$1, ssrAttribute("value", escape(option, true), false), escape(option))
398
+ children: (option) => ssr(_tmpl$14$1, ssrAttribute("value", escape(option, true), false), escape(option))
354
399
  })));
355
- case "number": return ssr(_tmpl$14$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("placeholder", escape(field.admin?.placeholder, true), false) + ssrAttribute("readonly", escape(readOnly, true), false) + ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true));
356
- case "date": return ssr(_tmpl$15$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("value", escape(formatDateValue(fieldApi().state.value), true), false));
357
- case "checkbox": return ssr(_tmpl$16, ssrAttribute("id", escape(name, true), false), ssrAttribute("disabled", readOnly, true), ssrAttribute("checked", fieldApi().state.value ?? false, true));
400
+ case "number": return ssr(_tmpl$15$1, ssrAttribute("id", escape(name, true), false), ssrAttribute("placeholder", escape(field.admin?.placeholder, true), false) + ssrAttribute("readonly", escape(readOnly, true), false) + ssrAttribute("value", escape(fieldApi().state.value ?? "", true), false), ssrAttribute("required", field.required, true));
401
+ case "date": return ssr(_tmpl$16, ssrAttribute("id", escape(name, true), false), ssrAttribute("value", escape(formatDateValue(fieldApi().state.value), true), false));
402
+ case "checkbox": return ssr(_tmpl$17, ssrAttribute("id", escape(name, true), false), ssrAttribute("disabled", readOnly, true), ssrAttribute("checked", fieldApi().state.value ?? false, true));
358
403
  case "upload": return createComponent(UploadControl, {
359
404
  name,
360
405
  field,
@@ -393,12 +438,12 @@ function UploadControl(props) {
393
438
  const [uploading, setUploading] = createSignal(false);
394
439
  const [uploadError, setUploadError] = createSignal();
395
440
  const value = () => props.fieldApi().state.value;
396
- return ssr(_tmpl$19, escape(createComponent(Show, {
441
+ return ssr(_tmpl$20, escape(createComponent(Show, {
397
442
  get when() {
398
443
  return value();
399
444
  },
400
445
  get children() {
401
- return ssr(_tmpl$17, escape(value()));
446
+ return ssr(_tmpl$18, escape(value()));
402
447
  }
403
448
  })), ssrAttribute("id", escape(props.name, true), false), ssrAttribute("required", props.field.required && !value(), true), ssrAttribute("disabled", uploading() || props.field.admin?.readOnly, true), escape(createComponent(Show, {
404
449
  get when() {
@@ -412,7 +457,7 @@ function UploadControl(props) {
412
457
  return uploadError();
413
458
  },
414
459
  get children() {
415
- return ssr(_tmpl$18, escape(uploadError()));
460
+ return ssr(_tmpl$19, escape(uploadError()));
416
461
  }
417
462
  })));
418
463
  }
@@ -434,16 +479,16 @@ function RelationshipField(props) {
434
479
  return props.options.filter((o) => o.label.toLowerCase().includes(q) && (!isMulti() || !selectedIds().includes(o.id)));
435
480
  };
436
481
  const singleLabel = () => selectedOptions()[0]?.label ?? "";
437
- return ssr(_tmpl$23, escape(createComponent(Show, {
482
+ return ssr(_tmpl$24, escape(createComponent(Show, {
438
483
  get when() {
439
484
  return isMulti() && selectedOptions().length > 0;
440
485
  },
441
486
  get children() {
442
- return ssr(_tmpl$20, escape(createComponent(For, {
487
+ return ssr(_tmpl$21, escape(createComponent(For, {
443
488
  get each() {
444
489
  return selectedOptions();
445
490
  },
446
- children: (option) => ssr(_tmpl$24, escape(option.label), `Remove ${escape(option.label, true)}`)
491
+ children: (option) => ssr(_tmpl$25, escape(option.label), `Remove ${escape(option.label, true)}`)
447
492
  })));
448
493
  }
449
494
  })), ssrAttribute("id", escape(props.name, true), false), ssrAttribute("aria-expanded", escape(open(), true), false) + ssrAttribute("aria-controls", escape(listId, true), false), ssrAttribute("required", props.field.required && selectedIds().length === 0, true), ssrAttribute("disabled", props.field.admin?.readOnly, true) + ssrAttribute("placeholder", escape(props.field.admin?.placeholder ?? "Search…", true), false) + ssrAttribute("value", open() || isMulti() ? escape(query(), true) : escape(singleLabel(), true), false), escape(createComponent(Show, {
@@ -451,18 +496,18 @@ function RelationshipField(props) {
451
496
  return !isMulti() && value() != null && !props.field.required;
452
497
  },
453
498
  get children() {
454
- return ssr(_tmpl$21);
499
+ return ssr(_tmpl$22);
455
500
  }
456
501
  })), escape(createComponent(Show, {
457
502
  get when() {
458
503
  return open() && filtered().length > 0;
459
504
  },
460
505
  get children() {
461
- return ssr(_tmpl$22, ssrAttribute("id", escape(listId, true), false), escape(createComponent(For, {
506
+ return ssr(_tmpl$23, ssrAttribute("id", escape(listId, true), false), escape(createComponent(For, {
462
507
  get each() {
463
508
  return filtered();
464
509
  },
465
- children: (option, i) => ssr(_tmpl$25, ssrAttribute("aria-selected", escape(selectedIds().includes(option.id), true), false), `rounded px-3 py-2 text-left ${i() === active() ? "bg-base-200" : ""}`, escape(option.label))
510
+ children: (option, i) => ssr(_tmpl$26, ssrAttribute("aria-selected", escape(selectedIds().includes(option.id), true), false), `rounded px-3 py-2 text-left ${i() === active() ? "bg-base-200" : ""}`, escape(option.label))
466
511
  })));
467
512
  }
468
513
  })));
@@ -504,19 +549,19 @@ function BlockEditor(props) {
504
549
  }
505
550
  return "";
506
551
  }
507
- return ssr(_tmpl$28, escape(props.label), escape(createComponent(Show, {
552
+ return ssr(_tmpl$29, escape(props.label), escape(createComponent(Show, {
508
553
  get when() {
509
554
  return props.field.required;
510
555
  },
511
556
  get children() {
512
- return ssr(_tmpl$9$1);
557
+ return ssr(_tmpl$0$1);
513
558
  }
514
559
  })), escape(createComponent(Show, {
515
560
  get when() {
516
561
  return props.field.admin?.description;
517
562
  },
518
563
  get children() {
519
- return ssr(_tmpl$0$1, escape(props.field.admin?.description));
564
+ return ssr(_tmpl$1$1, escape(props.field.admin?.description));
520
565
  }
521
566
  })), escape(createComponent(Index, {
522
567
  get each() {
@@ -524,19 +569,19 @@ function BlockEditor(props) {
524
569
  },
525
570
  children: (item, index) => {
526
571
  const isCollapsed = () => collapsed().has(index);
527
- return ssr(_tmpl$31, ssrAttribute("aria-expanded", !isCollapsed(), false), isCollapsed() ? "▸" : "▾", escape(blockTitle(item())), escape(createComponent(Show, {
572
+ return ssr(_tmpl$32, ssrAttribute("aria-expanded", !isCollapsed(), false), isCollapsed() ? "▸" : "▾", escape(blockTitle(item())), escape(createComponent(Show, {
528
573
  get when() {
529
574
  return isCollapsed() && blockSummary(item());
530
575
  },
531
576
  get children() {
532
- return ssr(_tmpl$29, escape(blockSummary(item())));
577
+ return ssr(_tmpl$30, escape(blockSummary(item())));
533
578
  }
534
579
  })), ssrAttribute("disabled", index === 0, true), ssrAttribute("disabled", index === items().length - 1, true), escape(createComponent(Show, {
535
580
  get when() {
536
581
  return !isCollapsed();
537
582
  },
538
583
  get children() {
539
- return ssr(_tmpl$30, escape(createComponent(For, {
584
+ return ssr(_tmpl$31, escape(createComponent(For, {
540
585
  get each() {
541
586
  return fieldsForItem(props.field, item());
542
587
  },
@@ -550,22 +595,22 @@ function BlockEditor(props) {
550
595
  return disc && variants.length > 0;
551
596
  },
552
597
  get fallback() {
553
- return ssr(_tmpl$32, escape(props.label));
598
+ return ssr(_tmpl$33, escape(props.label));
554
599
  },
555
600
  get children() {
556
- return ssr(_tmpl$27, ssrAttribute("aria-expanded", escape(menuOpen(), true), false), escape(createComponent(Show, {
601
+ return ssr(_tmpl$28, ssrAttribute("aria-expanded", escape(menuOpen(), true), false), escape(createComponent(Show, {
557
602
  get when() {
558
603
  return menuOpen();
559
604
  },
560
605
  get children() {
561
- return ssr(_tmpl$26, escape(createComponent(For, {
606
+ return ssr(_tmpl$27, escape(createComponent(For, {
562
607
  each: variants,
563
- children: (variant) => ssr(_tmpl$34, escape(createComponent(Show, {
608
+ children: (variant) => ssr(_tmpl$35, escape(createComponent(Show, {
564
609
  get when() {
565
610
  return disc?.variantsAdmin?.[variant]?.icon;
566
611
  },
567
612
  get children() {
568
- return ssr(_tmpl$33, ssrAttribute("class", escape(disc?.variantsAdmin?.[variant]?.icon, true), false));
613
+ return ssr(_tmpl$34, ssrAttribute("class", escape(disc?.variantsAdmin?.[variant]?.icon, true), false));
569
614
  }
570
615
  })), escape(variantLabel(disc, variant)))
571
616
  })));
@@ -922,6 +967,10 @@ function VisualEditingPane(props) {
922
967
  window.addEventListener("message", handler);
923
968
  onCleanup(() => window.removeEventListener("message", handler));
924
969
  });
970
+ createEffect(() => {
971
+ props.previewValues;
972
+ props.previewTarget;
973
+ });
925
974
  return ssr(_tmpl$, ssrAttribute("src", escape(props.src, true), false) + ssrAttribute("title", escape(props.title ?? "Preview", true), false) + ssrAttribute("class", escape(props.class ?? "h-full w-full border-0", true), false));
926
975
  }
927
976
  //#endregion