@beinformed/ui 1.23.3-beta.0 → 1.23.4

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 (1160) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/esm/builder/index.js +0 -1
  3. package/esm/builder/index.js.map +1 -1
  4. package/esm/builder/mergeLayoutHintConfigurations.js +11 -1
  5. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  6. package/esm/constants/Constants.js +28 -23
  7. package/esm/constants/Constants.js.map +1 -1
  8. package/esm/constants/LayoutHintConfig.js +0 -1
  9. package/esm/constants/LayoutHintConfig.js.map +1 -1
  10. package/esm/constants/LayoutHints.js +27 -11
  11. package/esm/constants/LayoutHints.js.map +1 -1
  12. package/esm/constants/Settings.js +15 -9
  13. package/esm/constants/Settings.js.map +1 -1
  14. package/esm/constants/index.js +0 -1
  15. package/esm/constants/index.js.map +1 -1
  16. package/esm/exceptions/ConfigurationException.js +2 -2
  17. package/esm/exceptions/ConfigurationException.js.map +1 -1
  18. package/esm/exceptions/FetchException.js +28 -9
  19. package/esm/exceptions/FetchException.js.map +1 -1
  20. package/esm/exceptions/IllegalArgumentException.js +2 -1
  21. package/esm/exceptions/IllegalArgumentException.js.map +1 -1
  22. package/esm/exceptions/IllegalReturnException.js +2 -1
  23. package/esm/exceptions/IllegalReturnException.js.map +1 -1
  24. package/esm/exceptions/IllegalStateException.js +2 -1
  25. package/esm/exceptions/IllegalStateException.js.map +1 -1
  26. package/esm/exceptions/JsonParseException.js +2 -1
  27. package/esm/exceptions/JsonParseException.js.map +1 -1
  28. package/esm/exceptions/MissingPropertyException.js +2 -1
  29. package/esm/exceptions/MissingPropertyException.js.map +1 -1
  30. package/esm/exceptions/NetworkException.js +10 -1
  31. package/esm/exceptions/NetworkException.js.map +1 -1
  32. package/esm/exceptions/NotAllowedUriException.js +2 -1
  33. package/esm/exceptions/NotAllowedUriException.js.map +1 -1
  34. package/esm/exceptions/NotFoundException.js +11 -1
  35. package/esm/exceptions/NotFoundException.js.map +1 -1
  36. package/esm/exceptions/ServerRequestException.js +2 -1
  37. package/esm/exceptions/ServerRequestException.js.map +1 -1
  38. package/esm/exceptions/ThemePropertyException.js +2 -1
  39. package/esm/exceptions/ThemePropertyException.js.map +1 -1
  40. package/esm/exceptions/TimeoutException.js +6 -1
  41. package/esm/exceptions/TimeoutException.js.map +1 -1
  42. package/esm/exceptions/UnauthorizedException.js +10 -1
  43. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  44. package/esm/exceptions/UnsupportedOperationException.js +2 -1
  45. package/esm/exceptions/UnsupportedOperationException.js.map +1 -1
  46. package/esm/exceptions/index.js +0 -1
  47. package/esm/exceptions/index.js.map +1 -1
  48. package/esm/hooks/index.js +0 -1
  49. package/esm/hooks/index.js.map +1 -1
  50. package/esm/hooks/useAllFormsOnModel.js +16 -0
  51. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  52. package/esm/hooks/useAuthentication.js +23 -9
  53. package/esm/hooks/useAuthentication.js.map +1 -1
  54. package/esm/hooks/useContent.js +10 -3
  55. package/esm/hooks/useContent.js.map +1 -1
  56. package/esm/hooks/useDeepCompareEffect.js +6 -2
  57. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  58. package/esm/hooks/useForm.js +13 -4
  59. package/esm/hooks/useForm.js.map +1 -1
  60. package/esm/hooks/useI18n.js +7 -3
  61. package/esm/hooks/useI18n.js.map +1 -1
  62. package/esm/hooks/useModal.js +3 -0
  63. package/esm/hooks/useModal.js.map +1 -1
  64. package/esm/hooks/useModelCatalog.js +21 -10
  65. package/esm/hooks/useModelCatalog.js.map +1 -1
  66. package/esm/hooks/useModels.js +1 -1
  67. package/esm/hooks/useModels.js.map +1 -1
  68. package/esm/hooks/useModularUI.js +11 -7
  69. package/esm/hooks/useModularUI.js.map +1 -1
  70. package/esm/hooks/useModularUIBasic.js +12 -2
  71. package/esm/hooks/useModularUIBasic.js.map +1 -1
  72. package/esm/hooks/useModularUIModel.js +10 -11
  73. package/esm/hooks/useModularUIModel.js.map +1 -1
  74. package/esm/hooks/useModularUIRequest.js +1 -2
  75. package/esm/hooks/useModularUIRequest.js.map +1 -1
  76. package/esm/hooks/useNotification.js +2 -2
  77. package/esm/hooks/useNotification.js.map +1 -1
  78. package/esm/hooks/usePreference.js +1 -1
  79. package/esm/hooks/usePreference.js.map +1 -1
  80. package/esm/hooks/useProgressIndicator.js +2 -3
  81. package/esm/hooks/useProgressIndicator.js.map +1 -1
  82. package/esm/hooks/useRouter.js +10 -7
  83. package/esm/hooks/useRouter.js.map +1 -1
  84. package/esm/i18n/Locale.js +40 -15
  85. package/esm/i18n/Locale.js.map +1 -1
  86. package/esm/i18n/Locales.js +33 -13
  87. package/esm/i18n/Locales.js.map +1 -1
  88. package/esm/i18n/Message.js +5 -3
  89. package/esm/i18n/Message.js.map +1 -1
  90. package/esm/i18n/index.js +0 -1
  91. package/esm/i18n/index.js.map +1 -1
  92. package/esm/i18n/languages.js +0 -1
  93. package/esm/i18n/languages.js.map +1 -1
  94. package/esm/i18n/translations/beinformed_error_messages_en.nl.js +0 -1
  95. package/esm/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  96. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js +0 -1
  97. package/esm/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  98. package/esm/i18n/withMessage.js +4 -1
  99. package/esm/i18n/withMessage.js.map +1 -1
  100. package/esm/index.js +0 -1
  101. package/esm/index.js.map +1 -1
  102. package/esm/models/actions/ActionCollection.js +26 -13
  103. package/esm/models/actions/ActionCollection.js.map +1 -1
  104. package/esm/models/actions/ActionModel.js +60 -23
  105. package/esm/models/actions/ActionModel.js.map +1 -1
  106. package/esm/models/application/ApplicationModel.js +34 -14
  107. package/esm/models/application/ApplicationModel.js.map +1 -1
  108. package/esm/models/attributes/AttributeCollection.js +81 -27
  109. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  110. package/esm/models/attributes/AttributeContent.js +56 -23
  111. package/esm/models/attributes/AttributeContent.js.map +1 -1
  112. package/esm/models/attributes/AttributeDataHelper.js +83 -33
  113. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  114. package/esm/models/attributes/AttributeModel.js +258 -102
  115. package/esm/models/attributes/AttributeModel.js.map +1 -1
  116. package/esm/models/attributes/AttributeSetModel.js +17 -6
  117. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  118. package/esm/models/attributes/BooleanAttributeModel.js +76 -29
  119. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  120. package/esm/models/attributes/CaptchaAttributeModel.js +8 -5
  121. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  122. package/esm/models/attributes/ChoiceAttributeModel.js +108 -38
  123. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  124. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +80 -27
  125. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  126. package/esm/models/attributes/ChoiceAttributeOptionModel.js +102 -34
  127. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  128. package/esm/models/attributes/CompositeAttributeChildCollection.js +64 -23
  129. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  130. package/esm/models/attributes/CompositeAttributeModel.js +99 -40
  131. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  132. package/esm/models/attributes/DatetimeAttributeModel.js +145 -51
  133. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  134. package/esm/models/attributes/HelptextAttributeModel.js +17 -7
  135. package/esm/models/attributes/HelptextAttributeModel.js.map +1 -1
  136. package/esm/models/attributes/LabelAttributeModel.js +8 -4
  137. package/esm/models/attributes/LabelAttributeModel.js.map +1 -1
  138. package/esm/models/attributes/MemoAttributeModel.js +10 -6
  139. package/esm/models/attributes/MemoAttributeModel.js.map +1 -1
  140. package/esm/models/attributes/MoneyAttributeModel.js +10 -5
  141. package/esm/models/attributes/MoneyAttributeModel.js.map +1 -1
  142. package/esm/models/attributes/NumberAttributeModel.js +49 -22
  143. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  144. package/esm/models/attributes/PasswordAttributeModel.js +65 -23
  145. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  146. package/esm/models/attributes/StringAttributeModel.js +72 -29
  147. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  148. package/esm/models/attributes/UploadAttributeModel.js +62 -21
  149. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  150. package/esm/models/attributes/XMLAttributeModel.js +10 -5
  151. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  152. package/esm/models/attributes/_createAttribute.js +21 -7
  153. package/esm/models/attributes/_createAttribute.js.map +1 -1
  154. package/esm/models/attributes/input-constraints/BSNConstraint.js +19 -8
  155. package/esm/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  156. package/esm/models/attributes/input-constraints/ConstraintCollection.js +10 -3
  157. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  158. package/esm/models/attributes/input-constraints/ConstraintModel.js +22 -6
  159. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  160. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js +59 -16
  161. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  162. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +22 -8
  163. package/esm/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  164. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +22 -8
  165. package/esm/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  166. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js +28 -10
  167. package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  168. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js +18 -7
  169. package/esm/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  170. package/esm/models/attributes/input-constraints/FileSizeConstraint.js +24 -10
  171. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  172. package/esm/models/attributes/input-constraints/IBANConstraint.js +13 -6
  173. package/esm/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  174. package/esm/models/attributes/input-constraints/MandatoryConstraint.js +15 -8
  175. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  176. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js +25 -8
  177. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  178. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js +53 -17
  179. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  180. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js +41 -15
  181. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  182. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js +39 -15
  183. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  184. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js +20 -8
  185. package/esm/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  186. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +12 -7
  187. package/esm/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  188. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +17 -7
  189. package/esm/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  190. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +17 -7
  191. package/esm/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  192. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +22 -8
  193. package/esm/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  194. package/esm/models/attributes/input-constraints/RangeConstraint.js +57 -22
  195. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  196. package/esm/models/attributes/input-constraints/RegexConstraint.js +18 -7
  197. package/esm/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  198. package/esm/models/attributes/input-constraints/StringLengthConstraint.js +50 -14
  199. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  200. package/esm/models/attributes/input-constraints/XMLConstraint.js +17 -8
  201. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  202. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +17 -9
  203. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  204. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +84 -30
  205. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  206. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +11 -5
  207. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  208. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +10 -4
  209. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  210. package/esm/models/base/BaseCollection.js +67 -27
  211. package/esm/models/base/BaseCollection.js.map +1 -1
  212. package/esm/models/base/BaseModel.js +39 -14
  213. package/esm/models/base/BaseModel.js.map +1 -1
  214. package/esm/models/base/ResourceCollection.js +5 -2
  215. package/esm/models/base/ResourceCollection.js.map +1 -1
  216. package/esm/models/base/ResourceModel.js +53 -21
  217. package/esm/models/base/ResourceModel.js.map +1 -1
  218. package/esm/models/caseview/CaseViewModel.js +46 -16
  219. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  220. package/esm/models/concepts/BusinessScenarioModel.js +39 -10
  221. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  222. package/esm/models/concepts/ConceptDetailModel.js +85 -32
  223. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  224. package/esm/models/concepts/ConceptIndexModel.js +36 -12
  225. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  226. package/esm/models/concepts/ConceptLinkModel.js +45 -16
  227. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  228. package/esm/models/concepts/ConceptRelationCollection.js +20 -7
  229. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  230. package/esm/models/concepts/ConceptRelationModel.js +22 -8
  231. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  232. package/esm/models/concepts/ConceptTypeDetailModel.js +25 -12
  233. package/esm/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  234. package/esm/models/concepts/SourceReferenceCollection.js +5 -2
  235. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  236. package/esm/models/concepts/SourceReferenceModel.js +21 -10
  237. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  238. package/esm/models/content/ContentIndexModel.js +37 -13
  239. package/esm/models/content/ContentIndexModel.js.map +1 -1
  240. package/esm/models/content/ContentLinkModel.js +56 -19
  241. package/esm/models/content/ContentLinkModel.js.map +1 -1
  242. package/esm/models/content/ContentModel.js +59 -22
  243. package/esm/models/content/ContentModel.js.map +1 -1
  244. package/esm/models/content/ContentTOCModel.js +45 -17
  245. package/esm/models/content/ContentTOCModel.js.map +1 -1
  246. package/esm/models/content/ContentTypeModel.js +16 -8
  247. package/esm/models/content/ContentTypeModel.js.map +1 -1
  248. package/esm/models/content/SectionModel.js +57 -20
  249. package/esm/models/content/SectionModel.js.map +1 -1
  250. package/esm/models/content/SubSectionModel.js +43 -16
  251. package/esm/models/content/SubSectionModel.js.map +1 -1
  252. package/esm/models/contentconfiguration/ContentConfiguration.js +20 -6
  253. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  254. package/esm/models/contentconfiguration/ContentConfigurationElements.js +48 -11
  255. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  256. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js +13 -3
  257. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  258. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js +15 -5
  259. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  260. package/esm/models/contentconfiguration/ContentConfigurationResults.js +32 -13
  261. package/esm/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  262. package/esm/models/detail/DetailModel.js +54 -21
  263. package/esm/models/detail/DetailModel.js.map +1 -1
  264. package/esm/models/error/ErrorCollection.js +29 -11
  265. package/esm/models/error/ErrorCollection.js.map +1 -1
  266. package/esm/models/error/ErrorModel.js +21 -8
  267. package/esm/models/error/ErrorModel.js.map +1 -1
  268. package/esm/models/error/ErrorResponse.js +93 -37
  269. package/esm/models/error/ErrorResponse.js.map +1 -1
  270. package/esm/models/filters/AssignmentFilterModel.js +45 -19
  271. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  272. package/esm/models/filters/BaseFilterModel.js +58 -25
  273. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  274. package/esm/models/filters/ConceptIndexFilterModel.js +5 -1
  275. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  276. package/esm/models/filters/FilterCollection.js +44 -11
  277. package/esm/models/filters/FilterCollection.js.map +1 -1
  278. package/esm/models/filters/FilterModel.js +1 -2
  279. package/esm/models/filters/FilterModel.js.map +1 -1
  280. package/esm/models/filters/RangeFilterModel.js +6 -1
  281. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  282. package/esm/models/form/FormModel.js +332 -136
  283. package/esm/models/form/FormModel.js.map +1 -1
  284. package/esm/models/form/FormObjectModel.js +141 -55
  285. package/esm/models/form/FormObjectModel.js.map +1 -1
  286. package/esm/models/grouping/GroupingModel.js +58 -20
  287. package/esm/models/grouping/GroupingModel.js.map +1 -1
  288. package/esm/models/href/Href.js +121 -47
  289. package/esm/models/href/Href.js.map +1 -1
  290. package/esm/models/href/ListHref.js +32 -11
  291. package/esm/models/href/ListHref.js.map +1 -1
  292. package/esm/models/index.js +0 -1
  293. package/esm/models/index.js.map +1 -1
  294. package/esm/models/layouthint/LayoutHintCollection.js +32 -9
  295. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  296. package/esm/models/links/LinkCollection.js +44 -15
  297. package/esm/models/links/LinkCollection.js.map +1 -1
  298. package/esm/models/links/LinkModel.js +57 -21
  299. package/esm/models/links/LinkModel.js.map +1 -1
  300. package/esm/models/links/normalizeLinkJSON.js +21 -5
  301. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  302. package/esm/models/list/ListDetailModel.js +79 -31
  303. package/esm/models/list/ListDetailModel.js.map +1 -1
  304. package/esm/models/list/ListHeaderModel.js +28 -10
  305. package/esm/models/list/ListHeaderModel.js.map +1 -1
  306. package/esm/models/list/ListItemCollection.js +20 -4
  307. package/esm/models/list/ListItemCollection.js.map +1 -1
  308. package/esm/models/list/ListItemModel.js +23 -7
  309. package/esm/models/list/ListItemModel.js.map +1 -1
  310. package/esm/models/list/ListModel.js +115 -38
  311. package/esm/models/list/ListModel.js.map +1 -1
  312. package/esm/models/lookup/LookupOptionCollection.js +6 -4
  313. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  314. package/esm/models/lookup/LookupOptionsModel.js +16 -5
  315. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  316. package/esm/models/modelcatalog/ModelCatalogModel.js +14 -6
  317. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  318. package/esm/models/paging/PagesizeModel.js +12 -4
  319. package/esm/models/paging/PagesizeModel.js.map +1 -1
  320. package/esm/models/paging/PagingModel.js +26 -11
  321. package/esm/models/paging/PagingModel.js.map +1 -1
  322. package/esm/models/panels/GroupingPanelModel.js +41 -14
  323. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  324. package/esm/models/parameter/Parameter.js +41 -14
  325. package/esm/models/parameter/Parameter.js.map +1 -1
  326. package/esm/models/process/ProcessStatusSettingsModel.js +24 -10
  327. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  328. package/esm/models/resolveModel.js +7 -2
  329. package/esm/models/resolveModel.js.map +1 -1
  330. package/esm/models/search/CaseSearchModel.js +9 -3
  331. package/esm/models/search/CaseSearchModel.js.map +1 -1
  332. package/esm/models/sorting/SortOptionModel.js +41 -15
  333. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  334. package/esm/models/sorting/SortingModel.js +28 -9
  335. package/esm/models/sorting/SortingModel.js.map +1 -1
  336. package/esm/models/tab/TabModel.js +41 -14
  337. package/esm/models/tab/TabModel.js.map +1 -1
  338. package/esm/models/taskgroup/TaskGroupCollection.js +2 -1
  339. package/esm/models/taskgroup/TaskGroupCollection.js.map +1 -1
  340. package/esm/models/taskgroup/TaskGroupModel.js +17 -7
  341. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  342. package/esm/models/user/UserModel.js +10 -5
  343. package/esm/models/user/UserModel.js.map +1 -1
  344. package/esm/models/user/UserProfileModel.js +10 -2
  345. package/esm/models/user/UserProfileModel.js.map +1 -1
  346. package/esm/models/user/UserServicesModel.js +27 -11
  347. package/esm/models/user/UserServicesModel.js.map +1 -1
  348. package/esm/modularui/Authenticate.js +56 -21
  349. package/esm/modularui/Authenticate.js.map +1 -1
  350. package/esm/modularui/ModularUIError.js +8 -3
  351. package/esm/modularui/ModularUIError.js.map +1 -1
  352. package/esm/modularui/ModularUIRequest.js +194 -77
  353. package/esm/modularui/ModularUIRequest.js.map +1 -1
  354. package/esm/modularui/ModularUIResponse.js +37 -13
  355. package/esm/modularui/ModularUIResponse.js.map +1 -1
  356. package/esm/modularui/index.js +0 -1
  357. package/esm/modularui/index.js.map +1 -1
  358. package/esm/react/ErrorBoundary.js +12 -2
  359. package/esm/react/ErrorBoundary.js.map +1 -1
  360. package/esm/react/ErrorBoundaryFallback.js +2 -2
  361. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  362. package/esm/react/index.js +0 -1
  363. package/esm/react/index.js.map +1 -1
  364. package/esm/react/utils.js +7 -3
  365. package/esm/react/utils.js.map +1 -1
  366. package/esm/react-client/Init.js +2 -1
  367. package/esm/react-client/Init.js.map +1 -1
  368. package/esm/react-client/client.js +29 -15
  369. package/esm/react-client/client.js.map +1 -1
  370. package/esm/react-client/contextPath.js +8 -3
  371. package/esm/react-client/contextPath.js.map +1 -1
  372. package/esm/react-client/index.js +0 -1
  373. package/esm/react-client/index.js.map +1 -1
  374. package/esm/react-client/rehydrate.js +19 -4
  375. package/esm/react-client/rehydrate.js.map +1 -1
  376. package/esm/react-server/contextPath.js +2 -2
  377. package/esm/react-server/contextPath.js.map +1 -1
  378. package/esm/react-server/createSSRComplete.js +12 -2
  379. package/esm/react-server/createSSRComplete.js.map +1 -1
  380. package/esm/react-server/htmlpage.js +12 -25
  381. package/esm/react-server/htmlpage.js.map +1 -1
  382. package/esm/react-server/index.js +0 -1
  383. package/esm/react-server/index.js.map +1 -1
  384. package/esm/react-server/renderSSRComplete.js +4 -4
  385. package/esm/react-server/renderSSRComplete.js.map +1 -1
  386. package/esm/react-server/renderSSRMinimal.js +2 -1
  387. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  388. package/esm/react-server/requestInformation.js +18 -9
  389. package/esm/react-server/requestInformation.js.map +1 -1
  390. package/esm/react-server/serverNoSSR.js +7 -3
  391. package/esm/react-server/serverNoSSR.js.map +1 -1
  392. package/esm/react-server/serverSSR.js +2 -1
  393. package/esm/react-server/serverSSR.js.map +1 -1
  394. package/esm/react-server/serverUtil.js +37 -13
  395. package/esm/react-server/serverUtil.js.map +1 -1
  396. package/esm/react-theme/ThemeProvider.js +2 -1
  397. package/esm/react-theme/ThemeProvider.js.map +1 -1
  398. package/esm/react-theme/createTheme.js +20 -7
  399. package/esm/react-theme/createTheme.js.map +1 -1
  400. package/esm/react-theme/index.js +0 -1
  401. package/esm/react-theme/index.js.map +1 -1
  402. package/esm/react-theme/useTheme.js +2 -1
  403. package/esm/react-theme/useTheme.js.map +1 -1
  404. package/esm/react-theme/utils/background.js +5 -2
  405. package/esm/react-theme/utils/background.js.map +1 -1
  406. package/esm/react-theme/utils/colors.js +9 -3
  407. package/esm/react-theme/utils/colors.js.map +1 -1
  408. package/esm/react-theme/utils/contrast.js +27 -8
  409. package/esm/react-theme/utils/contrast.js.map +1 -1
  410. package/esm/react-theme/utils/corners.js +10 -4
  411. package/esm/react-theme/utils/corners.js.map +1 -1
  412. package/esm/react-theme/utils/spacers.js +22 -7
  413. package/esm/react-theme/utils/spacers.js.map +1 -1
  414. package/esm/react-theme/utils/themeProps.js +22 -8
  415. package/esm/react-theme/utils/themeProps.js.map +1 -1
  416. package/esm/redux/_i18n/actions.js +3 -3
  417. package/esm/redux/_i18n/actions.js.map +1 -1
  418. package/esm/redux/_i18n/index.js +0 -1
  419. package/esm/redux/_i18n/index.js.map +1 -1
  420. package/esm/redux/_i18n/reducer.js +16 -13
  421. package/esm/redux/_i18n/reducer.js.map +1 -1
  422. package/esm/redux/_modularui/actions.js +48 -36
  423. package/esm/redux/_modularui/actions.js.map +1 -1
  424. package/esm/redux/_modularui/connector.js +18 -21
  425. package/esm/redux/_modularui/connector.js.map +1 -1
  426. package/esm/redux/_modularui/index.js +0 -1
  427. package/esm/redux/_modularui/index.js.map +1 -1
  428. package/esm/redux/_modularui/middleware.js +22 -8
  429. package/esm/redux/_modularui/middleware.js.map +1 -1
  430. package/esm/redux/_modularui/modularuiUtils.js +25 -10
  431. package/esm/redux/_modularui/modularuiUtils.js.map +1 -1
  432. package/esm/redux/_modularui/reducer.js +39 -19
  433. package/esm/redux/_modularui/reducer.js.map +1 -1
  434. package/esm/redux/_modularui/selectors.js +62 -20
  435. package/esm/redux/_modularui/selectors.js.map +1 -1
  436. package/esm/redux/_modularui/withModularUI.js +3 -3
  437. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  438. package/esm/redux/_router/actions.js +5 -7
  439. package/esm/redux/_router/actions.js.map +1 -1
  440. package/esm/redux/_router/connectors.js +14 -11
  441. package/esm/redux/_router/connectors.js.map +1 -1
  442. package/esm/redux/_router/index.js +0 -1
  443. package/esm/redux/_router/index.js.map +1 -1
  444. package/esm/redux/_router/middleware.js +1 -2
  445. package/esm/redux/_router/middleware.js.map +1 -1
  446. package/esm/redux/_router/reducer.js +3 -3
  447. package/esm/redux/_router/reducer.js.map +1 -1
  448. package/esm/redux/actions/Application.js +4 -2
  449. package/esm/redux/actions/Application.js.map +1 -1
  450. package/esm/redux/actions/Authorization.js +14 -8
  451. package/esm/redux/actions/Authorization.js.map +1 -1
  452. package/esm/redux/actions/Error.js +13 -5
  453. package/esm/redux/actions/Error.js.map +1 -1
  454. package/esm/redux/actions/Form.js +3 -2
  455. package/esm/redux/actions/Form.js.map +1 -1
  456. package/esm/redux/actions/FormAttributeSet.js +9 -1
  457. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  458. package/esm/redux/actions/FormAttributeSetRepeatable.js +3 -3
  459. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  460. package/esm/redux/actions/FormAutosave.js +6 -4
  461. package/esm/redux/actions/FormAutosave.js.map +1 -1
  462. package/esm/redux/actions/FormAutosubmit.js +4 -1
  463. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  464. package/esm/redux/actions/FormValidations.js +7 -3
  465. package/esm/redux/actions/FormValidations.js.map +1 -1
  466. package/esm/redux/actions/Modals.js +1 -3
  467. package/esm/redux/actions/Modals.js.map +1 -1
  468. package/esm/redux/actions/Notification.js +10 -5
  469. package/esm/redux/actions/Notification.js.map +1 -1
  470. package/esm/redux/actions/Preferences.js +26 -14
  471. package/esm/redux/actions/Preferences.js.map +1 -1
  472. package/esm/redux/actions/ProgressIndicator.js +4 -5
  473. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  474. package/esm/redux/actions/SignIn.js +8 -5
  475. package/esm/redux/actions/SignIn.js.map +1 -1
  476. package/esm/redux/actions/SignOut.js +2 -2
  477. package/esm/redux/actions/SignOut.js.map +1 -1
  478. package/esm/redux/actions/index.js +0 -1
  479. package/esm/redux/actions/index.js.map +1 -1
  480. package/esm/redux/connectors/Application.js +1 -1
  481. package/esm/redux/connectors/Application.js.map +1 -1
  482. package/esm/redux/connectors/Breadcrumb.js +3 -2
  483. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  484. package/esm/redux/connectors/CaseView.js +1 -1
  485. package/esm/redux/connectors/CaseView.js.map +1 -1
  486. package/esm/redux/connectors/ConceptDetail.js +5 -2
  487. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  488. package/esm/redux/connectors/ContentBrowser.js +1 -1
  489. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  490. package/esm/redux/connectors/ContentDetail.js +5 -2
  491. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  492. package/esm/redux/connectors/ContentDetailSection.js +5 -2
  493. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  494. package/esm/redux/connectors/Form.js +10 -3
  495. package/esm/redux/connectors/Form.js.map +1 -1
  496. package/esm/redux/connectors/FormAttributeSet.js +3 -2
  497. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  498. package/esm/redux/connectors/ListDetail.js +1 -1
  499. package/esm/redux/connectors/ListDetail.js.map +1 -1
  500. package/esm/redux/connectors/Modal.js +5 -1
  501. package/esm/redux/connectors/Modal.js.map +1 -1
  502. package/esm/redux/connectors/ModelCatalog.js +1 -1
  503. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  504. package/esm/redux/connectors/Notification.js +3 -2
  505. package/esm/redux/connectors/Notification.js.map +1 -1
  506. package/esm/redux/connectors/PanelRenderer.js +5 -1
  507. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  508. package/esm/redux/connectors/Preferences.js +4 -2
  509. package/esm/redux/connectors/Preferences.js.map +1 -1
  510. package/esm/redux/connectors/Progress.js +1 -2
  511. package/esm/redux/connectors/Progress.js.map +1 -1
  512. package/esm/redux/connectors/ProgressIndicator.js +3 -2
  513. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  514. package/esm/redux/connectors/QuickSearch.js +1 -2
  515. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  516. package/esm/redux/connectors/SignIn.js +6 -3
  517. package/esm/redux/connectors/SignIn.js.map +1 -1
  518. package/esm/redux/connectors/SignOut.js +6 -4
  519. package/esm/redux/connectors/SignOut.js.map +1 -1
  520. package/esm/redux/connectors/Tab.js +1 -1
  521. package/esm/redux/connectors/Tab.js.map +1 -1
  522. package/esm/redux/connectors/index.js +0 -1
  523. package/esm/redux/connectors/index.js.map +1 -1
  524. package/esm/redux/index.js +7 -16
  525. package/esm/redux/index.js.map +1 -1
  526. package/esm/redux/reducers/AuthReducer.js +14 -13
  527. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  528. package/esm/redux/reducers/ErrorReducer.js +4 -3
  529. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  530. package/esm/redux/reducers/ModalsReducer.js +15 -11
  531. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  532. package/esm/redux/reducers/NotificationReducer.js +8 -7
  533. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  534. package/esm/redux/reducers/PreferencesReducer.js +7 -7
  535. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  536. package/esm/redux/reducers/ProgressIndicatorReducer.js +15 -11
  537. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  538. package/esm/redux/reducers/createReducer.js +1 -1
  539. package/esm/redux/reducers/createReducer.js.map +1 -1
  540. package/esm/redux/reducers/index.js +0 -1
  541. package/esm/redux/reducers/index.js.map +1 -1
  542. package/esm/redux/selectors/i18n.js +4 -5
  543. package/esm/redux/selectors/i18n.js.map +1 -1
  544. package/esm/redux/selectors/index.js +0 -1
  545. package/esm/redux/selectors/index.js.map +1 -1
  546. package/esm/redux/store/beforeRenderHooks.js +1 -2
  547. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  548. package/esm/redux/store/configureStore.js +7 -3
  549. package/esm/redux/store/configureStore.js.map +1 -1
  550. package/esm/utils/browser/Cache.js +44 -17
  551. package/esm/utils/browser/Cache.js.map +1 -1
  552. package/esm/utils/browser/Cookies.js +9 -4
  553. package/esm/utils/browser/Cookies.js.map +1 -1
  554. package/esm/utils/datetime/DateTimeUtil.js +110 -53
  555. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  556. package/esm/utils/fetch/serverFetch.js +8 -2
  557. package/esm/utils/fetch/serverFetch.js.map +1 -1
  558. package/esm/utils/fetch/universalFetch.js +17 -6
  559. package/esm/utils/fetch/universalFetch.js.map +1 -1
  560. package/esm/utils/fetch/xhr.js +101 -42
  561. package/esm/utils/fetch/xhr.js.map +1 -1
  562. package/esm/utils/helpers/checkResource.js +6 -6
  563. package/esm/utils/helpers/checkResource.js.map +1 -1
  564. package/esm/utils/helpers/createHash.js +5 -3
  565. package/esm/utils/helpers/createHash.js.map +1 -1
  566. package/esm/utils/helpers/createUUID.js +1 -1
  567. package/esm/utils/helpers/createUUID.js.map +1 -1
  568. package/esm/utils/helpers/objects.js +8 -5
  569. package/esm/utils/helpers/objects.js.map +1 -1
  570. package/esm/utils/helpers/sanitizeHtml.js +9 -7
  571. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  572. package/esm/utils/helpers/text.js +3 -2
  573. package/esm/utils/helpers/text.js.map +1 -1
  574. package/esm/utils/index.js +3 -8
  575. package/esm/utils/index.js.map +1 -1
  576. package/esm/utils/number/DecimalFormat.js +124 -43
  577. package/esm/utils/number/DecimalFormat.js.map +1 -1
  578. package/esm/utils/number/formatValue.js +18 -5
  579. package/esm/utils/number/formatValue.js.map +1 -1
  580. package/esm/utils/number/parseNumbers.js +17 -5
  581. package/esm/utils/number/parseNumbers.js.map +1 -1
  582. package/lib/builder/index.js +3 -0
  583. package/lib/builder/index.js.map +1 -1
  584. package/lib/builder/mergeLayoutHintConfigurations.js +13 -1
  585. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  586. package/lib/constants/Constants.js +32 -25
  587. package/lib/constants/Constants.js.map +1 -1
  588. package/lib/constants/LayoutHintConfig.js.map +1 -1
  589. package/lib/constants/LayoutHints.js +29 -9
  590. package/lib/constants/LayoutHints.js.map +1 -1
  591. package/lib/constants/Settings.js +38 -9
  592. package/lib/constants/Settings.js.map +1 -1
  593. package/lib/constants/index.js +7 -0
  594. package/lib/constants/index.js.map +1 -1
  595. package/lib/exceptions/ConfigurationException.js +2 -0
  596. package/lib/exceptions/ConfigurationException.js.map +1 -1
  597. package/lib/exceptions/FetchException.js +27 -9
  598. package/lib/exceptions/FetchException.js.map +1 -1
  599. package/lib/exceptions/IllegalArgumentException.js +3 -0
  600. package/lib/exceptions/IllegalArgumentException.js.map +1 -1
  601. package/lib/exceptions/IllegalReturnException.js +3 -0
  602. package/lib/exceptions/IllegalReturnException.js.map +1 -1
  603. package/lib/exceptions/IllegalStateException.js +3 -0
  604. package/lib/exceptions/IllegalStateException.js.map +1 -1
  605. package/lib/exceptions/JsonParseException.js +3 -0
  606. package/lib/exceptions/JsonParseException.js.map +1 -1
  607. package/lib/exceptions/MissingPropertyException.js +3 -0
  608. package/lib/exceptions/MissingPropertyException.js.map +1 -1
  609. package/lib/exceptions/NetworkException.js +10 -1
  610. package/lib/exceptions/NetworkException.js.map +1 -1
  611. package/lib/exceptions/NotAllowedUriException.js +3 -0
  612. package/lib/exceptions/NotAllowedUriException.js.map +1 -1
  613. package/lib/exceptions/NotFoundException.js +10 -1
  614. package/lib/exceptions/NotFoundException.js.map +1 -1
  615. package/lib/exceptions/ServerRequestException.js +3 -0
  616. package/lib/exceptions/ServerRequestException.js.map +1 -1
  617. package/lib/exceptions/ThemePropertyException.js +3 -0
  618. package/lib/exceptions/ThemePropertyException.js.map +1 -1
  619. package/lib/exceptions/TimeoutException.js +10 -1
  620. package/lib/exceptions/TimeoutException.js.map +1 -1
  621. package/lib/exceptions/UnauthorizedException.js +9 -1
  622. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  623. package/lib/exceptions/UnsupportedOperationException.js +3 -0
  624. package/lib/exceptions/UnsupportedOperationException.js.map +1 -1
  625. package/lib/exceptions/index.js +16 -0
  626. package/lib/exceptions/index.js.map +1 -1
  627. package/lib/hooks/index.js +33 -0
  628. package/lib/hooks/index.js.map +1 -1
  629. package/lib/hooks/useAllFormsOnModel.js +23 -0
  630. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  631. package/lib/hooks/useAuthentication.js +35 -8
  632. package/lib/hooks/useAuthentication.js.map +1 -1
  633. package/lib/hooks/useContent.js +16 -3
  634. package/lib/hooks/useContent.js.map +1 -1
  635. package/lib/hooks/useDeepCompareEffect.js +12 -1
  636. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  637. package/lib/hooks/useForm.js +27 -3
  638. package/lib/hooks/useForm.js.map +1 -1
  639. package/lib/hooks/useI18n.js +15 -3
  640. package/lib/hooks/useI18n.js.map +1 -1
  641. package/lib/hooks/useModal.js +9 -0
  642. package/lib/hooks/useModal.js.map +1 -1
  643. package/lib/hooks/useModelCatalog.js +45 -9
  644. package/lib/hooks/useModelCatalog.js.map +1 -1
  645. package/lib/hooks/useModels.js +3 -0
  646. package/lib/hooks/useModels.js.map +1 -1
  647. package/lib/hooks/useModularUI.js +19 -6
  648. package/lib/hooks/useModularUI.js.map +1 -1
  649. package/lib/hooks/useModularUIBasic.js +17 -2
  650. package/lib/hooks/useModularUIBasic.js.map +1 -1
  651. package/lib/hooks/useModularUIModel.js +39 -9
  652. package/lib/hooks/useModularUIModel.js.map +1 -1
  653. package/lib/hooks/useModularUIRequest.js +7 -1
  654. package/lib/hooks/useModularUIRequest.js.map +1 -1
  655. package/lib/hooks/useNotification.js +7 -1
  656. package/lib/hooks/useNotification.js.map +1 -1
  657. package/lib/hooks/usePreference.js +4 -0
  658. package/lib/hooks/usePreference.js.map +1 -1
  659. package/lib/hooks/useProgressIndicator.js +4 -2
  660. package/lib/hooks/useProgressIndicator.js.map +1 -1
  661. package/lib/hooks/useRouter.js +20 -6
  662. package/lib/hooks/useRouter.js.map +1 -1
  663. package/lib/i18n/Locale.js +44 -15
  664. package/lib/i18n/Locale.js.map +1 -1
  665. package/lib/i18n/Locales.js +44 -13
  666. package/lib/i18n/Locales.js.map +1 -1
  667. package/lib/i18n/Message.js +8 -2
  668. package/lib/i18n/Message.js.map +1 -1
  669. package/lib/i18n/index.js +9 -0
  670. package/lib/i18n/index.js.map +1 -1
  671. package/lib/i18n/languages.js.map +1 -1
  672. package/lib/i18n/translations/beinformed_error_messages_en.nl.js.map +1 -1
  673. package/lib/i18n/translations/beinformed_error_messages_nl.nl.js.map +1 -1
  674. package/lib/i18n/withMessage.js +10 -1
  675. package/lib/i18n/withMessage.js.map +1 -1
  676. package/lib/index.js +13 -0
  677. package/lib/index.js.map +1 -1
  678. package/lib/models/actions/ActionCollection.js +33 -12
  679. package/lib/models/actions/ActionCollection.js.map +1 -1
  680. package/lib/models/actions/ActionModel.js +68 -23
  681. package/lib/models/actions/ActionModel.js.map +1 -1
  682. package/lib/models/application/ApplicationModel.js +41 -14
  683. package/lib/models/application/ApplicationModel.js.map +1 -1
  684. package/lib/models/attributes/AttributeCollection.js +87 -27
  685. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  686. package/lib/models/attributes/AttributeContent.js +65 -23
  687. package/lib/models/attributes/AttributeContent.js.map +1 -1
  688. package/lib/models/attributes/AttributeDataHelper.js +89 -32
  689. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  690. package/lib/models/attributes/AttributeModel.js +254 -101
  691. package/lib/models/attributes/AttributeModel.js.map +1 -1
  692. package/lib/models/attributes/AttributeSetModel.js +20 -5
  693. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  694. package/lib/models/attributes/BooleanAttributeModel.js +83 -29
  695. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  696. package/lib/models/attributes/CaptchaAttributeModel.js +10 -3
  697. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  698. package/lib/models/attributes/ChoiceAttributeModel.js +115 -38
  699. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  700. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +84 -26
  701. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  702. package/lib/models/attributes/ChoiceAttributeOptionModel.js +108 -34
  703. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  704. package/lib/models/attributes/CompositeAttributeChildCollection.js +70 -23
  705. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  706. package/lib/models/attributes/CompositeAttributeModel.js +109 -40
  707. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  708. package/lib/models/attributes/DatetimeAttributeModel.js +159 -51
  709. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  710. package/lib/models/attributes/HelptextAttributeModel.js +20 -5
  711. package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
  712. package/lib/models/attributes/LabelAttributeModel.js +11 -3
  713. package/lib/models/attributes/LabelAttributeModel.js.map +1 -1
  714. package/lib/models/attributes/MemoAttributeModel.js +13 -4
  715. package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
  716. package/lib/models/attributes/MoneyAttributeModel.js +14 -4
  717. package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
  718. package/lib/models/attributes/NumberAttributeModel.js +61 -21
  719. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  720. package/lib/models/attributes/PasswordAttributeModel.js +75 -23
  721. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  722. package/lib/models/attributes/StringAttributeModel.js +79 -28
  723. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  724. package/lib/models/attributes/UploadAttributeModel.js +66 -21
  725. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  726. package/lib/models/attributes/XMLAttributeModel.js +16 -4
  727. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  728. package/lib/models/attributes/_createAttribute.js +41 -7
  729. package/lib/models/attributes/_createAttribute.js.map +1 -1
  730. package/lib/models/attributes/input-constraints/BSNConstraint.js +19 -6
  731. package/lib/models/attributes/input-constraints/BSNConstraint.js.map +1 -1
  732. package/lib/models/attributes/input-constraints/ConstraintCollection.js +15 -3
  733. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  734. package/lib/models/attributes/input-constraints/ConstraintModel.js +19 -6
  735. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  736. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js +58 -16
  737. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  738. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js +22 -8
  739. package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
  740. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js +22 -8
  741. package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
  742. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +27 -10
  743. package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
  744. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js +20 -7
  745. package/lib/models/attributes/input-constraints/FileExtensionConstraint.js.map +1 -1
  746. package/lib/models/attributes/input-constraints/FileSizeConstraint.js +26 -10
  747. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  748. package/lib/models/attributes/input-constraints/IBANConstraint.js +14 -5
  749. package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
  750. package/lib/models/attributes/input-constraints/MandatoryConstraint.js +15 -6
  751. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  752. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js +25 -8
  753. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  754. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js +51 -17
  755. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  756. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js +44 -15
  757. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  758. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js +40 -15
  759. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  760. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js +20 -8
  761. package/lib/models/attributes/input-constraints/PasswordConfirmConstraint.js.map +1 -1
  762. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js +12 -5
  763. package/lib/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.js.map +1 -1
  764. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js +18 -7
  765. package/lib/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.js.map +1 -1
  766. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js +18 -7
  767. package/lib/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.js.map +1 -1
  768. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js +24 -8
  769. package/lib/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.js.map +1 -1
  770. package/lib/models/attributes/input-constraints/RangeConstraint.js +57 -22
  771. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  772. package/lib/models/attributes/input-constraints/RegexConstraint.js +19 -7
  773. package/lib/models/attributes/input-constraints/RegexConstraint.js.map +1 -1
  774. package/lib/models/attributes/input-constraints/StringLengthConstraint.js +50 -13
  775. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  776. package/lib/models/attributes/input-constraints/XMLConstraint.js +17 -6
  777. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  778. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +18 -8
  779. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  780. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +88 -30
  781. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  782. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +19 -4
  783. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  784. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +13 -3
  785. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  786. package/lib/models/base/BaseCollection.js +73 -26
  787. package/lib/models/base/BaseCollection.js.map +1 -1
  788. package/lib/models/base/BaseModel.js +40 -14
  789. package/lib/models/base/BaseModel.js.map +1 -1
  790. package/lib/models/base/ResourceCollection.js +6 -1
  791. package/lib/models/base/ResourceCollection.js.map +1 -1
  792. package/lib/models/base/ResourceModel.js +53 -21
  793. package/lib/models/base/ResourceModel.js.map +1 -1
  794. package/lib/models/caseview/CaseViewModel.js +54 -16
  795. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  796. package/lib/models/concepts/BusinessScenarioModel.js +44 -10
  797. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  798. package/lib/models/concepts/ConceptDetailModel.js +90 -32
  799. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  800. package/lib/models/concepts/ConceptIndexModel.js +42 -12
  801. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  802. package/lib/models/concepts/ConceptLinkModel.js +49 -16
  803. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  804. package/lib/models/concepts/ConceptRelationCollection.js +25 -6
  805. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  806. package/lib/models/concepts/ConceptRelationModel.js +23 -8
  807. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  808. package/lib/models/concepts/ConceptTypeDetailModel.js +26 -11
  809. package/lib/models/concepts/ConceptTypeDetailModel.js.map +1 -1
  810. package/lib/models/concepts/SourceReferenceCollection.js +11 -1
  811. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  812. package/lib/models/concepts/SourceReferenceModel.js +22 -9
  813. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  814. package/lib/models/content/ContentIndexModel.js +44 -12
  815. package/lib/models/content/ContentIndexModel.js.map +1 -1
  816. package/lib/models/content/ContentLinkModel.js +61 -19
  817. package/lib/models/content/ContentLinkModel.js.map +1 -1
  818. package/lib/models/content/ContentModel.js +67 -21
  819. package/lib/models/content/ContentModel.js.map +1 -1
  820. package/lib/models/content/ContentTOCModel.js +55 -17
  821. package/lib/models/content/ContentTOCModel.js.map +1 -1
  822. package/lib/models/content/ContentTypeModel.js +18 -7
  823. package/lib/models/content/ContentTypeModel.js.map +1 -1
  824. package/lib/models/content/SectionModel.js +62 -19
  825. package/lib/models/content/SectionModel.js.map +1 -1
  826. package/lib/models/content/SubSectionModel.js +51 -15
  827. package/lib/models/content/SubSectionModel.js.map +1 -1
  828. package/lib/models/contentconfiguration/ContentConfiguration.js +25 -5
  829. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  830. package/lib/models/contentconfiguration/ContentConfigurationElements.js +45 -10
  831. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  832. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js +17 -2
  833. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  834. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js +16 -4
  835. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  836. package/lib/models/contentconfiguration/ContentConfigurationResults.js +37 -12
  837. package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
  838. package/lib/models/detail/DetailModel.js +61 -21
  839. package/lib/models/detail/DetailModel.js.map +1 -1
  840. package/lib/models/error/ErrorCollection.js +35 -10
  841. package/lib/models/error/ErrorCollection.js.map +1 -1
  842. package/lib/models/error/ErrorModel.js +17 -6
  843. package/lib/models/error/ErrorModel.js.map +1 -1
  844. package/lib/models/error/ErrorResponse.js +96 -36
  845. package/lib/models/error/ErrorResponse.js.map +1 -1
  846. package/lib/models/filters/AssignmentFilterModel.js +45 -19
  847. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  848. package/lib/models/filters/BaseFilterModel.js +60 -24
  849. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  850. package/lib/models/filters/ConceptIndexFilterModel.js +9 -0
  851. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  852. package/lib/models/filters/FilterCollection.js +55 -11
  853. package/lib/models/filters/FilterCollection.js.map +1 -1
  854. package/lib/models/filters/FilterModel.js +3 -0
  855. package/lib/models/filters/FilterModel.js.map +1 -1
  856. package/lib/models/filters/RangeFilterModel.js +10 -1
  857. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  858. package/lib/models/form/FormModel.js +328 -135
  859. package/lib/models/form/FormModel.js.map +1 -1
  860. package/lib/models/form/FormObjectModel.js +144 -55
  861. package/lib/models/form/FormObjectModel.js.map +1 -1
  862. package/lib/models/grouping/GroupingModel.js +58 -20
  863. package/lib/models/grouping/GroupingModel.js.map +1 -1
  864. package/lib/models/href/Href.js +123 -47
  865. package/lib/models/href/Href.js.map +1 -1
  866. package/lib/models/href/ListHref.js +29 -11
  867. package/lib/models/href/ListHref.js.map +1 -1
  868. package/lib/models/index.js +97 -0
  869. package/lib/models/index.js.map +1 -1
  870. package/lib/models/layouthint/LayoutHintCollection.js +40 -8
  871. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  872. package/lib/models/links/LinkCollection.js +51 -15
  873. package/lib/models/links/LinkCollection.js.map +1 -1
  874. package/lib/models/links/LinkModel.js +62 -20
  875. package/lib/models/links/LinkModel.js.map +1 -1
  876. package/lib/models/links/normalizeLinkJSON.js +21 -5
  877. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  878. package/lib/models/list/ListDetailModel.js +84 -31
  879. package/lib/models/list/ListDetailModel.js.map +1 -1
  880. package/lib/models/list/ListHeaderModel.js +30 -10
  881. package/lib/models/list/ListHeaderModel.js.map +1 -1
  882. package/lib/models/list/ListItemCollection.js +24 -4
  883. package/lib/models/list/ListItemCollection.js.map +1 -1
  884. package/lib/models/list/ListItemModel.js +29 -7
  885. package/lib/models/list/ListItemModel.js.map +1 -1
  886. package/lib/models/list/ListModel.js +123 -38
  887. package/lib/models/list/ListModel.js.map +1 -1
  888. package/lib/models/lookup/LookupOptionCollection.js +8 -2
  889. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  890. package/lib/models/lookup/LookupOptionsModel.js +19 -5
  891. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  892. package/lib/models/modelcatalog/ModelCatalogModel.js +17 -4
  893. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  894. package/lib/models/paging/PagesizeModel.js +13 -4
  895. package/lib/models/paging/PagesizeModel.js.map +1 -1
  896. package/lib/models/paging/PagingModel.js +26 -10
  897. package/lib/models/paging/PagingModel.js.map +1 -1
  898. package/lib/models/panels/GroupingPanelModel.js +47 -14
  899. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  900. package/lib/models/parameter/Parameter.js +42 -13
  901. package/lib/models/parameter/Parameter.js.map +1 -1
  902. package/lib/models/process/ProcessStatusSettingsModel.js +29 -9
  903. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  904. package/lib/models/resolveModel.js +33 -1
  905. package/lib/models/resolveModel.js.map +1 -1
  906. package/lib/models/search/CaseSearchModel.js +12 -3
  907. package/lib/models/search/CaseSearchModel.js.map +1 -1
  908. package/lib/models/sorting/SortOptionModel.js +39 -13
  909. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  910. package/lib/models/sorting/SortingModel.js +35 -8
  911. package/lib/models/sorting/SortingModel.js.map +1 -1
  912. package/lib/models/tab/TabModel.js +48 -14
  913. package/lib/models/tab/TabModel.js.map +1 -1
  914. package/lib/models/taskgroup/TaskGroupCollection.js +4 -0
  915. package/lib/models/taskgroup/TaskGroupCollection.js.map +1 -1
  916. package/lib/models/taskgroup/TaskGroupModel.js +19 -6
  917. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  918. package/lib/models/user/UserModel.js +12 -4
  919. package/lib/models/user/UserModel.js.map +1 -1
  920. package/lib/models/user/UserProfileModel.js +14 -2
  921. package/lib/models/user/UserProfileModel.js.map +1 -1
  922. package/lib/models/user/UserServicesModel.js +30 -11
  923. package/lib/models/user/UserServicesModel.js.map +1 -1
  924. package/lib/modularui/Authenticate.js +66 -20
  925. package/lib/modularui/Authenticate.js.map +1 -1
  926. package/lib/modularui/ModularUIError.js +7 -3
  927. package/lib/modularui/ModularUIError.js.map +1 -1
  928. package/lib/modularui/ModularUIRequest.js +201 -77
  929. package/lib/modularui/ModularUIRequest.js.map +1 -1
  930. package/lib/modularui/ModularUIResponse.js +34 -13
  931. package/lib/modularui/ModularUIResponse.js.map +1 -1
  932. package/lib/modularui/index.js +4 -0
  933. package/lib/modularui/index.js.map +1 -1
  934. package/lib/react/ErrorBoundary.js +14 -2
  935. package/lib/react/ErrorBoundary.js.map +1 -1
  936. package/lib/react/ErrorBoundaryFallback.js +8 -1
  937. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  938. package/lib/react/index.js +5 -0
  939. package/lib/react/index.js.map +1 -1
  940. package/lib/react/utils.js +13 -2
  941. package/lib/react/utils.js.map +1 -1
  942. package/lib/react-client/Init.js +8 -0
  943. package/lib/react-client/Init.js.map +1 -1
  944. package/lib/react-client/client.js +49 -16
  945. package/lib/react-client/client.js.map +1 -1
  946. package/lib/react-client/contextPath.js +9 -2
  947. package/lib/react-client/contextPath.js.map +1 -1
  948. package/lib/react-client/index.js +4 -0
  949. package/lib/react-client/index.js.map +1 -1
  950. package/lib/react-client/rehydrate.js +23 -3
  951. package/lib/react-client/rehydrate.js.map +1 -1
  952. package/lib/react-server/contextPath.js +2 -1
  953. package/lib/react-server/contextPath.js.map +1 -1
  954. package/lib/react-server/createSSRComplete.js +16 -2
  955. package/lib/react-server/createSSRComplete.js.map +1 -1
  956. package/lib/react-server/htmlpage.js +16 -25
  957. package/lib/react-server/htmlpage.js.map +1 -1
  958. package/lib/react-server/index.js +12 -0
  959. package/lib/react-server/index.js.map +1 -1
  960. package/lib/react-server/renderSSRComplete.js +16 -3
  961. package/lib/react-server/renderSSRComplete.js.map +1 -1
  962. package/lib/react-server/renderSSRMinimal.js +10 -0
  963. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  964. package/lib/react-server/requestInformation.js +28 -8
  965. package/lib/react-server/requestInformation.js.flow +8 -3
  966. package/lib/react-server/requestInformation.js.map +1 -1
  967. package/lib/react-server/serverNoSSR.js +14 -2
  968. package/lib/react-server/serverNoSSR.js.map +1 -1
  969. package/lib/react-server/serverSSR.js +8 -0
  970. package/lib/react-server/serverSSR.js.map +1 -1
  971. package/lib/react-server/serverUtil.js +60 -13
  972. package/lib/react-server/serverUtil.js.map +1 -1
  973. package/lib/react-theme/ThemeProvider.js +6 -0
  974. package/lib/react-theme/ThemeProvider.js.map +1 -1
  975. package/lib/react-theme/createTheme.js +23 -7
  976. package/lib/react-theme/createTheme.js.map +1 -1
  977. package/lib/react-theme/index.js +18 -0
  978. package/lib/react-theme/index.js.map +1 -1
  979. package/lib/react-theme/useTheme.js +3 -0
  980. package/lib/react-theme/useTheme.js.map +1 -1
  981. package/lib/react-theme/utils/background.js +5 -1
  982. package/lib/react-theme/utils/background.js.map +1 -1
  983. package/lib/react-theme/utils/colors.js +12 -2
  984. package/lib/react-theme/utils/colors.js.map +1 -1
  985. package/lib/react-theme/utils/contrast.js +35 -7
  986. package/lib/react-theme/utils/contrast.js.map +1 -1
  987. package/lib/react-theme/utils/corners.js +14 -3
  988. package/lib/react-theme/utils/corners.js.map +1 -1
  989. package/lib/react-theme/utils/spacers.js +30 -6
  990. package/lib/react-theme/utils/spacers.js.map +1 -1
  991. package/lib/react-theme/utils/themeProps.js +35 -7
  992. package/lib/react-theme/utils/themeProps.js.map +1 -1
  993. package/lib/redux/_i18n/actions.js +8 -2
  994. package/lib/redux/_i18n/actions.js.map +1 -1
  995. package/lib/redux/_i18n/index.js +5 -0
  996. package/lib/redux/_i18n/index.js.map +1 -1
  997. package/lib/redux/_i18n/reducer.js +21 -12
  998. package/lib/redux/_i18n/reducer.js.map +1 -1
  999. package/lib/redux/_modularui/actions.js +69 -36
  1000. package/lib/redux/_modularui/actions.js.map +1 -1
  1001. package/lib/redux/_modularui/connector.js +28 -20
  1002. package/lib/redux/_modularui/connector.js.map +1 -1
  1003. package/lib/redux/_modularui/index.js +14 -0
  1004. package/lib/redux/_modularui/index.js.map +1 -1
  1005. package/lib/redux/_modularui/middleware.js +28 -8
  1006. package/lib/redux/_modularui/middleware.js.map +1 -1
  1007. package/lib/redux/_modularui/modularuiUtils.js +36 -10
  1008. package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
  1009. package/lib/redux/_modularui/reducer.js +45 -19
  1010. package/lib/redux/_modularui/reducer.js.map +1 -1
  1011. package/lib/redux/_modularui/selectors.js +97 -20
  1012. package/lib/redux/_modularui/selectors.js.map +1 -1
  1013. package/lib/redux/_modularui/withModularUI.js +11 -2
  1014. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  1015. package/lib/redux/_router/actions.js +16 -5
  1016. package/lib/redux/_router/actions.js.map +1 -1
  1017. package/lib/redux/_router/connectors.js +15 -10
  1018. package/lib/redux/_router/connectors.js.map +1 -1
  1019. package/lib/redux/_router/index.js +9 -0
  1020. package/lib/redux/_router/index.js.map +1 -1
  1021. package/lib/redux/_router/middleware.js +2 -0
  1022. package/lib/redux/_router/middleware.js.map +1 -1
  1023. package/lib/redux/_router/reducer.js +4 -2
  1024. package/lib/redux/_router/reducer.js.map +1 -1
  1025. package/lib/redux/actions/Application.js +8 -1
  1026. package/lib/redux/actions/Application.js.map +1 -1
  1027. package/lib/redux/actions/Authorization.js +25 -6
  1028. package/lib/redux/actions/Authorization.js.map +1 -1
  1029. package/lib/redux/actions/Error.js +24 -4
  1030. package/lib/redux/actions/Error.js.map +1 -1
  1031. package/lib/redux/actions/Form.js +12 -1
  1032. package/lib/redux/actions/Form.js.map +1 -1
  1033. package/lib/redux/actions/FormAttributeSet.js +14 -0
  1034. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  1035. package/lib/redux/actions/FormAttributeSetRepeatable.js +8 -2
  1036. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  1037. package/lib/redux/actions/FormAutosave.js +12 -3
  1038. package/lib/redux/actions/FormAutosave.js.map +1 -1
  1039. package/lib/redux/actions/FormAutosubmit.js +6 -0
  1040. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  1041. package/lib/redux/actions/FormValidations.js +13 -2
  1042. package/lib/redux/actions/FormValidations.js.map +1 -1
  1043. package/lib/redux/actions/Modals.js +4 -1
  1044. package/lib/redux/actions/Modals.js.map +1 -1
  1045. package/lib/redux/actions/Notification.js +19 -4
  1046. package/lib/redux/actions/Notification.js.map +1 -1
  1047. package/lib/redux/actions/Preferences.js +44 -13
  1048. package/lib/redux/actions/Preferences.js.map +1 -1
  1049. package/lib/redux/actions/ProgressIndicator.js +11 -3
  1050. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  1051. package/lib/redux/actions/SignIn.js +28 -5
  1052. package/lib/redux/actions/SignIn.js.map +1 -1
  1053. package/lib/redux/actions/SignOut.js +9 -1
  1054. package/lib/redux/actions/SignOut.js.map +1 -1
  1055. package/lib/redux/actions/index.js +31 -0
  1056. package/lib/redux/actions/index.js.map +1 -1
  1057. package/lib/redux/connectors/Application.js +2 -0
  1058. package/lib/redux/connectors/Application.js.map +1 -1
  1059. package/lib/redux/connectors/Breadcrumb.js +4 -1
  1060. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  1061. package/lib/redux/connectors/CaseView.js +2 -0
  1062. package/lib/redux/connectors/CaseView.js.map +1 -1
  1063. package/lib/redux/connectors/ConceptDetail.js +7 -1
  1064. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  1065. package/lib/redux/connectors/ContentBrowser.js +2 -0
  1066. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  1067. package/lib/redux/connectors/ContentDetail.js +7 -1
  1068. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  1069. package/lib/redux/connectors/ContentDetailSection.js +8 -1
  1070. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  1071. package/lib/redux/connectors/Form.js +19 -2
  1072. package/lib/redux/connectors/Form.js.map +1 -1
  1073. package/lib/redux/connectors/FormAttributeSet.js +5 -1
  1074. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  1075. package/lib/redux/connectors/ListDetail.js +3 -0
  1076. package/lib/redux/connectors/ListDetail.js.map +1 -1
  1077. package/lib/redux/connectors/Modal.js +7 -1
  1078. package/lib/redux/connectors/Modal.js.map +1 -1
  1079. package/lib/redux/connectors/ModelCatalog.js +2 -0
  1080. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  1081. package/lib/redux/connectors/Notification.js +4 -1
  1082. package/lib/redux/connectors/Notification.js.map +1 -1
  1083. package/lib/redux/connectors/PanelRenderer.js +7 -0
  1084. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  1085. package/lib/redux/connectors/Preferences.js +5 -1
  1086. package/lib/redux/connectors/Preferences.js.map +1 -1
  1087. package/lib/redux/connectors/Progress.js +4 -1
  1088. package/lib/redux/connectors/Progress.js.map +1 -1
  1089. package/lib/redux/connectors/ProgressIndicator.js +3 -1
  1090. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  1091. package/lib/redux/connectors/QuickSearch.js +7 -1
  1092. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  1093. package/lib/redux/connectors/SignIn.js +8 -2
  1094. package/lib/redux/connectors/SignIn.js.map +1 -1
  1095. package/lib/redux/connectors/SignOut.js +8 -3
  1096. package/lib/redux/connectors/SignOut.js.map +1 -1
  1097. package/lib/redux/connectors/Tab.js +2 -0
  1098. package/lib/redux/connectors/Tab.js.map +1 -1
  1099. package/lib/redux/connectors/index.js +21 -0
  1100. package/lib/redux/connectors/index.js.map +1 -1
  1101. package/lib/redux/index.js +17 -0
  1102. package/lib/redux/index.js.map +1 -1
  1103. package/lib/redux/reducers/AuthReducer.js +14 -12
  1104. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  1105. package/lib/redux/reducers/ErrorReducer.js +4 -2
  1106. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  1107. package/lib/redux/reducers/ModalsReducer.js +18 -11
  1108. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  1109. package/lib/redux/reducers/NotificationReducer.js +8 -6
  1110. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  1111. package/lib/redux/reducers/PreferencesReducer.js +7 -6
  1112. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  1113. package/lib/redux/reducers/ProgressIndicatorReducer.js +15 -10
  1114. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  1115. package/lib/redux/reducers/createReducer.js +11 -0
  1116. package/lib/redux/reducers/createReducer.js.map +1 -1
  1117. package/lib/redux/reducers/index.js +10 -0
  1118. package/lib/redux/reducers/index.js.map +1 -1
  1119. package/lib/redux/selectors/i18n.js +7 -3
  1120. package/lib/redux/selectors/i18n.js.map +1 -1
  1121. package/lib/redux/selectors/index.js +3 -0
  1122. package/lib/redux/selectors/index.js.map +1 -1
  1123. package/lib/redux/store/beforeRenderHooks.js +2 -0
  1124. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  1125. package/lib/redux/store/configureStore.js +13 -2
  1126. package/lib/redux/store/configureStore.js.map +1 -1
  1127. package/lib/utils/browser/Cache.js +49 -16
  1128. package/lib/utils/browser/Cache.js.map +1 -1
  1129. package/lib/utils/browser/Cookies.js +14 -3
  1130. package/lib/utils/browser/Cookies.js.map +1 -1
  1131. package/lib/utils/datetime/DateTimeUtil.js +115 -52
  1132. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  1133. package/lib/utils/fetch/serverFetch.js +13 -2
  1134. package/lib/utils/fetch/serverFetch.js.map +1 -1
  1135. package/lib/utils/fetch/universalFetch.js +25 -6
  1136. package/lib/utils/fetch/universalFetch.js.map +1 -1
  1137. package/lib/utils/fetch/xhr.js +111 -42
  1138. package/lib/utils/fetch/xhr.js.map +1 -1
  1139. package/lib/utils/helpers/checkResource.js +11 -5
  1140. package/lib/utils/helpers/checkResource.js.map +1 -1
  1141. package/lib/utils/helpers/createHash.js +6 -1
  1142. package/lib/utils/helpers/createHash.js.map +1 -1
  1143. package/lib/utils/helpers/createUUID.js +2 -0
  1144. package/lib/utils/helpers/createUUID.js.map +1 -1
  1145. package/lib/utils/helpers/objects.js +15 -3
  1146. package/lib/utils/helpers/objects.js.map +1 -1
  1147. package/lib/utils/helpers/sanitizeHtml.js +13 -6
  1148. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  1149. package/lib/utils/helpers/text.js +4 -0
  1150. package/lib/utils/helpers/text.js.map +1 -1
  1151. package/lib/utils/index.js +25 -0
  1152. package/lib/utils/index.js.map +1 -1
  1153. package/lib/utils/number/DecimalFormat.js +121 -43
  1154. package/lib/utils/number/DecimalFormat.js.map +1 -1
  1155. package/lib/utils/number/formatValue.js +22 -3
  1156. package/lib/utils/number/formatValue.js.map +1 -1
  1157. package/lib/utils/number/parseNumbers.js +19 -3
  1158. package/lib/utils/number/parseNumbers.js.map +1 -1
  1159. package/package.json +29 -29
  1160. package/src/react-server/requestInformation.js +8 -3
@@ -1,330 +1,411 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
2
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
3
3
  import _startsWithInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/starts-with";
4
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
+
4
6
  // @see: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html
7
+
5
8
  /**
6
9
  */
7
10
  class DecimalFormat {
8
11
  // Grouping size
9
-
10
12
  // Minimum integer digits to be displayed
11
-
12
13
  // Minimum fractional digits to be displayed
13
-
14
14
  // Maximum fractional digits to be displayed
15
15
 
16
16
  /**
17
17
  */
18
18
  constructor(format) {
19
19
  _defineProperty(this, "_prefix", void 0);
20
+
20
21
  _defineProperty(this, "_suffix", void 0);
22
+
21
23
  _defineProperty(this, "_comma", void 0);
24
+
22
25
  _defineProperty(this, "_minInt", void 0);
26
+
23
27
  _defineProperty(this, "_minFrac", void 0);
28
+
24
29
  _defineProperty(this, "_maxFrac", void 0);
30
+
25
31
  _defineProperty(this, "_isPercentage", void 0);
32
+
26
33
  this.setAffix(format);
27
34
  this.setFractionLengths(format);
28
35
  this.setGroupLength(format);
29
36
  this.setMinLength(format);
30
37
  this.setPercentage();
31
38
  }
32
-
33
39
  /**
34
40
  */
41
+
42
+
35
43
  get prefix() {
36
44
  return this._prefix;
37
45
  }
38
-
39
46
  /**
40
47
  */
48
+
49
+
41
50
  get suffix() {
42
51
  return this._suffix;
43
52
  }
44
-
45
53
  /**
46
54
  */
55
+
56
+
47
57
  get comma() {
48
58
  return this._comma;
49
59
  }
50
-
51
60
  /**
52
61
  */
62
+
63
+
53
64
  get minInt() {
54
65
  return this._minInt;
55
66
  }
56
-
57
67
  /**
58
68
  */
69
+
70
+
59
71
  get minFrac() {
60
72
  return this._minFrac;
61
73
  }
62
-
63
74
  /**
64
75
  */
76
+
77
+
65
78
  get maxFrac() {
66
79
  return this._maxFrac;
67
80
  }
68
-
69
81
  /**
70
82
  */
83
+
84
+
71
85
  get isPercentage() {
72
86
  return this._isPercentage;
73
87
  }
74
-
75
88
  /**
76
89
  */
90
+
91
+
77
92
  setAffix(format) {
78
93
  const beforeDigit = _includesInstanceProperty(format).call(format, "#") ? format.substring(0, format.indexOf("#")) : format;
79
94
  this._prefix = _includesInstanceProperty(beforeDigit).call(beforeDigit, "0") ? beforeDigit.substring(0, beforeDigit.indexOf("0")) : beforeDigit;
80
95
  this._suffix = format.substring(this._prefix.length).replace(/[#,.0]/gu, "");
81
96
  }
82
-
83
97
  /**
84
98
  */
99
+
100
+
85
101
  setFractionLengths(format) {
86
102
  this._minFrac = 0;
87
103
  this._maxFrac = 0;
88
104
  const numberStr = format.replace(/[^#,.0]/gu, "");
105
+
89
106
  if (_includesInstanceProperty(numberStr).call(numberStr, ".")) {
90
107
  const fracStr = numberStr.substring(numberStr.indexOf(".") + 1);
91
108
  const maxFrac = fracStr.replace(/,|\.+/g, "");
92
- this._maxFrac = maxFrac.length;
109
+ this._maxFrac = maxFrac.length; // replace all but zeros
93
110
 
94
- // replace all but zeros
95
111
  const minFrac = maxFrac.replace(/[^0]/gu, "");
96
112
  this._minFrac = minFrac.length;
97
113
  }
98
114
  }
99
-
100
115
  /**
101
116
  */
117
+
118
+
102
119
  setGroupLength(format) {
103
120
  this._comma = 0;
104
121
  const numberStr = format.replace(/[^#,.0]/gu, "");
105
122
  const intStr = _includesInstanceProperty(numberStr).call(numberStr, ".") ? numberStr.substring(0, numberStr.indexOf(".")) : numberStr;
123
+
106
124
  if (_includesInstanceProperty(intStr).call(intStr, ",")) {
107
125
  this._comma = intStr.length - 1 - intStr.lastIndexOf(",");
108
126
  }
109
127
  }
110
-
111
128
  /**
112
129
  */
130
+
131
+
113
132
  setMinLength(format) {
114
133
  const intFormatStr = _includesInstanceProperty(format).call(format, ".") ? format.substring(0, format.indexOf(".")) : format;
115
134
  const intStr = intFormatStr.replace(/[^0]/gu, "");
116
135
  this._minInt = intStr.length > 1 ? intStr.length : 1;
117
136
  }
118
-
119
137
  /**
120
138
  */
139
+
140
+
121
141
  setPercentage() {
122
142
  this._isPercentage = this.suffix.charAt(0) === "%";
123
143
  }
124
-
125
144
  /**
126
145
  * Solves problem where big numbers loose the precision:
127
146
  * e.g. Number(23423423423342234.34) => 23423423423342236
128
147
  */
148
+
149
+
129
150
  static getNumericString(stringNumber) {
130
151
  const number = Number(stringNumber);
131
152
  const string = String(number);
153
+
132
154
  if (!_includesInstanceProperty(string).call(string, ".") && _includesInstanceProperty(stringNumber).call(stringNumber, ".")) {
133
155
  // check if original string has all zeros after dot or not
134
156
  const precision = stringNumber.substring(stringNumber.indexOf(".") + 1);
157
+
135
158
  if (precision.replace(/0/gu, "").length > 0) {
136
159
  return stringNumber;
137
160
  }
161
+
138
162
  return string;
139
163
  }
164
+
140
165
  return stringNumber;
141
166
  }
142
-
143
167
  /**
144
168
  * Converts formatted value back to non-formatted value
145
169
  * e.g. $1,223.06 --> 1223.06
146
170
  */
171
+
172
+
147
173
  formatBack(formattedNumber) {
148
174
  const stringNumber = String(formattedNumber);
175
+
149
176
  if (!stringNumber) {
150
177
  return "";
151
178
  }
179
+
152
180
  if (!isNaN(stringNumber)) {
153
181
  return DecimalFormat.getNumericString(stringNumber);
154
182
  }
183
+
155
184
  let tempNumber = formattedNumber;
156
185
  let negative = false;
186
+
157
187
  if (formattedNumber.charAt(0) === "-") {
158
188
  tempNumber = formattedNumber.substr(1);
159
189
  negative = true;
160
190
  }
191
+
161
192
  const hasPrefix = _startsWithInstanceProperty(formattedNumber).call(formattedNumber, this.prefix);
193
+
162
194
  const suffixIndex = this.suffix === "" ? formattedNumber.length : formattedNumber.indexOf(this.suffix, this.prefix.length + 1);
195
+
163
196
  if (hasPrefix && suffixIndex > 0) {
164
197
  tempNumber = tempNumber.substr(0, suffixIndex);
165
198
  tempNumber = tempNumber.substr(this.prefix.length);
166
199
  tempNumber = tempNumber.replace(/,/gu, "");
200
+
167
201
  if (negative) {
168
- tempNumber = `-${tempNumber}`;
202
+ tempNumber = "-".concat(tempNumber);
169
203
  }
204
+
170
205
  if (!isNaN(tempNumber)) {
171
206
  return DecimalFormat.getNumericString(tempNumber);
172
207
  }
173
208
  }
209
+
174
210
  return tempNumber;
175
211
  }
176
-
177
212
  /**
178
213
  */
214
+
215
+
179
216
  static scientificNumber(stringNumber) {
180
217
  if (_includesInstanceProperty(stringNumber).call(stringNumber, "e")) {
181
218
  const number = Number(stringNumber);
219
+
182
220
  if (number === Infinity || number === -Infinity) {
183
221
  return stringNumber;
184
222
  }
223
+
185
224
  return String(number);
186
225
  }
226
+
187
227
  return stringNumber;
188
228
  }
189
-
190
229
  /**
191
230
  */
231
+
232
+
192
233
  getFracAsNumber(fracStr) {
193
- const number = Number(`0.${fracStr}`);
234
+ const number = Number("0.".concat(fracStr));
194
235
  const DECIMAL_RADIX = 10;
195
236
  return this.maxFrac === 0 ? Math.round(number).toString(DECIMAL_RADIX) : number.toFixed(this.maxFrac);
196
237
  }
197
-
198
238
  /**
199
239
  */
240
+
241
+
200
242
  getRoundedFrac(fracStr) {
201
- const num = this.getFracAsNumber(fracStr);
243
+ const num = this.getFracAsNumber(fracStr); // toFixed method has bugs on IE (0.7 --> 0)
202
244
 
203
- // toFixed method has bugs on IE (0.7 --> 0)
204
245
  return num.substr(2);
205
246
  }
206
-
207
247
  /**
208
248
  */
249
+
250
+
209
251
  static getFraction(number) {
210
252
  let fracStr = _includesInstanceProperty(number).call(number, ".") ? number.substring(number.indexOf(".") + 1) : "";
211
253
  fracStr = fracStr.replace(/\./, "");
212
254
  return fracStr;
213
255
  }
214
-
215
256
  /**
216
257
  */
258
+
259
+
217
260
  getFracCorrectLength(frac) {
218
261
  let fracStr = frac;
262
+
219
263
  if (fracStr.length > this.maxFrac) {
220
264
  fracStr = this.getRoundedFrac(fracStr);
221
265
  }
266
+
222
267
  for (let i = fracStr.length; i < this.minFrac; i++) {
223
268
  // if minFrac=4 then 1.12 --> 1.1200
224
- fracStr = `${fracStr}0`;
269
+ fracStr = "".concat(fracStr, "0");
225
270
  }
271
+
226
272
  while (fracStr.length > this.minFrac && fracStr.charAt(fracStr.length - 1) === "0") {
227
273
  // if minInt=4 then 00034 --> 0034)
228
274
  fracStr = fracStr.substring(0, fracStr.length - 1);
229
275
  }
276
+
230
277
  return fracStr;
231
278
  }
232
-
233
279
  /**
234
280
  */
281
+
282
+
235
283
  getInteger(number) {
236
284
  let intStr = _includesInstanceProperty(number).call(number, ".") ? number.substring(0, number.indexOf(".")) : number;
237
285
  let doCarry = Number(this.getFracAsNumber(number)) > 1;
238
286
  let i = intStr.length - 1;
287
+
239
288
  while (doCarry) {
240
289
  if (i === -1) {
241
- intStr = `1${intStr}`;
290
+ intStr = "1".concat(intStr);
242
291
  break;
243
292
  }
293
+
244
294
  let x = intStr.charAt(i);
295
+
245
296
  if (x === "9") {
246
297
  x = "0";
247
298
  } else {
248
- x = `${x + 1}`;
299
+ x = "".concat(x + 1);
249
300
  doCarry = false;
250
301
  }
302
+
251
303
  intStr = intStr.substring(0, i) + x + intStr.substring(i + 1, intStr.length);
252
304
  i -= 1;
253
305
  }
306
+
254
307
  for (let j = intStr.length; j < this.minInt; j++) {
255
308
  // if minInt=4 then 034 --> 0034
256
- intStr = `0${intStr}`;
309
+ intStr = "0".concat(intStr);
257
310
  }
311
+
258
312
  while (intStr.length > this.minInt && intStr.charAt(0) === "0") {
259
313
  // if minInt=4 then 00034 --> 0034)
260
314
  intStr = intStr.substring(1);
261
315
  }
316
+
262
317
  return intStr;
263
318
  }
264
-
265
319
  /**
266
320
  */
321
+
322
+
267
323
  addGrouping(intStr) {
268
324
  let groupedIntStr = intStr;
269
325
  let j = 0;
326
+
270
327
  for (let i = groupedIntStr.length; i > 0; i--) {
271
328
  // add commas
272
329
  if (j !== 0 && j % this.comma === 0) {
273
- groupedIntStr = `${groupedIntStr.substring(0, i)},${groupedIntStr.substring(i)}`;
330
+ var _context;
331
+
332
+ groupedIntStr = _concatInstanceProperty(_context = "".concat(groupedIntStr.substring(0, i), ",")).call(_context, groupedIntStr.substring(i));
274
333
  j = 0;
275
334
  }
335
+
276
336
  j += 1;
277
337
  }
338
+
278
339
  return groupedIntStr;
279
340
  }
280
-
281
341
  /**
282
342
  */
343
+
344
+
283
345
  getFormattedValue(intStr, fracStr, isNegative) {
346
+ var _context2, _context3;
347
+
284
348
  let formattedValue;
285
- if (fracStr.length > 0) formattedValue = `${this.prefix + intStr}.${fracStr}${this.suffix}`;else formattedValue = this.prefix + intStr + this.suffix;
349
+ if (fracStr.length > 0) formattedValue = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = "".concat(this.prefix + intStr, ".")).call(_context3, fracStr)).call(_context2, this.suffix);else formattedValue = this.prefix + intStr + this.suffix;
350
+
286
351
  if (isNegative) {
287
- formattedValue = `-${formattedValue}`;
352
+ formattedValue = "-".concat(formattedValue);
288
353
  }
354
+
289
355
  return formattedValue;
290
356
  }
291
-
292
357
  /**
293
358
  * Formats given value, using the pattern
294
359
  * e.g. $#,###.00: 1223.06 --> $1,223.06
295
360
  */
361
+
362
+
296
363
  format() {
297
364
  let stringNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
365
+
298
366
  if (stringNumber === null) {
299
367
  return "";
300
368
  }
369
+
301
370
  let formattedNumber = this.formatBack(stringNumber).toLowerCase();
371
+
302
372
  if (isNaN(formattedNumber) || formattedNumber.length === 0) {
303
373
  return stringNumber;
304
374
  }
375
+
305
376
  formattedNumber = DecimalFormat.scientificNumber(formattedNumber);
377
+
306
378
  if (_includesInstanceProperty(formattedNumber).call(formattedNumber, "e")) {
307
379
  return formattedNumber;
308
380
  }
381
+
309
382
  const isNegative = formattedNumber.charAt(0) === "-";
383
+
310
384
  if (isNegative || formattedNumber.charAt(0) === "+") {
311
385
  formattedNumber = formattedNumber.substring(1);
312
386
  }
387
+
313
388
  let fracStr = DecimalFormat.getFraction(formattedNumber);
314
389
  let intStr = this.getInteger(formattedNumber);
390
+
315
391
  if (this.isPercentage) {
392
+ var _context4;
393
+
316
394
  // Add zeros behind fraction to make sure we have at least two characters and take first two character:
317
395
  // 1 --> 100 --> 10
318
- const addZeroToFrac = `${fracStr}00`.substr(0, 2);
319
- // Add zeros in front of frac and get last two characters
320
- const lastTwoFrac = `00${addZeroToFrac}`.substr(-2);
321
- intStr = `${intStr}${lastTwoFrac}`;
396
+ const addZeroToFrac = "".concat(fracStr, "00").substr(0, 2); // Add zeros in front of frac and get last two characters
397
+
398
+ const lastTwoFrac = "00".concat(addZeroToFrac).substr(-2);
399
+ intStr = _concatInstanceProperty(_context4 = "".concat(intStr)).call(_context4, lastTwoFrac);
322
400
  fracStr = fracStr.substr(2);
323
401
  }
402
+
324
403
  fracStr = this.getFracCorrectLength(fracStr);
325
404
  intStr = this.addGrouping(intStr);
326
405
  return this.getFormattedValue(intStr, fracStr, isNegative);
327
406
  }
407
+
328
408
  }
409
+
329
410
  export default DecimalFormat;
330
411
  //# sourceMappingURL=DecimalFormat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","toLowerCase","addZeroToFrac","lastTwoFrac"],"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
+ {"version":3,"file":"DecimalFormat.js","names":["DecimalFormat","constructor","format","setAffix","setFractionLengths","setGroupLength","setMinLength","setPercentage","prefix","_prefix","suffix","_suffix","comma","_comma","minInt","_minInt","minFrac","_minFrac","maxFrac","_maxFrac","isPercentage","_isPercentage","beforeDigit","substring","indexOf","length","replace","numberStr","fracStr","intStr","lastIndexOf","intFormatStr","charAt","getNumericString","stringNumber","number","Number","string","String","precision","formatBack","formattedNumber","isNaN","tempNumber","negative","substr","hasPrefix","suffixIndex","scientificNumber","Infinity","getFracAsNumber","DECIMAL_RADIX","Math","round","toString","toFixed","getRoundedFrac","num","getFraction","getFracCorrectLength","frac","i","getInteger","doCarry","x","j","addGrouping","groupedIntStr","getFormattedValue","isNegative","formattedValue","toLowerCase","addZeroToFrac","lastTwoFrac"],"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,42 +1,55 @@
1
-
1
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
2
2
  import { IllegalArgumentException } from "../../exceptions";
3
3
  import DecimalFormat from "./DecimalFormat";
4
4
  import { parseNumberToString, parseToNumber } from "./parseNumbers";
5
-
6
5
  /**
7
6
  * @private
8
7
  */
8
+
9
9
  const updateGroupingSeparator = (input, groupingSeparator) => {
10
10
  if (groupingSeparator == null) {
11
11
  return input;
12
12
  }
13
+
13
14
  return input.replace(/,/g, groupingSeparator);
14
15
  };
15
-
16
16
  /**
17
17
  */
18
+
19
+
18
20
  const formatValue = function (value) {
19
21
  let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "0";
20
22
  let groupingSeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ",";
21
23
  let decimalSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ".";
24
+
22
25
  if (value == null) {
23
26
  return "";
24
27
  }
28
+
25
29
  const numberValue = typeof value === "number" ? value : parseToNumber(value, groupingSeparator, decimalSeparator);
30
+
26
31
  if (typeof numberValue !== "number") {
27
- throw new IllegalArgumentException(`Not a valid number: ${value} for formatValue`);
32
+ throw new IllegalArgumentException("Not a valid number: ".concat(value, " for formatValue"));
28
33
  }
34
+
29
35
  const stringValue = parseNumberToString(numberValue);
36
+
30
37
  if (format != null) {
31
38
  const formattedValue = new DecimalFormat(format).format(stringValue);
32
39
  const [integer, decimal] = formattedValue.split(".");
33
40
  const integerPart = updateGroupingSeparator(integer, groupingSeparator);
41
+
34
42
  if (decimal) {
35
- return `${integerPart}${decimalSeparator}${decimal}`;
43
+ var _context, _context2;
44
+
45
+ return _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = "".concat(integerPart)).call(_context2, decimalSeparator)).call(_context, decimal);
36
46
  }
47
+
37
48
  return integerPart;
38
49
  }
50
+
39
51
  return stringValue;
40
52
  };
53
+
41
54
  export default formatValue;
42
55
  //# sourceMappingURL=formatValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","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,SAASA,wBAAwB,QAAQ,kBAAkB;AAE3D,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,gBAAgB;;AAEnE;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,CAACC,KAAa,EAAEC,iBAAyB,KAAK;EAC5E,IAAIA,iBAAiB,IAAI,IAAI,EAAE;IAC7B,OAAOD,KAAK;EACd;EAEA,OAAOA,KAAK,CAACE,OAAO,CAAC,IAAI,EAAED,iBAAiB,CAAC;AAC/C,CAAC;;AAED;AACA;AACA,MAAME,WAAW,GAAG,UAClBC,KAAwB,EAIb;EAAA,IAHXC,MAAe,uEAAG,GAAG;EAAA,IACrBJ,iBAAyB,uEAAG,GAAG;EAAA,IAC/BK,gBAAwB,uEAAG,GAAG;EAE9B,IAAIF,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EAEA,MAAMG,WAAW,GACf,OAAOH,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLN,aAAa,CAACM,KAAK,EAAEH,iBAAiB,EAAEK,gBAAgB,CAAC;EAE/D,IAAI,OAAOC,WAAW,KAAK,QAAQ,EAAE;IACnC,MAAM,IAAIZ,wBAAwB,CAC/B,uBAAsBS,KAAM,kBAAiB,CAC/C;EACH;EAEA,MAAMI,WAAW,GAAGX,mBAAmB,CAACU,WAAW,CAAC;EAEpD,IAAIF,MAAM,IAAI,IAAI,EAAE;IAClB,MAAMI,cAAc,GAAG,IAAIb,aAAa,CAACS,MAAM,CAAC,CAACA,MAAM,CAACG,WAAW,CAAC;IAEpE,MAAM,CAACE,OAAO,EAAEC,OAAO,CAAC,GAAGF,cAAc,CAACG,KAAK,CAAC,GAAG,CAAC;IAEpD,MAAMC,WAAW,GAAGd,uBAAuB,CAACW,OAAO,EAAET,iBAAiB,CAAC;IAEvE,IAAIU,OAAO,EAAE;MACX,OAAQ,GAAEE,WAAY,GAAEP,gBAAiB,GAAEK,OAAQ,EAAC;IACtD;IAEA,OAAOE,WAAW;EACpB;EAEA,OAAOL,WAAW;AACpB,CAAC;AAED,eAAeL,WAAW"}
1
+ {"version":3,"file":"formatValue.js","names":["IllegalArgumentException","DecimalFormat","parseNumberToString","parseToNumber","updateGroupingSeparator","input","groupingSeparator","replace","formatValue","value","format","decimalSeparator","numberValue","stringValue","formattedValue","integer","decimal","split","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,SAASA,wBAAT,QAAyC,kBAAzC;AAEA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,mBAAT,EAA8BC,aAA9B,QAAmD,gBAAnD;AAEA;AACA;AACA;;AACA,MAAMC,uBAAuB,GAAG,CAACC,KAAD,EAAgBC,iBAAhB,KAA8C;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,MAAME,WAAW,GAAG,UAClBC,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,MAAMG,WAAW,GACf,OAAOH,KAAP,KAAiB,QAAjB,GACIA,KADJ,GAEIN,aAAa,CAACM,KAAD,EAAQH,iBAAR,EAA2BK,gBAA3B,CAHnB;;EAKA,IAAI,OAAOC,WAAP,KAAuB,QAA3B,EAAqC;IACnC,MAAM,IAAIZ,wBAAJ,+BACmBS,KADnB,sBAAN;EAGD;;EAED,MAAMI,WAAW,GAAGX,mBAAmB,CAACU,WAAD,CAAvC;;EAEA,IAAIF,MAAM,IAAI,IAAd,EAAoB;IAClB,MAAMI,cAAc,GAAG,IAAIb,aAAJ,CAAkBS,MAAlB,EAA0BA,MAA1B,CAAiCG,WAAjC,CAAvB;IAEA,MAAM,CAACE,OAAD,EAAUC,OAAV,IAAqBF,cAAc,CAACG,KAAf,CAAqB,GAArB,CAA3B;IAEA,MAAMC,WAAW,GAAGd,uBAAuB,CAACW,OAAD,EAAUT,iBAAV,CAA3C;;IAEA,IAAIU,OAAJ,EAAa;MAAA;;MACX,wFAAUE,WAAV,mBAAwBP,gBAAxB,kBAA2CK,OAA3C;IACD;;IAED,OAAOE,WAAP;EACD;;EAED,OAAOL,WAAP;AACD,CAtCD;;AAwCA,eAAeL,WAAf"}