@tekki-forge/runtime-admin 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +5 -0
  2. package/dist/account.d.ts +1 -0
  3. package/dist/account.js +105 -0
  4. package/dist/account.js.map +1 -0
  5. package/dist/activity.d.ts +65 -0
  6. package/dist/activity.js +299 -0
  7. package/dist/activity.js.map +1 -0
  8. package/dist/admin-access.d.ts +4 -0
  9. package/dist/admin-access.js +177 -0
  10. package/dist/admin-access.js.map +1 -0
  11. package/dist/admin.d.ts +5 -0
  12. package/dist/admin.js +129 -0
  13. package/dist/admin.js.map +1 -0
  14. package/dist/auth-pages.d.ts +13 -0
  15. package/dist/auth-pages.js +207 -0
  16. package/dist/auth-pages.js.map +1 -0
  17. package/dist/brand-art.d.ts +24 -0
  18. package/dist/brand-art.js +33 -0
  19. package/dist/brand-art.js.map +1 -0
  20. package/dist/brand.d.ts +11 -0
  21. package/dist/brand.js +16 -0
  22. package/dist/brand.js.map +1 -0
  23. package/dist/charts.d.ts +23 -0
  24. package/dist/charts.js +259 -0
  25. package/dist/charts.js.map +1 -0
  26. package/dist/command-palette.d.ts +9 -0
  27. package/dist/command-palette.js +115 -0
  28. package/dist/command-palette.js.map +1 -0
  29. package/dist/context.d.ts +242 -0
  30. package/dist/context.js +107 -0
  31. package/dist/context.js.map +1 -0
  32. package/dist/dashboard.d.ts +66 -0
  33. package/dist/dashboard.js +144 -0
  34. package/dist/dashboard.js.map +1 -0
  35. package/dist/fields.d.ts +71 -0
  36. package/dist/fields.js +326 -0
  37. package/dist/fields.js.map +1 -0
  38. package/dist/i18n/catalog.d.ts +7 -0
  39. package/dist/i18n/catalog.js +23 -0
  40. package/dist/i18n/catalog.js.map +1 -0
  41. package/dist/i18n/locale.d.ts +15 -0
  42. package/dist/i18n/locale.js +69 -0
  43. package/dist/i18n/locale.js.map +1 -0
  44. package/dist/i18n/messages/de.d.ts +3 -0
  45. package/dist/i18n/messages/de.js +627 -0
  46. package/dist/i18n/messages/de.js.map +1 -0
  47. package/dist/i18n/messages/en.d.ts +3 -0
  48. package/dist/i18n/messages/en.js +627 -0
  49. package/dist/i18n/messages/en.js.map +1 -0
  50. package/dist/i18n/messages/es.d.ts +3 -0
  51. package/dist/i18n/messages/es.js +627 -0
  52. package/dist/i18n/messages/es.js.map +1 -0
  53. package/dist/i18n/messages/fr.d.ts +3 -0
  54. package/dist/i18n/messages/fr.js +627 -0
  55. package/dist/i18n/messages/fr.js.map +1 -0
  56. package/dist/i18n/messages/pt.d.ts +3 -0
  57. package/dist/i18n/messages/pt.js +627 -0
  58. package/dist/i18n/messages/pt.js.map +1 -0
  59. package/dist/i18n/validation.d.ts +3 -0
  60. package/dist/i18n/validation.js +36 -0
  61. package/dist/i18n/validation.js.map +1 -0
  62. package/dist/illustrations.d.ts +6 -0
  63. package/dist/illustrations.js +16 -0
  64. package/dist/illustrations.js.map +1 -0
  65. package/dist/import-dialog.d.ts +11 -0
  66. package/dist/import-dialog.js +152 -0
  67. package/dist/import-dialog.js.map +1 -0
  68. package/dist/index.d.ts +38 -0
  69. package/dist/index.js +39 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/inline-edit.d.ts +18 -0
  72. package/dist/inline-edit.js +115 -0
  73. package/dist/inline-edit.js.map +1 -0
  74. package/dist/landing.d.ts +79 -0
  75. package/dist/landing.js +122 -0
  76. package/dist/landing.js.map +1 -0
  77. package/dist/locale-switcher.d.ts +4 -0
  78. package/dist/locale-switcher.js +15 -0
  79. package/dist/locale-switcher.js.map +1 -0
  80. package/dist/map.d.ts +26 -0
  81. package/dist/map.js +232 -0
  82. package/dist/map.js.map +1 -0
  83. package/dist/notifications.d.ts +12 -0
  84. package/dist/notifications.js +75 -0
  85. package/dist/notifications.js.map +1 -0
  86. package/dist/record-mutation.d.ts +19 -0
  87. package/dist/record-mutation.js +39 -0
  88. package/dist/record-mutation.js.map +1 -0
  89. package/dist/resource-detail.d.ts +4 -0
  90. package/dist/resource-detail.js +96 -0
  91. package/dist/resource-detail.js.map +1 -0
  92. package/dist/resource-form.d.ts +11 -0
  93. package/dist/resource-form.js +92 -0
  94. package/dist/resource-form.js.map +1 -0
  95. package/dist/resource-list.d.ts +10 -0
  96. package/dist/resource-list.js +154 -0
  97. package/dist/resource-list.js.map +1 -0
  98. package/dist/saved-views.d.ts +16 -0
  99. package/dist/saved-views.js +64 -0
  100. package/dist/saved-views.js.map +1 -0
  101. package/dist/schema-editor-diagram.d.ts +14 -0
  102. package/dist/schema-editor-diagram.js +54 -0
  103. package/dist/schema-editor-diagram.js.map +1 -0
  104. package/dist/schema-editor.d.ts +98 -0
  105. package/dist/schema-editor.js +571 -0
  106. package/dist/schema-editor.js.map +1 -0
  107. package/dist/shell.d.ts +10 -0
  108. package/dist/shell.js +228 -0
  109. package/dist/shell.js.map +1 -0
  110. package/dist/skeleton.d.ts +25 -0
  111. package/dist/skeleton.js +34 -0
  112. package/dist/skeleton.js.map +1 -0
  113. package/dist/theme-catalog.d.ts +71 -0
  114. package/dist/theme-catalog.js +55 -0
  115. package/dist/theme-catalog.js.map +1 -0
  116. package/dist/theme-head.d.ts +8 -0
  117. package/dist/theme-head.js +11 -0
  118. package/dist/theme-head.js.map +1 -0
  119. package/dist/theme-preview.d.ts +2 -0
  120. package/dist/theme-preview.js +23 -0
  121. package/dist/theme-preview.js.map +1 -0
  122. package/dist/theme-switcher.d.ts +20 -0
  123. package/dist/theme-switcher.js +159 -0
  124. package/dist/theme-switcher.js.map +1 -0
  125. package/dist/theme.d.ts +24 -0
  126. package/dist/theme.js +30 -0
  127. package/dist/theme.js.map +1 -0
  128. package/dist/toast.d.ts +21 -0
  129. package/dist/toast.js +51 -0
  130. package/dist/toast.js.map +1 -0
  131. package/dist/ui.d.ts +86 -0
  132. package/dist/ui.js +106 -0
  133. package/dist/ui.js.map +1 -0
  134. package/dist/views.d.ts +23 -0
  135. package/dist/views.js +238 -0
  136. package/dist/views.js.map +1 -0
  137. package/package.json +58 -0
  138. package/styles.css +778 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt.js","sourceRoot":"","sources":["../../../src/i18n/messages/pt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { TranslateVars } from "./locale.js";
2
+ /** Translate a validation message when it is one of the framework's; other messages are returned as-is. */
3
+ export declare function translateValidation(message: string, t: (key: string, vars?: TranslateVars) => string): string;
@@ -0,0 +1,36 @@
1
+ /** English messages produced by @tekki-forge/runtime-schema (client and server) → translation keys. */
2
+ const PATTERNS = [
3
+ [/^Required$/, "validation.required", () => ({})],
4
+ [/^Must be a number$/, "validation.number", () => ({})],
5
+ [/^Must be a whole number$/, "validation.integer", () => ({})],
6
+ [/^Must be a decimal number$/, "validation.decimal", () => ({})],
7
+ [/^At most (\d+) decimal places$/, "validation.decimalPlaces", (m) => ({ max: m[1] })],
8
+ [/^Must be between (.+) and (.+)$/, "validation.between", (m) => ({ min: m[1], max: m[2] })],
9
+ [/^Must be at least (.+)$/, "validation.min", (m) => ({ min: m[1] })],
10
+ [/^Must be at most (.+)$/, "validation.max", (m) => ({ max: m[1] })],
11
+ [/^Must be a date \(YYYY-MM-DD\)$/, "validation.date", () => ({})],
12
+ [/^Must be a date and time$/, "validation.datetime", () => ({})],
13
+ [/^Must be one of (.+)$/, "validation.oneOf", (m) => ({ values: m[1] })],
14
+ [/^Select at least one$/, "validation.selectOne", () => ({})],
15
+ [/^At least (\d+) characters$/, "validation.minLength", (m) => ({ min: m[1] })],
16
+ [/^At most (\d+) characters$/, "validation.maxLength", (m) => ({ max: m[1] })],
17
+ [/^Invalid format$/, "validation.pattern", () => ({})],
18
+ [/^Must be a valid email$/, "validation.email", () => ({})],
19
+ [/^Must be a valid URL$/, "validation.url", () => ({})],
20
+ [/^Must be a hex color like #3b82f6$/, "validation.color", () => ({})],
21
+ [/^Latitude must be (a number|between -90 and 90)$/, "validation.latitude", () => ({})],
22
+ [/^Longitude must be (a number|between -180 and 180)$/, "validation.longitude", () => ({})],
23
+ [/^Already taken$/, "validation.taken", () => ({})],
24
+ ];
25
+ /** Translate a validation message when it is one of the framework's; other messages are returned as-is. */
26
+ export function translateValidation(message, t) {
27
+ for (const [re, key, vars] of PATTERNS) {
28
+ const m = message.match(re);
29
+ if (m) {
30
+ const out = t(key, vars(m));
31
+ return out === key ? message : out;
32
+ }
33
+ }
34
+ return message;
35
+ }
36
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/i18n/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type IllustrationName = "list" | "search" | "dashboard" | "notifications";
2
+ /** Small decorative drawing for empty states, tinted by the theme's colours. */
3
+ export declare function Illustration({ name, className }: {
4
+ name: IllustrationName;
5
+ className?: string;
6
+ }): import("react").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // Lines use currentColor (muted ink); tints come from the brand colours so every theme recolours them.
3
+ const tint = (opacity, color = "var(--forge-primary)") => ({ fill: color, fillOpacity: opacity });
4
+ const accent = (opacity) => tint(opacity, "var(--forge-accent)");
5
+ const brand = { stroke: "var(--forge-primary)" };
6
+ const SHAPES = {
7
+ list: (_jsxs(_Fragment, { children: [_jsx("ellipse", { cx: "60", cy: "80", rx: "42", ry: "5", style: tint(0.08) }), _jsx("rect", { x: "30", y: "18", width: "60", height: "50", rx: "7", style: tint(0.06), transform: "rotate(-6 60 43)" }), _jsx("rect", { x: "28", y: "14", width: "64", height: "54", rx: "8", style: tint(0.12) }), _jsx("rect", { x: "28", y: "14", width: "64", height: "54", rx: "8" }), _jsx("path", { d: "M38 28h26M38 38h40M38 48h32", opacity: "0.55" }), _jsx("circle", { cx: "90", cy: "18", r: "10", style: accent(0.9), stroke: "none" }), _jsx("path", { d: "M90 13.5v9M85.5 18h9", style: { stroke: "var(--forge-accent-fg)" }, strokeWidth: "2" })] })),
8
+ search: (_jsxs(_Fragment, { children: [_jsx("ellipse", { cx: "60", cy: "80", rx: "42", ry: "5", style: tint(0.08) }), _jsx("rect", { x: "22", y: "12", width: "52", height: "60", rx: "7", style: tint(0.08) }), _jsx("rect", { x: "22", y: "12", width: "52", height: "60", rx: "7" }), _jsx("path", { d: "M32 26h26M32 36h32M32 46h18", opacity: "0.5", strokeDasharray: "3 4" }), _jsx("circle", { cx: "76", cy: "50", r: "15", style: tint(0.14) }), _jsx("circle", { cx: "76", cy: "50", r: "15", style: brand, strokeWidth: "2.5" }), _jsx("path", { d: "m87 61 10 10", style: brand, strokeWidth: "3.5" }), _jsx("path", { d: "M71 45l10 10M81 45 71 55", opacity: "0.7" })] })),
9
+ dashboard: (_jsxs(_Fragment, { children: [_jsx("ellipse", { cx: "60", cy: "80", rx: "46", ry: "5", style: tint(0.08) }), _jsx("rect", { x: "16", y: "12", width: "88", height: "60", rx: "8", style: tint(0.06) }), _jsx("rect", { x: "16", y: "12", width: "88", height: "60", rx: "8" }), _jsx("rect", { x: "28", y: "44", width: "10", height: "18", rx: "2", style: tint(0.35), stroke: "none" }), _jsx("rect", { x: "43", y: "34", width: "10", height: "28", rx: "2", style: tint(0.55), stroke: "none" }), _jsx("rect", { x: "58", y: "50", width: "10", height: "12", rx: "2", style: tint(0.25), stroke: "none" }), _jsx("circle", { cx: "86", cy: "36", r: "10", style: accent(0.25) }), _jsx("path", { d: "M86 26a10 10 0 0 1 10 10h-10z", style: accent(0.85), stroke: "none" }), _jsx("path", { d: "M28 24h30", opacity: "0.5" })] })),
10
+ notifications: (_jsxs(_Fragment, { children: [_jsx("ellipse", { cx: "60", cy: "80", rx: "36", ry: "5", style: tint(0.08) }), _jsx("path", { d: "M42 56V41a18 18 0 0 1 36 0v15l6 7H36z", style: tint(0.12) }), _jsx("path", { d: "M42 56V41a18 18 0 0 1 36 0v15l6 7H36z" }), _jsx("path", { d: "M54 68a6 6 0 0 0 12 0" }), _jsx("circle", { cx: "80", cy: "24", r: "9", style: accent(0.9), stroke: "none" }), _jsx("path", { d: "m76 24 3 3 5-6", style: { stroke: "var(--forge-accent-fg)" }, strokeWidth: "2" }), _jsx("path", { d: "M22 30h6M25 27v6M96 50h5M98.5 47.5v5", opacity: "0.45" })] })),
11
+ };
12
+ /** Small decorative drawing for empty states, tinted by the theme's colours. */
13
+ export function Illustration({ name, className }) {
14
+ return (_jsx("svg", { viewBox: "0 0 120 88", width: "120", height: "88", fill: "none", stroke: "currentColor", strokeWidth: "1.75", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, focusable: "false", className: className ?? "forge-illustration text-ink-subtle", children: SHAPES[name] }));
15
+ }
16
+ //# sourceMappingURL=illustrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"illustrations.js","sourceRoot":"","sources":["../src/illustrations.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { EntityIR, FieldIR, ResourceMeta } from "@tekki-forge/compiler";
2
+ /** Fields a CSV column can feed (mirrors the server's importableFields). */
3
+ export declare function importColumns(entity: EntityIR): FieldIR[];
4
+ /** Split rows into request-sized batches (row count and payload size). */
5
+ export declare function batches<T>(rows: T[], maxRows?: number, maxBytes?: number): T[][];
6
+ export declare function ImportDialog({ entity, resource, open, onClose }: {
7
+ entity: EntityIR;
8
+ resource: ResourceMeta;
9
+ open: boolean;
10
+ onClose: () => void;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,152 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { parseCsv, suggestMapping } from "@tekki-forge/runtime-schema";
4
+ import { useQueryClient } from "@tanstack/react-query";
5
+ import { FileUp } from "lucide-react";
6
+ import { useState } from "react";
7
+ import { useForge } from "./context.js";
8
+ import { useToast } from "./toast.js";
9
+ import { Alert, Button, Dialog, Select, cn } from "./ui.js";
10
+ const MAX_FILE_BYTES = 20 * 1024 * 1024;
11
+ const BATCH_ROWS = 1000;
12
+ const BATCH_BYTES = 700_000;
13
+ /** Fields a CSV column can feed (mirrors the server's importableFields). */
14
+ export function importColumns(entity) {
15
+ return entity.fields.filter((f) => !f.hidden && !f.readonly && !f.computed && !f.file && f.name !== entity.workflow?.field);
16
+ }
17
+ /** Split rows into request-sized batches (row count and payload size). */
18
+ export function batches(rows, maxRows = BATCH_ROWS, maxBytes = BATCH_BYTES) {
19
+ const out = [];
20
+ let current = [];
21
+ let bytes = 0;
22
+ for (const r of rows) {
23
+ const size = JSON.stringify(r).length + 1;
24
+ if (current.length && (current.length >= maxRows || bytes + size > maxBytes)) {
25
+ out.push(current);
26
+ current = [];
27
+ bytes = 0;
28
+ }
29
+ current.push(r);
30
+ bytes += size;
31
+ }
32
+ if (current.length)
33
+ out.push(current);
34
+ return out;
35
+ }
36
+ const csvCell = (v) => (/[",\n\r]/.test(v) ? `"${v.replace(/"/g, '""')}"` : v);
37
+ export function ImportDialog({ entity, resource, open, onClose }) {
38
+ const { api, locale, t, tv } = useForge();
39
+ const toast = useToast();
40
+ const queryClient = useQueryClient();
41
+ const fields = importColumns(entity);
42
+ const uniques = fields.filter((f) => f.unique && !f.relation);
43
+ const [step, setStep] = useState("file");
44
+ const [csv, setCsv] = useState(null);
45
+ const [fileName, setFileName] = useState("");
46
+ const [mapping, setMapping] = useState({});
47
+ const [matchBy, setMatchBy] = useState("");
48
+ const [dateOrder, setDateOrder] = useState("ymd");
49
+ const [results, setResults] = useState(null);
50
+ const [progress, setProgress] = useState(null);
51
+ const [error, setError] = useState(null);
52
+ const reset = () => {
53
+ setStep("file");
54
+ setCsv(null);
55
+ setResults(null);
56
+ setProgress(null);
57
+ setError(null);
58
+ setMatchBy("");
59
+ };
60
+ const close = () => {
61
+ if (progress && step !== "done")
62
+ return; // an import is running
63
+ reset();
64
+ onClose();
65
+ };
66
+ const readFile = async (file) => {
67
+ setError(null);
68
+ if (file.size > MAX_FILE_BYTES)
69
+ return setError(t("import.fileTooLarge", { size: MAX_FILE_BYTES / 1024 / 1024 }));
70
+ const parsed = parseCsv(await file.text());
71
+ if (!parsed.headers.length || !parsed.rows.length)
72
+ return setError(t("import.noRows"));
73
+ setCsv(parsed);
74
+ setFileName(file.name);
75
+ setMapping(suggestMapping(parsed.headers, [{ name: "id", apiName: "id", label: "ID" }, ...fields.map((f) => ({ name: f.name, apiName: f.apiName, label: f.label, required: f.required }))]));
76
+ setStep("map");
77
+ };
78
+ const mappedRows = () => csv.rows.map((cells) => {
79
+ const row = {};
80
+ for (const [name, col] of Object.entries(mapping))
81
+ if (col !== null && col !== undefined && (name !== "id" || matchBy === "id"))
82
+ row[name] = cells[col] ?? "";
83
+ return row;
84
+ });
85
+ const send = async (dryRun) => {
86
+ setError(null);
87
+ const rows = mappedRows();
88
+ const out = [];
89
+ let offset = 0;
90
+ let failed = null;
91
+ setProgress({ done: 0, total: rows.length });
92
+ try {
93
+ for (const batch of batches(rows)) {
94
+ const res = await api(`/${resource.path}/import`, { method: "POST", body: JSON.stringify({ rows: batch, dryRun, dateOrder, ...(matchBy ? { matchBy } : {}) }) });
95
+ out.push(...res.rows.map((r) => ({ ...r, index: r.index + offset })));
96
+ offset += batch.length;
97
+ setProgress({ done: offset, total: rows.length });
98
+ }
99
+ }
100
+ catch (e) {
101
+ failed = e.message;
102
+ setError(offset ? t("import.failedAfter", { message: e.message, count: offset }) : e.message);
103
+ }
104
+ setResults(out);
105
+ setStep(dryRun ? "preview" : "done");
106
+ if (!dryRun) {
107
+ const imported = out.filter((r) => r.status === "created" || r.status === "updated").length;
108
+ if (failed)
109
+ toast.error(t("toast.failed"), failed);
110
+ else
111
+ toast.success(t("toast.imported", { count: imported }));
112
+ queryClient.invalidateQueries({ queryKey: ["resource", resource.path] });
113
+ queryClient.invalidateQueries({ queryKey: ["forge"] });
114
+ }
115
+ setProgress(null);
116
+ };
117
+ const count = (...s) => results?.filter((r) => s.includes(r.status)).length ?? 0;
118
+ const failures = results?.filter((r) => r.status === "error") ?? [];
119
+ const missingRequired = fields.filter((f) => f.required && f.default === undefined && !f.relation?.owner && f.kind !== "boolean" && (mapping[f.name] ?? null) === null);
120
+ const usesDates = fields.some((f) => (f.kind === "date" || f.kind === "datetime") && mapping[f.name] != null);
121
+ const downloadErrors = () => {
122
+ if (!csv)
123
+ return;
124
+ const lines = [[...csv.headers, t("import.errorsColumn")].map(csvCell).join(",")];
125
+ for (const f of failures)
126
+ lines.push([...(csv.rows[f.index] ?? []), (f.errors ?? []).map((e) => (e.field ? `${e.field}: ${tv(e.message)}` : tv(e.message))).join("; ")].map(csvCell).join(","));
127
+ const url = URL.createObjectURL(new Blob([lines.join("\n")], { type: "text/csv" }));
128
+ const a = document.createElement("a");
129
+ a.href = url;
130
+ a.download = `${resource.path}-import-errors.csv`;
131
+ a.click();
132
+ URL.revokeObjectURL(url);
133
+ };
134
+ const errorList = (_jsxs("ul", { className: "mt-3 max-h-56 space-y-1 overflow-y-auto text-xs", children: [failures.slice(0, 100).map((f) => (_jsxs("li", { children: [_jsx("span", { className: "font-medium tabular-nums", children: t("import.line", { line: f.index + 2 }) }), " ", (f.errors ?? []).map((e) => `${e.field ? `${fields.find((x) => x.name === e.field)?.label ?? e.field}: ` : ""}${tv(e.message)}`).join(" · ")] }, f.index))), failures.length > 100 && _jsx("li", { className: "text-ink-subtle", children: t("import.more", { count: failures.length - 100 }) })] }));
135
+ const footer = step === "map" ? (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: reset, children: t("common.back") }), _jsx(Button, { variant: "primary", loading: !!progress, disabled: missingRequired.length > 0, onClick: () => send(true), children: t("import.check", { count: csv?.rows.length ?? 0 }) })] })) : step === "preview" ? (_jsxs(_Fragment, { children: [_jsx(Button, { onClick: () => setStep("map"), children: t("common.back") }), _jsx(Button, { variant: "primary", loading: !!progress, disabled: count("create", "update") === 0, onClick: () => send(false), children: failures.length ? t("import.importRowsSkip", { count: count("create", "update"), skip: failures.length }) : t("import.importRows", { count: count("create", "update") }) })] })) : step === "done" ? (_jsx(Button, { variant: "primary", onClick: close, children: t("common.done") })) : undefined;
136
+ return (_jsxs(Dialog, { open: open, onClose: close, title: t("import.title", { items: resource.pluralLabel.toLowerCase() }), size: "lg", footer: footer, children: [error && (_jsx("div", { className: "mb-3", children: _jsx(Alert, { children: error }) })), progress && (_jsxs("div", { className: "mb-3", role: "progressbar", "aria-valuemin": 0, "aria-valuemax": progress.total, "aria-valuenow": progress.done, children: [_jsx("div", { className: "h-1.5 overflow-hidden rounded-full bg-surface-muted", children: _jsx("div", { className: "h-full bg-primary transition-all", style: { width: `${(progress.done / Math.max(1, progress.total)) * 100}%` } }) }), _jsx("p", { className: "mt-1 text-xs text-ink-muted tabular-nums", children: t("import.progress", { done: progress.done, total: progress.total }) })] })), step === "file" && (_jsxs("label", { className: "flex cursor-pointer flex-col items-center justify-center gap-2 rounded-[var(--forge-radius)] border border-dashed border-line px-6 py-12 text-center hover:bg-hover", onDragOver: (e) => e.preventDefault(), onDrop: (e) => {
137
+ e.preventDefault();
138
+ const file = e.dataTransfer.files[0];
139
+ if (file)
140
+ void readFile(file);
141
+ }, children: [_jsx(FileUp, { className: "size-6 text-ink-subtle" }), _jsx("span", { className: "font-medium", children: t("import.chooseFile") }), _jsx("span", { className: "text-xs text-ink-muted", children: t("import.fileHint", { size: MAX_FILE_BYTES / 1024 / 1024 }) }), _jsx("input", { type: "file", accept: ".csv,text/csv,text/tab-separated-values,.tsv,.txt", className: "sr-only", onChange: (e) => e.target.files?.[0] && void readFile(e.target.files[0]) })] })), step === "map" && csv && (_jsxs("div", { className: "space-y-4", children: [_jsxs("p", { className: "text-ink-muted", children: [_jsx("span", { className: "font-medium text-ink", children: fileName }), " \u2014 ", t(csv.truncated ? "import.rowsFoundTruncated" : "import.rowsFound", { count: csv.rows.length })] }), csv.errors.length > 0 && _jsx(Alert, { tone: "info", children: t("import.parseErrors", { count: csv.errors.length, line: csv.errors[0].row, message: csv.errors[0].message }) }), _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { children: _jsxs("tr", { className: "text-left text-xs text-ink-muted", children: [_jsx("th", { className: "py-1 pr-3 font-medium", children: t("import.field") }), _jsx("th", { className: "py-1 pr-3 font-medium", children: t("import.column") }), _jsx("th", { className: "py-1 font-medium", children: t("import.firstValue") })] }) }), _jsx("tbody", { children: [...(matchBy === "id" ? [{ name: "id", label: "ID", required: true }] : []), ...fields].map((f) => {
142
+ const col = mapping[f.name] ?? null;
143
+ return (_jsxs("tr", { className: "border-t border-line", children: [_jsxs("td", { className: "py-1.5 pr-3", children: [f.label, f.required && _jsx("span", { className: "text-danger", children: " *" })] }), _jsx("td", { className: "py-1.5 pr-3", children: _jsxs(Select, { "aria-label": t("import.columnFor", { field: f.label }), value: col === null ? "" : String(col), onChange: (e) => setMapping({ ...mapping, [f.name]: e.target.value === "" ? null : Number(e.target.value) }), className: "h-8 py-0 text-xs", children: [_jsx("option", { value: "", children: t("import.dontImport") }), csv.headers.map((h, i) => (_jsx("option", { value: i, children: h }, i)))] }) }), _jsx("td", { className: "max-w-48 truncate py-1.5 text-xs text-ink-muted", children: col === null ? "" : csv.rows[0]?.[col] })] }, f.name));
144
+ }) })] }), _jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsxs("label", { className: "text-xs text-ink-muted", children: [t("import.existing"), _jsxs(Select, { value: matchBy, onChange: (e) => setMatchBy(e.target.value), className: "mt-1 h-8 py-0 text-xs", children: [_jsx("option", { value: "", children: t("import.alwaysCreate") }), _jsx("option", { value: "id", children: t("import.updateById") }), uniques.map((f) => (_jsx("option", { value: f.name, children: t("import.updateWhen", { field: f.label.toLowerCase() }) }, f.name)))] })] }), usesDates && (_jsxs("label", { className: "text-xs text-ink-muted", children: [t("import.dateOrder"), _jsxs(Select, { value: dateOrder, onChange: (e) => setDateOrder(e.target.value), className: "mt-1 h-8 py-0 text-xs", children: [_jsx("option", { value: "ymd", children: t("import.dateYmd") }), _jsx("option", { value: "dmy", children: t("import.dateDmy") }), _jsx("option", { value: "mdy", children: t("import.dateMdy") })] })] }))] }), missingRequired.length > 0 && _jsx(Alert, { children: t("import.missingColumns", { fields: missingRequired.map((f) => f.label).join(", ") }) }), _jsx("p", { className: "text-xs text-ink-subtle", children: t("import.relationsHint") })] })), step === "preview" && results && (_jsxs("div", { children: [_jsx("div", { className: "grid grid-cols-3 gap-2 text-center", children: [
145
+ ["import.new", count("create")],
146
+ ["import.updates", count("update")],
147
+ ["import.problems", failures.length],
148
+ ].map(([key, n]) => (_jsxs("div", { className: "rounded-[var(--forge-radius-control)] bg-surface-muted px-3 py-2", children: [_jsx("p", { className: cn("text-xl font-semibold tabular-nums", key === "import.problems" && n > 0 && "text-danger"), children: n.toLocaleString(locale) }), _jsx("p", { className: "text-xs text-ink-muted", children: t(key) })] }, key))) }), failures.length > 0 && (_jsxs(_Fragment, { children: [errorList, _jsx(Button, { size: "sm", variant: "ghost", className: "mt-2", onClick: downloadErrors, children: t("import.downloadProblems") })] })), count("skipped") > 0 && _jsx("p", { className: "mt-2 text-xs text-ink-subtle", children: t("import.skipped", { count: count("skipped") }) })] })), step === "done" && results && (_jsxs("div", { children: [_jsx(Alert, { tone: failures.length ? "info" : "success", children: failures.length
149
+ ? t("import.doneWithFailures", { created: count("created"), updated: count("updated"), items: resource.pluralLabel.toLowerCase(), count: failures.length })
150
+ : t("import.doneSummary", { created: count("created"), updated: count("updated"), items: resource.pluralLabel.toLowerCase() }) }), failures.length > 0 && (_jsxs(_Fragment, { children: [errorList, _jsx(Button, { size: "sm", variant: "ghost", className: "mt-2", onClick: downloadErrors, children: t("import.downloadProblems") })] }))] }))] }));
151
+ }
152
+ //# sourceMappingURL=import-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-dialog.js","sourceRoot":"","sources":["../src/import-dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export * from "./ui.js";
2
+ export * from "./context.js";
3
+ export * from "./fields.js";
4
+ export * from "./resource-list.js";
5
+ export * from "./resource-form.js";
6
+ export * from "./resource-detail.js";
7
+ export * from "./shell.js";
8
+ export * from "./auth-pages.js";
9
+ export * from "./account.js";
10
+ export * from "./admin.js";
11
+ export * from "./theme.js";
12
+ export * from "./theme-switcher.js";
13
+ export * from "./notifications.js";
14
+ export * from "./charts.js";
15
+ export * from "./dashboard.js";
16
+ export * from "./views.js";
17
+ export * from "./map.js";
18
+ export * from "./saved-views.js";
19
+ export * from "./import-dialog.js";
20
+ export * from "./command-palette.js";
21
+ export * from "./inline-edit.js";
22
+ export * from "./record-mutation.js";
23
+ export * from "./i18n/locale.js";
24
+ export * from "./i18n/catalog.js";
25
+ export * from "./i18n/validation.js";
26
+ export * from "./locale-switcher.js";
27
+ export * from "./toast.js";
28
+ export * from "./skeleton.js";
29
+ export * from "./illustrations.js";
30
+ export * from "./brand.js";
31
+ export * from "./theme-head.js";
32
+ export * from "./theme-catalog.js";
33
+ export * from "./theme-preview.js";
34
+ export * from "./schema-editor.js";
35
+ export * from "./admin-access.js";
36
+ export * from "./activity.js";
37
+ export * from "./brand-art.js";
38
+ export * from "./landing.js";
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ export * from "./ui.js";
2
+ export * from "./context.js";
3
+ export * from "./fields.js";
4
+ export * from "./resource-list.js";
5
+ export * from "./resource-form.js";
6
+ export * from "./resource-detail.js";
7
+ export * from "./shell.js";
8
+ export * from "./auth-pages.js";
9
+ export * from "./account.js";
10
+ export * from "./admin.js";
11
+ export * from "./theme.js";
12
+ export * from "./theme-switcher.js";
13
+ export * from "./notifications.js";
14
+ export * from "./charts.js";
15
+ export * from "./dashboard.js";
16
+ export * from "./views.js";
17
+ export * from "./map.js";
18
+ export * from "./saved-views.js";
19
+ export * from "./import-dialog.js";
20
+ export * from "./command-palette.js";
21
+ export * from "./inline-edit.js";
22
+ export * from "./record-mutation.js";
23
+ export * from "./i18n/locale.js";
24
+ export * from "./i18n/catalog.js";
25
+ export * from "./i18n/validation.js";
26
+ export * from "./locale-switcher.js";
27
+ export * from "./toast.js";
28
+ export * from "./skeleton.js";
29
+ export * from "./illustrations.js";
30
+ export * from "./brand.js";
31
+ export * from "./theme-head.js";
32
+ export * from "./theme-catalog.js";
33
+ export * from "./theme-preview.js";
34
+ export * from "./schema-editor.js";
35
+ export * from "./admin-access.js";
36
+ export * from "./activity.js";
37
+ export * from "./brand-art.js";
38
+ export * from "./landing.js";
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ColumnMeta, EntityIR, FieldIR, FormFieldMeta, ResourceMeta } from "@tekki-forge/compiler";
2
+ import type { Principal } from "@tekki-forge/runtime-permissions";
3
+ type Row = Record<string, any>;
4
+ /** The form field behind a column when the column can be edited in place (before record-level permission checks). */
5
+ export declare function inlineField(entity: EntityIR, resource: ResourceMeta, column: ColumnMeta): {
6
+ field: FieldIR;
7
+ form: FormFieldMeta;
8
+ } | null;
9
+ export declare function EditableCell({ entity, resource, row, column, field, form, principal, }: {
10
+ entity: EntityIR;
11
+ resource: ResourceMeta;
12
+ row: Row;
13
+ column: ColumnMeta;
14
+ field: FieldIR;
15
+ form: FormFieldMeta;
16
+ principal: Principal | null;
17
+ }): import("react").JSX.Element;
18
+ export {};
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { canWriteField } from "@tekki-forge/runtime-permissions";
4
+ import { validateInput } from "@tekki-forge/runtime-schema";
5
+ import { LoaderCircle } from "lucide-react";
6
+ import { useEffect, useRef, useState } from "react";
7
+ import { ApiError, useForge } from "./context.js";
8
+ import { FieldValue, RelationSelect, toFormValue, toPayloadValue } from "./fields.js";
9
+ import { useRecordChange } from "./record-mutation.js";
10
+ import { Input, Select, cn } from "./ui.js";
11
+ /** Form components that edit comfortably inside a table cell. */
12
+ const INLINE = new Set(["text", "email", "url", "tel", "number", "money", "percentage", "select", "switch", "date", "datetime", "relation-select", "color"]);
13
+ /** The form field behind a column when the column can be edited in place (before record-level permission checks). */
14
+ export function inlineField(entity, resource, column) {
15
+ const field = entity.fields.find((f) => f.name === column.key);
16
+ const form = resource.form.fields.find((f) => f.name === column.key);
17
+ if (!field || !form || !INLINE.has(form.component) || field.name === entity.workflow?.field)
18
+ return null;
19
+ return { field, form };
20
+ }
21
+ export function EditableCell({ entity, resource, row, column, field, form, principal, }) {
22
+ const { t, tv } = useForge();
23
+ const change = useRecordChange(resource);
24
+ const [editing, setEditing] = useState(false);
25
+ const [draft, setDraft] = useState(null);
26
+ const [error, setError] = useState(null);
27
+ const cellRef = useRef(null);
28
+ const current = field.relation ? row[field.relation.foreignKey] : row[field.name];
29
+ const allowed = !row.deletedAt && canWriteField(entity, field.name, principal, row);
30
+ const display = _jsx(FieldValue, { field: field, value: row[column.key], cell: column.cell });
31
+ const start = () => {
32
+ setError(null);
33
+ setDraft(toFormValue(form, current));
34
+ setEditing(true);
35
+ };
36
+ const save = (value = draft) => {
37
+ const payload = toPayloadValue(form, value);
38
+ const before = toPayloadValue(form, toFormValue(form, current));
39
+ if (JSON.stringify(payload) === JSON.stringify(before)) {
40
+ setEditing(false);
41
+ return;
42
+ }
43
+ const body = { [form.apiName]: payload };
44
+ const result = validateInput(entity, "update", body);
45
+ if (!result.success) {
46
+ setError(result.issues[0]?.message ? tv(result.issues[0].message) : t("form.invalidValue"));
47
+ return;
48
+ }
49
+ if (field.required && payload === null) {
50
+ setError(t("validation.required"));
51
+ return;
52
+ }
53
+ setEditing(false);
54
+ // Relation labels come back from the server; scalars update immediately.
55
+ const optimistic = field.relation ? undefined : { [field.name]: field.kind === "date" && typeof payload === "string" ? payload.slice(0, 10) : payload };
56
+ change.mutate({ id: row.id, patch: body, ...(optimistic ? { optimistic } : {}) }, {
57
+ onError: (e) => {
58
+ const issue = e instanceof ApiError ? e.body?.issues?.[0]?.message : undefined;
59
+ setError(issue ? tv(issue) : e.message);
60
+ },
61
+ });
62
+ };
63
+ const cancel = () => {
64
+ setEditing(false);
65
+ setError(null);
66
+ };
67
+ // Clicking elsewhere saves text-like editors (like a spreadsheet).
68
+ useEffect(() => {
69
+ if (!editing)
70
+ return;
71
+ const onDown = (e) => {
72
+ if (cellRef.current && !cellRef.current.contains(e.target))
73
+ save();
74
+ };
75
+ document.addEventListener("mousedown", onDown);
76
+ return () => document.removeEventListener("mousedown", onDown);
77
+ });
78
+ if (!allowed)
79
+ return display;
80
+ const keys = (e) => {
81
+ if (e.key === "Enter") {
82
+ e.preventDefault();
83
+ save();
84
+ }
85
+ if (e.key === "Escape") {
86
+ e.preventDefault();
87
+ cancel();
88
+ }
89
+ };
90
+ if (form.component === "switch") {
91
+ return (_jsx("button", { type: "button", role: "switch", "aria-checked": !!current, "aria-label": `${form.label}: ${current ? t("common.yes") : t("common.no")}`, disabled: change.isPending, onClick: () => save(!current), className: cn("forge-cell-editable -mx-1 px-1", error && "forge-cell-error"), title: error ?? undefined, children: display }));
92
+ }
93
+ if (!editing) {
94
+ return (_jsxs("div", { role: "button", tabIndex: 0, "aria-label": t("list.editField", { field: form.label }), onClick: start, onKeyDown: (e) => (e.key === "Enter" || e.key === "F2") && (e.preventDefault(), start()), className: cn("forge-cell-editable -mx-1.5 -my-0.5 flex min-h-7 items-center gap-1 px-1.5 py-0.5", error && "forge-cell-error"), title: error ?? undefined, children: [change.isPending && _jsx(LoaderCircle, { className: "size-3 shrink-0 animate-spin text-ink-subtle", "aria-hidden": true }), display, error && _jsx("span", { className: "sr-only", children: error })] }));
95
+ }
96
+ const str = draft === null || draft === undefined ? "" : String(draft);
97
+ let editor;
98
+ switch (form.component) {
99
+ case "select":
100
+ editor = (_jsxs(Select, { autoFocus: true, "aria-label": form.label, value: str, onChange: (e) => save(e.target.value), onKeyDown: keys, onBlur: () => cancel(), className: "h-8 py-0 text-sm", children: [(!form.required || !str) && _jsx("option", { value: "", children: "\u2014" }), form.options?.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value)))] }));
101
+ break;
102
+ case "relation-select":
103
+ editor = (_jsx("div", { className: "min-w-48", onKeyDown: (e) => e.key === "Escape" && cancel(), children: _jsx(RelationSelect, { lookupPath: form.relation.lookupPath, value: str || null, onChange: (v) => save(v ?? ""), compact: true }) }));
104
+ break;
105
+ default: {
106
+ const type = { number: "number", money: "number", percentage: "number", date: "date", datetime: "datetime-local", email: "email", url: "url", tel: "tel" }[form.component] ?? "text";
107
+ editor = (_jsx(Input, { autoFocus: true, "aria-label": form.label, "aria-invalid": error ? true : undefined, type: type, step: type === "number" ? "any" : undefined, value: form.component === "date" ? str.slice(0, 10) : str, onChange: (e) => {
108
+ setError(null);
109
+ setDraft(e.target.value);
110
+ }, onKeyDown: keys, className: "h-8 min-w-32 py-0 text-sm" }));
111
+ }
112
+ }
113
+ return (_jsxs("div", { ref: cellRef, className: "-my-1", children: [editor, error && (_jsx("p", { role: "alert", className: "mt-0.5 text-xs text-danger", children: error }))] }));
114
+ }
115
+ //# sourceMappingURL=inline-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-edit.js","sourceRoot":"","sources":["../src/inline-edit.tsx"],"names":[],"mappings":"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"}