@cuemath/leap 2.8.50 → 2.8.51-beta-0.1
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.
- package/dist/assets/illustrations/illustrations.js +10 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/alarm.js +41 -0
- package/dist/assets/line-icons/icons/alarm.js.map +1 -0
- package/dist/assets/line-icons/icons/clear-all.js +53 -0
- package/dist/assets/line-icons/icons/clear-all.js.map +1 -0
- package/dist/assets/line-icons/icons/dart.js +23 -0
- package/dist/assets/line-icons/icons/dart.js.map +1 -0
- package/dist/assets/line-icons/icons/download.js +48 -0
- package/dist/assets/line-icons/icons/download.js.map +1 -0
- package/dist/assets/line-icons/icons/equation.js +48 -0
- package/dist/assets/line-icons/icons/equation.js.map +1 -0
- package/dist/assets/line-icons/icons/grid-icon.js +42 -0
- package/dist/assets/line-icons/icons/grid-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/pan.js +98 -0
- package/dist/assets/line-icons/icons/pan.js.map +1 -0
- package/dist/assets/line-icons/icons/puzzle.js +25 -0
- package/dist/assets/line-icons/icons/puzzle.js.map +1 -0
- package/dist/assets/line-icons/icons/square-checked-grid.js +25 -0
- package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/square-dots.js +32 -0
- package/dist/assets/line-icons/icons/square-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/square-grid.js +17 -0
- package/dist/assets/line-icons/icons/square-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/square2-grid.js +13 -0
- package/dist/assets/line-icons/icons/square2-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/status.js +41 -0
- package/dist/assets/line-icons/icons/status.js.map +1 -0
- package/dist/assets/line-icons/icons/testtube.js +33 -0
- package/dist/assets/line-icons/icons/testtube.js.map +1 -0
- package/dist/assets/line-icons/icons/text-icon.js +48 -0
- package/dist/assets/line-icons/icons/text-icon.js.map +1 -0
- package/dist/assets/line-icons/icons/tri-dots.js +27 -0
- package/dist/assets/line-icons/icons/tri-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/tri-grid.js +27 -0
- package/dist/assets/line-icons/icons/tri-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/tri2-dots.js +27 -0
- package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -0
- package/dist/assets/line-icons/icons/tri2-grid.js +27 -0
- package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -0
- package/dist/assets/line-icons/icons/upload.js +48 -0
- package/dist/assets/line-icons/icons/upload.js.map +1 -0
- package/dist/assets/line-icons/icons/zoom-in.js +58 -0
- package/dist/assets/line-icons/icons/zoom-in.js.map +1 -0
- package/dist/assets/line-icons/icons/zoom-out.js +48 -0
- package/dist/assets/line-icons/icons/zoom-out.js.map +1 -0
- package/dist/features/cue-canvas/cue-canvas-core.js +138 -49
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js +88 -29
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +57 -49
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +127 -92
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-palette.js +49 -0
- package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js +62 -0
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js +62 -0
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/icon-map.js +58 -0
- package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +56 -0
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/tool.js +34 -0
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -0
- package/dist/features/cue-canvas/toolbar/toolbar.js +18 -87
- package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +16 -0
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -0
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +30 -29
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu-styled.js +28 -14
- package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +30 -15
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/theme/button.js +17 -102
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +7 -7
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
- package/dist/index.d.ts +40 -3
- package/dist/index.js +481 -471
- package/dist/index.js.map +1 -1
- package/dist/static/chapter-header-bg-2.c8d96894.svg +1 -0
- package/dist/static/chapter-header-bg.4ed173c2.svg +1 -0
- package/dist/static/node-custom-test-bg.d3b757be.svg +1 -0
- package/dist/static/node-learn-bg.b61f815c.svg +1 -0
- package/dist/static/node-practice-bg.16cbaf2a.svg +1 -0
- package/dist/static/node-project-bg.e6a33e28.svg +1 -0
- package/dist/static/node-puzzle-bg.3422135c.svg +1 -0
- package/dist/static/node-recap-bg.546154e4.svg +1 -0
- package/dist/static/node-test-prep-bg.42c0b9c4.svg +1 -0
- package/dist/static/node-video-bg.3df3f73a.svg +1 -0
- package/package.json +3 -2
- package/dist/features/cue-canvas/toolbar/color-pallete.js +0 -49
- package/dist/features/cue-canvas/toolbar/color-pallete.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cue-canvas.js","sources":["../../../src/features/cue-canvas/cue-canvas.tsx"],"sourcesContent":["import type { ICueCanvas } from './types/cue-canvas';\n\nimport { memo, 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 responseId,\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 } = useCueCanvasActions();\n\n const cueCanvasRef = useRef<CueCanvasCore | null>(null);\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);\n const canvasSetting = getCanvasSettings(renderAs);\n const cueCanvasCore = new CueCanvasCore(\n onPublish,\n onSubscribe,\n onUpdateHeight,\n height,\n userId,\n responseId,\n userType,\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","responseId","width","height","canRender","onUpdateHeight","initialData","onPublish","onSubscribe","userId","appended","canScribble","userType","renderAs","canvasElementRef","useRef","setActiveCueCanvas","useCueCanvasActions","cueCanvasRef","useHeightExtender","useEffect","canvasConfig","getCanvasConfig","canvasSetting","getCanvasSettings","cueCanvasCore","CueCanvasCore","jsx","CueCanvasWrapper","CueCanvas$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAkCC;AAAA,EACtC,CAAC;AAAA,IACC,YAAAC;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,
|
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 responseId,\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);\n const cueCanvasCore = new CueCanvasCore(\n onPublish,\n onSubscribe,\n onUpdateActiveTool,\n onUpdateHeight,\n uploadImageToS3,\n height,\n userId,\n responseId,\n userType,\n renderAs,\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","responseId","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,YAAAC;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,CAAQ,GAC1CkB,IAAgB,IAAIC;AAAA,UACxBzB;AAAA,UACAC;AAAA,UACAY;AAAA,UACAf;AAAA,UACAkB;AAAA,UACApB;AAAA,UACAM;AAAA,UACAR;AAAA,UACAW;AAAA,UACAC;AAAA,QAAA;AAgBc,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,86 +1,95 @@
|
|
1
|
-
import s, { css as
|
1
|
+
import s, { css as n } from "styled-components";
|
2
2
|
import c from "../../assets/line-icons/icons/check.js";
|
3
|
-
import
|
4
|
-
import h from "../../assets/line-icons/icons/
|
5
|
-
import u from "../../assets/line-icons/icons/
|
6
|
-
import
|
3
|
+
import d from "../../assets/line-icons/icons/down.js";
|
4
|
+
import h from "../../assets/line-icons/icons/highlighter.js";
|
5
|
+
import u from "../../assets/line-icons/icons/pencil.js";
|
6
|
+
import f from "../../assets/line-icons/icons/ruler.js";
|
7
|
+
import g from "../../assets/line-icons/icons/sketch.js";
|
8
|
+
import $ from "../../assets/line-icons/icons/undo.js";
|
7
9
|
import p from "../ui/layout/flex-view.js";
|
8
|
-
import { CANVAS_COLORS as
|
9
|
-
const
|
10
|
+
import { CANVAS_COLORS as a } from "./constants/constants.js";
|
11
|
+
const b = s(u)(({
|
10
12
|
theme: r,
|
11
13
|
$active: o,
|
12
|
-
$activeColor: t
|
14
|
+
$activeColor: t,
|
15
|
+
$shouldAnimate: l
|
13
16
|
}) => {
|
14
|
-
const { colors:
|
15
|
-
return
|
17
|
+
const { colors: e } = r, i = o ? a[t] : e.REAL_BLACK_50;
|
18
|
+
return n`
|
16
19
|
position: relative;
|
17
20
|
transition: top 0.3s ease-in-out;
|
18
|
-
top: ${o ? "0px" : "8px"};
|
21
|
+
top: ${o && l ? "0px" : "8px"};
|
19
22
|
cursor: ${o ? "auto" : "pointer"};
|
20
23
|
.pencil-dark-shade {
|
21
|
-
fill: ${o ? i :
|
24
|
+
fill: ${o ? i : e.GREY_3};
|
22
25
|
}
|
23
26
|
|
24
27
|
.pencil-light-shade {
|
25
|
-
fill: ${o ? i :
|
28
|
+
fill: ${o ? i : e.GREY_2};
|
26
29
|
opacity: ${o ? 0.3 : 1};
|
27
30
|
}
|
28
31
|
|
29
|
-
${!o &&
|
32
|
+
${!o && n`
|
30
33
|
&:hover {
|
31
34
|
.pencil-dark-shade {
|
32
|
-
fill: ${
|
35
|
+
fill: ${e.GREY_4};
|
33
36
|
}
|
34
37
|
.pencil-light-shade {
|
35
|
-
fill: ${
|
38
|
+
fill: ${e.GREY_2};
|
36
39
|
}
|
37
40
|
}
|
38
41
|
`}
|
39
42
|
`;
|
40
|
-
}),
|
41
|
-
|
42
|
-
|
43
|
+
}), I = s(f)(({
|
44
|
+
theme: r,
|
45
|
+
$active: o,
|
46
|
+
$activeColor: t,
|
47
|
+
$shouldAnimate: l
|
48
|
+
}) => {
|
49
|
+
const { colors: e } = r, i = o ? a[t] : e.REAL_BLACK_50;
|
50
|
+
return n`
|
43
51
|
cursor: ${o ? "auto" : "pointer"};
|
44
52
|
position: relative;
|
45
53
|
transition: top 0.3s ease-in-out;
|
46
|
-
top: ${o ? "0px" : "8px"};
|
54
|
+
top: ${o && l ? "0px" : "8px"};
|
47
55
|
|
48
56
|
.ruler-rect-color {
|
49
|
-
fill: ${o ? i :
|
57
|
+
fill: ${o ? i : e.GREY_3};
|
50
58
|
}
|
51
59
|
|
52
60
|
.ruler-stripe-base {
|
53
|
-
fill: ${o ? i :
|
61
|
+
fill: ${o ? i : e.GREY_2};
|
54
62
|
opacity: ${o ? 0.2 : 1};
|
55
63
|
}
|
56
64
|
|
57
65
|
.ruler-small-stripe {
|
58
|
-
fill: ${
|
66
|
+
fill: ${e.REAL_BLACK};
|
59
67
|
}
|
60
68
|
|
61
|
-
${!o &&
|
69
|
+
${!o && n`
|
62
70
|
&:hover {
|
63
71
|
.ruler-rect-color {
|
64
|
-
fill: ${
|
72
|
+
fill: ${e.GREY_4};
|
65
73
|
}
|
66
74
|
.ruler-stripe-base {
|
67
|
-
fill: ${
|
75
|
+
fill: ${e.GREY_3};
|
68
76
|
}
|
69
77
|
}
|
70
78
|
`}
|
71
79
|
`;
|
72
|
-
}),
|
80
|
+
}), B = s(h)(({
|
73
81
|
$active: r,
|
74
82
|
theme: o,
|
75
|
-
$activeColor: t
|
83
|
+
$activeColor: t,
|
84
|
+
$shouldAnimate: l
|
76
85
|
}) => {
|
77
|
-
const { colors:
|
78
|
-
return
|
86
|
+
const { colors: e } = o, i = r ? a[t] : e.REAL_BLACK_50;
|
87
|
+
return n`
|
79
88
|
cursor: ${r ? "auto" : "pointer"};
|
80
89
|
position: relative;
|
81
90
|
transition: top 0.3s ease-in-out;
|
82
|
-
top: ${r ? "0px" : "8px"};
|
83
|
-
${!r &&
|
91
|
+
top: ${r && l ? "0px" : "8px"};
|
92
|
+
${!r && n`
|
84
93
|
&:hover {
|
85
94
|
.highlighter-tip {
|
86
95
|
fill: ${o.colors.BLACK};
|
@@ -96,7 +105,7 @@ const C = s(h)(({
|
|
96
105
|
}
|
97
106
|
`}
|
98
107
|
|
99
|
-
${r &&
|
108
|
+
${r && n`
|
100
109
|
.highlighter-tip {
|
101
110
|
fill: ${i};
|
102
111
|
}
|
@@ -112,19 +121,20 @@ const C = s(h)(({
|
|
112
121
|
}
|
113
122
|
`}
|
114
123
|
`;
|
115
|
-
}),
|
124
|
+
}), K = s(g)(({
|
116
125
|
$active: r,
|
117
126
|
theme: o,
|
118
|
-
$activeColor: t
|
127
|
+
$activeColor: t,
|
128
|
+
$shouldAnimate: l
|
119
129
|
}) => {
|
120
|
-
const { colors:
|
121
|
-
return
|
130
|
+
const { colors: e } = o, i = r ? a[t] : e.REAL_BLACK_50;
|
131
|
+
return n`
|
122
132
|
cursor: ${r ? "auto" : "pointer"};
|
123
133
|
position: relative;
|
124
134
|
transition: top 0.3s ease-in-out;
|
125
|
-
top: ${r ? "0px" : "8px"};
|
135
|
+
top: ${r && l ? "0px" : "8px"};
|
126
136
|
|
127
|
-
${!r &&
|
137
|
+
${!r && n`
|
128
138
|
&:hover {
|
129
139
|
.pen-tip {
|
130
140
|
fill: ${o.colors.BLACK};
|
@@ -140,7 +150,7 @@ const C = s(h)(({
|
|
140
150
|
}
|
141
151
|
`}
|
142
152
|
|
143
|
-
${r &&
|
153
|
+
${r && n`
|
144
154
|
cursor: ${r ? "auto" : "pointer"};
|
145
155
|
.pen-tip {
|
146
156
|
fill: ${i};
|
@@ -157,54 +167,54 @@ const C = s(h)(({
|
|
157
167
|
}
|
158
168
|
`}
|
159
169
|
`;
|
160
|
-
}),
|
161
|
-
theme: r,
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
170
|
+
}), W = s(p)(
|
171
|
+
({ theme: r, $active: o }) => {
|
172
|
+
const { colors: t } = r;
|
173
|
+
return n`
|
174
|
+
cursor: ${o ? "auto" : "pointer"};
|
175
|
+
width: 32px;
|
176
|
+
height: 32px;
|
177
|
+
justify-content: center;
|
178
|
+
align-items: center;
|
179
|
+
border: 1px solid ${t.WHITE};
|
180
|
+
border-radius: 50%;
|
181
|
+
transition: all 100ms ease-in-out;
|
171
182
|
|
172
|
-
border: 1px solid ${t.WHITE};
|
173
|
-
border-radius: 50%;
|
174
|
-
transition: all 100ms ease-in-out;
|
175
|
-
|
176
|
-
&:hover {
|
177
|
-
border: 1px solid ${t.REAL_BLACK};
|
178
|
-
}
|
179
|
-
${!o && e`
|
180
183
|
&:hover {
|
181
184
|
border: 1px solid ${t.REAL_BLACK};
|
182
185
|
}
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
cursor: auto;
|
187
|
-
background: ${t.BLACK};
|
188
|
-
svg {
|
189
|
-
path,
|
190
|
-
circle {
|
191
|
-
stroke: ${t.WHITE};
|
192
|
-
}
|
193
|
-
.hover-tiles {
|
194
|
-
stroke: ${t.WHITE};
|
186
|
+
${!o && n`
|
187
|
+
&:hover {
|
188
|
+
border: 1px solid ${t.REAL_BLACK};
|
195
189
|
}
|
196
|
-
|
197
|
-
|
198
|
-
|
190
|
+
`}
|
191
|
+
|
192
|
+
${o && n`
|
193
|
+
cursor: auto;
|
194
|
+
background: ${t.BLACK};
|
195
|
+
svg {
|
196
|
+
path,
|
197
|
+
circle {
|
198
|
+
stroke: ${t.WHITE};
|
199
|
+
}
|
200
|
+
.hover-tiles {
|
201
|
+
stroke: ${t.WHITE};
|
202
|
+
}
|
203
|
+
.hover-eraser {
|
204
|
+
stroke: none;
|
205
|
+
fill: ${t.WHITE};
|
206
|
+
}
|
199
207
|
}
|
200
|
-
}
|
201
|
-
|
202
|
-
|
203
|
-
|
208
|
+
`}
|
209
|
+
`;
|
210
|
+
}
|
211
|
+
), G = s(c)`
|
204
212
|
path {
|
205
213
|
stroke: ${"white"};
|
206
214
|
}
|
207
|
-
`,
|
215
|
+
`, S = s($)`
|
216
|
+
transform: scaleX(-1);
|
217
|
+
`, Y = s(p)`
|
208
218
|
position: absolute;
|
209
219
|
display: flex;
|
210
220
|
justify-content: center;
|
@@ -212,7 +222,7 @@ const C = s(h)(({
|
|
212
222
|
transition:
|
213
223
|
opacity 0.5s ease,
|
214
224
|
transform 0.5s ease;
|
215
|
-
`,
|
225
|
+
`, w = s(p)(
|
216
226
|
({ $canScribble: r, $canRender: o, $renderAs: t }) => `
|
217
227
|
display: ${o ? "block" : "none"};
|
218
228
|
opacity: ${r ? 1 : 0.5};
|
@@ -225,20 +235,45 @@ const C = s(h)(({
|
|
225
235
|
`}
|
226
236
|
|
227
237
|
`
|
228
|
-
),
|
238
|
+
), H = s(p)(
|
229
239
|
({ $color: r }) => `
|
230
|
-
background: ${
|
240
|
+
background: ${a[r]};
|
231
241
|
`
|
232
|
-
)
|
242
|
+
), P = s(d)`
|
243
|
+
pointer-events: none;
|
244
|
+
transition: transform 0.5s ease;
|
245
|
+
transform: ${({ $isAnimating: r }) => r ? "rotate(180deg)" : "rotate(0deg)"};
|
246
|
+
`, T = s(p)`
|
247
|
+
overflow: hidden;
|
248
|
+
border-right: 1px solid ${({ theme: r }) => r.colors.GREY_1};
|
249
|
+
`, j = s(p)`
|
250
|
+
position: absolute;
|
251
|
+
padding: 8px 8px 0 8px;
|
252
|
+
overflow: hidden;
|
253
|
+
bottom: 58px;
|
254
|
+
border-top-left-radius: 8px;
|
255
|
+
border-top-right-radius: 8px;
|
256
|
+
transition:
|
257
|
+
opacity 0.5s ease,
|
258
|
+
transform 0.5s ease;
|
259
|
+
|
260
|
+
:hover {
|
261
|
+
cursor: pointer;
|
262
|
+
}
|
263
|
+
`;
|
233
264
|
export {
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
265
|
+
H as ColorPicker,
|
266
|
+
w as CueCanvasWrapper,
|
267
|
+
j as MenuWrapper,
|
268
|
+
Y as PaletteWrapper,
|
269
|
+
T as PenIconWrapper,
|
270
|
+
S as RedoIcon,
|
271
|
+
G as StyledCheckIcon,
|
272
|
+
P as StyledDownIcon,
|
273
|
+
B as StyledHighlighterWrapper,
|
274
|
+
b as StyledPencilIcon,
|
275
|
+
I as StyledRulerIcon,
|
276
|
+
K as StyledSketchWrapper,
|
277
|
+
W as StyledWrapper
|
243
278
|
};
|
244
279
|
//# 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 { ICueCanvasWrappper, TCueCanvasColors } from './types/cue-canvas';\n\nimport styled, { css } from 'styled-components';\n\nimport TickIcon from '../../assets/line-icons/icons/check';\nimport HighlighterIcon from '../../assets/line-icons/icons/highlighter';\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 FlexView from '../ui/layout/flex-view';\nimport { CANVAS_COLORS } from './constants/constants';\n\ninterface IToolProps {\n $active: boolean;\n $activeColor: TCueCanvasColors;\n}\n\nexport const StyledPencilIcon = styled(PencilIcon)<IToolProps>(({\n theme,\n $active,\n $activeColor,\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 ? '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>(({ theme, $active, $activeColor }) => {\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 ? '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}) => {\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 ? '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}) => {\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 ? '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 StyledWrapper = styled(FlexView)<Omit<IToolProps, '$activeColor'>>(({\n theme,\n $active,\n}) => {\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\n border: 1px solid ${colors.WHITE};\n border-radius: 50%;\n transition: all 100ms ease-in-out;\n\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\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 svg {\n path,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-tiles {\n stroke: ${colors.WHITE};\n }\n .hover-eraser {\n stroke: none;\n fill: ${colors.WHITE};\n }\n }\n `}\n `;\n});\n\nexport const StyledCheckIcon = styled(TickIcon)`\n path {\n stroke: ${'white'};\n }\n`;\n\nexport const PalleteWrapper = 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)<ICueCanvasWrappper>(\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"],"names":["StyledPencilIcon","styled","PencilIcon","theme","$active","$activeColor","colors","color","CANVAS_COLORS","css","StyledRulerIcon","RulerIcon","StyledHighlighterWrapper","HighlighterIcon","StyledSketchWrapper","SketchIcon","StyledWrapper","FlexView","StyledCheckIcon","TickIcon","PalleteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color"],"mappings":";;;;;;;;AAiBO,MAAMA,IAAmBC,EAAOC,CAAU,EAAc,CAAC;AAAA,EAC9D,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAH,GACbI,IAAQH,IAAUI,EAAcH,CAAY,IAAIC,EAAO;AAEtD,SAAAG;AAAA;AAAA;AAAA,WAGEL,IAAU,QAAQ,KAAK;AAAA,cACpBA,IAAU,SAAS,SAAS;AAAA;AAAA,cAE5BA,IAAUG,IAAQD,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA,cAI/BF,IAAUG,IAAQD,EAAO,MAAM;AAAA,iBAC5BF,IAAU,MAAM,CAAC;AAAA;AAAA;AAAA,MAG5B,CAACA,KACHK;AAAA;AAAA;AAAA,kBAGcH,EAAO,MAAM;AAAA;AAAA;AAAA,kBAGbA,EAAO,MAAM;AAAA;AAAA;AAAA,KAG1B;AAAA;AAEL,CAAC,GAEYI,IAAkBT,EAAOU,CAAS,EAAc,CAAC,EAAE,OAAAR,GAAO,SAAAC,GAAS,cAAAC,QAAmB;AAC3F,QAAA,EAAE,QAAAC,EAAW,IAAAH,GACbI,IAAQH,IAAUI,EAAcH,CAAY,IAAIC,EAAO;AAEtD,SAAAG;AAAA,cACKL,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,IAAU,QAAQ,KAAK;AAAA;AAAA;AAAA,cAGpBA,IAAUG,IAAQD,EAAO,MAAM;AAAA;AAAA;AAAA;AAAA,cAI/BF,IAAUG,IAAQD,EAAO,MAAM;AAAA,iBAC5BF,IAAU,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,cAIpBE,EAAO,UAAU;AAAA;AAAA;AAAA,MAGzB,CAACF,KACHK;AAAA;AAAA;AAAA,kBAGcH,EAAO,MAAM;AAAA;AAAA;AAAA,kBAGbA,EAAO,MAAM;AAAA;AAAA;AAAA,KAG1B;AAAA;AAEL,CAAC,GAEYM,IAA2BX,EAAOY,CAAe,EAAc,CAAC;AAAA,EAC3E,SAAAT;AAAA,EACA,OAAAD;AAAA,EACA,cAAAE;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAH,GACbI,IAAQH,IAAUI,EAAcH,CAAY,IAAIC,EAAO;AAEtD,SAAAG;AAAA,cACKL,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,IAAU,QAAQ,KAAK;AAAA,MAC5B,CAACA,KACHK;AAAA;AAAA;AAAA,kBAGcN,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,kBAIlBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,kBAIrBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,KAGlC;AAAA;AAAA,MAECC,KACFK;AAAA;AAAA,gBAEYF,CAAK;AAAA;AAAA;AAAA;AAAA,gBAILA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKLA,CAAK;AAAA;AAAA;AAAA,KAGhB;AAAA;AAEL,CAAC,GAEYO,IAAsBb,EAAOc,CAAU,EAAc,CAAC;AAAA,EACjE,SAAAX;AAAA,EACA,OAAAD;AAAA,EACA,cAAAE;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,EAAW,IAAAH,GACbI,IAAQH,IAAUI,EAAcH,CAAY,IAAIC,EAAO;AAEtD,SAAAG;AAAA,cACKL,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA,WAG/BA,IAAU,QAAQ,KAAK;AAAA;AAAA,MAE5B,CAACA,KACHK;AAAA;AAAA;AAAA,kBAGcN,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,kBAIlBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,kBAIrBA,EAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,KAGlC;AAAA;AAAA,MAECC,KACFK;AAAA,gBACYL,IAAU,SAAS,SAAS;AAAA;AAAA,gBAE5BG,CAAK;AAAA;AAAA;AAAA;AAAA,gBAILA,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKLA,CAAK;AAAA;AAAA;AAAA,KAGhB;AAAA;AAEL,CAAC,GAEYS,IAAgBf,EAAOgB,CAAQ,EAAoC,CAAC;AAAA,EAC/E,OAAAd;AAAA,EACA,SAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAE,EAAW,IAAAH;AAEZ,SAAAM;AAAA,cACKL,IAAU,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMlBE,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKVA,EAAO,UAAU;AAAA;AAAA,MAErC,CAACF,KACHK;AAAA;AAAA,4BAEwBH,EAAO,UAAU;AAAA;AAAA,KAExC;AAAA;AAAA,MAECF,KACFK;AAAA;AAAA,oBAEgBH,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA,oBAIZA,EAAO,KAAK;AAAA;AAAA;AAAA,oBAGZA,EAAO,KAAK;AAAA;AAAA;AAAA;AAAA,kBAIdA,EAAO,KAAK;AAAA;AAAA;AAAA,KAGzB;AAAA;AAEL,CAAC,GAEYY,IAAkBjB,EAAOkB,CAAQ;AAAA;AAAA,cAEhC,OAAO;AAAA;AAAA,GAIRC,IAAiBnB,EAAOgB,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUhCI,IAAmBpB,EAAOgB,CAAQ;AAAA,EAC7C,CAAC,EAAE,cAAAK,GAAc,YAAAC,GAAY,WAAAC,EAAgB,MAAA;AAAA,aAClCD,IAAa,UAAU,MAAM;AAAA,aAC7BD,IAAe,IAAI,GAAG;AAAA,oBACfA,IAAe,SAAS,MAAM;AAAA;AAAA,IAG9CE,MAAc,YACdF,KACA;AAAA;AAAA;AAAA;AAAA,KAKF;AAAA;AAAA;AAGF,GAEaG,IAAcxB,EAAOgB,CAAQ;AAAA,EACxC,CAAC,EAAE,QAAAS,EAAA,MAAa;AAAA,cACJlB,EAAckB,CAAM,CAAC;AAAA;AAEnC;"}
|
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 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 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 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\n &:hover {\n border: 1px solid ${colors.REAL_BLACK};\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 svg {\n path,\n circle {\n stroke: ${colors.WHITE};\n }\n .hover-tiles {\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","StyledWrapper","FlexView","StyledCheckIcon","TickIcon","RedoIcon","UndoIcon","PaletteWrapper","CueCanvasWrapper","$canScribble","$canRender","$renderAs","ColorPicker","$color","StyledDownIcon","DownIcon","$isAnimating","PenIconWrapper","MenuWrapper"],"mappings":"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"}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { jsx as r, Fragment as a } from "react/jsx-runtime";
|
2
|
+
import { memo as c, useCallback as d, useMemo as s } from "react";
|
3
|
+
import h from "../../ui/buttons/clickable/clickable.js";
|
4
|
+
import $ from "../../ui/layout/flex-view.js";
|
5
|
+
import { getColorsForUser as C } from "../cue-canvas-helpers.js";
|
6
|
+
import { ColorPicker as f, StyledCheckIcon as g } from "../cue-cavas-styled.js";
|
7
|
+
const w = c(({ setActiveColor: t, activeColor: o, userType: n }) => {
|
8
|
+
const i = d(
|
9
|
+
(e) => {
|
10
|
+
t(e);
|
11
|
+
},
|
12
|
+
[t]
|
13
|
+
), l = s(() => C(n), [n]);
|
14
|
+
return /* @__PURE__ */ r(a, { children: l.map((e, m) => /* @__PURE__ */ r(
|
15
|
+
h,
|
16
|
+
{
|
17
|
+
onClick: () => i(e),
|
18
|
+
label: `Color Picker - ${e}`,
|
19
|
+
children: /* @__PURE__ */ r(
|
20
|
+
$,
|
21
|
+
{
|
22
|
+
$width: 22,
|
23
|
+
$height: 22,
|
24
|
+
$borderRadius: 11,
|
25
|
+
$justifyContent: "center",
|
26
|
+
$background: o === e ? "BLACK" : "WHITE",
|
27
|
+
$alignItems: "center",
|
28
|
+
children: /* @__PURE__ */ r(
|
29
|
+
f,
|
30
|
+
{
|
31
|
+
$width: 20,
|
32
|
+
$height: 20,
|
33
|
+
$borderRadius: 10,
|
34
|
+
$color: e,
|
35
|
+
$alignItems: "center",
|
36
|
+
$justifyContent: "center",
|
37
|
+
children: o === e && /* @__PURE__ */ r(g, {})
|
38
|
+
}
|
39
|
+
)
|
40
|
+
}
|
41
|
+
)
|
42
|
+
},
|
43
|
+
m
|
44
|
+
)) });
|
45
|
+
});
|
46
|
+
export {
|
47
|
+
w as default
|
48
|
+
};
|
49
|
+
//# sourceMappingURL=color-palette.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"color-palette.js","sources":["../../../../src/features/cue-canvas/toolbar/color-palette.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { TCueCanvasColors } from '../types/cue-canvas';\n\nimport { memo, useCallback, useMemo } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport FlexView from '../../ui/layout/flex-view';\nimport { getColorsForUser } from '../cue-canvas-helpers';\nimport { StyledCheckIcon, ColorPicker } from '../cue-cavas-styled';\n\ninterface IColorPalette {\n setActiveColor: (color: TCueCanvasColors) => void;\n activeColor: TCueCanvasColors;\n userType: TUserTypes;\n}\n\nconst ColorPalette: React.FC<IColorPalette> = memo(({ setActiveColor, activeColor, userType }) => {\n const handleColorChange = useCallback(\n (color: TCueCanvasColors) => {\n setActiveColor(color);\n },\n [setActiveColor],\n );\n const colors = useMemo(() => getColorsForUser(userType), [userType]);\n\n return (\n <>\n {colors.map((color, index) => (\n <Clickable\n key={index}\n onClick={() => handleColorChange(color)}\n label={`Color Picker - ${color}`}\n >\n <FlexView\n $width={22}\n $height={22}\n $borderRadius={11}\n $justifyContent=\"center\"\n $background={activeColor === color ? 'BLACK' : 'WHITE'}\n $alignItems=\"center\"\n >\n <ColorPicker\n $width={20}\n $height={20}\n $borderRadius={10}\n $color={color}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {activeColor === color && <StyledCheckIcon />}\n </ColorPicker>\n </FlexView>\n </Clickable>\n ))}\n </>\n );\n});\n\nexport default ColorPalette;\n"],"names":["ColorPalette","memo","setActiveColor","activeColor","userType","handleColorChange","useCallback","color","colors","useMemo","getColorsForUser","jsx","Fragment","index","Clickable","FlexView","ColorPicker","StyledCheckIcon"],"mappings":";;;;;;AAgBA,MAAMA,IAAwCC,EAAK,CAAC,EAAE,gBAAAC,GAAgB,aAAAC,GAAa,UAAAC,QAAe;AAChG,QAAMC,IAAoBC;AAAA,IACxB,CAACC,MAA4B;AAC3B,MAAAL,EAAeK,CAAK;AAAA,IACtB;AAAA,IACA,CAACL,CAAc;AAAA,EAAA,GAEXM,IAASC,EAAQ,MAAMC,EAAiBN,CAAQ,GAAG,CAACA,CAAQ,CAAC;AAEnE,SAEK,gBAAAO,EAAAC,GAAA,EAAA,UAAAJ,EAAO,IAAI,CAACD,GAAOM,MAClB,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MAEC,SAAS,MAAMT,EAAkBE,CAAK;AAAA,MACtC,OAAO,kBAAkBA,CAAK;AAAA,MAE9B,UAAA,gBAAAI;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,eAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAaZ,MAAgBI,IAAQ,UAAU;AAAA,UAC/C,aAAY;AAAA,UAEZ,UAAA,gBAAAI;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,eAAe;AAAA,cACf,QAAQT;AAAA,cACR,aAAY;AAAA,cACZ,iBAAgB;AAAA,cAEf,UAAAJ,MAAgBI,KAAS,gBAAAI,EAACM,GAAgB,CAAA,CAAA;AAAA,YAAA;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAtBKJ;AAAA,EAwBR,CAAA,EACH,CAAA;AAEJ,CAAC;"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { jsxs as s, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as a, useRef as m } from "react";
|
3
|
+
import d from "../../ui/buttons/clickable/clickable.js";
|
4
|
+
import u from "../../ui/hooks/use-context-menu-click-handler.js";
|
5
|
+
import $ from "../../ui/layout/flex-view.js";
|
6
|
+
import { ColorPicker as f, PaletteWrapper as C } from "../cue-cavas-styled.js";
|
7
|
+
import { useCueCanvasActions as p } from "../hooks/use-cue-canvas-actions.js";
|
8
|
+
import b from "./color-palette.js";
|
9
|
+
const W = a(({ userType: i }) => {
|
10
|
+
const o = m(null), { activeColor: r, setActiveColor: l, isWritingToolActive: t } = p(), { menuVisible: n, onMenuClick: c } = u(
|
11
|
+
o,
|
12
|
+
void 0,
|
13
|
+
!0,
|
14
|
+
void 0
|
15
|
+
);
|
16
|
+
return /* @__PURE__ */ s(
|
17
|
+
$,
|
18
|
+
{
|
19
|
+
$width: 32,
|
20
|
+
$height: 32,
|
21
|
+
$alignItems: "center",
|
22
|
+
$justifyContent: "center",
|
23
|
+
$borderRadius: 16,
|
24
|
+
$background: "WHITE",
|
25
|
+
children: [
|
26
|
+
/* @__PURE__ */ e(d, { onClick: c, label: "Color Picker", disabled: !t, children: /* @__PURE__ */ e(
|
27
|
+
f,
|
28
|
+
{
|
29
|
+
$width: 22,
|
30
|
+
$height: 22,
|
31
|
+
$borderRadius: 11,
|
32
|
+
$color: r,
|
33
|
+
$opacity: t ? 1 : 0.5,
|
34
|
+
ref: o
|
35
|
+
}
|
36
|
+
) }),
|
37
|
+
n && /* @__PURE__ */ e(
|
38
|
+
C,
|
39
|
+
{
|
40
|
+
$background: "WHITE",
|
41
|
+
$gutterX: 0.5,
|
42
|
+
$gapX: 0.5,
|
43
|
+
$borderRadius: 10,
|
44
|
+
$flexDirection: "row",
|
45
|
+
children: /* @__PURE__ */ e(
|
46
|
+
b,
|
47
|
+
{
|
48
|
+
setActiveColor: l,
|
49
|
+
activeColor: r,
|
50
|
+
userType: i
|
51
|
+
}
|
52
|
+
)
|
53
|
+
}
|
54
|
+
)
|
55
|
+
]
|
56
|
+
}
|
57
|
+
);
|
58
|
+
});
|
59
|
+
export {
|
60
|
+
W as default
|
61
|
+
};
|
62
|
+
//# sourceMappingURL=color-picker-menu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"color-picker-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/color-picker-menu.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo, useRef } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../ui/layout/flex-view';\nimport { ColorPicker, PaletteWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPalette from './color-palette';\n\ninterface ColorPickerMenuProps {\n userType: TUserTypes;\n}\n\nconst ColorPickerMenu: FC<ColorPickerMenuProps> = memo(({ userType }) => {\n const colorPaletteRef = useRef(null);\n const { activeColor, setActiveColor, isWritingToolActive } = useCueCanvasActions();\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n colorPaletteRef,\n undefined,\n true,\n undefined,\n );\n\n return (\n <FlexView\n $width={32}\n $height={32}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $background=\"WHITE\"\n >\n <Clickable onClick={onMenuClick} label=\"Color Picker\" disabled={!isWritingToolActive}>\n <ColorPicker\n $width={22}\n $height={22}\n $borderRadius={11}\n $color={activeColor}\n $opacity={isWritingToolActive ? 1 : 0.5}\n ref={colorPaletteRef}\n />\n </Clickable>\n {menuVisible && (\n <PaletteWrapper\n $background=\"WHITE\"\n $gutterX={0.5}\n $gapX={0.5}\n $borderRadius={10}\n $flexDirection=\"row\"\n >\n <ColorPalette\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n </PaletteWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default ColorPickerMenu;\n"],"names":["ColorPickerMenu","memo","userType","colorPaletteRef","useRef","activeColor","setActiveColor","isWritingToolActive","useCueCanvasActions","menuVisible","onMenuClick","useContextMenuClickHandler","jsxs","FlexView","jsx","Clickable","ColorPicker","PaletteWrapper","ColorPalette"],"mappings":";;;;;;;;AAgBA,MAAMA,IAA4CC,EAAK,CAAC,EAAE,UAAAC,QAAe;AACjE,QAAAC,IAAkBC,EAAO,IAAI,GAC7B,EAAE,aAAAC,GAAa,gBAAAC,GAAgB,qBAAAC,MAAwBC,EAAoB,GAE3E,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAIA,SAAA,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAC,EAACC,KAAU,SAASL,GAAa,OAAM,gBAAe,UAAU,CAACH,GAC/D,UAAA,gBAAAO;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,eAAe;AAAA,YACf,QAAQX;AAAA,YACR,UAAUE,IAAsB,IAAI;AAAA,YACpC,KAAKJ;AAAA,UAAA;AAAA,QAAA,GAET;AAAA,QACCM,KACC,gBAAAK;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,aAAY;AAAA,YACZ,UAAU;AAAA,YACV,OAAO;AAAA,YACP,eAAe;AAAA,YACf,gBAAe;AAAA,YAEf,UAAA,gBAAAH;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,gBAAAZ;AAAA,gBACA,aAAAD;AAAA,gBACA,UAAAH;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { jsxs as a, jsx as r } from "react/jsx-runtime";
|
2
|
+
import { memo as f, useRef as C, useCallback as $ } from "react";
|
3
|
+
import n from "../../ui/buttons/clickable/clickable.js";
|
4
|
+
import h from "../../ui/hooks/use-context-menu-click-handler.js";
|
5
|
+
import t from "../../ui/layout/flex-view.js";
|
6
|
+
import { GRID_NAMES as b } from "../cue-canvas-helpers.js";
|
7
|
+
import { StyledWrapper as k, MenuWrapper as G } from "../cue-cavas-styled.js";
|
8
|
+
import { useCueCanvasActions as l } from "../hooks/use-cue-canvas-actions.js";
|
9
|
+
import { GRID_TO_COMP as x } from "./icon-map.js";
|
10
|
+
const A = f(({ GridIcon: c }) => {
|
11
|
+
const { activeInstance: e } = l(), i = C(null), { activeTool: d } = l(), { menuVisible: m, onMenuClick: u } = h(
|
12
|
+
i,
|
13
|
+
void 0,
|
14
|
+
!0,
|
15
|
+
void 0
|
16
|
+
), p = $(
|
17
|
+
(o) => {
|
18
|
+
e == null || e.changeGrid(o);
|
19
|
+
},
|
20
|
+
[e]
|
21
|
+
);
|
22
|
+
return /* @__PURE__ */ a(t, { $gutterX: 0.25, ref: i, children: [
|
23
|
+
/* @__PURE__ */ r(n, { onClick: u, label: "grid", children: /* @__PURE__ */ r(k, { $active: d === "grid", children: /* @__PURE__ */ r(c, {}) }) }),
|
24
|
+
m && /* @__PURE__ */ r(
|
25
|
+
G,
|
26
|
+
{
|
27
|
+
$borderColor: "GREY_1",
|
28
|
+
$background: "GREY_1",
|
29
|
+
$flexDirection: "row",
|
30
|
+
$widthX: 11.15,
|
31
|
+
$flexWrap: !0,
|
32
|
+
$flexGapX: 0.5,
|
33
|
+
children: b.map((o) => {
|
34
|
+
const s = x[o];
|
35
|
+
return /* @__PURE__ */ r(
|
36
|
+
n,
|
37
|
+
{
|
38
|
+
onClick: () => p(o),
|
39
|
+
label: o,
|
40
|
+
children: /* @__PURE__ */ r(
|
41
|
+
t,
|
42
|
+
{
|
43
|
+
$width: 48,
|
44
|
+
$height: 48,
|
45
|
+
$borderColor: "BLACK",
|
46
|
+
$borderRadius: 4,
|
47
|
+
$background: "WHITE",
|
48
|
+
children: /* @__PURE__ */ r(s, {})
|
49
|
+
}
|
50
|
+
)
|
51
|
+
},
|
52
|
+
o
|
53
|
+
);
|
54
|
+
})
|
55
|
+
}
|
56
|
+
)
|
57
|
+
] });
|
58
|
+
});
|
59
|
+
export {
|
60
|
+
A as default
|
61
|
+
};
|
62
|
+
//# sourceMappingURL=grid-menu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"grid-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/grid-menu.tsx"],"sourcesContent":["import type { TCueCanvasGridName } from '../types/cue-canvas';\nimport type { IGridMenu, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo, useCallback, useRef } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport useContextMenuClickHandler from '../../ui/hooks/use-context-menu-click-handler';\nimport FlexView from '../../ui/layout/flex-view';\nimport { GRID_NAMES } from '../cue-canvas-helpers';\nimport { MenuWrapper, StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport { GRID_TO_COMP } from './icon-map';\n\nconst GridMenu: React.FC<IGridMenu> = memo(({ GridIcon }) => {\n const { activeInstance: cueCanvas } = useCueCanvasActions();\n const gridMenuRef = useRef(null);\n const { activeTool } = useCueCanvasActions();\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n gridMenuRef,\n undefined,\n true,\n undefined,\n );\n const onGridOptionClick = useCallback(\n (gridOption: TCueCanvasGridName) => {\n cueCanvas?.changeGrid(gridOption);\n },\n [cueCanvas],\n );\n\n return (\n <FlexView $gutterX={0.25} ref={gridMenuRef}>\n <Clickable onClick={onMenuClick} label=\"grid\">\n <StyledWrapper $active={activeTool === 'grid'}>\n <GridIcon />\n </StyledWrapper>\n </Clickable>\n {menuVisible && (\n <MenuWrapper\n $borderColor=\"GREY_1\"\n $background=\"GREY_1\"\n $flexDirection=\"row\"\n $widthX={11.15}\n $flexWrap={true}\n $flexGapX={0.5}\n >\n {GRID_NAMES.map(gridName => {\n const GridComponent = GRID_TO_COMP[gridName] as TToolComponentType;\n\n return (\n <Clickable\n key={gridName}\n onClick={() => onGridOptionClick(gridName)}\n label={gridName}\n >\n <FlexView\n $width={48}\n $height={48}\n $borderColor=\"BLACK\"\n $borderRadius={4}\n $background=\"WHITE\"\n >\n <GridComponent />\n </FlexView>\n </Clickable>\n );\n })}\n </MenuWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default GridMenu;\n"],"names":["GridMenu","memo","GridIcon","cueCanvas","useCueCanvasActions","gridMenuRef","useRef","activeTool","menuVisible","onMenuClick","useContextMenuClickHandler","onGridOptionClick","useCallback","gridOption","jsxs","FlexView","jsx","Clickable","StyledWrapper","MenuWrapper","GRID_NAMES","gridName","GridComponent","GRID_TO_COMP"],"mappings":";;;;;;;;;AAaA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,UAAAC,QAAe;AAC3D,QAAM,EAAE,gBAAgBC,EAAU,IAAIC,EAAoB,GACpDC,IAAcC,EAAO,IAAI,GACzB,EAAE,YAAAC,MAAeH,KACjB,EAAE,aAAAI,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAEIM,IAAoBC;AAAA,IACxB,CAACC,MAAmC;AAClC,MAAAV,KAAA,QAAAA,EAAW,WAAWU;AAAA,IACxB;AAAA,IACA,CAACV,CAAS;AAAA,EAAA;AAGZ,SACG,gBAAAW,EAAAC,GAAA,EAAS,UAAU,MAAM,KAAKV,GAC7B,UAAA;AAAA,IAAA,gBAAAW,EAACC,GAAU,EAAA,SAASR,GAAa,OAAM,QACrC,UAAA,gBAAAO,EAACE,GAAc,EAAA,SAASX,MAAe,QACrC,UAAC,gBAAAS,EAAAd,GAAA,CAAA,CAAS,EACZ,CAAA,GACF;AAAA,IACCM,KACC,gBAAAQ;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,cAAa;AAAA,QACb,aAAY;AAAA,QACZ,gBAAe;AAAA,QACf,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,QAEV,UAAAC,EAAW,IAAI,CAAYC,MAAA;AACpB,gBAAAC,IAAgBC,EAAaF,CAAQ;AAGzC,iBAAA,gBAAAL;AAAA,YAACC;AAAA,YAAA;AAAA,cAEC,SAAS,MAAMN,EAAkBU,CAAQ;AAAA,cACzC,OAAOA;AAAA,cAEP,UAAA,gBAAAL;AAAA,gBAACD;AAAA,gBAAA;AAAA,kBACC,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,cAAa;AAAA,kBACb,eAAe;AAAA,kBACf,aAAY;AAAA,kBAEZ,4BAACO,GAAc,EAAA;AAAA,gBAAA;AAAA,cACjB;AAAA,YAAA;AAAA,YAZKD;AAAA,UAAA;AAAA,QAaP,CAEH;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
|