@cuemath/leap 3.2.25-mb → 3.2.26

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 (99) hide show
  1. package/dist/assets/lottie/lottie.js +1 -1
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/features/analytics-events/whitelist-events.js +17 -15
  4. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  5. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +2 -1
  6. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -1
  7. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +8 -8
  8. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -1
  9. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +82 -60
  10. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  11. package/dist/features/auth/comps/pill-button/pill-button.js +41 -38
  12. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  13. package/dist/features/auth/comps/resend-otp/resend-otp.js +18 -14
  14. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  15. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +32 -26
  16. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -1
  17. package/dist/features/auth/pla-signup/pla-analytics-events.js +23 -0
  18. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -0
  19. package/dist/features/auth/pla-signup/signup-options/signup-options.js +42 -35
  20. package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +1 -1
  21. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js +68 -53
  22. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  23. package/dist/features/notification/notification.js +129 -0
  24. package/dist/features/notification/notification.js.map +1 -0
  25. package/dist/features/ui/carousal/carousal-styles.js +45 -0
  26. package/dist/features/ui/carousal/carousal-styles.js.map +1 -0
  27. package/dist/features/ui/carousal/carousal.js +76 -0
  28. package/dist/features/ui/carousal/carousal.js.map +1 -0
  29. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +75 -88
  30. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
  31. package/dist/features/ui/inputs/base-select-input/base-select-input.js +77 -67
  32. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  33. package/dist/features/ui/lottie-animation/lottie-animation.js +43 -45
  34. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  35. package/dist/features/ui/modals/modal-styled.js +8 -39
  36. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  37. package/dist/features/ui/modals/modal.js +31 -31
  38. package/dist/features/ui/modals/modal.js.map +1 -1
  39. package/dist/features/{stickers/sticker-selector/sticker-selector-styles.js → ui/sticker-grid/sticker-grid-styles.js} +31 -21
  40. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +1 -0
  41. package/dist/features/ui/sticker-grid/sticker-grid.js +24 -0
  42. package/dist/features/ui/sticker-grid/sticker-grid.js.map +1 -0
  43. package/dist/features/ui/sticker-grid/sticker.js +57 -0
  44. package/dist/features/ui/sticker-grid/sticker.js.map +1 -0
  45. package/dist/features/ui/stickers/constants.js +6 -0
  46. package/dist/features/ui/stickers/constants.js.map +1 -0
  47. package/dist/features/{stickers/stickers-effects/effects.js → ui/stickers/stickers-effects.js} +6 -6
  48. package/dist/features/ui/stickers/stickers-effects.js.map +1 -0
  49. package/dist/features/{stickers/stickers-effects/stickers-effects-styled.js → ui/stickers/stickers-styled.js} +2 -2
  50. package/dist/features/ui/stickers/stickers-styled.js.map +1 -0
  51. package/dist/features/ui/stickers/stickers-utils.js +91 -0
  52. package/dist/features/ui/stickers/stickers-utils.js.map +1 -0
  53. package/dist/features/ui/stickers/stickers.js +40 -0
  54. package/dist/features/ui/stickers/stickers.js.map +1 -0
  55. package/dist/features/ui/theme/layout.js +3 -3
  56. package/dist/features/ui/theme/layout.js.map +1 -1
  57. package/dist/index.d.ts +114 -81
  58. package/dist/index.js +452 -448
  59. package/dist/index.js.map +1 -1
  60. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  61. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  62. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  63. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  64. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  65. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  66. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  67. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  68. package/dist/static/animated-avatar.c3a0fa98.json +1 -0
  69. package/package.json +1 -1
  70. package/dist/features/stickers/sticker-data.js +0 -234
  71. package/dist/features/stickers/sticker-data.js.map +0 -1
  72. package/dist/features/stickers/sticker-selector/sticker-selector-styles.js.map +0 -1
  73. package/dist/features/stickers/sticker-selector/sticker-selector.js +0 -27
  74. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +0 -1
  75. package/dist/features/stickers/sticker-selector/sticker.js +0 -57
  76. package/dist/features/stickers/sticker-selector/sticker.js.map +0 -1
  77. package/dist/features/stickers/stickers-effects/effects.js.map +0 -1
  78. package/dist/features/stickers/stickers-effects/stickers-cache.js +0 -19
  79. package/dist/features/stickers/stickers-effects/stickers-cache.js.map +0 -1
  80. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +0 -86
  81. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +0 -1
  82. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +0 -1
  83. package/dist/features/stickers/stickers-effects/stickers-effects.js +0 -54
  84. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +0 -1
  85. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  86. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  87. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  88. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  89. package/dist/static/animated-avatar.1ad58b1d.json +0 -1
  90. package/dist/static/animated-avatar.69b07505.json +0 -1
  91. package/dist/static/animated-avatar.9c560b46.json +0 -1
  92. package/dist/static/cuemath-app-qr-code.4beefe48.svg +0 -1
  93. package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +0 -1
  94. package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
  95. package/dist/static/otp.2d08f874.json +0 -1
  96. package/dist/static/phone-number.84f55562.json +0 -1
  97. package/dist/static/target-achieved-text.053bd142.json +0 -2830
  98. package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +0 -1
  99. package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +0 -1
@@ -1,11 +1,11 @@
1
- import { jsx as r, jsxs as n, Fragment as C } from "react/jsx-runtime";
2
- import { memo as g, useCallback as f } from "react";
3
- import w from "../../../ui/buttons/button/button.js";
1
+ import { jsx as r, jsxs as n, Fragment as w } from "react/jsx-runtime";
2
+ import { memo as A, useCallback as f } from "react";
3
+ import I from "../../../ui/buttons/button/button.js";
4
4
  import $ from "../../../ui/buttons/text-button/text-button.js";
5
5
  import m from "../../../ui/layout/flex-view.js";
6
6
  import a from "../../../ui/text/text.js";
7
- import { useResendTimer as A } from "./hooks/use-resend-timer.js";
8
- const I = ({
7
+ import { useResendTimer as E } from "./hooks/use-resend-timer.js";
8
+ const H = ({
9
9
  onResendOTP: l,
10
10
  onResendVoiceOTP: i,
11
11
  timerSeconds: h = 15,
@@ -14,18 +14,20 @@ const I = ({
14
14
  renderAs: x = "text",
15
15
  width: k,
16
16
  textButtonColor: s = "WHITE_T_60",
17
- size: d = "small"
17
+ size: d = "small",
18
+ analyticsLabel: _,
19
+ analyticsProps: C
18
20
  }) => {
19
- const { canResend: c, resetTimer: t, timeLeft: u } = A({
21
+ const { canResend: c, resetTimer: t, timeLeft: u } = E({
20
22
  initialSeconds: h
21
23
  }), b = f(() => {
22
24
  l == null || l(), t();
23
- }, [l, t]), _ = f(() => {
25
+ }, [l, t]), g = f(() => {
24
26
  i == null || i(), t();
25
27
  }, [i, t]);
26
28
  if (x === "submit")
27
29
  return /* @__PURE__ */ r(
28
- w,
30
+ I,
29
31
  {
30
32
  size: d,
31
33
  renderAs: "secondary-dark",
@@ -45,10 +47,12 @@ const I = ({
45
47
  label: "Resend",
46
48
  size: e ? "small" : "regular",
47
49
  color: s,
48
- onClick: b
50
+ onClick: b,
51
+ analyticsLabel: _,
52
+ analyticsProps: C
49
53
  }
50
54
  ),
51
- p && /* @__PURE__ */ n(C, { children: [
55
+ p && /* @__PURE__ */ n(w, { children: [
52
56
  /* @__PURE__ */ r(a, { $renderAs: e ? "ub3" : "ub2", $color: s, children: "or" }),
53
57
  /* @__PURE__ */ r(m, { $width: 116, children: /* @__PURE__ */ r(
54
58
  $,
@@ -56,7 +60,7 @@ const I = ({
56
60
  label: "Get code via call",
57
61
  size: e ? "small" : "regular",
58
62
  color: s,
59
- onClick: _
63
+ onClick: g
60
64
  }
61
65
  ) })
62
66
  ] })
@@ -65,8 +69,8 @@ const I = ({
65
69
  " ",
66
70
  /* @__PURE__ */ r(a, { $renderAs: e ? "ub3-bold" : "ub2-bold", $inline: !0, $color: "WHITE_T_60", children: u })
67
71
  ] }) }) });
68
- }, F = g(I);
72
+ }, X = A(H);
69
73
  export {
70
- F as default
74
+ X as default
71
75
  };
72
76
  //# sourceMappingURL=resend-otp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resend-otp.js","sources":["../../../../../src/features/auth/comps/resend-otp/resend-otp.tsx"],"sourcesContent":["import type { IOTPResendProps } from './resend-otp-types';\n\nimport { useCallback, memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useResendTimer } from './hooks/use-resend-timer';\n\nconst ResendOTP: React.FC<IOTPResendProps> = ({\n onResendOTP,\n onResendVoiceOTP,\n timerSeconds = 15,\n showVoiceOTP = false,\n disabled,\n renderAs = 'text',\n width,\n textButtonColor = 'WHITE_T_60',\n size = 'small',\n}) => {\n const { canResend, resetTimer, timeLeft } = useResendTimer({\n initialSeconds: timerSeconds,\n });\n\n const handleResendClick = useCallback(() => {\n onResendOTP?.();\n resetTimer();\n }, [onResendOTP, resetTimer]);\n\n const handleVoiceResendClick = useCallback(() => {\n onResendVoiceOTP?.();\n resetTimer();\n }, [onResendVoiceOTP, resetTimer]);\n\n if (renderAs === 'submit') {\n return (\n <Button\n size={size}\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label={canResend ? 'Resend' : `Resend in ${timeLeft}`}\n width={width}\n onClick={handleResendClick}\n disabled={!canResend || disabled}\n />\n );\n }\n\n const isXSmallSize = size === 'xsmall';\n\n return (\n <FlexView>\n {!canResend ? (\n <FlexView $width={105}>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color=\"WHITE_T_60\">\n Resend in{' '}\n <Text $renderAs={isXSmallSize ? 'ub3-bold' : 'ub2-bold'} $inline $color=\"WHITE_T_60\">\n {timeLeft}\n </Text>\n </Text>\n </FlexView>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.5}>\n <TextButton\n disabled={disabled}\n label=\"Resend\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleResendClick}\n />\n {showVoiceOTP && (\n <>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color={textButtonColor}>\n or\n </Text>\n <FlexView $width={116}>\n <TextButton\n label=\"Get code via call\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleVoiceResendClick}\n />\n </FlexView>\n </>\n )}\n </FlexView>\n )}\n </FlexView>\n );\n};\n\nexport default memo(ResendOTP);\n"],"names":["ResendOTP","onResendOTP","onResendVoiceOTP","timerSeconds","showVoiceOTP","disabled","renderAs","width","textButtonColor","size","canResend","resetTimer","timeLeft","useResendTimer","handleResendClick","useCallback","handleVoiceResendClick","jsx","Button","isXSmallSize","FlexView","jsxs","TextButton","Fragment","Text","ResendOtp","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAuC,CAAC;AAAA,EAC5C,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,MAAAC,IAAO;AACT,MAAM;AACJ,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,EAAA,IAAaC,EAAe;AAAA,IACzD,gBAAgBV;AAAA,EAAA,CACjB,GAEKW,IAAoBC,EAAY,MAAM;AAC5B,IAAAd,KAAA,QAAAA,KACHU;EAAA,GACV,CAACV,GAAaU,CAAU,CAAC,GAEtBK,IAAyBD,EAAY,MAAM;AAC5B,IAAAb,KAAA,QAAAA,KACRS;EAAA,GACV,CAACT,GAAkBS,CAAU,CAAC;AAEjC,MAAIL,MAAa;AAEb,WAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAAT;AAAA,QACA,UAAS;AAAA,QACT,MAAK;AAAA,QACL,OAAOC,IAAY,WAAW,aAAaE,CAAQ;AAAA,QACnD,OAAAL;AAAA,QACA,SAASO;AAAA,QACT,UAAU,CAACJ,KAAaL;AAAA,MAAA;AAAA,IAAA;AAK9B,QAAMc,IAAeV,MAAS;AAE9B,SACG,gBAAAQ,EAAAG,GAAA,EACE,UAACV,IAUC,gBAAAW,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAiB,KACnE,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,UAAAjB;AAAA,QACA,OAAM;AAAA,QACN,MAAMc,IAAe,UAAU;AAAA,QAC/B,OAAOX;AAAA,QACP,SAASM;AAAA,MAAA;AAAA,IACX;AAAA,IACCV,KAEG,gBAAAiB,EAAAE,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAN,EAACO,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAQX,GAAiB,UAExE,KAAA,CAAA;AAAA,MACA,gBAAAS,EAACG,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,MAAMH,IAAe,UAAU;AAAA,UAC/B,OAAOX;AAAA,UACP,SAASQ;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,EAAA,EAEJ,CAAA,sBAhCCI,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAC,EAACG,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAO,cAAa,UAAA;AAAA,IAAA;AAAA,IACvD;AAAA,IACV,gBAAAF,EAACO,GAAK,EAAA,WAAWL,IAAe,aAAa,YAAY,SAAO,IAAC,QAAO,cACrE,UACHP,EAAA,CAAA;AAAA,EACF,EAAA,CAAA,EACF,CAAA,EA2BJ,CAAA;AAEJ,GAEea,IAAAC,EAAK1B,CAAS;"}
1
+ {"version":3,"file":"resend-otp.js","sources":["../../../../../src/features/auth/comps/resend-otp/resend-otp.tsx"],"sourcesContent":["import type { IOTPResendProps } from './resend-otp-types';\n\nimport { useCallback, memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useResendTimer } from './hooks/use-resend-timer';\n\nconst ResendOTP: React.FC<IOTPResendProps> = ({\n onResendOTP,\n onResendVoiceOTP,\n timerSeconds = 15,\n showVoiceOTP = false,\n disabled,\n renderAs = 'text',\n width,\n textButtonColor = 'WHITE_T_60',\n size = 'small',\n analyticsLabel,\n analyticsProps,\n}) => {\n const { canResend, resetTimer, timeLeft } = useResendTimer({\n initialSeconds: timerSeconds,\n });\n\n const handleResendClick = useCallback(() => {\n onResendOTP?.();\n resetTimer();\n }, [onResendOTP, resetTimer]);\n\n const handleVoiceResendClick = useCallback(() => {\n onResendVoiceOTP?.();\n resetTimer();\n }, [onResendVoiceOTP, resetTimer]);\n\n if (renderAs === 'submit') {\n return (\n <Button\n size={size}\n renderAs=\"secondary-dark\"\n type=\"submit\"\n label={canResend ? 'Resend' : `Resend in ${timeLeft}`}\n width={width}\n onClick={handleResendClick}\n disabled={!canResend || disabled}\n />\n );\n }\n\n const isXSmallSize = size === 'xsmall';\n\n return (\n <FlexView>\n {!canResend ? (\n <FlexView $width={105}>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color=\"WHITE_T_60\">\n Resend in{' '}\n <Text $renderAs={isXSmallSize ? 'ub3-bold' : 'ub2-bold'} $inline $color=\"WHITE_T_60\">\n {timeLeft}\n </Text>\n </Text>\n </FlexView>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexColumnGapX={0.5}>\n <TextButton\n disabled={disabled}\n label=\"Resend\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleResendClick}\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n />\n {showVoiceOTP && (\n <>\n <Text $renderAs={isXSmallSize ? 'ub3' : 'ub2'} $color={textButtonColor}>\n or\n </Text>\n <FlexView $width={116}>\n <TextButton\n label=\"Get code via call\"\n size={isXSmallSize ? 'small' : 'regular'}\n color={textButtonColor}\n onClick={handleVoiceResendClick}\n />\n </FlexView>\n </>\n )}\n </FlexView>\n )}\n </FlexView>\n );\n};\n\nexport default memo(ResendOTP);\n"],"names":["ResendOTP","onResendOTP","onResendVoiceOTP","timerSeconds","showVoiceOTP","disabled","renderAs","width","textButtonColor","size","analyticsLabel","analyticsProps","canResend","resetTimer","timeLeft","useResendTimer","handleResendClick","useCallback","handleVoiceResendClick","jsx","Button","isXSmallSize","FlexView","jsxs","TextButton","Fragment","Text","ResendOtp","memo"],"mappings":";;;;;;;AAUA,MAAMA,IAAuC,CAAC;AAAA,EAC5C,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,cAAAC,IAAe;AAAA,EACf,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,MAAAC,IAAO;AAAA,EACP,gBAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,UAAAC,EAAA,IAAaC,EAAe;AAAA,IACzD,gBAAgBZ;AAAA,EAAA,CACjB,GAEKa,IAAoBC,EAAY,MAAM;AAC5B,IAAAhB,KAAA,QAAAA,KACHY;EAAA,GACV,CAACZ,GAAaY,CAAU,CAAC,GAEtBK,IAAyBD,EAAY,MAAM;AAC5B,IAAAf,KAAA,QAAAA,KACRW;EAAA,GACV,CAACX,GAAkBW,CAAU,CAAC;AAEjC,MAAIP,MAAa;AAEb,WAAA,gBAAAa;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAAX;AAAA,QACA,UAAS;AAAA,QACT,MAAK;AAAA,QACL,OAAOG,IAAY,WAAW,aAAaE,CAAQ;AAAA,QACnD,OAAAP;AAAA,QACA,SAASS;AAAA,QACT,UAAU,CAACJ,KAAaP;AAAA,MAAA;AAAA,IAAA;AAK9B,QAAMgB,IAAeZ,MAAS;AAE9B,SACG,gBAAAU,EAAAG,GAAA,EACE,UAACV,IAUC,gBAAAW,EAAAD,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,iBAAiB,KACnE,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,UAAAnB;AAAA,QACA,OAAM;AAAA,QACN,MAAMgB,IAAe,UAAU;AAAA,QAC/B,OAAOb;AAAA,QACP,SAASQ;AAAA,QACT,gBAAAN;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IACCP,KAEG,gBAAAmB,EAAAE,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAN,EAACO,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAQb,GAAiB,UAExE,KAAA,CAAA;AAAA,MACA,gBAAAW,EAACG,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAH;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,MAAMH,IAAe,UAAU;AAAA,UAC/B,OAAOb;AAAA,UACP,SAASU;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,EAAA,EAEJ,CAAA,sBAlCCI,GAAS,EAAA,QAAQ,KAChB,UAAA,gBAAAC,EAACG,KAAK,WAAWL,IAAe,QAAQ,OAAO,QAAO,cAAa,UAAA;AAAA,IAAA;AAAA,IACvD;AAAA,IACV,gBAAAF,EAACO,GAAK,EAAA,WAAWL,IAAe,aAAa,YAAY,SAAO,IAAC,QAAO,cACrE,UACHP,EAAA,CAAA;AAAA,EACF,EAAA,CAAA,EACF,CAAA,EA6BJ,CAAA;AAEJ,GAEea,IAAAC,EAAK5B,CAAS;"}
@@ -1,26 +1,32 @@
1
- import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
- import { memo as d, useRef as C, useCallback as t, useMemo as b } from "react";
3
- import g from "../../../ui/layout/flex-view.js";
4
- import x from "../../../ui/lottie-animation/lottie-animation.js";
5
- import m from "../../../ui/text/text.js";
6
- import { Wrapper as I } from "./selectable-info-card-styled.js";
7
- const T = ({
1
+ import { jsxs as m, jsx as n } from "react/jsx-runtime";
2
+ import { memo as g, useRef as x, useCallback as t, useMemo as I } from "react";
3
+ import T from "../../../ui/hooks/use-click-handler.js";
4
+ import _ from "../../../ui/layout/flex-view.js";
5
+ import A from "../../../ui/lottie-animation/lottie-animation.js";
6
+ import u from "../../../ui/text/text.js";
7
+ import { Wrapper as E } from "./selectable-info-card-styled.js";
8
+ const L = ({
8
9
  id: a,
9
- title: u,
10
+ title: l,
10
11
  description: c,
11
12
  icon: i,
12
13
  selected: r,
13
- onClick: l
14
+ onClick: s,
15
+ analyticsLabel: f,
16
+ analyticsProps: p
14
17
  }) => {
15
- const e = C(null), f = t(() => {
16
- l(a);
17
- }, [a, l]), p = t(() => {
18
+ const e = x(null), d = t(() => {
19
+ s(a);
20
+ }, [a, s]), { handleClick: h } = T(
21
+ { label: l, analyticsLabel: f, analyticsProps: p },
22
+ d
23
+ ), $ = t(() => {
18
24
  var o;
19
25
  (o = e.current) == null || o.play();
20
- }, []), $ = t(() => {
26
+ }, []), C = t(() => {
21
27
  var o;
22
28
  r || (o = e.current) == null || o.stop();
23
- }, [r]), h = b(
29
+ }, [r]), b = I(
24
30
  () => ({
25
31
  autoplay: r,
26
32
  loop: !0,
@@ -28,40 +34,40 @@ const T = ({
28
34
  }),
29
35
  [r]
30
36
  );
31
- return /* @__PURE__ */ s(
32
- I,
37
+ return /* @__PURE__ */ m(
38
+ E,
33
39
  {
34
40
  $gutterX: 1,
35
41
  $gapX: 1,
36
42
  $borderColor: "WHITE",
37
43
  $flexDirection: "row",
38
44
  $background: r ? "WHITE_1" : "BLACK_1",
39
- onMouseEnter: p,
40
- onMouseLeave: $,
41
- onClick: f,
45
+ onMouseEnter: $,
46
+ onMouseLeave: C,
47
+ onClick: h,
42
48
  $flexColumnGapX: 0.5,
43
49
  selected: r,
44
50
  $alignItems: "center",
45
51
  children: [
46
52
  i && /* @__PURE__ */ n(
47
- x,
53
+ A,
48
54
  {
49
55
  src: i,
50
56
  ref: e,
51
- settings: h,
57
+ settings: b,
52
58
  width: 40,
53
59
  height: 40
54
60
  }
55
61
  ),
56
- /* @__PURE__ */ s(g, { children: [
57
- /* @__PURE__ */ n(m, { $renderAs: "ab3", $color: r ? "BLACK_1" : "WHITE", children: u }),
58
- /* @__PURE__ */ n(m, { $renderAs: "ub3", $color: r ? "BLACK_T_60" : "WHITE_T_60", children: c })
62
+ /* @__PURE__ */ m(_, { children: [
63
+ /* @__PURE__ */ n(u, { $renderAs: "ab3", $color: r ? "BLACK_1" : "WHITE", children: l }),
64
+ /* @__PURE__ */ n(u, { $renderAs: "ub3", $color: r ? "BLACK_T_60" : "WHITE_T_60", children: c })
59
65
  ] })
60
66
  ]
61
67
  }
62
68
  );
63
- }, H = d(T);
69
+ }, K = g(L);
64
70
  export {
65
- H as default
71
+ K as default
66
72
  };
67
73
  //# sourceMappingURL=selectable-info-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectable-info-card.js","sources":["../../../../../src/features/auth/comps/selectable-info-card/selectable-info-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { ISelectableInfoCardProps } from './selectable-info-card-types';\n\nimport { useCallback, useMemo, useRef, memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../ui/text/text';\nimport * as Styled from './selectable-info-card-styled';\n\nconst SelectableInfoCard = ({\n id,\n title,\n description,\n icon,\n selected,\n onClick,\n}: ISelectableInfoCardProps) => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const handleClick = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n if (selected) return;\n animationRef.current?.stop();\n }, [selected]);\n\n const renderSettings = useMemo(\n () => ({\n autoplay: selected,\n loop: true,\n renderer: 'canvas',\n }),\n [selected],\n );\n\n return (\n <Styled.Wrapper\n $gutterX={1}\n $gapX={1}\n $borderColor=\"WHITE\"\n $flexDirection=\"row\"\n $background={selected ? 'WHITE_1' : 'BLACK_1'}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onClick={handleClick}\n $flexColumnGapX={0.5}\n selected={selected}\n $alignItems=\"center\"\n >\n {icon && (\n <LottieAnimation\n src={icon}\n ref={animationRef}\n settings={renderSettings}\n width={40}\n height={40}\n />\n )}\n\n <FlexView>\n <Text $renderAs=\"ab3\" $color={selected ? 'BLACK_1' : 'WHITE'}>\n {title}\n </Text>\n <Text $renderAs=\"ub3\" $color={selected ? 'BLACK_T_60' : 'WHITE_T_60'}>\n {description}\n </Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(SelectableInfoCard);\n"],"names":["SelectableInfoCard","id","title","description","icon","selected","onClick","animationRef","useRef","handleClick","useCallback","handleOnMouseEnter","_a","handleOnMouseLeave","renderSettings","useMemo","jsxs","Styled.Wrapper","jsx","LottieAnimation","FlexView","Text","selectableInfoCard","memo"],"mappings":";;;;;;AAUA,MAAMA,IAAqB,CAAC;AAAA,EAC1B,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAAgC;AACxB,QAAAC,IAAeC,EAAmC,IAAI,GAEtDC,IAAcC,EAAY,MAAM;AACpC,IAAAJ,EAAQL,CAAE;AAAA,EAAA,GACT,CAACA,GAAIK,CAAO,CAAC,GAEVK,IAAqBD,EAAY,MAAM;;AAC3C,KAAAE,IAAAL,EAAa,YAAb,QAAAK,EAAsB;AAAA,EACxB,GAAG,CAAE,CAAA,GAECC,IAAqBH,EAAY,MAAM;;AAC3C,IAAIL,MACJO,IAAAL,EAAa,YAAb,QAAAK,EAAsB;AAAA,EAAK,GAC1B,CAACP,CAAQ,CAAC,GAEPS,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,UAAUV;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,CAACA,CAAQ;AAAA,EAAA;AAIT,SAAA,gBAAAW;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAa;AAAA,MACb,gBAAe;AAAA,MACf,aAAaZ,IAAW,YAAY;AAAA,MACpC,cAAcM;AAAA,MACd,cAAcE;AAAA,MACd,SAASJ;AAAA,MACT,iBAAiB;AAAA,MACjB,UAAAJ;AAAA,MACA,aAAY;AAAA,MAEX,UAAA;AAAA,QACCD,KAAA,gBAAAc;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKf;AAAA,YACL,KAAKG;AAAA,YACL,UAAUO;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,UAAA;AAAA,QACV;AAAA,0BAGDM,GACC,EAAA,UAAA;AAAA,UAAA,gBAAAF,EAACG,KAAK,WAAU,OAAM,QAAQhB,IAAW,YAAY,SAClD,UACHH,EAAA,CAAA;AAAA,UACA,gBAAAgB,EAACG,KAAK,WAAU,OAAM,QAAQhB,IAAW,eAAe,cACrD,UACHF,EAAA,CAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEemB,IAAAC,EAAKvB,CAAkB;"}
1
+ {"version":3,"file":"selectable-info-card.js","sources":["../../../../../src/features/auth/comps/selectable-info-card/selectable-info-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { ISelectableInfoCardProps } from './selectable-info-card-types';\n\nimport { useCallback, useMemo, useRef, memo } from 'react';\n\nimport useClickHandler from '../../../ui/hooks/use-click-handler';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport Text from '../../../ui/text/text';\nimport * as Styled from './selectable-info-card-styled';\n\nconst SelectableInfoCard = ({\n id,\n title,\n description,\n icon,\n selected,\n onClick,\n analyticsLabel,\n analyticsProps,\n}: ISelectableInfoCardProps) => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n\n const handleSelect = useCallback(() => {\n onClick(id);\n }, [id, onClick]);\n\n const { handleClick } = useClickHandler(\n { label: title, analyticsLabel, analyticsProps },\n handleSelect,\n );\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n if (selected) return;\n animationRef.current?.stop();\n }, [selected]);\n\n const renderSettings = useMemo(\n () => ({\n autoplay: selected,\n loop: true,\n renderer: 'canvas',\n }),\n [selected],\n );\n\n return (\n <Styled.Wrapper\n $gutterX={1}\n $gapX={1}\n $borderColor=\"WHITE\"\n $flexDirection=\"row\"\n $background={selected ? 'WHITE_1' : 'BLACK_1'}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n onClick={handleClick}\n $flexColumnGapX={0.5}\n selected={selected}\n $alignItems=\"center\"\n >\n {icon && (\n <LottieAnimation\n src={icon}\n ref={animationRef}\n settings={renderSettings}\n width={40}\n height={40}\n />\n )}\n\n <FlexView>\n <Text $renderAs=\"ab3\" $color={selected ? 'BLACK_1' : 'WHITE'}>\n {title}\n </Text>\n <Text $renderAs=\"ub3\" $color={selected ? 'BLACK_T_60' : 'WHITE_T_60'}>\n {description}\n </Text>\n </FlexView>\n </Styled.Wrapper>\n );\n};\n\nexport default memo(SelectableInfoCard);\n"],"names":["SelectableInfoCard","id","title","description","icon","selected","onClick","analyticsLabel","analyticsProps","animationRef","useRef","handleSelect","useCallback","handleClick","useClickHandler","handleOnMouseEnter","_a","handleOnMouseLeave","renderSettings","useMemo","jsxs","Styled.Wrapper","jsx","LottieAnimation","FlexView","Text","selectableInfoCard","memo"],"mappings":";;;;;;;AAWA,MAAMA,IAAqB,CAAC;AAAA,EAC1B,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,MAAgC;AACxB,QAAAC,IAAeC,EAAmC,IAAI,GAEtDC,IAAeC,EAAY,MAAM;AACrC,IAAAN,EAAQL,CAAE;AAAA,EAAA,GACT,CAACA,GAAIK,CAAO,CAAC,GAEV,EAAE,aAAAO,MAAgBC;AAAA,IACtB,EAAE,OAAOZ,GAAO,gBAAAK,GAAgB,gBAAAC,EAAe;AAAA,IAC/CG;AAAA,EAAA,GAGII,IAAqBH,EAAY,MAAM;;AAC3C,KAAAI,IAAAP,EAAa,YAAb,QAAAO,EAAsB;AAAA,EACxB,GAAG,CAAE,CAAA,GAECC,IAAqBL,EAAY,MAAM;;AAC3C,IAAIP,MACJW,IAAAP,EAAa,YAAb,QAAAO,EAAsB;AAAA,EAAK,GAC1B,CAACX,CAAQ,CAAC,GAEPa,IAAiBC;AAAA,IACrB,OAAO;AAAA,MACL,UAAUd;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,CAACA,CAAQ;AAAA,EAAA;AAIT,SAAA,gBAAAe;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAU;AAAA,MACV,OAAO;AAAA,MACP,cAAa;AAAA,MACb,gBAAe;AAAA,MACf,aAAahB,IAAW,YAAY;AAAA,MACpC,cAAcU;AAAA,MACd,cAAcE;AAAA,MACd,SAASJ;AAAA,MACT,iBAAiB;AAAA,MACjB,UAAAR;AAAA,MACA,aAAY;AAAA,MAEX,UAAA;AAAA,QACCD,KAAA,gBAAAkB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,KAAKnB;AAAA,YACL,KAAKK;AAAA,YACL,UAAUS;AAAA,YACV,OAAO;AAAA,YACP,QAAQ;AAAA,UAAA;AAAA,QACV;AAAA,0BAGDM,GACC,EAAA,UAAA;AAAA,UAAA,gBAAAF,EAACG,KAAK,WAAU,OAAM,QAAQpB,IAAW,YAAY,SAClD,UACHH,EAAA,CAAA;AAAA,UACA,gBAAAoB,EAACG,KAAK,WAAU,OAAM,QAAQpB,IAAW,eAAe,cACrD,UACHF,EAAA,CAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeuB,IAAAC,EAAK3B,CAAkB;"}
@@ -0,0 +1,23 @@
1
+ import { PLUGINS as _ } from "../../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
+ var s = /* @__PURE__ */ ((e) => (e.START_SIGNUP_CTA_CLICKED = "start_signup_cta_clicked", e.ECNA_STEP_VIEWED = "ecna_step_viewed", e.ECNA_RESPONSE_RECORDED_DEBUG = "ecna_response_recorded_debug", e.PARENT_SIGNUP_CTA_CLICKED = "parent_signup_cta_clicked", e.PARENT_SIGNUP_SUCCESSFUL = "parent_signup_successful", e.PARENT_SIGNUP_FAILED = "parent_signup_failed", e.STUDENT_SIGNUP_SUCCESSFUL = "signup_successful", e.STUDENT_SIGNUP_FAILED = "signup_failed", e.SIGNUP_OTP_ENTERED = "signup_otp_entered", e.SIGNUP_OTP_VERIFIED = "signup_otp_verified", e.SIGNUP_OTP_FAILED = "signup_otp_failed", e.SLOTS_SHOWN = "slots_shown", e.SLOT_DATE_SELECTED = "slot_date_selected", e.SLOT_TIME_SELECTED = "slot_time_selected", e))(s || {});
3
+ const i = {
4
+ start_signup_cta_clicked: [_.MIXPANEL],
5
+ ecna_step_viewed: [_.MIXPANEL],
6
+ ecna_response_recorded_debug: [_.MIXPANEL],
7
+ parent_signup_cta_clicked: [_.MIXPANEL],
8
+ parent_signup_successful: [_.MIXPANEL],
9
+ parent_signup_failed: [_.MIXPANEL],
10
+ signup_successful: [_.MIXPANEL],
11
+ signup_failed: [_.MIXPANEL],
12
+ signup_otp_entered: [_.MIXPANEL],
13
+ signup_otp_verified: [_.MIXPANEL],
14
+ signup_otp_failed: [_.MIXPANEL],
15
+ slots_shown: [_.MIXPANEL],
16
+ slot_date_selected: [_.MIXPANEL],
17
+ slot_time_selected: [_.MIXPANEL]
18
+ };
19
+ export {
20
+ s as PLA_ANALYTICS_EVENTS,
21
+ i as PLA_ANALYTICS_WHITELIST_EVENTS
22
+ };
23
+ //# sourceMappingURL=pla-analytics-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pla-analytics-events.js","sources":["../../../../src/features/auth/pla-signup/pla-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum PLA_ANALYTICS_EVENTS {\n START_SIGNUP_CTA_CLICKED = 'start_signup_cta_clicked',\n ECNA_STEP_VIEWED = 'ecna_step_viewed',\n ECNA_RESPONSE_RECORDED_DEBUG = 'ecna_response_recorded_debug',\n PARENT_SIGNUP_CTA_CLICKED = 'parent_signup_cta_clicked',\n PARENT_SIGNUP_SUCCESSFUL = 'parent_signup_successful',\n PARENT_SIGNUP_FAILED = 'parent_signup_failed',\n STUDENT_SIGNUP_SUCCESSFUL = 'signup_successful',\n STUDENT_SIGNUP_FAILED = 'signup_failed',\n SIGNUP_OTP_ENTERED = 'signup_otp_entered',\n SIGNUP_OTP_VERIFIED = 'signup_otp_verified',\n SIGNUP_OTP_FAILED = 'signup_otp_failed',\n SLOTS_SHOWN = 'slots_shown',\n SLOT_DATE_SELECTED = 'slot_date_selected',\n SLOT_TIME_SELECTED = 'slot_time_selected',\n}\n\nexport const PLA_ANALYTICS_WHITELIST_EVENTS = {\n [PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_STEP_VIEWED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.ECNA_RESPONSE_RECORDED_DEBUG]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_CTA_CLICKED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.PARENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_SUCCESSFUL]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.STUDENT_SIGNUP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_ENTERED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_VERIFIED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SIGNUP_OTP_FAILED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOTS_SHOWN]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_DATE_SELECTED]: [PLUGINS.MIXPANEL],\n [PLA_ANALYTICS_EVENTS.SLOT_TIME_SELECTED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["PLA_ANALYTICS_EVENTS","PLA_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,2BAA2B,4BAC3BA,EAAA,mBAAmB,oBACnBA,EAAA,+BAA+B,gCAC/BA,EAAA,4BAA4B,6BAC5BA,EAAA,2BAA2B,4BAC3BA,EAAA,uBAAuB,wBACvBA,EAAA,4BAA4B,qBAC5BA,EAAA,wBAAwB,iBACxBA,EAAA,qBAAqB,sBACrBA,EAAA,sBAAsB,uBACtBA,EAAA,oBAAoB,qBACpBA,EAAA,cAAc,eACdA,EAAA,qBAAqB,sBACrBA,EAAA,qBAAqB,sBAdXA,IAAAA,KAAA,CAAA,CAAA;AAiBL,MAAMC,IAAiC;AAAA,EAC3C,0BAAgD,CAACC,EAAQ,QAAQ;AAAA,EACjE,kBAAwC,CAACA,EAAQ,QAAQ;AAAA,EACzD,8BAAoD,CAACA,EAAQ,QAAQ;AAAA,EACrE,2BAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,0BAAgD,CAACA,EAAQ,QAAQ;AAAA,EACjE,sBAA4C,CAACA,EAAQ,QAAQ;AAAA,EAC7D,mBAAiD,CAACA,EAAQ,QAAQ;AAAA,EAClE,eAA6C,CAACA,EAAQ,QAAQ;AAAA,EAC9D,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,qBAA2C,CAACA,EAAQ,QAAQ;AAAA,EAC5D,mBAAyC,CAACA,EAAQ,QAAQ;AAAA,EAC1D,aAAmC,CAACA,EAAQ,QAAQ;AAAA,EACpD,oBAA0C,CAACA,EAAQ,QAAQ;AAAA,EAC3D,oBAA0C,CAACA,EAAQ,QAAQ;AAC9D;"}
@@ -1,28 +1,29 @@
1
1
  import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
2
  import { memo as b } from "react";
3
- import { useTheme as u } from "styled-components";
4
- import $ from "../../../../assets/line-icons/icons/apple-icon-white.js";
5
- import x from "../../../../assets/line-icons/icons/google-icon.js";
6
- import r from "../../../ui/buttons/button/button.js";
7
- import A from "../../../ui/buttons/text-button/text-button.js";
8
- import t from "../../../ui/layout/flex-view.js";
9
- import a from "../../../ui/separator/separator.js";
3
+ import { useTheme as g } from "styled-components";
4
+ import I from "../../../../assets/line-icons/icons/apple-icon-white.js";
5
+ import C from "../../../../assets/line-icons/icons/google-icon.js";
6
+ import l from "../../../ui/buttons/button/button.js";
7
+ import u from "../../../ui/buttons/text-button/text-button.js";
8
+ import r from "../../../ui/layout/flex-view.js";
9
+ import p from "../../../ui/separator/separator.js";
10
10
  import c from "../../../ui/text/text.js";
11
- import { EDeviceType as I } from "../../../ui/theme/constants.js";
12
- const k = ({
11
+ import { EDeviceType as $ } from "../../../ui/theme/constants.js";
12
+ import { PLA_ANALYTICS_EVENTS as t } from "../pla-analytics-events.js";
13
+ const S = ({
13
14
  onEmailSignup: m,
14
- onAppleSignup: p,
15
- onGoogleSignup: d,
16
- loadingProvider: l,
17
- onGoToLogin: h,
18
- title: f
15
+ onAppleSignup: d,
16
+ onGoogleSignup: h,
17
+ loadingProvider: n,
18
+ onGoToLogin: A,
19
+ title: T
19
20
  }) => {
20
- const { device: g } = u(), o = g <= I.TABLET, n = l === "google", s = l === "apple";
21
- return /* @__PURE__ */ i(t, { $alignItems: "flex-start", children: [
22
- /* @__PURE__ */ e(c, { $renderAs: "ah3-bold", $renderOnMobileAs: "ah4-bold", $color: "WHITE", $whiteSpace: "pre", children: f }),
23
- /* @__PURE__ */ e(a, { heightX: o ? 1.5 : 2.5 }),
21
+ const { device: f } = g(), o = f <= $.TABLET, a = n === "google", s = n === "apple";
22
+ return /* @__PURE__ */ i(r, { $alignItems: "flex-start", children: [
23
+ /* @__PURE__ */ e(c, { $renderAs: "ah3-bold", $renderOnMobileAs: "ah4-bold", $color: "WHITE", $whiteSpace: "pre", children: T }),
24
+ /* @__PURE__ */ e(p, { heightX: o ? 1.5 : 2.5 }),
24
25
  /* @__PURE__ */ i(
25
- t,
26
+ r,
26
27
  {
27
28
  $flexGapX: 1,
28
29
  $flex: 1,
@@ -31,53 +32,59 @@ const k = ({
31
32
  $width: "100%",
32
33
  children: [
33
34
  /* @__PURE__ */ e(
34
- r,
35
+ l,
35
36
  {
36
37
  renderAs: "black-dark",
37
- Icon: x,
38
+ Icon: C,
38
39
  width: o ? "100%" : 320,
39
40
  label: "Signup with Google",
40
- onClick: d,
41
+ onClick: h,
41
42
  size: "small",
42
- busy: n,
43
- disabled: n
43
+ busy: a,
44
+ disabled: a,
45
+ analyticsLabel: t.START_SIGNUP_CTA_CLICKED,
46
+ analyticsProps: { provider: "google" }
44
47
  }
45
48
  ),
46
49
  /* @__PURE__ */ e(
47
- r,
50
+ l,
48
51
  {
49
52
  renderAs: "black-dark",
50
53
  size: "small",
51
54
  width: o ? "100%" : 320,
52
- Icon: $,
55
+ Icon: I,
53
56
  label: "Signup with Apple",
54
- onClick: p,
57
+ onClick: d,
55
58
  busy: s,
56
- disabled: s
59
+ disabled: s,
60
+ analyticsLabel: t.START_SIGNUP_CTA_CLICKED,
61
+ analyticsProps: { provider: "apple" }
57
62
  }
58
63
  ),
59
64
  /* @__PURE__ */ e(
60
- r,
65
+ l,
61
66
  {
62
67
  renderAs: "black-dark",
63
68
  size: "small",
64
69
  width: o ? "100%" : 320,
65
70
  label: "Continue with Email",
66
- onClick: m
71
+ onClick: m,
72
+ analyticsLabel: t.START_SIGNUP_CTA_CLICKED,
73
+ analyticsProps: { provider: "email" }
67
74
  }
68
75
  )
69
76
  ]
70
77
  }
71
78
  ),
72
- /* @__PURE__ */ e(a, { heightX: 1.5 }),
73
- /* @__PURE__ */ i(t, { $flexDirection: "row", $alignItems: "center", children: [
79
+ /* @__PURE__ */ e(p, { heightX: 1.5 }),
80
+ /* @__PURE__ */ i(r, { $flexDirection: "row", $alignItems: "center", children: [
74
81
  /* @__PURE__ */ e(c, { $renderAs: "ub3", $color: "WHITE", children: "Already have an account?" }),
75
82
  " ",
76
- /* @__PURE__ */ e(A, { size: "small", label: "Log In", color: "WHITE", onClick: h })
83
+ /* @__PURE__ */ e(u, { size: "small", label: "Log In", color: "WHITE", onClick: A })
77
84
  ] })
78
85
  ] });
79
- }, B = b(k);
86
+ }, z = b(S);
80
87
  export {
81
- B as default
88
+ z as default
82
89
  };
83
90
  //# sourceMappingURL=signup-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signup-options.js","sources":["../../../../../src/features/auth/pla-signup/signup-options/signup-options.tsx"],"sourcesContent":["import type { ISignupOptionsProps } from './signup-options-types';\n\nimport { memo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport AppleIcon from '../../../../assets/line-icons/icons/apple-icon-white';\nimport GoogleIcon from '../../../../assets/line-icons/icons/google-icon';\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\n\nconst SignupOptions: FC<ISignupOptionsProps> = ({\n onEmailSignup,\n onAppleSignup,\n onGoogleSignup,\n loadingProvider,\n onGoToLogin,\n title,\n}) => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n const isLoadingGoogle = loadingProvider === 'google';\n const isLoadingApple = loadingProvider === 'apple';\n\n return (\n <FlexView $alignItems=\"flex-start\">\n <Text $renderAs=\"ah3-bold\" $renderOnMobileAs=\"ah4-bold\" $color=\"WHITE\" $whiteSpace=\"pre\">\n {title}\n </Text>\n <Separator heightX={isCompact ? 1.5 : 2.5} />\n <FlexView\n $flexGapX={1}\n $flex={1}\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $width=\"100%\"\n >\n <Button\n renderAs=\"black-dark\"\n Icon={GoogleIcon}\n width={isCompact ? '100%' : 320}\n label=\"Signup with Google\"\n onClick={onGoogleSignup}\n size=\"small\"\n busy={isLoadingGoogle}\n disabled={isLoadingGoogle}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n Icon={AppleIcon}\n label=\"Signup with Apple\"\n onClick={onAppleSignup}\n busy={isLoadingApple}\n disabled={isLoadingApple}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n label=\"Continue with Email\"\n onClick={onEmailSignup}\n />\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n Already have an account?\n </Text>\n &nbsp;\n <TextButton size=\"small\" label=\"Log In\" color=\"WHITE\" onClick={onGoToLogin} />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(SignupOptions);\n"],"names":["SignupOptions","onEmailSignup","onAppleSignup","onGoogleSignup","loadingProvider","onGoToLogin","title","device","useTheme","isCompact","EDeviceType","isLoadingGoogle","isLoadingApple","jsxs","FlexView","jsx","Text","Separator","Button","GoogleIcon","AppleIcon","TextButton","signupOptions","memo"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY,QAClCC,IAAkBP,MAAoB,UACtCQ,IAAiBR,MAAoB;AAGzC,SAAA,gBAAAS,EAACC,GAAS,EAAA,aAAY,cACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,aAAY,OAChF,UACHV,EAAA,CAAA;AAAA,IACC,gBAAAS,EAAAE,GAAA,EAAU,SAASR,IAAY,MAAM,KAAK;AAAA,IAC3C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAMC;AAAA,cACN,OAAOV,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASN;AAAA,cACT,MAAK;AAAA,cACL,MAAMQ;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAI;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,MAAMW;AAAAA,cACN,OAAM;AAAA,cACN,SAASlB;AAAA,cACT,MAAMU;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAG;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASR;AAAA,YAAA;AAAA,UACX;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAc,EAACE,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAJ,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAErC,4BAAA;AAAA,MAAO;AAAA,MAEP,gBAAAD,EAACM,KAAW,MAAK,SAAQ,OAAM,UAAS,OAAM,SAAQ,SAAShB,EAAa,CAAA;AAAA,IAAA,GAC9E;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeiB,IAAAC,EAAKvB,CAAa;"}
1
+ {"version":3,"file":"signup-options.js","sources":["../../../../../src/features/auth/pla-signup/signup-options/signup-options.tsx"],"sourcesContent":["import type { ISignupOptionsProps } from './signup-options-types';\n\nimport { memo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport AppleIcon from '../../../../assets/line-icons/icons/apple-icon-white';\nimport GoogleIcon from '../../../../assets/line-icons/icons/google-icon';\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\nimport { PLA_ANALYTICS_EVENTS } from '../pla-analytics-events';\n\nconst SignupOptions: FC<ISignupOptionsProps> = ({\n onEmailSignup,\n onAppleSignup,\n onGoogleSignup,\n loadingProvider,\n onGoToLogin,\n title,\n}) => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n const isLoadingGoogle = loadingProvider === 'google';\n const isLoadingApple = loadingProvider === 'apple';\n\n return (\n <FlexView $alignItems=\"flex-start\">\n <Text $renderAs=\"ah3-bold\" $renderOnMobileAs=\"ah4-bold\" $color=\"WHITE\" $whiteSpace=\"pre\">\n {title}\n </Text>\n <Separator heightX={isCompact ? 1.5 : 2.5} />\n <FlexView\n $flexGapX={1}\n $flex={1}\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $width=\"100%\"\n >\n <Button\n renderAs=\"black-dark\"\n Icon={GoogleIcon}\n width={isCompact ? '100%' : 320}\n label=\"Signup with Google\"\n onClick={onGoogleSignup}\n size=\"small\"\n busy={isLoadingGoogle}\n disabled={isLoadingGoogle}\n analyticsLabel={PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED}\n analyticsProps={{ provider: 'google' }}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n Icon={AppleIcon}\n label=\"Signup with Apple\"\n onClick={onAppleSignup}\n busy={isLoadingApple}\n disabled={isLoadingApple}\n analyticsLabel={PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED}\n analyticsProps={{ provider: 'apple' }}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n label=\"Continue with Email\"\n onClick={onEmailSignup}\n analyticsLabel={PLA_ANALYTICS_EVENTS.START_SIGNUP_CTA_CLICKED}\n analyticsProps={{ provider: 'email' }}\n />\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n Already have an account?\n </Text>\n &nbsp;\n <TextButton size=\"small\" label=\"Log In\" color=\"WHITE\" onClick={onGoToLogin} />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(SignupOptions);\n"],"names":["SignupOptions","onEmailSignup","onAppleSignup","onGoogleSignup","loadingProvider","onGoToLogin","title","device","useTheme","isCompact","EDeviceType","isLoadingGoogle","isLoadingApple","jsxs","FlexView","jsx","Text","Separator","Button","GoogleIcon","PLA_ANALYTICS_EVENTS","AppleIcon","TextButton","signupOptions","memo"],"mappings":";;;;;;;;;;;;AAeA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY,QAClCC,IAAkBP,MAAoB,UACtCQ,IAAiBR,MAAoB;AAGzC,SAAA,gBAAAS,EAACC,GAAS,EAAA,aAAY,cACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,aAAY,OAChF,UACHV,EAAA,CAAA;AAAA,IACC,gBAAAS,EAAAE,GAAA,EAAU,SAASR,IAAY,MAAM,KAAK;AAAA,IAC3C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAMC;AAAA,cACN,OAAOV,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASN;AAAA,cACT,MAAK;AAAA,cACL,MAAMQ;AAAA,cACN,UAAUA;AAAA,cACV,gBAAgBS,EAAqB;AAAA,cACrC,gBAAgB,EAAE,UAAU,SAAS;AAAA,YAAA;AAAA,UACvC;AAAA,UACA,gBAAAL;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,MAAMY;AAAAA,cACN,OAAM;AAAA,cACN,SAASnB;AAAA,cACT,MAAMU;AAAA,cACN,UAAUA;AAAA,cACV,gBAAgBQ,EAAqB;AAAA,cACrC,gBAAgB,EAAE,UAAU,QAAQ;AAAA,YAAA;AAAA,UACtC;AAAA,UACA,gBAAAL;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASR;AAAA,cACT,gBAAgBmB,EAAqB;AAAA,cACrC,gBAAgB,EAAE,UAAU,QAAQ;AAAA,YAAA;AAAA,UACtC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAL,EAACE,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAJ,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAErC,4BAAA;AAAA,MAAO;AAAA,MAEP,gBAAAD,EAACO,KAAW,MAAK,SAAQ,OAAM,UAAS,OAAM,SAAQ,SAASjB,EAAa,CAAA;AAAA,IAAA,GAC9E;AAAA,EACF,EAAA,CAAA;AAEJ,GAEekB,IAAAC,EAAKxB,CAAa;"}
@@ -1,73 +1,88 @@
1
- import { jsx as e, jsxs as p, Fragment as G } from "react/jsx-runtime";
2
- import { memo as X, useCallback as b } from "react";
3
- import d from "../../../../../ui/layout/flex-view.js";
4
- import k from "../../../../../ui/loader/app-loader/app-loader.js";
5
- import D from "../../../../../ui/separator/separator.js";
6
- import l from "../../../../../ui/text/text.js";
7
- import C from "../../chapter-item/chapter-item.js";
8
- import { computeRecommendedNCustomChapters as L } from "../utils.js";
9
- import { ChaptersListWrapper as f } from "./chapter-selection-step-styled.js";
10
- const F = X((u) => {
11
- const { formData: $, isProcessing: g, onFormDataChange: m, isGoalCreation: t } = u, { testType: x, primaryChaptersList: o, chapterGoalCategory: A } = $, { primaryGoalCategory: T } = A || {}, a = x === "no-test", { recommendedChaptersList: s, customChaptersList: c } = L(
1
+ import { jsx as r, jsxs as f, Fragment as X } from "react/jsx-runtime";
2
+ import { memo as _, useContext as b, useCallback as k } from "react";
3
+ import C from "../../../../../ui/layout/flex-view.js";
4
+ import w from "../../../../../ui/loader/app-loader/app-loader.js";
5
+ import F from "../../../../../ui/separator/separator.js";
6
+ import m from "../../../../../ui/text/text.js";
7
+ import N from "../../../milestone-create-context.js";
8
+ import $ from "../../chapter-item/chapter-item.js";
9
+ import { computeRecommendedNCustomChapters as R } from "../utils.js";
10
+ import { ChaptersListWrapper as T } from "./chapter-selection-step-styled.js";
11
+ const x = (p, u, d, i) => !p || u ? !0 : (d === "EDIT" || d === "DRAFT_EDIT") && i.recommended === !0, v = _((p) => {
12
+ const { formData: u, isProcessing: d, onFormDataChange: i, isGoalCreation: n } = p, { testType: A, primaryChaptersList: o, chapterGoalCategory: D } = u, { primaryGoalCategory: G } = D || {}, a = A === "no-test", { flow: c } = b(N), { recommendedChaptersList: h, customChaptersList: s } = R(
12
13
  o,
13
- T,
14
- t
15
- ), h = b(
16
- (r) => {
17
- if (t && !a) return null;
18
- const n = o == null ? void 0 : o.map((i) => i.id === r ? {
19
- ...i,
20
- added: !i.added
21
- } : i);
22
- m({
23
- primaryChaptersList: n
14
+ G,
15
+ n
16
+ ), g = k(
17
+ (t) => {
18
+ if (n && !a) {
19
+ const e = o == null ? void 0 : o.find((I) => I.id === t);
20
+ if (!((c === "EDIT" || c === "DRAFT_EDIT") && (e == null ? void 0 : e.recommended) === !0)) return null;
21
+ }
22
+ const l = o == null ? void 0 : o.map((e) => e.id === t ? {
23
+ ...e,
24
+ added: !e.added
25
+ } : e);
26
+ i({
27
+ primaryChaptersList: l
24
28
  });
25
29
  },
26
- [o, a, t, m]
30
+ [o, a, n, i, c]
27
31
  );
28
- return g ? /* @__PURE__ */ e(
29
- f,
32
+ return d ? /* @__PURE__ */ r(
33
+ T,
30
34
  {
31
35
  $gapX: 1.5,
32
36
  $gutterX: 1.5,
33
37
  $flexGapX: 1.25,
34
38
  $justifyContent: "center",
35
39
  $alignItems: "center",
36
- children: /* @__PURE__ */ e(k, {})
40
+ children: /* @__PURE__ */ r(w, {})
37
41
  }
38
- ) : /* @__PURE__ */ p(f, { $gapX: 1.5, $gutterX: 1.5, $flexGapX: 1.25, children: [
39
- /* @__PURE__ */ p(d, { $flexDirection: "row", $flexGap: 4, $alignItems: "center", children: [
40
- /* @__PURE__ */ e(l, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Recommended Chapters" }),
41
- a && /* @__PURE__ */ e(l, { $renderAs: "ub2", $color: "BLACK_T_60", children: "(Click on any chapter to exclude it)" })
42
+ ) : /* @__PURE__ */ f(T, { $gapX: 1.5, $gutterX: 1.5, $flexGapX: 1.25, children: [
43
+ /* @__PURE__ */ f(C, { $flexDirection: "row", $flexGap: 4, $alignItems: "center", children: [
44
+ /* @__PURE__ */ r(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Recommended Chapters" }),
45
+ a && /* @__PURE__ */ r(m, { $renderAs: "ub2", $color: "BLACK_T_60", children: "(Click on any chapter to exclude it)" })
42
46
  ] }),
43
- /* @__PURE__ */ e(d, { $flexDirection: "row", $flexWrap: !0, $flexGapX: 1.25, children: s.length > 0 ? s.map((r, n) => /* @__PURE__ */ e(
44
- C,
45
- {
46
- chapterData: r,
47
- chapterNo: n + 1,
48
- canAddChapter: !t || a,
49
- onChapterItemClick: h
50
- },
51
- r.id
52
- )) : /* @__PURE__ */ e(l, { $renderAs: "ub1", children: "No recommended chapters available" }) }),
53
- !!(c != null && c.length) && /* @__PURE__ */ p(G, { children: [
54
- /* @__PURE__ */ e(D, { height: 8, background: "TRANSPARENT" }),
55
- /* @__PURE__ */ e(l, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Custom chapters" }),
56
- /* @__PURE__ */ e(d, { $flexDirection: "row", $flexWrap: !0, $flexGapX: 1.25, children: c.map((r, n) => /* @__PURE__ */ e(
57
- C,
47
+ /* @__PURE__ */ r(C, { $flexDirection: "row", $flexWrap: !0, $flexGapX: 1.25, children: h.length > 0 ? h.map((t, l) => {
48
+ const e = x(n, a, c, t);
49
+ return /* @__PURE__ */ r(
50
+ $,
58
51
  {
59
- chapterData: r,
60
- canAddChapter: !t || a,
61
- chapterNo: n + 1,
62
- onChapterItemClick: h,
63
- showChapterTags: !0
52
+ chapterData: t,
53
+ chapterNo: l + 1,
54
+ canAddChapter: e,
55
+ onChapterItemClick: g
64
56
  },
65
- r.id
66
- )) })
57
+ t.id
58
+ );
59
+ }) : /* @__PURE__ */ r(m, { $renderAs: "ub1", children: "No recommended chapters available" }) }),
60
+ !!(s != null && s.length) && /* @__PURE__ */ f(X, { children: [
61
+ /* @__PURE__ */ r(F, { height: 8, background: "TRANSPARENT" }),
62
+ /* @__PURE__ */ r(m, { $renderAs: "ac4-black", $color: "BLACK_T_60", children: "Custom chapters" }),
63
+ /* @__PURE__ */ r(C, { $flexDirection: "row", $flexWrap: !0, $flexGapX: 1.25, children: s.map((t, l) => {
64
+ const e = x(
65
+ n,
66
+ a,
67
+ c,
68
+ t
69
+ );
70
+ return /* @__PURE__ */ r(
71
+ $,
72
+ {
73
+ chapterData: t,
74
+ canAddChapter: e,
75
+ chapterNo: l + 1,
76
+ onChapterItemClick: g,
77
+ showChapterTags: !0
78
+ },
79
+ t.id
80
+ );
81
+ }) })
67
82
  ] })
68
83
  ] });
69
84
  });
70
85
  export {
71
- F as default
86
+ v as default
72
87
  };
73
88
  //# sourceMappingURL=chapters-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-list.js","sources":["../../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapter-selection-step-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport AppLoader from '../../../../../ui/loader/app-loader/app-loader';\nimport Seperator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport ChapterItemV2 from '../../chapter-item/chapter-item';\nimport { computeRecommendedNCustomChapters } from '../utils';\nimport * as Styled from './chapter-selection-step-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(props => {\n const { formData, isProcessing, onFormDataChange, isGoalCreation } = props;\n const { testType, primaryChaptersList, chapterGoalCategory } = formData;\n const { primaryGoalCategory } = chapterGoalCategory || {};\n const isSchoolSuccess = testType === 'no-test';\n\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryChaptersList,\n primaryGoalCategory,\n isGoalCreation,\n );\n\n const handleChapterToggled = useCallback(\n (chapterId: string) => {\n //* If category is Test prep or Enrichment, Then one can not deselect the chapters.\n if (isGoalCreation && !isSchoolSuccess) return null;\n\n const updatedChaptersList = primaryChaptersList?.map(chapter => {\n if (chapter.id === chapterId) {\n return {\n ...chapter,\n added: !chapter.added,\n };\n }\n\n return chapter;\n });\n\n onFormDataChange({\n primaryChaptersList: updatedChaptersList,\n });\n },\n [primaryChaptersList, isSchoolSuccess, isGoalCreation, onFormDataChange],\n );\n\n if (isProcessing) {\n return (\n <Styled.ChaptersListWrapper\n $gapX={1.5}\n $gutterX={1.5}\n $flexGapX={1.25}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <AppLoader />\n </Styled.ChaptersListWrapper>\n );\n }\n\n return (\n <Styled.ChaptersListWrapper $gapX={1.5} $gutterX={1.5} $flexGapX={1.25}>\n <FlexView $flexDirection=\"row\" $flexGap={4} $alignItems=\"center\">\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Recommended Chapters\n </Text>\n\n {isSchoolSuccess && (\n <Text $renderAs=\"ub2\" $color=\"BLACK_T_60\">\n (Click on any chapter to exclude it)\n </Text>\n )}\n </FlexView>\n\n <FlexView $flexDirection=\"row\" $flexWrap $flexGapX={1.25}>\n {recommendedChaptersList.length > 0 ? (\n recommendedChaptersList.map((chapter, idx) => {\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n chapterNo={idx + 1}\n canAddChapter={!isGoalCreation || isSchoolSuccess}\n onChapterItemClick={handleChapterToggled}\n />\n );\n })\n ) : (\n <Text $renderAs=\"ub1\">No recommended chapters available</Text>\n )}\n </FlexView>\n\n {!!customChaptersList?.length && (\n <>\n <Seperator height={8} background=\"TRANSPARENT\" />\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Custom chapters\n </Text>\n\n <FlexView $flexDirection=\"row\" $flexWrap $flexGapX={1.25}>\n {customChaptersList.map((chapter, idx) => {\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n canAddChapter={!isGoalCreation || isSchoolSuccess}\n chapterNo={idx + 1}\n onChapterItemClick={handleChapterToggled}\n showChapterTags\n />\n );\n })}\n </FlexView>\n </>\n )}\n </Styled.ChaptersListWrapper>\n );\n});\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","props","formData","isProcessing","onFormDataChange","isGoalCreation","testType","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","isSchoolSuccess","recommendedChaptersList","customChaptersList","computeRecommendedNCustomChapters","handleChapterToggled","useCallback","chapterId","updatedChaptersList","chapter","jsx","Styled.ChaptersListWrapper","AppLoader","jsxs","FlexView","Text","idx","ChapterItemV2","Fragment","Seperator"],"mappings":";;;;;;;;;AAaM,MAAAA,IAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,UAAAC,GAAU,cAAAC,GAAc,kBAAAC,GAAkB,gBAAAC,MAAmBJ,GAC/D,EAAE,UAAAK,GAAU,qBAAAC,GAAqB,qBAAAC,EAAA,IAAwBN,GACzD,EAAE,qBAAAO,EAAA,IAAwBD,KAAuB,IACjDE,IAAkBJ,MAAa,WAE/B,EAAE,yBAAAK,GAAyB,oBAAAC,EAAA,IAAuBC;AAAA,IACtDN;AAAA,IACAE;AAAA,IACAJ;AAAA,EAAA,GAGIS,IAAuBC;AAAA,IAC3B,CAACC,MAAsB;AAEjB,UAAAX,KAAkB,CAACK,EAAwB,QAAA;AAEzC,YAAAO,IAAsBV,KAAA,gBAAAA,EAAqB,IAAI,CAAWW,MAC1DA,EAAQ,OAAOF,IACV;AAAA,QACL,GAAGE;AAAA,QACH,OAAO,CAACA,EAAQ;AAAA,MAAA,IAIbA;AAGQ,MAAAd,EAAA;AAAA,QACf,qBAAqBa;AAAA,MAAA,CACtB;AAAA,IACH;AAAA,IACA,CAACV,GAAqBG,GAAiBL,GAAgBD,CAAgB;AAAA,EAAA;AAGzE,SAAID,IAEA,gBAAAgB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW;AAAA,MACX,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEZ,4BAACC,GAAU,EAAA;AAAA,IAAA;AAAA,EAAA,IAMf,gBAAAC,EAACF,GAAA,EAA2B,OAAO,KAAK,UAAU,KAAK,WAAW,MAChE,UAAA;AAAA,IAAA,gBAAAE,EAACC,KAAS,gBAAe,OAAM,UAAU,GAAG,aAAY,UACtD,UAAA;AAAA,MAAA,gBAAAJ,EAACK,GAAK,EAAA,WAAU,aAAY,QAAO,cAAa,UAEhD,wBAAA;AAAA,MAECd,KACE,gBAAAS,EAAAK,GAAA,EAAK,WAAU,OAAM,QAAO,cAAa,UAE1C,wCAAA;AAAA,IAAA,GAEJ;AAAA,IAEC,gBAAAL,EAAAI,GAAA,EAAS,gBAAe,OAAM,WAAS,IAAC,WAAW,MACjD,UAAAZ,EAAwB,SAAS,IAChCA,EAAwB,IAAI,CAACO,GAASO,MAElC,gBAAAN;AAAA,MAACO;AAAA,MAAA;AAAA,QAEC,aAAaR;AAAA,QACb,WAAWO,IAAM;AAAA,QACjB,eAAe,CAACpB,KAAkBK;AAAA,QAClC,oBAAoBI;AAAA,MAAA;AAAA,MAJfI,EAAQ;AAAA,IAAA,CAOlB,IAED,gBAAAC,EAACK,KAAK,WAAU,OAAM,8CAAiC,CAAA,GAE3D;AAAA,IAEC,CAAC,EAACZ,KAAA,QAAAA,EAAoB,WAEnB,gBAAAU,EAAAK,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAR,EAACS,GAAU,EAAA,QAAQ,GAAG,YAAW,eAAc;AAAA,wBAE9CJ,GAAK,EAAA,WAAU,aAAY,QAAO,cAAa,UAEhD,mBAAA;AAAA,MAEC,gBAAAL,EAAAI,GAAA,EAAS,gBAAe,OAAM,WAAS,IAAC,WAAW,MACjD,UAAmBX,EAAA,IAAI,CAACM,GAASO,MAE9B,gBAAAN;AAAA,QAACO;AAAA,QAAA;AAAA,UAEC,aAAaR;AAAA,UACb,eAAe,CAACb,KAAkBK;AAAA,UAClC,WAAWe,IAAM;AAAA,UACjB,oBAAoBX;AAAA,UACpB,iBAAe;AAAA,QAAA;AAAA,QALVI,EAAQ;AAAA,MAAA,CAQlB,GACH;AAAA,IAAA,GACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"chapters-list.js","sources":["../../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.tsx"],"sourcesContent":["import type { TMilestoneFormFlow } from '../../../milestone-create-types';\nimport type { IChapter } from '../../chapter-item/chapter-item-types';\nimport type { IChaptersListProps } from './chapter-selection-step-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useContext } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport AppLoader from '../../../../../ui/loader/app-loader/app-loader';\nimport Seperator from '../../../../../ui/separator/separator';\nimport Text from '../../../../../ui/text/text';\nimport MilestoneCreateContext from '../../../milestone-create-context';\nimport ChapterItemV2 from '../../chapter-item/chapter-item';\nimport { computeRecommendedNCustomChapters } from '../utils';\nimport * as Styled from './chapter-selection-step-styled';\n\nconst getCanAddChapter = (\n isGoalCreation: boolean | undefined,\n isSchoolSuccess: boolean,\n flow: TMilestoneFormFlow | null,\n chapter: IChapter,\n): boolean => {\n // For school success, chapters can always be toggled\n if (!isGoalCreation || isSchoolSuccess) {\n return true;\n }\n\n // For non-school success test types\n const canToggleBasedOnFlow =\n (flow === 'EDIT' || flow === 'DRAFT_EDIT') && chapter.recommended === true;\n\n return canToggleBasedOnFlow;\n};\n\nconst ChaptersList: FC<IChaptersListProps> = memo(props => {\n const { formData, isProcessing, onFormDataChange, isGoalCreation } = props;\n const { testType, primaryChaptersList, chapterGoalCategory } = formData;\n const { primaryGoalCategory } = chapterGoalCategory || {};\n const isSchoolSuccess = testType === 'no-test';\n\n const { flow } = useContext(MilestoneCreateContext);\n\n const { recommendedChaptersList, customChaptersList } = computeRecommendedNCustomChapters(\n primaryChaptersList,\n primaryGoalCategory,\n isGoalCreation,\n );\n\n const handleChapterToggled = useCallback(\n (chapterId: string) => {\n //* If category is Test prep or Enrichment, Then one can not deselect the chapters.\n //* Unless the flow is EDIT or DRAFT_EDIT and chapter has recommended info true.\n if (isGoalCreation && !isSchoolSuccess) {\n const chapter = primaryChaptersList?.find(ch => ch.id === chapterId);\n const canToggle =\n (flow === 'EDIT' || flow === 'DRAFT_EDIT') && chapter?.recommended === true;\n\n if (!canToggle) return null;\n }\n\n const updatedChaptersList = primaryChaptersList?.map(chapter => {\n if (chapter.id === chapterId) {\n return {\n ...chapter,\n added: !chapter.added,\n };\n }\n\n return chapter;\n });\n\n onFormDataChange({\n primaryChaptersList: updatedChaptersList,\n });\n },\n [primaryChaptersList, isSchoolSuccess, isGoalCreation, onFormDataChange, flow],\n );\n\n if (isProcessing) {\n return (\n <Styled.ChaptersListWrapper\n $gapX={1.5}\n $gutterX={1.5}\n $flexGapX={1.25}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <AppLoader />\n </Styled.ChaptersListWrapper>\n );\n }\n\n return (\n <Styled.ChaptersListWrapper $gapX={1.5} $gutterX={1.5} $flexGapX={1.25}>\n <FlexView $flexDirection=\"row\" $flexGap={4} $alignItems=\"center\">\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Recommended Chapters\n </Text>\n\n {isSchoolSuccess && (\n <Text $renderAs=\"ub2\" $color=\"BLACK_T_60\">\n (Click on any chapter to exclude it)\n </Text>\n )}\n </FlexView>\n\n <FlexView $flexDirection=\"row\" $flexWrap $flexGapX={1.25}>\n {recommendedChaptersList.length > 0 ? (\n recommendedChaptersList.map((chapter, idx) => {\n const canAddChapter = getCanAddChapter(isGoalCreation, isSchoolSuccess, flow, chapter);\n\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n chapterNo={idx + 1}\n canAddChapter={canAddChapter}\n onChapterItemClick={handleChapterToggled}\n />\n );\n })\n ) : (\n <Text $renderAs=\"ub1\">No recommended chapters available</Text>\n )}\n </FlexView>\n\n {!!customChaptersList?.length && (\n <>\n <Seperator height={8} background=\"TRANSPARENT\" />\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK_T_60\">\n Custom chapters\n </Text>\n\n <FlexView $flexDirection=\"row\" $flexWrap $flexGapX={1.25}>\n {customChaptersList.map((chapter, idx) => {\n const canAddChapter = getCanAddChapter(\n isGoalCreation,\n isSchoolSuccess,\n flow,\n chapter,\n );\n\n return (\n <ChapterItemV2\n key={chapter.id}\n chapterData={chapter}\n canAddChapter={canAddChapter}\n chapterNo={idx + 1}\n onChapterItemClick={handleChapterToggled}\n showChapterTags\n />\n );\n })}\n </FlexView>\n </>\n )}\n </Styled.ChaptersListWrapper>\n );\n});\n\nexport default ChaptersList;\n"],"names":["getCanAddChapter","isGoalCreation","isSchoolSuccess","flow","chapter","ChaptersList","memo","props","formData","isProcessing","onFormDataChange","testType","primaryChaptersList","chapterGoalCategory","primaryGoalCategory","useContext","MilestoneCreateContext","recommendedChaptersList","customChaptersList","computeRecommendedNCustomChapters","handleChapterToggled","useCallback","chapterId","ch","updatedChaptersList","jsx","Styled.ChaptersListWrapper","AppLoader","jsxs","FlexView","Text","idx","canAddChapter","ChapterItemV2","Fragment","Seperator"],"mappings":";;;;;;;;;;AAgBA,MAAMA,IAAmB,CACvBC,GACAC,GACAC,GACAC,MAGI,CAACH,KAAkBC,IACd,MAKNC,MAAS,UAAUA,MAAS,iBAAiBC,EAAQ,gBAAgB,IAKpEC,IAAuCC,EAAK,CAASC,MAAA;AACzD,QAAM,EAAE,UAAAC,GAAU,cAAAC,GAAc,kBAAAC,GAAkB,gBAAAT,MAAmBM,GAC/D,EAAE,UAAAI,GAAU,qBAAAC,GAAqB,qBAAAC,EAAA,IAAwBL,GACzD,EAAE,qBAAAM,EAAA,IAAwBD,KAAuB,IACjDX,IAAkBS,MAAa,WAE/B,EAAE,MAAAR,EAAA,IAASY,EAAWC,CAAsB,GAE5C,EAAE,yBAAAC,GAAyB,oBAAAC,EAAA,IAAuBC;AAAA,IACtDP;AAAA,IACAE;AAAA,IACAb;AAAA,EAAA,GAGImB,IAAuBC;AAAA,IAC3B,CAACC,MAAsB;AAGjB,UAAArB,KAAkB,CAACC,GAAiB;AACtC,cAAME,IAAUQ,KAAA,gBAAAA,EAAqB,KAAK,CAAMW,MAAAA,EAAG,OAAOD;AAItD,YAAA,GAFDnB,MAAS,UAAUA,MAAS,kBAAiBC,KAAA,gBAAAA,EAAS,iBAAgB,IAElD,QAAA;AAAA,MACzB;AAEM,YAAAoB,IAAsBZ,KAAA,gBAAAA,EAAqB,IAAI,CAAWR,MAC1DA,EAAQ,OAAOkB,IACV;AAAA,QACL,GAAGlB;AAAA,QACH,OAAO,CAACA,EAAQ;AAAA,MAAA,IAIbA;AAGQ,MAAAM,EAAA;AAAA,QACf,qBAAqBc;AAAA,MAAA,CACtB;AAAA,IACH;AAAA,IACA,CAACZ,GAAqBV,GAAiBD,GAAgBS,GAAkBP,CAAI;AAAA,EAAA;AAG/E,SAAIM,IAEA,gBAAAgB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW;AAAA,MACX,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEZ,4BAACC,GAAU,EAAA;AAAA,IAAA;AAAA,EAAA,IAMf,gBAAAC,EAACF,GAAA,EAA2B,OAAO,KAAK,UAAU,KAAK,WAAW,MAChE,UAAA;AAAA,IAAA,gBAAAE,EAACC,KAAS,gBAAe,OAAM,UAAU,GAAG,aAAY,UACtD,UAAA;AAAA,MAAA,gBAAAJ,EAACK,GAAK,EAAA,WAAU,aAAY,QAAO,cAAa,UAEhD,wBAAA;AAAA,MAEC5B,KACE,gBAAAuB,EAAAK,GAAA,EAAK,WAAU,OAAM,QAAO,cAAa,UAE1C,wCAAA;AAAA,IAAA,GAEJ;AAAA,IAEC,gBAAAL,EAAAI,GAAA,EAAS,gBAAe,OAAM,WAAS,IAAC,WAAW,MACjD,UAAAZ,EAAwB,SAAS,IAChCA,EAAwB,IAAI,CAACb,GAAS2B,MAAQ;AAC5C,YAAMC,IAAgBhC,EAAiBC,GAAgBC,GAAiBC,GAAMC,CAAO;AAGnF,aAAA,gBAAAqB;AAAA,QAACQ;AAAA,QAAA;AAAA,UAEC,aAAa7B;AAAA,UACb,WAAW2B,IAAM;AAAA,UACjB,eAAAC;AAAA,UACA,oBAAoBZ;AAAA,QAAA;AAAA,QAJfhB,EAAQ;AAAA,MAAA;AAAA,IAKf,CAEH,IAED,gBAAAqB,EAACK,KAAK,WAAU,OAAM,8CAAiC,CAAA,GAE3D;AAAA,IAEC,CAAC,EAACZ,KAAA,QAAAA,EAAoB,WAEnB,gBAAAU,EAAAM,GAAA,EAAA,UAAA;AAAA,MAAA,gBAAAT,EAACU,GAAU,EAAA,QAAQ,GAAG,YAAW,eAAc;AAAA,wBAE9CL,GAAK,EAAA,WAAU,aAAY,QAAO,cAAa,UAEhD,mBAAA;AAAA,MAEC,gBAAAL,EAAAI,GAAA,EAAS,gBAAe,OAAM,WAAS,IAAC,WAAW,MACjD,UAAmBX,EAAA,IAAI,CAACd,GAAS2B,MAAQ;AACxC,cAAMC,IAAgBhC;AAAA,UACpBC;AAAA,UACAC;AAAA,UACAC;AAAA,UACAC;AAAA,QAAA;AAIA,eAAA,gBAAAqB;AAAA,UAACQ;AAAA,UAAA;AAAA,YAEC,aAAa7B;AAAA,YACb,eAAA4B;AAAA,YACA,WAAWD,IAAM;AAAA,YACjB,oBAAoBX;AAAA,YACpB,iBAAe;AAAA,UAAA;AAAA,UALVhB,EAAQ;AAAA,QAAA;AAAA,MAQlB,CAAA,GACH;AAAA,IAAA,GACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}