@cuemath/leap 3.3.15-as1 → 3.3.15-as2

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,104 +1,94 @@
1
- import { jsx as l, jsxs as F } from "react/jsx-runtime";
2
- import { memo as Y, useMemo as f, useState as E, useCallback as $, useEffect as S, useRef as q } from "react";
3
- import z from "../../../../assets/line-icons/icons/clock2.js";
4
- import B from "../../../hooks/use-visibility-change.js";
5
- import I from "../../layout/flex-view.js";
6
- import H from "../clock/clock.js";
7
- import J from "../timer/timer.js";
8
- import K from "./animate.js";
9
- import P from "./animations/ripple.js";
10
- import { START_TIMER as Q, getClockColor as U, ANIMATION_TIME as A, LAST_FIVE as Z, IconWrapper as ee } from "./constants.js";
11
- const te = (N) => {
1
+ import { jsx as c, jsxs as D } from "react/jsx-runtime";
2
+ import { memo as X, useMemo as d, useState as x, useCallback as p, useEffect as E, useRef as G } from "react";
3
+ import j from "../../../../assets/line-icons/icons/clock2.js";
4
+ import W from "../../../hooks/use-visibility-change.js";
5
+ import S from "../../layout/flex-view.js";
6
+ import Y from "../clock/clock.js";
7
+ import q from "../timer/timer.js";
8
+ import z from "./animate.js";
9
+ import B from "./animations/ripple.js";
10
+ import { START_TIMER as H, getClockColor as J, ANIMATION_TIME as k, LAST_FIVE as K, IconWrapper as P } from "./constants.js";
11
+ const Q = (M) => {
12
12
  const {
13
13
  classDuration: e,
14
14
  classStartedTime: i,
15
- extendedTime: t,
16
- ongoing: v,
15
+ extendedTime: n,
16
+ ongoing: y,
17
17
  onComplete: o,
18
- onExtendClass: O,
19
- onExtendedTimeStart: h,
20
- showExtendIcon: V = !1,
21
- updateWithExtendedTime: c = !1
22
- } = N, d = (+/* @__PURE__ */ new Date() - +i) / 1e3, m = B(), k = f(() => t ? Math.floor(e - d) <= t * 60 : !1, [e, t, d]), [a, X] = E(k), u = f(() => {
23
- const n = (+/* @__PURE__ */ new Date() - +i) / 1e3, p = Math.floor(e - n);
24
- return c || !t || p <= t * 60 ? e : e - t * 60;
25
- }, [e, t, i, c]), [s, R] = E(u), w = f(() => s + +i / 1e3, [s, i]), C = f(() => !!(d >= s - Q || a || c && t), [d, s, a, c, t]), [b, D] = E(!1), T = Math.floor(s - d), [_, M] = E(C), G = U({
26
- remainingTime: T,
27
- updateWithExtendedTime: c,
28
- extendedTime: t || 0,
18
+ onExtendClass: L,
19
+ onExtendedTimeStart: f,
20
+ showExtendIcon: F = !1
21
+ } = M, m = (+/* @__PURE__ */ new Date() - +i) / 1e3, s = W(), h = d(() => n ? Math.floor(e - m) <= n * 60 : !1, [e, n, m]), [a, N] = x(h), l = Math.floor(e - m), C = d(
22
+ () => e + +i / 1e3,
23
+ [e, i]
24
+ ), $ = d(() => !!(m >= e - H || a || n), [m, e, a, n]), [I, A] = x(!1), [R, b] = x($), v = J({
25
+ remainingTime: l,
26
+ extendedTime: n || 0,
29
27
  extendedTimeStarted: a
30
- }), g = $(() => {
31
- X(!0), R(u), h == null || h();
32
- }, [u, h]), x = $(() => {
33
- D(!0);
34
- }, []), y = f(
28
+ }), T = p(() => {
29
+ N(!0), f == null || f();
30
+ }, [f]), u = p(() => {
31
+ A(!0);
32
+ }, []), w = d(
35
33
  () => [
36
34
  {
37
- at: A.LAST_TEN,
38
- callback: x,
35
+ at: k.LAST_TEN,
36
+ callback: u,
39
37
  id: "rem-10min"
40
38
  },
41
39
  {
42
- at: A.LAST_FIVE,
43
- callback: x,
40
+ at: k.LAST_FIVE,
41
+ callback: u,
44
42
  id: "rem-5min"
45
43
  }
46
44
  ],
47
- [x]
48
- ), W = $(() => {
49
- if (t && !a && !c) {
50
- g();
45
+ [u]
46
+ ), O = p(() => {
47
+ if (n && !a) {
48
+ T();
51
49
  return;
52
50
  }
53
51
  o == null || o();
54
- }, [
55
- t,
56
- a,
57
- o,
58
- g,
59
- c
60
- ]);
61
- S(() => {
62
- const n = +/* @__PURE__ */ new Date() / 1e3 >= +i / 1e3 + e && e;
63
- m && n && (o == null || o());
64
- }, [e, i, m, o]), S(() => {
65
- e && R(u);
66
- }, [e, u]), S(() => {
67
- m && k && !a && g();
68
- }, [m, g, a, k]), S(() => {
69
- s && i && m && M(C);
70
- }, [i, s, C, m]);
71
- const L = q(/* @__PURE__ */ new Set()), r = f(
72
- () => y.filter((n) => {
73
- const p = n.id || `multi-reminder-${n.at}`;
74
- return !L.current.has(p) && T >= n.at;
75
- }).sort((n, p) => p.at - n.at)[0],
76
- [y, T]
77
- ), j = $(() => {
52
+ }, [n, a, o, T]);
53
+ E(() => {
54
+ const t = +/* @__PURE__ */ new Date() / 1e3 >= +i / 1e3 + e && e;
55
+ s && t && (o == null || o());
56
+ }, [e, i, s, o]), E(() => {
57
+ s && h && !a && T();
58
+ }, [s, T, a, h]), E(() => {
59
+ e && i && s && b($);
60
+ }, [i, e, $, s]);
61
+ const _ = G(/* @__PURE__ */ new Set()), r = d(
62
+ () => w.filter((t) => {
63
+ const g = t.id || `multi-reminder-${t.at}`;
64
+ return !_.current.has(g) && l >= t.at;
65
+ }).sort((t, g) => g.at - t.at)[0],
66
+ [w, l]
67
+ ), V = p(() => {
78
68
  if (!r) return;
79
- const n = r.id || `multi-reminder-${r.at}`;
80
- L.current.add(n), typeof r.callback == "function" && r.callback();
69
+ const t = r.id || `multi-reminder-${r.at}`;
70
+ _.current.add(t), typeof r.callback == "function" && r.callback();
81
71
  }, [r]);
82
- return !v || d >= 0 && T <= 0 ? null : /* @__PURE__ */ l(I, { $flexDirection: "row", $alignItems: "center", children: /* @__PURE__ */ F(I, { $position: "relative", $flexDirection: "row", $alignItems: "center", children: [
83
- /* @__PURE__ */ l(
84
- K,
72
+ return !y || m >= 0 && l <= 0 ? null : /* @__PURE__ */ c(S, { $flexDirection: "row", $alignItems: "center", children: /* @__PURE__ */ D(S, { $position: "relative", $flexDirection: "row", $alignItems: "center", children: [
73
+ /* @__PURE__ */ c(
74
+ z,
85
75
  {
86
- animateClock: b,
76
+ animateClock: I,
87
77
  classStartedTime: +i,
88
- duration: s,
89
- onExtendClass: O,
90
- setAnimateClock: D,
91
- setStartTimer: M,
92
- showExtendIcon: !a && V
78
+ duration: e,
79
+ onExtendClass: L,
80
+ setAnimateClock: A,
81
+ setStartTimer: b,
82
+ showExtendIcon: !a && F
93
83
  }
94
84
  ),
95
- /* @__PURE__ */ l(
96
- P,
85
+ /* @__PURE__ */ c(
86
+ B,
97
87
  {
98
- color: T <= Z ? "ORANGE_3" : "YELLOW_3",
99
- visible: !b && _,
100
- children: /* @__PURE__ */ F(
101
- I,
88
+ color: l <= K ? "ORANGE_3" : "YELLOW_3",
89
+ visible: !I && R,
90
+ children: /* @__PURE__ */ D(
91
+ S,
102
92
  {
103
93
  $flexDirection: "row",
104
94
  $alignItems: "center",
@@ -109,21 +99,21 @@ const te = (N) => {
109
99
  $flexGapX: 0.25,
110
100
  $position: "relative",
111
101
  children: [
112
- /* @__PURE__ */ l(ee, { $iconColor: G, children: /* @__PURE__ */ l(z, {}) }),
113
- m && (_ ? /* @__PURE__ */ l(
114
- J,
102
+ /* @__PURE__ */ c(P, { $iconColor: v, children: /* @__PURE__ */ c(j, {}) }),
103
+ s && (R ? /* @__PURE__ */ c(
104
+ q,
115
105
  {
116
- endTime: w,
117
- onComplete: W,
106
+ endTime: C,
107
+ onComplete: O,
118
108
  reminder: r == null ? void 0 : r.at,
119
- onReminder: j
109
+ onReminder: V
120
110
  },
121
- w
122
- ) : /* @__PURE__ */ l(
123
- H,
111
+ C
112
+ ) : /* @__PURE__ */ c(
113
+ Y,
124
114
  {
125
- completionTime: e - A.LAST_TEN,
126
- onComplete: x,
115
+ completionTime: e - k.LAST_TEN,
116
+ onComplete: u,
127
117
  startedOn: new Date(i)
128
118
  }
129
119
  ))
@@ -133,8 +123,8 @@ const te = (N) => {
133
123
  }
134
124
  )
135
125
  ] }) });
136
- }, ue = Y(te);
126
+ }, me = X(Q);
137
127
  export {
138
- ue as default
128
+ me as default
139
129
  };
140
130
  //# sourceMappingURL=class-time.js.map
@@ -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 { useState, useCallback, useEffect, useMemo, useRef, 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 Animate from './animate';\nimport Ripple from './animations/ripple';\nimport { ANIMATION_TIME, getClockColor, IconWrapper, LAST_FIVE, START_TIMER } from './constants';\n\nconst ClassTime = (props: IClassTimeProps) => {\n const {\n classDuration,\n classStartedTime,\n extendedTime,\n ongoing,\n onComplete,\n onExtendClass,\n onExtendedTimeStart,\n showExtendIcon = false,\n updateWithExtendedTime = false,\n } = props;\n\n const elapsedTime = (+new Date() - +classStartedTime) / 1000;\n const isTabActive = useVisibilityChange();\n\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 computedDuration = useMemo(() => {\n const elapsedT = (+new Date() - +classStartedTime) / 1000;\n const remainingT = Math.floor(classDuration - elapsedT);\n\n if (updateWithExtendedTime || !extendedTime || remainingT <= extendedTime * 60)\n return classDuration;\n\n return classDuration - extendedTime * 60;\n }, [classDuration, extendedTime, classStartedTime, updateWithExtendedTime]);\n\n const [duration, setDuration] = useState(computedDuration);\n const endTime = useMemo(() => duration + +classStartedTime / 1000, [duration, classStartedTime]);\n\n const canStartTimer = useMemo(() => {\n return !!(\n elapsedTime >= duration - START_TIMER ||\n extendedTimeStarted ||\n (updateWithExtendedTime && extendedTime)\n );\n }, [elapsedTime, duration, extendedTimeStarted, updateWithExtendedTime, extendedTime]);\n\n const [animateClock, setAnimateClock] = useState(false);\n const remainingTime = Math.floor(duration - elapsedTime); // in seconds\n const [startTimer, setStartTimer] = useState(canStartTimer);\n const clockColor = getClockColor({\n remainingTime,\n updateWithExtendedTime,\n extendedTime: extendedTime || 0,\n extendedTimeStarted,\n });\n\n const handleStartExtendedTime = useCallback(() => {\n setExtendedTimeStarted(true);\n setDuration(computedDuration);\n onExtendedTimeStart?.();\n }, [computedDuration, onExtendedTimeStart]);\n\n const handleStartAnimation = useCallback(() => {\n setAnimateClock(true);\n }, []);\n\n const animationReminders = useMemo(\n () => [\n {\n at: ANIMATION_TIME.LAST_TEN,\n callback: handleStartAnimation,\n id: 'rem-10min',\n },\n\n {\n at: ANIMATION_TIME.LAST_FIVE,\n callback: handleStartAnimation,\n id: 'rem-5min',\n },\n ],\n [handleStartAnimation],\n );\n\n const handleTimerComplete = useCallback(() => {\n if (extendedTime && !extendedTimeStarted && !updateWithExtendedTime) {\n handleStartExtendedTime();\n\n return;\n }\n onComplete?.();\n }, [\n extendedTime,\n extendedTimeStarted,\n onComplete,\n handleStartExtendedTime,\n updateWithExtendedTime,\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 (classDuration) {\n setDuration(computedDuration);\n }\n }, [classDuration, computedDuration]);\n\n useEffect(() => {\n if (isTabActive && hasExtendedTimeStarted && !extendedTimeStarted) {\n handleStartExtendedTime();\n }\n }, [isTabActive, handleStartExtendedTime, extendedTimeStarted, hasExtendedTimeStarted]);\n\n useEffect(() => {\n if (duration && classStartedTime && isTabActive) {\n setStartTimer(canStartTimer);\n }\n }, [classStartedTime, duration, canStartTimer, isTabActive]);\n\n const firedReminders = useRef<Set<string>>(new Set());\n const nextReminder = useMemo(\n () =>\n animationReminders\n .filter((r: (typeof animationReminders)[number]) => {\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: { at: number }, b: { at: number }) => 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 if (!ongoing || (elapsedTime >= 0 && remainingTime <= 0)) {\n return null;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <FlexView $position=\"relative\" $flexDirection=\"row\" $alignItems=\"center\">\n <Animate\n animateClock={animateClock}\n classStartedTime={+classStartedTime}\n duration={duration}\n onExtendClass={onExtendClass}\n setAnimateClock={setAnimateClock}\n setStartTimer={setStartTimer}\n showExtendIcon={!extendedTimeStarted && showExtendIcon}\n />\n <Ripple\n color={remainingTime <= LAST_FIVE ? 'ORANGE_3' : 'YELLOW_3'}\n visible={!animateClock && startTimer}\n >\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={clockColor}>\n <Clock2Icon />\n </IconWrapper>\n {isTabActive &&\n (startTimer ? (\n <Timer\n endTime={endTime}\n key={endTime}\n onComplete={handleTimerComplete}\n reminder={nextReminder?.at}\n onReminder={handleMultiReminder}\n />\n ) : (\n <Clock\n completionTime={classDuration - ANIMATION_TIME.LAST_TEN}\n onComplete={handleStartAnimation}\n startedOn={new Date(classStartedTime)}\n />\n ))}\n </FlexView>\n </Ripple>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(ClassTime);\n"],"names":["ClassTime","props","classDuration","classStartedTime","extendedTime","ongoing","onComplete","onExtendClass","onExtendedTimeStart","showExtendIcon","updateWithExtendedTime","elapsedTime","isTabActive","useVisibilityChange","hasExtendedTimeStarted","useMemo","extendedTimeStarted","setExtendedTimeStarted","useState","computedDuration","elapsedT","remainingT","duration","setDuration","endTime","canStartTimer","START_TIMER","animateClock","setAnimateClock","remainingTime","startTimer","setStartTimer","clockColor","getClockColor","handleStartExtendedTime","useCallback","handleStartAnimation","animationReminders","ANIMATION_TIME","handleTimerComplete","useEffect","isClassCompleted","firedReminders","useRef","nextReminder","r","key","a","b","handleMultiReminder","jsx","FlexView","jsxs","Animate","Ripple","LAST_FIVE","IconWrapper","Clock2Icon","Timer","Clock","classTime","memo"],"mappings":"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"}
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 { useState, useCallback, useEffect, useMemo, useRef, 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 Animate from './animate';\nimport Ripple from './animations/ripple';\nimport { ANIMATION_TIME, getClockColor, IconWrapper, LAST_FIVE, START_TIMER } from './constants';\n\nconst ClassTime = (props: IClassTimeProps) => {\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 isTabActive = useVisibilityChange();\n\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 const remainingTime = Math.floor(classDuration - elapsedTime); // in seconds\n const endTime = useMemo(\n () => classDuration + +classStartedTime / 1000,\n [classDuration, classStartedTime],\n );\n\n const canStartTimer = useMemo(() => {\n return !!(elapsedTime >= classDuration - START_TIMER || extendedTimeStarted || extendedTime);\n }, [elapsedTime, classDuration, extendedTimeStarted, extendedTime]);\n\n const [animateClock, setAnimateClock] = useState(false);\n const [startTimer, setStartTimer] = useState(canStartTimer);\n const clockColor = getClockColor({\n remainingTime,\n extendedTime: extendedTime || 0,\n extendedTimeStarted,\n });\n\n const handleStartExtendedTime = useCallback(() => {\n setExtendedTimeStarted(true);\n onExtendedTimeStart?.();\n }, [onExtendedTimeStart]);\n\n const handleStartAnimation = useCallback(() => {\n setAnimateClock(true);\n }, []);\n\n const animationReminders = useMemo(\n () => [\n {\n at: ANIMATION_TIME.LAST_TEN,\n callback: handleStartAnimation,\n id: 'rem-10min',\n },\n\n {\n at: ANIMATION_TIME.LAST_FIVE,\n callback: handleStartAnimation,\n id: 'rem-5min',\n },\n ],\n [handleStartAnimation],\n );\n\n const handleTimerComplete = useCallback(() => {\n if (extendedTime && !extendedTimeStarted) {\n handleStartExtendedTime();\n\n return;\n }\n onComplete?.();\n }, [extendedTime, extendedTimeStarted, onComplete, handleStartExtendedTime]);\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 && 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 firedReminders = useRef<Set<string>>(new Set());\n const nextReminder = useMemo(\n () =>\n animationReminders\n .filter((r: (typeof animationReminders)[number]) => {\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: { at: number }, b: { at: number }) => 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 if (!ongoing || (elapsedTime >= 0 && remainingTime <= 0)) {\n return null;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <FlexView $position=\"relative\" $flexDirection=\"row\" $alignItems=\"center\">\n <Animate\n animateClock={animateClock}\n classStartedTime={+classStartedTime}\n duration={classDuration}\n onExtendClass={onExtendClass}\n setAnimateClock={setAnimateClock}\n setStartTimer={setStartTimer}\n showExtendIcon={!extendedTimeStarted && showExtendIcon}\n />\n <Ripple\n color={remainingTime <= LAST_FIVE ? 'ORANGE_3' : 'YELLOW_3'}\n visible={!animateClock && startTimer}\n >\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={clockColor}>\n <Clock2Icon />\n </IconWrapper>\n {isTabActive &&\n (startTimer ? (\n <Timer\n endTime={endTime}\n key={endTime}\n onComplete={handleTimerComplete}\n reminder={nextReminder?.at}\n onReminder={handleMultiReminder}\n />\n ) : (\n <Clock\n completionTime={classDuration - ANIMATION_TIME.LAST_TEN}\n onComplete={handleStartAnimation}\n startedOn={new Date(classStartedTime)}\n />\n ))}\n </FlexView>\n </Ripple>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(ClassTime);\n"],"names":["ClassTime","props","classDuration","classStartedTime","extendedTime","ongoing","onComplete","onExtendClass","onExtendedTimeStart","showExtendIcon","elapsedTime","isTabActive","useVisibilityChange","hasExtendedTimeStarted","useMemo","extendedTimeStarted","setExtendedTimeStarted","useState","remainingTime","endTime","canStartTimer","START_TIMER","animateClock","setAnimateClock","startTimer","setStartTimer","clockColor","getClockColor","handleStartExtendedTime","useCallback","handleStartAnimation","animationReminders","ANIMATION_TIME","handleTimerComplete","useEffect","isClassCompleted","firedReminders","useRef","nextReminder","r","key","a","b","handleMultiReminder","jsx","FlexView","jsxs","Animate","Ripple","LAST_FIVE","IconWrapper","Clock2Icon","Timer","Clock","classTime","memo"],"mappings":"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"}
@@ -1,31 +1,30 @@
1
- import n from "styled-components";
2
- import E from "../../layout/flex-view.js";
3
- const I = n(E)`
1
+ import e from "styled-components";
2
+ import n from "../../layout/flex-view.js";
3
+ const _ = e(n)`
4
4
  svg {
5
5
  color: ${(t) => t.theme.colors[t.$iconColor]};
6
6
  }
7
- `, o = 60 * 10, r = 60 * 5, L = {
7
+ `, o = 60 * 10, r = 60 * 5, I = {
8
8
  LAST_TEN: o + 2,
9
9
  LAST_FIVE: r + 2
10
- }, A = 2e3, l = 1500, i = [
10
+ }, L = 2e3, A = 1500, l = [
11
11
  {
12
12
  name: "ALERT",
13
13
  url: "https://static.qumath.in/static/intel-student/cmpress/alert.mp3"
14
14
  }
15
- ], m = ({
15
+ ], i = ({
16
16
  remainingTime: t,
17
- updateWithExtendedTime: c,
18
- extendedTime: s,
19
- extendedTimeStarted: e
20
- }) => t <= r ? "ORANGE_3" : t <= o || c && s || e ? "YELLOW_3" : "BLACK_3";
17
+ extendedTime: c,
18
+ extendedTimeStarted: s
19
+ }) => t <= r ? "ORANGE_3" : t <= o || c || s ? "YELLOW_3" : "BLACK_3";
21
20
  export {
22
- i as ALERT_AUDIO_LIST,
23
- L as ANIMATION_TIME,
24
- l as EXTEND_IDLE,
25
- I as IconWrapper,
21
+ l as ALERT_AUDIO_LIST,
22
+ I as ANIMATION_TIME,
23
+ A as EXTEND_IDLE,
24
+ _ as IconWrapper,
26
25
  r as LAST_FIVE,
27
26
  o as START_TIMER,
28
- A as TIME_LEFT_IDLE,
29
- m as getClockColor
27
+ L as TIME_LEFT_IDLE,
28
+ i as getClockColor
30
29
  };
31
30
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../src/features/ui/timers/class-time/constants.ts"],"sourcesContent":["import type { TColorNames } from '../../types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\n\nconst IconWrapper = styled(FlexView)<{ $iconColor: TColorNames }>`\n svg {\n color: ${props => props.theme.colors[props.$iconColor]};\n }\n`;\n\nconst START_TIMER = 60 * 10; // 10 minutes\nconst LAST_FIVE = 60 * 5; // 5 minutes\nconst ANIMATION_TIME = {\n LAST_TEN: START_TIMER + 2,\n LAST_FIVE: LAST_FIVE + 2,\n};\n\nconst TIME_LEFT_IDLE = 2000;\nconst EXTEND_IDLE = 1500;\n\ninterface IClockColorParams {\n remainingTime: number;\n updateWithExtendedTime: boolean;\n extendedTime: number;\n extendedTimeStarted: boolean;\n}\n\nexport const ALERT_AUDIO_LIST = [\n {\n name: 'ALERT',\n url: 'https://static.qumath.in/static/intel-student/cmpress/alert.mp3',\n },\n];\n\nconst getClockColor = ({\n remainingTime,\n updateWithExtendedTime,\n extendedTime,\n extendedTimeStarted,\n}: IClockColorParams): TColorNames => {\n if (remainingTime <= LAST_FIVE) return 'ORANGE_3';\n\n if (\n remainingTime <= START_TIMER ||\n (updateWithExtendedTime && extendedTime) ||\n extendedTimeStarted\n )\n return 'YELLOW_3';\n\n return 'BLACK_3';\n};\n\nexport {\n getClockColor,\n IconWrapper,\n ANIMATION_TIME,\n START_TIMER,\n LAST_FIVE,\n TIME_LEFT_IDLE,\n EXTEND_IDLE,\n};\n"],"names":["IconWrapper","styled","FlexView","props","START_TIMER","LAST_FIVE","ANIMATION_TIME","TIME_LEFT_IDLE","EXTEND_IDLE","ALERT_AUDIO_LIST","getClockColor","remainingTime","updateWithExtendedTime","extendedTime","extendedTimeStarted"],"mappings":";;AAMM,MAAAA,IAAcC,EAAOC,CAAQ;AAAA;AAAA,aAEtB,OAASC,EAAM,MAAM,OAAOA,EAAM,UAAU,CAAC;AAAA;AAAA,GAIpDC,IAAc,KAAK,IACnBC,IAAY,KAAK,GACjBC,IAAiB;AAAA,EACrB,UAAUF,IAAc;AAAA,EACxB,WAAWC,IAAY;AACzB,GAEME,IAAiB,KACjBC,IAAc,MASPC,IAAmB;AAAA,EAC9B;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AACF,GAEMC,IAAgB,CAAC;AAAA,EACrB,eAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,qBAAAC;AACF,MACMH,KAAiBN,IAAkB,aAGrCM,KAAiBP,KAChBQ,KAA0BC,KAC3BC,IAEO,aAEF;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/features/ui/timers/class-time/constants.ts"],"sourcesContent":["import type { TColorNames } from '../../types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\n\nconst IconWrapper = styled(FlexView)<{ $iconColor: TColorNames }>`\n svg {\n color: ${props => props.theme.colors[props.$iconColor]};\n }\n`;\n\nconst START_TIMER = 60 * 10; // 10 minutes\nconst LAST_FIVE = 60 * 5; // 5 minutes\nconst ANIMATION_TIME = {\n LAST_TEN: START_TIMER + 2,\n LAST_FIVE: LAST_FIVE + 2,\n};\n\nconst TIME_LEFT_IDLE = 2000;\nconst EXTEND_IDLE = 1500;\n\ninterface IClockColorParams {\n remainingTime: number;\n extendedTime: number;\n extendedTimeStarted: boolean;\n}\n\nexport const ALERT_AUDIO_LIST = [\n {\n name: 'ALERT',\n url: 'https://static.qumath.in/static/intel-student/cmpress/alert.mp3',\n },\n];\n\nconst getClockColor = ({\n remainingTime,\n extendedTime,\n extendedTimeStarted,\n}: IClockColorParams): TColorNames => {\n if (remainingTime <= LAST_FIVE) return 'ORANGE_3';\n\n if (remainingTime <= START_TIMER || extendedTime || extendedTimeStarted) return 'YELLOW_3';\n\n return 'BLACK_3';\n};\n\nexport {\n getClockColor,\n IconWrapper,\n ANIMATION_TIME,\n START_TIMER,\n LAST_FIVE,\n TIME_LEFT_IDLE,\n EXTEND_IDLE,\n};\n"],"names":["IconWrapper","styled","FlexView","props","START_TIMER","LAST_FIVE","ANIMATION_TIME","TIME_LEFT_IDLE","EXTEND_IDLE","ALERT_AUDIO_LIST","getClockColor","remainingTime","extendedTime","extendedTimeStarted"],"mappings":";;AAMM,MAAAA,IAAcC,EAAOC,CAAQ;AAAA;AAAA,aAEtB,OAASC,EAAM,MAAM,OAAOA,EAAM,UAAU,CAAC;AAAA;AAAA,GAIpDC,IAAc,KAAK,IACnBC,IAAY,KAAK,GACjBC,IAAiB;AAAA,EACrB,UAAUF,IAAc;AAAA,EACxB,WAAWC,IAAY;AACzB,GAEME,IAAiB,KACjBC,IAAc,MAQPC,IAAmB;AAAA,EAC9B;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AACF,GAEMC,IAAgB,CAAC;AAAA,EACrB,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,qBAAAC;AACF,MACMF,KAAiBN,IAAkB,aAEnCM,KAAiBP,KAAeQ,KAAgBC,IAA4B,aAEzE;"}
package/dist/index.d.ts CHANGED
@@ -1381,8 +1381,8 @@ declare interface IClassTimeProps {
1381
1381
  /** Class duration in seconds */
1382
1382
  classDuration: number;
1383
1383
  /** When the class started */
1384
- classStartedTime: number;
1385
- /** Extended time in seconds */
1384
+ classStartedTime: Date;
1385
+ /** Extended time in minutes */
1386
1386
  extendedTime?: number;
1387
1387
  /** Whether class is ongoing */
1388
1388
  ongoing?: boolean;
@@ -1394,8 +1394,6 @@ declare interface IClassTimeProps {
1394
1394
  onExtendedTimeStart?: () => void;
1395
1395
  /** Whether to show the extend class icon (default: false) there is conditions for teacher where we are also not showing this icon */
1396
1396
  showExtendIcon?: boolean;
1397
- /** Whether to update timer with extended time (overrides userType default) */
1398
- updateWithExtendedTime?: boolean;
1399
1397
  }
1400
1398
 
1401
1399
  export declare interface IClickableAnalyticsProps {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuemath/leap",
3
- "version": "3.3.15-as1",
3
+ "version": "3.3.15-as2",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"