@cuemath/leap 3.4.5 → 3.4.6

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.
@@ -0,0 +1,44 @@
1
+ import { useCallback as i } from "react";
2
+ import m from "../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
+ import { useUIContext as E } from "../../ui/context/context.js";
4
+ import { STICKERS_ANALYTICS_EVENT as d } from "../stickers-analytics-events.js";
5
+ import { useStickers as k } from "../stickers-effects/hooks/use-stickers.js";
6
+ import { useStickersErrorLogger as f } from "./use-stickers-error-logger.js";
7
+ const u = (t) => {
8
+ const { publish: e } = m({
9
+ studentClassroomId: t
10
+ }), { onEvent: c } = E(), n = f(), { showSticker: s } = k();
11
+ return i(
12
+ (o, S) => {
13
+ const a = {
14
+ classroom_id: t,
15
+ sticker: o.id
16
+ };
17
+ try {
18
+ const r = {
19
+ message: {
20
+ data: {
21
+ selectedSticker: {
22
+ id: o.id,
23
+ name: o.name
24
+ },
25
+ effectId: S
26
+ }
27
+ },
28
+ type: "STICKERS"
29
+ };
30
+ s(r), e == null || e({
31
+ eventName: "STICKERS",
32
+ eventPayload: r
33
+ }), c(d.STICKER_SENT, a);
34
+ } catch (r) {
35
+ n(r, { baseEventData: a });
36
+ }
37
+ },
38
+ [n, e, s, t, c]
39
+ );
40
+ };
41
+ export {
42
+ u as useHandleStickerSend
43
+ };
44
+ //# sourceMappingURL=use-handle-sticker-send.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-handle-sticker-send.js","sources":["../../../../src/features/stickers/hooks/use-handle-sticker-send.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport useInClassMessageBroker from '../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport { useUIContext } from '../../ui/context/context';\nimport { STICKERS_ANALYTICS_EVENT } from '../stickers-analytics-events';\nimport { useStickers } from '../stickers-effects/hooks/use-stickers';\nimport type { IStickerData, TStickerAnimationEffects, TStickersPayload } from '../stickers-types';\nimport { useStickersErrorLogger } from './use-stickers-error-logger';\n\nexport const useHandleStickerSend = (studentClassroomId?: string) => {\n const { publish } = useInClassMessageBroker({\n studentClassroomId,\n });\n\n const { onEvent: trackEvent } = useUIContext();\n const logError = useStickersErrorLogger();\n\n const { showSticker } = useStickers();\n\n const sendSticker = useCallback(\n (sticker: IStickerData, effect: TStickerAnimationEffects) => {\n const baseEventData = {\n classroom_id: studentClassroomId,\n sticker: sticker.id,\n };\n\n try {\n const payload: TStickersPayload = {\n message: {\n data: {\n selectedSticker: {\n id: sticker.id,\n name: sticker.name,\n },\n effectId: effect,\n },\n },\n type: 'STICKERS',\n };\n\n showSticker(payload);\n\n publish?.({\n eventName: 'STICKERS',\n eventPayload: payload,\n });\n\n trackEvent(STICKERS_ANALYTICS_EVENT.STICKER_SENT, baseEventData);\n } catch (error) {\n logError(error, { baseEventData });\n }\n },\n [logError, publish, showSticker, studentClassroomId, trackEvent],\n );\n\n return sendSticker;\n};\n"],"names":["useHandleStickerSend","studentClassroomId","publish","useInClassMessageBroker","trackEvent","useUIContext","logError","useStickersErrorLogger","showSticker","useStickers","useCallback","sticker","effect","baseEventData","payload","STICKERS_ANALYTICS_EVENT","error"],"mappings":";;;;;;AASa,MAAAA,IAAuB,CAACC,MAAgC;AAC7D,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAwB;AAAA,IAC1C,oBAAAF;AAAA,EAAA,CACD,GAEK,EAAE,SAASG,EAAW,IAAIC,EAAa,GACvCC,IAAWC,KAEX,EAAE,aAAAC,MAAgBC;AAsCjB,SApCaC;AAAA,IAClB,CAACC,GAAuBC,MAAqC;AAC3D,YAAMC,IAAgB;AAAA,QACpB,cAAcZ;AAAA,QACd,SAASU,EAAQ;AAAA,MAAA;AAGf,UAAA;AACF,cAAMG,IAA4B;AAAA,UAChC,SAAS;AAAA,YACP,MAAM;AAAA,cACJ,iBAAiB;AAAA,gBACf,IAAIH,EAAQ;AAAA,gBACZ,MAAMA,EAAQ;AAAA,cAChB;AAAA,cACA,UAAUC;AAAA,YACZ;AAAA,UACF;AAAA,UACA,MAAM;AAAA,QAAA;AAGR,QAAAJ,EAAYM,CAAO,GAETZ,KAAA,QAAAA,EAAA;AAAA,UACR,WAAW;AAAA,UACX,cAAcY;AAAA,QAAA,IAGLV,EAAAW,EAAyB,cAAcF,CAAa;AAAA,eACxDG,GAAO;AACL,QAAAV,EAAAU,GAAO,EAAE,eAAAH,EAAA,CAAe;AAAA,MACnC;AAAA,IACF;AAAA,IACA,CAACP,GAAUJ,GAASM,GAAaP,GAAoBG,CAAU;AAAA,EAAA;AAInE;"}
@@ -0,0 +1,17 @@
1
+ import { useUIContext as E } from "../../ui/context/context.js";
2
+ import { STICKERS_ANALYTICS_EVENT as i } from "../stickers-analytics-events.js";
3
+ function f() {
4
+ const { onEvent: s } = E();
5
+ return (t, o) => {
6
+ let e = "Unknown error", n;
7
+ t instanceof Error ? (e = t.message, n = t.stack) : typeof t == "string" && (e = t), s(i.STICKER_LOG_ERROR, {
8
+ message: e,
9
+ stack: n,
10
+ ...o
11
+ });
12
+ };
13
+ }
14
+ export {
15
+ f as useStickersErrorLogger
16
+ };
17
+ //# sourceMappingURL=use-stickers-error-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-stickers-error-logger.js","sources":["../../../../src/features/stickers/hooks/use-stickers-error-logger.ts"],"sourcesContent":["import { useUIContext } from '../../ui/context/context';\nimport { STICKERS_ANALYTICS_EVENT } from '../stickers-analytics-events';\n\nexport function useStickersErrorLogger() {\n const { onEvent: trackEvent } = useUIContext();\n\n return (error: unknown, context?: Record<string, unknown>) => {\n let message = 'Unknown error';\n let stack: string | undefined;\n\n if (error instanceof Error) {\n message = error.message;\n stack = error.stack;\n } else if (typeof error === 'string') {\n message = error;\n }\n\n trackEvent(STICKERS_ANALYTICS_EVENT.STICKER_LOG_ERROR, {\n message,\n stack,\n ...context,\n });\n };\n}\n"],"names":["useStickersErrorLogger","trackEvent","useUIContext","error","context","message","stack","STICKERS_ANALYTICS_EVENT"],"mappings":";;AAGO,SAASA,IAAyB;AACvC,QAAM,EAAE,SAASC,EAAW,IAAIC,EAAa;AAEtC,SAAA,CAACC,GAAgBC,MAAsC;AAC5D,QAAIC,IAAU,iBACVC;AAEJ,IAAIH,aAAiB,SACnBE,IAAUF,EAAM,SAChBG,IAAQH,EAAM,SACL,OAAOA,KAAU,aAChBE,IAAAF,IAGZF,EAAWM,EAAyB,mBAAmB;AAAA,MACrD,SAAAF;AAAA,MACA,OAAAC;AAAA,MACA,GAAGF;AAAA,IAAA,CACJ;AAAA,EAAA;AAEL;"}
@@ -1,12 +1,12 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import { useCallback as m, useMemo as h } from "react";
3
- import { JOURNEY_ID_TEACHER as t } from "../../../../journey/journey-id/journey-id-teacher.js";
4
- import { IndicatorType as C } from "../../../../journey/use-journey/constants.js";
5
- import { useJourney as T } from "../../../../journey/use-journey/use-journey.js";
6
- import y from "../../../../ui/buttons/button/button.js";
7
- import O from "../../../../ui/layout/flex-view.js";
8
- import S from "../../../../ui/separator/separator.js";
9
- import u from "../../../../ui/text/text.js";
3
+ import { JOURNEY_ID_TEACHER as t } from "../../../journey/journey-id/journey-id-teacher.js";
4
+ import { IndicatorType as C } from "../../../journey/use-journey/constants.js";
5
+ import { useJourney as T } from "../../../journey/use-journey/use-journey.js";
6
+ import y from "../../../ui/buttons/button/button.js";
7
+ import O from "../../../ui/layout/flex-view.js";
8
+ import S from "../../../ui/separator/separator.js";
9
+ import u from "../../../ui/text/text.js";
10
10
  const x = ({
11
11
  triggerRef: o,
12
12
  triggerElement: n,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-stickers-journey.js","sources":["../../../../../src/features/stickers/hooks/use-stickers-journey/use-stickers-journey.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport { JOURNEY_ID_TEACHER } from '../../../journey/journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../../journey/use-journey/constants';\nimport { useJourney } from '../../../journey/use-journey/use-journey';\nimport type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport type { IUseTeacherStickersJourneyProps } from './use-stickers-journey-types';\n\nexport const useStickersJourney = ({\n triggerRef,\n triggerElement,\n tooltipConfig,\n}: IUseTeacherStickersJourneyProps) => {\n const { setJourney, nextCoachmark, endJourney } = useJourney();\n\n const endTeacherStickersOnboarding = useCallback(() => {\n endJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [endJourney]);\n\n const startTeacherStickersJourney = useCallback(() => {\n if (!triggerRef.current) return;\n\n const indicatorPayload = {\n position: tooltipConfig.position,\n tooltipXCoOrdinates: tooltipConfig.tooltipXCoOrdinates,\n tooltipYCoOrdinates: tooltipConfig.tooltipYCoOrdinates,\n arrowXCoOrdinates: tooltipConfig.arrowXCoOrdinates,\n arrowYCoOrdinates: tooltipConfig.arrowYCoOrdinates,\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <FlexView>\n <Text\n $renderOnMobileAs=\"ab3\"\n $renderAs=\"ab3\"\n as=\"span\"\n $inline={true}\n $whiteSpace=\"normal\"\n >\n <Text $renderAs=\"ab3-bold\" as=\"span\" $inline={true}>\n New Stickers\n </Text>{' '}\n - Use them to celebrate little moments of joy!\n </Text>\n </FlexView>\n <Separator height={10} />\n <Button\n renderAs=\"secondary\"\n label=\"Got It\"\n size=\"xsmall\"\n width=\"50%\"\n onClick={endTeacherStickersOnboarding}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps;\n\n setJourney(\n JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY,\n [\n {\n originalElementToHighlightRef: triggerRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: triggerElement,\n indicator: indicatorPayload,\n },\n ],\n undefined,\n false,\n );\n\n nextCoachmark(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [\n triggerRef,\n triggerElement,\n tooltipConfig.position,\n tooltipConfig.tooltipXCoOrdinates,\n tooltipConfig.tooltipYCoOrdinates,\n tooltipConfig.arrowXCoOrdinates,\n tooltipConfig.arrowYCoOrdinates,\n endTeacherStickersOnboarding,\n setJourney,\n nextCoachmark,\n ]);\n\n const stickerJourney = useMemo(\n () => ({\n startTeacherStickersJourney,\n }),\n [startTeacherStickersJourney],\n );\n\n return stickerJourney;\n};\n"],"names":["useStickersJourney","triggerRef","triggerElement","tooltipConfig","setJourney","nextCoachmark","endJourney","useJourney","endTeacherStickersOnboarding","useCallback","JOURNEY_ID_TEACHER","startTeacherStickersJourney","indicatorPayload","FlexView","jsx","jsxs","Text","Separator","Button","IndicatorType","useMemo"],"mappings":";;;;;;;;;AAYO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AACF,MAAuC;AACrC,QAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,YAAAC,MAAeC,EAAW,GAEvDC,IAA+BC,EAAY,MAAM;AACrD,IAAAH,EAAWI,EAAmB,sBAAsB;AAAA,EAAA,GACnD,CAACJ,CAAU,CAAC,GAETK,IAA8BF,EAAY,MAAM;AAChD,QAAA,CAACR,EAAW,QAAS;AAEzB,UAAMW,IAAmB;AAAA,MACvB,UAAUT,EAAc;AAAA,MACxB,qBAAqBA,EAAc;AAAA,MACnC,qBAAqBA,EAAc;AAAA,MACnC,mBAAmBA,EAAc;AAAA,MACjC,mBAAmBA,EAAc;AAAA,MACjC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,+BACGU,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAACD,GACC,EAAA,UAAA,gBAAAE;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,mBAAkB;AAAA,YAClB,WAAU;AAAA,YACV,IAAG;AAAA,YACH,SAAS;AAAA,YACT,aAAY;AAAA,YAEZ,UAAA;AAAA,cAAA,gBAAAF,EAACE,KAAK,WAAU,YAAW,IAAG,QAAO,SAAS,IAAM,UAEpD,eAAA,CAAA;AAAA,cAAQ;AAAA,cAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAGhB;AAAA,QACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QACvB,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAM;AAAA,YACN,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASV;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IAAA;AAIJ,IAAAJ;AAAA,MACEM,EAAmB;AAAA,MACnB;AAAA,QACE;AAAA,UACE,+BAA+BT;AAAA,UAC/B,MAAMkB,EAAc;AAAA,UACpB,oBAAoBjB;AAAA,UACpB,WAAWU;AAAA,QACb;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAGFP,EAAcK,EAAmB,sBAAsB;AAAA,EAAA,GACtD;AAAA,IACDT;AAAA,IACAC;AAAA,IACAC,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdK;AAAA,IACAJ;AAAA,IACAC;AAAA,EAAA,CACD;AASM,SAPgBe;AAAA,IACrB,OAAO;AAAA,MACL,6BAAAT;AAAA,IAAA;AAAA,IAEF,CAACA,CAA2B;AAAA,EAAA;AAIhC;"}
@@ -1,49 +1,50 @@
1
- import { jsxs as $, jsx as s } from "react/jsx-runtime";
2
- import { memo as E, useState as u, useRef as k, useCallback as r } from "react";
3
- import g from "../../../../ui/lottie-animation/lottie-animation.js";
4
- import { StickerContainer as j, StaticEmoji as C, LottieContainer as R } from "./sticker-styled.js";
5
- const x = {
1
+ import { jsxs as L, jsx as s } from "react/jsx-runtime";
2
+ import { memo as $, useState as f, useRef as k, useCallback as r } from "react";
3
+ import j from "../../../../ui/lottie-animation/lottie-animation.js";
4
+ import { useStickersErrorLogger as C } from "../../../hooks/use-stickers-error-logger.js";
5
+ import { StickerContainer as R, StaticEmoji as x, LottieContainer as y } from "./sticker-styled.js";
6
+ const A = {
6
7
  renderer: "canvas"
7
- }, y = ({ emoji: f, lottieUrl: a, size: n = 48, onClick: h, disabled: t = !1 }) => {
8
- const [c, d] = u(!1), [i, l] = u("idle"), o = k(null), v = r(() => {
8
+ }, H = ({ emoji: h, lottieUrl: a, size: n = 48, onClick: S, disabled: t = !1 }) => {
9
+ const [c, l] = f(!1), [i, d] = f("idle"), o = k(null), m = C(), v = r(() => {
9
10
  var e;
10
- l("loaded"), (e = o.current) == null || e.play();
11
- }, []), S = r(() => {
12
- l("error");
11
+ d("loaded"), (e = o.current) == null || e.play();
13
12
  }, []), p = r(() => {
13
+ d("error"), m("Error in loading the lottie");
14
+ }, [m]), E = r(() => {
14
15
  var e;
15
- d(!0), i === "loaded" && ((e = o.current) == null || e.play());
16
- }, [i]), L = r(() => {
16
+ l(!0), i === "loaded" && ((e = o.current) == null || e.play());
17
+ }, [i]), g = r(() => {
17
18
  var e;
18
- d(!1), (e = o.current) == null || e.goToAndStop(0, !0);
19
- }, []), m = c && i === "loaded";
20
- return /* @__PURE__ */ $(
21
- j,
19
+ l(!1), (e = o.current) == null || e.goToAndStop(0, !0);
20
+ }, []), u = c && i === "loaded";
21
+ return /* @__PURE__ */ L(
22
+ R,
22
23
  {
23
24
  $size: n,
24
25
  $disabled: t,
25
- onPointerEnter: t ? void 0 : p,
26
- onPointerLeave: t ? void 0 : L,
27
- onClick: t ? void 0 : h,
26
+ onPointerEnter: t ? void 0 : E,
27
+ onPointerLeave: t ? void 0 : g,
28
+ onClick: t ? void 0 : S,
28
29
  children: [
29
- /* @__PURE__ */ s(C, { $size: n, $visible: !m, children: f }),
30
- /* @__PURE__ */ s(R, { $size: n, $visible: m, children: c && a && /* @__PURE__ */ s(
31
- g,
30
+ /* @__PURE__ */ s(x, { $size: n, $visible: !u, children: h }),
31
+ /* @__PURE__ */ s(y, { $size: n, $visible: u, children: c && a && /* @__PURE__ */ s(
32
+ j,
32
33
  {
33
34
  ref: o,
34
35
  src: a,
35
36
  width: "100%",
36
37
  height: "100%",
37
- settings: x,
38
+ settings: A,
38
39
  onRender: v,
39
- onError: S
40
+ onError: p
40
41
  }
41
42
  ) })
42
43
  ]
43
44
  }
44
45
  );
45
- }, b = E(y);
46
+ }, I = $(H);
46
47
  export {
47
- b as default
48
+ I as default
48
49
  };
49
50
  //# sourceMappingURL=sticker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sticker.js","sources":["../../../../../../src/features/stickers/sticker-selector/comps/sticker/sticker.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useRef, useState } from 'react';\n\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport * as Styled from './sticker-styled';\nimport type { IStickerProps } from './sticker-types';\n\nconst renderSettings = {\n renderer: 'canvas' as const,\n};\n\nconst Sticker: FC<IStickerProps> = ({ emoji, lottieUrl, size = 48, onClick, disabled = false }) => {\n const [isHovered, setIsHovered] = useState(false);\n const [lottieState, setLottieState] = useState<'idle' | 'loaded' | 'error'>('idle');\n const lottieRef = useRef<ILottieAnimationRef>(null);\n\n const handleLottieReady = useCallback(() => {\n setLottieState('loaded');\n lottieRef.current?.play();\n }, []);\n\n const handleLottieError = useCallback(() => {\n setLottieState('error');\n }, []);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n\n if (lottieState === 'loaded') {\n lottieRef.current?.play();\n }\n }, [lottieState]);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n lottieRef.current?.goToAndStop(0, true);\n }, []);\n\n const hideStaticEmoji = isHovered && lottieState === 'loaded';\n\n return (\n <Styled.StickerContainer\n $size={size}\n $disabled={disabled}\n onPointerEnter={disabled ? undefined : handleMouseEnter}\n onPointerLeave={disabled ? undefined : handleMouseLeave}\n onClick={disabled ? undefined : onClick}\n >\n <Styled.StaticEmoji $size={size} $visible={!hideStaticEmoji}>\n {emoji}\n </Styled.StaticEmoji>\n\n <Styled.LottieContainer $size={size} $visible={hideStaticEmoji}>\n {isHovered && lottieUrl && (\n <LottieAnimation\n ref={lottieRef}\n src={lottieUrl}\n width=\"100%\"\n height=\"100%\"\n settings={renderSettings}\n onRender={handleLottieReady}\n onError={handleLottieError}\n />\n )}\n </Styled.LottieContainer>\n </Styled.StickerContainer>\n );\n};\n\nexport default memo(Sticker);\n"],"names":["renderSettings","Sticker","emoji","lottieUrl","size","onClick","disabled","isHovered","setIsHovered","useState","lottieState","setLottieState","lottieRef","useRef","handleLottieReady","useCallback","_a","handleLottieError","handleMouseEnter","handleMouseLeave","hideStaticEmoji","jsxs","Styled.StickerContainer","jsx","Styled.StaticEmoji","Styled.LottieContainer","LottieAnimation","Sticker$1","memo"],"mappings":";;;;AAQA,MAAMA,IAAiB;AAAA,EACrB,UAAU;AACZ,GAEMC,IAA6B,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,MAAAC,IAAO,IAAI,SAAAC,GAAS,UAAAC,IAAW,SAAY;AACjG,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAaC,CAAc,IAAIF,EAAsC,MAAM,GAC5EG,IAAYC,EAA4B,IAAI,GAE5CC,IAAoBC,EAAY,MAAM;;AAC1C,IAAAJ,EAAe,QAAQ,IACvBK,IAAAJ,EAAU,YAAV,QAAAI,EAAmB;AAAA,EACrB,GAAG,CAAE,CAAA,GAECC,IAAoBF,EAAY,MAAM;AAC1C,IAAAJ,EAAe,OAAO;AAAA,EACxB,GAAG,CAAE,CAAA,GAECO,IAAmBH,EAAY,MAAM;;AACzC,IAAAP,EAAa,EAAI,GAEbE,MAAgB,cAClBM,IAAAJ,EAAU,YAAV,QAAAI,EAAmB;AAAA,EACrB,GACC,CAACN,CAAW,CAAC,GAEVS,IAAmBJ,EAAY,MAAM;;AACzC,IAAAP,EAAa,EAAK,IACRQ,IAAAJ,EAAA,YAAA,QAAAI,EAAS,YAAY,GAAG;AAAA,EACpC,GAAG,CAAE,CAAA,GAECI,IAAkBb,KAAaG,MAAgB;AAGnD,SAAA,gBAAAW;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,WAAWE;AAAA,MACX,gBAAgBA,IAAW,SAAYY;AAAA,MACvC,gBAAgBZ,IAAW,SAAYa;AAAA,MACvC,SAASb,IAAW,SAAYD;AAAA,MAEhC,UAAA;AAAA,QAAC,gBAAAkB,EAAAC,GAAA,EAAmB,OAAOpB,GAAM,UAAU,CAACgB,GACzC,UACHlB,GAAA;AAAA,QAEA,gBAAAqB,EAACE,GAAA,EAAuB,OAAOrB,GAAM,UAAUgB,GAC5C,UAAAb,KAAaJ,KACZ,gBAAAoB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,KAAKd;AAAA,YACL,KAAKT;AAAA,YACL,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAUH;AAAA,YACV,UAAUc;AAAA,YACV,SAASG;AAAA,UAAA;AAAA,QAAA,GAGf;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeU,IAAAC,EAAK3B,CAAO;"}
1
+ {"version":3,"file":"sticker.js","sources":["../../../../../../src/features/stickers/sticker-selector/comps/sticker/sticker.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useCallback, useRef, useState } from 'react';\n\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport { useStickersErrorLogger } from '../../../hooks/use-stickers-error-logger';\nimport * as Styled from './sticker-styled';\nimport type { IStickerProps } from './sticker-types';\n\nconst renderSettings = {\n renderer: 'canvas' as const,\n};\n\nconst Sticker: FC<IStickerProps> = ({ emoji, lottieUrl, size = 48, onClick, disabled = false }) => {\n const [isHovered, setIsHovered] = useState(false);\n const [lottieState, setLottieState] = useState<'idle' | 'loaded' | 'error'>('idle');\n const lottieRef = useRef<ILottieAnimationRef>(null);\n\n const logError = useStickersErrorLogger();\n\n const handleLottieReady = useCallback(() => {\n setLottieState('loaded');\n lottieRef.current?.play();\n }, []);\n\n const handleLottieError = useCallback(() => {\n setLottieState('error');\n logError('Error in loading the lottie');\n }, [logError]);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n\n if (lottieState === 'loaded') {\n lottieRef.current?.play();\n }\n }, [lottieState]);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n lottieRef.current?.goToAndStop(0, true);\n }, []);\n\n const hideStaticEmoji = isHovered && lottieState === 'loaded';\n\n return (\n <Styled.StickerContainer\n $size={size}\n $disabled={disabled}\n onPointerEnter={disabled ? undefined : handleMouseEnter}\n onPointerLeave={disabled ? undefined : handleMouseLeave}\n onClick={disabled ? undefined : onClick}\n >\n <Styled.StaticEmoji $size={size} $visible={!hideStaticEmoji}>\n {emoji}\n </Styled.StaticEmoji>\n\n <Styled.LottieContainer $size={size} $visible={hideStaticEmoji}>\n {isHovered && lottieUrl && (\n <LottieAnimation\n ref={lottieRef}\n src={lottieUrl}\n width=\"100%\"\n height=\"100%\"\n settings={renderSettings}\n onRender={handleLottieReady}\n onError={handleLottieError}\n />\n )}\n </Styled.LottieContainer>\n </Styled.StickerContainer>\n );\n};\n\nexport default memo(Sticker);\n"],"names":["renderSettings","Sticker","emoji","lottieUrl","size","onClick","disabled","isHovered","setIsHovered","useState","lottieState","setLottieState","lottieRef","useRef","logError","useStickersErrorLogger","handleLottieReady","useCallback","_a","handleLottieError","handleMouseEnter","handleMouseLeave","hideStaticEmoji","jsxs","Styled.StickerContainer","jsx","Styled.StaticEmoji","Styled.LottieContainer","LottieAnimation","Sticker$1","memo"],"mappings":";;;;;AASA,MAAMA,IAAiB;AAAA,EACrB,UAAU;AACZ,GAEMC,IAA6B,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,MAAAC,IAAO,IAAI,SAAAC,GAAS,UAAAC,IAAW,SAAY;AACjG,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAaC,CAAc,IAAIF,EAAsC,MAAM,GAC5EG,IAAYC,EAA4B,IAAI,GAE5CC,IAAWC,KAEXC,IAAoBC,EAAY,MAAM;;AAC1C,IAAAN,EAAe,QAAQ,IACvBO,IAAAN,EAAU,YAAV,QAAAM,EAAmB;AAAA,EACrB,GAAG,CAAE,CAAA,GAECC,IAAoBF,EAAY,MAAM;AAC1C,IAAAN,EAAe,OAAO,GACtBG,EAAS,6BAA6B;AAAA,EAAA,GACrC,CAACA,CAAQ,CAAC,GAEPM,IAAmBH,EAAY,MAAM;;AACzC,IAAAT,EAAa,EAAI,GAEbE,MAAgB,cAClBQ,IAAAN,EAAU,YAAV,QAAAM,EAAmB;AAAA,EACrB,GACC,CAACR,CAAW,CAAC,GAEVW,IAAmBJ,EAAY,MAAM;;AACzC,IAAAT,EAAa,EAAK,IACRU,IAAAN,EAAA,YAAA,QAAAM,EAAS,YAAY,GAAG;AAAA,EACpC,GAAG,CAAE,CAAA,GAECI,IAAkBf,KAAaG,MAAgB;AAGnD,SAAA,gBAAAa;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAOpB;AAAA,MACP,WAAWE;AAAA,MACX,gBAAgBA,IAAW,SAAYc;AAAA,MACvC,gBAAgBd,IAAW,SAAYe;AAAA,MACvC,SAASf,IAAW,SAAYD;AAAA,MAEhC,UAAA;AAAA,QAAC,gBAAAoB,EAAAC,GAAA,EAAmB,OAAOtB,GAAM,UAAU,CAACkB,GACzC,UACHpB,GAAA;AAAA,QAEA,gBAAAuB,EAACE,GAAA,EAAuB,OAAOvB,GAAM,UAAUkB,GAC5C,UAAAf,KAAaJ,KACZ,gBAAAsB;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,KAAKhB;AAAA,YACL,KAAKT;AAAA,YACL,OAAM;AAAA,YACN,QAAO;AAAA,YACP,UAAUH;AAAA,YACV,UAAUgB;AAAA,YACV,SAASG;AAAA,UAAA;AAAA,QAAA,GAGf;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeU,IAAAC,EAAK7B,CAAO;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { memo as B, useState as G, useCallback as H, useMemo as c } from "react";
3
3
  import K from "../../ui/arrow-tooltip/arrow-tooltip.js";
4
- import R from "./comps/stiker-selector-grid/sticker-selector-grid.js";
5
- import { useHandleStickerSend as _ } from "./hooks/use-handle-sticker-send.js";
4
+ import { useHandleStickerSend as R } from "../hooks/use-handle-sticker-send.js";
5
+ import _ from "./comps/stiker-selector-grid/sticker-selector-grid.js";
6
6
  import { TriggerWrapper as $ } from "./sticker-selector-styled.js";
7
7
  const q = ({
8
8
  triggerNode: e,
@@ -30,7 +30,7 @@ const q = ({
30
30
  zIndex: M,
31
31
  parentWidth: X,
32
32
  isBlocking: D = !1
33
- } = f, [o, n] = G(!1), r = _(m), l = H(
33
+ } = f, [o, n] = G(!1), r = R(m), l = H(
34
34
  (W) => {
35
35
  if (o) return;
36
36
  const d = ["burst-from-edges", "pop-expand", "float-up", "fall-down"], Y = d[Math.floor(Math.random() * d.length)];
@@ -43,7 +43,7 @@ const q = ({
43
43
  [r, o]
44
44
  ), F = c(
45
45
  () => /* @__PURE__ */ t(
46
- R,
46
+ _,
47
47
  {
48
48
  columns: i,
49
49
  gap: s,
@@ -1 +1 @@
1
- {"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport type { IStickerData, TStickerAnimationEffects } from '../stickers-types';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport { useHandleStickerSend } from './hooks/use-handle-sticker-send';\nimport * as Styled from './sticker-selector-styled';\nimport type { IStickerSelectorProps } from './sticker-selector-types';\n\nconst StickerSelector: FC<IStickerSelectorProps> = ({\n triggerNode,\n studentClassroomId,\n gridConfig,\n tooltipConfig,\n visible,\n}) => {\n const { columns = 4, gap = 8, stickerSize = 48 } = gridConfig;\n const {\n isAnimated,\n arrowColor,\n arrowSize,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n position = 'bottom',\n renderAs = 'primary',\n textVariant,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n parentWidth,\n isBlocking = false,\n } = tooltipConfig;\n\n const [isTemporarilyDisabled, setIsTemporarilyDisabled] = useState(false);\n\n const sendSticker = useHandleStickerSend(studentClassroomId);\n\n const handleStickerSend = useCallback(\n (sticker: IStickerData) => {\n if (isTemporarilyDisabled) return;\n\n const STICKER_EFFECTS = ['burst-from-edges', 'pop-expand', 'float-up', 'fall-down'] as const;\n\n const randomEffect: TStickerAnimationEffects =\n STICKER_EFFECTS[Math.floor(Math.random() * STICKER_EFFECTS.length)]!;\n\n sendSticker?.(sticker, randomEffect);\n setIsTemporarilyDisabled(true);\n\n const timeout = setTimeout(() => {\n setIsTemporarilyDisabled(false);\n }, 5000);\n\n return () => clearTimeout(timeout);\n },\n [sendSticker, isTemporarilyDisabled],\n );\n\n const tooltipItem = useMemo(\n () => (\n <StickerSelectorGrid\n columns={columns}\n gap={gap}\n stickerSize={stickerSize}\n onStickerClick={handleStickerSend}\n disabled={isTemporarilyDisabled}\n />\n ),\n [columns, gap, stickerSize, handleStickerSend, isTemporarilyDisabled],\n );\n\n const triggerEle = useMemo(() => {\n return (\n <Styled.TriggerWrapper $disabled={isTemporarilyDisabled}>{triggerNode}</Styled.TriggerWrapper>\n );\n }, [isTemporarilyDisabled, triggerNode]);\n\n return (\n <ArrowTooltip\n children={triggerEle}\n alwaysVisible\n hidden={!visible}\n tooltipItem={tooltipItem}\n renderAs={renderAs}\n position={position}\n isBlocking={isBlocking}\n isAnimated={isAnimated}\n zIndex={zIndex}\n width={width}\n widthX={widthX}\n parentWidth={parentWidth}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n textVariant={textVariant}\n tooltipOffset={tooltipOffset}\n arrowColor={arrowColor}\n arrowSize={arrowSize}\n arrowXCoOrdinates={arrowXCoOrdinates}\n arrowYCoOrdinates={arrowYCoOrdinates}\n tooltipXCoOrdinates={tooltipXCoOrdinates}\n tooltipYCoOrdinates={tooltipYCoOrdinates}\n />\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","triggerNode","studentClassroomId","gridConfig","tooltipConfig","visible","columns","gap","stickerSize","isAnimated","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","position","renderAs","textVariant","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","parentWidth","isBlocking","isTemporarilyDisabled","setIsTemporarilyDisabled","useState","sendSticker","useHandleStickerSend","handleStickerSend","useCallback","sticker","STICKER_EFFECTS","randomEffect","timeout","tooltipItem","useMemo","jsx","StickerSelectorGrid","triggerEle","Styled.TriggerWrapper","ArrowTooltip","stickerSelector","memo"],"mappings":";;;;;;AAUA,MAAMA,IAA6C,CAAC;AAAA,EAClD,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,EAAE,SAAAC,IAAU,GAAG,KAAAC,IAAM,GAAG,aAAAC,IAAc,GAAO,IAAAL,GAC7C;AAAA,IACJ,YAAAM;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,EACX,IAAAtB,GAEE,CAACuB,GAAuBC,CAAwB,IAAIC,EAAS,EAAK,GAElEC,IAAcC,EAAqB7B,CAAkB,GAErD8B,IAAoBC;AAAA,IACxB,CAACC,MAA0B;AACzB,UAAIP,EAAuB;AAE3B,YAAMQ,IAAkB,CAAC,oBAAoB,cAAc,YAAY,WAAW,GAE5EC,IACJD,EAAgB,KAAK,MAAM,KAAK,WAAWA,EAAgB,MAAM,CAAC;AAEpE,MAAAL,KAAA,QAAAA,EAAcI,GAASE,IACvBR,EAAyB,EAAI;AAEvB,YAAAS,IAAU,WAAW,MAAM;AAC/B,QAAAT,EAAyB,EAAK;AAAA,SAC7B,GAAI;AAEA,aAAA,MAAM,aAAaS,CAAO;AAAA,IACnC;AAAA,IACA,CAACP,GAAaH,CAAqB;AAAA,EAAA,GAG/BW,IAAcC;AAAA,IAClB,MACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAAnC;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgBwB;AAAA,QAChB,UAAUL;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,CAACrB,GAASC,GAAKC,GAAawB,GAAmBL,CAAqB;AAAA,EAAA,GAGhEe,IAAaH,EAAQ,wBAEtBI,GAAA,EAAsB,WAAWhB,GAAwB,UAAY1B,EAAA,CAAA,GAEvE,CAAC0B,GAAuB1B,CAAW,CAAC;AAGrC,SAAA,gBAAAuC;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,UAAUF;AAAA,MACV,eAAa;AAAA,MACb,QAAQ,CAACrC;AAAA,MACT,aAAAiC;AAAA,MACA,UAAArB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAU;AAAA,MACA,YAAAjB;AAAA,MACA,QAAAe;AAAA,MACA,OAAAF;AAAA,MACA,QAAAC;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAX;AAAA,MACA,aAAAC;AAAA,MACA,aAAAG;AAAA,MACA,eAAAC;AAAA,MACA,YAAAT;AAAA,MACA,WAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,qBAAAO;AAAA,MACA,qBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN,GAEewB,IAAAC,EAAK9C,CAAe;"}
1
+ {"version":3,"file":"sticker-selector.js","sources":["../../../../src/features/stickers/sticker-selector/sticker-selector.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { memo, useMemo, useState, useCallback } from 'react';\n\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport { useHandleStickerSend } from '../hooks/use-handle-sticker-send';\nimport type { IStickerData, TStickerAnimationEffects } from '../stickers-types';\nimport StickerSelectorGrid from './comps/stiker-selector-grid/sticker-selector-grid';\nimport * as Styled from './sticker-selector-styled';\nimport type { IStickerSelectorProps } from './sticker-selector-types';\n\nconst StickerSelector: FC<IStickerSelectorProps> = ({\n triggerNode,\n studentClassroomId,\n gridConfig,\n tooltipConfig,\n visible,\n}) => {\n const { columns = 4, gap = 8, stickerSize = 48 } = gridConfig;\n const {\n isAnimated,\n arrowColor,\n arrowSize,\n arrowXCoOrdinates,\n arrowYCoOrdinates,\n backgroundColor,\n borderColor,\n position = 'bottom',\n renderAs = 'primary',\n textVariant,\n tooltipOffset,\n tooltipXCoOrdinates,\n tooltipYCoOrdinates,\n width,\n widthX,\n zIndex,\n parentWidth,\n isBlocking = false,\n } = tooltipConfig;\n\n const [isTemporarilyDisabled, setIsTemporarilyDisabled] = useState(false);\n\n const sendSticker = useHandleStickerSend(studentClassroomId);\n\n const handleStickerSend = useCallback(\n (sticker: IStickerData) => {\n if (isTemporarilyDisabled) return;\n\n const STICKER_EFFECTS = ['burst-from-edges', 'pop-expand', 'float-up', 'fall-down'] as const;\n\n const randomEffect: TStickerAnimationEffects =\n STICKER_EFFECTS[Math.floor(Math.random() * STICKER_EFFECTS.length)]!;\n\n sendSticker?.(sticker, randomEffect);\n setIsTemporarilyDisabled(true);\n\n const timeout = setTimeout(() => {\n setIsTemporarilyDisabled(false);\n }, 5000);\n\n return () => clearTimeout(timeout);\n },\n [sendSticker, isTemporarilyDisabled],\n );\n\n const tooltipItem = useMemo(\n () => (\n <StickerSelectorGrid\n columns={columns}\n gap={gap}\n stickerSize={stickerSize}\n onStickerClick={handleStickerSend}\n disabled={isTemporarilyDisabled}\n />\n ),\n [columns, gap, stickerSize, handleStickerSend, isTemporarilyDisabled],\n );\n\n const triggerEle = useMemo(() => {\n return (\n <Styled.TriggerWrapper $disabled={isTemporarilyDisabled}>{triggerNode}</Styled.TriggerWrapper>\n );\n }, [isTemporarilyDisabled, triggerNode]);\n\n return (\n <ArrowTooltip\n children={triggerEle}\n alwaysVisible\n hidden={!visible}\n tooltipItem={tooltipItem}\n renderAs={renderAs}\n position={position}\n isBlocking={isBlocking}\n isAnimated={isAnimated}\n zIndex={zIndex}\n width={width}\n widthX={widthX}\n parentWidth={parentWidth}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n textVariant={textVariant}\n tooltipOffset={tooltipOffset}\n arrowColor={arrowColor}\n arrowSize={arrowSize}\n arrowXCoOrdinates={arrowXCoOrdinates}\n arrowYCoOrdinates={arrowYCoOrdinates}\n tooltipXCoOrdinates={tooltipXCoOrdinates}\n tooltipYCoOrdinates={tooltipYCoOrdinates}\n />\n );\n};\n\nexport default memo(StickerSelector);\n"],"names":["StickerSelector","triggerNode","studentClassroomId","gridConfig","tooltipConfig","visible","columns","gap","stickerSize","isAnimated","arrowColor","arrowSize","arrowXCoOrdinates","arrowYCoOrdinates","backgroundColor","borderColor","position","renderAs","textVariant","tooltipOffset","tooltipXCoOrdinates","tooltipYCoOrdinates","width","widthX","zIndex","parentWidth","isBlocking","isTemporarilyDisabled","setIsTemporarilyDisabled","useState","sendSticker","useHandleStickerSend","handleStickerSend","useCallback","sticker","STICKER_EFFECTS","randomEffect","timeout","tooltipItem","useMemo","jsx","StickerSelectorGrid","triggerEle","Styled.TriggerWrapper","ArrowTooltip","stickerSelector","memo"],"mappings":";;;;;;AAUA,MAAMA,IAA6C,CAAC;AAAA,EAClD,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,EAAE,SAAAC,IAAU,GAAG,KAAAC,IAAM,GAAG,aAAAC,IAAc,GAAO,IAAAL,GAC7C;AAAA,IACJ,YAAAM;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,EACX,IAAAtB,GAEE,CAACuB,GAAuBC,CAAwB,IAAIC,EAAS,EAAK,GAElEC,IAAcC,EAAqB7B,CAAkB,GAErD8B,IAAoBC;AAAA,IACxB,CAACC,MAA0B;AACzB,UAAIP,EAAuB;AAE3B,YAAMQ,IAAkB,CAAC,oBAAoB,cAAc,YAAY,WAAW,GAE5EC,IACJD,EAAgB,KAAK,MAAM,KAAK,WAAWA,EAAgB,MAAM,CAAC;AAEpE,MAAAL,KAAA,QAAAA,EAAcI,GAASE,IACvBR,EAAyB,EAAI;AAEvB,YAAAS,IAAU,WAAW,MAAM;AAC/B,QAAAT,EAAyB,EAAK;AAAA,SAC7B,GAAI;AAEA,aAAA,MAAM,aAAaS,CAAO;AAAA,IACnC;AAAA,IACA,CAACP,GAAaH,CAAqB;AAAA,EAAA,GAG/BW,IAAcC;AAAA,IAClB,MACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAAnC;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAgBwB;AAAA,QAChB,UAAUL;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,CAACrB,GAASC,GAAKC,GAAawB,GAAmBL,CAAqB;AAAA,EAAA,GAGhEe,IAAaH,EAAQ,wBAEtBI,GAAA,EAAsB,WAAWhB,GAAwB,UAAY1B,EAAA,CAAA,GAEvE,CAAC0B,GAAuB1B,CAAW,CAAC;AAGrC,SAAA,gBAAAuC;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,UAAUF;AAAA,MACV,eAAa;AAAA,MACb,QAAQ,CAACrC;AAAA,MACT,aAAAiC;AAAA,MACA,UAAArB;AAAA,MACA,UAAAD;AAAA,MACA,YAAAU;AAAA,MACA,YAAAjB;AAAA,MACA,QAAAe;AAAA,MACA,OAAAF;AAAA,MACA,QAAAC;AAAA,MACA,aAAAE;AAAA,MACA,iBAAAX;AAAA,MACA,aAAAC;AAAA,MACA,aAAAG;AAAA,MACA,eAAAC;AAAA,MACA,YAAAT;AAAA,MACA,WAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,qBAAAO;AAAA,MACA,qBAAAC;AAAA,IAAA;AAAA,EAAA;AAGN,GAEewB,IAAAC,EAAK9C,CAAe;"}
@@ -0,0 +1,8 @@
1
+ const _ = {
2
+ STICKER_SENT: "sticker_sent",
3
+ STICKER_LOG_ERROR: "sticker_log_error"
4
+ };
5
+ export {
6
+ _ as STICKERS_ANALYTICS_EVENT
7
+ };
8
+ //# sourceMappingURL=stickers-analytics-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stickers-analytics-events.js","sources":["../../../src/features/stickers/stickers-analytics-events.ts"],"sourcesContent":["export const STICKERS_ANALYTICS_EVENT = {\n STICKER_SENT: 'sticker_sent',\n STICKER_LOG_ERROR: 'sticker_log_error',\n};\n"],"names":["STICKERS_ANALYTICS_EVENT"],"mappings":"AAAO,MAAMA,IAA2B;AAAA,EACtC,cAAc;AAAA,EACd,mBAAmB;AACrB;"}
package/dist/index.js CHANGED
@@ -320,8 +320,8 @@ import { default as Id } from "./features/stickers/stickers-effects/stickers-eff
320
320
  import { default as Td } from "./features/stickers/sticker-selector/sticker-selector.js";
321
321
  import { StickersProvider as Cd } from "./features/stickers/stickers-effects/context/sticker-provider.js";
322
322
  import { useStickers as Ad } from "./features/stickers/stickers-effects/hooks/use-stickers.js";
323
- import { useHandleStickerSend as hd } from "./features/stickers/sticker-selector/hooks/use-handle-sticker-send.js";
324
- import { useStickersJourney as Rd } from "./features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.js";
323
+ import { useHandleStickerSend as hd } from "./features/stickers/hooks/use-handle-sticker-send.js";
324
+ import { useStickersJourney as Rd } from "./features/stickers/hooks/use-stickers-journey/use-stickers-journey.js";
325
325
  import { default as kd } from "./features/student-details/student-details.js";
326
326
  import { default as Nd } from "./features/utils/load-script.js";
327
327
  import { default as gd } from "./features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.4.5",
3
+ "version": "3.4.6",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,33 +0,0 @@
1
- import { useCallback as n } from "react";
2
- import c from "../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js";
3
- import { useStickers as d } from "../../stickers-effects/hooks/use-stickers.js";
4
- const l = (r) => {
5
- const { publish: e } = c({
6
- studentClassroomId: r
7
- }), { showSticker: t } = d();
8
- return n(
9
- (s, a) => {
10
- const o = {
11
- message: {
12
- data: {
13
- selectedSticker: {
14
- id: s.id,
15
- name: s.name
16
- },
17
- effectId: a
18
- }
19
- },
20
- type: "STICKERS"
21
- };
22
- t(o), e == null || e({
23
- eventName: "STICKERS",
24
- eventPayload: o
25
- });
26
- },
27
- [e, t]
28
- );
29
- };
30
- export {
31
- l as useHandleStickerSend
32
- };
33
- //# sourceMappingURL=use-handle-sticker-send.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-handle-sticker-send.js","sources":["../../../../../src/features/stickers/sticker-selector/hooks/use-handle-sticker-send.tsx"],"sourcesContent":["import { useCallback } from 'react';\n\nimport useInClassMessageBroker from '../../../communication/hooks/use-inclass-message-broker/use-inclass-message-broker';\nimport { useStickers } from '../../stickers-effects/hooks/use-stickers';\nimport type {\n IStickerData,\n TStickerAnimationEffects,\n TStickersPayload,\n} from '../../stickers-types';\n\nexport const useHandleStickerSend = (studentClassroomId?: string) => {\n const { publish } = useInClassMessageBroker({\n studentClassroomId,\n });\n\n const { showSticker } = useStickers();\n\n const sendSticker = useCallback(\n (sticker: IStickerData, effect: TStickerAnimationEffects) => {\n const payload: TStickersPayload = {\n message: {\n data: {\n selectedSticker: {\n id: sticker.id,\n name: sticker.name,\n },\n effectId: effect,\n },\n },\n type: 'STICKERS',\n };\n\n showSticker(payload);\n\n publish?.({\n eventName: 'STICKERS',\n eventPayload: payload,\n });\n },\n [publish, showSticker],\n );\n\n return sendSticker;\n};\n"],"names":["useHandleStickerSend","studentClassroomId","publish","useInClassMessageBroker","showSticker","useStickers","useCallback","sticker","effect","payload"],"mappings":";;;AAUa,MAAAA,IAAuB,CAACC,MAAgC;AAC7D,QAAA,EAAE,SAAAC,EAAQ,IAAIC,EAAwB;AAAA,IAC1C,oBAAAF;AAAA,EAAA,CACD,GAEK,EAAE,aAAAG,MAAgBC;AA2BjB,SAzBaC;AAAA,IAClB,CAACC,GAAuBC,MAAqC;AAC3D,YAAMC,IAA4B;AAAA,QAChC,SAAS;AAAA,UACP,MAAM;AAAA,YACJ,iBAAiB;AAAA,cACf,IAAIF,EAAQ;AAAA,cACZ,MAAMA,EAAQ;AAAA,YAChB;AAAA,YACA,UAAUC;AAAA,UACZ;AAAA,QACF;AAAA,QACA,MAAM;AAAA,MAAA;AAGR,MAAAJ,EAAYK,CAAO,GAETP,KAAA,QAAAA,EAAA;AAAA,QACR,WAAW;AAAA,QACX,cAAcO;AAAA,MAAA;AAAA,IAElB;AAAA,IACA,CAACP,GAASE,CAAW;AAAA,EAAA;AAIzB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stickers-journey.js","sources":["../../../../../../src/features/stickers/sticker-selector/hooks/use-stickers-journey/use-stickers-journey.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\n\nimport { JOURNEY_ID_TEACHER } from '../../../../journey/journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport type { IUseTeacherStickersJourneyProps } from './use-stickers-journey-types';\n\nexport const useStickersJourney = ({\n triggerRef,\n triggerElement,\n tooltipConfig,\n}: IUseTeacherStickersJourneyProps) => {\n const { setJourney, nextCoachmark, endJourney } = useJourney();\n\n const endTeacherStickersOnboarding = useCallback(() => {\n endJourney(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [endJourney]);\n\n const startTeacherStickersJourney = useCallback(() => {\n if (!triggerRef.current) return;\n\n const indicatorPayload = {\n position: tooltipConfig.position,\n tooltipXCoOrdinates: tooltipConfig.tooltipXCoOrdinates,\n tooltipYCoOrdinates: tooltipConfig.tooltipYCoOrdinates,\n arrowXCoOrdinates: tooltipConfig.arrowXCoOrdinates,\n arrowYCoOrdinates: tooltipConfig.arrowYCoOrdinates,\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <FlexView>\n <Text\n $renderOnMobileAs=\"ab3\"\n $renderAs=\"ab3\"\n as=\"span\"\n $inline={true}\n $whiteSpace=\"normal\"\n >\n <Text $renderAs=\"ab3-bold\" as=\"span\" $inline={true}>\n New Stickers\n </Text>{' '}\n - Use them to celebrate little moments of joy!\n </Text>\n </FlexView>\n <Separator height={10} />\n <Button\n renderAs=\"secondary\"\n label=\"Got It\"\n size=\"xsmall\"\n width=\"50%\"\n onClick={endTeacherStickersOnboarding}\n />\n </FlexView>\n ),\n } as IArrowTooltipProps;\n\n setJourney(\n JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY,\n [\n {\n originalElementToHighlightRef: triggerRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: triggerElement,\n indicator: indicatorPayload,\n },\n ],\n undefined,\n false,\n );\n\n nextCoachmark(JOURNEY_ID_TEACHER.STICKERS_INTRO_JOURNEY);\n }, [\n triggerRef,\n triggerElement,\n tooltipConfig.position,\n tooltipConfig.tooltipXCoOrdinates,\n tooltipConfig.tooltipYCoOrdinates,\n tooltipConfig.arrowXCoOrdinates,\n tooltipConfig.arrowYCoOrdinates,\n endTeacherStickersOnboarding,\n setJourney,\n nextCoachmark,\n ]);\n\n const stickerJourney = useMemo(\n () => ({\n startTeacherStickersJourney,\n }),\n [startTeacherStickersJourney],\n );\n\n return stickerJourney;\n};\n"],"names":["useStickersJourney","triggerRef","triggerElement","tooltipConfig","setJourney","nextCoachmark","endJourney","useJourney","endTeacherStickersOnboarding","useCallback","JOURNEY_ID_TEACHER","startTeacherStickersJourney","indicatorPayload","FlexView","jsx","jsxs","Text","Separator","Button","IndicatorType","useMemo"],"mappings":";;;;;;;;;AAYO,MAAMA,IAAqB,CAAC;AAAA,EACjC,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AACF,MAAuC;AACrC,QAAM,EAAE,YAAAC,GAAY,eAAAC,GAAe,YAAAC,MAAeC,EAAW,GAEvDC,IAA+BC,EAAY,MAAM;AACrD,IAAAH,EAAWI,EAAmB,sBAAsB;AAAA,EAAA,GACnD,CAACJ,CAAU,CAAC,GAETK,IAA8BF,EAAY,MAAM;AAChD,QAAA,CAACR,EAAW,QAAS;AAEzB,UAAMW,IAAmB;AAAA,MACvB,UAAUT,EAAc;AAAA,MACxB,qBAAqBA,EAAc;AAAA,MACnC,qBAAqBA,EAAc;AAAA,MACnC,mBAAmBA,EAAc;AAAA,MACjC,mBAAmBA,EAAc;AAAA,MACjC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,+BACGU,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAACD,GACC,EAAA,UAAA,gBAAAE;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,mBAAkB;AAAA,YAClB,WAAU;AAAA,YACV,IAAG;AAAA,YACH,SAAS;AAAA,YACT,aAAY;AAAA,YAEZ,UAAA;AAAA,cAAA,gBAAAF,EAACE,KAAK,WAAU,YAAW,IAAG,QAAO,SAAS,IAAM,UAEpD,eAAA,CAAA;AAAA,cAAQ;AAAA,cAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAGhB;AAAA,QACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QACvB,gBAAAH;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,OAAM;AAAA,YACN,MAAK;AAAA,YACL,OAAM;AAAA,YACN,SAASV;AAAA,UAAA;AAAA,QACX;AAAA,MAAA,GACF;AAAA,IAAA;AAIJ,IAAAJ;AAAA,MACEM,EAAmB;AAAA,MACnB;AAAA,QACE;AAAA,UACE,+BAA+BT;AAAA,UAC/B,MAAMkB,EAAc;AAAA,UACpB,oBAAoBjB;AAAA,UACpB,WAAWU;AAAA,QACb;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAGFP,EAAcK,EAAmB,sBAAsB;AAAA,EAAA,GACtD;AAAA,IACDT;AAAA,IACAC;AAAA,IACAC,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdA,EAAc;AAAA,IACdK;AAAA,IACAJ;AAAA,IACAC;AAAA,EAAA,CACD;AASM,SAPgBe;AAAA,IACrB,OAAO;AAAA,MACL,6BAAAT;AAAA,IAAA;AAAA,IAEF,CAACA,CAA2B;AAAA,EAAA;AAIhC;"}