@tai42/studio-sdk 22.4.1 → 24.0.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.
- package/dist/hooks/useApi.d.ts +194 -24
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema-form/SchemaForm.d.ts +10 -12
- package/dist/schema-form/SchemaForm.d.ts.map +1 -1
- package/dist/schema-form/SchemaForm.js.map +1 -1
- package/dist/schema-form/array-field.d.ts +9 -2
- package/dist/schema-form/array-field.d.ts.map +1 -1
- package/dist/schema-form/array-field.js +5 -3
- package/dist/schema-form/array-field.js.map +1 -1
- package/dist/schema-form/date-range-field.d.ts +30 -7
- package/dist/schema-form/date-range-field.d.ts.map +1 -1
- package/dist/schema-form/date-range-field.js +73 -15
- package/dist/schema-form/date-range-field.js.map +1 -1
- package/dist/schema-form/field-node.d.ts +7 -8
- package/dist/schema-form/field-node.d.ts.map +1 -1
- package/dist/schema-form/field-node.js +2 -1
- package/dist/schema-form/field-node.js.map +1 -1
- package/dist/schema-form/index.d.ts +2 -2
- package/dist/schema-form/index.d.ts.map +1 -1
- package/dist/schema-form/index.js +1 -1
- package/dist/schema-form/index.js.map +1 -1
- package/dist/schema-form/object-fields.d.ts +6 -8
- package/dist/schema-form/object-fields.d.ts.map +1 -1
- package/dist/schema-form/object-fields.js +15 -6
- package/dist/schema-form/object-fields.js.map +1 -1
- package/dist/schema-form/types.d.ts +29 -0
- package/dist/schema-form/types.d.ts.map +1 -1
- package/dist/schema-form/validate.d.ts +9 -8
- package/dist/schema-form/validate.d.ts.map +1 -1
- package/dist/schema-form/validate.js +104 -20
- package/dist/schema-form/validate.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +2 -0
- package/src/schema-form/SchemaForm.tsx +10 -9
- package/src/schema-form/array-field.tsx +19 -6
- package/src/schema-form/date-range-field.tsx +112 -25
- package/src/schema-form/field-node.tsx +11 -6
- package/src/schema-form/index.ts +2 -1
- package/src/schema-form/object-fields.tsx +47 -25
- package/src/schema-form/types.ts +30 -0
- package/src/schema-form/validate.ts +121 -24
|
@@ -109,6 +109,13 @@ export interface JsonSchema {
|
|
|
109
109
|
readonly rangeStart?: string;
|
|
110
110
|
readonly minDays?: number;
|
|
111
111
|
readonly maxDays?: number;
|
|
112
|
+
/**
|
|
113
|
+
* On a `string`/`format: time` property: the name of the range-end `date` property this
|
|
114
|
+
* is the time of. The time draws right after its date (inside the range group when the
|
|
115
|
+
* pair merges), and two ends on the same date are then ordered by their times. Absent =
|
|
116
|
+
* a time field of its own.
|
|
117
|
+
*/
|
|
118
|
+
readonly timeOf?: string;
|
|
112
119
|
/**
|
|
113
120
|
* A declarative visibility predicate on a property: the field shows only when the
|
|
114
121
|
* predicate holds against the current form values. Static form description evaluated by
|
|
@@ -138,4 +145,26 @@ export interface VisibleWhen {
|
|
|
138
145
|
* each entry is a loud, human-readable message. Empty object = valid.
|
|
139
146
|
*/
|
|
140
147
|
export type SchemaFormErrors = Readonly<Record<string, string>>;
|
|
148
|
+
/**
|
|
149
|
+
* A form field's own words, keyed by the root object's property name in a form's
|
|
150
|
+
* `fieldWording`. Every member is optional; an unset one draws the SDK's own word.
|
|
151
|
+
*
|
|
152
|
+
* - `choiceLabel`: the placeholder of the field's `enum` select (in place of `Select…`).
|
|
153
|
+
* - `invalid`: the sentence that replaces every shape error on the field and anything
|
|
154
|
+
* inside it (a format, pattern, length, bound, type or item error).
|
|
155
|
+
* - `required`: the sentence shown when the field's required value is missing, at the
|
|
156
|
+
* field or anywhere inside it (in place of `"<name>" is required`).
|
|
157
|
+
* - `addItem` / `removeItem` / `itemLabel` / `noItems`: a list field's add button, each
|
|
158
|
+
* item's remove button, each item's heading (its `{n}` token takes the item's number),
|
|
159
|
+
* and the line shown while the list is empty.
|
|
160
|
+
*/
|
|
161
|
+
export interface FieldWords {
|
|
162
|
+
readonly choiceLabel?: string;
|
|
163
|
+
readonly invalid?: string;
|
|
164
|
+
readonly required?: string;
|
|
165
|
+
readonly addItem?: string;
|
|
166
|
+
readonly removeItem?: string;
|
|
167
|
+
readonly itemLabel?: string;
|
|
168
|
+
readonly noItems?: string;
|
|
169
|
+
}
|
|
141
170
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema-form/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema-form/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { JsonSchema, SchemaFormErrors } from './types';
|
|
1
|
+
import type { FieldWords, JsonSchema, SchemaFormErrors } from './types';
|
|
2
2
|
/** Options for {@link validateAgainstSchema}. */
|
|
3
3
|
export interface ValidateOptions {
|
|
4
4
|
/**
|
|
@@ -11,13 +11,13 @@ export interface ValidateOptions {
|
|
|
11
11
|
* Per-field words, keyed by the root object's exact property name. A field's
|
|
12
12
|
* `invalid` sentence replaces every shape error on that field and anything inside
|
|
13
13
|
* it (a format, pattern, length, bound, type or item error). A missing required
|
|
14
|
-
* value
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* value at the field or anywhere inside it shows the field's `required` sentence
|
|
15
|
+
* when set, else the SDK's own required message; `invalid` never covers it. A
|
|
16
|
+
* `pattern` that cannot compile keeps its own message, since that is a defect of the
|
|
17
|
+
* schema, not of the value. A field with no `invalid` sentence keeps the SDK's word
|
|
18
|
+
* for the failing shape.
|
|
17
19
|
*/
|
|
18
|
-
readonly fieldWording?: Readonly<Record<string,
|
|
19
|
-
invalid?: string;
|
|
20
|
-
}>>;
|
|
20
|
+
readonly fieldWording?: Readonly<Record<string, FieldWords>>;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Validate `value` against `schema`, returning a per-path error bag (empty =
|
|
@@ -25,7 +25,8 @@ export interface ValidateOptions {
|
|
|
25
25
|
* `SchemaForm` for display. `options.maxUploadBytes` mirrors the renderer's
|
|
26
26
|
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here;
|
|
27
27
|
* `options.fieldWording` puts a field's own `invalid` sentence in place of the
|
|
28
|
-
* SDK's word for any shape error on that field
|
|
28
|
+
* SDK's word for any shape error on that field, and its own `required` sentence in
|
|
29
|
+
* place of the SDK's message for a missing required value at or inside that field.
|
|
29
30
|
*/
|
|
30
31
|
export declare function validateAgainstSchema(schema: JsonSchema, value: unknown, options?: ValidateOptions): SchemaFormErrors;
|
|
31
32
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxE,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;CAC9D;AAojBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CAkBlB"}
|
|
@@ -17,6 +17,7 @@ import { isFieldVisible } from './visibility';
|
|
|
17
17
|
*/
|
|
18
18
|
function shapeError(ctx, path, message) {
|
|
19
19
|
ctx.errors[path] = message;
|
|
20
|
+
ctx.requiredFields.delete(path);
|
|
20
21
|
if (ctx.field === undefined)
|
|
21
22
|
ctx.shapeErrorFields.delete(path);
|
|
22
23
|
else
|
|
@@ -29,6 +30,7 @@ function shapeError(ctx, path, message) {
|
|
|
29
30
|
function keptError(ctx, path, message) {
|
|
30
31
|
ctx.errors[path] = message;
|
|
31
32
|
ctx.shapeErrorFields.delete(path);
|
|
33
|
+
ctx.requiredFields.delete(path);
|
|
32
34
|
}
|
|
33
35
|
/** The context for the child `name` of the value at `path`: a root child is its own field. */
|
|
34
36
|
function childCtx(ctx, path, name) {
|
|
@@ -169,7 +171,7 @@ function validateObject(model, value, path, ctx) {
|
|
|
169
171
|
const childValue = ownValue(value, name);
|
|
170
172
|
if (childValue === undefined) {
|
|
171
173
|
if (model.required.has(name))
|
|
172
|
-
markRequired(childPath, name, ctx);
|
|
174
|
+
markRequired(childPath, name, childCtx(ctx, path, name));
|
|
173
175
|
continue;
|
|
174
176
|
}
|
|
175
177
|
walk(propSchema, childValue, childPath, childCtx(ctx, path, name));
|
|
@@ -177,46 +179,120 @@ function validateObject(model, value, path, ctx) {
|
|
|
177
179
|
// Required keys naming a property that somehow isn't declared still count.
|
|
178
180
|
for (const name of model.required) {
|
|
179
181
|
if (!propMap.has(name) && ownValue(value, name) === undefined) {
|
|
180
|
-
markRequired(joinPath(path, name), name, ctx);
|
|
182
|
+
markRequired(joinPath(path, name), name, childCtx(ctx, path, name));
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
validateDateRanges(model, value, path, ctx);
|
|
184
186
|
}
|
|
185
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* Record a missing required value at `path`. `ctx` is the missing child's own context,
|
|
189
|
+
* so inside a root property the field's `required` sentence may replace the message
|
|
190
|
+
* (never its `invalid` sentence).
|
|
191
|
+
*/
|
|
186
192
|
function markRequired(path, name, ctx) {
|
|
187
193
|
keptError(ctx, path, `"${name}" is required`);
|
|
194
|
+
if (ctx.field !== undefined)
|
|
195
|
+
ctx.requiredFields.set(path, ctx.field);
|
|
188
196
|
}
|
|
189
197
|
/** Days from `start` to `end` inclusive (both `YYYY-MM-DD`); 1 when they are equal. */
|
|
190
198
|
function inclusiveDayCount(start, end) {
|
|
191
199
|
return Math.round((Date.parse(end) - Date.parse(start)) / 86_400_000) + 1;
|
|
192
200
|
}
|
|
201
|
+
const WRITTEN_DATE_RE = /^(\d{4}-\d{2}-\d{2})[Tt]/;
|
|
202
|
+
const TIME_RE = /^(\d{2}):(\d{2})(?::(\d{2}))?$/;
|
|
203
|
+
/**
|
|
204
|
+
* The written `YYYY-MM-DD` date of a range end's value: a `date` value as is, a
|
|
205
|
+
* `date-time` value's leading date. `undefined` when the value does not pass its own
|
|
206
|
+
* format check (that field's own validation reports it).
|
|
207
|
+
*/
|
|
208
|
+
function writtenDate(schema, value) {
|
|
209
|
+
if (typeof value !== 'string')
|
|
210
|
+
return undefined;
|
|
211
|
+
if (schema.format === 'date')
|
|
212
|
+
return formatError('date', value) === undefined ? value : undefined;
|
|
213
|
+
if (schema.format === 'date-time' && formatError('date-time', value) === undefined) {
|
|
214
|
+
return WRITTEN_DATE_RE.exec(value)?.[1];
|
|
215
|
+
}
|
|
216
|
+
return undefined;
|
|
217
|
+
}
|
|
218
|
+
/** The seconds into the day a `HH:MM[:SS]` value names, or `undefined` when it is not a real time. */
|
|
219
|
+
function secondsOfDay(value) {
|
|
220
|
+
if (typeof value !== 'string')
|
|
221
|
+
return undefined;
|
|
222
|
+
const match = TIME_RE.exec(value);
|
|
223
|
+
if (match === null)
|
|
224
|
+
return undefined;
|
|
225
|
+
const [hours, minutes, seconds] = [match[1], match[2], match[3] ?? '0'].map(Number);
|
|
226
|
+
if (hours === undefined || minutes === undefined || seconds === undefined)
|
|
227
|
+
return undefined;
|
|
228
|
+
if (hours > 23 || minutes > 59 || seconds > 59)
|
|
229
|
+
return undefined;
|
|
230
|
+
return hours * 3600 + minutes * 60 + seconds;
|
|
231
|
+
}
|
|
232
|
+
/** The `timeOf` time property paired with the date `dateName`, if any. */
|
|
233
|
+
function pairedTimeName(dateName, properties) {
|
|
234
|
+
return properties.find(([name, schema]) => schema.timeOf === dateName && name !== dateName)?.[0];
|
|
235
|
+
}
|
|
193
236
|
/**
|
|
194
|
-
* Enforce a date RANGE declared on an END field: the end is on or after its
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
237
|
+
* Enforce a date RANGE declared on an END field: the end is on or after its named
|
|
238
|
+
* `rangeStart` field, and the inclusive day span is within `minDays`/`maxDays`. Each end is
|
|
239
|
+
* read by its written date (a `date-time` end by its leading `YYYY-MM-DD`), so a mixed
|
|
240
|
+
* `date`/`date-time` pair is ordered by date; a pair of two `date-time` ends is left to
|
|
241
|
+
* the answer door, which orders it by instant. Two ends on the same date that each carry
|
|
242
|
+
* a readable `timeOf` time are then ordered by those times, the error on the END's time.
|
|
243
|
+
* Nothing is recombined. A missing or not-yet-valid endpoint is left to that field's own
|
|
244
|
+
* validation; a hidden end field is skipped.
|
|
198
245
|
*/
|
|
199
246
|
function validateDateRanges(model, value, path, ctx) {
|
|
247
|
+
const propMap = new Map(model.properties);
|
|
200
248
|
for (const [name, propSchema] of model.properties) {
|
|
201
249
|
if (!isFieldVisible(propSchema, value))
|
|
202
250
|
continue;
|
|
203
251
|
const resolved = resolveRef(propSchema, ctx.root);
|
|
204
|
-
|
|
252
|
+
const startName = resolved.rangeStart;
|
|
253
|
+
if (typeof startName !== 'string')
|
|
205
254
|
continue;
|
|
206
|
-
const
|
|
207
|
-
|
|
208
|
-
if (typeof endValue !== 'string' || typeof startValue !== 'string')
|
|
255
|
+
const startDeclared = propMap.get(startName);
|
|
256
|
+
if (startDeclared === undefined)
|
|
209
257
|
continue;
|
|
210
|
-
|
|
258
|
+
const startSchema = resolveRef(startDeclared, ctx.root);
|
|
259
|
+
if (resolved.format === 'date-time' && startSchema.format === 'date-time')
|
|
260
|
+
continue;
|
|
261
|
+
const endDate = writtenDate(resolved, ownValue(value, name));
|
|
262
|
+
const startDate = writtenDate(startSchema, ownValue(value, startName));
|
|
263
|
+
if (endDate === undefined || startDate === undefined)
|
|
211
264
|
continue;
|
|
212
265
|
const childPath = joinPath(path, name);
|
|
213
266
|
if (ctx.errors[childPath] !== undefined)
|
|
214
267
|
continue;
|
|
215
|
-
|
|
268
|
+
if (endDate === startDate && timeOrderError(model, value, path, ctx, startName, name))
|
|
269
|
+
continue;
|
|
270
|
+
const message = dateRangeMessage(resolved, startDate, endDate);
|
|
216
271
|
if (message !== undefined)
|
|
217
272
|
shapeError(childCtx(ctx, path, name), childPath, message);
|
|
218
273
|
}
|
|
219
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Record the order error on the END's time when two same-date ends each carry a readable
|
|
277
|
+
* `timeOf` time and the END's is earlier; `true` when it was recorded. An absent or
|
|
278
|
+
* unreadable time leaves the dates to decide.
|
|
279
|
+
*/
|
|
280
|
+
function timeOrderError(model, value, path, ctx, startName, endName) {
|
|
281
|
+
const startTimeName = pairedTimeName(startName, model.properties);
|
|
282
|
+
const endTimeName = pairedTimeName(endName, model.properties);
|
|
283
|
+
if (startTimeName === undefined || endTimeName === undefined)
|
|
284
|
+
return false;
|
|
285
|
+
const startSeconds = secondsOfDay(ownValue(value, startTimeName));
|
|
286
|
+
const endSeconds = secondsOfDay(ownValue(value, endTimeName));
|
|
287
|
+
if (startSeconds === undefined || endSeconds === undefined || endSeconds >= startSeconds) {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
const timePath = joinPath(path, endTimeName);
|
|
291
|
+
if (ctx.errors[timePath] === undefined) {
|
|
292
|
+
shapeError(childCtx(ctx, path, endTimeName), timePath, 'must be on or after the start time');
|
|
293
|
+
}
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
220
296
|
/** The ordering/span violation on a range END field, or `undefined` when it holds. */
|
|
221
297
|
function dateRangeMessage(resolved, startValue, endValue) {
|
|
222
298
|
if (endValue < startValue)
|
|
@@ -369,16 +445,21 @@ function dispatchKind(model, value, path, ctx) {
|
|
|
369
445
|
}
|
|
370
446
|
/**
|
|
371
447
|
* Replace each shape error inside a root property whose words carry an `invalid`
|
|
372
|
-
* sentence with that sentence
|
|
448
|
+
* sentence with that sentence, and each missing required value inside a root property
|
|
449
|
+
* whose words carry a `required` sentence with that one; every other error keeps its
|
|
450
|
+
* own message.
|
|
373
451
|
*/
|
|
374
|
-
function applyFieldWording(fieldWording, errors, shapeErrorFields) {
|
|
452
|
+
function applyFieldWording(fieldWording, errors, shapeErrorFields, requiredFields) {
|
|
375
453
|
for (const [path, field] of shapeErrorFields) {
|
|
376
|
-
|
|
377
|
-
continue;
|
|
378
|
-
const invalid = fieldWording[field]?.invalid;
|
|
454
|
+
const invalid = ownValue(fieldWording, field)?.invalid;
|
|
379
455
|
if (invalid !== undefined)
|
|
380
456
|
errors[path] = invalid;
|
|
381
457
|
}
|
|
458
|
+
for (const [path, field] of requiredFields) {
|
|
459
|
+
const required = ownValue(fieldWording, field)?.required;
|
|
460
|
+
if (required !== undefined)
|
|
461
|
+
errors[path] = required;
|
|
462
|
+
}
|
|
382
463
|
}
|
|
383
464
|
/**
|
|
384
465
|
* Validate `value` against `schema`, returning a per-path error bag (empty =
|
|
@@ -386,20 +467,23 @@ function applyFieldWording(fieldWording, errors, shapeErrorFields) {
|
|
|
386
467
|
* `SchemaForm` for display. `options.maxUploadBytes` mirrors the renderer's
|
|
387
468
|
* `maxUploadBytes` prop so a media field's byte cap is enforced identically here;
|
|
388
469
|
* `options.fieldWording` puts a field's own `invalid` sentence in place of the
|
|
389
|
-
* SDK's word for any shape error on that field
|
|
470
|
+
* SDK's word for any shape error on that field, and its own `required` sentence in
|
|
471
|
+
* place of the SDK's message for a missing required value at or inside that field.
|
|
390
472
|
*/
|
|
391
473
|
export function validateAgainstSchema(schema, value, options) {
|
|
392
474
|
const errors = Object.create(null);
|
|
393
475
|
const shapeErrorFields = new Map();
|
|
476
|
+
const requiredFields = new Map();
|
|
394
477
|
walk(schema, value, '', {
|
|
395
478
|
root: schema,
|
|
396
479
|
errors,
|
|
397
480
|
maxUploadBytes: options?.maxUploadBytes,
|
|
398
481
|
field: undefined,
|
|
399
482
|
shapeErrorFields,
|
|
483
|
+
requiredFields,
|
|
400
484
|
});
|
|
401
485
|
if (options?.fieldWording !== undefined) {
|
|
402
|
-
applyFieldWording(options.fieldWording, errors, shapeErrorFields);
|
|
486
|
+
applyFieldWording(options.fieldWording, errors, shapeErrorFields, requiredFields);
|
|
403
487
|
}
|
|
404
488
|
// Hand back an ordinary object; its entries are defined as own keys, so a path such as
|
|
405
489
|
// `__proto__` stays an entry of the result.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema-form/validate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tai42/studio-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "24.0.0",
|
|
4
4
|
"description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "tai42 <oss@tai42.ai>",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"@radix-ui/react-select": "^2.3.8",
|
|
97
97
|
"@radix-ui/react-tabs": "^1.1.22",
|
|
98
98
|
"@radix-ui/react-tooltip": "^1.3.0",
|
|
99
|
-
"@tai42/api-client": "
|
|
99
|
+
"@tai42/api-client": "24.0.0"
|
|
100
100
|
},
|
|
101
101
|
"scripts": {
|
|
102
102
|
"build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
|
package/src/index.ts
CHANGED
|
@@ -421,6 +421,7 @@ export type {
|
|
|
421
421
|
ExpressionFieldProps,
|
|
422
422
|
ExpressionInputKey,
|
|
423
423
|
ExpressionInputShape,
|
|
424
|
+
FieldWords,
|
|
424
425
|
FormControl,
|
|
425
426
|
FormInputMode,
|
|
426
427
|
JsonSchema,
|
|
@@ -442,6 +443,7 @@ export {
|
|
|
442
443
|
// as plain string inputs and stays free of the jq subgraph — the editor, its
|
|
443
444
|
// worker, and its wasm — entirely.
|
|
444
445
|
ExpressionFieldContext,
|
|
446
|
+
fieldDrawingOrder,
|
|
445
447
|
isFieldVisible,
|
|
446
448
|
RecordEntryRendererContext,
|
|
447
449
|
resolveRef,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
import { FieldNode } from './field-node';
|
|
57
57
|
import { DEFAULT_MAX_UPLOAD_BYTES } from './media';
|
|
58
58
|
import { stackClass } from './styles';
|
|
59
|
-
import type { JsonSchema, SchemaFormErrors } from './types';
|
|
59
|
+
import type { FieldWords, JsonSchema, SchemaFormErrors } from './types';
|
|
60
60
|
|
|
61
61
|
// -- Public API --------------------------------------------------------------
|
|
62
62
|
|
|
@@ -96,15 +96,16 @@ export interface SchemaFormProps {
|
|
|
96
96
|
*/
|
|
97
97
|
readonly expressionField?: ExpressionFieldComponent;
|
|
98
98
|
/**
|
|
99
|
-
* Optional. Per-field
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
99
|
+
* Optional. Per-field words, keyed by the root object's property name. A top-level
|
|
100
|
+
* `enum` field that draws as a select shows its entry's `choiceLabel` as the select
|
|
101
|
+
* placeholder (in place of the default `Select…`); a top-level list field draws its
|
|
102
|
+
* entry's `addItem`, `removeItem`, `itemLabel` (`{n}` the item's number) and `noItems`
|
|
103
|
+
* (in place of `Add item`, `Remove`, `Item {n}` and `No items`). Nested fields and
|
|
104
|
+
* other controls are unaffected, and a field with no entry draws the defaults. The
|
|
105
|
+
* entry's `invalid` and `required` sentences are not read here: pass the same record
|
|
106
|
+
* to `validateAgainstSchema` as `fieldWording`, and the errors it returns carry them.
|
|
106
107
|
*/
|
|
107
|
-
readonly fieldWording?: Readonly<Record<string,
|
|
108
|
+
readonly fieldWording?: Readonly<Record<string, FieldWords>>;
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
/**
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* The array field renderer. Each item is a nested {@link FieldNode}; edits map
|
|
3
3
|
* the list to a new array (add appends a seeded item, remove filters by index).
|
|
4
4
|
* The whole list re-renders as one controlled value, so index keys are correct.
|
|
5
|
+
*
|
|
6
|
+
* `words` carries the field's own list words (a root field's only): `noItems` the
|
|
7
|
+
* empty-list line, `itemLabel` each item's label (`{n}` the item's number), `removeItem`
|
|
8
|
+
* each remove button, `addItem` the add button. A word not set draws the default
|
|
9
|
+
* (`No items`, `Item {n}`, `Remove`, `Add item`). Each remove button's screen-reader name
|
|
10
|
+
* is the drawn remove word followed by the drawn item label.
|
|
5
11
|
*/
|
|
6
12
|
import type { ReactNode } from 'react';
|
|
7
13
|
|
|
@@ -12,7 +18,7 @@ import { defaultValueForSchema } from './default-value';
|
|
|
12
18
|
import { FieldGroup } from './field-group';
|
|
13
19
|
import { FieldNode } from './field-node';
|
|
14
20
|
import { useKeyedCallbacks } from './keyed-callbacks';
|
|
15
|
-
import type { JsonSchema, SchemaFormErrors } from './types';
|
|
21
|
+
import type { FieldWords, JsonSchema, SchemaFormErrors } from './types';
|
|
16
22
|
|
|
17
23
|
export function ArrayField({
|
|
18
24
|
heading,
|
|
@@ -25,6 +31,7 @@ export function ArrayField({
|
|
|
25
31
|
path,
|
|
26
32
|
errors,
|
|
27
33
|
idPrefix,
|
|
34
|
+
words,
|
|
28
35
|
}: {
|
|
29
36
|
heading: string;
|
|
30
37
|
description: string | undefined;
|
|
@@ -36,7 +43,11 @@ export function ArrayField({
|
|
|
36
43
|
path: string;
|
|
37
44
|
errors: SchemaFormErrors | undefined;
|
|
38
45
|
idPrefix: string;
|
|
46
|
+
words: FieldWords | undefined;
|
|
39
47
|
}): ReactNode {
|
|
48
|
+
const removeWord = words?.removeItem ?? 'Remove';
|
|
49
|
+
const itemLabel = (index: number): string =>
|
|
50
|
+
(words?.itemLabel ?? 'Item {n}').split('{n}').join(String(index + 1));
|
|
40
51
|
const list = Array.isArray(value) ? (value as unknown[]) : [];
|
|
41
52
|
const addItem = (): void => {
|
|
42
53
|
onChange([...list, newItemValue(items, root)]);
|
|
@@ -51,7 +62,9 @@ export function ArrayField({
|
|
|
51
62
|
|
|
52
63
|
return (
|
|
53
64
|
<FieldGroup heading={heading} description={description} error={error} atRoot={false}>
|
|
54
|
-
{list.length === 0 ?
|
|
65
|
+
{list.length === 0 ? (
|
|
66
|
+
<span className="tai-field-hint">{words?.noItems ?? 'No items'}</span>
|
|
67
|
+
) : null}
|
|
55
68
|
{list.map((item, index) => (
|
|
56
69
|
<div
|
|
57
70
|
// Index keys are correct here: items have no stable identity and the
|
|
@@ -67,7 +80,7 @@ export function ArrayField({
|
|
|
67
80
|
value={item}
|
|
68
81
|
onChange={changeFor(index)}
|
|
69
82
|
path={`${path}[${String(index)}]`}
|
|
70
|
-
label={
|
|
83
|
+
label={itemLabel(index)}
|
|
71
84
|
required
|
|
72
85
|
errors={errors}
|
|
73
86
|
idPrefix={idPrefix}
|
|
@@ -76,19 +89,19 @@ export function ArrayField({
|
|
|
76
89
|
<Button
|
|
77
90
|
type="button"
|
|
78
91
|
variant="secondary"
|
|
79
|
-
aria-label={
|
|
92
|
+
aria-label={`${removeWord} ${itemLabel(index)}`}
|
|
80
93
|
onClick={() => {
|
|
81
94
|
removeItem(index);
|
|
82
95
|
}}
|
|
83
96
|
>
|
|
84
97
|
<CloseIcon />
|
|
85
|
-
|
|
98
|
+
{removeWord}
|
|
86
99
|
</Button>
|
|
87
100
|
</div>
|
|
88
101
|
))}
|
|
89
102
|
<div>
|
|
90
103
|
<Button type="button" variant="secondary" onClick={addItem}>
|
|
91
|
-
Add item
|
|
104
|
+
{words?.addItem ?? 'Add item'}
|
|
92
105
|
</Button>
|
|
93
106
|
</div>
|
|
94
107
|
</FieldGroup>
|