@cuemath/leap 2.8.49-rj-16 → 2.8.50-as1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/assets/line-icons/icons/clear-all.js +53 -0
  2. package/dist/assets/line-icons/icons/clear-all.js.map +1 -0
  3. package/dist/assets/line-icons/icons/download.js +48 -0
  4. package/dist/assets/line-icons/icons/download.js.map +1 -0
  5. package/dist/assets/line-icons/icons/equation.js +48 -0
  6. package/dist/assets/line-icons/icons/equation.js.map +1 -0
  7. package/dist/assets/line-icons/icons/grid-icon.js +42 -0
  8. package/dist/assets/line-icons/icons/grid-icon.js.map +1 -0
  9. package/dist/assets/line-icons/icons/pan.js +98 -0
  10. package/dist/assets/line-icons/icons/pan.js.map +1 -0
  11. package/dist/assets/line-icons/icons/square-checked-grid.js +25 -0
  12. package/dist/assets/line-icons/icons/square-checked-grid.js.map +1 -0
  13. package/dist/assets/line-icons/icons/square-dots.js +32 -0
  14. package/dist/assets/line-icons/icons/square-dots.js.map +1 -0
  15. package/dist/assets/line-icons/icons/square-grid.js +17 -0
  16. package/dist/assets/line-icons/icons/square-grid.js.map +1 -0
  17. package/dist/assets/line-icons/icons/square2-grid.js +13 -0
  18. package/dist/assets/line-icons/icons/square2-grid.js.map +1 -0
  19. package/dist/assets/line-icons/icons/text-icon.js +48 -0
  20. package/dist/assets/line-icons/icons/text-icon.js.map +1 -0
  21. package/dist/assets/line-icons/icons/tri-dots.js +27 -0
  22. package/dist/assets/line-icons/icons/tri-dots.js.map +1 -0
  23. package/dist/assets/line-icons/icons/tri-grid.js +27 -0
  24. package/dist/assets/line-icons/icons/tri-grid.js.map +1 -0
  25. package/dist/assets/line-icons/icons/tri2-dots.js +27 -0
  26. package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -0
  27. package/dist/assets/line-icons/icons/tri2-grid.js +27 -0
  28. package/dist/assets/line-icons/icons/tri2-grid.js.map +1 -0
  29. package/dist/assets/line-icons/icons/upload.js +48 -0
  30. package/dist/assets/line-icons/icons/upload.js.map +1 -0
  31. package/dist/assets/line-icons/icons/zoom-in.js +58 -0
  32. package/dist/assets/line-icons/icons/zoom-in.js.map +1 -0
  33. package/dist/assets/line-icons/icons/zoom-out.js +48 -0
  34. package/dist/assets/line-icons/icons/zoom-out.js.map +1 -0
  35. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js +3 -4
  36. package/dist/features/circle-games/game-launcher/api/get-content-for-today/get-circle-home-api.js.map +1 -1
  37. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +26 -39
  38. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  39. package/dist/features/circle-games/game-launcher/dal/use-post-update-circle-journey-dal/use-post-update-circle-journey-dal.js +11 -11
  40. package/dist/features/circle-games/game-launcher/dal/use-post-update-circle-journey-dal/use-post-update-circle-journey-dal.js.map +1 -1
  41. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js +9 -10
  42. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/constants.js.map +1 -1
  43. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +126 -131
  44. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  45. package/dist/features/cue-canvas/cue-canvas-core.js +169 -59
  46. package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
  47. package/dist/features/cue-canvas/cue-canvas-helpers.js +91 -29
  48. package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
  49. package/dist/features/cue-canvas/cue-canvas.js +57 -49
  50. package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
  51. package/dist/features/cue-canvas/cue-cavas-styled.js +96 -59
  52. package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
  53. package/dist/features/cue-canvas/hooks/use-tool-state.js +34 -0
  54. package/dist/features/cue-canvas/hooks/use-tool-state.js.map +1 -0
  55. package/dist/features/cue-canvas/toolbar/color-pallete.js +21 -21
  56. package/dist/features/cue-canvas/toolbar/color-pallete.js.map +1 -1
  57. package/dist/features/cue-canvas/toolbar/color-picker-button.js +62 -0
  58. package/dist/features/cue-canvas/toolbar/color-picker-button.js.map +1 -0
  59. package/dist/features/cue-canvas/toolbar/grid-menu.js +57 -0
  60. package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -0
  61. package/dist/features/cue-canvas/toolbar/icon-map.js +58 -0
  62. package/dist/features/cue-canvas/toolbar/icon-map.js.map +1 -0
  63. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js +65 -0
  64. package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -0
  65. package/dist/features/cue-canvas/toolbar/tool-buttons.js +21 -0
  66. package/dist/features/cue-canvas/toolbar/tool-buttons.js.map +1 -0
  67. package/dist/features/cue-canvas/toolbar/toolbar.js +28 -85
  68. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  69. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +25 -0
  70. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -0
  71. package/dist/features/trial-session/comps/session-report/session-report.js +41 -41
  72. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  73. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +7 -7
  74. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  75. package/dist/index.d.ts +17 -6
  76. package/dist/static/fonts/Athletics-Black.woff +0 -0
  77. package/dist/static/fonts/Athletics-Bold.woff +0 -0
  78. package/dist/static/fonts/Athletics-Light.woff +0 -0
  79. package/dist/static/fonts/Athletics-Medium.woff +0 -0
  80. package/dist/static/fonts/Athletics-Regular.woff +0 -0
  81. package/dist/static/fonts/untitled-sans-medium.woff +0 -0
  82. package/dist/static/fonts/untitled-sans-medium.woff2 +0 -0
  83. package/dist/static/fonts/untitled-sans-regular.woff +0 -0
  84. package/dist/static/fonts/untitled-sans-regular.woff2 +0 -0
  85. package/package.json +2 -2
@@ -0,0 +1,62 @@
1
+ import { jsxs as s, jsx as o } 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, PalleteWrapper as C } from "../cue-cavas-styled.js";
7
+ import { useCueCanvasActions as p } from "../hooks/use-cue-canvas-actions.js";
8
+ import b from "./color-pallete.js";
9
+ const W = a(({ userType: t }) => {
10
+ const e = m(null), { activeColor: r, setActiveColor: l, isWritingToolActive: i } = p(), { menuVisible: n, onMenuClick: c } = u(
11
+ e,
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__ */ o(d, { onClick: c, label: "Color Picker", disabled: !i, children: /* @__PURE__ */ o(
27
+ f,
28
+ {
29
+ $width: 22,
30
+ $height: 22,
31
+ $borderRadius: 11,
32
+ $color: r,
33
+ $opacity: i ? 1 : 0.5,
34
+ ref: e
35
+ }
36
+ ) }),
37
+ n && /* @__PURE__ */ o(
38
+ C,
39
+ {
40
+ $background: "WHITE",
41
+ $gutterX: 0.5,
42
+ $gapX: 0.5,
43
+ $borderRadius: 10,
44
+ $flexDirection: "row",
45
+ children: /* @__PURE__ */ o(
46
+ b,
47
+ {
48
+ setActiveColor: l,
49
+ activeColor: r,
50
+ userType: t
51
+ }
52
+ )
53
+ }
54
+ )
55
+ ]
56
+ }
57
+ );
58
+ });
59
+ export {
60
+ W as default
61
+ };
62
+ //# sourceMappingURL=color-picker-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-picker-button.js","sources":["../../../../src/features/cue-canvas/toolbar/color-picker-button.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, PalleteWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPallete from './color-pallete';\n\ninterface ColorPickerButtonProps {\n userType: TUserTypes;\n}\n\nconst ColorPickerButton: FC<ColorPickerButtonProps> = memo(({ userType }) => {\n const colorPalleteRef = useRef(null);\n const { activeColor, setActiveColor, isWritingToolActive } = useCueCanvasActions();\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n colorPalleteRef,\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={colorPalleteRef}\n />\n </Clickable>\n {menuVisible && (\n <PalleteWrapper\n $background=\"WHITE\"\n $gutterX={0.5}\n $gapX={0.5}\n $borderRadius={10}\n $flexDirection=\"row\"\n >\n <ColorPallete\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n </PalleteWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default ColorPickerButton;\n"],"names":["ColorPickerButton","memo","userType","colorPalleteRef","useRef","activeColor","setActiveColor","isWritingToolActive","useCueCanvasActions","menuVisible","onMenuClick","useContextMenuClickHandler","jsxs","FlexView","jsx","Clickable","ColorPicker","PalleteWrapper","ColorPallete"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAgDC,EAAK,CAAC,EAAE,UAAAC,QAAe;AACrE,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,57 @@
1
+ import { jsxs as p, jsx as r } from "react/jsx-runtime";
2
+ import { memo as f, useRef as s } from "react";
3
+ import i from "../../ui/buttons/clickable/clickable.js";
4
+ import a from "../../ui/hooks/use-context-menu-click-handler.js";
5
+ import t from "../../ui/layout/flex-view.js";
6
+ import { GRID_NAMES as C } from "../cue-canvas-helpers.js";
7
+ import { StyledWrapper as $, MenuWrapper as h } from "../cue-cavas-styled.js";
8
+ import { useCueCanvasActions as b } from "../hooks/use-cue-canvas-actions.js";
9
+ import { GRID_TO_COMP as x } from "./icon-map.js";
10
+ const W = f(({ onGridOptionClick: n, GridIcon: l }) => {
11
+ const e = s(null), { activeTool: c } = b(), { menuVisible: d, onMenuClick: m } = a(
12
+ e,
13
+ void 0,
14
+ !0,
15
+ void 0
16
+ );
17
+ return /* @__PURE__ */ p(t, { $gutterX: 0.25, ref: e, children: [
18
+ /* @__PURE__ */ r(i, { onClick: m, label: "grid", children: /* @__PURE__ */ r($, { $active: c === "grid", children: /* @__PURE__ */ r(l, {}) }) }),
19
+ d && /* @__PURE__ */ r(
20
+ h,
21
+ {
22
+ $borderColor: "GREY_1",
23
+ $background: "GREY_1",
24
+ $flexDirection: "row",
25
+ $widthX: 11.15,
26
+ $flexWrap: !0,
27
+ $flexGapX: 0.5,
28
+ children: C.map((o) => {
29
+ const u = x[o];
30
+ return /* @__PURE__ */ r(
31
+ i,
32
+ {
33
+ onClick: () => n(o),
34
+ label: o,
35
+ children: /* @__PURE__ */ r(
36
+ t,
37
+ {
38
+ $width: 48,
39
+ $height: 48,
40
+ $borderColor: "BLACK",
41
+ $borderRadius: 4,
42
+ $background: "WHITE",
43
+ children: /* @__PURE__ */ r(u, {})
44
+ }
45
+ )
46
+ },
47
+ o
48
+ );
49
+ })
50
+ }
51
+ )
52
+ ] });
53
+ });
54
+ export {
55
+ W as default
56
+ };
57
+ //# 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 { IGridMenu, TToolComponentType } from '../types/toolbar';\n\nimport React, { 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 { 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(({ onGridOptionClick, GridIcon }) => {\n const gridMenuRef = useRef(null);\n const { activeTool } = useCueCanvasActions();\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n gridMenuRef,\n undefined,\n true,\n undefined,\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","onGridOptionClick","GridIcon","gridMenuRef","useRef","activeTool","useCueCanvasActions","menuVisible","onMenuClick","useContextMenuClickHandler","jsxs","FlexView","jsx","Clickable","StyledWrapper","MenuWrapper","GRID_NAMES","gridName","GridComponent","GRID_TO_COMP"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,mBAAAC,GAAmB,UAAAC,QAAe;AACxE,QAAAC,IAAcC,EAAO,IAAI,GACzB,EAAE,YAAAC,MAAeC,KACjB,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,SACG,gBAAAO,EAAAC,GAAA,EAAS,UAAU,MAAM,KAAKR,GAC7B,UAAA;AAAA,IAAA,gBAAAS,EAACC,GAAU,EAAA,SAASL,GAAa,OAAM,QACrC,UAAA,gBAAAI,EAACE,GAAc,EAAA,SAAST,MAAe,QACrC,UAAC,gBAAAO,EAAAV,GAAA,CAAA,CAAS,EACZ,CAAA,GACF;AAAA,IACCK,KACC,gBAAAK;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,MAAMZ,EAAkBgB,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;"}
@@ -0,0 +1,58 @@
1
+ import o from "../../../assets/line-icons/icons/clear-all.js";
2
+ import r from "../../../assets/line-icons/icons/cursor.js";
3
+ import m from "../../../assets/line-icons/icons/download.js";
4
+ import i from "../../../assets/line-icons/icons/equation.js";
5
+ import t from "../../../assets/line-icons/icons/eraser.js";
6
+ import e from "../../../assets/line-icons/icons/grid-icon.js";
7
+ import p from "../../../assets/line-icons/icons/home.js";
8
+ import n from "../../../assets/line-icons/icons/pan.js";
9
+ import d from "../../../assets/line-icons/icons/square-checked-grid.js";
10
+ import a from "../../../assets/line-icons/icons/square-dots.js";
11
+ import c from "../../../assets/line-icons/icons/square-grid.js";
12
+ import f from "../../../assets/line-icons/icons/square2-grid.js";
13
+ import l from "../../../assets/line-icons/icons/text-icon.js";
14
+ import I from "../../../assets/line-icons/icons/tri-dots.js";
15
+ import S from "../../../assets/line-icons/icons/tri-grid.js";
16
+ import g from "../../../assets/line-icons/icons/tri2-dots.js";
17
+ import u from "../../../assets/line-icons/icons/tri2-grid.js";
18
+ import s from "../../../assets/line-icons/icons/undo.js";
19
+ import q from "../../../assets/line-icons/icons/upload.js";
20
+ import h from "../../../assets/line-icons/icons/zoom-in.js";
21
+ import v from "../../../assets/line-icons/icons/zoom-out.js";
22
+ import O from "../../ui/layout/flex-view.js";
23
+ import { StyledPencilIcon as T, StyledRulerIcon as G, StyledSketchWrapper as C, StyledHighlighterWrapper as D, RedoIcon as k } from "../cue-cavas-styled.js";
24
+ const Q = {
25
+ pen: T,
26
+ ruler: G,
27
+ marker: C,
28
+ highlighter: D,
29
+ eraser: t,
30
+ move: r,
31
+ undo: s,
32
+ redo: k,
33
+ pan: n,
34
+ clearAll: o,
35
+ text: l,
36
+ equation: i,
37
+ grid: e,
38
+ home: p,
39
+ zoomIn: h,
40
+ zoomOut: v,
41
+ upload: q,
42
+ download: m
43
+ }, X = {
44
+ none: O,
45
+ "square2-grid": f,
46
+ "square-checked": d,
47
+ "square-dots": a,
48
+ "tri-dots": I,
49
+ "tri2-dots": g,
50
+ "square-grid": c,
51
+ "tri-grid": S,
52
+ "tri2-grid": u
53
+ };
54
+ export {
55
+ X as GRID_TO_COMP,
56
+ Q as TOOLS_TO_COMP
57
+ };
58
+ //# sourceMappingURL=icon-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-map.js","sources":["../../../../src/features/cue-canvas/toolbar/icon-map.ts"],"sourcesContent":["import type { IToolsToCompMap, IGridToCompMap, TToolComponentType } from '../types/toolbar';\n\nimport ClearAllIcon from '../../../assets/line-icons/icons/clear-all';\nimport CursorIcon from '../../../assets/line-icons/icons/cursor';\nimport DownloadIcon from '../../../assets/line-icons/icons/download';\nimport EquationIcon from '../../../assets/line-icons/icons/equation';\nimport EraserIcon from '../../../assets/line-icons/icons/eraser';\nimport GridIcon from '../../../assets/line-icons/icons/grid-icon';\nimport HomeIcon from '../../../assets/line-icons/icons/home';\nimport PanIcon from '../../../assets/line-icons/icons/pan';\nimport SquareCheckedGridSvg from '../../../assets/line-icons/icons/square-checked-grid';\nimport SquareDotSvg from '../../../assets/line-icons/icons/square-dots';\nimport SquareGridSvg from '../../../assets/line-icons/icons/square-grid';\nimport Square2GridSvg from '../../../assets/line-icons/icons/square2-grid';\nimport TextIcon from '../../../assets/line-icons/icons/text-icon';\nimport TriDotSvg from '../../../assets/line-icons/icons/tri-dots';\nimport TriGridSvg from '../../../assets/line-icons/icons/tri-grid';\nimport Tri2DotSvg from '../../../assets/line-icons/icons/tri2-dots';\nimport Tri2GridSvg from '../../../assets/line-icons/icons/tri2-grid';\nimport UndoIcon from '../../../assets/line-icons/icons/undo';\nimport UploadIcon from '../../../assets/line-icons/icons/upload';\nimport ZoomInIcon from '../../../assets/line-icons/icons/zoom-in';\nimport ZoomOutIcon from '../../../assets/line-icons/icons/zoom-out';\nimport FlexView from '../../ui/layout/flex-view';\nimport {\n RedoIcon,\n StyledHighlighterWrapper,\n StyledPencilIcon,\n StyledRulerIcon,\n StyledSketchWrapper,\n} from '../cue-cavas-styled';\n\nexport const TOOLS_TO_COMP: IToolsToCompMap = {\n pen: StyledPencilIcon,\n ruler: StyledRulerIcon,\n marker: StyledSketchWrapper,\n highlighter: StyledHighlighterWrapper,\n eraser: EraserIcon,\n move: CursorIcon,\n undo: UndoIcon,\n redo: RedoIcon,\n pan: PanIcon,\n clearAll: ClearAllIcon,\n text: TextIcon,\n equation: EquationIcon,\n grid: GridIcon,\n home: HomeIcon,\n zoomIn: ZoomInIcon,\n zoomOut: ZoomOutIcon,\n upload: UploadIcon,\n download: DownloadIcon,\n};\n\nexport const GRID_TO_COMP: IGridToCompMap = {\n 'none': FlexView as unknown as TToolComponentType,\n 'square2-grid': Square2GridSvg,\n 'square-checked': SquareCheckedGridSvg,\n 'square-dots': SquareDotSvg,\n 'tri-dots': TriDotSvg,\n 'tri2-dots': Tri2DotSvg,\n 'square-grid': SquareGridSvg,\n 'tri-grid': TriGridSvg,\n 'tri2-grid': Tri2GridSvg,\n};\n"],"names":["TOOLS_TO_COMP","StyledPencilIcon","StyledRulerIcon","StyledSketchWrapper","StyledHighlighterWrapper","EraserIcon","CursorIcon","UndoIcon","RedoIcon","PanIcon","ClearAllIcon","TextIcon","EquationIcon","GridIcon","HomeIcon","ZoomInIcon","ZoomOutIcon","UploadIcon","DownloadIcon","GRID_TO_COMP","FlexView","Square2GridSvg","SquareCheckedGridSvg","SquareDotSvg","TriDotSvg","Tri2DotSvg","SquareGridSvg","TriGridSvg","Tri2GridSvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgCO,MAAMA,IAAiC;AAAA,EAC5C,KAAKC;AAAA,EACL,OAAOC;AAAA,EACP,QAAQC;AAAA,EACR,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,KAAKC;AAAA,EACL,UAAUC;AAAA,EACV,MAAMC;AAAA,EACN,UAAUC;AAAAA,EACV,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,QAAQC;AAAA,EACR,SAASC;AAAA,EACT,QAAQC;AAAA,EACR,UAAUC;AACZ,GAEaC,IAA+B;AAAA,EAC1C,MAAQC;AAAA,EACR,gBAAgBC;AAAA,EAChB,kBAAkBC;AAAA,EAClB,eAAeC;AAAA,EACf,YAAYC;AAAA,EACZ,aAAaC;AAAA,EACb,eAAeC;AAAA,EACf,YAAYC;AAAA,EACZ,aAAaC;AACf;"}
@@ -0,0 +1,65 @@
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
+ import { memo as h, useRef as T } from "react";
3
+ import s from "../../ui/buttons/clickable/clickable.js";
4
+ import b from "../../ui/hooks/use-context-menu-click-handler.js";
5
+ import t from "../../ui/layout/flex-view.js";
6
+ import { getIsWritingTool as c } from "../cue-canvas-helpers.js";
7
+ import { PenIconWrapper as g, StyledDownIcon as W, MenuWrapper as k, StyledWrapper as x } from "../cue-cavas-styled.js";
8
+ import { useCueCanvasActions as I } from "../hooks/use-cue-canvas-actions.js";
9
+ import M from "./color-pallete.js";
10
+ import { TOOLS_TO_COMP as p } from "./icon-map.js";
11
+ const S = h(({ writingTools: u, onToolClick: d, userType: C }) => {
12
+ const { activeTool: o, activeColor: i, setActiveColor: $ } = I(), l = T(null), { menuVisible: m, onMenuClick: f } = b(
13
+ l,
14
+ void 0,
15
+ !0,
16
+ void 0
17
+ ), v = p[c(o) ? o : "pen"];
18
+ return /* @__PURE__ */ n(t, { $borderRadius: 16, $background: "WHITE", ref: l, children: [
19
+ /* @__PURE__ */ e(g, { children: /* @__PURE__ */ e(s, { onClick: f, label: "Active Tool", children: /* @__PURE__ */ n(t, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", children: [
20
+ /* @__PURE__ */ e(
21
+ v,
22
+ {
23
+ $active: c(o),
24
+ $activeColor: i,
25
+ $isWhiteBoard: !0
26
+ }
27
+ ),
28
+ /* @__PURE__ */ e(W, { $isAnimating: m })
29
+ ] }) }) }),
30
+ m && /* @__PURE__ */ n(
31
+ k,
32
+ {
33
+ $flexDirection: "row",
34
+ $alignItems: "center",
35
+ $borderColor: "GREY_1",
36
+ $background: "WHITE",
37
+ children: [
38
+ u.map((r) => {
39
+ const a = p[r];
40
+ return /* @__PURE__ */ e(t, { $gutterX: 0.25, children: /* @__PURE__ */ e(s, { onClick: () => d(r), label: r, children: c(r) ? /* @__PURE__ */ e(
41
+ a,
42
+ {
43
+ $active: o === r,
44
+ $activeColor: i,
45
+ $isWhiteBoard: !0
46
+ }
47
+ ) : /* @__PURE__ */ e(x, { $active: o === r, children: /* @__PURE__ */ e(a, {}) }) }) }, r);
48
+ }),
49
+ /* @__PURE__ */ e(
50
+ M,
51
+ {
52
+ setActiveColor: $,
53
+ activeColor: i,
54
+ userType: C
55
+ }
56
+ )
57
+ ]
58
+ }
59
+ )
60
+ ] });
61
+ });
62
+ export {
63
+ S as default
64
+ };
65
+ //# sourceMappingURL=pen-tool-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pen-tool-menu.js","sources":["../../../../src/features/cue-canvas/toolbar/pen-tool-menu.tsx"],"sourcesContent":["import type { IPenToolMenu, TToolComponentType } from '../types/toolbar';\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 { getIsWritingTool } from '../cue-canvas-helpers';\nimport { MenuWrapper, PenIconWrapper, StyledDownIcon } from '../cue-cavas-styled';\nimport { StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPallete from './color-pallete';\nimport { TOOLS_TO_COMP } from './icon-map';\n\nconst PenToolMenu: FC<IPenToolMenu> = memo(({ writingTools, onToolClick, userType }) => {\n const { activeTool, activeColor, setActiveColor } = useCueCanvasActions();\n const penMenuRef = useRef(null);\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n penMenuRef,\n undefined,\n true,\n undefined,\n );\n\n const ActiveToolComponent = TOOLS_TO_COMP[\n getIsWritingTool(activeTool) ? activeTool : 'pen'\n ] as TToolComponentType;\n\n return (\n <FlexView $borderRadius={16} $background=\"WHITE\" ref={penMenuRef}>\n <PenIconWrapper>\n <Clickable onClick={onMenuClick} label=\"Active Tool\">\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n <ActiveToolComponent\n $active={getIsWritingTool(activeTool)}\n $activeColor={activeColor}\n $isWhiteBoard\n />\n <StyledDownIcon $isAnimating={menuVisible} />\n </FlexView>\n </Clickable>\n </PenIconWrapper>\n {menuVisible && (\n <MenuWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $borderColor=\"GREY_1\"\n $background=\"WHITE\"\n >\n {writingTools.map(tool => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n\n return (\n <FlexView $gutterX={0.25} key={tool}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {getIsWritingTool(tool) ? (\n <ToolComponent\n $active={activeTool === tool}\n $activeColor={activeColor}\n $isWhiteBoard\n />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n })}\n <ColorPallete\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n </MenuWrapper>\n )}\n </FlexView>\n );\n});\n\nexport default PenToolMenu;\n"],"names":["PenToolMenu","memo","writingTools","onToolClick","userType","activeTool","activeColor","setActiveColor","useCueCanvasActions","penMenuRef","useRef","menuVisible","onMenuClick","useContextMenuClickHandler","ActiveToolComponent","TOOLS_TO_COMP","getIsWritingTool","FlexView","jsx","PenIconWrapper","Clickable","jsxs","StyledDownIcon","MenuWrapper","tool","ToolComponent","StyledWrapper","ColorPallete"],"mappings":";;;;;;;;;;AAeA,MAAMA,IAAgCC,EAAK,CAAC,EAAE,cAAAC,GAAc,aAAAC,GAAa,UAAAC,QAAe;AACtF,QAAM,EAAE,YAAAC,GAAY,aAAAC,GAAa,gBAAAC,MAAmBC,EAAoB,GAClEC,IAAaC,EAAO,IAAI,GACxB,EAAE,aAAAC,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAGIK,IAAsBC,EAC1BC,EAAiBX,CAAU,IAAIA,IAAa,KAC9C;AAEA,2BACGY,GAAS,EAAA,eAAe,IAAI,aAAY,SAAQ,KAAKR,GACpD,UAAA;AAAA,IAAA,gBAAAS,EAACC,GACC,EAAA,UAAA,gBAAAD,EAACE,GAAU,EAAA,SAASR,GAAa,OAAM,eACrC,UAAC,gBAAAS,EAAAJ,GAAA,EAAS,gBAAe,OAAM,iBAAgB,UAAS,aAAY,UAClE,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACJ;AAAA,QAAA;AAAA,UACC,SAASE,EAAiBX,CAAU;AAAA,UACpC,cAAcC;AAAA,UACd,eAAa;AAAA,QAAA;AAAA,MACf;AAAA,MACA,gBAAAY,EAACI,GAAe,EAAA,cAAcX,EAAa,CAAA;AAAA,IAAA,EAC7C,CAAA,EACF,CAAA,GACF;AAAA,IACCA,KACC,gBAAAU;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,cAAa;AAAA,QACb,aAAY;AAAA,QAEX,UAAA;AAAA,UAAArB,EAAa,IAAI,CAAQsB,MAAA;AAClB,kBAAAC,IAAgBV,EAAcS,CAAI;AAExC,mBACG,gBAAAN,EAAAD,GAAA,EAAS,UAAU,MAClB,4BAACG,GAAU,EAAA,SAAS,MAAMjB,EAAYqB,CAAI,GAAG,OAAOA,GACjD,UAAAR,EAAiBQ,CAAI,IACpB,gBAAAN;AAAA,cAACO;AAAA,cAAA;AAAA,gBACC,SAASpB,MAAemB;AAAA,gBACxB,cAAclB;AAAA,gBACd,eAAa;AAAA,cAAA;AAAA,YAAA,IAGd,gBAAAY,EAAAQ,GAAA,EAAc,SAASrB,MAAemB,GACrC,UAAA,gBAAAN,EAACO,GAAc,CAAA,CAAA,EACjB,CAAA,EAEJ,CAAA,EAAA,GAb6BD,CAc/B;AAAA,UAAA,CAEH;AAAA,UACD,gBAAAN;AAAA,YAACS;AAAA,YAAA;AAAA,cACC,gBAAApB;AAAA,cACA,aAAAD;AAAA,cACA,UAAAF;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,CAAC;"}
@@ -0,0 +1,21 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import p from "../../ui/buttons/clickable/clickable.js";
4
+ import { getIsWritingTool as f } from "../cue-canvas-helpers.js";
5
+ import { StyledWrapper as s } from "../cue-cavas-styled.js";
6
+ import { useCueCanvasActions as u } from "../hooks/use-cue-canvas-actions.js";
7
+ import C from "./grid-menu.js";
8
+ import { TOOLS_TO_COMP as d } from "./icon-map.js";
9
+ const k = a(
10
+ ({ tools: t, onToolClick: m, onGridOptionClick: n }) => {
11
+ const { activeColor: c, activeTool: e } = u();
12
+ return t.map((r) => {
13
+ const o = d[r];
14
+ return r === "grid" ? /* @__PURE__ */ i(C, { onGridOptionClick: n, GridIcon: o }, r) : /* @__PURE__ */ i(p, { onClick: () => m(r), label: r, children: f(r) ? /* @__PURE__ */ i(o, { $active: e === r, $activeColor: c }) : /* @__PURE__ */ i(s, { $active: e === r, children: /* @__PURE__ */ i(o, {}) }) }, r);
15
+ });
16
+ }
17
+ );
18
+ export {
19
+ k as default
20
+ };
21
+ //# sourceMappingURL=tool-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-buttons.js","sources":["../../../../src/features/cue-canvas/toolbar/tool-buttons.tsx"],"sourcesContent":["import type { IToolButtonList, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo } from 'react';\n\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport { getIsWritingTool } from '../cue-canvas-helpers';\nimport { StyledWrapper } from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport GridMenu from './grid-menu';\nimport { TOOLS_TO_COMP } from './icon-map';\n\nconst ToolButtonList: React.FC<IToolButtonList> = memo(\n ({ tools, onToolClick, onGridOptionClick }) => {\n const { activeColor, activeTool } = useCueCanvasActions();\n\n return tools.map(tool => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n\n if (tool === 'grid') {\n return (\n <GridMenu key={tool} onGridOptionClick={onGridOptionClick} GridIcon={ToolComponent} />\n );\n }\n\n return (\n <Clickable onClick={() => onToolClick(tool)} label={tool} key={tool}>\n {getIsWritingTool(tool) ? (\n <ToolComponent $active={activeTool === tool} $activeColor={activeColor} />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n );\n });\n },\n);\n\nexport default ToolButtonList;\n"],"names":["ToolButtonList","memo","tools","onToolClick","onGridOptionClick","activeColor","activeTool","useCueCanvasActions","tool","ToolComponent","TOOLS_TO_COMP","jsx","GridMenu","Clickable","getIsWritingTool","StyledWrapper"],"mappings":";;;;;;;;AAWA,MAAMA,IAA4CC;AAAA,EAChD,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,mBAAAC,QAAwB;AAC7C,UAAM,EAAE,aAAAC,GAAa,YAAAC,EAAW,IAAIC,EAAoB;AAEjD,WAAAL,EAAM,IAAI,CAAQM,MAAA;AACjB,YAAAC,IAAgBC,EAAcF,CAAI;AAExC,aAAIA,MAAS,SAER,gBAAAG,EAAAC,GAAA,EAAoB,mBAAAR,GAAsC,UAAUK,KAAtDD,CAAqE,IAKrF,gBAAAG,EAAAE,GAAA,EAAU,SAAS,MAAMV,EAAYK,CAAI,GAAG,OAAOA,GACjD,UAAAM,EAAiBN,CAAI,IACnB,gBAAAG,EAAAF,GAAA,EAAc,SAASH,MAAeE,GAAM,cAAcH,GAAa,IAEvE,gBAAAM,EAAAI,GAAA,EAAc,SAAST,MAAeE,GACrC,UAAA,gBAAAG,EAACF,GAAc,CAAA,CAAA,EAAA,CACjB,KAN2DD,CAQ/D;AAAA,IAAA,CAEH;AAAA,EACH;AACF;"}
@@ -1,91 +1,34 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { memo as T, useRef as b, useEffect as v, useCallback as I } from "react";
3
- import S, { useTheme as y } from "styled-components";
4
- import R from "../../../assets/line-icons/icons/cursor.js";
5
- import x from "../../../assets/line-icons/icons/eraser.js";
6
- import p from "../../../assets/line-icons/icons/undo.js";
7
- import f from "../../ui/buttons/clickable/clickable.js";
8
- import A from "../../ui/hooks/use-context-menu-click-handler.js";
9
- import l from "../../ui/layout/flex-view.js";
10
- import { CANVAS_COLORS as O } from "../constants/constants.js";
11
- import { getUserTools as P } from "../cue-canvas-helpers.js";
12
- import { StyledWrapper as W, ColorPicker as j, StyledPencilIcon as w, StyledRulerIcon as E, StyledSketchWrapper as H, StyledHighlighterWrapper as M } from "../cue-cavas-styled.js";
13
- import { useCueCanvasActions as V } from "../hooks/use-cue-canvas-actions.js";
14
- import _ from "./color-pallete.js";
15
- const L = S(p)`
16
- transform: scaleX(-1);
17
- `, U = {
18
- pen: w,
19
- ruler: E,
20
- marker: H,
21
- highlighter: M,
22
- eraser: x,
23
- move: R,
24
- undo: p,
25
- redo: L
26
- }, X = T(({ userType: n }) => {
27
- const {
28
- activeInstance: o,
29
- activeTool: i,
30
- setActiveTool: c,
31
- setActiveColor: u,
32
- activeColor: t,
33
- isWritingToolActive: s
34
- } = V(), { colors: h } = y(), m = b(null), C = P(n);
35
- v(() => {
36
- o && (t && o.setColor(O[t]), i && (o == null || o.setTool(i)));
37
- }, [t, i, h, o]);
38
- const $ = I(
39
- (e) => {
40
- o == null || o.setTool(e), e !== "undo" && e !== "redo" && c(e);
41
- },
42
- [o, c]
43
- ), { menuVisible: g, onMenuClick: k } = A(
44
- m,
45
- void 0,
46
- !0,
47
- void 0
48
- );
49
- return /* @__PURE__ */ d(l, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", children: [
50
- C.map((e) => {
51
- const a = U[e];
52
- return /* @__PURE__ */ r(l, { $gutterX: 0.25, children: /* @__PURE__ */ r(f, { onClick: () => $(e), label: e, children: ["pen", "ruler", "marker", "highlighter"].includes(e) ? /* @__PURE__ */ r(a, { $active: i === e, $activeColor: t }) : /* @__PURE__ */ r(W, { $active: i === e, children: /* @__PURE__ */ r(a, {}) }) }) }, e);
53
- }),
54
- /* @__PURE__ */ d(
55
- l,
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import f from "../../ui/layout/flex-view.js";
4
+ import { getUserTools as s } from "../cue-canvas-helpers.js";
5
+ import { useToolState as c } from "../hooks/use-tool-state.js";
6
+ import a from "./color-picker-button.js";
7
+ import p from "./tool-buttons.js";
8
+ import x from "./whiteboard-toolbar.js";
9
+ const b = n(({ userType: o, renderAs: r }) => {
10
+ const { onToolClick: i, onGridOptionClick: m } = c(), e = s(o, r);
11
+ return r === "whiteboard" ? /* @__PURE__ */ t(
12
+ x,
13
+ {
14
+ onGridOptionClick: m,
15
+ onToolClick: i,
16
+ tools: e,
17
+ userType: o
18
+ }
19
+ ) : /* @__PURE__ */ l(f, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGapX: 0.5, children: [
20
+ /* @__PURE__ */ t(
21
+ p,
56
22
  {
57
- $width: 32,
58
- $height: 32,
59
- $alignItems: "center",
60
- $justifyContent: "center",
61
- $borderRadius: 16,
62
- $background: "WHITE",
63
- children: [
64
- /* @__PURE__ */ r(f, { onClick: k, label: "Color Picker", disabled: !s, children: /* @__PURE__ */ r(
65
- j,
66
- {
67
- $width: 22,
68
- $height: 22,
69
- $borderRadius: 11,
70
- $color: t,
71
- $opacity: s ? 1 : 0.5,
72
- ref: m
73
- }
74
- ) }),
75
- g && /* @__PURE__ */ r(
76
- _,
77
- {
78
- setActiveColor: u,
79
- activeColor: t,
80
- userType: n
81
- }
82
- )
83
- ]
23
+ tools: e,
24
+ onToolClick: i,
25
+ onGridOptionClick: m
84
26
  }
85
- )
27
+ ),
28
+ /* @__PURE__ */ t(a, { userType: o })
86
29
  ] });
87
- }), re = X;
30
+ }), w = b;
88
31
  export {
89
- re as default
32
+ w as default
90
33
  };
91
34
  //# sourceMappingURL=toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import type { TCueCanvasTool } from '../types/cue-canvas';\nimport type { IToolsToCompMap, IToolbarProps, TToolComponentType } from '../types/toolbar';\n\nimport React, { memo, useCallback, useEffect, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useTheme } from 'styled-components';\n\nimport CursorIcon from '../../../assets/line-icons/icons/cursor';\nimport EraserIcon from '../../../assets/line-icons/icons/eraser';\nimport UndoIcon from '../../../assets/line-icons/icons/undo';\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 { CANVAS_COLORS } from '../constants/constants';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport {\n StyledPencilIcon,\n StyledRulerIcon,\n StyledWrapper,\n StyledSketchWrapper,\n StyledHighlighterWrapper,\n ColorPicker,\n} from '../cue-cavas-styled';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport ColorPallete from './color-pallete';\n\nconst RedoIcon = styled(UndoIcon)`\n transform: scaleX(-1);\n`;\n\nconst TOOLS_TO_COMP: IToolsToCompMap = {\n pen: StyledPencilIcon,\n ruler: StyledRulerIcon,\n marker: StyledSketchWrapper,\n highlighter: StyledHighlighterWrapper,\n eraser: EraserIcon,\n move: CursorIcon,\n undo: UndoIcon,\n redo: RedoIcon,\n};\n\nconst Toolbar: React.FC<IToolbarProps> = memo(({ userType }) => {\n const {\n activeInstance: cueCanvas,\n activeTool,\n setActiveTool,\n setActiveColor,\n activeColor,\n isWritingToolActive,\n } = useCueCanvasActions();\n const { colors } = useTheme();\n\n const colorPalleteRef = useRef<HTMLDivElement>(null);\n\n const tools = getUserTools(userType);\n\n useEffect(() => {\n if (cueCanvas) {\n if (activeColor) {\n cueCanvas.setColor(CANVAS_COLORS[activeColor]);\n }\n\n if (activeTool) {\n cueCanvas?.setTool(activeTool);\n }\n }\n }, [activeColor, activeTool, colors, cueCanvas]);\n\n const onToolClick = useCallback(\n (tool: TCueCanvasTool) => {\n cueCanvas?.setTool(tool);\n if (tool !== 'undo' && tool !== 'redo') {\n setActiveTool(tool);\n }\n },\n [cueCanvas, setActiveTool],\n );\n\n const { menuVisible, onMenuClick } = useContextMenuClickHandler(\n colorPalleteRef,\n undefined,\n true,\n undefined,\n );\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\">\n {tools.map(tool => {\n const ToolComponent = TOOLS_TO_COMP[tool] as TToolComponentType;\n\n return (\n <FlexView $gutterX={0.25} key={tool}>\n <Clickable onClick={() => onToolClick(tool)} label={tool}>\n {['pen', 'ruler', 'marker', 'highlighter'].includes(tool) ? (\n <ToolComponent $active={activeTool === tool} $activeColor={activeColor} />\n ) : (\n <StyledWrapper $active={activeTool === tool}>\n <ToolComponent />\n </StyledWrapper>\n )}\n </Clickable>\n </FlexView>\n );\n })}\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={colorPalleteRef}\n />\n </Clickable>\n {menuVisible && (\n <ColorPallete\n setActiveColor={setActiveColor}\n activeColor={activeColor}\n userType={userType}\n />\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["RedoIcon","styled","UndoIcon","TOOLS_TO_COMP","StyledPencilIcon","StyledRulerIcon","StyledSketchWrapper","StyledHighlighterWrapper","EraserIcon","CursorIcon","Toolbar","memo","userType","cueCanvas","activeTool","setActiveTool","setActiveColor","activeColor","isWritingToolActive","useCueCanvasActions","colors","useTheme","colorPalleteRef","useRef","tools","getUserTools","useEffect","CANVAS_COLORS","onToolClick","useCallback","tool","menuVisible","onMenuClick","useContextMenuClickHandler","FlexView","ToolComponent","jsx","Clickable","StyledWrapper","jsxs","ColorPicker","ColorPallete","Toolbar$1"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMA,IAAWC,EAAOC,CAAQ;AAAA;AAAA,GAI1BC,IAAiC;AAAA,EACrC,KAAKC;AAAA,EACL,OAAOC;AAAA,EACP,QAAQC;AAAA,EACR,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,MAAMC;AAAA,EACN,MAAMP;AAAA,EACN,MAAMF;AACR,GAEMU,IAAmCC,EAAK,CAAC,EAAE,UAAAC,QAAe;AACxD,QAAA;AAAA,IACJ,gBAAgBC;AAAA,IAChB,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC;AAAA,MACEC,EAAoB,GAClB,EAAE,QAAAC,MAAWC,KAEbC,IAAkBC,EAAuB,IAAI,GAE7CC,IAAQC,EAAab,CAAQ;AAEnC,EAAAc,EAAU,MAAM;AACd,IAAIb,MACEI,KACQJ,EAAA,SAASc,EAAcV,CAAW,CAAC,GAG3CH,MACFD,KAAA,QAAAA,EAAW,QAAQC;AAAA,KAGtB,CAACG,GAAaH,GAAYM,GAAQP,CAAS,CAAC;AAE/C,QAAMe,IAAcC;AAAA,IAClB,CAACC,MAAyB;AACxB,MAAAjB,KAAA,QAAAA,EAAW,QAAQiB,IACfA,MAAS,UAAUA,MAAS,UAC9Bf,EAAce,CAAI;AAAA,IAEtB;AAAA,IACA,CAACjB,GAAWE,CAAa;AAAA,EAAA,GAGrB,EAAE,aAAAgB,GAAa,aAAAC,EAAA,IAAgBC;AAAA,IACnCX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGF,2BACGY,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UACjE,UAAA;AAAA,IAAAV,EAAM,IAAI,CAAQM,MAAA;AACX,YAAAK,IAAgBhC,EAAc2B,CAAI;AAExC,+BACGI,GAAS,EAAA,UAAU,MAClB,UAAC,gBAAAE,EAAAC,GAAA,EAAU,SAAS,MAAMT,EAAYE,CAAI,GAAG,OAAOA,GACjD,UAAA,CAAC,OAAO,SAAS,UAAU,aAAa,EAAE,SAASA,CAAI,sBACrDK,GAAc,EAAA,SAASrB,MAAegB,GAAM,cAAcb,EAAa,CAAA,IAExE,gBAAAmB,EAACE,GAAc,EAAA,SAASxB,MAAegB,GACrC,UAAA,gBAAAM,EAACD,KAAc,EACjB,CAAA,EAEJ,CAAA,KAT6BL,CAU/B;AAAA,IAAA,CAEH;AAAA,IACD,gBAAAS;AAAA,MAACL;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,eAAe;AAAA,QACf,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAE,EAACC,KAAU,SAASL,GAAa,OAAM,gBAAe,UAAU,CAACd,GAC/D,UAAA,gBAAAkB;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,eAAe;AAAA,cACf,QAAQvB;AAAA,cACR,UAAUC,IAAsB,IAAI;AAAA,cACpC,KAAKI;AAAA,YAAA;AAAA,UAAA,GAET;AAAA,UACCS,KACC,gBAAAK;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,gBAAAzB;AAAA,cACA,aAAAC;AAAA,cACA,UAAAL;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAED8B,KAAehC;"}
1
+ {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import type { IToolbarProps } from '../types/toolbar';\n\nimport React, { memo } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport { useToolState } from '../hooks/use-tool-state';\nimport ColorPickerButton from './color-picker-button';\nimport ToolButtonList from './tool-buttons';\nimport WhiteboardToolbar from './whiteboard-toolbar';\n\nconst Toolbar: React.FC<IToolbarProps> = memo(({ userType, renderAs }) => {\n const { onToolClick, onGridOptionClick } = useToolState();\n const tools = getUserTools(userType, renderAs);\n\n if (renderAs === 'whiteboard') {\n return (\n <WhiteboardToolbar\n onGridOptionClick={onGridOptionClick}\n onToolClick={onToolClick}\n tools={tools}\n userType={userType}\n />\n );\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGapX={0.5}>\n <ToolButtonList\n tools={tools}\n onToolClick={onToolClick}\n onGridOptionClick={onGridOptionClick}\n />\n <ColorPickerButton userType={userType} />\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["Toolbar","memo","userType","renderAs","onToolClick","onGridOptionClick","useToolState","tools","getUserTools","jsx","WhiteboardToolbar","jsxs","FlexView","ToolButtonList","ColorPickerButton","Toolbar$1"],"mappings":";;;;;;;;AAWA,MAAMA,IAAmCC,EAAK,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAe;AACxE,QAAM,EAAE,aAAAC,GAAa,mBAAAC,EAAkB,IAAIC,EAAa,GAClDC,IAAQC,EAAaN,GAAUC,CAAQ;AAE7C,SAAIA,MAAa,eAEb,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,mBAAAL;AAAA,MACA,aAAAD;AAAA,MACA,OAAAG;AAAA,MACA,UAAAL;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAS,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,WAAW,KACtF,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,OAAAN;AAAA,QACA,aAAAH;AAAA,QACA,mBAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAI,EAACK,KAAkB,UAAAZ,GAAoB;AAAA,EACzC,EAAA,CAAA;AAEJ,CAAC,GAEDa,IAAef;"}
@@ -0,0 +1,25 @@
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
+ import { memo as l } from "react";
3
+ import f from "../../ui/layout/flex-view.js";
4
+ import p from "./pen-tool-menu.js";
5
+ import a from "./tool-buttons.js";
6
+ const b = l(
7
+ ({ tools: o, onToolClick: t, onGridOptionClick: e, userType: i }) => {
8
+ const s = o.slice(0, 4), m = o.slice(4);
9
+ return /* @__PURE__ */ n(f, { $flexDirection: "row", $alignItems: "center", $flexGapX: 0.25, $position: "relative", children: [
10
+ /* @__PURE__ */ r(p, { writingTools: s, onToolClick: t, userType: i }),
11
+ /* @__PURE__ */ r(
12
+ a,
13
+ {
14
+ tools: m,
15
+ onToolClick: t,
16
+ onGridOptionClick: e
17
+ }
18
+ )
19
+ ] });
20
+ }
21
+ );
22
+ export {
23
+ b as default
24
+ };
25
+ //# sourceMappingURL=whiteboard-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard-toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/whiteboard-toolbar.tsx"],"sourcesContent":["import type { IWhiteboardToolbar } from '../types/toolbar';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport PenToolMenu from './pen-tool-menu';\nimport ToolButtonList from './tool-buttons';\n\nconst WhiteboardToolbar: FC<IWhiteboardToolbar> = memo(\n ({ tools, onToolClick, onGridOptionClick, userType }) => {\n const writingTools = tools.slice(0, 4);\n const buttonTools = tools.slice(4);\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.25} $position=\"relative\">\n <PenToolMenu writingTools={writingTools} onToolClick={onToolClick} userType={userType} />\n <ToolButtonList\n tools={buttonTools}\n onToolClick={onToolClick}\n onGridOptionClick={onGridOptionClick}\n />\n </FlexView>\n );\n },\n);\n\nexport default WhiteboardToolbar;\n"],"names":["WhiteboardToolbar","memo","tools","onToolClick","onGridOptionClick","userType","writingTools","buttonTools","jsxs","FlexView","jsx","PenToolMenu","ToolButtonList"],"mappings":";;;;;AASA,MAAMA,IAA4CC;AAAA,EAChD,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,mBAAAC,GAAmB,UAAAC,QAAe;AACvD,UAAMC,IAAeJ,EAAM,MAAM,GAAG,CAAC,GAC/BK,IAAcL,EAAM,MAAM,CAAC;AAG/B,WAAA,gBAAAM,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,WAAW,MAAM,WAAU,YAC7E,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAY,cAAAL,GAA4B,aAAAH,GAA0B,UAAAE,EAAoB,CAAA;AAAA,MACvF,gBAAAK;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAOL;AAAA,UACP,aAAAJ;AAAA,UACA,mBAAAC;AAAA,QAAA;AAAA,MACF;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF;"}