studiokit-scaffolding-js 7.0.12 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +166 -87
  5. package/lib/components/AlertDialog.d.ts +3 -3
  6. package/lib/components/AlertDialog.js +133 -18
  7. package/lib/components/AlertWithIcon.js +93 -52
  8. package/lib/components/ConnectedModal.d.ts +1 -2
  9. package/lib/components/ConnectedModal.js +43 -37
  10. package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
  11. package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
  12. package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
  13. package/lib/components/Dropdowns/ManagedNavDropdown.js +99 -111
  14. package/lib/components/Dropdowns/UserDropdown.js +109 -70
  15. package/lib/components/Dropdowns/index.js +27 -11
  16. package/lib/components/EntityOwnerList.d.ts +3 -3
  17. package/lib/components/EntityOwnerList.js +52 -60
  18. package/lib/components/Error.js +107 -27
  19. package/lib/components/ErrorBoundary.js +133 -94
  20. package/lib/components/ErrorMessage.d.ts +2 -2
  21. package/lib/components/ErrorMessage.js +44 -14
  22. package/lib/components/Forms/DateField.d.ts +2 -2
  23. package/lib/components/Forms/DateField.js +63 -95
  24. package/lib/components/Forms/TimeField.d.ts +2 -2
  25. package/lib/components/Forms/TimeField.js +84 -108
  26. package/lib/components/Forms/index.js +27 -13
  27. package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
  28. package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
  29. package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
  30. package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
  31. package/lib/components/Groups/ExternalGroups/Table.js +183 -76
  32. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
  33. package/lib/components/Groups/RosterSyncInfo.js +140 -49
  34. package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
  35. package/lib/components/HOC/AccessibleAppComponent.js +101 -124
  36. package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
  37. package/lib/components/HOC/ActivityRequiredComponent.js +93 -107
  38. package/lib/components/HOC/AsyncComponent.d.ts +9 -9
  39. package/lib/components/HOC/AsyncComponent.js +53 -129
  40. package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
  41. package/lib/components/HOC/AuthenticatedComponent.js +59 -96
  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 +52 -94
  46. package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
  47. package/lib/components/HOC/CollectionItemComponent.js +169 -168
  48. package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
  49. package/lib/components/HOC/ConnectedModalComponent.js +110 -140
  50. package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
  51. package/lib/components/HOC/DataDependentComponent.js +30 -79
  52. package/lib/components/HOC/EntityComponent.d.ts +13 -13
  53. package/lib/components/HOC/EntityComponent.js +74 -112
  54. package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
  55. package/lib/components/HOC/FullscreenModalComponent.js +165 -185
  56. package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
  57. package/lib/components/HOC/GroupActivityRequiredComponent.js +48 -47
  58. package/lib/components/HOC/GuidComponent.d.ts +1 -1
  59. package/lib/components/HOC/GuidComponent.js +29 -68
  60. package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
  61. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +42 -65
  62. package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
  63. package/lib/components/HOC/ModelErrorRedirectComponent.js +51 -94
  64. package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
  65. package/lib/components/HOC/SearchPersistorComponent.js +243 -216
  66. package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
  67. package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
  68. package/lib/components/HOC/UserComponent.d.ts +1 -1
  69. package/lib/components/HOC/UserComponent.js +12 -11
  70. package/lib/components/Icons/IconAlphaList.js +34 -20
  71. package/lib/components/Icons/IconExternalUser.js +34 -20
  72. package/lib/components/Icons/IconImpersonation.js +34 -20
  73. package/lib/components/Icons/IconStopImpersonating.js +34 -20
  74. package/lib/components/Icons/IconTable.js +35 -21
  75. package/lib/components/Icons/IconTableDeleteCol.js +34 -20
  76. package/lib/components/Icons/IconTableDeleteRow.js +34 -20
  77. package/lib/components/Icons/IconTableInsertCol.js +34 -20
  78. package/lib/components/Icons/IconTableInsertRow.js +34 -20
  79. package/lib/components/Impersonation/Button.d.ts +2 -2
  80. package/lib/components/Impersonation/Button.js +76 -56
  81. package/lib/components/Impersonation/Link.d.ts +2 -2
  82. package/lib/components/Impersonation/Link.js +76 -53
  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 +66 -17
  86. package/lib/components/Loading.js +27 -21
  87. package/lib/components/LockDownBrowser/Check.js +194 -107
  88. package/lib/components/LockDownBrowser/ExitButton.js +27 -14
  89. package/lib/components/LockDownBrowser/Launch.js +70 -85
  90. package/lib/components/Lti/Confirm.js +152 -33
  91. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
  92. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
  93. package/lib/components/Lti/Launch.js +105 -49
  94. package/lib/components/Lti/LaunchGroup.js +85 -39
  95. package/lib/components/ManageTable.d.ts +1 -2
  96. package/lib/components/ManageTable.js +309 -104
  97. package/lib/components/ManageTableNoDataComponent.js +42 -22
  98. package/lib/components/NewVersionAlert.d.ts +2 -2
  99. package/lib/components/NewVersionAlert.js +82 -91
  100. package/lib/components/NotFound.js +87 -28
  101. package/lib/components/Notifications.d.ts +4 -4
  102. package/lib/components/Notifications.js +187 -169
  103. package/lib/components/PaginationNextButton.js +33 -21
  104. package/lib/components/PaginationPreviousButton.js +33 -21
  105. package/lib/components/Quill/CustomToolbar.d.ts +2 -2
  106. package/lib/components/Quill/CustomToolbar.js +432 -257
  107. package/lib/components/Quill/Formats/Image.d.ts +10 -25
  108. package/lib/components/Quill/Formats/Image.js +80 -86
  109. package/lib/components/Quill/Formats/List.d.ts +6 -3
  110. package/lib/components/Quill/Formats/List.js +52 -74
  111. package/lib/components/Quill/Formats/Video.d.ts +2 -1
  112. package/lib/components/Quill/Formats/Video.js +31 -45
  113. package/lib/components/Quill/ImageDropModule.d.ts +1 -1
  114. package/lib/components/Quill/ImageDropModule.js +149 -122
  115. package/lib/components/Quill/ImageWarning.d.ts +2 -2
  116. package/lib/components/Quill/ImageWarning.js +45 -32
  117. package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
  118. package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
  119. package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
  120. package/lib/components/Quill/Specs/CustomImageSpec.js +43 -51
  121. package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
  122. package/lib/components/Quill/Specs/CustomVideoSpec.js +35 -44
  123. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
  124. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +105 -121
  125. package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
  126. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
  127. package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
  128. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
  129. package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
  130. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
  131. package/lib/components/Quill/TableModule/constants.js +45 -41
  132. package/lib/components/Quill/TableModule/index.css +171 -171
  133. package/lib/components/Quill/TableModule/index.d.ts +14 -5
  134. package/lib/components/Quill/TableModule/index.js +373 -313
  135. package/lib/components/Quill/TableModule/utils.js +45 -45
  136. package/lib/components/Quill/accessibilityFix.d.ts +0 -1
  137. package/lib/components/Quill/accessibilityFix.js +235 -251
  138. package/lib/components/Quill/index.js +36 -32
  139. package/lib/components/RefreshIndicator/Bordered.js +48 -32
  140. package/lib/components/RefreshIndicator/Inline.js +48 -33
  141. package/lib/components/RefreshIndicator/index.d.ts +2 -2
  142. package/lib/components/RefreshIndicator/index.js +263 -113
  143. package/lib/components/SearchControls.js +216 -31
  144. package/lib/components/SentryRoute.js +10 -23
  145. package/lib/components/Tables/RoleFilter.d.ts +3 -4
  146. package/lib/components/Tables/RoleFilter.js +71 -46
  147. package/lib/components/Tables/TextFilter.d.ts +2 -3
  148. package/lib/components/Tables/TextFilter.js +62 -20
  149. package/lib/components/UserRoles/Add.d.ts +3 -3
  150. package/lib/components/UserRoles/Add.js +199 -161
  151. package/lib/components/UserRoles/Context.js +11 -9
  152. package/lib/components/UserRoles/RoleCell.js +180 -100
  153. package/lib/components/UserRoles/Select.js +157 -51
  154. package/lib/components/UserRoles/Table.js +221 -102
  155. package/lib/components/UserRoles/index.d.ts +6 -6
  156. package/lib/components/UserRoles/index.js +537 -466
  157. package/lib/config/eslint/index.d.ts +2 -0
  158. package/lib/config/eslint/index.js +36 -0
  159. package/lib/config/eslint/lib/order.d.ts +3 -0
  160. package/lib/config/eslint/lib/order.js +30 -0
  161. package/lib/config/eslint/lib/prettier.d.ts +3 -0
  162. package/lib/config/eslint/lib/prettier.js +23 -0
  163. package/lib/config/eslint/lib/typescript.d.ts +2 -0
  164. package/lib/config/eslint/lib/typescript.js +98 -0
  165. package/lib/config/eslint/react.d.ts +2 -0
  166. package/lib/config/eslint/react.js +30 -0
  167. package/lib/constants/baseActivity.js +30 -26
  168. package/lib/constants/baseRole.js +14 -10
  169. package/lib/constants/configuration.d.ts +1 -1
  170. package/lib/constants/configuration.js +43 -39
  171. package/lib/constants/externalProviderType.js +10 -6
  172. package/lib/constants/fetchErrorData.js +15 -11
  173. package/lib/constants/index.js +137 -23
  174. package/lib/constants/lockDownBrowser.js +28 -24
  175. package/lib/constants/mockData.d.ts +4 -6
  176. package/lib/constants/mockData.js +385 -326
  177. package/lib/constants/modelStatus.js +15 -11
  178. package/lib/constants/notificationType.js +12 -8
  179. package/lib/constants/operatingSystem.js +12 -8
  180. package/lib/constants/shard.js +11 -7
  181. package/lib/constants/table.js +21 -21
  182. package/lib/constants/tier.js +12 -8
  183. package/lib/constants/userRole.d.ts +1 -2
  184. package/lib/constants/userRole.js +15 -17
  185. package/lib/css/base/_base.css +98 -98
  186. package/lib/css/base/_typography.css +130 -130
  187. package/lib/css/components/_alert.css +86 -86
  188. package/lib/css/components/_bootstrap-grid.css +28 -28
  189. package/lib/css/components/_buttons.css +397 -397
  190. package/lib/css/components/_forms.css +101 -101
  191. package/lib/css/components/_menu.css +56 -56
  192. package/lib/css/components/_modals.css +46 -46
  193. package/lib/css/components/_quill.css +315 -315
  194. package/lib/css/components/_tables.css +497 -497
  195. package/lib/css/components/_tags.css +12 -12
  196. package/lib/css/index-with-variables.css +15 -15
  197. package/lib/css/index.css +14 -14
  198. package/lib/css/utils/_border.css +463 -463
  199. package/lib/css/utils/_color.css +317 -317
  200. package/lib/css/utils/_display.css +305 -312
  201. package/lib/css/utils/_general.css +48 -48
  202. package/lib/css/utils/_icon.css +16 -16
  203. package/lib/css/utils/_text.css +25 -24
  204. package/lib/css/utils/_width.css +60 -60
  205. package/lib/css/variables.css +84 -84
  206. package/lib/endpointMappings.js +197 -193
  207. package/lib/hooks/useCollection.js +83 -65
  208. package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
  209. package/lib/hooks/useCollectionConfiguration.js +185 -88
  210. package/lib/hooks/useCollectionItem.js +155 -58
  211. package/lib/hooks/useEventCalback.d.ts +14 -0
  212. package/lib/hooks/useEventCalback.js +51 -0
  213. package/lib/hooks/useGuid.js +21 -10
  214. package/lib/hooks/usePrevious.d.ts +24 -1
  215. package/lib/hooks/usePrevious.js +84 -14
  216. package/lib/index.js +156 -36
  217. package/lib/redux/actionCreator.d.ts +6 -6
  218. package/lib/redux/actionCreator.js +51 -40
  219. package/lib/redux/actions/AuthAction.js +44 -31
  220. package/lib/redux/actions/ModalAction.d.ts +1 -1
  221. package/lib/redux/actions/ModalAction.js +10 -6
  222. package/lib/redux/actions/ModelAction.d.ts +1 -1
  223. package/lib/redux/actions/ModelAction.js +77 -49
  224. package/lib/redux/actions/NotificationAction.js +10 -6
  225. package/lib/redux/actions/SearchAction.js +9 -5
  226. package/lib/redux/actions/index.js +60 -16
  227. package/lib/redux/configureReducers.d.ts +2 -5
  228. package/lib/redux/configureReducers.js +67 -78
  229. package/lib/redux/configureStore.d.ts +2 -2
  230. package/lib/redux/configureStore.js +83 -115
  231. package/lib/redux/helpers.js +7 -2
  232. package/lib/redux/reducers/authReducer.js +52 -46
  233. package/lib/redux/reducers/index.js +41 -15
  234. package/lib/redux/reducers/modalsReducer.js +49 -52
  235. package/lib/redux/reducers/modelsReducer.d.ts +2 -2
  236. package/lib/redux/reducers/modelsReducer.js +183 -182
  237. package/lib/redux/reducers/notificationsReducer.js +26 -21
  238. package/lib/redux/reducers/searchReducer.js +26 -20
  239. package/lib/redux/sagas/appInsightsSaga.js +24 -62
  240. package/lib/redux/sagas/authSaga.js +287 -414
  241. package/lib/redux/sagas/caliperSaga.js +169 -263
  242. package/lib/redux/sagas/clockOffsetSaga.js +36 -77
  243. package/lib/redux/sagas/configurationSaga.js +13 -46
  244. package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
  245. package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
  246. package/lib/redux/sagas/errorSaga.d.ts +0 -1
  247. package/lib/redux/sagas/errorSaga.js +29 -63
  248. package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
  249. package/lib/redux/sagas/identityProviderSaga.js +24 -69
  250. package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
  251. package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
  252. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
  253. package/lib/redux/sagas/modelFetchSaga.js +379 -459
  254. package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
  255. package/lib/redux/sagas/noStoreSaga.js +68 -101
  256. package/lib/redux/sagas/postLoginDataSaga.js +47 -79
  257. package/lib/redux/sagas/postLoginRedirectSaga.js +30 -71
  258. package/lib/redux/sagas/rootSaga.js +85 -137
  259. package/lib/redux/sagas/sentrySaga.js +29 -85
  260. package/lib/redux/sagas/userIdSaga.js +18 -54
  261. package/lib/services/codeProviderService.js +25 -29
  262. package/lib/services/dateService.js +14 -12
  263. package/lib/services/documentService.js +18 -13
  264. package/lib/services/fetchService.js +134 -168
  265. package/lib/services/persistenceService.d.ts +4 -4
  266. package/lib/services/persistenceService.js +45 -43
  267. package/lib/services/ticketProviderService.js +29 -33
  268. package/lib/services/tokenPersistenceService.js +13 -9
  269. package/lib/services/windowService.js +21 -17
  270. package/lib/startup.d.ts +1 -1
  271. package/lib/startup.js +132 -135
  272. package/lib/types/AppConfiguration.js +5 -1
  273. package/lib/types/Artifact.js +11 -7
  274. package/lib/types/BaseReduxState.js +5 -1
  275. package/lib/types/Client.js +5 -1
  276. package/lib/types/Collection.d.ts +3 -3
  277. package/lib/types/Collection.js +5 -1
  278. package/lib/types/Configuration.js +5 -1
  279. package/lib/types/DeepLinkingResponseRequest.js +5 -1
  280. package/lib/types/DeletableModel.js +5 -1
  281. package/lib/types/Event.js +5 -1
  282. package/lib/types/ExternalGroup.js +5 -1
  283. package/lib/types/ExternalProvider.js +5 -1
  284. package/lib/types/ExternalTerm.js +5 -1
  285. package/lib/types/Group.js +5 -1
  286. package/lib/types/IdentityProvider.js +5 -1
  287. package/lib/types/LtiLaunch.js +5 -1
  288. package/lib/types/NameOnlyEntity.js +5 -1
  289. package/lib/types/Notification.d.ts +2 -2
  290. package/lib/types/Notification.js +5 -1
  291. package/lib/types/OptionalRecord.d.ts +1 -1
  292. package/lib/types/OptionalRecord.js +5 -1
  293. package/lib/types/OwnerSchedule.d.ts +3 -1
  294. package/lib/types/OwnerSchedule.js +5 -1
  295. package/lib/types/PropertyOfType.d.ts +3 -3
  296. package/lib/types/PropertyOfType.js +5 -1
  297. package/lib/types/Quill.js +5 -1
  298. package/lib/types/RoleDescription.d.ts +0 -1
  299. package/lib/types/RoleDescription.js +5 -1
  300. package/lib/types/Search.js +5 -1
  301. package/lib/types/SimpleLocation.js +5 -1
  302. package/lib/types/UniTime.js +5 -1
  303. package/lib/types/User.js +5 -1
  304. package/lib/types/UserRole.js +5 -1
  305. package/lib/types/auth/AuthState.js +5 -1
  306. package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
  307. package/lib/types/auth/ClientCredentials.js +5 -1
  308. package/lib/types/auth/CodeProviderService.js +5 -1
  309. package/lib/types/auth/LocalLoginRequestBody.js +5 -1
  310. package/lib/types/auth/TicketProviderService.js +5 -1
  311. package/lib/types/auth/TokenPersistenceService.js +5 -1
  312. package/lib/types/auth/index.js +82 -18
  313. package/lib/types/externals.d.js +2 -0
  314. package/lib/types/index.js +313 -39
  315. package/lib/types/net/EndpointConfig.js +5 -1
  316. package/lib/types/net/EndpointMapping.js +5 -1
  317. package/lib/types/net/EndpointMappings.js +5 -1
  318. package/lib/types/net/ErrorHandler.d.ts +1 -1
  319. package/lib/types/net/ErrorHandler.js +5 -1
  320. package/lib/types/net/FetchConfig.d.ts +1 -1
  321. package/lib/types/net/FetchConfig.js +5 -1
  322. package/lib/types/net/FetchErrorData.js +10 -6
  323. package/lib/types/net/FetchResult.d.ts +2 -2
  324. package/lib/types/net/FetchResult.js +5 -1
  325. package/lib/types/net/HTTPMethod.d.ts +1 -1
  326. package/lib/types/net/HTTPMethod.js +5 -1
  327. package/lib/types/net/HTTPStatusCode.js +16 -12
  328. package/lib/types/net/Metadata.js +5 -1
  329. package/lib/types/net/Model.js +5 -1
  330. package/lib/types/net/ModelCollection.js +5 -1
  331. package/lib/types/net/ModelsState.js +5 -1
  332. package/lib/types/net/OAuthToken.js +5 -1
  333. package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
  334. package/lib/types/net/OAuthTokenOrNull.js +5 -1
  335. package/lib/types/net/TokenAccessFunction.d.ts +1 -1
  336. package/lib/types/net/TokenAccessFunction.js +5 -1
  337. package/lib/types/net/index.js +181 -27
  338. package/lib/utils/baseActivity.d.ts +2 -2
  339. package/lib/utils/baseActivity.js +138 -136
  340. package/lib/utils/baseRole.js +37 -33
  341. package/lib/utils/collection.js +432 -310
  342. package/lib/utils/cookies.js +22 -37
  343. package/lib/utils/date.js +320 -320
  344. package/lib/utils/dom.js +186 -174
  345. package/lib/utils/domainIdentifier.js +9 -9
  346. package/lib/utils/entityUserRole.js +6 -2
  347. package/lib/utils/error.d.ts +1 -1
  348. package/lib/utils/error.js +18 -16
  349. package/lib/utils/events.js +40 -33
  350. package/lib/utils/externalGroup.js +25 -21
  351. package/lib/utils/externalProviders.js +8 -4
  352. package/lib/utils/externalTerms.js +9 -6
  353. package/lib/utils/fetch.d.ts +1 -1
  354. package/lib/utils/fetch.js +188 -185
  355. package/lib/utils/group.js +17 -9
  356. package/lib/utils/groupDates.d.ts +1 -1
  357. package/lib/utils/groupDates.js +43 -39
  358. package/lib/utils/groupRoles.js +28 -28
  359. package/lib/utils/lockDownBrowser.js +16 -12
  360. package/lib/utils/logger.js +30 -25
  361. package/lib/utils/lti.js +10 -5
  362. package/lib/utils/model.d.ts +2 -2
  363. package/lib/utils/model.js +39 -48
  364. package/lib/utils/number.js +23 -26
  365. package/lib/utils/promise.d.ts +6 -1
  366. package/lib/utils/promise.js +34 -15
  367. package/lib/utils/quill.js +66 -77
  368. package/lib/utils/route.d.ts +2 -2
  369. package/lib/utils/route.js +61 -60
  370. package/lib/utils/search.d.ts +1 -1
  371. package/lib/utils/search.js +78 -85
  372. package/lib/utils/shard.js +38 -41
  373. package/lib/utils/sort.d.ts +3 -3
  374. package/lib/utils/sort.js +62 -58
  375. package/lib/utils/string.js +14 -10
  376. package/lib/utils/table.d.ts +3 -3
  377. package/lib/utils/table.js +39 -36
  378. package/lib/utils/timezone.js +12 -26
  379. package/lib/utils/url.d.ts +2 -1
  380. package/lib/utils/url.js +146 -200
  381. package/lib/utils/user.js +59 -61
  382. package/lib/utils/userAgent.js +11 -11
  383. package/lib/utils/userRole.d.ts +3 -3
  384. package/lib/utils/userRole.js +58 -56
  385. package/package.json +224 -207
  386. package/lib/config/eslint/index.cjs +0 -21
  387. package/lib/config/eslint/lib/order.cjs +0 -22
  388. package/lib/config/eslint/lib/prettier.cjs +0 -18
  389. package/lib/config/eslint/lib/typescript.cjs +0 -86
  390. package/lib/config/eslint/react.cjs +0 -9
@@ -1,194 +1,174 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
- if (k2 === undefined) k2 = k;
28
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29
- }) : (function(o, m, k, k2) {
30
- if (k2 === undefined) k2 = k;
31
- o[k2] = m[k];
32
- }));
33
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
- Object.defineProperty(o, "default", { enumerable: true, value: v });
35
- }) : function(o, v) {
36
- o["default"] = v;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
37
6
  });
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.
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.
71
31
  */
72
32
  function configureFullscreenModalComponent(WrappedComponent) {
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;
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
+ }
108
142
  }
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));
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
+ };
173
153
  }
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.
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.
188
168
  */
189
169
  function fullscreenModalComponent(WrappedComponent) {
190
- var component = configureFullscreenModalComponent(WrappedComponent);
191
- return ConnectedModalComponent_1.connectedModalComponent(component, true);
170
+ const component = configureFullscreenModalComponent(WrappedComponent);
171
+ return (0, _ConnectedModalComponent.connectedModalComponent)(component, true);
192
172
  }
193
- exports.fullscreenModalComponent = fullscreenModalComponent;
194
- exports.default = fullscreenModalComponent;
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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
@@ -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: <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;
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;
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: <TOwnProps extends CollectionItem
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 | undefined | ((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 | ((options: ActivityOptions) => string | undefined)): ComponentClass<TOwnProps>;
@@ -1,53 +1,54 @@
1
1
  "use strict";
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);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
14
6
  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 '/'.
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`
26
13
  */
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
- }; };
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 '/'.
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 '/'.
46
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
+ };
36
+ };
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 '/'.
46
+ */
47
+ exports.configureMapStateToProps = configureMapStateToProps;
47
48
  function groupActivityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, redirectPath) {
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);
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);
52
53
  }
53
- exports.default = groupActivityRequiredComponent;
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfYmFzZUFjdGl2aXR5IiwiX0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJhY2Nlc3NQcmVkaWNhdGUiLCJyZXF1aXJlZEFjdGl2aXR5IiwicmVkaXJlY3RQYXRoIiwic3RhdGUiLCJvd25Qcm9wcyIsImVudGl0eSIsIm1vZGVscyIsImdyb3VwcyIsIm1vZGVsIiwiZ3JvdXBJZCIsInVuZGVmaW5lZCIsIm9wdGlvbnMiLCJkZWZhdWx0T3B0aW9ucyIsImhhc0FjY2VzcyIsImV4cG9ydHMiLCJncm91cEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCIsImNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJjb25uZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0dyb3VwQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwgfSBmcm9tICcuLi8uLi90eXBlcydcclxuaW1wb3J0IHsgQWN0aXZpdHlPcHRpb25zLCBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2Jhc2VBY3Rpdml0eSdcclxuaW1wb3J0IHsgQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMsIGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuL0FjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQnXHJcbmltcG9ydCB7IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9Db2xsZWN0aW9uSXRlbUNvbXBvbmVudCdcclxuXHJcbi8qKlxyXG4gKiBBbiBlbnRpdHkgdGhhdCBoYXMgYSBgZ3JvdXBJZGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBSZWxhdGVkRW50aXR5IGV4dGVuZHMgTW9kZWwge1xyXG5cdGdyb3VwSWQ6IG51bWJlclxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGBtYXBTdGF0ZVRvUHJvcHNgIGZ1bmN0aW9uLiBBZGQgYSBgaGFzQWNjZXNzYCBib29sZWFuIHByb3BlcnR5IHRvIHRoZSBjb21wb25lbnQncyBwcm9wc1xyXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YCBmb3IgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcclxuICogYG93blByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnkuXHJcbiAqXHJcbiAqIEBwYXJhbSBhY2Nlc3NQcmVkaWNhdGUgQSBwcmVkaWNhdGUgYWNjZXB0aW5nIGEgcmVxdWlyZWQgYWN0aXZpdHkgYW5kIGFuIG9wdGlvbmFsIGVudGl0eSBhbmQvb3IgdXNlckluZm8gb2JqZWN0XHJcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XHJcblx0KFxyXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXHJcblx0XHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0XHRyZWRpcmVjdFBhdGg/OiBzdHJpbmcgfCAoKG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gc3RyaW5nIHwgdW5kZWZpbmVkKVxyXG5cdCkgPT5cclxuXHQoXHJcblx0XHRzdGF0ZTogQmFzZVJlZHV4U3RhdGUsXHJcblx0XHRvd25Qcm9wcz86IENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPEdyb3VwUmVsYXRlZEVudGl0eT5cclxuXHQpOiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcyA9PiB7XHJcblx0XHRjb25zdCBlbnRpdHkgPSBvd25Qcm9wcyAmJiBzdGF0ZS5tb2RlbHMuZ3JvdXBzID8gc3RhdGUubW9kZWxzLmdyb3Vwc1tvd25Qcm9wcy5tb2RlbC5ncm91cElkXSA6IHVuZGVmaW5lZFxyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMoc3RhdGUsIG93blByb3BzKSwgLi4ueyBlbnRpdHkgfSB9IGFzIEFjdGl2aXR5T3B0aW9uc1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0aGFzQWNjZXNzOiBhY2Nlc3NQcmVkaWNhdGUocmVxdWlyZWRBY3Rpdml0eSwgb3B0aW9ucyksXHJcblx0XHRcdHJlZGlyZWN0UGF0aDogKHR5cGVvZiByZWRpcmVjdFBhdGggPT09ICdmdW5jdGlvbicgPyByZWRpcmVjdFBhdGgob3B0aW9ucykgOiByZWRpcmVjdFBhdGgpIHx8ICcvJ1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIG9ubHkgcmVuZGVyZWQgaWYgdGhlIGdyb3VwIHJlZmVyZW5jZWQgYnlcclxuICogYHByb3BzLm1vZGVsLmdyb3VwSWRgLCBpZiBhbnksIHNhdGlzZmllcyB0aGUgYGFjY2Vzc1ByZWRpY2F0ZWAgZm9yIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBncm91cEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQ8XHJcblx0VE93blByb3BzIGV4dGVuZHMgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8R3JvdXBSZWxhdGVkRW50aXR5PlxyXG4+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkgPT4gYm9vbGVhbixcclxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XHJcblx0Y29uc3QgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IGNvbmZpZ3VyZUFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudClcclxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMoYWNjZXNzUHJlZGljYXRlLCByZXF1aXJlZEFjdGl2aXR5LCByZWRpcmVjdFBhdGgpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSwwQkFBQSxHQUFBRixPQUFBO0FBR0E7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1HLHdCQUF3QixHQUNwQ0EsQ0FDQ0MsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsWUFBMEUsS0FFM0UsQ0FDQ0MsS0FBcUIsRUFDckJDLFFBQWtFLEtBQ2xDO0VBQ2hDLE1BQU1DLE1BQU0sR0FBR0QsUUFBUSxJQUFJRCxLQUFLLENBQUNHLE1BQU0sQ0FBQ0MsTUFBTSxHQUFHSixLQUFLLENBQUNHLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSCxRQUFRLENBQUNJLEtBQUssQ0FBQ0MsT0FBTyxDQUFDLEdBQUdDLFNBQVM7RUFDeEcsTUFBTUMsT0FBTyxHQUFHO0lBQUUsR0FBRyxJQUFBQyw0QkFBYyxFQUFDVCxLQUFLLEVBQUVDLFFBQVEsQ0FBQztJQUFFLEdBQUc7TUFBRUM7SUFBTztFQUFFLENBQW9CO0VBQ3hGLE9BQU87SUFDTlEsU0FBUyxFQUFFYixlQUFlLENBQUNDLGdCQUFnQixFQUFFVSxPQUFPLENBQUM7SUFDckRULFlBQVksRUFBRSxDQUFDLE9BQU9BLFlBQVksS0FBSyxVQUFVLEdBQUdBLFlBQVksQ0FBQ1MsT0FBTyxDQUFDLEdBQUdULFlBQVksS0FBSztFQUM5RixDQUFDO0FBQ0YsQ0FBQzs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQVksT0FBQSxDQUFBZix3QkFBQSxHQUFBQSx3QkFBQTtBQVNlLFNBQVNnQiw4QkFBOEJBLENBR3JEQyxnQkFBMEMsRUFDMUNoQixlQUFvRSxFQUNwRUMsZ0JBQXdCLEVBQ3hCQyxZQUEwRSxFQUM5QztFQUM1QixNQUFNZSx5QkFBeUIsR0FBRyxJQUFBQyw2REFBa0MsRUFBQ0YsZ0JBQWdCLENBQUM7RUFDdEYsTUFBTUcsZUFBZSxHQUFHcEIsd0JBQXdCLENBQUNDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksQ0FBQztFQUNqRztFQUNBLE9BQU8sSUFBQWtCLG1CQUFPLEVBQUNELGVBQWUsQ0FBQyxDQUFDRix5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -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 {}>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
13
+ export declare function guidComponent<TOwnProps extends object>(WrappedComponent: ComponentType<TOwnProps & GuidComponentWrappedProps>): ComponentClass<TOwnProps>;
14
14
  export default guidComponent;
@@ -1,72 +1,33 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __assign = (this && this.__assign) || function () {
16
- __assign = Object.assign || function(t) {
17
- for (var s, i = 1, n = arguments.length; i < n; i++) {
18
- s = arguments[i];
19
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
- t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
- if (k2 === undefined) k2 = k;
28
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29
- }) : (function(o, m, k, k2) {
30
- if (k2 === undefined) k2 = k;
31
- o[k2] = m[k];
32
- }));
33
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
- Object.defineProperty(o, "default", { enumerable: true, value: v });
35
- }) : function(o, v) {
36
- o["default"] = v;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
37
5
  });
38
- var __importStar = (this && this.__importStar) || function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- 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.
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.
53
15
  */
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));
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
+ };
70
31
  }
71
- exports.guidComponent = guidComponent;
72
- exports.default = guidComponent;
32
+ var _default = exports.default = guidComponent;
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3V1aWQiLCJfanN4UnVudGltZSIsImd1aWRDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiR3VpZENvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImd1aWQiLCJ1dWlkdjQiLCJyZW5kZXIiLCJqc3giLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0d1aWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB7XHJcblx0Z3VpZDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZENvbXBvbmVudFN0YXRlIHtcclxuXHRndWlkOiBzdHJpbmdcclxufVxyXG5cclxuLyoqXHJcbiAqIEhPQyB0aGF0IHByb3ZpZGVzIGEgYGd1aWRgIHByb3AgdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC5cclxuICpcclxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgIFRoZSBjb21wb25lbnQgdG8gd3JhcC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBndWlkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzPiAvLyBpbnRlcnNlY3QgdHlwZSBzZXBhcmF0ZXMgdGhlIGd1aWQgcHJvcHNcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XHJcblx0cmV0dXJuIGNsYXNzIEd1aWRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8VE93blByb3BzLCBHdWlkQ29tcG9uZW50U3RhdGU+IHtcclxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBUT3duUHJvcHMpIHtcclxuXHRcdFx0c3VwZXIocHJvcHMpXHJcblx0XHRcdHRoaXMuc3RhdGUgPSB7XHJcblx0XHRcdFx0Z3VpZDogdXVpZHY0KClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJlbmRlcigpIHtcclxuXHRcdFx0cmV0dXJuIDxXcmFwcGVkQ29tcG9uZW50IHsuLi50aGlzLnByb3BzfSBndWlkPXt0aGlzLnN0YXRlLmd1aWR9IC8+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBndWlkQ29tcG9uZW50XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUFtQyxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFVbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNHLGFBQWFBLENBQzVCQyxnQkFBc0UsRUFDMUM7RUFDNUIsT0FBTyxNQUFNQyxhQUFhLFNBQVNDLGdCQUFTLENBQWdDO0lBQzNFQyxXQUFXQSxDQUFDQyxLQUFnQixFQUFFO01BQzdCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO01BQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUc7UUFDWkMsSUFBSSxFQUFFLElBQUFDLFFBQU0sRUFBQztNQUNkLENBQUM7SUFDRjtJQUVBQyxNQUFNQSxDQUFBLEVBQUc7TUFDUixvQkFBTyxJQUFBVixXQUFBLENBQUFXLEdBQUEsRUFBQ1QsZ0JBQWdCO1FBQUEsR0FBSyxJQUFJLENBQUNJLEtBQUs7UUFBRUUsSUFBSSxFQUFFLElBQUksQ0FBQ0QsS0FBSyxDQUFDQztNQUFLLENBQUUsQ0FBQztJQUNuRTtFQUNELENBQUM7QUFDRjtBQUFDLElBQUFJLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRWNiLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=