@cuemath/leap 2.8.61-as3 → 2.8.61-as5

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 (30) hide show
  1. package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
  2. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +20 -19
  3. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  4. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +32 -28
  5. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +1 -1
  6. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +70 -71
  7. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +1 -1
  8. package/dist/features/chapters-v2/constants/node-constants.js +0 -1
  9. package/dist/features/chapters-v2/constants/node-constants.js.map +1 -1
  10. package/dist/features/chapters-v2/utils/node-card-utils.js +57 -41
  11. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  12. package/dist/features/homework/card-menu-options.js +34 -44
  13. package/dist/features/homework/card-menu-options.js.map +1 -1
  14. package/dist/features/homework/homework-card.js +148 -148
  15. package/dist/features/homework/homework-card.js.map +1 -1
  16. package/dist/features/homework/hw-card-list/api/get-homeworks.js +1 -1
  17. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  18. package/dist/features/homework/hw-card-list/hw-card-list-styled.js +34 -0
  19. package/dist/features/homework/hw-card-list/hw-card-list-styled.js.map +1 -0
  20. package/dist/features/homework/hw-card-list/hw-card-list.js +149 -101
  21. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  22. package/dist/features/homework/styles.js +16 -24
  23. package/dist/features/homework/styles.js.map +1 -1
  24. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +10 -10
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  26. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +16 -15
  27. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  28. package/dist/features/sheet-v2/resource-list/resource-list.js +11 -10
  29. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  30. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chevron-left.js","sources":["../../../../src/assets/line-icons/icons/chevron-left.tsx"],"sourcesContent":["import React from 'react';\n\ninterface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nconst ChevronLeft: React.FC<IconProps> = props => (\n <svg\n fill=\"none\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.3335 11.4C10.684 11.4 13.4002 8.68386 13.4002 5.33333H14.6002C14.6002 8.31725 12.8016 10.8811 10.2295 12C12.8016 13.1189 14.6002 15.6827 14.6002 18.6667H13.4002C13.4002 15.3161 10.684 12.6 7.3335 12.6V11.4Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ChevronLeft;\n"],"names":["ChevronLeft","props","jsx","ChevronLeft$1"],"mappings":";AAIA,MAAMA,IAAmC,CACvCC,MAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,OAAM;AAAA,IACL,GAAGD;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF,GAGFC,IAAeH;"}
1
+ {"version":3,"file":"chevron-left.js","sources":["../../../../src/assets/line-icons/icons/chevron-left.tsx"],"sourcesContent":["import React from 'react';\n\ninterface IconProps extends React.SVGProps<SVGSVGElement> {}\n\nconst ChevronLeft: React.FC<IconProps> = props => (\n <svg\n fill=\"none\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.3335 11.4C10.684 11.4 13.4002 8.68386 13.4002 5.33333H14.6002C14.6002 8.31725 12.8016 10.8811 10.2295 12C12.8016 13.1189 14.6002 15.6827 14.6002 18.6667H13.4002C13.4002 15.3161 10.684 12.6 7.3335 12.6V11.4Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ChevronLeft;\n"],"names":["ChevronLeft","props","jsx","ChevronLeftIcon"],"mappings":";AAIA,MAAMA,IAAmC,CACvCC,MAAA,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,OAAM;AAAA,IACL,GAAGD;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF,GAGFC,IAAeH;"}
@@ -1,4 +1,4 @@
1
- import e, { keyframes as l, css as d } from "styled-components";
1
+ import r, { keyframes as l, css as d } from "styled-components";
2
2
  import o from "../../../ui/layout/flex-view.js";
3
3
  import h from "../../../ui/text/text.js";
4
4
  const g = l`
@@ -11,9 +11,9 @@ const g = l`
11
11
  transform: translate(-150%, 100%) skewX(45deg);
12
12
  opacity: 1;
13
13
  }
14
- `, u = e(o)`
14
+ `, u = r(o)`
15
15
  transition: scale 0.3s ease-in-out;
16
- `, x = e(o)`
16
+ `, x = r(o)`
17
17
  position: absolute;
18
18
  width: 100%;
19
19
  height: 100%;
@@ -40,59 +40,60 @@ const g = l`
40
40
  transform: translate(100%, -100%) skew(45deg);
41
41
  pointer-events: none;
42
42
  }
43
- `, w = e.svg(({ theme: t }) => `
43
+ `, w = r.svg(({ theme: t }) => `
44
44
  position: absolute;
45
45
  z-index: ${t.zIndex.CHAPTER_PROGRESS_SVG};
46
46
  inset: 50%;
47
47
  transform: translate(-50%, -50%) rotate(-90deg);
48
- `), m = e.circle(
49
- ({ theme: t, $progressCircle: r, $progress: s }) => {
50
- const { GREY_2: n, BLACK: p } = t.colors, { gutter: a } = t.layout, i = a * 18.625, c = r ? i - s : s;
48
+ `), m = r.circle(
49
+ ({ theme: t, $progressCircle: e, $progress: s }) => {
50
+ const { GREY_2: n, BLACK: p } = t.colors, { gutter: a } = t.layout, i = a * 18.625, c = e ? i - s : s;
51
51
  return `
52
52
  stroke-dasharray: ${i};
53
53
  stroke-dashoffset: ${c};
54
- stroke: ${r ? p : n};
54
+ stroke: ${e ? p : n};
55
55
 
56
56
  stroke-width: ${a * 0.125}px;
57
57
  fill: none;
58
58
  `;
59
59
  }
60
- ), $ = e.img(({ theme: t }) => {
61
- const { gutter: r } = t.layout;
60
+ ), $ = r.img(({ theme: t }) => {
61
+ const { gutter: e } = t.layout;
62
62
  return `
63
63
  display: block;
64
- width: ${r * 6}px;
65
- height: ${r * 6}px;
64
+ width: ${e * 6}px;
65
+ height: ${e * 6}px;
66
66
  border-radius: 50%;
67
67
  `;
68
- }), y = e.div(({ theme: t }) => {
69
- const { layout: r } = t;
68
+ }), y = r.div(({ theme: t }) => {
69
+ const { layout: e } = t;
70
70
  return `
71
71
  position: absolute;
72
72
  top: 5px;
73
73
  right: 5px;
74
74
  z-index: 2;
75
75
 
76
- width: ${r.gutter * 1.25}px;
77
- height: ${r.gutter * 1.25}px;
76
+ width: ${e.gutter * 1.25}px;
77
+ height: ${e.gutter * 1.25}px;
78
78
  border-radius: 50%;
79
79
  background: ${t.colors.WHITE_1};
80
80
  outline: 1px solid ${t.colors.BLACK_1};
81
81
  `;
82
- }), C = e(h)`
82
+ }), C = r(h)`
83
83
  display: -webkit-box;
84
84
  -webkit-box-orient: vertical;
85
85
  -webkit-line-clamp: 2;
86
86
  text-overflow: ellipsis;
87
87
  overflow: hidden;
88
- `, v = e(o)`
88
+ height: 44px;
89
+ `, v = r(o)`
89
90
  cursor: ${({ shouldHideClick: t }) => t ? "not-allowed" : "pointer"};
90
91
  position: relative;
91
92
  box-shadow: inset 0px 0px 0px 0.5px ${({ theme: t }) => t.colors.BLACK_T_15};
92
93
  aspect-ratio: 1;
93
94
 
94
95
  &:hover {
95
- background: ${({ theme: t, $bgColor: r }) => r ? t.colors[r] : "none"};
96
+ background: ${({ theme: t, $bgColor: e }) => e ? t.colors[e] : "none"};
96
97
 
97
98
  ${u} {
98
99
  scale: 1.05;
@@ -1 +1 @@
1
- {"version":3,"file":"chapter-item-styled.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nconst shimmerEffect = keyframes`\n 0% {\n transform: translate(100%, -100%) skewX(45deg);\n opacity: 0;\n }\n\n 100% {\n transform: translate(-150%, 100%) skewX(45deg);\n opacity: 1;\n }\n`;\n\nconst ChapterImageWrapper = styled(FlexView)`\n transition: scale 0.3s ease-in-out;\n`;\n\nconst 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\nconst 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\nconst 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\nconst ChapterImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n display: block;\n width: ${gutter * 6}px;\n height: ${gutter * 6}px;\n border-radius: 50%;\n `;\n});\n\nconst StyledCheckIconWrapper = styled.div(({ theme }) => {\n const { layout } = theme;\n\n return `\n position: absolute;\n top: 5px;\n right: 5px;\n z-index: 2;\n\n width: ${layout.gutter * 1.25}px;\n height: ${layout.gutter * 1.25}px;\n border-radius: 50%;\n background: ${theme.colors.WHITE_1};\n outline: 1px solid ${theme.colors.BLACK_1};\n `;\n});\n\nconst ChapterName = styled(Text)`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\ninterface IChapterItemWrapperProps {\n $bgColor?: TColorNames;\n shouldHideClick?: boolean;\n}\n\nconst ChapterItemWrapper = styled(FlexView)<IChapterItemWrapperProps>`\n cursor: ${({ shouldHideClick }) => (shouldHideClick ? 'not-allowed' : 'pointer')};\n position: relative;\n box-shadow: inset 0px 0px 0px 0.5px ${({ theme }) => theme.colors.BLACK_T_15};\n aspect-ratio: 1;\n\n &:hover {\n background: ${({ theme, $bgColor }) => ($bgColor ? theme.colors[$bgColor] : 'none')};\n\n ${ChapterImageWrapper} {\n scale: 1.05;\n }\n\n ${ChapterProgressWrapper}::after {\n ${css`\n animation: ${shimmerEffect} 1.2s ease-out forwards;\n `}\n }\n }\n`;\n\nexport {\n ChapterImageWrapper,\n ChapterProgressWrapper,\n ChapterImage,\n ChapterItemWrapper,\n ChapterName,\n ChapterProgressSVG,\n ChapterProgressSVGCircle,\n StyledCheckIconWrapper,\n};\n"],"names":["shimmerEffect","keyframes","ChapterImageWrapper","styled","FlexView","ChapterProgressWrapper","ChapterProgressSVG","theme","ChapterProgressSVGCircle","$progressCircle","$progress","GREY_2","BLACK","gutter","strokeDashArray","strokeDashOffset","ChapterImage","StyledCheckIconWrapper","layout","ChapterName","Text","ChapterItemWrapper","shouldHideClick","$bgColor","css"],"mappings":";;;AAOA,MAAMA,IAAgBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYhBC,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,QAChC;AAAA;AAAA,eAEMA,EAAM,OAAO,oBAAoB;AAAA;AAAA;AAAA,GAI/C,GAOKC,IAA2BL,EAAO;AAAA,EACtC,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,GAEMG,IAAeb,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACvC,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM;AAElB,SAAA;AAAA;AAAA,aAEIM,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEKI,IAAyBd,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACjD,QAAA,EAAE,QAAAW,EAAW,IAAAX;AAEZ,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMIW,EAAO,SAAS,IAAI;AAAA,cACnBA,EAAO,SAAS,IAAI;AAAA;AAAA,kBAEhBX,EAAM,OAAO,OAAO;AAAA,yBACbA,EAAM,OAAO,OAAO;AAAA;AAE7C,CAAC,GAEKY,IAAchB,EAAOiB,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAazBC,IAAqBlB,EAAOC,CAAQ;AAAA,YAC9B,CAAC,EAAE,iBAAAkB,EAAA,MAAuBA,IAAkB,gBAAgB,SAAU;AAAA;AAAA,wCAE1C,CAAC,EAAE,OAAAf,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kBAI5D,CAAC,EAAE,OAAAA,GAAO,UAAAgB,QAAgBA,IAAWhB,EAAM,OAAOgB,CAAQ,IAAI,MAAO;AAAA;AAAA,MAEjFrB,CAAmB;AAAA;AAAA;AAAA;AAAA,MAInBG,CAAsB;AAAA,QACpBmB;AAAA,qBACaxB,CAAa;AAAA,OAC3B;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"chapter-item-styled.js","sources":["../../../../../src/features/chapters/chapters-list/chapter-item/chapter-item-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\nconst shimmerEffect = keyframes`\n 0% {\n transform: translate(100%, -100%) skewX(45deg);\n opacity: 0;\n }\n\n 100% {\n transform: translate(-150%, 100%) skewX(45deg);\n opacity: 1;\n }\n`;\n\nconst ChapterImageWrapper = styled(FlexView)`\n transition: scale 0.3s ease-in-out;\n`;\n\nconst 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\nconst 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\nconst 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\nconst ChapterImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n display: block;\n width: ${gutter * 6}px;\n height: ${gutter * 6}px;\n border-radius: 50%;\n `;\n});\n\nconst StyledCheckIconWrapper = styled.div(({ theme }) => {\n const { layout } = theme;\n\n return `\n position: absolute;\n top: 5px;\n right: 5px;\n z-index: 2;\n\n width: ${layout.gutter * 1.25}px;\n height: ${layout.gutter * 1.25}px;\n border-radius: 50%;\n background: ${theme.colors.WHITE_1};\n outline: 1px solid ${theme.colors.BLACK_1};\n `;\n});\n\nconst ChapterName = styled(Text)`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n height: 44px;\n`;\n\ninterface IChapterItemWrapperProps {\n $bgColor?: TColorNames;\n shouldHideClick?: boolean;\n}\n\nconst ChapterItemWrapper = styled(FlexView)<IChapterItemWrapperProps>`\n cursor: ${({ shouldHideClick }) => (shouldHideClick ? 'not-allowed' : 'pointer')};\n position: relative;\n box-shadow: inset 0px 0px 0px 0.5px ${({ theme }) => theme.colors.BLACK_T_15};\n aspect-ratio: 1;\n\n &:hover {\n background: ${({ theme, $bgColor }) => ($bgColor ? theme.colors[$bgColor] : 'none')};\n\n ${ChapterImageWrapper} {\n scale: 1.05;\n }\n\n ${ChapterProgressWrapper}::after {\n ${css`\n animation: ${shimmerEffect} 1.2s ease-out forwards;\n `}\n }\n }\n`;\n\nexport {\n ChapterImageWrapper,\n ChapterProgressWrapper,\n ChapterImage,\n ChapterItemWrapper,\n ChapterName,\n ChapterProgressSVG,\n ChapterProgressSVGCircle,\n StyledCheckIconWrapper,\n};\n"],"names":["shimmerEffect","keyframes","ChapterImageWrapper","styled","FlexView","ChapterProgressWrapper","ChapterProgressSVG","theme","ChapterProgressSVGCircle","$progressCircle","$progress","GREY_2","BLACK","gutter","strokeDashArray","strokeDashOffset","ChapterImage","StyledCheckIconWrapper","layout","ChapterName","Text","ChapterItemWrapper","shouldHideClick","$bgColor","css"],"mappings":";;;AAOA,MAAMA,IAAgBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYhBC,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,QAChC;AAAA;AAAA,eAEMA,EAAM,OAAO,oBAAoB;AAAA;AAAA;AAAA,GAI/C,GAOKC,IAA2BL,EAAO;AAAA,EACtC,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,GAEMG,IAAeb,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACvC,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM;AAElB,SAAA;AAAA;AAAA,aAEIM,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEKI,IAAyBd,EAAO,IAAI,CAAC,EAAE,OAAAI,QAAY;AACjD,QAAA,EAAE,QAAAW,EAAW,IAAAX;AAEZ,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMIW,EAAO,SAAS,IAAI;AAAA,cACnBA,EAAO,SAAS,IAAI;AAAA;AAAA,kBAEhBX,EAAM,OAAO,OAAO;AAAA,yBACbA,EAAM,OAAO,OAAO;AAAA;AAE7C,CAAC,GAEKY,IAAchB,EAAOiB,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAczBC,IAAqBlB,EAAOC,CAAQ;AAAA,YAC9B,CAAC,EAAE,iBAAAkB,EAAA,MAAuBA,IAAkB,gBAAgB,SAAU;AAAA;AAAA,wCAE1C,CAAC,EAAE,OAAAf,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA,kBAI5D,CAAC,EAAE,OAAAA,GAAO,UAAAgB,QAAgBA,IAAWhB,EAAM,OAAOgB,CAAQ,IAAI,MAAO;AAAA;AAAA,MAEjFrB,CAAmB;AAAA;AAAA;AAAA;AAAA,MAInBG,CAAsB;AAAA,QACpBmB;AAAA,qBACaxB,CAAa;AAAA,OAC3B;AAAA;AAAA;AAAA;"}
@@ -1,8 +1,8 @@
1
- import { jsxs as x, jsx as u } from "react/jsx-runtime";
2
- import { memo as G } from "react";
1
+ import { jsxs as G, jsx as f } from "react/jsx-runtime";
2
+ import { memo as I } from "react";
3
3
  import L from "../../../ui/layout/flex-view.js";
4
- import B from "./block-section-view.js";
5
- const O = G((A) => {
4
+ import u from "./block-section-view.js";
5
+ const b = I((A) => {
6
6
  const {
7
7
  blocks: t,
8
8
  imageHue: n,
@@ -11,41 +11,45 @@ const O = G((A) => {
11
11
  onNodeAttemptLocationChange: c,
12
12
  onNodeMarkAsDone: l,
13
13
  onNodeReattempt: r,
14
- onNodeReview: p,
15
- onNodeView: d,
16
- onBlockSkipUnskip: k
14
+ onNodeReview: d,
15
+ onNodeView: p,
16
+ onBlockSkipUnskip: m
17
17
  } = A;
18
- let m = 0;
19
- const a = t.filter((o) => o.section_code === "GOALS"), N = t.filter((o) => o.section_code !== "GOALS");
20
- return /* @__PURE__ */ x(L, { $width: "100%", children: [
21
- a.map((o, e) => {
22
- const { block_type: S, block_id: _, is_skipped: b } = o;
23
- let f = 0;
24
- const w = e === a.length - 1;
25
- return S === "GOAL" && (b || (m += 1), f = m), /* @__PURE__ */ u(
26
- B,
18
+ let k = 0;
19
+ const S = t.filter(
20
+ (o) => o.section_code === "GOALS" || o.section_code === "READINESS"
21
+ ), N = t.filter(
22
+ (o) => o.section_code !== "GOALS" && o.section_code !== "READINESS"
23
+ );
24
+ return /* @__PURE__ */ G(L, { $width: "100%", children: [
25
+ S.map((o, e) => {
26
+ const { block_type: _, block_id: B, is_skipped: w } = o;
27
+ let a = 0;
28
+ const x = e === S.length - 1;
29
+ return _ === "GOAL" && (w || (k += 1), a = k), /* @__PURE__ */ f(
30
+ u,
27
31
  {
28
32
  blockData: o,
29
33
  userType: i,
30
- isLastBlock: w,
31
- lessonIdx: f,
34
+ isLastBlock: x,
35
+ lessonIdx: a,
32
36
  imageHue: n,
33
37
  isGoalBlock: !0,
34
38
  onNodeAttempt: s,
35
39
  onNodeAttemptLocationChange: c,
36
40
  onNodeMarkAsDone: l,
37
41
  onNodeReattempt: r,
38
- onNodeReview: p,
39
- onNodeView: d,
40
- onBlockSkipUnskip: k
42
+ onNodeReview: d,
43
+ onNodeView: p,
44
+ onBlockSkipUnskip: m
41
45
  },
42
- _
46
+ B
43
47
  );
44
48
  }),
45
49
  N.map((o) => {
46
50
  const { block_id: e } = o;
47
- return /* @__PURE__ */ u(
48
- B,
51
+ return /* @__PURE__ */ f(
52
+ u,
49
53
  {
50
54
  blockData: o,
51
55
  userType: i,
@@ -54,9 +58,9 @@ const O = G((A) => {
54
58
  onNodeAttemptLocationChange: c,
55
59
  onNodeMarkAsDone: l,
56
60
  onNodeReattempt: r,
57
- onNodeReview: p,
58
- onNodeView: d,
59
- onBlockSkipUnskip: k
61
+ onNodeReview: d,
62
+ onNodeView: p,
63
+ onBlockSkipUnskip: m
60
64
  },
61
65
  e
62
66
  );
@@ -64,6 +68,6 @@ const O = G((A) => {
64
68
  ] });
65
69
  });
66
70
  export {
67
- O as default
71
+ b as default
68
72
  };
69
73
  //# sourceMappingURL=block-sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-sections.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-sections.tsx"],"sourcesContent":["import type { IBlockSectionsProps } from './block-sections-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport BlockSectionView from './block-section-view';\n\nconst BlockSections: FC<IBlockSectionsProps> = memo(props => {\n const {\n blocks,\n imageHue,\n userType,\n onNodeAttempt,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n } = props;\n\n let lessonCount = 0;\n\n const goalBlocks = blocks.filter(block => block.section_code === 'GOALS');\n const nonGoalBlocks = blocks.filter(block => block.section_code !== 'GOALS');\n\n return (\n <FlexView $width=\"100%\">\n {goalBlocks.map((blockData, idx) => {\n const { block_type: blockType, block_id: blockId, is_skipped: isSkipped } = blockData;\n let lessonIdx = 0;\n\n const isLastBlock = idx === goalBlocks.length - 1;\n\n if (blockType === 'GOAL') {\n if (!isSkipped) {\n lessonCount += 1;\n }\n\n lessonIdx = lessonCount;\n }\n\n return (\n <BlockSectionView\n blockData={blockData}\n userType={userType}\n isLastBlock={isLastBlock}\n key={blockId}\n lessonIdx={lessonIdx}\n imageHue={imageHue}\n isGoalBlock\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n\n {nonGoalBlocks.map(blockData => {\n const { block_id: blockId } = blockData;\n\n return (\n <BlockSectionView\n key={blockId}\n blockData={blockData}\n userType={userType}\n imageHue={imageHue}\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n </FlexView>\n );\n});\n\nexport default BlockSections;\n"],"names":["BlockSections","memo","props","blocks","imageHue","userType","onNodeAttempt","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","lessonCount","goalBlocks","block","nonGoalBlocks","jsxs","FlexView","blockData","idx","blockType","blockId","isSkipped","lessonIdx","isLastBlock","jsx","BlockSectionView"],"mappings":";;;;AAQM,MAAAA,IAAyCC,EAAK,CAASC,MAAA;AACrD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,EACE,IAAAV;AAEJ,MAAIW,IAAc;AAElB,QAAMC,IAAaX,EAAO,OAAO,CAASY,MAAAA,EAAM,iBAAiB,OAAO,GAClEC,IAAgBb,EAAO,OAAO,CAASY,MAAAA,EAAM,iBAAiB,OAAO;AAGzE,SAAA,gBAAAE,EAACC,GAAS,EAAA,QAAO,QACd,UAAA;AAAA,IAAWJ,EAAA,IAAI,CAACK,GAAWC,MAAQ;AAClC,YAAM,EAAE,YAAYC,GAAW,UAAUC,GAAS,YAAYC,EAAc,IAAAJ;AAC5E,UAAIK,IAAY;AAEV,YAAAC,IAAcL,MAAQN,EAAW,SAAS;AAEhD,aAAIO,MAAc,WACXE,MACYV,KAAA,IAGLW,IAAAX,IAIZ,gBAAAa;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,aAAAoB;AAAA,UAEA,WAAAD;AAAA,UACA,UAAApB;AAAA,UACA,aAAW;AAAA,UACX,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,IAEAN,EAAc,IAAI,CAAaG,MAAA;AACxB,YAAA,EAAE,UAAUG,EAAY,IAAAH;AAG5B,aAAA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UAEC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,UAAAD;AAAA,UACA,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"block-sections.js","sources":["../../../../../src/features/chapters-v2/chapter-details/block-sections/block-sections.tsx"],"sourcesContent":["import type { IBlockSectionsProps } from './block-sections-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport BlockSectionView from './block-section-view';\n\nconst BlockSections: FC<IBlockSectionsProps> = memo(props => {\n const {\n blocks,\n imageHue,\n userType,\n onNodeAttempt,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReattempt,\n onNodeReview,\n onNodeView,\n onBlockSkipUnskip,\n } = props;\n\n let lessonCount = 0;\n\n const goalBlocks = blocks.filter(\n block => block.section_code === 'GOALS' || block.section_code === 'READINESS',\n );\n\n const nonGoalBlocks = blocks.filter(\n block => block.section_code !== 'GOALS' && block.section_code !== 'READINESS',\n );\n\n return (\n <FlexView $width=\"100%\">\n {goalBlocks.map((blockData, idx) => {\n const { block_type: blockType, block_id: blockId, is_skipped: isSkipped } = blockData;\n let lessonIdx = 0;\n\n const isLastBlock = idx === goalBlocks.length - 1;\n\n if (blockType === 'GOAL') {\n if (!isSkipped) {\n lessonCount += 1;\n }\n\n lessonIdx = lessonCount;\n }\n\n return (\n <BlockSectionView\n blockData={blockData}\n userType={userType}\n isLastBlock={isLastBlock}\n key={blockId}\n lessonIdx={lessonIdx}\n imageHue={imageHue}\n isGoalBlock\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n\n {nonGoalBlocks.map(blockData => {\n const { block_id: blockId } = blockData;\n\n return (\n <BlockSectionView\n key={blockId}\n blockData={blockData}\n userType={userType}\n imageHue={imageHue}\n onNodeAttempt={onNodeAttempt}\n onNodeAttemptLocationChange={onNodeAttemptLocationChange}\n onNodeMarkAsDone={onNodeMarkAsDone}\n onNodeReattempt={onNodeReattempt}\n onNodeReview={onNodeReview}\n onNodeView={onNodeView}\n onBlockSkipUnskip={onBlockSkipUnskip}\n />\n );\n })}\n </FlexView>\n );\n});\n\nexport default BlockSections;\n"],"names":["BlockSections","memo","props","blocks","imageHue","userType","onNodeAttempt","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeReattempt","onNodeReview","onNodeView","onBlockSkipUnskip","lessonCount","goalBlocks","block","nonGoalBlocks","jsxs","FlexView","blockData","idx","blockType","blockId","isSkipped","lessonIdx","isLastBlock","jsx","BlockSectionView"],"mappings":";;;;AAQM,MAAAA,IAAyCC,EAAK,CAASC,MAAA;AACrD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,mBAAAC;AAAA,EACE,IAAAV;AAEJ,MAAIW,IAAc;AAElB,QAAMC,IAAaX,EAAO;AAAA,IACxB,CAASY,MAAAA,EAAM,iBAAiB,WAAWA,EAAM,iBAAiB;AAAA,EAAA,GAG9DC,IAAgBb,EAAO;AAAA,IAC3B,CAASY,MAAAA,EAAM,iBAAiB,WAAWA,EAAM,iBAAiB;AAAA,EAAA;AAIlE,SAAA,gBAAAE,EAACC,GAAS,EAAA,QAAO,QACd,UAAA;AAAA,IAAWJ,EAAA,IAAI,CAACK,GAAWC,MAAQ;AAClC,YAAM,EAAE,YAAYC,GAAW,UAAUC,GAAS,YAAYC,EAAc,IAAAJ;AAC5E,UAAIK,IAAY;AAEV,YAAAC,IAAcL,MAAQN,EAAW,SAAS;AAEhD,aAAIO,MAAc,WACXE,MACYV,KAAA,IAGLW,IAAAX,IAIZ,gBAAAa;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,aAAAoB;AAAA,UAEA,WAAAD;AAAA,UACA,UAAApB;AAAA,UACA,aAAW;AAAA,UACX,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,IAEAN,EAAc,IAAI,CAAaG,MAAA;AACxB,YAAA,EAAE,UAAUG,EAAY,IAAAH;AAG5B,aAAA,gBAAAO;AAAA,QAACC;AAAA,QAAA;AAAA,UAEC,WAAAR;AAAA,UACA,UAAAd;AAAA,UACA,UAAAD;AAAA,UACA,eAAAE;AAAA,UACA,6BAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,YAAAC;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,QAVKU;AAAA,MAAA;AAAA,IAWP,CAEH;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,58 +1,57 @@
1
1
  import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
2
  import { memo as P, useRef as X, useCallback as F } from "react";
3
- import v from "../../../../../assets/line-icons/icons/book2.js";
4
- import z from "../../../../../assets/line-icons/icons/check2.js";
5
- import N from "../../../../../assets/line-icons/icons/eye2.js";
6
- import U from "../../../../../assets/line-icons/icons/home2.js";
7
- import T from "../../../../../assets/line-icons/icons/more-vertical.js";
8
- import V from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
3
+ import v from "../../../../../assets/line-icons/icons/check2.js";
4
+ import z from "../../../../../assets/line-icons/icons/eye2.js";
5
+ import N from "../../../../../assets/line-icons/icons/home2.js";
6
+ import k from "../../../../../assets/line-icons/icons/more-vertical.js";
7
+ import U from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
9
8
  import Y from "../../../../ui/hooks/use-context-menu-click-handler.js";
10
9
  import q from "../../../../ui/layout/flex-view.js";
11
10
  import J from "../../../../ui/text/text.js";
12
11
  import { BLOCK_TYPE as Q } from "../../../constants/block-constants.js";
13
- import { NODE_CARD_STATES as $, TEACHER_MENU_LABELS as Z } from "../../../constants/node-constants.js";
14
- import { getNodeTypeBasedBgImage as D } from "../../../utils/index.js";
15
- import { getNodeCardBasedIcon as ee } from "../../../utils/node-card-utils.js";
16
- import re from "../border-path-animation.js";
17
- import { NodeCardContainer as te, NodeCardInfoWrapper as ie, IconWrapper as oe, StyledImportantIcon as ne, NodeKebabMenuWrapper as k, NodeCardContentWrapper as ce, NodeCardTitle as ae, NodeMenuOptionsWrapper as se } from "../node-card-styled.js";
18
- import le from "../node-card-tags.js";
19
- import de from "../node-menu-options/node-menu-options.js";
20
- const { ASSIGN_AS_HW: me, REVERT_TO_CW: pe, REVIEW: he, VIEW: fe, MARK_AS_DONE: $e } = Z, Re = P(
12
+ import { NODE_CARD_STATES as f, TEACHER_MENU_LABELS as V } from "../../../constants/node-constants.js";
13
+ import { getNodeTypeBasedBgImage as Z } from "../../../utils/index.js";
14
+ import { getNodeCardBasedIcon as D } from "../../../utils/node-card-utils.js";
15
+ import ee from "../border-path-animation.js";
16
+ import { NodeCardContainer as re, NodeCardInfoWrapper as te, IconWrapper as ie, StyledImportantIcon as oe, NodeKebabMenuWrapper as S, NodeCardContentWrapper as ne, NodeCardTitle as ce, NodeMenuOptionsWrapper as ae } from "../node-card-styled.js";
17
+ import se from "../node-card-tags.js";
18
+ import le from "../node-menu-options/node-menu-options.js";
19
+ const { ASSIGN_AS_HW: de, REVIEW: me, VIEW: pe, MARK_AS_DONE: he } = V, Be = P(
21
20
  ({
22
21
  nodeData: r,
23
- imageHue: S,
22
+ imageHue: T,
24
23
  blockType: O,
25
- isSkipped: C,
26
- onNodeAttemptLocationChange: o,
27
- onNodeMarkAsDone: n,
28
- onNodeView: c,
29
- onNodeReview: a
24
+ isSkipped: $,
25
+ onNodeAttemptLocationChange: i,
26
+ onNodeMarkAsDone: o,
27
+ onNodeView: n,
28
+ onNodeReview: c
30
29
  }) => {
31
- const l = X(null), { menuVisible: W, onMenuClick: u } = Y(l), {
32
- accuracy: w,
33
- attempt_location: x,
30
+ const l = X(null), { menuVisible: w, onMenuClick: u } = Y(l), {
31
+ accuracy: x,
32
+ attempt_location: y,
34
33
  node_type: d,
35
- card_header: y,
36
- title: B,
37
- state: s,
38
- is_optional: _,
39
- sheet_statement: I,
40
- permissions: A
34
+ card_header: W,
35
+ title: A,
36
+ state: a,
37
+ is_optional: C,
38
+ sheet_statement: _,
39
+ permissions: B
41
40
  } = r, {
42
41
  can_change_attempt_location: H,
43
42
  can_mark_familiar: L,
44
43
  can_review: m
45
- } = A, p = O === Q.GOAL, i = s === $.LOCKED, R = s === $.NOT_STARTED, G = s === $.IN_PROGRESS, h = x === "INCLASS", K = !I || !p || i, g = !_ && (G || R), M = D(d), b = ee(d), f = F(
44
+ } = B, p = O === Q.GOAL, s = a === f.LOCKED, G = a === f.NOT_STARTED, K = a === f.IN_PROGRESS, I = y === "INCLASS", M = !_ || !p, g = !C && (K || G), R = Z(d), b = D(d), h = F(
46
45
  (E) => {
47
46
  switch (E) {
48
47
  case "node-card-view":
49
- m ? a == null || a(r) : c == null || c(r);
48
+ m ? c == null || c(r) : n == null || n(r);
50
49
  return;
51
50
  case "node-card-assign-as-hw":
52
- o == null || o(r);
51
+ i == null || i(r);
53
52
  return;
54
53
  case "node-card-mark-as-done":
55
- n == null || n(r);
54
+ o == null || o(r);
56
55
  return;
57
56
  default:
58
57
  throw new Error(`No callback function for ${E}`);
@@ -61,66 +60,66 @@ const { ASSIGN_AS_HW: me, REVERT_TO_CW: pe, REVIEW: he, VIEW: fe, MARK_AS_DONE:
61
60
  [
62
61
  m,
63
62
  r,
63
+ i,
64
64
  o,
65
- n,
66
- a,
67
- c
65
+ c,
66
+ n
68
67
  ]
69
68
  ), j = [
70
69
  {
71
70
  id: "node-card-view",
72
- label: m ? he : fe,
73
- icon: N,
71
+ label: m ? me : pe,
72
+ icon: z,
74
73
  disabled: !1,
75
- onClick: f
74
+ onClick: h
76
75
  },
77
76
  {
78
77
  id: "node-card-assign-as-hw",
79
- label: h ? me : pe,
80
- icon: h ? U : v,
81
- disabled: !H,
82
- onClick: f
78
+ label: de,
79
+ icon: N,
80
+ disabled: !H || !I,
81
+ onClick: h
83
82
  },
84
83
  {
85
84
  id: "node-card-mark-as-done",
86
- label: $e,
87
- icon: z,
85
+ label: he,
86
+ icon: v,
88
87
  disabled: !L,
89
- onClick: f
88
+ onClick: h
90
89
  }
91
90
  ];
92
91
  return /* @__PURE__ */ t(
93
- te,
92
+ re,
94
93
  {
95
94
  $showOutline: !g,
96
- $isSheetLocked: i,
97
- $background: `${S}_2`,
98
- $disabled: !!C,
95
+ $isSheetLocked: s,
96
+ $background: `${T}_2`,
97
+ $disabled: !!$,
99
98
  children: [
100
99
  /* @__PURE__ */ t(
101
- V,
100
+ U,
102
101
  {
103
102
  renderAs: "primary",
104
- tooltipItem: I,
103
+ tooltipItem: _,
105
104
  position: "bottom",
106
105
  zIndex: 5,
107
- hidden: K,
106
+ hidden: M,
108
107
  parentWidth: "100%",
109
108
  widthX: 11.25,
110
109
  children: [
111
110
  /* @__PURE__ */ t(
112
- ie,
111
+ te,
113
112
  {
114
113
  $flexDirection: "row",
115
114
  $alignItems: "center",
116
115
  $width: "100%",
117
116
  $heightX: 3.5,
118
- $bgImage: M,
117
+ $bgImage: R,
119
118
  $gutterX: 0.78125,
120
119
  $flexGap: 8.5,
121
120
  children: [
122
121
  /* @__PURE__ */ t(
123
- oe,
122
+ ie,
124
123
  {
125
124
  $width: 31,
126
125
  $height: 31,
@@ -128,26 +127,26 @@ const { ASSIGN_AS_HW: me, REVERT_TO_CW: pe, REVIEW: he, VIEW: fe, MARK_AS_DONE:
128
127
  $position: "relative",
129
128
  $alignItems: "center",
130
129
  $justifyContent: "center",
131
- $opacity: i ? 0.5 : 1,
130
+ $opacity: s ? 0.5 : 1,
132
131
  children: [
133
132
  b && /* @__PURE__ */ e(b, { width: 20, height: 20 }),
134
- !_ && /* @__PURE__ */ e(ne, {})
133
+ !C && /* @__PURE__ */ e(oe, {})
135
134
  ]
136
135
  }
137
136
  ),
138
- /* @__PURE__ */ t(J, { $renderAs: "ac4-black", $color: "BLACK", $opacity: i ? 0.5 : 1, children: [
139
- y,
137
+ /* @__PURE__ */ t(J, { $renderAs: "ac4-black", $color: "BLACK", $opacity: s ? 0.5 : 1, children: [
138
+ W,
140
139
  " ",
141
- h && ". CW"
140
+ I && ". CW"
142
141
  ] }),
143
- /* @__PURE__ */ e(q, { className: "context-menu", children: p && /* @__PURE__ */ e(k, { ref: l, onClick: u, children: /* @__PURE__ */ e(T, { width: 16, height: 16 }) }) }),
144
- g && !C && /* @__PURE__ */ e(re, {})
142
+ /* @__PURE__ */ e(q, { className: "context-menu", children: p && /* @__PURE__ */ e(S, { ref: l, onClick: u, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) }) }),
143
+ g && !$ && /* @__PURE__ */ e(ee, {})
145
144
  ]
146
145
  }
147
146
  ),
148
- /* @__PURE__ */ e(le, { nodeType: d, state: s, accuracy: w }),
147
+ /* @__PURE__ */ e(se, { nodeType: d, state: a, accuracy: x }),
149
148
  !p && /* @__PURE__ */ t(
150
- ce,
149
+ ne,
151
150
  {
152
151
  $flexDirection: "row",
153
152
  $alignItems: "center",
@@ -157,28 +156,28 @@ const { ASSIGN_AS_HW: me, REVERT_TO_CW: pe, REVIEW: he, VIEW: fe, MARK_AS_DONE:
157
156
  $justifyContent: "space-between",
158
157
  children: [
159
158
  /* @__PURE__ */ e(
160
- ae,
159
+ ce,
161
160
  {
162
161
  $renderAs: "ab3",
163
162
  $color: "BLACK_1",
164
- $opacity: i ? 0.5 : 1,
165
- children: B
163
+ $opacity: s ? 0.5 : 1,
164
+ children: A
166
165
  }
167
166
  ),
168
- /* @__PURE__ */ e(k, { ref: l, onClick: u, children: /* @__PURE__ */ e(T, { width: 16, height: 16 }) })
167
+ /* @__PURE__ */ e(S, { ref: l, onClick: u, children: /* @__PURE__ */ e(k, { width: 16, height: 16 }) })
169
168
  ]
170
169
  }
171
170
  )
172
171
  ]
173
172
  }
174
173
  ),
175
- /* @__PURE__ */ e(se, { $visible: W, children: /* @__PURE__ */ e(de, { options: j }) })
174
+ /* @__PURE__ */ e(ae, { $visible: w, children: /* @__PURE__ */ e(le, { options: j }) })
176
175
  ]
177
176
  }
178
177
  );
179
178
  }
180
179
  );
181
180
  export {
182
- Re as default
181
+ Be as default
183
182
  };
184
183
  //# sourceMappingURL=teacher-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Book2Icon from '../../../../../assets/line-icons/icons/book2';\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst { ASSIGN_AS_HW, REVERT_TO_CW, REVIEW, VIEW, MARK_AS_DONE } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n } = nodeData;\n\n const {\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n const tooltipHidden = !sheetStatement || !isGoalBlock || sheetLocked;\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAttemptLocationChange?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReview,\n onNodeView,\n ],\n );\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: inClassSheet ? ASSIGN_AS_HW : REVERT_TO_CW,\n icon: inClassSheet ? Home2Icon : Book2Icon,\n disabled: !canChangeAttemptLocation,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={tooltipHidden}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `. CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {showCardAnimation && !isSkipped && <BorderPathAnimation />}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["ASSIGN_AS_HW","REVERT_TO_CW","REVIEW","VIEW","MARK_AS_DONE","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeView","onNodeReview","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","canChangeAttemptLocation","canMarkFamiliar","canReview","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","tooltipHidden","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","menuOptions","Eye2Icon","Home2Icon","Book2Icon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","BorderPathAnimation","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../src/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { INodeCardProps } from '../node-card-types';\nimport type { INodeMenuOption } from '../node-menu-options/node-menu-options-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useRef } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport Eye2Icon from '../../../../../assets/line-icons/icons/eye2';\nimport Home2Icon from '../../../../../assets/line-icons/icons/home2';\nimport MoreVerticalIcon from '../../../../../assets/line-icons/icons/more-vertical';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport useContextMenuClickHandler from '../../../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { BLOCK_TYPE } from '../../../constants/block-constants';\nimport { NODE_CARD_STATES, TEACHER_MENU_LABELS } from '../../../constants/node-constants';\nimport { getNodeTypeBasedBgImage } from '../../../utils';\nimport { getNodeCardBasedIcon } from '../../../utils/node-card-utils';\nimport BorderPathAnimation from '../border-path-animation';\nimport * as Styled from '../node-card-styled';\nimport NodeCardTags from '../node-card-tags';\nimport NodeMenuOptions from '../node-menu-options/node-menu-options';\n\nconst { ASSIGN_AS_HW, REVIEW, VIEW, MARK_AS_DONE } = TEACHER_MENU_LABELS;\n\nconst TeacherActions: FC<Omit<INodeCardProps, 'userType'>> = memo(\n ({\n nodeData,\n imageHue,\n blockType,\n isSkipped,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeView,\n onNodeReview,\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(containerRef);\n\n const {\n accuracy,\n attempt_location: attemptLocation,\n node_type: nodeType,\n card_header: cardHeader,\n title,\n state,\n is_optional: isOptional,\n sheet_statement: sheetStatement,\n permissions,\n } = nodeData;\n\n const {\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_review: canReview,\n } = permissions;\n\n const isGoalBlock = blockType === BLOCK_TYPE.GOAL;\n const sheetLocked = state === NODE_CARD_STATES.LOCKED;\n const sheetNotStarted = state === NODE_CARD_STATES.NOT_STARTED;\n const sheetInProgress = state === NODE_CARD_STATES.IN_PROGRESS;\n const inClassSheet = attemptLocation === 'INCLASS';\n const tooltipHidden = !sheetStatement || !isGoalBlock;\n\n const showCardAnimation = !isOptional && (sheetInProgress || sheetNotStarted);\n\n const nodeBgImage = getNodeTypeBasedBgImage(nodeType);\n const NodeCardIcon = getNodeCardBasedIcon(nodeType);\n\n const handleOnMenuOptionClick = useCallback(\n (optionId: string) => {\n switch (optionId) {\n case 'node-card-view':\n if (canReview) {\n onNodeReview?.(nodeData);\n } else {\n onNodeView?.(nodeData);\n }\n\n return;\n\n case 'node-card-assign-as-hw':\n onNodeAttemptLocationChange?.(nodeData);\n\n return;\n\n case 'node-card-mark-as-done':\n onNodeMarkAsDone?.(nodeData);\n\n return;\n default:\n throw new Error(`No callback function for ${optionId}`);\n }\n },\n [\n canReview,\n nodeData,\n onNodeAttemptLocationChange,\n onNodeMarkAsDone,\n onNodeReview,\n onNodeView,\n ],\n );\n\n const menuOptions: INodeMenuOption[] = [\n {\n id: 'node-card-view',\n label: canReview ? REVIEW : VIEW,\n icon: Eye2Icon,\n disabled: false,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-assign-as-hw',\n label: ASSIGN_AS_HW,\n icon: Home2Icon,\n disabled: !canChangeAttemptLocation || !inClassSheet,\n onClick: handleOnMenuOptionClick,\n },\n {\n id: 'node-card-mark-as-done',\n label: MARK_AS_DONE,\n icon: Check2Icon,\n disabled: !canMarkFamiliar,\n onClick: handleOnMenuOptionClick,\n },\n ];\n\n return (\n <Styled.NodeCardContainer\n $showOutline={!showCardAnimation}\n $isSheetLocked={sheetLocked}\n $background={`${imageHue}_2`}\n $disabled={Boolean(isSkipped)}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={sheetStatement}\n position=\"bottom\"\n zIndex={5}\n hidden={tooltipHidden}\n parentWidth=\"100%\"\n widthX={11.25}\n >\n <Styled.NodeCardInfoWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={nodeBgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {NodeCardIcon && <NodeCardIcon width={20} height={20} />}\n {!isOptional && <Styled.StyledImportantIcon />}\n </Styled.IconWrapper>\n\n <Text $renderAs=\"ac4-black\" $color=\"BLACK\" $opacity={sheetLocked ? 0.5 : 1}>\n {cardHeader} {inClassSheet && `. CW`}\n </Text>\n\n <FlexView className=\"context-menu\">\n {isGoalBlock && (\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n )}\n </FlexView>\n\n {showCardAnimation && !isSkipped && <BorderPathAnimation />}\n </Styled.NodeCardInfoWrapper>\n\n <NodeCardTags nodeType={nodeType} state={state} accuracy={accuracy} />\n\n {!isGoalBlock && (\n <Styled.NodeCardContentWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"WHITE_1\"\n $flexGap={8}\n $heightX={4}\n $justifyContent=\"space-between\"\n >\n <Styled.NodeCardTitle\n $renderAs=\"ab3\"\n $color=\"BLACK_1\"\n $opacity={sheetLocked ? 0.5 : 1}\n >\n {title}\n </Styled.NodeCardTitle>\n\n <Styled.NodeKebabMenuWrapper ref={containerRef} onClick={onMenuClick}>\n <MoreVerticalIcon width={16} height={16} />\n </Styled.NodeKebabMenuWrapper>\n </Styled.NodeCardContentWrapper>\n )}\n </ArrowTooltip>\n\n <Styled.NodeMenuOptionsWrapper $visible={menuVisible}>\n <NodeMenuOptions options={menuOptions} />\n </Styled.NodeMenuOptionsWrapper>\n </Styled.NodeCardContainer>\n );\n },\n);\n\nexport default TeacherActions;\n"],"names":["ASSIGN_AS_HW","REVIEW","VIEW","MARK_AS_DONE","TEACHER_MENU_LABELS","TeacherActions","memo","nodeData","imageHue","blockType","isSkipped","onNodeAttemptLocationChange","onNodeMarkAsDone","onNodeView","onNodeReview","containerRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","accuracy","attemptLocation","nodeType","cardHeader","title","state","isOptional","sheetStatement","permissions","canChangeAttemptLocation","canMarkFamiliar","canReview","isGoalBlock","BLOCK_TYPE","sheetLocked","NODE_CARD_STATES","sheetNotStarted","sheetInProgress","inClassSheet","tooltipHidden","showCardAnimation","nodeBgImage","getNodeTypeBasedBgImage","NodeCardIcon","getNodeCardBasedIcon","handleOnMenuOptionClick","useCallback","optionId","menuOptions","Eye2Icon","Home2Icon","Check2Icon","jsxs","Styled.NodeCardContainer","ArrowTooltip","Styled.NodeCardInfoWrapper","Styled.IconWrapper","jsx","Styled.StyledImportantIcon","Text","FlexView","Styled.NodeKebabMenuWrapper","MoreVerticalIcon","BorderPathAnimation","NodeCardTags","Styled.NodeCardContentWrapper","Styled.NodeCardTitle","Styled.NodeMenuOptionsWrapper","NodeMenuOptions"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  const I = {
2
2
  ASSIGN_AS_HW: "Assign as HW",
3
- REVERT_TO_CW: "Revert to CW",
4
3
  MARK_AS_DONE: "Mark as Done",
5
4
  SKIP: "Skip",
6
5
  REVERT_SKIP: "Revert Skip",
@@ -1 +1 @@
1
- {"version":3,"file":"node-constants.js","sources":["../../../../src/features/chapters-v2/constants/node-constants.ts"],"sourcesContent":["export const TEACHER_MENU_LABELS = {\n ASSIGN_AS_HW: 'Assign as HW',\n REVERT_TO_CW: 'Revert to CW',\n MARK_AS_DONE: 'Mark as Done',\n SKIP: 'Skip',\n REVERT_SKIP: 'Revert Skip',\n REVIEW: 'Review',\n VIEW: 'View',\n};\n\nexport enum NODE_CARD_STATES {\n LOCKED = 'LOCKED',\n NOT_STARTED = 'NOT_STARTED',\n WAIT_FOR_REVIEW = 'WAIT_FOR_REVIEW',\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n}\n"],"names":["TEACHER_MENU_LABELS","NODE_CARD_STATES"],"mappings":"AAAO,MAAMA,IAAsB;AAAA,EACjC,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,MAAM;AACR;AAEY,IAAAC,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,YAAY,aALFA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"node-constants.js","sources":["../../../../src/features/chapters-v2/constants/node-constants.ts"],"sourcesContent":["export const TEACHER_MENU_LABELS = {\n ASSIGN_AS_HW: 'Assign as HW',\n MARK_AS_DONE: 'Mark as Done',\n SKIP: 'Skip',\n REVERT_SKIP: 'Revert Skip',\n REVIEW: 'Review',\n VIEW: 'View',\n};\n\nexport enum NODE_CARD_STATES {\n LOCKED = 'LOCKED',\n NOT_STARTED = 'NOT_STARTED',\n WAIT_FOR_REVIEW = 'WAIT_FOR_REVIEW',\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n}\n"],"names":["TEACHER_MENU_LABELS","NODE_CARD_STATES"],"mappings":"AAAO,MAAMA,IAAsB;AAAA,EACjC,cAAc;AAAA,EACd,cAAc;AAAA,EACd,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,MAAM;AACR;AAEY,IAAAC,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,cAAc,eACdA,EAAA,kBAAkB,mBAClBA,EAAA,cAAc,eACdA,EAAA,YAAY,aALFA,IAAAA,KAAA,CAAA,CAAA;"}