@tsed/react-formio 1.12.0 → 1.13.2

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.
Files changed (85) hide show
  1. package/dist/components/actions-table/actionsTable.component.d.ts +0 -1
  2. package/dist/components/actions-table/actionsTable.stories.d.ts +0 -1
  3. package/dist/components/alert/alert.component.d.ts +1 -2
  4. package/dist/components/alert/alert.stories.d.ts +0 -1
  5. package/dist/components/card/card.stories.d.ts +0 -1
  6. package/dist/components/form/form.component.d.ts +3 -2
  7. package/dist/components/form/form.component.spec.d.ts +1 -0
  8. package/dist/components/form/form.stories.d.ts +3689 -79
  9. package/dist/components/form/useForm.hook.d.ts +1 -1
  10. package/dist/components/form-access/formAccess.stories.d.ts +1 -2
  11. package/dist/components/form-action/formAction.stories.d.ts +0 -1
  12. package/dist/components/form-builder/formBuilder.stories.d.ts +518 -153
  13. package/dist/components/form-edit/formEdit.component.d.ts +0 -1
  14. package/dist/components/form-edit/formEdit.stories.d.ts +18 -19
  15. package/dist/components/form-settings/formSettings.component.d.ts +0 -1
  16. package/dist/components/form-settings/formSettings.stories.d.ts +1 -2
  17. package/dist/components/forms-table/components/formCell.component.d.ts +0 -1
  18. package/dist/components/forms-table/formsTable.component.d.ts +0 -1
  19. package/dist/components/forms-table/formsTable.stories.d.ts +0 -1
  20. package/dist/components/input-tags/inputTags.component.d.ts +0 -1
  21. package/dist/components/input-tags/inputTags.stories.d.ts +2 -3
  22. package/dist/components/input-text/inputText.component.d.ts +0 -1
  23. package/dist/components/input-text/inputText.stories.d.ts +0 -1
  24. package/dist/components/loader/loader.component.d.ts +1 -1
  25. package/dist/components/loader/loader.stories.d.ts +0 -1
  26. package/dist/components/modal/modal.component.d.ts +1 -1
  27. package/dist/components/modal/modal.stories.d.ts +0 -1
  28. package/dist/components/pagination/pagination.component.d.ts +0 -1
  29. package/dist/components/pagination/pagination.stories.d.ts +0 -1
  30. package/dist/components/react-component/reactComponent.component.d.ts +3 -3
  31. package/dist/components/select/select.stories.d.ts +2 -3
  32. package/dist/components/submissions-table/submissionsTable.component.d.ts +0 -1
  33. package/dist/components/submissions-table/submissionsTable.stories.d.ts +13 -14
  34. package/dist/components/table/components/defaultArrowSort.component.d.ts +0 -1
  35. package/dist/components/table/components/defaultCell.component.d.ts +0 -1
  36. package/dist/components/table/components/defaultCellHeader.component.d.ts +0 -1
  37. package/dist/components/table/components/defaultCellOperations.component.d.ts +0 -1
  38. package/dist/components/table/components/defaultOperationButton.component.d.ts +0 -1
  39. package/dist/components/table/filters/defaultColumnFilter.component.d.ts +0 -1
  40. package/dist/components/table/filters/selectColumnFilter.component.d.ts +0 -1
  41. package/dist/components/table/filters/sliderColumnFilter.component.d.ts +0 -1
  42. package/dist/components/table/table.stories.d.ts +4 -5
  43. package/dist/components/tabs/tabs.component.stories.d.ts +0 -1
  44. package/dist/hooks/useTooltip.d.ts +1 -1
  45. package/dist/index.js +342 -274
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.modern.js +313 -268
  48. package/dist/index.modern.js.map +1 -1
  49. package/dist/stores/auth/auth.selectors.d.ts +1 -1
  50. package/jest.config.js +1 -1
  51. package/package.json +5 -5
  52. package/readme.md +51 -18
  53. package/src/components/__fixtures__/form.fixture.json +23 -0
  54. package/src/components/form/form.component.spec.tsx +56 -0
  55. package/src/components/form/form.component.tsx +5 -3
  56. package/src/components/form/form.stories.tsx +182 -11
  57. package/src/components/form/useForm.hook.ts +54 -29
  58. package/src/components/form-access/formAccess.component.tsx +1 -1
  59. package/src/components/form-access/formAccess.utils.ts +13 -13
  60. package/src/components/form-action/formAction.component.tsx +1 -1
  61. package/src/components/form-builder/formBuilder.component.tsx +1 -1
  62. package/src/components/form-edit/formCtas.component.tsx +32 -30
  63. package/src/components/form-edit/formEdit.component.tsx +1 -1
  64. package/src/components/form-settings/formSettings.utils.ts +3 -3
  65. package/src/components/input-tags/inputTags.component.tsx +3 -3
  66. package/src/components/input-text/inputText.component.spec.tsx +1 -1
  67. package/src/components/input-text/inputText.component.tsx +3 -3
  68. package/src/components/modal/modal.component.tsx +2 -2
  69. package/src/components/react-component/reactComponent.component.tsx +9 -6
  70. package/src/components/select/select.component.tsx +2 -2
  71. package/src/components/submissions-table/submissionsTable.component.tsx +6 -6
  72. package/src/components/table/table.component.tsx +58 -44
  73. package/src/components/table/utils/mapFormToColumns.tsx +1 -1
  74. package/src/components/tabs/tabs.component.tsx +1 -1
  75. package/src/hooks/useTooltip.ts +1 -1
  76. package/src/stores/action-info/action-info.selectors.ts +1 -1
  77. package/src/stores/auth/auth.utils.tsx +2 -2
  78. package/src/stores/auth/getAccess.action.ts +2 -2
  79. package/src/stores/auth/logout.action.spec.ts +1 -0
  80. package/src/stores/form/form.selectors.ts +1 -1
  81. package/src/stores/root/root.selectors.ts +2 -2
  82. package/tsconfig.json +10 -27
  83. package/tsconfig.node.json +8 -0
  84. package/craco.config.js +0 -11
  85. package/tsconfig.test.json +0 -6
package/dist/index.js CHANGED
@@ -564,7 +564,7 @@ function checkRoleFormAccess(auth, form, roles) {
564
564
  return true;
565
565
  }
566
566
 
567
- return !!(roles.includes("owner") && get__default['default'](form, "owner") === get__default['default'](auth, "user._id"));
567
+ return roles.includes("owner") && get__default['default'](form, "owner") === get__default['default'](auth, "user._id");
568
568
  }
569
569
 
570
570
  return true;
@@ -1693,24 +1693,24 @@ function FormControl(_ref) {
1693
1693
  description = _ref.description,
1694
1694
  label = _ref.label,
1695
1695
  className = _ref.className;
1696
- return React__default['default'].createElement("div", {
1696
+ return /*#__PURE__*/React__default['default'].createElement("div", {
1697
1697
  id: "form-group-" + (name || ""),
1698
1698
  className: classnames("form-group", className)
1699
- }, label && React__default['default'].createElement("label", {
1699
+ }, label && /*#__PURE__*/React__default['default'].createElement("label", {
1700
1700
  htmlFor: name,
1701
1701
  className: "col-form-label " + (required ? " field-required" : "")
1702
- }, label), React__default['default'].createElement("div", {
1702
+ }, label), /*#__PURE__*/React__default['default'].createElement("div", {
1703
1703
  className: "input-group"
1704
- }, prefix && React__default['default'].createElement("div", {
1705
- className: 'input-group-prepend'
1706
- }, React__default['default'].createElement("span", {
1707
- className: 'input-group-text'
1708
- }, prefix)), children, suffix && React__default['default'].createElement("div", {
1709
- className: 'input-group-append'
1710
- }, React__default['default'].createElement("span", {
1711
- className: 'input-group-text'
1712
- }, suffix))), description && React__default['default'].createElement("div", {
1713
- className: 'form-text text-muted'
1704
+ }, prefix && /*#__PURE__*/React__default['default'].createElement("div", {
1705
+ className: "input-group-prepend"
1706
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
1707
+ className: "input-group-text"
1708
+ }, prefix)), children, suffix && /*#__PURE__*/React__default['default'].createElement("div", {
1709
+ className: "input-group-append"
1710
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
1711
+ className: "input-group-text"
1712
+ }, suffix))), description && /*#__PURE__*/React__default['default'].createElement("div", {
1713
+ className: "form-text text-muted"
1714
1714
  }, description));
1715
1715
  }
1716
1716
  FormControl.propTypes = {
@@ -1756,7 +1756,7 @@ function Select(_ref) {
1756
1756
  label: placeholder,
1757
1757
  value: ""
1758
1758
  }].concat(choices);
1759
- return React__default['default'].createElement(FormControl, {
1759
+ return /*#__PURE__*/React__default['default'].createElement(FormControl, {
1760
1760
  name: name,
1761
1761
  label: label,
1762
1762
  required: required,
@@ -1764,7 +1764,7 @@ function Select(_ref) {
1764
1764
  prefix: prefix,
1765
1765
  suffix: suffix,
1766
1766
  shadow: false
1767
- }, React__default['default'].createElement("select", Object.assign({
1767
+ }, /*#__PURE__*/React__default['default'].createElement("select", _extends({
1768
1768
  ref: ref
1769
1769
  }, props, {
1770
1770
  "data-testid": "select_" + name,
@@ -1775,12 +1775,12 @@ function Select(_ref) {
1775
1775
  value: value || "",
1776
1776
  placeholder: placeholder,
1777
1777
  onChange: function onChange(event) {
1778
- _onChange(name, getEventValue(event));
1778
+ _onChange && _onChange(name, getEventValue(event));
1779
1779
  }
1780
1780
  }), choices.map(function (_ref2) {
1781
1781
  var label = _ref2.label,
1782
1782
  value = _ref2.value;
1783
- return React__default['default'].createElement("option", {
1783
+ return /*#__PURE__*/React__default['default'].createElement("option", {
1784
1784
  key: String(value),
1785
1785
  label: label,
1786
1786
  value: value
@@ -1858,8 +1858,8 @@ function PaginationButton(props) {
1858
1858
  active = props.active,
1859
1859
  otherProps = _objectWithoutPropertiesLoose(props, ["component", "children", "disabled", "active"]);
1860
1860
 
1861
- return React__default['default'].createElement(Component, Object.assign({}, otherProps, {
1862
- "data-testid": 'pagination-button',
1861
+ return /*#__PURE__*/React__default['default'].createElement(Component, _extends({}, otherProps, {
1862
+ "data-testid": "pagination-button",
1863
1863
  disabled: disabled,
1864
1864
  className: classnames("page-link", disabled ? "disabled" : "", active ? "" : "", props.className)
1865
1865
  }), children);
@@ -1895,14 +1895,14 @@ function Pagination(props) {
1895
1895
  label: value
1896
1896
  };
1897
1897
  });
1898
- return React__default['default'].createElement("nav", {
1899
- "aria-label": 'Page navigation',
1898
+ return /*#__PURE__*/React__default['default'].createElement("nav", {
1899
+ "aria-label": "Page navigation",
1900
1900
  className: classnames("pagination-group -mb-3", className)
1901
- }, React__default['default'].createElement("ul", {
1902
- className: 'pagination mb-3 mr-3'
1903
- }, React__default['default'].createElement("li", {
1901
+ }, /*#__PURE__*/React__default['default'].createElement("ul", {
1902
+ className: "pagination mb-3 mr-3"
1903
+ }, /*#__PURE__*/React__default['default'].createElement("li", {
1904
1904
  className: classnames("page-item", !canPreviousPage && "disabled")
1905
- }, React__default['default'].createElement(PaginationButton, {
1905
+ }, /*#__PURE__*/React__default['default'].createElement(PaginationButton, {
1906
1906
  tabIndex: -1,
1907
1907
  disabled: !canPreviousPage,
1908
1908
  onClick: function onClick() {
@@ -1910,68 +1910,68 @@ function Pagination(props) {
1910
1910
  }
1911
1911
  }, i18n("Previous"))), pageNumbers.map(function (page) {
1912
1912
  if ([LEFT_PAGE, RIGHT_PAGE].includes(page)) {
1913
- return React__default['default'].createElement("li", {
1914
- className: 'page-item',
1913
+ return /*#__PURE__*/React__default['default'].createElement("li", {
1914
+ className: "page-item",
1915
1915
  key: page
1916
- }, React__default['default'].createElement(PaginationButton, {
1917
- "aria-hidden": 'true'
1916
+ }, /*#__PURE__*/React__default['default'].createElement(PaginationButton, {
1917
+ "aria-hidden": "true"
1918
1918
  }, "..."));
1919
1919
  }
1920
1920
 
1921
1921
  var active = page - 1 === pageIndex;
1922
- return React__default['default'].createElement("li", {
1922
+ return /*#__PURE__*/React__default['default'].createElement("li", {
1923
1923
  className: classnames("page-item", active && "active"),
1924
1924
  key: page
1925
- }, React__default['default'].createElement(PaginationButton, {
1925
+ }, /*#__PURE__*/React__default['default'].createElement(PaginationButton, {
1926
1926
  tabIndex: pageIndex,
1927
1927
  active: active,
1928
1928
  onClick: function onClick() {
1929
1929
  return gotoPage(page - 1);
1930
1930
  }
1931
1931
  }, page));
1932
- }), React__default['default'].createElement("li", {
1932
+ }), /*#__PURE__*/React__default['default'].createElement("li", {
1933
1933
  className: classnames("page-item", !canNextPage && "disabled")
1934
- }, React__default['default'].createElement(PaginationButton, {
1934
+ }, /*#__PURE__*/React__default['default'].createElement(PaginationButton, {
1935
1935
  tabIndex: pageNumbers.length,
1936
1936
  disabled: !canNextPage,
1937
1937
  onClick: function onClick() {
1938
1938
  return nextPage();
1939
1939
  }
1940
- }, i18n("Next")))), React__default['default'].createElement("li", {
1941
- className: 'mb-3 mr-3 flex items-center'
1942
- }, React__default['default'].createElement(Select, {
1940
+ }, i18n("Next")))), /*#__PURE__*/React__default['default'].createElement("li", {
1941
+ className: "mb-3 mr-3 flex items-center"
1942
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
1943
1943
  name: "page",
1944
1944
  value: pageSize,
1945
1945
  choices: choices,
1946
1946
  onChange: function onChange(name, value) {
1947
1947
  setPageSize(+value);
1948
1948
  }
1949
- }), React__default['default'].createElement("span", {
1949
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
1950
1950
  className: "ml-3"
1951
- }, i18n("items per page"))), pageOptions && React__default['default'].createElement("li", {
1951
+ }, i18n("items per page"))), pageOptions && /*#__PURE__*/React__default['default'].createElement("li", {
1952
1952
  className: "mb-3 flex items-center"
1953
- }, React__default['default'].createElement("span", null, i18n("Page"), "\xA0"), React__default['default'].createElement("strong", null, pageIndex + 1, " of ", pageOptions.length)));
1953
+ }, /*#__PURE__*/React__default['default'].createElement("span", null, i18n("Page"), "\xA0"), /*#__PURE__*/React__default['default'].createElement("strong", null, pageIndex + 1, " of ", pageOptions.length)));
1954
1954
  }
1955
1955
 
1956
1956
  function DefaultArrowSort(_ref) {
1957
1957
  var column = _ref.column;
1958
1958
  var isSorted = column.isSorted,
1959
1959
  isSortedDesc = column.isSortedDesc;
1960
- return React__default['default'].createElement("span", {
1960
+ return /*#__PURE__*/React__default['default'].createElement("span", {
1961
1961
  className: "table-arrow-sort"
1962
- }, isSorted ? React__default['default'].createElement("i", {
1962
+ }, isSorted ? /*#__PURE__*/React__default['default'].createElement("i", {
1963
1963
  className: iconClass(undefined, isSortedDesc ? "sort-up" : "sort-down")
1964
1964
  }) : "");
1965
1965
  }
1966
1966
 
1967
1967
  function DefaultCellHeader(_ref) {
1968
1968
  var column = _ref.column;
1969
- return React__default['default'].createElement("div", {
1969
+ return /*#__PURE__*/React__default['default'].createElement("div", {
1970
1970
  className: "table-cell-header"
1971
- }, React__default['default'].createElement("div", Object.assign({
1972
- className: 'table-cell-header__label'
1973
- }, column.getSortByToggleProps()), React__default['default'].createElement("span", null, column.render("Header")), column.render("ArrowSort")), column.canFilter ? React__default['default'].createElement("div", {
1974
- className: 'table-cell-header__filter'
1971
+ }, /*#__PURE__*/React__default['default'].createElement("div", _extends({
1972
+ className: "table-cell-header__label"
1973
+ }, column.getSortByToggleProps()), /*#__PURE__*/React__default['default'].createElement("span", null, column.render("Header")), column.render("ArrowSort")), column.canFilter ? /*#__PURE__*/React__default['default'].createElement("div", {
1974
+ className: "table-cell-header__filter"
1975
1975
  }, column.render("Filter")) : null);
1976
1976
  }
1977
1977
 
@@ -2011,12 +2011,12 @@ function InputText(_ref) {
2011
2011
  setValue = _useState[1];
2012
2012
 
2013
2013
  var change = React.useMemo(function () {
2014
- return callLast(onChange, 300);
2014
+ return onChange && callLast(onChange, 300);
2015
2015
  }, [onChange]);
2016
2016
  React.useEffect(function () {
2017
2017
  setValue(value);
2018
2018
  }, [value]);
2019
- return React__default['default'].createElement(FormControl, {
2019
+ return /*#__PURE__*/React__default['default'].createElement(FormControl, {
2020
2020
  name: name,
2021
2021
  label: label,
2022
2022
  required: required,
@@ -2024,19 +2024,19 @@ function InputText(_ref) {
2024
2024
  prefix: prefix,
2025
2025
  suffix: suffix,
2026
2026
  className: className
2027
- }, React__default['default'].createElement("input", Object.assign({
2027
+ }, /*#__PURE__*/React__default['default'].createElement("input", _extends({
2028
2028
  type: type || "text"
2029
2029
  }, props, {
2030
2030
  "data-testid": "input_" + name,
2031
2031
  className: classnames("form-control", size && "form-control-" + size),
2032
2032
  id: name,
2033
2033
  required: required,
2034
- value: localValue || placeholder || "",
2034
+ value: localValue || "",
2035
2035
  placeholder: placeholder,
2036
2036
  onChange: function onChange(event) {
2037
2037
  var value = getEventValue(event);
2038
2038
  setValue(value);
2039
- return change(name, value);
2039
+ return change && change(name, value);
2040
2040
  }
2041
2041
  })));
2042
2042
  }
@@ -2069,7 +2069,7 @@ function DefaultColumnFilter(props) {
2069
2069
  setFilterId(id);
2070
2070
  setFilter(value || undefined);
2071
2071
  }, [id, setValue, setFilterId, setFilter]);
2072
- return React__default['default'].createElement(InputText, {
2072
+ return /*#__PURE__*/React__default['default'].createElement(InputText, {
2073
2073
  size: "sm",
2074
2074
  id: id,
2075
2075
  name: id,
@@ -2106,14 +2106,14 @@ function DefaultOperationButton(props) {
2106
2106
  i18n = _props$i18n === void 0 ? function (f) {
2107
2107
  return f;
2108
2108
  } : _props$i18n;
2109
- return React__default['default'].createElement("button", {
2109
+ return /*#__PURE__*/React__default['default'].createElement("button", {
2110
2110
  className: classnames(className, ["btn", buttonOutline && "outline", buttonType].filter(Boolean).join("-"), "btn-" + buttonSize),
2111
2111
  onClick: stopPropagationWrapper(function () {
2112
2112
  return onClick(action);
2113
2113
  })
2114
- }, icon ? React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("i", {
2114
+ }, icon ? /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement("i", {
2115
2115
  className: iconClass(undefined, icon)
2116
- }), " ", title && " ") : null, title && React__default['default'].createElement("span", {
2116
+ }), " ", title && " ") : null, title && /*#__PURE__*/React__default['default'].createElement("span", {
2117
2117
  className: icon && title ? "ml-1" : ""
2118
2118
  }, i18n(title)));
2119
2119
  }
@@ -2125,8 +2125,8 @@ function DefaultCellOperations(_ref) {
2125
2125
  ctx = _ref.ctx,
2126
2126
  i18n = _ref.i18n;
2127
2127
  var data = row.original;
2128
- return React__default['default'].createElement("div", {
2129
- className: 'btn-group'
2128
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2129
+ className: "btn-group"
2130
2130
  }, operations.filter(function (_ref2) {
2131
2131
  var permissionsResolver = _ref2.permissionsResolver;
2132
2132
  return !permissionsResolver || permissionsResolver(data, ctx);
@@ -2135,7 +2135,7 @@ function DefaultCellOperations(_ref) {
2135
2135
  OperationButton = _ref3$OperationButton === void 0 ? DefaultOperationButton : _ref3$OperationButton,
2136
2136
  operation = _objectWithoutPropertiesLoose(_ref3, ["OperationButton"]);
2137
2137
 
2138
- return React__default['default'].createElement(OperationButton, Object.assign({
2138
+ return /*#__PURE__*/React__default['default'].createElement(OperationButton, _extends({
2139
2139
  key: operation.action
2140
2140
  }, operation, {
2141
2141
  onClick: function onClick(action) {
@@ -2168,12 +2168,12 @@ function useOperations(_ref) {
2168
2168
  id: "operations",
2169
2169
  groupByBoundary: true,
2170
2170
  Header: function Header() {
2171
- return React__default['default'].createElement("div", {
2171
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2172
2172
  className: "text-center"
2173
2173
  }, i18n("Operations"));
2174
2174
  },
2175
2175
  Cell: function Cell(props) {
2176
- return React__default['default'].createElement(CellOperations, Object.assign({}, props, {
2176
+ return /*#__PURE__*/React__default['default'].createElement(CellOperations, _extends({}, props, {
2177
2177
  operations: operations,
2178
2178
  onClick: onClick,
2179
2179
  ctx: ctx,
@@ -2198,14 +2198,14 @@ function getOperationCallback(operations, onClick) {
2198
2198
  }
2199
2199
 
2200
2200
  function DefaultLoader() {
2201
- return React__default['default'].createElement("div", {
2201
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2202
2202
  className: "text-center p-2 pb-4 font-bold"
2203
2203
  }, "Loading in progress");
2204
2204
  }
2205
2205
 
2206
2206
  function DefaultEmptyData() {
2207
- return React__default['default'].createElement("div", {
2208
- className: 'text-center p-2 pb-4 font-bold'
2207
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2208
+ className: "text-center p-2 pb-4 font-bold"
2209
2209
  }, "No data found");
2210
2210
  }
2211
2211
 
@@ -2305,28 +2305,29 @@ function Table(props) {
2305
2305
  });
2306
2306
  }, [onChange, pageIndex, pageSize, sortBy, filters, filterId]); // Render the UI for your table
2307
2307
 
2308
- return React__default['default'].createElement("div", {
2308
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2309
2309
  className: classnames("table-group table-responsive", className)
2310
- }, React__default['default'].createElement("table", Object.assign({
2310
+ }, /*#__PURE__*/React__default['default'].createElement("table", _extends({
2311
2311
  className: "table table-striped table-hover"
2312
- }, tableInstance.getTableProps()), React__default['default'].createElement("thead", null, tableInstance.headerGroups.map(function (headerGroup, i) {
2313
- return React__default['default'].createElement("tr", Object.assign({
2312
+ }, tableInstance.getTableProps()), /*#__PURE__*/React__default['default'].createElement("thead", null, tableInstance.headerGroups.map(function (headerGroup, i) {
2313
+ return /*#__PURE__*/React__default['default'].createElement("tr", _extends({}, headerGroup.getHeaderGroupProps(), {
2314
2314
  key: "tableInstance.headerGroups" + i
2315
- }, headerGroup.getHeaderGroupProps()), headerGroup.headers.map(function (column) {
2316
- return React__default['default'].createElement("th", Object.assign({
2315
+ }), headerGroup.headers.map(function (column) {
2316
+ return /*#__PURE__*/React__default['default'].createElement("th", _extends({}, column.getHeaderProps(), {
2317
2317
  key: "tableInstance.headers.column." + column.id
2318
- }, column.getHeaderProps()), React__default['default'].createElement(CellHeader, {
2318
+ }), /*#__PURE__*/React__default['default'].createElement(CellHeader, {
2319
2319
  column: column
2320
2320
  }));
2321
2321
  }));
2322
- })), !isLoading ? React__default['default'].createElement("tbody", Object.assign({}, tableInstance.getTableBodyProps()), tableInstance.page.map(function (row) {
2322
+ })), !isLoading ? /*#__PURE__*/React__default['default'].createElement("tbody", tableInstance.getTableBodyProps(), tableInstance.page.map(function (row) {
2323
2323
  tableInstance.prepareRow(row);
2324
- return React__default['default'].createElement("tr", Object.assign({
2325
- key: "tableInstance.page." + row.id,
2324
+ return /*#__PURE__*/React__default['default'].createElement("tr", _extends({
2326
2325
  onClick: function onClick() {
2327
2326
  return _onClick(row.original, "row");
2328
2327
  }
2329
- }, row.getRowProps()), row.cells.map(function (cell, i) {
2328
+ }, row.getRowProps(), {
2329
+ key: "tableInstance.page." + row.id
2330
+ }), row.cells.map(function (cell, i) {
2330
2331
  var _cell$column = cell.column,
2331
2332
  hidden = _cell$column.hidden,
2332
2333
  colspan = _cell$column.colspan;
@@ -2335,14 +2336,15 @@ function Table(props) {
2335
2336
  return null;
2336
2337
  }
2337
2338
 
2338
- return React__default['default'].createElement("td", Object.assign({
2339
- key: "tableInstance.page.cells." + (cell.value || "value") + "." + i,
2339
+ return /*#__PURE__*/React__default['default'].createElement("td", _extends({
2340
2340
  colSpan: colspan
2341
- }, cell.getCellProps()), cell.render("Cell"));
2341
+ }, cell.getCellProps(), {
2342
+ key: "tableInstance.page.cells." + (cell.value || "value") + "." + i
2343
+ }), cell.render("Cell"));
2342
2344
  }));
2343
- })) : null), isLoading ? React__default['default'].createElement(Loader, null) : null, !data.length ? React__default['default'].createElement(EmptyData, null) : null, !isLoading && data.length && !disablePagination ? React__default['default'].createElement("div", {
2345
+ })) : null), isLoading ? /*#__PURE__*/React__default['default'].createElement(Loader, null) : null, !data.length ? /*#__PURE__*/React__default['default'].createElement(EmptyData, null) : null, !isLoading && data.length && !disablePagination ? /*#__PURE__*/React__default['default'].createElement("div", {
2344
2346
  className: "overflow-hidden"
2345
- }, React__default['default'].createElement(Pagination$1, Object.assign({}, tableInstance, {
2347
+ }, /*#__PURE__*/React__default['default'].createElement(Pagination$1, _extends({}, tableInstance, {
2346
2348
  className: "text-sm",
2347
2349
  pageIndex: pageIndex,
2348
2350
  pageSize: pageSize,
@@ -2379,13 +2381,13 @@ function ActionsTable(_ref) {
2379
2381
  id: "title"
2380
2382
  }];
2381
2383
  }, []);
2382
- return React__default['default'].createElement(Table, Object.assign({}, props, {
2384
+ return /*#__PURE__*/React__default['default'].createElement(Table, _extends({}, props, {
2383
2385
  disableFilters: disableFilters,
2384
2386
  disablePagination: disablePagination,
2385
2387
  columns: columns
2386
- }), React__default['default'].createElement("div", {
2388
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2387
2389
  className: "pagination-group"
2388
- }, React__default['default'].createElement(Select, {
2390
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
2389
2391
  name: "actions",
2390
2392
  value: currentAction,
2391
2393
  choices: [{
@@ -2395,9 +2397,9 @@ function ActionsTable(_ref) {
2395
2397
  onChange: function onChange(name, action) {
2396
2398
  return setAction(action);
2397
2399
  }
2398
- }), React__default['default'].createElement("div", {
2400
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
2399
2401
  className: "pl-3"
2400
- }, React__default['default'].createElement("button", {
2402
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
2401
2403
  "data-testid": "submit",
2402
2404
  disabled: currentAction === "",
2403
2405
  className: "btn btn-success",
@@ -2405,7 +2407,7 @@ function ActionsTable(_ref) {
2405
2407
  return currentAction && onAddAction(currentAction);
2406
2408
  },
2407
2409
  type: "submit"
2408
- }, React__default['default'].createElement("i", {
2410
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
2409
2411
  className: classnames(iconClass(undefined, "plus"), "mr-1")
2410
2412
  }), " ", i18n("Add action")))));
2411
2413
  }
@@ -2422,9 +2424,9 @@ function formatError(error) {
2422
2424
  if (Object.prototype.hasOwnProperty.call(error, "errors")) {
2423
2425
  return Object.keys(error.errors).map(function (key, index) {
2424
2426
  var item = error.errors[key];
2425
- return React__default['default'].createElement("div", {
2427
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2426
2428
  key: index
2427
- }, React__default['default'].createElement("strong", null, item.name, " (", item.path, ")"), " ", "- ", item.message);
2429
+ }, /*#__PURE__*/React__default['default'].createElement("strong", null, item.name, " (", item.path, ")"), " ", "- ", item.message);
2428
2430
  });
2429
2431
  } // If this is a standard error.
2430
2432
 
@@ -2436,7 +2438,7 @@ function formatError(error) {
2436
2438
 
2437
2439
  if (Object.prototype.hasOwnProperty.call(error, "name") && error.name === "ValidationError") {
2438
2440
  return error.details.map(function (item, index) {
2439
- return React__default['default'].createElement("div", {
2441
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2440
2442
  key: index
2441
2443
  }, item.message);
2442
2444
  });
@@ -2459,9 +2461,9 @@ function Alert(_ref) {
2459
2461
  return null;
2460
2462
  }
2461
2463
 
2462
- return React__default['default'].createElement("div", {
2464
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2463
2465
  className: "alert alert-" + type,
2464
- role: 'alert'
2466
+ role: "alert"
2465
2467
  }, formatError(error));
2466
2468
  }
2467
2469
 
@@ -2469,19 +2471,83 @@ function Card(_ref) {
2469
2471
  var children = _ref.children,
2470
2472
  label = _ref.label,
2471
2473
  className = _ref.className;
2472
- return React__default['default'].createElement("div", {
2474
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2473
2475
  className: classnames("card", className)
2474
- }, React__default['default'].createElement("div", {
2476
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
2475
2477
  className: "card-header "
2476
- }, React__default['default'].createElement("h4", {
2478
+ }, /*#__PURE__*/React__default['default'].createElement("h4", {
2477
2479
  className: "card-title"
2478
- }, label)), React__default['default'].createElement("div", {
2480
+ }, label)), /*#__PURE__*/React__default['default'].createElement("div", {
2479
2481
  className: "card-body",
2480
2482
  role: "article"
2481
2483
  }, children));
2482
2484
  }
2483
2485
 
2486
+ function _catch$a(body, recover) {
2487
+ try {
2488
+ var result = body();
2489
+ } catch (e) {
2490
+ return recover(e);
2491
+ }
2492
+
2493
+ if (result && result.then) {
2494
+ return result.then(void 0, recover);
2495
+ }
2496
+
2497
+ return result;
2498
+ }
2499
+
2500
+ function useDebounce(event, callback, events) {
2501
+ React.useEffect(function () {
2502
+ callback && events.set(event, callLast(callback, 100));
2503
+ }, [callback, event, events]);
2504
+ }
2505
+
2506
+ function useEvents(funcs) {
2507
+ var events = React.useRef(new Map());
2508
+
2509
+ var hasEvent = function hasEvent(event) {
2510
+ return funcs.hasOwnProperty(event) && typeof funcs[event] === "function";
2511
+ };
2512
+
2513
+ var emit = function emit(event) {
2514
+ if (hasEvent(event)) {
2515
+ var fn = events.current.has(event) ? events.current.get(event) : funcs[event];
2516
+ return fn.apply(void 0, [].slice.call(arguments, 1));
2517
+ }
2518
+ };
2519
+
2520
+ useDebounce("onChange", funcs.onChange, events.current);
2521
+ return {
2522
+ events: events,
2523
+ emit: emit,
2524
+ hasEvent: hasEvent
2525
+ };
2526
+ }
2527
+
2484
2528
  function useForm(props) {
2529
+ var customValidation = function customValidation(submission, callback) {
2530
+ try {
2531
+ var _temp3 = function () {
2532
+ if (hasEvent("onAsyncSubmit")) {
2533
+ var _temp4 = _catch$a(function () {
2534
+ return Promise.resolve(emit("onAsyncSubmit", submission, instance.current)).then(function () {});
2535
+ }, function (err) {
2536
+ callback((err == null ? void 0 : err.errors) || err);
2537
+ });
2538
+
2539
+ if (_temp4 && _temp4.then) return _temp4.then(function () {});
2540
+ } else {
2541
+ callback(null);
2542
+ }
2543
+ }();
2544
+
2545
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
2546
+ } catch (e) {
2547
+ return Promise.reject(e);
2548
+ }
2549
+ };
2550
+
2485
2551
  var src = props.src,
2486
2552
  form = props.form,
2487
2553
  _props$options = props.options,
@@ -2493,14 +2559,22 @@ function useForm(props) {
2493
2559
  var element = React.useRef();
2494
2560
  var isLoaded = React.useRef();
2495
2561
  var instance = React.useRef();
2496
- var events = React.useRef(new Map());
2562
+
2563
+ var _useEvents = useEvents(funcs),
2564
+ emit = _useEvents.emit,
2565
+ hasEvent = _useEvents.hasEvent;
2497
2566
 
2498
2567
  var createWebForm = function createWebForm(srcOrForm, options) {
2499
2568
  options = Object.assign({}, options);
2500
2569
  srcOrForm = typeof srcOrForm === "string" ? srcOrForm : cloneDeep__default['default'](srcOrForm);
2501
2570
 
2502
2571
  if (!instance.current) {
2572
+ var _options, _options$hooks;
2573
+
2503
2574
  isLoaded.current = false;
2575
+ options.hooks = _extends({}, options.hooks || {}, {
2576
+ customValidation: ((_options = options) == null ? void 0 : (_options$hooks = _options.hooks) == null ? void 0 : _options$hooks.customValidation) || customValidation
2577
+ });
2504
2578
  instance.current = new formiojs.Form(element.current, srcOrForm, options);
2505
2579
  instance.current.onAny(function (event) {
2506
2580
  var args = [].slice.call(arguments, 1);
@@ -2510,23 +2584,15 @@ function useForm(props) {
2510
2584
  }
2511
2585
 
2512
2586
  if (event.startsWith("formio.")) {
2513
- var funcName = "on" + event.charAt(7).toUpperCase() + event.slice(8);
2587
+ var eventName = "on" + event.charAt(7).toUpperCase() + event.slice(8);
2514
2588
 
2515
- if (funcName === "onChange") {
2589
+ if (eventName === "onChange") {
2516
2590
  if (isEqual__default['default'](noop$1.get(submission, "data"), args[0].data)) {
2517
2591
  return;
2518
2592
  }
2519
2593
  }
2520
2594
 
2521
- if ( // eslint-disable-next-line no-prototype-builtins
2522
- props.hasOwnProperty(funcName) && typeof funcs[funcName] === "function") {
2523
- if (!events.current.has(funcName)) {
2524
- var fn = callLast(funcs[funcName], 100);
2525
- events.current.set(funcName, fn);
2526
- }
2527
-
2528
- events.current.get(funcName).apply(void 0, args);
2529
- }
2595
+ emit.apply(void 0, [eventName].concat(args, [instance.current]));
2530
2596
  }
2531
2597
  });
2532
2598
  instance.current.ready.then(function (formio) {
@@ -2581,12 +2647,6 @@ function useForm(props) {
2581
2647
  instance.current && instance.current.destroy(true);
2582
2648
  };
2583
2649
  }, []);
2584
- React.useEffect(function () {
2585
- props.onSubmit && events.current.set("onSubmit", props.onSubmit);
2586
- }, [props.onSubmit, events]);
2587
- React.useEffect(function () {
2588
- props.onSubmitDone && events.current.set("onSubmitDone", props.onSubmitDone);
2589
- }, [props.onSubmitDone, events]);
2590
2650
  return {
2591
2651
  element: element
2592
2652
  };
@@ -2597,7 +2657,7 @@ function Form(props) {
2597
2657
  var _useForm = useForm(props),
2598
2658
  element = _useForm.element;
2599
2659
 
2600
- return React__default['default'].createElement("div", {
2660
+ return /*#__PURE__*/React__default['default'].createElement("div", {
2601
2661
  "data-testid": "formioContainer" + (props.name || ""),
2602
2662
  ref: element,
2603
2663
  className: props.className
@@ -2635,7 +2695,8 @@ Form.propTypes = {
2635
2695
  noAlerts: PropTypes__default['default'].bool,
2636
2696
  i18n: PropTypes__default['default'].any,
2637
2697
  template: PropTypes__default['default'].string,
2638
- saveDraft: PropTypes__default['default'].bool
2698
+ saveDraft: PropTypes__default['default'].bool,
2699
+ hooks: PropTypes__default['default'].any
2639
2700
  }),
2640
2701
  onPrevPage: PropTypes__default['default'].func,
2641
2702
  onNextPage: PropTypes__default['default'].func,
@@ -2644,6 +2705,7 @@ Form.propTypes = {
2644
2705
  onCustomEvent: PropTypes__default['default'].func,
2645
2706
  onComponentChange: PropTypes__default['default'].func,
2646
2707
  onSubmit: PropTypes__default['default'].func,
2708
+ onAsyncSubmit: PropTypes__default['default'].func,
2647
2709
  onSubmitDone: PropTypes__default['default'].func,
2648
2710
  onFormLoad: PropTypes__default['default'].func,
2649
2711
  onError: PropTypes__default['default'].func,
@@ -2786,8 +2848,8 @@ function getAccessPermissionForm(_ref3) {
2786
2848
  function rolesToChoices(roles) {
2787
2849
  return Object.values(roles).map(function (role) {
2788
2850
  return {
2789
- label: role.title,
2790
- value: role._id
2851
+ label: role.title || "",
2852
+ value: role._id || ""
2791
2853
  };
2792
2854
  });
2793
2855
  }
@@ -2801,7 +2863,7 @@ function accessToHash(keys, access) {
2801
2863
  o[role.type] = role.roles;
2802
2864
  return o;
2803
2865
  }, {});
2804
- return keys.reduce(function (data, key) {
2866
+ return (keys || []).filter(Boolean).reduce(function (data, key) {
2805
2867
  var _extends2;
2806
2868
 
2807
2869
  return _extends({}, data, (_extends2 = {}, _extends2[key] = hash[key] || [], _extends2));
@@ -2917,7 +2979,7 @@ function useFormAccess(_ref) {
2917
2979
  submissions: submissions,
2918
2980
  onChange: onChange,
2919
2981
  onSubmit: function onSubmit() {
2920
- _onSubmit(submissionsToDataAccess(formDefinition, submissions));
2982
+ _onSubmit && _onSubmit(submissionsToDataAccess(formDefinition, submissions));
2921
2983
  }
2922
2984
  };
2923
2985
  }
@@ -2935,7 +2997,7 @@ function NamedFormAccess(_ref2) {
2935
2997
  isValid = _useState2[0],
2936
2998
  setIsValid = _useState2[1];
2937
2999
 
2938
- return React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(Form, {
3000
+ return /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement(Form, {
2939
3001
  name: name,
2940
3002
  form: form[name],
2941
3003
  submission: submissions[name],
@@ -2948,11 +3010,11 @@ function NamedFormAccess(_ref2) {
2948
3010
  setIsValid(isValid);
2949
3011
  },
2950
3012
  options: options
2951
- }), React__default['default'].createElement("button", {
3013
+ }), /*#__PURE__*/React__default['default'].createElement("button", {
2952
3014
  disabled: !isValid,
2953
3015
  className: "mt-5 btn btn-primary",
2954
3016
  onClick: onSubmit
2955
- }, "Save access"), children, React__default['default'].createElement("div", {
3017
+ }, "Save access"), children, /*#__PURE__*/React__default['default'].createElement("div", {
2956
3018
  className: "alert alert-warning mt-5"
2957
3019
  }, "Elevated permissions allow users to access and modify other user's entities. Assign with caution."));
2958
3020
  }
@@ -2966,43 +3028,43 @@ function FormAccess(props) {
2966
3028
  onChange = _useFormAccess.onChange,
2967
3029
  onSubmit = _useFormAccess.onSubmit;
2968
3030
 
2969
- return React__default['default'].createElement("div", null, props.children, React__default['default'].createElement("div", {
3031
+ return /*#__PURE__*/React__default['default'].createElement("div", null, props.children, /*#__PURE__*/React__default['default'].createElement("div", {
2970
3032
  className: "flex mb-5"
2971
- }, React__default['default'].createElement(Card, {
3033
+ }, /*#__PURE__*/React__default['default'].createElement(Card, {
2972
3034
  label: "Manage submission access",
2973
3035
  className: "flex-1"
2974
- }, React__default['default'].createElement(NamedFormAccess, {
3036
+ }, /*#__PURE__*/React__default['default'].createElement(NamedFormAccess, {
2975
3037
  name: "submissionAccess",
2976
3038
  form: form,
2977
3039
  submissions: submissions,
2978
3040
  onChange: onChange,
2979
3041
  onSubmit: onSubmit,
2980
3042
  options: options
2981
- }, props.children)), React__default['default'].createElement("div", {
3043
+ }, props.children)), /*#__PURE__*/React__default['default'].createElement("div", {
2982
3044
  className: "w-1/4 pl-4"
2983
- }, React__default['default'].createElement(Card, {
3045
+ }, /*#__PURE__*/React__default['default'].createElement(Card, {
2984
3046
  label: "About Submission Data Permissions"
2985
- }, React__default['default'].createElement("p", null, "Submission Data Permissions allow you to control who can create, view, and modify form submission data."), React__default['default'].createElement("ul", {
3047
+ }, /*#__PURE__*/React__default['default'].createElement("p", null, "Submission Data Permissions allow you to control who can create, view, and modify form submission data."), /*#__PURE__*/React__default['default'].createElement("ul", {
2986
3048
  className: "mt-5 pl-7 list-disc"
2987
- }, React__default['default'].createElement("li", {
3049
+ }, /*#__PURE__*/React__default['default'].createElement("li", {
2988
3050
  className: "pb-2"
2989
- }, React__default['default'].createElement("strong", null, "Own Permissions"), " - These permissions apply if the user is the original creator of the submission data and is listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data without seeing other user's data."), React__default['default'].createElement("li", null, React__default['default'].createElement("strong", null, "All Permissions"), " - These permissions apply to all submission data regardless of who owns it."))))), React__default['default'].createElement("div", {
3051
+ }, /*#__PURE__*/React__default['default'].createElement("strong", null, "Own Permissions"), " - These permissions apply if the user is the original creator of the submission data and is listed as the owner of the submission in submission.owner. This allows users to create and edit their own submission data without seeing other user's data."), /*#__PURE__*/React__default['default'].createElement("li", null, /*#__PURE__*/React__default['default'].createElement("strong", null, "All Permissions"), " - These permissions apply to all submission data regardless of who owns it."))))), /*#__PURE__*/React__default['default'].createElement("div", {
2990
3052
  className: "flex mb-5"
2991
- }, React__default['default'].createElement(Card, {
3053
+ }, /*#__PURE__*/React__default['default'].createElement(Card, {
2992
3054
  label: "Manage " + type + " definition access",
2993
3055
  className: "flex-1"
2994
- }, React__default['default'].createElement(NamedFormAccess, {
3056
+ }, /*#__PURE__*/React__default['default'].createElement(NamedFormAccess, {
2995
3057
  name: "access",
2996
3058
  form: form,
2997
3059
  submissions: submissions,
2998
3060
  onChange: onChange,
2999
3061
  onSubmit: onSubmit,
3000
3062
  options: options
3001
- }, props.children)), React__default['default'].createElement("div", {
3063
+ }, props.children)), /*#__PURE__*/React__default['default'].createElement("div", {
3002
3064
  className: "w-1/4 pl-4"
3003
- }, React__default['default'].createElement(Card, {
3065
+ }, /*#__PURE__*/React__default['default'].createElement(Card, {
3004
3066
  label: "About Form Definition Access"
3005
- }, React__default['default'].createElement("p", null, "These permissions allow you to give access to a single form's JSON definition so they can render the form."), React__default['default'].createElement("p", null, "Typically you will want to allow all of your roles to be able to Read the form definition."), React__default['default'].createElement("p", null, "Each form also has an owner at ", React__default['default'].createElement("strong", null, "form.owner"), " which is the user who created the form. In some applications users are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well.")))));
3067
+ }, /*#__PURE__*/React__default['default'].createElement("p", null, "These permissions allow you to give access to a single form's JSON definition so they can render the form."), /*#__PURE__*/React__default['default'].createElement("p", null, "Typically you will want to allow all of your roles to be able to Read the form definition."), /*#__PURE__*/React__default['default'].createElement("p", null, "Each form also has an owner at ", /*#__PURE__*/React__default['default'].createElement("strong", null, "form.owner"), " which is the user who created the form. In some applications users are allowed to create their own forms. In those cases it is helpful to have Owner based permissions as well.")))));
3006
3068
  }
3007
3069
  FormAccess.propTypes = {
3008
3070
  type: PropTypes__default['default'].string.isRequired,
@@ -3058,7 +3120,7 @@ function FormAction(_ref2) {
3058
3120
  form = _useMemo.form,
3059
3121
  submission = _useMemo.submission;
3060
3122
 
3061
- return React__default['default'].createElement("div", null, children, React__default['default'].createElement(Form, {
3123
+ return /*#__PURE__*/React__default['default'].createElement("div", null, children, /*#__PURE__*/React__default['default'].createElement(Form, {
3062
3124
  form: form,
3063
3125
  submission: submission,
3064
3126
  onSubmit: onSubmit,
@@ -3066,7 +3128,7 @@ function FormAction(_ref2) {
3066
3128
  }), children);
3067
3129
  }
3068
3130
 
3069
- function _catch$a(body, recover) {
3131
+ function _catch$b(body, recover) {
3070
3132
  try {
3071
3133
  var result = body();
3072
3134
  } catch (e) {
@@ -3094,7 +3156,7 @@ var createBuilder = function createBuilder(el, _ref2) {
3094
3156
  display: display,
3095
3157
  components: [].concat(components)
3096
3158
  };
3097
- return Promise.resolve(_catch$a(function () {
3159
+ return Promise.resolve(_catch$b(function () {
3098
3160
  return Promise.resolve(new FormioFormBuilder__default['default'](el, form, _extends({}, options)).ready).then(function (builder) {
3099
3161
  var handleEvent = function handleEvent(event) {
3100
3162
  return function () {
@@ -3129,6 +3191,8 @@ var FormBuilder = /*#__PURE__*/function (_React$Component) {
3129
3191
  var _this;
3130
3192
 
3131
3193
  _this = _React$Component.call(this, props) || this;
3194
+ _this.elRef = void 0;
3195
+ _this.builderRef = void 0;
3132
3196
  _this.state = {
3133
3197
  display: props.display,
3134
3198
  components: cloneDeep__default['default'](props.components)
@@ -3236,21 +3300,21 @@ var FormBuilder = /*#__PURE__*/function (_React$Component) {
3236
3300
  }, function () {
3237
3301
  var _this8$props;
3238
3302
 
3239
- (_this8$props = _this8.props) == null ? void 0 : _this8$props.onChange(components);
3303
+ ((_this8$props = _this8.props) == null ? void 0 : _this8$props.onChange) && _this8.props.onChange(components);
3240
3304
  });
3241
3305
  };
3242
3306
 
3243
3307
  _proto.render = function render() {
3244
3308
  var _this9 = this;
3245
3309
 
3246
- return React__default['default'].createElement("div", {
3310
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3247
3311
  ref: function ref(_ref) {
3248
3312
  _this9.elRef = _ref;
3249
3313
  },
3250
3314
  onClick: function onClick(e) {
3251
3315
  return e.stopPropagation();
3252
3316
  }
3253
- }, React__default['default'].createElement("div", null));
3317
+ }, /*#__PURE__*/React__default['default'].createElement("div", null));
3254
3318
  };
3255
3319
 
3256
3320
  return FormBuilder;
@@ -3323,47 +3387,47 @@ function FormEditCTAs(_ref) {
3323
3387
  placement: "top",
3324
3388
  title: t("Reset all changes")
3325
3389
  });
3326
- return React__default['default'].createElement("div", {
3390
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3327
3391
  className: "form-edit__actions"
3328
- }, React__default['default'].createElement("div", null, React__default['default'].createElement("button", {
3392
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("button", {
3329
3393
  className: "btn btn-primary btn-save flex " + (disabled ? "disabled" : ""),
3330
3394
  disabled: disabled,
3331
3395
  onClick: function onClick() {
3332
- return !disabled && onSubmit();
3396
+ return !disabled && onSubmit && onSubmit();
3333
3397
  }
3334
- }, React__default['default'].createElement("i", {
3398
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3335
3399
  className: "mr-1 " + iconClass(options.iconset, "save")
3336
- }), saveText), React__default['default'].createElement("div", null, React__default['default'].createElement("button", {
3400
+ }), saveText), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("button", {
3337
3401
  className: "btn btn-light btn-undo " + (hasUndo ? "" : "disabled"),
3338
3402
  onClick: function onClick() {
3339
- return onUndo();
3403
+ return onUndo && onUndo();
3340
3404
  },
3341
3405
  ref: undoTooltipRef
3342
- }, React__default['default'].createElement("i", {
3406
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3343
3407
  className: iconClass(options.iconset, "undo")
3344
- })), React__default['default'].createElement("button", {
3408
+ })), /*#__PURE__*/React__default['default'].createElement("button", {
3345
3409
  className: "btn btn-light btn-redo " + (hasRedo ? "" : "disabled"),
3346
3410
  onClick: function onClick() {
3347
- return onRedo();
3411
+ return onRedo && onRedo();
3348
3412
  },
3349
3413
  ref: redoTooltipRef
3350
- }, React__default['default'].createElement("i", {
3414
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3351
3415
  className: iconClass(options.iconset, "redo")
3352
- }))), React__default['default'].createElement("div", null, onCopy && React__default['default'].createElement("button", {
3353
- className: 'btn btn-light',
3416
+ }))), /*#__PURE__*/React__default['default'].createElement("div", null, onCopy && /*#__PURE__*/React__default['default'].createElement("button", {
3417
+ className: "btn btn-light",
3354
3418
  onClick: function onClick() {
3355
3419
  return onCopy();
3356
3420
  },
3357
3421
  ref: copyTooltipRef
3358
- }, React__default['default'].createElement("i", {
3422
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3359
3423
  className: iconClass(options.iconset, "copy")
3360
- })), React__default['default'].createElement("button", {
3424
+ })), /*#__PURE__*/React__default['default'].createElement("button", {
3361
3425
  className: "btn btn-light btn-reset",
3362
3426
  onClick: function onClick() {
3363
- return onReset();
3427
+ return onReset && onReset();
3364
3428
  },
3365
3429
  ref: resetTooltipRef
3366
- }, React__default['default'].createElement("i", {
3430
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3367
3431
  className: iconClass(options.iconset, "reset")
3368
3432
  })))));
3369
3433
  }
@@ -3399,10 +3463,10 @@ function InputTags(_ref) {
3399
3463
  });
3400
3464
  instance.setValue([].concat(value, []));
3401
3465
  instance.passedElement.element.addEventListener("addItem", function (event) {
3402
- onChange(name, uniq__default['default'](value.concat(event.detail.value)));
3466
+ onChange && onChange(name, uniq__default['default'](value.concat(event.detail.value)));
3403
3467
  });
3404
3468
  instance.passedElement.element.addEventListener("removeItem", function (event) {
3405
- onChange(name, value.filter(function (v) {
3469
+ onChange && onChange(name, value.filter(function (v) {
3406
3470
  return v !== event.detail.value;
3407
3471
  }));
3408
3472
  });
@@ -3410,16 +3474,16 @@ function InputTags(_ref) {
3410
3474
  instance.destroy();
3411
3475
  };
3412
3476
  }, []);
3413
- return React__default['default'].createElement(FormControl, {
3477
+ return /*#__PURE__*/React__default['default'].createElement(FormControl, {
3414
3478
  name: name,
3415
3479
  label: label,
3416
3480
  required: required,
3417
3481
  description: description,
3418
3482
  prefix: prefix,
3419
3483
  suffix: suffix
3420
- }, React__default['default'].createElement("input", Object.assign({
3484
+ }, /*#__PURE__*/React__default['default'].createElement("input", _extends({
3421
3485
  ref: ref,
3422
- type: 'text'
3486
+ type: "text"
3423
3487
  }, props, {
3424
3488
  id: name,
3425
3489
  required: required
@@ -3455,36 +3519,36 @@ function FormParameters(_ref) {
3455
3519
  _ref$className = _ref.className,
3456
3520
  className = _ref$className === void 0 ? "" : _ref$className;
3457
3521
  var hasTypeChoices = typeChoices && typeChoices.length > 1;
3458
- return React__default['default'].createElement("div", {
3522
+ return /*#__PURE__*/React__default['default'].createElement("div", {
3459
3523
  className: "form-edit__settings " + className
3460
- }, React__default['default'].createElement("div", {
3524
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
3461
3525
  className: "w-1/3"
3462
- }, React__default['default'].createElement(InputText, {
3526
+ }, /*#__PURE__*/React__default['default'].createElement(InputText, {
3463
3527
  label: "Title",
3464
- placeholder: 'Enter the form title',
3528
+ placeholder: "Enter the form title",
3465
3529
  name: "title",
3466
3530
  required: true,
3467
3531
  value: form.title,
3468
3532
  onChange: onChange
3469
- })), React__default['default'].createElement("div", {
3533
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
3470
3534
  className: "w-1/3"
3471
- }, React__default['default'].createElement(InputText, {
3535
+ }, /*#__PURE__*/React__default['default'].createElement(InputText, {
3472
3536
  label: "Name",
3473
- placeholder: 'Enter the form machine name',
3537
+ placeholder: "Enter the form machine name",
3474
3538
  name: "name",
3475
3539
  required: true,
3476
3540
  value: form.name,
3477
3541
  onChange: onChange
3478
- })), React__default['default'].createElement("div", {
3542
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
3479
3543
  className: "w-1/3"
3480
- }, React__default['default'].createElement(InputText, {
3544
+ }, /*#__PURE__*/React__default['default'].createElement(InputText, {
3481
3545
  label: "Path",
3482
- placeholder: 'example',
3546
+ placeholder: "example",
3483
3547
  name: "path",
3484
3548
  className: "mb-0",
3485
- description: React__default['default'].createElement("span", {
3549
+ description: /*#__PURE__*/React__default['default'].createElement("span", {
3486
3550
  className: "text-xxs flex items-center"
3487
- }, React__default['default'].createElement("i", {
3551
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
3488
3552
  className: "bx bx-link ml-1 mr-1"
3489
3553
  }), window.location.origin + "/" + form.path),
3490
3554
  required: true,
@@ -3494,25 +3558,25 @@ function FormParameters(_ref) {
3494
3558
  width: "120px"
3495
3559
  },
3496
3560
  onChange: onChange
3497
- })), React__default['default'].createElement("div", {
3561
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
3498
3562
  className: "w-1/3"
3499
- }, React__default['default'].createElement(Select, {
3563
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
3500
3564
  label: "Display as",
3501
3565
  name: "display",
3502
3566
  value: form.display,
3503
3567
  choices: displayChoices,
3504
3568
  onChange: onChange
3505
- })), hasTypeChoices && React__default['default'].createElement("div", {
3569
+ })), hasTypeChoices && /*#__PURE__*/React__default['default'].createElement("div", {
3506
3570
  className: "w-1/3"
3507
- }, React__default['default'].createElement(Select, {
3571
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
3508
3572
  label: "Type",
3509
3573
  name: "type",
3510
3574
  value: form.type,
3511
3575
  choices: typeChoices,
3512
3576
  onChange: onChange
3513
- })), enableTags && React__default['default'].createElement("div", {
3577
+ })), enableTags && /*#__PURE__*/React__default['default'].createElement("div", {
3514
3578
  className: "w-1/3"
3515
- }, React__default['default'].createElement(InputTags, {
3579
+ }, /*#__PURE__*/React__default['default'].createElement(InputTags, {
3516
3580
  label: "Tags",
3517
3581
  name: "tags",
3518
3582
  value: form.tags,
@@ -3705,14 +3769,14 @@ function FormEdit(props) {
3705
3769
  var _props$options = props.options,
3706
3770
  options = _props$options === void 0 ? {} : _props$options,
3707
3771
  builder = props.builder;
3708
- return React__default['default'].createElement("div", null, React__default['default'].createElement("div", {
3709
- className: 'form-edit'
3710
- }, React__default['default'].createElement(FormParameters, Object.assign({}, props, {
3772
+ return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
3773
+ className: "form-edit"
3774
+ }, /*#__PURE__*/React__default['default'].createElement(FormParameters, _extends({}, props, {
3711
3775
  className: "",
3712
3776
  key: "form-settings-" + form._id,
3713
3777
  form: form,
3714
3778
  onChange: setChange
3715
- })), React__default['default'].createElement(FormEditCTAs, Object.assign({}, props, {
3779
+ })), /*#__PURE__*/React__default['default'].createElement(FormEditCTAs, _extends({}, props, {
3716
3780
  className: "",
3717
3781
  key: "form-edit-ctas-" + form._id,
3718
3782
  options: options,
@@ -3724,7 +3788,7 @@ function FormEdit(props) {
3724
3788
  onReset: reset,
3725
3789
  onCopy: onCopy,
3726
3790
  onSubmit: onSubmit
3727
- }))), React__default['default'].createElement(FormBuilder, {
3791
+ }))), /*#__PURE__*/React__default['default'].createElement(FormBuilder, {
3728
3792
  key: "form-builder-" + form._id,
3729
3793
  components: form.components,
3730
3794
  display: form.display,
@@ -3883,13 +3947,13 @@ function FormSettings(props) {
3883
3947
  return f;
3884
3948
  };
3885
3949
 
3886
- return React__default['default'].createElement("div", null, React__default['default'].createElement(Form, {
3950
+ return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Form, {
3887
3951
  form: form,
3888
3952
  submission: submission,
3889
3953
  onChange: onChange,
3890
3954
  options: options
3891
- }), React__default['default'].createElement("button", {
3892
- "data-testid": 'submit',
3955
+ }), /*#__PURE__*/React__default['default'].createElement("button", {
3956
+ "data-testid": "submit",
3893
3957
  disabled: !isValid,
3894
3958
  className: "mt-5 btn btn-primary",
3895
3959
  onClick: onSubmit,
@@ -3914,7 +3978,7 @@ function SelectColumnFilter(_ref) {
3914
3978
  value: value
3915
3979
  };
3916
3980
  });
3917
- return React__default['default'].createElement(Select, {
3981
+ return /*#__PURE__*/React__default['default'].createElement(Select, {
3918
3982
  key: "filter-" + column.id,
3919
3983
  name: "filter-" + column.id,
3920
3984
  size: "sm",
@@ -9056,31 +9120,31 @@ function FormsCell(props) {
9056
9120
  var _props$icon = props.icon,
9057
9121
  icon = _props$icon === void 0 ? "server" : _props$icon,
9058
9122
  form = props.row.original;
9059
- return React__default['default'].createElement("div", {
9123
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9060
9124
  className: "p-1"
9061
- }, React__default['default'].createElement("h4", {
9125
+ }, /*#__PURE__*/React__default['default'].createElement("h4", {
9062
9126
  className: "text-primary text-lg flex items-center"
9063
- }, React__default['default'].createElement("i", {
9127
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
9064
9128
  className: classnames(iconClass(undefined, icon), "mr-1")
9065
- }), form.title), React__default['default'].createElement("ul", {
9066
- className: 'reset-list text-gray-500'
9067
- }, React__default['default'].createElement("li", {
9129
+ }), form.title), /*#__PURE__*/React__default['default'].createElement("ul", {
9130
+ className: "reset-list text-gray-500"
9131
+ }, /*#__PURE__*/React__default['default'].createElement("li", {
9068
9132
  className: "text-sm"
9069
- }, "Name: ", form.name || form.machineName), React__default['default'].createElement("li", {
9070
- className: 'mt-5'
9071
- }, React__default['default'].createElement("span", {
9072
- className: 'badge bg-light mr-1'
9073
- }, React__default['default'].createElement("i", {
9133
+ }, "Name: ", form.name || form.machineName), /*#__PURE__*/React__default['default'].createElement("li", {
9134
+ className: "mt-5"
9135
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
9136
+ className: "badge bg-light mr-1"
9137
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
9074
9138
  className: classnames(iconClass(undefined, "history"), "mr-1")
9075
- }), React__default['default'].createElement("span", null, "Updated ", moment(form.modified).fromNow())), (form.tags || []).map(function (tag, index) {
9076
- return React__default['default'].createElement("button", {
9139
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, "Updated ", moment(form.modified).fromNow())), (form.tags || []).map(function (tag, index) {
9140
+ return /*#__PURE__*/React__default['default'].createElement("button", {
9077
9141
  key: index,
9078
- className: 'badge badge-hover bg-secondary mr-1',
9142
+ className: "badge badge-hover bg-secondary mr-1",
9079
9143
  onClick: stopPropagationWrapper(function () {
9080
9144
  props.setFilter("tags", tag);
9081
9145
  props.gotoPage(0);
9082
9146
  })
9083
- }, React__default['default'].createElement("i", {
9147
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
9084
9148
  className: classnames(iconClass(undefined, "tags"), "mr-1")
9085
9149
  }), tag);
9086
9150
  }))));
@@ -9102,7 +9166,7 @@ function FormsTable(_ref) {
9102
9166
  accessor: "title",
9103
9167
  id: "title",
9104
9168
  Cell: function Cell(props) {
9105
- return React__default['default'].createElement(FormCell, Object.assign({}, props, {
9169
+ return /*#__PURE__*/React__default['default'].createElement(FormCell, _extends({}, props, {
9106
9170
  icon: props.icon,
9107
9171
  i18n: i18n
9108
9172
  }));
@@ -9115,15 +9179,15 @@ function FormsTable(_ref) {
9115
9179
  id: "tags",
9116
9180
  hidden: true,
9117
9181
  Filter: function Filter(props) {
9118
- return tags && tags.length ? React__default['default'].createElement(SelectColumnFilter, Object.assign({}, props, {
9182
+ return tags && tags.length ? /*#__PURE__*/React__default['default'].createElement(SelectColumnFilter, _extends({}, props, {
9119
9183
  column: _extends({}, props.columns, {
9120
9184
  choices: tags
9121
9185
  })
9122
- })) : React__default['default'].createElement(DefaultColumnFilter, Object.assign({}, props));
9186
+ })) : /*#__PURE__*/React__default['default'].createElement(DefaultColumnFilter, props);
9123
9187
  }
9124
9188
  }];
9125
9189
  }, [Cell]);
9126
- return React__default['default'].createElement(Table, Object.assign({}, props, {
9190
+ return /*#__PURE__*/React__default['default'].createElement(Table, _extends({}, props, {
9127
9191
  columns: columns
9128
9192
  }));
9129
9193
  }
@@ -9185,37 +9249,37 @@ function Modal(_ref) {
9185
9249
  return null;
9186
9250
  }
9187
9251
 
9188
- return React__default['default'].createElement("div", {
9252
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9189
9253
  role: "dialog",
9190
9254
  className: "formio-dialog formio-dialog-theme-default " + className
9191
- }, React__default['default'].createElement("div", {
9192
- className: 'formio-dialog-overlay',
9255
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
9256
+ className: "formio-dialog-overlay",
9193
9257
  onClick: onClickClose
9194
- }), React__default['default'].createElement("div", {
9258
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
9195
9259
  style: style,
9196
9260
  className: "formio-dialog-content"
9197
- }, React__default['default'].createElement("div", {
9261
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
9198
9262
  className: "formio-dialog-wrapper"
9199
- }, title ? React__default['default'].createElement("div", {
9263
+ }, title ? /*#__PURE__*/React__default['default'].createElement("div", {
9200
9264
  className: "formio-dialog-title",
9201
9265
  ref: titleRef,
9202
9266
  "data-testid": "modalTitle"
9203
- }, title) : null, React__default['default'].createElement("div", {
9204
- className: 'formio-dialog-body',
9267
+ }, title) : null, /*#__PURE__*/React__default['default'].createElement("div", {
9268
+ className: "formio-dialog-body",
9205
9269
  style: {
9206
9270
  maxHeight: maxHeight
9207
9271
  },
9208
9272
  "data-testid": "modalBody"
9209
- }, show && children), ModalFooter ? React__default['default'].createElement("div", {
9273
+ }, show && children), ModalFooter ? /*#__PURE__*/React__default['default'].createElement("div", {
9210
9274
  className: "formio-dialog-footer",
9211
9275
  ref: footerRef,
9212
9276
  "data-testid": "modalFooter"
9213
- }, React__default['default'].createElement(ModalFooter, Object.assign({}, props, {
9277
+ }, /*#__PURE__*/React__default['default'].createElement(ModalFooter, _extends({}, props, {
9214
9278
  closeModal: closeModal,
9215
9279
  onClose: onClickClose
9216
- }))) : null), React__default['default'].createElement("button", {
9217
- className: 'formio-dialog-close float-right btn btn-secondary btn-sm',
9218
- "aria-label": 'close',
9280
+ }))) : null), /*#__PURE__*/React__default['default'].createElement("button", {
9281
+ className: "formio-dialog-close float-right btn btn-secondary btn-sm",
9282
+ "aria-label": "close",
9219
9283
  "data-testid": "closeModal",
9220
9284
  onClick: onClickClose
9221
9285
  })));
@@ -9230,22 +9294,22 @@ function RemoveModalFooter(_ref) {
9230
9294
  i18n = _ref$i18n === void 0 ? function (f) {
9231
9295
  return f;
9232
9296
  } : _ref$i18n;
9233
- return React__default['default'].createElement("div", {
9297
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9234
9298
  className: "flex items-center justify-center bg-white p-2"
9235
- }, React__default['default'].createElement("button", {
9236
- "data-testid": 'customCloseModal',
9299
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
9300
+ "data-testid": "customCloseModal",
9237
9301
  className: "btn btn-outline-dark mx-2",
9238
9302
  onClick: onClose
9239
- }, i18n("Cancel")), React__default['default'].createElement("button", {
9303
+ }, i18n("Cancel")), /*#__PURE__*/React__default['default'].createElement("button", {
9240
9304
  disabled: valueToCompare !== value,
9241
- "data-testid": 'customSubmitModal',
9305
+ "data-testid": "customSubmitModal",
9242
9306
  className: "btn btn-danger mx-2",
9243
9307
  onClick: function onClick(e) {
9244
9308
  if (valueToCompare === value) {
9245
9309
  onSubmit(e);
9246
9310
  }
9247
9311
  }
9248
- }, React__default['default'].createElement("i", {
9312
+ }, /*#__PURE__*/React__default['default'].createElement("i", {
9249
9313
  className: classnames(iconClass(undefined, "trash"), "mr-2")
9250
9314
  }), i18n("Remove")));
9251
9315
  }
@@ -9265,7 +9329,7 @@ function RemoveModal(_ref2) {
9265
9329
  value = _useState[0],
9266
9330
  setValue = _useState[1];
9267
9331
 
9268
- return React__default['default'].createElement(Modal, Object.assign({}, props, {
9332
+ return /*#__PURE__*/React__default['default'].createElement(Modal, _extends({}, props, {
9269
9333
  className: classnames(props.className, "formio-dialog-theme-remove"),
9270
9334
  style: {
9271
9335
  maxWidth: maxWidth
@@ -9273,12 +9337,12 @@ function RemoveModal(_ref2) {
9273
9337
  title: "Drop " + ((_props$itemType = props.itemType) == null ? void 0 : _props$itemType.toLowerCase()),
9274
9338
  value: value,
9275
9339
  footer: RemoveModalFooter
9276
- }), React__default['default'].createElement("div", {
9340
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
9277
9341
  className: "px-4 pt-3 pb-5"
9278
- }, React__default['default'].createElement("div", {
9342
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
9279
9343
  className: "pb-1"
9280
- }, children, i18n("To drop"), " ", React__default['default'].createElement("strong", null, props.valueToCompare), ",\xA0", i18n("type the"), "\xA0", React__default['default'].createElement("strong", null, "\"", (_props$itemType2 = props.itemType) == null ? void 0 : _props$itemType2.toLowerCase(), "\""), "\xA0", i18n("name"), " ", React__default['default'].createElement("strong", null, "\"", props.valueToCompare, "\""), "."), React__default['default'].createElement(InputText, {
9281
- name: 'remove',
9344
+ }, children, i18n("To drop"), " ", /*#__PURE__*/React__default['default'].createElement("strong", null, props.valueToCompare), ",\xA0", i18n("type the"), "\xA0", /*#__PURE__*/React__default['default'].createElement("strong", null, "\"", (_props$itemType2 = props.itemType) == null ? void 0 : _props$itemType2.toLowerCase(), "\""), "\xA0", i18n("name"), " ", /*#__PURE__*/React__default['default'].createElement("strong", null, "\"", props.valueToCompare, "\""), "."), /*#__PURE__*/React__default['default'].createElement(InputText, {
9345
+ name: "remove",
9282
9346
  value: value,
9283
9347
  onChange: function onChange(name, value) {
9284
9348
  return setValue(value);
@@ -9301,12 +9365,9 @@ var ReactComponent = /*#__PURE__*/function (_Components$component) {
9301
9365
  var _this;
9302
9366
 
9303
9367
  _this = _Components$component.call(this, component, options, data) || this;
9304
- /**
9305
- * The user has changed the value in the component and the value needs to be updated on the main submission object and other components notified of a change event.
9306
- *
9307
- * @param value
9308
- * @param flags
9309
- */
9368
+ _this.reactInstance = void 0;
9369
+ _this.shouldSetValue = void 0;
9370
+ _this.dataForSetting = void 0;
9310
9371
 
9311
9372
  _this.updateValue = function (value, flags) {
9312
9373
  flags = flags || {};
@@ -9372,9 +9433,11 @@ var ReactComponent = /*#__PURE__*/function (_Components$component) {
9372
9433
  // It can load a single element or multiple elements with the same ref.
9373
9434
 
9374
9435
 
9375
- _this3.loadRefs(element, (_this3$loadRefs = {}, _this3$loadRefs["react-" + _this3.id] = "single", _this3$loadRefs));
9436
+ _this3.loadRefs(element, (_this3$loadRefs = {}, _this3$loadRefs["react-" + _this3.id] = "single", _this3$loadRefs)); // @ts-ignore
9437
+
9376
9438
 
9377
9439
  if (_this3.refs["react-" + _this3.id]) {
9440
+ // @ts-ignore
9378
9441
  _this3.reactInstance = _this3.attachReact(_this3.refs["react-" + _this3.id]);
9379
9442
 
9380
9443
  if (_this3.shouldSetValue) {
@@ -9396,7 +9459,9 @@ var ReactComponent = /*#__PURE__*/function (_Components$component) {
9396
9459
  ;
9397
9460
 
9398
9461
  _proto.detach = function detach() {
9462
+ // @ts-ignore
9399
9463
  if (this.refs["react-" + this.id]) {
9464
+ // @ts-ignore
9400
9465
  this.detachReact(this.refs["react-" + this.id]);
9401
9466
  }
9402
9467
 
@@ -9439,7 +9504,6 @@ var ReactComponent = /*#__PURE__*/function (_Components$component) {
9439
9504
  * @param value
9440
9505
  * @param flags
9441
9506
  */
9442
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
9443
9507
  ;
9444
9508
 
9445
9509
  _proto.setValue = function setValue(value, flags) {
@@ -9453,15 +9517,21 @@ var ReactComponent = /*#__PURE__*/function (_Components$component) {
9453
9517
  this.dataForSetting = value;
9454
9518
  }
9455
9519
 
9456
- return undefined;
9520
+ return false;
9457
9521
  }
9458
9522
  /**
9459
- * Get the current value of the component. Should return the value set in the react component.
9523
+ * The user has changed the value in the component and the value needs to be updated on the main submission object and other components notified of a change event.
9460
9524
  *
9461
- * @returns {*}
9525
+ * @param value
9526
+ * @param flags
9462
9527
  */
9463
9528
  ;
9464
9529
 
9530
+ /**
9531
+ * Get the current value of the component. Should return the value set in the react component.
9532
+ *
9533
+ * @returns {*}
9534
+ */
9465
9535
  _proto.getValue = function getValue() {
9466
9536
  if (this.reactInstance) {
9467
9537
  return this.reactInstance.state.value;
@@ -9512,32 +9582,32 @@ function DefaultCell(_ref) {
9512
9582
  } : _ref$render;
9513
9583
 
9514
9584
  if (value === undefined) {
9515
- return React__default['default'].createElement(React__default['default'].Fragment, null);
9585
+ return /*#__PURE__*/React__default['default'].createElement(Fragment, null);
9516
9586
  }
9517
9587
 
9518
9588
  var rendered = render(value);
9519
9589
 
9520
9590
  if (value !== rendered) {
9521
- return React__default['default'].createElement("div", {
9591
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9522
9592
  dangerouslySetInnerHTML: {
9523
9593
  __html: rendered
9524
9594
  }
9525
9595
  });
9526
9596
  }
9527
9597
 
9528
- return React__default['default'].createElement("span", null, String(value));
9598
+ return /*#__PURE__*/React__default['default'].createElement("span", null, String(value));
9529
9599
  }
9530
9600
 
9531
9601
  function mapFormToColumns(form) {
9532
9602
  var columns = [];
9533
9603
  FormioUtils__default['default'].eachComponent(form.components, function (component) {
9534
9604
  if (component.tableView && component.key) {
9535
- var cmp = formiojs.Components.create(component, null, null, true);
9605
+ var cmp = formiojs.Components.create(component, {}, null, true);
9536
9606
  var column = {
9537
9607
  Header: component.label || component.title || component.key,
9538
9608
  accessor: "data." + component.key,
9539
9609
  Cell: function Cell(props) {
9540
- return React__default['default'].createElement(DefaultCell, Object.assign({}, props, {
9610
+ return /*#__PURE__*/React__default['default'].createElement(DefaultCell, _extends({}, props, {
9541
9611
  render: function render(value) {
9542
9612
  return cmp.asString(value);
9543
9613
  }
@@ -9560,10 +9630,8 @@ function SubmissionsTable(_ref) {
9560
9630
  var form = _ref.form,
9561
9631
  props = _objectWithoutPropertiesLoose(_ref, ["form"]);
9562
9632
 
9563
- var columns = React__default['default'].useMemo(function () {
9564
- return form && mapFormToColumns(form);
9565
- }, [form]);
9566
- return React__default['default'].createElement(Table, Object.assign({}, props, {
9633
+ var columns = form && mapFormToColumns(form);
9634
+ return /*#__PURE__*/React__default['default'].createElement(Table, _extends({}, props, {
9567
9635
  columns: columns
9568
9636
  }));
9569
9637
  }
@@ -9587,15 +9655,15 @@ function SliderColumnFilter(_ref) {
9587
9655
  min = _React$useMemo[0],
9588
9656
  max = _React$useMemo[1];
9589
9657
 
9590
- return React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement("input", {
9591
- type: 'range',
9658
+ return /*#__PURE__*/React__default['default'].createElement(Fragment, null, /*#__PURE__*/React__default['default'].createElement("input", {
9659
+ type: "range",
9592
9660
  min: min,
9593
9661
  max: max,
9594
9662
  value: filterValue || min,
9595
9663
  onChange: function onChange(e) {
9596
9664
  setFilter(parseInt(e.target.value, 10));
9597
9665
  }
9598
- }), React__default['default'].createElement("button", {
9666
+ }), /*#__PURE__*/React__default['default'].createElement("button", {
9599
9667
  onClick: function onClick() {
9600
9668
  return setFilter(undefined);
9601
9669
  }
@@ -9611,18 +9679,18 @@ function ButtonTab(_ref) {
9611
9679
  children = _ref.children,
9612
9680
  className = _ref.className,
9613
9681
  after = _ref.after;
9614
- return React__default['default'].createElement("div", {
9682
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9615
9683
  title: 'button-wrapper',
9616
9684
  className: classnames("tw-tabs__button-wrapper", isActive ? "-active" : "", back ? "-back" : "", className)
9617
- }, React__default['default'].createElement("button", {
9685
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
9618
9686
  title: 'button-tab',
9619
9687
  className: classnames("tw-tabs__button", reverse ? "-reverse" : "", isActive ? "-active" : "", back ? "-back" : ""),
9620
9688
  onClick: onClick
9621
- }, icon && React__default['default'].createElement("i", {
9689
+ }, icon && /*#__PURE__*/React__default['default'].createElement("i", {
9622
9690
  className: classnames(iconClass(undefined, icon), "tw-tabs__button-icon")
9623
- }), React__default['default'].createElement("span", {
9691
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
9624
9692
  className: "tw-tabs__button-label"
9625
- }, children), after), React__default['default'].createElement("div", {
9693
+ }, children), after), /*#__PURE__*/React__default['default'].createElement("div", {
9626
9694
  className: classnames("tw-tabs__button-border", isActive ? "-active" : "")
9627
9695
  }));
9628
9696
  }
@@ -9644,20 +9712,20 @@ function Tabs(_ref2) {
9644
9712
  } : _ref2$i18n,
9645
9713
  additionalProps = _objectWithoutPropertiesLoose(_ref2, ["style", "current", "items", "children", "HeaderChildren", "AddButton", "Button", "className", "onClick", "i18n"]);
9646
9714
 
9647
- return React__default['default'].createElement("div", {
9715
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9648
9716
  "data-testid": 'tabs-comp',
9649
9717
  className: "tw-tabs " + className,
9650
9718
  style: style
9651
- }, React__default['default'].createElement("div", null, React__default['default'].createElement("nav", {
9652
- className: 'tw-tabs__header'
9653
- }, React__default['default'].createElement("div", {
9654
- className: 'tw-tabs__header-wrapper'
9655
- }, React__default['default'].createElement("div", {
9656
- className: 'tw-tabs__header-border'
9719
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("nav", {
9720
+ className: "tw-tabs__header"
9721
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
9722
+ className: "tw-tabs__header-wrapper"
9723
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
9724
+ className: "tw-tabs__header-border"
9657
9725
  }), items.filter(function (item) {
9658
9726
  return item.label || item.icon;
9659
9727
  }).map(function (item, index) {
9660
- return React__default['default'].createElement(Button, Object.assign({
9728
+ return /*#__PURE__*/React__default['default'].createElement(Button, _extends({
9661
9729
  key: index,
9662
9730
  back: item.back,
9663
9731
  isActive: (current == null ? void 0 : current.action) === item.action,
@@ -9665,12 +9733,12 @@ function Tabs(_ref2) {
9665
9733
  onClick: function onClick() {
9666
9734
  _onClick && _onClick(item);
9667
9735
  }
9668
- }, additionalProps, item), i18n(item.label));
9669
- }), AddButton && React__default['default'].createElement(AddButton, Object.assign({}, additionalProps, {
9736
+ }, additionalProps, item), i18n(item.label || ""));
9737
+ }), AddButton && /*#__PURE__*/React__default['default'].createElement(AddButton, _extends({}, additionalProps, {
9670
9738
  current: current
9671
- })))), HeaderChildren && React__default['default'].createElement(HeaderChildren, Object.assign({}, additionalProps, {
9739
+ })))), HeaderChildren && /*#__PURE__*/React__default['default'].createElement(HeaderChildren, _extends({}, additionalProps, {
9672
9740
  current: current
9673
- }))), React__default['default'].createElement("div", {
9741
+ }))), /*#__PURE__*/React__default['default'].createElement("div", {
9674
9742
  title: "tab-body",
9675
9743
  className: "tw-tabs__body"
9676
9744
  }, children));
@@ -9686,9 +9754,9 @@ function Loader(_ref) {
9686
9754
  className = _ref$className === void 0 ? "" : _ref$className;
9687
9755
 
9688
9756
  if (isActive) {
9689
- return React__default['default'].createElement("div", {
9757
+ return /*#__PURE__*/React__default['default'].createElement("div", {
9690
9758
  className: classnames("opacity-85 z-20 flex items-center justify-center p-5 absolute top-0 right-0 left-0 bottom-0 bg-white", className)
9691
- }, React__default['default'].createElement("span", {
9759
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
9692
9760
  "data-testid": "icon_" + icon,
9693
9761
  color: color,
9694
9762
  className: "text-11xl " + iconClass(undefined, icon, true)