studiokit-scaffolding-js 7.0.12-next.1.4 → 7.0.12-next.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/lib/components/ActionList.js +170 -34
  2. package/lib/components/AlertDialog.js +133 -9
  3. package/lib/components/AlertWithIcon.js +92 -25
  4. package/lib/components/ConnectedModal.js +43 -13
  5. package/lib/components/Dropdowns/GroupsDropdown.js +69 -44
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +100 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +111 -21
  8. package/lib/components/Dropdowns/index.js +27 -9
  9. package/lib/components/EntityOwnerList.js +52 -18
  10. package/lib/components/Error.js +106 -11
  11. package/lib/components/ErrorBoundary.js +134 -35
  12. package/lib/components/ErrorMessage.js +44 -9
  13. package/lib/components/Forms/DateField.js +61 -42
  14. package/lib/components/Forms/TimeField.js +81 -42
  15. package/lib/components/Forms/index.js +27 -4
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +114 -11
  17. package/lib/components/Groups/ExternalGroups/Attach.js +212 -148
  18. package/lib/components/Groups/ExternalGroups/Table.js +181 -45
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
  20. package/lib/components/Groups/RosterSyncInfo.js +147 -20
  21. package/lib/components/HOC/AccessibleAppComponent.js +98 -73
  22. package/lib/components/HOC/ActivityRequiredComponent.js +92 -49
  23. package/lib/components/HOC/AsyncComponent.js +54 -39
  24. package/lib/components/HOC/AuthenticatedComponent.js +58 -38
  25. package/lib/components/HOC/CollectionComponent.js +170 -110
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +51 -38
  27. package/lib/components/HOC/CollectionItemComponent.js +168 -106
  28. package/lib/components/HOC/ConnectedModalComponent.js +109 -80
  29. package/lib/components/HOC/DataDependentComponent.js +29 -21
  30. package/lib/components/HOC/EntityComponent.js +71 -57
  31. package/lib/components/HOC/FullscreenModalComponent.js +163 -123
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +45 -31
  33. package/lib/components/HOC/GuidComponent.js +29 -22
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +41 -31
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -47
  36. package/lib/components/HOC/SearchPersistorComponent.js +240 -166
  37. package/lib/components/HOC/UnauthenticatedComponent.js +37 -25
  38. package/lib/components/HOC/UserComponent.js +12 -7
  39. package/lib/components/Icons/IconAlphaList.js +33 -5
  40. package/lib/components/Icons/IconExternalUser.js +33 -5
  41. package/lib/components/Icons/IconImpersonation.js +33 -5
  42. package/lib/components/Icons/IconStopImpersonating.js +33 -5
  43. package/lib/components/Icons/IconTable.js +35 -7
  44. package/lib/components/Icons/IconTableDeleteCol.js +33 -5
  45. package/lib/components/Icons/IconTableDeleteRow.js +33 -5
  46. package/lib/components/Icons/IconTableInsertCol.js +33 -5
  47. package/lib/components/Icons/IconTableInsertRow.js +33 -5
  48. package/lib/components/Impersonation/Button.js +77 -13
  49. package/lib/components/Impersonation/Link.js +77 -13
  50. package/lib/components/Impersonation/UserDetail.js +66 -9
  51. package/lib/components/Loading.js +26 -4
  52. package/lib/components/LockDownBrowser/Check.js +194 -49
  53. package/lib/components/LockDownBrowser/ExitButton.js +26 -9
  54. package/lib/components/LockDownBrowser/Launch.js +70 -62
  55. package/lib/components/Lti/Confirm.js +152 -11
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -33
  57. package/lib/components/Lti/Launch.js +105 -24
  58. package/lib/components/Lti/LaunchGroup.js +85 -13
  59. package/lib/components/ManageTable.js +309 -87
  60. package/lib/components/ManageTableNoDataComponent.js +42 -4
  61. package/lib/components/NewVersionAlert.js +82 -46
  62. package/lib/components/NotFound.js +86 -10
  63. package/lib/components/Notifications.js +185 -126
  64. package/lib/components/PaginationNextButton.js +33 -6
  65. package/lib/components/PaginationPreviousButton.js +33 -6
  66. package/lib/components/Quill/CustomToolbar.js +432 -218
  67. package/lib/components/Quill/Formats/Image.js +73 -63
  68. package/lib/components/Quill/Formats/List.js +45 -45
  69. package/lib/components/Quill/Formats/Video.js +28 -24
  70. package/lib/components/Quill/ImageDropModule.js +147 -117
  71. package/lib/components/Quill/ImageWarning.js +47 -9
  72. package/lib/components/Quill/ImageWithAltTextModal.js +425 -86
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +42 -34
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +34 -28
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +98 -98
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +52 -47
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +53 -48
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +224 -221
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +80 -83
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +75 -70
  81. package/lib/components/Quill/TableModule/constants.js +45 -41
  82. package/lib/components/Quill/TableModule/index.js +362 -301
  83. package/lib/components/Quill/TableModule/utils.js +42 -38
  84. package/lib/components/Quill/accessibilityFix.js +234 -232
  85. package/lib/components/Quill/index.js +34 -28
  86. package/lib/components/RefreshIndicator/Bordered.js +47 -6
  87. package/lib/components/RefreshIndicator/Inline.js +47 -8
  88. package/lib/components/RefreshIndicator/index.js +263 -59
  89. package/lib/components/SearchControls.js +216 -11
  90. package/lib/components/SentryRoute.js +11 -6
  91. package/lib/components/Tables/RoleFilter.js +69 -32
  92. package/lib/components/Tables/TextFilter.js +62 -13
  93. package/lib/components/UserRoles/Add.js +199 -96
  94. package/lib/components/UserRoles/Context.js +11 -7
  95. package/lib/components/UserRoles/RoleCell.js +181 -72
  96. package/lib/components/UserRoles/Select.js +157 -17
  97. package/lib/components/UserRoles/Table.js +221 -80
  98. package/lib/components/UserRoles/index.js +534 -384
  99. package/lib/config/eslint/index.js +32 -28
  100. package/lib/config/eslint/lib/order.js +26 -27
  101. package/lib/config/eslint/lib/prettier.js +20 -18
  102. package/lib/config/eslint/lib/typescript.js +93 -112
  103. package/lib/config/eslint/react.js +24 -14
  104. package/lib/constants/baseActivity.js +30 -26
  105. package/lib/constants/baseRole.js +14 -10
  106. package/lib/constants/configuration.js +33 -29
  107. package/lib/constants/externalProviderType.js +10 -6
  108. package/lib/constants/fetchErrorData.js +15 -11
  109. package/lib/constants/index.js +137 -14
  110. package/lib/constants/lockDownBrowser.js +28 -24
  111. package/lib/constants/mockData.js +382 -297
  112. package/lib/constants/modelStatus.js +15 -11
  113. package/lib/constants/notificationType.js +12 -8
  114. package/lib/constants/operatingSystem.js +12 -8
  115. package/lib/constants/shard.js +11 -7
  116. package/lib/constants/table.js +21 -21
  117. package/lib/constants/tier.js +12 -8
  118. package/lib/constants/userRole.js +15 -5
  119. package/lib/endpointMappings.js +197 -181
  120. package/lib/hooks/useCollection.js +82 -62
  121. package/lib/hooks/useCollectionConfiguration.js +228 -83
  122. package/lib/hooks/useCollectionItem.js +154 -54
  123. package/lib/hooks/useGuid.js +20 -8
  124. package/lib/hooks/usePrevious.js +19 -13
  125. package/lib/index.js +157 -25
  126. package/lib/redux/actionCreator.js +50 -28
  127. package/lib/redux/actions/AuthAction.js +44 -31
  128. package/lib/redux/actions/ModalAction.js +10 -6
  129. package/lib/redux/actions/ModelAction.js +77 -39
  130. package/lib/redux/actions/NotificationAction.js +10 -6
  131. package/lib/redux/actions/SearchAction.js +9 -5
  132. package/lib/redux/actions/index.js +60 -7
  133. package/lib/redux/configureReducers.js +60 -49
  134. package/lib/redux/configureStore.js +83 -87
  135. package/lib/redux/helpers.js +6 -2
  136. package/lib/redux/reducers/authReducer.js +50 -43
  137. package/lib/redux/reducers/index.js +41 -13
  138. package/lib/redux/reducers/modalsReducer.js +47 -29
  139. package/lib/redux/reducers/modelsReducer.js +178 -173
  140. package/lib/redux/reducers/notificationsReducer.js +24 -18
  141. package/lib/redux/reducers/searchReducer.js +25 -19
  142. package/lib/redux/sagas/appInsightsSaga.js +22 -18
  143. package/lib/redux/sagas/authSaga.js +253 -218
  144. package/lib/redux/sagas/caliperSaga.js +159 -143
  145. package/lib/redux/sagas/clockOffsetSaga.js +34 -31
  146. package/lib/redux/sagas/configurationSaga.js +11 -7
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +20 -17
  148. package/lib/redux/sagas/errorSaga.js +27 -21
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +28 -24
  150. package/lib/redux/sagas/identityProviderSaga.js +22 -18
  151. package/lib/redux/sagas/initialDataLoadSaga.js +37 -28
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +29 -20
  153. package/lib/redux/sagas/modelFetchSaga.js +355 -322
  154. package/lib/redux/sagas/noStoreSaga.js +61 -48
  155. package/lib/redux/sagas/postLoginDataSaga.js +45 -34
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +27 -27
  157. package/lib/redux/sagas/rootSaga.js +82 -57
  158. package/lib/redux/sagas/sentrySaga.js +29 -25
  159. package/lib/redux/sagas/userIdSaga.js +16 -12
  160. package/lib/services/codeProviderService.js +25 -19
  161. package/lib/services/dateService.js +12 -7
  162. package/lib/services/documentService.js +17 -12
  163. package/lib/services/fetchService.js +129 -112
  164. package/lib/services/persistenceService.js +33 -29
  165. package/lib/services/ticketProviderService.js +29 -23
  166. package/lib/services/tokenPersistenceService.js +12 -8
  167. package/lib/services/windowService.js +18 -14
  168. package/lib/startup.js +132 -114
  169. package/lib/types/AppConfiguration.js +5 -1
  170. package/lib/types/Artifact.js +11 -7
  171. package/lib/types/BaseReduxState.js +5 -1
  172. package/lib/types/Client.js +5 -1
  173. package/lib/types/Collection.js +5 -1
  174. package/lib/types/Configuration.js +5 -1
  175. package/lib/types/DeepLinkingResponseRequest.js +5 -1
  176. package/lib/types/DeletableModel.js +5 -1
  177. package/lib/types/Event.js +5 -1
  178. package/lib/types/ExternalGroup.js +5 -1
  179. package/lib/types/ExternalProvider.js +5 -1
  180. package/lib/types/ExternalTerm.js +5 -1
  181. package/lib/types/Group.js +5 -1
  182. package/lib/types/IdentityProvider.js +5 -1
  183. package/lib/types/LtiLaunch.js +5 -1
  184. package/lib/types/NameOnlyEntity.js +5 -1
  185. package/lib/types/Notification.js +5 -1
  186. package/lib/types/OptionalRecord.js +5 -1
  187. package/lib/types/OwnerSchedule.js +5 -1
  188. package/lib/types/PropertyOfType.js +5 -1
  189. package/lib/types/Quill.js +5 -1
  190. package/lib/types/RoleDescription.js +5 -1
  191. package/lib/types/Search.js +5 -1
  192. package/lib/types/SimpleLocation.js +5 -1
  193. package/lib/types/UniTime.js +5 -1
  194. package/lib/types/User.js +5 -1
  195. package/lib/types/UserRole.js +5 -1
  196. package/lib/types/auth/AuthState.js +5 -1
  197. package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
  198. package/lib/types/auth/ClientCredentials.js +5 -1
  199. package/lib/types/auth/CodeProviderService.js +5 -1
  200. package/lib/types/auth/LocalLoginRequestBody.js +5 -1
  201. package/lib/types/auth/TicketProviderService.js +5 -1
  202. package/lib/types/auth/TokenPersistenceService.js +5 -1
  203. package/lib/types/auth/index.js +82 -9
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +313 -30
  206. package/lib/types/net/EndpointConfig.js +5 -1
  207. package/lib/types/net/EndpointMapping.js +5 -1
  208. package/lib/types/net/EndpointMappings.js +5 -1
  209. package/lib/types/net/ErrorHandler.js +5 -1
  210. package/lib/types/net/FetchConfig.js +5 -1
  211. package/lib/types/net/FetchErrorData.js +10 -6
  212. package/lib/types/net/FetchResult.js +5 -1
  213. package/lib/types/net/HTTPMethod.js +5 -1
  214. package/lib/types/net/HTTPStatusCode.js +16 -12
  215. package/lib/types/net/Metadata.js +5 -1
  216. package/lib/types/net/Model.js +5 -1
  217. package/lib/types/net/ModelCollection.js +5 -1
  218. package/lib/types/net/ModelsState.js +5 -1
  219. package/lib/types/net/OAuthToken.js +5 -1
  220. package/lib/types/net/OAuthTokenOrNull.js +5 -1
  221. package/lib/types/net/TokenAccessFunction.js +5 -1
  222. package/lib/types/net/index.js +181 -18
  223. package/lib/utils/baseActivity.js +133 -123
  224. package/lib/utils/baseRole.js +37 -33
  225. package/lib/utils/collection.js +425 -298
  226. package/lib/utils/cookies.js +22 -19
  227. package/lib/utils/date.js +303 -279
  228. package/lib/utils/dom.js +176 -165
  229. package/lib/utils/domainIdentifier.js +9 -5
  230. package/lib/utils/entityUserRole.js +6 -2
  231. package/lib/utils/error.js +17 -15
  232. package/lib/utils/events.js +40 -31
  233. package/lib/utils/externalGroup.js +22 -18
  234. package/lib/utils/externalProviders.js +8 -4
  235. package/lib/utils/externalTerms.js +10 -3
  236. package/lib/utils/fetch.js +179 -180
  237. package/lib/utils/group.js +18 -7
  238. package/lib/utils/groupDates.js +37 -33
  239. package/lib/utils/groupRoles.js +25 -21
  240. package/lib/utils/lockDownBrowser.js +15 -11
  241. package/lib/utils/logger.js +26 -22
  242. package/lib/utils/lti.js +9 -4
  243. package/lib/utils/model.js +36 -41
  244. package/lib/utils/number.js +21 -18
  245. package/lib/utils/promise.js +28 -21
  246. package/lib/utils/quill.js +65 -62
  247. package/lib/utils/route.js +58 -55
  248. package/lib/utils/search.js +76 -80
  249. package/lib/utils/shard.js +37 -37
  250. package/lib/utils/sort.js +50 -42
  251. package/lib/utils/string.js +13 -8
  252. package/lib/utils/table.js +38 -33
  253. package/lib/utils/timezone.js +10 -6
  254. package/lib/utils/url.js +142 -142
  255. package/lib/utils/user.js +58 -55
  256. package/lib/utils/userAgent.js +10 -10
  257. package/lib/utils/userRole.js +57 -49
  258. package/package.json +17 -3
@@ -1,114 +1,176 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = void 0;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
4
7
  exports.configureCollectionItemComponent = configureCollectionItemComponent;
8
+ exports.configureMapStateToProps = void 0;
5
9
  exports.default = collectionItemComponent;
6
- const tslib_1 = require("tslib");
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const memoize_one_1 = tslib_1.__importDefault(require("memoize-one"));
9
- const react_1 = require("react");
10
- const react_redux_1 = require("react-redux");
11
- const react_router_1 = require("react-router");
12
- const modelStatus_1 = require("../../constants/modelStatus");
13
- const collection_1 = require("../../utils/collection");
14
- const model_1 = require("../../utils/model");
15
- const Loading_1 = require("../Loading");
16
- const GuidComponent_1 = require("./GuidComponent");
17
- function configureCollectionItemComponent(WrappedComponent, LoaderComponent = Loading_1.Loading) {
18
- return class CollectionItemComponent extends react_1.Component {
19
- constructor(props) {
20
- super(props);
21
- this.setModelStatus = (newModelStatus) => {
22
- this.setState(prevState => ({
23
- previousModelStatus: prevState.modelStatus,
24
- modelStatus: newModelStatus
25
- }));
26
- };
27
- this.getCollectionMethodConfig = () => {
28
- const { guid, modelName, pathParams, queryParams, disableAutoLoad } = this.props;
29
- const { modelStatus } = this.state;
30
- const collectionMethodConfig = {
31
- modelName,
32
- pathParams,
33
- queryParams,
34
- disableAutoLoad,
35
- guid,
36
- isInitialized: modelStatus !== modelStatus_1.MODEL_STATUS.UNINITIALIZED,
37
- changeModelStatus: this.setModelStatus
38
- };
39
- return collectionMethodConfig;
40
- };
41
- this.load = (params = {}) => {
42
- (0, collection_1.loadCollectionItem)(this.getCollectionMethodConfig(), params);
43
- };
44
- this.stopPeriodicLoad = (taskId) => {
45
- (0, collection_1.stopCollectionPeriodicLoad)(taskId);
46
- };
47
- this.create = (params) => {
48
- const { model } = this.props;
49
- (0, collection_1.createCollectionItem)(model, this.getCollectionMethodConfig(), params);
50
- };
51
- this.update = (params) => {
52
- const { model } = this.props;
53
- (0, collection_1.updateCollectionItem)(model, this.getCollectionMethodConfig(), params);
54
- };
55
- this.delete = (params = {}) => {
56
- const { model } = this.props;
57
- (0, collection_1.deleteCollectionItem)(model, this.getCollectionMethodConfig(), params);
58
- };
59
- this.getModelMinusRelations = (0, memoize_one_1.default)((model) => (0, model_1.getModelMinusRelations)(model));
60
- this.state = {
61
- // initializing until model is loaded, or if no model
62
- modelStatus: modelStatus_1.MODEL_STATUS.UNINITIALIZED,
63
- previousModelStatus: modelStatus_1.MODEL_STATUS.UNINITIALIZED
64
- };
65
- }
66
- componentDidMount() {
67
- const { model } = this.props;
68
- (0, collection_1.initializeCollectionItem)(model, this.load, this.getCollectionMethodConfig());
69
- }
70
- componentDidUpdate(prevProps) {
71
- const { model: prevModel, modelName: prevModelName, pathParams: prevPathParams, queryParams: prevQueryParams } = prevProps;
72
- const { modelName, model, pathParams, queryParams, disableAutoLoadOnParamsChange } = this.props;
73
- (0, model_1.handleModelFetchFinish)(model, prevModel, undefined, this.setModelStatus);
74
- if (!disableAutoLoadOnParamsChange) {
75
- (0, collection_1.handleCollectionItemParamsChange)(modelName, prevModelName, pathParams, prevPathParams, queryParams, prevQueryParams, this.load);
76
- }
77
- }
78
- render() {
79
- const _a = this.props, { history, match, location, staticContext } = _a, otherProps = tslib_1.__rest(_a, ["history", "match", "location", "staticContext"]);
80
- const { modelStatus, previousModelStatus } = this.state;
81
- if (modelStatus === modelStatus_1.MODEL_STATUS.UNINITIALIZED) {
82
- return (0, jsx_runtime_1.jsx)(LoaderComponent, {});
83
- }
84
- return ((0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, otherProps, { model: this.props.model, modelMinusRelations: this.getModelMinusRelations(this.props.model), modelStatus: modelStatus, previousModelStatus: previousModelStatus, load: this.load, stopPeriodicLoad: this.stopPeriodicLoad, create: this.create, update: this.update, delete: this.delete })));
85
- }
86
- };
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _memoizeOne = _interopRequireDefault(require("memoize-one"));
12
+ var _react = require("react");
13
+ var _reactRedux = require("react-redux");
14
+ var _reactRouter = require("react-router");
15
+ var _modelStatus = require("../../constants/modelStatus");
16
+ var _collection = require("../../utils/collection");
17
+ var _model = require("../../utils/model");
18
+ var _Loading = require("../Loading");
19
+ var _GuidComponent = require("./GuidComponent");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ /** The props passed into `CollectionItemComponent` from the user and other HOCs. */
22
+
23
+ /** The props passed down to the `WrappedComponent`. */
24
+
25
+ function configureCollectionItemComponent(WrappedComponent) {
26
+ let LoaderComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Loading.Loading;
27
+ return class CollectionItemComponent extends _react.Component {
28
+ constructor(props) {
29
+ var _this;
30
+ super(props);
31
+ _this = this;
32
+ (0, _defineProperty2.default)(this, "setModelStatus", newModelStatus => {
33
+ this.setState(prevState => ({
34
+ previousModelStatus: prevState.modelStatus,
35
+ modelStatus: newModelStatus
36
+ }));
37
+ });
38
+ (0, _defineProperty2.default)(this, "getCollectionMethodConfig", () => {
39
+ const {
40
+ guid,
41
+ modelName,
42
+ pathParams,
43
+ queryParams,
44
+ disableAutoLoad
45
+ } = this.props;
46
+ const {
47
+ modelStatus
48
+ } = this.state;
49
+ const collectionMethodConfig = {
50
+ modelName,
51
+ pathParams,
52
+ queryParams,
53
+ disableAutoLoad,
54
+ guid,
55
+ isInitialized: modelStatus !== _modelStatus.MODEL_STATUS.UNINITIALIZED,
56
+ changeModelStatus: this.setModelStatus
57
+ };
58
+ return collectionMethodConfig;
59
+ });
60
+ (0, _defineProperty2.default)(this, "load", function () {
61
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
62
+ (0, _collection.loadCollectionItem)(_this.getCollectionMethodConfig(), params);
63
+ });
64
+ (0, _defineProperty2.default)(this, "stopPeriodicLoad", taskId => {
65
+ (0, _collection.stopCollectionPeriodicLoad)(taskId);
66
+ });
67
+ (0, _defineProperty2.default)(this, "create", params => {
68
+ const {
69
+ model
70
+ } = this.props;
71
+ (0, _collection.createCollectionItem)(model, this.getCollectionMethodConfig(), params);
72
+ });
73
+ (0, _defineProperty2.default)(this, "update", params => {
74
+ const {
75
+ model
76
+ } = this.props;
77
+ (0, _collection.updateCollectionItem)(model, this.getCollectionMethodConfig(), params);
78
+ });
79
+ (0, _defineProperty2.default)(this, "delete", function () {
80
+ let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
81
+ const {
82
+ model
83
+ } = _this.props;
84
+ (0, _collection.deleteCollectionItem)(model, _this.getCollectionMethodConfig(), params);
85
+ });
86
+ (0, _defineProperty2.default)(this, "getModelMinusRelations", (0, _memoizeOne.default)(model => (0, _model.getModelMinusRelations)(model)));
87
+ this.state = {
88
+ // initializing until model is loaded, or if no model
89
+ modelStatus: _modelStatus.MODEL_STATUS.UNINITIALIZED,
90
+ previousModelStatus: _modelStatus.MODEL_STATUS.UNINITIALIZED
91
+ };
92
+ }
93
+ componentDidMount() {
94
+ const {
95
+ model
96
+ } = this.props;
97
+ (0, _collection.initializeCollectionItem)(model, this.load, this.getCollectionMethodConfig());
98
+ }
99
+ componentDidUpdate(prevProps) {
100
+ const {
101
+ model: prevModel,
102
+ modelName: prevModelName,
103
+ pathParams: prevPathParams,
104
+ queryParams: prevQueryParams
105
+ } = prevProps;
106
+ const {
107
+ modelName,
108
+ model,
109
+ pathParams,
110
+ queryParams,
111
+ disableAutoLoadOnParamsChange
112
+ } = this.props;
113
+ (0, _model.handleModelFetchFinish)(model, prevModel, undefined, this.setModelStatus);
114
+ if (!disableAutoLoadOnParamsChange) {
115
+ (0, _collection.handleCollectionItemParamsChange)(modelName, prevModelName, pathParams, prevPathParams, queryParams, prevQueryParams, this.load);
116
+ }
117
+ }
118
+ render() {
119
+ const {
120
+ history,
121
+ match,
122
+ location,
123
+ staticContext,
124
+ ...otherProps
125
+ } = this.props;
126
+ const {
127
+ modelStatus,
128
+ previousModelStatus
129
+ } = this.state;
130
+ if (modelStatus === _modelStatus.MODEL_STATUS.UNINITIALIZED) {
131
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LoaderComponent, {});
132
+ }
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
134
+ ...otherProps,
135
+ model: this.props.model,
136
+ modelMinusRelations: this.getModelMinusRelations(this.props.model),
137
+ modelStatus: modelStatus,
138
+ previousModelStatus: previousModelStatus,
139
+ load: this.load,
140
+ stopPeriodicLoad: this.stopPeriodicLoad,
141
+ create: this.create,
142
+ update: this.update,
143
+ delete: this.delete
144
+ });
145
+ }
146
+ };
87
147
  }
88
- const configureMapStateToProps = (modelName) => (state, ownProps) => {
89
- return (0, collection_1.selectCollectionItemFromState)({
90
- guid: ownProps.guid,
91
- modelName: ownProps.modelName || modelName,
92
- pathParams: ownProps.pathParams,
93
- routeMatchParams: ownProps.match.params,
94
- state
95
- });
148
+ const configureMapStateToProps = modelName => (state, ownProps) => {
149
+ return (0, _collection.selectCollectionItemFromState)({
150
+ guid: ownProps.guid,
151
+ modelName: ownProps.modelName || modelName,
152
+ pathParams: ownProps.pathParams,
153
+ routeMatchParams: ownProps.match.params,
154
+ state
155
+ });
96
156
  };
97
- exports.configureMapStateToProps = configureMapStateToProps;
98
- /**
99
- * HOC that provides "collection" related functionality for a single item in a collection, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
100
- *
101
- * @template T The type of model.
102
- *
103
- * @param WrappedComponent The component to wrap.
104
- * @param modelName The generic path (no Ids) to where the collection item is stored in redux.
105
- * A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
106
- * Can override at render time, e.g. `<C modelName="otherModel" />`.
107
- * @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
157
+
158
+ /**
159
+ * HOC that provides "collection" related functionality for a single item in a collection, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
160
+ *
161
+ * @template T The type of model.
162
+ *
163
+ * @param WrappedComponent The component to wrap.
164
+ * @param modelName The generic path (no Ids) to where the collection item is stored in redux.
165
+ * A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
166
+ * Can override at render time, e.g. `<C modelName="otherModel" />`.
167
+ * @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
108
168
  */
169
+ exports.configureMapStateToProps = configureMapStateToProps;
109
170
  function collectionItemComponent(WrappedComponent, modelName, LoaderComponent) {
110
- const CollectionItemComponent = configureCollectionItemComponent(WrappedComponent, LoaderComponent);
111
- const mapStateToProps = (0, exports.configureMapStateToProps)(modelName);
112
- // @ts-ignore: could not match inferred type from the `connect` HOC
113
- return (0, react_router_1.withRouter)((0, GuidComponent_1.guidComponent)((0, react_redux_1.connect)(mapStateToProps)(CollectionItemComponent)));
171
+ const CollectionItemComponent = configureCollectionItemComponent(WrappedComponent, LoaderComponent);
172
+ const mapStateToProps = configureMapStateToProps(modelName);
173
+ // @ts-ignore: could not match inferred type from the `connect` HOC
174
+ return (0, _reactRouter.withRouter)((0, _GuidComponent.guidComponent)((0, _reactRedux.connect)(mapStateToProps)(CollectionItemComponent)));
114
175
  }
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXIiLCJfbW9kZWxTdGF0dXMiLCJfY29sbGVjdGlvbiIsIl9tb2RlbCIsIl9Mb2FkaW5nIiwiX0d1aWRDb21wb25lbnQiLCJfanN4UnVudGltZSIsImNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkxvYWRlckNvbXBvbmVudCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkxvYWRpbmciLCJDb2xsZWN0aW9uSXRlbUNvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfdGhpcyIsInRoaXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsIm5ld01vZGVsU3RhdHVzIiwic2V0U3RhdGUiLCJwcmV2U3RhdGUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwibW9kZWxTdGF0dXMiLCJndWlkIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwic3RhdGUiLCJjb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwiaXNJbml0aWFsaXplZCIsIk1PREVMX1NUQVRVUyIsIlVOSU5JVElBTElaRUQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInNldE1vZGVsU3RhdHVzIiwicGFyYW1zIiwibG9hZENvbGxlY3Rpb25JdGVtIiwiZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyIsInRhc2tJZCIsInN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkIiwibW9kZWwiLCJjcmVhdGVDb2xsZWN0aW9uSXRlbSIsInVwZGF0ZUNvbGxlY3Rpb25JdGVtIiwiZGVsZXRlQ29sbGVjdGlvbkl0ZW0iLCJtZW1vaXplT25lIiwiZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyIsImNvbXBvbmVudERpZE1vdW50IiwiaW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtIiwibG9hZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZNb2RlbCIsInByZXZNb2RlbE5hbWUiLCJwcmV2UGF0aFBhcmFtcyIsInByZXZRdWVyeVBhcmFtcyIsImRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsImhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlIiwicmVuZGVyIiwiaGlzdG9yeSIsIm1hdGNoIiwibG9jYXRpb24iLCJzdGF0aWNDb250ZXh0Iiwib3RoZXJQcm9wcyIsImpzeCIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJzdG9wUGVyaW9kaWNMb2FkIiwiY3JlYXRlIiwidXBkYXRlIiwiZGVsZXRlIiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwib3duUHJvcHMiLCJzZWxlY3RDb2xsZWN0aW9uSXRlbUZyb21TdGF0ZSIsInJvdXRlTWF0Y2hQYXJhbXMiLCJleHBvcnRzIiwiY29sbGVjdGlvbkl0ZW1Db21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJ3aXRoUm91dGVyIiwiZ3VpZENvbXBvbmVudCIsImNvbm5lY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZW1vaXplT25lIGZyb20gJ21lbW9pemUtb25lJ1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgUm91dGVDb21wb25lbnRQcm9wcywgd2l0aFJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlcidcclxuaW1wb3J0IHsgTU9ERUxfU1RBVFVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL21vZGVsU3RhdHVzJ1xyXG5pbXBvcnQge1xyXG5cdEJhc2VSZWR1eFN0YXRlLFxyXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxyXG5cdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbixcclxuXHRNb2RlbFxyXG59IGZyb20gJy4uLy4uL3R5cGVzJ1xyXG5pbXBvcnQge1xyXG5cdGNyZWF0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxyXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSxcclxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXHJcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXHJcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cclxufSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyBnZXRNb2RlbE1pbnVzUmVsYXRpb25zLCBoYW5kbGVNb2RlbEZldGNoRmluaXNoIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWwnXHJcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xyXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xyXG5cclxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRgIGZyb20gdGhlIHVzZXIgYW5kIG90aGVyIEhPQ3MuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWwgZXh0ZW5kcyBNb2RlbD5cclxuXHRleHRlbmRzIENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRcdEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHMsXHJcblx0XHRSb3V0ZUNvbXBvbmVudFByb3BzLFxyXG5cdFx0Q29sbGVjdGlvbkl0ZW1SZWR1eFJlc3BvbnNlPFRNb2RlbD4ge31cclxuXHJcbi8qKiBUaGUgcHJvcHMgcGFzc2VkIGRvd24gdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWwgZXh0ZW5kcyBNb2RlbD5cclxuXHRleHRlbmRzIE9taXQ8Q29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBSb3V0ZUNvbXBvbmVudFByb3BzPixcclxuXHRcdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzPFRNb2RlbD4sXHJcblx0XHRDb2xsZWN0aW9uSXRlbU1ldGhvZHMsXHJcblx0XHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUge31cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVDb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxUTW9kZWwgZXh0ZW5kcyBNb2RlbCwgVE93blByb3BzIGV4dGVuZHMgb2JqZWN0PihcclxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD4+LFxyXG5cdExvYWRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZSA9IExvYWRpbmdcclxuKSB7XHJcblx0dHlwZSBIb2NQcm9wcyA9IFRPd25Qcm9wcyAmIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsPlxyXG5cclxuXHRyZXR1cm4gY2xhc3MgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRcclxuXHRcdGV4dGVuZHMgQ29tcG9uZW50PEhvY1Byb3BzLCBDb2xsZWN0aW9uQ29tbW9uU3RhdGU+XHJcblx0XHRpbXBsZW1lbnRzIENvbGxlY3Rpb25JdGVtTWV0aG9kc1xyXG5cdHtcclxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBIb2NQcm9wcykge1xyXG5cdFx0XHRzdXBlcihwcm9wcylcclxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcclxuXHRcdFx0XHQvLyBpbml0aWFsaXppbmcgdW50aWwgbW9kZWwgaXMgbG9hZGVkLCBvciBpZiBubyBtb2RlbFxyXG5cdFx0XHRcdG1vZGVsU3RhdHVzOiBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCxcclxuXHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzOiBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkTW91bnQoKSB7XHJcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCB0aGlzLmxvYWQsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpKVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHM6IEhvY1Byb3BzKSB7XHJcblx0XHRcdGNvbnN0IHtcclxuXHRcdFx0XHRtb2RlbDogcHJldk1vZGVsLFxyXG5cdFx0XHRcdG1vZGVsTmFtZTogcHJldk1vZGVsTmFtZSxcclxuXHRcdFx0XHRwYXRoUGFyYW1zOiBwcmV2UGF0aFBhcmFtcyxcclxuXHRcdFx0XHRxdWVyeVBhcmFtczogcHJldlF1ZXJ5UGFyYW1zXHJcblx0XHRcdH0gPSBwcmV2UHJvcHNcclxuXHRcdFx0Y29uc3QgeyBtb2RlbE5hbWUsIG1vZGVsLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0aGFuZGxlTW9kZWxGZXRjaEZpbmlzaChtb2RlbCwgcHJldk1vZGVsLCB1bmRlZmluZWQsIHRoaXMuc2V0TW9kZWxTdGF0dXMpXHJcblx0XHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcclxuXHRcdFx0XHRoYW5kbGVDb2xsZWN0aW9uSXRlbVBhcmFtc0NoYW5nZShcclxuXHRcdFx0XHRcdG1vZGVsTmFtZSxcclxuXHRcdFx0XHRcdHByZXZNb2RlbE5hbWUsXHJcblx0XHRcdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRcdFx0cHJldlBhdGhQYXJhbXMsXHJcblx0XHRcdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0XHRcdHByZXZRdWVyeVBhcmFtcyxcclxuXHRcdFx0XHRcdHRoaXMubG9hZFxyXG5cdFx0XHRcdClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHNldE1vZGVsU3RhdHVzID0gKG5ld01vZGVsU3RhdHVzOiBNT0RFTF9TVEFUVVMpID0+IHtcclxuXHRcdFx0dGhpcy5zZXRTdGF0ZShwcmV2U3RhdGUgPT4gKHtcclxuXHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzOiBwcmV2U3RhdGUubW9kZWxTdGF0dXMsXHJcblx0XHRcdFx0bW9kZWxTdGF0dXM6IG5ld01vZGVsU3RhdHVzXHJcblx0XHRcdH0pKVxyXG5cdFx0fVxyXG5cclxuXHRcdGdldENvbGxlY3Rpb25NZXRob2RDb25maWcgPSAoKSA9PiB7XHJcblx0XHRcdGNvbnN0IHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSB0aGlzLnByb3BzXHJcblx0XHRcdGNvbnN0IHsgbW9kZWxTdGF0dXMgfSA9IHRoaXMuc3RhdGVcclxuXHRcdFx0Y29uc3QgY29sbGVjdGlvbk1ldGhvZENvbmZpZzogQ29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24gPSB7XHJcblx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXMsXHJcblx0XHRcdFx0cXVlcnlQYXJhbXMsXHJcblx0XHRcdFx0ZGlzYWJsZUF1dG9Mb2FkLFxyXG5cdFx0XHRcdGd1aWQsXHJcblx0XHRcdFx0aXNJbml0aWFsaXplZDogbW9kZWxTdGF0dXMgIT09IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxyXG5cdFx0XHRcdGNoYW5nZU1vZGVsU3RhdHVzOiB0aGlzLnNldE1vZGVsU3RhdHVzXHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIGNvbGxlY3Rpb25NZXRob2RDb25maWdcclxuXHRcdH1cclxuXHJcblx0XHRsb2FkID0gKHBhcmFtczogQ29sbGVjdGlvbkl0ZW1Mb2FkUGFyYW1zID0ge30pID0+IHtcclxuXHRcdFx0bG9hZENvbGxlY3Rpb25JdGVtKHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXHJcblx0XHR9XHJcblxyXG5cdFx0c3RvcFBlcmlvZGljTG9hZCA9ICh0YXNrSWQ6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRzdG9wQ29sbGVjdGlvblBlcmlvZGljTG9hZCh0YXNrSWQpXHJcblx0XHR9XHJcblxyXG5cdFx0Y3JlYXRlID0gKHBhcmFtczogQ29sbGVjdGlvbkNyZWF0ZVBhcmFtcykgPT4ge1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXHJcblx0XHRcdGNyZWF0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCB0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxyXG5cdFx0fVxyXG5cclxuXHRcdHVwZGF0ZSA9IChwYXJhbXM6IENvbGxlY3Rpb25JdGVtVXBkYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0dXBkYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXHJcblx0XHR9XHJcblxyXG5cdFx0ZGVsZXRlID0gKHBhcmFtczogQ29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMgPSB7fSkgPT4ge1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXHJcblx0XHRcdGRlbGV0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCB0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxyXG5cdFx0fVxyXG5cclxuXHRcdGdldE1vZGVsTWludXNSZWxhdGlvbnMgPSBtZW1vaXplT25lKChtb2RlbDogVE1vZGVsKSA9PiBnZXRNb2RlbE1pbnVzUmVsYXRpb25zKG1vZGVsKSlcclxuXHJcblx0XHRyZW5kZXIoKSB7XHJcblx0XHRcdGNvbnN0IHsgaGlzdG9yeSwgbWF0Y2gsIGxvY2F0aW9uLCBzdGF0aWNDb250ZXh0LCAuLi5vdGhlclByb3BzIH0gPSB0aGlzLnByb3BzXHJcblx0XHRcdGNvbnN0IHsgbW9kZWxTdGF0dXMsIHByZXZpb3VzTW9kZWxTdGF0dXMgfSA9IHRoaXMuc3RhdGVcclxuXHJcblx0XHRcdGlmIChtb2RlbFN0YXR1cyA9PT0gTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRUQpIHtcclxuXHRcdFx0XHRyZXR1cm4gPExvYWRlckNvbXBvbmVudCAvPlxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRyZXR1cm4gKFxyXG5cdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50XHJcblx0XHRcdFx0XHR7Li4uKG90aGVyUHJvcHMgYXMgVE93blByb3BzICZcclxuXHRcdFx0XHRcdFx0T21pdDxDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM+KX1cclxuXHRcdFx0XHRcdG1vZGVsPXt0aGlzLnByb3BzLm1vZGVsfVxyXG5cdFx0XHRcdFx0bW9kZWxNaW51c1JlbGF0aW9ucz17dGhpcy5nZXRNb2RlbE1pbnVzUmVsYXRpb25zKHRoaXMucHJvcHMubW9kZWwpfVxyXG5cdFx0XHRcdFx0bW9kZWxTdGF0dXM9e21vZGVsU3RhdHVzfVxyXG5cdFx0XHRcdFx0cHJldmlvdXNNb2RlbFN0YXR1cz17cHJldmlvdXNNb2RlbFN0YXR1c31cclxuXHRcdFx0XHRcdGxvYWQ9e3RoaXMubG9hZH1cclxuXHRcdFx0XHRcdHN0b3BQZXJpb2RpY0xvYWQ9e3RoaXMuc3RvcFBlcmlvZGljTG9hZH1cclxuXHRcdFx0XHRcdGNyZWF0ZT17dGhpcy5jcmVhdGV9XHJcblx0XHRcdFx0XHR1cGRhdGU9e3RoaXMudXBkYXRlfVxyXG5cdFx0XHRcdFx0ZGVsZXRlPXt0aGlzLmRlbGV0ZX1cclxuXHRcdFx0XHQvPlxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cclxuXHQ8VE1vZGVsIGV4dGVuZHMgTW9kZWw+KG1vZGVsTmFtZTogc3RyaW5nKSA9PlxyXG5cdChcclxuXHRcdHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSxcclxuXHRcdG93blByb3BzOiBPbWl0PENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsPiwga2V5b2YgQ29sbGVjdGlvbkl0ZW1SZWR1eFJlc3BvbnNlPFRNb2RlbD4+XHJcblx0KSA9PiB7XHJcblx0XHRyZXR1cm4gc2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUoe1xyXG5cdFx0XHRndWlkOiBvd25Qcm9wcy5ndWlkLFxyXG5cdFx0XHRtb2RlbE5hbWU6IG93blByb3BzLm1vZGVsTmFtZSB8fCBtb2RlbE5hbWUsXHJcblx0XHRcdHBhdGhQYXJhbXM6IG93blByb3BzLnBhdGhQYXJhbXMsXHJcblx0XHRcdHJvdXRlTWF0Y2hQYXJhbXM6IG93blByb3BzLm1hdGNoLnBhcmFtcyxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0pXHJcblx0fVxyXG5cclxuLyoqXHJcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIFwiY29sbGVjdGlvblwiIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBmb3IgYSBzaW5nbGUgaXRlbSBpbiBhIGNvbGxlY3Rpb24sIHVzaW5nIHJlZHV4IGBjb25uZWN0KClgLCByZWFjdC1yb3V0ZXItZG9tIGB3aXRoUm91dGVyKClgLCBhbmQgYEd1aWRDb21wb25lbnRgLlxyXG4gKlxyXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBtb2RlbC5cclxuICpcclxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byB3cmFwLlxyXG4gKiBAcGFyYW0gbW9kZWxOYW1lIFRoZSBnZW5lcmljIHBhdGggKG5vIElkcykgdG8gd2hlcmUgdGhlIGNvbGxlY3Rpb24gaXRlbSBpcyBzdG9yZWQgaW4gcmVkdXguXHJcbiAqIEEgcGF0aCByZWxhdGluZyB0byBhbiBpdGVtIGluIGRlZmluZWQgaW4gYGNvbnN0YW50cy9jb25maWd1cmF0aW9uL2dldEVuZHBvaW50TWFwcGluZ3MoKWAgKGxldmVscyBzZXBhcmF0ZWQgYnkgYSAnLicpLlxyXG4gKiBDYW4gb3ZlcnJpZGUgYXQgcmVuZGVyIHRpbWUsIGUuZy4gYDxDIG1vZGVsTmFtZT1cIm90aGVyTW9kZWxcIiAvPmAuXHJcbiAqIEBwYXJhbSBMb2FkZXJDb21wb25lbnQgQ29tcG9uZW50IHRvIHVzZSBhcyB0aGUgTG9hZGVyLiBEZWZhdWx0cyB0byBgPExvYWRpbmcgLz5gLlxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29sbGVjdGlvbkl0ZW1Db21wb25lbnQ8XHJcblx0VE1vZGVsIGV4dGVuZHMgTW9kZWwsXHJcblx0VE93blByb3BzIGV4dGVuZHMgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPlxyXG4+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRtb2RlbE5hbWU6IHN0cmluZyxcclxuXHRMb2FkZXJDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlXHJcbik6IENvbXBvbmVudENsYXNzPE9taXQ8VE93blByb3BzLCBrZXlvZiBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+PiAmIFBhcnRpYWw8Q29sbGVjdGlvbkNvbW1vblByb3BzPj4ge1xyXG5cdGNvbnN0IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50ID0gY29uZmlndXJlQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQ8VE1vZGVsLCBUT3duUHJvcHM+KFxyXG5cdFx0V3JhcHBlZENvbXBvbmVudCxcclxuXHRcdExvYWRlckNvbXBvbmVudFxyXG5cdClcclxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMobW9kZWxOYW1lKVxyXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0NcclxuXHRyZXR1cm4gd2l0aFJvdXRlcihndWlkQ29tcG9uZW50KGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShDb2xsZWN0aW9uSXRlbUNvbXBvbmVudCkpKVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQWVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQVVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUEwRSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFFMUU7O0FBT0E7O0FBT08sU0FBU1UsZ0NBQWdDQSxDQUMvQ0MsZ0JBQXdGLEVBRXZGO0VBQUEsSUFEREMsZUFBOEIsR0FBQUMsU0FBQSxDQUFB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
@@ -1,89 +1,118 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = void 0;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
4
7
  exports.configureConnectedModalComponent = configureConnectedModalComponent;
8
+ exports.configureMapStateToProps = void 0;
5
9
  exports.connectedModalComponent = connectedModalComponent;
6
- const tslib_1 = require("tslib");
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const lodash_1 = require("lodash");
9
- const react_1 = require("react");
10
- const react_redux_1 = require("react-redux");
11
- const actionCreator_1 = require("../../redux/actionCreator");
12
- const actions_1 = require("../../redux/actions");
13
- const GuidComponent_1 = require("../HOC/GuidComponent");
14
- const configureMapStateToProps = () => (state) => {
15
- return {
16
- modals: state.modals
17
- };
10
+ exports.default = void 0;
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _lodash = require("lodash");
13
+ var _react = require("react");
14
+ var _reactRedux = require("react-redux");
15
+ var _actionCreator = require("../../redux/actionCreator");
16
+ var _actions = require("../../redux/actions");
17
+ var _GuidComponent = require("../HOC/GuidComponent");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const configureMapStateToProps = () => state => {
20
+ return {
21
+ modals: state.modals
22
+ };
18
23
  };
19
- exports.configureMapStateToProps = configureMapStateToProps;
20
- /**
21
- * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
22
- *
23
- * NOTE: Meant for testing. Should be wrapped in `guidComponent` to provide the `guid` prop normally.
24
- *
25
- * @param {*} WrappedComponent The component to wrap.
26
- * @param {*} isFullscreen Are we rendering a fullscreen modal?
24
+
25
+ /**
26
+ * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
27
+ *
28
+ * NOTE: Meant for testing. Should be wrapped in `guidComponent` to provide the `guid` prop normally.
29
+ *
30
+ * @param {*} WrappedComponent The component to wrap.
31
+ * @param {*} isFullscreen Are we rendering a fullscreen modal?
27
32
  */
28
- function configureConnectedModalComponent(WrappedComponent, isFullscreen = false) {
29
- return class ConnectedModalComponent extends react_1.Component {
30
- constructor(props) {
31
- super(props);
32
- this.onEntering = () => {
33
- var _a;
34
- const { guid, modals } = this.props;
35
- // Store each modal's GUID in redux with a zero-based index to determine the order in which they were opened
36
- const maxModal = (0, lodash_1.maxBy)(Object.values(modals), modal => modal.index);
37
- (0, actionCreator_1.dispatchAction)({
38
- type: actions_1.MODAL_ACTION_TYPE.MODAL_ENTERING,
39
- guid,
40
- index: ((_a = maxModal === null || maxModal === void 0 ? void 0 : maxModal.index) !== null && _a !== void 0 ? _a : -1) + 1,
41
- isFullscreen
42
- });
43
- this.setState({
44
- isModalOpen: true
45
- });
46
- };
47
- this.onExited = () => {
48
- const { guid } = this.props;
49
- const { isModalOpen } = this.state;
50
- if (isModalOpen) {
51
- (0, actionCreator_1.dispatchAction)({ type: actions_1.MODAL_ACTION_TYPE.MODAL_EXITED, guid });
52
- }
53
- this.setState({
54
- isModalOpen: false
55
- });
56
- };
57
- this.state = {
58
- isModalOpen: false
59
- };
60
- }
61
- componentWillUnmount() {
62
- this.onExited();
63
- }
64
- render() {
65
- var _a, _b;
66
- const _c = this.props, { modals, guid } = _c, ownProps = tslib_1.__rest(_c, ["modals", "guid"]);
67
- const topOpenFullscreenModal = (0, lodash_1.maxBy)(Object.values(modals).filter(m => m.isFullscreen), modal => modal.index);
68
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
69
- const thisModalIndex = (_b = (_a = modals[guid]) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : null;
70
- const isTopOpenFullscreenModal = (topOpenFullscreenModal === null || topOpenFullscreenModal === void 0 ? void 0 : topOpenFullscreenModal.index) === thisModalIndex;
71
- return ((0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, ownProps, { guid: guid, onEntering: this.onEntering, onExited: this.onExited, isTopOpenFullscreenModal: isTopOpenFullscreenModal })));
33
+ exports.configureMapStateToProps = configureMapStateToProps;
34
+ function configureConnectedModalComponent(WrappedComponent) {
35
+ let isFullscreen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
36
+ return class ConnectedModalComponent extends _react.Component {
37
+ constructor(props) {
38
+ super(props);
39
+ (0, _defineProperty2.default)(this, "onEntering", () => {
40
+ const {
41
+ guid,
42
+ modals
43
+ } = this.props;
44
+
45
+ // Store each modal's GUID in redux with a zero-based index to determine the order in which they were opened
46
+ const maxModal = (0, _lodash.maxBy)(Object.values(modals), modal => modal.index);
47
+ (0, _actionCreator.dispatchAction)({
48
+ type: _actions.MODAL_ACTION_TYPE.MODAL_ENTERING,
49
+ guid,
50
+ index: (maxModal?.index ?? -1) + 1,
51
+ isFullscreen
52
+ });
53
+ this.setState({
54
+ isModalOpen: true
55
+ });
56
+ });
57
+ (0, _defineProperty2.default)(this, "onExited", () => {
58
+ const {
59
+ guid
60
+ } = this.props;
61
+ const {
62
+ isModalOpen
63
+ } = this.state;
64
+ if (isModalOpen) {
65
+ (0, _actionCreator.dispatchAction)({
66
+ type: _actions.MODAL_ACTION_TYPE.MODAL_EXITED,
67
+ guid
68
+ });
72
69
  }
73
- };
70
+ this.setState({
71
+ isModalOpen: false
72
+ });
73
+ });
74
+ this.state = {
75
+ isModalOpen: false
76
+ };
77
+ }
78
+ componentWillUnmount() {
79
+ this.onExited();
80
+ }
81
+ render() {
82
+ const {
83
+ modals,
84
+ guid,
85
+ ...ownProps
86
+ } = this.props;
87
+ const topOpenFullscreenModal = (0, _lodash.maxBy)(Object.values(modals).filter(m => m.isFullscreen), modal => modal.index);
88
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
89
+ const thisModalIndex = modals[guid]?.index ?? null;
90
+ const isTopOpenFullscreenModal = topOpenFullscreenModal?.index === thisModalIndex;
91
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
92
+ ...ownProps,
93
+ guid: guid,
94
+ onEntering: this.onEntering,
95
+ onExited: this.onExited,
96
+ isTopOpenFullscreenModal: isTopOpenFullscreenModal
97
+ });
98
+ }
99
+ };
74
100
  }
75
- /**
76
- * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
77
- *
78
- * Uses `guidComponent`.
79
- *
80
- * @param {*} WrappedComponent The component to wrap.
81
- * @param {*} isFullscreen Are we rendering a fullscreen modal?
101
+
102
+ /**
103
+ * HOC that provides modal lifecycle event methods to coordinate modal state in redux.
104
+ *
105
+ * Uses `guidComponent`.
106
+ *
107
+ * @param {*} WrappedComponent The component to wrap.
108
+ * @param {*} isFullscreen Are we rendering a fullscreen modal?
82
109
  */
83
- function connectedModalComponent(WrappedComponent, isFullscreen = false) {
84
- const component = configureConnectedModalComponent(WrappedComponent, isFullscreen);
85
- const mapStateToProps = (0, exports.configureMapStateToProps)();
86
- // @ts-ignore: could not match inferred type from the `connect` HOC
87
- return (0, react_redux_1.connect)(mapStateToProps)((0, GuidComponent_1.guidComponent)(component));
110
+ function connectedModalComponent(WrappedComponent) {
111
+ let isFullscreen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
112
+ const component = configureConnectedModalComponent(WrappedComponent, isFullscreen);
113
+ const mapStateToProps = configureMapStateToProps();
114
+ // @ts-ignore: could not match inferred type from the `connect` HOC
115
+ return (0, _reactRedux.connect)(mapStateToProps)((0, _GuidComponent.guidComponent)(component));
88
116
  }
89
- exports.default = connectedModalComponent;
117
+ var _default = exports.default = connectedModalComponent;
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdFJlZHV4IiwiX2FjdGlvbkNyZWF0b3IiLCJfYWN0aW9ucyIsIl9HdWlkQ29tcG9uZW50IiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsIm1vZGFscyIsImV4cG9ydHMiLCJjb25maWd1cmVDb25uZWN0ZWRNb2RhbENvbXBvbmVudCIsIldyYXBwZWRDb21wb25lbnQiLCJpc0Z1bGxzY3JlZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJDb25uZWN0ZWRNb2RhbENvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImd1aWQiLCJtYXhNb2RhbCIsIm1heEJ5IiwiT2JqZWN0IiwidmFsdWVzIiwibW9kYWwiLCJpbmRleCIsImRpc3BhdGNoQWN0aW9uIiwidHlwZSIsIk1PREFMX0FDVElPTl9UWVBFIiwiTU9EQUxfRU5URVJJTkciLCJzZXRTdGF0ZSIsImlzTW9kYWxPcGVuIiwiTU9EQUxfRVhJVEVEIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJvbkV4aXRlZCIsInJlbmRlciIsIm93blByb3BzIiwidG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCIsImZpbHRlciIsIm0iLCJ0aGlzTW9kYWxJbmRleCIsImlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCIsImpzeCIsIm9uRW50ZXJpbmciLCJjb25uZWN0ZWRNb2RhbENvbXBvbmVudCIsImNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyIsImNvbm5lY3QiLCJndWlkQ29tcG9uZW50IiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvQ29ubmVjdGVkTW9kYWxDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1heEJ5IH0gZnJvbSAnbG9kYXNoJ1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgZGlzcGF0Y2hBY3Rpb24gfSBmcm9tICcuLi8uLi9yZWR1eC9hY3Rpb25DcmVhdG9yJ1xyXG5pbXBvcnQgeyBNT0RBTF9BQ1RJT05fVFlQRSwgTW9kYWxFbnRlckFjdGlvbiwgTW9kYWxFeGl0QWN0aW9uIH0gZnJvbSAnLi4vLi4vcmVkdXgvYWN0aW9ucydcclxuaW1wb3J0IHsgTW9kYWxzU3RhdGUgfSBmcm9tICcuLi8uLi9yZWR1eC9yZWR1Y2Vycy9tb2RhbHNSZWR1Y2VyJ1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xyXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi4vSE9DL0d1aWRDb21wb25lbnQnXHJcblxyXG5leHBvcnQgdHlwZSBDb25uZWN0ZWRNb2RhbFJlZHV4UHJvcHMgPSB7XHJcblx0bW9kYWxzOiBNb2RhbHNTdGF0ZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RlZE1vZGFsV3JhcHBlZFByb3BzIHtcclxuXHRvbkVudGVyaW5nOiAoKSA9PiB2b2lkXHJcblx0b25FeGl0ZWQ6ICgpID0+IHZvaWRcclxuXHRpc1RvcE9wZW5GdWxsc2NyZWVuTW9kYWw/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGVkTW9kYWxTdGF0ZSB7XHJcblx0aXNNb2RhbE9wZW46IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XHJcblx0KCkgPT5cclxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogQ29ubmVjdGVkTW9kYWxSZWR1eFByb3BzID0+IHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG1vZGFsczogc3RhdGUubW9kYWxzXHJcblx0XHR9XHJcblx0fVxyXG5cclxuLyoqXHJcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIG1vZGFsIGxpZmVjeWNsZSBldmVudCBtZXRob2RzIHRvIGNvb3JkaW5hdGUgbW9kYWwgc3RhdGUgaW4gcmVkdXguXHJcbiAqXHJcbiAqIE5PVEU6IE1lYW50IGZvciB0ZXN0aW5nLiBTaG91bGQgYmUgd3JhcHBlZCBpbiBgZ3VpZENvbXBvbmVudGAgdG8gcHJvdmlkZSB0aGUgYGd1aWRgIHByb3Agbm9ybWFsbHkuXHJcbiAqXHJcbiAqIEBwYXJhbSB7Kn0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXHJcbiAqIEBwYXJhbSB7Kn0gaXNGdWxsc2NyZWVuIEFyZSB3ZSByZW5kZXJpbmcgYSBmdWxsc2NyZWVuIG1vZGFsP1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUNvbm5lY3RlZE1vZGFsQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHM+LFxyXG5cdGlzRnVsbHNjcmVlbiA9IGZhbHNlXHJcbikge1xyXG5cdHR5cGUgQ29ubmVjdGVkTW9kYWxQcm9wcyA9IFRPd25Qcm9wcyAmIENvbm5lY3RlZE1vZGFsUmVkdXhQcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHNcclxuXHRyZXR1cm4gY2xhc3MgQ29ubmVjdGVkTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8Q29ubmVjdGVkTW9kYWxQcm9wcywgQ29ubmVjdGVkTW9kYWxTdGF0ZT4ge1xyXG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IENvbm5lY3RlZE1vZGFsUHJvcHMpIHtcclxuXHRcdFx0c3VwZXIocHJvcHMpXHJcblx0XHRcdHRoaXMuc3RhdGUgPSB7XHJcblx0XHRcdFx0aXNNb2RhbE9wZW46IGZhbHNlXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuXHRcdFx0dGhpcy5vbkV4aXRlZCgpXHJcblx0XHR9XHJcblxyXG5cdFx0b25FbnRlcmluZyA9ICgpID0+IHtcclxuXHRcdFx0Y29uc3QgeyBndWlkLCBtb2RhbHMgfSA9IHRoaXMucHJvcHNcclxuXHJcblx0XHRcdC8vIFN0b3JlIGVhY2ggbW9kYWwncyBHVUlEIGluIHJlZHV4IHdpdGggYSB6ZXJvLWJhc2VkIGluZGV4IHRvIGRldGVybWluZSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSB3ZXJlIG9wZW5lZFxyXG5cdFx0XHRjb25zdCBtYXhNb2RhbCA9IG1heEJ5KE9iamVjdC52YWx1ZXMobW9kYWxzKSwgbW9kYWwgPT4gbW9kYWwuaW5kZXgpXHJcblx0XHRcdGRpc3BhdGNoQWN0aW9uPE1vZGFsRW50ZXJBY3Rpb24+KHtcclxuXHRcdFx0XHR0eXBlOiBNT0RBTF9BQ1RJT05fVFlQRS5NT0RBTF9FTlRFUklORyxcclxuXHRcdFx0XHRndWlkLFxyXG5cdFx0XHRcdGluZGV4OiAobWF4TW9kYWw/LmluZGV4ID8/IC0xKSArIDEsXHJcblx0XHRcdFx0aXNGdWxsc2NyZWVuXHJcblx0XHRcdH0pXHJcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRcdGlzTW9kYWxPcGVuOiB0cnVlXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblxyXG5cdFx0b25FeGl0ZWQgPSAoKSA9PiB7XHJcblx0XHRcdGNvbnN0IHsgZ3VpZCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRjb25zdCB7IGlzTW9kYWxPcGVuIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRcdGlmIChpc01vZGFsT3Blbikge1xyXG5cdFx0XHRcdGRpc3BhdGNoQWN0aW9uPE1vZGFsRXhpdEFjdGlvbj4oeyB0eXBlOiBNT0RBTF9BQ1RJT05fVFlQRS5NT0RBTF9FWElURUQsIGd1aWQgfSlcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcclxuXHRcdFx0XHRpc01vZGFsT3BlbjogZmFsc2VcclxuXHRcdFx0fSlcclxuXHRcdH1cclxuXHJcblx0XHRyZW5kZXIoKSB7XHJcblx0XHRcdGNvbnN0IHsgbW9kYWxzLCBndWlkLCAuLi5vd25Qcm9wcyB9ID0gdGhpcy5wcm9wc1xyXG5cclxuXHRcdFx0Y29uc3QgdG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCA9IG1heEJ5KFxyXG5cdFx0XHRcdE9iamVjdC52YWx1ZXMobW9kYWxzKS5maWx0ZXIobSA9PiBtLmlzRnVsbHNjcmVlbiksXHJcblx0XHRcdFx0bW9kYWwgPT4gbW9kYWwuaW5kZXhcclxuXHRcdFx0KVxyXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxyXG5cdFx0XHRjb25zdCB0aGlzTW9kYWxJbmRleCA9IG1vZGFsc1tndWlkXT8uaW5kZXggPz8gbnVsbFxyXG5cdFx0XHRjb25zdCBpc1RvcE9wZW5GdWxsc2NyZWVuTW9kYWwgPSB0b3BPcGVuRnVsbHNjcmVlbk1vZGFsPy5pbmRleCA9PT0gdGhpc01vZGFsSW5kZXhcclxuXHJcblx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0PFdyYXBwZWRDb21wb25lbnRcclxuXHRcdFx0XHRcdHsuLi4ob3duUHJvcHMgYXMgVE93blByb3BzKX1cclxuXHRcdFx0XHRcdGd1aWQ9e2d1aWR9XHJcblx0XHRcdFx0XHRvbkVudGVyaW5nPXt0aGlzLm9uRW50ZXJpbmd9XHJcblx0XHRcdFx0XHRvbkV4aXRlZD17dGhpcy5vbkV4aXRlZH1cclxuXHRcdFx0XHRcdGlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbD17aXNUb3BPcGVuRnVsbHNjcmVlbk1vZGFsfVxyXG5cdFx0XHRcdC8+XHJcblx0XHRcdClcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIT0MgdGhhdCBwcm92aWRlcyBtb2RhbCBsaWZlY3ljbGUgZXZlbnQgbWV0aG9kcyB0byBjb29yZGluYXRlIG1vZGFsIHN0YXRlIGluIHJlZHV4LlxyXG4gKlxyXG4gKiBVc2VzIGBndWlkQ29tcG9uZW50YC5cclxuICpcclxuICogQHBhcmFtIHsqfSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cclxuICogQHBhcmFtIHsqfSBpc0Z1bGxzY3JlZW4gQXJlIHdlIHJlbmRlcmluZyBhIGZ1bGxzY3JlZW4gbW9kYWw/XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGVkTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0PihcclxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIENvbm5lY3RlZE1vZGFsV3JhcHBlZFByb3BzICYgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcz4sXHJcblx0aXNGdWxsc2NyZWVuID0gZmFsc2VcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XHJcblx0Y29uc3QgY29tcG9uZW50ID0gY29uZmlndXJlQ29ubmVjdGVkTW9kYWxDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudCwgaXNGdWxsc2NyZWVuKVxyXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcygpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoZ3VpZENvbXBvbmVudChjb21wb25lbnQpKVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0ZWRNb2RhbENvbXBvbmVudFxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0Es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
@@ -1,30 +1,38 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.configureMapStateToProps = exports.configureDataDependentComponent = void 0;
4
7
  exports.default = dataDependentComponent;
5
- const tslib_1 = require("tslib");
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const react_redux_1 = require("react-redux");
9
- const Loading_1 = require("../Loading");
10
- const configureDataDependentComponent = (WrappedComponent) => {
11
- return class DataDependentComponent extends react_1.Component {
12
- render() {
13
- const _a = this.props, { hasData } = _a, ownProps = tslib_1.__rest(_a, ["hasData"]);
14
- return this.props.hasData ? (0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, ownProps)) : (0, jsx_runtime_1.jsx)(Loading_1.Loading, {});
15
- }
16
- };
8
+ var _react = require("react");
9
+ var _reactRedux = require("react-redux");
10
+ var _Loading = require("../Loading");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const configureDataDependentComponent = WrappedComponent => {
13
+ return class DataDependentComponent extends _react.Component {
14
+ render() {
15
+ const {
16
+ hasData,
17
+ ...ownProps
18
+ } = this.props;
19
+ return this.props.hasData ? /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
20
+ ...ownProps
21
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loading.Loading, {});
22
+ }
23
+ };
17
24
  };
18
25
  exports.configureDataDependentComponent = configureDataDependentComponent;
19
- const configureMapStateToProps = (hasData) => (state) => {
20
- return {
21
- hasData: hasData(state)
22
- };
26
+ const configureMapStateToProps = hasData => state => {
27
+ return {
28
+ hasData: hasData(state)
29
+ };
23
30
  };
24
31
  exports.configureMapStateToProps = configureMapStateToProps;
25
32
  function dataDependentComponent(WrappedComponent, hasData) {
26
- const DataDependentComponent = (0, exports.configureDataDependentComponent)(WrappedComponent);
27
- const mapStateToProps = (0, exports.configureMapStateToProps)(hasData);
28
- // @ts-ignore: could not match inferred type from the `connect` HOC
29
- return (0, react_redux_1.connect)(mapStateToProps)(DataDependentComponent);
33
+ const DataDependentComponent = configureDataDependentComponent(WrappedComponent);
34
+ const mapStateToProps = configureMapStateToProps(hasData);
35
+ // @ts-ignore: could not match inferred type from the `connect` HOC
36
+ return (0, _reactRedux.connect)(mapStateToProps)(DataDependentComponent);
30
37
  }
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0UmVkdXgiLCJfTG9hZGluZyIsIl9qc3hSdW50aW1lIiwiY29uZmlndXJlRGF0YURlcGVuZGVudENvbXBvbmVudCIsIldyYXBwZWRDb21wb25lbnQiLCJEYXRhRGVwZW5kZW50Q29tcG9uZW50IiwiQ29tcG9uZW50IiwicmVuZGVyIiwiaGFzRGF0YSIsIm93blByb3BzIiwicHJvcHMiLCJqc3giLCJMb2FkaW5nIiwiZXhwb3J0cyIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZGF0YURlcGVuZGVudENvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyIsImNvbm5lY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvRGF0YURlcGVuZGVudENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCB7IEJhc2VSZWR1eFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xyXG5cclxuaW50ZXJmYWNlIERhdGFEZXBlbmRlbnRDb21wb25lbnRTdGF0ZVByb3BzIHtcclxuXHRoYXNEYXRhOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb25maWd1cmVEYXRhRGVwZW5kZW50Q29tcG9uZW50ID0gPFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+XHJcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIERhdGFEZXBlbmRlbnRDb21wb25lbnRTdGF0ZVByb3BzPiA9PiB7XHJcblx0cmV0dXJuIGNsYXNzIERhdGFEZXBlbmRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8VE93blByb3BzICYgRGF0YURlcGVuZGVudENvbXBvbmVudFN0YXRlUHJvcHM+IHtcclxuXHRcdHJlbmRlcigpIHtcclxuXHRcdFx0Y29uc3QgeyBoYXNEYXRhLCAuLi5vd25Qcm9wcyB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5wcm9wcy5oYXNEYXRhID8gPFdyYXBwZWRDb21wb25lbnQgey4uLihvd25Qcm9wcyBhcyBUT3duUHJvcHMpfSAvPiA6IDxMb2FkaW5nIC8+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cclxuXHQoaGFzRGF0YTogKHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSkgPT4gYm9vbGVhbikgPT5cclxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogRGF0YURlcGVuZGVudENvbXBvbmVudFN0YXRlUHJvcHMgPT4ge1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0aGFzRGF0YTogaGFzRGF0YShzdGF0ZSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkYXRhRGVwZW5kZW50Q29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdGhhc0RhdGE6IChzdGF0ZTogYW55KSA9PiBib29sZWFuXHJcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcz4ge1xyXG5cdGNvbnN0IERhdGFEZXBlbmRlbnRDb21wb25lbnQgPSBjb25maWd1cmVEYXRhRGVwZW5kZW50Q29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQpXHJcblx0Y29uc3QgbWFwU3RhdGVUb1Byb3BzID0gY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzKGhhc0RhdGEpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoRGF0YURlcGVuZGVudENvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFBb0MsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBTTdCLE1BQU1JLCtCQUErQixHQUMzQ0MsZ0JBQTBDLElBQ3dCO0VBQ2xFLE9BQU8sTUFBTUMsc0JBQXNCLFNBQVNDLGdCQUFTLENBQStDO0lBQ25HQyxNQUFNQSxDQUFBLEVBQUc7TUFDUixNQUFNO1FBQUVDLE9BQU87UUFBRSxHQUFHQztNQUFTLENBQUMsR0FBRyxJQUFJLENBQUNDLEtBQUs7TUFDM0MsT0FBTyxJQUFJLENBQUNBLEtBQUssQ0FBQ0YsT0FBTyxnQkFBRyxJQUFBTixXQUFBLENBQUFTLEdBQUEsRUFBQ1AsZ0JBQWdCO1FBQUEsR0FBTUs7TUFBUSxDQUFpQixDQUFDLGdCQUFHLElBQUFQLFdBQUEsQ0FBQVMsR0FBQSxFQUFDVixRQUFBLENBQUFXLE9BQU8sSUFBRSxDQUFDO0lBQzVGO0VBQ0QsQ0FBQztBQUNGLENBQUM7QUFBQUMsT0FBQSxDQUFBViwrQkFBQSxHQUFBQSwrQkFBQTtBQUVNLE1BQU1XLHdCQUF3QixHQUNuQ04sT0FBMkMsSUFDM0NPLEtBQXFCLElBQXVDO0VBQzVELE9BQU87SUFDTlAsT0FBTyxFQUFFQSxPQUFPLENBQUNPLEtBQUs7RUFDdkIsQ0FBQztBQUNGLENBQUM7QUFBQUYsT0FBQSxDQUFBQyx3QkFBQSxHQUFBQSx3QkFBQTtBQUVhLFNBQVNFLHNCQUFzQkEsQ0FDN0NaLGdCQUEwQyxFQUMxQ0ksT0FBZ0MsRUFDSjtFQUM1QixNQUFNSCxzQkFBc0IsR0FBR0YsK0JBQStCLENBQUNDLGdCQUFnQixDQUFDO0VBQ2hGLE1BQU1hLGVBQWUsR0FBR0gsd0JBQXdCLENBQUNOLE9BQU8sQ0FBQztFQUN6RDtFQUNBLE9BQU8sSUFBQVUsbUJBQU8sRUFBQ0QsZUFBZSxDQUFDLENBQUNaLHNCQUFzQixDQUFDO0FBQ3hEIiwiaWdub3JlTGlzdCI6W119