@cuemath/leap 3.2.17-as1 → 3.2.17-j1
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 +5 -0
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/after-noon.js +34 -0
- package/dist/assets/line-icons/icons/after-noon.js.map +1 -0
- package/dist/assets/line-icons/icons/apple-icon-white.js +42 -0
- package/dist/assets/line-icons/icons/apple-icon-white.js.map +1 -0
- package/dist/assets/line-icons/icons/evening.js +35 -0
- package/dist/assets/line-icons/icons/evening.js.map +1 -0
- package/dist/assets/line-icons/icons/morning.js +35 -0
- package/dist/assets/line-icons/icons/morning.js.map +1 -0
- package/dist/assets/lottie/lottie.js +10 -0
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +9 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +52 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +95 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js +10 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text-styled.js.map +1 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js +17 -0
- package/dist/features/auth/comps/animated-avatar-message/animated-text/animated-text.js.map +1 -0
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +18 -13
- package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +12 -0
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +1 -0
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +34 -0
- package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +1 -0
- package/dist/features/auth/comps/otp-input/otp-input-styled.js +22 -0
- package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +1 -0
- package/dist/features/auth/comps/otp-input/otp-input.js +51 -0
- package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -0
- package/dist/features/auth/comps/pill-button/pill-button-styled.js +44 -0
- package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -0
- package/dist/features/auth/comps/pill-button/pill-button.js +75 -0
- package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -0
- package/dist/features/auth/comps/resend-otp/resend-otp.js +54 -47
- package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
- package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +17 -0
- package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +1 -0
- package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +67 -0
- package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -0
- package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +29 -17
- package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
- package/dist/features/auth/comps/tabs/tabs-styled.js +22 -10
- package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
- package/dist/features/auth/comps/tabs/tabs.js +5 -5
- package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +19 -0
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -0
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +32 -0
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -0
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +44 -0
- package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -0
- package/dist/features/auth/pla-signup/signup-header/signup-header.js +54 -0
- package/dist/features/auth/pla-signup/signup-header/signup-header.js.map +1 -0
- package/dist/features/auth/pla-signup/signup-options/signup-options.js +83 -0
- package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +1 -0
- package/dist/features/ui/drawer/drawer-styled.js +34 -0
- package/dist/features/ui/drawer/drawer-styled.js.map +1 -0
- package/dist/features/ui/drawer/drawer.js +42 -0
- package/dist/features/ui/drawer/drawer.js.map +1 -0
- package/dist/features/ui/image/image.js +1 -1
- package/dist/features/ui/image/image.js.map +1 -1
- package/dist/features/ui/theme/button.js +78 -78
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/index.d.ts +119 -33
- package/dist/index.js +474 -452
- package/dist/index.js.map +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/static/animated-avatar.1ad58b1d.json +1 -0
- package/dist/static/animated-avatar.69b07505.json +1 -0
- package/dist/static/animated-avatar.9c560b46.json +1 -0
- package/dist/static/calendar-purple.1a840b41.svg +1 -0
- package/dist/static/flying-disk.c7f6ed39.json +1 -0
- package/dist/static/graduation-cap.3be3340a.json +1 -0
- package/dist/static/handshake.287e7dfb.svg +1 -0
- package/dist/static/light-bulb.c6db0b23.json +1 -0
- package/dist/static/money.332aacf1.svg +1 -0
- package/dist/static/muscle.9bcfb8a7.json +1 -0
- package/dist/static/parent-avatar.822c7b9b.svg +1 -0
- package/dist/static/pencil.23df9da0.json +1 -0
- package/dist/static/plus-sign.de6af957.json +1 -0
- package/dist/static/racing-car.2cbf864e.json +1 -0
- package/dist/static/rocket.0a3ccab0.json +1 -0
- package/dist/static/shovel.abeec04c.json +1 -0
- package/dist/static/trustpilot.bd3d79e1.svg +1 -0
- package/package.json +1 -1
- package/dist/features/ui/carousal/carousal-styles.js +0 -45
- package/dist/features/ui/carousal/carousal-styles.js.map +0 -1
- package/dist/features/ui/carousal/carousal.js +0 -76
- package/dist/features/ui/carousal/carousal.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1,23 +1,35 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
import { jsxs as l, jsx as n } from "react/jsx-runtime";
|
2
|
+
import { memo as s, useCallback as m } from "react";
|
3
|
+
import $ from "../../../../ui/text/text.js";
|
4
|
+
import { TabWrapper as d, Icon as a } from "../tabs-styled.js";
|
5
|
+
const f = ({ tab: o, isSelected: e, onChange: r }) => {
|
6
|
+
const { Icon: t, iconPosition: i = "left" } = o, c = m(() => {
|
7
|
+
r(o.id);
|
8
|
+
}, [o.id, r]);
|
9
|
+
return /* @__PURE__ */ l(
|
10
|
+
d,
|
10
11
|
{
|
11
|
-
$
|
12
|
-
$
|
13
|
-
$
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
$selected: e,
|
13
|
+
$flexDirection: "row",
|
14
|
+
$alignItems: "center",
|
15
|
+
$justifyContent: "center",
|
16
|
+
children: [
|
17
|
+
t ? /* @__PURE__ */ n(a, { $selected: e, $iconPosition: i, children: /* @__PURE__ */ n(t, {}) }) : void 0,
|
18
|
+
/* @__PURE__ */ n(
|
19
|
+
$,
|
20
|
+
{
|
21
|
+
$renderAs: e ? "ub2-bold" : "ub2",
|
22
|
+
$align: "center",
|
23
|
+
onClick: c,
|
24
|
+
$color: "WHITE",
|
25
|
+
children: o.label
|
26
|
+
}
|
27
|
+
)
|
28
|
+
]
|
17
29
|
}
|
18
30
|
);
|
19
|
-
},
|
31
|
+
}, x = s(f);
|
20
32
|
export {
|
21
|
-
|
33
|
+
x as default
|
22
34
|
};
|
23
35
|
//# sourceMappingURL=tab-item.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.
|
1
|
+
{"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport Text from '../../../../ui/text/text';\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const { Icon, iconPosition = 'left' } = tab;\n\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.TabWrapper\n $selected={isSelected}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {Icon ? (\n <Styled.Icon $selected={isSelected} $iconPosition={iconPosition}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n <Text\n $renderAs={isSelected ? 'ub2-bold' : 'ub2'}\n $align=\"center\"\n onClick={handleClick}\n $color=\"WHITE\"\n >\n {tab.label}\n </Text>\n </Styled.TabWrapper>\n );\n};\n\nexport default memo(TabItem);\n"],"names":["TabItem","tab","isSelected","onChange","Icon","iconPosition","handleClick","useCallback","jsxs","Styled.TabWrapper","jsx","Styled.Icon","Text","TabItem$1","memo"],"mappings":";;;;AAOA,MAAMA,IAAU,CAAC,EAAE,KAAAC,GAAK,YAAAC,GAAY,UAAAC,QAA8B;AAChE,QAAM,EAAEC,MAAAA,GAAM,cAAAC,IAAe,OAAA,IAAWJ,GAElCK,IAAcC,EAAY,MAAM;AACpC,IAAAJ,EAASF,EAAI,EAAE;AAAA,EACd,GAAA,CAACA,EAAI,IAAIE,CAAQ,CAAC;AAGnB,SAAA,gBAAAK;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWP;AAAA,MACX,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEf,UAAA;AAAA,QACCE,IAAA,gBAAAM,EAACC,GAAA,EAAY,WAAWT,GAAY,eAAeG,GACjD,UAAA,gBAAAK,EAACN,GAAK,CAAA,CAAA,EACR,CAAA,IACE;AAAA,QACJ,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,WAAWV,IAAa,aAAa;AAAA,YACrC,QAAO;AAAA,YACP,SAASI;AAAA,YACT,QAAO;AAAA,YAEN,UAAIL,EAAA;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeY,IAAAC,EAAKd,CAAO;"}
|
@@ -1,23 +1,35 @@
|
|
1
1
|
import s from "styled-components";
|
2
|
-
import
|
3
|
-
const d = s.div(({ theme:
|
4
|
-
const { colors:
|
2
|
+
import i from "../../../ui/layout/flex-view.js";
|
3
|
+
const d = s.div(({ theme: o, $tabsCount: r, $background: t }) => {
|
4
|
+
const { colors: e } = o;
|
5
5
|
return `
|
6
6
|
display: grid;
|
7
|
-
background: ${t
|
8
|
-
grid-template-columns: repeat(${
|
7
|
+
background: ${e[t]};
|
8
|
+
grid-template-columns: repeat(${r}, 1fr);
|
9
9
|
`;
|
10
|
-
}),
|
11
|
-
const { layout: t, colors: e } =
|
10
|
+
}), c = s(i)(({ theme: o, $selected: r }) => {
|
11
|
+
const { layout: t, colors: e } = o, { WHITE_T_15: n, WHITE: p } = e;
|
12
12
|
return `
|
13
13
|
cursor: pointer;
|
14
14
|
padding: ${t.gutter * 0.875}px 0;
|
15
|
-
border-bottom: 1.5px solid ${
|
15
|
+
border-bottom: 1.5px solid ${r ? p : n};
|
16
16
|
transition: all 0.3s ease;
|
17
17
|
`;
|
18
|
-
})
|
18
|
+
}), g = s.div(({ theme: o, $iconPosition: r, $selected: t }) => `
|
19
|
+
${r === "left" ? "padding-right" : "padding-left"}: 4px;
|
20
|
+
order: ${r === "left" ? -1 : 1};
|
21
|
+
|
22
|
+
& svg {
|
23
|
+
display: ${t ? "block" : "none"};
|
24
|
+
width: 16px;
|
25
|
+
height: 16px;
|
26
|
+
color: ${o.colors.WHITE_1};
|
27
|
+
transition: color 0.2s ease-in-out;
|
28
|
+
}
|
29
|
+
`);
|
19
30
|
export {
|
20
|
-
|
31
|
+
g as Icon,
|
32
|
+
c as TabWrapper,
|
21
33
|
d as TabsWrapper
|
22
34
|
};
|
23
35
|
//# sourceMappingURL=tabs-styled.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport
|
1
|
+
{"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\nimport type { ITabItem } from './tabs-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n $background: TColorNames;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount, $background }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors[$background]};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabWrapper = styled(FlexView)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\ninterface IStyledIconProps {\n $iconPosition: NonNullable<ITabItem['iconPosition']>;\n $selected: boolean;\n}\n\nconst Icon = styled.div<IStyledIconProps>(({ theme, $iconPosition, $selected }) => {\n return `\n ${$iconPosition === 'left' ? 'padding-right' : 'padding-left'}: 4px;\n order: ${$iconPosition === 'left' ? -1 : 1};\n \n & svg {\n display: ${$selected ? 'block' : 'none'};\n width: 16px;\n height: 16px;\n color: ${theme.colors.WHITE_1};\n transition: color 0.2s ease-in-out;\n }\n `;\n});\n\nexport { TabsWrapper, Icon, TabWrapper };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","$background","colors","TabWrapper","FlexView","$selected","layout","WHITE_T_15","WHITE","Icon","$iconPosition"],"mappings":";;AAYM,MAAAA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,GAAY,aAAAC,QAAkB;AACjF,QAAA,EAAE,QAAAC,EAAW,IAAAH;AAEZ,SAAA;AAAA;AAAA,kBAESG,EAAOD,CAAW,CAAC;AAAA,oCACDD,CAAU;AAAA;AAE9C,CAAC,GAMKG,IAAaL,EAAOM,CAAQ,EAAa,CAAC,EAAE,OAAAL,GAAO,WAAAM,QAAgB;AACjE,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAH,GACrB,EAAE,YAAAQ,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC,GAOKE,IAAOX,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,eAAAW,GAAe,WAAAL,QAC1D;AAAA,MACHK,MAAkB,SAAS,kBAAkB,cAAc;AAAA,aACpDA,MAAkB,SAAS,KAAK,CAAC;AAAA;AAAA;AAAA,iBAG7BL,IAAY,UAAU,MAAM;AAAA;AAAA;AAAA,eAG9BN,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA,OAIlC;"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import { TabsWrapper as
|
5
|
-
const
|
2
|
+
import { memo as p } from "react";
|
3
|
+
import s from "./tab-tem/tab-item.js";
|
4
|
+
import { TabsWrapper as a } from "./tabs-styled.js";
|
5
|
+
const n = ({ selectedTab: t, onChange: e, tabs: o, background: i = "BLACK_4" }) => /* @__PURE__ */ m(a, { $tabsCount: o.length, $background: i, children: o.map((r) => /* @__PURE__ */ m(s, { tab: r, isSelected: r.id === t, onChange: e }, r.id)) }), u = p(n);
|
6
6
|
export {
|
7
|
-
|
7
|
+
u as default
|
8
8
|
};
|
9
9
|
//# sourceMappingURL=tabs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs }: ITabsProps) => {\n return (\n <Styled.TabsWrapper $tabsCount={tabs.length}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","jsx","Styled.TabsWrapper","
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../../src/features/auth/comps/tabs/tabs.tsx"],"sourcesContent":["import type { ITabsProps } from './tabs-types';\n\nimport { memo } from 'react';\n\nimport TabItem from './tab-tem/tab-item';\nimport * as Styled from './tabs-styled';\n\nconst Tabs = ({ selectedTab, onChange, tabs, background = 'BLACK_4' }: ITabsProps) => {\n return (\n <Styled.TabsWrapper $tabsCount={tabs.length} $background={background}>\n {tabs.map(tab => (\n <TabItem key={tab.id} tab={tab} isSelected={tab.id === selectedTab} onChange={onChange} />\n ))}\n </Styled.TabsWrapper>\n );\n};\n\nexport default memo(Tabs);\n"],"names":["Tabs","selectedTab","onChange","tabs","background","jsx","Styled.TabsWrapper","TabItem","tab","memo"],"mappings":";;;;AAOA,MAAMA,IAAO,CAAC,EAAE,aAAAC,GAAa,UAAAC,GAAU,MAAAC,GAAM,YAAAC,IAAa,gBAEtD,gBAAAC,EAACC,GAAA,EAAmB,YAAYH,EAAK,QAAQ,aAAaC,GACvD,UAAKD,EAAA,IAAI,OACP,gBAAAE,EAAAE,GAAA,EAAqB,KAAAC,GAAU,YAAYA,EAAI,OAAOP,GAAa,UAAAC,EAAtD,GAAAM,EAAI,EAAsE,CACzF,EACH,CAAA,GAIWL,IAAAM,EAAKT,CAAI;"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { ILLUSTRATIONS as t } from "../../../../assets/illustrations/illustrations.js";
|
2
|
+
const o = [
|
3
|
+
{
|
4
|
+
icon: t.HANDSHAKE,
|
5
|
+
title: "Help us find the right tutor for your child"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
icon: t.CALENDAR_PURPLE,
|
9
|
+
title: "Schedule your FREE class with the tutor"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
icon: t.MONEY,
|
13
|
+
title: "Pay & continue with our flexible classes"
|
14
|
+
}
|
15
|
+
];
|
16
|
+
export {
|
17
|
+
o as onboardingGuideSteps
|
18
|
+
};
|
19
|
+
//# sourceMappingURL=onboarding-guide-constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"onboarding-guide-constants.js","sources":["../../../../../src/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\n\nexport const onboardingGuideSteps = [\n {\n icon: ILLUSTRATIONS.HANDSHAKE,\n title: `Help us find the right tutor for your child`,\n },\n {\n icon: ILLUSTRATIONS.CALENDAR_PURPLE,\n title: `Schedule your FREE class with the tutor`,\n },\n {\n icon: ILLUSTRATIONS.MONEY,\n title: `Pay & continue with our flexible classes`,\n },\n];\n"],"names":["onboardingGuideSteps","ILLUSTRATIONS"],"mappings":";AAEO,MAAMA,IAAuB;AAAA,EAClC;AAAA,IACE,MAAMC,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAMA,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAMA,EAAc;AAAA,IACpB,OAAO;AAAA,EACT;AACF;"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import e from "styled-components";
|
2
|
+
import i from "../../../ui/layout/flex-view.js";
|
3
|
+
const l = e(i)(({ theme: { colors: t, mediaQueries: o } }) => `
|
4
|
+
position: relative;
|
5
|
+
&:not(:last-child)::after {
|
6
|
+
content: '';
|
7
|
+
width: 37px;
|
8
|
+
height: 2px;
|
9
|
+
right: -32px;
|
10
|
+
top: 25px;
|
11
|
+
position: absolute;
|
12
|
+
background-color: ${t.WHITE_T_15};
|
13
|
+
}
|
14
|
+
&:last-child {
|
15
|
+
margin-bottom: 0;
|
16
|
+
}
|
17
|
+
${o.minWidthSmallDesktop} {
|
18
|
+
margin-bottom: 48px;
|
19
|
+
&:not(:last-child)::after {
|
20
|
+
left: 28px;
|
21
|
+
bottom: -36px;
|
22
|
+
right: unset;
|
23
|
+
top: unset;
|
24
|
+
width: 2px;
|
25
|
+
height: 24px;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
`);
|
29
|
+
export {
|
30
|
+
l as StepItem
|
31
|
+
};
|
32
|
+
//# sourceMappingURL=onboarding-guide-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"onboarding-guide-styled.js","sources":["../../../../../src/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const StepItem = styled(FlexView)(({ theme: { colors, mediaQueries } }) => {\n return `\n position: relative;\n &:not(:last-child)::after {\n content: '';\n width: 37px;\n height: 2px;\n right: -32px;\n top: 25px;\n position: absolute;\n background-color: ${colors.WHITE_T_15};\n }\n &:last-child {\n margin-bottom: 0;\n }\n ${mediaQueries.minWidthSmallDesktop} {\n margin-bottom: 48px;\n &:not(:last-child)::after {\n left: 28px;\n bottom: -36px;\n right: unset;\n top: unset;\n width: 2px;\n height: 24px;\n }\n }\n`;\n});\n"],"names":["StepItem","styled","FlexView","colors","mediaQueries"],"mappings":";;AAIa,MAAAA,IAAWC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,QAAAC,GAAQ,cAAAC,EAAa,QACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBASeD,EAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,IAKrCC,EAAa,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAYpC;"}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { useTheme as m } from "styled-components";
|
3
|
+
import t from "../../../ui/layout/flex-view.js";
|
4
|
+
import a from "../../../ui/separator/separator.js";
|
5
|
+
import l from "../../../ui/text/text.js";
|
6
|
+
import { EDeviceType as p } from "../../../ui/theme/constants.js";
|
7
|
+
import { onboardingGuideSteps as s } from "./onboarding-guide-constants.js";
|
8
|
+
import { StepItem as $ } from "./onboarding-guide-styled.js";
|
9
|
+
const d = () => {
|
10
|
+
const { device: c } = m(), r = c <= p.TABLET;
|
11
|
+
return /* @__PURE__ */ n(t, { $flex: 1, $alignItems: "center", $justifyContent: "center", children: [
|
12
|
+
/* @__PURE__ */ e(l, { $whiteSpace: "pre-line", $renderAs: "ah4", $color: "WHITE", $renderOnTabletAs: "ab1", children: "Get started in 3 easy steps!" }),
|
13
|
+
/* @__PURE__ */ e(a, { heightX: r ? 1 : 2.75 }),
|
14
|
+
/* @__PURE__ */ e(t, { $flexDirection: r ? "row" : "column", $flexColumnGapX: 1.5, children: s.map((i, o) => /* @__PURE__ */ n(
|
15
|
+
$,
|
16
|
+
{
|
17
|
+
$flex: 1,
|
18
|
+
$flexDirection: r ? "column" : "row",
|
19
|
+
$flexColumnGapX: 1.5,
|
20
|
+
$flexRowGapX: 0.5,
|
21
|
+
$alignItems: "center",
|
22
|
+
children: [
|
23
|
+
/* @__PURE__ */ e("img", { src: i.icon, alt: `Step ${o + 1}`, width: 56, height: 56 }),
|
24
|
+
/* @__PURE__ */ e(t, { $width: r ? 101 : 210, children: /* @__PURE__ */ e(
|
25
|
+
l,
|
26
|
+
{
|
27
|
+
$whiteSpace: "pre-line",
|
28
|
+
$renderAs: "ab2",
|
29
|
+
$renderOnTabletAs: "ab3",
|
30
|
+
$color: "WHITE",
|
31
|
+
$align: r ? "center" : "left",
|
32
|
+
children: i.title
|
33
|
+
}
|
34
|
+
) })
|
35
|
+
]
|
36
|
+
},
|
37
|
+
o
|
38
|
+
)) })
|
39
|
+
] });
|
40
|
+
}, G = d;
|
41
|
+
export {
|
42
|
+
G as default
|
43
|
+
};
|
44
|
+
//# sourceMappingURL=onboarding-guide.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"onboarding-guide.js","sources":["../../../../../src/features/auth/pla-signup/onboarding-guide/onboarding-guide.tsx"],"sourcesContent":["import { useTheme } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\nimport { onboardingGuideSteps } from './onboarding-guide-constants';\nimport * as Styled from './onboarding-guide-styled';\n\nconst OnboardingGuide = () => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n\n return (\n <FlexView $flex={1} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $whiteSpace=\"pre-line\" $renderAs=\"ah4\" $color=\"WHITE\" $renderOnTabletAs=\"ab1\">\n Get started in 3 easy steps!\n </Text>\n <Separator heightX={isCompact ? 1 : 2.75} />\n <FlexView $flexDirection={isCompact ? 'row' : 'column'} $flexColumnGapX={1.5}>\n {onboardingGuideSteps.map((step, index) => (\n <Styled.StepItem\n key={index}\n $flex={1}\n $flexDirection={isCompact ? 'column' : 'row'}\n $flexColumnGapX={1.5}\n $flexRowGapX={0.5}\n $alignItems={'center'}\n >\n <img src={step.icon} alt={`Step ${index + 1}`} width={56} height={56} />\n <FlexView $width={isCompact ? 101 : 210}>\n <Text\n $whiteSpace=\"pre-line\"\n $renderAs=\"ab2\"\n $renderOnTabletAs=\"ab3\"\n $color=\"WHITE\"\n $align={isCompact ? 'center' : 'left'}\n >\n {step.title}\n </Text>\n </FlexView>\n </Styled.StepItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default OnboardingGuide;\n"],"names":["OnboardingGuide","device","useTheme","isCompact","EDeviceType","FlexView","jsx","Text","Separator","onboardingGuideSteps","step","index","jsxs","Styled.StepItem","OnboardingGuide$1"],"mappings":";;;;;;;;AASA,MAAMA,IAAkB,MAAM;AACtB,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY;AAExC,2BACGC,GAAS,EAAA,OAAO,GAAG,aAAY,UAAS,iBAAgB,UACvD,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,aAAY,YAAW,WAAU,OAAM,QAAO,SAAQ,mBAAkB,OAAM,UAEpF,+BAAA,CAAA;AAAA,IACC,gBAAAD,EAAAE,GAAA,EAAU,SAASL,IAAY,IAAI,MAAM;AAAA,IACzC,gBAAAG,EAAAD,GAAA,EAAS,gBAAgBF,IAAY,QAAQ,UAAU,iBAAiB,KACtE,UAAqBM,EAAA,IAAI,CAACC,GAAMC,MAC/B,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,OAAO;AAAA,QACP,gBAAgBV,IAAY,WAAW;AAAA,QACvC,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,aAAa;AAAA,QAEb,UAAA;AAAA,UAAA,gBAAAG,EAAC,OAAI,EAAA,KAAKI,EAAK,MAAM,KAAK,QAAQC,IAAQ,CAAC,IAAI,OAAO,IAAI,QAAQ,IAAI;AAAA,UACrE,gBAAAL,EAAAD,GAAA,EAAS,QAAQF,IAAY,MAAM,KAClC,UAAA,gBAAAG;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,aAAY;AAAA,cACZ,WAAU;AAAA,cACV,mBAAkB;AAAA,cAClB,QAAO;AAAA,cACP,QAAQJ,IAAY,WAAW;AAAA,cAE9B,UAAKO,EAAA;AAAA,YAAA;AAAA,UAAA,GAEV;AAAA,QAAA;AAAA,MAAA;AAAA,MAlBKC;AAAA,IAoBR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEAG,IAAed;"}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
2
|
+
import { useTheme as s } from "styled-components";
|
3
|
+
import { ILLUSTRATIONS as o } from "../../../../assets/illustrations/illustrations.js";
|
4
|
+
import i from "../../../ui/image/image.js";
|
5
|
+
import n from "../../../ui/layout/flex-view.js";
|
6
|
+
import c from "../../../ui/separator/separator.js";
|
7
|
+
import l from "../../../ui/text/text.js";
|
8
|
+
import { EDeviceType as a } from "../../../ui/theme/constants.js";
|
9
|
+
const d = () => {
|
10
|
+
const { device: m } = s(), e = m <= a.TABLET;
|
11
|
+
return /* @__PURE__ */ t(
|
12
|
+
n,
|
13
|
+
{
|
14
|
+
$flexDirection: e ? "row" : "column",
|
15
|
+
$alignItems: e ? "center" : "flex-start",
|
16
|
+
$width: "100%",
|
17
|
+
$flexColumnGapX: 1,
|
18
|
+
$justifyContent: e ? "space-between" : "flex-start",
|
19
|
+
children: [
|
20
|
+
/* @__PURE__ */ r(
|
21
|
+
i,
|
22
|
+
{
|
23
|
+
width: e ? 80 : 107,
|
24
|
+
src: o.CIRCLE_CUEMATH_LOGO_WHITE,
|
25
|
+
height: e ? 12 : 16
|
26
|
+
}
|
27
|
+
),
|
28
|
+
!e && /* @__PURE__ */ r(c, { heightX: 1 }),
|
29
|
+
/* @__PURE__ */ t(n, { $flexDirection: "row", $alignItems: "flex-end", children: [
|
30
|
+
/* @__PURE__ */ t(l, { $renderAs: "ab2", $renderOnTabletAs: "ub3", $color: "WHITE", children: [
|
31
|
+
"Rated",
|
32
|
+
" ",
|
33
|
+
/* @__PURE__ */ r(l, { $inline: !0, $renderAs: "ab2-bold", $renderOnTabletAs: "ub3-bold", $color: "WHITE", children: "4.8+" }),
|
34
|
+
" ",
|
35
|
+
"on"
|
36
|
+
] }),
|
37
|
+
" ",
|
38
|
+
/* @__PURE__ */ r(
|
39
|
+
i,
|
40
|
+
{
|
41
|
+
src: o.TRUSTPILOT,
|
42
|
+
width: e ? 80 : 99,
|
43
|
+
height: e ? 20 : 25
|
44
|
+
}
|
45
|
+
)
|
46
|
+
] })
|
47
|
+
]
|
48
|
+
}
|
49
|
+
);
|
50
|
+
}, b = d;
|
51
|
+
export {
|
52
|
+
b as default
|
53
|
+
};
|
54
|
+
//# sourceMappingURL=signup-header.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signup-header.js","sources":["../../../../../src/features/auth/pla-signup/signup-header/signup-header.tsx"],"sourcesContent":["import { useTheme } from 'styled-components';\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 { EDeviceType } from '../../../ui/theme/constants';\n\nconst SignupHeader = () => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n\n return (\n <FlexView\n $flexDirection={isCompact ? 'row' : 'column'}\n $alignItems={isCompact ? 'center' : 'flex-start'}\n $width=\"100%\"\n $flexColumnGapX={1}\n $justifyContent={isCompact ? 'space-between' : 'flex-start'}\n >\n <Image\n width={isCompact ? 80 : 107}\n src={ILLUSTRATIONS.CIRCLE_CUEMATH_LOGO_WHITE}\n height={isCompact ? 12 : 16}\n />\n {!isCompact && <Separator heightX={1} />}\n <FlexView $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Text $renderAs=\"ab2\" $renderOnTabletAs=\"ub3\" $color=\"WHITE\">\n Rated{' '}\n <Text $inline $renderAs=\"ab2-bold\" $renderOnTabletAs=\"ub3-bold\" $color=\"WHITE\">\n 4.8+\n </Text>{' '}\n on\n </Text>\n \n <Image\n src={ILLUSTRATIONS.TRUSTPILOT}\n width={isCompact ? 80 : 99}\n height={isCompact ? 20 : 25}\n />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default SignupHeader;\n"],"names":["SignupHeader","device","useTheme","isCompact","EDeviceType","jsxs","FlexView","jsx","Image","ILLUSTRATIONS","Separator","Text","SignupHeader$1"],"mappings":";;;;;;;;AASA,MAAMA,IAAe,MAAM;AACnB,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY;AAGtC,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBH,IAAY,QAAQ;AAAA,MACpC,aAAaA,IAAY,WAAW;AAAA,MACpC,QAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,iBAAiBA,IAAY,kBAAkB;AAAA,MAE/C,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,OAAOL,IAAY,KAAK;AAAA,YACxB,KAAKM,EAAc;AAAA,YACnB,QAAQN,IAAY,KAAK;AAAA,UAAA;AAAA,QAC3B;AAAA,QACC,CAACA,KAAc,gBAAAI,EAAAG,GAAA,EAAU,SAAS,EAAG,CAAA;AAAA,QACrC,gBAAAL,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,YACzC,UAAA;AAAA,UAAA,gBAAAD,EAACM,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAAQ,UAAA;AAAA,YAAA;AAAA,YACrD;AAAA,YACN,gBAAAJ,EAACI,GAAK,EAAA,SAAO,IAAC,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAE/E,OAAA,CAAA;AAAA,YAAQ;AAAA,YAAI;AAAA,UAAA,GAEd;AAAA,UAAO;AAAA,UAEP,gBAAAJ;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,KAAKC,EAAc;AAAA,cACnB,OAAON,IAAY,KAAK;AAAA,cACxB,QAAQA,IAAY,KAAK;AAAA,YAAA;AAAA,UAC3B;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAS,IAAeZ;"}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
2
|
+
import { memo as b } from "react";
|
3
|
+
import { useTheme as u } from "styled-components";
|
4
|
+
import $ from "../../../../assets/line-icons/icons/apple-icon-white.js";
|
5
|
+
import x from "../../../../assets/line-icons/icons/google-icon.js";
|
6
|
+
import r from "../../../ui/buttons/button/button.js";
|
7
|
+
import A from "../../../ui/buttons/text-button/text-button.js";
|
8
|
+
import t from "../../../ui/layout/flex-view.js";
|
9
|
+
import a from "../../../ui/separator/separator.js";
|
10
|
+
import c from "../../../ui/text/text.js";
|
11
|
+
import { EDeviceType as I } from "../../../ui/theme/constants.js";
|
12
|
+
const k = ({
|
13
|
+
onEmailSignup: m,
|
14
|
+
onAppleSignup: p,
|
15
|
+
onGoogleSignup: d,
|
16
|
+
loadingProvider: l,
|
17
|
+
onGoToLogin: h,
|
18
|
+
title: f
|
19
|
+
}) => {
|
20
|
+
const { device: g } = u(), o = g <= I.TABLET, n = l === "google", s = l === "apple";
|
21
|
+
return /* @__PURE__ */ i(t, { $alignItems: "flex-start", children: [
|
22
|
+
/* @__PURE__ */ e(c, { $renderAs: "ah3-bold", $renderOnMobileAs: "ah4-bold", $color: "WHITE", $whiteSpace: "pre", children: f }),
|
23
|
+
/* @__PURE__ */ e(a, { heightX: o ? 1.5 : 2.5 }),
|
24
|
+
/* @__PURE__ */ i(
|
25
|
+
t,
|
26
|
+
{
|
27
|
+
$flexGapX: 1,
|
28
|
+
$flex: 1,
|
29
|
+
$justifyContent: "center",
|
30
|
+
$alignItems: "flex-start",
|
31
|
+
$width: "100%",
|
32
|
+
children: [
|
33
|
+
/* @__PURE__ */ e(
|
34
|
+
r,
|
35
|
+
{
|
36
|
+
renderAs: "black-dark",
|
37
|
+
Icon: x,
|
38
|
+
width: o ? "100%" : 320,
|
39
|
+
label: "Signup with Google",
|
40
|
+
onClick: d,
|
41
|
+
size: "small",
|
42
|
+
busy: n,
|
43
|
+
disabled: n
|
44
|
+
}
|
45
|
+
),
|
46
|
+
/* @__PURE__ */ e(
|
47
|
+
r,
|
48
|
+
{
|
49
|
+
renderAs: "black-dark",
|
50
|
+
size: "small",
|
51
|
+
width: o ? "100%" : 320,
|
52
|
+
Icon: $,
|
53
|
+
label: "Signup with Apple",
|
54
|
+
onClick: p,
|
55
|
+
busy: s,
|
56
|
+
disabled: s
|
57
|
+
}
|
58
|
+
),
|
59
|
+
/* @__PURE__ */ e(
|
60
|
+
r,
|
61
|
+
{
|
62
|
+
renderAs: "black-dark",
|
63
|
+
size: "small",
|
64
|
+
width: o ? "100%" : 320,
|
65
|
+
label: "Continue with Email",
|
66
|
+
onClick: m
|
67
|
+
}
|
68
|
+
)
|
69
|
+
]
|
70
|
+
}
|
71
|
+
),
|
72
|
+
/* @__PURE__ */ e(a, { heightX: 1.5 }),
|
73
|
+
/* @__PURE__ */ i(t, { $flexDirection: "row", $alignItems: "center", children: [
|
74
|
+
/* @__PURE__ */ e(c, { $renderAs: "ub3", $color: "WHITE", children: "Already have an account?" }),
|
75
|
+
" ",
|
76
|
+
/* @__PURE__ */ e(A, { size: "small", label: "Log In", color: "WHITE", onClick: h })
|
77
|
+
] })
|
78
|
+
] });
|
79
|
+
}, B = b(k);
|
80
|
+
export {
|
81
|
+
B as default
|
82
|
+
};
|
83
|
+
//# sourceMappingURL=signup-options.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signup-options.js","sources":["../../../../../src/features/auth/pla-signup/signup-options/signup-options.tsx"],"sourcesContent":["import type { ISignupOptionsProps } from './signup-options-types';\n\nimport { memo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport AppleIcon from '../../../../assets/line-icons/icons/apple-icon-white';\nimport GoogleIcon from '../../../../assets/line-icons/icons/google-icon';\nimport Button from '../../../ui/buttons/button/button';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { EDeviceType } from '../../../ui/theme/constants';\n\nconst SignupOptions: FC<ISignupOptionsProps> = ({\n onEmailSignup,\n onAppleSignup,\n onGoogleSignup,\n loadingProvider,\n onGoToLogin,\n title,\n}) => {\n const { device } = useTheme();\n const isCompact = device <= EDeviceType.TABLET;\n const isLoadingGoogle = loadingProvider === 'google';\n const isLoadingApple = loadingProvider === 'apple';\n\n return (\n <FlexView $alignItems=\"flex-start\">\n <Text $renderAs=\"ah3-bold\" $renderOnMobileAs=\"ah4-bold\" $color=\"WHITE\" $whiteSpace=\"pre\">\n {title}\n </Text>\n <Separator heightX={isCompact ? 1.5 : 2.5} />\n <FlexView\n $flexGapX={1}\n $flex={1}\n $justifyContent=\"center\"\n $alignItems=\"flex-start\"\n $width=\"100%\"\n >\n <Button\n renderAs=\"black-dark\"\n Icon={GoogleIcon}\n width={isCompact ? '100%' : 320}\n label=\"Signup with Google\"\n onClick={onGoogleSignup}\n size=\"small\"\n busy={isLoadingGoogle}\n disabled={isLoadingGoogle}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n Icon={AppleIcon}\n label=\"Signup with Apple\"\n onClick={onAppleSignup}\n busy={isLoadingApple}\n disabled={isLoadingApple}\n />\n <Button\n renderAs=\"black-dark\"\n size=\"small\"\n width={isCompact ? '100%' : 320}\n label=\"Continue with Email\"\n onClick={onEmailSignup}\n />\n </FlexView>\n <Separator heightX={1.5} />\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n <Text $renderAs=\"ub3\" $color=\"WHITE\">\n Already have an account?\n </Text>\n \n <TextButton size=\"small\" label=\"Log In\" color=\"WHITE\" onClick={onGoToLogin} />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(SignupOptions);\n"],"names":["SignupOptions","onEmailSignup","onAppleSignup","onGoogleSignup","loadingProvider","onGoToLogin","title","device","useTheme","isCompact","EDeviceType","isLoadingGoogle","isLoadingApple","jsxs","FlexView","jsx","Text","Separator","Button","GoogleIcon","AppleIcon","TextButton","signupOptions","memo"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAYF,KAAUG,EAAY,QAClCC,IAAkBP,MAAoB,UACtCQ,IAAiBR,MAAoB;AAGzC,SAAA,gBAAAS,EAACC,GAAS,EAAA,aAAY,cACpB,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,aAAY,OAChF,UACHV,EAAA,CAAA;AAAA,IACC,gBAAAS,EAAAE,GAAA,EAAU,SAASR,IAAY,MAAM,KAAK;AAAA,IAC3C,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,OAAO;AAAA,QACP,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAMC;AAAA,cACN,OAAOV,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASN;AAAA,cACT,MAAK;AAAA,cACL,MAAMQ;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAI;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,MAAMW;AAAAA,cACN,OAAM;AAAA,cACN,SAASlB;AAAA,cACT,MAAMU;AAAA,cACN,UAAUA;AAAA,YAAA;AAAA,UACZ;AAAA,UACA,gBAAAG;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAOT,IAAY,SAAS;AAAA,cAC5B,OAAM;AAAA,cACN,SAASR;AAAA,YAAA;AAAA,UACX;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,IACA,gBAAAc,EAACE,GAAU,EAAA,SAAS,IAAK,CAAA;AAAA,IACxB,gBAAAJ,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,UACzC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,SAAQ,UAErC,4BAAA;AAAA,MAAO;AAAA,MAEP,gBAAAD,EAACM,KAAW,MAAK,SAAQ,OAAM,UAAS,OAAM,SAAQ,SAAShB,EAAa,CAAA;AAAA,IAAA,GAC9E;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeiB,IAAAC,EAAKvB,CAAa;"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import o from "styled-components";
|
2
|
+
import e from "../layout/flex-view.js";
|
3
|
+
const a = o.div`
|
4
|
+
position: fixed;
|
5
|
+
top: 0;
|
6
|
+
bottom: 0;
|
7
|
+
left: ${({ $position: t }) => t === "left" ? 0 : "auto"};
|
8
|
+
right: ${({ $position: t }) => t === "right" ? 0 : "auto"};
|
9
|
+
width: 100%;
|
10
|
+
height: 100%;
|
11
|
+
z-index: ${({ $zIndex: t }) => t ?? 999};
|
12
|
+
pointer-events: ${({ $isOpen: t }) => t ? "auto" : "none"};
|
13
|
+
`, s = o(e)`
|
14
|
+
position: absolute;
|
15
|
+
top: 0;
|
16
|
+
bottom: 0;
|
17
|
+
${({ $position: t }) => t === "left" ? "left: 0;" : "right: 0;"}
|
18
|
+
width: ${({ $drawerWidth: t }) => typeof t == "number" ? `${t}px` : t};
|
19
|
+
transform: ${({ $isOpen: t, $position: i }) => t ? "translateX(0)" : i === "left" ? "translateX(-100%)" : "translateX(100%)"};
|
20
|
+
transition: transform 0.3s ease-in-out;
|
21
|
+
height: 100%;
|
22
|
+
`, p = o(e)`
|
23
|
+
position: absolute;
|
24
|
+
inset: 0;
|
25
|
+
backdrop-filter: blur(40px);
|
26
|
+
opacity: ${({ $isOpen: t }) => t ? 1 : 0};
|
27
|
+
transition: opacity 0.3s ease-in-out;
|
28
|
+
`;
|
29
|
+
export {
|
30
|
+
p as DrawerBackdrop,
|
31
|
+
a as DrawerContainer,
|
32
|
+
s as DrawerPanel
|
33
|
+
};
|
34
|
+
//# sourceMappingURL=drawer-styled.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"drawer-styled.js","sources":["../../../../src/features/ui/drawer/drawer-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../layout/flex-view';\n\ninterface DrawerContainerProps {\n $isOpen: boolean;\n $position: 'left' | 'right';\n $zIndex?: number;\n}\n\ninterface DrawerPanelProps extends DrawerContainerProps {\n $drawerWidth: number | string;\n}\n\nexport const DrawerContainer = styled.div<DrawerContainerProps>`\n position: fixed;\n top: 0;\n bottom: 0;\n left: ${({ $position }) => ($position === 'left' ? 0 : 'auto')};\n right: ${({ $position }) => ($position === 'right' ? 0 : 'auto')};\n width: 100%;\n height: 100%;\n z-index: ${({ $zIndex }) => $zIndex ?? 999};\n pointer-events: ${({ $isOpen }) => ($isOpen ? 'auto' : 'none')};\n`;\n\nexport const DrawerPanel = styled(FlexView)<DrawerPanelProps>`\n position: absolute;\n top: 0;\n bottom: 0;\n ${({ $position }) => ($position === 'left' ? 'left: 0;' : 'right: 0;')}\n width: ${({ $drawerWidth }) =>\n typeof $drawerWidth === 'number' ? `${$drawerWidth}px` : $drawerWidth};\n transform: ${({ $isOpen, $position }) =>\n $isOpen ? 'translateX(0)' : $position === 'left' ? 'translateX(-100%)' : 'translateX(100%)'};\n transition: transform 0.3s ease-in-out;\n height: 100%;\n`;\n\nexport const DrawerBackdrop = styled(FlexView)<{ $isOpen: boolean }>`\n position: absolute;\n inset: 0;\n backdrop-filter: blur(40px);\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n transition: opacity 0.3s ease-in-out;\n`;\n"],"names":["DrawerContainer","styled","$position","$zIndex","$isOpen","DrawerPanel","FlexView","$drawerWidth","DrawerBackdrop"],"mappings":";;AAcO,MAAMA,IAAkBC,EAAO;AAAA;AAAA;AAAA;AAAA,UAI5B,CAAC,EAAE,WAAAC,QAAiBA,MAAc,SAAS,IAAI,MAAO;AAAA,WACrD,CAAC,EAAE,WAAAA,QAAiBA,MAAc,UAAU,IAAI,MAAO;AAAA;AAAA;AAAA,aAGrD,CAAC,EAAE,SAAAC,QAAcA,KAAW,GAAG;AAAA,oBACxB,CAAC,EAAE,SAAAC,EAAA,MAAeA,IAAU,SAAS,MAAO;AAAA,GAGnDC,IAAcJ,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA,IAItC,CAAC,EAAE,WAAAJ,QAAiBA,MAAc,SAAS,aAAa,WAAY;AAAA,WAC7D,CAAC,EAAE,cAAAK,EACV,MAAA,OAAOA,KAAiB,WAAW,GAAGA,CAAY,OAAOA,CAAY;AAAA,eAC1D,CAAC,EAAE,SAAAH,GAAS,WAAAF,QACvBE,IAAU,kBAAkBF,MAAc,SAAS,sBAAsB,kBAAkB;AAAA;AAAA;AAAA,GAKlFM,IAAiBP,EAAOK,CAAQ;AAAA;AAAA;AAAA;AAAA,aAIhC,CAAC,EAAE,SAAAF,EAAA,MAAeA,IAAU,IAAI,CAAE;AAAA;AAAA;"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { jsxs as s, jsx as c } from "react/jsx-runtime";
|
2
|
+
import { memo as $, useRef as w, useEffect as k } from "react";
|
3
|
+
import { DrawerContainer as D, DrawerBackdrop as _, DrawerPanel as p } from "./drawer-styled.js";
|
4
|
+
const E = $(
|
5
|
+
({ isOpen: r, onClose: e, children: i, drawerWidth: o = 300, position: n = "left", zIndex: u, theme: m = "dark" }) => {
|
6
|
+
const t = w(null);
|
7
|
+
k(() => {
|
8
|
+
const d = (f) => {
|
9
|
+
t.current && !t.current.contains(f.target) && (e == null || e());
|
10
|
+
};
|
11
|
+
return r && document.addEventListener("mousedown", d), () => {
|
12
|
+
document.removeEventListener("mousedown", d);
|
13
|
+
};
|
14
|
+
}, [r, e]);
|
15
|
+
const a = m === "dark";
|
16
|
+
return /* @__PURE__ */ s(D, { $isOpen: r, $position: n, $zIndex: u, children: [
|
17
|
+
/* @__PURE__ */ c(
|
18
|
+
_,
|
19
|
+
{
|
20
|
+
$isOpen: r,
|
21
|
+
onClick: e,
|
22
|
+
$background: a ? "WHITE_T_10" : "BLACK_T_38"
|
23
|
+
}
|
24
|
+
),
|
25
|
+
/* @__PURE__ */ c(
|
26
|
+
p,
|
27
|
+
{
|
28
|
+
ref: t,
|
29
|
+
$isOpen: r,
|
30
|
+
$position: n,
|
31
|
+
$drawerWidth: o,
|
32
|
+
$background: a ? "BLACK_3" : "WHITE_3",
|
33
|
+
children: i
|
34
|
+
}
|
35
|
+
)
|
36
|
+
] });
|
37
|
+
}
|
38
|
+
), L = E;
|
39
|
+
export {
|
40
|
+
L as default
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=drawer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"drawer.js","sources":["../../../../src/features/ui/drawer/drawer.tsx"],"sourcesContent":["import type { IDrawerProps } from './drawer-types';\nimport type { FC } from 'react';\n\nimport { memo, useEffect, useRef } from 'react';\n\nimport * as Styled from './drawer-styled';\n\nconst Drawer: FC<IDrawerProps> = memo(\n ({ isOpen, onClose, children, drawerWidth = 300, position = 'left', zIndex, theme = 'dark' }) => {\n const drawerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (drawerRef.current && !drawerRef.current.contains(e.target as Node)) {\n onClose?.();\n }\n };\n\n if (isOpen) {\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isOpen, onClose]);\n\n const isDarkTheme = theme === 'dark';\n\n return (\n <Styled.DrawerContainer $isOpen={isOpen} $position={position} $zIndex={zIndex}>\n <Styled.DrawerBackdrop\n $isOpen={isOpen}\n onClick={onClose}\n $background={isDarkTheme ? 'WHITE_T_10' : 'BLACK_T_38'}\n />\n <Styled.DrawerPanel\n ref={drawerRef}\n $isOpen={isOpen}\n $position={position}\n $drawerWidth={drawerWidth}\n $background={isDarkTheme ? 'BLACK_3' : 'WHITE_3'}\n >\n {children}\n </Styled.DrawerPanel>\n </Styled.DrawerContainer>\n );\n },\n);\n\nexport default Drawer;\n"],"names":["Drawer","memo","isOpen","onClose","children","drawerWidth","position","zIndex","theme","drawerRef","useRef","useEffect","handleClickOutside","e","isDarkTheme","jsxs","Styled.DrawerContainer","jsx","Styled.DrawerBackdrop","Styled.DrawerPanel","Drawer$1"],"mappings":";;;AAOA,MAAMA,IAA2BC;AAAA,EAC/B,CAAC,EAAE,QAAAC,GAAQ,SAAAC,GAAS,UAAAC,GAAU,aAAAC,IAAc,KAAK,UAAAC,IAAW,QAAQ,QAAAC,GAAQ,OAAAC,IAAQ,OAAA,MAAa;AACzF,UAAAC,IAAYC,EAAuB,IAAI;AAE7C,IAAAC,EAAU,MAAM;AACR,YAAAC,IAAqB,CAACC,MAAkB;AACxC,QAAAJ,EAAU,WAAW,CAACA,EAAU,QAAQ,SAASI,EAAE,MAAc,MACzDV,KAAA,QAAAA;AAAA,MACZ;AAGF,aAAID,KACO,SAAA,iBAAiB,aAAaU,CAAkB,GAGpD,MAAM;AACF,iBAAA,oBAAoB,aAAaA,CAAkB;AAAA,MAAA;AAAA,IAC9D,GACC,CAACV,GAAQC,CAAO,CAAC;AAEpB,UAAMW,IAAcN,MAAU;AAG5B,WAAA,gBAAAO,EAACC,GAAA,EAAuB,SAASd,GAAQ,WAAWI,GAAU,SAASC,GACrE,UAAA;AAAA,MAAA,gBAAAU;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,SAAShB;AAAA,UACT,SAASC;AAAA,UACT,aAAaW,IAAc,eAAe;AAAA,QAAA;AAAA,MAC5C;AAAA,MACA,gBAAAG;AAAA,QAACE;AAAAA,QAAA;AAAA,UACC,KAAKV;AAAA,UACL,SAASP;AAAA,UACT,WAAWI;AAAA,UACX,cAAcD;AAAA,UACd,aAAaS,IAAc,YAAY;AAAA,UAEtC,UAAAV;AAAA,QAAA;AAAA,MACH;AAAA,IACF,EAAA,CAAA;AAAA,EAEJ;AACF,GAEAgB,IAAepB;"}
|
@@ -14,7 +14,7 @@ const p = t(i)`
|
|
14
14
|
overflow: hidden;
|
15
15
|
position: relative;
|
16
16
|
`, u = g(
|
17
|
-
({ borderRadius: n = 0, borderColor: r, withLoader: a, ...o }) => {
|
17
|
+
({ borderRadius: n = 0, borderColor: r, withLoader: a = !1, ...o }) => {
|
18
18
|
const { width: s, height: d } = o, [m, l] = f(!0);
|
19
19
|
return /* @__PURE__ */ h(
|
20
20
|
L,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"image.js","sources":["../../../../src/features/ui/image/image.tsx"],"sourcesContent":["import type { IImageProps } from './image-types';\n\nimport { useState, memo } from 'react';\nimport styled from 'styled-components';\n\nimport { skeletonLoadingAnimation } from '../constants/style';\nimport FlexView from '../layout/flex-view';\n\nconst LoadingFlexView = styled(FlexView)`\n animation: ${skeletonLoadingAnimation} 2s linear infinite;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst ImageWrapper = styled(FlexView)`\n overflow: hidden;\n position: relative;\n`;\n\nconst Image: React.FC<IImageProps> = memo(\n ({ borderRadius = 0, borderColor, withLoader, ...props }) => {\n const { width, height } = props;\n const [isLoading, setIsLoading] = useState(true);\n const handleImgLoaded = () => {\n setIsLoading(false);\n };\n const showLoader = isLoading && withLoader;\n\n return (\n <ImageWrapper\n $width={width}\n $height={height}\n $borderColor={borderColor}\n $borderRadius={borderRadius}\n >\n {showLoader && <LoadingFlexView $inherit={true} />}\n <img onLoad={handleImgLoaded} {...props} />\n </ImageWrapper>\n );\n },\n);\n\nexport default Image;\n"],"names":["LoadingFlexView","styled","FlexView","skeletonLoadingAnimation","ImageWrapper","Image","memo","borderRadius","borderColor","withLoader","props","width","height","isLoading","setIsLoading","useState","jsxs","jsx","Image$1"],"mappings":";;;;;AAQA,MAAMA,IAAkBC,EAAOC,CAAQ;AAAA,eACxBC,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCC,IAAeH,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK9BG,IAA+BC;AAAA,EACnC,CAAC,EAAE,cAAAC,IAAe,GAAG,aAAAC,GAAa,YAAAC,
|
1
|
+
{"version":3,"file":"image.js","sources":["../../../../src/features/ui/image/image.tsx"],"sourcesContent":["import type { IImageProps } from './image-types';\n\nimport { useState, memo } from 'react';\nimport styled from 'styled-components';\n\nimport { skeletonLoadingAnimation } from '../constants/style';\nimport FlexView from '../layout/flex-view';\n\nconst LoadingFlexView = styled(FlexView)`\n animation: ${skeletonLoadingAnimation} 2s linear infinite;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst ImageWrapper = styled(FlexView)`\n overflow: hidden;\n position: relative;\n`;\n\nconst Image: React.FC<IImageProps> = memo(\n ({ borderRadius = 0, borderColor, withLoader = false, ...props }) => {\n const { width, height } = props;\n const [isLoading, setIsLoading] = useState(true);\n const handleImgLoaded = () => {\n setIsLoading(false);\n };\n const showLoader = isLoading && withLoader;\n\n return (\n <ImageWrapper\n $width={width}\n $height={height}\n $borderColor={borderColor}\n $borderRadius={borderRadius}\n >\n {showLoader && <LoadingFlexView $inherit={true} />}\n <img onLoad={handleImgLoaded} {...props} />\n </ImageWrapper>\n );\n },\n);\n\nexport default Image;\n"],"names":["LoadingFlexView","styled","FlexView","skeletonLoadingAnimation","ImageWrapper","Image","memo","borderRadius","borderColor","withLoader","props","width","height","isLoading","setIsLoading","useState","jsxs","jsx","Image$1"],"mappings":";;;;;AAQA,MAAMA,IAAkBC,EAAOC,CAAQ;AAAA,eACxBC,CAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQjCC,IAAeH,EAAOC,CAAQ;AAAA;AAAA;AAAA,GAK9BG,IAA+BC;AAAA,EACnC,CAAC,EAAE,cAAAC,IAAe,GAAG,aAAAC,GAAa,YAAAC,IAAa,IAAO,GAAGC,QAAY;AAC7D,UAAA,EAAE,OAAAC,GAAO,QAAAC,EAAW,IAAAF,GACpB,CAACG,GAAWC,CAAY,IAAIC,EAAS,EAAI;AAO7C,WAAA,gBAAAC;AAAA,MAACZ;AAAA,MAAA;AAAA,QACC,QAAQO;AAAA,QACR,SAASC;AAAA,QACT,cAAcJ;AAAA,QACd,eAAeD;AAAA,QAEd,UAAA;AAAA,UATcM,KAAaJ,KASb,gBAAAQ,EAACjB,GAAgB,EAAA,UAAU,GAAM,CAAA;AAAA,UAC/C,gBAAAiB,EAAA,OAAA,EAAI,QAbe,MAAM;AAC5B,YAAAH,EAAa,EAAK;AAAA,UAAA,GAYe,GAAGJ,EAAO,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG/C;AACF,GAEAQ,IAAeb;"}
|