@wise/dynamic-flow-client 5.29.0-experimental-f7c2300 → 5.29.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.css CHANGED
@@ -104,30 +104,6 @@
104
104
  flex-wrap: wrap;
105
105
  }
106
106
 
107
- .df-filter-loader .np-chip {
108
- background: linear-gradient(
109
- -45deg,
110
- var(--color-background-neutral) 40%,
111
- var(--color-background-elevated) 50%,
112
- var(--color-background-neutral) 60%
113
- );
114
- background-size: 300%;
115
- background-position-x: 100%;
116
- animation: shimmer 1s infinite linear;
117
- transition: background 200ms;
118
- border-color: var(--color-border-neutral);
119
- }
120
-
121
- .df-filter-loader .np-chip > * {
122
- visibility: hidden;
123
- }
124
-
125
- @keyframes shimmer {
126
- to {
127
- background-position-x: 0%;
128
- }
129
- }
130
-
131
107
  .df-columns-renderer-container {
132
108
  display: flex;
133
109
  gap: var(--size-4);
package/build/main.js CHANGED
@@ -861,7 +861,6 @@ function findRendererPropsByType(root, type, predicate = () => true) {
861
861
  }
862
862
  var isType = (node, type) => node.type === type;
863
863
  var getChildren = (node) => {
864
- var _a;
865
864
  switch (node.type) {
866
865
  case "root":
867
866
  case "box":
@@ -883,16 +882,9 @@ var getChildren = (node) => {
883
882
  return node.childrenProps ? [node.childrenProps] : [];
884
883
  case "tabs":
885
884
  return node.tabs.flatMap((c) => c.childrenProps);
886
- case "collection": {
887
- const { beforeSectionsProps, afterSectionsProps, sections, search } = node.state;
888
- return [
889
- ...beforeSectionsProps,
890
- ...afterSectionsProps,
891
- ...[...sections, ...(_a = search == null ? void 0 : search.initialSections) != null ? _a : []].filter((section) => section.type === "layout").flatMap((section) => section.childrenProps)
892
- ];
893
- }
894
885
  case "alert":
895
886
  case "button":
887
+ case "collection":
896
888
  case "input-checkbox":
897
889
  case "input-date":
898
890
  case "decision":
@@ -1721,121 +1713,89 @@ function mergeArrays(valueA, valueB) {
1721
1713
  );
1722
1714
  }
1723
1715
 
1724
- // src/domain/components/collectionComponent/mergeSections.ts
1725
- var mergeSections = (existing, incoming) => {
1726
- const knownIds = new Set(existing.map((section) => section.id));
1727
- const newSections = incoming.filter((section) => !knownIds.has(section.id));
1728
- const merged = existing.map((section) => {
1729
- var _a, _b, _c, _d;
1730
- const match = incoming.find((s) => s.id === section.id);
1731
- if (!match) return section;
1732
- if (section.type !== match.type) return section;
1733
- const baseProps = {
1734
- type: section.type,
1735
- id: match.id,
1736
- title: (_a = match.title) != null ? _a : section.title,
1737
- callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
1738
- help: (_c = match.help) != null ? _c : section.help,
1739
- inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert
1740
- };
1741
- if (section.type === "layout" && match.type === "layout") {
1742
- return __spreadProps(__spreadValues({}, baseProps), {
1743
- type: "layout",
1744
- components: [...section.components, ...match.components]
1745
- });
1746
- }
1747
- if (section.type === "items" && match.type === "items") {
1748
- return __spreadProps(__spreadValues({}, baseProps), {
1749
- type: "items",
1750
- items: [...section.items, ...match.items]
1751
- });
1752
- }
1753
- return section;
1754
- });
1755
- return [...merged, ...newSections];
1756
- };
1757
-
1758
- // src/domain/components/collectionComponent/CollectionState.ts
1716
+ // src/domain/components/collectionComponent/CollectionComponent.ts
1759
1717
  var DEBOUNCE_TIME = 800;
1760
- var createCollectionState = ({
1761
- id,
1762
- initialState,
1763
- searchQuery,
1764
- onComponentUpdate,
1765
- queryFunction,
1766
- trackEvent
1767
- }) => {
1768
- const _a = initialState, { search, filters } = _a, response = __objRest(_a, ["search", "filters"]);
1718
+ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackEvent) => {
1719
+ const { uid, analyticsId, control, margin, tags, state } = props;
1720
+ const update = getInputUpdateFunction(onComponentUpdate);
1769
1721
  let abortController = new AbortController();
1770
- const update = (updateFn) => {
1771
- updateFn(state);
1772
- onComponentUpdate();
1773
- };
1774
- const getIdleStatus = (nextCursor) => ({
1775
- type: "idle",
1776
- loadMore: nextCursor ? () => query("pagination") : void 0
1777
- });
1778
- const query = (mode) => {
1779
- var _a2, _b;
1722
+ const trackCollectionEvent = (source, status) => trackEvent(getEventName(source, status), component.state.analytics);
1723
+ const query = (mode, source) => {
1724
+ var _a, _b;
1780
1725
  abortController.abort();
1781
1726
  abortController = new AbortController();
1782
1727
  const { signal } = abortController;
1783
- trackEvent(getEventName(mode, "Triggered"), state.analytics);
1728
+ trackCollectionEvent(source != null ? source : mode, "Triggered");
1784
1729
  queryFunction({
1785
- searchParam: (_a2 = state.search) == null ? void 0 : _a2.param,
1786
- query: (_b = state.search) == null ? void 0 : _b.query,
1787
- cursor: mode === "pagination" ? state.nextCursor : void 0,
1730
+ searchParam: (_a = component.state.search) == null ? void 0 : _a.param,
1731
+ query: (_b = component.state.search) == null ? void 0 : _b.query,
1732
+ cursor: mode === "pagination" ? component.state.nextCursor : void 0,
1788
1733
  signal,
1789
- filters: state.filters
1790
- }).then((incoming) => {
1791
- if (!incoming || signal.aborted) {
1734
+ filters: component.state.filters
1735
+ }).then((response) => {
1736
+ if (!response) {
1792
1737
  return;
1793
1738
  }
1794
- update((draft) => mergeResponse(draft, mode, incoming));
1795
- trackEvent(getEventName(mode, "Succeeded"), state.analytics);
1739
+ update(component, (draft) => {
1740
+ draft.state = mergeState(mode, component.state, response);
1741
+ draft.status = {
1742
+ type: "idle",
1743
+ loadMore: response.nextCursor ? paginate : void 0
1744
+ };
1745
+ });
1746
+ trackCollectionEvent(source != null ? source : mode, "Succeeded");
1796
1747
  }).catch(() => {
1797
1748
  if (!signal.aborted) {
1798
1749
  const retry = () => {
1799
- update((draft) => {
1750
+ update(component, (draft) => {
1800
1751
  draft.status = { type: "loading", reason: mode };
1801
1752
  });
1802
- query(mode);
1753
+ query(mode, source);
1803
1754
  };
1804
- update((draft) => {
1805
- if (mode === "search" || mode === "filter") {
1806
- draft.sections = [];
1755
+ update(component, (draft) => {
1756
+ if (mode === "search") {
1757
+ draft.state.sections = [];
1807
1758
  }
1808
1759
  draft.status = { type: "error", reason: mode, retry };
1809
1760
  });
1810
- trackEvent(getEventName(mode, "Failed"), state.analytics);
1761
+ trackCollectionEvent(source != null ? source : mode, "Failed");
1811
1762
  }
1812
1763
  });
1813
1764
  };
1814
1765
  const debouncedQuery = debounce(query, DEBOUNCE_TIME);
1815
- const mergeResponse = (draft, mode, incoming) => {
1816
- var _a2, _b, _c, _d;
1817
- draft.sections = mode === "pagination" ? mergeSections(draft.sections, incoming.sections) : incoming.sections;
1818
- draft.nextCursor = incoming.nextCursor;
1819
- draft.analytics = mode === "pagination" ? recursiveMerge(draft.analytics, incoming.analytics) : incoming.analytics;
1820
- draft.filters = incoming.filters ? mapFilters(incoming.filters) : draft.filters;
1821
- draft.search = incoming.search ? mapSearch2(incoming.search, (_b = (_a2 = draft.search) == null ? void 0 : _a2.query) != null ? _b : "") : draft.search;
1822
- draft.beforeSections = (_c = incoming.beforeSections) != null ? _c : draft.beforeSections;
1823
- draft.afterSections = (_d = incoming.afterSections) != null ? _d : draft.afterSections;
1824
- draft.status = getIdleStatus(incoming.nextCursor);
1766
+ const search = () => {
1767
+ abortController.abort();
1768
+ debouncedQuery("search");
1769
+ };
1770
+ const filter = () => {
1771
+ debouncedQuery("search", "filter");
1772
+ debouncedQuery.flush();
1773
+ };
1774
+ const paginate = () => query("pagination");
1775
+ const mergeState = (mode, original, incoming) => {
1776
+ var _a, _b;
1777
+ return {
1778
+ sections: mode === "pagination" ? mergeSections(original.sections, incoming.sections) : incoming.sections,
1779
+ nextCursor: incoming.nextCursor,
1780
+ filters: incoming.filters ? mapFilters(incoming.filters) : original.filters,
1781
+ search: incoming.search ? mapSearch(incoming.search) : original.search,
1782
+ beforeSections: (_a = incoming.beforeSections) != null ? _a : original.beforeSections,
1783
+ afterSections: (_b = incoming.afterSections) != null ? _b : original.afterSections,
1784
+ analytics: mode === "pagination" ? recursiveMerge(original.analytics, incoming.analytics) : incoming.analytics
1785
+ };
1825
1786
  };
1826
1787
  const selectFilter = (filterIndex, optionIndex) => {
1827
- var _a2;
1828
- const selected = (_a2 = state.filters) == null ? void 0 : _a2[filterIndex];
1788
+ var _a;
1789
+ const selected = (_a = component.state.filters) == null ? void 0 : _a[filterIndex];
1829
1790
  if (!selected) {
1830
1791
  return;
1831
1792
  }
1832
1793
  const currentValue = selected.options[optionIndex].selected;
1833
- update((draft) => {
1834
- var _a3;
1835
- const draftFilter = (_a3 = draft.filters) == null ? void 0 : _a3[filterIndex];
1836
- if (!draftFilter) {
1794
+ update(component, (draft) => {
1795
+ if (!draft.state.filters) {
1837
1796
  return;
1838
1797
  }
1798
+ const draftFilter = draft.state.filters[filterIndex];
1839
1799
  if (selected.multiSelect) {
1840
1800
  draftFilter.options[optionIndex].selected = !currentValue;
1841
1801
  } else {
@@ -1843,86 +1803,35 @@ var createCollectionState = ({
1843
1803
  draftOption.selected = index === optionIndex ? !currentValue : false;
1844
1804
  });
1845
1805
  }
1846
- draft.status = { type: "loading", reason: "filter" };
1806
+ draft.status = { type: "loading", reason: "search" };
1847
1807
  });
1848
- debouncedQuery("filter");
1849
- debouncedQuery.flush();
1850
- };
1851
- const changeQuery = (value) => {
1852
- update((draft) => {
1853
- if (draft.search) {
1854
- draft.search.query = value;
1855
- draft.status = { type: "loading", reason: "search" };
1856
- }
1857
- });
1858
- abortController.abort();
1859
- debouncedQuery("search");
1808
+ filter();
1860
1809
  };
1861
- const mapFilters = (filtersToMap) => filtersToMap == null ? void 0 : filtersToMap.map((f, filterIndex) => {
1862
- var _a2;
1810
+ const mapFilters = (filters) => filters == null ? void 0 : filters.map((f, filterIndex) => {
1811
+ var _a;
1863
1812
  return __spreadProps(__spreadValues({}, f), {
1864
- options: (_a2 = f.options) == null ? void 0 : _a2.map((option, optionIndex) => {
1865
- var _a3;
1813
+ options: (_a = f.options) == null ? void 0 : _a.map((option, optionIndex) => {
1814
+ var _a2;
1866
1815
  return __spreadProps(__spreadValues({}, option), {
1867
- selected: (_a3 = option.selected) != null ? _a3 : false,
1816
+ selected: (_a2 = option.selected) != null ? _a2 : false,
1868
1817
  onSelect: () => selectFilter(filterIndex, optionIndex)
1869
1818
  });
1870
1819
  })
1871
1820
  });
1872
1821
  });
1873
- const mapSearch2 = (searchConfig, value) => searchConfig ? __spreadProps(__spreadValues({}, searchConfig), { query: value, onChange: changeQuery }) : void 0;
1874
- const state = __spreadProps(__spreadValues({}, response), {
1875
- id,
1876
- status: getIdleStatus(response.nextCursor),
1877
- filters: mapFilters(filters),
1878
- search: mapSearch2(search, searchQuery),
1879
- fork(forkedId) {
1880
- var _a2, _b;
1881
- return createCollectionState({
1882
- id: forkedId,
1883
- initialState: state,
1884
- searchQuery: (_b = (_a2 = state.search) == null ? void 0 : _a2.query) != null ? _b : "",
1885
- onComponentUpdate,
1886
- queryFunction,
1887
- trackEvent
1822
+ const mapSearch = (searchConfig) => searchConfig ? __spreadProps(__spreadValues({
1823
+ query: ""
1824
+ }, searchConfig), {
1825
+ onChange(value) {
1826
+ update(component, (draft) => {
1827
+ if (draft.state.search) {
1828
+ draft.state.search.query = value;
1829
+ draft.status = { type: "loading", reason: "search" };
1830
+ }
1888
1831
  });
1889
- },
1890
- cancel() {
1891
- debouncedQuery.cancel();
1892
- abortController.abort();
1893
- },
1894
- getChildren() {
1895
- var _a2, _b, _c, _d;
1896
- return [
1897
- ...(_a2 = state.beforeSections) != null ? _a2 : [],
1898
- ...getSectionsChildren(state.sections),
1899
- ...getSectionsChildren((_c = (_b = state.search) == null ? void 0 : _b.initialSections) != null ? _c : []),
1900
- ...(_d = state.afterSections) != null ? _d : []
1901
- ];
1902
- }
1903
- });
1904
- return state;
1905
- };
1906
- var getSectionsChildren = (sections) => sections.filter((section) => section.type === "layout").flatMap((section) => section.components);
1907
- var getEventName = (mode, state) => {
1908
- const getMode = () => {
1909
- switch (mode) {
1910
- case "pagination":
1911
- return "Pagination";
1912
- case "search":
1913
- return "Search";
1914
- case "filter":
1915
- return "Filter";
1832
+ search();
1916
1833
  }
1917
- };
1918
- return `Collection ${getMode()} ${state}`;
1919
- };
1920
-
1921
- // src/domain/components/collectionComponent/CollectionComponent.ts
1922
- var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackEvent) => {
1923
- const { uid, analyticsId, control, margin, tags, state } = props;
1924
- const update = getInputUpdateFunction(onComponentUpdate);
1925
- let forkCount = 0;
1834
+ }) : void 0;
1926
1835
  const component = {
1927
1836
  type: "collection",
1928
1837
  kind: "layout",
@@ -1931,38 +1840,21 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
1931
1840
  control,
1932
1841
  margin,
1933
1842
  tags,
1934
- stack: [
1935
- createCollectionState({
1936
- id: `${uid}-state-0`,
1937
- initialState: state,
1938
- searchQuery: "",
1939
- onComponentUpdate,
1940
- queryFunction,
1941
- trackEvent
1942
- })
1943
- ],
1944
- fork() {
1945
- const { stack } = component;
1946
- forkCount += 1;
1947
- const forkedState = stack[stack.length - 1].fork(`${uid}-state-${forkCount}`);
1948
- update(component, (draft) => {
1949
- draft.stack = [...draft.stack, forkedState];
1950
- });
1951
- },
1952
- pop() {
1953
- const [rootState, ...forkedStates] = component.stack;
1954
- const poppedState = forkedStates.at(-1);
1955
- if (!poppedState) {
1956
- return;
1957
- }
1958
- poppedState.cancel();
1959
- update(component, (draft) => {
1960
- draft.stack = [rootState, ...forkedStates.slice(0, -1)];
1961
- });
1962
- },
1963
1843
  getChildren() {
1964
- return component.stack[component.stack.length - 1].getChildren();
1844
+ var _a, _b, _c, _d;
1845
+ return [
1846
+ ...(_b = (_a = component.state) == null ? void 0 : _a.beforeSections) != null ? _b : [],
1847
+ ...(_d = (_c = component.state) == null ? void 0 : _c.afterSections) != null ? _d : []
1848
+ ];
1849
+ },
1850
+ status: {
1851
+ type: "idle",
1852
+ loadMore: state.nextCursor ? () => query("pagination") : void 0
1965
1853
  },
1854
+ state: __spreadProps(__spreadValues({}, state), {
1855
+ filters: mapFilters(state.filters),
1856
+ search: mapSearch(props.search)
1857
+ }),
1966
1858
  start() {
1967
1859
  component.getChildren().forEach((child) => child.start());
1968
1860
  },
@@ -1972,6 +1864,37 @@ var createCollectionComponent = (props, onComponentUpdate, queryFunction, trackE
1972
1864
  };
1973
1865
  return component;
1974
1866
  };
1867
+ var mergeSections = (existing, incoming) => {
1868
+ const knownIds = new Set(existing.map((section) => section.id));
1869
+ const newSections = incoming.filter((section) => !knownIds.has(section.id));
1870
+ const merged = existing.map((section) => {
1871
+ var _a, _b, _c, _d;
1872
+ const match = incoming.find((s) => s.id === section.id);
1873
+ if (!match) return section;
1874
+ return {
1875
+ id: match.id,
1876
+ title: (_a = match.title) != null ? _a : section.title,
1877
+ callToAction: (_b = match.callToAction) != null ? _b : section.callToAction,
1878
+ help: (_c = match.help) != null ? _c : section.help,
1879
+ inlineAlert: (_d = match.inlineAlert) != null ? _d : section.inlineAlert,
1880
+ items: [...section.items, ...match.items]
1881
+ };
1882
+ });
1883
+ return [...merged, ...newSections];
1884
+ };
1885
+ var getEventName = (mode, state) => {
1886
+ const getMode = () => {
1887
+ switch (mode) {
1888
+ case "pagination":
1889
+ return "Pagination";
1890
+ case "search":
1891
+ return "Search";
1892
+ case "filter":
1893
+ return "Filter";
1894
+ }
1895
+ };
1896
+ return `Collection ${getMode()} ${state}`;
1897
+ };
1975
1898
 
1976
1899
  // src/domain/features/collection/getPerformCollectionQuery.ts
1977
1900
  var getPerformCollectionQuery = (httpClient, baseRequest, mapState) => {
@@ -2064,19 +1987,9 @@ var hashRequest = ({
2064
1987
  }) => JSON.stringify({ query, cursor, filters: getFilterValues(filters != null ? filters : []) });
2065
1988
 
2066
1989
  // src/domain/mappers/layout/collectionLayoutToComponent.ts
2067
- var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps, schemaComponents) => {
2068
- var _a;
1990
+ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, margin, search, tags, baseRequest }, mapperProps) => {
2069
1991
  const { httpClient, onComponentUpdate, trackEvent } = mapperProps;
2070
- let layoutIndex = 0;
2071
- const mapLayout = (layout) => {
2072
- layoutIndex += 1;
2073
- return mapLayoutToComponent(
2074
- `${uid}-collection-response-${layoutIndex}`,
2075
- layout,
2076
- mapperProps,
2077
- schemaComponents
2078
- );
2079
- };
1992
+ const mapLayout = (layout, index) => mapLayoutToComponent(`${uid}-collection-response-${index}`, layout, mapperProps, []);
2080
1993
  const mapState = (state) => mapCollectionSpecToDomainState(state, mapperProps, mapLayout);
2081
1994
  const queryFunction = getPerformCollectionQuery(httpClient, baseRequest, mapState);
2082
1995
  const component = createCollectionComponent(
@@ -2086,9 +1999,8 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
2086
1999
  control,
2087
2000
  margin: margin != null ? margin : "md",
2088
2001
  tags,
2089
- state: mapState(__spreadProps(__spreadValues({}, initialState), {
2090
- search: (_a = initialState.search) != null ? _a : search
2091
- }))
2002
+ state: mapState(initialState),
2003
+ search
2092
2004
  },
2093
2005
  onComponentUpdate,
2094
2006
  queryFunction,
@@ -2098,7 +2010,6 @@ var collectionLayoutToComponent = (uid, { analyticsId, control, initialState, ma
2098
2010
  };
2099
2011
  var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
2100
2012
  const {
2101
- search,
2102
2013
  sections,
2103
2014
  filters,
2104
2015
  beforeSections,
@@ -2107,8 +2018,29 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
2107
2018
  analytics = {}
2108
2019
  } = specState;
2109
2020
  return {
2110
- search: search ? mapSearch(search, mapperProps, mapLayout) : void 0,
2111
- sections: sections.map((section) => mapSection(section, mapperProps, mapLayout)),
2021
+ sections: sections.map((section) => {
2022
+ var _a;
2023
+ return __spreadProps(__spreadValues({}, section), {
2024
+ callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
2025
+ help: (_a = section.help) == null ? void 0 : _a.markdown,
2026
+ inlineAlert: mapInlineAlert(section.inlineAlert),
2027
+ items: section.items.map((item) => {
2028
+ const behavior = getDomainLayerBehavior(
2029
+ { behavior: item.primaryBehavior },
2030
+ [],
2031
+ mapperProps.registerSubmissionBehavior
2032
+ );
2033
+ return __spreadProps(__spreadValues({}, item), {
2034
+ id: item.entityId,
2035
+ onClick: item.primaryBehavior ? () => {
2036
+ void mapperProps.onBehavior(behavior);
2037
+ } : void 0,
2038
+ callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
2039
+ inlineAlert: mapInlineAlert(item.inlineAlert)
2040
+ });
2041
+ })
2042
+ });
2043
+ }),
2112
2044
  filters: filters == null ? void 0 : filters.map(mapFilter),
2113
2045
  beforeSections: beforeSections == null ? void 0 : beforeSections.map(mapLayout),
2114
2046
  afterSections: afterSections == null ? void 0 : afterSections.map(mapLayout),
@@ -2116,49 +2048,6 @@ var mapCollectionSpecToDomainState = (specState, mapperProps, mapLayout) => {
2116
2048
  analytics
2117
2049
  };
2118
2050
  };
2119
- var mapSearch = (search, mapperProps, mapLayout) => {
2120
- var _a, _b, _c;
2121
- return search ? __spreadProps(__spreadValues({}, search), {
2122
- help: (_a = search.help) == null ? void 0 : _a.markdown,
2123
- hints: (_b = search.hints) != null ? _b : search.hint ? [search.hint] : void 0,
2124
- initialSections: (_c = search.initialSections) == null ? void 0 : _c.map(
2125
- (section) => mapSection(section, mapperProps, mapLayout)
2126
- )
2127
- }) : void 0;
2128
- };
2129
- var mapSection = (section, mapperProps, mapLayout) => {
2130
- var _a;
2131
- const baseProps = __spreadProps(__spreadValues({}, section), {
2132
- callToAction: getDomainLayerCallToAction(section.callToAction, mapperProps),
2133
- help: (_a = section.help) == null ? void 0 : _a.markdown,
2134
- inlineAlert: mapInlineAlert(section.inlineAlert)
2135
- });
2136
- if (section.type === "layout") {
2137
- return __spreadProps(__spreadValues({}, baseProps), {
2138
- type: "layout",
2139
- components: section.components.map(mapLayout)
2140
- });
2141
- }
2142
- return __spreadProps(__spreadValues({}, baseProps), {
2143
- type: "items",
2144
- items: section.items.map((item) => mapResultItem(item, mapperProps))
2145
- });
2146
- };
2147
- var mapResultItem = (item, mapperProps) => {
2148
- const behavior = getDomainLayerBehavior(
2149
- { behavior: item.primaryBehavior },
2150
- [],
2151
- mapperProps.registerSubmissionBehavior
2152
- );
2153
- return __spreadProps(__spreadValues({}, item), {
2154
- id: item.entityId,
2155
- onClick: item.primaryBehavior ? () => {
2156
- void mapperProps.onBehavior(behavior);
2157
- } : void 0,
2158
- callToAction: getDomainLayerCallToAction(item.callToAction, mapperProps),
2159
- inlineAlert: mapInlineAlert(item.inlineAlert)
2160
- });
2161
- };
2162
2051
  var mapFilter = (filter) => {
2163
2052
  const anySelected = filter.options.some((option) => option.selected);
2164
2053
  return __spreadProps(__spreadValues({}, filter), {
@@ -3421,7 +3310,7 @@ var mapLayoutToComponent = (uid, layout, mapperProps, schemaComponents) => {
3421
3310
  case "button":
3422
3311
  return buttonLayoutToComponent(uid, layout, mapperProps);
3423
3312
  case "collection":
3424
- return collectionLayoutToComponent(uid, layout, mapperProps, schemaComponents);
3313
+ return collectionLayoutToComponent(uid, layout, mapperProps);
3425
3314
  case "columns":
3426
3315
  return columnsLayoutToComponent(uid, layout, mapperProps, schemaComponents);
3427
3316
  case "decision":
@@ -9082,52 +8971,31 @@ var mapBoxControl = ({
9082
8971
 
9083
8972
  // src/renderers/mappers/collectionComponentToProps.ts
9084
8973
  var collectionComponentToProps = (component, rendererMapperProps) => {
9085
- const { stack } = component;
9086
- return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin", "tags", "fork", "pop")), rendererMapperProps), {
9087
- state: mapCollectionState(stack[stack.length - 1], rendererMapperProps),
9088
- depth: stack.length - 1
9089
- });
9090
- };
9091
- var mapCollectionState = (state, rendererMapperProps) => {
9092
8974
  var _a, _b, _c, _d, _e;
9093
8975
  const { render } = rendererMapperProps;
9094
- const { search } = state;
9095
- const beforeSectionsProps = (_b = (_a = state.beforeSections) == null ? void 0 : _a.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _b : [];
9096
- const afterSectionsProps = (_d = (_c = state.afterSections) == null ? void 0 : _c.map((child) => componentToRendererProps(child, rendererMapperProps))) != null ? _d : [];
9097
- return __spreadProps(__spreadValues({}, pick(state, "id", "status")), {
9098
- sections: mapSections(state.sections, rendererMapperProps),
9099
- filters: (_e = state.filters) != null ? _e : [],
9100
- beforeSectionsProps,
9101
- beforeSections: beforeSectionsProps.map(render),
9102
- afterSectionsProps,
9103
- afterSections: afterSectionsProps.map(render),
9104
- search: search ? __spreadProps(__spreadValues({}, pick(search, "title", "hint", "hints", "query", "onChange")), {
9105
- initialSections: search.initialSections ? mapSections(search.initialSections, rendererMapperProps) : void 0
9106
- }) : void 0
9107
- });
9108
- };
9109
- var mapSections = (sections, rendererMapperProps) => sections.map((section) => mapSection2(section, rendererMapperProps));
9110
- var mapSection2 = (section, rendererMapperProps) => {
9111
- const baseProps = __spreadProps(__spreadValues({}, section), {
9112
- callToAction: mapCallToActionOptional(section.callToAction)
9113
- });
9114
- if (section.type === "layout") {
9115
- const childrenProps = section.components.map(
9116
- (child) => componentToRendererProps(child, rendererMapperProps)
9117
- );
9118
- return __spreadProps(__spreadValues({}, baseProps), {
9119
- type: "layout",
9120
- childrenProps,
9121
- children: childrenProps.map(rendererMapperProps.render)
9122
- });
9123
- }
9124
- return __spreadProps(__spreadValues({}, baseProps), {
9125
- type: "items",
9126
- items: section.items.map((item) => __spreadProps(__spreadValues({}, item), {
9127
- callToAction: mapCallToActionOptional(item.callToAction),
9128
- additionalInfo: mapAdditionalInfo2(item.additionalInfo),
9129
- disabled: rendererMapperProps.stepLoadingState !== "idle" || item.disabled
9130
- }))
8976
+ const beforeSectionsProps = (_b = (_a = component.state.beforeSections) == null ? void 0 : _a.map(
8977
+ (child) => componentToRendererProps(child, rendererMapperProps)
8978
+ )) != null ? _b : [];
8979
+ const afterSectionsProps = (_d = (_c = component.state.afterSections) == null ? void 0 : _c.map(
8980
+ (child) => componentToRendererProps(child, rendererMapperProps)
8981
+ )) != null ? _d : [];
8982
+ return __spreadProps(__spreadValues(__spreadValues({}, pick(component, "uid", "analyticsId", "type", "control", "margin", "tags")), rendererMapperProps), {
8983
+ status: component.status,
8984
+ state: __spreadProps(__spreadValues({}, component.state), {
8985
+ filters: (_e = component.state.filters) != null ? _e : [],
8986
+ sections: component.state.sections.map((section) => __spreadProps(__spreadValues({}, section), {
8987
+ callToAction: mapCallToActionOptional(section.callToAction),
8988
+ items: section.items.map((item) => __spreadProps(__spreadValues({}, item), {
8989
+ callToAction: mapCallToActionOptional(item.callToAction),
8990
+ additionalInfo: mapAdditionalInfo2(item.additionalInfo),
8991
+ disabled: rendererMapperProps.stepLoadingState !== "idle" || item.disabled
8992
+ }))
8993
+ })),
8994
+ beforeSectionsProps,
8995
+ beforeSections: beforeSectionsProps.map(render),
8996
+ afterSectionsProps,
8997
+ afterSections: afterSectionsProps.map(render)
8998
+ })
9131
8999
  });
9132
9000
  };
9133
9001