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
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 Purdue Informatics / StudioKit
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019 Purdue Informatics / StudioKit
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
# studiokit-scaffolding-js
|
|
2
|
-
|
|
3
|
-
**studiokit-scaffolding-js** provides a common scaffolding for react apps.
|
|
4
|
-
|
|
5
|
-
1. [Installation](#installation)
|
|
6
|
-
1. [Usage](#usage)
|
|
7
|
-
1. [Development](#development)
|
|
8
|
-
|
|
9
|
-
# Installation
|
|
10
|
-
|
|
11
|
-
## Install this library and call startup methods
|
|
12
|
-
1. `yarn add studiokit-scaffolding-js`
|
|
13
|
-
1. (Optional) Call configurable extensions in your main entry file
|
|
14
|
-
* `redux/sagas/rootSaga`
|
|
15
|
-
* `setOtherDependentSagas` to add more sagas
|
|
16
|
-
* `redux/sagas/postLoginDataSaga`
|
|
17
|
-
* `setOnPostLogin` to load more data after login
|
|
18
|
-
* `redux/configureReducers`
|
|
19
|
-
* `updatePersistBlacklist` and `setOtherReducers` to add more reducers
|
|
20
|
-
1. In your main entry file call `startup`
|
|
21
|
-
```js
|
|
22
|
-
import { startup, endpointMappings } from 'studiokit-scaffolding-js'
|
|
23
|
-
|
|
24
|
-
const appConfig = {/* AppConfiguration */}
|
|
25
|
-
const endpointMappings = {...endpointMappings, .../* App EndpointMappings */}
|
|
26
|
-
const { history, store, persistor } = startup(appConfig, endpointMappings)
|
|
27
|
-
|
|
28
|
-
// render using history, store, persistor
|
|
29
|
-
ReactDOM.render(
|
|
30
|
-
...
|
|
31
|
-
)
|
|
32
|
-
```
|
|
33
|
-
## Styles
|
|
34
|
-
|
|
35
|
-
### Basic Setup
|
|
36
|
-
|
|
37
|
-
In your project’s startup `index.tsx` file, import the scaffolding styles as follows
|
|
38
|
-
|
|
39
|
-
```ts
|
|
40
|
-
...third party css...
|
|
41
|
-
|
|
42
|
-
import 'studiokit-scaffolding-js/lib/css/index-with-variables.css'
|
|
43
|
-
|
|
44
|
-
...project specific css...
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
|
|
48
|
-
|
|
49
|
-
```js
|
|
50
|
-
importFrom: [
|
|
51
|
-
'node_modules/studiokit-scaffolding-js/lib/css/variables.css'
|
|
52
|
-
]
|
|
53
|
-
```
|
|
54
|
-
### Variable Override Setup
|
|
55
|
-
|
|
56
|
-
In order to override certain color variables from `variables.css`, they must be overridden _before_ scaffolding’s `index.css` file is imported.
|
|
57
|
-
|
|
58
|
-
In your project’s startup `index.tsx` file, import the scaffolding styles as follows
|
|
59
|
-
|
|
60
|
-
```ts
|
|
61
|
-
...third party css...
|
|
62
|
-
|
|
63
|
-
import 'studiokit-scaffolding-js/lib/css/variables.css'
|
|
64
|
-
import './css/variables.css'
|
|
65
|
-
import 'studiokit-scaffolding-js/lib/css/index.css'
|
|
66
|
-
import './css/index.css'
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
|
|
70
|
-
|
|
71
|
-
```js
|
|
72
|
-
importFrom: [
|
|
73
|
-
'node_modules/studiokit-scaffolding-js/lib/css/variables.css',
|
|
74
|
-
'src/css/variables.css'
|
|
75
|
-
]
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
# Usage
|
|
79
|
-
|
|
80
|
-
## Components and Utils
|
|
81
|
-
|
|
82
|
-
Components and utils can be imported from `studiokit-scaffolding-js/lib/...`
|
|
83
|
-
|
|
84
|
-
# Development
|
|
85
|
-
|
|
86
|
-
## Branches
|
|
87
|
-
|
|
88
|
-
1. Create a new branch
|
|
89
|
-
* **Feature/Issue**: In GitLab from an issue, create a branch off of `develop`
|
|
90
|
-
* **Hotfix**: Create a `hotfix` branch off of `master` (manually or in GitLab by making an MR)
|
|
91
|
-
1. Update the version number
|
|
92
|
-
* **Feature/Issue**
|
|
93
|
-
* append `-next.1.1`
|
|
94
|
-
* e.g. If the current version is `1.0.0`, the new branch should be `1.0.0-next.1.1`
|
|
95
|
-
* **Hotfix**
|
|
96
|
-
* increase the version number and append `-alpha.1`
|
|
97
|
-
* e.g. If the current version is `1.0.0`, the new branch should be `1.0.1-alpha.1` for hotfix
|
|
98
|
-
* **NOTE:** if **more than one** branch is being developed on at the same time, simply increment the **first** number after "next"
|
|
99
|
-
* e.g. `1.0.0-next.2.1` for the second issue branch (this won't apply for hotfixes)
|
|
100
|
-
1. Development Loop
|
|
101
|
-
1. Add/update new components, utils, or styles
|
|
102
|
-
1. Add/update unit tests for those components or utils to confirm basic functionality
|
|
103
|
-
1. Increment the **last** number in the version
|
|
104
|
-
* e.g. `1.0.0-next.2.1` => `1.0.0-next.2.2` for a feature/issue branch
|
|
105
|
-
* e.g. `1.0.1-alpha.1` => `1.0.1-alpha.2` for a hotfix branch
|
|
106
|
-
1. Push to gitlab. Azure DevOps will run a pipeline and publish this version to npmjs.org
|
|
107
|
-
1. Install the new version in the project(s) you are working on by updating its `package.json` and running `yarn`
|
|
108
|
-
* As an alternative to the two steps above, if you don't need to make changes available to other devs yet you can:
|
|
109
|
-
1. In the studiokit directory, run `yarn build` then `yarn pack`. You'll still need to have incremented the version number to avoid having it cached.
|
|
110
|
-
1. Over in the Circuit/Variate/etc. directory, run `yarn add ../studiokit-scaffolding-js/package.tgz`.
|
|
111
|
-
1. Repeat as needed
|
|
112
|
-
1. Merging
|
|
113
|
-
* After the Merge Request is approved, **remove** the "next" or "alpha" suffix from the version **before** merging to develop or master
|
|
114
|
-
* For **hotfix** branches, the version number should be the new patch number, e.g. `1.0.1`
|
|
115
|
-
1. Release
|
|
116
|
-
* **Feature/Issue**: After merging, create a new "release" branch from `develop` and follow the "git flow" release steps as normal
|
|
117
|
-
* **Hotfix**: Finish the "git flow" hotfix steps as normal from the hotfix branch
|
|
118
|
-
* Azure DevOps will run a pipeline to publish the version merged to `master` to npmjs.org
|
|
119
|
-
|
|
120
|
-
## Styles
|
|
121
|
-
|
|
122
|
-
Styles are organized into the following folders and files inside of `src/css`
|
|
123
|
-
|
|
124
|
-
1. `variables.css`
|
|
125
|
-
* Global constant variables
|
|
126
|
-
* Common app-specific variables
|
|
127
|
-
1. `utils`
|
|
128
|
-
* Assorted utility styles, similar to tachyons
|
|
129
|
-
* Break out similar styles into separate files once a few similar ones exist
|
|
130
|
-
* e.g. `_display.css` contains all `display: ...;` related modifier styles
|
|
131
|
-
1. `base`
|
|
132
|
-
* `_base.css`: Generic tags, .skip-main link, and .main-content
|
|
133
|
-
* `_typography.css`: Default fonts, font scale, and text colors
|
|
134
|
-
1. `components`
|
|
135
|
-
* Global component specific styles (e.g. not functional like tachyons)
|
|
136
|
-
|
|
137
|
-
Your project’s css folders and files should follow this same pattern.
|
|
1
|
+
# studiokit-scaffolding-js
|
|
2
|
+
|
|
3
|
+
**studiokit-scaffolding-js** provides a common scaffolding for react apps.
|
|
4
|
+
|
|
5
|
+
1. [Installation](#installation)
|
|
6
|
+
1. [Usage](#usage)
|
|
7
|
+
1. [Development](#development)
|
|
8
|
+
|
|
9
|
+
# Installation
|
|
10
|
+
|
|
11
|
+
## Install this library and call startup methods
|
|
12
|
+
1. `yarn add studiokit-scaffolding-js`
|
|
13
|
+
1. (Optional) Call configurable extensions in your main entry file
|
|
14
|
+
* `redux/sagas/rootSaga`
|
|
15
|
+
* `setOtherDependentSagas` to add more sagas
|
|
16
|
+
* `redux/sagas/postLoginDataSaga`
|
|
17
|
+
* `setOnPostLogin` to load more data after login
|
|
18
|
+
* `redux/configureReducers`
|
|
19
|
+
* `updatePersistBlacklist` and `setOtherReducers` to add more reducers
|
|
20
|
+
1. In your main entry file call `startup`
|
|
21
|
+
```js
|
|
22
|
+
import { startup, endpointMappings } from 'studiokit-scaffolding-js'
|
|
23
|
+
|
|
24
|
+
const appConfig = {/* AppConfiguration */}
|
|
25
|
+
const endpointMappings = {...endpointMappings, .../* App EndpointMappings */}
|
|
26
|
+
const { history, store, persistor } = startup(appConfig, endpointMappings)
|
|
27
|
+
|
|
28
|
+
// render using history, store, persistor
|
|
29
|
+
ReactDOM.render(
|
|
30
|
+
...
|
|
31
|
+
)
|
|
32
|
+
```
|
|
33
|
+
## Styles
|
|
34
|
+
|
|
35
|
+
### Basic Setup
|
|
36
|
+
|
|
37
|
+
In your project’s startup `index.tsx` file, import the scaffolding styles as follows
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
...third party css...
|
|
41
|
+
|
|
42
|
+
import 'studiokit-scaffolding-js/lib/css/index-with-variables.css'
|
|
43
|
+
|
|
44
|
+
...project specific css...
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
importFrom: [
|
|
51
|
+
'node_modules/studiokit-scaffolding-js/lib/css/variables.css'
|
|
52
|
+
]
|
|
53
|
+
```
|
|
54
|
+
### Variable Override Setup
|
|
55
|
+
|
|
56
|
+
In order to override certain color variables from `variables.css`, they must be overridden _before_ scaffolding’s `index.css` file is imported.
|
|
57
|
+
|
|
58
|
+
In your project’s startup `index.tsx` file, import the scaffolding styles as follows
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
...third party css...
|
|
62
|
+
|
|
63
|
+
import 'studiokit-scaffolding-js/lib/css/variables.css'
|
|
64
|
+
import './css/variables.css'
|
|
65
|
+
import 'studiokit-scaffolding-js/lib/css/index.css'
|
|
66
|
+
import './css/index.css'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
In `config-overrides.js` when setting up `react-app-require-postcss`, in order for css variables to work, the `importFrom` array should look like the following:
|
|
70
|
+
|
|
71
|
+
```js
|
|
72
|
+
importFrom: [
|
|
73
|
+
'node_modules/studiokit-scaffolding-js/lib/css/variables.css',
|
|
74
|
+
'src/css/variables.css'
|
|
75
|
+
]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
# Usage
|
|
79
|
+
|
|
80
|
+
## Components and Utils
|
|
81
|
+
|
|
82
|
+
Components and utils can be imported from `studiokit-scaffolding-js/lib/...`
|
|
83
|
+
|
|
84
|
+
# Development
|
|
85
|
+
|
|
86
|
+
## Branches
|
|
87
|
+
|
|
88
|
+
1. Create a new branch
|
|
89
|
+
* **Feature/Issue**: In GitLab from an issue, create a branch off of `develop`
|
|
90
|
+
* **Hotfix**: Create a `hotfix` branch off of `master` (manually or in GitLab by making an MR)
|
|
91
|
+
1. Update the version number
|
|
92
|
+
* **Feature/Issue**
|
|
93
|
+
* append `-next.1.1`
|
|
94
|
+
* e.g. If the current version is `1.0.0`, the new branch should be `1.0.0-next.1.1`
|
|
95
|
+
* **Hotfix**
|
|
96
|
+
* increase the version number and append `-alpha.1`
|
|
97
|
+
* e.g. If the current version is `1.0.0`, the new branch should be `1.0.1-alpha.1` for hotfix
|
|
98
|
+
* **NOTE:** if **more than one** branch is being developed on at the same time, simply increment the **first** number after "next"
|
|
99
|
+
* e.g. `1.0.0-next.2.1` for the second issue branch (this won't apply for hotfixes)
|
|
100
|
+
1. Development Loop
|
|
101
|
+
1. Add/update new components, utils, or styles
|
|
102
|
+
1. Add/update unit tests for those components or utils to confirm basic functionality
|
|
103
|
+
1. Increment the **last** number in the version
|
|
104
|
+
* e.g. `1.0.0-next.2.1` => `1.0.0-next.2.2` for a feature/issue branch
|
|
105
|
+
* e.g. `1.0.1-alpha.1` => `1.0.1-alpha.2` for a hotfix branch
|
|
106
|
+
1. Push to gitlab. Azure DevOps will run a pipeline and publish this version to npmjs.org
|
|
107
|
+
1. Install the new version in the project(s) you are working on by updating its `package.json` and running `yarn`
|
|
108
|
+
* As an alternative to the two steps above, if you don't need to make changes available to other devs yet you can:
|
|
109
|
+
1. In the studiokit directory, run `yarn build` then `yarn pack`. You'll still need to have incremented the version number to avoid having it cached.
|
|
110
|
+
1. Over in the Circuit/Variate/etc. directory, run `yarn add ../studiokit-scaffolding-js/package.tgz`.
|
|
111
|
+
1. Repeat as needed
|
|
112
|
+
1. Merging
|
|
113
|
+
* After the Merge Request is approved, **remove** the "next" or "alpha" suffix from the version **before** merging to develop or master
|
|
114
|
+
* For **hotfix** branches, the version number should be the new patch number, e.g. `1.0.1`
|
|
115
|
+
1. Release
|
|
116
|
+
* **Feature/Issue**: After merging, create a new "release" branch from `develop` and follow the "git flow" release steps as normal
|
|
117
|
+
* **Hotfix**: Finish the "git flow" hotfix steps as normal from the hotfix branch
|
|
118
|
+
* Azure DevOps will run a pipeline to publish the version merged to `master` to npmjs.org
|
|
119
|
+
|
|
120
|
+
## Styles
|
|
121
|
+
|
|
122
|
+
Styles are organized into the following folders and files inside of `src/css`
|
|
123
|
+
|
|
124
|
+
1. `variables.css`
|
|
125
|
+
* Global constant variables
|
|
126
|
+
* Common app-specific variables
|
|
127
|
+
1. `utils`
|
|
128
|
+
* Assorted utility styles, similar to tachyons
|
|
129
|
+
* Break out similar styles into separate files once a few similar ones exist
|
|
130
|
+
* e.g. `_display.css` contains all `display: ...;` related modifier styles
|
|
131
|
+
1. `base`
|
|
132
|
+
* `_base.css`: Generic tags, .skip-main link, and .main-content
|
|
133
|
+
* `_typography.css`: Default fonts, font scale, and text colors
|
|
134
|
+
1. `components`
|
|
135
|
+
* Global component specific styles (e.g. not functional like tachyons)
|
|
136
|
+
|
|
137
|
+
Your project’s css folders and files should follow this same pattern.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionComponent } from 'react';
|
|
1
|
+
import React, { FunctionComponent } from 'react';
|
|
2
2
|
import { Model } from '../types';
|
|
3
3
|
export interface ActionListProps {
|
|
4
4
|
actions?: ListAction[];
|
|
@@ -11,7 +11,7 @@ export interface ListAction {
|
|
|
11
11
|
predicate: boolean;
|
|
12
12
|
action: () => void;
|
|
13
13
|
name: string;
|
|
14
|
-
icon: JSX.Element;
|
|
14
|
+
icon: React.JSX.Element;
|
|
15
15
|
className: string;
|
|
16
16
|
id: string;
|
|
17
17
|
isDefault?: boolean;
|
|
@@ -1,94 +1,173 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
24
6
|
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
-
if (mod && mod.__esModule) return mod;
|
|
27
|
-
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
33
|
-
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
34
|
-
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
35
|
-
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
|
36
|
-
r[k] = a[j];
|
|
37
|
-
return r;
|
|
38
|
-
};
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
7
|
exports.ActionList = void 0;
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
8
|
+
var _reactCompilerRuntime = require("react-compiler-runtime");
|
|
9
|
+
var _core = require("@material-ui/core");
|
|
10
|
+
var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
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); }
|
|
14
|
+
const ActionList = t0 => {
|
|
15
|
+
const $ = (0, _reactCompilerRuntime.c)(21);
|
|
16
|
+
const {
|
|
17
|
+
actions: t1,
|
|
18
|
+
model: t2,
|
|
19
|
+
className,
|
|
20
|
+
alwaysShowKebab
|
|
21
|
+
} = t0;
|
|
22
|
+
const actions = t1 === undefined ? [] : t1;
|
|
23
|
+
const model = t2 === undefined ? null : t2;
|
|
24
|
+
const anchorRef = _react.default.useRef(null);
|
|
25
|
+
const [infoMenuAnchorElement, setInfoMenuAnchorElement] = (0, _react.useState)(undefined);
|
|
26
|
+
let t3;
|
|
27
|
+
if ($[0] !== setInfoMenuAnchorElement) {
|
|
28
|
+
t3 = action => () => {
|
|
29
|
+
setInfoMenuAnchorElement(undefined);
|
|
30
|
+
action?.();
|
|
31
|
+
};
|
|
32
|
+
$[0] = setInfoMenuAnchorElement;
|
|
33
|
+
$[1] = t3;
|
|
34
|
+
} else {
|
|
35
|
+
t3 = $[1];
|
|
36
|
+
}
|
|
37
|
+
const onActionItemClick = t3;
|
|
38
|
+
let t4;
|
|
39
|
+
if ($[2] !== setInfoMenuAnchorElement) {
|
|
40
|
+
t4 = event => {
|
|
41
|
+
if (event.key === "Tab" || event.key === "Escape" || event.key === "Esc") {
|
|
42
|
+
event.preventDefault();
|
|
52
43
|
setInfoMenuAnchorElement(undefined);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var handleListKeyDown = function (event) {
|
|
56
|
-
var _a;
|
|
57
|
-
if (event.key === 'Tab' || event.key === 'Escape' || event.key === 'Esc') {
|
|
58
|
-
event.preventDefault();
|
|
59
|
-
setInfoMenuAnchorElement(undefined);
|
|
60
|
-
(_a = anchorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
61
|
-
}
|
|
44
|
+
anchorRef.current?.focus();
|
|
45
|
+
}
|
|
62
46
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
47
|
+
$[2] = setInfoMenuAnchorElement;
|
|
48
|
+
$[3] = t4;
|
|
49
|
+
} else {
|
|
50
|
+
t4 = $[3];
|
|
51
|
+
}
|
|
52
|
+
const handleListKeyDown = t4;
|
|
53
|
+
let allowedActions = actions.filter(_temp);
|
|
54
|
+
const actionCount = allowedActions.length;
|
|
55
|
+
const defaultAction = actionCount === 1 && !alwaysShowKebab ? allowedActions[0] : allowedActions.find(_temp2);
|
|
56
|
+
if (defaultAction) {
|
|
57
|
+
allowedActions = allowedActions.filter(a_1 => a_1 !== defaultAction);
|
|
58
|
+
}
|
|
59
|
+
const t5 = !!defaultAction && !!model && (actionCount > 1 || alwaysShowKebab) ? "inline-flex" : "di";
|
|
60
|
+
let t6;
|
|
61
|
+
if ($[4] !== defaultAction) {
|
|
62
|
+
t6 = !!defaultAction && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.Button, {
|
|
63
|
+
color: "primary",
|
|
64
|
+
onClick: defaultAction.action,
|
|
65
|
+
id: defaultAction.id,
|
|
66
|
+
className: defaultAction.className || "",
|
|
67
|
+
disabled: defaultAction.disabled,
|
|
68
|
+
children: [defaultAction.icon, defaultAction.name]
|
|
69
|
+
});
|
|
70
|
+
$[4] = defaultAction;
|
|
71
|
+
$[5] = t6;
|
|
72
|
+
} else {
|
|
73
|
+
t6 = $[5];
|
|
74
|
+
}
|
|
75
|
+
let t7;
|
|
76
|
+
if ($[6] !== actionCount || $[7] !== allowedActions || $[8] !== alwaysShowKebab || $[9] !== className || $[10] !== defaultAction || $[11] !== handleListKeyDown || $[12] !== infoMenuAnchorElement || $[13] !== model || $[14] !== onActionItemClick || $[15] !== setInfoMenuAnchorElement) {
|
|
77
|
+
t7 = !!model && (actionCount > 1 || alwaysShowKebab) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.Button, {
|
|
79
|
+
ref: anchorRef,
|
|
80
|
+
onClick: event_0 => setInfoMenuAnchorElement(event_0.currentTarget),
|
|
81
|
+
"aria-label": "Actions",
|
|
82
|
+
"aria-haspopup": "true",
|
|
83
|
+
"aria-controls": infoMenuAnchorElement ? `info-menu-${model.id}` : undefined,
|
|
84
|
+
className: `action-list-text-button${defaultAction ? " with-default-action" : ""}`,
|
|
85
|
+
color: "primary",
|
|
86
|
+
children: ["Actions", /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreVert.default, {
|
|
87
|
+
color: "primary"
|
|
88
|
+
})]
|
|
89
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.IconButton, {
|
|
90
|
+
ref: anchorRef,
|
|
91
|
+
onClick: event_1 => setInfoMenuAnchorElement(event_1.currentTarget),
|
|
92
|
+
"aria-label": "Actions",
|
|
93
|
+
"aria-haspopup": "true",
|
|
94
|
+
"aria-controls": infoMenuAnchorElement ? `info-menu-${model.id}` : undefined,
|
|
95
|
+
className: `action-list-icon-button${defaultAction ? " with-default-action" : ""}`,
|
|
96
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreVert.default, {
|
|
97
|
+
color: "primary"
|
|
98
|
+
})
|
|
99
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.Popper, {
|
|
100
|
+
open: !!infoMenuAnchorElement,
|
|
101
|
+
anchorEl: infoMenuAnchorElement,
|
|
102
|
+
placement: "bottom-end",
|
|
103
|
+
className: `z-1${className ? ` ${className}` : ""}`,
|
|
104
|
+
transition: true,
|
|
105
|
+
children: t8 => {
|
|
106
|
+
const {
|
|
107
|
+
TransitionProps,
|
|
108
|
+
placement
|
|
109
|
+
} = t8;
|
|
110
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.Grow, {
|
|
111
|
+
...TransitionProps,
|
|
112
|
+
style: {
|
|
113
|
+
transformOrigin: placement === "bottom-end" ? "top right" : "bottom right"
|
|
114
|
+
},
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.Paper, {
|
|
116
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.ClickAwayListener, {
|
|
117
|
+
onClickAway: onActionItemClick(),
|
|
118
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.MenuList, {
|
|
119
|
+
id: `info-menu-${model.id}`,
|
|
120
|
+
autoFocusItem: !!infoMenuAnchorElement,
|
|
121
|
+
onKeyDown: handleListKeyDown,
|
|
122
|
+
className: "action-list shadow-large",
|
|
123
|
+
children: allowedActions.map((a_2, index) => a_2.predicate ? [...(index > 0 ? [/*#__PURE__*/(0, _jsxRuntime.jsx)(_core.Divider, {})] : []), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.MenuItem, {
|
|
124
|
+
className: `action-list-menu mv1 pv2 ${a_2.className}`,
|
|
125
|
+
onClick: onActionItemClick(a_2.action),
|
|
126
|
+
color: "primary",
|
|
127
|
+
disabled: a_2.disabled,
|
|
128
|
+
children: [a_2.icon, a_2.name]
|
|
129
|
+
}, a_2.id)] : undefined)
|
|
130
|
+
})
|
|
131
|
+
})
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
})]
|
|
136
|
+
});
|
|
137
|
+
$[6] = actionCount;
|
|
138
|
+
$[7] = allowedActions;
|
|
139
|
+
$[8] = alwaysShowKebab;
|
|
140
|
+
$[9] = className;
|
|
141
|
+
$[10] = defaultAction;
|
|
142
|
+
$[11] = handleListKeyDown;
|
|
143
|
+
$[12] = infoMenuAnchorElement;
|
|
144
|
+
$[13] = model;
|
|
145
|
+
$[14] = onActionItemClick;
|
|
146
|
+
$[15] = setInfoMenuAnchorElement;
|
|
147
|
+
$[16] = t7;
|
|
148
|
+
} else {
|
|
149
|
+
t7 = $[16];
|
|
150
|
+
}
|
|
151
|
+
let t8;
|
|
152
|
+
if ($[17] !== t5 || $[18] !== t6 || $[19] !== t7) {
|
|
153
|
+
t8 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
154
|
+
className: t5,
|
|
155
|
+
children: [t6, t7]
|
|
156
|
+
});
|
|
157
|
+
$[17] = t5;
|
|
158
|
+
$[18] = t6;
|
|
159
|
+
$[19] = t7;
|
|
160
|
+
$[20] = t8;
|
|
161
|
+
} else {
|
|
162
|
+
t8 = $[20];
|
|
163
|
+
}
|
|
164
|
+
return t8;
|
|
93
165
|
};
|
|
94
166
|
exports.ActionList = ActionList;
|
|
167
|
+
function _temp(a) {
|
|
168
|
+
return a.predicate;
|
|
169
|
+
}
|
|
170
|
+
function _temp2(a_0) {
|
|
171
|
+
return !!a_0.isDefault;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfTW9yZVZlcnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfanN4UnVudGltZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkFjdGlvbkxpc3QiLCJ0MCIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwiYWN0aW9ucyIsInQxIiwibW9kZWwiLCJ0MiIsImNsYXNzTmFtZSIsImFsd2F5c1Nob3dLZWJhYiIsInVuZGVmaW5lZCIsImFuY2hvclJlZiIsIlJlYWN0IiwidXNlUmVmIiwiaW5mb01lbnVBbmNob3JFbGVtZW50Iiwic2V0SW5mb01lbnVBbmNob3JFbGVtZW50IiwidXNlU3RhdGUiLCJ0MyIsImFjdGlvbiIsIm9uQWN0aW9uSXRlbUNsaWNrIiwidDQiLCJldmVudCIsImtleSIsInByZXZlbnREZWZhdWx0IiwiY3VycmVudCIsImZvY3VzIiwiaGFuZGxlTGlzdEtleURvd24iLCJhbGxvd2VkQWN0aW9ucyIsImZpbHRlciIsIl90ZW1wIiwiYWN0aW9uQ291bnQiLCJsZW5ndGgiLCJkZWZhdWx0QWN0aW9uIiwiZmluZCIsIl90ZW1wMiIsImFfMSIsImEiLCJ0NSIsInQ2IiwianN4cyIsIkJ1dHRvbiIsImNvbG9yIiwib25DbGljayIsImlkIiwiZGlzYWJsZWQiLCJjaGlsZHJlbiIsImljb24iLCJuYW1lIiwidDciLCJGcmFnbWVudCIsImV2ZW50XzAiLCJjdXJyZW50VGFyZ2V0IiwianN4IiwiSWNvbkJ1dHRvbiIsImV2ZW50XzEiLCJQb3BwZXIiLCJvcGVuIiwicGxhY2VtZW50IiwidHJhbnNpdGlvbiIsInQ4IiwiVHJhbnNpdGlvblByb3BzIiwiR3JvdyIsInN0eWxlIiwidHJhbnNmb3JtT3JpZ2luIiwiUGFwZXIiLCJDbGlja0F3YXlMaXN0ZW5lciIsIm9uQ2xpY2tBd2F5IiwiTWVudUxpc3QiLCJhdXRvRm9jdXNJdGVtIiwibWFwIiwiYV8yIiwiaW5kZXgiLCJwcmVkaWNhdGUiLCJEaXZpZGVyIiwiTWVudUl0ZW0iLCJleHBvcnRzIiwiYV8wIiwiaXNEZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQWN0aW9uTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRCdXR0b24sXHJcblx0Q2xpY2tBd2F5TGlzdGVuZXIsXHJcblx0RGl2aWRlcixcclxuXHRHcm93LFxyXG5cdEljb25CdXR0b24sXHJcblx0TWVudUl0ZW0sXHJcblx0TWVudUxpc3QsXHJcblx0UGFwZXIsXHJcblx0UG9wcGVyXHJcbn0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnXHJcbmltcG9ydCBJY29uTW9yZVZlcnQgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL01vcmVWZXJ0J1xyXG5pbXBvcnQgUmVhY3QsIHsgRnVuY3Rpb25Db21wb25lbnQsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkxpc3RQcm9wcyB7XHJcblx0YWN0aW9ucz86IExpc3RBY3Rpb25bXVxyXG5cdG1vZGVsOiBNb2RlbCB8IG51bGxcclxuXHRjbGFzc05hbWU/OiBzdHJpbmdcclxuXHQvKiogRXZlbiB3aGVuIHRoZXJlIGlzIGEgc2luZ2xlIExpc3RBY3Rpb24sIHNob3cgdGhlIGtlYmFiIG1lbnUgKi9cclxuXHRhbHdheXNTaG93S2ViYWI/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEFjdGlvbiB7XHJcblx0cHJlZGljYXRlOiBib29sZWFuXHJcblx0YWN0aW9uOiAoKSA9PiB2b2lkXHJcblx0bmFtZTogc3RyaW5nXHJcblx0aWNvbjogUmVhY3QuSlNYLkVsZW1lbnRcclxuXHRjbGFzc05hbWU6IHN0cmluZ1xyXG5cdGlkOiBzdHJpbmdcclxuXHRpc0RlZmF1bHQ/OiBib29sZWFuXHJcblx0ZGlzYWJsZWQ/OiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBY3Rpb25MaXN0OiBGdW5jdGlvbkNvbXBvbmVudDxBY3Rpb25MaXN0UHJvcHM+ID0gKHtcclxuXHRhY3Rpb25zID0gW10sXHJcblx0bW9kZWwgPSBudWxsLFxyXG5cdGNsYXNzTmFtZSxcclxuXHRhbHdheXNTaG93S2ViYWJcclxufSkgPT4ge1xyXG5cdGNvbnN0IGFuY2hvclJlZiA9IFJlYWN0LnVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbClcclxuXHRjb25zdCBbaW5mb01lbnVBbmNob3JFbGVtZW50LCBzZXRJbmZvTWVudUFuY2hvckVsZW1lbnRdID0gdXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcclxuXHJcblx0Y29uc3Qgb25BY3Rpb25JdGVtQ2xpY2sgPSAoYWN0aW9uPzogKCkgPT4gdm9pZCkgPT4gKCkgPT4ge1xyXG5cdFx0c2V0SW5mb01lbnVBbmNob3JFbGVtZW50KHVuZGVmaW5lZClcclxuXHRcdGFjdGlvbj8uKClcclxuXHR9XHJcblxyXG5cdGNvbnN0IGhhbmRsZUxpc3RLZXlEb3duID0gKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50KSA9PiB7XHJcblx0XHRpZiAoZXZlbnQua2V5ID09PSAnVGFiJyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnIHx8IGV2ZW50LmtleSA9PT0gJ0VzYycpIHtcclxuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKVxyXG5cdFx0XHRzZXRJbmZvTWVudUFuY2hvckVsZW1lbnQodW5kZWZpbmVkKVxyXG5cdFx0XHRhbmNob3JSZWYuY3VycmVudD8uZm9jdXMoKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bGV0IGFsbG93ZWRBY3Rpb25zID0gYWN0aW9ucy5maWx0ZXIoKGE6IExpc3RBY3Rpb24pID0+IGEucHJlZGljYXRlKVxyXG5cdGNvbnN0IGFjdGlvbkNvdW50ID0gYWxsb3dlZEFjdGlvbnMubGVuZ3RoXHJcblx0Y29uc3QgZGVmYXVsdEFjdGlvbiA9XHJcblx0XHRhY3Rpb25Db3VudCA9PT0gMSAmJiAhYWx3YXlzU2hvd0tlYmFiID8gYWxsb3dlZEFjdGlvbnNbMF0gOiBhbGxvd2VkQWN0aW9ucy5maW5kKGEgPT4gISFhLmlzRGVmYXVsdClcclxuXHJcblx0aWYgKGRlZmF1bHRBY3Rpb24pIHtcclxuXHRcdGFsbG93ZWRBY3Rpb25zID0gYWxsb3dlZEFjdGlvbnMuZmlsdGVyKGEgPT4gYSAhPT0gZGVmYXVsdEFjdGlvbilcclxuXHR9XHJcblxyXG5cdHJldHVybiAoXHJcblx0XHQ8ZGl2IGNsYXNzTmFtZT17ISFkZWZhdWx0QWN0aW9uICYmICEhbW9kZWwgJiYgKGFjdGlvbkNvdW50ID4gMSB8fCBhbHdheXNTaG93S2ViYWIpID8gJ2lubGluZS1mbGV4JyA6ICdkaSd9PlxyXG5cdFx0XHR7ISFkZWZhdWx0QWN0aW9uICYmIChcclxuXHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0b25DbGljaz17ZGVmYXVsdEFjdGlvbi5hY3Rpb259XHJcblx0XHRcdFx0XHRpZD17ZGVmYXVsdEFjdGlvbi5pZH1cclxuXHRcdFx0XHRcdGNsYXNzTmFtZT17ZGVmYXVsdEFjdGlvbi5jbGFzc05hbWUgfHwgJyd9XHJcblx0XHRcdFx0XHRkaXNhYmxlZD17ZGVmYXVsdEFjdGlvbi5kaXNhYmxlZH0+XHJcblx0XHRcdFx0XHR7ZGVmYXVsdEFjdGlvbi5pY29ufVxyXG5cdFx0XHRcdFx0e2RlZmF1bHRBY3Rpb24ubmFtZX1cclxuXHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0KX1cclxuXHRcdFx0eyEhbW9kZWwgJiYgKGFjdGlvbkNvdW50ID4gMSB8fCBhbHdheXNTaG93S2ViYWIpICYmIChcclxuXHRcdFx0XHQ8PlxyXG5cdFx0XHRcdFx0PEJ1dHRvblxyXG5cdFx0XHRcdFx0XHRyZWY9e2FuY2hvclJlZn1cclxuXHRcdFx0XHRcdFx0b25DbGljaz17ZXZlbnQgPT4gc2V0SW5mb01lbnVBbmNob3JFbGVtZW50KGV2ZW50LmN1cnJlbnRUYXJnZXQpfVxyXG5cdFx0XHRcdFx0XHRhcmlhLWxhYmVsPVwiQWN0aW9uc1wiXHJcblx0XHRcdFx0XHRcdGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0YXJpYS1jb250cm9scz17aW5mb01lbnVBbmNob3JFbGVtZW50ID8gYGluZm8tbWVudS0ke21vZGVsLmlkfWAgOiB1bmRlZmluZWR9XHJcblx0XHRcdFx0XHRcdGNsYXNzTmFtZT17YGFjdGlvbi1saXN0LXRleHQtYnV0dG9uJHtkZWZhdWx0QWN0aW9uID8gJyB3aXRoLWRlZmF1bHQtYWN0aW9uJyA6ICcnfWB9XHJcblx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiPlxyXG5cdFx0XHRcdFx0XHRBY3Rpb25zXHJcblx0XHRcdFx0XHRcdDxJY29uTW9yZVZlcnQgY29sb3I9XCJwcmltYXJ5XCIgLz5cclxuXHRcdFx0XHRcdDwvQnV0dG9uPlxyXG5cclxuXHRcdFx0XHRcdDxJY29uQnV0dG9uXHJcblx0XHRcdFx0XHRcdHJlZj17YW5jaG9yUmVmfVxyXG5cdFx0XHRcdFx0XHRvbkNsaWNrPXtldmVudCA9PiBzZXRJbmZvTWVudUFuY2hvckVsZW1lbnQoZXZlbnQuY3VycmVudFRhcmdldCl9XHJcblx0XHRcdFx0XHRcdGFyaWEtbGFiZWw9XCJBY3Rpb25zXCJcclxuXHRcdFx0XHRcdFx0YXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRhcmlhLWNvbnRyb2xzPXtpbmZvTWVudUFuY2hvckVsZW1lbnQgPyBgaW5mby1tZW51LSR7bW9kZWwuaWR9YCA6IHVuZGVmaW5lZH1cclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgYWN0aW9uLWxpc3QtaWNvbi1idXR0b24ke2RlZmF1bHRBY3Rpb24gPyAnIHdpdGgtZGVmYXVsdC1hY3Rpb24nIDogJyd9YH0+XHJcblx0XHRcdFx0XHRcdDxJY29uTW9yZVZlcnQgY29sb3I9XCJwcmltYXJ5XCIgLz5cclxuXHRcdFx0XHRcdDwvSWNvbkJ1dHRvbj5cclxuXHJcblx0XHRcdFx0XHQ8UG9wcGVyXHJcblx0XHRcdFx0XHRcdG9wZW49eyEhaW5mb01lbnVBbmNob3JFbGVtZW50fVxyXG5cdFx0XHRcdFx0XHRhbmNob3JFbD17aW5mb01lbnVBbmNob3JFbGVtZW50fVxyXG5cdFx0XHRcdFx0XHRwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtgei0xJHtjbGFzc05hbWUgPyBgICR7Y2xhc3NOYW1lfWAgOiAnJ31gfVxyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uPlxyXG5cdFx0XHRcdFx0XHR7KHsgVHJhbnNpdGlvblByb3BzLCBwbGFjZW1lbnQgfSkgPT4gKFxyXG5cdFx0XHRcdFx0XHRcdDxHcm93XHJcblx0XHRcdFx0XHRcdFx0XHR7Li4uVHJhbnNpdGlvblByb3BzfVxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9e3sgdHJhbnNmb3JtT3JpZ2luOiBwbGFjZW1lbnQgPT09ICdib3R0b20tZW5kJyA/ICd0b3AgcmlnaHQnIDogJ2JvdHRvbSByaWdodCcgfX0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8UGFwZXI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxDbGlja0F3YXlMaXN0ZW5lciBvbkNsaWNrQXdheT17b25BY3Rpb25JdGVtQ2xpY2soKX0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PE1lbnVMaXN0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZD17YGluZm8tbWVudS0ke21vZGVsLmlkfWB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhdXRvRm9jdXNJdGVtPXshIWluZm9NZW51QW5jaG9yRWxlbWVudH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uS2V5RG93bj17aGFuZGxlTGlzdEtleURvd259XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJhY3Rpb24tbGlzdCBzaGFkb3ctbGFyZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHthbGxvd2VkQWN0aW9ucy5tYXAoKGEsIGluZGV4KSA9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhLnByZWRpY2F0ZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdD8gW1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQuLi4oaW5kZXggPiAwID8gWzxEaXZpZGVyIC8+XSA6IFtdKSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PE1lbnVJdGVtXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5PXthLmlkfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT17YGFjdGlvbi1saXN0LW1lbnUgbXYxIHB2MiAke2EuY2xhc3NOYW1lfWB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljaz17b25BY3Rpb25JdGVtQ2xpY2soYS5hY3Rpb24pfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGlzYWJsZWQ9e2EuZGlzYWJsZWR9PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHthLmljb259XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e2EubmFtZX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC9NZW51SXRlbT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ6IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L01lbnVMaXN0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L0NsaWNrQXdheUxpc3RlbmVyPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9QYXBlcj5cclxuXHRcdFx0XHRcdFx0XHQ8L0dyb3c+XHJcblx0XHRcdFx0XHRcdCl9XHJcblx0XHRcdFx0XHQ8L1BvcHBlcj5cclxuXHRcdFx0XHQ8Lz5cclxuXHRcdFx0KX1cclxuXHRcdDwvZGl2PlxyXG5cdClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBV0EsSUFBQUMsU0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQTBELElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUFBLFNBQUFJLHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSxDQUFBRSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQUMsT0FBQSxFQUFBVixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGdCQUFBUCxDQUFBLElBQUFELENBQUEsZ0JBQUFDLENBQUEsT0FBQWEsY0FBQSxD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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { FunctionComponent, MouseEventHandler } from 'react';
|
|
1
|
+
import React, { FunctionComponent, MouseEventHandler } from 'react';
|
|
2
2
|
export interface AlertDialogProps {
|
|
3
3
|
id?: string;
|
|
4
4
|
isOpen: boolean;
|
|
5
|
-
title: string | JSX.Element;
|
|
6
|
-
description?: string | JSX.Element
|
|
5
|
+
title: string | React.JSX.Element;
|
|
6
|
+
description?: string | React.JSX.Element;
|
|
7
7
|
onProceed?: MouseEventHandler<HTMLElement>;
|
|
8
8
|
proceedText?: string;
|
|
9
9
|
/** onCancel is needed for closing using the X button, clicking the backdrop, or clicking the cancel button*/
|