codeforlife 2.12.8 → 2.14.4

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 (96) hide show
  1. package/dist/{Countdown-snRYiLrs.js → Countdown-B1ilD_qY.js} +2 -2
  2. package/dist/{Countdown-snRYiLrs.js.map → Countdown-B1ilD_qY.js.map} +1 -1
  3. package/dist/{Countdown-CL7dyZrl.cjs → Countdown-DJ5b4A3w.cjs} +2 -2
  4. package/dist/{Countdown-CL7dyZrl.cjs.map → Countdown-DJ5b4A3w.cjs.map} +1 -1
  5. package/dist/{LinkButton-CRDs950E.js → LinkButton-BVU_MF2a.js} +2 -2
  6. package/dist/{LinkButton-CRDs950E.js.map → LinkButton-BVU_MF2a.js.map} +1 -1
  7. package/dist/{LinkButton-BQMG96aQ.cjs → LinkButton-BbGJHgCY.cjs} +2 -2
  8. package/dist/{LinkButton-BQMG96aQ.cjs.map → LinkButton-BbGJHgCY.cjs.map} +1 -1
  9. package/dist/{Navigate-Ch0ljYa-.cjs → Navigate-CioAG5Y-.cjs} +2 -2
  10. package/dist/{Navigate-Ch0ljYa-.cjs.map → Navigate-CioAG5Y-.cjs.map} +1 -1
  11. package/dist/{Navigate-Zt9DRJve.js → Navigate-DfeA_eki.js} +2 -2
  12. package/dist/{Navigate-Zt9DRJve.js.map → Navigate-DfeA_eki.js.map} +1 -1
  13. package/dist/api/endpoints/index.cjs.js +1 -1
  14. package/dist/api/endpoints/index.es.js +1 -1
  15. package/dist/api/index.cjs.js +1 -1
  16. package/dist/api/index.cjs.js.map +1 -1
  17. package/dist/api/index.es.js +21 -19
  18. package/dist/api/index.es.js.map +1 -1
  19. package/dist/auth-D-8t6wfR.js +238 -0
  20. package/dist/auth-D-8t6wfR.js.map +1 -0
  21. package/dist/auth-uyv8Mv88.cjs +2 -0
  22. package/dist/auth-uyv8Mv88.cjs.map +1 -0
  23. package/dist/components/form/index.cjs.js +1 -1
  24. package/dist/components/form/index.es.js +1 -1
  25. package/dist/components/index.cjs.js +1 -1
  26. package/dist/components/index.es.js +5 -5
  27. package/dist/components/page/index.cjs.js +1 -1
  28. package/dist/components/page/index.es.js +1 -1
  29. package/dist/components/router/index.cjs.js +1 -1
  30. package/dist/components/router/index.es.js +2 -2
  31. package/dist/features/index.cjs.js +1 -1
  32. package/dist/features/index.cjs.js.map +1 -1
  33. package/dist/features/index.es.js +13 -14
  34. package/dist/features/index.es.js.map +1 -1
  35. package/dist/hooks/index.cjs.js +1 -1
  36. package/dist/hooks/index.es.js +1 -1
  37. package/dist/index-C8T09ieQ.cjs +2 -0
  38. package/dist/index-C8T09ieQ.cjs.map +1 -0
  39. package/dist/index-Cxq_P-ni.js +242 -0
  40. package/dist/index-Cxq_P-ni.js.map +1 -0
  41. package/dist/index-Da4T5FYK.cjs +2 -0
  42. package/dist/{index-BsxcGeQL.cjs.map → index-Da4T5FYK.cjs.map} +1 -1
  43. package/dist/{index-uvqsz6fM.js → index-De-EwYmr.js} +4 -5
  44. package/dist/{index-uvqsz6fM.js.map → index-De-EwYmr.js.map} +1 -1
  45. package/dist/session-CJM1Czfv.js +33 -0
  46. package/dist/session-CJM1Czfv.js.map +1 -0
  47. package/dist/session-J-ezj9cg.cjs +2 -0
  48. package/dist/session-J-ezj9cg.cjs.map +1 -0
  49. package/dist/slices/index.cjs.js +1 -1
  50. package/dist/slices/index.cjs.js.map +1 -1
  51. package/dist/slices/index.es.js +27 -3
  52. package/dist/slices/index.es.js.map +1 -1
  53. package/dist/src/api/createApi.d.ts +4 -1
  54. package/dist/src/api/endpoints/session.d.ts +3 -2
  55. package/dist/src/components/page/Page.d.ts +3 -2
  56. package/dist/src/hooks/auth.d.ts +4 -3
  57. package/dist/src/slices/index.d.ts +1 -1
  58. package/dist/src/slices/session.d.ts +2 -10
  59. package/dist/src/utils/settings.d.ts +37 -0
  60. package/dist/utils/auth.cjs.js +1 -1
  61. package/dist/utils/auth.cjs.js.map +1 -1
  62. package/dist/utils/auth.es.js +18 -18
  63. package/dist/utils/auth.es.js.map +1 -1
  64. package/dist/utils/router.cjs.js +1 -1
  65. package/dist/utils/router.es.js +1 -1
  66. package/dist/utils/settings.cjs.js +2 -0
  67. package/dist/utils/settings.cjs.js.map +1 -0
  68. package/dist/utils/settings.d.ts +2 -0
  69. package/dist/utils/settings.es.js +37 -0
  70. package/dist/utils/settings.es.js.map +1 -0
  71. package/package.json +9 -9
  72. package/dist/auth-B6anBtxF.js +0 -238
  73. package/dist/auth-B6anBtxF.js.map +0 -1
  74. package/dist/auth-C2OUeLmQ.cjs +0 -2
  75. package/dist/auth-C2OUeLmQ.cjs.map +0 -1
  76. package/dist/index-B3QkMBQe.cjs +0 -2
  77. package/dist/index-B3QkMBQe.cjs.map +0 -1
  78. package/dist/index-BsxcGeQL.cjs +0 -2
  79. package/dist/index-C08WO83n.js +0 -237
  80. package/dist/index-C08WO83n.js.map +0 -1
  81. package/dist/session-CE2U7oL1.cjs +0 -2
  82. package/dist/session-CE2U7oL1.cjs.map +0 -1
  83. package/dist/session-COyN01K0.js +0 -33
  84. package/dist/session-COyN01K0.js.map +0 -1
  85. package/dist/session-eOp0H-EC.cjs +0 -2
  86. package/dist/session-eOp0H-EC.cjs.map +0 -1
  87. package/dist/session-oI-Ht2C8.js +0 -30
  88. package/dist/session-oI-Ht2C8.js.map +0 -1
  89. package/dist/settings/index.cjs.js +0 -2
  90. package/dist/settings/index.cjs.js.map +0 -1
  91. package/dist/settings/index.d.ts +0 -2
  92. package/dist/settings/index.es.js +0 -18
  93. package/dist/settings/index.es.js.map +0 -1
  94. package/dist/src/settings/custom.d.ts +0 -12
  95. package/dist/src/settings/index.d.ts +0 -3
  96. package/dist/src/settings/vite.d.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/features/InactiveDialog.tsx","../../src/images/brain.svg","../../src/features/ScreenTimeDialog.tsx"],"sourcesContent":["import { Button, Dialog, Typography } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport { Countdown } from \"../components\"\n\nexport interface InactiveDialogProps {\n open: boolean\n onClose: () => void\n}\n\nconst InactiveDialog: FC<InactiveDialogProps> = ({ open, onClose }) => {\n return (\n <Dialog open={open} onClose={onClose}>\n <Typography variant=\"h5\" textAlign=\"center\">\n Where did you go? 👀\n </Typography>\n <Typography textAlign=\"center\">\n We noticed that you have been inactive for a while. Are you still there?\n For your online safety we will log you out in:\n </Typography>\n <Countdown\n textAlign=\"center\"\n variant=\"h5\"\n seconds={60 * 2}\n onEnd={() => {\n onClose()\n alert(\"TODO: call logout endpoint\")\n }}\n />\n <Typography textAlign=\"center\">\n You may lose progress unless you continue or save.\n </Typography>\n <Button onClick={onClose} autoFocus>\n Wait, I&apos;m still here!\n </Button>\n </Dialog>\n )\n}\n\nexport default InactiveDialog\n","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20511.91%20423.62'%3e%3cdefs%3e%3cstyle%3e.d{fill:%23f9c5db;}.e{fill:%23fff;}.f{fill:%23666;}.g{fill:%23db5d90;}.h{fill:%23afafaf;}.i{fill:%235b5a5b;}.j{opacity:.2;}%3c/style%3e%3c/defs%3e%3cg%20id='a'/%3e%3cg%20id='b'%3e%3cpath%20class='d'%20d='M442.29,190.69c-4.39-18.43-13.61-35.22-22.63-51.72-2.21-4.04-4.38-8.11-6.49-12.2-.07-.13-.15-.37-.24-.62-.09-.56-.22-1.26-.27-1.5-.35-1.67-.71-3.47-.94-5.22,.17,.84,.17-2.04,.07-3.29-.21-2.8-.49-5.71-1.13-8.45-1.27-5.43-4.12-9.99-7.23-14.49-2.25-3.27-4.6-6.48-6.59-9.92-.51-.88-.98-1.79-1.46-2.69-.01-.03-.03-.06-.04-.09-.1-.52-.3-1.36-.42-1.68,0-.08,0-.15,0-.24-.25-7.47-1.39-15.18-3.36-22.4-4.34-15.9-13.85-30.79-29.48-37.38-10.06-4.25-21.31-5.05-31.65-1.16-5.07,1.91-9.75,4.4-14.44,7.09-.67,.38-1.33,.76-2,1.14-.09-.07-.17-.13-.24-.18-.89-.7-1.77-1.4-2.66-2.09-4.9-3.81-9.64-7.47-15.34-10-12.16-5.41-25.49-7.1-38.72-7.13-6-3.36-12.68-5.63-20.27-6.29-19.81-1.71-35.07,9.1-50.05,19.98-1.84,.87-3.65,1.79-5.43,2.76-11.73-2.88-23.23-6.51-35.37-7.64-16.82-1.56-32.38,3.66-45.25,14.38-5.58,4.65-10.45,10.7-14,17.38-11.73-2.99-24.82-.3-33.89,8.54-2.85,2.78-5.27,6.15-6.98,9.75-.74,1.55-1.52,3.11-2.19,4.69-6.99,3.63-13.43,6.54-18.48,13.08-5.54,7.17-8.17,15.32-9.36,24.21-.58,4.3-.78,8.52-.87,12.85-.03,1.77-.06,3.54-.14,5.32-.05,1.17-.2,2.35-.22,3.52,0,.05,0,.07,0,.11-.02,.05-.03,.09-.05,.16-.27,.86-1.49,4.85-.87,3.73-.57,1.18-1.24,2.31-1.87,3.45-2.45,4.43-4.95,9.05-6.21,13.98-2.6,10.17-.92,20.53,1.19,30.62,1.99,9.53,5.06,19.27,9.72,28.06-.18,.57-.32,1.16-.42,1.77-2.48,14.32-4.41,28.45-1.82,42.89,2.62,14.62,11.3,25.55,22.21,35.04,2.12,1.85,4.25,3.69,6.2,5.72,.6,.63,3.12,4.22,1.03,.93,.88,1.38,1.76,2.72,2.57,4.15,3.65,6.37,7.45,12.39,12.6,17.71,5.44,5.63,12.04,12.23,19.71,14.34,1.1,.3,2.19,.49,3.27,.58,1.27,1.04,2.59,2.03,3.93,3,.49,1.1,1.04,2.17,1.63,3.23,2.77,4.92,7.75,7.89,13.06,8.76,.6,.65,1.2,1.31,1.79,1.97,3.76,4.21,7.45,8.48,11.09,12.8,1.53,1.81,3.04,3.64,4.52,5.49,.29,.36,1.27,1.64,1.56,2,.5,.66,.99,1.33,1.48,2,3.11,4.29,6.03,8.73,8.6,13.37,5.42,9.78,8.61,19.81,17.84,26.94,10.02,7.75,22.28,10.02,34.59,11.32,12.11,1.27,25.35,.72,34.91-7.83,21.04-18.81,.59-49.34-14.08-65.08-8.43-9.04-18.2-16.49-28.57-23.08,9.77-2.69,18.56-7.88,24.67-16.9,2.18-3.21,3.76-6.87,4.87-10.57,.23-.78,.41-1.57,.57-2.36,1.78-1.12,3.91-2.13,5.26-3.14,4.02-3.01,7.77-6.12,11.24-9.74,4.61-4.8,6.41-12.13,4.66-18.46,2.6-.17,5.2-.64,7.81-1.01,9.57-1.35,19.14-2.8,28.66-4.47,18.7-3.27,37.29-7.36,55.41-13.08,12.41-3.92,24.3-9.45,36.49-14.02,4.91,.32,9.79-1.21,13.52-4.49,.5-.14,.99-.29,1.49-.42,17.65-4.73,36.7,1.28,53.41-7.59,4.09-2.17,7.51-5.13,10.14-8.66,7.9-3.99,12.07-12.5,9.92-21.51Zm-161.74-110.32c.03-.22,.05-.45,.08-.71,.06,.04,.01,.32-.08,.71Zm-116.35,174.2l-.05-.28c.14,.03,.27,.05,.41,.07-.12,.07-.24,.14-.36,.21Zm217.74-50.6c0,.43,0,.86,.03,1.28-.22,0-.44,.02-.66,.03,.21-.44,.42-.87,.63-1.31ZM313.52,25.5s-.03-.02,0,0h0ZM43.06,70.85c-.27,.26-.42,.24,0,0h0Zm160.22,227.41c-.17,.09-.71,.52-1.66,1.28,.47-.68,1.21-1.3,2.08-1.89-.13,.21-.27,.41-.42,.61Z'/%3e%3cpath%20class='f'%20d='M151.43,412.81c-21.81-28.05-42.03-56.46-67.07-81.79l.29-.41c22.02,15.35,39.34,36.47,53.86,58.84,4.84,7.49,9.37,15.17,13.38,23.14l-.45,.22h0Z'/%3e%3cpath%20class='f'%20d='M137.94,258.21c17.21,15.87,21.48,40.05,4.62,57.96-8.03,8.83-18.23,15.19-28.93,20.23-1.05,.49-2.13,.96-3.3,1.43-.68,.12-1.32,.3-1.87,.36-30.97,3.76-53.28-17.65-62.97-45.27l2.16,2.23c-.95-.43-1.69-.81-2.51-1.23-14.65-7.92-28.03-20.03-34-35.9-3.7-9.79-3.97-20.93-1.03-30.81l.49,.1c-1.11,5.8-1.49,11.76-.59,17.61,3.02,21.31,20.64,37.47,39.34,46.21l.16,.07,.06,.16c2.39,6.17,5.35,12.12,9.04,17.59,3.64,5.46,8.13,10.45,13.32,14.47,10.28,7.99,24.34,11.99,36.99,9.88,14.78-6.28,30.14-15.16,38.07-29.65,5.83-11.05,4.01-24.66-2.15-35.19-2.02-3.56-4.43-6.94-7.24-9.9l.35-.36h0Z'/%3e%3cpath%20class='f'%20d='M27.46,222.17c-8.91-6.16-15.79-14.98-20.61-24.63-15.83-30.94-2.67-67.45,23.43-88.04l.37,.33c-3.06,3.58-7.03,8.52-9.64,12.33-19.27,27.09-22.14,59.5-3.07,87.55,2.88,4.34,6.14,8.46,9.86,12.09l-.33,.37h0Z'/%3e%3cpath%20class='f'%20d='M22.29,119.02c-3.79-12.15-4.93-27.75,2.01-39.02,2.02-3.31,5.16-6.1,8.75-7.72,2.72-1.24,5.28-2.55,7.75-4.04,4.52-2.89,8.94-6.32,11.66-10.9,.44-1.01,1.09-1.78,1.7-2.61,7.74-9.88,20.64-13.83,30.48-4.47l-.27,.42c-7.43-4.82-16.18-4.26-22.64,1.9-2.02,1.85-3.81,4.01-5.19,6.35-.5,1.23-1.54,2.88-2.46,4.08-2.88,3.82-6.63,6.9-10.64,9.45-5.14,3.49-11.89,4.55-15.37,10.16-6.63,10.14-6.39,24.65-5.28,36.34l-.49,.07h0Z'/%3e%3cpath%20class='f'%20d='M101.06,97.94c-16.06-4.22-25.06-17.92-19.42-34.18,3.35-9.68,8.2-19.07,14.86-26.9,7.87-9.22,18.31-16.7,30.21-19.57,7.99-1.66,16.54-.12,23.9,2.21,5.9,1.98,11.57,4.42,16.77,7.71l-.21,.45c-5.53-2.37-11.31-4.21-17.17-5.54-5.85-1.35-11.9-2.06-17.86-1.54-19.17,2.75-34.69,19.81-42.92,36.44-1.4,2.91-3.37,7.3-4.37,10.37-2.09,6.36-1.5,13.63,2.44,19.16,3.38,4.92,8.47,8.6,13.93,10.92l-.17,.47h0Z'/%3e%3cpath%20class='f'%20d='M222.86,8.58c-20.62-.37-39.77,10.41-49.37,28.44-4.75,8.27-7.95,17.74-6.82,27.2,1.23,9.55,6.94,18.16,14.57,23.91,4.25,4.33,10.56,7.19,16.69,6.2,.72-.1,2.24-.35,2.97-.45,3.74,5.24,4.49,13.15-.44,17.83-.56,.59-1.23,1.06-1.82,1.58l-.34-.37c.51-.57,1.08-1.09,1.54-1.7,3.55-4.25,2.88-10.56-.25-14.86l.33,.11c-7.4,2.48-16.1-.49-21.36-5.5-13.67-9.24-20.29-25.92-15.53-41.88,4.54-15.12,14.77-28.97,29.08-36.04,9.5-4.65,20.36-6.44,30.84-4.94l-.09,.49h0Z'/%3e%3cpath%20class='f'%20d='M208.82,29.72c3.06-6.17,8.58-11.41,15.39-13.1,2.3-.67,4.72-.73,7.11-.68l-.77,.11c16.73-7,45.75-16.61,61.69-4.02,7.33,5.02,15.97,7.39,23.17,12.95,4.68,3.47,8.18,8.46,10.46,13.78,1.22,3.08,2.03,5.92,2.74,9.13,.71,3.17,1.3,7.92,1.74,11.16,.83,5.5,1.47,11.05,2.98,16.39,.04,.11,.06,.12,.08,.18l.03,.08v.04l.12,.23c.58,1.26,.96,2.72,1.27,3.99,1.87,8.86,3.6,21.66-2.41,29.43-1.54,1.93-4.03,3.42-6.55,3.93-.42,.12-.86,.19-1.3,.35-16.56,5.08-47.28,23.42-63.2,11.85-6.73-4.79-10.14-12.9-11.28-20.77-.78-6.24-.79-12.78,2.13-18.55l2.06,2.61c-2.85,.53-5.61,.37-8.39-.26-8.19-1.76-13.79-8.51-16.56-16.05l.46-.2c.8,1.65,1.73,3.49,2.78,5.01,3.07,4.79,7.98,8.53,13.64,9.53,2.69,.52,5.51,.46,8.14-.19-1.47,2.7-1.91,5.86-2.05,8.95-.25,8.56,1.87,17.79,7.81,24.18,3.98,4.42,9.75,6.23,15.6,5.58,11.62-1.15,22.5-6.08,33.19-10.54,5.41-2.24,10.71-4.85,16.43-6.3,1.33-.34,2.51-1.12,3.38-2.19,4.89-6.41,2.84-20.94,.33-28.21-2.14-5.93-2.56-12.25-3.53-18.42-.41-3.14-.94-7.72-1.61-10.81-1.55-7.71-4.88-15.51-11.3-20.37-4.54-3.65-10.02-5.9-15.15-8.62-3.91-1.96-7.52-4.61-11.12-7.04-11.31-6.02-26.41-3-38.37-.24-5.68,1.43-11.3,3.16-16.76,5.24-2.22-.14-4.47-.2-6.64,.34-6.51,1.35-11.99,6.1-15.28,11.76l-.44-.23h0Z'/%3e%3cpath%20class='f'%20d='M311.48,27.06c7.57-7.87,18.84-16.99,30.49-16.05,19.31,2.51,43.75,14.12,48.92,34.68,2.45,10.77,3.61,23.1-1.2,33.42l.56-2.4c.1,1.11,.37,2.25,.78,3.27,.7,1.67,1.64,2.83,3.15,3.59,2.07,.77,4.18,1.3,6.27,2.21,10.93,4.24,17.68,15.08,15.89,26.8-1.25,10.43-9.13,19.74-18.77,22.96l-.21-.45c2.92-1.43,5.63-3.28,7.95-5.55,9.36-8.81,11.67-25.51,1.81-34.8-2.35-2.21-5.2-3.83-8.23-4.98-3.02-1.32-6.58-1.49-9.14-3.79-2.58-2.27-3.91-5.6-4.27-8.97-.02-.13,0-.14,.06-.25,3.97-9.4,2.6-20.19,.56-29.93-3.84-15.21-18.86-24.21-32.65-29.45-4.77-1.63-9.71-3.37-14.79-3.43-5.09,.17-9.93,2.26-14.35,4.67-4.45,2.49-8.65,5.48-12.5,8.81l-.34-.37h0Z'/%3e%3cpath%20class='f'%20d='M359.05,101.57c13.08,1.53,24.07,11.47,26.11,24.71,.67,3.96,.78,8.16,1.35,12.13,1.07,7.82,2.37,15.62,4.23,23.29,1.25,6.09,3.42,11.85,4.34,17.9,2.43,14.92-1.95,31.82-15.54,40.1-1.26,.74-2.86,1.69-4.15,2.37-11.26,5.92-28.2,16.39-39.67,21.84-3.69,1.7-7.55,3.38-11.68,3.84l-.09-.49c3.87-.87,7.44-2.86,10.92-4.83,13.81-8.27,26.97-17.62,40.96-25.61,10.81-6.29,15.41-18.47,14.87-30.57-.02-8.12-3.05-15.71-4.56-23.57-2.06-9.87-3.46-19.9-3.93-29.97,.25-15.5-8.16-26.76-23.25-30.64l.09-.49h0Z'/%3e%3cpath%20class='f'%20d='M408.01,132.23c6.68-3.19,14.64-.21,18.26,6.23,1.17,1.85,2.09,4.26,2.89,6.27,1.48,3.8,2.98,8.11,4.41,11.95,2.12,6.22,4.76,13.86,6.71,20.1,1.85,5.6,3.4,11.49,3.76,17.45,.28,4.71,.02,10.32-2.47,14.72-2.31,3.88-4.61,7.65-7.83,11.03-8.16,9.08-21.38,12.19-33.04,10.72l-.02-.5c8.38-.47,16.91-2.31,23.87-7.15,6.1-4.2,10.11-10.66,13.43-17.15,2.27-6.27,1.15-13.21-.15-19.59-2.42-9.3-6.87-23.16-9.55-32.51-1.22-3.7-2.83-10.58-4.58-14.01-2.71-5.92-9.27-8.91-15.53-7.09l-.16-.47h0Z'/%3e%3cpath%20class='f'%20d='M221.65,273.51c2.26,9.89-2.86,20.36-10.84,26.3-8.02,5.94-18.74,7.75-28.08,4.56l-.02-.5c2.02-.15,4.73-.37,6.68-.71,13.4-1.78,25.65-10.16,30.09-23.24,.76-2.09,1.38-4.26,1.67-6.45l.5,.04h0Z'/%3e%3cpath%20class='f'%20d='M200.07,300.72c3.54,4.74,5.27,12.19,.36,16.88-1.33,1.29-2.95,2.41-4.44,3.5-8.96,6.27-19.78,11.25-31.01,10.18-8.27-.2-18.35-1.37-22.86-9.37-1.38-2.44-2.16-5.13-2.46-7.88l.47-.17c2.37,6.69,7.42,11.59,14.64,12.33,3.36,.49,6.8,.35,10.25,.37,3.47,.14,6.78-.08,10.12-.96,7.46-1.85,14.5-5.27,21.05-9.25,.7-.44,1.46-.88,2.1-1.42,4.09-3.36,2.96-9.61,1.32-14l.46-.2h0Z'/%3e%3cpath%20class='f'%20d='M176.12,326.86c24.94,11.54,50.15,41.47,49.33,70.03l-.49,.09c-4.51-21.44-17.93-39.76-32.96-55.19-5.11-5.13-10.46-10.07-16.17-14.53l.3-.4h0Z'/%3e%3cpath%20class='f'%20d='M137.61,234.31c-12.87-5.26-28.97-12.85-41.88-7.04-1.34,.62-3.31,1.96-4.59,2.75-11.69,7.35-22.74,15.2-34.81,22.2l-.34-.37c5.77-5.42,11.8-10.57,18.04-15.44,4.67-3.67,9.46-7.19,14.4-10.49,1.66-1.08,3.28-2.22,5.1-3.14,3.65-1.77,7.74-2.47,11.74-2.33,12.02,.6,23.14,6.48,32.65,13.46l-.31,.4h0Z'/%3e%3cpath%20class='f'%20d='M90.49,123.12c6.33,13.05,6.79,31.3-5.1,41.5-10.92,8.88-24.57,16.5-39.18,15.65-4.18-.4-8.44-1.75-11.45-4.52l.24-.44c6.92,3.68,15.23,2.4,22.36-.05,7.28-2.54,14.04-6.47,20.3-10.98,3.08-2.25,6.3-4.46,8.52-7.63,4.53-6.27,5.59-14.37,5.32-21.95-.14-3.85-.61-7.72-1.49-11.46l.48-.13h0Z'/%3e%3cpath%20class='f'%20d='M76.79,174.22c3.7,1.29,6.73,4.02,9.14,7.02,7.21,9.2,8.66,21.88,5.65,32.96l-.13-1.32c.12,.93,.23,1.85,.32,2.79,.25,2.86,.4,5.72,.17,8.61l-.48,.15c-1.04-3.12-2.49-7.38-3.46-10.47,1.28-13.81-1.06-29.39-11.54-39.35l.31-.39h0Z'/%3e%3cpath%20class='f'%20d='M161.1,151.64c18.17-8.77,42.86,4.98,40,26.29l-.49,.11c-1.08-4.19-2.72-8.24-5.15-11.81-6.15-9.08-17.16-13.47-27.83-14.07-2.16-.15-4.34-.19-6.48-.02l-.06-.5h0Z'/%3e%3cpath%20class='f'%20d='M195.26,197.53c9.79-9.84,24.22-14.13,37.94-13.48,1.11,.1,3.32,.32,4.42,.46,7.16,1.13,14.35,2.25,21.07,5.18,1.06,.51,2.08,1.12,2.81,2.1,1.44,1.78,1.05,4.71-.91,5.97l-4.67-6.12c4.01-2.82,8.54-4.73,13.23-6.02,4.5-1.22,9.21-1.75,13.86-1.45l.08,.49c-6.59,1.14-13.01,3.31-18.85,6.56-1.93,1.09-3.84,2.29-5.53,3.67l-.52-.68c-.19,.12-.03,.28-.13,.16-.82-.7-2-.99-3.03-1.34-3.93-1.17-8-1.9-12.05-2.61-5.43-.94-10.83-1.83-16.31-1.67-10.9,.26-21.85,3.41-31.11,9.19l-.29-.41h0Z'/%3e%3cpath%20class='f'%20d='M280.33,149.53c21.07,10.79,41.84,14.23,63.49,3.14,4.86-2.38,9.69-5.07,14.86-7l.29,.41-8.8,6.36c-8.7,6.56-19.03,11.36-30.03,11.98-14.62,.82-29.2-4.98-40.14-14.52l.34-.37h0Z'/%3e%3cpath%20class='f'%20d='M181.26,213.67c9.93,6.09,14.18,19.54,8.98,30.15-2.37,5.24-6.32,9.39-10.53,13.13-.7,.55-2.55,1.99-3.24,2.52-.76,.57-2.62,1.68-3.41,2.24-8.4,4.91-18.22,8-27.95,7.45l-.08-.49c7.4-1.54,14.6-4.36,21.17-8.09,2.82-1.6,5.82-3.63,8.32-5.7,6.91-5.72,13.87-13.25,13.91-22.75,.06-6.69-3.05-13.21-7.53-18.09l.35-.36h0Z'/%3e%3cpath%20class='f'%20d='M167.22,124.02c16.67-8.3,39.6-10.49,56.5-1.46,1.18,.63,2.62,1.58,3.71,2.33,6.81,5.05,13.4,10.22,19.4,16.43l-.27,.42-9.05-5.51c-3.22-1.95-10.39-6.51-13.52-8.33-1.47-.86-3.13-1.66-4.7-2.3-13.13-5.17-27.76-4.86-41.56-2.99-3.49,.48-6.97,1.08-10.39,1.89l-.13-.48h0Z'/%3e%3cpath%20class='g'%20d='M340.25,209.52c-25.34,51.85-74.22,96.17-129.16,52.06-5.91-4.68-11.34-9.88-16.4-15.37,16.15,14.34,36.02,27.42,58.32,26.95,29.45-1,49.96-26.56,62.8-50.65,3.26-6.21,6.29-12.71,8.64-19.29,1.48-4.46,6.3-6.88,10.76-5.4,4.81,1.56,7.2,7.13,5.03,11.69h0Z'/%3e%3cpath%20class='g'%20d='M450.9,222.82c-3.86,14.01-12.5,26.41-23.37,35.88-8.87,7.57-19.71,13.2-30.75,16.3-38.57,10.56-80.42-1.74-116.27-16.32,22.35,6.65,45.15,11.56,68.41,12.15,1.99,0,6.67-.07,8.57-.09,1.81-.07,6.59-.45,8.5-.58l5.59-.75c17.07-2.47,33.77-9.13,45.66-21.69,7.23-7.71,12.77-17.29,14.99-27.65,.57-5.45,5.76-9.39,11.19-8.31,5.12,.99,8.48,5.94,7.49,11.06h0Z'/%3e%3cg%3e%3cpath%20class='e'%20d='M328.57,220.35c-.65,0-1.3-.03-1.94-.08-16.21-1.28-28.15-18.25-26.61-37.84,1.47-18.67,14.76-33.29,30.26-33.29,.65,0,1.3,.03,1.94,.08,16.21,1.28,28.15,18.25,26.61,37.84-1.47,18.67-14.76,33.29-30.26,33.29Z'/%3e%3cpath%20class='h'%20d='M330.28,147.64v3h0c.6,0,1.22,.02,1.82,.07,15.39,1.21,26.71,17.46,25.23,36.23-1.41,17.89-14.04,31.91-28.76,31.91-.61,0-1.22-.02-1.83-.07-15.39-1.21-26.71-17.46-25.23-36.23,1.41-17.89,14.04-31.91,28.76-31.91v-3m0,0c-16.21,0-30.21,15.05-31.75,34.67-1.61,20.45,10.92,38.11,27.98,39.46,.69,.05,1.38,.08,2.06,.08,16.21,0,30.21-15.05,31.75-34.67,1.61-20.45-10.92-38.11-27.98-39.46-.69-.05-1.38-.08-2.06-.08h0Z'/%3e%3c/g%3e%3cellipse%20class='i'%20cx='334.82'%20cy='199.39'%20rx='13.2'%20ry='9.39'%20transform='translate(39%20453.06)%20rotate(-71.39)'/%3e%3cg%3e%3cpath%20class='e'%20d='M446.3,231.11c-1.21,0-2.43-.1-3.63-.29-15.09-2.39-25.01-19.17-22.12-37.41,2.62-16.55,15.08-29.03,28.97-29.03,1.21,0,2.43,.1,3.63,.29,15.09,2.39,25.01,19.17,22.12,37.41-2.62,16.55-15.08,29.03-28.97,29.03Z'/%3e%3cpath%20class='h'%20d='M449.52,165.88h0c1.13,0,2.27,.09,3.39,.27,14.27,2.26,23.63,18.27,20.87,35.7-2.51,15.83-14.33,27.77-27.49,27.77-1.13,0-2.27-.09-3.39-.27-14.27-2.26-23.63-18.27-20.87-35.7,2.51-15.83,14.33-27.76,27.49-27.77m0-3c-14.48,0-27.67,12.76-30.45,30.3-3.02,19.09,7.44,36.61,23.37,39.13,1.29,.2,2.58,.3,3.86,.3,14.48,0,27.67-12.76,30.45-30.3,3.02-19.09-7.44-36.61-23.37-39.13-1.29-.2-2.58-.3-3.86-.3h0Z'/%3e%3c/g%3e%3cellipse%20class='i'%20cx='446.51'%20cy='209.6'%20rx='12.44'%20ry='8.84'%20transform='translate(78.46%20537.99)%20rotate(-66.89)'/%3e%3c/g%3e%3cg%20id='c'%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='329.42%20118.98%20367.62%20124.71%20301.63%20213.52%20283.04%20209.6%20267.19%20191.08%20329.42%20118.98'/%3e%3c/g%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='265.79%20162.67%20265.79%20110.28%20280.5%20109.04%20306.96%20113.1%20265.79%20162.67'/%3e%3c/g%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='469.91%20148.92%20504.3%20154.03%20444.89%20233.05%20428.16%20229.56%20413.89%20213.08%20469.91%20148.92'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M510.06,159.47c-1.72-6.02-6.83-10.58-13.04-11.65l-69.11-14.88c-.07-.01-.14-.03-.21-.04-.22-.04-.87-.14-1.8-.2,.43-.03,.68-.02,.68-.02l-63.81-15.39s.09,.05,.14,.08c-.13-.02-.26-.06-.39-.08l-81.21-13.19c-.51-.08-3-.45-6.09-.21-.4-.09-.8-.14-1.22-.12-3.73,.15-92.16,3.94-158.51,31.15-1.6,.65-2.74,2.09-3.03,3.79-.17,.98-3.97,24.18,5.96,42.8,2.22,4.17,5,7.83,8.25,10.88,.7,.66,1.58,1.1,2.53,1.28,1.15,.21,2.92,.46,4.89,.46,3.22,0,6.94-.67,9.21-3.26,1.08-1.23,2.68-3.9,1.36-7.97-.85-2.63-3.66-4.03-6.29-3.18-1.97,.64-3.27,2.41-3.43,4.37-.72,.04-1.62,.02-2.51-.06-1.99-2.08-3.73-4.5-5.18-7.22-6.52-12.22-5.86-27.59-5.26-33.71,49.43-19.59,112.16-26.35,139.12-28.46-.19,.94-.32,1.95-.32,3.07v66.73c0,.12,0,.24,.01,.36,.06,.88,1.75,21.62,20.3,29.43,11.43,4.81,43.5,6.74,68.38,7.52,.28,0,.55,.01,.82,.01,11.7,0,21.98-7.74,25.19-19.07l.23-.84c3.05-11.22,3.54-40.64,3.62-51.05,1.2-3.01,3.1-4.63,5.93-6.52,7.68-5.14,18.12-2.75,22.92,5.14,.42,.69,.82,1.4,1.21,2.11v53.78c0,.1,0,.21,.01,.31,.06,.79,1.55,19.46,18.05,26.51,10.37,4.43,37.17,6.13,57.82,6.78,.25,0,.49,.01,.74,.01,10.42,0,19.58-6.98,22.43-17.2l.2-.74c3.21-11.98,3.23-47.01,3.23-49.25,.02-.85,.04-5.71-1.84-12.26Zm-140.69-12.46s0,.09,0,.13c.02,11.06-.54,41.98-3.28,52.06l-.21,.75c-2.03,7.17-8.61,12.03-16.08,11.78-33.48-1.04-57.11-3.49-64.81-6.74-12.31-5.19-14.03-19.14-14.19-20.79V117.69c0-1.77,.62-2.3,.88-2.52,1.65-1.41,5.77-1.54,8.03-1.19l81.22,13.19c3.23,.53,5.9,2.83,6.78,5.87,1.83,6.29,1.67,13.9,1.67,13.97Zm133.58,24.48c0,.06,0,.12,0,.19,.01,9.98-.49,37.88-2.93,46.98l-.18,.67c-1.8,6.47-7.66,10.83-14.26,10.63-27.7-.87-47.6-3.08-54.59-6.07-10.96-4.68-12.48-17.3-12.62-18.78v-59.99c0-1.64,.57-2.12,.81-2.33,1.44-1.23,4.99-1.36,6.97-1.06l69.08,14.87c.07,.02,.14,.03,.21,.04,2.86,.47,5.22,2.55,6.01,5.3,1.6,5.58,1.49,9.53,1.49,9.55Z'/%3e%3cpath%20d='M431.58,118.93c2.88-2.73,6.23-4.98,9.71-6.86,10.9-6.05,23.5-5.13,33.14,2.88,1.88,2.01,4.26,4.78,6,7.27,1.74,2.53,3.65,5.26,4.1,8.34,.03,.36,.57,.4,.66,.06,1.36-5.31-1.24-10.84-3.68-15.43-1-1.64-1.88-3.43-3.32-4.86-3.2-3.28-7.29-6.04-11.99-7.63-13.51-4.78-29.72,2.7-35.13,15.74l-.04,.11c-.15,.32,.31,.63,.55,.37Z'/%3e%3cpath%20d='M297.47,90.2c2.88-2.73,6.23-4.98,9.71-6.86,10.9-6.05,23.5-5.13,33.14,2.88,1.88,2.01,4.26,4.78,6,7.27,1.74,2.53,3.65,5.26,4.1,8.34,.03,.36,.57,.4,.66,.06,1.36-5.31-1.24-10.84-3.68-15.43-1-1.64-1.88-3.43-3.32-4.86-3.2-3.28-7.29-6.04-11.99-7.63-13.51-4.78-29.72,2.7-35.13,15.74l-.04,.11c-.15,.32,.31,.63,.55,.37Z'/%3e%3c/g%3e%3cpath%20class='d'%20d='M246.7,141.54s-45.89-33.79-87.25-15.71c-41.36,18.08-12.08,29.13-12.08,29.13l39-19.62,60.33,6.21Z'/%3e%3c/g%3e%3c/svg%3e\"","import { Button, Dialog, Typography } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport BrainImage from \"../images/brain.svg\"\nimport { Image } from \"../components\"\n\nexport interface ScreenTimeDialogProps {\n open: boolean\n onClose: () => void\n}\n\nconst ScreenTimeDialog: FC<ScreenTimeDialogProps> = ({ open, onClose }) => {\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"sm\">\n <Image src={BrainImage} alt=\"brain\" maxWidth={100} marginY={3} />\n <Typography variant=\"h5\" textAlign=\"center\">\n Time for a break?\n </Typography>\n <Typography textAlign=\"center\">\n You have been using the Code for Life website for a while. Remember to\n take regular screen breaks to recharge those brain cells!\n </Typography>\n <Button onClick={onClose} autoFocus>\n Continue\n </Button>\n </Dialog>\n )\n}\n\nexport default ScreenTimeDialog\n"],"names":["InactiveDialog","open","onClose","jsxs","Dialog","jsx","Typography","Countdown","Button","BrainImage","ScreenTimeDialog","Image"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,IAA0C,CAAC,EAAE,MAAAC,GAAM,SAAAC,QAErD,gBAAAC,EAACC,GAAA,EAAO,MAAAH,GAAY,SAAAC,GAClB,UAAA;AAAA,EAAA,gBAAAG,EAACC,GAAA,EAAW,SAAQ,MAAK,WAAU,UAAS,UAAA,wBAE5C;AAAA,EACA,gBAAAD,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,2HAG/B;AAAA,EACA,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,MAAM;AACX,QAAAL,EAAA,GACA,MAAM,4BAA4B;AAAA,MACpC;AAAA,IAAA;AAAA,EAAA;AAAA,EAEF,gBAAAG,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,sDAE/B;AAAA,oBACCE,GAAA,EAAO,SAASN,GAAS,WAAS,IAAC,UAAA,wBAAA,CAEpC;AAAA,GACF,GCnCJO,IAAe,i+gBCWTC,IAA8C,CAAC,EAAE,MAAAT,GAAM,SAAAC,QAEzD,gBAAAC,EAACC,GAAA,EAAO,MAAAH,GAAY,SAAAC,GAAkB,UAAS,MAC7C,UAAA;AAAA,EAAA,gBAAAG,EAACM,GAAA,EAAM,KAAKF,GAAY,KAAI,SAAQ,UAAU,KAAK,SAAS,EAAA,CAAG;AAAA,oBAC9DH,GAAA,EAAW,SAAQ,MAAK,WAAU,UAAS,UAAA,qBAE5C;AAAA,EACA,gBAAAD,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,oIAG/B;AAAA,oBACCE,GAAA,EAAO,SAASN,GAAS,WAAS,IAAC,UAAA,WAAA,CAEpC;AAAA,GACF;"}
1
+ {"version":3,"file":"index.es.js","sources":["../../src/features/InactiveDialog.tsx","../../src/images/brain.svg","../../src/features/ScreenTimeDialog.tsx"],"sourcesContent":["import { Button, Dialog, Typography } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport { Countdown } from \"../components\"\n\nexport interface InactiveDialogProps {\n open: boolean\n onClose: () => void\n}\n\nconst InactiveDialog: FC<InactiveDialogProps> = ({ open, onClose }) => {\n return (\n <Dialog open={open} onClose={onClose}>\n <Typography variant=\"h5\" textAlign=\"center\">\n Where did you go? 👀\n </Typography>\n <Typography textAlign=\"center\">\n We noticed that you have been inactive for a while. Are you still there?\n For your online safety we will log you out in:\n </Typography>\n <Countdown\n textAlign=\"center\"\n variant=\"h5\"\n seconds={60 * 2}\n onEnd={() => {\n onClose()\n alert(\"TODO: call logout endpoint\")\n }}\n />\n <Typography textAlign=\"center\">\n You may lose progress unless you continue or save.\n </Typography>\n <Button onClick={onClose} autoFocus>\n Wait, I&apos;m still here!\n </Button>\n </Dialog>\n )\n}\n\nexport default InactiveDialog\n","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20511.91%20423.62'%3e%3cdefs%3e%3cstyle%3e.d{fill:%23f9c5db;}.e{fill:%23fff;}.f{fill:%23666;}.g{fill:%23db5d90;}.h{fill:%23afafaf;}.i{fill:%235b5a5b;}.j{opacity:.2;}%3c/style%3e%3c/defs%3e%3cg%20id='a'/%3e%3cg%20id='b'%3e%3cpath%20class='d'%20d='M442.29,190.69c-4.39-18.43-13.61-35.22-22.63-51.72-2.21-4.04-4.38-8.11-6.49-12.2-.07-.13-.15-.37-.24-.62-.09-.56-.22-1.26-.27-1.5-.35-1.67-.71-3.47-.94-5.22,.17,.84,.17-2.04,.07-3.29-.21-2.8-.49-5.71-1.13-8.45-1.27-5.43-4.12-9.99-7.23-14.49-2.25-3.27-4.6-6.48-6.59-9.92-.51-.88-.98-1.79-1.46-2.69-.01-.03-.03-.06-.04-.09-.1-.52-.3-1.36-.42-1.68,0-.08,0-.15,0-.24-.25-7.47-1.39-15.18-3.36-22.4-4.34-15.9-13.85-30.79-29.48-37.38-10.06-4.25-21.31-5.05-31.65-1.16-5.07,1.91-9.75,4.4-14.44,7.09-.67,.38-1.33,.76-2,1.14-.09-.07-.17-.13-.24-.18-.89-.7-1.77-1.4-2.66-2.09-4.9-3.81-9.64-7.47-15.34-10-12.16-5.41-25.49-7.1-38.72-7.13-6-3.36-12.68-5.63-20.27-6.29-19.81-1.71-35.07,9.1-50.05,19.98-1.84,.87-3.65,1.79-5.43,2.76-11.73-2.88-23.23-6.51-35.37-7.64-16.82-1.56-32.38,3.66-45.25,14.38-5.58,4.65-10.45,10.7-14,17.38-11.73-2.99-24.82-.3-33.89,8.54-2.85,2.78-5.27,6.15-6.98,9.75-.74,1.55-1.52,3.11-2.19,4.69-6.99,3.63-13.43,6.54-18.48,13.08-5.54,7.17-8.17,15.32-9.36,24.21-.58,4.3-.78,8.52-.87,12.85-.03,1.77-.06,3.54-.14,5.32-.05,1.17-.2,2.35-.22,3.52,0,.05,0,.07,0,.11-.02,.05-.03,.09-.05,.16-.27,.86-1.49,4.85-.87,3.73-.57,1.18-1.24,2.31-1.87,3.45-2.45,4.43-4.95,9.05-6.21,13.98-2.6,10.17-.92,20.53,1.19,30.62,1.99,9.53,5.06,19.27,9.72,28.06-.18,.57-.32,1.16-.42,1.77-2.48,14.32-4.41,28.45-1.82,42.89,2.62,14.62,11.3,25.55,22.21,35.04,2.12,1.85,4.25,3.69,6.2,5.72,.6,.63,3.12,4.22,1.03,.93,.88,1.38,1.76,2.72,2.57,4.15,3.65,6.37,7.45,12.39,12.6,17.71,5.44,5.63,12.04,12.23,19.71,14.34,1.1,.3,2.19,.49,3.27,.58,1.27,1.04,2.59,2.03,3.93,3,.49,1.1,1.04,2.17,1.63,3.23,2.77,4.92,7.75,7.89,13.06,8.76,.6,.65,1.2,1.31,1.79,1.97,3.76,4.21,7.45,8.48,11.09,12.8,1.53,1.81,3.04,3.64,4.52,5.49,.29,.36,1.27,1.64,1.56,2,.5,.66,.99,1.33,1.48,2,3.11,4.29,6.03,8.73,8.6,13.37,5.42,9.78,8.61,19.81,17.84,26.94,10.02,7.75,22.28,10.02,34.59,11.32,12.11,1.27,25.35,.72,34.91-7.83,21.04-18.81,.59-49.34-14.08-65.08-8.43-9.04-18.2-16.49-28.57-23.08,9.77-2.69,18.56-7.88,24.67-16.9,2.18-3.21,3.76-6.87,4.87-10.57,.23-.78,.41-1.57,.57-2.36,1.78-1.12,3.91-2.13,5.26-3.14,4.02-3.01,7.77-6.12,11.24-9.74,4.61-4.8,6.41-12.13,4.66-18.46,2.6-.17,5.2-.64,7.81-1.01,9.57-1.35,19.14-2.8,28.66-4.47,18.7-3.27,37.29-7.36,55.41-13.08,12.41-3.92,24.3-9.45,36.49-14.02,4.91,.32,9.79-1.21,13.52-4.49,.5-.14,.99-.29,1.49-.42,17.65-4.73,36.7,1.28,53.41-7.59,4.09-2.17,7.51-5.13,10.14-8.66,7.9-3.99,12.07-12.5,9.92-21.51Zm-161.74-110.32c.03-.22,.05-.45,.08-.71,.06,.04,.01,.32-.08,.71Zm-116.35,174.2l-.05-.28c.14,.03,.27,.05,.41,.07-.12,.07-.24,.14-.36,.21Zm217.74-50.6c0,.43,0,.86,.03,1.28-.22,0-.44,.02-.66,.03,.21-.44,.42-.87,.63-1.31ZM313.52,25.5s-.03-.02,0,0h0ZM43.06,70.85c-.27,.26-.42,.24,0,0h0Zm160.22,227.41c-.17,.09-.71,.52-1.66,1.28,.47-.68,1.21-1.3,2.08-1.89-.13,.21-.27,.41-.42,.61Z'/%3e%3cpath%20class='f'%20d='M151.43,412.81c-21.81-28.05-42.03-56.46-67.07-81.79l.29-.41c22.02,15.35,39.34,36.47,53.86,58.84,4.84,7.49,9.37,15.17,13.38,23.14l-.45,.22h0Z'/%3e%3cpath%20class='f'%20d='M137.94,258.21c17.21,15.87,21.48,40.05,4.62,57.96-8.03,8.83-18.23,15.19-28.93,20.23-1.05,.49-2.13,.96-3.3,1.43-.68,.12-1.32,.3-1.87,.36-30.97,3.76-53.28-17.65-62.97-45.27l2.16,2.23c-.95-.43-1.69-.81-2.51-1.23-14.65-7.92-28.03-20.03-34-35.9-3.7-9.79-3.97-20.93-1.03-30.81l.49,.1c-1.11,5.8-1.49,11.76-.59,17.61,3.02,21.31,20.64,37.47,39.34,46.21l.16,.07,.06,.16c2.39,6.17,5.35,12.12,9.04,17.59,3.64,5.46,8.13,10.45,13.32,14.47,10.28,7.99,24.34,11.99,36.99,9.88,14.78-6.28,30.14-15.16,38.07-29.65,5.83-11.05,4.01-24.66-2.15-35.19-2.02-3.56-4.43-6.94-7.24-9.9l.35-.36h0Z'/%3e%3cpath%20class='f'%20d='M27.46,222.17c-8.91-6.16-15.79-14.98-20.61-24.63-15.83-30.94-2.67-67.45,23.43-88.04l.37,.33c-3.06,3.58-7.03,8.52-9.64,12.33-19.27,27.09-22.14,59.5-3.07,87.55,2.88,4.34,6.14,8.46,9.86,12.09l-.33,.37h0Z'/%3e%3cpath%20class='f'%20d='M22.29,119.02c-3.79-12.15-4.93-27.75,2.01-39.02,2.02-3.31,5.16-6.1,8.75-7.72,2.72-1.24,5.28-2.55,7.75-4.04,4.52-2.89,8.94-6.32,11.66-10.9,.44-1.01,1.09-1.78,1.7-2.61,7.74-9.88,20.64-13.83,30.48-4.47l-.27,.42c-7.43-4.82-16.18-4.26-22.64,1.9-2.02,1.85-3.81,4.01-5.19,6.35-.5,1.23-1.54,2.88-2.46,4.08-2.88,3.82-6.63,6.9-10.64,9.45-5.14,3.49-11.89,4.55-15.37,10.16-6.63,10.14-6.39,24.65-5.28,36.34l-.49,.07h0Z'/%3e%3cpath%20class='f'%20d='M101.06,97.94c-16.06-4.22-25.06-17.92-19.42-34.18,3.35-9.68,8.2-19.07,14.86-26.9,7.87-9.22,18.31-16.7,30.21-19.57,7.99-1.66,16.54-.12,23.9,2.21,5.9,1.98,11.57,4.42,16.77,7.71l-.21,.45c-5.53-2.37-11.31-4.21-17.17-5.54-5.85-1.35-11.9-2.06-17.86-1.54-19.17,2.75-34.69,19.81-42.92,36.44-1.4,2.91-3.37,7.3-4.37,10.37-2.09,6.36-1.5,13.63,2.44,19.16,3.38,4.92,8.47,8.6,13.93,10.92l-.17,.47h0Z'/%3e%3cpath%20class='f'%20d='M222.86,8.58c-20.62-.37-39.77,10.41-49.37,28.44-4.75,8.27-7.95,17.74-6.82,27.2,1.23,9.55,6.94,18.16,14.57,23.91,4.25,4.33,10.56,7.19,16.69,6.2,.72-.1,2.24-.35,2.97-.45,3.74,5.24,4.49,13.15-.44,17.83-.56,.59-1.23,1.06-1.82,1.58l-.34-.37c.51-.57,1.08-1.09,1.54-1.7,3.55-4.25,2.88-10.56-.25-14.86l.33,.11c-7.4,2.48-16.1-.49-21.36-5.5-13.67-9.24-20.29-25.92-15.53-41.88,4.54-15.12,14.77-28.97,29.08-36.04,9.5-4.65,20.36-6.44,30.84-4.94l-.09,.49h0Z'/%3e%3cpath%20class='f'%20d='M208.82,29.72c3.06-6.17,8.58-11.41,15.39-13.1,2.3-.67,4.72-.73,7.11-.68l-.77,.11c16.73-7,45.75-16.61,61.69-4.02,7.33,5.02,15.97,7.39,23.17,12.95,4.68,3.47,8.18,8.46,10.46,13.78,1.22,3.08,2.03,5.92,2.74,9.13,.71,3.17,1.3,7.92,1.74,11.16,.83,5.5,1.47,11.05,2.98,16.39,.04,.11,.06,.12,.08,.18l.03,.08v.04l.12,.23c.58,1.26,.96,2.72,1.27,3.99,1.87,8.86,3.6,21.66-2.41,29.43-1.54,1.93-4.03,3.42-6.55,3.93-.42,.12-.86,.19-1.3,.35-16.56,5.08-47.28,23.42-63.2,11.85-6.73-4.79-10.14-12.9-11.28-20.77-.78-6.24-.79-12.78,2.13-18.55l2.06,2.61c-2.85,.53-5.61,.37-8.39-.26-8.19-1.76-13.79-8.51-16.56-16.05l.46-.2c.8,1.65,1.73,3.49,2.78,5.01,3.07,4.79,7.98,8.53,13.64,9.53,2.69,.52,5.51,.46,8.14-.19-1.47,2.7-1.91,5.86-2.05,8.95-.25,8.56,1.87,17.79,7.81,24.18,3.98,4.42,9.75,6.23,15.6,5.58,11.62-1.15,22.5-6.08,33.19-10.54,5.41-2.24,10.71-4.85,16.43-6.3,1.33-.34,2.51-1.12,3.38-2.19,4.89-6.41,2.84-20.94,.33-28.21-2.14-5.93-2.56-12.25-3.53-18.42-.41-3.14-.94-7.72-1.61-10.81-1.55-7.71-4.88-15.51-11.3-20.37-4.54-3.65-10.02-5.9-15.15-8.62-3.91-1.96-7.52-4.61-11.12-7.04-11.31-6.02-26.41-3-38.37-.24-5.68,1.43-11.3,3.16-16.76,5.24-2.22-.14-4.47-.2-6.64,.34-6.51,1.35-11.99,6.1-15.28,11.76l-.44-.23h0Z'/%3e%3cpath%20class='f'%20d='M311.48,27.06c7.57-7.87,18.84-16.99,30.49-16.05,19.31,2.51,43.75,14.12,48.92,34.68,2.45,10.77,3.61,23.1-1.2,33.42l.56-2.4c.1,1.11,.37,2.25,.78,3.27,.7,1.67,1.64,2.83,3.15,3.59,2.07,.77,4.18,1.3,6.27,2.21,10.93,4.24,17.68,15.08,15.89,26.8-1.25,10.43-9.13,19.74-18.77,22.96l-.21-.45c2.92-1.43,5.63-3.28,7.95-5.55,9.36-8.81,11.67-25.51,1.81-34.8-2.35-2.21-5.2-3.83-8.23-4.98-3.02-1.32-6.58-1.49-9.14-3.79-2.58-2.27-3.91-5.6-4.27-8.97-.02-.13,0-.14,.06-.25,3.97-9.4,2.6-20.19,.56-29.93-3.84-15.21-18.86-24.21-32.65-29.45-4.77-1.63-9.71-3.37-14.79-3.43-5.09,.17-9.93,2.26-14.35,4.67-4.45,2.49-8.65,5.48-12.5,8.81l-.34-.37h0Z'/%3e%3cpath%20class='f'%20d='M359.05,101.57c13.08,1.53,24.07,11.47,26.11,24.71,.67,3.96,.78,8.16,1.35,12.13,1.07,7.82,2.37,15.62,4.23,23.29,1.25,6.09,3.42,11.85,4.34,17.9,2.43,14.92-1.95,31.82-15.54,40.1-1.26,.74-2.86,1.69-4.15,2.37-11.26,5.92-28.2,16.39-39.67,21.84-3.69,1.7-7.55,3.38-11.68,3.84l-.09-.49c3.87-.87,7.44-2.86,10.92-4.83,13.81-8.27,26.97-17.62,40.96-25.61,10.81-6.29,15.41-18.47,14.87-30.57-.02-8.12-3.05-15.71-4.56-23.57-2.06-9.87-3.46-19.9-3.93-29.97,.25-15.5-8.16-26.76-23.25-30.64l.09-.49h0Z'/%3e%3cpath%20class='f'%20d='M408.01,132.23c6.68-3.19,14.64-.21,18.26,6.23,1.17,1.85,2.09,4.26,2.89,6.27,1.48,3.8,2.98,8.11,4.41,11.95,2.12,6.22,4.76,13.86,6.71,20.1,1.85,5.6,3.4,11.49,3.76,17.45,.28,4.71,.02,10.32-2.47,14.72-2.31,3.88-4.61,7.65-7.83,11.03-8.16,9.08-21.38,12.19-33.04,10.72l-.02-.5c8.38-.47,16.91-2.31,23.87-7.15,6.1-4.2,10.11-10.66,13.43-17.15,2.27-6.27,1.15-13.21-.15-19.59-2.42-9.3-6.87-23.16-9.55-32.51-1.22-3.7-2.83-10.58-4.58-14.01-2.71-5.92-9.27-8.91-15.53-7.09l-.16-.47h0Z'/%3e%3cpath%20class='f'%20d='M221.65,273.51c2.26,9.89-2.86,20.36-10.84,26.3-8.02,5.94-18.74,7.75-28.08,4.56l-.02-.5c2.02-.15,4.73-.37,6.68-.71,13.4-1.78,25.65-10.16,30.09-23.24,.76-2.09,1.38-4.26,1.67-6.45l.5,.04h0Z'/%3e%3cpath%20class='f'%20d='M200.07,300.72c3.54,4.74,5.27,12.19,.36,16.88-1.33,1.29-2.95,2.41-4.44,3.5-8.96,6.27-19.78,11.25-31.01,10.18-8.27-.2-18.35-1.37-22.86-9.37-1.38-2.44-2.16-5.13-2.46-7.88l.47-.17c2.37,6.69,7.42,11.59,14.64,12.33,3.36,.49,6.8,.35,10.25,.37,3.47,.14,6.78-.08,10.12-.96,7.46-1.85,14.5-5.27,21.05-9.25,.7-.44,1.46-.88,2.1-1.42,4.09-3.36,2.96-9.61,1.32-14l.46-.2h0Z'/%3e%3cpath%20class='f'%20d='M176.12,326.86c24.94,11.54,50.15,41.47,49.33,70.03l-.49,.09c-4.51-21.44-17.93-39.76-32.96-55.19-5.11-5.13-10.46-10.07-16.17-14.53l.3-.4h0Z'/%3e%3cpath%20class='f'%20d='M137.61,234.31c-12.87-5.26-28.97-12.85-41.88-7.04-1.34,.62-3.31,1.96-4.59,2.75-11.69,7.35-22.74,15.2-34.81,22.2l-.34-.37c5.77-5.42,11.8-10.57,18.04-15.44,4.67-3.67,9.46-7.19,14.4-10.49,1.66-1.08,3.28-2.22,5.1-3.14,3.65-1.77,7.74-2.47,11.74-2.33,12.02,.6,23.14,6.48,32.65,13.46l-.31,.4h0Z'/%3e%3cpath%20class='f'%20d='M90.49,123.12c6.33,13.05,6.79,31.3-5.1,41.5-10.92,8.88-24.57,16.5-39.18,15.65-4.18-.4-8.44-1.75-11.45-4.52l.24-.44c6.92,3.68,15.23,2.4,22.36-.05,7.28-2.54,14.04-6.47,20.3-10.98,3.08-2.25,6.3-4.46,8.52-7.63,4.53-6.27,5.59-14.37,5.32-21.95-.14-3.85-.61-7.72-1.49-11.46l.48-.13h0Z'/%3e%3cpath%20class='f'%20d='M76.79,174.22c3.7,1.29,6.73,4.02,9.14,7.02,7.21,9.2,8.66,21.88,5.65,32.96l-.13-1.32c.12,.93,.23,1.85,.32,2.79,.25,2.86,.4,5.72,.17,8.61l-.48,.15c-1.04-3.12-2.49-7.38-3.46-10.47,1.28-13.81-1.06-29.39-11.54-39.35l.31-.39h0Z'/%3e%3cpath%20class='f'%20d='M161.1,151.64c18.17-8.77,42.86,4.98,40,26.29l-.49,.11c-1.08-4.19-2.72-8.24-5.15-11.81-6.15-9.08-17.16-13.47-27.83-14.07-2.16-.15-4.34-.19-6.48-.02l-.06-.5h0Z'/%3e%3cpath%20class='f'%20d='M195.26,197.53c9.79-9.84,24.22-14.13,37.94-13.48,1.11,.1,3.32,.32,4.42,.46,7.16,1.13,14.35,2.25,21.07,5.18,1.06,.51,2.08,1.12,2.81,2.1,1.44,1.78,1.05,4.71-.91,5.97l-4.67-6.12c4.01-2.82,8.54-4.73,13.23-6.02,4.5-1.22,9.21-1.75,13.86-1.45l.08,.49c-6.59,1.14-13.01,3.31-18.85,6.56-1.93,1.09-3.84,2.29-5.53,3.67l-.52-.68c-.19,.12-.03,.28-.13,.16-.82-.7-2-.99-3.03-1.34-3.93-1.17-8-1.9-12.05-2.61-5.43-.94-10.83-1.83-16.31-1.67-10.9,.26-21.85,3.41-31.11,9.19l-.29-.41h0Z'/%3e%3cpath%20class='f'%20d='M280.33,149.53c21.07,10.79,41.84,14.23,63.49,3.14,4.86-2.38,9.69-5.07,14.86-7l.29,.41-8.8,6.36c-8.7,6.56-19.03,11.36-30.03,11.98-14.62,.82-29.2-4.98-40.14-14.52l.34-.37h0Z'/%3e%3cpath%20class='f'%20d='M181.26,213.67c9.93,6.09,14.18,19.54,8.98,30.15-2.37,5.24-6.32,9.39-10.53,13.13-.7,.55-2.55,1.99-3.24,2.52-.76,.57-2.62,1.68-3.41,2.24-8.4,4.91-18.22,8-27.95,7.45l-.08-.49c7.4-1.54,14.6-4.36,21.17-8.09,2.82-1.6,5.82-3.63,8.32-5.7,6.91-5.72,13.87-13.25,13.91-22.75,.06-6.69-3.05-13.21-7.53-18.09l.35-.36h0Z'/%3e%3cpath%20class='f'%20d='M167.22,124.02c16.67-8.3,39.6-10.49,56.5-1.46,1.18,.63,2.62,1.58,3.71,2.33,6.81,5.05,13.4,10.22,19.4,16.43l-.27,.42-9.05-5.51c-3.22-1.95-10.39-6.51-13.52-8.33-1.47-.86-3.13-1.66-4.7-2.3-13.13-5.17-27.76-4.86-41.56-2.99-3.49,.48-6.97,1.08-10.39,1.89l-.13-.48h0Z'/%3e%3cpath%20class='g'%20d='M340.25,209.52c-25.34,51.85-74.22,96.17-129.16,52.06-5.91-4.68-11.34-9.88-16.4-15.37,16.15,14.34,36.02,27.42,58.32,26.95,29.45-1,49.96-26.56,62.8-50.65,3.26-6.21,6.29-12.71,8.64-19.29,1.48-4.46,6.3-6.88,10.76-5.4,4.81,1.56,7.2,7.13,5.03,11.69h0Z'/%3e%3cpath%20class='g'%20d='M450.9,222.82c-3.86,14.01-12.5,26.41-23.37,35.88-8.87,7.57-19.71,13.2-30.75,16.3-38.57,10.56-80.42-1.74-116.27-16.32,22.35,6.65,45.15,11.56,68.41,12.15,1.99,0,6.67-.07,8.57-.09,1.81-.07,6.59-.45,8.5-.58l5.59-.75c17.07-2.47,33.77-9.13,45.66-21.69,7.23-7.71,12.77-17.29,14.99-27.65,.57-5.45,5.76-9.39,11.19-8.31,5.12,.99,8.48,5.94,7.49,11.06h0Z'/%3e%3cg%3e%3cpath%20class='e'%20d='M328.57,220.35c-.65,0-1.3-.03-1.94-.08-16.21-1.28-28.15-18.25-26.61-37.84,1.47-18.67,14.76-33.29,30.26-33.29,.65,0,1.3,.03,1.94,.08,16.21,1.28,28.15,18.25,26.61,37.84-1.47,18.67-14.76,33.29-30.26,33.29Z'/%3e%3cpath%20class='h'%20d='M330.28,147.64v3h0c.6,0,1.22,.02,1.82,.07,15.39,1.21,26.71,17.46,25.23,36.23-1.41,17.89-14.04,31.91-28.76,31.91-.61,0-1.22-.02-1.83-.07-15.39-1.21-26.71-17.46-25.23-36.23,1.41-17.89,14.04-31.91,28.76-31.91v-3m0,0c-16.21,0-30.21,15.05-31.75,34.67-1.61,20.45,10.92,38.11,27.98,39.46,.69,.05,1.38,.08,2.06,.08,16.21,0,30.21-15.05,31.75-34.67,1.61-20.45-10.92-38.11-27.98-39.46-.69-.05-1.38-.08-2.06-.08h0Z'/%3e%3c/g%3e%3cellipse%20class='i'%20cx='334.82'%20cy='199.39'%20rx='13.2'%20ry='9.39'%20transform='translate(39%20453.06)%20rotate(-71.39)'/%3e%3cg%3e%3cpath%20class='e'%20d='M446.3,231.11c-1.21,0-2.43-.1-3.63-.29-15.09-2.39-25.01-19.17-22.12-37.41,2.62-16.55,15.08-29.03,28.97-29.03,1.21,0,2.43,.1,3.63,.29,15.09,2.39,25.01,19.17,22.12,37.41-2.62,16.55-15.08,29.03-28.97,29.03Z'/%3e%3cpath%20class='h'%20d='M449.52,165.88h0c1.13,0,2.27,.09,3.39,.27,14.27,2.26,23.63,18.27,20.87,35.7-2.51,15.83-14.33,27.77-27.49,27.77-1.13,0-2.27-.09-3.39-.27-14.27-2.26-23.63-18.27-20.87-35.7,2.51-15.83,14.33-27.76,27.49-27.77m0-3c-14.48,0-27.67,12.76-30.45,30.3-3.02,19.09,7.44,36.61,23.37,39.13,1.29,.2,2.58,.3,3.86,.3,14.48,0,27.67-12.76,30.45-30.3,3.02-19.09-7.44-36.61-23.37-39.13-1.29-.2-2.58-.3-3.86-.3h0Z'/%3e%3c/g%3e%3cellipse%20class='i'%20cx='446.51'%20cy='209.6'%20rx='12.44'%20ry='8.84'%20transform='translate(78.46%20537.99)%20rotate(-66.89)'/%3e%3c/g%3e%3cg%20id='c'%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='329.42%20118.98%20367.62%20124.71%20301.63%20213.52%20283.04%20209.6%20267.19%20191.08%20329.42%20118.98'/%3e%3c/g%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='265.79%20162.67%20265.79%20110.28%20280.5%20109.04%20306.96%20113.1%20265.79%20162.67'/%3e%3c/g%3e%3cg%20class='j'%3e%3cpolygon%20class='e'%20points='469.91%20148.92%20504.3%20154.03%20444.89%20233.05%20428.16%20229.56%20413.89%20213.08%20469.91%20148.92'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M510.06,159.47c-1.72-6.02-6.83-10.58-13.04-11.65l-69.11-14.88c-.07-.01-.14-.03-.21-.04-.22-.04-.87-.14-1.8-.2,.43-.03,.68-.02,.68-.02l-63.81-15.39s.09,.05,.14,.08c-.13-.02-.26-.06-.39-.08l-81.21-13.19c-.51-.08-3-.45-6.09-.21-.4-.09-.8-.14-1.22-.12-3.73,.15-92.16,3.94-158.51,31.15-1.6,.65-2.74,2.09-3.03,3.79-.17,.98-3.97,24.18,5.96,42.8,2.22,4.17,5,7.83,8.25,10.88,.7,.66,1.58,1.1,2.53,1.28,1.15,.21,2.92,.46,4.89,.46,3.22,0,6.94-.67,9.21-3.26,1.08-1.23,2.68-3.9,1.36-7.97-.85-2.63-3.66-4.03-6.29-3.18-1.97,.64-3.27,2.41-3.43,4.37-.72,.04-1.62,.02-2.51-.06-1.99-2.08-3.73-4.5-5.18-7.22-6.52-12.22-5.86-27.59-5.26-33.71,49.43-19.59,112.16-26.35,139.12-28.46-.19,.94-.32,1.95-.32,3.07v66.73c0,.12,0,.24,.01,.36,.06,.88,1.75,21.62,20.3,29.43,11.43,4.81,43.5,6.74,68.38,7.52,.28,0,.55,.01,.82,.01,11.7,0,21.98-7.74,25.19-19.07l.23-.84c3.05-11.22,3.54-40.64,3.62-51.05,1.2-3.01,3.1-4.63,5.93-6.52,7.68-5.14,18.12-2.75,22.92,5.14,.42,.69,.82,1.4,1.21,2.11v53.78c0,.1,0,.21,.01,.31,.06,.79,1.55,19.46,18.05,26.51,10.37,4.43,37.17,6.13,57.82,6.78,.25,0,.49,.01,.74,.01,10.42,0,19.58-6.98,22.43-17.2l.2-.74c3.21-11.98,3.23-47.01,3.23-49.25,.02-.85,.04-5.71-1.84-12.26Zm-140.69-12.46s0,.09,0,.13c.02,11.06-.54,41.98-3.28,52.06l-.21,.75c-2.03,7.17-8.61,12.03-16.08,11.78-33.48-1.04-57.11-3.49-64.81-6.74-12.31-5.19-14.03-19.14-14.19-20.79V117.69c0-1.77,.62-2.3,.88-2.52,1.65-1.41,5.77-1.54,8.03-1.19l81.22,13.19c3.23,.53,5.9,2.83,6.78,5.87,1.83,6.29,1.67,13.9,1.67,13.97Zm133.58,24.48c0,.06,0,.12,0,.19,.01,9.98-.49,37.88-2.93,46.98l-.18,.67c-1.8,6.47-7.66,10.83-14.26,10.63-27.7-.87-47.6-3.08-54.59-6.07-10.96-4.68-12.48-17.3-12.62-18.78v-59.99c0-1.64,.57-2.12,.81-2.33,1.44-1.23,4.99-1.36,6.97-1.06l69.08,14.87c.07,.02,.14,.03,.21,.04,2.86,.47,5.22,2.55,6.01,5.3,1.6,5.58,1.49,9.53,1.49,9.55Z'/%3e%3cpath%20d='M431.58,118.93c2.88-2.73,6.23-4.98,9.71-6.86,10.9-6.05,23.5-5.13,33.14,2.88,1.88,2.01,4.26,4.78,6,7.27,1.74,2.53,3.65,5.26,4.1,8.34,.03,.36,.57,.4,.66,.06,1.36-5.31-1.24-10.84-3.68-15.43-1-1.64-1.88-3.43-3.32-4.86-3.2-3.28-7.29-6.04-11.99-7.63-13.51-4.78-29.72,2.7-35.13,15.74l-.04,.11c-.15,.32,.31,.63,.55,.37Z'/%3e%3cpath%20d='M297.47,90.2c2.88-2.73,6.23-4.98,9.71-6.86,10.9-6.05,23.5-5.13,33.14,2.88,1.88,2.01,4.26,4.78,6,7.27,1.74,2.53,3.65,5.26,4.1,8.34,.03,.36,.57,.4,.66,.06,1.36-5.31-1.24-10.84-3.68-15.43-1-1.64-1.88-3.43-3.32-4.86-3.2-3.28-7.29-6.04-11.99-7.63-13.51-4.78-29.72,2.7-35.13,15.74l-.04,.11c-.15,.32,.31,.63,.55,.37Z'/%3e%3c/g%3e%3cpath%20class='d'%20d='M246.7,141.54s-45.89-33.79-87.25-15.71c-41.36,18.08-12.08,29.13-12.08,29.13l39-19.62,60.33,6.21Z'/%3e%3c/g%3e%3c/svg%3e\"","import { Button, Dialog, Typography } from \"@mui/material\"\nimport { type FC } from \"react\"\n\nimport BrainImage from \"../images/brain.svg\"\nimport { Image } from \"../components\"\n\nexport interface ScreenTimeDialogProps {\n open: boolean\n onClose: () => void\n}\n\nconst ScreenTimeDialog: FC<ScreenTimeDialogProps> = ({ open, onClose }) => {\n return (\n <Dialog open={open} onClose={onClose} maxWidth=\"sm\">\n <Image src={BrainImage} alt=\"brain\" maxWidth={100} marginY={3} />\n <Typography variant=\"h5\" textAlign=\"center\">\n Time for a break?\n </Typography>\n <Typography textAlign=\"center\">\n You have been using the Code for Life website for a while. Remember to\n take regular screen breaks to recharge those brain cells!\n </Typography>\n <Button onClick={onClose} autoFocus>\n Continue\n </Button>\n </Dialog>\n )\n}\n\nexport default ScreenTimeDialog\n"],"names":["InactiveDialog","open","onClose","jsxs","Dialog","jsx","Typography","Countdown","Button","BrainImage","ScreenTimeDialog","Image"],"mappings":";;;;;;;;;;;;;;;;;;;AAUA,MAAMA,IAA0C,CAAC,EAAE,MAAAC,GAAM,SAAAC,QAErD,gBAAAC,EAACC,GAAA,EAAO,MAAAH,GAAY,SAAAC,GAClB,UAAA;AAAA,EAAA,gBAAAG,EAACC,GAAA,EAAW,SAAQ,MAAK,WAAU,UAAS,UAAA,wBAE5C;AAAA,EACA,gBAAAD,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,2HAG/B;AAAA,EACA,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO,MAAM;AACX,QAAAL,EAAA,GACA,MAAM,4BAA4B;AAAA,MACpC;AAAA,IAAA;AAAA,EAAA;AAAA,EAEF,gBAAAG,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,sDAE/B;AAAA,oBACCE,GAAA,EAAO,SAASN,GAAS,WAAS,IAAC,UAAA,wBAAA,CAEpC;AAAA,GACF,GCnCJO,IAAe,i+gBCWTC,IAA8C,CAAC,EAAE,MAAAT,GAAM,SAAAC,QAEzD,gBAAAC,EAACC,GAAA,EAAO,MAAAH,GAAY,SAAAC,GAAkB,UAAS,MAC7C,UAAA;AAAA,EAAA,gBAAAG,EAACM,GAAA,EAAM,KAAKF,GAAY,KAAI,SAAQ,UAAU,KAAK,SAAS,EAAA,CAAG;AAAA,oBAC9DH,GAAA,EAAW,SAAQ,MAAK,WAAU,UAAS,UAAA,qBAE5C;AAAA,EACA,gBAAAD,EAACC,GAAA,EAAW,WAAU,UAAS,UAAA,oIAG/B;AAAA,oBACCE,GAAA,EAAO,SAASN,GAAS,WAAS,IAAC,UAAA,WAAA,CAEpC;AAAA,GACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../api-DIgp_6Vr.cjs"),e=require("../auth-C2OUeLmQ.cjs"),t=require("react"),u=require("../general-BPbbmkeX.cjs");function a(){return t.useRef(null)}exports.usePagination=s.usePagination;exports.useLocation=e.useLocation;exports.useNavigate=e.useNavigate;exports.useOAuth2=e.useOAuth2;exports.useOAuth2CodeChallenge=e.useOAuth2CodeChallenge;exports.useOAuth2State=e.useOAuth2State;exports.useParams=e.useParams;exports.useParamsRequired=e.useParamsRequired;exports.useSearchParams=e.useSearchParams;exports.useSession=e.useSession;exports.useSessionMetadata=e.useSessionMetadata;exports.useCountdown=u.useCountdown;exports.useEventListener=u.useEventListener;exports.useExternalScript=u.useExternalScript;exports.useInputRef=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../api-DIgp_6Vr.cjs"),e=require("../auth-uyv8Mv88.cjs"),t=require("react"),u=require("../general-BPbbmkeX.cjs");function a(){return t.useRef(null)}exports.usePagination=s.usePagination;exports.useLocation=e.useLocation;exports.useNavigate=e.useNavigate;exports.useOAuth2=e.useOAuth2;exports.useOAuth2CodeChallenge=e.useOAuth2CodeChallenge;exports.useOAuth2State=e.useOAuth2State;exports.useParams=e.useParams;exports.useParamsRequired=e.useParamsRequired;exports.useSearchParams=e.useSearchParams;exports.useSession=e.useSession;exports.useSessionMetadata=e.useSessionMetadata;exports.useCountdown=u.useCountdown;exports.useEventListener=u.useEventListener;exports.useExternalScript=u.useExternalScript;exports.useInputRef=a;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,5 +1,5 @@
1
1
  import { u as r } from "../api-Cs4Y-WeI.js";
2
- import { f as n, e as i, d as f, c as m, b as p, h, i as c, g as d, a as l, u as x } from "../auth-B6anBtxF.js";
2
+ import { f as n, e as i, d as f, c as m, b as p, h, i as c, g as d, a as l, u as x } from "../auth-D-8t6wfR.js";
3
3
  import { useRef as e } from "react";
4
4
  import { u as g, b as P, a as A } from "../general-D7Hqi3gj.js";
5
5
  function a() {
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),o=require("@mui/material"),_=require("./Image-B_6DmnVe.cjs"),p=require("react"),j=require("react-router"),h=require("@mui/icons-material"),d=require("./palette-BnIdHKDE.cjs"),k=require("./auth-uyv8Mv88.cjs"),S=require("./LinkButton-BbGJHgCY.cjs"),T=require("yup"),L=require("./utils/schema.cjs.js"),u=({boxProps:c,...t})=>e.jsx(o.Box,{...c,children:e.jsx(o.Container,{...t})}),v=({open:c=!0,error:t=!1,onClose:x,children:s,bgcolor:r="secondary"})=>{const[l,a]=p.useState(c);if(p.useEffect(()=>{a(c)},[c]),!l)return e.jsx(e.Fragment,{});const i=d.palette[r].contrastText;return e.jsx(u,{boxProps:{bgcolor:{secondary:"#ffd23b",tertiary:"#08bafc"}[r]},sx:{paddingY:"5px"},children:e.jsxs(o.Stack,{direction:"row",alignItems:"center",gap:2,children:[t?e.jsx(h.ErrorOutline,{htmlColor:i}):e.jsx(h.InfoOutlined,{htmlColor:i}),e.jsx(o.Typography,{variant:"body2",color:i,mb:0,children:s}),e.jsx(o.IconButton,{style:{marginLeft:"auto"},onClick:()=>{a(!1),x!==void 0&&x()},children:e.jsx(h.CloseOutlined,{htmlColor:i})})]})})},q=({selectIsLoggedIn:c,children:t,session:x})=>{const{state:s}=j.useLocation();let{scroll:r,notifications:l}=s||{};return r=r||{x:0,y:0},l=l||[],p.useEffect(()=>{window.scroll(r.x,r.y)},[r.x,r.y]),e.jsx(e.Fragment,{children:k.useSession(c,a=>{if(typeof t=="function"&&(t=t(a)),l.length){const i=p.Children.toArray(t);return l.forEach((g,m)=>{i.splice(g.index??m,0,e.jsx(v,{...g.props}))}),i}return t},x)})},B=({header:c,subheader:t,textAlign:x="start",imageProps:s,button1Props:r,button2Props:l,bgcolor:a="primary"})=>{const i=d.palette[a].contrastText;return e.jsx(u,{boxProps:{bgcolor:{primary:d.primary[500],secondary:d.secondary[500],tertiary:d.tertiary[500]}[a]},sx:{paddingY:0},children:e.jsxs(o.Stack,{direction:"row",alignItems:"center",justifyContent:x,gap:2,children:[e.jsxs(o.Stack,{py:{xs:"80px",md:s!==void 0?0:"100px"},textAlign:x,children:[e.jsx(o.Typography,{variant:"h2",color:i,mb:t!==void 0?void 0:0,children:c}),t!==void 0&&e.jsx(o.Typography,{color:i,variant:"h4",mb:r!==void 0?void 0:0,children:t}),e.jsxs(o.Stack,{direction:"row",gap:2,children:[r!==void 0&&e.jsx(S.LinkButton,{...r}),l!==void 0&&e.jsx(S.LinkButton,{...l})]})]}),s!==void 0&&e.jsx(_.Image,{...s,display:{xs:"none",md:"block"},maxWidth:"320px",marginLeft:"auto"})]})})},C=({header:c,tabs:t,originalPath:x,value:s=0})=>{const r=j.useParams(),l=j.useNavigate(),[a,i]=p.useState(s<0?0:s>=t.length?t.length-1:s),g=t.map(n=>n.label),m=t.map(n=>n.children),f=t.map(n=>n.path);return p.useEffect(()=>{i(s)},[s]),p.useEffect(()=>{const n=L.tryValidateSync(r,T.object({tab:T.string().oneOf(f).required()}))?.tab;n!==void 0&&i(f.indexOf(n))},[r,f]),e.jsxs(e.Fragment,{children:[e.jsx(u,{boxProps:{bgcolor:d.primary[500]},sx:{paddingY:"100px"},className:"flex-center",children:e.jsx(o.Typography,{textAlign:"center",variant:"h2",style:{color:"white"},mb:0,children:c})}),e.jsx(u,{boxProps:{bgcolor:d.primary[300]},sx:{paddingY:"6px"},className:"flex-center",children:e.jsx(o.Tabs,{value:a,onChange:(n,y)=>{l(j.generatePath(x,{tab:f[y]}))},ScrollButtonComponent:({disabled:n,onClick:y,direction:b})=>e.jsx(e.Fragment,{children:n===!1&&e.jsx(o.IconButton,{onClick:y,style:{padding:0,[b==="left"?"marginRight":"marginLeft"]:"15px",color:"white"},children:b==="left"?e.jsx(e.Fragment,{children:e.jsx(h.ChevronLeft,{})}):e.jsx(e.Fragment,{children:e.jsx(h.ChevronRight,{})})})}),children:g.map(n=>e.jsx(o.Tab,{disableRipple:!0,label:n},n))})}),m[a]]})},O=Object.freeze(Object.defineProperty({__proto__:null,Banner:B,Notification:v,Page:q,Section:u,TabBar:C},Symbol.toStringTag,{value:"Module"}));exports.Banner=B;exports.Notification=v;exports.Page=q;exports.Section=u;exports.TabBar=C;exports.index=O;
2
+ //# sourceMappingURL=index-C8T09ieQ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-C8T09ieQ.cjs","sources":["../src/components/page/Section.tsx","../src/components/page/Notification.tsx","../src/components/page/Page.tsx","../src/components/page/Banner.tsx","../src/components/page/TabBar.tsx"],"sourcesContent":["import {\n Box,\n type BoxProps,\n Container,\n type ContainerProps,\n} from \"@mui/material\"\nimport type { FC } from \"react\"\n\nexport interface SectionProps extends ContainerProps {\n boxProps?: Omit<BoxProps, \"children\">\n}\n\nconst Section: FC<SectionProps> = ({ boxProps, ...containerProps }) => {\n return (\n <Box {...boxProps}>\n <Container {...containerProps} />\n </Box>\n )\n}\n\nexport default Section\n","import {\n CloseOutlined as CloseOutlinedIcon,\n ErrorOutline as ErrorOutlineIcon,\n InfoOutlined as InfoOutlinedIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport { IconButton, Stack, Typography } from \"@mui/material\"\n\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface NotificationProps {\n open?: boolean\n error?: boolean\n onClose?: () => void\n children: ReactNode\n bgcolor?: \"secondary\" | \"tertiary\"\n}\n\nconst Notification: FC<NotificationProps> = ({\n open = true,\n error = false,\n onClose,\n children,\n bgcolor = \"secondary\",\n}) => {\n const [_open, _setOpen] = useState(open)\n\n useEffect(() => {\n _setOpen(open)\n }, [open])\n\n if (!_open) return <></>\n\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n secondary: \"#ffd23b\",\n tertiary: \"#08bafc\",\n }[bgcolor],\n }}\n sx={{ paddingY: \"5px\" }}\n >\n <Stack direction=\"row\" alignItems=\"center\" gap={2}>\n {error ? (\n <ErrorOutlineIcon htmlColor={contrastText} />\n ) : (\n <InfoOutlinedIcon htmlColor={contrastText} />\n )}\n <Typography variant=\"body2\" color={contrastText} mb={0}>\n {children}\n </Typography>\n <IconButton\n style={{ marginLeft: \"auto\" }}\n onClick={() => {\n _setOpen(false)\n if (onClose !== undefined) onClose()\n }}\n >\n <CloseOutlinedIcon htmlColor={contrastText} />\n </IconButton>\n </Stack>\n </Section>\n )\n}\n\nexport default Notification\n","import { Children, type JSX, useEffect } from \"react\"\nimport { type Location, useLocation } from \"react-router\"\n\nimport Notification, { type NotificationProps } from \"./Notification\"\nimport {\n type SelectIsLoggedIn,\n type SessionMetadata,\n type UseSessionChildren,\n type UseSessionChildrenFunction,\n type UseSessionOptions,\n useSession,\n} from \"../../hooks/auth\"\n\nexport type PageState = {\n notifications: Array<{\n index?: number\n props: NotificationProps\n }>\n scroll: { x: number; y: number }\n}\n\nexport interface PageProps<\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined,\n> {\n selectIsLoggedIn: SelectIsLoggedIn\n children: UseSessionChildren<SessionUserType>\n session?: UseSessionOptions<SessionUserType>\n}\n\nconst Page = <\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined = undefined,\n>({\n selectIsLoggedIn,\n children,\n session,\n}: PageProps<SessionUserType>): JSX.Element => {\n const { state } = useLocation() as Location<null | Partial<PageState>>\n\n let { scroll, notifications } = state || {}\n scroll = scroll || { x: 0, y: 0 }\n notifications = notifications || []\n\n useEffect(() => {\n window.scroll(scroll.x, scroll.y)\n }, [scroll.x, scroll.y])\n\n return (\n <>\n {useSession(\n selectIsLoggedIn,\n (metadata?: SessionMetadata) => {\n if (typeof children === \"function\") {\n children = metadata\n ? (children as UseSessionChildrenFunction<true>)(metadata)\n : (children as UseSessionChildrenFunction<false>)(metadata)\n }\n\n if (notifications.length) {\n const childrenArray = Children.toArray(children)\n\n notifications.forEach((notification, index) => {\n void childrenArray.splice(\n notification.index ?? index,\n 0,\n <Notification {...notification.props} />,\n )\n })\n\n return childrenArray\n }\n\n return children\n },\n session,\n )}\n </>\n )\n}\n\nexport default Page\n","import { Stack, Typography } from \"@mui/material\"\n\nimport Image, { type ImageProps } from \"../Image\"\nimport { LinkButton, type LinkButtonProps } from \"../router\"\nimport { primary, secondary, tertiary } from \"../../theme/colors\"\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface BannerProps<\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n> {\n header: string\n subheader?: string\n textAlign?: \"start\" | \"center\"\n imageProps?: ImageProps\n button1Props?: LinkButtonProps<\"to\", Button1State>\n button2Props?: LinkButtonProps<\"to\", Button2State>\n bgcolor?: \"primary\" | \"secondary\" | \"tertiary\"\n}\n\nconst Banner = <\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n>({\n header,\n subheader,\n textAlign = \"start\",\n imageProps,\n button1Props,\n button2Props,\n bgcolor = \"primary\",\n}: BannerProps<Button1State, Button2State>) => {\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n primary: primary[500],\n secondary: secondary[500],\n tertiary: tertiary[500],\n }[bgcolor],\n }}\n sx={{ paddingY: 0 }}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={textAlign}\n gap={2}\n >\n <Stack\n py={{\n xs: \"80px\",\n md: imageProps !== undefined ? 0 : \"100px\",\n }}\n textAlign={textAlign}\n >\n <Typography\n variant=\"h2\"\n color={contrastText}\n mb={subheader !== undefined ? undefined : 0}\n >\n {header}\n </Typography>\n {subheader !== undefined && (\n <Typography\n color={contrastText}\n variant=\"h4\"\n mb={button1Props !== undefined ? undefined : 0}\n >\n {subheader}\n </Typography>\n )}\n <Stack direction=\"row\" gap={2}>\n {button1Props !== undefined && <LinkButton {...button1Props} />}\n {button2Props !== undefined && <LinkButton {...button2Props} />}\n </Stack>\n </Stack>\n {imageProps !== undefined && (\n <Image\n {...imageProps}\n display={{ xs: \"none\", md: \"block\" }}\n maxWidth=\"320px\"\n marginLeft=\"auto\"\n />\n )}\n </Stack>\n </Section>\n )\n}\n\nexport default Banner\n","import {\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport {\n IconButton,\n Tab,\n type TabScrollButtonProps,\n Tabs,\n Typography,\n} from \"@mui/material\"\nimport { object as YupObject, string as YupString } from \"yup\"\nimport { generatePath, useNavigate, useParams } from \"react-router\"\n\nimport Section from \"./Section\"\nimport { primary } from \"../../theme/colors\"\nimport { tryValidateSync } from \"../../utils/schema\"\n\nexport interface TabBarProps {\n header: string\n tabs: Array<{\n label: string\n children: ReactNode\n path: string\n }>\n originalPath: string\n value?: number\n}\n\nconst TabBar: FC<TabBarProps> = ({ header, tabs, originalPath, value = 0 }) => {\n const params = useParams()\n const navigate = useNavigate()\n const [_value, _setValue] = useState(\n value < 0 ? 0 : value >= tabs.length ? tabs.length - 1 : value,\n )\n\n const labels = tabs.map(tab => tab.label)\n const children = tabs.map(tab => tab.children)\n const paths = tabs.map(tab => tab.path)\n\n useEffect(() => {\n _setValue(value)\n }, [value])\n\n useEffect(() => {\n const tab = tryValidateSync(\n params,\n YupObject({\n tab: YupString().oneOf(paths).required(),\n }),\n )?.tab\n\n if (tab !== undefined) {\n _setValue(paths.indexOf(tab))\n }\n }, [params, paths])\n\n return (\n <>\n <Section\n boxProps={{ bgcolor: primary[500] }}\n sx={{ paddingY: \"100px\" }}\n className=\"flex-center\"\n >\n <Typography\n textAlign=\"center\"\n variant=\"h2\"\n style={{ color: \"white\" }}\n mb={0}\n >\n {header}\n </Typography>\n </Section>\n <Section\n boxProps={{ bgcolor: primary[300] }}\n sx={{ paddingY: \"6px\" }}\n className=\"flex-center\"\n >\n <Tabs\n value={_value}\n onChange={(_, value: number) => {\n void navigate(\n generatePath(originalPath, {\n tab: paths[value],\n }),\n )\n }}\n ScrollButtonComponent={({\n disabled,\n onClick,\n direction,\n }: TabScrollButtonProps) => {\n return (\n <>\n {disabled === false && (\n <IconButton\n onClick={onClick}\n style={{\n padding: 0,\n [direction === \"left\" ? \"marginRight\" : \"marginLeft\"]:\n \"15px\",\n color: \"white\",\n }}\n >\n {direction === \"left\" ? (\n <>\n <ChevronLeftIcon />\n </>\n ) : (\n <>\n <ChevronRightIcon />\n </>\n )}\n </IconButton>\n )}\n </>\n )\n }}\n >\n {labels.map(label => (\n <Tab disableRipple key={label} label={label} />\n ))}\n </Tabs>\n </Section>\n {children[_value]}\n </>\n )\n}\n\nexport default TabBar\n"],"names":["Section","boxProps","containerProps","jsx","Box","Container","Notification","open","error","onClose","children","bgcolor","_open","_setOpen","useState","useEffect","Fragment","contrastText","palette","Stack","ErrorOutlineIcon","InfoOutlinedIcon","Typography","IconButton","CloseOutlinedIcon","Page","selectIsLoggedIn","session","state","useLocation","scroll","notifications","useSession","metadata","childrenArray","Children","notification","index","Banner","header","subheader","textAlign","imageProps","button1Props","button2Props","primary","secondary","tertiary","jsxs","LinkButton","Image","TabBar","tabs","originalPath","value","params","useParams","navigate","useNavigate","_value","_setValue","labels","tab","paths","tryValidateSync","YupObject","YupString","Tabs","_","generatePath","disabled","onClick","direction","ChevronLeftIcon","ChevronRightIcon","label","Tab"],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ import { jsx as r, Fragment as d, jsxs as p } from "react/jsx-runtime";
2
+ import { Box as B, Container as L, Stack as x, Typography as g, IconButton as S, Tabs as j, Tab as I } from "@mui/material";
3
+ import { I as N } from "./Image-mkNhOo5p.js";
4
+ import { useState as _, useEffect as y, Children as k } from "react";
5
+ import { useLocation as P, useParams as Y, useNavigate as E, generatePath as R } from "react-router";
6
+ import { ErrorOutline as A, InfoOutlined as V, CloseOutlined as q, ChevronLeft as z, ChevronRight as F } from "@mui/icons-material";
7
+ import { p as O, t as M, s as W, a as b } from "./palette-CYwuLBW7.js";
8
+ import { a as D } from "./auth-D-8t6wfR.js";
9
+ import { L as T } from "./LinkButton-BVU_MF2a.js";
10
+ import { object as G, string as H } from "yup";
11
+ import { tryValidateSync as J } from "./utils/schema.es.js";
12
+ const m = ({ boxProps: s, ...t }) => /* @__PURE__ */ r(B, { ...s, children: /* @__PURE__ */ r(L, { ...t }) }), w = ({
13
+ open: s = !0,
14
+ error: t = !1,
15
+ onClose: l,
16
+ children: n,
17
+ bgcolor: o = "secondary"
18
+ }) => {
19
+ const [c, a] = _(s);
20
+ if (y(() => {
21
+ a(s);
22
+ }, [s]), !c) return /* @__PURE__ */ r(d, {});
23
+ const i = O[o].contrastText;
24
+ return /* @__PURE__ */ r(
25
+ m,
26
+ {
27
+ boxProps: {
28
+ bgcolor: {
29
+ secondary: "#ffd23b",
30
+ tertiary: "#08bafc"
31
+ }[o]
32
+ },
33
+ sx: { paddingY: "5px" },
34
+ children: /* @__PURE__ */ p(x, { direction: "row", alignItems: "center", gap: 2, children: [
35
+ t ? /* @__PURE__ */ r(A, { htmlColor: i }) : /* @__PURE__ */ r(V, { htmlColor: i }),
36
+ /* @__PURE__ */ r(g, { variant: "body2", color: i, mb: 0, children: n }),
37
+ /* @__PURE__ */ r(
38
+ S,
39
+ {
40
+ style: { marginLeft: "auto" },
41
+ onClick: () => {
42
+ a(!1), l !== void 0 && l();
43
+ },
44
+ children: /* @__PURE__ */ r(q, { htmlColor: i })
45
+ }
46
+ )
47
+ ] })
48
+ }
49
+ );
50
+ }, K = ({
51
+ selectIsLoggedIn: s,
52
+ children: t,
53
+ session: l
54
+ }) => {
55
+ const { state: n } = P();
56
+ let { scroll: o, notifications: c } = n || {};
57
+ return o = o || { x: 0, y: 0 }, c = c || [], y(() => {
58
+ window.scroll(o.x, o.y);
59
+ }, [o.x, o.y]), /* @__PURE__ */ r(d, { children: D(
60
+ s,
61
+ (a) => {
62
+ if (typeof t == "function" && (t = t(a)), c.length) {
63
+ const i = k.toArray(t);
64
+ return c.forEach((f, u) => {
65
+ i.splice(
66
+ f.index ?? u,
67
+ 0,
68
+ /* @__PURE__ */ r(w, { ...f.props })
69
+ );
70
+ }), i;
71
+ }
72
+ return t;
73
+ },
74
+ l
75
+ ) });
76
+ }, Q = ({
77
+ header: s,
78
+ subheader: t,
79
+ textAlign: l = "start",
80
+ imageProps: n,
81
+ button1Props: o,
82
+ button2Props: c,
83
+ bgcolor: a = "primary"
84
+ }) => {
85
+ const i = O[a].contrastText;
86
+ return /* @__PURE__ */ r(
87
+ m,
88
+ {
89
+ boxProps: {
90
+ bgcolor: {
91
+ primary: b[500],
92
+ secondary: W[500],
93
+ tertiary: M[500]
94
+ }[a]
95
+ },
96
+ sx: { paddingY: 0 },
97
+ children: /* @__PURE__ */ p(
98
+ x,
99
+ {
100
+ direction: "row",
101
+ alignItems: "center",
102
+ justifyContent: l,
103
+ gap: 2,
104
+ children: [
105
+ /* @__PURE__ */ p(
106
+ x,
107
+ {
108
+ py: {
109
+ xs: "80px",
110
+ md: n !== void 0 ? 0 : "100px"
111
+ },
112
+ textAlign: l,
113
+ children: [
114
+ /* @__PURE__ */ r(
115
+ g,
116
+ {
117
+ variant: "h2",
118
+ color: i,
119
+ mb: t !== void 0 ? void 0 : 0,
120
+ children: s
121
+ }
122
+ ),
123
+ t !== void 0 && /* @__PURE__ */ r(
124
+ g,
125
+ {
126
+ color: i,
127
+ variant: "h4",
128
+ mb: o !== void 0 ? void 0 : 0,
129
+ children: t
130
+ }
131
+ ),
132
+ /* @__PURE__ */ p(x, { direction: "row", gap: 2, children: [
133
+ o !== void 0 && /* @__PURE__ */ r(T, { ...o }),
134
+ c !== void 0 && /* @__PURE__ */ r(T, { ...c })
135
+ ] })
136
+ ]
137
+ }
138
+ ),
139
+ n !== void 0 && /* @__PURE__ */ r(
140
+ N,
141
+ {
142
+ ...n,
143
+ display: { xs: "none", md: "block" },
144
+ maxWidth: "320px",
145
+ marginLeft: "auto"
146
+ }
147
+ )
148
+ ]
149
+ }
150
+ )
151
+ }
152
+ );
153
+ }, U = ({ header: s, tabs: t, originalPath: l, value: n = 0 }) => {
154
+ const o = Y(), c = E(), [a, i] = _(
155
+ n < 0 ? 0 : n >= t.length ? t.length - 1 : n
156
+ ), f = t.map((e) => e.label), u = t.map((e) => e.children), h = t.map((e) => e.path);
157
+ return y(() => {
158
+ i(n);
159
+ }, [n]), y(() => {
160
+ const e = J(
161
+ o,
162
+ G({
163
+ tab: H().oneOf(h).required()
164
+ })
165
+ )?.tab;
166
+ e !== void 0 && i(h.indexOf(e));
167
+ }, [o, h]), /* @__PURE__ */ p(d, { children: [
168
+ /* @__PURE__ */ r(
169
+ m,
170
+ {
171
+ boxProps: { bgcolor: b[500] },
172
+ sx: { paddingY: "100px" },
173
+ className: "flex-center",
174
+ children: /* @__PURE__ */ r(
175
+ g,
176
+ {
177
+ textAlign: "center",
178
+ variant: "h2",
179
+ style: { color: "white" },
180
+ mb: 0,
181
+ children: s
182
+ }
183
+ )
184
+ }
185
+ ),
186
+ /* @__PURE__ */ r(
187
+ m,
188
+ {
189
+ boxProps: { bgcolor: b[300] },
190
+ sx: { paddingY: "6px" },
191
+ className: "flex-center",
192
+ children: /* @__PURE__ */ r(
193
+ j,
194
+ {
195
+ value: a,
196
+ onChange: (e, v) => {
197
+ c(
198
+ R(l, {
199
+ tab: h[v]
200
+ })
201
+ );
202
+ },
203
+ ScrollButtonComponent: ({
204
+ disabled: e,
205
+ onClick: v,
206
+ direction: C
207
+ }) => /* @__PURE__ */ r(d, { children: e === !1 && /* @__PURE__ */ r(
208
+ S,
209
+ {
210
+ onClick: v,
211
+ style: {
212
+ padding: 0,
213
+ [C === "left" ? "marginRight" : "marginLeft"]: "15px",
214
+ color: "white"
215
+ },
216
+ children: C === "left" ? /* @__PURE__ */ r(d, { children: /* @__PURE__ */ r(z, {}) }) : /* @__PURE__ */ r(d, { children: /* @__PURE__ */ r(F, {}) })
217
+ }
218
+ ) }),
219
+ children: f.map((e) => /* @__PURE__ */ r(I, { disableRipple: !0, label: e }, e))
220
+ }
221
+ )
222
+ }
223
+ ),
224
+ u[a]
225
+ ] });
226
+ }, cr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
227
+ __proto__: null,
228
+ Banner: Q,
229
+ Notification: w,
230
+ Page: K,
231
+ Section: m,
232
+ TabBar: U
233
+ }, Symbol.toStringTag, { value: "Module" }));
234
+ export {
235
+ Q as B,
236
+ w as N,
237
+ K as P,
238
+ m as S,
239
+ U as T,
240
+ cr as i
241
+ };
242
+ //# sourceMappingURL=index-Cxq_P-ni.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Cxq_P-ni.js","sources":["../src/components/page/Section.tsx","../src/components/page/Notification.tsx","../src/components/page/Page.tsx","../src/components/page/Banner.tsx","../src/components/page/TabBar.tsx"],"sourcesContent":["import {\n Box,\n type BoxProps,\n Container,\n type ContainerProps,\n} from \"@mui/material\"\nimport type { FC } from \"react\"\n\nexport interface SectionProps extends ContainerProps {\n boxProps?: Omit<BoxProps, \"children\">\n}\n\nconst Section: FC<SectionProps> = ({ boxProps, ...containerProps }) => {\n return (\n <Box {...boxProps}>\n <Container {...containerProps} />\n </Box>\n )\n}\n\nexport default Section\n","import {\n CloseOutlined as CloseOutlinedIcon,\n ErrorOutline as ErrorOutlineIcon,\n InfoOutlined as InfoOutlinedIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport { IconButton, Stack, Typography } from \"@mui/material\"\n\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface NotificationProps {\n open?: boolean\n error?: boolean\n onClose?: () => void\n children: ReactNode\n bgcolor?: \"secondary\" | \"tertiary\"\n}\n\nconst Notification: FC<NotificationProps> = ({\n open = true,\n error = false,\n onClose,\n children,\n bgcolor = \"secondary\",\n}) => {\n const [_open, _setOpen] = useState(open)\n\n useEffect(() => {\n _setOpen(open)\n }, [open])\n\n if (!_open) return <></>\n\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n secondary: \"#ffd23b\",\n tertiary: \"#08bafc\",\n }[bgcolor],\n }}\n sx={{ paddingY: \"5px\" }}\n >\n <Stack direction=\"row\" alignItems=\"center\" gap={2}>\n {error ? (\n <ErrorOutlineIcon htmlColor={contrastText} />\n ) : (\n <InfoOutlinedIcon htmlColor={contrastText} />\n )}\n <Typography variant=\"body2\" color={contrastText} mb={0}>\n {children}\n </Typography>\n <IconButton\n style={{ marginLeft: \"auto\" }}\n onClick={() => {\n _setOpen(false)\n if (onClose !== undefined) onClose()\n }}\n >\n <CloseOutlinedIcon htmlColor={contrastText} />\n </IconButton>\n </Stack>\n </Section>\n )\n}\n\nexport default Notification\n","import { Children, type JSX, useEffect } from \"react\"\nimport { type Location, useLocation } from \"react-router\"\n\nimport Notification, { type NotificationProps } from \"./Notification\"\nimport {\n type SelectIsLoggedIn,\n type SessionMetadata,\n type UseSessionChildren,\n type UseSessionChildrenFunction,\n type UseSessionOptions,\n useSession,\n} from \"../../hooks/auth\"\n\nexport type PageState = {\n notifications: Array<{\n index?: number\n props: NotificationProps\n }>\n scroll: { x: number; y: number }\n}\n\nexport interface PageProps<\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined,\n> {\n selectIsLoggedIn: SelectIsLoggedIn\n children: UseSessionChildren<SessionUserType>\n session?: UseSessionOptions<SessionUserType>\n}\n\nconst Page = <\n SessionUserType extends SessionMetadata[\"user_type\"] | undefined = undefined,\n>({\n selectIsLoggedIn,\n children,\n session,\n}: PageProps<SessionUserType>): JSX.Element => {\n const { state } = useLocation() as Location<null | Partial<PageState>>\n\n let { scroll, notifications } = state || {}\n scroll = scroll || { x: 0, y: 0 }\n notifications = notifications || []\n\n useEffect(() => {\n window.scroll(scroll.x, scroll.y)\n }, [scroll.x, scroll.y])\n\n return (\n <>\n {useSession(\n selectIsLoggedIn,\n (metadata?: SessionMetadata) => {\n if (typeof children === \"function\") {\n children = metadata\n ? (children as UseSessionChildrenFunction<true>)(metadata)\n : (children as UseSessionChildrenFunction<false>)(metadata)\n }\n\n if (notifications.length) {\n const childrenArray = Children.toArray(children)\n\n notifications.forEach((notification, index) => {\n void childrenArray.splice(\n notification.index ?? index,\n 0,\n <Notification {...notification.props} />,\n )\n })\n\n return childrenArray\n }\n\n return children\n },\n session,\n )}\n </>\n )\n}\n\nexport default Page\n","import { Stack, Typography } from \"@mui/material\"\n\nimport Image, { type ImageProps } from \"../Image\"\nimport { LinkButton, type LinkButtonProps } from \"../router\"\nimport { primary, secondary, tertiary } from \"../../theme/colors\"\nimport Section from \"./Section\"\nimport palette from \"../../theme/palette\"\n\nexport interface BannerProps<\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n> {\n header: string\n subheader?: string\n textAlign?: \"start\" | \"center\"\n imageProps?: ImageProps\n button1Props?: LinkButtonProps<\"to\", Button1State>\n button2Props?: LinkButtonProps<\"to\", Button2State>\n bgcolor?: \"primary\" | \"secondary\" | \"tertiary\"\n}\n\nconst Banner = <\n Button1State extends Record<string, any> = Record<string, any>,\n Button2State extends Record<string, any> = Record<string, any>,\n>({\n header,\n subheader,\n textAlign = \"start\",\n imageProps,\n button1Props,\n button2Props,\n bgcolor = \"primary\",\n}: BannerProps<Button1State, Button2State>) => {\n // @ts-expect-error guaranteed to be in palette\n const contrastText = palette[bgcolor].contrastText as string\n\n return (\n <Section\n boxProps={{\n bgcolor: {\n primary: primary[500],\n secondary: secondary[500],\n tertiary: tertiary[500],\n }[bgcolor],\n }}\n sx={{ paddingY: 0 }}\n >\n <Stack\n direction=\"row\"\n alignItems=\"center\"\n justifyContent={textAlign}\n gap={2}\n >\n <Stack\n py={{\n xs: \"80px\",\n md: imageProps !== undefined ? 0 : \"100px\",\n }}\n textAlign={textAlign}\n >\n <Typography\n variant=\"h2\"\n color={contrastText}\n mb={subheader !== undefined ? undefined : 0}\n >\n {header}\n </Typography>\n {subheader !== undefined && (\n <Typography\n color={contrastText}\n variant=\"h4\"\n mb={button1Props !== undefined ? undefined : 0}\n >\n {subheader}\n </Typography>\n )}\n <Stack direction=\"row\" gap={2}>\n {button1Props !== undefined && <LinkButton {...button1Props} />}\n {button2Props !== undefined && <LinkButton {...button2Props} />}\n </Stack>\n </Stack>\n {imageProps !== undefined && (\n <Image\n {...imageProps}\n display={{ xs: \"none\", md: \"block\" }}\n maxWidth=\"320px\"\n marginLeft=\"auto\"\n />\n )}\n </Stack>\n </Section>\n )\n}\n\nexport default Banner\n","import {\n ChevronLeft as ChevronLeftIcon,\n ChevronRight as ChevronRightIcon,\n} from \"@mui/icons-material\"\nimport { type FC, type ReactNode, useEffect, useState } from \"react\"\nimport {\n IconButton,\n Tab,\n type TabScrollButtonProps,\n Tabs,\n Typography,\n} from \"@mui/material\"\nimport { object as YupObject, string as YupString } from \"yup\"\nimport { generatePath, useNavigate, useParams } from \"react-router\"\n\nimport Section from \"./Section\"\nimport { primary } from \"../../theme/colors\"\nimport { tryValidateSync } from \"../../utils/schema\"\n\nexport interface TabBarProps {\n header: string\n tabs: Array<{\n label: string\n children: ReactNode\n path: string\n }>\n originalPath: string\n value?: number\n}\n\nconst TabBar: FC<TabBarProps> = ({ header, tabs, originalPath, value = 0 }) => {\n const params = useParams()\n const navigate = useNavigate()\n const [_value, _setValue] = useState(\n value < 0 ? 0 : value >= tabs.length ? tabs.length - 1 : value,\n )\n\n const labels = tabs.map(tab => tab.label)\n const children = tabs.map(tab => tab.children)\n const paths = tabs.map(tab => tab.path)\n\n useEffect(() => {\n _setValue(value)\n }, [value])\n\n useEffect(() => {\n const tab = tryValidateSync(\n params,\n YupObject({\n tab: YupString().oneOf(paths).required(),\n }),\n )?.tab\n\n if (tab !== undefined) {\n _setValue(paths.indexOf(tab))\n }\n }, [params, paths])\n\n return (\n <>\n <Section\n boxProps={{ bgcolor: primary[500] }}\n sx={{ paddingY: \"100px\" }}\n className=\"flex-center\"\n >\n <Typography\n textAlign=\"center\"\n variant=\"h2\"\n style={{ color: \"white\" }}\n mb={0}\n >\n {header}\n </Typography>\n </Section>\n <Section\n boxProps={{ bgcolor: primary[300] }}\n sx={{ paddingY: \"6px\" }}\n className=\"flex-center\"\n >\n <Tabs\n value={_value}\n onChange={(_, value: number) => {\n void navigate(\n generatePath(originalPath, {\n tab: paths[value],\n }),\n )\n }}\n ScrollButtonComponent={({\n disabled,\n onClick,\n direction,\n }: TabScrollButtonProps) => {\n return (\n <>\n {disabled === false && (\n <IconButton\n onClick={onClick}\n style={{\n padding: 0,\n [direction === \"left\" ? \"marginRight\" : \"marginLeft\"]:\n \"15px\",\n color: \"white\",\n }}\n >\n {direction === \"left\" ? (\n <>\n <ChevronLeftIcon />\n </>\n ) : (\n <>\n <ChevronRightIcon />\n </>\n )}\n </IconButton>\n )}\n </>\n )\n }}\n >\n {labels.map(label => (\n <Tab disableRipple key={label} label={label} />\n ))}\n </Tabs>\n </Section>\n {children[_value]}\n </>\n )\n}\n\nexport default TabBar\n"],"names":["Section","boxProps","containerProps","jsx","Box","Container","Notification","open","error","onClose","children","bgcolor","_open","_setOpen","useState","useEffect","Fragment","contrastText","palette","Stack","ErrorOutlineIcon","InfoOutlinedIcon","Typography","IconButton","CloseOutlinedIcon","Page","selectIsLoggedIn","session","state","useLocation","scroll","notifications","useSession","metadata","childrenArray","Children","notification","index","Banner","header","subheader","textAlign","imageProps","button1Props","button2Props","primary","secondary","tertiary","jsxs","LinkButton","Image","TabBar","tabs","originalPath","value","params","useParams","navigate","useNavigate","_value","_setValue","labels","tab","paths","tryValidateSync","YupObject","YupString","Tabs","_","generatePath","disabled","onClick","direction","ChevronLeftIcon","ChevronRightIcon","label","Tab"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),m=require("@mui/material"),T=require("react"),Z=require("./api-G8CV5bUa.cjs"),ee=require("./api-DIgp_6Vr.cjs"),O=require("formik"),_=require("yup"),E=require("./utils/form.cjs.js"),g=require("./utils/general.cjs.js"),te=require("./dayjs.min-BDMWgl2D.cjs"),w=require("@mui/x-date-pickers"),re=require("@mui/x-date-pickers/AdapterDayjs"),I=require("@mui/icons-material");require("@reduxjs/toolkit/query/react");require("@reduxjs/toolkit");require("js-cookie");const oe=require("./schemas-hIW9-H6-.cjs");require("./urls-2gheISSO.cjs");const R=({useLazyListQuery:r,filterOptions:t,getOptionLabel:n,getOptionKey:o=l=>l.id,searchKey:s,...i})=>{const[l,d]=T.useState(""),[a,{isLoading:u,isError:c}]=r(),[{limit:f,offset:p},x]=ee.usePagination(),[{options:b,hasMore:F},S]=T.useState({options:{},hasMore:!0});T.useEffect(()=>{const j={limit:f,offset:p,...t};l&&(j[s]=l),a(j,!0).unwrap().then(({data:C,offset:q,limit:N,count:V})=>{S(({options:X})=>{const k={...X};return C.forEach(L=>{k[o(L)]=L}),{options:k,hasMore:q+N<V}})}).catch(C=>{C&&console.error(C)})},[a,f,p,s,l,...Object.values(t||{})]);let h=Object.keys(b);if(!h.length)return e.jsx(e.Fragment,{});typeof o(Object.values(b)[0])=="number"&&(h=h.map(Number));function y(){x(({page:j,limit:C})=>({page:j+1,limit:C}))}const P=({children:j,...C},q)=>{const N=T.Children.toArray(j);return u?N.push(e.jsx(m.CircularProgress,{},"is-loading")):(c&&N.push(e.jsx(Z.SyncError,{},"is-error")),F&&N.push(e.jsx(m.Button,{onClick:y,children:"Load more"},"load-more"))),e.jsx("ul",{...C,ref:q,onScroll:V=>{!u&&V.currentTarget.clientHeight+V.currentTarget.scrollTop>=V.currentTarget.scrollHeight&&y()},children:N})};return e.jsx(B,{options:h,getOptionLabel:j=>n(b[j]),onInputChange:(j,C,q)=>{d(q==="input"?C:"")},ListboxComponent:T.forwardRef(P),...i})},B=({textFieldProps:r,options:t,validateOptions:n,...o})=>{const{id:s,name:i,required:l,...d}=r,a=i.split("."),u="not a valid option";let c=typeof t[0]=="string"?_.string().oneOf(t,u):_.number().oneOf(t,u);l&&(c=c.required());const f={name:i,type:typeof t[0]=="string"?"text":"number",validate:E.schemaToFieldValidator(c,n)};return e.jsx(O.Field,{...f,children:({form:p,meta:x})=>{const b=g.getNestedProperty(p.values,a),F=g.getNestedProperty(p.touched,a),S=g.getNestedProperty(p.errors,a);return e.jsx(m.Autocomplete,{options:t,defaultValue:x.initialValue===""?void 0:x.initialValue,renderInput:({id:h,...y})=>e.jsx(m.TextField,{id:s??i,name:i,required:l,type:"text",value:b,error:F&&!!S,helperText:F&&S,...d,...y}),onChange:(h,y)=>{p.setFieldValue(i,y??void 0,!0)},onBlur:p.handleBlur,...o})}})},M=({id:r,name:t,formControlLabelProps:n,required:o=!1,errorMessage:s="this is a required field",validateOptions:i,...l})=>{const d=t.split(".");let a=_.bool();o&&(a=a.oneOf([!0],s));const u={name:t,type:"checkbox",validate:E.schemaToFieldValidator(a,i)};return e.jsx(O.Field,{...u,children:({form:c,meta:f})=>{const p=g.getNestedProperty(c.touched,d),x=g.getNestedProperty(c.errors,d),b=g.getNestedProperty(c.values,d),F=p&&!!x;return e.jsxs(m.FormControl,{error:F,required:o,children:[e.jsx(m.FormControlLabel,{control:e.jsx(m.Checkbox,{defaultChecked:f.initialValue,id:r??t,name:t,value:b,onChange:c.handleChange,onBlur:c.handleBlur,...l}),...n}),F&&e.jsx(m.FormHelperText,{children:x})]})}})},U=({textFieldProps:r,...t})=>{const{name:n="country",label:o="Country",placeholder:s="Select your country",...i}=r||{};return e.jsx(B,{options:g.COUNTRY_ISO_CODES,getOptionLabel:l=>g.COUNTRY_ISO_CODE_MAPPING[l],textFieldProps:{name:n,label:o,placeholder:s,...i},...t})},Y=({name:r,required:t,minDate:n,maxDate:o,validateOptions:s,...i})=>{const l=r.split(".");function d(c){return c.locale("en-gb").format("L")}let a=_.date();t&&(a=a.required()),n&&(a=a.min(n,`this field must be after or equal to ${d(n)}`)),o&&(a=a.max(o,`this field must be before or equal to ${d(o)}`));const u={name:r,type:"date",validate:E.schemaToFieldValidator(a,s)};return e.jsx(O.Field,{...u,children:({form:c})=>{const f=g.getNestedProperty(c.errors,l),p=g.getNestedProperty(c.touched,l);let x=g.getNestedProperty(c.values,l);x=x?te.dayjs(x):null;function b(F){c.setFieldValue(r,F&&F.isValid()?F.format("YYYY-MM-DD"):null,!0)}return e.jsx(w.LocalizationProvider,{dateAdapter:re.AdapterDayjs,adapterLocale:"en-gb",children:e.jsx(w.DatePicker,{name:r,value:x,minDate:n,maxDate:o,onChange:b,slotProps:{textField:{id:r,onChange:F=>{b(F)},onBlur:c.handleBlur,required:t,error:p&&!!f,helperText:p&&f}},...i})})}})},v=({id:r,name:t,schema:n,type:o="text",required:s=!1,dirty:i=!1,unique:l=!1,uniqueCaseInsensitive:d=!1,split:a,validateOptions:u,...c})=>{const[f,p]=T.useState(""),x=t.split(".");function b(){let h=n;if(h=s?h.required():h.optional(),i&&!a&&(h=h.notOneOf([f],"cannot be initial value")),!a)return h;let y=_.array().of(h);return y=s?y.required().min(1):y.optional(),(l||d)&&(y=y.test({message:"cannot have duplicates",test:P=>Array.isArray(P)&&P.length>=2&&P.every(j=>typeof j=="string")?new Set(d?P.map(j=>j.toLowerCase()):P).size===P.length:!0})),i&&(y=y.notOneOf([f],"cannot be initial value")),y}const F={name:t,type:o,validate:E.schemaToFieldValidator(b(),u)},S=({form:h})=>{const y=g.getNestedProperty(h.initialValues,x),P=g.getNestedProperty(h.values,x),j=g.getNestedProperty(h.errors,x),C=g.getNestedProperty(h.touched,x);return T.useEffect(()=>{p(y)},[y]),T.useEffect(()=>{h.setFieldValue(t,a&&typeof P=="string"?P.split(a):P,!0)},[P]),e.jsx(m.TextField,{id:r??t,name:t,type:o,required:s,value:P,onChange:h.handleChange,onBlur:h.handleBlur,error:C&&!!j,helperText:C&&j,...c})};return e.jsx(O.Field,{...F,children:S})},D=({name:r="email",label:t="Email address",placeholder:n="Enter your email address",InputProps:o={},...s})=>e.jsx(v,{type:"email",schema:_.string().email(),name:r,label:t,placeholder:n,InputProps:{endAdornment:e.jsx(m.InputAdornment,{position:"end",children:e.jsx(I.EmailOutlined,{})}),...o},...s}),H=({name:r="first_name",label:t="First name",placeholder:n="Enter your first name",InputProps:o={},...s})=>e.jsx(v,{schema:oe.user.first_name,name:r,label:t,placeholder:n,InputProps:{endAdornment:e.jsx(m.InputAdornment,{position:"end",children:e.jsx(I.PersonOutlined,{})}),...o},...s}),z={behavior:"smooth",block:"start"},ne=({scrollIntoViewOptions:r=z,...t})=>{const n=T.useRef(null);return T.useEffect(()=>{n.current&&n.current.scrollIntoView(r)},[r]),e.jsx(m.FormHelperText,{ref:n,error:!0,...t})},K=({children:r,scrollIntoViewOptions:t=z,nonFieldErrorsProps:n,fieldRefs:o=[],...s})=>e.jsx(O.Formik,{...s,children:i=>{const l=!!Object.keys(i.errors).length,d=l&&typeof i.errors.__all__=="string";if(l&&!d&&i.isSubmitting&&o.length){const a=g.getKeyPaths(i.errors),u=o.find(({name:c})=>a.includes(c))?.inputRef.current;u&&u.scrollIntoView(t)}return e.jsxs(e.Fragment,{children:[d&&e.jsx(ne,{...n,children:i.errors.__all__}),e.jsx(O.Form,{children:typeof r=="function"?r(i):r})]})}}),se=({useMutation:r,submitOptions:t,...n})=>{const[o]=r();return e.jsx(K,{...n,onSubmit:E.submitForm(o,n.initialValues,t)})},$=r=>"onSubmit"in r?e.jsx(K,{...r}):se(r),G=({name:r="otp",label:t="OTP",placeholder:n="Enter your OTP",...o})=>e.jsx(v,{name:r,label:t,schema:_.string().matches(/^[0-9]{6}$/,"Must be exactly 6 digits."),placeholder:n,required:!0,...o}),ie=({id:r,repeatName:t,setValue:n,fieldProps:o,name:s,label:i,placeholder:l,type:d,...a})=>{const{form:u}=o,c=s.split("."),f=g.getNestedProperty(u.values,c),p=t.split("."),x=g.getNestedProperty(u.values,p),b=g.getNestedProperty(u.touched,p),F=g.getNestedProperty(u.errors,p);return T.useEffect(()=>{n(f)},[n,f]),e.jsx(m.TextField,{required:!0,type:d,label:i??`Repeat ${s.replace("_"," ")}`,placeholder:l??`Enter your ${s.replace("_"," ")} again`,id:r??t,name:t,value:x,onChange:u.handleChange,onBlur:u.handleBlur,error:b&&!!F,helperText:b&&F,...a})},A=({name:r,type:t="text",validateOptions:n,...o})=>{const[s,i]=T.useState(""),l=`${r}_repeat`,d={name:l,type:t,validate:E.schemaToFieldValidator(_.string().required().equals([s],"does not match"),n)};return e.jsx(O.Field,{...d,children:a=>e.jsx(ie,{name:r,type:t,repeatName:l,setValue:i,fieldProps:a,...o})})},W=({name:r="password",label:t="Password",placeholder:n="Enter your password",schema:o=_.string(),InputProps:s={},withRepeatField:i=!1,repeatFieldProps:l={},...d})=>{const[a,u]=T.useState(!1),c=a?"text":"password",f=e.jsx(m.InputAdornment,{position:"end",children:e.jsx(m.IconButton,{onClick:()=>{u(p=>!p)},edge:"end",children:a?e.jsx(I.Visibility,{}):e.jsx(I.VisibilityOff,{})})});return e.jsxs(e.Fragment,{children:[e.jsx(v,{autoComplete:"off",type:c,name:r,label:t,schema:o,placeholder:n,InputProps:{endAdornment:f,...s},...d}),i&&e.jsx(A,{name:r,type:c,...l,InputProps:{endAdornment:f,...l.InputProps}})]})},J=({children:r="Submit",...t})=>{function n(o,s){s=s||{};for(const i in o){const l=o[i];s[i]=l instanceof Object&&l.constructor===Object?n(l,s):!0}return s}return e.jsx(O.Field,{name:"submit",type:"submit",children:({form:o})=>e.jsx(m.Button,{type:"button",onClick:()=>{o.setTouched(n(o.values),!0).then(s=>{const i=!!(s&&Object.keys(s).length);o.setSubmitting(i),i||o.submitForm()})},...t,children:r})})},Q=({textFieldProps:r,...t})=>{const{name:n="uk_county",label:o="UK county",placeholder:s="Select your UK county",...i}=r||{};return e.jsx(B,{options:g.UK_COUNTIES,textFieldProps:{name:n,label:o,placeholder:s,...i},...t})},le=Object.freeze(Object.defineProperty({__proto__:null,ApiAutocompleteField:R,AutocompleteField:B,CheckboxField:M,CountryField:U,DatePickerField:Y,EmailField:D,FirstNameField:H,Form:$,OtpField:G,PasswordField:W,RepeatField:A,SubmitButton:J,TextField:v,UkCountyField:Q},Symbol.toStringTag,{value:"Module"}));exports.ApiAutocompleteField=R;exports.AutocompleteField=B;exports.CheckboxField=M;exports.CountryField=U;exports.DatePickerField=Y;exports.EmailField=D;exports.FirstNameField=H;exports.Form=$;exports.OtpField=G;exports.PasswordField=W;exports.RepeatField=A;exports.SubmitButton=J;exports.TextField=v;exports.UkCountyField=Q;exports.index=le;
2
+ //# sourceMappingURL=index-Da4T5FYK.cjs.map