@cuemath/leap 3.2.15 → 3.2.16-as1

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 (98) hide show
  1. package/dist/features/puzzles/app/puzzle-app.js +73 -53
  2. package/dist/features/puzzles/app/puzzle-app.js.map +1 -1
  3. package/dist/features/ui/inputs/base-select-input/base-select-input.js +57 -55
  4. package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
  5. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  6. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  7. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +5 -5
  8. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  9. package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
  10. package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
  11. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js +38 -0
  12. package/dist/features/worksheet/worksheet/mocks/behaviors/assessment.js.map +1 -0
  13. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js +38 -0
  14. package/dist/features/worksheet/worksheet/mocks/behaviors/chapter_assessment.js.map +1 -0
  15. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js +38 -0
  16. package/dist/features/worksheet/worksheet/mocks/behaviors/diagnostic.js.map +1 -0
  17. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js +38 -0
  18. package/dist/features/worksheet/worksheet/mocks/behaviors/dynamic.js.map +1 -0
  19. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js +38 -0
  20. package/dist/features/worksheet/worksheet/mocks/behaviors/extra_practice.js.map +1 -0
  21. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js +95 -0
  22. package/dist/features/worksheet/worksheet/mocks/behaviors/index.js.map +1 -0
  23. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js +38 -0
  24. package/dist/features/worksheet/worksheet/mocks/behaviors/learning-v3.js.map +1 -0
  25. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js +38 -0
  26. package/dist/features/worksheet/worksheet/mocks/behaviors/learning.js.map +1 -0
  27. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js +38 -0
  28. package/dist/features/worksheet/worksheet/mocks/behaviors/legacy.js.map +1 -0
  29. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js +38 -0
  30. package/dist/features/worksheet/worksheet/mocks/behaviors/level2.js.map +1 -0
  31. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js +38 -0
  32. package/dist/features/worksheet/worksheet/mocks/behaviors/level3.js.map +1 -0
  33. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js +41 -0
  34. package/dist/features/worksheet/worksheet/mocks/behaviors/mastery.js.map +1 -0
  35. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js +38 -0
  36. package/dist/features/worksheet/worksheet/mocks/behaviors/practice.js.map +1 -0
  37. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js +39 -0
  38. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle-card.js.map +1 -0
  39. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js +39 -0
  40. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_easy.js.map +1 -0
  41. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js +39 -0
  42. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_hard.js.map +1 -0
  43. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js +39 -0
  44. package/dist/features/worksheet/worksheet/mocks/behaviors/puzzle_medium.js.map +1 -0
  45. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js +39 -0
  46. package/dist/features/worksheet/worksheet/mocks/behaviors/recap.js.map +1 -0
  47. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js +39 -0
  48. package/dist/features/worksheet/worksheet/mocks/behaviors/remedial.js.map +1 -0
  49. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js +38 -0
  50. package/dist/features/worksheet/worksheet/mocks/behaviors/revision.js.map +1 -0
  51. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js +38 -0
  52. package/dist/features/worksheet/worksheet/mocks/behaviors/sat-math-assessment.js.map +1 -0
  53. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js +38 -0
  54. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_english_learning.js.map +1 -0
  55. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js +38 -0
  56. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_learning.js.map +1 -0
  57. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js +39 -0
  58. package/dist/features/worksheet/worksheet/mocks/behaviors/sat_math_recap.js.map +1 -0
  59. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js +38 -0
  60. package/dist/features/worksheet/worksheet/mocks/behaviors/target_practice.js.map +1 -0
  61. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js +38 -0
  62. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic-v2.js.map +1 -0
  63. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js +38 -0
  64. package/dist/features/worksheet/worksheet/mocks/behaviors/trial-diagnostic.js.map +1 -0
  65. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js +38 -0
  66. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_assessment.js.map +1 -0
  67. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js +38 -0
  68. package/dist/features/worksheet/worksheet/mocks/behaviors/turing_practice.js.map +1 -0
  69. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
  70. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
  71. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
  72. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
  73. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +231 -0
  74. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
  75. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +174 -0
  76. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
  77. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +255 -0
  78. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  79. package/dist/features/worksheet/worksheet/worksheet-helpers.js +32 -31
  80. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  81. package/dist/index.d.ts +1 -21
  82. package/dist/index.js +422 -434
  83. package/dist/index.js.map +1 -1
  84. package/dist/types/models/worksheet.js +5 -0
  85. package/dist/types/models/worksheet.js.map +1 -0
  86. package/package.json +1 -1
  87. package/dist/assets/line-icons/icons/cue-board-filled.js +0 -33
  88. package/dist/assets/line-icons/icons/cue-board-filled.js.map +0 -1
  89. package/dist/assets/line-icons/icons/cue-board.js +0 -23
  90. package/dist/assets/line-icons/icons/cue-board.js.map +0 -1
  91. package/dist/assets/line-icons/icons/screen-grab-filled.js +0 -35
  92. package/dist/assets/line-icons/icons/screen-grab-filled.js.map +0 -1
  93. package/dist/assets/line-icons/icons/screen-grab.js +0 -23
  94. package/dist/assets/line-icons/icons/screen-grab.js.map +0 -1
  95. package/dist/assets/line-icons/icons/sticker-filled.js +0 -64
  96. package/dist/assets/line-icons/icons/sticker-filled.js.map +0 -1
  97. package/dist/assets/line-icons/icons/sticker.js +0 -46
  98. package/dist/assets/line-icons/icons/sticker.js.map +0 -1
@@ -1,62 +1,82 @@
1
- import { jsx as e, jsxs as o, Fragment as W } from "react/jsx-runtime";
2
- import { memo as v, useState as h, useRef as P, useCallback as n, useEffect as R } from "react";
3
- import y from "../../ui/error/error.js";
4
- import d from "../../ui/layout/flex-view.js";
5
- import F from "../../ui/loader/app-loader/app-loader.js";
6
- import p from "../../ui/text/text.js";
7
- import { usePreviewWorksheetGet as I } from "../../worksheet/worksheet-preview/api/get-preview-worksheet.js";
8
- import { PuzzleAppWrapper as L, StyledFeedbackText as T, StyledHintFillIcon as D } from "./puzzle-app-styled.js";
9
- import G from "./puzzle-app-view.js";
10
- const S = ({ itemRef: s, title: m, imageHue: i, feedbackComments: l, tip: f }) => {
11
- const [u, g] = h(), [r, $] = h(!1), { isProcessing: k, get: a, data: c, error: w } = I(), z = P(() => null), A = f || "Celebrate persistence more than correct answers - it's a life skill worth building.", t = n(() => {
12
- a("test", {
1
+ import { jsx as e, jsxs as s, Fragment as z } from "react/jsx-runtime";
2
+ import { memo as S, useState as p, useRef as v, useCallback as a, useEffect as x } from "react";
3
+ import { ErrorBoundary as T } from "react-error-boundary";
4
+ import f from "../../ui/error/error.js";
5
+ import g from "../../ui/layout/flex-view.js";
6
+ import W from "../../ui/loader/app-loader/app-loader.js";
7
+ import u from "../../ui/text/text.js";
8
+ import _ from "../../worksheet/learnosity-preloader/learnosity-preloader.js";
9
+ import { usePreviewWorksheetGet as U } from "../../worksheet/worksheet-preview/api/get-preview-worksheet.js";
10
+ import { LEARNOSITY_QUESTIONS_API as y, LEARNOSITY_QUESTIONS_API_FALLBACK as C } from "../../worksheet/worksheet/stories/worksheet-story-container.js";
11
+ import { PuzzleAppWrapper as F, StyledFeedbackText as N, StyledHintFillIcon as O } from "./puzzle-app-styled.js";
12
+ import B from "./puzzle-app-view.js";
13
+ const D = (r) => {
14
+ console.log("Worksheet Logger:", r);
15
+ }, G = () => {
16
+ const r = new URLSearchParams(window.location.search), t = r.get("itemRef") || "", k = r.get("title") || "", l = r.get("imageHue") || "BLUE", c = r.get("feedbackComments") || void 0, A = r.get("tip") || void 0, [$, m] = p(), [o, b] = p(!1), { isProcessing: E, get: d, data: h, error: L } = U(), w = v(() => null), R = A || "Celebrate persistence more than correct answers - it's a life skill worth building.", n = a(() => {
17
+ d("test", {
13
18
  action: "review",
14
19
  node_type: "PUZZLE_CARD",
15
- items: [s]
20
+ items: [t]
16
21
  });
17
- }, [a, s]);
18
- R(() => {
19
- t();
20
- }, [t]);
21
- const b = n((E) => {
22
- g(E.message);
23
- }, []), x = n(() => {
24
- $(!0);
22
+ }, [d, t]);
23
+ x(() => {
24
+ n();
25
+ }, [n]);
26
+ const P = a((i) => {
27
+ m(i.message);
28
+ }, []), I = a(() => {
29
+ b(!0);
25
30
  }, []);
26
- return u || w ? /* @__PURE__ */ e(y, { height: "100vh", onTryAgain: t }) : k ? /* @__PURE__ */ e(F, { height: "100vh" }) : /* @__PURE__ */ o(
27
- L,
31
+ return t ? $ || L ? /* @__PURE__ */ e(f, { height: "100vh", onTryAgain: n }) : E ? /* @__PURE__ */ e(W, { height: "100vh" }) : /* @__PURE__ */ e(
32
+ T,
28
33
  {
29
- className: "puzzle-app-container",
30
- $background: `${i}_2`,
31
- $alignItems: "center",
32
- $flexGapX: 1,
33
- $gutterX: 1,
34
- $visible: r,
35
- $height: "100vh",
36
- children: [
37
- r && /* @__PURE__ */ e(p, { $renderAs: "ab1-bold", children: m }),
38
- c && /* @__PURE__ */ e(
39
- G,
40
- {
41
- onWorksheetErrored: b,
42
- worksheetData: c,
43
- loggerRef: z,
44
- imageHue: i,
45
- onLoaded: x
46
- }
47
- ),
48
- r && /* @__PURE__ */ e(W, { children: l ? /* @__PURE__ */ o(T, { $renderAs: "ab2", children: [
49
- /* @__PURE__ */ e("span", { children: "Tutor Remark:" }),
50
- l
51
- ] }) : /* @__PURE__ */ o(d, { $flexDirection: "row", $alignItems: "center", $flexGap: 8, children: [
52
- /* @__PURE__ */ e(d, { $width: 24, $height: 24, children: /* @__PURE__ */ e(D, {}) }),
53
- /* @__PURE__ */ e(p, { $renderAs: "ab2", children: A })
54
- ] }) })
55
- ]
34
+ fallback: /* @__PURE__ */ e(f, { height: "100vh" }),
35
+ onError: (i) => m(i.message),
36
+ children: /* @__PURE__ */ e(
37
+ _,
38
+ {
39
+ apiURL: y,
40
+ fallbackAPIURL: C,
41
+ logger: D,
42
+ children: /* @__PURE__ */ s(
43
+ F,
44
+ {
45
+ className: "puzzle-app-container",
46
+ $background: `${l}_2`,
47
+ $alignItems: "center",
48
+ $flexGapX: 1,
49
+ $gutterX: 1,
50
+ $visible: o,
51
+ $height: "100vh",
52
+ children: [
53
+ o && /* @__PURE__ */ e(u, { $renderAs: "ab1-bold", children: k }),
54
+ h && /* @__PURE__ */ e(
55
+ B,
56
+ {
57
+ onWorksheetErrored: P,
58
+ worksheetData: h,
59
+ loggerRef: w,
60
+ imageHue: l,
61
+ onLoaded: I
62
+ }
63
+ ),
64
+ o && /* @__PURE__ */ e(z, { children: c ? /* @__PURE__ */ s(N, { $renderAs: "ab2", children: [
65
+ /* @__PURE__ */ e("span", { children: "Tutor Remark:" }),
66
+ c
67
+ ] }) : /* @__PURE__ */ s(g, { $flexDirection: "row", $alignItems: "center", $flexGap: 8, children: [
68
+ /* @__PURE__ */ e(g, { $width: 24, $height: 24, children: /* @__PURE__ */ e(O, {}) }),
69
+ /* @__PURE__ */ e(u, { $renderAs: "ab2", children: R })
70
+ ] }) })
71
+ ]
72
+ }
73
+ )
74
+ }
75
+ )
56
76
  }
57
- );
58
- }, B = v(S);
77
+ ) : null;
78
+ }, re = S(G);
59
79
  export {
60
- B as default
80
+ re as default
61
81
  };
62
82
  //# sourceMappingURL=puzzle-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puzzle-app.js","sources":["../../../../src/features/puzzles/app/puzzle-app.tsx"],"sourcesContent":["import type { IPuzzleAppProps } from './puzzle-app-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\n\nimport Error from '../../ui/error/error';\nimport FlexView from '../../ui/layout/flex-view';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport Text from '../../ui/text/text';\nimport { usePreviewWorksheetGet } from '../../worksheet/worksheet-preview/api/get-preview-worksheet';\nimport * as Styled from './puzzle-app-styled';\nimport PuzzleAppView from './puzzle-app-view';\n\nconst PuzzleApp: FC<IPuzzleAppProps> = ({ itemRef, title, imageHue, feedbackComments, tip }) => {\n const [error, setError] = useState<string>();\n const [worksheetRendered, setWorksheetRendered] = useState<boolean>(false);\n\n const { isProcessing, get, data: worksheetData, error: fetchError } = usePreviewWorksheetGet();\n const loggerRef = useRef(() => null);\n\n const tipInfo =\n tip || `Celebrate persistence more than correct answers - it's a life skill worth building.`;\n\n const fetchWorksheet = useCallback(() => {\n get('test', {\n action: 'review',\n node_type: 'PUZZLE_CARD',\n items: [itemRef],\n });\n }, [get, itemRef]);\n\n useEffect(() => {\n fetchWorksheet();\n }, [fetchWorksheet]);\n\n const handleWorksheetErrored = useCallback((err: { code?: number; message: string }) => {\n setError(err.message);\n }, []);\n\n const handleWorksheetLoaded = useCallback(() => {\n setWorksheetRendered(true);\n }, []);\n\n if (error || fetchError) {\n return <Error height=\"100vh\" onTryAgain={fetchWorksheet} />;\n }\n\n if (isProcessing) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <Styled.PuzzleAppWrapper\n className=\"puzzle-app-container\"\n $background={`${imageHue}_2`}\n $alignItems=\"center\"\n $flexGapX={1}\n $gutterX={1}\n $visible={worksheetRendered}\n $height=\"100vh\"\n >\n {worksheetRendered && <Text $renderAs=\"ab1-bold\">{title}</Text>}\n\n {worksheetData && (\n <PuzzleAppView\n onWorksheetErrored={handleWorksheetErrored}\n worksheetData={worksheetData}\n loggerRef={loggerRef}\n imageHue={imageHue}\n onLoaded={handleWorksheetLoaded}\n />\n )}\n\n {worksheetRendered && (\n <>\n {feedbackComments ? (\n <Styled.StyledFeedbackText $renderAs=\"ab2\">\n <span>Tutor Remark:</span>\n {feedbackComments}\n </Styled.StyledFeedbackText>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={8}>\n <FlexView $width={24} $height={24}>\n <Styled.StyledHintFillIcon />\n </FlexView>\n <Text $renderAs=\"ab2\">{tipInfo}</Text>\n </FlexView>\n )}\n </>\n )}\n </Styled.PuzzleAppWrapper>\n );\n};\n\nexport default memo(PuzzleApp);\n"],"names":["PuzzleApp","itemRef","title","imageHue","feedbackComments","tip","error","setError","useState","worksheetRendered","setWorksheetRendered","isProcessing","get","worksheetData","fetchError","usePreviewWorksheetGet","loggerRef","useRef","tipInfo","fetchWorksheet","useCallback","useEffect","handleWorksheetErrored","err","handleWorksheetLoaded","jsx","Error","AppLoader","jsxs","Styled.PuzzleAppWrapper","Text","PuzzleAppView","Styled.StyledFeedbackText","FlexView","Styled.StyledHintFillIcon","puzzleApp","memo"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAiC,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,UAAAC,GAAU,kBAAAC,GAAkB,KAAAC,QAAU;AAC9F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiB,GACrC,CAACC,GAAmBC,CAAoB,IAAIF,EAAkB,EAAK,GAEnE,EAAE,cAAAG,GAAc,KAAAC,GAAK,MAAMC,GAAe,OAAOC,MAAeC,KAChEC,IAAYC,EAAO,MAAM,IAAI,GAE7BC,IACJb,KAAO,uFAEHc,IAAiBC,EAAY,MAAM;AACvC,IAAAR,EAAI,QAAQ;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO,CAACX,CAAO;AAAA,IAAA,CAChB;AAAA,EAAA,GACA,CAACW,GAAKX,CAAO,CAAC;AAEjB,EAAAoB,EAAU,MAAM;AACC,IAAAF;EAAA,GACd,CAACA,CAAc,CAAC;AAEb,QAAAG,IAAyBF,EAAY,CAACG,MAA4C;AACtF,IAAAhB,EAASgB,EAAI,OAAO;AAAA,EACtB,GAAG,CAAE,CAAA,GAECC,IAAwBJ,EAAY,MAAM;AAC9C,IAAAV,EAAqB,EAAI;AAAA,EAC3B,GAAG,CAAE,CAAA;AAEL,SAAIJ,KAASQ,IACH,gBAAAW,EAAAC,GAAA,EAAM,QAAO,SAAQ,YAAYP,EAAgB,CAAA,IAGvDR,IACK,gBAAAc,EAACE,GAAU,EAAA,QAAO,QAAQ,CAAA,IAIjC,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,aAAa,GAAG1B,CAAQ;AAAA,MACxB,aAAY;AAAA,MACZ,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAUM;AAAA,MACV,SAAQ;AAAA,MAEP,UAAA;AAAA,QAAAA,KAAsB,gBAAAgB,EAAAK,GAAA,EAAK,WAAU,YAAY,UAAM5B,GAAA;AAAA,QAEvDW,KACC,gBAAAY;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,oBAAoBT;AAAA,YACpB,eAAAT;AAAA,YACA,WAAAG;AAAA,YACA,UAAAb;AAAA,YACA,UAAUqB;AAAA,UAAA;AAAA,QACZ;AAAA,QAGDf,4BAEI,UACCL,IAAA,gBAAAwB,EAACI,GAAA,EAA0B,WAAU,OACnC,UAAA;AAAA,UAAA,gBAAAP,EAAC,UAAK,UAAa,gBAAA,CAAA;AAAA,UAClBrB;AAAA,QACH,EAAA,CAAA,sBAEC6B,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,UAAU,GAC5D,UAAA;AAAA,UAAC,gBAAAR,EAAAQ,GAAA,EAAS,QAAQ,IAAI,SAAS,IAC7B,UAAC,gBAAAR,EAAAS,GAAA,CAAA,CAA0B,EAC7B,CAAA;AAAA,UACC,gBAAAT,EAAAK,GAAA,EAAK,WAAU,OAAO,UAAQZ,GAAA;AAAA,QAAA,EAAA,CACjC,EAEJ,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GAEeiB,IAAAC,EAAKpC,CAAS;"}
1
+ {"version":3,"file":"puzzle-app.js","sources":["../../../../src/features/puzzles/app/puzzle-app.tsx"],"sourcesContent":["import type { THueNames } from '../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useRef, useState } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport Error from '../../ui/error/error';\nimport FlexView from '../../ui/layout/flex-view';\nimport AppLoader from '../../ui/loader/app-loader/app-loader';\nimport Text from '../../ui/text/text';\nimport LearnosityPreloader from '../../worksheet/learnosity-preloader/learnosity-preloader';\nimport { usePreviewWorksheetGet } from '../../worksheet/worksheet-preview/api/get-preview-worksheet';\nimport {\n LEARNOSITY_QUESTIONS_API,\n LEARNOSITY_QUESTIONS_API_FALLBACK,\n} from '../../worksheet/worksheet/stories/worksheet-story-container';\nimport * as Styled from './puzzle-app-styled';\nimport PuzzleAppView from './puzzle-app-view';\n\nconst logger = (eventName: string) => {\n // eslint-disable-next-line no-console\n console.log('Worksheet Logger:', eventName);\n};\n\nconst PuzzleApp: FC = () => {\n // Extract props from URL search parameters\n const urlParams = new URLSearchParams(window.location.search);\n const itemRef = urlParams.get('itemRef') || '';\n const title = urlParams.get('title') || '';\n const imageHue = (urlParams.get('imageHue') || 'BLUE') as THueNames;\n const feedbackComments = urlParams.get('feedbackComments') || undefined;\n const tip = urlParams.get('tip') || undefined;\n\n const [error, setError] = useState<string>();\n const [worksheetRendered, setWorksheetRendered] = useState<boolean>(false);\n\n const { isProcessing, get, data: worksheetData, error: fetchError } = usePreviewWorksheetGet();\n const loggerRef = useRef(() => null);\n\n const tipInfo =\n tip || `Celebrate persistence more than correct answers - it's a life skill worth building.`;\n\n const fetchWorksheet = useCallback(() => {\n get('test', {\n action: 'review',\n node_type: 'PUZZLE_CARD',\n items: [itemRef],\n });\n }, [get, itemRef]);\n\n useEffect(() => {\n fetchWorksheet();\n }, [fetchWorksheet]);\n\n const handleWorksheetErrored = useCallback((err: { code?: number; message: string }) => {\n setError(err.message);\n }, []);\n\n const handleWorksheetLoaded = useCallback(() => {\n setWorksheetRendered(true);\n }, []);\n\n if (!itemRef) return null;\n\n if (error || fetchError) {\n return <Error height=\"100vh\" onTryAgain={fetchWorksheet} />;\n }\n\n if (isProcessing) {\n return <AppLoader height=\"100vh\" />;\n }\n\n return (\n <ErrorBoundary\n fallback={<Error height=\"100vh\" />}\n onError={errorInfo => setError(errorInfo.message)}\n >\n <LearnosityPreloader\n apiURL={LEARNOSITY_QUESTIONS_API}\n fallbackAPIURL={LEARNOSITY_QUESTIONS_API_FALLBACK}\n logger={logger}\n >\n <Styled.PuzzleAppWrapper\n className=\"puzzle-app-container\"\n $background={`${imageHue}_2`}\n $alignItems=\"center\"\n $flexGapX={1}\n $gutterX={1}\n $visible={worksheetRendered}\n $height=\"100vh\"\n >\n {worksheetRendered && <Text $renderAs=\"ab1-bold\">{title}</Text>}\n\n {worksheetData && (\n <PuzzleAppView\n onWorksheetErrored={handleWorksheetErrored}\n worksheetData={worksheetData}\n loggerRef={loggerRef}\n imageHue={imageHue}\n onLoaded={handleWorksheetLoaded}\n />\n )}\n\n {worksheetRendered && (\n <>\n {feedbackComments ? (\n <Styled.StyledFeedbackText $renderAs=\"ab2\">\n <span>Tutor Remark:</span>\n {feedbackComments}\n </Styled.StyledFeedbackText>\n ) : (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={8}>\n <FlexView $width={24} $height={24}>\n <Styled.StyledHintFillIcon />\n </FlexView>\n <Text $renderAs=\"ab2\">{tipInfo}</Text>\n </FlexView>\n )}\n </>\n )}\n </Styled.PuzzleAppWrapper>\n </LearnosityPreloader>\n </ErrorBoundary>\n );\n};\n\nexport default memo(PuzzleApp);\n"],"names":["logger","eventName","PuzzleApp","urlParams","itemRef","title","imageHue","feedbackComments","tip","error","setError","useState","worksheetRendered","setWorksheetRendered","isProcessing","get","worksheetData","fetchError","usePreviewWorksheetGet","loggerRef","useRef","tipInfo","fetchWorksheet","useCallback","useEffect","handleWorksheetErrored","err","handleWorksheetLoaded","jsx","Error","AppLoader","ErrorBoundary","errorInfo","LearnosityPreloader","LEARNOSITY_QUESTIONS_API","LEARNOSITY_QUESTIONS_API_FALLBACK","jsxs","Styled.PuzzleAppWrapper","Text","PuzzleAppView","Styled.StyledFeedbackText","FlexView","Styled.StyledHintFillIcon","puzzleApp","memo"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { jsxs as k, jsx as t } from "react/jsx-runtime";
2
- import { useMemo as W, useRef as T, useCallback as d } from "react";
1
+ import { jsxs as k, jsx as o } from "react/jsx-runtime";
2
+ import { useMemo as W, useRef as T, useCallback as c } from "react";
3
3
  import X from "../../../../assets/line-icons/icons/cross.js";
4
4
  import H from "../../hooks/use-context-menu-click-handler.js";
5
5
  import q from "../base-input/base-input.js";
@@ -10,106 +10,108 @@ import Y from "./select-section/select-section.js";
10
10
  const ae = (y) => {
11
11
  const {
12
12
  label: C,
13
- value: r,
14
- options: u,
15
- searchable: n = !1,
16
- searchText: g,
13
+ value: s,
14
+ options: d,
15
+ searchable: t = !1,
16
+ searchText: b,
17
17
  onCloseWithoutSelection: V,
18
- onSearchTextChange: o,
19
- onChange: b,
20
- renderAs: h,
18
+ onSearchTextChange: r,
19
+ onChange: g,
20
+ renderAs: u,
21
21
  width: A,
22
22
  widthX: E,
23
- disabled: p,
24
- willShowMessage: R,
25
- mandatory: j,
23
+ disabled: h,
24
+ willShowMessage: L,
25
+ mandatory: R,
26
26
  size: v = "regular",
27
27
  shape: m,
28
- theme: f = "light",
28
+ theme: p = "light",
29
29
  isTransparent: w = !1,
30
30
  renderOptionsAs: $ = "list",
31
- errorMessage: z
32
- } = y, i = $ === "section-list" && u, s = $ === "list" && u, I = W(() => {
33
- var e, c;
34
- if (n) return g;
35
- if (i)
36
- return (e = i.flatMap((l) => l.data).find(({ id: l }) => l === r)) == null ? void 0 : e.label;
37
- if (s) return (c = s.find((l) => l.id === r)) == null ? void 0 : c.label;
38
- }, [n, g, i, s, r]), S = T(null), x = T(null), { menuVisible: a, onMenuClick: B, hideMenu: M } = H(
31
+ errorMessage: j
32
+ } = y, i = $ === "section-list" && d, l = $ === "list" && d, I = W(() => {
33
+ var e;
34
+ if (t) return b;
35
+ if (i) {
36
+ const n = i.flatMap((f) => f.data).find(({ id: f }) => f === s);
37
+ return n != null && n.inputLabel ? n.inputLabel || "" : (n == null ? void 0 : n.label) || "";
38
+ }
39
+ if (l) return (e = l.find((n) => n.id === s)) == null ? void 0 : e.label;
40
+ }, [t, b, i, l, s]), S = T(null), x = T(null), { menuVisible: a, onMenuClick: z, hideMenu: M } = H(
39
41
  S,
40
42
  void 0,
41
- !n,
43
+ !t,
42
44
  V,
43
- p
44
- ), D = d(
45
+ h
46
+ ), B = c(
45
47
  (e) => {
46
- n && o && o(e.target.value);
48
+ t && r && r(e.target.value);
47
49
  },
48
- [o, n]
49
- ), O = d(
50
- (e, c) => {
51
- M(), b(e, c);
50
+ [r, t]
51
+ ), O = c(
52
+ (e, n) => {
53
+ M(), g(e, n);
52
54
  },
53
- [M, b]
54
- ), F = d((e) => {
55
+ [M, g]
56
+ ), D = c((e) => {
55
57
  e.target.select(), setTimeout(() => {
56
58
  e.target.scrollIntoView({
57
59
  behavior: "smooth"
58
60
  });
59
61
  }, 300);
60
- }, []), L = d(() => {
62
+ }, []), F = c(() => {
61
63
  var e;
62
- o && (o(""), (e = x.current) == null || e.focus());
63
- }, [o]);
64
- return /* @__PURE__ */ k(J, { ref: S, $width: A, $widthX: E, onClick: B, children: [
65
- /* @__PURE__ */ t(
64
+ r && (r(""), (e = x.current) == null || e.focus());
65
+ }, [r]);
66
+ return /* @__PURE__ */ k(J, { ref: S, $width: A, $widthX: E, onClick: z, children: [
67
+ /* @__PURE__ */ o(
66
68
  q,
67
69
  {
68
- renderAs: h,
70
+ renderAs: u,
69
71
  label: C,
70
72
  stickyLabel: !0,
71
- disabled: p,
72
- willShowMessage: R,
73
+ disabled: h,
74
+ willShowMessage: L,
73
75
  size: v,
74
- mandatory: j,
76
+ mandatory: R,
75
77
  shape: m,
76
78
  isTransparent: w,
77
- inputElement: /* @__PURE__ */ t(
79
+ inputElement: /* @__PURE__ */ o(
78
80
  G,
79
81
  {
80
82
  ref: x,
81
- $renderAs: h,
83
+ $renderAs: u,
82
84
  $size: v,
83
85
  placeholder: I ? "" : C,
84
- disabled: p,
85
- readOnly: !n,
86
+ disabled: h,
87
+ readOnly: !t,
86
88
  value: I ?? "",
87
- onFocus: n ? F : void 0,
88
- onChange: n ? D : void 0,
89
+ onFocus: t ? D : void 0,
90
+ onChange: t ? B : void 0,
89
91
  $isTransparent: w
90
92
  }
91
93
  ),
92
- siblingElement: n && a ? /* @__PURE__ */ t(X, { onClick: L }) : m === "curved" || m === "borderLess" ? /* @__PURE__ */ t(P, { $menuVisible: a, pointerEvents: "none" }) : /* @__PURE__ */ t(Q, { $menuVisible: a, pointerEvents: "none" }),
93
- errorMessage: z
94
+ siblingElement: t && a ? /* @__PURE__ */ o(X, { onClick: F }) : m === "curved" || m === "borderLess" ? /* @__PURE__ */ o(P, { $menuVisible: a, pointerEvents: "none" }) : /* @__PURE__ */ o(Q, { $menuVisible: a, pointerEvents: "none" }),
95
+ errorMessage: j
94
96
  }
95
97
  ),
96
- u.length > 0 && /* @__PURE__ */ t(K, { $visible: a, children: /* @__PURE__ */ k(N, { $renderAs: h, $theme: f, children: [
97
- i && /* @__PURE__ */ t(
98
+ d.length > 0 && /* @__PURE__ */ o(K, { $visible: a, children: /* @__PURE__ */ k(N, { $renderAs: u, $theme: p, children: [
99
+ i && /* @__PURE__ */ o(
98
100
  Y,
99
101
  {
100
102
  sectionOptions: i,
101
- theme: f,
102
- value: r,
103
+ theme: p,
104
+ value: s,
103
105
  onChange: O
104
106
  }
105
107
  ),
106
- s && s.map((e) => /* @__PURE__ */ t(
108
+ l && l.map((e) => /* @__PURE__ */ o(
107
109
  U,
108
110
  {
109
111
  option: e,
110
- selected: e.id === r,
112
+ selected: e.id === s,
111
113
  onChange: O,
112
- theme: f
114
+ theme: p
113
115
  },
114
116
  e.id
115
117
  ))
@@ -1 +1 @@
1
- {"version":3,"file":"base-select-input.js","sources":["../../../../../src/features/ui/inputs/base-select-input/base-select-input.tsx"],"sourcesContent":["import type { ISectionOption } from '../../section-list/section-list-types';\nimport type { IBaseSelectInputProps, ISelectOption } from './base-select-input-types';\nimport type { ChangeEvent, FocusEvent, ReactElement } from 'react';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport useContextMenuClickHandler from '../../hooks/use-context-menu-click-handler';\nimport BaseInput from '../base-input/base-input';\nimport { Input } from '../text-input/text-input-styled';\nimport * as Styled from './base-select-input-styled';\nimport SelectOption from './select-option/select-option';\nimport SelectSection from './select-section/select-section';\n\nconst BaseSelectInput = <IDType extends string | number>(\n props: IBaseSelectInputProps<IDType>,\n): ReactElement => {\n const {\n label,\n value,\n options,\n searchable = false,\n searchText,\n onCloseWithoutSelection,\n onSearchTextChange,\n onChange,\n renderAs,\n width,\n widthX,\n disabled,\n willShowMessage,\n mandatory,\n size = 'regular',\n shape,\n theme = 'light',\n isTransparent = false,\n renderOptionsAs = 'list',\n errorMessage,\n } = props;\n\n const sectionOptions =\n renderOptionsAs === 'section-list' && (options as ISectionOption<ISelectOption<IDType>>[]);\n const selectOptions = renderOptionsAs === 'list' && (options as ISelectOption<IDType>[]);\n\n const inputValue = useMemo(() => {\n if (searchable) return searchText;\n\n if (sectionOptions) {\n return sectionOptions.flatMap(section => section.data).find(({ id }) => id === value)\n ?.label as string;\n }\n\n if (selectOptions) return selectOptions.find(option => option.id === value)?.label;\n }, [searchable, searchText, sectionOptions, selectOptions, value]);\n\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const inputRef = useRef<HTMLInputElement>(null) as React.RefObject<HTMLInputElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(\n containerRef,\n undefined,\n !searchable,\n onCloseWithoutSelection,\n disabled,\n );\n\n const handleTextChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (searchable && onSearchTextChange) {\n onSearchTextChange(e.target.value);\n }\n },\n [onSearchTextChange, searchable],\n );\n\n const handleChange = useCallback<IBaseSelectInputProps<IDType>['onChange']>(\n (id, option) => {\n hideMenu();\n onChange(id, option);\n },\n [hideMenu, onChange],\n );\n\n const handleFocus = useCallback((e: FocusEvent<HTMLInputElement>) => {\n e.target.select();\n setTimeout(() => {\n e.target.scrollIntoView({\n behavior: 'smooth',\n });\n }, 300);\n }, []);\n\n const handleClear = useCallback(() => {\n if (onSearchTextChange) {\n onSearchTextChange('');\n inputRef.current?.focus();\n }\n }, [onSearchTextChange]);\n\n const downIcon =\n shape === 'curved' || shape === 'borderLess' ? (\n <Styled.StyledChevronDownIcon $menuVisible={menuVisible} pointerEvents=\"none\" />\n ) : (\n <Styled.StyledDownIcon $menuVisible={menuVisible} pointerEvents=\"none\" />\n );\n\n return (\n <Styled.Container ref={containerRef} $width={width} $widthX={widthX} onClick={onMenuClick}>\n <BaseInput\n renderAs={renderAs}\n label={label}\n stickyLabel={true}\n disabled={disabled}\n willShowMessage={willShowMessage}\n size={size}\n mandatory={mandatory}\n shape={shape}\n isTransparent={isTransparent}\n inputElement={\n <Input\n ref={inputRef}\n $renderAs={renderAs}\n $size={size}\n placeholder={inputValue ? '' : label}\n disabled={disabled}\n readOnly={!searchable}\n value={inputValue ?? ''}\n onFocus={searchable ? handleFocus : undefined}\n onChange={searchable ? handleTextChange : undefined}\n $isTransparent={isTransparent}\n />\n }\n siblingElement={searchable && menuVisible ? <CrossIcon onClick={handleClear} /> : downIcon}\n errorMessage={errorMessage}\n />\n\n {options.length > 0 && (\n <Styled.OptionsContainer $visible={menuVisible}>\n <Styled.OptionsWrapper $renderAs={renderAs} $theme={theme}>\n {sectionOptions && (\n <SelectSection<IDType>\n sectionOptions={sectionOptions}\n theme={theme}\n value={value}\n onChange={handleChange}\n />\n )}\n\n {selectOptions &&\n selectOptions.map(option => (\n <SelectOption<IDType>\n key={option.id}\n option={option}\n selected={option.id === value}\n onChange={handleChange}\n theme={theme}\n />\n ))}\n </Styled.OptionsWrapper>\n </Styled.OptionsContainer>\n )}\n </Styled.Container>\n );\n};\n\nexport default BaseSelectInput;\n"],"names":["BaseSelectInput","props","label","value","options","searchable","searchText","onCloseWithoutSelection","onSearchTextChange","onChange","renderAs","width","widthX","disabled","willShowMessage","mandatory","size","shape","theme","isTransparent","renderOptionsAs","errorMessage","sectionOptions","selectOptions","inputValue","useMemo","_a","section","id","_b","option","containerRef","useRef","inputRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","handleTextChange","useCallback","handleChange","handleFocus","handleClear","jsxs","Styled.Container","jsx","BaseInput","Input","CrossIcon","Styled.StyledChevronDownIcon","Styled.StyledDownIcon","Styled.OptionsContainer","Styled.OptionsWrapper","SelectSection","SelectOption"],"mappings":"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"}
1
+ {"version":3,"file":"base-select-input.js","sources":["../../../../../src/features/ui/inputs/base-select-input/base-select-input.tsx"],"sourcesContent":["import type { ISectionOption } from '../../section-list/section-list-types';\nimport type { IBaseSelectInputProps, ISelectOption } from './base-select-input-types';\nimport type { ChangeEvent, FocusEvent, ReactElement } from 'react';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport CrossIcon from '../../../../assets/line-icons/icons/cross';\nimport useContextMenuClickHandler from '../../hooks/use-context-menu-click-handler';\nimport BaseInput from '../base-input/base-input';\nimport { Input } from '../text-input/text-input-styled';\nimport * as Styled from './base-select-input-styled';\nimport SelectOption from './select-option/select-option';\nimport SelectSection from './select-section/select-section';\n\nconst BaseSelectInput = <IDType extends string | number>(\n props: IBaseSelectInputProps<IDType>,\n): ReactElement => {\n const {\n label,\n value,\n options,\n searchable = false,\n searchText,\n onCloseWithoutSelection,\n onSearchTextChange,\n onChange,\n renderAs,\n width,\n widthX,\n disabled,\n willShowMessage,\n mandatory,\n size = 'regular',\n shape,\n theme = 'light',\n isTransparent = false,\n renderOptionsAs = 'list',\n errorMessage,\n } = props;\n\n const sectionOptions =\n renderOptionsAs === 'section-list' && (options as ISectionOption<ISelectOption<IDType>>[]);\n const selectOptions = renderOptionsAs === 'list' && (options as ISelectOption<IDType>[]);\n\n const inputValue = useMemo(() => {\n if (searchable) return searchText;\n\n if (sectionOptions) {\n const option = sectionOptions.flatMap(section => section.data).find(({ id }) => id === value);\n\n if (option?.inputLabel) return (option.inputLabel || '') as string;\n\n return option?.label || '';\n }\n\n if (selectOptions) return selectOptions.find(option => option.id === value)?.label;\n }, [searchable, searchText, sectionOptions, selectOptions, value]);\n\n const containerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const inputRef = useRef<HTMLInputElement>(null) as React.RefObject<HTMLInputElement>;\n const { menuVisible, onMenuClick, hideMenu } = useContextMenuClickHandler(\n containerRef,\n undefined,\n !searchable,\n onCloseWithoutSelection,\n disabled,\n );\n\n const handleTextChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (searchable && onSearchTextChange) {\n onSearchTextChange(e.target.value);\n }\n },\n [onSearchTextChange, searchable],\n );\n\n const handleChange = useCallback<IBaseSelectInputProps<IDType>['onChange']>(\n (id, option) => {\n hideMenu();\n onChange(id, option);\n },\n [hideMenu, onChange],\n );\n\n const handleFocus = useCallback((e: FocusEvent<HTMLInputElement>) => {\n e.target.select();\n setTimeout(() => {\n e.target.scrollIntoView({\n behavior: 'smooth',\n });\n }, 300);\n }, []);\n\n const handleClear = useCallback(() => {\n if (onSearchTextChange) {\n onSearchTextChange('');\n inputRef.current?.focus();\n }\n }, [onSearchTextChange]);\n\n const downIcon =\n shape === 'curved' || shape === 'borderLess' ? (\n <Styled.StyledChevronDownIcon $menuVisible={menuVisible} pointerEvents=\"none\" />\n ) : (\n <Styled.StyledDownIcon $menuVisible={menuVisible} pointerEvents=\"none\" />\n );\n\n return (\n <Styled.Container ref={containerRef} $width={width} $widthX={widthX} onClick={onMenuClick}>\n <BaseInput\n renderAs={renderAs}\n label={label}\n stickyLabel={true}\n disabled={disabled}\n willShowMessage={willShowMessage}\n size={size}\n mandatory={mandatory}\n shape={shape}\n isTransparent={isTransparent}\n inputElement={\n <Input\n ref={inputRef}\n $renderAs={renderAs}\n $size={size}\n placeholder={inputValue ? '' : label}\n disabled={disabled}\n readOnly={!searchable}\n value={inputValue ?? ''}\n onFocus={searchable ? handleFocus : undefined}\n onChange={searchable ? handleTextChange : undefined}\n $isTransparent={isTransparent}\n />\n }\n siblingElement={searchable && menuVisible ? <CrossIcon onClick={handleClear} /> : downIcon}\n errorMessage={errorMessage}\n />\n\n {options.length > 0 && (\n <Styled.OptionsContainer $visible={menuVisible}>\n <Styled.OptionsWrapper $renderAs={renderAs} $theme={theme}>\n {sectionOptions && (\n <SelectSection<IDType>\n sectionOptions={sectionOptions}\n theme={theme}\n value={value}\n onChange={handleChange}\n />\n )}\n\n {selectOptions &&\n selectOptions.map(option => (\n <SelectOption<IDType>\n key={option.id}\n option={option}\n selected={option.id === value}\n onChange={handleChange}\n theme={theme}\n />\n ))}\n </Styled.OptionsWrapper>\n </Styled.OptionsContainer>\n )}\n </Styled.Container>\n );\n};\n\nexport default BaseSelectInput;\n"],"names":["BaseSelectInput","props","label","value","options","searchable","searchText","onCloseWithoutSelection","onSearchTextChange","onChange","renderAs","width","widthX","disabled","willShowMessage","mandatory","size","shape","theme","isTransparent","renderOptionsAs","errorMessage","sectionOptions","selectOptions","inputValue","useMemo","option","section","id","_a","containerRef","useRef","inputRef","menuVisible","onMenuClick","hideMenu","useContextMenuClickHandler","handleTextChange","useCallback","handleChange","handleFocus","handleClear","jsxs","Styled.Container","jsx","BaseInput","Input","CrossIcon","Styled.StyledChevronDownIcon","Styled.StyledDownIcon","Styled.OptionsContainer","Styled.OptionsWrapper","SelectSection","SelectOption"],"mappings":"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"}
@@ -1,29 +1,29 @@
1
1
  import { jsxs as b, jsx as t } from "react/jsx-runtime";
2
- import { useCallback as g } from "react";
3
- import { useTheme as v } from "styled-components";
4
- import I from "../../text/text.js";
5
- import { CheckboxOptionWrapper as W, CheckboxInputWrapper as z, CheckboxInput as A, CheckIcon as O, IndeterminateIcon as T, CheckboxLabelWrapper as y } from "./checkbox-input-styled.js";
6
- const L = (h) => {
2
+ import { useCallback as I } from "react";
3
+ import { useTheme as g } from "styled-components";
4
+ import v from "../../text/text.js";
5
+ import { CheckboxOptionWrapper as W, CheckboxInputWrapper as z, CheckboxInput as A, CheckIcon as T, IndeterminateIcon as y, CheckboxLabelWrapper as L } from "./checkbox-input-styled.js";
6
+ const O = (h) => {
7
7
  const {
8
8
  size: r,
9
9
  label: i,
10
- value: a,
10
+ value: o,
11
11
  checked: e,
12
12
  disabled: n,
13
- renderAs: o,
13
+ renderAs: a,
14
14
  labelWidthX: p,
15
- indeterminate: k,
16
- visibleOnCheck: u,
17
- alignTopWithLabel: C = !1,
15
+ indeterminate: u,
16
+ visibleOnCheck: k,
17
+ alignTopWithLabel: $ = !1,
18
18
  onChange: l
19
19
  } = h, {
20
- layout: { gutter: $ },
20
+ layout: { gutter: C },
21
21
  checkbox: c
22
- } = v(), { textVariant: m } = c.sizes[r ?? "regular"], { textColorName: x } = c.variants[o ?? "black"], s = u ? e : !0, f = !e && k, d = g(() => {
22
+ } = g(), { textVariant: m } = c.sizes[r ?? "regular"], { textColorName: x } = c.variants[a ?? "black"], s = k ? e : !0, f = !e && u, d = I(() => {
23
23
  if (n) return null;
24
- l(a, !e);
25
- }, [e, n, l, a]);
26
- return /* @__PURE__ */ b(W, { $alignTop: C, $disabled: n, children: [
24
+ l(o, !e);
25
+ }, [e, n, l, o]);
26
+ return /* @__PURE__ */ b(W, { $alignTop: $, $disabled: n, children: [
27
27
  /* @__PURE__ */ b(z, { onClick: d, $disabled: n, children: [
28
28
  /* @__PURE__ */ t(
29
29
  A,
@@ -32,15 +32,15 @@ const L = (h) => {
32
32
  checked: e,
33
33
  disabled: !!n,
34
34
  onChange: () => null,
35
- $renderAs: o,
35
+ $renderAs: a,
36
36
  $size: r
37
37
  }
38
38
  ),
39
- e && /* @__PURE__ */ t(O, { $renderAs: o, $size: r }),
40
- f && /* @__PURE__ */ t(T, { $disabled: n, $size: $ * 1.125 })
39
+ e && /* @__PURE__ */ t(T, { $renderAs: a, $size: r }),
40
+ f && /* @__PURE__ */ t(y, { $disabled: n, $size: C * 1.125 })
41
41
  ] }),
42
42
  /* @__PURE__ */ t(
43
- y,
43
+ L,
44
44
  {
45
45
  $labelWidthX: p,
46
46
  $visible: s,
@@ -48,7 +48,7 @@ const L = (h) => {
48
48
  $disabled: n,
49
49
  $checked: e,
50
50
  children: typeof i == "string" ? /* @__PURE__ */ t(
51
- I,
51
+ v,
52
52
  {
53
53
  $renderAs: m[e ? "active" : "inactive"],
54
54
  $color: x[e ? "active" : "inactive"],
@@ -58,7 +58,7 @@ const L = (h) => {
58
58
  }
59
59
  )
60
60
  ] });
61
- }, q = L;
61
+ }, q = O;
62
62
  export {
63
63
  q as default
64
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-input.js","sources":["../../../../../src/features/ui/inputs/checkbox-input/checkbox-input.tsx"],"sourcesContent":["import type { ICheckboxOptionProps } from './checkbox-input-types';\n\nimport { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../../text/text';\nimport * as Styled from './checkbox-input-styled';\n\nconst CheckboxInput = <IDType extends string | number>(props: ICheckboxOptionProps<IDType>) => {\n const {\n size,\n label,\n value,\n checked,\n disabled,\n renderAs,\n labelWidthX,\n indeterminate,\n visibleOnCheck,\n alignTopWithLabel = false,\n onChange,\n } = props;\n\n const {\n layout: { gutter },\n checkbox,\n } = useTheme();\n\n const { textVariant } = checkbox.sizes[size ?? 'regular'];\n const { textColorName } = checkbox.variants[renderAs ?? 'black'];\n\n const renderLabel = visibleOnCheck ? checked : true;\n const renderIndeterminateState = !checked && indeterminate;\n\n const handleOnChange = useCallback(() => {\n if (disabled) return null;\n\n onChange(value, !checked);\n }, [checked, disabled, onChange, value]);\n\n return (\n <Styled.CheckboxOptionWrapper $alignTop={alignTopWithLabel} $disabled={disabled}>\n <Styled.CheckboxInputWrapper onClick={handleOnChange} $disabled={disabled}>\n <Styled.CheckboxInput\n type=\"checkbox\"\n checked={checked}\n disabled={!!disabled}\n onChange={() => null}\n $renderAs={renderAs}\n $size={size}\n />\n {checked && <Styled.CheckIcon $renderAs={renderAs} $size={size} />}\n\n {renderIndeterminateState && (\n <Styled.IndeterminateIcon $disabled={disabled} $size={gutter * 1.125} />\n )}\n </Styled.CheckboxInputWrapper>\n\n <Styled.CheckboxLabelWrapper\n $labelWidthX={labelWidthX}\n $visible={renderLabel}\n onClick={renderLabel ? handleOnChange : () => null}\n $disabled={disabled}\n $checked={checked}\n >\n {typeof label === 'string' ? (\n <Text\n $renderAs={textVariant[checked ? 'active' : 'inactive']}\n $color={textColorName[checked ? 'active' : 'inactive']}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Styled.CheckboxLabelWrapper>\n </Styled.CheckboxOptionWrapper>\n );\n};\n\nexport default CheckboxInput;\n"],"names":["CheckboxInput","props","size","label","value","checked","disabled","renderAs","labelWidthX","indeterminate","visibleOnCheck","alignTopWithLabel","onChange","gutter","checkbox","useTheme","textVariant","textColorName","renderLabel","renderIndeterminateState","handleOnChange","useCallback","Styled.CheckboxOptionWrapper","jsxs","Styled.CheckboxInputWrapper","jsx","Styled.CheckboxInput","Styled.CheckIcon","Styled.IndeterminateIcon","Styled.CheckboxLabelWrapper","Text","CheckboxOption"],"mappings":";;;;;AAQA,MAAMA,IAAgB,CAAiCC,MAAwC;AACvF,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,UAAAC;AAAA,EACE,IAAAX,GAEE;AAAA,IACJ,QAAQ,EAAE,QAAAY,EAAO;AAAA,IACjB,UAAAC;AAAA,MACEC,EAAS,GAEP,EAAE,aAAAC,EAAY,IAAIF,EAAS,MAAMZ,KAAQ,SAAS,GAClD,EAAE,eAAAe,EAAc,IAAIH,EAAS,SAASP,KAAY,OAAO,GAEzDW,IAAcR,IAAiBL,IAAU,IACzCc,IAA2B,CAACd,KAAWI,GAEvCW,IAAiBC,EAAY,MAAM;AACvC,QAAIf,EAAiB,QAAA;AAEZ,IAAAM,EAAAR,GAAO,CAACC,CAAO;AAAA,KACvB,CAACA,GAASC,GAAUM,GAAUR,CAAK,CAAC;AAEvC,2BACGkB,GAAA,EAA6B,WAAWX,GAAmB,WAAWL,GACrE,UAAA;AAAA,IAAA,gBAAAiB,EAACC,GAAA,EAA4B,SAASJ,GAAgB,WAAWd,GAC/D,UAAA;AAAA,MAAA,gBAAAmB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAArB;AAAA,UACA,UAAU,CAAC,CAACC;AAAA,UACZ,UAAU,MAAM;AAAA,UAChB,WAAWC;AAAA,UACX,OAAOL;AAAA,QAAA;AAAA,MACT;AAAA,MACCG,uBAAYsB,GAAA,EAAiB,WAAWpB,GAAU,OAAOL,GAAM;AAAA,MAE/DiB,uBACES,GAAA,EAAyB,WAAWtB,GAAU,OAAOO,IAAS,OAAO;AAAA,IAAA,GAE1E;AAAA,IAEA,gBAAAY;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,cAAcrB;AAAA,QACd,UAAUU;AAAA,QACV,SAASA,IAAcE,IAAiB,MAAM;AAAA,QAC9C,WAAWd;AAAA,QACX,UAAUD;AAAA,QAET,UAAA,OAAOF,KAAU,WAChB,gBAAAsB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,WAAWd,EAAYX,IAAU,WAAW,UAAU;AAAA,YACtD,QAAQY,EAAcZ,IAAU,WAAW,UAAU;AAAA,YAEpD,UAAAF;AAAA,UAAA;AAAA,QAAA,IAGHA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ,GAEA4B,IAAe/B;"}
1
+ {"version":3,"file":"checkbox-input.js","sources":["../../../../../src/features/ui/inputs/checkbox-input/checkbox-input.tsx"],"sourcesContent":["import type { ICheckboxOptionProps } from './checkbox-input-types';\n\nimport { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../../text/text';\nimport * as Styled from './checkbox-input-styled';\n\nconst CheckboxInput = <IDType extends string | number>(props: ICheckboxOptionProps<IDType>) => {\n const {\n size,\n label,\n value,\n checked,\n disabled,\n renderAs,\n labelWidthX,\n indeterminate,\n visibleOnCheck,\n alignTopWithLabel = false,\n onChange,\n } = props;\n\n const {\n layout: { gutter },\n checkbox,\n } = useTheme();\n\n const { textVariant } = checkbox.sizes[size ?? 'regular'];\n const { textColorName } = checkbox.variants[renderAs ?? 'black'];\n\n const renderLabel = visibleOnCheck ? checked : true;\n const renderIndeterminateState = !checked && indeterminate;\n\n const handleOnChange = useCallback(() => {\n if (disabled) return null;\n\n onChange(value, !checked);\n }, [checked, disabled, onChange, value]);\n\n return (\n <Styled.CheckboxOptionWrapper $alignTop={alignTopWithLabel} $disabled={disabled}>\n <Styled.CheckboxInputWrapper onClick={handleOnChange} $disabled={disabled}>\n <Styled.CheckboxInput\n type=\"checkbox\"\n checked={checked}\n disabled={!!disabled}\n onChange={() => null}\n $renderAs={renderAs}\n $size={size}\n />\n {checked && <Styled.CheckIcon $renderAs={renderAs} $size={size} />}\n\n {renderIndeterminateState && (\n <Styled.IndeterminateIcon $disabled={disabled} $size={gutter * 1.125} />\n )}\n </Styled.CheckboxInputWrapper>\n\n <Styled.CheckboxLabelWrapper\n $labelWidthX={labelWidthX}\n $visible={renderLabel}\n onClick={renderLabel ? handleOnChange : () => null}\n $disabled={disabled}\n $checked={checked}\n >\n {typeof label === 'string' ? (\n <Text\n $renderAs={textVariant[checked ? 'active' : 'inactive']}\n $color={textColorName[checked ? 'active' : 'inactive']}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Styled.CheckboxLabelWrapper>\n </Styled.CheckboxOptionWrapper>\n );\n};\n\nexport default CheckboxInput;\n"],"names":["CheckboxInput","props","size","label","value","checked","disabled","renderAs","labelWidthX","indeterminate","visibleOnCheck","alignTopWithLabel","onChange","gutter","checkbox","useTheme","textVariant","textColorName","renderLabel","renderIndeterminateState","handleOnChange","useCallback","Styled.CheckboxOptionWrapper","jsxs","Styled.CheckboxInputWrapper","jsx","Styled.CheckboxInput","Styled.CheckIcon","Styled.IndeterminateIcon","Styled.CheckboxLabelWrapper","Text","CheckboxInput$1"],"mappings":";;;;;AAQA,MAAMA,IAAgB,CAAiCC,MAAwC;AACvF,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,mBAAAC,IAAoB;AAAA,IACpB,UAAAC;AAAA,EACE,IAAAX,GAEE;AAAA,IACJ,QAAQ,EAAE,QAAAY,EAAO;AAAA,IACjB,UAAAC;AAAA,MACEC,EAAS,GAEP,EAAE,aAAAC,EAAY,IAAIF,EAAS,MAAMZ,KAAQ,SAAS,GAClD,EAAE,eAAAe,EAAc,IAAIH,EAAS,SAASP,KAAY,OAAO,GAEzDW,IAAcR,IAAiBL,IAAU,IACzCc,IAA2B,CAACd,KAAWI,GAEvCW,IAAiBC,EAAY,MAAM;AACvC,QAAIf,EAAiB,QAAA;AAEZ,IAAAM,EAAAR,GAAO,CAACC,CAAO;AAAA,KACvB,CAACA,GAASC,GAAUM,GAAUR,CAAK,CAAC;AAEvC,2BACGkB,GAAA,EAA6B,WAAWX,GAAmB,WAAWL,GACrE,UAAA;AAAA,IAAA,gBAAAiB,EAACC,GAAA,EAA4B,SAASJ,GAAgB,WAAWd,GAC/D,UAAA;AAAA,MAAA,gBAAAmB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAArB;AAAA,UACA,UAAU,CAAC,CAACC;AAAA,UACZ,UAAU,MAAM;AAAA,UAChB,WAAWC;AAAA,UACX,OAAOL;AAAA,QAAA;AAAA,MACT;AAAA,MACCG,uBAAYsB,GAAA,EAAiB,WAAWpB,GAAU,OAAOL,GAAM;AAAA,MAE/DiB,uBACES,GAAA,EAAyB,WAAWtB,GAAU,OAAOO,IAAS,OAAO;AAAA,IAAA,GAE1E;AAAA,IAEA,gBAAAY;AAAA,MAACI;AAAAA,MAAA;AAAA,QACC,cAAcrB;AAAA,QACd,UAAUU;AAAA,QACV,SAASA,IAAcE,IAAiB,MAAM;AAAA,QAC9C,WAAWd;AAAA,QACX,UAAUD;AAAA,QAET,UAAA,OAAOF,KAAU,WAChB,gBAAAsB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,WAAWd,EAAYX,IAAU,WAAW,UAAU;AAAA,YACtD,QAAQY,EAAcZ,IAAU,WAAW,UAAU;AAAA,YAEpD,UAAAF;AAAA,UAAA;AAAA,QAAA,IAGHA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ,GAEA4B,IAAe/B;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { useMemo as g, useCallback as I } from "react";
3
3
  import L from "../../arrow-tooltip/arrow-tooltip.js";
4
- import O from "../checkbox-input/checkbox-input.js";
5
- import { CheckboxInputListWrapper as v, CheckboxOptionWrapper as A } from "./checkbox-input-list-styled.js";
4
+ import v from "../checkbox-input/checkbox-input.js";
5
+ import { CheckboxInputListWrapper as A, CheckboxOptionWrapper as O } from "./checkbox-input-list-styled.js";
6
6
  const $ = (h) => {
7
7
  const {
8
8
  size: a,
@@ -24,9 +24,9 @@ const $ = (h) => {
24
24
  },
25
25
  [e, i, c, o]
26
26
  );
27
- return /* @__PURE__ */ r(v, { children: d.map((t) => {
27
+ return /* @__PURE__ */ r(A, { children: d.map((t) => {
28
28
  const { id: n, label: l } = t, p = o.includes(n), m = c && !p, k = (s == null ? void 0 : s.includes(n)) || m;
29
- return /* @__PURE__ */ r(A, { $numColumns: C ?? 1, children: /* @__PURE__ */ r(
29
+ return /* @__PURE__ */ r(O, { $numColumns: C ?? 1, children: /* @__PURE__ */ r(
30
30
  L,
31
31
  {
32
32
  renderAs: "primary",
@@ -35,7 +35,7 @@ const $ = (h) => {
35
35
  hidden: !m,
36
36
  zIndex: 2,
37
37
  children: /* @__PURE__ */ r(
38
- O,
38
+ v,
39
39
  {
40
40
  value: n,
41
41
  size: a,
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-input-list.js","sources":["../../../../../src/features/ui/inputs/checkbox-input-list/checkbox-input-list.tsx"],"sourcesContent":["import type { ICheckboxInputProps } from './checkbox-input-list-types';\n\nimport { useCallback, useMemo } from 'react';\n\nimport ArrowTooltip from '../../arrow-tooltip/arrow-tooltip';\nimport CheckboxOption from '../checkbox-input/checkbox-input';\nimport * as Styled from './checkbox-input-list-styled';\n\nconst CheckboxInputList = <IDType extends string | number>(props: ICheckboxInputProps<IDType>) => {\n const {\n size,\n value,\n options,\n disabled,\n renderAs,\n numColumns,\n indeterminate,\n visibleOnCheck,\n maximumSelection,\n onChange,\n } = props;\n\n const reachedMaxLength = useMemo(\n () => !!(maximumSelection && maximumSelection > 1 && value.length >= maximumSelection),\n [maximumSelection, value.length],\n );\n\n const handleOnChange = useCallback(\n (selectedValue: IDType, selected: boolean) => {\n if (!selected) {\n onChange(value.filter(val => val !== selectedValue));\n } else {\n if (maximumSelection === 1) {\n onChange([selectedValue]);\n } else if (!reachedMaxLength || !maximumSelection) {\n onChange([...value, selectedValue]);\n }\n }\n },\n [maximumSelection, onChange, reachedMaxLength, value],\n );\n\n return (\n <Styled.CheckboxInputListWrapper>\n {options.map(option => {\n const { id, label } = option;\n\n const checked = value.includes(id);\n const showTooltip = reachedMaxLength && !checked;\n const disableCheck = disabled?.includes(id) || showTooltip;\n\n return (\n <Styled.CheckboxOptionWrapper key={id} $numColumns={numColumns ?? 1}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n tooltipItem={`${maximumSelection} options already selected`}\n hidden={!showTooltip}\n zIndex={2}\n >\n <CheckboxOption<IDType>\n value={id}\n size={size}\n label={label}\n checked={checked}\n renderAs={renderAs}\n disabled={disableCheck}\n onChange={handleOnChange}\n indeterminate={indeterminate} //* Took this name from Mui.\n visibleOnCheck={visibleOnCheck}\n />\n </ArrowTooltip>\n </Styled.CheckboxOptionWrapper>\n );\n })}\n </Styled.CheckboxInputListWrapper>\n );\n};\n\nexport default CheckboxInputList;\n"],"names":["CheckboxInputList","props","size","value","options","disabled","renderAs","numColumns","indeterminate","visibleOnCheck","maximumSelection","onChange","reachedMaxLength","useMemo","handleOnChange","useCallback","selectedValue","selected","val","Styled.CheckboxInputListWrapper","option","id","label","checked","showTooltip","disableCheck","Styled.CheckboxOptionWrapper","jsx","ArrowTooltip","CheckboxOption","CheckboxInputList$1"],"mappings":";;;;;AAQA,MAAMA,IAAoB,CAAiCC,MAAuC;AAC1F,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EACE,IAAAV,GAEEW,IAAmBC;AAAA,IACvB,MAAM,CAAC,EAAEH,KAAoBA,IAAmB,KAAKP,EAAM,UAAUO;AAAA,IACrE,CAACA,GAAkBP,EAAM,MAAM;AAAA,EAAA,GAG3BW,IAAiBC;AAAA,IACrB,CAACC,GAAuBC,MAAsB;AAC5C,MAAKA,IAGCP,MAAqB,IACdC,EAAA,CAACK,CAAa,CAAC,KACf,CAACJ,KAAoB,CAACF,MAC/BC,EAAS,CAAC,GAAGR,GAAOa,CAAa,CAAC,IALpCL,EAASR,EAAM,OAAO,CAAOe,MAAAA,MAAQF,CAAa,CAAC;AAAA,IAQvD;AAAA,IACA,CAACN,GAAkBC,GAAUC,GAAkBT,CAAK;AAAA,EAAA;AAGtD,2BACGgB,GAAA,EACE,UAAAf,EAAQ,IAAI,CAAUgB,MAAA;AACf,UAAA,EAAE,IAAAC,GAAI,OAAAC,EAAU,IAAAF,GAEhBG,IAAUpB,EAAM,SAASkB,CAAE,GAC3BG,IAAcZ,KAAoB,CAACW,GACnCE,KAAepB,KAAA,gBAAAA,EAAU,SAASgB,OAAOG;AAE/C,6BACGE,GAAA,EAAsC,aAAanB,KAAc,GAChE,UAAA,gBAAAoB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa,GAAGlB,CAAgB;AAAA,QAChC,QAAQ,CAACc;AAAA,QACT,QAAQ;AAAA,QAER,UAAA,gBAAAG;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,OAAOR;AAAA,YACP,MAAAnB;AAAA,YACA,OAAAoB;AAAA,YACA,SAAAC;AAAA,YACA,UAAAjB;AAAA,YACA,UAAUmB;AAAA,YACV,UAAUX;AAAA,YACV,eAAAN;AAAA,YACA,gBAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,KAlB+BY,CAoBnC;AAAA,EAEH,CAAA,EACH,CAAA;AAEJ,GAEAS,IAAe9B;"}
1
+ {"version":3,"file":"checkbox-input-list.js","sources":["../../../../../src/features/ui/inputs/checkbox-input-list/checkbox-input-list.tsx"],"sourcesContent":["import type { ICheckboxInputProps } from './checkbox-input-list-types';\n\nimport { useCallback, useMemo } from 'react';\n\nimport ArrowTooltip from '../../arrow-tooltip/arrow-tooltip';\nimport CheckboxOption from '../checkbox-input/checkbox-input';\nimport * as Styled from './checkbox-input-list-styled';\n\nconst CheckboxInputList = <IDType extends string | number>(props: ICheckboxInputProps<IDType>) => {\n const {\n size,\n value,\n options,\n disabled,\n renderAs,\n numColumns,\n indeterminate,\n visibleOnCheck,\n maximumSelection,\n onChange,\n } = props;\n\n const reachedMaxLength = useMemo(\n () => !!(maximumSelection && maximumSelection > 1 && value.length >= maximumSelection),\n [maximumSelection, value.length],\n );\n\n const handleOnChange = useCallback(\n (selectedValue: IDType, selected: boolean) => {\n if (!selected) {\n onChange(value.filter(val => val !== selectedValue));\n } else {\n if (maximumSelection === 1) {\n onChange([selectedValue]);\n } else if (!reachedMaxLength || !maximumSelection) {\n onChange([...value, selectedValue]);\n }\n }\n },\n [maximumSelection, onChange, reachedMaxLength, value],\n );\n\n return (\n <Styled.CheckboxInputListWrapper>\n {options.map(option => {\n const { id, label } = option;\n\n const checked = value.includes(id);\n const showTooltip = reachedMaxLength && !checked;\n const disableCheck = disabled?.includes(id) || showTooltip;\n\n return (\n <Styled.CheckboxOptionWrapper key={id} $numColumns={numColumns ?? 1}>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n tooltipItem={`${maximumSelection} options already selected`}\n hidden={!showTooltip}\n zIndex={2}\n >\n <CheckboxOption<IDType>\n value={id}\n size={size}\n label={label}\n checked={checked}\n renderAs={renderAs}\n disabled={disableCheck}\n onChange={handleOnChange}\n indeterminate={indeterminate} //* Took this name from Mui.\n visibleOnCheck={visibleOnCheck}\n />\n </ArrowTooltip>\n </Styled.CheckboxOptionWrapper>\n );\n })}\n </Styled.CheckboxInputListWrapper>\n );\n};\n\nexport default CheckboxInputList;\n"],"names":["CheckboxInputList","props","size","value","options","disabled","renderAs","numColumns","indeterminate","visibleOnCheck","maximumSelection","onChange","reachedMaxLength","useMemo","handleOnChange","useCallback","selectedValue","selected","val","Styled.CheckboxInputListWrapper","option","id","label","checked","showTooltip","disableCheck","Styled.CheckboxOptionWrapper","jsx","ArrowTooltip","CheckboxOption","CheckboxInputList$1"],"mappings":";;;;;AAQA,MAAMA,IAAoB,CAAiCC,MAAuC;AAC1F,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EACE,IAAAV,GAEEW,IAAmBC;AAAA,IACvB,MAAM,CAAC,EAAEH,KAAoBA,IAAmB,KAAKP,EAAM,UAAUO;AAAA,IACrE,CAACA,GAAkBP,EAAM,MAAM;AAAA,EAAA,GAG3BW,IAAiBC;AAAA,IACrB,CAACC,GAAuBC,MAAsB;AAC5C,MAAKA,IAGCP,MAAqB,IACdC,EAAA,CAACK,CAAa,CAAC,KACf,CAACJ,KAAoB,CAACF,MAC/BC,EAAS,CAAC,GAAGR,GAAOa,CAAa,CAAC,IALpCL,EAASR,EAAM,OAAO,CAAOe,MAAAA,MAAQF,CAAa,CAAC;AAAA,IAQvD;AAAA,IACA,CAACN,GAAkBC,GAAUC,GAAkBT,CAAK;AAAA,EAAA;AAGtD,2BACGgB,GAAA,EACE,UAAAf,EAAQ,IAAI,CAAUgB,MAAA;AACf,UAAA,EAAE,IAAAC,GAAI,OAAAC,EAAU,IAAAF,GAEhBG,IAAUpB,EAAM,SAASkB,CAAE,GAC3BG,IAAcZ,KAAoB,CAACW,GACnCE,KAAepB,KAAA,gBAAAA,EAAU,SAASgB,OAAOG;AAE/C,6BACGE,GAAA,EAAsC,aAAanB,KAAc,GAChE,UAAA,gBAAAoB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa,GAAGlB,CAAgB;AAAA,QAChC,QAAQ,CAACc;AAAA,QACT,QAAQ;AAAA,QAER,UAAA,gBAAAG;AAAA,UAACE;AAAAA,UAAA;AAAA,YACC,OAAOR;AAAA,YACP,MAAAnB;AAAA,YACA,OAAAoB;AAAA,YACA,SAAAC;AAAA,YACA,UAAAjB;AAAA,YACA,UAAUmB;AAAA,YACV,UAAUX;AAAA,YACV,eAAAN;AAAA,YACA,gBAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA,KAlB+BY,CAoBnC;AAAA,EAEH,CAAA,EACH,CAAA;AAEJ,GAEAS,IAAe9B;"}
@@ -0,0 +1,6 @@
1
+ import { NODE_TYPES as i } from "../../../../types/models/worksheet.js";
2
+ const r = (t, A) => t === i.SAT_ENGLISH_ASSESSMENT || t === i.SAT_MATH_ASSESSMENT ? "sat_activity" : t === i.LEARNING && A ? "lesson_v3_activity" : t === i.TRIAL_DIAGNOSTIC ? "diagnostic_activity" : t === i.TRIAL_BASIC || t === i.TRIAL_INTERMEDIATE || t === i.TRIAL_ADVANCED ? "diagnostic_v2_activity" : "general_activity";
3
+ export {
4
+ r as getActivityMockAttemptId
5
+ };
6
+ //# sourceMappingURL=activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.js","sources":["../../../../../src/features/worksheet/worksheet/mocks/activity.ts"],"sourcesContent":["import { NODE_TYPES } from '../../../../types/models/worksheet';\nimport { LESSON_V3_ITEMS, LESSON_V3_TAGS } from './activities/leeson-v3';\nimport { SAT_ITEMS } from './activities/sat';\nimport { TRIAL_DIAGNOSTIC_ITEMS, TRIAL_DIAGNOSTIC_TAGS } from './activities/trial-diagnostic';\nimport {\n TRIAL_DIAGNOSTIC_V2_ITEMS,\n TRIAL_DIAGNOSTIC_V2_TAGS,\n} from './activities/trial-diagnostic-v2';\nimport { ASSOCIATION_ITEMS } from './questions/association';\nimport { CHOICEMATRIX_ITEMS } from './questions/choicematrix';\nimport { CLASSIFICATION_ITEMS } from './questions/classification';\nimport { CLOZEASSOCIATION_ITEMS } from './questions/clozeassociation';\nimport { CLOZEDROPDOWN_ITEMS } from './questions/clozedropdown';\nimport { CLOZEFORMULA_ITEMS } from './questions/clozeformula';\nimport { CLOZETEXT_ITEMS } from './questions/clozetext';\nimport { DRAWING_ITEMS } from './questions/drawing';\nimport { HOTSPOT_ITEMS } from './questions/hotspot';\nimport { MCQ_ITEMS } from './questions/mcq';\nimport { NUMBERLINE_ITEMS } from './questions/numberline';\nimport { PLAIN_TEXT_ITEMS } from './questions/plaintext';\nimport { TOKENHIGHLIGHT_ITEMS } from './questions/tokenhighlight';\n\nconst getActivityMockWithData = (data: unknown, sessionId: string) => {\n return {\n matcher: {\n url: `begin:https://items-ie.learnosity.com/v2023.3.LTS/activity?&a=get&c=abcd&s=${sessionId}`,\n method: 'POST',\n },\n options: {\n delay: 300,\n },\n response: {\n status: 200,\n body: {\n data,\n },\n },\n };\n};\n\nconst getActivityMock = (activityName?: 'lesson-v3' | 'sat' | 'diagnostic' | 'diagnostic-v2') => {\n if (activityName === 'lesson-v3') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: LESSON_V3_ITEMS,\n tags: LESSON_V3_TAGS,\n },\n },\n 'lesson_v3_activity',\n );\n }\n\n if (activityName === 'diagnostic') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: TRIAL_DIAGNOSTIC_ITEMS,\n tags: TRIAL_DIAGNOSTIC_TAGS,\n },\n },\n 'diagnostic_activity',\n );\n }\n\n if (activityName === 'diagnostic-v2') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: TRIAL_DIAGNOSTIC_V2_ITEMS,\n tags: TRIAL_DIAGNOSTIC_V2_TAGS,\n },\n },\n 'diagnostic_v2_activity',\n );\n }\n\n if (activityName === 'sat') {\n return getActivityMockWithData(\n {\n apiActivity: {\n items: SAT_ITEMS,\n tags: {},\n },\n },\n 'sat_activity',\n );\n }\n\n return getActivityMockWithData(\n {\n apiActivity: {\n items: [\n ...CLOZETEXT_ITEMS,\n ...ASSOCIATION_ITEMS,\n ...CHOICEMATRIX_ITEMS,\n ...CLASSIFICATION_ITEMS,\n ...CLOZEASSOCIATION_ITEMS,\n ...CLOZEDROPDOWN_ITEMS,\n ...CLOZEFORMULA_ITEMS,\n ...DRAWING_ITEMS,\n ...HOTSPOT_ITEMS,\n ...MCQ_ITEMS,\n ...NUMBERLINE_ITEMS,\n ...PLAIN_TEXT_ITEMS,\n ...TOKENHIGHLIGHT_ITEMS,\n ],\n tags: {},\n },\n },\n 'general_activity',\n );\n};\n\nexport const getActivityMockAttemptId = (nodeType: NODE_TYPES, isLessonV3: boolean) => {\n if (nodeType === NODE_TYPES.SAT_ENGLISH_ASSESSMENT || nodeType === NODE_TYPES.SAT_MATH_ASSESSMENT)\n return 'sat_activity';\n\n if (nodeType === NODE_TYPES.LEARNING && isLessonV3) return 'lesson_v3_activity';\n\n if (nodeType === NODE_TYPES.TRIAL_DIAGNOSTIC) return 'diagnostic_activity';\n\n if (\n nodeType === NODE_TYPES.TRIAL_BASIC ||\n nodeType === NODE_TYPES.TRIAL_INTERMEDIATE ||\n nodeType === NODE_TYPES.TRIAL_ADVANCED\n )\n return 'diagnostic_v2_activity';\n\n return 'general_activity';\n};\n\nexport default getActivityMock;\n"],"names":["getActivityMockAttemptId","nodeType","isLessonV3","NODE_TYPES"],"mappings":";AAkHa,MAAAA,IAA2B,CAACC,GAAsBC,MACzDD,MAAaE,EAAW,0BAA0BF,MAAaE,EAAW,sBACrE,iBAELF,MAAaE,EAAW,YAAYD,IAAmB,uBAEvDD,MAAaE,EAAW,mBAAyB,wBAGnDF,MAAaE,EAAW,eACxBF,MAAaE,EAAW,sBACxBF,MAAaE,EAAW,iBAEjB,2BAEF;"}