@matbea-ui/matbea-ui 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/matbea-ui.cjs.js +2289 -1
- package/dist/matbea-ui.cjs.js.map +1 -0
- package/dist/matbea-ui.es.js +2257 -59
- package/dist/matbea-ui.es.js.map +1 -0
- package/dist/types/index.d.ts +330 -0
- package/package.json +23 -13
- package/dist/fonts/ProximaNova-Bold.woff2 +0 -0
- package/dist/fonts/ProximaNova-RegularIt.woff2 +0 -0
- package/dist/fonts/ProximaNova-Semibold.woff2 +0 -0
- package/dist/matbea-ui.cjs10.js +0 -1
- package/dist/matbea-ui.cjs11.js +0 -1
- package/dist/matbea-ui.cjs12.js +0 -1
- package/dist/matbea-ui.cjs13.js +0 -1
- package/dist/matbea-ui.cjs14.js +0 -1
- package/dist/matbea-ui.cjs15.js +0 -1
- package/dist/matbea-ui.cjs16.js +0 -1
- package/dist/matbea-ui.cjs17.js +0 -1
- package/dist/matbea-ui.cjs18.js +0 -1
- package/dist/matbea-ui.cjs19.js +0 -1
- package/dist/matbea-ui.cjs2.js +0 -1
- package/dist/matbea-ui.cjs20.js +0 -1
- package/dist/matbea-ui.cjs21.js +0 -1
- package/dist/matbea-ui.cjs22.js +0 -1
- package/dist/matbea-ui.cjs23.js +0 -1
- package/dist/matbea-ui.cjs24.js +0 -1
- package/dist/matbea-ui.cjs25.js +0 -1
- package/dist/matbea-ui.cjs26.js +0 -1
- package/dist/matbea-ui.cjs27.js +0 -1
- package/dist/matbea-ui.cjs28.js +0 -1
- package/dist/matbea-ui.cjs29.js +0 -1
- package/dist/matbea-ui.cjs3.js +0 -1
- package/dist/matbea-ui.cjs30.js +0 -1
- package/dist/matbea-ui.cjs31.js +0 -1
- package/dist/matbea-ui.cjs32.js +0 -63
- package/dist/matbea-ui.cjs33.js +0 -34
- package/dist/matbea-ui.cjs34.js +0 -44
- package/dist/matbea-ui.cjs35.js +0 -1
- package/dist/matbea-ui.cjs36.js +0 -11
- package/dist/matbea-ui.cjs37.js +0 -71
- package/dist/matbea-ui.cjs38.js +0 -14
- package/dist/matbea-ui.cjs39.js +0 -11
- package/dist/matbea-ui.cjs4.js +0 -1
- package/dist/matbea-ui.cjs40.js +0 -1
- package/dist/matbea-ui.cjs41.js +0 -1
- package/dist/matbea-ui.cjs42.js +0 -37
- package/dist/matbea-ui.cjs43.js +0 -62
- package/dist/matbea-ui.cjs44.js +0 -102
- package/dist/matbea-ui.cjs45.js +0 -103
- package/dist/matbea-ui.cjs46.js +0 -7
- package/dist/matbea-ui.cjs47.js +0 -1
- package/dist/matbea-ui.cjs48.js +0 -1
- package/dist/matbea-ui.cjs49.js +0 -55
- package/dist/matbea-ui.cjs5.js +0 -1
- package/dist/matbea-ui.cjs50.js +0 -23
- package/dist/matbea-ui.cjs51.js +0 -38
- package/dist/matbea-ui.cjs52.js +0 -51
- package/dist/matbea-ui.cjs53.js +0 -1
- package/dist/matbea-ui.cjs54.js +0 -1
- package/dist/matbea-ui.cjs55.js +0 -27
- package/dist/matbea-ui.cjs56.js +0 -48
- package/dist/matbea-ui.cjs57.js +0 -1
- package/dist/matbea-ui.cjs58.js +0 -1
- package/dist/matbea-ui.cjs59.js +0 -1
- package/dist/matbea-ui.cjs6.js +0 -1
- package/dist/matbea-ui.cjs60.js +0 -34
- package/dist/matbea-ui.cjs61.js +0 -11
- package/dist/matbea-ui.cjs62.js +0 -24
- package/dist/matbea-ui.cjs63.js +0 -27
- package/dist/matbea-ui.cjs64.js +0 -29
- package/dist/matbea-ui.cjs65.js +0 -1
- package/dist/matbea-ui.cjs66.js +0 -20
- package/dist/matbea-ui.cjs67.js +0 -1
- package/dist/matbea-ui.cjs68.js +0 -1
- package/dist/matbea-ui.cjs69.js +0 -1
- package/dist/matbea-ui.cjs7.js +0 -1
- package/dist/matbea-ui.cjs70.js +0 -6
- package/dist/matbea-ui.cjs71.js +0 -6
- package/dist/matbea-ui.cjs72.js +0 -1
- package/dist/matbea-ui.cjs73.js +0 -1
- package/dist/matbea-ui.cjs74.js +0 -1
- package/dist/matbea-ui.cjs75.js +0 -1
- package/dist/matbea-ui.cjs8.js +0 -1
- package/dist/matbea-ui.cjs9.js +0 -1
- package/dist/matbea-ui.es10.js +0 -10
- package/dist/matbea-ui.es11.js +0 -47
- package/dist/matbea-ui.es12.js +0 -178
- package/dist/matbea-ui.es13.js +0 -188
- package/dist/matbea-ui.es14.js +0 -12
- package/dist/matbea-ui.es15.js +0 -31
- package/dist/matbea-ui.es16.js +0 -25
- package/dist/matbea-ui.es17.js +0 -40
- package/dist/matbea-ui.es18.js +0 -43
- package/dist/matbea-ui.es19.js +0 -59
- package/dist/matbea-ui.es2.js +0 -38
- package/dist/matbea-ui.es20.js +0 -25
- package/dist/matbea-ui.es21.js +0 -13
- package/dist/matbea-ui.es22.js +0 -33
- package/dist/matbea-ui.es23.js +0 -16
- package/dist/matbea-ui.es24.js +0 -25
- package/dist/matbea-ui.es25.js +0 -36
- package/dist/matbea-ui.es26.js +0 -29
- package/dist/matbea-ui.es27.js +0 -30
- package/dist/matbea-ui.es28.js +0 -20
- package/dist/matbea-ui.es29.js +0 -13
- package/dist/matbea-ui.es3.js +0 -24
- package/dist/matbea-ui.es30.js +0 -41
- package/dist/matbea-ui.es31.js +0 -5
- package/dist/matbea-ui.es32.js +0 -163
- package/dist/matbea-ui.es33.js +0 -40
- package/dist/matbea-ui.es34.js +0 -330
- package/dist/matbea-ui.es35.js +0 -15
- package/dist/matbea-ui.es36.js +0 -26
- package/dist/matbea-ui.es37.js +0 -85
- package/dist/matbea-ui.es38.js +0 -18
- package/dist/matbea-ui.es39.js +0 -18
- package/dist/matbea-ui.es4.js +0 -31
- package/dist/matbea-ui.es40.js +0 -24
- package/dist/matbea-ui.es41.js +0 -10
- package/dist/matbea-ui.es42.js +0 -42
- package/dist/matbea-ui.es43.js +0 -70
- package/dist/matbea-ui.es44.js +0 -119
- package/dist/matbea-ui.es45.js +0 -131
- package/dist/matbea-ui.es46.js +0 -13
- package/dist/matbea-ui.es47.js +0 -25
- package/dist/matbea-ui.es48.js +0 -34
- package/dist/matbea-ui.es49.js +0 -64
- package/dist/matbea-ui.es5.js +0 -19
- package/dist/matbea-ui.es50.js +0 -39
- package/dist/matbea-ui.es51.js +0 -44
- package/dist/matbea-ui.es52.js +0 -58
- package/dist/matbea-ui.es53.js +0 -17
- package/dist/matbea-ui.es54.js +0 -26
- package/dist/matbea-ui.es55.js +0 -58
- package/dist/matbea-ui.es56.js +0 -62
- package/dist/matbea-ui.es57.js +0 -12
- package/dist/matbea-ui.es58.js +0 -12
- package/dist/matbea-ui.es59.js +0 -15
- package/dist/matbea-ui.es6.js +0 -62
- package/dist/matbea-ui.es60.js +0 -74
- package/dist/matbea-ui.es61.js +0 -17
- package/dist/matbea-ui.es62.js +0 -55
- package/dist/matbea-ui.es63.js +0 -57
- package/dist/matbea-ui.es64.js +0 -59
- package/dist/matbea-ui.es65.js +0 -21
- package/dist/matbea-ui.es66.js +0 -34
- package/dist/matbea-ui.es67.js +0 -10
- package/dist/matbea-ui.es68.js +0 -4
- package/dist/matbea-ui.es69.js +0 -26
- package/dist/matbea-ui.es7.js +0 -5
- package/dist/matbea-ui.es70.js +0 -236
- package/dist/matbea-ui.es71.js +0 -10
- package/dist/matbea-ui.es72.js +0 -9
- package/dist/matbea-ui.es73.js +0 -12
- package/dist/matbea-ui.es74.js +0 -4
- package/dist/matbea-ui.es75.js +0 -4
- package/dist/matbea-ui.es8.js +0 -6
- package/dist/matbea-ui.es9.js +0 -27
- package/dist/vite.svg +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matbea-ui.es.js","sources":["../src/components/Button/styled.ts","../src/components/Button/index.tsx","../src/components/CopyTooltip/styled.ts","../src/components/CopyTooltip/index.tsx","../src/components/Typography/styled.ts","../src/components/Typography/index.tsx","../src/components/Icon/index.tsx","../src/icons/base/check.tsx","../src/icons/base/close.tsx","../src/icons/base/hamburger.tsx","../src/icons/base/user.tsx","../src/icons/base/clock.tsx","../src/icons/base/copy.tsx","../src/icons/base/Info.tsx","../src/icons/base/successfull-small.tsx","../src/icons/base/warning.tsx","../src/icons/base/withdraw.tsx","../src/components/Informer/styled.ts","../src/components/Informer/index.tsx","../src/components/Input/styled.ts","../src/components/Input/index.tsx","../src/components/Container/styled.ts","../src/components/Container/index.tsx","../src/components/Counter/styled.ts","../src/components/Counter/index.tsx","../src/components/Hamburger/index.tsx","../src/components/Loader/styled.ts","../src/components/Loader/index.tsx","../src/components/RadioButton/styled.ts","../src/components/RadioButton/index.tsx","../src/components/Select/styled.ts","../src/components/Select/index.tsx","../src/components/Tooltip/styled.ts","../src/components/Tooltip/index.tsx","../src/utils/index.ts","../src/components/UserAccount/styled.ts","../src/components/UserAccount/index.tsx","../src/components/Tabs/styled.ts","../src/components/Tabs/item.tsx","../src/components/Tabs/index.tsx","../src/components/Table/styled.ts","../src/components/Table/index.tsx","../src/components/Switcher/styled.ts","../src/components/Switcher/index.tsx","../src/components/Checkbox/styled.ts","../src/components/Checkbox/index.tsx","../src/components/Logo/index.tsx","../src/widgets/ApplicationData/styled.ts","../src/widgets/ApplicationData/index.tsx","../src/widgets/ApplicationInfo/styled.ts","../src/widgets/ApplicationInfo/index.tsx","../src/widgets/ApplicationStatus/styled.ts","../src/widgets/ApplicationStatus/index.tsx","../src/widgets/BalanceTable/styled.ts","../src/widgets/BalanceTable/index.tsx","../src/widgets/CurrencyName/styled.ts","../src/widgets/CurrencyName/index.tsx","../src/widgets/CurrencyRate/styled.ts","../src/widgets/CurrencyRate/index.tsx","../src/widgets/Requisites/styled.ts","../src/components/CopyButton/styled.ts","../src/components/CopyButton/index.tsx","../src/widgets/Requisites/index.tsx","../src/widgets/TransactionStatus/styled.ts","../src/widgets/TransactionStatus/index.tsx","../src/theme/colors.ts","../src/theme/index.ts"],"sourcesContent":["import styled, { css, type DefaultTheme } from \"styled-components\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"tertiary\";\nexport type ButtonSize = \"default\" | \"medium\" | \"small\";\nexport type ButtonForm = \"default\" | \"brick-right\";\n\ntype StyledButtonProps = {\n $variant: ButtonVariant;\n $size: ButtonSize;\n $form: ButtonForm;\n $fullWidth: boolean;\n $hasIcon: boolean;\n $iconOnly: boolean;\n};\n\nconst sizeMap: Record<\n ButtonSize,\n {\n padding: string;\n minHeight: string;\n fontSize: string;\n lineHeight: string;\n gap: string;\n iconGap: string;\n }\n> = {\n default: {\n padding: \"15px 22px\",\n minHeight: \"48px\",\n fontSize: \"15px\",\n lineHeight: \"18px\",\n gap: \"10px\",\n iconGap: \"6px\",\n },\n medium: {\n padding: \"12px 16px\",\n minHeight: \"42px\",\n fontSize: \"15px\",\n lineHeight: \"18px\",\n gap: \"10px\",\n iconGap: \"6px\",\n },\n small: {\n padding: \"10px\",\n minHeight: \"36px\",\n fontSize: \"14px\",\n lineHeight: \"17px\",\n gap: \"4px\",\n iconGap: \"4px\",\n },\n};\n\nconst getVariantStyles = (variant: ButtonVariant) => {\n return ({ theme }: { theme: DefaultTheme }) => {\n const colors = theme.colors;\n const palette = {\n primary: {\n default: {\n bg: colors.primary.primaryBlue,\n color: colors.primary.white,\n border: colors.primary.primaryBlue,\n },\n hover: {\n bg: colors.primary.hoverBlue,\n color: colors.primary.white,\n border: colors.primary.hoverBlue,\n },\n active: {\n bg: colors.primary.activeBlue,\n color: colors.primary.white,\n border: colors.primary.activeBlue,\n },\n disabled: {\n bg: colors.gray.lightGray2,\n color: colors.gray.darkGray,\n border: colors.gray.lightGray2,\n },\n },\n secondary: {\n default: {\n bg: \"transparent\",\n color: colors.primary.primaryBlue,\n border: colors.primary.primaryBlue,\n },\n hover: {\n bg: colors.primary.primaryBlue,\n color: colors.primary.white,\n border: colors.primary.primaryBlue,\n },\n active: {\n bg: colors.primary.activeBlue,\n color: colors.primary.white,\n border: colors.primary.activeBlue,\n },\n disabled: {\n bg: \"transparent\",\n color: colors.gray.darkGray,\n border: colors.gray.lightGray2,\n },\n },\n tertiary: {\n default: {\n bg: \"transparent\",\n color: colors.primary.primaryBlue,\n border: \"transparent\",\n },\n hover: {\n bg: colors.gray.lightBlueGray,\n color: colors.primary.primaryBlue,\n border: \"transparent\",\n },\n active: {\n bg: colors.gray.lightBlueGray2,\n color: colors.primary.primaryBlue,\n border: \"transparent\",\n },\n disabled: {\n bg: \"transparent\",\n color: colors.gray.darkGray,\n border: \"transparent\",\n },\n },\n } as const;\n\n const tokens = palette[variant];\n\n return css`\n background-color: ${tokens.default.bg};\n color: ${tokens.default.color};\n border-color: ${tokens.default.border};\n\n &:hover:not(:disabled) {\n background-color: ${tokens.hover.bg};\n color: ${tokens.hover.color};\n border-color: ${tokens.hover.border};\n }\n\n &:active:not(:disabled) {\n background-color: ${tokens.active.bg};\n color: ${tokens.active.color};\n border-color: ${tokens.active.border};\n }\n\n &:disabled {\n background-color: ${tokens.disabled.bg};\n color: ${tokens.disabled.color};\n border-color: ${tokens.disabled.border};\n }\n `;\n };\n};\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: 1px solid transparent;\n border-radius: ${({ $form }) =>\n $form === \"brick-right\" ? \"0 5px 5px 0\" : \"5px\"};\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease,\n color 0.15s ease, opacity 0.15s ease;\n font-weight: 600;\n\n ${({ $size }) => css`\n padding: ${sizeMap[$size].padding};\n min-height: ${sizeMap[$size].minHeight};\n font-size: ${sizeMap[$size].fontSize};\n line-height: ${sizeMap[$size].lineHeight};\n `}\n\n ${({ $hasIcon, $iconOnly, $size }) => css`\n gap: ${$iconOnly\n ? \"0\"\n : $hasIcon\n ? sizeMap[$size].iconGap\n : sizeMap[$size].gap};\n `}\n\n ${({ $fullWidth }) =>\n $fullWidth &&\n css`\n width: 100%;\n `}\n\n ${({ $variant }) => getVariantStyles($variant)}\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\nexport const IconSlot = styled.span<{ $iconOnly: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n ${({ $iconOnly }) =>\n $iconOnly &&\n css`\n width: 18px;\n height: 18px;\n `}\n`;\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport {\n IconSlot,\n StyledButton,\n type ButtonForm,\n type ButtonSize,\n type ButtonVariant,\n} from \"./styled\";\n\ntype IconPosition = \"left\" | \"right\" | \"only\";\n\ntype ButtonProps = {\n variant?: ButtonVariant;\n size?: ButtonSize;\n form?: ButtonForm;\n fullWidth?: boolean;\n icon?: ReactNode;\n iconPosition?: IconPosition;\n children?: ReactNode;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const Button = ({\n variant = \"primary\",\n size = \"default\",\n form = \"default\",\n fullWidth = false,\n icon,\n iconPosition = \"left\",\n children,\n disabled,\n ...rest\n}: ButtonProps) => {\n const hasText = Boolean(children);\n const iconOnly = !!icon && (!hasText || iconPosition === \"only\");\n const showLeftIcon = !!icon && !iconOnly && iconPosition === \"left\";\n const showRightIcon = !!icon && !iconOnly && iconPosition === \"right\";\n\n return (\n <StyledButton\n type=\"button\"\n $variant={variant}\n $size={size}\n $form={form}\n $fullWidth={fullWidth}\n $hasIcon={!!icon && hasText}\n $iconOnly={iconOnly}\n disabled={disabled}\n {...rest}\n >\n {showLeftIcon && <IconSlot $iconOnly={false}>{icon}</IconSlot>}\n\n {(!iconOnly || !icon) && children}\n\n {iconOnly && icon && <IconSlot $iconOnly>{icon}</IconSlot>}\n\n {showRightIcon && <IconSlot $iconOnly={false}>{icon}</IconSlot>}\n </StyledButton>\n );\n};\n","import { styled } from \"styled-components\";\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n`;\n\nexport const Trigger = styled.button`\n border: none;\n background: transparent;\n padding: 4px 8px;\n font: inherit;\n color: inherit;\n cursor: pointer;\n`;\n\nexport const Bubble = styled.span`\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translate(-50%, -6px);\n white-space: nowrap;\n background: rgba(0, 0, 0, 0.85);\n color: #fff;\n font-size: 12px;\n padding: 4px 8px;\n border-radius: 4px;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.15s ease, transform 0.15s ease;\n\n ${Wrapper}:hover &,\n ${Wrapper}:focus-within &,\n ${Wrapper}:active & {\n opacity: 1;\n transform: translate(-50%, -10px);\n }\n`;\n","import { useState } from \"react\";\nimport { Wrapper, Trigger, Bubble } from \"./styled\";\n\ntype CopyTooltipProps = {\n label: string;\n children?: React.ReactNode;\n copiedText?: string;\n copyDuration?: number; // мс\n};\n\nexport const CopyTooltip: React.FC<CopyTooltipProps> = ({\n label,\n children,\n copiedText = \"Скопировано!\",\n copyDuration = 1500,\n}) => {\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(label);\n setCopied(true);\n setTimeout(() => setCopied(false), copyDuration);\n } catch (err) {\n console.error(\"Copy failed\", err);\n }\n };\n\n return (\n <Wrapper onClick={handleCopy}>\n {children ?? <Trigger type=\"button\">{label}</Trigger>}\n <Bubble>{copied ? copiedText : label}</Bubble>\n </Wrapper>\n );\n};\n","import { styled, css } from \"styled-components\";\n\nconst weights = {\n regular: 400,\n semibold: 600,\n bold: 700,\n} as const;\n\ntype BreakpointConfig = {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n textTransform?: \"uppercase\";\n};\n\ntype VariantConfig = {\n mobile?: BreakpointConfig;\n tablet?: BreakpointConfig;\n desktop: BreakpointConfig;\n};\n\nexport type TypographyVariant =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"body-xl-semibold\"\n | \"body-xl\"\n | \"body-l-semibold\"\n | \"body-l\"\n | \"body-m-bold\"\n | \"body-m-semibold\"\n | \"body-m\"\n | \"body-s-semibold\"\n | \"body-s\"\n | \"button\"\n | \"form-input\"\n | \"avatar-basic\"\n | \"avatar-m\"\n | \"avatar-s\";\n\nconst variantMap: Record<TypographyVariant, VariantConfig> = {\n h1: {\n mobile: {\n fontSize: \"26px\",\n lineHeight: \"32px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"34px\",\n lineHeight: \"42px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"44px\",\n lineHeight: \"54px\",\n fontWeight: weights.semibold,\n textTransform: \"uppercase\",\n },\n },\n h2: {\n mobile: {\n fontSize: \"22px\",\n lineHeight: \"28px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"30px\",\n lineHeight: \"37px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"32px\",\n lineHeight: \"40px\",\n fontWeight: weights.semibold,\n },\n },\n h3: {\n mobile: {\n fontSize: \"20px\",\n lineHeight: \"24px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"28px\",\n lineHeight: \"34px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"30px\",\n lineHeight: \"38px\",\n fontWeight: weights.semibold,\n },\n },\n h4: {\n mobile: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n fontWeight: weights.semibold,\n },\n },\n h5: {\n mobile: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"20px\",\n lineHeight: \"24px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"20px\",\n lineHeight: \"24px\",\n fontWeight: weights.semibold,\n },\n },\n\n \"body-xl-semibold\": {\n mobile: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"22px\",\n lineHeight: \"28px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n fontWeight: weights.semibold,\n },\n },\n \"body-xl\": {\n mobile: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.regular,\n },\n tablet: {\n fontSize: \"22px\",\n lineHeight: \"28px\",\n fontWeight: weights.regular,\n },\n desktop: {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n fontWeight: weights.regular,\n },\n },\n \"body-l-semibold\": {\n mobile: {\n fontSize: \"16px\",\n lineHeight: \"19px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.semibold,\n },\n },\n \"body-l\": {\n mobile: {\n fontSize: \"16px\",\n lineHeight: \"19px\",\n fontWeight: weights.regular,\n },\n tablet: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.regular,\n },\n desktop: {\n fontSize: \"18px\",\n lineHeight: \"22px\",\n fontWeight: weights.regular,\n },\n },\n \"body-m-bold\": {\n mobile: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.bold,\n },\n tablet: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.bold,\n },\n desktop: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.bold,\n },\n },\n \"body-m-semibold\": {\n mobile: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.semibold,\n },\n },\n \"body-m\": {\n mobile: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.regular,\n },\n tablet: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.regular,\n },\n desktop: {\n fontSize: \"16px\",\n lineHeight: \"20px\",\n fontWeight: weights.regular,\n },\n },\n \"body-s-semibold\": {\n mobile: {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n fontWeight: weights.semibold,\n },\n tablet: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.semibold,\n },\n desktop: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.semibold,\n },\n },\n \"body-s\": {\n mobile: {\n fontSize: \"12px\",\n lineHeight: \"15px\",\n fontWeight: weights.regular,\n },\n tablet: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.regular,\n },\n desktop: {\n fontSize: \"14px\",\n lineHeight: \"17px\",\n fontWeight: weights.regular,\n },\n },\n\n button: {\n desktop: {\n fontSize: \"15px\",\n lineHeight: \"18px\",\n fontWeight: weights.semibold,\n },\n },\n \"form-input\": {\n desktop: {\n fontSize: \"15px\",\n lineHeight: \"18px\",\n fontWeight: weights.regular,\n },\n },\n \"avatar-basic\": {\n desktop: {\n fontSize: \"16px\",\n lineHeight: \"18px\",\n fontWeight: weights.semibold,\n },\n },\n \"avatar-m\": {\n desktop: {\n fontSize: \"14px\",\n lineHeight: \"16px\",\n fontWeight: weights.semibold,\n },\n },\n \"avatar-s\": {\n desktop: {\n fontSize: \"12px\",\n lineHeight: \"14px\",\n fontWeight: weights.semibold,\n },\n },\n};\n\nconst getVariantStyles = (variant: TypographyVariant) => {\n const { mobile, tablet, desktop } = variantMap[variant];\n return css`\n ${({ theme }) => css`\n ${css`\n font-size: ${desktop.fontSize};\n font-weight: ${desktop.fontWeight};\n line-height: ${desktop.lineHeight};\n `}\n\n ${tablet &&\n css`\n ${theme.media.maxWidth.tablet} {\n font-size: ${tablet.fontSize};\n font-weight: ${tablet.fontWeight};\n line-height: ${tablet.lineHeight};\n }\n `}\n\n ${mobile &&\n css`\n ${theme.media.maxWidth.mobile} {\n font-size: ${mobile.fontSize};\n font-weight: ${mobile.fontWeight};\n line-height: ${mobile.lineHeight};\n }\n `}\n `}\n `;\n};\n\nexport interface StyledTypographyProps {\n $variant: TypographyVariant;\n $align?: \"left\" | \"center\" | \"right\" | \"justify\";\n $color?: string;\n $uppercase?: boolean;\n $truncate?: boolean;\n $inline?: boolean;\n}\n\nexport const StyledTypography = styled.span<StyledTypographyProps>`\n margin: 0;\n color: ${({ $color }) => $color ?? \"inherit\"};\n ${({ $variant }) => getVariantStyles($variant)};\n text-align: ${({ $align }) => $align ?? \"inherit\"};\n ${({ $inline }) =>\n $inline\n ? css`\n display: inline;\n `\n : css`\n display: block;\n `};\n ${({ $uppercase }) =>\n $uppercase &&\n css`\n text-transform: uppercase;\n letter-spacing: 0.04em;\n `}\n ${({ $truncate }) =>\n $truncate &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n","import { StyledTypography, type TypographyVariant } from \"./styled\";\n\ntype ElementTypeProp = React.ElementType;\n\ntype TypographyOwnProps = {\n variant?: TypographyVariant;\n color?: string;\n align?: \"left\" | \"center\" | \"right\" | \"justify\";\n uppercase?: boolean;\n truncate?: boolean;\n inline?: boolean;\n};\n\ntype PolymorphicProps<C extends ElementTypeProp> = TypographyOwnProps &\n Omit<React.ComponentPropsWithoutRef<C>, keyof TypographyOwnProps> & {\n as?: C;\n forwardedAs?: C;\n };\n\ntype TypographyComponent = <C extends ElementTypeProp = \"span\">(\n props: PolymorphicProps<C>\n) => React.ReactElement | null;\n\nexport const Typography: TypographyComponent = ({\n as = \"span\",\n forwardedAs,\n variant = \"body-m-semibold\",\n color,\n align,\n uppercase = false,\n truncate = false,\n inline = false,\n children,\n ...rest\n}) => (\n <StyledTypography\n as={as}\n forwardedAs={forwardedAs}\n $variant={variant}\n $color={color}\n $align={align}\n $uppercase={uppercase}\n $truncate={truncate}\n $inline={inline}\n {...rest}\n >\n {children}\n </StyledTypography>\n);\n\nexport type { TypographyVariant };\n","import React from \"react\";\n\nexport interface IconProps extends React.SVGProps<SVGSVGElement> {\n size?: number | string;\n children?: React.ReactNode;\n}\n\nexport const Icon: React.FC<IconProps> = ({ size = 24, children, ...rest }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...rest}\n >\n {children}\n </svg>\n );\n};\n","import { Icon, type IconProps } from \"../../components/Icon\";\n\nexport const CheckIcon = (props: IconProps) => (\n <Icon {...props}>\n <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"#5E6F8D\" stroke-width=\"2\" />\n <path d=\"M7 12L10.3333 15L17 9\" stroke=\"#5E6F8D\" stroke-width=\"2\" />\n </Icon>\n);\n","import { Icon, type IconProps } from \"../../components/Icon\";\n\nexport const CloseIcon = (props: IconProps) => (\n <Icon {...props}>\n <g clip-path=\"url(#clip0_487_8651)\">\n <path\n d=\"M4.99543 4.85076C5.38596 4.46024 6.01912 4.46024 6.40965 4.85076L19.265 17.7061C19.6555 18.0966 19.6555 18.7298 19.265 19.1203L19.0937 19.2916C18.7032 19.6821 18.07 19.6821 17.6795 19.2916L4.82414 6.43627C4.43362 6.04574 4.43362 5.41258 4.82414 5.02206L4.99543 4.85076Z\"\n fill=\"#9296A5\"\n />\n <path\n d=\"M4.85129 19.1203C4.46077 18.7298 4.46077 18.0966 4.85129 17.7061L17.7066 4.85075C18.0971 4.46023 18.7303 4.46023 19.1208 4.85075L19.2921 5.02205C19.6827 5.41257 19.6827 6.04574 19.2921 6.43626L6.4368 19.2916C6.04627 19.6821 5.41311 19.6821 5.02258 19.2916L4.85129 19.1203Z\"\n fill=\"#9296A5\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_487_8651\">\n <rect width=\"24\" height=\"24\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n);\n","import { type IconProps, Icon } from \"@/components/Icon\";\n\nexport const HamburgerIcon = (props: IconProps) => (\n <Icon {...props}>\n <rect x=\"3\" y=\"5\" width=\"18\" height=\"2\" rx=\"1\" fill=\"#9296A5\" />\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"2\" rx=\"1\" fill=\"#9296A5\" />\n <rect x=\"3\" y=\"17\" width=\"18\" height=\"2\" rx=\"1\" fill=\"#9296A5\" />\n </Icon>\n);\n","import { Icon, type IconProps } from \"../../components/Icon\";\n\nexport const UserIcon = (props: IconProps) => (\n <Icon {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 13C14.2091 13 16 11.2091 16 9C16 6.79086 14.2091 5 12 5C9.79086 5 8 6.79086 8 9C8 11.2091 9.79086 13 12 13ZM12 15C15.3137 15 18 12.3137 18 9C18 5.68629 15.3137 3 12 3C8.68629 3 6 5.68629 6 9C6 12.3137 8.68629 15 12 15Z\"\n fill=\"#202D52\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12 15C8.13401 15 5 18.134 5 22H3C3 17.0294 7.02944 13 12 13C16.9706 13 21 17.0294 21 22H19C19 18.134 15.866 15 12 15Z\"\n fill=\"#202D52\"\n />\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const ClockIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <path\n d=\"M9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9C16.4954 13.1402 13.1402 16.4954 9 16.5ZM9 3C5.68629 3 3 5.68629 3 9C3 12.3137 5.68629 15 9 15C12.3137 15 15 12.3137 15 9C14.9963 5.68783 12.3122 3.00372 9 3ZM12.75 9.75H8.25V5.25H9.75V8.25H12.75V9.75Z\"\n fill=\"#9296A5\"\n />\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const CopyIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <path\n d=\"M10.4999 16.5H2.9999C2.59796 16.514 2.20826 16.3604 1.92387 16.076C1.63948 15.7916 1.48593 15.4019 1.4999 15V7.50001C1.48593 7.09807 1.63948 6.70837 1.92387 6.42399C2.20826 6.1396 2.59796 5.98605 2.9999 6.00002H5.9999V3.00002C5.98593 2.59807 6.13948 2.20837 6.42387 1.92399C6.70826 1.6396 7.09796 1.48605 7.49991 1.50002H14.9999C15.4018 1.48605 15.7915 1.6396 16.0759 1.92399C16.3603 2.20837 16.5139 2.59807 16.4999 3.00002V10.5C16.5136 10.9019 16.36 11.2915 16.0757 11.5758C15.7914 11.8601 15.4018 12.0137 14.9999 12H11.9999V15C12.0136 15.4019 11.86 15.7915 11.5757 16.0758C11.2914 16.3601 10.9018 16.5137 10.4999 16.5ZM2.9999 7.50001V15H10.4999V12H7.49991C7.09802 12.0137 6.70845 11.8601 6.42411 11.5758C6.13977 11.2915 5.98616 10.9019 5.9999 10.5V7.50001H2.9999ZM7.49991 3.00002V10.5H14.9999V3.00002H7.49991Z\"\n fill=\"#5E6F8D\"\n />\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const InfoIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <g clip-path=\"url(#clip0_309_1899)\">\n <path\n d=\"M9 16.5C4.85786 16.5 1.5 13.1421 1.5 9C1.5 4.85786 4.85786 1.5 9 1.5C13.1421 1.5 16.5 4.85786 16.5 9C16.4955 13.1403 13.1403 16.4955 9 16.5ZM3 9.129C3.03549 12.4299 5.73083 15.0822 9.0319 15.0645C12.333 15.0467 14.9997 12.3656 14.9997 9.0645C14.9997 5.76338 12.333 3.08233 9.0319 3.0645C5.73083 3.04684 3.03549 5.69907 3 9V9.129ZM10.5 12.75H8.25V9.75H7.5V8.25H9.75V11.25H10.5V12.75ZM9.75 6.75H8.25V5.25H9.75V6.75Z\"\n fill={props.color || \"#9296A5\"}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_309_1899\">\n <rect width=\"18\" height=\"18\" fill=\"white\" />\n </clipPath>\n </defs>\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const SuccessfullSmallIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <path\n d=\"M9 16.5C4.85975 16.4954 1.50454 13.1402 1.5 9.00001V8.85001C1.58245 4.72841 4.97594 1.44598 9.09803 1.50067C13.2201 1.55537 16.5253 4.92668 16.4984 9.04899C16.4714 13.1714 13.1224 16.4992 9 16.5ZM5.5575 8.69251L4.5 9.75001L7.5 12.75L13.5 6.75001L12.4425 5.68501L7.5 10.6275L5.5575 8.69251Z\"\n fill=\"#1CD850\"\n />\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const WarningIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <path\n d=\"M15.9495 15.7485H2.04978C1.78184 15.7485 1.53426 15.6056 1.40028 15.3735C1.26631 15.1415 1.26631 14.8556 1.40028 14.6235L8.3498 2.62349C8.4839 2.39183 8.73125 2.24918 8.99892 2.24918C9.2666 2.24918 9.51395 2.39183 9.64805 2.62349L16.5975 14.6235C16.7314 14.8554 16.7315 15.1412 16.5977 15.3731C16.464 15.6052 16.2166 15.7482 15.9488 15.7485H15.9495ZM9.00005 4.49849L3.35178 14.2485H14.6498L9.00005 4.49849ZM9.7463 11.2493H8.2463V7.49849H9.7463V11.2493Z\"\n fill=\"#FFA63E\"\n />\n <path d=\"M8.25 12H9.75V13.5H8.25V12Z\" fill=\"#FFA63E\" />\n </Icon>\n);\n","import { type IconProps, Icon } from \"../../components/Icon\";\n\nexport const WithdrawIcon = (props: IconProps) => (\n <Icon {...props} viewBox=\"0 0 18 18\">\n <circle cx=\"9\" cy=\"9\" r=\"9\" fill=\"#EFF2FB\" />\n <path\n d=\"M13 9L9 12L5 9\"\n stroke=\"#5E6F8D\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M13 6L9 9L5 6\"\n stroke=\"#5E6F8D\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </Icon>\n);\n","import { styled } from \"styled-components\";\n\nexport type InformerType = \"success\" | \"error\" | \"info\" | \"warning\";\n\nexport const InformerStyled = styled.div<{\n $type: InformerType;\n $icon?: boolean;\n}>`\n display: grid;\n align-items: center;\n grid-template-columns: ${({ $icon }) => ($icon ? \"auto 1fr\" : \"1fr\")};\n gap: 12px;\n width: 458px;\n height: auto;\n border-radius: 12px;\n padding: 24px;\n background-color: ${({ $type, theme }) => {\n switch ($type) {\n case \"success\":\n return theme.colors.accent.green2Light;\n case \"error\":\n return theme.colors.accent.red;\n case \"info\":\n return theme.colors.primary.lightBlue2;\n case \"warning\":\n return theme.colors.accent.orange;\n }\n }};\n`;\n","import { InfoIcon } from \"@/icons\";\nimport { Typography } from \"../Typography\";\nimport { InformerStyled } from \"./styled\";\n\nexport type InformerType = \"success\" | \"error\" | \"info\" | \"warning\";\n\nexport type InformerProps = {\n label: string;\n description: string;\n type: InformerType;\n icon?: boolean;\n};\nexport const Informer: React.FC<InformerProps> = ({\n label,\n description,\n type,\n icon,\n}) => {\n return (\n <InformerStyled $icon={icon} $type={type}>\n {icon && <InfoIcon size={18} color=\"#fff\" />}\n {label && (\n <Typography color=\"#fff\" variant=\"body-l-semibold\">\n {label}\n </Typography>\n )}\n {icon && <div />}\n {description && (\n <Typography color=\"#fff\" variant=\"body-m-semibold\">\n {description}\n </Typography>\n )}\n </InformerStyled>\n );\n};\n","import { styled, css } from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4px;\n width: 100%;\n`;\n\nexport const Label = styled(Typography).attrs({\n variant: \"form-input\",\n forwardedAs: \"label\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n\nexport const FieldContainer = styled.div<{\n $hasError: boolean;\n $disabled: boolean;\n}>`\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n height: 48px;\n padding-left: 12px;\n border-radius: 5px;\n outline: 1px solid ${({ theme }) => theme.colors.gray.lightGray2};\n outline-offset: -1px;\n background: ${({ theme }) => theme.colors.primary.white};\n width: 100%;\n box-sizing: border-box;\n transition: border-color 140ms ease;\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n opacity: 0.6;\n cursor: not-allowed;\n `}\n\n ${({ $hasError, theme }) =>\n $hasError &&\n css`\n outline-color: ${theme.colors.accent.red};\n `}\n\n &:hover {\n outline-color: ${({ theme, $hasError }) =>\n $hasError ? theme.colors.accent.red : theme.colors.primary.lightBlue2};\n }\n\n &[data-state=\"active\"] {\n outline-color: ${({ theme, $hasError }) =>\n $hasError ? theme.colors.accent.red : theme.colors.primary.primaryBlue};\n }\n`;\n\nexport const LeadingIcon = styled.span`\n display: inline-flex;\n width: 24px;\n height: 24px;\n`;\n\nexport const ActionSlot = styled.span`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 48px;\n & > button {\n border-radius: 0px;\n }\n`;\n\nexport const Input = styled.input`\n flex: 1;\n border: none;\n outline: none;\n background: transparent;\n font-family: \"Proxima Nova\", sans-serif;\n padding-right: 12px;\n height: 100%;\n font-size: 15px;\n line-height: 18px;\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n\n &::placeholder {\n color: ${({ theme }) => theme.colors.gray.darkGray};\n }\n`;\n\nexport const ErrorText = styled.span`\n font-family: \"Proxima Nova\", sans-serif;\n font-size: 15px;\n line-height: 18px;\n color: ${({ theme }) => theme.colors.accent.red};\n`;\n","import { forwardRef, useState } from \"react\";\nimport type { ChangeEvent } from \"react\";\nimport * as S from \"./styled\";\n\nexport type TextFieldProps = {\n value?: string;\n defaultValue?: string;\n placeholder?: string;\n label?: string;\n error?: string;\n disabled?: boolean;\n icon?: React.ReactNode;\n action?: React.ReactNode; // кнопка/иконка справа\n name?: string;\n type?: React.HTMLInputTypeAttribute;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n className?: string;\n};\n\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n value,\n defaultValue,\n placeholder = \"Text\",\n label,\n error,\n disabled = false,\n icon,\n action,\n name,\n type = \"text\",\n onChange,\n onFocus,\n onBlur,\n className,\n },\n ref\n ) => {\n const [focused, setFocused] = useState(false);\n const hasError = Boolean(error);\n\n const handleFocus: React.FocusEventHandler<HTMLInputElement> = (evt) => {\n setFocused(true);\n onFocus?.(evt);\n };\n\n const handleBlur: React.FocusEventHandler<HTMLInputElement> = (evt) => {\n setFocused(false);\n onBlur?.(evt);\n };\n\n return (\n <S.Wrapper className={className}>\n {label && <S.Label>{label}</S.Label>}\n\n <S.FieldContainer\n $hasError={hasError}\n $disabled={disabled}\n data-state={hasError ? \"error\" : focused ? \"active\" : undefined}\n >\n {icon && <S.LeadingIcon>{icon}</S.LeadingIcon>}\n\n <S.Input\n ref={ref}\n type={type}\n name={name}\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n disabled={disabled}\n onChange={onChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n {action && <S.ActionSlot>{action}</S.ActionSlot>}\n </S.FieldContainer>\n {error && <S.ErrorText>{error}</S.ErrorText>}\n </S.Wrapper>\n );\n }\n);\n\nTextField.displayName = \"TextField\";\n","import { styled } from \"styled-components\";\n\nexport const ContainerStyled = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 24px 28px;\n background-color: ${({ theme }) => theme.colors.primary.white};\n border-radius: 10px;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n padding: 24px 20px;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n padding: 16px;\n }\n`;\n","import { ContainerStyled } from \"./styled\";\n\nexport const Container = ContainerStyled;\n","import { styled } from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const CounterStyled = styled(Typography).attrs({\n forwardedAs: \"div\",\n})`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0px;\n width: 22px;\n height: 22px;\n border-radius: 50%;\n color: #fff;\n background-color: ${({ theme }) => theme.colors.primary.primaryBlue};\n`;\n","import { CounterStyled } from \"./styled\";\n\nexport const Counter = ({ count = 0 }: { count?: number }) => {\n return <CounterStyled variant=\"body-s-semibold\">{count}</CounterStyled>;\n};\n","import { useCallback, useState } from \"react\";\nimport { CloseIcon, HamburgerIcon } from \"@/icons\";\nimport { Button } from \"../Button\";\n\ntype HamburgerButtonProps = {\n open?: boolean;\n onToggle?: (next: boolean) => void;\n};\n\nexport const HamburgerButton: React.FC<HamburgerButtonProps> = ({\n open,\n onToggle,\n}) => {\n const [internalOpen, setInternalOpen] = useState(false);\n\n const isControlled = open !== undefined;\n const isOpen = isControlled ? open : internalOpen;\n\n const handleClick = useCallback(() => {\n const next = !isOpen;\n\n if (!isControlled) {\n setInternalOpen(next);\n }\n\n onToggle?.(next);\n }, [isControlled, isOpen, onToggle]);\n\n return (\n <Button\n iconPosition=\"only\"\n variant=\"tertiary\"\n icon={isOpen ? <CloseIcon /> : <HamburgerIcon />}\n size=\"small\"\n onClick={handleClick}\n />\n );\n};\n","import { styled, keyframes } from \"styled-components\";\n\nconst scaleDot = keyframes`\n 0% {\n transform: scale(0.5);\n }\n 25% {\n transform: scale(1);\n }\n 75% {\n transform: scale(0.5);\n }\n 100% {\n transform: scale(0.5);\n }\n`;\n\nexport const LoaderDots = styled.div`\n display: flex;\n`;\n\nexport const LoaderDot = styled.div`\n margin: 2px;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: ${({ theme }) => theme.colors.primary.primaryBlue};\n transform: scale(0.5);\n animation: ${scaleDot} 1.2s ease-out infinite;\n\n &:nth-of-type(2) {\n animation-delay: 0.2s;\n }\n &:nth-of-type(3) {\n animation-delay: 0.3s;\n }\n &:nth-of-type(4) {\n animation-delay: 0.4s;\n }\n &:nth-of-type(5) {\n animation-delay: 0.5s;\n }\n`;\n","import { LoaderDots, LoaderDot } from \"./styled\";\n\nexport const Loader = () => (\n <LoaderDots>\n <LoaderDot />\n <LoaderDot />\n <LoaderDot />\n </LoaderDots>\n);\n","import { styled, css } from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const RadioLabel = styled.label<{ disabled: boolean }>`\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n`;\n\nexport const HiddenInput = styled.input`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nexport const VisualRadio = styled.span<{\n $checked: boolean;\n $disabled: boolean;\n}>`\n width: 16px;\n height: 16px;\n border-radius: 50%;\n border: 2px solid ${({ theme }) => theme.colors.gray.darkGray2};\n background-color: transparent;\n transition: border-color 160ms ease, background-color 160ms ease;\n position: relative;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n ${({ $checked, theme }) =>\n $checked &&\n css`\n border-color: ${theme.colors.primary.primaryBlue};\n &::after {\n content: \"\";\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: ${theme.colors.primary.primaryBlue};\n transition: background-color 160ms ease;\n }\n `}\n\n ${({ $checked, theme }) =>\n !$checked &&\n css`\n &:hover {\n border-color: ${theme.colors.primary.hoverBlue};\n }\n `}\n\n ${({ $checked, $disabled, theme }) =>\n !$disabled &&\n $checked &&\n css`\n &:hover {\n border-color: ${theme.colors.primary.hoverBlue};\n &::after {\n background-color: ${theme.colors.primary.hoverBlue};\n }\n }\n `}\n\n ${({ $disabled, theme }) =>\n $disabled &&\n css`\n border-color: ${theme.colors.icon.iconSecondary};\n background-color: ${theme.colors.gray.lightGray2};\n &::after {\n content: \"\";\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: ${theme.colors.icon.iconSecondary};\n }\n `}\n`;\n\nexport const LabelText = styled(Typography)`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import { useId, useState, useCallback } from \"react\";\nimport * as S from \"./styled\";\n\ntype RadioButtonProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n name?: string;\n value?: string;\n label?: string;\n onChange?: (value: boolean) => void;\n className?: string;\n};\n\nexport const RadioButton: React.FC<RadioButtonProps> = ({\n checked,\n defaultChecked = false,\n disabled = false,\n name,\n value,\n label,\n onChange,\n className,\n}) => {\n const generatedId = useId();\n const [innerChecked, setInnerChecked] = useState(defaultChecked);\n const isControlled = checked !== undefined;\n const isChecked = isControlled ? checked! : innerChecked;\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n if (!isControlled) {\n setInnerChecked(e.target.checked);\n }\n onChange?.(e.target.checked);\n },\n [disabled, isControlled, onChange]\n );\n\n return (\n <S.RadioLabel\n className={className}\n htmlFor={generatedId}\n disabled={disabled}\n >\n <S.HiddenInput\n id={generatedId}\n type=\"radio\"\n checked={isChecked}\n onChange={handleChange}\n disabled={disabled}\n name={name}\n value={value}\n />\n <S.VisualRadio $checked={isChecked} $disabled={disabled} />\n {label && <S.LabelText variant=\"button\">{label}</S.LabelText>}\n </S.RadioLabel>\n );\n};\n","import { styled, css } from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const Wrapper = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n`;\n\nexport const Label = styled(Typography).attrs({\n variant: \"form-input\",\n forwardedAs: \"label\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n\nexport const FieldContainer = styled.div<{\n $hasError: boolean;\n $disabled: boolean;\n}>`\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n height: 48px;\n padding: 0 12px;\n border-radius: 5px;\n outline: 1px solid ${({ theme }) => theme.colors.gray.lightGray2};\n outline-offset: -1px;\n background: ${({ theme }) => theme.colors.primary.white};\n width: 100%;\n box-sizing: border-box;\n transition: outline-color 140ms ease;\n cursor: pointer;\n\n ${({ $disabled }) =>\n $disabled &&\n css`\n opacity: 0.6;\n cursor: not-allowed;\n `}\n\n ${({ $hasError, theme }) =>\n $hasError &&\n css`\n outline-color: ${theme.colors.accent.red};\n `}\n\n &:hover {\n outline-color: ${({ theme, $hasError }) =>\n $hasError ? theme.colors.accent.red : theme.colors.primary.lightBlue2};\n }\n\n &[data-state=\"active\"] {\n outline-color: ${({ theme, $hasError }) =>\n $hasError ? theme.colors.accent.red : theme.colors.primary.primaryBlue};\n }\n`;\n\nexport const LeadingIcon = styled.span`\n display: inline-flex;\n width: 24px;\n height: 24px;\n color: ${({ theme }) => theme.colors.primary.primaryBlue};\n`;\n\nexport const Value = styled.span<{ $placeholder: boolean }>`\n flex: 1;\n font-family: \"Proxima Nova\", sans-serif;\n font-size: 15px;\n line-height: 18px;\n color: ${({ theme, $placeholder }) =>\n $placeholder ? theme.colors.gray.darkGray : theme.colors.primary.darkBlue};\n user-select: none;\n`;\n\nexport const HiddenInput = styled.input`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nexport const ErrorText = styled.span`\n font-family: \"Proxima Nova\", sans-serif;\n font-size: 13px;\n line-height: 16px;\n color: ${({ theme }) => theme.colors.accent.red};\n`;\n\nexport const List = styled.div<{\n $top: number;\n $left: number;\n $width: number;\n}>`\n position: fixed;\n top: ${({ $top }) => `${$top}px`};\n left: ${({ $left }) => `${$left}px`};\n width: ${({ $width }) => `${$width}px`};\n z-index: 999;\n border-radius: 5px;\n border: 1px solid ${({ theme }) => theme.colors.gray.lightGray2};\n background: ${({ theme }) => theme.colors.primary.white};\n box-shadow: 0px 8px 24px rgba(15, 23, 42, 0.12);\n display: flex;\n flex-direction: column;\n max-height: 260px;\n overflow-y: auto;\n`;\n\nexport const Option = styled.button`\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 0 13px;\n height: 40px;\n border: none;\n background: transparent;\n width: 100%;\n text-align: left;\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n cursor: pointer;\n transition: background 140ms ease;\n\n &[data-hovered=\"true\"],\n &:hover {\n background: ${({ theme }) => theme.colors.gray.lightBlueGray};\n }\n\n &[data-active=\"true\"] {\n background: ${({ theme }) => theme.colors.gray.lightGray};\n }\n`;\n\nexport const OptionIcon = styled.span`\n display: inline-flex;\n width: 24px;\n height: 24px;\n`;\n","import {\n forwardRef,\n useState,\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useLayoutEffect,\n} from \"react\";\nimport type { KeyboardEvent, MouseEvent, FocusEventHandler } from \"react\";\nimport * as S from \"./styled\";\nimport { Typography } from \"../Typography\";\n\nconst DROPDOWN_OFFSET = 8;\n\nexport type SelectOption = {\n label: string;\n value: string;\n icon?: React.ReactNode;\n};\n\nexport type SelectFieldProps = {\n options: SelectOption[];\n value?: string;\n defaultValue?: string;\n placeholder?: string;\n label?: string;\n error?: string;\n disabled?: boolean;\n icon?: React.ReactNode;\n name?: string;\n onChange?: (value: string) => void;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n className?: string;\n};\n\nexport const SelectField = forwardRef<HTMLInputElement, SelectFieldProps>(\n (\n {\n options,\n value,\n defaultValue,\n placeholder = \"Text\",\n label,\n error,\n disabled = false,\n icon,\n name,\n onChange,\n onFocus,\n onBlur,\n className,\n },\n ref\n ) => {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const fieldRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [focused, setFocused] = useState(false);\n const [internalValue, setInternalValue] = useState(defaultValue ?? \"\");\n const [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n const [dropdownRect, setDropdownRect] = useState({\n top: 0,\n left: 0,\n width: 0,\n });\n\n const selectedValue = value ?? internalValue;\n\n const selectedOption = useMemo(\n () => options.find((opt) => opt.value === selectedValue),\n [options, selectedValue]\n );\n\n const hasError = Boolean(error);\n const displayPlaceholder = !selectedOption;\n const displayText = selectedOption?.label ?? placeholder;\n\n const updateDropdownPosition = useCallback(() => {\n if (!fieldRef.current) return;\n const rect = fieldRef.current.getBoundingClientRect();\n setDropdownRect({\n top: rect.bottom + DROPDOWN_OFFSET,\n left: rect.left,\n width: rect.width,\n });\n }, []);\n\n useLayoutEffect(() => {\n if (!isOpen) return;\n updateDropdownPosition();\n\n const handleRecalc = () => updateDropdownPosition();\n window.addEventListener(\"resize\", handleRecalc);\n window.addEventListener(\"scroll\", handleRecalc, true);\n\n return () => {\n window.removeEventListener(\"resize\", handleRecalc);\n window.removeEventListener(\"scroll\", handleRecalc, true);\n };\n }, [isOpen, updateDropdownPosition]);\n\n const closeDropdown = useCallback(() => {\n setIsOpen(false);\n setHoveredIndex(null);\n }, []);\n\n const openDropdown = useCallback(() => {\n if (disabled) return;\n setIsOpen(true);\n setHoveredIndex((prev) => {\n if (prev !== null) return prev;\n const currentIndex = options.findIndex(\n (opt) => opt.value === selectedValue\n );\n return currentIndex >= 0 ? currentIndex : 0;\n });\n }, [disabled, options, selectedValue]);\n\n const toggleDropdown = useCallback(() => {\n if (isOpen) {\n closeDropdown();\n } else {\n openDropdown();\n }\n }, [isOpen, closeDropdown, openDropdown]);\n\n const handleSelect = (option: SelectOption) => {\n if (disabled) return;\n setInternalValue(option.value);\n onChange?.(option.value);\n closeDropdown();\n };\n\n const handleKeyDown = (evt: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return;\n\n switch (evt.key) {\n case \"ArrowDown\":\n evt.preventDefault();\n openDropdown();\n setHoveredIndex((prev) =>\n prev === null ? 0 : Math.min(prev + 1, options.length - 1)\n );\n break;\n case \"ArrowUp\":\n evt.preventDefault();\n openDropdown();\n setHoveredIndex((prev) =>\n prev === null ? options.length - 1 : Math.max(prev - 1, 0)\n );\n break;\n case \"Enter\":\n case \" \":\n evt.preventDefault();\n if (!isOpen) {\n openDropdown();\n } else if (hoveredIndex !== null && options[hoveredIndex]) {\n handleSelect(options[hoveredIndex]);\n }\n break;\n case \"Escape\":\n case \"Tab\":\n closeDropdown();\n break;\n }\n };\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleClickOutside = (evt: MouseEvent | globalThis.MouseEvent) => {\n const target = evt.target as Node;\n const isInsideField =\n wrapperRef.current && wrapperRef.current.contains(target);\n const isInsideList =\n listRef.current && listRef.current.contains(target);\n\n if (!isInsideField && !isInsideList) {\n closeDropdown();\n }\n };\n\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen, closeDropdown]);\n\n const handleFocus: FocusEventHandler<HTMLDivElement> = (evt) => {\n setFocused(true);\n onFocus?.(evt);\n };\n\n const handleBlur: FocusEventHandler<HTMLDivElement> = (evt) => {\n setFocused(false);\n onBlur?.(evt);\n };\n\n return (\n <S.Wrapper\n className={className}\n ref={wrapperRef}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n >\n {label && <S.Label>{label}</S.Label>}\n\n <S.FieldContainer\n ref={fieldRef}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-invalid={hasError}\n aria-disabled={disabled}\n $hasError={hasError}\n $disabled={disabled}\n data-state={\n hasError ? \"error\" : isOpen || focused ? \"active\" : undefined\n }\n onClick={toggleDropdown}\n >\n {icon && <S.LeadingIcon>{icon}</S.LeadingIcon>}\n\n <S.Value $placeholder={displayPlaceholder}>{displayText}</S.Value>\n\n <S.HiddenInput\n ref={ref}\n readOnly\n name={name}\n value={selectedValue}\n tabIndex={-1}\n aria-hidden\n />\n </S.FieldContainer>\n\n {error && <S.ErrorText>{error}</S.ErrorText>}\n\n {isOpen && (\n <S.List\n ref={listRef}\n role=\"listbox\"\n $top={dropdownRect.top}\n $left={dropdownRect.left}\n $width={dropdownRect.width}\n >\n {options.map((option, index) => {\n const isActiveOption = option.value === selectedValue;\n const isHovered = index === hoveredIndex;\n\n return (\n <S.Option\n key={option.value}\n role=\"option\"\n aria-selected={isActiveOption}\n data-active={isActiveOption || undefined}\n data-hovered={isHovered || undefined}\n onMouseEnter={() => setHoveredIndex(index)}\n onMouseLeave={() => setHoveredIndex(null)}\n onMouseDown={(evt) => evt.preventDefault()}\n onClick={() => handleSelect(option)}\n >\n {option.icon && <S.OptionIcon>{option.icon}</S.OptionIcon>}\n <Typography variant=\"form-input\">{option.label}</Typography>\n </S.Option>\n );\n })}\n </S.List>\n )}\n </S.Wrapper>\n );\n }\n);\n\nSelectField.displayName = \"SelectField\";\n","import styled, { css } from \"styled-components\";\nimport type { TooltipPosition } from \"./types\";\nimport { Typography } from \"../Typography\";\n\ntype BubbleProps = {\n $visible: boolean;\n $interactive: boolean;\n $placement: TooltipPosition;\n};\n\nconst hiddenShift: Record<TooltipPosition, string> = {\n top: \"translate3d(0, 6px, 0)\",\n bottom: \"translate3d(0, -6px, 0)\",\n left: \"translate3d(6px, 0, 0)\",\n right: \"translate3d(-6px, 0, 0)\",\n};\n\nexport const TooltipWrapper = styled.div`\n display: inline-flex;\n position: relative;\n`;\n\nexport const TooltipTrigger = styled.div`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n outline: none;\n\n &:focus-visible {\n box-shadow: inset 0 0 0 2px rgba(84, 132, 255, 0.65);\n border-radius: 6px;\n }\n\n &[data-open=\"true\"] {\n cursor: default;\n }\n\n &[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n`;\n\nexport const TooltipBubble = styled.div<BubbleProps>`\n position: fixed;\n top: -9999px;\n left: -9999px;\n padding: 10px 14px;\n border-radius: 8px;\n font-size: 13px;\n line-height: 1.35;\n max-width: min(320px, calc(100vw - 16px));\n box-shadow: 0px 8px 24px 0px #0000001f;\n filter: drop-shadow(0px 8px 24px 0px #0000001f);\n background: ${({ theme }) => theme.colors.primary.white};\n z-index: 9999;\n opacity: ${({ $visible }) => ($visible ? 1 : 0)};\n visibility: ${({ $visible }) => ($visible ? \"visible\" : \"hidden\")};\n transform: ${({ $visible, $placement }) =>\n $visible ? \"translate3d(0, 0, 0)\" : hiddenShift[$placement]};\n transition: opacity 0.18s ease, transform 0.18s ease;\n\n pointer-events: ${({ $visible, $interactive }) =>\n $visible && $interactive ? \"auto\" : \"none\"};\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &::after {\n content: \"\";\n position: absolute;\n inset: 0;\n border-radius: inherit;\n pointer-events: none;\n }\n\n &[data-placement=\"top\"] {\n --tooltip-arrow-x: 0px;\n }\n\n &[data-placement=\"bottom\"] {\n --tooltip-arrow-x: 0px;\n }\n\n &[data-placement=\"left\"] {\n --tooltip-arrow-y: 0px;\n }\n\n &[data-placement=\"right\"] {\n --tooltip-arrow-y: 0px;\n }\n`;\ntype ArrowProps = { $placement: TooltipPosition };\n\nexport const TooltipArrow = styled.span<ArrowProps>`\n position: absolute;\n width: 10px;\n height: 10px;\n background: inherit;\n border: inherit;\n border-radius: 2px;\n transform: rotate(45deg);\n pointer-events: none;\n\n ${({ $placement }) => {\n switch ($placement) {\n case \"top\":\n return css`\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%) translateX(var(--tooltip-arrow-x, 0px))\n rotate(45deg);\n `;\n case \"bottom\":\n return css`\n top: -5px;\n left: 50%;\n transform: translateX(-50%) translateX(var(--tooltip-arrow-x, 0px))\n rotate(45deg);\n `;\n case \"left\":\n return css`\n right: -5px;\n top: 50%;\n transform: translateY(-50%) translateY(var(--tooltip-arrow-y, 0px))\n rotate(45deg);\n `;\n case \"right\":\n default:\n return css`\n left: -5px;\n top: 50%;\n transform: translateY(-50%) translateY(var(--tooltip-arrow-y, 0px))\n rotate(45deg);\n `;\n }\n }}\n`;\n\nexport const TooltipContentText = styled(Typography).attrs({\n variant: \"body-s\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import React, {\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n TooltipBubble,\n TooltipArrow,\n TooltipTrigger,\n TooltipWrapper,\n TooltipContentText,\n} from \"./styled\";\nimport type { TooltipPosition } from \"./types\";\n\ntype TooltipProps = {\n content: React.ReactNode;\n children: React.ReactNode;\n position?: TooltipPosition;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n showDelay?: number;\n hideDelay?: number;\n interactive?: boolean;\n disabled?: boolean;\n hideOnClick?: boolean;\n maxWidth?: number | string;\n};\n\ntype LayoutState = {\n top: number;\n left: number;\n arrowX: number;\n arrowY: number;\n placement: TooltipPosition;\n};\n\nconst VIEWPORT_PADDING = 8;\nconst GUTTER = 12;\nconst ARROW_SAFE_ZONE = 12;\n\nconst fallbackOrder: Record<TooltipPosition, TooltipPosition[]> = {\n top: [\"top\", \"bottom\", \"right\", \"left\"],\n bottom: [\"bottom\", \"top\", \"right\", \"left\"],\n left: [\"left\", \"right\", \"top\", \"bottom\"],\n right: [\"right\", \"left\", \"top\", \"bottom\"],\n};\n\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n position = \"top\",\n open,\n defaultOpen = false,\n onOpenChange,\n showDelay = 150,\n hideDelay = 150,\n interactive = false,\n disabled = false,\n hideOnClick = false,\n maxWidth,\n}) => {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const isControlled = typeof open === \"boolean\";\n const isOpen = isControlled ? !!open : internalOpen;\n\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const bubbleRef = useRef<HTMLDivElement | null>(null);\n const showTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const hideTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const rafRef = useRef<number | null>(null);\n\n const tooltipId = useId();\n const INITIAL_LAYOUT: LayoutState = useMemo(\n () => ({\n top: -9999,\n left: -9999,\n arrowX: 0,\n arrowY: 0,\n placement: position,\n }),\n [position]\n );\n\n const [layout, setLayout] = useState<LayoutState>(INITIAL_LAYOUT);\n\n const clearTimers = () => {\n if (showTimer.current) {\n clearTimeout(showTimer.current);\n showTimer.current = null;\n }\n if (hideTimer.current) {\n clearTimeout(hideTimer.current);\n hideTimer.current = null;\n }\n };\n\n const commitState = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setInternalOpen(next);\n }\n if (!next) {\n setLayout(INITIAL_LAYOUT);\n }\n onOpenChange?.(next);\n },\n [INITIAL_LAYOUT, isControlled, onOpenChange]\n );\n\n const scheduleShow = useCallback(() => {\n if (disabled) return;\n clearTimers();\n showTimer.current = setTimeout(() => commitState(true), showDelay);\n }, [disabled, commitState, showDelay]);\n\n const scheduleHide = useCallback(() => {\n if (disabled) return;\n clearTimers();\n hideTimer.current = setTimeout(() => commitState(false), hideDelay);\n }, [disabled, commitState, hideDelay]);\n\n const handlePointerEnter = () => {\n if (!disabled) scheduleShow();\n };\n\n const handlePointerLeave = () => {\n if (!disabled) scheduleHide();\n };\n\n const handleFocus = () => {\n if (!disabled) scheduleShow();\n };\n\n const handleBlur = () => {\n if (!disabled) scheduleHide();\n };\n\n const handleClick = () => {\n if (hideOnClick) {\n commitState(false);\n }\n };\n\n const handleInteractiveEnter = () => {\n if (!interactive) return;\n clearTimers();\n };\n\n const handleInteractiveLeave = () => {\n if (!interactive) return;\n scheduleHide();\n };\n\n const recomputePosition = useCallback(() => {\n if (\n typeof window === \"undefined\" ||\n !triggerRef.current ||\n !bubbleRef.current\n ) {\n return;\n }\n\n const triggerRect = triggerRef.current.getBoundingClientRect();\n const bubbleRect = bubbleRef.current.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const anchorX = triggerRect.left + triggerRect.width / 2;\n const anchorY = triggerRect.top + triggerRect.height / 2;\n\n const fits = (placement: TooltipPosition) => {\n switch (placement) {\n case \"top\":\n return (\n triggerRect.top >= bubbleRect.height + GUTTER + VIEWPORT_PADDING\n );\n case \"bottom\":\n return (\n viewportHeight - triggerRect.bottom >=\n bubbleRect.height + GUTTER + VIEWPORT_PADDING\n );\n case \"left\":\n return (\n triggerRect.left >= bubbleRect.width + GUTTER + VIEWPORT_PADDING\n );\n case \"right\":\n return (\n viewportWidth - triggerRect.right >=\n bubbleRect.width + GUTTER + VIEWPORT_PADDING\n );\n default:\n return true;\n }\n };\n\n const nextPlacement =\n fallbackOrder[position].find((option) => fits(option)) ?? position;\n\n let top = 0;\n let left = 0;\n\n switch (nextPlacement) {\n case \"top\":\n top = triggerRect.top - bubbleRect.height - GUTTER;\n left = anchorX - bubbleRect.width / 2;\n break;\n case \"bottom\":\n top = triggerRect.bottom + GUTTER;\n left = anchorX - bubbleRect.width / 2;\n break;\n case \"left\":\n top = anchorY - bubbleRect.height / 2;\n left = triggerRect.left - bubbleRect.width - GUTTER;\n break;\n case \"right\":\n default:\n top = anchorY - bubbleRect.height / 2;\n left = triggerRect.right + GUTTER;\n break;\n }\n\n const horizontalSpace = Math.max(viewportWidth - VIEWPORT_PADDING * 2, 0);\n const verticalSpace = Math.max(viewportHeight - VIEWPORT_PADDING * 2, 0);\n\n const minLeft = VIEWPORT_PADDING;\n const maxLeft = viewportWidth - bubbleRect.width - VIEWPORT_PADDING;\n const minTop = VIEWPORT_PADDING;\n const maxTop = viewportHeight - bubbleRect.height - VIEWPORT_PADDING;\n\n const clampedLeft =\n bubbleRect.width >= horizontalSpace\n ? VIEWPORT_PADDING\n : clamp(left, minLeft, maxLeft);\n const clampedTop =\n bubbleRect.height >= verticalSpace\n ? VIEWPORT_PADDING\n : clamp(top, minTop, maxTop);\n\n let arrowX = 0;\n let arrowY = 0;\n\n if (nextPlacement === \"top\" || nextPlacement === \"bottom\") {\n const arrowLimit = Math.max(bubbleRect.width / 2 - ARROW_SAFE_ZONE, 0);\n arrowX = clamp(\n anchorX - (clampedLeft + bubbleRect.width / 2),\n -arrowLimit,\n arrowLimit\n );\n arrowY = 0;\n } else {\n const arrowLimit = Math.max(bubbleRect.height / 2 - ARROW_SAFE_ZONE, 0);\n arrowY = clamp(\n anchorY - (clampedTop + bubbleRect.height / 2),\n -arrowLimit,\n arrowLimit\n );\n arrowX = 0;\n }\n\n setLayout((prev) => {\n if (\n prev.top === clampedTop &&\n prev.left === clampedLeft &&\n prev.arrowX === arrowX &&\n prev.arrowY === arrowY &&\n prev.placement === nextPlacement\n ) {\n return prev;\n }\n return {\n top: clampedTop,\n left: clampedLeft,\n arrowX,\n arrowY,\n placement: nextPlacement,\n };\n });\n }, [position]);\n\n useLayoutEffect(() => {\n if (!isOpen) {\n return; // никакого setLayout здесь\n }\n\n const bubbleEl = bubbleRef.current;\n const triggerEl = triggerRef.current;\n if (!bubbleEl || !triggerEl) return;\n\n const schedule = () => {\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n }\n rafRef.current = window.requestAnimationFrame(() => {\n rafRef.current = null;\n recomputePosition();\n });\n };\n\n schedule();\n\n const canObserve =\n typeof window !== \"undefined\" && \"ResizeObserver\" in window;\n const resizeObserver = canObserve ? new ResizeObserver(schedule) : null;\n\n resizeObserver?.observe(bubbleEl);\n resizeObserver?.observe(triggerEl);\n window.addEventListener(\"resize\", schedule);\n window.addEventListener(\"scroll\", schedule, true);\n\n return () => {\n window.removeEventListener(\"resize\", schedule);\n window.removeEventListener(\"scroll\", schedule, true);\n resizeObserver?.disconnect();\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n };\n }, [isOpen, recomputePosition]);\n\n useEffect(() => clearTimers, []);\n\n useEffect(() => {\n if (!isOpen) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n commitState(false);\n }\n };\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node;\n if (\n wrapperRef.current?.contains(target) ||\n bubbleRef.current?.contains(target)\n ) {\n return;\n }\n commitState(false);\n };\n\n document.addEventListener(\"keydown\", handleKeyDown);\n document.addEventListener(\"pointerdown\", handlePointerDown);\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n };\n }, [isOpen, commitState]);\n\n type BubbleInlineStyle = React.CSSProperties & {\n \"--tooltip-arrow-x\"?: string;\n \"--tooltip-arrow-y\"?: string;\n };\n\n const bubbleStyle: BubbleInlineStyle = {\n top: layout.top,\n left: layout.left,\n [\"--tooltip-arrow-x\" as const]: `${layout.arrowX}px`,\n [\"--tooltip-arrow-y\" as const]: `${layout.arrowY}px`,\n };\n\n if (maxWidth !== undefined) {\n bubbleStyle.maxWidth =\n typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth;\n }\n\n return (\n <TooltipWrapper ref={wrapperRef} data-disabled={disabled}>\n <TooltipTrigger\n ref={triggerRef}\n tabIndex={disabled ? -1 : 0}\n aria-describedby={isOpen ? tooltipId : undefined}\n onMouseEnter={handlePointerEnter}\n onMouseLeave={handlePointerLeave}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onClick={handleClick}\n data-open={isOpen}\n >\n {children}\n </TooltipTrigger>\n\n <TooltipBubble\n ref={bubbleRef}\n id={tooltipId}\n role=\"tooltip\"\n aria-hidden={!isOpen}\n $visible={isOpen}\n $interactive={interactive}\n $placement={layout.placement}\n style={bubbleStyle}\n data-placement={layout.placement} // опционально, если нужно в тестах/QA\n onMouseEnter={handleInteractiveEnter}\n onMouseLeave={handleInteractiveLeave}\n >\n {[\"string\", \"number\"].includes(typeof content) ? (\n <TooltipContentText variant=\"body-m\">{content}</TooltipContentText>\n ) : (\n content\n )}\n <TooltipArrow $placement={layout.placement} />\n </TooltipBubble>\n </TooltipWrapper>\n );\n};\n","export const maskEmail = (email: string, keep = 4, stars = 7): string => {\n const trimmed = email.trim();\n if (!trimmed) return trimmed;\n\n const lastDotIndex = trimmed.lastIndexOf(\".\");\n if (lastDotIndex <= 0 || lastDotIndex === trimmed.length - 1) {\n return trimmed;\n }\n\n const tld = trimmed.slice(lastDotIndex + 1);\n const core = trimmed.slice(0, lastDotIndex).replace(/[@.]/g, \"\");\n\n const visible = core.slice(0, keep);\n const mask = \"*\".repeat(stars);\n\n return `${visible}${mask}${tld}`;\n};\n\nexport const formatCardNumber = (cardNum: number): string => {\n const digits = cardNum.toString().padStart(16, \"0\");\n return digits.replace(/(\\d{4})(?=\\d)/g, \"$1 \");\n};\n\nexport const copyToClipboard = async (text: string): Promise<void> => {\n try {\n await navigator.clipboard.writeText(text);\n console.log(\"Скопировано в буфер обмена\");\n } catch (err) {\n console.error(\"Ошибка копирования:\", err);\n }\n};\n","import { styled } from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const UserAccountStyled = styled.div`\n display: flex;\n gap: 10px;\n align-items: center;\n`;\n\nexport const UserAccountText = styled(Typography)`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import { maskEmail } from \"@/utils\";\nimport { UserAccountStyled, UserAccountText } from \"./styled\";\nimport { UserIcon } from \"@/icons\";\n\nexport const UserAccount = ({ email }: { email: string }) => (\n <UserAccountStyled>\n <UserIcon />\n <UserAccountText variant=\"body-m-semibold\">\n {maskEmail(email)}\n </UserAccountText>\n </UserAccountStyled>\n);\n","import styled, { css } from \"styled-components\";\nimport type { TabSize } from \"./item\";\n\nconst sizeTokens: Record<\n TabSize,\n {\n minWidth: number;\n height: number;\n fontSize: number;\n lineHeight: number;\n paddingX: number;\n }\n> = {\n m: { minWidth: 55, height: 46, fontSize: 16, lineHeight: 20, paddingX: 14 },\n l: { minWidth: 58, height: 48, fontSize: 18, lineHeight: 22, paddingX: 14 },\n xl: { minWidth: 68, height: 56, fontSize: 24, lineHeight: 30, paddingX: 14 },\n};\n\nexport const TabButton = styled.button<{ $active: boolean; $size: TabSize }>`\n ${({ $size }) => css`\n min-width: ${sizeTokens[$size].minWidth}px;\n height: ${sizeTokens[$size].height}px;\n padding: 0 ${sizeTokens[$size].paddingX}px;\n font-size: ${sizeTokens[$size].fontSize}px;\n line-height: ${sizeTokens[$size].lineHeight}px;\n `}\n position: relative;\n background: transparent;\n border: none;\n display: inline-flex;\n align-items: flex-end;\n justify-content: center;\n font-weight: 700;\n cursor: pointer;\n text-transform: none;\n color: ${({ theme, $active }) =>\n $active ? theme.colors.primary.darkBlue : theme.colors.gray.darkGray};\n transition: color 120ms ease;\n padding-bottom: 25px;\n &::after {\n content: \"\";\n position: absolute;\n inset-inline: 0;\n bottom: 0;\n height: ${({ $active }) => ($active ? 2 : 1)}px;\n background: ${({ theme, $active }) =>\n $active\n ? theme.colors.primary.primaryBlue\n : theme.colors.gray.lightGray2};\n transition: height 120ms ease, background 120ms ease;\n }\n\n &:hover:not(:disabled) {\n color: ${({ theme }) => theme.colors.primary.darkBlue2};\n\n &::after {\n height: 2px;\n background: ${({ theme }) => theme.colors.primary.hoverBlue};\n }\n }\n\n &:focus-visible {\n outline: none;\n box-shadow: inset 0 -2px 0 ${({ theme }) => theme.colors.primary.hoverBlue};\n }\n\n &:disabled {\n cursor: not-allowed;\n color: ${({ theme }) => theme.colors.gray.darkGray + \"80\"};\n &::after {\n background: ${({ theme }) => theme.colors.gray.lightGray2};\n }\n }\n`;\n\nexport const TabRow = styled.div`\n display: flex;\n box-shadow: inset 0 -1px 0 ${({ theme }) => theme.colors.gray.lightGray2};\n`;\n","import { useCallback } from \"react\";\nimport * as S from \"./styled\";\n\nexport type TabSize = \"m\" | \"l\" | \"xl\";\n\nexport type TabProps = {\n id: string;\n label: string;\n active?: boolean;\n disabled?: boolean;\n size?: TabSize;\n onSelect?: (id: string) => void;\n className?: string;\n};\n\nexport const Tab: React.FC<TabProps> = ({\n id,\n label,\n active = false,\n disabled = false,\n size = \"m\",\n onSelect,\n className,\n}) => {\n const handleClick = useCallback(() => {\n if (disabled) return;\n onSelect?.(id);\n }, [disabled, id, onSelect]);\n\n return (\n <S.TabButton\n type=\"button\"\n role=\"tab\"\n aria-selected={active}\n aria-disabled={disabled}\n disabled={disabled}\n $size={size}\n $active={active}\n className={className}\n onClick={handleClick}\n >\n {label}\n </S.TabButton>\n );\n};\n","import { useCallback } from \"react\";\nimport { Tab, type TabProps, type TabSize } from \"./item\";\nimport * as S from \"./styled\";\n\ntype TabItem = Omit<TabProps, \"onSelect\" | \"size\" | \"active\">;\n\ntype TabListProps = {\n size?: TabSize;\n activeId: string;\n items: TabItem[];\n onChange: (id: string) => void;\n className?: string;\n};\n\nexport const TabList: React.FC<TabListProps> = ({\n size = \"m\",\n activeId,\n items,\n onChange,\n className,\n}) => {\n const handleSelect = useCallback(\n (id: string) => {\n onChange(id);\n },\n [onChange]\n );\n\n return (\n <S.TabRow role=\"tablist\" className={className}>\n {items.map((tab) => (\n <Tab\n key={tab.id}\n {...tab}\n size={size}\n active={tab.id === activeId}\n onSelect={handleSelect}\n />\n ))}\n </S.TabRow>\n );\n};\n","import styled from \"styled-components\";\nimport { Typography } from \"../Typography\";\n\nexport const TableStyled = styled.table`\n width: 100%;\n border-collapse: collapse;\n overflow: hidden;\n`;\n\nexport const TableRow = styled.tr`\n &:nth-child(2n) {\n background: ${({ theme }) => theme.colors.gray.lightBlueGray};\n }\n`;\n\nexport const TableCell = styled(Typography).attrs({\n forwardedAs: \"td\",\n variant: \"body-m\",\n})`\n display: table-cell;\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n padding: 16px 14px;\n &:first-child {\n border-radius: 10px 0 0 10px;\n }\n &:last-child {\n border-radius: 0 10px 10px 0;\n }\n`;\n\nexport const TableHeader = styled(Typography).attrs({\n forwardedAs: \"th\",\n variant: \"body-s\",\n})`\n display: table-cell;\n color: ${({ theme }) => theme.colors.gray.darkGray2};\n padding: 16px 14px;\n`;\n\nexport const TableBody = styled.tbody``;\n\nexport const TableHead = styled.thead``;\n","import {\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n TableStyled,\n} from \"./styled\";\n\ntype Column = {\n name: string;\n id: string;\n align?: \"left\" | \"center\" | \"right\";\n width?: HTMLElement[\"style\"][\"width\"];\n render?: (row: Row) => React.ReactNode;\n};\n\ninterface Row {\n id: string;\n [key: Column[\"id\"]]: string | number | React.ReactNode;\n}\n\ninterface TableProps {\n columns: Column[];\n data: Row[];\n}\n\nexport const Table: React.FC<TableProps> = ({ columns, data }) => {\n return (\n <TableStyled>\n <TableHead>\n <TableRow>\n {columns.map((column) => (\n <TableHeader\n width={column.width}\n align={column.align || \"left\"}\n key={column.id}\n >\n {column.name}\n </TableHeader>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {data.map((row) => (\n <TableRow key={row.id}>\n {columns.map((column) => (\n <TableCell\n width={column.width}\n align={column.align || \"left\"}\n key={column.id}\n >\n {column.render ? column.render(row) : row[column.id]}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </TableStyled>\n );\n};\n","import { styled } from \"styled-components\";\n\nexport const SwitcherRoot = styled.div`\n display: inline-flex;\n`;\n\nexport const Track = styled.button<{ $checked: boolean }>`\n position: relative;\n width: 56px;\n height: 26px;\n padding: 4px;\n border: none;\n border-radius: 22px;\n background: ${({ $checked, theme }) =>\n !$checked ? theme.colors.gray.darkGray2 : theme.colors.primary.primaryBlue};\n cursor: pointer;\n transition: background 150ms ease;\n outline: none;\n\n &:focus-visible {\n box-shadow: 0 0 0 2px rgba(49, 99, 240, 0.4);\n }\n\n &:hover {\n background: ${({ $checked, theme }) =>\n $checked ? theme.colors.primary.hoverBlue : theme.colors.gray.darkGray};\n }\n\n &:disabled {\n cursor: not-allowed;\n background: ${({ theme }) => theme.colors.gray.darkGray};\n }\n`;\n\nexport const Thumb = styled.span<{ $checked: boolean; $disabled: boolean }>`\n position: absolute;\n top: 50%;\n left: 4px;\n width: 18px;\n height: 18px;\n border-radius: 50%;\n background: ${({ $disabled, theme }) =>\n $disabled ? theme.colors.primary.darkBlue2 : \"#ffffff\"};\n box-shadow: ${({ $disabled }) =>\n $disabled ? \"none\" : \"0 3px 6px rgba(0, 0, 0, 0.25)\"};\n transform: translate(${({ $checked }) => ($checked ? \"30px\" : \"0\")}, -50%);\n transition: transform 180ms ease, background 150ms ease, box-shadow 150ms ease;\n`;\n","import { useCallback, useId, useState } from \"react\";\nimport * as S from \"./styled\";\n\ntype SwitcherProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n onChange?: (value: boolean) => void;\n id?: string;\n className?: string;\n};\n\nexport const Switcher: React.FC<SwitcherProps> = ({\n checked,\n defaultChecked = false,\n disabled = false,\n onChange,\n id,\n className,\n}) => {\n const generatedId = useId();\n const controlId = id ?? generatedId;\n\n const isControlled = checked !== undefined;\n const [innerValue, setInnerValue] = useState(defaultChecked);\n const value = isControlled ? checked! : innerValue;\n\n const toggle = useCallback(() => {\n if (disabled) return;\n const next = !value;\n if (!isControlled) setInnerValue(next);\n onChange?.(next);\n }, [value, isControlled, disabled, onChange]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n toggle();\n }\n },\n [toggle]\n );\n\n return (\n <S.SwitcherRoot className={className}>\n <S.Track\n id={controlId}\n role=\"switch\"\n aria-checked={value}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n onClick={toggle}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n $checked={value}\n >\n <S.Thumb $checked={value} $disabled={disabled} />\n </S.Track>\n </S.SwitcherRoot>\n );\n};\n","import styled, { css } from \"styled-components\";\n\nexport const Label = styled.label<{ disabled: boolean }>`\n display: inline-flex;\n align-items: center;\n gap: 12px;\n cursor: ${({ disabled }) => (disabled ? \"not-allowed\" : \"pointer\")};\n`;\n\nexport const HiddenInput = styled.input`\n position: absolute;\n opacity: 0;\n pointer-events: none;\n`;\n\nexport const Box = styled.span<{ $checked: boolean; $disabled: boolean }>`\n width: 24px;\n height: 24px;\n border-radius: 3px;\n border: 1px solid ${({ theme }) => theme.colors.gray.lightGray3};\n background-color: ${({ theme }) => theme.colors.primary.white};\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: background-color 140ms ease, border-color 140ms ease;\n\n ${({ $checked, theme }) =>\n $checked &&\n css`\n border-color: ${theme.colors.primary.primaryBlue};\n background-color: ${theme.colors.primary.primaryBlue};\n `}\n\n ${({ $checked, $disabled, theme }) =>\n !$disabled &&\n !$checked &&\n css`\n &:hover {\n border-color: ${theme.colors.primary.hoverBlue};\n }\n `}\n\n ${({ $checked, $disabled, theme }) =>\n !$disabled &&\n $checked &&\n css`\n &:hover {\n border-color: ${theme.colors.primary.hoverBlue};\n background-color: ${theme.colors.primary.hoverBlue};\n }\n `}\n\n ${({ $disabled, theme }) =>\n $disabled &&\n css`\n border-color: ${theme.colors.gray.lightGray2};\n background-color: ${theme.colors.gray.lightGray};\n `}\n`;\n\nexport const CheckIcon = styled.svg`\n width: 12px;\n height: 9px;\n fill: none;\n stroke-linecap: round;\n stroke-linejoin: round;\n transition: opacity 120ms ease;\n stroke: ${({ theme }) => theme.colors.primary.white};\n`;\n","import { useId, useState, useCallback } from \"react\";\nimport * as S from \"./styled\";\n\ntype CheckboxProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n label?: string;\n name?: string;\n value?: string;\n onChange?: (next: boolean) => void;\n className?: string;\n};\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n checked,\n defaultChecked = false,\n disabled = false,\n name,\n value,\n onChange,\n className,\n}) => {\n const generatedId = useId();\n const isControlled = checked !== undefined;\n const [innerChecked, setInnerChecked] = useState(defaultChecked);\n const isChecked = isControlled ? checked! : innerChecked;\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (disabled) return;\n if (!isControlled) {\n setInnerChecked(event.target.checked);\n }\n onChange?.(event.target.checked);\n },\n [disabled, isControlled, onChange]\n );\n\n return (\n <S.Label htmlFor={generatedId} disabled={disabled} className={className}>\n <S.HiddenInput\n id={generatedId}\n type=\"checkbox\"\n checked={isChecked}\n disabled={disabled}\n onChange={handleChange}\n name={name}\n value={value}\n />\n <S.Box $checked={isChecked} $disabled={disabled}>\n {isChecked && (\n <S.CheckIcon viewBox=\"0 0 15 11\">\n <path\n d=\"M5.00034 11L0 6.18738L1.42838 4.81262L5.00185 8.24806L5.00034 8.24951L13.5716 0L15 1.37476L6.42872 9.62524L5.00135 10.999L5.00034 11Z\"\n fill=\"#fff\"\n />\n </S.CheckIcon>\n )}\n </S.Box>\n </S.Label>\n );\n};\n","import { Icon } from \"../Icon\";\n\nexport const Logo = () => (\n <Icon\n width=\"201\"\n height=\"32\"\n viewBox=\"0 0 201 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M178.7 1.20835C178.453 1.86745 177.971 3.0758 177.655 3.91341C177.325 4.73728 176.83 6.01429 176.554 6.72832C176.279 7.44234 175.77 8.74681 175.44 9.61188C175.11 10.4769 174.739 11.3969 174.629 11.6441C174.519 11.8913 174.422 12.1659 174.422 12.262C174.409 12.3581 174.298 12.674 174.147 12.976C173.996 13.2781 173.886 13.5939 173.872 13.6901C173.872 13.7862 173.79 14.0608 173.679 14.308C173.281 15.2142 172.496 17.2465 172.496 17.37C172.483 17.4524 172.373 17.7545 172.221 18.0566C172.07 18.3587 171.96 18.6745 171.946 18.7706C171.946 18.9217 171.85 19.1688 171.286 20.4596C171.176 20.7205 171.038 21.1187 170.983 21.3521C170.915 21.5718 170.612 22.4094 170.296 23.2058C169.979 24.0022 169.663 24.8673 169.58 25.1282C169.511 25.3891 169.388 25.6637 169.333 25.7461C169.278 25.8148 169.154 26.1031 169.085 26.364C169.002 26.6249 168.81 27.1879 168.645 27.5998C168.48 28.0118 168.177 28.8219 167.957 29.3986C167.751 29.9891 167.544 30.5246 167.489 30.5932C167.448 30.6756 167.462 30.7717 167.544 30.8267C167.613 30.8679 169.759 30.9091 172.318 30.9091H176.967L177.49 29.1515C177.792 28.1903 178.15 26.9819 178.301 26.4601L178.577 25.5401H184.065H189.54L189.746 25.9383C189.87 26.158 190.241 27.3389 190.572 28.561C190.916 29.7831 191.218 30.8129 191.246 30.8541C191.287 30.8816 193.502 30.9091 196.17 30.9091C199.678 30.9091 201.026 30.8541 200.999 30.7443C200.985 30.6619 200.104 28.3001 199.059 25.4989C198 22.684 196.693 19.1826 196.156 17.7133C195.606 16.2441 195.042 14.7199 194.891 14.3492C194.74 13.9647 194.451 13.1683 194.231 12.5641C194.011 11.9599 193.653 10.9987 193.419 10.4358C193.185 9.87277 192.993 9.35098 192.993 9.29606C192.993 9.2274 192.91 8.98024 192.8 8.74681C192.442 7.89547 192.03 6.79697 192.03 6.65966C192.016 6.57727 191.906 6.27518 191.755 5.9731C191.603 5.67101 191.493 5.32773 191.48 5.20415C191.48 5.0943 191.383 4.8746 191.273 4.72355C191.163 4.58624 191.067 4.36654 191.067 4.25669C191.067 4.02326 190.585 2.73252 190.297 2.16954C190.186 1.9773 190.104 1.68894 190.104 1.55163C190.104 1.41432 190.021 1.18089 189.911 1.02984C189.815 0.878801 189.691 0.590445 189.636 0.370745L189.554 0H184.354H179.168L178.7 1.20835ZM184.602 8.26622C184.767 8.81547 185.482 11.2184 186.184 13.5939C186.885 15.9695 187.559 18.2488 187.683 18.6333L187.889 19.3611H184.244C182.249 19.3611 180.612 19.3061 180.612 19.2512C180.612 19.1963 181.286 16.8345 182.112 14.0059C182.937 11.1772 183.707 8.49965 183.831 8.06025C183.955 7.63458 184.12 7.27757 184.189 7.27757C184.258 7.27757 184.45 7.7307 184.602 8.26622Z\"\n fill=\"white\"\n />\n <path\n d=\"M0 15.586V31.02L3.48022 31.0611C5.37852 31.0886 7.05673 31.0474 7.19429 30.9925C7.44189 30.8826 7.45565 30.3883 7.42814 19.0463C7.41438 12.5377 7.41438 7.11385 7.41438 7.004C7.45565 6.59206 7.84081 7.31982 7.84081 7.78668C7.84081 8.03384 7.9371 8.47324 8.04715 8.74787C8.1572 9.03623 8.30851 9.54428 8.37729 9.88756C8.44607 10.2308 8.76245 11.4941 9.07883 12.7025C9.39522 13.9108 9.82165 15.5723 10.0417 16.4099C10.2481 17.2338 10.6883 18.8815 10.9909 20.0487C11.2935 21.2158 12.0638 24.1543 12.6966 26.571L13.8521 30.965L17.1397 31.0337C18.9418 31.0749 20.4824 31.0611 20.5374 31.02C20.5924 30.9788 20.8263 30.2647 21.0464 29.4409C21.4591 27.8618 23.9076 18.5108 24.7192 15.3801C24.9806 14.3639 25.4482 12.5926 25.7371 11.4667C26.0397 10.327 26.3561 9.06369 26.4387 8.65175C26.5212 8.23981 26.7 7.64937 26.8376 7.34728C27.0852 6.81176 27.0852 7.11385 27.0989 18.909C27.0989 25.5824 27.1402 31.0337 27.209 31.0337C27.264 31.0337 28.9422 31.0474 30.9506 31.0474L34.5959 31.0611L34.6371 15.5998L34.6646 0.138376H28.5571H22.4357L22.2294 0.852402C22.0643 1.45658 20.2623 8.22608 18.9005 13.4577C18.0201 16.7669 17.4424 18.8953 17.3461 19.06C17.2635 19.1973 17.1948 19.1424 17.0985 18.8541C17.0159 18.6481 15.9155 14.4463 14.6637 9.54428C13.3982 4.6285 12.339 0.509121 12.2977 0.371807C12.2289 0.152107 11.8162 0.138376 6.10758 0.138376H0V15.586Z\"\n fill=\"white\"\n />\n <path\n d=\"M49.2589 1.34428C49.0113 2.00338 48.5299 3.21173 48.2135 4.04934C47.8833 4.87321 47.3881 6.15022 47.113 6.86424C46.8379 7.57827 46.3289 8.88274 45.9988 9.7478C45.6687 10.6129 45.2972 11.5329 45.1872 11.78C45.0772 12.0272 44.9809 12.3018 44.9809 12.3979C44.9671 12.4941 44.8571 12.8099 44.7057 13.112C44.5544 13.414 44.4444 13.7299 44.4306 13.826C44.4306 13.9221 44.3481 14.1967 44.238 14.4439C43.8391 15.3502 43.055 17.3824 43.055 17.506C43.0413 17.5883 42.9312 17.8904 42.7799 18.1925C42.6286 18.4946 42.5186 18.8104 42.5048 18.9065C42.5048 19.0576 42.4085 19.3047 41.8445 20.5955C41.7345 20.8564 41.5969 21.2546 41.5419 21.488C41.4731 21.7077 41.1705 22.5453 40.8541 23.3417C40.5377 24.1381 40.2213 25.0032 40.1388 25.2641C40.07 25.525 39.9462 25.7996 39.8912 25.882C39.8362 25.9507 39.7124 26.239 39.6436 26.4999C39.5611 26.7608 39.3685 27.3238 39.2034 27.7357C39.0383 28.1477 38.7357 28.9578 38.5156 29.5345C38.3093 30.125 38.1029 30.6605 38.0479 30.7291C38.0067 30.8115 38.0204 30.9077 38.1029 30.9626C38.1717 31.0038 40.3176 31.045 42.8762 31.045H47.5257L48.0484 29.2874C48.351 28.3262 48.7087 27.1178 48.86 26.596L49.1351 25.676H54.6237H60.0985L60.3049 26.0743C60.5249 26.4725 60.8688 27.6533 61.3778 29.5895C61.5291 30.1936 61.6942 30.7703 61.7492 30.8665C61.8868 31.1136 71.6259 31.1274 71.5571 30.8802C71.5434 30.7978 70.663 28.436 69.6175 25.6349C68.5583 22.8199 67.2515 19.3185 66.7151 17.8492C66.1648 16.38 65.6008 14.8558 65.4495 14.4851C65.2982 14.1006 65.0093 13.3042 64.7893 12.7C64.5692 12.0958 64.2115 11.1347 63.9777 10.5717C63.7438 10.0087 63.5512 9.48691 63.5512 9.43199C63.5512 9.36333 63.4687 9.11617 63.3586 8.88274C63.001 8.0314 62.5883 6.9329 62.5883 6.79559C62.5746 6.7132 62.4645 6.41111 62.3132 6.10903C62.1619 5.80694 62.0518 5.46366 62.0381 5.34007C62.0381 5.23022 61.9418 5.01052 61.8317 4.85948C61.7217 4.72217 61.6254 4.50247 61.6254 4.39262C61.6254 4.15919 61.144 2.86845 60.8551 2.30547C60.745 2.11323 60.6625 1.82487 60.6625 1.68756C60.6625 1.55025 60.58 1.31682 60.4699 1.16578C60.3736 1.01473 60.2498 0.726376 60.1948 0.506676L60.1123 0.135933H54.9126H49.7266L49.2589 1.34428ZM55.1602 8.40214C55.3252 8.95139 56.0405 11.3544 56.7421 13.7299C57.4436 16.1054 58.1177 18.3848 58.2415 18.7692L58.4478 19.497H54.8025C52.8079 19.497 51.171 19.4421 51.171 19.3871C51.171 19.3322 51.845 16.9704 52.6704 14.1418C53.4957 11.3132 54.266 8.63557 54.3898 8.19617C54.5136 7.77051 54.6787 7.41349 54.7475 7.41349C54.8163 7.41349 55.0089 7.86662 55.1602 8.40214Z\"\n fill=\"white\"\n />\n <path\n d=\"M72.5197 3.73433L72.561 7.34565L77.3893 7.38684L82.2313 7.4143L82.3138 7.73012C82.3551 7.8949 82.3964 13.2089 82.3964 19.539V31.032L87.0183 31.0046L91.6265 30.9634V19.4978C91.6128 12.3713 91.6678 7.94982 91.7503 7.82624C91.8604 7.64773 92.6169 7.60654 96.7299 7.55161L101.586 7.48296L101.627 3.80298L101.654 0.136742H87.0733H72.4922L72.5197 3.73433Z\"\n fill=\"white\"\n />\n <path\n d=\"M107.185 0.302076C106.951 0.535509 106.951 30.909 107.185 31.1425C107.405 31.3622 120.762 31.3759 122.922 31.1562C129.47 30.4971 132.881 27.3252 132.881 21.9013C132.881 18.853 131.767 16.4638 129.745 15.1867L129.153 14.816L129.786 14.102C131.492 12.1521 132.235 9.25485 131.739 6.49487C131.052 2.74624 128.369 0.810133 123.128 0.274614C121.051 0.0686455 107.405 0.0823765 107.185 0.302076ZM122.028 7.14024C123.692 7.45606 124.256 8.0465 124.325 9.52947C124.38 10.5319 124.38 10.5456 123.871 11.0948C123.004 12.0698 122.55 12.1521 118.162 12.1521H114.379L114.338 9.57067L114.311 7.00292H117.791C119.717 7.00292 121.615 7.07158 122.028 7.14024ZM123.183 19.0178C124.132 19.2649 124.573 19.5396 125.013 20.1987C125.302 20.6106 125.329 20.8028 125.288 21.6954C125.233 22.9174 124.944 23.4392 124.036 23.8786C123.059 24.3592 122.138 24.4416 118.149 24.4416H114.311V21.6267V18.8118H118.341C121.505 18.8118 122.55 18.853 123.183 19.0178Z\"\n fill=\"white\"\n />\n <path\n d=\"M139.002 0.301773C138.96 0.397892 138.946 7.40082 138.96 15.8593L139.002 31.2383L150.955 31.2795C159.676 31.2932 162.95 31.2657 163.088 31.1559C163.239 31.0323 163.28 30.332 163.28 27.8604C163.28 24.9082 163.267 24.7159 163.019 24.5786C162.84 24.4962 159.897 24.4413 154.422 24.4413H146.086V21.6264V18.8115L153.83 18.784L161.561 18.7428V15.516V12.2891L153.83 12.248L146.086 12.2205V9.61156V7.00262L154.38 6.97516L162.661 6.93396V3.56981V0.205654L150.859 0.164461C141.491 0.136997 139.043 0.164461 139.002 0.301773Z\"\n fill=\"white\"\n />\n </Icon>\n);\n","import { Typography } from \"@/components\";\nimport { styled } from \"styled-components\";\n\nexport const ApplicationDataStyled = styled.div`\n display: flex;\n column-gap: 10px;\n row-gap: 12px;\n width: 100%;\n flex: 1;\n flex-direction: column;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n flex-direction: row;\n justify-content: space-between;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n flex-direction: column;\n }\n`;\n\nexport const ApplicationDataLabel = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-s-semibold\",\n})`\n white-space: nowrap;\n color: ${({ theme }) => theme.colors.gray.darkGray};\n`;\n\nexport const ApplicationDataContent = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n height: 100%;\n`;\n\nexport const ApplicationDataValue = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-m-semibold\",\n})`\n margin: 0;\n white-space: nowrap;\n color: ${({ theme }) => `${theme.colors.primary.darkBlue}`};\n`;\n","import { InfoIcon, WithdrawIcon } from \"@/icons\";\nimport {\n ApplicationDataStyled,\n ApplicationDataLabel,\n ApplicationDataContent,\n ApplicationDataValue,\n} from \"./styled\";\nimport { Tooltip } from \"@/components/Tooltip\";\n\ntype ApplicationDataVariant = \"primary\" | \"secondary\";\n\nexport interface ApplicationDataProps {\n label: string;\n statusValue: string | React.ReactNode | number;\n info?: string;\n withdraw?: boolean;\n variant?: ApplicationDataVariant;\n}\n\nexport const ApplicationData: React.FC<ApplicationDataProps> = ({\n label,\n statusValue,\n withdraw,\n info,\n}) => {\n return (\n <ApplicationDataStyled>\n <ApplicationDataContent>\n <ApplicationDataLabel>{label}</ApplicationDataLabel>\n {info && (\n <Tooltip content={info}>\n <InfoIcon size={18} />\n </Tooltip>\n )}\n </ApplicationDataContent>\n <ApplicationDataContent>\n {[\"number\", \"string\"].includes(typeof statusValue) && (\n <ApplicationDataValue>{statusValue}</ApplicationDataValue>\n )}\n {![\"number\", \"string\"].includes(typeof statusValue) && statusValue}\n {withdraw && <WithdrawIcon size={18} />}\n </ApplicationDataContent>\n </ApplicationDataStyled>\n );\n};\n","import { css, styled } from \"styled-components\";\nimport type { ApplicationInfoVariant } from \"./types\";\n\nexport const ApplicationInfoStyled = styled.div<{\n $variant: ApplicationInfoVariant;\n}>`\n display: flex;\n width: fit-content;\n align-items: center;\n gap: 22px;\n ${({ $variant }) => {\n switch ($variant) {\n case \"secondary\":\n return css`\n padding: 24px;\n background: #f5f5f5;\n `;\n case \"primary\":\n default:\n return css`\n padding: 24px 20px;\n background: ${({ theme }) => theme.colors.primary.white};\n border: 1px solid ${({ theme }) => theme.colors.gray.lightGray2};\n `;\n }\n }}\n\n border-radius: 6px;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n width: 100%;\n flex-direction: column;\n gap: 18px;\n padding: 18px 20px;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n flex-direction: column;\n gap: 16px;\n padding: 16px 20px;\n }\n`;\n\nexport const ApplicationInfoDataContainer = styled.div`\n display: flex;\n gap: 56px;\n width: fit-content;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n width: 100%;\n flex-direction: column;\n gap: 12px;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n flex-direction: column;\n gap: 8px;\n }\n`;\n\nexport const ApplicationDataActions = styled.div`\n display: flex;\n gap: 22px;\n width: fit-content;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n width: 100%;\n gap: 20px;\n }\n`;\n","import {\n ApplicationDataActions,\n ApplicationInfoDataContainer,\n ApplicationInfoStyled,\n} from \"./styled\";\nimport type { ApplicationInfoVariant } from \"./types\";\n\nexport interface ApplicationInfoProps {\n children: React.ReactNode;\n actions: React.ReactNode;\n variant?: ApplicationInfoVariant;\n}\nexport const ApplicationInfo: React.FC<ApplicationInfoProps> = ({\n children,\n actions,\n variant = \"primary\",\n}) => (\n <ApplicationInfoStyled $variant={variant}>\n <ApplicationInfoDataContainer>{children}</ApplicationInfoDataContainer>\n {actions && <ApplicationDataActions>{actions}</ApplicationDataActions>}\n </ApplicationInfoStyled>\n);\n","import { Typography } from \"@/components\";\nimport { styled } from \"styled-components\";\n\nexport const ApplicationStatusStyled = styled.div`\n display: flex;\n column-gap: 10px;\n row-gap: 12px;\n width: 100%;\n flex: 1;\n flex-direction: column;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n flex-direction: row;\n justify-content: space-between;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n flex-direction: column;\n }\n`;\n\nexport const ApplicationStatusLabel = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-s-semibold\",\n})`\n margin: 0;\n white-space: nowrap;\n color: ${({ theme }) => theme.colors.gray.darkGray};\n`;\n\nexport const ApplicationStatusContent = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n height: 100%;\n`;\n\nexport const ApplicationStatusValue = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-m-semibold\",\n})<{\n $type: \"success\" | \"pending\" | \"warning\";\n}>`\n white-space: nowrap;\n margin: 0;\n ${({ $type, theme }) => {\n switch ($type) {\n case \"success\":\n return `\n color: ${theme.colors.accent.green};\n `;\n case \"pending\":\n return `\n color: ${theme.colors.primary.darkBlue};\n `;\n case \"warning\":\n return `\n color: ${theme.colors.accent.orange};\n `;\n }\n }}\n`;\n","import { ClockIcon, SuccessfullSmallIcon, WarningIcon } from \"@/icons\";\nimport {\n ApplicationStatusStyled,\n ApplicationStatusLabel,\n ApplicationStatusContent,\n ApplicationStatusValue,\n} from \"./styled\";\nimport { useMemo } from \"react\";\n\nexport interface ApplicationStatusProps {\n label: string;\n statusValue: string;\n type: \"pending\" | \"success\" | \"warning\";\n}\n\nexport const ApplicationStatus: React.FC<ApplicationStatusProps> = ({\n label,\n statusValue,\n type,\n}) => {\n const icon = useMemo(() => {\n switch (type) {\n case \"success\":\n return <SuccessfullSmallIcon size={18} />;\n case \"warning\":\n return <WarningIcon size={18} />;\n case \"pending\":\n default:\n return <ClockIcon size={18} />;\n }\n }, [type]);\n\n return (\n <ApplicationStatusStyled>\n <ApplicationStatusContent>\n <ApplicationStatusLabel>{label}</ApplicationStatusLabel>\n </ApplicationStatusContent>\n <ApplicationStatusContent>\n {icon}\n <ApplicationStatusValue $type={type}>\n {statusValue}\n </ApplicationStatusValue>\n </ApplicationStatusContent>\n </ApplicationStatusStyled>\n );\n};\n","import { styled } from \"styled-components\";\n\nexport const BalanceRowStyled = styled.tr`\n position: relative;\n`;\n\nexport const BalanceCell = styled.td`\n padding: 14px 16px;\n border-collapse: separate;\n border-spacing: 0;\n white-space: nowrap;\n background: ${({ theme }) => theme.colors.gray.lightBlueGray};\n`;\n\nexport const BalanceCellActions = styled.td`\n background: ${({ theme }) => theme.colors.gray.lightBlueGray};\n`;\n","import { BalanceRowStyled, BalanceCell, BalanceCellActions } from \"./styled\";\n\ninterface BalanceProps {\n valueLabel: string | React.ReactNode;\n count: string;\n amount: string;\n actions?: React.ReactNode;\n}\nexport const BalanceRow: React.FC<BalanceProps> = ({\n valueLabel,\n count,\n amount,\n actions,\n}) => {\n return (\n <BalanceRowStyled>\n <BalanceCell>{valueLabel}</BalanceCell>\n <BalanceCell>{count}</BalanceCell>\n <BalanceCell>{amount}</BalanceCell>\n <BalanceCellActions>{actions}</BalanceCellActions>\n </BalanceRowStyled>\n );\n};\n","import { Typography } from \"@/components\";\nimport styled from \"styled-components\";\n\nexport const CurrencyNameStyled = styled.div<{\n $icon: boolean;\n $longname: boolean;\n $network: boolean;\n $shortname: boolean;\n}>`\n display: grid;\n grid-template-columns: ${({ $longname, $shortname, $network, $icon }) => `\n ${$icon ? \"auto\" : \"\"}\n ${$longname || $network ? \"1fr\" : \"\"}\n ${$shortname ? \"auto\" : \"\"}\n `};\n grid-template-areas: ${({ $network, $icon }) => `\n \"${$icon ? \"icon \" : \"\"}longname shortname\"\n ${$network ? `\"${!$icon ? \"\" : \".\"} network .\"` : \"\"}\n `};\n width: 100%;\n column-gap: 10px;\n align-items: center;\n`;\n\nexport const CurrencyNameLongname = styled(Typography).attrs({\n variant: \"body-m-bold\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n grid-area: longname;\n`;\n\nexport const CurrencyNameShortname = styled(Typography).attrs({\n variant: \"body-m\",\n})`\n color: ${({ theme }) => theme.colors.gray.darkGray};\n grid-area: shortname;\n`;\nexport const CurrencyNameNetwork = styled(Typography).attrs({\n variant: \"body-s\",\n})`\n color: ${({ theme }) => theme.colors.gray.darkGray2};\n grid-area: network;\n`;\n","import {\n CurrencyNameLongname,\n CurrencyNameNetwork,\n CurrencyNameShortname,\n CurrencyNameStyled,\n} from \"./styled\";\n\nexport interface CurrencyNameProps {\n icon?: React.ReactNode;\n longName?: string;\n shortName?: string;\n network?: string;\n}\n\nexport const CurrencyName: React.FC<CurrencyNameProps> = ({\n icon,\n network,\n longName,\n shortName,\n}) => (\n <CurrencyNameStyled\n $icon={!!icon}\n $longname={!!longName}\n $shortname={!!shortName}\n $network={!!network}\n >\n {icon}\n <CurrencyNameLongname>{longName}</CurrencyNameLongname>\n {shortName && <CurrencyNameShortname>{shortName}</CurrencyNameShortname>}\n {network && <CurrencyNameNetwork>{network}</CurrencyNameNetwork>}\n </CurrencyNameStyled>\n);\n","import { Typography } from \"@/components\";\nimport { styled } from \"styled-components\";\n\nexport const CurrencyRateCard = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 16px;\n background: ${({ theme }) => theme.colors.gray.lightBlueGray};\n border-radius: 10px;\n gap: 14px;\n`;\n\nexport const CurrencyRateBody = styled.div`\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0px;\n gap: 10px;\n width: 100%;\n`;\n\nexport const CurrencyRateBox = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n padding: 0px;\n width: 100%;\n`;\n\nexport const CurrencyRatePriceLabel = styled(Typography).attrs({\n variant: \"body-s\",\n})`\n color: ${({ theme }) => theme.colors.gray.darkGray};\n`;\n\nexport const CurrencyRateAmount = styled(Typography).attrs({\n variant: \"body-m-bold\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import {\n CurrencyRateAmount,\n CurrencyRateBody,\n CurrencyRateBox,\n CurrencyRateCard,\n CurrencyRatePriceLabel,\n} from \"./styled\";\nimport { type CurrencyNameProps, CurrencyName } from \"../CurrencyName\";\ninterface CurrencyRateProps extends CurrencyNameProps {\n buyLabel?: string;\n sellLabel?: string;\n buyValue?: string;\n sellValue?: string;\n}\nexport const CurrencyRate: React.FC<CurrencyRateProps> = ({\n longName,\n shortName,\n network,\n icon,\n buyLabel,\n sellLabel,\n buyValue,\n sellValue,\n}) => (\n <CurrencyRateCard>\n <CurrencyName\n longName={longName}\n shortName={shortName}\n network={network}\n icon={icon}\n />\n {(buyValue || sellValue) && (\n <CurrencyRateBody>\n {buyValue && (\n <CurrencyRateBox>\n <CurrencyRatePriceLabel>{buyLabel}</CurrencyRatePriceLabel>\n <CurrencyRateAmount>{buyValue}</CurrencyRateAmount>\n </CurrencyRateBox>\n )}\n {sellValue && (\n <CurrencyRateBox>\n <CurrencyRatePriceLabel>{sellLabel}</CurrencyRatePriceLabel>\n <CurrencyRateAmount>{sellValue}</CurrencyRateAmount>\n </CurrencyRateBox>\n )}\n </CurrencyRateBody>\n )}\n </CurrencyRateCard>\n);\n","import { Typography } from \"@/components\";\nimport { styled } from \"styled-components\";\n\nexport const RequisitesStyled = styled.div`\n display: grid;\n grid-template-columns: auto 1fr;\n row-gap: 12px;\n column-gap: 10px;\n width: 100%;\n background: #f5f5f5;\n border-radius: 10px;\n padding: 18px 24px;\n ${({ theme }) => theme.media.maxWidth.tablet} {\n grid-template-columns: 1fr 1fr;\n padding: 18px 20px;\n }\n ${({ theme }) => theme.media.maxWidth.mobile} {\n padding: 16px 14px;\n grid-template-columns: auto;\n row-gap: 8px;\n & > *:not(:nth-child(2n)) {\n margin-top: 4px;\n }\n }\n`;\n\nexport const RequisitesItemLabel = styled(Typography).attrs({\n variant: \"body-m\",\n forwardedAs: \"p\",\n})`\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n\nexport const RequisitesItemValue = styled(Typography).attrs({\n variant: \"body-m-bold\",\n forwardedAs: \"p\",\n})`\n display: flex;\n gap: 8px;\n align-items: center;\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import { styled } from \"styled-components\";\n\nexport const CopyButtonStyled = styled.button`\n border: none;\n background: none;\n cursor: pointer;\n padding: 0;\n`;\n","import { copyToClipboard } from \"@/utils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { CopyButtonStyled } from \"./styled\";\nimport { CheckIcon, CopyIcon } from \"@/icons\";\n\ntype CopyButtonProps = {\n text: string;\n size?: number;\n};\nexport const CopyButton: React.FC<CopyButtonProps> = ({ text, size = 18 }) => {\n const [isCopied, setIsCopied] = useState(false);\n const ref = useRef<ReturnType<typeof setTimeout> | null>(null);\n useEffect(() => {\n if (isCopied) {\n ref.current = setTimeout(() => {\n setIsCopied(false);\n }, 1500);\n }\n return () => {\n if (ref.current) {\n clearTimeout(ref.current);\n }\n };\n }, [isCopied]);\n\n const handleClick = async () => {\n await copyToClipboard(text);\n setIsCopied(true);\n };\n\n return (\n <CopyButtonStyled onClick={handleClick}>\n {isCopied ? <CheckIcon size={size} /> : <CopyIcon size={size} />}\n </CopyButtonStyled>\n );\n};\n","import { formatCardNumber } from \"@/utils\";\nimport {\n RequisitesStyled,\n RequisitesItemLabel,\n RequisitesItemValue,\n} from \"./styled\";\nimport { CopyButton } from \"@/components/CopyButton\";\n\nexport interface RequisitesProps {\n cardHolderLabel?: string;\n cardHolderName?: string;\n cardNumberLabel?: string;\n cardNumber?: number;\n merchantLabel?: string;\n merchantName?: string;\n descriptionLabel?: string;\n description?: string;\n}\n\nexport const Requisites: React.FC<RequisitesProps> = ({\n cardHolderLabel,\n cardHolderName,\n cardNumberLabel,\n cardNumber,\n merchantLabel,\n merchantName,\n descriptionLabel,\n description,\n}) => (\n <RequisitesStyled>\n <RequisitesItemLabel>{cardHolderLabel}</RequisitesItemLabel>\n <RequisitesItemValue>{cardHolderName}</RequisitesItemValue>\n <RequisitesItemLabel>{cardNumberLabel}</RequisitesItemLabel>\n <RequisitesItemValue>\n {cardNumber && formatCardNumber(cardNumber)}\n {cardNumber && <CopyButton text={cardNumber.toString()} />}\n </RequisitesItemValue>\n <RequisitesItemLabel>{merchantLabel}</RequisitesItemLabel>\n <RequisitesItemValue>{merchantName}</RequisitesItemValue>\n <RequisitesItemLabel>{descriptionLabel}</RequisitesItemLabel>\n <RequisitesItemValue>{description}</RequisitesItemValue>\n </RequisitesStyled>\n);\n","import { Typography } from \"@/components/Typography\";\nimport { styled } from \"styled-components\";\n\nexport const TransactionStatusStyled = styled.div`\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n width: 100%;\n justify-content: space-between;\n`;\n\nexport const TransactionStatusLabel = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-m-semibold\",\n})`\n margin: 0;\n flex: 1 1 auto;\n color: ${({ theme }) => theme.colors.gray.darkGray};\n`;\n\nexport const TransactionStatusContent = styled.div`\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1 1 auto;\n`;\n\nexport const TransactionStatusValue = styled(Typography).attrs({\n forwardedAs: \"p\",\n variant: \"body-s-semibold\",\n})`\n margin: 0;\n color: ${({ theme }) => theme.colors.primary.darkBlue};\n`;\n","import { ClockIcon, SuccessfullSmallIcon } from \"@/icons\";\nimport {\n TransactionStatusStyled,\n TransactionStatusLabel,\n TransactionStatusContent,\n TransactionStatusValue,\n} from \"./styled\";\nimport { useMemo } from \"react\";\n\nexport interface TransactionStatusProps {\n label: string;\n statusValue: string;\n type: \"pending\" | \"success\";\n}\n\nexport const TransactionStatus: React.FC<TransactionStatusProps> = ({\n label,\n statusValue,\n type,\n}) => {\n const icon = useMemo(() => {\n switch (type) {\n case \"success\":\n return <SuccessfullSmallIcon size={18} />;\n case \"pending\":\n default:\n return <ClockIcon size={18} />;\n }\n }, [type]);\n\n return (\n <TransactionStatusStyled>\n <TransactionStatusLabel>{label}</TransactionStatusLabel>\n <TransactionStatusContent>\n {icon}\n <TransactionStatusValue>{statusValue}</TransactionStatusValue>\n </TransactionStatusContent>\n </TransactionStatusStyled>\n );\n};\n","export const colors = {\n primary: {\n primaryBlue: \"#2D58B6\",\n hoverBlue: \"#3163F0\",\n activeBlue: \"#244AB7\",\n lightBlue2: \"#6D93FF\",\n darkBlue: \"#202D52\",\n darkBlue2: \"#1F2635\",\n darkBlue3: \"#131A2A\",\n white: \"#FFFFFF\",\n },\n\n gray: {\n lightGray2: \"#D9D9D9\",\n lightGray3: \"#D0D1D8\",\n darkGray: \"#9296A5\",\n lightGray: \"#F3F3F5\",\n darkGray2: \"#5E6F8D\",\n lightBlueGray: \"#EFF2FB\",\n lightBlueGray2: \"#F1F4F9\",\n },\n\n accent: {\n red: \"#F84545\",\n green: \"#1CD850\",\n greenLight: \"#A7FFC0\",\n green2: \"#00BC9E\",\n green2Light: \"#00D6B3\",\n green2Dark: \"#009E85\",\n orange: \"#FFA63E\",\n purple: \"#843CF0\",\n },\n\n icon: {\n iconPrimary: \"#202D52\",\n iconSecondary: \"#202D52\",\n iconThirty: \"#5E6F8D\",\n iconFourth: \"#FFA63E\",\n iconFive: \"#2D5B86\",\n },\n};\n","import { colors } from \"./colors\";\n\nexport const theme = {\n colors,\n media: {\n maxWidth: {\n mobile: \"@media (max-width: 375px)\",\n tablet: \"@media (max-width: 834px)\",\n },\n },\n} as const;\n\nexport type AppTheme = typeof theme;\n"],"names":["getVariantStyles","_jsxs","_jsx","Wrapper","styled","CheckIcon","Label","FieldContainer","LeadingIcon","ErrorText","S.Wrapper","S.Label","S.FieldContainer","S.LeadingIcon","S.Input","S.ActionSlot","S.ErrorText","HiddenInput","S.RadioLabel","S.HiddenInput","S.VisualRadio","S.LabelText","S.Value","S.List","S.Option","S.OptionIcon","S.TabButton","S.TabRow","S.SwitcherRoot","S.Track","S.Thumb","S.Box","S.CheckIcon"],"mappings":"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"}
|