@cuemath/leap 3.3.24-as4 → 3.3.24-as5

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.
@@ -1,59 +1,57 @@
1
- import { jsxs as T, Fragment as g, jsx as e } from "react/jsx-runtime";
2
- import { memo as k, useState as N, useRef as w, useCallback as l, useEffect as f } from "react";
1
+ import { jsxs as u, Fragment as L, jsx as e } from "react/jsx-runtime";
2
+ import { memo as g, useState as S, useRef as b, useCallback as s, useEffect as T } from "react";
3
3
  import c from "styled-components";
4
- import R from "../../../../assets/line-icons/icons/plus.js";
5
- import D from "../../../hooks/use-audio-player.js";
6
- import O from "../../../hooks/use-previous.js";
7
- import X from "../../buttons/clickable/clickable.js";
4
+ import w from "../../../../assets/line-icons/icons/plus.js";
5
+ import N from "../../../hooks/use-audio-player.js";
6
+ import k from "../../../hooks/use-previous.js";
7
+ import R from "../../buttons/clickable/clickable.js";
8
8
  import m from "../../layout/flex-view.js";
9
- import a from "../../text/text.js";
10
- import E from "./animations/open-close.js";
11
- import { ANIMATION_TIME as s, TIME_LEFT_IDLE as F, LAST_FIVE as M, START_TIMER as y, EXTEND_IDLE as z, ALERT_AUDIO_LIST as V } from "./constants.js";
12
- const W = c(m)`
9
+ import l from "../../text/text.js";
10
+ import f from "./animations/open-close.js";
11
+ import { ANIMATION_TIME as a, TIME_LEFT_IDLE as O, LAST_FIVE as W, START_TIMER as X, EXTEND_IDLE as D, ALERT_AUDIO_LIST as F } from "./constants.js";
12
+ const y = c(m)`
13
13
  position: absolute;
14
14
  top: -8px;
15
15
  right: 8px;
16
16
  z-index: ${({ theme: o }) => o.zIndex.EXTEND_CLASS_ANIMATION_3};
17
- `, v = c(a)`
17
+ `, M = c(l)`
18
18
  padding-left: 4px;
19
19
  padding-right: 8px;
20
- `, j = c(m)`
20
+ `, z = c(m)`
21
21
  flex-flow: nowrap;
22
22
  z-index: ${({ theme: o }) => o.zIndex.EXTEND_CLASS_ANIMATION_2};
23
- `, P = (o) => {
23
+ `, V = (o) => {
24
24
  const {
25
- animateClock: t,
26
- classStartedTime: I,
27
- duration: C,
28
- onExtendClass: x = () => {
25
+ canShowWarning: n,
26
+ setCanShowWarning: d,
27
+ remainingTime: t,
28
+ onExtendClass: E = () => {
29
29
  },
30
- setAnimateClock: d,
31
- setStartTimer: p,
32
- showExtendIcon: _ = !1
33
- } = o, [$, n] = N(!1), i = w(null), A = O(t), u = D(V), r = Math.floor(C - (+/* @__PURE__ */ new Date() - I) / 1e3), h = _ && r <= s.LAST_FIVE, L = l(() => {
30
+ showExtendIcon: I = !1
31
+ } = o, [h, i] = S(!1), r = b(null), p = k(n), A = N(F), x = I && t <= a.LAST_FIVE, C = s(() => {
34
32
  d(!1);
35
- }, [d]), b = l(() => {
36
- p(!0), u("ALERT");
37
- }, [u, p]), S = l(() => {
38
- n(!1);
39
- }, [n]);
40
- return f(() => {
41
- t && !A && (i.current = setTimeout(() => {
42
- n(!0);
33
+ }, [d]), _ = s(() => {
34
+ A("ALERT");
35
+ }, [A]), $ = s(() => {
36
+ i(!1);
37
+ }, [i]);
38
+ return T(() => {
39
+ n && !p && (r.current = setTimeout(() => {
40
+ i(!0);
43
41
  }, 1e3));
44
- }, [t, A]), f(() => () => {
45
- i.current && clearTimeout(i.current);
46
- }, []), /* @__PURE__ */ T(g, { children: [
42
+ }, [n, p]), T(() => () => {
43
+ r.current && clearTimeout(r.current);
44
+ }, []), /* @__PURE__ */ u(L, { children: [
47
45
  /* @__PURE__ */ e(
48
- E,
46
+ f,
49
47
  {
50
- background: r <= s.LAST_FIVE ? "ORANGE_4" : "YELLOW_3",
51
- onAnimationComplete: L,
52
- onOpenAnimationComplete: b,
53
- visible: t,
54
- idleTime: F,
55
- children: /* @__PURE__ */ T(
56
- j,
48
+ background: t <= a.LAST_FIVE ? "ORANGE_4" : "YELLOW_3",
49
+ onAnimationComplete: C,
50
+ onOpenAnimationComplete: _,
51
+ visible: n,
52
+ idleTime: O,
53
+ children: /* @__PURE__ */ u(
54
+ z,
57
55
  {
58
56
  $flexDirection: "row",
59
57
  $alignItems: "center",
@@ -64,28 +62,28 @@ const W = c(m)`
64
62
  $gapX: 0.35,
65
63
  $flexGapX: 0.25,
66
64
  children: [
67
- /* @__PURE__ */ e(a, { $renderAs: "ac3-black", children: r <= s.LAST_FIVE ? `0${M / 60}:00` : `${y / 60}:00` }),
68
- /* @__PURE__ */ e(a, { $renderAs: "ac3-black", children: "Left" })
65
+ /* @__PURE__ */ e(l, { $renderAs: "ac3-black", children: t <= a.LAST_FIVE ? `0${W / 60}:00` : `${X / 60}:00` }),
66
+ /* @__PURE__ */ e(l, { $renderAs: "ac3-black", children: "Left" })
69
67
  ]
70
68
  }
71
69
  )
72
70
  }
73
71
  ),
74
- h && /* @__PURE__ */ e(W, { children: /* @__PURE__ */ e(
75
- E,
72
+ x && /* @__PURE__ */ e(y, { children: /* @__PURE__ */ e(
73
+ f,
76
74
  {
77
- onAnimationComplete: S,
75
+ onAnimationComplete: $,
78
76
  background: "BLACK",
79
- Icon: /* @__PURE__ */ e(X, { label: "Extend Class", onClick: x, children: /* @__PURE__ */ e(m, { $background: "WHITE", $borderRadiusX: 1.25, $borderColor: "BLACK_3", children: /* @__PURE__ */ e(R, { width: 16, height: 16 }) }) }),
77
+ Icon: /* @__PURE__ */ e(R, { label: "Extend Class", onClick: E, children: /* @__PURE__ */ e(m, { $background: "WHITE", $borderRadiusX: 1.25, $borderColor: "BLACK_3", children: /* @__PURE__ */ e(w, { width: 16, height: 16 }) }) }),
80
78
  size: 24,
81
- visible: $,
82
- idleTime: z,
83
- children: /* @__PURE__ */ e(v, { $color: "WHITE", $renderAs: "body3", children: "Extend Class" })
79
+ visible: h,
80
+ idleTime: D,
81
+ children: /* @__PURE__ */ e(M, { $color: "WHITE", $renderAs: "body3", children: "Extend Class" })
84
82
  }
85
83
  ) })
86
84
  ] });
87
- }, oe = k(P);
85
+ }, Q = g(V);
88
86
  export {
89
- oe as default
87
+ Q as default
90
88
  };
91
89
  //# sourceMappingURL=animate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animate.js","sources":["../../../../../src/features/ui/timers/class-time/animate.tsx"],"sourcesContent":["import { useState, useCallback, useEffect, useRef, memo } from 'react';\nimport styled from 'styled-components';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport usePrevious from '../../../hooks/use-previous';\nimport Clickable from '../../buttons/clickable/clickable';\nimport FlexView from '../../layout/flex-view';\nimport Text from '../../text/text';\nimport OpenCloseAnimation from './animations/open-close';\nimport {\n ALERT_AUDIO_LIST,\n ANIMATION_TIME,\n EXTEND_IDLE,\n LAST_FIVE,\n START_TIMER,\n TIME_LEFT_IDLE,\n} from './constants';\n\nconst IconWrapper = styled(FlexView)`\n position: absolute;\n top: -8px;\n right: 8px;\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_3};\n`;\n\nconst StyledText = styled(Text)`\n padding-left: 4px;\n padding-right: 8px;\n`;\n\nconst NoWrapRow = styled(FlexView)`\n flex-flow: nowrap;\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_2};\n`;\n\ninterface AnimateProps {\n animateClock: boolean;\n classStartedTime: number;\n duration: number;\n onExtendClass?: () => void;\n setAnimateClock: (value: boolean) => void;\n setStartTimer: (value: boolean) => void;\n showExtendIcon?: boolean;\n}\n\nconst Animate = (props: AnimateProps) => {\n const {\n animateClock,\n classStartedTime,\n duration,\n onExtendClass = () => {},\n setAnimateClock,\n setStartTimer,\n showExtendIcon = false,\n } = props;\n const [animateTip, setAnimateTip] = useState(false);\n const timer = useRef<NodeJS.Timeout | null>(null);\n\n const previousAnimateClock = usePrevious(animateClock);\n const playNotifSound = useAudioPlayer(ALERT_AUDIO_LIST);\n\n const remainingTime = Math.floor(duration - (+new Date() - classStartedTime) / 1000); // in seconds\n const showIcon = showExtendIcon && remainingTime <= ANIMATION_TIME.LAST_FIVE;\n\n const onClockAnimationComplete = useCallback(() => {\n setAnimateClock(false);\n }, [setAnimateClock]);\n\n const onOpenAnimationComplete = useCallback(() => {\n setStartTimer(true);\n playNotifSound('ALERT');\n }, [playNotifSound, setStartTimer]);\n\n const onAnimateComplete = useCallback(() => {\n setAnimateTip(false);\n }, [setAnimateTip]);\n\n useEffect(() => {\n if (animateClock && !previousAnimateClock) {\n timer.current = setTimeout(() => {\n setAnimateTip(true);\n }, 1000);\n }\n }, [animateClock, previousAnimateClock]);\n\n useEffect(() => {\n return () => {\n if (timer.current) {\n clearTimeout(timer.current);\n }\n };\n }, []);\n\n return (\n <>\n <OpenCloseAnimation\n background={remainingTime <= ANIMATION_TIME.LAST_FIVE ? 'ORANGE_4' : 'YELLOW_3'}\n onAnimationComplete={onClockAnimationComplete}\n onOpenAnimationComplete={onOpenAnimationComplete}\n visible={animateClock}\n idleTime={TIME_LEFT_IDLE}\n >\n <NoWrapRow\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $justifyContent=\"space-around\"\n $borderRadiusX={1.25}\n $gutterX={0.35}\n $gapX={0.35}\n $flexGapX={0.25}\n >\n <Text $renderAs=\"ac3-black\">\n {remainingTime <= ANIMATION_TIME.LAST_FIVE\n ? `0${LAST_FIVE / 60}:00`\n : `${START_TIMER / 60}:00`}\n </Text>\n <Text $renderAs=\"ac3-black\">Left</Text>\n </NoWrapRow>\n </OpenCloseAnimation>\n {showIcon && (\n <IconWrapper>\n <OpenCloseAnimation\n onAnimationComplete={onAnimateComplete}\n background=\"BLACK\"\n Icon={\n <Clickable label=\"Extend Class\" onClick={onExtendClass}>\n <FlexView $background=\"WHITE\" $borderRadiusX={1.25} $borderColor=\"BLACK_3\">\n <PlusIcon width={16} height={16} />\n </FlexView>\n </Clickable>\n }\n size={24}\n visible={animateTip}\n idleTime={EXTEND_IDLE}\n >\n <StyledText $color=\"WHITE\" $renderAs=\"body3\">\n Extend Class\n </StyledText>\n </OpenCloseAnimation>\n </IconWrapper>\n )}\n </>\n );\n};\n\nexport default memo(Animate);\n"],"names":["IconWrapper","styled","FlexView","theme","StyledText","Text","NoWrapRow","Animate","props","animateClock","classStartedTime","duration","onExtendClass","setAnimateClock","setStartTimer","showExtendIcon","animateTip","setAnimateTip","useState","timer","useRef","previousAnimateClock","usePrevious","playNotifSound","useAudioPlayer","ALERT_AUDIO_LIST","remainingTime","showIcon","ANIMATION_TIME","onClockAnimationComplete","useCallback","onOpenAnimationComplete","onAnimateComplete","useEffect","jsxs","Fragment","jsx","OpenCloseAnimation","TIME_LEFT_IDLE","LAST_FIVE","START_TIMER","Clickable","PlusIcon","EXTEND_IDLE","Animate$1","memo"],"mappings":"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"}
1
+ {"version":3,"file":"animate.js","sources":["../../../../../src/features/ui/timers/class-time/animate.tsx"],"sourcesContent":["import { useState, useCallback, useEffect, useRef, memo } from 'react';\nimport styled from 'styled-components';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport useAudioPlayer from '../../../hooks/use-audio-player';\nimport usePrevious from '../../../hooks/use-previous';\nimport Clickable from '../../buttons/clickable/clickable';\nimport FlexView from '../../layout/flex-view';\nimport Text from '../../text/text';\nimport OpenCloseAnimation from './animations/open-close';\nimport {\n ALERT_AUDIO_LIST,\n ANIMATION_TIME,\n EXTEND_IDLE,\n LAST_FIVE,\n START_TIMER,\n TIME_LEFT_IDLE,\n} from './constants';\n\nconst IconWrapper = styled(FlexView)`\n position: absolute;\n top: -8px;\n right: 8px;\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_3};\n`;\n\nconst StyledText = styled(Text)`\n padding-left: 4px;\n padding-right: 8px;\n`;\n\nconst NoWrapRow = styled(FlexView)`\n flex-flow: nowrap;\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_2};\n`;\n\ninterface AnimateProps {\n canShowWarning: boolean;\n setCanShowWarning: (value: boolean) => void;\n remainingTime: number;\n onExtendClass?: () => void;\n showExtendIcon?: boolean;\n}\n\nconst Animate = (props: AnimateProps) => {\n const {\n canShowWarning,\n setCanShowWarning,\n remainingTime,\n onExtendClass = () => {},\n showExtendIcon = false,\n } = props;\n const [animateTip, setAnimateTip] = useState(false);\n const timer = useRef<NodeJS.Timeout | null>(null);\n const previousCanShowWarning = usePrevious(canShowWarning);\n const playNotifSound = useAudioPlayer(ALERT_AUDIO_LIST);\n\n const showIcon = showExtendIcon && remainingTime <= ANIMATION_TIME.LAST_FIVE;\n\n const onClockAnimationComplete = useCallback(() => {\n setCanShowWarning(false);\n }, [setCanShowWarning]);\n\n const onOpenAnimationComplete = useCallback(() => {\n playNotifSound('ALERT');\n }, [playNotifSound]);\n\n const onAnimateComplete = useCallback(() => {\n setAnimateTip(false);\n }, [setAnimateTip]);\n\n useEffect(() => {\n if (canShowWarning && !previousCanShowWarning) {\n timer.current = setTimeout(() => {\n setAnimateTip(true);\n }, 1000);\n }\n }, [canShowWarning, previousCanShowWarning]);\n\n useEffect(() => {\n return () => {\n if (timer.current) {\n clearTimeout(timer.current);\n }\n };\n }, []);\n\n return (\n <>\n <OpenCloseAnimation\n background={remainingTime <= ANIMATION_TIME.LAST_FIVE ? 'ORANGE_4' : 'YELLOW_3'}\n onAnimationComplete={onClockAnimationComplete}\n onOpenAnimationComplete={onOpenAnimationComplete}\n visible={canShowWarning}\n idleTime={TIME_LEFT_IDLE}\n >\n <NoWrapRow\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $justifyContent=\"space-around\"\n $borderRadiusX={1.25}\n $gutterX={0.35}\n $gapX={0.35}\n $flexGapX={0.25}\n >\n <Text $renderAs=\"ac3-black\">\n {remainingTime <= ANIMATION_TIME.LAST_FIVE\n ? `0${LAST_FIVE / 60}:00`\n : `${START_TIMER / 60}:00`}\n </Text>\n <Text $renderAs=\"ac3-black\">Left</Text>\n </NoWrapRow>\n </OpenCloseAnimation>\n {showIcon && (\n <IconWrapper>\n <OpenCloseAnimation\n onAnimationComplete={onAnimateComplete}\n background=\"BLACK\"\n Icon={\n <Clickable label=\"Extend Class\" onClick={onExtendClass}>\n <FlexView $background=\"WHITE\" $borderRadiusX={1.25} $borderColor=\"BLACK_3\">\n <PlusIcon width={16} height={16} />\n </FlexView>\n </Clickable>\n }\n size={24}\n visible={animateTip}\n idleTime={EXTEND_IDLE}\n >\n <StyledText $color=\"WHITE\" $renderAs=\"body3\">\n Extend Class\n </StyledText>\n </OpenCloseAnimation>\n </IconWrapper>\n )}\n </>\n );\n};\n\nexport default memo(Animate);\n"],"names":["IconWrapper","styled","FlexView","theme","StyledText","Text","NoWrapRow","Animate","props","canShowWarning","setCanShowWarning","remainingTime","onExtendClass","showExtendIcon","animateTip","setAnimateTip","useState","timer","useRef","previousCanShowWarning","usePrevious","playNotifSound","useAudioPlayer","ALERT_AUDIO_LIST","showIcon","ANIMATION_TIME","onClockAnimationComplete","useCallback","onOpenAnimationComplete","onAnimateComplete","useEffect","jsxs","Fragment","jsx","OpenCloseAnimation","TIME_LEFT_IDLE","LAST_FIVE","START_TIMER","Clickable","PlusIcon","EXTEND_IDLE","Animate$1","memo"],"mappings":";;;;;;;;;;;AAmBA,MAAMA,IAAcC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,aAItB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,wBAAwB;AAAA,GAG3DC,IAAaH,EAAOI,CAAI;AAAA;AAAA;AAAA,GAKxBC,IAAYL,EAAOC,CAAQ;AAAA;AAAA,aAEpB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,wBAAwB;AAAA,GAW3DI,IAAU,CAACC,MAAwB;AACjC,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC,IAAgB,MAAM;AAAA,IAAC;AAAA,IACvB,gBAAAC,IAAiB;AAAA,EACf,IAAAL,GACE,CAACM,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAC5CC,IAAQC,EAA8B,IAAI,GAC1CC,IAAyBC,EAAYX,CAAc,GACnDY,IAAiBC,EAAeC,CAAgB,GAEhDC,IAAWX,KAAkBF,KAAiBc,EAAe,WAE7DC,IAA2BC,EAAY,MAAM;AACjD,IAAAjB,EAAkB,EAAK;AAAA,EAAA,GACtB,CAACA,CAAiB,CAAC,GAEhBkB,IAA0BD,EAAY,MAAM;AAChD,IAAAN,EAAe,OAAO;AAAA,EAAA,GACrB,CAACA,CAAc,CAAC,GAEbQ,IAAoBF,EAAY,MAAM;AAC1C,IAAAZ,EAAc,EAAK;AAAA,EAAA,GAClB,CAACA,CAAa,CAAC;AAElB,SAAAe,EAAU,MAAM;AACV,IAAArB,KAAkB,CAACU,MACfF,EAAA,UAAU,WAAW,MAAM;AAC/B,MAAAF,EAAc,EAAI;AAAA,OACjB,GAAI;AAAA,EACT,GACC,CAACN,GAAgBU,CAAsB,CAAC,GAE3CW,EAAU,MACD,MAAM;AACX,IAAIb,EAAM,WACR,aAAaA,EAAM,OAAO;AAAA,EAC5B,GAED,CAAE,CAAA,GAID,gBAAAc,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,YAAYvB,KAAiBc,EAAe,YAAY,aAAa;AAAA,QACrE,qBAAqBC;AAAA,QACrB,yBAAAE;AAAA,QACA,SAASnB;AAAA,QACT,UAAU0B;AAAA,QAEV,UAAA,gBAAAJ;AAAA,UAACzB;AAAA,UAAA;AAAA,YACC,gBAAe;AAAA,YACf,aAAY;AAAA,YACZ,QAAO;AAAA,YACP,iBAAgB;AAAA,YAChB,gBAAgB;AAAA,YAChB,UAAU;AAAA,YACV,OAAO;AAAA,YACP,WAAW;AAAA,YAEX,UAAA;AAAA,cAAA,gBAAA2B,EAAC5B,GAAK,EAAA,WAAU,aACb,UAAAM,KAAiBc,EAAe,YAC7B,IAAIW,IAAY,EAAE,QAClB,GAAGC,IAAc,EAAE,OACzB;AAAA,cACC,gBAAAJ,EAAA5B,GAAA,EAAK,WAAU,aAAY,UAAI,QAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAClC;AAAA,MAAA;AAAA,IACF;AAAA,IACCmB,uBACExB,GACC,EAAA,UAAA,gBAAAiC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,qBAAqBL;AAAA,QACrB,YAAW;AAAA,QACX,wBACGS,GAAU,EAAA,OAAM,gBAAe,SAAS1B,GACvC,UAAC,gBAAAqB,EAAA/B,GAAA,EAAS,aAAY,SAAQ,gBAAgB,MAAM,cAAa,WAC/D,UAAC,gBAAA+B,EAAAM,GAAA,EAAS,OAAO,IAAI,QAAQ,GAAI,CAAA,EAAA,CACnC,EACF,CAAA;AAAA,QAEF,MAAM;AAAA,QACN,SAASzB;AAAA,QACT,UAAU0B;AAAA,QAEV,4BAACpC,GAAW,EAAA,QAAO,SAAQ,WAAU,SAAQ,UAE7C,gBAAA;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEeqC,IAAAC,EAAKnC,CAAO;"}
@@ -0,0 +1,28 @@
1
+ import { jsxs as n, jsx as o } from "react/jsx-runtime";
2
+ import s from "styled-components";
3
+ import r from "../../layout/flex-view.js";
4
+ import a from "./animate.js";
5
+ import l from "./animations/ripple.js";
6
+ const f = s(r)`
7
+ position: fixed;
8
+ top: 0;
9
+ bottom: 0;
10
+ left: 0;
11
+ right: 0;
12
+ background: rgba(0, 0, 0, 0.4);
13
+ z-index: ${({ theme: i }) => i.zIndex.EXTEND_CLASS_ANIMATION_1};
14
+ `, g = ({
15
+ children: i,
16
+ showRipple: t,
17
+ rippleColor: e,
18
+ showExtendOverlay: p,
19
+ ...m
20
+ }) => /* @__PURE__ */ n(r, { $position: "relative", $flexDirection: "row", $alignItems: "center", children: [
21
+ p && /* @__PURE__ */ o(f, {}),
22
+ /* @__PURE__ */ o(l, { color: e, visible: t, children: i }),
23
+ /* @__PURE__ */ o(a, { ...m })
24
+ ] });
25
+ export {
26
+ g as default
27
+ };
28
+ //# sourceMappingURL=class-time-animation-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-time-animation-wrapper.js","sources":["../../../../../src/features/ui/timers/class-time/class-time-animation-wrapper.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\nimport Animate from './animate';\nimport Ripple from './animations/ripple';\n\nconst OpacityWrapper = styled(FlexView)`\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_1};\n`;\n\ninterface IClassTimeAnimationsWrapperProps {\n children: ReactNode;\n showRipple: boolean;\n rippleColor: 'ORANGE_3' | 'YELLOW_3';\n showExtendOverlay: boolean;\n canShowWarning: boolean;\n setCanShowWarning: (value: boolean) => void;\n remainingTime: number;\n onExtendClass?: () => void;\n showExtendIcon: boolean;\n}\n\nconst ClassTimeAnimationWrapper = ({\n children,\n showRipple,\n rippleColor,\n showExtendOverlay,\n ...rest\n}: IClassTimeAnimationsWrapperProps) => {\n return (\n <FlexView $position=\"relative\" $flexDirection=\"row\" $alignItems=\"center\">\n {showExtendOverlay && <OpacityWrapper />}\n <Ripple color={rippleColor} visible={showRipple}>\n {children}\n </Ripple>\n <Animate {...rest} />\n </FlexView>\n );\n};\n\nexport default ClassTimeAnimationWrapper;\n"],"names":["OpacityWrapper","styled","FlexView","theme","ClassTimeAnimationWrapper","children","showRipple","rippleColor","showExtendOverlay","rest","Ripple","jsx","Animate"],"mappings":";;;;;AAQA,MAAMA,IAAiBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOzB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,wBAAwB;AAAA,GAe3DC,IAA4B,CAAC;AAAA,EACjC,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,GAAGC;AACL,wBAEKP,GAAS,EAAA,WAAU,YAAW,gBAAe,OAAM,aAAY,UAC7D,UAAA;AAAA,EAAAM,uBAAsBR,GAAe,EAAA;AAAA,oBACrCU,GAAO,EAAA,OAAOH,GAAa,SAASD,GAClC,UAAAD,GACH;AAAA,EACA,gBAAAM,EAACC,GAAS,EAAA,GAAGH,GAAM;AACrB,EAAA,CAAA;"}
@@ -1,16 +1,16 @@
1
- import { jsx as r, jsxs as m } from "react/jsx-runtime";
2
- import { memo as s } from "react";
3
- import n from "../../../../assets/line-icons/icons/clock2.js";
4
- import l from "../../../hooks/use-visibility-change.js";
1
+ import { jsx as o, jsxs as m } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import s from "../../../../assets/line-icons/icons/clock2.js";
4
+ import c from "../../../hooks/use-visibility-change.js";
5
5
  import i from "../../layout/flex-view.js";
6
- import c from "../clock/clock.js";
6
+ import l from "../clock/clock.js";
7
7
  import a from "../timer/timer.js";
8
- import p from "./class-time-animations.js";
8
+ import p from "./class-time-animation-wrapper.js";
9
9
  import { IconWrapper as f } from "./constants.js";
10
10
  import { useClassTimeLogic as $ } from "./use-class-time-logic.js";
11
11
  const d = (e) => {
12
- const t = l(), o = $(e, t);
13
- return o.shouldRender ? /* @__PURE__ */ r(i, { $flexDirection: "row", $alignItems: "center", children: /* @__PURE__ */ r(p, { ...o.animationProps, children: /* @__PURE__ */ m(
12
+ const t = c(), r = $(e, t);
13
+ return r.shouldRender ? /* @__PURE__ */ o(i, { $flexDirection: "row", $alignItems: "center", children: /* @__PURE__ */ o(p, { ...r.animationProps, children: /* @__PURE__ */ m(
14
14
  i,
15
15
  {
16
16
  $flexDirection: "row",
@@ -22,12 +22,12 @@ const d = (e) => {
22
22
  $flexGapX: 0.25,
23
23
  $position: "relative",
24
24
  children: [
25
- /* @__PURE__ */ r(f, { $iconColor: o.clockColor, children: /* @__PURE__ */ r(n, {}) }),
26
- o.startTimer ? /* @__PURE__ */ r(a, { ...o.timerProps }) : /* @__PURE__ */ r(c, { ...o.clockProps })
25
+ /* @__PURE__ */ o(f, { $iconColor: r.clockColor, children: /* @__PURE__ */ o(s, {}) }),
26
+ r.canStartTimer ? /* @__PURE__ */ o(a, { ...r.timerProps }) : /* @__PURE__ */ o(l, { ...r.clockProps })
27
27
  ]
28
28
  }
29
29
  ) }) }) : null;
30
- }, w = s(d);
30
+ }, w = n(d);
31
31
  export {
32
32
  w as default
33
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"class-time.js","sources":["../../../../../src/features/ui/timers/class-time/class-time.tsx"],"sourcesContent":["import type { IClassTimeProps } from './class-time-types';\n\nimport { memo } from 'react';\n\nimport Clock2Icon from '../../../../assets/line-icons/icons/clock2';\nimport useVisibilityChange from '../../../hooks/use-visibility-change';\nimport FlexView from '../../layout/flex-view';\nimport Clock from '../clock/clock';\nimport Timer from '../timer/timer';\nimport ClassTimeAnimations from './class-time-animations';\nimport { IconWrapper } from './constants';\nimport { useClassTimeLogic } from './use-class-time-logic';\n\nconst ClassTime = (props: IClassTimeProps) => {\n const isTabActive = useVisibilityChange();\n\n const logic = useClassTimeLogic(props, isTabActive);\n\n if (!logic.shouldRender) {\n return null;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <ClassTimeAnimations {...logic.animationProps}>\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"GREY_1\"\n $borderRadiusX={1.25}\n $gutterX={0.5}\n $gapX={0.25}\n $flexGapX={0.25}\n $position=\"relative\"\n >\n <IconWrapper $iconColor={logic.clockColor}>\n <Clock2Icon />\n </IconWrapper>\n {logic.startTimer ? <Timer {...logic.timerProps} /> : <Clock {...logic.clockProps} />}\n </FlexView>\n </ClassTimeAnimations>\n </FlexView>\n );\n};\n\nexport default memo(ClassTime);\n"],"names":["ClassTime","props","isTabActive","useVisibilityChange","logic","useClassTimeLogic","jsx","FlexView","ClassTimeAnimations","jsxs","IconWrapper","Clock2Icon","Timer","Clock","classTime","memo"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAY,CAACC,MAA2B;AAC5C,QAAMC,IAAcC,KAEdC,IAAQC,EAAkBJ,GAAOC,CAAW;AAE9C,SAACE,EAAM,eAKT,gBAAAE,EAACC,GAAS,EAAA,gBAAe,OAAM,aAAY,UACzC,UAAC,gBAAAD,EAAAE,GAAA,EAAqB,GAAGJ,EAAM,gBAC7B,UAAA,gBAAAK;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAD,EAACI,KAAY,YAAYN,EAAM,YAC7B,UAAA,gBAAAE,EAACK,IAAW,CAAA,GACd;AAAA,QACCP,EAAM,aAAc,gBAAAE,EAAAM,GAAA,EAAO,GAAGR,EAAM,YAAY,IAAM,gBAAAE,EAAAO,GAAA,EAAO,GAAGT,EAAM,WAAY,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,EAEvF,CAAA,EACF,CAAA,IAtBO;AAwBX,GAEeU,IAAAC,EAAKf,CAAS;"}
1
+ {"version":3,"file":"class-time.js","sources":["../../../../../src/features/ui/timers/class-time/class-time.tsx"],"sourcesContent":["import type { IClassTimeProps } from './class-time-types';\n\nimport { memo } from 'react';\n\nimport Clock2Icon from '../../../../assets/line-icons/icons/clock2';\nimport useVisibilityChange from '../../../hooks/use-visibility-change';\nimport FlexView from '../../layout/flex-view';\nimport Clock from '../clock/clock';\nimport Timer from '../timer/timer';\nimport ClassTimeAnimationWrapper from './class-time-animation-wrapper';\nimport { IconWrapper } from './constants';\nimport { useClassTimeLogic } from './use-class-time-logic';\n\nconst ClassTime = (props: IClassTimeProps) => {\n const isTabActive = useVisibilityChange();\n\n const logic = useClassTimeLogic(props, isTabActive);\n\n if (!logic.shouldRender) {\n return null;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <ClassTimeAnimationWrapper {...logic.animationProps}>\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $background=\"GREY_1\"\n $borderRadiusX={1.25}\n $gutterX={0.5}\n $gapX={0.25}\n $flexGapX={0.25}\n $position=\"relative\"\n >\n <IconWrapper $iconColor={logic.clockColor}>\n <Clock2Icon />\n </IconWrapper>\n {logic.canStartTimer ? <Timer {...logic.timerProps} /> : <Clock {...logic.clockProps} />}\n </FlexView>\n </ClassTimeAnimationWrapper>\n </FlexView>\n );\n};\n\nexport default memo(ClassTime);\n"],"names":["ClassTime","props","isTabActive","useVisibilityChange","logic","useClassTimeLogic","jsx","FlexView","ClassTimeAnimationWrapper","jsxs","IconWrapper","Clock2Icon","Timer","Clock","classTime","memo"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAAY,CAACC,MAA2B;AAC5C,QAAMC,IAAcC,KAEdC,IAAQC,EAAkBJ,GAAOC,CAAW;AAE9C,SAACE,EAAM,eAKT,gBAAAE,EAACC,GAAS,EAAA,gBAAe,OAAM,aAAY,UACzC,UAAC,gBAAAD,EAAAE,GAAA,EAA2B,GAAGJ,EAAM,gBACnC,UAAA,gBAAAK;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,aAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAD,EAACI,KAAY,YAAYN,EAAM,YAC7B,UAAA,gBAAAE,EAACK,IAAW,CAAA,GACd;AAAA,QACCP,EAAM,gBAAiB,gBAAAE,EAAAM,GAAA,EAAO,GAAGR,EAAM,YAAY,IAAM,gBAAAE,EAAAO,GAAA,EAAO,GAAGT,EAAM,WAAY,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,EAE1F,CAAA,EACF,CAAA,IAtBO;AAwBX,GAEeU,IAAAC,EAAKf,CAAS;"}
@@ -1,98 +1,78 @@
1
- import { useMemo as l, useState as C, useCallback as f, useRef as G, useEffect as R } from "react";
2
- import { START_TIMER as W, ANIMATION_TIME as E, LAST_FIVE as Y, getClockColor as b } from "./constants.js";
3
- const B = (L, i) => {
1
+ import { useState as m, useMemo as A, useCallback as h, useEffect as T } from "react";
2
+ import { START_TIMER as u, LAST_FIVE as D, ANIMATION_TIME as S, getClockColor as N } from "./constants.js";
3
+ const V = (w, r) => {
4
4
  const {
5
5
  classDuration: e,
6
- classStartedTime: t,
7
- extendedTime: r,
8
- ongoing: M,
6
+ classStartedTime: n,
7
+ extendedTime: t,
8
+ ongoing: x,
9
9
  onComplete: a,
10
- onExtendClass: y,
11
- onExtendedTimeStart: m,
12
- showExtendIcon: A = !1
13
- } = L, c = (+/* @__PURE__ */ new Date() - +t) / 1e3, d = Math.floor(e - c), S = l(() => r ? Math.floor(e - c) <= r * 60 : !1, [e, r, c]), [s, D] = C(S), F = l(
14
- () => e + +t / 1e3,
15
- [e, t]
16
- ), T = f(() => {
17
- D(!0), m == null || m();
18
- }, [m]), p = l(() => !!(c >= e - W || s || r), [c, e, s, r]), [g, w] = C(p), [h, x] = C(!1), u = f(() => {
19
- x(!0);
20
- }, []), I = l(
21
- () => [
22
- {
23
- at: E.LAST_TEN,
24
- callback: u,
25
- id: "rem-10min"
26
- },
27
- {
28
- at: E.LAST_FIVE,
29
- callback: u,
30
- id: "rem-5min"
31
- }
32
- ],
33
- [u]
34
- ), _ = G(/* @__PURE__ */ new Set()), o = l(
35
- () => I.filter((n) => {
36
- const k = n.id || `multi-reminder-${n.at}`;
37
- return !_.current.has(k) && d >= n.at;
38
- }).sort((n, k) => k.at - n.at)[0],
39
- [I, d]
40
- ), N = f(() => {
41
- if (!o) return;
42
- const n = o.id || `multi-reminder-${o.at}`;
43
- _.current.add(n), typeof o.callback == "function" && o.callback();
44
- }, [o]), O = f(() => {
45
- if (r && !s) {
46
- T();
47
- return;
48
- }
49
- a == null || a();
50
- }, [r, s, a, T]);
51
- R(() => {
52
- const n = +/* @__PURE__ */ new Date() / 1e3 >= +t / 1e3 + e && e;
53
- i && n && (a == null || a());
54
- }, [e, t, i, a]), R(() => {
55
- i && S && !s && T();
56
- }, [i, T, s, S]), R(() => {
57
- e && t && i && w(p);
58
- }, [t, e, p, i]);
59
- const P = {
60
- endTime: F,
61
- onComplete: O,
62
- reminder: o == null ? void 0 : o.at,
63
- onReminder: N
64
- }, V = {
65
- completionTime: e - E.LAST_TEN,
66
- onComplete: u,
67
- startedOn: new Date(t)
68
- }, $ = {
69
- showRipple: !h && g,
70
- rippleColor: d <= Y ? "ORANGE_3" : "YELLOW_3",
71
- showExtendOverlay: Math.floor(e - (+/* @__PURE__ */ new Date() - +t) / 1e3) <= E.LAST_FIVE && h,
72
- warningProps: {
73
- animateClock: h,
74
- classStartedTime: +t,
75
- duration: e,
76
- onExtendClass: y,
77
- setStartTimer: w,
78
- setAnimateClock: x,
79
- showExtendIcon: !s && A
10
+ onExtendClass: I,
11
+ onExtendedTimeStart: d,
12
+ showExtendIcon: _ = !1
13
+ } = w, c = (+/* @__PURE__ */ new Date() - +n) / 1e3, o = Math.floor(e - c), [s, g] = m(
14
+ !!(t && o <= t * 60)
15
+ ), [i, E] = m(!1), [p, L] = m(
16
+ !!(c >= e - u || s || t)
17
+ ), R = A(
18
+ () => e + +n / 1e3,
19
+ [e, n]
20
+ ), C = h(() => {
21
+ g(!0), d == null || d();
22
+ }, [d]), f = h(() => {
23
+ E(!0);
24
+ }, []);
25
+ T(() => {
26
+ const l = +/* @__PURE__ */ new Date() / 1e3 >= +n / 1e3 + e && e;
27
+ r && l && (a == null || a());
28
+ }, [e, n, r, a]), T(() => {
29
+ r && t && o <= t * 60 && !s && C();
30
+ }, [t, s, C, r, o]), T(() => {
31
+ if (e && n && r) {
32
+ const l = !!(c >= e - u || s || t);
33
+ L(l);
80
34
  }
35
+ }, [
36
+ n,
37
+ e,
38
+ r,
39
+ c,
40
+ s,
41
+ t
42
+ ]);
43
+ const M = {
44
+ endTime: R,
45
+ onComplete: a,
46
+ reminder: S.LAST_FIVE,
47
+ onReminder: f
48
+ }, O = {
49
+ completionTime: e - S.LAST_TEN,
50
+ onComplete: f,
51
+ startedOn: new Date(n)
52
+ }, k = {
53
+ canShowWarning: i,
54
+ setCanShowWarning: E,
55
+ remainingTime: o,
56
+ onExtendClass: I,
57
+ showExtendIcon: !s && _,
58
+ showRipple: !i && p,
59
+ rippleColor: o <= D ? "ORANGE_3" : "YELLOW_3",
60
+ showExtendOverlay: o <= S.LAST_FIVE && i
81
61
  };
82
62
  return {
83
- shouldRender: !!(M && !(c >= 0 && d <= 0)),
84
- startTimer: g,
85
- clockColor: b({
86
- remainingTime: d,
87
- extendedTime: r || 0,
63
+ shouldRender: !!(x && !(c >= 0 && o <= 0)),
64
+ canStartTimer: p,
65
+ clockColor: N({
66
+ remainingTime: o,
67
+ extendedTime: t || 0,
88
68
  extendedTimeStarted: s
89
69
  }),
90
- timerProps: P,
91
- clockProps: V,
92
- animationProps: $
70
+ timerProps: M,
71
+ clockProps: O,
72
+ animationProps: k
93
73
  };
94
74
  };
95
75
  export {
96
- B as useClassTimeLogic
76
+ V as useClassTimeLogic
97
77
  };
98
78
  //# sourceMappingURL=use-class-time-logic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-class-time-logic.js","sources":["../../../../../src/features/ui/timers/class-time/use-class-time-logic.ts"],"sourcesContent":["import type { TColorNames } from '../../types';\nimport type { IClassTimeProps } from './class-time-types';\n\nimport { useState, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { ANIMATION_TIME, getClockColor, LAST_FIVE, START_TIMER } from './constants';\n\nexport const useClassTimeLogic = (props: IClassTimeProps, isTabActive: boolean) => {\n const {\n classDuration,\n classStartedTime,\n extendedTime,\n ongoing,\n onComplete,\n onExtendClass,\n onExtendedTimeStart,\n showExtendIcon = false,\n } = props;\n\n // Core calculations\n const elapsedTime = (+new Date() - +classStartedTime) / 1000;\n const remainingTime = Math.floor(classDuration - elapsedTime);\n // Extended time logic\n const hasExtendedTimeStarted = useMemo(() => {\n if (!extendedTime) return false;\n\n const orgRemainingTime = Math.floor(classDuration - elapsedTime);\n\n return orgRemainingTime <= extendedTime * 60;\n }, [classDuration, extendedTime, elapsedTime]);\n\n const [extendedTimeStarted, setExtendedTimeStarted] = useState(hasExtendedTimeStarted);\n\n const endTime = useMemo(\n () => classDuration + +classStartedTime / 1000,\n [classDuration, classStartedTime],\n );\n\n const handleStartExtendedTime = useCallback(() => {\n setExtendedTimeStarted(true);\n onExtendedTimeStart?.();\n }, [onExtendedTimeStart]);\n\n // Timer/Clock switching logic\n const canStartTimer = useMemo(() => {\n return !!(elapsedTime >= classDuration - START_TIMER || extendedTimeStarted || extendedTime);\n }, [elapsedTime, classDuration, extendedTimeStarted, extendedTime]);\n\n const [startTimer, setStartTimer] = useState(canStartTimer);\n\n // Animation state\n const [animateClock, setAnimateClock] = useState(false);\n\n const handleStartAnimation = useCallback(() => {\n setAnimateClock(true);\n }, []);\n\n // Reminders logic\n const animationReminders = useMemo(\n () => [\n {\n at: ANIMATION_TIME.LAST_TEN,\n callback: handleStartAnimation,\n id: 'rem-10min',\n },\n {\n at: ANIMATION_TIME.LAST_FIVE,\n callback: handleStartAnimation,\n id: 'rem-5min',\n },\n ],\n [handleStartAnimation],\n );\n\n const firedReminders = useRef<Set<string>>(new Set());\n const nextReminder = useMemo(\n () =>\n animationReminders\n .filter(r => {\n const key = r.id || `multi-reminder-${r.at}`;\n const alreadyFired = firedReminders.current.has(key);\n\n return !alreadyFired && remainingTime >= r.at;\n })\n .sort((a, b) => b.at - a.at)[0],\n [animationReminders, remainingTime],\n );\n\n const handleMultiReminder = useCallback(() => {\n if (!nextReminder) return;\n\n const key = nextReminder.id || `multi-reminder-${nextReminder.at}`;\n\n firedReminders.current.add(key);\n\n if (typeof nextReminder.callback === 'function') {\n nextReminder.callback();\n }\n }, [nextReminder]);\n\n // Timer completion logic\n const handleTimerComplete = useCallback(() => {\n if (extendedTime && !extendedTimeStarted) {\n handleStartExtendedTime();\n\n return;\n }\n onComplete?.();\n }, [extendedTime, extendedTimeStarted, onComplete, handleStartExtendedTime]);\n\n // Effects\n useEffect(() => {\n const isClassCompleted =\n +new Date() / 1000 >= +classStartedTime / 1000 + classDuration && classDuration;\n\n if (isTabActive && isClassCompleted) {\n onComplete?.();\n }\n }, [classDuration, classStartedTime, isTabActive, onComplete]);\n\n useEffect(() => {\n if (isTabActive && hasExtendedTimeStarted && !extendedTimeStarted) {\n handleStartExtendedTime();\n }\n }, [isTabActive, handleStartExtendedTime, extendedTimeStarted, hasExtendedTimeStarted]);\n\n useEffect(() => {\n if (classDuration && classStartedTime && isTabActive) {\n setStartTimer(canStartTimer);\n }\n }, [classStartedTime, classDuration, canStartTimer, isTabActive]);\n\n const timerProps = {\n endTime: endTime,\n onComplete: handleTimerComplete,\n reminder: nextReminder?.at,\n onReminder: handleMultiReminder,\n };\n\n const clockProps = {\n completionTime: classDuration - ANIMATION_TIME.LAST_TEN,\n onComplete: handleStartAnimation,\n startedOn: new Date(classStartedTime),\n };\n\n const animationProps = {\n showRipple: !animateClock && startTimer,\n rippleColor: (remainingTime <= LAST_FIVE ? 'ORANGE_3' : 'YELLOW_3') as TColorNames,\n showExtendOverlay:\n Math.floor(classDuration - (+new Date() - +classStartedTime) / 1000) <=\n ANIMATION_TIME.LAST_FIVE && animateClock,\n warningProps: {\n animateClock,\n classStartedTime: +classStartedTime,\n duration: classDuration,\n onExtendClass,\n setStartTimer,\n setAnimateClock,\n showExtendIcon: !extendedTimeStarted && showExtendIcon,\n },\n };\n\n return {\n shouldRender: !!(ongoing && !(elapsedTime >= 0 && remainingTime <= 0)),\n startTimer,\n clockColor: getClockColor({\n remainingTime,\n extendedTime: extendedTime || 0,\n extendedTimeStarted,\n }),\n timerProps,\n clockProps,\n animationProps,\n };\n};\n"],"names":["useClassTimeLogic","props","isTabActive","classDuration","classStartedTime","extendedTime","ongoing","onComplete","onExtendClass","onExtendedTimeStart","showExtendIcon","elapsedTime","remainingTime","hasExtendedTimeStarted","useMemo","extendedTimeStarted","setExtendedTimeStarted","useState","endTime","handleStartExtendedTime","useCallback","canStartTimer","START_TIMER","startTimer","setStartTimer","animateClock","setAnimateClock","handleStartAnimation","animationReminders","ANIMATION_TIME","firedReminders","useRef","nextReminder","r","key","a","b","handleMultiReminder","handleTimerComplete","useEffect","isClassCompleted","timerProps","clockProps","animationProps","LAST_FIVE","getClockColor"],"mappings":"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"}
1
+ {"version":3,"file":"use-class-time-logic.js","sources":["../../../../../src/features/ui/timers/class-time/use-class-time-logic.ts"],"sourcesContent":["import type { IClassTimeProps } from './class-time-types';\n\nimport { useState, useCallback, useEffect, useMemo } from 'react';\n\nimport { ANIMATION_TIME, getClockColor, LAST_FIVE, START_TIMER } from './constants';\n\nexport const useClassTimeLogic = (props: IClassTimeProps, isTabActive: boolean) => {\n const {\n classDuration,\n classStartedTime,\n extendedTime,\n ongoing,\n onComplete,\n onExtendClass,\n onExtendedTimeStart,\n showExtendIcon = false,\n } = props;\n\n const elapsedTime = (+new Date() - +classStartedTime) / 1000;\n const remainingTime = Math.floor(classDuration - elapsedTime);\n\n const [extendedTimeStarted, setExtendedTimeStarted] = useState(\n !!(extendedTime && remainingTime <= extendedTime * 60),\n );\n const [canShowWarning, setCanShowWarning] = useState(false);\n const [canStartTimer, setCanStartTimer] = useState(\n !!(elapsedTime >= classDuration - START_TIMER || extendedTimeStarted || extendedTime),\n );\n\n const endTime = useMemo(\n () => classDuration + +classStartedTime / 1000,\n [classDuration, classStartedTime],\n );\n\n const handleStartExtendedTime = useCallback(() => {\n setExtendedTimeStarted(true);\n onExtendedTimeStart?.();\n }, [onExtendedTimeStart]);\n\n const handleStartAnimation = useCallback(() => {\n setCanShowWarning(true);\n }, []);\n\n useEffect(() => {\n const isClassCompleted =\n +new Date() / 1000 >= +classStartedTime / 1000 + classDuration && classDuration;\n\n if (isTabActive && isClassCompleted) {\n onComplete?.();\n }\n }, [classDuration, classStartedTime, isTabActive, onComplete]);\n\n useEffect(() => {\n if (isTabActive && extendedTime && remainingTime <= extendedTime * 60 && !extendedTimeStarted) {\n handleStartExtendedTime();\n }\n }, [extendedTime, extendedTimeStarted, handleStartExtendedTime, isTabActive, remainingTime]);\n\n useEffect(() => {\n if (classDuration && classStartedTime && isTabActive) {\n const canStart = !!(\n elapsedTime >= classDuration - START_TIMER ||\n extendedTimeStarted ||\n extendedTime\n );\n\n setCanStartTimer(canStart);\n }\n }, [\n classStartedTime,\n classDuration,\n isTabActive,\n elapsedTime,\n extendedTimeStarted,\n extendedTime,\n ]);\n\n const timerProps = {\n endTime: endTime,\n onComplete,\n reminder: ANIMATION_TIME.LAST_FIVE,\n onReminder: handleStartAnimation,\n };\n\n const clockProps = {\n completionTime: classDuration - ANIMATION_TIME.LAST_TEN,\n onComplete: handleStartAnimation,\n startedOn: new Date(classStartedTime),\n };\n\n const animationProps = {\n canShowWarning,\n setCanShowWarning,\n remainingTime,\n onExtendClass,\n showExtendIcon: !extendedTimeStarted && showExtendIcon,\n showRipple: !canShowWarning && canStartTimer,\n rippleColor: (remainingTime <= LAST_FIVE ? 'ORANGE_3' : 'YELLOW_3') as 'ORANGE_3' | 'YELLOW_3',\n showExtendOverlay: remainingTime <= ANIMATION_TIME.LAST_FIVE && canShowWarning,\n };\n\n return {\n shouldRender: !!(ongoing && !(elapsedTime >= 0 && remainingTime <= 0)),\n canStartTimer,\n clockColor: getClockColor({\n remainingTime,\n extendedTime: extendedTime || 0,\n extendedTimeStarted,\n }),\n timerProps,\n clockProps,\n animationProps,\n };\n};\n"],"names":["useClassTimeLogic","props","isTabActive","classDuration","classStartedTime","extendedTime","ongoing","onComplete","onExtendClass","onExtendedTimeStart","showExtendIcon","elapsedTime","remainingTime","extendedTimeStarted","setExtendedTimeStarted","useState","canShowWarning","setCanShowWarning","canStartTimer","setCanStartTimer","START_TIMER","endTime","useMemo","handleStartExtendedTime","useCallback","handleStartAnimation","useEffect","isClassCompleted","canStart","timerProps","ANIMATION_TIME","clockProps","animationProps","LAST_FIVE","getClockColor"],"mappings":";;AAMa,MAAAA,IAAoB,CAACC,GAAwBC,MAAyB;AAC3E,QAAA;AAAA,IACJ,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,EACf,IAAAT,GAEEU,KAAe,CAAC,oBAAI,KAAK,IAAI,CAACP,KAAoB,KAClDQ,IAAgB,KAAK,MAAMT,IAAgBQ,CAAW,GAEtD,CAACE,GAAqBC,CAAsB,IAAIC;AAAA,IACpD,CAAC,EAAEV,KAAgBO,KAAiBP,IAAe;AAAA,EAAA,GAE/C,CAACW,GAAgBC,CAAiB,IAAIF,EAAS,EAAK,GACpD,CAACG,GAAeC,CAAgB,IAAIJ;AAAA,IACxC,CAAC,EAAEJ,KAAeR,IAAgBiB,KAAeP,KAAuBR;AAAA,EAAA,GAGpEgB,IAAUC;AAAA,IACd,MAAMnB,IAAgB,CAACC,IAAmB;AAAA,IAC1C,CAACD,GAAeC,CAAgB;AAAA,EAAA,GAG5BmB,IAA0BC,EAAY,MAAM;AAChD,IAAAV,EAAuB,EAAI,GACLL,KAAA,QAAAA;AAAA,EAAA,GACrB,CAACA,CAAmB,CAAC,GAElBgB,IAAuBD,EAAY,MAAM;AAC7C,IAAAP,EAAkB,EAAI;AAAA,EACxB,GAAG,CAAE,CAAA;AAEL,EAAAS,EAAU,MAAM;AACR,UAAAC,IACJ,CAAK,oBAAA,SAAS,OAAQ,CAACvB,IAAmB,MAAOD,KAAiBA;AAEpE,IAAID,KAAeyB,MACJpB,KAAA,QAAAA;AAAA,KAEd,CAACJ,GAAeC,GAAkBF,GAAaK,CAAU,CAAC,GAE7DmB,EAAU,MAAM;AACd,IAAIxB,KAAeG,KAAgBO,KAAiBP,IAAe,MAAM,CAACQ,KAChDU;EAC1B,GACC,CAAClB,GAAcQ,GAAqBU,GAAyBrB,GAAaU,CAAa,CAAC,GAE3Fc,EAAU,MAAM;AACV,QAAAvB,KAAiBC,KAAoBF,GAAa;AACpD,YAAM0B,IAAW,CAAC,EAChBjB,KAAeR,IAAgBiB,KAC/BP,KACAR;AAGF,MAAAc,EAAiBS,CAAQ;AAAA,IAC3B;AAAA,EAAA,GACC;AAAA,IACDxB;AAAA,IACAD;AAAA,IACAD;AAAA,IACAS;AAAA,IACAE;AAAA,IACAR;AAAA,EAAA,CACD;AAED,QAAMwB,IAAa;AAAA,IACjB,SAAAR;AAAA,IACA,YAAAd;AAAA,IACA,UAAUuB,EAAe;AAAA,IACzB,YAAYL;AAAA,EAAA,GAGRM,IAAa;AAAA,IACjB,gBAAgB5B,IAAgB2B,EAAe;AAAA,IAC/C,YAAYL;AAAA,IACZ,WAAW,IAAI,KAAKrB,CAAgB;AAAA,EAAA,GAGhC4B,IAAiB;AAAA,IACrB,gBAAAhB;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAL;AAAA,IACA,eAAAJ;AAAA,IACA,gBAAgB,CAACK,KAAuBH;AAAA,IACxC,YAAY,CAACM,KAAkBE;AAAA,IAC/B,aAAcN,KAAiBqB,IAAY,aAAa;AAAA,IACxD,mBAAmBrB,KAAiBkB,EAAe,aAAad;AAAA,EAAA;AAG3D,SAAA;AAAA,IACL,cAAc,CAAC,EAAEV,KAAW,EAAEK,KAAe,KAAKC,KAAiB;AAAA,IACnE,eAAAM;AAAA,IACA,YAAYgB,EAAc;AAAA,MACxB,eAAAtB;AAAA,MACA,cAAcP,KAAgB;AAAA,MAC9B,qBAAAQ;AAAA,IAAA,CACD;AAAA,IACD,YAAAgB;AAAA,IACA,YAAAE;AAAA,IACA,gBAAAC;AAAA,EAAA;AAEJ;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.3.24-as4",
3
+ "version": "3.3.24-as5",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -1,28 +0,0 @@
1
- import { jsxs as p, jsx as o } from "react/jsx-runtime";
2
- import s from "styled-components";
3
- import t from "../../layout/flex-view.js";
4
- import l from "./animate.js";
5
- import a from "./animations/ripple.js";
6
- const f = s(t)`
7
- position: fixed;
8
- top: 0;
9
- bottom: 0;
10
- left: 0;
11
- right: 0;
12
- background: rgba(0, 0, 0, 0.4);
13
- z-index: ${({ theme: i }) => i.zIndex.EXTEND_CLASS_ANIMATION_1};
14
- `, g = ({
15
- children: i,
16
- showRipple: r,
17
- rippleColor: e,
18
- showExtendOverlay: m,
19
- warningProps: n
20
- }) => /* @__PURE__ */ p(t, { $position: "relative", $flexDirection: "row", $alignItems: "center", children: [
21
- m && /* @__PURE__ */ o(f, {}),
22
- /* @__PURE__ */ o(a, { color: e, visible: r, children: i }),
23
- /* @__PURE__ */ o(l, { ...n })
24
- ] });
25
- export {
26
- g as default
27
- };
28
- //# sourceMappingURL=class-time-animations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class-time-animations.js","sources":["../../../../../src/features/ui/timers/class-time/class-time-animations.tsx"],"sourcesContent":["import type { TColorNames } from '../../types';\nimport type { ReactNode } from 'react';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\nimport Animate from './animate';\nimport Ripple from './animations/ripple';\n\nconst OpacityWrapper = styled(FlexView)`\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: ${({ theme }) => theme.zIndex.EXTEND_CLASS_ANIMATION_1};\n`;\n\ninterface IClassTimeAnimationsProps {\n children: ReactNode;\n showRipple: boolean;\n rippleColor: TColorNames;\n showExtendOverlay: boolean;\n warningProps: {\n animateClock: boolean;\n classStartedTime: number;\n duration: number;\n showExtendIcon: boolean;\n onExtendClass?: () => void;\n setAnimateClock: (value: boolean) => void;\n setStartTimer: (value: boolean) => void;\n };\n}\n\nconst ClassTimeAnimations = ({\n children,\n showRipple,\n rippleColor,\n showExtendOverlay,\n warningProps,\n}: IClassTimeAnimationsProps) => {\n return (\n <FlexView $position=\"relative\" $flexDirection=\"row\" $alignItems=\"center\">\n {showExtendOverlay && <OpacityWrapper />}\n <Ripple color={rippleColor} visible={showRipple}>\n {children}\n </Ripple>\n <Animate {...warningProps} />\n </FlexView>\n );\n};\n\nexport default ClassTimeAnimations;\n"],"names":["OpacityWrapper","styled","FlexView","theme","ClassTimeAnimations","children","showRipple","rippleColor","showExtendOverlay","warningProps","Ripple","jsx","Animate"],"mappings":";;;;;AASA,MAAMA,IAAiBC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOzB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,wBAAwB;AAAA,GAmB3DC,IAAsB,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,cAAAC;AACF,wBAEKP,GAAS,EAAA,WAAU,YAAW,gBAAe,OAAM,aAAY,UAC7D,UAAA;AAAA,EAAAM,uBAAsBR,GAAe,EAAA;AAAA,oBACrCU,GAAO,EAAA,OAAOH,GAAa,SAASD,GAClC,UAAAD,GACH;AAAA,EACA,gBAAAM,EAACC,GAAS,EAAA,GAAGH,GAAc;AAC7B,EAAA,CAAA;"}