@haneinfo/frontend-instances 0.7.0 → 0.8.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 (67) hide show
  1. package/README.md +31 -4
  2. package/dist/attachments-client.d.ts +1 -1
  3. package/dist/attachments-client.d.ts.map +1 -1
  4. package/dist/client.d.ts +2 -0
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +2 -0
  7. package/dist/client.js.map +1 -1
  8. package/dist/contracts.d.ts +74 -2
  9. package/dist/contracts.d.ts.map +1 -1
  10. package/dist/contracts.js +2 -0
  11. package/dist/contracts.js.map +1 -1
  12. package/dist/dashboard.d.ts +3 -1
  13. package/dist/dashboard.d.ts.map +1 -1
  14. package/dist/dashboard.js +4 -4
  15. package/dist/dashboard.js.map +1 -1
  16. package/dist/detail-client.d.ts +5 -1
  17. package/dist/detail-client.d.ts.map +1 -1
  18. package/dist/detail-client.js +86 -6
  19. package/dist/detail-client.js.map +1 -1
  20. package/dist/draft-client.d.ts +21 -3
  21. package/dist/draft-client.d.ts.map +1 -1
  22. package/dist/draft-client.js +57 -22
  23. package/dist/draft-client.js.map +1 -1
  24. package/dist/draft-session.d.ts +1 -0
  25. package/dist/draft-session.d.ts.map +1 -1
  26. package/dist/draft-session.js +2 -1
  27. package/dist/draft-session.js.map +1 -1
  28. package/dist/field-errors.d.ts +4 -0
  29. package/dist/field-errors.d.ts.map +1 -0
  30. package/dist/field-errors.js +25 -0
  31. package/dist/field-errors.js.map +1 -0
  32. package/dist/instance-management-client.d.ts +4 -1
  33. package/dist/instance-management-client.d.ts.map +1 -1
  34. package/dist/instance-management-client.js +10 -7
  35. package/dist/instance-management-client.js.map +1 -1
  36. package/dist/labels.d.ts.map +1 -1
  37. package/dist/labels.js +2 -0
  38. package/dist/labels.js.map +1 -1
  39. package/dist/list-client.d.ts.map +1 -1
  40. package/dist/list-client.js +3 -2
  41. package/dist/list-client.js.map +1 -1
  42. package/dist/list-query.d.ts +1 -1
  43. package/dist/list-query.js +1 -1
  44. package/dist/messages.d.ts.map +1 -1
  45. package/dist/messages.js +19 -1
  46. package/dist/messages.js.map +1 -1
  47. package/dist/process-client.d.ts +27 -0
  48. package/dist/process-client.d.ts.map +1 -0
  49. package/dist/process-client.js +129 -0
  50. package/dist/process-client.js.map +1 -0
  51. package/dist/process-messages.d.ts +73 -0
  52. package/dist/process-messages.d.ts.map +1 -0
  53. package/dist/process-messages.js +154 -0
  54. package/dist/process-messages.js.map +1 -0
  55. package/dist/server.d.ts +5 -0
  56. package/dist/server.d.ts.map +1 -1
  57. package/dist/server.js +41 -4
  58. package/dist/server.js.map +1 -1
  59. package/dist/tasks-client.d.ts +38 -0
  60. package/dist/tasks-client.d.ts.map +1 -0
  61. package/dist/tasks-client.js +127 -0
  62. package/dist/tasks-client.js.map +1 -0
  63. package/dist/ui.d.ts +2 -1
  64. package/dist/ui.d.ts.map +1 -1
  65. package/dist/ui.js +3 -3
  66. package/dist/ui.js.map +1 -1
  67. package/package.json +1 -1
@@ -8,7 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  import { Button, cn, Input } from '@haneinfo/frontend-shell';
9
9
  import { Bell, BellOff, ChevronLeft, MessageSquare, Search } from 'lucide-react';
10
10
  import NextLink from 'next/link';
11
- import { useId, useMemo, useState } from 'react';
11
+ import { useCallback, useId, useMemo, useRef, useState } from 'react';
12
12
  import { call, ErrorMessage, useTask } from './action-client.js';
13
13
  import { AttachmentsPanel } from './attachments-client.js';
14
14
  import { DocumentsPanel } from './documents-client.js';
@@ -16,6 +16,8 @@ import { DraftEditor, draftFields, wideField } from './draft-client.js';
16
16
  import { formatDateTime, formatFieldValue, formatNumber } from './format.js';
17
17
  import { LifecycleMenu, TagsPanel } from './instance-management-client.js';
18
18
  import { InstanceAccessPanel } from './management-client.js';
19
+ import { ProcessActions, RoutingNotice } from './process-client.js';
20
+ import { TasksClient } from './tasks-client.js';
19
21
  import { ActivityFeed } from './timeline.js';
20
22
  import { Card, CardHeader, DateTimeText, EmptyState, ErrorState, FieldValue, fillText, StateBadge, Tabs, Tag, TextArea, touch, } from './ui.js';
21
23
  const inaccessible = (error) => error &&
@@ -76,8 +78,21 @@ function CommentForm({ id, labels: t, action, onPosted, }) {
76
78
  }) })) : (_jsx("p", { role: "status", className: "text-muted-foreground text-sm", children: t.noPeople })))] }), _jsx(ErrorMessage, { error: task.error, labels: t }), _jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("p", { role: "status", "aria-live": "polite", className: "text-muted-foreground text-sm", children: task.pending ? t.loading : posted }), _jsxs(Button, { type: "submit", className: touch, disabled: task.pending || !body.trim() || body.length > 4000, children: [_jsx(MessageSquare, { "aria-hidden": "true", "data-icon": "inline-start" }), t.sendComment] })] })] }));
77
79
  }
78
80
  export function DetailClient(props) {
79
- const { id, view, labels: t, action, locale = 'zh-TW', timeZone = 'Asia/Taipei', basePath = '', LinkComponent = NextLink, } = props;
81
+ const { id, view: initialView, labels: t, action, locale = 'zh-TW', timeZone = 'Asia/Taipei', basePath = '', LinkComponent = NextLink, } = props;
80
82
  const task = useTask();
83
+ const [view, setView] = useState(initialView);
84
+ const [available, setAvailable] = useState(props.initialAvailable);
85
+ const [tasks, setTasks] = useState(props.initialTasks);
86
+ const [draft, setDraft] = useState();
87
+ const draftRef = useRef(undefined);
88
+ const onDraftSnapshot = useCallback((next) => {
89
+ draftRef.current = next;
90
+ setDraft(next);
91
+ }, []);
92
+ const [processBusy, setProcessBusy] = useState(false);
93
+ const [fieldErrors, setFieldErrors] = useState([]);
94
+ const [generation, setGeneration] = useState(0);
95
+ const [isDraft, setIsDraft] = useState(!!props.editable);
81
96
  const [timeline, setTimeline] = useState(props.initial);
82
97
  const [instance, setInstance] = useState(props.managementInstance);
83
98
  const [tab, setTab] = useState('activity');
@@ -104,6 +119,58 @@ export function DetailClient(props) {
104
119
  : next);
105
120
  };
106
121
  const refreshActivity = () => loadTimeline(false);
122
+ const refreshProcess = async () => {
123
+ const [detail, actions, pending] = await Promise.all([
124
+ call(action, { kind: 'detail', id }),
125
+ call(action, { kind: 'available', id }),
126
+ call(action, { kind: 'instanceTasks', id }),
127
+ ]);
128
+ const updated = detail.instance;
129
+ setIsDraft(updated.bundle.root.definition.spec.states?.find((state) => state.key === updated.state)
130
+ ?.type === 'INITIAL');
131
+ setInstance(updated);
132
+ setView((previous) => ({
133
+ ...previous,
134
+ data: updated.data,
135
+ state: { key: updated.state, label: updated.stateLabel ?? t.state, tone: updated.stateTone },
136
+ updatedAt: updated.stateEnteredAt,
137
+ }));
138
+ setAvailable(actions);
139
+ setTasks(pending);
140
+ setDraft(undefined);
141
+ draftRef.current = undefined;
142
+ setFieldErrors([]);
143
+ setGeneration((value) => value + 1);
144
+ await refreshActivity();
145
+ setAnnouncement(t.processDone);
146
+ };
147
+ const processProps = {
148
+ id,
149
+ available,
150
+ revision: draft?.revision ?? instance?.revision ?? 1,
151
+ stateLabel: view.state.label,
152
+ draftBlocked: (draft?.pending || draft?.saving
153
+ ? 'saving'
154
+ : draft?.error || draft?.paused || draft?.conflict
155
+ ? 'error'
156
+ : undefined),
157
+ fields: view.fields,
158
+ data: draft?.data ?? view.data,
159
+ action,
160
+ labels: t,
161
+ locale,
162
+ timeZone,
163
+ onChanged: refreshProcess,
164
+ onErrors: setFieldErrors,
165
+ onBusy: setProcessBusy,
166
+ canProceed: () => {
167
+ const next = draftRef.current;
168
+ return !next || !(next.pending || next.saving || next.error || next.conflict || next.paused);
169
+ },
170
+ lifecycleInstance: instance,
171
+ basePath,
172
+ finalStates: view.finalStates,
173
+ };
107
174
  const number = view.number ??
108
175
  [...timeline.items].reverse().find((event) => event.kind === 'NUMBER' && event.text)?.text ??
109
176
  null;
@@ -121,7 +188,7 @@ export function DetailClient(props) {
121
188
  return value && text ? (_jsx(DateTimeText, { iso: new Date(value).toISOString(), text: text, full: formatDateTime(value, { locale, timeZone, full: true }) ?? text, focusable: true })) : ('—');
122
189
  };
123
190
  const comments = timeline.items.filter((event) => event.kind === 'COMMENT').length;
124
- const editable = !!props.editable && !!instance?.canEdit && instance.revision !== undefined;
191
+ const editable = isDraft && !!instance?.canEdit && instance.revision !== undefined && !instance.finished;
125
192
  const tabs = [
126
193
  {
127
194
  id: 'activity',
@@ -156,7 +223,20 @@ export function DetailClient(props) {
156
223
  await refreshActivity();
157
224
  } })), props.initialAccess && (_jsx(InstanceAccessPanel, { id: id, initial: props.initialAccess, labels: t, action: action, locale: locale, timeZone: timeZone, onChanged: refreshActivity }))] })),
158
225
  });
159
- return (_jsxs("div", { className: "grid min-w-0 gap-5 [grid-template-areas:'summary'_'content'_'actions'_'tabs'] lg:grid-cols-[minmax(0,1fr)_auto] lg:[grid-template-areas:'summary_actions'_'content_content'_'tabs_tabs']", "aria-busy": task.pending, children: [_jsxs("header", { className: "flex min-w-0 flex-col gap-3 [grid-area:summary]", children: [_jsxs(LinkComponent, { href: basePath, className: "inline-flex items-center gap-1 self-start rounded-sm text-muted-foreground text-sm outline-none hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 max-md:min-h-11", children: [_jsx(ChevronLeft, { "aria-hidden": "true", className: "size-4" }), t.back] }), _jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-2", children: [_jsx("h1", { className: "min-w-0 font-bold text-2xl tracking-tight [overflow-wrap:anywhere]", children: title }), _jsx(StateBadge, { label: view.state.label, tone: view.state.tone, className: "text-sm" }), archived && _jsx(Tag, { children: t.archived })] }), !number && _jsx("p", { className: "text-muted-foreground text-sm", children: t.numberPending }), _jsxs("dl", { className: "grid min-w-0 grid-cols-2 gap-x-6 gap-y-3 text-sm sm:flex sm:flex-wrap", children: [view.person && (_jsxs("div", { className: "col-span-2 flex min-w-0 flex-col gap-0.5 sm:max-w-md", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: view.person.label }), _jsx("dd", { className: "font-medium [overflow-wrap:anywhere]", children: view.person.value })] })), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.submitter }), _jsx("dd", { className: "[overflow-wrap:anywhere]", children: view.submitterName ?? (view.submitterId ? t.unknownPerson : t.systemActor) })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.createdAt }), _jsx("dd", { children: created ? when(view.createdAt) : '—' })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.updatedAt }), _jsx("dd", { children: when(latest) })] })] }), archived && _jsx("p", { className: "text-muted-foreground text-sm", children: t.archivedNotice })] }), _jsxs("div", { role: "group", "aria-label": t.actionsLabel, "data-slot": "instance-actions", className: "flex min-w-0 flex-wrap items-start gap-2 [grid-area:actions] lg:justify-end", children: [_jsxs(Button, { type: "button", variant: "outline", className: touch, "aria-pressed": timeline.following, disabled: task.pending, onClick: () => void task.run(async () => {
226
+ return (_jsxs("div", { className: "grid min-w-0 gap-5 [grid-template-areas:'summary'_'content'_'actions'_'tabs'] lg:grid-cols-[minmax(0,1fr)_auto] lg:[grid-template-areas:'summary_actions'_'content_content'_'tabs_tabs']", "aria-busy": task.pending, children: [_jsxs("header", { className: "flex min-w-0 flex-col gap-3 [grid-area:summary]", children: [_jsxs(LinkComponent, { href: basePath, className: "inline-flex items-center gap-1 self-start rounded-sm text-muted-foreground text-sm outline-none hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 max-md:min-h-11", children: [_jsx(ChevronLeft, { "aria-hidden": "true", className: "size-4" }), t.back] }), _jsxs("div", { className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-2", children: [_jsx("h1", { tabIndex: -1, className: "min-w-0 font-bold text-2xl tracking-tight [overflow-wrap:anywhere]", children: title }), _jsx(StateBadge, { label: view.state.label, tone: view.state.tone, routing: available?.routingFailed, className: "text-sm" }), archived && _jsx(Tag, { children: t.archived })] }), !number && _jsx("p", { className: "text-muted-foreground text-sm", children: t.numberPending }), _jsxs("dl", { className: "grid min-w-0 grid-cols-2 gap-x-6 gap-y-3 text-sm sm:flex sm:flex-wrap", children: [view.person && (_jsxs("div", { className: "col-span-2 flex min-w-0 flex-col gap-0.5 sm:max-w-md", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: view.person.label }), _jsx("dd", { className: "font-medium [overflow-wrap:anywhere]", children: view.person.value })] })), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.submitter }), _jsx("dd", { className: "[overflow-wrap:anywhere]", children: view.submitterName ?? (view.submitterId ? t.unknownPerson : t.systemActor) })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.createdAt }), _jsx("dd", { children: created ? when(view.createdAt) : '—' })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("dt", { className: "text-muted-foreground text-xs", children: t.updatedAt }), _jsx("dd", { children: when(latest) })] })] }), archived && _jsx("p", { className: "text-muted-foreground text-sm", children: t.archivedNotice }), props.showProcess && available?.routingFailed && (_jsx(RoutingNotice, { labels: t, children: _jsx(ProcessActions, { ...processProps, retryOnly: true }) })), props.showProcess &&
227
+ available &&
228
+ !available.routingFailed &&
229
+ !available.transitions.length && (_jsx("p", { className: "text-muted-foreground text-sm [overflow-wrap:anywhere]", children: tasks?.tasks.some((task) => task.status === 'OPEN')
230
+ ? fillText(t.waitingFor, {
231
+ people: [
232
+ ...new Set(tasks.tasks
233
+ .filter((task) => task.status === 'OPEN')
234
+ .map((task) => task.assigneeName ?? t.unknownPerson)),
235
+ ]
236
+ .slice(0, 3)
237
+ .join(locale === 'en' ? ', ' : '、'),
238
+ })
239
+ : t.processWaiting }))] }), _jsxs("div", { role: "group", "aria-label": t.actionsLabel, "data-slot": "instance-actions", className: "flex min-w-0 flex-wrap items-start gap-2 [grid-area:actions] lg:justify-end", children: [props.showProcess && _jsx(ProcessActions, { ...processProps }), _jsxs(Button, { type: "button", variant: "outline", className: touch, "aria-pressed": timeline.following, disabled: task.pending, onClick: () => void task.run(async () => {
160
240
  const next = await call(action, {
161
241
  kind: 'follow',
162
242
  id,
@@ -164,10 +244,10 @@ export function DetailClient(props) {
164
244
  });
165
245
  setTimeline({ ...timeline, following: next.following });
166
246
  setAnnouncement(next.following ? t.following : t.notFollowing);
167
- }), children: [timeline.following ? (_jsx(BellOff, { "aria-hidden": "true", "data-icon": "inline-start" })) : (_jsx(Bell, { "aria-hidden": "true", "data-icon": "inline-start" })), timeline.following ? t.unfollow : t.follow] }), instance && (_jsx(LifecycleMenu, { id: id, instance: instance, action: action, labels: t, basePath: basePath, onChanged: async (next) => {
247
+ }), children: [timeline.following ? (_jsx(BellOff, { "aria-hidden": "true", "data-icon": "inline-start" })) : (_jsx(Bell, { "aria-hidden": "true", "data-icon": "inline-start" })), timeline.following ? t.unfollow : t.follow] }), instance && !props.showProcess && (_jsx(LifecycleMenu, { id: id, instance: instance, action: action, labels: t, basePath: basePath, onChanged: async (next) => {
168
248
  setInstance({ ...instance, ...next });
169
249
  setAnnouncement(t.actionDone);
170
250
  await refreshActivity();
171
- } })), _jsx("p", { role: "status", "aria-live": "polite", className: "sr-only", children: announcement }), _jsx(ErrorMessage, { error: task.error, labels: t })] }), _jsx("div", { className: "min-w-0 [grid-area:content]", children: editable && instance?.revision !== undefined ? (_jsx(DraftEditor, { id: id, data: view.data, fields: view.fields, revision: instance.revision, action: action, labels: t, locale: locale, timeZone: timeZone, keepaliveUrl: props.draftKeepaliveUrl })) : (_jsx(ContentCard, { fields: view.fields, data: view.data, labels: t, locale: locale, timeZone: timeZone })) }), _jsx("section", { className: "min-w-0 [grid-area:tabs]", "aria-label": t.tabsLabel, children: _jsx(Tabs, { label: t.tabsLabel, items: tabs, value: tab, onValueChange: setTab }) })] }));
251
+ } })), _jsx("p", { role: "status", "aria-live": "polite", className: "sr-only", children: announcement }), _jsx(ErrorMessage, { error: task.error, labels: t })] }), _jsx("div", { className: "min-w-0 [grid-area:content]", children: editable && instance?.revision !== undefined ? (_jsx(DraftEditor, { id: id, data: view.data, fields: view.fields, revision: instance.revision, action: action, labels: t, locale: locale, timeZone: timeZone, keepaliveUrl: props.draftKeepaliveUrl, onSnapshot: onDraftSnapshot, fieldErrors: fieldErrors, onClearErrors: () => setFieldErrors([]), busy: processBusy }, generation)) : (_jsx(ContentCard, { fields: view.fields, data: view.data, labels: t, locale: locale, timeZone: timeZone })) }), _jsxs("section", { className: "min-w-0 [grid-area:tabs]", "aria-label": t.tabsLabel, children: [props.showProcess && (_jsx("div", { className: "mb-5", children: _jsx(TasksClient, { initial: tasks, action: action, onResponded: refreshProcess, labels: t, basePath: basePath, locale: locale, timeZone: timeZone, instanceId: id }, generation) })), _jsx(Tabs, { label: t.tabsLabel, items: tabs, value: tab, onValueChange: setTab })] })] }));
172
252
  }
173
253
  //# sourceMappingURL=detail-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detail-client.js","sourceRoot":"","sources":["../src/detail-client.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detail-client.js","sourceRoot":"","sources":["../src/detail-client.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { FormField, InstanceAction, Labels } from './contracts.js';
1
+ import type { FieldConflict, FieldError, FormField, InstanceAction, Labels } from './contracts.js';
2
+ import { type DraftSnapshot } from './draft-session.js';
2
3
  /** Unsupported conditional syntax fails closed; no conditionally hidden value is displayed. */
3
4
  export declare function formCondition(expression: unknown, data: Record<string, unknown>): boolean | undefined;
4
5
  export declare function draftFields(fields: FormField[], data: Record<string, unknown>, parentDisabled?: boolean): (FormField & {
@@ -6,7 +7,7 @@ export declare function draftFields(fields: FormField[], data: Record<string, un
6
7
  })[];
7
8
  /** Fields that take the full width of the two-column grid. */
8
9
  export declare function wideField(field: FormField): boolean;
9
- export declare function DraftField({ field, value, labels: t, onChange, locale, timeZone, }: {
10
+ export declare function DraftField({ field, value, labels: t, onChange, locale, timeZone, fieldErrors, path, }: {
10
11
  field: FormField & {
11
12
  disabled?: boolean;
12
13
  };
@@ -15,8 +16,21 @@ export declare function DraftField({ field, value, labels: t, onChange, locale,
15
16
  onChange: (value: unknown, remove?: boolean) => void;
16
17
  locale?: string;
17
18
  timeZone?: string;
19
+ fieldErrors?: FieldError[];
20
+ path?: string[];
18
21
  }): import("react").JSX.Element;
19
- export declare function DraftEditor({ id, revision, data, fields, action, labels: t, keepaliveUrl, locale, timeZone, }: {
22
+ export declare function ConflictDialog({ conflicts, fields, labels: t, onResolve, onCancel, locale, timeZone, error, pending, }: {
23
+ locale: string;
24
+ timeZone: string;
25
+ error?: import('./contracts.js').ActionError;
26
+ pending?: boolean;
27
+ conflicts: FieldConflict[];
28
+ fields: FormField[];
29
+ labels: Labels;
30
+ onResolve: (choices: Record<string, 'mine' | 'current'>) => void;
31
+ onCancel: () => void;
32
+ }): import("react").JSX.Element;
33
+ export declare function DraftEditor({ id, revision, data, fields, action, labels: t, keepaliveUrl, locale, timeZone, onSnapshot, fieldErrors, onClearErrors, busy, }: {
20
34
  id: string;
21
35
  revision: number;
22
36
  data: Record<string, unknown>;
@@ -26,5 +40,9 @@ export declare function DraftEditor({ id, revision, data, fields, action, labels
26
40
  keepaliveUrl?: string;
27
41
  locale?: string;
28
42
  timeZone?: string;
43
+ onSnapshot?: (snapshot: DraftSnapshot) => void;
44
+ fieldErrors?: FieldError[];
45
+ onClearErrors?: () => void;
46
+ busy?: boolean;
29
47
  }): import("react").JSX.Element;
30
48
  //# sourceMappingURL=draft-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"draft-client.d.ts","sourceRoot":"","sources":["../src/draft-client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAevF,+FAA+F;AAC/F,wBAAgB,aAAa,CAC3B,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,GAAG,SAAS,CA6CrB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAc,UAAQ,GACrB,CAAC,SAAS,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,CAcvC;AAaD,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,WAMzC;AAwCD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,KAAK,EACL,MAAM,EAAE,CAAC,EACT,QAAQ,EACR,MAAgB,EAChB,QAAgB,GACjB,EAAE;IACD,KAAK,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BA8JA;AAkFD,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EAAE,CAAC,EACT,YAAY,EACZ,MAAgB,EAChB,QAAgB,GACjB,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,+BAqJA"}
1
+ {"version":3,"file":"draft-client.d.ts","sourceRoot":"","sources":["../src/draft-client.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Button, Input } from '@haneinfo/frontend-shell';
4
- import { useEffect, useId, useState } from 'react';
4
+ import { useEffect, useId, useRef, useState } from 'react';
5
5
  import { DraftSession } from './draft-session.js';
6
+ import { fieldMessage, fieldPath } from './field-errors.js';
6
7
  import { formatFieldText, formatFieldValue, formatTime, fromZonedInput, timeZoneName, toZonedInput, } from './format.js';
7
8
  import { ManagementDialog } from './instance-management-client.js';
8
9
  import { actionError } from './messages.js';
@@ -98,8 +99,8 @@ export function wideField(field) {
98
99
  field.type === 'subform' ||
99
100
  (field.type === 'radio' && (field.options?.length ?? 0) > 4));
100
101
  }
101
- function FieldLabel({ field, htmlFor, labels: t, readOnly, as = 'label', }) {
102
- const content = (_jsxs(_Fragment, { children: [_jsx("span", { children: field.label }), field.validation?.required && (_jsx("span", { className: "rounded-sm bg-muted px-1.5 font-normal text-foreground text-xs", children: t.requiredLater })), readOnly && (_jsx("span", { className: "rounded-sm border px-1.5 font-normal text-muted-foreground text-xs", children: t.readOnly }))] }));
102
+ function FieldLabel({ field, htmlFor, labels: t, readOnly, as = 'label', invalid, }) {
103
+ const content = (_jsxs(_Fragment, { children: [_jsx("span", { children: field.label }), field.validation?.required && (_jsx("span", { className: "rounded-sm bg-muted px-1.5 font-normal text-foreground text-xs", children: invalid ? t.REQUIRED : t.requiredLater })), readOnly && (_jsx("span", { className: "rounded-sm border px-1.5 font-normal text-muted-foreground text-xs", children: t.readOnly }))] }));
103
104
  const className = 'flex flex-wrap items-center gap-1.5 font-medium text-sm';
104
105
  if (as === 'legend')
105
106
  return _jsx("legend", { className: className, children: content });
@@ -107,15 +108,35 @@ function FieldLabel({ field, htmlFor, labels: t, readOnly, as = 'label', }) {
107
108
  return _jsx("span", { className: className, children: content });
108
109
  return (_jsx("label", { htmlFor: htmlFor, className: className, children: content }));
109
110
  }
110
- export function DraftField({ field, value, labels: t, onChange, locale = 'zh-TW', timeZone = 'UTC', }) {
111
+ export function DraftField({ field, value, labels: t, onChange, locale = 'zh-TW', timeZone = 'UTC', fieldErrors = [], path = [field.id ?? field.key], }) {
111
112
  const inputId = useId(), type = field.type ?? 'text';
112
- const describedBy = field.description ? `${inputId}-description` : undefined;
113
- const description = field.description ? (_jsx("p", { id: describedBy, className: "text-muted-foreground text-xs", children: field.description })) : null;
114
- const editable = !field.readOnly && !field.formula && !field.disabled && EDITABLE.includes(type);
113
+ const error = fieldErrors.find((item) => JSON.stringify(fieldPath(item.path)) === JSON.stringify(path));
114
+ const describedBy = [field.description && `${inputId}-description`, error && `${inputId}-error`]
115
+ .filter(Boolean)
116
+ .join(' ') || undefined;
117
+ const invalid = { 'aria-invalid': error ? true : undefined };
118
+ const description = (_jsxs(_Fragment, { children: [field.description && (_jsx("p", { id: `${inputId}-description`, className: "text-muted-foreground text-xs", children: field.description })), error && (_jsx("p", { id: `${inputId}-error`, className: "text-destructive text-sm", "data-field-error": "true", children: fieldMessage(error.code, t) }))] }));
119
+ const editable = !field.readOnly &&
120
+ !field.formula &&
121
+ !field.disabled &&
122
+ (EDITABLE.includes(type) || type === 'subform');
123
+ if (editable && type === 'subform') {
124
+ const rows = Array.isArray(value) ? value : [];
125
+ return (_jsxs("fieldset", { tabIndex: error ? -1 : undefined, className: "flex min-w-0 flex-col gap-3", "aria-describedby": describedBy, ...invalid, children: [_jsx(FieldLabel, { field: field, labels: t, as: "legend", invalid: !!error }), rows.map((row, index) => (
126
+ // biome-ignore lint/suspicious/noArrayIndexKey: subform rows have no identity; controls are fully controlled.
127
+ _jsxs("div", { className: "flex min-w-0 flex-col gap-3 rounded-lg border p-3 sm:p-4", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsx("h3", { className: "font-medium text-sm", children: fillText(t.itemRow, { row: index + 1 }) }), _jsx(Button, { type: "button", variant: "ghost", className: "min-h-11", onClick: () => onChange(rows.filter((_, position) => position !== index)), children: fillText(t.removeRow, { row: index + 1 }) })] }), _jsx("div", { className: "grid min-w-0 gap-4 sm:grid-cols-2", children: (field.columns ?? []).map((column) => (_jsx(DraftField, { field: column, value: row[column.id ?? column.key], labels: t, locale: locale, timeZone: timeZone, fieldErrors: fieldErrors, path: [...path, String(index), column.id ?? column.key], onChange: (next, remove) => {
128
+ const updated = { ...row };
129
+ if (remove)
130
+ delete updated[column.id ?? column.key];
131
+ else
132
+ updated[column.id ?? column.key] = next;
133
+ onChange(rows.map((previous, position) => (position === index ? updated : previous)));
134
+ } }, column.id ?? column.key))) })] }, index))), _jsx(Button, { type: "button", variant: "outline", className: "min-h-11 self-start", disabled: rows.length >= (field.subform?.maximumRows ?? 500), onClick: () => onChange([...rows, {}]), children: t.addRow }), description] }));
135
+ }
115
136
  if (!editable)
116
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5 break-words", children: [_jsx(FieldLabel, { field: field, labels: t, readOnly: true, as: "span" }), _jsx("div", { className: "text-sm", children: _jsx(FieldValue, { display: formatFieldValue(field, value, { locale, timeZone }), labels: t }) }), description] }));
137
+ return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5 break-words", children: [_jsx(FieldLabel, { field: field, labels: t, readOnly: true, as: "span", invalid: !!error }), _jsx("div", { className: "text-sm", children: _jsx(FieldValue, { display: formatFieldValue(field, value, { locale, timeZone }), labels: t }) }), description] }));
117
138
  if (type === 'radio' || (type === 'checkbox' && field.options?.length))
118
- return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-2", "aria-describedby": describedBy, children: [_jsx(FieldLabel, { field: field, labels: t, as: "legend" }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [field.options?.map((option) => (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded-lg border px-3 py-2 text-sm has-[:checked]:border-foreground has-[:focus-visible]:ring-3 has-[:focus-visible]:ring-ring/50 max-md:min-h-11 [overflow-wrap:anywhere]", children: [_jsx("input", { type: type, name: inputId, className: "size-4 accent-primary", checked: type === 'radio'
139
+ return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-2", "aria-describedby": describedBy, ...invalid, children: [_jsx(FieldLabel, { field: field, labels: t, as: "legend", invalid: !!error }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [field.options?.map((option) => (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded-lg border px-3 py-2 text-sm has-[:checked]:border-foreground has-[:focus-visible]:ring-3 has-[:focus-visible]:ring-ring/50 max-md:min-h-11 [overflow-wrap:anywhere]", children: [_jsx("input", { type: type, name: inputId, className: "size-4 accent-primary", checked: type === 'radio'
119
140
  ? value === option.value
120
141
  : Array.isArray(value) && value.includes(option.value), onChange: (event) => onChange(type === 'radio'
121
142
  ? option.value
@@ -123,18 +144,18 @@ export function DraftField({ field, value, labels: t, onChange, locale = 'zh-TW'
123
144
  ? [...(Array.isArray(value) ? value : []), option.value]
124
145
  : (Array.isArray(value) ? value : []).filter((v) => v !== option.value)) }), option.label] }, `${typeof option.value}:${option.value}`))), type === 'radio' && value !== null && value !== undefined && (_jsx(Button, { type: "button", variant: "ghost", size: "sm", className: touch, onClick: () => onChange(null, true), children: t.clearValue }))] }), description] }));
125
146
  if (type === 'checkbox' || type === 'switch')
126
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 text-sm max-md:min-h-11", htmlFor: inputId, children: [_jsx("input", { id: inputId, type: "checkbox", role: type === 'switch' ? 'switch' : undefined, "aria-describedby": describedBy, checked: value === true, onChange: (event) => onChange(event.target.checked), className: type === 'switch'
147
+ return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsxs("label", { className: "flex cursor-pointer items-center gap-3 text-sm max-md:min-h-11", htmlFor: inputId, children: [_jsx("input", { id: inputId, type: "checkbox", role: type === 'switch' ? 'switch' : undefined, "aria-describedby": describedBy, ...invalid, checked: value === true, onChange: (event) => onChange(event.target.checked), className: type === 'switch'
127
148
  ? "relative h-5 w-9 shrink-0 cursor-pointer appearance-none rounded-full bg-input outline-none transition-colors before:absolute before:top-0.5 before:left-0.5 before:size-4 before:rounded-full before:bg-background before:shadow-sm before:transition-transform before:content-[''] checked:bg-primary checked:before:translate-x-4 focus-visible:ring-3 focus-visible:ring-ring/50 motion-reduce:before:transition-none"
128
- : 'size-4 accent-primary' }), _jsx(FieldLabel, { field: field, labels: t, as: "span" })] }), description] }));
149
+ : 'size-4 accent-primary' }), _jsx(FieldLabel, { field: field, labels: t, as: "span", invalid: !!error })] }), description] }));
129
150
  if (type === 'select')
130
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx(FieldLabel, { field: field, htmlFor: inputId, labels: t }), _jsxs(NativeSelect, { id: inputId, "aria-describedby": describedBy, value: field.options?.findIndex((option) => option.value === value) ?? -1, onChange: (event) => {
151
+ return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx(FieldLabel, { field: field, htmlFor: inputId, labels: t, invalid: !!error }), _jsxs(NativeSelect, { id: inputId, "aria-describedby": describedBy, ...invalid, value: field.options?.findIndex((option) => option.value === value) ?? -1, onChange: (event) => {
131
152
  const selected = field.options?.[Number(event.target.value)];
132
153
  onChange(selected?.value ?? null, !selected);
133
154
  }, children: [_jsx("option", { value: -1, children: "\u2014" }), field.options?.map((option, index) => (_jsx("option", { value: index, children: option.label }, `${typeof option.value}:${option.value}`)))] }), description] }));
134
155
  const shown = type === 'datetime'
135
156
  ? toZonedInput(value, timeZone)
136
157
  : textValue(value === null || value === undefined ? '' : value);
137
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx(FieldLabel, { field: field, htmlFor: inputId, labels: t }), type === 'textarea' ? (_jsx(TextArea, { id: inputId, "aria-describedby": describedBy, value: shown, onChange: (event) => onChange(event.target.value, event.target.value === '') })) : (_jsx(Input, { id: inputId, type: type === 'datetime' ? 'datetime-local' : type, step: "any", "aria-describedby": describedBy, value: shown, placeholder: field.placeholder, min: field.validation?.min, max: field.validation?.max, className: "h-9 max-md:h-11", onChange: (event) => {
158
+ return (_jsxs("div", { className: "flex min-w-0 flex-col gap-1.5", children: [_jsx(FieldLabel, { field: field, htmlFor: inputId, labels: t, invalid: !!error }), type === 'textarea' ? (_jsx(TextArea, { id: inputId, "aria-describedby": describedBy, ...invalid, value: shown, onChange: (event) => onChange(event.target.value, event.target.value === '') })) : (_jsx(Input, { id: inputId, type: type === 'datetime' ? 'datetime-local' : type, step: "any", "aria-describedby": describedBy, ...invalid, value: shown, placeholder: field.placeholder, min: field.validation?.min, max: field.validation?.max, className: "h-9 max-md:h-11", onChange: (event) => {
138
159
  const raw = event.target.value;
139
160
  onChange(raw === ''
140
161
  ? null
@@ -145,7 +166,7 @@ export function DraftField({ field, value, labels: t, onChange, locale = 'zh-TW'
145
166
  : raw, raw === '');
146
167
  } })), description] }));
147
168
  }
148
- function ConflictDialog({ conflicts, fields, labels: t, onResolve, onCancel, locale, timeZone, }) {
169
+ export function ConflictDialog({ conflicts, fields, labels: t, onResolve, onCancel, locale, timeZone, error, pending = false, }) {
149
170
  const [choices, setChoices] = useState({});
150
171
  const all = (side) => setChoices(Object.fromEntries(conflicts.map((field) => [field.fieldId, side])));
151
172
  const format = (conflict, side) => {
@@ -158,15 +179,26 @@ function ConflictDialog({ conflicts, fields, labels: t, onResolve, onCancel, loc
158
179
  return formatFieldText(field, value, { locale, timeZone });
159
180
  return typeof value === 'boolean' ? (value ? t.yes : t.no) : textValue(value);
160
181
  };
161
- return (_jsxs(ManagementDialog, { title: t.conflictTitle, onCancel: onCancel, children: [_jsxs("div", { className: "mb-3 flex flex-wrap gap-2", children: [_jsx(Button, { onClick: () => all('mine'), children: t.allMine }), _jsx(Button, { onClick: () => all('current'), children: t.allCurrent })] }), conflicts.map((conflict) => (_jsxs("fieldset", { className: "mb-3 min-w-0 rounded-lg border p-3", children: [_jsx("legend", { className: "break-words", children: fields.find((field) => (field.id ?? field.key) === conflict.fieldId)?.label ??
162
- conflict.fieldId }), _jsxs("dl", { className: "break-words", children: [_jsx("dt", { children: t.currentValue }), _jsx("dd", { className: "whitespace-pre-wrap", children: format(conflict, 'current') }), _jsx("dt", { children: t.mineValue }), _jsx("dd", { className: "whitespace-pre-wrap", children: format(conflict, 'mine') })] }), _jsxs("label", { className: "mr-3", children: [_jsx("input", { type: "radio", name: conflict.fieldId, checked: choices[conflict.fieldId] === 'mine', onChange: () => setChoices({ ...choices, [conflict.fieldId]: 'mine' }) }), t.keepMine] }), _jsxs("label", { children: [_jsx("input", { type: "radio", name: conflict.fieldId, checked: choices[conflict.fieldId] === 'current', onChange: () => setChoices({ ...choices, [conflict.fieldId]: 'current' }) }), t.keepCurrent] })] }, conflict.fieldId))), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { disabled: conflicts.some((field) => !choices[field.fieldId]), onClick: () => onResolve(choices), children: t.resolveConflicts }), _jsx(Button, { variant: "outline", onClick: onCancel, children: t.cancel })] })] }));
182
+ return (_jsxs(ManagementDialog, { title: t.conflictTitle, onCancel: onCancel, children: [_jsx(ErrorMessage, { error: error, labels: t }), _jsxs("div", { className: "mb-3 flex flex-wrap gap-2", children: [_jsx(Button, { className: "min-h-11", disabled: pending, onClick: () => all('mine'), children: t.allMine }), _jsx(Button, { className: "min-h-11", disabled: pending, onClick: () => all('current'), children: t.allCurrent })] }), conflicts.map((conflict) => (_jsxs("fieldset", { className: "mb-3 min-w-0 rounded-lg border p-3", children: [_jsx("legend", { className: "break-words", children: fields.find((field) => (field.id ?? field.key) === conflict.fieldId)?.label ?? t.field }), _jsxs("dl", { className: "break-words", children: [_jsx("dt", { children: t.currentValue }), _jsx("dd", { className: "whitespace-pre-wrap", children: format(conflict, 'current') }), _jsx("dt", { children: t.mineValue }), _jsx("dd", { className: "whitespace-pre-wrap", children: format(conflict, 'mine') })] }), _jsxs("label", { className: "mr-3 inline-flex min-h-11 cursor-pointer items-center gap-2", children: [_jsx("input", { type: "radio", name: conflict.fieldId, checked: choices[conflict.fieldId] === 'mine', onChange: () => setChoices({ ...choices, [conflict.fieldId]: 'mine' }) }), t.keepMine] }), _jsxs("label", { className: "inline-flex min-h-11 cursor-pointer items-center gap-2", children: [_jsx("input", { type: "radio", name: conflict.fieldId, checked: choices[conflict.fieldId] === 'current', onChange: () => setChoices({ ...choices, [conflict.fieldId]: 'current' }) }), t.keepCurrent] })] }, conflict.fieldId))), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { className: "min-h-11", disabled: pending || conflicts.some((field) => !choices[field.fieldId]), onClick: () => onResolve(choices), children: t.resolveConflicts }), _jsx(Button, { variant: "outline", className: "min-h-11", disabled: pending, onClick: onCancel, children: t.cancel })] })] }));
163
183
  }
164
- export function DraftEditor({ id, revision, data, fields, action, labels: t, keepaliveUrl, locale = 'zh-TW', timeZone = 'UTC', }) {
184
+ export function DraftEditor({ id, revision, data, fields, action, labels: t, keepaliveUrl, locale = 'zh-TW', timeZone = 'UTC', onSnapshot, fieldErrors = [], onClearErrors, busy = false, }) {
165
185
  const [session] = useState(() => new DraftSession(id, revision, data, action));
166
186
  const [snapshot, setSnapshot] = useState(session.snapshot);
187
+ const container = useRef(null);
188
+ useEffect(() => {
189
+ if (!fieldErrors.length)
190
+ return;
191
+ const first = container.current?.querySelector('[aria-invalid="true"]');
192
+ first?.scrollIntoView?.({ block: 'center', behavior: 'instant' });
193
+ first?.focus();
194
+ }, [fieldErrors]);
167
195
  useEffect(() => {
168
196
  session.start();
169
- const unsubscribe = session.subscribe(() => setSnapshot(session.snapshot));
197
+ onSnapshot?.(session.snapshot);
198
+ const unsubscribe = session.subscribe(() => {
199
+ setSnapshot(session.snapshot);
200
+ onSnapshot?.(session.snapshot);
201
+ });
170
202
  const poll = setInterval(() => {
171
203
  void session.refresh();
172
204
  }, 5000);
@@ -216,10 +248,10 @@ export function DraftEditor({ id, revision, data, fields, action, labels: t, kee
216
248
  window.removeEventListener('beforeunload', unload);
217
249
  document.removeEventListener('click', navigation, true);
218
250
  };
219
- }, [session, keepaliveUrl, t.unsaved]);
251
+ }, [session, keepaliveUrl, t.unsaved, onSnapshot]);
220
252
  const visible = draftFields(fields, snapshot.data).filter((field) => !field.numbered);
221
253
  const hasDatetime = visible.some((field) => field.type === 'datetime' && !field.readOnly);
222
- return (_jsxs("section", { className: "flex min-w-0 flex-col rounded-xl bg-card text-card-foreground ring-1 ring-foreground/10", "aria-label": t.draftTitle, children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3 border-b px-4 py-3 sm:px-5", children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("h2", { className: "font-heading font-medium text-base", children: t.draftTitle }), _jsxs("p", { className: "text-muted-foreground text-sm", children: [t.draftHint, hasDatetime && (_jsxs(_Fragment, { children: [" ", fillText(t.timeZoneHint, { zone: timeZoneName(timeZone, locale) })] }))] })] }), _jsx("p", { role: "status", "aria-live": "polite", className: "flex items-center gap-1.5 text-muted-foreground text-sm empty:hidden", children: snapshot.saving
254
+ return (_jsxs("section", { ref: container, className: "flex min-w-0 flex-col rounded-xl bg-card text-card-foreground ring-1 ring-foreground/10", "aria-label": t.draftTitle, children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3 border-b px-4 py-3 sm:px-5", children: [_jsxs("div", { className: "flex min-w-0 flex-col gap-0.5", children: [_jsx("h2", { className: "font-heading font-medium text-base", children: t.draftTitle }), _jsxs("p", { className: "text-muted-foreground text-sm", children: [t.draftHint, hasDatetime && (_jsxs(_Fragment, { children: [" ", fillText(t.timeZoneHint, { zone: timeZoneName(timeZone, locale) })] }))] })] }), _jsx("p", { role: "status", "aria-live": "polite", className: "flex items-center gap-1.5 text-muted-foreground text-sm empty:hidden", children: snapshot.saving
223
255
  ? t.saving
224
256
  : snapshot.retrySeconds
225
257
  ? `${t.rateRetry} ${snapshot.retrySeconds}`
@@ -227,10 +259,13 @@ export function DraftEditor({ id, revision, data, fields, action, labels: t, kee
227
259
  ? t.saveFailed
228
260
  : snapshot.savedAt
229
261
  ? `${t.savedAt} ${formatTime(snapshot.savedAt, { locale, timeZone }) ?? ''}`
230
- : '' })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-4 p-4 sm:p-5", children: [_jsx(ErrorMessage, { error: snapshot.error, labels: t }), snapshot.error && !snapshot.conflict && (_jsx(Button, { variant: "outline", className: `self-start ${touch}`, onClick: () => session.retry(), disabled: snapshot.saving || !!snapshot.retrySeconds, children: t.retry })), _jsxs("fieldset", { disabled: !!snapshot.conflict, className: "grid min-w-0 gap-x-6 gap-y-5 md:grid-cols-2", children: [_jsx("legend", { className: "sr-only", children: t.draftTitle }), visible.map((field) => (_jsxs("div", { className: wideField(field) ? 'min-w-0 md:col-span-2' : 'min-w-0', onFocusCapture: () => session.focus(field.id ?? field.key, true), onBlurCapture: (event) => {
262
+ : '' })] }), _jsxs("div", { className: "flex min-w-0 flex-col gap-4 p-4 sm:p-5", children: [_jsx(ErrorMessage, { error: snapshot.error, labels: t }), snapshot.error && !snapshot.conflict && (_jsx(Button, { variant: "outline", className: `self-start ${touch}`, onClick: () => session.retry(), disabled: snapshot.saving || !!snapshot.retrySeconds, children: t.retry })), _jsxs("fieldset", { disabled: !!snapshot.conflict || busy, className: "grid min-w-0 gap-x-6 gap-y-5 md:grid-cols-2", children: [_jsx("legend", { className: "sr-only", children: t.draftTitle }), visible.map((field) => (_jsxs("div", { className: wideField(field) ? 'min-w-0 md:col-span-2' : 'min-w-0', onFocusCapture: () => session.focus(field.id ?? field.key, true), onBlurCapture: (event) => {
231
263
  if (!event.currentTarget.contains(event.relatedTarget))
232
264
  session.focus(field.id ?? field.key, false);
233
- }, children: [_jsx(DraftField, { field: field, value: snapshot.data[field.id ?? field.key], labels: t, locale: locale, timeZone: timeZone, onChange: (value, remove) => session.change(field.id ?? field.key, value, remove) }), snapshot.changed.includes(field.id ?? field.key) && (_jsx("p", { role: "status", className: "mt-1 text-muted-foreground text-xs", children: t.changedByOthers }))] }, field.id ?? field.key)))] })] }), snapshot.conflict && (_jsx(ConflictDialog, { conflicts: snapshot.conflict.fields, fields: visible, labels: t, locale: locale, timeZone: timeZone, onCancel: () => session.cancelConflict(), onResolve: (choices) => session.resolve(choices) }))] }));
265
+ }, children: [_jsx(DraftField, { field: field, value: snapshot.data[field.id ?? field.key], labels: t, locale: locale, timeZone: timeZone, fieldErrors: fieldErrors.length ? fieldErrors : snapshot.error?.details?.fieldErrors, onChange: (value, remove) => {
266
+ onClearErrors?.();
267
+ session.change(field.id ?? field.key, value, remove);
268
+ } }), snapshot.changed.includes(field.id ?? field.key) && (_jsx("p", { role: "status", className: "mt-1 text-muted-foreground text-xs", children: t.changedByOthers }))] }, field.id ?? field.key)))] })] }), snapshot.conflict && (_jsx(ConflictDialog, { conflicts: snapshot.conflict.fields, fields: visible, labels: t, locale: locale, timeZone: timeZone, onCancel: () => session.cancelConflict(), onResolve: (choices) => session.resolve(choices) }))] }));
234
269
  }
235
270
  import { ErrorMessage } from './action-client.js';
236
271
  //# sourceMappingURL=draft-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"draft-client.js","sourceRoot":"","sources":["../src/draft-client.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-client.js","sourceRoot":"","sources":["../src/draft-client.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ActionError, ActionResult, FieldConflict, FieldsPatch, InstanceAction } from './contracts.js';
2
2
  export interface DraftSnapshot {
3
+ revision: number;
3
4
  data: Record<string, unknown>;
4
5
  pending: boolean;
5
6
  saving: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"draft-session.d.ts","sourceRoot":"","sources":["../src/draft-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EAEX,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,0FAA0F;AAC1F,qBAAa,YAAY;IAerB,OAAO,CAAC,EAAE;IAGV,OAAO,CAAC,MAAM;IAjBhB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,IAAI,CAAwE;IACpF,QAAQ,EAAE,aAAa,CAAC;gBAEd,EAAE,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrB,MAAM,EAAE,cAAc;IAWhC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;IAM9B,OAAO,CAAC,IAAI;IAKZ,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAcjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAQ;IASjD,OAAO,CAAC,QAAQ;IAkBhB,KAAK;IAKL,cAAc;IAGd,OAAO,CAAC,OAAO;IAYT,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC;IAkHpE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAe7C,OAAO;IAmCb,IAAI;IAKJ,KAAK;CAIN"}
1
+ {"version":3,"file":"draft-session.d.ts","sourceRoot":"","sources":["../src/draft-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EAEX,cAAc,EAEf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,0FAA0F;AAC1F,qBAAa,YAAY;IAerB,OAAO,CAAC,EAAE;IAGV,OAAO,CAAC,MAAM;IAjBhB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAC,CAAgC;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAgC;IAClD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,IAAI,CAAwE;IACpF,QAAQ,EAAE,aAAa,CAAC;gBAEd,EAAE,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrB,MAAM,EAAE,cAAc;IAYhC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;IAM9B,OAAO,CAAC,IAAI;IAKZ,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAcjC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAQ;IASjD,OAAO,CAAC,QAAQ;IAkBhB,KAAK;IAKL,cAAc;IAGd,OAAO,CAAC,OAAO;IAYT,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC;IAkHpE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAe7C,OAAO;IAmCb,IAAI;IAKJ,KAAK;CAIN"}