@cuemath/leap 3.3.10-j2 → 3.3.11-guru.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +4 -4
  2. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -1
  3. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +2 -2
  4. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  5. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +19 -18
  6. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
  7. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js +7 -7
  8. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-styled.js.map +1 -1
  9. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +26 -24
  10. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
  11. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js +15 -13
  12. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
  13. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  14. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +129 -69
  15. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +1 -1
  16. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +24 -23
  17. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  18. package/dist/features/chapters-v2/chapter-details/chapter-details.js +71 -68
  19. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  20. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +36 -31
  21. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +1 -1
  22. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js +22 -0
  23. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test-styled.js.map +1 -0
  24. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js +151 -0
  25. package/dist/features/chapters-v2/comps/sat-mock-test/sat-mock-test.js.map +1 -0
  26. package/dist/features/chapters-v2/constants/block-constants.js +7 -5
  27. package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
  28. package/dist/features/chapters-v2/utils/index.js +8 -2
  29. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  30. package/dist/features/chapters-v2/utils/sat-sheet-utils.js +12 -0
  31. package/dist/features/chapters-v2/utils/sat-sheet-utils.js.map +1 -0
  32. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +8 -4
  33. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  34. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +2 -2
  35. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -1
  36. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +12 -12
  37. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -1
  38. package/dist/features/sheets/constants/sheet.js +12 -4
  39. package/dist/features/sheets/constants/sheet.js.map +1 -1
  40. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +6 -6
  41. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -1
  42. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -1
  43. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +13 -13
  44. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -1
  45. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -1
  46. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +9 -9
  47. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -1
  48. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +38 -38
  49. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  50. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +128 -126
  51. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  52. package/dist/index.d.ts +27 -27
  53. package/dist/index.js +146 -149
  54. package/dist/index.js.map +1 -1
  55. package/dist/node_modules/query-string/base.js +1 -1
  56. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  57. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  58. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  59. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  60. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  61. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  62. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  63. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  64. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  65. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  66. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  67. package/package.json +2 -3
  68. package/dist/features/parent-dashboard/api/parent-home.js +0 -10
  69. package/dist/features/parent-dashboard/api/parent-home.js.map +0 -1
  70. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js +0 -30
  71. package/dist/features/parent-dashboard/comps/compact-header/compact-header.js.map +0 -1
  72. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +0 -64
  73. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +0 -1
  74. package/dist/features/parent-dashboard/parent-dashboard-constants.js +0 -26
  75. package/dist/features/parent-dashboard/parent-dashboard-constants.js.map +0 -1
  76. package/dist/features/parent-dashboard/parent-dashboard-styled.js +0 -33
  77. package/dist/features/parent-dashboard/parent-dashboard-styled.js.map +0 -1
  78. package/dist/features/parent-dashboard/parent-dashboard-view.js +0 -203
  79. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +0 -1
  80. package/dist/features/parent-dashboard/parent-dashboard.js +0 -8
  81. package/dist/features/parent-dashboard/parent-dashboard.js.map +0 -1
  82. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  83. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  84. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  85. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import b from "../decode-uri-component/index.js";
1
+ import b from "./node_modules/decode-uri-component/index.js";
2
2
  import l from "../split-on-first/index.js";
3
3
  import { includeKeys as N } from "../filter-obj/index.js";
4
4
  const j = (r) => r == null, A = (r) => encodeURIComponent(r).replace(/[!'()*]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase()}`), u = Symbol("encodeFragmentIdentifier");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/query-string/node_modules/decode-uri-component/index.js"],"sourcesContent":["const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n"],"names":["token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","input","tokens","i","customDecodeURIComponent","replaceMap","match","result","entries","key","decodeUriComponent","encodedURI"],"mappings":"AAAA,MAAMA,IAAQ,gBACRC,IAAgB,IAAI,OAAO,MAAMD,IAAQ,cAAc,IAAI,GAC3DE,IAAe,IAAI,OAAO,MAAMF,IAAQ,MAAM,IAAI;AAExD,SAASG,EAAiBC,GAAYC,GAAO;AAC5C,MAAI;AAEH,WAAO,CAAC,mBAAmBD,EAAW,KAAK,EAAE,CAAC,CAAC;AAAA,EACjD,QAAS;AAAA,EAEP;AAED,MAAIA,EAAW,WAAW;AACzB,WAAOA;AAGR,EAAAC,IAAQA,KAAS;AAGjB,QAAMC,IAAOF,EAAW,MAAM,GAAGC,CAAK,GAChCE,IAAQH,EAAW,MAAMC,CAAK;AAEpC,SAAO,MAAM,UAAU,OAAO,KAAK,CAAA,GAAIF,EAAiBG,CAAI,GAAGH,EAAiBI,CAAK,CAAC;AACvF;AAEA,SAASC,EAAOC,GAAO;AACtB,MAAI;AACH,WAAO,mBAAmBA,CAAK;AAAA,EACjC,QAAS;AACP,QAAIC,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAE3C,aAASU,IAAI,GAAGA,IAAID,EAAO,QAAQC;AAClC,MAAAF,IAAQN,EAAiBO,GAAQC,CAAC,EAAE,KAAK,EAAE,GAE3CD,IAASD,EAAM,MAAMR,CAAa,KAAK,CAAA;AAGxC,WAAOQ;AAAA,EACP;AACF;AAEA,SAASG,EAAyBH,GAAO;AAExC,QAAMI,IAAa;AAAA,IAClB,UAAU;AAAA,IACV,UAAU;AAAA,EACZ;AAEC,MAAIC,IAAQZ,EAAa,KAAKO,CAAK;AACnC,SAAOK,KAAO;AACb,QAAI;AAEH,MAAAD,EAAWC,EAAM,CAAC,CAAC,IAAI,mBAAmBA,EAAM,CAAC,CAAC;AAAA,IACrD,QAAU;AACP,YAAMC,IAASP,EAAOM,EAAM,CAAC,CAAC;AAE9B,MAAIC,MAAWD,EAAM,CAAC,MACrBD,EAAWC,EAAM,CAAC,CAAC,IAAIC;AAAA,IAExB;AAED,IAAAD,IAAQZ,EAAa,KAAKO,CAAK;AAAA,EAC/B;AAGD,EAAAI,EAAW,KAAK,IAAI;AAEpB,QAAMG,IAAU,OAAO,KAAKH,CAAU;AAEtC,aAAWI,KAAOD;AAEjB,IAAAP,IAAQA,EAAM,QAAQ,IAAI,OAAOQ,GAAK,GAAG,GAAGJ,EAAWI,CAAG,CAAC;AAG5D,SAAOR;AACR;AAEe,SAASS,EAAmBC,GAAY;AACtD,MAAI,OAAOA,KAAe;AACzB,UAAM,IAAI,UAAU,wDAAwD,OAAOA,IAAa,GAAG;AAGpG,MAAI;AAEH,WAAO,mBAAmBA,CAAU;AAAA,EACtC,QAAS;AAEP,WAAOP,EAAyBO,CAAU;AAAA,EAC1C;AACF;","x_google_ignoreList":[0]}
@@ -0,0 +1,5 @@
1
+ const a = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
2
+ export {
3
+ a as default
4
+ };
5
+ //# sourceMappingURL=regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/regex.js"],"sourcesContent":["export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;"],"names":["REGEX"],"mappings":"AAAA,MAAAA,IAAe;","x_google_ignoreList":[0]}
@@ -1,7 +1,6 @@
1
- let t;
2
- const e = new Uint8Array(16);
1
+ var t, e = new Uint8Array(16);
3
2
  function o() {
4
- if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !t))
3
+ if (!t && (t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto), !t))
5
4
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
6
5
  return t(e);
7
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAE5B,MAAI,CAACF,MAEHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,GAE3G,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"rng.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/rng.js"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}"],"names":["getRandomValues","rnds8","rng"],"mappings":"AAGA,IAAIA,GACAC,IAAQ,IAAI,WAAW,EAAE;AACd,SAASC,IAAM;AAE5B,MAAI,CAACF,MAGHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,KAAK,OAAO,WAAa,OAAe,OAAO,SAAS,mBAAoB,cAAc,SAAS,gBAAgB,KAAK,QAAQ,GAE3O,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;","x_google_ignoreList":[0]}
@@ -1,10 +1,14 @@
1
- const i = [];
2
- for (let n = 0; n < 256; ++n)
3
- i.push((n + 256).toString(16).slice(1));
4
- function c(n, u = 0) {
5
- return (i[n[u + 0]] + i[n[u + 1]] + i[n[u + 2]] + i[n[u + 3]] + "-" + i[n[u + 4]] + i[n[u + 5]] + "-" + i[n[u + 6]] + i[n[u + 7]] + "-" + i[n[u + 8]] + i[n[u + 9]] + "-" + i[n[u + 10]] + i[n[u + 11]] + i[n[u + 12]] + i[n[u + 13]] + i[n[u + 14]] + i[n[u + 15]]).toLowerCase();
1
+ import s from "./validate.js";
2
+ var t = [];
3
+ for (var n = 0; n < 256; ++n)
4
+ t.push((n + 256).toString(16).substr(1));
5
+ function f(e) {
6
+ var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, o = (t[e[i + 0]] + t[e[i + 1]] + t[e[i + 2]] + t[e[i + 3]] + "-" + t[e[i + 4]] + t[e[i + 5]] + "-" + t[e[i + 6]] + t[e[i + 7]] + "-" + t[e[i + 8]] + t[e[i + 9]] + "-" + t[e[i + 10]] + t[e[i + 11]] + t[e[i + 12]] + t[e[i + 13]] + t[e[i + 14]] + t[e[i + 15]]).toLowerCase();
7
+ if (!s(o))
8
+ throw TypeError("Stringified UUID is invalid");
9
+ return o;
6
10
  }
7
11
  export {
8
- c as unsafeStringify
12
+ f as default
9
13
  };
10
14
  //# sourceMappingURL=stringify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","unsafeStringify","arr","offset"],"mappings":"AAMA,MAAMA,IAAY,CAAA;AAElB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AAG3C,SAASC,EAAgBC,GAAKC,IAAS,GAAG;AAG/C,UAAQJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AACvf;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"stringify.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/stringify.js"],"sourcesContent":["import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;"],"names":["byteToHex","i","stringify","arr","offset","uuid","validate"],"mappings":";AAMA,IAAIA,IAAY,CAAA;AAEhB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;AAGnD,SAASC,EAAUC,GAAK;AACtB,MAAIC,IAAS,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,GAG7EC,KAAQL,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AAMzf,MAAI,CAACE,EAASD,CAAI;AAChB,UAAM,UAAU,6BAA6B;AAG/C,SAAOA;AACT;","x_google_ignoreList":[0]}
@@ -1,20 +1,17 @@
1
- import e from "./native.js";
2
- import i from "./rng.js";
3
- import { unsafeStringify as d } from "./stringify.js";
4
- function g(n, m, t) {
5
- if (e.randomUUID && !m && !n)
6
- return e.randomUUID();
1
+ import d from "./rng.js";
2
+ import f from "./stringify.js";
3
+ function v(n, m, x) {
7
4
  n = n || {};
8
- const r = n.random || (n.rng || i)();
5
+ var r = n.random || (n.rng || d)();
9
6
  if (r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, m) {
10
- t = t || 0;
11
- for (let a = 0; a < 16; ++a)
12
- m[t + a] = r[a];
7
+ x = x || 0;
8
+ for (var a = 0; a < 16; ++a)
9
+ m[x + a] = r[a];
13
10
  return m;
14
11
  }
15
- return d(r);
12
+ return f(r);
16
13
  }
17
14
  export {
18
- g as default
15
+ v as default
19
16
  };
20
17
  //# sourceMappingURL=v4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","native","rnds","rng","i","unsafeStringify"],"mappings":";;;AAIA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,MAAIC,EAAO,cAAc,CAACF,KAAO,CAACD;AAChC,WAAOG,EAAO;AAGhB,EAAAH,IAAUA,KAAW;AACrB,QAAMI,IAAOJ,EAAQ,WAAWA,EAAQ,OAAOK;AAK/C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBH,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASI,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAL,EAAIC,IAASI,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOL;AAAA,EACR;AAED,SAAOM,EAAgBH,CAAI;AAC7B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"v4.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","rnds","rng","i","stringify"],"mappings":";;AAGA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,EAAAF,IAAUA,KAAW;AACrB,MAAIG,IAAOH,EAAQ,WAAWA,EAAQ,OAAOI;AAK7C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBF,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASG,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAJ,EAAIC,IAASG,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOJ;AAAA,EACR;AAED,SAAOK,EAAUH,CAAI;AACvB;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import e from "./regex.js";
2
+ function o(t) {
3
+ return typeof t == "string" && e.test(t);
4
+ }
5
+ export {
6
+ o as default
7
+ };
8
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sources":["../../../../../node_modules/uuid/dist/esm-browser/validate.js"],"sourcesContent":["import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;"],"names":["validate","uuid","REGEX"],"mappings":";AAEA,SAASA,EAASC,GAAM;AACtB,SAAO,OAAOA,KAAS,YAAYC,EAAM,KAAKD,CAAI;AACpD;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.3.10-j2",
3
+ "version": "3.3.11-guru.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -96,6 +96,5 @@
96
96
  "vite-plugin-dts": "3.6.4",
97
97
  "vite-plugin-svgr": "3.2.0",
98
98
  "vite-tsconfig-paths": "^4.2.2"
99
- },
100
- "packageManager": "yarn@4.4.1"
99
+ }
101
100
  }
@@ -1,10 +0,0 @@
1
- import { createGetAPI as t } from "@cuemath/rest-api";
2
- import { BASE_URL_V1 as o } from "../../../constants/api.js";
3
- const { useGet: m, invalidate: n } = t({
4
- getURL: (e) => `${o}/students/${e}/parent-home`
5
- });
6
- export {
7
- n as invalidateParentHome,
8
- m as useParentHomeGet
9
- };
10
- //# sourceMappingURL=parent-home.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parent-home.js","sources":["../../../../src/features/parent-dashboard/api/parent-home.ts"],"sourcesContent":["import type { IParentHome } from '../parent-dashboard-types';\n\nimport { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../constants/api';\n\nconst { useGet: useParentHomeGet, invalidate: invalidateParentHome } = createGetAPI<IParentHome>({\n getURL: studentId => `${BASE_URL_V1}/students/${studentId}/parent-home`,\n});\n\nexport { useParentHomeGet, invalidateParentHome };\n"],"names":["useParentHomeGet","invalidateParentHome","createGetAPI","studentId","BASE_URL_V1"],"mappings":";;AAMA,MAAM,EAAE,QAAQA,GAAkB,YAAYC,EAAA,IAAyBC,EAA0B;AAAA,EAC/F,QAAQ,CAAAC,MAAa,GAAGC,CAAW,aAAaD,CAAS;AAC3D,CAAC;"}
@@ -1,30 +0,0 @@
1
- import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
- import { memo as c } from "react";
3
- import { useTheme as a } from "styled-components";
4
- import { ILLUSTRATIONS as p } from "../../../../assets/illustrations/illustrations.js";
5
- import s from "../../../auth/comps/linear-progress-bar/linear-progress-bar.js";
6
- import f from "../../../ui/image/image.js";
7
- import o from "../../../ui/layout/flex-view.js";
8
- import { EDeviceType as l } from "../../../ui/theme/constants.js";
9
- const d = ({ progressPercentage: r, showProgress: t, HeaderAvatar: m }) => {
10
- const { device: i } = a();
11
- return i <= l.TABLET ? /* @__PURE__ */ n(
12
- o,
13
- {
14
- $gutterX: 1,
15
- $gapX: 1,
16
- $flexDirection: "row",
17
- $alignItems: "center",
18
- $background: "WHITE_T_05",
19
- $flexColumnGapX: 1,
20
- children: [
21
- m,
22
- t && r ? /* @__PURE__ */ e(s, { percentage: r, borderRadius: 8 }) : /* @__PURE__ */ e(o, { $flex: 1, $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ e(f, { width: 90, src: p.CIRCLE_CUEMATH_LOGO_WHITE }) })
23
- ]
24
- }
25
- ) : null;
26
- }, H = c(d);
27
- export {
28
- H as default
29
- };
30
- //# sourceMappingURL=compact-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compact-header.js","sources":["../../../../../src/features/parent-dashboard/comps/compact-header/compact-header.tsx"],"sourcesContent":["import type { ICompactHeaderProps } from './compact-header-types';\n\nimport { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport LinearProgressBar from '../../../auth/comps/linear-progress-bar/linear-progress-bar';\nimport Image from '../../../ui/image/image';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { EDeviceType } from '../../../ui/theme/constants';\n\nconst CompactHeader = ({ progressPercentage, showProgress, HeaderAvatar }: ICompactHeaderProps) => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n\n if (!isCompact) return null;\n\n return (\n <FlexView\n $gutterX={1}\n $gapX={1}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_T_05\"\n $flexColumnGapX={1}\n >\n {HeaderAvatar}\n {showProgress && progressPercentage ? (\n <LinearProgressBar percentage={progressPercentage} borderRadius={8} />\n ) : (\n <FlexView $flex={1} $justifyContent=\"center\" $alignItems=\"center\">\n <Image width={90} src={ILLUSTRATIONS.CIRCLE_CUEMATH_LOGO_WHITE} />\n </FlexView>\n )}\n </FlexView>\n );\n};\n\nexport default memo(CompactHeader);\n"],"names":["CompactHeader","progressPercentage","showProgress","HeaderAvatar","device","useTheme","EDeviceType","jsxs","FlexView","jsx","LinearProgressBar","Image","ILLUSTRATIONS","CompactHeader$1","memo"],"mappings":";;;;;;;;AAWA,MAAMA,IAAgB,CAAC,EAAE,oBAAAC,GAAoB,cAAAC,GAAc,cAAAC,QAAwC;AAC3F,QAAA,EAAE,QAAAC,MAAWC;AAGf,SAFcD,KAAUE,EAAY,SAKtC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,iBAAiB;AAAA,MAEhB,UAAA;AAAA,QAAAL;AAAA,QACAD,KAAgBD,IACf,gBAAAQ,EAACC,GAAkB,EAAA,YAAYT,GAAoB,cAAc,EAAA,CAAG,IAEpE,gBAAAQ,EAACD,GAAS,EAAA,OAAO,GAAG,iBAAgB,UAAS,aAAY,UACvD,UAAC,gBAAAC,EAAAE,GAAA,EAAM,OAAO,IAAI,KAAKC,EAAc,0BAAA,CAA2B,EAClE,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAjBiB;AAqBzB,GAEeC,IAAAC,EAAKd,CAAa;"}
@@ -1,64 +0,0 @@
1
- import { useEffect as O, useMemo as P } from "react";
2
- import { useParentHomeGet as C } from "../api/parent-home.js";
3
- const T = ({
4
- studentName: o,
5
- studentServiceId: s
6
- }) => {
7
- const {
8
- get: t,
9
- data: i,
10
- isProcessing: a,
11
- isProcessed: l,
12
- isStale: m,
13
- isProcessingFailed: r
14
- } = C(s);
15
- return O(() => {
16
- s && (!a && !r && !l || m) && t(s);
17
- }, [s, m, a, t, r, l]), P(() => {
18
- const { teacher_details: c = null, session_details: n } = i ?? {};
19
- if (!n)
20
- return {
21
- sessionDetails: null,
22
- teacherDetails: null,
23
- studentName: o,
24
- teacherName: "",
25
- isOnlyOneSessionCompleted: !1,
26
- isMoreThanOneSessionCompleted: !1,
27
- isDemoDone: !1,
28
- isSubscriptionCancelled: !1,
29
- completedSessions: 0,
30
- nextSessionEnd: 0,
31
- nextSessionStart: 0,
32
- classStatus: void 0,
33
- upcomingSessions: [],
34
- showLoading: !0
35
- };
36
- const {
37
- completed_sessions: e = 0,
38
- next_session_end: p,
39
- next_session_start: u,
40
- demo_class_status: S,
41
- upcoming_sessions: _ = [],
42
- student_demo_id: f
43
- } = n, { first_name: D = "", last_name: g = "" } = c ?? {}, h = `${D} ${g}`.trim(), d = e > 0, x = d && e === 1, H = e > 1;
44
- return {
45
- sessionDetails: n,
46
- teacherDetails: c,
47
- studentName: o,
48
- teacherName: h,
49
- completedSessions: e,
50
- nextSessionEnd: p,
51
- nextSessionStart: u,
52
- classStatus: S,
53
- upcomingSessions: _,
54
- isDemoDone: d,
55
- isOnlyOneSessionCompleted: x,
56
- isMoreThanOneSessionCompleted: H,
57
- demoId: f
58
- };
59
- }, [i, o]);
60
- };
61
- export {
62
- T as default
63
- };
64
- //# sourceMappingURL=use-parent-home-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-parent-home-data.js","sources":["../../../../src/features/parent-dashboard/hooks/use-parent-home-data.ts"],"sourcesContent":["import type { TSession } from '../../trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types';\nimport type { ISessionDetails, ITeacherDetails } from '../parent-dashboard-types';\n\nimport { useEffect, useMemo } from 'react';\n\nimport { useParentHomeGet } from '../api/parent-home';\n\ninterface IUseParentHomeData {\n studentName: string;\n studentServiceId: string;\n}\ninterface IUseParentHomeDataReturn {\n sessionDetails: ISessionDetails | null;\n teacherDetails: ITeacherDetails | null;\n completedSessions: number;\n nextSessionEnd: number;\n nextSessionStart: number;\n classStatus?: 'S_NO_SHOW' | 'T_NO_SHOW' | null;\n teacherName: string;\n upcomingSessions?: TSession[];\n isDemoDone: boolean;\n isOnlyOneSessionCompleted: boolean;\n isMoreThanOneSessionCompleted: boolean;\n showLoading?: boolean;\n demoId?: string;\n}\n\nconst useParentHomeData = ({\n studentName,\n studentServiceId,\n}: IUseParentHomeData): IUseParentHomeDataReturn => {\n const {\n get: getParentHome,\n data: parentHomeData,\n isProcessing,\n isProcessed,\n isStale,\n isProcessingFailed,\n } = useParentHomeGet(studentServiceId);\n\n useEffect(() => {\n if (studentServiceId && ((!isProcessing && !isProcessingFailed && !isProcessed) || isStale)) {\n getParentHome(studentServiceId);\n }\n }, [studentServiceId, isStale, isProcessing, getParentHome, isProcessingFailed, isProcessed]);\n\n const parentHomeDataMemoised = useMemo(() => {\n const { teacher_details: teacherDetails = null, session_details: sessionDetails } =\n parentHomeData ?? {};\n\n if (!sessionDetails) {\n return {\n sessionDetails: null,\n teacherDetails: null,\n studentName,\n teacherName: '',\n isOnlyOneSessionCompleted: false,\n isMoreThanOneSessionCompleted: false,\n isDemoDone: false,\n isSubscriptionCancelled: false,\n completedSessions: 0,\n nextSessionEnd: 0,\n nextSessionStart: 0,\n classStatus: undefined,\n upcomingSessions: [],\n showLoading: true,\n };\n }\n\n const {\n completed_sessions: completedSessions = 0,\n next_session_end: nextSessionEnd,\n next_session_start: nextSessionStart,\n demo_class_status: classStatus,\n upcoming_sessions: upcomingSessions = [],\n student_demo_id: demoId,\n } = sessionDetails;\n\n const { first_name = '', last_name = '' } = teacherDetails ?? {};\n const teacherName = `${first_name} ${last_name}`.trim();\n\n const isDemoDone = completedSessions > 0;\n const isOnlyOneSessionCompleted = isDemoDone && completedSessions === 1;\n const isMoreThanOneSessionCompleted = completedSessions > 1;\n\n return {\n sessionDetails,\n teacherDetails,\n studentName,\n teacherName,\n completedSessions,\n nextSessionEnd,\n nextSessionStart,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n demoId,\n };\n }, [parentHomeData, studentName]);\n\n return parentHomeDataMemoised;\n};\n\nexport default useParentHomeData;\n"],"names":["useParentHomeData","studentName","studentServiceId","getParentHome","parentHomeData","isProcessing","isProcessed","isStale","isProcessingFailed","useParentHomeGet","useEffect","useMemo","teacherDetails","sessionDetails","completedSessions","nextSessionEnd","nextSessionStart","classStatus","upcomingSessions","demoId","first_name","last_name","teacherName","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted"],"mappings":";;AA2BA,MAAMA,IAAoB,CAAC;AAAA,EACzB,aAAAC;AAAA,EACA,kBAAAC;AACF,MAAoD;AAC5C,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAiBP,CAAgB;AAErC,SAAAQ,EAAU,MAAM;AACd,IAAIR,MAAsB,CAACG,KAAgB,CAACG,KAAsB,CAACF,KAAgBC,MACjFJ,EAAcD,CAAgB;AAAA,EAChC,GACC,CAACA,GAAkBK,GAASF,GAAcF,GAAeK,GAAoBF,CAAW,CAAC,GAE7DK,EAAQ,MAAM;AACrC,UAAA,EAAE,iBAAiBC,IAAiB,MAAM,iBAAiBC,EAAe,IAC9ET,KAAkB;AAEpB,QAAI,CAACS;AACI,aAAA;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,aAAAZ;AAAA,QACA,aAAa;AAAA,QACb,2BAA2B;AAAA,QAC3B,+BAA+B;AAAA,QAC/B,YAAY;AAAA,QACZ,yBAAyB;AAAA,QACzB,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,kBAAkB;AAAA,QAClB,aAAa;AAAA,QACb,kBAAkB,CAAC;AAAA,QACnB,aAAa;AAAA,MAAA;AAIX,UAAA;AAAA,MACJ,oBAAoBa,IAAoB;AAAA,MACxC,kBAAkBC;AAAA,MAClB,oBAAoBC;AAAA,MACpB,mBAAmBC;AAAA,MACnB,mBAAmBC,IAAmB,CAAC;AAAA,MACvC,iBAAiBC;AAAA,IACf,IAAAN,GAEE,EAAE,YAAAO,IAAa,IAAI,WAAAC,IAAY,GAAG,IAAIT,KAAkB,IACxDU,IAAc,GAAGF,CAAU,IAAIC,CAAS,GAAG,QAE3CE,IAAaT,IAAoB,GACjCU,IAA4BD,KAAcT,MAAsB,GAChEW,IAAgCX,IAAoB;AAEnD,WAAA;AAAA,MACL,gBAAAD;AAAA,MACA,gBAAAD;AAAA,MACA,aAAAX;AAAA,MACA,aAAAqB;AAAA,MACA,mBAAAR;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,YAAAK;AAAA,MACA,2BAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,QAAAN;AAAA,IAAA;AAAA,EACF,GACC,CAACf,GAAgBH,CAAW,CAAC;AAGlC;"}
@@ -1,26 +0,0 @@
1
- const a = {
2
- small: 40,
3
- medium: 40,
4
- large: 80,
5
- separator: {
6
- small: 12,
7
- medium: 20,
8
- large: 24,
9
- extraLarge: 80
10
- }
11
- }, e = {
12
- small: 16,
13
- medium: 24,
14
- large: 40,
15
- separator: {
16
- small: 8,
17
- medium: 16,
18
- large: 22,
19
- extraLarge: 40
20
- }
21
- };
22
- export {
23
- a as DESKTOP_SPACING,
24
- e as MOBILE_SPACING
25
- };
26
- //# sourceMappingURL=parent-dashboard-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parent-dashboard-constants.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-constants.ts"],"sourcesContent":["export const MODAL_KEYS = {\n STUDENT_PROFILE: 'studentProfile',\n INSIGHTS: 'insights',\n LEARNING_PLAN: 'learningPlan',\n CHANGE_TUTOR: 'pla-change-tutor',\n STUDENT_PROFILE_SUMMARY: 'student-profile-summary',\n} as const;\n\nexport const DESKTOP_SPACING = {\n small: 40,\n medium: 40,\n large: 80,\n separator: {\n small: 12,\n medium: 20,\n large: 24,\n extraLarge: 80,\n },\n} as const;\n\nexport const MOBILE_SPACING = {\n small: 16,\n medium: 24,\n large: 40,\n separator: {\n small: 8,\n medium: 16,\n large: 22,\n extraLarge: 40,\n },\n} as const;\n"],"names":["DESKTOP_SPACING","MOBILE_SPACING"],"mappings":"AAQO,MAAMA,IAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,WAAW;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AACF,GAEaC,IAAiB;AAAA,EAC5B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,WAAW;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AACF;"}
@@ -1,33 +0,0 @@
1
- import o from "styled-components";
2
- import t from "../ui/layout/flex-view.js";
3
- const a = o(t)`
4
- margin: 0 -16px;
5
- `, l = o(t)(
6
- ({ theme: r }) => `
7
- overflow-y: auto;
8
- &::-webkit-scrollbar {
9
- width: 3px;
10
- }
11
- &::-webkit-scrollbar-track {
12
- background: ${r.colors.BLACK_2};
13
- }
14
- &::-webkit-scrollbar-thumb {
15
- background: ${r.colors.BLACK_5};
16
- }
17
- ${r.mediaQueries.minWidthTablet} {
18
- max-height: 100vh;
19
- &::-webkit-scrollbar {
20
- width: 6px;
21
- }
22
- }
23
- `
24
- ), c = o(t)`
25
- overflow: hidden;
26
- height: 100vh;
27
- `;
28
- export {
29
- c as Container,
30
- l as ContentWrapper,
31
- a as MathPracticeWrapper
32
- };
33
- //# sourceMappingURL=parent-dashboard-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parent-dashboard-styled.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../ui/layout/flex-view';\n\nexport const MathPracticeWrapper = styled(FlexView)`\n margin: 0 -16px;\n`;\n\nexport const ContentWrapper = styled(FlexView)(\n ({ theme }) => `\n overflow-y: auto;\n &::-webkit-scrollbar {\n width: 3px;\n }\n &::-webkit-scrollbar-track {\n background: ${theme.colors.BLACK_2};\n }\n &::-webkit-scrollbar-thumb {\n background: ${theme.colors.BLACK_5};\n }\n ${theme.mediaQueries.minWidthTablet} {\n max-height: 100vh;\n &::-webkit-scrollbar {\n width: 6px;\n }\n }\n`,\n);\n\nexport const Container = styled(FlexView)`\n overflow: hidden;\n height: 100vh;\n`;\n"],"names":["MathPracticeWrapper","styled","FlexView","ContentWrapper","theme","Container"],"mappings":";;AAIa,MAAAA,IAAsBC,EAAOC,CAAQ;AAAA;AAAA,GAIrCC,IAAiBF,EAAOC,CAAQ;AAAA,EAC3C,CAAC,EAAE,OAAAE,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMCA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA,kBAGpBA,EAAM,OAAO,OAAO;AAAA;AAAA,IAElCA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,GAEaC,IAAYJ,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
@@ -1,203 +0,0 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { memo as R, useCallback as o, useMemo as B } from "react";
3
- import { useTheme as X } from "styled-components";
4
- import J from "../auth/pla-signup/onboarding-guide/onboarding-guide.js";
5
- import Q from "../auth/pla-signup/signup-header/signup-header.js";
6
- import U from "../trial-session/comps/pla/next-steps/next-steps.js";
7
- import Y from "../trial-session/comps/pla/session-status/session-status.js";
8
- import Z from "../trial-session/comps/pla/session-summary/session-summary.js";
9
- import ee from "../trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js";
10
- import F from "../trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js";
11
- import re from "../ui/buttons/button/button.js";
12
- import te from "../ui/buttons/text-button/text-button.js";
13
- import i from "../ui/layout/flex-view.js";
14
- import oe from "../ui/loader/app-loader/app-loader.js";
15
- import n from "../ui/separator/separator.js";
16
- import _ from "../ui/text/text.js";
17
- import { EDeviceType as ie } from "../ui/theme/constants.js";
18
- import ne from "./comps/compact-header/compact-header.js";
19
- import ae from "./comps/cuemath-app-features/cuemath-app-features.js";
20
- import se from "./comps/math-practice/math-practice.js";
21
- import le from "./comps/parent-dashboard-faqs/parent-dashboard-faqs.js";
22
- import ce from "./hooks/use-parent-home-data.js";
23
- import { MOBILE_SPACING as he, DESKTOP_SPACING as me } from "./parent-dashboard-constants.js";
24
- import { MathPracticeWrapper as pe, Container as de, ContentWrapper as ue } from "./parent-dashboard-styled.js";
25
- const qe = R(
26
- ({
27
- studentName: l,
28
- studentServiceId: q,
29
- onRescheduleDemo: d,
30
- onViewSummary: u,
31
- onGetStartedAgain: p,
32
- onChangeTutor: f,
33
- canChangeTutor: g,
34
- onSwitchUser: S,
35
- isSubscriptionCancelled: v,
36
- HeaderAvatar: G
37
- }) => {
38
- const { device: K } = X(), h = K <= ie.MOBILE, {
39
- teacherDetails: a,
40
- teacherName: x,
41
- completedSessions: b,
42
- nextSessionStart: L,
43
- nextSessionEnd: C,
44
- classStatus: T,
45
- upcomingSessions: $,
46
- isDemoDone: s,
47
- isOnlyOneSessionCompleted: P,
48
- isMoreThanOneSessionCompleted: m,
49
- showLoading: j = !1,
50
- demoId: c
51
- } = ce({ studentName: l, studentServiceId: q }), M = o(() => {
52
- d(c);
53
- }, [c, d]), O = o(() => {
54
- c && f(c);
55
- }, [c, f]), r = B(
56
- () => h ? he : me,
57
- [h]
58
- ), D = B(() => h ? "100%" : 200, [h]), z = o(
59
- () => /* @__PURE__ */ t(i, { children: [
60
- /* @__PURE__ */ e(Q, {}),
61
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
62
- /* @__PURE__ */ e(J, { orientation: "horizontal" }),
63
- p && /* @__PURE__ */ t(i, { children: [
64
- /* @__PURE__ */ e(n, { height: r.medium }),
65
- /* @__PURE__ */ e(
66
- re,
67
- {
68
- label: "Get Started",
69
- renderAs: "yellow-dark",
70
- shape: "square",
71
- width: D,
72
- onClick: p
73
- }
74
- )
75
- ] })
76
- ] }),
77
- [r, D, p]
78
- ), A = o(
79
- () => /* @__PURE__ */ e(
80
- Y,
81
- {
82
- completedSessions: b,
83
- nextSessionStartTime: L,
84
- teacherName: x,
85
- status: T,
86
- nextSessionEndTime: C,
87
- studentName: l,
88
- onRescheduleClick: M
89
- }
90
- ),
91
- [
92
- b,
93
- L,
94
- x,
95
- T,
96
- C,
97
- l,
98
- M
99
- ]
100
- ), E = o(() => !a || s ? null : /* @__PURE__ */ t(i, { children: [
101
- /* @__PURE__ */ e(n, { height: r.separator.large }),
102
- /* @__PURE__ */ e(F, { teacherProfile: a })
103
- ] }), [a, s, r.separator.large]), y = o(() => m ? null : /* @__PURE__ */ t(i, { children: [
104
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
105
- /* @__PURE__ */ e(
106
- Z,
107
- {
108
- isDemoDone: s,
109
- studentName: l,
110
- onViewSummary: u
111
- }
112
- )
113
- ] }), [
114
- m,
115
- r.separator.extraLarge,
116
- s,
117
- l,
118
- u
119
- ]), I = o(() => g ? null : /* @__PURE__ */ t(i, { children: [
120
- /* @__PURE__ */ e(n, { height: r.separator.small }),
121
- /* @__PURE__ */ t(i, { $flexDirection: "row", $flexColumnGapX: 0.25, children: [
122
- /* @__PURE__ */ e(_, { $renderAs: "ub1", $renderOnMobileAs: "ub2", $color: "WHITE", children: "Not the right fit for your child?" }),
123
- /* @__PURE__ */ e(
124
- te,
125
- {
126
- color: "WHITE_1",
127
- sizeOnMobile: "small",
128
- label: "Try another tutor",
129
- onClick: O
130
- }
131
- )
132
- ] })
133
- ] }), [g, r.separator.small, O]), w = o(() => a ? /* @__PURE__ */ t(i, { children: [
134
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
135
- /* @__PURE__ */ e(_, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "Know your tutor" }),
136
- /* @__PURE__ */ e(n, { height: r.separator.medium }),
137
- /* @__PURE__ */ e(F, { teacherProfile: a }),
138
- I()
139
- ] }) : null, [a, r.separator, I]), k = o(() => P ? /* @__PURE__ */ t(i, { children: [
140
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
141
- /* @__PURE__ */ e(U, {}),
142
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
143
- /* @__PURE__ */ e(ee, { sessions: $ }),
144
- w()
145
- ] }) : null, [
146
- P,
147
- r.separator.extraLarge,
148
- $,
149
- w
150
- ]), H = o(() => s ? /* @__PURE__ */ t(i, { children: [
151
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
152
- /* @__PURE__ */ e(ae, {})
153
- ] }) : null, [s, r.separator.extraLarge]), W = o(() => m ? null : /* @__PURE__ */ t(i, { children: [
154
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
155
- /* @__PURE__ */ e(pe, { children: /* @__PURE__ */ e(se, { onSwitchUser: S }) })
156
- ] }), [m, r.separator.extraLarge, S]), V = o(
157
- () => /* @__PURE__ */ t(i, { children: [
158
- A(),
159
- E(),
160
- y(),
161
- k(),
162
- H(),
163
- W()
164
- ] }),
165
- [
166
- A,
167
- E,
168
- y,
169
- k,
170
- H,
171
- W
172
- ]
173
- ), N = o(
174
- () => /* @__PURE__ */ t(i, { children: [
175
- /* @__PURE__ */ e(n, { height: r.separator.extraLarge }),
176
- /* @__PURE__ */ e(le, {})
177
- ] }),
178
- [r.separator.extraLarge]
179
- );
180
- return j ? /* @__PURE__ */ e(oe, { height: "100vh" }) : /* @__PURE__ */ t(de, { children: [
181
- /* @__PURE__ */ e(ne, { HeaderAvatar: G }),
182
- /* @__PURE__ */ t(
183
- ue,
184
- {
185
- $flex: 1,
186
- $width: "100%",
187
- $height: "100%",
188
- $background: "BLACK_1",
189
- $gap: r.medium,
190
- $gutter: r.small,
191
- children: [
192
- v ? z() : V(),
193
- N()
194
- ]
195
- }
196
- )
197
- ] });
198
- }
199
- );
200
- export {
201
- qe as default
202
- };
203
- //# sourceMappingURL=parent-dashboard-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parent-dashboard-view.js","sources":["../../../src/features/parent-dashboard/parent-dashboard-view.tsx"],"sourcesContent":["import type { IParentDashboardProps, ISpacingConfig } from './parent-dashboard-types';\n\nimport React, { memo, useMemo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport OnboardingGuide from '../auth/pla-signup/onboarding-guide/onboarding-guide';\nimport SignupHeader from '../auth/pla-signup/signup-header/signup-header';\nimport NextSteps from '../trial-session/comps/pla/next-steps/next-steps';\nimport SessionStatus from '../trial-session/comps/pla/session-status/session-status';\nimport SessionSummary from '../trial-session/comps/pla/session-summary/session-summary';\nimport UpcomingSessions from '../trial-session/comps/pla/upcoming-sessions/upcoming-sessions';\nimport TeacherProfile from '../trial-session/comps/teacher-intro/teacher-profile/teacher-profile';\nimport Button from '../ui/buttons/button/button';\nimport TextButton from '../ui/buttons/text-button/text-button';\nimport FlexView from '../ui/layout/flex-view';\nimport AppLoader from '../ui/loader/app-loader/app-loader';\nimport Separator from '../ui/separator/separator';\nimport Text from '../ui/text/text';\nimport { EDeviceType } from '../ui/theme/constants';\nimport CompactHeader from './comps/compact-header/compact-header';\nimport CuemathAppFeatures from './comps/cuemath-app-features/cuemath-app-features';\nimport MathPractice from './comps/math-practice/math-practice';\nimport ParentDashboardFaqs from './comps/parent-dashboard-faqs/parent-dashboard-faqs';\nimport useParentHomeData from './hooks/use-parent-home-data';\nimport { DESKTOP_SPACING, MOBILE_SPACING } from './parent-dashboard-constants';\nimport * as Styled from './parent-dashboard-styled';\n\nconst ParentDashboardView: React.FC<IParentDashboardProps> = memo(\n ({\n studentName,\n studentServiceId,\n onRescheduleDemo,\n onViewSummary,\n onGetStartedAgain,\n onChangeTutor,\n canChangeTutor,\n onSwitchUser,\n isSubscriptionCancelled,\n HeaderAvatar,\n }) => {\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const {\n teacherDetails,\n teacherName,\n completedSessions,\n nextSessionStart,\n nextSessionEnd,\n classStatus,\n upcomingSessions,\n isDemoDone,\n isOnlyOneSessionCompleted,\n isMoreThanOneSessionCompleted,\n showLoading = false,\n demoId,\n } = useParentHomeData({ studentName, studentServiceId });\n\n const handleRescheduleDemo = useCallback(() => {\n onRescheduleDemo(demoId);\n }, [demoId, onRescheduleDemo]);\n\n const handleChangeTutor = useCallback(() => {\n if (demoId) {\n onChangeTutor(demoId);\n }\n }, [demoId, onChangeTutor]);\n\n const spacing: ISpacingConfig = useMemo(\n () => (isMobile ? MOBILE_SPACING : DESKTOP_SPACING),\n [isMobile],\n );\n\n const buttonWidth = useMemo(() => (isMobile ? '100%' : 200), [isMobile]);\n\n const renderCancelledSubscriptionView = useCallback(\n () => (\n <FlexView>\n <SignupHeader />\n <Separator height={spacing.separator.extraLarge} />\n <OnboardingGuide orientation=\"horizontal\" />\n {onGetStartedAgain && (\n <FlexView>\n <Separator height={spacing.medium} />\n <Button\n label=\"Get Started\"\n renderAs=\"yellow-dark\"\n shape=\"square\"\n width={buttonWidth}\n onClick={onGetStartedAgain}\n />\n </FlexView>\n )}\n </FlexView>\n ),\n [spacing, buttonWidth, onGetStartedAgain],\n );\n\n const renderSessionStatusSection = useCallback(\n () => (\n <SessionStatus\n completedSessions={completedSessions}\n nextSessionStartTime={nextSessionStart}\n teacherName={teacherName}\n status={classStatus}\n nextSessionEndTime={nextSessionEnd}\n studentName={studentName}\n onRescheduleClick={handleRescheduleDemo}\n />\n ),\n [\n completedSessions,\n nextSessionStart,\n teacherName,\n classStatus,\n nextSessionEnd,\n studentName,\n handleRescheduleDemo,\n ],\n );\n\n const renderTeacherProfileSection = useCallback(() => {\n if (!teacherDetails || isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.large} />\n <TeacherProfile teacherProfile={teacherDetails} />\n </FlexView>\n );\n }, [teacherDetails, isDemoDone, spacing.separator.large]);\n\n const renderSessionSummarySection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <SessionSummary\n isDemoDone={isDemoDone}\n studentName={studentName}\n onViewSummary={onViewSummary}\n />\n </FlexView>\n );\n }, [\n isMoreThanOneSessionCompleted,\n spacing.separator.extraLarge,\n isDemoDone,\n studentName,\n onViewSummary,\n ]);\n\n const renderTutorChangeSection = useCallback(() => {\n if (canChangeTutor) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.small} />\n <FlexView $flexDirection=\"row\" $flexColumnGapX={0.25}>\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n Not the right fit for your child?\n </Text>\n <TextButton\n color=\"WHITE_1\"\n sizeOnMobile=\"small\"\n label=\"Try another tutor\"\n onClick={handleChangeTutor}\n />\n </FlexView>\n </FlexView>\n );\n }, [canChangeTutor, spacing.separator.small, handleChangeTutor]);\n\n const renderTeacherDetailsSection = useCallback(() => {\n if (!teacherDetails) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n Know your tutor\n </Text>\n <Separator height={spacing.separator.medium} />\n <TeacherProfile teacherProfile={teacherDetails} />\n {renderTutorChangeSection()}\n </FlexView>\n );\n }, [teacherDetails, spacing.separator, renderTutorChangeSection]);\n\n const renderOnlyOneSessionSection = useCallback(() => {\n if (!isOnlyOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <NextSteps />\n <Separator height={spacing.separator.extraLarge} />\n <UpcomingSessions sessions={upcomingSessions} />\n {renderTeacherDetailsSection()}\n </FlexView>\n );\n }, [\n isOnlyOneSessionCompleted,\n spacing.separator.extraLarge,\n upcomingSessions,\n renderTeacherDetailsSection,\n ]);\n\n const renderAppFeaturesSection = useCallback(() => {\n if (!isDemoDone) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <CuemathAppFeatures />\n </FlexView>\n );\n }, [isDemoDone, spacing.separator.extraLarge]);\n\n const renderMathPracticeSection = useCallback(() => {\n if (isMoreThanOneSessionCompleted) return null;\n\n return (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <Styled.MathPracticeWrapper>\n <MathPractice onSwitchUser={onSwitchUser} />\n </Styled.MathPracticeWrapper>\n </FlexView>\n );\n }, [isMoreThanOneSessionCompleted, spacing.separator.extraLarge, onSwitchUser]);\n\n const renderMainContent = useCallback(\n () => (\n <FlexView>\n {renderSessionStatusSection()}\n {renderTeacherProfileSection()}\n {renderSessionSummarySection()}\n {renderOnlyOneSessionSection()}\n {renderAppFeaturesSection()}\n {renderMathPracticeSection()}\n </FlexView>\n ),\n [\n renderSessionStatusSection,\n renderTeacherProfileSection,\n renderSessionSummarySection,\n renderOnlyOneSessionSection,\n renderAppFeaturesSection,\n renderMathPracticeSection,\n ],\n );\n\n const renderFaqsSection = useCallback(\n () => (\n <FlexView>\n <Separator height={spacing.separator.extraLarge} />\n <ParentDashboardFaqs />\n </FlexView>\n ),\n [spacing.separator.extraLarge],\n );\n\n if (showLoading) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.Container>\n <CompactHeader HeaderAvatar={HeaderAvatar} />\n <Styled.ContentWrapper\n $flex={1}\n $width=\"100%\"\n $height=\"100%\"\n $background=\"BLACK_1\"\n $gap={spacing.medium}\n $gutter={spacing.small}\n >\n {isSubscriptionCancelled ? renderCancelledSubscriptionView() : renderMainContent()}\n {renderFaqsSection()}\n </Styled.ContentWrapper>\n </Styled.Container>\n );\n },\n);\n\nexport default ParentDashboardView;\n"],"names":["ParentDashboardView","memo","studentName","studentServiceId","onRescheduleDemo","onViewSummary","onGetStartedAgain","onChangeTutor","canChangeTutor","onSwitchUser","isSubscriptionCancelled","HeaderAvatar","device","useTheme","isMobile","EDeviceType","teacherDetails","teacherName","completedSessions","nextSessionStart","nextSessionEnd","classStatus","upcomingSessions","isDemoDone","isOnlyOneSessionCompleted","isMoreThanOneSessionCompleted","showLoading","demoId","useParentHomeData","handleRescheduleDemo","useCallback","handleChangeTutor","spacing","useMemo","MOBILE_SPACING","DESKTOP_SPACING","buttonWidth","renderCancelledSubscriptionView","FlexView","jsx","SignupHeader","Separator","OnboardingGuide","Button","renderSessionStatusSection","SessionStatus","renderTeacherProfileSection","TeacherProfile","renderSessionSummarySection","SessionSummary","renderTutorChangeSection","jsxs","Text","TextButton","renderTeacherDetailsSection","renderOnlyOneSessionSection","NextSteps","UpcomingSessions","renderAppFeaturesSection","CuemathAppFeatures","renderMathPracticeSection","Styled.MathPracticeWrapper","MathPractice","renderMainContent","renderFaqsSection","ParentDashboardFaqs","AppLoader","Styled.Container","CompactHeader","Styled.ContentWrapper"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { memo as a } from "react";
3
- import t from "./parent-dashboard-view.js";
4
- const e = a((r) => /* @__PURE__ */ o(t, { ...r })), d = e;
5
- export {
6
- d as default
7
- };
8
- //# sourceMappingURL=parent-dashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parent-dashboard.js","sources":["../../../src/features/parent-dashboard/parent-dashboard.tsx"],"sourcesContent":["import type { IParentDashboardProps } from './parent-dashboard-types';\n\nimport { memo } from 'react';\n\nimport ParentDashboardView from './parent-dashboard-view';\n\nconst ParentDashboard = memo((props: IParentDashboardProps) => {\n return <ParentDashboardView {...props} />;\n});\n\nexport default ParentDashboard;\n"],"names":["ParentDashboard","memo","props","jsx","ParentDashboardView","ParentDashboard$1"],"mappings":";;;AAMA,MAAMA,IAAkBC,EAAK,CAACC,MACrB,gBAAAC,EAACC,GAAqB,EAAA,GAAGF,EAAO,CAAA,CACxC,GAEDG,IAAeL;"}