codeforlife 2.8.3 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/dist/Countdown-DFI1RljW.js +28 -0
  2. package/dist/Countdown-DFI1RljW.js.map +1 -0
  3. package/dist/Countdown-zY3nMzmi.cjs +2 -0
  4. package/dist/Countdown-zY3nMzmi.cjs.map +1 -0
  5. package/dist/Image-D5jC9UoX.js +21 -0
  6. package/dist/Image-D5jC9UoX.js.map +1 -0
  7. package/dist/Image-mgT45r_B.cjs +2 -0
  8. package/dist/Image-mgT45r_B.cjs.map +1 -0
  9. package/dist/LinkButton-BYFkvL_O.cjs +2 -0
  10. package/dist/LinkButton-BYFkvL_O.cjs.map +1 -0
  11. package/dist/LinkButton-oK0RThqn.js +12 -0
  12. package/dist/LinkButton-oK0RThqn.js.map +1 -0
  13. package/dist/Navigate-Dq47aqC8.js +25 -0
  14. package/dist/Navigate-Dq47aqC8.js.map +1 -0
  15. package/dist/Navigate-dQocLhzN.cjs +2 -0
  16. package/dist/Navigate-dQocLhzN.cjs.map +1 -0
  17. package/dist/api/createApi.d.ts +7 -0
  18. package/dist/api/endpoints/authFactor.d.ts +11 -0
  19. package/dist/api/endpoints/index.cjs.js +2 -0
  20. package/dist/api/endpoints/index.cjs.js.map +1 -0
  21. package/dist/api/endpoints/index.d.ts +9 -0
  22. package/dist/api/endpoints/index.es.js +78 -0
  23. package/dist/api/endpoints/index.es.js.map +1 -0
  24. package/dist/api/endpoints/klass.d.ts +26 -0
  25. package/dist/api/endpoints/school.d.ts +11 -0
  26. package/dist/api/endpoints/session.d.ts +9 -0
  27. package/dist/api/endpoints/user.d.ts +19 -0
  28. package/dist/api/index.cjs.js +4 -0
  29. package/dist/api/index.cjs.js.map +1 -0
  30. package/dist/api/index.d.ts +5 -0
  31. package/dist/api/index.es.js +541 -0
  32. package/dist/api/index.es.js.map +1 -0
  33. package/dist/api/models.d.ts +92 -0
  34. package/dist/api/schemas.d.ts +20 -0
  35. package/dist/api/tagTypes.d.ts +3 -0
  36. package/dist/api/urls.d.ts +31 -0
  37. package/dist/api-Cbyt3rw0.js +92 -0
  38. package/dist/api-Cbyt3rw0.js.map +1 -0
  39. package/dist/api-CnMfjRk3.cjs +2 -0
  40. package/dist/api-CnMfjRk3.cjs.map +1 -0
  41. package/dist/api-Cs4Y-WeI.js +20 -0
  42. package/dist/api-Cs4Y-WeI.js.map +1 -0
  43. package/dist/api-DIgp_6Vr.cjs +2 -0
  44. package/dist/api-DIgp_6Vr.cjs.map +1 -0
  45. package/dist/auth-BPfUPjmM.js +237 -0
  46. package/dist/auth-BPfUPjmM.js.map +1 -0
  47. package/dist/auth-Vf1MgMci.cjs +2 -0
  48. package/dist/auth-Vf1MgMci.cjs.map +1 -0
  49. package/dist/components/App.d.ts +18 -0
  50. package/dist/components/ClickableTooltip.d.ts +6 -0
  51. package/dist/components/CopyIconButton.d.ts +7 -0
  52. package/dist/components/CopyIconButton.test.d.ts +1 -0
  53. package/dist/components/Countdown.d.ts +9 -0
  54. package/dist/components/DownloadFileButton.d.ts +13 -0
  55. package/dist/components/ElevatedAppBar.d.ts +8 -0
  56. package/dist/components/Image.d.ts +10 -0
  57. package/dist/components/InputFileButton.d.ts +7 -0
  58. package/dist/components/ItemizedList.d.ts +11 -0
  59. package/dist/components/OrderedGrid.d.ts +21 -0
  60. package/dist/components/ScrollIntoViewLink.d.ts +8 -0
  61. package/dist/components/SyncError.d.ts +5 -0
  62. package/dist/components/TablePagination.d.ts +20 -0
  63. package/dist/components/YouTubeVideo.d.ts +7 -0
  64. package/dist/components/form/ApiAutocompleteField.d.ts +14 -0
  65. package/dist/components/form/AutocompleteField.d.ts +11 -0
  66. package/dist/components/form/CheckboxField.d.ts +11 -0
  67. package/dist/components/form/CountryField.d.ts +10 -0
  68. package/dist/components/form/DatePickerField.d.ts +10 -0
  69. package/dist/components/form/EmailField.d.ts +5 -0
  70. package/dist/components/form/FirstNameField.d.ts +5 -0
  71. package/dist/components/form/Form.d.ts +36 -0
  72. package/dist/components/form/OtpField.d.ts +5 -0
  73. package/dist/components/form/PasswordField.d.ts +9 -0
  74. package/dist/components/form/RepeatField.d.ts +9 -0
  75. package/dist/components/form/SubmitButton.d.ts +6 -0
  76. package/dist/components/form/TextField.d.ts +14 -0
  77. package/dist/components/form/UkCountyField.d.ts +10 -0
  78. package/dist/components/form/index.cjs.js +2 -0
  79. package/dist/components/form/index.cjs.js.map +1 -0
  80. package/dist/components/form/index.d.ts +14 -0
  81. package/dist/components/form/index.es.js +18 -0
  82. package/dist/components/form/index.es.js.map +1 -0
  83. package/dist/components/index.cjs.js +11 -0
  84. package/dist/components/index.cjs.js.map +1 -0
  85. package/dist/components/index.d.ts +18 -0
  86. package/dist/components/index.es.js +383 -0
  87. package/dist/components/index.es.js.map +1 -0
  88. package/dist/components/page/Banner.d.ts +13 -0
  89. package/dist/components/page/Notification.d.ts +10 -0
  90. package/dist/components/page/Page.d.ts +19 -0
  91. package/dist/components/page/Section.d.ts +7 -0
  92. package/dist/components/page/TabBar.d.ts +13 -0
  93. package/dist/components/page/index.cjs.js +2 -0
  94. package/dist/components/page/index.cjs.js.map +1 -0
  95. package/dist/components/page/index.d.ts +5 -0
  96. package/dist/components/page/index.es.js +9 -0
  97. package/dist/components/page/index.es.js.map +1 -0
  98. package/dist/components/router/Link.d.ts +9 -0
  99. package/dist/components/router/LinkButton.d.ts +9 -0
  100. package/dist/components/router/LinkIconButton.d.ts +9 -0
  101. package/dist/components/router/LinkListItem.d.ts +9 -0
  102. package/dist/components/router/LinkTab.d.ts +9 -0
  103. package/dist/components/router/Navigate.d.ts +15 -0
  104. package/dist/components/router/index.cjs.js +2 -0
  105. package/dist/components/router/index.cjs.js.map +1 -0
  106. package/dist/components/router/index.d.ts +6 -0
  107. package/dist/components/router/index.es.js +11 -0
  108. package/dist/components/router/index.es.js.map +1 -0
  109. package/dist/components/table/CellStack.d.ts +7 -0
  110. package/dist/components/table/Table.d.ts +12 -0
  111. package/dist/components/table/index.cjs.js +2 -0
  112. package/dist/components/table/index.cjs.js.map +1 -0
  113. package/dist/components/table/index.d.ts +3 -0
  114. package/dist/components/table/index.es.js +9 -0
  115. package/dist/components/table/index.es.js.map +1 -0
  116. package/dist/en-gb-B_rK7Jx1.js +20 -0
  117. package/dist/en-gb-B_rK7Jx1.js.map +1 -0
  118. package/dist/en-gb-CpyEkKq3.cjs +2 -0
  119. package/dist/en-gb-CpyEkKq3.cjs.map +1 -0
  120. package/dist/features/InactiveDialog.d.ts +7 -0
  121. package/dist/features/ScreenTimeDialog.d.ts +7 -0
  122. package/dist/features/index.cjs.js +2 -0
  123. package/dist/features/index.cjs.js.map +1 -0
  124. package/dist/features/index.d.ts +4 -0
  125. package/dist/features/index.es.js +47 -0
  126. package/dist/features/index.es.js.map +1 -0
  127. package/dist/general-BPbbmkeX.cjs +2 -0
  128. package/dist/general-BPbbmkeX.cjs.map +1 -0
  129. package/dist/general-CtTJPCJn.js +58 -0
  130. package/dist/general-CtTJPCJn.js.map +1 -0
  131. package/dist/hooks/api.d.ts +15 -0
  132. package/dist/hooks/auth.d.ts +46 -0
  133. package/{src/hooks/form.tsx → dist/hooks/form.d.ts} +2 -5
  134. package/dist/hooks/general.d.ts +13 -0
  135. package/dist/hooks/index.cjs.js +2 -0
  136. package/dist/hooks/index.cjs.js.map +1 -0
  137. package/dist/hooks/index.d.ts +5 -0
  138. package/dist/hooks/index.es.js +25 -0
  139. package/dist/hooks/index.es.js.map +1 -0
  140. package/dist/hooks/router.d.ts +29 -0
  141. package/dist/index-2W--_sNE.js +30 -0
  142. package/dist/index-2W--_sNE.js.map +1 -0
  143. package/dist/index-BUMdUVBH.cjs +5 -0
  144. package/dist/index-BUMdUVBH.cjs.map +1 -0
  145. package/dist/index-B_Zy_zwA.cjs +2 -0
  146. package/dist/index-B_Zy_zwA.cjs.map +1 -0
  147. package/dist/index-BgsynEGX.cjs +2 -0
  148. package/dist/index-BgsynEGX.cjs.map +1 -0
  149. package/dist/index-CA-ugBSa.cjs +2 -0
  150. package/dist/index-CA-ugBSa.cjs.map +1 -0
  151. package/dist/index-CNtOlJ49.js +572 -0
  152. package/dist/index-CNtOlJ49.js.map +1 -0
  153. package/dist/index-DkM_cG3a.js +237 -0
  154. package/dist/index-DkM_cG3a.js.map +1 -0
  155. package/dist/index-Dqp7dpn3.js +1111 -0
  156. package/dist/index-Dqp7dpn3.js.map +1 -0
  157. package/dist/index.cjs.js +2 -0
  158. package/dist/index.cjs.js.map +1 -0
  159. package/dist/index.d.ts +2 -0
  160. package/dist/index.es.js +7 -0
  161. package/dist/index.es.js.map +1 -0
  162. package/dist/jsx-runtime-CeSfJrVB.cjs +31 -0
  163. package/dist/jsx-runtime-CeSfJrVB.cjs.map +1 -0
  164. package/dist/jsx-runtime-Dpn_P65e.js +634 -0
  165. package/dist/jsx-runtime-Dpn_P65e.js.map +1 -0
  166. package/dist/middlewares/index.cjs.js +2 -0
  167. package/dist/middlewares/index.cjs.js.map +1 -0
  168. package/dist/middlewares/index.d.ts +1 -0
  169. package/dist/middlewares/index.es.js +10 -0
  170. package/dist/middlewares/index.es.js.map +1 -0
  171. package/dist/middlewares/session.d.ts +2 -0
  172. package/dist/palette-CE2mKYse.cjs +2 -0
  173. package/dist/palette-CE2mKYse.cjs.map +1 -0
  174. package/dist/palette-C_L0akN_.js +43 -0
  175. package/dist/palette-C_L0akN_.js.map +1 -0
  176. package/dist/rtk-query.modern-CjetfYPg.js +3038 -0
  177. package/dist/rtk-query.modern-CjetfYPg.js.map +1 -0
  178. package/dist/rtk-query.modern-PBCErCqb.cjs +15 -0
  179. package/dist/rtk-query.modern-PBCErCqb.cjs.map +1 -0
  180. package/dist/schemas-BZbJpkD5.cjs +2 -0
  181. package/dist/schemas-BZbJpkD5.cjs.map +1 -0
  182. package/dist/schemas-DlOtf2vf.js +162 -0
  183. package/dist/schemas-DlOtf2vf.js.map +1 -0
  184. package/dist/scripts/index.d.ts +0 -0
  185. package/dist/server.cjs.js +6 -0
  186. package/dist/server.cjs.js.map +1 -0
  187. package/dist/server.d.ts +44 -0
  188. package/dist/server.es.js +127 -0
  189. package/dist/server.es.js.map +1 -0
  190. package/dist/session-CE2U7oL1.cjs +2 -0
  191. package/dist/session-CE2U7oL1.cjs.map +1 -0
  192. package/dist/session-CacrgFSv.cjs +2 -0
  193. package/dist/session-CacrgFSv.cjs.map +1 -0
  194. package/dist/session-D312kYKk.js +32 -0
  195. package/dist/session-D312kYKk.js.map +1 -0
  196. package/dist/session-oI-Ht2C8.js +30 -0
  197. package/dist/session-oI-Ht2C8.js.map +1 -0
  198. package/dist/settings/custom.d.ts +11 -0
  199. package/dist/settings/index.cjs.js +2 -0
  200. package/dist/settings/index.cjs.js.map +1 -0
  201. package/dist/settings/index.d.ts +4 -0
  202. package/dist/settings/index.es.js +17 -0
  203. package/dist/settings/index.es.js.map +1 -0
  204. package/dist/settings/vite.d.ts +10 -0
  205. package/dist/setupTests.d.ts +0 -0
  206. package/dist/slices/createSlice.d.ts +3 -0
  207. package/dist/slices/index.cjs.js +2 -0
  208. package/dist/slices/index.cjs.js.map +1 -0
  209. package/dist/slices/index.d.ts +2 -0
  210. package/dist/slices/index.es.js +6 -0
  211. package/dist/slices/index.es.js.map +1 -0
  212. package/dist/slices/session.d.ts +28 -0
  213. package/dist/style.css +1 -0
  214. package/dist/theme/ThemedBox.d.ts +10 -0
  215. package/dist/theme/colors.d.ts +18 -0
  216. package/dist/theme/components/MuiAccordion.d.ts +3 -0
  217. package/dist/theme/components/MuiAutocomplete.d.ts +3 -0
  218. package/dist/theme/components/MuiButton.d.ts +3 -0
  219. package/dist/theme/components/MuiCardActions.d.ts +3 -0
  220. package/dist/theme/components/MuiCheckbox.d.ts +3 -0
  221. package/dist/theme/components/MuiContainer.d.ts +3 -0
  222. package/dist/theme/components/MuiDialog.d.ts +3 -0
  223. package/dist/theme/components/MuiFormControlLabel.d.ts +3 -0
  224. package/dist/theme/components/MuiFormHelperText.d.ts +3 -0
  225. package/dist/theme/components/MuiGrid2.d.ts +3 -0
  226. package/dist/theme/components/MuiInputBase.d.ts +3 -0
  227. package/dist/theme/components/MuiLink.d.ts +3 -0
  228. package/dist/theme/components/MuiList.d.ts +3 -0
  229. package/dist/theme/components/MuiListItemText.d.ts +3 -0
  230. package/dist/theme/components/MuiMenu.d.ts +3 -0
  231. package/dist/theme/components/MuiMenuItem.d.ts +3 -0
  232. package/dist/theme/components/MuiSelect.d.ts +3 -0
  233. package/dist/theme/components/MuiTab.d.ts +3 -0
  234. package/dist/theme/components/MuiTable.d.ts +3 -0
  235. package/dist/theme/components/MuiTableBody.d.ts +3 -0
  236. package/dist/theme/components/MuiTableHead.d.ts +3 -0
  237. package/dist/theme/components/MuiTabs.d.ts +3 -0
  238. package/dist/theme/components/MuiTextField.d.ts +3 -0
  239. package/dist/theme/components/MuiToolbar.d.ts +3 -0
  240. package/dist/theme/components/MuiTypography.d.ts +3 -0
  241. package/dist/theme/components/_components.d.ts +11 -0
  242. package/dist/theme/components/index.cjs.js +2 -0
  243. package/dist/theme/components/index.cjs.js.map +1 -0
  244. package/dist/theme/components/index.d.ts +3 -0
  245. package/dist/theme/components/index.es.js +6 -0
  246. package/dist/theme/components/index.es.js.map +1 -0
  247. package/dist/theme/index.cjs.js +2 -0
  248. package/dist/theme/index.cjs.js.map +1 -0
  249. package/dist/theme/index.d.ts +7 -0
  250. package/dist/theme/index.es.js +222 -0
  251. package/dist/theme/index.es.js.map +1 -0
  252. package/dist/theme/palette.d.ts +79 -0
  253. package/dist/theme/spacing.d.ts +1 -0
  254. package/dist/theme/typography.d.ts +4 -0
  255. package/dist/urls-DtHr1d3H.js +14 -0
  256. package/dist/urls-DtHr1d3H.js.map +1 -0
  257. package/dist/urls-MaVXL_C2.cjs +2 -0
  258. package/dist/urls-MaVXL_C2.cjs.map +1 -0
  259. package/dist/utils/api.cjs.js +2 -0
  260. package/dist/utils/api.cjs.js.map +1 -0
  261. package/dist/utils/api.d.ts +72 -0
  262. package/dist/utils/api.es.js +16 -0
  263. package/dist/utils/api.es.js.map +1 -0
  264. package/dist/utils/api.test.d.ts +1 -0
  265. package/dist/utils/auth.cjs.js +2 -0
  266. package/dist/utils/auth.cjs.js.map +1 -0
  267. package/dist/utils/auth.d.ts +28 -0
  268. package/dist/utils/auth.es.js +117 -0
  269. package/dist/utils/auth.es.js.map +1 -0
  270. package/dist/utils/form.cjs.js +2 -0
  271. package/dist/utils/form.cjs.js.map +1 -0
  272. package/dist/utils/form.d.ts +25 -0
  273. package/dist/utils/form.es.js +76 -0
  274. package/dist/utils/form.es.js.map +1 -0
  275. package/dist/utils/form.test.d.ts +1 -0
  276. package/dist/utils/general.cjs.js +2 -0
  277. package/dist/utils/general.cjs.js.map +1 -0
  278. package/dist/utils/general.d.ts +30 -0
  279. package/{src/utils/general.ts → dist/utils/general.es.js} +87 -165
  280. package/dist/utils/general.es.js.map +1 -0
  281. package/dist/utils/general.test.d.ts +1 -0
  282. package/dist/utils/router.cjs.js +2 -0
  283. package/dist/utils/router.cjs.js.map +1 -0
  284. package/dist/utils/router.d.ts +19 -0
  285. package/dist/utils/router.es.js +33 -0
  286. package/dist/utils/router.es.js.map +1 -0
  287. package/dist/utils/router.test.d.ts +1 -0
  288. package/dist/utils/schema.cjs.js +2 -0
  289. package/dist/utils/schema.cjs.js.map +1 -0
  290. package/dist/utils/schema.d.ts +43 -0
  291. package/dist/utils/schema.es.js +123 -0
  292. package/dist/utils/schema.es.js.map +1 -0
  293. package/dist/utils/store.cjs.js +2 -0
  294. package/dist/utils/store.cjs.js.map +1 -0
  295. package/dist/utils/store.d.ts +10 -0
  296. package/dist/utils/store.es.js +20 -0
  297. package/dist/utils/store.es.js.map +1 -0
  298. package/dist/utils/test.cjs.js +2 -0
  299. package/dist/utils/test.cjs.js.map +1 -0
  300. package/dist/utils/test.d.ts +53 -0
  301. package/dist/utils/test.es.js +60 -0
  302. package/dist/utils/test.es.js.map +1 -0
  303. package/dist/utils/theme.cjs.js +2 -0
  304. package/dist/utils/theme.cjs.js.map +1 -0
  305. package/dist/utils/theme.d.ts +11 -0
  306. package/dist/utils/theme.es.js +12 -0
  307. package/dist/utils/theme.es.js.map +1 -0
  308. package/dist/utils/window.cjs.js +2 -0
  309. package/dist/utils/window.cjs.js.map +1 -0
  310. package/dist/utils/window.d.ts +2 -0
  311. package/dist/utils/window.es.js +11 -0
  312. package/dist/utils/window.es.js.map +1 -0
  313. package/package.json +142 -37
  314. package/.github/workflows/main.yml +0 -55
  315. package/.prettierignore +0 -1
  316. package/CHANGELOG.md +0 -2027
  317. package/CONTRIBUTING.md +0 -3
  318. package/eslint.config.js +0 -17
  319. package/src/api/createApi.ts +0 -91
  320. package/src/api/endpoints/authFactor.ts +0 -31
  321. package/src/api/endpoints/index.ts +0 -9
  322. package/src/api/endpoints/klass.ts +0 -87
  323. package/src/api/endpoints/school.ts +0 -34
  324. package/src/api/endpoints/session.ts +0 -47
  325. package/src/api/endpoints/user.ts +0 -70
  326. package/src/api/index.ts +0 -5
  327. package/src/api/models.ts +0 -145
  328. package/src/api/schemas.ts +0 -243
  329. package/src/api/tagTypes.ts +0 -12
  330. package/src/api/urls.ts +0 -13
  331. package/src/components/App.css +0 -38
  332. package/src/components/App.tsx +0 -152
  333. package/src/components/ClickableTooltip.tsx +0 -43
  334. package/src/components/CopyIconButton.test.tsx +0 -16
  335. package/src/components/CopyIconButton.tsx +0 -27
  336. package/src/components/Countdown.tsx +0 -42
  337. package/src/components/DownloadFileButton.tsx +0 -55
  338. package/src/components/ElevatedAppBar.tsx +0 -41
  339. package/src/components/Image.tsx +0 -41
  340. package/src/components/InputFileButton.tsx +0 -27
  341. package/src/components/ItemizedList.tsx +0 -63
  342. package/src/components/OrderedGrid.tsx +0 -92
  343. package/src/components/ScrollIntoViewLink.tsx +0 -22
  344. package/src/components/SyncError.tsx +0 -14
  345. package/src/components/TablePagination.tsx +0 -142
  346. package/src/components/YouTubeVideo.tsx +0 -26
  347. package/src/components/form/ApiAutocompleteField.tsx +0 -187
  348. package/src/components/form/AutocompleteField.tsx +0 -135
  349. package/src/components/form/CheckboxField.tsx +0 -86
  350. package/src/components/form/CountryField.tsx +0 -75
  351. package/src/components/form/DatePickerField.tsx +0 -126
  352. package/src/components/form/EmailField.tsx +0 -38
  353. package/src/components/form/FirstNameField.tsx +0 -40
  354. package/src/components/form/Form.tsx +0 -165
  355. package/src/components/form/OtpField.tsx +0 -28
  356. package/src/components/form/PasswordField.tsx +0 -71
  357. package/src/components/form/RepeatField.tsx +0 -123
  358. package/src/components/form/SubmitButton.tsx +0 -57
  359. package/src/components/form/TextField.tsx +0 -150
  360. package/src/components/form/UkCountyField.tsx +0 -68
  361. package/src/components/form/index.tsx +0 -35
  362. package/src/components/index.ts +0 -28
  363. package/src/components/page/Banner.tsx +0 -95
  364. package/src/components/page/Notification.tsx +0 -71
  365. package/src/components/page/Page.tsx +0 -73
  366. package/src/components/page/Section.tsx +0 -21
  367. package/src/components/page/TabBar.tsx +0 -131
  368. package/src/components/page/index.ts +0 -10
  369. package/src/components/router/Link.tsx +0 -23
  370. package/src/components/router/LinkButton.tsx +0 -22
  371. package/src/components/router/LinkIconButton.tsx +0 -22
  372. package/src/components/router/LinkListItem.tsx +0 -22
  373. package/src/components/router/LinkTab.tsx +0 -22
  374. package/src/components/router/Navigate.tsx +0 -33
  375. package/src/components/router/index.tsx +0 -9
  376. package/src/components/table/CellStack.tsx +0 -19
  377. package/src/components/table/Table.tsx +0 -55
  378. package/src/components/table/index.tsx +0 -8
  379. package/src/features/InactiveDialog.tsx +0 -40
  380. package/src/features/ScreenTimeDialog.tsx +0 -30
  381. package/src/features/index.ts +0 -4
  382. package/src/fonts/ttf/Inter-VariableFont_slnt,wght.ttf +0 -0
  383. package/src/fonts/ttf/SpaceGrotesk-VariableFont_wght.ttf +0 -0
  384. package/src/hooks/api.tsx +0 -39
  385. package/src/hooks/auth.tsx +0 -397
  386. package/src/hooks/general.tsx +0 -110
  387. package/src/hooks/index.ts +0 -5
  388. package/src/hooks/router.tsx +0 -168
  389. package/src/images/svg/brain.svg +0 -1
  390. package/src/index.ts +0 -2
  391. package/src/middlewares/index.ts +0 -1
  392. package/src/middlewares/session.ts +0 -21
  393. package/src/scripts/freshDesk.js +0 -473
  394. package/src/scripts/index.ts +0 -1
  395. package/src/server.js +0 -187
  396. package/src/settings/custom.ts +0 -22
  397. package/src/settings/index.ts +0 -7
  398. package/src/settings/vite.ts +0 -26
  399. package/src/setupTests.ts +0 -2
  400. package/src/slices/createSlice.ts +0 -8
  401. package/src/slices/index.ts +0 -2
  402. package/src/slices/session.ts +0 -32
  403. package/src/theme/ThemedBox.tsx +0 -265
  404. package/src/theme/colors.ts +0 -57
  405. package/src/theme/components/MuiAccordion.tsx +0 -13
  406. package/src/theme/components/MuiAutocomplete.tsx +0 -11
  407. package/src/theme/components/MuiButton.ts +0 -70
  408. package/src/theme/components/MuiCardActions.tsx +0 -12
  409. package/src/theme/components/MuiCheckbox.ts +0 -12
  410. package/src/theme/components/MuiContainer.ts +0 -19
  411. package/src/theme/components/MuiDialog.tsx +0 -16
  412. package/src/theme/components/MuiFormControlLabel.ts +0 -18
  413. package/src/theme/components/MuiFormHelperText.ts +0 -12
  414. package/src/theme/components/MuiGrid2.ts +0 -16
  415. package/src/theme/components/MuiInputBase.ts +0 -14
  416. package/src/theme/components/MuiLink.ts +0 -41
  417. package/src/theme/components/MuiList.ts +0 -12
  418. package/src/theme/components/MuiListItemText.ts +0 -18
  419. package/src/theme/components/MuiMenu.ts +0 -14
  420. package/src/theme/components/MuiMenuItem.ts +0 -15
  421. package/src/theme/components/MuiSelect.ts +0 -16
  422. package/src/theme/components/MuiTab.ts +0 -29
  423. package/src/theme/components/MuiTable.ts +0 -29
  424. package/src/theme/components/MuiTableBody.ts +0 -15
  425. package/src/theme/components/MuiTableHead.ts +0 -26
  426. package/src/theme/components/MuiTabs.ts +0 -26
  427. package/src/theme/components/MuiTextField.ts +0 -86
  428. package/src/theme/components/MuiToolbar.ts +0 -11
  429. package/src/theme/components/MuiTypography.ts +0 -12
  430. package/src/theme/components/_components.ts +0 -95
  431. package/src/theme/components/index.ts +0 -57
  432. package/src/theme/index.ts +0 -25
  433. package/src/theme/palette.ts +0 -98
  434. package/src/theme/spacing.ts +0 -8
  435. package/src/theme/typography.ts +0 -101
  436. package/src/utils/api.test.ts +0 -19
  437. package/src/utils/api.tsx +0 -339
  438. package/src/utils/auth.ts +0 -78
  439. package/src/utils/form.test.ts +0 -50
  440. package/src/utils/form.ts +0 -193
  441. package/src/utils/general.test.ts +0 -55
  442. package/src/utils/router.test.ts +0 -156
  443. package/src/utils/router.ts +0 -67
  444. package/src/utils/schema.ts +0 -290
  445. package/src/utils/store.ts +0 -31
  446. package/src/utils/test.tsx +0 -82
  447. package/src/utils/theme.tsx +0 -83
  448. package/src/utils/window.ts +0 -11
  449. package/src/vite-env.d.ts +0 -1
  450. package/tsconfig.app.json +0 -4
  451. package/tsconfig.json +0 -7
  452. package/tsconfig.node.json +0 -4
  453. package/types/fixes.d.ts +0 -18
  454. package/vite.config.ts +0 -23
@@ -0,0 +1,28 @@
1
+ import { j as m } from "./jsx-runtime-Dpn_P65e.js";
2
+ import { useState as s } from "react";
3
+ import { Typography as u } from "@mui/material";
4
+ import "./auth-BPfUPjmM.js";
5
+ import { a as f } from "./general-CtTJPCJn.js";
6
+ import "react-router-dom";
7
+ import "yup";
8
+ import "@mui/icons-material";
9
+ import "./palette-C_L0akN_.js";
10
+ const w = ({
11
+ seconds: t,
12
+ start: i = !0,
13
+ onEnd: n,
14
+ ...p
15
+ }) => {
16
+ t = Math.floor(t);
17
+ const r = f(t)[0], [e, a] = s(!i);
18
+ r === 0 && !e && (a(!0), n()), t = Math.floor(r % 60);
19
+ const o = Math.floor(r / 60);
20
+ return /* @__PURE__ */ m.jsx(m.Fragment, { children: r > 0 && /* @__PURE__ */ m.jsxs(u, { ...p, children: [
21
+ o > 0 && `${o} ${o > 1 ? "mins" : "min"} `,
22
+ t > 0 && `${t} ${t > 1 ? "secs" : "sec"}`
23
+ ] }) });
24
+ };
25
+ export {
26
+ w as C
27
+ };
28
+ //# sourceMappingURL=Countdown-DFI1RljW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Countdown-DFI1RljW.js","sources":["../src/components/Countdown.tsx"],"sourcesContent":["import { type FC, useState } from \"react\"\nimport { Typography, type TypographyProps } from \"@mui/material\"\n\nimport { useCountdown } from \"../hooks\"\n\nexport interface CountdownProps extends Omit<TypographyProps, \"children\"> {\n seconds: number\n start?: boolean\n onEnd: () => void\n}\n\nconst Countdown: FC<CountdownProps> = ({\n seconds,\n start = true,\n onEnd,\n ...typographyProps\n}) => {\n seconds = Math.floor(seconds)\n const _seconds = useCountdown(seconds)[0]\n const [end, setEnd] = useState(!start)\n\n if (_seconds === 0 && !end) {\n setEnd(true)\n onEnd()\n }\n\n seconds = Math.floor(_seconds % 60)\n const minutes = Math.floor(_seconds / 60)\n\n return (\n <>\n {_seconds > 0 && (\n <Typography {...typographyProps}>\n {minutes > 0 && `${minutes} ${minutes > 1 ? \"mins\" : \"min\"} `}\n {seconds > 0 && `${seconds} ${seconds > 1 ? \"secs\" : \"sec\"}`}\n </Typography>\n )}\n </>\n )\n}\n\nexport default Countdown\n"],"names":["Countdown","seconds","start","onEnd","typographyProps","_seconds","useCountdown","end","setEnd","useState","minutes","jsxs","Typography"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAgC,CAAC;AAAA,EACrC,SAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,EAAAH,IAAU,KAAK,MAAMA,CAAO;AAC5B,QAAMI,IAAWC,EAAaL,CAAO,EAAE,CAAC,GAClC,CAACM,GAAKC,CAAM,IAAIC,EAAS,CAACP,CAAK;AAErC,EAAIG,MAAa,KAAK,CAACE,MACrBC,EAAO,EAAI,GACXL,EAAA,IAGFF,IAAU,KAAK,MAAMI,IAAW,EAAE;AAClC,QAAMK,IAAU,KAAK,MAAML,IAAW,EAAE;AAExC,6CAEK,UAAAA,IAAW,KACVM,gBAAAA,EAAAA,KAACC,GAAA,EAAY,GAAGR,GACb,UAAA;AAAA,IAAAM,IAAU,KAAK,GAAGA,CAAO,IAAIA,IAAU,IAAI,SAAS,KAAK;AAAA,IACzDT,IAAU,KAAK,GAAGA,CAAO,IAAIA,IAAU,IAAI,SAAS,KAAK;AAAA,EAAA,EAAA,CAC5D,EAAA,CAEJ;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("./jsx-runtime-CeSfJrVB.cjs"),c=require("react"),m=require("@mui/material");require("./auth-Vf1MgMci.cjs");const q=require("./general-BPbbmkeX.cjs");require("react-router-dom");require("yup");require("@mui/icons-material");require("./palette-CE2mKYse.cjs");const x=({seconds:e,start:u=!0,onEnd:i,...o})=>{e=Math.floor(e);const r=q.useCountdown(e)[0],[s,a]=c.useState(!u);r===0&&!s&&(a(!0),i()),e=Math.floor(r%60);const t=Math.floor(r/60);return n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{children:r>0&&n.jsxRuntimeExports.jsxs(m.Typography,{...o,children:[t>0&&`${t} ${t>1?"mins":"min"} `,e>0&&`${e} ${e>1?"secs":"sec"}`]})})};exports.Countdown=x;
2
+ //# sourceMappingURL=Countdown-zY3nMzmi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Countdown-zY3nMzmi.cjs","sources":["../src/components/Countdown.tsx"],"sourcesContent":["import { type FC, useState } from \"react\"\nimport { Typography, type TypographyProps } from \"@mui/material\"\n\nimport { useCountdown } from \"../hooks\"\n\nexport interface CountdownProps extends Omit<TypographyProps, \"children\"> {\n seconds: number\n start?: boolean\n onEnd: () => void\n}\n\nconst Countdown: FC<CountdownProps> = ({\n seconds,\n start = true,\n onEnd,\n ...typographyProps\n}) => {\n seconds = Math.floor(seconds)\n const _seconds = useCountdown(seconds)[0]\n const [end, setEnd] = useState(!start)\n\n if (_seconds === 0 && !end) {\n setEnd(true)\n onEnd()\n }\n\n seconds = Math.floor(_seconds % 60)\n const minutes = Math.floor(_seconds / 60)\n\n return (\n <>\n {_seconds > 0 && (\n <Typography {...typographyProps}>\n {minutes > 0 && `${minutes} ${minutes > 1 ? \"mins\" : \"min\"} `}\n {seconds > 0 && `${seconds} ${seconds > 1 ? \"secs\" : \"sec\"}`}\n </Typography>\n )}\n </>\n )\n}\n\nexport default Countdown\n"],"names":["Countdown","seconds","start","onEnd","typographyProps","_seconds","useCountdown","end","setEnd","useState","minutes","jsxs","Typography"],"mappings":"8RAWA,MAAMA,EAAgC,CAAC,CACrC,QAAAC,EACA,MAAAC,EAAQ,GACR,MAAAC,EACA,GAAGC,CACL,IAAM,CACJH,EAAU,KAAK,MAAMA,CAAO,EAC5B,MAAMI,EAAWC,EAAAA,aAAaL,CAAO,EAAE,CAAC,EAClC,CAACM,EAAKC,CAAM,EAAIC,EAAAA,SAAS,CAACP,CAAK,EAEjCG,IAAa,GAAK,CAACE,IACrBC,EAAO,EAAI,EACXL,EAAA,GAGFF,EAAU,KAAK,MAAMI,EAAW,EAAE,EAClC,MAAMK,EAAU,KAAK,MAAML,EAAW,EAAE,EAExC,6DAEK,SAAAA,EAAW,GACVM,EAAAA,kBAAAA,KAACC,EAAAA,WAAA,CAAY,GAAGR,EACb,SAAA,CAAAM,EAAU,GAAK,GAAGA,CAAO,IAAIA,EAAU,EAAI,OAAS,KAAK,IACzDT,EAAU,GAAK,GAAGA,CAAO,IAAIA,EAAU,EAAI,OAAS,KAAK,EAAA,CAAA,CAC5D,CAAA,CAEJ,CAEJ"}
@@ -0,0 +1,21 @@
1
+ import { j as n } from "./jsx-runtime-Dpn_P65e.js";
2
+ import { Box as p } from "@mui/material";
3
+ import "react";
4
+ import { openInNewTab as s } from "./utils/general.es.js";
5
+ const f = ({ href: i, hrefInNewTab: r = !1, ...e }) => {
6
+ let {
7
+ onClick: t,
8
+ style: o = {},
9
+ ...m
10
+ // eslint-disable-line prefer-const
11
+ } = e;
12
+ return o.width === void 0 && (o.width = "100%"), i !== void 0 && (o = { ...o, cursor: "pointer" }, r ? t = () => {
13
+ s(i);
14
+ } : t = () => {
15
+ window.location.replace(i);
16
+ }), /* @__PURE__ */ n.jsx(p, { component: "img", onClick: t, style: o, ...m });
17
+ };
18
+ export {
19
+ f as I
20
+ };
21
+ //# sourceMappingURL=Image-D5jC9UoX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image-D5jC9UoX.js","sources":["../src/components/Image.tsx"],"sourcesContent":["import { Box, type BoxProps } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport { openInNewTab } from \"../utils/general\"\n\nexport interface ImageProps extends Omit<BoxProps, \"component\"> {\n alt: string\n src: string\n href?: string\n hrefInNewTab?: boolean\n}\n\nconst Image: FC<ImageProps> = ({ href, hrefInNewTab = false, ...props }) => {\n let {\n onClick,\n style = {},\n ...otherProps // eslint-disable-line prefer-const\n } = props\n\n if (style.width === undefined) {\n style.width = \"100%\"\n }\n\n // Override onClick if href provided.\n if (href !== undefined) {\n style = { ...style, cursor: \"pointer\" }\n if (hrefInNewTab) {\n onClick = () => {\n openInNewTab(href)\n }\n } else {\n onClick = () => {\n window.location.replace(href)\n }\n }\n }\n\n return <Box component=\"img\" onClick={onClick} style={style} {...otherProps} />\n}\n\nexport default Image\n"],"names":["Image","href","hrefInNewTab","props","onClick","style","otherProps","openInNewTab","Box"],"mappings":";;;;AAYA,MAAMA,IAAwB,CAAC,EAAE,MAAAC,GAAM,cAAAC,IAAe,IAAO,GAAGC,QAAY;AAC1E,MAAI;AAAA,IACF,SAAAC;AAAA,IACA,OAAAC,IAAQ,CAAA;AAAA,IACR,GAAGC;AAAA;AAAA,EAAA,IACDH;AAEJ,SAAIE,EAAM,UAAU,WAClBA,EAAM,QAAQ,SAIZJ,MAAS,WACXI,IAAQ,EAAE,GAAGA,GAAO,QAAQ,UAAA,GACxBH,IACFE,IAAU,MAAM;AACd,IAAAG,EAAaN,CAAI;AAAA,EACnB,IAEAG,IAAU,MAAM;AACd,WAAO,SAAS,QAAQH,CAAI;AAAA,EAC9B,0BAIIO,GAAA,EAAI,WAAU,OAAM,SAAAJ,GAAkB,OAAAC,GAAe,GAAGC,GAAY;AAC9E;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("./jsx-runtime-CeSfJrVB.cjs"),c=require("@mui/material");require("react");const l=require("./utils/general.cjs.js"),u=({href:i,hrefInNewTab:o=!1,...r})=>{let{onClick:t,style:e={},...n}=r;return e.width===void 0&&(e.width="100%"),i!==void 0&&(e={...e,cursor:"pointer"},o?t=()=>{l.openInNewTab(i)}:t=()=>{window.location.replace(i)}),s.jsxRuntimeExports.jsx(c.Box,{component:"img",onClick:t,style:e,...n})};exports.Image=u;
2
+ //# sourceMappingURL=Image-mgT45r_B.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image-mgT45r_B.cjs","sources":["../src/components/Image.tsx"],"sourcesContent":["import { Box, type BoxProps } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport { openInNewTab } from \"../utils/general\"\n\nexport interface ImageProps extends Omit<BoxProps, \"component\"> {\n alt: string\n src: string\n href?: string\n hrefInNewTab?: boolean\n}\n\nconst Image: FC<ImageProps> = ({ href, hrefInNewTab = false, ...props }) => {\n let {\n onClick,\n style = {},\n ...otherProps // eslint-disable-line prefer-const\n } = props\n\n if (style.width === undefined) {\n style.width = \"100%\"\n }\n\n // Override onClick if href provided.\n if (href !== undefined) {\n style = { ...style, cursor: \"pointer\" }\n if (hrefInNewTab) {\n onClick = () => {\n openInNewTab(href)\n }\n } else {\n onClick = () => {\n window.location.replace(href)\n }\n }\n }\n\n return <Box component=\"img\" onClick={onClick} style={style} {...otherProps} />\n}\n\nexport default Image\n"],"names":["Image","href","hrefInNewTab","props","onClick","style","otherProps","openInNewTab","Box"],"mappings":"iJAYMA,EAAwB,CAAC,CAAE,KAAAC,EAAM,aAAAC,EAAe,GAAO,GAAGC,KAAY,CAC1E,GAAI,CACF,QAAAC,EACA,MAAAC,EAAQ,CAAA,EACR,GAAGC,CAAA,EACDH,EAEJ,OAAIE,EAAM,QAAU,SAClBA,EAAM,MAAQ,QAIZJ,IAAS,SACXI,EAAQ,CAAE,GAAGA,EAAO,OAAQ,SAAA,EACxBH,EACFE,EAAU,IAAM,CACdG,EAAAA,aAAaN,CAAI,CACnB,EAEAG,EAAU,IAAM,CACd,OAAO,SAAS,QAAQH,CAAI,CAC9B,2BAIIO,EAAAA,IAAA,CAAI,UAAU,MAAM,QAAAJ,EAAkB,MAAAC,EAAe,GAAGC,EAAY,CAC9E"}
@@ -0,0 +1,2 @@
1
+ "use strict";const r=require("./jsx-runtime-CeSfJrVB.cjs"),t=require("@mui/material");require("react");const n=require("react-router-dom");require("@mui/icons-material");require("./palette-CE2mKYse.cjs");require("./auth-Vf1MgMci.cjs");const u=e=>r.jsxRuntimeExports.jsx(t.Button,{...e,component:n.Link});exports.LinkButton=u;
2
+ //# sourceMappingURL=LinkButton-BYFkvL_O.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkButton-BYFkvL_O.cjs","sources":["../src/components/router/LinkButton.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkButtonProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<ButtonProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#button\nconst LinkButton: {\n (props: LinkButtonProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkButtonProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkButtonProps<\"delta\"> | LinkButtonProps<\"to\">) => {\n return <Button {...{ ...props, component: Link }} />\n}\n\nexport default LinkButton\n"],"names":["LinkButton","props","jsx","Button","Link"],"mappings":"2OAYA,MAAMA,EAKDC,GACIC,EAAAA,kBAAAA,IAACC,EAAAA,QAAa,GAAGF,EAAO,UAAWG,EAAAA,KAAQ"}
@@ -0,0 +1,12 @@
1
+ import { j as t } from "./jsx-runtime-Dpn_P65e.js";
2
+ import { Button as r } from "@mui/material";
3
+ import "react";
4
+ import { Link as m } from "react-router-dom";
5
+ import "@mui/icons-material";
6
+ import "./palette-C_L0akN_.js";
7
+ import "./auth-BPfUPjmM.js";
8
+ const f = (o) => /* @__PURE__ */ t.jsx(r, { ...o, component: m });
9
+ export {
10
+ f as L
11
+ };
12
+ //# sourceMappingURL=LinkButton-oK0RThqn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkButton-oK0RThqn.js","sources":["../src/components/router/LinkButton.tsx"],"sourcesContent":["import { Button, type ButtonProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkButtonProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<ButtonProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#button\nconst LinkButton: {\n (props: LinkButtonProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkButtonProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkButtonProps<\"delta\"> | LinkButtonProps<\"to\">) => {\n return <Button {...{ ...props, component: Link }} />\n}\n\nexport default LinkButton\n"],"names":["LinkButton","props","jsx","Button","Link"],"mappings":";;;;;;;AAYA,MAAMA,IAKF,CAACC,MACIC,gBAAAA,EAAAA,IAACC,KAAa,GAAGF,GAAO,WAAWG,GAAQ;"}
@@ -0,0 +1,25 @@
1
+ import { j as n } from "./jsx-runtime-Dpn_P65e.js";
2
+ import { Link as i, IconButton as m, ListItem as a, Tab as c } from "@mui/material";
3
+ import { useEffect as p } from "react";
4
+ import { Link as o } from "react-router-dom";
5
+ import "@mui/icons-material";
6
+ import "./palette-C_L0akN_.js";
7
+ import { e as u } from "./auth-BPfUPjmM.js";
8
+ const I = (t) => /* @__PURE__ */ n.jsx(i, { component: o, ...t }), v = (t) => /* @__PURE__ */ n.jsx(m, { ...t, component: o }), N = (t) => /* @__PURE__ */ n.jsx(a, { ...t, component: o }), B = (t) => /* @__PURE__ */ n.jsx(c, { ...t, component: o }), E = ({
9
+ delta: t,
10
+ to: s,
11
+ ...e
12
+ }) => {
13
+ const r = u();
14
+ return p(() => {
15
+ typeof t == "number" ? r(t) : r(s, e);
16
+ }, [r, t, s, e]), /* @__PURE__ */ n.jsx(n.Fragment, {});
17
+ };
18
+ export {
19
+ I as L,
20
+ E as N,
21
+ v as a,
22
+ N as b,
23
+ B as c
24
+ };
25
+ //# sourceMappingURL=Navigate-Dq47aqC8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigate-Dq47aqC8.js","sources":["../src/components/router/Link.tsx","../src/components/router/LinkIconButton.tsx","../src/components/router/LinkListItem.tsx","../src/components/router/LinkTab.tsx","../src/components/router/Navigate.tsx"],"sourcesContent":["import { Link as MuiLink, type LinkProps as MuiLinkProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link as RouterLink } from \"react-router-dom\"\n\nimport { type LinkProps as RouterLinkProps } from \"../../utils/router\"\n\nexport type LinkProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<MuiLinkProps, \"component\"> & RouterLinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#link\nconst Link: {\n (props: LinkProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkProps<\"delta\"> | LinkProps<\"to\">) => {\n // @ts-expect-error props are assignable\n return <MuiLink component={RouterLink} {...props} />\n}\n\nexport default Link\n","import { IconButton, type IconButtonProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkIconButtonProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<IconButtonProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#button\nconst LinkIconButton: {\n (props: LinkIconButtonProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkIconButtonProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkIconButtonProps<\"delta\"> | LinkIconButtonProps<\"to\">) => {\n return <IconButton {...{ ...props, component: Link }} />\n}\n\nexport default LinkIconButton\n","import { ListItem, type ListItemProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkListItemProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<ListItemProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#list\nconst LinkListItem: {\n (props: LinkListItemProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkListItemProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkListItemProps<\"delta\"> | LinkListItemProps<\"to\">) => {\n return <ListItem {...{ ...props, component: Link }} />\n}\n\nexport default LinkListItem\n","import { Tab, type TabProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkTabProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<TabProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#tabs\nconst LinkTab: {\n (props: LinkTabProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkTabProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkTabProps<\"delta\"> | LinkTabProps<\"to\">) => {\n return <Tab {...{ ...props, component: Link }} />\n}\n\nexport default LinkTab\n","import { type JSX, useEffect } from \"react\"\nimport { type To } from \"react-router-dom\"\n\nimport { type NavigateOptions, useNavigate } from \"../../hooks\"\n\nexport type NavigateProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Override extends \"delta\"\n ? { delta: number; to?: undefined }\n : { delta?: undefined; to: To } & NavigateOptions<State>\n\nconst Navigate: {\n (props: NavigateProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: NavigateProps<\"to\", State>,\n ): JSX.Element\n} = ({\n delta,\n to,\n ...options\n}: NavigateProps<\"delta\"> | NavigateProps<\"to\">) => {\n const navigate = useNavigate()\n\n useEffect(() => {\n if (typeof delta === \"number\") navigate(delta)\n else navigate(to, options)\n }, [navigate, delta, to, options])\n\n return <></>\n}\n\nexport default Navigate\n"],"names":["Link","props","jsx","MuiLink","RouterLink","LinkIconButton","IconButton","LinkListItem","ListItem","LinkTab","Tab","Navigate","delta","to","options","navigate","useNavigate","useEffect","Fragment"],"mappings":";;;;;;;AAYA,MAAMA,IAKF,CAACC,MAEIC,gBAAAA,EAAAA,IAACC,GAAA,EAAQ,WAAWC,GAAa,GAAGH,GAAO,GCP9CI,IAKF,CAACJ,MACIC,gBAAAA,EAAAA,IAACI,KAAiB,GAAGL,GAAO,WAAWD,GAAQ,GCNlDO,IAKF,CAACN,MACIC,gBAAAA,EAAAA,IAACM,KAAe,GAAGP,GAAO,WAAWD,GAAQ,GCNhDS,IAKF,CAACR,MACIC,gBAAAA,EAAAA,IAACQ,KAAU,GAAGT,GAAO,WAAWD,GAAQ,GCN3CW,IAKF,CAAC;AAAA,EACH,OAAAC;AAAA,EACA,IAAAC;AAAA,EACA,GAAGC;AACL,MAAoD;AAClD,QAAMC,IAAWC,EAAA;AAEjB,SAAAC,EAAU,MAAM;AACd,IAAI,OAAOL,KAAU,WAAUG,EAASH,CAAK,IACxCG,EAASF,GAAIC,CAAO;AAAA,EAC3B,GAAG,CAACC,GAAUH,GAAOC,GAAIC,CAAO,CAAC,GAE1BZ,gBAAAA,EAAAA,IAAAgB,EAAAA,UAAA,EAAE;AACX;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("./jsx-runtime-CeSfJrVB.cjs"),e=require("@mui/material"),u=require("react"),i=require("react-router-dom");require("@mui/icons-material");require("./palette-CE2mKYse.cjs");const c=require("./auth-Vf1MgMci.cjs"),m=t=>n.jsxRuntimeExports.jsx(e.Link,{component:i.Link,...t}),x=t=>n.jsxRuntimeExports.jsx(e.IconButton,{...t,component:i.Link}),L=t=>n.jsxRuntimeExports.jsx(e.ListItem,{...t,component:i.Link}),a=t=>n.jsxRuntimeExports.jsx(e.Tab,{...t,component:i.Link}),k=({delta:t,to:s,...o})=>{const r=c.useNavigate();return u.useEffect(()=>{typeof t=="number"?r(t):r(s,o)},[r,t,s,o]),n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{})};exports.Link=m;exports.LinkIconButton=x;exports.LinkListItem=L;exports.LinkTab=a;exports.Navigate=k;
2
+ //# sourceMappingURL=Navigate-dQocLhzN.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navigate-dQocLhzN.cjs","sources":["../src/components/router/Link.tsx","../src/components/router/LinkIconButton.tsx","../src/components/router/LinkListItem.tsx","../src/components/router/LinkTab.tsx","../src/components/router/Navigate.tsx"],"sourcesContent":["import { Link as MuiLink, type LinkProps as MuiLinkProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link as RouterLink } from \"react-router-dom\"\n\nimport { type LinkProps as RouterLinkProps } from \"../../utils/router\"\n\nexport type LinkProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<MuiLinkProps, \"component\"> & RouterLinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#link\nconst Link: {\n (props: LinkProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkProps<\"delta\"> | LinkProps<\"to\">) => {\n // @ts-expect-error props are assignable\n return <MuiLink component={RouterLink} {...props} />\n}\n\nexport default Link\n","import { IconButton, type IconButtonProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkIconButtonProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<IconButtonProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#button\nconst LinkIconButton: {\n (props: LinkIconButtonProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkIconButtonProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkIconButtonProps<\"delta\"> | LinkIconButtonProps<\"to\">) => {\n return <IconButton {...{ ...props, component: Link }} />\n}\n\nexport default LinkIconButton\n","import { ListItem, type ListItemProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkListItemProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<ListItemProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#list\nconst LinkListItem: {\n (props: LinkListItemProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkListItemProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkListItemProps<\"delta\"> | LinkListItemProps<\"to\">) => {\n return <ListItem {...{ ...props, component: Link }} />\n}\n\nexport default LinkListItem\n","import { Tab, type TabProps } from \"@mui/material\"\nimport { type JSX } from \"react\"\nimport { Link } from \"react-router-dom\"\n\nimport { type LinkProps } from \"../../utils/router\"\n\nexport type LinkTabProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Omit<TabProps, \"component\"> & LinkProps<Override, State>\n\n// https://mui.com/material-ui/integrations/routing/#tabs\nconst LinkTab: {\n (props: LinkTabProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: LinkTabProps<\"to\", State>,\n ): JSX.Element\n} = (props: LinkTabProps<\"delta\"> | LinkTabProps<\"to\">) => {\n return <Tab {...{ ...props, component: Link }} />\n}\n\nexport default LinkTab\n","import { type JSX, useEffect } from \"react\"\nimport { type To } from \"react-router-dom\"\n\nimport { type NavigateOptions, useNavigate } from \"../../hooks\"\n\nexport type NavigateProps<\n Override extends \"delta\" | \"to\",\n State extends Record<string, any> = Record<string, any>,\n> = Override extends \"delta\"\n ? { delta: number; to?: undefined }\n : { delta?: undefined; to: To } & NavigateOptions<State>\n\nconst Navigate: {\n (props: NavigateProps<\"delta\">): JSX.Element\n <State extends Record<string, any> = Record<string, any>>(\n props: NavigateProps<\"to\", State>,\n ): JSX.Element\n} = ({\n delta,\n to,\n ...options\n}: NavigateProps<\"delta\"> | NavigateProps<\"to\">) => {\n const navigate = useNavigate()\n\n useEffect(() => {\n if (typeof delta === \"number\") navigate(delta)\n else navigate(to, options)\n }, [navigate, delta, to, options])\n\n return <></>\n}\n\nexport default Navigate\n"],"names":["Link","props","jsx","MuiLink","RouterLink","LinkIconButton","IconButton","LinkListItem","ListItem","LinkTab","Tab","Navigate","delta","to","options","navigate","useNavigate","useEffect","Fragment"],"mappings":"+OAYMA,EAKDC,GAEIC,EAAAA,kBAAAA,IAACC,EAAAA,KAAA,CAAQ,UAAWC,EAAAA,KAAa,GAAGH,EAAO,ECP9CI,EAKDJ,GACIC,EAAAA,kBAAAA,IAACI,EAAAA,YAAiB,GAAGL,EAAO,UAAWD,EAAAA,KAAQ,ECNlDO,EAKDN,GACIC,EAAAA,kBAAAA,IAACM,EAAAA,UAAe,GAAGP,EAAO,UAAWD,EAAAA,KAAQ,ECNhDS,EAKDR,GACIC,EAAAA,kBAAAA,IAACQ,EAAAA,KAAU,GAAGT,EAAO,UAAWD,EAAAA,KAAQ,ECN3CW,EAKF,CAAC,CACH,MAAAC,EACA,GAAAC,EACA,GAAGC,CACL,IAAoD,CAClD,MAAMC,EAAWC,EAAAA,YAAA,EAEjBC,OAAAA,EAAAA,UAAU,IAAM,CACV,OAAOL,GAAU,SAAUG,EAASH,CAAK,EACxCG,EAASF,EAAIC,CAAO,CAC3B,EAAG,CAACC,EAAUH,EAAOC,EAAIC,CAAO,CAAC,EAE1BZ,EAAAA,kBAAAA,IAAAgB,EAAAA,kBAAAA,SAAA,EAAE,CACX"}
@@ -0,0 +1,7 @@
1
+ import { Api, BaseQueryApi, FetchArgs, FetchBaseQueryError, FetchBaseQueryMeta, MutationDefinition, QueryReturnValue, coreModuleName, reactHooksModuleName } from '@reduxjs/toolkit/query/react';
2
+ import { TagTypes as DefaultTagTypes } from './tagTypes';
3
+ export default function createApi<TagTypes extends string = never>({ tagTypes, }?: {
4
+ tagTypes?: readonly TagTypes[];
5
+ }): Api<(args: string | FetchArgs, api: BaseQueryApi, extraOptions: {}) => Promise<QueryReturnValue<unknown, FetchBaseQueryError, FetchBaseQueryMeta>>, {
6
+ logout: MutationDefinition<null, any, any, null, any, any>;
7
+ }, "api", TagTypes | DefaultTagTypes, typeof coreModuleName | typeof reactHooksModuleName>;
@@ -0,0 +1,11 @@
1
+ import { EndpointBuilder } from '@reduxjs/toolkit/query/react';
2
+ import { ListArg as _ListArg, ListResult as _ListResult } from '../../utils/api';
3
+ import { AuthFactor } from '../models';
4
+ import { TagTypes } from '../tagTypes';
5
+ import { QueryDefinition } from '@reduxjs/toolkit/query';
6
+ export declare const AUTH_FACTOR_TAG: TagTypes;
7
+ export type ListAuthFactorsResult = _ListResult<AuthFactor, "type">;
8
+ export type ListAuthFactorsArg = _ListArg;
9
+ export default function getReadAuthFactorEndpoints<ListResult extends _ListResult<AuthFactor> = ListAuthFactorsResult, ListArg extends _ListArg<AuthFactor> = ListAuthFactorsArg>(build: EndpointBuilder<any, any, any>): {
10
+ listAuthFactors: QueryDefinition<ListArg, any, any, ListResult, any, any>;
11
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../api-CnMfjRk3.cjs"),s=require("../../urls-MaVXL_C2.cjs"),i=require("../../session-CacrgFSv.cjs"),l="AuthFactor";function n(r){return{listAuthFactors:r.query({query:e=>({url:t.buildUrl(s.urls.authFactor.list,{search:e}),method:"GET"}),providesTags:t.tagData(l,{includeListTag:!0})})}}const u="Class";function d(r){return{retrieveClass:r.query({query:e=>({url:t.buildUrl(s.urls.class.detail,{url:{id:e}}),method:"GET"}),providesTags:t.tagData(u)}),listClasses:r.query({query:e=>({url:t.buildUrl(s.urls.class.list,{search:e}),method:"GET"}),providesTags:t.tagData(u,{includeListTag:!0})})}}const a="School";function g(r){return{retrieveSchool:r.query({query:e=>({url:t.buildUrl(s.urls.school.detail,{url:{id:e}}),method:"GET"}),providesTags:t.tagData(a)})}}const o="User";function c(r){return{retrieveUser:r.query({query:e=>({url:t.buildUrl(s.urls.user.detail,{url:{id:e}}),method:"GET"}),providesTags:t.tagData(o)}),listUsers:r.query({query:e=>({url:t.buildUrl(s.urls.user.list,{search:e}),method:"GET"}),providesTags:t.tagData(o,{includeListTag:!0})})}}exports.buildLoginEndpoint=i.buildLoginEndpoint;exports.buildLogoutEndpoint=i.buildLogoutEndpoint;exports.AUTH_FACTOR_TAG=l;exports.CLASS_TAG=u;exports.SCHOOL_TAG=a;exports.USER_TAG=o;exports.getReadAuthFactorEndpoints=n;exports.getReadClassEndpoints=d;exports.getReadSchoolEndpoints=g;exports.getReadUserEndpoints=c;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../src/api/endpoints/authFactor.ts","../../../src/api/endpoints/klass.ts","../../../src/api/endpoints/school.ts","../../../src/api/endpoints/user.ts"],"sourcesContent":["import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport type { AuthFactor } from \"../models\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const AUTH_FACTOR_TAG: TagTypes = \"AuthFactor\"\n\nexport type ListAuthFactorsResult = _ListResult<AuthFactor, \"type\">\nexport type ListAuthFactorsArg = _ListArg\n\nexport default function getReadAuthFactorEndpoints<\n ListResult extends _ListResult<AuthFactor> = ListAuthFactorsResult,\n ListArg extends _ListArg<AuthFactor> = ListAuthFactorsArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n listAuthFactors: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.authFactor.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(AUTH_FACTOR_TAG, { includeListTag: true }),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport type {\n Class,\n SchoolTeacher,\n SchoolTeacherUser,\n Teacher,\n} from \"../models\"\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const CLASS_TAG: TagTypes = \"Class\"\n\nexport type RetrieveClassResult = _RetrieveResult<\n Class,\n \"name\" | \"read_classmates_data\" | \"receive_requests_until\" | \"school\"\n> & {\n teacher: SchoolTeacher & {\n user: Pick<\n SchoolTeacherUser,\n | \"id\"\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n >\n }\n}\nexport type RetrieveClassArg = _RetrieveArg<Class>\n\nexport type ListClassesResult = _ListResult<\n Class,\n \"name\" | \"read_classmates_data\" | \"receive_requests_until\" | \"school\",\n {\n teacher: SchoolTeacher & {\n user: Pick<\n SchoolTeacherUser,\n | \"id\"\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n >\n }\n }\n>\nexport type ListClassesArg = _ListArg<{\n teacher: Teacher[\"id\"]\n _id: Class[\"id\"] | Class[\"id\"][]\n id_or_name: string\n}>\n\nexport default function getReadClassEndpoints<\n RetrieveResult extends _RetrieveResult<Class> = RetrieveClassResult,\n RetrieveArg extends _RetrieveArg<Class> = RetrieveClassArg,\n ListResult extends _ListResult<Class> = ListClassesResult,\n ListArg extends _ListArg<Class> = ListClassesArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveClass: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.class.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(CLASS_TAG),\n }),\n listClasses: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.class.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(CLASS_TAG, { includeListTag: true }),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport {\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport type { School } from \"../models\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const SCHOOL_TAG: TagTypes = \"School\"\n\nexport type RetrieveSchoolResult = _RetrieveResult<\n School,\n \"name\" | \"country\" | \"uk_county\"\n>\nexport type RetrieveSchoolArg = _RetrieveArg<School>\n\nexport default function getReadSchoolEndpoints<\n RetrieveResult extends _RetrieveResult<School> = RetrieveSchoolResult,\n RetrieveArg extends _RetrieveArg<School> = RetrieveSchoolArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveSchool: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.school.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(SCHOOL_TAG),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport type { Class, User } from \"../models\"\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const USER_TAG: TagTypes = \"User\"\n\nexport type RetrieveUserResult = _RetrieveResult<\n User,\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n | \"student\"\n | \"teacher\"\n>\nexport type RetrieveUserArg = _RetrieveArg<User>\n\nexport type ListUsersResult = _ListResult<\n User,\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n | \"student\"\n | \"teacher\"\n>\nexport type ListUsersArg = _ListArg<{\n students_in_class: Class[\"id\"]\n _id: User[\"id\"] | User[\"id\"][]\n name: string\n type: \"teacher\" | \"student\" | \"independent\" | \"indy\"\n}>\n\nexport default function getReadUserEndpoints<\n RetrieveResult extends _RetrieveResult<User> = RetrieveUserResult,\n RetrieveArg extends _RetrieveArg<User> = RetrieveUserArg,\n ListResult extends _ListResult<User> = ListUsersResult,\n ListArg extends _ListArg<User> = ListUsersArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveUser: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.user.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(USER_TAG),\n }),\n listUsers: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.user.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(USER_TAG, { includeListTag: true }),\n }),\n }\n}\n"],"names":["AUTH_FACTOR_TAG","getReadAuthFactorEndpoints","build","search","buildUrl","urls","tagData","CLASS_TAG","getReadClassEndpoints","id","SCHOOL_TAG","getReadSchoolEndpoints","USER_TAG","getReadUserEndpoints"],"mappings":"uMAYaA,EAA4B,aAKzC,SAAwBC,EAGtBC,EAAuC,CACvC,MAAO,CACL,gBAAiBA,EAAM,MAA2B,CAChD,MAAOC,IAAW,CAChB,IAAKC,EAAAA,SAASC,EAAAA,KAAK,WAAW,KAAM,CAAE,OAAAF,EAAQ,EAC9C,OAAQ,KAAA,GAEV,aAAcG,EAAAA,QAAQN,EAAiB,CAAE,eAAgB,GAAM,CAAA,CAChE,CAAA,CAEL,CCXO,MAAMO,EAAsB,QA6CnC,SAAwBC,EAKtBN,EAAuC,CACvC,MAAO,CACL,cAAeA,EAAM,MAAmC,CACtD,MAAOO,IAAO,CACZ,IAAKL,EAAAA,SAASC,EAAAA,KAAK,MAAM,OAAQ,CAAE,IAAK,CAAE,GAAAI,CAAA,EAAM,EAChD,OAAQ,KAAA,GAEV,aAAcH,EAAAA,QAAQC,CAAS,CAAA,CAChC,EACD,YAAaL,EAAM,MAA2B,CAC5C,MAAOC,IAAW,CAChB,IAAKC,EAAAA,SAASC,EAAAA,KAAK,MAAM,KAAM,CAAE,OAAAF,EAAQ,EACzC,OAAQ,KAAA,GAEV,aAAcG,EAAAA,QAAQC,EAAW,CAAE,eAAgB,GAAM,CAAA,CAC1D,CAAA,CAEL,CC1EO,MAAMG,EAAuB,SAQpC,SAAwBC,EAGtBT,EAAuC,CACvC,MAAO,CACL,eAAgBA,EAAM,MAAmC,CACvD,MAAOO,IAAO,CACZ,IAAKL,EAAAA,SAASC,EAAAA,KAAK,OAAO,OAAQ,CAAE,IAAK,CAAE,GAAAI,CAAA,EAAM,EACjD,OAAQ,KAAA,GAEV,aAAcH,EAAAA,QAAQI,CAAU,CAAA,CACjC,CAAA,CAEL,CCnBO,MAAME,EAAqB,OAiClC,SAAwBC,EAKtBX,EAAuC,CACvC,MAAO,CACL,aAAcA,EAAM,MAAmC,CACrD,MAAOO,IAAO,CACZ,IAAKL,EAAAA,SAASC,EAAAA,KAAK,KAAK,OAAQ,CAAE,IAAK,CAAE,GAAAI,CAAA,EAAM,EAC/C,OAAQ,KAAA,GAEV,aAAcH,EAAAA,QAAQM,CAAQ,CAAA,CAC/B,EACD,UAAWV,EAAM,MAA2B,CAC1C,MAAOC,IAAW,CAChB,IAAKC,EAAAA,SAASC,EAAAA,KAAK,KAAK,KAAM,CAAE,OAAAF,EAAQ,EACxC,OAAQ,KAAA,GAEV,aAAcG,EAAAA,QAAQM,EAAU,CAAE,eAAgB,GAAM,CAAA,CACzD,CAAA,CAEL"}
@@ -0,0 +1,9 @@
1
+ export * from './authFactor';
2
+ export { default as getReadAuthFactorEndpoints } from './authFactor';
3
+ export * from './klass';
4
+ export { default as getReadClassEndpoints } from './klass';
5
+ export * from './school';
6
+ export { default as getReadSchoolEndpoints } from './school';
7
+ export * from './session';
8
+ export * from './user';
9
+ export { default as getReadUserEndpoints } from './user';
@@ -0,0 +1,78 @@
1
+ import { t, b as s } from "../../api-Cbyt3rw0.js";
2
+ import { u as o } from "../../urls-DtHr1d3H.js";
3
+ import { a as q, b as y } from "../../session-D312kYKk.js";
4
+ const a = "AuthFactor";
5
+ function c(r) {
6
+ return {
7
+ listAuthFactors: r.query({
8
+ query: (e) => ({
9
+ url: s(o.authFactor.list, { search: e }),
10
+ method: "GET"
11
+ }),
12
+ providesTags: t(a, { includeListTag: !0 })
13
+ })
14
+ };
15
+ }
16
+ const u = "Class";
17
+ function T(r) {
18
+ return {
19
+ retrieveClass: r.query({
20
+ query: (e) => ({
21
+ url: s(o.class.detail, { url: { id: e } }),
22
+ method: "GET"
23
+ }),
24
+ providesTags: t(u)
25
+ }),
26
+ listClasses: r.query({
27
+ query: (e) => ({
28
+ url: s(o.class.list, { search: e }),
29
+ method: "GET"
30
+ }),
31
+ providesTags: t(u, { includeListTag: !0 })
32
+ })
33
+ };
34
+ }
35
+ const l = "School";
36
+ function g(r) {
37
+ return {
38
+ retrieveSchool: r.query({
39
+ query: (e) => ({
40
+ url: s(o.school.detail, { url: { id: e } }),
41
+ method: "GET"
42
+ }),
43
+ providesTags: t(l)
44
+ })
45
+ };
46
+ }
47
+ const i = "User";
48
+ function p(r) {
49
+ return {
50
+ retrieveUser: r.query({
51
+ query: (e) => ({
52
+ url: s(o.user.detail, { url: { id: e } }),
53
+ method: "GET"
54
+ }),
55
+ providesTags: t(i)
56
+ }),
57
+ listUsers: r.query({
58
+ query: (e) => ({
59
+ url: s(o.user.list, { search: e }),
60
+ method: "GET"
61
+ }),
62
+ providesTags: t(i, { includeListTag: !0 })
63
+ })
64
+ };
65
+ }
66
+ export {
67
+ a as AUTH_FACTOR_TAG,
68
+ u as CLASS_TAG,
69
+ l as SCHOOL_TAG,
70
+ i as USER_TAG,
71
+ q as buildLoginEndpoint,
72
+ y as buildLogoutEndpoint,
73
+ c as getReadAuthFactorEndpoints,
74
+ T as getReadClassEndpoints,
75
+ g as getReadSchoolEndpoints,
76
+ p as getReadUserEndpoints
77
+ };
78
+ //# sourceMappingURL=index.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../../src/api/endpoints/authFactor.ts","../../../src/api/endpoints/klass.ts","../../../src/api/endpoints/school.ts","../../../src/api/endpoints/user.ts"],"sourcesContent":["import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport type { AuthFactor } from \"../models\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const AUTH_FACTOR_TAG: TagTypes = \"AuthFactor\"\n\nexport type ListAuthFactorsResult = _ListResult<AuthFactor, \"type\">\nexport type ListAuthFactorsArg = _ListArg\n\nexport default function getReadAuthFactorEndpoints<\n ListResult extends _ListResult<AuthFactor> = ListAuthFactorsResult,\n ListArg extends _ListArg<AuthFactor> = ListAuthFactorsArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n listAuthFactors: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.authFactor.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(AUTH_FACTOR_TAG, { includeListTag: true }),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport type {\n Class,\n SchoolTeacher,\n SchoolTeacherUser,\n Teacher,\n} from \"../models\"\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const CLASS_TAG: TagTypes = \"Class\"\n\nexport type RetrieveClassResult = _RetrieveResult<\n Class,\n \"name\" | \"read_classmates_data\" | \"receive_requests_until\" | \"school\"\n> & {\n teacher: SchoolTeacher & {\n user: Pick<\n SchoolTeacherUser,\n | \"id\"\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n >\n }\n}\nexport type RetrieveClassArg = _RetrieveArg<Class>\n\nexport type ListClassesResult = _ListResult<\n Class,\n \"name\" | \"read_classmates_data\" | \"receive_requests_until\" | \"school\",\n {\n teacher: SchoolTeacher & {\n user: Pick<\n SchoolTeacherUser,\n | \"id\"\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n >\n }\n }\n>\nexport type ListClassesArg = _ListArg<{\n teacher: Teacher[\"id\"]\n _id: Class[\"id\"] | Class[\"id\"][]\n id_or_name: string\n}>\n\nexport default function getReadClassEndpoints<\n RetrieveResult extends _RetrieveResult<Class> = RetrieveClassResult,\n RetrieveArg extends _RetrieveArg<Class> = RetrieveClassArg,\n ListResult extends _ListResult<Class> = ListClassesResult,\n ListArg extends _ListArg<Class> = ListClassesArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveClass: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.class.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(CLASS_TAG),\n }),\n listClasses: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.class.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(CLASS_TAG, { includeListTag: true }),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport {\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport type { School } from \"../models\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const SCHOOL_TAG: TagTypes = \"School\"\n\nexport type RetrieveSchoolResult = _RetrieveResult<\n School,\n \"name\" | \"country\" | \"uk_county\"\n>\nexport type RetrieveSchoolArg = _RetrieveArg<School>\n\nexport default function getReadSchoolEndpoints<\n RetrieveResult extends _RetrieveResult<School> = RetrieveSchoolResult,\n RetrieveArg extends _RetrieveArg<School> = RetrieveSchoolArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveSchool: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.school.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(SCHOOL_TAG),\n }),\n }\n}\n","import { type EndpointBuilder } from \"@reduxjs/toolkit/query/react\"\n\nimport type { Class, User } from \"../models\"\nimport {\n type ListArg as _ListArg,\n type ListResult as _ListResult,\n type RetrieveArg as _RetrieveArg,\n type RetrieveResult as _RetrieveResult,\n buildUrl,\n tagData,\n} from \"../../utils/api\"\nimport { type TagTypes } from \"../tagTypes\"\nimport urls from \"../urls\"\n\nexport const USER_TAG: TagTypes = \"User\"\n\nexport type RetrieveUserResult = _RetrieveResult<\n User,\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n | \"student\"\n | \"teacher\"\n>\nexport type RetrieveUserArg = _RetrieveArg<User>\n\nexport type ListUsersResult = _ListResult<\n User,\n | \"first_name\"\n | \"last_name\"\n | \"email\"\n | \"is_active\"\n | \"date_joined\"\n | \"requesting_to_join_class\"\n | \"student\"\n | \"teacher\"\n>\nexport type ListUsersArg = _ListArg<{\n students_in_class: Class[\"id\"]\n _id: User[\"id\"] | User[\"id\"][]\n name: string\n type: \"teacher\" | \"student\" | \"independent\" | \"indy\"\n}>\n\nexport default function getReadUserEndpoints<\n RetrieveResult extends _RetrieveResult<User> = RetrieveUserResult,\n RetrieveArg extends _RetrieveArg<User> = RetrieveUserArg,\n ListResult extends _ListResult<User> = ListUsersResult,\n ListArg extends _ListArg<User> = ListUsersArg,\n>(build: EndpointBuilder<any, any, any>) {\n return {\n retrieveUser: build.query<RetrieveResult, RetrieveArg>({\n query: id => ({\n url: buildUrl(urls.user.detail, { url: { id } }),\n method: \"GET\",\n }),\n providesTags: tagData(USER_TAG),\n }),\n listUsers: build.query<ListResult, ListArg>({\n query: search => ({\n url: buildUrl(urls.user.list, { search }),\n method: \"GET\",\n }),\n providesTags: tagData(USER_TAG, { includeListTag: true }),\n }),\n }\n}\n"],"names":["AUTH_FACTOR_TAG","getReadAuthFactorEndpoints","build","search","buildUrl","urls","tagData","CLASS_TAG","getReadClassEndpoints","id","SCHOOL_TAG","getReadSchoolEndpoints","USER_TAG","getReadUserEndpoints"],"mappings":";;;AAYO,MAAMA,IAA4B;AAKzC,SAAwBC,EAGtBC,GAAuC;AACvC,SAAO;AAAA,IACL,iBAAiBA,EAAM,MAA2B;AAAA,MAChD,OAAO,CAAAC,OAAW;AAAA,QAChB,KAAKC,EAASC,EAAK,WAAW,MAAM,EAAE,QAAAF,GAAQ;AAAA,QAC9C,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcG,EAAQN,GAAiB,EAAE,gBAAgB,IAAM;AAAA,IAAA,CAChE;AAAA,EAAA;AAEL;ACXO,MAAMO,IAAsB;AA6CnC,SAAwBC,EAKtBN,GAAuC;AACvC,SAAO;AAAA,IACL,eAAeA,EAAM,MAAmC;AAAA,MACtD,OAAO,CAAAO,OAAO;AAAA,QACZ,KAAKL,EAASC,EAAK,MAAM,QAAQ,EAAE,KAAK,EAAE,IAAAI,EAAA,GAAM;AAAA,QAChD,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcH,EAAQC,CAAS;AAAA,IAAA,CAChC;AAAA,IACD,aAAaL,EAAM,MAA2B;AAAA,MAC5C,OAAO,CAAAC,OAAW;AAAA,QAChB,KAAKC,EAASC,EAAK,MAAM,MAAM,EAAE,QAAAF,GAAQ;AAAA,QACzC,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcG,EAAQC,GAAW,EAAE,gBAAgB,IAAM;AAAA,IAAA,CAC1D;AAAA,EAAA;AAEL;AC1EO,MAAMG,IAAuB;AAQpC,SAAwBC,EAGtBT,GAAuC;AACvC,SAAO;AAAA,IACL,gBAAgBA,EAAM,MAAmC;AAAA,MACvD,OAAO,CAAAO,OAAO;AAAA,QACZ,KAAKL,EAASC,EAAK,OAAO,QAAQ,EAAE,KAAK,EAAE,IAAAI,EAAA,GAAM;AAAA,QACjD,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcH,EAAQI,CAAU;AAAA,IAAA,CACjC;AAAA,EAAA;AAEL;ACnBO,MAAME,IAAqB;AAiClC,SAAwBC,EAKtBX,GAAuC;AACvC,SAAO;AAAA,IACL,cAAcA,EAAM,MAAmC;AAAA,MACrD,OAAO,CAAAO,OAAO;AAAA,QACZ,KAAKL,EAASC,EAAK,KAAK,QAAQ,EAAE,KAAK,EAAE,IAAAI,EAAA,GAAM;AAAA,QAC/C,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcH,EAAQM,CAAQ;AAAA,IAAA,CAC/B;AAAA,IACD,WAAWV,EAAM,MAA2B;AAAA,MAC1C,OAAO,CAAAC,OAAW;AAAA,QAChB,KAAKC,EAASC,EAAK,KAAK,MAAM,EAAE,QAAAF,GAAQ;AAAA,QACxC,QAAQ;AAAA,MAAA;AAAA,MAEV,cAAcG,EAAQM,GAAU,EAAE,gBAAgB,IAAM;AAAA,IAAA,CACzD;AAAA,EAAA;AAEL;"}
@@ -0,0 +1,26 @@
1
+ import { EndpointBuilder } from '@reduxjs/toolkit/query/react';
2
+ import { Class, SchoolTeacher, SchoolTeacherUser, Teacher } from '../models';
3
+ import { ListArg as _ListArg, ListResult as _ListResult, RetrieveArg as _RetrieveArg, RetrieveResult as _RetrieveResult } from '../../utils/api';
4
+ import { TagTypes } from '../tagTypes';
5
+ import { QueryDefinition } from '@reduxjs/toolkit/query';
6
+ export declare const CLASS_TAG: TagTypes;
7
+ export type RetrieveClassResult = _RetrieveResult<Class, "name" | "read_classmates_data" | "receive_requests_until" | "school"> & {
8
+ teacher: SchoolTeacher & {
9
+ user: Pick<SchoolTeacherUser, "id" | "first_name" | "last_name" | "email" | "is_active" | "date_joined" | "requesting_to_join_class">;
10
+ };
11
+ };
12
+ export type RetrieveClassArg = _RetrieveArg<Class>;
13
+ export type ListClassesResult = _ListResult<Class, "name" | "read_classmates_data" | "receive_requests_until" | "school", {
14
+ teacher: SchoolTeacher & {
15
+ user: Pick<SchoolTeacherUser, "id" | "first_name" | "last_name" | "email" | "is_active" | "date_joined" | "requesting_to_join_class">;
16
+ };
17
+ }>;
18
+ export type ListClassesArg = _ListArg<{
19
+ teacher: Teacher["id"];
20
+ _id: Class["id"] | Class["id"][];
21
+ id_or_name: string;
22
+ }>;
23
+ export default function getReadClassEndpoints<RetrieveResult extends _RetrieveResult<Class> = RetrieveClassResult, RetrieveArg extends _RetrieveArg<Class> = RetrieveClassArg, ListResult extends _ListResult<Class> = ListClassesResult, ListArg extends _ListArg<Class> = ListClassesArg>(build: EndpointBuilder<any, any, any>): {
24
+ retrieveClass: QueryDefinition<RetrieveArg, any, any, RetrieveResult, any, any>;
25
+ listClasses: QueryDefinition<ListArg, any, any, ListResult, any, any>;
26
+ };
@@ -0,0 +1,11 @@
1
+ import { EndpointBuilder } from '@reduxjs/toolkit/query/react';
2
+ import { RetrieveArg as _RetrieveArg, RetrieveResult as _RetrieveResult } from '../../utils/api';
3
+ import { School } from '../models';
4
+ import { TagTypes } from '../tagTypes';
5
+ import { QueryDefinition } from '@reduxjs/toolkit/query';
6
+ export declare const SCHOOL_TAG: TagTypes;
7
+ export type RetrieveSchoolResult = _RetrieveResult<School, "name" | "country" | "uk_county">;
8
+ export type RetrieveSchoolArg = _RetrieveArg<School>;
9
+ export default function getReadSchoolEndpoints<RetrieveResult extends _RetrieveResult<School> = RetrieveSchoolResult, RetrieveArg extends _RetrieveArg<School> = RetrieveSchoolArg>(build: EndpointBuilder<any, any, any>): {
10
+ retrieveSchool: QueryDefinition<RetrieveArg, any, any, RetrieveResult, any, any>;
11
+ };
@@ -0,0 +1,9 @@
1
+ import { Api, EndpointBuilder } from '@reduxjs/toolkit/query/react';
2
+ import { MutationDefinition } from '@reduxjs/toolkit/query';
3
+ export type ExchangeOAuth2CodeArg = {
4
+ code: string;
5
+ code_verifier: string;
6
+ redirect_uri: string;
7
+ };
8
+ export declare function buildLoginEndpoint<ResultType, QueryArg>(build: EndpointBuilder<any, any, any>, url?: string): MutationDefinition<QueryArg, any, any, ResultType, any, any>;
9
+ export declare function buildLogoutEndpoint<ResultType, QueryArg>(api: Api<any, any, any, any, any>, build: EndpointBuilder<any, any, any>, url?: string): MutationDefinition<QueryArg, any, any, ResultType, any, any>;
@@ -0,0 +1,19 @@
1
+ import { EndpointBuilder } from '@reduxjs/toolkit/query/react';
2
+ import { Class, User } from '../models';
3
+ import { ListArg as _ListArg, ListResult as _ListResult, RetrieveArg as _RetrieveArg, RetrieveResult as _RetrieveResult } from '../../utils/api';
4
+ import { TagTypes } from '../tagTypes';
5
+ import { QueryDefinition } from '@reduxjs/toolkit/query';
6
+ export declare const USER_TAG: TagTypes;
7
+ export type RetrieveUserResult = _RetrieveResult<User, "first_name" | "last_name" | "email" | "is_active" | "date_joined" | "requesting_to_join_class" | "student" | "teacher">;
8
+ export type RetrieveUserArg = _RetrieveArg<User>;
9
+ export type ListUsersResult = _ListResult<User, "first_name" | "last_name" | "email" | "is_active" | "date_joined" | "requesting_to_join_class" | "student" | "teacher">;
10
+ export type ListUsersArg = _ListArg<{
11
+ students_in_class: Class["id"];
12
+ _id: User["id"] | User["id"][];
13
+ name: string;
14
+ type: "teacher" | "student" | "independent" | "indy";
15
+ }>;
16
+ export default function getReadUserEndpoints<RetrieveResult extends _RetrieveResult<User> = RetrieveUserResult, RetrieveArg extends _RetrieveArg<User> = RetrieveUserArg, ListResult extends _ListResult<User> = ListUsersResult, ListArg extends _ListArg<User> = ListUsersArg>(build: EndpointBuilder<any, any, any>): {
17
+ retrieveUser: QueryDefinition<RetrieveArg, any, any, RetrieveResult, any, any>;
18
+ listUsers: QueryDefinition<ListArg, any, any, ListResult, any, any>;
19
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Q=require("../rtk-query.modern-PBCErCqb.cjs"),x=require("@reduxjs/toolkit"),T=require("react-redux"),n=require("react"),re=require("../settings/index.cjs.js"),ie=require("../session-CacrgFSv.cjs"),B=require("../utils/auth.cjs.js"),ue=require("../api-CnMfjRk3.cjs"),ce=require("../schemas-BZbJpkD5.cjs"),ae=require("../urls-MaVXL_C2.cjs");function z(e){return e.replace(e[0],e[0].toUpperCase())}function fe(e){let d=0;for(const g in e)d++;return d}function de(e){return e.type==="query"}function le(e){return e.type==="mutation"}function te(e){return e.type==="infinitequery"}function H(e,...d){return Object.assign(e,...d)}var Y=Symbol();function Z(e){const d=n.useRef(e),g=n.useMemo(()=>Q.copyWithStructuralSharing(d.current,e),[e]);return n.useEffect(()=>{d.current!==g&&(d.current=g)},[g]),g}function $(e){const d=n.useRef(e);return n.useEffect(()=>{T.shallowEqual(d.current,e)||(d.current=e)},[e]),T.shallowEqual(d.current,e)?d.current:e}var pe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",be=pe(),ye=()=>typeof navigator<"u"&&navigator.product==="ReactNative",ge=ye(),he=()=>be||ge?n.useLayoutEffect:n.useEffect,me=he(),ee=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:e.data===void 0,status:Q.QueryStatus.pending}:e;function J(e,...d){const g={};return d.forEach(k=>{g[k]=e[k]}),g}var X=["data","status","isLoading","isSuccess","isError","error"];function ke({api:e,moduleOptions:{batch:d,hooks:{useDispatch:g,useSelector:k,useStore:q},unstable__sideEffectsInRender:h,createSelector:S},serializeQueryArgs:m,context:D}){const C=h?t=>t():n.useEffect;return{buildQueryHooks:A,buildInfiniteQueryHooks:K,buildMutationHook:W,usePrefetch:G};function j(t,r,l){if(r?.endpointName&&t.isUninitialized){const{endpointName:u}=r,a=D.endpointDefinitions[u];l!==Q.skipToken&&m({queryArgs:r.originalArgs,endpointDefinition:a,endpointName:u})===m({queryArgs:l,endpointDefinition:a,endpointName:u})&&(r=void 0)}let c=t.isSuccess?t.data:r?.data;c===void 0&&(c=t.data);const i=c!==void 0,s=t.isLoading,o=(!r||r.isLoading||r.isUninitialized)&&!i&&s,f=t.isSuccess||i&&(s&&!r?.isError||t.isUninitialized);return{...t,data:c,currentData:t.data,isFetching:s,isLoading:o,isSuccess:f}}function F(t,r,l){if(r?.endpointName&&t.isUninitialized){const{endpointName:u}=r,a=D.endpointDefinitions[u];l!==Q.skipToken&&m({queryArgs:r.originalArgs,endpointDefinition:a,endpointName:u})===m({queryArgs:l,endpointDefinition:a,endpointName:u})&&(r=void 0)}let c=t.isSuccess?t.data:r?.data;c===void 0&&(c=t.data);const i=c!==void 0,s=t.isLoading,o=(!r||r.isLoading||r.isUninitialized)&&!i&&s,f=t.isSuccess||s&&i;return{...t,data:c,currentData:t.data,isFetching:s,isLoading:o,isSuccess:f}}function G(t,r){const l=g(),c=$(r);return n.useCallback((i,s)=>l(e.util.prefetch(t,i,{...c,...s})),[t,l,c])}function M(t,r,{refetchOnReconnect:l,refetchOnFocus:c,refetchOnMountOrArgChange:i,skip:s=!1,pollingInterval:o=0,skipPollingIfUnfocused:f=!1,...u}={}){const{initiate:a}=e.endpoints[t],b=g(),O=n.useRef(void 0);if(!O.current){const L=b(e.internalActions.internal_getRTKQSubscriptions());if(process.env.NODE_ENV!=="production"&&(typeof L!="object"||typeof L?.type=="string"))throw new Error(process.env.NODE_ENV==="production"?x.formatProdErrorMessage(37):`Warning: Middleware for RTK-Query API at reducerPath "${e.reducerPath}" has not been added to the store.
2
+ You must add the middleware for RTK-Query to function correctly!`);O.current=L}const p=Z(s?Q.skipToken:r),y=$({refetchOnReconnect:l,refetchOnFocus:c,pollingInterval:o,skipPollingIfUnfocused:f}),v=u.initialPageParam,E=$(v),P=n.useRef(void 0);let{queryCacheKey:I,requestId:U}=P.current||{},V=!1;I&&U&&(V=O.current.isRequestSubscribed(I,U));const N=!V&&P.current!==void 0;return C(()=>{N&&(P.current=void 0)},[N]),C(()=>{const L=P.current;if(typeof process<"u"&&process.env.NODE_ENV==="removeMeOnCompilation"&&console.log(N),p===Q.skipToken){L?.unsubscribe(),P.current=void 0;return}const se=P.current?.subscriptionOptions;if(!L||L.arg!==p){L?.unsubscribe();const oe=b(a(p,{subscriptionOptions:y,forceRefetch:i,...te(D.endpointDefinitions[t])?{initialPageParam:E}:{}}));P.current=oe}else y!==se&&L.updateSubscriptionOptions(y)},[b,a,i,p,y,N,E,t]),[P,b,a,y]}function _(t,r){return(c,{skip:i=!1,selectFromResult:s}={})=>{const{select:o}=e.endpoints[t],f=Z(i?Q.skipToken:c),u=n.useRef(void 0),a=n.useMemo(()=>S([o(f),(v,E)=>E,v=>f],r,{memoizeOptions:{resultEqualityCheck:T.shallowEqual}}),[o,f]),b=n.useMemo(()=>s?S([a],s,{devModeChecks:{identityFunctionCheck:"never"}}):a,[a,s]),O=k(v=>b(v,u.current),T.shallowEqual),p=q(),y=a(p.getState(),u.current);return me(()=>{u.current=y},[y]),O}}function w(t){n.useEffect(()=>()=>{t.current?.unsubscribe?.(),t.current=void 0},[t])}function R(t){if(!t.current)throw new Error(process.env.NODE_ENV==="production"?x.formatProdErrorMessage(38):"Cannot refetch a query that has not been started yet.");return t.current.refetch()}function A(t){const r=(i,s={})=>{const[o]=M(t,i,s);return w(o),n.useMemo(()=>({refetch:()=>R(o)}),[o])},l=({refetchOnReconnect:i,refetchOnFocus:s,pollingInterval:o=0,skipPollingIfUnfocused:f=!1}={})=>{const{initiate:u}=e.endpoints[t],a=g(),[b,O]=n.useState(Y),p=n.useRef(void 0),y=$({refetchOnReconnect:i,refetchOnFocus:s,pollingInterval:o,skipPollingIfUnfocused:f});C(()=>{const I=p.current?.subscriptionOptions;y!==I&&p.current?.updateSubscriptionOptions(y)},[y]);const v=n.useRef(y);C(()=>{v.current=y},[y]);const E=n.useCallback(function(I,U=!1){let V;return d(()=>{p.current?.unsubscribe(),p.current=V=a(u(I,{subscriptionOptions:v.current,forceRefetch:!U})),O(I)}),V},[a,u]),P=n.useCallback(()=>{p.current?.queryCacheKey&&a(e.internalActions.removeQueryResult({queryCacheKey:p.current?.queryCacheKey}))},[a]);return n.useEffect(()=>()=>{p?.current?.unsubscribe()},[]),n.useEffect(()=>{b!==Y&&!p.current&&E(b,!0)},[b,E]),n.useMemo(()=>[E,b,{reset:P}],[E,b,P])},c=_(t,j);return{useQueryState:c,useQuerySubscription:r,useLazyQuerySubscription:l,useLazyQuery(i){const[s,o,{reset:f}]=l(i),u=c(o,{...i,skip:o===Y}),a=n.useMemo(()=>({lastArg:o}),[o]);return n.useMemo(()=>[s,{...u,reset:f},a],[s,u,f,a])},useQuery(i,s){const o=r(i,s),f=c(i,{selectFromResult:i===Q.skipToken||s?.skip?void 0:ee,...s}),u=J(f,...X);return n.useDebugValue(u),n.useMemo(()=>({...f,...o}),[f,o])}}}function K(t){const r=(c,i={})=>{const[s,o,f,u]=M(t,c,i),a=n.useRef(u);C(()=>{a.current=u},[u]);const b=n.useCallback(function(y,v){let E;return d(()=>{s.current?.unsubscribe(),s.current=E=o(f(y,{subscriptionOptions:a.current,direction:v}))}),E},[s,o,f]);w(s);const O=Z(i.skip?Q.skipToken:c),p=n.useCallback(()=>R(s),[s]);return n.useMemo(()=>({trigger:b,refetch:p,fetchNextPage:()=>b(O,"forward"),fetchPreviousPage:()=>b(O,"backward")}),[p,b,O])},l=_(t,F);return{useInfiniteQueryState:l,useInfiniteQuerySubscription:r,useInfiniteQuery(c,i){const{refetch:s,fetchNextPage:o,fetchPreviousPage:f}=r(c,i),u=l(c,{selectFromResult:c===Q.skipToken||i?.skip?void 0:ee,...i}),a=J(u,...X,"hasNextPage","hasPreviousPage");return n.useDebugValue(a),n.useMemo(()=>({...u,fetchNextPage:o,fetchPreviousPage:f,refetch:s}),[u,o,f,s])}}}function W(t){return({selectFromResult:r,fixedCacheKey:l}={})=>{const{select:c,initiate:i}=e.endpoints[t],s=g(),[o,f]=n.useState();n.useEffect(()=>()=>{o?.arg.fixedCacheKey||o?.reset()},[o]);const u=n.useCallback(function(I){const U=s(i(I,{fixedCacheKey:l}));return f(U),U},[s,i,l]),{requestId:a}=o||{},b=n.useMemo(()=>c({fixedCacheKey:l,requestId:o?.requestId}),[l,o,c]),O=n.useMemo(()=>r?S([b],r):b,[r,b]),p=k(O,T.shallowEqual),y=l==null?o?.arg.originalArgs:void 0,v=n.useCallback(()=>{d(()=>{o&&f(void 0),l&&s(e.internalActions.removeMutationResult({requestId:a,fixedCacheKey:l}))})},[s,l,o,a]),E=J(p,...X,"endpointName");n.useDebugValue(E);const P=n.useMemo(()=>({...p,originalArgs:y,reset:v}),[p,y,v]);return n.useMemo(()=>[u,P],[u,P])}}}var Se=Symbol(),ve=({batch:e=T.batch,hooks:d={useDispatch:T.useDispatch,useSelector:T.useSelector,useStore:T.useStore},createSelector:g=Q.createSelector,unstable__sideEffectsInRender:k=!1,...q}={})=>{if(process.env.NODE_ENV!=="production"){const h=["useDispatch","useSelector","useStore"];let S=!1;for(const m of h)if(fe(q)>0&&(q[m]&&(S||(console.warn("As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`"),S=!0)),d[m]=q[m]),typeof d[m]!="function")throw new Error(process.env.NODE_ENV==="production"?x.formatProdErrorMessage(36):`When using custom hooks for context, all ${h.length} hooks need to be provided: ${h.join(", ")}.
3
+ Hook ${m} was either not provided or not a function.`)}return{name:Se,init(h,{serializeQueryArgs:S},m){const D=h,{buildQueryHooks:C,buildInfiniteQueryHooks:j,buildMutationHook:F,usePrefetch:G}=ke({api:h,moduleOptions:{batch:e,hooks:d,unstable__sideEffectsInRender:k,createSelector:g},serializeQueryArgs:S,context:m});return H(D,{usePrefetch:G}),H(m,{batch:e}),{injectEndpoint(M,_){if(de(_)){const{useQuery:w,useLazyQuery:R,useLazyQuerySubscription:A,useQueryState:K,useQuerySubscription:W}=C(M);H(D.endpoints[M],{useQuery:w,useLazyQuery:R,useLazyQuerySubscription:A,useQueryState:K,useQuerySubscription:W}),h[`use${z(M)}Query`]=w,h[`useLazy${z(M)}Query`]=R}if(le(_)){const w=F(M);H(D.endpoints[M],{useMutation:w}),h[`use${z(M)}Mutation`]=w}else if(te(_)){const{useInfiniteQuery:w,useInfiniteQuerySubscription:R,useInfiniteQueryState:A}=j(M);H(D.endpoints[M],{useInfiniteQuery:w,useInfiniteQuerySubscription:R,useInfiniteQueryState:A}),h[`use${z(M)}InfiniteQuery`]=w}}}}}},Ee=Q.buildCreateApi(Q.coreModule(),ve());const ne=["User","School","Class","AuthFactor"];function Pe({tagTypes:e=[]}={}){const d=Q.fetchBaseQuery({baseUrl:`${re.SERVICE_API_URL}/`,credentials:"include",prepareHeaders:(k,q)=>{const{type:h,arg:S}=q,m=typeof S=="string"?"GET":S.method||"GET";if(h==="mutation"||!ue.isSafeHttpMethod(m)){const D=B.getCsrfCookie();D&&k.set("x-csrftoken",D)}return k}}),g=Ee({baseQuery:async(k,q,h)=>{if(q.type==="mutation"&&B.getCsrfCookie()===void 0){const{error:S}=await d({url:"/csrf/cookie/",method:"GET"},q,{});S!==void 0&&console.error(S),B.getCsrfCookie()}return await d(k,q,h)},tagTypes:[...ne,...e],endpoints:()=>({})});return g.injectEndpoints({endpoints:k=>({logout:ie.buildLogoutEndpoint(g,k)})})}exports.schemas=ce.schemas;exports.urls=ae.urls;exports.createApi=Pe;exports.tagTypes=ne;
4
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.mjs","../../src/api/tagTypes.ts","../../src/api/createApi.ts"],"sourcesContent":["// src/query/react/index.ts\nimport { buildCreateApi, coreModule } from \"@reduxjs/toolkit/query\";\n\n// src/query/react/module.ts\nimport { formatProdErrorMessage as _formatProdErrorMessage3 } from \"@reduxjs/toolkit\";\nimport { batch as rrBatch, useDispatch as rrUseDispatch, useSelector as rrUseSelector, useStore as rrUseStore } from \"react-redux\";\nimport { createSelector as _createSelector } from \"reselect\";\n\n// src/query/utils/capitalize.ts\nfunction capitalize(str) {\n return str.replace(str[0], str[0].toUpperCase());\n}\n\n// src/query/utils/countObjectKeys.ts\nfunction countObjectKeys(obj) {\n let count = 0;\n for (const _key in obj) {\n count++;\n }\n return count;\n}\n\n// src/query/endpointDefinitions.ts\nfunction isQueryDefinition(e) {\n return e.type === \"query\" /* query */;\n}\nfunction isMutationDefinition(e) {\n return e.type === \"mutation\" /* mutation */;\n}\nfunction isInfiniteQueryDefinition(e) {\n return e.type === \"infinitequery\" /* infinitequery */;\n}\n\n// src/query/tsHelpers.ts\nfunction safeAssign(target, ...args) {\n return Object.assign(target, ...args);\n}\n\n// src/query/react/buildHooks.ts\nimport { formatProdErrorMessage as _formatProdErrorMessage, formatProdErrorMessage as _formatProdErrorMessage2 } from \"@reduxjs/toolkit\";\nimport { QueryStatus, skipToken } from \"@reduxjs/toolkit/query\";\nimport { useCallback, useDebugValue, useEffect as useEffect3, useLayoutEffect, useMemo as useMemo2, useRef as useRef3, useState } from \"react\";\nimport { shallowEqual as shallowEqual2 } from \"react-redux\";\n\n// src/query/react/constants.ts\nvar UNINITIALIZED_VALUE = Symbol();\n\n// src/query/react/useSerializedStableValue.ts\nimport { useEffect, useRef, useMemo } from \"react\";\nimport { copyWithStructuralSharing } from \"@reduxjs/toolkit/query\";\nfunction useStableQueryArgs(queryArgs) {\n const cache = useRef(queryArgs);\n const copy = useMemo(() => copyWithStructuralSharing(cache.current, queryArgs), [queryArgs]);\n useEffect(() => {\n if (cache.current !== copy) {\n cache.current = copy;\n }\n }, [copy]);\n return copy;\n}\n\n// src/query/react/useShallowStableValue.ts\nimport { useEffect as useEffect2, useRef as useRef2 } from \"react\";\nimport { shallowEqual } from \"react-redux\";\nfunction useShallowStableValue(value) {\n const cache = useRef2(value);\n useEffect2(() => {\n if (!shallowEqual(cache.current, value)) {\n cache.current = value;\n }\n }, [value]);\n return shallowEqual(cache.current, value) ? cache.current : value;\n}\n\n// src/query/react/buildHooks.ts\nvar canUseDOM = () => !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\nvar isDOM = /* @__PURE__ */ canUseDOM();\nvar isRunningInReactNative = () => typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\";\nvar isReactNative = /* @__PURE__ */ isRunningInReactNative();\nvar getUseIsomorphicLayoutEffect = () => isDOM || isReactNative ? useLayoutEffect : useEffect3;\nvar useIsomorphicLayoutEffect = /* @__PURE__ */ getUseIsomorphicLayoutEffect();\nvar noPendingQueryStateSelector = (selected) => {\n if (selected.isUninitialized) {\n return {\n ...selected,\n isUninitialized: false,\n isFetching: true,\n isLoading: selected.data !== void 0 ? false : true,\n status: QueryStatus.pending\n };\n }\n return selected;\n};\nfunction pick(obj, ...keys) {\n const ret = {};\n keys.forEach((key) => {\n ret[key] = obj[key];\n });\n return ret;\n}\nvar COMMON_HOOK_DEBUG_FIELDS = [\"data\", \"status\", \"isLoading\", \"isSuccess\", \"isError\", \"error\"];\nfunction buildHooks({\n api,\n moduleOptions: {\n batch,\n hooks: {\n useDispatch,\n useSelector,\n useStore\n },\n unstable__sideEffectsInRender,\n createSelector\n },\n serializeQueryArgs,\n context\n}) {\n const usePossiblyImmediateEffect = unstable__sideEffectsInRender ? (cb) => cb() : useEffect3;\n return {\n buildQueryHooks,\n buildInfiniteQueryHooks,\n buildMutationHook,\n usePrefetch\n };\n function queryStatePreSelector(currentState, lastResult, queryArgs) {\n if (lastResult?.endpointName && currentState.isUninitialized) {\n const {\n endpointName\n } = lastResult;\n const endpointDefinition = context.endpointDefinitions[endpointName];\n if (queryArgs !== skipToken && serializeQueryArgs({\n queryArgs: lastResult.originalArgs,\n endpointDefinition,\n endpointName\n }) === serializeQueryArgs({\n queryArgs,\n endpointDefinition,\n endpointName\n })) lastResult = void 0;\n }\n let data = currentState.isSuccess ? currentState.data : lastResult?.data;\n if (data === void 0) data = currentState.data;\n const hasData = data !== void 0;\n const isFetching = currentState.isLoading;\n const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;\n const isSuccess = currentState.isSuccess || hasData && (isFetching && !lastResult?.isError || currentState.isUninitialized);\n return {\n ...currentState,\n data,\n currentData: currentState.data,\n isFetching,\n isLoading,\n isSuccess\n };\n }\n function infiniteQueryStatePreSelector(currentState, lastResult, queryArgs) {\n if (lastResult?.endpointName && currentState.isUninitialized) {\n const {\n endpointName\n } = lastResult;\n const endpointDefinition = context.endpointDefinitions[endpointName];\n if (queryArgs !== skipToken && serializeQueryArgs({\n queryArgs: lastResult.originalArgs,\n endpointDefinition,\n endpointName\n }) === serializeQueryArgs({\n queryArgs,\n endpointDefinition,\n endpointName\n })) lastResult = void 0;\n }\n let data = currentState.isSuccess ? currentState.data : lastResult?.data;\n if (data === void 0) data = currentState.data;\n const hasData = data !== void 0;\n const isFetching = currentState.isLoading;\n const isLoading = (!lastResult || lastResult.isLoading || lastResult.isUninitialized) && !hasData && isFetching;\n const isSuccess = currentState.isSuccess || isFetching && hasData;\n return {\n ...currentState,\n data,\n currentData: currentState.data,\n isFetching,\n isLoading,\n isSuccess\n };\n }\n function usePrefetch(endpointName, defaultOptions) {\n const dispatch = useDispatch();\n const stableDefaultOptions = useShallowStableValue(defaultOptions);\n return useCallback((arg, options) => dispatch(api.util.prefetch(endpointName, arg, {\n ...stableDefaultOptions,\n ...options\n })), [endpointName, dispatch, stableDefaultOptions]);\n }\n function useQuerySubscriptionCommonImpl(endpointName, arg, {\n refetchOnReconnect,\n refetchOnFocus,\n refetchOnMountOrArgChange,\n skip = false,\n pollingInterval = 0,\n skipPollingIfUnfocused = false,\n ...rest\n } = {}) {\n const {\n initiate\n } = api.endpoints[endpointName];\n const dispatch = useDispatch();\n const subscriptionSelectorsRef = useRef3(void 0);\n if (!subscriptionSelectorsRef.current) {\n const returnedValue = dispatch(api.internalActions.internal_getRTKQSubscriptions());\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof returnedValue !== \"object\" || typeof returnedValue?.type === \"string\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage(37) : `Warning: Middleware for RTK-Query API at reducerPath \"${api.reducerPath}\" has not been added to the store.\n You must add the middleware for RTK-Query to function correctly!`);\n }\n }\n subscriptionSelectorsRef.current = returnedValue;\n }\n const stableArg = useStableQueryArgs(skip ? skipToken : arg);\n const stableSubscriptionOptions = useShallowStableValue({\n refetchOnReconnect,\n refetchOnFocus,\n pollingInterval,\n skipPollingIfUnfocused\n });\n const initialPageParam = rest.initialPageParam;\n const stableInitialPageParam = useShallowStableValue(initialPageParam);\n const promiseRef = useRef3(void 0);\n let {\n queryCacheKey,\n requestId\n } = promiseRef.current || {};\n let currentRenderHasSubscription = false;\n if (queryCacheKey && requestId) {\n currentRenderHasSubscription = subscriptionSelectorsRef.current.isRequestSubscribed(queryCacheKey, requestId);\n }\n const subscriptionRemoved = !currentRenderHasSubscription && promiseRef.current !== void 0;\n usePossiblyImmediateEffect(() => {\n if (subscriptionRemoved) {\n promiseRef.current = void 0;\n }\n }, [subscriptionRemoved]);\n usePossiblyImmediateEffect(() => {\n const lastPromise = promiseRef.current;\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"removeMeOnCompilation\") {\n console.log(subscriptionRemoved);\n }\n if (stableArg === skipToken) {\n lastPromise?.unsubscribe();\n promiseRef.current = void 0;\n return;\n }\n const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;\n if (!lastPromise || lastPromise.arg !== stableArg) {\n lastPromise?.unsubscribe();\n const promise = dispatch(initiate(stableArg, {\n subscriptionOptions: stableSubscriptionOptions,\n forceRefetch: refetchOnMountOrArgChange,\n ...isInfiniteQueryDefinition(context.endpointDefinitions[endpointName]) ? {\n initialPageParam: stableInitialPageParam\n } : {}\n }));\n promiseRef.current = promise;\n } else if (stableSubscriptionOptions !== lastSubscriptionOptions) {\n lastPromise.updateSubscriptionOptions(stableSubscriptionOptions);\n }\n }, [dispatch, initiate, refetchOnMountOrArgChange, stableArg, stableSubscriptionOptions, subscriptionRemoved, stableInitialPageParam, endpointName]);\n return [promiseRef, dispatch, initiate, stableSubscriptionOptions];\n }\n function buildUseQueryState(endpointName, preSelector) {\n const useQueryState = (arg, {\n skip = false,\n selectFromResult\n } = {}) => {\n const {\n select\n } = api.endpoints[endpointName];\n const stableArg = useStableQueryArgs(skip ? skipToken : arg);\n const lastValue = useRef3(void 0);\n const selectDefaultResult = useMemo2(() => (\n // Normally ts-ignores are bad and should be avoided, but we're\n // already casting this selector to be `Selector<any>` anyway,\n // so the inconsistencies don't matter here\n // @ts-ignore\n createSelector([\n // @ts-ignore\n select(stableArg),\n (_, lastResult) => lastResult,\n (_) => stableArg\n ], preSelector, {\n memoizeOptions: {\n resultEqualityCheck: shallowEqual2\n }\n })\n ), [select, stableArg]);\n const querySelector = useMemo2(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult, {\n devModeChecks: {\n identityFunctionCheck: \"never\"\n }\n }) : selectDefaultResult, [selectDefaultResult, selectFromResult]);\n const currentState = useSelector((state) => querySelector(state, lastValue.current), shallowEqual2);\n const store = useStore();\n const newLastValue = selectDefaultResult(store.getState(), lastValue.current);\n useIsomorphicLayoutEffect(() => {\n lastValue.current = newLastValue;\n }, [newLastValue]);\n return currentState;\n };\n return useQueryState;\n }\n function usePromiseRefUnsubscribeOnUnmount(promiseRef) {\n useEffect3(() => {\n return () => {\n promiseRef.current?.unsubscribe?.();\n promiseRef.current = void 0;\n };\n }, [promiseRef]);\n }\n function refetchOrErrorIfUnmounted(promiseRef) {\n if (!promiseRef.current) throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage2(38) : \"Cannot refetch a query that has not been started yet.\");\n return promiseRef.current.refetch();\n }\n function buildQueryHooks(endpointName) {\n const useQuerySubscription = (arg, options = {}) => {\n const [promiseRef] = useQuerySubscriptionCommonImpl(endpointName, arg, options);\n usePromiseRefUnsubscribeOnUnmount(promiseRef);\n return useMemo2(() => ({\n /**\n * A method to manually refetch data for the query\n */\n refetch: () => refetchOrErrorIfUnmounted(promiseRef)\n }), [promiseRef]);\n };\n const useLazyQuerySubscription = ({\n refetchOnReconnect,\n refetchOnFocus,\n pollingInterval = 0,\n skipPollingIfUnfocused = false\n } = {}) => {\n const {\n initiate\n } = api.endpoints[endpointName];\n const dispatch = useDispatch();\n const [arg, setArg] = useState(UNINITIALIZED_VALUE);\n const promiseRef = useRef3(void 0);\n const stableSubscriptionOptions = useShallowStableValue({\n refetchOnReconnect,\n refetchOnFocus,\n pollingInterval,\n skipPollingIfUnfocused\n });\n usePossiblyImmediateEffect(() => {\n const lastSubscriptionOptions = promiseRef.current?.subscriptionOptions;\n if (stableSubscriptionOptions !== lastSubscriptionOptions) {\n promiseRef.current?.updateSubscriptionOptions(stableSubscriptionOptions);\n }\n }, [stableSubscriptionOptions]);\n const subscriptionOptionsRef = useRef3(stableSubscriptionOptions);\n usePossiblyImmediateEffect(() => {\n subscriptionOptionsRef.current = stableSubscriptionOptions;\n }, [stableSubscriptionOptions]);\n const trigger = useCallback(function(arg2, preferCacheValue = false) {\n let promise;\n batch(() => {\n promiseRef.current?.unsubscribe();\n promiseRef.current = promise = dispatch(initiate(arg2, {\n subscriptionOptions: subscriptionOptionsRef.current,\n forceRefetch: !preferCacheValue\n }));\n setArg(arg2);\n });\n return promise;\n }, [dispatch, initiate]);\n const reset = useCallback(() => {\n if (promiseRef.current?.queryCacheKey) {\n dispatch(api.internalActions.removeQueryResult({\n queryCacheKey: promiseRef.current?.queryCacheKey\n }));\n }\n }, [dispatch]);\n useEffect3(() => {\n return () => {\n promiseRef?.current?.unsubscribe();\n };\n }, []);\n useEffect3(() => {\n if (arg !== UNINITIALIZED_VALUE && !promiseRef.current) {\n trigger(arg, true);\n }\n }, [arg, trigger]);\n return useMemo2(() => [trigger, arg, {\n reset\n }], [trigger, arg, reset]);\n };\n const useQueryState = buildUseQueryState(endpointName, queryStatePreSelector);\n return {\n useQueryState,\n useQuerySubscription,\n useLazyQuerySubscription,\n useLazyQuery(options) {\n const [trigger, arg, {\n reset\n }] = useLazyQuerySubscription(options);\n const queryStateResults = useQueryState(arg, {\n ...options,\n skip: arg === UNINITIALIZED_VALUE\n });\n const info = useMemo2(() => ({\n lastArg: arg\n }), [arg]);\n return useMemo2(() => [trigger, {\n ...queryStateResults,\n reset\n }, info], [trigger, queryStateResults, reset, info]);\n },\n useQuery(arg, options) {\n const querySubscriptionResults = useQuerySubscription(arg, options);\n const queryStateResults = useQueryState(arg, {\n selectFromResult: arg === skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,\n ...options\n });\n const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS);\n useDebugValue(debugValue);\n return useMemo2(() => ({\n ...queryStateResults,\n ...querySubscriptionResults\n }), [queryStateResults, querySubscriptionResults]);\n }\n };\n }\n function buildInfiniteQueryHooks(endpointName) {\n const useInfiniteQuerySubscription = (arg, options = {}) => {\n const [promiseRef, dispatch, initiate, stableSubscriptionOptions] = useQuerySubscriptionCommonImpl(endpointName, arg, options);\n const subscriptionOptionsRef = useRef3(stableSubscriptionOptions);\n usePossiblyImmediateEffect(() => {\n subscriptionOptionsRef.current = stableSubscriptionOptions;\n }, [stableSubscriptionOptions]);\n const trigger = useCallback(function(arg2, direction) {\n let promise;\n batch(() => {\n promiseRef.current?.unsubscribe();\n promiseRef.current = promise = dispatch(initiate(arg2, {\n subscriptionOptions: subscriptionOptionsRef.current,\n direction\n }));\n });\n return promise;\n }, [promiseRef, dispatch, initiate]);\n usePromiseRefUnsubscribeOnUnmount(promiseRef);\n const stableArg = useStableQueryArgs(options.skip ? skipToken : arg);\n const refetch = useCallback(() => refetchOrErrorIfUnmounted(promiseRef), [promiseRef]);\n return useMemo2(() => {\n const fetchNextPage = () => {\n return trigger(stableArg, \"forward\");\n };\n const fetchPreviousPage = () => {\n return trigger(stableArg, \"backward\");\n };\n return {\n trigger,\n /**\n * A method to manually refetch data for the query\n */\n refetch,\n fetchNextPage,\n fetchPreviousPage\n };\n }, [refetch, trigger, stableArg]);\n };\n const useInfiniteQueryState = buildUseQueryState(endpointName, infiniteQueryStatePreSelector);\n return {\n useInfiniteQueryState,\n useInfiniteQuerySubscription,\n useInfiniteQuery(arg, options) {\n const {\n refetch,\n fetchNextPage,\n fetchPreviousPage\n } = useInfiniteQuerySubscription(arg, options);\n const queryStateResults = useInfiniteQueryState(arg, {\n selectFromResult: arg === skipToken || options?.skip ? void 0 : noPendingQueryStateSelector,\n ...options\n });\n const debugValue = pick(queryStateResults, ...COMMON_HOOK_DEBUG_FIELDS, \"hasNextPage\", \"hasPreviousPage\");\n useDebugValue(debugValue);\n return useMemo2(() => ({\n ...queryStateResults,\n fetchNextPage,\n fetchPreviousPage,\n refetch\n }), [queryStateResults, fetchNextPage, fetchPreviousPage, refetch]);\n }\n };\n }\n function buildMutationHook(name) {\n return ({\n selectFromResult,\n fixedCacheKey\n } = {}) => {\n const {\n select,\n initiate\n } = api.endpoints[name];\n const dispatch = useDispatch();\n const [promise, setPromise] = useState();\n useEffect3(() => () => {\n if (!promise?.arg.fixedCacheKey) {\n promise?.reset();\n }\n }, [promise]);\n const triggerMutation = useCallback(function(arg) {\n const promise2 = dispatch(initiate(arg, {\n fixedCacheKey\n }));\n setPromise(promise2);\n return promise2;\n }, [dispatch, initiate, fixedCacheKey]);\n const {\n requestId\n } = promise || {};\n const selectDefaultResult = useMemo2(() => select({\n fixedCacheKey,\n requestId: promise?.requestId\n }), [fixedCacheKey, promise, select]);\n const mutationSelector = useMemo2(() => selectFromResult ? createSelector([selectDefaultResult], selectFromResult) : selectDefaultResult, [selectFromResult, selectDefaultResult]);\n const currentState = useSelector(mutationSelector, shallowEqual2);\n const originalArgs = fixedCacheKey == null ? promise?.arg.originalArgs : void 0;\n const reset = useCallback(() => {\n batch(() => {\n if (promise) {\n setPromise(void 0);\n }\n if (fixedCacheKey) {\n dispatch(api.internalActions.removeMutationResult({\n requestId,\n fixedCacheKey\n }));\n }\n });\n }, [dispatch, fixedCacheKey, promise, requestId]);\n const debugValue = pick(currentState, ...COMMON_HOOK_DEBUG_FIELDS, \"endpointName\");\n useDebugValue(debugValue);\n const finalState = useMemo2(() => ({\n ...currentState,\n originalArgs,\n reset\n }), [currentState, originalArgs, reset]);\n return useMemo2(() => [triggerMutation, finalState], [triggerMutation, finalState]);\n };\n }\n}\n\n// src/query/react/module.ts\nvar reactHooksModuleName = /* @__PURE__ */ Symbol();\nvar reactHooksModule = ({\n batch = rrBatch,\n hooks = {\n useDispatch: rrUseDispatch,\n useSelector: rrUseSelector,\n useStore: rrUseStore\n },\n createSelector = _createSelector,\n unstable__sideEffectsInRender = false,\n ...rest\n} = {}) => {\n if (process.env.NODE_ENV !== \"production\") {\n const hookNames = [\"useDispatch\", \"useSelector\", \"useStore\"];\n let warned = false;\n for (const hookName of hookNames) {\n if (countObjectKeys(rest) > 0) {\n if (rest[hookName]) {\n if (!warned) {\n console.warn(\"As of RTK 2.0, the hooks now need to be specified as one object, provided under a `hooks` key:\\n`reactHooksModule({ hooks: { useDispatch, useSelector, useStore } })`\");\n warned = true;\n }\n }\n hooks[hookName] = rest[hookName];\n }\n if (typeof hooks[hookName] !== \"function\") {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage3(36) : `When using custom hooks for context, all ${hookNames.length} hooks need to be provided: ${hookNames.join(\", \")}.\nHook ${hookName} was either not provided or not a function.`);\n }\n }\n }\n return {\n name: reactHooksModuleName,\n init(api, {\n serializeQueryArgs\n }, context) {\n const anyApi = api;\n const {\n buildQueryHooks,\n buildInfiniteQueryHooks,\n buildMutationHook,\n usePrefetch\n } = buildHooks({\n api,\n moduleOptions: {\n batch,\n hooks,\n unstable__sideEffectsInRender,\n createSelector\n },\n serializeQueryArgs,\n context\n });\n safeAssign(anyApi, {\n usePrefetch\n });\n safeAssign(context, {\n batch\n });\n return {\n injectEndpoint(endpointName, definition) {\n if (isQueryDefinition(definition)) {\n const {\n useQuery,\n useLazyQuery,\n useLazyQuerySubscription,\n useQueryState,\n useQuerySubscription\n } = buildQueryHooks(endpointName);\n safeAssign(anyApi.endpoints[endpointName], {\n useQuery,\n useLazyQuery,\n useLazyQuerySubscription,\n useQueryState,\n useQuerySubscription\n });\n api[`use${capitalize(endpointName)}Query`] = useQuery;\n api[`useLazy${capitalize(endpointName)}Query`] = useLazyQuery;\n }\n if (isMutationDefinition(definition)) {\n const useMutation = buildMutationHook(endpointName);\n safeAssign(anyApi.endpoints[endpointName], {\n useMutation\n });\n api[`use${capitalize(endpointName)}Mutation`] = useMutation;\n } else if (isInfiniteQueryDefinition(definition)) {\n const {\n useInfiniteQuery,\n useInfiniteQuerySubscription,\n useInfiniteQueryState\n } = buildInfiniteQueryHooks(endpointName);\n safeAssign(anyApi.endpoints[endpointName], {\n useInfiniteQuery,\n useInfiniteQuerySubscription,\n useInfiniteQueryState\n });\n api[`use${capitalize(endpointName)}InfiniteQuery`] = useInfiniteQuery;\n }\n }\n };\n }\n };\n};\n\n// src/query/react/index.ts\nexport * from \"@reduxjs/toolkit/query\";\n\n// src/query/react/ApiProvider.tsx\nimport { configureStore, formatProdErrorMessage as _formatProdErrorMessage4 } from \"@reduxjs/toolkit\";\nimport { useContext } from \"react\";\nimport { useEffect as useEffect4 } from \"react\";\nimport * as React from \"react\";\nimport { Provider, ReactReduxContext } from \"react-redux\";\nimport { setupListeners } from \"@reduxjs/toolkit/query\";\nfunction ApiProvider(props) {\n const context = props.context || ReactReduxContext;\n const existingContext = useContext(context);\n if (existingContext) {\n throw new Error(process.env.NODE_ENV === \"production\" ? _formatProdErrorMessage4(35) : \"Existing Redux context detected. If you already have a store set up, please use the traditional Redux setup.\");\n }\n const [store] = React.useState(() => configureStore({\n reducer: {\n [props.api.reducerPath]: props.api.reducer\n },\n middleware: (gDM) => gDM().concat(props.api.middleware)\n }));\n useEffect4(() => props.setupListeners === false ? void 0 : setupListeners(store.dispatch, props.setupListeners), [props.setupListeners, store.dispatch]);\n return /* @__PURE__ */ React.createElement(Provider, { store, context }, props.children);\n}\n\n// src/query/react/index.ts\nvar createApi = /* @__PURE__ */ buildCreateApi(coreModule(), reactHooksModule());\nexport {\n ApiProvider,\n UNINITIALIZED_VALUE,\n createApi,\n reactHooksModule,\n reactHooksModuleName\n};\n//# sourceMappingURL=rtk-query-react.modern.mjs.map","const tagTypes = [\n // These are the tags for the common models used throughout our system.\n // https://github.com/ocadotechnology/codeforlife-package-python/tree/main/codeforlife/user/models\n // NOTE: Don't use the \"Teacher\" and \"Student\" tags. Use \"User\" instead.\n \"User\",\n \"School\",\n \"Class\",\n \"AuthFactor\",\n] as const\n\nexport default tagTypes\nexport type TagTypes = (typeof tagTypes)[number]\n","import {\n type Api,\n type BaseQueryApi,\n type FetchArgs,\n type FetchBaseQueryError,\n type FetchBaseQueryMeta,\n type MutationDefinition,\n type QueryReturnValue,\n createApi as _createApi,\n type coreModuleName,\n fetchBaseQuery,\n type reactHooksModuleName,\n} from \"@reduxjs/toolkit/query/react\"\n\nimport defaultTagTypes, { type TagTypes as DefaultTagTypes } from \"./tagTypes\"\nimport { SERVICE_API_URL } from \"../settings\"\nimport { buildLogoutEndpoint } from \"./endpoints/session\"\nimport { getCsrfCookie } from \"../utils/auth\"\nimport { isSafeHttpMethod } from \"../utils/api\"\n\n// TODO: decide if we want to keep any of this.\n// export function handleResponseError(error: FetchBaseQueryError): void {\n// if (\n// error.status === 400 &&\n// typeof error.data === \"object\" &&\n// error.data !== null\n// ) {\n// // Parse the error's data from snake_case to camelCase.\n// snakeCaseToCamelCase(error.data)\n// } else if (error.status === 401) {\n// // TODO: redirect to appropriate login page based on user type.\n// window.location.href = `${PORTAL_BASE_URL}/login/teacher`\n// } else {\n// // Catch-all error pages by status-code.\n// window.location.href = `${PORTAL_BASE_URL}/error/${\n// [403, 404].includes(error.status as number) ? error.status : 500\n// }`\n// }\n// }\n\nexport default function createApi<TagTypes extends string = never>({\n tagTypes = [],\n}: {\n tagTypes?: readonly TagTypes[]\n} = {}): Api<\n (\n args: string | FetchArgs,\n api: BaseQueryApi,\n extraOptions: {},\n ) => Promise<\n QueryReturnValue<unknown, FetchBaseQueryError, FetchBaseQueryMeta>\n >,\n { logout: MutationDefinition<null, any, any, null, any, any> },\n \"api\",\n TagTypes | DefaultTagTypes,\n typeof coreModuleName | typeof reactHooksModuleName\n> {\n const fetch = fetchBaseQuery({\n baseUrl: `${SERVICE_API_URL}/`,\n credentials: \"include\",\n prepareHeaders: (headers, endpoint) => {\n const { type, arg } = endpoint as typeof endpoint & {\n arg: string | FetchArgs\n }\n const method = typeof arg === \"string\" ? \"GET\" : arg.method || \"GET\"\n\n if (type === \"mutation\" || !isSafeHttpMethod(method)) {\n const csrfToken = getCsrfCookie()\n if (csrfToken) headers.set(\"x-csrftoken\", csrfToken)\n }\n\n return headers\n },\n })\n\n const api = _createApi({\n // https://redux-toolkit.js.org/rtk-query/usage/customizing-queries#implementing-a-custom-basequery\n baseQuery: async (args: string | FetchArgs, api, extraOptions) => {\n if (api.type === \"mutation\" && getCsrfCookie() === undefined) {\n // Get the CSRF token.\n const { error } = await fetch(\n { url: \"/csrf/cookie/\", method: \"GET\" },\n api,\n {},\n )\n\n // Validate we got the CSRF token.\n if (error !== undefined) {\n console.error(error)\n // TODO\n // window.location.href = `${PORTAL_BASE_URL}/error/500`\n }\n if (getCsrfCookie() === undefined) {\n // TODO\n // window.location.href = `${PORTAL_BASE_URL}/error/500`\n }\n }\n\n // Send the HTTP request and fetch the response.\n return await fetch(args, api, extraOptions)\n },\n tagTypes: [...defaultTagTypes, ...tagTypes],\n endpoints: () => ({}),\n })\n\n return api.injectEndpoints({\n endpoints: build => ({\n logout: buildLogoutEndpoint<null, null>(api, build),\n }),\n })\n}\n"],"names":["capitalize","str","countObjectKeys","obj","count","_key","isQueryDefinition","isMutationDefinition","isInfiniteQueryDefinition","safeAssign","target","args","UNINITIALIZED_VALUE","useStableQueryArgs","queryArgs","cache","useRef","copy","useMemo","copyWithStructuralSharing","useEffect","useShallowStableValue","value","useRef2","useEffect2","shallowEqual","canUseDOM","isDOM","isRunningInReactNative","isReactNative","getUseIsomorphicLayoutEffect","useLayoutEffect","useEffect3","useIsomorphicLayoutEffect","noPendingQueryStateSelector","selected","QueryStatus","pick","keys","ret","key","COMMON_HOOK_DEBUG_FIELDS","buildHooks","api","batch","useDispatch","useSelector","useStore","unstable__sideEffectsInRender","createSelector","serializeQueryArgs","context","usePossiblyImmediateEffect","cb","buildQueryHooks","buildInfiniteQueryHooks","buildMutationHook","usePrefetch","queryStatePreSelector","currentState","lastResult","endpointName","endpointDefinition","skipToken","data","hasData","isFetching","isLoading","isSuccess","infiniteQueryStatePreSelector","defaultOptions","dispatch","stableDefaultOptions","useCallback","arg","options","useQuerySubscriptionCommonImpl","refetchOnReconnect","refetchOnFocus","refetchOnMountOrArgChange","skip","pollingInterval","skipPollingIfUnfocused","rest","initiate","subscriptionSelectorsRef","useRef3","returnedValue","_formatProdErrorMessage","stableArg","stableSubscriptionOptions","initialPageParam","stableInitialPageParam","promiseRef","queryCacheKey","requestId","currentRenderHasSubscription","subscriptionRemoved","lastPromise","lastSubscriptionOptions","promise","buildUseQueryState","preSelector","selectFromResult","select","lastValue","selectDefaultResult","useMemo2","_","shallowEqual2","querySelector","state","store","newLastValue","usePromiseRefUnsubscribeOnUnmount","refetchOrErrorIfUnmounted","_formatProdErrorMessage2","useQuerySubscription","useLazyQuerySubscription","setArg","useState","subscriptionOptionsRef","trigger","arg2","preferCacheValue","reset","useQueryState","queryStateResults","info","querySubscriptionResults","debugValue","useDebugValue","useInfiniteQuerySubscription","direction","refetch","useInfiniteQueryState","fetchNextPage","fetchPreviousPage","name","fixedCacheKey","setPromise","triggerMutation","promise2","mutationSelector","originalArgs","finalState","reactHooksModuleName","reactHooksModule","rrBatch","hooks","rrUseDispatch","rrUseSelector","rrUseStore","_createSelector","hookNames","warned","hookName","_formatProdErrorMessage3","anyApi","definition","useQuery","useLazyQuery","useMutation","useInfiniteQuery","createApi","buildCreateApi","coreModule","tagTypes","fetch","fetchBaseQuery","SERVICE_API_URL","headers","endpoint","type","method","isSafeHttpMethod","csrfToken","getCsrfCookie","_createApi","extraOptions","error","defaultTagTypes","build","buildLogoutEndpoint"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,5 @@
1
+ export { default as createApi } from './createApi';
2
+ export * from './models';
3
+ export * as schemas from './schemas';
4
+ export { default as tagTypes } from './tagTypes';
5
+ export { default as urls } from './urls';