@wise/dynamic-flow-client 5.1.4 → 5.2.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/build/main.js +38 -5
- package/build/main.mjs +38 -5
- package/build/types/domain/features/validation/value-checks.d.ts +1 -0
- package/build/types/renderers/mappers/multiSelectComponentToProps.d.ts +1 -1
- package/build/types/renderers/mappers/selectInputComponentToProps.d.ts +1 -1
- package/build/types/renderers/mappers/utils/selectInputOptionsToProps.d.ts +5 -0
- package/build/types/utils/type-validators.d.ts +1 -0
- package/package.json +2 -2
package/build/main.js
CHANGED
|
@@ -893,6 +893,7 @@ var isNull = (value) => value === null;
|
|
|
893
893
|
var isUndefined = (value) => typeof value === "undefined";
|
|
894
894
|
var isNullish = (v) => isNull(v) || isUndefined(v);
|
|
895
895
|
var isFile = (value) => value instanceof File;
|
|
896
|
+
var isValidDate = (value) => isString(value) && /^\d{4}-\d{2}-\d{2}$/.test(value);
|
|
896
897
|
|
|
897
898
|
// src/renderers/utils.ts
|
|
898
899
|
function findRendererPropsByType(root, type, predicate = () => true) {
|
|
@@ -1438,10 +1439,28 @@ var pickValidationState = (states) => {
|
|
|
1438
1439
|
return definedStates[0];
|
|
1439
1440
|
};
|
|
1440
1441
|
|
|
1442
|
+
// src/renderers/mappers/utils/selectInputOptionsToProps.ts
|
|
1443
|
+
var selectInputOptionsToProps = (options, children, rendererMapperProps) => {
|
|
1444
|
+
return options.map((option, index) => {
|
|
1445
|
+
const child = children[index];
|
|
1446
|
+
const optionChildrenProps = child ? componentToRendererProps(child, rendererMapperProps) : null;
|
|
1447
|
+
const optionChildren = optionChildrenProps ? rendererMapperProps.render(optionChildrenProps) : null;
|
|
1448
|
+
return __spreadProps(__spreadValues({}, option), {
|
|
1449
|
+
children: optionChildren,
|
|
1450
|
+
childrenProps: optionChildrenProps
|
|
1451
|
+
});
|
|
1452
|
+
});
|
|
1453
|
+
};
|
|
1454
|
+
|
|
1441
1455
|
// src/renderers/mappers/multiSelectComponentToProps.ts
|
|
1442
1456
|
var multiSelectInputComponentToProps = (component, rendererMapperProps) => {
|
|
1443
|
-
const { autoComplete, maxItems, minItems,
|
|
1457
|
+
const { autoComplete, maxItems, minItems, selectedIndices, onSelect } = component;
|
|
1444
1458
|
const _a = inputComponentToProps(component, "input-multi-select"), { required, value } = _a, props = __objRest(_a, ["required", "value"]);
|
|
1459
|
+
const options = selectInputOptionsToProps(
|
|
1460
|
+
component.options,
|
|
1461
|
+
component.getChildren(),
|
|
1462
|
+
rendererMapperProps
|
|
1463
|
+
);
|
|
1445
1464
|
return __spreadProps(__spreadValues(__spreadValues({}, props), rendererMapperProps), {
|
|
1446
1465
|
autoComplete,
|
|
1447
1466
|
maxItems,
|
|
@@ -1782,10 +1801,15 @@ var sectionComponentToProps = (component, rendererMapperProps) => {
|
|
|
1782
1801
|
|
|
1783
1802
|
// src/renderers/mappers/selectInputComponentToProps.ts
|
|
1784
1803
|
var selectInputComponentToProps = (component, rendererMapperProps) => {
|
|
1785
|
-
const { autoComplete,
|
|
1804
|
+
const { autoComplete, selectedIndex, onSelect } = component;
|
|
1786
1805
|
const selectedChild = component.getSelectedChild();
|
|
1787
1806
|
const childrenProps = selectedChild ? componentToRendererProps(selectedChild, rendererMapperProps) : null;
|
|
1788
1807
|
const _a = inputComponentToProps(component, "input-select"), { value } = _a, props = __objRest(_a, ["value"]);
|
|
1808
|
+
const options = selectInputOptionsToProps(
|
|
1809
|
+
component.options,
|
|
1810
|
+
component.getChildren(),
|
|
1811
|
+
rendererMapperProps
|
|
1812
|
+
);
|
|
1789
1813
|
return __spreadProps(__spreadValues(__spreadValues({}, props), rendererMapperProps), {
|
|
1790
1814
|
autoComplete,
|
|
1791
1815
|
options,
|
|
@@ -3979,6 +4003,12 @@ var getRequiredCheck = (required, messageFunctions) => (value) => {
|
|
|
3979
4003
|
}
|
|
3980
4004
|
return isNullish(value) ? messageFunctions.required() : null;
|
|
3981
4005
|
};
|
|
4006
|
+
var getValidDateCheck = (required, messageFunctions) => (value) => {
|
|
4007
|
+
if (required && !isValidDate(value)) {
|
|
4008
|
+
return messageFunctions.required();
|
|
4009
|
+
}
|
|
4010
|
+
return null;
|
|
4011
|
+
};
|
|
3982
4012
|
|
|
3983
4013
|
// src/domain/mappers/utils/getAutocompleteString.ts
|
|
3984
4014
|
var getAutocompleteString = (hints) => {
|
|
@@ -6197,7 +6227,7 @@ var createPersistAsyncComponent = (props, performPersistAsync, schemaOnChange, u
|
|
|
6197
6227
|
};
|
|
6198
6228
|
|
|
6199
6229
|
// src/domain/mappers/schema/persistAsyncSchemaToComponent.ts
|
|
6200
|
-
var isSupported = (type) => ["boolean", "text", "date", "integer", "number", "upload"].includes(type);
|
|
6230
|
+
var isSupported = (type) => ["const", "boolean", "text", "date", "integer", "number", "upload"].includes(type);
|
|
6201
6231
|
var persistAsyncSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
6202
6232
|
const { uid, schema, model, localValue } = schemaMapperProps;
|
|
6203
6233
|
const { persistAsync, tags } = schema;
|
|
@@ -6296,8 +6326,10 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
|
|
|
6296
6326
|
return this.getSubmittableValueSync();
|
|
6297
6327
|
},
|
|
6298
6328
|
getSubmittableValueSync() {
|
|
6299
|
-
|
|
6300
|
-
|
|
6329
|
+
if (isValidDate(this.getLocalValue())) {
|
|
6330
|
+
return this.getLocalValue();
|
|
6331
|
+
}
|
|
6332
|
+
return null;
|
|
6301
6333
|
},
|
|
6302
6334
|
getSummary() {
|
|
6303
6335
|
return summariser(this.getLocalValue());
|
|
@@ -6361,6 +6393,7 @@ var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
6361
6393
|
autoComplete: getAutocompleteString(autocompleteHint),
|
|
6362
6394
|
checks: schema.hidden ? [] : [
|
|
6363
6395
|
getRequiredCheck(required, errorMessageFunctions),
|
|
6396
|
+
getValidDateCheck(required, errorMessageFunctions),
|
|
6364
6397
|
getAboveMaximumDateCheck(schema, errorMessageFunctions),
|
|
6365
6398
|
getBelowMinimumDateCheck(schema, errorMessageFunctions)
|
|
6366
6399
|
],
|
package/build/main.mjs
CHANGED
|
@@ -866,6 +866,7 @@ var isNull = (value) => value === null;
|
|
|
866
866
|
var isUndefined = (value) => typeof value === "undefined";
|
|
867
867
|
var isNullish = (v) => isNull(v) || isUndefined(v);
|
|
868
868
|
var isFile = (value) => value instanceof File;
|
|
869
|
+
var isValidDate = (value) => isString(value) && /^\d{4}-\d{2}-\d{2}$/.test(value);
|
|
869
870
|
|
|
870
871
|
// src/renderers/utils.ts
|
|
871
872
|
function findRendererPropsByType(root, type, predicate = () => true) {
|
|
@@ -1411,10 +1412,28 @@ var pickValidationState = (states) => {
|
|
|
1411
1412
|
return definedStates[0];
|
|
1412
1413
|
};
|
|
1413
1414
|
|
|
1415
|
+
// src/renderers/mappers/utils/selectInputOptionsToProps.ts
|
|
1416
|
+
var selectInputOptionsToProps = (options, children, rendererMapperProps) => {
|
|
1417
|
+
return options.map((option, index) => {
|
|
1418
|
+
const child = children[index];
|
|
1419
|
+
const optionChildrenProps = child ? componentToRendererProps(child, rendererMapperProps) : null;
|
|
1420
|
+
const optionChildren = optionChildrenProps ? rendererMapperProps.render(optionChildrenProps) : null;
|
|
1421
|
+
return __spreadProps(__spreadValues({}, option), {
|
|
1422
|
+
children: optionChildren,
|
|
1423
|
+
childrenProps: optionChildrenProps
|
|
1424
|
+
});
|
|
1425
|
+
});
|
|
1426
|
+
};
|
|
1427
|
+
|
|
1414
1428
|
// src/renderers/mappers/multiSelectComponentToProps.ts
|
|
1415
1429
|
var multiSelectInputComponentToProps = (component, rendererMapperProps) => {
|
|
1416
|
-
const { autoComplete, maxItems, minItems,
|
|
1430
|
+
const { autoComplete, maxItems, minItems, selectedIndices, onSelect } = component;
|
|
1417
1431
|
const _a = inputComponentToProps(component, "input-multi-select"), { required, value } = _a, props = __objRest(_a, ["required", "value"]);
|
|
1432
|
+
const options = selectInputOptionsToProps(
|
|
1433
|
+
component.options,
|
|
1434
|
+
component.getChildren(),
|
|
1435
|
+
rendererMapperProps
|
|
1436
|
+
);
|
|
1418
1437
|
return __spreadProps(__spreadValues(__spreadValues({}, props), rendererMapperProps), {
|
|
1419
1438
|
autoComplete,
|
|
1420
1439
|
maxItems,
|
|
@@ -1755,10 +1774,15 @@ var sectionComponentToProps = (component, rendererMapperProps) => {
|
|
|
1755
1774
|
|
|
1756
1775
|
// src/renderers/mappers/selectInputComponentToProps.ts
|
|
1757
1776
|
var selectInputComponentToProps = (component, rendererMapperProps) => {
|
|
1758
|
-
const { autoComplete,
|
|
1777
|
+
const { autoComplete, selectedIndex, onSelect } = component;
|
|
1759
1778
|
const selectedChild = component.getSelectedChild();
|
|
1760
1779
|
const childrenProps = selectedChild ? componentToRendererProps(selectedChild, rendererMapperProps) : null;
|
|
1761
1780
|
const _a = inputComponentToProps(component, "input-select"), { value } = _a, props = __objRest(_a, ["value"]);
|
|
1781
|
+
const options = selectInputOptionsToProps(
|
|
1782
|
+
component.options,
|
|
1783
|
+
component.getChildren(),
|
|
1784
|
+
rendererMapperProps
|
|
1785
|
+
);
|
|
1762
1786
|
return __spreadProps(__spreadValues(__spreadValues({}, props), rendererMapperProps), {
|
|
1763
1787
|
autoComplete,
|
|
1764
1788
|
options,
|
|
@@ -3952,6 +3976,12 @@ var getRequiredCheck = (required, messageFunctions) => (value) => {
|
|
|
3952
3976
|
}
|
|
3953
3977
|
return isNullish(value) ? messageFunctions.required() : null;
|
|
3954
3978
|
};
|
|
3979
|
+
var getValidDateCheck = (required, messageFunctions) => (value) => {
|
|
3980
|
+
if (required && !isValidDate(value)) {
|
|
3981
|
+
return messageFunctions.required();
|
|
3982
|
+
}
|
|
3983
|
+
return null;
|
|
3984
|
+
};
|
|
3955
3985
|
|
|
3956
3986
|
// src/domain/mappers/utils/getAutocompleteString.ts
|
|
3957
3987
|
var getAutocompleteString = (hints) => {
|
|
@@ -6170,7 +6200,7 @@ var createPersistAsyncComponent = (props, performPersistAsync, schemaOnChange, u
|
|
|
6170
6200
|
};
|
|
6171
6201
|
|
|
6172
6202
|
// src/domain/mappers/schema/persistAsyncSchemaToComponent.ts
|
|
6173
|
-
var isSupported = (type) => ["boolean", "text", "date", "integer", "number", "upload"].includes(type);
|
|
6203
|
+
var isSupported = (type) => ["const", "boolean", "text", "date", "integer", "number", "upload"].includes(type);
|
|
6174
6204
|
var persistAsyncSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
6175
6205
|
const { uid, schema, model, localValue } = schemaMapperProps;
|
|
6176
6206
|
const { persistAsync, tags } = schema;
|
|
@@ -6269,8 +6299,10 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
|
|
|
6269
6299
|
return this.getSubmittableValueSync();
|
|
6270
6300
|
},
|
|
6271
6301
|
getSubmittableValueSync() {
|
|
6272
|
-
|
|
6273
|
-
|
|
6302
|
+
if (isValidDate(this.getLocalValue())) {
|
|
6303
|
+
return this.getLocalValue();
|
|
6304
|
+
}
|
|
6305
|
+
return null;
|
|
6274
6306
|
},
|
|
6275
6307
|
getSummary() {
|
|
6276
6308
|
return summariser(this.getLocalValue());
|
|
@@ -6334,6 +6366,7 @@ var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
6334
6366
|
autoComplete: getAutocompleteString(autocompleteHint),
|
|
6335
6367
|
checks: schema.hidden ? [] : [
|
|
6336
6368
|
getRequiredCheck(required, errorMessageFunctions),
|
|
6369
|
+
getValidDateCheck(required, errorMessageFunctions),
|
|
6337
6370
|
getAboveMaximumDateCheck(schema, errorMessageFunctions),
|
|
6338
6371
|
getBelowMinimumDateCheck(schema, errorMessageFunctions)
|
|
6339
6372
|
],
|
|
@@ -23,4 +23,5 @@ export declare const getAboveMaximumDateCheck: GetIsInvalidCheck<StringSchema, s
|
|
|
23
23
|
export declare const getBelowMinimumDateCheck: GetIsInvalidCheck<StringSchema, string | null>;
|
|
24
24
|
export declare const getNotAdheringToPatternCheck: GetIsInvalidCheck<StringSchema, string | null>;
|
|
25
25
|
export declare const getRequiredCheck: (required: boolean, messageFunctions: ErrorMessageFunctions) => IsInvalidCheck<LocalValue | null>;
|
|
26
|
+
export declare const getValidDateCheck: (required: boolean, messageFunctions: ErrorMessageFunctions) => IsInvalidCheck<string | null>;
|
|
26
27
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MultiSelectComponent } from '../../domain/components/MultiSelectInputComponent';
|
|
2
1
|
import type { MultiSelectInputRendererProps } from '@wise/dynamic-flow-types/renderers';
|
|
2
|
+
import type { MultiSelectComponent } from '../../domain/components/MultiSelectInputComponent';
|
|
3
3
|
import { RendererMapperProps } from './componentToRendererProps';
|
|
4
4
|
export declare const multiSelectInputComponentToProps: (component: MultiSelectComponent, rendererMapperProps: RendererMapperProps) => MultiSelectInputRendererProps;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SelectInputComponent } from '../../domain/components/SelectInputComponent';
|
|
2
1
|
import type { SelectInputRendererProps } from '@wise/dynamic-flow-types/renderers';
|
|
2
|
+
import type { SelectInputComponent } from '../../domain/components/SelectInputComponent';
|
|
3
3
|
import { type RendererMapperProps } from './componentToRendererProps';
|
|
4
4
|
export declare const selectInputComponentToProps: (component: SelectInputComponent, rendererMapperProps: RendererMapperProps) => SelectInputRendererProps;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SelectInputRendererOption } from '@wise/dynamic-flow-types/renderers';
|
|
2
|
+
import { SelectInputOption } from '../../../domain/components/SelectInputComponent';
|
|
3
|
+
import { SchemaComponent } from '../../../domain/types';
|
|
4
|
+
import { RendererMapperProps } from '../componentToRendererProps';
|
|
5
|
+
export declare const selectInputOptionsToProps: (options: SelectInputOption[], children: SchemaComponent[], rendererMapperProps: RendererMapperProps) => SelectInputRendererOption[];
|
|
@@ -8,3 +8,4 @@ export declare const isNull: (value: unknown) => value is null;
|
|
|
8
8
|
export declare const isUndefined: (value: unknown) => value is undefined;
|
|
9
9
|
export declare const isNullish: (v: unknown) => v is null | undefined;
|
|
10
10
|
export declare const isFile: (value: unknown) => value is File;
|
|
11
|
+
export declare const isValidDate: (value: string | null) => boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Dynamic Flow web client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/main.js",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"react-intl": "^6"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@wise/dynamic-flow-types": "4.
|
|
89
|
+
"@wise/dynamic-flow-types": "4.3.0"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
92
|
"dev": "EXCLUDE_VISUAL_TESTS=true pnpm storybook dev -p 3003",
|