@beinformed/ui 1.31.0 → 1.31.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (976) hide show
  1. package/CHANGELOG.md +20 -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/FetchException.js.map +1 -1
  6. package/esm/exceptions/NetworkException.js.map +1 -1
  7. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  8. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  9. package/esm/hooks/useAuthentication.js.map +1 -1
  10. package/esm/hooks/useContent.js.map +1 -1
  11. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  12. package/esm/hooks/useForm.js.map +1 -1
  13. package/esm/hooks/useI18n.js.map +1 -1
  14. package/esm/hooks/useModal.js.map +1 -1
  15. package/esm/hooks/useModelCatalog.js.map +1 -1
  16. package/esm/hooks/useModularUI.js.map +1 -1
  17. package/esm/hooks/useModularUIBasic.js.map +1 -1
  18. package/esm/hooks/useModularUIModel.js.map +1 -1
  19. package/esm/hooks/useModularUIRequest.js.map +1 -1
  20. package/esm/hooks/useNotification.js.map +1 -1
  21. package/esm/hooks/usePreference.js +8 -2
  22. package/esm/hooks/usePreference.js.map +1 -1
  23. package/esm/i18n/Locale.js.map +1 -1
  24. package/esm/i18n/Locales.js.map +1 -1
  25. package/esm/i18n/Message.js.map +1 -1
  26. package/esm/i18n/withMessage.js.map +1 -1
  27. package/esm/models/actions/ActionCollection.js.map +1 -1
  28. package/esm/models/actions/ActionModel.js.map +1 -1
  29. package/esm/models/application/ApplicationModel.js.map +1 -1
  30. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  31. package/esm/models/attributes/AttributeContent.js.map +1 -1
  32. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  33. package/esm/models/attributes/AttributeModel.js.map +1 -1
  34. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  35. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeModel.js +1 -1
  37. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  39. package/esm/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  40. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  41. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  42. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  47. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  48. package/esm/models/attributes/_createAttribute.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  56. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  57. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  58. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  60. package/esm/models/base/BaseCollection.js.map +1 -1
  61. package/esm/models/base/BaseModel.js.map +1 -1
  62. package/esm/models/base/ResourceModel.js.map +1 -1
  63. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  64. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  65. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  66. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  67. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  68. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  69. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  70. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  71. package/esm/models/content/ContentIndexModel.js.map +1 -1
  72. package/esm/models/content/ContentLinkModel.js.map +1 -1
  73. package/esm/models/content/ContentModel.js.map +1 -1
  74. package/esm/models/content/ContentTOCModel.js.map +1 -1
  75. package/esm/models/content/SectionModel.js.map +1 -1
  76. package/esm/models/content/SubSectionModel.js.map +1 -1
  77. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  78. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  79. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  80. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  81. package/esm/models/detail/DetailModel.js.map +1 -1
  82. package/esm/models/error/ErrorCollection.js.map +1 -1
  83. package/esm/models/error/ErrorModel.js.map +1 -1
  84. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  85. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  86. package/esm/models/filters/FilterCollection.js.map +1 -1
  87. package/esm/models/form/FormModel.js.map +1 -1
  88. package/esm/models/form/FormObjectModel.js.map +1 -1
  89. package/esm/models/grouping/GroupingModel.js.map +1 -1
  90. package/esm/models/href/Href.js.map +1 -1
  91. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  92. package/esm/models/links/LinkCollection.js.map +1 -1
  93. package/esm/models/links/LinkModel.js.map +1 -1
  94. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  95. package/esm/models/list/ListDetailModel.js.map +1 -1
  96. package/esm/models/list/ListItemCollection.js.map +1 -1
  97. package/esm/models/list/ListItemModel.js.map +1 -1
  98. package/esm/models/list/ListModel.js.map +1 -1
  99. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  100. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  101. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  102. package/esm/models/paging/PagingModel.js.map +1 -1
  103. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  104. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  105. package/esm/models/resolveModel.js.map +1 -1
  106. package/esm/models/sorting/SortingModel.js.map +1 -1
  107. package/esm/models/tab/TabModel.js.map +1 -1
  108. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  109. package/esm/models/types.js.map +1 -1
  110. package/esm/models/user/UserProfileModel.js.map +1 -1
  111. package/esm/modularui/CaptchaRequest.js.map +1 -1
  112. package/esm/modularui/ModularUIRequest.js.map +1 -1
  113. package/esm/modularui/UploadRequest.js.map +1 -1
  114. package/esm/react/utils.js.map +1 -1
  115. package/esm/react-client/client.js +1 -0
  116. package/esm/react-client/client.js.map +1 -1
  117. package/esm/react-client/contextPath.js.map +1 -1
  118. package/esm/react-client/rehydrate.js.map +1 -1
  119. package/esm/react-server/createSSRComplete.js.map +1 -1
  120. package/esm/react-server/renderSSRComplete.js.map +1 -1
  121. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  122. package/esm/react-server/requestInformation.js.map +1 -1
  123. package/esm/react-server/serverUtil.js.map +1 -1
  124. package/esm/react-theme/createTheme.js.map +1 -1
  125. package/esm/react-theme/utils/colors.js.map +1 -1
  126. package/esm/react-theme/utils/contrast.js.map +1 -1
  127. package/esm/react-theme/utils/corners.js.map +1 -1
  128. package/esm/react-theme/utils/spacers.js.map +1 -1
  129. package/esm/react-theme/utils/themeProps.js.map +1 -1
  130. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  131. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  132. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  134. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  135. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  136. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  137. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  138. package/esm/redux/_modularui/types.js.map +1 -1
  139. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  140. package/esm/redux/_router/RouterActions.js.map +1 -1
  141. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  142. package/esm/redux/_router/RouterReducer.js.map +1 -1
  143. package/esm/redux/actions/Application.js.map +1 -1
  144. package/esm/redux/actions/Authorization.js.map +1 -1
  145. package/esm/redux/actions/Error.js.map +1 -1
  146. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  147. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  148. package/esm/redux/actions/FormAutosave.js.map +1 -1
  149. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  150. package/esm/redux/actions/FormValidations.js.map +1 -1
  151. package/esm/redux/actions/Notification.js.map +1 -1
  152. package/esm/redux/actions/Preferences.js.map +1 -1
  153. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  154. package/esm/redux/actions/SignIn.js.map +1 -1
  155. package/esm/redux/connectors/Application.js.map +1 -1
  156. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  157. package/esm/redux/connectors/CaseView.js.map +1 -1
  158. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  159. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  160. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  161. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  162. package/esm/redux/connectors/Form.js.map +1 -1
  163. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  164. package/esm/redux/connectors/ListDetail.js.map +1 -1
  165. package/esm/redux/connectors/Modal.js.map +1 -1
  166. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  167. package/esm/redux/connectors/Notification.js.map +1 -1
  168. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  169. package/esm/redux/connectors/Preferences.js.map +1 -1
  170. package/esm/redux/connectors/Progress.js.map +1 -1
  171. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  172. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  173. package/esm/redux/connectors/SignIn.js.map +1 -1
  174. package/esm/redux/connectors/SignOut.js.map +1 -1
  175. package/esm/redux/connectors/Tab.js.map +1 -1
  176. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  177. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  178. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  179. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  180. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  181. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  182. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  183. package/esm/redux/store/configureStore.js.map +1 -1
  184. package/esm/utils/browser/Cookies.js.map +1 -1
  185. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  186. package/esm/utils/fetch/universalFetch.js.map +1 -1
  187. package/esm/utils/fetch/xhr.js.map +1 -1
  188. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  189. package/esm/utils/helpers/text.js.map +1 -1
  190. package/esm/utils/number/DecimalFormat.js.map +1 -1
  191. package/esm/utils/number/formatValue.js.map +1 -1
  192. package/esm/utils/number/parseNumbers.js.map +1 -1
  193. package/lib/builder/__tests__/mergeLayoutHintConfigurations.spec.js.flow +4 -4
  194. package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
  195. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  196. package/lib/constants/LayoutHints.js.flow +1 -1
  197. package/lib/constants/LayoutHints.js.map +1 -1
  198. package/lib/constants/Settings.js.flow +2 -2
  199. package/lib/constants/Settings.js.map +1 -1
  200. package/lib/exceptions/FetchException.js.flow +2 -2
  201. package/lib/exceptions/FetchException.js.map +1 -1
  202. package/lib/exceptions/NetworkException.js.flow +1 -1
  203. package/lib/exceptions/NetworkException.js.map +1 -1
  204. package/lib/exceptions/UnauthorizedException.js.flow +1 -1
  205. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  206. package/lib/hooks/__tests__/UseModularUIModel.spec.js.flow +9 -9
  207. package/lib/hooks/__tests__/useAuthentication.spec.js.flow +2 -2
  208. package/lib/hooks/__tests__/useForm.spec.js.flow +2 -2
  209. package/lib/hooks/__tests__/useModelCatalog.spec.js.flow +7 -7
  210. package/lib/hooks/__tests__/useModularUIBasic.spec.js.flow +2 -2
  211. package/lib/hooks/__tests__/usePreference.spec.js.flow +1 -1
  212. package/lib/hooks/useAllFormsOnModel.js.flow +2 -2
  213. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  214. package/lib/hooks/useAuthentication.js.flow +2 -2
  215. package/lib/hooks/useAuthentication.js.map +1 -1
  216. package/lib/hooks/useContent.js.flow +1 -1
  217. package/lib/hooks/useContent.js.map +1 -1
  218. package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
  219. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  220. package/lib/hooks/useForm.js.flow +4 -4
  221. package/lib/hooks/useForm.js.map +1 -1
  222. package/lib/hooks/useI18n.js.flow +3 -3
  223. package/lib/hooks/useI18n.js.map +1 -1
  224. package/lib/hooks/useModal.js.flow +2 -2
  225. package/lib/hooks/useModal.js.map +1 -1
  226. package/lib/hooks/useModelCatalog.js.flow +1 -1
  227. package/lib/hooks/useModelCatalog.js.map +1 -1
  228. package/lib/hooks/useModularUI.js.flow +1 -1
  229. package/lib/hooks/useModularUI.js.map +1 -1
  230. package/lib/hooks/useModularUIBasic.js.flow +1 -1
  231. package/lib/hooks/useModularUIBasic.js.map +1 -1
  232. package/lib/hooks/useModularUIModel.js.flow +1 -1
  233. package/lib/hooks/useModularUIModel.js.map +1 -1
  234. package/lib/hooks/useModularUIRequest.js.flow +1 -1
  235. package/lib/hooks/useModularUIRequest.js.map +1 -1
  236. package/lib/hooks/useNotification.js.flow +2 -2
  237. package/lib/hooks/useNotification.js.map +1 -1
  238. package/lib/hooks/usePreference.js +8 -2
  239. package/lib/hooks/usePreference.js.flow +17 -7
  240. package/lib/hooks/usePreference.js.map +1 -1
  241. package/lib/i18n/Locale.js.flow +4 -4
  242. package/lib/i18n/Locale.js.map +1 -1
  243. package/lib/i18n/Locales.js.flow +8 -8
  244. package/lib/i18n/Locales.js.map +1 -1
  245. package/lib/i18n/Message.js.flow +2 -2
  246. package/lib/i18n/Message.js.map +1 -1
  247. package/lib/i18n/__tests__/Locale.spec.js.flow +3 -3
  248. package/lib/i18n/__tests__/Locales.spec.js.flow +15 -13
  249. package/lib/i18n/withMessage.js.flow +4 -4
  250. package/lib/i18n/withMessage.js.map +1 -1
  251. package/lib/models/actions/ActionCollection.js.flow +4 -4
  252. package/lib/models/actions/ActionCollection.js.map +1 -1
  253. package/lib/models/actions/ActionModel.js.flow +4 -4
  254. package/lib/models/actions/ActionModel.js.map +1 -1
  255. package/lib/models/actions/__tests__/ActionCollection.spec.js.flow +3 -3
  256. package/lib/models/actions/__tests__/ActionModel.spec.js.flow +1 -1
  257. package/lib/models/application/ApplicationModel.js.flow +3 -3
  258. package/lib/models/application/ApplicationModel.js.map +1 -1
  259. package/lib/models/attributes/AttributeCollection.js.flow +7 -7
  260. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  261. package/lib/models/attributes/AttributeContent.js.flow +9 -9
  262. package/lib/models/attributes/AttributeContent.js.map +1 -1
  263. package/lib/models/attributes/AttributeDataHelper.js.flow +9 -9
  264. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  265. package/lib/models/attributes/AttributeModel.js.flow +24 -24
  266. package/lib/models/attributes/AttributeModel.js.map +1 -1
  267. package/lib/models/attributes/AttributeSetModel.js.flow +1 -1
  268. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  269. package/lib/models/attributes/BooleanAttributeModel.js.flow +4 -4
  270. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  271. package/lib/models/attributes/ChoiceAttributeModel.js +1 -1
  272. package/lib/models/attributes/ChoiceAttributeModel.js.flow +7 -7
  273. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  274. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +15 -15
  275. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  276. package/lib/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  277. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +19 -11
  278. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  279. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +10 -10
  280. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  281. package/lib/models/attributes/CompositeAttributeModel.js.flow +7 -7
  282. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  283. package/lib/models/attributes/DatetimeAttributeModel.js.flow +6 -6
  284. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  285. package/lib/models/attributes/NumberAttributeModel.js.flow +9 -9
  286. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  287. package/lib/models/attributes/PasswordAttributeModel.js.flow +8 -8
  288. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  289. package/lib/models/attributes/StringAttributeModel.js.flow +3 -3
  290. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  291. package/lib/models/attributes/UploadAttributeModel.js.flow +5 -5
  292. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  293. package/lib/models/attributes/__tests__/AttributeCollection.spec.js.flow +11 -11
  294. package/lib/models/attributes/__tests__/AttributeContent.spec.js.flow +7 -7
  295. package/lib/models/attributes/__tests__/AttributeModel.spec.js.flow +5 -5
  296. package/lib/models/attributes/__tests__/AttributeSetModel.spec.js.flow +2 -2
  297. package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +1 -1
  298. package/lib/models/attributes/__tests__/ChoiceAttributeModel.spec.js.flow +8 -8
  299. package/lib/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js.flow +8 -8
  300. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  301. package/lib/models/attributes/__tests__/DateAttributeModel.spec.js.flow +4 -4
  302. package/lib/models/attributes/__tests__/DatetimeAttributeModel.spec.js.flow +11 -11
  303. package/lib/models/attributes/__tests__/HelptextAttributeModel.spec.js.flow +3 -3
  304. package/lib/models/attributes/__tests__/MemoAttributeModel.spec.js.flow +1 -1
  305. package/lib/models/attributes/__tests__/MoneyAttributeModel.spec.js.flow +1 -1
  306. package/lib/models/attributes/__tests__/NumberAttributeModel.spec.js.flow +1 -1
  307. package/lib/models/attributes/__tests__/PasswordAttributeModel.spec.js.flow +1 -1
  308. package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +4 -4
  309. package/lib/models/attributes/__tests__/TimeAttributeModel.spec.js.flow +2 -2
  310. package/lib/models/attributes/__tests__/TimestampModel.spec.js.flow +2 -2
  311. package/lib/models/attributes/__tests__/UploadAttributeModel.spec.js.flow +4 -4
  312. package/lib/models/attributes/__tests__/_createAttribute.spec.js.flow +6 -6
  313. package/lib/models/attributes/__tests__/createAttributeComposite.spec.js.flow +3 -3
  314. package/lib/models/attributes/__tests__/createAttributeDynamicSchema.spec.js.flow +3 -3
  315. package/lib/models/attributes/_createAttribute.js.flow +5 -5
  316. package/lib/models/attributes/_createAttribute.js.map +1 -1
  317. package/lib/models/attributes/input-constraints/ConstraintCollection.js.flow +5 -5
  318. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  319. package/lib/models/attributes/input-constraints/ConstraintModel.js.flow +1 -1
  320. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  321. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +6 -6
  322. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  323. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.flow +1 -1
  324. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  325. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.flow +6 -6
  326. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  327. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.flow +2 -2
  328. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  329. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.flow +2 -2
  330. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  331. package/lib/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js.flow +1 -1
  332. package/lib/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js.flow +6 -6
  333. package/lib/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js.flow +2 -2
  334. package/lib/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js.flow +2 -2
  335. package/lib/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js.flow +5 -5
  336. package/lib/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js.flow +6 -6
  337. package/lib/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js.flow +3 -3
  338. package/lib/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js.flow +2 -2
  339. package/lib/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js.flow +1 -1
  340. package/lib/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js.flow +4 -4
  341. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +4 -4
  342. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  343. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.flow +15 -15
  344. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  345. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.flow +2 -2
  346. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  347. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.flow +2 -2
  348. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  349. package/lib/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js.flow +22 -22
  350. package/lib/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js.flow +1 -1
  351. package/lib/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js.flow +4 -4
  352. package/lib/models/base/BaseCollection.js.flow +6 -6
  353. package/lib/models/base/BaseCollection.js.map +1 -1
  354. package/lib/models/base/BaseModel.js.flow +1 -1
  355. package/lib/models/base/BaseModel.js.map +1 -1
  356. package/lib/models/base/ResourceModel.js.flow +5 -5
  357. package/lib/models/base/ResourceModel.js.map +1 -1
  358. package/lib/models/base/__tests__/ResourceCollection.spec.js.flow +1 -1
  359. package/lib/models/caseview/CaseViewModel.js.flow +4 -4
  360. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  361. package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +3 -3
  362. package/lib/models/concepts/BusinessScenarioModel.js.flow +9 -9
  363. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  364. package/lib/models/concepts/ConceptDetailModel.js.flow +17 -17
  365. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  366. package/lib/models/concepts/ConceptIndexModel.js.flow +2 -2
  367. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  368. package/lib/models/concepts/ConceptLinkModel.js.flow +6 -4
  369. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  370. package/lib/models/concepts/ConceptRelationCollection.js.flow +5 -5
  371. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  372. package/lib/models/concepts/SourceReferenceCollection.js.flow +2 -2
  373. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  374. package/lib/models/concepts/SourceReferenceModel.js.flow +2 -2
  375. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  376. package/lib/models/concepts/__tests__/ConceptDetailModel.spec.js.flow +1 -1
  377. package/lib/models/content/ContentIndexModel.js.flow +3 -3
  378. package/lib/models/content/ContentIndexModel.js.map +1 -1
  379. package/lib/models/content/ContentLinkModel.js.flow +11 -9
  380. package/lib/models/content/ContentLinkModel.js.map +1 -1
  381. package/lib/models/content/ContentModel.js.flow +2 -2
  382. package/lib/models/content/ContentModel.js.map +1 -1
  383. package/lib/models/content/ContentTOCModel.js.flow +4 -4
  384. package/lib/models/content/ContentTOCModel.js.map +1 -1
  385. package/lib/models/content/SectionModel.js.flow +4 -4
  386. package/lib/models/content/SectionModel.js.map +1 -1
  387. package/lib/models/content/SubSectionModel.js.flow +2 -2
  388. package/lib/models/content/SubSectionModel.js.map +1 -1
  389. package/lib/models/content/__tests__/ContentModel.spec.js.flow +16 -16
  390. package/lib/models/contentconfiguration/ContentConfiguration.js.flow +1 -1
  391. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  392. package/lib/models/contentconfiguration/ContentConfigurationElements.js.flow +5 -5
  393. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  394. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.flow +1 -1
  395. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  396. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.flow +2 -2
  397. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  398. package/lib/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js.flow +12 -12
  399. package/lib/models/detail/DetailModel.js.flow +5 -5
  400. package/lib/models/detail/DetailModel.js.map +1 -1
  401. package/lib/models/error/ErrorCollection.js.flow +4 -4
  402. package/lib/models/error/ErrorCollection.js.map +1 -1
  403. package/lib/models/error/ErrorModel.js.flow +1 -1
  404. package/lib/models/error/ErrorModel.js.map +1 -1
  405. package/lib/models/error/__tests__/ErrorModel.spec.js.flow +1 -1
  406. package/lib/models/filters/AssignmentFilterModel.js.flow +3 -3
  407. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  408. package/lib/models/filters/BaseFilterModel.js.flow +3 -3
  409. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  410. package/lib/models/filters/FilterCollection.js.flow +5 -5
  411. package/lib/models/filters/FilterCollection.js.map +1 -1
  412. package/lib/models/filters/__tests__/AssignmentFilterModel.spec.js.flow +4 -4
  413. package/lib/models/filters/__tests__/FilterCollection.spec.js.flow +11 -11
  414. package/lib/models/filters/__tests__/FilterModel.spec.js.flow +1 -1
  415. package/lib/models/filters/__tests__/RangeFilterModel.spec.js.flow +1 -1
  416. package/lib/models/form/FormModel.js.flow +39 -39
  417. package/lib/models/form/FormModel.js.map +1 -1
  418. package/lib/models/form/FormObjectModel.js.flow +16 -16
  419. package/lib/models/form/FormObjectModel.js.map +1 -1
  420. package/lib/models/form/__tests__/FormModel.instrument.spec.js.flow +7 -7
  421. package/lib/models/form/__tests__/FormModel.repeating.spec.js.flow +2 -2
  422. package/lib/models/form/__tests__/FormModel.selfhref.spec.js.flow +1 -1
  423. package/lib/models/form/__tests__/FormModel.spec.js.flow +6 -6
  424. package/lib/models/form/__tests__/FormResultData.spec.js.flow +1 -1
  425. package/lib/models/form/__tests__/FormWithContent.spec.js.flow +3 -3
  426. package/lib/models/grouping/GroupingModel.js.flow +7 -7
  427. package/lib/models/grouping/GroupingModel.js.map +1 -1
  428. package/lib/models/grouping/__tests__/GroupingModel.spec.js.flow +2 -2
  429. package/lib/models/href/Href.js.flow +6 -6
  430. package/lib/models/href/Href.js.map +1 -1
  431. package/lib/models/href/__tests__/Href.spec.js.flow +18 -16
  432. package/lib/models/layouthint/LayoutHintCollection.js.flow +3 -3
  433. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  434. package/lib/models/links/LinkCollection.js.flow +4 -4
  435. package/lib/models/links/LinkCollection.js.map +1 -1
  436. package/lib/models/links/LinkModel.js.flow +3 -3
  437. package/lib/models/links/LinkModel.js.map +1 -1
  438. package/lib/models/links/__tests__/LinkModel.spec.js.flow +4 -4
  439. package/lib/models/links/normalizeLinkJSON.js.flow +6 -6
  440. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  441. package/lib/models/list/ListDetailModel.js.flow +7 -7
  442. package/lib/models/list/ListDetailModel.js.map +1 -1
  443. package/lib/models/list/ListItemCollection.js.flow +2 -2
  444. package/lib/models/list/ListItemCollection.js.map +1 -1
  445. package/lib/models/list/ListItemModel.js.flow +2 -2
  446. package/lib/models/list/ListItemModel.js.map +1 -1
  447. package/lib/models/list/ListModel.js.flow +6 -6
  448. package/lib/models/list/ListModel.js.map +1 -1
  449. package/lib/models/list/__tests__/ListDetailModel.spec.js.flow +4 -4
  450. package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +1 -1
  451. package/lib/models/list/__tests__/ListModel.spec.js.flow +3 -3
  452. package/lib/models/list/__tests__/ListResultDetail.spec.js.flow +3 -3
  453. package/lib/models/lookup/LookupOptionCollection.js.flow +1 -1
  454. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  455. package/lib/models/lookup/LookupOptionsModel.js.flow +4 -4
  456. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  457. package/lib/models/lookup/__tests__/LookupOptionsModel.spec.js.flow +3 -3
  458. package/lib/models/modelcatalog/ModelCatalogModel.js.flow +2 -2
  459. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  460. package/lib/models/paging/PagingModel.js.flow +1 -1
  461. package/lib/models/paging/PagingModel.js.map +1 -1
  462. package/lib/models/paging/__tests__/PagingModel.spec.js.flow +2 -2
  463. package/lib/models/panels/GroupingPanelModel.js.flow +5 -5
  464. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  465. package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +8 -8
  466. package/lib/models/parameter/__tests__/Parameter.spec.js.flow +5 -5
  467. package/lib/models/process/ProcessStatusSettingsModel.js.flow +1 -1
  468. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  469. package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +1 -1
  470. package/lib/models/resolveModel.js.flow +4 -4
  471. package/lib/models/resolveModel.js.map +1 -1
  472. package/lib/models/sorting/SortingModel.js.flow +4 -4
  473. package/lib/models/sorting/SortingModel.js.map +1 -1
  474. package/lib/models/sorting/__tests__/SortingModel.spec.js.flow +3 -3
  475. package/lib/models/tab/TabModel.js.flow +3 -3
  476. package/lib/models/tab/TabModel.js.map +1 -1
  477. package/lib/models/tab/__tests__/TabModel.spec.js.flow +5 -5
  478. package/lib/models/taskgroup/TaskGroupModel.js.flow +2 -2
  479. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  480. package/lib/models/types.js.flow +1 -1
  481. package/lib/models/types.js.map +1 -1
  482. package/lib/models/user/UserProfileModel.js.flow +1 -1
  483. package/lib/models/user/UserProfileModel.js.map +1 -1
  484. package/lib/models/user/__tests__/UserModel.spec.js.flow +2 -2
  485. package/lib/models/user/__tests__/UserProfileModel.spec.js.flow +2 -2
  486. package/lib/models/user/__tests__/UserServicesModel.spec.js.flow +1 -1
  487. package/lib/modularui/CaptchaRequest.js.flow +1 -1
  488. package/lib/modularui/CaptchaRequest.js.map +1 -1
  489. package/lib/modularui/ModularUIRequest.js.flow +26 -26
  490. package/lib/modularui/ModularUIRequest.js.map +1 -1
  491. package/lib/modularui/UploadRequest.js.flow +6 -6
  492. package/lib/modularui/UploadRequest.js.map +1 -1
  493. package/lib/modularui/__tests__/ModularUIError.spec.js.flow +1 -1
  494. package/lib/modularui/__tests__/ModularUIRequest.spec.js.flow +9 -9
  495. package/lib/react/utils.js.flow +1 -1
  496. package/lib/react/utils.js.map +1 -1
  497. package/lib/react-client/client.js +1 -0
  498. package/lib/react-client/client.js.flow +11 -10
  499. package/lib/react-client/client.js.map +1 -1
  500. package/lib/react-client/contextPath.js.flow +2 -2
  501. package/lib/react-client/contextPath.js.map +1 -1
  502. package/lib/react-client/rehydrate.js.flow +1 -1
  503. package/lib/react-client/rehydrate.js.map +1 -1
  504. package/lib/react-server/__tests__/serverUtil.spec.js.flow +2 -2
  505. package/lib/react-server/createSSRComplete.js.flow +3 -3
  506. package/lib/react-server/createSSRComplete.js.map +1 -1
  507. package/lib/react-server/renderSSRComplete.js.flow +4 -4
  508. package/lib/react-server/renderSSRComplete.js.map +1 -1
  509. package/lib/react-server/renderSSRMinimal.js.flow +1 -1
  510. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  511. package/lib/react-server/requestInformation.js.flow +2 -2
  512. package/lib/react-server/requestInformation.js.map +1 -1
  513. package/lib/react-server/serverUtil.js.flow +8 -8
  514. package/lib/react-server/serverUtil.js.map +1 -1
  515. package/lib/react-theme/__tests__/createTheme.spec.js.flow +4 -4
  516. package/lib/react-theme/createTheme.js.flow +1 -1
  517. package/lib/react-theme/createTheme.js.map +1 -1
  518. package/lib/react-theme/utils/__tests__/background.spec.js.flow +2 -2
  519. package/lib/react-theme/utils/__tests__/contrast.spec.js.flow +1 -1
  520. package/lib/react-theme/utils/__tests__/corners.spec.js.flow +3 -3
  521. package/lib/react-theme/utils/__tests__/spacers.spec.js.flow +1 -1
  522. package/lib/react-theme/utils/__tests__/themeProps.spec.js.flow +9 -9
  523. package/lib/react-theme/utils/colors.js.flow +3 -3
  524. package/lib/react-theme/utils/colors.js.map +1 -1
  525. package/lib/react-theme/utils/contrast.js.flow +6 -6
  526. package/lib/react-theme/utils/contrast.js.map +1 -1
  527. package/lib/react-theme/utils/corners.js.flow +2 -2
  528. package/lib/react-theme/utils/corners.js.map +1 -1
  529. package/lib/react-theme/utils/spacers.js.flow +2 -2
  530. package/lib/react-theme/utils/spacers.js.map +1 -1
  531. package/lib/react-theme/utils/themeProps.js.flow +8 -8
  532. package/lib/react-theme/utils/themeProps.js.map +1 -1
  533. package/lib/redux/_i18n/I18nActions.js.flow +1 -1
  534. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  535. package/lib/redux/_i18n/I18nReducer.js.flow +2 -2
  536. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  537. package/lib/redux/_i18n/__tests__/reducer.spec.js.flow +2 -2
  538. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -8
  539. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  540. package/lib/redux/_modularui/ModularUIConnector.js.flow +4 -4
  541. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  542. package/lib/redux/_modularui/ModularUIMiddleware.js.flow +6 -6
  543. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  544. package/lib/redux/_modularui/ModularUIReducer.js.flow +5 -5
  545. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  546. package/lib/redux/_modularui/ModularUISelectors.js.flow +11 -11
  547. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  548. package/lib/redux/_modularui/ModularUIUtils.js.flow +1 -1
  549. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  550. package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -1
  551. package/lib/redux/_modularui/__tests__/reducer.spec.js.flow +13 -13
  552. package/lib/redux/_modularui/__tests__/selectors.spec.js.flow +3 -3
  553. package/lib/redux/_modularui/types.js.flow +4 -4
  554. package/lib/redux/_modularui/types.js.map +1 -1
  555. package/lib/redux/_modularui/withModularUI.js.flow +3 -3
  556. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  557. package/lib/redux/_router/RouterActions.js.flow +3 -3
  558. package/lib/redux/_router/RouterActions.js.map +1 -1
  559. package/lib/redux/_router/RouterConnectors.js.flow +5 -5
  560. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  561. package/lib/redux/_router/RouterReducer.js.flow +1 -1
  562. package/lib/redux/_router/RouterReducer.js.map +1 -1
  563. package/lib/redux/_router/__tests__/reducer.spec.js.flow +2 -2
  564. package/lib/redux/actions/Application.js.flow +1 -1
  565. package/lib/redux/actions/Application.js.map +1 -1
  566. package/lib/redux/actions/Authorization.js.flow +1 -1
  567. package/lib/redux/actions/Authorization.js.map +1 -1
  568. package/lib/redux/actions/Error.js.flow +3 -3
  569. package/lib/redux/actions/Error.js.map +1 -1
  570. package/lib/redux/actions/FormAttributeSet.js.flow +2 -2
  571. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  572. package/lib/redux/actions/FormAttributeSetRepeatable.js.flow +3 -3
  573. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  574. package/lib/redux/actions/FormAutosave.js.flow +1 -1
  575. package/lib/redux/actions/FormAutosave.js.map +1 -1
  576. package/lib/redux/actions/FormAutosubmit.js.flow +1 -1
  577. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  578. package/lib/redux/actions/FormValidations.js.flow +3 -3
  579. package/lib/redux/actions/FormValidations.js.map +1 -1
  580. package/lib/redux/actions/Notification.js.flow +4 -4
  581. package/lib/redux/actions/Notification.js.map +1 -1
  582. package/lib/redux/actions/Preferences.js.flow +11 -11
  583. package/lib/redux/actions/Preferences.js.map +1 -1
  584. package/lib/redux/actions/ProgressIndicator.js.flow +1 -1
  585. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  586. package/lib/redux/actions/SignIn.js.flow +3 -3
  587. package/lib/redux/actions/SignIn.js.map +1 -1
  588. package/lib/redux/actions/__tests__/Authorization.spec.js.flow +2 -2
  589. package/lib/redux/actions/__tests__/Error-server.spec.js.flow +13 -13
  590. package/lib/redux/actions/__tests__/Error.spec.js.flow +6 -6
  591. package/lib/redux/actions/__tests__/Notification.spec.js.flow +1 -1
  592. package/lib/redux/actions/__tests__/Preferences.spec.js.flow +2 -2
  593. package/lib/redux/connectors/Application.js.flow +1 -1
  594. package/lib/redux/connectors/Application.js.map +1 -1
  595. package/lib/redux/connectors/Breadcrumb.js.flow +1 -1
  596. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  597. package/lib/redux/connectors/CaseView.js.flow +1 -1
  598. package/lib/redux/connectors/CaseView.js.map +1 -1
  599. package/lib/redux/connectors/ConceptDetail.js.flow +1 -1
  600. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  601. package/lib/redux/connectors/ContentBrowser.js.flow +1 -1
  602. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  603. package/lib/redux/connectors/ContentDetail.js.flow +1 -1
  604. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  605. package/lib/redux/connectors/ContentDetailSection.js.flow +2 -2
  606. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  607. package/lib/redux/connectors/Form.js.flow +5 -5
  608. package/lib/redux/connectors/Form.js.map +1 -1
  609. package/lib/redux/connectors/FormAttributeSet.js.flow +6 -6
  610. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  611. package/lib/redux/connectors/ListDetail.js.flow +1 -1
  612. package/lib/redux/connectors/ListDetail.js.map +1 -1
  613. package/lib/redux/connectors/Modal.js.flow +1 -1
  614. package/lib/redux/connectors/Modal.js.map +1 -1
  615. package/lib/redux/connectors/ModelCatalog.js.flow +1 -1
  616. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  617. package/lib/redux/connectors/Notification.js.flow +1 -1
  618. package/lib/redux/connectors/Notification.js.map +1 -1
  619. package/lib/redux/connectors/PanelRenderer.js.flow +2 -2
  620. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  621. package/lib/redux/connectors/Preferences.js.flow +3 -3
  622. package/lib/redux/connectors/Preferences.js.map +1 -1
  623. package/lib/redux/connectors/Progress.js.flow +1 -1
  624. package/lib/redux/connectors/Progress.js.map +1 -1
  625. package/lib/redux/connectors/ProgressIndicator.js.flow +1 -1
  626. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  627. package/lib/redux/connectors/QuickSearch.js.flow +2 -2
  628. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  629. package/lib/redux/connectors/SignIn.js.flow +1 -1
  630. package/lib/redux/connectors/SignIn.js.map +1 -1
  631. package/lib/redux/connectors/SignOut.js.flow +1 -1
  632. package/lib/redux/connectors/SignOut.js.map +1 -1
  633. package/lib/redux/connectors/Tab.js.flow +1 -1
  634. package/lib/redux/connectors/Tab.js.map +1 -1
  635. package/lib/redux/reducers/AuthReducer.js.flow +1 -1
  636. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  637. package/lib/redux/reducers/ErrorReducer.js.flow +1 -1
  638. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  639. package/lib/redux/reducers/ModalsReducer.js.flow +1 -1
  640. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  641. package/lib/redux/reducers/NotificationReducer.js.flow +1 -1
  642. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  643. package/lib/redux/reducers/PreferencesReducer.js.flow +1 -1
  644. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  645. package/lib/redux/reducers/ProgressIndicatorReducer.js.flow +1 -1
  646. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  647. package/lib/redux/reducers/__tests__/AuthReducer.spec.js.flow +10 -10
  648. package/lib/redux/reducers/__tests__/ErrorReducer.spec.js.flow +1 -1
  649. package/lib/redux/reducers/__tests__/ModalsReducer.spec.js.flow +3 -3
  650. package/lib/redux/reducers/__tests__/NotificationReducer.spec.js.flow +3 -3
  651. package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +2 -2
  652. package/lib/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js.flow +8 -8
  653. package/lib/redux/store/beforeRenderHooks.js.flow +1 -1
  654. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  655. package/lib/redux/store/configureStore.js.flow +3 -3
  656. package/lib/redux/store/configureStore.js.map +1 -1
  657. package/lib/utils/browser/Cookies.js.flow +1 -1
  658. package/lib/utils/browser/Cookies.js.map +1 -1
  659. package/lib/utils/browser/__tests__/Cookies.spec.js.flow +1 -1
  660. package/lib/utils/datetime/DateTimeUtil.js.flow +15 -15
  661. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  662. package/lib/utils/datetime/__tests__/DateTime.spec.js.flow +84 -81
  663. package/lib/utils/fetch/__tests__/xhr.spec.js.flow +2 -2
  664. package/lib/utils/fetch/universalFetch.js.flow +1 -1
  665. package/lib/utils/fetch/universalFetch.js.map +1 -1
  666. package/lib/utils/fetch/xhr.js.flow +6 -6
  667. package/lib/utils/fetch/xhr.js.map +1 -1
  668. package/lib/utils/helpers/__tests__/sanitizeHTML.spec.js.flow +8 -8
  669. package/lib/utils/helpers/sanitizeHtml.js.flow +3 -3
  670. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  671. package/lib/utils/helpers/text.js.flow +1 -1
  672. package/lib/utils/helpers/text.js.map +1 -1
  673. package/lib/utils/number/DecimalFormat.js.flow +2 -2
  674. package/lib/utils/number/DecimalFormat.js.map +1 -1
  675. package/lib/utils/number/__tests__/formatValue.spec.js.flow +1 -1
  676. package/lib/utils/number/formatValue.js.flow +2 -2
  677. package/lib/utils/number/formatValue.js.map +1 -1
  678. package/lib/utils/number/parseNumbers.js.flow +7 -7
  679. package/lib/utils/number/parseNumbers.js.map +1 -1
  680. package/package.json +20 -20
  681. package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +4 -4
  682. package/src/builder/mergeLayoutHintConfigurations.js +3 -3
  683. package/src/constants/LayoutHints.js +1 -1
  684. package/src/constants/Settings.js +2 -2
  685. package/src/exceptions/FetchException.js +2 -2
  686. package/src/exceptions/NetworkException.js +1 -1
  687. package/src/exceptions/UnauthorizedException.js +1 -1
  688. package/src/hooks/__tests__/UseModularUIModel.spec.js +9 -9
  689. package/src/hooks/__tests__/useAuthentication.spec.js +2 -2
  690. package/src/hooks/__tests__/useForm.spec.js +2 -2
  691. package/src/hooks/__tests__/useModelCatalog.spec.js +7 -7
  692. package/src/hooks/__tests__/useModularUIBasic.spec.js +2 -2
  693. package/src/hooks/__tests__/usePreference.spec.js +1 -1
  694. package/src/hooks/useAllFormsOnModel.js +2 -2
  695. package/src/hooks/useAuthentication.js +2 -2
  696. package/src/hooks/useContent.js +1 -1
  697. package/src/hooks/useDeepCompareEffect.js +1 -1
  698. package/src/hooks/useForm.js +4 -4
  699. package/src/hooks/useI18n.js +3 -3
  700. package/src/hooks/useModal.js +2 -2
  701. package/src/hooks/useModelCatalog.js +1 -1
  702. package/src/hooks/useModularUI.js +1 -1
  703. package/src/hooks/useModularUIBasic.js +1 -1
  704. package/src/hooks/useModularUIModel.js +1 -1
  705. package/src/hooks/useModularUIRequest.js +1 -1
  706. package/src/hooks/useNotification.js +2 -2
  707. package/src/hooks/usePreference.js +17 -7
  708. package/src/i18n/Locale.js +4 -4
  709. package/src/i18n/Locales.js +8 -8
  710. package/src/i18n/Message.js +2 -2
  711. package/src/i18n/__tests__/Locale.spec.js +3 -3
  712. package/src/i18n/__tests__/Locales.spec.js +15 -13
  713. package/src/i18n/withMessage.js +4 -4
  714. package/src/models/actions/ActionCollection.js +4 -4
  715. package/src/models/actions/ActionModel.js +4 -4
  716. package/src/models/actions/__tests__/ActionCollection.spec.js +3 -3
  717. package/src/models/actions/__tests__/ActionModel.spec.js +1 -1
  718. package/src/models/application/ApplicationModel.js +3 -3
  719. package/src/models/attributes/AttributeCollection.js +7 -7
  720. package/src/models/attributes/AttributeContent.js +9 -9
  721. package/src/models/attributes/AttributeDataHelper.js +9 -9
  722. package/src/models/attributes/AttributeModel.js +24 -24
  723. package/src/models/attributes/AttributeSetModel.js +1 -1
  724. package/src/models/attributes/BooleanAttributeModel.js +4 -4
  725. package/src/models/attributes/ChoiceAttributeModel.js +7 -7
  726. package/src/models/attributes/ChoiceAttributeOptionCollection.js +15 -15
  727. package/src/models/attributes/ChoiceAttributeOptionModel.js +19 -11
  728. package/src/models/attributes/CompositeAttributeChildCollection.js +10 -10
  729. package/src/models/attributes/CompositeAttributeModel.js +7 -7
  730. package/src/models/attributes/DatetimeAttributeModel.js +6 -6
  731. package/src/models/attributes/NumberAttributeModel.js +9 -9
  732. package/src/models/attributes/PasswordAttributeModel.js +8 -8
  733. package/src/models/attributes/StringAttributeModel.js +3 -3
  734. package/src/models/attributes/UploadAttributeModel.js +5 -5
  735. package/src/models/attributes/__tests__/AttributeCollection.spec.js +11 -11
  736. package/src/models/attributes/__tests__/AttributeContent.spec.js +7 -7
  737. package/src/models/attributes/__tests__/AttributeModel.spec.js +5 -5
  738. package/src/models/attributes/__tests__/AttributeSetModel.spec.js +2 -2
  739. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +1 -1
  740. package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +8 -8
  741. package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +8 -8
  742. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  743. package/src/models/attributes/__tests__/DateAttributeModel.spec.js +4 -4
  744. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +11 -11
  745. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +3 -3
  746. package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +1 -1
  747. package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +1 -1
  748. package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +1 -1
  749. package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +1 -1
  750. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +4 -4
  751. package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +2 -2
  752. package/src/models/attributes/__tests__/TimestampModel.spec.js +2 -2
  753. package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +4 -4
  754. package/src/models/attributes/__tests__/_createAttribute.spec.js +6 -6
  755. package/src/models/attributes/__tests__/createAttributeComposite.spec.js +3 -3
  756. package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +3 -3
  757. package/src/models/attributes/_createAttribute.js +5 -5
  758. package/src/models/attributes/input-constraints/ConstraintCollection.js +5 -5
  759. package/src/models/attributes/input-constraints/ConstraintModel.js +1 -1
  760. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +6 -6
  761. package/src/models/attributes/input-constraints/MandatoryConstraint.js +1 -1
  762. package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +6 -6
  763. package/src/models/attributes/input-constraints/NumberFormatConstraint.js +2 -2
  764. package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +2 -2
  765. package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +1 -1
  766. package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +6 -6
  767. package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +2 -2
  768. package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +2 -2
  769. package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +5 -5
  770. package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +6 -6
  771. package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +3 -3
  772. package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +2 -2
  773. package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +1 -1
  774. package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +4 -4
  775. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +4 -4
  776. package/src/models/attributes/layouthint-rules/DependentAttribute.js +15 -15
  777. package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +2 -2
  778. package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +2 -2
  779. package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +22 -22
  780. package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +1 -1
  781. package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +4 -4
  782. package/src/models/base/BaseCollection.js +6 -6
  783. package/src/models/base/BaseModel.js +1 -1
  784. package/src/models/base/ResourceModel.js +5 -5
  785. package/src/models/base/__tests__/ResourceCollection.spec.js +1 -1
  786. package/src/models/caseview/CaseViewModel.js +4 -4
  787. package/src/models/caseview/__tests__/CaseViewModel.spec.js +3 -3
  788. package/src/models/concepts/BusinessScenarioModel.js +9 -9
  789. package/src/models/concepts/ConceptDetailModel.js +17 -17
  790. package/src/models/concepts/ConceptIndexModel.js +2 -2
  791. package/src/models/concepts/ConceptLinkModel.js +6 -4
  792. package/src/models/concepts/ConceptRelationCollection.js +5 -5
  793. package/src/models/concepts/SourceReferenceCollection.js +2 -2
  794. package/src/models/concepts/SourceReferenceModel.js +2 -2
  795. package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +1 -1
  796. package/src/models/content/ContentIndexModel.js +3 -3
  797. package/src/models/content/ContentLinkModel.js +11 -9
  798. package/src/models/content/ContentModel.js +2 -2
  799. package/src/models/content/ContentTOCModel.js +4 -4
  800. package/src/models/content/SectionModel.js +4 -4
  801. package/src/models/content/SubSectionModel.js +2 -2
  802. package/src/models/content/__tests__/ContentModel.spec.js +16 -16
  803. package/src/models/contentconfiguration/ContentConfiguration.js +1 -1
  804. package/src/models/contentconfiguration/ContentConfigurationElements.js +5 -5
  805. package/src/models/contentconfiguration/ContentConfigurationEndResults.js +1 -1
  806. package/src/models/contentconfiguration/ContentConfigurationQuestions.js +2 -2
  807. package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +12 -12
  808. package/src/models/detail/DetailModel.js +5 -5
  809. package/src/models/error/ErrorCollection.js +4 -4
  810. package/src/models/error/ErrorModel.js +1 -1
  811. package/src/models/error/__tests__/ErrorModel.spec.js +1 -1
  812. package/src/models/filters/AssignmentFilterModel.js +3 -3
  813. package/src/models/filters/BaseFilterModel.js +3 -3
  814. package/src/models/filters/FilterCollection.js +5 -5
  815. package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +4 -4
  816. package/src/models/filters/__tests__/FilterCollection.spec.js +11 -11
  817. package/src/models/filters/__tests__/FilterModel.spec.js +1 -1
  818. package/src/models/filters/__tests__/RangeFilterModel.spec.js +1 -1
  819. package/src/models/form/FormModel.js +39 -39
  820. package/src/models/form/FormObjectModel.js +16 -16
  821. package/src/models/form/__tests__/FormModel.instrument.spec.js +7 -7
  822. package/src/models/form/__tests__/FormModel.repeating.spec.js +2 -2
  823. package/src/models/form/__tests__/FormModel.selfhref.spec.js +1 -1
  824. package/src/models/form/__tests__/FormModel.spec.js +6 -6
  825. package/src/models/form/__tests__/FormResultData.spec.js +1 -1
  826. package/src/models/form/__tests__/FormWithContent.spec.js +3 -3
  827. package/src/models/grouping/GroupingModel.js +7 -7
  828. package/src/models/grouping/__tests__/GroupingModel.spec.js +2 -2
  829. package/src/models/href/Href.js +6 -6
  830. package/src/models/href/__tests__/Href.spec.js +18 -16
  831. package/src/models/layouthint/LayoutHintCollection.js +3 -3
  832. package/src/models/links/LinkCollection.js +4 -4
  833. package/src/models/links/LinkModel.js +3 -3
  834. package/src/models/links/__tests__/LinkModel.spec.js +4 -4
  835. package/src/models/links/normalizeLinkJSON.js +6 -6
  836. package/src/models/list/ListDetailModel.js +7 -7
  837. package/src/models/list/ListItemCollection.js +2 -2
  838. package/src/models/list/ListItemModel.js +2 -2
  839. package/src/models/list/ListModel.js +6 -6
  840. package/src/models/list/__tests__/ListDetailModel.spec.js +4 -4
  841. package/src/models/list/__tests__/ListItemCollection.spec.js +1 -1
  842. package/src/models/list/__tests__/ListModel.spec.js +3 -3
  843. package/src/models/list/__tests__/ListResultDetail.spec.js +3 -3
  844. package/src/models/lookup/LookupOptionCollection.js +1 -1
  845. package/src/models/lookup/LookupOptionsModel.js +4 -4
  846. package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +3 -3
  847. package/src/models/modelcatalog/ModelCatalogModel.js +2 -2
  848. package/src/models/paging/PagingModel.js +1 -1
  849. package/src/models/paging/__tests__/PagingModel.spec.js +2 -2
  850. package/src/models/panels/GroupingPanelModel.js +5 -5
  851. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +8 -8
  852. package/src/models/parameter/__tests__/Parameter.spec.js +5 -5
  853. package/src/models/process/ProcessStatusSettingsModel.js +1 -1
  854. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +1 -1
  855. package/src/models/resolveModel.js +4 -4
  856. package/src/models/sorting/SortingModel.js +4 -4
  857. package/src/models/sorting/__tests__/SortingModel.spec.js +3 -3
  858. package/src/models/tab/TabModel.js +3 -3
  859. package/src/models/tab/__tests__/TabModel.spec.js +5 -5
  860. package/src/models/taskgroup/TaskGroupModel.js +2 -2
  861. package/src/models/types.js +1 -1
  862. package/src/models/user/UserProfileModel.js +1 -1
  863. package/src/models/user/__tests__/UserModel.spec.js +2 -2
  864. package/src/models/user/__tests__/UserProfileModel.spec.js +2 -2
  865. package/src/models/user/__tests__/UserServicesModel.spec.js +1 -1
  866. package/src/modularui/CaptchaRequest.js +1 -1
  867. package/src/modularui/ModularUIRequest.js +26 -26
  868. package/src/modularui/UploadRequest.js +6 -6
  869. package/src/modularui/__tests__/ModularUIError.spec.js +1 -1
  870. package/src/modularui/__tests__/ModularUIRequest.spec.js +9 -9
  871. package/src/react/utils.js +1 -1
  872. package/src/react-client/client.js +11 -10
  873. package/src/react-client/contextPath.js +2 -2
  874. package/src/react-client/rehydrate.js +1 -1
  875. package/src/react-server/__tests__/serverUtil.spec.js +2 -2
  876. package/src/react-server/createSSRComplete.js +3 -3
  877. package/src/react-server/renderSSRComplete.js +4 -4
  878. package/src/react-server/renderSSRMinimal.js +1 -1
  879. package/src/react-server/requestInformation.js +2 -2
  880. package/src/react-server/serverUtil.js +8 -8
  881. package/src/react-theme/__tests__/createTheme.spec.js +4 -4
  882. package/src/react-theme/createTheme.js +1 -1
  883. package/src/react-theme/utils/__tests__/background.spec.js +2 -2
  884. package/src/react-theme/utils/__tests__/contrast.spec.js +1 -1
  885. package/src/react-theme/utils/__tests__/corners.spec.js +3 -3
  886. package/src/react-theme/utils/__tests__/spacers.spec.js +1 -1
  887. package/src/react-theme/utils/__tests__/themeProps.spec.js +9 -9
  888. package/src/react-theme/utils/colors.js +3 -3
  889. package/src/react-theme/utils/contrast.js +6 -6
  890. package/src/react-theme/utils/corners.js +2 -2
  891. package/src/react-theme/utils/spacers.js +2 -2
  892. package/src/react-theme/utils/themeProps.js +8 -8
  893. package/src/redux/_i18n/I18nActions.js +1 -1
  894. package/src/redux/_i18n/I18nReducer.js +2 -2
  895. package/src/redux/_i18n/__tests__/reducer.spec.js +2 -2
  896. package/src/redux/_modularui/ModularUIActions.js +8 -8
  897. package/src/redux/_modularui/ModularUIConnector.js +4 -4
  898. package/src/redux/_modularui/ModularUIMiddleware.js +6 -6
  899. package/src/redux/_modularui/ModularUIReducer.js +5 -5
  900. package/src/redux/_modularui/ModularUISelectors.js +11 -11
  901. package/src/redux/_modularui/ModularUIUtils.js +1 -1
  902. package/src/redux/_modularui/__tests__/actions.spec.js +1 -1
  903. package/src/redux/_modularui/__tests__/reducer.spec.js +13 -13
  904. package/src/redux/_modularui/__tests__/selectors.spec.js +3 -3
  905. package/src/redux/_modularui/types.js +4 -4
  906. package/src/redux/_modularui/withModularUI.js +3 -3
  907. package/src/redux/_router/RouterActions.js +3 -3
  908. package/src/redux/_router/RouterConnectors.js +5 -5
  909. package/src/redux/_router/RouterReducer.js +1 -1
  910. package/src/redux/_router/__tests__/reducer.spec.js +2 -2
  911. package/src/redux/actions/Application.js +1 -1
  912. package/src/redux/actions/Authorization.js +1 -1
  913. package/src/redux/actions/Error.js +3 -3
  914. package/src/redux/actions/FormAttributeSet.js +2 -2
  915. package/src/redux/actions/FormAttributeSetRepeatable.js +3 -3
  916. package/src/redux/actions/FormAutosave.js +1 -1
  917. package/src/redux/actions/FormAutosubmit.js +1 -1
  918. package/src/redux/actions/FormValidations.js +3 -3
  919. package/src/redux/actions/Notification.js +4 -4
  920. package/src/redux/actions/Preferences.js +11 -11
  921. package/src/redux/actions/ProgressIndicator.js +1 -1
  922. package/src/redux/actions/SignIn.js +3 -3
  923. package/src/redux/actions/__tests__/Authorization.spec.js +2 -2
  924. package/src/redux/actions/__tests__/Error-server.spec.js +13 -13
  925. package/src/redux/actions/__tests__/Error.spec.js +6 -6
  926. package/src/redux/actions/__tests__/Notification.spec.js +1 -1
  927. package/src/redux/actions/__tests__/Preferences.spec.js +2 -2
  928. package/src/redux/connectors/Application.js +1 -1
  929. package/src/redux/connectors/Breadcrumb.js +1 -1
  930. package/src/redux/connectors/CaseView.js +1 -1
  931. package/src/redux/connectors/ConceptDetail.js +1 -1
  932. package/src/redux/connectors/ContentBrowser.js +1 -1
  933. package/src/redux/connectors/ContentDetail.js +1 -1
  934. package/src/redux/connectors/ContentDetailSection.js +2 -2
  935. package/src/redux/connectors/Form.js +5 -5
  936. package/src/redux/connectors/FormAttributeSet.js +6 -6
  937. package/src/redux/connectors/ListDetail.js +1 -1
  938. package/src/redux/connectors/Modal.js +1 -1
  939. package/src/redux/connectors/ModelCatalog.js +1 -1
  940. package/src/redux/connectors/Notification.js +1 -1
  941. package/src/redux/connectors/PanelRenderer.js +2 -2
  942. package/src/redux/connectors/Preferences.js +3 -3
  943. package/src/redux/connectors/Progress.js +1 -1
  944. package/src/redux/connectors/ProgressIndicator.js +1 -1
  945. package/src/redux/connectors/QuickSearch.js +2 -2
  946. package/src/redux/connectors/SignIn.js +1 -1
  947. package/src/redux/connectors/SignOut.js +1 -1
  948. package/src/redux/connectors/Tab.js +1 -1
  949. package/src/redux/reducers/AuthReducer.js +1 -1
  950. package/src/redux/reducers/ErrorReducer.js +1 -1
  951. package/src/redux/reducers/ModalsReducer.js +1 -1
  952. package/src/redux/reducers/NotificationReducer.js +1 -1
  953. package/src/redux/reducers/PreferencesReducer.js +1 -1
  954. package/src/redux/reducers/ProgressIndicatorReducer.js +1 -1
  955. package/src/redux/reducers/__tests__/AuthReducer.spec.js +10 -10
  956. package/src/redux/reducers/__tests__/ErrorReducer.spec.js +1 -1
  957. package/src/redux/reducers/__tests__/ModalsReducer.spec.js +3 -3
  958. package/src/redux/reducers/__tests__/NotificationReducer.spec.js +3 -3
  959. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +2 -2
  960. package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +8 -8
  961. package/src/redux/store/beforeRenderHooks.js +1 -1
  962. package/src/redux/store/configureStore.js +3 -3
  963. package/src/utils/browser/Cookies.js +1 -1
  964. package/src/utils/browser/__tests__/Cookies.spec.js +1 -1
  965. package/src/utils/datetime/DateTimeUtil.js +15 -15
  966. package/src/utils/datetime/__tests__/DateTime.spec.js +84 -81
  967. package/src/utils/fetch/__tests__/xhr.spec.js +2 -2
  968. package/src/utils/fetch/universalFetch.js +1 -1
  969. package/src/utils/fetch/xhr.js +6 -6
  970. package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +8 -8
  971. package/src/utils/helpers/sanitizeHtml.js +3 -3
  972. package/src/utils/helpers/text.js +1 -1
  973. package/src/utils/number/DecimalFormat.js +2 -2
  974. package/src/utils/number/__tests__/formatValue.spec.js +1 -1
  975. package/src/utils/number/formatValue.js +2 -2
  976. package/src/utils/number/parseNumbers.js +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["hydrate","render","has","setImmediate","Cache","createBrowserHistory","configureStore","rehydrate","getBasePath","setAllContentInDataSetting","setLoginPreferences","showXHRErrorNotification","handleError","loginSuccess","locationChange","JsonParseException","FetchException","Init","handleBeforeRenderHooks","jsx","_jsx","parseDataToJSON","data","JSON","parse","error","getDataFromServer","_context","dataElement","document","querySelector","Error","_trimInstanceProperty","textContent","call","setUnhandledRejectionEvent","store","window","onunhandledrejection","event","detail","errorMessage","reason","message","toString","dispatch","setupClient","customReducers","arguments","length","undefined","beforeRenderHooks","contextPath","clear","browserHistory","basename","routerHistory","getState","loadOtherBrowserTabs","getItem","response","listen","location","action","body","className","addContentLoadedEvent","theme","ErrorFallbackComponent","mount","addEventListener","applicationNode","children","mountClient","element","isSSR","client","_ref"],"sources":["../../src/react-client/client.js"],"sourcesContent":["// @flow\nimport { hydrate, render } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport { getBasePath } from \"../constants/Settings\";\n\nimport {\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange } from \"../redux/_router/RouterActions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport { Init } from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type {\n ComponentType,\n Element as ReactElement,\n ElementType,\n} from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers, ReduxStore } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\ntype RenderFunction = () => ReactElement<ElementType>;\ntype MountFunction = (\n applicationNode: Element,\n element: ReactElement<ElementType>\n) => void;\ntype Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n mount: MountFunction,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\nconst parseDataToJSON = (data: string) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\nconst getDataFromServer = () => {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]'\n );\n\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return {};\n }\n\n return parseDataToJSON(dataElement.textContent);\n};\n\n/**\n */\nexport const setUnhandledRejectionEvent = (store: ReduxStore) => {\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n};\n\n/**\n */\nexport const setupClient = (\n customReducers: CustomReducers = {},\n beforeRenderHooks: ?Array<BeforeRenderHook>\n): { store: ReduxStore, routerHistory: RouterHistory } => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const data = getDataFromServer();\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: getBasePath(),\n });\n const { routerHistory, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data)\n );\n\n setAllContentInDataSetting(store.getState());\n setLoginPreferences(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data?.error?.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n routerHistory.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n setUnhandledRejectionEvent(store);\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n if (beforeRenderHooks) {\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n }\n\n return { store, routerHistory };\n};\n\n/**\n */\nexport const addContentLoadedEvent = (\n store: ReduxStore,\n routerHistory: RouterHistory,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n mount: MountFunction\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (!applicationNode) {\n throw new Error(\n \"No DOM element with id application found to attach client to\"\n );\n }\n\n mount(\n applicationNode,\n <Init\n store={store}\n routerHistory={routerHistory}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>\n );\n });\n};\n\n/**\n */\nconst mountClient = (\n applicationNode: Element,\n element: ReactElement<ElementType>\n) => {\n const isSSR = applicationNode.querySelector(\".application\");\n if (isSSR) {\n hydrate(element, applicationNode);\n } else {\n render(element, applicationNode);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, setup redux store and caches, add unhandledRejectionEvent, used client side when JavaScript is enabled.\n */\nexport const client = ({\n customReducers,\n theme,\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n mount,\n}: Props) => {\n const { store, routerHistory } = setupClient(\n customReducers,\n beforeRenderHooks\n );\n\n addContentLoadedEvent(\n store,\n routerHistory,\n theme,\n render,\n ErrorFallbackComponent,\n mount ?? mountClient\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","names":["hydrate","render","has","setImmediate","Cache","createBrowserHistory","configureStore","rehydrate","getBasePath","setAllContentInDataSetting","setLoginPreferences","showXHRErrorNotification","handleError","loginSuccess","locationChange","JsonParseException","FetchException","Init","handleBeforeRenderHooks","jsx","_jsx","parseDataToJSON","data","JSON","parse","error","getDataFromServer","_context","dataElement","document","querySelector","Error","_trimInstanceProperty","textContent","call","setUnhandledRejectionEvent","store","window","onunhandledrejection","event","detail","errorMessage","reason","message","toString","dispatch","setupClient","customReducers","arguments","length","undefined","beforeRenderHooks","contextPath","clear","browserHistory","basename","routerHistory","getState","loadOtherBrowserTabs","getItem","response","listen","location","action","body","className","addContentLoadedEvent","theme","ErrorFallbackComponent","mount","addEventListener","applicationNode","children","mountClient","element","isSSR","client","_ref"],"sources":["../../src/react-client/client.js"],"sourcesContent":["// @flow\n// eslint-disable-next-line react/no-deprecated\nimport { hydrate, render } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport { getBasePath } from \"../constants/Settings\";\n\nimport {\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange } from \"../redux/_router/RouterActions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport { Init } from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type {\n ComponentType,\n Element as ReactElement,\n ElementType,\n} from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers, ReduxStore } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\ntype RenderFunction = () => ReactElement<ElementType>;\ntype MountFunction = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => void;\ntype Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n mount: MountFunction,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\nconst parseDataToJSON = (data: string) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\nconst getDataFromServer = () => {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return {};\n }\n\n return parseDataToJSON(dataElement.textContent);\n};\n\n/**\n */\nexport const setUnhandledRejectionEvent = (store: ReduxStore) => {\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n};\n\n/**\n */\nexport const setupClient = (\n customReducers: CustomReducers = {},\n beforeRenderHooks: ?Array<BeforeRenderHook>,\n): { store: ReduxStore, routerHistory: RouterHistory } => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const data = getDataFromServer();\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: getBasePath(),\n });\n const { routerHistory, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data),\n );\n\n setAllContentInDataSetting(store.getState());\n setLoginPreferences(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data?.error?.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n routerHistory.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n setUnhandledRejectionEvent(store);\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n if (beforeRenderHooks) {\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n }\n\n return { store, routerHistory };\n};\n\n/**\n */\nexport const addContentLoadedEvent = (\n store: ReduxStore,\n routerHistory: RouterHistory,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n mount: MountFunction,\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (!applicationNode) {\n throw new Error(\n \"No DOM element with id application found to attach client to\",\n );\n }\n\n mount(\n applicationNode,\n <Init\n store={store}\n routerHistory={routerHistory}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>,\n );\n });\n};\n\n/**\n */\nconst mountClient = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => {\n const isSSR = applicationNode.querySelector(\".application\");\n if (isSSR) {\n hydrate(element, applicationNode);\n } else {\n render(element, applicationNode);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, setup redux store and caches, add unhandledRejectionEvent, used client side when JavaScript is enabled.\n */\nexport const client = ({\n customReducers,\n theme,\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n mount,\n}: Props) => {\n const { store, routerHistory } = setupClient(\n customReducers,\n beforeRenderHooks,\n );\n\n addContentLoadedEvent(\n store,\n routerHistory,\n theme,\n render,\n ErrorFallbackComponent,\n mount ?? mountClient,\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contextPath.js","names":["x","dataElement","document","querySelector","Error","contextPath","getAttribute","window","filePath","__webpack_public_path__","nonce","__webpack_nonce__"],"sources":["../../src/react-client/contextPath.js"],"sourcesContent":["// @flow\n(function x() {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]'\n );\n if (!dataElement) {\n throw new Error(\n \"Error finding script with attribute app-json to retrieve context path\"\n );\n }\n\n const contextPath = dataElement.getAttribute(\"data-app-contextpath\");\n if (contextPath) {\n window.contextPath = contextPath;\n }\n\n const filePath = dataElement.getAttribute(\"data-app-filepath\");\n if (filePath && filePath !== \"{FILEPATH}\") {\n __webpack_public_path__ = `${filePath}/`; // NOSONAR\n } else if (contextPath) {\n __webpack_public_path__ = `${contextPath}/`; // NOSONAR\n }\n\n const nonce = dataElement.getAttribute(\"data-app-nonce\");\n if (nonce) {\n __webpack_nonce__ = nonce; // NOSONAR\n }\n})();\n\nexport {};\n"],"mappings":"AACA,CAAC,SAASA,CAACA,CAAA,EAAG;EACZ,MAAMC,WAAW,GAAGC,QAAQ,CAACC,aAAa,CACxC,4DACF,CAAC;EACD,IAAI,CAACF,WAAW,EAAE;IAChB,MAAM,IAAIG,KAAK,CACb,uEACF,CAAC;EACH;EAEA,MAAMC,WAAW,GAAGJ,WAAW,CAACK,YAAY,CAAC,sBAAsB,CAAC;EACpE,IAAID,WAAW,EAAE;IACfE,MAAM,CAACF,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMG,QAAQ,GAAGP,WAAW,CAACK,YAAY,CAAC,mBAAmB,CAAC;EAC9D,IAAIE,QAAQ,IAAIA,QAAQ,KAAK,YAAY,EAAE;IACzCC,uBAAuB,GAAI,GAAED,QAAS,GAAE,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAIH,WAAW,EAAE;IACtBI,uBAAuB,GAAI,GAAEJ,WAAY,GAAE,CAAC,CAAC;EAC/C;;EAEA,MAAMK,KAAK,GAAGT,WAAW,CAACK,YAAY,CAAC,gBAAgB,CAAC;EACxD,IAAII,KAAK,EAAE;IACTC,iBAAiB,GAAGD,KAAK,CAAC,CAAC;EAC7B;AACF,CAAC,EAAE,CAAC;;AAEJ"}
1
+ {"version":3,"file":"contextPath.js","names":["x","dataElement","document","querySelector","Error","contextPath","getAttribute","window","filePath","__webpack_public_path__","nonce","__webpack_nonce__"],"sources":["../../src/react-client/contextPath.js"],"sourcesContent":["// @flow\n(function x() {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n if (!dataElement) {\n throw new Error(\n \"Error finding script with attribute app-json to retrieve context path\",\n );\n }\n\n const contextPath = dataElement.getAttribute(\"data-app-contextpath\");\n if (contextPath) {\n window.contextPath = contextPath;\n }\n\n const filePath = dataElement.getAttribute(\"data-app-filepath\");\n if (filePath && filePath !== \"{FILEPATH}\") {\n __webpack_public_path__ = `${filePath}/`; // NOSONAR\n } else if (contextPath) {\n __webpack_public_path__ = `${contextPath}/`; // NOSONAR\n }\n\n const nonce = dataElement.getAttribute(\"data-app-nonce\");\n if (nonce) {\n __webpack_nonce__ = nonce; // NOSONAR\n }\n})();\n\nexport {};\n"],"mappings":"AACA,CAAC,SAASA,CAACA,CAAA,EAAG;EACZ,MAAMC,WAAW,GAAGC,QAAQ,CAACC,aAAa,CACxC,4DACF,CAAC;EACD,IAAI,CAACF,WAAW,EAAE;IAChB,MAAM,IAAIG,KAAK,CACb,uEACF,CAAC;EACH;EAEA,MAAMC,WAAW,GAAGJ,WAAW,CAACK,YAAY,CAAC,sBAAsB,CAAC;EACpE,IAAID,WAAW,EAAE;IACfE,MAAM,CAACF,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMG,QAAQ,GAAGP,WAAW,CAACK,YAAY,CAAC,mBAAmB,CAAC;EAC9D,IAAIE,QAAQ,IAAIA,QAAQ,KAAK,YAAY,EAAE;IACzCC,uBAAuB,GAAI,GAAED,QAAS,GAAE,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAIH,WAAW,EAAE;IACtBI,uBAAuB,GAAI,GAAEJ,WAAY,GAAE,CAAC,CAAC;EAC/C;;EAEA,MAAMK,KAAK,GAAGT,WAAW,CAACK,YAAY,CAAC,gBAAgB,CAAC;EACxD,IAAII,KAAK,EAAE;IACTC,iBAAiB,GAAGD,KAAK,CAAC,CAAC;EAC7B;AACF,CAAC,EAAE,CAAC;;AAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"rehydrate.js","names":["has","Locales","resolveModel","ModularUIResponse","recreateModel","data","modelData","rehydrate","Model","_context","model","childModels","_mapInstanceProperty","call","childModel","addChildModels","isModularUIModelData","rehydratedValue","stateKey","stateValue","Array","isArray","stateItem","locales","locale","noFurtherRehydration","_includesInstanceProperty","state","mappedState","_Object$keys","forEach"],"sources":["../../src/react-client/rehydrate.js"],"sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\nimport Locales from \"../i18n/Locales\";\n\nimport resolveModel from \"../models/resolveModel\";\n\nimport ModularUIResponse from \"../modularui/ModularUIResponse\";\n\n/**\n * Recreate a model from dehydrated data obtained after a server render.\n */\nconst recreateModel = (data: Object) => {\n const modelData = ModularUIResponse.rehydrate(data);\n\n const Model = resolveModel(modelData);\n\n if (Model) {\n const model = new Model(modelData);\n model.rehydrate(data);\n\n const childModels = data.childModels.map((childModel) =>\n recreateModel(childModel)\n );\n\n model.addChildModels(childModels);\n\n return model;\n }\n\n return data;\n};\n\n/**\n */\nconst isModularUIModelData = (data: any) =>\n data != null &&\n typeof data === \"object\" &&\n has(data, \"data\") &&\n has(data, \"contributions\");\n\n/**\n */\nconst rehydratedValue = (stateKey: string, stateValue: any) => {\n if (Array.isArray(stateValue)) {\n return stateValue.map((stateItem) => rehydrate(stateItem)); // NOSONAR\n }\n\n if (isModularUIModelData(stateValue)) {\n return recreateModel(stateValue);\n }\n\n if (\n stateKey === \"i18n\" &&\n has(stateValue, \"locales\") &&\n has(stateValue, \"locale\")\n ) {\n return {\n locales: Locales.rehydrate(stateValue.locales),\n locale: stateValue?.locale,\n };\n }\n\n const noFurtherRehydration = [\"preferences\", \"router\", \"progressindicator\"];\n if (noFurtherRehydration.includes(stateKey)) {\n return stateValue;\n }\n\n if (stateValue !== null && typeof stateValue === \"object\") {\n return rehydrate(stateValue); // NOSONAR\n }\n\n return stateValue;\n};\n\n/**\n * Maps dehydrated state to models that can be used to rehydrated the application.\n */\nconst rehydrate = (state: Object): { ... } => {\n const mappedState: { [string]: any } = {};\n\n Object.keys(state).forEach((stateKey) => {\n const stateValue = state[stateKey];\n mappedState[stateKey] = rehydratedValue(stateKey, stateValue);\n });\n\n return mappedState;\n};\n\nexport default rehydrate;\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,OAAO,MAAM,iBAAiB;AAErC,OAAOC,YAAY,MAAM,wBAAwB;AAEjD,OAAOC,iBAAiB,MAAM,gCAAgC;;AAE9D;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,IAAY,IAAK;EACtC,MAAMC,SAAS,GAAGH,iBAAiB,CAACI,SAAS,CAACF,IAAI,CAAC;EAEnD,MAAMG,KAAK,GAAGN,YAAY,CAACI,SAAS,CAAC;EAErC,IAAIE,KAAK,EAAE;IAAA,IAAAC,QAAA;IACT,MAAMC,KAAK,GAAG,IAAIF,KAAK,CAACF,SAAS,CAAC;IAClCI,KAAK,CAACH,SAAS,CAACF,IAAI,CAAC;IAErB,MAAMM,WAAW,GAAGC,oBAAA,CAAAH,QAAA,GAAAJ,IAAI,CAACM,WAAW,EAAAE,IAAA,CAAAJ,QAAA,EAAMK,UAAU,IAClDV,aAAa,CAACU,UAAU,CAC1B,CAAC;IAEDJ,KAAK,CAACK,cAAc,CAACJ,WAAW,CAAC;IAEjC,OAAOD,KAAK;EACd;EAEA,OAAOL,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMW,oBAAoB,GAAIX,IAAS,IACrCA,IAAI,IAAI,IAAI,IACZ,OAAOA,IAAI,KAAK,QAAQ,IACxBL,GAAG,CAACK,IAAI,EAAE,MAAM,CAAC,IACjBL,GAAG,CAACK,IAAI,EAAE,eAAe,CAAC;;AAE5B;AACA;AACA,MAAMY,eAAe,GAAGA,CAACC,QAAgB,EAAEC,UAAe,KAAK;EAC7D,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7B,OAAOP,oBAAA,CAAAO,UAAU,EAAAN,IAAA,CAAVM,UAAU,EAAMG,SAAS,IAAKf,SAAS,CAACe,SAAS,CAAC,CAAC,CAAC,CAAC;EAC9D;;EAEA,IAAIN,oBAAoB,CAACG,UAAU,CAAC,EAAE;IACpC,OAAOf,aAAa,CAACe,UAAU,CAAC;EAClC;EAEA,IACED,QAAQ,KAAK,MAAM,IACnBlB,GAAG,CAACmB,UAAU,EAAE,SAAS,CAAC,IAC1BnB,GAAG,CAACmB,UAAU,EAAE,QAAQ,CAAC,EACzB;IACA,OAAO;MACLI,OAAO,EAAEtB,OAAO,CAACM,SAAS,CAACY,UAAU,CAACI,OAAO,CAAC;MAC9CC,MAAM,EAAEL,UAAU,EAAEK;IACtB,CAAC;EACH;EAEA,MAAMC,oBAAoB,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC;EAC3E,IAAIC,yBAAA,CAAAD,oBAAoB,EAAAZ,IAAA,CAApBY,oBAAoB,EAAUP,QAAQ,CAAC,EAAE;IAC3C,OAAOC,UAAU;EACnB;EAEA,IAAIA,UAAU,KAAK,IAAI,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IACzD,OAAOZ,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC;EAChC;;EAEA,OAAOA,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA,MAAMZ,SAAS,GAAIoB,KAAa,IAAc;EAC5C,MAAMC,WAA8B,GAAG,CAAC,CAAC;EAEzCC,YAAA,CAAYF,KAAK,CAAC,CAACG,OAAO,CAAEZ,QAAQ,IAAK;IACvC,MAAMC,UAAU,GAAGQ,KAAK,CAACT,QAAQ,CAAC;IAClCU,WAAW,CAACV,QAAQ,CAAC,GAAGD,eAAe,CAACC,QAAQ,EAAEC,UAAU,CAAC;EAC/D,CAAC,CAAC;EAEF,OAAOS,WAAW;AACpB,CAAC;AAED,eAAerB,SAAS"}
1
+ {"version":3,"file":"rehydrate.js","names":["has","Locales","resolveModel","ModularUIResponse","recreateModel","data","modelData","rehydrate","Model","_context","model","childModels","_mapInstanceProperty","call","childModel","addChildModels","isModularUIModelData","rehydratedValue","stateKey","stateValue","Array","isArray","stateItem","locales","locale","noFurtherRehydration","_includesInstanceProperty","state","mappedState","_Object$keys","forEach"],"sources":["../../src/react-client/rehydrate.js"],"sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\nimport Locales from \"../i18n/Locales\";\n\nimport resolveModel from \"../models/resolveModel\";\n\nimport ModularUIResponse from \"../modularui/ModularUIResponse\";\n\n/**\n * Recreate a model from dehydrated data obtained after a server render.\n */\nconst recreateModel = (data: Object) => {\n const modelData = ModularUIResponse.rehydrate(data);\n\n const Model = resolveModel(modelData);\n\n if (Model) {\n const model = new Model(modelData);\n model.rehydrate(data);\n\n const childModels = data.childModels.map((childModel) =>\n recreateModel(childModel),\n );\n\n model.addChildModels(childModels);\n\n return model;\n }\n\n return data;\n};\n\n/**\n */\nconst isModularUIModelData = (data: any) =>\n data != null &&\n typeof data === \"object\" &&\n has(data, \"data\") &&\n has(data, \"contributions\");\n\n/**\n */\nconst rehydratedValue = (stateKey: string, stateValue: any) => {\n if (Array.isArray(stateValue)) {\n return stateValue.map((stateItem) => rehydrate(stateItem)); // NOSONAR\n }\n\n if (isModularUIModelData(stateValue)) {\n return recreateModel(stateValue);\n }\n\n if (\n stateKey === \"i18n\" &&\n has(stateValue, \"locales\") &&\n has(stateValue, \"locale\")\n ) {\n return {\n locales: Locales.rehydrate(stateValue.locales),\n locale: stateValue?.locale,\n };\n }\n\n const noFurtherRehydration = [\"preferences\", \"router\", \"progressindicator\"];\n if (noFurtherRehydration.includes(stateKey)) {\n return stateValue;\n }\n\n if (stateValue !== null && typeof stateValue === \"object\") {\n return rehydrate(stateValue); // NOSONAR\n }\n\n return stateValue;\n};\n\n/**\n * Maps dehydrated state to models that can be used to rehydrated the application.\n */\nconst rehydrate = (state: Object): { ... } => {\n const mappedState: { [string]: any } = {};\n\n Object.keys(state).forEach((stateKey) => {\n const stateValue = state[stateKey];\n mappedState[stateKey] = rehydratedValue(stateKey, stateValue);\n });\n\n return mappedState;\n};\n\nexport default rehydrate;\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,OAAO,MAAM,iBAAiB;AAErC,OAAOC,YAAY,MAAM,wBAAwB;AAEjD,OAAOC,iBAAiB,MAAM,gCAAgC;;AAE9D;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,IAAY,IAAK;EACtC,MAAMC,SAAS,GAAGH,iBAAiB,CAACI,SAAS,CAACF,IAAI,CAAC;EAEnD,MAAMG,KAAK,GAAGN,YAAY,CAACI,SAAS,CAAC;EAErC,IAAIE,KAAK,EAAE;IAAA,IAAAC,QAAA;IACT,MAAMC,KAAK,GAAG,IAAIF,KAAK,CAACF,SAAS,CAAC;IAClCI,KAAK,CAACH,SAAS,CAACF,IAAI,CAAC;IAErB,MAAMM,WAAW,GAAGC,oBAAA,CAAAH,QAAA,GAAAJ,IAAI,CAACM,WAAW,EAAAE,IAAA,CAAAJ,QAAA,EAAMK,UAAU,IAClDV,aAAa,CAACU,UAAU,CAC1B,CAAC;IAEDJ,KAAK,CAACK,cAAc,CAACJ,WAAW,CAAC;IAEjC,OAAOD,KAAK;EACd;EAEA,OAAOL,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMW,oBAAoB,GAAIX,IAAS,IACrCA,IAAI,IAAI,IAAI,IACZ,OAAOA,IAAI,KAAK,QAAQ,IACxBL,GAAG,CAACK,IAAI,EAAE,MAAM,CAAC,IACjBL,GAAG,CAACK,IAAI,EAAE,eAAe,CAAC;;AAE5B;AACA;AACA,MAAMY,eAAe,GAAGA,CAACC,QAAgB,EAAEC,UAAe,KAAK;EAC7D,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7B,OAAOP,oBAAA,CAAAO,UAAU,EAAAN,IAAA,CAAVM,UAAU,EAAMG,SAAS,IAAKf,SAAS,CAACe,SAAS,CAAC,CAAC,CAAC,CAAC;EAC9D;;EAEA,IAAIN,oBAAoB,CAACG,UAAU,CAAC,EAAE;IACpC,OAAOf,aAAa,CAACe,UAAU,CAAC;EAClC;EAEA,IACED,QAAQ,KAAK,MAAM,IACnBlB,GAAG,CAACmB,UAAU,EAAE,SAAS,CAAC,IAC1BnB,GAAG,CAACmB,UAAU,EAAE,QAAQ,CAAC,EACzB;IACA,OAAO;MACLI,OAAO,EAAEtB,OAAO,CAACM,SAAS,CAACY,UAAU,CAACI,OAAO,CAAC;MAC9CC,MAAM,EAAEL,UAAU,EAAEK;IACtB,CAAC;EACH;EAEA,MAAMC,oBAAoB,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC;EAC3E,IAAIC,yBAAA,CAAAD,oBAAoB,EAAAZ,IAAA,CAApBY,oBAAoB,EAAUP,QAAQ,CAAC,EAAE;IAC3C,OAAOC,UAAU;EACnB;EAEA,IAAIA,UAAU,KAAK,IAAI,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IACzD,OAAOZ,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC;EAChC;;EAEA,OAAOA,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA,MAAMZ,SAAS,GAAIoB,KAAa,IAAc;EAC5C,MAAMC,WAA8B,GAAG,CAAC,CAAC;EAEzCC,YAAA,CAAYF,KAAK,CAAC,CAACG,OAAO,CAAEZ,QAAQ,IAAK;IACvC,MAAMC,UAAU,GAAGQ,KAAK,CAACT,QAAQ,CAAC;IAClCU,WAAW,CAACV,QAAQ,CAAC,GAAGD,eAAe,CAACC,QAAQ,EAAEC,UAAU,CAAC;EAC/D,CAAC,CAAC;EAEF,OAAOS,WAAW;AACpB,CAAC;AAED,eAAerB,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSSRComplete.js","names":["MODULARUI_STATUS","noLoading","state","_context","_filterInstanceProperty","_Object$keys","modularui","call","key","status","LOADING","length","loadingCounter","_context2","createSSRComplete","store","render","loadingCount","getState","html","_Promise","resolve","reject","unsubscribe","subscribe","previousCount","error"],"sources":["../../src/react-server/createSSRComplete.js"],"sourcesContent":["// @flow\nimport { MODULARUI_STATUS } from \"../constants/Constants\";\n\nimport type { ReduxStore, ReduxState } from \"../redux/types\";\n\n/**\n */\nconst noLoading = (state: ReduxState) =>\n Object.keys(state.modularui).filter(\n (key) => state.modularui[key].status === MODULARUI_STATUS.LOADING\n ).length === 0;\n\n/**\n */\nconst loadingCounter = (state: ReduxState) =>\n Object.keys(state.modularui).filter(\n (key) => state.modularui[key].status === MODULARUI_STATUS.LOADING\n ).length;\n\n/**\n */\nconst createSSRComplete = (\n store: ReduxStore,\n render: Function\n): Promise<string> => {\n let loadingCount = loadingCounter(store.getState());\n let html = \"<div>Nothing to render</div>\";\n\n return new Promise((resolve, reject) => {\n const unsubscribe = store.subscribe(() => {\n const previousCount = loadingCount;\n loadingCount = loadingCounter(store.getState());\n\n if (previousCount !== loadingCount && noLoading(store.getState())) {\n try {\n html = render();\n } catch (error) {\n reject(error);\n return;\n }\n\n if (noLoading(store.getState())) {\n unsubscribe();\n resolve(html);\n }\n }\n });\n\n try {\n html = render();\n } catch (error) {\n reject(error);\n return;\n }\n\n if (noLoading(store.getState())) {\n unsubscribe();\n resolve(html);\n }\n });\n};\n\nexport default createSSRComplete;\n"],"mappings":";;;AACA,SAASA,gBAAgB,QAAQ,wBAAwB;AAIzD;AACA;AACA,MAAMC,SAAS,GAAIC,KAAiB;EAAA,IAAAC,QAAA;EAAA,OAClCC,uBAAA,CAAAD,QAAA,GAAAE,YAAA,CAAYH,KAAK,CAACI,SAAS,CAAC,EAAAC,IAAA,CAAAJ,QAAA,EACzBK,GAAG,IAAKN,KAAK,CAACI,SAAS,CAACE,GAAG,CAAC,CAACC,MAAM,KAAKT,gBAAgB,CAACU,OAC5D,CAAC,CAACC,MAAM,KAAK,CAAC;AAAA;;AAEhB;AACA;AACA,MAAMC,cAAc,GAAIV,KAAiB;EAAA,IAAAW,SAAA;EAAA,OACvCT,uBAAA,CAAAS,SAAA,GAAAR,YAAA,CAAYH,KAAK,CAACI,SAAS,CAAC,EAAAC,IAAA,CAAAM,SAAA,EACzBL,GAAG,IAAKN,KAAK,CAACI,SAAS,CAACE,GAAG,CAAC,CAACC,MAAM,KAAKT,gBAAgB,CAACU,OAC5D,CAAC,CAACC,MAAM;AAAA;;AAEV;AACA;AACA,MAAMG,iBAAiB,GAAGA,CACxBC,KAAiB,EACjBC,MAAgB,KACI;EACpB,IAAIC,YAAY,GAAGL,cAAc,CAACG,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC;EACnD,IAAIC,IAAI,GAAG,8BAA8B;EAEzC,OAAO,IAAAC,QAAA,CAAY,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,MAAMC,WAAW,GAAGR,KAAK,CAACS,SAAS,CAAC,MAAM;MACxC,MAAMC,aAAa,GAAGR,YAAY;MAClCA,YAAY,GAAGL,cAAc,CAACG,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC;MAE/C,IAAIO,aAAa,KAAKR,YAAY,IAAIhB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;QACjE,IAAI;UACFC,IAAI,GAAGH,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,OAAOU,KAAK,EAAE;UACdJ,MAAM,CAACI,KAAK,CAAC;UACb;QACF;QAEA,IAAIzB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;UAC/BK,WAAW,CAAC,CAAC;UACbF,OAAO,CAACF,IAAI,CAAC;QACf;MACF;IACF,CAAC,CAAC;IAEF,IAAI;MACFA,IAAI,GAAGH,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,OAAOU,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;MACb;IACF;IAEA,IAAIzB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;MAC/BK,WAAW,CAAC,CAAC;MACbF,OAAO,CAACF,IAAI,CAAC;IACf;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeL,iBAAiB"}
1
+ {"version":3,"file":"createSSRComplete.js","names":["MODULARUI_STATUS","noLoading","state","_context","_filterInstanceProperty","_Object$keys","modularui","call","key","status","LOADING","length","loadingCounter","_context2","createSSRComplete","store","render","loadingCount","getState","html","_Promise","resolve","reject","unsubscribe","subscribe","previousCount","error"],"sources":["../../src/react-server/createSSRComplete.js"],"sourcesContent":["// @flow\nimport { MODULARUI_STATUS } from \"../constants/Constants\";\n\nimport type { ReduxStore, ReduxState } from \"../redux/types\";\n\n/**\n */\nconst noLoading = (state: ReduxState) =>\n Object.keys(state.modularui).filter(\n (key) => state.modularui[key].status === MODULARUI_STATUS.LOADING,\n ).length === 0;\n\n/**\n */\nconst loadingCounter = (state: ReduxState) =>\n Object.keys(state.modularui).filter(\n (key) => state.modularui[key].status === MODULARUI_STATUS.LOADING,\n ).length;\n\n/**\n */\nconst createSSRComplete = (\n store: ReduxStore,\n render: Function,\n): Promise<string> => {\n let loadingCount = loadingCounter(store.getState());\n let html = \"<div>Nothing to render</div>\";\n\n return new Promise((resolve, reject) => {\n const unsubscribe = store.subscribe(() => {\n const previousCount = loadingCount;\n loadingCount = loadingCounter(store.getState());\n\n if (previousCount !== loadingCount && noLoading(store.getState())) {\n try {\n html = render();\n } catch (error) {\n reject(error);\n return;\n }\n\n if (noLoading(store.getState())) {\n unsubscribe();\n resolve(html);\n }\n }\n });\n\n try {\n html = render();\n } catch (error) {\n reject(error);\n return;\n }\n\n if (noLoading(store.getState())) {\n unsubscribe();\n resolve(html);\n }\n });\n};\n\nexport default createSSRComplete;\n"],"mappings":";;;AACA,SAASA,gBAAgB,QAAQ,wBAAwB;AAIzD;AACA;AACA,MAAMC,SAAS,GAAIC,KAAiB;EAAA,IAAAC,QAAA;EAAA,OAClCC,uBAAA,CAAAD,QAAA,GAAAE,YAAA,CAAYH,KAAK,CAACI,SAAS,CAAC,EAAAC,IAAA,CAAAJ,QAAA,EACzBK,GAAG,IAAKN,KAAK,CAACI,SAAS,CAACE,GAAG,CAAC,CAACC,MAAM,KAAKT,gBAAgB,CAACU,OAC5D,CAAC,CAACC,MAAM,KAAK,CAAC;AAAA;;AAEhB;AACA;AACA,MAAMC,cAAc,GAAIV,KAAiB;EAAA,IAAAW,SAAA;EAAA,OACvCT,uBAAA,CAAAS,SAAA,GAAAR,YAAA,CAAYH,KAAK,CAACI,SAAS,CAAC,EAAAC,IAAA,CAAAM,SAAA,EACzBL,GAAG,IAAKN,KAAK,CAACI,SAAS,CAACE,GAAG,CAAC,CAACC,MAAM,KAAKT,gBAAgB,CAACU,OAC5D,CAAC,CAACC,MAAM;AAAA;;AAEV;AACA;AACA,MAAMG,iBAAiB,GAAGA,CACxBC,KAAiB,EACjBC,MAAgB,KACI;EACpB,IAAIC,YAAY,GAAGL,cAAc,CAACG,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC;EACnD,IAAIC,IAAI,GAAG,8BAA8B;EAEzC,OAAO,IAAAC,QAAA,CAAY,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,MAAMC,WAAW,GAAGR,KAAK,CAACS,SAAS,CAAC,MAAM;MACxC,MAAMC,aAAa,GAAGR,YAAY;MAClCA,YAAY,GAAGL,cAAc,CAACG,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC;MAE/C,IAAIO,aAAa,KAAKR,YAAY,IAAIhB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;QACjE,IAAI;UACFC,IAAI,GAAGH,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,OAAOU,KAAK,EAAE;UACdJ,MAAM,CAACI,KAAK,CAAC;UACb;QACF;QAEA,IAAIzB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;UAC/BK,WAAW,CAAC,CAAC;UACbF,OAAO,CAACF,IAAI,CAAC;QACf;MACF;IACF,CAAC,CAAC;IAEF,IAAI;MACFA,IAAI,GAAGH,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,OAAOU,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;MACb;IACF;IAEA,IAAIzB,SAAS,CAACc,KAAK,CAACG,QAAQ,CAAC,CAAC,CAAC,EAAE;MAC/BK,WAAW,CAAC,CAAC;MACbF,OAAO,CAACF,IAAI,CAAC;IACf;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeL,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderSSRComplete.js","names":["renderToString","Provider","StaticRouter","Router","HelmetProvider","ServerStyleSheet","StyleSheetManager","createSSRComplete","htmlpage","getBasePath","ThemeProvider","ErrorBoundary","createHead","handleErrors","dehydrate","jsx","_jsx","renderSSRComplete","_ref","store","theme","UUID","requestHref","render","ErrorPage","template","helmetContext","helmet","routerContext","sheet","location","toLocation","basePath","children","instance","context","basename","then","appHTML","head","contextPath","html","state","catch","error","errorMessage","message","errorResource","fileName","errorLine","lineNumber","errorStack","stack"],"sources":["../../src/react-server/renderSSRComplete.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\nimport { Provider } from \"react-redux\";\nimport { StaticRouter as Router } from \"react-router\";\n\nimport { HelmetProvider } from \"react-helmet-async\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\n\nimport createSSRComplete from \"./createSSRComplete\";\nimport htmlpage from \"./htmlpage\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport { createHead, handleErrors, dehydrate } from \"./serverUtil\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { Location } from \"react-router\";\n\ntype Props = {\n store: ReduxStore,\n theme: Theme,\n UUID: string,\n requestHref: Href,\n render: Function,\n ErrorPage: any,\n template?: (TemplateProps) => string,\n};\n/**\n */\nconst renderSSRComplete = ({\n store,\n theme,\n UUID = \"\",\n requestHref,\n render,\n ErrorPage,\n template = htmlpage,\n}: Props): Promise<string> => {\n const helmetContext = { helmet: {} };\n const routerContext = {};\n\n const sheet = new ServerStyleSheet();\n\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const location: Location = requestHref.toLocation();\n\n const basePath = getBasePath();\n\n return createSSRComplete(store, () =>\n renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <HelmetProvider context={helmetContext}>\n <ErrorBoundary>\n <Router\n basename={basePath}\n location={location}\n context={routerContext}\n >\n {render()}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </StyleSheetManager>\n </Provider>\n )\n )\n .then((appHTML) => {\n handleErrors(store);\n const head = createHead(sheet, UUID, helmetContext);\n return template({\n contextPath: basePath,\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n })\n .catch((error) =>\n template({\n contextPath: basePath,\n html: renderToString(\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <ErrorPage\n errorMessage={error.message}\n errorResource={error.fileName}\n errorLine={error.lineNumber}\n errorStack={error.stack}\n />\n </ThemeProvider>\n </StyleSheetManager>\n ),\n head: helmetContext.helmet,\n state: \"\",\n UUID,\n })\n );\n};\n\nexport default renderSSRComplete;\n"],"mappings":"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"}
1
+ {"version":3,"file":"renderSSRComplete.js","names":["renderToString","Provider","StaticRouter","Router","HelmetProvider","ServerStyleSheet","StyleSheetManager","createSSRComplete","htmlpage","getBasePath","ThemeProvider","ErrorBoundary","createHead","handleErrors","dehydrate","jsx","_jsx","renderSSRComplete","_ref","store","theme","UUID","requestHref","render","ErrorPage","template","helmetContext","helmet","routerContext","sheet","location","toLocation","basePath","children","instance","context","basename","then","appHTML","head","contextPath","html","state","catch","error","errorMessage","message","errorResource","fileName","errorLine","lineNumber","errorStack","stack"],"sources":["../../src/react-server/renderSSRComplete.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\nimport { Provider } from \"react-redux\";\nimport { StaticRouter as Router } from \"react-router\";\n\nimport { HelmetProvider } from \"react-helmet-async\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\n\nimport createSSRComplete from \"./createSSRComplete\";\nimport htmlpage from \"./htmlpage\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport { createHead, handleErrors, dehydrate } from \"./serverUtil\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { Location } from \"react-router\";\n\ntype Props = {\n store: ReduxStore,\n theme: Theme,\n UUID: string,\n requestHref: Href,\n render: Function,\n ErrorPage: any,\n template?: (TemplateProps) => string,\n};\n/**\n */\nconst renderSSRComplete = ({\n store,\n theme,\n UUID = \"\",\n requestHref,\n render,\n ErrorPage,\n template = htmlpage,\n}: Props): Promise<string> => {\n const helmetContext = { helmet: {} };\n const routerContext = {};\n\n const sheet = new ServerStyleSheet();\n\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const location: Location = requestHref.toLocation();\n\n const basePath = getBasePath();\n\n return createSSRComplete(store, () =>\n renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <HelmetProvider context={helmetContext}>\n <ErrorBoundary>\n <Router\n basename={basePath}\n location={location}\n context={routerContext}\n >\n {render()}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n ),\n )\n .then((appHTML) => {\n handleErrors(store);\n const head = createHead(sheet, UUID, helmetContext);\n return template({\n contextPath: basePath,\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n })\n .catch((error) =>\n template({\n contextPath: basePath,\n html: renderToString(\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <ErrorPage\n errorMessage={error.message}\n errorResource={error.fileName}\n errorLine={error.lineNumber}\n errorStack={error.stack}\n />\n </ThemeProvider>\n </StyleSheetManager>,\n ),\n head: helmetContext.helmet,\n state: \"\",\n UUID,\n }),\n );\n};\n\nexport default renderSSRComplete;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderSSRMinimal.js","names":["renderToString","Provider","ServerStyleSheet","StyleSheetManager","ThemeProvider","getBasePath","createHead","dehydrate","htmlpage","jsx","_jsx","renderSSRMinimal","_ref","store","theme","UUID","render","template","sheet","appHTML","children","instance","head","contextPath","html","state"],"sources":["../../src/react-server/renderSSRMinimal.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\n\nimport { Provider } from \"react-redux\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport { createHead, dehydrate } from \"./serverUtil\";\nimport htmlpage from \"./htmlpage\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { TemplateProps } from \"./htmlpage\";\ntype Props = {\n store: ReduxStore,\n theme?: Theme | Array<Theme>,\n UUID: string,\n render: Function,\n template?: (TemplateProps) => string,\n};\n\n/**\n */\nconst renderSSRMinimal = ({\n store,\n theme,\n UUID = \"\",\n render,\n template = htmlpage,\n}: Props): string => {\n const sheet = new ServerStyleSheet();\n\n const appHTML = renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>{render()}</ThemeProvider>\n </StyleSheetManager>\n </Provider>\n );\n\n const head = createHead(sheet, UUID);\n return template({\n contextPath: getBasePath(),\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n};\n\nexport default renderSSRMinimal;\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,kBAAkB;AAEjD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACvE,OAAOC,aAAa,MAAM,8BAA8B;AAExD,SAASC,WAAW,QAAQ,uBAAuB;AAEnD,SAASC,UAAU,EAAEC,SAAS,QAAQ,cAAc;AACpD,OAAOC,QAAQ,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAalC;AACA;AACA,MAAMC,gBAAgB,GAAGC,IAAA,IAMJ;EAAA,IANK;IACxBC,KAAK;IACLC,KAAK;IACLC,IAAI,GAAG,EAAE;IACTC,MAAM;IACNC,QAAQ,GAAGT;EACN,CAAC,GAAAI,IAAA;EACN,MAAMM,KAAK,GAAG,IAAIhB,gBAAgB,CAAC,CAAC;EAEpC,MAAMiB,OAAO,GAAGnB,cAAc,eAC5BU,IAAA,CAACT,QAAQ;IAACY,KAAK,EAAEA,KAAM;IAAAO,QAAA,eACrBV,IAAA,CAACP,iBAAiB;MAACe,KAAK,EAAEA,KAAK,CAACG,QAAS;MAAAD,QAAA,eACvCV,IAAA,CAACN,aAAa;QAACU,KAAK,EAAEA,KAAM;QAAAM,QAAA,EAAEJ,MAAM,CAAC;MAAC,CAAgB;IAAC,CACtC;EAAC,CACZ,CACZ,CAAC;EAED,MAAMM,IAAI,GAAGhB,UAAU,CAACY,KAAK,EAAEH,IAAI,CAAC;EACpC,OAAOE,QAAQ,CAAC;IACdM,WAAW,EAAElB,WAAW,CAAC,CAAC;IAC1BmB,IAAI,EAAEL,OAAO;IACbG,IAAI;IACJG,KAAK,EAAElB,SAAS,CAACM,KAAK,CAAC;IACvBE;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeJ,gBAAgB"}
1
+ {"version":3,"file":"renderSSRMinimal.js","names":["renderToString","Provider","ServerStyleSheet","StyleSheetManager","ThemeProvider","getBasePath","createHead","dehydrate","htmlpage","jsx","_jsx","renderSSRMinimal","_ref","store","theme","UUID","render","template","sheet","appHTML","children","instance","head","contextPath","html","state"],"sources":["../../src/react-server/renderSSRMinimal.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\n\nimport { Provider } from \"react-redux\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport { createHead, dehydrate } from \"./serverUtil\";\nimport htmlpage from \"./htmlpage\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { TemplateProps } from \"./htmlpage\";\ntype Props = {\n store: ReduxStore,\n theme?: Theme | Array<Theme>,\n UUID: string,\n render: Function,\n template?: (TemplateProps) => string,\n};\n\n/**\n */\nconst renderSSRMinimal = ({\n store,\n theme,\n UUID = \"\",\n render,\n template = htmlpage,\n}: Props): string => {\n const sheet = new ServerStyleSheet();\n\n const appHTML = renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>{render()}</ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n );\n\n const head = createHead(sheet, UUID);\n return template({\n contextPath: getBasePath(),\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n};\n\nexport default renderSSRMinimal;\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,kBAAkB;AAEjD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACvE,OAAOC,aAAa,MAAM,8BAA8B;AAExD,SAASC,WAAW,QAAQ,uBAAuB;AAEnD,SAASC,UAAU,EAAEC,SAAS,QAAQ,cAAc;AACpD,OAAOC,QAAQ,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAalC;AACA;AACA,MAAMC,gBAAgB,GAAGC,IAAA,IAMJ;EAAA,IANK;IACxBC,KAAK;IACLC,KAAK;IACLC,IAAI,GAAG,EAAE;IACTC,MAAM;IACNC,QAAQ,GAAGT;EACN,CAAC,GAAAI,IAAA;EACN,MAAMM,KAAK,GAAG,IAAIhB,gBAAgB,CAAC,CAAC;EAEpC,MAAMiB,OAAO,GAAGnB,cAAc,eAC5BU,IAAA,CAACT,QAAQ;IAACY,KAAK,EAAEA,KAAM;IAAAO,QAAA,eACrBV,IAAA,CAACP,iBAAiB;MAACe,KAAK,EAAEA,KAAK,CAACG,QAAS;MAAAD,QAAA,eACvCV,IAAA,CAACN,aAAa;QAACU,KAAK,EAAEA,KAAM;QAAAM,QAAA,EAAEJ,MAAM,CAAC;MAAC,CAAgB;IAAC,CACtC;EAAC,CACZ,CACZ,CAAC;EAED,MAAMM,IAAI,GAAGhB,UAAU,CAACY,KAAK,EAAEH,IAAI,CAAC;EACpC,OAAOE,QAAQ,CAAC;IACdM,WAAW,EAAElB,WAAW,CAAC,CAAC;IAC1BmB,IAAI,EAAEL,OAAO;IACbG,IAAI;IACJG,KAAK,EAAElB,SAAS,CAACM,KAAK,CAAC;IACvBE;EACF,CAAC,CAAC;AACJ,CAAC;AAED,eAAeJ,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"requestInformation.js","names":["Href","getFullRequestUrl","request","pathInfo","getPathInfo","queryString","getQueryString","getFullRequestHref","getCookieFromRequest","cookieName","getCookieByName","getPreferredLocale","locales","languageFromCookie","acceptLanguageHeader","getHeader","availableLocaleCodes"],"sources":["../../src/react-server/requestInformation.js"],"sourcesContent":["// @flow\nimport Href from \"../models/href/Href\";\n\nimport type Locales from \"../i18n/Locales\";\n\n/**\n */\nexport const getFullRequestUrl = (request: HttpServletRequestJava): string => {\n const pathInfo = request.getPathInfo() || \"/\";\n const queryString = request.getQueryString();\n\n if (queryString) {\n return `${pathInfo}?${queryString}`;\n }\n\n return pathInfo;\n};\n\n/**\n */\nexport const getFullRequestHref = (request: HttpServletRequestJava): Href =>\n new Href(getFullRequestUrl(request));\n\n/**\n */\nexport const getCookieFromRequest = (\n request: HttpServletRequestJava,\n cookieName: string\n): null | string => {\n return request.getCookieByName(cookieName);\n};\n\n/**\n */\nexport const getPreferredLocale = (\n request: HttpServletRequestJava,\n locales: Locales\n): void | string => {\n const languageFromCookie = getCookieFromRequest(request, \"locale\");\n const acceptLanguageHeader =\n languageFromCookie || request.getHeader(\"Accept-Language\");\n\n // when no accept language header or cookie present, get first locale code\n if (acceptLanguageHeader === null) {\n return locales.availableLocaleCodes[0];\n }\n\n return locales.getPreferredLocale(acceptLanguageHeader);\n};\n"],"mappings":"AACA,OAAOA,IAAI,MAAM,qBAAqB;AAItC;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAIC,OAA+B,IAAa;EAC5E,MAAMC,QAAQ,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC,IAAI,GAAG;EAC7C,MAAMC,WAAW,GAAGH,OAAO,CAACI,cAAc,CAAC,CAAC;EAE5C,IAAID,WAAW,EAAE;IACf,OAAQ,GAAEF,QAAS,IAAGE,WAAY,EAAC;EACrC;EAEA,OAAOF,QAAQ;AACjB,CAAC;;AAED;AACA;AACA,OAAO,MAAMI,kBAAkB,GAAIL,OAA+B,IAChE,IAAIF,IAAI,CAACC,iBAAiB,CAACC,OAAO,CAAC,CAAC;;AAEtC;AACA;AACA,OAAO,MAAMM,oBAAoB,GAAGA,CAClCN,OAA+B,EAC/BO,UAAkB,KACA;EAClB,OAAOP,OAAO,CAACQ,eAAe,CAACD,UAAU,CAAC;AAC5C,CAAC;;AAED;AACA;AACA,OAAO,MAAME,kBAAkB,GAAGA,CAChCT,OAA+B,EAC/BU,OAAgB,KACE;EAClB,MAAMC,kBAAkB,GAAGL,oBAAoB,CAACN,OAAO,EAAE,QAAQ,CAAC;EAClE,MAAMY,oBAAoB,GACxBD,kBAAkB,IAAIX,OAAO,CAACa,SAAS,CAAC,iBAAiB,CAAC;;EAE5D;EACA,IAAID,oBAAoB,KAAK,IAAI,EAAE;IACjC,OAAOF,OAAO,CAACI,oBAAoB,CAAC,CAAC,CAAC;EACxC;EAEA,OAAOJ,OAAO,CAACD,kBAAkB,CAACG,oBAAoB,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"requestInformation.js","names":["Href","getFullRequestUrl","request","pathInfo","getPathInfo","queryString","getQueryString","getFullRequestHref","getCookieFromRequest","cookieName","getCookieByName","getPreferredLocale","locales","languageFromCookie","acceptLanguageHeader","getHeader","availableLocaleCodes"],"sources":["../../src/react-server/requestInformation.js"],"sourcesContent":["// @flow\nimport Href from \"../models/href/Href\";\n\nimport type Locales from \"../i18n/Locales\";\n\n/**\n */\nexport const getFullRequestUrl = (request: HttpServletRequestJava): string => {\n const pathInfo = request.getPathInfo() || \"/\";\n const queryString = request.getQueryString();\n\n if (queryString) {\n return `${pathInfo}?${queryString}`;\n }\n\n return pathInfo;\n};\n\n/**\n */\nexport const getFullRequestHref = (request: HttpServletRequestJava): Href =>\n new Href(getFullRequestUrl(request));\n\n/**\n */\nexport const getCookieFromRequest = (\n request: HttpServletRequestJava,\n cookieName: string,\n): null | string => {\n return request.getCookieByName(cookieName);\n};\n\n/**\n */\nexport const getPreferredLocale = (\n request: HttpServletRequestJava,\n locales: Locales,\n): void | string => {\n const languageFromCookie = getCookieFromRequest(request, \"locale\");\n const acceptLanguageHeader =\n languageFromCookie || request.getHeader(\"Accept-Language\");\n\n // when no accept language header or cookie present, get first locale code\n if (acceptLanguageHeader === null) {\n return locales.availableLocaleCodes[0];\n }\n\n return locales.getPreferredLocale(acceptLanguageHeader);\n};\n"],"mappings":"AACA,OAAOA,IAAI,MAAM,qBAAqB;AAItC;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAIC,OAA+B,IAAa;EAC5E,MAAMC,QAAQ,GAAGD,OAAO,CAACE,WAAW,CAAC,CAAC,IAAI,GAAG;EAC7C,MAAMC,WAAW,GAAGH,OAAO,CAACI,cAAc,CAAC,CAAC;EAE5C,IAAID,WAAW,EAAE;IACf,OAAQ,GAAEF,QAAS,IAAGE,WAAY,EAAC;EACrC;EAEA,OAAOF,QAAQ;AACjB,CAAC;;AAED;AACA;AACA,OAAO,MAAMI,kBAAkB,GAAIL,OAA+B,IAChE,IAAIF,IAAI,CAACC,iBAAiB,CAACC,OAAO,CAAC,CAAC;;AAEtC;AACA;AACA,OAAO,MAAMM,oBAAoB,GAAGA,CAClCN,OAA+B,EAC/BO,UAAkB,KACA;EAClB,OAAOP,OAAO,CAACQ,eAAe,CAACD,UAAU,CAAC;AAC5C,CAAC;;AAED;AACA;AACA,OAAO,MAAME,kBAAkB,GAAGA,CAChCT,OAA+B,EAC/BU,OAAgB,KACE;EAClB,MAAMC,kBAAkB,GAAGL,oBAAoB,CAACN,OAAO,EAAE,QAAQ,CAAC;EAClE,MAAMY,oBAAoB,GACxBD,kBAAkB,IAAIX,OAAO,CAACa,SAAS,CAAC,iBAAiB,CAAC;;EAE5D;EACA,IAAID,oBAAoB,KAAK,IAAI,EAAE;IACjC,OAAOF,OAAO,CAACI,oBAAoB,CAAC,CAAC,CAAC;EACxC;EAEA,OAAOJ,OAAO,CAACD,kBAAkB,CAACG,oBAAoB,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serverUtil.js","names":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","setLoginPreferences","getSetting","IllegalArgumentException","initModels","getLocale","ModularUIRequest","createReduxStore","requestHref","customReducers","initialState","history","initialEntries","toString","store","setI18n","locales","arguments","length","undefined","request","Array","isArray","mergedLocales","_mapInstanceProperty","call","locale","code","customLocale","_findInstanceProperty","custLocale","forEach","some","push","enabledLocales","_filterInstanceProperty","_context","_includesInstanceProperty","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWithInstanceProperty","dataFetcher","fetch","Error","setApplication","getState","application","fetchSync","connectKey","key","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_JSON$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":["createMemoryHistory","has","deepmerge","configureStore","availableLocales","Locales","getPreferredLocale","setLocales","setServerPreference","setThemePreference","setPreference","setAllContentInDataSetting","setLoginPreferences","getSetting","IllegalArgumentException","initModels","getLocale","ModularUIRequest","createReduxStore","requestHref","customReducers","initialState","history","initialEntries","toString","store","setI18n","locales","arguments","length","undefined","request","Array","isArray","mergedLocales","_mapInstanceProperty","call","locale","code","customLocale","_findInstanceProperty","custLocale","forEach","some","push","enabledLocales","_filterInstanceProperty","_context","_includesInstanceProperty","localesInstance","preferredLocale","dispatch","setServerPreferencesFromArray","serverPreferences","serverPreference","name","defaultValue","type","setServerPreferences","preferencesProvider","isStudioContext","setConfigurationTheme","configTheme","configFileLocation","getLayoutConfigFileLocation","configFilePath","_startsWithInstanceProperty","dataFetcher","fetch","Error","setApplication","getState","application","fetchSync","connectKey","key","model","e","handleErrors","state","error","shouldThrowOnServer","dehydrate","modularui","status","lastModification","filteredState","_JSON$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 +1 @@
1
- {"version":3,"file":"createTheme.js","names":["flattenDeep","isPlainObject","setSettings","replacePlaceholders","inputTheme","_context","possibleKeys","_mapInstanceProperty","_Object$keys","call","key","join","re","RegExp","_Object$entries","forEach","_ref","value","replace","match","capture","generateTheme","storedTheme","generatedTheme","settings","_len","arguments","length","themeElements","Array","_key","element","createTheme","_len2","themeConfigs","_key2","customTheme"],"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,OAAOA,WAAW,MAAM,oBAAoB;AAE5C,SAASC,aAAa,QAAQ,0BAA0B;AAExD,SAASC,WAAW,QAAQ,uBAAuB;AAInD,MAAMC,mBAAmB,GAAIC,UAAiB,IAAK;EAAA,IAAAC,QAAA;EACjD,MAAMC,YAAY,GAAGC,oBAAA,CAAAF,QAAA,GAAAG,YAAA,CAAYJ,UAAU,CAAC,EAAAK,IAAA,CAAAJ,QAAA,EACpCK,GAAG,IAAM,MAAKA,GAAI,KAAI,CAAC,CAC5BC,IAAI,CAAC,GAAG,CAAC;EAEZ,MAAMC,EAAE,GAAG,IAAIC,MAAM,CAAE,OAAMP,YAAa,GAAE,EAAE,GAAG,CAAC;EAClDQ,eAAA,CAAeV,UAAU,CAAC,CAACW,OAAO,CAACC,IAAA,IAAkB;IAAA,IAAjB,CAACN,GAAG,EAAEO,KAAK,CAAC,GAAAD,IAAA;IAC9C,IAAIN,GAAG,KAAK,UAAU,IAAI,OAAOO,KAAK,KAAK,QAAQ,EAAE;MACnDb,UAAU,CAACM,GAAG,CAAC,GAAGO,KAAK,CAACC,OAAO,CAC7BN,EAAE;MACF;MACA,CAACO,KAAK,EAAEC,OAAO,KAAKhB,UAAU,CAACgB,OAAO,CACxC,CAAC;IACH;EACF,CAAC,CAAC;EAEF,OAAOhB,UAAU;AACnB,CAAC;AAED,MAAMiB,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,CAAC5B,mBAAmB,CAACoB,cAAc,CAAC,CAAC;IAC/D,CAAC,MAAM,IAAItB,aAAa,CAAC8B,OAAO,CAAC,EAAE;MACjC;MACAR,cAAc,GAAG;QAAE,GAAGA,cAAc;QAAE,GAAGQ,OAAO;QAAE,GAAGT;MAAY,CAAC;IACpE;EACF;;EAEA;EACA,OAAOnB,mBAAmB,CAACoB,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,MAAMS,WAAW,GAAG,SAAAA,CAClBV,WAAkB,EAUX;EAAA,SAAAW,KAAA,GAAAP,SAAA,CAAAC,MAAA,EATJO,YAAY,OAAAL,KAAA,CAAAI,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAZD,YAAY,CAAAC,KAAA,QAAAT,SAAA,CAAAS,KAAA;EAAA;EAUf,MAAMC,WAAW,GAAGf,aAAa,CAACC,WAAW,EAAE,GAAGtB,WAAW,CAACkC,YAAY,CAAC,CAAC;EAE5E,IAAIE,WAAW,EAAE;IACflC,WAAW,CAACkC,WAAW,CAACZ,QAAQ,CAAC;EACnC;EAEA,OAAOY,WAAW;AACpB,CAAC;AAED,eAAeJ,WAAW"}
1
+ {"version":3,"file":"createTheme.js","names":["flattenDeep","isPlainObject","setSettings","replacePlaceholders","inputTheme","_context","possibleKeys","_mapInstanceProperty","_Object$keys","call","key","join","re","RegExp","_Object$entries","forEach","_ref","value","replace","match","capture","generateTheme","storedTheme","generatedTheme","settings","_len","arguments","length","themeElements","Array","_key","element","createTheme","_len2","themeConfigs","_key2","customTheme"],"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,OAAOA,WAAW,MAAM,oBAAoB;AAE5C,SAASC,aAAa,QAAQ,0BAA0B;AAExD,SAASC,WAAW,QAAQ,uBAAuB;AAInD,MAAMC,mBAAmB,GAAIC,UAAiB,IAAK;EAAA,IAAAC,QAAA;EACjD,MAAMC,YAAY,GAAGC,oBAAA,CAAAF,QAAA,GAAAG,YAAA,CAAYJ,UAAU,CAAC,EAAAK,IAAA,CAAAJ,QAAA,EACpCK,GAAG,IAAM,MAAKA,GAAI,KAAI,CAAC,CAC5BC,IAAI,CAAC,GAAG,CAAC;EAEZ,MAAMC,EAAE,GAAG,IAAIC,MAAM,CAAE,OAAMP,YAAa,GAAE,EAAE,GAAG,CAAC;EAClDQ,eAAA,CAAeV,UAAU,CAAC,CAACW,OAAO,CAACC,IAAA,IAAkB;IAAA,IAAjB,CAACN,GAAG,EAAEO,KAAK,CAAC,GAAAD,IAAA;IAC9C,IAAIN,GAAG,KAAK,UAAU,IAAI,OAAOO,KAAK,KAAK,QAAQ,EAAE;MACnDb,UAAU,CAACM,GAAG,CAAC,GAAGO,KAAK,CAACC,OAAO,CAC7BN,EAAE;MACF;MACA,CAACO,KAAK,EAAEC,OAAO,KAAKhB,UAAU,CAACgB,OAAO,CACxC,CAAC;IACH;EACF,CAAC,CAAC;EAEF,OAAOhB,UAAU;AACnB,CAAC;AAED,MAAMiB,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,CAAC5B,mBAAmB,CAACoB,cAAc,CAAC,CAAC;IAC/D,CAAC,MAAM,IAAItB,aAAa,CAAC8B,OAAO,CAAC,EAAE;MACjC;MACAR,cAAc,GAAG;QAAE,GAAGA,cAAc;QAAE,GAAGQ,OAAO;QAAE,GAAGT;MAAY,CAAC;IACpE;EACF;;EAEA;EACA,OAAOnB,mBAAmB,CAACoB,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,MAAMS,WAAW,GAAG,SAAAA,CAClBV,WAAkB,EAUX;EAAA,SAAAW,KAAA,GAAAP,SAAA,CAAAC,MAAA,EATJO,YAAY,OAAAL,KAAA,CAAAI,KAAA,OAAAA,KAAA,WAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;IAAZD,YAAY,CAAAC,KAAA,QAAAT,SAAA,CAAAS,KAAA;EAAA;EAUf,MAAMC,WAAW,GAAGf,aAAa,CAACC,WAAW,EAAE,GAAGtB,WAAW,CAACkC,YAAY,CAAC,CAAC;EAE5E,IAAIE,WAAW,EAAE;IACflC,WAAW,CAACkC,WAAW,CAACZ,QAAQ,CAAC;EACnC;EAEA,OAAOY,WAAW;AACpB,CAAC;AAED,eAAeJ,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","names":["darken","hsl","lighten","parseToHsl","getThemeProp","darkenColor","amount","path","defaultValue","_ref","theme","lightenColor","_ref2","changeHSL","color","saturation","lightness","hueAdjustment","arguments","length","undefined","hue"],"sources":["../../../src/react-theme/utils/colors.js"],"sourcesContent":["// @flow\nimport { darken, hsl, lighten, parseToHsl } from \"polished\";\nimport { getThemeProp } from \"./themeProps\";\n\nimport type { UtilThemeProps } from \"../types\";\n\n/*\n * Themed color x amount darkened\n */\n/**\n */\nconst darkenColor =\n (\n amount: number | string,\n path: string,\n defaultValue?: string\n ): ((UtilThemeProps) => string) =>\n ({ theme }: UtilThemeProps) =>\n darken(amount, getThemeProp(theme, path, defaultValue));\n\n/*\n * Themed color x amount lightened\n */\n/**\n */\nconst lightenColor =\n (\n amount: number | string,\n path: string,\n defaultValue?: string\n ): ((UtilThemeProps) => string) =>\n ({ theme }: UtilThemeProps) =>\n lighten(amount, getThemeProp(theme, path, defaultValue));\n\n/*\n * Make a color lighter or darker in the same color family\n */\n/**\n */\nconst changeHSL = (\n color: string,\n saturation?: number,\n lightness?: number,\n hueAdjustment: number = 0\n): string => hsl(parseToHsl(color).hue + hueAdjustment, saturation, lightness);\n\nexport { darkenColor, lightenColor, changeHSL };\n"],"mappings":"AACA,SAASA,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,UAAU,QAAQ,UAAU;AAC3D,SAASC,YAAY,QAAQ,cAAc;AAI3C;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GACfA,CACEC,MAAuB,EACvBC,IAAY,EACZC,YAAqB,KAEvBC,IAAA;EAAA,IAAC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAAA,OACxBT,MAAM,CAACM,MAAM,EAAEF,YAAY,CAACM,KAAK,EAAEH,IAAI,EAAEC,YAAY,CAAC,CAAC;AAAA;;AAE3D;AACA;AACA;AACA;AACA;AACA,MAAMG,YAAY,GAChBA,CACEL,MAAuB,EACvBC,IAAY,EACZC,YAAqB,KAEvBI,KAAA;EAAA,IAAC;IAAEF;EAAsB,CAAC,GAAAE,KAAA;EAAA,OACxBV,OAAO,CAACI,MAAM,EAAEF,YAAY,CAACM,KAAK,EAAEH,IAAI,EAAEC,YAAY,CAAC,CAAC;AAAA;;AAE5D;AACA;AACA;AACA;AACA;AACA,MAAMK,SAAS,GAAG,SAAAA,CAChBC,KAAa,EACbC,UAAmB,EACnBC,SAAkB;EAAA,IAClBC,aAAqB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OACdjB,GAAG,CAACE,UAAU,CAACW,KAAK,CAAC,CAACO,GAAG,GAAGJ,aAAa,EAAEF,UAAU,EAAEC,SAAS,CAAC;AAAA;AAE9E,SAASX,WAAW,EAAEM,YAAY,EAAEE,SAAS"}
1
+ {"version":3,"file":"colors.js","names":["darken","hsl","lighten","parseToHsl","getThemeProp","darkenColor","amount","path","defaultValue","_ref","theme","lightenColor","_ref2","changeHSL","color","saturation","lightness","hueAdjustment","arguments","length","undefined","hue"],"sources":["../../../src/react-theme/utils/colors.js"],"sourcesContent":["// @flow\nimport { darken, hsl, lighten, parseToHsl } from \"polished\";\nimport { getThemeProp } from \"./themeProps\";\n\nimport type { UtilThemeProps } from \"../types\";\n\n/*\n * Themed color x amount darkened\n */\n/**\n */\nconst darkenColor =\n (\n amount: number | string,\n path: string,\n defaultValue?: string,\n ): ((UtilThemeProps) => string) =>\n ({ theme }: UtilThemeProps) =>\n darken(amount, getThemeProp(theme, path, defaultValue));\n\n/*\n * Themed color x amount lightened\n */\n/**\n */\nconst lightenColor =\n (\n amount: number | string,\n path: string,\n defaultValue?: string,\n ): ((UtilThemeProps) => string) =>\n ({ theme }: UtilThemeProps) =>\n lighten(amount, getThemeProp(theme, path, defaultValue));\n\n/*\n * Make a color lighter or darker in the same color family\n */\n/**\n */\nconst changeHSL = (\n color: string,\n saturation?: number,\n lightness?: number,\n hueAdjustment: number = 0,\n): string => hsl(parseToHsl(color).hue + hueAdjustment, saturation, lightness);\n\nexport { darkenColor, lightenColor, changeHSL };\n"],"mappings":"AACA,SAASA,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,UAAU,QAAQ,UAAU;AAC3D,SAASC,YAAY,QAAQ,cAAc;AAI3C;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAW,GACfA,CACEC,MAAuB,EACvBC,IAAY,EACZC,YAAqB,KAEvBC,IAAA;EAAA,IAAC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAAA,OACxBT,MAAM,CAACM,MAAM,EAAEF,YAAY,CAACM,KAAK,EAAEH,IAAI,EAAEC,YAAY,CAAC,CAAC;AAAA;;AAE3D;AACA;AACA;AACA;AACA;AACA,MAAMG,YAAY,GAChBA,CACEL,MAAuB,EACvBC,IAAY,EACZC,YAAqB,KAEvBI,KAAA;EAAA,IAAC;IAAEF;EAAsB,CAAC,GAAAE,KAAA;EAAA,OACxBV,OAAO,CAACI,MAAM,EAAEF,YAAY,CAACM,KAAK,EAAEH,IAAI,EAAEC,YAAY,CAAC,CAAC;AAAA;;AAE5D;AACA;AACA;AACA;AACA;AACA,MAAMK,SAAS,GAAG,SAAAA,CAChBC,KAAa,EACbC,UAAmB,EACnBC,SAAkB;EAAA,IAClBC,aAAqB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OACdjB,GAAG,CAACE,UAAU,CAACW,KAAK,CAAC,CAACO,GAAG,GAAGJ,aAAa,EAAEF,UAAU,EAAEC,SAAS,CAAC;AAAA;AAE9E,SAASX,WAAW,EAAEM,YAAY,EAAEE,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"contrast.js","names":["getLuminance","parseToRgb","getThemeStringProp","getProp","ThemePropertyException","getColorContrast","color1","color2","luminance1","luminance2","parseFloat","toFixed","getYIQ","color","rgb","red","green","blue","getContrastYIQ","dark","arguments","length","undefined","light","preferredColor","yiqColor","darkColor","lightColor","getBackgroundColor","theme","bgColorProperty","defaultValue","bgColor","backgroundColor","renderContrastColor","preferredColorProperty","standardDarkProperty","standardLightProperty","_ref","settings"],"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":["getLuminance","parseToRgb","getThemeStringProp","getProp","ThemePropertyException","getColorContrast","color1","color2","luminance1","luminance2","parseFloat","toFixed","getYIQ","color","rgb","red","green","blue","getContrastYIQ","dark","arguments","length","undefined","light","preferredColor","yiqColor","darkColor","lightColor","getBackgroundColor","theme","bgColorProperty","defaultValue","bgColor","backgroundColor","renderContrastColor","preferredColorProperty","standardDarkProperty","standardLightProperty","_ref","settings"],"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 +1 @@
1
- {"version":3,"file":"corners.js","names":["getThemeStringProp","DEFAULT_CORNER_PROPERTY","roundedCorners","property","arguments","length","undefined","path","defaultValue","_ref","theme","settings","ROUNDED_CORNERS","propertyName"],"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,SAASA,kBAAkB,QAAQ,cAAc;AAIjD,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,KAAIb,kBAAkB,CAC3CU,KAAK,EACLH,IAAI,EACJC,YACF,CAAE,EAAC;IACL;IAEA,OAAO,EAAE;EACX,CAAC;AAAA;AAEH,SAASN,cAAc"}
1
+ {"version":3,"file":"corners.js","names":["getThemeStringProp","DEFAULT_CORNER_PROPERTY","roundedCorners","property","arguments","length","undefined","path","defaultValue","_ref","theme","settings","ROUNDED_CORNERS","propertyName"],"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,SAASA,kBAAkB,QAAQ,cAAc;AAIjD,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,KAAIb,kBAAkB,CAC3CU,KAAK,EACLH,IAAI,EACJC,YACF,CAAE,EAAC;IACL;IAEA,OAAO,EAAE;EACX,CAAC;AAAA;AAEH,SAASN,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"spacers.js","names":["Big","IllegalArgumentException","IllegalStateException","getSize","theme","ratio","arguments","length","undefined","path","unit","size","times","_JSON$stringify","spacer","_ref","settings","spacers","_len","ratios","Array","_key","_ref2","_mapInstanceProperty","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":";;AACA,OAAOA,GAAG,MAAM,QAAQ;AAGxB,OAAOC,wBAAwB,MAAM,2CAA2C;AAChF,OAAOC,qBAAqB,MAAM,wCAAwC;;AAE1E;AACA;AACA,MAAMC,OAAO,GAAG,SAAAA,CACdC,KAAY,EAIT;EAAA,IAHHC,KAAsB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAC1BG,IAAY,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,QAAQ;EAAA,IACvBI,IAAY,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEpB,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAI,OAAOD,KAAK,CAACK,IAAI,CAAC,KAAK,QAAQ,EAAE;MACnC,MAAME,IAAI,GAAGX,GAAG,CAACK,KAAK,CAAC,CAACO,KAAK,CAACR,KAAK,CAACK,IAAI,CAAC,CAAC;MAC1C,OAAQ,GAAEE,IAAK,GAAED,IAAK,EAAC;IACzB;IACA,MAAM,IAAIR,qBAAqB,CAAE,QAAOO,IAAK,mBAAkB,CAAC;EAClE;EAEA,MAAM,IAAIR,wBAAwB,CAC/B,SAAQY,eAAA,CAAeR,KAAK,CAAE,6BACjC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMS,MAAM,GACV,SAAAA,CAAA;EAAA,IAACT,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAClBS,IAAA;IAAA,IAAC;MAAEX,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAD,IAAA;IAAA,OAC3CZ,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC;EAAA;AAAA;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMY,OAAO,GACX,SAAAA,CAAA;EAAA,SAAAC,IAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAIY,MAAM,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAANF,MAAM,CAAAE,IAAA,IAAAf,SAAA,CAAAe,IAAA;EAAA;EAAA,OACVC,KAAA;IAAA,IAAC;MAAElB,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAM,KAAA;IAAA,OAC3CC,oBAAA,CAAAJ,MAAM,EAAAK,IAAA,CAANL,MAAM,EAAMd,KAAK,IAAKF,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAC,CAACoB,IAAI,CAAC,GAAG,CAAC;EAAA;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GACV,SAAAA,CAAA;EAAA,IAACrB,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAClBqB,KAAA;IAAA,IAAC;MAAEvB,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAW,KAAA;IAAA,OAC3CxB,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;EAAA;AAAA;AAE9C,SAASS,MAAM,EAAEG,OAAO,EAAES,MAAM"}
1
+ {"version":3,"file":"spacers.js","names":["Big","IllegalArgumentException","IllegalStateException","getSize","theme","ratio","arguments","length","undefined","path","unit","size","times","_JSON$stringify","spacer","_ref","settings","spacers","_len","ratios","Array","_key","_ref2","_mapInstanceProperty","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":";;AACA,OAAOA,GAAG,MAAM,QAAQ;AAGxB,OAAOC,wBAAwB,MAAM,2CAA2C;AAChF,OAAOC,qBAAqB,MAAM,wCAAwC;;AAE1E;AACA;AACA,MAAMC,OAAO,GAAG,SAAAA,CACdC,KAAY,EAIT;EAAA,IAHHC,KAAsB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,IAC1BG,IAAY,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,QAAQ;EAAA,IACvBI,IAAY,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEpB,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAI,OAAOD,KAAK,CAACK,IAAI,CAAC,KAAK,QAAQ,EAAE;MACnC,MAAME,IAAI,GAAGX,GAAG,CAACK,KAAK,CAAC,CAACO,KAAK,CAACR,KAAK,CAACK,IAAI,CAAC,CAAC;MAC1C,OAAQ,GAAEE,IAAK,GAAED,IAAK,EAAC;IACzB;IACA,MAAM,IAAIR,qBAAqB,CAAE,QAAOO,IAAK,mBAAkB,CAAC;EAClE;EAEA,MAAM,IAAIR,wBAAwB,CAC/B,SAAQY,eAAA,CAAeR,KAAK,CAAE,6BACjC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMS,MAAM,GACV,SAAAA,CAAA;EAAA,IAACT,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAClBS,IAAA;IAAA,IAAC;MAAEX,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAD,IAAA;IAAA,OAC3CZ,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC;EAAA;AAAA;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMY,OAAO,GACX,SAAAA,CAAA;EAAA,SAAAC,IAAA,GAAAZ,SAAA,CAAAC,MAAA,EAAIY,MAAM,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAANF,MAAM,CAAAE,IAAA,IAAAf,SAAA,CAAAe,IAAA;EAAA;EAAA,OACVC,KAAA;IAAA,IAAC;MAAElB,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAM,KAAA;IAAA,OAC3CC,oBAAA,CAAAJ,MAAM,EAAAK,IAAA,CAANL,MAAM,EAAMd,KAAK,IAAKF,OAAO,CAACC,KAAK,EAAEC,KAAK,CAAC,CAAC,CAACoB,IAAI,CAAC,GAAG,CAAC;EAAA;AAAA;;AAE1D;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GACV,SAAAA,CAAA;EAAA,IAACrB,KAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAAA,OAClBqB,KAAA;IAAA,IAAC;MAAEvB,KAAK,GAAG;QAAEY,QAAQ,EAAE,CAAC;MAAE;IAAkB,CAAC,GAAAW,KAAA;IAAA,OAC3CxB,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;EAAA;AAAA;AAE9C,SAASS,MAAM,EAAEG,OAAO,EAAES,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"themeProps.js","names":["get","ThemePropertyException","getProp","theme","arguments","length","undefined","path","defaultValue","getThemeProp","value","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":["get","ThemePropertyException","getProp","theme","arguments","length","undefined","path","defaultValue","getThemeProp","value","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":["startProgress","finishProgress","receiveLocale","locale","type","payload","updateLocale","dispatch","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,SAASA,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAM5E;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMG,YAAY,GACtBH,MAAc,IACdI,QAAQ,IAAK;EACZA,QAAQ,CAACP,aAAa,CAAC,CAAC,CAAC;EACzBO,QAAQ,CAACL,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BI,QAAQ,CAACN,cAAc,CAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AACA,OAAO,MAAMO,UAAU,GAAGA,CACxBC,OAAgB,EAChBN,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPI,OAAO;IACPN;EACF;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"I18nActions.js","names":["startProgress","finishProgress","receiveLocale","locale","type","payload","updateLocale","dispatch","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,SAASA,aAAa,EAAEC,cAAc,QAAQ,8BAA8B;AAM5E;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAIC,MAAc,KAA0B;EACpEC,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAEF;AACX,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,MAAMG,YAAY,GACtBH,MAAc,IACdI,QAAQ,IAAK;EACZA,QAAQ,CAACP,aAAa,CAAC,CAAC,CAAC;EACzBO,QAAQ,CAACL,aAAa,CAACC,MAAM,CAAC,CAAC;EAE/BI,QAAQ,CAACN,cAAc,CAAC,CAAC,CAAC;AAC5B,CAAC;;AAEH;AACA;AACA,OAAO,MAAMO,UAAU,GAAGA,CACxBC,OAAgB,EAChBN,MAAc,MACQ;EACtBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAE;IACPI,OAAO;IACPN;EACF;AACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nReducer.js","names":["Cache","setCookie","Locales","updateLocale","state","locale","clear","setLocales","_ref","locales","initialState","I18nReducer","arguments","length","undefined","action","type","payload"],"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,OAAOA,KAAK,MAAM,2BAA2B;AAC7C,SAASC,SAAS,QAAQ,6BAA6B;AAEvD,OAAOC,OAAO,MAAM,oBAAoB;AAMxC;AACA;AACA,MAAMC,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACAJ,SAAS,CAAC,QAAQ,EAAEI,MAAM,CAAC;;EAE3B;EACAL,KAAK,CAACM,KAAK,CAAC,CAAC;EAEb,OAAO;IACL,GAAGF,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAME,UAAU,GAAGA,CACjBH,KAAgB,EAAAI,IAAA,KAEb;EAAA,IADH;IAAEH,MAAM;IAAEI;EAA8C,CAAC,GAAAD,IAAA;EAEzD;EACAP,SAAS,CAAC,QAAQ,EAAEI,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRK,OAAO;MACPJ;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRK;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BD,OAAO,EAAE,IAAIP,OAAO,CAAC,CAAC;EACtBG,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHP,KAAK,GAAAQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGF,YAAY;EAAA,IACpBK,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACG,MAAM,EAAE;IACX,OAAOX,KAAK;EACd;EAEA,QAAQW,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOT,UAAU,CAACH,KAAK,EAAEW,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOd,YAAY,CAACC,KAAK,EAAEW,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOb,KAAK;EAChB;AACF,CAAC"}
1
+ {"version":3,"file":"I18nReducer.js","names":["Cache","setCookie","Locales","updateLocale","state","locale","clear","setLocales","_ref","locales","initialState","I18nReducer","arguments","length","undefined","action","type","payload"],"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,OAAOA,KAAK,MAAM,2BAA2B;AAC7C,SAASC,SAAS,QAAQ,6BAA6B;AAEvD,OAAOC,OAAO,MAAM,oBAAoB;AAMxC;AACA;AACA,MAAMC,YAAY,GAAGA,CAACC,KAAgB,EAAEC,MAAc,KAAK;EACzD;EACAJ,SAAS,CAAC,QAAQ,EAAEI,MAAM,CAAC;;EAE3B;EACAL,KAAK,CAACM,KAAK,CAAC,CAAC;EAEb,OAAO;IACL,GAAGF,KAAK;IACRC;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA,MAAME,UAAU,GAAGA,CACjBH,KAAgB,EAAAI,IAAA,KAEb;EAAA,IADH;IAAEH,MAAM;IAAEI;EAA8C,CAAC,GAAAD,IAAA;EAEzD;EACAP,SAAS,CAAC,QAAQ,EAAEI,MAAM,CAAC;EAE3B,IAAIA,MAAM,EAAE;IACV,OAAO;MACL,GAAGD,KAAK;MACRK,OAAO;MACPJ;IACF,CAAC;EACH;EAEA,OAAO;IACL,GAAGD,KAAK;IACRK;EACF,CAAC;AACH,CAAC;;AAED;AACA,MAAMC,YAAuB,GAAG;EAC9BD,OAAO,EAAE,IAAIP,OAAO,CAAC,CAAC;EACtBG,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMM,WAA4C,GAAG,SAAAA,CAAA,EAGvD;EAAA,IAFHP,KAAK,GAAAQ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGF,YAAY;EAAA,IACpBK,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK,CAAC;EAEf,IAAI,CAACG,MAAM,EAAE;IACX,OAAOX,KAAK;EACd;EAEA,QAAQW,MAAM,CAACC,IAAI;IACjB,KAAK,aAAa;MAChB,OAAOT,UAAU,CAACH,KAAK,EAAEW,MAAM,CAACE,OAAO,CAAC;IAE1C,KAAK,eAAe;MAClB,OAAOd,YAAY,CAACC,KAAK,EAAEW,MAAM,CAACE,OAAO,CAAC;IAE5C;MACE,OAAOb,KAAK;EAChB;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIActions.js","names":["HTTP_METHODS","MODULARUI_STATUS","Href","ErrorResponse","finishProgress","startProgress","handleError","setModel","key","model","connectKey","type","payload","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","modelToUpdate","clonedModel","clone","update","Error","loadModel","href","options","method","GET","data","locale","childmodels","targetModel","forceTargetModel","successAction","errorAction","error","errorResponse","isChangePassword","isResourceNotFoundAfterReload","ERROR","loadModularUI","dispatch","LOADING","loadModelPromise","_Promise","resolve","then","response","FINISHED","catch","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":"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"}
1
+ {"version":3,"file":"ModularUIActions.js","names":["HTTP_METHODS","MODULARUI_STATUS","Href","ErrorResponse","finishProgress","startProgress","handleError","setModel","key","model","connectKey","type","payload","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","modelToUpdate","clonedModel","clone","update","Error","loadModel","href","options","method","GET","data","locale","childmodels","targetModel","forceTargetModel","successAction","errorAction","error","errorResponse","isChangePassword","isResourceNotFoundAfterReload","ERROR","loadModularUI","dispatch","LOADING","loadModelPromise","_Promise","resolve","then","response","FINISHED","catch","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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIConnector.js","names":["useEffect","useDispatch","useLocation","loadModularUI","reloadModel","removeModelByKey","Href","getDisplayName","useUrl","useReload","useModularUI","useLocale","jsx","_jsx","modularUIConnector","name","resource","options","arguments","length","undefined","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","location","url","displayName","contextId","modelEntry","modelKey","model","connectKey","handleManualReload","reloadOptions","handleFetch","href","fetchOptions","reload","state","doReload","isReload","locale","newProps","status","lastModification","hasModel","Boolean","fetchModularUI"],"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":"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"}
1
+ {"version":3,"file":"ModularUIConnector.js","names":["useEffect","useDispatch","useLocation","loadModularUI","reloadModel","removeModelByKey","Href","getDisplayName","useUrl","useReload","useModularUI","useLocale","jsx","_jsx","modularUIConnector","name","resource","options","arguments","length","undefined","propName","removeOnUnmount","otherOptions","Component","WrappedComponent","props","dispatch","location","url","displayName","contextId","modelEntry","modelKey","model","connectKey","handleManualReload","reloadOptions","handleFetch","href","fetchOptions","reload","state","doReload","isReload","locale","newProps","status","lastModification","hasModel","Boolean","fetchModularUI"],"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":"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"}