studiokit-scaffolding-js 7.0.12-next.2.9 → 7.0.13-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.d.ts +2 -2
  4. package/lib/components/ActionList.js +87 -166
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +18 -133
  7. package/lib/components/AlertWithIcon.js +52 -93
  8. package/lib/components/ConnectedModal.d.ts +2 -1
  9. package/lib/components/ConnectedModal.js +37 -43
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +82 -69
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +111 -99
  14. package/lib/components/Dropdowns/UserDropdown.js +70 -109
  15. package/lib/components/Dropdowns/index.js +11 -27
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +60 -52
  18. package/lib/components/Error.js +27 -107
  19. package/lib/components/ErrorBoundary.js +94 -133
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +14 -44
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +95 -63
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +108 -84
  26. package/lib/components/Forms/index.js +13 -27
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +14 -102
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +7 -6
  30. package/lib/components/Groups/ExternalGroups/Attach.js +188 -213
  31. package/lib/components/Groups/ExternalGroups/Table.js +76 -183
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -5
  33. package/lib/components/Groups/RosterSyncInfo.js +49 -140
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +124 -101
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +107 -93
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +129 -53
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +96 -59
  42. package/lib/components/HOC/CollectionComponent.d.ts +12 -12
  43. package/lib/components/HOC/CollectionComponent.js +171 -171
  44. package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
  45. package/lib/components/HOC/CollectionFirstItemComponent.js +94 -52
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +168 -169
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +140 -110
  50. package/lib/components/HOC/DataDependentComponent.d.ts +55 -3
  51. package/lib/components/HOC/DataDependentComponent.js +79 -30
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +112 -74
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +185 -165
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +47 -48
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +68 -29
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +29 -28
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +65 -42
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +94 -51
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +216 -243
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +82 -37
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +11 -12
  70. package/lib/components/Icons/IconAlphaList.js +20 -34
  71. package/lib/components/Icons/IconExternalUser.js +20 -34
  72. package/lib/components/Icons/IconImpersonation.js +20 -34
  73. package/lib/components/Icons/IconStopImpersonating.js +20 -34
  74. package/lib/components/Icons/IconTable.js +21 -35
  75. package/lib/components/Icons/IconTableDeleteCol.js +20 -34
  76. package/lib/components/Icons/IconTableDeleteRow.js +20 -34
  77. package/lib/components/Icons/IconTableInsertCol.js +20 -34
  78. package/lib/components/Icons/IconTableInsertRow.js +20 -34
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +56 -76
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +53 -76
  83. package/lib/components/Impersonation/UserDetail.css +22 -22
  84. package/lib/components/Impersonation/UserDetail.d.ts +2 -2
  85. package/lib/components/Impersonation/UserDetail.js +17 -66
  86. package/lib/components/Loading.js +21 -27
  87. package/lib/components/LockDownBrowser/Check.js +107 -194
  88. package/lib/components/LockDownBrowser/ExitButton.js +14 -27
  89. package/lib/components/LockDownBrowser/Launch.js +85 -70
  90. package/lib/components/Lti/Confirm.js +33 -152
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +2 -4
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +78 -170
  93. package/lib/components/Lti/Launch.js +49 -105
  94. package/lib/components/Lti/LaunchGroup.js +39 -85
  95. package/lib/components/ManageTable.d.ts +2 -1
  96. package/lib/components/ManageTable.js +104 -309
  97. package/lib/components/ManageTableNoDataComponent.js +22 -42
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +91 -82
  100. package/lib/components/NotFound.js +28 -87
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +169 -187
  103. package/lib/components/PaginationNextButton.js +21 -33
  104. package/lib/components/PaginationPreviousButton.js +21 -33
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +257 -432
  107. package/lib/components/Quill/Formats/Image.d.ts +25 -10
  108. package/lib/components/Quill/Formats/Image.js +86 -80
  109. package/lib/components/Quill/Formats/List.d.ts +3 -6
  110. package/lib/components/Quill/Formats/List.js +74 -52
  111. package/lib/components/Quill/Formats/Video.d.ts +1 -2
  112. package/lib/components/Quill/Formats/Video.js +45 -31
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +122 -149
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +32 -45
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +1 -0
  118. package/lib/components/Quill/ImageWithAltTextModal.js +141 -425
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +51 -43
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +44 -35
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +1 -2
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +121 -105
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +66 -53
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +67 -54
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +241 -225
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +99 -82
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +87 -76
  131. package/lib/components/Quill/TableModule/constants.js +41 -45
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +5 -14
  134. package/lib/components/Quill/TableModule/index.js +313 -373
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +1 -0
  137. package/lib/components/Quill/accessibilityFix.js +251 -235
  138. package/lib/components/Quill/index.js +32 -36
  139. package/lib/components/RefreshIndicator/Bordered.js +32 -48
  140. package/lib/components/RefreshIndicator/Inline.js +33 -48
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +113 -263
  143. package/lib/components/SearchControls.js +31 -216
  144. package/lib/components/SentryRoute.js +23 -10
  145. package/lib/components/Tables/RoleFilter.d.ts +4 -3
  146. package/lib/components/Tables/RoleFilter.js +46 -71
  147. package/lib/components/Tables/TextFilter.d.ts +3 -2
  148. package/lib/components/Tables/TextFilter.js +20 -62
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +161 -199
  151. package/lib/components/UserRoles/Context.js +9 -11
  152. package/lib/components/UserRoles/RoleCell.js +100 -180
  153. package/lib/components/UserRoles/Select.js +54 -157
  154. package/lib/components/UserRoles/Table.js +102 -221
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +466 -537
  157. package/lib/config/eslint/index.cjs +21 -0
  158. package/lib/config/eslint/lib/order.cjs +22 -0
  159. package/lib/config/eslint/lib/prettier.cjs +18 -0
  160. package/lib/config/eslint/lib/typescript.cjs +86 -0
  161. package/lib/config/eslint/react.cjs +9 -0
  162. package/lib/constants/baseActivity.js +26 -30
  163. package/lib/constants/baseRole.js +10 -14
  164. package/lib/constants/configuration.d.ts +1 -1
  165. package/lib/constants/configuration.js +39 -43
  166. package/lib/constants/externalProviderType.js +6 -10
  167. package/lib/constants/fetchErrorData.js +11 -15
  168. package/lib/constants/index.js +23 -137
  169. package/lib/constants/lockDownBrowser.js +24 -28
  170. package/lib/constants/mockData.d.ts +6 -4
  171. package/lib/constants/mockData.js +326 -385
  172. package/lib/constants/modelStatus.js +11 -15
  173. package/lib/constants/notificationType.js +8 -12
  174. package/lib/constants/operatingSystem.js +8 -12
  175. package/lib/constants/shard.js +7 -11
  176. package/lib/constants/table.js +21 -21
  177. package/lib/constants/tier.js +8 -12
  178. package/lib/constants/userRole.d.ts +2 -1
  179. package/lib/constants/userRole.js +17 -15
  180. package/lib/css/base/_base.css +98 -98
  181. package/lib/css/base/_typography.css +130 -130
  182. package/lib/css/components/_alert.css +86 -86
  183. package/lib/css/components/_bootstrap-grid.css +28 -28
  184. package/lib/css/components/_buttons.css +397 -397
  185. package/lib/css/components/_forms.css +101 -101
  186. package/lib/css/components/_menu.css +56 -56
  187. package/lib/css/components/_modals.css +46 -46
  188. package/lib/css/components/_quill.css +315 -315
  189. package/lib/css/components/_tables.css +497 -497
  190. package/lib/css/components/_tags.css +12 -12
  191. package/lib/css/index-with-variables.css +15 -15
  192. package/lib/css/index.css +14 -14
  193. package/lib/css/utils/_border.css +463 -463
  194. package/lib/css/utils/_color.css +317 -317
  195. package/lib/css/utils/_display.css +312 -305
  196. package/lib/css/utils/_general.css +48 -48
  197. package/lib/css/utils/_icon.css +16 -16
  198. package/lib/css/utils/_text.css +24 -25
  199. package/lib/css/utils/_width.css +60 -60
  200. package/lib/css/variables.css +84 -84
  201. package/lib/endpointMappings.js +193 -197
  202. package/lib/hooks/useCollection.js +65 -83
  203. package/lib/hooks/useCollectionConfiguration.d.ts +1 -0
  204. package/lib/hooks/useCollectionConfiguration.js +88 -185
  205. package/lib/hooks/useCollectionItem.js +58 -155
  206. package/lib/hooks/useGuid.js +10 -21
  207. package/lib/hooks/usePrevious.d.ts +1 -24
  208. package/lib/hooks/usePrevious.js +14 -84
  209. package/lib/index.js +36 -156
  210. package/lib/redux/actionCreator.d.ts +6 -6
  211. package/lib/redux/actionCreator.js +40 -51
  212. package/lib/redux/actions/AuthAction.js +31 -44
  213. package/lib/redux/actions/ModalAction.d.ts +1 -1
  214. package/lib/redux/actions/ModalAction.js +6 -10
  215. package/lib/redux/actions/ModelAction.d.ts +1 -1
  216. package/lib/redux/actions/ModelAction.js +49 -77
  217. package/lib/redux/actions/NotificationAction.js +6 -10
  218. package/lib/redux/actions/SearchAction.js +5 -9
  219. package/lib/redux/actions/index.js +16 -60
  220. package/lib/redux/configureReducers.d.ts +5 -2
  221. package/lib/redux/configureReducers.js +78 -67
  222. package/lib/redux/configureStore.d.ts +2 -2
  223. package/lib/redux/configureStore.js +115 -83
  224. package/lib/redux/helpers.js +2 -7
  225. package/lib/redux/reducers/authReducer.js +46 -52
  226. package/lib/redux/reducers/index.js +15 -41
  227. package/lib/redux/reducers/modalsReducer.js +52 -49
  228. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  229. package/lib/redux/reducers/modelsReducer.js +182 -183
  230. package/lib/redux/reducers/notificationsReducer.js +21 -26
  231. package/lib/redux/reducers/searchReducer.js +20 -26
  232. package/lib/redux/sagas/appInsightsSaga.js +62 -24
  233. package/lib/redux/sagas/authSaga.js +414 -287
  234. package/lib/redux/sagas/caliperSaga.js +263 -169
  235. package/lib/redux/sagas/clockOffsetSaga.js +77 -36
  236. package/lib/redux/sagas/configurationSaga.js +46 -13
  237. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +1 -0
  238. package/lib/redux/sagas/downtimeApiErrorSaga.js +64 -23
  239. package/lib/redux/sagas/errorSaga.d.ts +1 -0
  240. package/lib/redux/sagas/errorSaga.js +63 -29
  241. package/lib/redux/sagas/googleAnalyticsSaga.js +69 -29
  242. package/lib/redux/sagas/identityProviderSaga.js +69 -24
  243. package/lib/redux/sagas/initialDataLoadSaga.js +29 -38
  244. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +1 -0
  245. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +81 -32
  246. package/lib/redux/sagas/modelFetchSaga.js +459 -379
  247. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  248. package/lib/redux/sagas/noStoreSaga.js +101 -68
  249. package/lib/redux/sagas/postLoginDataSaga.js +79 -47
  250. package/lib/redux/sagas/postLoginRedirectSaga.js +71 -30
  251. package/lib/redux/sagas/rootSaga.js +137 -85
  252. package/lib/redux/sagas/sentrySaga.js +85 -29
  253. package/lib/redux/sagas/userIdSaga.js +54 -18
  254. package/lib/services/codeProviderService.js +29 -25
  255. package/lib/services/dateService.js +12 -14
  256. package/lib/services/documentService.js +13 -18
  257. package/lib/services/fetchService.js +168 -134
  258. package/lib/services/persistenceService.d.ts +4 -4
  259. package/lib/services/persistenceService.js +43 -45
  260. package/lib/services/ticketProviderService.js +33 -29
  261. package/lib/services/tokenPersistenceService.js +9 -13
  262. package/lib/services/windowService.js +17 -21
  263. package/lib/startup.d.ts +1 -1
  264. package/lib/startup.js +135 -132
  265. package/lib/types/AppConfiguration.js +1 -5
  266. package/lib/types/Artifact.js +7 -11
  267. package/lib/types/BaseReduxState.js +1 -5
  268. package/lib/types/Client.js +1 -5
  269. package/lib/types/Collection.d.ts +3 -3
  270. package/lib/types/Collection.js +1 -5
  271. package/lib/types/Configuration.js +1 -5
  272. package/lib/types/DeepLinkingResponseRequest.js +1 -5
  273. package/lib/types/DeletableModel.js +1 -5
  274. package/lib/types/Event.js +1 -5
  275. package/lib/types/ExternalGroup.js +1 -5
  276. package/lib/types/ExternalProvider.js +1 -5
  277. package/lib/types/ExternalTerm.js +1 -5
  278. package/lib/types/Group.js +1 -5
  279. package/lib/types/IdentityProvider.js +1 -5
  280. package/lib/types/LtiLaunch.js +1 -5
  281. package/lib/types/NameOnlyEntity.js +1 -5
  282. package/lib/types/Notification.d.ts +2 -2
  283. package/lib/types/Notification.js +1 -5
  284. package/lib/types/OptionalRecord.d.ts +1 -1
  285. package/lib/types/OptionalRecord.js +1 -5
  286. package/lib/types/OwnerSchedule.d.ts +1 -3
  287. package/lib/types/OwnerSchedule.js +1 -5
  288. package/lib/types/PropertyOfType.d.ts +3 -3
  289. package/lib/types/PropertyOfType.js +1 -5
  290. package/lib/types/Quill.js +1 -5
  291. package/lib/types/RoleDescription.d.ts +1 -0
  292. package/lib/types/RoleDescription.js +1 -5
  293. package/lib/types/Search.js +1 -5
  294. package/lib/types/SimpleLocation.js +1 -5
  295. package/lib/types/UniTime.js +1 -5
  296. package/lib/types/User.js +1 -5
  297. package/lib/types/UserRole.js +1 -5
  298. package/lib/types/auth/AuthState.js +1 -5
  299. package/lib/types/auth/CasV1LoginRequestBody.js +1 -5
  300. package/lib/types/auth/ClientCredentials.js +1 -5
  301. package/lib/types/auth/CodeProviderService.js +1 -5
  302. package/lib/types/auth/LocalLoginRequestBody.js +1 -5
  303. package/lib/types/auth/TicketProviderService.js +1 -5
  304. package/lib/types/auth/TokenPersistenceService.js +1 -5
  305. package/lib/types/auth/index.js +18 -82
  306. package/lib/types/index.js +39 -313
  307. package/lib/types/net/EndpointConfig.js +1 -5
  308. package/lib/types/net/EndpointMapping.js +1 -5
  309. package/lib/types/net/EndpointMappings.js +1 -5
  310. package/lib/types/net/ErrorHandler.d.ts +1 -1
  311. package/lib/types/net/ErrorHandler.js +1 -5
  312. package/lib/types/net/FetchConfig.d.ts +1 -1
  313. package/lib/types/net/FetchConfig.js +1 -5
  314. package/lib/types/net/FetchErrorData.js +6 -10
  315. package/lib/types/net/FetchResult.d.ts +2 -2
  316. package/lib/types/net/FetchResult.js +1 -5
  317. package/lib/types/net/HTTPMethod.d.ts +1 -1
  318. package/lib/types/net/HTTPMethod.js +1 -5
  319. package/lib/types/net/HTTPStatusCode.js +12 -16
  320. package/lib/types/net/Metadata.js +1 -5
  321. package/lib/types/net/Model.js +1 -5
  322. package/lib/types/net/ModelCollection.js +1 -5
  323. package/lib/types/net/ModelsState.js +1 -5
  324. package/lib/types/net/OAuthToken.js +1 -5
  325. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  326. package/lib/types/net/OAuthTokenOrNull.js +1 -5
  327. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  328. package/lib/types/net/TokenAccessFunction.js +1 -5
  329. package/lib/types/net/index.js +27 -181
  330. package/lib/utils/baseActivity.d.ts +2 -2
  331. package/lib/utils/baseActivity.js +136 -138
  332. package/lib/utils/baseRole.js +33 -37
  333. package/lib/utils/collection.js +310 -432
  334. package/lib/utils/cookies.js +37 -22
  335. package/lib/utils/date.js +320 -320
  336. package/lib/utils/dom.js +174 -186
  337. package/lib/utils/domainIdentifier.js +9 -9
  338. package/lib/utils/entityUserRole.js +2 -6
  339. package/lib/utils/error.d.ts +1 -1
  340. package/lib/utils/error.js +16 -18
  341. package/lib/utils/events.js +33 -40
  342. package/lib/utils/externalGroup.js +21 -25
  343. package/lib/utils/externalProviders.js +4 -8
  344. package/lib/utils/externalTerms.js +6 -9
  345. package/lib/utils/fetch.d.ts +1 -1
  346. package/lib/utils/fetch.js +185 -188
  347. package/lib/utils/group.js +9 -17
  348. package/lib/utils/groupDates.d.ts +1 -1
  349. package/lib/utils/groupDates.js +39 -43
  350. package/lib/utils/groupRoles.js +28 -28
  351. package/lib/utils/lockDownBrowser.js +12 -16
  352. package/lib/utils/logger.js +25 -30
  353. package/lib/utils/lti.js +5 -10
  354. package/lib/utils/model.d.ts +2 -2
  355. package/lib/utils/model.js +48 -39
  356. package/lib/utils/number.js +26 -23
  357. package/lib/utils/promise.d.ts +1 -6
  358. package/lib/utils/promise.js +15 -34
  359. package/lib/utils/quill.js +77 -66
  360. package/lib/utils/route.d.ts +2 -2
  361. package/lib/utils/route.js +60 -61
  362. package/lib/utils/search.d.ts +1 -1
  363. package/lib/utils/search.js +85 -78
  364. package/lib/utils/shard.js +41 -38
  365. package/lib/utils/sort.d.ts +3 -3
  366. package/lib/utils/sort.js +58 -62
  367. package/lib/utils/string.js +10 -14
  368. package/lib/utils/table.d.ts +3 -3
  369. package/lib/utils/table.js +36 -39
  370. package/lib/utils/timezone.js +26 -12
  371. package/lib/utils/url.d.ts +1 -2
  372. package/lib/utils/url.js +201 -146
  373. package/lib/utils/user.js +61 -59
  374. package/lib/utils/userAgent.js +11 -11
  375. package/lib/utils/userRole.d.ts +3 -3
  376. package/lib/utils/userRole.js +56 -58
  377. package/package.json +207 -226
  378. package/lib/config/eslint/index.d.ts +0 -2
  379. package/lib/config/eslint/index.js +0 -36
  380. package/lib/config/eslint/lib/order.d.ts +0 -3
  381. package/lib/config/eslint/lib/order.js +0 -30
  382. package/lib/config/eslint/lib/prettier.d.ts +0 -3
  383. package/lib/config/eslint/lib/prettier.js +0 -23
  384. package/lib/config/eslint/lib/typescript.d.ts +0 -2
  385. package/lib/config/eslint/lib/typescript.js +0 -98
  386. package/lib/config/eslint/react.d.ts +0 -2
  387. package/lib/config/eslint/react.js +0 -30
  388. package/lib/hooks/useEventCalback.d.ts +0 -14
  389. package/lib/hooks/useEventCalback.js +0 -51
  390. package/lib/types/externals.d.js +0 -2
@@ -1,228 +1,109 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
6
13
  });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
7
25
  exports.UserRolesTable = void 0;
8
- var _reactCompilerRuntime = require("react-compiler-runtime");
9
- var _lodash = require("lodash");
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _reactTable = _interopRequireDefault(require("react-table"));
12
- var _userRole = require("../../utils/userRole");
13
- var _RoleFilter = require("../Tables/RoleFilter");
14
- var _TextFilter = require("../Tables/TextFilter");
15
- var _Context = require("./Context");
16
- var _RoleCell = require("./RoleCell");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- 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); }
19
- const UserRolesTableComponent = t0 => {
20
- const $ = (0, _reactCompilerRuntime.c)(30);
21
- const {
22
- id,
23
- users
24
- } = t0;
25
- const {
26
- roles,
27
- requiredRole,
28
- textForRole
29
- } = (0, _react.useContext)(_Context.UserRolesContext);
30
- let columns;
31
- if ($[0] !== requiredRole || $[1] !== roles || $[2] !== textForRole || $[3] !== users) {
32
- const hasExternal = users.some(_temp2);
33
- let t1;
34
- let t2;
35
- let t3;
36
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
37
- t1 = {
38
- Header: "First Name",
39
- accessor: "firstName",
40
- filterMethod: _TextFilter.textFilterMethod,
41
- Filter: _TextFilter.TextFilter
42
- };
43
- t2 = {
44
- Header: "Last Name",
45
- accessor: "lastName",
46
- filterMethod: _TextFilter.textFilterMethod,
47
- Filter: _TextFilter.TextFilter
48
- };
49
- t3 = {
50
- Header: "Email",
51
- accessor: "email",
52
- filterMethod: _TextFilter.textFilterMethod,
53
- Filter: _TextFilter.TextFilter
54
- };
55
- $[5] = t1;
56
- $[6] = t2;
57
- $[7] = t3;
58
- } else {
59
- t1 = $[5];
60
- t2 = $[6];
61
- t3 = $[7];
62
- }
63
- columns = [t1, t2, t3];
64
- if (roles.length > 0) {
65
- let t4;
66
- if ($[8] !== requiredRole || $[9] !== users) {
67
- t4 = cell => {
68
- const user = cell.value;
69
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RoleCell.RoleCell, {
70
- user: user,
71
- requiredRoleCount: requiredRole ? users.filter(u_0 => u_0.roles.some(r_1 => r_1.role === requiredRole)).length : undefined
72
- });
73
- };
74
- $[8] = requiredRole;
75
- $[9] = users;
76
- $[10] = t4;
77
- } else {
78
- t4 = $[10];
79
- }
80
- const t5 = (0, _RoleFilter.RoleFilter)(roles, textForRole, hasExternal);
81
- let t6;
82
- if ($[11] !== roles) {
83
- t6 = (0, _userRole.sortByHighestAccessRole)(roles);
84
- $[11] = roles;
85
- $[12] = t6;
86
- } else {
87
- t6 = $[12];
88
- }
89
- let t7;
90
- if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
91
- t7 = {
92
- padding: "4px"
93
- };
94
- $[13] = t7;
95
- } else {
96
- t7 = $[13];
97
- }
98
- columns.push({
99
- id: "role",
100
- Header: "Role",
101
- accessor: _temp3,
102
- Cell: t4,
103
- filterMethod: _RoleFilter.roleFilterMethod,
104
- Filter: t5,
105
- sortMethod: t6,
106
- style: t7
107
- });
108
- }
109
- $[0] = requiredRole;
110
- $[1] = roles;
111
- $[2] = textForRole;
112
- $[3] = users;
113
- $[4] = columns;
114
- } else {
115
- columns = $[4];
116
- }
117
- const [usersState, setUsersState] = (0, _react.useState)(users);
118
- const [roleFilter, setRoleFilter] = (0, _react.useState)();
119
- let t1;
120
- if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
121
- t1 = newFiltering => {
122
- const newRoleFilter = newFiltering.find(_temp4);
123
- setRoleFilter(newRoleFilter);
124
- };
125
- $[14] = t1;
126
- } else {
127
- t1 = $[14];
128
- }
129
- const onFilteredChange = t1;
130
- let t2;
131
- let t3;
132
- if ($[15] !== roleFilter || $[16] !== users || $[17] !== usersState) {
133
- t2 = () => {
134
- let usersToDisplay = users;
135
- if (roleFilter) {
136
- usersToDisplay = users.map(u_1 => {
137
- const newUser = (0, _lodash.merge)({}, u_1);
138
- newUser.roles = u_1.roles.filter(r_2 => (0, _RoleFilter.roleUserRoleFilterMethod)(roleFilter, r_2));
139
- return newUser;
26
+ var lodash_1 = require("lodash");
27
+ var react_1 = __importStar(require("react"));
28
+ var react_table_1 = __importDefault(require("react-table"));
29
+ var userRole_1 = require("../../utils/userRole");
30
+ var RoleFilter_1 = require("../Tables/RoleFilter");
31
+ var TextFilter_1 = require("../Tables/TextFilter");
32
+ var Context_1 = require("./Context");
33
+ var RoleCell_1 = require("./RoleCell");
34
+ var UserRolesTableComponent = function (_a) {
35
+ var id = _a.id, users = _a.users;
36
+ var _b = react_1.useContext(Context_1.UserRolesContext), roles = _b.roles, requiredRole = _b.requiredRole, textForRole = _b.textForRole;
37
+ var hasExternal = users.some(function (r) { return r.roles.some(function (r) { return userRole_1.isExternal(r); }); });
38
+ var columns = [
39
+ {
40
+ Header: 'First Name',
41
+ accessor: 'firstName',
42
+ filterMethod: TextFilter_1.textFilterMethod,
43
+ Filter: TextFilter_1.TextFilter
44
+ },
45
+ {
46
+ Header: 'Last Name',
47
+ accessor: 'lastName',
48
+ filterMethod: TextFilter_1.textFilterMethod,
49
+ Filter: TextFilter_1.TextFilter
50
+ },
51
+ {
52
+ Header: 'Email',
53
+ accessor: 'email',
54
+ filterMethod: TextFilter_1.textFilterMethod,
55
+ Filter: TextFilter_1.TextFilter
56
+ }
57
+ ];
58
+ if (roles && roles.length > 0) {
59
+ columns.push({
60
+ id: 'role',
61
+ Header: 'Role',
62
+ accessor: function (u) { return u; },
63
+ Cell: function (cell) {
64
+ var user = cell.value;
65
+ return (react_1.default.createElement(RoleCell_1.RoleCell, { user: user, requiredRoleCount: requiredRole
66
+ ? users.filter(function (u) { return u.roles.some(function (r) { return r.role === requiredRole; }); }).length
67
+ : undefined }));
68
+ },
69
+ filterMethod: RoleFilter_1.roleFilterMethod,
70
+ Filter: RoleFilter_1.RoleFilter(roles, textForRole, hasExternal),
71
+ sortMethod: userRole_1.sortByHighestAccessRole(roles),
72
+ style: { padding: '4px' }
140
73
  });
141
- }
142
- if (!(0, _lodash.isEqual)(usersToDisplay, usersState)) {
143
- setUsersState(usersToDisplay);
144
- }
74
+ }
75
+ var _c = react_1.useState(users), usersState = _c[0], setUsersState = _c[1];
76
+ var _d = react_1.useState(), roleFilter = _d[0], setRoleFilter = _d[1];
77
+ var onFilteredChange = function (newFiltering, column, value) {
78
+ var newRoleFilter = newFiltering.find(function (f) { return f.id === 'role'; });
79
+ setRoleFilter(newRoleFilter);
145
80
  };
146
- t3 = [users, roleFilter, usersState];
147
- $[15] = roleFilter;
148
- $[16] = users;
149
- $[17] = usersState;
150
- $[18] = t2;
151
- $[19] = t3;
152
- } else {
153
- t2 = $[18];
154
- t3 = $[19];
155
- }
156
- (0, _react.useEffect)(t2, t3);
157
- let t4;
158
- if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
159
- t4 = [{
160
- id: "lastName",
161
- desc: false
162
- }, {
163
- id: "firstName",
164
- desc: false
165
- }];
166
- $[20] = t4;
167
- } else {
168
- t4 = $[20];
169
- }
170
- let t5;
171
- if ($[21] !== usersState) {
172
- t5 = Object.keys(usersState);
173
- $[21] = usersState;
174
- $[22] = t5;
175
- } else {
176
- t5 = $[22];
177
- }
178
- let t6;
179
- if ($[23] !== columns || $[24] !== t5.length || $[25] !== usersState) {
180
- t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTable.default, {
181
- className: "-striped",
182
- columns: columns,
183
- data: usersState,
184
- resizable: false,
185
- filterable: true,
186
- onFilteredChange: onFilteredChange,
187
- defaultSorted: t4,
188
- pageSize: t5.length,
189
- showPagination: false
190
- });
191
- $[23] = columns;
192
- $[24] = t5.length;
193
- $[25] = usersState;
194
- $[26] = t6;
195
- } else {
196
- t6 = $[26];
197
- }
198
- let t7;
199
- if ($[27] !== id || $[28] !== t6) {
200
- t7 = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
201
- id: id,
202
- className: "table-container",
203
- children: t6
204
- });
205
- $[27] = id;
206
- $[28] = t6;
207
- $[29] = t7;
208
- } else {
209
- t7 = $[29];
210
- }
211
- return t7;
81
+ // update `usersState` when `users` or `roleFilter` changes
82
+ react_1.useEffect(function () {
83
+ var usersToDisplay = users;
84
+ // when the role filter is set, only show the matching userRoles in the table
85
+ if (roleFilter) {
86
+ usersToDisplay = users.map(function (u) {
87
+ var newUser = lodash_1.merge({}, u);
88
+ newUser.roles = u.roles.filter(function (r) { return RoleFilter_1.roleUserRoleFilterMethod(roleFilter, r); });
89
+ return newUser;
90
+ });
91
+ }
92
+ if (!lodash_1.isEqual(usersToDisplay, usersState)) {
93
+ setUsersState(usersToDisplay);
94
+ }
95
+ }, [users, roleFilter, usersState]);
96
+ return (react_1.default.createElement("div", { id: id, className: "table-container" },
97
+ react_1.default.createElement(react_table_1.default, { className: "-striped", columns: columns, data: usersState, resizable: false, filterable: true, onFilteredChange: onFilteredChange, defaultSorted: [
98
+ {
99
+ id: 'lastName',
100
+ desc: false
101
+ },
102
+ {
103
+ id: 'firstName',
104
+ desc: false
105
+ }
106
+ ], pageSize: Object.keys(usersState).length, showPagination: false })));
212
107
  };
213
-
214
108
  // similar to "shouldComponentUpdate", prevent unnecessary renders
215
- const UserRolesTable = exports.UserRolesTable = /*#__PURE__*/_react.default.memo(UserRolesTableComponent, (prevProps, nextProps) => (0, _lodash.isEqual)(prevProps, nextProps));
216
- function _temp(r_0) {
217
- return (0, _userRole.isExternal)(r_0);
218
- }
219
- function _temp2(r) {
220
- return r.roles.some(_temp);
221
- }
222
- function _temp3(u) {
223
- return u;
224
- }
225
- function _temp4(f) {
226
- return f.id === "role";
227
- }
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3JlYWN0VGFibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZXJSb2xlIiwiX1JvbGVGaWx0ZXIiLCJfVGV4dEZpbHRlciIsIl9Db250ZXh0IiwiX1JvbGVDZWxsIiwiX2pzeFJ1bnRpbWUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJVc2VyUm9sZXNUYWJsZUNvbXBvbmVudCIsInQwIiwiJCIsIl9yZWFjdENvbXBpbGVyUnVudGltZSIsImMiLCJpZCIsInVzZXJzIiwicm9sZXMiLCJyZXF1aXJlZFJvbGUiLCJ0ZXh0Rm9yUm9sZSIsInVzZUNvbnRleHQiLCJVc2VyUm9sZXNDb250ZXh0IiwiY29sdW1ucyIsImhhc0V4dGVybmFsIiwic29tZSIsIl90ZW1wMiIsInQxIiwidDIiLCJ0MyIsIlN5bWJvbCIsImZvciIsIkhlYWRlciIsImFjY2Vzc29yIiwiZmlsdGVyTWV0aG9kIiwidGV4dEZpbHRlck1ldGhvZCIsIkZpbHRlciIsIlRleHRGaWx0ZXIiLCJsZW5ndGgiLCJ0NCIsImNlbGwiLCJ1c2VyIiwidmFsdWUiLCJqc3giLCJSb2xlQ2VsbCIsInJlcXVpcmVkUm9sZUNvdW50IiwiZmlsdGVyIiwidV8wIiwidSIsInJfMSIsInJvbGUiLCJ1bmRlZmluZWQiLCJ0NSIsIlJvbGVGaWx0ZXIiLCJ0NiIsInNvcnRCeUhpZ2hlc3RBY2Nlc3NSb2xlIiwidDciLCJwYWRkaW5nIiwicHVzaCIsIl90ZW1wMyIsIkNlbGwiLCJyb2xlRmlsdGVyTWV0aG9kIiwic29ydE1ldGhvZCIsInN0eWxlIiwidXNlcnNTdGF0ZSIsInNldFVzZXJzU3RhdGUiLCJ1c2VTdGF0ZSIsInJvbGVGaWx0ZXIiLCJzZXRSb2xlRmlsdGVyIiwibmV3RmlsdGVyaW5nIiwibmV3Um9sZUZpbHRlciIsImZpbmQiLCJfdGVtcDQiLCJvbkZpbHRlcmVkQ2hhbmdlIiwidXNlcnNUb0Rpc3BsYXkiLCJtYXAiLCJ1XzEiLCJuZXdVc2VyIiwibWVyZ2UiLCJyXzIiLCJyb2xlVXNlclJvbGVGaWx0ZXJNZXRob2QiLCJpc0VxdWFsIiwidXNlRWZmZWN0IiwiZGVzYyIsImtleXMiLCJjbGFzc05hbWUiLCJyZXNpemFibGUiLCJmaWx0ZXJhYmxlIiwiZGVmYXVsdFNvcnRlZCIsInBhZ2VTaXplIiwic2hvd1BhZ2luYXRpb24iLCJjaGlsZHJlbiIsIlVzZXJSb2xlc1RhYmxlIiwiZXhwb3J0cyIsIlJlYWN0IiwibWVtbyIsInByZXZQcm9wcyIsIm5leHRQcm9wcyIsIl90ZW1wIiwicl8wIiwiaXNFeHRlcm5hbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VzZXJSb2xlcy9UYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFcXVhbCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCBSZWFjdCwgeyBGdW5jdGlvbkNvbXBvbmVudCwgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgUmVhY3RUYWJsZSwgeyBDb2x1bW4sIEZpbHRlciB9IGZyb20gJ3JlYWN0LXRhYmxlJ1xyXG5pbXBvcnQgeyBVc2VyV2l0aFJvbGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IGlzRXh0ZXJuYWwsIHNvcnRCeUhpZ2hlc3RBY2Nlc3NSb2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXNlclJvbGUnXHJcbmltcG9ydCB7IFJvbGVGaWx0ZXIsIHJvbGVGaWx0ZXJNZXRob2QsIHJvbGVVc2VyUm9sZUZpbHRlck1ldGhvZCB9IGZyb20gJy4uL1RhYmxlcy9Sb2xlRmlsdGVyJ1xyXG5pbXBvcnQgeyBUZXh0RmlsdGVyLCB0ZXh0RmlsdGVyTWV0aG9kIH0gZnJvbSAnLi4vVGFibGVzL1RleHRGaWx0ZXInXHJcbmltcG9ydCB7IFVzZXJSb2xlc0NvbnRleHQgfSBmcm9tICcuL0NvbnRleHQnXHJcbmltcG9ydCB7IFJvbGVDZWxsIH0gZnJvbSAnLi9Sb2xlQ2VsbCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVzVGFibGVQcm9wcyB7XHJcblx0aWQ/OiBzdHJpbmdcclxuXHR1c2VyczogVXNlcldpdGhSb2xlc1tdXHJcbn1cclxuXHJcbmNvbnN0IFVzZXJSb2xlc1RhYmxlQ29tcG9uZW50OiBGdW5jdGlvbkNvbXBvbmVudDxVc2VyUm9sZXNUYWJsZVByb3BzPiA9ICh7IGlkLCB1c2VycyB9KSA9PiB7XHJcblx0Y29uc3QgeyByb2xlcywgcmVxdWlyZWRSb2xlLCB0ZXh0Rm9yUm9sZSB9ID0gdXNlQ29udGV4dChVc2VyUm9sZXNDb250ZXh0KVxyXG5cclxuXHRjb25zdCBoYXNFeHRlcm5hbCA9IHVzZXJzLnNvbWUociA9PiByLnJvbGVzLnNvbWUociA9PiBpc0V4dGVybmFsKHIpKSlcclxuXHRjb25zdCBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcclxuXHRcdHtcclxuXHRcdFx0SGVhZGVyOiAnRmlyc3QgTmFtZScsXHJcblx0XHRcdGFjY2Vzc29yOiAnZmlyc3ROYW1lJyxcclxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxyXG5cdFx0XHRGaWx0ZXI6IFRleHRGaWx0ZXJcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdEhlYWRlcjogJ0xhc3QgTmFtZScsXHJcblx0XHRcdGFjY2Vzc29yOiAnbGFzdE5hbWUnLFxyXG5cdFx0XHRmaWx0ZXJNZXRob2Q6IHRleHRGaWx0ZXJNZXRob2QsXHJcblx0XHRcdEZpbHRlcjogVGV4dEZpbHRlclxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0SGVhZGVyOiAnRW1haWwnLFxyXG5cdFx0XHRhY2Nlc3NvcjogJ2VtYWlsJyxcclxuXHRcdFx0ZmlsdGVyTWV0aG9kOiB0ZXh0RmlsdGVyTWV0aG9kLFxyXG5cdFx0XHRGaWx0ZXI6IFRleHRGaWx0ZXJcclxuXHRcdH1cclxuXHRdXHJcblx0aWYgKHJvbGVzLmxlbmd0aCA+IDApIHtcclxuXHRcdGNvbHVtbnMucHVzaCh7XHJcblx0XHRcdGlkOiAncm9sZScsXHJcblx0XHRcdEhlYWRlcjogJ1JvbGUnLFxyXG5cdFx0XHRhY2Nlc3NvcjogdSA9PiB1LFxyXG5cdFx0XHRDZWxsOiBjZWxsID0+IHtcclxuXHRcdFx0XHRjb25zdCB1c2VyOiBVc2VyV2l0aFJvbGVzID0gY2VsbC52YWx1ZVxyXG5cdFx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0XHQ8Um9sZUNlbGxcclxuXHRcdFx0XHRcdFx0dXNlcj17dXNlcn1cclxuXHRcdFx0XHRcdFx0cmVxdWlyZWRSb2xlQ291bnQ9e1xyXG5cdFx0XHRcdFx0XHRcdHJlcXVpcmVkUm9sZVxyXG5cdFx0XHRcdFx0XHRcdFx0PyB1c2Vycy5maWx0ZXIodSA9PiB1LnJvbGVzLnNvbWUociA9PiByLnJvbGUgPT09IHJlcXVpcmVkUm9sZSkpLmxlbmd0aFxyXG5cdFx0XHRcdFx0XHRcdFx0OiB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHQpXHJcblx0XHRcdH0sXHJcblx0XHRcdGZpbHRlck1ldGhvZDogcm9sZUZpbHRlck1ldGhvZCxcclxuXHRcdFx0RmlsdGVyOiBSb2xlRmlsdGVyKHJvbGVzLCB0ZXh0Rm9yUm9sZSwgaGFzRXh0ZXJuYWwpLFxyXG5cdFx0XHRzb3J0TWV0aG9kOiBzb3J0QnlIaWdoZXN0QWNjZXNzUm9sZShyb2xlcyksXHJcblx0XHRcdHN0eWxlOiB7IHBhZGRpbmc6ICc0cHgnIH1cclxuXHRcdH0pXHJcblx0fVxyXG5cclxuXHRjb25zdCBbdXNlcnNTdGF0ZSwgc2V0VXNlcnNTdGF0ZV0gPSB1c2VTdGF0ZSh1c2VycylcclxuXHRjb25zdCBbcm9sZUZpbHRlciwgc2V0Um9sZUZpbHRlcl0gPSB1c2VTdGF0ZTxGaWx0ZXIgfCB1bmRlZmluZWQ+KClcclxuXHJcblx0Y29uc3Qgb25GaWx0ZXJlZENoYW5nZSA9IChuZXdGaWx0ZXJpbmc6IEZpbHRlcltdKSA9PiB7XHJcblx0XHRjb25zdCBuZXdSb2xlRmlsdGVyID0gbmV3RmlsdGVyaW5nLmZpbmQoZiA9PiBmLmlkID09PSAncm9sZScpXHJcblx0XHRzZXRSb2xlRmlsdGVyKG5ld1JvbGVGaWx0ZXIpXHJcblx0fVxyXG5cclxuXHQvLyB1cGRhdGUgYHVzZXJzU3RhdGVgIHdoZW4gYHVzZXJzYCBvciBgcm9sZUZpbHRlcmAgY2hhbmdlc1xyXG5cdHVzZUVmZmVjdCgoKSA9PiB7XHJcblx0XHRsZXQgdXNlcnNUb0Rpc3BsYXkgPSB1c2Vyc1xyXG5cdFx0Ly8gd2hlbiB0aGUgcm9sZSBmaWx0ZXIgaXMgc2V0LCBvbmx5IHNob3cgdGhlIG1hdGNoaW5nIHVzZXJSb2xlcyBpbiB0aGUgdGFibGVcclxuXHRcdGlmIChyb2xlRmlsdGVyKSB7XHJcblx0XHRcdHVzZXJzVG9EaXNwbGF5ID0gdXNlcnMubWFwKHUgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IG5ld1VzZXIgPSBtZXJnZSh7fSwgdSlcclxuXHRcdFx0XHRuZXdVc2VyLnJvbGVzID0gdS5yb2xlcy5maWx0ZXIociA9PiByb2xlVXNlclJvbGVGaWx0ZXJNZXRob2Qocm9sZUZpbHRlciwgcikpXHJcblx0XHRcdFx0cmV0dXJuIG5ld1VzZXJcclxuXHRcdFx0fSlcclxuXHRcdH1cclxuXHRcdGlmICghaXNFcXVhbCh1c2Vyc1RvRGlzcGxheSwgdXNlcnNTdGF0ZSkpIHtcclxuXHRcdFx0c2V0VXNlcnNTdGF0ZSh1c2Vyc1RvRGlzcGxheSlcclxuXHRcdH1cclxuXHR9LCBbdXNlcnMsIHJvbGVGaWx0ZXIsIHVzZXJzU3RhdGVdKVxyXG5cclxuXHRyZXR1cm4gKFxyXG5cdFx0PGRpdiBpZD17aWR9IGNsYXNzTmFtZT1cInRhYmxlLWNvbnRhaW5lclwiPlxyXG5cdFx0XHQ8UmVhY3RUYWJsZVxyXG5cdFx0XHRcdGNsYXNzTmFtZT17YC1zdHJpcGVkYH1cclxuXHRcdFx0XHRjb2x1bW5zPXtjb2x1bW5zfVxyXG5cdFx0XHRcdGRhdGE9e3VzZXJzU3RhdGV9XHJcblx0XHRcdFx0cmVzaXphYmxlPXtmYWxzZX1cclxuXHRcdFx0XHRmaWx0ZXJhYmxlXHJcblx0XHRcdFx0b25GaWx0ZXJlZENoYW5nZT17b25GaWx0ZXJlZENoYW5nZX1cclxuXHRcdFx0XHRkZWZhdWx0U29ydGVkPXtbXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGlkOiAnbGFzdE5hbWUnLFxyXG5cdFx0XHRcdFx0XHRkZXNjOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6ICdmaXJzdE5hbWUnLFxyXG5cdFx0XHRcdFx0XHRkZXNjOiBmYWxzZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF19XHJcblx0XHRcdFx0cGFnZVNpemU9e09iamVjdC5rZXlzKHVzZXJzU3RhdGUpLmxlbmd0aH1cclxuXHRcdFx0XHRzaG93UGFnaW5hdGlvbj17ZmFsc2V9XHJcblx0XHRcdC8+XHJcblx0XHQ8L2Rpdj5cclxuXHQpXHJcbn1cclxuXHJcbi8vIHNpbWlsYXIgdG8gXCJzaG91bGRDb21wb25lbnRVcGRhdGVcIiwgcHJldmVudCB1bm5lY2Vzc2FyeSByZW5kZXJzXHJcbmV4cG9ydCBjb25zdCBVc2VyUm9sZXNUYWJsZSA9IFJlYWN0Lm1lbW8oXHJcblx0VXNlclJvbGVzVGFibGVDb21wb25lbnQsXHJcblx0KHByZXZQcm9wczogVXNlclJvbGVzVGFibGVQcm9wcywgbmV4dFByb3BzOiBVc2VyUm9sZXNUYWJsZVByb3BzKSA9PiBpc0VxdWFsKHByZXZQcm9wcywgbmV4dFByb3BzKVxyXG4pXHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFB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
109
+ exports.UserRolesTable = react_1.default.memo(UserRolesTableComponent, function (prevProps, nextProps) { return lodash_1.isEqual(prevProps, nextProps); });
@@ -47,9 +47,9 @@ export interface UserRolesOwnProps extends CollectionComponentWrappedProps<UserR
47
47
  /** (Optional) Callback that is called after a user role is removed */
48
48
  onRemove?: (userRole: UserRole) => void;
49
49
  /** (Optional) Render custom components between the Add and Table components */
50
- renderTableDescription?: (canModify?: boolean) => React.JSX.Element;
50
+ renderTableDescription?: (canModify?: boolean) => JSX.Element;
51
51
  /** (Optional) Render custom components at the start of the Add component */
52
- renderAddDescription?: (entityName?: string) => React.JSX.Element;
52
+ renderAddDescription?: (entityName?: string) => JSX.Element;
53
53
  /** (Optional) Provide custom user-friendly names for displayed roles */
54
54
  textForRole?: (role: string) => string;
55
55
  /** (Optional) Provide custom user-friendly names for displayed roles that require custom casing */
@@ -61,7 +61,7 @@ export interface UserRolesProps extends UserRolesReduxProps, UserRolesOwnProps {
61
61
  }
62
62
  interface UserRolesState {
63
63
  sortedUsers: UserWithRoles[];
64
- addUsersHookId: string;
64
+ addUsersHookId: any;
65
65
  isAdding: boolean;
66
66
  identifiersToAdd?: string[];
67
67
  roleForAdd?: string;
@@ -101,11 +101,11 @@ export declare class UserRoles extends Component<UserRolesProps, UserRolesState>
101
101
  didUpdate: (isSuccess: boolean) => void;
102
102
  alertRemoveUserRole: (userRoleToRemove: UserRole) => void;
103
103
  removeUserRoleTitle: (roleForRemove: string) => string;
104
- renderRemoveUserRoleDescription: (userRoleToRemove: UserRole, warning?: React.JSX.Element) => import("react/jsx-runtime").JSX.Element;
104
+ renderRemoveUserRoleDescription: (userRoleToRemove: UserRole, warning?: JSX.Element | undefined) => React.JSX.Element;
105
105
  removeUserRole: (shouldRemove: boolean) => void;
106
106
  didRemove: (isSuccess: boolean) => void;
107
- render(): import("react/jsx-runtime").JSX.Element;
107
+ render(): React.JSX.Element;
108
108
  }
109
109
  export declare const mapStateToProps: (state: BaseReduxState, ownProps: UserRolesOwnProps) => UserRolesReduxProps;
110
- declare const _default: import("react-redux").ConnectedComponent<typeof UserRoles, import("react-redux").Omit<React.ClassAttributes<UserRoles> & UserRolesProps, "canModify" | "canDeleteSelf"> & UserRolesOwnProps>;
110
+ declare const _default: import("react-redux").ConnectedComponent<typeof UserRoles, Pick<React.ClassAttributes<UserRoles> & UserRolesProps, "guid" | "ref" | "modelName" | "pathParams" | "queryParams" | "externalProviders" | "model" | "key" | "readOnly" | "entityName" | "load" | "disableAutoLoad" | "disableAutoLoadOnParamsChange" | "modelArray" | "stopPeriodicLoad" | "create" | "update" | "delete" | "modelStatus" | "previousModelStatus" | "fetchingId" | "textForRole" | "defaultRole" | "roleDescriptions" | "renderAddDescription" | "isUpdateDisabled" | "isDeleteDisabled" | "allowMultipleRoles" | "requiredRole" | "isAddDisabled" | "modifyUserRoleActivityName" | "deleteOwnUserRoleActivityName" | "addRoleExcludeList" | "entity" | "filterUsers" | "onAdd" | "onUpdate" | "onRemove" | "renderTableDescription" | "lowercaseTextForRole" | "singularArticleForRole"> & UserRolesOwnProps>;
111
111
  export default _default;