@wise/dynamic-flow-client 5.8.1 → 5.9.0-experimental-rendererprops-9c9a4b8
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 +113 -39
- package/build/main.mjs +113 -39
- package/build/types/domain/components/searchComponent/SearchComponent.d.ts +5 -4
- package/build/types/domain/components/searchComponent/SearchComponent.d.ts.map +1 -1
- package/build/types/domain/features/search/getPerformSearchFunction.d.ts +1 -1
- package/build/types/domain/features/search/getPerformSearchFunction.d.ts.map +1 -1
- package/build/types/domain/mappers/layout/searchLayoutToComponent.d.ts +2 -1
- package/build/types/domain/mappers/layout/searchLayoutToComponent.d.ts.map +1 -1
- package/build/types/renderers/EmptyLoadingStateRenderer.d.ts +3 -0
- package/build/types/renderers/EmptyLoadingStateRenderer.d.ts.map +1 -0
- package/build/types/renderers/mappers/rootComponentToProps.d.ts.map +1 -1
- package/build/types/renderers/mappers/searchComponentToProps.d.ts +1 -1
- package/build/types/renderers/mappers/searchComponentToProps.d.ts.map +1 -1
- package/build/types/test-utils/getMergedTestRenderers.d.ts +1 -1
- package/build/types/test-utils/getMergedTestRenderers.d.ts.map +1 -1
- package/build/types/useDynamicFlow.d.ts +4 -0
- package/build/types/useDynamicFlow.d.ts.map +1 -1
- package/build/types/useDynamicFlowModal.d.ts +1 -0
- package/build/types/useDynamicFlowModal.d.ts.map +1 -1
- package/package.json +2 -2
package/build/main.js
CHANGED
|
@@ -836,6 +836,7 @@ var getChildren = (node) => {
|
|
|
836
836
|
case "heading":
|
|
837
837
|
case "hidden":
|
|
838
838
|
case "image":
|
|
839
|
+
case "loading-state":
|
|
839
840
|
case "instructions":
|
|
840
841
|
case "input-integer":
|
|
841
842
|
case "list":
|
|
@@ -2091,7 +2092,7 @@ var debounce = (callback, waitMs) => {
|
|
|
2091
2092
|
// src/domain/components/searchComponent/SearchComponent.ts
|
|
2092
2093
|
var DEBOUNCE_TIME = 400;
|
|
2093
2094
|
var createSearchComponent = (searchProps, performSearch, onBehavior, onComponentUpdate) => {
|
|
2094
|
-
const { uid, analyticsId, control, emptyMessage, hint, margin, tags, title } = searchProps;
|
|
2095
|
+
const { uid, analyticsId, control, emptyMessage, initialState, hint, margin, tags, title } = searchProps;
|
|
2095
2096
|
const update = getInputUpdateFunction(onComponentUpdate);
|
|
2096
2097
|
let abortController = new AbortController();
|
|
2097
2098
|
const search = (component2, query, searchConfig) => {
|
|
@@ -2105,7 +2106,7 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2105
2106
|
}).then((state) => {
|
|
2106
2107
|
if (!signal.aborted) {
|
|
2107
2108
|
update(component2, (draft) => {
|
|
2108
|
-
draft.state = state;
|
|
2109
|
+
draft.state = state != null ? state : initialState;
|
|
2109
2110
|
draft.isLoading = false;
|
|
2110
2111
|
draft.error = void 0;
|
|
2111
2112
|
});
|
|
@@ -2127,9 +2128,10 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2127
2128
|
analyticsId,
|
|
2128
2129
|
control,
|
|
2129
2130
|
emptyMessage,
|
|
2131
|
+
initialState,
|
|
2130
2132
|
hint,
|
|
2131
2133
|
margin,
|
|
2132
|
-
state:
|
|
2134
|
+
state: initialState,
|
|
2133
2135
|
tags,
|
|
2134
2136
|
title,
|
|
2135
2137
|
isLoading: false,
|
|
@@ -2138,11 +2140,22 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2138
2140
|
update(this, updateFn);
|
|
2139
2141
|
},
|
|
2140
2142
|
onChange(query) {
|
|
2141
|
-
|
|
2142
|
-
draft
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2143
|
+
if (query.trim()) {
|
|
2144
|
+
this._update((draft) => {
|
|
2145
|
+
draft.query = query;
|
|
2146
|
+
draft.isLoading = true;
|
|
2147
|
+
});
|
|
2148
|
+
debouncedSearch(this, query.trim());
|
|
2149
|
+
} else {
|
|
2150
|
+
abortController.abort();
|
|
2151
|
+
debouncedSearch.cancel();
|
|
2152
|
+
update(component, (draft) => {
|
|
2153
|
+
draft.query = query;
|
|
2154
|
+
draft.state = initialState;
|
|
2155
|
+
draft.isLoading = false;
|
|
2156
|
+
draft.error = void 0;
|
|
2157
|
+
});
|
|
2158
|
+
}
|
|
2146
2159
|
},
|
|
2147
2160
|
onSelect({ type, value }) {
|
|
2148
2161
|
if (type === "action") {
|
|
@@ -2238,11 +2251,23 @@ var isValidResponseBody = (body) => {
|
|
|
2238
2251
|
var hashRequest = (query, config) => JSON.stringify({ query, config });
|
|
2239
2252
|
|
|
2240
2253
|
// src/domain/mappers/layout/searchLayoutToComponent.ts
|
|
2241
|
-
var searchLayoutToComponent = (uid, {
|
|
2254
|
+
var searchLayoutToComponent = (uid, {
|
|
2255
|
+
analyticsId,
|
|
2256
|
+
control,
|
|
2257
|
+
emptyMessage = "",
|
|
2258
|
+
initialState,
|
|
2259
|
+
hint,
|
|
2260
|
+
method,
|
|
2261
|
+
param,
|
|
2262
|
+
title,
|
|
2263
|
+
url,
|
|
2264
|
+
margin,
|
|
2265
|
+
tags
|
|
2266
|
+
}, mapperProps) => {
|
|
2242
2267
|
const { httpClient, onBehavior, onComponentUpdate } = mapperProps;
|
|
2243
2268
|
const search = getPerformSearchFunction(
|
|
2244
2269
|
httpClient,
|
|
2245
|
-
(layout) => mapLayoutToComponent(`${uid}-search-response`, layout, mapperProps, []),
|
|
2270
|
+
(layout, index) => mapLayoutToComponent(`${uid}-search-response-${index}`, layout, mapperProps, []),
|
|
2246
2271
|
{ method, param, url }
|
|
2247
2272
|
);
|
|
2248
2273
|
return createSearchComponent(
|
|
@@ -2250,7 +2275,8 @@ var searchLayoutToComponent = (uid, { analyticsId, control, emptyMessage, hint,
|
|
|
2250
2275
|
uid,
|
|
2251
2276
|
analyticsId,
|
|
2252
2277
|
control,
|
|
2253
|
-
emptyMessage
|
|
2278
|
+
emptyMessage,
|
|
2279
|
+
initialState: getInitialState(uid, initialState, mapperProps),
|
|
2254
2280
|
hint,
|
|
2255
2281
|
margin: margin != null ? margin : "md",
|
|
2256
2282
|
tags,
|
|
@@ -2261,6 +2287,33 @@ var searchLayoutToComponent = (uid, { analyticsId, control, emptyMessage, hint,
|
|
|
2261
2287
|
onComponentUpdate
|
|
2262
2288
|
);
|
|
2263
2289
|
};
|
|
2290
|
+
var getInitialState = (uid, initialState, mapperProps) => {
|
|
2291
|
+
if (!initialState) {
|
|
2292
|
+
return emptyInitialState;
|
|
2293
|
+
}
|
|
2294
|
+
switch (initialState.type) {
|
|
2295
|
+
case "layout":
|
|
2296
|
+
return {
|
|
2297
|
+
type: "layout",
|
|
2298
|
+
content: initialState.content.map(
|
|
2299
|
+
(layout, index) => mapLayoutToComponent(`${uid}-initial-${index}`, layout, mapperProps, [])
|
|
2300
|
+
)
|
|
2301
|
+
};
|
|
2302
|
+
case "results":
|
|
2303
|
+
return {
|
|
2304
|
+
type: "results",
|
|
2305
|
+
results: initialState.results
|
|
2306
|
+
};
|
|
2307
|
+
default: {
|
|
2308
|
+
const exhaustiveCheck = initialState;
|
|
2309
|
+
return emptyInitialState;
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
};
|
|
2313
|
+
var emptyInitialState = {
|
|
2314
|
+
type: "layout",
|
|
2315
|
+
content: []
|
|
2316
|
+
};
|
|
2264
2317
|
|
|
2265
2318
|
// src/domain/components/SectionComponent.ts
|
|
2266
2319
|
var createSectionComponent = (props) => {
|
|
@@ -6999,8 +7052,15 @@ var CoreRootRenderer = {
|
|
|
6999
7052
|
}
|
|
7000
7053
|
};
|
|
7001
7054
|
|
|
7002
|
-
// src/renderers/
|
|
7055
|
+
// src/renderers/EmptyLoadingStateRenderer.tsx
|
|
7003
7056
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
7057
|
+
var EmptyLoadingStateRenderer = {
|
|
7058
|
+
canRenderType: "loading-state",
|
|
7059
|
+
render: () => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_jsx_runtime5.Fragment, {})
|
|
7060
|
+
};
|
|
7061
|
+
|
|
7062
|
+
// src/renderers/getRenderFunction.tsx
|
|
7063
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
7004
7064
|
var getRenderFunction = (renderers) => {
|
|
7005
7065
|
function ComponentRenderer(props) {
|
|
7006
7066
|
const { type } = props;
|
|
@@ -7020,9 +7080,9 @@ var getRenderFunction = (renderers) => {
|
|
|
7020
7080
|
}
|
|
7021
7081
|
const render = (props) => {
|
|
7022
7082
|
if (!props) {
|
|
7023
|
-
return /* @__PURE__ */ (0,
|
|
7083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, {});
|
|
7024
7084
|
}
|
|
7025
|
-
return /* @__PURE__ */ (0,
|
|
7085
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ComponentRenderer, __spreadValues({}, props), props.uid);
|
|
7026
7086
|
};
|
|
7027
7087
|
return render;
|
|
7028
7088
|
};
|
|
@@ -7919,14 +7979,17 @@ var getToolbarProps = (toolbar, rendererMapperProps) => {
|
|
|
7919
7979
|
|
|
7920
7980
|
// src/renderers/mappers/rootComponentToProps.ts
|
|
7921
7981
|
var rootComponentToProps = (rootComponent, rendererMapperProps) => {
|
|
7922
|
-
const childrenProps =
|
|
7923
|
-
|
|
7924
|
-
|
|
7925
|
-
|
|
7926
|
-
|
|
7927
|
-
|
|
7928
|
-
|
|
7929
|
-
|
|
7982
|
+
const childrenProps = [
|
|
7983
|
+
__spreadValues({ type: "loading-state", uid: "loading-state" }, rendererMapperProps),
|
|
7984
|
+
...rootComponent.getChildren().map((child) => {
|
|
7985
|
+
if (child.type === "step") {
|
|
7986
|
+
return stepComponentToProps(child, __spreadProps(__spreadValues({}, rendererMapperProps), {
|
|
7987
|
+
showBack: rootComponent.canPerformBack()
|
|
7988
|
+
}));
|
|
7989
|
+
}
|
|
7990
|
+
return componentToRendererProps(child, rendererMapperProps);
|
|
7991
|
+
})
|
|
7992
|
+
];
|
|
7930
7993
|
const subflow = rootComponent.subflow ? {
|
|
7931
7994
|
presentation: rootComponent.subflow.presentation,
|
|
7932
7995
|
children: rendererMapperProps.render(
|
|
@@ -7982,7 +8045,7 @@ var getSearchState = ({
|
|
|
7982
8045
|
onChange,
|
|
7983
8046
|
onSelect
|
|
7984
8047
|
}) => {
|
|
7985
|
-
if (
|
|
8048
|
+
if (isLoading) {
|
|
7986
8049
|
return { type: "pending" };
|
|
7987
8050
|
}
|
|
7988
8051
|
if (error) {
|
|
@@ -8002,19 +8065,21 @@ var getSearchState = ({
|
|
|
8002
8065
|
layoutProps
|
|
8003
8066
|
};
|
|
8004
8067
|
}
|
|
8005
|
-
if (state.results.length === 0) {
|
|
8068
|
+
if (query && state.results.length === 0) {
|
|
8006
8069
|
return { type: "noResults", message: emptyMessage };
|
|
8007
8070
|
}
|
|
8008
|
-
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8071
|
+
return {
|
|
8072
|
+
type: "results",
|
|
8073
|
+
results: state.results.map((result) => {
|
|
8074
|
+
var _a;
|
|
8075
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
8076
|
+
id: result.type === "action" ? (_a = result.value.id) != null ? _a : result.value.$id : void 0,
|
|
8077
|
+
image: mapSpecImage(result.image),
|
|
8078
|
+
media: getDomainLayerMedia(result),
|
|
8079
|
+
onClick: () => onSelect(result)
|
|
8080
|
+
});
|
|
8081
|
+
})
|
|
8082
|
+
};
|
|
8018
8083
|
};
|
|
8019
8084
|
|
|
8020
8085
|
// src/renderers/mappers/sectionComponentToProps.ts
|
|
@@ -8308,7 +8373,7 @@ function useStableCallback(handler) {
|
|
|
8308
8373
|
}
|
|
8309
8374
|
|
|
8310
8375
|
// src/useDynamicFlow.tsx
|
|
8311
|
-
var
|
|
8376
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
8312
8377
|
var className = "dynamic-flow";
|
|
8313
8378
|
var noop3 = () => {
|
|
8314
8379
|
};
|
|
@@ -8359,10 +8424,15 @@ function useDynamicFlow(props) {
|
|
|
8359
8424
|
scrollToTop
|
|
8360
8425
|
}));
|
|
8361
8426
|
const render = (0, import_react3.useMemo)(
|
|
8362
|
-
() => getRenderFunction([
|
|
8427
|
+
() => getRenderFunction([
|
|
8428
|
+
CoreRootRenderer,
|
|
8429
|
+
CoreContainerRenderer,
|
|
8430
|
+
...renderers,
|
|
8431
|
+
EmptyLoadingStateRenderer
|
|
8432
|
+
]),
|
|
8363
8433
|
[renderers]
|
|
8364
8434
|
);
|
|
8365
|
-
const
|
|
8435
|
+
const rendererProps = componentToRendererProps(rootComponent, {
|
|
8366
8436
|
features,
|
|
8367
8437
|
render,
|
|
8368
8438
|
httpClient,
|
|
@@ -8374,9 +8444,13 @@ function useDynamicFlow(props) {
|
|
|
8374
8444
|
controller: {
|
|
8375
8445
|
getSubmittableValue: async () => rootComponent.getSubmittableValue(),
|
|
8376
8446
|
validate: () => rootComponent.validate(),
|
|
8447
|
+
/**
|
|
8448
|
+
* @experimental This is not a public API and may be removed in the future without notice
|
|
8449
|
+
*/
|
|
8450
|
+
rendererProps,
|
|
8377
8451
|
cancel
|
|
8378
8452
|
},
|
|
8379
|
-
view: /* @__PURE__ */ (0,
|
|
8453
|
+
view: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
8380
8454
|
ErrorBoundary_default,
|
|
8381
8455
|
{
|
|
8382
8456
|
onError: (error) => {
|
|
@@ -8386,7 +8460,7 @@ function useDynamicFlow(props) {
|
|
|
8386
8460
|
errorMessage: getErrorMessage(error)
|
|
8387
8461
|
});
|
|
8388
8462
|
},
|
|
8389
|
-
children: /* @__PURE__ */ (0,
|
|
8463
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { id: normalisedFlowId, className, children: render(rendererProps) })
|
|
8390
8464
|
}
|
|
8391
8465
|
)
|
|
8392
8466
|
};
|
package/build/main.mjs
CHANGED
|
@@ -806,6 +806,7 @@ var getChildren = (node) => {
|
|
|
806
806
|
case "heading":
|
|
807
807
|
case "hidden":
|
|
808
808
|
case "image":
|
|
809
|
+
case "loading-state":
|
|
809
810
|
case "instructions":
|
|
810
811
|
case "input-integer":
|
|
811
812
|
case "list":
|
|
@@ -2061,7 +2062,7 @@ var debounce = (callback, waitMs) => {
|
|
|
2061
2062
|
// src/domain/components/searchComponent/SearchComponent.ts
|
|
2062
2063
|
var DEBOUNCE_TIME = 400;
|
|
2063
2064
|
var createSearchComponent = (searchProps, performSearch, onBehavior, onComponentUpdate) => {
|
|
2064
|
-
const { uid, analyticsId, control, emptyMessage, hint, margin, tags, title } = searchProps;
|
|
2065
|
+
const { uid, analyticsId, control, emptyMessage, initialState, hint, margin, tags, title } = searchProps;
|
|
2065
2066
|
const update = getInputUpdateFunction(onComponentUpdate);
|
|
2066
2067
|
let abortController = new AbortController();
|
|
2067
2068
|
const search = (component2, query, searchConfig) => {
|
|
@@ -2075,7 +2076,7 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2075
2076
|
}).then((state) => {
|
|
2076
2077
|
if (!signal.aborted) {
|
|
2077
2078
|
update(component2, (draft) => {
|
|
2078
|
-
draft.state = state;
|
|
2079
|
+
draft.state = state != null ? state : initialState;
|
|
2079
2080
|
draft.isLoading = false;
|
|
2080
2081
|
draft.error = void 0;
|
|
2081
2082
|
});
|
|
@@ -2097,9 +2098,10 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2097
2098
|
analyticsId,
|
|
2098
2099
|
control,
|
|
2099
2100
|
emptyMessage,
|
|
2101
|
+
initialState,
|
|
2100
2102
|
hint,
|
|
2101
2103
|
margin,
|
|
2102
|
-
state:
|
|
2104
|
+
state: initialState,
|
|
2103
2105
|
tags,
|
|
2104
2106
|
title,
|
|
2105
2107
|
isLoading: false,
|
|
@@ -2108,11 +2110,22 @@ var createSearchComponent = (searchProps, performSearch, onBehavior, onComponent
|
|
|
2108
2110
|
update(this, updateFn);
|
|
2109
2111
|
},
|
|
2110
2112
|
onChange(query) {
|
|
2111
|
-
|
|
2112
|
-
draft
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2113
|
+
if (query.trim()) {
|
|
2114
|
+
this._update((draft) => {
|
|
2115
|
+
draft.query = query;
|
|
2116
|
+
draft.isLoading = true;
|
|
2117
|
+
});
|
|
2118
|
+
debouncedSearch(this, query.trim());
|
|
2119
|
+
} else {
|
|
2120
|
+
abortController.abort();
|
|
2121
|
+
debouncedSearch.cancel();
|
|
2122
|
+
update(component, (draft) => {
|
|
2123
|
+
draft.query = query;
|
|
2124
|
+
draft.state = initialState;
|
|
2125
|
+
draft.isLoading = false;
|
|
2126
|
+
draft.error = void 0;
|
|
2127
|
+
});
|
|
2128
|
+
}
|
|
2116
2129
|
},
|
|
2117
2130
|
onSelect({ type, value }) {
|
|
2118
2131
|
if (type === "action") {
|
|
@@ -2208,11 +2221,23 @@ var isValidResponseBody = (body) => {
|
|
|
2208
2221
|
var hashRequest = (query, config) => JSON.stringify({ query, config });
|
|
2209
2222
|
|
|
2210
2223
|
// src/domain/mappers/layout/searchLayoutToComponent.ts
|
|
2211
|
-
var searchLayoutToComponent = (uid, {
|
|
2224
|
+
var searchLayoutToComponent = (uid, {
|
|
2225
|
+
analyticsId,
|
|
2226
|
+
control,
|
|
2227
|
+
emptyMessage = "",
|
|
2228
|
+
initialState,
|
|
2229
|
+
hint,
|
|
2230
|
+
method,
|
|
2231
|
+
param,
|
|
2232
|
+
title,
|
|
2233
|
+
url,
|
|
2234
|
+
margin,
|
|
2235
|
+
tags
|
|
2236
|
+
}, mapperProps) => {
|
|
2212
2237
|
const { httpClient, onBehavior, onComponentUpdate } = mapperProps;
|
|
2213
2238
|
const search = getPerformSearchFunction(
|
|
2214
2239
|
httpClient,
|
|
2215
|
-
(layout) => mapLayoutToComponent(`${uid}-search-response`, layout, mapperProps, []),
|
|
2240
|
+
(layout, index) => mapLayoutToComponent(`${uid}-search-response-${index}`, layout, mapperProps, []),
|
|
2216
2241
|
{ method, param, url }
|
|
2217
2242
|
);
|
|
2218
2243
|
return createSearchComponent(
|
|
@@ -2220,7 +2245,8 @@ var searchLayoutToComponent = (uid, { analyticsId, control, emptyMessage, hint,
|
|
|
2220
2245
|
uid,
|
|
2221
2246
|
analyticsId,
|
|
2222
2247
|
control,
|
|
2223
|
-
emptyMessage
|
|
2248
|
+
emptyMessage,
|
|
2249
|
+
initialState: getInitialState(uid, initialState, mapperProps),
|
|
2224
2250
|
hint,
|
|
2225
2251
|
margin: margin != null ? margin : "md",
|
|
2226
2252
|
tags,
|
|
@@ -2231,6 +2257,33 @@ var searchLayoutToComponent = (uid, { analyticsId, control, emptyMessage, hint,
|
|
|
2231
2257
|
onComponentUpdate
|
|
2232
2258
|
);
|
|
2233
2259
|
};
|
|
2260
|
+
var getInitialState = (uid, initialState, mapperProps) => {
|
|
2261
|
+
if (!initialState) {
|
|
2262
|
+
return emptyInitialState;
|
|
2263
|
+
}
|
|
2264
|
+
switch (initialState.type) {
|
|
2265
|
+
case "layout":
|
|
2266
|
+
return {
|
|
2267
|
+
type: "layout",
|
|
2268
|
+
content: initialState.content.map(
|
|
2269
|
+
(layout, index) => mapLayoutToComponent(`${uid}-initial-${index}`, layout, mapperProps, [])
|
|
2270
|
+
)
|
|
2271
|
+
};
|
|
2272
|
+
case "results":
|
|
2273
|
+
return {
|
|
2274
|
+
type: "results",
|
|
2275
|
+
results: initialState.results
|
|
2276
|
+
};
|
|
2277
|
+
default: {
|
|
2278
|
+
const exhaustiveCheck = initialState;
|
|
2279
|
+
return emptyInitialState;
|
|
2280
|
+
}
|
|
2281
|
+
}
|
|
2282
|
+
};
|
|
2283
|
+
var emptyInitialState = {
|
|
2284
|
+
type: "layout",
|
|
2285
|
+
content: []
|
|
2286
|
+
};
|
|
2234
2287
|
|
|
2235
2288
|
// src/domain/components/SectionComponent.ts
|
|
2236
2289
|
var createSectionComponent = (props) => {
|
|
@@ -6969,8 +7022,15 @@ var CoreRootRenderer = {
|
|
|
6969
7022
|
}
|
|
6970
7023
|
};
|
|
6971
7024
|
|
|
6972
|
-
// src/renderers/
|
|
7025
|
+
// src/renderers/EmptyLoadingStateRenderer.tsx
|
|
6973
7026
|
import { Fragment as Fragment4, jsx as jsx5 } from "react/jsx-runtime";
|
|
7027
|
+
var EmptyLoadingStateRenderer = {
|
|
7028
|
+
canRenderType: "loading-state",
|
|
7029
|
+
render: () => /* @__PURE__ */ jsx5(Fragment4, {})
|
|
7030
|
+
};
|
|
7031
|
+
|
|
7032
|
+
// src/renderers/getRenderFunction.tsx
|
|
7033
|
+
import { Fragment as Fragment5, jsx as jsx6 } from "react/jsx-runtime";
|
|
6974
7034
|
var getRenderFunction = (renderers) => {
|
|
6975
7035
|
function ComponentRenderer(props) {
|
|
6976
7036
|
const { type } = props;
|
|
@@ -6990,9 +7050,9 @@ var getRenderFunction = (renderers) => {
|
|
|
6990
7050
|
}
|
|
6991
7051
|
const render = (props) => {
|
|
6992
7052
|
if (!props) {
|
|
6993
|
-
return /* @__PURE__ */
|
|
7053
|
+
return /* @__PURE__ */ jsx6(Fragment5, {});
|
|
6994
7054
|
}
|
|
6995
|
-
return /* @__PURE__ */
|
|
7055
|
+
return /* @__PURE__ */ jsx6(ComponentRenderer, __spreadValues({}, props), props.uid);
|
|
6996
7056
|
};
|
|
6997
7057
|
return render;
|
|
6998
7058
|
};
|
|
@@ -7889,14 +7949,17 @@ var getToolbarProps = (toolbar, rendererMapperProps) => {
|
|
|
7889
7949
|
|
|
7890
7950
|
// src/renderers/mappers/rootComponentToProps.ts
|
|
7891
7951
|
var rootComponentToProps = (rootComponent, rendererMapperProps) => {
|
|
7892
|
-
const childrenProps =
|
|
7893
|
-
|
|
7894
|
-
|
|
7895
|
-
|
|
7896
|
-
|
|
7897
|
-
|
|
7898
|
-
|
|
7899
|
-
|
|
7952
|
+
const childrenProps = [
|
|
7953
|
+
__spreadValues({ type: "loading-state", uid: "loading-state" }, rendererMapperProps),
|
|
7954
|
+
...rootComponent.getChildren().map((child) => {
|
|
7955
|
+
if (child.type === "step") {
|
|
7956
|
+
return stepComponentToProps(child, __spreadProps(__spreadValues({}, rendererMapperProps), {
|
|
7957
|
+
showBack: rootComponent.canPerformBack()
|
|
7958
|
+
}));
|
|
7959
|
+
}
|
|
7960
|
+
return componentToRendererProps(child, rendererMapperProps);
|
|
7961
|
+
})
|
|
7962
|
+
];
|
|
7900
7963
|
const subflow = rootComponent.subflow ? {
|
|
7901
7964
|
presentation: rootComponent.subflow.presentation,
|
|
7902
7965
|
children: rendererMapperProps.render(
|
|
@@ -7952,7 +8015,7 @@ var getSearchState = ({
|
|
|
7952
8015
|
onChange,
|
|
7953
8016
|
onSelect
|
|
7954
8017
|
}) => {
|
|
7955
|
-
if (
|
|
8018
|
+
if (isLoading) {
|
|
7956
8019
|
return { type: "pending" };
|
|
7957
8020
|
}
|
|
7958
8021
|
if (error) {
|
|
@@ -7972,19 +8035,21 @@ var getSearchState = ({
|
|
|
7972
8035
|
layoutProps
|
|
7973
8036
|
};
|
|
7974
8037
|
}
|
|
7975
|
-
if (state.results.length === 0) {
|
|
8038
|
+
if (query && state.results.length === 0) {
|
|
7976
8039
|
return { type: "noResults", message: emptyMessage };
|
|
7977
8040
|
}
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
8041
|
+
return {
|
|
8042
|
+
type: "results",
|
|
8043
|
+
results: state.results.map((result) => {
|
|
8044
|
+
var _a;
|
|
8045
|
+
return __spreadProps(__spreadValues({}, result), {
|
|
8046
|
+
id: result.type === "action" ? (_a = result.value.id) != null ? _a : result.value.$id : void 0,
|
|
8047
|
+
image: mapSpecImage(result.image),
|
|
8048
|
+
media: getDomainLayerMedia(result),
|
|
8049
|
+
onClick: () => onSelect(result)
|
|
8050
|
+
});
|
|
8051
|
+
})
|
|
8052
|
+
};
|
|
7988
8053
|
};
|
|
7989
8054
|
|
|
7990
8055
|
// src/renderers/mappers/sectionComponentToProps.ts
|
|
@@ -8278,7 +8343,7 @@ function useStableCallback(handler) {
|
|
|
8278
8343
|
}
|
|
8279
8344
|
|
|
8280
8345
|
// src/useDynamicFlow.tsx
|
|
8281
|
-
import { jsx as
|
|
8346
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
8282
8347
|
var className = "dynamic-flow";
|
|
8283
8348
|
var noop3 = () => {
|
|
8284
8349
|
};
|
|
@@ -8329,10 +8394,15 @@ function useDynamicFlow(props) {
|
|
|
8329
8394
|
scrollToTop
|
|
8330
8395
|
}));
|
|
8331
8396
|
const render = useMemo(
|
|
8332
|
-
() => getRenderFunction([
|
|
8397
|
+
() => getRenderFunction([
|
|
8398
|
+
CoreRootRenderer,
|
|
8399
|
+
CoreContainerRenderer,
|
|
8400
|
+
...renderers,
|
|
8401
|
+
EmptyLoadingStateRenderer
|
|
8402
|
+
]),
|
|
8333
8403
|
[renderers]
|
|
8334
8404
|
);
|
|
8335
|
-
const
|
|
8405
|
+
const rendererProps = componentToRendererProps(rootComponent, {
|
|
8336
8406
|
features,
|
|
8337
8407
|
render,
|
|
8338
8408
|
httpClient,
|
|
@@ -8344,9 +8414,13 @@ function useDynamicFlow(props) {
|
|
|
8344
8414
|
controller: {
|
|
8345
8415
|
getSubmittableValue: async () => rootComponent.getSubmittableValue(),
|
|
8346
8416
|
validate: () => rootComponent.validate(),
|
|
8417
|
+
/**
|
|
8418
|
+
* @experimental This is not a public API and may be removed in the future without notice
|
|
8419
|
+
*/
|
|
8420
|
+
rendererProps,
|
|
8347
8421
|
cancel
|
|
8348
8422
|
},
|
|
8349
|
-
view: /* @__PURE__ */
|
|
8423
|
+
view: /* @__PURE__ */ jsx7(
|
|
8350
8424
|
ErrorBoundary_default,
|
|
8351
8425
|
{
|
|
8352
8426
|
onError: (error) => {
|
|
@@ -8356,7 +8430,7 @@ function useDynamicFlow(props) {
|
|
|
8356
8430
|
errorMessage: getErrorMessage(error)
|
|
8357
8431
|
});
|
|
8358
8432
|
},
|
|
8359
|
-
children: /* @__PURE__ */
|
|
8433
|
+
children: /* @__PURE__ */ jsx7("div", { id: normalisedFlowId, className, children: render(rendererProps) })
|
|
8360
8434
|
}
|
|
8361
8435
|
)
|
|
8362
8436
|
};
|
|
@@ -10,26 +10,27 @@ export type SearchProps = {
|
|
|
10
10
|
query: string;
|
|
11
11
|
signal: AbortSignal;
|
|
12
12
|
};
|
|
13
|
-
export type
|
|
13
|
+
export type SearchResultsState = {
|
|
14
14
|
type: 'layout';
|
|
15
15
|
content: LayoutComponent[];
|
|
16
16
|
} | {
|
|
17
17
|
type: 'results';
|
|
18
18
|
results: SearchResult[];
|
|
19
19
|
};
|
|
20
|
-
export type PerformSearch = (props: SearchProps) => Promise<
|
|
20
|
+
export type PerformSearch = (props: SearchProps) => Promise<SearchResultsState | null>;
|
|
21
21
|
export type SearchComponent = BaseLayoutComponent & {
|
|
22
22
|
type: 'search';
|
|
23
23
|
kind: 'layout';
|
|
24
24
|
emptyMessage: string;
|
|
25
|
+
initialState: SearchResultsState;
|
|
25
26
|
hint?: string;
|
|
26
27
|
isLoading: boolean;
|
|
27
28
|
query: string;
|
|
28
29
|
title: string;
|
|
29
|
-
state:
|
|
30
|
+
state: SearchResultsState;
|
|
30
31
|
error?: string;
|
|
31
32
|
onChange: (query: string) => void;
|
|
32
33
|
onSelect: (result: SearchResult) => void;
|
|
33
34
|
};
|
|
34
|
-
export declare const createSearchComponent: (searchProps: Pick<SearchComponent, "uid" | "analyticsId" | "control" | "emptyMessage" | "hint" | "margin" | "tags" | "title">, performSearch: PerformSearch, onBehavior: OnBehavior, onComponentUpdate: OnComponentUpdate) => SearchComponent;
|
|
35
|
+
export declare const createSearchComponent: (searchProps: Pick<SearchComponent, "uid" | "analyticsId" | "control" | "emptyMessage" | "initialState" | "hint" | "margin" | "tags" | "title">, performSearch: PerformSearch, onBehavior: OnBehavior, onComponentUpdate: OnComponentUpdate) => SearchComponent;
|
|
35
36
|
//# sourceMappingURL=SearchComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchComponent.d.ts","sourceRoot":"","sources":["../../../../../src/domain/components/searchComponent/SearchComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"SearchComponent.d.ts","sourceRoot":"","sources":["../../../../../src/domain/components/searchComponent/SearchComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC1C,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAChC,aAAa,IAAI,CACf,eAAe,EACb,KAAK,GACL,aAAa,GACb,SAAS,GACT,cAAc,GACd,cAAc,GACd,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,CACV,EACD,eAAe,aAAa,EAC5B,YAAY,UAAU,EACtB,mBAAmB,iBAAiB,KACnC,eA6FF,CAAC"}
|
|
@@ -2,5 +2,5 @@ import type { SearchConfig, PerformSearch } from '../../components/searchCompone
|
|
|
2
2
|
import type { HttpClient } from '../../../types';
|
|
3
3
|
import type { Layout } from '@wise/dynamic-flow-types/spec';
|
|
4
4
|
import { LayoutComponent } from '../../types';
|
|
5
|
-
export declare const getPerformSearchFunction: (httpClient: HttpClient, mapLayoutToDomainComponent: (layout: Layout) => LayoutComponent, defaultConfig: SearchConfig) => PerformSearch;
|
|
5
|
+
export declare const getPerformSearchFunction: (httpClient: HttpClient, mapLayoutToDomainComponent: (layout: Layout, index: number) => LayoutComponent, defaultConfig: SearchConfig) => PerformSearch;
|
|
6
6
|
//# sourceMappingURL=getPerformSearchFunction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPerformSearchFunction.d.ts","sourceRoot":"","sources":["../../../../../src/domain/features/search/getPerformSearchFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EAEd,MAAM,kDAAkD,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAwC,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,wBAAwB,GACnC,YAAY,UAAU,EACtB,4BAA4B,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"getPerformSearchFunction.d.ts","sourceRoot":"","sources":["../../../../../src/domain/features/search/getPerformSearchFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EAEd,MAAM,kDAAkD,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAwC,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,wBAAwB,GACnC,YAAY,UAAU,EACtB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,eAAe,EAC9E,eAAe,YAAY,KAC1B,aAyCF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SearchLayout } from '@wise/dynamic-flow-types/spec';
|
|
2
|
+
import { SearchComponent } from '../../components/searchComponent/SearchComponent';
|
|
2
3
|
import type { MapperProps } from '../schema/types';
|
|
3
|
-
export declare const searchLayoutToComponent: (uid: string, { analyticsId, control, emptyMessage, hint, method, param, title, url, margin, tags }: SearchLayout, mapperProps: MapperProps) =>
|
|
4
|
+
export declare const searchLayoutToComponent: (uid: string, { analyticsId, control, emptyMessage, initialState, hint, method, param, title, url, margin, tags, }: SearchLayout, mapperProps: MapperProps) => SearchComponent;
|
|
4
5
|
//# sourceMappingURL=searchLayoutToComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchLayoutToComponent.d.ts","sourceRoot":"","sources":["../../../../../src/domain/mappers/layout/searchLayoutToComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"searchLayoutToComponent.d.ts","sourceRoot":"","sources":["../../../../../src/domain/mappers/layout/searchLayoutToComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAEL,eAAe,EAEhB,MAAM,kDAAkD,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,GAClC,KAAK,MAAM,EACX,sGAYG,YAAY,EACf,aAAa,WAAW,oBA0BzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyLoadingStateRenderer.d.ts","sourceRoot":"","sources":["../../../src/renderers/EmptyLoadingStateRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9F,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,CAGzE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rootComponentToProps.d.ts","sourceRoot":"","sources":["../../../../src/renderers/mappers/rootComponentToProps.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rootComponentToProps.d.ts","sourceRoot":"","sources":["../../../../src/renderers/mappers/rootComponentToProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAA4B,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAG3F,eAAO,MAAM,oBAAoB,GAC/B,eAAe,mBAAmB,EAClC,qBAAqB,mBAAmB,KACvC,iBA+BF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { SearchComponent } from '../../domain/components/searchComponent/SearchComponent';
|
|
2
1
|
import type { SearchRendererProps } from '@wise/dynamic-flow-types/renderers';
|
|
2
|
+
import type { SearchComponent } from '../../domain/components/searchComponent/SearchComponent';
|
|
3
3
|
import { RendererMapperProps } from './componentToRendererProps';
|
|
4
4
|
export declare const searchComponentToProps: (component: SearchComponent, rendererMapperProps: RendererMapperProps) => SearchRendererProps;
|
|
5
5
|
//# sourceMappingURL=searchComponentToProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchComponentToProps.d.ts","sourceRoot":"","sources":["../../../../src/renderers/mappers/searchComponentToProps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"searchComponentToProps.d.ts","sourceRoot":"","sources":["../../../../src/renderers/mappers/searchComponentToProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,oCAAoC,CAAC;AAE3F,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAA4B,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,eAAO,MAAM,sBAAsB,GACjC,WAAW,eAAe,EAC1B,qBAAqB,mBAAmB,KACvC,mBAgCF,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DynamicFlowWiseProps } from './DynamicFlowWise';
|
|
2
|
-
export declare const getMergedTestRenderers: (props: DynamicFlowWiseProps) => (import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CoreContainerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RootRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StepRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").AlertRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").BoxRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ColumnsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DecisionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DividerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ExternalConfirmationRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormattedValueRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HeadingRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").InstructionsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").LoadingIndicatorRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MarkdownRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ImageRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MediaRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalLayoutRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ParagraphRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ProgressRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ReviewRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SearchRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StatusListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CheckboxInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ButtonRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DateInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HiddenRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").IntegerInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MoneyInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").NumberInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RepeatableRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormSectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SubflowRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiSelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TabsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TextInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").UploadInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiUploadInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").UpsellRendererProps>)[];
|
|
2
|
+
export declare const getMergedTestRenderers: (props: DynamicFlowWiseProps) => (import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CoreContainerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RootRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").LoadingStateRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StepRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").AlertRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").BoxRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ColumnsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DecisionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DividerRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ExternalConfirmationRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormattedValueRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HeadingRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").InstructionsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").LoadingIndicatorRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MarkdownRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ImageRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MediaRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalLayoutRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ModalRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ParagraphRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ProgressRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ReviewRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SearchRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").StatusListRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").CheckboxInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").ButtonRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").DateInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").HiddenRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").IntegerInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MoneyInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").NumberInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").RepeatableRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").FormSectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SectionRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").SubflowRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiSelectInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TabsRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").TextInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").UploadInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").MultiUploadInputRendererProps> | import("@wise/dynamic-flow-types/renderers").Renderer<import("@wise/dynamic-flow-types/renderers").UpsellRendererProps>)[];
|
|
3
3
|
//# sourceMappingURL=getMergedTestRenderers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMergedTestRenderers.d.ts","sourceRoot":"","sources":["../../../src/test-utils/getMergedTestRenderers.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getMergedTestRenderers.d.ts","sourceRoot":"","sources":["../../../src/test-utils/getMergedTestRenderers.tsx"],"names":[],"mappings":"AAKA,OAAwB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAM1E,eAAO,MAAM,sBAAsB,GAAI,OAAO,oBAAoB,03KAgCjE,CAAC"}
|
|
@@ -6,6 +6,10 @@ export declare function useDynamicFlow(props: DynamicFlowCoreProps): {
|
|
|
6
6
|
controller: {
|
|
7
7
|
getSubmittableValue: () => Promise<import("@wise/dynamic-flow-types/spec").JsonElement>;
|
|
8
8
|
validate: () => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @experimental This is not a public API and may be removed in the future without notice
|
|
11
|
+
*/
|
|
12
|
+
rendererProps: import("@wise/dynamic-flow-types/renderers").RendererProps;
|
|
9
13
|
cancel: () => void;
|
|
10
14
|
};
|
|
11
15
|
view: import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicFlow.d.ts","sourceRoot":"","sources":["../../src/useDynamicFlow.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDynamicFlow.d.ts","sourceRoot":"","sources":["../../src/useDynamicFlow.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AASpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,oBAAoB;;;;QA6EpD;;WAEG;;;;;EAoBR"}
|
|
@@ -10,6 +10,7 @@ export declare const useDynamicFlowModal: (props: DynamicFlowProps) => {
|
|
|
10
10
|
controller: {
|
|
11
11
|
getSubmittableValue: () => Promise<JsonElement>;
|
|
12
12
|
validate: () => boolean;
|
|
13
|
+
rendererProps: import("@wise/dynamic-flow-types/renderers").RendererProps;
|
|
13
14
|
cancel: () => void;
|
|
14
15
|
};
|
|
15
16
|
view: import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicFlowModal.d.ts","sourceRoot":"","sources":["../../src/useDynamicFlowModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,GAAG,CAAC;AAuBrD,eAAO,MAAM,mBAAmB,GAAI,OAAO,gBAAgB
|
|
1
|
+
{"version":3,"file":"useDynamicFlowModal.d.ts","sourceRoot":"","sources":["../../src/useDynamicFlowModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAkB,MAAM,GAAG,CAAC;AAuBrD,eAAO,MAAM,mBAAmB,GAAI,OAAO,gBAAgB;;;;;;;;;;;;;;CA2D1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wise/dynamic-flow-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.9.0-experimental-rendererprops-9c9a4b8",
|
|
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 || ^7"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@wise/dynamic-flow-types": "4.
|
|
89
|
+
"@wise/dynamic-flow-types": "4.9.0-experimental-rendererprops-9c9a4b8"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
92
|
"dev": "EXCLUDE_VISUAL_TESTS=true pnpm storybook dev -p 3003",
|