@contentrail/editor 0.2.0 → 0.2.1

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 (62) hide show
  1. package/README.md +14 -4
  2. package/dist/admin/collection-query.d.ts +23 -0
  3. package/dist/admin/collection-query.d.ts.map +1 -0
  4. package/dist/admin/collection-query.js +71 -0
  5. package/dist/admin/collection-query.js.map +1 -0
  6. package/dist/admin/mount.d.ts +17 -0
  7. package/dist/admin/mount.d.ts.map +1 -0
  8. package/dist/admin/mount.js +43 -0
  9. package/dist/admin/mount.js.map +1 -0
  10. package/dist/admin/paginate.d.ts +8 -0
  11. package/dist/admin/paginate.d.ts.map +1 -0
  12. package/dist/admin/paginate.js +12 -0
  13. package/dist/admin/paginate.js.map +1 -0
  14. package/dist/admin/vite-plugin.d.ts +30 -0
  15. package/dist/admin/vite-plugin.d.ts.map +1 -0
  16. package/dist/admin/vite-plugin.js +159 -0
  17. package/dist/admin/vite-plugin.js.map +1 -0
  18. package/dist/api/types.d.ts +2 -0
  19. package/dist/api/types.d.ts.map +1 -1
  20. package/dist/fields/defaults.d.ts.map +1 -1
  21. package/dist/fields/defaults.js +22 -2
  22. package/dist/fields/defaults.js.map +1 -1
  23. package/dist/fields/types.d.ts +24 -5
  24. package/dist/fields/types.d.ts.map +1 -1
  25. package/dist/fields/types.js +3 -2
  26. package/dist/fields/types.js.map +1 -1
  27. package/dist/form/FieldControl.js +54 -4
  28. package/dist/form/FieldControl.js.map +1 -1
  29. package/dist/import/coerce.d.ts +11 -0
  30. package/dist/import/coerce.d.ts.map +1 -0
  31. package/dist/import/coerce.js +71 -0
  32. package/dist/import/coerce.js.map +1 -0
  33. package/dist/import/prepare.d.ts +30 -0
  34. package/dist/import/prepare.d.ts.map +1 -0
  35. package/dist/import/prepare.js +106 -0
  36. package/dist/import/prepare.js.map +1 -0
  37. package/dist/import/tabular.d.ts +6 -0
  38. package/dist/import/tabular.d.ts.map +1 -1
  39. package/dist/import/tabular.js +34 -7
  40. package/dist/import/tabular.js.map +1 -1
  41. package/dist/index.d.ts +10 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/schema/create-admin-config.d.ts +21 -0
  46. package/dist/schema/create-admin-config.d.ts.map +1 -0
  47. package/dist/schema/create-admin-config.js +50 -0
  48. package/dist/schema/create-admin-config.js.map +1 -0
  49. package/dist/schema/from-zod.d.ts +19 -0
  50. package/dist/schema/from-zod.d.ts.map +1 -0
  51. package/dist/schema/from-zod.js +194 -0
  52. package/dist/schema/from-zod.js.map +1 -0
  53. package/dist/styles.css +103 -7
  54. package/dist/ui/CollectionImportWizard.d.ts +16 -0
  55. package/dist/ui/CollectionImportWizard.d.ts.map +1 -0
  56. package/dist/ui/CollectionImportWizard.js +144 -0
  57. package/dist/ui/CollectionImportWizard.js.map +1 -0
  58. package/dist/ui/EditorApp.d.ts +3 -0
  59. package/dist/ui/EditorApp.d.ts.map +1 -1
  60. package/dist/ui/EditorApp.js +232 -35
  61. package/dist/ui/EditorApp.js.map +1 -1
  62. package/package.json +18 -5
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Explicit editor field metadata (ADR 019).
3
- * Complements Zod schemas — does not introspect Zod internals.
2
+ * Editor field metadata (ADR 019 / ADR 026).
3
+ * Complements Zod schemas. Automatic mapping uses public Zod `.shape` / `.def.type`
4
+ * only; unsupported structures become non-editable notices.
4
5
  */
5
6
  export {};
6
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fields/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fields/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -53,6 +53,39 @@ function renderInput(field, id, value, path, onChange, readOnly, describedBy) {
53
53
  ? { "aria-describedby": describedBy }
54
54
  : {}), onChange: (event) => onChange(path, event.currentTarget.checked) }), _jsx("span", { children: field.label })] }));
55
55
  }
56
+ if (field.widget === "multiselect") {
57
+ const selected = Array.isArray(value)
58
+ ? value.filter((item) => typeof item === "string")
59
+ : [];
60
+ return (_jsx("select", { id: id, class: "cr-input", multiple: true, disabled: readOnly, required: Boolean(field.required), ...(describedBy?.endsWith("-error")
61
+ ? { "aria-invalid": true }
62
+ : {}), ...(describedBy !== undefined
63
+ ? { "aria-describedby": describedBy }
64
+ : {}), onChange: (event) => {
65
+ const options = [
66
+ ...event.currentTarget.options,
67
+ ];
68
+ onChange(path, options
69
+ .filter((option) => option.selected)
70
+ .map((option) => option.value));
71
+ }, children: field.options.map((option) => (_jsx("option", { value: option.value, selected: selected.includes(option.value), children: option.label }, option.value))) }));
72
+ }
73
+ if (field.widget === "tags") {
74
+ const tags = Array.isArray(value)
75
+ ? value.filter((item) => typeof item === "string")
76
+ : [];
77
+ return (_jsx("input", { id: id, class: "cr-input", type: "text", value: tags.join(", "), readOnly: readOnly, required: Boolean(field.required), "aria-label": `${field.label} (comma-separated)`, ...(describedBy?.endsWith("-error")
78
+ ? { "aria-invalid": true }
79
+ : {}), ...(describedBy !== undefined
80
+ ? { "aria-describedby": describedBy }
81
+ : {}), onInput: (event) => {
82
+ const raw = event.currentTarget.value;
83
+ onChange(path, raw
84
+ .split(",")
85
+ .map((item) => item.trim())
86
+ .filter((item) => item !== ""));
87
+ } }));
88
+ }
56
89
  if (field.widget === "enum") {
57
90
  return (_jsx("select", { id: id, class: "cr-input", value: typeof value === "string" ? value : "", disabled: readOnly, required: Boolean(field.required), ...(describedBy?.endsWith("-error")
58
91
  ? { "aria-invalid": true }
@@ -60,10 +93,27 @@ function renderInput(field, id, value, path, onChange, readOnly, describedBy) {
60
93
  ? { "aria-describedby": describedBy }
61
94
  : {}), onChange: (event) => onChange(path, event.currentTarget.value), children: field.options.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) }));
62
95
  }
63
- // text
64
- return (_jsx("input", { id: id, class: "cr-input", type: "text", value: typeof value === "string" ? value : "", ...(field.widget === "text" && field.placeholder !== undefined
65
- ? { placeholder: field.placeholder }
66
- : {}), readOnly: readOnly, required: Boolean(field.required), ...(describedBy?.endsWith("-error")
96
+ const inputType = field.widget === "url" || field.widget === "media"
97
+ ? "url"
98
+ : field.widget === "email"
99
+ ? "email"
100
+ : field.widget === "date"
101
+ ? "date"
102
+ : field.widget === "datetime"
103
+ ? "datetime-local"
104
+ : "text";
105
+ const placeholder = field.widget === "relation"
106
+ ? `Entry id in ${field.collection}`
107
+ : field.widget === "media"
108
+ ? (field.placeholder ?? "https://…")
109
+ : field.widget === "text" ||
110
+ field.widget === "url" ||
111
+ field.widget === "email" ||
112
+ field.widget === "date" ||
113
+ field.widget === "datetime"
114
+ ? field.placeholder
115
+ : undefined;
116
+ return (_jsx("input", { id: id, class: "cr-input", type: inputType, value: typeof value === "string" ? value : "", ...(placeholder !== undefined ? { placeholder } : {}), readOnly: readOnly, required: Boolean(field.required), ...(describedBy?.endsWith("-error")
67
117
  ? { "aria-invalid": true }
68
118
  : {}), ...(describedBy !== undefined
69
119
  ? { "aria-describedby": describedBy }
@@ -1 +1 @@
1
- {"version":3,"file":"FieldControl.js","sourceRoot":"","sources":["../../src/form/FieldControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldControl.js","sourceRoot":"","sources":["../../src/form/FieldControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { EditorFieldSpec } from "../fields/types.js";
2
+ export interface CoerceFailure {
3
+ readonly ok: false;
4
+ readonly message: string;
5
+ }
6
+ export interface CoerceSuccess {
7
+ readonly ok: true;
8
+ readonly value: unknown;
9
+ }
10
+ export declare function coerceCell(raw: string, field: EditorFieldSpec): CoerceSuccess | CoerceFailure;
11
+ //# sourceMappingURL=coerce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../src/import/coerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,eAAe,GACrB,aAAa,GAAG,aAAa,CA4E/B"}
@@ -0,0 +1,71 @@
1
+ export function coerceCell(raw, field) {
2
+ const trimmed = raw.trim();
3
+ if (trimmed === "") {
4
+ if (field.widget === "number") {
5
+ return { ok: true, value: null };
6
+ }
7
+ if (field.widget === "tags" ||
8
+ field.widget === "multiselect" ||
9
+ field.widget === "array") {
10
+ return { ok: true, value: [] };
11
+ }
12
+ if (field.widget === "boolean") {
13
+ return { ok: true, value: false };
14
+ }
15
+ return { ok: true, value: "" };
16
+ }
17
+ if (field.widget === "number") {
18
+ const parsed = Number(trimmed.replaceAll(",", ""));
19
+ if (!Number.isFinite(parsed)) {
20
+ return { ok: false, message: `${field.label} is not a number.` };
21
+ }
22
+ return { ok: true, value: parsed };
23
+ }
24
+ if (field.widget === "boolean") {
25
+ const lower = trimmed.toLowerCase();
26
+ if (["true", "yes", "1", "y"].includes(lower)) {
27
+ return { ok: true, value: true };
28
+ }
29
+ if (["false", "no", "0", "n"].includes(lower)) {
30
+ return { ok: true, value: false };
31
+ }
32
+ return { ok: false, message: `${field.label} must be true or false.` };
33
+ }
34
+ if (field.widget === "date") {
35
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(trimmed) &&
36
+ Number.isNaN(Date.parse(trimmed))) {
37
+ return { ok: false, message: `${field.label} is not a valid date.` };
38
+ }
39
+ const date = new Date(trimmed);
40
+ if (Number.isNaN(date.getTime())) {
41
+ return { ok: false, message: `${field.label} is not a valid date.` };
42
+ }
43
+ return { ok: true, value: date.toISOString().slice(0, 10) };
44
+ }
45
+ if (field.widget === "datetime") {
46
+ const date = new Date(trimmed);
47
+ if (Number.isNaN(date.getTime())) {
48
+ return { ok: false, message: `${field.label} is not a valid date-time.` };
49
+ }
50
+ return { ok: true, value: date.toISOString() };
51
+ }
52
+ if (field.widget === "tags" || field.widget === "multiselect") {
53
+ return {
54
+ ok: true,
55
+ value: trimmed
56
+ .split(",")
57
+ .map((item) => item.trim())
58
+ .filter((item) => item !== ""),
59
+ };
60
+ }
61
+ if (field.widget === "unsupported" ||
62
+ field.widget === "object" ||
63
+ field.widget === "array") {
64
+ return {
65
+ ok: false,
66
+ message: `${field.label} cannot be imported from a spreadsheet column.`,
67
+ };
68
+ }
69
+ return { ok: true, value: trimmed };
70
+ }
71
+ //# sourceMappingURL=coerce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerce.js","sourceRoot":"","sources":["../../src/import/coerce.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { EditorFieldSpec } from "../fields/types.js";
2
+ export type ImportMode = "create" | "update" | "upsert";
3
+ export interface PreparedImportRow {
4
+ readonly rowIndex: number;
5
+ readonly id: string;
6
+ readonly data: Record<string, unknown>;
7
+ readonly issues: readonly string[];
8
+ readonly warnings: readonly string[];
9
+ readonly duplicateInFile: boolean;
10
+ readonly exists: boolean;
11
+ readonly action: "create" | "update" | "skip";
12
+ }
13
+ export interface PrepareImportInput {
14
+ readonly rows: ReadonlyArray<Record<string, string>>;
15
+ readonly columnMap: Readonly<Record<string, string>>;
16
+ readonly fields: readonly EditorFieldSpec[];
17
+ readonly existingIds: ReadonlySet<string>;
18
+ readonly idField?: string;
19
+ readonly mode: ImportMode;
20
+ }
21
+ export declare function suggestColumnMap(headers: readonly string[], fields: readonly EditorFieldSpec[], idField?: string): Record<string, string>;
22
+ export declare function prepareImport(input: PrepareImportInput): PreparedImportRow[];
23
+ export declare function mergePreparedImport(existing: ReadonlyArray<{
24
+ id: string;
25
+ data: unknown;
26
+ }>, rows: readonly PreparedImportRow[], included: ReadonlySet<number>): Array<{
27
+ id: string;
28
+ data: unknown;
29
+ }>;
30
+ //# sourceMappingURL=prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/import/prepare.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,SAAO,GACb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBxB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,CAiE5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EACtD,IAAI,EAAE,SAAS,iBAAiB,EAAE,EAClC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CActC"}
@@ -0,0 +1,106 @@
1
+ import { clientValidateFields } from "../fields/defaults.js";
2
+ import { coerceCell } from "./coerce.js";
3
+ import { mapTabularRows } from "./tabular.js";
4
+ export function suggestColumnMap(headers, fields, idField = "id") {
5
+ const map = {};
6
+ const fieldNames = new Set([
7
+ "id",
8
+ idField,
9
+ ...fields.map((field) => field.name),
10
+ ]);
11
+ for (const header of headers) {
12
+ const normalized = header
13
+ .trim()
14
+ .toLowerCase()
15
+ .replaceAll(/[\s-]+/g, "_");
16
+ for (const name of fieldNames) {
17
+ if (name.toLowerCase() === normalized ||
18
+ name.toLowerCase() === header.trim().toLowerCase()) {
19
+ map[header] = name === idField ? "id" : name;
20
+ break;
21
+ }
22
+ }
23
+ }
24
+ return map;
25
+ }
26
+ export function prepareImport(input) {
27
+ const mapped = mapTabularRows(input.rows, input.columnMap);
28
+ const seen = new Set();
29
+ return mapped.map((row, index) => {
30
+ const issues = [];
31
+ const warnings = [];
32
+ const id = String(row.id ?? row[input.idField ?? "id"] ?? "").trim();
33
+ if (id === "") {
34
+ issues.push("Entry id is required.");
35
+ }
36
+ const data = {};
37
+ for (const field of input.fields) {
38
+ if (field.widget === "unsupported" || field.widget === "object") {
39
+ continue;
40
+ }
41
+ const raw = row[field.name] ?? "";
42
+ const coerced = coerceCell(raw, field);
43
+ if (!coerced.ok) {
44
+ issues.push(coerced.message);
45
+ continue;
46
+ }
47
+ data[field.name] = coerced.value;
48
+ }
49
+ issues.push(...clientValidateFields(input.fields, data).map((issue) => issue.message));
50
+ const duplicateInFile = id !== "" && seen.has(id);
51
+ if (id !== "") {
52
+ seen.add(id);
53
+ }
54
+ const exists = id !== "" && input.existingIds.has(id);
55
+ let action = "skip";
56
+ if (issues.length === 0 && id !== "" && !duplicateInFile) {
57
+ if (input.mode === "create") {
58
+ if (exists) {
59
+ warnings.push("Already published — skipped in create-only mode.");
60
+ }
61
+ else {
62
+ action = "create";
63
+ }
64
+ }
65
+ else if (input.mode === "update") {
66
+ if (!exists) {
67
+ warnings.push("Not published yet — skipped in update-only mode.");
68
+ }
69
+ else {
70
+ action = "update";
71
+ }
72
+ }
73
+ else {
74
+ action = exists ? "update" : "create";
75
+ }
76
+ }
77
+ if (duplicateInFile) {
78
+ issues.push("Duplicate id in this spreadsheet.");
79
+ action = "skip";
80
+ }
81
+ return {
82
+ rowIndex: index + 2,
83
+ id,
84
+ data,
85
+ issues: [...new Set(issues)],
86
+ warnings,
87
+ duplicateInFile,
88
+ exists,
89
+ action,
90
+ };
91
+ });
92
+ }
93
+ export function mergePreparedImport(existing, rows, included) {
94
+ const next = new Map(existing.map((entry) => [entry.id, entry]));
95
+ for (const row of rows) {
96
+ if (!included.has(row.rowIndex) ||
97
+ row.action === "skip" ||
98
+ row.id === "" ||
99
+ row.issues.length > 0) {
100
+ continue;
101
+ }
102
+ next.set(row.id, { id: row.id, data: row.data });
103
+ }
104
+ return [...next.values()];
105
+ }
106
+ //# sourceMappingURL=prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/import/prepare.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export interface TabularParseLimits {
2
2
  readonly maxBytes?: number;
3
3
  readonly maxRows?: number;
4
+ /** Worksheet name or 1-based index (Excel only). */
5
+ readonly sheet?: string | number;
4
6
  }
5
7
  export interface TabularParseSuccess {
6
8
  readonly ok: true;
@@ -32,4 +34,8 @@ export declare function parseTabularFile(file: File, limits?: TabularParseLimits
32
34
  * Unmapped columns are ignored. Missing mapped columns become "".
33
35
  */
34
36
  export declare function mapTabularRows(rows: ReadonlyArray<Record<string, string>>, columnMap: Readonly<Record<string, string>>): Array<Record<string, string>>;
37
+ export declare function listSpreadsheetSheets(file: File): Promise<{
38
+ ok: true;
39
+ sheets: readonly string[];
40
+ } | TabularParseFailure>;
35
41
  //# sourceMappingURL=tabular.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabular.d.ts","sourceRoot":"","sources":["../../src/import/tabular.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EACT,OAAO,GACP,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAK3E;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC3C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQ/B"}
1
+ {"version":3,"file":"tabular.d.ts","sourceRoot":"","sources":["../../src/import/tabular.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EACT,OAAO,GACP,WAAW,GACX,eAAe,GACf,kBAAkB,GAClB,aAAa,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAK3E;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC3C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQ/B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,mBAAmB,CAAC,CA0BxE"}
@@ -1,6 +1,6 @@
1
- import { readSheet } from "read-excel-file/universal";
2
- const DEFAULT_MAX_BYTES = 512_000;
3
- const DEFAULT_MAX_ROWS = 500;
1
+ import readXlsxFile, { readSheet } from "read-excel-file/universal";
2
+ const DEFAULT_MAX_BYTES = 2_000_000;
3
+ const DEFAULT_MAX_ROWS = 10_000;
4
4
  /**
5
5
  * Parse a CSV or Excel (`.xlsx`) file **in the browser**.
6
6
  * Returns string cells only — callers must validate against ContentRail schemas
@@ -47,7 +47,7 @@ export async function parseTabularFile(file, limits = {}) {
47
47
  try {
48
48
  const matrix = isCsv
49
49
  ? parseCsvMatrix(await file.text())
50
- : await readXlsxMatrix(file);
50
+ : await readXlsxMatrix(file, limits.sheet);
51
51
  return matrixToTabular(matrix, file.name, maxRows);
52
52
  }
53
53
  catch (error) {
@@ -71,10 +71,37 @@ export function mapTabularRows(rows, columnMap) {
71
71
  return mapped;
72
72
  });
73
73
  }
74
- async function readXlsxMatrix(file) {
74
+ export async function listSpreadsheetSheets(file) {
75
+ const name = file.name.toLowerCase();
76
+ if (name.endsWith(".csv") || file.type === "text/csv") {
77
+ return { ok: true, sheets: ["CSV"] };
78
+ }
79
+ if (name.endsWith(".xls") && !name.endsWith(".xlsx")) {
80
+ return {
81
+ ok: false,
82
+ code: "UNSUPPORTED_TYPE",
83
+ message: "Legacy .xls is not supported. Re-save as .xlsx or export CSV.",
84
+ };
85
+ }
86
+ try {
87
+ const sheets = await readXlsxFile(await file.arrayBuffer());
88
+ const names = sheets.map((sheet, index) => sheet.sheet.trim() === "" ? `Sheet${index + 1}` : sheet.sheet);
89
+ return { ok: true, sheets: names };
90
+ }
91
+ catch (error) {
92
+ return {
93
+ ok: false,
94
+ code: "PARSE_ERROR",
95
+ message: error instanceof Error ? error.message : "Unable to list worksheets.",
96
+ };
97
+ }
98
+ }
99
+ async function readXlsxMatrix(file, sheet) {
75
100
  const buffer = await file.arrayBuffer();
76
- const sheet = await readSheet(buffer);
77
- return sheet.map((row) => row.map((cell) => {
101
+ const data = sheet === undefined
102
+ ? await readSheet(buffer)
103
+ : await readSheet(buffer, sheet);
104
+ return data.map((row) => row.map((cell) => {
78
105
  if (cell === null || cell === undefined) {
79
106
  return "";
80
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../src/import/tabular.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../src/import/tabular.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,14 @@ export type { ArrayFieldSpec, BooleanFieldSpec, EditorCollectionConfig, EditorFi
9
9
  export { applyFieldChange, SchemaForm, type SchemaFormProps, } from "./form/SchemaForm.js";
10
10
  export { FieldControl, type FieldControlProps } from "./form/FieldControl.js";
11
11
  export { clearSessionDraft, loadSessionDraft, saveSessionDraft, type EntryDraft, } from "./state/draft.js";
12
- export { EditorApp, type EditorAppProps } from "./ui/EditorApp.js";
13
- export { mapTabularRows, parseTabularFile, type TabularParseFailure, type TabularParseLimits, type TabularParseResult, type TabularParseSuccess, } from "./import/tabular.js";
12
+ export { EditorApp, DEFAULT_ADMIN_PAGE_SIZE, type EditorAppProps, } from "./ui/EditorApp.js";
13
+ export { mountAdmin, type MountAdminOptions } from "./admin/mount.js";
14
+ export { paginateItems, type PaginatedSlice } from "./admin/paginate.js";
15
+ export { fieldsFromCollection, fieldsFromZodSchema, type FieldHint, } from "./schema/from-zod.js";
16
+ export { createAdminCollectionConfig, createAdminSiteConfig, type AdminCollectionInput, type CreateAdminSiteConfigInput, } from "./schema/create-admin-config.js";
17
+ export type { MediaFieldSpec, MultiSelectFieldSpec, RelationFieldSpec, TagsFieldSpec, } from "./fields/types.js";
18
+ export { listSpreadsheetSheets, mapTabularRows, parseTabularFile, type TabularParseFailure, type TabularParseLimits, type TabularParseResult, type TabularParseSuccess, } from "./import/tabular.js";
19
+ export { coerceCell } from "./import/coerce.js";
20
+ export { mergePreparedImport, prepareImport, suggestColumnMap, type ImportMode, type PreparedImportRow, } from "./import/prepare.js";
21
+ export { duplicateIds, entriesToCsv, queryCollectionEntries, titleOfEntry, } from "./admin/collection-query.js";
14
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,GACjC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,GACjC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,SAAS,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,YAAY,GACb,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,13 @@ export { clientValidateFields, emptyValueForField, emptyValueForFields, sortFiel
7
7
  export { applyFieldChange, SchemaForm, } from "./form/SchemaForm.js";
8
8
  export { FieldControl } from "./form/FieldControl.js";
9
9
  export { clearSessionDraft, loadSessionDraft, saveSessionDraft, } from "./state/draft.js";
10
- export { EditorApp } from "./ui/EditorApp.js";
11
- export { mapTabularRows, parseTabularFile, } from "./import/tabular.js";
10
+ export { EditorApp, DEFAULT_ADMIN_PAGE_SIZE, } from "./ui/EditorApp.js";
11
+ export { mountAdmin } from "./admin/mount.js";
12
+ export { paginateItems } from "./admin/paginate.js";
13
+ export { fieldsFromCollection, fieldsFromZodSchema, } from "./schema/from-zod.js";
14
+ export { createAdminCollectionConfig, createAdminSiteConfig, } from "./schema/create-admin-config.js";
15
+ export { listSpreadsheetSheets, mapTabularRows, parseTabularFile, } from "./import/tabular.js";
16
+ export { coerceCell } from "./import/coerce.js";
17
+ export { mergePreparedImport, prepareImport, suggestColumnMap, } from "./import/prepare.js";
18
+ export { duplicateIds, entriesToCsv, queryCollectionEntries, titleOfEntry, } from "./admin/collection-query.js";
12
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,GAG3B,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EACL,gBAAgB,EAChB,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAA0B,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EACL,cAAc,EACd,gBAAgB,GAKjB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,0BAA0B,GAG3B,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EACL,gBAAgB,EAChB,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAA0B,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GAGtB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,GAKjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,YAAY,GACb,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ContentCollection } from "@contentrail/core";
2
+ import type { EditorCollectionConfig, EditorFieldSpec, EditorSiteConfig } from "../fields/types.js";
3
+ import { type FieldHint } from "./from-zod.js";
4
+ export interface AdminCollectionInput {
5
+ readonly collection: ContentCollection;
6
+ readonly label?: string;
7
+ readonly description?: string;
8
+ readonly titleField?: string;
9
+ /** Replaces derived fields entirely. */
10
+ readonly fields?: readonly EditorFieldSpec[];
11
+ /** Merged onto derived fields by name. */
12
+ readonly fieldHints?: Readonly<Record<string, FieldHint>>;
13
+ }
14
+ export interface CreateAdminSiteConfigInput {
15
+ readonly siteId: string;
16
+ readonly label: string;
17
+ readonly collections: readonly AdminCollectionInput[];
18
+ }
19
+ export declare function createAdminCollectionConfig(input: AdminCollectionInput): EditorCollectionConfig;
20
+ export declare function createAdminSiteConfig(input: CreateAdminSiteConfigInput): EditorSiteConfig;
21
+ //# sourceMappingURL=create-admin-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-admin-config.d.ts","sourceRoot":"","sources":["../../src/schema/create-admin-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AAwBD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,GAC1B,sBAAsB,CAiBxB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,gBAAgB,CAgBlB"}
@@ -0,0 +1,50 @@
1
+ import { fieldsFromCollection } from "./from-zod.js";
2
+ function mergeHints(fields, hints) {
3
+ if (hints === undefined) {
4
+ return [...fields];
5
+ }
6
+ return fields.map((field) => {
7
+ const hint = hints[field.name];
8
+ if (hint === undefined) {
9
+ return field;
10
+ }
11
+ return {
12
+ ...field,
13
+ ...(hint.label !== undefined ? { label: hint.label } : {}),
14
+ ...(hint.helpText !== undefined ? { helpText: hint.helpText } : {}),
15
+ ...(hint.order !== undefined ? { order: hint.order } : {}),
16
+ ...(hint.readOnly !== undefined ? { readOnly: hint.readOnly } : {}),
17
+ };
18
+ });
19
+ }
20
+ export function createAdminCollectionConfig(input) {
21
+ const fields = input.fields !== undefined
22
+ ? [...input.fields]
23
+ : mergeHints(fieldsFromCollection(input.collection, input.fieldHints), input.fieldHints);
24
+ return {
25
+ name: input.collection.name,
26
+ label: input.label ?? humanizeName(input.collection.name),
27
+ ...(input.description !== undefined
28
+ ? { description: input.description }
29
+ : {}),
30
+ ...(input.titleField !== undefined ? { titleField: input.titleField } : {}),
31
+ fields,
32
+ };
33
+ }
34
+ export function createAdminSiteConfig(input) {
35
+ if (input.siteId.trim() === "") {
36
+ throw new Error("ContentRail admin requires a non-empty siteId (the Worker site identifier).");
37
+ }
38
+ if (input.collections.length === 0) {
39
+ throw new Error("ContentRail admin has no registered collections. Export defineCollection values and pass them to contentrailAdmin({ collections }).");
40
+ }
41
+ return {
42
+ siteId: input.siteId,
43
+ label: input.label,
44
+ collections: input.collections.map(createAdminCollectionConfig),
45
+ };
46
+ }
47
+ function humanizeName(name) {
48
+ return name.charAt(0).toUpperCase() + name.slice(1).replaceAll("-", " ");
49
+ }
50
+ //# sourceMappingURL=create-admin-config.js.map