studiokit-scaffolding-js 7.0.12 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +137 -137
- package/lib/components/ActionList.d.ts +2 -2
- package/lib/components/ActionList.js +166 -87
- package/lib/components/AlertDialog.d.ts +3 -3
- package/lib/components/AlertDialog.js +133 -18
- package/lib/components/AlertWithIcon.js +93 -52
- package/lib/components/ConnectedModal.d.ts +1 -2
- package/lib/components/ConnectedModal.js +43 -37
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
- package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
- package/lib/components/Dropdowns/ManagedNavDropdown.js +99 -111
- package/lib/components/Dropdowns/UserDropdown.js +109 -70
- package/lib/components/Dropdowns/index.js +27 -11
- package/lib/components/EntityOwnerList.d.ts +3 -3
- package/lib/components/EntityOwnerList.js +52 -60
- package/lib/components/Error.js +107 -27
- package/lib/components/ErrorBoundary.js +133 -94
- package/lib/components/ErrorMessage.d.ts +2 -2
- package/lib/components/ErrorMessage.js +44 -14
- package/lib/components/Forms/DateField.d.ts +2 -2
- package/lib/components/Forms/DateField.js +63 -95
- package/lib/components/Forms/TimeField.d.ts +2 -2
- package/lib/components/Forms/TimeField.js +84 -108
- package/lib/components/Forms/index.js +27 -13
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
- package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
- package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
- package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
- package/lib/components/Groups/ExternalGroups/Table.js +183 -76
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
- package/lib/components/Groups/RosterSyncInfo.js +140 -49
- package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
- package/lib/components/HOC/AccessibleAppComponent.js +101 -124
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
- package/lib/components/HOC/ActivityRequiredComponent.js +93 -107
- package/lib/components/HOC/AsyncComponent.d.ts +9 -9
- package/lib/components/HOC/AsyncComponent.js +53 -129
- package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
- package/lib/components/HOC/AuthenticatedComponent.js +59 -96
- package/lib/components/HOC/CollectionComponent.d.ts +12 -12
- package/lib/components/HOC/CollectionComponent.js +171 -171
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
- package/lib/components/HOC/CollectionFirstItemComponent.js +52 -94
- package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
- package/lib/components/HOC/CollectionItemComponent.js +169 -168
- package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
- package/lib/components/HOC/ConnectedModalComponent.js +110 -140
- package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
- package/lib/components/HOC/DataDependentComponent.js +30 -79
- package/lib/components/HOC/EntityComponent.d.ts +13 -13
- package/lib/components/HOC/EntityComponent.js +74 -112
- package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
- package/lib/components/HOC/FullscreenModalComponent.js +165 -185
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
- package/lib/components/HOC/GroupActivityRequiredComponent.js +48 -47
- package/lib/components/HOC/GuidComponent.d.ts +1 -1
- package/lib/components/HOC/GuidComponent.js +29 -68
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +42 -65
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
- package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -94
- package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
- package/lib/components/HOC/SearchPersistorComponent.js +243 -216
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
- package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
- package/lib/components/HOC/UserComponent.d.ts +1 -1
- package/lib/components/HOC/UserComponent.js +12 -11
- package/lib/components/Icons/IconAlphaList.js +34 -20
- package/lib/components/Icons/IconExternalUser.js +34 -20
- package/lib/components/Icons/IconImpersonation.js +34 -20
- package/lib/components/Icons/IconStopImpersonating.js +34 -20
- package/lib/components/Icons/IconTable.js +35 -21
- package/lib/components/Icons/IconTableDeleteCol.js +34 -20
- package/lib/components/Icons/IconTableDeleteRow.js +34 -20
- package/lib/components/Icons/IconTableInsertCol.js +34 -20
- package/lib/components/Icons/IconTableInsertRow.js +34 -20
- package/lib/components/Impersonation/Button.d.ts +2 -2
- package/lib/components/Impersonation/Button.js +76 -56
- package/lib/components/Impersonation/Link.d.ts +2 -2
- package/lib/components/Impersonation/Link.js +76 -53
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.d.ts +2 -2
- package/lib/components/Impersonation/UserDetail.js +66 -17
- package/lib/components/Loading.js +27 -21
- package/lib/components/LockDownBrowser/Check.js +194 -107
- package/lib/components/LockDownBrowser/ExitButton.js +27 -14
- package/lib/components/LockDownBrowser/Launch.js +70 -85
- package/lib/components/Lti/Confirm.js +152 -33
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
- package/lib/components/Lti/Launch.js +105 -49
- package/lib/components/Lti/LaunchGroup.js +85 -39
- package/lib/components/ManageTable.d.ts +1 -2
- package/lib/components/ManageTable.js +309 -104
- package/lib/components/ManageTableNoDataComponent.js +42 -22
- package/lib/components/NewVersionAlert.d.ts +2 -2
- package/lib/components/NewVersionAlert.js +82 -91
- package/lib/components/NotFound.js +87 -28
- package/lib/components/Notifications.d.ts +4 -4
- package/lib/components/Notifications.js +187 -169
- package/lib/components/PaginationNextButton.js +33 -21
- package/lib/components/PaginationPreviousButton.js +33 -21
- package/lib/components/Quill/CustomToolbar.d.ts +2 -2
- package/lib/components/Quill/CustomToolbar.js +432 -257
- package/lib/components/Quill/Formats/Image.d.ts +10 -25
- package/lib/components/Quill/Formats/Image.js +80 -86
- package/lib/components/Quill/Formats/List.d.ts +6 -3
- package/lib/components/Quill/Formats/List.js +52 -74
- package/lib/components/Quill/Formats/Video.d.ts +2 -1
- package/lib/components/Quill/Formats/Video.js +31 -45
- package/lib/components/Quill/ImageDropModule.d.ts +1 -1
- package/lib/components/Quill/ImageDropModule.js +149 -122
- package/lib/components/Quill/ImageWarning.d.ts +2 -2
- package/lib/components/Quill/ImageWarning.js +45 -32
- package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
- package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
- package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +43 -51
- package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomVideoSpec.js +35 -44
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +105 -121
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
- package/lib/components/Quill/TableModule/constants.js +45 -41
- package/lib/components/Quill/TableModule/index.css +171 -171
- package/lib/components/Quill/TableModule/index.d.ts +14 -5
- package/lib/components/Quill/TableModule/index.js +373 -313
- package/lib/components/Quill/TableModule/utils.js +45 -45
- package/lib/components/Quill/accessibilityFix.d.ts +0 -1
- package/lib/components/Quill/accessibilityFix.js +235 -251
- package/lib/components/Quill/index.js +36 -32
- package/lib/components/RefreshIndicator/Bordered.js +48 -32
- package/lib/components/RefreshIndicator/Inline.js +48 -33
- package/lib/components/RefreshIndicator/index.d.ts +2 -2
- package/lib/components/RefreshIndicator/index.js +263 -113
- package/lib/components/SearchControls.js +216 -31
- package/lib/components/SentryRoute.js +10 -23
- package/lib/components/Tables/RoleFilter.d.ts +3 -4
- package/lib/components/Tables/RoleFilter.js +71 -46
- package/lib/components/Tables/TextFilter.d.ts +2 -3
- package/lib/components/Tables/TextFilter.js +62 -20
- package/lib/components/UserRoles/Add.d.ts +3 -3
- package/lib/components/UserRoles/Add.js +199 -161
- package/lib/components/UserRoles/Context.js +11 -9
- package/lib/components/UserRoles/RoleCell.js +180 -100
- package/lib/components/UserRoles/Select.js +157 -51
- package/lib/components/UserRoles/Table.js +221 -102
- package/lib/components/UserRoles/index.d.ts +6 -6
- package/lib/components/UserRoles/index.js +537 -466
- package/lib/config/eslint/index.d.ts +2 -0
- package/lib/config/eslint/index.js +36 -0
- package/lib/config/eslint/lib/order.d.ts +3 -0
- package/lib/config/eslint/lib/order.js +30 -0
- package/lib/config/eslint/lib/prettier.d.ts +3 -0
- package/lib/config/eslint/lib/prettier.js +23 -0
- package/lib/config/eslint/lib/typescript.d.ts +2 -0
- package/lib/config/eslint/lib/typescript.js +98 -0
- package/lib/config/eslint/react.d.ts +2 -0
- package/lib/config/eslint/react.js +30 -0
- package/lib/constants/baseActivity.js +30 -26
- package/lib/constants/baseRole.js +14 -10
- package/lib/constants/configuration.d.ts +1 -1
- package/lib/constants/configuration.js +43 -39
- package/lib/constants/externalProviderType.js +10 -6
- package/lib/constants/fetchErrorData.js +15 -11
- package/lib/constants/index.js +137 -23
- package/lib/constants/lockDownBrowser.js +28 -24
- package/lib/constants/mockData.d.ts +4 -6
- package/lib/constants/mockData.js +385 -326
- package/lib/constants/modelStatus.js +15 -11
- package/lib/constants/notificationType.js +12 -8
- package/lib/constants/operatingSystem.js +12 -8
- package/lib/constants/shard.js +11 -7
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +12 -8
- package/lib/constants/userRole.d.ts +1 -2
- package/lib/constants/userRole.js +15 -17
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +86 -86
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +397 -397
- package/lib/css/components/_forms.css +101 -101
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +46 -46
- package/lib/css/components/_quill.css +315 -315
- package/lib/css/components/_tables.css +497 -497
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +15 -15
- package/lib/css/index.css +14 -14
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +317 -317
- package/lib/css/utils/_display.css +305 -312
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +25 -24
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +84 -84
- package/lib/endpointMappings.js +197 -193
- package/lib/hooks/useCollection.js +83 -65
- package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
- package/lib/hooks/useCollectionConfiguration.js +185 -88
- package/lib/hooks/useCollectionItem.js +155 -58
- package/lib/hooks/useEventCalback.d.ts +14 -0
- package/lib/hooks/useEventCalback.js +51 -0
- package/lib/hooks/useGuid.js +21 -10
- package/lib/hooks/usePrevious.d.ts +24 -1
- package/lib/hooks/usePrevious.js +84 -14
- package/lib/index.js +156 -36
- package/lib/redux/actionCreator.d.ts +6 -6
- package/lib/redux/actionCreator.js +51 -40
- package/lib/redux/actions/AuthAction.js +44 -31
- package/lib/redux/actions/ModalAction.d.ts +1 -1
- package/lib/redux/actions/ModalAction.js +10 -6
- package/lib/redux/actions/ModelAction.d.ts +1 -1
- package/lib/redux/actions/ModelAction.js +77 -49
- package/lib/redux/actions/NotificationAction.js +10 -6
- package/lib/redux/actions/SearchAction.js +9 -5
- package/lib/redux/actions/index.js +60 -16
- package/lib/redux/configureReducers.d.ts +2 -5
- package/lib/redux/configureReducers.js +67 -78
- package/lib/redux/configureStore.d.ts +2 -2
- package/lib/redux/configureStore.js +83 -115
- package/lib/redux/helpers.js +7 -2
- package/lib/redux/reducers/authReducer.js +52 -46
- package/lib/redux/reducers/index.js +41 -15
- package/lib/redux/reducers/modalsReducer.js +49 -52
- package/lib/redux/reducers/modelsReducer.d.ts +2 -2
- package/lib/redux/reducers/modelsReducer.js +183 -182
- package/lib/redux/reducers/notificationsReducer.js +26 -21
- package/lib/redux/reducers/searchReducer.js +26 -20
- package/lib/redux/sagas/appInsightsSaga.js +24 -62
- package/lib/redux/sagas/authSaga.js +287 -414
- package/lib/redux/sagas/caliperSaga.js +169 -263
- package/lib/redux/sagas/clockOffsetSaga.js +36 -77
- package/lib/redux/sagas/configurationSaga.js +13 -46
- package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
- package/lib/redux/sagas/errorSaga.d.ts +0 -1
- package/lib/redux/sagas/errorSaga.js +29 -63
- package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
- package/lib/redux/sagas/identityProviderSaga.js +24 -69
- package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
- package/lib/redux/sagas/modelFetchSaga.js +379 -459
- package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
- package/lib/redux/sagas/noStoreSaga.js +68 -101
- package/lib/redux/sagas/postLoginDataSaga.js +47 -79
- package/lib/redux/sagas/postLoginRedirectSaga.js +30 -71
- package/lib/redux/sagas/rootSaga.js +85 -137
- package/lib/redux/sagas/sentrySaga.js +29 -85
- package/lib/redux/sagas/userIdSaga.js +18 -54
- package/lib/services/codeProviderService.js +25 -29
- package/lib/services/dateService.js +14 -12
- package/lib/services/documentService.js +18 -13
- package/lib/services/fetchService.js +134 -168
- package/lib/services/persistenceService.d.ts +4 -4
- package/lib/services/persistenceService.js +45 -43
- package/lib/services/ticketProviderService.js +29 -33
- package/lib/services/tokenPersistenceService.js +13 -9
- package/lib/services/windowService.js +21 -17
- package/lib/startup.d.ts +1 -1
- package/lib/startup.js +132 -135
- package/lib/types/AppConfiguration.js +5 -1
- package/lib/types/Artifact.js +11 -7
- package/lib/types/BaseReduxState.js +5 -1
- package/lib/types/Client.js +5 -1
- package/lib/types/Collection.d.ts +3 -3
- package/lib/types/Collection.js +5 -1
- package/lib/types/Configuration.js +5 -1
- package/lib/types/DeepLinkingResponseRequest.js +5 -1
- package/lib/types/DeletableModel.js +5 -1
- package/lib/types/Event.js +5 -1
- package/lib/types/ExternalGroup.js +5 -1
- package/lib/types/ExternalProvider.js +5 -1
- package/lib/types/ExternalTerm.js +5 -1
- package/lib/types/Group.js +5 -1
- package/lib/types/IdentityProvider.js +5 -1
- package/lib/types/LtiLaunch.js +5 -1
- package/lib/types/NameOnlyEntity.js +5 -1
- package/lib/types/Notification.d.ts +2 -2
- package/lib/types/Notification.js +5 -1
- package/lib/types/OptionalRecord.d.ts +1 -1
- package/lib/types/OptionalRecord.js +5 -1
- package/lib/types/OwnerSchedule.d.ts +3 -1
- package/lib/types/OwnerSchedule.js +5 -1
- package/lib/types/PropertyOfType.d.ts +3 -3
- package/lib/types/PropertyOfType.js +5 -1
- package/lib/types/Quill.js +5 -1
- package/lib/types/RoleDescription.d.ts +0 -1
- package/lib/types/RoleDescription.js +5 -1
- package/lib/types/Search.js +5 -1
- package/lib/types/SimpleLocation.js +5 -1
- package/lib/types/UniTime.js +5 -1
- package/lib/types/User.js +5 -1
- package/lib/types/UserRole.js +5 -1
- package/lib/types/auth/AuthState.js +5 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
- package/lib/types/auth/ClientCredentials.js +5 -1
- package/lib/types/auth/CodeProviderService.js +5 -1
- package/lib/types/auth/LocalLoginRequestBody.js +5 -1
- package/lib/types/auth/TicketProviderService.js +5 -1
- package/lib/types/auth/TokenPersistenceService.js +5 -1
- package/lib/types/auth/index.js +82 -18
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +313 -39
- package/lib/types/net/EndpointConfig.js +5 -1
- package/lib/types/net/EndpointMapping.js +5 -1
- package/lib/types/net/EndpointMappings.js +5 -1
- package/lib/types/net/ErrorHandler.d.ts +1 -1
- package/lib/types/net/ErrorHandler.js +5 -1
- package/lib/types/net/FetchConfig.d.ts +1 -1
- package/lib/types/net/FetchConfig.js +5 -1
- package/lib/types/net/FetchErrorData.js +10 -6
- package/lib/types/net/FetchResult.d.ts +2 -2
- package/lib/types/net/FetchResult.js +5 -1
- package/lib/types/net/HTTPMethod.d.ts +1 -1
- package/lib/types/net/HTTPMethod.js +5 -1
- package/lib/types/net/HTTPStatusCode.js +16 -12
- package/lib/types/net/Metadata.js +5 -1
- package/lib/types/net/Model.js +5 -1
- package/lib/types/net/ModelCollection.js +5 -1
- package/lib/types/net/ModelsState.js +5 -1
- package/lib/types/net/OAuthToken.js +5 -1
- package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +5 -1
- package/lib/types/net/TokenAccessFunction.d.ts +1 -1
- package/lib/types/net/TokenAccessFunction.js +5 -1
- package/lib/types/net/index.js +181 -27
- package/lib/utils/baseActivity.d.ts +2 -2
- package/lib/utils/baseActivity.js +138 -136
- package/lib/utils/baseRole.js +37 -33
- package/lib/utils/collection.js +432 -310
- package/lib/utils/cookies.js +22 -37
- package/lib/utils/date.js +320 -320
- package/lib/utils/dom.js +186 -174
- package/lib/utils/domainIdentifier.js +9 -9
- package/lib/utils/entityUserRole.js +6 -2
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/error.js +18 -16
- package/lib/utils/events.js +40 -33
- package/lib/utils/externalGroup.js +25 -21
- package/lib/utils/externalProviders.js +8 -4
- package/lib/utils/externalTerms.js +9 -6
- package/lib/utils/fetch.d.ts +1 -1
- package/lib/utils/fetch.js +188 -185
- package/lib/utils/group.js +17 -9
- package/lib/utils/groupDates.d.ts +1 -1
- package/lib/utils/groupDates.js +43 -39
- package/lib/utils/groupRoles.js +28 -28
- package/lib/utils/lockDownBrowser.js +16 -12
- package/lib/utils/logger.js +30 -25
- package/lib/utils/lti.js +10 -5
- package/lib/utils/model.d.ts +2 -2
- package/lib/utils/model.js +39 -48
- package/lib/utils/number.js +23 -26
- package/lib/utils/promise.d.ts +6 -1
- package/lib/utils/promise.js +34 -15
- package/lib/utils/quill.js +66 -77
- package/lib/utils/route.d.ts +2 -2
- package/lib/utils/route.js +61 -60
- package/lib/utils/search.d.ts +1 -1
- package/lib/utils/search.js +78 -85
- package/lib/utils/shard.js +38 -41
- package/lib/utils/sort.d.ts +3 -3
- package/lib/utils/sort.js +62 -58
- package/lib/utils/string.js +14 -10
- package/lib/utils/table.d.ts +3 -3
- package/lib/utils/table.js +39 -36
- package/lib/utils/timezone.js +12 -26
- package/lib/utils/url.d.ts +2 -1
- package/lib/utils/url.js +146 -200
- package/lib/utils/user.js +59 -61
- package/lib/utils/userAgent.js +11 -11
- package/lib/utils/userRole.d.ts +3 -3
- package/lib/utils/userRole.js +58 -56
- package/package.json +224 -207
- package/lib/config/eslint/index.cjs +0 -21
- package/lib/config/eslint/lib/order.cjs +0 -22
- package/lib/config/eslint/lib/prettier.cjs +0 -18
- package/lib/config/eslint/lib/typescript.cjs +0 -86
- package/lib/config/eslint/react.cjs +0 -9
|
@@ -1,132 +1,109 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
-
if (k2 === undefined) k2 = k;
|
|
28
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
29
|
-
}) : (function(o, m, k, k2) {
|
|
30
|
-
if (k2 === undefined) k2 = k;
|
|
31
|
-
o[k2] = m[k];
|
|
32
|
-
}));
|
|
33
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
-
}) : function(o, v) {
|
|
36
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
37
6
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var react_1 = __importStar(require("react"));
|
|
48
|
-
var react_router_dom_1 = require("react-router-dom");
|
|
49
|
-
var configuration_1 = require("../../constants/configuration");
|
|
50
|
-
var documentService_1 = require("../../services/documentService");
|
|
7
|
+
exports.default = accessibleAppComponent;
|
|
8
|
+
exports.setupAccessibleComponent = setupAccessibleComponent;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactRouterDom = require("react-router-dom");
|
|
12
|
+
var _configuration = require("../../constants/configuration");
|
|
13
|
+
var _documentService = require("../../services/documentService");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
51
16
|
function setupAccessibleComponent(WrappedComponent) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
for (var _i = 0, _a = _this.resetFocusIgnorePatterns; _i < _a.length; _i++) {
|
|
73
|
-
var route = _a[_i];
|
|
74
|
-
if (route.test(oldPath) && route.test(newPath)) {
|
|
75
|
-
// Both paths are sub-paths in the same page
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// Paths are different and not in the same page
|
|
80
|
-
return true;
|
|
81
|
-
};
|
|
82
|
-
_this.root = react_1.default.createRef();
|
|
83
|
-
_this.titleObserver = new MutationObserver(_this.onTitleChange);
|
|
84
|
-
_this.state = {
|
|
85
|
-
title: undefined
|
|
86
|
-
};
|
|
87
|
-
return _this;
|
|
17
|
+
return class AccessibleComponent extends _react.Component {
|
|
18
|
+
constructor(props) {
|
|
19
|
+
super(props);
|
|
20
|
+
(0, _defineProperty2.default)(this, "root", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "titleObserver", void 0);
|
|
22
|
+
(0, _defineProperty2.default)(this, "resetFocusIgnorePatterns", [/\/help\/scoring-docs(\/.+)?$/, /\/courses\/\d+\/groupAssignments\/\d+\/scores(\/.+)?$/]);
|
|
23
|
+
(0, _defineProperty2.default)(this, "onTitleChange", mutations => {
|
|
24
|
+
const appName = (0, _configuration.getAppConfig)().APP_NAME;
|
|
25
|
+
// Only change the title when we have more than the default appName added to it.
|
|
26
|
+
if (!!mutations[0] && !!mutations[0].target.textContent && mutations[0].target.textContent !== appName) {
|
|
27
|
+
this.setState({
|
|
28
|
+
title: mutations[0].target.textContent
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
(0, _defineProperty2.default)(this, "shouldResetFocus", (oldPath, newPath) => {
|
|
33
|
+
// Path is the same or either parameter is not a path
|
|
34
|
+
if (!newPath || !oldPath || oldPath === newPath) {
|
|
35
|
+
return false;
|
|
88
36
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
37
|
+
for (const route of this.resetFocusIgnorePatterns) {
|
|
38
|
+
if (route.test(oldPath) && route.test(newPath)) {
|
|
39
|
+
// Both paths are sub-paths in the same page
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Paths are different and not in the same page
|
|
45
|
+
return true;
|
|
46
|
+
});
|
|
47
|
+
this.root = /*#__PURE__*/_react.default.createRef();
|
|
48
|
+
this.titleObserver = new MutationObserver(this.onTitleChange);
|
|
49
|
+
this.state = {
|
|
50
|
+
title: undefined
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
componentDidMount() {
|
|
54
|
+
const titleElement = document.querySelector('title');
|
|
55
|
+
if (titleElement) {
|
|
56
|
+
this.titleObserver.observe(titleElement, {
|
|
57
|
+
subtree: true,
|
|
58
|
+
characterData: true,
|
|
59
|
+
childList: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
componentWillUnmount() {
|
|
64
|
+
this.titleObserver.disconnect();
|
|
65
|
+
}
|
|
66
|
+
componentDidUpdate(prevProps) {
|
|
67
|
+
// Do not reset focus if the new route matches the same router path
|
|
68
|
+
if (this.shouldResetFocus(prevProps.location.pathname, this.props.location.pathname)) {
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
70
|
+
if (!!this.root && !!this.root.current) {
|
|
71
|
+
_documentService.documentService.setActiveDocument(this.root.current);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
render() {
|
|
76
|
+
const {
|
|
77
|
+
title
|
|
78
|
+
} = this.state;
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
81
|
+
className: "clip accessible-title",
|
|
82
|
+
"aria-live": "polite",
|
|
83
|
+
"aria-atomic": "true",
|
|
84
|
+
children: title
|
|
85
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
86
|
+
className: "outline-0 app-root",
|
|
87
|
+
ref: this.root,
|
|
88
|
+
tabIndex: -1,
|
|
89
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
|
|
90
|
+
...this.props
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
};
|
|
119
96
|
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Wrap around the main application to add support for resetting focus on page changes
|
|
123
|
-
* and reading title changes to screen reader users
|
|
124
|
-
*
|
|
125
|
-
* @param WrappedComponent - The root of your application UI components
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Wrap around the main application to add support for resetting focus on page changes
|
|
100
|
+
* and reading title changes to screen reader users
|
|
101
|
+
*
|
|
102
|
+
* @param WrappedComponent - The root of your application UI components
|
|
126
103
|
*/
|
|
127
104
|
function accessibleAppComponent(WrappedComponent) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
105
|
+
const component = setupAccessibleComponent(WrappedComponent);
|
|
106
|
+
// @ts-ignore: could not match inferred type from the HOC
|
|
107
|
+
return (0, _reactRouterDom.withRouter)(component);
|
|
131
108
|
}
|
|
132
|
-
exports.default = accessibleAppComponent;
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSb3V0ZXJEb20iLCJfY29uZmlndXJhdGlvbiIsIl9kb2N1bWVudFNlcnZpY2UiLCJfanN4UnVudGltZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInNldHVwQWNjZXNzaWJsZUNvbXBvbmVudCIsIldyYXBwZWRDb21wb25lbnQiLCJBY2Nlc3NpYmxlQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJtdXRhdGlvbnMiLCJhcHBOYW1lIiwiZ2V0QXBwQ29uZmlnIiwiQVBQX05BTUUiLCJ0YXJnZXQiLCJ0ZXh0Q29udGVudCIsInNldFN0YXRlIiwidGl0bGUiLCJvbGRQYXRoIiwibmV3UGF0aCIsInJvdXRlIiwicmVzZXRGb2N1c0lnbm9yZVBhdHRlcm5zIiwidGVzdCIsInJvb3QiLCJSZWFjdCIsImNyZWF0ZVJlZiIsInRpdGxlT2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwib25UaXRsZUNoYW5nZSIsInN0YXRlIiwidW5kZWZpbmVkIiwiY29tcG9uZW50RGlkTW91bnQiLCJ0aXRsZUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJvYnNlcnZlIiwic3VidHJlZSIsImNoYXJhY3RlckRhdGEiLCJjaGlsZExpc3QiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImRpc2Nvbm5lY3QiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJzaG91bGRSZXNldEZvY3VzIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImN1cnJlbnQiLCJkb2N1bWVudFNlcnZpY2UiLCJzZXRBY3RpdmVEb2N1bWVudCIsInJlbmRlciIsImpzeHMiLCJGcmFnbWVudCIsImNoaWxkcmVuIiwianN4IiwiY2xhc3NOYW1lIiwicmVmIiwidGFiSW5kZXgiLCJhY2Nlc3NpYmxlQXBwQ29tcG9uZW50IiwiY29tcG9uZW50Iiwid2l0aFJvdXRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY2Nlc3NpYmxlQXBwQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50LCBDb21wb25lbnRUeXBlLCBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgT21pdCB9IGZyb20gJ3JlYWN0LXJvdXRlcidcclxuaW1wb3J0IHsgUm91dGVDb21wb25lbnRQcm9wcywgd2l0aFJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXHJcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWd1cmF0aW9uJ1xyXG5pbXBvcnQgeyBkb2N1bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kb2N1bWVudFNlcnZpY2UnXHJcblxyXG5pbnRlcmZhY2UgQWNjZXNzaWJsZUNvbXBvbmVudFN0YXRlIHtcclxuXHR0aXRsZT86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBBY2Nlc3NpYmxlQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBSb3V0ZUNvbXBvbmVudFByb3BzPlxyXG4pOiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHM+IHtcclxuXHRyZXR1cm4gY2xhc3MgQWNjZXNzaWJsZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxUT3duUHJvcHMgJiBSb3V0ZUNvbXBvbmVudFByb3BzLCBBY2Nlc3NpYmxlQ29tcG9uZW50U3RhdGU+IHtcclxuXHRcdHJlYWRvbmx5IHJvb3Q6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD5cclxuXHRcdHJlYWRvbmx5IHRpdGxlT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXJcclxuXHRcdHJlc2V0Rm9jdXNJZ25vcmVQYXR0ZXJucyA9IFtcclxuXHRcdFx0L1xcL2hlbHBcXC9zY29yaW5nLWRvY3MoXFwvLispPyQvLFxyXG5cdFx0XHQvXFwvY291cnNlc1xcL1xcZCtcXC9ncm91cEFzc2lnbm1lbnRzXFwvXFxkK1xcL3Njb3JlcyhcXC8uKyk/JC9cclxuXHRcdF1cclxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBUT3duUHJvcHMgJiBSb3V0ZUNvbXBvbmVudFByb3BzKSB7XHJcblx0XHRcdHN1cGVyKHByb3BzKVxyXG5cdFx0XHR0aGlzLnJvb3QgPSBSZWFjdC5jcmVhdGVSZWYoKVxyXG5cdFx0XHR0aGlzLnRpdGxlT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLm9uVGl0bGVDaGFuZ2UpXHJcblxyXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xyXG5cdFx0XHRcdHRpdGxlOiB1bmRlZmluZWRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbXBvbmVudERpZE1vdW50KCkge1xyXG5cdFx0XHRjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0aXRsZScpXHJcblx0XHRcdGlmICh0aXRsZUVsZW1lbnQpIHtcclxuXHRcdFx0XHR0aGlzLnRpdGxlT2JzZXJ2ZXIub2JzZXJ2ZSh0aXRsZUVsZW1lbnQsIHtcclxuXHRcdFx0XHRcdHN1YnRyZWU6IHRydWUsXHJcblx0XHRcdFx0XHRjaGFyYWN0ZXJEYXRhOiB0cnVlLFxyXG5cdFx0XHRcdFx0Y2hpbGRMaXN0OiB0cnVlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG5cdFx0XHR0aGlzLnRpdGxlT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXHJcblx0XHR9XHJcblxyXG5cdFx0b25UaXRsZUNoYW5nZSA9IChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcclxuXHRcdFx0Y29uc3QgYXBwTmFtZSA9IGdldEFwcENvbmZpZygpLkFQUF9OQU1FXHJcblx0XHRcdC8vIE9ubHkgY2hhbmdlIHRoZSB0aXRsZSB3aGVuIHdlIGhhdmUgbW9yZSB0aGFuIHRoZSBkZWZhdWx0IGFwcE5hbWUgYWRkZWQgdG8gaXQuXHJcblx0XHRcdGlmICghIW11dGF0aW9uc1swXSAmJiAhIW11dGF0aW9uc1swXS50YXJnZXQudGV4dENvbnRlbnQgJiYgbXV0YXRpb25zWzBdLnRhcmdldC50ZXh0Q29udGVudCAhPT0gYXBwTmFtZSkge1xyXG5cdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyB0aXRsZTogbXV0YXRpb25zWzBdLnRhcmdldC50ZXh0Q29udGVudCB9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRzaG91bGRSZXNldEZvY3VzID0gKG9sZFBhdGg/OiBzdHJpbmcsIG5ld1BhdGg/OiBzdHJpbmcpID0+IHtcclxuXHRcdFx0Ly8gUGF0aCBpcyB0aGUgc2FtZSBvciBlaXRoZXIgcGFyYW1ldGVyIGlzIG5vdCBhIHBhdGhcclxuXHRcdFx0aWYgKCFuZXdQYXRoIHx8ICFvbGRQYXRoIHx8IG9sZFBhdGggPT09IG5ld1BhdGgpIHtcclxuXHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Zm9yIChjb25zdCByb3V0ZSBvZiB0aGlzLnJlc2V0Rm9jdXNJZ25vcmVQYXR0ZXJucykge1xyXG5cdFx0XHRcdGlmIChyb3V0ZS50ZXN0KG9sZFBhdGgpICYmIHJvdXRlLnRlc3QobmV3UGF0aCkpIHtcclxuXHRcdFx0XHRcdC8vIEJvdGggcGF0aHMgYXJlIHN1Yi1wYXRocyBpbiB0aGUgc2FtZSBwYWdlXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIFBhdGhzIGFyZSBkaWZmZXJlbnQgYW5kIG5vdCBpbiB0aGUgc2FtZSBwYWdlXHJcblx0XHRcdHJldHVybiB0cnVlXHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wczogUm91dGVDb21wb25lbnRQcm9wcykge1xyXG5cdFx0XHQvLyBEbyBub3QgcmVzZXQgZm9jdXMgaWYgdGhlIG5ldyByb3V0ZSBtYXRjaGVzIHRoZSBzYW1lIHJvdXRlciBwYXRoXHJcblx0XHRcdGlmICh0aGlzLnNob3VsZFJlc2V0Rm9jdXMocHJldlByb3BzLmxvY2F0aW9uLnBhdGhuYW1lLCB0aGlzLnByb3BzLmxvY2F0aW9uLnBhdGhuYW1lKSkge1xyXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXHJcblx0XHRcdFx0aWYgKCEhdGhpcy5yb290ICYmICEhdGhpcy5yb290LmN1cnJlbnQpIHtcclxuXHRcdFx0XHRcdGRvY3VtZW50U2VydmljZS5zZXRBY3RpdmVEb2N1bWVudCh0aGlzLnJvb3QuY3VycmVudClcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZW5kZXIoKSB7XHJcblx0XHRcdGNvbnN0IHsgdGl0bGUgfSA9IHRoaXMuc3RhdGVcclxuXHJcblx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0PD5cclxuXHRcdFx0XHRcdHsvKiBBbm5vdW5jZSBuZXcgc2NyZWVuIHRpdGxlcyB0byBzY3JlZW4gcmVhZGVycyBzaW1pbGFyIHRvIGxvYWRpbmcgYSBuZXcgcGFnZSAqL31cclxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzTmFtZT1cImNsaXAgYWNjZXNzaWJsZS10aXRsZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGFyaWEtYXRvbWljPVwidHJ1ZVwiPlxyXG5cdFx0XHRcdFx0XHR7dGl0bGV9XHJcblx0XHRcdFx0XHQ8L3NwYW4+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cIm91dGxpbmUtMCBhcHAtcm9vdFwiIHJlZj17dGhpcy5yb290fSB0YWJJbmRleD17LTF9PlxyXG5cdFx0XHRcdFx0XHQ8V3JhcHBlZENvbXBvbmVudCB7Li4udGhpcy5wcm9wc30gLz5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvPlxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogV3JhcCBhcm91bmQgdGhlIG1haW4gYXBwbGljYXRpb24gdG8gYWRkIHN1cHBvcnQgZm9yIHJlc2V0dGluZyBmb2N1cyBvbiBwYWdlIGNoYW5nZXNcclxuICogYW5kIHJlYWRpbmcgdGl0bGUgY2hhbmdlcyB0byBzY3JlZW4gcmVhZGVyIHVzZXJzXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IC0gVGhlIHJvb3Qgb2YgeW91ciBhcHBsaWNhdGlvbiBVSSBjb21wb25lbnRzXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY2Nlc3NpYmxlQXBwQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBSb3V0ZUNvbXBvbmVudFByb3BzPlxyXG4pOiBSZWFjdC5Db21wb25lbnRDbGFzczxcclxuXHRPbWl0PFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHMsIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM8YW55Pj4sXHJcblx0QWNjZXNzaWJsZUNvbXBvbmVudFN0YXRlXHJcbj4ge1xyXG5cdGNvbnN0IGNvbXBvbmVudCA9IHNldHVwQWNjZXNzaWJsZUNvbXBvbmVudChXcmFwcGVkQ29tcG9uZW50KVxyXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIEhPQ1xyXG5cdHJldHVybiB3aXRoUm91dGVyKGNvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFBZ0UsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQUEsU0FBQUQsd0JBQUFNLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFSLHVCQUFBLFlBQUFBLENBQUFNLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFBQyxPQUFBLEVBQUFWLENBQUEsaUJBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsZ0JBQUFQLENBQUEsSUFBQUQsQ0FBQSxnQkFBQUMsQ0FBQSxPQUFBYSxjQUFBLENBQUFDLElBQUEsQ0FBQWYsQ0FBQSxFQUFBQyxDQUFBLE9BQUFNLENBQUEsSUFBQUQsQ0FBQSxHQUFBVSxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbEIsQ0FBQSxFQUFBQyxDQUFBLE9BQUFNLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFQLENBQUEsRUFBQU0sQ0FBQSxJQUFBQyxDQUFBLENBQUFQLENBQUEsSUFBQUQsQ0FBQSxDQUFBQyxDQUFBLFdBQUFPLENBQUEsS0FBQVIsQ0FBQSxFQUFBQyxDQUFBO0FBTXpELFNBQVNrQix3QkFBd0JBLENBQ3ZDQyxnQkFBZ0UsRUFDZjtFQUNqRCxPQUFPLE1BQU1DLG1CQUFtQixTQUFTQyxnQkFBUyxDQUE0RDtJQU83R0MsV0FBV0EsQ0FBQ0MsS0FBc0MsRUFBRTtNQUNuRCxLQUFLLENBQUNBLEtBQUssQ0FBQztNQUFBLElBQUFDLGdCQUFBLENBQUFmLE9BQUE7TUFBQSxJQUFBZSxnQkFBQSxDQUFBZixPQUFBO01BQUEsSUFBQWUsZ0JBQUEsQ0FBQWYsT0FBQSxvQ0FMYyxDQUMxQiw4QkFBOEIsRUFDOUIsdURBQXVELENBQ3ZEO01BQUEsSUFBQWUsZ0JBQUEsQ0FBQWYsT0FBQSx5QkEwQmdCZ0IsU0FBMkIsSUFBSztRQUNoRCxNQUFNQyxPQUFPLEdBQUcsSUFBQUMsMkJBQVksRUFBQyxDQUFDLENBQUNDLFFBQVE7UUFDdkM7UUFDQSxJQUFJLENBQUMsQ0FBQ0gsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDSSxNQUFNLENBQUNDLFdBQVcsSUFBSUwsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDSSxNQUFNLENBQUNDLFdBQVcsS0FBS0osT0FBTyxFQUFFO1VBQ3ZHLElBQUksQ0FBQ0ssUUFBUSxDQUFDO1lBQUVDLEtBQUssRUFBRVAsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDSSxNQUFNLENBQUNDO1VBQVksQ0FBQyxDQUFDO1FBQzFEO01BQ0QsQ0FBQztNQUFBLElBQUFOLGdCQUFBLENBQUFmLE9BQUEsNEJBQ2tCLENBQUN3QixPQUFnQixFQUFFQyxPQUFnQixLQUFLO1FBQzFEO1FBQ0EsSUFBSSxDQUFDQSxPQUFPLElBQUksQ0FBQ0QsT0FBTyxJQUFJQSxPQUFPLEtBQUtDLE9BQU8sRUFBRTtVQUNoRCxPQUFPLEtBQUs7UUFDYjtRQUVBLEtBQUssTUFBTUMsS0FBSyxJQUFJLElBQUksQ0FBQ0Msd0JBQXdCLEVBQUU7VUFDbEQsSUFBSUQsS0FBSyxDQUFDRSxJQUFJLENBQUNKLE9BQU8sQ0FBQyxJQUFJRSxLQUFLLENBQUNFLElBQUksQ0FBQ0gsT0FBTyxDQUFDLEVBQUU7WUFDL0M7WUFDQSxPQUFPLEtBQUs7VUFDYjtRQUNEOztRQUVBO1FBQ0EsT0FBTyxJQUFJO01BQ1osQ0FBQztNQTdDQSxJQUFJLENBQUNJLElBQUksZ0JBQUdDLGNBQUssQ0FBQ0MsU0FBUyxDQUFDLENBQUM7TUFDN0IsSUFBSSxDQUFDQyxhQUFhLEdBQUcsSUFBSUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDQyxhQUFhLENBQUM7TUFFN0QsSUFBSSxDQUFDQyxLQUFLLEdBQUc7UUFDWlosS0FBSyxFQUFFYTtNQUNSLENBQUM7SUFDRjtJQUVBQyxpQkFBaUJBLENBQUEsRUFBRztNQUNuQixNQUFNQyxZQUFZLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLE9BQU8sQ0FBQztNQUNwRCxJQUFJRixZQUFZLEVBQUU7UUFDakIsSUFBSSxDQUFDTixhQUFhLENBQUNTLE9BQU8sQ0FBQ0gsWUFBWSxFQUFFO1VBQ3hDSSxPQUFPLEVBQUUsSUFBSTtVQUNiQyxhQUFhLEVBQUUsSUFBSTtVQUNuQkMsU0FBUyxFQUFFO1FBQ1osQ0FBQyxDQUFDO01BQ0g7SUFDRDtJQUVBQyxvQkFBb0JBLENBQUEsRUFBRztNQUN0QixJQUFJLENBQUNiLGFBQWEsQ0FBQ2MsVUFBVSxDQUFDLENBQUM7SUFDaEM7SUEwQkFDLGtCQUFrQkEsQ0FBQ0MsU0FBOEIsRUFBRTtNQUNsRDtNQUNBLElBQUksSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0QsU0FBUyxDQUFDRSxRQUFRLENBQUNDLFFBQVEsRUFBRSxJQUFJLENBQUNyQyxLQUFLLENBQUNvQyxRQUFRLENBQUNDLFFBQVEsQ0FBQyxFQUFFO1FBQ3JGO1FBQ0EsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDdEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUNBLElBQUksQ0FBQ3VCLE9BQU8sRUFBRTtVQUN2Q0MsZ0NBQWUsQ0FBQ0MsaUJBQWlCLENBQUMsSUFBSSxDQUFDekIsSUFBSSxDQUFDdUIsT0FBTyxDQUFDO1FBQ3JEO01BQ0Q7SUFDRDtJQUVBRyxNQUFNQSxDQUFBLEVBQUc7TUFDUixNQUFNO1FBQUVoQztNQUFNLENBQUMsR0FBRyxJQUFJLENBQUNZLEtBQUs7TUFFNUIsb0JBQ0MsSUFBQTlDLFdBQUEsQ0FBQW1FLElBQUEsRUFBQW5FLFdBQUEsQ0FBQW9FLFFBQUE7UUFBQUMsUUFBQSxnQkFFQyxJQUFBckUsV0FBQSxDQUFBc0UsR0FBQTtVQUFNQyxTQUFTLEVBQUMsdUJBQXVCO1VBQUMsYUFBVSxRQUFRO1VBQUMsZUFBWSxNQUFNO1VBQUFGLFFBQUEsRUFDM0VuQztRQUFLLENBQ0QsQ0FBQyxlQUNQLElBQUFsQyxXQUFBLENBQUFzRSxHQUFBO1VBQUtDLFNBQVMsRUFBQyxvQkFBb0I7VUFBQ0MsR0FBRyxFQUFFLElBQUksQ0FBQ2hDLElBQUs7VUFBQ2lDLFFBQVEsRUFBRSxDQUFDLENBQUU7VUFBQUosUUFBQSxlQUNoRSxJQUFBckUsV0FBQSxDQUFBc0UsR0FBQSxFQUFDakQsZ0JBQWdCO1lBQUEsR0FBSyxJQUFJLENBQUNJO1VBQUssQ0FBRztRQUFDLENBQ2hDLENBQUM7TUFBQSxDQUNMLENBQUM7SUFFTDtFQUNELENBQUM7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTaUQsc0JBQXNCQSxDQUM3Q3JELGdCQUFnRSxFQUkvRDtFQUNELE1BQU1zRCxTQUFTLEdBQUd2RCx3QkFBd0IsQ0FBQ0MsZ0JBQWdCLENBQUM7RUFDNUQ7RUFDQSxPQUFPLElBQUF1RCwwQkFBVSxFQUFDRCxTQUFTLENBQUM7QUFDN0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ComponentClass, ComponentType } from 'react';
|
|
2
2
|
import { BaseReduxState, Model, OptionalRecord } from '../../types';
|
|
3
3
|
import { ActivityOptions } from '../../utils/baseActivity';
|
|
4
4
|
export interface ActivityRequiredStateProps {
|
|
5
5
|
hasAccess: boolean;
|
|
6
6
|
redirectPath: string;
|
|
7
7
|
}
|
|
8
|
-
export declare const configureActivityRequiredComponent: <TOwnProps extends
|
|
8
|
+
export declare const configureActivityRequiredComponent: <TOwnProps extends object>(WrappedComponent: ComponentType<TOwnProps>) => {
|
|
9
9
|
new (props: (TOwnProps & ActivityRequiredStateProps) | Readonly<TOwnProps & ActivityRequiredStateProps>): {
|
|
10
|
-
render():
|
|
10
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
context: any;
|
|
12
12
|
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
13
13
|
forceUpdate(callback?: (() => void) | undefined): void;
|
|
14
14
|
readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
|
|
15
|
-
children?:
|
|
15
|
+
children?: import("react").ReactNode | undefined;
|
|
16
16
|
}>;
|
|
17
17
|
state: Readonly<{}>;
|
|
18
18
|
refs: {
|
|
19
|
-
[key: string]:
|
|
19
|
+
[key: string]: import("react").ReactInstance;
|
|
20
20
|
};
|
|
21
21
|
componentDidMount?(): void;
|
|
22
22
|
shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
23
23
|
componentWillUnmount?(): void;
|
|
24
|
-
componentDidCatch?(error: Error, errorInfo:
|
|
24
|
+
componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
|
|
25
25
|
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
|
|
26
26
|
componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
27
27
|
componentWillMount?(): void;
|
|
@@ -32,21 +32,21 @@ export declare const configureActivityRequiredComponent: <TOwnProps extends {}>(
|
|
|
32
32
|
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
33
33
|
};
|
|
34
34
|
new (props: TOwnProps & ActivityRequiredStateProps, context: any): {
|
|
35
|
-
render():
|
|
35
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
36
36
|
context: any;
|
|
37
37
|
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
38
38
|
forceUpdate(callback?: (() => void) | undefined): void;
|
|
39
39
|
readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
|
|
40
|
-
children?:
|
|
40
|
+
children?: import("react").ReactNode | undefined;
|
|
41
41
|
}>;
|
|
42
42
|
state: Readonly<{}>;
|
|
43
43
|
refs: {
|
|
44
|
-
[key: string]:
|
|
44
|
+
[key: string]: import("react").ReactInstance;
|
|
45
45
|
};
|
|
46
46
|
componentDidMount?(): void;
|
|
47
47
|
shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
|
48
48
|
componentWillUnmount?(): void;
|
|
49
|
-
componentDidCatch?(error: Error, errorInfo:
|
|
49
|
+
componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
|
|
50
50
|
getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
|
|
51
51
|
componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
|
52
52
|
componentWillMount?(): void;
|
|
@@ -56,7 +56,7 @@ export declare const configureActivityRequiredComponent: <TOwnProps extends {}>(
|
|
|
56
56
|
componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
57
57
|
UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
|
|
58
58
|
};
|
|
59
|
-
contextType?:
|
|
59
|
+
contextType?: import("react").Context<any> | undefined;
|
|
60
60
|
};
|
|
61
61
|
/**
|
|
62
62
|
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
@@ -67,7 +67,7 @@ export declare const configureActivityRequiredComponent: <TOwnProps extends {}>(
|
|
|
67
67
|
* @param modelsProperty (Optional) The property used to locate the entity or entities needed for entity-level activity grants
|
|
68
68
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
69
69
|
*/
|
|
70
|
-
export declare const configureMapStateToProps:
|
|
70
|
+
export declare const configureMapStateToProps: (accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, modelsProperty?: string, redirectPath?: string | ((options: ActivityOptions) => string | undefined)) => (state: BaseReduxState, ownProps?: object) => ActivityRequiredStateProps;
|
|
71
71
|
/**
|
|
72
72
|
* This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
|
|
73
73
|
*
|
|
@@ -82,7 +82,7 @@ export declare const configureMapStateToProps: <TOwnProps extends {}>(accessPred
|
|
|
82
82
|
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
83
83
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
84
84
|
*/
|
|
85
|
-
export default function activityRequiredComponent<TOwnProps extends
|
|
85
|
+
export default function activityRequiredComponent<TOwnProps extends object>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, redirectPath?: string | ((options: ActivityOptions) => string | undefined)): ComponentClass<TOwnProps>;
|
|
86
86
|
/**
|
|
87
87
|
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
88
88
|
*
|
|
@@ -98,4 +98,4 @@ export default function activityRequiredComponent<TOwnProps extends {}>(WrappedC
|
|
|
98
98
|
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
99
99
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
100
100
|
*/
|
|
101
|
-
export default function activityRequiredComponent<TOwnProps extends
|
|
101
|
+
export default function activityRequiredComponent<TOwnProps extends object, TPropName extends string>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, modelsProperty: TPropName, redirectPath?: string | ((options: ActivityOptions) => string | undefined)): ComponentClass<TOwnProps & OptionalRecord<TPropName, Model>>;
|
|
@@ -1,117 +1,103 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
27
|
-
if (k2 === undefined) k2 = k;
|
|
28
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
29
|
-
}) : (function(o, m, k, k2) {
|
|
30
|
-
if (k2 === undefined) k2 = k;
|
|
31
|
-
o[k2] = m[k];
|
|
32
|
-
}));
|
|
33
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
-
}) : function(o, v) {
|
|
36
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
37
5
|
});
|
|
38
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
46
|
-
var t = {};
|
|
47
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
48
|
-
t[p] = s[p];
|
|
49
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
50
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
51
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
52
|
-
t[p[i]] = s[p[i]];
|
|
53
|
-
}
|
|
54
|
-
return t;
|
|
55
|
-
};
|
|
56
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
6
|
exports.configureMapStateToProps = exports.configureActivityRequiredComponent = void 0;
|
|
58
|
-
|
|
59
|
-
var
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
7
|
+
exports.default = activityRequiredComponent;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactRedux = require("react-redux");
|
|
10
|
+
var _reactRouterDom = require("react-router-dom");
|
|
11
|
+
var _baseActivity = require("../../utils/baseActivity");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
const configureActivityRequiredComponent = WrappedComponent => {
|
|
14
|
+
return class ActivityRequiredComponent extends _react.Component {
|
|
15
|
+
render() {
|
|
16
|
+
const {
|
|
17
|
+
hasAccess,
|
|
18
|
+
redirectPath,
|
|
19
|
+
...rest
|
|
20
|
+
} = this.props;
|
|
21
|
+
if (!hasAccess) {
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouterDom.Redirect, {
|
|
23
|
+
to: redirectPath
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
|
|
27
|
+
...rest
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
77
31
|
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
35
|
+
* checking whether the user has the passed `requiredActivity`.
|
|
36
|
+
*
|
|
37
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
38
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
39
|
+
* @param modelsProperty (Optional) The property used to locate the entity or entities needed for entity-level activity grants
|
|
40
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
41
|
+
*/
|
|
78
42
|
exports.configureActivityRequiredComponent = configureActivityRequiredComponent;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
43
|
+
const configureMapStateToProps = (accessPredicate, requiredActivity, modelsProperty, redirectPath) => (state, ownProps) => {
|
|
44
|
+
const options = (0, _baseActivity.defaultOptions)(state, ownProps, modelsProperty);
|
|
45
|
+
return {
|
|
46
|
+
hasAccess: accessPredicate(requiredActivity, options),
|
|
47
|
+
redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
|
|
53
|
+
*
|
|
54
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
55
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
56
|
+
*
|
|
57
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
58
|
+
* parameter. It can be ignored if not needed by the lambda.
|
|
59
|
+
*
|
|
60
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
61
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
62
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
63
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
68
|
+
*
|
|
69
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
70
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
71
|
+
*
|
|
72
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
73
|
+
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
74
|
+
*
|
|
75
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
76
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
77
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
78
|
+
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
79
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
87
80
|
*/
|
|
88
|
-
var configureMapStateToProps = function (accessPredicate, requiredActivity, modelsProperty, redirectPath) { return function (state, ownProps) {
|
|
89
|
-
var options = baseActivity_1.defaultOptions(state, ownProps, modelsProperty);
|
|
90
|
-
return {
|
|
91
|
-
hasAccess: accessPredicate(requiredActivity, options),
|
|
92
|
-
redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
|
|
93
|
-
};
|
|
94
|
-
}; };
|
|
95
81
|
exports.configureMapStateToProps = configureMapStateToProps;
|
|
96
|
-
/**
|
|
97
|
-
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
98
|
-
*
|
|
99
|
-
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
100
|
-
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
101
|
-
*
|
|
102
|
-
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
103
|
-
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
104
|
-
*
|
|
105
|
-
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
106
|
-
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
107
|
-
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
108
|
-
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
109
|
-
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
82
|
+
/**
|
|
83
|
+
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
84
|
+
*
|
|
85
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
86
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
87
|
+
*
|
|
88
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
89
|
+
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
90
|
+
*
|
|
91
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
92
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
93
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
94
|
+
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
95
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
110
96
|
*/
|
|
111
97
|
function activityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, modelsProperty, redirectPath) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
98
|
+
const ActivityRequiredComponent = configureActivityRequiredComponent(WrappedComponent);
|
|
99
|
+
const mapStateToProps = configureMapStateToProps(accessPredicate, requiredActivity, modelsProperty, redirectPath);
|
|
100
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
101
|
+
return (0, _reactRedux.connect)(mapStateToProps)(ActivityRequiredComponent);
|
|
116
102
|
}
|
|
117
|
-
exports.default = activityRequiredComponent;
|
|
103
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfYmFzZUFjdGl2aXR5IiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJoYXNBY2Nlc3MiLCJyZWRpcmVjdFBhdGgiLCJyZXN0IiwicHJvcHMiLCJqc3giLCJSZWRpcmVjdCIsInRvIiwiZXhwb3J0cyIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsImFjY2Vzc1ByZWRpY2F0ZSIsInJlcXVpcmVkQWN0aXZpdHkiLCJtb2RlbHNQcm9wZXJ0eSIsInN0YXRlIiwib3duUHJvcHMiLCJvcHRpb25zIiwiZGVmYXVsdE9wdGlvbnMiLCJhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwibWFwU3RhdGVUb1Byb3BzIiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgUmVkaXJlY3QgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwsIE9wdGlvbmFsUmVjb3JkIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IEFjdGl2aXR5T3B0aW9ucywgZGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9iYXNlQWN0aXZpdHknXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzIHtcclxuXHRoYXNBY2Nlc3M6IGJvb2xlYW5cclxuXHRyZWRpcmVjdFBhdGg6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29uZmlndXJlQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxyXG4pID0+IHtcclxuXHRyZXR1cm4gY2xhc3MgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxUT3duUHJvcHMgJiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcz4ge1xyXG5cdFx0cHVibGljIHJlbmRlcigpIHtcclxuXHRcdFx0Y29uc3QgeyBoYXNBY2Nlc3MsIHJlZGlyZWN0UGF0aCwgLi4ucmVzdCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRpZiAoIWhhc0FjY2Vzcykge1xyXG5cdFx0XHRcdHJldHVybiA8UmVkaXJlY3QgdG89e3JlZGlyZWN0UGF0aH0gLz5cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gPFdyYXBwZWRDb21wb25lbnQgey4uLihyZXN0IGFzIFRPd25Qcm9wcyl9IC8+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGBtYXBTdGF0ZVRvUHJvcHNgIGZ1bmN0aW9uLiBBZGQgYSBgaGFzQWNjZXNzYCBib29sZWFuIHByb3BlcnR5IHRvIHRoZSBjb21wb25lbnQncyBwcm9wc1xyXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YC5cclxuICpcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSBtb2RlbHNQcm9wZXJ0eSAoT3B0aW9uYWwpIFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XHJcblx0KFxyXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXHJcblx0XHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0XHRtb2RlbHNQcm9wZXJ0eT86IHN0cmluZyxcclxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXHJcblx0KSA9PlxyXG5cdChzdGF0ZTogQmFzZVJlZHV4U3RhdGUsIG93blByb3BzPzogb2JqZWN0KTogQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMgPT4ge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zKHN0YXRlLCBvd25Qcm9wcywgbW9kZWxzUHJvcGVydHkpXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRoYXNBY2Nlc3M6IGFjY2Vzc1ByZWRpY2F0ZShyZXF1aXJlZEFjdGl2aXR5LCBvcHRpb25zKSxcclxuXHRcdFx0cmVkaXJlY3RQYXRoOiAodHlwZW9mIHJlZGlyZWN0UGF0aCA9PT0gJ2Z1bmN0aW9uJyA/IHJlZGlyZWN0UGF0aChvcHRpb25zKSA6IHJlZGlyZWN0UGF0aCkgfHwgJy8nXHJcblx0XHR9XHJcblx0fVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgSE9DIGVuc3VyZXMgdGhhdCB0aGUgd3JhcHBlZCBjb21wb25lbnQgaXMgb25seSByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cclxuICpcclxuICogVHlwaWNhbGx5IHRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgcGFzc2luZyBvbmUgb2YgdGhlIGZ1bmN0aW9ucyBpbiB1dGlscy9hY3Rpdml0aWVzIGFzIHRoZVxyXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxyXG4gKlxyXG4gKiBJZiBhIGxhbWJkYSBpcyBwYXNzZWQgYXMgdGhlIHByZWRpY2F0ZSwgaXQgaXMgcGFzc2VkIChidXQgbWF5IG9yIG1heSBub3Qgb3B0IHRvIHV0aWxpemUpIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWBcclxuICogcGFyYW1ldGVyLiBJdCBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBib29sZWFuLFxyXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcclxuXHRyZWRpcmVjdFBhdGg/OiBzdHJpbmcgfCAoKG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gc3RyaW5nIHwgdW5kZWZpbmVkKVxyXG4pOiBDb21wb25lbnRDbGFzczxUT3duUHJvcHM+XHJcbi8qKlxyXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxyXG4gKlxyXG4gKiBUeXBpY2FsbHkgdGhpcyBjb21wb25lbnQgaXMgdXNlZCBieSBwYXNzaW5nIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGluIHV0aWxzL2FjdGl2aXRpZXMgYXMgdGhlXHJcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXHJcbiAqXHJcbiAqIElmIGEgbGFtYmRhIGlzIHBhc3NlZCBhcyB0aGUgcHJlZGljYXRlLCBpdCBpcyBwYXNzZWQgKGJ1dCBtYXkgb3IgbWF5IG5vdCBvcHQgdG8gdXRpbGl6ZSkgdGhlIGByZXF1aXJlZEFjdGl2aXR5YFxyXG4gKiBhbmQgYG1vZGVsc1Byb3BlcnR5YCBwYXJhbWV0ZXJzLiBUaGV5IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cclxuICpcclxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxyXG4gKiBAcGFyYW0gcmVxdWlyZWRBY3Rpdml0eSBUaGUgcmVxdWlyZWQgYWN0aXZpdHkgd2hpY2ggaXMgcGFzc2VkIHRvIHRoZSBwcmVkaWNhdGUgZm9yIGV2YWx1YXRpb25cclxuICogQHBhcmFtIG1vZGVsc1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3QsIFRQcm9wTmFtZSBleHRlbmRzIHN0cmluZz4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBib29sZWFuLFxyXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcclxuXHRtb2RlbHNQcm9wZXJ0eTogVFByb3BOYW1lLFxyXG5cdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXHJcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PlxyXG4vKipcclxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cclxuICpcclxuICogVHlwaWNhbGx5IHRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgcGFzc2luZyBvbmUgb2YgdGhlIGZ1bmN0aW9ucyBpbiB1dGlscy9hY3Rpdml0aWVzIGFzIHRoZVxyXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxyXG4gKlxyXG4gKiBJZiBhIGxhbWJkYSBpcyBwYXNzZWQgYXMgdGhlIHByZWRpY2F0ZSwgaXQgaXMgcGFzc2VkIChidXQgbWF5IG9yIG1heSBub3Qgb3B0IHRvIHV0aWxpemUpIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWBcclxuICogYW5kIGBtb2RlbHNQcm9wZXJ0eWAgcGFyYW1ldGVycy4gVGhleSBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSBtb2RlbHNQcm9wZXJ0eSBUaGUgcHJvcGVydHkgdXNlZCB0byBsb2NhdGUgdGhlIGVudGl0eSBvciBlbnRpdGllcyBuZWVkZWQgZm9yIGVudGl0eS1sZXZlbCBhY3Rpdml0eSBncmFudHNcclxuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0LCBUUHJvcE5hbWUgZXh0ZW5kcyBzdHJpbmc+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gYm9vbGVhbixcclxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0bW9kZWxzUHJvcGVydHk/OiBUUHJvcE5hbWUsXHJcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzICYgT3B0aW9uYWxSZWNvcmQ8VFByb3BOYW1lLCBNb2RlbD4+IHtcclxuXHRjb25zdCBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50ID0gY29uZmlndXJlQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudChXcmFwcGVkQ29tcG9uZW50KVxyXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhhY2Nlc3NQcmVkaWNhdGUsIHJlcXVpcmVkQWN0aXZpdHksIG1vZGVsc1Byb3BlcnR5LCByZWRpcmVjdFBhdGgpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFBMEUsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBT25FLE1BQU1LLGtDQUFrQyxHQUM5Q0MsZ0JBQTBDLElBQ3RDO0VBQ0osT0FBTyxNQUFNQyx5QkFBeUIsU0FBU0MsZ0JBQVMsQ0FBeUM7SUFDekZDLE1BQU1BLENBQUEsRUFBRztNQUNmLE1BQU07UUFBRUMsU0FBUztRQUFFQyxZQUFZO1FBQUUsR0FBR0M7TUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO01BQ3ZELElBQUksQ0FBQ0gsU0FBUyxFQUFFO1FBQ2Ysb0JBQU8sSUFBQU4sV0FBQSxDQUFBVSxHQUFBLEVBQUNaLGVBQUEsQ0FBQWEsUUFBUTtVQUFDQyxFQUFFLEVBQUVMO1FBQWEsQ0FBRSxDQUFDO01BQ3RDO01BQ0Esb0JBQU8sSUFBQVAsV0FBQSxDQUFBVSxHQUFBLEVBQUNSLGdCQUFnQjtRQUFBLEdBQU1NO01BQUksQ0FBaUIsQ0FBQztJQUNyRDtFQUNELENBQUM7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBSyxPQUFBLENBQUFaLGtDQUFBLEdBQUFBLGtDQUFBO0FBU08sTUFBTWEsd0JBQXdCLEdBQ3BDQSxDQUNDQyxlQUFnRixFQUNoRkMsZ0JBQXdCLEVBQ3hCQyxjQUF1QixFQUN2QlYsWUFBMEUsS0FFM0UsQ0FBQ1csS0FBcUIsRUFBRUMsUUFBaUIsS0FBaUM7RUFDekUsTUFBTUMsT0FBTyxHQUFHLElBQUFDLDRCQUFjLEVBQUNILEtBQUssRUFBRUMsUUFBUSxFQUFFRixjQUFjLENBQUM7RUFDL0QsT0FBTztJQUNOWCxTQUFTLEVBQUVTLGVBQWUsQ0FBQ0MsZ0JBQWdCLEVBQUVJLE9BQU8sQ0FBQztJQUNyRGIsWUFBWSxFQUFFLENBQUMsT0FBT0EsWUFBWSxLQUFLLFVBQVUsR0FBR0EsWUFBWSxDQUFDYSxPQUFPLENBQUMsR0FBR2IsWUFBWSxLQUFLO0VBQzlGLENBQUM7QUFDRixDQUFDOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEFNLE9BQUEsQ0FBQUMsd0JBQUEsR0FBQUEsd0JBQUE7QUFzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU1EseUJBQXlCQSxDQUNoRHBCLGdCQUEwQyxFQUMxQ2EsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsY0FBMEIsRUFDMUJWLFlBQTBFLEVBQ1g7RUFDL0QsTUFBTUoseUJBQXlCLEdBQUdGLGtDQUFrQyxDQUFDQyxnQkFBZ0IsQ0FBQztFQUN0RixNQUFNcUIsZUFBZSxHQUFHVCx3QkFBd0IsQ0FBQ0MsZUFBZSxFQUFFQyxnQkFBZ0IsRUFBRUMsY0FBYyxFQUFFVixZQUFZLENBQUM7RUFDakg7RUFDQSxPQUFPLElBQUFpQixtQkFBTyxFQUFDRCxlQUFlLENBQUMsQ0FBQ3BCLHlCQUF5QixDQUFDO0FBQzNEIiwiaWdub3JlTGlzdCI6W119
|