@opencrvs/toolkit 2.0.0-rc.ff04b30 → 2.0.0-rc.ff1424b
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/create-countryconfig/index.js +50 -20
- package/create-countryconfig/package.json +12 -2
- package/dist/application-config/index.js +250 -97
- package/dist/cli.js +10 -4
- package/dist/commons/api/router.d.ts +107 -21
- package/dist/commons/application-config/index.d.ts +1 -0
- package/dist/commons/conditionals/conditionals.d.ts +354 -4
- package/dist/commons/conditionals/validate.d.ts +51 -2
- package/dist/commons/events/ActionConfig.d.ts +28 -2
- package/dist/commons/events/ActionDocument.d.ts +6 -0
- package/dist/commons/events/ActionInput.d.ts +42 -36
- package/dist/commons/events/AdvancedSearchConfig.d.ts +342 -0
- package/dist/commons/events/Draft.d.ts +2 -3
- package/dist/commons/events/EventDocument.d.ts +3 -0
- package/dist/commons/events/FieldConfig.d.ts +378 -50
- package/dist/commons/events/FieldType.d.ts +1 -0
- package/dist/commons/events/FieldTypeMapping.d.ts +1 -1
- package/dist/commons/events/FieldValue.d.ts +6 -0
- package/dist/commons/events/WorkqueueConfig.d.ts +5 -5
- package/dist/commons/events/field.d.ts +53 -1
- package/dist/commons/events/index.d.ts +2 -0
- package/dist/commons/events/state/flags.d.ts +16 -0
- package/dist/commons/events/state/utils.d.ts +12 -287
- package/dist/commons/events/utils.d.ts +12 -1
- package/dist/conditionals/index.js +52 -1
- package/dist/events/index.js +1035 -222
- package/dist/migrations/v2.0/checkout-upstream-files.d.ts +1 -1
- package/dist/migrations/v2.0/checkout-upstream-files.d.ts.map +1 -1
- package/dist/migrations/v2.0/checkout-upstream-files.js +1 -1
- package/dist/migrations/v2.0/index.js +10 -4
- package/dist/notification/index.js +869 -120
- package/dist/scopes/index.d.ts +4 -6
- package/dist/scopes/index.js +9 -3
- package/opencrvs-toolkit-2.0.0-rc.ff1424b.tgz +0 -0
- package/package.json +6 -2
- package/opencrvs-toolkit-2.0.0-rc.ff04b30.tgz +0 -0
|
@@ -76,8 +76,8 @@ var ActionConditional = z.discriminatedUnion("type", [
|
|
|
76
76
|
// Action can be shown to the user in the list but as disabled
|
|
77
77
|
EnableConditional
|
|
78
78
|
]).meta({
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
id: "ActionConditional",
|
|
80
|
+
description: "Conditional gating whether an action is shown (SHOW) or enabled (ENABLE). When omitted from an action, the action is shown and enabled for everyone."
|
|
81
81
|
});
|
|
82
82
|
var DisplayOnReviewConditional = z.object({
|
|
83
83
|
type: z.literal(ConditionalType.DISPLAY_ON_REVIEW),
|
|
@@ -93,8 +93,8 @@ var FieldConditional = z.discriminatedUnion("type", [
|
|
|
93
93
|
// Field output can be shown / hidden on the review page
|
|
94
94
|
DisplayOnReviewConditional
|
|
95
95
|
]).meta({
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
id: "FieldConditional",
|
|
97
|
+
description: "Conditional gating whether a form field is shown (SHOW), enabled (ENABLE), or displayed on the review page (DISPLAY_ON_REVIEW). When omitted, the field is shown and enabled for everyone, and is displayed on review whenever it has a value."
|
|
98
98
|
});
|
|
99
99
|
|
|
100
100
|
// ../commons/src/events/TranslationConfig.ts
|
|
@@ -206,6 +206,11 @@ var FieldTypesToHideInReview = [
|
|
|
206
206
|
FieldType.ALPHA_PRINT_BUTTON,
|
|
207
207
|
FieldType.ALPHA_HIDDEN
|
|
208
208
|
];
|
|
209
|
+
var HiddenFieldTypes = [
|
|
210
|
+
FieldType.HTTP,
|
|
211
|
+
FieldType.QUERY_PARAM_READER,
|
|
212
|
+
FieldType.ALPHA_HIDDEN
|
|
213
|
+
];
|
|
209
214
|
|
|
210
215
|
// ../commons/src/events/FieldValue.ts
|
|
211
216
|
var z7 = __toESM(require("zod/v4"));
|
|
@@ -324,7 +329,7 @@ var PlainDate = import_zod.z.string().date().brand("PlainDate").describe("Date i
|
|
|
324
329
|
// ../commons/src/events/FieldValue.ts
|
|
325
330
|
var TextValue = z7.string();
|
|
326
331
|
var HiddenFieldValue = z7.string();
|
|
327
|
-
var NonEmptyTextValue =
|
|
332
|
+
var NonEmptyTextValue = z7.string().trim().min(1);
|
|
328
333
|
var DateValue = z7.iso.date().describe("Date in the format YYYY-MM-DD");
|
|
329
334
|
var AgeValue = z7.object({
|
|
330
335
|
age: z7.number(),
|
|
@@ -353,6 +358,7 @@ var DateRangeFieldValue = z7.object({
|
|
|
353
358
|
var EmailValue = z7.email();
|
|
354
359
|
var CheckboxFieldValue = z7.boolean();
|
|
355
360
|
var NumberFieldValue = z7.number();
|
|
361
|
+
var SignatureFieldValue = FileFieldValue;
|
|
356
362
|
var ButtonFieldValue = z7.number();
|
|
357
363
|
var VerificationStatusValue = z7.enum([
|
|
358
364
|
"verified",
|
|
@@ -989,8 +995,9 @@ var RequestedCorrectionAction = ActionBase.extend(
|
|
|
989
995
|
var ApprovedCorrectionAction = ActionBase.extend(
|
|
990
996
|
z13.object({
|
|
991
997
|
type: z13.literal(ActionType.APPROVE_CORRECTION),
|
|
992
|
-
requestId: z13.string()
|
|
998
|
+
requestId: z13.string(),
|
|
993
999
|
// TODO move into 'content' property
|
|
1000
|
+
content: z13.object({ immediateCorrection: z13.boolean().optional() }).optional()
|
|
994
1001
|
}).shape
|
|
995
1002
|
);
|
|
996
1003
|
var RejectedCorrectionAction = ActionBase.extend(
|
|
@@ -1083,8 +1090,8 @@ var FlagConfig = z14.object({
|
|
|
1083
1090
|
),
|
|
1084
1091
|
label: TranslationConfig.describe("Human readable label of the flag.")
|
|
1085
1092
|
}).meta({
|
|
1086
|
-
|
|
1087
|
-
|
|
1093
|
+
id: "FlagConfig",
|
|
1094
|
+
description: "Configuration for a custom flag that can be added to or removed from records by event actions."
|
|
1088
1095
|
});
|
|
1089
1096
|
var ActionFlagConfig = z14.object({
|
|
1090
1097
|
id: Flag,
|
|
@@ -1093,8 +1100,8 @@ var ActionFlagConfig = z14.object({
|
|
|
1093
1100
|
"When conditional is met, the operation is performed on the flag. If not provided, the operation is performed unconditionally."
|
|
1094
1101
|
)
|
|
1095
1102
|
}).meta({
|
|
1096
|
-
|
|
1097
|
-
|
|
1103
|
+
id: "ActionFlagConfig",
|
|
1104
|
+
description: "Add or remove operation applied to a flag when the parent action is accepted. Optionally gated by a conditional."
|
|
1098
1105
|
});
|
|
1099
1106
|
|
|
1100
1107
|
// ../commons/src/events/EventMetadata.ts
|
|
@@ -1410,11 +1417,28 @@ var FieldReference = import_v43.default.object({
|
|
|
1410
1417
|
$$field: FieldId.describe("Id of the field to reference"),
|
|
1411
1418
|
$$subfield: import_v43.default.array(import_v43.default.string()).optional().default([]).describe(
|
|
1412
1419
|
'If the FieldValue is an object, subfield can be used to refer to e.g. `["foo", "bar"]` in `{ foo: { bar: 3 } }`'
|
|
1420
|
+
),
|
|
1421
|
+
$$code: import_v43.default.string().optional().describe(
|
|
1422
|
+
"Serialised client-side function body. When present the expression is evaluated rather than dereferenced."
|
|
1423
|
+
)
|
|
1424
|
+
}).describe(
|
|
1425
|
+
"Reference to a field value, with an optional client-side computation applied."
|
|
1426
|
+
);
|
|
1427
|
+
var ComputedDefaultValue = import_v43.default.object({
|
|
1428
|
+
$$code: import_v43.default.string().describe(
|
|
1429
|
+
"Serialised client-side function body. Receives (undefined, context) where context includes $now, $online, and system variables."
|
|
1413
1430
|
)
|
|
1414
|
-
}).describe("
|
|
1431
|
+
}).describe("A context-only computation used as a field default value.");
|
|
1415
1432
|
var ValidationConfig = import_v43.default.object({
|
|
1416
|
-
validator: Conditional
|
|
1417
|
-
|
|
1433
|
+
validator: Conditional.describe(
|
|
1434
|
+
"Conditional expression that must hold for the field value to be considered valid."
|
|
1435
|
+
),
|
|
1436
|
+
message: TranslationConfig.describe(
|
|
1437
|
+
"Error message displayed when the validator does not hold."
|
|
1438
|
+
)
|
|
1439
|
+
}).meta({
|
|
1440
|
+
id: "ValidationConfig",
|
|
1441
|
+
description: "Validation rule applied to a form field. The validator is a conditional expression that must hold for the field value to be considered valid."
|
|
1418
1442
|
});
|
|
1419
1443
|
var requiredSchema = import_v43.default.union([
|
|
1420
1444
|
import_v43.default.boolean(),
|
|
@@ -1445,7 +1469,7 @@ var BaseField = import_v43.default.object({
|
|
|
1445
1469
|
"Indicates whether the field can be modified during record correction."
|
|
1446
1470
|
),
|
|
1447
1471
|
value: FieldReference.or(import_v43.default.array(FieldReference)).optional().describe(
|
|
1448
|
-
"Reference to the source field or fields. When a value is defined, it is copied from the parent field when changed. If multiple references are provided, the first truthy value is used."
|
|
1472
|
+
"Reference to the source field or fields. When a value is defined, it is copied from the parent field when changed. If multiple references are provided, the first truthy value is used. A FieldReference with $$code computes the value via a custom client-side function."
|
|
1449
1473
|
),
|
|
1450
1474
|
analytics: import_v43.default.boolean().default(false).optional().describe(
|
|
1451
1475
|
"Indicates whether the field is included in analytics. When enabled, its value becomes available in the analytics dashboard."
|
|
@@ -1453,30 +1477,40 @@ var BaseField = import_v43.default.object({
|
|
|
1453
1477
|
}).describe("Common properties shared across all field types.");
|
|
1454
1478
|
var Divider = BaseField.extend({
|
|
1455
1479
|
type: import_v43.default.literal(FieldType.DIVIDER)
|
|
1480
|
+
}).meta({
|
|
1481
|
+
description: "A horizontal line divider",
|
|
1482
|
+
id: "Divider"
|
|
1456
1483
|
});
|
|
1457
1484
|
var TextField = BaseField.extend({
|
|
1458
1485
|
type: import_v43.default.literal(FieldType.TEXT),
|
|
1459
|
-
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField]).optional(),
|
|
1486
|
+
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField, ComputedDefaultValue]).optional(),
|
|
1460
1487
|
configuration: import_v43.default.object({
|
|
1461
1488
|
maxLength: import_v43.default.number().optional().describe("Maximum length of the text"),
|
|
1462
1489
|
type: import_v43.default.enum(["text", "password"]).optional(),
|
|
1463
1490
|
prefix: TranslationConfig.optional(),
|
|
1464
1491
|
postfix: TranslationConfig.optional()
|
|
1465
1492
|
}).default({ type: "text" }).optional()
|
|
1466
|
-
}).
|
|
1493
|
+
}).meta({
|
|
1494
|
+
description: "A text input field",
|
|
1495
|
+
id: "TextField"
|
|
1496
|
+
});
|
|
1467
1497
|
var NumberField = BaseField.extend({
|
|
1468
1498
|
type: import_v43.default.literal(FieldType.NUMBER),
|
|
1469
|
-
defaultValue: NumberFieldValue.optional(),
|
|
1499
|
+
defaultValue: NumberFieldValue.or(ComputedDefaultValue).optional(),
|
|
1470
1500
|
configuration: import_v43.default.object({
|
|
1471
1501
|
min: import_v43.default.number().optional().describe("Minimum value"),
|
|
1472
1502
|
max: import_v43.default.number().optional().describe("Maximum value"),
|
|
1503
|
+
integer: import_v43.default.boolean().optional().describe("When true, only whole numbers are allowed"),
|
|
1473
1504
|
prefix: TranslationConfig.optional(),
|
|
1474
1505
|
postfix: TranslationConfig.optional()
|
|
1475
1506
|
}).optional()
|
|
1476
|
-
}).
|
|
1507
|
+
}).meta({
|
|
1508
|
+
description: "A number input field",
|
|
1509
|
+
id: "NumberField"
|
|
1510
|
+
});
|
|
1477
1511
|
var TextAreaField = BaseField.extend({
|
|
1478
1512
|
type: import_v43.default.literal(FieldType.TEXTAREA),
|
|
1479
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1513
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1480
1514
|
configuration: import_v43.default.object({
|
|
1481
1515
|
maxLength: import_v43.default.number().optional().describe("Maximum length of the text"),
|
|
1482
1516
|
rows: import_v43.default.number().optional().describe("Number of visible text lines"),
|
|
@@ -1484,7 +1518,10 @@ var TextAreaField = BaseField.extend({
|
|
|
1484
1518
|
prefix: TranslationConfig.optional(),
|
|
1485
1519
|
postfix: TranslationConfig.optional()
|
|
1486
1520
|
}).default({ rows: 4 }).optional()
|
|
1487
|
-
}).
|
|
1521
|
+
}).meta({
|
|
1522
|
+
description: "A multiline text input",
|
|
1523
|
+
id: "TextAreaField"
|
|
1524
|
+
});
|
|
1488
1525
|
var ImageMimeType = import_v43.default.enum([
|
|
1489
1526
|
"image/png",
|
|
1490
1527
|
"image/jpg",
|
|
@@ -1507,58 +1544,76 @@ var SignatureField = BaseField.extend({
|
|
|
1507
1544
|
signaturePromptLabel: TranslationConfig.describe(
|
|
1508
1545
|
"Title of the signature modal"
|
|
1509
1546
|
),
|
|
1510
|
-
defaultValue:
|
|
1547
|
+
defaultValue: SignatureFieldValue.or(ComputedDefaultValue).optional(),
|
|
1511
1548
|
configuration: import_v43.default.object({
|
|
1512
1549
|
maxFileSize: import_v43.default.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1513
1550
|
acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature")
|
|
1514
1551
|
}).default({
|
|
1515
1552
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1516
1553
|
})
|
|
1517
|
-
}).
|
|
1554
|
+
}).meta({
|
|
1555
|
+
description: "A signature input field",
|
|
1556
|
+
id: "SignatureField"
|
|
1557
|
+
});
|
|
1518
1558
|
var EmailField = BaseField.extend({
|
|
1519
1559
|
type: import_v43.default.literal(FieldType.EMAIL),
|
|
1520
1560
|
configuration: import_v43.default.object({
|
|
1521
1561
|
maxLength: import_v43.default.number().optional().describe("Maximum length of the text")
|
|
1522
1562
|
}).default({ maxLength: 255 }).optional(),
|
|
1523
|
-
defaultValue: NonEmptyTextValue.optional()
|
|
1563
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional()
|
|
1564
|
+
}).meta({
|
|
1565
|
+
description: "An email input field",
|
|
1566
|
+
id: "EmailField"
|
|
1524
1567
|
});
|
|
1525
1568
|
var DateField = BaseField.extend({
|
|
1526
1569
|
type: import_v43.default.literal(FieldType.DATE),
|
|
1527
|
-
defaultValue: SerializedNowDateTime.or(PlainDate).optional().describe("Default date value(yyyy-MM-dd)"),
|
|
1570
|
+
defaultValue: SerializedNowDateTime.or(PlainDate).or(ComputedDefaultValue).optional().describe("Default date value(yyyy-MM-dd)"),
|
|
1528
1571
|
configuration: import_v43.default.object({
|
|
1529
1572
|
notice: TranslationConfig.describe(
|
|
1530
1573
|
"Text to display above the date input"
|
|
1531
1574
|
).optional()
|
|
1532
1575
|
}).optional()
|
|
1533
|
-
}).
|
|
1576
|
+
}).meta({
|
|
1577
|
+
description: "A date input (yyyy-MM-dd)",
|
|
1578
|
+
id: "DateField"
|
|
1579
|
+
});
|
|
1534
1580
|
var AgeField = BaseField.extend({
|
|
1535
1581
|
type: import_v43.default.literal(FieldType.AGE),
|
|
1536
|
-
defaultValue: NumberFieldValue.optional(),
|
|
1582
|
+
defaultValue: NumberFieldValue.or(ComputedDefaultValue).optional(),
|
|
1537
1583
|
configuration: import_v43.default.object({
|
|
1538
1584
|
asOfDate: FieldReference,
|
|
1539
1585
|
prefix: TranslationConfig.optional(),
|
|
1540
1586
|
postfix: TranslationConfig.optional()
|
|
1541
1587
|
})
|
|
1542
|
-
}).
|
|
1588
|
+
}).meta({
|
|
1589
|
+
description: "An age input field which uses the current date as the asOfDate",
|
|
1590
|
+
id: "AgeField"
|
|
1591
|
+
});
|
|
1543
1592
|
var TimeField = BaseField.extend({
|
|
1544
1593
|
type: import_v43.default.literal(FieldType.TIME),
|
|
1545
|
-
defaultValue: SerializedNowDateTime.or(TimeValue).optional().describe("Default time value (HH-mm)"),
|
|
1594
|
+
defaultValue: SerializedNowDateTime.or(TimeValue).or(ComputedDefaultValue).optional().describe("Default time value (HH-mm)"),
|
|
1546
1595
|
configuration: import_v43.default.object({
|
|
1547
1596
|
use12HourFormat: import_v43.default.boolean().optional().describe("Whether to use 12-hour format"),
|
|
1548
1597
|
notice: TranslationConfig.describe(
|
|
1549
1598
|
"Text to display above the time input"
|
|
1550
1599
|
).optional()
|
|
1551
1600
|
}).optional()
|
|
1552
|
-
}).
|
|
1601
|
+
}).meta({
|
|
1602
|
+
description: "A single time input (HH-mm)",
|
|
1603
|
+
id: "TimeField"
|
|
1604
|
+
});
|
|
1553
1605
|
var DateRangeField = BaseField.extend({
|
|
1554
1606
|
type: import_v43.default.literal(FieldType.DATE_RANGE),
|
|
1555
|
-
defaultValue: DateRangeFieldValue.optional(),
|
|
1607
|
+
defaultValue: DateRangeFieldValue.or(ComputedDefaultValue).optional(),
|
|
1556
1608
|
configuration: import_v43.default.object({
|
|
1557
1609
|
notice: TranslationConfig.describe(
|
|
1558
1610
|
"Text to display above the date input"
|
|
1559
1611
|
).optional()
|
|
1560
1612
|
}).optional()
|
|
1561
|
-
}).
|
|
1613
|
+
}).meta({
|
|
1614
|
+
description: "A date range input ({ start: yyyy-MM-dd, end: yyyy-MM-dd })",
|
|
1615
|
+
id: "DateRangeField"
|
|
1616
|
+
});
|
|
1562
1617
|
var HtmlFontVariant = import_v43.default.enum([
|
|
1563
1618
|
"reg12",
|
|
1564
1619
|
"reg14",
|
|
@@ -1602,21 +1657,33 @@ var ImageViewField = BaseField.extend({
|
|
|
1602
1657
|
type: import_v43.default.literal(FieldType.IMAGE_VIEW),
|
|
1603
1658
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1604
1659
|
configuration: ImageConfiguration
|
|
1605
|
-
}).
|
|
1660
|
+
}).meta({
|
|
1661
|
+
description: "A read-only image component for form pages",
|
|
1662
|
+
id: "ImageViewField"
|
|
1663
|
+
});
|
|
1606
1664
|
var Paragraph = BaseField.extend({
|
|
1607
1665
|
type: import_v43.default.literal(FieldType.PARAGRAPH),
|
|
1608
1666
|
configuration: ParagraphConfiguration
|
|
1609
|
-
}).
|
|
1667
|
+
}).meta({
|
|
1668
|
+
description: "A read-only HTML <p> paragraph",
|
|
1669
|
+
id: "Paragraph"
|
|
1670
|
+
});
|
|
1610
1671
|
var Heading = BaseField.extend({
|
|
1611
1672
|
type: import_v43.default.literal(FieldType.HEADING),
|
|
1612
1673
|
configuration: HeadingConfiguration
|
|
1613
|
-
}).
|
|
1674
|
+
}).meta({
|
|
1675
|
+
description: "A read-only heading component for form pages",
|
|
1676
|
+
id: "Heading"
|
|
1677
|
+
});
|
|
1614
1678
|
var PageHeader = BaseField.extend({
|
|
1615
1679
|
type: import_v43.default.literal(FieldType.PAGE_HEADER)
|
|
1616
|
-
}).
|
|
1680
|
+
}).meta({
|
|
1681
|
+
description: "A read-only header component for form pages",
|
|
1682
|
+
id: "PageHeader"
|
|
1683
|
+
});
|
|
1617
1684
|
var File = BaseField.extend({
|
|
1618
1685
|
type: import_v43.default.literal(FieldType.FILE),
|
|
1619
|
-
defaultValue: FileFieldValue.optional(),
|
|
1686
|
+
defaultValue: FileFieldValue.or(ComputedDefaultValue).optional(),
|
|
1620
1687
|
configuration: import_v43.default.object({
|
|
1621
1688
|
maxFileSize: import_v43.default.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1622
1689
|
acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature"),
|
|
@@ -1632,7 +1699,10 @@ var File = BaseField.extend({
|
|
|
1632
1699
|
}).default({
|
|
1633
1700
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1634
1701
|
})
|
|
1635
|
-
}).
|
|
1702
|
+
}).meta({
|
|
1703
|
+
description: "A file upload field",
|
|
1704
|
+
id: "File"
|
|
1705
|
+
});
|
|
1636
1706
|
var SelectOption = import_v43.default.object({
|
|
1637
1707
|
value: import_v43.default.string().describe("The value of the option"),
|
|
1638
1708
|
label: import_v43.default.union([import_v43.default.string(), TranslationConfig]).describe("The label of the option"),
|
|
@@ -1640,7 +1710,7 @@ var SelectOption = import_v43.default.object({
|
|
|
1640
1710
|
});
|
|
1641
1711
|
var NumberWithUnitField = BaseField.extend({
|
|
1642
1712
|
type: import_v43.default.literal(FieldType.NUMBER_WITH_UNIT),
|
|
1643
|
-
defaultValue: NumberWithUnitFieldValue.optional(),
|
|
1713
|
+
defaultValue: NumberWithUnitFieldValue.or(ComputedDefaultValue).optional(),
|
|
1644
1714
|
options: import_v43.default.array(SelectOption).describe("A list of options for the unit select"),
|
|
1645
1715
|
configuration: import_v43.default.object({
|
|
1646
1716
|
min: import_v43.default.number().optional().describe("Minimum value of the number field"),
|
|
@@ -1649,17 +1719,23 @@ var NumberWithUnitField = BaseField.extend({
|
|
|
1649
1719
|
"Placeholder for the number field"
|
|
1650
1720
|
)
|
|
1651
1721
|
}).optional()
|
|
1652
|
-
}).
|
|
1722
|
+
}).meta({
|
|
1723
|
+
description: "A number with unit input field",
|
|
1724
|
+
id: "NumberWithUnitField"
|
|
1725
|
+
});
|
|
1653
1726
|
var RadioGroup = BaseField.extend({
|
|
1654
1727
|
type: import_v43.default.literal(FieldType.RADIO_GROUP),
|
|
1655
|
-
defaultValue: TextValue.optional(),
|
|
1728
|
+
defaultValue: TextValue.or(ComputedDefaultValue).optional(),
|
|
1656
1729
|
options: import_v43.default.array(SelectOption).describe("A list of options"),
|
|
1657
1730
|
configuration: import_v43.default.object({
|
|
1658
1731
|
styles: import_v43.default.object({
|
|
1659
1732
|
size: import_v43.default.enum(["NORMAL", "LARGE"]).optional()
|
|
1660
1733
|
}).optional()
|
|
1661
1734
|
}).optional()
|
|
1662
|
-
}).
|
|
1735
|
+
}).meta({
|
|
1736
|
+
description: "A grouped radio button field",
|
|
1737
|
+
id: "RadioGroup"
|
|
1738
|
+
});
|
|
1663
1739
|
var BulletList = BaseField.extend({
|
|
1664
1740
|
type: import_v43.default.literal(FieldType.BULLET_LIST),
|
|
1665
1741
|
items: import_v43.default.array(TranslationConfig).describe("A list of items"),
|
|
@@ -1668,10 +1744,13 @@ var BulletList = BaseField.extend({
|
|
|
1668
1744
|
fontVariant: HtmlFontVariant.optional()
|
|
1669
1745
|
}).optional()
|
|
1670
1746
|
}).default({})
|
|
1671
|
-
}).
|
|
1747
|
+
}).meta({
|
|
1748
|
+
description: "A list of bullet points",
|
|
1749
|
+
id: "BulletList"
|
|
1750
|
+
});
|
|
1672
1751
|
var Select = BaseField.extend({
|
|
1673
1752
|
type: import_v43.default.literal(FieldType.SELECT),
|
|
1674
|
-
defaultValue: TextValue.optional(),
|
|
1753
|
+
defaultValue: TextValue.or(ComputedDefaultValue).optional(),
|
|
1675
1754
|
options: import_v43.default.array(SelectOption).describe("A list of options"),
|
|
1676
1755
|
noOptionsMessage: TranslationConfig.optional().describe(
|
|
1677
1756
|
`
|
|
@@ -1683,16 +1762,22 @@ var Select = BaseField.extend({
|
|
|
1683
1762
|
{ ..., defaultMessage: "'{input}' is not listed among the health facilities." }
|
|
1684
1763
|
`
|
|
1685
1764
|
)
|
|
1686
|
-
}).
|
|
1765
|
+
}).meta({
|
|
1766
|
+
description: "A select input field",
|
|
1767
|
+
id: "Select"
|
|
1768
|
+
});
|
|
1687
1769
|
var SelectDateRangeOption = import_v43.default.object({
|
|
1688
1770
|
value: SelectDateRangeValue.describe("The value of the option"),
|
|
1689
1771
|
label: TranslationConfig.describe("The label of the option")
|
|
1690
1772
|
});
|
|
1691
1773
|
var SelectDateRangeField = BaseField.extend({
|
|
1692
1774
|
type: import_v43.default.literal(FieldType.SELECT_DATE_RANGE),
|
|
1693
|
-
defaultValue: SelectDateRangeValue.optional(),
|
|
1775
|
+
defaultValue: SelectDateRangeValue.or(ComputedDefaultValue).optional(),
|
|
1694
1776
|
options: import_v43.default.array(SelectDateRangeOption).describe("A list of options")
|
|
1695
|
-
}).
|
|
1777
|
+
}).meta({
|
|
1778
|
+
description: "A date range selection field",
|
|
1779
|
+
id: "SelectDateRangeField"
|
|
1780
|
+
});
|
|
1696
1781
|
var NameConfig = import_v43.default.object({
|
|
1697
1782
|
firstname: import_v43.default.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
|
|
1698
1783
|
middlename: import_v43.default.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
|
|
@@ -1704,7 +1789,7 @@ var NameField = BaseField.extend({
|
|
|
1704
1789
|
firstname: SerializedUserField.or(NonEmptyTextValue).optional(),
|
|
1705
1790
|
middlename: SerializedUserField.or(NonEmptyTextValue).optional(),
|
|
1706
1791
|
surname: SerializedUserField.or(NonEmptyTextValue).optional()
|
|
1707
|
-
}).optional(),
|
|
1792
|
+
}).or(ComputedDefaultValue).optional(),
|
|
1708
1793
|
configuration: import_v43.default.object({
|
|
1709
1794
|
name: NameConfig.default({
|
|
1710
1795
|
firstname: { required: true },
|
|
@@ -1723,26 +1808,41 @@ var NameField = BaseField.extend({
|
|
|
1723
1808
|
surname: { required: true }
|
|
1724
1809
|
}
|
|
1725
1810
|
}).optional()
|
|
1726
|
-
}).
|
|
1811
|
+
}).meta({
|
|
1812
|
+
description: "A field for entering a persons name",
|
|
1813
|
+
id: "NameField"
|
|
1814
|
+
});
|
|
1727
1815
|
var PhoneField = BaseField.extend({
|
|
1728
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1816
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1729
1817
|
type: import_v43.default.literal(FieldType.PHONE)
|
|
1730
|
-
}).
|
|
1818
|
+
}).meta({
|
|
1819
|
+
description: "A field for entering a phone number",
|
|
1820
|
+
id: "PhoneField"
|
|
1821
|
+
});
|
|
1731
1822
|
var IdField = BaseField.extend({
|
|
1732
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1823
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1733
1824
|
type: import_v43.default.literal(FieldType.ID)
|
|
1734
|
-
}).
|
|
1825
|
+
}).meta({
|
|
1826
|
+
description: "A field for entering an ID",
|
|
1827
|
+
id: "IdField"
|
|
1828
|
+
});
|
|
1735
1829
|
var Checkbox = BaseField.extend({
|
|
1736
1830
|
type: import_v43.default.literal(FieldType.CHECKBOX),
|
|
1737
|
-
defaultValue: CheckboxFieldValue.default(false)
|
|
1738
|
-
}).
|
|
1831
|
+
defaultValue: CheckboxFieldValue.or(ComputedDefaultValue).default(false)
|
|
1832
|
+
}).meta({
|
|
1833
|
+
description: "A boolean checkbox field",
|
|
1834
|
+
id: "Checkbox"
|
|
1835
|
+
});
|
|
1739
1836
|
var Country = BaseField.extend({
|
|
1740
1837
|
type: import_v43.default.literal(FieldType.COUNTRY),
|
|
1741
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1838
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1742
1839
|
optionOverrides: import_v43.default.array(SelectOption.omit({ label: true })).optional().describe(
|
|
1743
1840
|
"Conditionals for specific countries. Countries not listed are always shown and enabled."
|
|
1744
1841
|
)
|
|
1745
|
-
}).
|
|
1842
|
+
}).meta({
|
|
1843
|
+
description: "A field for selecting a country",
|
|
1844
|
+
id: "Country"
|
|
1845
|
+
});
|
|
1746
1846
|
var AllowedLocations = JurisdictionReference.optional().describe(
|
|
1747
1847
|
"Limits which location options are selectable depending on user jurisdiction and location."
|
|
1748
1848
|
);
|
|
@@ -1751,28 +1851,33 @@ var AdministrativeAreas = import_v43.default.enum([
|
|
|
1751
1851
|
"HEALTH_FACILITY",
|
|
1752
1852
|
"CRVS_OFFICE"
|
|
1753
1853
|
]);
|
|
1754
|
-
var AdministrativeAreaConfiguration = import_v43.default.object({
|
|
1755
|
-
partOf: FieldReference.optional().describe("Parent location"),
|
|
1756
|
-
type: AdministrativeAreas,
|
|
1757
|
-
allowedLocations: AllowedLocations
|
|
1758
|
-
}).describe("Administrative area options");
|
|
1759
1854
|
var AdministrativeAreaField = BaseField.extend({
|
|
1760
1855
|
type: import_v43.default.literal(FieldType.ADMINISTRATIVE_AREA),
|
|
1761
|
-
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField]).optional(),
|
|
1762
|
-
configuration:
|
|
1763
|
-
|
|
1856
|
+
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField, ComputedDefaultValue]).optional(),
|
|
1857
|
+
configuration: import_v43.default.object({
|
|
1858
|
+
partOf: FieldReference.optional().describe("Parent location"),
|
|
1859
|
+
type: AdministrativeAreas,
|
|
1860
|
+
allowedLocations: AllowedLocations
|
|
1861
|
+
}).describe("Administrative area options")
|
|
1862
|
+
}).meta({
|
|
1863
|
+
description: "Administrative area input field",
|
|
1864
|
+
id: "AdministrativeAreaField"
|
|
1865
|
+
});
|
|
1764
1866
|
var LocationInput = BaseField.extend({
|
|
1765
1867
|
type: import_v43.default.literal(FieldType.LOCATION),
|
|
1766
|
-
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField]).optional(),
|
|
1868
|
+
defaultValue: import_v43.default.union([NonEmptyTextValue, SerializedUserField, ComputedDefaultValue]).optional(),
|
|
1767
1869
|
configuration: import_v43.default.object({
|
|
1768
1870
|
locationTypes: import_v43.default.array(import_v43.default.string()).optional().describe("Types of the locations that are available for selection."),
|
|
1769
1871
|
allowedLocations: AllowedLocations
|
|
1770
1872
|
}).optional()
|
|
1771
|
-
}).
|
|
1873
|
+
}).meta({
|
|
1874
|
+
description: "A field for selecting a location",
|
|
1875
|
+
id: "LocationInput"
|
|
1876
|
+
});
|
|
1772
1877
|
var FileUploadWithOptions = BaseField.extend({
|
|
1773
1878
|
type: import_v43.default.literal(FieldType.FILE_WITH_OPTIONS),
|
|
1774
1879
|
options: import_v43.default.array(SelectOption).describe("A list of options"),
|
|
1775
|
-
defaultValue: FileFieldWithOptionValue.optional(),
|
|
1880
|
+
defaultValue: FileFieldWithOptionValue.or(ComputedDefaultValue).optional(),
|
|
1776
1881
|
configuration: import_v43.default.object({
|
|
1777
1882
|
maxFileSize: import_v43.default.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1778
1883
|
maxImageSize: import_v43.default.object({
|
|
@@ -1782,15 +1887,18 @@ var FileUploadWithOptions = BaseField.extend({
|
|
|
1782
1887
|
}).default({
|
|
1783
1888
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1784
1889
|
})
|
|
1890
|
+
}).meta({
|
|
1891
|
+
description: "A field for uploading files with file type options",
|
|
1892
|
+
id: "FileUploadWithOptions"
|
|
1785
1893
|
});
|
|
1786
1894
|
var Facility = BaseField.extend({
|
|
1787
1895
|
type: import_v43.default.literal(FieldType.FACILITY),
|
|
1788
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1896
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1789
1897
|
configuration: import_v43.default.object({ allowedLocations: AllowedLocations }).optional()
|
|
1790
1898
|
}).describe("Input field for a facility");
|
|
1791
1899
|
var Office = BaseField.extend({
|
|
1792
1900
|
type: import_v43.default.literal(FieldType.OFFICE),
|
|
1793
|
-
defaultValue: NonEmptyTextValue.optional(),
|
|
1901
|
+
defaultValue: NonEmptyTextValue.or(ComputedDefaultValue).optional(),
|
|
1794
1902
|
configuration: import_v43.default.object({ allowedLocations: AllowedLocations }).optional()
|
|
1795
1903
|
}).describe("Input field for an office");
|
|
1796
1904
|
var DefaultAddressFieldValue = DomesticAddressFieldValue.extend({
|
|
@@ -1826,8 +1934,11 @@ var Address = BaseField.extend({
|
|
|
1826
1934
|
).optional(),
|
|
1827
1935
|
allowedLocations: AllowedLocations
|
|
1828
1936
|
}).optional(),
|
|
1829
|
-
defaultValue: DefaultAddressFieldValue.optional()
|
|
1830
|
-
}).
|
|
1937
|
+
defaultValue: DefaultAddressFieldValue.or(ComputedDefaultValue).optional()
|
|
1938
|
+
}).meta({
|
|
1939
|
+
description: "Address input field \u2013 a combination of location and text fields",
|
|
1940
|
+
id: "Address"
|
|
1941
|
+
});
|
|
1831
1942
|
var StaticDataEntry = import_v43.default.object({
|
|
1832
1943
|
id: import_v43.default.string().describe("ID for the data entry."),
|
|
1833
1944
|
label: TranslationConfig,
|
|
@@ -1842,7 +1953,10 @@ var DataField = BaseField.extend({
|
|
|
1842
1953
|
subtitle: TranslationConfig.optional(),
|
|
1843
1954
|
data: import_v43.default.array(DataEntry)
|
|
1844
1955
|
})
|
|
1845
|
-
}).
|
|
1956
|
+
}).meta({
|
|
1957
|
+
description: "A field for displaying a table of read-only data",
|
|
1958
|
+
id: "DataField"
|
|
1959
|
+
});
|
|
1846
1960
|
var ButtonSize = import_v43.default.enum(["small", "medium", "large"]);
|
|
1847
1961
|
var ButtonType = import_v43.default.enum([
|
|
1848
1962
|
"primary",
|
|
@@ -1867,13 +1981,19 @@ var ButtonConfiguration = import_v43.default.object({
|
|
|
1867
1981
|
});
|
|
1868
1982
|
var ButtonField = BaseField.extend({
|
|
1869
1983
|
type: import_v43.default.literal(FieldType.BUTTON),
|
|
1870
|
-
defaultValue: ButtonFieldValue.optional(),
|
|
1984
|
+
defaultValue: ButtonFieldValue.or(ComputedDefaultValue).optional(),
|
|
1871
1985
|
configuration: ButtonConfiguration
|
|
1872
|
-
}).
|
|
1986
|
+
}).meta({
|
|
1987
|
+
description: "A generic button that can be used to trigger an action",
|
|
1988
|
+
id: "ButtonField"
|
|
1989
|
+
});
|
|
1873
1990
|
var FieldGroup = BaseField.extend({
|
|
1874
1991
|
type: import_v43.default.literal(FieldType.FIELD_GROUP),
|
|
1875
1992
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
1876
1993
|
fields: import_v43.default.lazy(() => import_v43.default.array(FieldConfig))
|
|
1994
|
+
}).meta({
|
|
1995
|
+
description: "A group of fields that are displayed together",
|
|
1996
|
+
id: "FieldGroup"
|
|
1877
1997
|
});
|
|
1878
1998
|
var AlphaPrintButton = BaseField.extend({
|
|
1879
1999
|
type: import_v43.default.literal(FieldType.ALPHA_PRINT_BUTTON),
|
|
@@ -1883,10 +2003,13 @@ var AlphaPrintButton = BaseField.extend({
|
|
|
1883
2003
|
"Label for the print button"
|
|
1884
2004
|
)
|
|
1885
2005
|
})
|
|
1886
|
-
}).
|
|
2006
|
+
}).meta({
|
|
2007
|
+
description: "An experimental print button field for printing certificates during the declaration process",
|
|
2008
|
+
id: "AlphaPrintButton"
|
|
2009
|
+
});
|
|
1887
2010
|
var HttpField = BaseField.extend({
|
|
1888
2011
|
type: import_v43.default.literal(FieldType.HTTP),
|
|
1889
|
-
defaultValue: HttpFieldValue.optional(),
|
|
2012
|
+
defaultValue: HttpFieldValue.or(ComputedDefaultValue).optional(),
|
|
1890
2013
|
configuration: import_v43.default.object({
|
|
1891
2014
|
trigger: FieldReference.optional().describe(
|
|
1892
2015
|
"Reference to the field that triggers the HTTP request when its value changes. If not provided, the HTTP request is triggered once on component mount."
|
|
@@ -1899,20 +2022,30 @@ var HttpField = BaseField.extend({
|
|
|
1899
2022
|
params: import_v43.default.record(import_v43.default.string(), import_v43.default.union([import_v43.default.string(), FieldReference])).optional(),
|
|
1900
2023
|
timeout: import_v43.default.number().default(15e3).describe("Request timeout in milliseconds")
|
|
1901
2024
|
})
|
|
1902
|
-
}).
|
|
2025
|
+
}).meta({
|
|
2026
|
+
description: "Makes a background HTTP request to an external service and stores the response so other fields can use it. Has no visible UI \u2014 pair with LOADER to show request status.",
|
|
2027
|
+
id: "HttpField"
|
|
2028
|
+
});
|
|
1903
2029
|
var AutocompleteField = BaseField.extend({
|
|
1904
2030
|
type: import_v43.default.literal(FieldType.AUTOCOMPLETE),
|
|
1905
2031
|
configuration: import_v43.default.object({
|
|
1906
|
-
url: import_v43.default.string().describe(
|
|
2032
|
+
url: import_v43.default.string().describe(
|
|
2033
|
+
"URL to fetch autocomplete suggestions from. This should be a country config server endpoint."
|
|
2034
|
+
).optional(),
|
|
1907
2035
|
method: import_v43.default.enum(["GET", "POST"]).default("GET").optional(),
|
|
1908
2036
|
defaultOptions: import_v43.default.array(
|
|
1909
2037
|
import_v43.default.object({
|
|
1910
2038
|
label: import_v43.default.string(),
|
|
1911
2039
|
value: import_v43.default.string()
|
|
1912
2040
|
})
|
|
1913
|
-
).optional()
|
|
2041
|
+
).optional().describe(
|
|
2042
|
+
"Manual entry is supported through configuration, allowing users to provide values not currently represented in the dataset."
|
|
2043
|
+
)
|
|
1914
2044
|
})
|
|
1915
|
-
}).
|
|
2045
|
+
}).meta({
|
|
2046
|
+
description: "Generic autocomplete component designed for use with large dictionary-based datasets. The component supports dynamic retrieval of options from configurable data sources and is intended for datasets that may contain tens or hundreds of thousands of records.",
|
|
2047
|
+
id: "AutocompleteField"
|
|
2048
|
+
});
|
|
1916
2049
|
var SearchField = HttpField.extend({
|
|
1917
2050
|
type: import_v43.default.literal(FieldType.SEARCH),
|
|
1918
2051
|
configuration: SearchQuery.pick({
|
|
@@ -1945,6 +2078,9 @@ var SearchField = HttpField.extend({
|
|
|
1945
2078
|
ok: TranslationConfig.optional()
|
|
1946
2079
|
}).optional()
|
|
1947
2080
|
})
|
|
2081
|
+
}).meta({
|
|
2082
|
+
description: "A search input field",
|
|
2083
|
+
id: "SearchField"
|
|
1948
2084
|
});
|
|
1949
2085
|
var LinkButtonField = BaseField.extend({
|
|
1950
2086
|
type: import_v43.default.literal(FieldType.LINK_BUTTON),
|
|
@@ -1953,28 +2089,35 @@ var LinkButtonField = BaseField.extend({
|
|
|
1953
2089
|
text: TranslationConfig.describe("Text to display on the button"),
|
|
1954
2090
|
icon: import_v43.default.string().optional().describe("Icon for the button. You can find icons from OpenCRVS UI-Kit.")
|
|
1955
2091
|
})
|
|
1956
|
-
}).
|
|
2092
|
+
}).meta({
|
|
2093
|
+
description: "A button that opens a URL link",
|
|
2094
|
+
id: "LinkButtonField"
|
|
2095
|
+
});
|
|
1957
2096
|
var VerificationStatus = BaseField.extend({
|
|
1958
2097
|
type: import_v43.default.literal(FieldType.VERIFICATION_STATUS),
|
|
1959
|
-
defaultValue: VerificationStatusValue.optional(),
|
|
2098
|
+
defaultValue: VerificationStatusValue.or(ComputedDefaultValue).optional(),
|
|
1960
2099
|
configuration: import_v43.default.object({
|
|
1961
2100
|
status: TranslationConfig.describe("Text to display on the status pill."),
|
|
1962
2101
|
description: TranslationConfig.describe(
|
|
1963
2102
|
"Explaining text on the banner in form."
|
|
1964
2103
|
)
|
|
1965
2104
|
})
|
|
2105
|
+
}).meta({
|
|
2106
|
+
description: "Displays a verification state (e.g. ID verified / pending). Often paired with ID_READER \u2014 it can read its value off an ID_READER rather than holding its own.",
|
|
2107
|
+
id: "VerificationStatus"
|
|
1966
2108
|
});
|
|
1967
2109
|
var QueryParamReaderField = BaseField.extend({
|
|
1968
2110
|
type: import_v43.default.literal(FieldType.QUERY_PARAM_READER),
|
|
1969
2111
|
configuration: import_v43.default.object({
|
|
1970
2112
|
pickParams: import_v43.default.array(import_v43.default.string()).describe("List of query parameters to read from the URL")
|
|
1971
2113
|
})
|
|
1972
|
-
}).
|
|
1973
|
-
"A field that maps URL query params into form values and clears them afterward"
|
|
1974
|
-
|
|
2114
|
+
}).meta({
|
|
2115
|
+
description: "A field that maps URL query params into form values and clears them afterward",
|
|
2116
|
+
id: "QueryParamReaderField"
|
|
2117
|
+
});
|
|
1975
2118
|
var QrReaderField = BaseField.extend({
|
|
1976
2119
|
type: import_v43.default.literal(FieldType.QR_READER),
|
|
1977
|
-
defaultValue: QrReaderFieldValue.optional(),
|
|
2120
|
+
defaultValue: QrReaderFieldValue.or(ComputedDefaultValue).optional(),
|
|
1978
2121
|
configuration: import_v43.default.object({
|
|
1979
2122
|
validator: import_v43.default.any().meta({
|
|
1980
2123
|
description: "JSON Schema to validate the scanned QR code data against before populating the form fields.",
|
|
@@ -1982,21 +2125,27 @@ var QrReaderField = BaseField.extend({
|
|
|
1982
2125
|
})
|
|
1983
2126
|
}).optional()
|
|
1984
2127
|
}).meta({
|
|
1985
|
-
description: "
|
|
2128
|
+
description: "QR code reader field, including optional JSON Schema validator.",
|
|
1986
2129
|
id: "QrReaderField"
|
|
1987
2130
|
});
|
|
1988
2131
|
var IdReaderField = BaseField.extend({
|
|
1989
2132
|
type: import_v43.default.literal(FieldType.ID_READER),
|
|
1990
|
-
defaultValue: IdReaderFieldValue.optional(),
|
|
2133
|
+
defaultValue: IdReaderFieldValue.or(ComputedDefaultValue).optional(),
|
|
1991
2134
|
methods: import_v43.default.array(
|
|
1992
2135
|
import_v43.default.union([QrReaderField, LinkButtonField]).describe("Methods for reading an ID")
|
|
1993
2136
|
)
|
|
2137
|
+
}).meta({
|
|
2138
|
+
description: "A wrapper around nested form fields, specifically QR_READER and LINK_BUTTON. It can hold the QR_READERs value.",
|
|
2139
|
+
id: "IdReaderField"
|
|
1994
2140
|
});
|
|
1995
2141
|
var CustomField = BaseField.extend({
|
|
1996
2142
|
type: import_v43.default.literal(FieldType._EXPERIMENTAL_CUSTOM),
|
|
1997
2143
|
defaultValue: CustomFieldValue.optional(),
|
|
1998
2144
|
src: import_v43.default.string().describe("Module source path for the custom field component"),
|
|
1999
2145
|
configuration: import_v43.default.unknown().optional()
|
|
2146
|
+
}).meta({
|
|
2147
|
+
description: "An expiremental custom field that is defined by a module source path",
|
|
2148
|
+
id: "CustomField"
|
|
2000
2149
|
});
|
|
2001
2150
|
var FieldStyleVariant = import_v43.default.enum(["default", "highlighted"]);
|
|
2002
2151
|
var LoaderField = BaseField.extend({
|
|
@@ -2006,22 +2155,25 @@ var LoaderField = BaseField.extend({
|
|
|
2006
2155
|
configuration: import_v43.default.object({
|
|
2007
2156
|
text: TranslationConfig.describe("Display text above the loading spinner")
|
|
2008
2157
|
})
|
|
2009
|
-
}).
|
|
2010
|
-
"A non-interactive field that indicates an in progress operation in form"
|
|
2011
|
-
|
|
2158
|
+
}).meta({
|
|
2159
|
+
description: "A non-interactive field that indicates an in progress operation in form",
|
|
2160
|
+
id: "LoaderField"
|
|
2161
|
+
});
|
|
2012
2162
|
var HiddenField = BaseField.extend({
|
|
2013
2163
|
type: import_v43.default.literal(FieldType.ALPHA_HIDDEN),
|
|
2014
2164
|
required: import_v43.default.boolean().default(false).optional(),
|
|
2015
2165
|
defaultValue: TextValue.optional()
|
|
2016
|
-
}).
|
|
2017
|
-
"A non-interactive, hidden field that only hold a value in the form"
|
|
2018
|
-
|
|
2166
|
+
}).meta({
|
|
2167
|
+
description: "A non-interactive, hidden field that only hold a value in the form",
|
|
2168
|
+
id: "HiddenField"
|
|
2169
|
+
});
|
|
2019
2170
|
var UserRoleField = BaseField.extend({
|
|
2020
2171
|
type: import_v43.default.literal(FieldType.USER_ROLE),
|
|
2021
2172
|
defaultValue: TextValue.optional()
|
|
2022
|
-
}).
|
|
2023
|
-
"A select dropdown that is automatically populated with available user roles"
|
|
2024
|
-
|
|
2173
|
+
}).meta({
|
|
2174
|
+
description: "A select dropdown that is automatically populated with available user roles",
|
|
2175
|
+
id: "UserRoleField"
|
|
2176
|
+
});
|
|
2025
2177
|
var FieldConfig = import_v43.default.discriminatedUnion("type", [
|
|
2026
2178
|
FieldGroup,
|
|
2027
2179
|
Address,
|
|
@@ -2139,6 +2291,7 @@ var ClientConfig = z20.object({
|
|
|
2139
2291
|
COUNTRY: z20.string(),
|
|
2140
2292
|
LANGUAGES: z20.array(z20.string()),
|
|
2141
2293
|
SENTRY: z20.string().optional(),
|
|
2294
|
+
LOGIN_URL: z20.string().optional(),
|
|
2142
2295
|
REGISTER_BACKGROUND: BackgroundConfig,
|
|
2143
2296
|
DASHBOARDS: z20.array(
|
|
2144
2297
|
z20.object({
|