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