studiokit-scaffolding-js 4.3.20 → 4.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +127 -127
  3. package/lib/components/ActionList.d.ts +20 -20
  4. package/lib/components/ActionList.js +94 -94
  5. package/lib/components/AlertDialog.d.ts +18 -18
  6. package/lib/components/AlertDialog.js +21 -21
  7. package/lib/components/AlertWithIcon.d.ts +7 -7
  8. package/lib/components/AlertWithIcon.js +57 -57
  9. package/lib/components/Blots/CustomImageSpec.d.ts +14 -14
  10. package/lib/components/Blots/CustomImageSpec.js +45 -45
  11. package/lib/components/Blots/CustomVideoSpec.d.ts +16 -16
  12. package/lib/components/Blots/CustomVideoSpec.js +47 -47
  13. package/lib/components/ConnectedModal.d.ts +6 -6
  14. package/lib/components/ConnectedModal.js +11 -11
  15. package/lib/components/Dropdowns/GroupsDropdown.d.ts +18 -18
  16. package/lib/components/Dropdowns/GroupsDropdown.js +90 -90
  17. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +32 -32
  18. package/lib/components/Dropdowns/ManagedNavDropdown.js +118 -118
  19. package/lib/components/Dropdowns/UserDropdown.d.ts +6 -6
  20. package/lib/components/Dropdowns/UserDropdown.js +76 -76
  21. package/lib/components/Dropdowns/index.d.ts +3 -3
  22. package/lib/components/Dropdowns/index.js +12 -12
  23. package/lib/components/EntityOwnerList.d.ts +11 -11
  24. package/lib/components/EntityOwnerList.js +63 -63
  25. package/lib/components/ErrorBoundary.d.ts +11 -11
  26. package/lib/components/ErrorBoundary.js +74 -74
  27. package/lib/components/Forms/DateField.d.ts +13 -13
  28. package/lib/components/Forms/DateField.js +99 -99
  29. package/lib/components/Forms/TimeField.d.ts +11 -11
  30. package/lib/components/Forms/TimeField.js +112 -112
  31. package/lib/components/Forms/index.d.ts +2 -2
  32. package/lib/components/Forms/index.js +14 -14
  33. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +10 -10
  34. package/lib/components/Groups/CreateEditCopySaveButtons.js +18 -18
  35. package/lib/components/Groups/GroupCreateOrEditCommonProps.d.ts +6 -6
  36. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  37. package/lib/components/Groups/RosterSyncInfo.d.ts +5 -5
  38. package/lib/components/Groups/RosterSyncInfo.js +54 -54
  39. package/lib/components/HOC/AccessibleAppComponent.d.ts +15 -15
  40. package/lib/components/HOC/AccessibleAppComponent.js +135 -135
  41. package/lib/components/HOC/ActivityRequiredComponent.d.ts +105 -105
  42. package/lib/components/HOC/ActivityRequiredComponent.js +101 -101
  43. package/lib/components/HOC/AsyncComponent.d.ts +37 -37
  44. package/lib/components/HOC/AsyncComponent.js +136 -136
  45. package/lib/components/HOC/AuthenticatedComponent.d.ts +10 -10
  46. package/lib/components/HOC/AuthenticatedComponent.js +104 -104
  47. package/lib/components/HOC/CollectionComponent.d.ts +61 -61
  48. package/lib/components/HOC/CollectionComponent.js +175 -175
  49. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +67 -67
  50. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -94
  51. package/lib/components/HOC/CollectionItemComponent.d.ts +61 -61
  52. package/lib/components/HOC/CollectionItemComponent.js +172 -172
  53. package/lib/components/HOC/ConnectedModalComponent.d.ts +26 -26
  54. package/lib/components/HOC/ConnectedModalComponent.js +110 -110
  55. package/lib/components/HOC/DataDependentComponent.d.ts +61 -61
  56. package/lib/components/HOC/DataDependentComponent.js +90 -90
  57. package/lib/components/HOC/EntityComponent.d.ts +83 -83
  58. package/lib/components/HOC/EntityComponent.js +120 -120
  59. package/lib/components/HOC/FullscreenModalComponent.d.ts +74 -74
  60. package/lib/components/HOC/FullscreenModalComponent.js +173 -173
  61. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +29 -29
  62. package/lib/components/HOC/GroupActivityRequiredComponent.js +49 -49
  63. package/lib/components/HOC/GuidComponent.d.ts +14 -14
  64. package/lib/components/HOC/GuidComponent.js +72 -72
  65. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +172 -172
  66. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +72 -72
  67. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +69 -69
  68. package/lib/components/HOC/ModelErrorRedirectComponent.js +101 -101
  69. package/lib/components/HOC/SearchPersistorComponent.d.ts +85 -85
  70. package/lib/components/HOC/SearchPersistorComponent.js +198 -198
  71. package/lib/components/HOC/UnauthenticatedComponent.d.ts +62 -62
  72. package/lib/components/HOC/UnauthenticatedComponent.js +90 -90
  73. package/lib/components/HOC/UserComponent.d.ts +3 -3
  74. package/lib/components/HOC/UserComponent.js +12 -12
  75. package/lib/components/Icons/IconExternalUser.d.ts +3 -3
  76. package/lib/components/Icons/IconExternalUser.js +24 -24
  77. package/lib/components/Icons/IconImpersonation.d.ts +3 -3
  78. package/lib/components/Icons/IconImpersonation.js +24 -24
  79. package/lib/components/Icons/IconStopImpersonating.d.ts +3 -3
  80. package/lib/components/Icons/IconStopImpersonating.js +24 -24
  81. package/lib/components/Impersonation/Button.d.ts +7 -7
  82. package/lib/components/Impersonation/Button.js +61 -61
  83. package/lib/components/Impersonation/Link.d.ts +7 -7
  84. package/lib/components/Impersonation/Link.js +58 -58
  85. package/lib/components/Impersonation/UserDetail.css +22 -22
  86. package/lib/components/Impersonation/UserDetail.d.ts +22 -22
  87. package/lib/components/Impersonation/UserDetail.js +23 -23
  88. package/lib/components/Loading.d.ts +4 -4
  89. package/lib/components/Loading.js +24 -24
  90. package/lib/components/Lti/Confirm.d.ts +8 -8
  91. package/lib/components/Lti/Confirm.js +37 -37
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +15 -15
  93. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +83 -83
  94. package/lib/components/Lti/Launch.d.ts +21 -21
  95. package/lib/components/Lti/Launch.js +52 -52
  96. package/lib/components/Lti/LaunchGroup.d.ts +9 -9
  97. package/lib/components/Lti/LaunchGroup.js +45 -45
  98. package/lib/components/NewVersionAlert.d.ts +18 -18
  99. package/lib/components/NewVersionAlert.js +97 -97
  100. package/lib/components/NotFound.d.ts +3 -3
  101. package/lib/components/NotFound.js +28 -28
  102. package/lib/components/Notifications.d.ts +39 -39
  103. package/lib/components/Notifications.js +175 -175
  104. package/lib/components/RefreshIndicator/Bordered.d.ts +7 -7
  105. package/lib/components/RefreshIndicator/Bordered.js +35 -35
  106. package/lib/components/RefreshIndicator/Inline.d.ts +4 -4
  107. package/lib/components/RefreshIndicator/Inline.js +36 -36
  108. package/lib/components/RefreshIndicator/index.d.ts +21 -21
  109. package/lib/components/RefreshIndicator/index.js +116 -116
  110. package/lib/components/SearchControls.d.ts +14 -14
  111. package/lib/components/SearchControls.js +34 -34
  112. package/lib/components/SentryRoute.d.ts +3 -3
  113. package/lib/components/SentryRoute.js +25 -25
  114. package/lib/components/Tables/RoleFilter.d.ts +14 -14
  115. package/lib/components/Tables/RoleFilter.js +53 -53
  116. package/lib/components/Tables/TextFilter.d.ts +7 -7
  117. package/lib/components/Tables/TextFilter.js +26 -26
  118. package/lib/components/UserRoles/Add.d.ts +31 -31
  119. package/lib/components/UserRoles/Add.js +165 -165
  120. package/lib/components/UserRoles/RoleCell.d.ts +21 -21
  121. package/lib/components/UserRoles/RoleCell.js +53 -53
  122. package/lib/components/UserRoles/Select.d.ts +27 -27
  123. package/lib/components/UserRoles/Select.js +44 -44
  124. package/lib/components/UserRoles/Table.d.ts +16 -16
  125. package/lib/components/UserRoles/Table.js +99 -99
  126. package/lib/components/UserRoles/index.d.ts +76 -76
  127. package/lib/components/UserRoles/index.js +361 -361
  128. package/lib/constants/baseActivity.d.ts +25 -25
  129. package/lib/constants/baseActivity.js +29 -29
  130. package/lib/constants/baseRole.d.ts +9 -9
  131. package/lib/constants/baseRole.js +13 -13
  132. package/lib/constants/configuration.d.ts +8 -8
  133. package/lib/constants/configuration.js +39 -39
  134. package/lib/constants/externalProviderType.d.ts +5 -5
  135. package/lib/constants/externalProviderType.js +9 -9
  136. package/lib/constants/index.d.ts +8 -8
  137. package/lib/constants/index.js +20 -20
  138. package/lib/constants/mockData.d.ts +82 -84
  139. package/lib/constants/mockData.js +379 -379
  140. package/lib/constants/modelStatus.d.ts +10 -10
  141. package/lib/constants/modelStatus.js +14 -14
  142. package/lib/constants/notificationType.d.ts +7 -7
  143. package/lib/constants/notificationType.js +11 -11
  144. package/lib/constants/shard.d.ts +6 -6
  145. package/lib/constants/shard.js +10 -10
  146. package/lib/constants/tier.d.ts +6 -6
  147. package/lib/constants/tier.js +10 -10
  148. package/lib/constants/userRole.d.ts +2 -2
  149. package/lib/constants/userRole.js +21 -21
  150. package/lib/css/base/_base.css +98 -98
  151. package/lib/css/base/_typography.css +130 -130
  152. package/lib/css/components/_alert.css +85 -85
  153. package/lib/css/components/_bootstrap-grid.css +28 -28
  154. package/lib/css/components/_buttons.css +325 -325
  155. package/lib/css/components/_forms.css +91 -91
  156. package/lib/css/components/_menu.css +56 -56
  157. package/lib/css/components/_modals.css +41 -41
  158. package/lib/css/components/_tables.css +426 -426
  159. package/lib/css/components/_tags.css +12 -12
  160. package/lib/css/index-with-variables.css +14 -14
  161. package/lib/css/index.css +13 -13
  162. package/lib/css/utils/_border.css +463 -463
  163. package/lib/css/utils/_color.css +271 -271
  164. package/lib/css/utils/_display.css +312 -312
  165. package/lib/css/utils/_general.css +48 -48
  166. package/lib/css/utils/_icon.css +16 -16
  167. package/lib/css/utils/_text.css +24 -24
  168. package/lib/css/utils/_width.css +60 -60
  169. package/lib/css/variables.css +70 -70
  170. package/lib/endpointMappings.d.ts +4 -4
  171. package/lib/endpointMappings.js +173 -173
  172. package/lib/hooks/useCollection.d.ts +6 -6
  173. package/lib/hooks/useCollection.js +61 -61
  174. package/lib/hooks/useCollectionConfiguration.d.ts +27 -27
  175. package/lib/hooks/useCollectionConfiguration.js +67 -67
  176. package/lib/hooks/useCollectionItem.d.ts +6 -6
  177. package/lib/hooks/useCollectionItem.js +54 -54
  178. package/lib/hooks/useGuid.d.ts +4 -4
  179. package/lib/hooks/useGuid.js +14 -14
  180. package/lib/hooks/usePrevious.d.ts +5 -5
  181. package/lib/hooks/usePrevious.js +18 -18
  182. package/lib/index.d.ts +8 -8
  183. package/lib/index.js +30 -30
  184. package/lib/redux/actionCreator.d.ts +5 -5
  185. package/lib/redux/actionCreator.js +16 -16
  186. package/lib/redux/actions.d.ts +12 -12
  187. package/lib/redux/actions.js +30 -30
  188. package/lib/redux/configureReducers.d.ts +22 -22
  189. package/lib/redux/configureReducers.js +94 -94
  190. package/lib/redux/configureStore.d.ts +14 -14
  191. package/lib/redux/configureStore.js +118 -118
  192. package/lib/redux/helpers.d.ts +2 -2
  193. package/lib/redux/helpers.js +7 -7
  194. package/lib/redux/reducers/index.d.ts +4 -4
  195. package/lib/redux/reducers/index.js +12 -12
  196. package/lib/redux/reducers/modalsReducer.d.ts +8 -8
  197. package/lib/redux/reducers/modalsReducer.js +54 -54
  198. package/lib/redux/reducers/notificationsReducer.d.ts +9 -9
  199. package/lib/redux/reducers/notificationsReducer.js +27 -27
  200. package/lib/redux/reducers/searchReducer.d.ts +17 -17
  201. package/lib/redux/reducers/searchReducer.js +26 -26
  202. package/lib/redux/sagas/caliperSaga.d.ts +2 -2
  203. package/lib/redux/sagas/caliperSaga.js +296 -296
  204. package/lib/redux/sagas/clockOffsetSaga.d.ts +10 -10
  205. package/lib/redux/sagas/clockOffsetSaga.js +81 -81
  206. package/lib/redux/sagas/configurationSaga.d.ts +1 -1
  207. package/lib/redux/sagas/configurationSaga.js +48 -48
  208. package/lib/redux/sagas/errorSaga.d.ts +2 -2
  209. package/lib/redux/sagas/errorSaga.js +66 -66
  210. package/lib/redux/sagas/identityProviderSaga.d.ts +2 -2
  211. package/lib/redux/sagas/identityProviderSaga.js +91 -91
  212. package/lib/redux/sagas/initialDataLoadSaga.d.ts +1 -1
  213. package/lib/redux/sagas/initialDataLoadSaga.js +33 -33
  214. package/lib/redux/sagas/postLoginDataSaga.d.ts +9 -9
  215. package/lib/redux/sagas/postLoginDataSaga.js +87 -87
  216. package/lib/redux/sagas/postLoginRedirectSaga.d.ts +6 -6
  217. package/lib/redux/sagas/postLoginRedirectSaga.js +96 -96
  218. package/lib/redux/sagas/rootSaga.d.ts +5 -5
  219. package/lib/redux/sagas/rootSaga.js +144 -144
  220. package/lib/redux/sagas/sentrySaga.d.ts +1 -1
  221. package/lib/redux/sagas/sentrySaga.js +103 -103
  222. package/lib/services/codeProviderService.d.ts +3 -3
  223. package/lib/services/codeProviderService.js +36 -36
  224. package/lib/services/documentService.d.ts +10 -10
  225. package/lib/services/documentService.js +17 -17
  226. package/lib/services/persistenceService.d.ts +13 -13
  227. package/lib/services/persistenceService.js +45 -45
  228. package/lib/services/ticketProviderService.d.ts +3 -3
  229. package/lib/services/ticketProviderService.js +40 -40
  230. package/lib/services/windowService.d.ts +9 -9
  231. package/lib/services/windowService.js +15 -15
  232. package/lib/setupTests.d.ts +1 -1
  233. package/lib/setupTests.js +25 -25
  234. package/lib/startup.d.ts +29 -29
  235. package/lib/startup.js +128 -128
  236. package/lib/types/AppConfiguration.d.ts +32 -32
  237. package/lib/types/AppConfiguration.js +2 -2
  238. package/lib/types/Artifact.d.ts +14 -14
  239. package/lib/types/Artifact.js +9 -9
  240. package/lib/types/BaseReduxState.d.ts +57 -57
  241. package/lib/types/BaseReduxState.js +2 -2
  242. package/lib/types/Client.d.ts +6 -6
  243. package/lib/types/Client.js +2 -2
  244. package/lib/types/Collection.d.ts +175 -175
  245. package/lib/types/Collection.js +2 -2
  246. package/lib/types/Configuration.d.ts +12 -12
  247. package/lib/types/Configuration.js +2 -2
  248. package/lib/types/DeepLinkingResponseRequest.d.ts +4 -4
  249. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  250. package/lib/types/DeletableModel.d.ts +4 -4
  251. package/lib/types/DeletableModel.js +2 -2
  252. package/lib/types/External.d.ts +31 -31
  253. package/lib/types/External.js +2 -2
  254. package/lib/types/Group.d.ts +19 -19
  255. package/lib/types/Group.js +2 -2
  256. package/lib/types/IdentityProvider.d.ts +11 -11
  257. package/lib/types/IdentityProvider.js +2 -2
  258. package/lib/types/LtiLaunch.d.ts +20 -20
  259. package/lib/types/LtiLaunch.js +2 -2
  260. package/lib/types/NameOnlyEntity.d.ts +3 -3
  261. package/lib/types/NameOnlyEntity.js +2 -2
  262. package/lib/types/Notification.d.ts +15 -15
  263. package/lib/types/Notification.js +2 -2
  264. package/lib/types/OptionalRecord.d.ts +4 -4
  265. package/lib/types/OptionalRecord.js +2 -2
  266. package/lib/types/OwnerSchedule.d.ts +9 -9
  267. package/lib/types/OwnerSchedule.js +2 -2
  268. package/lib/types/PropertyOfType.d.ts +12 -12
  269. package/lib/types/PropertyOfType.js +2 -2
  270. package/lib/types/RoleDescription.d.ts +4 -4
  271. package/lib/types/RoleDescription.js +2 -2
  272. package/lib/types/Search.d.ts +11 -11
  273. package/lib/types/Search.js +2 -2
  274. package/lib/types/SimpleLocation.d.ts +46 -46
  275. package/lib/types/SimpleLocation.js +2 -2
  276. package/lib/types/UniTime.d.ts +17 -17
  277. package/lib/types/UniTime.js +2 -2
  278. package/lib/types/User.d.ts +68 -68
  279. package/lib/types/User.js +2 -2
  280. package/lib/types/UserRole.d.ts +19 -19
  281. package/lib/types/UserRole.js +2 -2
  282. package/lib/types/index.d.ts +21 -21
  283. package/lib/types/index.js +33 -33
  284. package/lib/utils/baseActivity.d.ts +63 -63
  285. package/lib/utils/baseActivity.js +155 -155
  286. package/lib/utils/baseRole.d.ts +2 -2
  287. package/lib/utils/baseRole.js +38 -38
  288. package/lib/utils/collection.d.ts +43 -43
  289. package/lib/utils/collection.js +337 -337
  290. package/lib/utils/date.d.ts +162 -162
  291. package/lib/utils/date.js +401 -401
  292. package/lib/utils/domainIdentifier.d.ts +2 -2
  293. package/lib/utils/domainIdentifier.js +12 -12
  294. package/lib/utils/entityUserRole.d.ts +3 -3
  295. package/lib/utils/entityUserRole.js +7 -7
  296. package/lib/utils/externalGroup.d.ts +4 -4
  297. package/lib/utils/externalGroup.js +32 -32
  298. package/lib/utils/externalProviders.d.ts +2 -2
  299. package/lib/utils/externalProviders.js +11 -11
  300. package/lib/utils/externalTerms.d.ts +2 -2
  301. package/lib/utils/externalTerms.js +10 -10
  302. package/lib/utils/group.d.ts +15 -15
  303. package/lib/utils/group.js +15 -15
  304. package/lib/utils/groupDates.d.ts +9 -9
  305. package/lib/utils/groupDates.js +52 -52
  306. package/lib/utils/groupRoles.d.ts +8 -8
  307. package/lib/utils/groupRoles.js +42 -42
  308. package/lib/utils/logger.d.ts +10 -10
  309. package/lib/utils/logger.js +34 -34
  310. package/lib/utils/lti.d.ts +3 -3
  311. package/lib/utils/lti.js +9 -9
  312. package/lib/utils/model.d.ts +15 -15
  313. package/lib/utils/model.js +58 -58
  314. package/lib/utils/number.d.ts +13 -13
  315. package/lib/utils/number.js +32 -32
  316. package/lib/utils/promise.d.ts +5 -5
  317. package/lib/utils/promise.js +17 -17
  318. package/lib/utils/route.d.ts +5 -5
  319. package/lib/utils/route.js +69 -69
  320. package/lib/utils/shard.d.ts +3 -3
  321. package/lib/utils/shard.js +45 -45
  322. package/lib/utils/sort.d.ts +11 -11
  323. package/lib/utils/sort.js +69 -69
  324. package/lib/utils/string.d.ts +2 -2
  325. package/lib/utils/string.js +16 -16
  326. package/lib/utils/timezone.d.ts +2 -2
  327. package/lib/utils/timezone.js +32 -32
  328. package/lib/utils/url.d.ts +23 -23
  329. package/lib/utils/url.js +163 -163
  330. package/lib/utils/user.d.ts +8 -8
  331. package/lib/utils/user.js +73 -73
  332. package/lib/utils/userRole.d.ts +21 -21
  333. package/lib/utils/userRole.js +48 -48
  334. package/package.json +192 -192
@@ -1,135 +1,135 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
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;
37
- });
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 __importDefault = (this && this.__importDefault) || function (mod) {
46
- return (mod && mod.__esModule) ? mod : { "default": mod };
47
- };
48
- Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.setupAccessibleComponent = void 0;
50
- var react_1 = __importStar(require("react"));
51
- var react_router_dom_1 = require("react-router-dom");
52
- var configuration_1 = require("../../constants/configuration");
53
- var documentService_1 = __importDefault(require("../../services/documentService"));
54
- function setupAccessibleComponent(WrappedComponent) {
55
- return /** @class */ (function (_super) {
56
- __extends(AccessibleComponent, _super);
57
- function AccessibleComponent(props) {
58
- var _this = _super.call(this, props) || this;
59
- _this.resetFocusIgnorePatterns = [
60
- /\/help\/scoring-docs(\/.+)?$/,
61
- /\/courses\/\d+\/groupAssignments\/\d+\/scores(\/.+)?$/
62
- ];
63
- _this.onTitleChange = function (mutations) {
64
- var appName = configuration_1.getAppConfig().APP_NAME;
65
- // Only change the title when we have more than the default appName added to it.
66
- if (!!mutations[0] && !!mutations[0].target.textContent && mutations[0].target.textContent !== appName) {
67
- _this.setState({ title: mutations[0].target.textContent });
68
- }
69
- };
70
- _this.shouldResetFocus = function (oldPath, newPath) {
71
- // Path is the same or either parameter is not a path
72
- if (!newPath || !oldPath || oldPath === newPath) {
73
- return false;
74
- }
75
- for (var _i = 0, _a = _this.resetFocusIgnorePatterns; _i < _a.length; _i++) {
76
- var route = _a[_i];
77
- if (route.test(oldPath) && route.test(newPath)) {
78
- // Both paths are sub-paths in the same page
79
- return false;
80
- }
81
- }
82
- // Paths are different and not in the same page
83
- return true;
84
- };
85
- _this.root = react_1.default.createRef();
86
- _this.titleObserver = new MutationObserver(_this.onTitleChange);
87
- _this.state = {
88
- title: undefined
89
- };
90
- return _this;
91
- }
92
- AccessibleComponent.prototype.componentDidMount = function () {
93
- var titleElement = document.querySelector('title');
94
- if (titleElement) {
95
- this.titleObserver.observe(titleElement, {
96
- subtree: true,
97
- characterData: true,
98
- childList: true
99
- });
100
- }
101
- };
102
- AccessibleComponent.prototype.componentWillUnmount = function () {
103
- this.titleObserver.disconnect();
104
- };
105
- AccessibleComponent.prototype.componentDidUpdate = function (prevProps) {
106
- // Do not reset focus if the new route matches the same router path
107
- if (this.shouldResetFocus(prevProps.location.pathname, this.props.location.pathname)) {
108
- if (!!this.root && !!this.root.current) {
109
- documentService_1.default.setActiveDocument(this.root.current);
110
- }
111
- }
112
- };
113
- AccessibleComponent.prototype.render = function () {
114
- var title = this.state.title;
115
- return (react_1.default.createElement(react_1.default.Fragment, null,
116
- react_1.default.createElement("span", { className: "clip accessible-title", "aria-live": "polite", "aria-atomic": "true" }, title),
117
- react_1.default.createElement("div", { className: "outline-0 app-root", ref: this.root, tabIndex: -1 },
118
- react_1.default.createElement(WrappedComponent, __assign({}, this.props)))));
119
- };
120
- return AccessibleComponent;
121
- }(react_1.Component));
122
- }
123
- exports.setupAccessibleComponent = setupAccessibleComponent;
124
- /**
125
- * Wrap around the main application to add support for resetting focus on page changes
126
- * and reading title changes to screen reader users
127
- *
128
- * @param WrappedComponent - The root of your application UI components
129
- */
130
- function accessibleAppComponent(WrappedComponent) {
131
- var component = setupAccessibleComponent(WrappedComponent);
132
- // @ts-ignore: could not match inferred type from the HOC
133
- return react_router_dom_1.withRouter(component);
134
- }
135
- exports.default = accessibleAppComponent;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
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;
37
+ });
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 __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.setupAccessibleComponent = void 0;
50
+ var react_1 = __importStar(require("react"));
51
+ var react_router_dom_1 = require("react-router-dom");
52
+ var configuration_1 = require("../../constants/configuration");
53
+ var documentService_1 = __importDefault(require("../../services/documentService"));
54
+ function setupAccessibleComponent(WrappedComponent) {
55
+ return /** @class */ (function (_super) {
56
+ __extends(AccessibleComponent, _super);
57
+ function AccessibleComponent(props) {
58
+ var _this = _super.call(this, props) || this;
59
+ _this.resetFocusIgnorePatterns = [
60
+ /\/help\/scoring-docs(\/.+)?$/,
61
+ /\/courses\/\d+\/groupAssignments\/\d+\/scores(\/.+)?$/
62
+ ];
63
+ _this.onTitleChange = function (mutations) {
64
+ var appName = configuration_1.getAppConfig().APP_NAME;
65
+ // Only change the title when we have more than the default appName added to it.
66
+ if (!!mutations[0] && !!mutations[0].target.textContent && mutations[0].target.textContent !== appName) {
67
+ _this.setState({ title: mutations[0].target.textContent });
68
+ }
69
+ };
70
+ _this.shouldResetFocus = function (oldPath, newPath) {
71
+ // Path is the same or either parameter is not a path
72
+ if (!newPath || !oldPath || oldPath === newPath) {
73
+ return false;
74
+ }
75
+ for (var _i = 0, _a = _this.resetFocusIgnorePatterns; _i < _a.length; _i++) {
76
+ var route = _a[_i];
77
+ if (route.test(oldPath) && route.test(newPath)) {
78
+ // Both paths are sub-paths in the same page
79
+ return false;
80
+ }
81
+ }
82
+ // Paths are different and not in the same page
83
+ return true;
84
+ };
85
+ _this.root = react_1.default.createRef();
86
+ _this.titleObserver = new MutationObserver(_this.onTitleChange);
87
+ _this.state = {
88
+ title: undefined
89
+ };
90
+ return _this;
91
+ }
92
+ AccessibleComponent.prototype.componentDidMount = function () {
93
+ var titleElement = document.querySelector('title');
94
+ if (titleElement) {
95
+ this.titleObserver.observe(titleElement, {
96
+ subtree: true,
97
+ characterData: true,
98
+ childList: true
99
+ });
100
+ }
101
+ };
102
+ AccessibleComponent.prototype.componentWillUnmount = function () {
103
+ this.titleObserver.disconnect();
104
+ };
105
+ AccessibleComponent.prototype.componentDidUpdate = function (prevProps) {
106
+ // Do not reset focus if the new route matches the same router path
107
+ if (this.shouldResetFocus(prevProps.location.pathname, this.props.location.pathname)) {
108
+ if (!!this.root && !!this.root.current) {
109
+ documentService_1.default.setActiveDocument(this.root.current);
110
+ }
111
+ }
112
+ };
113
+ AccessibleComponent.prototype.render = function () {
114
+ var title = this.state.title;
115
+ return (react_1.default.createElement(react_1.default.Fragment, null,
116
+ react_1.default.createElement("span", { className: "clip accessible-title", "aria-live": "polite", "aria-atomic": "true" }, title),
117
+ react_1.default.createElement("div", { className: "outline-0 app-root", ref: this.root, tabIndex: -1 },
118
+ react_1.default.createElement(WrappedComponent, __assign({}, this.props)))));
119
+ };
120
+ return AccessibleComponent;
121
+ }(react_1.Component));
122
+ }
123
+ exports.setupAccessibleComponent = setupAccessibleComponent;
124
+ /**
125
+ * Wrap around the main application to add support for resetting focus on page changes
126
+ * and reading title changes to screen reader users
127
+ *
128
+ * @param WrappedComponent - The root of your application UI components
129
+ */
130
+ function accessibleAppComponent(WrappedComponent) {
131
+ var component = setupAccessibleComponent(WrappedComponent);
132
+ // @ts-ignore: could not match inferred type from the HOC
133
+ return react_router_dom_1.withRouter(component);
134
+ }
135
+ exports.default = accessibleAppComponent;
@@ -1,105 +1,105 @@
1
- import React, { ComponentClass, ComponentType } from 'react';
2
- import { Model } from 'studiokit-net-js';
3
- import { BaseReduxState, OptionalRecord } from '../../types';
4
- import { ActivityOptions } from '../../utils/baseActivity';
5
- export interface ActivityRequiredStateProps {
6
- hasAccess: boolean;
7
- }
8
- export declare const configureActivityRequiredComponent: <TOwnProps extends {}>(WrappedComponent: React.ComponentType<TOwnProps>) => {
9
- new (props: (TOwnProps & ActivityRequiredStateProps) | Readonly<TOwnProps & ActivityRequiredStateProps>): {
10
- render(): JSX.Element;
11
- context: any;
12
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
13
- forceUpdate(callback?: (() => void) | undefined): void;
14
- readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
15
- children?: React.ReactNode;
16
- }>;
17
- state: Readonly<{}>;
18
- refs: {
19
- [key: string]: React.ReactInstance;
20
- };
21
- componentDidMount?(): void;
22
- shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
23
- componentWillUnmount?(): void;
24
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
25
- getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
26
- componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
27
- componentWillMount?(): void;
28
- UNSAFE_componentWillMount?(): void;
29
- componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
30
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
31
- componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
32
- UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
33
- };
34
- new (props: TOwnProps & ActivityRequiredStateProps, context: any): {
35
- render(): JSX.Element;
36
- context: any;
37
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
38
- forceUpdate(callback?: (() => void) | undefined): void;
39
- readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
40
- children?: React.ReactNode;
41
- }>;
42
- state: Readonly<{}>;
43
- refs: {
44
- [key: string]: React.ReactInstance;
45
- };
46
- componentDidMount?(): void;
47
- shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
48
- componentWillUnmount?(): void;
49
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
50
- getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
51
- componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
52
- componentWillMount?(): void;
53
- UNSAFE_componentWillMount?(): void;
54
- componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
55
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
56
- componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
57
- UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
58
- };
59
- contextType?: React.Context<any> | undefined;
60
- };
61
- /**
62
- * Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
63
- * checking whether the user has the passed `requiredActivity`
64
- *
65
- * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
66
- * userInfo object
67
- * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
68
- * @param {string} modelsProperty The property used to locate the entity or entities needed for entity-level
69
- * activity grants
70
- */
71
- export declare const configureMapStateToProps: <TOwnProps extends {}>(accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, modelsProperty?: string | undefined) => (state: BaseReduxState, ownProps?: TOwnProps | undefined) => ActivityRequiredStateProps;
72
- /**
73
- * This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
74
- *
75
- * Typically this component is used by passing one of the functions in utils/activities as the
76
- * `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
77
- *
78
- * If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
79
- * parameter. It can be ignored if not needed by the lambda.
80
- *
81
- * @param {Component} WrappedComponent The component which requires activity/activities in order to render
82
- * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
83
- * userInfo object
84
- * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
85
- *
86
- */
87
- export default function activityRequiredComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string): ComponentClass<TOwnProps>;
88
- /**
89
- * This HOC ensures that the wrapped component is rendered iff the predicate provided is satisfied.
90
- *
91
- * Typically this component is used by passing one of the functions in utils/activities as the
92
- * `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
93
- *
94
- * If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
95
- * and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
96
- *
97
- * @param {Component} WrappedComponent The component which requires activity/activities in order to render
98
- * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
99
- * userInfo object
100
- * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
101
- * @param {string} modelsProperty The property used to locate the entity or entities needed for entity-level
102
- * activity grants
103
- *
104
- */
105
- export default function activityRequiredComponent<TOwnProps extends {}, TPropName extends string>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string, modelsProperty: TPropName): ComponentClass<TOwnProps & OptionalRecord<TPropName, Model>>;
1
+ import React, { ComponentClass, ComponentType } from 'react';
2
+ import { Model } from 'studiokit-net-js';
3
+ import { BaseReduxState, OptionalRecord } from '../../types';
4
+ import { ActivityOptions } from '../../utils/baseActivity';
5
+ export interface ActivityRequiredStateProps {
6
+ hasAccess: boolean;
7
+ }
8
+ export declare const configureActivityRequiredComponent: <TOwnProps extends {}>(WrappedComponent: React.ComponentType<TOwnProps>) => {
9
+ new (props: (TOwnProps & ActivityRequiredStateProps) | Readonly<TOwnProps & ActivityRequiredStateProps>): {
10
+ render(): JSX.Element;
11
+ context: any;
12
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
13
+ forceUpdate(callback?: (() => void) | undefined): void;
14
+ readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
15
+ children?: React.ReactNode;
16
+ }>;
17
+ state: Readonly<{}>;
18
+ refs: {
19
+ [key: string]: React.ReactInstance;
20
+ };
21
+ componentDidMount?(): void;
22
+ shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
23
+ componentWillUnmount?(): void;
24
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
25
+ getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
26
+ componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
27
+ componentWillMount?(): void;
28
+ UNSAFE_componentWillMount?(): void;
29
+ componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
30
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
31
+ componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
32
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
33
+ };
34
+ new (props: TOwnProps & ActivityRequiredStateProps, context: any): {
35
+ render(): JSX.Element;
36
+ context: any;
37
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<TOwnProps & ActivityRequiredStateProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
38
+ forceUpdate(callback?: (() => void) | undefined): void;
39
+ readonly props: Readonly<TOwnProps & ActivityRequiredStateProps> & Readonly<{
40
+ children?: React.ReactNode;
41
+ }>;
42
+ state: Readonly<{}>;
43
+ refs: {
44
+ [key: string]: React.ReactInstance;
45
+ };
46
+ componentDidMount?(): void;
47
+ shouldComponentUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): boolean;
48
+ componentWillUnmount?(): void;
49
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
50
+ getSnapshotBeforeUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>): any;
51
+ componentDidUpdate?(prevProps: Readonly<TOwnProps & ActivityRequiredStateProps>, prevState: Readonly<{}>, snapshot?: any): void;
52
+ componentWillMount?(): void;
53
+ UNSAFE_componentWillMount?(): void;
54
+ componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
55
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextContext: any): void;
56
+ componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
57
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<TOwnProps & ActivityRequiredStateProps>, nextState: Readonly<{}>, nextContext: any): void;
58
+ };
59
+ contextType?: React.Context<any> | undefined;
60
+ };
61
+ /**
62
+ * Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
63
+ * checking whether the user has the passed `requiredActivity`
64
+ *
65
+ * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
66
+ * userInfo object
67
+ * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
68
+ * @param {string} modelsProperty The property used to locate the entity or entities needed for entity-level
69
+ * activity grants
70
+ */
71
+ export declare const configureMapStateToProps: <TOwnProps extends {}>(accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, modelsProperty?: string | undefined) => (state: BaseReduxState, ownProps?: TOwnProps | undefined) => ActivityRequiredStateProps;
72
+ /**
73
+ * This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
74
+ *
75
+ * Typically this component is used by passing one of the functions in utils/activities as the
76
+ * `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
77
+ *
78
+ * If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
79
+ * parameter. It can be ignored if not needed by the lambda.
80
+ *
81
+ * @param {Component} WrappedComponent The component which requires activity/activities in order to render
82
+ * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
83
+ * userInfo object
84
+ * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
85
+ *
86
+ */
87
+ export default function activityRequiredComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string): ComponentClass<TOwnProps>;
88
+ /**
89
+ * This HOC ensures that the wrapped component is rendered iff the predicate provided is satisfied.
90
+ *
91
+ * Typically this component is used by passing one of the functions in utils/activities as the
92
+ * `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
93
+ *
94
+ * If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
95
+ * and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
96
+ *
97
+ * @param {Component} WrappedComponent The component which requires activity/activities in order to render
98
+ * @param {function} accessPredicate A predicate accepting a required activity and an optional entity and/or
99
+ * userInfo object
100
+ * @param {string} requiredActivity The required activity which is passed to the predicate for evaluation
101
+ * @param {string} modelsProperty The property used to locate the entity or entities needed for entity-level
102
+ * activity grants
103
+ *
104
+ */
105
+ export default function activityRequiredComponent<TOwnProps extends {}, TPropName extends string>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string, modelsProperty: TPropName): ComponentClass<TOwnProps & OptionalRecord<TPropName, Model>>;