studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1

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 +164 -37
  2. package/lib/components/AlertDialog.js +128 -12
  3. package/lib/components/AlertWithIcon.js +88 -29
  4. package/lib/components/ConnectedModal.js +35 -12
  5. package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +105 -24
  8. package/lib/components/Dropdowns/index.js +4 -10
  9. package/lib/components/EntityOwnerList.js +47 -21
  10. package/lib/components/Error.js +101 -12
  11. package/lib/components/ErrorBoundary.js +127 -38
  12. package/lib/components/ErrorMessage.js +39 -12
  13. package/lib/components/Forms/DateField.js +56 -45
  14. package/lib/components/Forms/TimeField.js +76 -45
  15. package/lib/components/Forms/index.js +3 -5
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
  17. package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
  18. package/lib/components/Groups/ExternalGroups/Table.js +176 -48
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  20. package/lib/components/Groups/RosterSyncInfo.js +142 -23
  21. package/lib/components/HOC/AccessibleAppComponent.js +88 -72
  22. package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
  23. package/lib/components/HOC/AsyncComponent.js +49 -41
  24. package/lib/components/HOC/AuthenticatedComponent.js +55 -44
  25. package/lib/components/HOC/CollectionComponent.js +154 -104
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
  27. package/lib/components/HOC/CollectionItemComponent.js +152 -100
  28. package/lib/components/HOC/ConnectedModalComponent.js +87 -69
  29. package/lib/components/HOC/DataDependentComponent.js +26 -27
  30. package/lib/components/HOC/EntityComponent.js +57 -53
  31. package/lib/components/HOC/FullscreenModalComponent.js +139 -108
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
  33. package/lib/components/HOC/GuidComponent.js +20 -20
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
  36. package/lib/components/HOC/SearchPersistorComponent.js +237 -173
  37. package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
  38. package/lib/components/HOC/UserComponent.js +6 -8
  39. package/lib/components/Icons/IconAlphaList.js +28 -8
  40. package/lib/components/Icons/IconExternalUser.js +28 -8
  41. package/lib/components/Icons/IconImpersonation.js +28 -8
  42. package/lib/components/Icons/IconStopImpersonating.js +28 -8
  43. package/lib/components/Icons/IconTable.js +29 -9
  44. package/lib/components/Icons/IconTableDeleteCol.js +28 -8
  45. package/lib/components/Icons/IconTableDeleteRow.js +28 -8
  46. package/lib/components/Icons/IconTableInsertCol.js +28 -8
  47. package/lib/components/Icons/IconTableInsertRow.js +28 -8
  48. package/lib/components/Impersonation/Button.js +71 -16
  49. package/lib/components/Impersonation/Link.js +72 -16
  50. package/lib/components/Impersonation/UserDetail.js +60 -11
  51. package/lib/components/Loading.js +23 -8
  52. package/lib/components/LockDownBrowser/Check.js +188 -51
  53. package/lib/components/LockDownBrowser/ExitButton.js +22 -13
  54. package/lib/components/LockDownBrowser/Launch.js +64 -64
  55. package/lib/components/Lti/Confirm.js +147 -14
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
  57. package/lib/components/Lti/Launch.js +99 -25
  58. package/lib/components/Lti/LaunchGroup.js +81 -16
  59. package/lib/components/ManageTable.js +304 -90
  60. package/lib/components/ManageTableNoDataComponent.js +38 -7
  61. package/lib/components/NewVersionAlert.js +76 -49
  62. package/lib/components/NotFound.js +81 -11
  63. package/lib/components/Notifications.js +179 -129
  64. package/lib/components/PaginationNextButton.js +28 -9
  65. package/lib/components/PaginationPreviousButton.js +28 -9
  66. package/lib/components/Quill/CustomToolbar.js +427 -222
  67. package/lib/components/Quill/Formats/Image.js +67 -67
  68. package/lib/components/Quill/Formats/List.js +38 -47
  69. package/lib/components/Quill/Formats/Video.js +23 -26
  70. package/lib/components/Quill/ImageDropModule.js +136 -114
  71. package/lib/components/Quill/ImageWarning.js +41 -12
  72. package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
  81. package/lib/components/Quill/TableModule/constants.js +40 -42
  82. package/lib/components/Quill/TableModule/index.js +357 -305
  83. package/lib/components/Quill/TableModule/utils.js +39 -48
  84. package/lib/components/Quill/accessibilityFix.js +219 -223
  85. package/lib/components/Quill/index.js +30 -33
  86. package/lib/components/RefreshIndicator/Bordered.js +44 -10
  87. package/lib/components/RefreshIndicator/Inline.js +43 -12
  88. package/lib/components/RefreshIndicator/index.js +257 -62
  89. package/lib/components/SearchControls.js +211 -14
  90. package/lib/components/SentryRoute.js +5 -7
  91. package/lib/components/Tables/RoleFilter.js +66 -38
  92. package/lib/components/Tables/TextFilter.js +58 -18
  93. package/lib/components/UserRoles/Add.js +193 -99
  94. package/lib/components/UserRoles/Context.js +3 -6
  95. package/lib/components/UserRoles/RoleCell.js +176 -75
  96. package/lib/components/UserRoles/Select.js +151 -20
  97. package/lib/components/UserRoles/Table.js +215 -82
  98. package/lib/components/UserRoles/index.js +526 -386
  99. package/lib/config/eslint/index.js +26 -29
  100. package/lib/config/eslint/lib/order.js +21 -28
  101. package/lib/config/eslint/lib/prettier.js +15 -19
  102. package/lib/config/eslint/lib/typescript.js +87 -113
  103. package/lib/config/eslint/react.js +18 -15
  104. package/lib/constants/baseActivity.js +26 -28
  105. package/lib/constants/baseRole.js +10 -12
  106. package/lib/constants/configuration.js +43 -55
  107. package/lib/constants/externalProviderType.js +6 -8
  108. package/lib/constants/fetchErrorData.js +10 -12
  109. package/lib/constants/index.js +13 -15
  110. package/lib/constants/lockDownBrowser.js +23 -25
  111. package/lib/constants/mockData.js +370 -300
  112. package/lib/constants/modelStatus.js +11 -13
  113. package/lib/constants/notificationType.js +8 -10
  114. package/lib/constants/operatingSystem.js +8 -10
  115. package/lib/constants/shard.js +7 -9
  116. package/lib/constants/table.js +18 -22
  117. package/lib/constants/tier.js +8 -10
  118. package/lib/constants/userRole.js +11 -8
  119. package/lib/endpointMappings.js +191 -182
  120. package/lib/hooks/useCollection.js +79 -65
  121. package/lib/hooks/useCollectionConfiguration.js +220 -80
  122. package/lib/hooks/useCollectionItem.js +151 -57
  123. package/lib/hooks/useGuid.js +16 -9
  124. package/lib/hooks/usePrevious.js +14 -13
  125. package/lib/index.js +11 -26
  126. package/lib/redux/actionCreator.js +44 -35
  127. package/lib/redux/actions/AuthAction.js +45 -32
  128. package/lib/redux/actions/ModalAction.js +6 -8
  129. package/lib/redux/actions/ModelAction.js +95 -43
  130. package/lib/redux/actions/NotificationAction.js +6 -8
  131. package/lib/redux/actions/SearchAction.js +5 -7
  132. package/lib/redux/actions/index.js +6 -8
  133. package/lib/redux/configureReducers.js +48 -46
  134. package/lib/redux/configureStore.js +77 -91
  135. package/lib/redux/helpers.js +2 -5
  136. package/lib/redux/reducers/authReducer.js +44 -43
  137. package/lib/redux/reducers/index.js +7 -14
  138. package/lib/redux/reducers/modalsReducer.js +43 -31
  139. package/lib/redux/reducers/modelsReducer.js +131 -137
  140. package/lib/redux/reducers/notificationsReducer.js +20 -20
  141. package/lib/redux/reducers/searchReducer.js +13 -13
  142. package/lib/redux/sagas/appInsightsSaga.js +19 -21
  143. package/lib/redux/sagas/authSaga.js +248 -234
  144. package/lib/redux/sagas/caliperSaga.js +142 -131
  145. package/lib/redux/sagas/clockOffsetSaga.js +29 -32
  146. package/lib/redux/sagas/configurationSaga.js +8 -10
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
  148. package/lib/redux/sagas/errorSaga.js +23 -24
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
  150. package/lib/redux/sagas/identityProviderSaga.js +19 -21
  151. package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
  153. package/lib/redux/sagas/modelFetchSaga.js +302 -286
  154. package/lib/redux/sagas/noStoreSaga.js +60 -61
  155. package/lib/redux/sagas/postLoginDataSaga.js +37 -32
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
  157. package/lib/redux/sagas/rootSaga.js +77 -60
  158. package/lib/redux/sagas/sentrySaga.js +25 -28
  159. package/lib/redux/sagas/userIdSaga.js +13 -15
  160. package/lib/services/codeProviderService.js +21 -21
  161. package/lib/services/dateService.js +6 -8
  162. package/lib/services/documentService.js +10 -11
  163. package/lib/services/fetchService.js +103 -95
  164. package/lib/services/persistenceService.js +27 -30
  165. package/lib/services/ticketProviderService.js +25 -25
  166. package/lib/services/tokenPersistenceService.js +8 -10
  167. package/lib/services/windowService.js +14 -16
  168. package/lib/startup.js +110 -101
  169. package/lib/types/AppConfiguration.js +2 -2
  170. package/lib/types/Artifact.js +7 -9
  171. package/lib/types/BaseReduxState.js +2 -2
  172. package/lib/types/Client.js +2 -2
  173. package/lib/types/Collection.js +2 -2
  174. package/lib/types/Configuration.js +2 -2
  175. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  176. package/lib/types/DeletableModel.js +2 -2
  177. package/lib/types/Event.js +2 -2
  178. package/lib/types/ExternalGroup.js +2 -2
  179. package/lib/types/ExternalProvider.js +2 -2
  180. package/lib/types/ExternalTerm.js +2 -2
  181. package/lib/types/Group.js +2 -2
  182. package/lib/types/IdentityProvider.js +2 -2
  183. package/lib/types/LtiLaunch.js +2 -2
  184. package/lib/types/NameOnlyEntity.js +2 -2
  185. package/lib/types/Notification.js +2 -2
  186. package/lib/types/OptionalRecord.js +2 -2
  187. package/lib/types/OwnerSchedule.js +2 -2
  188. package/lib/types/PropertyOfType.js +2 -2
  189. package/lib/types/Quill.js +2 -2
  190. package/lib/types/RoleDescription.js +2 -2
  191. package/lib/types/Search.js +2 -2
  192. package/lib/types/SimpleLocation.js +2 -2
  193. package/lib/types/UniTime.js +2 -2
  194. package/lib/types/User.js +2 -2
  195. package/lib/types/UserRole.js +2 -2
  196. package/lib/types/auth/AuthState.js +2 -2
  197. package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
  198. package/lib/types/auth/ClientCredentials.js +2 -2
  199. package/lib/types/auth/CodeProviderService.js +2 -2
  200. package/lib/types/auth/LocalLoginRequestBody.js +2 -2
  201. package/lib/types/auth/TicketProviderService.js +2 -2
  202. package/lib/types/auth/TokenPersistenceService.js +2 -2
  203. package/lib/types/auth/index.js +8 -10
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +29 -31
  206. package/lib/types/net/EndpointConfig.js +2 -2
  207. package/lib/types/net/EndpointMapping.js +2 -2
  208. package/lib/types/net/EndpointMappings.js +2 -2
  209. package/lib/types/net/ErrorHandler.js +2 -2
  210. package/lib/types/net/FetchConfig.js +2 -2
  211. package/lib/types/net/FetchErrorData.js +6 -8
  212. package/lib/types/net/FetchResult.js +2 -2
  213. package/lib/types/net/HTTPMethod.js +2 -2
  214. package/lib/types/net/HTTPStatusCode.js +12 -14
  215. package/lib/types/net/Metadata.js +2 -2
  216. package/lib/types/net/Model.js +2 -2
  217. package/lib/types/net/ModelCollection.js +2 -2
  218. package/lib/types/net/ModelsState.js +2 -2
  219. package/lib/types/net/OAuthToken.js +2 -2
  220. package/lib/types/net/OAuthTokenOrNull.js +2 -2
  221. package/lib/types/net/TokenAccessFunction.js +2 -2
  222. package/lib/types/net/index.js +17 -19
  223. package/lib/utils/baseActivity.js +83 -85
  224. package/lib/utils/baseRole.js +32 -36
  225. package/lib/utils/collection.js +403 -297
  226. package/lib/utils/cookies.js +19 -23
  227. package/lib/utils/date.js +188 -205
  228. package/lib/utils/dom.js +130 -131
  229. package/lib/utils/domainIdentifier.js +4 -8
  230. package/lib/utils/entityUserRole.js +2 -5
  231. package/lib/utils/error.js +14 -19
  232. package/lib/utils/events.js +32 -31
  233. package/lib/utils/externalGroup.js +20 -25
  234. package/lib/utils/externalProviders.js +4 -7
  235. package/lib/utils/externalTerms.js +6 -6
  236. package/lib/utils/fetch.js +168 -176
  237. package/lib/utils/group.js +14 -11
  238. package/lib/utils/groupDates.js +38 -46
  239. package/lib/utils/groupRoles.js +23 -32
  240. package/lib/utils/lockDownBrowser.js +12 -15
  241. package/lib/utils/logger.js +23 -28
  242. package/lib/utils/lti.js +4 -7
  243. package/lib/utils/model.js +28 -43
  244. package/lib/utils/number.js +9 -13
  245. package/lib/utils/promise.js +23 -26
  246. package/lib/utils/quill.js +55 -60
  247. package/lib/utils/route.js +52 -60
  248. package/lib/utils/search.js +72 -87
  249. package/lib/utils/shard.js +33 -42
  250. package/lib/utils/sort.js +47 -50
  251. package/lib/utils/string.js +10 -12
  252. package/lib/utils/table.js +29 -33
  253. package/lib/utils/timezone.js +7 -12
  254. package/lib/utils/url.js +130 -144
  255. package/lib/utils/user.js +54 -64
  256. package/lib/utils/userAgent.js +7 -14
  257. package/lib/utils/userRole.js +36 -39
  258. package/package.json +17 -3
@@ -1,51 +1,54 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = exports.configureEntityComponent = void 0;
4
- exports.default = entityComponent;
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 react_router_dom_1 = require("react-router-dom");
10
- const baseActivity_1 = require("../../utils/baseActivity");
11
- const route_1 = require("../../utils/route");
12
- const CollectionItemComponent_1 = tslib_1.__importDefault(require("./CollectionItemComponent"));
13
- const ModelErrorRedirectComponent_1 = tslib_1.__importDefault(require("./ModelErrorRedirectComponent"));
14
- const configureEntityComponent = (WrappedComponent, WrappedHeader, propName, entityName) => {
15
- return class EntityComponent extends react_1.Component {
16
- render() {
17
- const { model, modelName } = this.props;
18
- const newProps = {
19
- [propName]: model
20
- };
21
- return ((0, jsx_runtime_1.jsxs)("div", { children: [!!WrappedHeader && (0, jsx_runtime_1.jsx)(WrappedHeader, Object.assign({}, newProps)), model.isDeleted ? ((0, jsx_runtime_1.jsx)(react_router_dom_1.Redirect, { to: `/${entityName === 'groups' ? 'courses' : entityName}` })) : ((0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, newProps, { modelName: modelName })))] }));
22
- }
23
- };
24
- };
25
- exports.configureEntityComponent = configureEntityComponent;
26
- const configureMapStateToProps = (readActivity, modelName) => (state, ownProps) => {
27
- const canReadGlobally = (0, baseActivity_1.canPerformActivityGlobally)(readActivity, (0, baseActivity_1.defaultOptions)(state));
28
- // override modelName if admin does not have a role in the given entity
29
- let newModelName = modelName;
30
- const modelId = (0, route_1.getModelIdFromRouteMatchParams)(ownProps.match.params, newModelName);
31
- let hasAccess;
32
- if (modelId === undefined) {
33
- hasAccess = false;
34
- }
35
- else {
36
- hasAccess =
37
- !!state.models[modelName] &&
38
- !!state.models[modelName][modelId] &&
39
- !!state.models[modelName][modelId].id;
1
+ import { Component } from 'react';
2
+ import { connect } from 'react-redux';
3
+ import { Redirect, withRouter } from 'react-router-dom';
4
+ import { canPerformActivityGlobally, defaultOptions } from '../../utils/baseActivity';
5
+ import { getModelIdFromRouteMatchParams } from '../../utils/route';
6
+ import CollectionItemComponent from './CollectionItemComponent';
7
+ import ModelErrorRedirectComponent from './ModelErrorRedirectComponent';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const configureEntityComponent = (WrappedComponent, WrappedHeader, propName, entityName) => {
10
+ return class EntityComponent extends Component {
11
+ render() {
12
+ const {
13
+ model,
14
+ modelName
15
+ } = this.props;
16
+ const newProps = {
17
+ [propName]: model
18
+ };
19
+ return /*#__PURE__*/_jsxs("div", {
20
+ children: [!!WrappedHeader && /*#__PURE__*/_jsx(WrappedHeader, {
21
+ ...newProps
22
+ }), model.isDeleted ? /*#__PURE__*/_jsx(Redirect, {
23
+ to: `/${entityName === 'groups' ? 'courses' : entityName}`
24
+ }) : /*#__PURE__*/_jsx(WrappedComponent, {
25
+ ...newProps,
26
+ modelName: modelName
27
+ })]
28
+ });
40
29
  }
41
- if (canReadGlobally && !hasAccess) {
42
- newModelName = `search.${newModelName}`;
43
- }
44
- return {
45
- modelName: newModelName
46
- };
30
+ };
31
+ };
32
+ export const configureMapStateToProps = (readActivity, modelName) => (state, ownProps) => {
33
+ const canReadGlobally = canPerformActivityGlobally(readActivity, defaultOptions(state));
34
+
35
+ // override modelName if admin does not have a role in the given entity
36
+ let newModelName = modelName;
37
+ const modelId = getModelIdFromRouteMatchParams(ownProps.match.params, newModelName);
38
+ let hasAccess;
39
+ if (modelId === undefined) {
40
+ hasAccess = false;
41
+ } else {
42
+ hasAccess = !!state.models[modelName] && !!state.models[modelName][modelId] && !!state.models[modelName][modelId].id;
43
+ }
44
+ if (canReadGlobally && !hasAccess) {
45
+ newModelName = `search.${newModelName}`;
46
+ }
47
+ return {
48
+ modelName: newModelName
49
+ };
47
50
  };
48
- exports.configureMapStateToProps = configureMapStateToProps;
51
+
49
52
  /**
50
53
  * A wrapper using CollectionItemComponent that passes down the `model`, to allow nesting of collection components.
51
54
  * Uses `CollectionItemComponent`, `ModelErrorRedirectComponent`, `withRouter`, and `connect`.
@@ -58,11 +61,12 @@ exports.configureMapStateToProps = configureMapStateToProps;
58
61
  * @param modelName Model name passed to wrapped component and `CollectionItemComponent`. May be modified when only global read is available
59
62
  * @param propName The name for the prop with which the `model` will be passed to the wrapped component
60
63
  */
61
- function entityComponent(WrappedComponent, WrappedHeader, readActivity, modelName, propName) {
62
- const EntityComponent = (0, exports.configureEntityComponent)(WrappedComponent, WrappedHeader, propName, modelName);
63
- const mapStateToProps = (0, exports.configureMapStateToProps)(readActivity, modelName);
64
- // @ts-ignore: could not match inferred type from the `connect` HOC
65
- return (0, react_router_dom_1.withRouter)(
66
- // @ts-ignore: could not match inferred type from the `connect` HOC
67
- (0, react_redux_1.connect)(mapStateToProps)((0, CollectionItemComponent_1.default)((0, ModelErrorRedirectComponent_1.default)(EntityComponent), modelName)));
64
+ export default function entityComponent(WrappedComponent, WrappedHeader, readActivity, modelName, propName) {
65
+ const EntityComponent = configureEntityComponent(WrappedComponent, WrappedHeader, propName, modelName);
66
+ const mapStateToProps = configureMapStateToProps(readActivity, modelName);
67
+ // @ts-ignore: could not match inferred type from the `connect` HOC
68
+ return withRouter(
69
+ // @ts-ignore: could not match inferred type from the `connect` HOC
70
+ connect(mapStateToProps)(CollectionItemComponent(ModelErrorRedirectComponent(EntityComponent), modelName)));
68
71
  }
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJjb25uZWN0IiwiUmVkaXJlY3QiLCJ3aXRoUm91dGVyIiwiY2FuUGVyZm9ybUFjdGl2aXR5R2xvYmFsbHkiLCJkZWZhdWx0T3B0aW9ucyIsImdldE1vZGVsSWRGcm9tUm91dGVNYXRjaFBhcmFtcyIsIkNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiTW9kZWxFcnJvclJlZGlyZWN0Q29tcG9uZW50IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImNvbmZpZ3VyZUVudGl0eUNvbXBvbmVudCIsIldyYXBwZWRDb21wb25lbnQiLCJXcmFwcGVkSGVhZGVyIiwicHJvcE5hbWUiLCJlbnRpdHlOYW1lIiwiRW50aXR5Q29tcG9uZW50IiwicmVuZGVyIiwibW9kZWwiLCJtb2RlbE5hbWUiLCJwcm9wcyIsIm5ld1Byb3BzIiwiY2hpbGRyZW4iLCJpc0RlbGV0ZWQiLCJ0byIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsInJlYWRBY3Rpdml0eSIsInN0YXRlIiwib3duUHJvcHMiLCJjYW5SZWFkR2xvYmFsbHkiLCJuZXdNb2RlbE5hbWUiLCJtb2RlbElkIiwibWF0Y2giLCJwYXJhbXMiLCJoYXNBY2Nlc3MiLCJ1bmRlZmluZWQiLCJtb2RlbHMiLCJpZCIsImVudGl0eUNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9FbnRpdHlDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IEJhc2VSZWR1eFN0YXRlLCBEZWxldGFibGVNb2RlbCwgTW9kZWwsIE1vZGVsQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNvbW1vblByb3BzIH0gZnJvbSAnLi4vLi4vdHlwZXMvQ29sbGVjdGlvbidcbmltcG9ydCB7IGNhblBlcmZvcm1BY3Rpdml0eUdsb2JhbGx5LCBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2Jhc2VBY3Rpdml0eSdcbmltcG9ydCB7IGdldE1vZGVsSWRGcm9tUm91dGVNYXRjaFBhcmFtcyB9IGZyb20gJy4uLy4uL3V0aWxzL3JvdXRlJ1xuaW1wb3J0IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50LCB7IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9Db2xsZWN0aW9uSXRlbUNvbXBvbmVudCdcbmltcG9ydCBNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQgZnJvbSAnLi9Nb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q29tcG9uZW50UHJvcHM8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsPlxuXHRleHRlbmRzIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFQ+LFxuXHRcdFJvdXRlQ29tcG9uZW50UHJvcHMge1xuXHRtb2RlbDogVFxufVxuXG5leHBvcnQgdHlwZSBFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLCBUUHJvcCBleHRlbmRzIGtleW9mIGFueT4gPSB7IFtQIGluIFRQcm9wXTogVCB9XG5cbmV4cG9ydCB0eXBlIEVudGl0eUNvbXBvbmVudFdyYXBwZWRQcm9wczxcblx0VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLFxuXHRUUHJvcCBleHRlbmRzIGtleW9mIGFueVxuPiA9IEVudGl0eUNvbXBvbmVudFdyYXBwZWRIZWFkZXJQcm9wczxULCBUUHJvcD4gJiB7XG5cdG1vZGVsTmFtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVFbnRpdHlDb21wb25lbnQgPSA8VCBleHRlbmRzIERlbGV0YWJsZU1vZGVsLCBUUHJvcE5hbWUgZXh0ZW5kcyBrZXlvZiBhbnk+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPEVudGl0eUNvbXBvbmVudFdyYXBwZWRQcm9wczxULCBUUHJvcE5hbWU+Pixcblx0V3JhcHBlZEhlYWRlcjogQ29tcG9uZW50VHlwZTxFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCwgVFByb3BOYW1lPj4gfCB1bmRlZmluZWQsXG5cdHByb3BOYW1lOiBUUHJvcE5hbWUsXG5cdGVudGl0eU5hbWU6IHN0cmluZ1xuKSA9PiB7XG5cdHJldHVybiBjbGFzcyBFbnRpdHlDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RW50aXR5Q29tcG9uZW50UHJvcHM8VD4+IHtcblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7IG1vZGVsLCBtb2RlbE5hbWUgfTogeyBtb2RlbDogVDsgbW9kZWxOYW1lOiBzdHJpbmcgfSA9IHRoaXMucHJvcHNcblx0XHRcdGNvbnN0IG5ld1Byb3BzID0ge1xuXHRcdFx0XHRbcHJvcE5hbWVdOiBtb2RlbFxuXHRcdFx0fSBhcyBFbnRpdHlDb21wb25lbnRXcmFwcGVkSGVhZGVyUHJvcHM8VCwgVFByb3BOYW1lPlxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHR7ISFXcmFwcGVkSGVhZGVyICYmIDxXcmFwcGVkSGVhZGVyIHsuLi5uZXdQcm9wc30gLz59XG5cdFx0XHRcdFx0e21vZGVsLmlzRGVsZXRlZCA/IChcblx0XHRcdFx0XHRcdDxSZWRpcmVjdCB0bz17YC8ke2VudGl0eU5hbWUgPT09ICdncm91cHMnID8gJ2NvdXJzZXMnIDogZW50aXR5TmFtZX1gfSAvPlxuXHRcdFx0XHRcdCkgOiAoXG5cdFx0XHRcdFx0XHQ8V3JhcHBlZENvbXBvbmVudCB7Li4ubmV3UHJvcHN9IG1vZGVsTmFtZT17bW9kZWxOYW1lfSAvPlxuXHRcdFx0XHRcdCl9XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cblx0PFQgZXh0ZW5kcyBEZWxldGFibGVNb2RlbD4ocmVhZEFjdGl2aXR5OiBzdHJpbmcsIG1vZGVsTmFtZTogc3RyaW5nKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlLCBvd25Qcm9wczogRW50aXR5Q29tcG9uZW50UHJvcHM8VD4pID0+IHtcblx0XHRjb25zdCBjYW5SZWFkR2xvYmFsbHkgPSBjYW5QZXJmb3JtQWN0aXZpdHlHbG9iYWxseShyZWFkQWN0aXZpdHksIGRlZmF1bHRPcHRpb25zKHN0YXRlKSlcblxuXHRcdC8vIG92ZXJyaWRlIG1vZGVsTmFtZSBpZiBhZG1pbiBkb2VzIG5vdCBoYXZlIGEgcm9sZSBpbiB0aGUgZ2l2ZW4gZW50aXR5XG5cdFx0bGV0IG5ld01vZGVsTmFtZSA9IG1vZGVsTmFtZVxuXHRcdGNvbnN0IG1vZGVsSWQgPSBnZXRNb2RlbElkRnJvbVJvdXRlTWF0Y2hQYXJhbXMob3duUHJvcHMubWF0Y2gucGFyYW1zLCBuZXdNb2RlbE5hbWUpXG5cdFx0bGV0IGhhc0FjY2Vzc1xuXHRcdGlmIChtb2RlbElkID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGhhc0FjY2VzcyA9IGZhbHNlXG5cdFx0fSBlbHNlIHtcblx0XHRcdGhhc0FjY2VzcyA9XG5cdFx0XHRcdCEhc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gJiZcblx0XHRcdFx0ISEoc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gYXMgTW9kZWxDb2xsZWN0aW9uKVttb2RlbElkXSAmJlxuXHRcdFx0XHQhISgoc3RhdGUubW9kZWxzW21vZGVsTmFtZV0gYXMgTW9kZWxDb2xsZWN0aW9uKVttb2RlbElkXSBhcyBNb2RlbCkuaWRcblx0XHR9XG5cdFx0aWYgKGNhblJlYWRHbG9iYWxseSAmJiAhaGFzQWNjZXNzKSB7XG5cdFx0XHRuZXdNb2RlbE5hbWUgPSBgc2VhcmNoLiR7bmV3TW9kZWxOYW1lfWBcblx0XHR9XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0bW9kZWxOYW1lOiBuZXdNb2RlbE5hbWVcblx0XHR9XG5cdH1cblxuLyoqXG4gKiBBIHdyYXBwZXIgdXNpbmcgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQgdGhhdCBwYXNzZXMgZG93biB0aGUgYG1vZGVsYCwgdG8gYWxsb3cgbmVzdGluZyBvZiBjb2xsZWN0aW9uIGNvbXBvbmVudHMuXG4gKiBVc2VzIGBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudGAsIGBNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnRgLCBgd2l0aFJvdXRlcmAsIGFuZCBgY29ubmVjdGAuXG4gKlxuICogVGhpcyBIT0MgZG9lcyBOT1QgcGFzcyBleHRyYSBwcm9wcyB0aHJvdWdoIHRvIGNoaWxkcmVuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIHdyYXBwZWQgY29tcG9uZW50XG4gKiBAcGFyYW0gV3JhcHBlZEhlYWRlciBUaGUgd3JhcHBlZCBoZWFkZXJcbiAqIEBwYXJhbSByZWFkQWN0aXZpdHkgUmVhZCBhY3Rpdml0eSB0aGF0IHdpbGwgYmUgY2hlY2tlZCBmb3IgZ2xvYmFsIGFjY2Vzc1xuICogQHBhcmFtIG1vZGVsTmFtZSBNb2RlbCBuYW1lIHBhc3NlZCB0byB3cmFwcGVkIGNvbXBvbmVudCBhbmQgYENvbGxlY3Rpb25JdGVtQ29tcG9uZW50YC4gTWF5IGJlIG1vZGlmaWVkIHdoZW4gb25seSBnbG9iYWwgcmVhZCBpcyBhdmFpbGFibGVcbiAqIEBwYXJhbSBwcm9wTmFtZSBUaGUgbmFtZSBmb3IgdGhlIHByb3Agd2l0aCB3aGljaCB0aGUgYG1vZGVsYCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgd3JhcHBlZCBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZW50aXR5Q29tcG9uZW50PFQgZXh0ZW5kcyBEZWxldGFibGVNb2RlbCwgVFByb3BOYW1lIGV4dGVuZHMga2V5b2YgYW55Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxFbnRpdHlDb21wb25lbnRXcmFwcGVkUHJvcHM8VCwgVFByb3BOYW1lPj4sXG5cdFdyYXBwZWRIZWFkZXI6IENvbXBvbmVudFR5cGU8RW50aXR5Q29tcG9uZW50V3JhcHBlZEhlYWRlclByb3BzPFQsIFRQcm9wTmFtZT4+IHwgdW5kZWZpbmVkLFxuXHRyZWFkQWN0aXZpdHk6IHN0cmluZyxcblx0bW9kZWxOYW1lOiBzdHJpbmcsXG5cdHByb3BOYW1lOiBUUHJvcE5hbWVcbik6IENvbXBvbmVudENsYXNzPFBhcnRpYWw8Q29sbGVjdGlvbkNvbW1vblByb3BzPj4ge1xuXHRjb25zdCBFbnRpdHlDb21wb25lbnQgPSBjb25maWd1cmVFbnRpdHlDb21wb25lbnQ8VCwgVFByb3BOYW1lPihXcmFwcGVkQ29tcG9uZW50LCBXcmFwcGVkSGVhZGVyLCBwcm9wTmFtZSwgbW9kZWxOYW1lKVxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMocmVhZEFjdGl2aXR5LCBtb2RlbE5hbWUpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIHdpdGhSb3V0ZXIoXG5cdFx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xuXHRcdGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShDb2xsZWN0aW9uSXRlbUNvbXBvbmVudChNb2RlbEVycm9yUmVkaXJlY3RDb21wb25lbnQoRW50aXR5Q29tcG9uZW50KSwgbW9kZWxOYW1lKSlcblx0KVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQXVDLE9BQU87QUFDaEUsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsUUFBUSxFQUF1QkMsVUFB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
@@ -1,12 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureFullscreenModalComponent = configureFullscreenModalComponent;
4
- exports.fullscreenModalComponent = fullscreenModalComponent;
5
- const tslib_1 = require("tslib");
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const react_modal_1 = tslib_1.__importDefault(require("react-modal"));
9
- const ConnectedModalComponent_1 = require("./ConnectedModalComponent");
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { Component } from 'react';
3
+ import ReactModal from 'react-modal';
4
+ import { connectedModalComponent } from './ConnectedModalComponent';
5
+
6
+ /**
7
+ * The props that are provided to the HOC component directly from the caller, not other wrapping HOCs
8
+ * NOTE: if more flexibility is needed, add more props from `ReactModal.Props`
9
+ */
10
+
11
+ /** The props that are provided to the HOC component, either directly or from other wrapping HOCs */
12
+
13
+ /** The props that are provide to the wrapped component. */
14
+ import { jsx as _jsx } from "react/jsx-runtime";
10
15
  /**
11
16
  * HOC that manages a `ReactModal`, adds inline css, and
12
17
  * coordinates modal state in redux using.
@@ -15,104 +20,129 @@ const ConnectedModalComponent_1 = require("./ConnectedModalComponent");
15
20
  *
16
21
  * @param WrappedComponent The component to wrap.
17
22
  */
18
- function configureFullscreenModalComponent(WrappedComponent) {
19
- return class FullscreenModalComponent extends react_1.Component {
20
- constructor(props) {
21
- super(props);
22
- this.disableScroll = (e) => {
23
- document.documentElement.scrollTop = 0;
24
- e.preventDefault();
25
- return false;
26
- };
27
- this.onOpen = () => {
28
- document.documentElement.addEventListener('touchmove', this.disableScroll);
29
- this.props.onEntering();
30
- };
31
- this.onClose = () => {
32
- document.documentElement.removeEventListener('touchmove', this.disableScroll);
33
- this.props.onExited();
34
- };
35
- this.closeModal = () => {
36
- if (this.props.closeModal) {
37
- this.props.closeModal();
38
- return;
39
- }
40
- this.setState({
41
- isOpen: false
42
- });
43
- };
44
- this.state = {
45
- isOpen: props.isOpen === undefined ? true : props.isOpen
46
- };
47
- // https://github.com/reactjs/react-modal#app-element
48
- // Accessibility fixed when reading the content in the modal
49
- if (document.getElementById('root')) {
50
- react_modal_1.default.setAppElement('#root');
51
- }
52
- }
53
- componentDidMount() {
54
- const { isOpen } = this.state;
55
- if (isOpen) {
56
- this.onOpen();
57
- }
58
- }
59
- componentWillUnmount() {
60
- document.documentElement.removeEventListener('touchmove', this.disableScroll);
61
- }
62
- componentDidUpdate(prevProps, prevState) {
63
- let isOpen;
64
- if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
65
- // using props to handle isOpen, update state
66
- isOpen = this.props.isOpen;
67
- }
68
- else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
69
- // using state only to handle isOpen
70
- isOpen = this.state.isOpen;
71
- }
72
- if (isOpen === undefined) {
73
- return;
74
- }
75
- if (isOpen) {
76
- this.onOpen();
77
- }
78
- else {
79
- this.onClose();
80
- }
81
- this.setState({
82
- isOpen
83
- });
23
+ export function configureFullscreenModalComponent(WrappedComponent) {
24
+ return class FullscreenModalComponent extends Component {
25
+ constructor(props) {
26
+ super(props);
27
+ _defineProperty(this, "disableScroll", e => {
28
+ document.documentElement.scrollTop = 0;
29
+ e.preventDefault();
30
+ return false;
31
+ });
32
+ _defineProperty(this, "onOpen", () => {
33
+ document.documentElement.addEventListener('touchmove', this.disableScroll);
34
+ this.props.onEntering();
35
+ });
36
+ _defineProperty(this, "onClose", () => {
37
+ document.documentElement.removeEventListener('touchmove', this.disableScroll);
38
+ this.props.onExited();
39
+ });
40
+ _defineProperty(this, "closeModal", () => {
41
+ if (this.props.closeModal) {
42
+ this.props.closeModal();
43
+ return;
84
44
  }
85
- render() {
86
- const _a = this.props, { contentLabel, isTopOpenFullscreenModal, onEntering, onExited, isOpen: _, closeModal, zIndex } = _a, remainingProps = tslib_1.__rest(_a, ["contentLabel", "isTopOpenFullscreenModal", "onEntering", "onExited", "isOpen", "closeModal", "zIndex"]);
87
- // do not pass ConnectedModalWrappedProps to wrapped component
88
- const wrappedProps = Object.assign(Object.assign({}, remainingProps), { closeModal: this.closeModal });
89
- const { isOpen } = this.state;
90
- return ((0, jsx_runtime_1.jsx)(react_modal_1.default, { isOpen: isOpen, contentLabel: contentLabel, style: {
91
- content: {
92
- position: 'absolute',
93
- top: 0,
94
- left: 0,
95
- right: 0,
96
- bottom: 0,
97
- overflow: 'hidden',
98
- padding: 0,
99
- border: 'none',
100
- backgroundColor: 'white'
101
- },
102
- overlay: {
103
- position: 'absolute',
104
- top: 0,
105
- left: 0,
106
- right: 0,
107
- bottom: 0,
108
- zIndex: zIndex !== null && zIndex !== void 0 ? zIndex : 2000
109
- }
110
- },
111
- // hide the rendered portal if this is not the top open fullscreen modal
112
- portalClassName: `ReactModalPortal${!isTopOpenFullscreenModal ? ' dn' : ''}`, shouldCloseOnOverlayClick: false, children: (0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, wrappedProps)) }));
45
+ this.setState({
46
+ isOpen: false
47
+ });
48
+ });
49
+ this.state = {
50
+ isOpen: props.isOpen === undefined ? true : props.isOpen
51
+ };
52
+
53
+ // https://github.com/reactjs/react-modal#app-element
54
+ // Accessibility fixed when reading the content in the modal
55
+ if (document.getElementById('root')) {
56
+ ReactModal.setAppElement('#root');
57
+ }
58
+ }
59
+ componentDidMount() {
60
+ const {
61
+ isOpen
62
+ } = this.state;
63
+ if (isOpen) {
64
+ this.onOpen();
65
+ }
66
+ }
67
+ componentWillUnmount() {
68
+ document.documentElement.removeEventListener('touchmove', this.disableScroll);
69
+ }
70
+ componentDidUpdate(prevProps, prevState) {
71
+ let isOpen;
72
+ if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
73
+ // using props to handle isOpen, update state
74
+ isOpen = this.props.isOpen;
75
+ } else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
76
+ // using state only to handle isOpen
77
+ isOpen = this.state.isOpen;
78
+ }
79
+ if (isOpen === undefined) {
80
+ return;
81
+ }
82
+ if (isOpen) {
83
+ this.onOpen();
84
+ } else {
85
+ this.onClose();
86
+ }
87
+ this.setState({
88
+ isOpen
89
+ });
90
+ }
91
+ render() {
92
+ const {
93
+ contentLabel,
94
+ isTopOpenFullscreenModal,
95
+ onEntering,
96
+ onExited,
97
+ isOpen: _,
98
+ closeModal,
99
+ zIndex,
100
+ ...remainingProps
101
+ } = this.props;
102
+ // do not pass ConnectedModalWrappedProps to wrapped component
103
+ const wrappedProps = {
104
+ ...remainingProps,
105
+ closeModal: this.closeModal
106
+ };
107
+ const {
108
+ isOpen
109
+ } = this.state;
110
+ return /*#__PURE__*/_jsx(ReactModal, {
111
+ isOpen: isOpen,
112
+ contentLabel: contentLabel,
113
+ style: {
114
+ content: {
115
+ position: 'absolute',
116
+ top: 0,
117
+ left: 0,
118
+ right: 0,
119
+ bottom: 0,
120
+ overflow: 'hidden',
121
+ padding: 0,
122
+ border: 'none',
123
+ backgroundColor: 'white'
124
+ },
125
+ overlay: {
126
+ position: 'absolute',
127
+ top: 0,
128
+ left: 0,
129
+ right: 0,
130
+ bottom: 0,
131
+ zIndex: zIndex ?? 2000
132
+ }
113
133
  }
114
- };
134
+ // hide the rendered portal if this is not the top open fullscreen modal
135
+ ,
136
+ portalClassName: `ReactModalPortal${!isTopOpenFullscreenModal ? ' dn' : ''}`,
137
+ shouldCloseOnOverlayClick: false,
138
+ children: /*#__PURE__*/_jsx(WrappedComponent, {
139
+ ...wrappedProps
140
+ })
141
+ });
142
+ }
143
+ };
115
144
  }
145
+
116
146
  /**
117
147
  * HOC that contains a `ReactModal` which can be auto managed or managed with props,
118
148
  * adds fullscreen styles, and coordinates modal state in redux.
@@ -127,8 +157,9 @@ function configureFullscreenModalComponent(WrappedComponent) {
127
157
  *
128
158
  * @param WrappedComponent The component to wrap.
129
159
  */
130
- function fullscreenModalComponent(WrappedComponent) {
131
- const component = configureFullscreenModalComponent(WrappedComponent);
132
- return (0, ConnectedModalComponent_1.connectedModalComponent)(component, true);
160
+ export function fullscreenModalComponent(WrappedComponent) {
161
+ const component = configureFullscreenModalComponent(WrappedComponent);
162
+ return connectedModalComponent(component, true);
133
163
  }
134
- exports.default = fullscreenModalComponent;
164
+ export default fullscreenModalComponent;
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJSZWFjdE1vZGFsIiwiY29ubmVjdGVkTW9kYWxDb21wb25lbnQiLCJqc3giLCJfanN4IiwiY29uZmlndXJlRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzY3JvbGxUb3AiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNhYmxlU2Nyb2xsIiwib25FbnRlcmluZyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkV4aXRlZCIsImNsb3NlTW9kYWwiLCJzZXRTdGF0ZSIsImlzT3BlbiIsInN0YXRlIiwidW5kZWZpbmVkIiwiZ2V0RWxlbWVudEJ5SWQiLCJzZXRBcHBFbGVtZW50IiwiY29tcG9uZW50RGlkTW91bnQiLCJvbk9wZW4iLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsIm9uQ2xvc2UiLCJyZW5kZXIiLCJjb250ZW50TGFiZWwiLCJpc1RvcE9wZW5GdWxsc2NyZWVuTW9kYWwiLCJfIiwiekluZGV4IiwicmVtYWluaW5nUHJvcHMiLCJ3cmFwcGVkUHJvcHMiLCJzdHlsZSIsImNvbnRlbnQiLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJyaWdodCIsImJvdHRvbSIsIm92ZXJmbG93IiwicGFkZGluZyIsImJvcmRlciIsImJhY2tncm91bmRDb2xvciIsIm92ZXJsYXkiLCJwb3J0YWxDbGFzc05hbWUiLCJzaG91bGRDbG9zZU9uT3ZlcmxheUNsaWNrIiwiY2hpbGRyZW4iLCJmdWxsc2NyZWVuTW9kYWxDb21wb25lbnQiLCJjb21wb25lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgUmVhY3RNb2RhbCBmcm9tICdyZWFjdC1tb2RhbCdcbmltcG9ydCB7IGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50LCBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vQ29ubmVjdGVkTW9kYWxDb21wb25lbnQnXG5pbXBvcnQgeyBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xuXG4vKipcbiAqIFRoZSBwcm9wcyB0aGF0IGFyZSBwcm92aWRlZCB0byB0aGUgSE9DIGNvbXBvbmVudCBkaXJlY3RseSBmcm9tIHRoZSBjYWxsZXIsIG5vdCBvdGhlciB3cmFwcGluZyBIT0NzXG4gKiBOT1RFOiBpZiBtb3JlIGZsZXhpYmlsaXR5IGlzIG5lZWRlZCwgYWRkIG1vcmUgcHJvcHMgZnJvbSBgUmVhY3RNb2RhbC5Qcm9wc2BcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdWxsc2NyZWVuTW9kYWxPd25Qcm9wcyB7XG5cdC8qIEJvb2xlYW4gZGVzY3JpYmluZyBpZiB0aGUgbW9kYWwgc2hvdWxkIGJlIHNob3duIG9yIG5vdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kYWwgbWFuYWdlcyBpdHNlbGYsIGRlZmF1bHRpbmcgdG8gb3Blbi4gKi9cblx0aXNPcGVuPzogYm9vbGVhblxuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIG1vZGFsIHNob3VsZCBiZSBjbG9zZWQsIGFuZCB0aGUgcGFyZW50IHNob3VsZCBzZXQgYHByb3BzLmlzT3BlbmAgdG8gYGZhbHNlYC5cblx0ICogSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kYWwgbWFuYWdlcyBpdHNlbGYuXG5cdCAqL1xuXHRjbG9zZU1vZGFsPzogKCkgPT4gdm9pZFxuXG5cdC8qIFN0cmluZyBpbmRpY2F0aW5nIGhvdyB0aGUgY29udGVudCBjb250YWluZXIgc2hvdWxkIGJlIGFubm91bmNlZCB0byBzY3JlZW4gcmVhZGVycy4gKi9cblx0Y29udGVudExhYmVsPzogc3RyaW5nXG5cblx0LyogT3B0aW9uYWwgdmFsdWUgaW5kaWNhdGluZyB0aGUgekluZGV4IHRoZSBtb2RhbCBvdmVybGF5IHNob3VsZCBoYXZlICovXG5cdHpJbmRleD86IG51bWJlclxufVxuXG4vKiogVGhlIHByb3BzIHRoYXQgYXJlIHByb3ZpZGVkIHRvIHRoZSBIT0MgY29tcG9uZW50LCBlaXRoZXIgZGlyZWN0bHkgb3IgZnJvbSBvdGhlciB3cmFwcGluZyBIT0NzICovXG5leHBvcnQgdHlwZSBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnRQcm9wcyA9IEZ1bGxzY3JlZW5Nb2RhbE93blByb3BzICZcblx0Q29ubmVjdGVkTW9kYWxXcmFwcGVkUHJvcHMgJlxuXHRHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzXG5cbi8qKiBUaGUgcHJvcHMgdGhhdCBhcmUgcHJvdmlkZSB0byB0aGUgd3JhcHBlZCBjb21wb25lbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxzY3JlZW5Nb2RhbFdyYXBwZWRQcm9wcyB7XG5cdC8qKiBHVUlEIG9mIHRoZSBmdWxsc2NyZWVuIG1vZGFsLCB1c2VkIGluIHN0YXRlLm1vZGFscy4gKi9cblx0Z3VpZDogc3RyaW5nXG5cdC8qKiBGdW5jdGlvbiB0aGF0IHdpbGwgY2xvc2UgdGhlIG1vZGFsLiAqL1xuXHRjbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG59XG5cbmludGVyZmFjZSBGdWxsc2NyZWVuTW9kYWxTdGF0ZSB7XG5cdGlzT3BlbjogYm9vbGVhblxufVxuXG4vKipcbiAqIEhPQyB0aGF0IG1hbmFnZXMgYSBgUmVhY3RNb2RhbGAsIGFkZHMgaW5saW5lIGNzcywgYW5kXG4gKiBjb29yZGluYXRlcyBtb2RhbCBzdGF0ZSBpbiByZWR1eCB1c2luZy5cbiAqXG4gKiBOT1RFOiBNZWFudCBmb3IgdGVzdGluZy4gU2hvdWxkIGJlIHdyYXBwZWQgaW4gYGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50YCBub3JtYWxseS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxXcmFwcGVkUHJvcHM+XG4pIHtcblx0dHlwZSBIb2NQcm9wcyA9IFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudFByb3BzXG5cdHJldHVybiBjbGFzcyBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8SG9jUHJvcHMsIEZ1bGxzY3JlZW5Nb2RhbFN0YXRlPiB7XG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IEhvY1Byb3BzKSB7XG5cdFx0XHRzdXBlcihwcm9wcylcblxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0aXNPcGVuOiBwcm9wcy5pc09wZW4gPT09IHVuZGVmaW5lZCA/IHRydWUgOiBwcm9wcy5pc09wZW5cblx0XHRcdH1cblxuXHRcdFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0anMvcmVhY3QtbW9kYWwjYXBwLWVsZW1lbnRcblx0XHRcdC8vIEFjY2Vzc2liaWxpdHkgZml4ZWQgd2hlbiByZWFkaW5nIHRoZSBjb250ZW50IGluIHRoZSBtb2RhbFxuXHRcdFx0aWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JykpIHtcblx0XHRcdFx0UmVhY3RNb2RhbC5zZXRBcHBFbGVtZW50KCcjcm9vdCcpXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHRjb25zdCB7IGlzT3BlbiB9ID0gdGhpcy5zdGF0ZVxuXHRcdFx0aWYgKGlzT3Blbikge1xuXHRcdFx0XHR0aGlzLm9uT3BlbigpXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50V2lsbFVubW91bnQoKSB7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5kaXNhYmxlU2Nyb2xsKVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHM6IEhvY1Byb3BzLCBwcmV2U3RhdGU6IEZ1bGxzY3JlZW5Nb2RhbFN0YXRlKSB7XG5cdFx0XHRsZXQgaXNPcGVuOiBib29sZWFuIHwgdW5kZWZpbmVkXG5cblx0XHRcdGlmICh0aGlzLnByb3BzLmlzT3BlbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMucHJvcHMuaXNPcGVuICE9PSB0aGlzLnN0YXRlLmlzT3Blbikge1xuXHRcdFx0XHQvLyB1c2luZyBwcm9wcyB0byBoYW5kbGUgaXNPcGVuLCB1cGRhdGUgc3RhdGVcblx0XHRcdFx0aXNPcGVuID0gdGhpcy5wcm9wcy5pc09wZW5cblx0XHRcdH0gZWxzZSBpZiAodGhpcy5wcm9wcy5pc09wZW4gPT09IHVuZGVmaW5lZCAmJiBwcmV2U3RhdGUuaXNPcGVuICE9PSB0aGlzLnN0YXRlLmlzT3Blbikge1xuXHRcdFx0XHQvLyB1c2luZyBzdGF0ZSBvbmx5IHRvIGhhbmRsZSBpc09wZW5cblx0XHRcdFx0aXNPcGVuID0gdGhpcy5zdGF0ZS5pc09wZW5cblx0XHRcdH1cblxuXHRcdFx0aWYgKGlzT3BlbiA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoaXNPcGVuKSB7XG5cdFx0XHRcdHRoaXMub25PcGVuKClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMub25DbG9zZSgpXG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0aXNPcGVuXG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdGRpc2FibGVTY3JvbGwgPSAoZTogRXZlbnQpID0+IHtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPSAwXG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KClcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblxuXHRcdG9uT3BlbiA9ICgpID0+IHtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmRpc2FibGVTY3JvbGwpXG5cdFx0XHR0aGlzLnByb3BzLm9uRW50ZXJpbmcoKVxuXHRcdH1cblxuXHRcdG9uQ2xvc2UgPSAoKSA9PiB7XG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5kaXNhYmxlU2Nyb2xsKVxuXHRcdFx0dGhpcy5wcm9wcy5vbkV4aXRlZCgpXG5cdFx0fVxuXG5cdFx0Y2xvc2VNb2RhbCA9ICgpID0+IHtcblx0XHRcdGlmICh0aGlzLnByb3BzLmNsb3NlTW9kYWwpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5jbG9zZU1vZGFsKClcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0aXNPcGVuOiBmYWxzZVxuXHRcdFx0fSlcblx0XHR9XG5cblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdGNvbnRlbnRMYWJlbCxcblx0XHRcdFx0aXNUb3BPcGVuRnVsbHNjcmVlbk1vZGFsLFxuXHRcdFx0XHRvbkVudGVyaW5nLFxuXHRcdFx0XHRvbkV4aXRlZCxcblx0XHRcdFx0aXNPcGVuOiBfLFxuXHRcdFx0XHRjbG9zZU1vZGFsLFxuXHRcdFx0XHR6SW5kZXgsXG5cdFx0XHRcdC4uLnJlbWFpbmluZ1Byb3BzXG5cdFx0XHR9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Ly8gZG8gbm90IHBhc3MgQ29ubmVjdGVkTW9kYWxXcmFwcGVkUHJvcHMgdG8gd3JhcHBlZCBjb21wb25lbnRcblx0XHRcdGNvbnN0IHdyYXBwZWRQcm9wcyA9IHtcblx0XHRcdFx0Li4ucmVtYWluaW5nUHJvcHMsXG5cdFx0XHRcdGNsb3NlTW9kYWw6IHRoaXMuY2xvc2VNb2RhbFxuXHRcdFx0fSBhcyBUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxXcmFwcGVkUHJvcHNcblx0XHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8UmVhY3RNb2RhbFxuXHRcdFx0XHRcdGlzT3Blbj17aXNPcGVufVxuXHRcdFx0XHRcdGNvbnRlbnRMYWJlbD17Y29udGVudExhYmVsfVxuXHRcdFx0XHRcdHN0eWxlPXt7XG5cdFx0XHRcdFx0XHRjb250ZW50OiB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdFx0XHR0b3A6IDAsXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDAsXG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAwLFxuXHRcdFx0XHRcdFx0XHRib3R0b206IDAsXG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCxcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAnbm9uZScsXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG92ZXJsYXk6IHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdhYnNvbHV0ZScsXG5cdFx0XHRcdFx0XHRcdHRvcDogMCxcblx0XHRcdFx0XHRcdFx0bGVmdDogMCxcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDAsXG5cdFx0XHRcdFx0XHRcdGJvdHRvbTogMCxcblx0XHRcdFx0XHRcdFx0ekluZGV4OiB6SW5kZXggPz8gMjAwMFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0Ly8gaGlkZSB0aGUgcmVuZGVyZWQgcG9ydGFsIGlmIHRoaXMgaXMgbm90IHRoZSB0b3Agb3BlbiBmdWxsc2NyZWVuIG1vZGFsXG5cdFx0XHRcdFx0cG9ydGFsQ2xhc3NOYW1lPXtgUmVhY3RNb2RhbFBvcnRhbCR7IWlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCA/ICcgZG4nIDogJyd9YH1cblx0XHRcdFx0XHRzaG91bGRDbG9zZU9uT3ZlcmxheUNsaWNrPXtmYWxzZX0+XG5cdFx0XHRcdFx0PFdyYXBwZWRDb21wb25lbnQgey4uLndyYXBwZWRQcm9wc30gLz5cblx0XHRcdFx0PC9SZWFjdE1vZGFsPlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEhPQyB0aGF0IGNvbnRhaW5zIGEgYFJlYWN0TW9kYWxgIHdoaWNoIGNhbiBiZSBhdXRvIG1hbmFnZWQgb3IgbWFuYWdlZCB3aXRoIHByb3BzLFxuICogYWRkcyBmdWxsc2NyZWVuIHN0eWxlcywgYW5kIGNvb3JkaW5hdGVzIG1vZGFsIHN0YXRlIGluIHJlZHV4LlxuICpcbiAqIFVzZXMgYGNvbm5lY3RlZE1vZGFsQ29tcG9uZW50YC5cbiAqXG4gKiBOT1RFOiBQbGVhc2UgYWRkIHRoZSBmb2xsb3dpbmcgY3NzXG4gKlxuICogLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4ge1xuICogXHRvdmVyZmxvdzogaGlkZGVuO1xuICogfVxuICpcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbFdyYXBwZWRQcm9wcz5cbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbE93blByb3BzPiB7XG5cdGNvbnN0IGNvbXBvbmVudCA9IGNvbmZpZ3VyZUZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudDxUT3duUHJvcHM+KFdyYXBwZWRDb21wb25lbnQpXG5cdHJldHVybiBjb25uZWN0ZWRNb2RhbENvbXBvbmVudChjb21wb25lbnQsIHRydWUpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudFxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxRQUF1QyxPQUFPO0FBQ2hFLE9BQU9DLFVBQVUsTUFBTSxhQUFhO0FBQ3BDLFNBQVNDLHVCQUF1QixRQUFvQywyQkFBMkI7O0FBRy9GO0FBQ0E7QUFDQTtBQUNBOztBQWtCQTs7QUFLQTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNDLGlDQUFpQ0EsQ0FDaERDLGdCQUF3RSxFQUN2RTtFQUVELE9BQU8sTUFBTUMsd0JBQXdCLFNBQVNQLFNBQVMsQ0FBaUM7SUFDdkZRLFdBQVdBLENBQUNDLEtBQWUsRUFBRTtNQUM1QixLQUFLLENBQUNBLEtBQUssQ0FBQztNQUFBQyxlQUFBLHdCQWlESUMsQ0FBUSxJQUFLO1FBQzdCQyxRQUFRLENBQUNDLGVBQWUsQ0FBQ0MsU0FBUyxHQUFHLENBQUM7UUFDdENILENBQUMsQ0FBQ0ksY0FBYyxDQUFDLENBQUM7UUFDbEIsT0FBTyxLQUFLO01BQ2IsQ0FBQztNQUFBTCxlQUFBLGlCQUVRLE1BQU07UUFDZEUsUUFBUSxDQUFDQyxlQUFlLENBQUNHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNDLGFBQWEsQ0FBQztRQUMxRSxJQUFJLENBQUNSLEtBQUssQ0FBQ1MsVUFBVSxDQUFDLENBQUM7TUFDeEIsQ0FBQztNQUFBUixlQUFBLGtCQUVTLE1BQU07UUFDZkUsUUFBUSxDQUFDQyxlQUFlLENBQUNNLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUNGLGFBQWEsQ0FBQztRQUM3RSxJQUFJLENBQUNSLEtBQUssQ0FBQ1csUUFBUSxDQUFDLENBQUM7TUFDdEIsQ0FBQztNQUFB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
@@ -1,10 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configureMapStateToProps = void 0;
4
- exports.default = groupActivityRequiredComponent;
5
- const react_redux_1 = require("react-redux");
6
- const baseActivity_1 = require("../../utils/baseActivity");
7
- const ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
1
+ import { connect } from 'react-redux';
2
+ import { defaultOptions } from '../../utils/baseActivity';
3
+ import { configureActivityRequiredComponent } from './ActivityRequiredComponent';
4
+
5
+ /**
6
+ * An entity that has a `groupId`
7
+ */
8
+
8
9
  /**
9
10
  * Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
10
11
  * checking whether the user has the passed `requiredActivity` for the group referenced by
@@ -14,15 +15,20 @@ const ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
14
15
  * @param requiredActivity The required activity which is passed to the predicate for evaluation
15
16
  * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
16
17
  */
17
- const configureMapStateToProps = (accessPredicate, requiredActivity, redirectPath) => (state, ownProps) => {
18
- const entity = ownProps && state.models.groups ? state.models.groups[ownProps.model.groupId] : undefined;
19
- const options = Object.assign(Object.assign({}, (0, baseActivity_1.defaultOptions)(state, ownProps)), { entity });
20
- return {
21
- hasAccess: accessPredicate(requiredActivity, options),
22
- redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
23
- };
18
+ export const configureMapStateToProps = (accessPredicate, requiredActivity, redirectPath) => (state, ownProps) => {
19
+ const entity = ownProps && state.models.groups ? state.models.groups[ownProps.model.groupId] : undefined;
20
+ const options = {
21
+ ...defaultOptions(state, ownProps),
22
+ ...{
23
+ entity
24
+ }
25
+ };
26
+ return {
27
+ hasAccess: accessPredicate(requiredActivity, options),
28
+ redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
29
+ };
24
30
  };
25
- exports.configureMapStateToProps = configureMapStateToProps;
31
+
26
32
  /**
27
33
  * This HOC ensures that the wrapped component is only rendered if the group referenced by
28
34
  * `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
@@ -32,9 +38,10 @@ exports.configureMapStateToProps = configureMapStateToProps;
32
38
  * @param requiredActivity The required activity which is passed to the predicate for evaluation
33
39
  * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
34
40
  */
35
- function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
36
- const ActivityRequiredComponent = (0, ActivityRequiredComponent_1.configureActivityRequiredComponent)(WrappedComponent);
37
- const mapStateToProps = (0, exports.configureMapStateToProps)(accessPredicate, requiredActivity, redirectPath);
38
- // @ts-ignore: could not match inferred type from the `connect` HOC
39
- return (0, react_redux_1.connect)(mapStateToProps)(ActivityRequiredComponent);
41
+ export default function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
42
+ const ActivityRequiredComponent = configureActivityRequiredComponent(WrappedComponent);
43
+ const mapStateToProps = configureMapStateToProps(accessPredicate, requiredActivity, redirectPath);
44
+ // @ts-ignore: could not match inferred type from the `connect` HOC
45
+ return connect(mapStateToProps)(ActivityRequiredComponent);
40
46
  }
47
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25uZWN0IiwiZGVmYXVsdE9wdGlvbnMiLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwiYWNjZXNzUHJlZGljYXRlIiwicmVxdWlyZWRBY3Rpdml0eSIsInJlZGlyZWN0UGF0aCIsInN0YXRlIiwib3duUHJvcHMiLCJlbnRpdHkiLCJtb2RlbHMiLCJncm91cHMiLCJtb2RlbCIsImdyb3VwSWQiLCJ1bmRlZmluZWQiLCJvcHRpb25zIiwiaGFzQWNjZXNzIiwiZ3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvR3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xuaW1wb3J0IHsgQmFzZVJlZHV4U3RhdGUsIE1vZGVsIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBY3Rpdml0eU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvYmFzZUFjdGl2aXR5J1xuaW1wb3J0IHsgQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMsIGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuL0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQnXG5pbXBvcnQgeyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQnXG5cbi8qKlxuICogQW4gZW50aXR5IHRoYXQgaGFzIGEgYGdyb3VwSWRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBSZWxhdGVkRW50aXR5IGV4dGVuZHMgTW9kZWwge1xuXHRncm91cElkOiBudW1iZXJcbn1cblxuLyoqXG4gKiBSZXR1cm4gYG1hcFN0YXRlVG9Qcm9wc2AgZnVuY3Rpb24uIEFkZCBhIGBoYXNBY2Nlc3NgIGJvb2xlYW4gcHJvcGVydHkgdG8gdGhlIGNvbXBvbmVudCdzIHByb3BzXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YCBmb3IgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcbiAqIGBvd25Qcm9wcy5tb2RlbC5ncm91cElkYCwgaWYgYW55LlxuICpcbiAqIEBwYXJhbSBhY2Nlc3NQcmVkaWNhdGUgQSBwcmVkaWNhdGUgYWNjZXB0aW5nIGEgcmVxdWlyZWQgYWN0aXZpdHkgYW5kIGFuIG9wdGlvbmFsIGVudGl0eSBhbmQvb3IgdXNlckluZm8gb2JqZWN0XG4gKiBAcGFyYW0gcmVxdWlyZWRBY3Rpdml0eSBUaGUgcmVxdWlyZWQgYWN0aXZpdHkgd2hpY2ggaXMgcGFzc2VkIHRvIHRoZSBwcmVkaWNhdGUgZm9yIGV2YWx1YXRpb25cbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdFx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG5cdCkgPT5cblx0KFxuXHRcdHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSxcblx0XHRvd25Qcm9wcz86IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPEdyb3VwUmVsYXRlZEVudGl0eT5cblx0KTogQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMgPT4ge1xuXHRcdGNvbnN0IGVudGl0eSA9IG93blByb3BzICYmIHN0YXRlLm1vZGVscy5ncm91cHMgPyBzdGF0ZS5tb2RlbHMuZ3JvdXBzW293blByb3BzLm1vZGVsLmdyb3VwSWRdIDogdW5kZWZpbmVkXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMoc3RhdGUsIG93blByb3BzKSwgLi4ueyBlbnRpdHkgfSB9IGFzIEFjdGl2aXR5T3B0aW9uc1xuXHRcdHJldHVybiB7XG5cdFx0XHRoYXNBY2Nlc3M6IGFjY2Vzc1ByZWRpY2F0ZShyZXF1aXJlZEFjdGl2aXR5LCBvcHRpb25zKSxcblx0XHRcdHJlZGlyZWN0UGF0aDogKHR5cGVvZiByZWRpcmVjdFBhdGggPT09ICdmdW5jdGlvbicgPyByZWRpcmVjdFBhdGgob3B0aW9ucykgOiByZWRpcmVjdFBhdGgpIHx8ICcvJ1xuXHRcdH1cblx0fVxuXG4vKipcbiAqIFRoaXMgSE9DIGVuc3VyZXMgdGhhdCB0aGUgd3JhcHBlZCBjb21wb25lbnQgaXMgb25seSByZW5kZXJlZCBpZiB0aGUgZ3JvdXAgcmVmZXJlbmNlZCBieVxuICogYHByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnksIHNhdGlzZmllcyB0aGUgYGFjY2Vzc1ByZWRpY2F0ZWAgZm9yIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ3JvdXBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFxuXHRUT3duUHJvcHMgZXh0ZW5kcyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxHcm91cFJlbGF0ZWRFbnRpdHk+XG4+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz4sXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogYW55KSA9PiBib29sZWFuLFxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXG5cdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG4pOiBDb21wb25lbnRDbGFzczxUT3duUHJvcHM+IHtcblx0Y29uc3QgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudClcblx0Y29uc3QgbWFwU3RhdGVUb1Byb3BzID0gY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzKGFjY2Vzc1ByZWRpY2F0ZSwgcmVxdWlyZWRBY3Rpdml0eSwgcmVkaXJlY3RQYXRoKVxuXHQvLyBAdHMtaWdub3JlOiBjb3VsZCBub3QgbWF0Y2ggaW5mZXJyZWQgdHlwZSBmcm9tIHRoZSBgY29ubmVjdGAgSE9DXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsT0FBTyxRQUFRLGFBQWE7QUFFckMsU0FBMEJDLGNBQWMsUUFBUSwwQkFBMEI7QUFDMUUsU0FBcUNDLGtDQUFrQyxRQUFRLDZCQUE2Qjs7QUFHNUc7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sTUFBTUMsd0JBQXdCLEdBQ3BDQSxDQUNDQyxlQUFnRixFQUNoRkMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxLQUUzRSxDQUNDQyxLQUFxQixFQUNyQkMsUUFBa0UsS0FDbEM7RUFDaEMsTUFBTUMsTUFBTSxHQUFHRCxRQUFRLElBQUlELEtBQUssQ0FBQ0csTUFBTSxDQUFDQyxNQUFNLEdBQUdKLEtBQUssQ0FBQ0csTUFBTSxDQUFDQyxNQUFNLENBQUNILFFBQVEsQ0FBQ0ksS0FBSyxDQUFDQyxPQUFPLENBQUMsR0FBR0MsU0FBUztFQUN4RyxNQUFNQyxPQUFPLEdBQUc7SUFBRSxHQUFHZCxjQUFjLENBQUNNLEtBQUssRUFBRUMsUUFBUSxDQUFDO0lBQUUsR0FBRztNQUFFQztJQUFPO0VBQUUsQ0FBb0I7RUFDeEYsT0FBTztJQUNOTyxTQUFTLEVBQUVaLGVBQWUsQ0FBQ0MsZ0JBQWdCLEVBQUVVLE9BQU8sQ0FBQztJQUNyRFQsWUFBWSxFQUFFLENBQUMsT0FBT0EsWUFBWSxLQUFLLFVBQVUsR0FBR0EsWUFBWSxDQUFDUyxPQUFPLENBQUMsR0FBR1QsWUFBWSxLQUFLO0VBQzlGLENBQUM7QUFDRixDQUFDOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBU1csOEJBQThCQSxDQUdyREMsZ0JBQTBDLEVBQzFDZCxlQUFvRSxFQUNwRUMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxFQUM5QztFQUM1QixNQUFNYSx5QkFBeUIsR0FBR2pCLGtDQUFrQyxDQUFDZ0IsZ0JBQWdCLENBQUM7RUFDdEYsTUFBTUUsZUFBZSxHQUFHakIsd0JBQXdCLENBQUNDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksQ0FBQztFQUNqRztFQUNBLE9BQU9OLE9BQU8sQ0FBQ29CLGVBQWUsQ0FBQyxDQUFDRCx5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.guidComponent = guidComponent;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const uuid_1 = require("uuid");
1
+ import { Component } from 'react';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
7
4
  /**
8
5
  * HOC that provides a `guid` prop to the `WrappedComponent`.
9
6
  *
10
7
  * @param WrappedComponent The component to wrap.
11
8
  */
12
- function guidComponent(WrappedComponent // intersect type separates the guid props
13
- ) {
14
- return class GuidComponent extends react_1.Component {
15
- constructor(props) {
16
- super(props);
17
- this.state = {
18
- guid: (0, uuid_1.v4)()
19
- };
20
- }
21
- render() {
22
- return (0, jsx_runtime_1.jsx)(WrappedComponent, Object.assign({}, this.props, { guid: this.state.guid }));
23
- }
24
- };
9
+ export function guidComponent(WrappedComponent) {
10
+ return class GuidComponent extends Component {
11
+ constructor(props) {
12
+ super(props);
13
+ this.state = {
14
+ guid: uuidv4()
15
+ };
16
+ }
17
+ render() {
18
+ return /*#__PURE__*/_jsx(WrappedComponent, {
19
+ ...this.props,
20
+ guid: this.state.guid
21
+ });
22
+ }
23
+ };
25
24
  }
26
- exports.default = guidComponent;
25
+ export default guidComponent;
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJ2NCIsInV1aWR2NCIsImpzeCIsIl9qc3giLCJndWlkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkd1aWRDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwic3RhdGUiLCJndWlkIiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0d1aWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB7XG5cdGd1aWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd1aWRDb21wb25lbnRTdGF0ZSB7XG5cdGd1aWQ6IHN0cmluZ1xufVxuXG4vKipcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIGEgYGd1aWRgIHByb3AgdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCAgVGhlIGNvbXBvbmVudCB0byB3cmFwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHM+IC8vIGludGVyc2VjdCB0eXBlIHNlcGFyYXRlcyB0aGUgZ3VpZCBwcm9wc1xuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XG5cdHJldHVybiBjbGFzcyBHdWlkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFRPd25Qcm9wcywgR3VpZENvbXBvbmVudFN0YXRlPiB7XG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IFRPd25Qcm9wcykge1xuXHRcdFx0c3VwZXIocHJvcHMpXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xuXHRcdFx0XHRndWlkOiB1dWlkdjQoKVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJlbmRlcigpIHtcblx0XHRcdHJldHVybiA8V3JhcHBlZENvbXBvbmVudCB7Li4udGhpcy5wcm9wc30gZ3VpZD17dGhpcy5zdGF0ZS5ndWlkfSAvPlxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBndWlkQ29tcG9uZW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBdUMsT0FBTztBQUNoRSxTQUFTQyxFQUFFLElBQUlDLE1BQU0sUUFBUSxNQUFNO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNDLGFBQWFBLENBQzVCQyxnQkFBc0UsRUFDMUM7RUFDNUIsT0FBTyxNQUFNQyxhQUFhLFNBQVNQLFNBQVMsQ0FBZ0M7SUFDM0VRLFdBQVdBLENBQUNDLEtBQWdCLEVBQUU7TUFDN0IsS0FBSyxDQUFDQSxLQUFLLENBQUM7TUFDWixJQUFJLENBQUNDLEtBQUssR0FBRztRQUNaQyxJQUFJLEVBQUVULE1BQU0sQ0FBQztNQUNkLENBQUM7SUFDRjtJQUVBVSxNQUFNQSxDQUFBLEVBQUc7TUFDUixvQkFBT1IsSUFBQSxDQUFDRSxnQkFBZ0I7UUFBQSxHQUFLLElBQUksQ0FBQ0csS0FBSztRQUFFRSxJQUFJLEVBQUUsSUFBSSxDQUFDRCxLQUFLLENBQUNDO01BQUssQ0FBRSxDQUFDO0lBQ25FO0VBQ0QsQ0FBQztBQUNGO0FBRUEsZUFBZU4sYUFBYSIsImlnbm9yZUxpc3QiOltdfQ==