@wise/dynamic-flow-client 5.28.1 → 5.29.0-experimental-f7c2300
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.css +24 -0
- package/build/main.js +299 -167
- package/build/main.mjs +299 -167
- package/build/tsconfig.types.tsbuildinfo +1 -1
- package/build/types/domain/components/collectionComponent/CollectionComponent.d.ts +5 -5
- package/build/types/domain/components/collectionComponent/CollectionComponent.d.ts.map +1 -1
- package/build/types/domain/components/collectionComponent/CollectionState.d.ts +19 -0
- package/build/types/domain/components/collectionComponent/CollectionState.d.ts.map +1 -0
- package/build/types/domain/components/collectionComponent/mergeSections.d.ts +3 -0
- package/build/types/domain/components/collectionComponent/mergeSections.d.ts.map +1 -0
- package/build/types/domain/components/collectionComponent/types.d.ts +42 -14
- package/build/types/domain/components/collectionComponent/types.d.ts.map +1 -1
- package/build/types/domain/features/collection/getPerformCollectionQuery.d.ts +2 -2
- package/build/types/domain/features/collection/getPerformCollectionQuery.d.ts.map +1 -1
- package/build/types/domain/mappers/layout/collectionLayoutToComponent.d.ts +3 -3
- package/build/types/domain/mappers/layout/collectionLayoutToComponent.d.ts.map +1 -1
- package/build/types/renderers/mappers/collectionComponentToProps.d.ts.map +1 -1
- package/package.json +6 -5
package/build/main.mjs
CHANGED
|
@@ -830,6 +830,7 @@ function findRendererPropsByType(root, type, predicate = () => true) {
|
|
|
830
830
|
}
|
|
831
831
|
var isType = (node, type) => node.type === type;
|
|
832
832
|
var getChildren = (node) => {
|
|
833
|
+
var _a;
|
|
833
834
|
switch (node.type) {
|
|
834
835
|
case "root":
|
|
835
836
|
case "box":
|
|
@@ -851,9 +852,16 @@ var getChildren = (node) => {
|
|
|
851
852
|
return node.childrenProps ? [node.childrenProps] : [];
|
|
852
853
|
case "tabs":
|
|
853
854
|
return node.tabs.flatMap((c) => c.childrenProps);
|
|
855
|
+
case "collection": {
|
|
856
|
+
const { beforeSectionsProps, afterSectionsProps, sections, search } = node.state;
|
|
857
|
+
return [
|
|
858
|
+
...beforeSectionsProps,
|
|
859
|
+
...afterSectionsProps,
|
|
860
|
+
...[...sections, ...(_a = search == null ? void 0 : search.initialSections) != null ? _a : []].filter((section) => section.type === "layout").flatMap((section) => section.childrenProps)
|
|
861
|
+
];
|
|
862
|
+
}
|
|
854
863
|
case "alert":
|
|
855
864
|
case "button":
|
|
856
|
-
case "collection":
|
|
857
865
|
case "input-checkbox":
|
|
858
866
|
case "input-date":
|
|
859
867
|
case "decision":
|
|
@@ -1682,89 +1690,121 @@ function mergeArrays(valueA, valueB) {
|
|
|
1682
1690
|
);
|
|
1683
1691
|
}
|
|
1684
1692
|
|
|
1685
|
-
// src/domain/components/collectionComponent/
|
|
1693
|
+
// src/domain/components/collectionComponent/mergeSections.ts
|
|
1694
|
+
var mergeSections = (existing, incoming) => {
|
|
1695
|
+
const knownIds = new Set(existing.map((section) => section.id));
|
|
1696
|
+
const newSections = incoming.filter((section) => !knownIds.has(section.id));
|
|
1697
|
+
const merged = existing.map((section) => {
|
|
1698
|
+
var _a, _b, _c, _d;
|
|
1699
|
+
const match = incoming.find((s) => s.id === section.id);
|
|
1700
|
+
if (!match) return section;
|
|
1701
|
+
if (section.type !== match.type) return section;
|
|
1702
|
+
const baseProps = {
|
|
1703
|
+
type: section.type,
|
|
1704
|
+
id: match.id,
|
|
1705
|
+
title: (_a = match.title) != null ? _a : section.title,
|
|
1706
|
+
callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
|
|
1707
|
+
help: (_c = match.help) != null ? _c : section.help,
|
|
1708
|
+
inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert
|
|
1709
|
+
};
|
|
1710
|
+
if (section.type === "layout" && match.type === "layout") {
|
|
1711
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
1712
|
+
type: "layout",
|
|
1713
|
+
components: [...section.components, ...match.components]
|
|
1714
|
+
});
|
|
1715
|
+
}
|
|
1716
|
+
if (section.type === "items" && match.type === "items") {
|
|
1717
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
1718
|
+
type: "items",
|
|
1719
|
+
items: [...section.items, ...match.items]
|
|
1720
|
+
});
|
|
1721
|
+
}
|
|
1722
|
+
return section;
|
|
1723
|
+
});
|
|
1724
|
+
return [...merged, ...newSections];
|
|
1725
|
+
};
|
|
1726
|
+
|
|
1727
|
+
// src/domain/components/collectionComponent/CollectionState.ts
|
|
1686
1728
|
var DEBOUNCE_TIME = 800;
|
|
1687
|
-
var
|
|
1688
|
-
|
|
1689
|
-
|
|
1729
|
+
var createCollectionState = ({
|
|
1730
|
+
id,
|
|
1731
|
+
initialState,
|
|
1732
|
+
searchQuery,
|
|
1733
|
+
onComponentUpdate,
|
|
1734
|
+
queryFunction,
|
|
1735
|
+
trackEvent
|
|
1736
|
+
}) => {
|
|
1737
|
+
const _a = initialState, { search, filters } = _a, response = __objRest(_a, ["search", "filters"]);
|
|
1690
1738
|
let abortController = new AbortController();
|
|
1691
|
-
const
|
|
1692
|
-
|
|
1693
|
-
|
|
1739
|
+
const update = (updateFn) => {
|
|
1740
|
+
updateFn(state);
|
|
1741
|
+
onComponentUpdate();
|
|
1742
|
+
};
|
|
1743
|
+
const getIdleStatus = (nextCursor) => ({
|
|
1744
|
+
type: "idle",
|
|
1745
|
+
loadMore: nextCursor ? () => query("pagination") : void 0
|
|
1746
|
+
});
|
|
1747
|
+
const query = (mode) => {
|
|
1748
|
+
var _a2, _b;
|
|
1694
1749
|
abortController.abort();
|
|
1695
1750
|
abortController = new AbortController();
|
|
1696
1751
|
const { signal } = abortController;
|
|
1697
|
-
|
|
1752
|
+
trackEvent(getEventName(mode, "Triggered"), state.analytics);
|
|
1698
1753
|
queryFunction({
|
|
1699
|
-
searchParam: (
|
|
1700
|
-
query: (_b =
|
|
1701
|
-
cursor: mode === "pagination" ?
|
|
1754
|
+
searchParam: (_a2 = state.search) == null ? void 0 : _a2.param,
|
|
1755
|
+
query: (_b = state.search) == null ? void 0 : _b.query,
|
|
1756
|
+
cursor: mode === "pagination" ? state.nextCursor : void 0,
|
|
1702
1757
|
signal,
|
|
1703
|
-
filters:
|
|
1704
|
-
}).then((
|
|
1705
|
-
if (!
|
|
1758
|
+
filters: state.filters
|
|
1759
|
+
}).then((incoming) => {
|
|
1760
|
+
if (!incoming || signal.aborted) {
|
|
1706
1761
|
return;
|
|
1707
1762
|
}
|
|
1708
|
-
update(
|
|
1709
|
-
|
|
1710
|
-
draft.status = {
|
|
1711
|
-
type: "idle",
|
|
1712
|
-
loadMore: response.nextCursor ? paginate : void 0
|
|
1713
|
-
};
|
|
1714
|
-
});
|
|
1715
|
-
trackCollectionEvent(source != null ? source : mode, "Succeeded");
|
|
1763
|
+
update((draft) => mergeResponse(draft, mode, incoming));
|
|
1764
|
+
trackEvent(getEventName(mode, "Succeeded"), state.analytics);
|
|
1716
1765
|
}).catch(() => {
|
|
1717
1766
|
if (!signal.aborted) {
|
|
1718
1767
|
const retry = () => {
|
|
1719
|
-
update(
|
|
1768
|
+
update((draft) => {
|
|
1720
1769
|
draft.status = { type: "loading", reason: mode };
|
|
1721
1770
|
});
|
|
1722
|
-
query(mode
|
|
1771
|
+
query(mode);
|
|
1723
1772
|
};
|
|
1724
|
-
update(
|
|
1725
|
-
if (mode === "search") {
|
|
1726
|
-
draft.
|
|
1773
|
+
update((draft) => {
|
|
1774
|
+
if (mode === "search" || mode === "filter") {
|
|
1775
|
+
draft.sections = [];
|
|
1727
1776
|
}
|
|
1728
1777
|
draft.status = { type: "error", reason: mode, retry };
|
|
1729
1778
|
});
|
|
1730
|
-
|
|
1779
|
+
trackEvent(getEventName(mode, "Failed"), state.analytics);
|
|
1731
1780
|
}
|
|
1732
1781
|
});
|
|
1733
1782
|
};
|
|
1734
1783
|
const debouncedQuery = debounce(query, DEBOUNCE_TIME);
|
|
1735
|
-
const
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
var _a, _b;
|
|
1746
|
-
return {
|
|
1747
|
-
sections: mode === "pagination" ? mergeSections(original.sections, incoming.sections) : incoming.sections,
|
|
1748
|
-
nextCursor: incoming.nextCursor,
|
|
1749
|
-
filters: incoming.filters ? mapFilters(incoming.filters) : original.filters,
|
|
1750
|
-
search: incoming.search ? mapSearch(incoming.search) : original.search,
|
|
1751
|
-
beforeSections: (_a = incoming.beforeSections) != null ? _a : original.beforeSections,
|
|
1752
|
-
afterSections: (_b = incoming.afterSections) != null ? _b : original.afterSections,
|
|
1753
|
-
analytics: mode === "pagination" ? recursiveMerge(original.analytics, incoming.analytics) : incoming.analytics
|
|
1754
|
-
};
|
|
1784
|
+
const mergeResponse = (draft, mode, incoming) => {
|
|
1785
|
+
var _a2, _b, _c, _d;
|
|
1786
|
+
draft.sections = mode === "pagination" ? mergeSections(draft.sections, incoming.sections) : incoming.sections;
|
|
1787
|
+
draft.nextCursor = incoming.nextCursor;
|
|
1788
|
+
draft.analytics = mode === "pagination" ? recursiveMerge(draft.analytics, incoming.analytics) : incoming.analytics;
|
|
1789
|
+
draft.filters = incoming.filters ? mapFilters(incoming.filters) : draft.filters;
|
|
1790
|
+
draft.search = incoming.search ? mapSearch2(incoming.search, (_b = (_a2 = draft.search) == null ? void 0 : _a2.query) != null ? _b : "") : draft.search;
|
|
1791
|
+
draft.beforeSections = (_c = incoming.beforeSections) != null ? _c : draft.beforeSections;
|
|
1792
|
+
draft.afterSections = (_d = incoming.afterSections) != null ? _d : draft.afterSections;
|
|
1793
|
+
draft.status = getIdleStatus(incoming.nextCursor);
|
|
1755
1794
|
};
|
|
1756
1795
|
const selectFilter = (filterIndex, optionIndex) => {
|
|
1757
|
-
var
|
|
1758
|
-
const selected = (
|
|
1796
|
+
var _a2;
|
|
1797
|
+
const selected = (_a2 = state.filters) == null ? void 0 : _a2[filterIndex];
|
|
1759
1798
|
if (!selected) {
|
|
1760
1799
|
return;
|
|
1761
1800
|
}
|
|
1762
1801
|
const currentValue = selected.options[optionIndex].selected;
|
|
1763
|
-
update(
|
|
1764
|
-
|
|
1802
|
+
update((draft) => {
|
|
1803
|
+
var _a3;
|
|
1804
|
+
const draftFilter = (_a3 = draft.filters) == null ? void 0 : _a3[filterIndex];
|
|
1805
|
+
if (!draftFilter) {
|
|
1765
1806
|
return;
|
|
1766
1807
|
}
|
|
1767
|
-
const draftFilter = draft.state.filters[filterIndex];
|
|
1768
1808
|
if (selected.multiSelect) {
|
|
1769
1809
|
draftFilter.options[optionIndex].selected = !currentValue;
|
|
1770
1810
|
} else {
|
|
@@ -1772,35 +1812,86 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1772
1812
|
draftOption.selected = index === optionIndex ? !currentValue : false;
|
|
1773
1813
|
});
|
|
1774
1814
|
}
|
|
1775
|
-
draft.status = { type: "loading", reason: "
|
|
1815
|
+
draft.status = { type: "loading", reason: "filter" };
|
|
1776
1816
|
});
|
|
1777
|
-
filter
|
|
1817
|
+
debouncedQuery("filter");
|
|
1818
|
+
debouncedQuery.flush();
|
|
1778
1819
|
};
|
|
1779
|
-
const
|
|
1780
|
-
|
|
1820
|
+
const changeQuery = (value) => {
|
|
1821
|
+
update((draft) => {
|
|
1822
|
+
if (draft.search) {
|
|
1823
|
+
draft.search.query = value;
|
|
1824
|
+
draft.status = { type: "loading", reason: "search" };
|
|
1825
|
+
}
|
|
1826
|
+
});
|
|
1827
|
+
abortController.abort();
|
|
1828
|
+
debouncedQuery("search");
|
|
1829
|
+
};
|
|
1830
|
+
const mapFilters = (filtersToMap) => filtersToMap == null ? void 0 : filtersToMap.map((f, filterIndex) => {
|
|
1831
|
+
var _a2;
|
|
1781
1832
|
return __spreadProps(__spreadValues({}, f), {
|
|
1782
|
-
options: (
|
|
1783
|
-
var
|
|
1833
|
+
options: (_a2 = f.options) == null ? void 0 : _a2.map((option, optionIndex) => {
|
|
1834
|
+
var _a3;
|
|
1784
1835
|
return __spreadProps(__spreadValues({}, option), {
|
|
1785
|
-
selected: (
|
|
1836
|
+
selected: (_a3 = option.selected) != null ? _a3 : false,
|
|
1786
1837
|
onSelect: () => selectFilter(filterIndex, optionIndex)
|
|
1787
1838
|
});
|
|
1788
1839
|
})
|
|
1789
1840
|
});
|
|
1790
1841
|
});
|
|
1791
|
-
const
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1842
|
+
const mapSearch2 = (searchConfig, value) => searchConfig ? __spreadProps(__spreadValues({}, searchConfig), { query: value, onChange: changeQuery }) : void 0;
|
|
1843
|
+
const state = __spreadProps(__spreadValues({}, response), {
|
|
1844
|
+
id,
|
|
1845
|
+
status: getIdleStatus(response.nextCursor),
|
|
1846
|
+
filters: mapFilters(filters),
|
|
1847
|
+
search: mapSearch2(search, searchQuery),
|
|
1848
|
+
fork(forkedId) {
|
|
1849
|
+
var _a2, _b;
|
|
1850
|
+
return createCollectionState({
|
|
1851
|
+
id: forkedId,
|
|
1852
|
+
initialState: state,
|
|
1853
|
+
searchQuery: (_b = (_a2 = state.search) == null ? void 0 : _a2.query) != null ? _b : "",
|
|
1854
|
+
onComponentUpdate,
|
|
1855
|
+
queryFunction,
|
|
1856
|
+
trackEvent
|
|
1800
1857
|
});
|
|
1801
|
-
|
|
1858
|
+
},
|
|
1859
|
+
cancel() {
|
|
1860
|
+
debouncedQuery.cancel();
|
|
1861
|
+
abortController.abort();
|
|
1862
|
+
},
|
|
1863
|
+
getChildren() {
|
|
1864
|
+
var _a2, _b, _c, _d;
|
|
1865
|
+
return [
|
|
1866
|
+
...(_a2 = state.beforeSections) != null ? _a2 : [],
|
|
1867
|
+
...getSectionsChildren(state.sections),
|
|
1868
|
+
...getSectionsChildren((_c = (_b = state.search) == null ? void 0 : _b.initialSections) != null ? _c : []),
|
|
1869
|
+
...(_d = state.afterSections) != null ? _d : []
|
|
1870
|
+
];
|
|
1802
1871
|
}
|
|
1803
|
-
})
|
|
1872
|
+
});
|
|
1873
|
+
return state;
|
|
1874
|
+
};
|
|
1875
|
+
var getSectionsChildren = (sections) => sections.filter((section) => section.type === "layout").flatMap((section) => section.components);
|
|
1876
|
+
var getEventName = (mode, state) => {
|
|
1877
|
+
const getMode = () => {
|
|
1878
|
+
switch (mode) {
|
|
1879
|
+
case "pagination":
|
|
1880
|
+
return "Pagination";
|
|
1881
|
+
case "search":
|
|
1882
|
+
return "Search";
|
|
1883
|
+
case "filter":
|
|
1884
|
+
return "Filter";
|
|
1885
|
+
}
|
|
1886
|
+
};
|
|
1887
|
+
return `Collection ${getMode()} ${state}`;
|
|
1888
|
+
};
|
|
1889
|
+
|
|
1890
|
+
// src/domain/components/collectionComponent/CollectionComponent.ts
|
|
1891
|
+
var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackEvent) => {
|
|
1892
|
+
const { uid, analyticsId, control, margin, tags, state } = props;
|
|
1893
|
+
const update = getInputUpdateFunction(onComponentUpdate);
|
|
1894
|
+
let forkCount = 0;
|
|
1804
1895
|
const component = {
|
|
1805
1896
|
type: "collection",
|
|
1806
1897
|
kind: "layout",
|
|
@@ -1809,21 +1900,38 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1809
1900
|
control,
|
|
1810
1901
|
margin,
|
|
1811
1902
|
tags,
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1903
|
+
stack: [
|
|
1904
|
+
createCollectionState({
|
|
1905
|
+
id: `${uid}-state-0`,
|
|
1906
|
+
initialState: state,
|
|
1907
|
+
searchQuery: "",
|
|
1908
|
+
onComponentUpdate,
|
|
1909
|
+
queryFunction,
|
|
1910
|
+
trackEvent
|
|
1911
|
+
})
|
|
1912
|
+
],
|
|
1913
|
+
fork() {
|
|
1914
|
+
const { stack } = component;
|
|
1915
|
+
forkCount += 1;
|
|
1916
|
+
const forkedState = stack[stack.length - 1].fork(`${uid}-state-${forkCount}`);
|
|
1917
|
+
update(component, (draft) => {
|
|
1918
|
+
draft.stack = [...draft.stack, forkedState];
|
|
1919
|
+
});
|
|
1818
1920
|
},
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1921
|
+
pop() {
|
|
1922
|
+
const [rootState, ...forkedStates] = component.stack;
|
|
1923
|
+
const poppedState = forkedStates.at(-1);
|
|
1924
|
+
if (!poppedState) {
|
|
1925
|
+
return;
|
|
1926
|
+
}
|
|
1927
|
+
poppedState.cancel();
|
|
1928
|
+
update(component, (draft) => {
|
|
1929
|
+
draft.stack = [rootState, ...forkedStates.slice(0, -1)];
|
|
1930
|
+
});
|
|
1931
|
+
},
|
|
1932
|
+
getChildren() {
|
|
1933
|
+
return component.stack[component.stack.length - 1].getChildren();
|
|
1822
1934
|
},
|
|
1823
|
-
state: __spreadProps(__spreadValues({}, state), {
|
|
1824
|
-
filters: mapFilters(state.filters),
|
|
1825
|
-
search: mapSearch(props.search)
|
|
1826
|
-
}),
|
|
1827
1935
|
start() {
|
|
1828
1936
|
component.getChildren().forEach((child) => child.start());
|
|
1829
1937
|
},
|
|
@@ -1833,37 +1941,6 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
|
|
|
1833
1941
|
};
|
|
1834
1942
|
return component;
|
|
1835
1943
|
};
|
|
1836
|
-
var mergeSections = (existing, incoming) => {
|
|
1837
|
-
const knownIds = new Set(existing.map((section) => section.id));
|
|
1838
|
-
const newSections = incoming.filter((section) => !knownIds.has(section.id));
|
|
1839
|
-
const merged = existing.map((section) => {
|
|
1840
|
-
var _a, _b, _c, _d;
|
|
1841
|
-
const match = incoming.find((s) => s.id === section.id);
|
|
1842
|
-
if (!match) return section;
|
|
1843
|
-
return {
|
|
1844
|
-
id: match.id,
|
|
1845
|
-
title: (_a = match.title) != null ? _a : section.title,
|
|
1846
|
-
callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
|
|
1847
|
-
help: (_c = match.help) != null ? _c : section.help,
|
|
1848
|
-
inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert,
|
|
1849
|
-
items: [...section.items, ...match.items]
|
|
1850
|
-
};
|
|
1851
|
-
});
|
|
1852
|
-
return [...merged, ...newSections];
|
|
1853
|
-
};
|
|
1854
|
-
var getEventName = (mode, state) => {
|
|
1855
|
-
const getMode = () => {
|
|
1856
|
-
switch (mode) {
|
|
1857
|
-
case "pagination":
|
|
1858
|
-
return "Pagination";
|
|
1859
|
-
case "search":
|
|
1860
|
-
return "Search";
|
|
1861
|
-
case "filter":
|
|
1862
|
-
return "Filter";
|
|
1863
|
-
}
|
|
1864
|
-
};
|
|
1865
|
-
return `Collection ${getMode()} ${state}`;
|
|
1866
|
-
};
|
|
1867
1944
|
|
|
1868
1945
|
// src/domain/features/collection/getPerformCollectionQuery.ts
|
|
1869
1946
|
var getPerformCollectionQuery = (httpClient, baseRequest, mapState) => {
|
|
@@ -1956,9 +2033,19 @@ var hashRequest = ({
|
|
|
1956
2033
|
}) => JSON.stringify({ query, cursor, filters: getFilterValues(filters != null ? filters : []) });
|
|
1957
2034
|
|
|
1958
2035
|
// src/domain/mappers/layout/collectionLayoutToComponent.ts
|
|
1959
|
-
var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps) => {
|
|
2036
|
+
var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps, schemaComponents) => {
|
|
2037
|
+
var _a;
|
|
1960
2038
|
const { httpClient, onComponentUpdate, trackEvent } = mapperProps;
|
|
1961
|
-
|
|
2039
|
+
let layoutIndex = 0;
|
|
2040
|
+
const mapLayout = (layout) => {
|
|
2041
|
+
layoutIndex += 1;
|
|
2042
|
+
return mapLayoutToComponent(
|
|
2043
|
+
`${uid}-collection-response-${layoutIndex}`,
|
|
2044
|
+
layout,
|
|
2045
|
+
mapperProps,
|
|
2046
|
+
schemaComponents
|
|
2047
|
+
);
|
|
2048
|
+
};
|
|
1962
2049
|
const mapState = (state) => mapCollectionSpecToDomainState(state, mapperProps, mapLayout);
|
|
1963
2050
|
const queryFunction = getPerformCollectionQuery(httpClient, baseRequest, mapState);
|
|
1964
2051
|
const component = createCollectionComponent(
|
|
@@ -1968,8 +2055,9 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
|
|
|
1968
2055
|
control,
|
|
1969
2056
|
margin: margin != null ? margin : "md",
|
|
1970
2057
|
tags,
|
|
1971
|
-
state: mapState(initialState),
|
|
1972
|
-
|
|
2058
|
+
state: mapState(__spreadProps(__spreadValues({}, initialState), {
|
|
2059
|
+
search: (_a = initialState.search) != null ? _a : search
|
|
2060
|
+
}))
|
|
1973
2061
|
},
|
|
1974
2062
|
onComponentUpdate,
|
|
1975
2063
|
queryFunction,
|
|
@@ -1979,6 +2067,7 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
|
|
|
1979
2067
|
};
|
|
1980
2068
|
var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
1981
2069
|
const {
|
|
2070
|
+
search,
|
|
1982
2071
|
sections,
|
|
1983
2072
|
filters,
|
|
1984
2073
|
beforeSections,
|
|
@@ -1987,29 +2076,8 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
|
1987
2076
|
analytics = {}
|
|
1988
2077
|
} = specState;
|
|
1989
2078
|
return {
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
return __spreadProps(__spreadValues({}, section), {
|
|
1993
|
-
callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
|
|
1994
|
-
help: (_a = section.help) == null ? void 0 : _a.markdown,
|
|
1995
|
-
inlineAlert: mapInlineAlert(section.inlineAlert),
|
|
1996
|
-
items: section.items.map((item) => {
|
|
1997
|
-
const behavior = getDomainLayerBehavior(
|
|
1998
|
-
{ behavior: item.primaryBehavior },
|
|
1999
|
-
[],
|
|
2000
|
-
mapperProps.registerSubmissionBehavior
|
|
2001
|
-
);
|
|
2002
|
-
return __spreadProps(__spreadValues({}, item), {
|
|
2003
|
-
id: item.entityId,
|
|
2004
|
-
onClick: item.primaryBehavior ? () => {
|
|
2005
|
-
void mapperProps.onBehavior(behavior);
|
|
2006
|
-
} : void 0,
|
|
2007
|
-
callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
|
|
2008
|
-
inlineAlert: mapInlineAlert(item.inlineAlert)
|
|
2009
|
-
});
|
|
2010
|
-
})
|
|
2011
|
-
});
|
|
2012
|
-
}),
|
|
2079
|
+
search: search ? mapSearch(search, mapperProps, mapLayout) : void 0,
|
|
2080
|
+
sections: sections.map((section) => mapSection(section, mapperProps, mapLayout)),
|
|
2013
2081
|
filters: filters == null ? void 0 : filters.map(mapFilter),
|
|
2014
2082
|
beforeSections: beforeSections == null ? void 0 : beforeSections.map(mapLayout),
|
|
2015
2083
|
afterSections: afterSections == null ? void 0 : afterSections.map(mapLayout),
|
|
@@ -2017,6 +2085,49 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
|
|
|
2017
2085
|
analytics
|
|
2018
2086
|
};
|
|
2019
2087
|
};
|
|
2088
|
+
var mapSearch = (search, mapperProps, mapLayout) => {
|
|
2089
|
+
var _a, _b, _c;
|
|
2090
|
+
return search ? __spreadProps(__spreadValues({}, search), {
|
|
2091
|
+
help: (_a = search.help) == null ? void 0 : _a.markdown,
|
|
2092
|
+
hints: (_b = search.hints) != null ? _b : search.hint ? [search.hint] : void 0,
|
|
2093
|
+
initialSections: (_c = search.initialSections) == null ? void 0 : _c.map(
|
|
2094
|
+
(section) => mapSection(section, mapperProps, mapLayout)
|
|
2095
|
+
)
|
|
2096
|
+
}) : void 0;
|
|
2097
|
+
};
|
|
2098
|
+
var mapSection = (section, mapperProps, mapLayout) => {
|
|
2099
|
+
var _a;
|
|
2100
|
+
const baseProps = __spreadProps(__spreadValues({}, section), {
|
|
2101
|
+
callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
|
|
2102
|
+
help: (_a = section.help) == null ? void 0 : _a.markdown,
|
|
2103
|
+
inlineAlert: mapInlineAlert(section.inlineAlert)
|
|
2104
|
+
});
|
|
2105
|
+
if (section.type === "layout") {
|
|
2106
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
2107
|
+
type: "layout",
|
|
2108
|
+
components: section.components.map(mapLayout)
|
|
2109
|
+
});
|
|
2110
|
+
}
|
|
2111
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
2112
|
+
type: "items",
|
|
2113
|
+
items: section.items.map((item) => mapResultItem(item, mapperProps))
|
|
2114
|
+
});
|
|
2115
|
+
};
|
|
2116
|
+
var mapResultItem = (item, mapperProps) => {
|
|
2117
|
+
const behavior = getDomainLayerBehavior(
|
|
2118
|
+
{ behavior: item.primaryBehavior },
|
|
2119
|
+
[],
|
|
2120
|
+
mapperProps.registerSubmissionBehavior
|
|
2121
|
+
);
|
|
2122
|
+
return __spreadProps(__spreadValues({}, item), {
|
|
2123
|
+
id: item.entityId,
|
|
2124
|
+
onClick: item.primaryBehavior ? () => {
|
|
2125
|
+
void mapperProps.onBehavior(behavior);
|
|
2126
|
+
} : void 0,
|
|
2127
|
+
callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
|
|
2128
|
+
inlineAlert: mapInlineAlert(item.inlineAlert)
|
|
2129
|
+
});
|
|
2130
|
+
};
|
|
2020
2131
|
var mapFilter = (filter) => {
|
|
2021
2132
|
const anySelected = filter.options.some((option) => option.selected);
|
|
2022
2133
|
return __spreadProps(__spreadValues({}, filter), {
|
|
@@ -3281,7 +3392,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps, schemaComponents) => {
|
|
|
3281
3392
|
case "button":
|
|
3282
3393
|
return buttonLayoutToComponent(uid, layout, mapperProps);
|
|
3283
3394
|
case "collection":
|
|
3284
|
-
return collectionLayoutToComponent(uid, layout, mapperProps);
|
|
3395
|
+
return collectionLayoutToComponent(uid, layout, mapperProps, schemaComponents);
|
|
3285
3396
|
case "columns":
|
|
3286
3397
|
return columnsLayoutToComponent(uid, layout, mapperProps, schemaComponents);
|
|
3287
3398
|
case "decision":
|
|
@@ -8942,31 +9053,52 @@ var mapBoxControl = ({
|
|
|
8942
9053
|
|
|
8943
9054
|
// src/renderers/mappers/collectionComponentToProps.ts
|
|
8944
9055
|
var collectionComponentToProps = (component, rendererMapperProps) => {
|
|
9056
|
+
const { stack } = component;
|
|
9057
|
+
return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin", "tags", "fork", "pop")), rendererMapperProps), {
|
|
9058
|
+
state: mapCollectionState(stack[stack.length - 1], rendererMapperProps),
|
|
9059
|
+
depth: stack.length - 1
|
|
9060
|
+
});
|
|
9061
|
+
};
|
|
9062
|
+
var mapCollectionState = (state, rendererMapperProps) => {
|
|
8945
9063
|
var _a, _b, _c, _d, _e;
|
|
8946
9064
|
const { render } = rendererMapperProps;
|
|
8947
|
-
const
|
|
8948
|
-
|
|
8949
|
-
)) != null ?
|
|
8950
|
-
|
|
8951
|
-
|
|
8952
|
-
|
|
8953
|
-
|
|
8954
|
-
|
|
8955
|
-
|
|
8956
|
-
|
|
8957
|
-
|
|
8958
|
-
|
|
8959
|
-
|
|
8960
|
-
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
|
|
8964
|
-
|
|
8965
|
-
|
|
8966
|
-
|
|
8967
|
-
|
|
8968
|
-
|
|
8969
|
-
|
|
9065
|
+
const { search } = state;
|
|
9066
|
+
const beforeSectionsProps = (_b = (_a = state.beforeSections) == null ? void 0 : _a.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _b : [];
|
|
9067
|
+
const afterSectionsProps = (_d = (_c = state.afterSections) == null ? void 0 : _c.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _d : [];
|
|
9068
|
+
return __spreadProps(__spreadValues({}, pick(state, "id", "status")), {
|
|
9069
|
+
sections: mapSections(state.sections, rendererMapperProps),
|
|
9070
|
+
filters: (_e = state.filters) != null ? _e : [],
|
|
9071
|
+
beforeSectionsProps,
|
|
9072
|
+
beforeSections: beforeSectionsProps.map(render),
|
|
9073
|
+
afterSectionsProps,
|
|
9074
|
+
afterSections: afterSectionsProps.map(render),
|
|
9075
|
+
search: search ? __spreadProps(__spreadValues({}, pick(search, "title", "hint", "hints", "query", "onChange")), {
|
|
9076
|
+
initialSections: search.initialSections ? mapSections(search.initialSections, rendererMapperProps) : void 0
|
|
9077
|
+
}) : void 0
|
|
9078
|
+
});
|
|
9079
|
+
};
|
|
9080
|
+
var mapSections = (sections, rendererMapperProps) => sections.map((section) => mapSection2(section, rendererMapperProps));
|
|
9081
|
+
var mapSection2 = (section, rendererMapperProps) => {
|
|
9082
|
+
const baseProps = __spreadProps(__spreadValues({}, section), {
|
|
9083
|
+
callToAction: mapCallToActionOptional(section.callToAction)
|
|
9084
|
+
});
|
|
9085
|
+
if (section.type === "layout") {
|
|
9086
|
+
const childrenProps = section.components.map(
|
|
9087
|
+
(child) => componentToRendererProps(child, rendererMapperProps)
|
|
9088
|
+
);
|
|
9089
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
9090
|
+
type: "layout",
|
|
9091
|
+
childrenProps,
|
|
9092
|
+
children: childrenProps.map(rendererMapperProps.render)
|
|
9093
|
+
});
|
|
9094
|
+
}
|
|
9095
|
+
return __spreadProps(__spreadValues({}, baseProps), {
|
|
9096
|
+
type: "items",
|
|
9097
|
+
items: section.items.map((item) => __spreadProps(__spreadValues({}, item), {
|
|
9098
|
+
callToAction: mapCallToActionOptional(item.callToAction),
|
|
9099
|
+
additionalInfo: mapAdditionalInfo2(item.additionalInfo),
|
|
9100
|
+
disabled: rendererMapperProps.stepLoadingState !== "idle" || item.disabled
|
|
9101
|
+
}))
|
|
8970
9102
|
});
|
|
8971
9103
|
};
|
|
8972
9104
|
|