@beinformed/ui 1.30.0 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/LayoutHints.js.map +1 -1
  4. package/esm/constants/Settings.js.map +1 -1
  5. package/esm/exceptions/NetworkException.js.map +1 -1
  6. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/hooks/useContent.js.map +1 -1
  9. package/esm/hooks/useForm.js +3 -2
  10. package/esm/hooks/useForm.js.map +1 -1
  11. package/esm/hooks/useI18n.js.map +1 -1
  12. package/esm/hooks/useModal.js.map +1 -1
  13. package/esm/hooks/useModelCatalog.js.map +1 -1
  14. package/esm/hooks/useModels.js.map +1 -1
  15. package/esm/hooks/useModularUI.js.map +1 -1
  16. package/esm/hooks/useModularUIBasic.js.map +1 -1
  17. package/esm/hooks/useNotification.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js.map +1 -1
  19. package/esm/hooks/useRouter.js.map +1 -1
  20. package/esm/i18n/Locale.js.map +1 -1
  21. package/esm/i18n/Locales.js.map +1 -1
  22. package/esm/i18n/Message.js.map +1 -1
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js.map +1 -1
  25. package/esm/models/actions/ActionModel.js.map +1 -1
  26. package/esm/models/application/ApplicationModel.js.map +1 -1
  27. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  28. package/esm/models/attributes/AttributeContent.js.map +1 -1
  29. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  30. package/esm/models/attributes/AttributeModel.js.map +1 -1
  31. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  32. package/esm/models/attributes/BooleanAttributeModel.js +1 -1
  33. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  35. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  37. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  38. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  39. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  41. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  42. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/_createAttribute.js.map +1 -1
  47. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  56. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  57. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  58. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  60. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  61. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  62. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  63. package/esm/models/base/BaseCollection.js.map +1 -1
  64. package/esm/models/base/BaseModel.js.map +1 -1
  65. package/esm/models/base/ResourceCollection.js.map +1 -1
  66. package/esm/models/base/ResourceModel.js.map +1 -1
  67. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  68. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  69. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  71. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  72. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  73. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  74. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  75. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  76. package/esm/models/content/ContentIndexModel.js.map +1 -1
  77. package/esm/models/content/ContentLinkModel.js.map +1 -1
  78. package/esm/models/content/ContentModel.js.map +1 -1
  79. package/esm/models/content/ContentTOCModel.js.map +1 -1
  80. package/esm/models/content/SectionModel.js.map +1 -1
  81. package/esm/models/content/SubSectionModel.js.map +1 -1
  82. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  83. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  84. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  85. package/esm/models/detail/DetailModel.js.map +1 -1
  86. package/esm/models/error/ErrorCollection.js.map +1 -1
  87. package/esm/models/error/ErrorModel.js.map +1 -1
  88. package/esm/models/error/ErrorResponse.js +6 -0
  89. package/esm/models/error/ErrorResponse.js.map +1 -1
  90. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  91. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  92. package/esm/models/filters/FilterCollection.js.map +1 -1
  93. package/esm/models/form/FormModel.js +30 -3
  94. package/esm/models/form/FormModel.js.map +1 -1
  95. package/esm/models/form/FormObjectModel.js.map +1 -1
  96. package/esm/models/grouping/GroupingModel.js.map +1 -1
  97. package/esm/models/href/Href.js.map +1 -1
  98. package/esm/models/href/ListHref.js.map +1 -1
  99. package/esm/models/layouthint/LayoutHintCollection.js +4 -4
  100. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  101. package/esm/models/links/LinkCollection.js.map +1 -1
  102. package/esm/models/links/LinkModel.js.map +1 -1
  103. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  104. package/esm/models/list/ListDetailModel.js.map +1 -1
  105. package/esm/models/list/ListItemCollection.js.map +1 -1
  106. package/esm/models/list/ListItemModel.js.map +1 -1
  107. package/esm/models/list/ListModel.js.map +1 -1
  108. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  109. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  110. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  111. package/esm/models/paging/PagingModel.js.map +1 -1
  112. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  113. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  114. package/esm/models/resolveModel.js.map +1 -1
  115. package/esm/models/search/CaseSearchModel.js.map +1 -1
  116. package/esm/models/sorting/SortingModel.js +1 -1
  117. package/esm/models/sorting/SortingModel.js.map +1 -1
  118. package/esm/models/tab/TabModel.js.map +1 -1
  119. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  120. package/esm/models/user/UserProfileModel.js.map +1 -1
  121. package/esm/modularui/Authenticate.js.map +1 -1
  122. package/esm/modularui/CaptchaRequest.js.map +1 -1
  123. package/esm/modularui/ModularUIRequest.js.map +1 -1
  124. package/esm/modularui/ModularUIResponse.js.map +1 -1
  125. package/esm/modularui/UploadRequest.js.map +1 -1
  126. package/esm/react/ErrorBoundary.js.map +1 -1
  127. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  128. package/esm/react-client/Init.js.map +1 -1
  129. package/esm/react-client/client.js.map +1 -1
  130. package/esm/react-client/contextPath.js.map +1 -1
  131. package/esm/react-client/rehydrate.js.map +1 -1
  132. package/esm/react-server/contextPath.js.map +1 -1
  133. package/esm/react-server/createSSRComplete.js.map +1 -1
  134. package/esm/react-server/htmlpage.js.map +1 -1
  135. package/esm/react-server/renderSSRComplete.js.map +1 -1
  136. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  137. package/esm/react-server/requestInformation.js.map +1 -1
  138. package/esm/react-server/serverNoSSR.js.map +1 -1
  139. package/esm/react-server/serverSSR.js.map +1 -1
  140. package/esm/react-server/serverUtil.js.map +1 -1
  141. package/esm/react-theme/ThemeProvider.js.map +1 -1
  142. package/esm/react-theme/createTheme.js.map +1 -1
  143. package/esm/react-theme/utils/contrast.js.map +1 -1
  144. package/esm/react-theme/utils/corners.js.map +1 -1
  145. package/esm/react-theme/utils/spacers.js.map +1 -1
  146. package/esm/react-theme/utils/themeProps.js.map +1 -1
  147. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  148. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  149. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  150. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  151. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  152. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  153. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  154. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  155. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  156. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  157. package/esm/redux/_router/RouterMiddleware.js.map +1 -1
  158. package/esm/redux/actions/Application.js.map +1 -1
  159. package/esm/redux/actions/Authorization.js.map +1 -1
  160. package/esm/redux/actions/Error.js.map +1 -1
  161. package/esm/redux/actions/Form.js.map +1 -1
  162. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  163. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  164. package/esm/redux/actions/FormAutosave.js.map +1 -1
  165. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  166. package/esm/redux/actions/FormValidations.js.map +1 -1
  167. package/esm/redux/actions/Notification.js.map +1 -1
  168. package/esm/redux/actions/Preferences.js.map +1 -1
  169. package/esm/redux/actions/SignIn.js.map +1 -1
  170. package/esm/redux/actions/SignOut.js.map +1 -1
  171. package/esm/redux/connectors/Application.js.map +1 -1
  172. package/esm/redux/connectors/CaseView.js.map +1 -1
  173. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  174. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  175. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  176. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  177. package/esm/redux/connectors/Form.js.map +1 -1
  178. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  179. package/esm/redux/connectors/ListDetail.js.map +1 -1
  180. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  181. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  182. package/esm/redux/connectors/Preferences.js.map +1 -1
  183. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  184. package/esm/redux/connectors/Tab.js.map +1 -1
  185. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  186. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  187. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  188. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  189. package/esm/redux/store/configureStore.js.map +1 -1
  190. package/esm/utils/browser/Cache.js.map +1 -1
  191. package/esm/utils/browser/Cookies.js.map +1 -1
  192. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  193. package/esm/utils/fetch/serverFetch.js.map +1 -1
  194. package/esm/utils/fetch/universalFetch.js.map +1 -1
  195. package/esm/utils/fetch/xhr.js.map +1 -1
  196. package/esm/utils/helpers/checkResource.js.map +1 -1
  197. package/esm/utils/helpers/createHash.js.map +1 -1
  198. package/esm/utils/helpers/createUUID.js.map +1 -1
  199. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  200. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  201. package/esm/utils/number/DecimalFormat.js +4 -8
  202. package/esm/utils/number/DecimalFormat.js.map +1 -1
  203. package/esm/utils/number/formatValue.js.map +1 -1
  204. package/esm/utils/number/parseNumbers.js.map +1 -1
  205. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  206. package/lib/constants/LayoutHints.js.map +1 -1
  207. package/lib/constants/Settings.js.map +1 -1
  208. package/lib/exceptions/NetworkException.js.map +1 -1
  209. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  210. package/lib/hooks/useAuthentication.js.map +1 -1
  211. package/lib/hooks/useContent.js.map +1 -1
  212. package/lib/hooks/useForm.js +3 -2
  213. package/lib/hooks/useForm.js.flow +2 -1
  214. package/lib/hooks/useForm.js.map +1 -1
  215. package/lib/hooks/useI18n.js.map +1 -1
  216. package/lib/hooks/useModal.js.map +1 -1
  217. package/lib/hooks/useModelCatalog.js.map +1 -1
  218. package/lib/hooks/useModels.js.map +1 -1
  219. package/lib/hooks/useModularUI.js.map +1 -1
  220. package/lib/hooks/useModularUIBasic.js.map +1 -1
  221. package/lib/hooks/useNotification.js.map +1 -1
  222. package/lib/hooks/useProgressIndicator.js.map +1 -1
  223. package/lib/hooks/useRouter.js.map +1 -1
  224. package/lib/i18n/Locale.js.map +1 -1
  225. package/lib/i18n/Locales.js.map +1 -1
  226. package/lib/i18n/Message.js.map +1 -1
  227. package/lib/i18n/withMessage.js.map +1 -1
  228. package/lib/models/actions/ActionCollection.js.map +1 -1
  229. package/lib/models/actions/ActionModel.js.map +1 -1
  230. package/lib/models/application/ApplicationModel.js.map +1 -1
  231. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  232. package/lib/models/attributes/AttributeContent.js.map +1 -1
  233. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  234. package/lib/models/attributes/AttributeModel.js.map +1 -1
  235. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  236. package/lib/models/attributes/BooleanAttributeModel.js +1 -1
  237. package/lib/models/attributes/BooleanAttributeModel.js.flow +1 -1
  238. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  239. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  240. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  241. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  242. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  243. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  244. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  245. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  246. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  247. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  248. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  249. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  250. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  251. package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +14 -0
  252. package/lib/models/attributes/_createAttribute.js.map +1 -1
  253. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  254. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  255. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  256. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  257. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  258. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  259. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  260. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  261. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  262. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  263. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  264. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
  265. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  266. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  267. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  268. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  269. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  270. package/lib/models/base/BaseCollection.js.map +1 -1
  271. package/lib/models/base/BaseModel.js.map +1 -1
  272. package/lib/models/base/ResourceCollection.js.map +1 -1
  273. package/lib/models/base/ResourceModel.js.map +1 -1
  274. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  275. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  276. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  277. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  278. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  279. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  280. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  281. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  282. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  283. package/lib/models/content/ContentIndexModel.js.map +1 -1
  284. package/lib/models/content/ContentLinkModel.js.map +1 -1
  285. package/lib/models/content/ContentModel.js.map +1 -1
  286. package/lib/models/content/ContentTOCModel.js.map +1 -1
  287. package/lib/models/content/SectionModel.js.map +1 -1
  288. package/lib/models/content/SubSectionModel.js.map +1 -1
  289. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  290. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  291. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  292. package/lib/models/detail/DetailModel.js.map +1 -1
  293. package/lib/models/error/ErrorCollection.js.map +1 -1
  294. package/lib/models/error/ErrorModel.js.map +1 -1
  295. package/lib/models/error/ErrorResponse.js +6 -0
  296. package/lib/models/error/ErrorResponse.js.map +1 -1
  297. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  298. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  299. package/lib/models/filters/FilterCollection.js.map +1 -1
  300. package/lib/models/form/FormModel.js +30 -3
  301. package/lib/models/form/FormModel.js.flow +32 -4
  302. package/lib/models/form/FormModel.js.map +1 -1
  303. package/lib/models/form/FormObjectModel.js.map +1 -1
  304. package/lib/models/form/__tests__/FormModel.spec.js.flow +4 -0
  305. package/lib/models/grouping/GroupingModel.js.map +1 -1
  306. package/lib/models/href/Href.js.map +1 -1
  307. package/lib/models/href/ListHref.js.map +1 -1
  308. package/lib/models/layouthint/LayoutHintCollection.js +4 -4
  309. package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
  310. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  311. package/lib/models/links/LinkCollection.js.map +1 -1
  312. package/lib/models/links/LinkModel.js.map +1 -1
  313. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  314. package/lib/models/list/ListDetailModel.js.map +1 -1
  315. package/lib/models/list/ListItemCollection.js.map +1 -1
  316. package/lib/models/list/ListItemModel.js.map +1 -1
  317. package/lib/models/list/ListModel.js.map +1 -1
  318. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  319. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  320. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  321. package/lib/models/paging/PagingModel.js.map +1 -1
  322. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  323. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  324. package/lib/models/resolveModel.js.map +1 -1
  325. package/lib/models/search/CaseSearchModel.js.map +1 -1
  326. package/lib/models/sorting/SortingModel.js +1 -1
  327. package/lib/models/sorting/SortingModel.js.flow +1 -1
  328. package/lib/models/sorting/SortingModel.js.map +1 -1
  329. package/lib/models/tab/TabModel.js.map +1 -1
  330. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  331. package/lib/models/user/UserProfileModel.js.map +1 -1
  332. package/lib/modularui/Authenticate.js.map +1 -1
  333. package/lib/modularui/CaptchaRequest.js.map +1 -1
  334. package/lib/modularui/ModularUIRequest.js.map +1 -1
  335. package/lib/modularui/ModularUIResponse.js.map +1 -1
  336. package/lib/modularui/UploadRequest.js.map +1 -1
  337. package/lib/react/ErrorBoundary.js.map +1 -1
  338. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  339. package/lib/react-client/Init.js.map +1 -1
  340. package/lib/react-client/client.js.map +1 -1
  341. package/lib/react-client/contextPath.js.map +1 -1
  342. package/lib/react-client/rehydrate.js.map +1 -1
  343. package/lib/react-server/contextPath.js.map +1 -1
  344. package/lib/react-server/createSSRComplete.js.map +1 -1
  345. package/lib/react-server/htmlpage.js.map +1 -1
  346. package/lib/react-server/renderSSRComplete.js.map +1 -1
  347. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  348. package/lib/react-server/requestInformation.js.map +1 -1
  349. package/lib/react-server/serverNoSSR.js.map +1 -1
  350. package/lib/react-server/serverSSR.js.map +1 -1
  351. package/lib/react-server/serverUtil.js.map +1 -1
  352. package/lib/react-theme/ThemeProvider.js.map +1 -1
  353. package/lib/react-theme/createTheme.js.map +1 -1
  354. package/lib/react-theme/utils/contrast.js.map +1 -1
  355. package/lib/react-theme/utils/corners.js.map +1 -1
  356. package/lib/react-theme/utils/spacers.js.map +1 -1
  357. package/lib/react-theme/utils/themeProps.js.map +1 -1
  358. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  359. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  360. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  361. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  362. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  363. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  364. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  365. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  366. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  367. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  368. package/lib/redux/_router/RouterMiddleware.js.map +1 -1
  369. package/lib/redux/actions/Application.js.map +1 -1
  370. package/lib/redux/actions/Authorization.js.map +1 -1
  371. package/lib/redux/actions/Error.js.map +1 -1
  372. package/lib/redux/actions/Form.js.map +1 -1
  373. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  374. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  375. package/lib/redux/actions/FormAutosave.js.map +1 -1
  376. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  377. package/lib/redux/actions/FormValidations.js.map +1 -1
  378. package/lib/redux/actions/Notification.js.map +1 -1
  379. package/lib/redux/actions/Preferences.js.map +1 -1
  380. package/lib/redux/actions/SignIn.js.map +1 -1
  381. package/lib/redux/actions/SignOut.js.map +1 -1
  382. package/lib/redux/connectors/Application.js.map +1 -1
  383. package/lib/redux/connectors/CaseView.js.map +1 -1
  384. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  385. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  386. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  387. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  388. package/lib/redux/connectors/Form.js.map +1 -1
  389. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  390. package/lib/redux/connectors/ListDetail.js.map +1 -1
  391. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  392. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  393. package/lib/redux/connectors/Preferences.js.map +1 -1
  394. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  395. package/lib/redux/connectors/Tab.js.map +1 -1
  396. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  397. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  398. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  399. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  400. package/lib/redux/store/configureStore.js.map +1 -1
  401. package/lib/utils/browser/Cache.js.map +1 -1
  402. package/lib/utils/browser/Cookies.js.map +1 -1
  403. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  404. package/lib/utils/fetch/serverFetch.js.map +1 -1
  405. package/lib/utils/fetch/universalFetch.js.map +1 -1
  406. package/lib/utils/fetch/xhr.js.map +1 -1
  407. package/lib/utils/helpers/checkResource.js.map +1 -1
  408. package/lib/utils/helpers/createHash.js.map +1 -1
  409. package/lib/utils/helpers/createUUID.js.map +1 -1
  410. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  411. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  412. package/lib/utils/number/DecimalFormat.js +4 -8
  413. package/lib/utils/number/DecimalFormat.js.map +1 -1
  414. package/lib/utils/number/formatValue.js.map +1 -1
  415. package/lib/utils/number/parseNumbers.js.map +1 -1
  416. package/package.json +32 -32
  417. package/src/hooks/useForm.js +2 -1
  418. package/src/models/attributes/BooleanAttributeModel.js +1 -1
  419. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +14 -0
  420. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  421. package/src/models/form/FormModel.js +32 -4
  422. package/src/models/form/__tests__/FormModel.spec.js +4 -0
  423. package/src/models/layouthint/LayoutHintCollection.js +4 -4
  424. package/src/models/sorting/SortingModel.js +1 -1
  425. package/types/constants/Constants.d.ts +145 -145
  426. package/types/constants/LayoutHintConfig.d.ts +226 -226
  427. package/types/constants/LayoutHints.d.ts +74 -74
  428. package/types/constants/Settings.d.ts +29 -29
  429. package/types/constants/index.d.ts +3 -3
  430. package/types/exceptions/ConfigurationException.d.ts +6 -6
  431. package/types/exceptions/FetchException.d.ts +31 -31
  432. package/types/exceptions/IllegalArgumentException.d.ts +6 -6
  433. package/types/exceptions/IllegalReturnException.d.ts +5 -5
  434. package/types/exceptions/IllegalStateException.d.ts +6 -6
  435. package/types/exceptions/JsonParseException.d.ts +6 -6
  436. package/types/exceptions/MissingPropertyException.d.ts +6 -6
  437. package/types/exceptions/NetworkException.d.ts +9 -9
  438. package/types/exceptions/NotAllowedUriException.d.ts +6 -6
  439. package/types/exceptions/NotFoundException.d.ts +10 -10
  440. package/types/exceptions/ServerRequestException.d.ts +6 -6
  441. package/types/exceptions/ThemePropertyException.d.ts +6 -6
  442. package/types/exceptions/TimeoutException.d.ts +7 -7
  443. package/types/exceptions/UnauthorizedException.d.ts +11 -11
  444. package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
  445. package/types/exceptions/index.d.ts +15 -15
  446. package/types/hooks/useI18n.d.ts +9 -9
  447. package/types/i18n/Locale.d.ts +53 -53
  448. package/types/i18n/Locales.d.ts +55 -55
  449. package/types/i18n/Message.d.ts +6 -6
  450. package/types/i18n/index.d.ts +5 -5
  451. package/types/i18n/languages.d.ts +215 -215
  452. package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
  453. package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
  454. package/types/i18n/types.d.ts +11 -11
  455. package/types/i18n/withMessage.d.ts +3 -3
  456. package/types/index.d.ts +6 -6
  457. package/types/models/actions/ActionCollection.d.ts +29 -29
  458. package/types/models/actions/ActionModel.d.ts +84 -84
  459. package/types/models/application/ApplicationModel.d.ts +41 -41
  460. package/types/models/attributes/AttributeCollection.d.ts +96 -96
  461. package/types/models/attributes/AttributeContent.d.ts +64 -64
  462. package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
  463. package/types/models/attributes/AttributeModel.d.ts +395 -395
  464. package/types/models/attributes/AttributeSetModel.d.ts +28 -28
  465. package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
  466. package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
  467. package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
  468. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
  469. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
  470. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
  471. package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
  472. package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
  473. package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
  474. package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
  475. package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
  476. package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
  477. package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
  478. package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
  479. package/types/models/attributes/StringAttributeModel.d.ts +62 -62
  480. package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
  481. package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
  482. package/types/models/attributes/_createAttribute.d.ts +6 -6
  483. package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
  484. package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
  485. package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
  486. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
  487. package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
  488. package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
  489. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
  490. package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
  491. package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
  492. package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
  493. package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
  494. package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
  495. package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
  496. package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
  497. package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
  498. package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
  499. package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
  500. package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
  501. package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
  502. package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
  503. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
  504. package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
  505. package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
  506. package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
  507. package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
  508. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
  509. package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
  510. package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
  511. package/types/models/base/BaseCollection.d.ts +89 -89
  512. package/types/models/base/BaseModel.d.ts +67 -67
  513. package/types/models/base/ResourceCollection.d.ts +19 -19
  514. package/types/models/base/ResourceModel.d.ts +97 -97
  515. package/types/models/caseview/CaseViewModel.d.ts +45 -45
  516. package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
  517. package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
  518. package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
  519. package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
  520. package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
  521. package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
  522. package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
  523. package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
  524. package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
  525. package/types/models/content/ContentIndexModel.d.ts +34 -34
  526. package/types/models/content/ContentLinkModel.d.ts +81 -81
  527. package/types/models/content/ContentModel.d.ts +74 -74
  528. package/types/models/content/ContentTOCModel.d.ts +37 -37
  529. package/types/models/content/ContentTypeModel.d.ts +26 -26
  530. package/types/models/content/SectionModel.d.ts +75 -75
  531. package/types/models/content/SubSectionModel.d.ts +64 -64
  532. package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
  533. package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
  534. package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
  535. package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
  536. package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
  537. package/types/models/detail/DetailModel.d.ts +72 -72
  538. package/types/models/error/ErrorCollection.d.ts +51 -51
  539. package/types/models/error/ErrorModel.d.ts +41 -41
  540. package/types/models/error/ErrorResponse.d.ts +148 -148
  541. package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
  542. package/types/models/filters/BaseFilterModel.d.ts +85 -85
  543. package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
  544. package/types/models/filters/FilterCollection.d.ts +48 -48
  545. package/types/models/filters/FilterModel.d.ts +5 -5
  546. package/types/models/filters/RangeFilterModel.d.ts +6 -6
  547. package/types/models/form/FormModel.d.ts +343 -320
  548. package/types/models/form/FormObjectModel.d.ts +196 -196
  549. package/types/models/grouping/GroupingModel.d.ts +85 -85
  550. package/types/models/href/Href.d.ts +196 -196
  551. package/types/models/href/ListHref.d.ts +64 -64
  552. package/types/models/index.d.ts +95 -94
  553. package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
  554. package/types/models/links/LinkCollection.d.ts +62 -62
  555. package/types/models/links/LinkModel.d.ts +92 -92
  556. package/types/models/links/normalizeLinkJSON.d.ts +9 -9
  557. package/types/models/list/ListDetailModel.d.ts +69 -69
  558. package/types/models/list/ListHeaderModel.d.ts +64 -64
  559. package/types/models/list/ListItemCollection.d.ts +21 -21
  560. package/types/models/list/ListItemModel.d.ts +34 -34
  561. package/types/models/list/ListModel.d.ts +135 -135
  562. package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
  563. package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
  564. package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
  565. package/types/models/paging/PagesizeModel.d.ts +25 -25
  566. package/types/models/paging/PagingModel.d.ts +49 -49
  567. package/types/models/panels/GroupingPanelModel.d.ts +39 -39
  568. package/types/models/parameter/Parameter.d.ts +40 -40
  569. package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
  570. package/types/models/resolveModel.d.ts +7 -7
  571. package/types/models/search/CaseSearchModel.d.ts +14 -14
  572. package/types/models/sorting/SortOptionModel.d.ts +48 -48
  573. package/types/models/sorting/SortingModel.d.ts +42 -42
  574. package/types/models/tab/TabModel.d.ts +44 -44
  575. package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
  576. package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
  577. package/types/models/types.d.ts +161 -161
  578. package/types/models/user/UserModel.d.ts +14 -14
  579. package/types/models/user/UserProfileModel.d.ts +12 -12
  580. package/types/models/user/UserServicesModel.d.ts +28 -28
  581. package/types/modularui/Authenticate.d.ts +49 -49
  582. package/types/modularui/CaptchaRequest.d.ts +45 -45
  583. package/types/modularui/ModularUIError.d.ts +10 -10
  584. package/types/modularui/ModularUIRequest.d.ts +198 -198
  585. package/types/modularui/ModularUIResponse.d.ts +56 -56
  586. package/types/modularui/UploadRequest.d.ts +35 -35
  587. package/types/modularui/index.d.ts +5 -5
  588. package/types/modularui/types.d.ts +2 -2
  589. package/types/redux/_i18n/types.d.ts +13 -13
  590. package/types/redux/_modularui/types.d.ts +61 -61
  591. package/types/redux/_router/types.d.ts +35 -35
  592. package/types/redux/selectors/i18n.d.ts +4 -4
  593. package/types/redux/types.d.ts +105 -105
  594. package/types/utils/browser/Cache.d.ts +45 -45
  595. package/types/utils/browser/Cookies.d.ts +9 -9
  596. package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
  597. package/types/utils/fetch/serverFetch.d.ts +5 -5
  598. package/types/utils/fetch/types.d.ts +40 -40
  599. package/types/utils/fetch/universalFetch.d.ts +7 -7
  600. package/types/utils/fetch/xhr.d.ts +5 -5
  601. package/types/utils/helpers/checkResource.d.ts +3 -3
  602. package/types/utils/helpers/createHash.d.ts +8 -8
  603. package/types/utils/helpers/createUUID.d.ts +4 -4
  604. package/types/utils/helpers/index.d.ts +7 -7
  605. package/types/utils/helpers/objects.d.ts +11 -11
  606. package/types/utils/helpers/repositoryResource.d.ts +1 -1
  607. package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
  608. package/types/utils/helpers/text.d.ts +7 -7
  609. package/types/utils/index.d.ts +11 -11
  610. package/types/utils/number/DecimalFormat.d.ts +90 -90
  611. package/types/utils/number/formatValue.d.ts +4 -4
  612. package/types/utils/number/parseNumbers.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"serverNoSSR.js","names":["require","_createUUID","_interopRequireDefault","_requestInformation","_serverUtil","_beforeRenderHooks","_renderSSRMinimal","_createTheme","serverNoSSR","_ref","request","locales","customReducers","serverPreferences","theme","render","template","beforeRenderHooks","preloadApplication","UUID","createUUID","__webpack_nonce__","requestHref","getFullRequestHref","store","createReduxStore","setServerPreferences","setConfigurationTheme","storedTheme","getState","preferences","createTheme","setI18n","setApplication","handleErrors","handleBeforeRenderHooks","renderSSRMinimal","_default","exports","default"],"sources":["../../src/react-server/serverNoSSR.js"],"sourcesContent":["// @flow\nimport \"./contextPath\";\n\nimport createUUID from \"../utils/helpers/createUUID\";\nimport { getFullRequestHref } from \"./requestInformation\";\n\nimport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n handleErrors,\n} from \"./serverUtil\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport renderSSRMinimal from \"./renderSSRMinimal\";\n\nimport createTheme from \"../react-theme/createTheme\";\n\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { PreferenceValue } from \"./serverUtil\";\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { Theme } from \"../react-theme/types\";\n\ntype serverProps = {\n request: HttpServletRequestJava,\n locales?: Array<LocaleConfiguration>,\n customReducers?: Object,\n theme?: Theme | Array<Theme>,\n serverPreferences?: Array<string | PreferenceValue>,\n render: Function,\n template?: (TemplateProps) => string,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n preloadApplication?: boolean,\n};\n\n/**\n */\nconst serverNoSSR = ({\n request,\n locales,\n customReducers,\n serverPreferences = [],\n theme,\n render,\n template,\n beforeRenderHooks,\n preloadApplication = true,\n}: serverProps): string => {\n const UUID = createUUID();\n __webpack_nonce__ = UUID; // NOSONAR\n\n const requestHref = getFullRequestHref(request);\n\n const store = createReduxStore(requestHref, customReducers);\n\n setServerPreferences(store, serverPreferences);\n setConfigurationTheme(store);\n\n if (theme) {\n const storedTheme = store.getState()?.preferences?.theme;\n //$FlowFixMe[incompatible-call]\n createTheme(storedTheme, theme);\n }\n\n setI18n(store, locales, request);\n\n if (preloadApplication) {\n setApplication(store);\n }\n\n handleErrors(store);\n\n handleBeforeRenderHooks(beforeRenderHooks, { store, request });\n\n return renderSSRMinimal({ store, theme, UUID, render, template });\n};\n\nexport default serverNoSSR;\n"],"mappings":";;;;;;;AACAA,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AASA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAEA,IAAAO,YAAA,GAAAL,sBAAA,CAAAF,OAAA;AAoBA;AACA;AACA,MAAMQ,WAAW,GAAGC,IAAA,IAUO;EAAA,IAVN;IACnBC,OAAO;IACPC,OAAO;IACPC,cAAc;IACdC,iBAAiB,GAAG,EAAE;IACtBC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,iBAAiB;IACjBC,kBAAkB,GAAG;EACV,CAAC,GAAAT,IAAA;EACZ,MAAMU,IAAI,GAAG,IAAAC,mBAAU,GAAE;EACzBC,iBAAiB,GAAGF,IAAI,CAAC,CAAC;;EAE1B,MAAMG,WAAW,GAAG,IAAAC,sCAAkB,EAACb,OAAO,CAAC;EAE/C,MAAMc,KAAK,GAAG,IAAAC,4BAAgB,EAACH,WAAW,EAAEV,cAAc,CAAC;EAE3D,IAAAc,gCAAoB,EAACF,KAAK,EAAEX,iBAAiB,CAAC;EAC9C,IAAAc,iCAAqB,EAACH,KAAK,CAAC;EAE5B,IAAIV,KAAK,EAAE;IACT,MAAMc,WAAW,GAAGJ,KAAK,CAACK,QAAQ,EAAE,EAAEC,WAAW,EAAEhB,KAAK;IACxD;IACA,IAAAiB,oBAAW,EAACH,WAAW,EAAEd,KAAK,CAAC;EACjC;EAEA,IAAAkB,mBAAO,EAACR,KAAK,EAAEb,OAAO,EAAED,OAAO,CAAC;EAEhC,IAAIQ,kBAAkB,EAAE;IACtB,IAAAe,0BAAc,EAACT,KAAK,CAAC;EACvB;EAEA,IAAAU,wBAAY,EAACV,KAAK,CAAC;EAEnB,IAAAW,0CAAuB,EAAClB,iBAAiB,EAAE;IAAEO,KAAK;IAAEd;EAAQ,CAAC,CAAC;EAE9D,OAAO,IAAA0B,yBAAgB,EAAC;IAAEZ,KAAK;IAAEV,KAAK;IAAEK,IAAI;IAAEJ,MAAM;IAAEC;EAAS,CAAC,CAAC;AACnE,CAAC;AAAC,IAAAqB,QAAA,GAEa7B,WAAW;AAAA8B,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"serverNoSSR.js","names":["require","_createUUID","_interopRequireDefault","_requestInformation","_serverUtil","_beforeRenderHooks","_renderSSRMinimal","_createTheme","serverNoSSR","_ref","request","locales","customReducers","serverPreferences","theme","render","template","beforeRenderHooks","preloadApplication","UUID","createUUID","__webpack_nonce__","requestHref","getFullRequestHref","store","createReduxStore","setServerPreferences","setConfigurationTheme","storedTheme","getState","preferences","createTheme","setI18n","setApplication","handleErrors","handleBeforeRenderHooks","renderSSRMinimal","_default","exports","default"],"sources":["../../src/react-server/serverNoSSR.js"],"sourcesContent":["// @flow\nimport \"./contextPath\";\n\nimport createUUID from \"../utils/helpers/createUUID\";\nimport { getFullRequestHref } from \"./requestInformation\";\n\nimport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n handleErrors,\n} from \"./serverUtil\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport renderSSRMinimal from \"./renderSSRMinimal\";\n\nimport createTheme from \"../react-theme/createTheme\";\n\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { PreferenceValue } from \"./serverUtil\";\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { Theme } from \"../react-theme/types\";\n\ntype serverProps = {\n request: HttpServletRequestJava,\n locales?: Array<LocaleConfiguration>,\n customReducers?: Object,\n theme?: Theme | Array<Theme>,\n serverPreferences?: Array<string | PreferenceValue>,\n render: Function,\n template?: (TemplateProps) => string,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n preloadApplication?: boolean,\n};\n\n/**\n */\nconst serverNoSSR = ({\n request,\n locales,\n customReducers,\n serverPreferences = [],\n theme,\n render,\n template,\n beforeRenderHooks,\n preloadApplication = true,\n}: serverProps): string => {\n const UUID = createUUID();\n __webpack_nonce__ = UUID; // NOSONAR\n\n const requestHref = getFullRequestHref(request);\n\n const store = createReduxStore(requestHref, customReducers);\n\n setServerPreferences(store, serverPreferences);\n setConfigurationTheme(store);\n\n if (theme) {\n const storedTheme = store.getState()?.preferences?.theme;\n //$FlowFixMe[incompatible-call]\n createTheme(storedTheme, theme);\n }\n\n setI18n(store, locales, request);\n\n if (preloadApplication) {\n setApplication(store);\n }\n\n handleErrors(store);\n\n handleBeforeRenderHooks(beforeRenderHooks, { store, request });\n\n return renderSSRMinimal({ store, theme, UUID, render, template });\n};\n\nexport default serverNoSSR;\n"],"mappings":";;;;;;;AACAA,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AASA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAEA,IAAAO,YAAA,GAAAL,sBAAA,CAAAF,OAAA;AAoBA;AACA;AACA,MAAMQ,WAAW,GAAGC,IAAA,IAUO;EAAA,IAVN;IACnBC,OAAO;IACPC,OAAO;IACPC,cAAc;IACdC,iBAAiB,GAAG,EAAE;IACtBC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,iBAAiB;IACjBC,kBAAkB,GAAG;EACV,CAAC,GAAAT,IAAA;EACZ,MAAMU,IAAI,GAAG,IAAAC,mBAAU,EAAC,CAAC;EACzBC,iBAAiB,GAAGF,IAAI,CAAC,CAAC;;EAE1B,MAAMG,WAAW,GAAG,IAAAC,sCAAkB,EAACb,OAAO,CAAC;EAE/C,MAAMc,KAAK,GAAG,IAAAC,4BAAgB,EAACH,WAAW,EAAEV,cAAc,CAAC;EAE3D,IAAAc,gCAAoB,EAACF,KAAK,EAAEX,iBAAiB,CAAC;EAC9C,IAAAc,iCAAqB,EAACH,KAAK,CAAC;EAE5B,IAAIV,KAAK,EAAE;IACT,MAAMc,WAAW,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC,EAAEC,WAAW,EAAEhB,KAAK;IACxD;IACA,IAAAiB,oBAAW,EAACH,WAAW,EAAEd,KAAK,CAAC;EACjC;EAEA,IAAAkB,mBAAO,EAACR,KAAK,EAAEb,OAAO,EAAED,OAAO,CAAC;EAEhC,IAAIQ,kBAAkB,EAAE;IACtB,IAAAe,0BAAc,EAACT,KAAK,CAAC;EACvB;EAEA,IAAAU,wBAAY,EAACV,KAAK,CAAC;EAEnB,IAAAW,0CAAuB,EAAClB,iBAAiB,EAAE;IAAEO,KAAK;IAAEd;EAAQ,CAAC,CAAC;EAE9D,OAAO,IAAA0B,yBAAgB,EAAC;IAAEZ,KAAK;IAAEV,KAAK;IAAEK,IAAI;IAAEJ,MAAM;IAAEC;EAAS,CAAC,CAAC;AACnE,CAAC;AAAC,IAAAqB,QAAA,GAEa7B,WAAW;AAAA8B,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverSSR.js","names":["require","_createUUID","_interopRequireDefault","_requestInformation","_serverUtil","_beforeRenderHooks","_renderSSRComplete","serverSSR","_ref","request","locales","customReducers","serverPreferences","theme","render","ErrorPage","template","beforeRenderHooks","UUID","createUUID","__webpack_nonce__","requestHref","getFullRequestHref","store","createReduxStore","setServerPreferences","setConfigurationTheme","setI18n","handleBeforeRenderHooks","renderSSRComplete","_default","exports","default"],"sources":["../../src/react-server/serverSSR.js"],"sourcesContent":["// @flow\nimport \"./contextPath\";\n\nimport createUUID from \"../utils/helpers/createUUID\";\nimport { getFullRequestHref } from \"./requestInformation\";\n\nimport {\n createReduxStore,\n setI18n,\n setServerPreferences,\n setConfigurationTheme,\n} from \"./serverUtil\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport renderSSRComplete from \"./renderSSRComplete\";\n\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { PreferenceValue } from \"./serverUtil\";\nimport type { LocaleConfiguration } from \"../i18n/types\";\ntype serverProps = {\n request: HttpServletRequestJava,\n locales?: Array<LocaleConfiguration>,\n customReducers?: Object,\n theme?: Object,\n serverPreferences?: Array<string | PreferenceValue>,\n render: Function,\n ErrorPage?: any,\n template?: (TemplateProps) => string,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n};\n\n/**\n */\nconst serverSSR = ({\n request,\n locales,\n customReducers,\n serverPreferences = [],\n theme = null,\n render,\n ErrorPage,\n template,\n beforeRenderHooks,\n}: serverProps): Promise<string> => {\n const UUID = createUUID();\n __webpack_nonce__ = UUID; // NOSONAR\n\n const requestHref = getFullRequestHref(request);\n const store = createReduxStore(requestHref, customReducers);\n\n setServerPreferences(store, serverPreferences);\n setConfigurationTheme(store);\n setI18n(store, locales, request);\n\n handleBeforeRenderHooks(beforeRenderHooks, { request, store });\n\n return renderSSRComplete({\n store,\n theme,\n UUID,\n requestHref,\n render,\n ErrorPage,\n template,\n });\n};\n\nexport default serverSSR;\n"],"mappings":";;;;;;;AACAA,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAOA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAkBA;AACA;AACA,MAAMO,SAAS,GAAGC,IAAA,IAUkB;EAAA,IAVjB;IACjBC,OAAO;IACPC,OAAO;IACPC,cAAc;IACdC,iBAAiB,GAAG,EAAE;IACtBC,KAAK,GAAG,IAAI;IACZC,MAAM;IACNC,SAAS;IACTC,QAAQ;IACRC;EACW,CAAC,GAAAT,IAAA;EACZ,MAAMU,IAAI,GAAG,IAAAC,mBAAU,GAAE;EACzBC,iBAAiB,GAAGF,IAAI,CAAC,CAAC;;EAE1B,MAAMG,WAAW,GAAG,IAAAC,sCAAkB,EAACb,OAAO,CAAC;EAC/C,MAAMc,KAAK,GAAG,IAAAC,4BAAgB,EAACH,WAAW,EAAEV,cAAc,CAAC;EAE3D,IAAAc,gCAAoB,EAACF,KAAK,EAAEX,iBAAiB,CAAC;EAC9C,IAAAc,iCAAqB,EAACH,KAAK,CAAC;EAC5B,IAAAI,mBAAO,EAACJ,KAAK,EAAEb,OAAO,EAAED,OAAO,CAAC;EAEhC,IAAAmB,0CAAuB,EAACX,iBAAiB,EAAE;IAAER,OAAO;IAAEc;EAAM,CAAC,CAAC;EAE9D,OAAO,IAAAM,0BAAiB,EAAC;IACvBN,KAAK;IACLV,KAAK;IACLK,IAAI;IACJG,WAAW;IACXP,MAAM;IACNC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAc,QAAA,GAEavB,SAAS;AAAAwB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"serverSSR.js","names":["require","_createUUID","_interopRequireDefault","_requestInformation","_serverUtil","_beforeRenderHooks","_renderSSRComplete","serverSSR","_ref","request","locales","customReducers","serverPreferences","theme","render","ErrorPage","template","beforeRenderHooks","UUID","createUUID","__webpack_nonce__","requestHref","getFullRequestHref","store","createReduxStore","setServerPreferences","setConfigurationTheme","setI18n","handleBeforeRenderHooks","renderSSRComplete","_default","exports","default"],"sources":["../../src/react-server/serverSSR.js"],"sourcesContent":["// @flow\nimport \"./contextPath\";\n\nimport createUUID from \"../utils/helpers/createUUID\";\nimport { getFullRequestHref } from \"./requestInformation\";\n\nimport {\n createReduxStore,\n setI18n,\n setServerPreferences,\n setConfigurationTheme,\n} from \"./serverUtil\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport renderSSRComplete from \"./renderSSRComplete\";\n\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { PreferenceValue } from \"./serverUtil\";\nimport type { LocaleConfiguration } from \"../i18n/types\";\ntype serverProps = {\n request: HttpServletRequestJava,\n locales?: Array<LocaleConfiguration>,\n customReducers?: Object,\n theme?: Object,\n serverPreferences?: Array<string | PreferenceValue>,\n render: Function,\n ErrorPage?: any,\n template?: (TemplateProps) => string,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n};\n\n/**\n */\nconst serverSSR = ({\n request,\n locales,\n customReducers,\n serverPreferences = [],\n theme = null,\n render,\n ErrorPage,\n template,\n beforeRenderHooks,\n}: serverProps): Promise<string> => {\n const UUID = createUUID();\n __webpack_nonce__ = UUID; // NOSONAR\n\n const requestHref = getFullRequestHref(request);\n const store = createReduxStore(requestHref, customReducers);\n\n setServerPreferences(store, serverPreferences);\n setConfigurationTheme(store);\n setI18n(store, locales, request);\n\n handleBeforeRenderHooks(beforeRenderHooks, { request, store });\n\n return renderSSRComplete({\n store,\n theme,\n UUID,\n requestHref,\n render,\n ErrorPage,\n template,\n });\n};\n\nexport default serverSSR;\n"],"mappings":";;;;;;;AACAA,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAJ,OAAA;AAOA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAkBA;AACA;AACA,MAAMO,SAAS,GAAGC,IAAA,IAUkB;EAAA,IAVjB;IACjBC,OAAO;IACPC,OAAO;IACPC,cAAc;IACdC,iBAAiB,GAAG,EAAE;IACtBC,KAAK,GAAG,IAAI;IACZC,MAAM;IACNC,SAAS;IACTC,QAAQ;IACRC;EACW,CAAC,GAAAT,IAAA;EACZ,MAAMU,IAAI,GAAG,IAAAC,mBAAU,EAAC,CAAC;EACzBC,iBAAiB,GAAGF,IAAI,CAAC,CAAC;;EAE1B,MAAMG,WAAW,GAAG,IAAAC,sCAAkB,EAACb,OAAO,CAAC;EAC/C,MAAMc,KAAK,GAAG,IAAAC,4BAAgB,EAACH,WAAW,EAAEV,cAAc,CAAC;EAE3D,IAAAc,gCAAoB,EAACF,KAAK,EAAEX,iBAAiB,CAAC;EAC9C,IAAAc,iCAAqB,EAACH,KAAK,CAAC;EAC5B,IAAAI,mBAAO,EAACJ,KAAK,EAAEb,OAAO,EAAED,OAAO,CAAC;EAEhC,IAAAmB,0CAAuB,EAACX,iBAAiB,EAAE;IAAER,OAAO;IAAEc;EAAM,CAAC,CAAC;EAE9D,OAAO,IAAAM,0BAAiB,EAAC;IACvBN,KAAK;IACLV,KAAK;IACLK,IAAI;IACJG,WAAW;IACXP,MAAM;IACNC,SAAS;IACTC;EACF,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAc,QAAA,GAEavB,SAAS;AAAAwB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverUtil.js","names":["_history","require","_objects","_deepmerge","_interopRequireDefault","_configureStore","_Locales","_interopRequireWildcard","_requestInformation","_I18nActions","_Preferences","_Settings","_exceptions","_redux","_i18n","_ModularUIRequest","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","_Object$getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createReduxStore","requestHref","customReducers","initialState","history","createMemoryHistory","initialEntries","toString","store","configureStore","exports","setI18n","locales","arguments","length","undefined","request","Array","isArray","IllegalArgumentException","mergedLocales","_map","availableLocales","locale","code","customLocale","_find","custLocale","deepmerge","forEach","some","push","enabledLocales","_filter","_context","_includes","getSetting","localesInstance","Locales","preferredLocale","getPreferredLocale","dispatch","setLocales","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreference","setServerPreferences","setAllContentInDataSetting","setLoginPreferences","preferencesProvider","isStudioContext","setPreference","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWith","dataFetcher","fetch","setThemePreference","Error","setApplication","getLocale","getState","application","ModularUIRequest","fetchSync","connectKey","initModels","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_stringify","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"sources":["../../src/react-server/serverUtil.js"],"sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/I18nActions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport { initModels } from \"../redux\";\nimport { getLocale } from \"../redux/selectors/i18n\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxState, ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object,\n initialState?: $Shape<ReduxState>\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers, initialState);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getSetting(\"ENABLED_LOCALES\").includes(locale.code)\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n store.dispatch(setLoginPreferences());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`\n );\n }\n }\n};\n\n/**\n */\nconst setApplication = (store: ReduxStore) => {\n try {\n const locale = getLocale(store.getState());\n const application = new ModularUIRequest(\"/\", {\n locale: locale,\n }).fetchSync();\n\n application.connectKey = `application(/)(${locale})`;\n\n store.dispatch(\n initModels([\n {\n key: `application(/)(${locale})`,\n model: application,\n },\n ])\n );\n } catch (e) {\n // swallow error, in this case we just don't pre-cache the webapplication,\n // which has not much difference for the end user\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const modularui: {\n [key: string]: { status: string, lastModification: number, model: ?Object },\n } = {};\n\n for (const key in state.modularui) {\n const { status, model, lastModification } = state.modularui[key];\n\n if (model) {\n modularui[key] = {\n status,\n lastModification,\n model: model.dehydrate(),\n };\n } else {\n modularui[key] = {\n status,\n lastModification,\n model: undefined,\n };\n }\n }\n\n const filteredState = {\n ...state,\n modularui,\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"serverUtil.js","names":["_history","require","_objects","_deepmerge","_interopRequireDefault","_configureStore","_Locales","_interopRequireWildcard","_requestInformation","_I18nActions","_Preferences","_Settings","_exceptions","_redux","_i18n","_ModularUIRequest","_getRequireWildcardCache","nodeInterop","_WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","_Object$getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","createReduxStore","requestHref","customReducers","initialState","history","createMemoryHistory","initialEntries","toString","store","configureStore","exports","setI18n","locales","arguments","length","undefined","request","Array","isArray","IllegalArgumentException","mergedLocales","_map","availableLocales","locale","code","customLocale","_find","custLocale","deepmerge","forEach","some","push","enabledLocales","_filter","_context","_includes","getSetting","localesInstance","Locales","preferredLocale","getPreferredLocale","dispatch","setLocales","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreference","setServerPreferences","setAllContentInDataSetting","setLoginPreferences","preferencesProvider","isStudioContext","setPreference","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWith","dataFetcher","fetch","setThemePreference","Error","setApplication","getLocale","getState","application","ModularUIRequest","fetchSync","connectKey","initModels","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_stringify","replace","createHead","sheet","UUID","helmetContext","style","getStyleTags","meta","helmet"],"sources":["../../src/react-server/serverUtil.js"],"sourcesContent":["// @flow\nimport { createMemoryHistory } from \"history\";\nimport { has } from \"../utils/helpers/objects\";\nimport deepmerge from \"deepmerge\";\n\nimport configureStore from \"../redux/store/configureStore\";\n\nimport { availableLocales } from \"../i18n/Locales\";\nimport Locales from \"../i18n/Locales\";\n\nimport { getPreferredLocale } from \"./requestInformation\";\nimport { setLocales } from \"../redux/_i18n/I18nActions\";\n\nimport {\n setServerPreference,\n setThemePreference,\n setPreference,\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\n\nimport { getSetting } from \"../constants/Settings\";\n\nimport { IllegalArgumentException } from \"../exceptions\";\n\nimport { initModels } from \"../redux\";\nimport { getLocale } from \"../redux/selectors/i18n\";\n\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport type { LocaleConfiguration } from \"../i18n/types\";\nimport type { ReduxState, ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { RouterHistory } from \"react-router\";\n\nexport type PreferenceValue = {\n name: string,\n defaultValue?: string | null,\n type?: string,\n};\n\n/**\n */\nconst createReduxStore = (\n requestHref: Href,\n customReducers: Object,\n initialState?: $Shape<ReduxState>\n): ReduxStore => {\n // $FlowExpectedError\n const history: RouterHistory = createMemoryHistory({\n initialEntries: [requestHref.toString()],\n });\n\n const { store } = configureStore(history, customReducers, initialState);\n\n return store;\n};\n\n/**\n */\nconst setI18n = (\n store: ReduxStore,\n locales: Array<LocaleConfiguration> = [],\n request: HttpServletRequestJava\n) => {\n if (!Array.isArray(locales)) {\n throw new IllegalArgumentException(\"locales must be an array of objects\");\n }\n if (!request) {\n throw new IllegalArgumentException(\"missing request argument\");\n }\n\n const mergedLocales = availableLocales.map((locale) => {\n const code = locale.code;\n const customLocale = locales.find((custLocale) => custLocale.code === code);\n\n if (customLocale) {\n return deepmerge(locale, customLocale);\n }\n\n return locale;\n });\n\n locales.forEach((customLocale) => {\n if (!mergedLocales.some((locale) => locale.code === customLocale.code)) {\n mergedLocales.push(customLocale);\n }\n });\n\n const enabledLocales = mergedLocales.filter((locale: LocaleConfiguration) =>\n getSetting(\"ENABLED_LOCALES\").includes(locale.code)\n );\n\n const localesInstance = new Locales(enabledLocales);\n const preferredLocale = getPreferredLocale(request, localesInstance);\n store.dispatch(setLocales(localesInstance, preferredLocale ?? \"en\"));\n};\n\nconst setServerPreferencesFromArray = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n serverPreferences.forEach((serverPreference) => {\n if (typeof serverPreference === \"object\") {\n const { name, defaultValue, type } = serverPreference;\n store.dispatch(setServerPreference(name, defaultValue, type));\n } else {\n store.dispatch(setServerPreference(serverPreference, null));\n }\n });\n};\n\n/**\n * Server preferences can be suplied by an array of preference names,\n * or an array of objects which has the name, an optional default value and an optional type.<br>\n * When the type is set to string, a comma separated value is not converted to an array:\n *\n * @example\n * // value becomes an array [default1, default2]\n * { name: \"prefName\", defaultValue: \"default1, default2\" }\n * // value remains a string \"default1, default2\"\n * { name: \"prefName\", defaultValue: \"default1, default2\", type: \"string\" }\n *\n * @param store\n * @param serverPreferences\n */\nconst setServerPreferences = (\n store: ReduxStore,\n serverPreferences: Array<string | PreferenceValue>\n) => {\n if (Array.isArray(serverPreferences)) {\n setServerPreferencesFromArray(store, serverPreferences);\n }\n\n store.dispatch(setAllContentInDataSetting());\n store.dispatch(setLoginPreferences());\n\n if (\n preferencesProvider &&\n preferencesProvider.isStudioContext &&\n preferencesProvider.isStudioContext()\n ) {\n store.dispatch(setPreference(\"isStudioContext\", true));\n }\n};\n\n/**\n */\nconst setConfigurationTheme = (store: ReduxStore) => {\n let configTheme = null;\n\n const configFileLocation = preferencesProvider.getLayoutConfigFileLocation();\n if (typeof configFileLocation === \"string\") {\n const configFilePath = configFileLocation.startsWith(\"/\")\n ? `/resource${configFileLocation}`\n : `/resource/${configFileLocation}`;\n\n configTheme = dataFetcher.fetch(configFilePath);\n\n if (configTheme) {\n store.dispatch(setThemePreference(configTheme));\n } else {\n throw new Error(\n `Could not read theme configuration file from: ${configFilePath}`\n );\n }\n }\n};\n\n/**\n */\nconst setApplication = (store: ReduxStore) => {\n try {\n const locale = getLocale(store.getState());\n const application = new ModularUIRequest(\"/\", {\n locale: locale,\n }).fetchSync();\n\n application.connectKey = `application(/)(${locale})`;\n\n store.dispatch(\n initModels([\n {\n key: `application(/)(${locale})`,\n model: application,\n },\n ])\n );\n } catch (e) {\n // swallow error, in this case we just don't pre-cache the webapplication,\n // which has not much difference for the end user\n }\n};\n\n/**\n */\nconst handleErrors = (store: ReduxStore) => {\n const state = store.getState();\n\n if (\n state.error &&\n (state.error.shouldThrowOnServer ||\n !has(state.error, \"shouldThrowOnServer\"))\n ) {\n throw state.error;\n }\n};\n\n/**\n */\nconst dehydrate = (store: ReduxStore): string => {\n const state = store.getState();\n\n const modularui: {\n [key: string]: { status: string, lastModification: number, model: ?Object },\n } = {};\n\n for (const key in state.modularui) {\n const { status, model, lastModification } = state.modularui[key];\n\n if (model) {\n modularui[key] = {\n status,\n lastModification,\n model: model.dehydrate(),\n };\n } else {\n modularui[key] = {\n status,\n lastModification,\n model: undefined,\n };\n }\n }\n\n const filteredState = {\n ...state,\n modularui,\n };\n\n return JSON.stringify(filteredState).replace(/</g, \"\\\\u003c\");\n};\n\n/**\n */\nconst createHead = (\n sheet: any,\n UUID: string,\n helmetContext?: Object\n): Object => {\n const style = sheet.getStyleTags();\n const meta = helmetContext ? [...helmetContext.helmet.meta] : [];\n\n if (helmetContext) {\n return {\n ...helmetContext.helmet,\n style,\n meta,\n };\n }\n\n return {\n style,\n meta,\n };\n};\n\nexport {\n createReduxStore,\n setI18n,\n setApplication,\n setServerPreferences,\n setConfigurationTheme,\n createHead,\n handleErrors,\n dehydrate,\n};\n"],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,QAAA,GAAAC,uBAAA,CAAAN,OAAA;AAGA,IAAAO,mBAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAEA,IAAAS,YAAA,GAAAT,OAAA;AAQA,IAAAU,SAAA,GAAAV,OAAA;AAEA,IAAAW,WAAA,GAAAX,OAAA;AAEA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,KAAA,GAAAb,OAAA;AAEA,IAAAc,iBAAA,GAAAX,sBAAA,CAAAH,OAAA;AAA6D,SAAAe,yBAAAC,WAAA,eAAAC,QAAA,kCAAAC,iBAAA,OAAAD,QAAA,QAAAE,gBAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAC,gCAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAG,gCAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAa7D;AACA;AACA,MAAMW,gBAAgB,GAAGA,CACvBC,WAAiB,EACjBC,cAAsB,EACtBC,YAAiC,KAClB;EACf;EACA,MAAMC,OAAsB,GAAG,IAAAC,4BAAmB,EAAC;IACjDC,cAAc,EAAE,CAACL,WAAW,CAACM,QAAQ,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,uBAAc,EAACL,OAAO,EAAEF,cAAc,EAAEC,YAAY,CAAC;EAEvE,OAAOK,KAAK;AACd,CAAC;;AAED;AACA;AADAE,OAAA,CAAAV,gBAAA,GAAAA,gBAAA;AAEA,MAAMW,OAAO,GAAG,SAAAA,CACdH,KAAiB,EAGd;EAAA,IAFHI,OAAmC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,IACxCG,OAA+B,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAE/B,IAAI,CAACE,KAAK,CAACC,OAAO,CAACN,OAAO,CAAC,EAAE;IAC3B,MAAM,IAAIO,oCAAwB,CAAC,qCAAqC,CAAC;EAC3E;EACA,IAAI,CAACH,OAAO,EAAE;IACZ,MAAM,IAAIG,oCAAwB,CAAC,0BAA0B,CAAC;EAChE;EAEA,MAAMC,aAAa,GAAG,IAAAC,IAAA,CAAApC,OAAA,EAAAqC,yBAAgB,EAAAzB,IAAA,CAAhByB,yBAAgB,EAAMC,MAAM,IAAK;IACrD,MAAMC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACxB,MAAMC,YAAY,GAAG,IAAAC,KAAA,CAAAzC,OAAA,EAAA2B,OAAO,EAAAf,IAAA,CAAPe,OAAO,EAAOe,UAAU,IAAKA,UAAU,CAACH,IAAI,KAAKA,IAAI,CAAC;IAE3E,IAAIC,YAAY,EAAE;MAChB,OAAO,IAAAG,kBAAS,EAACL,MAAM,EAAEE,YAAY,CAAC;IACxC;IAEA,OAAOF,MAAM;EACf,CAAC,CAAC;EAEFX,OAAO,CAACiB,OAAO,CAAEJ,YAAY,IAAK;IAChC,IAAI,CAACL,aAAa,CAACU,IAAI,CAAEP,MAAM,IAAKA,MAAM,CAACC,IAAI,KAAKC,YAAY,CAACD,IAAI,CAAC,EAAE;MACtEJ,aAAa,CAACW,IAAI,CAACN,YAAY,CAAC;IAClC;EACF,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAG,IAAAC,OAAA,CAAAhD,OAAA,EAAAmC,aAAa,EAAAvB,IAAA,CAAbuB,aAAa,EAASG,MAA2B;IAAA,IAAAW,QAAA;IAAA,OACtE,IAAAC,SAAA,CAAAlD,OAAA,EAAAiD,QAAA,OAAAE,oBAAU,EAAC,iBAAiB,CAAC,EAAAvC,IAAA,CAAAqC,QAAA,EAAUX,MAAM,CAACC,IAAI,CAAC;EAAA,CACrD,CAAC;EAED,MAAMa,eAAe,GAAG,IAAIC,gBAAO,CAACN,cAAc,CAAC;EACnD,MAAMO,eAAe,GAAG,IAAAC,sCAAkB,EAACxB,OAAO,EAAEqB,eAAe,CAAC;EACpE7B,KAAK,CAACiC,QAAQ,CAAC,IAAAC,uBAAU,EAACL,eAAe,EAAEE,eAAe,IAAI,IAAI,CAAC,CAAC;AACtE,CAAC;AAAC7B,OAAA,CAAAC,OAAA,GAAAA,OAAA;AAEF,MAAMgC,6BAA6B,GAAGA,CACpCnC,KAAiB,EACjBoC,iBAAkD,KAC/C;EACHA,iBAAiB,CAACf,OAAO,CAAEgB,gBAAgB,IAAK;IAC9C,IAAI,OAAOA,gBAAgB,KAAK,QAAQ,EAAE;MACxC,MAAM;QAAEC,IAAI;QAAEC,YAAY;QAAEC;MAAK,CAAC,GAAGH,gBAAgB;MACrDrC,KAAK,CAACiC,QAAQ,CAAC,IAAAQ,gCAAmB,EAACH,IAAI,EAAEC,YAAY,EAAEC,IAAI,CAAC,CAAC;IAC/D,CAAC,MAAM;MACLxC,KAAK,CAACiC,QAAQ,CAAC,IAAAQ,gCAAmB,EAACJ,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC7D;EACF,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMK,oBAAoB,GAAGA,CAC3B1C,KAAiB,EACjBoC,iBAAkD,KAC/C;EACH,IAAI3B,KAAK,CAACC,OAAO,CAAC0B,iBAAiB,CAAC,EAAE;IACpCD,6BAA6B,CAACnC,KAAK,EAAEoC,iBAAiB,CAAC;EACzD;EAEApC,KAAK,CAACiC,QAAQ,CAAC,IAAAU,uCAA0B,EAAC,CAAC,CAAC;EAC5C3C,KAAK,CAACiC,QAAQ,CAAC,IAAAW,gCAAmB,EAAC,CAAC,CAAC;EAErC,IACEC,mBAAmB,IACnBA,mBAAmB,CAACC,eAAe,IACnCD,mBAAmB,CAACC,eAAe,CAAC,CAAC,EACrC;IACA9C,KAAK,CAACiC,QAAQ,CAAC,IAAAc,0BAAa,EAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;EACxD;AACF,CAAC;;AAED;AACA;AADA7C,OAAA,CAAAwC,oBAAA,GAAAA,oBAAA;AAEA,MAAMM,qBAAqB,GAAIhD,KAAiB,IAAK;EACnD,IAAIiD,WAAW,GAAG,IAAI;EAEtB,MAAMC,kBAAkB,GAAGL,mBAAmB,CAACM,2BAA2B,CAAC,CAAC;EAC5E,IAAI,OAAOD,kBAAkB,KAAK,QAAQ,EAAE;IAC1C,MAAME,cAAc,GAAG,IAAAC,WAAA,CAAA5E,OAAA,EAAAyE,kBAAkB,EAAA7D,IAAA,CAAlB6D,kBAAkB,EAAY,GAAG,CAAC,GACpD,YAAWA,kBAAmB,EAAC,GAC/B,aAAYA,kBAAmB,EAAC;IAErCD,WAAW,GAAGK,WAAW,CAACC,KAAK,CAACH,cAAc,CAAC;IAE/C,IAAIH,WAAW,EAAE;MACfjD,KAAK,CAACiC,QAAQ,CAAC,IAAAuB,+BAAkB,EAACP,WAAW,CAAC,CAAC;IACjD,CAAC,MAAM;MACL,MAAM,IAAIQ,KAAK,CACZ,iDAAgDL,cAAe,EAClE,CAAC;IACH;EACF;AACF,CAAC;;AAED;AACA;AADAlD,OAAA,CAAA8C,qBAAA,GAAAA,qBAAA;AAEA,MAAMU,cAAc,GAAI1D,KAAiB,IAAK;EAC5C,IAAI;IACF,MAAMe,MAAM,GAAG,IAAA4C,eAAS,EAAC3D,KAAK,CAAC4D,QAAQ,CAAC,CAAC,CAAC;IAC1C,MAAMC,WAAW,GAAG,IAAIC,yBAAgB,CAAC,GAAG,EAAE;MAC5C/C,MAAM,EAAEA;IACV,CAAC,CAAC,CAACgD,SAAS,CAAC,CAAC;IAEdF,WAAW,CAACG,UAAU,GAAI,kBAAiBjD,MAAO,GAAE;IAEpDf,KAAK,CAACiC,QAAQ,CACZ,IAAAgC,iBAAU,EAAC,CACT;MACE/E,GAAG,EAAG,kBAAiB6B,MAAO,GAAE;MAChCmD,KAAK,EAAEL;IACT,CAAC,CACF,CACH,CAAC;EACH,CAAC,CAAC,OAAOM,CAAC,EAAE;IACV;IACA;EAAA;AAEJ,CAAC;;AAED;AACA;AADAjE,OAAA,CAAAwD,cAAA,GAAAA,cAAA;AAEA,MAAMU,YAAY,GAAIpE,KAAiB,IAAK;EAC1C,MAAMqE,KAAK,GAAGrE,KAAK,CAAC4D,QAAQ,CAAC,CAAC;EAE9B,IACES,KAAK,CAACC,KAAK,KACVD,KAAK,CAACC,KAAK,CAACC,mBAAmB,IAC9B,CAAC,IAAA5F,YAAG,EAAC0F,KAAK,CAACC,KAAK,EAAE,qBAAqB,CAAC,CAAC,EAC3C;IACA,MAAMD,KAAK,CAACC,KAAK;EACnB;AACF,CAAC;;AAED;AACA;AADApE,OAAA,CAAAkE,YAAA,GAAAA,YAAA;AAEA,MAAMI,SAAS,GAAIxE,KAAiB,IAAa;EAC/C,MAAMqE,KAAK,GAAGrE,KAAK,CAAC4D,QAAQ,CAAC,CAAC;EAE9B,MAAMa,SAEL,GAAG,CAAC,CAAC;EAEN,KAAK,MAAMvF,GAAG,IAAImF,KAAK,CAACI,SAAS,EAAE;IACjC,MAAM;MAAEC,MAAM;MAAER,KAAK;MAAES;IAAiB,CAAC,GAAGN,KAAK,CAACI,SAAS,CAACvF,GAAG,CAAC;IAEhE,IAAIgF,KAAK,EAAE;MACTO,SAAS,CAACvF,GAAG,CAAC,GAAG;QACfwF,MAAM;QACNC,gBAAgB;QAChBT,KAAK,EAAEA,KAAK,CAACM,SAAS,CAAC;MACzB,CAAC;IACH,CAAC,MAAM;MACLC,SAAS,CAACvF,GAAG,CAAC,GAAG;QACfwF,MAAM;QACNC,gBAAgB;QAChBT,KAAK,EAAE3D;MACT,CAAC;IACH;EACF;EAEA,MAAMqE,aAAa,GAAG;IACpB,GAAGP,KAAK;IACRI;EACF,CAAC;EAED,OAAO,IAAAI,UAAA,CAAApG,OAAA,EAAemG,aAAa,CAAC,CAACE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC/D,CAAC;;AAED;AACA;AADA5E,OAAA,CAAAsE,SAAA,GAAAA,SAAA;AAEA,MAAMO,UAAU,GAAGA,CACjBC,KAAU,EACVC,IAAY,EACZC,aAAsB,KACX;EACX,MAAMC,KAAK,GAAGH,KAAK,CAACI,YAAY,CAAC,CAAC;EAClC,MAAMC,IAAI,GAAGH,aAAa,GAAG,CAAC,GAAGA,aAAa,CAACI,MAAM,CAACD,IAAI,CAAC,GAAG,EAAE;EAEhE,IAAIH,aAAa,EAAE;IACjB,OAAO;MACL,GAAGA,aAAa,CAACI,MAAM;MACvBH,KAAK;MACLE;IACF,CAAC;EACH;EAEA,OAAO;IACLF,KAAK;IACLE;EACF,CAAC;AACH,CAAC;AAACnF,OAAA,CAAA6E,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","names":["_reactRedux","require","_styledComponents","_createTheme","_interopRequireDefault","_jsxRuntime","ThemeProvider","_ref","theme","children","storedTheme","useSelector","_ref2","preferences","finalTheme","createTheme","jsx","displayName","_default","exports","default"],"sources":["../../src/react-theme/ThemeProvider.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { ThemeProvider as SCThemeProvider } from \"styled-components\";\n\nimport createTheme from \"./createTheme\";\n\nimport type { Node } from \"react\";\nimport type { Theme } from \"./types\";\n\nexport type Props = {\n +theme?: Theme | Array<Theme>,\n +children: Node,\n};\n\n/**\n */\nconst ThemeProvider = ({ theme, children }: Props): Node => {\n const storedTheme = useSelector(({ preferences }) => preferences.theme);\n const finalTheme = createTheme(storedTheme, theme);\n\n return <SCThemeProvider theme={finalTheme}>{children}</SCThemeProvider>;\n};\nThemeProvider.displayName = \"BI.ThemeProvider\";\n\nexport default ThemeProvider;\n"],"mappings":";;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwC,IAAAI,WAAA,GAAAJ,OAAA;AAUxC;AACA;AACA,MAAMK,aAAa,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,KAAK;IAAEC;EAAgB,CAAC,GAAAF,IAAA;EAC/C,MAAMG,WAAW,GAAG,IAAAC,uBAAW,EAACC,KAAA;IAAA,IAAC;MAAEC;IAAY,CAAC,GAAAD,KAAA;IAAA,OAAKC,WAAW,CAACL,KAAK;EAAA,EAAC;EACvE,MAAMM,UAAU,GAAG,IAAAC,oBAAW,EAACL,WAAW,EAAEF,KAAK,CAAC;EAElD,oBAAO,IAAAH,WAAA,CAAAW,GAAA,EAACd,iBAAA,CAAAI,aAAe;IAACE,KAAK,EAAEM,UAAW;IAAAL,QAAA,EAAEA;EAAQ,EAAmB;AACzE,CAAC;AACDH,aAAa,CAACW,WAAW,GAAG,kBAAkB;AAAC,IAAAC,QAAA,GAEhCZ,aAAa;AAAAa,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"ThemeProvider.js","names":["_reactRedux","require","_styledComponents","_createTheme","_interopRequireDefault","_jsxRuntime","ThemeProvider","_ref","theme","children","storedTheme","useSelector","_ref2","preferences","finalTheme","createTheme","jsx","displayName","_default","exports","default"],"sources":["../../src/react-theme/ThemeProvider.js"],"sourcesContent":["// @flow\nimport { useSelector } from \"react-redux\";\nimport { ThemeProvider as SCThemeProvider } from \"styled-components\";\n\nimport createTheme from \"./createTheme\";\n\nimport type { Node } from \"react\";\nimport type { Theme } from \"./types\";\n\nexport type Props = {\n +theme?: Theme | Array<Theme>,\n +children: Node,\n};\n\n/**\n */\nconst ThemeProvider = ({ theme, children }: Props): Node => {\n const storedTheme = useSelector(({ preferences }) => preferences.theme);\n const finalTheme = createTheme(storedTheme, theme);\n\n return <SCThemeProvider theme={finalTheme}>{children}</SCThemeProvider>;\n};\nThemeProvider.displayName = \"BI.ThemeProvider\";\n\nexport default ThemeProvider;\n"],"mappings":";;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwC,IAAAI,WAAA,GAAAJ,OAAA;AAUxC;AACA;AACA,MAAMK,aAAa,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,KAAK;IAAEC;EAAgB,CAAC,GAAAF,IAAA;EAC/C,MAAMG,WAAW,GAAG,IAAAC,uBAAW,EAACC,KAAA;IAAA,IAAC;MAAEC;IAAY,CAAC,GAAAD,KAAA;IAAA,OAAKC,WAAW,CAACL,KAAK;EAAA,EAAC;EACvE,MAAMM,UAAU,GAAG,IAAAC,oBAAW,EAACL,WAAW,EAAEF,KAAK,CAAC;EAElD,oBAAO,IAAAH,WAAA,CAAAW,GAAA,EAACd,iBAAA,CAAAI,aAAe;IAACE,KAAK,EAAEM,UAAW;IAAAL,QAAA,EAAEA;EAAQ,CAAkB,CAAC;AACzE,CAAC;AACDH,aAAa,CAACW,WAAW,GAAG,kBAAkB;AAAC,IAAAC,QAAA,GAEhCZ,aAAa;AAAAa,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTheme.js","names":["_flattenDeep","_interopRequireDefault","require","_objects","_Settings","replacePlaceholders","inputTheme","_context","possibleKeys","_map","default","_keys","call","key","join","re","RegExp","_entries","forEach","_ref","value","replace","match","capture","generateTheme","storedTheme","generatedTheme","settings","_len","arguments","length","themeElements","Array","_key","element","isPlainObject","createTheme","_len2","themeConfigs","_key2","customTheme","flattenDeep","setSettings","_default","exports"],"sources":["../../src/react-theme/createTheme.js"],"sourcesContent":["// @flow\nimport flattenDeep from \"lodash/flattenDeep\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport { setSettings } from \"../constants/Settings\";\n\nimport type { Theme } from \"./types\";\n\nconst replacePlaceholders = (inputTheme: Theme) => {\n const possibleKeys = Object.keys(inputTheme)\n .map((key) => `\\\\b${key}\\\\b`)\n .join(\"|\");\n\n const re = new RegExp(`\\\\$(${possibleKeys})`, \"g\");\n Object.entries(inputTheme).forEach(([key, value]) => {\n if (key !== \"settings\" && typeof value === \"string\") {\n inputTheme[key] = value.replace(\n re,\n // $FlowIssue[incompatible-call]\n (match, capture) => inputTheme[capture]\n );\n }\n });\n\n return inputTheme;\n};\n\nconst generateTheme = (storedTheme: Theme, ...themeElements: Array<Theme>) => {\n let generatedTheme = { settings: {} };\n for (const element of themeElements) {\n if (typeof element === \"function\") {\n generatedTheme = element(replacePlaceholders(generatedTheme));\n } else if (isPlainObject(element)) {\n // $FlowFixMe[cannot-spread-indexer]\n generatedTheme = { ...generatedTheme, ...element, ...storedTheme };\n }\n }\n\n // final - replace any assignments inside the theme\n return replacePlaceholders(generatedTheme);\n};\n\n/**\n * Create a theme from multiple theme configuration objects.\n * Properties are overwriten by iterating the configuration objects from left to right.\n *\n * The first argument represents a stored theme part, this is optional. The stored theme part will overwrite every part in the collection of theme parts.\n * Thus a stored configuration is leading as it can be configured by a modeller through the repository.\n *\n * Placeholders can be used, they are replaced before calling a function theme part or at the end of the theme creation.\n *\n * Both objects and function can be used, where a function receives the previous objects as input arguments.\n * For example using the method createTheme(ThemeObject, ThemeObject2, ThemeFunction, ThemeFunction2), will be handled as:\n *\n * ThemeFunction2(ThemeFunction1({ ...ThemeObject, ...ThemeObject2 }))\n *\n * @example\n * Example where the primary color of the default theme is overwritten with a primary color of the custom theme,\n * but the button bg still uses the yiq function of the default theme:\n *\n * const DefaultTheme = {\n * PRIMARY_COLOR: \"#0000ff\",\n * SECONDARY_COLOR: \"#00ff00\",\n * BUTTON_COLOR: \"$PRIMARY_COLOR\"\n * }\n *\n * const createDefaultTheme = (input) => ({\n * ...input,\n * BUTTON_BG: getContrastYIQ(input.BUTTON_COLOR)\n * })\n *\n * const CustomTheme = {\n * PRIMARY_COLOR: \"#ff0000\"\n * }\n *\n * createTheme(null, DefaultTheme, CustomTheme, createDefaultTheme);\n *\n * // Result:\n * {\n * PRIMARY_COLOR: \"#ff0000\",\n * BUTTON_COLOR: \"#ff0000\",\n * BUTTON_BG: \"#fff\",\n * SECONDARY_COLOR: \"#00ff00\",\n * }\n */\nconst createTheme = (\n storedTheme: Theme,\n ...themeConfigs: Array<Theme | Array<Theme> | void>\n):\n | any\n | {}\n | {\n INPUT_FOCUS_BORDER_COLOR?: string,\n LINK_HOVER_COLOR?: string,\n PAGING_HOVER_COLOR?: string,\n settings?: { [settingName: string]: string },\n } => {\n const customTheme = generateTheme(storedTheme, ...flattenDeep(themeConfigs));\n\n if (customTheme) {\n setSettings(customTheme.settings);\n }\n\n return customTheme;\n};\n\nexport default createTheme;\n"],"mappings":";;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAIA,MAAMG,mBAAmB,GAAIC,UAAiB,IAAK;EAAA,IAAAC,QAAA;EACjD,MAAMC,YAAY,GAAG,IAAAC,IAAA,CAAAC,OAAA,EAAAH,QAAA,OAAAI,KAAA,CAAAD,OAAA,EAAYJ,UAAU,CAAC,EAAAM,IAAA,CAAAL,QAAA,EACpCM,GAAG,IAAM,MAAKA,GAAI,KAAI,CAAC,CAC5BC,IAAI,CAAC,GAAG,CAAC;EAEZ,MAAMC,EAAE,GAAG,IAAIC,MAAM,CAAE,OAAMR,YAAa,GAAE,EAAE,GAAG,CAAC;EAClD,IAAAS,QAAA,CAAAP,OAAA,EAAeJ,UAAU,CAAC,CAACY,OAAO,CAACC,IAAA,IAAkB;IAAA,IAAjB,CAACN,GAAG,EAAEO,KAAK,CAAC,GAAAD,IAAA;IAC9C,IAAIN,GAAG,KAAK,UAAU,IAAI,OAAOO,KAAK,KAAK,QAAQ,EAAE;MACnDd,UAAU,CAACO,GAAG,CAAC,GAAGO,KAAK,CAACC,OAAO,CAC7BN,EAAE;MACF;MACA,CAACO,KAAK,EAAEC,OAAO,KAAKjB,UAAU,CAACiB,OAAO,CAAC,CACxC;IACH;EACF,CAAC,CAAC;EAEF,OAAOjB,UAAU;AACnB,CAAC;AAED,MAAMkB,aAAa,GAAG,SAAAA,CAACC,WAAkB,EAAqC;EAC5E,IAAIC,cAAc,GAAG;IAAEC,QAAQ,EAAE,CAAC;EAAE,CAAC;EAAC,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EADMC,aAAa,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAAbF,aAAa,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;EAAA;EAEzD,KAAK,MAAMC,OAAO,IAAIH,aAAa,EAAE;IACnC,IAAI,OAAOG,OAAO,KAAK,UAAU,EAAE;MACjCR,cAAc,GAAGQ,OAAO,CAAC7B,mBAAmB,CAACqB,cAAc,CAAC,CAAC;IAC/D,CAAC,MAAM,IAAI,IAAAS,sBAAa,EAACD,OAAO,CAAC,EAAE;MACjC;MACAR,cAAc,GAAG;QAAE,GAAGA,cAAc;QAAE,GAAGQ,OAAO;QAAE,GAAGT;MAAY,CAAC;IACpE;EACF;;EAEA;EACA,OAAOpB,mBAAmB,CAACqB,cAAc,CAAC;AAC5C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMU,WAAW,GAAG,SAAAA,CAClBX,WAAkB,EAUX;EAAA,SAAAY,KAAA,GAAAR,SAAA,CAAAC,MAAA,EATJQ,YAAY,OAAAN,KAAA,CAAAK,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAZD,YAAY,CAAAC,KAAA,QAAAV,SAAA,CAAAU,KAAA;EAAA;EAUf,MAAMC,WAAW,GAAGhB,aAAa,CAACC,WAAW,EAAE,GAAG,IAAAgB,oBAAW,EAACH,YAAY,CAAC,CAAC;EAE5E,IAAIE,WAAW,EAAE;IACf,IAAAE,qBAAW,EAACF,WAAW,CAACb,QAAQ,CAAC;EACnC;EAEA,OAAOa,WAAW;AACpB,CAAC;AAAC,IAAAG,QAAA,GAEaP,WAAW;AAAAQ,OAAA,CAAAlC,OAAA,GAAAiC,QAAA"}
1
+ {"version":3,"file":"createTheme.js","names":["_flattenDeep","_interopRequireDefault","require","_objects","_Settings","replacePlaceholders","inputTheme","_context","possibleKeys","_map","default","_keys","call","key","join","re","RegExp","_entries","forEach","_ref","value","replace","match","capture","generateTheme","storedTheme","generatedTheme","settings","_len","arguments","length","themeElements","Array","_key","element","isPlainObject","createTheme","_len2","themeConfigs","_key2","customTheme","flattenDeep","setSettings","_default","exports"],"sources":["../../src/react-theme/createTheme.js"],"sourcesContent":["// @flow\nimport flattenDeep from \"lodash/flattenDeep\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport { setSettings } from \"../constants/Settings\";\n\nimport type { Theme } from \"./types\";\n\nconst replacePlaceholders = (inputTheme: Theme) => {\n const possibleKeys = Object.keys(inputTheme)\n .map((key) => `\\\\b${key}\\\\b`)\n .join(\"|\");\n\n const re = new RegExp(`\\\\$(${possibleKeys})`, \"g\");\n Object.entries(inputTheme).forEach(([key, value]) => {\n if (key !== \"settings\" && typeof value === \"string\") {\n inputTheme[key] = value.replace(\n re,\n // $FlowIssue[incompatible-call]\n (match, capture) => inputTheme[capture]\n );\n }\n });\n\n return inputTheme;\n};\n\nconst generateTheme = (storedTheme: Theme, ...themeElements: Array<Theme>) => {\n let generatedTheme = { settings: {} };\n for (const element of themeElements) {\n if (typeof element === \"function\") {\n generatedTheme = element(replacePlaceholders(generatedTheme));\n } else if (isPlainObject(element)) {\n // $FlowFixMe[cannot-spread-indexer]\n generatedTheme = { ...generatedTheme, ...element, ...storedTheme };\n }\n }\n\n // final - replace any assignments inside the theme\n return replacePlaceholders(generatedTheme);\n};\n\n/**\n * Create a theme from multiple theme configuration objects.\n * Properties are overwriten by iterating the configuration objects from left to right.\n *\n * The first argument represents a stored theme part, this is optional. The stored theme part will overwrite every part in the collection of theme parts.\n * Thus a stored configuration is leading as it can be configured by a modeller through the repository.\n *\n * Placeholders can be used, they are replaced before calling a function theme part or at the end of the theme creation.\n *\n * Both objects and function can be used, where a function receives the previous objects as input arguments.\n * For example using the method createTheme(ThemeObject, ThemeObject2, ThemeFunction, ThemeFunction2), will be handled as:\n *\n * ThemeFunction2(ThemeFunction1({ ...ThemeObject, ...ThemeObject2 }))\n *\n * @example\n * Example where the primary color of the default theme is overwritten with a primary color of the custom theme,\n * but the button bg still uses the yiq function of the default theme:\n *\n * const DefaultTheme = {\n * PRIMARY_COLOR: \"#0000ff\",\n * SECONDARY_COLOR: \"#00ff00\",\n * BUTTON_COLOR: \"$PRIMARY_COLOR\"\n * }\n *\n * const createDefaultTheme = (input) => ({\n * ...input,\n * BUTTON_BG: getContrastYIQ(input.BUTTON_COLOR)\n * })\n *\n * const CustomTheme = {\n * PRIMARY_COLOR: \"#ff0000\"\n * }\n *\n * createTheme(null, DefaultTheme, CustomTheme, createDefaultTheme);\n *\n * // Result:\n * {\n * PRIMARY_COLOR: \"#ff0000\",\n * BUTTON_COLOR: \"#ff0000\",\n * BUTTON_BG: \"#fff\",\n * SECONDARY_COLOR: \"#00ff00\",\n * }\n */\nconst createTheme = (\n storedTheme: Theme,\n ...themeConfigs: Array<Theme | Array<Theme> | void>\n):\n | any\n | {}\n | {\n INPUT_FOCUS_BORDER_COLOR?: string,\n LINK_HOVER_COLOR?: string,\n PAGING_HOVER_COLOR?: string,\n settings?: { [settingName: string]: string },\n } => {\n const customTheme = generateTheme(storedTheme, ...flattenDeep(themeConfigs));\n\n if (customTheme) {\n setSettings(customTheme.settings);\n }\n\n return customTheme;\n};\n\nexport default createTheme;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contrast.js","names":["_polished","require","_themeProps","_exceptions","getColorContrast","color1","color2","luminance1","getLuminance","luminance2","parseFloat","toFixed","exports","getYIQ","color","rgb","parseToRgb","red","green","blue","getContrastYIQ","dark","arguments","length","undefined","light","preferredColor","yiqColor","darkColor","lightColor","getBackgroundColor","theme","bgColorProperty","defaultValue","bgColor","getProp","backgroundColor","ThemePropertyException","renderContrastColor","preferredColorProperty","standardDarkProperty","standardLightProperty","_ref","settings","getThemeStringProp"],"sources":["../../../src/react-theme/utils/contrast.js"],"sourcesContent":["// @flow\nimport { getLuminance, parseToRgb } from \"polished\";\n\nimport { getThemeStringProp, getProp } from \"./themeProps\";\n\nimport { ThemePropertyException } from \"../../exceptions\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\n\n/**\n * calculate the contrast ratio of two colors\n */\nconst getColorContrast = (color1: string, color2: string): number => {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return parseFloat(\n (luminance1 > luminance2\n ? (luminance1 + 0.05) / (luminance2 + 0.05)\n : (luminance2 + 0.05) / (luminance1 + 0.05)\n ).toFixed(2)\n );\n};\n\n/*\n * The YIQ equation converts the RGB color (0 to 255) into a YIQ color space.\n * YIQ is the standard formula for calculating the perceived brightness of a color,\n * and is recommended by the World Wide Web Consortium (W3C).\n */\n/**\n */\nconst getYIQ = (color: string): number => {\n const rgb = parseToRgb(color);\n\n return (rgb.red * 299 + rgb.green * 587 + rgb.blue * 114) / 1000;\n};\n\n/**\n * Get dark or light color, depending on the given color\n * When the contrast between the color and the light or dark color is too low,\n * the preferred color is returned\n */\nconst getContrastYIQ = (\n color: string,\n dark: string = \"#212529\",\n light: string = \"#fff\",\n preferredColor?: string\n): string => {\n const yiqColor = getYIQ(color);\n\n if (preferredColor && getColorContrast(color, preferredColor) >= 4.5) {\n return preferredColor;\n }\n\n const darkColor = getYIQ(dark) < 127.5 ? dark : \"#212529\";\n const lightColor = getYIQ(light) > 127.5 ? light : \"#fff\";\n\n if (yiqColor > 127.5) {\n if (getColorContrast(color, darkColor) < 3) {\n return \"#212529\";\n }\n\n return darkColor;\n }\n\n if (getColorContrast(color, lightColor) < 3) {\n return \"#fff\";\n }\n return lightColor;\n};\n\n/**\n */\nconst getBackgroundColor = (\n theme: Theme,\n bgColorProperty: string,\n defaultValue: string\n) => {\n let bgColor = getProp(theme, bgColorProperty, defaultValue);\n\n if (typeof bgColor === \"object\") {\n bgColor = bgColor?.backgroundColor ?? defaultValue;\n }\n\n if (typeof bgColor === \"string\") {\n return bgColor;\n }\n\n throw new ThemePropertyException(\n `${bgColorProperty} is not a string, but: ${typeof bgColor}`\n );\n};\n\n/**\n * Retrieve the contrast color for the given background property,\n * based on theme properties\n */\nconst renderContrastColor =\n (\n bgColorProperty: string,\n preferredColorProperty?: string,\n standardDarkProperty: string = \"YIQ_DARK_COLOR\",\n standardLightProperty: string = \"YIQ_LIGHT_COLOR\"\n ): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) => {\n const bgColor = getBackgroundColor(theme, bgColorProperty, \"#ffffff\");\n const preferredColor = getThemeStringProp(theme, preferredColorProperty);\n const darkColor = getThemeStringProp(\n theme,\n standardDarkProperty,\n \"#212529\"\n );\n const lightColor = getThemeStringProp(theme, standardLightProperty, \"#fff\");\n\n return getContrastYIQ(bgColor, darkColor, lightColor, preferredColor);\n };\n\nexport { getColorContrast, getYIQ, getContrastYIQ, renderContrastColor };\n"],"mappings":"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"}
1
+ {"version":3,"file":"contrast.js","names":["_polished","require","_themeProps","_exceptions","getColorContrast","color1","color2","luminance1","getLuminance","luminance2","parseFloat","toFixed","exports","getYIQ","color","rgb","parseToRgb","red","green","blue","getContrastYIQ","dark","arguments","length","undefined","light","preferredColor","yiqColor","darkColor","lightColor","getBackgroundColor","theme","bgColorProperty","defaultValue","bgColor","getProp","backgroundColor","ThemePropertyException","renderContrastColor","preferredColorProperty","standardDarkProperty","standardLightProperty","_ref","settings","getThemeStringProp"],"sources":["../../../src/react-theme/utils/contrast.js"],"sourcesContent":["// @flow\nimport { getLuminance, parseToRgb } from \"polished\";\n\nimport { getThemeStringProp, getProp } from \"./themeProps\";\n\nimport { ThemePropertyException } from \"../../exceptions\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\n\n/**\n * calculate the contrast ratio of two colors\n */\nconst getColorContrast = (color1: string, color2: string): number => {\n const luminance1 = getLuminance(color1);\n const luminance2 = getLuminance(color2);\n return parseFloat(\n (luminance1 > luminance2\n ? (luminance1 + 0.05) / (luminance2 + 0.05)\n : (luminance2 + 0.05) / (luminance1 + 0.05)\n ).toFixed(2)\n );\n};\n\n/*\n * The YIQ equation converts the RGB color (0 to 255) into a YIQ color space.\n * YIQ is the standard formula for calculating the perceived brightness of a color,\n * and is recommended by the World Wide Web Consortium (W3C).\n */\n/**\n */\nconst getYIQ = (color: string): number => {\n const rgb = parseToRgb(color);\n\n return (rgb.red * 299 + rgb.green * 587 + rgb.blue * 114) / 1000;\n};\n\n/**\n * Get dark or light color, depending on the given color\n * When the contrast between the color and the light or dark color is too low,\n * the preferred color is returned\n */\nconst getContrastYIQ = (\n color: string,\n dark: string = \"#212529\",\n light: string = \"#fff\",\n preferredColor?: string\n): string => {\n const yiqColor = getYIQ(color);\n\n if (preferredColor && getColorContrast(color, preferredColor) >= 4.5) {\n return preferredColor;\n }\n\n const darkColor = getYIQ(dark) < 127.5 ? dark : \"#212529\";\n const lightColor = getYIQ(light) > 127.5 ? light : \"#fff\";\n\n if (yiqColor > 127.5) {\n if (getColorContrast(color, darkColor) < 3) {\n return \"#212529\";\n }\n\n return darkColor;\n }\n\n if (getColorContrast(color, lightColor) < 3) {\n return \"#fff\";\n }\n return lightColor;\n};\n\n/**\n */\nconst getBackgroundColor = (\n theme: Theme,\n bgColorProperty: string,\n defaultValue: string\n) => {\n let bgColor = getProp(theme, bgColorProperty, defaultValue);\n\n if (typeof bgColor === \"object\") {\n bgColor = bgColor?.backgroundColor ?? defaultValue;\n }\n\n if (typeof bgColor === \"string\") {\n return bgColor;\n }\n\n throw new ThemePropertyException(\n `${bgColorProperty} is not a string, but: ${typeof bgColor}`\n );\n};\n\n/**\n * Retrieve the contrast color for the given background property,\n * based on theme properties\n */\nconst renderContrastColor =\n (\n bgColorProperty: string,\n preferredColorProperty?: string,\n standardDarkProperty: string = \"YIQ_DARK_COLOR\",\n standardLightProperty: string = \"YIQ_LIGHT_COLOR\"\n ): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) => {\n const bgColor = getBackgroundColor(theme, bgColorProperty, \"#ffffff\");\n const preferredColor = getThemeStringProp(theme, preferredColorProperty);\n const darkColor = getThemeStringProp(\n theme,\n standardDarkProperty,\n \"#212529\"\n );\n const lightColor = getThemeStringProp(theme, standardLightProperty, \"#fff\");\n\n return getContrastYIQ(bgColor, darkColor, lightColor, preferredColor);\n };\n\nexport { getColorContrast, getYIQ, getContrastYIQ, renderContrastColor };\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAIA;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGA,CAACC,MAAc,EAAEC,MAAc,KAAa;EACnE,MAAMC,UAAU,GAAG,IAAAC,sBAAY,EAACH,MAAM,CAAC;EACvC,MAAMI,UAAU,GAAG,IAAAD,sBAAY,EAACF,MAAM,CAAC;EACvC,OAAOI,UAAU,CACf,CAACH,UAAU,GAAGE,UAAU,GACpB,CAACF,UAAU,GAAG,IAAI,KAAKE,UAAU,GAAG,IAAI,CAAC,GACzC,CAACA,UAAU,GAAG,IAAI,KAAKF,UAAU,GAAG,IAAI,CAAC,EAC3CI,OAAO,CAAC,CAAC,CACb,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AADAC,OAAA,CAAAR,gBAAA,GAAAA,gBAAA;AAEA,MAAMS,MAAM,GAAIC,KAAa,IAAa;EACxC,MAAMC,GAAG,GAAG,IAAAC,oBAAU,EAACF,KAAK,CAAC;EAE7B,OAAO,CAACC,GAAG,CAACE,GAAG,GAAG,GAAG,GAAGF,GAAG,CAACG,KAAK,GAAG,GAAG,GAAGH,GAAG,CAACI,IAAI,GAAG,GAAG,IAAI,IAAI;AAClE,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAP,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAKA,MAAMO,cAAc,GAAG,SAAAA,CACrBN,KAAa,EAIF;EAAA,IAHXO,IAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,IACxBG,KAAa,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,MAAM;EAAA,IACtBI,cAAuB,GAAAJ,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;EAEvB,MAAMG,QAAQ,GAAGd,MAAM,CAACC,KAAK,CAAC;EAE9B,IAAIY,cAAc,IAAItB,gBAAgB,CAACU,KAAK,EAAEY,cAAc,CAAC,IAAI,GAAG,EAAE;IACpE,OAAOA,cAAc;EACvB;EAEA,MAAME,SAAS,GAAGf,MAAM,CAACQ,IAAI,CAAC,GAAG,KAAK,GAAGA,IAAI,GAAG,SAAS;EACzD,MAAMQ,UAAU,GAAGhB,MAAM,CAACY,KAAK,CAAC,GAAG,KAAK,GAAGA,KAAK,GAAG,MAAM;EAEzD,IAAIE,QAAQ,GAAG,KAAK,EAAE;IACpB,IAAIvB,gBAAgB,CAACU,KAAK,EAAEc,SAAS,CAAC,GAAG,CAAC,EAAE;MAC1C,OAAO,SAAS;IAClB;IAEA,OAAOA,SAAS;EAClB;EAEA,IAAIxB,gBAAgB,CAACU,KAAK,EAAEe,UAAU,CAAC,GAAG,CAAC,EAAE;IAC3C,OAAO,MAAM;EACf;EACA,OAAOA,UAAU;AACnB,CAAC;;AAED;AACA;AADAjB,OAAA,CAAAQ,cAAA,GAAAA,cAAA;AAEA,MAAMU,kBAAkB,GAAGA,CACzBC,KAAY,EACZC,eAAuB,EACvBC,YAAoB,KACjB;EACH,IAAIC,OAAO,GAAG,IAAAC,mBAAO,EAACJ,KAAK,EAAEC,eAAe,EAAEC,YAAY,CAAC;EAE3D,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;IAC/BA,OAAO,GAAGA,OAAO,EAAEE,eAAe,IAAIH,YAAY;EACpD;EAEA,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;IAC/B,OAAOA,OAAO;EAChB;EAEA,MAAM,IAAIG,kCAAsB,CAC7B,GAAEL,eAAgB,0BAAyB,OAAOE,OAAQ,EAC7D,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMI,mBAAmB,GACvB,SAAAA,CACEN,eAAuB,EACvBO,sBAA+B;EAAA,IAC/BC,oBAA4B,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,gBAAgB;EAAA,IAC/CmB,qBAA6B,GAAAnB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,iBAAiB;EAAA,OAEnDoB,IAAA,IAAkD;IAAA,IAAjD;MAAEX,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAD,IAAA;IAC3C,MAAMR,OAAO,GAAGJ,kBAAkB,CAACC,KAAK,EAAEC,eAAe,EAAE,SAAS,CAAC;IACrE,MAAMN,cAAc,GAAG,IAAAkB,8BAAkB,EAACb,KAAK,EAAEQ,sBAAsB,CAAC;IACxE,MAAMX,SAAS,GAAG,IAAAgB,8BAAkB,EAClCb,KAAK,EACLS,oBAAoB,EACpB,SACF,CAAC;IACD,MAAMX,UAAU,GAAG,IAAAe,8BAAkB,EAACb,KAAK,EAAEU,qBAAqB,EAAE,MAAM,CAAC;IAE3E,OAAOrB,cAAc,CAACc,OAAO,EAAEN,SAAS,EAAEC,UAAU,EAAEH,cAAc,CAAC;EACvE,CAAC;AAAA;AAACd,OAAA,CAAA0B,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"corners.js","names":["_themeProps","require","DEFAULT_CORNER_PROPERTY","roundedCorners","property","arguments","length","undefined","path","defaultValue","_ref","theme","settings","ROUNDED_CORNERS","propertyName","getThemeStringProp","exports"],"sources":["../../../src/react-theme/utils/corners.js"],"sourcesContent":["// @flow\nimport { getThemeStringProp } from \"./themeProps\";\n\nimport type { UtilThemeProps } from \"../types\";\n\nconst DEFAULT_CORNER_PROPERTY = \"border-radius\";\n\n/*\n * Border radius based on the theme setting for rounded corners\n * When ROUNDED_CORNERS is not true in the theme, no rounded corners are returned\n */\n/**\n */\nconst roundedCorners =\n (\n property: string = DEFAULT_CORNER_PROPERTY,\n path: string = \"BORDER_RADIUS\",\n defaultValue: string = \"0.25rem\"\n ): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) => {\n if (theme.ROUNDED_CORNERS) {\n const propertyName =\n property && property !== DEFAULT_CORNER_PROPERTY\n ? `border-${property}-radius`\n : DEFAULT_CORNER_PROPERTY;\n\n return `${propertyName}: ${getThemeStringProp(\n theme,\n path,\n defaultValue\n )}`;\n }\n\n return \"\";\n };\n\nexport { roundedCorners };\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAIA,MAAMC,uBAAuB,GAAG,eAAe;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAClB,SAAAA,CAAA;EAAA,IACEC,QAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,uBAAuB;EAAA,IAC1CM,IAAY,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,eAAe;EAAA,IAC9BI,YAAoB,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,OAElCK,IAAA,IAAkD;IAAA,IAAjD;MAAEC,KAAK,GAAG;QAAEC,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAF,IAAA;IAC3C,IAAIC,KAAK,CAACE,eAAe,EAAE;MACzB,MAAMC,YAAY,GAChBV,QAAQ,IAAIA,QAAQ,KAAKF,uBAAuB,GAC3C,UAASE,QAAS,SAAQ,GAC3BF,uBAAuB;MAE7B,OAAQ,GAAEY,YAAa,KAAI,IAAAC,8BAAkB,EAC3CJ,KAAK,EACLH,IAAI,EACJC,YAAY,CACZ,EAAC;IACL;IAEA,OAAO,EAAE;EACX,CAAC;AAAA;AAACO,OAAA,CAAAb,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"file":"corners.js","names":["_themeProps","require","DEFAULT_CORNER_PROPERTY","roundedCorners","property","arguments","length","undefined","path","defaultValue","_ref","theme","settings","ROUNDED_CORNERS","propertyName","getThemeStringProp","exports"],"sources":["../../../src/react-theme/utils/corners.js"],"sourcesContent":["// @flow\nimport { getThemeStringProp } from \"./themeProps\";\n\nimport type { UtilThemeProps } from \"../types\";\n\nconst DEFAULT_CORNER_PROPERTY = \"border-radius\";\n\n/*\n * Border radius based on the theme setting for rounded corners\n * When ROUNDED_CORNERS is not true in the theme, no rounded corners are returned\n */\n/**\n */\nconst roundedCorners =\n (\n property: string = DEFAULT_CORNER_PROPERTY,\n path: string = \"BORDER_RADIUS\",\n defaultValue: string = \"0.25rem\"\n ): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) => {\n if (theme.ROUNDED_CORNERS) {\n const propertyName =\n property && property !== DEFAULT_CORNER_PROPERTY\n ? `border-${property}-radius`\n : DEFAULT_CORNER_PROPERTY;\n\n return `${propertyName}: ${getThemeStringProp(\n theme,\n path,\n defaultValue\n )}`;\n }\n\n return \"\";\n };\n\nexport { roundedCorners };\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAIA,MAAMC,uBAAuB,GAAG,eAAe;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAClB,SAAAA,CAAA;EAAA,IACEC,QAAgB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,uBAAuB;EAAA,IAC1CM,IAAY,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,eAAe;EAAA,IAC9BI,YAAoB,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,SAAS;EAAA,OAElCK,IAAA,IAAkD;IAAA,IAAjD;MAAEC,KAAK,GAAG;QAAEC,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAF,IAAA;IAC3C,IAAIC,KAAK,CAACE,eAAe,EAAE;MACzB,MAAMC,YAAY,GAChBV,QAAQ,IAAIA,QAAQ,KAAKF,uBAAuB,GAC3C,UAASE,QAAS,SAAQ,GAC3BF,uBAAuB;MAE7B,OAAQ,GAAEY,YAAa,KAAI,IAAAC,8BAAkB,EAC3CJ,KAAK,EACLH,IAAI,EACJC,YACF,CAAE,EAAC;IACL;IAEA,OAAO,EAAE;EACX,CAAC;AAAA;AAACO,OAAA,CAAAb,cAAA,GAAAA,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"spacers.js","names":["_big","_interopRequireDefault","require","_IllegalArgumentException","_IllegalStateException","getSize","theme","ratio","arguments","length","undefined","path","unit","size","Big","times","IllegalStateException","IllegalArgumentException","_stringify","default","spacer","_ref","settings","exports","spacers","_len","ratios","Array","_key","_ref2","_map","call","join","gutter","_ref3"],"sources":["../../../src/react-theme/utils/spacers.js"],"sourcesContent":["// @flow\nimport Big from \"big.js\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\nimport IllegalArgumentException from \"../../exceptions/IllegalArgumentException\";\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\n/**\n */\nconst getSize = (\n theme: Theme,\n ratio: number | string = 1,\n path: string = \"SPACER\",\n unit: string = \"rem\"\n) => {\n if (typeof ratio === \"string\") {\n return ratio;\n }\n\n if (typeof ratio === \"number\") {\n if (typeof theme[path] === \"number\") {\n const size = Big(ratio).times(theme[path]);\n return `${size}${unit}`;\n }\n throw new IllegalStateException(`Size ${path} must be a number`);\n }\n\n throw new IllegalArgumentException(\n `Ratio ${JSON.stringify(ratio)} must be a string or number`\n );\n};\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n */\n/**\n */\nconst spacer =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio);\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n * Ratio's can be given clockwise with shorthand,\n * spacers(0.5, 1) with a spacer of 0.8 will give \"0.4rem 1rem\";\n */\n/**\n */\nconst spacers =\n (...ratios: Array<number | \"auto\">): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n ratios.map((ratio) => getSize(theme, ratio)).join(\" \");\n\n/*\n * Render a gutter based on GUTTER property\n */\n/**\n */\nconst gutter =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio, \"GRID_GUTTER\", \"px\");\n\nexport { spacer, spacers, gutter };\n"],"mappings":"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"}
1
+ {"version":3,"file":"spacers.js","names":["_big","_interopRequireDefault","require","_IllegalArgumentException","_IllegalStateException","getSize","theme","ratio","arguments","length","undefined","path","unit","size","Big","times","IllegalStateException","IllegalArgumentException","_stringify","default","spacer","_ref","settings","exports","spacers","_len","ratios","Array","_key","_ref2","_map","call","join","gutter","_ref3"],"sources":["../../../src/react-theme/utils/spacers.js"],"sourcesContent":["// @flow\nimport Big from \"big.js\";\n\nimport type { Theme, UtilThemeProps } from \"../types\";\nimport IllegalArgumentException from \"../../exceptions/IllegalArgumentException\";\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\n/**\n */\nconst getSize = (\n theme: Theme,\n ratio: number | string = 1,\n path: string = \"SPACER\",\n unit: string = \"rem\"\n) => {\n if (typeof ratio === \"string\") {\n return ratio;\n }\n\n if (typeof ratio === \"number\") {\n if (typeof theme[path] === \"number\") {\n const size = Big(ratio).times(theme[path]);\n return `${size}${unit}`;\n }\n throw new IllegalStateException(`Size ${path} must be a number`);\n }\n\n throw new IllegalArgumentException(\n `Ratio ${JSON.stringify(ratio)} must be a string or number`\n );\n};\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n */\n/**\n */\nconst spacer =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio);\n\n/*\n * Render spacers based on the given ratio * theme SPACER\n * Ratio's can be given clockwise with shorthand,\n * spacers(0.5, 1) with a spacer of 0.8 will give \"0.4rem 1rem\";\n */\n/**\n */\nconst spacers =\n (...ratios: Array<number | \"auto\">): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n ratios.map((ratio) => getSize(theme, ratio)).join(\" \");\n\n/*\n * Render a gutter based on GUTTER property\n */\n/**\n */\nconst gutter =\n (ratio: number = 1): ((UtilThemeProps) => string) =>\n ({ theme = { settings: {} } }: UtilThemeProps) =>\n getSize(theme, ratio, \"GRID_GUTTER\", \"px\");\n\nexport { spacer, spacers, gutter };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"themeProps.js","names":["_objects","require","_exceptions","getProp","theme","arguments","length","undefined","path","defaultValue","get","exports","getThemeProp","value","ThemePropertyException","getThemeStringProp","toString","getThemeNumberProp","themeProp","_ref"],"sources":["../../../src/react-theme/utils/themeProps.js"],"sourcesContent":["// @flow\nimport { get } from \"../../utils/helpers/objects\";\n\nimport { ThemePropertyException } from \"../../exceptions\";\n\nimport type { Theme, ThemePropValue } from \"../types\";\n\n/**\n */\nexport const getProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: ThemePropValue = \"\"\n): ?ThemePropValue => {\n return path === \"\" ? defaultValue : get(theme, path, defaultValue);\n};\n\n/**\n */\nexport const getThemeProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: ThemePropValue = \"\"\n): ThemePropValue => {\n const value = getProp(theme, path, defaultValue);\n\n if (\n value != null &&\n (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"object\")\n ) {\n return value;\n }\n\n throw new ThemePropertyException(\n `${path} is not a string, number or plain object, but: ${typeof value}`\n );\n};\n\n/**\n */\nexport const getThemeStringProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: string = \"\"\n): string => {\n const value = getProp(theme, path, defaultValue);\n\n if (typeof value === \"string\") {\n return value;\n } else if (typeof value === \"number\") {\n return value.toString();\n }\n\n throw new ThemePropertyException(\n `${path} is not a string, but: ${typeof value}`\n );\n};\n\n/**\n */\nexport const getThemeNumberProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: number = 0\n): number => {\n const value = getProp(theme, path, defaultValue);\n\n if (typeof value === \"number\") {\n return value;\n }\n\n throw new ThemePropertyException(\n `${path} is not a number, but: ${typeof value}`\n );\n};\n\n/*\n * Retrieve property value from theme property of styled component\n */\n/**\n */\nexport const themeProp =\n (\n path: string,\n defaultValue?: ThemePropValue\n ): (({ theme: Theme }) => ThemePropValue) =>\n ({ theme }: { theme: Theme }) =>\n getThemeProp(theme, path, defaultValue);\n"],"mappings":"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"}
1
+ {"version":3,"file":"themeProps.js","names":["_objects","require","_exceptions","getProp","theme","arguments","length","undefined","path","defaultValue","get","exports","getThemeProp","value","ThemePropertyException","getThemeStringProp","toString","getThemeNumberProp","themeProp","_ref"],"sources":["../../../src/react-theme/utils/themeProps.js"],"sourcesContent":["// @flow\nimport { get } from \"../../utils/helpers/objects\";\n\nimport { ThemePropertyException } from \"../../exceptions\";\n\nimport type { Theme, ThemePropValue } from \"../types\";\n\n/**\n */\nexport const getProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: ThemePropValue = \"\"\n): ?ThemePropValue => {\n return path === \"\" ? defaultValue : get(theme, path, defaultValue);\n};\n\n/**\n */\nexport const getThemeProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: ThemePropValue = \"\"\n): ThemePropValue => {\n const value = getProp(theme, path, defaultValue);\n\n if (\n value != null &&\n (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"object\")\n ) {\n return value;\n }\n\n throw new ThemePropertyException(\n `${path} is not a string, number or plain object, but: ${typeof value}`\n );\n};\n\n/**\n */\nexport const getThemeStringProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: string = \"\"\n): string => {\n const value = getProp(theme, path, defaultValue);\n\n if (typeof value === \"string\") {\n return value;\n } else if (typeof value === \"number\") {\n return value.toString();\n }\n\n throw new ThemePropertyException(\n `${path} is not a string, but: ${typeof value}`\n );\n};\n\n/**\n */\nexport const getThemeNumberProp = (\n theme: $Shape<Theme> = {},\n path: string = \"\",\n defaultValue: number = 0\n): number => {\n const value = getProp(theme, path, defaultValue);\n\n if (typeof value === \"number\") {\n return value;\n }\n\n throw new ThemePropertyException(\n `${path} is not a number, but: ${typeof value}`\n );\n};\n\n/*\n * Retrieve property value from theme property of styled component\n */\n/**\n */\nexport const themeProp =\n (\n path: string,\n defaultValue?: ThemePropValue\n ): (({ theme: Theme }) => ThemePropValue) =>\n ({ theme }: { theme: Theme }) =>\n getThemeProp(theme, path, defaultValue);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nActions.js","names":["_ProgressIndicator","require","receiveLocale","locale","type","payload","exports","updateLocale","dispatch","startProgress","finishProgress","setLocales","locales"],"sources":["../../../src/redux/_i18n/I18nActions.js"],"sourcesContent":["// @flow\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport type Locales from \"../../i18n/Locales\";\nimport type { SetLocalesAction, UpdateLocaleAction } from \"./types\";\nimport type { ThunkAction } from \"../types\";\n\n/**\n * Update current locale\n */\nexport const receiveLocale = (locale: string): UpdateLocaleAction => ({\n type: \"UPDATE_LOCALE\",\n payload: locale,\n});\n\n/**\n * Change locale of application and redirect\n */\nexport const updateLocale =\n (locale: string): ThunkAction =>\n (dispatch) => {\n dispatch(startProgress());\n dispatch(receiveLocale(locale));\n\n dispatch(finishProgress());\n };\n\n/**\n */\nexport const setLocales = (\n locales: Locales,\n locale: string\n): SetLocalesAction => ({\n type: \"SET_LOCALES\",\n payload: {\n locales,\n locale,\n },\n});\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAMA;AACA;AACA;AACO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAG,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAGO,MAAMK,YAAY,GACtBJ,MAAc,IACdK,QAAQ,IAAK;EACZA,QAAQ,CAAC,IAAAC,gCAAa,GAAE,CAAC;EACzBD,QAAQ,CAACN,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BK,QAAQ,CAAC,IAAAE,iCAAc,GAAE,CAAC;AAC5B,CAAC;;AAEH;AACA;AADAJ,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEO,MAAMI,UAAU,GAAGA,CACxBC,OAAgB,EAChBT,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPO,OAAO;IACPT;EACF;AACF,CAAC,CAAC;AAACG,OAAA,CAAAK,UAAA,GAAAA,UAAA"}
1
+ {"version":3,"file":"I18nActions.js","names":["_ProgressIndicator","require","receiveLocale","locale","type","payload","exports","updateLocale","dispatch","startProgress","finishProgress","setLocales","locales"],"sources":["../../../src/redux/_i18n/I18nActions.js"],"sourcesContent":["// @flow\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport type Locales from \"../../i18n/Locales\";\nimport type { SetLocalesAction, UpdateLocaleAction } from \"./types\";\nimport type { ThunkAction } from \"../types\";\n\n/**\n * Update current locale\n */\nexport const receiveLocale = (locale: string): UpdateLocaleAction => ({\n type: \"UPDATE_LOCALE\",\n payload: locale,\n});\n\n/**\n * Change locale of application and redirect\n */\nexport const updateLocale =\n (locale: string): ThunkAction =>\n (dispatch) => {\n dispatch(startProgress());\n dispatch(receiveLocale(locale));\n\n dispatch(finishProgress());\n };\n\n/**\n */\nexport const setLocales = (\n locales: Locales,\n locale: string\n): SetLocalesAction => ({\n type: \"SET_LOCALES\",\n payload: {\n locales,\n locale,\n },\n});\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAMA;AACA;AACA;AACO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAG,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAGO,MAAMK,YAAY,GACtBJ,MAAc,IACdK,QAAQ,IAAK;EACZA,QAAQ,CAAC,IAAAC,gCAAa,EAAC,CAAC,CAAC;EACzBD,QAAQ,CAACN,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BK,QAAQ,CAAC,IAAAE,iCAAc,EAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AADAJ,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEO,MAAMI,UAAU,GAAGA,CACxBC,OAAgB,EAChBT,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPO,OAAO;IACPT;EACF;AACF,CAAC,CAAC;AAACG,OAAA,CAAAK,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nReducer.js","names":["_Cache","_interopRequireDefault","require","_Cookies","_Locales","updateLocale","state","locale","setCookie","Cache","clear","setLocales","_ref","locales","initialState","Locales","I18nReducer","arguments","length","undefined","action","type","payload","exports"],"sources":["../../../src/redux/_i18n/I18nReducer.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport { setCookie } from \"../../utils/browser/Cookies\";\n\nimport Locales from \"../../i18n/Locales\";\n\nimport type { Reducer } from \"redux\";\nimport type { I18nState } from \"./types\";\nimport type { ReduxAction } from \"../types\";\n\n/**\n */\nconst updateLocale = (state: I18nState, locale: string) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n // clear cache because of cached contributions\n Cache.clear();\n\n return {\n ...state,\n locale,\n };\n};\n\n/**\n */\nconst setLocales = (\n state: I18nState,\n { locale, locales }: { locale: string, locales: Locales }\n) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n if (locale) {\n return {\n ...state,\n locales,\n locale,\n };\n }\n\n return {\n ...state,\n locales,\n };\n};\n\n// REDUCER\nconst initialState: I18nState = {\n locales: new Locales(),\n locale: \"en\",\n};\n\n/**\n * Form reducer\n */\nexport const I18nReducer: Reducer<I18nState, ReduxAction> = (\n state = initialState,\n action = void 0\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"SET_LOCALES\":\n return setLocales(state, action.payload);\n\n case \"UPDATE_LOCALE\":\n return updateLocale(state, action.payload);\n\n default:\n return state;\n }\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA,MAAMG,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAAC,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;;EAE3B;EACAE,cAAK,CAACC,KAAK,EAAE;EAEb,OAAO;IACL,GAAGJ,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAMI,UAAU,GAAGA,CACjBL,KAAgB,EAAAM,IAAA,KAEb;EAAA,IADH;IAAEL,MAAM;IAAEM;EAA8C,CAAC,GAAAD,IAAA;EAEzD;EACA,IAAAJ,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRO,OAAO;MACPN;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRO;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BD,OAAO,EAAE,IAAIE,gBAAO,EAAE;EACtBR,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACO,MAAMS,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHV,KAAK,GAAAW,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,YAAY;EAAA,IACpBM,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACG,MAAM,EAAE;IACX,OAAOd,KAAK;EACd;EAEA,QAAQc,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOV,UAAU,CAACL,KAAK,EAAEc,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOjB,YAAY,CAACC,KAAK,EAAEc,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOhB,KAAK;EAAC;AAEnB,CAAC;AAACiB,OAAA,CAAAP,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"I18nReducer.js","names":["_Cache","_interopRequireDefault","require","_Cookies","_Locales","updateLocale","state","locale","setCookie","Cache","clear","setLocales","_ref","locales","initialState","Locales","I18nReducer","arguments","length","undefined","action","type","payload","exports"],"sources":["../../../src/redux/_i18n/I18nReducer.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport { setCookie } from \"../../utils/browser/Cookies\";\n\nimport Locales from \"../../i18n/Locales\";\n\nimport type { Reducer } from \"redux\";\nimport type { I18nState } from \"./types\";\nimport type { ReduxAction } from \"../types\";\n\n/**\n */\nconst updateLocale = (state: I18nState, locale: string) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n // clear cache because of cached contributions\n Cache.clear();\n\n return {\n ...state,\n locale,\n };\n};\n\n/**\n */\nconst setLocales = (\n state: I18nState,\n { locale, locales }: { locale: string, locales: Locales }\n) => {\n // set locale in cookie\n setCookie(\"locale\", locale);\n\n if (locale) {\n return {\n ...state,\n locales,\n locale,\n };\n }\n\n return {\n ...state,\n locales,\n };\n};\n\n// REDUCER\nconst initialState: I18nState = {\n locales: new Locales(),\n locale: \"en\",\n};\n\n/**\n * Form reducer\n */\nexport const I18nReducer: Reducer<I18nState, ReduxAction> = (\n state = initialState,\n action = void 0\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"SET_LOCALES\":\n return setLocales(state, action.payload);\n\n case \"UPDATE_LOCALE\":\n return updateLocale(state, action.payload);\n\n default:\n return state;\n }\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AAMA;AACA;AACA,MAAMG,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACA,IAAAC,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;;EAE3B;EACAE,cAAK,CAACC,KAAK,CAAC,CAAC;EAEb,OAAO;IACL,GAAGJ,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAMI,UAAU,GAAGA,CACjBL,KAAgB,EAAAM,IAAA,KAEb;EAAA,IADH;IAAEL,MAAM;IAAEM;EAA8C,CAAC,GAAAD,IAAA;EAEzD;EACA,IAAAJ,kBAAS,EAAC,QAAQ,EAAED,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRO,OAAO;MACPN;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRO;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BD,OAAO,EAAE,IAAIE,gBAAO,CAAC,CAAC;EACtBR,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACO,MAAMS,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHV,KAAK,GAAAW,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,YAAY;EAAA,IACpBM,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACG,MAAM,EAAE;IACX,OAAOd,KAAK;EACd;EAEA,QAAQc,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOV,UAAU,CAACL,KAAK,EAAEc,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOjB,YAAY,CAACC,KAAK,EAAEc,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOhB,KAAK;EAChB;AACF,CAAC;AAACiB,OAAA,CAAAP,WAAA,GAAAA,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIActions.js","names":["_Constants","require","_Href","_interopRequireDefault","_ErrorResponse","_ProgressIndicator","_Error","setModel","key","model","connectKey","type","payload","exports","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","modelToUpdate","clonedModel","clone","update","Error","loadModel","href","options","Href","method","HTTP_METHODS","GET","data","locale","childmodels","targetModel","forceTargetModel","successAction","errorAction","error","errorResponse","ErrorResponse","isChangePassword","isResourceNotFoundAfterReload","MODULARUI_STATUS","ERROR","loadModularUI","dispatch","LOADING","startProgress","loadModelPromise","_promise","default","resolve","then","response","FINISHED","finishProgress","catch","handleError","reloadModel","selfhref","isReload"],"sources":["../../../src/redux/_modularui/ModularUIActions.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS, MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\nimport { finishProgress, startProgress } from \"../actions/ProgressIndicator\";\nimport { handleError } from \"../actions/Error\";\n\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { Dispatch, ThunkAction } from \"../types\";\nimport type {\n ModularUIAction,\n SetModelAction,\n InitModelAction,\n UpdateModelAction,\n UpdateFormAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n UpdateStatusAction,\n} from \"./types\";\nimport type { RequestModularUIOptions } from \"../../utils/fetch/types\";\n\n/**\n */\nexport const setModel = (\n key: string,\n model: ModularUIModel\n): SetModelAction => {\n // set key on model for later reference\n model.connectKey = key;\n return {\n type: \"MODULARUI/SET\",\n payload: {\n key,\n model,\n },\n };\n};\n\n/**\n */\nexport const initModels = (\n models: Array<{ key: string, model: ModularUIModel }>\n): InitModelAction => ({\n type: \"MODULARUI/INIT\",\n payload: models,\n});\n\n/**\n */\nexport const updateModel = (model: ModularUIModel): UpdateModelAction => ({\n type: \"MODULARUI/UPDATE\",\n payload: model,\n});\n\n/**\n */\nexport const updateForm = (model: ModularUIModel): UpdateFormAction => ({\n type: \"MODULARUI/UPDATE_FORM\",\n payload: model,\n});\n\n/**\n */\nexport const removeModelByKey = (key: string): RemoveModelByKeyAction => ({\n type: \"MODULARUI/REMOVE_KEY\",\n payload: key,\n});\n\n/**\n * Removes all models except the application model from the modular ui reducer\n */\nexport const resetModularUI = (): ResetModularUIAction => ({\n type: \"MODULARUI/RESET\",\n});\n\n/**\n */\nexport const updateStatus = (\n key: string,\n status: $Keys<typeof MODULARUI_STATUS>\n): UpdateStatusAction => ({\n type: \"MODULARUI/STATUS\",\n payload: { key, status },\n});\n\n/**\n */\nconst loadModelSuccessAction = (\n key: string,\n model: ModularUIModel,\n modelToUpdate: ?ModularUIModel\n): UpdateModelAction | SetModelAction => {\n if (modelToUpdate) {\n // $FlowFixMe[prop-missing]\n if (typeof modelToUpdate[\"update\"] === \"function\") {\n const clonedModel = modelToUpdate.clone();\n clonedModel.update(model);\n\n return updateModel(clonedModel);\n }\n\n throw new Error(\n `loadModel action: updateModel is set as option for ${key}, but the model is missing an update methode`\n );\n }\n\n return setModel(key, model);\n};\n\n/**\n * This action is handled by the modularui middleware\n */\nexport const loadModel = (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions\n): ModularUIAction => ({\n type: \"MODULARUI/FETCH\",\n payload: {\n href: href instanceof Href ? href : new Href(href),\n method: options?.method ?? HTTP_METHODS.GET,\n data: options?.data,\n locale: options?.locale ?? \"en\",\n childmodels: options?.childmodels,\n targetModel: options?.targetModel,\n forceTargetModel: options?.forceTargetModel,\n /**\n */\n successAction: (model) =>\n loadModelSuccessAction(key, model, options?.updateModel),\n /**\n */\n errorAction: (error) => {\n const errorResponse = new ErrorResponse(error, key);\n if (errorResponse.isChangePassword) {\n return {\n type: \"NO_ACTION\",\n };\n } else if (errorResponse.isResourceNotFoundAfterReload) {\n return removeModelByKey(key);\n }\n\n return updateStatus(key, MODULARUI_STATUS.ERROR);\n },\n },\n});\n\n/**\n */\nexport const loadModularUI =\n (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions\n ): ThunkAction =>\n (dispatch: Dispatch) => {\n dispatch(updateStatus(key, MODULARUI_STATUS.LOADING));\n dispatch(startProgress());\n\n const loadModelPromise = dispatch(loadModel(key, href, options));\n\n return Promise.resolve(loadModelPromise)\n .then((response) => {\n if (response?.type === \"FINISH_PROGRESS\") {\n dispatch(updateStatus(key, MODULARUI_STATUS.FINISHED));\n }\n\n return dispatch(finishProgress());\n })\n .catch((error) => dispatch(handleError(error)));\n };\n\n/**\n */\nexport const reloadModel = (\n model: ModularUIModel,\n options?: RequestModularUIOptions\n): ThunkAction =>\n loadModularUI(model.connectKey, model.selfhref, {\n ...options,\n isReload: true,\n });\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAgBA;AACA;AACO,MAAMM,QAAQ,GAAGA,CACtBC,GAAW,EACXC,KAAqB,KACF;EACnB;EACAA,KAAK,CAACC,UAAU,GAAGF,GAAG;EACtB,OAAO;IACLG,IAAI,EAAE,eAAe;IACrBC,OAAO,EAAE;MACPJ,GAAG;MACHC;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AADAI,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAEO,MAAMO,UAAU,GACrBC,MAAqD,KAChC;EACrBJ,IAAI,EAAE,gBAAgB;EACtBC,OAAO,EAAEG;AACX,CAAC,CAAC;;AAEF;AACA;AADAF,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEO,MAAME,WAAW,GAAIP,KAAqB,KAAyB;EACxEE,IAAI,EAAE,kBAAkB;EACxBC,OAAO,EAAEH;AACX,CAAC,CAAC;;AAEF;AACA;AADAI,OAAA,CAAAG,WAAA,GAAAA,WAAA;AAEO,MAAMC,UAAU,GAAIR,KAAqB,KAAwB;EACtEE,IAAI,EAAE,uBAAuB;EAC7BC,OAAO,EAAEH;AACX,CAAC,CAAC;;AAEF;AACA;AADAI,OAAA,CAAAI,UAAA,GAAAA,UAAA;AAEO,MAAMC,gBAAgB,GAAIV,GAAW,KAA8B;EACxEG,IAAI,EAAE,sBAAsB;EAC5BC,OAAO,EAAEJ;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAK,OAAA,CAAAK,gBAAA,GAAAA,gBAAA;AAGO,MAAMC,cAAc,GAAGA,CAAA,MAA6B;EACzDR,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA;AADAE,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEO,MAAMC,YAAY,GAAGA,CAC1BZ,GAAW,EACXa,MAAsC,MACd;EACxBV,IAAI,EAAE,kBAAkB;EACxBC,OAAO,EAAE;IAAEJ,GAAG;IAAEa;EAAO;AACzB,CAAC,CAAC;;AAEF;AACA;AADAR,OAAA,CAAAO,YAAA,GAAAA,YAAA;AAEA,MAAME,sBAAsB,GAAGA,CAC7Bd,GAAW,EACXC,KAAqB,EACrBc,aAA8B,KACS;EACvC,IAAIA,aAAa,EAAE;IACjB;IACA,IAAI,OAAOA,aAAa,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;MACjD,MAAMC,WAAW,GAAGD,aAAa,CAACE,KAAK,EAAE;MACzCD,WAAW,CAACE,MAAM,CAACjB,KAAK,CAAC;MAEzB,OAAOO,WAAW,CAACQ,WAAW,CAAC;IACjC;IAEA,MAAM,IAAIG,KAAK,CACZ,sDAAqDnB,GAAI,8CAA6C,CACxG;EACH;EAEA,OAAOD,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACO,MAAMmB,SAAS,GAAGA,CACvBpB,GAAW,EACXqB,IAAmB,EACnBC,OAAiC,MACZ;EACrBnB,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAE;IACPiB,IAAI,EAAEA,IAAI,YAAYE,aAAI,GAAGF,IAAI,GAAG,IAAIE,aAAI,CAACF,IAAI,CAAC;IAClDG,MAAM,EAAEF,OAAO,EAAEE,MAAM,IAAIC,uBAAY,CAACC,GAAG;IAC3CC,IAAI,EAAEL,OAAO,EAAEK,IAAI;IACnBC,MAAM,EAAEN,OAAO,EAAEM,MAAM,IAAI,IAAI;IAC/BC,WAAW,EAAEP,OAAO,EAAEO,WAAW;IACjCC,WAAW,EAAER,OAAO,EAAEQ,WAAW;IACjCC,gBAAgB,EAAET,OAAO,EAAES,gBAAgB;IAC3C;AACJ;IACIC,aAAa,EAAG/B,KAAK,IACnBa,sBAAsB,CAACd,GAAG,EAAEC,KAAK,EAAEqB,OAAO,EAAEd,WAAW,CAAC;IAC1D;AACJ;IACIyB,WAAW,EAAGC,KAAK,IAAK;MACtB,MAAMC,aAAa,GAAG,IAAIC,sBAAa,CAACF,KAAK,EAAElC,GAAG,CAAC;MACnD,IAAImC,aAAa,CAACE,gBAAgB,EAAE;QAClC,OAAO;UACLlC,IAAI,EAAE;QACR,CAAC;MACH,CAAC,MAAM,IAAIgC,aAAa,CAACG,6BAA6B,EAAE;QACtD,OAAO5B,gBAAgB,CAACV,GAAG,CAAC;MAC9B;MAEA,OAAOY,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACC,KAAK,CAAC;IAClD;EACF;AACF,CAAC,CAAC;;AAEF;AACA;AADAnC,OAAA,CAAAe,SAAA,GAAAA,SAAA;AAEO,MAAMqB,aAAa,GACxBA,CACEzC,GAAW,EACXqB,IAAmB,EACnBC,OAAiC,KAElCoB,QAAkB,IAAK;EACtBA,QAAQ,CAAC9B,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACI,OAAO,CAAC,CAAC;EACrDD,QAAQ,CAAC,IAAAE,gCAAa,GAAE,CAAC;EAEzB,MAAMC,gBAAgB,GAAGH,QAAQ,CAACtB,SAAS,CAACpB,GAAG,EAAEqB,IAAI,EAAEC,OAAO,CAAC,CAAC;EAEhE,OAAOwB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACH,gBAAgB,CAAC,CACrCI,IAAI,CAAEC,QAAQ,IAAK;IAClB,IAAIA,QAAQ,EAAE/C,IAAI,KAAK,iBAAiB,EAAE;MACxCuC,QAAQ,CAAC9B,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACY,QAAQ,CAAC,CAAC;IACxD;IAEA,OAAOT,QAAQ,CAAC,IAAAU,iCAAc,GAAE,CAAC;EACnC,CAAC,CAAC,CACDC,KAAK,CAAEnB,KAAK,IAAKQ,QAAQ,CAAC,IAAAY,kBAAW,EAACpB,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;;AAEH;AACA;AADA7B,OAAA,CAAAoC,aAAA,GAAAA,aAAA;AAEO,MAAMc,WAAW,GAAGA,CACzBtD,KAAqB,EACrBqB,OAAiC,KAEjCmB,aAAa,CAACxC,KAAK,CAACC,UAAU,EAAED,KAAK,CAACuD,QAAQ,EAAE;EAC9C,GAAGlC,OAAO;EACVmC,QAAQ,EAAE;AACZ,CAAC,CAAC;AAACpD,OAAA,CAAAkD,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"ModularUIActions.js","names":["_Constants","require","_Href","_interopRequireDefault","_ErrorResponse","_ProgressIndicator","_Error","setModel","key","model","connectKey","type","payload","exports","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","modelToUpdate","clonedModel","clone","update","Error","loadModel","href","options","Href","method","HTTP_METHODS","GET","data","locale","childmodels","targetModel","forceTargetModel","successAction","errorAction","error","errorResponse","ErrorResponse","isChangePassword","isResourceNotFoundAfterReload","MODULARUI_STATUS","ERROR","loadModularUI","dispatch","LOADING","startProgress","loadModelPromise","_promise","default","resolve","then","response","FINISHED","finishProgress","catch","handleError","reloadModel","selfhref","isReload"],"sources":["../../../src/redux/_modularui/ModularUIActions.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS, MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\nimport { finishProgress, startProgress } from \"../actions/ProgressIndicator\";\nimport { handleError } from \"../actions/Error\";\n\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { Dispatch, ThunkAction } from \"../types\";\nimport type {\n ModularUIAction,\n SetModelAction,\n InitModelAction,\n UpdateModelAction,\n UpdateFormAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n UpdateStatusAction,\n} from \"./types\";\nimport type { RequestModularUIOptions } from \"../../utils/fetch/types\";\n\n/**\n */\nexport const setModel = (\n key: string,\n model: ModularUIModel\n): SetModelAction => {\n // set key on model for later reference\n model.connectKey = key;\n return {\n type: \"MODULARUI/SET\",\n payload: {\n key,\n model,\n },\n };\n};\n\n/**\n */\nexport const initModels = (\n models: Array<{ key: string, model: ModularUIModel }>\n): InitModelAction => ({\n type: \"MODULARUI/INIT\",\n payload: models,\n});\n\n/**\n */\nexport const updateModel = (model: ModularUIModel): UpdateModelAction => ({\n type: \"MODULARUI/UPDATE\",\n payload: model,\n});\n\n/**\n */\nexport const updateForm = (model: ModularUIModel): UpdateFormAction => ({\n type: \"MODULARUI/UPDATE_FORM\",\n payload: model,\n});\n\n/**\n */\nexport const removeModelByKey = (key: string): RemoveModelByKeyAction => ({\n type: \"MODULARUI/REMOVE_KEY\",\n payload: key,\n});\n\n/**\n * Removes all models except the application model from the modular ui reducer\n */\nexport const resetModularUI = (): ResetModularUIAction => ({\n type: \"MODULARUI/RESET\",\n});\n\n/**\n */\nexport const updateStatus = (\n key: string,\n status: $Keys<typeof MODULARUI_STATUS>\n): UpdateStatusAction => ({\n type: \"MODULARUI/STATUS\",\n payload: { key, status },\n});\n\n/**\n */\nconst loadModelSuccessAction = (\n key: string,\n model: ModularUIModel,\n modelToUpdate: ?ModularUIModel\n): UpdateModelAction | SetModelAction => {\n if (modelToUpdate) {\n // $FlowFixMe[prop-missing]\n if (typeof modelToUpdate[\"update\"] === \"function\") {\n const clonedModel = modelToUpdate.clone();\n clonedModel.update(model);\n\n return updateModel(clonedModel);\n }\n\n throw new Error(\n `loadModel action: updateModel is set as option for ${key}, but the model is missing an update methode`\n );\n }\n\n return setModel(key, model);\n};\n\n/**\n * This action is handled by the modularui middleware\n */\nexport const loadModel = (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions\n): ModularUIAction => ({\n type: \"MODULARUI/FETCH\",\n payload: {\n href: href instanceof Href ? href : new Href(href),\n method: options?.method ?? HTTP_METHODS.GET,\n data: options?.data,\n locale: options?.locale ?? \"en\",\n childmodels: options?.childmodels,\n targetModel: options?.targetModel,\n forceTargetModel: options?.forceTargetModel,\n /**\n */\n successAction: (model) =>\n loadModelSuccessAction(key, model, options?.updateModel),\n /**\n */\n errorAction: (error) => {\n const errorResponse = new ErrorResponse(error, key);\n if (errorResponse.isChangePassword) {\n return {\n type: \"NO_ACTION\",\n };\n } else if (errorResponse.isResourceNotFoundAfterReload) {\n return removeModelByKey(key);\n }\n\n return updateStatus(key, MODULARUI_STATUS.ERROR);\n },\n },\n});\n\n/**\n */\nexport const loadModularUI =\n (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions\n ): ThunkAction =>\n (dispatch: Dispatch) => {\n dispatch(updateStatus(key, MODULARUI_STATUS.LOADING));\n dispatch(startProgress());\n\n const loadModelPromise = dispatch(loadModel(key, href, options));\n\n return Promise.resolve(loadModelPromise)\n .then((response) => {\n if (response?.type === \"FINISH_PROGRESS\") {\n dispatch(updateStatus(key, MODULARUI_STATUS.FINISHED));\n }\n\n return dispatch(finishProgress());\n })\n .catch((error) => dispatch(handleError(error)));\n };\n\n/**\n */\nexport const reloadModel = (\n model: ModularUIModel,\n options?: RequestModularUIOptions\n): ThunkAction =>\n loadModularUI(model.connectKey, model.selfhref, {\n ...options,\n isReload: true,\n });\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAgBA;AACA;AACO,MAAMM,QAAQ,GAAGA,CACtBC,GAAW,EACXC,KAAqB,KACF;EACnB;EACAA,KAAK,CAACC,UAAU,GAAGF,GAAG;EACtB,OAAO;IACLG,IAAI,EAAE,eAAe;IACrBC,OAAO,EAAE;MACPJ,GAAG;MACHC;IACF;EACF,CAAC;AACH,CAAC;;AAED;AACA;AADAI,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAEO,MAAMO,UAAU,GACrBC,MAAqD,KAChC;EACrBJ,IAAI,EAAE,gBAAgB;EACtBC,OAAO,EAAEG;AACX,CAAC,CAAC;;AAEF;AACA;AADAF,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEO,MAAME,WAAW,GAAIP,KAAqB,KAAyB;EACxEE,IAAI,EAAE,kBAAkB;EACxBC,OAAO,EAAEH;AACX,CAAC,CAAC;;AAEF;AACA;AADAI,OAAA,CAAAG,WAAA,GAAAA,WAAA;AAEO,MAAMC,UAAU,GAAIR,KAAqB,KAAwB;EACtEE,IAAI,EAAE,uBAAuB;EAC7BC,OAAO,EAAEH;AACX,CAAC,CAAC;;AAEF;AACA;AADAI,OAAA,CAAAI,UAAA,GAAAA,UAAA;AAEO,MAAMC,gBAAgB,GAAIV,GAAW,KAA8B;EACxEG,IAAI,EAAE,sBAAsB;EAC5BC,OAAO,EAAEJ;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AAFAK,OAAA,CAAAK,gBAAA,GAAAA,gBAAA;AAGO,MAAMC,cAAc,GAAGA,CAAA,MAA6B;EACzDR,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA;AADAE,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEO,MAAMC,YAAY,GAAGA,CAC1BZ,GAAW,EACXa,MAAsC,MACd;EACxBV,IAAI,EAAE,kBAAkB;EACxBC,OAAO,EAAE;IAAEJ,GAAG;IAAEa;EAAO;AACzB,CAAC,CAAC;;AAEF;AACA;AADAR,OAAA,CAAAO,YAAA,GAAAA,YAAA;AAEA,MAAME,sBAAsB,GAAGA,CAC7Bd,GAAW,EACXC,KAAqB,EACrBc,aAA8B,KACS;EACvC,IAAIA,aAAa,EAAE;IACjB;IACA,IAAI,OAAOA,aAAa,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;MACjD,MAAMC,WAAW,GAAGD,aAAa,CAACE,KAAK,CAAC,CAAC;MACzCD,WAAW,CAACE,MAAM,CAACjB,KAAK,CAAC;MAEzB,OAAOO,WAAW,CAACQ,WAAW,CAAC;IACjC;IAEA,MAAM,IAAIG,KAAK,CACZ,sDAAqDnB,GAAI,8CAC5D,CAAC;EACH;EAEA,OAAOD,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACO,MAAMmB,SAAS,GAAGA,CACvBpB,GAAW,EACXqB,IAAmB,EACnBC,OAAiC,MACZ;EACrBnB,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAE;IACPiB,IAAI,EAAEA,IAAI,YAAYE,aAAI,GAAGF,IAAI,GAAG,IAAIE,aAAI,CAACF,IAAI,CAAC;IAClDG,MAAM,EAAEF,OAAO,EAAEE,MAAM,IAAIC,uBAAY,CAACC,GAAG;IAC3CC,IAAI,EAAEL,OAAO,EAAEK,IAAI;IACnBC,MAAM,EAAEN,OAAO,EAAEM,MAAM,IAAI,IAAI;IAC/BC,WAAW,EAAEP,OAAO,EAAEO,WAAW;IACjCC,WAAW,EAAER,OAAO,EAAEQ,WAAW;IACjCC,gBAAgB,EAAET,OAAO,EAAES,gBAAgB;IAC3C;AACJ;IACIC,aAAa,EAAG/B,KAAK,IACnBa,sBAAsB,CAACd,GAAG,EAAEC,KAAK,EAAEqB,OAAO,EAAEd,WAAW,CAAC;IAC1D;AACJ;IACIyB,WAAW,EAAGC,KAAK,IAAK;MACtB,MAAMC,aAAa,GAAG,IAAIC,sBAAa,CAACF,KAAK,EAAElC,GAAG,CAAC;MACnD,IAAImC,aAAa,CAACE,gBAAgB,EAAE;QAClC,OAAO;UACLlC,IAAI,EAAE;QACR,CAAC;MACH,CAAC,MAAM,IAAIgC,aAAa,CAACG,6BAA6B,EAAE;QACtD,OAAO5B,gBAAgB,CAACV,GAAG,CAAC;MAC9B;MAEA,OAAOY,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACC,KAAK,CAAC;IAClD;EACF;AACF,CAAC,CAAC;;AAEF;AACA;AADAnC,OAAA,CAAAe,SAAA,GAAAA,SAAA;AAEO,MAAMqB,aAAa,GACxBA,CACEzC,GAAW,EACXqB,IAAmB,EACnBC,OAAiC,KAElCoB,QAAkB,IAAK;EACtBA,QAAQ,CAAC9B,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACI,OAAO,CAAC,CAAC;EACrDD,QAAQ,CAAC,IAAAE,gCAAa,EAAC,CAAC,CAAC;EAEzB,MAAMC,gBAAgB,GAAGH,QAAQ,CAACtB,SAAS,CAACpB,GAAG,EAAEqB,IAAI,EAAEC,OAAO,CAAC,CAAC;EAEhE,OAAOwB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACH,gBAAgB,CAAC,CACrCI,IAAI,CAAEC,QAAQ,IAAK;IAClB,IAAIA,QAAQ,EAAE/C,IAAI,KAAK,iBAAiB,EAAE;MACxCuC,QAAQ,CAAC9B,YAAY,CAACZ,GAAG,EAAEuC,2BAAgB,CAACY,QAAQ,CAAC,CAAC;IACxD;IAEA,OAAOT,QAAQ,CAAC,IAAAU,iCAAc,EAAC,CAAC,CAAC;EACnC,CAAC,CAAC,CACDC,KAAK,CAAEnB,KAAK,IAAKQ,QAAQ,CAAC,IAAAY,kBAAW,EAACpB,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;;AAEH;AACA;AADA7B,OAAA,CAAAoC,aAAA,GAAAA,aAAA;AAEO,MAAMc,WAAW,GAAGA,CACzBtD,KAAqB,EACrBqB,OAAiC,KAEjCmB,aAAa,CAACxC,KAAK,CAACC,UAAU,EAAED,KAAK,CAACuD,QAAQ,EAAE;EAC9C,GAAGlC,OAAO;EACVmC,QAAQ,EAAE;AACZ,CAAC,CAAC;AAACpD,OAAA,CAAAkD,WAAA,GAAAA,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIConnector.js","names":["_react","require","_reactRedux","_reactRouter","_ModularUIActions","_Href","_interopRequireDefault","_utils","_ModularUIUtils","_useModularUI","_useI18n","_jsxRuntime","modularUIConnector","name","resource","options","arguments","length","undefined","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","useDispatch","location","useLocation","url","useUrl","displayName","getDisplayName","contextId","modelEntry","useModularUI","modelKey","model","connectKey","handleManualReload","reloadOptions","reloadModel","handleFetch","href","fetchOptions","loadModularUI","reload","state","doReload","useReload","useEffect","isReload","removeModelByKey","locale","useLocale","newProps","status","lastModification","hasModel","Boolean","fetchModularUI","jsx","_default","exports","default"],"sources":["../../../src/redux/_modularui/ModularUIConnector.js"],"sourcesContent":["// @flow\nimport { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\n\nimport {\n loadModularUI,\n reloadModel,\n removeModelByKey,\n} from \"./ModularUIActions\";\n\nimport Href from \"../../models/href/Href\";\nimport { getDisplayName } from \"../../react/utils\";\n\nimport { useUrl, useReload } from \"./ModularUIUtils\";\nimport { useModularUI } from \"../../hooks/useModularUI\";\nimport { useLocale } from \"../../hooks/useI18n\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { Location } from \"react-router\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { ModularUIOptions } from \"./types\";\n\nexport type InjectedProps = {\n +modelKey: string,\n +location: Location,\n +status: string | null,\n +lastModification: number | null,\n +hasModel: boolean,\n +locale: string,\n +fetchModularUI: (href: string | Href, fetchOptions: Object) => void,\n +reloadModel: (model: ModularUIModel, options: Object) => void,\n +data?: ?ModularUIModel,\n};\n\n/**\n */\nconst modularUIConnector = (\n name: string,\n resource: string | Function,\n options: ModularUIOptions = { propName: \"data\", removeOnUnmount: false }\n): ((Component: ComponentType<any>) => (props: any) => Node) => {\n const {\n propName = \"data\",\n removeOnUnmount = false,\n ...otherOptions\n } = options;\n\n return (Component: ComponentType<any>) => {\n const WrappedComponent = (props: any) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n const url = useUrl(resource, { location, ...props });\n const displayName = getDisplayName(Component, name, props.contextId);\n\n // Load the model through the useModUI hook\n const modelEntry = useModularUI(displayName, url, otherOptions);\n const modelKey = modelEntry?.model?.connectKey;\n\n // handle manual reload of model\n const handleManualReload = (\n model: ModularUIModel,\n reloadOptions?: Object\n ) => {\n dispatch(reloadModel(model, reloadOptions));\n };\n\n // Provide connected models with a fetchModularUI method to be able\n // to run the loadModularUI action from a handler / callback in the component\n const handleFetch = (href: string | Href, fetchOptions: Object) => {\n dispatch(loadModularUI(modelKey, href, fetchOptions));\n };\n\n // Check if current model needs a reload\n const reload = location?.state?.reload ?? 0;\n const doReload = useReload(modelEntry, reload);\n useEffect(() => {\n if (doReload) {\n dispatch(\n loadModularUI(modelKey, url, { ...otherOptions, isReload: true })\n );\n }\n }, [dispatch, doReload, url, modelKey]);\n\n // Remove model when hoc unloads\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(modelKey));\n }\n };\n }, [dispatch, modelKey]);\n\n // Create new properties object to inject modularui properties to own props\n const locale = useLocale();\n const newProps: InjectedProps = {\n modelKey,\n [propName]: modelEntry ? modelEntry.model : null,\n location,\n status: modelEntry ? modelEntry.status : null,\n lastModification: modelEntry ? modelEntry.lastModification : null,\n hasModel: Boolean(modelEntry),\n locale,\n fetchModularUI: handleFetch,\n reloadModel: handleManualReload,\n };\n\n return <Component {...props} {...newProps} />;\n };\n\n WrappedComponent.displayName = `BI.modularui(${getDisplayName(\n WrappedComponent,\n name\n )}`;\n\n return WrappedComponent;\n };\n};\n\nexport default modularUIConnector;\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AAMA,IAAAI,KAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAgD,IAAAU,WAAA,GAAAV,OAAA;AAmBhD;AACA;AACA,MAAMW,kBAAkB,GAAG,SAAAA,CACzBC,IAAY,EACZC,QAA2B,EAEmC;EAAA,IAD9DC,OAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAAEG,QAAQ,EAAE,MAAM;IAAEC,eAAe,EAAE;EAAM,CAAC;EAExE,MAAM;IACJD,QAAQ,GAAG,MAAM;IACjBC,eAAe,GAAG,KAAK;IACvB,GAAGC;EACL,CAAC,GAAGN,OAAO;EAEX,OAAQO,SAA6B,IAAK;IACxC,MAAMC,gBAAgB,GAAIC,KAAU,IAAK;MACvC,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,GAAE;MAC9B,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;MAE9B,MAAMC,GAAG,GAAG,IAAAC,sBAAM,EAAChB,QAAQ,EAAE;QAAEa,QAAQ;QAAE,GAAGH;MAAM,CAAC,CAAC;MACpD,MAAMO,WAAW,GAAG,IAAAC,qBAAc,EAACV,SAAS,EAAET,IAAI,EAAEW,KAAK,CAACS,SAAS,CAAC;;MAEpE;MACA,MAAMC,UAAU,GAAG,IAAAC,0BAAY,EAACJ,WAAW,EAAEF,GAAG,EAAER,YAAY,CAAC;MAC/D,MAAMe,QAAQ,GAAGF,UAAU,EAAEG,KAAK,EAAEC,UAAU;;MAE9C;MACA,MAAMC,kBAAkB,GAAGA,CACzBF,KAAqB,EACrBG,aAAsB,KACnB;QACHf,QAAQ,CAAC,IAAAgB,6BAAW,EAACJ,KAAK,EAAEG,aAAa,CAAC,CAAC;MAC7C,CAAC;;MAED;MACA;MACA,MAAME,WAAW,GAAGA,CAACC,IAAmB,EAAEC,YAAoB,KAAK;QACjEnB,QAAQ,CAAC,IAAAoB,+BAAa,EAACT,QAAQ,EAAEO,IAAI,EAAEC,YAAY,CAAC,CAAC;MACvD,CAAC;;MAED;MACA,MAAME,MAAM,GAAGnB,QAAQ,EAAEoB,KAAK,EAAED,MAAM,IAAI,CAAC;MAC3C,MAAME,QAAQ,GAAG,IAAAC,yBAAS,EAACf,UAAU,EAAEY,MAAM,CAAC;MAC9C,IAAAI,gBAAS,EAAC,MAAM;QACd,IAAIF,QAAQ,EAAE;UACZvB,QAAQ,CACN,IAAAoB,+BAAa,EAACT,QAAQ,EAAEP,GAAG,EAAE;YAAE,GAAGR,YAAY;YAAE8B,QAAQ,EAAE;UAAK,CAAC,CAAC,CAClE;QACH;MACF,CAAC,EAAE,CAAC1B,QAAQ,EAAEuB,QAAQ,EAAEnB,GAAG,EAAEO,QAAQ,CAAC,CAAC;;MAEvC;MACA,IAAAc,gBAAS,EAAC,MAAM;QACd,OAAO,MAAM;UACX,IAAI9B,eAAe,EAAE;YACnBK,QAAQ,CAAC,IAAA2B,kCAAgB,EAAChB,QAAQ,CAAC,CAAC;UACtC;QACF,CAAC;MACH,CAAC,EAAE,CAACX,QAAQ,EAAEW,QAAQ,CAAC,CAAC;;MAExB;MACA,MAAMiB,MAAM,GAAG,IAAAC,kBAAS,GAAE;MAC1B,MAAMC,QAAuB,GAAG;QAC9BnB,QAAQ;QACR,CAACjB,QAAQ,GAAGe,UAAU,GAAGA,UAAU,CAACG,KAAK,GAAG,IAAI;QAChDV,QAAQ;QACR6B,MAAM,EAAEtB,UAAU,GAAGA,UAAU,CAACsB,MAAM,GAAG,IAAI;QAC7CC,gBAAgB,EAAEvB,UAAU,GAAGA,UAAU,CAACuB,gBAAgB,GAAG,IAAI;QACjEC,QAAQ,EAAEC,OAAO,CAACzB,UAAU,CAAC;QAC7BmB,MAAM;QACNO,cAAc,EAAElB,WAAW;QAC3BD,WAAW,EAAEF;MACf,CAAC;MAED,oBAAO,IAAA5B,WAAA,CAAAkD,GAAA,EAACvC,SAAS;QAAA,GAAKE,KAAK;QAAA,GAAM+B;MAAQ,EAAI;IAC/C,CAAC;IAEDhC,gBAAgB,CAACQ,WAAW,GAAI,gBAAe,IAAAC,qBAAc,EAC3DT,gBAAgB,EAChBV,IAAI,CACJ,EAAC;IAEH,OAAOU,gBAAgB;EACzB,CAAC;AACH,CAAC;AAAC,IAAAuC,QAAA,GAEalD,kBAAkB;AAAAmD,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"file":"ModularUIConnector.js","names":["_react","require","_reactRedux","_reactRouter","_ModularUIActions","_Href","_interopRequireDefault","_utils","_ModularUIUtils","_useModularUI","_useI18n","_jsxRuntime","modularUIConnector","name","resource","options","arguments","length","undefined","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","useDispatch","location","useLocation","url","useUrl","displayName","getDisplayName","contextId","modelEntry","useModularUI","modelKey","model","connectKey","handleManualReload","reloadOptions","reloadModel","handleFetch","href","fetchOptions","loadModularUI","reload","state","doReload","useReload","useEffect","isReload","removeModelByKey","locale","useLocale","newProps","status","lastModification","hasModel","Boolean","fetchModularUI","jsx","_default","exports","default"],"sources":["../../../src/redux/_modularui/ModularUIConnector.js"],"sourcesContent":["// @flow\nimport { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\n\nimport {\n loadModularUI,\n reloadModel,\n removeModelByKey,\n} from \"./ModularUIActions\";\n\nimport Href from \"../../models/href/Href\";\nimport { getDisplayName } from \"../../react/utils\";\n\nimport { useUrl, useReload } from \"./ModularUIUtils\";\nimport { useModularUI } from \"../../hooks/useModularUI\";\nimport { useLocale } from \"../../hooks/useI18n\";\n\nimport type { ComponentType, Node } from \"react\";\nimport type { Location } from \"react-router\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { ModularUIOptions } from \"./types\";\n\nexport type InjectedProps = {\n +modelKey: string,\n +location: Location,\n +status: string | null,\n +lastModification: number | null,\n +hasModel: boolean,\n +locale: string,\n +fetchModularUI: (href: string | Href, fetchOptions: Object) => void,\n +reloadModel: (model: ModularUIModel, options: Object) => void,\n +data?: ?ModularUIModel,\n};\n\n/**\n */\nconst modularUIConnector = (\n name: string,\n resource: string | Function,\n options: ModularUIOptions = { propName: \"data\", removeOnUnmount: false }\n): ((Component: ComponentType<any>) => (props: any) => Node) => {\n const {\n propName = \"data\",\n removeOnUnmount = false,\n ...otherOptions\n } = options;\n\n return (Component: ComponentType<any>) => {\n const WrappedComponent = (props: any) => {\n const dispatch = useDispatch();\n const location = useLocation();\n\n const url = useUrl(resource, { location, ...props });\n const displayName = getDisplayName(Component, name, props.contextId);\n\n // Load the model through the useModUI hook\n const modelEntry = useModularUI(displayName, url, otherOptions);\n const modelKey = modelEntry?.model?.connectKey;\n\n // handle manual reload of model\n const handleManualReload = (\n model: ModularUIModel,\n reloadOptions?: Object\n ) => {\n dispatch(reloadModel(model, reloadOptions));\n };\n\n // Provide connected models with a fetchModularUI method to be able\n // to run the loadModularUI action from a handler / callback in the component\n const handleFetch = (href: string | Href, fetchOptions: Object) => {\n dispatch(loadModularUI(modelKey, href, fetchOptions));\n };\n\n // Check if current model needs a reload\n const reload = location?.state?.reload ?? 0;\n const doReload = useReload(modelEntry, reload);\n useEffect(() => {\n if (doReload) {\n dispatch(\n loadModularUI(modelKey, url, { ...otherOptions, isReload: true })\n );\n }\n }, [dispatch, doReload, url, modelKey]);\n\n // Remove model when hoc unloads\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(modelKey));\n }\n };\n }, [dispatch, modelKey]);\n\n // Create new properties object to inject modularui properties to own props\n const locale = useLocale();\n const newProps: InjectedProps = {\n modelKey,\n [propName]: modelEntry ? modelEntry.model : null,\n location,\n status: modelEntry ? modelEntry.status : null,\n lastModification: modelEntry ? modelEntry.lastModification : null,\n hasModel: Boolean(modelEntry),\n locale,\n fetchModularUI: handleFetch,\n reloadModel: handleManualReload,\n };\n\n return <Component {...props} {...newProps} />;\n };\n\n WrappedComponent.displayName = `BI.modularui(${getDisplayName(\n WrappedComponent,\n name\n )}`;\n\n return WrappedComponent;\n };\n};\n\nexport default modularUIConnector;\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,iBAAA,GAAAH,OAAA;AAMA,IAAAI,KAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,eAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAAgD,IAAAU,WAAA,GAAAV,OAAA;AAmBhD;AACA;AACA,MAAMW,kBAAkB,GAAG,SAAAA,CACzBC,IAAY,EACZC,QAA2B,EAEmC;EAAA,IAD9DC,OAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAAEG,QAAQ,EAAE,MAAM;IAAEC,eAAe,EAAE;EAAM,CAAC;EAExE,MAAM;IACJD,QAAQ,GAAG,MAAM;IACjBC,eAAe,GAAG,KAAK;IACvB,GAAGC;EACL,CAAC,GAAGN,OAAO;EAEX,OAAQO,SAA6B,IAAK;IACxC,MAAMC,gBAAgB,GAAIC,KAAU,IAAK;MACvC,MAAMC,QAAQ,GAAG,IAAAC,uBAAW,EAAC,CAAC;MAC9B,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAAC,CAAC;MAE9B,MAAMC,GAAG,GAAG,IAAAC,sBAAM,EAAChB,QAAQ,EAAE;QAAEa,QAAQ;QAAE,GAAGH;MAAM,CAAC,CAAC;MACpD,MAAMO,WAAW,GAAG,IAAAC,qBAAc,EAACV,SAAS,EAAET,IAAI,EAAEW,KAAK,CAACS,SAAS,CAAC;;MAEpE;MACA,MAAMC,UAAU,GAAG,IAAAC,0BAAY,EAACJ,WAAW,EAAEF,GAAG,EAAER,YAAY,CAAC;MAC/D,MAAMe,QAAQ,GAAGF,UAAU,EAAEG,KAAK,EAAEC,UAAU;;MAE9C;MACA,MAAMC,kBAAkB,GAAGA,CACzBF,KAAqB,EACrBG,aAAsB,KACnB;QACHf,QAAQ,CAAC,IAAAgB,6BAAW,EAACJ,KAAK,EAAEG,aAAa,CAAC,CAAC;MAC7C,CAAC;;MAED;MACA;MACA,MAAME,WAAW,GAAGA,CAACC,IAAmB,EAAEC,YAAoB,KAAK;QACjEnB,QAAQ,CAAC,IAAAoB,+BAAa,EAACT,QAAQ,EAAEO,IAAI,EAAEC,YAAY,CAAC,CAAC;MACvD,CAAC;;MAED;MACA,MAAME,MAAM,GAAGnB,QAAQ,EAAEoB,KAAK,EAAED,MAAM,IAAI,CAAC;MAC3C,MAAME,QAAQ,GAAG,IAAAC,yBAAS,EAACf,UAAU,EAAEY,MAAM,CAAC;MAC9C,IAAAI,gBAAS,EAAC,MAAM;QACd,IAAIF,QAAQ,EAAE;UACZvB,QAAQ,CACN,IAAAoB,+BAAa,EAACT,QAAQ,EAAEP,GAAG,EAAE;YAAE,GAAGR,YAAY;YAAE8B,QAAQ,EAAE;UAAK,CAAC,CAClE,CAAC;QACH;MACF,CAAC,EAAE,CAAC1B,QAAQ,EAAEuB,QAAQ,EAAEnB,GAAG,EAAEO,QAAQ,CAAC,CAAC;;MAEvC;MACA,IAAAc,gBAAS,EAAC,MAAM;QACd,OAAO,MAAM;UACX,IAAI9B,eAAe,EAAE;YACnBK,QAAQ,CAAC,IAAA2B,kCAAgB,EAAChB,QAAQ,CAAC,CAAC;UACtC;QACF,CAAC;MACH,CAAC,EAAE,CAACX,QAAQ,EAAEW,QAAQ,CAAC,CAAC;;MAExB;MACA,MAAMiB,MAAM,GAAG,IAAAC,kBAAS,EAAC,CAAC;MAC1B,MAAMC,QAAuB,GAAG;QAC9BnB,QAAQ;QACR,CAACjB,QAAQ,GAAGe,UAAU,GAAGA,UAAU,CAACG,KAAK,GAAG,IAAI;QAChDV,QAAQ;QACR6B,MAAM,EAAEtB,UAAU,GAAGA,UAAU,CAACsB,MAAM,GAAG,IAAI;QAC7CC,gBAAgB,EAAEvB,UAAU,GAAGA,UAAU,CAACuB,gBAAgB,GAAG,IAAI;QACjEC,QAAQ,EAAEC,OAAO,CAACzB,UAAU,CAAC;QAC7BmB,MAAM;QACNO,cAAc,EAAElB,WAAW;QAC3BD,WAAW,EAAEF;MACf,CAAC;MAED,oBAAO,IAAA5B,WAAA,CAAAkD,GAAA,EAACvC,SAAS;QAAA,GAAKE,KAAK;QAAA,GAAM+B;MAAQ,CAAG,CAAC;IAC/C,CAAC;IAEDhC,gBAAgB,CAACQ,WAAW,GAAI,gBAAe,IAAAC,qBAAc,EAC3DT,gBAAgB,EAChBV,IACF,CAAE,EAAC;IAEH,OAAOU,gBAAgB;EACzB,CAAC;AACH,CAAC;AAAC,IAAAuC,QAAA,GAEalD,kBAAkB;AAAAmD,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIMiddleware.js","names":["_ModularUIRequest","_interopRequireDefault","require","_Constants","_ProgressIndicator","_Error","createRequest","modularui","request","ModularUIRequest","href","method","HTTP_METHODS","GET","data","locale","childmodels","isReload","targetModel","forceTargetModel","responseHandler","next","dispatch","successAction","model","successResult","_promise","default","then","result","catch","error","handleError","Error","finishProgress","errorHandler","errorAction","err","errorResult","handleFetch","action","startProgress","requestOptions","payload","modularuiRequest","fetch","modularUIMiddleware","api","type","getState","i18n","exports"],"sources":["../../../src/redux/_modularui/ModularUIMiddleware.js"],"sourcesContent":["// @flow\nimport ModularUIRequest from \"../../modularui/ModularUIRequest\";\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport { handleError } from \"../actions/Error\";\n\nimport type { Middleware, MiddlewareAPI } from \"redux\";\nimport type {\n ReduxAction,\n ReduxState,\n Dispatch,\n PossibleAction,\n} from \"../types\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type Href from \"../../models/href/Href\";\nimport type { ModularUIAction, SuccessAction, ErrorAction } from \"./types\";\nimport type { TargetModel } from \"../../modularui/types\";\n\ntype RequestOptions = {\n href: Href,\n method?: $Keys<typeof HTTP_METHODS>,\n data?: any,\n locale: string,\n childmodels?: boolean,\n targetModel?: TargetModel,\n forceTargetModel?: boolean,\n isReload?: boolean,\n};\n\n/**\n * Symbol key that carries API call info interpreted by this Redux middleware.\n */\nconst createRequest = (modularui: RequestOptions): ModularUIRequest => {\n const request = new ModularUIRequest(modularui.href, {\n method: modularui.method || HTTP_METHODS.GET,\n data: modularui.data || {},\n locale: modularui.locale,\n childmodels: modularui.childmodels ?? true,\n isReload: modularui.isReload,\n });\n\n if (modularui.targetModel) {\n request.targetModel = modularui.targetModel;\n request.forceTargetModel = modularui.forceTargetModel ?? false;\n }\n\n return request;\n};\n\n/**\n */\nconst responseHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n successAction: SuccessAction,\n model: ModularUIModel\n) => {\n if (successAction) {\n const successResult = successAction(model);\n\n if (successResult instanceof Promise) {\n successResult\n .then((result) => {\n dispatch(result);\n })\n .catch((error) => {\n next(handleError(error));\n });\n } else {\n try {\n dispatch(successResult);\n } catch (error) {\n throw new Error(\n `Result of successResult is not a valid redux action: ${error}`\n );\n }\n }\n }\n\n return next(finishProgress());\n};\n\n/**\n */\nconst errorHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n errorAction: ?ErrorAction,\n err: any\n) => {\n dispatch(finishProgress());\n\n if (errorAction) {\n const errorResult = errorAction(err);\n\n if (errorResult instanceof Promise) {\n errorResult.then((result) => dispatch(result));\n } else {\n dispatch(errorResult);\n }\n }\n\n return next(handleError(err));\n};\n\n/**\n */\nconst handleFetch = (\n action: ModularUIAction,\n locale: string,\n dispatch: Dispatch,\n next: Dispatch\n) => {\n dispatch(startProgress());\n\n const { successAction, errorAction, ...requestOptions } = action.payload;\n requestOptions.locale = locale;\n\n const modularuiRequest = createRequest(requestOptions);\n\n return modularuiRequest\n .fetch()\n .then((model) => responseHandler(next, dispatch, successAction, model))\n .catch((error) => errorHandler(next, dispatch, errorAction, error));\n};\n\n/**\n */\nexport const modularUIMiddleware: Middleware<\n ReduxState,\n ReduxAction,\n Dispatch\n> =\n (api: MiddlewareAPI<ReduxState, ReduxAction, Dispatch>) =>\n (next: Dispatch) =>\n (action: PossibleAction) => {\n if (action.type === \"MODULARUI/FETCH\") {\n return handleFetch(\n // $FlowExpectedError[incompatible-exact]\n action,\n api.getState().i18n.locale,\n api.dispatch,\n next\n );\n }\n\n return next(action);\n };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModularUIMiddleware.js","names":["_ModularUIRequest","_interopRequireDefault","require","_Constants","_ProgressIndicator","_Error","createRequest","modularui","request","ModularUIRequest","href","method","HTTP_METHODS","GET","data","locale","childmodels","isReload","targetModel","forceTargetModel","responseHandler","next","dispatch","successAction","model","successResult","_promise","default","then","result","catch","error","handleError","Error","finishProgress","errorHandler","errorAction","err","errorResult","handleFetch","action","startProgress","requestOptions","payload","modularuiRequest","fetch","modularUIMiddleware","api","type","getState","i18n","exports"],"sources":["../../../src/redux/_modularui/ModularUIMiddleware.js"],"sourcesContent":["// @flow\nimport ModularUIRequest from \"../../modularui/ModularUIRequest\";\nimport { HTTP_METHODS } from \"../../constants/Constants\";\n\nimport { startProgress, finishProgress } from \"../actions/ProgressIndicator\";\n\nimport { handleError } from \"../actions/Error\";\n\nimport type { Middleware, MiddlewareAPI } from \"redux\";\nimport type {\n ReduxAction,\n ReduxState,\n Dispatch,\n PossibleAction,\n} from \"../types\";\nimport type { ModularUIModel } from \"../../models/types\";\nimport type Href from \"../../models/href/Href\";\nimport type { ModularUIAction, SuccessAction, ErrorAction } from \"./types\";\nimport type { TargetModel } from \"../../modularui/types\";\n\ntype RequestOptions = {\n href: Href,\n method?: $Keys<typeof HTTP_METHODS>,\n data?: any,\n locale: string,\n childmodels?: boolean,\n targetModel?: TargetModel,\n forceTargetModel?: boolean,\n isReload?: boolean,\n};\n\n/**\n * Symbol key that carries API call info interpreted by this Redux middleware.\n */\nconst createRequest = (modularui: RequestOptions): ModularUIRequest => {\n const request = new ModularUIRequest(modularui.href, {\n method: modularui.method || HTTP_METHODS.GET,\n data: modularui.data || {},\n locale: modularui.locale,\n childmodels: modularui.childmodels ?? true,\n isReload: modularui.isReload,\n });\n\n if (modularui.targetModel) {\n request.targetModel = modularui.targetModel;\n request.forceTargetModel = modularui.forceTargetModel ?? false;\n }\n\n return request;\n};\n\n/**\n */\nconst responseHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n successAction: SuccessAction,\n model: ModularUIModel\n) => {\n if (successAction) {\n const successResult = successAction(model);\n\n if (successResult instanceof Promise) {\n successResult\n .then((result) => {\n dispatch(result);\n })\n .catch((error) => {\n next(handleError(error));\n });\n } else {\n try {\n dispatch(successResult);\n } catch (error) {\n throw new Error(\n `Result of successResult is not a valid redux action: ${error}`\n );\n }\n }\n }\n\n return next(finishProgress());\n};\n\n/**\n */\nconst errorHandler = (\n next: Dispatch,\n dispatch: Dispatch,\n errorAction: ?ErrorAction,\n err: any\n) => {\n dispatch(finishProgress());\n\n if (errorAction) {\n const errorResult = errorAction(err);\n\n if (errorResult instanceof Promise) {\n errorResult.then((result) => dispatch(result));\n } else {\n dispatch(errorResult);\n }\n }\n\n return next(handleError(err));\n};\n\n/**\n */\nconst handleFetch = (\n action: ModularUIAction,\n locale: string,\n dispatch: Dispatch,\n next: Dispatch\n) => {\n dispatch(startProgress());\n\n const { successAction, errorAction, ...requestOptions } = action.payload;\n requestOptions.locale = locale;\n\n const modularuiRequest = createRequest(requestOptions);\n\n return modularuiRequest\n .fetch()\n .then((model) => responseHandler(next, dispatch, successAction, model))\n .catch((error) => errorHandler(next, dispatch, errorAction, error));\n};\n\n/**\n */\nexport const modularUIMiddleware: Middleware<\n ReduxState,\n ReduxAction,\n Dispatch\n> =\n (api: MiddlewareAPI<ReduxState, ReduxAction, Dispatch>) =>\n (next: Dispatch) =>\n (action: PossibleAction) => {\n if (action.type === \"MODULARUI/FETCH\") {\n return handleFetch(\n // $FlowExpectedError[incompatible-exact]\n action,\n api.getState().i18n.locale,\n api.dispatch,\n next\n );\n }\n\n return next(action);\n };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIReducer.js","names":["_exceptions","require","_Constants","_models","updateStatus","state","_ref","key","status","MODULARUI_STATUS","LOADING","lastModification","Date","now","setModel","_ref2","model","IllegalArgumentException","initModularUI","models","newState","_assign","default","forEach","_ref3","FINISHED","getModelKey","_context","_find","_keys","call","connectKey","updateModel","modelKey","Error","removeKey","resetModularUI","ApplicationModel","initialState","ModularUIReducer","arguments","length","undefined","action","type","payload","exports"],"sources":["../../../src/redux/_modularui/ModularUIReducer.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport { ApplicationModel } from \"../../models\";\n\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction } from \"../types\";\nimport type { ModularUIState } from \"./types\";\nimport type { ModularUIModel } from \"../../models\";\n\n/**\n */\nconst updateStatus = (\n state: ModularUIState,\n { key, status }: { key: string, status: $Keys<typeof MODULARUI_STATUS> }\n) => {\n // model should always be available when status is not loading\n if (status !== MODULARUI_STATUS.LOADING && !state[key]) {\n return state;\n }\n\n return {\n ...state,\n [key]: {\n ...state[key],\n status,\n lastModification: Date.now(),\n },\n };\n};\n\n/**\n */\nconst setModel = (\n state: ModularUIState,\n { key, model }: { key: string, model: ?ModularUIModel }\n) => {\n if (!state[key]) {\n return state;\n }\n\n if (model) {\n return {\n ...state,\n [key]: {\n ...state[key],\n model,\n lastModification: Date.now(),\n },\n };\n }\n\n throw new IllegalArgumentException(\"No model for setModel\");\n};\n\n/**\n */\nconst initModularUI = (\n state: ModularUIState,\n models: Array<{ key: string, model: ModularUIModel }>\n) => {\n const newState = Object.assign({}, state);\n\n models.forEach(({ key, model }) => {\n newState[key] = {\n status: MODULARUI_STATUS.FINISHED,\n lastModification: Date.now(),\n model,\n };\n });\n\n return newState;\n};\n\n/**\n */\nconst getModelKey = (state: ModularUIState, model: ModularUIModel) =>\n Object.keys(state).find((key) => {\n const connectKey = state[key]?.model?.connectKey ?? \"\";\n return connectKey === model.connectKey;\n });\n\n/**\n */\nconst updateModel = (state: ModularUIState, model: ModularUIModel) => {\n const modelKey = getModelKey(state, model);\n\n if (modelKey) {\n return setModel(state, { key: modelKey, model });\n }\n\n throw new Error(\n `ModularUIReducer: Cannot update model with key ${model.connectKey}`\n );\n};\n\n/**\n */\nconst removeKey = (modelKey: string, state: ModularUIState): ModularUIState => {\n const newState = Object.assign({}, state);\n delete newState[modelKey];\n return newState;\n};\n\n/**\n * Remove all but application models\n */\nconst resetModularUI = (state: ModularUIState) => {\n const newState: ModularUIState = {};\n\n for (const key in state) {\n if (state[key].model instanceof ApplicationModel) {\n newState[key] = { ...state[key] };\n }\n }\n\n return newState;\n};\n\nconst initialState: ModularUIState = {};\n\n/**\n * Modular UI Reducer\n */\nexport const ModularUIReducer: Reducer<ModularUIState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"MODULARUI/INIT\":\n return initModularUI(state, action.payload);\n\n case \"MODULARUI/RESET\":\n return resetModularUI(state);\n\n case \"MODULARUI/STATUS\":\n return updateStatus(state, action.payload);\n\n case \"MODULARUI/SET\":\n return setModel(state, action.payload);\n\n case \"MODULARUI/UPDATE\":\n case \"MODULARUI/UPDATE_FORM\":\n return updateModel(state, action.payload);\n\n case \"MODULARUI/REMOVE_KEY\":\n return removeKey(action.payload, state);\n\n default:\n return state;\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModularUIReducer.js","names":["_exceptions","require","_Constants","_models","updateStatus","state","_ref","key","status","MODULARUI_STATUS","LOADING","lastModification","Date","now","setModel","_ref2","model","IllegalArgumentException","initModularUI","models","newState","_assign","default","forEach","_ref3","FINISHED","getModelKey","_context","_find","_keys","call","connectKey","updateModel","modelKey","Error","removeKey","resetModularUI","ApplicationModel","initialState","ModularUIReducer","arguments","length","undefined","action","type","payload","exports"],"sources":["../../../src/redux/_modularui/ModularUIReducer.js"],"sourcesContent":["// @flow\nimport { IllegalArgumentException } from \"../../exceptions\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport { ApplicationModel } from \"../../models\";\n\nimport type { Reducer } from \"redux\";\nimport type { ReduxAction } from \"../types\";\nimport type { ModularUIState } from \"./types\";\nimport type { ModularUIModel } from \"../../models\";\n\n/**\n */\nconst updateStatus = (\n state: ModularUIState,\n { key, status }: { key: string, status: $Keys<typeof MODULARUI_STATUS> }\n) => {\n // model should always be available when status is not loading\n if (status !== MODULARUI_STATUS.LOADING && !state[key]) {\n return state;\n }\n\n return {\n ...state,\n [key]: {\n ...state[key],\n status,\n lastModification: Date.now(),\n },\n };\n};\n\n/**\n */\nconst setModel = (\n state: ModularUIState,\n { key, model }: { key: string, model: ?ModularUIModel }\n) => {\n if (!state[key]) {\n return state;\n }\n\n if (model) {\n return {\n ...state,\n [key]: {\n ...state[key],\n model,\n lastModification: Date.now(),\n },\n };\n }\n\n throw new IllegalArgumentException(\"No model for setModel\");\n};\n\n/**\n */\nconst initModularUI = (\n state: ModularUIState,\n models: Array<{ key: string, model: ModularUIModel }>\n) => {\n const newState = Object.assign({}, state);\n\n models.forEach(({ key, model }) => {\n newState[key] = {\n status: MODULARUI_STATUS.FINISHED,\n lastModification: Date.now(),\n model,\n };\n });\n\n return newState;\n};\n\n/**\n */\nconst getModelKey = (state: ModularUIState, model: ModularUIModel) =>\n Object.keys(state).find((key) => {\n const connectKey = state[key]?.model?.connectKey ?? \"\";\n return connectKey === model.connectKey;\n });\n\n/**\n */\nconst updateModel = (state: ModularUIState, model: ModularUIModel) => {\n const modelKey = getModelKey(state, model);\n\n if (modelKey) {\n return setModel(state, { key: modelKey, model });\n }\n\n throw new Error(\n `ModularUIReducer: Cannot update model with key ${model.connectKey}`\n );\n};\n\n/**\n */\nconst removeKey = (modelKey: string, state: ModularUIState): ModularUIState => {\n const newState = Object.assign({}, state);\n delete newState[modelKey];\n return newState;\n};\n\n/**\n * Remove all but application models\n */\nconst resetModularUI = (state: ModularUIState) => {\n const newState: ModularUIState = {};\n\n for (const key in state) {\n if (state[key].model instanceof ApplicationModel) {\n newState[key] = { ...state[key] };\n }\n }\n\n return newState;\n};\n\nconst initialState: ModularUIState = {};\n\n/**\n * Modular UI Reducer\n */\nexport const ModularUIReducer: Reducer<ModularUIState, ReduxAction> = (\n state = initialState,\n action\n) => {\n if (!action) {\n return state;\n }\n\n switch (action.type) {\n case \"MODULARUI/INIT\":\n return initModularUI(state, action.payload);\n\n case \"MODULARUI/RESET\":\n return resetModularUI(state);\n\n case \"MODULARUI/STATUS\":\n return updateStatus(state, action.payload);\n\n case \"MODULARUI/SET\":\n return setModel(state, action.payload);\n\n case \"MODULARUI/UPDATE\":\n case \"MODULARUI/UPDATE_FORM\":\n return updateModel(state, action.payload);\n\n case \"MODULARUI/REMOVE_KEY\":\n return removeKey(action.payload, state);\n\n default:\n return state;\n }\n};\n"],"mappings":"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"}