@cuemath/leap 3.2.21-m → 3.2.22-m
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 +1 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/star3.js +32 -0
- package/dist/assets/line-icons/icons/star3.js.map +1 -0
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +19 -12
- package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +1 -1
- package/dist/features/chapters-v2/constants/block-constants.js +3 -2
- package/dist/features/chapters-v2/constants/block-constants.js.map +1 -1
- package/dist/features/chapters-v2/utils/index.js +6 -4
- package/dist/features/chapters-v2/utils/index.js.map +1 -1
- package/dist/features/chapters-v2/utils/node-card-utils.js +4 -0
- package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
- package/dist/features/sheets/constants/sheet.js +2 -1
- package/dist/features/sheets/constants/sheet.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile.js +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js +7 -50
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +15 -69
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +49 -0
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -0
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +64 -0
- package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -0
- package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js +28 -0
- package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +1 -0
- package/dist/features/ui/accordion/accordion-items/accordion-items.js +83 -0
- package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -0
- package/dist/features/ui/accordion/accordion.js +62 -0
- package/dist/features/ui/accordion/accordion.js.map +1 -0
- package/dist/features/ui/buttons/button/button.js +41 -38
- package/dist/features/ui/buttons/button/button.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button.js +31 -27
- package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
- package/dist/features/ui/buttons/text-button/text-button.js +26 -22
- package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation-styled.js +9 -0
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation-styled.js.map +1 -0
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +65 -0
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -0
- package/dist/features/ui/grade-selector/grade-selector.js +33 -27
- package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input.js +11 -11
- package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input.js +19 -18
- package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
- package/dist/features/ui/modals/modal-styled.js +42 -8
- package/dist/features/ui/modals/modal-styled.js.map +1 -1
- package/dist/features/ui/modals/modal.js +37 -27
- package/dist/features/ui/modals/modal.js.map +1 -1
- package/dist/features/ui/tab/tab.js +30 -26
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/text/text.js +31 -29
- package/dist/features/ui/text/text.js.map +1 -1
- package/dist/features/ui/theme/clrs.js +2 -0
- package/dist/features/ui/theme/clrs.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.js +13 -12
- package/dist/features/worksheet/worksheet/constants.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +260 -246
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +28 -37
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +164 -166
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/index.d.ts +105 -5
- package/dist/index.js +637 -625
- package/dist/index.js.map +1 -1
- package/dist/node_modules/@lottiefiles/dotlottie-web/dist/index.js +1881 -0
- package/dist/node_modules/@lottiefiles/dotlottie-web/dist/index.js.map +1 -0
- package/dist/static/stripe-blurple.6abf422f.svg +1 -0
- package/package.json +1 -1
package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
import r from "styled-components";
|
2
|
+
import e from "../../../../ui/image/image.js";
|
3
|
+
import t from "../../../../ui/layout/flex-view.js";
|
4
|
+
const l = r(e)`
|
5
|
+
object-fit: cover;
|
6
|
+
`, c = r.div(
|
7
|
+
({ theme: o }) => `
|
8
|
+
flex: 1;
|
9
|
+
display: grid;
|
10
|
+
border-left: 1px solid ${o.colors.BLACK_T_87};
|
11
|
+
grid-template-columns: repeat(2, 1fr);
|
12
|
+
grid-template-rows: auto auto auto;
|
13
|
+
`
|
14
|
+
), h = r(t)(
|
15
|
+
({ theme: o }) => `
|
16
|
+
border: 0.5px solid ${o.colors.WHITE_5};
|
17
|
+
&:first-child,
|
18
|
+
&:nth-child(2) {
|
19
|
+
grid-column: span 1;
|
20
|
+
}
|
21
|
+
&:nth-child(3),
|
22
|
+
&:nth-child(4) {
|
23
|
+
grid-column: span 2;
|
24
|
+
}
|
25
|
+
&:first-child {
|
26
|
+
border-left: none;
|
27
|
+
border-top: none;
|
28
|
+
}
|
29
|
+
&:nth-child(2) {
|
30
|
+
border-right: none;
|
31
|
+
border-top: none;
|
32
|
+
}
|
33
|
+
&:nth-child(3) {
|
34
|
+
border-left: none;
|
35
|
+
border-right: none;
|
36
|
+
}
|
37
|
+
&:nth-child(4) {
|
38
|
+
border-left: none;
|
39
|
+
border-right: none;
|
40
|
+
border-bottom: none;
|
41
|
+
}
|
42
|
+
`
|
43
|
+
);
|
44
|
+
export {
|
45
|
+
c as GridContainer,
|
46
|
+
h as GridItem,
|
47
|
+
l as ProfilePicture
|
48
|
+
};
|
49
|
+
//# sourceMappingURL=teacher-profile-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"teacher-profile-styled.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ProfilePicture = styled(Image)`\n object-fit: cover;\n`;\n\nconst GridContainer = styled.div(\n ({ theme }) => `\n flex: 1;\n display: grid;\n border-left: 1px solid ${theme.colors.BLACK_T_87};\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: auto auto auto;\n`,\n);\n\nconst GridItem = styled(FlexView)(\n ({ theme }) => `\n border: 0.5px solid ${theme.colors.WHITE_5};\n &:first-child,\n &:nth-child(2) {\n grid-column: span 1;\n }\n &:nth-child(3),\n &:nth-child(4) {\n grid-column: span 2;\n }\n &:first-child {\n border-left: none;\n border-top: none;\n }\n &:nth-child(2) {\n border-right: none;\n border-top: none;\n }\n &:nth-child(3) {\n border-left: none;\n border-right: none;\n }\n &:nth-child(4) {\n border-left: none;\n border-right: none;\n border-bottom: none;\n }\n`,\n);\n\nexport { ProfilePicture, GridContainer, GridItem };\n"],"names":["ProfilePicture","styled","Image","GridContainer","theme","GridItem","FlexView"],"mappings":";;;AAKM,MAAAA,IAAiBC,EAAOC,CAAK;AAAA;AAAA,GAI7BC,IAAgBF,EAAO;AAAA,EAC3B,CAAC,EAAE,OAAAG,EAAA,MAAY;AAAA;AAAA;AAAA,2BAGUA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAIlD,GAEMC,IAAWJ,EAAOK,CAAQ;AAAA,EAC9B,CAAC,EAAE,OAAAF,EAAA,MAAY;AAAA,wBACOA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2B5C;"}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { jsxs as e, jsx as r } from "react/jsx-runtime";
|
2
|
+
import { memo as G, useMemo as T } from "react";
|
3
|
+
import C from "../../../../ui/image/image.js";
|
4
|
+
import a from "../../../../ui/layout/flex-view.js";
|
5
|
+
import j from "../../../../ui/separator/separator.js";
|
6
|
+
import t from "../../../../ui/text/text.js";
|
7
|
+
import { COUNTRY_FLAGS as k } from "../teacher-intro-constants.js";
|
8
|
+
import { ProfilePicture as I, GridContainer as S, GridItem as i } from "./teacher-profile-styled.js";
|
9
|
+
const O = G(({ teacherProfile: s }) => {
|
10
|
+
const {
|
11
|
+
degree: f,
|
12
|
+
countries: o,
|
13
|
+
lower_grade: c,
|
14
|
+
higher_grade: n,
|
15
|
+
header_image: u,
|
16
|
+
years_of_experience: g,
|
17
|
+
number_of_students_taught: m
|
18
|
+
} = s || {}, { degree_name: d, field_of_study: l } = f || {}, $ = Object.values(k), h = n && parseInt(n, 10) > 8, p = T(() => h ? "High School" : ` ${c === "K" ? "" : "G"}${c} - G${n}`, [h, n, c]);
|
19
|
+
return /* @__PURE__ */ e(a, { $flexDirection: "row", $borderColor: "BLACK_T_87", $background: "WHITE_3", children: [
|
20
|
+
/* @__PURE__ */ r(I, { withLoader: !0, src: u, width: 350, height: 350 }),
|
21
|
+
/* @__PURE__ */ e(S, { children: [
|
22
|
+
/* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
|
23
|
+
/* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
|
24
|
+
g,
|
25
|
+
"+"
|
26
|
+
] }),
|
27
|
+
/* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Yrs of Teaching Experience" })
|
28
|
+
] }),
|
29
|
+
/* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
|
30
|
+
/* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
|
31
|
+
m,
|
32
|
+
"+"
|
33
|
+
] }),
|
34
|
+
/* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Students Taught" })
|
35
|
+
] }),
|
36
|
+
d && l && /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
|
37
|
+
/* @__PURE__ */ r(t, { $renderAs: "ab1-black", children: d }),
|
38
|
+
/* @__PURE__ */ e(t, { $renderAs: "ub3", children: [
|
39
|
+
"In ",
|
40
|
+
l
|
41
|
+
] })
|
42
|
+
] }),
|
43
|
+
/* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
|
44
|
+
/* @__PURE__ */ e(t, { $renderAs: "ab1-black", children: [
|
45
|
+
"Teaching ",
|
46
|
+
p,
|
47
|
+
" kids in"
|
48
|
+
] }),
|
49
|
+
/* @__PURE__ */ r(j, { height: 12 }),
|
50
|
+
/* @__PURE__ */ r(a, { $flexDirection: "row", $flexGap: 16, $flexWrap: !0, children: o && o.length > 0 && o.map((b) => {
|
51
|
+
const _ = $.find((w) => w.name === b), { flag_icon: x = "", label: y, name: A } = _ || {};
|
52
|
+
return /* @__PURE__ */ e(a, { $flexDirection: "row", $flexGap: 4, children: [
|
53
|
+
/* @__PURE__ */ r(C, { src: x, width: 30, height: 20, withLoader: !1 }),
|
54
|
+
/* @__PURE__ */ r(t, { $renderAs: "ab3-black", children: y })
|
55
|
+
] }, A);
|
56
|
+
}) })
|
57
|
+
] })
|
58
|
+
] })
|
59
|
+
] });
|
60
|
+
}), W = O;
|
61
|
+
export {
|
62
|
+
W as default
|
63
|
+
};
|
64
|
+
//# sourceMappingURL=teacher-profile.js.map
|
package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"teacher-profile.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.tsx"],"sourcesContent":["import type { ITeacherProfileDetails } from '../../../trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\n\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 { COUNTRY_FLAGS } from '../teacher-intro-constants';\nimport * as Styled from './teacher-profile-styled';\n\ninterface ITeacherProfileProps {\n teacherProfile?: ITeacherProfileDetails;\n}\n\nconst TeacherProfile: FC<ITeacherProfileProps> = memo(({ teacherProfile }) => {\n const {\n degree,\n countries,\n lower_grade: lowerGrade,\n higher_grade: higherGrade,\n header_image: headerImage,\n years_of_experience: yearsOfExperience,\n number_of_students_taught: numberOfStudentsTaught,\n } = teacherProfile || {};\n const { degree_name: degreeName, field_of_study: fieldOfStudy } = degree || {};\n\n const countryFlagArray = Object.values(COUNTRY_FLAGS);\n const isHighSchool = higherGrade && parseInt(higherGrade, 10) > 8;\n\n const displayGrade = useMemo(() => {\n return isHighSchool\n ? 'High School'\n : ` ${lowerGrade === 'K' ? '' : 'G'}${lowerGrade} - G${higherGrade}`;\n }, [isHighSchool, higherGrade, lowerGrade]);\n\n return (\n <FlexView $flexDirection=\"row\" $borderColor=\"BLACK_T_87\" $background=\"WHITE_3\">\n <Styled.ProfilePicture withLoader src={headerImage} width={350} height={350} />\n <Styled.GridContainer>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{yearsOfExperience}+</Text>\n <Text $renderAs=\"ub3\">Yrs of Teaching Experience</Text>\n </Styled.GridItem>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{numberOfStudentsTaught}+</Text>\n <Text $renderAs=\"ub3\">Students Taught</Text>\n </Styled.GridItem>\n {degreeName && fieldOfStudy && (\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">{degreeName}</Text>\n <Text $renderAs=\"ub3\">In {fieldOfStudy}</Text>\n </Styled.GridItem>\n )}\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">Teaching {displayGrade} kids in</Text>\n <Separator height={12} />\n <FlexView $flexDirection=\"row\" $flexGap={16} $flexWrap>\n {countries &&\n countries.length > 0 &&\n countries.map(country => {\n const countryFlag = countryFlagArray.find(item => item.name === country);\n const { flag_icon: flagIcon = '', label, name } = countryFlag || {};\n\n return (\n <FlexView key={name} $flexDirection=\"row\" $flexGap={4}>\n <Image src={flagIcon} width={30} height={20} withLoader={false} />\n <Text $renderAs=\"ab3-black\">{label}</Text>\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.GridItem>\n </Styled.GridContainer>\n </FlexView>\n );\n});\n\nexport default TeacherProfile;\n"],"names":["TeacherProfile","memo","teacherProfile","degree","countries","lowerGrade","higherGrade","headerImage","yearsOfExperience","numberOfStudentsTaught","degreeName","fieldOfStudy","countryFlagArray","COUNTRY_FLAGS","isHighSchool","displayGrade","useMemo","FlexView","jsx","Styled.ProfilePicture","jsxs","Styled.GridContainer","Styled.GridItem","Text","Separator","country","countryFlag","item","flagIcon","label","name","Image","TeacherProfile$1"],"mappings":";;;;;;;;AAgBA,MAAMA,IAA2CC,EAAK,CAAC,EAAE,gBAAAC,QAAqB;AACtE,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAaC;AAAA,IACb,cAAcC;AAAA,IACd,cAAcC;AAAA,IACd,qBAAqBC;AAAA,IACrB,2BAA2BC;AAAA,EAAA,IACzBP,KAAkB,CAAA,GAChB,EAAE,aAAaQ,GAAY,gBAAgBC,EAAa,IAAIR,KAAU,IAEtES,IAAmB,OAAO,OAAOC,CAAa,GAC9CC,IAAeR,KAAe,SAASA,GAAa,EAAE,IAAI,GAE1DS,IAAeC,EAAQ,MACpBF,IACH,gBACA,IAAIT,MAAe,MAAM,KAAK,GAAG,GAAGA,CAAU,OAAOC,CAAW,IACnE,CAACQ,GAAcR,GAAaD,CAAU,CAAC;AAE1C,2BACGY,GAAS,EAAA,gBAAe,OAAM,cAAa,cAAa,aAAY,WACnE,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAsB,YAAU,IAAC,KAAKZ,GAAa,OAAO,KAAK,QAAQ,IAAK,CAAA;AAAA,IAC7E,gBAAAa,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAD,EAACE,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAa,UAAA;AAAA,UAAAf;AAAA,UAAkB;AAAA,QAAA,GAAC;AAAA,QAC/C,gBAAAU,EAAAK,GAAA,EAAK,WAAU,OAAM,UAA0B,8BAAA;AAAA,MAAA,GAClD;AAAA,wBACCD,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAa,UAAA;AAAA,UAAAd;AAAA,UAAuB;AAAA,QAAA,GAAC;AAAA,QACpD,gBAAAS,EAAAK,GAAA,EAAK,WAAU,OAAM,UAAe,mBAAA;AAAA,MAAA,GACvC;AAAA,MACCb,KAAcC,KACZ,gBAAAS,EAAAE,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAJ,EAAAK,GAAA,EAAK,WAAU,aAAa,UAAWb,GAAA;AAAA,QACxC,gBAAAU,EAACG,GAAK,EAAA,WAAU,OAAM,UAAA;AAAA,UAAA;AAAA,UAAIZ;AAAA,QAAA,GAAa;AAAA,MAAA,GACzC;AAAA,wBAEDW,GAAA,EAAgB,iBAAgB,UAAS,SAAS,IACjD,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,aAAY,UAAA;AAAA,UAAA;AAAA,UAAUR;AAAA,UAAa;AAAA,QAAA,GAAQ;AAAA,QAC3D,gBAAAG,EAACM,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,QACtB,gBAAAN,EAAAD,GAAA,EAAS,gBAAe,OAAM,UAAU,IAAI,WAAS,IACnD,UAAAb,KACCA,EAAU,SAAS,KACnBA,EAAU,IAAI,CAAWqB,MAAA;AACvB,gBAAMC,IAAcd,EAAiB,KAAK,CAAQe,MAAAA,EAAK,SAASF,CAAO,GACjE,EAAE,WAAWG,IAAW,IAAI,OAAAC,GAAO,MAAAC,EAAK,IAAIJ,KAAe;AAEjE,iBACG,gBAAAN,EAAAH,GAAA,EAAoB,gBAAe,OAAM,UAAU,GAClD,UAAA;AAAA,YAAC,gBAAAC,EAAAa,GAAA,EAAM,KAAKH,GAAU,OAAO,IAAI,QAAQ,IAAI,YAAY,GAAO,CAAA;AAAA,YAC/D,gBAAAV,EAAAK,GAAA,EAAK,WAAU,aAAa,UAAMM,GAAA;AAAA,UAAA,EAAA,GAFtBC,CAGf;AAAA,QAEH,CAAA,GACL;AAAA,MAAA,GACF;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDE,IAAehC;"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import o from "styled-components";
|
2
|
+
import r from "../../../../assets/line-icons/icons/plus.js";
|
3
|
+
import t from "../../layout/flex-view.js";
|
4
|
+
const a = o(t)(
|
5
|
+
({ $index: e, $visible: i, $accordionBorderColor: n }) => `
|
6
|
+
border-bottom: 1px solid ${n};
|
7
|
+
${e === 0 ? `border-top: 1px solid ${n};` : ""}
|
8
|
+
display: ${i ? "flex" : "none"};
|
9
|
+
`
|
10
|
+
), c = o(t)`
|
11
|
+
cursor: pointer;
|
12
|
+
`, m = o.div`
|
13
|
+
max-height: 0;
|
14
|
+
overflow: hidden;
|
15
|
+
transition: all 0.3s ease-in-out;
|
16
|
+
`, p = o(t)`
|
17
|
+
width: 100%;
|
18
|
+
`, x = o(r)`
|
19
|
+
transition: all 0.3s ease-in-out;
|
20
|
+
`;
|
21
|
+
export {
|
22
|
+
m as AccordionAnswer,
|
23
|
+
c as AccordionItemContainer,
|
24
|
+
a as Container,
|
25
|
+
p as ContentContainer,
|
26
|
+
x as StyledPlusIcon
|
27
|
+
};
|
28
|
+
//# sourceMappingURL=accordion-items-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"accordion-items-styled.js","sources":["../../../../../src/features/ui/accordion/accordion-items/accordion-items-styled.ts"],"sourcesContent":["import type { ContainerProps } from '../accordion-types';\n\nimport styled from 'styled-components';\n\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport FlexView from '../../layout/flex-view';\n\nconst Container = styled(FlexView)<ContainerProps>(\n ({ $index, $visible, $accordionBorderColor }) => `\n border-bottom: 1px solid ${$accordionBorderColor};\n ${$index === 0 ? `border-top: 1px solid ${$accordionBorderColor};` : ''}\n display: ${$visible ? 'flex' : 'none'};\n`,\n);\n\nconst AccordionItemContainer = styled(FlexView)`\n cursor: pointer;\n`;\n\nconst AccordionAnswer = styled.div`\n max-height: 0;\n overflow: hidden;\n transition: all 0.3s ease-in-out;\n`;\n\nconst ContentContainer = styled(FlexView)`\n width: 100%;\n`;\n\nconst StyledPlusIcon = styled(PlusIcon)`\n transition: all 0.3s ease-in-out;\n`;\n\nexport { Container, AccordionItemContainer, AccordionAnswer, ContentContainer, StyledPlusIcon };\n"],"names":["Container","styled","FlexView","$index","$visible","$accordionBorderColor","AccordionItemContainer","AccordionAnswer","ContentContainer","StyledPlusIcon","PlusIcon"],"mappings":";;;AAOM,MAAAA,IAAYC,EAAOC,CAAQ;AAAA,EAC/B,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,uBAAAC,EAA4B,MAAA;AAAA,6BACtBA,CAAqB;AAAA,IAC9CF,MAAW,IAAI,yBAAyBE,CAAqB,MAAM,EAAE;AAAA,aAC5DD,IAAW,SAAS,MAAM;AAAA;AAEvC,GAEME,IAAyBL,EAAOC,CAAQ;AAAA;AAAA,GAIxCK,IAAkBN,EAAO;AAAA;AAAA;AAAA;AAAA,GAMzBO,IAAmBP,EAAOC,CAAQ;AAAA;AAAA,GAIlCO,IAAiBR,EAAOS,CAAQ;AAAA;AAAA;"}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
2
|
+
import { memo as C, useCallback as p } from "react";
|
3
|
+
import { useTheme as u } from "styled-components";
|
4
|
+
import b from "../../layout/flex-view.js";
|
5
|
+
import x from "../../separator/separator.js";
|
6
|
+
import s from "../../text/text.js";
|
7
|
+
import { EDeviceType as I } from "../../theme/constants.js";
|
8
|
+
import { Container as g, ContentContainer as w, AccordionItemContainer as T, StyledPlusIcon as y, AccordionAnswer as B } from "./accordion-items-styled.js";
|
9
|
+
const M = C((d) => {
|
10
|
+
const { item: o, index: r, theme: m, refList: a, iconRef: f, visible: $, handleToggle: c } = d, { device: h } = u(), l = h === I.MOBILE, n = m === "dark", A = p(() => {
|
11
|
+
c(r);
|
12
|
+
}, [c, r]);
|
13
|
+
return /* @__PURE__ */ e(
|
14
|
+
g,
|
15
|
+
{
|
16
|
+
$flexDirection: "column",
|
17
|
+
$justifyContent: "center",
|
18
|
+
$alignItems: "flex-start",
|
19
|
+
$index: r,
|
20
|
+
$visible: $,
|
21
|
+
onClick: A,
|
22
|
+
$accordionBorderColor: n ? "WHITE" : "BLACK",
|
23
|
+
children: /* @__PURE__ */ t(
|
24
|
+
w,
|
25
|
+
{
|
26
|
+
$flexDirection: "column",
|
27
|
+
$justifyContent: "center",
|
28
|
+
$alignItems: "flex-start",
|
29
|
+
$gap: 24,
|
30
|
+
children: [
|
31
|
+
/* @__PURE__ */ t(
|
32
|
+
T,
|
33
|
+
{
|
34
|
+
$width: "100%",
|
35
|
+
$flexDirection: "row",
|
36
|
+
$justifyContent: "space-between",
|
37
|
+
$alignItems: "center",
|
38
|
+
children: [
|
39
|
+
/* @__PURE__ */ e(s, { $renderAs: "ab1", $renderOnMobileAs: "ab2", $color: n ? "WHITE" : "BLACK", children: o.accordionQuestion + o.accordionQuestion }),
|
40
|
+
/* @__PURE__ */ e(b, { children: /* @__PURE__ */ e(
|
41
|
+
y,
|
42
|
+
{
|
43
|
+
color: n ? "WHITE" : "BLACK",
|
44
|
+
width: l ? 24 : 40,
|
45
|
+
height: l ? 24 : 40,
|
46
|
+
ref: (i) => {
|
47
|
+
f[r] = i;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
) })
|
51
|
+
]
|
52
|
+
}
|
53
|
+
),
|
54
|
+
/* @__PURE__ */ t(
|
55
|
+
B,
|
56
|
+
{
|
57
|
+
ref: (i) => {
|
58
|
+
a[r] = i;
|
59
|
+
},
|
60
|
+
children: [
|
61
|
+
/* @__PURE__ */ e(x, { height: 12 }),
|
62
|
+
typeof o.accordionAnswer == "string" ? /* @__PURE__ */ e(
|
63
|
+
s,
|
64
|
+
{
|
65
|
+
$renderAs: "ub2-bold",
|
66
|
+
$renderOnMobileAs: "ub3-bold",
|
67
|
+
$color: n ? "WHITE" : "BLACK",
|
68
|
+
children: o.accordionAnswer
|
69
|
+
}
|
70
|
+
) : o.accordionAnswer
|
71
|
+
]
|
72
|
+
}
|
73
|
+
)
|
74
|
+
]
|
75
|
+
}
|
76
|
+
)
|
77
|
+
}
|
78
|
+
);
|
79
|
+
});
|
80
|
+
export {
|
81
|
+
M as default
|
82
|
+
};
|
83
|
+
//# sourceMappingURL=accordion-items.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"accordion-items.js","sources":["../../../../../src/features/ui/accordion/accordion-items/accordion-items.tsx"],"sourcesContent":["import type { AccordionItemProps } from '../accordion-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport FlexView from '../../layout/flex-view';\nimport Separator from '../../separator/separator';\nimport Text from '../../text/text';\nimport { EDeviceType } from '../../theme/constants';\nimport * as Styled from './accordion-items-styled';\n\nconst AccordionItem: FC<AccordionItemProps> = memo(props => {\n const { item, index, theme, refList, iconRef, visible, handleToggle } = props;\n const { device } = useTheme();\n const isMobile = device === EDeviceType.MOBILE;\n const isDarkTheme = theme === 'dark';\n\n const handleClick = useCallback(() => {\n handleToggle(index);\n }, [handleToggle, index]);\n\n return (\n <Styled.Container\n $flexDirection=\"column\"\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $index={index}\n $visible={visible}\n onClick={handleClick}\n $accordionBorderColor={isDarkTheme ? 'WHITE' : 'BLACK'}\n >\n <Styled.ContentContainer\n $flexDirection=\"column\"\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $gap={24}\n >\n <Styled.AccordionItemContainer\n $width=\"100%\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n <Text $renderAs=\"ab1\" $renderOnMobileAs=\"ab2\" $color={isDarkTheme ? 'WHITE' : 'BLACK'}>\n {item.accordionQuestion + item.accordionQuestion}\n </Text>\n <FlexView>\n <Styled.StyledPlusIcon\n color={isDarkTheme ? 'WHITE' : 'BLACK'}\n width={isMobile ? 24 : 40}\n height={isMobile ? 24 : 40}\n ref={node => {\n iconRef[index] = node;\n }}\n />\n </FlexView>\n </Styled.AccordionItemContainer>\n\n <Styled.AccordionAnswer\n ref={node => {\n refList[index] = node;\n }}\n >\n <Separator height={12} />\n {typeof item.accordionAnswer === 'string' ? (\n <Text\n $renderAs=\"ub2-bold\"\n $renderOnMobileAs=\"ub3-bold\"\n $color={isDarkTheme ? 'WHITE' : 'BLACK'}\n >\n {item.accordionAnswer}\n </Text>\n ) : (\n item.accordionAnswer\n )}\n </Styled.AccordionAnswer>\n </Styled.ContentContainer>\n </Styled.Container>\n );\n});\n\nexport default AccordionItem;\n"],"names":["AccordionItem","memo","props","item","index","theme","refList","iconRef","visible","handleToggle","device","useTheme","isMobile","EDeviceType","isDarkTheme","handleClick","useCallback","jsx","Styled.Container","jsxs","Styled.ContentContainer","Styled.AccordionItemContainer","Text","FlexView","Styled.StyledPlusIcon","node","Styled.AccordionAnswer","Separator"],"mappings":";;;;;;;;AAYM,MAAAA,IAAwCC,EAAK,CAASC,MAAA;AACpD,QAAA,EAAE,MAAAC,GAAM,OAAAC,GAAO,OAAAC,GAAO,SAAAC,GAAS,SAAAC,GAAS,SAAAC,GAAS,cAAAC,EAAiB,IAAAP,GAClE,EAAE,QAAAQ,MAAWC,KACbC,IAAWF,MAAWG,EAAY,QAClCC,IAAcT,MAAU,QAExBU,IAAcC,EAAY,MAAM;AACpC,IAAAP,EAAaL,CAAK;AAAA,EAAA,GACjB,CAACK,GAAcL,CAAK,CAAC;AAGtB,SAAA,gBAAAa;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MACZ,QAAQd;AAAA,MACR,UAAUI;AAAA,MACV,SAASO;AAAA,MACT,uBAAuBD,IAAc,UAAU;AAAA,MAE/C,UAAA,gBAAAK;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAY;AAAA,UACZ,MAAM;AAAA,UAEN,UAAA;AAAA,YAAA,gBAAAD;AAAA,cAACE;AAAAA,cAAA;AAAA,gBACC,QAAO;AAAA,gBACP,gBAAe;AAAA,gBACf,iBAAgB;AAAA,gBAChB,aAAY;AAAA,gBAEZ,UAAA;AAAA,kBAAA,gBAAAJ,EAACK,GAAK,EAAA,WAAU,OAAM,mBAAkB,OAAM,QAAQR,IAAc,UAAU,SAC3E,UAAAX,EAAK,oBAAoBA,EAAK,mBACjC;AAAA,oCACCoB,GACC,EAAA,UAAA,gBAAAN;AAAA,oBAACO;AAAAA,oBAAA;AAAA,sBACC,OAAOV,IAAc,UAAU;AAAA,sBAC/B,OAAOF,IAAW,KAAK;AAAA,sBACvB,QAAQA,IAAW,KAAK;AAAA,sBACxB,KAAK,CAAQa,MAAA;AACX,wBAAAlB,EAAQH,CAAK,IAAIqB;AAAA,sBACnB;AAAA,oBAAA;AAAA,kBAAA,GAEJ;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,YAEA,gBAAAN;AAAA,cAACO;AAAAA,cAAA;AAAA,gBACC,KAAK,CAAQD,MAAA;AACX,kBAAAnB,EAAQF,CAAK,IAAIqB;AAAA,gBACnB;AAAA,gBAEA,UAAA;AAAA,kBAAC,gBAAAR,EAAAU,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,kBACtB,OAAOxB,EAAK,mBAAoB,WAC/B,gBAAAc;AAAA,oBAACK;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,mBAAkB;AAAA,sBAClB,QAAQR,IAAc,UAAU;AAAA,sBAE/B,UAAKX,EAAA;AAAA,oBAAA;AAAA,sBAGRA,EAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YAET;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { jsxs as k, jsx as f } from "react/jsx-runtime";
|
2
|
+
import { memo as C, useState as $, useMemo as b, useCallback as m, useEffect as x } from "react";
|
3
|
+
import H from "../layout/flex-view.js";
|
4
|
+
import R from "../separator/separator.js";
|
5
|
+
import V from "../text/text.js";
|
6
|
+
import w from "./accordion-items/accordion-items.js";
|
7
|
+
const y = C((S) => {
|
8
|
+
const { theme: p = "light", visibleBuffer: i, accordionData: c, defaultOpenElement: v = -1 } = S, [l, g] = $(i), [o, E] = $(v), r = b(() => [], []), s = b(() => [], []), T = p === "dark", A = m(() => {
|
9
|
+
g((e) => e < c.length ? c.length : i);
|
10
|
+
}, [c.length, i]), n = m((e, t) => {
|
11
|
+
e instanceof HTMLDivElement ? e.style.maxHeight = t ? `${e.scrollHeight}px` : "0px" : e instanceof SVGSVGElement && (e.style.transform = t ? "rotateZ(45deg)" : "rotateZ(0deg)");
|
12
|
+
}, []), D = m(
|
13
|
+
(e) => {
|
14
|
+
const t = r[e], h = s[e];
|
15
|
+
if (!t || !h) return;
|
16
|
+
const a = o === e, L = a ? -1 : e;
|
17
|
+
if (o !== -1 && o !== e) {
|
18
|
+
const u = r[o], d = s[o];
|
19
|
+
u && d && (n(u, !1), n(d, !1));
|
20
|
+
}
|
21
|
+
n(t, !a), n(h, !a), E(L);
|
22
|
+
},
|
23
|
+
[r, s, o, n]
|
24
|
+
);
|
25
|
+
return x(() => {
|
26
|
+
g(i);
|
27
|
+
}, [i]), x(() => {
|
28
|
+
o !== -1 && r[o] && s[o] && (n(r[o], !0), n(s[o], !0));
|
29
|
+
}, [l, o, r, s, n]), /* @__PURE__ */ k(H, { $flexDirection: "column", children: [
|
30
|
+
c.map((e, t) => /* @__PURE__ */ f(
|
31
|
+
w,
|
32
|
+
{
|
33
|
+
item: e,
|
34
|
+
index: t,
|
35
|
+
handleToggle: D,
|
36
|
+
refList: r,
|
37
|
+
iconRef: s,
|
38
|
+
visible: t < l,
|
39
|
+
theme: p
|
40
|
+
},
|
41
|
+
`${e.accordionQuestion}-${t}`
|
42
|
+
)),
|
43
|
+
/* @__PURE__ */ f(R, { height: 24 }),
|
44
|
+
/* @__PURE__ */ f(
|
45
|
+
V,
|
46
|
+
{
|
47
|
+
$renderAs: "ub3-bold",
|
48
|
+
$align: "center",
|
49
|
+
$textDecoration: "underline",
|
50
|
+
$marginBottom: 24,
|
51
|
+
onClick: A,
|
52
|
+
$color: T ? "WHITE" : "BLACK",
|
53
|
+
$cursor: "pointer",
|
54
|
+
children: l < c.length ? "See More" : "See Less"
|
55
|
+
}
|
56
|
+
)
|
57
|
+
] });
|
58
|
+
}), Z = y;
|
59
|
+
export {
|
60
|
+
Z as default
|
61
|
+
};
|
62
|
+
//# sourceMappingURL=accordion.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"accordion.js","sources":["../../../../src/features/ui/accordion/accordion.tsx"],"sourcesContent":["import type { AccordionProps } from './accordion-types';\n\nimport { useCallback, useEffect, useMemo, useState, memo } from 'react';\n\nimport FlexView from '../layout/flex-view';\nimport Separator from '../separator/separator';\nimport Text from '../text/text';\nimport AccordionItem from './accordion-items/accordion-items';\n\nconst Accordion = memo<AccordionProps>(props => {\n const { theme = 'light', visibleBuffer, accordionData, defaultOpenElement = -1 } = props;\n const [visible, setVisible] = useState(visibleBuffer);\n const [openIndex, setOpenIndex] = useState<number>(defaultOpenElement);\n const refList = useMemo<(HTMLDivElement | null)[]>(() => [], []);\n const iconRef = useMemo<(SVGSVGElement | null)[]>(() => [], []);\n const isDarkTheme = theme === 'dark';\n\n const handleShowToggle = useCallback(() => {\n setVisible(prev => (prev < accordionData.length ? accordionData.length : visibleBuffer));\n }, [accordionData.length, visibleBuffer]);\n\n const animateElement = useCallback((element: HTMLElement | SVGElement, isOpen: boolean) => {\n if (element instanceof HTMLDivElement) {\n element.style.maxHeight = isOpen ? `${element.scrollHeight}px` : '0px';\n } else if (element instanceof SVGSVGElement) {\n element.style.transform = isOpen ? 'rotateZ(45deg)' : 'rotateZ(0deg)';\n }\n }, []);\n\n const handleToggle = useCallback(\n (currentIndex: number) => {\n const currentRefList = refList[currentIndex];\n const currentIconRef = iconRef[currentIndex];\n\n if (!currentRefList || !currentIconRef) return;\n\n const isCurrentlyOpen = openIndex === currentIndex;\n const newOpenIndex = isCurrentlyOpen ? -1 : currentIndex;\n\n // Close previously open item\n if (openIndex !== -1 && openIndex !== currentIndex) {\n const prevRef = refList[openIndex];\n const prevIcon = iconRef[openIndex];\n\n if (prevRef && prevIcon) {\n animateElement(prevRef, false);\n animateElement(prevIcon, false);\n }\n }\n\n // Toggle current item\n animateElement(currentRefList, !isCurrentlyOpen);\n animateElement(currentIconRef, !isCurrentlyOpen);\n\n setOpenIndex(newOpenIndex);\n },\n [refList, iconRef, openIndex, animateElement],\n );\n\n useEffect(() => {\n setVisible(visibleBuffer);\n }, [visibleBuffer]);\n\n useEffect(() => {\n if (openIndex !== -1 && refList[openIndex] && iconRef[openIndex]) {\n animateElement(refList[openIndex]!, true);\n animateElement(iconRef[openIndex]!, true);\n }\n }, [visible, openIndex, refList, iconRef, animateElement]);\n\n return (\n <FlexView $flexDirection=\"column\">\n {accordionData.map((item, index) => (\n <AccordionItem\n key={`${item.accordionQuestion}-${index}`}\n item={item}\n index={index}\n handleToggle={handleToggle}\n refList={refList}\n iconRef={iconRef}\n visible={index < visible}\n theme={theme}\n />\n ))}\n <Separator height={24} />\n <Text\n $renderAs=\"ub3-bold\"\n $align=\"center\"\n $textDecoration=\"underline\"\n $marginBottom={24}\n onClick={handleShowToggle}\n $color={isDarkTheme ? 'WHITE' : 'BLACK'}\n $cursor=\"pointer\"\n >\n {visible < accordionData.length ? 'See More' : 'See Less'}\n </Text>\n </FlexView>\n );\n});\n\nexport default Accordion;\n"],"names":["Accordion","memo","props","theme","visibleBuffer","accordionData","defaultOpenElement","visible","setVisible","useState","openIndex","setOpenIndex","refList","useMemo","iconRef","isDarkTheme","handleShowToggle","useCallback","prev","animateElement","element","isOpen","handleToggle","currentIndex","currentRefList","currentIconRef","isCurrentlyOpen","newOpenIndex","prevRef","prevIcon","useEffect","jsxs","FlexView","item","index","jsx","AccordionItem","Separator","Text","Accordion$1"],"mappings":";;;;;;AASA,MAAMA,IAAYC,EAAqB,CAASC,MAAA;AAC9C,QAAM,EAAE,OAAAC,IAAQ,SAAS,eAAAC,GAAe,eAAAC,GAAe,oBAAAC,IAAqB,GAAO,IAAAJ,GAC7E,CAACK,GAASC,CAAU,IAAIC,EAASL,CAAa,GAC9C,CAACM,GAAWC,CAAY,IAAIF,EAAiBH,CAAkB,GAC/DM,IAAUC,EAAmC,MAAM,CAAC,GAAG,CAAE,CAAA,GACzDC,IAAUD,EAAkC,MAAM,CAAC,GAAG,CAAE,CAAA,GACxDE,IAAcZ,MAAU,QAExBa,IAAmBC,EAAY,MAAM;AACzC,IAAAT,EAAW,OAASU,IAAOb,EAAc,SAASA,EAAc,SAASD,CAAc;AAAA,EACtF,GAAA,CAACC,EAAc,QAAQD,CAAa,CAAC,GAElCe,IAAiBF,EAAY,CAACG,GAAmCC,MAAoB;AACzF,IAAID,aAAmB,iBACrBA,EAAQ,MAAM,YAAYC,IAAS,GAAGD,EAAQ,YAAY,OAAO,QACxDA,aAAmB,kBACpBA,EAAA,MAAM,YAAYC,IAAS,mBAAmB;AAAA,EAE1D,GAAG,CAAE,CAAA,GAECC,IAAeL;AAAA,IACnB,CAACM,MAAyB;AAClB,YAAAC,IAAiBZ,EAAQW,CAAY,GACrCE,IAAiBX,EAAQS,CAAY;AAEvC,UAAA,CAACC,KAAkB,CAACC,EAAgB;AAExC,YAAMC,IAAkBhB,MAAca,GAChCI,IAAeD,IAAkB,KAAKH;AAGxC,UAAAb,MAAc,MAAMA,MAAca,GAAc;AAC5C,cAAAK,IAAUhB,EAAQF,CAAS,GAC3BmB,IAAWf,EAAQJ,CAAS;AAElC,QAAIkB,KAAWC,MACbV,EAAeS,GAAS,EAAK,GAC7BT,EAAeU,GAAU,EAAK;AAAA,MAElC;AAGe,MAAAV,EAAAK,GAAgB,CAACE,CAAe,GAChCP,EAAAM,GAAgB,CAACC,CAAe,GAE/Cf,EAAagB,CAAY;AAAA,IAC3B;AAAA,IACA,CAACf,GAASE,GAASJ,GAAWS,CAAc;AAAA,EAAA;AAG9C,SAAAW,EAAU,MAAM;AACd,IAAAtB,EAAWJ,CAAa;AAAA,EAAA,GACvB,CAACA,CAAa,CAAC,GAElB0B,EAAU,MAAM;AACd,IAAIpB,MAAc,MAAME,EAAQF,CAAS,KAAKI,EAAQJ,CAAS,MAC9CS,EAAAP,EAAQF,CAAS,GAAI,EAAI,GACzBS,EAAAL,EAAQJ,CAAS,GAAI,EAAI;AAAA,EAC1C,GACC,CAACH,GAASG,GAAWE,GAASE,GAASK,CAAc,CAAC,GAGvD,gBAAAY,EAACC,GAAS,EAAA,gBAAe,UACtB,UAAA;AAAA,IAAc3B,EAAA,IAAI,CAAC4B,GAAMC,MACxB,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QAEC,MAAAH;AAAA,QACA,OAAAC;AAAA,QACA,cAAAZ;AAAA,QACA,SAAAV;AAAA,QACA,SAAAE;AAAA,QACA,SAASoB,IAAQ3B;AAAA,QACjB,OAAAJ;AAAA,MAAA;AAAA,MAPK,GAAG8B,EAAK,iBAAiB,IAAIC,CAAK;AAAA,IAAA,CAS1C;AAAA,IACD,gBAAAC,EAACE,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,QAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,eAAe;AAAA,QACf,SAAStB;AAAA,QACT,QAAQD,IAAc,UAAU;AAAA,QAChC,SAAQ;AAAA,QAEP,UAAAR,IAAUF,EAAc,SAAS,aAAa;AAAA,MAAA;AAAA,IACjD;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDkC,IAAevC;"}
|
@@ -1,55 +1,58 @@
|
|
1
|
-
import { jsx as t, jsxs as
|
2
|
-
import {
|
3
|
-
import { useTheme as
|
4
|
-
import { ILLUSTRATIONS as
|
5
|
-
import
|
6
|
-
import {
|
7
|
-
|
8
|
-
|
1
|
+
import { jsx as t, jsxs as S, Fragment as T } from "react/jsx-runtime";
|
2
|
+
import { useMemo as g, useCallback as j } from "react";
|
3
|
+
import { useTheme as w } from "styled-components";
|
4
|
+
import { ILLUSTRATIONS as D } from "../../../../assets/illustrations/illustrations.js";
|
5
|
+
import F from "../../hooks/use-click-handler.js";
|
6
|
+
import { EDeviceType as u } from "../../theme/constants.js";
|
7
|
+
import { Button as H, Loader as M, Icon as N, Label as O } from "./button-styled.js";
|
8
|
+
const P = ({
|
9
|
+
label: s,
|
9
10
|
renderAs: o,
|
10
|
-
size:
|
11
|
-
shape:
|
12
|
-
disabled:
|
11
|
+
size: r = "regular",
|
12
|
+
shape: m = "curved",
|
13
|
+
disabled: f = !1,
|
13
14
|
busy: e = !1,
|
14
|
-
width:
|
15
|
-
widthX:
|
16
|
-
Icon:
|
17
|
-
iconPosition:
|
18
|
-
onClick:
|
19
|
-
alignSelf:
|
20
|
-
justifyContent:
|
21
|
-
analyticsLabel:
|
22
|
-
analyticsProps:
|
23
|
-
children:
|
24
|
-
|
15
|
+
width: $,
|
16
|
+
widthX: h,
|
17
|
+
Icon: a,
|
18
|
+
iconPosition: p = "left",
|
19
|
+
onClick: L,
|
20
|
+
alignSelf: B,
|
21
|
+
justifyContent: C = "center",
|
22
|
+
analyticsLabel: k,
|
23
|
+
analyticsProps: A,
|
24
|
+
children: v,
|
25
|
+
sizeOnMobile: d,
|
26
|
+
sizeOnTablet: i,
|
27
|
+
...x
|
25
28
|
}) => {
|
26
|
-
const { button:
|
29
|
+
const { button: E, device: c } = w(), n = g(() => c <= u.MOBILE ? d || i || r : c <= u.TABLET && i || r, [c, r, d, i]), { textVariant: I } = E.sizes[n], { handleClick: l } = F({ label: s, analyticsLabel: k, analyticsProps: A }, L), R = j(() => {
|
27
30
|
if (e) return null;
|
28
31
|
l();
|
29
32
|
}, [e, l]);
|
30
33
|
return /* @__PURE__ */ t(
|
31
|
-
|
34
|
+
H,
|
32
35
|
{
|
33
|
-
disabled:
|
34
|
-
$alignSelf:
|
35
|
-
$justifyContent:
|
36
|
-
$width:
|
37
|
-
$widthX:
|
36
|
+
disabled: f,
|
37
|
+
$alignSelf: B,
|
38
|
+
$justifyContent: C,
|
39
|
+
$width: $,
|
40
|
+
$widthX: h,
|
38
41
|
$renderAs: o,
|
39
42
|
$size: n,
|
40
|
-
$shape:
|
41
|
-
onClick:
|
43
|
+
$shape: m,
|
44
|
+
onClick: R,
|
42
45
|
"data-busy": e,
|
43
|
-
...
|
44
|
-
children: e ? /* @__PURE__ */ t(
|
45
|
-
|
46
|
-
/* @__PURE__ */ t(
|
47
|
-
|
46
|
+
...x,
|
47
|
+
children: e ? /* @__PURE__ */ t(M, { src: D.LOADER, alt: "Loader", $size: n }) : /* @__PURE__ */ S(T, { children: [
|
48
|
+
a ? /* @__PURE__ */ t(N, { $buttonRenderAs: o, $iconPosition: p, $size: n, children: /* @__PURE__ */ t(a, {}) }) : void 0,
|
49
|
+
/* @__PURE__ */ t(O, { $renderAs: I, $buttonRenderAs: o, children: s }),
|
50
|
+
v
|
48
51
|
] })
|
49
52
|
}
|
50
53
|
);
|
51
|
-
},
|
54
|
+
}, K = P;
|
52
55
|
export {
|
53
|
-
|
56
|
+
K as default
|
54
57
|
};
|
55
58
|
//# sourceMappingURL=button.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../../../src/features/ui/buttons/button/button.tsx"],"sourcesContent":["import type { IButtonProps } from './button-types';\n\nimport React, { useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport * as Styled from './button-styled';\n\nconst Button: React.FC<IButtonProps> = ({\n label,\n renderAs,\n size = 'regular',\n shape = 'curved',\n disabled = false,\n busy = false,\n width,\n widthX,\n Icon,\n iconPosition = 'left',\n onClick,\n alignSelf,\n justifyContent = 'center',\n analyticsLabel,\n analyticsProps,\n children,\n ...rest\n}) => {\n const { button } = useTheme();\n const { textVariant } = button.sizes[
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../../../src/features/ui/buttons/button/button.tsx"],"sourcesContent":["import type { IButtonProps } from './button-types';\n\nimport React, { useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { EDeviceType } from '../../theme/constants';\nimport * as Styled from './button-styled';\n\nconst Button: React.FC<IButtonProps> = ({\n label,\n renderAs,\n size = 'regular',\n shape = 'curved',\n disabled = false,\n busy = false,\n width,\n widthX,\n Icon,\n iconPosition = 'left',\n onClick,\n alignSelf,\n justifyContent = 'center',\n analyticsLabel,\n analyticsProps,\n children,\n sizeOnMobile,\n sizeOnTablet,\n ...rest\n}) => {\n const { button, device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n const { textVariant } = button.sizes[renderSize];\n const { handleClick } = useClickHandler({ label, analyticsLabel, analyticsProps }, onClick);\n\n const handleOnClick = useCallback(() => {\n if (busy) return null;\n\n handleClick();\n }, [busy, handleClick]);\n\n return (\n <Styled.Button\n disabled={disabled}\n $alignSelf={alignSelf}\n $justifyContent={justifyContent}\n $width={width}\n $widthX={widthX}\n $renderAs={renderAs}\n $size={renderSize}\n $shape={shape}\n onClick={handleOnClick}\n data-busy={busy}\n {...rest}\n >\n {busy ? (\n <Styled.Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={renderSize} />\n ) : (\n <>\n {Icon ? (\n <Styled.Icon $buttonRenderAs={renderAs} $iconPosition={iconPosition} $size={renderSize}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n\n <Styled.Label $renderAs={textVariant} $buttonRenderAs={renderAs}>\n {label}\n </Styled.Label>\n\n {children}\n </>\n )}\n </Styled.Button>\n );\n};\n\nexport default Button;\n"],"names":["Button","label","renderAs","size","shape","disabled","busy","width","widthX","Icon","iconPosition","onClick","alignSelf","justifyContent","analyticsLabel","analyticsProps","children","sizeOnMobile","sizeOnTablet","rest","button","device","useTheme","renderSize","useMemo","EDeviceType","textVariant","handleClick","useClickHandler","handleOnClick","useCallback","jsx","Styled.Button","Styled.Loader","ILLUSTRATIONS","jsxs","Fragment","Styled.Icon","Styled.Label","Button$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAiC,CAAC;AAAA,EACtC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,UAAAC,IAAW;AAAA,EACX,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,QAAAC;AAAA,EAAA,MACAC;AAAAA,EACA,cAAAC,IAAe;AAAA,EACf,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,QAAAC,GAAQ,QAAAC,EAAO,IAAIC,EAAS,GAC9BC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBR,KAAgBC,KAAgBf,IAGrCkB,KAAUI,EAAY,UACjBP,KAAgBf,GAIxB,CAACkB,GAAQlB,GAAMc,GAAcC,CAAY,CAAC,GAEvC,EAAE,aAAAQ,EAAgB,IAAAN,EAAO,MAAMG,CAAU,GACzC,EAAE,aAAAI,EAAgB,IAAAC,EAAgB,EAAE,OAAA3B,GAAO,gBAAAa,GAAgB,gBAAAC,KAAkBJ,CAAO,GAEpFkB,IAAgBC,EAAY,MAAM;AACtC,QAAIxB,EAAa,QAAA;AAEL,IAAAqB;EAAA,GACX,CAACrB,GAAMqB,CAAW,CAAC;AAGpB,SAAA,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAA3B;AAAA,MACA,YAAYO;AAAA,MACZ,iBAAiBC;AAAA,MACjB,QAAQN;AAAA,MACR,SAASC;AAAA,MACT,WAAWN;AAAA,MACX,OAAOqB;AAAA,MACP,QAAQnB;AAAA,MACR,SAASyB;AAAA,MACT,aAAWvB;AAAA,MACV,GAAGa;AAAA,MAEH,UACCb,IAAA,gBAAAyB,EAACE,GAAA,EAAc,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAOX,EAAY,CAAA,IAGvE,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,QAAA3B,IACE,gBAAAsB,EAAAM,GAAA,EAAY,iBAAiBnC,GAAU,eAAeQ,GAAc,OAAOa,GAC1E,UAAC,gBAAAQ,EAAAtB,GAAA,CAAA,CAAK,GACR,IACE;AAAA,QAEJ,gBAAAsB,EAACO,GAAA,EAAa,WAAWZ,GAAa,iBAAiBxB,GACpD,UACHD,GAAA;AAAA,QAECe;AAAA,MAAA,GACH;AAAA,IAAA;AAAA,EAAA;AAIR,GAEAuB,IAAevC;"}
|
@@ -1,34 +1,38 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { memo as
|
3
|
-
import {
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import {
|
7
|
-
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as b, useMemo as z } from "react";
|
3
|
+
import { useTheme as B } from "styled-components";
|
4
|
+
import { ILLUSTRATIONS as T } from "../../../../assets/illustrations/illustrations.js";
|
5
|
+
import $ from "../../hooks/use-click-handler.js";
|
6
|
+
import { EDeviceType as c } from "../../theme/constants.js";
|
7
|
+
import { Loader as A } from "../button/button-styled.js";
|
8
|
+
import { IconButtonWrapper as C, IconWrapper as O } from "./icon-button-styled.js";
|
9
|
+
const h = b((m) => {
|
8
10
|
const {
|
9
|
-
Icon:
|
10
|
-
size:
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
Icon: l,
|
12
|
+
size: o,
|
13
|
+
sizeOnMobile: n,
|
14
|
+
sizeOnTablet: r,
|
15
|
+
onClick: a,
|
16
|
+
renderAs: i,
|
17
|
+
disabled: u,
|
18
|
+
analyticsLabel: p,
|
19
|
+
analyticsProps: d,
|
20
|
+
customBgColor: f,
|
21
|
+
busy: I
|
22
|
+
} = m, { handleClick: L } = $({ analyticsLabel: p, analyticsProps: d }, a), { device: t } = B(), s = z(() => t <= c.MOBILE ? n || r || o : t <= c.TABLET && r || o, [t, o, n, r]);
|
23
|
+
return /* @__PURE__ */ e(
|
24
|
+
C,
|
21
25
|
{
|
22
|
-
disabled:
|
23
|
-
$size:
|
24
|
-
$buttonRenderAs:
|
25
|
-
onClick:
|
26
|
-
$customBgColor:
|
27
|
-
children:
|
26
|
+
disabled: u,
|
27
|
+
$size: o,
|
28
|
+
$buttonRenderAs: i,
|
29
|
+
onClick: L,
|
30
|
+
$customBgColor: f,
|
31
|
+
children: I ? /* @__PURE__ */ e(A, { src: T.LOADER, alt: "Loader", $size: s || "small" }) : /* @__PURE__ */ e(O, { $size: s, $buttonRenderAs: i, children: /* @__PURE__ */ e(l, {}) })
|
28
32
|
}
|
29
33
|
);
|
30
|
-
}),
|
34
|
+
}), x = h;
|
31
35
|
export {
|
32
|
-
|
36
|
+
x as default
|
33
37
|
};
|
34
38
|
//# sourceMappingURL=icon-button.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"icon-button.js","sources":["../../../../../src/features/ui/buttons/icon-button/icon-button.tsx"],"sourcesContent":["import type { IIconButtonProps } from './icon-button-types';\n\nimport { memo, type FC } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { Loader } from '../button/button-styled';\nimport * as Styled from './icon-button-styled';\n\nconst IconButton: FC<IIconButtonProps> = memo(props => {\n const {\n Icon,\n size,\n onClick,\n renderAs,\n disabled,\n analyticsLabel,\n analyticsProps,\n customBgColor,\n busy,\n } = props;\n const { handleClick } = useClickHandler({ analyticsLabel, analyticsProps }, onClick);\n\n return (\n <Styled.IconButtonWrapper\n disabled={disabled}\n $size={size}\n $buttonRenderAs={renderAs}\n onClick={handleClick}\n $customBgColor={customBgColor}\n >\n {busy ? (\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={
|
1
|
+
{"version":3,"file":"icon-button.js","sources":["../../../../../src/features/ui/buttons/icon-button/icon-button.tsx"],"sourcesContent":["import type { IIconButtonProps } from './icon-button-types';\n\nimport { memo, useMemo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { EDeviceType } from '../../theme/constants';\nimport { Loader } from '../button/button-styled';\nimport * as Styled from './icon-button-styled';\n\nconst IconButton: FC<IIconButtonProps> = memo(props => {\n const {\n Icon,\n size,\n sizeOnMobile,\n sizeOnTablet,\n onClick,\n renderAs,\n disabled,\n analyticsLabel,\n analyticsProps,\n customBgColor,\n busy,\n } = props;\n const { handleClick } = useClickHandler({ analyticsLabel, analyticsProps }, onClick);\n const { device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n return (\n <Styled.IconButtonWrapper\n disabled={disabled}\n $size={size}\n $buttonRenderAs={renderAs}\n onClick={handleClick}\n $customBgColor={customBgColor}\n >\n {busy ? (\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={renderSize || 'small'} />\n ) : (\n <Styled.IconWrapper $size={renderSize} $buttonRenderAs={renderAs}>\n <Icon />\n </Styled.IconWrapper>\n )}\n </Styled.IconButtonWrapper>\n );\n});\n\nexport default IconButton;\n"],"names":["IconButton","memo","props","Icon","size","sizeOnMobile","sizeOnTablet","onClick","renderAs","disabled","analyticsLabel","analyticsProps","customBgColor","busy","handleClick","useClickHandler","device","useTheme","renderSize","useMemo","EDeviceType","jsx","Styled.IconButtonWrapper","Loader","ILLUSTRATIONS","Styled.IconWrapper","IconButton$1"],"mappings":";;;;;;;;AAWA,MAAMA,IAAmCC,EAAK,CAASC,MAAA;AAC/C,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,MAAAC;AAAA,EACE,IAAAX,GACE,EAAE,aAAAY,MAAgBC,EAAgB,EAAE,gBAAAL,GAAgB,gBAAAC,EAAA,GAAkBJ,CAAO,GAC7E,EAAE,QAAAS,MAAWC,KACbC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBf,KAAgBC,KAAgBF,IAGrCY,KAAUI,EAAY,UACjBd,KAAgBF,GAIxB,CAACY,GAAQZ,GAAMC,GAAcC,CAAY,CAAC;AAG3C,SAAA,gBAAAe;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAAb;AAAA,MACA,OAAOL;AAAA,MACP,iBAAiBI;AAAA,MACjB,SAASM;AAAA,MACT,gBAAgBF;AAAA,MAEf,UAAAC,sBACEU,GAAO,EAAA,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAON,KAAc,SAAS,IAE7E,gBAAAG,EAAAI,GAAA,EAAmB,OAAOP,GAAY,iBAAiBV,GACtD,UAAC,gBAAAa,EAAAlB,GAAA,CAAA,CAAK,EACR,CAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC,GAEDuB,IAAe1B;"}
|
@@ -1,30 +1,34 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import {
|
3
|
-
import a from "
|
4
|
-
import {
|
1
|
+
import { jsx as u } from "react/jsx-runtime";
|
2
|
+
import { useMemo as T } from "react";
|
3
|
+
import { useTheme as a } from "styled-components";
|
4
|
+
import { EDeviceType as c } from "../../theme/constants.js";
|
5
|
+
import $ from "../clickable/clickable.js";
|
6
|
+
import { Text as h } from "./text-button-styled.js";
|
5
7
|
const l = ({
|
6
|
-
label:
|
7
|
-
size:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
label: e,
|
9
|
+
size: r = "regular",
|
10
|
+
sizeOnMobile: n,
|
11
|
+
sizeOnTablet: t,
|
12
|
+
disabled: f = !1,
|
13
|
+
onClick: i,
|
14
|
+
analyticsLabel: p,
|
15
|
+
analyticsProps: s,
|
16
|
+
color: x
|
13
17
|
}) => {
|
14
|
-
const { textButton:
|
15
|
-
return /* @__PURE__ */
|
16
|
-
|
18
|
+
const { textButton: d, device: o } = a(), m = T(() => o <= c.MOBILE ? n || t || r : o <= c.TABLET && t || r, [o, r, n, t]), { textVariant: B } = d.sizes[m];
|
19
|
+
return /* @__PURE__ */ u(
|
20
|
+
$,
|
17
21
|
{
|
18
|
-
label:
|
19
|
-
disabled:
|
20
|
-
onClick:
|
21
|
-
analyticsLabel:
|
22
|
-
analyticsProps:
|
23
|
-
children: /* @__PURE__ */
|
22
|
+
label: e,
|
23
|
+
disabled: f,
|
24
|
+
onClick: i,
|
25
|
+
analyticsLabel: p,
|
26
|
+
analyticsProps: s,
|
27
|
+
children: /* @__PURE__ */ u(h, { $color: x, $renderAs: B, $buttonSize: m, children: e })
|
24
28
|
}
|
25
29
|
);
|
26
|
-
},
|
30
|
+
}, j = l;
|
27
31
|
export {
|
28
|
-
|
32
|
+
j as default
|
29
33
|
};
|
30
34
|
//# sourceMappingURL=text-button.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"text-button.js","sources":["../../../../../src/features/ui/buttons/text-button/text-button.tsx"],"sourcesContent":["import type { ITextButtonProps } from './text-button-types';\n\nimport React from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Clickable from '../clickable/clickable';\nimport * as Styled from './text-button-styled';\n\nconst TextButton: React.FC<ITextButtonProps> = ({\n label,\n size = 'regular',\n disabled = false,\n onClick,\n analyticsLabel,\n analyticsProps,\n color,\n}) => {\n const { textButton } = useTheme();\n const { textVariant } = textButton.sizes[
|
1
|
+
{"version":3,"file":"text-button.js","sources":["../../../../../src/features/ui/buttons/text-button/text-button.tsx"],"sourcesContent":["import type { ITextButtonProps } from './text-button-types';\n\nimport React, { useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { EDeviceType } from '../../theme/constants';\nimport Clickable from '../clickable/clickable';\nimport * as Styled from './text-button-styled';\n\nconst TextButton: React.FC<ITextButtonProps> = ({\n label,\n size = 'regular',\n sizeOnMobile,\n sizeOnTablet,\n disabled = false,\n onClick,\n analyticsLabel,\n analyticsProps,\n color,\n}) => {\n const { textButton, device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n const { textVariant } = textButton.sizes[renderSize];\n\n return (\n <Clickable\n label={label}\n disabled={disabled}\n onClick={onClick}\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n >\n <Styled.Text $color={color} $renderAs={textVariant} $buttonSize={renderSize}>\n {label}\n </Styled.Text>\n </Clickable>\n );\n};\n\nexport default TextButton;\n"],"names":["TextButton","label","size","sizeOnMobile","sizeOnTablet","disabled","onClick","analyticsLabel","analyticsProps","color","textButton","device","useTheme","renderSize","useMemo","EDeviceType","textVariant","jsx","Clickable","Styled.Text","TextButton$1"],"mappings":";;;;;;AASA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACJ,QAAM,EAAE,YAAAC,GAAY,QAAAC,EAAO,IAAIC,EAAS,GAClCC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBZ,KAAgBC,KAAgBF,IAGrCS,KAAUI,EAAY,UACjBX,KAAgBF,GAIxB,CAACS,GAAQT,GAAMC,GAAcC,CAAY,CAAC,GAEvC,EAAE,aAAAY,EAAgB,IAAAN,EAAW,MAAMG,CAAU;AAGjD,SAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAjB;AAAA,MACA,UAAAI;AAAA,MACA,SAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MAEA,UAAA,gBAAAS,EAACE,GAAA,EAAY,QAAQV,GAAO,WAAWO,GAAa,aAAaH,GAC9D,UACHZ,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAmB,IAAepB;"}
|