@haneinfo/frontend-instances 0.6.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 (103) hide show
  1. package/README.md +141 -26
  2. package/agent-guide.md +12 -0
  3. package/dist/attachments-client.d.ts +7 -2
  4. package/dist/attachments-client.d.ts.map +1 -1
  5. package/dist/attachments-client.js +47 -11
  6. package/dist/attachments-client.js.map +1 -1
  7. package/dist/client.d.ts +12 -75
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +12 -463
  10. package/dist/client.js.map +1 -1
  11. package/dist/contracts.d.ts +167 -5
  12. package/dist/contracts.d.ts.map +1 -1
  13. package/dist/contracts.js +5 -98
  14. package/dist/contracts.js.map +1 -1
  15. package/dist/dashboard.d.ts +43 -0
  16. package/dist/dashboard.d.ts.map +1 -0
  17. package/dist/dashboard.js +72 -0
  18. package/dist/dashboard.js.map +1 -0
  19. package/dist/detail-client.d.ts +59 -0
  20. package/dist/detail-client.d.ts.map +1 -0
  21. package/dist/detail-client.js +253 -0
  22. package/dist/detail-client.js.map +1 -0
  23. package/dist/documents-client.d.ts +2 -1
  24. package/dist/documents-client.d.ts.map +1 -1
  25. package/dist/documents-client.js +13 -9
  26. package/dist/documents-client.js.map +1 -1
  27. package/dist/draft-client.d.ts +27 -3
  28. package/dist/draft-client.d.ts.map +1 -1
  29. package/dist/draft-client.js +107 -54
  30. package/dist/draft-client.js.map +1 -1
  31. package/dist/draft-session.d.ts +1 -0
  32. package/dist/draft-session.d.ts.map +1 -1
  33. package/dist/draft-session.js +2 -1
  34. package/dist/draft-session.js.map +1 -1
  35. package/dist/field-errors.d.ts +4 -0
  36. package/dist/field-errors.d.ts.map +1 -0
  37. package/dist/field-errors.js +25 -0
  38. package/dist/field-errors.js.map +1 -0
  39. package/dist/filter-editor.d.ts +18 -0
  40. package/dist/filter-editor.d.ts.map +1 -0
  41. package/dist/filter-editor.js +145 -0
  42. package/dist/filter-editor.js.map +1 -0
  43. package/dist/format.d.ts +152 -0
  44. package/dist/format.d.ts.map +1 -0
  45. package/dist/format.js +402 -0
  46. package/dist/format.js.map +1 -0
  47. package/dist/import-client.d.ts +31 -0
  48. package/dist/import-client.d.ts.map +1 -0
  49. package/dist/import-client.js +179 -0
  50. package/dist/import-client.js.map +1 -0
  51. package/dist/instance-management-client.d.ts +23 -6
  52. package/dist/instance-management-client.d.ts.map +1 -1
  53. package/dist/instance-management-client.js +96 -70
  54. package/dist/instance-management-client.js.map +1 -1
  55. package/dist/labels.d.ts +10 -0
  56. package/dist/labels.d.ts.map +1 -0
  57. package/dist/labels.js +42 -0
  58. package/dist/labels.js.map +1 -0
  59. package/dist/list-client.d.ts +39 -0
  60. package/dist/list-client.d.ts.map +1 -0
  61. package/dist/list-client.js +403 -0
  62. package/dist/list-client.js.map +1 -0
  63. package/dist/list-query.d.ts +41 -0
  64. package/dist/list-query.d.ts.map +1 -0
  65. package/dist/list-query.js +171 -0
  66. package/dist/list-query.js.map +1 -0
  67. package/dist/management-client.d.ts +6 -2
  68. package/dist/management-client.d.ts.map +1 -1
  69. package/dist/management-client.js +113 -84
  70. package/dist/management-client.js.map +1 -1
  71. package/dist/messages.d.ts +4 -4
  72. package/dist/messages.d.ts.map +1 -1
  73. package/dist/messages.js +23 -5
  74. package/dist/messages.js.map +1 -1
  75. package/dist/process-client.d.ts +27 -0
  76. package/dist/process-client.d.ts.map +1 -0
  77. package/dist/process-client.js +129 -0
  78. package/dist/process-client.js.map +1 -0
  79. package/dist/process-messages.d.ts +73 -0
  80. package/dist/process-messages.d.ts.map +1 -0
  81. package/dist/process-messages.js +154 -0
  82. package/dist/process-messages.js.map +1 -0
  83. package/dist/server.d.ts +34 -1
  84. package/dist/server.d.ts.map +1 -1
  85. package/dist/server.js +302 -50
  86. package/dist/server.js.map +1 -1
  87. package/dist/tasks-client.d.ts +38 -0
  88. package/dist/tasks-client.d.ts.map +1 -0
  89. package/dist/tasks-client.js +127 -0
  90. package/dist/tasks-client.js.map +1 -0
  91. package/dist/timeline.d.ts +24 -0
  92. package/dist/timeline.d.ts.map +1 -0
  93. package/dist/timeline.js +189 -0
  94. package/dist/timeline.js.map +1 -0
  95. package/dist/ui-messages.d.ts +284 -0
  96. package/dist/ui-messages.d.ts.map +1 -0
  97. package/dist/ui-messages.js +372 -0
  98. package/dist/ui-messages.js.map +1 -0
  99. package/dist/ui.d.ts +101 -0
  100. package/dist/ui.d.ts.map +1 -0
  101. package/dist/ui.js +169 -0
  102. package/dist/ui.js.map +1 -0
  103. package/package.json +4 -2
package/dist/client.js CHANGED
@@ -1,468 +1,17 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { AttachmentsPanel } from './attachments-client.js';
4
- import { DocumentsPanel } from './documents-client.js';
5
- import { DraftEditor } from './draft-client.js';
6
- import { LifecyclePanel, queryWithTagsFallback, TagPicker, TagsPanel, } from './instance-management-client.js';
2
+ /** Client entry: page components, panels and display building blocks. */
3
+ export { call, ErrorMessage, useTask } from './action-client.js';
7
4
  export { AttachmentsPanel } from './attachments-client.js';
5
+ export { ContentCard, DetailClient, } from './detail-client.js';
8
6
  export { DocumentsPanel } from './documents-client.js';
9
7
  export { DraftEditor } from './draft-client.js';
10
- export { DeletedInstancesClient, LifecyclePanel, TagPicker, TagsPanel, } from './instance-management-client.js';
11
- import { Button, Input, ListPagination } from '@haneinfo/frontend-shell';
12
- import { useEffect, useId, useRef, useState } from 'react';
13
- import { call, ErrorMessage, RequestFailure, useTask } from './action-client.js';
14
- import { operators, } from './contracts.js';
15
- import { InstanceAccessPanel } from './management-client.js';
16
- import { errorKey } from './messages.js';
17
- export { call, ErrorMessage, useTask } from './action-client.js';
18
- import { canPoll, dateRange, fieldValue, importMapping, listHref, textValue } from './query.js';
19
- export { InstanceAccessPanel } from './management-client.js';
20
- const box = 'rounded-md border bg-card p-4';
21
- const selectClass = 'min-w-0 rounded-md border bg-background px-3 py-2 text-foreground';
22
- const inaccessible = (error) => error &&
23
- ['unauthorized', 'forbidden', 'notFound', 'FORBIDDEN', 'INSTANCE_NOT_FOUND'].includes(error.key);
24
- function labelOf(field, labels) {
25
- const system = {
26
- $state: 'state',
27
- $number: 'number',
28
- $submitterId: 'submitter',
29
- $createdAt: 'createdAt',
30
- };
31
- return system[field.id] ? labels[system[field.id]] : field.label;
32
- }
33
- function newRule(fields) {
34
- return {
35
- kind: 'PREDICATE',
36
- operator: 'EQ',
37
- left: { kind: 'FIELD', fieldId: fields[0]?.id ?? '' },
38
- right: { kind: 'LITERAL', value: '' },
39
- };
40
- }
41
- export function FilterEditor({ condition, fields, labels, onChange, depth = 0, }) {
42
- const t = labels;
43
- if (condition.kind === 'GROUP')
44
- return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-3 rounded-md border p-3", children: [_jsx("legend", { className: "px-1 text-sm", children: t.filters }), _jsxs("select", { "aria-label": t.operator, className: selectClass, value: condition.operator, onChange: (e) => onChange({ ...condition, operator: e.target.value }), children: [_jsx("option", { value: "AND", children: t.AND }), _jsx("option", { value: "OR", children: t.OR })] }), condition.expressions.map((child, index) => (
45
- // biome-ignore lint/suspicious/noArrayIndexKey: These controlled positional rows have no local input state.
46
- _jsxs("div", { className: "flex min-w-0 flex-col gap-2", children: [_jsx(FilterEditor, { condition: child, fields: fields, labels: t, depth: depth + 1, onChange: (value) => onChange({
47
- ...condition,
48
- expressions: condition.expressions.map((entry, i) => i === index ? value : entry),
49
- }) }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: () => onChange({
50
- ...condition,
51
- expressions: condition.expressions.filter((_, i) => i !== index),
52
- }), children: t.remove })] }, `${depth}-${index}`))), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { type: "button", variant: "outline", disabled: !fields.length, onClick: () => onChange({ ...condition, expressions: [...condition.expressions, newRule(fields)] }), children: t.addRule }), depth < 4 && (_jsx(Button, { type: "button", variant: "outline", onClick: () => onChange({
53
- ...condition,
54
- expressions: [
55
- ...condition.expressions,
56
- { kind: 'GROUP', operator: 'OR', expressions: [newRule(fields)] },
57
- ],
58
- }), children: t.addGroup }))] })] }));
59
- if (!editablePredicate(condition))
60
- return _jsx("pre", { className: "whitespace-pre-wrap break-words", children: textValue(condition) });
61
- const field = fields.find((f) => f.id === condition.left.fieldId);
62
- const right = condition.right;
63
- const value = Array.isArray(right)
64
- ? right.map((r) => String(r.value ?? '')).join('\n')
65
- : String(right?.value ?? '');
66
- let inputType = field?.type === 'number' ? 'number' : field?.type === 'date' ? 'date' : 'text';
67
- if (field?.type === 'datetime')
68
- inputType = 'datetime-local';
69
- const shown = inputType === 'datetime-local' && value.endsWith('Z') ? value.slice(0, 23) : value;
70
- return (_jsxs("div", { className: "grid min-w-0 gap-2 sm:grid-cols-3", children: [_jsx("select", { "aria-label": t.field, className: selectClass, value: field?.id ?? '', onChange: (e) => onChange({
71
- ...condition,
72
- left: { kind: 'FIELD', fieldId: e.target.value },
73
- right: { kind: 'LITERAL', value: '' },
74
- }), children: fields.map((f) => (_jsx("option", { value: f.id, children: labelOf(f, t) }, f.id))) }), _jsx("select", { "aria-label": t.operator, className: selectClass, value: condition.operator, onChange: (e) => onChange({
75
- ...condition,
76
- operator: e.target.value,
77
- right: e.target.value === 'IN' ? [] : { kind: 'LITERAL', value: '' },
78
- }), children: operators.map((op) => (_jsx("option", { value: op, children: t[op] }, op))) }), condition.operator !== 'NOT_EMPTY' &&
79
- (condition.operator === 'IN' ? (_jsx("textarea", { className: selectClass, "aria-label": t.value, value: value, onChange: (e) => onChange({
80
- ...condition,
81
- right: e.target.value.split('\n').map((v) => ({
82
- kind: 'LITERAL',
83
- value: field?.type === 'number' && v.trim() ? Number(v) : v,
84
- })),
85
- }) })) : (_jsx(Input, { type: inputType, step: "any", "aria-label": field?.type === 'datetime' ? `${t.value} (UTC)` : t.value, value: shown, onChange: (e) => onChange({
86
- ...condition,
87
- right: {
88
- kind: 'LITERAL',
89
- value: field?.type === 'number' && e.target.value !== ''
90
- ? Number(e.target.value)
91
- : e.target.value,
92
- },
93
- }) })))] }));
94
- }
95
- /** Normalizes datetime literals once, immediately before the API request. */
96
- function editablePredicate(condition) {
97
- const operands = Array.isArray(condition.right)
98
- ? condition.right
99
- : condition.right
100
- ? [condition.right]
101
- : [];
102
- return condition.left?.kind === 'FIELD' && operands.every((right) => right.kind === 'LITERAL');
103
- }
104
- function prepareFilter(condition, fields) {
105
- if (condition.kind === 'GROUP') {
106
- const expressions = condition.expressions.flatMap((child) => {
107
- const result = prepareFilter(child, fields);
108
- return result ? [result] : [];
109
- });
110
- return expressions.length ? { ...condition, expressions } : undefined;
111
- }
112
- if (!editablePredicate(condition))
113
- return condition;
114
- const field = fields.find((f) => f.id === condition.left.fieldId);
115
- if (!field?.filterable)
116
- throw new Error('invalidInput');
117
- if (condition.operator === 'NOT_EMPTY')
118
- return { kind: 'PREDICATE', operator: condition.operator, left: condition.left };
119
- const normalize = (literal) => ({
120
- kind: 'LITERAL',
121
- value: fieldValue(String(literal.value ?? ''), field),
122
- });
123
- if (!condition.right)
124
- throw new Error('invalidInput');
125
- return {
126
- ...condition,
127
- right: Array.isArray(condition.right)
128
- ? condition.right.map(normalize)
129
- : normalize(condition.right),
130
- };
131
- }
132
- export { prepareFilter };
133
- function Anchor({ href, children, className, }) {
134
- return (_jsx("a", { href: href, className: className, children: children }));
135
- }
136
- export function ListClient({ fields, initial, initialQuery, initialTagsAvailable = true, views: initialViews, machineCode, basePath, labels: t, action, }) {
137
- const task = useTask();
138
- const limitId = useId();
139
- const rangeId = useId();
140
- const [query, setQuery] = useState(initialQuery);
141
- const [result, setResult] = useState(initial);
142
- const [filter, setFilter] = useState(initialQuery.filter ?? { kind: 'GROUP', operator: 'AND', expressions: [] });
143
- const [sort, setSort] = useState(initialQuery.sort ?? []);
144
- const [columns, setColumns] = useState(initialQuery.columns ?? fields.map((f) => f.id));
145
- const [limit, setLimit] = useState(initialQuery.limit ?? 50);
146
- const [tags, setTags] = useState(initialQuery.tags ?? []), [tagMatch, setTagMatch] = useState(initialQuery.tagMatch ?? 'ALL');
147
- const [archived, setArchived] = useState(initialQuery.archived ?? 'EXCLUDE'), [tagsAvailable, setTagsAvailable] = useState(initialTagsAvailable);
148
- const [views, setViews] = useState(initialViews);
149
- const [name, setName] = useState('');
150
- const [job, setJob] = useState();
151
- const [format, setFormat] = useState('csv');
152
- const dateFields = fields.filter((f) => f.filterable && ['date', 'datetime'].includes(f.type));
153
- const [rangeField, setRangeField] = useState(dateFields[0]?.id ?? '');
154
- const [from, setFrom] = useState(''), [to, setTo] = useState('');
155
- if (inaccessible(task.error))
156
- return _jsx(ErrorMessage, { error: task.error, labels: t });
157
- const draft = () => ({
158
- filter: prepareFilter(filter, fields),
159
- sort,
160
- columns,
161
- limit,
162
- offset: 0,
163
- archived,
164
- ...(tagsAvailable && tags.length ? { tags, tagMatch } : {}),
165
- });
166
- const apply = async (next) => {
167
- const applied = await queryWithTagsFallback(action, machineCode, next);
168
- if (!applied.available) {
169
- setTagsAvailable(false);
170
- setTags([]);
171
- }
172
- setResult(applied.result);
173
- setQuery(applied.query);
174
- };
175
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), _jsx("form", { className: `${box} flex flex-col gap-4`, onSubmit: (e) => {
176
- e.preventDefault();
177
- void task.run(() => apply(draft()));
178
- }, children: _jsxs("fieldset", { disabled: task.pending, className: "flex min-w-0 flex-col gap-4", children: [_jsxs("label", { className: "flex flex-col gap-1", children: [t.archiveFilter, _jsx("select", { className: selectClass, value: archived, onChange: (event) => setArchived(event.target.value), children: ['EXCLUDE', 'INCLUDE', 'ONLY'].map((value) => (_jsx("option", { value: value, children: t[value] }, value))) })] }), tagsAvailable && (_jsxs("div", { className: "flex min-w-0 flex-col gap-2", children: [_jsx(TagPicker, { label: t.tagFilter, labels: t, action: action, disabled: task.pending || tags.length >= 10, onPick: (added) => setTags([...new Set([...tags, ...added])].slice(0, 10)) }), _jsx("div", { className: "flex flex-wrap gap-2", children: tags.map((tag) => (_jsxs(Button, { type: "button", variant: "outline", onClick: () => setTags(tags.filter((value) => value !== tag)), children: [tag, " \u00D7"] }, tag))) }), _jsxs("select", { "aria-label": t.tagFilter, className: selectClass, value: tagMatch, onChange: (event) => setTagMatch(event.target.value), children: [_jsx("option", { value: "ALL", children: t.tagAll }), _jsx("option", { value: "ANY", children: t.tagAny })] })] })), _jsx(FilterEditor, { condition: filter, fields: fields.filter((f) => f.filterable), labels: t, onChange: setFilter }), !!dateFields.length && (_jsxs("fieldset", { className: "grid gap-2 rounded-md border p-3 sm:grid-cols-4", children: [_jsx("legend", { children: t.addRange }), _jsx("select", { "aria-label": `${t.addRange}: ${t.field}`, className: selectClass, value: rangeField, onChange: (e) => {
179
- setRangeField(e.target.value);
180
- setFrom('');
181
- setTo('');
182
- }, children: dateFields.map((f) => (_jsx("option", { value: f.id, children: labelOf(f, t) }, f.id))) }), _jsxs("label", { htmlFor: `${rangeId}-from`, className: "flex flex-col gap-1 text-sm", children: [_jsx("span", { children: t.rangeFrom }), _jsx(Input, { id: `${rangeId}-from`, "aria-label": t.rangeFrom, type: fields.find((f) => f.id === rangeField)?.type === 'datetime'
183
- ? 'datetime-local'
184
- : 'date', value: from, onChange: (e) => setFrom(e.target.value) })] }), _jsxs("label", { htmlFor: `${rangeId}-to`, className: "flex flex-col gap-1 text-sm", children: [_jsx("span", { children: t.rangeTo }), _jsx(Input, { id: `${rangeId}-to`, "aria-label": t.rangeTo, type: fields.find((f) => f.id === rangeField)?.type === 'datetime'
185
- ? 'datetime-local'
186
- : 'date', value: to, min: from, onChange: (e) => setTo(e.target.value) })] }), _jsx(Button, { variant: "outline", type: "button", disabled: !from || !to || from > to, onClick: () => {
187
- const f = fields.find((f) => f.id === rangeField);
188
- if (f) {
189
- const range = dateRange(f, from, to);
190
- setFilter((previous) => ({
191
- kind: 'GROUP',
192
- operator: 'AND',
193
- expressions: [previous, range],
194
- }));
195
- }
196
- }, children: t.addRange })] })), _jsxs("fieldset", { className: "flex flex-col gap-2", children: [_jsx("legend", { children: t.sort }), sort.map((entry, index) => (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("select", { "aria-label": `${t.sort}: ${t.field}`, className: selectClass, value: entry.fieldId, onChange: (e) => setSort(sort.map((s, i) => (i === index ? { ...s, fieldId: e.target.value } : s))), children: fields
197
- .filter((f) => f.sortable)
198
- .map((f) => (_jsx("option", { value: f.id, disabled: f.id !== entry.fieldId && sort.some((s) => s.fieldId === f.id), children: labelOf(f, t) }, f.id))) }), _jsxs("select", { "aria-label": t.sort, className: selectClass, value: entry.direction, onChange: (e) => setSort(sort.map((s, i) => i === index ? { ...s, direction: e.target.value } : s)), children: [_jsx("option", { value: "asc", children: t.asc }), _jsx("option", { value: "desc", children: t.desc })] }), _jsx(Button, { type: "button", variant: "outline", onClick: () => setSort(sort.filter((_, i) => i !== index)), children: t.remove })] }, entry.fieldId))), _jsx(Button, { type: "button", variant: "outline", disabled: sort.length >= 8 || !fields.some((f) => f.sortable), onClick: () => {
199
- const f = fields.find((f) => f.sortable && !sort.some((s) => s.fieldId === f.id));
200
- if (f)
201
- setSort([...sort, { fieldId: f.id, direction: 'asc' }]);
202
- }, children: t.sort })] }), _jsxs("fieldset", { className: "flex flex-wrap gap-3", children: [_jsx("legend", { children: t.columns }), fields.map((f) => (_jsxs("label", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: columns.includes(f.id), onChange: (e) => setColumns(e.target.checked ? [...columns, f.id] : columns.filter((c) => c !== f.id)) }), labelOf(f, t)] }, f.id)))] }), _jsxs("label", { htmlFor: limitId, className: "flex items-center gap-2", children: [t.limit, _jsx(Input, { id: limitId, className: "w-24", type: "number", min: 1, max: 500, value: limit, onChange: (e) => setLimit(Number(e.target.value)) })] }), _jsx(Button, { type: "submit", disabled: !columns.length, children: t.apply })] }) }), _jsxs("section", { className: `${box} flex flex-col gap-3`, "aria-label": t.savedViews, children: [_jsx("h2", { className: "font-semibold", children: t.savedViews }), _jsxs("form", { className: "flex flex-wrap gap-2", onSubmit: (e) => {
203
- e.preventDefault();
204
- void task.run(async () => {
205
- const view = await call(action, {
206
- kind: 'saveView',
207
- machineCode,
208
- name,
209
- query: draft(),
210
- });
211
- setViews([...views, view]);
212
- setName('');
213
- });
214
- }, children: [_jsx(Input, { "aria-label": t.viewName, maxLength: 200, required: true, value: name, onChange: (e) => setName(e.target.value) }), _jsx(Button, { disabled: task.pending || !name.trim(), type: "submit", children: t.saveView })] }), views.map((view) => (_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx("span", { className: "break-all", children: view.name }), _jsxs("span", { className: "text-sm text-muted-foreground", children: [t[view.visibility], " ", view.roles.join(', ')] }), _jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
215
- void task.run(async () => {
216
- await apply(view.query);
217
- setFilter(view.query.filter ?? { kind: 'GROUP', operator: 'AND', expressions: [] });
218
- setSort(view.query.sort ?? []);
219
- setColumns(view.query.columns ?? fields.map((f) => f.id));
220
- setLimit(view.query.limit ?? 50);
221
- setTags(view.query.tags ?? []);
222
- setTagMatch(view.query.tagMatch ?? 'ALL');
223
- setArchived(view.query.archived ?? 'EXCLUDE');
224
- });
225
- }, children: t.apply }), view.canShare && (_jsx(ShareForm, { view: view, labels: t, disabled: task.pending, onShare: (visibility, roles) => {
226
- void task.run(async () => {
227
- await call(action, { kind: 'shareView', id: view.id, visibility, roles });
228
- setViews(views.map((v) => (v.id === view.id ? { ...v, visibility, roles } : v)));
229
- });
230
- } }))] }, view.id)))] }), _jsxs("div", { className: "max-w-full overflow-x-auto rounded-md border", children: [_jsxs("table", { className: "w-full text-left text-sm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: "p-3", children: t.open }), tagsAvailable && _jsx("th", { className: "p-3", children: t.tags }), result.columns.map((id) => (_jsx("th", { className: "p-3", children: labelOf(fields.find((f) => f.id === id) ?? { id, label: id }, t) }, id)))] }) }), _jsx("tbody", { children: result.items.map((item) => (_jsxs("tr", { className: "border-t", children: [_jsxs("td", { className: "p-3", children: [_jsx("a", { className: "underline", href: `${basePath}/${encodeURIComponent(item.id)}`, children: item.number ?? t.open }), item.archived && _jsx("span", { className: "ml-2 rounded border p-1", children: t.archived })] }), tagsAvailable && (_jsx("td", { className: "max-w-64 break-words p-3", children: item.tags?.join(', ') })), result.columns.map((id) => (_jsx("td", { className: "max-w-64 break-words p-3", children: textValue(id === '$submitterId'
231
- ? (item.submitterName ?? item.submitterId)
232
- : item.values[id]) }, id)))] }, item.id))) })] }), !result.items.length && _jsx("p", { className: "p-4", children: t.empty })] }), _jsx(ListPagination, { page: Math.floor(result.offset / result.limit) + 1, totalPages: Math.max(1, Math.ceil(result.total / result.limit)), total: result.total, LinkComponent: Anchor, buildPageHref: (page) => listHref(basePath, { ...query, offset: (page - 1) * result.limit, limit: result.limit }), previousText: t.previous, nextText: t.next, infoText: `${t.total}: ${result.total}` }), _jsxs("form", { className: "flex flex-wrap items-center gap-2", onSubmit: (e) => {
233
- e.preventDefault();
234
- void task.run(async () => setJob(await call(action, { kind: 'export', machineCode, query, format })));
235
- }, children: [_jsxs("select", { "aria-label": t.format, className: selectClass, value: format, onChange: (e) => setFormat(e.target.value), children: [_jsx("option", { value: "csv", children: t.csv }), _jsx("option", { value: "xlsx", children: t.xlsx })] }), _jsx(Button, { type: "submit", disabled: task.pending, children: t.export })] }), job && (_jsx(JobStatus, { initial: job, labels: t, action: action, downloadBase: `${basePath}/download` }, job.id))] }));
236
- }
237
- function ShareForm({ view, labels: t, disabled, onShare, }) {
238
- const [visibility, setVisibility] = useState(view.visibility), [roles, setRoles] = useState(view.roles.join(', '));
239
- return (_jsxs("form", { className: "flex flex-wrap gap-2", onSubmit: (e) => {
240
- e.preventDefault();
241
- onShare(visibility, roles
242
- .split(',')
243
- .map((r) => r.trim())
244
- .filter(Boolean));
245
- }, children: [_jsx("select", { "aria-label": t.share, className: selectClass, disabled: disabled, value: visibility, onChange: (e) => setVisibility(e.target.value), children: ['PRIVATE', 'ALL', 'ROLES'].map((value) => (_jsx("option", { value: value, children: t[value] }, value))) }), visibility === 'ROLES' && (_jsx(Input, { "aria-label": t.roles, required: true, value: roles, onChange: (e) => setRoles(e.target.value) })), _jsx(Button, { disabled: disabled, type: "submit", variant: "outline", children: t.share })] }));
246
- }
247
- function DataFields({ fields, data }) {
248
- const flatten = (fields) => fields.flatMap((field) => (field.children ? flatten(field.children) : [field]));
249
- const flattened = flatten(fields);
250
- return (_jsx("dl", { className: "grid gap-3 sm:grid-cols-2", children: flattened
251
- .filter((f) => (f.id ?? f.key) in data)
252
- .map((field) => (_jsxs("div", { className: "min-w-0", children: [_jsx("dt", { className: "text-sm text-muted-foreground", children: field.label }), _jsx("dd", { className: "whitespace-pre-wrap break-words", children: textValue(data[field.id ?? field.key]) })] }, field.id ?? field.key))) }));
253
- }
254
- export function DetailClient({ id, data, fields, state, submitterId, submitterName, createdAt, initial, initialNumbers, initialAccess, attachmentBase, documentDownloadUrl, managementInstance, initialTags, isInitial, basePath = '', draftKeepaliveUrl, labels: t, action, }) {
255
- const task = useTask();
256
- const [timeline, setTimeline] = useState(initial), [body, setBody] = useState('');
257
- const [q, setQ] = useState(''), [people, setPeople] = useState(), [selected, setSelected] = useState('');
258
- if (inaccessible(task.error))
259
- return _jsx(ErrorMessage, { error: task.error, labels: t });
260
- const loadTimeline = async (append) => {
261
- const next = await call(action, {
262
- kind: 'timeline',
263
- id,
264
- offset: append ? timeline.offset + timeline.items.length : 0,
265
- });
266
- setTimeline(append
267
- ? {
268
- ...next,
269
- offset: 0,
270
- items: [...timeline.items, ...next.items].filter((e, i, all) => all.findIndex((other) => other.id === e.id) === i),
271
- }
272
- : next);
273
- };
274
- const numbers = timeline.items.filter((e) => e.kind === 'NUMBER');
275
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), managementInstance && (_jsx(LifecyclePanel, { id: id, initial: managementInstance, basePath: basePath, labels: t, action: action, onChanged: () => loadTimeline(false) })), initialTags && (_jsx(TagsPanel, { id: id, initial: initialTags, labels: t, action: action, onChanged: () => loadTimeline(false) })), managementInstance?.canEdit && isInitial && managementInstance.revision !== undefined && (_jsx(DraftEditor, { id: id, data: data, fields: fields, revision: managementInstance.revision, action: action, labels: t, keepaliveUrl: draftKeepaliveUrl })), initialAccess && (_jsx(InstanceAccessPanel, { id: id, initial: initialAccess, labels: t, action: action, onChanged: () => loadTimeline(false) })), attachmentBase && (_jsx(AttachmentsPanel, { id: id, basePath: attachmentBase, labels: t, action: action, onChanged: () => loadTimeline(false) })), documentDownloadUrl && (_jsx(DocumentsPanel, { id: id, downloadUrl: documentDownloadUrl, labels: t, action: action, onChanged: () => loadTimeline(false) })), _jsxs("section", { className: `${box} flex flex-col gap-4`, children: [_jsxs("dl", { className: "grid gap-3 sm:grid-cols-2", children: [_jsxs("div", { children: [_jsx("dt", { children: t.state }), _jsx("dd", { children: state })] }), _jsxs("div", { children: [_jsx("dt", { children: t.number }), _jsx("dd", { children: initialNumbers?.length
276
- ? initialNumbers.join(', ')
277
- : numbers.length
278
- ? numbers.map((e) => textValue(e.details.number)).join(', ')
279
- : '—' })] }), _jsxs("div", { children: [_jsx("dt", { children: t.submitter }), _jsx("dd", { children: textValue(submitterName ?? submitterId) })] }), _jsxs("div", { children: [_jsx("dt", { children: t.createdAt }), _jsx("dd", { children: createdAt })] })] }), !(managementInstance?.canEdit && isInitial) && _jsx(DataFields, { fields: fields, data: data })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsx("p", { role: "status", children: timeline.following ? t.following : t.notFollowing }), _jsx(Button, { disabled: task.pending, type: "button", onClick: () => {
280
- void task.run(async () => {
281
- const next = await call(action, {
282
- kind: 'follow',
283
- id,
284
- enabled: !timeline.following,
285
- });
286
- setTimeline({ ...timeline, following: next.following });
287
- });
288
- }, children: timeline.following ? t.unfollow : t.follow })] }), _jsxs("section", { className: `${box} flex flex-col gap-3`, "aria-label": t.timeline, children: [_jsx("h2", { className: "font-semibold", children: t.timeline }), _jsx("ol", { className: "flex flex-col gap-4", children: timeline.items.map((event) => (_jsx(TimelineItem, { event: event, labels: t }, event.id))) }), !timeline.items.length && _jsx("p", { children: t.empty }), timeline.hasMore && (_jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
289
- void task.run(() => loadTimeline(true));
290
- }, children: t.loadMore }))] }), _jsxs("form", { className: `${box} flex flex-col gap-3`, onSubmit: (e) => {
291
- e.preventDefault();
292
- void task.run(async () => {
293
- await call(action, { kind: 'comment', id, body });
294
- setBody('');
295
- await loadTimeline(false);
296
- });
297
- }, children: [_jsxs("label", { className: "flex flex-col gap-2", children: [t.comment, _jsx("textarea", { required: true, "aria-label": t.comment, maxLength: 4000, className: `${selectClass} min-h-28`, value: body, onChange: (e) => setBody(e.target.value) })] }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Input, { "aria-label": t.mentionSearch, maxLength: 200, value: q, onChange: (e) => setQ(e.target.value) }), _jsx(Button, { type: "button", variant: "outline", disabled: task.pending, onClick: () => {
298
- void task.run(async () => {
299
- const result = await call(action, {
300
- kind: 'mentionable',
301
- id,
302
- q,
303
- });
304
- setPeople(result.items);
305
- setSelected(result.items[0]?.id ?? '');
306
- });
307
- }, children: t.search })] }), people &&
308
- (people.length ? (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx("select", { className: selectClass, "aria-label": t.mention, value: selected, onChange: (e) => setSelected(e.target.value), children: people.map((p) => (_jsx("option", { value: p.id, children: p.name ?? t.unnamed }, p.id))) }), _jsx(Button, { type: "button", disabled: task.pending || !selected, variant: "outline", onClick: () => setBody((value) => `${value}${value ? ' ' : ''}@{${selected}} `), children: t.mention })] })) : (_jsx("p", { children: t.noPeople }))), _jsx(Button, { type: "submit", disabled: task.pending || !body.trim() || body.length > 4000, children: t.sendComment })] })] }));
309
- }
310
- function TimelineItem({ event, labels: t }) {
311
- return (_jsxs("li", { className: "min-w-0 border-l-2 pl-3 [overflow-wrap:anywhere]", children: [_jsxs("p", { className: "text-sm text-muted-foreground", children: [_jsx("time", { dateTime: event.at, children: event.at }), " \u00B7 ", t[event.kind], " \u00B7 ", textValue(event.actorId)] }), event.kind === 'COMMENT' ? (_jsxs(_Fragment, { children: [_jsx("p", { className: "whitespace-pre-wrap break-words", children: textValue(event.details.body) }), event.details.isAiGenerated === true && (_jsx("strong", { className: "text-sm", children: t.aiGenerated }))] })) : event.kind === 'DOCUMENT' ? (_jsx("p", { className: "whitespace-pre-wrap break-words", children: documentEventText(event, t) })) : event.kind === 'ATTACHMENT' ? (_jsx("p", { className: "whitespace-pre-wrap break-words", children: attachmentEventText(event, t) })) : (_jsx("p", { className: "whitespace-pre-wrap break-words", children: textValue(event.details) }))] }));
312
- }
313
- function documentEventText(event, t) {
314
- const document = event.details.decision?.document;
315
- const format = document?.format === 'pdf' ? 'PDF' : document?.format === 'docx' ? 'Word' : '—';
316
- return `${t.documentGeneratedEvent}: ${textValue(document?.templateCode)} · ${t.documentVersion}: ${textValue(document?.templateVersion)} · ${t.documentFormat}: ${format} · ${t.documentActor}: ${textValue(event.actorId)}`;
317
- }
318
- function attachmentEventText(event, t) {
319
- const attachment = event.details.decision?.attachment;
320
- const verb = attachment?.action === 'UPLOADED'
321
- ? t.attachmentUploadedEvent
322
- : attachment?.action === 'DELETED'
323
- ? t.attachmentDeletedEvent
324
- : t.ATTACHMENT;
325
- return `${verb}: ${textValue(attachment?.fileName)}`;
326
- }
327
- export function JobStatus({ initial, labels: t, action, downloadBase, onComplete, }) {
328
- const [job, setJob] = useState(initial), [attempt, setAttempt] = useState(0), [stopped, setStopped] = useState(false);
329
- const [error, setError] = useState();
330
- const complete = useRef(onComplete);
331
- complete.current = onComplete;
332
- // biome-ignore lint/correctness/useExhaustiveDependencies: attempt is the explicit manual refresh signal.
333
- useEffect(() => {
334
- let active = true, timer;
335
- let polls = 0;
336
- setStopped(false);
337
- setError(undefined);
338
- const poll = async () => {
339
- try {
340
- const next = await call(action, { kind: 'job', id: initial.id });
341
- if (!active)
342
- return;
343
- setJob(next);
344
- if (!canPoll(next)) {
345
- complete.current?.(next);
346
- return;
347
- }
348
- if (++polls >= 90) {
349
- setStopped(true);
350
- return;
351
- }
352
- timer = setTimeout(poll, 2000);
353
- }
354
- catch (error) {
355
- if (active) {
356
- setError(error instanceof RequestFailure ? error.reason : { key: 'requestFailed' });
357
- setStopped(true);
358
- }
359
- }
360
- };
361
- if (canPoll(initial))
362
- timer = setTimeout(poll, 2000);
363
- else
364
- complete.current?.(initial);
365
- return () => {
366
- active = false;
367
- clearTimeout(timer);
368
- };
369
- }, [initial, action, attempt]);
370
- if (inaccessible(error))
371
- return _jsx(ErrorMessage, { error: error, labels: t });
372
- return (_jsxs("section", { className: `${box} flex flex-col gap-2`, "aria-label": t.job, children: [_jsxs("p", { role: "status", children: [t.job, ": ", t[job.status], " (", Math.max(0, Math.min(100, job.progress)), "%)"] }), _jsx("progress", { "aria-label": t.job, value: Math.max(0, Math.min(100, job.progress)), max: 100, className: "w-full" }), _jsx(ErrorMessage, { error: error, labels: t }), job.lastError && (_jsx("p", { role: "alert", className: "break-words text-destructive", children: t.requestFailed })), stopped && (_jsxs("div", { children: [_jsx("p", { children: t.pollStopped }), _jsx(Button, { type: "button", variant: "outline", onClick: () => setAttempt(attempt + 1), children: t.retry })] })), job.status === 'SUCCEEDED' && job.result && (_jsx(JobReport, { result: job.result, labels: t, downloadBase: downloadBase }))] }));
373
- }
374
- export function JobReport({ result, labels: t, downloadBase, }) {
375
- const failures = result.kind === 'preflight'
376
- ? (result.rows ?? []).filter((r) => r.errors.length)
377
- : Array.isArray(result.failed)
378
- ? result.failed
379
- : [];
380
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-3", children: [_jsxs("div", { className: "flex flex-wrap gap-4", children: [_jsxs("span", { children: [t.total, ": ", result.total ?? result.rowCount ?? 0] }), result.kind === 'preflight' && (_jsxs("span", { children: [t.valid, ": ", result.valid ?? 0] })), result.kind === 'import' && (_jsxs("span", { children: [t.success, ": ", result.imported?.length ?? 0] })), result.kind !== 'export' && (_jsxs("span", { children: [t.failed, ": ", Array.isArray(result.failed) ? result.failed.length : (result.failed ?? 0)] }))] }), (result.errors ?? []).map((error) => (_jsx("p", { className: "break-words text-destructive", children: t[errorKey(error.code)] }, `${error.code}-${error.path}-${error.message}`))), !!failures.length && (_jsx("div", { className: "max-h-96 overflow-auto", children: _jsxs("table", { className: "w-full text-left text-sm", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: t.row }), _jsx("th", { children: t.value }), _jsx("th", { children: t.code }), _jsx("th", { children: t.reason })] }) }), _jsx("tbody", { children: failures.map((row) => (_jsxs("tr", { className: "border-t", children: [_jsx("td", { className: "p-2", children: row.rowNumber }), _jsx("td", { className: "max-w-64 break-words p-2", children: row.data ? textValue(row.data) : '—' }), _jsx("td", { className: "p-2", children: row.errors
381
- .map((e) => (errorKey(e.code) === 'requestFailed' ? '—' : e.code))
382
- .join(', ') }), _jsx("td", { className: "max-w-64 break-words p-2", children: row.errors.map((e) => t[errorKey(e.code)]).join('; ') })] }, row.rowNumber))) })] }) })), result.downloadPath && (_jsx("a", { className: "underline", href: `${downloadBase}?${new URLSearchParams({ path: result.downloadPath })}`, children: result.kind === 'export' ? t.download : t.downloadErrors }))] }));
383
- }
384
- export function ImportClient({ machines, fields: initialFields, labels: t, action, uploadAction, downloadBase, }) {
385
- const task = useTask();
386
- const fileId = useId();
387
- const [machine, setMachine] = useState(machines[0]?.code ?? ''), [fields, setFields] = useState(initialFields);
388
- const [upload, setUpload] = useState();
389
- const [targets, setTargets] = useState([]), [keys, setKeys] = useState([]);
390
- const [preflight, setPreflight] = useState(), [completed, setCompleted] = useState(), [imported, setImported] = useState();
391
- const [confirmed, setConfirmed] = useState(false);
392
- const reset = () => {
393
- setPreflight(undefined);
394
- setCompleted(undefined);
395
- setImported(undefined);
396
- setConfirmed(false);
397
- };
398
- if (inaccessible(task.error))
399
- return _jsx(ErrorMessage, { error: task.error, labels: t });
400
- return (_jsxs("div", { className: "flex min-w-0 flex-col gap-4", "aria-busy": task.pending, children: [_jsx("p", { children: t.importHint }), _jsx(ErrorMessage, { error: task.error, labels: t }), task.pending && _jsx("p", { role: "status", children: t.loading }), _jsxs("label", { className: "flex flex-col gap-2", children: [t.machine, _jsx("select", { className: selectClass, disabled: task.pending, value: machine, onChange: (e) => {
401
- const code = e.target.value;
402
- void task.run(async () => {
403
- const next = await call(action, {
404
- kind: 'importFields',
405
- machineCode: code,
406
- });
407
- setMachine(code);
408
- setFields(next);
409
- setUpload(undefined);
410
- setTargets([]);
411
- setKeys([]);
412
- reset();
413
- });
414
- }, children: machines.map((m) => (_jsx("option", { value: m.code, children: m.label }, m.code))) })] }), _jsxs("form", { className: `${box} flex flex-col gap-3`, onSubmit: (e) => {
415
- e.preventDefault();
416
- const form = new FormData(e.currentTarget);
417
- void task.run(async () => {
418
- reset();
419
- setUpload(undefined);
420
- const result = await uploadAction(form);
421
- if (result.error)
422
- throw new RequestFailure(result.error);
423
- const next = result.data;
424
- setUpload(next);
425
- setTargets(next.headers.map((header) => (fields.some((f) => f.key === header) ? header : '')));
426
- setKeys([]);
427
- });
428
- }, children: [_jsxs("label", { htmlFor: fileId, className: "flex flex-col gap-2", children: [t.file, _jsx(Input, { id: fileId, name: "file", type: "file", accept: ".csv,.xlsx", required: true, disabled: task.pending, onChange: () => {
429
- setUpload(undefined);
430
- reset();
431
- } })] }), _jsx(Button, { type: "submit", disabled: task.pending, children: t.readHeaders })] }), upload && (_jsx("form", { className: `${box} flex flex-col gap-4`, onSubmit: (e) => {
432
- e.preventDefault();
433
- void task.run(async () => {
434
- const mapping = importMapping(upload.headers, targets, keys, fields);
435
- reset();
436
- setPreflight(await call(action, {
437
- kind: 'preflight',
438
- input: {
439
- machineCode: machine,
440
- format: upload.format,
441
- contentBase64: upload.contentBase64,
442
- ...mapping,
443
- },
444
- }));
445
- });
446
- }, children: _jsxs("fieldset", { disabled: task.pending || !!preflight, className: "flex flex-col gap-3", children: [_jsx("legend", { className: "font-semibold", children: t.mapping }), upload.headers.map((header, index) => (_jsxs("label", { className: "grid gap-2 sm:grid-cols-2", children: [_jsx("span", { className: "break-all", children: header }), _jsxs("select", { "aria-label": header, className: selectClass, value: targets[index] ?? '', onChange: (e) => {
447
- setTargets(targets.map((target, i) => (i === index ? e.target.value : target)));
448
- setKeys([]);
449
- }, children: [_jsx("option", { value: "", children: t.skip }), fields.map((f) => (_jsxs("option", { value: f.key, children: [f.label, " (", f.type, ")", f.required ? ` · ${t.required}` : ''] }, f.key)))] })] }, header))), _jsxs("fieldset", { className: "flex flex-wrap gap-3", children: [_jsx("legend", { children: t.duplicateKey }), _jsx("p", { className: "w-full text-sm text-muted-foreground", children: t.duplicateHint }), fields
450
- .filter((f) => targets.includes(f.key))
451
- .map((f) => (_jsxs("label", { className: "flex items-center gap-2", children: [_jsx("input", { type: "checkbox", checked: keys.includes(f.key), disabled: !keys.includes(f.key) && keys.length >= 5, onChange: (e) => setKeys(e.target.checked ? [...keys, f.key] : keys.filter((key) => key !== f.key)) }), f.label] }, f.key)))] }), _jsx(Button, { type: "submit", children: t.preflight })] }) })), preflight && (_jsx(JobStatus, { initial: preflight, labels: t, action: action, downloadBase: downloadBase, onComplete: setCompleted })), completed && (_jsx(ImportConfirmation, { job: completed, labels: t, pending: task.pending || confirmed, onConfirm: () => {
452
- void task.run(async () => {
453
- const job = await call(action, {
454
- kind: 'confirm',
455
- id: completed.id,
456
- confirmed: true,
457
- });
458
- setConfirmed(true);
459
- setImported(job);
460
- });
461
- } })), imported && (_jsx(JobStatus, { initial: imported, labels: t, action: action, downloadBase: downloadBase }))] }));
462
- }
463
- export function ImportConfirmation({ job, labels: t, pending, onConfirm, }) {
464
- if (job.status !== 'SUCCEEDED' || job.result?.kind !== 'preflight')
465
- return null;
466
- return (_jsxs("div", { className: `${box} flex flex-col gap-3`, children: [_jsx("p", { children: t.confirmHint }), _jsx(Button, { type: "button", disabled: pending || !!job.result.errors?.length || !job.result.valid, onClick: onConfirm, children: t.confirmImport })] }));
467
- }
8
+ export { FilterEditor, prepareFilter } from './filter-editor.js';
9
+ export { ImportClient, ImportConfirmation, JobReport, JobStatus } from './import-client.js';
10
+ export { DeletedInstancesClient, LifecycleMenu, LifecyclePanel, TagPicker, TagsPanel, } from './instance-management-client.js';
11
+ export { CreateRecordButton, ListClient } from './list-client.js';
12
+ export { DelegationsClient, InstanceAccessPanel, PrincipalPicker } from './management-client.js';
13
+ export { ProcessActions, RoutingNotice } from './process-client.js';
14
+ export { TaskCountBadge, TaskResponse, TasksClient, TasksSkeleton } from './tasks-client.js';
15
+ export { ActivityFeed, commentText, timelineSentence } from './timeline.js';
16
+ export { Chip, DateTimeText, EmptyState, ErrorState, FieldValue, StateBadge, SubformTable, Tabs, } from './ui.js';
468
17
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,yEAAyE;AACzE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,SAAS,EACT,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,IAAI,GACL,MAAM,SAAS,CAAC"}