@k-int/stripes-kint-components 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/es/__mocks__/@folio/stripes/components.js +10 -21
  3. package/es/__mocks__/@folio/stripes/core.js +4 -7
  4. package/es/__mocks__/@folio/stripes/smart-components.js +4 -7
  5. package/es/__mocks__/react-query.js +4 -7
  6. package/es/__mocks__/react-router-dom.js +6 -7
  7. package/es/artifacts/coverage-jest/lcov-report/prettify.js +2 -2
  8. package/es/artifacts/coverage-jest/lcov-report/sorter.js +6 -6
  9. package/es/index.js +56 -49
  10. package/es/lib/ActionList/ActionList.js +39 -53
  11. package/es/lib/ActionList/ActionListFieldArray.js +144 -169
  12. package/es/lib/ActionList/index.js +1 -1
  13. package/es/lib/ComboButton/ComboButton.js +73 -91
  14. package/es/lib/ComboButton/index.js +1 -1
  15. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +58 -79
  16. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.test.js +15 -19
  17. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +112 -162
  18. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.test.js +30 -67
  19. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +37 -50
  20. package/es/lib/CustomProperties/Config/CustomPropertyForm.test.js +83 -121
  21. package/es/lib/CustomProperties/Config/CustomPropertyView.js +10 -10
  22. package/es/lib/CustomProperties/Config/CustomPropertyView.test.js +48 -135
  23. package/es/lib/CustomProperties/Config/index.js +4 -4
  24. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +20 -23
  25. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.test.js +11 -16
  26. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +30 -29
  27. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.test.js +11 -16
  28. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +87 -105
  29. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.test.js +26 -63
  30. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +124 -117
  31. package/es/lib/CustomProperties/Edit/CustomPropertyField.test.js +101 -179
  32. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +44 -46
  33. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.test.js +23 -27
  34. package/es/lib/CustomProperties/Edit/index.js +5 -5
  35. package/es/lib/CustomProperties/Edit/testResources.js +14 -38
  36. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +61 -83
  37. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.test.js +23 -57
  38. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +40 -56
  39. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.test.js +17 -16
  40. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +28 -25
  41. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +19 -47
  42. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +19 -22
  43. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.test.js +23 -52
  44. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +38 -43
  45. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +94 -226
  46. package/es/lib/CustomProperties/Filter/index.js +6 -6
  47. package/es/lib/CustomProperties/Filter/testResources.js +13 -36
  48. package/es/lib/CustomProperties/Filter/useOperators.js +18 -18
  49. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +18 -32
  50. package/es/lib/CustomProperties/Filter/useValueProps.js +23 -29
  51. package/es/lib/CustomProperties/View/CustomPropertiesView.js +20 -23
  52. package/es/lib/CustomProperties/View/CustomPropertiesView.test.js +11 -16
  53. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +50 -59
  54. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.test.js +14 -23
  55. package/es/lib/CustomProperties/View/CustomPropertyCard.js +18 -20
  56. package/es/lib/CustomProperties/View/index.js +3 -3
  57. package/es/lib/CustomProperties/View/testResources.js +5 -9
  58. package/es/lib/CustomProperties/index.js +18 -18
  59. package/es/lib/CycleButton/CycleButton.js +18 -34
  60. package/es/lib/CycleButton/index.js +1 -1
  61. package/es/lib/EditableRefdataCategoryList/EditableRefdataCategoryList.js +109 -152
  62. package/es/lib/EditableRefdataCategoryList/index.js +1 -1
  63. package/es/lib/EditableRefdataList/EditableRefdataList.js +128 -172
  64. package/es/lib/EditableRefdataList/index.js +1 -1
  65. package/es/lib/EditableSettingsList/EditableSettingsList.js +17 -15
  66. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +19 -27
  67. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +61 -90
  68. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +22 -36
  69. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +99 -83
  70. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +18 -21
  71. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +187 -275
  72. package/es/lib/EditableSettingsList/SettingField/SettingField.js +75 -111
  73. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +55 -168
  74. package/es/lib/EditableSettingsList/SettingField/index.js +3 -3
  75. package/es/lib/EditableSettingsList/index.js +3 -3
  76. package/es/lib/FormModal/FormModal.js +44 -48
  77. package/es/lib/FormModal/index.js +1 -1
  78. package/es/lib/FormattedKintMessage/FormattedKintMessage.js +25 -29
  79. package/es/lib/FormattedKintMessage/index.js +1 -1
  80. package/es/lib/IconSelect/IconSelect.js +50 -70
  81. package/es/lib/IconSelect/index.js +1 -1
  82. package/es/lib/NoResultsMessage/NoResultsMessage.js +19 -19
  83. package/es/lib/NoResultsMessage/index.js +1 -1
  84. package/es/lib/QueryTypedown/QueryTypedown.js +18 -40
  85. package/es/lib/QueryTypedown/index.js +1 -1
  86. package/es/lib/RefdataButtons/RefdataButtons.js +27 -31
  87. package/es/lib/RefdataButtons/index.js +1 -1
  88. package/es/lib/ResponsiveButtonGroup/ResponsiveButtonGroup.js +84 -90
  89. package/es/lib/ResponsiveButtonGroup/index.js +1 -1
  90. package/es/lib/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js +28 -42
  91. package/es/lib/RichSelect/RichSelect.js +71 -88
  92. package/es/lib/RichSelect/index.js +2 -2
  93. package/es/lib/RichSelect/useSelectedOption.js +4 -14
  94. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +116 -139
  95. package/es/lib/SASQLookupComponent/TableBody/TableBody.js +40 -47
  96. package/es/lib/SASQLookupComponent/TableBody/index.js +1 -1
  97. package/es/lib/SASQLookupComponent/index.js +2 -2
  98. package/es/lib/SASQRoute/SASQRoute.js +32 -39
  99. package/es/lib/SASQRoute/index.js +1 -1
  100. package/es/lib/SASQViewComponent/SASQViewComponent.js +39 -47
  101. package/es/lib/SASQViewComponent/index.js +1 -1
  102. package/es/lib/SearchField/SearchField.js +12 -18
  103. package/es/lib/SearchField/index.js +1 -1
  104. package/es/lib/SettingPage/SettingPage.js +22 -22
  105. package/es/lib/SettingPage/SettingPagePane.js +9 -8
  106. package/es/lib/SettingPage/index.js +2 -2
  107. package/es/lib/SettingsFormContainer/SettingsFormContainer.js +51 -55
  108. package/es/lib/SettingsFormContainer/index.js +1 -1
  109. package/es/lib/Typedown/Typedown.js +62 -81
  110. package/es/lib/Typedown/index.js +1 -1
  111. package/es/lib/constants/comparators.js +7 -0
  112. package/es/lib/constants/customProperties.js +11 -22
  113. package/es/lib/constants/endpoints.js +1 -2
  114. package/es/lib/constants/eventCodes.js +3 -6
  115. package/es/lib/contexts/SettingsContext.js +2 -3
  116. package/es/lib/contexts/index.js +1 -1
  117. package/es/lib/hooks/__mocks__/index.js +9 -29
  118. package/es/lib/hooks/index.js +19 -19
  119. package/es/lib/hooks/typedownHooks/index.js +3 -3
  120. package/es/lib/hooks/typedownHooks/useTypedown.js +49 -50
  121. package/es/lib/hooks/typedownHooks/useTypedownData.js +12 -23
  122. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +13 -22
  123. package/es/lib/hooks/useActiveElement.js +9 -19
  124. package/es/lib/hooks/useCustomProperties.js +23 -32
  125. package/es/lib/hooks/useHelperApp.js +31 -51
  126. package/es/lib/hooks/useIntlKey.js +4 -7
  127. package/es/lib/hooks/useIntlKeyStore.js +44 -51
  128. package/es/lib/hooks/useInvalidateRefdata.js +4 -7
  129. package/es/lib/hooks/useKintIntl.js +29 -33
  130. package/es/lib/hooks/useKiwtFieldArray.js +35 -47
  131. package/es/lib/hooks/useKiwtSASQuery.js +38 -51
  132. package/es/lib/hooks/useLocalStorageState.js +7 -20
  133. package/es/lib/hooks/useModConfigEntries.js +27 -27
  134. package/es/lib/hooks/useMutateCustomProperties.js +20 -64
  135. package/es/lib/hooks/useMutateModConfigEntry.js +22 -61
  136. package/es/lib/hooks/useMutateRefdataCategory.js +20 -62
  137. package/es/lib/hooks/useMutateRefdataValue.js +29 -67
  138. package/es/lib/hooks/useQIndex.js +13 -28
  139. package/es/lib/hooks/useRefdata.js +18 -21
  140. package/es/lib/hooks/useSASQQueryMeta.js +14 -22
  141. package/es/lib/hooks/useTemplates.js +14 -14
  142. package/es/lib/settingsHooks/index.js +3 -3
  143. package/es/lib/settingsHooks/useAppSettings.js +19 -27
  144. package/es/lib/settingsHooks/useSettingSection.js +17 -19
  145. package/es/lib/settingsHooks/useSettings.js +59 -74
  146. package/es/lib/utils/buildUrl.js +6 -8
  147. package/es/lib/utils/filterParsers/deparseKiwtQueryFilters.js +36 -0
  148. package/es/lib/utils/filterParsers/index.js +48 -0
  149. package/es/lib/utils/filterParsers/parseKiwtQueryFilters.js +47 -0
  150. package/es/lib/utils/{parseKiwtQueryGroups.js → filterParsers/parseKiwtQueryGroups.js} +12 -13
  151. package/es/lib/utils/{parseKiwtQueryGroups.test.js → filterParsers/parseKiwtQueryGroups.test.js} +15 -15
  152. package/es/lib/utils/filterParsers/parseKiwtQueryString.js +34 -0
  153. package/es/lib/utils/generateKiwtQuery.js +4 -5
  154. package/es/lib/utils/generateKiwtQueryParams.js +93 -99
  155. package/es/lib/utils/groupCustomPropertiesByCtx.js +9 -20
  156. package/es/lib/utils/highlightString.js +17 -37
  157. package/es/lib/utils/index.js +49 -19
  158. package/es/lib/utils/matchString.js +5 -10
  159. package/es/lib/utils/modConfigEntriesQueryKey.js +9 -9
  160. package/es/lib/utils/parseErrorResponse.js +23 -65
  161. package/es/lib/utils/parseModConfigEntry.js +3 -4
  162. package/es/lib/utils/refdataOptions.js +2 -3
  163. package/es/lib/utils/refdataQueryKey.js +3 -4
  164. package/es/lib/utils/selectorSafe.js +5 -6
  165. package/es/lib/utils/sortByLabel.js +4 -5
  166. package/es/lib/utils/toCamelCase.js +8 -14
  167. package/es/lib/utils/typedownQueryKey.js +3 -4
  168. package/es/lib/validators/index.js +1 -1
  169. package/es/lib/validators/validators.js +22 -29
  170. package/junit.xml +161 -161
  171. package/package.json +5 -5
  172. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +1 -1
  173. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +1 -1
  174. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionTrigger.js.html +418 -0
  175. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +1 -1
  176. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
  177. package/src/artifacts/coverage-jest/lcov-report/ComboButton/ComboButton.js.html +1 -1
  178. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.html +1 -1
  179. package/src/artifacts/coverage-jest/lcov-report/ComboButton/index.js.html +1 -1
  180. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +1 -1
  181. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +1 -1
  182. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1 -1
  183. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +1 -1
  184. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +1 -1
  185. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
  186. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +1 -1
  187. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +1 -1
  188. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +1 -1
  189. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +10 -10
  190. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +1 -1
  191. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +15 -15
  192. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +1 -1
  193. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +1 -1
  194. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +1 -1
  195. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +1 -1
  196. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +1 -1
  197. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +1 -1
  198. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +1 -1
  199. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +1 -1
  200. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +1 -1
  201. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +1 -1
  202. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +1 -1
  203. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +1 -1
  204. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +1 -1
  205. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +1 -1
  206. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +1 -1
  207. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +1 -1
  208. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +1 -1
  209. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +1 -1
  210. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +1 -1
  211. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +1 -1
  212. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +1 -1
  213. package/src/artifacts/coverage-jest/lcov-report/CycleButton/CycleButton.js.html +1 -1
  214. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +1 -1
  215. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +1 -1
  216. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +1 -1
  217. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +1 -1
  218. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +1 -1
  219. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +1 -1
  220. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +1 -1
  221. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
  222. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +1 -1
  223. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +1 -1
  224. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +1 -1
  225. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +1 -1
  226. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +1 -1
  227. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +1 -1
  228. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
  229. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +1 -1
  230. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
  231. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +1 -1
  232. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +1 -1
  233. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
  234. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +1 -1
  235. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +1 -1
  236. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +1 -1
  237. package/src/artifacts/coverage-jest/lcov-report/IconSelect/IconSelect.js.html +1 -1
  238. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +1 -1
  239. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +1 -1
  240. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +1 -1
  241. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +1 -1
  242. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
  243. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +1 -1
  244. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +1 -1
  245. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
  246. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +1 -1
  247. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
  248. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
  249. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/ResponsiveButtonGroup.js.html +1 -1
  250. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.html +1 -1
  251. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/index.js.html +1 -1
  252. package/src/artifacts/coverage-jest/lcov-report/ResponsiveButtonGroup/useResponsiveButtonGroupSizing.js.html +1 -1
  253. package/src/artifacts/coverage-jest/lcov-report/RichSelect/RichSelect.js.html +1 -1
  254. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +1 -1
  255. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +1 -1
  256. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +1 -1
  257. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +1 -1
  258. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +1 -1
  259. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +1 -1
  260. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +1 -1
  261. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +1 -1
  262. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +1 -1
  263. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +1 -1
  264. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
  265. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
  266. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
  267. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
  268. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
  269. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
  270. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
  271. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
  272. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +1 -1
  273. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +1 -1
  274. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +1 -1
  275. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
  276. package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/EditSettingValue.js.html +514 -0
  277. package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/RenderSettingValue.js.html +358 -0
  278. package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/SettingsActionList.js.html +736 -0
  279. package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/index.html +161 -0
  280. package/src/artifacts/coverage-jest/lcov-report/SettingsActionList/index.js.html +88 -0
  281. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/SettingsFormContainer.js.html +1 -1
  282. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.html +1 -1
  283. package/src/artifacts/coverage-jest/lcov-report/SettingsFormContainer/index.js.html +1 -1
  284. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +1 -1
  285. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +1 -1
  286. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
  287. package/src/artifacts/coverage-jest/lcov-report/constants/comparators.js.html +121 -0
  288. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +1 -1
  289. package/src/artifacts/coverage-jest/lcov-report/constants/endpoints.js.html +1 -1
  290. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
  291. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +16 -1
  292. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +1 -1
  293. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
  294. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
  295. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +1 -1
  296. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +1 -1
  297. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +161 -0
  298. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +94 -0
  299. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +292 -0
  300. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +214 -0
  301. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +463 -0
  302. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +1 -1
  303. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
  304. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
  305. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +1 -1
  306. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  307. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +1 -1
  308. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +1 -1
  309. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +1 -1
  310. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +1 -1
  311. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKeyStore.js.html +1 -1
  312. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +1 -1
  313. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +1 -1
  314. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +1 -1
  315. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +2 -2
  316. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +1 -1
  317. package/src/artifacts/coverage-jest/lcov-report/hooks/useModConfigEntries.js.html +1 -1
  318. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +1 -1
  319. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateModConfigEntry.js.html +1 -1
  320. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +1 -1
  321. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +1 -1
  322. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +1 -1
  323. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +1 -1
  324. package/src/artifacts/coverage-jest/lcov-report/hooks/useSASQQueryMeta.js.html +1 -1
  325. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +1 -1
  326. package/src/artifacts/coverage-jest/lcov-report/index.html +41 -26
  327. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.html +1 -1
  328. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/index.js.html +1 -1
  329. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useAppSettings.js.html +1 -1
  330. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettingSection.js.html +1 -1
  331. package/src/artifacts/coverage-jest/lcov-report/settingsHooks/useSettings.js.html +1 -1
  332. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +6 -18
  333. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/deparseKiwtQueryFilters.js.html +181 -0
  334. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.html +176 -0
  335. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/index.js.html +124 -0
  336. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryFilters.js.html +211 -0
  337. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryGroups.js.html +367 -0
  338. package/src/artifacts/coverage-jest/lcov-report/utils/filterParsers/parseKiwtQueryString.js.html +184 -0
  339. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +1 -1
  340. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +13 -7
  341. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +1 -1
  342. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +1 -1
  343. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +13 -28
  344. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +24 -3
  345. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +1 -1
  346. package/src/artifacts/coverage-jest/lcov-report/utils/modConfigEntriesQueryKey.js.html +1 -1
  347. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +1 -1
  348. package/src/artifacts/coverage-jest/lcov-report/utils/parseKiwtQueryGroups.js.html +1 -1
  349. package/src/artifacts/coverage-jest/lcov-report/utils/parseModConfigEntry.js.html +1 -1
  350. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +1 -1
  351. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +1 -1
  352. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +1 -1
  353. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +1 -1
  354. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +1 -1
  355. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +1 -1
  356. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +370 -0
  357. package/src/artifacts/coverage-jest/lcov-report/validators/index.html +1 -1
  358. package/src/artifacts/coverage-jest/lcov-report/validators/index.js.html +1 -1
  359. package/src/artifacts/coverage-jest/lcov-report/validators/validators.js.html +1 -1
  360. package/src/artifacts/coverage-jest/lcov.info +352 -228
  361. package/src/index.js +1 -0
  362. package/src/lib/CustomProperties/Edit/CustomPropertyField.test.js +9 -5
  363. package/src/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.test.js +1 -4
  364. package/src/lib/CustomProperties/Filter/CustomPropertiesRule.test.js +26 -10
  365. package/src/lib/constants/comparators.js +12 -0
  366. package/src/lib/hooks/useKiwtSASQuery.js +1 -1
  367. package/src/lib/utils/buildUrl.js +1 -5
  368. package/src/lib/utils/filterParsers/deparseKiwtQueryFilters.js +32 -0
  369. package/src/lib/utils/filterParsers/index.js +13 -0
  370. package/src/lib/utils/filterParsers/parseKiwtQueryFilters.js +42 -0
  371. package/src/lib/utils/{parseKiwtQueryGroups.js → filterParsers/parseKiwtQueryGroups.js} +3 -1
  372. package/src/lib/utils/filterParsers/parseKiwtQueryString.js +33 -0
  373. package/src/lib/utils/generateKiwtQueryParams.js +6 -4
  374. package/src/lib/utils/index.js +8 -1
  375. /package/src/lib/utils/{parseKiwtQueryGroups.test.js → filterParsers/parseKiwtQueryGroups.test.js} +0 -0
@@ -10,28 +10,25 @@ var _reactIntl = require("react-intl");
10
10
  var _components = require("@folio/stripes/components");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
- var RefdataButtons = function RefdataButtons(props) {
13
+ const RefdataButtons = props => {
20
14
  // Render the right number of buttons:
21
- var labelTranslations = props.labelTranslations,
22
- lockColumns = props.lockColumns,
23
- _props$maxCols = props.maxCols,
24
- maxCols = _props$maxCols === void 0 ? 4 : _props$maxCols;
25
- var intl = (0, _reactIntl.useIntl)();
15
+ const {
16
+ labelTranslations,
17
+ lockColumns,
18
+ maxCols = 4
19
+ } = props;
20
+ const intl = (0, _reactIntl.useIntl)();
26
21
 
27
22
  // maxCols can be any of 1,2,3 or 4. Anything outside of this should be disregarded and default to 4.
28
- var maximumColumns = [1, 2, 3, 4].includes(maxCols) ? maxCols : 4;
29
- var buttonRender = function buttonRender(dataOptions, dynamicColumnWidth) {
23
+ const maximumColumns = [1, 2, 3, 4].includes(maxCols) ? maxCols : 4;
24
+ const buttonRender = (dataOptions, dynamicColumnWidth) => {
30
25
  // This accepts a SORTED list of dataoptions.
31
- var input = props.input;
32
- var numberOfButtons = dataOptions.length;
33
- return dataOptions.map(function (option) {
34
- var buttonProps = {
26
+ const {
27
+ input
28
+ } = props;
29
+ const numberOfButtons = dataOptions.length;
30
+ return dataOptions.map(option => {
31
+ const buttonProps = {
35
32
  'checked': input.value === option.value,
36
33
  'fullWidth': true,
37
34
  'label': labelTranslations ? intl.formatMessage({
@@ -39,19 +36,19 @@ var RefdataButtons = function RefdataButtons(props) {
39
36
  defaultMessage: option.label
40
37
  }) : option.label,
41
38
  'marginBottom0': true,
42
- 'onChange': function onChange() {
43
- return input.onChange(option.value);
44
- },
39
+ 'onChange': () => input.onChange(option.value),
45
40
  'value': option.value
46
41
  };
47
42
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Col, {
48
43
  xs: dynamicColumnWidth ? 12 / numberOfButtons : 12 / maximumColumns,
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RadioButton, _objectSpread({}, buttonProps))
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RadioButton, {
45
+ ...buttonProps
46
+ })
50
47
  }, "".concat(input.name, ":").concat(option.id));
51
48
  });
52
49
  };
53
- var returnRows = function returnRows(dataOptions) {
54
- var sortedDataOptions = dataOptions.sort(function (a, b) {
50
+ const returnRows = dataOptions => {
51
+ const sortedDataOptions = dataOptions.sort((a, b) => {
55
52
  if (a.label < b.label) {
56
53
  return -1;
57
54
  }
@@ -60,18 +57,18 @@ var RefdataButtons = function RefdataButtons(props) {
60
57
  }
61
58
  return 0;
62
59
  });
63
- var arrayLength = sortedDataOptions.length;
60
+ const arrayLength = sortedDataOptions.length;
64
61
  if (!lockColumns && arrayLength <= maximumColumns) {
65
62
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Row, {
66
63
  children: buttonRender(sortedDataOptions, true)
67
64
  });
68
65
  }
69
- var rowsNeeded = Math.ceil(sortedDataOptions.length / maximumColumns);
70
- var chunkedDataOptions = [];
71
- for (var i = 0; i < rowsNeeded; i++) {
66
+ const rowsNeeded = Math.ceil(sortedDataOptions.length / maximumColumns);
67
+ const chunkedDataOptions = [];
68
+ for (let i = 0; i < rowsNeeded; i++) {
72
69
  chunkedDataOptions.push(sortedDataOptions.slice(i * maximumColumns, i * maximumColumns + maximumColumns));
73
70
  }
74
- return chunkedDataOptions.map(function (cdo, index) {
71
+ return chunkedDataOptions.map((cdo, index) => {
75
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Row, {
76
73
  children: buttonRender(cdo, false)
77
74
  }, "".concat(props.input.name, ":row").concat(index));
@@ -90,5 +87,4 @@ RefdataButtons.propTypes = {
90
87
  onChange: _propTypes.default.func.isRequired
91
88
  }).isRequired
92
89
  };
93
- var _default = RefdataButtons;
94
- exports.default = _default;
90
+ var _default = exports.default = RefdataButtons;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "default", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _RefdataButtons.default;
10
10
  }
11
11
  });
@@ -1,33 +1,18 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = void 0;
8
7
  var _react = require("react");
9
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _classnames6 = _interopRequireDefault(require("classnames"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
11
10
  var _components = require("@folio/stripes/components");
12
11
  var _ResponsiveButtonGroup = _interopRequireDefault(require("../../../styles/ResponsiveButtonGroup.css"));
13
12
  var _useResponsiveButtonGroupSizing = _interopRequireDefault(require("./useResponsiveButtonGroupSizing"));
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
- var _excluded = ["children", "className", "dropdownTriggerProps", "fullWidth", "id", "marginBottom0", "selectedIndex", "tagName"];
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
18
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
21
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
23
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
27
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30
- var propTypes = {
15
+ const propTypes = {
31
16
  children: _propTypes.default.node,
32
17
  className: _propTypes.default.string,
33
18
  dropdownTriggerProps: _propTypes.default.object,
@@ -37,74 +22,85 @@ var propTypes = {
37
22
  selectedIndex: _propTypes.default.number,
38
23
  tagName: _propTypes.default.string
39
24
  };
40
- var SIZE_OF_DOWN_ARROW_BUTTON = 46;
41
- var calculateCumulativeThreshold = function calculateCumulativeThreshold(arrayOfNumbers, maximum) {
42
- var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
43
- var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
25
+ const SIZE_OF_DOWN_ARROW_BUTTON = 46;
26
+ const calculateCumulativeThreshold = function (arrayOfNumbers, maximum) {
27
+ let index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
28
+ let value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
44
29
  // If all the numbers fit, return the last index
45
- if (arrayOfNumbers.reduce(function (partialSum, a) {
46
- return partialSum + a;
47
- }, 0) <= maximum) {
30
+ if (arrayOfNumbers.reduce((partialSum, a) => partialSum + a, 0) <= maximum) {
48
31
  return (arrayOfNumbers === null || arrayOfNumbers === void 0 ? void 0 : arrayOfNumbers.length) - 1;
49
32
  }
50
33
 
51
34
  // Else we'll need a down arrow button, so include that in calculations
52
- var nextValue = value + arrayOfNumbers[index];
35
+ const nextValue = value + arrayOfNumbers[index];
53
36
  if (nextValue + SIZE_OF_DOWN_ARROW_BUTTON <= maximum && index + 1 < (arrayOfNumbers === null || arrayOfNumbers === void 0 ? void 0 : arrayOfNumbers.length)) {
54
37
  return calculateCumulativeThreshold(arrayOfNumbers, maximum, index + 1, nextValue);
55
38
  }
56
39
  return index - 1;
57
40
  };
58
- var ResponsiveButtonGroup = function ResponsiveButtonGroup(props) {
59
- var childButtons = props.children,
60
- className = props.className,
61
- _props$dropdownTrigge = props.dropdownTriggerProps,
62
- dropdownTriggerProps = _props$dropdownTrigge === void 0 ? {} : _props$dropdownTrigge,
63
- _props$fullWidth = props.fullWidth,
64
- fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
65
- id = props.id,
66
- marginBottom0 = props.marginBottom0,
67
- selectedIndex = props.selectedIndex,
68
- _props$tagName = props.tagName,
69
- Tag = _props$tagName === void 0 ? 'div' : _props$tagName,
70
- rest = _objectWithoutProperties(props, _excluded);
71
- var _useResponsiveButtonG = (0, _useResponsiveButtonGroupSizing.default)({
72
- buttons: childButtons,
73
- id: id
74
- }),
75
- buttons = _useResponsiveButtonG.buttons,
76
- cachedSizeArray = _useResponsiveButtonG.cachedSizeArray,
77
- containerRef = _useResponsiveButtonG.containerRef,
78
- containerWidth = _useResponsiveButtonG.containerWidth,
79
- ready = _useResponsiveButtonG.ready;
80
- var buttonThreshold = calculateCumulativeThreshold(cachedSizeArray, containerWidth);
81
- var renderActionMenuToggle = (0, _react.useCallback)(function (_ref) {
41
+ const ResponsiveButtonGroup = props => {
42
+ const {
43
+ children: childButtons,
44
+ // These MUST consist only of Button components
45
+ className,
46
+ dropdownTriggerProps = {},
47
+ fullWidth = false,
48
+ // Only bother with this when buttonGroupWidth < ContainerWidth
49
+ id,
50
+ marginBottom0,
51
+ // Will ONLL control the margin of the dropdown button
52
+ selectedIndex,
53
+ tagName: Tag = 'div',
54
+ ...rest
55
+ } = props;
56
+ const {
57
+ buttons,
58
+ cachedSizeArray,
59
+ containerRef,
60
+ containerWidth,
61
+ ready
62
+ } = (0, _useResponsiveButtonGroupSizing.default)({
63
+ buttons: childButtons,
64
+ id
65
+ });
66
+ const buttonThreshold = calculateCumulativeThreshold(cachedSizeArray, containerWidth);
67
+ const renderActionMenuToggle = (0, _react.useCallback)(_ref => {
82
68
  var _displayButtons$lengt;
83
- var displayButtons = _ref.displayButtons,
84
- onToggle = _ref.onToggle,
85
- triggerRef = _ref.triggerRef,
86
- keyHandler = _ref.keyHandler,
87
- open = _ref.open,
88
- ariaProps = _ref.ariaProps,
89
- getTriggerProps = _ref.getTriggerProps;
90
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
69
+ let {
70
+ displayButtons,
71
+ onToggle,
72
+ triggerRef,
73
+ keyHandler,
74
+ open,
75
+ ariaProps,
76
+ getTriggerProps
77
+ } = _ref;
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
91
79
  ref: triggerRef,
92
80
  "aria-label": "menu",
93
- buttonClass: (0, _classnames6.default)(_ResponsiveButtonGroup.default.width100, _defineProperty({}, "".concat(_ResponsiveButtonGroup.default.dropdownButtonClass), ((_displayButtons$lengt = displayButtons === null || displayButtons === void 0 ? void 0 : displayButtons.length) !== null && _displayButtons$lengt !== void 0 ? _displayButtons$lengt : 0) > 0), _defineProperty({}, "".concat(_ResponsiveButtonGroup.default.marginBottom), !marginBottom0), _defineProperty({}, "".concat(_ResponsiveButtonGroup.default.marginBottom0), marginBottom0)),
81
+ buttonClass: (0, _classnames.default)(_ResponsiveButtonGroup.default.width100, {
82
+ ["".concat(_ResponsiveButtonGroup.default.dropdownButtonClass)]: ((_displayButtons$lengt = displayButtons === null || displayButtons === void 0 ? void 0 : displayButtons.length) !== null && _displayButtons$lengt !== void 0 ? _displayButtons$lengt : 0) > 0
83
+ }, {
84
+ ["".concat(_ResponsiveButtonGroup.default.marginBottom)]: !marginBottom0
85
+ }, {
86
+ ["".concat(_ResponsiveButtonGroup.default.marginBottom0)]: marginBottom0
87
+ }),
94
88
  buttonStyle: selectedIndex > buttonThreshold ? 'primary' : 'default',
95
89
  onClick: onToggle,
96
90
  onKeyDown: keyHandler,
97
- type: "button"
98
- }, getTriggerProps()), ariaProps), dropdownTriggerProps), {}, {
91
+ type: "button",
92
+ ...getTriggerProps(),
93
+ ...ariaProps,
94
+ ...dropdownTriggerProps,
99
95
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
100
96
  icon: open ? 'triangle-up' : 'triangle-down',
101
97
  iconPosition: "end"
102
98
  })
103
- }));
99
+ });
104
100
  }, [buttonThreshold, dropdownTriggerProps, marginBottom0, selectedIndex]);
105
- var displayButtons = (0, _react.useMemo)(function () {
101
+ const displayButtons = (0, _react.useMemo)(() => {
106
102
  var _buttons$slice;
107
- return buttons === null || buttons === void 0 || (_buttons$slice = buttons.slice(0, buttonThreshold + 1)) === null || _buttons$slice === void 0 ? void 0 : _buttons$slice.map(function (button, index) {
103
+ return buttons === null || buttons === void 0 || (_buttons$slice = buttons.slice(0, buttonThreshold + 1)) === null || _buttons$slice === void 0 ? void 0 : _buttons$slice.map((button, index) => {
108
104
  if (index === selectedIndex && !(button !== null && button !== void 0 && button.buttonStyle)) {
109
105
  return /*#__PURE__*/(0, _react.cloneElement)(button, {
110
106
  buttonStyle: 'primary'
@@ -113,43 +109,42 @@ var ResponsiveButtonGroup = function ResponsiveButtonGroup(props) {
113
109
  return button;
114
110
  });
115
111
  }, [buttonThreshold, buttons, selectedIndex]);
116
- var dropdownButtons = (0, _react.useMemo)(function () {
112
+ const dropdownButtons = (0, _react.useMemo)(() => {
117
113
  var _buttons$slice2;
118
- return _toConsumableArray((_buttons$slice2 = buttons.slice(buttonThreshold + 1, buttons === null || buttons === void 0 ? void 0 : buttons.length)) === null || _buttons$slice2 === void 0 ? void 0 : _buttons$slice2.map(function (button) {
114
+ return [...((_buttons$slice2 = buttons.slice(buttonThreshold + 1, buttons === null || buttons === void 0 ? void 0 : buttons.length)) === null || _buttons$slice2 === void 0 ? void 0 : _buttons$slice2.map(button => {
119
115
  return /*#__PURE__*/(0, _react.cloneElement)(button, {
120
116
  buttonStyle: 'dropdownItem'
121
117
  });
122
- }));
118
+ }))];
123
119
  }, [buttonThreshold, buttons]);
124
120
 
125
121
  // eslint-disable-next-line react/prop-types
126
- var renderActionMenuContent = (0, _react.useCallback)(function () {
127
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
128
- children: _toConsumableArray(dropdownButtons)
129
- });
130
- }, [dropdownButtons]);
131
- var buttonsSlice = (0, _react.useMemo)(function () {
132
- return [].concat(_toConsumableArray(displayButtons), [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
133
- className: _ResponsiveButtonGroup.default.dropdownClass,
134
- renderMenu: renderActionMenuContent,
135
- renderTrigger: function renderTrigger(triggerProps) {
136
- return renderActionMenuToggle(_objectSpread({
137
- displayButtons: displayButtons
138
- }, triggerProps));
139
- }
140
- }, "responsiveButtonGroup-dropdown-toggle")]);
141
- }, [displayButtons, renderActionMenuContent, renderActionMenuToggle]);
122
+ const renderActionMenuContent = (0, _react.useCallback)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
123
+ children: [...dropdownButtons]
124
+ }), [dropdownButtons]);
125
+ const buttonsSlice = (0, _react.useMemo)(() => [...displayButtons, /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
126
+ className: _ResponsiveButtonGroup.default.dropdownClass,
127
+ renderMenu: renderActionMenuContent,
128
+ renderTrigger: triggerProps => renderActionMenuToggle({
129
+ displayButtons,
130
+ ...triggerProps
131
+ })
132
+ }, "responsiveButtonGroup-dropdown-toggle")], [displayButtons, renderActionMenuContent, renderActionMenuToggle]);
142
133
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
143
134
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
144
135
  ref: containerRef,
145
136
  className: "width: 100%;"
146
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Tag, _objectSpread(_objectSpread({
147
- className: (0, _classnames6.default)(_defineProperty({}, "".concat(_ResponsiveButtonGroup.default.hidden), !ready), _ResponsiveButtonGroup.default.buttonGroup, _defineProperty({}, "".concat(_ResponsiveButtonGroup.default.fullWidth), ready && fullWidth), className),
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Tag, {
138
+ className: (0, _classnames.default)({
139
+ ["".concat(_ResponsiveButtonGroup.default.hidden)]: !ready
140
+ }, _ResponsiveButtonGroup.default.buttonGroup, {
141
+ ["".concat(_ResponsiveButtonGroup.default.fullWidth)]: ready && fullWidth
142
+ }, className),
148
143
  style: fullWidth ? {
149
144
  width: "".concat(containerWidth, "px")
150
- } : {}
151
- }, rest), {}, {
152
- children: !ready || buttonThreshold === (cachedSizeArray === null || cachedSizeArray === void 0 ? void 0 : cachedSizeArray.length) - 1 ? buttons === null || buttons === void 0 ? void 0 : buttons.map(function (button, index) {
145
+ } : {},
146
+ ...rest,
147
+ children: !ready || buttonThreshold === (cachedSizeArray === null || cachedSizeArray === void 0 ? void 0 : cachedSizeArray.length) - 1 ? buttons === null || buttons === void 0 ? void 0 : buttons.map((button, index) => {
153
148
  if (index === selectedIndex && !(button !== null && button !== void 0 && button.buttonStyle)) {
154
149
  return /*#__PURE__*/(0, _react.cloneElement)(button, {
155
150
  buttonStyle: 'primary'
@@ -157,9 +152,8 @@ var ResponsiveButtonGroup = function ResponsiveButtonGroup(props) {
157
152
  }
158
153
  return button;
159
154
  }) : buttonsSlice
160
- }))]
155
+ })]
161
156
  });
162
157
  };
163
158
  ResponsiveButtonGroup.propTypes = propTypes;
164
- var _default = ResponsiveButtonGroup;
165
- exports.default = _default;
159
+ var _default = exports.default = ResponsiveButtonGroup;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "default", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _ResponsiveButtonGroup.default;
10
10
  }
11
11
  });
@@ -9,59 +9,46 @@ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
9
9
  var _reactResizeDetector = require("react-resize-detector");
10
10
  var _lodash = require("lodash");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
17
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
- var useResponsiveButtonGroupSizing = function useResponsiveButtonGroupSizing(_ref) {
19
- var id = _ref.id,
20
- _ref$buttons = _ref.buttons,
21
- buttons = _ref$buttons === void 0 ? [] : _ref$buttons;
22
- var eventString = 'responsive-button-group-loaded' + (id ? "-".concat(id) : '');
23
- var loadedEvent = new Event(eventString);
24
- var isMounted = (0, _react.useRef)(false);
25
- (0, _react.useEffect)(function () {
12
+ const useResponsiveButtonGroupSizing = _ref => {
13
+ let {
14
+ id,
15
+ buttons = []
16
+ } = _ref;
17
+ const eventString = 'responsive-button-group-loaded' + (id ? "-".concat(id) : '');
18
+ const loadedEvent = new Event(eventString);
19
+ const isMounted = (0, _react.useRef)(false);
20
+ (0, _react.useEffect)(() => {
26
21
  isMounted.current = true;
27
- return function () {
22
+ return () => {
28
23
  isMounted.current = false;
29
24
  };
30
25
  }, []);
31
26
 
32
27
  // Set up size measuring to be able to do fullWidth if and only if the button is too small for the container.
33
28
  // This way when the button is too _large_ for the container, we can measure it properly
34
- var _useResizeDetector = (0, _reactResizeDetector.useResizeDetector)(),
35
- containerRef = _useResizeDetector.ref,
36
- containerWidth = _useResizeDetector.width;
37
- var _useState = (0, _react.useState)([]),
38
- _useState2 = _slicedToArray(_useState, 2),
39
- cachedSizeArray = _useState2[0],
40
- setCachedSizeArray = _useState2[1];
41
- var _useState3 = (0, _react.useState)([]),
42
- _useState4 = _slicedToArray(_useState3, 2),
43
- sizeArray = _useState4[0],
44
- setSizeArray = _useState4[1];
29
+ const {
30
+ ref: containerRef,
31
+ width: containerWidth
32
+ } = (0, _reactResizeDetector.useResizeDetector)();
33
+ const [cachedSizeArray, setCachedSizeArray] = (0, _react.useState)([]);
34
+ const [sizeArray, setSizeArray] = (0, _react.useState)([]);
45
35
  // We also need to set up a ref for each of the buttons
46
36
  // to measure the size of each one, we can then use that for choosing where to break later.
47
- var refArray = buttons.map(function (_button, index) {
48
- return function (node) {
37
+ const refArray = buttons.map((_button, index) => {
38
+ return node => {
49
39
  if (node !== null) {
50
40
  var _node$clientWidth;
51
- var newSizeArray = sizeArray.slice(0, index).concat([(_node$clientWidth = node === null || node === void 0 ? void 0 : node.clientWidth) !== null && _node$clientWidth !== void 0 ? _node$clientWidth : 0]).concat(sizeArray.slice(index + 1));
41
+ const newSizeArray = sizeArray.slice(0, index).concat([(_node$clientWidth = node === null || node === void 0 ? void 0 : node.clientWidth) !== null && _node$clientWidth !== void 0 ? _node$clientWidth : 0]).concat(sizeArray.slice(index + 1));
52
42
  if (!(0, _isEqual.default)(sizeArray, newSizeArray)) {
53
43
  setSizeArray(newSizeArray);
54
44
  }
55
45
  }
56
46
  };
57
47
  });
58
- var _useState5 = (0, _react.useState)(false),
59
- _useState6 = _slicedToArray(_useState5, 2),
60
- ready = _useState6[0],
61
- setReady = _useState6[1];
48
+ const [ready, setReady] = (0, _react.useState)(false);
62
49
 
63
50
  // eslint-disable-next-line react-hooks/exhaustive-deps
64
- (0, _react.useEffect)((0, _lodash.debounce)(function () {
51
+ (0, _react.useEffect)((0, _lodash.debounce)(() => {
65
52
  if (isMounted.current) {
66
53
  if (!(cachedSizeArray !== null && cachedSizeArray !== void 0 && cachedSizeArray.length) && sizeArray !== null && sizeArray !== void 0 && sizeArray.length) {
67
54
  setCachedSizeArray(sizeArray);
@@ -70,19 +57,18 @@ var useResponsiveButtonGroupSizing = function useResponsiveButtonGroupSizing(_re
70
57
  }
71
58
  }
72
59
  }, 150), [cachedSizeArray, sizeArray]);
73
- var returnButtons = buttons === null || buttons === void 0 ? void 0 : buttons.map(function (button, index) {
60
+ const returnButtons = buttons === null || buttons === void 0 ? void 0 : buttons.map((button, index) => {
74
61
  return /*#__PURE__*/(0, _react.cloneElement)(button, {
75
62
  ref: refArray === null || refArray === void 0 ? void 0 : refArray[index]
76
63
  });
77
64
  });
78
65
  return {
79
66
  buttons: returnButtons,
80
- cachedSizeArray: cachedSizeArray,
81
- containerRef: containerRef,
82
- containerWidth: containerWidth,
83
- ready: ready,
84
- sizeArray: sizeArray
67
+ cachedSizeArray,
68
+ containerRef,
69
+ containerWidth,
70
+ ready,
71
+ sizeArray
85
72
  };
86
73
  };
87
- var _default = useResponsiveButtonGroupSizing;
88
- exports.default = _default;
74
+ var _default = exports.default = useResponsiveButtonGroupSizing;