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,174 +1,194 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
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;
6
37
  });
7
- exports.configureFullscreenModalComponent = configureFullscreenModalComponent;
8
- exports.default = void 0;
9
- exports.fullscreenModalComponent = fullscreenModalComponent;
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _react = require("react");
12
- var _reactModal = _interopRequireDefault(require("react-modal"));
13
- var _ConnectedModalComponent = require("./ConnectedModalComponent");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- /**
16
- * The props that are provided to the HOC component directly from the caller, not other wrapping HOCs
17
- * NOTE: if more flexibility is needed, add more props from `ReactModal.Props`
18
- */
19
-
20
- /** The props that are provided to the HOC component, either directly or from other wrapping HOCs */
21
-
22
- /** The props that are provide to the wrapped component. */
23
-
24
- /**
25
- * HOC that manages a `ReactModal`, adds inline css, and
26
- * coordinates modal state in redux using.
27
- *
28
- * NOTE: Meant for testing. Should be wrapped in `connectedModalComponent` normally.
29
- *
30
- * @param WrappedComponent The component to wrap.
38
+ var __importStar = (this && this.__importStar) || function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ var __rest = (this && this.__rest) || function (s, e) {
46
+ var t = {};
47
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
48
+ t[p] = s[p];
49
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
50
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
51
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
52
+ t[p[i]] = s[p[i]];
53
+ }
54
+ return t;
55
+ };
56
+ var __importDefault = (this && this.__importDefault) || function (mod) {
57
+ return (mod && mod.__esModule) ? mod : { "default": mod };
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.fullscreenModalComponent = exports.configureFullscreenModalComponent = void 0;
61
+ var react_1 = __importStar(require("react"));
62
+ var react_modal_1 = __importDefault(require("react-modal"));
63
+ var ConnectedModalComponent_1 = require("./ConnectedModalComponent");
64
+ /**
65
+ * HOC that manages a `ReactModal`, adds inline css, and
66
+ * coordinates modal state in redux using.
67
+ *
68
+ * NOTE: Meant for testing. Should be wrapped in `connectedModalComponent` normally.
69
+ *
70
+ * @param WrappedComponent The component to wrap.
31
71
  */
32
72
  function configureFullscreenModalComponent(WrappedComponent) {
33
- return class FullscreenModalComponent extends _react.Component {
34
- constructor(props) {
35
- super(props);
36
- (0, _defineProperty2.default)(this, "disableScroll", e => {
37
- document.documentElement.scrollTop = 0;
38
- e.preventDefault();
39
- return false;
40
- });
41
- (0, _defineProperty2.default)(this, "onOpen", () => {
42
- document.documentElement.addEventListener('touchmove', this.disableScroll);
43
- this.props.onEntering();
44
- });
45
- (0, _defineProperty2.default)(this, "onClose", () => {
46
- document.documentElement.removeEventListener('touchmove', this.disableScroll);
47
- this.props.onExited();
48
- });
49
- (0, _defineProperty2.default)(this, "closeModal", () => {
50
- if (this.props.closeModal) {
51
- this.props.closeModal();
52
- return;
53
- }
54
- this.setState({
55
- isOpen: false
56
- });
57
- });
58
- this.state = {
59
- isOpen: props.isOpen === undefined ? true : props.isOpen
60
- };
61
-
62
- // https://github.com/reactjs/react-modal#app-element
63
- // Accessibility fixed when reading the content in the modal
64
- if (document.getElementById('root')) {
65
- _reactModal.default.setAppElement('#root');
66
- }
67
- }
68
- componentDidMount() {
69
- const {
70
- isOpen
71
- } = this.state;
72
- if (isOpen) {
73
- this.onOpen();
74
- }
75
- }
76
- componentWillUnmount() {
77
- document.documentElement.removeEventListener('touchmove', this.disableScroll);
78
- }
79
- componentDidUpdate(prevProps, prevState) {
80
- let isOpen;
81
- if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
82
- // using props to handle isOpen, update state
83
- isOpen = this.props.isOpen;
84
- } else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
85
- // using state only to handle isOpen
86
- isOpen = this.state.isOpen;
87
- }
88
- if (isOpen === undefined) {
89
- return;
90
- }
91
- if (isOpen) {
92
- this.onOpen();
93
- } else {
94
- this.onClose();
95
- }
96
- this.setState({
97
- isOpen
98
- });
99
- }
100
- render() {
101
- const {
102
- contentLabel,
103
- isTopOpenFullscreenModal,
104
- onEntering,
105
- onExited,
106
- isOpen: _,
107
- closeModal,
108
- zIndex,
109
- ...remainingProps
110
- } = this.props;
111
- // do not pass ConnectedModalWrappedProps to wrapped component
112
- const wrappedProps = {
113
- ...remainingProps,
114
- closeModal: this.closeModal
115
- };
116
- const {
117
- isOpen
118
- } = this.state;
119
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal.default, {
120
- isOpen: isOpen,
121
- contentLabel: contentLabel,
122
- style: {
123
- content: {
124
- position: 'absolute',
125
- top: 0,
126
- left: 0,
127
- right: 0,
128
- bottom: 0,
129
- overflow: 'hidden',
130
- padding: 0,
131
- border: 'none',
132
- backgroundColor: 'white'
133
- },
134
- overlay: {
135
- position: 'absolute',
136
- top: 0,
137
- left: 0,
138
- right: 0,
139
- bottom: 0,
140
- zIndex: zIndex ?? 2000
141
- }
73
+ return /** @class */ (function (_super) {
74
+ __extends(FullscreenModalComponent, _super);
75
+ function FullscreenModalComponent(props) {
76
+ var _this = _super.call(this, props) || this;
77
+ _this.disableScroll = function (e) {
78
+ document.documentElement.scrollTop = 0;
79
+ e.preventDefault();
80
+ return false;
81
+ };
82
+ _this.onOpen = function () {
83
+ document.documentElement.addEventListener('touchmove', _this.disableScroll);
84
+ _this.props.onEntering();
85
+ };
86
+ _this.onClose = function () {
87
+ document.documentElement.removeEventListener('touchmove', _this.disableScroll);
88
+ _this.props.onExited();
89
+ };
90
+ _this.closeModal = function () {
91
+ if (_this.props.closeModal) {
92
+ _this.props.closeModal();
93
+ return;
94
+ }
95
+ _this.setState({
96
+ isOpen: false
97
+ });
98
+ };
99
+ _this.state = {
100
+ isOpen: props.isOpen === undefined ? true : props.isOpen
101
+ };
102
+ // https://github.com/reactjs/react-modal#app-element
103
+ // Accessibility fixed when reading the content in the modal
104
+ if (document.getElementById('root')) {
105
+ react_modal_1.default.setAppElement('#root');
106
+ }
107
+ return _this;
142
108
  }
143
- // hide the rendered portal if this is not the top open fullscreen modal
144
- ,
145
- portalClassName: `ReactModalPortal${!isTopOpenFullscreenModal ? ' dn' : ''}`,
146
- shouldCloseOnOverlayClick: false,
147
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
148
- ...wrappedProps
149
- })
150
- });
151
- }
152
- };
109
+ FullscreenModalComponent.prototype.componentDidMount = function () {
110
+ var isOpen = this.state.isOpen;
111
+ if (isOpen) {
112
+ this.onOpen();
113
+ }
114
+ };
115
+ FullscreenModalComponent.prototype.componentWillUnmount = function () {
116
+ document.documentElement.removeEventListener('touchmove', this.disableScroll);
117
+ };
118
+ FullscreenModalComponent.prototype.componentDidUpdate = function (prevProps, prevState) {
119
+ var isOpen;
120
+ if (this.props.isOpen !== undefined && this.props.isOpen !== this.state.isOpen) {
121
+ // using props to handle isOpen, update state
122
+ isOpen = this.props.isOpen;
123
+ }
124
+ else if (this.props.isOpen === undefined && prevState.isOpen !== this.state.isOpen) {
125
+ // using state only to handle isOpen
126
+ isOpen = this.state.isOpen;
127
+ }
128
+ if (isOpen === undefined) {
129
+ return;
130
+ }
131
+ if (isOpen) {
132
+ this.onOpen();
133
+ }
134
+ else {
135
+ this.onClose();
136
+ }
137
+ this.setState({
138
+ isOpen: isOpen
139
+ });
140
+ };
141
+ FullscreenModalComponent.prototype.render = function () {
142
+ var _a = this.props, contentLabel = _a.contentLabel, isTopOpenFullscreenModal = _a.isTopOpenFullscreenModal, onEntering = _a.onEntering, onExited = _a.onExited, _ = _a.isOpen, closeModal = _a.closeModal, zIndex = _a.zIndex, remainingProps = __rest(_a, ["contentLabel", "isTopOpenFullscreenModal", "onEntering", "onExited", "isOpen", "closeModal", "zIndex"]);
143
+ // do not pass ConnectedModalWrappedProps to wrapped component
144
+ var wrappedProps = __assign(__assign({}, remainingProps), { closeModal: this.closeModal });
145
+ var isOpen = this.state.isOpen;
146
+ return (react_1.default.createElement(react_modal_1.default, { isOpen: isOpen, contentLabel: contentLabel, style: {
147
+ content: {
148
+ position: 'absolute',
149
+ top: 0,
150
+ left: 0,
151
+ right: 0,
152
+ bottom: 0,
153
+ overflow: 'hidden',
154
+ padding: 0,
155
+ border: 'none',
156
+ backgroundColor: 'white'
157
+ },
158
+ overlay: {
159
+ position: 'absolute',
160
+ top: 0,
161
+ left: 0,
162
+ right: 0,
163
+ bottom: 0,
164
+ zIndex: zIndex !== null && zIndex !== void 0 ? zIndex : 2000
165
+ }
166
+ },
167
+ // hide the rendered portal if this is not the top open fullscreen modal
168
+ portalClassName: "ReactModalPortal" + (!isTopOpenFullscreenModal ? ' dn' : ''), shouldCloseOnOverlayClick: false },
169
+ react_1.default.createElement(WrappedComponent, __assign({}, wrappedProps))));
170
+ };
171
+ return FullscreenModalComponent;
172
+ }(react_1.Component));
153
173
  }
154
-
155
- /**
156
- * HOC that contains a `ReactModal` which can be auto managed or managed with props,
157
- * adds fullscreen styles, and coordinates modal state in redux.
158
- *
159
- * Uses `connectedModalComponent`.
160
- *
161
- * NOTE: Please add the following css
162
- *
163
- * .ReactModal__Body--open {
164
- * overflow: hidden;
165
- * }
166
- *
167
- * @param WrappedComponent The component to wrap.
174
+ exports.configureFullscreenModalComponent = configureFullscreenModalComponent;
175
+ /**
176
+ * HOC that contains a `ReactModal` which can be auto managed or managed with props,
177
+ * adds fullscreen styles, and coordinates modal state in redux.
178
+ *
179
+ * Uses `connectedModalComponent`.
180
+ *
181
+ * NOTE: Please add the following css
182
+ *
183
+ * .ReactModal__Body--open {
184
+ * overflow: hidden;
185
+ * }
186
+ *
187
+ * @param WrappedComponent The component to wrap.
168
188
  */
169
189
  function fullscreenModalComponent(WrappedComponent) {
170
- const component = configureFullscreenModalComponent(WrappedComponent);
171
- return (0, _ConnectedModalComponent.connectedModalComponent)(component, true);
190
+ var component = configureFullscreenModalComponent(WrappedComponent);
191
+ return ConnectedModalComponent_1.connectedModalComponent(component, true);
172
192
  }
173
- var _default = exports.default = fullscreenModalComponent;
174
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0TW9kYWwiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0Nvbm5lY3RlZE1vZGFsQ29tcG9uZW50IiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiZSIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50Iiwic2Nyb2xsVG9wIiwicHJldmVudERlZmF1bHQiLCJhZGRFdmVudExpc3RlbmVyIiwiZGlzYWJsZVNjcm9sbCIsIm9uRW50ZXJpbmciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25FeGl0ZWQiLCJjbG9zZU1vZGFsIiwic2V0U3RhdGUiLCJpc09wZW4iLCJzdGF0ZSIsInVuZGVmaW5lZCIsImdldEVsZW1lbnRCeUlkIiwiUmVhY3RNb2RhbCIsInNldEFwcEVsZW1lbnQiLCJjb21wb25lbnREaWRNb3VudCIsIm9uT3BlbiIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwicHJldlN0YXRlIiwib25DbG9zZSIsInJlbmRlciIsImNvbnRlbnRMYWJlbCIsImlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCIsIl8iLCJ6SW5kZXgiLCJyZW1haW5pbmdQcm9wcyIsIndyYXBwZWRQcm9wcyIsImpzeCIsInN0eWxlIiwiY29udGVudCIsInBvc2l0aW9uIiwidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwib3ZlcmZsb3ciLCJwYWRkaW5nIiwiYm9yZGVyIiwiYmFja2dyb3VuZENvbG9yIiwib3ZlcmxheSIsInBvcnRhbENsYXNzTmFtZSIsInNob3VsZENsb3NlT25PdmVybGF5Q2xpY2siLCJjaGlsZHJlbiIsImZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudCIsImNvbXBvbmVudCIsImNvbm5lY3RlZE1vZGFsQ29tcG9uZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0Z1bGxzY3JlZW5Nb2RhbENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgUmVhY3RNb2RhbCBmcm9tICdyZWFjdC1tb2RhbCdcclxuaW1wb3J0IHsgY29ubmVjdGVkTW9kYWxDb21wb25lbnQsIENvbm5lY3RlZE1vZGFsV3JhcHBlZFByb3BzIH0gZnJvbSAnLi9Db25uZWN0ZWRNb2RhbENvbXBvbmVudCdcclxuaW1wb3J0IHsgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vR3VpZENvbXBvbmVudCdcclxuXHJcbi8qKlxyXG4gKiBUaGUgcHJvcHMgdGhhdCBhcmUgcHJvdmlkZWQgdG8gdGhlIEhPQyBjb21wb25lbnQgZGlyZWN0bHkgZnJvbSB0aGUgY2FsbGVyLCBub3Qgb3RoZXIgd3JhcHBpbmcgSE9Dc1xyXG4gKiBOT1RFOiBpZiBtb3JlIGZsZXhpYmlsaXR5IGlzIG5lZWRlZCwgYWRkIG1vcmUgcHJvcHMgZnJvbSBgUmVhY3RNb2RhbC5Qcm9wc2BcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRnVsbHNjcmVlbk1vZGFsT3duUHJvcHMge1xyXG5cdC8qIEJvb2xlYW4gZGVzY3JpYmluZyBpZiB0aGUgbW9kYWwgc2hvdWxkIGJlIHNob3duIG9yIG5vdC4gSWYgbm90IHByb3ZpZGVkLCB0aGUgbW9kYWwgbWFuYWdlcyBpdHNlbGYsIGRlZmF1bHRpbmcgdG8gb3Blbi4gKi9cclxuXHRpc09wZW4/OiBib29sZWFuXHJcblxyXG5cdC8qKlxyXG5cdCAqIEZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgbW9kYWwgc2hvdWxkIGJlIGNsb3NlZCwgYW5kIHRoZSBwYXJlbnQgc2hvdWxkIHNldCBgcHJvcHMuaXNPcGVuYCB0byBgZmFsc2VgLlxyXG5cdCAqIElmIG5vdCBwcm92aWRlZCwgdGhlIG1vZGFsIG1hbmFnZXMgaXRzZWxmLlxyXG5cdCAqL1xyXG5cdGNsb3NlTW9kYWw/OiAoKSA9PiB2b2lkXHJcblxyXG5cdC8qIFN0cmluZyBpbmRpY2F0aW5nIGhvdyB0aGUgY29udGVudCBjb250YWluZXIgc2hvdWxkIGJlIGFubm91bmNlZCB0byBzY3JlZW4gcmVhZGVycy4gKi9cclxuXHRjb250ZW50TGFiZWw/OiBzdHJpbmdcclxuXHJcblx0LyogT3B0aW9uYWwgdmFsdWUgaW5kaWNhdGluZyB0aGUgekluZGV4IHRoZSBtb2RhbCBvdmVybGF5IHNob3VsZCBoYXZlICovXHJcblx0ekluZGV4PzogbnVtYmVyXHJcbn1cclxuXHJcbi8qKiBUaGUgcHJvcHMgdGhhdCBhcmUgcHJvdmlkZWQgdG8gdGhlIEhPQyBjb21wb25lbnQsIGVpdGhlciBkaXJlY3RseSBvciBmcm9tIG90aGVyIHdyYXBwaW5nIEhPQ3MgKi9cclxuZXhwb3J0IHR5cGUgRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50UHJvcHMgPSBGdWxsc2NyZWVuTW9kYWxPd25Qcm9wcyAmXHJcblx0Q29ubmVjdGVkTW9kYWxXcmFwcGVkUHJvcHMgJlxyXG5cdEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHNcclxuXHJcbi8qKiBUaGUgcHJvcHMgdGhhdCBhcmUgcHJvdmlkZSB0byB0aGUgd3JhcHBlZCBjb21wb25lbnQuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRnVsbHNjcmVlbk1vZGFsV3JhcHBlZFByb3BzIHtcclxuXHQvKiogR1VJRCBvZiB0aGUgZnVsbHNjcmVlbiBtb2RhbCwgdXNlZCBpbiBzdGF0ZS5tb2RhbHMuICovXHJcblx0Z3VpZDogc3RyaW5nXHJcblx0LyoqIEZ1bmN0aW9uIHRoYXQgd2lsbCBjbG9zZSB0aGUgbW9kYWwuICovXHJcblx0Y2xvc2VNb2RhbDogKCkgPT4gdm9pZFxyXG59XHJcblxyXG5pbnRlcmZhY2UgRnVsbHNjcmVlbk1vZGFsU3RhdGUge1xyXG5cdGlzT3BlbjogYm9vbGVhblxyXG59XHJcblxyXG4vKipcclxuICogSE9DIHRoYXQgbWFuYWdlcyBhIGBSZWFjdE1vZGFsYCwgYWRkcyBpbmxpbmUgY3NzLCBhbmRcclxuICogY29vcmRpbmF0ZXMgbW9kYWwgc3RhdGUgaW4gcmVkdXggdXNpbmcuXHJcbiAqXHJcbiAqIE5PVEU6IE1lYW50IGZvciB0ZXN0aW5nLiBTaG91bGQgYmUgd3JhcHBlZCBpbiBgY29ubmVjdGVkTW9kYWxDb21wb25lbnRgIG5vcm1hbGx5LlxyXG4gKlxyXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlRnVsbHNjcmVlbk1vZGFsQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxXcmFwcGVkUHJvcHM+XHJcbikge1xyXG5cdHR5cGUgSG9jUHJvcHMgPSBUT3duUHJvcHMgJiBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnRQcm9wc1xyXG5cdHJldHVybiBjbGFzcyBGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8SG9jUHJvcHMsIEZ1bGxzY3JlZW5Nb2RhbFN0YXRlPiB7XHJcblx0XHRjb25zdHJ1Y3Rvcihwcm9wczogSG9jUHJvcHMpIHtcclxuXHRcdFx0c3VwZXIocHJvcHMpXHJcblxyXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xyXG5cdFx0XHRcdGlzT3BlbjogcHJvcHMuaXNPcGVuID09PSB1bmRlZmluZWQgPyB0cnVlIDogcHJvcHMuaXNPcGVuXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGpzL3JlYWN0LW1vZGFsI2FwcC1lbGVtZW50XHJcblx0XHRcdC8vIEFjY2Vzc2liaWxpdHkgZml4ZWQgd2hlbiByZWFkaW5nIHRoZSBjb250ZW50IGluIHRoZSBtb2RhbFxyXG5cdFx0XHRpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKSkge1xyXG5cdFx0XHRcdFJlYWN0TW9kYWwuc2V0QXBwRWxlbWVudCgnI3Jvb3QnKVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkTW91bnQoKSB7XHJcblx0XHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRcdGlmIChpc09wZW4pIHtcclxuXHRcdFx0XHR0aGlzLm9uT3BlbigpXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuZGlzYWJsZVNjcm9sbClcclxuXHRcdH1cclxuXHJcblx0XHRjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBIb2NQcm9wcywgcHJldlN0YXRlOiBGdWxsc2NyZWVuTW9kYWxTdGF0ZSkge1xyXG5cdFx0XHRsZXQgaXNPcGVuOiBib29sZWFuIHwgdW5kZWZpbmVkXHJcblxyXG5cdFx0XHRpZiAodGhpcy5wcm9wcy5pc09wZW4gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnByb3BzLmlzT3BlbiAhPT0gdGhpcy5zdGF0ZS5pc09wZW4pIHtcclxuXHRcdFx0XHQvLyB1c2luZyBwcm9wcyB0byBoYW5kbGUgaXNPcGVuLCB1cGRhdGUgc3RhdGVcclxuXHRcdFx0XHRpc09wZW4gPSB0aGlzLnByb3BzLmlzT3BlblxyXG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMucHJvcHMuaXNPcGVuID09PSB1bmRlZmluZWQgJiYgcHJldlN0YXRlLmlzT3BlbiAhPT0gdGhpcy5zdGF0ZS5pc09wZW4pIHtcclxuXHRcdFx0XHQvLyB1c2luZyBzdGF0ZSBvbmx5IHRvIGhhbmRsZSBpc09wZW5cclxuXHRcdFx0XHRpc09wZW4gPSB0aGlzLnN0YXRlLmlzT3BlblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoaXNPcGVuID09PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKGlzT3Blbikge1xyXG5cdFx0XHRcdHRoaXMub25PcGVuKClcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHR0aGlzLm9uQ2xvc2UoKVxyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRcdGlzT3BlblxyXG5cdFx0XHR9KVxyXG5cdFx0fVxyXG5cclxuXHRcdGRpc2FibGVTY3JvbGwgPSAoZTogRXZlbnQpID0+IHtcclxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA9IDBcclxuXHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpXHJcblx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0fVxyXG5cclxuXHRcdG9uT3BlbiA9ICgpID0+IHtcclxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuZGlzYWJsZVNjcm9sbClcclxuXHRcdFx0dGhpcy5wcm9wcy5vbkVudGVyaW5nKClcclxuXHRcdH1cclxuXHJcblx0XHRvbkNsb3NlID0gKCkgPT4ge1xyXG5cdFx0XHRkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5kaXNhYmxlU2Nyb2xsKVxyXG5cdFx0XHR0aGlzLnByb3BzLm9uRXhpdGVkKClcclxuXHRcdH1cclxuXHJcblx0XHRjbG9zZU1vZGFsID0gKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5wcm9wcy5jbG9zZU1vZGFsKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wcy5jbG9zZU1vZGFsKClcclxuXHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcclxuXHRcdFx0XHRpc09wZW46IGZhbHNlXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblxyXG5cdFx0cmVuZGVyKCkge1xyXG5cdFx0XHRjb25zdCB7XHJcblx0XHRcdFx0Y29udGVudExhYmVsLFxyXG5cdFx0XHRcdGlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCxcclxuXHRcdFx0XHRvbkVudGVyaW5nLFxyXG5cdFx0XHRcdG9uRXhpdGVkLFxyXG5cdFx0XHRcdGlzT3BlbjogXyxcclxuXHRcdFx0XHRjbG9zZU1vZGFsLFxyXG5cdFx0XHRcdHpJbmRleCxcclxuXHRcdFx0XHQuLi5yZW1haW5pbmdQcm9wc1xyXG5cdFx0XHR9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHQvLyBkbyBub3QgcGFzcyBDb25uZWN0ZWRNb2RhbFdyYXBwZWRQcm9wcyB0byB3cmFwcGVkIGNvbXBvbmVudFxyXG5cdFx0XHRjb25zdCB3cmFwcGVkUHJvcHMgPSB7XHJcblx0XHRcdFx0Li4ucmVtYWluaW5nUHJvcHMsXHJcblx0XHRcdFx0Y2xvc2VNb2RhbDogdGhpcy5jbG9zZU1vZGFsXHJcblx0XHRcdH0gYXMgVE93blByb3BzICYgRnVsbHNjcmVlbk1vZGFsV3JhcHBlZFByb3BzXHJcblx0XHRcdGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0PFJlYWN0TW9kYWxcclxuXHRcdFx0XHRcdGlzT3Blbj17aXNPcGVufVxyXG5cdFx0XHRcdFx0Y29udGVudExhYmVsPXtjb250ZW50TGFiZWx9XHJcblx0XHRcdFx0XHRzdHlsZT17e1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiB7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdhYnNvbHV0ZScsXHJcblx0XHRcdFx0XHRcdFx0dG9wOiAwLFxyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDAsXHJcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDAsXHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwLFxyXG5cdFx0XHRcdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLFxyXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRvdmVybGF5OiB7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdhYnNvbHV0ZScsXHJcblx0XHRcdFx0XHRcdFx0dG9wOiAwLFxyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDAsXHJcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDAsXHJcblx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwLFxyXG5cdFx0XHRcdFx0XHRcdHpJbmRleDogekluZGV4ID8/IDIwMDBcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdC8vIGhpZGUgdGhlIHJlbmRlcmVkIHBvcnRhbCBpZiB0aGlzIGlzIG5vdCB0aGUgdG9wIG9wZW4gZnVsbHNjcmVlbiBtb2RhbFxyXG5cdFx0XHRcdFx0cG9ydGFsQ2xhc3NOYW1lPXtgUmVhY3RNb2RhbFBvcnRhbCR7IWlzVG9wT3BlbkZ1bGxzY3JlZW5Nb2RhbCA/ICcgZG4nIDogJyd9YH1cclxuXHRcdFx0XHRcdHNob3VsZENsb3NlT25PdmVybGF5Q2xpY2s9e2ZhbHNlfT5cclxuXHRcdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50IHsuLi53cmFwcGVkUHJvcHN9IC8+XHJcblx0XHRcdFx0PC9SZWFjdE1vZGFsPlxyXG5cdFx0XHQpXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogSE9DIHRoYXQgY29udGFpbnMgYSBgUmVhY3RNb2RhbGAgd2hpY2ggY2FuIGJlIGF1dG8gbWFuYWdlZCBvciBtYW5hZ2VkIHdpdGggcHJvcHMsXHJcbiAqIGFkZHMgZnVsbHNjcmVlbiBzdHlsZXMsIGFuZCBjb29yZGluYXRlcyBtb2RhbCBzdGF0ZSBpbiByZWR1eC5cclxuICpcclxuICogVXNlcyBgY29ubmVjdGVkTW9kYWxDb21wb25lbnRgLlxyXG4gKlxyXG4gKiBOT1RFOiBQbGVhc2UgYWRkIHRoZSBmb2xsb3dpbmcgY3NzXHJcbiAqXHJcbiAqIC5SZWFjdE1vZGFsX19Cb2R5LS1vcGVuIHtcclxuICogXHRvdmVyZmxvdzogaGlkZGVuO1xyXG4gKiB9XHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmdWxsc2NyZWVuTW9kYWxDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0PihcclxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIEZ1bGxzY3JlZW5Nb2RhbFdyYXBwZWRQcm9wcz5cclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzICYgRnVsbHNjcmVlbk1vZGFsT3duUHJvcHM+IHtcclxuXHRjb25zdCBjb21wb25lbnQgPSBjb25maWd1cmVGdWxsc2NyZWVuTW9kYWxDb21wb25lbnQ8VE93blByb3BzPihXcmFwcGVkQ29tcG9uZW50KVxyXG5cdHJldHVybiBjb25uZWN0ZWRNb2RhbENvbXBvbmVudChjb21wb25lbnQsIHRydWUpXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bGxzY3JlZW5Nb2RhbENvbXBvbmVudFxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyx3QkFBQSxHQUFBSCxPQUFBO0FBQStGLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUcvRjtBQUNBO0FBQ0E7QUFDQTs7QUFrQkE7O0FBS0E7O0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNLLGlDQUFp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
193
+ exports.fullscreenModalComponent = fullscreenModalComponent;
194
+ exports.default = fullscreenModalComponent;
@@ -18,7 +18,7 @@ export interface GroupRelatedEntity extends Model {
18
18
  * @param requiredActivity The required activity which is passed to the predicate for evaluation
19
19
  * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
20
20
  */
21
- export declare const configureMapStateToProps: (accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, redirectPath?: string | ((options: ActivityOptions) => string | undefined)) => (state: BaseReduxState, ownProps?: CollectionItemComponentWrappedProps<GroupRelatedEntity>) => ActivityRequiredStateProps;
21
+ export declare const configureMapStateToProps: <TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(accessPredicate: (requiredActivity: string, options: ActivityOptions) => boolean, requiredActivity: string, redirectPath?: string | ((options: ActivityOptions) => string | undefined) | undefined) => (state: BaseReduxState, ownProps?: TOwnProps | undefined) => ActivityRequiredStateProps;
22
22
  /**
23
23
  * This HOC ensures that the wrapped component is only rendered if the group referenced by
24
24
  * `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
@@ -28,4 +28,4 @@ export declare const configureMapStateToProps: (accessPredicate: (requiredActivi
28
28
  * @param requiredActivity The required activity which is passed to the predicate for evaluation
29
29
  * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
30
30
  */
31
- export default function groupActivityRequiredComponent<TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string, redirectPath?: string | ((options: ActivityOptions) => string | undefined)): ComponentClass<TOwnProps>;
31
+ export default function groupActivityRequiredComponent<TOwnProps extends CollectionItemComponentWrappedProps<GroupRelatedEntity>>(WrappedComponent: ComponentType<TOwnProps>, accessPredicate: (requiredActivity: string, options: any) => boolean, requiredActivity: string, redirectPath?: string | undefined | ((options: ActivityOptions) => string | undefined)): ComponentClass<TOwnProps>;
@@ -1,54 +1,53 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.configureMapStateToProps = void 0;
7
- exports.default = groupActivityRequiredComponent;
8
- var _reactRedux = require("react-redux");
9
- var _baseActivity = require("../../utils/baseActivity");
10
- var _ActivityRequiredComponent = require("./ActivityRequiredComponent");
11
- /**
12
- * An entity that has a `groupId`
13
- */
14
-
15
- /**
16
- * Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
17
- * checking whether the user has the passed `requiredActivity` for the group referenced by
18
- * `ownProps.model.groupId`, if any.
19
- *
20
- * @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
21
- * @param requiredActivity The required activity which is passed to the predicate for evaluation
22
- * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
23
- */
24
- const configureMapStateToProps = (accessPredicate, requiredActivity, redirectPath) => (state, ownProps) => {
25
- const entity = ownProps && state.models.groups ? state.models.groups[ownProps.model.groupId] : undefined;
26
- const options = {
27
- ...(0, _baseActivity.defaultOptions)(state, ownProps),
28
- ...{
29
- entity
30
- }
31
- };
32
- return {
33
- hasAccess: accessPredicate(requiredActivity, options),
34
- redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
35
- };
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
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);
36
12
  };
37
-
38
- /**
39
- * This HOC ensures that the wrapped component is only rendered if the group referenced by
40
- * `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
41
- *
42
- * @param WrappedComponent The component which requires activity/activities in order to render
43
- * @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
44
- * @param requiredActivity The required activity which is passed to the predicate for evaluation
45
- * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.configureMapStateToProps = void 0;
15
+ var react_redux_1 = require("react-redux");
16
+ var baseActivity_1 = require("../../utils/baseActivity");
17
+ var ActivityRequiredComponent_1 = require("./ActivityRequiredComponent");
18
+ /**
19
+ * Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
20
+ * checking whether the user has the passed `requiredActivity` for the group referenced by
21
+ * `ownProps.model.groupId`, if any.
22
+ *
23
+ * @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
24
+ * @param requiredActivity The required activity which is passed to the predicate for evaluation
25
+ * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
46
26
  */
27
+ var configureMapStateToProps = function (accessPredicate, requiredActivity, redirectPath) { return function (state, ownProps) {
28
+ var entity = ownProps && ownProps.model && state.models && state.models.groups
29
+ ? state.models.groups[ownProps.model.groupId]
30
+ : undefined;
31
+ var options = __assign(__assign({}, baseActivity_1.defaultOptions(state, ownProps)), { entity: entity });
32
+ return {
33
+ hasAccess: accessPredicate(requiredActivity, options),
34
+ redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
35
+ };
36
+ }; };
47
37
  exports.configureMapStateToProps = configureMapStateToProps;
38
+ /**
39
+ * This HOC ensures that the wrapped component is only rendered if the group referenced by
40
+ * `props.model.groupId`, if any, satisfies the `accessPredicate` for the `requiredActivity`.
41
+ *
42
+ * @param WrappedComponent The component which requires activity/activities in order to render
43
+ * @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
44
+ * @param requiredActivity The required activity which is passed to the predicate for evaluation
45
+ * @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
46
+ */
48
47
  function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
49
- const ActivityRequiredComponent = (0, _ActivityRequiredComponent.configureActivityRequiredComponent)(WrappedComponent);
50
- const mapStateToProps = configureMapStateToProps(accessPredicate, requiredActivity, redirectPath);
51
- // @ts-ignore: could not match inferred type from the `connect` HOC
52
- return (0, _reactRedux.connect)(mapStateToProps)(ActivityRequiredComponent);
48
+ var ActivityRequiredComponent = ActivityRequiredComponent_1.configureActivityRequiredComponent(WrappedComponent);
49
+ var mapStateToProps = exports.configureMapStateToProps(accessPredicate, requiredActivity, redirectPath);
50
+ // @ts-ignore: could not match inferred type from the `connect` HOC
51
+ return react_redux_1.connect(mapStateToProps)(ActivityRequiredComponent);
53
52
  }
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfYmFzZUFjdGl2aXR5IiwiX0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJhY2Nlc3NQcmVkaWNhdGUiLCJyZXF1aXJlZEFjdGl2aXR5IiwicmVkaXJlY3RQYXRoIiwic3RhdGUiLCJvd25Qcm9wcyIsImVudGl0eSIsIm1vZGVscyIsImdyb3VwcyIsIm1vZGVsIiwiZ3JvdXBJZCIsInVuZGVmaW5lZCIsIm9wdGlvbnMiLCJkZWZhdWx0T3B0aW9ucyIsImhhc0FjY2VzcyIsImV4cG9ydHMiLCJncm91cEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCIsImNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJjb25uZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0dyb3VwQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwgfSBmcm9tICcuLi8uLi90eXBlcydcclxuaW1wb3J0IHsgQWN0aXZpdHlPcHRpb25zLCBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2Jhc2VBY3Rpdml0eSdcclxuaW1wb3J0IHsgQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMsIGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuL0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQnXHJcbmltcG9ydCB7IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9Db2xsZWN0aW9uSXRlbUNvbXBvbmVudCdcclxuXHJcbi8qKlxyXG4gKiBBbiBlbnRpdHkgdGhhdCBoYXMgYSBgZ3JvdXBJZGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBSZWxhdGVkRW50aXR5IGV4dGVuZHMgTW9kZWwge1xyXG5cdGdyb3VwSWQ6IG51bWJlclxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGBtYXBTdGF0ZVRvUHJvcHNgIGZ1bmN0aW9uLiBBZGQgYSBgaGFzQWNjZXNzYCBib29sZWFuIHByb3BlcnR5IHRvIHRoZSBjb21wb25lbnQncyBwcm9wc1xyXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YCBmb3IgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcclxuICogYG93blByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnkuXHJcbiAqXHJcbiAqIEBwYXJhbSBhY2Nlc3NQcmVkaWNhdGUgQSBwcmVkaWNhdGUgYWNjZXB0aW5nIGEgcmVxdWlyZWQgYWN0aXZpdHkgYW5kIGFuIG9wdGlvbmFsIGVudGl0eSBhbmQvb3IgdXNlckluZm8gb2JqZWN0XHJcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XHJcblx0KFxyXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXHJcblx0XHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0XHRyZWRpcmVjdFBhdGg/OiBzdHJpbmcgfCAoKG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gc3RyaW5nIHwgdW5kZWZpbmVkKVxyXG5cdCkgPT5cclxuXHQoXHJcblx0XHRzdGF0ZTogQmFzZVJlZHV4U3RhdGUsXHJcblx0XHRvd25Qcm9wcz86IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPEdyb3VwUmVsYXRlZEVudGl0eT5cclxuXHQpOiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcyA9PiB7XHJcblx0XHRjb25zdCBlbnRpdHkgPSBvd25Qcm9wcyAmJiBzdGF0ZS5tb2RlbHMuZ3JvdXBzID8gc3RhdGUubW9kZWxzLmdyb3Vwc1tvd25Qcm9wcy5tb2RlbC5ncm91cElkXSA6IHVuZGVmaW5lZFxyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMoc3RhdGUsIG93blByb3BzKSwgLi4ueyBlbnRpdHkgfSB9IGFzIEFjdGl2aXR5T3B0aW9uc1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0aGFzQWNjZXNzOiBhY2Nlc3NQcmVkaWNhdGUocmVxdWlyZWRBY3Rpdml0eSwgb3B0aW9ucyksXHJcblx0XHRcdHJlZGlyZWN0UGF0aDogKHR5cGVvZiByZWRpcmVjdFBhdGggPT09ICdmdW5jdGlvbicgPyByZWRpcmVjdFBhdGgob3B0aW9ucykgOiByZWRpcmVjdFBhdGgpIHx8ICcvJ1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIG9ubHkgcmVuZGVyZWQgaWYgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcclxuICogYHByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnksIHNhdGlzZmllcyB0aGUgYGFjY2Vzc1ByZWRpY2F0ZWAgZm9yIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBncm91cEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQ8XHJcblx0VE93blByb3BzIGV4dGVuZHMgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8R3JvdXBSZWxhdGVkRW50aXR5PlxyXG4+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkgPT4gYm9vbGVhbixcclxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XHJcblx0Y29uc3QgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudClcclxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMoYWNjZXNzUHJlZGljYXRlLCByZXF1aXJlZEFjdGl2aXR5LCByZWRpcmVjdFBhdGgpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBR0E7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1HLHdCQUF3QixHQUNwQ0EsQ0FDQ0MsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsWUFBMEUsS0FFM0UsQ0FDQ0MsS0FBcUIsRUFDckJDLFFBQWtFLEtBQ2xDO0VBQ2hDLE1BQU1DLE1BQU0sR0FBR0QsUUFBUSxJQUFJRCxLQUFLLENBQUNHLE1BQU0sQ0FBQ0MsTUFBTSxHQUFHSixLQUFLLENBQUNHLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSCxRQUFRLENBQUNJLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLEdBQUdDLFNBQVM7RUFDeEcsTUFBTUMsT0FBTyxHQUFHO0lBQUUsR0FBRyxJQUFBQyw0QkFBYyxFQUFDVCxLQUFLLEVBQUVDLFFBQVEsQ0FBQztJQUFFLEdBQUc7TUFBRUM7SUFBTztFQUFFLENBQW9CO0VBQ3hGLE9BQU87SUFDTlEsU0FBUyxFQUFFYixlQUFlLENBQUNDLGdCQUFnQixFQUFFVSxPQUFPLENBQUM7SUFDckRULFlBQVksRUFBRSxDQUFDLE9BQU9BLFlBQVksS0FBSyxVQUFVLEdBQUdBLFlBQVksQ0FBQ1MsT0FBTyxDQUFDLEdBQUdULFlBQVksS0FBSztFQUM5RixDQUFDO0FBQ0YsQ0FBQzs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQVksT0FBQSxDQUFBZix3QkFBQSxHQUFBQSx3QkFBQTtBQVNlLFNBQVNnQiw4QkFBOEJBLENBR3JEQyxnQkFBMEMsRUFDMUNoQixlQUFvRSxFQUNwRUMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxFQUM5QztFQUM1QixNQUFNZSx5QkFBeUIsR0FBRyxJQUFBQyw2REFBa0MsRUFBQ0YsZ0JBQWdCLENBQUM7RUFDdEYsTUFBTUcsZUFBZSxHQUFHcEIsd0JBQXdCLENBQUNDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksQ0FBQztFQUNqRztFQUNBLE9BQU8sSUFBQWtCLG1CQUFPLEVBQUNELGVBQWUsQ0FBQyxDQUFDRix5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
53
+ exports.default = groupActivityRequiredComponent;
@@ -10,5 +10,5 @@ export interface GuidComponentState {
10
10
  *
11
11
  * @param WrappedComponent The component to wrap.
12
12
  */
13
- export declare function guidComponent<TOwnProps extends object>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
13
+ export declare function guidComponent<TOwnProps extends {}>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
14
14
  export default guidComponent;
@@ -1,33 +1,72 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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;
5
37
  });
6
- exports.default = void 0;
7
- exports.guidComponent = guidComponent;
8
- var _react = require("react");
9
- var _uuid = require("uuid");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- /**
12
- * HOC that provides a `guid` prop to the `WrappedComponent`.
13
- *
14
- * @param WrappedComponent The component to wrap.
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
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.guidComponent = void 0;
47
+ var react_1 = __importStar(require("react"));
48
+ var uuid_1 = require("uuid");
49
+ /**
50
+ * HOC that provides a `guid` prop to the `WrappedComponent`.
51
+ *
52
+ * @param WrappedComponent The component to wrap.
15
53
  */
16
- function guidComponent(WrappedComponent) {
17
- return class GuidComponent extends _react.Component {
18
- constructor(props) {
19
- super(props);
20
- this.state = {
21
- guid: (0, _uuid.v4)()
22
- };
23
- }
24
- render() {
25
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
26
- ...this.props,
27
- guid: this.state.guid
28
- });
29
- }
30
- };
54
+ function guidComponent(WrappedComponent // intersect type separates the guid props
55
+ ) {
56
+ return /** @class */ (function (_super) {
57
+ __extends(GuidComponent, _super);
58
+ function GuidComponent(props) {
59
+ var _this = _super.call(this, props) || this;
60
+ _this.state = {
61
+ guid: uuid_1.v4()
62
+ };
63
+ return _this;
64
+ }
65
+ GuidComponent.prototype.render = function () {
66
+ return react_1.default.createElement(WrappedComponent, __assign({}, this.props, { guid: this.state.guid }));
67
+ };
68
+ return GuidComponent;
69
+ }(react_1.Component));
31
70
  }
32
- var _default = exports.default = guidComponent;
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3V1aWQiLCJfanN4UnVudGltZSIsImd1aWRDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiR3VpZENvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImd1aWQiLCJ1dWlkdjQiLCJyZW5kZXIiLCJqc3giLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0d1aWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB7XHJcblx0Z3VpZDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFN0YXRlIHtcclxuXHRndWlkOiBzdHJpbmdcclxufVxyXG5cclxuLyoqXHJcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIGEgYGd1aWRgIHByb3AgdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC5cclxuICpcclxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgIFRoZSBjb21wb25lbnQgdG8gd3JhcC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBndWlkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzPiAvLyBpbnRlcnNlY3QgdHlwZSBzZXBhcmF0ZXMgdGhlIGd1aWQgcHJvcHNcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XHJcblx0cmV0dXJuIGNsYXNzIEd1aWRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8VE93blByb3BzLCBHdWlkQ29tcG9uZW50U3RhdGU+IHtcclxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBUT3duUHJvcHMpIHtcclxuXHRcdFx0c3VwZXIocHJvcHMpXHJcblx0XHRcdHRoaXMuc3RhdGUgPSB7XHJcblx0XHRcdFx0Z3VpZDogdXVpZHY0KClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJlbmRlcigpIHtcclxuXHRcdFx0cmV0dXJuIDxXcmFwcGVkQ29tcG9uZW50IHsuLi50aGlzLnByb3BzfSBndWlkPXt0aGlzLnN0YXRlLmd1aWR9IC8+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBndWlkQ29tcG9uZW50XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUFtQyxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFVbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNHLGFBQWFBLENBQzVCQyxnQkFBc0UsRUFDMUM7RUFDNUIsT0FBTyxNQUFNQyxhQUFhLFNBQVNDLGdCQUFTLENBQWdDO0lBQzNFQyxXQUFXQSxDQUFDQyxLQUFnQixFQUFFO01BQzdCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO01BQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUc7UUFDWkMsSUFBSSxFQUFFLElBQUFDLFFBQU0sRUFBQztNQUNkLENBQUM7SUFDRjtJQUVBQyxNQUFNQSxDQUFBLEVBQUc7TUFDUixvQkFBTyxJQUFBVixXQUFBLENBQUFXLEdBQUEsRUFBQ1QsZ0JBQWdCO1FBQUEsR0FBSyxJQUFJLENBQUNJLEtBQUs7UUFBRUUsSUFBSSxFQUFFLElBQUksQ0FBQ0QsS0FBSyxDQUFDQztNQUFLLENBQUUsQ0FBQztJQUNuRTtFQUNELENBQUM7QUFDRjtBQUFDLElBQUFJLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWNiLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
71
+ exports.guidComponent = guidComponent;
72
+ exports.default = guidComponent;