@cuemath/leap 3.0.32 → 3.1.0-aa1

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 (106) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -1
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/check.js +3 -3
  4. package/dist/assets/line-icons/icons/check.js.map +1 -1
  5. package/dist/assets/line-icons/icons/puzzle-icon.js +51 -0
  6. package/dist/assets/line-icons/icons/puzzle-icon.js.map +1 -0
  7. package/dist/assets/line-icons/icons/share.js +48 -0
  8. package/dist/assets/line-icons/icons/share.js.map +1 -0
  9. package/dist/assets/line-icons/icons/tile.js +54 -0
  10. package/dist/assets/line-icons/icons/tile.js.map +1 -0
  11. package/dist/features/cue-canvas/bottombar/homework-controls.js +73 -0
  12. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -0
  13. package/dist/features/cue-canvas/cue-canvas-context.js +8 -5
  14. package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
  15. package/dist/features/cue-canvas/cue-canvas-core.js +68 -70
  16. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  17. package/dist/features/cue-canvas/cue-canvas-helpers.js +31 -25
  18. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  19. package/dist/features/cue-canvas/cue-canvas-provider.js +14 -12
  20. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  21. package/dist/features/cue-canvas/cue-canvas.js +86 -66
  22. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  23. package/dist/features/cue-canvas/cue-cavas-styled.js +45 -42
  24. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  25. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +61 -54
  26. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  27. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js +18 -14
  28. package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
  29. package/dist/features/cue-canvas/hooks/use-upload-helper.js +23 -0
  30. package/dist/features/cue-canvas/hooks/use-upload-helper.js.map +1 -0
  31. package/dist/features/cue-canvas/sidebar/homework/helper.js +20 -0
  32. package/dist/features/cue-canvas/sidebar/homework/helper.js.map +1 -0
  33. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js +33 -0
  34. package/dist/features/cue-canvas/sidebar/homework/homework-menu.js.map +1 -0
  35. package/dist/features/cue-canvas/sidebar/homework/homework-request.js +68 -0
  36. package/dist/features/cue-canvas/sidebar/homework/homework-request.js.map +1 -0
  37. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js +25 -0
  38. package/dist/features/cue-canvas/sidebar/homework/homework-styled.js.map +1 -0
  39. package/dist/features/cue-canvas/sidebar/homework/homework.js +39 -0
  40. package/dist/features/cue-canvas/sidebar/homework/homework.js.map +1 -0
  41. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js +13 -0
  42. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -0
  43. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js +60 -0
  44. package/dist/features/cue-canvas/sidebar/puzzles/filter-selection-menu.js.map +1 -0
  45. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js +44 -0
  46. package/dist/features/cue-canvas/sidebar/puzzles/filters-section.js.map +1 -0
  47. package/dist/features/cue-canvas/sidebar/puzzles/filters.js +107 -0
  48. package/dist/features/cue-canvas/sidebar/puzzles/filters.js.map +1 -0
  49. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js +42 -0
  50. package/dist/features/cue-canvas/sidebar/puzzles/hooks/use-fetch-cue-canvas-activity.js.map +1 -0
  51. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js +84 -0
  52. package/dist/features/cue-canvas/sidebar/puzzles/launch-puzzle.js.map +1 -0
  53. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js +36 -0
  54. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu-header.js.map +1 -0
  55. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js +133 -0
  56. package/dist/features/cue-canvas/sidebar/puzzles/puzzle-menu.js.map +1 -0
  57. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js +96 -0
  58. package/dist/features/cue-canvas/sidebar/puzzles/puzzles-styled.js.map +1 -0
  59. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js +29 -0
  60. package/dist/features/cue-canvas/sidebar/puzzles/puzzles.js.map +1 -0
  61. package/dist/features/cue-canvas/sidebar/puzzles/utils.js +120 -0
  62. package/dist/features/cue-canvas/sidebar/puzzles/utils.js.map +1 -0
  63. package/dist/features/cue-canvas/sidebar/sidebar-styled.js +32 -0
  64. package/dist/features/cue-canvas/sidebar/sidebar-styled.js.map +1 -0
  65. package/dist/features/cue-canvas/sidebar/sidebar.js +29 -0
  66. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -0
  67. package/dist/features/cue-canvas/sidebar/tiles/tile.js +16 -0
  68. package/dist/features/cue-canvas/sidebar/tiles/tile.js.map +1 -0
  69. package/dist/features/cue-canvas/toolbar/grid-menu.js +13 -13
  70. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
  71. package/dist/features/cue-canvas/toolbar/tool.js +22 -20
  72. package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
  73. package/dist/features/homework/styles.js +4 -5
  74. package/dist/features/homework/styles.js.map +1 -1
  75. package/dist/features/hooks/use-debounce.js +16 -0
  76. package/dist/features/hooks/use-debounce.js.map +1 -0
  77. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +36 -38
  78. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  79. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +22 -24
  80. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  81. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +22 -23
  82. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  83. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +47 -49
  84. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  85. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +87 -94
  86. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  87. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +12 -13
  88. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  89. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +21 -23
  90. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  91. package/dist/features/milestone/create/milestone-create-helpers.js +162 -165
  92. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  93. package/dist/features/trial-session/comps/pricing/pricing.js +35 -36
  94. package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
  95. package/dist/features/ui/stepper/stepper.js +7 -7
  96. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js +22 -19
  97. package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
  98. package/dist/index.d.ts +48 -4
  99. package/dist/index.js +184 -180
  100. package/dist/index.js.map +1 -1
  101. package/package.json +3 -2
  102. package/dist/features/trial-session/comps/pricing/india-pricing/index.js +0 -96
  103. package/dist/features/trial-session/comps/pricing/india-pricing/index.js.map +0 -1
  104. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js +0 -59
  105. package/dist/features/trial-session/comps/pricing/india-pricing/india-pricing-styled.js.map +0 -1
  106. package/dist/static/ellipse-clip.dfb25608.svg +0 -1
@@ -1,81 +1,101 @@
1
- import { jsx as R } from "react/jsx-runtime";
2
- import { memo as V, useRef as g, useCallback as $, useEffect as o } from "react";
3
- import { CueCanvasCore as j } from "./cue-canvas-core.js";
4
- import { getCanvasConfig as k, getCanvasSettings as z } from "./cue-canvas-helpers.js";
5
- import { CueCanvasWrapper as H } from "./cue-cavas-styled.js";
6
- import { useCueCanvasActions as M } from "./hooks/use-cue-canvas-actions.js";
7
- import T from "./hooks/use-height-extender.js";
8
- const U = V(
1
+ import { jsx as B } from "react/jsx-runtime";
2
+ import { memo as F, useRef as A, useCallback as J, useEffect as o } from "react";
3
+ import K from "../worksheet/learnosity-preloader/use-is-learnosity-loaded.js";
4
+ import { CueCanvasCore as M } from "./cue-canvas-core.js";
5
+ import { getCanvasConfig as O, getCanvasSettings as Q } from "./cue-canvas-helpers.js";
6
+ import { CueCanvasWrapper as S } from "./cue-cavas-styled.js";
7
+ import { useCueCanvasActions as X } from "./hooks/use-cue-canvas-actions.js";
8
+ import Y from "./hooks/use-height-extender.js";
9
+ import Z from "./hooks/use-upload-helper.js";
10
+ const _ = F(
9
11
  ({
10
- canvasId: w,
11
- width: u,
12
- height: t,
13
- canRender: f,
14
- onUpdateHeight: x,
15
- initialData: a,
16
- onPublish: i,
17
- onSubscribe: p,
18
- userId: A,
19
- appended: l,
20
- canScribble: r,
21
- userType: C,
22
- renderAs: s = "canvas"
12
+ canvasId: E,
13
+ width: s,
14
+ height: d,
15
+ canRender: z,
16
+ onUpdateHeight: G,
17
+ initialData: x,
18
+ onPublish: N,
19
+ onSubscribe: V,
20
+ userId: H,
21
+ appended: L,
22
+ canScribble: p,
23
+ userType: l,
24
+ renderAs: r = "canvas",
25
+ canvasConfig: e,
26
+ updateCanvasConfig: I
23
27
  }) => {
24
- const m = g(null), { setActiveInstance: c, setActiveTool: d } = M(), e = g(null), E = $(
25
- (n) => {
26
- d(n);
28
+ var U, j, k;
29
+ const y = A(null), { setActiveInstance: $, setActiveTool: P } = X(), W = Z({ userId: H, renderAs: r, userType: l }), { scriptStatus: R } = K(), t = A(null), q = J(
30
+ (m) => {
31
+ P(m);
27
32
  },
28
- [d]
29
- ), I = $((n) => (console.log(n, "file to upload"), "https://cuemath-intel.s3.amazonaws.com/media/cuemath-whiteboard/2b0b9468-d6d4-11e8-9bfb-02420a000032:practice/Screenshot 2025-04-16 at 3.18.32 PM.png_b9079e2f-4ae6-439c-8edd-104dbfdc6100"), []);
30
- return T({
31
- canvasElementRef: m,
32
- cueCanvasRef: e,
33
- canScribble: r
33
+ [P]
34
+ );
35
+ return Y({
36
+ canvasElementRef: y,
37
+ cueCanvasRef: t,
38
+ canScribble: p
34
39
  }), o(() => {
35
- r && e.current && (e.current.resetViewPort(), c(e.current));
36
- }, [r, c]), o(() => {
37
- a && e.current && e.current.update(a);
38
- }, [a]), o(() => {
39
- t && e.current && e.current.resetViewPort();
40
- }, [t, u]), o(() => {
41
- if (f && l && !e.current) {
42
- const n = k(u, t, s, C), P = z(s, C), v = new j({
43
- onPublish: i,
44
- onSubscribe: p,
45
- onUpdateActiveTool: E,
46
- onUpdateHeight: x,
47
- uploadImageToS3: I,
48
- height: t,
49
- userId: A,
50
- canvasId: w,
51
- userType: C,
52
- renderAs: s
40
+ var m, w, u;
41
+ t.current && (e != null && e.gridName && t.current.changeGrid(e == null ? void 0 : e.gridName), (m = e == null ? void 0 : e.dimesion) != null && m.x && ((w = e == null ? void 0 : e.dimesion) != null && w.y) && ((u = e == null ? void 0 : e.dimesion) != null && u.zoom) && t.current.setViewPort({
42
+ x: e.dimesion.x,
43
+ y: e.dimesion.y,
44
+ zoom: e.dimesion.zoom
45
+ }));
46
+ }, [
47
+ e == null ? void 0 : e.gridName,
48
+ (U = e == null ? void 0 : e.dimesion) == null ? void 0 : U.x,
49
+ l,
50
+ (j = e == null ? void 0 : e.dimesion) == null ? void 0 : j.y,
51
+ (k = e == null ? void 0 : e.dimesion) == null ? void 0 : k.zoom
52
+ ]), o(() => {
53
+ p && t.current && (t.current.resetViewPort(), $(t.current));
54
+ }, [p, $]), o(() => {
55
+ x && t.current && t.current.update(x);
56
+ }, [x]), o(() => {
57
+ d && t.current && t.current.resetViewPort();
58
+ }, [d, s]), o(() => {
59
+ if (z && L && !t.current && R === "loaded") {
60
+ const m = O(s, d, r, l), w = Q(r, l), u = new M({
61
+ onPublish: N,
62
+ onSubscribe: V,
63
+ onUpdateActiveTool: q,
64
+ onUpdateHeight: G,
65
+ uploadImageToS3: W,
66
+ height: d,
67
+ userId: H,
68
+ canvasId: E,
69
+ userType: l,
70
+ renderAs: r,
71
+ updateCanvasConfig: I
53
72
  });
54
73
  (async () => {
55
- await v.create({
56
- canvasElementRef: m,
57
- canvasConfig: n,
58
- canvasSetting: P,
59
- initialData: a
60
- }), e.current = v, r && c(v);
74
+ await u.create({
75
+ canvasElementRef: y,
76
+ canvasConfig: m,
77
+ canvasSetting: w,
78
+ initialData: x
79
+ }), t.current = u, p && $(u);
61
80
  })();
62
81
  }
63
- }, [i, p, c, f, l]), o(() => () => {
64
- e.current && (e.current.destroy(), e.current = null);
65
- }, []), /* @__PURE__ */ R(
66
- H,
82
+ }, [N, V, $, z, L, R]), o(() => () => {
83
+ t.current && (t.current.destroy(), t.current = null);
84
+ }, []), /* @__PURE__ */ B(
85
+ S,
67
86
  {
68
- ref: m,
69
- $width: u,
70
- $height: t,
71
- $canScribble: r,
72
- $canRender: f,
73
- $renderAs: s
87
+ id: r === "whiteboard" ? "canvasContainer" : E,
88
+ ref: y,
89
+ $width: s,
90
+ $height: d,
91
+ $canScribble: p,
92
+ $canRender: z,
93
+ $renderAs: r
74
94
  }
75
95
  );
76
96
  }
77
- ), K = U;
97
+ ), g = _;
78
98
  export {
79
- K as default
99
+ g as default
80
100
  };
81
101
  //# sourceMappingURL=cue-canvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n canvasId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n const uploadImageToS3 = useCallback((file: File) => {\n // Todo @ayushsinghal1998: Update this once upload api is ready\n\n // eslint-disable-next-line no-console\n console.log(file, 'file to upload');\n\n return 'https://cuemath-intel.s3.amazonaws.com/media/cuemath-whiteboard/2b0b9468-d6d4-11e8-9bfb-02420a000032:practice/Screenshot 2025-04-16 at 3.18.32 PM.png_b9079e2f-4ae6-439c-8edd-104dbfdc6100';\n }, []);\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current) {\n const canvasConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n });\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","canvasId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","cueCanvasRef","onUpdateActiveTool","useCallback","tool","uploadImageToS3","file","useHeightExtender","useEffect","canvasConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper","CueCanvas$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAkCC;AAAA,EACtC,CAAC;AAAA,IACC,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,EAAA,MACP;AACE,UAAAC,IAAmBC,EAAuB,IAAI,GAC9C,EAAE,mBAAmBC,GAAoB,eAAAC,MAAkBC,EAAoB,GAE/EC,IAAeJ,EAA6B,IAAI,GAEhDK,IAAqBC;AAAA,MACzB,CAACC,MAAyB;AACxB,QAAAL,EAAcK,CAAI;AAAA,MACpB;AAAA,MACA,CAACL,CAAa;AAAA,IAAA,GAGVM,IAAkBF,EAAY,CAACG,OAI3B,QAAA,IAAIA,GAAM,gBAAgB,GAE3B,+LACN,CAAE,CAAA;AAEa,WAAAC,EAAA;AAAA,MAChB,kBAAAX;AAAA,MACA,cAAAK;AAAA,MACA,aAAAR;AAAA,IAAA,CACD,GAEDe,EAAU,MAAM;AACV,MAAAf,KAAeQ,EAAa,YAC9BA,EAAa,QAAQ,iBAErBH,EAAmBG,EAAa,OAAO;AAAA,IACzC,GACC,CAACR,GAAaK,CAAkB,CAAC,GAEpCU,EAAU,MAAM;AACV,MAAApB,KAAea,EAAa,WACjBA,EAAA,QAAQ,OAAOb,CAAW;AAAA,IACzC,GACC,CAACA,CAAW,CAAC,GAEhBoB,EAAU,MAAM;AACV,MAAAvB,KAAUgB,EAAa,WACzBA,EAAa,QAAQ;IACvB,GACC,CAAChB,GAAQD,CAAK,CAAC,GAElBwB,EAAU,MAAM;AACd,UAAItB,KAAaM,KAAY,CAACS,EAAa,SAAS;AAClD,cAAMQ,IAAeC,EAAgB1B,GAAOC,GAAQU,GAAUD,CAAQ,GAChEiB,IAAgBC,EAAkBjB,GAAUD,CAAQ,GACpDmB,IAAgB,IAAIC,EAAc;AAAA,UACtC,WAAAzB;AAAA,UACA,aAAAC;AAAA,UACA,oBAAAY;AAAA,UACA,gBAAAf;AAAA,UACA,iBAAAkB;AAAA,UACA,QAAApB;AAAA,UACA,QAAAM;AAAA,UACA,UAAAR;AAAA,UACA,UAAAW;AAAA,UACA,UAAAC;AAAA,QAAA,CACD;AAgBe,SAdQ,YAAY;AAClC,gBAAMkB,EAAc,OAAO;AAAA,YACzB,kBAAAjB;AAAA,YACA,cAAAa;AAAA,YACA,eAAAE;AAAA,YACA,aAAAvB;AAAA,UAAA,CACD,GACDa,EAAa,UAAUY,GAEnBpB,KACFK,EAAmBe,CAAa;AAAA,QAClC;MAIJ;AAAA,IAAA,GAEC,CAACxB,GAAWC,GAAaQ,GAAoBZ,GAAWM,CAAQ,CAAC,GAEpEgB,EAAU,MACD,MAAM;AACX,MAAIP,EAAa,YACfA,EAAa,QAAQ,WACrBA,EAAa,UAAU;AAAA,IACzB,GAED,CAAE,CAAA,GAGH,gBAAAc;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAKpB;AAAA,QACL,QAAQZ;AAAA,QACR,SAASC;AAAA,QACT,cAAcQ;AAAA,QACd,YAAYP;AAAA,QACZ,WAAWS;AAAA,MAAA;AAAA,IAAA;AAAA,EAGjB;AACF,GAEAsB,IAAepC;"}
1
+ {"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas, TCueCanvasTool } from './types/cue-canvas';\n\nimport { memo, useCallback, useEffect, useRef } from 'react';\n\nimport useIsLearnosityLoaded from '../worksheet/learnosity-preloader/use-is-learnosity-loaded';\nimport { CueCanvasCore } from './cue-canvas-core';\nimport { getCanvasConfig, getCanvasSettings } from './cue-canvas-helpers';\nimport { CueCanvasWrapper } from './cue-cavas-styled';\nimport { useCueCanvasActions } from './hooks/use-cue-canvas-actions';\nimport useHeightExtender from './hooks/use-height-extender';\nimport useUploadHelper from './hooks/use-upload-helper';\n\nconst CueCanvas: React.FC<ICueCanvas> = memo(\n ({\n canvasId,\n width,\n height,\n canRender,\n onUpdateHeight,\n initialData,\n onPublish,\n onSubscribe,\n userId,\n appended,\n canScribble,\n userType,\n renderAs = 'canvas',\n canvasConfig,\n updateCanvasConfig,\n }) => {\n const canvasElementRef = useRef<HTMLDivElement>(null);\n const { setActiveInstance: setActiveCueCanvas, setActiveTool } = useCueCanvasActions();\n const uploadImageToS3 = useUploadHelper({ userId, renderAs, userType });\n const { scriptStatus } = useIsLearnosityLoaded(); // This hook checks if the Polypad script is loaded + (additional scripts)\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\n\n const onUpdateActiveTool = useCallback(\n (tool: TCueCanvasTool) => {\n setActiveTool(tool);\n },\n [setActiveTool],\n );\n\n useHeightExtender({\n canvasElementRef,\n cueCanvasRef,\n canScribble,\n });\n useEffect(() => {\n if (!cueCanvasRef.current) {\n return;\n }\n\n if (canvasConfig?.gridName) {\n cueCanvasRef.current.changeGrid(canvasConfig?.gridName);\n }\n\n if (canvasConfig?.dimesion?.x && canvasConfig?.dimesion?.y && canvasConfig?.dimesion?.zoom) {\n cueCanvasRef.current.setViewPort({\n x: canvasConfig.dimesion.x,\n y: canvasConfig.dimesion.y,\n zoom: canvasConfig.dimesion.zoom,\n });\n }\n }, [\n canvasConfig?.gridName,\n canvasConfig?.dimesion?.x,\n userType,\n canvasConfig?.dimesion?.y,\n canvasConfig?.dimesion?.zoom,\n ]);\n\n useEffect(() => {\n if (canScribble && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n\n setActiveCueCanvas(cueCanvasRef.current);\n }\n }, [canScribble, setActiveCueCanvas]);\n\n useEffect(() => {\n if (initialData && cueCanvasRef.current) {\n cueCanvasRef.current.update(initialData);\n }\n }, [initialData]);\n\n useEffect(() => {\n if (height && cueCanvasRef.current) {\n cueCanvasRef.current.resetViewPort();\n }\n }, [height, width]);\n\n useEffect(() => {\n if (canRender && appended && !cueCanvasRef.current && scriptStatus === 'loaded') {\n const canvasCreateConfig = getCanvasConfig(width, height, renderAs, userType);\n const canvasSetting = getCanvasSettings(renderAs, userType);\n const cueCanvasCore = new CueCanvasCore({\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n canvasId,\n userType,\n renderAs,\n updateCanvasConfig,\n });\n\n const createCueCanvas = async () => {\n await cueCanvasCore.create({\n canvasElementRef,\n canvasConfig: canvasCreateConfig,\n canvasSetting,\n initialData,\n });\n cueCanvasRef.current = cueCanvasCore;\n\n if (canScribble) {\n setActiveCueCanvas(cueCanvasCore);\n }\n };\n\n createCueCanvas();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onPublish, onSubscribe, setActiveCueCanvas, canRender, appended, scriptStatus]);\n\n useEffect(() => {\n return () => {\n if (cueCanvasRef.current) {\n cueCanvasRef.current.destroy();\n cueCanvasRef.current = null;\n }\n };\n }, []);\n\n return (\n <CueCanvasWrapper\n id={renderAs === 'whiteboard' ? 'canvasContainer' : canvasId}\n ref={canvasElementRef}\n $width={width}\n $height={height}\n $canScribble={canScribble}\n $canRender={canRender}\n $renderAs={renderAs}\n />\n );\n },\n);\n\nexport default CueCanvas;\n"],"names":["CueCanvas","memo","canvasId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasConfig","updateCanvasConfig","canvasElementRef","useRef","setActiveCueCanvas","setActiveTool","useCueCanvasActions","uploadImageToS3","useUploadHelper","scriptStatus","useIsLearnosityLoaded","cueCanvasRef","onUpdateActiveTool","useCallback","tool","useHeightExtender","useEffect","_a","_b","_c","canvasCreateConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper","CueCanvas$1"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import e, { css as l } from "styled-components";
1
+ import i, { css as l } from "styled-components";
2
2
  import a from "../../assets/line-icons/icons/check.js";
3
3
  import d from "../../assets/line-icons/icons/down.js";
4
4
  import h from "../../assets/line-icons/icons/highlighter.js";
@@ -10,45 +10,47 @@ import $ from "../../assets/line-icons/icons/undo.js";
10
10
  import m from "../../assets/line-icons/icons/unlock.js";
11
11
  import p from "../ui/layout/flex-view.js";
12
12
  import { CANVAS_COLORS as c } from "./constants/constants.js";
13
- const S = e(u)(({
13
+ const W = i(p)`
14
+ border: 2px solid;
15
+ `, S = i(u)(({
14
16
  theme: r,
15
17
  $active: o,
16
18
  $activeColor: t,
17
19
  $shouldAnimate: s
18
20
  }) => {
19
- const { colors: i } = r, n = o ? c[t] : i.REAL_BLACK_50;
21
+ const { colors: e } = r, n = o ? c[t] : e.REAL_BLACK_50;
20
22
  return l`
21
23
  position: relative;
22
24
  transition: top 0.3s ease-in-out;
23
25
  top: ${o && s ? "0px" : "8px"};
24
26
  cursor: ${o ? "auto" : "pointer"};
25
27
  .pencil-dark-shade {
26
- fill: ${o ? n : i.GREY_3};
28
+ fill: ${o ? n : e.GREY_3};
27
29
  }
28
30
 
29
31
  .pencil-light-shade {
30
- fill: ${o ? n : i.GREY_2};
32
+ fill: ${o ? n : e.GREY_2};
31
33
  opacity: ${o ? 0.3 : 1};
32
34
  }
33
35
 
34
36
  ${!o && l`
35
37
  &:hover {
36
38
  .pencil-dark-shade {
37
- fill: ${i.GREY_4};
39
+ fill: ${e.GREY_4};
38
40
  }
39
41
  .pencil-light-shade {
40
- fill: ${i.GREY_2};
42
+ fill: ${e.GREY_2};
41
43
  }
42
44
  }
43
45
  `}
44
46
  `;
45
- }), G = e(g)(({
47
+ }), G = i(g)(({
46
48
  theme: r,
47
49
  $active: o,
48
50
  $activeColor: t,
49
51
  $shouldAnimate: s
50
52
  }) => {
51
- const { colors: i } = r, n = o ? c[t] : i.REAL_BLACK_50;
53
+ const { colors: e } = r, n = o ? c[t] : e.REAL_BLACK_50;
52
54
  return l`
53
55
  cursor: ${o ? "auto" : "pointer"};
54
56
  position: relative;
@@ -56,36 +58,36 @@ const S = e(u)(({
56
58
  top: ${o && s ? "0px" : "8px"};
57
59
 
58
60
  .ruler-rect-color {
59
- fill: ${o ? n : i.GREY_3};
61
+ fill: ${o ? n : e.GREY_3};
60
62
  }
61
63
 
62
64
  .ruler-stripe-base {
63
- fill: ${o ? n : i.GREY_2};
65
+ fill: ${o ? n : e.GREY_2};
64
66
  opacity: ${o ? 0.2 : 1};
65
67
  }
66
68
 
67
69
  .ruler-small-stripe {
68
- fill: ${i.REAL_BLACK};
70
+ fill: ${e.REAL_BLACK};
69
71
  }
70
72
 
71
73
  ${!o && l`
72
74
  &:hover {
73
75
  .ruler-rect-color {
74
- fill: ${i.GREY_4};
76
+ fill: ${e.GREY_4};
75
77
  }
76
78
  .ruler-stripe-base {
77
- fill: ${i.GREY_3};
79
+ fill: ${e.GREY_3};
78
80
  }
79
81
  }
80
82
  `}
81
83
  `;
82
- }), W = e(h)(({
84
+ }), Y = i(h)(({
83
85
  $active: r,
84
86
  theme: o,
85
87
  $activeColor: t,
86
88
  $shouldAnimate: s
87
89
  }) => {
88
- const { colors: i } = o, n = r ? c[t] : i.REAL_BLACK_50;
90
+ const { colors: e } = o, n = r ? c[t] : e.REAL_BLACK_50;
89
91
  return l`
90
92
  cursor: ${r ? "auto" : "pointer"};
91
93
  position: relative;
@@ -123,13 +125,13 @@ const S = e(u)(({
123
125
  }
124
126
  `}
125
127
  `;
126
- }), Y = e(x)(({
128
+ }), w = i(x)(({
127
129
  $active: r,
128
130
  theme: o,
129
131
  $activeColor: t,
130
132
  $shouldAnimate: s
131
133
  }) => {
132
- const { colors: i } = o, n = r ? c[t] : i.REAL_BLACK_50;
134
+ const { colors: e } = o, n = r ? c[t] : e.REAL_BLACK_50;
133
135
  return l`
134
136
  cursor: ${r ? "auto" : "pointer"};
135
137
  position: relative;
@@ -169,13 +171,13 @@ const S = e(u)(({
169
171
  }
170
172
  `}
171
173
  `;
172
- }), w = e(f)`
174
+ }), H = i(f)`
173
175
  width: 20px;
174
176
  height: 20px;
175
- `, H = e(m)`
177
+ `, P = i(m)`
176
178
  width: 20px;
177
179
  height: 20px;
178
- `, P = e(p)(
180
+ `, T = i(p)(
179
181
  ({ theme: r, $active: o }) => {
180
182
  const { colors: t } = r;
181
183
  return l`
@@ -215,13 +217,13 @@ const S = e(u)(({
215
217
  `}
216
218
  `;
217
219
  }
218
- ), T = e(a)`
220
+ ), U = i(a)`
219
221
  path {
220
222
  stroke: ${"white"};
221
223
  }
222
- `, U = e($)`
224
+ `, j = i($)`
223
225
  transform: scaleX(-1);
224
- `, j = e(p)`
226
+ `, D = i(p)`
225
227
  position: absolute;
226
228
  display: flex;
227
229
  justify-content: center;
@@ -229,7 +231,7 @@ const S = e(u)(({
229
231
  transition:
230
232
  opacity 0.5s ease,
231
233
  transform 0.5s ease;
232
- `, D = e(p)(
234
+ `, O = i(p)(
233
235
  ({ $canScribble: r, $canRender: o, $renderAs: t }) => `
234
236
  display: ${o ? "block" : "none"};
235
237
  opacity: ${r ? 1 : 0.5};
@@ -242,18 +244,18 @@ const S = e(u)(({
242
244
  `}
243
245
 
244
246
  `
245
- ), O = e(p)(
247
+ ), V = i(p)(
246
248
  ({ $color: r }) => `
247
249
  background: ${c[r]};
248
250
  `
249
- ), V = e(d)`
251
+ ), z = i(d)`
250
252
  pointer-events: none;
251
253
  transition: transform 0.5s ease;
252
254
  transform: ${({ $isAnimating: r }) => r ? "rotate(180deg)" : "rotate(0deg)"};
253
- `, z = e(p)`
255
+ `, F = i(p)`
254
256
  overflow: hidden;
255
257
  border-right: 1px solid ${({ theme: r }) => r.colors.GREY_1};
256
- `, F = e(p)`
258
+ `, M = i(p)`
257
259
  position: absolute;
258
260
  padding: 8px 8px 0 8px;
259
261
  overflow: hidden;
@@ -269,20 +271,21 @@ background: ${c[r]};
269
271
  }
270
272
  `;
271
273
  export {
272
- O as ColorPicker,
273
- D as CueCanvasWrapper,
274
- F as MenuWrapper,
275
- j as PaletteWrapper,
276
- z as PenIconWrapper,
277
- U as RedoIcon,
278
- T as StyledCheckIcon,
279
- V as StyledDownIcon,
280
- W as StyledHighlighterWrapper,
281
- w as StyledLockIcon,
274
+ V as ColorPicker,
275
+ O as CueCanvasWrapper,
276
+ W as HWWrapper,
277
+ M as MenuWrapper,
278
+ D as PaletteWrapper,
279
+ F as PenIconWrapper,
280
+ j as RedoIcon,
281
+ U as StyledCheckIcon,
282
+ z as StyledDownIcon,
283
+ Y as StyledHighlighterWrapper,
284
+ H as StyledLockIcon,
282
285
  S as StyledPencilIcon,
283
286
  G as StyledRulerIcon,
284
- Y as StyledSketchWrapper,
285
- H as StyledUnlockIcon,
286
- P as StyledWrapper
287
+ w as StyledSketchWrapper,
288
+ P as StyledUnlockIcon,
289
+ T as StyledWrapper
287
290
  };
288
291
  //# sourceMappingURL=cue-cavas-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n border: 1px solid ${colors.GREY_1};\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)`\n position: absolute;\n display: flex;\n justify-content: center;\n top: -24px; //-16 for icon, -8 for gap\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["StyledPencilIcon","styled","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","FlexView","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"cue-cavas-styled.js","sources":["../../../src/features/cue-canvas/cue-cavas-styled.tsx"],"sourcesContent":["import type { ICueCanvasWrapper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport DownIcon from '../../assets/line-icons/icons/down';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\nimport LockIcon from '../../assets/line-icons/icons/lock';\nimport PencilIcon from '../../assets/line-icons/icons/pencil';\nimport RulerIcon from '../../assets/line-icons/icons/ruler';\nimport SketchIcon from '../../assets/line-icons/icons/sketch';\nimport UndoIcon from '../../assets/line-icons/icons/undo';\nimport UnlockIcon from '../../assets/line-icons/icons/unlock';\nimport FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n $shouldAnimate: boolean;\n}\nexport const HWWrapper = styled(FlexView)`\n border: 2px solid;\n`;\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n cursor: ${$active ? 'auto' : 'pointer'};\n .pencil-dark-shade {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .pencil-light-shade {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.3 : 1};\n }\n\n ${!$active &&\n css`\n &:hover {\n .pencil-dark-shade {\n fill: ${colors.GREY_4};\n }\n .pencil-light-shade {\n fill: ${colors.GREY_2};\n }\n }\n `}\n `;\n});\n\nexport const StyledRulerIcon = styled(RulerIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n .ruler-rect-color {\n fill: ${$active ? color : colors.GREY_3};\n }\n\n .ruler-stripe-base {\n fill: ${$active ? color : colors.GREY_2};\n opacity: ${$active ? 0.2 : 1};\n }\n\n .ruler-small-stripe {\n fill: ${colors.REAL_BLACK};\n }\n\n ${!$active &&\n css`\n &:hover {\n .ruler-rect-color {\n fill: ${colors.GREY_4};\n }\n .ruler-stripe-base {\n fill: ${colors.GREY_3};\n }\n }\n `}\n `;\n});\n\nexport const StyledHighlighterWrapper = styled(HighlighterIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n ${!$active &&\n css`\n &:hover {\n .highlighter-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .highlighter-stripe {\n fill: ${theme.colors.BLACK_50};\n }\n\n .highlighter-light-body {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n .highlighter-tip {\n fill: ${color};\n }\n\n .highlighter-stripe {\n fill: ${color};\n opacity: 0.6;\n }\n\n .highlighter-light-body {\n fill: ${color};\n opacity: 0.2;\n }\n `}\n `;\n});\n\nexport const StyledSketchWrapper = styled(SketchIcon)<IToolProps>(({\n $active,\n theme,\n $activeColor,\n $shouldAnimate,\n}) => {\n const { colors } = theme;\n const color = $active ? CANVAS_COLORS[$activeColor] : colors.REAL_BLACK_50;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n position: relative;\n transition: top 0.3s ease-in-out;\n top: ${$active && $shouldAnimate ? '0px' : '8px'};\n\n ${!$active &&\n css`\n &:hover {\n .pen-tip {\n fill: ${theme.colors.BLACK};\n }\n\n .pen-dark-shade {\n fill: ${theme.colors.BLACK_50};\n }\n\n .pen-light-shade {\n fill: ${theme.colors.BLACK_10};\n }\n }\n `}\n\n ${$active &&\n css`\n cursor: ${$active ? 'auto' : 'pointer'};\n .pen-tip {\n fill: ${color};\n }\n\n .pen-dark-shade {\n fill: ${color};\n opacity: 0.6;\n }\n\n .pen-light-shade {\n fill: ${color};\n opacity: 0.4;\n }\n `}\n `;\n});\n\nexport const StyledLockIcon = styled(LockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledUnlockIcon = styled(UnlockIcon)`\n width: 20px;\n height: 20px;\n`;\n\nexport const StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor' | '$shouldAnimate'>>(\n ({ theme, $active }) => {\n const { colors } = theme;\n\n return css`\n cursor: ${$active ? 'auto' : 'pointer'};\n width: 32px;\n height: 32px;\n justify-content: center;\n align-items: center;\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n border: 1px solid ${colors.GREY_1};\n\n ${!$active &&\n css`\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\n }\n `}\n\n ${$active &&\n css`\n cursor: auto;\n background: ${colors.BLACK};\n .tile-icon {\n fill: ${colors.BLACK};\n }\n svg {\n path,\n rect,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n },\n);\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nexport const PaletteWrapper = styled(FlexView)`\n position: absolute;\n display: flex;\n justify-content: center;\n top: -24px; //-16 for icon, -8 for gap\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n`;\n\nexport const CueCanvasWrapper = styled(FlexView)<ICueCanvasWrapper>(\n ({ $canScribble, $canRender, $renderAs }) => `\n display: ${$canRender ? 'block' : 'none'};\n opacity: ${$canScribble ? 1 : 0.5};\n pointer-events: ${$canScribble ? 'auto' : 'none'};\n\n ${\n $renderAs === 'canvas' &&\n $canScribble &&\n `\n background-image: radial-gradient(rgb(43 43 43 / 8%) 2px, transparent 10%);\n background-position:0 0,32px 32px;\n background-size: 30px 32px;\n `\n }\n \n`,\n);\n\nexport const ColorPicker = styled(FlexView)<{ $color: TCueCanvasColors }>(\n ({ $color }) => `\nbackground: ${CANVAS_COLORS[$color]};\n`,\n);\n\nexport const StyledDownIcon = styled(DownIcon)<{ $isAnimating: boolean }>`\n pointer-events: none;\n transition: transform 0.5s ease;\n transform: ${({ $isAnimating }) => ($isAnimating ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n\nexport const PenIconWrapper = styled(FlexView)`\n overflow: hidden;\n border-right: 1px solid ${({ theme }) => theme.colors.GREY_1};\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n padding: 8px 8px 0 8px;\n overflow: hidden;\n bottom: 58px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n transition:\n opacity 0.5s ease,\n transform 0.5s ease;\n\n :hover {\n cursor: pointer;\n }\n`;\n"],"names":["HWWrapper","styled","FlexView","StyledPencilIcon","PencilIcon","theme","$active","$activeColor","$shouldAnimate","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledLockIcon","LockIcon","StyledUnlockIcon","UnlockIcon","StyledWrapper","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}
@@ -1,74 +1,81 @@
1
- import { useMessageBrokerChannel as q } from "@cuemath/cue-message-broker";
2
- import { useState as x, useRef as w, useMemo as E, useCallback as h } from "react";
3
- const I = (c) => ({
4
- userId: c.userId,
5
- data: c.data,
6
- height: c.height,
7
- responseId: c.responseId
8
- }), F = (c, f, g) => {
9
- const [d, m] = x(
1
+ import { useMessageBrokerChannel as x } from "@cuemath/cue-message-broker";
2
+ import { useState as E, useRef as F, useMemo as H, useCallback as g } from "react";
3
+ const l = (r) => ({
4
+ userId: r.userId,
5
+ data: r.data,
6
+ height: r.height,
7
+ responseId: r.responseId,
8
+ gridName: r.gridName,
9
+ dimension: r.dimension
10
+ }), W = (r, m, f, a = "canvas") => {
11
+ const [p, b] = E(
10
12
  () => {
11
- var o, r;
12
- const n = {};
13
- if (!g) return n;
14
- for (const { message: a } of g) {
15
- const e = (o = a.payload) == null ? void 0 : o.eventPayload, s = e == null ? void 0 : e.responseId;
13
+ var o, n;
14
+ const c = {};
15
+ if (!f) return c;
16
+ for (const { message: i } of f) {
17
+ const e = (o = i.payload) == null ? void 0 : o.eventPayload, s = e == null ? void 0 : e.responseId;
16
18
  if (!(e != null && e.responseId)) continue;
17
- const t = I(e);
18
- s && n[s] ? (r = n[s]) == null || r.push(t) : n[s] = [t];
19
+ const t = l(e);
20
+ s && c[s] ? (n = c[s]) == null || n.push(t) : c[s] = [t];
19
21
  }
20
- return n;
22
+ return c;
21
23
  }
22
- ), u = w({}), b = E(
24
+ ), u = F({}), C = H(
23
25
  () => ({
24
- channelId: c,
25
- ttl: 0,
26
- logger: f
26
+ channelId: r,
27
+ ttl: a === "canvas" ? 0 : 24,
28
+ logger: m
27
29
  }),
28
- [c, f]
29
- ), S = h((n, o) => {
30
- u.current = { ...u.current, [n]: o };
31
- }, []), C = h(
32
- (n, o) => {
33
- const r = {};
34
- n.forEach((a) => {
35
- var p;
36
- const { payload: e } = a.message, { eventPayload: s } = e, t = s == null ? void 0 : s.responseId, R = s == null ? void 0 : s.data, B = s == null ? void 0 : s.userId, j = s == null ? void 0 : s.height, l = u.current[t];
37
- if (!o && l)
38
- l({
39
- data: R,
40
- height: j,
41
- userId: B,
42
- responseId: t
30
+ [r, m, a]
31
+ ), S = g((c, o) => {
32
+ u.current = { ...u.current, [c]: o };
33
+ }, []), M = g(
34
+ (c, o) => {
35
+ const n = {};
36
+ c.forEach((i) => {
37
+ var k;
38
+ const { payload: e } = i.message, { eventPayload: s } = e, t = s == null ? void 0 : s.responseId, B = s == null ? void 0 : s.data, j = s == null ? void 0 : s.userId, w = s == null ? void 0 : s.height, d = u.current[t];
39
+ if (!o && d)
40
+ d({
41
+ data: B,
42
+ height: w,
43
+ userId: j,
44
+ responseId: t,
45
+ gridName: s == null ? void 0 : s.gridName,
46
+ dimension: s == null ? void 0 : s.dimension
43
47
  });
44
48
  else {
45
- const k = I(s);
46
- t && r[t] ? (p = r[t]) == null || p.push(k) : r[t] = [k];
49
+ const I = l(s);
50
+ t && n[t] ? (k = n[t]) == null || k.push(I) : n[t] = [I];
47
51
  }
48
- }), Object.keys(r).length > 0 && m((a) => {
49
- const e = { ...a };
50
- return Object.keys(r).forEach((s) => {
52
+ }), Object.keys(n).length > 0 && b((i) => {
53
+ const e = { ...i };
54
+ return Object.keys(n).forEach((s) => {
51
55
  var t;
52
- s && e[s] ? (t = e[s]) == null || t.push(...r[s] ?? []) : e[s] = r[s] ?? [];
56
+ s && e[s] ? (t = e[s]) == null || t.push(...n[s] ?? []) : e[s] = n[s] ?? [];
53
57
  }), e;
54
58
  });
55
59
  },
56
60
  []
57
- ), { publish: D, channelStatus: M, channel: i } = q({
58
- channelOptions: b,
59
- consumerFn: C
60
- }), O = h(() => {
61
- i && i.destroyChannel();
62
- }, [i]);
61
+ ), { publish: D, channelStatus: R, channel: h, channelMetadata: N, setChannelMetadata: O } = x({
62
+ channelOptions: C,
63
+ consumerFn: M,
64
+ metadataRequired: a === "whiteboard"
65
+ }), q = g(() => {
66
+ h && h.destroyChannel();
67
+ }, [h]);
63
68
  return {
64
69
  publishStrokes: D,
65
- channelStatus: M,
66
- closeChannel: O,
67
- initialStrokesData: d,
68
- registerCallback: S
70
+ channelStatus: R,
71
+ closeChannel: q,
72
+ initialStrokesData: p,
73
+ registerCallback: S,
74
+ setChannelMetadata: O,
75
+ channelMetadata: N
69
76
  };
70
- }, $ = F;
77
+ }, A = W;
71
78
  export {
72
- $ as default
79
+ A as default
73
80
  };
74
81
  //# sourceMappingURL=use-canvas-sync-broker.js.map