@cuemath/leap 4.0.3 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -42
  2. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
  3. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +5 -5
  4. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  5. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js +38 -37
  6. package/dist/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.js.map +1 -1
  7. package/dist/features/ui/tag/tag-styled.js +17 -15
  8. package/dist/features/ui/tag/tag-styled.js.map +1 -1
  9. package/dist/features/ui/tag/tag.js +7 -5
  10. package/dist/features/ui/tag/tag.js.map +1 -1
  11. package/dist/features/ui/theme/get-theme.js +14 -12
  12. package/dist/features/ui/theme/get-theme.js.map +1 -1
  13. package/dist/features/ui/theme/tag.js +36 -0
  14. package/dist/features/ui/theme/tag.js.map +1 -0
  15. package/dist/features/ui/theme/text.js +0 -15
  16. package/dist/features/ui/theme/text.js.map +1 -1
  17. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +1 -1
  18. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +1 -1
  19. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +1 -0
  20. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +1 -1
  21. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +1 -1
  22. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +1 -1
  23. package/dist/index.d.ts +27 -3
  24. package/package.json +1 -1
@@ -1,63 +1,64 @@
1
- import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
- import { memo as X, useCallback as _, Fragment as L } from "react";
3
- import { useTheme as w } from "styled-components";
4
- import y from "../../../../ui/buttons/button/button.js";
5
- import r from "../../../../ui/layout/flex-view.js";
6
- import l from "../../../../ui/text/text.js";
7
- import G from "../score-badge/score-badge.js";
1
+ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
+ import { memo as X, useCallback as _, Fragment as w } from "react";
3
+ import { useTheme as y } from "styled-components";
4
+ import G from "../../../../ui/buttons/button/button.js";
5
+ import o from "../../../../ui/layout/flex-view.js";
6
+ import d from "../../../../ui/text/text.js";
7
+ import L from "../score-badge/score-badge.js";
8
8
  import { Divider as K } from "./score-section-styled.js";
9
9
  import g from "../../../../ui/separator/separator.js";
10
- import { getQuestionStatusBgColor as k } from "../../math-fit-report-helpers.js";
10
+ import { getQuestionStatusBgColor as j } from "../../math-fit-report-helpers.js";
11
11
  import { EQuestionState as u } from "../../../math-fit-overview/math-fit-overview-types.js";
12
- import { EDeviceType as j } from "../../../../ui/theme/constants.js";
13
- const Y = X(function({
14
- onReviewSection: c,
15
- section: s,
16
- sheet: $,
17
- compactView: a = !1,
18
- showReviewButton: b = !0
12
+ import { EDeviceType as k } from "../../../../ui/theme/constants.js";
13
+ import M from "../../../../ui/tag/tag.js";
14
+ const V = X(function({
15
+ onReviewSection: l,
16
+ section: m,
17
+ sheet: f,
18
+ compactView: s = !1,
19
+ showReviewButton: x = !0
19
20
  }) {
20
21
  const {
21
- title: x,
22
- score: f,
22
+ title: b,
23
+ score: p,
23
24
  scoreChange: C,
24
- sessionId: p,
25
+ sessionId: $,
25
26
  isIncomplete: t = !1,
26
27
  sectionNumber: T,
27
- topics: A
28
- } = s, { device: I } = w(), m = I <= j.MOBILE, h = [...A ?? []].sort((i, d) => i.miniGoal.order - d.miniGoal.order), E = m || a ? "column" : "row", B = m || a ? "" : "center", S = m || a ? 0.5 : 0, D = _(() => {
29
- !t && s.sheet && c && c($, p);
30
- }, [t, c, s.sheet, $, p]);
31
- return /* @__PURE__ */ o(r, { children: [
32
- /* @__PURE__ */ o(r, { $flexDirection: "row", $alignItems: "center", children: [
33
- /* @__PURE__ */ o(l, { $renderAs: "ab2-bold", $color: "BLACK_1", children: [
34
- x,
28
+ topics: I
29
+ } = m, { device: A } = y(), c = A <= k.MOBILE, h = [...I ?? []].sort((i, a) => i.miniGoal.order - a.miniGoal.order), E = c || s ? "column" : "row", S = c || s ? "" : "center", B = c || s ? 0.5 : 0, D = _(() => {
30
+ !t && m.sheet && l && l(f, $);
31
+ }, [t, l, m.sheet, f, $]);
32
+ return /* @__PURE__ */ r(o, { children: [
33
+ /* @__PURE__ */ r(o, { $flexDirection: "row", $alignItems: "center", children: [
34
+ /* @__PURE__ */ r(d, { $renderAs: "ab2-bold", $color: "BLACK_1", children: [
35
+ b,
35
36
  ":"
36
37
  ] }),
37
38
  /* @__PURE__ */ e(g, { width: 4 }),
38
- t ? /* @__PURE__ */ e(r, { $gutter: 3, $gap: 2.5, $background: "BLACK_5", children: /* @__PURE__ */ e(l, { $renderAs: "ab4-bold", $color: "WHITE", children: "INCOMPLETE" }) }) : f && /* @__PURE__ */ e(G, { score: f, maxScore: 10, scoreChange: C })
39
+ t ? /* @__PURE__ */ e(M, { text: "INCOMPLETE", size: "8px" }) : p && /* @__PURE__ */ e(L, { score: p, maxScore: 10, scoreChange: C })
39
40
  ] }),
40
- /* @__PURE__ */ e(r, { $flexRowGapX: 0.5, $gapX: 0.75, children: h.map((i, d) => /* @__PURE__ */ o(L, { children: [
41
- /* @__PURE__ */ o(
42
- r,
41
+ /* @__PURE__ */ e(o, { $flexRowGapX: 0.5, $gapX: 0.75, children: h.map((i, a) => /* @__PURE__ */ r(w, { children: [
42
+ /* @__PURE__ */ r(
43
+ o,
43
44
  {
44
45
  $flexDirection: E,
45
46
  $justifyContent: "space-between",
46
- $alignItems: B,
47
- $flexRowGapX: S,
47
+ $alignItems: S,
48
+ $flexRowGapX: B,
48
49
  children: [
49
- /* @__PURE__ */ e(l, { $renderAs: "ub2", $color: t ? "BLACK_T_38" : "BLACK_1", children: i.name }),
50
- /* @__PURE__ */ e(r, { $flexGapX: 0.5, $flexDirection: "row", $flexWrap: !0, children: i.miniGoal.items.map((n) => /* @__PURE__ */ e(
51
- r,
50
+ /* @__PURE__ */ e(d, { $renderAs: "ub2", $color: t ? "BLACK_T_38" : "BLACK_1", children: i.name }),
51
+ /* @__PURE__ */ e(o, { $flexGapX: 0.5, $flexDirection: "row", $flexWrap: !0, children: i.miniGoal.items.map((n) => /* @__PURE__ */ e(
52
+ o,
52
53
  {
53
54
  $heightX: 1.25,
54
55
  $gutterX: 0.5,
55
56
  $alignItems: "center",
56
57
  $justifyContent: "center",
57
58
  $borderRadiusX: 1,
58
- $background: k(n.state),
59
- children: /* @__PURE__ */ o(
60
- l,
59
+ $background: j(n.state),
60
+ children: /* @__PURE__ */ r(
61
+ d,
61
62
  {
62
63
  $renderAs: "ub4",
63
64
  $color: n.state === u.SKIPPED || n.state === u.UNATTEMPTED ? "BLACK_T_38" : "WHITE",
@@ -73,12 +74,12 @@ const Y = X(function({
73
74
  ]
74
75
  }
75
76
  ),
76
- d !== h.length - 1 && /* @__PURE__ */ e(K, {})
77
+ a !== h.length - 1 && /* @__PURE__ */ e(K, {})
77
78
  ] }, i.name)) }),
78
- b && /* @__PURE__ */ o(r, { $alignItems: "center", children: [
79
+ x && /* @__PURE__ */ r(o, { $alignItems: "center", children: [
79
80
  /* @__PURE__ */ e(g, { heightX: 0.75 }),
80
81
  /* @__PURE__ */ e(
81
- y,
82
+ G,
82
83
  {
83
84
  label: `Review Section ${T}`,
84
85
  renderAs: t ? "secondary" : "primary",
@@ -91,6 +92,6 @@ const Y = X(function({
91
92
  ] });
92
93
  });
93
94
  export {
94
- Y as default
95
+ V as default
95
96
  };
96
97
  //# sourceMappingURL=score-section.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"score-section.js","sources":["../../../../../../src/features/math-fit/math-fit-report/comps/score-section/score-section.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ScoreBadge from '../score-badge/score-badge';\nimport type { IScoreSectionProps } from './score-section-types';\nimport * as Styled from './score-section-styled';\nimport Separator from '../../../../ui/separator/separator';\nimport { getQuestionStatusBgColor } from '../../math-fit-report-helpers';\nimport { EQuestionState } from '../../../math-fit-overview/math-fit-overview-types';\nimport { EDeviceType } from '../../../../ui/theme/constants';\n\nconst ScoreSection: FC<IScoreSectionProps> = memo(function ScoreSection({\n onReviewSection,\n section,\n sheet,\n compactView = false,\n showReviewButton = true,\n}) {\n const {\n title,\n score,\n scoreChange,\n sessionId,\n isIncomplete = false,\n sectionNumber,\n topics,\n } = section;\n\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const sortedTopics = [...(topics ?? [])].sort((a, b) => a.miniGoal.order - b.miniGoal.order);\n const layoutDirection = isMobile || compactView ? 'column' : 'row';\n const alignment = isMobile || compactView ? '' : 'center';\n const gap = isMobile || compactView ? 0.5 : 0;\n\n const onClickReview = useCallback(() => {\n if (!isIncomplete && section.sheet && onReviewSection) {\n onReviewSection(sheet, sessionId);\n }\n }, [isIncomplete, onReviewSection, section.sheet, sheet, sessionId]);\n\n return (\n <FlexView>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_1\">\n {title}:\n </Text>\n <Separator width={4} />\n {isIncomplete ? (\n <FlexView $gutter={3} $gap={2.5} $background=\"BLACK_5\">\n <Text $renderAs=\"ab4-bold\" $color=\"WHITE\">\n INCOMPLETE\n </Text>\n </FlexView>\n ) : (\n score && <ScoreBadge score={score} maxScore={10} scoreChange={scoreChange} />\n )}\n </FlexView>\n <FlexView $flexRowGapX={0.5} $gapX={0.75}>\n {sortedTopics.map((topic, index) => (\n <Fragment key={topic.name}>\n <FlexView\n $flexDirection={layoutDirection}\n $justifyContent=\"space-between\"\n $alignItems={alignment}\n $flexRowGapX={gap}\n >\n <Text $renderAs=\"ub2\" $color={isIncomplete ? 'BLACK_T_38' : 'BLACK_1'}>\n {topic.name}\n </Text>\n <FlexView $flexGapX={0.5} $flexDirection=\"row\" $flexWrap>\n {topic.miniGoal.items.map(question => (\n <FlexView\n key={question.item_reference}\n $heightX={1.25}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={1}\n $background={getQuestionStatusBgColor(question.state)}\n >\n <Text\n $renderAs=\"ub4\"\n $color={\n question.state === EQuestionState.SKIPPED ||\n question.state === EQuestionState.UNATTEMPTED\n ? 'BLACK_T_38'\n : 'WHITE'\n }\n >\n Q{question.order}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {index !== sortedTopics.length - 1 && <Styled.Divider />}\n </Fragment>\n ))}\n </FlexView>\n {showReviewButton && (\n <FlexView $alignItems=\"center\">\n <Separator heightX={0.75} />\n <Button\n label={`Review Section ${sectionNumber}`}\n renderAs={isIncomplete ? 'secondary' : 'primary'}\n size=\"small\"\n onClick={onClickReview}\n disabled={isIncomplete}\n />\n </FlexView>\n )}\n </FlexView>\n );\n});\n\nexport default ScoreSection;\n"],"names":["ScoreSection","memo","onReviewSection","section","sheet","compactView","showReviewButton","title","score","scoreChange","sessionId","isIncomplete","sectionNumber","topics","device","useTheme","isMobile","EDeviceType","sortedTopics","a","b","layoutDirection","alignment","gap","onClickReview","useCallback","FlexView","jsxs","Text","jsx","Separator","ScoreBadge","topic","index","Fragment","question","getQuestionStatusBgColor","EQuestionState","Styled.Divider","Button"],"mappings":"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"}
1
+ {"version":3,"file":"score-section.js","sources":["../../../../../../src/features/math-fit/math-fit-report/comps/score-section/score-section.tsx"],"sourcesContent":["import { Fragment, memo, useCallback, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport ScoreBadge from '../score-badge/score-badge';\nimport type { IScoreSectionProps } from './score-section-types';\nimport * as Styled from './score-section-styled';\nimport Separator from '../../../../ui/separator/separator';\nimport { getQuestionStatusBgColor } from '../../math-fit-report-helpers';\nimport { EQuestionState } from '../../../math-fit-overview/math-fit-overview-types';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport Tag from '../../../../ui/tag/tag';\n\nconst ScoreSection: FC<IScoreSectionProps> = memo(function ScoreSection({\n onReviewSection,\n section,\n sheet,\n compactView = false,\n showReviewButton = true,\n}) {\n const {\n title,\n score,\n scoreChange,\n sessionId,\n isIncomplete = false,\n sectionNumber,\n topics,\n } = section;\n\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n\n const sortedTopics = [...(topics ?? [])].sort((a, b) => a.miniGoal.order - b.miniGoal.order);\n const layoutDirection = isMobile || compactView ? 'column' : 'row';\n const alignment = isMobile || compactView ? '' : 'center';\n const gap = isMobile || compactView ? 0.5 : 0;\n\n const onClickReview = useCallback(() => {\n if (!isIncomplete && section.sheet && onReviewSection) {\n onReviewSection(sheet, sessionId);\n }\n }, [isIncomplete, onReviewSection, section.sheet, sheet, sessionId]);\n\n return (\n <FlexView>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_1\">\n {title}:\n </Text>\n <Separator width={4} />\n {isIncomplete ? (\n <Tag text=\"INCOMPLETE\" size=\"8px\" />\n ) : (\n score && <ScoreBadge score={score} maxScore={10} scoreChange={scoreChange} />\n )}\n </FlexView>\n <FlexView $flexRowGapX={0.5} $gapX={0.75}>\n {sortedTopics.map((topic, index) => (\n <Fragment key={topic.name}>\n <FlexView\n $flexDirection={layoutDirection}\n $justifyContent=\"space-between\"\n $alignItems={alignment}\n $flexRowGapX={gap}\n >\n <Text $renderAs=\"ub2\" $color={isIncomplete ? 'BLACK_T_38' : 'BLACK_1'}>\n {topic.name}\n </Text>\n <FlexView $flexGapX={0.5} $flexDirection=\"row\" $flexWrap>\n {topic.miniGoal.items.map(question => (\n <FlexView\n key={question.item_reference}\n $heightX={1.25}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadiusX={1}\n $background={getQuestionStatusBgColor(question.state)}\n >\n <Text\n $renderAs=\"ub4\"\n $color={\n question.state === EQuestionState.SKIPPED ||\n question.state === EQuestionState.UNATTEMPTED\n ? 'BLACK_T_38'\n : 'WHITE'\n }\n >\n Q{question.order}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n </FlexView>\n {index !== sortedTopics.length - 1 && <Styled.Divider />}\n </Fragment>\n ))}\n </FlexView>\n {showReviewButton && (\n <FlexView $alignItems=\"center\">\n <Separator heightX={0.75} />\n <Button\n label={`Review Section ${sectionNumber}`}\n renderAs={isIncomplete ? 'secondary' : 'primary'}\n size=\"small\"\n onClick={onClickReview}\n disabled={isIncomplete}\n />\n </FlexView>\n )}\n </FlexView>\n );\n});\n\nexport default ScoreSection;\n"],"names":["ScoreSection","memo","onReviewSection","section","sheet","compactView","showReviewButton","title","score","scoreChange","sessionId","isIncomplete","sectionNumber","topics","device","useTheme","isMobile","EDeviceType","sortedTopics","a","b","layoutDirection","alignment","gap","onClickReview","useCallback","FlexView","jsxs","Text","jsx","Separator","Tag","ScoreBadge","topic","index","Fragment","question","getQuestionStatusBgColor","EQuestionState","Styled.Divider","Button"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { jsx as o, Fragment as n } from "react/jsx-runtime";
2
- import { memo as t } from "react";
3
- import m from "../../../../../ui/tag/tag.js";
4
- const a = t(function({ tags: r }) {
5
- return !r || r.length === 0 ? null : /* @__PURE__ */ o(n, { children: r.map((e) => /* @__PURE__ */ o(m, { text: e, backgroundColor: "WHITE_1", textColor: "BLACK_T_60" }, e)) });
1
+ import { jsx as n, Fragment as m } from "react/jsx-runtime";
2
+ import { memo as o } from "react";
3
+ import t from "../../../../../ui/tag/tag.js";
4
+ const a = o(function({ tags: e }) {
5
+ return !e || e.length === 0 ? null : /* @__PURE__ */ n(m, { children: e.map((r) => /* @__PURE__ */ n(t, { text: r, size: "12px", shape: "curved" }, r)) });
6
6
  });
7
7
  export {
8
8
  a as default
@@ -1 +1 @@
1
- {"version":3,"file":"tags-render.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\n\nimport Tag from '../../../../../ui/tag/tag';\n\nconst TagsRenderer: FC<{ tags: string[] }> = memo(function TagsRenderer({ tags }) {\n if (!tags || tags.length === 0) return null;\n\n return (\n <>\n {tags.map(tag => (\n <Tag key={tag} text={tag} backgroundColor=\"WHITE_1\" textColor=\"BLACK_T_60\" />\n ))}\n </>\n );\n});\n\nexport default TagsRenderer;\n"],"names":["TagsRenderer","memo","tags","jsx","Fragment","tag","Tag"],"mappings":";;;AAIA,MAAMA,IAAuCC,EAAK,SAAsB,EAAE,MAAAC,KAAQ;AAChF,SAAI,CAACA,KAAQA,EAAK,WAAW,IAAU,OAIlC,gBAAAC,EAAAC,GAAA,EAAA,UAAAF,EAAK,IAAI,CAAAG,wBACPC,GAAc,EAAA,MAAMD,GAAK,iBAAgB,WAAU,WAAU,gBAApDA,CAAiE,CAC5E,EACH,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"tags-render.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\n\nimport Tag from '../../../../../ui/tag/tag';\n\nconst TagsRenderer: FC<{ tags: string[] }> = memo(function TagsRenderer({ tags }) {\n if (!tags || tags.length === 0) return null;\n\n return (\n <>\n {tags.map(tag => (\n <Tag key={tag} text={tag} size=\"12px\" shape=\"curved\" />\n ))}\n </>\n );\n});\n\nexport default TagsRenderer;\n"],"names":["TagsRenderer","memo","tags","jsx","Fragment","tag","Tag"],"mappings":";;;AAIA,MAAMA,IAAuCC,EAAK,SAAsB,EAAE,MAAAC,KAAQ;AAChF,SAAI,CAACA,KAAQA,EAAK,WAAW,IAAU,OAIlC,gBAAAC,EAAAC,GAAA,EAAA,UAAAF,EAAK,IAAI,CAAAG,wBACPC,GAAc,EAAA,MAAMD,GAAK,MAAK,QAAO,OAAM,YAAlCA,CAA2C,CACtD,EACH,CAAA;AAEJ,CAAC;"}
@@ -1,50 +1,51 @@
1
- import { jsx as e, jsxs as m, Fragment as A } from "react/jsx-runtime";
2
- import { memo as y, useState as L, useMemo as x, useCallback as D } from "react";
3
- import w from "../../../../../assets/line-icons/icons/plus.js";
4
- import S from "../../../../ui/accordion-section/accordion-section.js";
5
- import r from "../../../../ui/layout/flex-view.js";
6
- import k from "../../../../../assets/line-icons/icons/minus.js";
1
+ import { jsx as e, jsxs as m, Fragment as x } from "react/jsx-runtime";
2
+ import { memo as y, useState as A, useMemo as L, useCallback as b } from "react";
3
+ import D from "../../../../../assets/line-icons/icons/plus.js";
4
+ import w from "../../../../ui/accordion-section/accordion-section.js";
5
+ import i from "../../../../ui/layout/flex-view.js";
6
+ import S from "../../../../../assets/line-icons/icons/minus.js";
7
7
  import N from "../../../../ui/image/image.js";
8
- import h from "../../../../ui/text/text.js";
9
- import V from "../accordion-item/accordion-item.js";
10
- import { Wrapper as j, TagContainer as B, SectionFooter as M, Card as W } from "./daily-timeline-items-styled.js";
11
- import { getTimelineCardIcon as X } from "../utils.js";
12
- import { useUIContext as P } from "../../../../ui/context/context.js";
13
- import { DAILY_TIMELINE_ANALYTICS_EVENTS as u } from "../../daily-timeline-events.js";
8
+ import V from "../../../../ui/text/text.js";
9
+ import j from "../accordion-item/accordion-item.js";
10
+ import { Wrapper as k, TagContainer as M, SectionFooter as X, Card as B } from "./daily-timeline-items-styled.js";
11
+ import { getTimelineCardIcon as P } from "../utils.js";
12
+ import { useUIContext as W } from "../../../../ui/context/context.js";
13
+ import { DAILY_TIMELINE_ANALYTICS_EVENTS as h } from "../../daily-timeline-events.js";
14
+ import z from "../../../../ui/tag/tag.js";
14
15
  const F = y((I) => {
15
16
  const {
16
17
  type: t,
17
- summary: i,
18
+ summary: r,
18
19
  cards: n,
19
20
  onPuzzleClick: f,
20
- onReviewClick: $,
21
+ onReviewClick: u,
21
22
  courseStream: s,
22
23
  shouldShowTag: E,
23
- userType: g,
24
- isLastItem: C,
24
+ userType: $,
25
+ isLastItem: g,
25
26
  fromDate: l,
26
27
  studentId: c
27
- } = I, [_, T] = L(!1), d = x(() => X(t), [t]), { onEvent: a } = P(), b = D(
28
+ } = I, [C, _] = A(!1), d = L(() => P(t), [t]), { onEvent: a } = W(), T = b(
28
29
  (o) => {
29
- T(o), a(
30
- o ? u.TIMELINE_VIEW_EXPANDED : u.TIMELINE_VIEW_COLLAPSED,
30
+ _(o), a(
31
+ o ? h.TIMELINE_VIEW_EXPANDED : h.TIMELINE_VIEW_COLLAPSED,
31
32
  {
32
33
  timeline_date: l,
33
34
  student_id: c,
34
35
  timeline_section_type: t,
35
- timeline_section_subject: i
36
+ timeline_section_subject: r
36
37
  }
37
38
  );
38
39
  },
39
- [l, a, c, t, i]
40
+ [l, a, c, t, r]
40
41
  );
41
- return /* @__PURE__ */ e(j, { $borderColor: "BLACK_1", $background: "WHITE", $shouldAddBorder: C, children: /* @__PURE__ */ e(
42
- S,
42
+ return /* @__PURE__ */ e(k, { $borderColor: "BLACK_1", $background: "WHITE", $shouldAddBorder: g, children: /* @__PURE__ */ e(
43
+ w,
43
44
  {
44
- headerElement: /* @__PURE__ */ m(r, { children: [
45
- E && s && /* @__PURE__ */ e(B, { $position: "absolute", $background: "BLACK_5", $gutter: 4, children: /* @__PURE__ */ e(h, { $renderAs: "ab4-black", $color: "WHITE", children: s }) }),
45
+ headerElement: /* @__PURE__ */ m(i, { children: [
46
+ E && s && /* @__PURE__ */ e(M, { $position: "absolute", children: /* @__PURE__ */ e(z, { size: "8px", text: s }) }),
46
47
  /* @__PURE__ */ m(
47
- r,
48
+ i,
48
49
  {
49
50
  $flexDirection: "row",
50
51
  $alignItems: "center",
@@ -54,42 +55,42 @@ const F = y((I) => {
54
55
  $gapX: 1.32,
55
56
  children: [
56
57
  /* @__PURE__ */ m(
57
- r,
58
+ i,
58
59
  {
59
60
  $flexDirection: "row",
60
61
  $alignItems: "center",
61
62
  $justifyContent: "center",
62
63
  $flexGapX: 1.125,
63
64
  children: [
64
- /* @__PURE__ */ e(r, { children: d && /* @__PURE__ */ e(N, { src: d }) }),
65
- /* @__PURE__ */ e(h, { $renderAs: "ab2", $color: "BLACK_1", children: i ?? "" })
65
+ /* @__PURE__ */ e(i, { children: d && /* @__PURE__ */ e(N, { src: d }) }),
66
+ /* @__PURE__ */ e(V, { $renderAs: "ab2", $color: "BLACK_1", children: r ?? "" })
66
67
  ]
67
68
  }
68
69
  ),
69
- _ ? /* @__PURE__ */ e(k, { width: 20, height: 20 }) : /* @__PURE__ */ e(w, { width: 20, height: 20 })
70
+ C ? /* @__PURE__ */ e(S, { width: 20, height: 20 }) : /* @__PURE__ */ e(D, { width: 20, height: 20 })
70
71
  ]
71
72
  }
72
73
  )
73
74
  ] }),
74
- bodyElement: n.length > 0 ? /* @__PURE__ */ e(M, { $gutter: 32, children: n.map((o, p) => /* @__PURE__ */ e(
75
- W,
75
+ bodyElement: n.length > 0 ? /* @__PURE__ */ e(X, { $gutter: 32, children: n.map((o, p) => /* @__PURE__ */ e(
76
+ B,
76
77
  {
77
78
  $isLastCard: p === n.length - 1,
78
79
  children: /* @__PURE__ */ e(
79
- V,
80
+ j,
80
81
  {
81
82
  card: o,
82
83
  onPuzzleClick: f,
83
- onReviewClick: $,
84
+ onReviewClick: u,
84
85
  type: t,
85
- userType: g
86
+ userType: $
86
87
  }
87
88
  )
88
89
  },
89
90
  o.node_id ?? `card-${p}`
90
- )) }) : /* @__PURE__ */ e(A, {}),
91
+ )) }) : /* @__PURE__ */ e(x, {}),
91
92
  defaultVisible: !1,
92
- onBodyVisibilityChange: b
93
+ onBodyVisibilityChange: T
93
94
  }
94
95
  ) });
95
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"daily-timeline-items.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../../assets/line-icons/icons/minus';\nimport Image from '../../../../ui/image/image';\nimport Text from '../../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from '../../daily-timeline-events';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n trackEvent(\n val\n ? DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED\n : DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED,\n {\n timeline_date: fromDate,\n student_id: studentId,\n timeline_section_type: type,\n timeline_section_subject: summary,\n },\n );\n },\n [fromDate, trackEvent, studentId, type, summary],\n );\n\n return (\n <Styled.Wrapper $borderColor=\"BLACK_1\" $background=\"WHITE\" $shouldAddBorder={isLastItem}>\n <AccordionSection\n headerElement={\n <FlexView>\n {shouldShowTag && courseStream && (\n <Styled.TagContainer $position=\"absolute\" $background=\"BLACK_5\" $gutter={4}>\n <Text $renderAs=\"ab4-black\" $color=\"WHITE\">\n {courseStream}\n </Text>\n </Styled.TagContainer>\n )}\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $heightX={4}\n $gutterX={1}\n $gapX={1.32}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={1.125}\n >\n <FlexView>{timelineIcon && <Image src={timelineIcon} />}</FlexView>\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {summary ?? ''}\n </Text>\n </FlexView>\n {isExpended ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n )}\n </FlexView>\n </FlexView>\n }\n bodyElement={\n cards.length > 0 ? (\n <Styled.SectionFooter $gutter={32}>\n {cards.map((card, index) => (\n <Styled.Card\n key={card.node_id ?? `card-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n type={type}\n userType={userType}\n />\n </Styled.Card>\n ))}\n </Styled.SectionFooter>\n ) : (\n <></>\n )\n }\n defaultVisible={false}\n onBodyVisibilityChange={handleExpand}\n />\n </Styled.Wrapper>\n );\n});\n\nDailyTimelineItems.displayName = 'DailyTimelineItems';\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","props","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","isLastItem","fromDate","studentId","isExpended","setIsExpended","useState","timelineIcon","useMemo","getTimelineCardIcon","trackEvent","useUIContext","handleExpand","useCallback","val","DAILY_TIMELINE_ANALYTICS_EVENTS","jsx","Styled.Wrapper","AccordionSection","FlexView","Styled.TagContainer","Text","jsxs","Image","MinusIcon","PlusIcon","Styled.SectionFooter","card","index","Styled.Card","AccordionItem","Fragment"],"mappings":";;;;;;;;;;;;;AAeM,MAAAA,IAAmDC,EAAK,CAASC,MAAA;AAC/D,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,EACE,IAAAX,GACE,CAACY,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAE5CC,IAAeC,EAAQ,MAAMC,EAAoBhB,CAAI,GAAG,CAACA,CAAI,CAAC,GAC9D,EAAE,SAASiB,EAAW,IAAIC,EAAa,GAEvCC,IAAeC;AAAA,IACnB,CAACC,MAAiB;AAChB,MAAAT,EAAcS,CAAG,GACjBJ;AAAA,QACEI,IACIC,EAAgC,yBAChCA,EAAgC;AAAA,QACpC;AAAA,UACE,eAAeb;AAAA,UACf,YAAYC;AAAA,UACZ,uBAAuBV;AAAA,UACvB,0BAA0BC;AAAA,QAC5B;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,CAACQ,GAAUQ,GAAYP,GAAWV,GAAMC,CAAO;AAAA,EAAA;AAI/C,SAAA,gBAAAsB,EAACC,GAAA,EAAe,cAAa,WAAU,aAAY,SAAQ,kBAAkBhB,GAC3E,UAAA,gBAAAe;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,iCACGC,GACE,EAAA,UAAA;AAAA,QAAApB,KAAiBD,KACf,gBAAAkB,EAAAI,GAAA,EAAoB,WAAU,YAAW,aAAY,WAAU,SAAS,GACvE,4BAACC,GAAK,EAAA,WAAU,aAAY,QAAO,SAChC,YACH,CAAA,GACF;AAAA,QAEF,gBAAAC;AAAA,UAACH;AAAA,UAAA;AAAA,YACC,gBAAe;AAAA,YACf,aAAY;AAAA,YACZ,iBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,UAAU;AAAA,YACV,OAAO;AAAA,YAEP,UAAA;AAAA,cAAA,gBAAAG;AAAA,gBAACH;AAAA,gBAAA;AAAA,kBACC,gBAAe;AAAA,kBACf,aAAY;AAAA,kBACZ,iBAAgB;AAAA,kBAChB,WAAW;AAAA,kBAEX,UAAA;AAAA,oBAAA,gBAAAH,EAACG,KAAU,UAAgBZ,KAAA,gBAAAS,EAACO,GAAM,EAAA,KAAKhB,EAAc,CAAA,GAAG;AAAA,sCACvDc,GAAK,EAAA,WAAU,OAAM,QAAO,WAC1B,eAAW,IACd;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACF;AAAA,cACCjB,IACC,gBAAAY,EAACQ,GAAU,EAAA,OAAO,IAAI,QAAQ,GAAI,CAAA,IAEjC,gBAAAR,EAAAS,GAAA,EAAS,OAAO,IAAI,QAAQ,IAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAErC;AAAA,MAAA,GACF;AAAA,MAEF,aACE9B,EAAM,SAAS,sBACZ+B,GAAA,EAAqB,SAAS,IAC5B,UAAA/B,EAAM,IAAI,CAACgC,GAAMC,MAChB,gBAAAZ;AAAA,QAACa;AAAAA,QAAA;AAAA,UAEC,aAAaD,MAAUjC,EAAM,SAAS;AAAA,UAEtC,UAAA,gBAAAqB;AAAA,YAACc;AAAA,YAAA;AAAA,cACC,MAAAH;AAAA,cACA,eAAA/B;AAAA,cACA,eAAAC;AAAA,cACA,MAAAJ;AAAA,cACA,UAAAO;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,QATK2B,EAAK,WAAW,QAAQC,CAAK;AAAA,MAWrC,CAAA,GACH,IAEE,gBAAAZ,EAAAe,GAAA,CAAA,CAAA;AAAA,MAGN,gBAAgB;AAAA,MAChB,wBAAwBnB;AAAA,IAAA;AAAA,EAE5B,EAAA,CAAA;AAEJ,CAAC;AAEDtB,EAAmB,cAAc;"}
1
+ {"version":3,"file":"daily-timeline-items.js","sources":["../../../../../../src/features/timeline/daily-timeline/comps/daily-timeline-items/daily-timeline-items.tsx"],"sourcesContent":["import { memo, useCallback, useMemo, useState, type FC } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport AccordionSection from '../../../../ui/accordion-section/accordion-section';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MinusIcon from '../../../../../assets/line-icons/icons/minus';\nimport Image from '../../../../ui/image/image';\nimport Text from '../../../../ui/text/text';\nimport AccordionItem from '../accordion-item/accordion-item';\nimport * as Styled from './daily-timeline-items-styled';\nimport { getTimelineCardIcon } from '../utils';\nimport { type IDailyTimelineItemsProps } from './daily-timeline-items.types';\nimport { useUIContext } from '../../../../ui/context/context';\nimport { DAILY_TIMELINE_ANALYTICS_EVENTS } from '../../daily-timeline-events';\nimport Tag from '../../../../ui/tag/tag';\n\nconst DailyTimelineItems: FC<IDailyTimelineItemsProps> = memo(props => {\n const {\n type,\n summary,\n cards,\n onPuzzleClick,\n onReviewClick,\n courseStream,\n shouldShowTag,\n userType,\n isLastItem,\n fromDate,\n studentId,\n } = props;\n const [isExpended, setIsExpended] = useState(false);\n\n const timelineIcon = useMemo(() => getTimelineCardIcon(type), [type]);\n const { onEvent: trackEvent } = useUIContext();\n\n const handleExpand = useCallback(\n (val: boolean) => {\n setIsExpended(val);\n trackEvent(\n val\n ? DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_EXPANDED\n : DAILY_TIMELINE_ANALYTICS_EVENTS.TIMELINE_VIEW_COLLAPSED,\n {\n timeline_date: fromDate,\n student_id: studentId,\n timeline_section_type: type,\n timeline_section_subject: summary,\n },\n );\n },\n [fromDate, trackEvent, studentId, type, summary],\n );\n\n return (\n <Styled.Wrapper $borderColor=\"BLACK_1\" $background=\"WHITE\" $shouldAddBorder={isLastItem}>\n <AccordionSection\n headerElement={\n <FlexView>\n {shouldShowTag && courseStream && (\n <Styled.TagContainer $position=\"absolute\">\n <Tag size=\"8px\" text={courseStream} />\n </Styled.TagContainer>\n )}\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $heightX={4}\n $gutterX={1}\n $gapX={1.32}\n >\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $flexGapX={1.125}\n >\n <FlexView>{timelineIcon && <Image src={timelineIcon} />}</FlexView>\n <Text $renderAs=\"ab2\" $color=\"BLACK_1\">\n {summary ?? ''}\n </Text>\n </FlexView>\n {isExpended ? (\n <MinusIcon width={20} height={20} />\n ) : (\n <PlusIcon width={20} height={20} />\n )}\n </FlexView>\n </FlexView>\n }\n bodyElement={\n cards.length > 0 ? (\n <Styled.SectionFooter $gutter={32}>\n {cards.map((card, index) => (\n <Styled.Card\n key={card.node_id ?? `card-${index}`}\n $isLastCard={index === cards.length - 1}\n >\n <AccordionItem\n card={card}\n onPuzzleClick={onPuzzleClick}\n onReviewClick={onReviewClick}\n type={type}\n userType={userType}\n />\n </Styled.Card>\n ))}\n </Styled.SectionFooter>\n ) : (\n <></>\n )\n }\n defaultVisible={false}\n onBodyVisibilityChange={handleExpand}\n />\n </Styled.Wrapper>\n );\n});\n\nDailyTimelineItems.displayName = 'DailyTimelineItems';\n\nexport default DailyTimelineItems;\n"],"names":["DailyTimelineItems","memo","props","type","summary","cards","onPuzzleClick","onReviewClick","courseStream","shouldShowTag","userType","isLastItem","fromDate","studentId","isExpended","setIsExpended","useState","timelineIcon","useMemo","getTimelineCardIcon","trackEvent","useUIContext","handleExpand","useCallback","val","DAILY_TIMELINE_ANALYTICS_EVENTS","jsx","Styled.Wrapper","AccordionSection","FlexView","Styled.TagContainer","Tag","jsxs","Image","Text","MinusIcon","PlusIcon","Styled.SectionFooter","card","index","Styled.Card","AccordionItem","Fragment"],"mappings":"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"}
@@ -1,20 +1,22 @@
1
- import p from "styled-components";
2
- const i = p.div(({ $backgroundColor: t, theme: o }) => {
3
- const {
4
- colors: e,
5
- layout: { gutter: r }
6
- } = o;
1
+ import a from "styled-components";
2
+ const d = a.div(({ $size: e, $shape: i, theme: r }) => {
3
+ const { colors: t, tag: n } = r, o = n.sizes[e], p = o.borderRadius[i];
7
4
  return `
8
- display: flex;
9
- padding: ${r * 0.25}px ${r * 0.375}px;
10
- align-items: center;
11
- gap: ${r * 0.5}px;
12
- width: fit-content;
13
- border-radius: ${r / 4}px;
14
- background-color: ${e[t]};
15
- `;
5
+ display: flex;
6
+ width: fit-content;
7
+ padding: ${o.paddingTop}px ${o.paddingHorizontal}px 0px;
8
+ background-color: ${t.BLACK_5};
9
+ border-radius: ${p}px;
10
+ font-family: Athletics-Black;
11
+ font-size: ${o.fontSize}px;
12
+ line-height: ${o.lineHeight}px;
13
+ color: ${t.WHITE};
14
+ text-transform: uppercase;
15
+ letter-spacing: 0.5px;
16
+ white-space: nowrap;
17
+ `;
16
18
  });
17
19
  export {
18
- i as Wrapper
20
+ d as Wrapper
19
21
  };
20
22
  //# sourceMappingURL=tag-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-styled.js","sources":["../../../../src/features/ui/tag/tag-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport type { TColorNames } from '../types';\n\nconst Wrapper = styled.div<{\n $backgroundColor: TColorNames;\n}>(({ $backgroundColor, theme }) => {\n const {\n colors,\n layout: { gutter },\n } = theme;\n\n return `\n display: flex;\n padding: ${gutter * 0.25}px ${gutter * 0.375}px;\n align-items: center;\n gap: ${gutter * 0.5}px;\n width: fit-content;\n border-radius: ${gutter / 4}px;\n background-color: ${colors[$backgroundColor]};\n`;\n});\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","$backgroundColor","theme","colors","gutter"],"mappings":";AAIA,MAAMA,IAAUC,EAAO,IAEpB,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,QAAY;AAC5B,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,QAAQ,EAAE,QAAAC,EAAO;AAAA,EACf,IAAAF;AAEG,SAAA;AAAA;AAAA,aAEIE,IAAS,IAAI,MAAMA,IAAS,KAAK;AAAA;AAAA,SAErCA,IAAS,GAAG;AAAA;AAAA,mBAEFA,IAAS,CAAC;AAAA,sBACPD,EAAOF,CAAgB,CAAC;AAAA;AAE9C,CAAC;"}
1
+ {"version":3,"file":"tag-styled.js","sources":["../../../../src/features/ui/tag/tag-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport type { TTagSizes, TTagShapes } from '../types';\n\nconst Wrapper = styled.div<{\n $size: TTagSizes;\n $shape: TTagShapes;\n}>(({ $size, $shape, theme }) => {\n const { colors, tag } = theme;\n const config = tag.sizes[$size];\n const borderRadius = config.borderRadius[$shape];\n\n return `\n display: flex;\n width: fit-content;\n padding: ${config.paddingTop}px ${config.paddingHorizontal}px 0px;\n background-color: ${colors.BLACK_5};\n border-radius: ${borderRadius}px;\n font-family: Athletics-Black;\n font-size: ${config.fontSize}px;\n line-height: ${config.lineHeight}px;\n color: ${colors.WHITE};\n text-transform: uppercase;\n letter-spacing: 0.5px;\n white-space: nowrap;\n `;\n});\n\nexport { Wrapper };\n"],"names":["Wrapper","styled","$size","$shape","theme","colors","tag","config","borderRadius"],"mappings":";AAIM,MAAAA,IAAUC,EAAO,IAGpB,CAAC,EAAE,OAAAC,GAAO,QAAAC,GAAQ,OAAAC,QAAY;AACzB,QAAA,EAAE,QAAAC,GAAQ,KAAAC,EAAQ,IAAAF,GAClBG,IAASD,EAAI,MAAMJ,CAAK,GACxBM,IAAeD,EAAO,aAAaJ,CAAM;AAExC,SAAA;AAAA;AAAA;AAAA,eAGMI,EAAO,UAAU,MAAMA,EAAO,iBAAiB;AAAA,wBACtCF,EAAO,OAAO;AAAA,qBACjBG,CAAY;AAAA;AAAA,iBAEhBD,EAAO,QAAQ;AAAA,mBACbA,EAAO,UAAU;AAAA,aACvBF,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAKzB,CAAC;"}
@@ -1,8 +1,10 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import n from "../text/text.js";
3
- import { Wrapper as a } from "./tag-styled.js";
4
- const c = ({ text: o, backgroundColor: e, textColor: t }) => /* @__PURE__ */ r(a, { $backgroundColor: e, children: /* @__PURE__ */ r(n, { $renderAs: "ub4", $color: t, children: o }) }), i = c;
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import { Wrapper as m } from "./tag-styled.js";
4
+ const p = a(function({ text: r, size: o, shape: e = "square" }) {
5
+ return /* @__PURE__ */ t(m, { $size: o, $shape: e, children: r });
6
+ }), c = p;
5
7
  export {
6
- i as default
8
+ c as default
7
9
  };
8
10
  //# sourceMappingURL=tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sources":["../../../../src/features/ui/tag/tag.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport Text from '../text/text';\nimport * as Styled from './tag-styled';\nimport type { ITagProps } from './tag-types';\n\nconst Tag: FC<ITagProps> = ({ text, backgroundColor, textColor }) => {\n return (\n <Styled.Wrapper $backgroundColor={backgroundColor}>\n <Text $renderAs=\"ub4\" $color={textColor}>\n {text}\n </Text>\n </Styled.Wrapper>\n );\n};\n\nexport default Tag;\n"],"names":["Tag","text","backgroundColor","textColor","jsx","Styled.Wrapper","Text","Tag$1"],"mappings":";;;AAMA,MAAMA,IAAqB,CAAC,EAAE,MAAAC,GAAM,iBAAAC,GAAiB,WAAAC,QAEhD,gBAAAC,EAAAC,GAAA,EAAe,kBAAkBH,GAChC,UAAC,gBAAAE,EAAAE,GAAA,EAAK,WAAU,OAAM,QAAQH,GAC3B,aACH,EACF,CAAA,GAIJI,IAAeP;"}
1
+ {"version":3,"file":"tag.js","sources":["../../../../src/features/ui/tag/tag.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport * as Styled from './tag-styled';\nimport type { ITagProps } from './tag-types';\n\nconst Tag: FC<ITagProps> = memo(function Tag({ text, size, shape = 'square' }) {\n return (\n <Styled.Wrapper $size={size} $shape={shape}>\n {text}\n </Styled.Wrapper>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","memo","text","size","shape","jsx","Styled.Wrapper","Tag$1"],"mappings":";;;AAKA,MAAMA,IAAqBC,EAAK,SAAa,EAAE,MAAAC,GAAM,MAAAC,GAAM,OAAAC,IAAQ,YAAY;AAE3E,SAAA,gBAAAC,EAACC,GAAA,EAAe,OAAOH,GAAM,QAAQC,GAClC,UACHF,EAAA,CAAA;AAEJ,CAAC,GAEDK,IAAeP;"}
@@ -5,13 +5,14 @@ import g, { hues as f } from "./clrs.js";
5
5
  import { getDevice as n } from "./get-device.js";
6
6
  import p from "./input.js";
7
7
  import u from "./layout.js";
8
- import { getMediaQueries as s } from "./media-queries.js";
9
- import c from "./tab.js";
8
+ import { getMediaQueries as a } from "./media-queries.js";
9
+ import s from "./tab.js";
10
10
  import C from "./tabs.js";
11
- import a from "./text.js";
12
- import x from "./text-button.js";
13
- import { getZIndexConfig as T } from "./z-index.js";
14
- const D = () => {
11
+ import c from "./tag.js";
12
+ import x from "./text.js";
13
+ import T from "./text-button.js";
14
+ import { getZIndexConfig as b } from "./z-index.js";
15
+ const M = () => {
15
16
  const t = u(), { gutter: o, deviceWidth: e } = t;
16
17
  return {
17
18
  arrowTooltip: r(),
@@ -21,16 +22,17 @@ const D = () => {
21
22
  input: p(o),
22
23
  checkbox: m(o),
23
24
  layout: t,
24
- tab: c(t.gutter),
25
+ tab: s(t.gutter),
25
26
  tabs: C(),
26
- text: a(),
27
- textButton: x(),
28
- zIndex: T(),
27
+ tag: c(),
28
+ text: x(),
29
+ textButton: T(),
30
+ zIndex: b(),
29
31
  device: n(e),
30
- mediaQueries: s()
32
+ mediaQueries: a()
31
33
  };
32
34
  };
33
35
  export {
34
- D as getTheme
36
+ M as getTheme
35
37
  };
36
38
  //# sourceMappingURL=get-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport { getDevice } from './get-device';\nimport getInputConfig from './input';\nimport getLayout from './layout';\nimport { getMediaQueries } from './media-queries';\nimport getTabConfig from './tab';\nimport getTabsConfig from './tabs';\nimport getTextTypes from './text';\nimport getTextButtonConfig from './text-button';\nimport { getZIndexConfig } from './z-index';\n\nconst getTheme: () => DefaultTheme = () => {\n const layout = getLayout();\n const { gutter, deviceWidth } = layout;\n\n return {\n arrowTooltip: getArrowTooltipConfig(),\n button: getButtonConfig(gutter),\n colors: getColors(),\n hues: hues,\n input: getInputConfig(gutter),\n checkbox: getCheckboxConfig(gutter),\n layout,\n tab: getTabConfig(layout.gutter),\n tabs: getTabsConfig(),\n text: getTextTypes(),\n textButton: getTextButtonConfig(),\n zIndex: getZIndexConfig(),\n device: getDevice(deviceWidth),\n mediaQueries: getMediaQueries(),\n };\n};\n\nexport { getTheme };\n"],"names":["getTheme","layout","getLayout","gutter","deviceWidth","getArrowTooltipConfig","getButtonConfig","getColors","hues","getInputConfig","getCheckboxConfig","getTabConfig","getTabsConfig","getTextTypes","getTextButtonConfig","getZIndexConfig","getDevice","getMediaQueries"],"mappings":";;;;;;;;;;;;;AAgBA,MAAMA,IAA+B,MAAM;AACzC,QAAMC,IAASC,KACT,EAAE,QAAAC,GAAQ,aAAAC,EAAgB,IAAAH;AAEzB,SAAA;AAAA,IACL,cAAcI,EAAsB;AAAA,IACpC,QAAQC,EAAgBH,CAAM;AAAA,IAC9B,QAAQI,EAAU;AAAA,IAClB,MAAAC;AAAA,IACA,OAAOC,EAAeN,CAAM;AAAA,IAC5B,UAAUO,EAAkBP,CAAM;AAAA,IAClC,QAAAF;AAAA,IACA,KAAKU,EAAaV,EAAO,MAAM;AAAA,IAC/B,MAAMW,EAAc;AAAA,IACpB,MAAMC,EAAa;AAAA,IACnB,YAAYC,EAAoB;AAAA,IAChC,QAAQC,EAAgB;AAAA,IACxB,QAAQC,EAAUZ,CAAW;AAAA,IAC7B,cAAca,EAAgB;AAAA,EAAA;AAElC;"}
1
+ {"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport { getDevice } from './get-device';\nimport getInputConfig from './input';\nimport getLayout from './layout';\nimport { getMediaQueries } from './media-queries';\nimport getTabConfig from './tab';\nimport getTabsConfig from './tabs';\nimport getTagConfig from './tag';\nimport getTextTypes from './text';\nimport getTextButtonConfig from './text-button';\nimport { getZIndexConfig } from './z-index';\n\nconst getTheme: () => DefaultTheme = () => {\n const layout = getLayout();\n const { gutter, deviceWidth } = layout;\n\n return {\n arrowTooltip: getArrowTooltipConfig(),\n button: getButtonConfig(gutter),\n colors: getColors(),\n hues: hues,\n input: getInputConfig(gutter),\n checkbox: getCheckboxConfig(gutter),\n layout,\n tab: getTabConfig(layout.gutter),\n tabs: getTabsConfig(),\n tag: getTagConfig(),\n text: getTextTypes(),\n textButton: getTextButtonConfig(),\n zIndex: getZIndexConfig(),\n device: getDevice(deviceWidth),\n mediaQueries: getMediaQueries(),\n };\n};\n\nexport { getTheme };\n"],"names":["getTheme","layout","getLayout","gutter","deviceWidth","getArrowTooltipConfig","getButtonConfig","getColors","hues","getInputConfig","getCheckboxConfig","getTabConfig","getTabsConfig","getTagConfig","getTextTypes","getTextButtonConfig","getZIndexConfig","getDevice","getMediaQueries"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAMA,IAA+B,MAAM;AACzC,QAAMC,IAASC,KACT,EAAE,QAAAC,GAAQ,aAAAC,EAAgB,IAAAH;AAEzB,SAAA;AAAA,IACL,cAAcI,EAAsB;AAAA,IACpC,QAAQC,EAAgBH,CAAM;AAAA,IAC9B,QAAQI,EAAU;AAAA,IAClB,MAAAC;AAAA,IACA,OAAOC,EAAeN,CAAM;AAAA,IAC5B,UAAUO,EAAkBP,CAAM;AAAA,IAClC,QAAAF;AAAA,IACA,KAAKU,EAAaV,EAAO,MAAM;AAAA,IAC/B,MAAMW,EAAc;AAAA,IACpB,KAAKC,EAAa;AAAA,IAClB,MAAMC,EAAa;AAAA,IACnB,YAAYC,EAAoB;AAAA,IAChC,QAAQC,EAAgB;AAAA,IACxB,QAAQC,EAAUb,CAAW;AAAA,IAC7B,cAAcc,EAAgB;AAAA,EAAA;AAElC;"}
@@ -0,0 +1,36 @@
1
+ const i = () => ({ sizes: {
2
+ "8px": {
3
+ fontSize: 8,
4
+ lineHeight: 11,
5
+ paddingHorizontal: 3,
6
+ paddingTop: 1,
7
+ borderRadius: {
8
+ curved: 2,
9
+ square: 0
10
+ }
11
+ },
12
+ "10px": {
13
+ fontSize: 10,
14
+ lineHeight: 11,
15
+ paddingHorizontal: 4,
16
+ paddingTop: 2,
17
+ borderRadius: {
18
+ curved: 2,
19
+ square: 0
20
+ }
21
+ },
22
+ "12px": {
23
+ fontSize: 12,
24
+ lineHeight: 15,
25
+ paddingHorizontal: 6,
26
+ paddingTop: 1,
27
+ borderRadius: {
28
+ curved: 3,
29
+ square: 0
30
+ }
31
+ }
32
+ } });
33
+ export {
34
+ i as default
35
+ };
36
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sources":["../../../../src/features/ui/theme/tag.ts"],"sourcesContent":["import type { TTagSizes, ITagSizeConfig } from '../types';\n\ninterface IGetTagConfig {\n (): {\n sizes: Record<TTagSizes, ITagSizeConfig>;\n };\n}\n\nconst getTagConfig: IGetTagConfig = () => {\n const sizes: Record<TTagSizes, ITagSizeConfig> = {\n '8px': {\n fontSize: 8,\n lineHeight: 11,\n paddingHorizontal: 3,\n paddingTop: 1,\n borderRadius: {\n curved: 2,\n square: 0,\n },\n },\n '10px': {\n fontSize: 10,\n lineHeight: 11,\n paddingHorizontal: 4,\n paddingTop: 2,\n borderRadius: {\n curved: 2,\n square: 0,\n },\n },\n '12px': {\n fontSize: 12,\n lineHeight: 15,\n paddingHorizontal: 6,\n paddingTop: 1,\n borderRadius: {\n curved: 3,\n square: 0,\n },\n },\n };\n\n return { sizes };\n};\n\nexport default getTagConfig;\n"],"names":["getTagConfig"],"mappings":"AAQA,MAAMA,IAA8B,OAkC3B,EAAE,OAjCwC;AAAA,EAC/C,OAAO;AAAA,IACL,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,YAAY;AAAA,IACZ,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAGa;"}
@@ -95,31 +95,16 @@ function n(t = 1) {
95
95
  fontSize: 14 * t,
96
96
  lineHeight: 20 * t
97
97
  },
98
- ab4: {
99
- fontFamily: "Athletics-Regular",
100
- fontSize: 8 * t,
101
- lineHeight: 12 * t
102
- },
103
98
  "ab3-bold": {
104
99
  fontFamily: "Athletics-Bold",
105
100
  fontSize: 14 * t,
106
101
  lineHeight: 20 * t
107
102
  },
108
- "ab4-bold": {
109
- fontFamily: "Athletics-Bold",
110
- fontSize: 8 * t,
111
- lineHeight: 12 * t
112
- },
113
103
  "ab3-black": {
114
104
  fontFamily: "Athletics-Black",
115
105
  fontSize: 14 * t,
116
106
  lineHeight: 20 * t
117
107
  },
118
- "ab4-black": {
119
- fontFamily: "Athletics-Black",
120
- fontSize: 8 * t,
121
- lineHeight: 12 * t
122
- },
123
108
  ac1: {
124
109
  fontFamily: "Athletics-Bold",
125
110
  fontSize: 32 * t,
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sources":["../../../../src/features/ui/theme/text.ts"],"sourcesContent":["import type { ITextConfig, TTextVariants } from '../types';\n\nfunction getTextTypes(multiplier: number = 1): Record<TTextVariants, ITextConfig> {\n return {\n 'ah1': {\n fontFamily: 'Athletics-Light',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah3': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah4': {\n fontFamily: 'Athletics-Light',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ab1': {\n fontFamily: 'Athletics-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab2': {\n fontFamily: 'Athletics-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab3': {\n fontFamily: 'Athletics-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4': {\n fontFamily: 'Athletics-Regular',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ab3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ab3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 8 * multiplier,\n lineHeight: 12 * multiplier,\n },\n 'ac1': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac5': {\n fontFamily: 'Athletics-Bold',\n fontSize: 10 * multiplier,\n lineHeight: 12 * multiplier,\n letterSpacing: 0.5,\n textTransform: 'uppercase',\n },\n 'ac5-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 10 * multiplier,\n lineHeight: 12 * multiplier,\n letterSpacing: 0.5,\n textTransform: 'uppercase',\n },\n 'ub1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ub1-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ub2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub2-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub3-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub4': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ub4-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n };\n}\n\nexport default getTextTypes;\n"],"names":["getTextTypes","multiplier"],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sources":["../../../../src/features/ui/theme/text.ts"],"sourcesContent":["import type { ITextConfig, TTextVariants } from '../types';\n\nfunction getTextTypes(multiplier: number = 1): Record<TTextVariants, ITextConfig> {\n return {\n 'ah1': {\n fontFamily: 'Athletics-Light',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 64 * multiplier,\n lineHeight: 72 * multiplier,\n },\n 'ah2': {\n fontFamily: 'Athletics-Light',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 48 * multiplier,\n lineHeight: 56 * multiplier,\n },\n 'ah3': {\n fontFamily: 'Athletics-Light',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 40 * multiplier,\n },\n 'ah4': {\n fontFamily: 'Athletics-Light',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ah4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 24 * multiplier,\n lineHeight: 32 * multiplier,\n },\n 'ab1': {\n fontFamily: 'Athletics-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ab2': {\n fontFamily: 'Athletics-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 22 * multiplier,\n },\n 'ab3': {\n fontFamily: 'Athletics-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab3-bold': {\n fontFamily: 'Athletics-Bold',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ab3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ac1': {\n fontFamily: 'Athletics-Bold',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac1-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 32 * multiplier,\n lineHeight: 36 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2': {\n fontFamily: 'Athletics-Bold',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac2-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 20 * multiplier,\n lineHeight: 24 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3': {\n fontFamily: 'Athletics-Bold',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac3-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 16 * multiplier,\n lineHeight: 20 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4': {\n fontFamily: 'Athletics-Bold',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac4-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n letterSpacing: 1,\n textTransform: 'uppercase',\n },\n 'ac5': {\n fontFamily: 'Athletics-Bold',\n fontSize: 10 * multiplier,\n lineHeight: 12 * multiplier,\n letterSpacing: 0.5,\n textTransform: 'uppercase',\n },\n 'ac5-black': {\n fontFamily: 'Athletics-Black',\n fontSize: 10 * multiplier,\n lineHeight: 12 * multiplier,\n letterSpacing: 0.5,\n textTransform: 'uppercase',\n },\n 'ub1': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ub1-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 20 * multiplier,\n lineHeight: 28 * multiplier,\n },\n 'ub2': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub2-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 16 * multiplier,\n lineHeight: 24 * multiplier,\n },\n 'ub3': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub3-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 14 * multiplier,\n lineHeight: 20 * multiplier,\n },\n 'ub4': {\n fontFamily: 'UntitledSans-Regular',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n 'ub4-bold': {\n fontFamily: 'UntitledSans-Medium',\n fontSize: 12 * multiplier,\n lineHeight: 16 * multiplier,\n },\n };\n}\n\nexport default getTextTypes;\n"],"names":["getTextTypes","multiplier"],"mappings":"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"}
@@ -193,7 +193,7 @@ const Se = (x, B) => B.filter(
193
193
  J && /* @__PURE__ */ n(
194
194
  o,
195
195
  {
196
- widthX: 8.5,
196
+ widthX: 9.75,
197
197
  renderAs: "primary",
198
198
  label: "Move ahead",
199
199
  onClick: m
@@ -1 +1 @@
1
- {"version":3,"file":"controller-lesson-v3_1.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.tsx"],"sourcesContent":["import { deepEqual } from 'fast-equals';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../ui/buttons/button/button';\nimport { useWorksheetStore } from '../../hooks/use-worksheet-store';\nimport { isTeacherInterventionNeeded } from '../../worksheet-helpers';\nimport useHandleCheckButtonClick from '../hooks/use-handle-check-button-click';\nimport useHandleNextButtonClick from '../hooks/use-handle-next-button-click';\nimport useHandleResponseChange from '../hooks/use-handle-response-change';\nimport useHandleRetryButtonClick from '../hooks/use-handle-retry-button-click';\nimport usePlayValidationAudio from '../hooks/use-play-validation-audio';\nimport type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from '../worksheet-questions-controller-types';\nimport useHandleStartButtonClick from '../hooks/use-handle-start-button-click';\nimport useHandleSkipButtonClick from '../hooks/use-handle-skip-button-click';\nimport useHandleSubmitQuiz from '../hooks/use-handle-submit-quiz';\nimport { type IWorksheetQuestion, type IWorksheetResponse } from '../../worksheet-types';\n\ninterface IAreAllExitTicketQuestionsValidated {\n (responses: Record<string, IWorksheetResponse>, questions: IWorksheetQuestion[]): boolean;\n}\n\nconst areAllExitTicketQuestionsValidated: IAreAllExitTicketQuestionsValidated = (\n responses,\n questions,\n) => {\n const exitTicketQuestions = questions.filter(\n q => q.item_type === 'exit-ticket' && !q.is_non_question,\n );\n\n return exitTicketQuestions.every(q => responses[q.response_id]?.validatedByTeacher === true);\n};\n\nconst StudentControllerLessonV3_1: FC<IWorksheetQuestionsControllerProps> = memo(\n function StudentControllerLessonV3_1(props) {\n const {\n behavior,\n question,\n questions,\n response,\n responses,\n learnosity,\n isQuestionAppended,\n inClass,\n isLastQuestion,\n onSubmit,\n worksheetCompleted,\n } = useWorksheetStore(store => {\n const activeQuestion = store.questions[store.activeQuestionIndex]!;\n\n return {\n behavior: store.behavior,\n question: activeQuestion,\n questions: store.questions,\n response: store.responses[activeQuestion.response_id],\n responses: store.responses,\n learnosity: store.learnosity,\n isQuestionAppended: store.appendedQuestionIds.includes(activeQuestion.response_id),\n inClass: store.inClass,\n isLastQuestion: store.activeQuestionIndex === store.questions.length - 1,\n onSubmit: store.onSubmit,\n worksheetCompleted: store.worksheetCompleted,\n };\n });\n const { getTimeSpentOnQuestion } = props;\n const {\n canAttempt,\n checkButtonLabel,\n retryButtonLabel,\n teacherDiscussionEnabled,\n attemptsAfterTeacherInterventionNeeded,\n } = behavior;\n const { response_id, metadata, is_non_question: isNonQuestion, item_type } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const {\n startButton,\n checkButton,\n checkButtonDisabled,\n retryButton,\n retryButtonDisabled,\n nextButton,\n nextButtonDisabled,\n nextButtonTooltip,\n moveButton,\n skipButton,\n skipButtonLabel,\n submitQuizButton,\n submitAttemptButton,\n } = useMemo<IButtonTypes>(() => {\n if (isNonQuestion)\n return {\n startButton: canAttempt && !response?.responseGiven,\n };\n\n if (isExitTicket) {\n const { submittedByStudent } = response || {};\n\n if (!submittedByStudent) {\n if (isLastQuestion)\n return {\n submitQuizButton: true,\n };\n\n if (response?.skipped || response?.response)\n return {\n nextButton: true,\n };\n\n return {\n skipButton: true,\n skipButtonLabel: 'Next',\n };\n }\n\n if (isLastQuestion && areAllExitTicketQuestionsValidated(responses, questions)) {\n return {\n submitAttemptButton: !worksheetCompleted,\n };\n }\n }\n\n if (!response || !response.response || !response.score)\n return {\n checkButton: canAttempt,\n checkButtonDisabled: canAttempt,\n };\n\n const { responseEdited, score, attemptsHistory, retryEnabled } = response;\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n checkButton: canAttempt || response.retryEnabled,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n const teacherInterventionNeeded = isTeacherInterventionNeeded({\n attemptsAfterTeacherInterventionNeeded:\n item_type === 'exit-ticket' ? 1 : attemptsAfterTeacherInterventionNeeded,\n attemptsHistory,\n });\n\n if (!teacherInterventionNeeded)\n return {\n retryButton: canAttempt,\n };\n\n if (inClass)\n return {\n retryButton: true,\n retryButtonDisabled: retryEnabled !== true,\n };\n\n return {\n moveButton: true,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n if (\n inClass &&\n teacherDiscussionEnabled &&\n metadata.acknowledgements &&\n !response?.validatedByTeacher\n ) {\n return {\n nextButton: true,\n nextButtonDisabled: true,\n nextButtonTooltip: 'Tutor approval is required',\n };\n }\n\n if (!isLastQuestion)\n return {\n nextButton: true,\n };\n }\n\n return {};\n }, [\n isNonQuestion,\n canAttempt,\n response,\n isExitTicket,\n isLastQuestion,\n responses,\n questions,\n worksheetCompleted,\n item_type,\n attemptsAfterTeacherInterventionNeeded,\n inClass,\n teacherDiscussionEnabled,\n metadata.acknowledgements,\n ]);\n\n const playValidationAudio = usePlayValidationAudio();\n const handleResponseChange = useHandleResponseChange({\n getTimeSpentOnQuestion,\n });\n const handleNextButtonClick = useHandleNextButtonClick();\n const [skipped, setSkipped] = useState(false);\n const handleSkipButtonClick = useHandleSkipButtonClick({\n setSkipped,\n });\n const handleValidate = useCallback(() => {\n playValidationAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playValidationAudio]);\n const handleCheckButtonClick = useHandleCheckButtonClick({\n handleValidate,\n });\n const handleRetryButtonClick = useHandleRetryButtonClick({\n handleResponseChange,\n });\n const handleStartButtonClick = useHandleStartButtonClick();\n const handleSubmitQuiz = useHandleSubmitQuiz();\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses, questions);\n }, [onSubmit, responses, questions]);\n\n const questionEnabled = checkButton || (isExitTicket && !response?.submittedByStudent);\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n handleNextButtonClick();\n }\n }, [handleNextButtonClick, skipped]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance) {\n if (questionEnabled) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n } else {\n questionInstance.disable();\n }\n }\n\n return () => {\n if (questionInstance && questionEnabled) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [handleResponseChange, isQuestionAppended, learnosity, questionEnabled, response_id]);\n\n return (\n <>\n {nextButton && (\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n hidden={!nextButtonTooltip}\n tooltipItem={nextButtonTooltip ?? ''}\n >\n <Button\n widthX={6}\n renderAs=\"primary\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n </ArrowTooltip>\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n label={skipButtonLabel ?? 'Skip'}\n onClick={handleSkipButtonClick}\n />\n )}\n {moveButton && (\n <Button\n widthX={8.5}\n renderAs=\"primary\"\n label=\"Move ahead\"\n onClick={handleNextButtonClick}\n />\n )}\n {retryButton && (\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n hidden={!retryButtonDisabled}\n tooltipItem=\"Tutor will help, then enable retry\"\n >\n <Button\n widthX={6}\n renderAs=\"primary\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended || retryButtonDisabled}\n onClick={handleRetryButtonClick}\n />\n </ArrowTooltip>\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {submitQuizButton && (\n <Button\n renderAs=\"primary\"\n label=\"Submit\"\n analyticsLabel=\"Submit Quiz\"\n onClick={handleSubmitQuiz}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" label=\"Submit\" onClick={handleSheetSubmitButtonClick} />\n )}\n </>\n );\n },\n);\n\nexport default StudentControllerLessonV3_1;\n"],"names":["areAllExitTicketQuestionsValidated","responses","questions","q","_a","StudentControllerLessonV3_1","memo","props","behavior","question","response","learnosity","isQuestionAppended","inClass","isLastQuestion","onSubmit","worksheetCompleted","useWorksheetStore","store","activeQuestion","getTimeSpentOnQuestion","canAttempt","checkButtonLabel","retryButtonLabel","teacherDiscussionEnabled","attemptsAfterTeacherInterventionNeeded","response_id","metadata","isNonQuestion","item_type","isExitTicket","startButton","checkButton","checkButtonDisabled","retryButton","retryButtonDisabled","nextButton","nextButtonDisabled","nextButtonTooltip","moveButton","skipButton","skipButtonLabel","submitQuizButton","submitAttemptButton","useMemo","submittedByStudent","responseEdited","score","attemptsHistory","retryEnabled","lastAttemptResponse","deepEqual","isTeacherInterventionNeeded","playValidationAudio","usePlayValidationAudio","handleResponseChange","useHandleResponseChange","handleNextButtonClick","useHandleNextButtonClick","skipped","setSkipped","useState","handleSkipButtonClick","useHandleSkipButtonClick","handleValidate","useCallback","handleCheckButtonClick","useHandleCheckButtonClick","handleRetryButtonClick","useHandleRetryButtonClick","handleStartButtonClick","useHandleStartButtonClick","handleSubmitQuiz","useHandleSubmitQuiz","handleSheetSubmitButtonClick","questionEnabled","useEffect","questionInstance","jsxs","Fragment","jsx","ArrowTooltip","Button"],"mappings":"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"}
1
+ {"version":3,"file":"controller-lesson-v3_1.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.tsx"],"sourcesContent":["import { deepEqual } from 'fast-equals';\nimport { memo, useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../ui/buttons/button/button';\nimport { useWorksheetStore } from '../../hooks/use-worksheet-store';\nimport { isTeacherInterventionNeeded } from '../../worksheet-helpers';\nimport useHandleCheckButtonClick from '../hooks/use-handle-check-button-click';\nimport useHandleNextButtonClick from '../hooks/use-handle-next-button-click';\nimport useHandleResponseChange from '../hooks/use-handle-response-change';\nimport useHandleRetryButtonClick from '../hooks/use-handle-retry-button-click';\nimport usePlayValidationAudio from '../hooks/use-play-validation-audio';\nimport type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from '../worksheet-questions-controller-types';\nimport useHandleStartButtonClick from '../hooks/use-handle-start-button-click';\nimport useHandleSkipButtonClick from '../hooks/use-handle-skip-button-click';\nimport useHandleSubmitQuiz from '../hooks/use-handle-submit-quiz';\nimport { type IWorksheetQuestion, type IWorksheetResponse } from '../../worksheet-types';\n\ninterface IAreAllExitTicketQuestionsValidated {\n (responses: Record<string, IWorksheetResponse>, questions: IWorksheetQuestion[]): boolean;\n}\n\nconst areAllExitTicketQuestionsValidated: IAreAllExitTicketQuestionsValidated = (\n responses,\n questions,\n) => {\n const exitTicketQuestions = questions.filter(\n q => q.item_type === 'exit-ticket' && !q.is_non_question,\n );\n\n return exitTicketQuestions.every(q => responses[q.response_id]?.validatedByTeacher === true);\n};\n\nconst StudentControllerLessonV3_1: FC<IWorksheetQuestionsControllerProps> = memo(\n function StudentControllerLessonV3_1(props) {\n const {\n behavior,\n question,\n questions,\n response,\n responses,\n learnosity,\n isQuestionAppended,\n inClass,\n isLastQuestion,\n onSubmit,\n worksheetCompleted,\n } = useWorksheetStore(store => {\n const activeQuestion = store.questions[store.activeQuestionIndex]!;\n\n return {\n behavior: store.behavior,\n question: activeQuestion,\n questions: store.questions,\n response: store.responses[activeQuestion.response_id],\n responses: store.responses,\n learnosity: store.learnosity,\n isQuestionAppended: store.appendedQuestionIds.includes(activeQuestion.response_id),\n inClass: store.inClass,\n isLastQuestion: store.activeQuestionIndex === store.questions.length - 1,\n onSubmit: store.onSubmit,\n worksheetCompleted: store.worksheetCompleted,\n };\n });\n const { getTimeSpentOnQuestion } = props;\n const {\n canAttempt,\n checkButtonLabel,\n retryButtonLabel,\n teacherDiscussionEnabled,\n attemptsAfterTeacherInterventionNeeded,\n } = behavior;\n const { response_id, metadata, is_non_question: isNonQuestion, item_type } = question;\n const isExitTicket = item_type === 'exit-ticket';\n const {\n startButton,\n checkButton,\n checkButtonDisabled,\n retryButton,\n retryButtonDisabled,\n nextButton,\n nextButtonDisabled,\n nextButtonTooltip,\n moveButton,\n skipButton,\n skipButtonLabel,\n submitQuizButton,\n submitAttemptButton,\n } = useMemo<IButtonTypes>(() => {\n if (isNonQuestion)\n return {\n startButton: canAttempt && !response?.responseGiven,\n };\n\n if (isExitTicket) {\n const { submittedByStudent } = response || {};\n\n if (!submittedByStudent) {\n if (isLastQuestion)\n return {\n submitQuizButton: true,\n };\n\n if (response?.skipped || response?.response)\n return {\n nextButton: true,\n };\n\n return {\n skipButton: true,\n skipButtonLabel: 'Next',\n };\n }\n\n if (isLastQuestion && areAllExitTicketQuestionsValidated(responses, questions)) {\n return {\n submitAttemptButton: !worksheetCompleted,\n };\n }\n }\n\n if (!response || !response.response || !response.score)\n return {\n checkButton: canAttempt,\n checkButtonDisabled: canAttempt,\n };\n\n const { responseEdited, score, attemptsHistory, retryEnabled } = response;\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n checkButton: canAttempt || response.retryEnabled,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n const teacherInterventionNeeded = isTeacherInterventionNeeded({\n attemptsAfterTeacherInterventionNeeded:\n item_type === 'exit-ticket' ? 1 : attemptsAfterTeacherInterventionNeeded,\n attemptsHistory,\n });\n\n if (!teacherInterventionNeeded)\n return {\n retryButton: canAttempt,\n };\n\n if (inClass)\n return {\n retryButton: true,\n retryButtonDisabled: retryEnabled !== true,\n };\n\n return {\n moveButton: true,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n if (\n inClass &&\n teacherDiscussionEnabled &&\n metadata.acknowledgements &&\n !response?.validatedByTeacher\n ) {\n return {\n nextButton: true,\n nextButtonDisabled: true,\n nextButtonTooltip: 'Tutor approval is required',\n };\n }\n\n if (!isLastQuestion)\n return {\n nextButton: true,\n };\n }\n\n return {};\n }, [\n isNonQuestion,\n canAttempt,\n response,\n isExitTicket,\n isLastQuestion,\n responses,\n questions,\n worksheetCompleted,\n item_type,\n attemptsAfterTeacherInterventionNeeded,\n inClass,\n teacherDiscussionEnabled,\n metadata.acknowledgements,\n ]);\n\n const playValidationAudio = usePlayValidationAudio();\n const handleResponseChange = useHandleResponseChange({\n getTimeSpentOnQuestion,\n });\n const handleNextButtonClick = useHandleNextButtonClick();\n const [skipped, setSkipped] = useState(false);\n const handleSkipButtonClick = useHandleSkipButtonClick({\n setSkipped,\n });\n const handleValidate = useCallback(() => {\n playValidationAudio();\n handleResponseChange(true);\n }, [handleResponseChange, playValidationAudio]);\n const handleCheckButtonClick = useHandleCheckButtonClick({\n handleValidate,\n });\n const handleRetryButtonClick = useHandleRetryButtonClick({\n handleResponseChange,\n });\n const handleStartButtonClick = useHandleStartButtonClick();\n const handleSubmitQuiz = useHandleSubmitQuiz();\n const handleSheetSubmitButtonClick = useCallback(() => {\n onSubmit?.(responses, questions);\n }, [onSubmit, responses, questions]);\n\n const questionEnabled = checkButton || (isExitTicket && !response?.submittedByStudent);\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n handleNextButtonClick();\n }\n }, [handleNextButtonClick, skipped]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance) {\n if (questionEnabled) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n } else {\n questionInstance.disable();\n }\n }\n\n return () => {\n if (questionInstance && questionEnabled) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [handleResponseChange, isQuestionAppended, learnosity, questionEnabled, response_id]);\n\n return (\n <>\n {nextButton && (\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n hidden={!nextButtonTooltip}\n tooltipItem={nextButtonTooltip ?? ''}\n >\n <Button\n widthX={6}\n renderAs=\"primary\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n </ArrowTooltip>\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n label={skipButtonLabel ?? 'Skip'}\n onClick={handleSkipButtonClick}\n />\n )}\n {moveButton && (\n <Button\n widthX={9.75}\n renderAs=\"primary\"\n label=\"Move ahead\"\n onClick={handleNextButtonClick}\n />\n )}\n {retryButton && (\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n hidden={!retryButtonDisabled}\n tooltipItem=\"Tutor will help, then enable retry\"\n >\n <Button\n widthX={6}\n renderAs=\"primary\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended || retryButtonDisabled}\n onClick={handleRetryButtonClick}\n />\n </ArrowTooltip>\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {submitQuizButton && (\n <Button\n renderAs=\"primary\"\n label=\"Submit\"\n analyticsLabel=\"Submit Quiz\"\n onClick={handleSubmitQuiz}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" label=\"Submit\" onClick={handleSheetSubmitButtonClick} />\n )}\n </>\n );\n },\n);\n\nexport default StudentControllerLessonV3_1;\n"],"names":["areAllExitTicketQuestionsValidated","responses","questions","q","_a","StudentControllerLessonV3_1","memo","props","behavior","question","response","learnosity","isQuestionAppended","inClass","isLastQuestion","onSubmit","worksheetCompleted","useWorksheetStore","store","activeQuestion","getTimeSpentOnQuestion","canAttempt","checkButtonLabel","retryButtonLabel","teacherDiscussionEnabled","attemptsAfterTeacherInterventionNeeded","response_id","metadata","isNonQuestion","item_type","isExitTicket","startButton","checkButton","checkButtonDisabled","retryButton","retryButtonDisabled","nextButton","nextButtonDisabled","nextButtonTooltip","moveButton","skipButton","skipButtonLabel","submitQuizButton","submitAttemptButton","useMemo","submittedByStudent","responseEdited","score","attemptsHistory","retryEnabled","lastAttemptResponse","deepEqual","isTeacherInterventionNeeded","playValidationAudio","usePlayValidationAudio","handleResponseChange","useHandleResponseChange","handleNextButtonClick","useHandleNextButtonClick","skipped","setSkipped","useState","handleSkipButtonClick","useHandleSkipButtonClick","handleValidate","useCallback","handleCheckButtonClick","useHandleCheckButtonClick","handleRetryButtonClick","useHandleRetryButtonClick","handleStartButtonClick","useHandleStartButtonClick","handleSubmitQuiz","useHandleSubmitQuiz","handleSheetSubmitButtonClick","questionEnabled","useEffect","questionInstance","jsxs","Fragment","jsx","ArrowTooltip","Button"],"mappings":"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"}
@@ -45,6 +45,7 @@ const x = t(
45
45
  width: 12px;
46
46
  height: 12px;
47
47
  `, m = t(n)`
48
+ font-size: 7.5px;
48
49
  line-height: 11px;
49
50
  text-align: center;
50
51
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"questions-toolbar-styled.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { TOOL_ICON_SIZE } from '../../constants';\n\ninterface IWorksheetQuestionsToolbarContainerProps {\n $showBorder: boolean;\n}\nconst WorksheetQuestionsToolbarContainer = styled(\n FlexView,\n)<IWorksheetQuestionsToolbarContainerProps>(\n ({ theme, $showBorder }) => `\n ${$showBorder ? `margin-left: 12px; border-left: 1px solid ${theme.colors.WHITE_5};` : ''}\n align-self: stretch;\n padding-left: 4px;\n`,\n);\n\ninterface IIconContainerProps {\n $disabled?: boolean;\n}\nconst IconContainer = styled(FlexView)<IIconContainerProps>(\n ({ theme, $disabled = false }) => `\n height: 40px;\n width: 40px;\n border-radius: 50%;\n align-items: center;\n justify-content: center;\n\n ${\n !$disabled\n ? `&:hover {\n cursor: pointer;\n background-color: ${theme.colors.WHITE_4};\n }`\n : 'opacity: 0.38;'\n }\n`,\n);\n\nconst HintsIconContainer = styled.div`\n position: relative;\n width: ${TOOL_ICON_SIZE}px;\n height: ${TOOL_ICON_SIZE}px;\n`;\n\nconst HintsNumberContainer = styled.div(\n ({ theme }) => `\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n background-color: ${theme.colors.YELLOW_4};\n border: 1px solid ${theme.colors.WHITE};\n border-radius: 50%;\n`,\n);\n\nconst TickMark = styled.img`\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n`;\n\nconst HintsNumber = styled(Text)`\n line-height: 11px;\n text-align: center;\n`;\n\nexport {\n HintsIconContainer,\n HintsNumber,\n HintsNumberContainer,\n IconContainer,\n TickMark,\n WorksheetQuestionsToolbarContainer,\n};\n"],"names":["WorksheetQuestionsToolbarContainer","styled","FlexView","theme","$showBorder","IconContainer","$disabled","HintsIconContainer","TOOL_ICON_SIZE","HintsNumberContainer","TickMark","HintsNumber","Text"],"mappings":";;;;AASA,MAAMA,IAAqCC;AAAA,EACzCC;AACF;AAAA,EACE,CAAC,EAAE,OAAAC,GAAO,aAAAC,EAAA,MAAkB;AAAA,IAC1BA,IAAc,6CAA6CD,EAAM,OAAO,OAAO,MAAM,EAAE;AAAA;AAAA;AAAA;AAI3F,GAKME,IAAgBJ,EAAOC,CAAQ;AAAA,EACnC,CAAC,EAAE,OAAAC,GAAO,WAAAG,IAAY,GAAY,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ/BA,IAKG,mBAJA;AAAA;AAAA,8BAEsBH,EAAM,OAAO,OAAO;AAAA,YAGhD;AAAA;AAEF,GAEMI,IAAqBN,EAAO;AAAA;AAAA,WAEvBO,CAAc;AAAA,YACbA,CAAc;AAAA,GAGpBC,IAAuBR,EAAO;AAAA,EAClC,CAAC,EAAE,OAAAE,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMKA,EAAM,OAAO,QAAQ;AAAA,sBACrBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAGxC,GAEMO,IAAWT,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlBU,IAAcV,EAAOW,CAAI;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"questions-toolbar-styled.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { TOOL_ICON_SIZE } from '../../constants';\n\ninterface IWorksheetQuestionsToolbarContainerProps {\n $showBorder: boolean;\n}\nconst WorksheetQuestionsToolbarContainer = styled(\n FlexView,\n)<IWorksheetQuestionsToolbarContainerProps>(\n ({ theme, $showBorder }) => `\n ${$showBorder ? `margin-left: 12px; border-left: 1px solid ${theme.colors.WHITE_5};` : ''}\n align-self: stretch;\n padding-left: 4px;\n`,\n);\n\ninterface IIconContainerProps {\n $disabled?: boolean;\n}\nconst IconContainer = styled(FlexView)<IIconContainerProps>(\n ({ theme, $disabled = false }) => `\n height: 40px;\n width: 40px;\n border-radius: 50%;\n align-items: center;\n justify-content: center;\n\n ${\n !$disabled\n ? `&:hover {\n cursor: pointer;\n background-color: ${theme.colors.WHITE_4};\n }`\n : 'opacity: 0.38;'\n }\n`,\n);\n\nconst HintsIconContainer = styled.div`\n position: relative;\n width: ${TOOL_ICON_SIZE}px;\n height: ${TOOL_ICON_SIZE}px;\n`;\n\nconst HintsNumberContainer = styled.div(\n ({ theme }) => `\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n background-color: ${theme.colors.YELLOW_4};\n border: 1px solid ${theme.colors.WHITE};\n border-radius: 50%;\n`,\n);\n\nconst TickMark = styled.img`\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n`;\n\nconst HintsNumber = styled(Text)`\n font-size: 7.5px;\n line-height: 11px;\n text-align: center;\n`;\n\nexport {\n HintsIconContainer,\n HintsNumber,\n HintsNumberContainer,\n IconContainer,\n TickMark,\n WorksheetQuestionsToolbarContainer,\n};\n"],"names":["WorksheetQuestionsToolbarContainer","styled","FlexView","theme","$showBorder","IconContainer","$disabled","HintsIconContainer","TOOL_ICON_SIZE","HintsNumberContainer","TickMark","HintsNumber","Text"],"mappings":";;;;AASA,MAAMA,IAAqCC;AAAA,EACzCC;AACF;AAAA,EACE,CAAC,EAAE,OAAAC,GAAO,aAAAC,EAAA,MAAkB;AAAA,IAC1BA,IAAc,6CAA6CD,EAAM,OAAO,OAAO,MAAM,EAAE;AAAA;AAAA;AAAA;AAI3F,GAKME,IAAgBJ,EAAOC,CAAQ;AAAA,EACnC,CAAC,EAAE,OAAAC,GAAO,WAAAG,IAAY,GAAY,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ/BA,IAKG,mBAJA;AAAA;AAAA,8BAEsBH,EAAM,OAAO,OAAO;AAAA,YAGhD;AAAA;AAEF,GAEMI,IAAqBN,EAAO;AAAA;AAAA,WAEvBO,CAAc;AAAA,YACbA,CAAc;AAAA,GAGpBC,IAAuBR,EAAO;AAAA,EAClC,CAAC,EAAE,OAAAE,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMKA,EAAM,OAAO,QAAQ;AAAA,sBACrBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAGxC,GAEMO,IAAWT,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlBU,IAAcV,EAAOW,CAAI;AAAA;AAAA;AAAA;AAAA;"}
@@ -92,7 +92,7 @@ const ke = F(function({
92
92
  children: [
93
93
  r.visible && /* @__PURE__ */ e(c, { label: "Hint", disabled: r.disabled, onClick: U, children: /* @__PURE__ */ e(d, { position: "top", renderAs: "primary", tooltipItem: "Hint", children: /* @__PURE__ */ e(a, { $disabled: r.disabled, children: /* @__PURE__ */ A(P, { children: [
94
94
  /* @__PURE__ */ e(V, { width: o, height: o }),
95
- !r.allHintsUtilized && r.nextHintnumber > 1 && /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e(Y, { $renderAs: "ab4-black", $color: "BLACK", children: r.nextHintnumber }) }),
95
+ !r.allHintsUtilized && r.nextHintnumber > 1 && /* @__PURE__ */ e(X, { children: /* @__PURE__ */ e(Y, { $renderAs: "ab3-bold", $color: "BLACK", children: r.nextHintnumber }) }),
96
96
  r.allHintsUtilized && /* @__PURE__ */ e(ee, { src: x.TICK_GREEN })
97
97
  ] }) }) }) }),
98
98
  C.visible && /* @__PURE__ */ e(c, { label: "Solution", disabled: C.disabled, onClick: q, children: /* @__PURE__ */ e(d, { position: "top", renderAs: "primary", tooltipItem: "Solution", children: /* @__PURE__ */ e(a, { $disabled: C.disabled, children: n === l.SOLUTION ? /* @__PURE__ */ e(k, { width: o, height: o }) : /* @__PURE__ */ e(G, { width: o, height: o }) }) }) }),
@@ -1 +1 @@
1
- {"version":3,"file":"questions-toolbar.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.tsx"],"sourcesContent":["import { type FC, memo, useCallback } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport CalculatorIcon from '../../../../../assets/line-icons/icons/calculator';\nimport CloseIcon from '../../../../../assets/line-icons/icons/close';\nimport HandIcon from '../../../../../assets/line-icons/icons/hand';\nimport HintsIcon from '../../../../../assets/line-icons/icons/hints';\nimport QuestionFeedbackIcon from '../../../../../assets/line-icons/icons/question-feedback';\nimport SolutionIcon from '../../../../../assets/line-icons/icons/solution';\nimport TeachingToolsIcon from '../../../../../assets/line-icons/icons/teaching-tools';\nimport TValQuestionIcon from '../../../../../assets/line-icons/icons/tval-question';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport EVENTS from '../../../constants/events';\nimport { useWorksheetStore } from '../../hooks/use-worksheet-store';\nimport { getQuestionMetadata } from '../../worksheet-helpers';\nimport { EActiveQuestionTool } from '../../worksheet-types';\nimport { type IQuestionToolbarOptions } from './questions-toolbar-helpers';\nimport * as Styled from './questions-toolbar-styled';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { TOOL_ICON_SIZE } from '../../constants';\n\ninterface IQuestionsToolbarProps {\n toolbarOptions: IQuestionToolbarOptions;\n showBorder: boolean;\n}\n\nconst QuestionsToolbar: FC<IQuestionsToolbarProps> = memo(function QuestionsToolbar({\n showBorder,\n toolbarOptions,\n}) {\n const { hints, solution, askTeacher, questionFeedback, teachingTools, discussion } =\n toolbarOptions;\n const {\n question,\n behavior,\n loggerRef,\n setResponses,\n onResponseChange,\n onHelp,\n openQuestionFeedbackModal,\n activeQuestionTool,\n setActiveQuestionTool,\n unsetActiveQuestionTool,\n toggleCalculator,\n } = useWorksheetStore(store => {\n const activeQuestion = store.questions[store.activeQuestionIndex]!;\n\n return {\n behavior: store.behavior,\n question: activeQuestion,\n loggerRef: store.loggerRef,\n setResponses: store.setResponses,\n onResponseChange: store.onResponseChange,\n onHelp: store.onHelp,\n openQuestionFeedbackModal: store.openQuestionFeedbackModal,\n activeQuestionTool: store.activeQuestionTool,\n setActiveQuestionTool: store.setActiveQuestionTool,\n unsetActiveQuestionTool: store.unsetActiveQuestionTool,\n toggleCalculator: store.toggleCalculator,\n };\n });\n const { response_id: responseId } = question;\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(question),\n ...prevResponses[responseId],\n hintsUsed: (prevResponses[responseId]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId,\n response: newResponse,\n question,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [responseId]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, question, responseId, setResponses]);\n\n const handleQuestionFeedbackClick = useCallback(() => {\n if (openQuestionFeedbackModal) {\n openQuestionFeedbackModal(question.item_reference);\n }\n }, [openQuestionFeedbackModal, question]);\n\n const handleTeachingToolsClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.TEACHING_TOOLS) {\n setActiveQuestionTool(EActiveQuestionTool.TEACHING_TOOLS);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleDiscussionClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.DISCUSSION) {\n setActiveQuestionTool(EActiveQuestionTool.DISCUSSION);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleSolutionClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.SOLUTION) {\n setActiveQuestionTool(EActiveQuestionTool.SOLUTION);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n const { item_number, question_number, total_questions } = question;\n\n onHelp({\n questionId: responseId,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [onHelp, question, responseId]);\n\n return (\n <Styled.WorksheetQuestionsToolbarContainer\n $showBorder={showBorder}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n >\n {hints.visible && (\n <Clickable label=\"Hint\" disabled={hints.disabled} onClick={handleHintButtonClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Hint\">\n <Styled.IconContainer $disabled={hints.disabled}>\n <Styled.HintsIconContainer>\n <HintsIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n {!hints.allHintsUtilized && hints.nextHintnumber > 1 && (\n <Styled.HintsNumberContainer>\n <Styled.HintsNumber $renderAs=\"ab4-black\" $color=\"BLACK\">\n {hints.nextHintnumber}\n </Styled.HintsNumber>\n </Styled.HintsNumberContainer>\n )}\n {hints.allHintsUtilized && <Styled.TickMark src={ILLUSTRATIONS.TICK_GREEN} />}\n </Styled.HintsIconContainer>\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {solution.visible && (\n <Clickable label=\"Solution\" disabled={solution.disabled} onClick={handleSolutionClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Solution\">\n <Styled.IconContainer $disabled={solution.disabled}>\n {activeQuestionTool === EActiveQuestionTool.SOLUTION ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <SolutionIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {askTeacher.visible && (\n <Clickable label=\"Ask for help\" onClick={handleHelpButtonClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Help\">\n <Styled.IconContainer>\n <HandIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {questionFeedback.visible && (\n <Clickable label=\"Question Feedback\" onClick={handleQuestionFeedbackClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Feedback\">\n <Styled.IconContainer>\n <QuestionFeedbackIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {behavior.canShowDesmosCalc && (\n <Clickable label=\"Desmos Calculator\" onClick={toggleCalculator}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Calculator\">\n <Styled.IconContainer>\n <CalculatorIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {teachingTools.visible && (\n <Clickable\n label=\"Teaching Tools\"\n disabled={teachingTools.disabled}\n onClick={handleTeachingToolsClick}\n >\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n tooltipItem=\"Cue Don't Tell, Hint and Solution\"\n >\n <Styled.IconContainer $disabled={teachingTools.disabled}>\n {activeQuestionTool === EActiveQuestionTool.TEACHING_TOOLS ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <TeachingToolsIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {discussion.visible && (\n <Clickable label=\"Teacher Validated Question\" onClick={handleDiscussionClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Teacher Validated Question\">\n <Styled.IconContainer>\n {activeQuestionTool === EActiveQuestionTool.DISCUSSION ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <TValQuestionIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n </Styled.WorksheetQuestionsToolbarContainer>\n );\n});\n\nexport default QuestionsToolbar;\n"],"names":["QuestionsToolbar","memo","showBorder","toolbarOptions","hints","solution","askTeacher","questionFeedback","teachingTools","discussion","question","behavior","loggerRef","setResponses","onResponseChange","onHelp","openQuestionFeedbackModal","activeQuestionTool","setActiveQuestionTool","unsetActiveQuestionTool","toggleCalculator","useWorksheetStore","store","activeQuestion","responseId","handleHintButtonClick","useCallback","EVENTS","prevResponses","newResponse","getQuestionMetadata","_a","handleQuestionFeedbackClick","handleTeachingToolsClick","EActiveQuestionTool","handleDiscussionClick","handleSolutionClick","handleHelpButtonClick","item_number","question_number","total_questions","jsxs","Styled.WorksheetQuestionsToolbarContainer","jsx","Clickable","ArrowTooltip","Styled.IconContainer","Styled.HintsIconContainer","HintsIcon","TOOL_ICON_SIZE","Styled.HintsNumberContainer","Styled.HintsNumber","Styled.TickMark","ILLUSTRATIONS","CloseIcon","SolutionIcon","HandIcon","QuestionFeedbackIcon","CalculatorIcon","TeachingToolsIcon","TValQuestionIcon"],"mappings":"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"}
1
+ {"version":3,"file":"questions-toolbar.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.tsx"],"sourcesContent":["import { type FC, memo, useCallback } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport CalculatorIcon from '../../../../../assets/line-icons/icons/calculator';\nimport CloseIcon from '../../../../../assets/line-icons/icons/close';\nimport HandIcon from '../../../../../assets/line-icons/icons/hand';\nimport HintsIcon from '../../../../../assets/line-icons/icons/hints';\nimport QuestionFeedbackIcon from '../../../../../assets/line-icons/icons/question-feedback';\nimport SolutionIcon from '../../../../../assets/line-icons/icons/solution';\nimport TeachingToolsIcon from '../../../../../assets/line-icons/icons/teaching-tools';\nimport TValQuestionIcon from '../../../../../assets/line-icons/icons/tval-question';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport EVENTS from '../../../constants/events';\nimport { useWorksheetStore } from '../../hooks/use-worksheet-store';\nimport { getQuestionMetadata } from '../../worksheet-helpers';\nimport { EActiveQuestionTool } from '../../worksheet-types';\nimport { type IQuestionToolbarOptions } from './questions-toolbar-helpers';\nimport * as Styled from './questions-toolbar-styled';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { TOOL_ICON_SIZE } from '../../constants';\n\ninterface IQuestionsToolbarProps {\n toolbarOptions: IQuestionToolbarOptions;\n showBorder: boolean;\n}\n\nconst QuestionsToolbar: FC<IQuestionsToolbarProps> = memo(function QuestionsToolbar({\n showBorder,\n toolbarOptions,\n}) {\n const { hints, solution, askTeacher, questionFeedback, teachingTools, discussion } =\n toolbarOptions;\n const {\n question,\n behavior,\n loggerRef,\n setResponses,\n onResponseChange,\n onHelp,\n openQuestionFeedbackModal,\n activeQuestionTool,\n setActiveQuestionTool,\n unsetActiveQuestionTool,\n toggleCalculator,\n } = useWorksheetStore(store => {\n const activeQuestion = store.questions[store.activeQuestionIndex]!;\n\n return {\n behavior: store.behavior,\n question: activeQuestion,\n loggerRef: store.loggerRef,\n setResponses: store.setResponses,\n onResponseChange: store.onResponseChange,\n onHelp: store.onHelp,\n openQuestionFeedbackModal: store.openQuestionFeedbackModal,\n activeQuestionTool: store.activeQuestionTool,\n setActiveQuestionTool: store.setActiveQuestionTool,\n unsetActiveQuestionTool: store.unsetActiveQuestionTool,\n toggleCalculator: store.toggleCalculator,\n };\n });\n const { response_id: responseId } = question;\n\n const handleHintButtonClick = useCallback(() => {\n loggerRef.current(EVENTS.WORKSHEET_V3_HINT_SEEN);\n setResponses(prevResponses => {\n const newResponse = {\n ...getQuestionMetadata(question),\n ...prevResponses[responseId],\n hintsUsed: (prevResponses[responseId]?.hintsUsed ?? 0) + 1,\n };\n\n onResponseChange?.({\n responseId,\n response: newResponse,\n question,\n isNewAttempt: false,\n });\n\n return {\n ...prevResponses,\n [responseId]: newResponse,\n };\n });\n }, [loggerRef, onResponseChange, question, responseId, setResponses]);\n\n const handleQuestionFeedbackClick = useCallback(() => {\n if (openQuestionFeedbackModal) {\n openQuestionFeedbackModal(question.item_reference);\n }\n }, [openQuestionFeedbackModal, question]);\n\n const handleTeachingToolsClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.TEACHING_TOOLS) {\n setActiveQuestionTool(EActiveQuestionTool.TEACHING_TOOLS);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleDiscussionClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.DISCUSSION) {\n setActiveQuestionTool(EActiveQuestionTool.DISCUSSION);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleSolutionClick = useCallback(() => {\n if (activeQuestionTool !== EActiveQuestionTool.SOLUTION) {\n setActiveQuestionTool(EActiveQuestionTool.SOLUTION);\n } else {\n unsetActiveQuestionTool();\n }\n }, [setActiveQuestionTool, unsetActiveQuestionTool, activeQuestionTool]);\n\n const handleHelpButtonClick = useCallback(() => {\n if (onHelp && question) {\n const { item_number, question_number, total_questions } = question;\n\n onHelp({\n questionId: responseId,\n questionNumber: `${item_number + 1}${\n total_questions > 1 ? String.fromCharCode('a'.charCodeAt(0) + question_number) : ''\n }`,\n });\n }\n }, [onHelp, question, responseId]);\n\n return (\n <Styled.WorksheetQuestionsToolbarContainer\n $showBorder={showBorder}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n >\n {hints.visible && (\n <Clickable label=\"Hint\" disabled={hints.disabled} onClick={handleHintButtonClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Hint\">\n <Styled.IconContainer $disabled={hints.disabled}>\n <Styled.HintsIconContainer>\n <HintsIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n {!hints.allHintsUtilized && hints.nextHintnumber > 1 && (\n <Styled.HintsNumberContainer>\n <Styled.HintsNumber $renderAs=\"ab3-bold\" $color=\"BLACK\">\n {hints.nextHintnumber}\n </Styled.HintsNumber>\n </Styled.HintsNumberContainer>\n )}\n {hints.allHintsUtilized && <Styled.TickMark src={ILLUSTRATIONS.TICK_GREEN} />}\n </Styled.HintsIconContainer>\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {solution.visible && (\n <Clickable label=\"Solution\" disabled={solution.disabled} onClick={handleSolutionClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Solution\">\n <Styled.IconContainer $disabled={solution.disabled}>\n {activeQuestionTool === EActiveQuestionTool.SOLUTION ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <SolutionIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {askTeacher.visible && (\n <Clickable label=\"Ask for help\" onClick={handleHelpButtonClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Help\">\n <Styled.IconContainer>\n <HandIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {questionFeedback.visible && (\n <Clickable label=\"Question Feedback\" onClick={handleQuestionFeedbackClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Feedback\">\n <Styled.IconContainer>\n <QuestionFeedbackIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {behavior.canShowDesmosCalc && (\n <Clickable label=\"Desmos Calculator\" onClick={toggleCalculator}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Calculator\">\n <Styled.IconContainer>\n <CalculatorIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {teachingTools.visible && (\n <Clickable\n label=\"Teaching Tools\"\n disabled={teachingTools.disabled}\n onClick={handleTeachingToolsClick}\n >\n <ArrowTooltip\n position=\"top\"\n renderAs=\"primary\"\n tooltipItem=\"Cue Don't Tell, Hint and Solution\"\n >\n <Styled.IconContainer $disabled={teachingTools.disabled}>\n {activeQuestionTool === EActiveQuestionTool.TEACHING_TOOLS ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <TeachingToolsIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n {discussion.visible && (\n <Clickable label=\"Teacher Validated Question\" onClick={handleDiscussionClick}>\n <ArrowTooltip position=\"top\" renderAs=\"primary\" tooltipItem=\"Teacher Validated Question\">\n <Styled.IconContainer>\n {activeQuestionTool === EActiveQuestionTool.DISCUSSION ? (\n <CloseIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n ) : (\n <TValQuestionIcon width={TOOL_ICON_SIZE} height={TOOL_ICON_SIZE} />\n )}\n </Styled.IconContainer>\n </ArrowTooltip>\n </Clickable>\n )}\n </Styled.WorksheetQuestionsToolbarContainer>\n );\n});\n\nexport default QuestionsToolbar;\n"],"names":["QuestionsToolbar","memo","showBorder","toolbarOptions","hints","solution","askTeacher","questionFeedback","teachingTools","discussion","question","behavior","loggerRef","setResponses","onResponseChange","onHelp","openQuestionFeedbackModal","activeQuestionTool","setActiveQuestionTool","unsetActiveQuestionTool","toggleCalculator","useWorksheetStore","store","activeQuestion","responseId","handleHintButtonClick","useCallback","EVENTS","prevResponses","newResponse","getQuestionMetadata","_a","handleQuestionFeedbackClick","handleTeachingToolsClick","EActiveQuestionTool","handleDiscussionClick","handleSolutionClick","handleHelpButtonClick","item_number","question_number","total_questions","jsxs","Styled.WorksheetQuestionsToolbarContainer","jsx","Clickable","ArrowTooltip","Styled.IconContainer","Styled.HintsIconContainer","HintsIcon","TOOL_ICON_SIZE","Styled.HintsNumberContainer","Styled.HintsNumber","Styled.TickMark","ILLUSTRATIONS","CloseIcon","SolutionIcon","HandIcon","QuestionFeedbackIcon","CalculatorIcon","TeachingToolsIcon","TValQuestionIcon"],"mappings":";;;;;;;;;;;;;;;;;;;AA0BM,MAAAA,KAA+CC,EAAK,SAA0B;AAAA,EAClF,YAAAC;AAAA,EACA,gBAAAC;AACF,GAAG;AACD,QAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,YAAAC,GAAY,kBAAAC,GAAkB,eAAAC,GAAe,YAAAC,EACpE,IAAAN,GACI;AAAA,IACJ,UAAAO;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,kBAAAC;AAAA,EAAA,IACEC,EAAkB,CAASC,MAAA;AAC7B,UAAMC,IAAiBD,EAAM,UAAUA,EAAM,mBAAmB;AAEzD,WAAA;AAAA,MACL,UAAUA,EAAM;AAAA,MAChB,UAAUC;AAAA,MACV,WAAWD,EAAM;AAAA,MACjB,cAAcA,EAAM;AAAA,MACpB,kBAAkBA,EAAM;AAAA,MACxB,QAAQA,EAAM;AAAA,MACd,2BAA2BA,EAAM;AAAA,MACjC,oBAAoBA,EAAM;AAAA,MAC1B,uBAAuBA,EAAM;AAAA,MAC7B,yBAAyBA,EAAM;AAAA,MAC/B,kBAAkBA,EAAM;AAAA,IAAA;AAAA,EAC1B,CACD,GACK,EAAE,aAAaE,EAAe,IAAAd,GAE9Be,IAAwBC,EAAY,MAAM;AACpC,IAAAd,EAAA,QAAQe,EAAO,sBAAsB,GAC/Cd,EAAa,CAAiBe,MAAA;;AAC5B,YAAMC,IAAc;AAAA,QAClB,GAAGC,EAAoBpB,CAAQ;AAAA,QAC/B,GAAGkB,EAAcJ,CAAU;AAAA,QAC3B,cAAYO,IAAAH,EAAcJ,CAAU,MAAxB,gBAAAO,EAA2B,cAAa,KAAK;AAAA,MAAA;AAGxC,aAAAjB,KAAA,QAAAA,EAAA;AAAA,QACjB,YAAAU;AAAA,QACA,UAAUK;AAAA,QACV,UAAAnB;AAAA,QACA,cAAc;AAAA,MAAA,IAGT;AAAA,QACL,GAAGkB;AAAA,QACH,CAACJ,CAAU,GAAGK;AAAA,MAAA;AAAA,IAChB,CACD;AAAA,EAAA,GACA,CAACjB,GAAWE,GAAkBJ,GAAUc,GAAYX,CAAY,CAAC,GAE9DmB,IAA8BN,EAAY,MAAM;AACpD,IAAIV,KACFA,EAA0BN,EAAS,cAAc;AAAA,EACnD,GACC,CAACM,GAA2BN,CAAQ,CAAC,GAElCuB,IAA2BP,EAAY,MAAM;AAC7C,IAAAT,MAAuBiB,EAAoB,iBAC7ChB,EAAsBgB,EAAoB,cAAc,IAEhCf;EAEzB,GAAA,CAACD,GAAuBC,GAAyBF,CAAkB,CAAC,GAEjEkB,IAAwBT,EAAY,MAAM;AAC1C,IAAAT,MAAuBiB,EAAoB,aAC7ChB,EAAsBgB,EAAoB,UAAU,IAE5Bf;EAEzB,GAAA,CAACD,GAAuBC,GAAyBF,CAAkB,CAAC,GAEjEmB,IAAsBV,EAAY,MAAM;AACxC,IAAAT,MAAuBiB,EAAoB,WAC7ChB,EAAsBgB,EAAoB,QAAQ,IAE1Bf;EAEzB,GAAA,CAACD,GAAuBC,GAAyBF,CAAkB,CAAC,GAEjEoB,IAAwBX,EAAY,MAAM;AAC9C,QAAIX,KAAUL,GAAU;AACtB,YAAM,EAAE,aAAA4B,GAAa,iBAAAC,GAAiB,iBAAAC,EAAA,IAAoB9B;AAEnD,MAAAK,EAAA;AAAA,QACL,YAAYS;AAAA,QACZ,gBAAgB,GAAGc,IAAc,CAAC,GAChCE,IAAkB,IAAI,OAAO,aAAa,KAAoBD,CAAe,IAAI,EACnF;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACC,GAAA,CAACxB,GAAQL,GAAUc,CAAU,CAAC;AAG/B,SAAA,gBAAAiB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAaxC;AAAA,MACb,gBAAe;AAAA,MACf,aAAY;AAAA,MAEX,UAAA;AAAA,QAAAE,EAAM,WACL,gBAAAuC,EAACC,GAAU,EAAA,OAAM,QAAO,UAAUxC,EAAM,UAAU,SAASqB,GACzD,UAAC,gBAAAkB,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,QAC1D,UAAC,gBAAAF,EAAAG,GAAA,EAAqB,WAAW1C,EAAM,UACrC,UAAA,gBAAAqC,EAACM,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAJ,EAACK,GAAU,EAAA,OAAOC,GAAgB,QAAQA,GAAgB;AAAA,UACzD,CAAC7C,EAAM,oBAAoBA,EAAM,iBAAiB,KACjD,gBAAAuC,EAACO,GAAA,EACC,4BAACC,GAAA,EAAmB,WAAU,YAAW,QAAO,SAC7C,UAAA/C,EAAM,eACT,CAAA,GACF;AAAA,UAEDA,EAAM,oBAAqB,gBAAAuC,EAAAS,IAAA,EAAgB,KAAKC,EAAc,YAAY;AAAA,QAAA,GAC7E,EAAA,CACF,EACF,CAAA,GACF;AAAA,QAEDhD,EAAS,WACP,gBAAAsC,EAAAC,GAAA,EAAU,OAAM,YAAW,UAAUvC,EAAS,UAAU,SAAS+B,GAChE,UAAC,gBAAAO,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,YAC1D,4BAACC,GAAA,EAAqB,WAAWzC,EAAS,UACvC,UAAuBY,MAAAiB,EAAoB,WACzC,gBAAAS,EAAAW,GAAA,EAAU,OAAOL,GAAgB,QAAQA,GAAgB,IAE1D,gBAAAN,EAACY,KAAa,OAAON,GAAgB,QAAQA,EAAgB,CAAA,GAEjE,GACF,EACF,CAAA;AAAA,QAED3C,EAAW,WACT,gBAAAqC,EAAAC,GAAA,EAAU,OAAM,gBAAe,SAASP,GACvC,UAAC,gBAAAM,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,QAC1D,UAAC,gBAAAF,EAAAG,GAAA,EACC,UAAC,gBAAAH,EAAAa,GAAA,EAAS,OAAOP,GAAgB,QAAQA,EAAgB,CAAA,EAC3D,CAAA,EACF,CAAA,GACF;AAAA,QAED1C,EAAiB,WACf,gBAAAoC,EAAAC,GAAA,EAAU,OAAM,qBAAoB,SAASZ,GAC5C,UAAC,gBAAAW,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,YAC1D,UAAC,gBAAAF,EAAAG,GAAA,EACC,UAAC,gBAAAH,EAAAc,GAAA,EAAqB,OAAOR,GAAgB,QAAQA,EAAgB,CAAA,EACvE,CAAA,EACF,CAAA,GACF;AAAA,QAEDtC,EAAS,qBACP,gBAAAgC,EAAAC,GAAA,EAAU,OAAM,qBAAoB,SAASxB,GAC5C,UAAC,gBAAAuB,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,cAC1D,UAAC,gBAAAF,EAAAG,GAAA,EACC,UAAC,gBAAAH,EAAAe,GAAA,EAAe,OAAOT,GAAgB,QAAQA,EAAgB,CAAA,EACjE,CAAA,EACF,CAAA,GACF;AAAA,QAEDzC,EAAc,WACb,gBAAAmC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,UAAUpC,EAAc;AAAA,YACxB,SAASyB;AAAA,YAET,UAAA,gBAAAU;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,aAAY;AAAA,gBAEZ,UAAA,gBAAAF,EAACG,GAAA,EAAqB,WAAWtC,EAAc,UAC5C,UAAuBS,MAAAiB,EAAoB,iBAC1C,gBAAAS,EAACW,KAAU,OAAOL,GAAgB,QAAQA,EAAgB,CAAA,IAE1D,gBAAAN,EAACgB,KAAkB,OAAOV,GAAgB,QAAQA,EAAA,CAAgB,EAEtE,CAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,QAEDxC,EAAW,WACV,gBAAAkC,EAACC,GAAU,EAAA,OAAM,8BAA6B,SAAST,GACrD,UAAC,gBAAAQ,EAAAE,GAAA,EAAa,UAAS,OAAM,UAAS,WAAU,aAAY,8BAC1D,4BAACC,GAAA,EACE,UAAA7B,MAAuBiB,EAAoB,aAC1C,gBAAAS,EAACW,GAAU,EAAA,OAAOL,GAAgB,QAAQA,EAAA,CAAgB,IAE1D,gBAAAN,EAACiB,KAAiB,OAAOX,GAAgB,QAAQA,GAAgB,EAAA,CAErE,EACF,CAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
package/dist/index.d.ts CHANGED
@@ -827,6 +827,8 @@ declare const getTabConfig: IGetTabConfig;
827
827
 
828
828
  /* Excluded from this release type: getTabsConfig */
829
829
 
830
+ declare const getTagConfig: IGetTagConfig;
831
+
830
832
  declare const getTextButtonConfig: IGetTextButtonConfig;
831
833
 
832
834
  declare function getTextTypes(multiplier?: number): Record<TTextVariants, ITextConfig>;
@@ -1951,6 +1953,12 @@ declare interface IGetTabsConfig {
1951
1953
  (): Record<TTabsTheme, ITabsThemeConfig>;
1952
1954
  }
1953
1955
 
1956
+ declare interface IGetTagConfig {
1957
+ (): {
1958
+ sizes: Record<TTagSizes, ITagSizeConfig>;
1959
+ };
1960
+ }
1961
+
1954
1962
  declare interface IGetTextButtonConfig {
1955
1963
  (): {
1956
1964
  sizes: Record<TTextButtonSizes, ITextButtonSizeConfig>;
@@ -4579,9 +4587,20 @@ export declare interface ITabVariantConfig {
4579
4587
  }
4580
4588
 
4581
4589
  declare interface ITagProps {
4582
- backgroundColor: TColorNames;
4583
4590
  text: string;
4584
- textColor?: TColorNames;
4591
+ size: TTagSizes;
4592
+ shape?: TTagShapes;
4593
+ }
4594
+
4595
+ export declare interface ITagSizeConfig {
4596
+ fontSize: number;
4597
+ lineHeight: number;
4598
+ paddingHorizontal: number;
4599
+ paddingTop: number;
4600
+ borderRadius: {
4601
+ curved: number;
4602
+ square: number;
4603
+ };
4585
4604
  }
4586
4605
 
4587
4606
  declare interface ITalkMeter {
@@ -4710,6 +4729,7 @@ export declare interface ITheme {
4710
4729
  layout: ReturnType<typeof getLayout>;
4711
4730
  tab: ReturnType<typeof getTabConfig>;
4712
4731
  tabs: ReturnType<typeof getTabsConfig>;
4732
+ tag: ReturnType<typeof getTagConfig>;
4713
4733
  text: ReturnType<typeof getTextTypes>;
4714
4734
  textButton: ReturnType<typeof getTextButtonConfig>;
4715
4735
  zIndex: ReturnType<typeof getZIndexConfig>;
@@ -7631,6 +7651,10 @@ declare type TTabsTheme = 'light' | 'dark';
7631
7651
 
7632
7652
  export declare type TTabVariants = 'primary' | 'secondary';
7633
7653
 
7654
+ export declare type TTagShapes = 'curved' | 'square';
7655
+
7656
+ export declare type TTagSizes = '8px' | '10px' | '12px';
7657
+
7634
7658
  declare type TTestDifficultyLevel = 'EASY' | 'MODERATE' | 'DIFFICULT';
7635
7659
 
7636
7660
  declare type TTestHelpItemsDataProps = {
@@ -7643,7 +7667,7 @@ export declare type TTestType = 'standardized' | 'non-standardized' | 'no-test'
7643
7667
 
7644
7668
  export declare type TTextButtonSizes = 'small' | 'regular' | 'medium';
7645
7669
 
7646
- export declare type TTextVariants = `${'ah1' | 'ah2' | 'ah3' | 'ah4' | 'ab1' | 'ab2' | 'ab3' | 'ab4'}${'' | '-bold' | '-black'}` | `${'ac1' | 'ac2' | 'ac3' | 'ac4' | 'ac5'}${'' | '-black'}` | `${'ub1' | 'ub2' | 'ub3' | 'ub4'}${'' | '-bold'}`;
7670
+ export declare type TTextVariants = `${'ah1' | 'ah2' | 'ah3' | 'ah4' | 'ab1' | 'ab2' | 'ab3'}${'' | '-bold' | '-black'}` | `${'ac1' | 'ac2' | 'ac3' | 'ac4' | 'ac5'}${'' | '-black'}` | `${'ub1' | 'ub2' | 'ub3' | 'ub4'}${'' | '-bold'}`;
7647
7671
 
7648
7672
  declare type TTimeUnit = 'hours' | 'minutes' | 'days';
7649
7673
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"