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,176 +1,194 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
18
- }) : (function(o, m, k, k2) {
19
- if (k2 === undefined) k2 = k;
20
- o[k2] = m[k];
21
- }));
22
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
- Object.defineProperty(o, "default", { enumerable: true, value: v });
24
- }) : function(o, v) {
25
- o["default"] = v;
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
26
6
  });
27
- var __importStar = (this && this.__importStar) || function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.mapStateToProps = exports.Notifications = void 0;
39
- var core_1 = require("@material-ui/core");
40
- var Close_1 = __importDefault(require("@material-ui/icons/Close"));
41
- var react_1 = __importStar(require("react"));
42
- var react_redux_1 = require("react-redux");
43
- var uuid_1 = require("uuid");
44
- var constants_1 = require("../constants");
45
- var actionCreator_1 = require("../redux/actionCreator");
46
- var actions_1 = require("../redux/actions");
47
- var Notifications = /** @class */ (function (_super) {
48
- __extends(Notifications, _super);
49
- function Notifications(props) {
50
- var _this = _super.call(this, props) || this;
51
- _this.afterCloseTimeout = undefined;
52
- _this.clearAfterCloseTimeout = function () {
53
- if (_this.afterCloseTimeout) {
54
- clearTimeout(_this.afterCloseTimeout);
55
- _this.afterCloseTimeout = undefined;
56
- }
57
- };
58
- _this.updateNotification = function () {
59
- var _a = _this.props, openModalIds = _a.openModalIds, notifications = _a.notifications;
60
- var _b = _this.state, isOpen = _b.isOpen, currentNotification = _b.notification;
61
- // find next notification, if any
62
- var notification = notifications.length > 0 ? notifications[0] : undefined;
63
- // react to the last notification being removed, and close the alert
64
- if (isOpen && !notification) {
65
- _this.closeNotification();
66
- return;
67
- }
68
- // exit early if there is no notification
69
- if (!notification) {
70
- return;
71
- }
72
- var shouldShowNotification =
73
- // the notification is different from the current, if any
74
- notification.id !== (currentNotification === null || currentNotification === void 0 ? void 0 : currentNotification.id) &&
75
- // the alert is not open
76
- !isOpen &&
77
- // show immediately, ignoring modals
78
- (notification.modalId === null ||
79
- // show after all modals are closed
80
- (notification.modalId === undefined && openModalIds.length === 0) ||
81
- // show after a specific modal is closed
82
- (!!notification.modalId && !openModalIds.includes(notification.modalId)));
83
- if (shouldShowNotification) {
84
- _this.setState({
85
- notification: notification,
86
- className: _this.classNameForType(notification.type),
87
- isOpen: true
88
- });
89
- }
90
- };
91
- _this.closeNotification = function () {
92
- var notifications = _this.props.notifications;
93
- _this.setState({
94
- isOpen: false
95
- }, function () {
96
- // wait until after Snackbar hide animation to clear the UI
97
- _this.afterCloseTimeout = setTimeout(function () {
98
- _this.removeNotification();
99
- _this.clearAfterCloseTimeout();
100
- // removing the last notification, clear state
101
- if (notifications.length <= 1) {
102
- _this.setState({
103
- notification: undefined,
104
- className: ''
105
- });
106
- }
107
- }, 300);
108
- });
109
- };
110
- _this.removeNotification = function () {
111
- var notification = _this.state.notification;
112
- if (!notification) {
113
- return;
114
- }
115
- actionCreator_1.dispatchAction({
116
- type: actions_1.NOTIFICATION_ACTION_TYPE.REMOVE_NOTIFICATION,
117
- notification: notification
7
+ exports.mapStateToProps = exports.default = exports.Notifications = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _core = require("@material-ui/core");
10
+ var _Close = _interopRequireDefault(require("@material-ui/icons/Close"));
11
+ var _react = require("react");
12
+ var _reactRedux = require("react-redux");
13
+ var _uuid = require("uuid");
14
+ var _constants = require("../constants");
15
+ var _actionCreator = require("../redux/actionCreator");
16
+ var _actions = require("../redux/actions");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ class Notifications extends _react.Component {
19
+ constructor(props) {
20
+ super(props);
21
+ (0, _defineProperty2.default)(this, "afterCloseTimeout", undefined);
22
+ (0, _defineProperty2.default)(this, "clearAfterCloseTimeout", () => {
23
+ if (this.afterCloseTimeout) {
24
+ window.clearTimeout(this.afterCloseTimeout);
25
+ this.afterCloseTimeout = undefined;
26
+ }
27
+ });
28
+ (0, _defineProperty2.default)(this, "updateNotification", () => {
29
+ const {
30
+ openModalIds,
31
+ notifications
32
+ } = this.props;
33
+ const {
34
+ isOpen,
35
+ notification: currentNotification
36
+ } = this.state;
37
+
38
+ // find next notification, if any
39
+ const notification = notifications.length > 0 ? notifications[0] : undefined;
40
+
41
+ // react to the last notification being removed, and close the alert
42
+ if (isOpen && !notification) {
43
+ this.closeNotification();
44
+ return;
45
+ }
46
+
47
+ // exit early if there is no notification
48
+ if (!notification) {
49
+ return;
50
+ }
51
+ const shouldShowNotification =
52
+ // the notification is different from the current, if any
53
+ notification.id !== currentNotification?.id &&
54
+ // the alert is not open
55
+ !isOpen && (
56
+ // show immediately, ignoring modals
57
+ notification.modalId === null ||
58
+ // show after all modals are closed
59
+ notification.modalId === undefined && openModalIds.length === 0 ||
60
+ // show after a specific modal is closed
61
+ !!notification.modalId && !openModalIds.includes(notification.modalId));
62
+ if (shouldShowNotification) {
63
+ this.setState({
64
+ notification,
65
+ className: this.classNameForType(notification.type),
66
+ isOpen: true
67
+ });
68
+ }
69
+ });
70
+ (0, _defineProperty2.default)(this, "closeNotification", () => {
71
+ const {
72
+ notifications
73
+ } = this.props;
74
+ this.setState({
75
+ isOpen: false
76
+ }, () => {
77
+ // wait until after Snackbar hide animation to clear the UI
78
+ this.afterCloseTimeout = window.setTimeout(() => {
79
+ this.removeNotification();
80
+ this.clearAfterCloseTimeout();
81
+ // removing the last notification, clear state
82
+ if (notifications.length <= 1) {
83
+ this.setState({
84
+ notification: undefined,
85
+ className: ''
118
86
  });
119
- };
120
- _this.classNameForType = function (type) {
121
- switch (type) {
122
- case constants_1.NOTIFICATION_TYPE.INFO:
123
- return 'alert-info';
124
- case constants_1.NOTIFICATION_TYPE.SUCCESS:
125
- return 'alert-success';
126
- case constants_1.NOTIFICATION_TYPE.WARNING:
127
- return 'alert-warning';
128
- case constants_1.NOTIFICATION_TYPE.ERROR:
129
- return 'alert-danger';
130
- }
131
- };
132
- _this.state = {
133
- guid: uuid_1.v4(),
134
- notification: undefined,
135
- className: '',
136
- isOpen: false // use to handle animation separate from existence of notification
137
- };
138
- return _this;
139
- }
140
- Notifications.prototype.componentDidMount = function () {
141
- this.updateNotification();
87
+ }
88
+ }, 300);
89
+ });
90
+ });
91
+ (0, _defineProperty2.default)(this, "removeNotification", () => {
92
+ const {
93
+ notification
94
+ } = this.state;
95
+ if (!notification) {
96
+ return;
97
+ }
98
+ (0, _actionCreator.dispatchAction)({
99
+ type: _actions.NOTIFICATION_ACTION_TYPE.REMOVE_NOTIFICATION,
100
+ notification
101
+ });
102
+ });
103
+ (0, _defineProperty2.default)(this, "classNameForType", type => {
104
+ switch (type) {
105
+ case _constants.NOTIFICATION_TYPE.INFO:
106
+ return 'alert-info';
107
+ case _constants.NOTIFICATION_TYPE.SUCCESS:
108
+ return 'alert-success';
109
+ case _constants.NOTIFICATION_TYPE.WARNING:
110
+ return 'alert-warning';
111
+ case _constants.NOTIFICATION_TYPE.ERROR:
112
+ return 'alert-danger';
113
+ }
114
+ });
115
+ this.state = {
116
+ guid: (0, _uuid.v4)(),
117
+ notification: undefined,
118
+ className: '',
119
+ isOpen: false // use to handle animation separate from existence of notification
142
120
  };
143
- Notifications.prototype.componentDidUpdate = function () {
144
- this.updateNotification();
145
- };
146
- Notifications.prototype.componentWillUnmount = function () {
147
- var notifications = this.props.notifications;
148
- var isOpen = this.state.isOpen;
149
- if (isOpen && notifications.length > 0) {
150
- this.removeNotification();
151
- }
152
- this.clearAfterCloseTimeout();
153
- };
154
- Notifications.prototype.render = function () {
155
- var _a = this.state, guid = _a.guid, notification = _a.notification, className = _a.className, isOpen = _a.isOpen;
156
- var id = "notifications-" + guid;
157
- return (react_1.default.createElement("div", { id: id, "aria-live": "polite" },
158
- react_1.default.createElement(core_1.Snackbar, { anchorOrigin: { vertical: 'bottom', horizontal: 'center' }, open: isOpen, autoHideDuration: 5000, onClose: this.closeNotification, className: "mh2 alert notification-alert" },
159
- react_1.default.createElement(core_1.SnackbarContent, { className: className, "aria-describedby": id + "-alert-message", message: react_1.default.createElement("span", { id: id + "-alert-message", className: "notification-alert-message" },
160
- react_1.default.createElement("h4", { className: "normal pt2" }, !!notification && notification.text)), action: [
161
- react_1.default.createElement(core_1.Button, { className: "notification-close-button", "aria-label": "Close", color: "inherit", key: "close", onClick: this.removeNotification },
162
- react_1.default.createElement(Close_1.default, { className: "v-mid" }),
163
- "Close")
164
- ] }))));
165
- };
166
- return Notifications;
167
- }(react_1.Component));
121
+ }
122
+ componentDidMount() {
123
+ this.updateNotification();
124
+ }
125
+ componentDidUpdate() {
126
+ this.updateNotification();
127
+ }
128
+ componentWillUnmount() {
129
+ const {
130
+ notifications
131
+ } = this.props;
132
+ const {
133
+ isOpen
134
+ } = this.state;
135
+ if (isOpen && notifications.length > 0) {
136
+ this.removeNotification();
137
+ }
138
+ this.clearAfterCloseTimeout();
139
+ }
140
+ render() {
141
+ const {
142
+ guid,
143
+ notification,
144
+ className,
145
+ isOpen
146
+ } = this.state;
147
+ const id = `notifications-${guid}`;
148
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
149
+ id: id,
150
+ "aria-live": "polite",
151
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.Snackbar, {
152
+ anchorOrigin: {
153
+ vertical: 'bottom',
154
+ horizontal: 'center'
155
+ },
156
+ open: isOpen,
157
+ autoHideDuration: 5000,
158
+ onClose: this.closeNotification,
159
+ className: "mh2 alert notification-alert",
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_core.SnackbarContent, {
161
+ className: className,
162
+ "aria-describedby": `${id}-alert-message`,
163
+ message: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
164
+ id: `${id}-alert-message`,
165
+ className: "notification-alert-message",
166
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("h4", {
167
+ className: "normal pt2",
168
+ children: !!notification && notification.text
169
+ })
170
+ }),
171
+ action: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.Button, {
172
+ className: "notification-close-button",
173
+ "aria-label": "Close",
174
+ color: "inherit",
175
+ onClick: this.removeNotification,
176
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {
177
+ className: "v-mid"
178
+ }), "Close"]
179
+ }, "close")]
180
+ })
181
+ })
182
+ });
183
+ }
184
+ }
168
185
  exports.Notifications = Notifications;
169
- var mapStateToProps = function (state) {
170
- return {
171
- notifications: state.notifications.queue,
172
- openModalIds: Object.keys(state.modals)
173
- };
186
+ const mapStateToProps = state => {
187
+ return {
188
+ notifications: state.notifications.queue,
189
+ openModalIds: Object.keys(state.modals)
190
+ };
174
191
  };
175
192
  exports.mapStateToProps = mapStateToProps;
176
- exports.default = react_redux_1.connect(exports.mapStateToProps)(Notifications);
193
+ var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps)(Notifications);
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfQ2xvc2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfdXVpZCIsIl9jb25zdGFudHMiLCJfYWN0aW9uQ3JlYXRvciIsIl9hY3Rpb25zIiwiX2pzeFJ1bnRpbWUiLCJOb3RpZmljYXRpb25zIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwidW5kZWZpbmVkIiwiYWZ0ZXJDbG9zZVRpbWVvdXQiLCJ3aW5kb3ciLCJjbGVhclRpbWVvdXQiLCJvcGVuTW9kYWxJZHMiLCJub3RpZmljYXRpb25zIiwiaXNPcGVuIiwibm90aWZpY2F0aW9uIiwiY3VycmVudE5vdGlmaWNhdGlvbiIsInN0YXRlIiwibGVuZ3RoIiwiY2xvc2VOb3RpZmljYXRpb24iLCJzaG91bGRTaG93Tm90aWZpY2F0aW9uIiwiaWQiLCJtb2RhbElkIiwiaW5jbHVkZXMiLCJzZXRTdGF0ZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZUZvclR5cGUiLCJ0eXBlIiwic2V0VGltZW91dCIsInJlbW92ZU5vdGlmaWNhdGlvbiIsImNsZWFyQWZ0ZXJDbG9zZVRpbWVvdXQiLCJkaXNwYXRjaEFjdGlvbiIsIk5PVElGSUNBVElPTl9BQ1RJT05fVFlQRSIsIlJFTU9WRV9OT1RJRklDQVRJT04iLCJOT1RJRklDQVRJT05fVFlQRSIsIklORk8iLCJTVUNDRVNTIiwiV0FSTklORyIsIkVSUk9SIiwiZ3VpZCIsInV1aWR2NCIsImNvbXBvbmVudERpZE1vdW50IiwidXBkYXRlTm90aWZpY2F0aW9uIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW5kZXIiLCJqc3giLCJjaGlsZHJlbiIsIlNuYWNrYmFyIiwiYW5jaG9yT3JpZ2luIiwidmVydGljYWwiLCJob3Jpem9udGFsIiwib3BlbiIsImF1dG9IaWRlRHVyYXRpb24iLCJvbkNsb3NlIiwiU25hY2tiYXJDb250ZW50IiwibWVzc2FnZSIsInRleHQiLCJhY3Rpb24iLCJqc3hzIiwiQnV0dG9uIiwiY29sb3IiLCJvbkNsaWNrIiwiZXhwb3J0cyIsIm1hcFN0YXRlVG9Qcm9wcyIsInF1ZXVlIiwiT2JqZWN0Iiwia2V5cyIsIm1vZGFscyIsIl9kZWZhdWx0IiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL05vdGlmaWNhdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbiwgU25hY2tiYXIsIFNuYWNrYmFyQ29udGVudCB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJ1xyXG5pbXBvcnQgSWNvbkNsb3NlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DbG9zZSdcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcclxuaW1wb3J0IHsgTk9USUZJQ0FUSU9OX1RZUEUgfSBmcm9tICcuLi9jb25zdGFudHMnXHJcbmltcG9ydCB7IGRpc3BhdGNoQWN0aW9uIH0gZnJvbSAnLi4vcmVkdXgvYWN0aW9uQ3JlYXRvcidcclxuaW1wb3J0IHsgTk9USUZJQ0FUSU9OX0FDVElPTl9UWVBFLCBOb3RpZmljYXRpb25BY3Rpb24gfSBmcm9tICcuLi9yZWR1eC9hY3Rpb25zJ1xyXG5pbXBvcnQgeyBNb2RhbHNTdGF0ZSB9IGZyb20gJy4uL3JlZHV4L3JlZHVjZXJzL21vZGFsc1JlZHVjZXInXHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblN0YXRlIH0gZnJvbSAnLi4vcmVkdXgvcmVkdWNlcnMvbm90aWZpY2F0aW9uc1JlZHVjZXInXHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMge1xyXG5cdC8qKiBUaGUgcXVldWUgb2Ygbm90aWZpY2F0aW9ucywgRklGTyAqL1xyXG5cdG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdXHJcblx0LyoqIFRoZSBpZGVudGlmaWVycyBmb3IgYWxsIGN1cnJlbnRseSBvcGVuIG1vZGFscywgdXNlZCB0byBjb3JyZWxhdGUgd2l0aCBgbm90aWZpY2F0aW9uLm1vZGFsSWRgICovXHJcblx0b3Blbk1vZGFsSWRzOiBzdHJpbmdbXVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uc1N0YXRlIHtcclxuXHRndWlkOiBzdHJpbmdcclxuXHRub3RpZmljYXRpb24/OiBOb3RpZmljYXRpb25cclxuXHRjbGFzc05hbWU6IHN0cmluZ1xyXG5cdGlzT3BlbjogYm9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9ucyBleHRlbmRzIENvbXBvbmVudDxOb3RpZmljYXRpb25zUHJvcHMsIE5vdGlmaWNhdGlvbnNTdGF0ZT4ge1xyXG5cdGFmdGVyQ2xvc2VUaW1lb3V0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcclxuXHJcblx0Y29uc3RydWN0b3IocHJvcHM6IE5vdGlmaWNhdGlvbnNQcm9wcykge1xyXG5cdFx0c3VwZXIocHJvcHMpXHJcblx0XHR0aGlzLnN0YXRlID0ge1xyXG5cdFx0XHRndWlkOiB1dWlkdjQoKSxcclxuXHRcdFx0bm90aWZpY2F0aW9uOiB1bmRlZmluZWQsXHJcblx0XHRcdGNsYXNzTmFtZTogJycsXHJcblx0XHRcdGlzT3BlbjogZmFsc2UgLy8gdXNlIHRvIGhhbmRsZSBhbmltYXRpb24gc2VwYXJhdGUgZnJvbSBleGlzdGVuY2Ugb2Ygbm90aWZpY2F0aW9uXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjb21wb25lbnREaWRNb3VudCgpIHtcclxuXHRcdHRoaXMudXBkYXRlTm90aWZpY2F0aW9uKClcclxuXHR9XHJcblxyXG5cdGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcclxuXHRcdHRoaXMudXBkYXRlTm90aWZpY2F0aW9uKClcclxuXHR9XHJcblxyXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG5cdFx0Y29uc3QgeyBub3RpZmljYXRpb25zIH0gPSB0aGlzLnByb3BzXHJcblx0XHRjb25zdCB7IGlzT3BlbiB9ID0gdGhpcy5zdGF0ZVxyXG5cdFx0aWYgKGlzT3BlbiAmJiBub3RpZmljYXRpb25zLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0dGhpcy5yZW1vdmVOb3RpZmljYXRpb24oKVxyXG5cdFx0fVxyXG5cdFx0dGhpcy5jbGVhckFmdGVyQ2xvc2VUaW1lb3V0KClcclxuXHR9XHJcblxyXG5cdGNsZWFyQWZ0ZXJDbG9zZVRpbWVvdXQgPSAoKSA9PiB7XHJcblx0XHRpZiAodGhpcy5hZnRlckNsb3NlVGltZW91dCkge1xyXG5cdFx0XHR3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuYWZ0ZXJDbG9zZVRpbWVvdXQpXHJcblx0XHRcdHRoaXMuYWZ0ZXJDbG9zZVRpbWVvdXQgPSB1bmRlZmluZWRcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVwZGF0ZU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcclxuXHRcdGNvbnN0IHsgb3Blbk1vZGFsSWRzLCBub3RpZmljYXRpb25zIH0gPSB0aGlzLnByb3BzXHJcblx0XHRjb25zdCB7IGlzT3Blbiwgbm90aWZpY2F0aW9uOiBjdXJyZW50Tm90aWZpY2F0aW9uIH0gPSB0aGlzLnN0YXRlXHJcblxyXG5cdFx0Ly8gZmluZCBuZXh0IG5vdGlmaWNhdGlvbiwgaWYgYW55XHJcblx0XHRjb25zdCBub3RpZmljYXRpb24gPSBub3RpZmljYXRpb25zLmxlbmd0aCA+IDAgPyBub3RpZmljYXRpb25zWzBdIDogdW5kZWZpbmVkXHJcblxyXG5cdFx0Ly8gcmVhY3QgdG8gdGhlIGxhc3Qgbm90aWZpY2F0aW9uIGJlaW5nIHJlbW92ZWQsIGFuZCBjbG9zZSB0aGUgYWxlcnRcclxuXHRcdGlmIChpc09wZW4gJiYgIW5vdGlmaWNhdGlvbikge1xyXG5cdFx0XHR0aGlzLmNsb3NlTm90aWZpY2F0aW9uKClcclxuXHRcdFx0cmV0dXJuXHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gZXhpdCBlYXJseSBpZiB0aGVyZSBpcyBubyBub3RpZmljYXRpb25cclxuXHRcdGlmICghbm90aWZpY2F0aW9uKSB7XHJcblx0XHRcdHJldHVyblxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHNob3VsZFNob3dOb3RpZmljYXRpb24gPVxyXG5cdFx0XHQvLyB0aGUgbm90aWZpY2F0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50LCBpZiBhbnlcclxuXHRcdFx0bm90aWZpY2F0aW9uLmlkICE9PSBjdXJyZW50Tm90aWZpY2F0aW9uPy5pZCAmJlxyXG5cdFx0XHQvLyB0aGUgYWxlcnQgaXMgbm90IG9wZW5cclxuXHRcdFx0IWlzT3BlbiAmJlxyXG5cdFx0XHQvLyBzaG93IGltbWVkaWF0ZWx5LCBpZ25vcmluZyBtb2RhbHNcclxuXHRcdFx0KG5vdGlmaWNhdGlvbi5tb2RhbElkID09PSBudWxsIHx8XHJcblx0XHRcdFx0Ly8gc2hvdyBhZnRlciBhbGwgbW9kYWxzIGFyZSBjbG9zZWRcclxuXHRcdFx0XHQobm90aWZpY2F0aW9uLm1vZGFsSWQgPT09IHVuZGVmaW5lZCAmJiBvcGVuTW9kYWxJZHMubGVuZ3RoID09PSAwKSB8fFxyXG5cdFx0XHRcdC8vIHNob3cgYWZ0ZXIgYSBzcGVjaWZpYyBtb2RhbCBpcyBjbG9zZWRcclxuXHRcdFx0XHQoISFub3RpZmljYXRpb24ubW9kYWxJZCAmJiAhb3Blbk1vZGFsSWRzLmluY2x1ZGVzKG5vdGlmaWNhdGlvbi5tb2RhbElkKSkpXHJcblxyXG5cdFx0aWYgKHNob3VsZFNob3dOb3RpZmljYXRpb24pIHtcclxuXHRcdFx0dGhpcy5zZXRTdGF0ZSh7XHJcblx0XHRcdFx0bm90aWZpY2F0aW9uLFxyXG5cdFx0XHRcdGNsYXNzTmFtZTogdGhpcy5jbGFzc05hbWVGb3JUeXBlKG5vdGlmaWNhdGlvbi50eXBlKSxcclxuXHRcdFx0XHRpc09wZW46IHRydWVcclxuXHRcdFx0fSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNsb3NlTm90aWZpY2F0aW9uID0gKCkgPT4ge1xyXG5cdFx0Y29uc3QgeyBub3RpZmljYXRpb25zIH0gPSB0aGlzLnByb3BzXHJcblx0XHR0aGlzLnNldFN0YXRlKFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0aXNPcGVuOiBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Ly8gd2FpdCB1bnRpbCBhZnRlciBTbmFja2JhciBoaWRlIGFuaW1hdGlvbiB0byBjbGVhciB0aGUgVUlcclxuXHRcdFx0XHR0aGlzLmFmdGVyQ2xvc2VUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5yZW1vdmVOb3RpZmljYXRpb24oKVxyXG5cdFx0XHRcdFx0dGhpcy5jbGVhckFmdGVyQ2xvc2VUaW1lb3V0KClcclxuXHRcdFx0XHRcdC8vIHJlbW92aW5nIHRoZSBsYXN0IG5vdGlmaWNhdGlvbiwgY2xlYXIgc3RhdGVcclxuXHRcdFx0XHRcdGlmIChub3RpZmljYXRpb25zLmxlbmd0aCA8PSAxKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2V0U3RhdGUoe1xyXG5cdFx0XHRcdFx0XHRcdG5vdGlmaWNhdGlvbjogdW5kZWZpbmVkLFxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJydcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9LCAzMDApXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblxyXG5cdHJlbW92ZU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcclxuXHRcdGNvbnN0IHsgbm90aWZpY2F0aW9uIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRpZiAoIW5vdGlmaWNhdGlvbikge1xyXG5cdFx0XHRyZXR1cm5cclxuXHRcdH1cclxuXHRcdGRpc3BhdGNoQWN0aW9uPE5vdGlmaWNhdGlvbkFjdGlvbj4oe1xyXG5cdFx0XHR0eXBlOiBOT1RJRklDQVRJT05fQUNUSU9OX1RZUEUuUkVNT1ZFX05PVElGSUNBVElPTixcclxuXHRcdFx0bm90aWZpY2F0aW9uXHJcblx0XHR9KVxyXG5cdH1cclxuXHJcblx0Y2xhc3NOYW1lRm9yVHlwZSA9ICh0eXBlOiBOT1RJRklDQVRJT05fVFlQRSkgPT4ge1xyXG5cdFx0c3dpdGNoICh0eXBlKSB7XHJcblx0XHRcdGNhc2UgTk9USUZJQ0FUSU9OX1RZUEUuSU5GTzpcclxuXHRcdFx0XHRyZXR1cm4gJ2FsZXJ0LWluZm8nXHJcblx0XHRcdGNhc2UgTk9USUZJQ0FUSU9OX1RZUEUuU1VDQ0VTUzpcclxuXHRcdFx0XHRyZXR1cm4gJ2FsZXJ0LXN1Y2Nlc3MnXHJcblx0XHRcdGNhc2UgTk9USUZJQ0FUSU9OX1RZUEUuV0FSTklORzpcclxuXHRcdFx0XHRyZXR1cm4gJ2FsZXJ0LXdhcm5pbmcnXHJcblx0XHRcdGNhc2UgTk9USUZJQ0FUSU9OX1RZUEUuRVJST1I6XHJcblx0XHRcdFx0cmV0dXJuICdhbGVydC1kYW5nZXInXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRyZW5kZXIoKSB7XHJcblx0XHRjb25zdCB7IGd1aWQsIG5vdGlmaWNhdGlvbiwgY2xhc3NOYW1lLCBpc09wZW4gfSA9IHRoaXMuc3RhdGVcclxuXHRcdGNvbnN0IGlkID0gYG5vdGlmaWNhdGlvbnMtJHtndWlkfWBcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdDxkaXYgaWQ9e2lkfSBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cclxuXHRcdFx0XHQ8U25hY2tiYXJcclxuXHRcdFx0XHRcdGFuY2hvck9yaWdpbj17eyB2ZXJ0aWNhbDogJ2JvdHRvbScsIGhvcml6b250YWw6ICdjZW50ZXInIH19XHJcblx0XHRcdFx0XHRvcGVuPXtpc09wZW59XHJcblx0XHRcdFx0XHRhdXRvSGlkZUR1cmF0aW9uPXs1MDAwfVxyXG5cdFx0XHRcdFx0b25DbG9zZT17dGhpcy5jbG9zZU5vdGlmaWNhdGlvbn1cclxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cIm1oMiBhbGVydCBub3RpZmljYXRpb24tYWxlcnRcIj5cclxuXHRcdFx0XHRcdDxTbmFja2JhckNvbnRlbnRcclxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lPXtjbGFzc05hbWV9XHJcblx0XHRcdFx0XHRcdGFyaWEtZGVzY3JpYmVkYnk9e2Ake2lkfS1hbGVydC1tZXNzYWdlYH1cclxuXHRcdFx0XHRcdFx0bWVzc2FnZT17XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gaWQ9e2Ake2lkfS1hbGVydC1tZXNzYWdlYH0gY2xhc3NOYW1lPVwibm90aWZpY2F0aW9uLWFsZXJ0LW1lc3NhZ2VcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxoNCBjbGFzc05hbWU9XCJub3JtYWwgcHQyXCI+eyEhbm90aWZpY2F0aW9uICYmIG5vdGlmaWNhdGlvbi50ZXh0fTwvaDQ+XHJcblx0XHRcdFx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGFjdGlvbj17W1xyXG5cdFx0XHRcdFx0XHRcdDxCdXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIm5vdGlmaWNhdGlvbi1jbG9zZS1idXR0b25cIlxyXG5cdFx0XHRcdFx0XHRcdFx0YXJpYS1sYWJlbD1cIkNsb3NlXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwiaW5oZXJpdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRrZXk9XCJjbG9zZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrPXt0aGlzLnJlbW92ZU5vdGlmaWNhdGlvbn0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8SWNvbkNsb3NlIGNsYXNzTmFtZT1cInYtbWlkXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdENsb3NlXHJcblx0XHRcdFx0XHRcdFx0PC9CdXR0b24+XHJcblx0XHRcdFx0XHRcdF19XHJcblx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdDwvU25hY2tiYXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0KVxyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IChzdGF0ZTogeyBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25TdGF0ZTsgbW9kYWxzOiBNb2RhbHNTdGF0ZSB9KSA9PiB7XHJcblx0cmV0dXJuIHtcclxuXHRcdG5vdGlmaWNhdGlvbnM6IHN0YXRlLm5vdGlmaWNhdGlvbnMucXVldWUsXHJcblx0XHRvcGVuTW9kYWxJZHM6IE9iamVjdC5rZXlzKHN0YXRlLm1vZGFscylcclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShOb3RpZmljYXRpb25zKVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsUUFBQSxHQUFBUixPQUFBO0FBQStFLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQW1CeEUsTUFBTVUsYUFBYSxTQUFTQyxnQkFBUyxDQUF5QztFQUdwRkMsV0FBV0EsQ0FBQ0MsS0FBeUIsRUFBRTtJQUN0QyxLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsNkJBSDJCQyxTQUFTO0lBQUEsSUFBQUYsZ0JBQUEsQ0FBQUMsT0FBQSxrQ0E2QnhCLE1BQU07TUFDOUIsSUFBSSxJQUFJLENBQUNFLGlCQUFpQixFQUFFO1FBQzNCQyxNQUFNLENBQUNDLFlBQVksQ0FBQyxJQUFJLENBQUNGLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQ0EsaUJBQWlCLEdBQUdELFNBQVM7TUFDbkM7SUFDRCxDQUFDO0lBQUEsSUFBQUYsZ0JBQUEsQ0FBQUMsT0FBQSw4QkFFb0IsTUFBTTtNQUMxQixN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QUN2QkMsT0FBTyxFQUFFLElBQUksQ0FBQ25DLGlCQUFrQjtRQUNoQ00sU0FBUyxFQUFDLDhCQUE4QjtRQUFBc0IsUUFBQSxlQUN4QyxJQUFBOUMsV0FBQSxDQUFBNkMsR0FBQSxFQUFDdkQsS0FBQSxDQUFBZ0UsZUFBZTtVQUNmOUIsU0FBUyxFQUFFQSxTQUFVO1VBQ3JCLG9CQUFrQixHQUFHSixFQUFFLGdCQUFpQjtVQUN4Q21DLE9BQU8sZUFDTixJQUFBdkQsV0FBQSxDQUFBNkMsR0FBQTtZQUFNekIsRUFBRSxFQUFFLEdBQUdBLEVBQUUsZ0JBQWlCO1lBQUNJLFNBQVMsRUFBQyw0QkFBNEI7WUFBQXNCLFFBQUEsZUFDdEUsSUFBQTlDLFdBQUEsQ0FBQTZDLEdBQUE7Y0FBSXJCLFNBQVMsRUFBQyxZQUFZO2NBQUFzQixRQUFBLEVBQUUsQ0FBQyxDQUFDaEMsWUFBWSxJQUFJQSxZQUFZLENBQUMwQztZQUFJLENBQUs7VUFBQyxDQUNoRSxDQUNOO1VBQ0RDLE1BQU0sRUFBRSxjQUNQLElBQUF6RCxXQUFBLENBQUEwRCxJQUFBLEVBQUNwRSxLQUFBLENBQUFxRSxNQUFNO1lBQ05uQyxTQUFTLEVBQUMsMkJBQTJCO1lBQ3JDLGNBQVcsT0FBTztZQUNsQm9DLEtBQUssRUFBQyxTQUFTO1lBRWZDLE9BQU8sRUFBRSxJQUFJLENBQUNqQyxrQkFBbUI7WUFBQWtCLFFBQUEsZ0JBQ2pDLElBQUE5QyxXQUFBLENBQUE2QyxHQUFBLEVBQUNyRCxNQUFBLENBQUFjLE9BQVM7Y0FBQ2tCLFNBQVMsRUFBQztZQUFPLENBQUUsQ0FBQyxTQUVoQztVQUFBLEdBSkssT0FJRyxDQUFDO1FBQ1IsQ0FDRjtNQUFDLENBQ087SUFBQyxDQUNQLENBQUM7RUFFUjtBQUNEO0FBQUNzQyxPQUFBLENBQUE3RCxhQUFBLEdBQUFBLGFBQUE7QUFFTSxNQUFNOEQsZUFBZSxHQUFJL0MsS0FBZ0UsSUFBSztFQUNwRyxPQUFPO0lBQ05KLGFBQWEsRUFBRUksS0FBSyxDQUFDSixhQUFhLENBQUNvRCxLQUFLO0lBQ3hDckQsWUFBWSxFQUFFc0QsTUFBTSxDQUFDQyxJQUFJLENBQUNsRCxLQUFLLENBQUNtRCxNQUFNO0VBQ3ZDLENBQUM7QUFDRixDQUFDO0FBQUFMLE9BQUEsQ0FBQUMsZUFBQSxHQUFBQSxlQUFBO0FBQUEsSUFBQUssUUFBQSxHQUFBTixPQUFBLENBQUF4RCxPQUFBLEdBRWMsSUFBQStELG1CQUFPLEVBQUNOLGVBQWUsQ0FBQyxDQUFDOUQsYUFBYSxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,24 +1,36 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
17
7
  exports.PaginationNextButton = void 0;
18
- var core_1 = require("@material-ui/core");
19
- var KeyboardArrowRight_1 = __importDefault(require("@material-ui/icons/KeyboardArrowRight"));
20
- var react_1 = __importDefault(require("react"));
21
- var PaginationNextButton = function (props) { return (react_1.default.createElement(core_1.Button, __assign({ className: "btn-text color-primary w-100" }, props),
22
- "Next ",
23
- react_1.default.createElement(KeyboardArrowRight_1.default, null))); };
8
+ var _reactCompilerRuntime = require("react-compiler-runtime");
9
+ var _core = require("@material-ui/core");
10
+ var _KeyboardArrowRight = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowRight"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const PaginationNextButton = props => {
13
+ const $ = (0, _reactCompilerRuntime.c)(3);
14
+ let t0;
15
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
+ t0 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowRight.default, {});
17
+ $[0] = t0;
18
+ } else {
19
+ t0 = $[0];
20
+ }
21
+ let t1;
22
+ if ($[1] !== props) {
23
+ t1 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.Button, {
24
+ className: "btn-text color-primary w-100",
25
+ ...props,
26
+ children: ["Next ", t0]
27
+ });
28
+ $[1] = props;
29
+ $[2] = t1;
30
+ } else {
31
+ t1 = $[2];
32
+ }
33
+ return t1;
34
+ };
24
35
  exports.PaginationNextButton = PaginationNextButton;
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfS2V5Ym9hcmRBcnJvd1JpZ2h0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9qc3hSdW50aW1lIiwiUGFnaW5hdGlvbk5leHRCdXR0b24iLCJwcm9wcyIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwidDAiLCJTeW1ib2wiLCJmb3IiLCJqc3giLCJkZWZhdWx0IiwidDEiLCJqc3hzIiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbk5leHRCdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZSdcclxuaW1wb3J0IEljb25LZXlib2FyZEFycm93UmlnaHQgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0tleWJvYXJkQXJyb3dSaWdodCdcclxuaW1wb3J0IHsgRnVuY3Rpb25Db21wb25lbnQgfSBmcm9tICdyZWFjdCdcclxuXHJcbmV4cG9ydCBjb25zdCBQYWdpbmF0aW9uTmV4dEJ1dHRvbjogRnVuY3Rpb25Db21wb25lbnQ8QnV0dG9uUHJvcHM+ID0gcHJvcHMgPT4gKFxyXG5cdDxCdXR0b24gY2xhc3NOYW1lPVwiYnRuLXRleHQgY29sb3ItcHJpbWFyeSB3LTEwMFwiIHsuLi5wcm9wc30+XHJcblx0XHROZXh0IDxJY29uS2V5Ym9hcmRBcnJvd1JpZ2h0IC8+XHJcblx0PC9CdXR0b24+XHJcbilcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLG1CQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBMEUsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR25FLE1BQU1JLG9CQUFvRCxHQUFHQyxLQUFBO0VBQUEsTUFBQUMsQ0FBQSxPQUFBQyxxQkFBQSxDQUFBQyxDQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUFILENBQUEsUUFBQUksTUFBQSxDQUFBQyxHQUFBO0lBRTdERixFQUFBLG9CQUFBTixXQUFBLENBQUFTLEdBQUEsRUFBQ1gsbUJBQUEsQ0FBQVksT0FBc0IsSUFBRSxDQUFDO0lBQUFQLENBQUEsTUFBQUcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUgsQ0FBQTtFQUFBO0VBQUEsSUFBQVEsRUFBQTtFQUFBLElBQUFSLENBQUEsUUFBQUQsS0FBQTtJQURoQ1MsRUFBQSxvQkFBQVgsV0FBQSxDQUFBWSxJQUFBLEVBQUNoQixLQUFBLENBQUFpQixNQUFNO01BQVdDLFNBQThCLEVBQTlCLDhCQUE4QjtNQUFBLEdBQUtaLEtBQUs7TUFBQWEsUUFBQSxHQUFFLE9BQ3RELEVBQUFULEVBQTBCO0lBQUEsQ0FDeEIsQ0FBQztJQUFBSCxDQUFBLE1BQUFELEtBQUE7SUFBQUMsQ0FBQSxNQUFBUSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBUixDQUFBO0VBQUE7RUFBQSxPQUZUUSxFQUVTO0FBQUEsQ0FDVDtBQUFBSyxPQUFBLENBQUFmLG9CQUFBLEdBQUFBLG9CQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -1,24 +1,36 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
17
7
  exports.PaginationPreviousButton = void 0;
18
- var core_1 = require("@material-ui/core");
19
- var KeyboardArrowLeft_1 = __importDefault(require("@material-ui/icons/KeyboardArrowLeft"));
20
- var react_1 = __importDefault(require("react"));
21
- var PaginationPreviousButton = function (props) { return (react_1.default.createElement(core_1.Button, __assign({ className: "btn-text color-primary w-100" }, props),
22
- react_1.default.createElement(KeyboardArrowLeft_1.default, null),
23
- " Previous")); };
8
+ var _reactCompilerRuntime = require("react-compiler-runtime");
9
+ var _core = require("@material-ui/core");
10
+ var _KeyboardArrowLeft = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowLeft"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ const PaginationPreviousButton = props => {
13
+ const $ = (0, _reactCompilerRuntime.c)(3);
14
+ let t0;
15
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
+ t0 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyboardArrowLeft.default, {});
17
+ $[0] = t0;
18
+ } else {
19
+ t0 = $[0];
20
+ }
21
+ let t1;
22
+ if ($[1] !== props) {
23
+ t1 = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_core.Button, {
24
+ className: "btn-text color-primary w-100",
25
+ ...props,
26
+ children: [t0, " Previous"]
27
+ });
28
+ $[1] = props;
29
+ $[2] = t1;
30
+ } else {
31
+ t1 = $[2];
32
+ }
33
+ return t1;
34
+ };
24
35
  exports.PaginationPreviousButton = PaginationPreviousButton;
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfS2V5Ym9hcmRBcnJvd0xlZnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2pzeFJ1bnRpbWUiLCJQYWdpbmF0aW9uUHJldmlvdXNCdXR0b24iLCJwcm9wcyIsIiQiLCJfcmVhY3RDb21waWxlclJ1bnRpbWUiLCJjIiwidDAiLCJTeW1ib2wiLCJmb3IiLCJqc3giLCJkZWZhdWx0IiwidDEiLCJqc3hzIiwiQnV0dG9uIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvblByZXZpb3VzQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b24sIEJ1dHRvblByb3BzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnXHJcbmltcG9ydCBJY29uS2V5Ym9hcmRBcnJvd0xlZnQgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0tleWJvYXJkQXJyb3dMZWZ0J1xyXG5pbXBvcnQgeyBGdW5jdGlvbkNvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xyXG5cclxuZXhwb3J0IGNvbnN0IFBhZ2luYXRpb25QcmV2aW91c0J1dHRvbjogRnVuY3Rpb25Db21wb25lbnQ8QnV0dG9uUHJvcHM+ID0gcHJvcHMgPT4gKFxyXG5cdDxCdXR0b24gY2xhc3NOYW1lPVwiYnRuLXRleHQgY29sb3ItcHJpbWFyeSB3LTEwMFwiIHsuLi5wcm9wc30+XHJcblx0XHQ8SWNvbktleWJvYXJkQXJyb3dMZWZ0IC8+IFByZXZpb3VzXHJcblx0PC9CdXR0b24+XHJcbilcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGtCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBd0UsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR2pFLE1BQU1JLHdCQUF3RCxHQUFHQyxLQUFBO0VBQUEsTUFBQUMsQ0FBQSxPQUFBQyxxQkFBQSxDQUFBQyxDQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUFILENBQUEsUUFBQUksTUFBQSxDQUFBQyxHQUFBO0lBRXRFRixFQUFBLG9CQUFBTixXQUFBLENBQUFTLEdBQUEsRUFBQ1gsa0JBQUEsQ0FBQVksT0FBcUIsSUFBRSxDQUFDO0lBQUFQLENBQUEsTUFBQUcsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQUgsQ0FBQTtFQUFBO0VBQUEsSUFBQVEsRUFBQTtFQUFBLElBQUFSLENBQUEsUUFBQUQsS0FBQTtJQUQxQlMsRUFBQSxvQkFBQVgsV0FBQSxDQUFBWSxJQUFBLEVBQUNoQixLQUFBLENBQUFpQixNQUFNO01BQVdDLFNBQThCLEVBQTlCLDhCQUE4QjtNQUFBLEdBQUtaLEtBQUs7TUFBQWEsUUFBQSxHQUN6RFQsRUFBeUIsYUFDMUI7SUFBQSxDQUFRLENBQUM7SUFBQUgsQ0FBQSxNQUFBRCxLQUFBO0lBQUFDLENBQUEsTUFBQVEsRUFBQTtFQUFBO0lBQUFBLEVBQUEsR0FBQVIsQ0FBQTtFQUFBO0VBQUEsT0FGVFEsRUFFUztBQUFBLENBQ1Q7QUFBQUssT0FBQSxDQUFBZix3QkFBQSxHQUFBQSx3QkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,4 +1,4 @@
1
- import { FunctionComponent } from 'react';
1
+ import React, { FunctionComponent } from 'react';
2
2
  import ReactQuill from 'react-quill';
3
3
  /** Options for Quill, used for defining options in the CustomToolbar, and for enabling formats in Quill */
4
4
  export declare enum QUILL_OPTION {
@@ -35,7 +35,7 @@ export declare enum QUILL_OPTION {
35
35
  }
36
36
  /** Flatten the nested section options for the toolbar into a flat array of options. */
37
37
  export declare const getFormatsForOptions: (sectionOptionsArray: QUILL_OPTION[][]) => string[];
38
- export declare type ToolbarSection = (disabled?: boolean) => JSX.Element;
38
+ export type ToolbarSection = (disabled?: boolean) => React.JSX.Element;
39
39
  export interface CustomToolbarProps {
40
40
  guid: string;
41
41
  /** An array of toolbar option arrays. Each top level array will equate to a toolbar section, with spacing between each section. */