codeforlife 2.11.4 → 2.11.6

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 (155) hide show
  1. package/dist/Countdown-CL7dyZrl.cjs +2 -0
  2. package/dist/{Countdown-BtUbr1J_.cjs.map → Countdown-CL7dyZrl.cjs.map} +1 -1
  3. package/dist/Countdown-snRYiLrs.js +28 -0
  4. package/dist/{Countdown-DhjAmB0u.js.map → Countdown-snRYiLrs.js.map} +1 -1
  5. package/dist/Image-B_6DmnVe.cjs +2 -0
  6. package/dist/{Image-CgRVUblT.cjs.map → Image-B_6DmnVe.cjs.map} +1 -1
  7. package/dist/{Image-DTOu0h-V.js → Image-mkNhOo5p.js} +3 -3
  8. package/dist/{Image-DTOu0h-V.js.map → Image-mkNhOo5p.js.map} +1 -1
  9. package/dist/LinkButton-BQMG96aQ.cjs +2 -0
  10. package/dist/{LinkButton-Kw2brLTK.cjs.map → LinkButton-BQMG96aQ.cjs.map} +1 -1
  11. package/dist/LinkButton-CRDs950E.js +12 -0
  12. package/dist/{LinkButton-sQ5jgHnX.js.map → LinkButton-CRDs950E.js.map} +1 -1
  13. package/dist/Navigate-Ch0ljYa-.cjs +2 -0
  14. package/dist/{Navigate-CrMwdIBB.cjs.map → Navigate-Ch0ljYa-.cjs.map} +1 -1
  15. package/dist/Navigate-Zt9DRJve.js +25 -0
  16. package/dist/{Navigate-ClPcw87e.js.map → Navigate-Zt9DRJve.js.map} +1 -1
  17. package/dist/api/endpoints/index.cjs.js +1 -1
  18. package/dist/api/endpoints/index.cjs.js.map +1 -1
  19. package/dist/api/endpoints/index.es.js +29 -28
  20. package/dist/api/endpoints/index.es.js.map +1 -1
  21. package/dist/api/index.cjs.js +1 -3
  22. package/dist/api/index.cjs.js.map +1 -1
  23. package/dist/api/index.es.js +33 -515
  24. package/dist/api/index.es.js.map +1 -1
  25. package/dist/api-DIgp_6Vr.cjs +2 -0
  26. package/dist/{api-9cnyvZj7.cjs.map → api-DIgp_6Vr.cjs.map} +1 -1
  27. package/dist/api-G8CV5bUa.cjs +2 -0
  28. package/dist/{api-CAH3GT1O.cjs.map → api-G8CV5bUa.cjs.map} +1 -1
  29. package/dist/{api-BFYu8ZvQ.js → api-uh8UKwsU.js} +25 -25
  30. package/dist/{api-BFYu8ZvQ.js.map → api-uh8UKwsU.js.map} +1 -1
  31. package/dist/auth-B6anBtxF.js +238 -0
  32. package/dist/{auth-Bb8WkZGN.js.map → auth-B6anBtxF.js.map} +1 -1
  33. package/dist/auth-C2OUeLmQ.cjs +2 -0
  34. package/dist/{auth-BwpsrTko.cjs.map → auth-C2OUeLmQ.cjs.map} +1 -1
  35. package/dist/components/form/index.cjs.js +1 -1
  36. package/dist/components/form/index.es.js +1 -1
  37. package/dist/components/index.cjs.js +1 -1
  38. package/dist/components/index.cjs.js.map +1 -1
  39. package/dist/components/index.es.js +118 -118
  40. package/dist/components/index.es.js.map +1 -1
  41. package/dist/components/page/index.cjs.js +1 -1
  42. package/dist/components/page/index.es.js +1 -1
  43. package/dist/components/router/index.cjs.js +1 -1
  44. package/dist/components/router/index.es.js +2 -2
  45. package/dist/components/table/index.cjs.js +1 -1
  46. package/dist/components/table/index.es.js +1 -1
  47. package/dist/features/index.cjs.js +1 -1
  48. package/dist/features/index.cjs.js.map +1 -1
  49. package/dist/features/index.es.js +24 -22
  50. package/dist/features/index.es.js.map +1 -1
  51. package/dist/general-BPbbmkeX.cjs +2 -0
  52. package/dist/{general-Bo6JGvKB.cjs.map → general-BPbbmkeX.cjs.map} +1 -1
  53. package/dist/hooks/index.cjs.js +1 -1
  54. package/dist/hooks/index.es.js +1 -1
  55. package/dist/index-B3QkMBQe.cjs +2 -0
  56. package/dist/{index-5C9hpxRF.cjs.map → index-B3QkMBQe.cjs.map} +1 -1
  57. package/dist/index-BIL7PoEV.js +622 -0
  58. package/dist/index-BIL7PoEV.js.map +1 -0
  59. package/dist/index-C08WO83n.js +237 -0
  60. package/dist/{index-hdS8RgRc.js.map → index-C08WO83n.js.map} +1 -1
  61. package/dist/{index-CHboZsxD.js → index-CDxf6gMv.js} +92 -92
  62. package/dist/{index-CHboZsxD.js.map → index-CDxf6gMv.js.map} +1 -1
  63. package/dist/index-D2B9uIE4.cjs +2 -0
  64. package/dist/{index-B89FjK7v.cjs.map → index-D2B9uIE4.cjs.map} +1 -1
  65. package/dist/index-Dadidnct.cjs +2 -0
  66. package/dist/index-Dadidnct.cjs.map +1 -0
  67. package/dist/index-IXGAdLKG.js +30 -0
  68. package/dist/{index-B3e_XaVG.js.map → index-IXGAdLKG.js.map} +1 -1
  69. package/dist/index-JY2Et3RQ.cjs +2 -0
  70. package/dist/{index-CwC9mpb3.cjs.map → index-JY2Et3RQ.cjs.map} +1 -1
  71. package/dist/{schemas-BMQZbhti.js → schemas-UIk-meAN.js} +2 -2
  72. package/dist/{schemas-BMQZbhti.js.map → schemas-UIk-meAN.js.map} +1 -1
  73. package/dist/schemas-hIW9-H6-.cjs +2 -0
  74. package/dist/{schemas-DXX4rh8i.cjs.map → schemas-hIW9-H6-.cjs.map} +1 -1
  75. package/dist/server/App.cjs.js +1 -1
  76. package/dist/server/App.cjs.js.map +1 -1
  77. package/dist/server/App.es.js +11 -11
  78. package/dist/server/App.es.js.map +1 -1
  79. package/dist/server/entry.cjs.js +1 -208
  80. package/dist/server/entry.cjs.js.map +1 -1
  81. package/dist/server/entry.d.ts +1 -1
  82. package/dist/server/entry.es.js +32 -21871
  83. package/dist/server/entry.es.js.map +1 -1
  84. package/dist/{session-D312kYKk.js → session-COyN01K0.js} +11 -10
  85. package/dist/{session-D312kYKk.js.map → session-COyN01K0.js.map} +1 -1
  86. package/dist/session-eOp0H-EC.cjs +2 -0
  87. package/dist/{session-CacrgFSv.cjs.map → session-eOp0H-EC.cjs.map} +1 -1
  88. package/dist/theme/components/index.cjs.js +1 -1
  89. package/dist/theme/components/index.es.js +1 -1
  90. package/dist/theme/index.cjs.js +1 -1
  91. package/dist/theme/index.cjs.js.map +1 -1
  92. package/dist/theme/index.es.js +49 -49
  93. package/dist/theme/index.es.js.map +1 -1
  94. package/dist/{urls-CGZI0f1w.cjs → urls-2gheISSO.cjs} +2 -2
  95. package/dist/{urls-CGZI0f1w.cjs.map → urls-2gheISSO.cjs.map} +1 -1
  96. package/dist/{urls-DP4a8kxP.js → urls-BG788CnL.js} +2 -2
  97. package/dist/{urls-DP4a8kxP.js.map → urls-BG788CnL.js.map} +1 -1
  98. package/dist/utils/api.cjs.js +1 -1
  99. package/dist/utils/api.es.js +2 -2
  100. package/dist/utils/router.cjs.js +1 -1
  101. package/dist/utils/router.cjs.js.map +1 -1
  102. package/dist/utils/router.es.js +2 -2
  103. package/dist/utils/store.cjs.js +1 -1
  104. package/dist/utils/store.cjs.js.map +1 -1
  105. package/dist/utils/store.es.js +6 -6
  106. package/dist/utils/test.cjs.js +1 -1
  107. package/dist/utils/test.cjs.js.map +1 -1
  108. package/dist/utils/test.es.js +9 -9
  109. package/dist/utils/test.es.js.map +1 -1
  110. package/dist/utils/theme.cjs.js +1 -1
  111. package/dist/utils/theme.es.js +2 -2
  112. package/package.json +1 -1
  113. package/dist/Countdown-BtUbr1J_.cjs +0 -2
  114. package/dist/Countdown-DhjAmB0u.js +0 -28
  115. package/dist/Image-CgRVUblT.cjs +0 -2
  116. package/dist/LinkButton-Kw2brLTK.cjs +0 -2
  117. package/dist/LinkButton-sQ5jgHnX.js +0 -12
  118. package/dist/Navigate-ClPcw87e.js +0 -25
  119. package/dist/Navigate-CrMwdIBB.cjs +0 -2
  120. package/dist/_commonjsHelpers-DKOUU3wS.cjs +0 -2
  121. package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +0 -1
  122. package/dist/_commonjsHelpers-DaMA6jEr.js +0 -9
  123. package/dist/_commonjsHelpers-DaMA6jEr.js.map +0 -1
  124. package/dist/api-9cnyvZj7.cjs +0 -2
  125. package/dist/api-CAH3GT1O.cjs +0 -2
  126. package/dist/auth-Bb8WkZGN.js +0 -237
  127. package/dist/auth-BwpsrTko.cjs +0 -2
  128. package/dist/client-BK9NlSVR.js +0 -25208
  129. package/dist/client-BK9NlSVR.js.map +0 -1
  130. package/dist/client-CmAMc2Wj.cjs +0 -251
  131. package/dist/client-CmAMc2Wj.cjs.map +0 -1
  132. package/dist/en-gb-B_rK7Jx1.js +0 -20
  133. package/dist/en-gb-B_rK7Jx1.js.map +0 -1
  134. package/dist/en-gb-CpyEkKq3.cjs +0 -2
  135. package/dist/en-gb-CpyEkKq3.cjs.map +0 -1
  136. package/dist/general-Bo6JGvKB.cjs +0 -2
  137. package/dist/index-5C9hpxRF.cjs +0 -2
  138. package/dist/index-B3e_XaVG.js +0 -30
  139. package/dist/index-B89FjK7v.cjs +0 -2
  140. package/dist/index-BRHFlEjS.js +0 -1187
  141. package/dist/index-BRHFlEjS.js.map +0 -1
  142. package/dist/index-CwC9mpb3.cjs +0 -2
  143. package/dist/index-DuArGzQE.cjs +0 -5
  144. package/dist/index-DuArGzQE.cjs.map +0 -1
  145. package/dist/index-hdS8RgRc.js +0 -237
  146. package/dist/jsx-runtime-B2pbW5Fp.cjs +0 -23
  147. package/dist/jsx-runtime-B2pbW5Fp.cjs.map +0 -1
  148. package/dist/jsx-runtime-lzYHhGH3.js +0 -285
  149. package/dist/jsx-runtime-lzYHhGH3.js.map +0 -1
  150. package/dist/rtk-query.modern-CjetfYPg.js +0 -3038
  151. package/dist/rtk-query.modern-CjetfYPg.js.map +0 -1
  152. package/dist/rtk-query.modern-PBCErCqb.cjs +0 -15
  153. package/dist/rtk-query.modern-PBCErCqb.cjs.map +0 -1
  154. package/dist/schemas-DXX4rh8i.cjs +0 -2
  155. package/dist/session-CacrgFSv.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"schemas-DXX4rh8i.cjs","sources":["../src/api/schemas.ts"],"sourcesContent":["import * as yup from \"yup\"\n\nimport type {\n AdminSchoolTeacher,\n AdminSchoolTeacherUser,\n AuthFactor,\n Class,\n IndependentUser,\n NonAdminSchoolTeacher,\n NonAdminSchoolTeacherUser,\n NonSchoolTeacher,\n NonSchoolTeacherUser,\n OtpBypassToken,\n School,\n SchoolTeacher,\n SchoolTeacherUser,\n Student,\n StudentUser,\n Teacher,\n TeacherUser,\n User,\n} from \"./models\"\nimport { COUNTRY_ISO_CODES, UK_COUNTIES } from \"../utils/general\"\nimport {\n lowercaseAsciiAlphanumericString,\n numericId,\n unicodeAlphanumericString,\n uppercaseAsciiAlphanumericString,\n} from \"../utils/schema\"\nimport { type Schemas } from \"../utils/api\"\n\n// NOTE: do not use .required() here.\nconst id = {\n user: numericId(),\n teacher: numericId(),\n student: numericId(),\n school: numericId(),\n klass: uppercaseAsciiAlphanumericString().length(5),\n authFactor: numericId(),\n otpBypassToken: numericId(),\n}\n\n// -----------------------------------------------------------------------------\n// User Schemas\n// -----------------------------------------------------------------------------\n\nconst _userTeacher: Omit<Schemas<Teacher>, \"user\"> = {\n id: id.teacher.required(),\n school: id.school,\n is_admin: yup.bool().required(),\n}\n\nconst _userStudent: Omit<Schemas<Student>, \"user\"> = {\n id: id.student.required(),\n school: id.school.required(),\n klass: id.klass.required(),\n auto_gen_password: yup.string().required(),\n}\n\nexport const user: Schemas<User> = {\n id: id.user.required(),\n requesting_to_join_class: id.klass,\n first_name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-'\",\n })\n .required()\n .max(150),\n last_name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-'\",\n }).max(150),\n last_login: yup.date(),\n email: yup.string().email(),\n password: yup.string().required(),\n is_staff: yup.bool().required(),\n is_active: yup.bool().required(),\n date_joined: yup.date().required(),\n teacher: yup.object(_userTeacher).optional(),\n student: yup.object(_userStudent).optional(),\n}\n\nexport const teacherUser: Schemas<TeacherUser> = {\n ...user,\n password: user.password\n .min(10, \"must be at least 10 characters long\")\n .matches(/[A-Z]/, \"must contain at least one uppercase letter\")\n .matches(/[a-z]/, \"must contain at least one lowercase letter\")\n .matches(/[0-9]/, \"must contain at least one digit\")\n .matches(\n /[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]/,\n \"must contain at least one special character\",\n ),\n email: user.email.required(),\n last_name: user.last_name.required(),\n teacher: user.teacher.required(),\n student: yup.string().oneOf([undefined]),\n}\n\nconst _userSchoolTeacher: Omit<Schemas<SchoolTeacher>, \"user\"> = {\n ..._userTeacher,\n school: _userTeacher.school.required(),\n}\n\nexport const schoolTeacherUser: Schemas<SchoolTeacherUser> = {\n ...teacherUser,\n teacher: yup.object(_userSchoolTeacher),\n}\n\nconst _userAdminSchoolTeacher: Omit<Schemas<AdminSchoolTeacher>, \"user\"> = {\n ..._userSchoolTeacher,\n is_admin: _userSchoolTeacher.is_admin.isTrue(),\n}\n\nexport const adminSchoolTeacherUser: Schemas<AdminSchoolTeacherUser> = {\n ...schoolTeacherUser,\n teacher: yup.object(_userAdminSchoolTeacher),\n}\n\nconst _userNonAdminSchoolTeacher: Omit<\n Schemas<NonAdminSchoolTeacher>,\n \"user\"\n> = {\n ..._userSchoolTeacher,\n is_admin: _userSchoolTeacher.is_admin.isFalse(),\n}\n\nexport const nonAdminSchoolTeacherUser: Schemas<NonAdminSchoolTeacherUser> = {\n ...schoolTeacherUser,\n teacher: yup.object(_userNonAdminSchoolTeacher),\n}\n\nconst _userNonSchoolTeacher: Omit<Schemas<NonSchoolTeacher>, \"user\"> = {\n ..._userTeacher,\n school: yup.string().oneOf([undefined]),\n is_admin: _userTeacher.is_admin.isFalse(),\n}\n\nexport const nonSchoolTeacherUser: Schemas<NonSchoolTeacherUser> = {\n ...teacherUser,\n teacher: yup.object(_userNonSchoolTeacher),\n}\n\nexport const studentUser: Schemas<StudentUser> = {\n ...user,\n password: user.password.min(6, \"must be at least 6 characters long\"),\n email: user.email.oneOf([undefined]),\n last_name: user.last_name.oneOf([undefined]),\n teacher: yup.string().oneOf([undefined]),\n student: user.student.required(),\n}\n\nexport const indyUser: Schemas<IndependentUser> = {\n ...user,\n password: user.password\n .min(8, \"must be at least 8 characters long\")\n .matches(/[A-Z]/, \"must contain at least one uppercase letter\")\n .matches(/[a-z]/, \"must contain at least one lowercase letter\")\n .matches(/[0-9]/, \"must contain at least one digit\"),\n email: user.email.required(),\n last_name: user.last_name.required(),\n teacher: yup.string().oneOf([undefined]),\n student: yup.string().oneOf([undefined]),\n}\n\n// -----------------------------------------------------------------------------\n// Teacher Schemas\n// -----------------------------------------------------------------------------\n\nexport const teacher: Schemas<Teacher> = {\n ..._userTeacher,\n user: id.user.required(),\n}\n\nexport const schoolTeacher: Schemas<SchoolTeacher> = {\n ..._userSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const adminSchoolTeacher: Schemas<AdminSchoolTeacher> = {\n ..._userAdminSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const nonAdminSchoolTeacher: Schemas<NonAdminSchoolTeacher> = {\n ..._userNonAdminSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const nonSchoolTeacher: Schemas<NonSchoolTeacher> = {\n ..._userNonSchoolTeacher,\n user: id.user.required(),\n}\n\n// -----------------------------------------------------------------------------\n// Other Schemas\n// -----------------------------------------------------------------------------\n\nexport const student: Schemas<Student> = {\n ..._userStudent,\n user: id.user.required(),\n}\n\nexport const school: Schemas<School> = {\n id: id.school.required(),\n name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"'.\",\n })\n .required()\n .max(200),\n country: yup.string().oneOf(COUNTRY_ISO_CODES),\n uk_county: yup.string().oneOf(UK_COUNTIES),\n}\n\nexport const klass: Schemas<Class> = {\n id: id.klass.required(),\n teacher: id.teacher.required(),\n school: id.school.required(),\n name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-_\",\n })\n .required()\n .max(200),\n read_classmates_data: yup.bool().required(),\n receive_requests_until: yup.date(),\n}\n\nexport const authFactor: Schemas<AuthFactor> = {\n id: id.authFactor.required(),\n user: id.user.required(),\n type: yup\n .string()\n .oneOf([\"otp\"] as const)\n .required(),\n}\n\nexport const otpBypassToken: Schemas<OtpBypassToken> = {\n id: id.otpBypassToken.required(),\n user: id.user.required(),\n token: lowercaseAsciiAlphanumericString().required().length(8),\n}\n"],"names":["id","numericId","uppercaseAsciiAlphanumericString","_userTeacher","yup","_userStudent","user","unicodeAlphanumericString","teacherUser","_userSchoolTeacher","schoolTeacherUser","_userAdminSchoolTeacher","adminSchoolTeacherUser","_userNonAdminSchoolTeacher","nonAdminSchoolTeacherUser","_userNonSchoolTeacher","nonSchoolTeacherUser","studentUser","indyUser","teacher","schoolTeacher","adminSchoolTeacher","nonAdminSchoolTeacher","nonSchoolTeacher","student","school","COUNTRY_ISO_CODES","UK_COUNTIES","klass","authFactor","otpBypassToken","lowercaseAsciiAlphanumericString"],"mappings":"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"}
1
+ {"version":3,"file":"schemas-hIW9-H6-.cjs","sources":["../src/api/schemas.ts"],"sourcesContent":["import * as yup from \"yup\"\n\nimport type {\n AdminSchoolTeacher,\n AdminSchoolTeacherUser,\n AuthFactor,\n Class,\n IndependentUser,\n NonAdminSchoolTeacher,\n NonAdminSchoolTeacherUser,\n NonSchoolTeacher,\n NonSchoolTeacherUser,\n OtpBypassToken,\n School,\n SchoolTeacher,\n SchoolTeacherUser,\n Student,\n StudentUser,\n Teacher,\n TeacherUser,\n User,\n} from \"./models\"\nimport { COUNTRY_ISO_CODES, UK_COUNTIES } from \"../utils/general\"\nimport {\n lowercaseAsciiAlphanumericString,\n numericId,\n unicodeAlphanumericString,\n uppercaseAsciiAlphanumericString,\n} from \"../utils/schema\"\nimport { type Schemas } from \"../utils/api\"\n\n// NOTE: do not use .required() here.\nconst id = {\n user: numericId(),\n teacher: numericId(),\n student: numericId(),\n school: numericId(),\n klass: uppercaseAsciiAlphanumericString().length(5),\n authFactor: numericId(),\n otpBypassToken: numericId(),\n}\n\n// -----------------------------------------------------------------------------\n// User Schemas\n// -----------------------------------------------------------------------------\n\nconst _userTeacher: Omit<Schemas<Teacher>, \"user\"> = {\n id: id.teacher.required(),\n school: id.school,\n is_admin: yup.bool().required(),\n}\n\nconst _userStudent: Omit<Schemas<Student>, \"user\"> = {\n id: id.student.required(),\n school: id.school.required(),\n klass: id.klass.required(),\n auto_gen_password: yup.string().required(),\n}\n\nexport const user: Schemas<User> = {\n id: id.user.required(),\n requesting_to_join_class: id.klass,\n first_name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-'\",\n })\n .required()\n .max(150),\n last_name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-'\",\n }).max(150),\n last_login: yup.date(),\n email: yup.string().email(),\n password: yup.string().required(),\n is_staff: yup.bool().required(),\n is_active: yup.bool().required(),\n date_joined: yup.date().required(),\n teacher: yup.object(_userTeacher).optional(),\n student: yup.object(_userStudent).optional(),\n}\n\nexport const teacherUser: Schemas<TeacherUser> = {\n ...user,\n password: user.password\n .min(10, \"must be at least 10 characters long\")\n .matches(/[A-Z]/, \"must contain at least one uppercase letter\")\n .matches(/[a-z]/, \"must contain at least one lowercase letter\")\n .matches(/[0-9]/, \"must contain at least one digit\")\n .matches(\n /[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]/,\n \"must contain at least one special character\",\n ),\n email: user.email.required(),\n last_name: user.last_name.required(),\n teacher: user.teacher.required(),\n student: yup.string().oneOf([undefined]),\n}\n\nconst _userSchoolTeacher: Omit<Schemas<SchoolTeacher>, \"user\"> = {\n ..._userTeacher,\n school: _userTeacher.school.required(),\n}\n\nexport const schoolTeacherUser: Schemas<SchoolTeacherUser> = {\n ...teacherUser,\n teacher: yup.object(_userSchoolTeacher),\n}\n\nconst _userAdminSchoolTeacher: Omit<Schemas<AdminSchoolTeacher>, \"user\"> = {\n ..._userSchoolTeacher,\n is_admin: _userSchoolTeacher.is_admin.isTrue(),\n}\n\nexport const adminSchoolTeacherUser: Schemas<AdminSchoolTeacherUser> = {\n ...schoolTeacherUser,\n teacher: yup.object(_userAdminSchoolTeacher),\n}\n\nconst _userNonAdminSchoolTeacher: Omit<\n Schemas<NonAdminSchoolTeacher>,\n \"user\"\n> = {\n ..._userSchoolTeacher,\n is_admin: _userSchoolTeacher.is_admin.isFalse(),\n}\n\nexport const nonAdminSchoolTeacherUser: Schemas<NonAdminSchoolTeacherUser> = {\n ...schoolTeacherUser,\n teacher: yup.object(_userNonAdminSchoolTeacher),\n}\n\nconst _userNonSchoolTeacher: Omit<Schemas<NonSchoolTeacher>, \"user\"> = {\n ..._userTeacher,\n school: yup.string().oneOf([undefined]),\n is_admin: _userTeacher.is_admin.isFalse(),\n}\n\nexport const nonSchoolTeacherUser: Schemas<NonSchoolTeacherUser> = {\n ...teacherUser,\n teacher: yup.object(_userNonSchoolTeacher),\n}\n\nexport const studentUser: Schemas<StudentUser> = {\n ...user,\n password: user.password.min(6, \"must be at least 6 characters long\"),\n email: user.email.oneOf([undefined]),\n last_name: user.last_name.oneOf([undefined]),\n teacher: yup.string().oneOf([undefined]),\n student: user.student.required(),\n}\n\nexport const indyUser: Schemas<IndependentUser> = {\n ...user,\n password: user.password\n .min(8, \"must be at least 8 characters long\")\n .matches(/[A-Z]/, \"must contain at least one uppercase letter\")\n .matches(/[a-z]/, \"must contain at least one lowercase letter\")\n .matches(/[0-9]/, \"must contain at least one digit\"),\n email: user.email.required(),\n last_name: user.last_name.required(),\n teacher: yup.string().oneOf([undefined]),\n student: yup.string().oneOf([undefined]),\n}\n\n// -----------------------------------------------------------------------------\n// Teacher Schemas\n// -----------------------------------------------------------------------------\n\nexport const teacher: Schemas<Teacher> = {\n ..._userTeacher,\n user: id.user.required(),\n}\n\nexport const schoolTeacher: Schemas<SchoolTeacher> = {\n ..._userSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const adminSchoolTeacher: Schemas<AdminSchoolTeacher> = {\n ..._userAdminSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const nonAdminSchoolTeacher: Schemas<NonAdminSchoolTeacher> = {\n ..._userNonAdminSchoolTeacher,\n user: id.user.required(),\n}\n\nexport const nonSchoolTeacher: Schemas<NonSchoolTeacher> = {\n ..._userNonSchoolTeacher,\n user: id.user.required(),\n}\n\n// -----------------------------------------------------------------------------\n// Other Schemas\n// -----------------------------------------------------------------------------\n\nexport const student: Schemas<Student> = {\n ..._userStudent,\n user: id.user.required(),\n}\n\nexport const school: Schemas<School> = {\n id: id.school.required(),\n name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"'.\",\n })\n .required()\n .max(200),\n country: yup.string().oneOf(COUNTRY_ISO_CODES),\n uk_county: yup.string().oneOf(UK_COUNTIES),\n}\n\nexport const klass: Schemas<Class> = {\n id: id.klass.required(),\n teacher: id.teacher.required(),\n school: id.school.required(),\n name: unicodeAlphanumericString({\n spaces: true,\n specialChars: \"-_\",\n })\n .required()\n .max(200),\n read_classmates_data: yup.bool().required(),\n receive_requests_until: yup.date(),\n}\n\nexport const authFactor: Schemas<AuthFactor> = {\n id: id.authFactor.required(),\n user: id.user.required(),\n type: yup\n .string()\n .oneOf([\"otp\"] as const)\n .required(),\n}\n\nexport const otpBypassToken: Schemas<OtpBypassToken> = {\n id: id.otpBypassToken.required(),\n user: id.user.required(),\n token: lowercaseAsciiAlphanumericString().required().length(8),\n}\n"],"names":["id","numericId","uppercaseAsciiAlphanumericString","_userTeacher","yup","_userStudent","user","unicodeAlphanumericString","teacherUser","_userSchoolTeacher","schoolTeacherUser","_userAdminSchoolTeacher","adminSchoolTeacherUser","_userNonAdminSchoolTeacher","nonAdminSchoolTeacherUser","_userNonSchoolTeacher","nonSchoolTeacherUser","studentUser","indyUser","teacher","schoolTeacher","adminSchoolTeacher","nonAdminSchoolTeacher","nonSchoolTeacher","student","school","COUNTRY_ISO_CODES","UK_COUNTIES","klass","authFactor","otpBypassToken","lowercaseAsciiAlphanumericString"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("../jsx-runtime-B2pbW5Fp.cjs"),r=require("@mui/material"),n=require("@emotion/react");require("react");const o=require("react-redux");;/* empty css */const u=({children:s,emotionCache:t,theme:i,store:x,maxIdleSeconds:c=3600,maxTotalSeconds:a=3600})=>e.jsxRuntimeExports.jsx(n.CacheProvider,{value:t,children:e.jsxRuntimeExports.jsxs(r.ThemeProvider,{theme:i,children:[e.jsxRuntimeExports.jsx(r.CssBaseline,{}),e.jsxRuntimeExports.jsx(o.Provider,{store:x,children:s})]})});module.exports=u;
1
+ "use strict";const e=require("react/jsx-runtime"),r=require("@mui/material"),n=require("@emotion/react");require("react");const o=require("react-redux");;/* empty css */const u=({children:s,emotionCache:i,theme:t,store:c,maxIdleSeconds:a=3600,maxTotalSeconds:d=3600})=>e.jsx(n.CacheProvider,{value:i,children:e.jsxs(r.ThemeProvider,{theme:t,children:[e.jsx(r.CssBaseline,{}),e.jsx(o.Provider,{store:c,children:s})]})});module.exports=u;
2
2
  //# sourceMappingURL=App.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.cjs.js","sources":["../../src/server/App.tsx"],"sourcesContent":["import { CssBaseline, ThemeProvider } from \"@mui/material\"\nimport {\n type EmotionCache,\n CacheProvider as EmotionCacheProvider,\n} from \"@emotion/react\"\nimport { type JSX, type ReactNode } from \"react\"\nimport {\n Provider as StoreProvider,\n type ProviderProps as StoreProviderProps,\n} from \"react-redux\"\nimport { type Action } from \"redux\"\nimport { type ThemeProviderProps } from \"@mui/material\"\n\nimport \"./App.css\"\n// import { InactiveDialog, ScreenTimeDialog } from \"../features\"\n// import { useCountdown, useEventListener } from \"../hooks\"\n// import \"../scripts\"\n// import {\n// configureFreshworksWidget,\n// toggleOneTrustInfoDisplay,\n// } from \"../utils/window\"\n\nexport interface AppProps<A extends Action = Action, S = unknown> {\n children: ReactNode\n emotionCache: EmotionCache\n theme: ThemeProviderProps[\"theme\"]\n store: StoreProviderProps<A, S>[\"store\"]\n maxIdleSeconds?: number\n maxTotalSeconds?: number\n}\n\nconst App = <A extends Action = Action, S = unknown>({\n children,\n emotionCache,\n theme,\n store,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxIdleSeconds = 60 * 60,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxTotalSeconds = 60 * 60,\n}: AppProps<A, S>): JSX.Element => {\n // TODO: cannot use document during SSR\n // const root = document.getElementById(\"root\") as HTMLElement\n\n // const [idleSeconds, setIdleSeconds] = useCountdown(maxIdleSeconds)\n // const [totalSeconds, setTotalSeconds] = useCountdown(maxTotalSeconds)\n // const resetIdleSeconds = useCallback(() => {\n // setIdleSeconds(maxIdleSeconds)\n // }, [setIdleSeconds, maxIdleSeconds])\n\n // const isIdle = idleSeconds === 0\n // const tooMuchScreenTime = totalSeconds === 0\n\n // useEventListener(root, \"mousemove\", resetIdleSeconds)\n // useEventListener(root, \"keypress\", resetIdleSeconds)\n\n // React.useEffect(() => {\n // configureFreshworksWidget(\"hide\")\n // }, [])\n\n // if (import.meta.env.PROD) {\n // toggleOneTrustInfoDisplay()\n // }\n\n return (\n // https://mui.com/material-ui/guides/server-rendering/\n <EmotionCacheProvider value={emotionCache}>\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <StoreProvider store={store}>\n {/* <InactiveDialog open={isIdle} onClose={resetIdleSeconds} />\n <ScreenTimeDialog\n open={!isIdle && tooMuchScreenTime}\n onClose={() => {\n setTotalSeconds(maxTotalSeconds)\n }}\n /> */}\n {children}\n </StoreProvider>\n </ThemeProvider>\n </EmotionCacheProvider>\n )\n}\n\nexport default App\n\n// TODO: figure out what to do with this\n// function useOneTrustScripts(): void {\n// const oneTrustEventTypes = [\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/consent/5da42396-cb12-4493-8d04-5179033cfbad/OtAutoBlock.js\",\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js\",\n// type: \"text/javascript\",\n// charset: \"UTF-8\",\n// },\n// attrs: {\n// \"data-domain-script\": \"5da42396-cb12-4493-8d04-5179033cfbad\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/202302.1.0/otBannerSdk.js\",\n// async: true,\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// ]\n// if (oneTrustEventTypes.some(t => t === \"error\")) {\n// alert(\"OneTrust failed to load!\")\n// }\n// }\n"],"names":["App","children","emotionCache","theme","store","maxIdleSeconds","maxTotalSeconds","EmotionCacheProvider","jsxs","ThemeProvider","jsx","CssBaseline","StoreProvider"],"mappings":"kMA+BA,MAAMA,EAAM,CAAyC,CACnD,SAAAC,EACA,aAAAC,EACA,MAAAC,EACA,MAAAC,EAGA,eAAAC,EAAiB,KAGjB,gBAAAC,EAAkB,IACpB,4BA0BKC,EAAAA,cAAA,CAAqB,MAAOL,EAC3B,SAAAM,EAAAA,kBAAAA,KAACC,EAAAA,eAAc,MAAAN,EACb,SAAA,CAAAO,EAAAA,kBAAAA,IAACC,EAAAA,YAAA,EAAY,EACbD,EAAAA,kBAAAA,IAACE,EAAAA,SAAA,CAAc,MAAAR,EAQZ,SAAAH,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF"}
1
+ {"version":3,"file":"App.cjs.js","sources":["../../src/server/App.tsx"],"sourcesContent":["import { CssBaseline, ThemeProvider } from \"@mui/material\"\nimport {\n type EmotionCache,\n CacheProvider as EmotionCacheProvider,\n} from \"@emotion/react\"\nimport { type JSX, type ReactNode } from \"react\"\nimport {\n Provider as StoreProvider,\n type ProviderProps as StoreProviderProps,\n} from \"react-redux\"\nimport { type Action } from \"redux\"\nimport { type ThemeProviderProps } from \"@mui/material\"\n\nimport \"./App.css\"\n// import { InactiveDialog, ScreenTimeDialog } from \"../features\"\n// import { useCountdown, useEventListener } from \"../hooks\"\n// import \"../scripts\"\n// import {\n// configureFreshworksWidget,\n// toggleOneTrustInfoDisplay,\n// } from \"../utils/window\"\n\nexport interface AppProps<A extends Action = Action, S = unknown> {\n children: ReactNode\n emotionCache: EmotionCache\n theme: ThemeProviderProps[\"theme\"]\n store: StoreProviderProps<A, S>[\"store\"]\n maxIdleSeconds?: number\n maxTotalSeconds?: number\n}\n\nconst App = <A extends Action = Action, S = unknown>({\n children,\n emotionCache,\n theme,\n store,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxIdleSeconds = 60 * 60,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxTotalSeconds = 60 * 60,\n}: AppProps<A, S>): JSX.Element => {\n // TODO: cannot use document during SSR\n // const root = document.getElementById(\"root\") as HTMLElement\n\n // const [idleSeconds, setIdleSeconds] = useCountdown(maxIdleSeconds)\n // const [totalSeconds, setTotalSeconds] = useCountdown(maxTotalSeconds)\n // const resetIdleSeconds = useCallback(() => {\n // setIdleSeconds(maxIdleSeconds)\n // }, [setIdleSeconds, maxIdleSeconds])\n\n // const isIdle = idleSeconds === 0\n // const tooMuchScreenTime = totalSeconds === 0\n\n // useEventListener(root, \"mousemove\", resetIdleSeconds)\n // useEventListener(root, \"keypress\", resetIdleSeconds)\n\n // React.useEffect(() => {\n // configureFreshworksWidget(\"hide\")\n // }, [])\n\n // if (import.meta.env.PROD) {\n // toggleOneTrustInfoDisplay()\n // }\n\n return (\n // https://mui.com/material-ui/guides/server-rendering/\n <EmotionCacheProvider value={emotionCache}>\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <StoreProvider store={store}>\n {/* <InactiveDialog open={isIdle} onClose={resetIdleSeconds} />\n <ScreenTimeDialog\n open={!isIdle && tooMuchScreenTime}\n onClose={() => {\n setTotalSeconds(maxTotalSeconds)\n }}\n /> */}\n {children}\n </StoreProvider>\n </ThemeProvider>\n </EmotionCacheProvider>\n )\n}\n\nexport default App\n\n// TODO: figure out what to do with this\n// function useOneTrustScripts(): void {\n// const oneTrustEventTypes = [\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/consent/5da42396-cb12-4493-8d04-5179033cfbad/OtAutoBlock.js\",\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js\",\n// type: \"text/javascript\",\n// charset: \"UTF-8\",\n// },\n// attrs: {\n// \"data-domain-script\": \"5da42396-cb12-4493-8d04-5179033cfbad\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/202302.1.0/otBannerSdk.js\",\n// async: true,\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// ]\n// if (oneTrustEventTypes.some(t => t === \"error\")) {\n// alert(\"OneTrust failed to load!\")\n// }\n// }\n"],"names":["App","children","emotionCache","theme","store","maxIdleSeconds","maxTotalSeconds","EmotionCacheProvider","jsxs","ThemeProvider","jsx","CssBaseline","StoreProvider"],"mappings":"wLA+BA,MAAMA,EAAM,CAAyC,CACnD,SAAAC,EACA,aAAAC,EACA,MAAAC,EACA,MAAAC,EAGA,eAAAC,EAAiB,KAGjB,gBAAAC,EAAkB,IACpB,UA0BKC,EAAAA,cAAA,CAAqB,MAAOL,EAC3B,SAAAM,EAAAA,KAACC,EAAAA,eAAc,MAAAN,EACb,SAAA,CAAAO,EAAAA,IAACC,EAAAA,YAAA,EAAY,EACbD,EAAAA,IAACE,EAAAA,SAAA,CAAc,MAAAR,EAQZ,SAAAH,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF"}
@@ -1,28 +1,28 @@
1
- import { j as r } from "../jsx-runtime-lzYHhGH3.js";
2
- import { ThemeProvider as i, CssBaseline as t } from "@mui/material";
1
+ import { jsx as r, jsxs as t } from "react/jsx-runtime";
2
+ import { ThemeProvider as s, CssBaseline as d } from "@mui/material";
3
3
  import { CacheProvider as p } from "@emotion/react";
4
4
  import "react";
5
5
  import { Provider as a } from "react-redux";
6
6
  /* empty css */
7
- const u = ({
7
+ const P = ({
8
8
  children: o,
9
9
  emotionCache: e,
10
- theme: s,
11
- store: m,
10
+ theme: m,
11
+ store: i,
12
12
  // @ts-expect-error TODO
13
13
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- maxIdleSeconds: d = 3600,
14
+ maxIdleSeconds: l = 3600,
15
15
  // @ts-expect-error TODO
16
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
- maxTotalSeconds: x = 3600
17
+ maxTotalSeconds: n = 3600
18
18
  }) => (
19
19
  // https://mui.com/material-ui/guides/server-rendering/
20
- /* @__PURE__ */ r.jsx(p, { value: e, children: /* @__PURE__ */ r.jsxs(i, { theme: s, children: [
21
- /* @__PURE__ */ r.jsx(t, {}),
22
- /* @__PURE__ */ r.jsx(a, { store: m, children: o })
20
+ /* @__PURE__ */ r(p, { value: e, children: /* @__PURE__ */ t(s, { theme: m, children: [
21
+ /* @__PURE__ */ r(d, {}),
22
+ /* @__PURE__ */ r(a, { store: i, children: o })
23
23
  ] }) })
24
24
  );
25
25
  export {
26
- u as default
26
+ P as default
27
27
  };
28
28
  //# sourceMappingURL=App.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.es.js","sources":["../../src/server/App.tsx"],"sourcesContent":["import { CssBaseline, ThemeProvider } from \"@mui/material\"\nimport {\n type EmotionCache,\n CacheProvider as EmotionCacheProvider,\n} from \"@emotion/react\"\nimport { type JSX, type ReactNode } from \"react\"\nimport {\n Provider as StoreProvider,\n type ProviderProps as StoreProviderProps,\n} from \"react-redux\"\nimport { type Action } from \"redux\"\nimport { type ThemeProviderProps } from \"@mui/material\"\n\nimport \"./App.css\"\n// import { InactiveDialog, ScreenTimeDialog } from \"../features\"\n// import { useCountdown, useEventListener } from \"../hooks\"\n// import \"../scripts\"\n// import {\n// configureFreshworksWidget,\n// toggleOneTrustInfoDisplay,\n// } from \"../utils/window\"\n\nexport interface AppProps<A extends Action = Action, S = unknown> {\n children: ReactNode\n emotionCache: EmotionCache\n theme: ThemeProviderProps[\"theme\"]\n store: StoreProviderProps<A, S>[\"store\"]\n maxIdleSeconds?: number\n maxTotalSeconds?: number\n}\n\nconst App = <A extends Action = Action, S = unknown>({\n children,\n emotionCache,\n theme,\n store,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxIdleSeconds = 60 * 60,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxTotalSeconds = 60 * 60,\n}: AppProps<A, S>): JSX.Element => {\n // TODO: cannot use document during SSR\n // const root = document.getElementById(\"root\") as HTMLElement\n\n // const [idleSeconds, setIdleSeconds] = useCountdown(maxIdleSeconds)\n // const [totalSeconds, setTotalSeconds] = useCountdown(maxTotalSeconds)\n // const resetIdleSeconds = useCallback(() => {\n // setIdleSeconds(maxIdleSeconds)\n // }, [setIdleSeconds, maxIdleSeconds])\n\n // const isIdle = idleSeconds === 0\n // const tooMuchScreenTime = totalSeconds === 0\n\n // useEventListener(root, \"mousemove\", resetIdleSeconds)\n // useEventListener(root, \"keypress\", resetIdleSeconds)\n\n // React.useEffect(() => {\n // configureFreshworksWidget(\"hide\")\n // }, [])\n\n // if (import.meta.env.PROD) {\n // toggleOneTrustInfoDisplay()\n // }\n\n return (\n // https://mui.com/material-ui/guides/server-rendering/\n <EmotionCacheProvider value={emotionCache}>\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <StoreProvider store={store}>\n {/* <InactiveDialog open={isIdle} onClose={resetIdleSeconds} />\n <ScreenTimeDialog\n open={!isIdle && tooMuchScreenTime}\n onClose={() => {\n setTotalSeconds(maxTotalSeconds)\n }}\n /> */}\n {children}\n </StoreProvider>\n </ThemeProvider>\n </EmotionCacheProvider>\n )\n}\n\nexport default App\n\n// TODO: figure out what to do with this\n// function useOneTrustScripts(): void {\n// const oneTrustEventTypes = [\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/consent/5da42396-cb12-4493-8d04-5179033cfbad/OtAutoBlock.js\",\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js\",\n// type: \"text/javascript\",\n// charset: \"UTF-8\",\n// },\n// attrs: {\n// \"data-domain-script\": \"5da42396-cb12-4493-8d04-5179033cfbad\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/202302.1.0/otBannerSdk.js\",\n// async: true,\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// ]\n// if (oneTrustEventTypes.some(t => t === \"error\")) {\n// alert(\"OneTrust failed to load!\")\n// }\n// }\n"],"names":["App","children","emotionCache","theme","store","maxIdleSeconds","maxTotalSeconds","EmotionCacheProvider","jsxs","ThemeProvider","jsx","CssBaseline","StoreProvider"],"mappings":";;;;;;AA+BA,MAAMA,IAAM,CAAyC;AAAA,EACnD,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA;AAAA;AAAA,EAGA,gBAAAC,IAAiB;AAAA;AAAA;AAAA,EAGjB,iBAAAC,IAAkB;AACpB;AAAA;AAAA,wBA0BKC,GAAA,EAAqB,OAAOL,GAC3B,UAAAM,gBAAAA,EAAAA,KAACC,KAAc,OAAAN,GACb,UAAA;AAAA,IAAAO,gBAAAA,EAAAA,IAACC,GAAA,EAAY;AAAA,IACbD,gBAAAA,EAAAA,IAACE,GAAA,EAAc,OAAAR,GAQZ,UAAAH,EAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAAA;"}
1
+ {"version":3,"file":"App.es.js","sources":["../../src/server/App.tsx"],"sourcesContent":["import { CssBaseline, ThemeProvider } from \"@mui/material\"\nimport {\n type EmotionCache,\n CacheProvider as EmotionCacheProvider,\n} from \"@emotion/react\"\nimport { type JSX, type ReactNode } from \"react\"\nimport {\n Provider as StoreProvider,\n type ProviderProps as StoreProviderProps,\n} from \"react-redux\"\nimport { type Action } from \"redux\"\nimport { type ThemeProviderProps } from \"@mui/material\"\n\nimport \"./App.css\"\n// import { InactiveDialog, ScreenTimeDialog } from \"../features\"\n// import { useCountdown, useEventListener } from \"../hooks\"\n// import \"../scripts\"\n// import {\n// configureFreshworksWidget,\n// toggleOneTrustInfoDisplay,\n// } from \"../utils/window\"\n\nexport interface AppProps<A extends Action = Action, S = unknown> {\n children: ReactNode\n emotionCache: EmotionCache\n theme: ThemeProviderProps[\"theme\"]\n store: StoreProviderProps<A, S>[\"store\"]\n maxIdleSeconds?: number\n maxTotalSeconds?: number\n}\n\nconst App = <A extends Action = Action, S = unknown>({\n children,\n emotionCache,\n theme,\n store,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxIdleSeconds = 60 * 60,\n // @ts-expect-error TODO\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n maxTotalSeconds = 60 * 60,\n}: AppProps<A, S>): JSX.Element => {\n // TODO: cannot use document during SSR\n // const root = document.getElementById(\"root\") as HTMLElement\n\n // const [idleSeconds, setIdleSeconds] = useCountdown(maxIdleSeconds)\n // const [totalSeconds, setTotalSeconds] = useCountdown(maxTotalSeconds)\n // const resetIdleSeconds = useCallback(() => {\n // setIdleSeconds(maxIdleSeconds)\n // }, [setIdleSeconds, maxIdleSeconds])\n\n // const isIdle = idleSeconds === 0\n // const tooMuchScreenTime = totalSeconds === 0\n\n // useEventListener(root, \"mousemove\", resetIdleSeconds)\n // useEventListener(root, \"keypress\", resetIdleSeconds)\n\n // React.useEffect(() => {\n // configureFreshworksWidget(\"hide\")\n // }, [])\n\n // if (import.meta.env.PROD) {\n // toggleOneTrustInfoDisplay()\n // }\n\n return (\n // https://mui.com/material-ui/guides/server-rendering/\n <EmotionCacheProvider value={emotionCache}>\n <ThemeProvider theme={theme}>\n <CssBaseline />\n <StoreProvider store={store}>\n {/* <InactiveDialog open={isIdle} onClose={resetIdleSeconds} />\n <ScreenTimeDialog\n open={!isIdle && tooMuchScreenTime}\n onClose={() => {\n setTotalSeconds(maxTotalSeconds)\n }}\n /> */}\n {children}\n </StoreProvider>\n </ThemeProvider>\n </EmotionCacheProvider>\n )\n}\n\nexport default App\n\n// TODO: figure out what to do with this\n// function useOneTrustScripts(): void {\n// const oneTrustEventTypes = [\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/consent/5da42396-cb12-4493-8d04-5179033cfbad/OtAutoBlock.js\",\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js\",\n// type: \"text/javascript\",\n// charset: \"UTF-8\",\n// },\n// attrs: {\n// \"data-domain-script\": \"5da42396-cb12-4493-8d04-5179033cfbad\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// useExternalScript({\n// props: {\n// src: \"https://cdn-ukwest.onetrust.com/scripttemplates/202302.1.0/otBannerSdk.js\",\n// async: true,\n// type: \"text/javascript\",\n// },\n// eventTypes: [\"load\", \"error\"],\n// }),\n// ]\n// if (oneTrustEventTypes.some(t => t === \"error\")) {\n// alert(\"OneTrust failed to load!\")\n// }\n// }\n"],"names":["App","children","emotionCache","theme","store","maxIdleSeconds","maxTotalSeconds","EmotionCacheProvider","jsxs","ThemeProvider","jsx","CssBaseline","StoreProvider"],"mappings":";;;;;;AA+BA,MAAMA,IAAM,CAAyC;AAAA,EACnD,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA;AAAA;AAAA,EAGA,gBAAAC,IAAiB;AAAA;AAAA;AAAA,EAGjB,iBAAAC,IAAkB;AACpB;AAAA;AAAA,oBA0BKC,GAAA,EAAqB,OAAOL,GAC3B,UAAA,gBAAAM,EAACC,KAAc,OAAAN,GACb,UAAA;AAAA,IAAA,gBAAAO,EAACC,GAAA,EAAY;AAAA,IACb,gBAAAD,EAACE,GAAA,EAAc,OAAAR,GAQZ,UAAAH,EAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAAA;"}