@cuemath/leap 3.5.33 → 3.5.34-as3

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.
@@ -24,8 +24,8 @@ const p = 360 / 100, j = m(
24
24
  $justifyContent: "center",
25
25
  $alignItems: "center",
26
26
  children: [
27
- /* @__PURE__ */ h($, { children: [
28
- /* @__PURE__ */ e(A, { width: `${r}px`, height: `${r}px`, children: /* @__PURE__ */ e(
27
+ /* @__PURE__ */ e($, { children: /* @__PURE__ */ h(A, { width: `${r}px`, height: `${r}px`, children: [
28
+ /* @__PURE__ */ e(
29
29
  I,
30
30
  {
31
31
  $progress: 0,
@@ -33,7 +33,7 @@ const p = 360 / 100, j = m(
33
33
  cx: r / 2,
34
34
  cy: r / 2
35
35
  }
36
- ) }),
36
+ ),
37
37
  /* @__PURE__ */ e(
38
38
  c,
39
39
  {
@@ -59,7 +59,7 @@ const p = 360 / 100, j = m(
59
59
  mode: "fade"
60
60
  }
61
61
  )
62
- ] }),
62
+ ] }) }),
63
63
  /* @__PURE__ */ e(u, { src: C, alt: "Chapter Image", $imageWidth: r }),
64
64
  d && /* @__PURE__ */ e(
65
65
  x,
@@ -1 +1 @@
1
- {"version":3,"file":"chapter-circular-progress.js","sources":["../../../../../../src/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport * as Styled from './chapter-circular-progress.styled';\nimport { type IChapterCircularProgressProps } from './chapter-circular-progress.types';\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport AnimatedArc from '../../../../ui/animated-arc/animated-arc';\n\nconst CIRCLE_DEGREES = 360 / 100;\n\nconst ChapterCircularProgress: FC<IChapterCircularProgressProps> = memo(\n function ChapterCircularProgress({\n completionPercentage,\n imageUrl,\n delta,\n imageWidth = 96,\n iconWidth = 20,\n iconColor = 'BLACK_1',\n iconPosition = { top: 5, right: 5 },\n iconBackgroundColor = 'WHITE_1',\n deltaProgressColor = 'GREEN_5',\n }) {\n const showAdditionalProgress = delta && delta > 0 && deltaProgressColor;\n const isChapterComplete = completionPercentage + (delta ?? 0) === 100;\n\n return (\n <Styled.ChapterImageWrapper\n $width=\"fit-content\"\n $position=\"relative\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <Styled.ChapterProgressWrapper>\n <Styled.ChapterProgressSVG width={`${imageWidth}px`} height={`${imageWidth}px`}>\n <Styled.ChapterProgressSVGCircle\n $progress={0}\n r={imageWidth / 2 - 1}\n cx={imageWidth / 2}\n cy={imageWidth / 2}\n />\n </Styled.ChapterProgressSVG>\n <AnimatedArc\n startAngle={0}\n targetAngle={(completionPercentage - 0.00001) * CIRCLE_DEGREES} // added .00001 to avoid full circle bug\n strokeWidth={2}\n radius={imageWidth / 2}\n zIndex={2}\n color=\"BLACK_1\"\n mode=\"fade\"\n />\n {!!showAdditionalProgress && (\n <AnimatedArc\n startAngle={completionPercentage * CIRCLE_DEGREES}\n targetAngle={delta * CIRCLE_DEGREES}\n strokeWidth={2}\n color={deltaProgressColor}\n radius={imageWidth / 2}\n showAnimatedRainbowArc={false}\n zIndex={2}\n mode=\"fade\"\n />\n )}\n </Styled.ChapterProgressWrapper>\n <Styled.ChapterImage src={imageUrl} alt=\"Chapter Image\" $imageWidth={imageWidth} />\n {isChapterComplete && (\n <Styled.StyledCheckIconWrapper\n $top={iconPosition.top}\n $right={iconPosition.right}\n $width={iconWidth}\n $background={iconBackgroundColor}\n >\n <Check2Icon width={iconWidth} height={iconWidth} color={iconColor} />\n </Styled.StyledCheckIconWrapper>\n )}\n </Styled.ChapterImageWrapper>\n );\n },\n);\n\nexport default ChapterCircularProgress;\n"],"names":["CIRCLE_DEGREES","ChapterCircularProgress","memo","completionPercentage","imageUrl","delta","imageWidth","iconWidth","iconColor","iconPosition","iconBackgroundColor","deltaProgressColor","showAdditionalProgress","isChapterComplete","jsxs","Styled.ChapterImageWrapper","Styled.ChapterProgressWrapper","jsx","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","AnimatedArc","Styled.ChapterImage","Styled.StyledCheckIconWrapper","Check2Icon"],"mappings":";;;;;AAOA,MAAMA,IAAiB,MAAM,KAEvBC,IAA6DC;AAAA,EACjE,SAAiC;AAAA,IAC/B,sBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,cAAAC,IAAe,EAAE,KAAK,GAAG,OAAO,EAAE;AAAA,IAClC,qBAAAC,IAAsB;AAAA,IACtB,oBAAAC,IAAqB;AAAA,EAAA,GACpB;AACK,UAAAC,IAAyBP,KAASA,IAAQ,KAAKM,GAC/CE,IAAoBV,KAAwBE,KAAS,OAAO;AAGhE,WAAA,gBAAAS;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,QAAO;AAAA,QACP,WAAU;AAAA,QACV,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAC,gBAAAD,EAAAE,GAAA,EACC,UAAA;AAAA,YAAC,gBAAAC,EAAAC,GAAA,EAA0B,OAAO,GAAGZ,CAAU,MAAM,QAAQ,GAAGA,CAAU,MACxE,UAAA,gBAAAW;AAAA,cAACE;AAAAA,cAAA;AAAA,gBACC,WAAW;AAAA,gBACX,GAAGb,IAAa,IAAI;AAAA,gBACpB,IAAIA,IAAa;AAAA,gBACjB,IAAIA,IAAa;AAAA,cAAA;AAAA,YAAA,GAErB;AAAA,YACA,gBAAAW;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,YAAY;AAAA,gBACZ,cAAcjB,IAAuB,QAAWH;AAAA,gBAChD,aAAa;AAAA,gBACb,QAAQM,IAAa;AAAA,gBACrB,QAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,MAAK;AAAA,cAAA;AAAA,YACP;AAAA,YACC,CAAC,CAACM,KACD,gBAAAK;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,YAAYjB,IAAuBH;AAAA,gBACnC,aAAaK,IAAQL;AAAA,gBACrB,aAAa;AAAA,gBACb,OAAOW;AAAA,gBACP,QAAQL,IAAa;AAAA,gBACrB,wBAAwB;AAAA,gBACxB,QAAQ;AAAA,gBACR,MAAK;AAAA,cAAA;AAAA,YACP;AAAA,UAAA,GAEJ;AAAA,UACA,gBAAAW,EAACI,GAAA,EAAoB,KAAKjB,GAAU,KAAI,iBAAgB,aAAaE,GAAY;AAAA,UAChFO,KACC,gBAAAI;AAAA,YAACK;AAAAA,YAAA;AAAA,cACC,MAAMb,EAAa;AAAA,cACnB,QAAQA,EAAa;AAAA,cACrB,QAAQF;AAAA,cACR,aAAaG;AAAA,cAEb,4BAACa,GAAW,EAAA,OAAOhB,GAAW,QAAQA,GAAW,OAAOC,GAAW;AAAA,YAAA;AAAA,UACrE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
1
+ {"version":3,"file":"chapter-circular-progress.js","sources":["../../../../../../src/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport * as Styled from './chapter-circular-progress.styled';\nimport { type IChapterCircularProgressProps } from './chapter-circular-progress.types';\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport AnimatedArc from '../../../../ui/animated-arc/animated-arc';\n\nconst CIRCLE_DEGREES = 360 / 100;\n\nconst ChapterCircularProgress: FC<IChapterCircularProgressProps> = memo(\n function ChapterCircularProgress({\n completionPercentage,\n imageUrl,\n delta,\n imageWidth = 96,\n iconWidth = 20,\n iconColor = 'BLACK_1',\n iconPosition = { top: 5, right: 5 },\n iconBackgroundColor = 'WHITE_1',\n deltaProgressColor = 'GREEN_5',\n }) {\n const showAdditionalProgress = delta && delta > 0 && deltaProgressColor;\n const isChapterComplete = completionPercentage + (delta ?? 0) === 100;\n\n return (\n <Styled.ChapterImageWrapper\n $width=\"fit-content\"\n $position=\"relative\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <Styled.ChapterProgressWrapper>\n <Styled.ChapterProgressSVG width={`${imageWidth}px`} height={`${imageWidth}px`}>\n <Styled.ChapterProgressSVGCircle\n $progress={0}\n r={imageWidth / 2 - 1}\n cx={imageWidth / 2}\n cy={imageWidth / 2}\n />\n <AnimatedArc\n startAngle={0}\n targetAngle={(completionPercentage - 0.00001) * CIRCLE_DEGREES} // added .00001 to avoid full circle bug\n strokeWidth={2}\n radius={imageWidth / 2}\n zIndex={2}\n color=\"BLACK_1\"\n mode=\"fade\"\n />\n {!!showAdditionalProgress && (\n <AnimatedArc\n startAngle={completionPercentage * CIRCLE_DEGREES}\n targetAngle={delta * CIRCLE_DEGREES}\n strokeWidth={2}\n color={deltaProgressColor}\n radius={imageWidth / 2}\n showAnimatedRainbowArc={false}\n zIndex={2}\n mode=\"fade\"\n />\n )}\n </Styled.ChapterProgressSVG>\n </Styled.ChapterProgressWrapper>\n <Styled.ChapterImage src={imageUrl} alt=\"Chapter Image\" $imageWidth={imageWidth} />\n {isChapterComplete && (\n <Styled.StyledCheckIconWrapper\n $top={iconPosition.top}\n $right={iconPosition.right}\n $width={iconWidth}\n $background={iconBackgroundColor}\n >\n <Check2Icon width={iconWidth} height={iconWidth} color={iconColor} />\n </Styled.StyledCheckIconWrapper>\n )}\n </Styled.ChapterImageWrapper>\n );\n },\n);\n\nexport default ChapterCircularProgress;\n"],"names":["CIRCLE_DEGREES","ChapterCircularProgress","memo","completionPercentage","imageUrl","delta","imageWidth","iconWidth","iconColor","iconPosition","iconBackgroundColor","deltaProgressColor","showAdditionalProgress","isChapterComplete","jsxs","Styled.ChapterImageWrapper","jsx","Styled.ChapterProgressWrapper","Styled.ChapterProgressSVG","Styled.ChapterProgressSVGCircle","AnimatedArc","Styled.ChapterImage","Styled.StyledCheckIconWrapper","Check2Icon"],"mappings":";;;;;AAOA,MAAMA,IAAiB,MAAM,KAEvBC,IAA6DC;AAAA,EACjE,SAAiC;AAAA,IAC/B,sBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,cAAAC,IAAe,EAAE,KAAK,GAAG,OAAO,EAAE;AAAA,IAClC,qBAAAC,IAAsB;AAAA,IACtB,oBAAAC,IAAqB;AAAA,EAAA,GACpB;AACK,UAAAC,IAAyBP,KAASA,IAAQ,KAAKM,GAC/CE,IAAoBV,KAAwBE,KAAS,OAAO;AAGhE,WAAA,gBAAAS;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,QAAO;AAAA,QACP,WAAU;AAAA,QACV,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAH,EAACI,GAAA,EAA0B,OAAO,GAAGZ,CAAU,MAAM,QAAQ,GAAGA,CAAU,MACxE,UAAA;AAAA,YAAA,gBAAAU;AAAA,cAACG;AAAAA,cAAA;AAAA,gBACC,WAAW;AAAA,gBACX,GAAGb,IAAa,IAAI;AAAA,gBACpB,IAAIA,IAAa;AAAA,gBACjB,IAAIA,IAAa;AAAA,cAAA;AAAA,YACnB;AAAA,YACA,gBAAAU;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,YAAY;AAAA,gBACZ,cAAcjB,IAAuB,QAAWH;AAAA,gBAChD,aAAa;AAAA,gBACb,QAAQM,IAAa;AAAA,gBACrB,QAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,MAAK;AAAA,cAAA;AAAA,YACP;AAAA,YACC,CAAC,CAACM,KACD,gBAAAI;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,YAAYjB,IAAuBH;AAAA,gBACnC,aAAaK,IAAQL;AAAA,gBACrB,aAAa;AAAA,gBACb,OAAOW;AAAA,gBACP,QAAQL,IAAa;AAAA,gBACrB,wBAAwB;AAAA,gBACxB,QAAQ;AAAA,gBACR,MAAK;AAAA,cAAA;AAAA,YACP;AAAA,UAAA,EAAA,CAEJ,EACF,CAAA;AAAA,UACA,gBAAAU,EAACK,GAAA,EAAoB,KAAKjB,GAAU,KAAI,iBAAgB,aAAaE,GAAY;AAAA,UAChFO,KACC,gBAAAG;AAAA,YAACM;AAAAA,YAAA;AAAA,cACC,MAAMb,EAAa;AAAA,cACnB,QAAQA,EAAa;AAAA,cACrB,QAAQF;AAAA,cACR,aAAaG;AAAA,cAEb,4BAACa,GAAW,EAAA,OAAOhB,GAAW,QAAQA,GAAW,OAAOC,GAAW;AAAA,YAAA;AAAA,UACrE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
@@ -1,8 +1,8 @@
1
1
  import s from "styled-components";
2
2
  import p from "../../../../ui/layout/flex-view.js";
3
- const h = s(p)`
3
+ const l = s(p)`
4
4
  transition: scale 0.3s ease-in-out;
5
- `, l = s(p)`
5
+ `, g = s(p)`
6
6
  position: absolute;
7
7
  width: 100%;
8
8
  height: 100%;
@@ -33,7 +33,7 @@ const h = s(p)`
33
33
  position: absolute;
34
34
  z-index: ${t.zIndex.CHAPTER_PROGRESS_SVG};
35
35
  inset: 50%;
36
- transform: translate(-50%, -50%) rotate(-90deg);
36
+ transform: translate(-50%, -50%);
37
37
  `), b = s.circle(
38
38
  ({ theme: t, $progressCircle: o, $progress: r }) => {
39
39
  const { GREY_2: e, BLACK: a } = t.colors, { gutter: n } = t.layout, i = n * 18.625, d = o ? i - r : r;
@@ -68,10 +68,10 @@ const h = s(p)`
68
68
  `);
69
69
  export {
70
70
  x as ChapterImage,
71
- h as ChapterImageWrapper,
71
+ l as ChapterImageWrapper,
72
72
  u as ChapterProgressSVG,
73
73
  b as ChapterProgressSVGCircle,
74
- l as ChapterProgressWrapper,
74
+ g as ChapterProgressWrapper,
75
75
  f as StyledCheckIconWrapper
76
76
  };
77
77
  //# sourceMappingURL=chapter-circular-progress.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapter-circular-progress.styled.js","sources":["../../../../../../src/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { type TColorNames } from '../../../../ui/types';\n\nexport const ChapterImageWrapper = styled(FlexView)`\n transition: scale 0.3s ease-in-out;\n`;\n\nexport const ChapterProgressWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n width: 40%;\n height: 150%;\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0.7) 0%,\n rgba(255, 255, 255, 0.1) 35%,\n rgba(255, 255, 255, 0.7) 40%,\n rgba(255, 255, 255, 0.7) 80%,\n rgba(255, 255, 255, 0) 100%\n );\n opacity: 0;\n transform: translate(100%, -100%) skew(45deg);\n pointer-events: none;\n }\n`;\n\nexport const ChapterProgressSVG = styled.svg(({ theme }) => {\n return `\n position: absolute;\n z-index: ${theme.zIndex.CHAPTER_PROGRESS_SVG};\n inset: 50%;\n transform: translate(-50%, -50%) rotate(-90deg);\n `;\n});\n\ninterface IChapterProgressSVGCircleProps {\n $progressCircle?: boolean;\n $progress: number;\n}\n\nexport const ChapterProgressSVGCircle = styled.circle<IChapterProgressSVGCircleProps>(\n ({ theme, $progressCircle, $progress }) => {\n const { GREY_2, BLACK } = theme.colors;\n const { gutter } = theme.layout;\n\n const strokeDashArray = gutter * 18.625;\n const strokeDashOffset = $progressCircle ? strokeDashArray - $progress : $progress;\n\n return `\n stroke-dasharray: ${strokeDashArray};\n stroke-dashoffset: ${strokeDashOffset};\n stroke: ${$progressCircle ? BLACK : GREY_2};\n\n stroke-width: ${gutter * 0.125}px;\n fill: none;\n `;\n },\n);\n\ninterface IChapterImageProps {\n $imageWidth?: number;\n}\n\nexport const ChapterImage = styled.img<IChapterImageProps>(({ theme, $imageWidth }) => {\n const { gutter } = theme.layout;\n const size = $imageWidth || gutter * 6;\n\n return `\n display: block;\n width: ${size}px;\n height: ${size}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledCheckIconWrapper = styled.div<{\n $background: TColorNames;\n $width: number;\n $top: number;\n $right: number;\n}>(({ theme, $background, $width, $right, $top }) => {\n return `\n position: absolute;\n top: ${$top ?? 5}px;\n right: ${$right ?? 5}px;\n z-index: 2;\n\n width: ${$width}px;\n height: ${$width}px;\n border-radius: 50%;\n background: ${theme.colors[$background || 'WHITE_1']};\n outline: 1px solid ${theme.colors.BLACK_1};\n `;\n});\n"],"names":["ChapterImageWrapper","styled","FlexView","ChapterProgressWrapper","ChapterProgressSVG","theme","ChapterProgressSVGCircle","$progressCircle","$progress","GREY_2","BLACK","gutter","strokeDashArray","strokeDashOffset","ChapterImage","$imageWidth","size","StyledCheckIconWrapper","$background","$width","$right","$top"],"mappings":";;AAKa,MAAAA,IAAsBC,EAAOC,CAAQ;AAAA;AAAA,GAIrCC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA6BxCE,IAAqBH,EAAO,IAAI,CAAC,EAAE,OAAAI,QACvC;AAAA;AAAA,eAEMA,EAAM,OAAO,oBAAoB;AAAA;AAAA;AAAA,GAI/C,GAOYC,IAA2BL,EAAO;AAAA,EAC7C,CAAC,EAAE,OAAAI,GAAO,iBAAAE,GAAiB,WAAAC,QAAgB;AACzC,UAAM,EAAE,QAAAC,GAAQ,OAAAC,MAAUL,EAAM,QAC1B,EAAE,QAAAM,EAAO,IAAIN,EAAM,QAEnBO,IAAkBD,IAAS,QAC3BE,IAAmBN,IAAkBK,IAAkBJ,IAAYA;AAElE,WAAA;AAAA,0BACeI,CAAe;AAAA,2BACdC,CAAgB;AAAA,gBAC3BN,IAAkBG,IAAQD,CAAM;AAAA;AAAA,sBAE1BE,IAAS,KAAK;AAAA;AAAA;AAAA,EAGlC;AACF,GAMaG,IAAeb,EAAO,IAAwB,CAAC,EAAE,OAAAI,GAAO,aAAAU,QAAkB;AAC/E,QAAA,EAAE,QAAAJ,EAAO,IAAIN,EAAM,QACnBW,IAAOD,KAAeJ,IAAS;AAE9B,SAAA;AAAA;AAAA,aAEIK,CAAI;AAAA,cACHA,CAAI;AAAA;AAAA;AAGlB,CAAC,GAEYC,IAAyBhB,EAAO,IAK1C,CAAC,EAAE,OAAAI,GAAO,aAAAa,GAAa,QAAAC,GAAQ,QAAAC,GAAQ,MAAAC,QACjC;AAAA;AAAA,WAEEA,KAAQ,CAAC;AAAA,aACPD,KAAU,CAAC;AAAA;AAAA;AAAA,aAGXD,CAAM;AAAA,cACLA,CAAM;AAAA;AAAA,kBAEFd,EAAM,OAAOa,KAAe,SAAS,CAAC;AAAA,yBAC/Bb,EAAM,OAAO,OAAO;AAAA,GAE5C;"}
1
+ {"version":3,"file":"chapter-circular-progress.styled.js","sources":["../../../../../../src/features/chapters/chapters-list/chapter-item/chapter-circular-progress/chapter-circular-progress.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { type TColorNames } from '../../../../ui/types';\n\nexport const ChapterImageWrapper = styled(FlexView)`\n transition: scale 0.3s ease-in-out;\n`;\n\nexport const ChapterProgressWrapper = styled(FlexView)`\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n width: 40%;\n height: 150%;\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0.7) 0%,\n rgba(255, 255, 255, 0.1) 35%,\n rgba(255, 255, 255, 0.7) 40%,\n rgba(255, 255, 255, 0.7) 80%,\n rgba(255, 255, 255, 0) 100%\n );\n opacity: 0;\n transform: translate(100%, -100%) skew(45deg);\n pointer-events: none;\n }\n`;\n\nexport const ChapterProgressSVG = styled.svg(({ theme }) => {\n return `\n position: absolute;\n z-index: ${theme.zIndex.CHAPTER_PROGRESS_SVG};\n inset: 50%;\n transform: translate(-50%, -50%);\n `;\n});\n\ninterface IChapterProgressSVGCircleProps {\n $progressCircle?: boolean;\n $progress: number;\n}\n\nexport const ChapterProgressSVGCircle = styled.circle<IChapterProgressSVGCircleProps>(\n ({ theme, $progressCircle, $progress }) => {\n const { GREY_2, BLACK } = theme.colors;\n const { gutter } = theme.layout;\n\n const strokeDashArray = gutter * 18.625;\n const strokeDashOffset = $progressCircle ? strokeDashArray - $progress : $progress;\n\n return `\n stroke-dasharray: ${strokeDashArray};\n stroke-dashoffset: ${strokeDashOffset};\n stroke: ${$progressCircle ? BLACK : GREY_2};\n\n stroke-width: ${gutter * 0.125}px;\n fill: none;\n `;\n },\n);\n\ninterface IChapterImageProps {\n $imageWidth?: number;\n}\n\nexport const ChapterImage = styled.img<IChapterImageProps>(({ theme, $imageWidth }) => {\n const { gutter } = theme.layout;\n const size = $imageWidth || gutter * 6;\n\n return `\n display: block;\n width: ${size}px;\n height: ${size}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledCheckIconWrapper = styled.div<{\n $background: TColorNames;\n $width: number;\n $top: number;\n $right: number;\n}>(({ theme, $background, $width, $right, $top }) => {\n return `\n position: absolute;\n top: ${$top ?? 5}px;\n right: ${$right ?? 5}px;\n z-index: 2;\n\n width: ${$width}px;\n height: ${$width}px;\n border-radius: 50%;\n background: ${theme.colors[$background || 'WHITE_1']};\n outline: 1px solid ${theme.colors.BLACK_1};\n `;\n});\n"],"names":["ChapterImageWrapper","styled","FlexView","ChapterProgressWrapper","ChapterProgressSVG","theme","ChapterProgressSVGCircle","$progressCircle","$progress","GREY_2","BLACK","gutter","strokeDashArray","strokeDashOffset","ChapterImage","$imageWidth","size","StyledCheckIconWrapper","$background","$width","$right","$top"],"mappings":";;AAKa,MAAAA,IAAsBC,EAAOC,CAAQ;AAAA;AAAA,GAIrCC,IAAyBF,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA6BxCE,IAAqBH,EAAO,IAAI,CAAC,EAAE,OAAAI,QACvC;AAAA;AAAA,eAEMA,EAAM,OAAO,oBAAoB;AAAA;AAAA;AAAA,GAI/C,GAOYC,IAA2BL,EAAO;AAAA,EAC7C,CAAC,EAAE,OAAAI,GAAO,iBAAAE,GAAiB,WAAAC,QAAgB;AACzC,UAAM,EAAE,QAAAC,GAAQ,OAAAC,MAAUL,EAAM,QAC1B,EAAE,QAAAM,EAAO,IAAIN,EAAM,QAEnBO,IAAkBD,IAAS,QAC3BE,IAAmBN,IAAkBK,IAAkBJ,IAAYA;AAElE,WAAA;AAAA,0BACeI,CAAe;AAAA,2BACdC,CAAgB;AAAA,gBAC3BN,IAAkBG,IAAQD,CAAM;AAAA;AAAA,sBAE1BE,IAAS,KAAK;AAAA;AAAA;AAAA,EAGlC;AACF,GAMaG,IAAeb,EAAO,IAAwB,CAAC,EAAE,OAAAI,GAAO,aAAAU,QAAkB;AAC/E,QAAA,EAAE,QAAAJ,EAAO,IAAIN,EAAM,QACnBW,IAAOD,KAAeJ,IAAS;AAE9B,SAAA;AAAA;AAAA,aAEIK,CAAI;AAAA,cACHA,CAAI;AAAA;AAAA;AAGlB,CAAC,GAEYC,IAAyBhB,EAAO,IAK1C,CAAC,EAAE,OAAAI,GAAO,aAAAa,GAAa,QAAAC,GAAQ,QAAAC,GAAQ,MAAAC,QACjC;AAAA;AAAA,WAEEA,KAAQ,CAAC;AAAA,aACPD,KAAU,CAAC;AAAA;AAAA;AAAA,aAGXD,CAAM;AAAA,cACLA,CAAM;AAAA;AAAA,kBAEFd,EAAM,OAAOa,KAAe,SAAS,CAAC;AAAA,yBAC/Bb,EAAM,OAAO,OAAO;AAAA,GAE5C;"}
@@ -2,34 +2,34 @@ import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
2
  import { memo as d } from "react";
3
3
  import r from "../../../ui/layout/flex-view.js";
4
4
  import n from "../../../ui/separator/separator.js";
5
- import l from "../../../ui/image/image.js";
5
+ import s from "../../../ui/image/image.js";
6
6
  import { ILLUSTRATIONS as a } from "../../../../assets/illustrations/illustrations.js";
7
- import i from "../../../ui/text/text.js";
7
+ import o from "../../../ui/text/text.js";
8
8
  import { PROGRESS_INFO as h } from "./new-progress-intro-modal-constants.js";
9
9
  import g from "../../../ui/buttons/button/button.js";
10
- const m = ({ onClose: s }) => /* @__PURE__ */ t(r, { children: [
10
+ const m = ({ onClose: l }) => /* @__PURE__ */ t(r, { children: [
11
11
  /* @__PURE__ */ t(r, { $background: "PURPLE_4", $alignItems: "center", $justifyContent: "center", children: [
12
12
  /* @__PURE__ */ e(n, { heightX: 1.5 }),
13
- /* @__PURE__ */ e(r, { $gutterX: 1.5, $alignItems: "center", $justifyContent: "center", $gap: 50, children: /* @__PURE__ */ e(l, { src: a.PROGRESS_BAR_PURPLE }) })
13
+ /* @__PURE__ */ e(r, { $gutterX: 1.5, $alignItems: "center", $justifyContent: "center", $gap: 50, children: /* @__PURE__ */ e(s, { src: a.PROGRESS_BAR_PURPLE }) })
14
14
  ] }),
15
15
  /* @__PURE__ */ t(r, { $gutterX: 2, $gapX: 1.5, children: [
16
16
  /* @__PURE__ */ t(r, { children: [
17
- /* @__PURE__ */ e(i, { $renderAs: "ab1-bold", children: "Introducing: Enhanced Progress Tracking" }),
17
+ /* @__PURE__ */ e(o, { $renderAs: "ab1-bold", children: "Introducing: Enhanced Progress Tracking" }),
18
18
  /* @__PURE__ */ e(n, { height: 4 }),
19
- /* @__PURE__ */ e(i, { $renderAs: "ub1", children: "View your child's complete learning journey all in one place. Here’s what’s new:" })
19
+ /* @__PURE__ */ e(o, { $renderAs: "ub1", children: "View your student's complete learning journey all in one place. Here’s what’s new:" })
20
20
  ] }),
21
21
  /* @__PURE__ */ e(n, { heightX: 1.5 }),
22
- h.map((o, c) => /* @__PURE__ */ t(
22
+ h.map((i, c) => /* @__PURE__ */ t(
23
23
  r,
24
24
  {
25
25
  $flexDirection: "row",
26
26
  $alignItems: "flex-start",
27
27
  $flexGapX: 0.5,
28
28
  children: [
29
- /* @__PURE__ */ e(r, { children: /* @__PURE__ */ e(l, { src: o.icon, width: 32, height: 32 }) }),
29
+ /* @__PURE__ */ e(r, { children: /* @__PURE__ */ e(s, { src: i.icon, width: 32, height: 32 }) }),
30
30
  /* @__PURE__ */ t(r, { $gutter: 4, $flex: 1, children: [
31
- /* @__PURE__ */ e(i, { $renderAs: "ub1-bold", children: o.title }),
32
- /* @__PURE__ */ e(i, { $renderAs: "ub1", children: o.description }),
31
+ /* @__PURE__ */ e(o, { $renderAs: "ub1-bold", children: i.title }),
32
+ /* @__PURE__ */ e(o, { $renderAs: "ub1", children: i.description }),
33
33
  /* @__PURE__ */ e(n, { heightX: 1.5 })
34
34
  ] })
35
35
  ]
@@ -43,7 +43,7 @@ const m = ({ onClose: s }) => /* @__PURE__ */ t(r, { children: [
43
43
  label: "View progress",
44
44
  renderAs: "black",
45
45
  shape: "square",
46
- onClick: s
46
+ onClick: l
47
47
  }
48
48
  ) })
49
49
  ] })
@@ -1 +1 @@
1
- {"version":3,"file":"new-progress-intro-modal.js","sources":["../../../../../src/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Image from '../../../ui/image/image';\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Text from '../../../ui/text/text';\nimport { PROGRESS_INFO } from './new-progress-intro-modal-constants';\nimport Button from '../../../ui/buttons/button/button';\n\nconst NewProgressIntroModal = ({ onClose }: { onClose: () => void }) => {\n return (\n <FlexView>\n <FlexView $background=\"PURPLE_4\" $alignItems=\"center\" $justifyContent=\"center\">\n <Separator heightX={1.5} />\n <FlexView $gutterX={1.5} $alignItems=\"center\" $justifyContent=\"center\" $gap={50}>\n <Image src={ILLUSTRATIONS.PROGRESS_BAR_PURPLE} />\n </FlexView>\n </FlexView>\n <FlexView $gutterX={2} $gapX={1.5}>\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Introducing: Enhanced Progress Tracking</Text>\n <Separator height={4} />\n <Text $renderAs=\"ub1\">\n View your child's complete learning journey all in one place. Here’s what’s new:\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n {PROGRESS_INFO.map((item, index) => (\n <FlexView\n key={`progress-info-${index}`}\n $flexDirection=\"row\"\n $alignItems=\"flex-start\"\n $flexGapX={0.5}\n >\n <FlexView>\n <Image src={item.icon} width={32} height={32} />\n </FlexView>\n <FlexView $gutter={4} $flex={1}>\n <Text $renderAs=\"ub1-bold\">{item.title}</Text>\n <Text $renderAs=\"ub1\">{item.description}</Text>\n <Separator heightX={1.5} />\n </FlexView>\n </FlexView>\n ))}\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $gapX={0.5}>\n <Button\n width={240}\n label=\"View progress\"\n renderAs=\"black\"\n shape=\"square\"\n onClick={onClose}\n />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NewProgressIntroModal);\n"],"names":["NewProgressIntroModal","onClose","FlexView","jsxs","jsx","Separator","Image","ILLUSTRATIONS","Text","PROGRESS_INFO","item","index","Button","newProgressIntroModal","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,IAAwB,CAAC,EAAE,SAAAC,0BAE5BC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACD,KAAS,aAAY,YAAW,aAAY,UAAS,iBAAgB,UACpE,UAAA;AAAA,IAAC,gBAAAE,EAAAC,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAD,EAAAF,GAAA,EAAS,UAAU,KAAK,aAAY,UAAS,iBAAgB,UAAS,MAAM,IAC3E,UAAC,gBAAAE,EAAAE,GAAA,EAAM,KAAKC,EAAc,oBAAqB,CAAA,GACjD;AAAA,EAAA,GACF;AAAA,EACC,gBAAAJ,EAAAD,GAAA,EAAS,UAAU,GAAG,OAAO,KAC5B,UAAA;AAAA,IAAA,gBAAAC,EAACD,GACC,EAAA,UAAA;AAAA,MAAC,gBAAAE,EAAAI,GAAA,EAAK,WAAU,YAAW,UAAuC,2CAAA;AAAA,MAClE,gBAAAJ,EAACC,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,MACrB,gBAAAD,EAAAI,GAAA,EAAK,WAAU,OAAM,UAEtB,oFAAA;AAAA,IAAA,GACF;AAAA,IACA,gBAAAJ,EAACC,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxBI,EAAc,IAAI,CAACC,GAAMC,MACxB,gBAAAR;AAAA,MAACD;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,WAAW;AAAA,QAEX,UAAA;AAAA,UAAC,gBAAAE,EAAAF,GAAA,EACC,UAAC,gBAAAE,EAAAE,GAAA,EAAM,KAAKI,EAAK,MAAM,OAAO,IAAI,QAAQ,GAAA,CAAI,EAChD,CAAA;AAAA,UACC,gBAAAP,EAAAD,GAAA,EAAS,SAAS,GAAG,OAAO,GAC3B,UAAA;AAAA,YAAA,gBAAAE,EAACI,GAAK,EAAA,WAAU,YAAY,UAAAE,EAAK,OAAM;AAAA,YACtC,gBAAAN,EAAAI,GAAA,EAAK,WAAU,OAAO,YAAK,aAAY;AAAA,YACxC,gBAAAJ,EAACC,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,UAAA,GAC3B;AAAA,QAAA;AAAA,MAAA;AAAA,MAZK,iBAAiBM,CAAK;AAAA,IAAA,CAc9B;AAAA,sBACAT,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAAS,OAAO,KAC7D,UAAA,gBAAAE;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,OAAM;AAAA,QACN,UAAS;AAAA,QACT,OAAM;AAAA,QACN,SAASX;AAAA,MAAA;AAAA,IAAA,GAEb;AAAA,EAAA,GACF;AACF,EAAA,CAAA,GAIWY,IAAAC,EAAKd,CAAqB;"}
1
+ {"version":3,"file":"new-progress-intro-modal.js","sources":["../../../../../src/features/timeline/comps/new-progress-intro-modal/new-progress-intro-modal.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Image from '../../../ui/image/image';\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport Text from '../../../ui/text/text';\nimport { PROGRESS_INFO } from './new-progress-intro-modal-constants';\nimport Button from '../../../ui/buttons/button/button';\n\nconst NewProgressIntroModal = ({ onClose }: { onClose: () => void }) => {\n return (\n <FlexView>\n <FlexView $background=\"PURPLE_4\" $alignItems=\"center\" $justifyContent=\"center\">\n <Separator heightX={1.5} />\n <FlexView $gutterX={1.5} $alignItems=\"center\" $justifyContent=\"center\" $gap={50}>\n <Image src={ILLUSTRATIONS.PROGRESS_BAR_PURPLE} />\n </FlexView>\n </FlexView>\n <FlexView $gutterX={2} $gapX={1.5}>\n <FlexView>\n <Text $renderAs=\"ab1-bold\">Introducing: Enhanced Progress Tracking</Text>\n <Separator height={4} />\n <Text $renderAs=\"ub1\">\n View your student's complete learning journey all in one place. Here’s what’s new:\n </Text>\n </FlexView>\n <Separator heightX={1.5} />\n {PROGRESS_INFO.map((item, index) => (\n <FlexView\n key={`progress-info-${index}`}\n $flexDirection=\"row\"\n $alignItems=\"flex-start\"\n $flexGapX={0.5}\n >\n <FlexView>\n <Image src={item.icon} width={32} height={32} />\n </FlexView>\n <FlexView $gutter={4} $flex={1}>\n <Text $renderAs=\"ub1-bold\">{item.title}</Text>\n <Text $renderAs=\"ub1\">{item.description}</Text>\n <Separator heightX={1.5} />\n </FlexView>\n </FlexView>\n ))}\n <FlexView $alignItems=\"center\" $justifyContent=\"center\" $gapX={0.5}>\n <Button\n width={240}\n label=\"View progress\"\n renderAs=\"black\"\n shape=\"square\"\n onClick={onClose}\n />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NewProgressIntroModal);\n"],"names":["NewProgressIntroModal","onClose","FlexView","jsxs","jsx","Separator","Image","ILLUSTRATIONS","Text","PROGRESS_INFO","item","index","Button","newProgressIntroModal","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,IAAwB,CAAC,EAAE,SAAAC,0BAE5BC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACD,KAAS,aAAY,YAAW,aAAY,UAAS,iBAAgB,UACpE,UAAA;AAAA,IAAC,gBAAAE,EAAAC,GAAA,EAAU,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAD,EAAAF,GAAA,EAAS,UAAU,KAAK,aAAY,UAAS,iBAAgB,UAAS,MAAM,IAC3E,UAAC,gBAAAE,EAAAE,GAAA,EAAM,KAAKC,EAAc,oBAAqB,CAAA,GACjD;AAAA,EAAA,GACF;AAAA,EACC,gBAAAJ,EAAAD,GAAA,EAAS,UAAU,GAAG,OAAO,KAC5B,UAAA;AAAA,IAAA,gBAAAC,EAACD,GACC,EAAA,UAAA;AAAA,MAAC,gBAAAE,EAAAI,GAAA,EAAK,WAAU,YAAW,UAAuC,2CAAA;AAAA,MAClE,gBAAAJ,EAACC,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,MACrB,gBAAAD,EAAAI,GAAA,EAAK,WAAU,OAAM,UAEtB,sFAAA;AAAA,IAAA,GACF;AAAA,IACA,gBAAAJ,EAACC,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxBI,EAAc,IAAI,CAACC,GAAMC,MACxB,gBAAAR;AAAA,MAACD;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,WAAW;AAAA,QAEX,UAAA;AAAA,UAAC,gBAAAE,EAAAF,GAAA,EACC,UAAC,gBAAAE,EAAAE,GAAA,EAAM,KAAKI,EAAK,MAAM,OAAO,IAAI,QAAQ,GAAA,CAAI,EAChD,CAAA;AAAA,UACC,gBAAAP,EAAAD,GAAA,EAAS,SAAS,GAAG,OAAO,GAC3B,UAAA;AAAA,YAAA,gBAAAE,EAACI,GAAK,EAAA,WAAU,YAAY,UAAAE,EAAK,OAAM;AAAA,YACtC,gBAAAN,EAAAI,GAAA,EAAK,WAAU,OAAO,YAAK,aAAY;AAAA,YACxC,gBAAAJ,EAACC,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,UAAA,GAC3B;AAAA,QAAA;AAAA,MAAA;AAAA,MAZK,iBAAiBM,CAAK;AAAA,IAAA,CAc9B;AAAA,sBACAT,GAAS,EAAA,aAAY,UAAS,iBAAgB,UAAS,OAAO,KAC7D,UAAA,gBAAAE;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,OAAM;AAAA,QACN,UAAS;AAAA,QACT,OAAM;AAAA,QACN,SAASX;AAAA,MAAA;AAAA,IAAA,GAEb;AAAA,EAAA,GACF;AACF,EAAA,CAAA,GAIWY,IAAAC,EAAKd,CAAqB;"}
@@ -21,19 +21,19 @@ const _ = [
21
21
  2026: e[2026],
22
22
  2027: e[2027],
23
23
  2028: e[2028]
24
- }, l = {
25
- PTM: { label: "PTM Report", icon: e.PTM_REPORT_ICON },
26
- MPR_V1: { label: "View Full Report", icon: e.FULL_REPORT },
27
- MPR_V2_math: { label: "MathFit Report", icon: e.MATH_FIT_GREY },
28
- MPR_V2_elp: { label: "ELP Report", icon: e.ELP_ICON },
29
- MPR_V2_ela: { label: "ELA Report", icon: e.ELP_ICON },
30
- MPR_V2_english: { label: "English Report", icon: e.ENGLISH_ICON },
31
- MPR_V2_science: { label: "Science Report", icon: e.SCIENCE_REPORT_ICON },
32
- MPR_V2_sat: { label: "SAT Report", icon: e.SAT_REPORT_ICON },
33
- MPR_V2_coding: { label: "Coding Report", icon: e.CODING_REPORT_ICON }
24
+ }, i = {
25
+ PTM: { label: "View PTM Report", icon: e.PTM_REPORT_ICON },
26
+ MPR_V1: { label: "View Monthly Report", icon: e.FULL_REPORT },
27
+ MPR_V2_math: { label: "View MathFit Report", icon: e.MATH_FIT_GREY },
28
+ MPR_V2_elp: { label: "View ELP Report", icon: e.ELP_ICON },
29
+ MPR_V2_ela: { label: "View ELA Report", icon: e.ELP_ICON },
30
+ MPR_V2_english: { label: "View English Report", icon: e.ENGLISH_ICON },
31
+ MPR_V2_science: { label: "View Science Report", icon: e.SCIENCE_REPORT_ICON },
32
+ MPR_V2_sat: { label: "View SAT Report", icon: e.SAT_REPORT_ICON },
33
+ MPR_V2_coding: { label: "View Coding Report", icon: e.CODING_REPORT_ICON }
34
34
  };
35
35
  export {
36
- l as REPORT_CONFIG,
36
+ i as REPORT_CONFIG,
37
37
  _ as monthNames,
38
38
  o as yearImages
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/timeline/monthly-timeline/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nexport enum REPORT_CONFIG_TYPE {\n PTM = 'PTM',\n MPR_V1 = 'MPR_V1',\n MPR_V2_math = 'MPR_V2_math',\n MPR_V2_elp = 'MPR_V2_elp',\n MPR_V2_ela = 'MPR_V2_ela',\n MPR_V2_english = 'MPR_V2_english',\n MPR_V2_science = 'MPR_V2_science',\n MPR_V2_sat = 'MPR_V2_sat',\n MPR_V2_coding = 'MPR_V2_coding',\n}\n\nexport const monthNames = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\n\nexport const yearImages: Record<number, string> = {\n 2021: ILLUSTRATIONS[2021],\n 2022: ILLUSTRATIONS[2022],\n 2023: ILLUSTRATIONS[2023],\n 2024: ILLUSTRATIONS[2024],\n 2025: ILLUSTRATIONS[2025],\n 2026: ILLUSTRATIONS[2026],\n 2027: ILLUSTRATIONS[2027],\n 2028: ILLUSTRATIONS[2028],\n};\n\nexport const REPORT_CONFIG: Record<REPORT_CONFIG_TYPE, { label: string; icon: string }> = {\n PTM: { label: 'PTM Report', icon: ILLUSTRATIONS.PTM_REPORT_ICON },\n MPR_V1: { label: 'View Full Report', icon: ILLUSTRATIONS.FULL_REPORT },\n MPR_V2_math: { label: 'MathFit Report', icon: ILLUSTRATIONS.MATH_FIT_GREY },\n MPR_V2_elp: { label: 'ELP Report', icon: ILLUSTRATIONS.ELP_ICON },\n MPR_V2_ela: { label: 'ELA Report', icon: ILLUSTRATIONS.ELP_ICON },\n MPR_V2_english: { label: 'English Report', icon: ILLUSTRATIONS.ENGLISH_ICON },\n MPR_V2_science: { label: 'Science Report', icon: ILLUSTRATIONS.SCIENCE_REPORT_ICON },\n MPR_V2_sat: { label: 'SAT Report', icon: ILLUSTRATIONS.SAT_REPORT_ICON },\n MPR_V2_coding: { label: 'Coding Report', icon: ILLUSTRATIONS.CODING_REPORT_ICON },\n};\n"],"names":["monthNames","yearImages","ILLUSTRATIONS","REPORT_CONFIG"],"mappings":";AAcO,MAAMA,IAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,IAAqC;AAAA,EAChD,MAAMC,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAC1B,GAEaC,IAA6E;AAAA,EACxF,KAAK,EAAE,OAAO,cAAc,MAAMD,EAAc,gBAAgB;AAAA,EAChE,QAAQ,EAAE,OAAO,oBAAoB,MAAMA,EAAc,YAAY;AAAA,EACrE,aAAa,EAAE,OAAO,kBAAkB,MAAMA,EAAc,cAAc;AAAA,EAC1E,YAAY,EAAE,OAAO,cAAc,MAAMA,EAAc,SAAS;AAAA,EAChE,YAAY,EAAE,OAAO,cAAc,MAAMA,EAAc,SAAS;AAAA,EAChE,gBAAgB,EAAE,OAAO,kBAAkB,MAAMA,EAAc,aAAa;AAAA,EAC5E,gBAAgB,EAAE,OAAO,kBAAkB,MAAMA,EAAc,oBAAoB;AAAA,EACnF,YAAY,EAAE,OAAO,cAAc,MAAMA,EAAc,gBAAgB;AAAA,EACvE,eAAe,EAAE,OAAO,iBAAiB,MAAMA,EAAc,mBAAmB;AAClF;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/timeline/monthly-timeline/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\n\nexport enum REPORT_CONFIG_TYPE {\n PTM = 'PTM',\n MPR_V1 = 'MPR_V1',\n MPR_V2_math = 'MPR_V2_math',\n MPR_V2_elp = 'MPR_V2_elp',\n MPR_V2_ela = 'MPR_V2_ela',\n MPR_V2_english = 'MPR_V2_english',\n MPR_V2_science = 'MPR_V2_science',\n MPR_V2_sat = 'MPR_V2_sat',\n MPR_V2_coding = 'MPR_V2_coding',\n}\n\nexport const monthNames = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\n\nexport const yearImages: Record<number, string> = {\n 2021: ILLUSTRATIONS[2021],\n 2022: ILLUSTRATIONS[2022],\n 2023: ILLUSTRATIONS[2023],\n 2024: ILLUSTRATIONS[2024],\n 2025: ILLUSTRATIONS[2025],\n 2026: ILLUSTRATIONS[2026],\n 2027: ILLUSTRATIONS[2027],\n 2028: ILLUSTRATIONS[2028],\n};\n\nexport const REPORT_CONFIG: Record<REPORT_CONFIG_TYPE, { label: string; icon: string }> = {\n PTM: { label: 'View PTM Report', icon: ILLUSTRATIONS.PTM_REPORT_ICON },\n MPR_V1: { label: 'View Monthly Report', icon: ILLUSTRATIONS.FULL_REPORT },\n MPR_V2_math: { label: 'View MathFit Report', icon: ILLUSTRATIONS.MATH_FIT_GREY },\n MPR_V2_elp: { label: 'View ELP Report', icon: ILLUSTRATIONS.ELP_ICON },\n MPR_V2_ela: { label: 'View ELA Report', icon: ILLUSTRATIONS.ELP_ICON },\n MPR_V2_english: { label: 'View English Report', icon: ILLUSTRATIONS.ENGLISH_ICON },\n MPR_V2_science: { label: 'View Science Report', icon: ILLUSTRATIONS.SCIENCE_REPORT_ICON },\n MPR_V2_sat: { label: 'View SAT Report', icon: ILLUSTRATIONS.SAT_REPORT_ICON },\n MPR_V2_coding: { label: 'View Coding Report', icon: ILLUSTRATIONS.CODING_REPORT_ICON },\n};\n"],"names":["monthNames","yearImages","ILLUSTRATIONS","REPORT_CONFIG"],"mappings":";AAcO,MAAMA,IAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,IAAqC;AAAA,EAChD,MAAMC,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAAA,EACxB,MAAMA,EAAc,IAAI;AAC1B,GAEaC,IAA6E;AAAA,EACxF,KAAK,EAAE,OAAO,mBAAmB,MAAMD,EAAc,gBAAgB;AAAA,EACrE,QAAQ,EAAE,OAAO,uBAAuB,MAAMA,EAAc,YAAY;AAAA,EACxE,aAAa,EAAE,OAAO,uBAAuB,MAAMA,EAAc,cAAc;AAAA,EAC/E,YAAY,EAAE,OAAO,mBAAmB,MAAMA,EAAc,SAAS;AAAA,EACrE,YAAY,EAAE,OAAO,mBAAmB,MAAMA,EAAc,SAAS;AAAA,EACrE,gBAAgB,EAAE,OAAO,uBAAuB,MAAMA,EAAc,aAAa;AAAA,EACjF,gBAAgB,EAAE,OAAO,uBAAuB,MAAMA,EAAc,oBAAoB;AAAA,EACxF,YAAY,EAAE,OAAO,mBAAmB,MAAMA,EAAc,gBAAgB;AAAA,EAC5E,eAAe,EAAE,OAAO,sBAAsB,MAAMA,EAAc,mBAAmB;AACvF;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as e, jsx as r, Fragment as h } from "react/jsx-runtime";
2
2
  import { memo as F, useState as H, useMemo as O, useCallback as W } from "react";
3
3
  import { GOAL_CATEGORY_CONFIG as j, calculateProgress as B } from "../goals-constants.js";
4
- import { ProgressBarContainer as z, TagContainer as y, ChaptersContainer as E } from "./goals-card-styled.js";
5
- import s from "../../../../../../ui/text/text.js";
4
+ import { ProgressBarContainer as z, TagContainer as E, ChaptersContainer as y } from "./goals-card-styled.js";
5
+ import a from "../../../../../../ui/text/text.js";
6
6
  import t from "../../../../../../ui/layout/flex-view.js";
7
7
  import m from "../../../../../../ui/separator/separator.js";
8
8
  import V from "../../../../../../ui/image/image.js";
@@ -10,12 +10,12 @@ import G from "./goal-chapter-card.js";
10
10
  import Y from "../../../../../../ui/linear-progress-bar/linear-progress-bar.js";
11
11
  import T from "../../../../../../ui/buttons/text-button/text-button.js";
12
12
  const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
13
- const [g, v] = H(!1), {
13
+ const [p, v] = H(!1), {
14
14
  milestone_name: P,
15
- user_chapters: p,
15
+ user_chapters: d,
16
16
  progress_stat: k,
17
17
  previous_progress_stat: n
18
- } = L, { completed: I, total: a } = k, { completed: $, total: u } = n ?? {}, c = B(I, a), f = n && $ && u ? B($, u) : 0, i = c - f, d = !!(n && i > 0 && a === a), x = !!(n && i <= 0 && a !== a), _ = c === 100, K = Math.round(c), S = Math.round(i), b = p.length, D = p.slice(0, 2), A = Math.max(0, b - 2), M = g ? p.slice(2) : [], N = A > 0, l = O(() => j[C], [C]), X = l.icon, w = W(() => {
18
+ } = L, { completed: x, total: s } = k, { completed: $, total: u } = n ?? {}, c = B(x, s), f = n && $ && u ? B($, u) : 0, i = c - f, g = !!(n && i > 0 && s === s), I = !!(n && i <= 0 && s !== s), _ = c === 100, K = Math.round(c), S = Math.round(i), b = d.length, D = d.slice(0, 2), A = Math.max(0, b - 2), M = p ? d.slice(2) : [], N = A > 0, l = O(() => j[C], [C]), X = l.icon, w = W(() => {
19
19
  v((R) => !R);
20
20
  }, []);
21
21
  return /* @__PURE__ */ e(t, { children: [
@@ -27,7 +27,6 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
27
27
  $borderColor: o ? "WHITE_5" : void 0,
28
28
  $gutterX: 1,
29
29
  $gapX: 1,
30
- $height: o ? "auto" : 72,
31
30
  children: [
32
31
  /* @__PURE__ */ e(t, { $flexDirection: "row", $flexGapX: o ? 1 : 0.5, children: [
33
32
  X && /* @__PURE__ */ r(
@@ -42,14 +41,14 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
42
41
  ),
43
42
  /* @__PURE__ */ e(t, { children: [
44
43
  o && /* @__PURE__ */ e(h, { children: [
45
- /* @__PURE__ */ r(s, { $renderAs: "ac5", $color: l.labelColor, children: l.label }),
44
+ /* @__PURE__ */ r(a, { $renderAs: "ac5", $color: l.labelColor, children: l.label }),
46
45
  /* @__PURE__ */ r(m, { heightX: 0.25 })
47
46
  ] }),
48
- /* @__PURE__ */ r(s, { $renderAs: "ab2", $color: "BLACK_1", children: P }),
47
+ /* @__PURE__ */ r(a, { $renderAs: "ab2", $color: "BLACK_1", children: P }),
49
48
  /* @__PURE__ */ r(m, { heightX: o ? 0.5 : 0.125 }),
50
49
  /* @__PURE__ */ e(t, { $flexDirection: "row", $alignItems: "center", $flexGapX: 0.25, children: [
51
- /* @__PURE__ */ r(s, { $renderAs: "ab3", $color: "BLACK_T_60", children: _ ? "Completed" : `${K}% complete` }),
52
- d && !_ && /* @__PURE__ */ e(s, { $renderAs: "ab3", $color: "GREEN_6", children: [
50
+ /* @__PURE__ */ r(a, { $renderAs: "ab3", $color: "BLACK_T_60", children: _ ? "Completed" : `${K}% complete` }),
51
+ g && !_ && /* @__PURE__ */ e(a, { $renderAs: "ab3", $color: "GREEN_6", children: [
53
52
  "(+",
54
53
  S,
55
54
  "%)"
@@ -59,8 +58,8 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
59
58
  /* @__PURE__ */ r(z, { children: /* @__PURE__ */ r(
60
59
  Y,
61
60
  {
62
- percentage: d ? f : c,
63
- delta: d ? i : 0,
61
+ percentage: g ? f : c,
62
+ delta: g ? i : 0,
64
63
  height: 4,
65
64
  backgroundColor: "WHITE_5",
66
65
  fillColor: "BLACK_1",
@@ -68,15 +67,15 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
68
67
  }
69
68
  ) })
70
69
  ] }),
71
- x && /* @__PURE__ */ e(h, { children: [
70
+ I && /* @__PURE__ */ e(h, { children: [
72
71
  /* @__PURE__ */ r(m, { heightX: 0.875 }),
73
- /* @__PURE__ */ r(y, { $gapX: 0.5, $gutterX: 1, $background: l.tagColor, children: /* @__PURE__ */ r(s, { $renderAs: "ub3", $color: "BLACK_1", children: "Learning plan was modified — progress updated accordingly." }) })
72
+ /* @__PURE__ */ r(E, { $gapX: 0.5, $gutterX: 1, $background: l.tagColor, children: /* @__PURE__ */ r(a, { $renderAs: "ub3", $color: "BLACK_1", children: "Learning plan was modified — progress updated accordingly." }) })
74
73
  ] })
75
74
  ]
76
75
  }
77
76
  ),
78
77
  o && b > 0 && /* @__PURE__ */ e(
79
- E,
78
+ y,
80
79
  {
81
80
  $gapX: 1,
82
81
  $flexDirection: "column",
@@ -85,7 +84,7 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
85
84
  children: [
86
85
  /* @__PURE__ */ r(G, { chapters: D }),
87
86
  N && /* @__PURE__ */ e(h, { children: [
88
- !g && /* @__PURE__ */ r(t, { $gutterX: 4.5, children: /* @__PURE__ */ r(
87
+ !p && /* @__PURE__ */ r(t, { $gutterX: 4.5, children: /* @__PURE__ */ r(
89
88
  T,
90
89
  {
91
90
  label: `+${A} chapters`,
@@ -94,7 +93,7 @@ const q = ({ category: C, milestone: L, isExpended: o = !1 }) => {
94
93
  onClick: w
95
94
  }
96
95
  ) }),
97
- g && /* @__PURE__ */ e(h, { children: [
96
+ p && /* @__PURE__ */ e(h, { children: [
98
97
  /* @__PURE__ */ r(G, { chapters: M }),
99
98
  /* @__PURE__ */ r(t, { $gutterX: 4.5, children: /* @__PURE__ */ r(
100
99
  T,
@@ -1 +1 @@
1
- {"version":3,"file":"goals-card.js","sources":["../../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react';\n\nimport { type IGoalsCardProps } from '../goals-types';\nimport { calculateProgress, GOAL_CATEGORY_CONFIG } from '../goals-constants';\nimport * as Styled from './goals-card-styled';\nimport Text from '../../../../../../ui/text/text';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../../ui/separator/separator';\nimport Image from '../../../../../../ui/image/image';\nimport GoalsCardChapters from './goal-chapter-card';\nimport LinearProgressBar from '../../../../../../ui/linear-progress-bar/linear-progress-bar';\nimport TextButton from '../../../../../../ui/buttons/text-button/text-button';\n\nconst GoalsCard: FC<IGoalsCardProps> = ({ category, milestone, isExpended = false }) => {\n const [showAllChapters, setShowAllChapters] = useState(false);\n const {\n milestone_name: milestoneName,\n user_chapters: userChapters,\n progress_stat: progressStat,\n previous_progress_stat: prevProgressStat,\n } = milestone;\n const { completed, total } = progressStat;\n const { completed: prevCompleted, total: prevTotal } = prevProgressStat ?? {};\n const currentProgress = calculateProgress(completed, total);\n const previousProgress =\n prevProgressStat && prevCompleted && prevTotal\n ? calculateProgress(prevCompleted, prevTotal)\n : 0;\n\n const progressDifference = currentProgress - previousProgress;\n const showIndicator = Boolean(prevProgressStat && progressDifference > 0 && total === total);\n const showTag = Boolean(prevProgressStat && progressDifference <= 0 && total !== total);\n const isCompleted = currentProgress === 100;\n const roundedProgress = Math.round(currentProgress);\n const roundedDifference = Math.round(progressDifference);\n\n const totalChapters = userChapters.length;\n const visibleChapters = userChapters.slice(0, 2);\n const remainingChapters = Math.max(0, totalChapters - 2);\n const hiddenChapters = showAllChapters ? userChapters.slice(2) : [];\n const hasRemainingChapters = remainingChapters > 0;\n\n const categoryConfig = useMemo(() => GOAL_CATEGORY_CONFIG[category], [category]);\n const icon = categoryConfig.icon;\n\n const handleToggleChapters = useCallback(() => {\n setShowAllChapters(prev => !prev);\n }, []);\n\n return (\n <FlexView>\n <FlexView\n $position=\"relative\"\n $background={categoryConfig.backgroundColor}\n $borderColor={isExpended ? 'WHITE_5' : undefined}\n $gutterX={1}\n $gapX={1}\n $height={isExpended ? 'auto' : 72}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={isExpended ? 1 : 0.5}>\n {icon && (\n <Image\n src={icon}\n withLoader\n width={isExpended ? 40 : 32}\n height={isExpended ? 40 : 32}\n alt={categoryConfig.label}\n />\n )}\n <FlexView>\n {isExpended && (\n <>\n <Text $renderAs=\"ac5\" $color={categoryConfig.labelColor}>\n {categoryConfig.label}\n </Text>\n <Separator heightX={0.25} />\n </>\n )}\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {milestoneName}\n </Text>\n <Separator heightX={isExpended ? 0.5 : 0.125} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.25}>\n <Text $renderAs=\"ab3\" $color=\"BLACK_T_60\">\n {isCompleted ? 'Completed' : `${roundedProgress}% complete`}\n </Text>\n {showIndicator && !isCompleted && (\n <Text $renderAs=\"ab3\" $color=\"GREEN_6\">\n (+{roundedDifference}%)\n </Text>\n )}\n </FlexView>\n </FlexView>\n <Styled.ProgressBarContainer>\n <LinearProgressBar\n percentage={showIndicator ? previousProgress : currentProgress}\n delta={showIndicator ? progressDifference : 0}\n height={4}\n backgroundColor=\"WHITE_5\"\n fillColor=\"BLACK_1\"\n deltaProgressColor=\"GREEN_5\"\n />\n </Styled.ProgressBarContainer>\n </FlexView>\n {showTag && (\n <>\n <Separator heightX={0.875} />\n <Styled.TagContainer $gapX={0.5} $gutterX={1} $background={categoryConfig.tagColor}>\n <Text $renderAs=\"ub3\" $color=\"BLACK_1\">\n Learning plan was modified — progress updated accordingly.\n </Text>\n </Styled.TagContainer>\n </>\n )}\n </FlexView>\n {isExpended && totalChapters > 0 && (\n <Styled.ChaptersContainer\n $gapX={1}\n $flexDirection=\"column\"\n $flexGapX={1.25}\n $borderColor=\"WHITE_5\"\n >\n <GoalsCardChapters chapters={visibleChapters} />\n {hasRemainingChapters && (\n <>\n {!showAllChapters && (\n <FlexView $gutterX={4.5}>\n <TextButton\n label={`+${remainingChapters} chapters`}\n size=\"regular\"\n color=\"BLACK_1\"\n onClick={handleToggleChapters}\n />\n </FlexView>\n )}\n {showAllChapters && (\n <>\n <GoalsCardChapters chapters={hiddenChapters} />\n <FlexView $gutterX={4.5}>\n <TextButton\n label=\"Show less\"\n size=\"regular\"\n color=\"BLACK_1\"\n onClick={handleToggleChapters}\n />\n </FlexView>\n </>\n )}\n </>\n )}\n </Styled.ChaptersContainer>\n )}\n </FlexView>\n );\n};\n\nexport default memo(GoalsCard);\n"],"names":["GoalsCard","category","milestone","isExpended","showAllChapters","setShowAllChapters","useState","milestoneName","userChapters","progressStat","prevProgressStat","completed","total","prevCompleted","prevTotal","currentProgress","calculateProgress","previousProgress","progressDifference","showIndicator","showTag","isCompleted","roundedProgress","roundedDifference","totalChapters","visibleChapters","remainingChapters","hiddenChapters","hasRemainingChapters","categoryConfig","useMemo","GOAL_CATEGORY_CONFIG","icon","handleToggleChapters","useCallback","prev","FlexView","jsxs","jsx","Image","Fragment","Text","Separator","Styled.ProgressBarContainer","LinearProgressBar","Styled.TagContainer","Styled.ChaptersContainer","GoalsCardChapters","TextButton","GoalsCard$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"goals-card.js","sources":["../../../../../../../../src/features/timeline/monthly-timeline/monthly-report/comps/goals/goals-card/goals-card.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useMemo, useState } from 'react';\n\nimport { type IGoalsCardProps } from '../goals-types';\nimport { calculateProgress, GOAL_CATEGORY_CONFIG } from '../goals-constants';\nimport * as Styled from './goals-card-styled';\nimport Text from '../../../../../../ui/text/text';\nimport FlexView from '../../../../../../ui/layout/flex-view';\nimport Separator from '../../../../../../ui/separator/separator';\nimport Image from '../../../../../../ui/image/image';\nimport GoalsCardChapters from './goal-chapter-card';\nimport LinearProgressBar from '../../../../../../ui/linear-progress-bar/linear-progress-bar';\nimport TextButton from '../../../../../../ui/buttons/text-button/text-button';\n\nconst GoalsCard: FC<IGoalsCardProps> = ({ category, milestone, isExpended = false }) => {\n const [showAllChapters, setShowAllChapters] = useState(false);\n const {\n milestone_name: milestoneName,\n user_chapters: userChapters,\n progress_stat: progressStat,\n previous_progress_stat: prevProgressStat,\n } = milestone;\n const { completed, total } = progressStat;\n const { completed: prevCompleted, total: prevTotal } = prevProgressStat ?? {};\n const currentProgress = calculateProgress(completed, total);\n const previousProgress =\n prevProgressStat && prevCompleted && prevTotal\n ? calculateProgress(prevCompleted, prevTotal)\n : 0;\n\n const progressDifference = currentProgress - previousProgress;\n const showIndicator = Boolean(prevProgressStat && progressDifference > 0 && total === total);\n const showTag = Boolean(prevProgressStat && progressDifference <= 0 && total !== total);\n const isCompleted = currentProgress === 100;\n const roundedProgress = Math.round(currentProgress);\n const roundedDifference = Math.round(progressDifference);\n\n const totalChapters = userChapters.length;\n const visibleChapters = userChapters.slice(0, 2);\n const remainingChapters = Math.max(0, totalChapters - 2);\n const hiddenChapters = showAllChapters ? userChapters.slice(2) : [];\n const hasRemainingChapters = remainingChapters > 0;\n\n const categoryConfig = useMemo(() => GOAL_CATEGORY_CONFIG[category], [category]);\n const icon = categoryConfig.icon;\n\n const handleToggleChapters = useCallback(() => {\n setShowAllChapters(prev => !prev);\n }, []);\n\n return (\n <FlexView>\n <FlexView\n $position=\"relative\"\n $background={categoryConfig.backgroundColor}\n $borderColor={isExpended ? 'WHITE_5' : undefined}\n $gutterX={1}\n $gapX={1}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={isExpended ? 1 : 0.5}>\n {icon && (\n <Image\n src={icon}\n withLoader\n width={isExpended ? 40 : 32}\n height={isExpended ? 40 : 32}\n alt={categoryConfig.label}\n />\n )}\n <FlexView>\n {isExpended && (\n <>\n <Text $renderAs=\"ac5\" $color={categoryConfig.labelColor}>\n {categoryConfig.label}\n </Text>\n <Separator heightX={0.25} />\n </>\n )}\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {milestoneName}\n </Text>\n <Separator heightX={isExpended ? 0.5 : 0.125} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.25}>\n <Text $renderAs=\"ab3\" $color=\"BLACK_T_60\">\n {isCompleted ? 'Completed' : `${roundedProgress}% complete`}\n </Text>\n {showIndicator && !isCompleted && (\n <Text $renderAs=\"ab3\" $color=\"GREEN_6\">\n (+{roundedDifference}%)\n </Text>\n )}\n </FlexView>\n </FlexView>\n <Styled.ProgressBarContainer>\n <LinearProgressBar\n percentage={showIndicator ? previousProgress : currentProgress}\n delta={showIndicator ? progressDifference : 0}\n height={4}\n backgroundColor=\"WHITE_5\"\n fillColor=\"BLACK_1\"\n deltaProgressColor=\"GREEN_5\"\n />\n </Styled.ProgressBarContainer>\n </FlexView>\n {showTag && (\n <>\n <Separator heightX={0.875} />\n <Styled.TagContainer $gapX={0.5} $gutterX={1} $background={categoryConfig.tagColor}>\n <Text $renderAs=\"ub3\" $color=\"BLACK_1\">\n Learning plan was modified — progress updated accordingly.\n </Text>\n </Styled.TagContainer>\n </>\n )}\n </FlexView>\n {isExpended && totalChapters > 0 && (\n <Styled.ChaptersContainer\n $gapX={1}\n $flexDirection=\"column\"\n $flexGapX={1.25}\n $borderColor=\"WHITE_5\"\n >\n <GoalsCardChapters chapters={visibleChapters} />\n {hasRemainingChapters && (\n <>\n {!showAllChapters && (\n <FlexView $gutterX={4.5}>\n <TextButton\n label={`+${remainingChapters} chapters`}\n size=\"regular\"\n color=\"BLACK_1\"\n onClick={handleToggleChapters}\n />\n </FlexView>\n )}\n {showAllChapters && (\n <>\n <GoalsCardChapters chapters={hiddenChapters} />\n <FlexView $gutterX={4.5}>\n <TextButton\n label=\"Show less\"\n size=\"regular\"\n color=\"BLACK_1\"\n onClick={handleToggleChapters}\n />\n </FlexView>\n </>\n )}\n </>\n )}\n </Styled.ChaptersContainer>\n )}\n </FlexView>\n );\n};\n\nexport default memo(GoalsCard);\n"],"names":["GoalsCard","category","milestone","isExpended","showAllChapters","setShowAllChapters","useState","milestoneName","userChapters","progressStat","prevProgressStat","completed","total","prevCompleted","prevTotal","currentProgress","calculateProgress","previousProgress","progressDifference","showIndicator","showTag","isCompleted","roundedProgress","roundedDifference","totalChapters","visibleChapters","remainingChapters","hiddenChapters","hasRemainingChapters","categoryConfig","useMemo","GOAL_CATEGORY_CONFIG","icon","handleToggleChapters","useCallback","prev","FlexView","jsxs","jsx","Image","Fragment","Text","Separator","Styled.ProgressBarContainer","LinearProgressBar","Styled.TagContainer","Styled.ChaptersContainer","GoalsCardChapters","TextButton","GoalsCard$1","memo"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.5.33",
3
+ "version": "3.5.34-as3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"