@wise/dynamic-flow-client 4.17.0 → 4.18.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 +92 -54
- package/build/main.mjs +92 -54
- package/build/types/revamp/domain/components/ConstComponent.d.ts +3 -2
- package/build/types/revamp/domain/mappers/schema/constSchemaToComponent.d.ts +2 -2
- package/build/types/revamp/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.d.ts +1 -0
- package/build/types/revamp/domain/mappers/schema/persistAsyncSchemaToComponent.d.ts +1 -0
- package/build/types/revamp/domain/mappers/utils/layout-utils.d.ts +2 -0
- package/build/types/revamp/domain/mappers/utils/suggestions-utils.d.ts +11 -0
- package/build/types/revamp/renderers/mappers/constComponentToProps.d.ts +12 -0
- package/package.json +9 -9
package/build/main.js
CHANGED
|
@@ -1531,6 +1531,19 @@ var columnsComponentToProps = ({ uid, analyticsId, bias, control, margin, startC
|
|
|
1531
1531
|
});
|
|
1532
1532
|
};
|
|
1533
1533
|
|
|
1534
|
+
// src/revamp/renderers/mappers/constComponentToProps.ts
|
|
1535
|
+
var constComponentToProps = (component, rendererMapperProps) => {
|
|
1536
|
+
const childrenProps = component.layout.map(
|
|
1537
|
+
(c) => componentToRendererProps(c, rendererMapperProps)
|
|
1538
|
+
);
|
|
1539
|
+
return __spreadValues({
|
|
1540
|
+
type: "container",
|
|
1541
|
+
uid: `${component.uid}-wrapper`,
|
|
1542
|
+
childrenProps,
|
|
1543
|
+
children: childrenProps.map(rendererMapperProps.render)
|
|
1544
|
+
}, rendererMapperProps);
|
|
1545
|
+
};
|
|
1546
|
+
|
|
1534
1547
|
// src/revamp/renderers/mappers/containerComponentToProps.ts
|
|
1535
1548
|
var containerComponentToProps = (component, rendererMapperProps) => {
|
|
1536
1549
|
const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
|
|
@@ -1740,6 +1753,22 @@ var persistAsyncComponentToProps = (component, rendererMapperProps) => {
|
|
|
1740
1753
|
return props;
|
|
1741
1754
|
};
|
|
1742
1755
|
|
|
1756
|
+
// src/revamp/renderers/mappers/progressComponentToProps.ts
|
|
1757
|
+
var progressComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(
|
|
1758
|
+
component,
|
|
1759
|
+
"uid",
|
|
1760
|
+
"type",
|
|
1761
|
+
"analyticsId",
|
|
1762
|
+
"context",
|
|
1763
|
+
"control",
|
|
1764
|
+
"description",
|
|
1765
|
+
"help",
|
|
1766
|
+
"margin",
|
|
1767
|
+
"progress",
|
|
1768
|
+
"progressText",
|
|
1769
|
+
"title"
|
|
1770
|
+
)), rendererMapperProps);
|
|
1771
|
+
|
|
1743
1772
|
// src/revamp/renderers/mappers/repeatableComponentToProps.ts
|
|
1744
1773
|
var repeatableComponentToProps = (component, rendererMapperProps) => {
|
|
1745
1774
|
const {
|
|
@@ -1992,30 +2021,14 @@ var uploadInputComponentToProps = (component, rendererMapperProps) => {
|
|
|
1992
2021
|
});
|
|
1993
2022
|
};
|
|
1994
2023
|
|
|
1995
|
-
// src/revamp/renderers/mappers/progressComponentToProps.ts
|
|
1996
|
-
var progressComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(
|
|
1997
|
-
component,
|
|
1998
|
-
"uid",
|
|
1999
|
-
"type",
|
|
2000
|
-
"analyticsId",
|
|
2001
|
-
"context",
|
|
2002
|
-
"control",
|
|
2003
|
-
"description",
|
|
2004
|
-
"help",
|
|
2005
|
-
"margin",
|
|
2006
|
-
"progress",
|
|
2007
|
-
"progressText",
|
|
2008
|
-
"title"
|
|
2009
|
-
)), rendererMapperProps);
|
|
2010
|
-
|
|
2011
2024
|
// src/revamp/renderers/mappers/componentToRendererProps.ts
|
|
2012
2025
|
var componentToRendererProps = (component, mapperProps) => {
|
|
2013
2026
|
if (isHiddenComponent(component)) {
|
|
2014
2027
|
return hiddenComponentToProps(component);
|
|
2015
2028
|
}
|
|
2016
|
-
const trackEventWithLayoutId = (eventName, properties) => mapperProps.trackEvent(eventName, __spreadValues({
|
|
2029
|
+
const trackEventWithLayoutId = ((eventName, properties) => mapperProps.trackEvent(eventName, __spreadValues({
|
|
2017
2030
|
layoutId: component.analyticsId
|
|
2018
|
-
}, properties));
|
|
2031
|
+
}, properties)));
|
|
2019
2032
|
const rendererMapperProps = component.kind === "layout" ? __spreadProps(__spreadValues({}, mapperProps), { trackEvent: trackEventWithLayoutId }) : mapperProps;
|
|
2020
2033
|
const componentProps = getComponentProps(component, rendererMapperProps);
|
|
2021
2034
|
const alertProps = getComponentAlertProps(component, rendererMapperProps);
|
|
@@ -2063,7 +2076,7 @@ var getComponentProps = (component, rendererMapperProps) => {
|
|
|
2063
2076
|
case "heading":
|
|
2064
2077
|
return headingComponentToProps(component, rendererMapperProps);
|
|
2065
2078
|
case "const":
|
|
2066
|
-
return
|
|
2079
|
+
return constComponentToProps(component, rendererMapperProps);
|
|
2067
2080
|
case "image":
|
|
2068
2081
|
return imageComponentToProps(component, rendererMapperProps);
|
|
2069
2082
|
case "instructions":
|
|
@@ -2396,6 +2409,13 @@ var createBoxComponent = (boxProps) => __spreadProps(__spreadValues({}, boxProps
|
|
|
2396
2409
|
}
|
|
2397
2410
|
});
|
|
2398
2411
|
|
|
2412
|
+
// src/revamp/domain/mappers/utils/layout-utils.ts
|
|
2413
|
+
var removeMarginFromLayout = (component) => {
|
|
2414
|
+
return __spreadProps(__spreadValues({}, component), {
|
|
2415
|
+
margin: "xs"
|
|
2416
|
+
});
|
|
2417
|
+
};
|
|
2418
|
+
|
|
2399
2419
|
// src/revamp/domain/mappers/layout/boxLayoutToComponents.ts
|
|
2400
2420
|
var boxLayoutToComponent = (uid, { border = false, components, control, margin = "md", width = "xl", analyticsId }, mapperProps, schemaComponents) => createBoxComponent({
|
|
2401
2421
|
uid,
|
|
@@ -2404,9 +2424,16 @@ var boxLayoutToComponent = (uid, { border = false, components, control, margin =
|
|
|
2404
2424
|
control,
|
|
2405
2425
|
margin,
|
|
2406
2426
|
width,
|
|
2407
|
-
components: components.map(
|
|
2408
|
-
|
|
2409
|
-
|
|
2427
|
+
components: components.map((component, index) => {
|
|
2428
|
+
const shouldRemoveMargin = index === components.length - 1 && component.margin === void 0;
|
|
2429
|
+
const componentWithAdjustedMargin = shouldRemoveMargin ? removeMarginFromLayout(component) : component;
|
|
2430
|
+
return mapLayoutToComponent(
|
|
2431
|
+
`${uid}.box-${index}`,
|
|
2432
|
+
componentWithAdjustedMargin,
|
|
2433
|
+
mapperProps,
|
|
2434
|
+
schemaComponents
|
|
2435
|
+
);
|
|
2436
|
+
})
|
|
2410
2437
|
});
|
|
2411
2438
|
|
|
2412
2439
|
// src/revamp/domain/components/ButtonComponent.ts
|
|
@@ -5218,14 +5245,15 @@ var getValidModel = (model, defaultValue) => {
|
|
|
5218
5245
|
|
|
5219
5246
|
// src/revamp/domain/components/ConstComponent.ts
|
|
5220
5247
|
var createConstComponent = (hiddenProps) => {
|
|
5221
|
-
const { uid, schemaId, analyticsId, value, summary } = hiddenProps;
|
|
5248
|
+
const { uid, schemaId, analyticsId, value, summary, layout, hidden } = hiddenProps;
|
|
5222
5249
|
return {
|
|
5223
5250
|
type: "const",
|
|
5224
5251
|
kind: "input",
|
|
5225
5252
|
uid,
|
|
5226
5253
|
schemaId,
|
|
5227
5254
|
analyticsId,
|
|
5228
|
-
|
|
5255
|
+
layout,
|
|
5256
|
+
hidden,
|
|
5229
5257
|
getLocalValue: () => value,
|
|
5230
5258
|
getSubmittableValue: async () => value,
|
|
5231
5259
|
getSubmittableValueSync: () => value,
|
|
@@ -5235,19 +5263,27 @@ var createConstComponent = (hiddenProps) => {
|
|
|
5235
5263
|
};
|
|
5236
5264
|
|
|
5237
5265
|
// src/revamp/domain/mappers/schema/constSchemaToComponent.ts
|
|
5238
|
-
var constSchemaToComponent = (uid, schemaMapperProps) => {
|
|
5266
|
+
var constSchemaToComponent = (uid, schemaMapperProps, mapperProps) => {
|
|
5239
5267
|
var _a;
|
|
5240
5268
|
const { schema, schemaId } = schemaMapperProps;
|
|
5241
|
-
const { title, const: constValue, analyticsId, $id } = schema;
|
|
5269
|
+
const { title, const: constValue, analyticsId, $id, layout, alert, hidden } = schema;
|
|
5242
5270
|
const titleOrValue = (_a = title != null ? title : constValue) != null ? _a : null;
|
|
5243
5271
|
return createConstComponent({
|
|
5244
5272
|
uid,
|
|
5245
5273
|
schemaId,
|
|
5246
5274
|
analyticsId: analyticsId != null ? analyticsId : $id,
|
|
5247
5275
|
summary: getConstSummary(schema, titleOrValue),
|
|
5248
|
-
value: schema.const
|
|
5276
|
+
value: schema.const,
|
|
5277
|
+
layout: getConstLayout(uid, mapperProps, layout, alert),
|
|
5278
|
+
hidden: Boolean(hidden)
|
|
5249
5279
|
});
|
|
5250
5280
|
};
|
|
5281
|
+
var getConstLayout = (uid, mapperProps, layout, alert) => {
|
|
5282
|
+
const items = layout != null ? layout : alert ? [alert] : [];
|
|
5283
|
+
return items.map(
|
|
5284
|
+
(item, index) => mapLayoutToComponent(`${uid}-layout.${index}`, item, mapperProps, [])
|
|
5285
|
+
);
|
|
5286
|
+
};
|
|
5251
5287
|
|
|
5252
5288
|
// src/revamp/domain/components/IntegerInputComponent.ts
|
|
5253
5289
|
var createIntegerInputComponent = (integerInputProps, updateComponent) => {
|
|
@@ -5746,6 +5782,26 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
|
|
|
5746
5782
|
return dateInputComponent;
|
|
5747
5783
|
};
|
|
5748
5784
|
|
|
5785
|
+
// src/revamp/domain/mappers/utils/suggestions-utils.ts
|
|
5786
|
+
var mapStringSchemaSuggestions = (suggestions, logEvent) => {
|
|
5787
|
+
if (!suggestions) return void 0;
|
|
5788
|
+
return {
|
|
5789
|
+
values: suggestions.values.map((_a) => {
|
|
5790
|
+
var _b = _a, { icon, image, media, value } = _b, rest = __objRest(_b, ["icon", "image", "media", "value"]);
|
|
5791
|
+
if (typeof value !== "string") {
|
|
5792
|
+
logEvent(
|
|
5793
|
+
"warning",
|
|
5794
|
+
`Suggestion values for string schemas must be of type string. Found ${typeof value} instead.`
|
|
5795
|
+
);
|
|
5796
|
+
}
|
|
5797
|
+
return __spreadProps(__spreadValues({}, rest), {
|
|
5798
|
+
media: getDomainLayerMedia({ icon, image, media }),
|
|
5799
|
+
value
|
|
5800
|
+
});
|
|
5801
|
+
})
|
|
5802
|
+
};
|
|
5803
|
+
};
|
|
5804
|
+
|
|
5749
5805
|
// src/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.ts
|
|
5750
5806
|
var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
5751
5807
|
const { schema, localValue, model, required = false, onPersistAsync } = schemaMapperProps;
|
|
@@ -5775,14 +5831,7 @@ var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
5775
5831
|
],
|
|
5776
5832
|
minimumDate,
|
|
5777
5833
|
maximumDate,
|
|
5778
|
-
suggestions: suggestions
|
|
5779
|
-
values: suggestions.values.map((_a) => {
|
|
5780
|
-
var _b = _a, { icon, image, media } = _b, rest = __objRest(_b, ["icon", "image", "media"]);
|
|
5781
|
-
return __spreadProps(__spreadValues({}, rest), {
|
|
5782
|
-
media: getDomainLayerMedia({ icon, image, media })
|
|
5783
|
-
});
|
|
5784
|
-
})
|
|
5785
|
-
} : void 0,
|
|
5834
|
+
suggestions: mapStringSchemaSuggestions(suggestions, mapperProps.logEvent),
|
|
5786
5835
|
value,
|
|
5787
5836
|
validationAsyncState,
|
|
5788
5837
|
schemaOnChange: getSchemaOnChange(schema, onBehavior),
|
|
@@ -5952,14 +6001,7 @@ var stringSchemaToTextInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
5952
6001
|
displayFormat,
|
|
5953
6002
|
maxLength,
|
|
5954
6003
|
minLength,
|
|
5955
|
-
suggestions: suggestions
|
|
5956
|
-
values: suggestions.values.map((_a) => {
|
|
5957
|
-
var _b = _a, { icon, image, media } = _b, rest = __objRest(_b, ["icon", "image", "media"]);
|
|
5958
|
-
return __spreadProps(__spreadValues({}, rest), {
|
|
5959
|
-
media: getDomainLayerMedia({ icon, image, media })
|
|
5960
|
-
});
|
|
5961
|
-
})
|
|
5962
|
-
} : void 0,
|
|
6004
|
+
suggestions: mapStringSchemaSuggestions(suggestions, mapperProps.logEvent),
|
|
5963
6005
|
value,
|
|
5964
6006
|
validationAsyncState,
|
|
5965
6007
|
schemaOnChange: getSchemaOnChange(schema, onBehavior),
|
|
@@ -6132,7 +6174,7 @@ var persistAsyncSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
|
6132
6174
|
var mapSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
6133
6175
|
const { uid, schema } = schemaMapperProps;
|
|
6134
6176
|
if (isConstSchema(schema)) {
|
|
6135
|
-
return constSchemaToComponent(uid, __spreadProps(__spreadValues({}, schemaMapperProps), { schema }));
|
|
6177
|
+
return constSchemaToComponent(uid, __spreadProps(__spreadValues({}, schemaMapperProps), { schema }), mapperProps);
|
|
6136
6178
|
}
|
|
6137
6179
|
if (isSchemaWithPersistAsync(schema)) {
|
|
6138
6180
|
return persistAsyncSchemaToComponent(__spreadProps(__spreadValues({}, schemaMapperProps), { schema }), mapperProps);
|
|
@@ -6335,12 +6377,8 @@ var mapStepToComponent = (_a) => {
|
|
|
6335
6377
|
(layoutComponent, index) => mapLayoutToComponent(`${uid}.layout-${index}`, layoutComponent, mapperProps, schemaComponents)
|
|
6336
6378
|
);
|
|
6337
6379
|
const footerComponents = pinned.map((footerComponent, index) => {
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
margin: "xs"
|
|
6341
|
-
});
|
|
6342
|
-
}
|
|
6343
|
-
return footerComponent;
|
|
6380
|
+
const shouldRemoveMargin = index === pinned.length - 1 && footerComponent.margin === void 0;
|
|
6381
|
+
return shouldRemoveMargin ? removeMarginFromLayout(footerComponent) : footerComponent;
|
|
6344
6382
|
}).map(
|
|
6345
6383
|
(footerComponent, index) => mapLayoutToComponent(
|
|
6346
6384
|
`${uid}.footer-${index}`,
|
|
@@ -7199,8 +7237,8 @@ function DynamicFlowCore(props) {
|
|
|
7199
7237
|
const tree = componentToRendererProps(rootComponent, {
|
|
7200
7238
|
render,
|
|
7201
7239
|
httpClient,
|
|
7202
|
-
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : () => {
|
|
7203
|
-
},
|
|
7240
|
+
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : (() => {
|
|
7241
|
+
}),
|
|
7204
7242
|
stepLoadingState: rootComponent.getLoadingState()
|
|
7205
7243
|
});
|
|
7206
7244
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
@@ -7263,8 +7301,8 @@ var DynamicFormCore = (0, import_react5.forwardRef)(function DynamicFormCore2(pr
|
|
|
7263
7301
|
const tree = componentToRendererProps(rootComponent, {
|
|
7264
7302
|
render,
|
|
7265
7303
|
httpClient,
|
|
7266
|
-
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : () => {
|
|
7267
|
-
},
|
|
7304
|
+
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : (() => {
|
|
7305
|
+
}),
|
|
7268
7306
|
stepLoadingState: rootComponent.getLoadingState()
|
|
7269
7307
|
});
|
|
7270
7308
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
package/build/main.mjs
CHANGED
|
@@ -1488,6 +1488,19 @@ var columnsComponentToProps = ({ uid, analyticsId, bias, control, margin, startC
|
|
|
1488
1488
|
});
|
|
1489
1489
|
};
|
|
1490
1490
|
|
|
1491
|
+
// src/revamp/renderers/mappers/constComponentToProps.ts
|
|
1492
|
+
var constComponentToProps = (component, rendererMapperProps) => {
|
|
1493
|
+
const childrenProps = component.layout.map(
|
|
1494
|
+
(c) => componentToRendererProps(c, rendererMapperProps)
|
|
1495
|
+
);
|
|
1496
|
+
return __spreadValues({
|
|
1497
|
+
type: "container",
|
|
1498
|
+
uid: `${component.uid}-wrapper`,
|
|
1499
|
+
childrenProps,
|
|
1500
|
+
children: childrenProps.map(rendererMapperProps.render)
|
|
1501
|
+
}, rendererMapperProps);
|
|
1502
|
+
};
|
|
1503
|
+
|
|
1491
1504
|
// src/revamp/renderers/mappers/containerComponentToProps.ts
|
|
1492
1505
|
var containerComponentToProps = (component, rendererMapperProps) => {
|
|
1493
1506
|
const childrenProps = component.getChildren().map((c) => componentToRendererProps(c, rendererMapperProps));
|
|
@@ -1697,6 +1710,22 @@ var persistAsyncComponentToProps = (component, rendererMapperProps) => {
|
|
|
1697
1710
|
return props;
|
|
1698
1711
|
};
|
|
1699
1712
|
|
|
1713
|
+
// src/revamp/renderers/mappers/progressComponentToProps.ts
|
|
1714
|
+
var progressComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(
|
|
1715
|
+
component,
|
|
1716
|
+
"uid",
|
|
1717
|
+
"type",
|
|
1718
|
+
"analyticsId",
|
|
1719
|
+
"context",
|
|
1720
|
+
"control",
|
|
1721
|
+
"description",
|
|
1722
|
+
"help",
|
|
1723
|
+
"margin",
|
|
1724
|
+
"progress",
|
|
1725
|
+
"progressText",
|
|
1726
|
+
"title"
|
|
1727
|
+
)), rendererMapperProps);
|
|
1728
|
+
|
|
1700
1729
|
// src/revamp/renderers/mappers/repeatableComponentToProps.ts
|
|
1701
1730
|
var repeatableComponentToProps = (component, rendererMapperProps) => {
|
|
1702
1731
|
const {
|
|
@@ -1949,30 +1978,14 @@ var uploadInputComponentToProps = (component, rendererMapperProps) => {
|
|
|
1949
1978
|
});
|
|
1950
1979
|
};
|
|
1951
1980
|
|
|
1952
|
-
// src/revamp/renderers/mappers/progressComponentToProps.ts
|
|
1953
|
-
var progressComponentToProps = (component, rendererMapperProps) => __spreadValues(__spreadValues({}, pick(
|
|
1954
|
-
component,
|
|
1955
|
-
"uid",
|
|
1956
|
-
"type",
|
|
1957
|
-
"analyticsId",
|
|
1958
|
-
"context",
|
|
1959
|
-
"control",
|
|
1960
|
-
"description",
|
|
1961
|
-
"help",
|
|
1962
|
-
"margin",
|
|
1963
|
-
"progress",
|
|
1964
|
-
"progressText",
|
|
1965
|
-
"title"
|
|
1966
|
-
)), rendererMapperProps);
|
|
1967
|
-
|
|
1968
1981
|
// src/revamp/renderers/mappers/componentToRendererProps.ts
|
|
1969
1982
|
var componentToRendererProps = (component, mapperProps) => {
|
|
1970
1983
|
if (isHiddenComponent(component)) {
|
|
1971
1984
|
return hiddenComponentToProps(component);
|
|
1972
1985
|
}
|
|
1973
|
-
const trackEventWithLayoutId = (eventName, properties) => mapperProps.trackEvent(eventName, __spreadValues({
|
|
1986
|
+
const trackEventWithLayoutId = ((eventName, properties) => mapperProps.trackEvent(eventName, __spreadValues({
|
|
1974
1987
|
layoutId: component.analyticsId
|
|
1975
|
-
}, properties));
|
|
1988
|
+
}, properties)));
|
|
1976
1989
|
const rendererMapperProps = component.kind === "layout" ? __spreadProps(__spreadValues({}, mapperProps), { trackEvent: trackEventWithLayoutId }) : mapperProps;
|
|
1977
1990
|
const componentProps = getComponentProps(component, rendererMapperProps);
|
|
1978
1991
|
const alertProps = getComponentAlertProps(component, rendererMapperProps);
|
|
@@ -2020,7 +2033,7 @@ var getComponentProps = (component, rendererMapperProps) => {
|
|
|
2020
2033
|
case "heading":
|
|
2021
2034
|
return headingComponentToProps(component, rendererMapperProps);
|
|
2022
2035
|
case "const":
|
|
2023
|
-
return
|
|
2036
|
+
return constComponentToProps(component, rendererMapperProps);
|
|
2024
2037
|
case "image":
|
|
2025
2038
|
return imageComponentToProps(component, rendererMapperProps);
|
|
2026
2039
|
case "instructions":
|
|
@@ -2353,6 +2366,13 @@ var createBoxComponent = (boxProps) => __spreadProps(__spreadValues({}, boxProps
|
|
|
2353
2366
|
}
|
|
2354
2367
|
});
|
|
2355
2368
|
|
|
2369
|
+
// src/revamp/domain/mappers/utils/layout-utils.ts
|
|
2370
|
+
var removeMarginFromLayout = (component) => {
|
|
2371
|
+
return __spreadProps(__spreadValues({}, component), {
|
|
2372
|
+
margin: "xs"
|
|
2373
|
+
});
|
|
2374
|
+
};
|
|
2375
|
+
|
|
2356
2376
|
// src/revamp/domain/mappers/layout/boxLayoutToComponents.ts
|
|
2357
2377
|
var boxLayoutToComponent = (uid, { border = false, components, control, margin = "md", width = "xl", analyticsId }, mapperProps, schemaComponents) => createBoxComponent({
|
|
2358
2378
|
uid,
|
|
@@ -2361,9 +2381,16 @@ var boxLayoutToComponent = (uid, { border = false, components, control, margin =
|
|
|
2361
2381
|
control,
|
|
2362
2382
|
margin,
|
|
2363
2383
|
width,
|
|
2364
|
-
components: components.map(
|
|
2365
|
-
|
|
2366
|
-
|
|
2384
|
+
components: components.map((component, index) => {
|
|
2385
|
+
const shouldRemoveMargin = index === components.length - 1 && component.margin === void 0;
|
|
2386
|
+
const componentWithAdjustedMargin = shouldRemoveMargin ? removeMarginFromLayout(component) : component;
|
|
2387
|
+
return mapLayoutToComponent(
|
|
2388
|
+
`${uid}.box-${index}`,
|
|
2389
|
+
componentWithAdjustedMargin,
|
|
2390
|
+
mapperProps,
|
|
2391
|
+
schemaComponents
|
|
2392
|
+
);
|
|
2393
|
+
})
|
|
2367
2394
|
});
|
|
2368
2395
|
|
|
2369
2396
|
// src/revamp/domain/components/ButtonComponent.ts
|
|
@@ -5175,14 +5202,15 @@ var getValidModel = (model, defaultValue) => {
|
|
|
5175
5202
|
|
|
5176
5203
|
// src/revamp/domain/components/ConstComponent.ts
|
|
5177
5204
|
var createConstComponent = (hiddenProps) => {
|
|
5178
|
-
const { uid, schemaId, analyticsId, value, summary } = hiddenProps;
|
|
5205
|
+
const { uid, schemaId, analyticsId, value, summary, layout, hidden } = hiddenProps;
|
|
5179
5206
|
return {
|
|
5180
5207
|
type: "const",
|
|
5181
5208
|
kind: "input",
|
|
5182
5209
|
uid,
|
|
5183
5210
|
schemaId,
|
|
5184
5211
|
analyticsId,
|
|
5185
|
-
|
|
5212
|
+
layout,
|
|
5213
|
+
hidden,
|
|
5186
5214
|
getLocalValue: () => value,
|
|
5187
5215
|
getSubmittableValue: async () => value,
|
|
5188
5216
|
getSubmittableValueSync: () => value,
|
|
@@ -5192,19 +5220,27 @@ var createConstComponent = (hiddenProps) => {
|
|
|
5192
5220
|
};
|
|
5193
5221
|
|
|
5194
5222
|
// src/revamp/domain/mappers/schema/constSchemaToComponent.ts
|
|
5195
|
-
var constSchemaToComponent = (uid, schemaMapperProps) => {
|
|
5223
|
+
var constSchemaToComponent = (uid, schemaMapperProps, mapperProps) => {
|
|
5196
5224
|
var _a;
|
|
5197
5225
|
const { schema, schemaId } = schemaMapperProps;
|
|
5198
|
-
const { title, const: constValue, analyticsId, $id } = schema;
|
|
5226
|
+
const { title, const: constValue, analyticsId, $id, layout, alert, hidden } = schema;
|
|
5199
5227
|
const titleOrValue = (_a = title != null ? title : constValue) != null ? _a : null;
|
|
5200
5228
|
return createConstComponent({
|
|
5201
5229
|
uid,
|
|
5202
5230
|
schemaId,
|
|
5203
5231
|
analyticsId: analyticsId != null ? analyticsId : $id,
|
|
5204
5232
|
summary: getConstSummary(schema, titleOrValue),
|
|
5205
|
-
value: schema.const
|
|
5233
|
+
value: schema.const,
|
|
5234
|
+
layout: getConstLayout(uid, mapperProps, layout, alert),
|
|
5235
|
+
hidden: Boolean(hidden)
|
|
5206
5236
|
});
|
|
5207
5237
|
};
|
|
5238
|
+
var getConstLayout = (uid, mapperProps, layout, alert) => {
|
|
5239
|
+
const items = layout != null ? layout : alert ? [alert] : [];
|
|
5240
|
+
return items.map(
|
|
5241
|
+
(item, index) => mapLayoutToComponent(`${uid}-layout.${index}`, item, mapperProps, [])
|
|
5242
|
+
);
|
|
5243
|
+
};
|
|
5208
5244
|
|
|
5209
5245
|
// src/revamp/domain/components/IntegerInputComponent.ts
|
|
5210
5246
|
var createIntegerInputComponent = (integerInputProps, updateComponent) => {
|
|
@@ -5703,6 +5739,26 @@ var createDateInputComponent = (textInputProps, updateComponent) => {
|
|
|
5703
5739
|
return dateInputComponent;
|
|
5704
5740
|
};
|
|
5705
5741
|
|
|
5742
|
+
// src/revamp/domain/mappers/utils/suggestions-utils.ts
|
|
5743
|
+
var mapStringSchemaSuggestions = (suggestions, logEvent) => {
|
|
5744
|
+
if (!suggestions) return void 0;
|
|
5745
|
+
return {
|
|
5746
|
+
values: suggestions.values.map((_a) => {
|
|
5747
|
+
var _b = _a, { icon, image, media, value } = _b, rest = __objRest(_b, ["icon", "image", "media", "value"]);
|
|
5748
|
+
if (typeof value !== "string") {
|
|
5749
|
+
logEvent(
|
|
5750
|
+
"warning",
|
|
5751
|
+
`Suggestion values for string schemas must be of type string. Found ${typeof value} instead.`
|
|
5752
|
+
);
|
|
5753
|
+
}
|
|
5754
|
+
return __spreadProps(__spreadValues({}, rest), {
|
|
5755
|
+
media: getDomainLayerMedia({ icon, image, media }),
|
|
5756
|
+
value
|
|
5757
|
+
});
|
|
5758
|
+
})
|
|
5759
|
+
};
|
|
5760
|
+
};
|
|
5761
|
+
|
|
5706
5762
|
// src/revamp/domain/mappers/schema/stringSchemaToComponent/stringSchemaToDateInputComponent.ts
|
|
5707
5763
|
var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
5708
5764
|
const { schema, localValue, model, required = false, onPersistAsync } = schemaMapperProps;
|
|
@@ -5732,14 +5788,7 @@ var stringSchemaToDateInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
5732
5788
|
],
|
|
5733
5789
|
minimumDate,
|
|
5734
5790
|
maximumDate,
|
|
5735
|
-
suggestions: suggestions
|
|
5736
|
-
values: suggestions.values.map((_a) => {
|
|
5737
|
-
var _b = _a, { icon, image, media } = _b, rest = __objRest(_b, ["icon", "image", "media"]);
|
|
5738
|
-
return __spreadProps(__spreadValues({}, rest), {
|
|
5739
|
-
media: getDomainLayerMedia({ icon, image, media })
|
|
5740
|
-
});
|
|
5741
|
-
})
|
|
5742
|
-
} : void 0,
|
|
5791
|
+
suggestions: mapStringSchemaSuggestions(suggestions, mapperProps.logEvent),
|
|
5743
5792
|
value,
|
|
5744
5793
|
validationAsyncState,
|
|
5745
5794
|
schemaOnChange: getSchemaOnChange(schema, onBehavior),
|
|
@@ -5909,14 +5958,7 @@ var stringSchemaToTextInputComponent = (schemaMapperProps, mapperProps) => {
|
|
|
5909
5958
|
displayFormat,
|
|
5910
5959
|
maxLength,
|
|
5911
5960
|
minLength,
|
|
5912
|
-
suggestions: suggestions
|
|
5913
|
-
values: suggestions.values.map((_a) => {
|
|
5914
|
-
var _b = _a, { icon, image, media } = _b, rest = __objRest(_b, ["icon", "image", "media"]);
|
|
5915
|
-
return __spreadProps(__spreadValues({}, rest), {
|
|
5916
|
-
media: getDomainLayerMedia({ icon, image, media })
|
|
5917
|
-
});
|
|
5918
|
-
})
|
|
5919
|
-
} : void 0,
|
|
5961
|
+
suggestions: mapStringSchemaSuggestions(suggestions, mapperProps.logEvent),
|
|
5920
5962
|
value,
|
|
5921
5963
|
validationAsyncState,
|
|
5922
5964
|
schemaOnChange: getSchemaOnChange(schema, onBehavior),
|
|
@@ -6089,7 +6131,7 @@ var persistAsyncSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
|
6089
6131
|
var mapSchemaToComponent = (schemaMapperProps, mapperProps) => {
|
|
6090
6132
|
const { uid, schema } = schemaMapperProps;
|
|
6091
6133
|
if (isConstSchema(schema)) {
|
|
6092
|
-
return constSchemaToComponent(uid, __spreadProps(__spreadValues({}, schemaMapperProps), { schema }));
|
|
6134
|
+
return constSchemaToComponent(uid, __spreadProps(__spreadValues({}, schemaMapperProps), { schema }), mapperProps);
|
|
6093
6135
|
}
|
|
6094
6136
|
if (isSchemaWithPersistAsync(schema)) {
|
|
6095
6137
|
return persistAsyncSchemaToComponent(__spreadProps(__spreadValues({}, schemaMapperProps), { schema }), mapperProps);
|
|
@@ -6292,12 +6334,8 @@ var mapStepToComponent = (_a) => {
|
|
|
6292
6334
|
(layoutComponent, index) => mapLayoutToComponent(`${uid}.layout-${index}`, layoutComponent, mapperProps, schemaComponents)
|
|
6293
6335
|
);
|
|
6294
6336
|
const footerComponents = pinned.map((footerComponent, index) => {
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
margin: "xs"
|
|
6298
|
-
});
|
|
6299
|
-
}
|
|
6300
|
-
return footerComponent;
|
|
6337
|
+
const shouldRemoveMargin = index === pinned.length - 1 && footerComponent.margin === void 0;
|
|
6338
|
+
return shouldRemoveMargin ? removeMarginFromLayout(footerComponent) : footerComponent;
|
|
6301
6339
|
}).map(
|
|
6302
6340
|
(footerComponent, index) => mapLayoutToComponent(
|
|
6303
6341
|
`${uid}.footer-${index}`,
|
|
@@ -7156,8 +7194,8 @@ function DynamicFlowCore(props) {
|
|
|
7156
7194
|
const tree = componentToRendererProps(rootComponent, {
|
|
7157
7195
|
render,
|
|
7158
7196
|
httpClient,
|
|
7159
|
-
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : () => {
|
|
7160
|
-
},
|
|
7197
|
+
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : (() => {
|
|
7198
|
+
}),
|
|
7161
7199
|
stepLoadingState: rootComponent.getLoadingState()
|
|
7162
7200
|
});
|
|
7163
7201
|
return /* @__PURE__ */ jsx6(
|
|
@@ -7220,8 +7258,8 @@ var DynamicFormCore = forwardRef(function DynamicFormCore2(props, ref) {
|
|
|
7220
7258
|
const tree = componentToRendererProps(rootComponent, {
|
|
7221
7259
|
render,
|
|
7222
7260
|
httpClient,
|
|
7223
|
-
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : () => {
|
|
7224
|
-
},
|
|
7261
|
+
trackEvent: (_a = rootComponent.getTrackEvent()) != null ? _a : (() => {
|
|
7262
|
+
}),
|
|
7225
7263
|
stepLoadingState: rootComponent.getLoadingState()
|
|
7226
7264
|
});
|
|
7227
7265
|
return /* @__PURE__ */ jsx7(
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Model } from '@wise/dynamic-flow-types/build/next';
|
|
2
|
-
import type { BaseSchemaComponent, LocalValue, RepeatableSummary } from '../types';
|
|
2
|
+
import type { BaseSchemaComponent, LayoutComponent, LocalValue, RepeatableSummary } from '../types';
|
|
3
3
|
export type ConstComponent = BaseSchemaComponent<LocalValue> & {
|
|
4
4
|
type: 'const';
|
|
5
5
|
kind: 'input';
|
|
6
|
+
layout: LayoutComponent[];
|
|
6
7
|
};
|
|
7
|
-
export declare const createConstComponent: (hiddenProps: Pick<ConstComponent, "uid" | "schemaId" | "analyticsId"> & {
|
|
8
|
+
export declare const createConstComponent: (hiddenProps: Pick<ConstComponent, "uid" | "schemaId" | "analyticsId" | "layout" | "hidden"> & {
|
|
8
9
|
value: Model;
|
|
9
10
|
summary: RepeatableSummary;
|
|
10
11
|
}) => ConstComponent;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConstSchema } from '@wise/dynamic-flow-types/build/next';
|
|
2
|
-
import type { SchemaMapperProps } from './types';
|
|
2
|
+
import type { MapperProps, SchemaMapperProps } from './types';
|
|
3
3
|
export declare const constSchemaToComponent: (uid: string, schemaMapperProps: SchemaMapperProps & {
|
|
4
4
|
schema: ConstSchema;
|
|
5
|
-
}) => import("../../components/ConstComponent").ConstComponent;
|
|
5
|
+
}, mapperProps: MapperProps) => import("../../components/ConstComponent").ConstComponent;
|
package/build/types/revamp/domain/mappers/schema/oneOfSchemaToComponent/oneOfSchemaToComponent.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export declare const oneOfSchemaToComponent: (schemaMapperProps: SchemaMapperPro
|
|
|
100
100
|
} & {
|
|
101
101
|
type: "const";
|
|
102
102
|
kind: "input";
|
|
103
|
+
layout: import("../../../types").LayoutComponent[];
|
|
103
104
|
} & {
|
|
104
105
|
kind: "input";
|
|
105
106
|
}) | (import("../../../types").BaseComponent & {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StringSchema } from '@wise/dynamic-flow-types/build/next';
|
|
2
|
+
import { LoggingEventDispatcher } from '../../features/events';
|
|
3
|
+
export declare const mapStringSchemaSuggestions: (suggestions: StringSchema["suggestions"], logEvent: LoggingEventDispatcher) => {
|
|
4
|
+
values: {
|
|
5
|
+
media: import("../../types").Media | undefined;
|
|
6
|
+
value: import("@wise/dynamic-flow-types/build/next").JsonElement;
|
|
7
|
+
label: string;
|
|
8
|
+
tag?: string;
|
|
9
|
+
analyticsId?: string;
|
|
10
|
+
}[];
|
|
11
|
+
} | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ConstComponent } from '../../domain/components/ConstComponent';
|
|
2
|
+
import { RendererMapperProps } from './componentToRendererProps';
|
|
3
|
+
export declare const constComponentToProps: (component: ConstComponent, rendererMapperProps: RendererMapperProps) => {
|
|
4
|
+
stepLoadingState: import("../../domain/types").LoadingState;
|
|
5
|
+
render: import("@wise/dynamic-flow-types/build/renderers").RenderFunction;
|
|
6
|
+
httpClient: import("../../types").HttpClient;
|
|
7
|
+
trackEvent: import("../../domain/features/events").AnalyticsEventDispatcher<string>;
|
|
8
|
+
type: "container";
|
|
9
|
+
uid: string;
|
|
10
|
+
childrenProps: import("@wise/dynamic-flow-types/build/renderers").RendererProps[];
|
|
11
|
+
children: (JSX.Element | null)[];
|
|
12
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.18.0",
|
|
4
4
|
"description": "Dynamic Flow web client",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./build/main.js",
|
|
@@ -46,22 +46,22 @@
|
|
|
46
46
|
"@testing-library/jest-dom": "6.8.0",
|
|
47
47
|
"@testing-library/react": "16.3.0",
|
|
48
48
|
"@testing-library/user-event": "14.6.1",
|
|
49
|
-
"@transferwise/components": "46.
|
|
49
|
+
"@transferwise/components": "46.106.0",
|
|
50
50
|
"@transferwise/formatting": "^2.13.4",
|
|
51
51
|
"@transferwise/icons": "3.22.4",
|
|
52
52
|
"@transferwise/neptune-css": "14.24.5",
|
|
53
53
|
"@types/jest": "30.0.0",
|
|
54
|
-
"@types/node": "22.
|
|
54
|
+
"@types/node": "22.18.0",
|
|
55
55
|
"@types/react": "18.3.24",
|
|
56
56
|
"@types/react-dom": "18.3.7",
|
|
57
57
|
"@types/react-intl": "3.0.0",
|
|
58
|
-
"@wise/art": "2.24.
|
|
58
|
+
"@wise/art": "2.24.5",
|
|
59
59
|
"@wise/components-theming": "^1.6.4",
|
|
60
|
-
"babel-jest": "30.
|
|
61
|
-
"esbuild": "0.25.
|
|
60
|
+
"babel-jest": "30.1.2",
|
|
61
|
+
"esbuild": "0.25.9",
|
|
62
62
|
"eslint-plugin-storybook": "9.1.3",
|
|
63
|
-
"jest": "30.
|
|
64
|
-
"jest-environment-jsdom": "30.
|
|
63
|
+
"jest": "30.1.2",
|
|
64
|
+
"jest-environment-jsdom": "30.1.2",
|
|
65
65
|
"jest-fetch-mock": "^3.0.3",
|
|
66
66
|
"jest-watch-typeahead": "^3.0.1",
|
|
67
67
|
"npm-run-all2": "8.0.4",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"classnames": "2.5.1",
|
|
96
96
|
"react-webcam": "^7.2.0",
|
|
97
97
|
"screenfull": "^5.2.0",
|
|
98
|
-
"@wise/dynamic-flow-types": "3.
|
|
98
|
+
"@wise/dynamic-flow-types": "3.15.0"
|
|
99
99
|
},
|
|
100
100
|
"scripts": {
|
|
101
101
|
"dev": "pnpm build:visual-tests && storybook dev -p 3003",
|