@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
@@ -2,16 +2,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-ru
2
2
  import { useEffect, useMemo, useState } from "preact/hooks";
3
3
  import { clientValidateFields, emptyValueForFields, } from "../fields/defaults.js";
4
4
  import { applyFieldChange, SchemaForm } from "../form/SchemaForm.js";
5
+ import { duplicateIds, entriesToCsv, queryCollectionEntries, titleOfEntry, } from "../admin/collection-query.js";
5
6
  import { clearSessionDraft, loadSessionDraft, saveSessionDraft, } from "../state/draft.js";
7
+ import { CollectionImportWizard } from "./CollectionImportWizard.js";
8
+ export const DEFAULT_ADMIN_PAGE_SIZE = 25;
6
9
  function titleOf(data, titleField, fallback) {
7
- if (titleField === undefined) {
8
- return fallback;
9
- }
10
- const value = data[titleField];
11
- return typeof value === "string" && value.trim() !== "" ? value : fallback;
10
+ return titleOfEntry(data, titleField, fallback);
12
11
  }
13
12
  export function EditorApp(props) {
14
- const { api, sites, title = "ContentRail Editor" } = props;
13
+ const { api, sites, title = "ContentRail Editor", pageSize = DEFAULT_ADMIN_PAGE_SIZE, } = props;
15
14
  const [view, setView] = useState({ kind: "sites" });
16
15
  const [allowedSiteIds, setAllowedSiteIds] = useState(null);
17
16
  const [permissions, setPermissions] = useState([]);
@@ -28,6 +27,13 @@ export function EditorApp(props) {
28
27
  const [status, setStatus] = useState(null);
29
28
  const [lastPublish, setLastPublish] = useState(null);
30
29
  const [authExpired, setAuthExpired] = useState(false);
30
+ const [page, setPage] = useState(0);
31
+ const [deleteConfirm, setDeleteConfirm] = useState(false);
32
+ const [sortKey, setSortKey] = useState("id");
33
+ const [sortDir, setSortDir] = useState("asc");
34
+ const [selected, setSelected] = useState(new Set());
35
+ const [bulkDeleteConfirm, setBulkDeleteConfirm] = useState(false);
36
+ const [showImport, setShowImport] = useState(false);
31
37
  const siteConfig = useMemo(() => {
32
38
  if (view.kind === "sites") {
33
39
  return null;
@@ -89,6 +95,9 @@ export function EditorApp(props) {
89
95
  const st = await api.getStatus(siteId, collection);
90
96
  setStatus(st.ok ? st.data : null);
91
97
  setFilter("");
98
+ setPage(0);
99
+ setSelected(new Set());
100
+ setShowImport(false);
92
101
  setView({ kind: "entries", siteId, collection });
93
102
  }
94
103
  finally {
@@ -164,6 +173,17 @@ export function EditorApp(props) {
164
173
  });
165
174
  }
166
175
  }
176
+ useEffect(() => {
177
+ const onBeforeUnload = (event) => {
178
+ if (!dirty) {
179
+ return;
180
+ }
181
+ event.preventDefault();
182
+ event.returnValue = "";
183
+ };
184
+ window.addEventListener("beforeunload", onBeforeUnload);
185
+ return () => window.removeEventListener("beforeunload", onBeforeUnload);
186
+ }, [dirty]);
167
187
  function confirmLeave() {
168
188
  if (!dirty) {
169
189
  return true;
@@ -301,37 +321,214 @@ export function EditorApp(props) {
301
321
  }
302
322
  }
303
323
  const visibleSites = sites.filter((site) => allowedSiteIds === null || allowedSiteIds.includes(site.siteId));
304
- const filteredEntries = entries.filter((entry) => {
305
- if (filter.trim() === "") {
306
- return true;
324
+ async function runDelete() {
325
+ if (view.kind !== "edit" || view.isNew) {
326
+ return;
327
+ }
328
+ if (entries.length <= 1) {
329
+ setBanner({
330
+ tone: "error",
331
+ text: "Cannot delete the last published entry. The publish API requires a non-empty collection.",
332
+ });
333
+ setDeleteConfirm(false);
334
+ return;
335
+ }
336
+ if (!permissions.includes("publish")) {
337
+ setBanner({
338
+ tone: "error",
339
+ text: "You do not have permission to delete entries.",
340
+ });
341
+ return;
342
+ }
343
+ const remaining = entries.filter((entry) => entry.id !== view.entryId);
344
+ const idempotencyKey = `editor-delete:${view.siteId}:${view.collection}:${view.entryId}:${activeVersion ?? "none"}`;
345
+ setBusy(true);
346
+ try {
347
+ const result = await api.publish(view.siteId, view.collection, {
348
+ expectedVersion: activeVersion,
349
+ entries: remaining.map((entry) => ({ id: entry.id, data: entry.data })),
350
+ idempotencyKey,
351
+ });
352
+ if (!result.ok) {
353
+ handleApiFailure(result.status, result.message, result.code);
354
+ return;
355
+ }
356
+ setDirty(false);
357
+ setDeleteConfirm(false);
358
+ clearSessionDraft(view.siteId, view.collection, view.entryId);
359
+ setBanner({
360
+ tone: "success",
361
+ text: `Deleted “${view.entryId}” from the published collection.`,
362
+ });
363
+ await openCollection(view.siteId, view.collection);
364
+ }
365
+ finally {
366
+ setBusy(false);
367
+ }
368
+ }
369
+ async function runBulkDelete() {
370
+ if (view.kind !== "entries") {
371
+ return;
372
+ }
373
+ const remaining = entries.filter((entry) => !selected.has(entry.id));
374
+ if (remaining.length === 0) {
375
+ setBanner({
376
+ tone: "error",
377
+ text: "Cannot delete every entry. The publish API requires a non-empty collection.",
378
+ });
379
+ setBulkDeleteConfirm(false);
380
+ return;
381
+ }
382
+ setBusy(true);
383
+ try {
384
+ const result = await api.publish(view.siteId, view.collection, {
385
+ expectedVersion: activeVersion,
386
+ entries: remaining.map((entry) => ({ id: entry.id, data: entry.data })),
387
+ idempotencyKey: `editor-bulk-delete:${view.siteId}:${view.collection}:${[...selected].sort().join(",")}:${activeVersion ?? "none"}`,
388
+ });
389
+ if (!result.ok) {
390
+ handleApiFailure(result.status, result.message, result.code);
391
+ return;
392
+ }
393
+ setBulkDeleteConfirm(false);
394
+ setSelected(new Set());
395
+ setBanner({
396
+ tone: "success",
397
+ text: `Removed ${selected.size} entr${selected.size === 1 ? "y" : "ies"}.`,
398
+ });
399
+ await openCollection(view.siteId, view.collection);
400
+ }
401
+ finally {
402
+ setBusy(false);
403
+ }
404
+ }
405
+ async function runBulkPublished(value) {
406
+ if (view.kind !== "entries") {
407
+ return;
307
408
  }
308
- const q = filter.toLowerCase();
309
- const label = titleOf(entry.data, collectionConfig?.titleField, entry.id).toLowerCase();
310
- return entry.id.toLowerCase().includes(q) || label.includes(q);
409
+ const next = entries.map((entry) => selected.has(entry.id)
410
+ ? { id: entry.id, data: { ...entry.data, published: value } }
411
+ : { id: entry.id, data: entry.data });
412
+ setBusy(true);
413
+ try {
414
+ const result = await api.publish(view.siteId, view.collection, {
415
+ expectedVersion: activeVersion,
416
+ entries: next,
417
+ idempotencyKey: `editor-bulk-status:${view.siteId}:${view.collection}:${value}:${[...selected].sort().join(",")}:${activeVersion ?? "none"}`,
418
+ });
419
+ if (!result.ok) {
420
+ handleApiFailure(result.status, result.message, result.code);
421
+ return;
422
+ }
423
+ setSelected(new Set());
424
+ setBanner({
425
+ tone: "success",
426
+ text: `Updated published status for ${selected.size} entr${selected.size === 1 ? "y" : "ies"}.`,
427
+ });
428
+ await openCollection(view.siteId, view.collection);
429
+ }
430
+ finally {
431
+ setBusy(false);
432
+ }
433
+ }
434
+ function exportCsv() {
435
+ if (collectionConfig === null) {
436
+ return;
437
+ }
438
+ const csv = entriesToCsv(selected.size > 0
439
+ ? entries.filter((entry) => selected.has(entry.id))
440
+ : filteredEntries, collectionConfig.fields.map((field) => field.name));
441
+ const blob = new Blob([csv], { type: "text/csv;charset=utf-8" });
442
+ const url = URL.createObjectURL(blob);
443
+ const link = document.createElement("a");
444
+ link.href = url;
445
+ link.download = `${collectionConfig.name}.csv`;
446
+ link.click();
447
+ URL.revokeObjectURL(url);
448
+ }
449
+ const queried = queryCollectionEntries(entries, {
450
+ filter,
451
+ sortKey,
452
+ sortDir,
453
+ page,
454
+ pageSize,
455
+ ...(collectionConfig?.titleField !== undefined
456
+ ? { titleField: collectionConfig.titleField }
457
+ : {}),
311
458
  });
312
- return (_jsxs("div", { class: "cr-editor", children: [_jsxs("header", { class: "cr-header", children: [_jsxs("div", { children: [_jsx("p", { class: "cr-brand", children: "ContentRail" }), _jsx("h1", { children: title })] }), authExpired ? (_jsx("p", { class: "cr-pill cr-pill--warn", role: "status", children: "Session expired" })) : null] }), banner ? (_jsx("div", { class: `cr-banner cr-banner--${banner.tone}`, role: "status", children: banner.text })) : null, _jsxs("nav", { class: "cr-nav", "aria-label": "Editor location", children: [_jsx("button", { type: "button", class: "cr-link", onClick: () => {
313
- if (confirmLeave()) {
314
- setDirty(false);
315
- setView({ kind: "sites" });
316
- }
317
- }, children: "Sites" }), view.kind !== "sites" ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", children: "/" }), _jsx("button", { type: "button", class: "cr-link", onClick: () => {
318
- if (confirmLeave()) {
319
- setDirty(false);
320
- void openSite(view.siteId);
321
- }
322
- }, children: siteConfig?.label ?? view.siteId })] })) : null, view.kind === "entries" || view.kind === "edit" ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", children: "/" }), _jsx("button", { type: "button", class: "cr-link", onClick: () => {
323
- if (confirmLeave()) {
324
- setDirty(false);
325
- void openCollection(view.siteId, view.collection);
326
- }
327
- }, children: collectionConfig?.label ?? view.collection })] })) : null, dirty ? (_jsx("span", { class: "cr-pill", role: "status", children: "Unsaved changes" })) : null] }), _jsxs("main", { class: "cr-main", children: [view.kind === "sites" ? (_jsxs("section", { children: [_jsx("h2", { children: "Your sites" }), _jsx("p", { class: "cr-lede", children: "Choose a site you are authorised to manage. Credentials for Git and object storage stay on the server." }), visibleSites.length === 0 ? (_jsx("p", { class: "cr-empty", children: "No sites are available for your account." })) : (_jsx("ul", { class: "cr-card-list", children: visibleSites.map((site) => (_jsx("li", { children: _jsxs("button", { type: "button", class: "cr-card", onClick: () => void openSite(site.siteId), children: [_jsx("strong", { children: site.label }), _jsx("span", { children: site.siteId })] }) }, site.siteId))) }))] })) : null, view.kind === "collections" && siteConfig ? (_jsxs("section", { children: [_jsx("h2", { children: "Collections" }), _jsx("ul", { class: "cr-card-list", children: siteConfig.collections.map((collection) => (_jsx("li", { children: _jsxs("button", { type: "button", class: "cr-card", onClick: () => void openCollection(siteConfig.siteId, collection.name), children: [_jsx("strong", { children: collection.label }), _jsx("span", { children: collection.description ?? collection.name })] }) }, collection.name))) })] })) : null, view.kind === "entries" && collectionConfig ? (_jsxs("section", { children: [_jsxs("div", { class: "cr-toolbar", children: [_jsx("h2", { children: collectionConfig.label }), _jsx("button", { type: "button", class: "cr-button", disabled: busy || !permissions.includes("publish"), onClick: () => startCreate(view.siteId, view.collection), children: "New entry" })] }), _jsxs("label", { class: "cr-search", children: [_jsx("span", { class: "cr-visually-hidden", children: "Filter entries" }), _jsx("input", { class: "cr-input", type: "search", placeholder: "Filter by title or id", value: filter, onInput: (event) => setFilter(event.currentTarget.value) })] }), filteredEntries.length === 0 ? (_jsx("p", { class: "cr-empty", children: entries.length === 0
328
- ? "No published entries yet. Create the first one."
329
- : "No entries match this filter." })) : (_jsx("ul", { class: "cr-entry-list", children: filteredEntries.map((entry) => (_jsx("li", { children: _jsxs("button", { type: "button", class: "cr-entry", onClick: () => startEdit(view.siteId, view.collection, entry.id, entry.data), children: [_jsx("strong", { children: titleOf(entry.data, collectionConfig.titleField, entry.id) }), _jsx("span", { children: entry.id })] }) }, entry.id))) })), status && status.versions.length > 0 ? (_jsxs("div", { class: "cr-versions", children: [_jsx("h3", { children: "Publication versions" }), _jsxs("p", { class: "cr-help", children: ["Active content version: ", activeVersion ?? "none", ". Publication success is not the same as a finished site rebuild or live public HTML."] }), _jsx("ul", { children: status.versions.map((version) => (_jsxs("li", { children: [_jsx("code", { children: version.version }), version.active ? " (active)" : "", permissions.includes("rollback") && !version.active ? (_jsx("button", { type: "button", class: "cr-button cr-button--ghost", disabled: busy, onClick: () => void runRollback(version.version), children: "Roll back" })) : null] }, version.version))) })] })) : null] })) : null, view.kind === "edit" && collectionConfig ? (_jsxs("section", { class: "cr-edit", children: [_jsxs("div", { class: "cr-toolbar", children: [_jsx("h2", { children: view.isNew ? "Create entry" : "Edit entry" }), _jsxs("div", { class: "cr-actions", children: [_jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy, onClick: () => setPreview((value) => !value), children: preview ? "Edit" : "Preview" }), _jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy || !permissions.includes("validate"), onClick: () => void runValidate(), children: "Validate" }), _jsx("button", { type: "button", class: "cr-button", disabled: busy || !permissions.includes("publish"), onClick: () => void runPublish(), children: "Publish" })] })] }), _jsxs("p", { class: "cr-help", children: ["Expected version: ", activeVersion ?? "none (first publish)", ". Drafts stay in this browser session only."] }), preview ? (_jsxs("div", { class: "cr-preview", "aria-live": "polite", children: [_jsx("h3", { children: "Preview" }), _jsx("p", { class: "cr-help", children: "Field values for this entry \u2014 not a full public-site render." }), _jsxs("dl", { children: [_jsxs("div", { children: [_jsx("dt", { children: "Entry ID" }), _jsx("dd", { children: entryId || "(missing)" })] }), Object.entries(data).map(([key, value]) => (_jsxs("div", { children: [_jsx("dt", { children: key }), _jsx("dd", { children: _jsx("pre", { children: JSON.stringify(value, null, 2) }) })] }, key)))] })] })) : (_jsx(SchemaForm, { collection: collectionConfig, entryId: entryId, data: data, errors: errors, entryIdReadOnly: !view.isNew, disabled: busy, onEntryIdChange: (id) => {
330
- setEntryId(id);
331
- setDirty(true);
332
- }, onChange: updateField })), lastPublish ? (_jsxs("aside", { class: "cr-publish-result", children: [_jsx("h3", { children: "Last publish result" }), _jsxs("p", { children: ["Version ", _jsx("code", { children: lastPublish.version }), " \u00B7 Publication", " ", _jsx("code", { children: lastPublish.publicationId })] }), _jsxs("p", { children: ["Rebuild: ", _jsx("strong", { children: lastPublish.rebuild.state }), lastPublish.rebuild.detail
333
- ? ` — ${lastPublish.rebuild.detail}`
334
- : ""] })] })) : null] })) : null] })] }));
459
+ const filteredEntries = queried.filtered;
460
+ const safePage = queried.page;
461
+ const pageCount = queried.pageCount;
462
+ const pagedEntries = queried.items;
463
+ const duplicates = duplicateIds(entries);
464
+ return (_jsxs("div", { class: "cr-editor", children: [_jsxs("header", { class: "cr-header", children: [_jsxs("div", { children: [_jsx("p", { class: "cr-brand", children: "ContentRail" }), _jsx("h1", { children: title })] }), authExpired ? (_jsx("p", { class: "cr-pill cr-pill--warn", role: "status", children: "Session expired" })) : null] }), banner ? (_jsx("div", { class: `cr-banner cr-banner--${banner.tone}`, role: "status", children: banner.text })) : null, _jsxs("div", { class: "cr-shell", children: [view.kind !== "sites" && siteConfig ? (_jsxs("aside", { class: "cr-sidebar", "aria-label": "Collections", children: [_jsx("p", { class: "cr-sidebar-label", children: siteConfig.label }), _jsx("ul", { class: "cr-sidebar-list", children: siteConfig.collections.map((collection) => (_jsx("li", { children: _jsx("button", { type: "button", class: "collection" in view &&
465
+ view.collection === collection.name
466
+ ? "cr-sidebar-link cr-sidebar-link--active"
467
+ : "cr-sidebar-link", onClick: () => {
468
+ if (confirmLeave()) {
469
+ setDirty(false);
470
+ void openCollection(siteConfig.siteId, collection.name);
471
+ }
472
+ }, children: collection.label }) }, collection.name))) })] })) : null, _jsxs("div", { class: "cr-shell-main", children: [_jsxs("nav", { class: "cr-nav", "aria-label": "Editor location", children: [_jsx("button", { type: "button", class: "cr-link", onClick: () => {
473
+ if (confirmLeave()) {
474
+ setDirty(false);
475
+ setView({ kind: "sites" });
476
+ }
477
+ }, children: "Sites" }), view.kind !== "sites" ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", children: "/" }), _jsx("button", { type: "button", class: "cr-link", onClick: () => {
478
+ if (confirmLeave()) {
479
+ setDirty(false);
480
+ void openSite(view.siteId);
481
+ }
482
+ }, children: siteConfig?.label ?? view.siteId })] })) : null, view.kind === "entries" || view.kind === "edit" ? (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", children: "/" }), _jsx("button", { type: "button", class: "cr-link", onClick: () => {
483
+ if (confirmLeave()) {
484
+ setDirty(false);
485
+ void openCollection(view.siteId, view.collection);
486
+ }
487
+ }, children: collectionConfig?.label ?? view.collection })] })) : null, dirty ? (_jsx("span", { class: "cr-pill", role: "status", children: "Unsaved changes" })) : null] }), _jsxs("main", { class: "cr-main", children: [view.kind === "sites" ? (_jsxs("section", { children: [_jsx("h2", { children: "Your sites" }), _jsx("p", { class: "cr-lede", children: "Choose a site you are authorised to manage. Credentials for Git and object storage stay on the server." }), visibleSites.length === 0 ? (_jsx("p", { class: "cr-empty", children: "No sites are available for your account." })) : (_jsx("ul", { class: "cr-card-list", children: visibleSites.map((site) => (_jsx("li", { children: _jsxs("button", { type: "button", class: "cr-card", onClick: () => void openSite(site.siteId), children: [_jsx("strong", { children: site.label }), _jsx("span", { children: site.siteId })] }) }, site.siteId))) }))] })) : null, view.kind === "collections" && siteConfig ? (_jsxs("section", { children: [_jsx("h2", { children: "Dashboard" }), _jsx("p", { class: "cr-lede", children: siteConfig.collections.length === 0
488
+ ? "No collections are registered for this site."
489
+ : "Choose a collection to list, create, or edit entries." }), _jsx("ul", { class: "cr-card-list", children: siteConfig.collections.map((collection) => (_jsx("li", { children: _jsxs("button", { type: "button", class: "cr-card", onClick: () => void openCollection(siteConfig.siteId, collection.name), children: [_jsx("strong", { children: collection.label }), _jsx("span", { children: collection.description ?? collection.name })] }) }, collection.name))) })] })) : null, view.kind === "entries" && collectionConfig && showImport ? (_jsx(CollectionImportWizard, { api: api, siteId: view.siteId, collection: collectionConfig, existing: entries, expectedVersion: activeVersion, onCancel: () => setShowImport(false), onImported: () => {
490
+ setShowImport(false);
491
+ void openCollection(view.siteId, view.collection);
492
+ } })) : null, view.kind === "entries" && collectionConfig && !showImport ? (_jsxs("section", { children: [_jsxs("div", { class: "cr-toolbar", children: [_jsx("h2", { children: collectionConfig.label }), _jsxs("div", { class: "cr-actions", children: [_jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy, onClick: () => setShowImport(true), children: "Import" }), _jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy || filteredEntries.length === 0, onClick: exportCsv, children: "Export CSV" }), _jsx("button", { type: "button", class: "cr-button", disabled: busy || !permissions.includes("publish"), onClick: () => startCreate(view.siteId, view.collection), children: "New entry" })] })] }), _jsxs("div", { class: "cr-toolbar", children: [_jsxs("label", { class: "cr-search", children: [_jsx("span", { class: "cr-visually-hidden", children: "Filter entries" }), _jsx("input", { class: "cr-input", type: "search", placeholder: "Filter by title or id", value: filter, onInput: (event) => {
493
+ setFilter(event.currentTarget.value);
494
+ setPage(0);
495
+ } })] }), _jsxs("label", { class: "cr-search", children: [_jsx("span", { class: "cr-visually-hidden", children: "Sort" }), _jsxs("select", { class: "cr-input", value: `${sortKey}:${sortDir}`, onChange: (event) => {
496
+ const value = event.currentTarget
497
+ .value;
498
+ const [key, dir] = value.split(":");
499
+ setSortKey(key);
500
+ setSortDir(dir);
501
+ setPage(0);
502
+ }, children: [_jsx("option", { value: "id:asc", children: "Id A\u2013Z" }), _jsx("option", { value: "id:desc", children: "Id Z\u2013A" }), _jsx("option", { value: "title:asc", children: "Title A\u2013Z" }), _jsx("option", { value: "title:desc", children: "Title Z\u2013A" })] })] })] }), duplicates.size > 0 ? (_jsxs("p", { class: "cr-banner cr-banner--error", role: "status", children: ["Duplicate ids in this snapshot: ", [...duplicates].join(", ")] })) : null, selected.size > 0 ? (_jsxs("div", { class: "cr-toolbar", children: [_jsxs("p", { class: "cr-help", children: [selected.size, " selected"] }), _jsxs("div", { class: "cr-actions", children: [collectionConfig.fields.some((field) => field.name === "published" &&
503
+ field.widget === "boolean") ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy || !permissions.includes("publish"), onClick: () => void runBulkPublished(true), children: "Mark published" }), _jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy || !permissions.includes("publish"), onClick: () => void runBulkPublished(false), children: "Mark unpublished" })] })) : null, _jsx("button", { type: "button", class: "cr-button cr-button--danger", disabled: busy || !permissions.includes("publish"), onClick: () => setBulkDeleteConfirm(true), children: "Delete selected" })] })] })) : null, bulkDeleteConfirm ? (_jsxs("div", { class: "cr-confirm", role: "alertdialog", children: [_jsxs("h3", { children: ["Delete ", selected.size, " selected entries?"] }), _jsx("p", { children: "This publishes the collection without those ids. It cannot be undone except by rolling back a previous version." }), _jsxs("div", { class: "cr-actions", children: [_jsx("button", { type: "button", class: "cr-button cr-button--ghost", onClick: () => setBulkDeleteConfirm(false), children: "Cancel" }), _jsx("button", { type: "button", class: "cr-button cr-button--danger", onClick: () => void runBulkDelete(), children: "Delete entries" })] })] })) : null, filteredEntries.length === 0 ? (_jsx("p", { class: "cr-empty", children: entries.length === 0
504
+ ? "No published entries yet. Create the first one."
505
+ : "No entries match this filter." })) : (_jsx("ul", { class: "cr-entry-list", children: pagedEntries.map((entry) => (_jsxs("li", { class: "cr-entry-row", children: [_jsx("input", { type: "checkbox", checked: selected.has(entry.id), "aria-label": `Select ${entry.id}`, onChange: (event) => {
506
+ const checked = event.currentTarget.checked;
507
+ setSelected((current) => {
508
+ const next = new Set(current);
509
+ if (checked) {
510
+ next.add(entry.id);
511
+ }
512
+ else {
513
+ next.delete(entry.id);
514
+ }
515
+ return next;
516
+ });
517
+ } }), _jsxs("button", { type: "button", class: "cr-entry", onClick: () => startEdit(view.siteId, view.collection, entry.id, entry.data), children: [_jsx("strong", { children: titleOf(entry.data, collectionConfig.titleField, entry.id) }), _jsxs("span", { children: [entry.id, duplicates.has(entry.id) ? " · duplicate" : "", typeof entry.data.published === "boolean"
518
+ ? entry.data.published
519
+ ? " · published"
520
+ : " · unpublished"
521
+ : ""] })] })] }, entry.id))) })), filteredEntries.length > pageSize ? (_jsxs("nav", { class: "cr-pagination", "aria-label": "Collection pages", children: [_jsx("button", { type: "button", class: "cr-button cr-button--ghost", disabled: busy || safePage === 0, onClick: () => setPage((current) => Math.max(0, current - 1)), children: "Previous" }), _jsxs("p", { class: "cr-help", children: ["Page ", safePage + 1, " of ", pageCount, " (", filteredEntries.length, " entries)"] }), _jsx("button", { type: "button", class: "cr-button cr-button--ghost", disabled: busy || safePage >= pageCount - 1, onClick: () => setPage((current) => Math.min(pageCount - 1, current + 1)), children: "Next" })] })) : null, status && status.versions.length > 0 ? (_jsxs("div", { class: "cr-versions", children: [_jsx("h3", { children: "Publishing history" }), _jsxs("p", { class: "cr-help", children: ["Active content version: ", activeVersion ?? "none", ". A Git commit is not a live deployment. Rollback creates a new commit; it does not rewrite history."] }), lastPublish ? (_jsxs("p", { class: "cr-help", children: ["Last operation: Git/R2 revision", " ", _jsx("code", { children: lastPublish.provider.revision }), " \u00B7 rebuild", " ", _jsx("strong", { children: lastPublish.rebuild.state }), lastPublish.rebuild.detail
522
+ ? ` — ${lastPublish.rebuild.detail}`
523
+ : ""] })) : null, _jsx("ul", { children: status.versions.map((version) => (_jsxs("li", { children: [_jsx("code", { children: version.version }), version.active ? " (active)" : "", version.createdAt ? ` · ${version.createdAt}` : "", version.entryIds !== undefined
524
+ ? ` · ${version.entryIds.length} entries`
525
+ : "", permissions.includes("rollback") &&
526
+ !version.active ? (_jsx("button", { type: "button", class: "cr-button cr-button--ghost", disabled: busy, onClick: () => void runRollback(version.version), children: "Roll back" })) : null] }, version.version))) })] })) : null] })) : null, view.kind === "edit" && collectionConfig ? (_jsxs("section", { class: "cr-edit", children: [_jsxs("div", { class: "cr-toolbar", children: [_jsx("h2", { children: view.isNew ? "Create entry" : "Edit entry" }), _jsxs("div", { class: "cr-actions", children: [_jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy, onClick: () => setPreview((value) => !value), children: preview ? "Edit" : "Preview" }), _jsx("button", { type: "button", class: "cr-button cr-button--secondary", disabled: busy || !permissions.includes("validate"), onClick: () => void runValidate(), children: "Validate" }), _jsx("button", { type: "button", class: "cr-button", disabled: busy || !permissions.includes("publish"), onClick: () => void runPublish(), children: "Publish" }), !view.isNew ? (_jsx("button", { type: "button", class: "cr-button cr-button--danger", disabled: busy || !permissions.includes("publish"), onClick: () => setDeleteConfirm(true), children: "Delete" })) : null] })] }), deleteConfirm ? (_jsxs("div", { class: "cr-confirm", role: "alertdialog", "aria-labelledby": "cr-delete-title", children: [_jsx("h3", { id: "cr-delete-title", children: "Delete this entry?" }), _jsxs("p", { children: ["This publishes the collection without \u201C", view.entryId, "\u201D. It cannot be undone except by rolling back a previous version."] }), _jsxs("div", { class: "cr-actions", children: [_jsx("button", { type: "button", class: "cr-button cr-button--ghost", disabled: busy, onClick: () => setDeleteConfirm(false), children: "Cancel" }), _jsx("button", { type: "button", class: "cr-button cr-button--danger", disabled: busy, onClick: () => void runDelete(), children: "Delete entry" })] })] })) : null, _jsxs("p", { class: "cr-help", children: ["Expected version: ", activeVersion ?? "none (first publish)", ". Drafts stay in this browser session only."] }), preview ? (_jsxs("div", { class: "cr-preview", "aria-live": "polite", children: [_jsx("h3", { children: "Preview" }), _jsx("p", { class: "cr-help", children: "Field values for this entry \u2014 not a full public-site render." }), _jsxs("dl", { children: [_jsxs("div", { children: [_jsx("dt", { children: "Entry ID" }), _jsx("dd", { children: entryId || "(missing)" })] }), Object.entries(data).map(([key, value]) => (_jsxs("div", { children: [_jsx("dt", { children: key }), _jsx("dd", { children: _jsx("pre", { children: JSON.stringify(value, null, 2) }) })] }, key)))] })] })) : (_jsx(SchemaForm, { collection: collectionConfig, entryId: entryId, data: data, errors: errors, entryIdReadOnly: !view.isNew, disabled: busy, onEntryIdChange: (id) => {
527
+ setEntryId(id);
528
+ setDirty(true);
529
+ }, onChange: updateField })), lastPublish ? (_jsxs("aside", { class: "cr-publish-result", children: [_jsx("h3", { children: "Last publish result" }), _jsxs("p", { children: ["Version ", _jsx("code", { children: lastPublish.version }), " \u00B7 Publication", " ", _jsx("code", { children: lastPublish.publicationId })] }), _jsxs("p", { children: ["Rebuild: ", _jsx("strong", { children: lastPublish.rebuild.state }), lastPublish.rebuild.detail
530
+ ? ` — ${lastPublish.rebuild.detail}`
531
+ : ""] })] })) : null] })) : null] })] })] })] }));
335
532
  }
336
533
  function buildWorkingEntries(existing, entryId, data, isNew, previousId) {
337
534
  const next = existing
@@ -1 +1 @@
1
- {"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/ui/EditorApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorApp.js","sourceRoot":"","sources":["../../src/ui/EditorApp.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentrail/editor",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Schema-driven ContentRail editor UI and API client (browser-safe).",
@@ -18,6 +18,11 @@
18
18
  "browser": "./dist/index.js",
19
19
  "default": "./dist/index.js"
20
20
  },
21
+ "./vite": {
22
+ "types": "./dist/admin/vite-plugin.d.ts",
23
+ "import": "./dist/admin/vite-plugin.js",
24
+ "node": "./dist/admin/vite-plugin.js"
25
+ },
21
26
  "./styles.css": "./dist/styles.css",
22
27
  "./package.json": "./package.json"
23
28
  },
@@ -28,10 +33,17 @@
28
33
  ],
29
34
  "dependencies": {
30
35
  "read-excel-file": "9.3.14",
31
- "@contentrail/core": "0.2.0"
36
+ "@contentrail/core": "0.2.1"
32
37
  },
33
38
  "peerDependencies": {
34
- "preact": "^10.26.0"
39
+ "preact": "^10.26.0",
40
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0",
41
+ "zod": "^4.6.7"
42
+ },
43
+ "peerDependenciesMeta": {
44
+ "vite": {
45
+ "optional": true
46
+ }
35
47
  },
36
48
  "devDependencies": {
37
49
  "@types/node": "^22.20.5",
@@ -39,9 +51,10 @@
39
51
  "preact": "^10.26.9",
40
52
  "preact-render-to-string": "^6.5.13",
41
53
  "typescript": "5.9.3",
54
+ "vite": "8.3.5",
42
55
  "zod": "4.6.7",
43
- "@contentrail/cloudflare": "0.2.0",
44
- "@contentrail/publisher": "0.2.0"
56
+ "@contentrail/publisher": "0.2.1",
57
+ "@contentrail/cloudflare": "0.2.1"
45
58
  },
46
59
  "repository": {
47
60
  "type": "git",