@beinformed/ui 1.17.3 → 1.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/esm/builder/index.js.map +1 -1
  3. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  4. package/esm/constants/Constants.js +4 -0
  5. package/esm/constants/Constants.js.map +1 -1
  6. package/esm/constants/LayoutHintConfig.js.map +1 -1
  7. package/esm/constants/LayoutHints.js.map +1 -1
  8. package/esm/constants/Settings.js +25 -1
  9. package/esm/constants/Settings.js.map +1 -1
  10. package/esm/constants/index.js.map +1 -1
  11. package/esm/exceptions/ConfigurationException.js.map +1 -1
  12. package/esm/exceptions/FetchException.js.map +1 -1
  13. package/esm/exceptions/IllegalArgumentException.js.map +1 -1
  14. package/esm/exceptions/IllegalReturnException.js.map +1 -1
  15. package/esm/exceptions/IllegalStateException.js.map +1 -1
  16. package/esm/exceptions/JsonParseException.js.map +1 -1
  17. package/esm/exceptions/MissingPropertyException.js.map +1 -1
  18. package/esm/exceptions/NetworkException.js.map +1 -1
  19. package/esm/exceptions/NotAllowedUriException.js.map +1 -1
  20. package/esm/exceptions/NotFoundException.js.map +1 -1
  21. package/esm/exceptions/ServerRequestException.js.map +1 -1
  22. package/esm/exceptions/ThemePropertyException.js.map +1 -1
  23. package/esm/exceptions/TimeoutException.js.map +1 -1
  24. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  25. package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
  26. package/esm/exceptions/index.js.map +1 -1
  27. package/esm/hooks/index.js.map +1 -1
  28. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  29. package/esm/hooks/useAuthentication.js.map +1 -1
  30. package/esm/hooks/useContent.js.map +1 -1
  31. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  32. package/esm/hooks/useForm.js +1 -11
  33. package/esm/hooks/useForm.js.map +1 -1
  34. package/esm/hooks/useI18n.js.map +1 -1
  35. package/esm/hooks/useModal.js.map +1 -1
  36. package/esm/hooks/useModelCatalog.js.map +1 -1
  37. package/esm/hooks/useModels.js.map +1 -1
  38. package/esm/hooks/useModularUI.js.map +1 -1
  39. package/esm/hooks/useModularUIBasic.js.map +1 -1
  40. package/esm/hooks/useModularUIModel.js.map +1 -1
  41. package/esm/hooks/useModularUIRequest.js.map +1 -1
  42. package/esm/hooks/useNotification.js.map +1 -1
  43. package/esm/hooks/usePreference.js.map +1 -1
  44. package/esm/hooks/useProgressIndicator.js.map +1 -1
  45. package/esm/hooks/useRouter.js.map +1 -1
  46. package/esm/i18n/Locale.js +2 -1
  47. package/esm/i18n/Locale.js.map +1 -1
  48. package/esm/i18n/Locales.js.map +1 -1
  49. package/esm/i18n/Message.js.map +1 -1
  50. package/esm/i18n/index.js.map +1 -1
  51. package/esm/i18n/languages.js.map +1 -1
  52. package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  53. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  54. package/esm/i18n/types.js.map +1 -1
  55. package/esm/i18n/withMessage.js.map +1 -1
  56. package/esm/index.js.map +1 -1
  57. package/esm/models/actions/ActionCollection.js.map +1 -1
  58. package/esm/models/actions/ActionModel.js.map +1 -1
  59. package/esm/models/application/ApplicationModel.js.map +1 -1
  60. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  61. package/esm/models/attributes/AttributeContent.js.map +1 -1
  62. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  63. package/esm/models/attributes/AttributeModel.js.map +1 -1
  64. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  65. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  66. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  67. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  68. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  69. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  70. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  71. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  72. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  73. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  74. package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
  75. package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
  76. package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
  77. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  78. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  79. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  80. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  81. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  82. package/esm/models/attributes/_createAttribute.js.map +1 -1
  83. package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  84. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  85. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  86. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  87. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  88. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  89. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  90. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  91. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  92. package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  93. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  94. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  95. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  96. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  97. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  98. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  99. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  100. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  101. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  102. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  103. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  104. package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  105. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  106. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  107. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  108. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  109. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  110. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  111. package/esm/models/base/BaseCollection.js.map +1 -1
  112. package/esm/models/base/BaseModel.js.map +1 -1
  113. package/esm/models/base/ResourceCollection.js.map +1 -1
  114. package/esm/models/base/ResourceModel.js.map +1 -1
  115. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  116. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  117. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  118. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  119. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  120. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  121. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  122. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  123. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  124. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  125. package/esm/models/content/ContentIndexModel.js.map +1 -1
  126. package/esm/models/content/ContentLinkModel.js.map +1 -1
  127. package/esm/models/content/ContentModel.js.map +1 -1
  128. package/esm/models/content/ContentTOCModel.js.map +1 -1
  129. package/esm/models/content/ContentTypeModel.js.map +1 -1
  130. package/esm/models/content/SectionModel.js.map +1 -1
  131. package/esm/models/content/SubSectionModel.js.map +1 -1
  132. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  133. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  134. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  135. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  136. package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  137. package/esm/models/detail/DetailModel.js.map +1 -1
  138. package/esm/models/error/ErrorCollection.js.map +1 -1
  139. package/esm/models/error/ErrorModel.js.map +1 -1
  140. package/esm/models/error/ErrorResponse.js.map +1 -1
  141. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  142. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  143. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  144. package/esm/models/filters/FilterCollection.js.map +1 -1
  145. package/esm/models/filters/FilterModel.js.map +1 -1
  146. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  147. package/esm/models/form/FormModel.js.map +1 -1
  148. package/esm/models/form/FormObjectModel.js.map +1 -1
  149. package/esm/models/grouping/GroupingModel.js.map +1 -1
  150. package/esm/models/href/Href.js.map +1 -1
  151. package/esm/models/href/ListHref.js.map +1 -1
  152. package/esm/models/index.js.map +1 -1
  153. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  154. package/esm/models/links/LinkCollection.js.map +1 -1
  155. package/esm/models/links/LinkModel.js.map +1 -1
  156. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  157. package/esm/models/list/ListDetailModel.js.map +1 -1
  158. package/esm/models/list/ListHeaderModel.js.map +1 -1
  159. package/esm/models/list/ListItemCollection.js.map +1 -1
  160. package/esm/models/list/ListItemModel.js.map +1 -1
  161. package/esm/models/list/ListModel.js +2 -2
  162. package/esm/models/list/ListModel.js.map +1 -1
  163. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  164. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  165. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  166. package/esm/models/paging/PagesizeModel.js.map +1 -1
  167. package/esm/models/paging/PagingModel.js.map +1 -1
  168. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  169. package/esm/models/parameter/Parameter.js.map +1 -1
  170. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  171. package/esm/models/resolveModel.js.map +1 -1
  172. package/esm/models/search/CaseSearchModel.js.map +1 -1
  173. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  174. package/esm/models/sorting/SortingModel.js.map +1 -1
  175. package/esm/models/tab/TabModel.js.map +1 -1
  176. package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
  177. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  178. package/esm/models/types.js.map +1 -1
  179. package/esm/models/user/UserModel.js.map +1 -1
  180. package/esm/models/user/UserProfileModel.js.map +1 -1
  181. package/esm/models/user/UserServicesModel.js.map +1 -1
  182. package/esm/modularui/Authenticate.js +9 -9
  183. package/esm/modularui/Authenticate.js.map +1 -1
  184. package/esm/modularui/ModularUIError.js.map +1 -1
  185. package/esm/modularui/ModularUIRequest.js.map +1 -1
  186. package/esm/modularui/ModularUIResponse.js.map +1 -1
  187. package/esm/modularui/index.js.map +1 -1
  188. package/esm/react/ErrorBoundary.js.map +1 -1
  189. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  190. package/esm/react/index.js.map +1 -1
  191. package/esm/react/utils.js.map +1 -1
  192. package/esm/react-client/Init.js.map +1 -1
  193. package/esm/react-client/client.js +3 -2
  194. package/esm/react-client/client.js.map +1 -1
  195. package/esm/react-client/contextPath.js.map +1 -1
  196. package/esm/react-client/index.js.map +1 -1
  197. package/esm/react-client/rehydrate.js.map +1 -1
  198. package/esm/react-server/contextPath.js.map +1 -1
  199. package/esm/react-server/createSSRComplete.js.map +1 -1
  200. package/esm/react-server/htmlpage.js.map +1 -1
  201. package/esm/react-server/index.js.map +1 -1
  202. package/esm/react-server/renderSSRComplete.js.map +1 -1
  203. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  204. package/esm/react-server/requestInformation.js.map +1 -1
  205. package/esm/react-server/serverNoSSR.js.map +1 -1
  206. package/esm/react-server/serverSSR.js.map +1 -1
  207. package/esm/react-server/serverUtil.js +2 -1
  208. package/esm/react-server/serverUtil.js.map +1 -1
  209. package/esm/react-theme/ThemeProvider.js.map +1 -1
  210. package/esm/react-theme/createTheme.js.map +1 -1
  211. package/esm/react-theme/index.js.map +1 -1
  212. package/esm/react-theme/types.js.map +1 -1
  213. package/esm/react-theme/useTheme.js.map +1 -1
  214. package/esm/react-theme/utils/background.js.map +1 -1
  215. package/esm/react-theme/utils/colors.js.map +1 -1
  216. package/esm/react-theme/utils/contrast.js.map +1 -1
  217. package/esm/react-theme/utils/corners.js.map +1 -1
  218. package/esm/react-theme/utils/spacers.js.map +1 -1
  219. package/esm/react-theme/utils/themeProps.js.map +1 -1
  220. package/esm/redux/_i18n/actions.js.map +1 -1
  221. package/esm/redux/_i18n/index.js.map +1 -1
  222. package/esm/redux/_i18n/reducer.js.map +1 -1
  223. package/esm/redux/_i18n/types.js.map +1 -1
  224. package/esm/redux/_modularui/actions.js.map +1 -1
  225. package/esm/redux/_modularui/connector.js.map +1 -1
  226. package/esm/redux/_modularui/index.js.map +1 -1
  227. package/esm/redux/_modularui/middleware.js.map +1 -1
  228. package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
  229. package/esm/redux/_modularui/reducer.js.map +1 -1
  230. package/esm/redux/_modularui/selectors.js.map +1 -1
  231. package/esm/redux/_modularui/types.js.map +1 -1
  232. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  233. package/esm/redux/_router/actions.js.map +1 -1
  234. package/esm/redux/_router/connectors.js.map +1 -1
  235. package/esm/redux/_router/index.js.map +1 -1
  236. package/esm/redux/_router/middleware.js.map +1 -1
  237. package/esm/redux/_router/reducer.js.map +1 -1
  238. package/esm/redux/_router/types.js.map +1 -1
  239. package/esm/redux/actions/Application.js.map +1 -1
  240. package/esm/redux/actions/Authorization.js.map +1 -1
  241. package/esm/redux/actions/Error.js.map +1 -1
  242. package/esm/redux/actions/Form.js.map +1 -1
  243. package/esm/redux/actions/FormAttributeSet.js +5 -11
  244. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  245. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  246. package/esm/redux/actions/FormAutosave.js.map +1 -1
  247. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  248. package/esm/redux/actions/FormValidations.js.map +1 -1
  249. package/esm/redux/actions/Modals.js.map +1 -1
  250. package/esm/redux/actions/Notification.js.map +1 -1
  251. package/esm/redux/actions/Preferences.js +32 -2
  252. package/esm/redux/actions/Preferences.js.map +1 -1
  253. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  254. package/esm/redux/actions/SignIn.js.map +1 -1
  255. package/esm/redux/actions/SignOut.js.map +1 -1
  256. package/esm/redux/actions/index.js.map +1 -1
  257. package/esm/redux/connectors/Application.js.map +1 -1
  258. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  259. package/esm/redux/connectors/CaseView.js.map +1 -1
  260. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  261. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  262. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  263. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  264. package/esm/redux/connectors/Form.js.map +1 -1
  265. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  266. package/esm/redux/connectors/ListDetail.js.map +1 -1
  267. package/esm/redux/connectors/Modal.js.map +1 -1
  268. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  269. package/esm/redux/connectors/Notification.js.map +1 -1
  270. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  271. package/esm/redux/connectors/Preferences.js.map +1 -1
  272. package/esm/redux/connectors/Progress.js.map +1 -1
  273. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  274. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  275. package/esm/redux/connectors/SignIn.js.map +1 -1
  276. package/esm/redux/connectors/SignOut.js.map +1 -1
  277. package/esm/redux/connectors/Tab.js.map +1 -1
  278. package/esm/redux/connectors/index.js.map +1 -1
  279. package/esm/redux/index.js.map +1 -1
  280. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  281. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  282. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  283. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  284. package/esm/redux/reducers/PreferencesReducer.js +5 -1
  285. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  286. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  287. package/esm/redux/reducers/createReducer.js.map +1 -1
  288. package/esm/redux/reducers/index.js.map +1 -1
  289. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  290. package/esm/redux/store/configureStore.js.map +1 -1
  291. package/esm/redux/types.js.map +1 -1
  292. package/esm/utils/browser/Cache.js.map +1 -1
  293. package/esm/utils/browser/Cookies.js.map +1 -1
  294. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  295. package/esm/utils/fetch/serverFetch.js.map +1 -1
  296. package/esm/utils/fetch/types.js.map +1 -1
  297. package/esm/utils/fetch/universalFetch.js.map +1 -1
  298. package/esm/utils/fetch/xhr.js.map +1 -1
  299. package/esm/utils/helpers/checkResource.js.map +1 -1
  300. package/esm/utils/helpers/createHash.js.map +1 -1
  301. package/esm/utils/helpers/createUUID.js.map +1 -1
  302. package/esm/utils/helpers/objects.js.map +1 -1
  303. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  304. package/esm/utils/helpers/text.js.map +1 -1
  305. package/esm/utils/index.js.map +1 -1
  306. package/esm/utils/number/DecimalFormat.js.map +1 -1
  307. package/esm/utils/number/formatValue.js.map +1 -1
  308. package/esm/utils/number/parseNumbers.js.map +1 -1
  309. package/lib/builder/index.js.map +1 -1
  310. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  311. package/lib/constants/Constants.js +9 -1
  312. package/lib/constants/Constants.js.flow +5 -0
  313. package/lib/constants/Constants.js.map +1 -1
  314. package/lib/constants/LayoutHintConfig.js.map +1 -1
  315. package/lib/constants/LayoutHints.js.map +1 -1
  316. package/lib/constants/Settings.js +37 -1
  317. package/lib/constants/Settings.js.flow +25 -1
  318. package/lib/constants/Settings.js.map +1 -1
  319. package/lib/constants/index.js.map +1 -1
  320. package/lib/exceptions/ConfigurationException.js.map +1 -1
  321. package/lib/exceptions/FetchException.js.map +1 -1
  322. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  323. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  324. package/lib/exceptions/IllegalStateException.js.map +1 -1
  325. package/lib/exceptions/JsonParseException.js.map +1 -1
  326. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  327. package/lib/exceptions/NetworkException.js.map +1 -1
  328. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  329. package/lib/exceptions/NotFoundException.js.map +1 -1
  330. package/lib/exceptions/ServerRequestException.js.map +1 -1
  331. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  332. package/lib/exceptions/TimeoutException.js.map +1 -1
  333. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  334. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  335. package/lib/exceptions/index.js.map +1 -1
  336. package/lib/hooks/index.js.map +1 -1
  337. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  338. package/lib/hooks/useAuthentication.js.map +1 -1
  339. package/lib/hooks/useContent.js.map +1 -1
  340. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  341. package/lib/hooks/useForm.js +2 -15
  342. package/lib/hooks/useForm.js.flow +0 -14
  343. package/lib/hooks/useForm.js.map +1 -1
  344. package/lib/hooks/useI18n.js.map +1 -1
  345. package/lib/hooks/useModal.js.map +1 -1
  346. package/lib/hooks/useModelCatalog.js.map +1 -1
  347. package/lib/hooks/useModels.js.map +1 -1
  348. package/lib/hooks/useModularUI.js.map +1 -1
  349. package/lib/hooks/useModularUIBasic.js.map +1 -1
  350. package/lib/hooks/useModularUIModel.js.map +1 -1
  351. package/lib/hooks/useModularUIRequest.js.map +1 -1
  352. package/lib/hooks/useNotification.js.map +1 -1
  353. package/lib/hooks/usePreference.js.map +1 -1
  354. package/lib/hooks/useProgressIndicator.js.map +1 -1
  355. package/lib/hooks/useRouter.js.map +1 -1
  356. package/lib/i18n/Locale.js +2 -1
  357. package/lib/i18n/Locale.js.flow +4 -2
  358. package/lib/i18n/Locale.js.map +1 -1
  359. package/lib/i18n/Locales.js.map +1 -1
  360. package/lib/i18n/Message.js.map +1 -1
  361. package/lib/i18n/__tests__/Locale.spec.js.flow +3 -2
  362. package/lib/i18n/index.js.map +1 -1
  363. package/lib/i18n/languages.js.map +1 -1
  364. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  365. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  366. package/lib/i18n/types.js.map +1 -1
  367. package/lib/i18n/withMessage.js.map +1 -1
  368. package/lib/index.js.map +1 -1
  369. package/lib/models/actions/ActionCollection.js.map +1 -1
  370. package/lib/models/actions/ActionModel.js.map +1 -1
  371. package/lib/models/application/ApplicationModel.js.map +1 -1
  372. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  373. package/lib/models/attributes/AttributeContent.js.map +1 -1
  374. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  375. package/lib/models/attributes/AttributeModel.js.map +1 -1
  376. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  377. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  378. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  379. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  380. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  381. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  382. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  383. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  384. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  385. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  386. package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
  387. package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
  388. package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
  389. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  390. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  391. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  392. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  393. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  394. package/lib/models/attributes/_createAttribute.js.map +1 -1
  395. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  396. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  397. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  398. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  399. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  400. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  401. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  402. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  403. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  404. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  405. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  406. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  407. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  408. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  409. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  410. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  411. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  412. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  413. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  414. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  415. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  416. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  417. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  418. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  419. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  420. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  421. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  422. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  423. package/lib/models/base/BaseCollection.js.map +1 -1
  424. package/lib/models/base/BaseModel.js.map +1 -1
  425. package/lib/models/base/ResourceCollection.js.map +1 -1
  426. package/lib/models/base/ResourceModel.js.map +1 -1
  427. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  428. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  429. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  430. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  431. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  432. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  433. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  434. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  435. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  436. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  437. package/lib/models/content/ContentIndexModel.js.map +1 -1
  438. package/lib/models/content/ContentLinkModel.js.map +1 -1
  439. package/lib/models/content/ContentModel.js.map +1 -1
  440. package/lib/models/content/ContentTOCModel.js.map +1 -1
  441. package/lib/models/content/ContentTypeModel.js.map +1 -1
  442. package/lib/models/content/SectionModel.js.map +1 -1
  443. package/lib/models/content/SubSectionModel.js.map +1 -1
  444. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  445. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  446. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  447. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  448. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  449. package/lib/models/detail/DetailModel.js.map +1 -1
  450. package/lib/models/error/ErrorCollection.js.map +1 -1
  451. package/lib/models/error/ErrorModel.js.map +1 -1
  452. package/lib/models/error/ErrorResponse.js.map +1 -1
  453. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  454. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  455. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  456. package/lib/models/filters/FilterCollection.js.map +1 -1
  457. package/lib/models/filters/FilterModel.js.map +1 -1
  458. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  459. package/lib/models/form/FormModel.js.map +1 -1
  460. package/lib/models/form/FormObjectModel.js.map +1 -1
  461. package/lib/models/grouping/GroupingModel.js.map +1 -1
  462. package/lib/models/href/Href.js.map +1 -1
  463. package/lib/models/href/ListHref.js.map +1 -1
  464. package/lib/models/index.js.map +1 -1
  465. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  466. package/lib/models/links/LinkCollection.js.map +1 -1
  467. package/lib/models/links/LinkModel.js.map +1 -1
  468. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  469. package/lib/models/list/ListDetailModel.js.map +1 -1
  470. package/lib/models/list/ListHeaderModel.js.map +1 -1
  471. package/lib/models/list/ListItemCollection.js.map +1 -1
  472. package/lib/models/list/ListItemModel.js.map +1 -1
  473. package/lib/models/list/ListModel.js +2 -2
  474. package/lib/models/list/ListModel.js.flow +1 -2
  475. package/lib/models/list/ListModel.js.map +1 -1
  476. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  477. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  478. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  479. package/lib/models/paging/PagesizeModel.js.map +1 -1
  480. package/lib/models/paging/PagingModel.js.map +1 -1
  481. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  482. package/lib/models/parameter/Parameter.js.map +1 -1
  483. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  484. package/lib/models/resolveModel.js.map +1 -1
  485. package/lib/models/search/CaseSearchModel.js.map +1 -1
  486. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  487. package/lib/models/sorting/SortingModel.js.map +1 -1
  488. package/lib/models/tab/TabModel.js.map +1 -1
  489. package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
  490. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  491. package/lib/models/types.js.map +1 -1
  492. package/lib/models/user/UserModel.js.map +1 -1
  493. package/lib/models/user/UserProfileModel.js.map +1 -1
  494. package/lib/models/user/UserServicesModel.js.map +1 -1
  495. package/lib/modularui/Authenticate.js +10 -10
  496. package/lib/modularui/Authenticate.js.flow +11 -7
  497. package/lib/modularui/Authenticate.js.map +1 -1
  498. package/lib/modularui/ModularUIError.js.map +1 -1
  499. package/lib/modularui/ModularUIRequest.js.map +1 -1
  500. package/lib/modularui/ModularUIResponse.js.map +1 -1
  501. package/lib/modularui/index.js.map +1 -1
  502. package/lib/react/ErrorBoundary.js.map +1 -1
  503. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  504. package/lib/react/index.js.map +1 -1
  505. package/lib/react/utils.js.map +1 -1
  506. package/lib/react-client/Init.js.map +1 -1
  507. package/lib/react-client/client.js +2 -1
  508. package/lib/react-client/client.js.flow +5 -1
  509. package/lib/react-client/client.js.map +1 -1
  510. package/lib/react-client/contextPath.js.map +1 -1
  511. package/lib/react-client/index.js.map +1 -1
  512. package/lib/react-client/rehydrate.js.map +1 -1
  513. package/lib/react-server/__tests__/serverUtil.spec.js.flow +18 -0
  514. package/lib/react-server/contextPath.js.map +1 -1
  515. package/lib/react-server/createSSRComplete.js.map +1 -1
  516. package/lib/react-server/htmlpage.js.map +1 -1
  517. package/lib/react-server/index.js.map +1 -1
  518. package/lib/react-server/renderSSRComplete.js.map +1 -1
  519. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  520. package/lib/react-server/requestInformation.js.map +1 -1
  521. package/lib/react-server/serverNoSSR.js.map +1 -1
  522. package/lib/react-server/serverSSR.js.map +1 -1
  523. package/lib/react-server/serverUtil.js +1 -0
  524. package/lib/react-server/serverUtil.js.flow +2 -0
  525. package/lib/react-server/serverUtil.js.map +1 -1
  526. package/lib/react-theme/ThemeProvider.js.map +1 -1
  527. package/lib/react-theme/createTheme.js.map +1 -1
  528. package/lib/react-theme/index.js.map +1 -1
  529. package/lib/react-theme/types.js.map +1 -1
  530. package/lib/react-theme/useTheme.js.map +1 -1
  531. package/lib/react-theme/utils/background.js.map +1 -1
  532. package/lib/react-theme/utils/colors.js.map +1 -1
  533. package/lib/react-theme/utils/contrast.js.map +1 -1
  534. package/lib/react-theme/utils/corners.js.map +1 -1
  535. package/lib/react-theme/utils/spacers.js.map +1 -1
  536. package/lib/react-theme/utils/themeProps.js.map +1 -1
  537. package/lib/redux/_i18n/actions.js.map +1 -1
  538. package/lib/redux/_i18n/index.js.map +1 -1
  539. package/lib/redux/_i18n/reducer.js.map +1 -1
  540. package/lib/redux/_i18n/types.js.map +1 -1
  541. package/lib/redux/_modularui/actions.js.map +1 -1
  542. package/lib/redux/_modularui/connector.js.map +1 -1
  543. package/lib/redux/_modularui/index.js.map +1 -1
  544. package/lib/redux/_modularui/middleware.js.map +1 -1
  545. package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
  546. package/lib/redux/_modularui/reducer.js.map +1 -1
  547. package/lib/redux/_modularui/selectors.js.map +1 -1
  548. package/lib/redux/_modularui/types.js.map +1 -1
  549. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  550. package/lib/redux/_router/actions.js.map +1 -1
  551. package/lib/redux/_router/connectors.js.map +1 -1
  552. package/lib/redux/_router/index.js.map +1 -1
  553. package/lib/redux/_router/middleware.js.map +1 -1
  554. package/lib/redux/_router/reducer.js.map +1 -1
  555. package/lib/redux/_router/types.js.map +1 -1
  556. package/lib/redux/actions/Application.js.map +1 -1
  557. package/lib/redux/actions/Authorization.js.map +1 -1
  558. package/lib/redux/actions/Error.js.map +1 -1
  559. package/lib/redux/actions/Form.js.map +1 -1
  560. package/lib/redux/actions/FormAttributeSet.js +6 -15
  561. package/lib/redux/actions/FormAttributeSet.js.flow +3 -16
  562. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  563. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  564. package/lib/redux/actions/FormAutosave.js.map +1 -1
  565. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  566. package/lib/redux/actions/FormValidations.js.map +1 -1
  567. package/lib/redux/actions/Modals.js.map +1 -1
  568. package/lib/redux/actions/Notification.js.map +1 -1
  569. package/lib/redux/actions/Preferences.js +41 -1
  570. package/lib/redux/actions/Preferences.js.flow +49 -2
  571. package/lib/redux/actions/Preferences.js.map +1 -1
  572. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  573. package/lib/redux/actions/SignIn.js.map +1 -1
  574. package/lib/redux/actions/SignOut.js.map +1 -1
  575. package/lib/redux/actions/__tests__/Preferences.spec.js.flow +11 -0
  576. package/lib/redux/actions/index.js.map +1 -1
  577. package/lib/redux/connectors/Application.js.map +1 -1
  578. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  579. package/lib/redux/connectors/CaseView.js.map +1 -1
  580. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  581. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  582. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  583. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  584. package/lib/redux/connectors/Form.js.map +1 -1
  585. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  586. package/lib/redux/connectors/ListDetail.js.map +1 -1
  587. package/lib/redux/connectors/Modal.js.map +1 -1
  588. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  589. package/lib/redux/connectors/Notification.js.map +1 -1
  590. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  591. package/lib/redux/connectors/Preferences.js.map +1 -1
  592. package/lib/redux/connectors/Progress.js.map +1 -1
  593. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  594. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  595. package/lib/redux/connectors/SignIn.js.map +1 -1
  596. package/lib/redux/connectors/SignOut.js.map +1 -1
  597. package/lib/redux/connectors/Tab.js.map +1 -1
  598. package/lib/redux/connectors/index.js.map +1 -1
  599. package/lib/redux/index.js.map +1 -1
  600. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  601. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  602. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  603. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  604. package/lib/redux/reducers/PreferencesReducer.js +5 -1
  605. package/lib/redux/reducers/PreferencesReducer.js.flow +8 -1
  606. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  607. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  608. package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +12 -0
  609. package/lib/redux/reducers/createReducer.js.map +1 -1
  610. package/lib/redux/reducers/index.js.map +1 -1
  611. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  612. package/lib/redux/store/configureStore.js.map +1 -1
  613. package/lib/redux/types.js.flow +5 -0
  614. package/lib/redux/types.js.map +1 -1
  615. package/lib/utils/browser/Cache.js.map +1 -1
  616. package/lib/utils/browser/Cookies.js.map +1 -1
  617. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  618. package/lib/utils/fetch/serverFetch.js.map +1 -1
  619. package/lib/utils/fetch/types.js.map +1 -1
  620. package/lib/utils/fetch/universalFetch.js.map +1 -1
  621. package/lib/utils/fetch/xhr.js.map +1 -1
  622. package/lib/utils/helpers/checkResource.js.map +1 -1
  623. package/lib/utils/helpers/createHash.js.map +1 -1
  624. package/lib/utils/helpers/createUUID.js.map +1 -1
  625. package/lib/utils/helpers/objects.js.map +1 -1
  626. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  627. package/lib/utils/helpers/text.js.map +1 -1
  628. package/lib/utils/index.js.map +1 -1
  629. package/lib/utils/number/DecimalFormat.js.map +1 -1
  630. package/lib/utils/number/formatValue.js.map +1 -1
  631. package/lib/utils/number/parseNumbers.js.map +1 -1
  632. package/package.json +20 -18
  633. package/src/constants/Constants.js +5 -0
  634. package/src/constants/Settings.js +25 -1
  635. package/src/hooks/useForm.js +0 -14
  636. package/src/i18n/Locale.js +4 -2
  637. package/src/i18n/__tests__/Locale.spec.js +3 -2
  638. package/src/models/list/ListModel.js +1 -2
  639. package/src/modularui/Authenticate.js +11 -7
  640. package/src/react-client/client.js +5 -1
  641. package/src/react-server/__tests__/serverUtil.spec.js +18 -0
  642. package/src/react-server/serverUtil.js +2 -0
  643. package/src/redux/actions/FormAttributeSet.js +3 -16
  644. package/src/redux/actions/Preferences.js +49 -2
  645. package/src/redux/actions/__tests__/Preferences.spec.js +11 -0
  646. package/src/redux/reducers/PreferencesReducer.js +8 -1
  647. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +12 -0
  648. package/src/redux/types.js +5 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAGA;;AACA;;AACA;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAGA;;AACA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResource\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["// @flow\n\n// browser\nexport { default as Cache } from \"./browser/Cache\";\nexport * from \"./browser/Cookies\";\n\n// datetime\nexport * from \"./datetime/DateTimeUtil\";\n\n// fetch\nexport { default as serverFetch } from \"./fetch/serverFetch\";\nexport { default as universalFetch } from \"./fetch/universalFetch\";\nexport { default as xhr } from \"./fetch/xhr\";\nexport type * from \"./fetch/types\";\n\n// helpers\nexport * from \"./helpers/createHash\";\nexport { default as createUUID } from \"./helpers/createUUID\";\nexport * from \"./helpers/sanitizeHtml\";\nexport * from \"./helpers/objects\";\nexport * from \"./helpers/text\";\nexport * from \"./helpers/checkResource\";\n\n// number\nexport { default as DecimalFormat } from \"./number/DecimalFormat\";\nexport { default as formatValue } from \"./number/formatValue\";\nexport * from \"./number/parseNumbers\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AAIA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/number/DecimalFormat.js"],"names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"mappings":"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","sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"file":"DecimalFormat.js"}
1
+ {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","_prefix","_suffix","_comma","_minInt","_minFrac","_maxFrac","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","maxFrac","minFrac","intStr","lastIndexOf","intFormatStr","suffix","charAt","formattedNumber","stringNumber","String","isNaN","getNumericString","tempNumber","negative","substr","hasPrefix","prefix","suffixIndex","number","Number","DECIMAL_RADIX","Math","round","toString","toFixed","num","getFracAsNumber","frac","getRoundedFrac","i","doCarry","x","j","minInt","groupedIntStr","comma","isNegative","formattedValue","formatBack","toLowerCase","scientificNumber","getFraction","getInteger","isPercentage","addZeroToFrac","lastTwoFrac","getFracCorrectLength","addGrouping","getFormattedValue","string","precision","Infinity"],"sources":["../../../src/utils/number/DecimalFormat.js"],"sourcesContent":["// @flow\n// @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html\n/**\n */\nclass DecimalFormat {\n _prefix: string;\n _suffix: string;\n\n // Grouping size\n _comma: number;\n // Minimum integer digits to be displayed\n _minInt: number;\n\n // Minimum fractional digits to be displayed\n _minFrac: number;\n // Maximum fractional digits to be displayed\n _maxFrac: number;\n\n _isPercentage: boolean;\n\n /**\n */\n constructor(format: string) {\n this.setAffix(format);\n this.setFractionLengths(format);\n this.setGroupLength(format);\n this.setMinLength(format);\n\n this.setPercentage();\n }\n\n /**\n */\n get prefix(): string {\n return this._prefix;\n }\n\n /**\n */\n get suffix(): string {\n return this._suffix;\n }\n\n /**\n */\n get comma(): number {\n return this._comma;\n }\n\n /**\n */\n get minInt(): number {\n return this._minInt;\n }\n\n /**\n */\n get minFrac(): number {\n return this._minFrac;\n }\n\n /**\n */\n get maxFrac(): number {\n return this._maxFrac;\n }\n\n /**\n */\n get isPercentage(): boolean {\n return this._isPercentage;\n }\n\n /**\n */\n setAffix(format: string) {\n const beforeDigit = format.includes(\"#\")\n ? format.substring(0, format.indexOf(\"#\"))\n : format;\n\n this._prefix = beforeDigit.includes(\"0\")\n ? beforeDigit.substring(0, beforeDigit.indexOf(\"0\"))\n : beforeDigit;\n this._suffix = format\n .substring(this._prefix.length)\n .replace(/[#,.0]/gu, \"\");\n }\n\n /**\n */\n setFractionLengths(format: string) {\n this._minFrac = 0;\n this._maxFrac = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n if (numberStr.includes(\".\")) {\n const fracStr = numberStr.substring(numberStr.indexOf(\".\") + 1);\n\n const maxFrac = fracStr.replace(/,|\\.+/g, \"\");\n this._maxFrac = maxFrac.length;\n\n // replace all but zeros\n const minFrac = maxFrac.replace(/[^0]/gu, \"\");\n this._minFrac = minFrac.length;\n }\n }\n\n /**\n */\n setGroupLength(format: string) {\n this._comma = 0;\n\n const numberStr = format.replace(/[^#,.0]/gu, \"\");\n const intStr = numberStr.includes(\".\")\n ? numberStr.substring(0, numberStr.indexOf(\".\"))\n : numberStr;\n\n if (intStr.includes(\",\")) {\n this._comma = intStr.length - 1 - intStr.lastIndexOf(\",\");\n }\n }\n\n /**\n */\n setMinLength(format: string) {\n const intFormatStr = format.includes(\".\")\n ? format.substring(0, format.indexOf(\".\"))\n : format;\n const intStr = intFormatStr.replace(/[^0]/gu, \"\");\n\n this._minInt = intStr.length > 1 ? intStr.length : 1;\n }\n\n /**\n */\n setPercentage() {\n this._isPercentage = this.suffix.charAt(0) === \"%\";\n }\n\n /**\n * Solves problem where big numbers loose the precision:\n * e.g. Number(23423423423342234.34) => 23423423423342236\n */\n static getNumericString(stringNumber: string): string {\n const number = Number(stringNumber);\n const string = String(number);\n\n if (!string.includes(\".\") && stringNumber.includes(\".\")) {\n // check if original string has all zeros after dot or not\n const precision = stringNumber.substring(stringNumber.indexOf(\".\") + 1);\n if (precision.replace(/0/gu, \"\").length > 0) {\n return stringNumber;\n }\n\n return string;\n }\n\n return stringNumber;\n }\n\n /**\n * Converts formatted value back to non-formatted value\n * e.g. $1,223.06 --> 1223.06\n */\n formatBack(formattedNumber: string): string {\n const stringNumber = String(formattedNumber);\n\n if (!stringNumber) {\n return \"\";\n }\n\n if (!isNaN(stringNumber)) {\n return DecimalFormat.getNumericString(stringNumber);\n }\n\n let tempNumber = formattedNumber;\n\n let negative = false;\n if (formattedNumber.charAt(0) === \"-\") {\n tempNumber = formattedNumber.substr(1);\n negative = true;\n }\n\n const hasPrefix = formattedNumber.startsWith(this.prefix);\n\n const suffixIndex =\n this.suffix === \"\"\n ? formattedNumber.length\n : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);\n\n if (hasPrefix && suffixIndex > 0) {\n tempNumber = tempNumber.substr(0, suffixIndex);\n tempNumber = tempNumber.substr(this.prefix.length);\n tempNumber = tempNumber.replace(/,/gu, \"\");\n\n if (negative) {\n tempNumber = `-${tempNumber}`;\n }\n\n if (!isNaN(tempNumber)) {\n return DecimalFormat.getNumericString(tempNumber);\n }\n }\n\n return tempNumber;\n }\n\n /**\n */\n static scientificNumber(stringNumber: string): string {\n if (stringNumber.includes(\"e\")) {\n const number = Number(stringNumber);\n if (number === Infinity || number === -Infinity) {\n return stringNumber;\n }\n\n return String(number);\n }\n\n return stringNumber;\n }\n\n /**\n */\n getFracAsNumber(fracStr: string): string {\n const number = Number(`0.${fracStr}`);\n const DECIMAL_RADIX = 10;\n\n return this.maxFrac === 0\n ? Math.round(number).toString(DECIMAL_RADIX)\n : number.toFixed(this.maxFrac);\n }\n\n /**\n */\n getRoundedFrac(fracStr: string): string {\n const num = this.getFracAsNumber(fracStr);\n\n // toFixed method has bugs on IE (0.7 --> 0)\n return num.substr(2);\n }\n\n /**\n */\n static getFraction(number: string): string {\n let fracStr = number.includes(\".\")\n ? number.substring(number.indexOf(\".\") + 1)\n : \"\";\n\n fracStr = fracStr.replace(/\\./, \"\");\n\n return fracStr;\n }\n\n /**\n */\n getFracCorrectLength(frac: string): string {\n let fracStr = frac;\n\n if (fracStr.length > this.maxFrac) {\n fracStr = this.getRoundedFrac(fracStr);\n }\n\n for (let i = fracStr.length; i < this.minFrac; i++) {\n // if minFrac=4 then 1.12 --> 1.1200\n fracStr = `${fracStr}0`;\n }\n\n while (\n fracStr.length > this.minFrac &&\n fracStr.charAt(fracStr.length - 1) === \"0\"\n ) {\n // if minInt=4 then 00034 --> 0034)\n fracStr = fracStr.substring(0, fracStr.length - 1);\n }\n\n return fracStr;\n }\n\n /**\n */\n getInteger(number: string): string {\n let intStr = number.includes(\".\")\n ? number.substring(0, number.indexOf(\".\"))\n : number;\n\n let doCarry = Number(this.getFracAsNumber(number)) > 1;\n let i = intStr.length - 1;\n\n while (doCarry) {\n if (i === -1) {\n intStr = `1${intStr}`;\n break;\n }\n\n let x = intStr.charAt(i);\n if (x === \"9\") {\n x = \"0\";\n } else {\n x = `${x + 1}`;\n doCarry = false;\n }\n\n intStr =\n intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);\n\n i -= 1;\n }\n\n for (let j = intStr.length; j < this.minInt; j++) {\n // if minInt=4 then 034 --> 0034\n intStr = `0${intStr}`;\n }\n\n while (intStr.length > this.minInt && intStr.charAt(0) === \"0\") {\n // if minInt=4 then 00034 --> 0034)\n intStr = intStr.substring(1);\n }\n\n return intStr;\n }\n\n /**\n */\n addGrouping(intStr: string): string {\n let groupedIntStr = intStr;\n\n let j = 0;\n for (let i = groupedIntStr.length; i > 0; i--) {\n // add commas\n if (j !== 0 && j % this.comma === 0) {\n groupedIntStr = `${groupedIntStr.substring(\n 0,\n i\n )},${groupedIntStr.substring(i)}`;\n j = 0;\n }\n\n j += 1;\n }\n\n return groupedIntStr;\n }\n\n /**\n */\n getFormattedValue(\n intStr: string,\n fracStr: string,\n isNegative: boolean\n ): string {\n let formattedValue;\n if (fracStr.length > 0)\n formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;\n else formattedValue = this.prefix + intStr + this.suffix;\n\n if (isNegative) {\n formattedValue = `-${formattedValue}`;\n }\n\n return formattedValue;\n }\n\n /**\n * Formats given value, using the pattern\n * e.g. $#,###.00: 1223.06 --> $1,223.06\n */\n format(stringNumber: string = \"\"): string {\n if (stringNumber === null) {\n return \"\";\n }\n\n let formattedNumber = this.formatBack(stringNumber).toLowerCase();\n\n if (isNaN(formattedNumber) || formattedNumber.length === 0) {\n return stringNumber;\n }\n\n formattedNumber = DecimalFormat.scientificNumber(formattedNumber);\n if (formattedNumber.includes(\"e\")) {\n return formattedNumber;\n }\n\n const isNegative = formattedNumber.charAt(0) === \"-\";\n if (isNegative || formattedNumber.charAt(0) === \"+\") {\n formattedNumber = formattedNumber.substring(1);\n }\n\n let fracStr = DecimalFormat.getFraction(formattedNumber);\n let intStr = this.getInteger(formattedNumber);\n if (this.isPercentage) {\n // Add zeros behind fraction to make sure we have at least two characters and take first two character:\n // 1 --> 100 --> 10\n const addZeroToFrac = `${fracStr}00`.substr(0, 2);\n // Add zeros in front of frac and get last two characters\n const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);\n\n intStr = `${intStr}${lastTwoFrac}`;\n fracStr = fracStr.substr(2);\n }\n\n fracStr = this.getFracCorrectLength(fracStr);\n\n intStr = this.addGrouping(intStr);\n\n return this.getFormattedValue(intStr, fracStr, isNegative);\n }\n}\n\nexport default DecimalFormat;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/number/formatValue.js"],"names":["updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","IllegalArgumentException","stringValue","formattedValue","DecimalFormat","split","integer","decimal","integerPart"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAgBC,iBAAhB,EAA8C;AAC5E,MAAIA,iBAAiB,IAAI,IAAzB,EAA+B;AAC7B,WAAOD,KAAP;AACD;;AAED,SAAOA,KAAK,CAACE,OAAN,CAAc,IAAd,EAAoBD,iBAApB,CAAP;AACD,CAND;AAQA;AACA;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAKP;AAAA,MAHXC,MAGW,uEAHO,GAGP;AAAA,MAFXJ,iBAEW,uEAFiB,GAEjB;AAAA,MADXK,gBACW,uEADgB,GAChB;;AACX,MAAIF,KAAK,IAAI,IAAb,EAAmB;AACjB,WAAO,EAAP;AACD;;AAED,MAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEI,iCAAcA,KAAd,EAAqBH,iBAArB,EAAwCK,gBAAxC,CAHN;;AAKA,MAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;AACnC,UAAM,IAAIC,oCAAJ,+BACmBJ,KADnB,sBAAN;AAGD;;AAED,MAAMK,WAAW,GAAG,uCAAoBF,WAApB,CAApB;;AAEA,MAAIF,MAAM,IAAI,IAAd,EAAoB;AAClB,QAAMK,cAAc,GAAG,IAAIC,sBAAJ,CAAkBN,MAAlB,EAA0BA,MAA1B,CAAiCI,WAAjC,CAAvB;;AAEA,gCAA2BC,cAAc,CAACE,KAAf,CAAqB,GAArB,CAA3B;AAAA;AAAA,QAAOC,OAAP;AAAA,QAAgBC,OAAhB;;AAEA,QAAMC,WAAW,GAAGhB,uBAAuB,CAACc,OAAD,EAAUZ,iBAAV,CAA3C;;AAEA,QAAIa,OAAJ,EAAa;AAAA;;AACX,wFAAUC,WAAV,mBAAwBT,gBAAxB,kBAA2CQ,OAA3C;AACD;;AAED,WAAOC,WAAP;AACD;;AAED,SAAON,WAAP;AACD,CAtCD;;eAwCeN,W","sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"file":"formatValue.js"}
1
+ {"version":3,"file":"formatValue.js","names":["updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","IllegalArgumentException","stringValue","formattedValue","DecimalFormat","split","integer","decimal","integerPart"],"sources":["../../../src/utils/number/formatValue.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport DecimalFormat from \"./DecimalFormat\";\nimport { parseNumberToString, parseToNumber } from \"./parseNumbers\";\n\n/**\n * @private\n */\nconst updateGroupingSeparator = (input: string, groupingSeparator: string) => {\n if (groupingSeparator == null) {\n return input;\n }\n\n return input.replace(/,/g, groupingSeparator);\n};\n\n/**\n */\nconst formatValue = (\n value: ?number | ?string,\n format: ?string = \"0\",\n groupingSeparator: string = \",\",\n decimalSeparator: string = \".\"\n): string => {\n if (value == null) {\n return \"\";\n }\n\n const numberValue =\n typeof value === \"number\"\n ? value\n : parseToNumber(value, groupingSeparator, decimalSeparator);\n\n if (typeof numberValue !== \"number\") {\n throw new IllegalArgumentException(\n `Not a valid number: ${value} for formatValue`\n );\n }\n\n const stringValue = parseNumberToString(numberValue);\n\n if (format != null) {\n const formattedValue = new DecimalFormat(format).format(stringValue);\n\n const [integer, decimal] = formattedValue.split(\".\");\n\n const integerPart = updateGroupingSeparator(integer, groupingSeparator);\n\n if (decimal) {\n return `${integerPart}${decimalSeparator}${decimal}`;\n }\n\n return integerPart;\n }\n\n return stringValue;\n};\n\nexport default formatValue;\n"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAgBC,iBAAhB,EAA8C;EAC5E,IAAIA,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,OAAOA,KAAK,CAACE,OAAN,CAAc,IAAd,EAAoBD,iBAApB,CAAP;AACD,CAND;AAQA;AACA;;;AACA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAClBC,KADkB,EAKP;EAAA,IAHXC,MAGW,uEAHO,GAGP;EAAA,IAFXJ,iBAEW,uEAFiB,GAEjB;EAAA,IADXK,gBACW,uEADgB,GAChB;;EACX,IAAIF,KAAK,IAAI,IAAb,EAAmB;IACjB,OAAO,EAAP;EACD;;EAED,IAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEI,iCAAcA,KAAd,EAAqBH,iBAArB,EAAwCK,gBAAxC,CAHN;;EAKA,IAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;IACnC,MAAM,IAAIC,oCAAJ,+BACmBJ,KADnB,sBAAN;EAGD;;EAED,IAAMK,WAAW,GAAG,uCAAoBF,WAApB,CAApB;;EAEA,IAAIF,MAAM,IAAI,IAAd,EAAoB;IAClB,IAAMK,cAAc,GAAG,IAAIC,sBAAJ,CAAkBN,MAAlB,EAA0BA,MAA1B,CAAiCI,WAAjC,CAAvB;;IAEA,4BAA2BC,cAAc,CAACE,KAAf,CAAqB,GAArB,CAA3B;IAAA;IAAA,IAAOC,OAAP;IAAA,IAAgBC,OAAhB;;IAEA,IAAMC,WAAW,GAAGhB,uBAAuB,CAACc,OAAD,EAAUZ,iBAAV,CAA3C;;IAEA,IAAIa,OAAJ,EAAa;MAAA;;MACX,kFAAUC,WAAV,mBAAwBT,gBAAxB,kBAA2CQ,OAA3C;IACD;;IAED,OAAOC,WAAP;EACD;;EAED,OAAON,WAAP;AACD,CAtCD;;eAwCeN,W"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/number/parseNumbers.js"],"names":["removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"mappings":";;;;;;;;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAQC,iBAAR,EAA8B;AAC5D,MAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOA,KAAP;AACD;;AAED,MAAIC,iBAAiB,IAAI,IAAzB,EAA+B;AAC7B,WAAOD,KAAP;AACD;;AAED,MAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAlB,CAC/B,qBAD+B,EAE/B,MAF+B,CAAjC;AAKA,SAAOH,KAAK,CAACG,OAAN,CAAc,IAAIC,MAAJ,CAAWF,wBAAX,EAAqC,GAArC,CAAd,EAAyD,EAAzD,CAAP;AACD,CAfD;AAiBA;AACA;AACA;;;AACA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACL,KAAD,EAAQM,gBAAR,EAA6B;AAC1D,MAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOA,KAAP;AACD;;AAED,MAAIM,gBAAgB,IAAI,IAApB,IAA4BA,gBAAgB,KAAK,EAArD,EAAyD;AACvD,WAAON,KAAP;AACD;;AAED,SAAOA,KAAK,CAACG,OAAN,CAAcG,gBAAd,EAAgC,GAAhC,CAAP;AACD,CAVD;AAYA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CACpBP,KADoB,EAIT;AAAA,MAFXC,iBAEW,uEAFkB,GAElB;AAAA,MADXK,gBACW,uEADiB,GACjB;;AACX,MAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;AACjC,WAAOQ,GAAP;AACD;;AAED,MAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;AAEA,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;AAKA,SAAOK,MAAM,CAACD,4BAAD,CAAb;AACD,CAjBD;AAmBA;AACA;AACA;;;;;AACA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BZ,KAD0B,EAIf;AAAA,MAFXC,iBAEW,uEAFkB,GAElB;AAAA,MADXK,gBACW,uEADiB,GACjB;;AACX,MAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;AACjC,WAAO,KAAP;AACD;;AAED,MAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;AAEA,MAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;;AAKA,MAAI;AACF,WAAO,kBAAII,4BAAJ,EAAkCG,OAAlC,EAAP;AACD,GAFD,CAEE,OAAOC,KAAP,EAAc;AACd,WAAO,KAAP;AACD;AACF,CArBD","sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (input, groupingSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\"\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (input, decimalSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"file":"parseNumbers.js"}
1
+ {"version":3,"file":"parseNumbers.js","names":["removeGroupingSeparator","input","groupingSeparator","escapedGroupingSeparator","replace","RegExp","updateDecimalSeparator","decimalSeparator","parseToNumber","NaN","inputNoGrouping","inputCorrectDecimalSeparator","Number","parseNumberToString","toFixed","error"],"sources":["../../../src/utils/number/parseNumbers.js"],"sourcesContent":["// @flow\nimport big from \"big.js\";\n\n/**\n * @private\n */\nconst removeGroupingSeparator = (input, groupingSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (groupingSeparator == null) {\n return input;\n }\n\n const escapedGroupingSeparator = groupingSeparator.replace(\n /[$()*+.?[\\\\\\]^{|}]/g,\n \"\\\\$&\"\n );\n\n return input.replace(new RegExp(escapedGroupingSeparator, \"g\"), \"\");\n};\n\n/**\n * @private\n */\nconst updateDecimalSeparator = (input, decimalSeparator) => {\n if (typeof input === \"number\") {\n return input;\n }\n\n if (decimalSeparator == null || decimalSeparator === \"\") {\n return input;\n }\n\n return input.replace(decimalSeparator, \".\");\n};\n\n/**\n * Parses input into a number, removes the grouping separator from the input and\n * replaces the decimal separator with a dot to make it a JavaScript parseable number\n */\nconst parseToNumber = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): number => {\n if (input == null || input === \"\") {\n return NaN;\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n return Number(inputCorrectDecimalSeparator);\n};\n\n/**\n * parses Numbers To String\n */\nconst parseNumberToString = (\n input: ?string | ?number,\n groupingSeparator: ?string = \",\",\n decimalSeparator: ?string = \".\"\n): string => {\n if (input == null || input === \"\") {\n return \"NaN\";\n }\n\n const inputNoGrouping = removeGroupingSeparator(input, groupingSeparator);\n\n const inputCorrectDecimalSeparator = updateDecimalSeparator(\n inputNoGrouping,\n decimalSeparator\n );\n\n try {\n return big(inputCorrectDecimalSeparator).toFixed();\n } catch (error) {\n return \"NaN\";\n }\n};\n\nexport { parseToNumber, parseNumberToString };\n"],"mappings":";;;;;;;;;AACA;;AAEA;AACA;AACA;AACA,IAAMA,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,KAAD,EAAQC,iBAAR,EAA8B;EAC5D,IAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIC,iBAAiB,IAAI,IAAzB,EAA+B;IAC7B,OAAOD,KAAP;EACD;;EAED,IAAME,wBAAwB,GAAGD,iBAAiB,CAACE,OAAlB,CAC/B,qBAD+B,EAE/B,MAF+B,CAAjC;EAKA,OAAOH,KAAK,CAACG,OAAN,CAAc,IAAIC,MAAJ,CAAWF,wBAAX,EAAqC,GAArC,CAAd,EAAyD,EAAzD,CAAP;AACD,CAfD;AAiBA;AACA;AACA;;;AACA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACL,KAAD,EAAQM,gBAAR,EAA6B;EAC1D,IAAI,OAAON,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAOA,KAAP;EACD;;EAED,IAAIM,gBAAgB,IAAI,IAApB,IAA4BA,gBAAgB,KAAK,EAArD,EAAyD;IACvD,OAAON,KAAP;EACD;;EAED,OAAOA,KAAK,CAACG,OAAN,CAAcG,gBAAd,EAAgC,GAAhC,CAAP;AACD,CAVD;AAYA;AACA;AACA;AACA;;;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CACpBP,KADoB,EAIT;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAOQ,GAAP;EACD;;EAED,IAAMC,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;EAKA,OAAOK,MAAM,CAACD,4BAAD,CAAb;AACD,CAjBD;AAmBA;AACA;AACA;;;;;AACA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BZ,KAD0B,EAIf;EAAA,IAFXC,iBAEW,uEAFkB,GAElB;EAAA,IADXK,gBACW,uEADiB,GACjB;;EACX,IAAIN,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA/B,EAAmC;IACjC,OAAO,KAAP;EACD;;EAED,IAAMS,eAAe,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,iBAAR,CAA/C;EAEA,IAAMS,4BAA4B,GAAGL,sBAAsB,CACzDI,eADyD,EAEzDH,gBAFyD,CAA3D;;EAKA,IAAI;IACF,OAAO,kBAAII,4BAAJ,EAAkCG,OAAlC,EAAP;EACD,CAFD,CAEE,OAAOC,KAAP,EAAc;IACd,OAAO,KAAP;EACD;AACF,CArBD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beinformed/ui",
3
- "version": "1.17.3",
3
+ "version": "1.18.2",
4
4
  "description": "Toolbox for be informed javascript layouts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "bugs": "http://support.beinformed.com",
@@ -95,44 +95,46 @@
95
95
  "setimmediate": "^1.0.5"
96
96
  },
97
97
  "devDependencies": {
98
- "@babel/cli": "^7.17.3",
99
- "@babel/core": "^7.17.9",
98
+ "@babel/cli": "^7.17.10",
99
+ "@babel/core": "^7.17.10",
100
100
  "@babel/eslint-parser": "^7.17.0",
101
101
  "@babel/eslint-plugin": "^7.16.5",
102
+ "@babel/plugin-proposal-class-properties": "^7.16.7",
102
103
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
103
- "@babel/plugin-transform-runtime": "^7.17.0",
104
- "@babel/preset-env": "^7.16.11",
104
+ "@babel/plugin-transform-runtime": "^7.17.10",
105
+ "@babel/preset-env": "^7.17.10",
105
106
  "@babel/preset-flow": "^7.16.7",
106
107
  "@babel/preset-react": "^7.16.7",
107
- "@commitlint/cli": "^16.2.3",
108
- "@commitlint/config-conventional": "^16.2.1",
108
+ "@commitlint/cli": "^16.2.4",
109
+ "@commitlint/config-conventional": "^16.2.4",
109
110
  "@testing-library/react-hooks": "^8.0.0",
110
- "auditjs": "^4.0.36",
111
- "babel-jest": "^27.5.1",
111
+ "auditjs": "^4.0.37",
112
+ "babel-jest": "^28.0.3",
112
113
  "babel-plugin-styled-components": "^2.0.7",
113
114
  "cherry-pick": "^0.5.0",
114
115
  "cross-env": "^7.0.3",
115
116
  "documentation": "^13.2.5",
116
- "eslint": "^8.13.0",
117
+ "eslint": "^8.14.0",
117
118
  "eslint-config-prettier": "^8.3.0",
118
119
  "eslint-plugin-babel": "^5.3.1",
119
120
  "eslint-plugin-ft-flow": "^2.0.1",
120
121
  "eslint-plugin-import": "^2.26.0",
121
- "eslint-plugin-jest": "^26.1.4",
122
- "eslint-plugin-jsdoc": "^39.2.1",
122
+ "eslint-plugin-jest": "^26.1.5",
123
+ "eslint-plugin-jsdoc": "^39.2.9",
123
124
  "eslint-plugin-react": "^7.28.0",
124
- "eslint-plugin-react-hooks": "^4.4.0",
125
- "flow-bin": "^0.176.0",
125
+ "eslint-plugin-react-hooks": "^4.5.0",
126
+ "flow-bin": "^0.176.3",
126
127
  "flow-copy-source": "^2.0.9",
127
128
  "flow-typed": "^3.6.1",
128
129
  "glob": "^8.0.1",
129
130
  "history": "^4.0.0",
130
131
  "husky": "^7.0.4",
131
- "jest": "^27.5.1",
132
- "jest-junit": "^13.1.0",
132
+ "jest": "^28.0.3",
133
+ "jest-environment-jsdom": "^28.0.2",
134
+ "jest-junit": "^13.2.0",
133
135
  "jest-sonar-reporter": "^2.0.0",
134
136
  "jscodeshift": "^0.13.1",
135
- "lint-staged": "^12.3.7",
137
+ "lint-staged": "^12.4.1",
136
138
  "polished": "^4.2.2",
137
139
  "prettier": "^2.6.2",
138
140
  "react": "^17.0.2",
@@ -141,7 +143,7 @@
141
143
  "react-redux": "^7.2.8",
142
144
  "react-router": "^5.2.0",
143
145
  "react-test-renderer": "^17.0.2",
144
- "redux": "^4.1.2",
146
+ "redux": "^4.2.0",
145
147
  "redux-mock-store": "^1.5.4",
146
148
  "redux-thunk": "^2.4.1",
147
149
  "rimraf": "^3.0.2",
@@ -197,3 +197,8 @@ export const ATTRIBUTE_WIDTH = {
197
197
  };
198
198
 
199
199
  export const ALL_CONTENT_IN_DATA_SETTING = "hasAllContentInData";
200
+
201
+ export const LOGIN_PATH_SETTING = "FormClient.login_url";
202
+ export const LOGIN_USERNAME_SETTING = "FormClient.username_field_name";
203
+ export const LOGIN_PASSWORD_SETTING = "FormClient.password_field_name";
204
+ export const LOGOUT_PATH_SETTING = "FormClient.logout_url";
@@ -1,6 +1,13 @@
1
1
  // @flow
2
2
  import { isPlainObject, has } from "../utils/helpers/objects";
3
- import { ALL_CONTENT_IN_DATA_SETTING } from "./Constants";
3
+ import {
4
+ BASE,
5
+ ALL_CONTENT_IN_DATA_SETTING,
6
+ LOGIN_PATH_SETTING,
7
+ LOGIN_USERNAME_SETTING,
8
+ LOGIN_PASSWORD_SETTING,
9
+ LOGOUT_PATH_SETTING,
10
+ } from "./Constants";
4
11
 
5
12
  type Setting = boolean | string | number | Array<string>;
6
13
 
@@ -115,3 +122,20 @@ export const allSettings = (): { [name: string]: Setting } => settings;
115
122
  */
116
123
  export const hasAllContentInData = (): boolean =>
117
124
  getSetting(ALL_CONTENT_IN_DATA_SETTING, true);
125
+
126
+ /**
127
+ */
128
+ export const loginPath = (): string =>
129
+ getSetting(LOGIN_PATH_SETTING, `${BASE}/j_security_check`);
130
+ /**
131
+ */
132
+ export const loginUsernameField = (): string =>
133
+ getSetting(LOGIN_USERNAME_SETTING, "j_username");
134
+ /**
135
+ */
136
+ export const loginPasswordField = (): string =>
137
+ getSetting(LOGIN_PASSWORD_SETTING, "j_password");
138
+ /**
139
+ */
140
+ export const logoutPath = (): string =>
141
+ getSetting(LOGOUT_PATH_SETTING, `${BASE}/Logoff`);
@@ -16,7 +16,6 @@ import {
16
16
  removeRepeatableAttributeSet,
17
17
  showFormNotification,
18
18
  updateFormAttribute,
19
- validateFormAttribute,
20
19
  } from "../redux/actions";
21
20
 
22
21
  import FormModel from "../models/form/FormModel";
@@ -48,8 +47,6 @@ type AttributeUpdateHook = (
48
47
  options: UpdateFormOptions
49
48
  ) => void;
50
49
 
51
- type AttributeValidateHook = () => void;
52
-
53
50
  /**
54
51
  * Load a form by href
55
52
  */
@@ -122,17 +119,6 @@ export const useAttributeUpdate = (
122
119
  ) => dispatch(updateFormAttribute(form, object, attribute, value, options));
123
120
  };
124
121
 
125
- /**
126
- * Validate attributes of a form
127
- */
128
- export const useAttributeValidate = (
129
- form: FormModel
130
- ): AttributeValidateHook => {
131
- const dispatch = useDispatch();
132
-
133
- return () => dispatch(validateFormAttribute(form));
134
- };
135
-
136
122
  /**
137
123
  * Attributeset actions
138
124
  */
@@ -107,9 +107,11 @@ class Locale {
107
107
  id &&
108
108
  getSetting("DEBUG_I18N_MESSAGE_NOT_FOUND")
109
109
  ) {
110
- console.warn(`Message with id ${id} not found for locale ${this.code}`);
110
+ // eslint-disable-next-line no-console
111
+ console.debug(
112
+ `Message with id ${id} not found for locale ${this.code} in layout translations`
113
+ );
111
114
  }
112
-
113
115
  return messageFromLocale || this.fixPlaceHolders(defaultMessage) || id;
114
116
  }
115
117
 
@@ -6,6 +6,7 @@ import { setSetting } from "../../constants";
6
6
 
7
7
  global.console = {
8
8
  warn: jest.fn(),
9
+ debug: jest.fn(),
9
10
  };
10
11
 
11
12
  jest.mock(
@@ -89,8 +90,8 @@ describe("locale", () => {
89
90
 
90
91
  const msg = locale.getMessage("non-existing");
91
92
  expect(msg).toBe("non-existing");
92
- expect(global.console.warn).toHaveBeenCalledWith(
93
- "Message with id non-existing not found for locale de"
93
+ expect(global.console.debug).toHaveBeenCalledWith(
94
+ "Message with id non-existing not found for locale de in layout translations"
94
95
  );
95
96
 
96
97
  const msgWithDefault = locale.getMessage("non-existing", "Default");
@@ -48,10 +48,9 @@ export default class ListModel extends ResourceModel {
48
48
  data.contributions.resourcetype &&
49
49
  (data.contributions.resourcetype.endsWith("List") ||
50
50
  data.contributions.resourcetype.endsWith("ListPanel") ||
51
+ data.contributions.resourcetype.endsWith("RelatedDatastorePanel") ||
51
52
  [
52
- "DatastoreRelatedDatastorePanel",
53
53
  "list-related-cases",
54
- "CaseRelatedDataStorePanel",
55
54
  "RecordPanel",
56
55
  "EventHistoryPanel",
57
56
  "NotePanel",
@@ -6,12 +6,12 @@ import Cache from "../utils/browser/Cache";
6
6
 
7
7
  import { UnauthorizedException } from "../exceptions";
8
8
  import type { RequestOptions } from "../utils/fetch/types";
9
-
10
- const LOGIN_PATH = `${BASE}/j_security_check`;
11
- const LOGOUT_PATH = `${BASE}/Logoff`;
12
-
13
- const usernameField = "j_username";
14
- const passwordField = "j_password";
9
+ import {
10
+ loginPasswordField,
11
+ loginPath,
12
+ loginUsernameField,
13
+ logoutPath,
14
+ } from "../constants";
15
15
 
16
16
  /**
17
17
  */
@@ -65,6 +65,10 @@ class Authenticate {
65
65
  /**
66
66
  */
67
67
  createLogin(username: string, password: string): $Shape<RequestOptions> {
68
+ const LOGIN_PATH = loginPath();
69
+ const usernameField = loginUsernameField();
70
+ const passwordField = loginPasswordField();
71
+
68
72
  const encodedUsername = encodeURIComponent(username);
69
73
  const encodedPassword = encodeURIComponent(password);
70
74
 
@@ -97,7 +101,7 @@ class Authenticate {
97
101
  */
98
102
  logout(): Promise<void> {
99
103
  return universalFetch({
100
- url: LOGOUT_PATH,
104
+ url: logoutPath(),
101
105
  }).then(() => {
102
106
  // clear cache because of cached contributions
103
107
  Cache.clear();
@@ -19,7 +19,10 @@ import configureStore from "../redux/store/configureStore";
19
19
  import rehydrate from "./rehydrate";
20
20
  import { BASE } from "../constants/Constants";
21
21
 
22
- import { setAllContentInDataSetting } from "../redux/actions/Preferences";
22
+ import {
23
+ setAllContentInDataSetting,
24
+ setLoginPreferences,
25
+ } from "../redux/actions/Preferences";
23
26
  import { showXHRErrorNotification } from "../redux/actions/Notification";
24
27
 
25
28
  import { handleError } from "../redux/actions/Error";
@@ -99,6 +102,7 @@ const client = ({
99
102
  );
100
103
 
101
104
  setAllContentInDataSetting(store.getState());
105
+ setLoginPreferences(store.getState());
102
106
 
103
107
  // load existing cache from other browser tabs
104
108
  Cache.loadOtherBrowserTabs(() => {
@@ -109,6 +109,15 @@ describe("serverUtil", () => {
109
109
  hasAllContentInData: false,
110
110
  },
111
111
  },
112
+ {
113
+ type: "SET_PREFERENCES",
114
+ payload: {
115
+ "FormClient.login_url": "/BeInformed/j_security_check",
116
+ "FormClient.logout_url": "/BeInformed/Logoff",
117
+ "FormClient.password_field_name": "j_password",
118
+ "FormClient.username_field_name": "j_username",
119
+ },
120
+ },
112
121
  ]);
113
122
  });
114
123
 
@@ -146,6 +155,15 @@ describe("serverUtil", () => {
146
155
  hasAllContentInData: false,
147
156
  },
148
157
  },
158
+ {
159
+ type: "SET_PREFERENCES",
160
+ payload: {
161
+ "FormClient.login_url": "/BeInformed/j_security_check",
162
+ "FormClient.logout_url": "/BeInformed/Logoff",
163
+ "FormClient.password_field_name": "j_password",
164
+ "FormClient.username_field_name": "j_username",
165
+ },
166
+ },
149
167
  ]);
150
168
  });
151
169
  });
@@ -16,6 +16,7 @@ import {
16
16
  setThemePreference,
17
17
  setPreference,
18
18
  setAllContentInDataSetting,
19
+ setLoginPreferences,
19
20
  } from "../redux/actions/Preferences";
20
21
 
21
22
  import { getSetting } from "../constants/Settings";
@@ -126,6 +127,7 @@ const setServerPreferences = (
126
127
  }
127
128
 
128
129
  store.dispatch(setAllContentInDataSetting());
130
+ store.dispatch(setLoginPreferences());
129
131
 
130
132
  if (
131
133
  preferencesProvider &&
@@ -35,10 +35,7 @@ export const updateFormAttribute =
35
35
  options.validate = true;
36
36
  }
37
37
 
38
- if (
39
- newForm.currentFormObject &&
40
- newForm.currentFormObject.equals(formObject)
41
- ) {
38
+ if (newForm.currentFormObject?.equals(formObject)) {
42
39
  newForm.currentFormObject.updateAttribute(attribute, inputvalue);
43
40
  } else {
44
41
  newForm.completedFormObjects.forEach((completeObject) => {
@@ -64,22 +61,12 @@ export const updateFormAttribute =
64
61
  }
65
62
 
66
63
  if (
67
- newForm.currentFormObject &&
68
64
  options.validate &&
69
- newForm.currentFormObject.hasDynamicValidations &&
65
+ newForm.currentFormObject?.hasDynamicValidations &&
70
66
  getSetting("USE_INSTANT_SERVER_VALIDATION")
71
67
  ) {
68
+ // server form validations happens async, don't wait for the form to return
72
69
  dispatch(validateFormObject(newForm));
73
70
  }
74
-
75
71
  return dispatch(updateModel(newForm));
76
72
  };
77
-
78
- /**
79
- * Validate an attribute on a form
80
- */
81
- export const validateFormAttribute =
82
- (form: FormModel): ThunkAction =>
83
- (dispatch: Dispatch) => {
84
- return dispatch(validateFormObject(form));
85
- };
@@ -2,14 +2,23 @@
2
2
  import { isPlainObject } from "../../utils/helpers/objects";
3
3
 
4
4
  import { JsonParseException } from "../../exceptions";
5
- import { setSettings, setSetting } from "../../constants/Settings";
5
+ import { setSetting, setSettings } from "../../constants/Settings";
6
6
 
7
7
  import type {
8
8
  PreferenceValue,
9
9
  ReduxState,
10
10
  SetPreferenceAction,
11
+ SetPreferencesAction,
11
12
  } from "../types";
12
- import { ALL_CONTENT_IN_DATA_SETTING } from "../../constants";
13
+
14
+ import {
15
+ BASE,
16
+ ALL_CONTENT_IN_DATA_SETTING,
17
+ LOGIN_PASSWORD_SETTING,
18
+ LOGIN_PATH_SETTING,
19
+ LOGIN_USERNAME_SETTING,
20
+ LOGOUT_PATH_SETTING,
21
+ } from "../../constants";
13
22
 
14
23
  /**
15
24
  */
@@ -57,6 +66,15 @@ export const setPreference = (
57
66
  },
58
67
  });
59
68
 
69
+ /**
70
+ */
71
+ export const setPreferences = (preferences: Object): SetPreferencesAction => ({
72
+ type: "SET_PREFERENCES",
73
+ payload: {
74
+ ...preferences,
75
+ },
76
+ });
77
+
60
78
  /**
61
79
  */
62
80
  export const setThemePreference = (
@@ -97,3 +115,32 @@ export const setAllContentInDataSetting = (
97
115
  setSetting(ALL_CONTENT_IN_DATA_SETTING, !!allContentInDataSetting);
98
116
  return setPreference(ALL_CONTENT_IN_DATA_SETTING, allContentInDataSetting);
99
117
  };
118
+
119
+ /**
120
+ * Retrieves login settings from runtime preferences and sets them as setting in the preference reducer
121
+ */
122
+ export const setLoginPreferences = (
123
+ state?: ReduxState
124
+ ): SetPreferencesAction => {
125
+ const loginSettings = {
126
+ [LOGIN_PATH_SETTING]: getServerPreferenceValue(
127
+ LOGIN_PATH_SETTING,
128
+ state?.preferences[LOGIN_PATH_SETTING] ?? `${BASE}/j_security_check`
129
+ ),
130
+ [LOGIN_USERNAME_SETTING]: getServerPreferenceValue(
131
+ LOGIN_USERNAME_SETTING,
132
+ state?.preferences[LOGIN_USERNAME_SETTING] ?? "j_username"
133
+ ),
134
+ [LOGIN_PASSWORD_SETTING]: getServerPreferenceValue(
135
+ LOGIN_PASSWORD_SETTING,
136
+ state?.preferences[LOGIN_PASSWORD_SETTING] ?? "j_password"
137
+ ),
138
+ [LOGOUT_PATH_SETTING]: getServerPreferenceValue(
139
+ LOGOUT_PATH_SETTING,
140
+ state?.preferences[LOGOUT_PATH_SETTING] ?? `${BASE}/Logoff`
141
+ ),
142
+ };
143
+
144
+ setSettings(loginSettings);
145
+ return setPreferences(loginSettings);
146
+ };
@@ -4,6 +4,7 @@ import thunk from "redux-thunk";
4
4
  import {
5
5
  setServerPreference,
6
6
  setPreference,
7
+ setPreferences,
7
8
  setThemePreference,
8
9
  } from "../Preferences";
9
10
 
@@ -31,6 +32,16 @@ describe("preference actions", () => {
31
32
  ]);
32
33
  });
33
34
 
35
+ it("set preferences", () => {
36
+ const store = mockStore({ preferences: {} });
37
+
38
+ store.dispatch(setPreferences({ name: "value" }));
39
+
40
+ expect(store.getActions()).toStrictEqual([
41
+ { type: "SET_PREFERENCES", payload: { name: "value" } },
42
+ ]);
43
+ });
44
+
34
45
  it("theme settings", () => {
35
46
  const store = mockStore({ preferences: {} });
36
47
 
@@ -11,7 +11,14 @@ const PreferencesReducer: Reducer<PreferencesState, ReduxAction> = (
11
11
  state = initialState,
12
12
  action
13
13
  ) => {
14
- if (action && action.type === "SET_PREFERENCE") {
14
+ if (action?.type === "SET_PREFERENCE") {
15
+ return {
16
+ ...state,
17
+ ...action.payload,
18
+ };
19
+ }
20
+
21
+ if (action?.type === "SET_PREFERENCES") {
15
22
  return {
16
23
  ...state,
17
24
  ...action.payload,
@@ -16,4 +16,16 @@ describe("preferences reducer", () => {
16
16
  name: "value",
17
17
  });
18
18
  });
19
+
20
+ it("should handle SET_PREFERENCES", () => {
21
+ expect(
22
+ PreferencesReducer([], {
23
+ type: "SET_PREFERENCES",
24
+ payload: { name: "value", name2: "value2" },
25
+ })
26
+ ).toStrictEqual({
27
+ name: "value",
28
+ name2: "value2",
29
+ });
30
+ });
19
31
  });