@k-int/stripes-kint-components 5.25.1 → 5.25.3

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 (111) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/__mocks__/@folio/stripes/components.js +7 -3
  3. package/es/__mocks__/@folio/stripes/core.js +6 -4
  4. package/es/__mocks__/@folio/stripes/smart-components.js +6 -4
  5. package/es/__mocks__/react-query.js +6 -4
  6. package/es/__mocks__/react-router-dom.js +6 -6
  7. package/es/lib/ActionList/ActionList.js +33 -26
  8. package/es/lib/ActionList/ActionListFieldArray.js +119 -103
  9. package/es/lib/ComboButton/ComboButton.js +47 -42
  10. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +17 -11
  11. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +46 -42
  12. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +58 -58
  13. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +8 -4
  14. package/es/lib/CustomProperties/Config/CustomPropertyView.js +33 -32
  15. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +1 -1
  16. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +1 -1
  17. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +3 -3
  18. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +35 -29
  19. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +59 -61
  20. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +20 -20
  21. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +2 -2
  22. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +1 -1
  23. package/es/lib/CustomProperties/Edit/testResources.js +12 -11
  24. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +33 -22
  25. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +35 -23
  26. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +1 -1
  27. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +6 -6
  28. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +6 -3
  29. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +8 -4
  30. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +17 -14
  31. package/es/lib/CustomProperties/Filter/testResources.js +2 -1
  32. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +2 -1
  33. package/es/lib/CustomProperties/View/CustomPropertiesView.js +1 -1
  34. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +26 -18
  35. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +6 -3
  36. package/es/lib/CustomProperties/View/CustomPropertyCard.js +11 -7
  37. package/es/lib/CycleButton/CycleButton.js +17 -9
  38. package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +46 -30
  39. package/es/lib/EditableRefdataList/EditableRefdataList.js +43 -33
  40. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray/EditableSettingsListFieldArray.js +9 -5
  41. package/es/lib/EditableSettingsList/SettingField/EditSettingValue/EditSettingValue.js +6 -6
  42. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue/RenderSettingValue.js +12 -10
  43. package/es/lib/EditableSettingsList/SettingField/SettingField.js +12 -8
  44. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +3 -3
  45. package/es/lib/FormModal/FormModal.js +32 -24
  46. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +30 -23
  47. package/es/lib/IconSelect/IconSelect.js +32 -22
  48. package/es/lib/NoResultsMessage/NoResultsMessage.js +5 -4
  49. package/es/lib/NumberField/NumberField.js +25 -17
  50. package/es/lib/NumberField/NumberField.test.js +7 -6
  51. package/es/lib/QueryTypedown/QueryTypedown.js +15 -8
  52. package/es/lib/RefdataButtons/RefdataButtons.js +9 -6
  53. package/es/lib/RefdataCategoriesSettings/RefdataCategoriesSettings.js +26 -19
  54. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +60 -48
  55. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +6 -5
  56. package/es/lib/RichSelect/RichSelect.js +36 -31
  57. package/es/lib/RichSelect/useSelectedOption.js +2 -1
  58. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +94 -91
  59. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +51 -41
  60. package/es/lib/SASQRoute/SASQRoute.js +29 -25
  61. package/es/lib/SASQViewComponent/SASQViewComponent.js +76 -68
  62. package/es/lib/SearchField/SearchField.js +13 -7
  63. package/es/lib/SearchKeyControl/SearchKeyControl.js +13 -8
  64. package/es/lib/SearchKeyControl/SearchKeyControl.test.js +6 -2
  65. package/es/lib/SettingPage/SettingPagePane/SettingPagePane.js +2 -2
  66. package/es/lib/SettingsFormContainer/SettingsFormContainer.js +35 -30
  67. package/es/lib/Tags/Tags.js +8 -5
  68. package/es/lib/Tags/hooks/useTags.js +1 -1
  69. package/es/lib/Tags/hooks/useTagsEnabled.js +1 -1
  70. package/es/lib/Tags/tagsConfig.js +1 -1
  71. package/es/lib/Typedown/Typedown.js +28 -21
  72. package/es/lib/hooks/__mocks__/index.js +7 -3
  73. package/es/lib/hooks/intlHooks/useIntlKeyStore/useIntlKeyStore.js +26 -20
  74. package/es/lib/hooks/intlHooks/useKintIntl/useKintIntl.js +34 -24
  75. package/es/lib/hooks/typedownHooks/useTypedown.js +2 -2
  76. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +2 -2
  77. package/es/lib/hooks/useActionListRef.js +1 -1
  78. package/es/lib/hooks/useActiveElement.js +1 -1
  79. package/es/lib/hooks/useCustomProperties.js +10 -6
  80. package/es/lib/hooks/useHelperApp.js +16 -13
  81. package/es/lib/hooks/useKiwtFieldArray.js +8 -7
  82. package/es/lib/hooks/useKiwtSASQuery.js +19 -15
  83. package/es/lib/hooks/useLocalPageStore.js +10 -7
  84. package/es/lib/hooks/useModConfigEntries.js +2 -2
  85. package/es/lib/hooks/useMutateCustomProperties/useMutateCustomProperties.js +17 -10
  86. package/es/lib/hooks/useMutateGeneric/useMutateGeneric.js +2 -2
  87. package/es/lib/hooks/useMutateModConfigEntry.js +2 -2
  88. package/es/lib/hooks/useMutateRefdataCategory/useMutateRefdataCategory.js +21 -15
  89. package/es/lib/hooks/useMutateRefdataValue/useMutateRefdataValue.js +23 -16
  90. package/es/lib/hooks/usePrevNextPagination.js +19 -17
  91. package/es/lib/hooks/useQIndex.js +14 -11
  92. package/es/lib/hooks/useRefdata.js +3 -3
  93. package/es/lib/hooks/useTemplates.js +4 -4
  94. package/es/lib/settingsHooks/useAppSettings/useAppSettings.js +11 -7
  95. package/es/lib/settingsHooks/useSettingSection/useSettingSection.js +18 -12
  96. package/es/lib/settingsHooks/useSettings/useSettings.js +60 -60
  97. package/es/lib/utils/buildUrl.js +3 -2
  98. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +5 -5
  99. package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +2 -2
  100. package/es/lib/utils/filterParsers/parseKiwtQueryGroups.js +5 -4
  101. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +1 -1
  102. package/es/lib/utils/generateKiwtQueryParams/generateKiwtQueryParams.js +82 -70
  103. package/es/lib/utils/groupCustomPropertiesByCtx.js +9 -5
  104. package/es/lib/utils/matchString.js +7 -5
  105. package/es/lib/utils/parseErrorResponse.js +4 -3
  106. package/es/lib/utils/selectorSafe.js +3 -2
  107. package/es/lib/utils/sortByLabel.js +3 -2
  108. package/es/lib/validators/validators.js +9 -6
  109. package/package.json +1 -1
  110. package/src/lib/SASQViewComponent/SASQViewComponent.js +2 -3
  111. package/styles/TypeDown.css +3 -1
@@ -16,8 +16,19 @@ var _hooks = require("../hooks");
16
16
  var _TableBody = _interopRequireDefault(require("./TableBody"));
17
17
  var _SearchKeyControl = _interopRequireDefault(require("../SearchKeyControl"));
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
+ const _excluded = ["data"],
20
+ _excluded2 = ["filterPaneFirstMenu", "filterPaneLastMenu"],
21
+ _excluded3 = ["mainPaneFirstMenu", "mainPaneLastMenu"];
19
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
24
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
25
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
28
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
29
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
30
  const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
31
+ var _fetchParameters$SASQ, _fetchParameters$quer;
21
32
  const {
22
33
  children,
23
34
  fetchParameters = {},
@@ -50,7 +61,7 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
50
61
  ky,
51
62
  queryParams
52
63
  } = _ref2;
53
- return ky.get(`${endpoint}${queryParams}`).json();
64
+ return ky.get("".concat(endpoint).concat(queryParams)).json();
54
65
  },
55
66
  lookupResponseTransform = response => response,
56
67
  // Function to transform the response from the query
@@ -79,7 +90,7 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
79
90
  queryGetter: sasqPropsQueryGetter,
80
91
  querySetter: sasqPropsQuerySetter,
81
92
  syncToLocation = true
82
- } = sasqProps ?? {};
93
+ } = sasqProps !== null && sasqProps !== void 0 ? sasqProps : {};
83
94
 
84
95
  // We manage our internal state of pagination (URL vs MCL page state) using usePrevNextPagination.
85
96
  // Below the queryParameterGenerator can then choose to use the outputs (namely totalRecords and page) as it sees fit.
@@ -90,7 +101,7 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
90
101
  } = (0, _hooks.usePrevNextPagination)({
91
102
  count,
92
103
  // totalRecord
93
- pageSize: fetchParameters.SASQ_MAP?.perPage,
104
+ pageSize: (_fetchParameters$SASQ = fetchParameters.SASQ_MAP) === null || _fetchParameters$SASQ === void 0 ? void 0 : _fetchParameters$SASQ.perPage,
94
105
  syncToLocation
95
106
  });
96
107
  const {
@@ -98,72 +109,70 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
98
109
  queryGetter: kintSASQQueryGetter,
99
110
  querySetter: kintSASQQuerySetter
100
111
  } = (0, _hooks.useKiwtSASQuery)();
101
- const query = (0, _react.useMemo)(() => sasqPropsQuery ?? kintSASQQuery, [sasqPropsQuery, kintSASQQuery]);
102
- const queryGetter = (0, _react.useMemo)(() => sasqPropsQueryGetter ?? kintSASQQueryGetter, [sasqPropsQueryGetter, kintSASQQueryGetter]);
103
- const querySetter = (0, _react.useMemo)(() => sasqPropsQuerySetter ?? kintSASQQuerySetter, [sasqPropsQuerySetter, kintSASQQuerySetter]);
112
+ const query = (0, _react.useMemo)(() => sasqPropsQuery !== null && sasqPropsQuery !== void 0 ? sasqPropsQuery : kintSASQQuery, [sasqPropsQuery, kintSASQQuery]);
113
+ const queryGetter = (0, _react.useMemo)(() => sasqPropsQueryGetter !== null && sasqPropsQueryGetter !== void 0 ? sasqPropsQueryGetter : kintSASQQueryGetter, [sasqPropsQueryGetter, kintSASQQueryGetter]);
114
+ const querySetter = (0, _react.useMemo)(() => sasqPropsQuerySetter !== null && sasqPropsQuerySetter !== void 0 ? sasqPropsQuerySetter : kintSASQQuerySetter, [sasqPropsQuerySetter, kintSASQQuerySetter]);
104
115
  const {
105
116
  0: namespace
106
117
  } = (0, _core.useNamespace)();
107
118
  const ky = (0, _core.useOkapiKy)();
108
- const filterPaneVisibileKey = `${namespace}-${id}-filterPaneVisibility`;
109
- const queryParams = (0, _react.useMemo)(() => queryParameterGenerator(
110
- // With Typescript this would be a type of SASQ_MAP, and so totalRecords is a valid property in our new shape
119
+ const filterPaneVisibileKey = "".concat(namespace, "-").concat(id, "-filterPaneVisibility");
120
+ const queryParams = (0, _react.useMemo)(() => queryParameterGenerator(// With Typescript this would be a type of SASQ_MAP, and so totalRecords is a valid property in our new shape
111
121
  // In generateKiwtQueryParams we can choose to ignore totalRecords, which while being a valid property is not necessary for KIWT queries
112
- {
122
+ _objectSpread({
113
123
  page: currentPage,
114
- totalRecords: count,
115
- ...fetchParameters.SASQ_MAP
116
- }, query ?? {}), [count, currentPage, fetchParameters.SASQ_MAP, query, queryParameterGenerator]);
124
+ totalRecords: count
125
+ }, fetchParameters.SASQ_MAP), query !== null && query !== void 0 ? query : {}), [count, currentPage, fetchParameters.SASQ_MAP, query, queryParameterGenerator]);
117
126
  const [filterPaneVisible, setFilterPaneVisible] = (0, _hooks.useLocalStorageState)(filterPaneVisibileKey, true);
118
127
  const toggleFilterPane = () => setFilterPaneVisible(!filterPaneVisible);
119
- const {
120
- data = {},
121
- ...restOfQueryProps
122
- } = (0, _reactQuery.useQuery)(lookupQueryNamespaceGenerator({
123
- currentPage,
124
- endpoint: fetchParameters.endpoint,
125
- namespace,
126
- id,
127
- query,
128
- queryParams
129
- }), () => {
130
- return lookupQueryPromise({
131
- ky,
132
- queryParams,
133
- endpoint: fetchParameters.endpoint
134
- });
135
- }, {
136
- enabled: (!!query?.filters || !!query?.query) && !!currentPage,
137
- ...(fetchParameters.queryOptions ?? {}),
138
- // select is a parameter supported by useQuery to transform the response
139
- // Could be possible to instead pass this down along with the queryOptions
140
- // Additionally this is assuming the lookupResponseTransform is a func as opposed to an object
141
- select: selectData => {
142
- return lookupResponseTransform(selectData);
143
- }
144
- });
128
+ const _useQuery = (0, _reactQuery.useQuery)(lookupQueryNamespaceGenerator({
129
+ currentPage,
130
+ endpoint: fetchParameters.endpoint,
131
+ namespace,
132
+ id,
133
+ query,
134
+ queryParams
135
+ }), () => {
136
+ return lookupQueryPromise({
137
+ ky,
138
+ queryParams,
139
+ endpoint: fetchParameters.endpoint
140
+ });
141
+ }, _objectSpread(_objectSpread({
142
+ enabled: (!!(query !== null && query !== void 0 && query.filters) || !!(query !== null && query !== void 0 && query.query)) && !!currentPage
143
+ }, (_fetchParameters$quer = fetchParameters.queryOptions) !== null && _fetchParameters$quer !== void 0 ? _fetchParameters$quer : {}), {}, {
144
+ // select is a parameter supported by useQuery to transform the response
145
+ // Could be possible to instead pass this down along with the queryOptions
146
+ // Additionally this is assuming the lookupResponseTransform is a func as opposed to an object
147
+ select: selectData => {
148
+ return lookupResponseTransform(selectData);
149
+ }
150
+ })),
151
+ {
152
+ data = {}
153
+ } = _useQuery,
154
+ restOfQueryProps = _objectWithoutProperties(_useQuery, _excluded);
145
155
  (0, _react.useEffect)(() => {
146
- if (count !== data?.totalRecords) {
147
- setCount(data?.totalRecords);
156
+ if (count !== (data === null || data === void 0 ? void 0 : data.totalRecords)) {
157
+ setCount(data === null || data === void 0 ? void 0 : data.totalRecords);
148
158
  }
149
159
  }, [count, data.totalRecords]);
150
160
  (0, _react.useImperativeHandle)(ref, () => ({
151
- lookupQueryProps: {
152
- data,
153
- ...restOfQueryProps
154
- },
161
+ lookupQueryProps: _objectSpread({
162
+ data
163
+ }, restOfQueryProps),
155
164
  queryParams
156
165
  }));
157
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.SearchAndSortQuery, {
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.SearchAndSortQuery, _objectSpread(_objectSpread(_objectSpread({
158
167
  initialSearchState: {
159
168
  query: ''
160
169
  },
161
170
  queryGetter: queryGetter,
162
171
  querySetter: querySetter,
163
- syncToLocation: syncToLocation,
164
- ...sasqProps,
165
- ...paginationSASQProps,
172
+ syncToLocation: syncToLocation
173
+ }, sasqProps), paginationSASQProps), {}, {
166
174
  children: sasqRenderProps => {
175
+ var _ref3, _data$total;
167
176
  const {
168
177
  activeFilters,
169
178
  filterChanged,
@@ -177,17 +186,17 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
177
186
  const searchHandlers = getSearchHandlers();
178
187
  const disableReset = !filterChanged && !searchChanged;
179
188
  const filterCount = activeFilters.string ? activeFilters.string.split(',').length : 0;
180
- const Body = RenderBody ?? _TableBody.default;
189
+ const Body = RenderBody !== null && RenderBody !== void 0 ? RenderBody : _TableBody.default;
181
190
  const {
182
- filterPaneFirstMenu,
183
- filterPaneLastMenu,
184
- ...restOfFilterPaneProps
185
- } = filterPaneProps;
191
+ filterPaneFirstMenu,
192
+ filterPaneLastMenu
193
+ } = filterPaneProps,
194
+ restOfFilterPaneProps = _objectWithoutProperties(filterPaneProps, _excluded2);
186
195
  const {
187
- mainPaneFirstMenu,
188
- mainPaneLastMenu,
189
- ...restOfMainPaneProps
190
- } = mainPaneProps;
196
+ mainPaneFirstMenu,
197
+ mainPaneLastMenu
198
+ } = mainPaneProps,
199
+ restOfMainPaneProps = _objectWithoutProperties(mainPaneProps, _excluded3);
191
200
  const internalStateProps = {
192
201
  activeFilters,
193
202
  filterCount,
@@ -211,14 +220,14 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
211
220
  }
212
221
  return null;
213
222
  };
214
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_smartComponents.PersistedPaneset, {
223
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_smartComponents.PersistedPaneset, _objectSpread(_objectSpread({
215
224
  appId: namespace,
216
- id: `${id}-paneset`,
217
- ...persistedPanesetProps,
218
- children: [filterPaneVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, {
225
+ id: "".concat(id, "-paneset")
226
+ }, persistedPanesetProps), {}, {
227
+ children: [filterPaneVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, _objectSpread(_objectSpread({
219
228
  defaultWidth: "20%",
220
229
  firstMenu: filterPaneFirstMenu ? filterPaneFirstMenu(internalStateProps) : null,
221
- id: `${id}-filter-pane`,
230
+ id: "".concat(id, "-filter-pane"),
222
231
  lastMenu: filterPaneLastMenu ? filterPaneLastMenu(internalStateProps) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PaneMenu, {
223
232
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_smartComponents.CollapseFilterPaneButton, {
224
233
  onClick: toggleFilterPane
@@ -226,27 +235,27 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
226
235
  }),
227
236
  paneTitle: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
228
237
  id: "stripes-smart-components.searchAndFilter"
229
- }),
230
- ...restOfFilterPaneProps,
238
+ })
239
+ }, restOfFilterPaneProps), {}, {
231
240
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("form", {
232
241
  onSubmit: onSubmitSearch,
233
242
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FilterPaneHeaderComponent, {}), !noSearchField && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
234
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SearchField, {
243
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SearchField, _objectSpread({
235
244
  ariaLabel: searchFieldAriaLabel,
236
245
  autoFocus: true,
237
- id: `sasq-search-field-${id}`,
246
+ id: "sasq-search-field-".concat(id),
238
247
  name: "query",
239
248
  onChange: e => {
240
- if (e.target?.value) {
249
+ var _e$target;
250
+ if ((_e$target = e.target) !== null && _e$target !== void 0 && _e$target.value) {
241
251
  searchHandlers.query(e); // SASQ needs the whole event here
242
252
  } else {
243
253
  searchHandlers.reset();
244
254
  }
245
255
  },
246
256
  onClear: searchHandlers.reset,
247
- value: searchValue.query,
248
- ...searchFieldProps
249
- }), searchableIndexes?.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchKeyControl.default, {
257
+ value: searchValue.query
258
+ }, searchFieldProps)), (searchableIndexes === null || searchableIndexes === void 0 ? void 0 : searchableIndexes.length) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchKeyControl.default, {
250
259
  options: searchableIndexes
251
260
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
252
261
  buttonStyle: "primary",
@@ -278,23 +287,23 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
278
287
  searchValue: searchValue
279
288
  })]
280
289
  })
281
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, {
290
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Pane, _objectSpread(_objectSpread({
282
291
  defaultWidth: "fill",
283
292
  firstMenu: renderFirstMenu(),
284
- id: `${id}-main-pane`,
293
+ id: "".concat(id, "-main-pane"),
285
294
  lastMenu: mainPaneLastMenu ? mainPaneLastMenu(internalStateProps) : null,
286
295
  noOverflow: true,
287
296
  padContent: false,
288
297
  paneSub: kintIntl.formatKintMessage({
289
298
  id: 'found#Values',
290
- overrideValue: labelOverrides?.foundValues
299
+ overrideValue: labelOverrides === null || labelOverrides === void 0 ? void 0 : labelOverrides.foundValues
291
300
  },
292
301
  // DEPRECATED data.total should NOT be the first call here, but staying for backwards compatibility. Elsewhere we use data.totalRecords
293
302
  {
294
- total: data?.total ?? data?.totalRecords ?? 0
295
- }),
296
- ...restOfMainPaneProps,
297
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Body, {
303
+ total: (_ref3 = (_data$total = data === null || data === void 0 ? void 0 : data.total) !== null && _data$total !== void 0 ? _data$total : data === null || data === void 0 ? void 0 : data.totalRecords) !== null && _ref3 !== void 0 ? _ref3 : 0
304
+ })
305
+ }, restOfMainPaneProps), {}, {
306
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Body, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
298
307
  data: data,
299
308
  filterPaneVisible: filterPaneVisible,
300
309
  intlKey: passedIntlKey,
@@ -303,20 +312,14 @@ const SASQLookupComponent = /*#__PURE__*/(0, _react.forwardRef)((props, ref) =>
303
312
  noResultsProps: noResultsProps,
304
313
  query: query,
305
314
  rowNavigation: rowNavigation,
306
- toggleFilterPane: toggleFilterPane,
307
- ...restOfQueryProps,
308
- ...sasqRenderProps,
309
- ...sasqProps,
310
- ...props,
311
- mclProps: {
312
- ...paginationMCLProps,
313
- ...mclProps
314
- }
315
- })
316
- }), children]
317
- });
315
+ toggleFilterPane: toggleFilterPane
316
+ }, restOfQueryProps), sasqRenderProps), sasqProps), _objectSpread(_objectSpread({}, props), {}, {
317
+ mclProps: _objectSpread(_objectSpread({}, paginationMCLProps), mclProps)
318
+ })))
319
+ })), children]
320
+ }));
318
321
  }
319
- });
322
+ }));
320
323
  });
321
324
  SASQLookupComponent.propTypes = {
322
325
  children: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node]),
@@ -10,33 +10,42 @@ var _reactRouterDom = require("react-router-dom");
10
10
  var _components = require("@folio/stripes/components");
11
11
  var _NoResultsMessage = _interopRequireDefault(require("../../NoResultsMessage"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ const _excluded = ["formatter"];
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
14
22
  const TableBody = _ref => {
23
+ var _query$sort, _match$params2;
15
24
  let {
16
- data,
17
- error,
18
- fetchNextPage,
19
- filterPaneVisible,
20
- intlKey: passedIntlKey,
21
- intlNS: passedIntlNS,
22
- isError,
23
- isLoading,
24
- labelOverrides = {},
25
- match,
26
- mclProps: {
27
- formatter = {},
28
- ...mclProps
29
- } = {},
30
- noResultsProps = {},
31
- onSort,
32
- path,
33
- resultColumns,
34
- rowNavigation = true,
35
- // Default navigation onRowClick
36
- toggleFilterPane,
37
- query
38
- } = _ref;
39
- const sortOrder = query.sort ?? '';
25
+ data,
26
+ error,
27
+ fetchNextPage,
28
+ filterPaneVisible,
29
+ intlKey: passedIntlKey,
30
+ intlNS: passedIntlNS,
31
+ isError,
32
+ isLoading,
33
+ labelOverrides = {},
34
+ match,
35
+ mclProps: {
36
+ formatter = {}
37
+ } = {},
38
+ noResultsProps = {},
39
+ onSort,
40
+ path,
41
+ resultColumns,
42
+ rowNavigation = true,
43
+ // Default navigation onRowClick
44
+ toggleFilterPane,
45
+ query
46
+ } = _ref,
47
+ mclProps = _objectWithoutProperties(_ref.mclProps, _excluded);
48
+ const sortOrder = (_query$sort = query.sort) !== null && _query$sort !== void 0 ? _query$sort : '';
40
49
  const history = (0, _reactRouterDom.useHistory)();
41
50
  const location = (0, _reactRouterDom.useLocation)();
42
51
  const onNeedMoreData = (_askAmount, index) => {
@@ -51,9 +60,9 @@ const TableBody = _ref => {
51
60
  // Build the list of visible columns
52
61
  const visibleColumns = resultColumns.map(e => e.propertyPath);
53
62
  const getRowUrl = (0, _react.useCallback)(rowData => {
54
- const baseUrl = `${path}/${rowData?.id}`;
63
+ const baseUrl = "".concat(path, "/").concat(rowData === null || rowData === void 0 ? void 0 : rowData.id);
55
64
  return {
56
- url: `${baseUrl}${location?.search}`,
65
+ url: "".concat(baseUrl).concat(location === null || location === void 0 ? void 0 : location.search),
57
66
  path,
58
67
  baseUrl,
59
68
  location
@@ -62,10 +71,9 @@ const TableBody = _ref => {
62
71
  const getEnhancedFormatter = (0, _react.useCallback)(() => {
63
72
  const enhancedFormatter = {};
64
73
  for (const [key, value] of Object.entries(formatter)) {
65
- enhancedFormatter[key] = item => value({
66
- ...item,
74
+ enhancedFormatter[key] = item => value(_objectSpread(_objectSpread({}, item), {}, {
67
75
  defaultRowUrl: getRowUrl(item)
68
- });
76
+ }));
69
77
  }
70
78
  return enhancedFormatter;
71
79
  }, [formatter, getRowUrl]);
@@ -78,21 +86,25 @@ const TableBody = _ref => {
78
86
  return null;
79
87
  }, [getRowUrl, history, rowNavigation]);
80
88
  const isSelected = (0, _react.useCallback)(_ref2 => {
89
+ var _match$params;
81
90
  let {
82
91
  item
83
92
  } = _ref2;
84
- return item.id === match?.params?.id;
85
- }, [match?.params?.id]);
86
- const NoResultsComponent = (0, _react.useMemo)(() => noResultsProps?.component ?? _NoResultsMessage.default, [noResultsProps?.component]);
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MultiColumnList, {
93
+ return item.id === (match === null || match === void 0 || (_match$params = match.params) === null || _match$params === void 0 ? void 0 : _match$params.id);
94
+ }, [match === null || match === void 0 || (_match$params2 = match.params) === null || _match$params2 === void 0 ? void 0 : _match$params2.id]);
95
+ const NoResultsComponent = (0, _react.useMemo)(() => {
96
+ var _noResultsProps$compo;
97
+ return (_noResultsProps$compo = noResultsProps === null || noResultsProps === void 0 ? void 0 : noResultsProps.component) !== null && _noResultsProps$compo !== void 0 ? _noResultsProps$compo : _NoResultsMessage.default;
98
+ }, [noResultsProps === null || noResultsProps === void 0 ? void 0 : noResultsProps.component]);
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MultiColumnList, _objectSpread({
88
100
  autosize: true,
89
101
  columnMapping: columnMapping,
90
- contentData: data?.results,
102
+ contentData: data === null || data === void 0 ? void 0 : data.results,
91
103
  formatter: getEnhancedFormatter() // Pass enhanced formatter
92
104
  ,
93
105
  hasMargin: true,
94
106
  interactive: rowNavigation,
95
- isEmptyMessage: /*#__PURE__*/(0, _jsxRuntime.jsx)(NoResultsComponent, {
107
+ isEmptyMessage: /*#__PURE__*/(0, _jsxRuntime.jsx)(NoResultsComponent, _objectSpread({}, _objectSpread({
96
108
  error,
97
109
  filterPaneIsVisible: filterPaneVisible,
98
110
  intlKey: passedIntlKey,
@@ -101,9 +113,8 @@ const TableBody = _ref => {
101
113
  isLoading,
102
114
  labelOverrides,
103
115
  searchTerm: query.query,
104
- toggleFilterPane,
105
- ...noResultsProps // Anything passed in directly takes precedence
106
- }),
116
+ toggleFilterPane
117
+ }, noResultsProps))),
107
118
  isSelected: isSelected,
108
119
  onHeaderClick: onSort,
109
120
  onNeedMoreData: onNeedMoreData,
@@ -112,9 +123,8 @@ const TableBody = _ref => {
112
123
  sortDirection: sortOrder.startsWith('-') ? 'descending' : 'ascending',
113
124
  sortOrder: sortOrder.replace(/^-/, '').replace(/,.*/, ''),
114
125
  totalCount: data.totalRecords,
115
- visibleColumns: visibleColumns,
116
- ...mclProps
117
- });
126
+ visibleColumns: visibleColumns
127
+ }, mclProps));
118
128
  };
119
129
  TableBody.propTypes = {
120
130
  data: _propTypes.default.shape({
@@ -10,28 +10,33 @@ var _reactRouterDom = require("react-router-dom");
10
10
  var _SASQLookupComponent = require("../SASQLookupComponent");
11
11
  var _SASQViewComponent = _interopRequireDefault(require("../SASQViewComponent"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ const _excluded = ["children", "fetchParameters", "getPathLookup", "getPathView", "SASQLookupComponent", "path", "SASQViewComponent"];
13
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
14
22
  const SASQRoute = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
15
23
  let {
16
- children,
17
- fetchParameters,
18
- getPathLookup = path => `${path}/:id?`,
19
- getPathView = path => `${path}/:id`,
20
- SASQLookupComponent: RouteLookupComponent = _SASQLookupComponent.SASQLookupComponent,
21
- path,
22
- SASQViewComponent: RouteViewComponent = _SASQViewComponent.default,
23
- ...props
24
- } = _ref;
24
+ children,
25
+ fetchParameters,
26
+ getPathLookup = path => "".concat(path, "/:id?"),
27
+ getPathView = path => "".concat(path, "/:id"),
28
+ SASQLookupComponent: RouteLookupComponent = _SASQLookupComponent.SASQLookupComponent,
29
+ path,
30
+ SASQViewComponent: RouteViewComponent = _SASQViewComponent.default
31
+ } = _ref,
32
+ props = _objectWithoutProperties(_ref, _excluded);
25
33
  // Grab the SASQ_MAP and tweak it
26
34
  const {
27
35
  SASQ_MAP = {}
28
36
  } = fetchParameters;
29
37
  const lookupRef = (0, _react.useRef)();
30
38
  const viewRef = (0, _react.useRef)();
31
- (0, _react.useImperativeHandle)(ref, () => ({
32
- ...lookupRef.current,
33
- ...viewRef.current
34
- }));
39
+ (0, _react.useImperativeHandle)(ref, () => _objectSpread(_objectSpread({}, lookupRef.current), viewRef.current));
35
40
  if (!SASQ_MAP.perPage) {
36
41
  SASQ_MAP.perPage = 25;
37
42
  }
@@ -42,26 +47,25 @@ const SASQRoute = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
42
47
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
43
48
  path: getPathLookup(path),
44
49
  render: routeProps => {
45
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteLookupComponent, {
46
- ref: lookupRef,
47
- ...routeProps,
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteLookupComponent, _objectSpread(_objectSpread(_objectSpread({
51
+ ref: lookupRef
52
+ }, routeProps), {}, {
48
53
  fetchParameters: fetchParameters,
49
- path: path,
50
- ...props,
54
+ path: path
55
+ }, props), {}, {
51
56
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouterDom.Switch, {
52
57
  children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Route, {
53
58
  path: getPathView(path),
54
- render: innerProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteViewComponent, {
55
- ref: viewRef,
56
- ...innerProps,
59
+ render: innerProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteViewComponent, _objectSpread(_objectSpread({
60
+ ref: viewRef
61
+ }, innerProps), {}, {
57
62
  fetchParameters: fetchParameters,
58
63
  path: path,
59
- ViewComponent: props.ViewComponent,
60
- ...props
61
- })
64
+ ViewComponent: props.ViewComponent
65
+ }, props))
62
66
  })]
63
67
  })
64
- });
68
+ }));
65
69
  }
66
70
  });
67
71
  });