@cuemath/leap 2.8.35-beta.0 → 2.8.36-link.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/illustrations/illustrations.js +2 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/sounds/sounds.js +7 -0
- package/dist/assets/sounds/sounds.js.map +1 -0
- package/dist/features/analytics-events/whitelist-events.js +13 -15
- package/dist/features/analytics-events/whitelist-events.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +63 -54
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/talk-meter/helper.js +11 -0
- package/dist/features/talk-meter/helper.js.map +1 -0
- package/dist/features/talk-meter/hooks/use-talk-meter.js +112 -0
- package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -0
- package/dist/features/talk-meter/ripple/index.js +62 -0
- package/dist/features/talk-meter/ripple/index.js.map +1 -0
- package/dist/features/talk-meter/talk-meter-styled.js +84 -0
- package/dist/features/talk-meter/talk-meter-styled.js.map +1 -0
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view-styled.js +22 -0
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view-styled.js.map +1 -0
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +89 -0
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -0
- package/dist/features/talk-meter/talk-meter.js +71 -0
- package/dist/features/talk-meter/talk-meter.js.map +1 -0
- package/dist/features/ui/grade-selector/grade-tab.js +15 -15
- package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
- package/dist/features/ui/tab/tab-styled.js +8 -7
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- package/dist/features/ui/tab/tab.js +31 -36
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/theme/tab.js +1 -1
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/index.d.ts +36 -37
- package/dist/index.js +302 -304
- package/dist/index.js.map +1 -1
- package/dist/static/female-avatar.b8cd1012.svg +1 -0
- package/dist/static/male-avatar.2febc9eb.svg +1 -0
- package/package.json +2 -3
- package/dist/assets/line-icons/icons/sheet.js +0 -54
- package/dist/assets/line-icons/icons/sheet.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +0 -194
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js +0 -10
- package/dist/features/milestone/milestone-resources/resources-assign/api/get-resource.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js +0 -9
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js +0 -9
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js +0 -20
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +0 -47
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js +0 -22
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +0 -60
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js +0 -6
- package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/utils.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js +0 -19
- package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-analytics-events.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js +0 -22
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js +0 -17
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +0 -95
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js +0 -62
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +0 -189
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +0 -1
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js +0 -8
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +0 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js +0 -28
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +0 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input.js +0 -101
- package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +0 -1
@@ -0,0 +1,84 @@
|
|
1
|
+
import i, { keyframes as o, css as s } from "styled-components";
|
2
|
+
import p from "../../assets/line-icons/icons/cross.js";
|
3
|
+
import l from "../ui/layout/flex-view.js";
|
4
|
+
const r = o`
|
5
|
+
0% {
|
6
|
+
opacity: 0;
|
7
|
+
transform: translate(0%, -100%) scale(0);
|
8
|
+
height: 0px;
|
9
|
+
}
|
10
|
+
50% {
|
11
|
+
opacity: 1;
|
12
|
+
}
|
13
|
+
100% {
|
14
|
+
opacity: 1;
|
15
|
+
transform: translate(0%, 0%) scale(1);
|
16
|
+
height: 128px;
|
17
|
+
}
|
18
|
+
`, c = o`
|
19
|
+
0% {
|
20
|
+
opacity: 1;
|
21
|
+
transform: translate(0%, 0%) scale(1);
|
22
|
+
}
|
23
|
+
100% {
|
24
|
+
opacity: 0;
|
25
|
+
transform: translate(0%, -100%) scale(1);
|
26
|
+
height: 0px;
|
27
|
+
}
|
28
|
+
`, y = i(p)`
|
29
|
+
position: absolute;
|
30
|
+
top: 15px;
|
31
|
+
right: 20px;
|
32
|
+
color: black;
|
33
|
+
width: 20px;
|
34
|
+
height: 20px;
|
35
|
+
z-index: 2;
|
36
|
+
`, f = i(l)(
|
37
|
+
({ $isTeacher: n, $animated: t, $canAnimateIn: a, $canAnimateOut: e }) => `
|
38
|
+
width: 100%;
|
39
|
+
max-width: 336px;
|
40
|
+
|
41
|
+
${t ? `
|
42
|
+
height: 0;
|
43
|
+
opacity: 0;
|
44
|
+
display: none;
|
45
|
+
` : `
|
46
|
+
height: 100%;
|
47
|
+
opacity: 1;
|
48
|
+
display: flex;
|
49
|
+
`}
|
50
|
+
|
51
|
+
${n ? null : s`
|
52
|
+
display: ${t ? "none" : "flex"};
|
53
|
+
top: ${t ? 70 : 0}px;
|
54
|
+
right: ${t ? 10 : 0}px;
|
55
|
+
z-index: 100;
|
56
|
+
position: ${t ? "fixed" : "relative"};
|
57
|
+
`}
|
58
|
+
|
59
|
+
${a ? `
|
60
|
+
animation-name: ${r};
|
61
|
+
animation-duration: 800ms;
|
62
|
+
animation-iteration-count: 1;
|
63
|
+
animation-timing-function: ease-out;
|
64
|
+
opacity: 1;
|
65
|
+
display: flex;
|
66
|
+
height: 128px;
|
67
|
+
` : null}
|
68
|
+
|
69
|
+
${e ? `
|
70
|
+
animation-name: ${c};
|
71
|
+
animation-duration: 400ms;
|
72
|
+
animation-iteration-count: 1;
|
73
|
+
animation-timing-function: ease-out;
|
74
|
+
opacity: 0;
|
75
|
+
display: none;
|
76
|
+
height: 0px;
|
77
|
+
` : null}
|
78
|
+
`
|
79
|
+
);
|
80
|
+
export {
|
81
|
+
y as CloseIcon,
|
82
|
+
f as Wrapper
|
83
|
+
};
|
84
|
+
//# sourceMappingURL=talk-meter-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"talk-meter-styled.js","sources":["../../../src/features/talk-meter/talk-meter-styled.tsx"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components';\n\nimport CrossIcon from '../../assets/line-icons/icons/cross';\nimport FlexView from '../ui/layout/flex-view';\n\nconst scaleInAnim = keyframes`\n 0% {\n opacity: 0;\n transform: translate(0%, -100%) scale(0);\n height: 0px;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n transform: translate(0%, 0%) scale(1);\n height: 128px;\n }\n`;\n\nconst scaleOutAnim = keyframes`\n 0% {\n opacity: 1;\n transform: translate(0%, 0%) scale(1);\n }\n 100% {\n opacity: 0;\n transform: translate(0%, -100%) scale(1);\n height: 0px;\n }\n`;\n\nconst CloseIcon = styled(CrossIcon)`\n position: absolute;\n top: 15px;\n right: 20px;\n color: black;\n width: 20px;\n height: 20px;\n z-index: 2;\n`;\n\nconst Wrapper = styled(FlexView)<{\n $isTeacher: boolean;\n $animated: boolean;\n $canAnimateIn: boolean;\n $canAnimateOut: boolean;\n}>(\n ({ $isTeacher, $animated, $canAnimateIn, $canAnimateOut }) => `\n width: 100%;\n max-width: 336px;\n \n ${\n $animated\n ? `\n height: 0;\n opacity: 0;\n display: none;\n `\n : `\n height: 100%;\n opacity: 1;\n display: flex;\n `\n }\n \n ${\n !$isTeacher\n ? css`\n display: ${$animated ? 'none' : 'flex'};\n top: ${$animated ? 70 : 0}px;\n right: ${$animated ? 10 : 0}px;\n z-index: 100;\n position: ${$animated ? 'fixed' : 'relative'};\n `\n : null\n }\n \n ${\n $canAnimateIn\n ? `\n animation-name: ${scaleInAnim};\n animation-duration: 800ms;\n animation-iteration-count: 1;\n animation-timing-function: ease-out;\n opacity: 1;\n display: flex;\n height: 128px;\n `\n : null\n }\n\n ${\n $canAnimateOut\n ? `\n animation-name: ${scaleOutAnim};\n animation-duration: 400ms;\n animation-iteration-count: 1;\n animation-timing-function: ease-out;\n opacity: 0;\n display: none;\n height: 0px;\n `\n : null\n }\n `,\n);\n\nexport { Wrapper, CloseIcon };\n"],"names":["scaleInAnim","keyframes","scaleOutAnim","CloseIcon","styled","CrossIcon","Wrapper","FlexView","$isTeacher","$animated","$canAnimateIn","$canAnimateOut","css"],"mappings":";;;AAKA,MAAMA,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBdC,IAAeD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYfE,IAAYC,EAAOC,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAU5BC,IAAUF,EAAOG,CAAQ;AAAA,EAM7B,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,eAAAC,GAAe,gBAAAC,EAAqB,MAAA;AAAA;AAAA;AAAA;AAAA,MAK1DF,IACI;AAAA;AAAA;AAAA;AAAA,cAKA;AAAA;AAAA;AAAA;AAAA,WAKN;AAAA;AAAA,MAGGD,IAQG,OAPAI;AAAA,uBACaH,IAAY,SAAS,MAAM;AAAA,mBAC/BA,IAAY,KAAK,CAAC;AAAA,qBAChBA,IAAY,KAAK,CAAC;AAAA;AAAA,wBAEfA,IAAY,UAAU,UAAU;AAAA,WAGpD;AAAA;AAAA,MAGEC,IACI;AAAA,8BACoBV,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAQ/B,IACN;AAAA;AAAA,MAGEW,IACI;AAAA,8BACoBT,CAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAQhC,IACN;AAAA;AAEJ;"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import e from "styled-components";
|
2
|
+
import i from "../../ui/layout/flex-view.js";
|
3
|
+
const p = e(i)`
|
4
|
+
height: 104px;
|
5
|
+
transition: height 300ms ease-in-out;
|
6
|
+
z-index: 1;
|
7
|
+
`;
|
8
|
+
e.div(
|
9
|
+
({ $avatarUrl: r }) => `
|
10
|
+
width: 20px;
|
11
|
+
height: 20px;
|
12
|
+
border-radius: 50%;
|
13
|
+
background: url(${r});
|
14
|
+
background-size: cover;
|
15
|
+
background-repeat: no-repeat;
|
16
|
+
position: relative;
|
17
|
+
`
|
18
|
+
);
|
19
|
+
export {
|
20
|
+
p as MeterWrapper
|
21
|
+
};
|
22
|
+
//# sourceMappingURL=talk-meter-view-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"talk-meter-view-styled.js","sources":["../../../../src/features/talk-meter/talk-meter-view/talk-meter-view-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\nconst MeterWrapper = styled(FlexView)`\n height: 104px;\n transition: height 300ms ease-in-out;\n z-index: 1;\n`;\n\nconst Avatar = styled.div<{ $avatarUrl: string }>(\n ({ $avatarUrl }) => `\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: url(${$avatarUrl});\n background-size: cover;\n background-repeat: no-repeat;\n position: relative;\n`,\n);\n\nexport { MeterWrapper, Avatar };\n"],"names":["MeterWrapper","styled","FlexView","$avatarUrl"],"mappings":";;AAIM,MAAAA,IAAeC,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAMrBD,EAAO;AAAA,EACpB,CAAC,EAAE,YAAAE,EAAA,MAAiB;AAAA;AAAA;AAAA;AAAA,oBAIFA,CAAU;AAAA;AAAA;AAAA;AAAA;AAK9B;"}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
2
|
+
import { memo as T } from "react";
|
3
|
+
import { ILLUSTRATIONS as a } from "../../../assets/illustrations/illustrations.js";
|
4
|
+
import l from "../../ui/image/image.js";
|
5
|
+
import t from "../../ui/layout/flex-view.js";
|
6
|
+
import b from "../../ui/separator/separator.js";
|
7
|
+
import o from "../../ui/text/text.js";
|
8
|
+
import { getMeterColor as p } from "../helper.js";
|
9
|
+
import { MeterWrapper as $ } from "./talk-meter-view-styled.js";
|
10
|
+
const g = {
|
11
|
+
MALE: "MALE",
|
12
|
+
FEMALE: "FEMALE",
|
13
|
+
OTHER: "OTHER"
|
14
|
+
}, k = T((s) => {
|
15
|
+
const {
|
16
|
+
stdName: h = "Student",
|
17
|
+
tchName: u = "Teacher",
|
18
|
+
stdRatio: i = 10,
|
19
|
+
tchRatio: n = 20,
|
20
|
+
tchGender: A = "MALE",
|
21
|
+
userType: m
|
22
|
+
} = s, c = p(i), E = Math.abs(n - i), f = n > 0 && i > 0 && E < 95, d = m === "TEACHER";
|
23
|
+
return f ? /* @__PURE__ */ r(
|
24
|
+
$,
|
25
|
+
{
|
26
|
+
$gap: 12,
|
27
|
+
$gutter: 12,
|
28
|
+
$background: "WHITE",
|
29
|
+
$borderColor: "GREY_2",
|
30
|
+
$borderRadius: 12,
|
31
|
+
children: [
|
32
|
+
/* @__PURE__ */ e(o, { $renderAs: "ub3-bold", $align: "center", children: "50:50 TALK METER" }),
|
33
|
+
/* @__PURE__ */ e(b, { height: 8 }),
|
34
|
+
/* @__PURE__ */ r(t, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
|
35
|
+
/* @__PURE__ */ r(t, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", $flexGap: 4, children: [
|
36
|
+
/* @__PURE__ */ e(l, { src: a.ALIEN_4, width: 20, height: 20, withLoader: !0 }),
|
37
|
+
/* @__PURE__ */ e(o, { $renderAs: "ub3-bold", $color: "BLACK", children: d ? h : "You" })
|
38
|
+
] }),
|
39
|
+
/* @__PURE__ */ r(t, { $flexDirection: "row", $justifyContent: "center", $alignItems: "center", $flexGap: 4, children: [
|
40
|
+
/* @__PURE__ */ e(o, { $renderAs: "ub3-bold", $color: "BLACK", children: d ? "You" : u }),
|
41
|
+
/* @__PURE__ */ e(
|
42
|
+
l,
|
43
|
+
{
|
44
|
+
src: A === g.MALE ? a.MALE_AVATAR : a.FEMALE_AVATAR,
|
45
|
+
width: 20,
|
46
|
+
height: 20,
|
47
|
+
withLoader: !0
|
48
|
+
}
|
49
|
+
)
|
50
|
+
] })
|
51
|
+
] }),
|
52
|
+
/* @__PURE__ */ r(t, { $flexDirection: "row", $gap: 4, children: [
|
53
|
+
/* @__PURE__ */ e(
|
54
|
+
t,
|
55
|
+
{
|
56
|
+
$height: 8,
|
57
|
+
$width: `${i}%`,
|
58
|
+
$borderRadius: 4,
|
59
|
+
$background: c.STUDENT
|
60
|
+
}
|
61
|
+
),
|
62
|
+
/* @__PURE__ */ e(
|
63
|
+
t,
|
64
|
+
{
|
65
|
+
$height: 8,
|
66
|
+
$width: `${n}%`,
|
67
|
+
$borderRadius: 4,
|
68
|
+
$background: c.TEACHER
|
69
|
+
}
|
70
|
+
)
|
71
|
+
] }),
|
72
|
+
/* @__PURE__ */ r(t, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
|
73
|
+
/* @__PURE__ */ r(o, { $renderAs: "ab2-black", $color: c.STUDENT, children: [
|
74
|
+
i,
|
75
|
+
" %"
|
76
|
+
] }),
|
77
|
+
/* @__PURE__ */ r(o, { $renderAs: "ab2-black", $color: c.TEACHER, children: [
|
78
|
+
n,
|
79
|
+
" %"
|
80
|
+
] })
|
81
|
+
] })
|
82
|
+
]
|
83
|
+
}
|
84
|
+
) : /* @__PURE__ */ e($, { $justifyContent: "center", $alignItems: "center", $gap: 12, $gutter: 12, children: /* @__PURE__ */ e(o, { $renderAs: "ub3-bold", $color: "BLACK", children: "Oops! There was insufficient data to calculate your Talk Ratio." }) });
|
85
|
+
});
|
86
|
+
export {
|
87
|
+
k as default
|
88
|
+
};
|
89
|
+
//# sourceMappingURL=talk-meter-view.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"talk-meter-view.js","sources":["../../../../src/features/talk-meter/talk-meter-view/talk-meter-view.tsx"],"sourcesContent":["import type { TUserTypes } from '../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport Image from '../../ui/image/image';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { getMeterColor } from '../helper';\nimport * as Styled from './talk-meter-view-styled';\n\nconst GENDER = {\n MALE: 'MALE',\n FEMALE: 'FEMALE',\n OTHER: 'OTHER',\n};\n\ninterface ITalkMeterView {\n stdName?: string;\n tchName?: string;\n stdRatio: number;\n tchRatio: number;\n tchGender: keyof typeof GENDER;\n userType: TUserTypes;\n}\n\nconst TalkMeterView: FC<ITalkMeterView> = memo(props => {\n const {\n stdName = 'Student',\n tchName = 'Teacher',\n stdRatio = 10,\n tchRatio = 20,\n tchGender = 'MALE',\n userType,\n } = props;\n const colors = getMeterColor(stdRatio);\n const diff = Math.abs(tchRatio - stdRatio);\n const isValid = tchRatio > 0 && stdRatio > 0 && diff < 95;\n const isTeacher = userType === 'TEACHER';\n\n if (!isValid) {\n return (\n <Styled.MeterWrapper $justifyContent=\"center\" $alignItems=\"center\" $gap={12} $gutter={12}>\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK\">\n Oops! There was insufficient data to calculate your Talk Ratio.\n </Text>\n </Styled.MeterWrapper>\n );\n }\n\n return (\n <Styled.MeterWrapper\n $gap={12}\n $gutter={12}\n $background=\"WHITE\"\n $borderColor=\"GREY_2\"\n $borderRadius={12}\n >\n <Text $renderAs=\"ub3-bold\" $align=\"center\">\n 50:50 TALK METER\n </Text>\n\n <Separator height={8} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\" $flexGap={4}>\n <Image src={ILLUSTRATIONS.ALIEN_4} width={20} height={20} withLoader />\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK\">\n {isTeacher ? stdName : 'You'}\n </Text>\n </FlexView>\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\" $flexGap={4}>\n <Text $renderAs=\"ub3-bold\" $color=\"BLACK\">\n {isTeacher ? 'You' : tchName}\n </Text>\n <Image\n src={\n tchGender === GENDER.MALE ? ILLUSTRATIONS.MALE_AVATAR : ILLUSTRATIONS.FEMALE_AVATAR\n }\n width={20}\n height={20}\n withLoader\n />\n </FlexView>\n </FlexView>\n <FlexView $flexDirection=\"row\" $gap={4}>\n <FlexView\n $height={8}\n $width={`${stdRatio}%`}\n $borderRadius={4}\n $background={colors.STUDENT}\n />\n <FlexView\n $height={8}\n $width={`${tchRatio}%`}\n $borderRadius={4}\n $background={colors.TEACHER}\n />\n </FlexView>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"ab2-black\" $color={colors.STUDENT}>\n {stdRatio} %\n </Text>\n <Text $renderAs=\"ab2-black\" $color={colors.TEACHER}>\n {tchRatio} %\n </Text>\n </FlexView>\n </Styled.MeterWrapper>\n );\n});\n\nexport default TalkMeterView;\n"],"names":["GENDER","TalkMeterView","memo","props","stdName","tchName","stdRatio","tchRatio","tchGender","userType","colors","getMeterColor","diff","isValid","isTeacher","jsxs","Styled.MeterWrapper","jsx","Text","Separator","FlexView","Image","ILLUSTRATIONS"],"mappings":"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"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { jsxs as c, Fragment as g, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as y } from "react";
|
3
|
+
import { getMeterColor as v } from "./helper.js";
|
4
|
+
import { useTalkMeter as w } from "./hooks/use-talk-meter.js";
|
5
|
+
import n from "./ripple/index.js";
|
6
|
+
import { Wrapper as x, CloseIcon as S } from "./talk-meter-styled.js";
|
7
|
+
import j from "./talk-meter-view/talk-meter-view.js";
|
8
|
+
const B = y((m) => {
|
9
|
+
const {
|
10
|
+
animated: t = !0,
|
11
|
+
userType: a,
|
12
|
+
teacherId: l,
|
13
|
+
studentId: d,
|
14
|
+
studentName: h,
|
15
|
+
teacherName: T,
|
16
|
+
teacherGender: p,
|
17
|
+
classStartTime: u,
|
18
|
+
canDisplayBatch: f,
|
19
|
+
teacherTalkTime: k,
|
20
|
+
studentTalkTime: A,
|
21
|
+
avPackageEnabled: M,
|
22
|
+
teacherClassroomId: N,
|
23
|
+
lastBatchReceivedNo: I,
|
24
|
+
onDismissMeter: R,
|
25
|
+
onMessageReceive: C
|
26
|
+
} = m, { canAnimateOut: D, canAnimateIn: r, stdRatio: o, tchRatio: E, handleDismiss: $ } = w({
|
27
|
+
userType: a,
|
28
|
+
studentId: d,
|
29
|
+
teacherId: l,
|
30
|
+
classStartTime: u,
|
31
|
+
avPackageEnabled: M,
|
32
|
+
teacherClassroomId: N,
|
33
|
+
teacherTalkTime: k,
|
34
|
+
studentTalkTime: A,
|
35
|
+
lastBatchReceivedNo: I,
|
36
|
+
canDisplayBatch: f,
|
37
|
+
onMessageReceive: C,
|
38
|
+
onDismissMeter: R
|
39
|
+
}), i = v(o), s = a === "TEACHER";
|
40
|
+
return /* @__PURE__ */ c(
|
41
|
+
x,
|
42
|
+
{
|
43
|
+
$isTeacher: s,
|
44
|
+
$animated: t,
|
45
|
+
$canAnimateIn: r,
|
46
|
+
$canAnimateOut: D,
|
47
|
+
children: [
|
48
|
+
t && r && /* @__PURE__ */ c(g, { children: [
|
49
|
+
/* @__PURE__ */ e(n, { delay: 800, withAudio: !0, color: i.STUDENT }),
|
50
|
+
/* @__PURE__ */ e(n, { delay: 1050, withAudio: !1, color: i.STUDENT })
|
51
|
+
] }),
|
52
|
+
/* @__PURE__ */ e(
|
53
|
+
j,
|
54
|
+
{
|
55
|
+
userType: a,
|
56
|
+
tchName: T,
|
57
|
+
stdName: h,
|
58
|
+
tchRatio: E,
|
59
|
+
stdRatio: o,
|
60
|
+
tchGender: p
|
61
|
+
}
|
62
|
+
),
|
63
|
+
t && !s && /* @__PURE__ */ e(S, { onClick: $ })
|
64
|
+
]
|
65
|
+
}
|
66
|
+
);
|
67
|
+
}), V = B;
|
68
|
+
export {
|
69
|
+
V as default
|
70
|
+
};
|
71
|
+
//# sourceMappingURL=talk-meter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"talk-meter.js","sources":["../../../src/features/talk-meter/talk-meter.tsx"],"sourcesContent":["import type { ITalkMeterProps } from './talk-meter-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport { getMeterColor } from './helper';\nimport { useTalkMeter } from './hooks/use-talk-meter';\nimport Ripple from './ripple';\nimport * as Styled from './talk-meter-styled';\nimport TalkMeterView from './talk-meter-view/talk-meter-view';\n\nconst TalkMeter: FC<ITalkMeterProps> = memo(props => {\n const {\n animated = true,\n userType,\n teacherId,\n studentId,\n studentName,\n teacherName,\n teacherGender,\n classStartTime,\n canDisplayBatch,\n teacherTalkTime,\n studentTalkTime,\n avPackageEnabled,\n teacherClassroomId,\n lastBatchReceivedNo,\n onDismissMeter,\n onMessageReceive,\n } = props;\n\n const { canAnimateOut, canAnimateIn, stdRatio, tchRatio, handleDismiss } = useTalkMeter({\n userType,\n studentId,\n teacherId,\n classStartTime,\n avPackageEnabled,\n teacherClassroomId,\n teacherTalkTime,\n studentTalkTime,\n lastBatchReceivedNo,\n canDisplayBatch,\n onMessageReceive,\n onDismissMeter,\n });\n\n const colors = getMeterColor(stdRatio);\n const isTeacher = userType === 'TEACHER';\n\n return (\n <Styled.Wrapper\n $isTeacher={isTeacher}\n $animated={animated}\n $canAnimateIn={canAnimateIn}\n $canAnimateOut={canAnimateOut}\n >\n {animated && canAnimateIn && (\n <>\n <Ripple delay={800} withAudio color={colors.STUDENT} />\n <Ripple delay={1050} withAudio={false} color={colors.STUDENT} />\n </>\n )}\n <TalkMeterView\n userType={userType}\n tchName={teacherName}\n stdName={studentName}\n tchRatio={tchRatio}\n stdRatio={stdRatio}\n tchGender={teacherGender}\n />\n {animated && !isTeacher && <Styled.CloseIcon onClick={handleDismiss} />}\n </Styled.Wrapper>\n );\n});\n\nexport default TalkMeter;\n"],"names":["TalkMeter","memo","props","animated","userType","teacherId","studentId","studentName","teacherName","teacherGender","classStartTime","canDisplayBatch","teacherTalkTime","studentTalkTime","avPackageEnabled","teacherClassroomId","lastBatchReceivedNo","onDismissMeter","onMessageReceive","canAnimateOut","canAnimateIn","stdRatio","tchRatio","handleDismiss","useTalkMeter","colors","getMeterColor","isTeacher","jsxs","Styled.Wrapper","Fragment","jsx","Ripple","TalkMeterView","Styled.CloseIcon","TalkMeter$1"],"mappings":";;;;;;;AAWA,MAAMA,IAAiCC,EAAK,CAASC,MAAA;AAC7C,QAAA;AAAA,IACJ,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,kBAAAC;AAAA,EACE,IAAAhB,GAEE,EAAE,eAAAiB,GAAe,cAAAC,GAAc,UAAAC,GAAU,UAAAC,GAAU,eAAAC,MAAkBC,EAAa;AAAA,IACtF,UAAApB;AAAA,IACA,WAAAE;AAAA,IACA,WAAAD;AAAA,IACA,gBAAAK;AAAA,IACA,kBAAAI;AAAA,IACA,oBAAAC;AAAA,IACA,iBAAAH;AAAA,IACA,iBAAAC;AAAA,IACA,qBAAAG;AAAA,IACA,iBAAAL;AAAA,IACA,kBAAAO;AAAA,IACA,gBAAAD;AAAA,EAAA,CACD,GAEKQ,IAASC,EAAcL,CAAQ,GAC/BM,IAAYvB,MAAa;AAG7B,SAAA,gBAAAwB;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,YAAYF;AAAA,MACZ,WAAWxB;AAAA,MACX,eAAeiB;AAAA,MACf,gBAAgBD;AAAA,MAEf,UAAA;AAAA,QAAAhB,KAAYiB,KAET,gBAAAQ,EAAAE,GAAA,EAAA,UAAA;AAAA,UAAA,gBAAAC,EAACC,KAAO,OAAO,KAAK,WAAS,IAAC,OAAOP,EAAO,SAAS;AAAA,UACrD,gBAAAM,EAACC,KAAO,OAAO,MAAM,WAAW,IAAO,OAAOP,EAAO,SAAS;AAAA,QAAA,GAChE;AAAA,QAEF,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAA7B;AAAA,YACA,SAASI;AAAA,YACT,SAASD;AAAA,YACT,UAAAe;AAAA,YACA,UAAAD;AAAA,YACA,WAAWZ;AAAA,UAAA;AAAA,QACb;AAAA,QACCN,KAAY,CAACwB,KAAa,gBAAAI,EAACG,GAAA,EAAiB,SAASX,GAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3E,CAAC,GAEDY,IAAenC;"}
|
@@ -1,27 +1,27 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { useCallback as
|
3
|
-
import
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
2
|
+
import { useCallback as c } from "react";
|
3
|
+
import d from "../tab/tab.js";
|
4
4
|
const u = ({
|
5
|
-
renderAs:
|
6
|
-
size:
|
7
|
-
label:
|
5
|
+
renderAs: a = "primary",
|
6
|
+
size: o = "regular",
|
7
|
+
label: t,
|
8
8
|
selected: i,
|
9
|
-
width:
|
9
|
+
width: s,
|
10
10
|
onSelect: r,
|
11
11
|
grade: e
|
12
12
|
}) => {
|
13
|
-
const
|
13
|
+
const l = c(() => {
|
14
14
|
r(e);
|
15
15
|
}, [e, r]);
|
16
|
-
return /* @__PURE__ */
|
17
|
-
|
16
|
+
return /* @__PURE__ */ m(
|
17
|
+
d,
|
18
18
|
{
|
19
|
-
label:
|
19
|
+
label: t,
|
20
20
|
$selected: i,
|
21
|
-
$width:
|
22
|
-
$renderAs:
|
23
|
-
$size:
|
24
|
-
onClick:
|
21
|
+
$width: s,
|
22
|
+
$renderAs: a,
|
23
|
+
$size: o,
|
24
|
+
onClick: l
|
25
25
|
}
|
26
26
|
);
|
27
27
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"grade-tab.js","sources":["../../../../src/features/ui/grade-selector/grade-tab.tsx"],"sourcesContent":["import type { IGradeTabProps } from './grade-selector-types';\n\nimport React, { useCallback } from 'react';\n\nimport Tab from '../tab/tab';\n\nconst GradeTab: React.FC<IGradeTabProps> = ({\n renderAs = 'primary',\n size = 'regular',\n label,\n selected,\n width,\n onSelect,\n grade,\n}) => {\n const handleClick = useCallback(() => {\n onSelect(grade);\n }, [grade, onSelect]);\n\n return (\n <Tab\n label={label}\n $selected={selected}\n $width={width}\n $renderAs={renderAs}\n $size={size}\n onClick={handleClick}\n />\n );\n};\n\nexport default GradeTab;\n"],"names":["GradeTab","renderAs","size","label","selected","width","onSelect","grade","handleClick","useCallback","jsx","Tab"],"mappings":";;;AAMA,MAAMA,IAAqC,CAAC;AAAA,EAC1C,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAH,EAASC,CAAK;AAAA,EAAA,GACb,CAACA,GAAOD,CAAQ,CAAC;AAGlB,SAAA,gBAAAI;AAAA,IAACC;
|
1
|
+
{"version":3,"file":"grade-tab.js","sources":["../../../../src/features/ui/grade-selector/grade-tab.tsx"],"sourcesContent":["import type { IGradeTabProps } from './grade-selector-types';\n\nimport React, { useCallback } from 'react';\n\nimport Tab from '../tab/tab';\n\nconst GradeTab: React.FC<IGradeTabProps> = ({\n renderAs = 'primary',\n size = 'regular',\n label,\n selected,\n width,\n onSelect,\n grade,\n}) => {\n const handleClick = useCallback(() => {\n onSelect(grade);\n }, [grade, onSelect]);\n\n return (\n <Tab\n label={label}\n $selected={selected}\n $width={width}\n $renderAs={renderAs}\n $size={size}\n onClick={handleClick}\n />\n );\n};\n\nexport default GradeTab;\n"],"names":["GradeTab","renderAs","size","label","selected","width","onSelect","grade","handleClick","useCallback","jsx","Tab"],"mappings":";;;AAMA,MAAMA,IAAqC,CAAC;AAAA,EAC1C,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAH,EAASC,CAAK;AAAA,EAAA,GACb,CAACA,GAAOD,CAAQ,CAAC;AAGlB,SAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAR;AAAA,MACA,WAAWC;AAAA,MACX,QAAQC;AAAA,MACR,WAAWJ;AAAA,MACX,OAAOC;AAAA,MACP,SAASM;AAAA,IAAA;AAAA,EAAA;AAGf;"}
|
@@ -2,19 +2,20 @@ import x from "styled-components";
|
|
2
2
|
import s from "../layout/flex-view.js";
|
3
3
|
const k = x(s)(({
|
4
4
|
theme: v,
|
5
|
+
$width: e,
|
5
6
|
$selected: i,
|
6
7
|
$size: p,
|
7
|
-
$renderAs:
|
8
|
-
$disabled: r
|
9
|
-
$shape: e
|
8
|
+
$renderAs: g,
|
9
|
+
$disabled: r
|
10
10
|
}) => {
|
11
|
-
const { colors: o, tab:
|
11
|
+
const { colors: o, tab: h, layout: d } = v, { sizes: l, variants: b } = h, { height: u, paddingHorizontal: m } = l[p], { backgroundColorName: t, colorName: a, borderColorName: n, fontWeight: c } = b[g];
|
12
12
|
return `
|
13
|
-
|
13
|
+
width: ${e ? `${e}px` : "auto"};
|
14
|
+
height:${u}px;
|
14
15
|
padding:0 ${m}px;
|
16
|
+
border-radius:8px;
|
15
17
|
cursor:${r ? "not-allowed" : "pointer"};
|
16
|
-
margin:${
|
17
|
-
border-radius: ${e === "curved" ? "50px" : "8px"};
|
18
|
+
margin:${d.gutter * 0.5}px;
|
18
19
|
border:1px solid ${r ? o[n.disabled] : i ? o[n.active] : o[n.inactive]};
|
19
20
|
background-color: ${r ? o[t.disabled] : i ? o[t.active] : o[t.inactive]};
|
20
21
|
& div{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-styled.js","sources":["../../../../src/features/ui/tab/tab-styled.tsx"],"sourcesContent":["import type { ITabWrapperProps } from './tab-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\nconst TabWrapper = styled(FlexView)<ITabWrapperProps>(({\n theme,\n $selected,\n $size,\n $renderAs,\n $disabled,\n
|
1
|
+
{"version":3,"file":"tab-styled.js","sources":["../../../../src/features/ui/tab/tab-styled.tsx"],"sourcesContent":["import type { ITabWrapperProps } from './tab-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\nconst TabWrapper = styled(FlexView)<ITabWrapperProps>(({\n theme,\n $width,\n $selected,\n $size,\n $renderAs,\n $disabled,\n}) => {\n const { colors, tab, layout } = theme;\n const { sizes, variants } = tab;\n const { height, paddingHorizontal } = sizes[$size];\n const { backgroundColorName, colorName, borderColorName, fontWeight } = variants[$renderAs];\n\n return `\n width: ${$width ? `${$width}px` : 'auto'};\n height:${height}px;\n padding:0 ${paddingHorizontal}px;\n border-radius:8px;\n cursor:${$disabled ? 'not-allowed' : 'pointer'};\n margin:${layout.gutter * 0.5}px;\n border:1px solid ${\n $disabled\n ? colors[borderColorName.disabled]\n : $selected\n ? colors[borderColorName.active]\n : colors[borderColorName.inactive]\n };\n background-color: ${\n $disabled\n ? colors[backgroundColorName.disabled]\n : $selected\n ? colors[backgroundColorName.active]\n : colors[backgroundColorName.inactive]\n };\n & div{\n font-weight:${\n $disabled ? fontWeight.disabled : $selected ? fontWeight.active : fontWeight.inactive\n };\n color: ${\n $disabled\n ? colors[colorName.disabled]\n : $selected\n ? colors[colorName.active]\n : colors[colorName.inactive]\n };\n }\n &:hover {\n background-color:${\n $disabled\n ? colors[backgroundColorName.disabled]\n : $selected\n ? colors[backgroundColorName.active]\n : colors[backgroundColorName.hover]\n };\n border-color: ${\n $disabled\n ? colors[borderColorName.disabled]\n : $selected\n ? colors[borderColorName.active]\n : colors[borderColorName.hover]\n };\n & div{\n font-weight:${fontWeight.hover};\n color:${\n $disabled\n ? colors[colorName.disabled]\n : $selected\n ? colors[colorName.active]\n : colors[colorName.hover]\n };\n } \n }\n `;\n});\n\nexport { TabWrapper };\n"],"names":["TabWrapper","styled","FlexView","theme","$width","$selected","$size","$renderAs","$disabled","colors","tab","layout","sizes","variants","height","paddingHorizontal","backgroundColorName","colorName","borderColorName","fontWeight"],"mappings":";;AAMA,MAAMA,IAAaC,EAAOC,CAAQ,EAAoB,CAAC;AAAA,EACrD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,EAAE,QAAAC,GAAQ,KAAAC,GAAK,QAAAC,EAAA,IAAWR,GAC1B,EAAE,OAAAS,GAAO,UAAAC,EAAa,IAAAH,GACtB,EAAE,QAAAI,GAAQ,mBAAAC,EAAkB,IAAIH,EAAMN,CAAK,GAC3C,EAAE,qBAAAU,GAAqB,WAAAC,GAAW,iBAAAC,GAAiB,YAAAC,MAAeN,EAASN,CAAS;AAEnF,SAAA;AAAA,eACMH,IAAS,GAAGA,CAAM,OAAO,MAAM;AAAA,eAC/BU,CAAM;AAAA,kBACHC,CAAiB;AAAA;AAAA,eAEpBP,IAAY,gBAAgB,SAAS;AAAA,eACrCG,EAAO,SAAS,GAAG;AAAA,yBAE1BH,IACIC,EAAOS,EAAgB,QAAQ,IAC/Bb,IACEI,EAAOS,EAAgB,MAAM,IAC7BT,EAAOS,EAAgB,QAAQ,CACvC;AAAA,0BAEEV,IACIC,EAAOO,EAAoB,QAAQ,IACnCX,IACEI,EAAOO,EAAoB,MAAM,IACjCP,EAAOO,EAAoB,QAAQ,CAC3C;AAAA;AAAA,sBAGIR,IAAYW,EAAW,WAAWd,IAAYc,EAAW,SAASA,EAAW,QAC/E;AAAA,iBAEEX,IACIC,EAAOQ,EAAU,QAAQ,IACzBZ,IACEI,EAAOQ,EAAU,MAAM,IACvBR,EAAOQ,EAAU,QAAQ,CACjC;AAAA;AAAA;AAAA,2BAIET,IACIC,EAAOO,EAAoB,QAAQ,IACnCX,IACEI,EAAOO,EAAoB,MAAM,IACjCP,EAAOO,EAAoB,KAAK,CACxC;AAAA,wBAEER,IACIC,EAAOS,EAAgB,QAAQ,IAC/Bb,IACEI,EAAOS,EAAgB,MAAM,IAC7BT,EAAOS,EAAgB,KAAK,CACpC;AAAA;AAAA,wBAEgBC,EAAW,KAAK;AAAA,kBAE5BX,IACIC,EAAOQ,EAAU,QAAQ,IACzBZ,IACEI,EAAOQ,EAAU,MAAM,IACvBR,EAAOQ,EAAU,KAAK,CAC9B;AAAA;AAAA;AAAA;AAIV,CAAC;"}
|
@@ -1,40 +1,35 @@
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
2
|
-
import {
|
3
|
-
import
|
4
|
-
import
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
children: /* @__PURE__ */ e(u, { $renderAs: s[r].textVariant, color: t ? "WHITE" : "BLACK", children: m })
|
33
|
-
}
|
34
|
-
);
|
35
|
-
}
|
36
|
-
), $ = l;
|
2
|
+
import { useTheme as s } from "styled-components";
|
3
|
+
import c from "../text/text.js";
|
4
|
+
import { TabWrapper as f } from "./tab-styled.js";
|
5
|
+
const T = ({
|
6
|
+
$renderAs: o = "primary",
|
7
|
+
$size: r = "regular",
|
8
|
+
label: n,
|
9
|
+
$selected: t,
|
10
|
+
$width: a,
|
11
|
+
$disabled: m,
|
12
|
+
onClick: i
|
13
|
+
}) => {
|
14
|
+
const {
|
15
|
+
tab: { sizes: p }
|
16
|
+
} = s();
|
17
|
+
return /* @__PURE__ */ e(
|
18
|
+
f,
|
19
|
+
{
|
20
|
+
$selected: t,
|
21
|
+
$width: a,
|
22
|
+
onClick: i,
|
23
|
+
$size: r,
|
24
|
+
$renderAs: o,
|
25
|
+
$disabled: m,
|
26
|
+
$justifyContent: "center",
|
27
|
+
$alignItems: "center",
|
28
|
+
children: /* @__PURE__ */ e(c, { $renderAs: p[r].textVariant, color: t ? "WHITE" : "BLACK", children: n })
|
29
|
+
}
|
30
|
+
);
|
31
|
+
}, d = T;
|
37
32
|
export {
|
38
|
-
|
33
|
+
d as default
|
39
34
|
};
|
40
35
|
//# sourceMappingURL=tab.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/tab/tab.tsx"],"sourcesContent":["import type { ITabProps } from './tab-types';\n\nimport React
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/tab/tab.tsx"],"sourcesContent":["import type { ITabProps } from './tab-types';\n\nimport React from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Text from '../text/text';\nimport * as Styled from './tab-styled';\n\nconst TabComponent: React.FC<ITabProps> = ({\n $renderAs = 'primary',\n $size = 'regular',\n label,\n $selected,\n $width,\n $disabled,\n onClick,\n}) => {\n const {\n tab: { sizes },\n } = useTheme();\n\n return (\n <Styled.TabWrapper\n $selected={$selected}\n $width={$width}\n onClick={onClick}\n $size={$size}\n $renderAs={$renderAs}\n $disabled={$disabled}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <Text $renderAs={sizes[$size].textVariant} color={$selected ? 'WHITE' : 'BLACK'}>\n {label}\n </Text>\n </Styled.TabWrapper>\n );\n};\n\nexport default TabComponent;\n"],"names":["TabComponent","$renderAs","$size","label","$selected","$width","$disabled","onClick","sizes","useTheme","jsx","Styled.TabWrapper","Text","Tab"],"mappings":";;;;AAQA,MAAMA,IAAoC,CAAC;AAAA,EACzC,WAAAC,IAAY;AAAA,EACZ,OAAAC,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAK,EAAE,OAAAC,EAAM;AAAA,MACXC,EAAS;AAGX,SAAA,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAAP;AAAA,MACA,QAAAC;AAAA,MACA,SAAAE;AAAA,MACA,OAAAL;AAAA,MACA,WAAAD;AAAA,MACA,WAAAK;AAAA,MACA,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEZ,UAAA,gBAAAI,EAACE,GAAK,EAAA,WAAWJ,EAAMN,CAAK,EAAE,aAAa,OAAOE,IAAY,UAAU,SACrE,UACHD,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAU,IAAeb;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../../src/features/ui/theme/tab.ts"],"sourcesContent":["import type { ITabSizeConfig, ITabVariantConfig, TTabSizes, TTabVariants } from '../types';\n\ninterface IGetTabConfig {\n (gutter: number): {\n sizes: Record<TTabSizes, ITabSizeConfig>;\n variants: Record<TTabVariants, ITabVariantConfig>;\n };\n}\n\nconst getTabConfig: IGetTabConfig = (gutter: number) => {\n const sizes: Record<TTabSizes, ITabSizeConfig> = {\n xsmall: {\n height: gutter * 1.625,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body3',\n },\n small: {\n height: gutter * 2,\n paddingHorizontal: gutter * 0.5,\n textVariant: 'body2',\n },\n regular: {\n height: gutter * 2.5,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n medium: {\n height: gutter * 3,\n paddingHorizontal: gutter,\n textVariant: 'body1',\n },\n };\n\n const variants: Record<TTabVariants, ITabVariantConfig> = {\n primary: {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n hover: 'WHITE',\n disabled: 'GREY_1',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n hover: 'BLACK',\n disabled: 'BLACK_50',\n },\n borderColorName: {\n inactive: 'GREY_3',\n active: 'BLACK',\n hover: 'BLACK',\n disabled: 'GREY_1',\n },\n fontWeight: {\n inactive: 400,\n active: 500,\n hover: 500,\n disabled: 400,\n },\n },\n };\n\n return { sizes, variants };\n};\n\nexport default getTabConfig;\n"],"names":["getTabConfig","gutter"],"mappings":"AASM,MAAAA,IAA8B,CAACC,OAqD5B,EAAE,OApDwC;AAAA,EAC/C,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,QAAQA,IAAS;AAAA,IACjB,mBAAmBA,IAAS;AAAA,IAC5B,aAAa;AAAA,EACf;AAAA,EACA,SAAS;AAAA,IACP,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,QAAQA,IAAS;AAAA,IACjB,mBAAmBA;AAAA,IACnB,aAAa;AAAA,EACf;AAAA,GAgCc,UA7B0C;AAAA,EACxD,SAAS;AAAA,IACP,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AAAA;"}
|