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,37 +1,156 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
6
7
  exports.Confirm = void 0;
7
- var ArrowBack_1 = __importDefault(require("@material-ui/icons/ArrowBack"));
8
- var Create_1 = __importDefault(require("@material-ui/icons/Create"));
9
- var react_1 = __importDefault(require("react"));
10
- var react_bootstrap_1 = require("react-bootstrap");
11
- var configuration_1 = require("../../constants/configuration");
12
- var lti_1 = require("../../utils/lti");
13
- var Confirm = function (_a) {
14
- var ltiLaunch = _a.ltiLaunch, onConfirm = _a.onConfirm, onCancel = _a.onCancel;
15
- var isWithinIFrame = lti_1.isInsideIFrame();
16
- return (react_1.default.createElement("div", { className: "tc " + (isWithinIFrame ? "mb4" : "mb5") },
17
- react_1.default.createElement(react_bootstrap_1.Row, null,
18
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12 },
19
- react_1.default.createElement("h2", { className: "f3 tc " + (isWithinIFrame ? "mv4" : "mb4") },
20
- "Would you like to set up ",
21
- react_1.default.createElement("strong", null, ltiLaunch.name),
22
- " in ",
23
- configuration_1.getAppConfig().APP_NAME,
24
- "?"))),
25
- react_1.default.createElement(react_bootstrap_1.Row, null,
26
- !isWithinIFrame && (react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, md: 6 },
27
- react_1.default.createElement(react_bootstrap_1.Button, { className: "ml0 mb3 mt3 br3 ws-normal button-large button-fat", variant: "light", onClick: onCancel },
28
- react_1.default.createElement(ArrowBack_1.default, { color: "primary", className: "icon-xl" }),
29
- react_1.default.createElement("h3", { className: "black" }, "Not now, thanks"),
30
- react_1.default.createElement("p", { className: "f6 mb0" }, "No problem! You can always come back and create your course later.")))),
31
- react_1.default.createElement(react_bootstrap_1.Col, { xs: 12, md: isWithinIFrame ? 12 : 6 },
32
- react_1.default.createElement(react_bootstrap_1.Button, { className: "ml0 mb3 mt3 br3 ws-normal button-large button-fat", variant: "light", onClick: onConfirm },
33
- react_1.default.createElement(Create_1.default, { color: "primary", className: "icon-xl" }),
34
- react_1.default.createElement("h3", { className: "black" }, "Sure!"),
35
- react_1.default.createElement("p", { className: "f6 mb0" }, "You\u2019ll be guided through creating your course. Let\u2019s get started!"))))));
8
+ var _reactCompilerRuntime = require("react-compiler-runtime");
9
+ var _ArrowBack = _interopRequireDefault(require("@material-ui/icons/ArrowBack"));
10
+ var _Create = _interopRequireDefault(require("@material-ui/icons/Create"));
11
+ var _reactBootstrap = require("react-bootstrap");
12
+ var _configuration = require("../../constants/configuration");
13
+ var _lti = require("../../utils/lti");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ const Confirm = t0 => {
16
+ const $ = (0, _reactCompilerRuntime.c)(19);
17
+ const {
18
+ ltiLaunch,
19
+ onConfirm,
20
+ onCancel
21
+ } = t0;
22
+ let t1;
23
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
24
+ t1 = (0, _lti.isInsideIFrame)();
25
+ $[0] = t1;
26
+ } else {
27
+ t1 = $[0];
28
+ }
29
+ const isWithinIFrame = t1;
30
+ let t2;
31
+ if ($[1] !== ltiLaunch.name) {
32
+ t2 = /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
33
+ children: ltiLaunch.name
34
+ });
35
+ $[1] = ltiLaunch.name;
36
+ $[2] = t2;
37
+ } else {
38
+ t2 = $[2];
39
+ }
40
+ let t3;
41
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
42
+ t3 = (0, _configuration.getAppConfig)();
43
+ $[3] = t3;
44
+ } else {
45
+ t3 = $[3];
46
+ }
47
+ let t4;
48
+ if ($[4] !== t2) {
49
+ t4 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Row, {
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
51
+ xs: 12,
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("h2", {
53
+ className: `f3 tc ${isWithinIFrame ? "mv4" : "mb4"}`,
54
+ children: ["Would you like to set up ", t2, " in ", t3.APP_NAME, "?"]
55
+ })
56
+ })
57
+ });
58
+ $[4] = t2;
59
+ $[5] = t4;
60
+ } else {
61
+ t4 = $[5];
62
+ }
63
+ let t5;
64
+ if ($[6] !== onCancel) {
65
+ t5 = !isWithinIFrame && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
66
+ xs: 12,
67
+ md: 6,
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
69
+ className: "ml0 mb3 mt3 br3 ws-normal button-large button-fat",
70
+ variant: "light",
71
+ onClick: onCancel,
72
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ArrowBack.default, {
73
+ color: "primary",
74
+ className: "icon-xl"
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
76
+ className: "black",
77
+ children: "Not now, thanks"
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
79
+ className: "f6 mb0",
80
+ children: "No problem! You can always come back and create your course later."
81
+ })]
82
+ })
83
+ });
84
+ $[6] = onCancel;
85
+ $[7] = t5;
86
+ } else {
87
+ t5 = $[7];
88
+ }
89
+ let t6;
90
+ let t7;
91
+ let t8;
92
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
93
+ t6 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Create.default, {
94
+ color: "primary",
95
+ className: "icon-xl"
96
+ });
97
+ t7 = /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
98
+ className: "black",
99
+ children: "Sure!"
100
+ });
101
+ t8 = /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
102
+ className: "f6 mb0",
103
+ children: "You\u2019ll be guided through creating your course. Let\u2019s get started!"
104
+ });
105
+ $[8] = t6;
106
+ $[9] = t7;
107
+ $[10] = t8;
108
+ } else {
109
+ t6 = $[8];
110
+ t7 = $[9];
111
+ t8 = $[10];
112
+ }
113
+ let t9;
114
+ if ($[11] !== onConfirm) {
115
+ t9 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
116
+ xs: 12,
117
+ md: isWithinIFrame ? 12 : 6,
118
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
119
+ className: "ml0 mb3 mt3 br3 ws-normal button-large button-fat",
120
+ variant: "light",
121
+ onClick: onConfirm,
122
+ children: [t6, t7, t8]
123
+ })
124
+ });
125
+ $[11] = onConfirm;
126
+ $[12] = t9;
127
+ } else {
128
+ t9 = $[12];
129
+ }
130
+ let t10;
131
+ if ($[13] !== t5 || $[14] !== t9) {
132
+ t10 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Row, {
133
+ children: [t5, t9]
134
+ });
135
+ $[13] = t5;
136
+ $[14] = t9;
137
+ $[15] = t10;
138
+ } else {
139
+ t10 = $[15];
140
+ }
141
+ let t11;
142
+ if ($[16] !== t10 || $[17] !== t4) {
143
+ t11 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
144
+ className: `tc ${isWithinIFrame ? "mb4" : "mb5"}`,
145
+ children: [t4, t10]
146
+ });
147
+ $[16] = t10;
148
+ $[17] = t4;
149
+ $[18] = t11;
150
+ } else {
151
+ t11 = $[18];
152
+ }
153
+ return t11;
36
154
  };
37
155
  exports.Confirm = Confirm;
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQXJyb3dCYWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQ3JlYXRlIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX2NvbmZpZ3VyYXRpb24iLCJfbHRpIiwiX2pzeFJ1bnRpbWUiLCJDb25maXJtIiwidDAiLCIkIiwiX3JlYWN0Q29tcGlsZXJSdW50aW1lIiwiYyIsImx0aUxhdW5jaCIsIm9uQ29uZmlybSIsIm9uQ2FuY2VsIiwidDEiLCJTeW1ib2wiLCJmb3IiLCJpc0luc2lkZUlGcmFtZSIsImlzV2l0aGluSUZyYW1lIiwidDIiLCJuYW1lIiwianN4IiwiY2hpbGRyZW4iLCJ0MyIsImdldEFwcENvbmZpZyIsInQ0IiwiUm93IiwiQ29sIiwieHMiLCJqc3hzIiwiY2xhc3NOYW1lIiwiQVBQX05BTUUiLCJ0NSIsIm1kIiwiQnV0dG9uIiwidmFyaWFudCIsImRlZmF1bHQiLCJjb2xvciIsInQ2IiwidDciLCJ0OCIsInQ5IiwidDEwIiwidDExIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0x0aS9Db25maXJtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXJyb3dCYWNrIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9BcnJvd0JhY2snXHJcbmltcG9ydCBDb250ZW50Q3JlYXRlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DcmVhdGUnXHJcbmltcG9ydCB7IEZ1bmN0aW9uQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IEJ1dHRvbiwgQ29sLCBSb3cgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnXHJcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWd1cmF0aW9uJ1xyXG5pbXBvcnQgeyBMdGlMYXVuY2ggfSBmcm9tICcuLi8uLi90eXBlcy9MdGlMYXVuY2gnXHJcbmltcG9ydCB7IGlzSW5zaWRlSUZyYW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMvbHRpJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtUHJvcHMge1xyXG5cdGx0aUxhdW5jaDogTHRpTGF1bmNoXHJcblx0b25Db25maXJtOiAoKSA9PiB2b2lkXHJcblx0b25DYW5jZWw6ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IENvbmZpcm06IEZ1bmN0aW9uQ29tcG9uZW50PENvbmZpcm1Qcm9wcz4gPSAoeyBsdGlMYXVuY2gsIG9uQ29uZmlybSwgb25DYW5jZWwgfSkgPT4ge1xyXG5cdGNvbnN0IGlzV2l0aGluSUZyYW1lID0gaXNJbnNpZGVJRnJhbWUoKVxyXG5cdHJldHVybiAoXHJcblx0XHQ8ZGl2IGNsYXNzTmFtZT17YHRjICR7aXNXaXRoaW5JRnJhbWUgPyBgbWI0YCA6IGBtYjVgfWB9PlxyXG5cdFx0XHQ8Um93PlxyXG5cdFx0XHRcdDxDb2wgeHM9ezEyfT5cclxuXHRcdFx0XHRcdDxoMiBjbGFzc05hbWU9e2BmMyB0YyAke2lzV2l0aGluSUZyYW1lID8gYG12NGAgOiBgbWI0YH1gfT5cclxuXHRcdFx0XHRcdFx0V291bGQgeW91IGxpa2UgdG8gc2V0IHVwIDxzdHJvbmc+e2x0aUxhdW5jaC5uYW1lfTwvc3Ryb25nPiBpbiB7Z2V0QXBwQ29uZmlnKCkuQVBQX05BTUV9P1xyXG5cdFx0XHRcdFx0PC9oMj5cclxuXHRcdFx0XHQ8L0NvbD5cclxuXHRcdFx0PC9Sb3c+XHJcblx0XHRcdDxSb3c+XHJcblx0XHRcdFx0eyFpc1dpdGhpbklGcmFtZSAmJiAoXHJcblx0XHRcdFx0XHQ8Q29sIHhzPXsxMn0gbWQ9ezZ9PlxyXG5cdFx0XHRcdFx0XHQ8QnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwibWwwIG1iMyBtdDMgYnIzIHdzLW5vcm1hbCBidXR0b24tbGFyZ2UgYnV0dG9uLWZhdFwiXHJcblx0XHRcdFx0XHRcdFx0dmFyaWFudD1cImxpZ2h0XCJcclxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXtvbkNhbmNlbH0+XHJcblx0XHRcdFx0XHRcdFx0PEFycm93QmFjayBjb2xvcj1cInByaW1hcnlcIiBjbGFzc05hbWU9XCJpY29uLXhsXCIgLz5cclxuXHRcdFx0XHRcdFx0XHQ8aDMgY2xhc3NOYW1lPVwiYmxhY2tcIj5Ob3Qgbm93LCB0aGFua3M8L2gzPlxyXG5cdFx0XHRcdFx0XHRcdDxwIGNsYXNzTmFtZT1cImY2IG1iMFwiPk5vIHByb2JsZW0hIFlvdSBjYW4gYWx3YXlzIGNvbWUgYmFjayBhbmQgY3JlYXRlIHlvdXIgY291cnNlIGxhdGVyLjwvcD5cclxuXHRcdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0XHQ8L0NvbD5cclxuXHRcdFx0XHQpfVxyXG5cdFx0XHRcdDxDb2wgeHM9ezEyfSBtZD17aXNXaXRoaW5JRnJhbWUgPyAxMiA6IDZ9PlxyXG5cdFx0XHRcdFx0PEJ1dHRvblxyXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU9XCJtbDAgbWIzIG10MyBicjMgd3Mtbm9ybWFsIGJ1dHRvbi1sYXJnZSBidXR0b24tZmF0XCJcclxuXHRcdFx0XHRcdFx0dmFyaWFudD1cImxpZ2h0XCJcclxuXHRcdFx0XHRcdFx0b25DbGljaz17b25Db25maXJtfT5cclxuXHRcdFx0XHRcdFx0PENvbnRlbnRDcmVhdGUgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3NOYW1lPVwiaWNvbi14bFwiIC8+XHJcblx0XHRcdFx0XHRcdDxoMyBjbGFzc05hbWU9XCJibGFja1wiPlN1cmUhPC9oMz5cclxuXHRcdFx0XHRcdFx0PHAgY2xhc3NOYW1lPVwiZjYgbWIwXCI+WW914oCZbGwgYmUgZ3VpZGVkIHRocm91Z2ggY3JlYXRpbmcgeW91ciBjb3Vyc2UuIExldOKAmXMgZ2V0IHN0YXJ0ZWQhPC9wPlxyXG5cdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0PC9Db2w+XHJcblx0XHRcdDwvUm93PlxyXG5cdFx0PC9kaXY+XHJcblx0KVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9B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
@@ -1,4 +1,4 @@
1
- import React, { FunctionComponent } from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  import { BaseReduxState, ExternalProvider, ModelCollection } from '../../types';
3
3
  import { AlertDialogProps } from '../AlertDialog';
4
4
  export interface CreateNonLtiGroupAlertDialogReduxProps {
@@ -9,5 +9,7 @@ export interface CreateNonLtiGroupAlertDialogProps extends Omit<AlertDialogProps
9
9
  }
10
10
  export declare const CreateNonLtiGroupAlertDialog: FunctionComponent<CreateNonLtiGroupAlertDialogProps>;
11
11
  export declare const mapStateToProps: (state: BaseReduxState) => CreateNonLtiGroupAlertDialogReduxProps;
12
- declare const _default: import("react-redux").ConnectedComponent<React.FunctionComponent<CreateNonLtiGroupAlertDialogProps>, Pick<React.PropsWithChildren<CreateNonLtiGroupAlertDialogProps>, "description" | "id" | "children" | "onCancel" | "isOpen" | "onProceed" | "proceedText" | "cancelText" | "hideCancel" | "onDestroy" | "destroyText" | "manualBackground" | "externalHelpResourcePageUrl">>;
12
+ declare const _default: import("react-redux").ConnectedComponent<FunctionComponent<CreateNonLtiGroupAlertDialogProps>, import("react-redux").Omit<CreateNonLtiGroupAlertDialogProps & {
13
+ children?: import("react").ReactNode | undefined;
14
+ }, "externalProviders">>;
13
15
  export default _default;
@@ -1,83 +1,175 @@
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
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.mapStateToProps = exports.CreateNonLtiGroupAlertDialog = void 0;
29
- var react_1 = __importDefault(require("react"));
30
- var react_redux_1 = require("react-redux");
31
- var constants_1 = require("../../constants");
32
- var externalProviderType_1 = require("../../constants/externalProviderType");
33
- var model_1 = require("../../utils/model");
34
- var AlertDialog_1 = require("../AlertDialog");
35
- var CreateNonLtiGroupAlertDialog = function (_a) {
36
- var externalProviders = _a.externalProviders, externalHelpResourcePageUrl = _a.externalHelpResourcePageUrl, otherProps = __rest(_a, ["externalProviders", "externalHelpResourcePageUrl"]);
37
- var isLtiRosterSyncEnabled = model_1.getModelArray(externalProviders)
38
- .filter(function (ep) { return ep.typename === externalProviderType_1.EXTERNAL_PROVIDER_TYPE.LTI; })
39
- .some(function (ep) { return ep.rosterSyncEnabled; });
40
- var isLtiGradePushEnabled = model_1.getModelArray(externalProviders)
41
- .filter(function (ep) { return ep.typename === externalProviderType_1.EXTERNAL_PROVIDER_TYPE.LTI; })
42
- .some(function (ep) { return ep.gradePushEnabled; });
43
- var isNonLtiRosterSyncEnabled = model_1.getModelArray(externalProviders)
44
- .filter(function (ep) { return ep.typename !== externalProviderType_1.EXTERNAL_PROVIDER_TYPE.LTI; })
45
- .some(function (ep) { return ep.rosterSyncEnabled; });
46
- var config = constants_1.getAppConfig();
47
- return (react_1.default.createElement(AlertDialog_1.AlertDialog, __assign({}, otherProps, { title: "Add a Course without " + config.LMS_NAME + " Integration", description: react_1.default.createElement(react_1.default.Fragment, null,
48
- react_1.default.createElement("p", { className: "mb4" },
49
- "You are about to manually add a course outside of ",
50
- config.LMS_NAME,
51
- ".",
52
- ((isLtiRosterSyncEnabled && !isNonLtiRosterSyncEnabled) || isLtiGradePushEnabled) && (react_1.default.createElement("span", { className: "b" },
53
- ' ',
54
- !isNonLtiRosterSyncEnabled && 'Roster Sync',
55
- isLtiRosterSyncEnabled &&
56
- !isNonLtiRosterSyncEnabled &&
57
- isLtiGradePushEnabled &&
58
- ' and ',
59
- isLtiGradePushEnabled && 'Grade Push',
60
- " will not be available in this course."))),
61
- externalHelpResourcePageUrl && (react_1.default.createElement("p", null,
62
- "For help on linking to your ",
63
- config.LMS_NAME,
64
- " course, please",
65
- ' ',
66
- react_1.default.createElement("a", { href: externalHelpResourcePageUrl, target: "_blank", rel: "noopener noreferrer" }, "check out our resources page"),
67
- ".")),
68
- react_1.default.createElement("p", { className: "mb0" },
69
- "Are you sure you want to add a course outside of ",
70
- config.LMS_NAME,
71
- "?")), cancelText: 'No, I changed my mind', proceedText: 'Yes, continue' })));
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mapStateToProps = exports.default = exports.CreateNonLtiGroupAlertDialog = void 0;
7
+ var _reactCompilerRuntime = require("react-compiler-runtime");
8
+ var _reactRedux = require("react-redux");
9
+ var _constants = require("../../constants");
10
+ var _externalProviderType = require("../../constants/externalProviderType");
11
+ var _model = require("../../utils/model");
12
+ var _AlertDialog = require("../AlertDialog");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ const CreateNonLtiGroupAlertDialog = t0 => {
15
+ const $ = (0, _reactCompilerRuntime.c)(26);
16
+ let externalHelpResourcePageUrl;
17
+ let externalProviders;
18
+ let otherProps;
19
+ if ($[0] !== t0) {
20
+ ({
21
+ externalProviders,
22
+ externalHelpResourcePageUrl,
23
+ ...otherProps
24
+ } = t0);
25
+ $[0] = t0;
26
+ $[1] = externalHelpResourcePageUrl;
27
+ $[2] = externalProviders;
28
+ $[3] = otherProps;
29
+ } else {
30
+ externalHelpResourcePageUrl = $[1];
31
+ externalProviders = $[2];
32
+ otherProps = $[3];
33
+ }
34
+ let t1;
35
+ if ($[4] !== externalProviders) {
36
+ t1 = (0, _model.getModelArray)(externalProviders).filter(_temp).some(_temp2);
37
+ $[4] = externalProviders;
38
+ $[5] = t1;
39
+ } else {
40
+ t1 = $[5];
41
+ }
42
+ const isLtiRosterSyncEnabled = t1;
43
+ let t2;
44
+ if ($[6] !== externalProviders) {
45
+ t2 = (0, _model.getModelArray)(externalProviders).filter(_temp3).some(_temp4);
46
+ $[6] = externalProviders;
47
+ $[7] = t2;
48
+ } else {
49
+ t2 = $[7];
50
+ }
51
+ const isLtiGradePushEnabled = t2;
52
+ let t3;
53
+ if ($[8] !== externalProviders) {
54
+ t3 = (0, _model.getModelArray)(externalProviders).filter(_temp5).some(_temp6);
55
+ $[8] = externalProviders;
56
+ $[9] = t3;
57
+ } else {
58
+ t3 = $[9];
59
+ }
60
+ const isNonLtiRosterSyncEnabled = t3;
61
+ let t4;
62
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
63
+ t4 = (0, _constants.getAppConfig)();
64
+ $[10] = t4;
65
+ } else {
66
+ t4 = $[10];
67
+ }
68
+ const config = t4;
69
+ let t5;
70
+ if ($[11] !== isLtiGradePushEnabled || $[12] !== isLtiRosterSyncEnabled || $[13] !== isNonLtiRosterSyncEnabled) {
71
+ t5 = (isLtiRosterSyncEnabled && !isNonLtiRosterSyncEnabled || isLtiGradePushEnabled) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
72
+ className: "b",
73
+ children: [" ", !isNonLtiRosterSyncEnabled && "Roster Sync", isLtiRosterSyncEnabled && !isNonLtiRosterSyncEnabled && isLtiGradePushEnabled && " and ", isLtiGradePushEnabled && "Grade Push", " will not be available in this course."]
74
+ });
75
+ $[11] = isLtiGradePushEnabled;
76
+ $[12] = isLtiRosterSyncEnabled;
77
+ $[13] = isNonLtiRosterSyncEnabled;
78
+ $[14] = t5;
79
+ } else {
80
+ t5 = $[14];
81
+ }
82
+ let t6;
83
+ if ($[15] !== t5) {
84
+ t6 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
85
+ className: "mb4",
86
+ children: ["You are about to manually add a course outside of ", config.LMS_NAME, ".", t5]
87
+ });
88
+ $[15] = t5;
89
+ $[16] = t6;
90
+ } else {
91
+ t6 = $[16];
92
+ }
93
+ let t7;
94
+ if ($[17] !== externalHelpResourcePageUrl) {
95
+ t7 = externalHelpResourcePageUrl && /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
96
+ children: ["For help on linking to your ", config.LMS_NAME, " course, please", " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
97
+ href: externalHelpResourcePageUrl,
98
+ target: "_blank",
99
+ rel: "noopener noreferrer",
100
+ children: "check out our resources page"
101
+ }), "."]
102
+ });
103
+ $[17] = externalHelpResourcePageUrl;
104
+ $[18] = t7;
105
+ } else {
106
+ t7 = $[18];
107
+ }
108
+ let t8;
109
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
110
+ t8 = /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
111
+ className: "mb0",
112
+ children: ["Are you sure you want to add a course outside of ", config.LMS_NAME, "?"]
113
+ });
114
+ $[19] = t8;
115
+ } else {
116
+ t8 = $[19];
117
+ }
118
+ let t9;
119
+ if ($[20] !== t6 || $[21] !== t7) {
120
+ t9 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
121
+ children: [t6, t7, t8]
122
+ });
123
+ $[20] = t6;
124
+ $[21] = t7;
125
+ $[22] = t9;
126
+ } else {
127
+ t9 = $[22];
128
+ }
129
+ let t10;
130
+ if ($[23] !== otherProps || $[24] !== t9) {
131
+ t10 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_AlertDialog.AlertDialog, {
132
+ ...otherProps,
133
+ title: `Add a Course without ${config.LMS_NAME} Integration`,
134
+ description: t9,
135
+ cancelText: "No, I changed my mind",
136
+ proceedText: "Yes, continue"
137
+ });
138
+ $[23] = otherProps;
139
+ $[24] = t9;
140
+ $[25] = t10;
141
+ } else {
142
+ t10 = $[25];
143
+ }
144
+ return t10;
72
145
  };
73
146
  exports.CreateNonLtiGroupAlertDialog = CreateNonLtiGroupAlertDialog;
74
- var mapStateToProps = function (state) {
75
- if (!state.models.externalProviders) {
76
- throw new Error('No externalProviders stored in redux');
77
- }
78
- return {
79
- externalProviders: state.models.externalProviders
80
- };
147
+ const mapStateToProps = state => {
148
+ if (!state.models.externalProviders) {
149
+ throw new Error('No externalProviders stored in redux');
150
+ }
151
+ return {
152
+ externalProviders: state.models.externalProviders
153
+ };
81
154
  };
82
155
  exports.mapStateToProps = mapStateToProps;
83
- exports.default = react_redux_1.connect(exports.mapStateToProps)(exports.CreateNonLtiGroupAlertDialog);
156
+ var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps)(CreateNonLtiGroupAlertDialog);
157
+ function _temp(ep) {
158
+ return ep.typename === _externalProviderType.EXTERNAL_PROVIDER_TYPE.LTI;
159
+ }
160
+ function _temp2(ep_0) {
161
+ return ep_0.rosterSyncEnabled;
162
+ }
163
+ function _temp3(ep_1) {
164
+ return ep_1.typename === _externalProviderType.EXTERNAL_PROVIDER_TYPE.LTI;
165
+ }
166
+ function _temp4(ep_2) {
167
+ return ep_2.gradePushEnabled;
168
+ }
169
+ function _temp5(ep_3) {
170
+ return ep_3.typename !== _externalProviderType.EXTERNAL_PROVIDER_TYPE.LTI;
171
+ }
172
+ function _temp6(ep_4) {
173
+ return ep_4.rosterSyncEnabled;
174
+ }
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2V4dGVybmFsUHJvdmlkZXJUeXBlIiwiX21vZGVsIiwiX0FsZXJ0RGlhbG9nIiwiX2pzeFJ1bnRpbWUiLCJDcmVhdGVOb25MdGlHcm91cEFsZXJ0RGlhbG9nIiwidDAiLCIkIiwiX3JlYWN0Q29tcGlsZXJSdW50aW1lIiwiYyIsImV4dGVybmFsSGVscFJlc291cmNlUGFnZVVybCIsImV4dGVybmFsUHJvdmlkZXJzIiwib3RoZXJQcm9wcyIsInQxIiwiZ2V0TW9kZWxBcnJheSIsImZpbHRlciIsIl90ZW1wIiwic29tZSIsIl90ZW1wMiIsImlzTHRpUm9zdGVyU3luY0VuYWJsZWQiLCJ0MiIsIl90ZW1wMyIsIl90ZW1wNCIsImlzTHRpR3JhZGVQdXNoRW5hYmxlZCIsInQzIiwiX3RlbXA1IiwiX3RlbXA2IiwiaXNOb25MdGlSb3N0ZXJTeW5jRW5hYmxlZCIsInQ0IiwiU3ltYm9sIiwiZm9yIiwiZ2V0QXBwQ29uZmlnIiwiY29uZmlnIiwidDUiLCJqc3hzIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJ0NiIsIkxNU19OQU1FIiwidDciLCJqc3giLCJ0YXJnZXQiLCJyZWwiLCJ0OCIsInQ5IiwiRnJhZ21lbnQiLCJ0MTAiLCJBbGVydERpYWxvZyIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJjYW5jZWxUZXh0IiwicHJvY2VlZFRleHQiLCJleHBvcnRzIiwibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJtb2RlbHMiLCJFcnJvciIsIl9kZWZhdWx0IiwiZGVmYXVsdCIsImNvbm5lY3QiLCJlcCIsInR5cGVuYW1lIiwiRVhURVJOQUxfUFJPVklERVJfVFlQRSIsIkxUSSIsImVwXzAiLCJyb3N0ZXJTeW5jRW5hYmxlZCIsImVwXzEiLCJlcF8yIiwiZ3JhZGVQdXNoRW5hYmxlZCIsImVwXzMiLCJlcF80Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTHRpL0NyZWF0ZU5vbkx0aUdyb3VwQWxlcnREaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZ1bmN0aW9uQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJ1xyXG5pbXBvcnQgeyBFWFRFUk5BTF9QUk9WSURFUl9UWVBFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2V4dGVybmFsUHJvdmlkZXJUeXBlJ1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgRXh0ZXJuYWxQcm92aWRlciwgTW9kZWxDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IGdldE1vZGVsQXJyYXkgfSBmcm9tICcuLi8uLi91dGlscy9tb2RlbCdcclxuaW1wb3J0IHsgQWxlcnREaWFsb2csIEFsZXJ0RGlhbG9nUHJvcHMgfSBmcm9tICcuLi9BbGVydERpYWxvZydcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTm9uTHRpR3JvdXBBbGVydERpYWxvZ1JlZHV4UHJvcHMge1xyXG5cdGV4dGVybmFsUHJvdmlkZXJzOiBNb2RlbENvbGxlY3Rpb248RXh0ZXJuYWxQcm92aWRlcj5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVOb25MdGlHcm91cEFsZXJ0RGlhbG9nUHJvcHNcclxuXHRleHRlbmRzIE9taXQ8QWxlcnREaWFsb2dQcm9wcywgJ3RpdGxlJz4sXHJcblx0XHRDcmVhdGVOb25MdGlHcm91cEFsZXJ0RGlhbG9nUmVkdXhQcm9wcyB7XHJcblx0ZXh0ZXJuYWxIZWxwUmVzb3VyY2VQYWdlVXJsPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVOb25MdGlHcm91cEFsZXJ0RGlhbG9nOiBGdW5jdGlvbkNvbXBvbmVudDxDcmVhdGVOb25MdGlHcm91cEFsZXJ0RGlhbG9nUHJvcHM+ID0gKHtcclxuXHRleHRlcm5hbFByb3ZpZGVycyxcclxuXHRleHRlcm5hbEhlbHBSZXNvdXJjZVBhZ2VVcmwsXHJcblx0Li4ub3RoZXJQcm9wc1xyXG59KSA9PiB7XHJcblx0Y29uc3QgaXNMdGlSb3N0ZXJTeW5jRW5hYmxlZCA9IGdldE1vZGVsQXJyYXkoZXh0ZXJuYWxQcm92aWRlcnMpXHJcblx0XHQuZmlsdGVyKGVwID0+IGVwLnR5cGVuYW1lID09PSBFWFRFUk5BTF9QUk9WSURFUl9UWVBFLkxUSSlcclxuXHRcdC5zb21lKGVwID0+IGVwLnJvc3RlclN5bmNFbmFibGVkKVxyXG5cclxuXHRjb25zdCBpc0x0aUdyYWRlUHVzaEVuYWJsZWQgPSBnZXRNb2RlbEFycmF5KGV4dGVybmFsUHJvdmlkZXJzKVxyXG5cdFx0LmZpbHRlcihlcCA9PiBlcC50eXBlbmFtZSA9PT0gRVhURVJOQUxfUFJPVklERVJfVFlQRS5MVEkpXHJcblx0XHQuc29tZShlcCA9PiBlcC5ncmFkZVB1c2hFbmFibGVkKVxyXG5cclxuXHRjb25zdCBpc05vbkx0aVJvc3RlclN5bmNFbmFibGVkID0gZ2V0TW9kZWxBcnJheShleHRlcm5hbFByb3ZpZGVycylcclxuXHRcdC5maWx0ZXIoZXAgPT4gZXAudHlwZW5hbWUgIT09IEVYVEVSTkFMX1BST1ZJREVSX1RZUEUuTFRJKVxyXG5cdFx0LnNvbWUoZXAgPT4gZXAucm9zdGVyU3luY0VuYWJsZWQpXHJcblxyXG5cdGNvbnN0IGNvbmZpZyA9IGdldEFwcENvbmZpZygpXHJcblxyXG5cdHJldHVybiAoXHJcblx0XHQ8QWxlcnREaWFsb2dcclxuXHRcdFx0ey4uLm90aGVyUHJvcHN9XHJcblx0XHRcdHRpdGxlPXtgQWRkIGEgQ291cnNlIHdpdGhvdXQgJHtjb25maWcuTE1TX05BTUV9IEludGVncmF0aW9uYH1cclxuXHRcdFx0ZGVzY3JpcHRpb249e1xyXG5cdFx0XHRcdDw+XHJcblx0XHRcdFx0XHQ8cCBjbGFzc05hbWU9XCJtYjRcIj5cclxuXHRcdFx0XHRcdFx0WW91IGFyZSBhYm91dCB0byBtYW51YWxseSBhZGQgYSBjb3Vyc2Ugb3V0c2lkZSBvZiB7Y29uZmlnLkxNU19OQU1FfS5cclxuXHRcdFx0XHRcdFx0eygoaXNMdGlSb3N0ZXJTeW5jRW5hYmxlZCAmJiAhaXNOb25MdGlSb3N0ZXJTeW5jRW5hYmxlZCkgfHwgaXNMdGlHcmFkZVB1c2hFbmFibGVkKSAmJiAoXHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3NOYW1lPVwiYlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0eycgJ31cclxuXHRcdFx0XHRcdFx0XHRcdHshaXNOb25MdGlSb3N0ZXJTeW5jRW5hYmxlZCAmJiAnUm9zdGVyIFN5bmMnfVxyXG5cdFx0XHRcdFx0XHRcdFx0e2lzTHRpUm9zdGVyU3luY0VuYWJsZWQgJiZcclxuXHRcdFx0XHRcdFx0XHRcdFx0IWlzTm9uTHRpUm9zdGVyU3luY0VuYWJsZWQgJiZcclxuXHRcdFx0XHRcdFx0XHRcdFx0aXNMdGlHcmFkZVB1c2hFbmFibGVkICYmXHJcblx0XHRcdFx0XHRcdFx0XHRcdCcgYW5kICd9XHJcblx0XHRcdFx0XHRcdFx0XHR7aXNMdGlHcmFkZVB1c2hFbmFibGVkICYmICdHcmFkZSBQdXNoJ30gd2lsbCBub3QgYmUgYXZhaWxhYmxlIGluIHRoaXMgY291cnNlLlxyXG5cdFx0XHRcdFx0XHRcdDwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0KX1cclxuXHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdHtleHRlcm5hbEhlbHBSZXNvdXJjZVBhZ2VVcmwgJiYgKFxyXG5cdFx0XHRcdFx0XHQ8cD5cclxuXHRcdFx0XHRcdFx0XHRGb3IgaGVscCBvbiBsaW5raW5nIHRvIHlvdXIge2NvbmZpZy5MTVNfTkFNRX0gY291cnNlLCBwbGVhc2V7JyAnfVxyXG5cdFx0XHRcdFx0XHRcdDxhIGhyZWY9e2V4dGVybmFsSGVscFJlc291cmNlUGFnZVVybH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2hlY2sgb3V0IG91ciByZXNvdXJjZXMgcGFnZVxyXG5cdFx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdFx0XHQuXHJcblx0XHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdCl9XHJcblx0XHRcdFx0XHQ8cCBjbGFzc05hbWU9XCJtYjBcIj5BcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWRkIGEgY291cnNlIG91dHNpZGUgb2Yge2NvbmZpZy5MTVNfTkFNRX0/PC9wPlxyXG5cdFx0XHRcdDwvPlxyXG5cdFx0XHR9XHJcblx0XHRcdGNhbmNlbFRleHQ9eydObywgSSBjaGFuZ2VkIG15IG1pbmQnfVxyXG5cdFx0XHRwcm9jZWVkVGV4dD17J1llcywgY29udGludWUnfVxyXG5cdFx0Lz5cclxuXHQpXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSAoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogQ3JlYXRlTm9uTHRpR3JvdXBBbGVydERpYWxvZ1JlZHV4UHJvcHMgPT4ge1xyXG5cdGlmICghc3RhdGUubW9kZWxzLmV4dGVybmFsUHJvdmlkZXJzKSB7XHJcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ05vIGV4dGVybmFsUHJvdmlkZXJzIHN0b3JlZCBpbiByZWR1eCcpXHJcblx0fVxyXG5cdHJldHVybiB7XHJcblx0XHRleHRlcm5hbFByb3ZpZGVyczogc3RhdGUubW9kZWxzLmV4dGVybmFsUHJvdmlkZXJzXHJcblx0fVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQ3JlYXRlTm9uTHRpR3JvdXBBbGVydERpYWxvZylcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUscUJBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQUE4RCxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFZdkQsTUFBTU0sNEJBQWtGLEdBQUdDLEVBQUE7RUFBQSxNQUFBQyxDQUFBLE9BQUFDLHFCQUFBLENBQUFDLENBQUE7RUFBQSxJQUFBQywyQkFBQTtFQUFBLElBQUFDLGlCQUFBO0VBQUEsSUFBQUMsVUFBQTtFQUFBLElBQUFMLENBQUEsUUFBQUQsRUFBQTtJQUFDO01BQUFLLGlCQUFBO01BQUFELDJCQUFBO01BQUEsR0FBQUU7SUFBQSxJQUFBTixFQUlsRztJQUFBQyxDQUFBLE1BQUFELEVBQUE7SUFBQUMsQ0FBQSxNQUFBRywyQkFBQTtJQUFBSCxDQUFBLE1BQUFJLGlCQUFBO0lBQUFKLENBQUEsTUFBQUssVUFBQTtFQUFBO0lBQUFGLDJCQUFBLEdBQUFILENBQUE7SUFBQUksaUJBQUEsR0FBQUosQ0FBQTtJQUFBSyxVQUFBLEdBQUFMLENBQUE7RUFBQTtFQUFBLElBQUFNLEVBQUE7RUFBQSxJQUFBTixDQUFBLFFBQUFJLGlCQUFBO0lBQytCRSxFQUFBLE9BQUFDLG9CQUFhLEVBQUNILGlCQUFpQixDQUFDLENBQUFJLE1BQ3ZELENBQUNDLEtBQWdELENBQUMsQ0FBQUMsSUFDcEQsQ0FBQ0MsTUFBMEIsQ0FBQztJQUFBWCxDQUFBLE1BQUFJLGlCQUFBO0lBQUFKLENBQUEsTUFBQU0sRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQU4sQ0FBQTtFQUFBO0VBRmxDLE1BQUFZLHNCQUFBLEdBQStCTixFQUVHO0VBQUEsSUFBQU8sRUFBQTtFQUFBLElBQUFiLENBQUEsUUFBQUksaUJBQUE7SUFFSlMsRUFBQSxPQUFBTixvQkFBYSxFQUFDSCxpQkFBaUIsQ0FBQyxDQUFBSSxNQUN0RCxDQUFDTSxNQUFnRCxDQUFDLENBQUFKLElBQ3BELENBQUNLLE1BQXlCLENBQUM7SUFBQWYsQ0FBQSxNQUFBSSxpQkFBQTtJQUFBSixDQUFBLE1BQUFhLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFiLENBQUE7RUFBQTtFQUZqQyxNQUFBZ0IscUJBQUEsR0FBOEJILEVBRUc7RUFBQSxJQUFBSSxFQUFBO0VBQUEsSUFBQWpCLENBQUEsUUFBQUksaUJBQUE7SUFFQ2EsRUFBQSxPQUFBVixvQkFBYSxFQUFDSCxpQkFBaUIsQ0FBQyxDQUFBSSxNQUMxRCxDQUFDVSxNQUFnRCxDQUFDLENBQUFSLElBQ3BELENBQUNTLE1BQTBCLENBQUM7SUFBQW5CLENBQUEsTUFBQUksaUJBQUE7SUFBQUosQ0FBQSxNQUFBaUIsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQWpCLENBQUE7RUFBQTtFQUZsQyxNQUFBb0IseUJBQUEsR0FBa0NILEVBRUE7RUFBQSxJQUFBSSxFQUFBO0VBQUEsSUFBQXJCLENBQUEsU0FBQXNCLE1BQUEsQ0FBQUMsR0FBQTtJQUVuQkYsRUFBQSxPQUFBRyx1QkFBWSxFQUFDLENBQUM7SUFBQXhCLENBQUEsT0FBQXFCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFyQixDQUFBO0VBQUE7RUFBN0IsTUFBQXlCLE1BQUEsR0FBZUosRUFBYztFQUFBLElBQUFLLEVBQUE7RUFBQSxJQUFBMUIsQ0FBQSxTQUFBZ0IscUJBQUEsSUFBQWhCLENBQUEsU0FBQVksc0JBQUEsSUFBQVosQ0FBQSxTQUFBb0IseUJBQUE7SUFVdkJNLEVBQUEsSUFBRWQsc0JBQW9ELElBQXBELENBQTJCUSx5QkFBbUQsSUFBL0VKLHFCQVVELGtCQVZBLElBQUFuQixXQUFBLENBQUE4QixJQUFBO01BQ2dCQyxTQUFHLEVBQUgsR0FBRztNQUFBQyxRQUFBLEdBQ2pCLEdBQUcsRUFDSCxDQUFDVCx5QkFBMEMsSUFBM0MsYUFBMkMsRUFDM0NSLHNCQUMwQixJQUQxQixDQUNDUSx5QkFDb0IsSUFGckJKLHFCQUdPLElBSFAsT0FHTyxFQUNQQSxxQkFBcUMsSUFBckMsWUFBcUMsRUFBQyx3Q0FDeEM7SUFBQSxDQUNELENBQUM7SUFBQWhCLENBQUEsT0FBQWdCLHFCQUFBO0lBQUFoQixDQUFBLE9BQUFZLHNCQUFBO0lBQUFaLENBQUEsT0FBQW9CLHlCQUFBO0lBQUFwQixDQUFBLE9BQUEwQixFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBMUIsQ0FBQTtFQUFBO0VBQUEsSUFBQThCLEVBQUE7RUFBQSxJQUFBOUIsQ0FBQSxTQUFBMEIsRUFBQTtJQVpGSSxFQUFBLG9CQUFBakMsV0FBQSxDQUFBOEIsSUFBQTtNQUFhQyxTQUFLLEVBQUwsS0FBSztNQUFBQyxRQUFBLEdBQUMsb0RBQ2dDLEVBQUNKLE1BQU0sQ0FBQU0sUUFBUyxFQUFDLEdBQ25FLEVBQUNMLEVBVUE7SUFBQSxDQUNDLENBQUM7SUFBQTFCLENBQUEsT0FBQTBCLEVBQUE7SUFBQTFCLENBQUEsT0FBQThCLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUE5QixDQUFBO0VBQUE7RUFBQSxJQUFBZ0MsRUFBQTtFQUFBLElBQUFoQyxDQUFBLFNBQUFHLDJCQUFBO0lBQ0g2QixFQUFBLEdBQUE3QiwyQkFRQSxpQkFSQSxJQUFBTixXQUFBLENBQUE4QixJQUFBO01BQUFFLFFBQUEsR0FDRyw4QkFDMEIsRUFBQ0osTUFBTSxDQUFBTSxRQUFTLEVBQUMsaUJBQWUsRUFBQyxHQUFHLGVBQ2hFLElBQUFsQyxXQUFBLENBQUFvQyxHQUFBO1FBQVM5QixJQUEyQixFQUEzQkEsMkJBQTJCO1FBQVMrQixNQUFRLEVBQVIsUUFBUTtRQUFLQyxHQUFxQixFQUFyQixxQkFBcUI7UUFBQU4sUUFBQSxFQUFDO01BRWhGLENBQUcsQ0FBQyxLQUVMO0lBQUEsQ0FDRCxDQUFDO0lBQUE3QixDQUFBLE9BQUFHLDJCQUFBO0lBQUFILENBQUEsT0FBQWdDLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFoQyxDQUFBO0VBQUE7RUFBQSxJQUFBb0MsRUFBQTtFQUFBLElBQUFwQyxDQUFBLFNBQUFzQixNQUFBLENBQUFDLEdBQUE7SUFDRGEsRUFBQSxvQkFBQXZDLFdBQUEsQ0FBQThCLElBQUE7TUFBYUMsU0FBSyxFQUFMLEtBQUs7TUFBQUMsUUFBQSxHQUFDLG1EQUFpRCxFQUFDSixNQUFNLENBQUFNLFFBQVMsRUFBQyxHQUFDO0lBQUEsQ0FBRyxDQUFDO0lBQUEvQixDQUFBLE9BQUFvQyxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBcEMsQ0FBQTtFQUFBO0VBQUEsSUFBQXFDLEVBQUE7RUFBQSxJQUFBckMsQ0FBQSxTQUFBOEIsRUFBQSxJQUFBOUIsQ0FBQSxTQUFBZ0MsRUFBQTtJQXhCM0ZLLEVBQUEsb0JBQUF4QyxXQUFBLENBQUE4QixJQUFBLEVBQUE5QixXQUFBLENBQUF5QyxRQUFBO01BQUFULFFBQUEsR0FDQ0MsRUFhSSxFQUNIRSxFQVFBLEVBQ0RJLEVBQTBGO0lBQUEsQ0FDekYsQ0FBQztJQUFBcEMsQ0FBQSxPQUFBOEIsRUFBQTtJQUFBOUIsQ0FBQSxPQUFBZ0MsRUFBQTtJQUFBaEMsQ0FBQSxPQUFBcUMsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQXJDLENBQUE7RUFBQTtFQUFBLElBQUF1QyxHQUFBO0VBQUEsSUFBQXZDLENBQUEsU0FBQUssVUFBQSxJQUFBTCxDQUFBLFNBQUFxQyxFQUFBO0lBN0JMRSxHQUFBLG9CQUFBMUMsV0FBQSxDQUFBb0MsR0FBQSxFQUFDckMsWUFBQSxDQUFBNEMsV0FBVztNQUFBLEdBQ1BuQyxVQUFVO01BQ1BvQyxLQUFxRCxFQUFyRCx3QkFBd0JoQixNQUFNLENBQUFNLFFBQVMsY0FBYztNQUUzRFcsV0F5QkcsRUF6QkhMLEVBeUJHO01BRVFNLFVBQXVCLEVBQXZCLHVCQUF1QjtNQUN0QkMsV0FBZSxFQUFmO0lBQWUsQ0FDNUIsQ0FBQztJQUFBNUMsQ0FBQSxPQUFBSyxVQUFBO0lBQUFMLENBQUEsT0FBQXFDLEVBQUE7SUFBQXJDLENBQUEsT0FBQXVDLEdBQUE7RUFBQTtJQUFBQSxHQUFBLEdBQUF2QyxDQUFBO0VBQUE7RUFBQSxPQWpDRnVDLEdBaUNFO0FBQUEsQ0FFSDtBQUFBTSxPQUFBLENBQUEvQyw0QkFBQSxHQUFBQSw0QkFBQTtBQUVNLE1BQU1nRCxlQUFlLEdBQUlDLEtBQXFCLElBQTZDO0VBQ2pHLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxNQUFNLENBQUM1QyxpQkFBaUIsRUFBRTtJQUNwQyxNQUFNLElBQUk2QyxLQUFLLENBQUMsc0NBQXNDLENBQUM7RUFDeEQ7RUFDQSxPQUFPO0lBQ043QyxpQkFBaUIsRUFBRTJDLEtBQUssQ0FBQ0MsTUFBTSxDQUFDNUM7RUFDakMsQ0FBQztBQUNGLENBQUM7QUFBQXlDLE9BQUEsQ0FBQUMsZUFBQSxHQUFBQSxlQUFBO0FBQUEsSUFBQUksUUFBQSxHQUFBTCxPQUFBLENBQUFNLE9BQUEsR0FFYyxJQUFBQyxtQkFBTyxFQUFDTixlQUFlLENBQUMsQ0FBQ2hELDRCQUE0QixDQUFDO0FBbEU2QixTQUFBVyxNQUFBNEMsRUFBQTtFQUFBLE9BTWxGQSxFQUFFLENBQUFDLFFBQVMsS0FBS0MsNENBQXNCLENBQUFDLEdBQUk7QUFBQTtBQU53QyxTQUFBN0MsT0FBQThDLElBQUE7RUFBQSxPQU9wRkosSUFBRSxDQUFBSyxpQkFBa0I7QUFBQTtBQVBnRSxTQUFBNUMsT0FBQTZDLElBQUE7RUFBQSxPQVVsRk4sSUFBRSxDQUFBQyxRQUFTLEtBQUtDLDRDQUFzQixDQUFBQyxHQUFJO0FBQUE7QUFWd0MsU0FBQXpDLE9BQUE2QyxJQUFBO0VBQUEsT0FXcEZQLElBQUUsQ0FBQVEsZ0JBQWlCO0FBQUE7QUFYaUUsU0FBQTNDLE9BQUE0QyxJQUFBO0VBQUEsT0FjbEZULElBQUUsQ0FBQUMsUUFBUyxLQUFLQyw0Q0FBc0IsQ0FBQUMsR0FBSTtBQUFBO0FBZHdDLFNBQUFyQyxPQUFBNEMsSUFBQTtFQUFBLE9BZXBGVixJQUFFLENBQUFLLGlCQUFrQjtBQUFBIiwiaWdub3JlTGlzdCI6W119